HK1251675B - An achievable autorun integrated circuit memory device or method - Google Patents
An achievable autorun integrated circuit memory device or method Download PDFInfo
- Publication number
- HK1251675B HK1251675B HK18110928.6A HK18110928A HK1251675B HK 1251675 B HK1251675 B HK 1251675B HK 18110928 A HK18110928 A HK 18110928A HK 1251675 B HK1251675 B HK 1251675B
- Authority
- HK
- Hong Kong
- Prior art keywords
- integrated circuit
- storage device
- host computing
- circuit storage
- computing device
- Prior art date
Links
Description
技术领域Technical Field
本发明涉及一种利用诸如闪速存储器之类的存储介质来实现自动运行在所述存储介质上存储的可执行应用程序或安装程序的系统和方法。The present invention relates to a system and method for automatically running an executable application program or an installation program stored on a storage medium such as a flash memory.
技术领域Technical Field
如本领域内所知,当把CD-ROM盘片插入CD-ROM驱动器时,可以自动地运行诸如软件安装程序之类的一些应用程序,其中所述 CD-ROM驱动器有时可能被称作接入坞(dock)或读取器。操作中,应用程序的这种自动运行由自动运行特征来提供,所述自动运行特征存储或并入在CD-ROM驱动器接入坞/读取器中。由主机(host)个人计算机根据由CD-ROM驱动器接入坞/读取器中的自动运行特征的激活来执行在CD-ROM盘片上所存储的可执行程序或安装程序。在此实施方式中,自动运行特征并入到硬件驱动器/接入坞/读取器,其与存储介质相分离。As is known in the art, some applications, such as software installers, can be automatically run when a CD-ROM disc is inserted into a CD-ROM drive, which may sometimes be referred to as a dock or reader. In operation, this automatic running of applications is provided by an autorun feature that is stored or incorporated into the CD-ROM drive dock/reader. The executable program or installer stored on the CD-ROM disc is executed by a host personal computer upon activation of the autorun feature in the CD-ROM drive dock/reader. In this embodiment, the autorun feature is incorporated into the hardware drive/dock/reader, separate from the storage medium.
通用串行总线(USB)技术正在迅速赢得用于计算设备(诸如个人或膝上型计算机)上的外围设备接口技术选择的偏爱。与USB接口耦合的闪速存储器已成为方便且便携式的存储设备,其可以代替软盘和光盘(CD)。Universal Serial Bus (USB) technology is rapidly gaining popularity as the peripheral device interface technology of choice for computing devices such as personal or laptop computers. Flash memory coupled with a USB interface has become a convenient and portable storage device that can replace floppy disks and compact disks (CDs).
然而,流行且广泛采用的通用串行总线技术并不包括在接入坞/ 读取器中明显的自动运行特征。因此,诸如USB存储设备之类的常规集成电路存储设备并不具有自动运行功能。However, the popular and widely adopted Universal Serial Bus technology does not include an auto-run feature that is apparent in docking stations/readers. Consequently, conventional integrated circuit storage devices, such as USB storage devices, do not have auto-run functionality.
因此,本发明向任何IC存储设备(诸如任何USB外围设备)提供自动运行功能,所述IC存储设备具有与计算设备接口微控制器相接的存储器组件。本发明在没有基于中间硬件的自动运行特征的情况下,提供了从具有与计算设备的接口的存储器组件自动运行一个或多个可执行程序或应用程序安装程序。作为例子,这种接口可以是USB 接口,这种计算设备可以是个人计算机。Thus, the present invention provides auto-run functionality to any IC storage device (such as any USB peripheral device) having a memory component interfaced with a computing device interface microcontroller. The present invention provides for automatically running one or more executable programs or application installers from a memory component having an interface with a computing device, without requiring an intermediate hardware-based auto-run feature. By way of example, such an interface may be a USB interface, and such a computing device may be a personal computer.
例如,每个USB外围设备在内部包含USB微控制器,所述USB 微控制器执行与用于向主机计算设备(诸如个人计算机)识别所述设备相关联的功能。依照本发明,把自动运行固件嵌入到USB微控制器中。自动运行固件能够自动运行在USB设备的存储器组件上所存储的可安装或可执行应用程序。所述固件充当用于在主机PC和存储器组件之间转换所有命令和交互作用的桥接组件。For example, each USB peripheral device internally contains a USB microcontroller that performs functions associated with identifying the device to a host computing device (such as a personal computer). According to the present invention, autorun firmware is embedded in the USB microcontroller. The autorun firmware automatically runs installable or executable applications stored on the memory component of the USB device. The firmware acts as a bridge component for translating all commands and interactions between the host PC and the memory component.
根据优选实施例的详细说明,本发明的附加描述和实施将变得显而易见,将参考附图进行优选实施例的详细说明。Additional description and implementation of the present invention will become apparent from the detailed description of preferred embodiments, which will be given with reference to the accompanying drawings.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1图示了依照本发明的自动运行集成电路(IC)存储设备的示例性实施方式。FIG. 1 illustrates an exemplary embodiment of a self-running integrated circuit (IC) memory device in accordance with the present invention.
图2是现有技术设备的框图,其中主机个人计算机包括用于提供自动运行特征的中间硬件接入坞。2 is a block diagram of a prior art device in which a host personal computer includes an intermediate hardware docking station for providing an autorun feature.
图3是IC存储设备自动运行方法的流程图。FIG3 is a flow chart of a method for automatically operating an IC storage device.
图4A和4B图示了依照本发明被嵌入到替代USB设备配置中的自动运行固件。4A and 4B illustrate autorun firmware embedded in an alternative USB device configuration in accordance with the present invention.
图5是具有多种功能的USB外围设备的框图。FIG5 is a block diagram of a USB peripheral device having multiple functions.
图6是具有自动运行固件并且能访问多个不同功能的USB集线器的框图。FIG. 6 is a block diagram of a USB hub with autorun firmware and access to a number of different functions.
图7是可由人操作的物理滑动开关的示意图。FIG. 7 is a schematic diagram of a physical slide switch operable by a person.
图8是用软件实现的拷贝保护方法的流程图。FIG8 is a flow chart of a copy protection method implemented in software.
具体实施方式DETAILED DESCRIPTION
图1图示了依照本发明的自动运行集成电路(IC)存储设备100 的示例性实施方式。自动运行IC存储设备可以是USB存储设备、压缩闪速卡、智能卡等形式。为了说明,将参考通用串行总线(USB) 存储设备的实施方式来描述自动运行IC存储设备100。FIG1 illustrates an exemplary embodiment of an auto-operating integrated circuit (IC) memory device 100 according to the present invention. The auto-operating IC memory device may be in the form of a USB memory device, a Compact Flash card, a smart card, etc. For purposes of illustration, the auto-operating IC memory device 100 will be described with reference to an embodiment of a Universal Serial Bus (USB) memory device.
自动运行IC存储设备100包括存储器组件110,它与具有自动运行固件130的USB微控制器120通信,所述自动运行固件130并入或嵌入在微控制器120中。自动运行IC存储设备100包括用于连接到主机计算设备150(例如,个人或膝上型计算机、手持式计算机、 PDA、灵巧电话机等,未示出)的上游端口140。在图示的实施方式中,上游端口140是USB端口。The autorun IC memory device 100 includes a memory component 110 in communication with a USB microcontroller 120 having autorun firmware 130 incorporated into or embedded in the microcontroller 120. The autorun IC memory device 100 includes an upstream port 140 for connecting to a host computing device 150 (e.g., a personal or laptop computer, handheld computer, PDA, smart phone, etc., not shown). In the illustrated embodiment, the upstream port 140 is a USB port.
当对于主机计算设备150激活IC存储设备100时,自动运行固件130使在存储器组件110中存储的应用程序或可执行程序自动安装或运行。此激活可以采用各种方式来实现,包括把自动运行IC存储设备100连接或插入到接入系统(docking system)或端口,所述接入系统或端口存在于主机计算设备150上或与其相接。例如,具有并入到USB微控制器120的自动运行固件130的IC存储设备100允许“USB闪速驱动器”当被激活时自动地运行(即,自动运行),所述USB 闪速驱动器存储一个或多个应用可执行或可安装程序,所述激活诸如所述闪速驱动器被插入主机PC 150的USB端口中。When the IC storage device 100 is activated to the host computing device 150, the auto-run firmware 130 causes the application programs or executable programs stored in the memory component 110 to be automatically installed or run. This activation can be achieved in various ways, including by connecting or plugging the auto-run IC storage device 100 into a docking system or port present on or connected to the host computing device 150. For example, the IC storage device 100 having the auto-run firmware 130 incorporated into the USB microcontroller 120 allows a "USB flash drive" storing one or more application executable or installable programs to automatically run (i.e., autorun) when activated, such as when the flash drive is plugged into a USB port of the host PC 150.
图2是现有技术设备的框图,其中主机个人计算机200包括中间硬件接入坞220,所述中间硬件接入坞220为像CD-ROM 230之类的存储介质提供自动运行特征。中间硬件接入坞220用作存储介质读取器,其可以内部集成在主机个人计算机200中,也可以外部连接到所述主机个人计算机200和存储介质230。2 is a block diagram of a prior art device in which a host personal computer 200 includes an intermediate hardware docking station 220 that provides an autorun feature for storage media such as a CD-ROM 230. The intermediate hardware docking station 220 serves as a storage media reader and may be internally integrated into the host personal computer 200 or externally connected to the host personal computer 200 and the storage media 230.
在此现有技术实施方式中,把CD-ROM盘片230插入CD-ROM 接入坞/读取器220可以激活自动运行特征,所述自动运行特征存储或并入在CD-ROM接入坞/读取器220中。然后基于CD-ROM接入坞/读取器220的自动运行特征的激活,可以由主机个人计算机200 来执行在CD-ROM盘片230上所存储的可执行程序或安装程序。In this prior art embodiment, inserting the CD-ROM disc 230 into the CD-ROM docking station/reader 220 may activate an autorun feature that is stored or incorporated into the CD-ROM docking station/reader 220. The executable program or installation program stored on the CD-ROM disc 230 may then be executed by the host personal computer 200 upon activation of the autorun feature of the CD-ROM docking station/reader 220.
作为这种现有技术实施方式的另一例子,连接到主机计算设备 (诸如个人计算机)的闪速存储卡读取器还可以包括自动运行特征,所述自动运行特征可以激活可执行程序或安装程序以便在所述主机计算设备上运行。As another example of such a prior art implementation, a flash memory card reader connected to a host computing device (such as a personal computer) may also include an autorun feature that can activate an executable program or installation program to run on the host computing device.
这种现有技术实施方式的缺点在于把自动运行特征并入与存储介质分离的硬件接入坞或读取器中。然而,流行且广泛采用的通用串行总线技术并不包括这种明显的自动运行特征。因此,诸如USB存储设备之类的常规集成电路存储设备并不具有自动运行功能。相比之下,本发明向任何IC存储设备(诸如任何USB外围设备)提供了自动运行功能,所述IC存储设备具有与USB微控制器相接的存储器组件。A drawback of this prior art implementation is that the autorun feature is incorporated into a hardware dock or reader that is separate from the storage medium. However, the popular and widely adopted Universal Serial Bus technology does not include such an explicit autorun feature. Consequently, conventional integrated circuit storage devices, such as USB storage devices, do not have autorun functionality. In contrast, the present invention provides autorun functionality to any IC storage device (such as any USB peripheral device) that has a memory component that interfaces with a USB microcontroller.
图3是IC存储设备自动运行方法300的流程图,所述方法可以从并入USB控制器120的固件130上实现。FIG. 3 is a flow chart of a method 300 for automatically operating an IC storage device, which may be implemented in the firmware 130 incorporated into the USB controller 120 .
在步骤305,把USB外围设备插入或连接到主机计算设备(例如,个人计算机)的USB端口。At step 305, a USB peripheral device is plugged into or connected to a USB port of a host computing device (eg, a personal computer).
在步骤310,主机计算设备执行列举(enumeration)以便识别新附加的USB外围设备。At step 310 , the host computing device performs enumeration to identify the newly attached USB peripheral device.
步骤320询问所述USB外围设备是否包括启用的自动运行固件。如果是的话,步骤320继续至步骤330。如果不是的话,步骤320继续至步骤370。Step 320 inquires whether the USB peripheral device includes enabled auto-run firmware. If so, step 320 continues to step 330. If not, step 320 continues to step 370.
在步骤330,USB外围设备中的自动运行固件用设备接口描述通告自身。例如,设备接口描述例如可以包括大容量存储器类(Mass Storage Class)、SCSI透明命令集、对应于CD-ROM的仅批量传输 (Bulk Only Transport)。In step 330, the autorun firmware in the USB peripheral device announces itself using a device interface description. For example, the device interface description may include Mass Storage Class, SCSI transparent command set, and Bulk Only Transport corresponding to CD-ROM.
在步骤340,主机和USB外围设备使用例如标准MMC-2规范集来彼此通信。所述通信包括依照MMC-2规范从自动运行固件对主机命令作出响应。作为MMC-2规范的一部分,主机请求列举在根目录中的文件并且自动运行固件对所述请求作出响应。In step 340, the host and the USB peripheral device communicate with each other using, for example, the standard MMC-2 specification set. The communication includes responding to host commands from the autorun firmware in accordance with the MMC-2 specification. As part of the MMC-2 specification, the host requests files listed in the root directory and the autorun firmware responds to the requests.
在步骤350,自动运行固件通知主机存在要执行的自动运行的可执行文件,并且向所述主机提供所述文件。例如,所述文件可以被命名为“Autorun.inf”,所述文件可以被存储在USB外围设备的存储器组件上。所述主机执行自动运行的可执行文件以便提供自动运行功能。At step 350, the autorun firmware notifies the host of the existence of an autorun executable file to be executed and provides the file to the host. For example, the file may be named "Autorun.inf" and may be stored on a memory component of the USB peripheral device. The host executes the autorun executable file to provide the autorun functionality.
步骤360询问将是否再次列举或“重新列举”所述自动运行固件。如果是的话,那么步骤360继续至步骤370。如果不是的话,那么步骤360继续至步骤390。重新列举使自动运行固件能够向主机把自身通告为一个或多个其它USB外围设备(例如数据存储设备,通信适配器等),或者如果没有重新列举,那么自动运行固件可以继续按照 MMC-2规范起作用。Step 360 inquires whether the autorun firmware is to be enumerated again or "re-enumerated." If so, then step 360 proceeds to step 370. If not, then step 360 proceeds to step 390. Re-enumeration enables the autorun firmware to advertise itself to the host as one or more other USB peripheral devices (e.g., a data storage device, a communications adapter, etc.), or if not re-enumerated, then the autorun firmware can continue to function in accordance with the MMC-2 specification.
在步骤370,自动运行固件把自身重新列举或标识为另一USB 设备,诸如USB闪速驱动器或USB无线(例如,蓝牙、WiFi、IrDA) 设备或“软件狗”。利用这种重新列举,自动运行固件利用设备接口描述符来向其它USB设备(例如,USB闪速驱动器或USB蓝牙软件狗) 标识自身。At step 370, the autorun firmware re-enumerates or identifies itself as another USB device, such as a USB flash drive or a USB wireless (e.g., Bluetooth, WiFi, IrDA) device or "dongle." With this re-enumeration, the autorun firmware utilizes the device interface descriptor to identify itself to the other USB device (e.g., USB flash drive or USB Bluetooth dongle).
在步骤380,自动运行固件加载与所列举的USB外围设备(例如,USB闪速驱动器或USB蓝牙软件狗)相关联的固件。At step 380, the autorun firmware loads the firmware associated with the enumerated USB peripheral device (eg, a USB flash drive or a USB Bluetooth dongle).
在步骤390,自动运行固件被配置为并不重新列举自身,并且继续作为实现MMC-2规范的虚拟CD-ROM类型的设备。At step 390, the autorun firmware is configured not to re-enumerate itself and continue to act as a virtual CD-ROM type device implementing the MMC-2 specification.
处理步骤320、330、340、350和360对应于自动运行固件的实施。步骤390根据用于实现SCSI命令集和MMC-2规范的存储器组件来提供虚拟大容量存储设备的实施。Processing steps 320, 330, 340, 350 and 360 correspond to the implementation of the autorun firmware.Step 390 provides for the implementation of a virtual mass storage device based on a memory component implementing the SCSI command set and the MMC-2 specification.
依照本发明的自动运行固件可以被嵌入到多个USB设备配置中,以便向各种独特的USB外围设备提供自动运行功能并且向其它外围设备提供类似的功能。例如,图4A示出了USB集线器400,其中具有自动运行固件415的USB微控制器410与内部存储器组件420 通信。在图4B中,经由USB下游端口470把USB微控制器450连接到外部储存器组件460。The autorun firmware according to the present invention can be embedded in a plurality of USB device configurations to provide autorun functionality to a variety of unique USB peripheral devices and to provide similar functionality to other peripheral devices. For example, FIG4A shows a USB hub 400 in which a USB microcontroller 410 having autorun firmware 415 communicates with an internal memory component 420. In FIG4B , the USB microcontroller 450 is connected to an external memory component 460 via a USB downstream port 470.
参考图4A,用于形成USB集线器400一部分的USB微控制器 410典型地是中继器类型的实体,其允许级联的多个USB外围设备经由单个上游端口连接到主机系统。USB微控制器410包括对编程能力的支持,其包括自动运行固件415。然后自动运行固件可以被移植到USB微控制器410上来工作。可以把固件存储在内部存储器组件420上。作为替换,可以把自动运行固件存储在外部存储器上,所述外部存储器是附加的USB存储器组件430。4A , a USB microcontroller 410 that forms part of a USB hub 400 is typically a repeater-type entity that allows a plurality of cascaded USB peripheral devices to be connected to a host system via a single upstream port. The USB microcontroller 410 includes support for programming capabilities, including auto-run firmware 415. The auto-run firmware can then be ported to the USB microcontroller 410 for operation. The firmware can be stored on an internal memory component 420. Alternatively, the auto-run firmware can be stored on an external memory, such as an additional USB memory component 430.
作为另一配置,图5是具有多种功能的USB外围设备500的框图。在此实施方式中,USB外围设备500包括具有USB接口的内部微处理器510,或者作为替换包括USB微控制器,其与存储器组件 520和无线(例如,蓝牙)联网硬件530通信。结果,USB外围设备 500能够作为无线(例如,蓝牙)联网设备或“软件狗”以及作为USB 闪速驱动器来操作,这两者都是可利用自动运行功能来访问的。As another configuration, FIG5 is a block diagram of a multifunctional USB peripheral device 500. In this embodiment, the USB peripheral device 500 includes an internal microprocessor 510 having a USB interface, or alternatively, a USB microcontroller, which communicates with a memory component 520 and wireless (e.g., Bluetooth) networking hardware 530. As a result, the USB peripheral device 500 is capable of operating as a wireless (e.g., Bluetooth) networking device or "dongle" and as a USB flash drive, both of which are accessible using the autorun function.
在一个配置中,微处理器510具有USB接口能力。它与存储器组件520和蓝牙无线电组件530耦合。微处理器510实现蓝牙堆栈的客户层。微处理器510所执行的固件被存储在存储器组件520中。自动运行固件还可以被另外存储为现有固件的一部分功能,或独立地存储在存储器组件520中。在另一配置中,微处理器510可以不直接具有USB接口能力,并且可以使用独立的USB微控制器(未示出)。In one configuration, microprocessor 510 has USB interface capabilities. It is coupled to memory component 520 and Bluetooth radio component 530. Microprocessor 510 implements the client layer of the Bluetooth stack. The firmware executed by microprocessor 510 is stored in memory component 520. Autorun firmware can also be stored separately as part of the existing firmware function or stored independently in memory component 520. In another configuration, microprocessor 510 may not directly have USB interface capabilities, and a separate USB microcontroller (not shown) may be used.
在USB外围设备中包括自动运行固件的特征在于可以把软件应用程序与USB外围设备捆绑。捆绑的软件应用程序可以利用或不利用USB外围设备。The feature of including autorun firmware in the USB peripheral device is that the software application can be bundled with the USB peripheral device. The bundled software application can utilize or not utilize the USB peripheral device.
作为一个例子,图6是USB集线器600的框图,所述USB集线器600包括具有自动运行固件615并且能访问一个或多个不同功能或 USB外围设备的USB微控制器610,所述USB外围设备诸如外部存储器组件630、蓝牙联网组件640或WLAN组件650。可以结合USB 集线器600形成这种USB外围设备630-650。如图所示,USB集线器600可以与这些组件630-650中的一个或多个外部连接,或者作为替换,组件630-650中的一个或多个可以被内部集成以便形成USB 外围设备或具有多种不同功能的设备。As an example, Fig. 6 is a block diagram of a USB hub 600, which includes a USB microcontroller 610 with automatic operation firmware 615 and access to one or more different functions or USB peripherals, such as an external memory component 630, a Bluetooth networking component 640, or a WLAN component 650. Such USB peripherals 630-650 can be formed in conjunction with the USB hub 600. As shown, the USB hub 600 can be connected to one or more external components 630-650, or alternatively, one or more components 630-650 can be internally integrated to form a USB peripheral or to have a variety of different functions.
可以存在来自这些外围设备中每个或某些外围设备的自动运行固件的多个执行。从而自动运行固件允许软件(例如设备驱动程序,同步软件等)的分发(distribution),所述软件可以与任何USB外围设备一起自动运行。There may be multiple executions of the autorun firmware from each or some of these peripheral devices. The autorun firmware thus allows for the distribution of software (e.g., device drivers, synchronization software, etc.) that can autorun with any USB peripheral device.
实施选项还包括允许由外部机构(例如,开关)启用或禁止自动运行特征的机构,所述外部机构被包括在所述设备或外围设备上。所述开关可以由人来手动操作。所述开关可以是简单的双模式(例如,自动运行开/关)开关,或可以是从两个以上模式之间选择的开关。Implementation options also include a mechanism that allows the auto-run feature to be enabled or disabled by an external mechanism (e.g., a switch) included on the device or a peripheral device. The switch can be manually operated by a person. The switch can be a simple two-mode (e.g., auto-run on/off) switch, or it can be a switch that selects between two or more modes.
图7是可由人来操作的物理滑动开关700的示意图,其允许人们从USB设备或“软件狗”上可用的多个模式、功能或外围设备之间选择。作为一个例子,开关700涉及可从图6的USB集线器600中获得的特征或外围设备,包括外部储存器组件630和用于向其主机PC 添加无线(例如蓝牙、WiFi、IrDA)接口的无线软件狗或模块(640 或650)。FIG7 is a schematic diagram of a physical slide switch 700 operable by a person to allow a person to select between multiple modes, functions, or peripherals available on a USB device or "dongle." As an example, switch 700 relates to features or peripherals available from USB hub 600 of FIG6 , including external storage component 630 and a wireless dongle or module (640 or 650) for adding a wireless (e.g., Bluetooth, WiFi, IrDA) interface to its host PC.
在此示例性的附图中,开关700具有4个用户可选的位置。在位置710,启用自动运行功能,禁止无线组件。在位置720,禁止自动运行功能,禁止无线组件。在位置730,启用自动运行功能,启用无线组件。在位置740,禁止自动运行功能,启用无线组件。In this exemplary figure, switch 700 has four user-selectable positions. In position 710, the auto-run function is enabled and the wireless component is disabled. In position 720, the auto-run function is disabled and the wireless component is disabled. In position 730, the auto-run function is enabled and the wireless component is enabled. In position 740, the auto-run function is disabled and the wireless component is enabled.
自动运行固件能够实现可从存储器组件自动运行的软件的分发。还存在独特的安全机制,可以包括所述安全机制以便通过自动运行固件保护可从存储器组件安装或执行的软件。The auto-run firmware enables the distribution of software that can be automatically run from the memory component. There are also unique security mechanisms that can be included to protect the software that can be installed or executed from the memory component by the auto-run firmware.
内部存储器组件(例如,图6的存储器组件620)的扇区可以通过密码保护或由诸如尤其是锁之类的物理安全装置来防止被公共访问。闪速存储器组件还可以被分段为公共和私有扇区。私有扇区可以用来存储不能由用户查看或访问的可安装或可执行程序,而公共扇区可以由用户依照常规方式来查看或访问。经由存储器组件分发的可安装或可执行软件可以被存储在所述存储器组件的保护区域中。此可安装软件的经由拷贝保护的安全性可以通过只允许可执行应用程序启动程序(application launcher)访问该可安装软件来实现,所述应用程序启动程序从存储器组件自动运行。Sectors of an internal memory component (e.g., memory component 620 of FIG. 6 ) can be protected from public access by password protection or by physical security devices such as, in particular, locks. The flash memory component can also be segmented into public and private sectors. The private sectors can be used to store installable or executable programs that cannot be viewed or accessed by the user, while the public sectors can be viewed or accessed by the user in a conventional manner. Installable or executable software distributed via the memory component can be stored in a protected area of the memory component. The security of this installable software via copy protection can be achieved by allowing only an executable application launcher (application launcher) to access the installable software, which is automatically run from the memory component.
在一个实施方式中,可执行应用程序启动程序具有以下特性:它从存储器组件自动运行,并且它能够访问存储器组件的保护或私有区域。通过向存储器控制器(例如USB微控制器)和/或向在存储器组件的保护区域中的可安装软件认证自身来获得此访问。认证机制可以是基于密码的机制或更复杂的密码算法。在各种技术之中,用于认证的是数字签名和唯一标识符,像蓝牙设备地址、MAC地址等。可执行应用程序启动程序可以直接向存储器控制器软件和/或可安装软件或向独立的认证软件认证自身,所述独立的认证软件存在于存储器组件的保护区域中。In one embodiment, the executable application launcher has the following characteristics: it is automatically run from the memory component and it is able to access the protected or private area of the memory component. This access is obtained by authenticating itself to the memory controller (e.g., a USB microcontroller) and/or to the installable software in the protected area of the memory component. The authentication mechanism can be a password-based mechanism or a more complex cryptographic algorithm. Among the various technologies used for authentication are digital signatures and unique identifiers, like Bluetooth device addresses, MAC addresses, etc. The executable application launcher can authenticate itself directly to the memory controller software and/or the installable software or to independent authentication software, which is present in the protected area of the memory component.
一般可以构建所述可执行应用程序启动程序以便执行存在于存储器组件的保护区域内的任何或所有可执行和可安装程序。作为替换,可执行应用程序启动程序可以被编程来从所述保护区域启动特定的可执行或可安装程序。考虑到存储器组件可能被分段为“n”个保护扇区,其中n大于1,所述可执行应用程序启动程序可以依照这里所描述的机制来访问这些扇区中的一个或多个。保护存储器区域例如可以包含可执行软件(也称作可执行应用程序)或可安装软件(也称作可安装应用程序)或保护数据。The executable application launcher can generally be constructed to execute any or all executable and installable programs present in the protected area of the memory component. Alternatively, the executable application launcher can be programmed to launch a specific executable or installable program from the protected area. Considering that the memory component may be segmented into "n" protected sectors, where n is greater than 1, the executable application launcher can access one or more of these sectors according to the mechanism described herein. The protected memory area can, for example, contain executable software (also referred to as executable applications) or installable software (also referred to as installable applications) or protected data.
图8是用软件实现的拷贝保护方法的流程图,所述方法用于使用自动运行固件来保护可执行或可安装的软件。8 is a flow chart of a software-implemented copy protection method for protecting executable or installable software using autorun firmware.
在步骤810,在IC存储设备的存储器组件中存储的可执行应用程序启动程序通过在所述IC存储设备上存储的自动运行固件来在主机计算机上自动运行。当激活IC存储设备时,诸如当出现把存储设备插入主机计算机的端口或插槽时,自动运行固件自动操作。In step 810, an executable application program stored in a memory component of an IC storage device is automatically executed on a host computer via auto-run firmware stored on the IC storage device. The auto-run firmware automatically operates when the IC storage device is activated, such as when the storage device is inserted into a port or slot of the host computer.
在步骤820,应用程序启动程序向存在于存储器组件的保护区域中的认证代理软件认证自身。认证代理软件可以并入在被保护的可执行或可安装软件内或可以是独立的应用程序。认证算法可以是基于密码的或可以涉及密码技术。At step 820, the application launcher authenticates itself to the authentication agent software residing in the protected area of the memory component. The authentication agent software may be incorporated into the protected executable or installable software or may be a standalone application. The authentication algorithm may be cryptographically based or may involve cryptographic techniques.
步骤830询问所述认证是否成功。如果不成功的话,拒绝对所保护的可执行或可安装程序的访问。如果认证成功,那么步骤830继续至步骤840,并且可执行应用程序启动程序获得对所保护的存储器区域的访问。Step 830 inquires whether the authentication is successful. If unsuccessful, access to the protected executable or installable program is denied. If the authentication is successful, step 830 proceeds to step 840, and the executable application launcher obtains access to the protected memory area.
在步骤840,可执行应用程序启动程序执行在存储器组件的保护区域中存储的可执行或可安装应用程序。可执行应用程序启动程序还可以被编程来执行存在于存储器组件的保护区域内的任何或所有可执行和可安装程序。The executable application launcher executes the executable or installable application stored in the protected area of the memory component at step 840. The executable application launcher may also be programmed to execute any or all executable and installable applications present in the protected area of the memory component.
在步骤850,在主机计算机上执行由此所启动的可执行和可安装程序。At step 850, the executable and installable program thus launched is executed on the host computer.
鉴于可以应用本发明原理的许多可能的实施例,应当认识到,具体实施例仅是说明性的,并且不应当被理解为限制本发明的范围。相反地,我们主张本发明所有这种实施例都落入权利要求及其等效物的范围和精神内。In view of the many possible embodiments to which the principles of the present invention may be applied, it should be recognized that the specific embodiments are illustrative only and should not be construed as limiting the scope of the invention. On the contrary, it is intended that all such embodiments of the present invention fall within the scope and spirit of the claims and their equivalents.
Claims (39)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US46208003P | 2003-04-11 | 2003-04-11 | |
| US60/462,080 | 2003-04-11 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1251675A1 HK1251675A1 (en) | 2019-02-01 |
| HK1251675B true HK1251675B (en) | 2022-02-25 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10963169B2 (en) | Integrated circuit device storing protected data for wireless transmitting, over short range wireless communication, the protected data to a wireless computing device | |
| CN107832241B (en) | Integrated circuit storage device or method capable of realizing automatic operation | |
| US20150363763A1 (en) | Mobile Information Apparatus That Includes A Secure Element Storing Payment Information And Using A Cryptographic Technique For Implementing Mobile Payment | |
| JP4245374B2 (en) | Detachable device and control circuit | |
| US9098727B2 (en) | System and method for recovering from an interrupted encryption and decryption operation performed on a volume | |
| CN103069384A (en) | Host device and method for securely booting the host device with operating system code loaded from a storage device | |
| CN1996328A (en) | Portable information safety device | |
| CN114153280A (en) | a computer motherboard | |
| HK1251675B (en) | An achievable autorun integrated circuit memory device or method | |
| HK1251674B (en) | An achievable autorun integrated circuit memory device or method | |
| HK1251676B (en) | An achievable autorun integrated circuit memory device or method | |
| US20090187898A1 (en) | Method for securely updating an autorun program and portable electronic entity executing it | |
| WO2011007036A2 (en) | Mobile device and method for generating secure environments | |
| HK1115213A (en) | A portable integrated circuit memory device and method of operation | |
| HK1115213B (en) | A portable integrated circuit memory device and method of operation |