集成电路存储器组件的自动运行的制作方法

文档序号:13934270阅读:179来源:国知局
集成电路存储器组件的自动运行的制作方法

本发明涉及一种利用诸如闪速存储器之类的存储介质来实现自动运行在所述存储介质上存储的可执行应用程序或安装程序的系统和方法。

如本领域内所知,当把cd-rom盘片插入cd-rom驱动器时,可以自动地运行诸如软件安装程序之类的一些应用程序,其中所述cd-rom驱动器有时可能被称作接入坞(dock)或读取器。操作中,应用程序的这种自动运行由自动运行特征来提供,所述自动运行特征存储或并入在cd-rom驱动器接入坞/读取器中。由主机(host)个人计算机根据由cd-rom驱动器接入坞/读取器中的自动运行特征的激活来执行在cd-rom盘片上所存储的可执行程序或安装程序。在此实施方式中,自动运行特征并入到硬件驱动器/接入坞/读取器,其与存储介质相分离。

通用串行总线(usb)技术正在迅速赢得用于计算设备(诸如个人或膝上型计算机)上的外围设备接口技术选择的偏爱。与usb接口耦合的闪速存储器已成为方便且便携式的存储设备,其可以代替软盘和光盘(cd)。

然而,流行且广泛采用的通用串行总线技术并不包括在接入坞/读取器中明显的自动运行特征。因此,诸如usb存储设备之类的常规集成电路存储设备并不具有自动运行功能。

因此,本发明向任何ic存储设备(诸如任何usb外围设备)提供自动运行功能,所述ic存储设备具有与计算设备接口微控制器相接的存储器组件。本发明在没有基于中间硬件的自动运行特征的情况下,提供了从具有与计算设备的接口的存储器组件自动运行一个或多个可执行程序或应用程序安装程序。作为例子,这种接口可以是usb接口,这种计算设备可以是个人计算机。

例如,每个usb外围设备在内部包含usb微控制器,所述usb微控制器执行与用于向主机计算设备(诸如个人计算机)识别所述设备相关联的功能。依照本发明,把自动运行固件嵌入到usb微控制器中。自动运行固件能够自动运行在usb设备的存储器组件上所存储的可安装或可执行应用程序。所述固件充当用于在主机pc和存储器组件之间转换所有命令和交互作用的桥接组件。

根据优选实施例的详细说明,本发明的附加描述和实施将变得显而易见,将参考附图进行优选实施例的详细说明。

附图说明

图1图示了依照本发明的自动运行集成电路(ic)存储设备的示例性实施方式。

图2是现有技术设备的框图,其中主机个人计算机包括用于提供自动运行特征的中间硬件接入坞。

图3是ic存储设备自动运行方法的流程图。

图4a和4b图示了依照本发明被嵌入到替代usb设备配置中的自动运行固件。

图5是具有多种功能的usb外围设备的框图。

图6是具有自动运行固件并且能访问多个不同功能的usb集线器的框图。

图7是可由人操作的物理滑动开关的示意图。

图8是用软件实现的拷贝保护方法的流程图。

具体实施方式

图1图示了依照本发明的自动运行集成电路(ic)存储设备100的示例性实施方式。自动运行ic存储设备可以是usb存储设备、压缩闪速卡、智能卡等形式。为了说明,将参考通用串行总线(usb)存储设备的实施方式来描述自动运行ic存储设备100。

自动运行ic存储设备100包括存储器组件110,它与具有自动运行固件130的usb微控制器120通信,所述自动运行固件130并入或嵌入在微控制器120中。自动运行ic存储设备100包括用于连接到主机计算设备150(例如,个人或膝上型计算机、手持式计算机、pda、灵巧电话机等,未示出)的上游端口140。在图示的实施方式中,上游端口140是usb端口。

当对于主机计算设备150激活ic存储设备100时,自动运行固件130使在存储器组件110中存储的应用程序或可执行程序自动安装或运行。此激活可以采用各种方式来实现,包括把自动运行ic存储设备100连接或插入到接入系统(dockingsystem)或端口,所述接入系统或端口存在于主机计算设备150上或与其相接。例如,具有并入到usb微控制器120的自动运行固件130的ic存储设备100允许“usb闪速驱动器”当被激活时自动地运行(即,自动运行),所述usb闪速驱动器存储一个或多个应用可执行或可安装程序,所述激活诸如所述闪速驱动器被插入主机pc150的usb端口中。

图2是现有技术设备的框图,其中主机个人计算机200包括中间硬件接入坞220,所述中间硬件接入坞220为像cd-rom230之类的存储介质提供自动运行特征。中间硬件接入坞220用作存储介质读取器,其可以内部集成在主机个人计算机200中,也可以外部连接到所述主机个人计算机200和存储介质230。

在此现有技术实施方式中,把cd-rom盘片230插入cd-rom接入坞/读取器220可以激活自动运行特征,所述自动运行特征存储或并入在cd-rom接入坞/读取器220中。然后基于cd-rom接入坞/读取器220的自动运行特征的激活,可以由主机个人计算机200来执行在cd-rom盘片230上所存储的可执行程序或安装程序。

作为这种现有技术实施方式的另一例子,连接到主机计算设备(诸如个人计算机)的闪速存储卡读取器还可以包括自动运行特征,所述自动运行特征可以激活可执行程序或安装程序以便在所述主机计算设备上运行。

这种现有技术实施方式的缺点在于把自动运行特征并入与存储介质分离的硬件接入坞或读取器中。然而,流行且广泛采用的通用串行总线技术并不包括这种明显的自动运行特征。因此,诸如usb存储设备之类的常规集成电路存储设备并不具有自动运行功能。相比之下,本发明向任何ic存储设备(诸如任何usb外围设备)提供了自动运行功能,所述ic存储设备具有与usb微控制器相接的存储器组件。

图3是ic存储设备自动运行方法300的流程图,所述方法可以从并入usb控制器120的固件130上实现。

在步骤305,把usb外围设备插入或连接到主机计算设备(例如,个人计算机)的usb端口。

在步骤310,主机计算设备执行列举(enumeration)以便识别新附加的usb外围设备。

步骤320询问所述usb外围设备是否包括启用的自动运行固件。如果是的话,步骤320继续至步骤330。如果不是的话,步骤320继续至步骤370。

在步骤330,usb外围设备中的自动运行固件用设备接口描述通告自身。例如,设备接口描述例如可以包括大容量存储器类(massstorageclass)、scsi透明命令集、对应于cd-rom的仅批量传输(bulkonlytransport)。

在步骤340,主机和usb外围设备使用例如标准mmc-2规范集来彼此通信。所述通信包括依照mmc-2规范从自动运行固件对主机命令作出响应。作为mmc-2规范的一部分,主机请求列举在根目录中的文件并且自动运行固件对所述请求作出响应。

在步骤350,自动运行固件通知主机存在要执行的自动运行的可执行文件,并且向所述主机提供所述文件。例如,所述文件可以被命名为“autorun.inf”,所述文件可以被存储在usb外围设备的存储器组件上。所述主机执行自动运行的可执行文件以便提供自动运行功能。

步骤360询问将是否再次列举或“重新列举”所述自动运行固件。如果是的话,那么步骤360继续至步骤370。如果不是的话,那么步骤360继续至步骤390。重新列举使自动运行固件能够向主机把自身通告为一个或多个其它usb外围设备(例如数据存储设备,通信适配器等),或者如果没有重新列举,那么自动运行固件可以继续按照mmc-2规范起作用。

在步骤370,自动运行固件把自身重新列举或标识为另一usb设备,诸如usb闪速驱动器或usb无线(例如,蓝牙、wifi、irda)设备或“软件狗”。利用这种重新列举,自动运行固件利用设备接口描述符来向其它usb设备(例如,usb闪速驱动器或usb蓝牙软件狗)标识自身。

在步骤380,自动运行固件加载与所列举的usb外围设备(例如,usb闪速驱动器或usb蓝牙软件狗)相关联的固件。

在步骤390,自动运行固件被配置为并不重新列举自身,并且继续作为实现mmc-2规范的虚拟cd-rom类型的设备。

处理步骤320、330、340、350和360对应于自动运行固件的实施。步骤390根据用于实现scsi命令集和mmc-2规范的存储器组件来提供虚拟大容量存储设备的实施。

依照本发明的自动运行固件可以被嵌入到多个usb设备配置中,以便向各种独特的usb外围设备提供自动运行功能并且向其它外围设备提供类似的功能。例如,图4a示出了usb集线器400,其中具有自动运行固件415的usb微控制器410与内部存储器组件420通信。在图4b中,经由usb下游端口470把usb微控制器450连接到外部储存器组件460。

参考图4a,用于形成usb集线器400一部分的usb微控制器410典型地是中继器类型的实体,其允许级联的多个usb外围设备经由单个上游端口连接到主机系统。usb微控制器410包括对编程能力的支持,其包括自动运行固件415。然后自动运行固件可以被移植到usb微控制器410上来工作。可以把固件存储在内部存储器组件420上。作为替换,可以把自动运行固件存储在外部存储器上,所述外部存储器是附加的usb存储器组件430。

作为另一配置,图5是具有多种功能的usb外围设备500的框图。在此实施方式中,usb外围设备500包括具有usb接口的内部微处理器510,或者作为替换包括usb微控制器,其与存储器组件520和无线(例如,蓝牙)联网硬件530通信。结果,usb外围设备500能够作为无线(例如,蓝牙)联网设备或“软件狗”以及作为usb闪速驱动器来操作,这两者都是可利用自动运行功能来访问的。

在一个配置中,微处理器510具有usb接口能力。它与存储器组件520和蓝牙无线电组件530耦合。微处理器510实现蓝牙堆栈的客户层。微处理器510所执行的固件被存储在存储器组件520中。自动运行固件还可以被另外存储为现有固件的一部分功能,或独立地存储在存储器组件520中。在另一配置中,微处理器510可以不直接具有usb接口能力,并且可以使用独立的usb微控制器(未示出)。

在usb外围设备中包括自动运行固件的特征在于可以把软件应用程序与usb外围设备捆绑。捆绑的软件应用程序可以利用或不利用usb外围设备。

作为一个例子,图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外围设备或具有多种不同功能的设备。

可以存在来自这些外围设备中每个或某些外围设备的自动运行固件的多个执行。从而自动运行固件允许软件(例如设备驱动程序,同步软件等)的分发(distribution),所述软件可以与任何usb外围设备一起自动运行。

实施选项还包括允许由外部机构(例如,开关)启用或禁止自动运行特征的机构,所述外部机构被包括在所述设备或外围设备上。所述开关可以由人来手动操作。所述开关可以是简单的双模式(例如,自动运行开/关)开关,或可以是从两个以上模式之间选择的开关。

图7是可由人来操作的物理滑动开关700的示意图,其允许人们从usb设备或“软件狗”上可用的多个模式、功能或外围设备之间选择。作为一个例子,开关700涉及可从图6的usb集线器600中获得的特征或外围设备,包括外部储存器组件630和用于向其主机pc添加无线(例如蓝牙、wifi、irda)接口的无线软件狗或模块(640或650)。

在此示例性的附图中,开关700具有4个用户可选的位置。在位置710,启用自动运行功能,禁止无线组件。在位置720,禁止自动运行功能,禁止无线组件。在位置730,启用自动运行功能,启用无线组件。在位置740,禁止自动运行功能,启用无线组件。

自动运行固件能够实现可从存储器组件自动运行的软件的分发。还存在独特的安全机制,可以包括所述安全机制以便通过自动运行固件保护可从存储器组件安装或执行的软件。

内部存储器组件(例如,图6的存储器组件620)的扇区可以通过密码保护或由诸如尤其是锁之类的物理安全装置来防止被公共访问。闪速存储器组件还可以被分段为公共和私有扇区。私有扇区可以用来存储不能由用户查看或访问的可安装或可执行程序,而公共扇区可以由用户依照常规方式来查看或访问。经由存储器组件分发的可安装或可执行软件可以被存储在所述存储器组件的保护区域中。此可安装软件的经由拷贝保护的安全性可以通过只允许可执行应用程序启动程序(applicationlauncher)访问该可安装软件来实现,所述应用程序启动程序从存储器组件自动运行。

在一个实施方式中,可执行应用程序启动程序具有以下特性:它从存储器组件自动运行,并且它能够访问存储器组件的保护或私有区域。通过向存储器控制器(例如usb微控制器)和/或向在存储器组件的保护区域中的可安装软件认证自身来获得此访问。认证机制可以是基于密码的机制或更复杂的密码算法。在各种技术之中,用于认证的是数字签名和唯一标识符,像蓝牙设备地址、mac地址等。可执行应用程序启动程序可以直接向存储器控制器软件和/或可安装软件或向独立的认证软件认证自身,所述独立的认证软件存在于存储器组件的保护区域中。

一般可以构建所述可执行应用程序启动程序以便执行存在于存储器组件的保护区域内的任何或所有可执行和可安装程序。作为替换,可执行应用程序启动程序可以被编程来从所述保护区域启动特定的可执行或可安装程序。考虑到存储器组件可能被分段为“n”个保护扇区,其中n大于1,所述可执行应用程序启动程序可以依照这里所描述的机制来访问这些扇区中的一个或多个。保护存储器区域例如可以包含可执行软件(也称作可执行应用程序)或可安装软件(也称作可安装应用程序)或保护数据。

图8是用软件实现的拷贝保护方法的流程图,所述方法用于使用自动运行固件来保护可执行或可安装的软件。

在步骤810,在ic存储设备的存储器组件中存储的可执行应用程序启动程序通过在所述ic存储设备上存储的自动运行固件来在主机计算机上自动运行。当激活ic存储设备时,诸如当出现把存储设备插入主机计算机的端口或插槽时,自动运行固件自动操作。

在步骤820,应用程序启动程序向存在于存储器组件的保护区域中的认证代理软件认证自身。认证代理软件可以并入在被保护的可执行或可安装软件内或可以是独立的应用程序。认证算法可以是基于密码的或可以涉及密码技术。

步骤830询问所述认证是否成功。如果不成功的话,拒绝对所保护的可执行或可安装程序的访问。如果认证成功,那么步骤830继续至步骤840,并且可执行应用程序启动程序获得对所保护的存储器区域的访问。

在步骤840,可执行应用程序启动程序执行在存储器组件的保护区域中存储的可执行或可安装应用程序。可执行应用程序启动程序还可以被编程来执行存在于存储器组件的保护区域内的任何或所有可执行和可安装程序。

在步骤850,在主机计算机上执行由此所启动的可执行和可安装程序。

鉴于可以应用本发明原理的许多可能的实施例,应当认识到,具体实施例仅是说明性的,并且不应当被理解为限制本发明的范围。相反地,我们主张本发明所有这种实施例都落入权利要求及其等效物的范围和精神内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1