CN102272723A - 用于快速启动usb装置的系统、设备及方法 - Google Patents
用于快速启动usb装置的系统、设备及方法 Download PDFInfo
- Publication number
- CN102272723A CN102272723A CN2010800043647A CN201080004364A CN102272723A CN 102272723 A CN102272723 A CN 102272723A CN 2010800043647 A CN2010800043647 A CN 2010800043647A CN 201080004364 A CN201080004364 A CN 201080004364A CN 102272723 A CN102272723 A CN 102272723A
- Authority
- CN
- China
- Prior art keywords
- usb device
- firmware
- usb
- storer
- unit describe
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
- Stored Programmes (AREA)
Abstract
示范性实施例是针对USB系统中的装置的快速枚举,所述USB系统包括USB装置及USB主机。所述USB装置包括两个装置描述符、一用于保持用于所述USB装置的操作的固件的存储器,及一用于执行所述固件的控制器。第一装置描述符是用于在固件加载模式下枚举所述USB装置,且第二装置描述符是用于在操作模式下枚举所述USB装置。所述USB主机使用所述第一装置描述符来控制所述USB装置的第一枚举。在所述第一枚举之后,所述USB主机从所述USB装置接收重新枚举指示符,且使用所述第二装置描述符来控制所述USB装置的第二枚举。
Description
背景技术
通用串行总线(USB)为用于将计算机附接到多种外围装置的标准外围接口。这些外围装置通常称作功能,其可包括集线器及例如键盘、鼠标、相机、监视器、调制解调器的装置,及许多其它外围装置。
USB系统中的装置以分层星状拓扑连接到USB主机,其中每一装置经由一个或一个以上集线器连接到所述USB主机。USB系统为轮询总线,其中主机计算机包括单一USB控制器,所述USB控制器管理总线上的所有通信且监视总线拓扑由于附接或移除装置而发生的改变。
多数总线事务包括三个包。主机控制器发送一描述事务的类型及方向、装置地址及端点编号的令牌包。经寻址的USB装置从所述令牌包辨识其地址。基于令牌包中所指定的方向将数据从主机传送到经寻址的装置或从经寻址的装置传送到主机。多数情况下,数据的目的地以一指示经传送数据的接收状态的信号交换包(handshake packet)来回应。
虽然USB系统支持连接到总线的多个外围装置,但USB协议为点对点协议。换句话说,单一主机一次可将数据发送到单一的经唯一地寻址的装置。因此,对用于各种装置的数据进行时间多路复用,使得每一装置可在其时隙期间接收或发射数据。
USB系统通常界定一毫秒长的帧,在所述帧内,USB系统可将不同时隙分配到总线上的许多或所有装置。每一装置具有唯一地址,因而所述装置知晓所发射数据是针对其,或随其发送的数据供应唯一地址,使得主机知晓数据是从哪一装置接收。
当初次插入USB装置时,其经历初始化、枚举及配置过程以设置所述USB装置用于供USB主机及其上的客户端软件使用。对于具有大量固件或其它设置要求的复杂USB装置来说,此设置过程可能相当长。然而,许多操作系统强加关于USB装置在可用于操作系统之前可花费多久来执行设置过程的认证要求。
需要用于执行快速设置过程以满足操作系统要求,同时仍允许USB装置的复杂配置的系统、设备及方法。
附图说明
图1展示USB系统的拓扑图。
图2展示本发明的示范性实施例中的逻辑通信管道的简化框图。
图3展示本发明的示范性实施例的简化框图。
图4展示根据本发明的实施例的初始化过程的状态图。
图5展示根据本发明的实施例的枚举过程的简化流程图。
图6A展示在第一枚举过程之后由操作系统显示的示范性控制面板。
图6B展示在第二枚举过程之后由操作系统显示的示范性控制面板。
具体实施方式
词“示范性”在本文中用以意味着“充当一实例、个例或说明”。不必将本文中描述为“示范性”的任何实施例解释为比其它实施例优选或有利。
下文中结合随附图式所阐述的详细描述意在作为对本发明的示范性实施例的描述,而不意在表示可实践本发明的仅有实施例。贯穿此描述所使用的术语“示范性”意味着“充当实例、个例或说明”,且未必应解释为比其它示范性实施例优选或有利。所述详细描述包括特定细节以便实现提供对本发明的示范性实施例的透彻理解的目的。所属领域的技术人员将显而易见,可在无这些特定细节的情况下实践本发明的示范性实施例。在一些个例中,以框图形式来展示众所周知的结构及装置以避免混淆本文中所呈现的示范性实施例的新颖性。
本发明的示范性实施例是针对执行快速USB设置过程(其可包括USB装置的初始化、枚举及配置),同时仍允许USB装置的复杂的相对较长的配置过程。
图1展示常规USB系统的拓扑图100。USB主机110包括一具有多个连接点的根集线器(root hub)。在图1中,第一功能150A连接于一个连接点处,且第一集线器120A连接到第二连接点。第一集线器120A包括多个连接点。第二功能150B、第二集线器120B及第三集线器120C连接到第一集线器120A。第二集线器120B可包括多个连接点。第三功能150C连接到第二集线器120B。第三集线器120C包括多个连接点。第四功能150D及第五功能150E连接到第三集线器120C。
所述集线器通过将在其上游端口上接收的数据发送到其下游端口中的每一者及将来自其下游端口中的一者的信息发送到其上游端口而充当中继器(repeater)。在任何给定时间,应仅有一个功能或主机正将信息置于总线上。因此,作为实例,主机可发送以第五功能150E为目的地的信息。所述信息途经第一集线器120A及第三集线器120C而流到第五功能150E。
USB功能通常为将能力提供到装置的USB装置。作为实例,USB功能可为USB装置、USB集线器、USB主机控制器、USB收发器及其类似者。
USB集线器包括用以报告在其端口上附接及移除USB装置的状态位。USB主机可查询USB集线器以确定拓扑中的所有装置的连接状态且维持所有经连接USB装置的映射。当从端口移除USB装置时,USB集线器停用所述端口且经由状态位报告所述移除。如果所述经移除的装置为USB集线器,则主机控制器软件将更新所述映射以指示原本连接到经移除USB集线器的所有USB装置现在解除连接。
USB数据传送发生于主机与USB装置上的特定端点之间。主机与端点之间的关联件通常称作管道(pipe)。通常,一个管道中的数据移动独立于其它管道中的数据移动。因此,一给定USB装置可包括多个管道,且在整个USB系统中可能存在大量管道。
USB协议支持四种基本类型的数据传送;控制传送、批量数据传送、中断数据传送及等时数据传送。控制传送用以在附接一装置时配置所述装置且管理其它装置特定任务,例如,控制所述装置上的其它端点。
批量数据传送用于通常为突发性的数据,且不包括对带宽或等待时间要求的显著限制。
中断数据传送用于可能具有低等待时间要求的数据(例如,人类可感知数据)。
等时数据传送将USB带宽的预商定部分用于要求大致恒定的带宽及低等待时间的装置。所述数据的实例为视频及音频流式数据。
图2展示本发明的示范性实施例中的逻辑通信管道的简化框图。USB主机110可包括针对多个管道190馈送或接收数据的多个缓冲器170。每一管道可连接到USB装置200内的不同端点(210、220)。主机内的客户端软件160从各缓冲器170接收信息或将信息发送到各缓冲器170。端点0210用于控制传送,如下文所解释。USB装置200可包括其它端点220,所述端点220用于接收及发送其它信息或控制其它功能。
USB管道190为一逻辑构造,其表示经由存储器缓冲器170在USB主机110上的软件与USB装置200上的端点(210、220)之间移动数据的能力。存在两种类型的管道通信模式。经由管道移动的流数据不具有USB定义的结构。经由管道移动的消息数据包括由USB架构定义的某一类型的结构。
图3展示本发明的示范性实施例的简化框图。图3以更偏功能性的表示来说明USB系统,而图2将USB系统说明为一数据流表示。
在图3中,根据本发明的实施例,USB主机110展示为经由USB总线205连接到USB装置200。当然,可能存在连接于如以上针对图1的USB拓扑100所解释的各种层级处的许多USB装置200。USB装置200包括地址寄存器230及端点零210(在本文中也称作默认控制端点210)。USB装置200还可包括其它端点220。
端点(210、220)为USB装置200的可唯一地识别的部分。每一USB装置200包括独立端点的集合。每一USB装置200包括一由系统指派且容纳于地址寄存器230中的唯一地址。另外,USB装置200内的每一端点被给定一特定地址。另外,每一端点为单向性的,其具有朝向主机的数据流方向或朝向端点的数据流方向。因此,主机将给定端点辨识为装置地址、端点地址及流方向的组合。默认控制端点210被指派端点地址零且支持控制传送。
需要使所有USB装置200包括默认控制端点210用于输入及输出两者。USB系统软件使用默认控制端点210来初始化枚举及配置USB装置200。举例来说,控制器280可与USB主机110协作来执行初始化、枚举及配置过程。另外,控制器280可在一操作模式下执行许多其它功能以执行USB装置200经设计而用于的任务。
作为非限制性实例,如此项技术中所已知,USB装置可配置为广域网(WAN)装置,且包括具有天线的RF模块290以经由无线信号295通信。
USB装置200可包括存储器260。作为非限制性实例,所述存储器可包括用于由控制器执行的软件、与枚举及配置有关的信息及与USB装置200的操作模式有关的信息。
USB装置200还可包括非易失性存储器270,例如,快闪存储器及电可擦除可编程(EEPROM)存储器。作为非限制性实例,所述非易失性存储器270可包括用于由控制器执行的软件、与枚举及配置有关的信息及与USB装置200的操作模式有关的信息。
本发明的示范性实施例包括第一装置描述符240及第二装置描述符250。第一装置描述符240包括第一供货商识别符242及第一产品识别符244。第二装置描述符250包括第二供货商识别符252及第二产品识别符254。对于每一装置描述符(240及250)来说,供货商识别符及产品识别符形成用于使USB主机110查询以便确定将何种类型的装置连接到USB总线205的唯一组合。当然,第一及第二供货商识别符(252及254)可相同,只要供货商识别符/产品识别符的组合在第一装置描述符240与第二装置描述符250之间不同即可。
操作系统要求装置迅速地通电。举例来说,对于Windows Vista来说,所有装置必须在两秒或小于两秒内执行从高级配置与电力接口(ACPI)S3状态的系统恢复(resume)。对于复杂USB装置200来说,此要求可能难以满足。
许多装置通过将较快硬件新增到装置、通过限制或最小化软件镜像用于快速启动,或通过限制装置上的功能性以实现快速枚举来解决此问题。因此,多数USB装置200仅包括具有供货商识别符及产品识别符的单一装置描述符。
本发明的实施例使用双枚举过程。如果使用两个枚举,则装置可迅速地通电,因为可设计第一枚举使得最小初始化在少量时间(例如,<500毫秒)内发生。此做法实现操作系统快速启动要求且允许完成系统恢复。在第一枚举之后,装置变得完全在第一模式下起作用,且接着开始第二枚举过程以变得完全在第二模式下起作用。
因此,本发明的实施例包括两个装置描述符(240及250),以使得可以两种不同模式枚举及配置USB装置200。如以下参看图4到图7B所更完整地解释,这两种不同模式为固件加载模式及操作模式。因此,USB主机110可包括针对所述两种模式中的每一者的单独客户端软件160模块。因此,USB主机110可包括用于控制固件加载模式的加载器驱动程序162及用于控制操作模式的操作驱动程序164。
图3说明作为单独块的装置描述符(240及250)。然而,一般所属领域的技术人员将认识到,装置描述符(240及250)可以许多不同形式来实施。作为非限制性实例,装置描述符(240及250)可体现为USB装置200内的可配置切换功能(configurableswitch),体现为存储于非易失性存储器270内的值,或体现为存储于控制器280内的非易失性存储器中的值。
图4展示根据本发明的实施例的初始化及枚举过程的状态图。参看图3及图4描述所述初始化及枚举过程。当插入USB装置200时,在可使用所述USB装置200之前其必须经历此初始化及枚举过程。当附接时,USB装置200在附接状态510下开始。如果所述USB装置200所附接的集线器经适当配置,则USB装置200转变为可将电力施加到USB装置200的供电状态520。USB主机110起始对USB装置200的复位,且所述装置转变为默认状态530。
在默认状态530下,USB装置200响应于默认地址(通常为零)。因此,可在默认地址处存取默认控制端点210以使得能够读取装置描述符且执行USB装置200的大体设置。USB主机110接着向USB装置200指派唯一地址。在指派了唯一地址的情况下,USB装置200转变为寻址状态540。在所有配置完成之后,USB装置200转变为配置状态560,准备好执行其经设计而用于的操作。
本发明的示范性实施例经历两个初始化及枚举过程。因此,首先将USB装置200初始化并枚举为相对较简单的USB装置200,其经配置用于将固件加载到USB装置200的存储器260中。因此,当USB装置200初次进入配置状态560时,其处于固件加载模式下。当加载器完全经配置时,USB装置200基于重新枚举指示符转变回到默认状态以再次经初始化及枚举为相对较复杂的USB装置200,其将基于所加载的固件而在操作模式下操作。如先前所解释,除了此次用于操作模式而非固件加载模式之外,USB装置200再次转变经过默认状态530、寻址状态及配置状态。
可用许多方式来实现基于重新枚举指示符在固件加载模式结束时从配置状态560到默认状态530的此转变以开始操作模式的枚举。作为非限制性实例,可将USB 200装置部分地复位使得其重新进入默认状态530,但须知其先前是在固件加载模式下配置。作为另一非限制性实例,当处于固件加载模式下时,USB装置200可将一请求发送到USB主机110以在操作模式下重新配置。
USB装置200可使电力中断。如果电力中断从配置状态560、寻址状态540及默认状态530中的任一者发生,则USB装置200转变回到供电状态520以在固件加载模式下复位及重新配置。
USB装置200可接收来自USB主机110的复位。如果复位从供电状态520、配置状态560及寻址状态540中的任一者发生,则USB装置200转变回到默认状态530以重新配置。
图5为根据本发明的实施例的双枚举过程600的简化流程图。可相对于WAN装置的配置来描述此过程的部分。然而,一般所属领域的技术人员将认识到,所述过程可通过许多其它USB装置来执行,且特定地针对WAN装置的所述部分可容易地适用于所述其它USB装置。另外,如一般所属领域的技术人员将显而易见,图5中所描述的过程中的许多过程具有图4的状态图中的对应物。双枚举过程600的执行为USB主机110与USB装置200之间的协作。因此,如一般所属领域的技术人员将显而易见,一些操作是由USB主机110执行且一些是由USB装置200执行。
在描述双枚举过程600时参考图3及图5,过程600在操作框602处开始以测试启用信号的状态。在WAN装置中,W_DISABLE_N可用以停用无线通信,应用程序可能复位所述装置,或其上连接有所述装置的系统可能移除到所述装置的电力。因此,在枚举过程进行之前执行测试以确保所述装置已为通信做好准备。如果USB装置200为通信做好准备,则操作框604为USB装置200通电。
在操作框606中,USB装置200通过启动映像(本文中也称作用于固件加载模式的第一固件及软件)来初始化。此启动映像可为非易失性存储器270、控制器280上的非易失性存储器或USB装置200上的其它非易失性存储器的部分。另外,启动映像的若干部分可驻存于主机上的硬盘驱动器上且可传送到USB装置200(作为配置过程的部分)。视实施例而定,所述启动映像可由控制器280从非易失性存储器270执行或可移到存储器260供执行。
决策框608测试以查看W_DISABLE_N是否在作用中历时大于一秒。换句话说,装置已被停用,因而无需完成枚举过程。如果USB装置200被停用,则操作框610使USB装置200断电,且控制传送回到操作框602以等待启用USB装置200。将操作框608及610展示为发生于操作框606之后。然而,一般所属领域的技术人员将认识到,停用可为中断驱动的事件,且因此可从过程中的多数位置发生。
操作框612尤其通过将第一装置描述符240发送到主机而继续第一枚举过程。
在装置已成功地在固件加载模式下被枚举之后,操作框614执行将固件(本文中也称作第二固件或操作固件)移动到存储器260的操作。所述操作固件可驻存于主机上的硬盘驱动器上且可传送到存储器260,或可处于USB装置200的非易失性存储器270上且传送到存储器260。对于复杂装置来说,操作固件可能较大且此传送过程可能较长。然而,USB装置200已在固件加载模式下得以枚举且因此已满足一些操作系统的快速枚举要求。
在下载操作固件之后,决策框616测试以验证操作固件已成功下载且通过鉴认过程。如果非如此,则控制返回到操作框614以再次下载操作固件。
如果鉴认成功,则操作框618使用操作固件及第二装置描述符250执行第二枚举过程。在此第二枚举过程中,卸除用于第一枚举的USB堆栈且在操作模式下建置新的USB堆栈(作为第二枚举的部分)。
决策框620测试以查看第二枚举是否成功。如果未成功,则控制传送回到操作框606,在操作框606处,再次开始第一枚举。如果第二枚举成功,则操作框622指示USB装置200在其操作模式下起作用,且双枚举过程600完成。
图6A展示在第一枚举过程之后由操作系统显示的示范性控制面板。类似地,图6B展示在第二枚举过程之后由操作系统显示的示范性控制面板。作为非限制性实例,当枚举完成时,Windows将新装置新增到控制面板中的装置管理器显示中。当从总线移除装置时,Windows将所述装置从装置管理器移除。
因此,图6A展示在第一枚举过程之后由Windows显示的示范性控制面板。展示加载器710端口,说明加载器驱动程序162(图3)可用于操作系统及其它客户端软件。正常用户空间应用程序及操作驱动程序164(图3)正寻找不同于加载器710的装置。因此,当已在固件加载模式下枚举USB装置200时,仅加载器驱动程序162辨识出USB装置200以用于与客户端软件通信。
图6B展示在第二枚举过程之后由Windows显示的示范性控制面板,其指示对于多个装置的复合枚举。现在,将诊断端口750及NMEA(国家航海电子协会)端口740展示为客户端软件。
另外,控制面板展示USB调制解调器720及USB网络适配器730。另外,现在从图6B的控制面板去掉图6A中所展示的加载器710端口。当然,一般所属领域的技术人员将认识到,端口、适配器及其它功能对于使用本发明的示范性实施例的不同类型的USB装置200可能不同。
所属领域的技术人员将理解,可使用多种不同技术及技艺中的任一者来表示信息及信号。举例来说,可通过电压、电流、电磁波、磁场或粒子、光场或粒子,或其任何组合来表示可能贯穿以上描述而引用的数据、指令、命令、信息、信号、位、符号及码片。
所属领域的技术人员将进一步了解,结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此可互换性,已在上文大体按照其功能性描述了各种说明性组件、块、模块、电路及步骤。将此功能性实施为硬件还是软件视特定应用及强加于整个系统上的设计约束而定。对于每一特定应用来说,所属领域的技术人员可用变化的方式实施所描述的功能性,但不应将所述实施决策解释为导致脱离本发明的示范性实施例的范畴。
可通过通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或经设计以执行本文中所描述的功能的其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行结合本文中所揭示的实施例而描述的各种说明性逻辑块、模块、控制器及电路。通用处理器可为微处理器,但在替代例中,所述处理器可为任何常规处理器、控制器、微控制器或状态机。处理器也可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器、结合一DSP核心的一个或一个以上微处理器,或任何其它此类配置。
结合本文中所揭示的实施例所描述的方法或算法的步骤可直接体现于硬件中、由处理器执行的软件模块中或所述两者的组合中。软件模块可驻存于随机存取存储器(RAM)、快闪存储器、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、寄存器、硬盘、可装卸盘、CD-ROM,或此项技术中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息及将信息写入到存储媒体。在替代例中,存储媒体可与处理器成一体。处理器及存储媒体可驻存于ASIC中。所述ASIC可驻存于用户终端中。在替代例中,处理器与存储媒体可作为离散组件驻存于用户终端中。
在一个或一个以上示范性实施例中,所描述的功能可用硬件、软件、固件,或其任何组合来实施。如果用软件来实施,则所述功能可作为一个或一个以上指令或代码存储于计算机可读媒体上或经由计算机可读媒体传输。计算机可读媒体包括计算机存储媒体及通信媒体两者,通信媒体包括促进计算机程序从一处传送到另一处的任何媒体。存储媒体可为可由计算机存取的任何可用媒体。以实例说明而并非限制,所述计算机可读媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以载运或存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。又,可恰当地将任何连接称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL),或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包括于媒体的定义中。如本文中所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。上述各物的组合也应包括在计算机可读媒体的范畴内。
提供所揭示的示范性实施例的前述描述以使任何所属领域的技术人员能够制作或使用本发明。这些示范性实施例的各种修改对于所属领域的技术人员来说将显而易见,且本文所界定的一般原理可在不脱离本发明的精神或范畴的情况下应用到其它实施例。因此,本发明并不意在限于本文中所展示的实施例,而应符合与本文中所揭示的原理及新颖特征相一致的最广泛范畴。
Claims (32)
1.一种USB装置,其包含:
存储器,其用于保持用于所述USB装置的操作的固件;
控制器,其用于执行所述固件;
第一装置描述符,其用于在固件加载模式下枚举所述USB装置;以及
第二装置描述符,其用于在操作模式下枚举所述USB装置;
其中所述固件包含:
第一固件,其用于控制所述固件加载模式;以及
第二固件,其用于控制所述操作模式。
2.根据权利要求1所述的USB装置,其中所述第一固件是在USB主机上且用于在所述固件加载模式期间下载到所述存储器。
3.根据权利要求1所述的USB装置,其进一步包含非易失性存储器,且其中所述第一固件是用于选自由以下各者组成的群组的模式:在所述固件加载模式期间移动到所述存储器,或在所述固件加载模式期间由所述控制器从所述非易失性存储器执行。
4.根据权利要求1所述的USB装置,其中所述第二固件是在USB主机上且用于在所述固件加载模式期间下载到所述存储器。
5.根据权利要求1所述的USB装置,USB进一步包含非易失性存储器,且其中所述第二固件是用于选自由以下各者组成的群组的模式:在所述固件加载模式期间移动到所述存储器,或在所述操作模式期间由所述控制器从所述非易失性存储器执行。
6.根据权利要求1所述的USB装置,其中所述第一装置描述符包含第一供货商识别符及第一产品识别符。
7.根据权利要求6所述的USB装置,其中所述第二装置描述符包含第二供货商识别符及第二产品识别符。
8.根据权利要求7所述的USB装置,其中所述第一供货商识别符与所述第二供货商识别符相同。
9.根据权利要求1所述的USB装置,其中所述USB装置进一步包括天线,且所述USB装置是作为广域网装置而用于无线操作。
10.一种USB主机,其用于可操作地耦合到USB装置且包含计算指令,所述计算指令用于由计算机执行以:
使用来自所述USB装置的第一装置描述符来执行所述USB装置的第一枚举;
从所述USB装置接收重新枚举指示符;以及
使用来自所述USB装置的第二装置描述符来执行所述USB装置的第二枚举。
11.根据权利要求10所述的USB主机,其中所述用于由所述计算机执行的计算指令进一步包括用以在所述第一枚举期间将第一固件从所述USB主机移动到所述USB装置上的存储器的指令,所述第一固件用于在所述第一枚举期间控制所述USB装置上的操作。
12.根据权利要求10所述的USB主机,其中所述用于由所述计算机执行的计算指令进一步包括用以在所述第一枚举期间将第二固件从所述USB主机移动到所述USB装置上的存储器的指令,所述第二固件用于在所述第二枚举之后在操作模式期间控制所述USB装置上的操作。
13.一种系统,其包含:
USB装置,其包含:
存储器,其用于保持用于所述USB装置的操作的固件;
控制器,其用于执行所述固件;
第一装置描述符,其用于在固件加载模式下枚举所述USB装置;以及
第二装置描述符,其用于在操作模式下枚举所述USB装置;以及
USB主机,其可操作地耦合到所述USB装置且用于通过如下操作来控制所述USB装置:
使用所述第一装置描述符来控制所述USB装置的第一枚举;且
在所述第一枚举之后:
从所述USB装置接收重新枚举指示符;以及
使用所述第二装置描述符来控制所述USB装置的第二枚举。
14.根据权利要求13所述的系统,其中第一固件是在所述USB主机上,用于在所述固件加载模式期间下载到所述存储器。
15.根据权利要求13所述的系统,其中所述USB装置进一步包含非易失性存储器,且其中所述非易失性存储器中的第一固件是用于选自由以下各者组成的群组的模式:在所述固件加载模式期间移动到所述存储器,或在所述固件加载模式期间由所述控制器从所述非易失性存储器执行。
16.根据权利要求13所述的系统,其中用于控制所述操作模式的第二固件是在所述USB主机上且用于在所述固件加载模式期间下载到所述存储器。
17.一种方法,其包含:
检测USB拓扑上的USB装置;
通过第一固件及第一装置描述符枚举所述USB装置;
在固件加载模式下启用所述USB装置以供第一客户端软件存取;
将第二固件下载到所述USB装置的存储器;
通过第二装置描述符来枚举所述USB装置;以及
在使用所述第二固件的操作模式下启用所述USB装置以供第二客户端软件存取。
18.根据权利要求17所述的方法,其进一步包含通过广域网装置中的无线通信来操作所述USB装置。
19.根据权利要求17所述的方法,其中下载所述第二固件包含选自由以下各者组成的群组的动作:从USB主机下载到所述存储器,及从所述USB装置上的非易失性存储器下载到所述存储器。
20.根据权利要求17所述的方法,其中通过所述第一固件枚举所述USB装置进一步包含将所述第一固件下载到所述存储器。
21.根据权利要求20所述的方法,其中下载所述第一固件包含选自由以下各者组成的群组的动作:从USB主机下载到所述存储器,及从所述USB装置上的非易失性存储器下载到所述存储器。
22.根据权利要求17所述的方法,其中所述第一装置描述符包含第一供货商识别符及第一产品识别符。
23.根据权利要求22所述的方法,其中所述第二装置描述符包含第二供货商识别符及第二产品识别符。
24.根据权利要求23所述的方法,其中所述第一供货商识别符与所述第二供货商识别符相同。
25.一种系统,其包含:
用于检测USB拓扑上的USB装置的装置;
用于通过第一固件及第一装置描述符枚举所述USB装置的装置;
用于在固件加载模式下启用所述USB装置以供第一客户端软件存取的装置;
用于将第二固件下载到所述USB装置的存储器的装置;
用于通过第二装置描述符来枚举所述USB装置的装置;以及
用于在使用所述第二固件的操作模式下启用所述USB装置以供第二客户端软件存取的装置。
26.根据权利要求25所述的系统,其进一步包含用于通过广域网装置中的无线通信来操作所述USB装置的装置。
27.根据权利要求25所述的系统,其中所述用于下载所述第二固件的装置包含选自由以下各者组成的群组的装置:用于从USB主机下载到所述存储器的装置,及用于从所述USB装置上的非易失性存储器下载到所述存储器的装置。
28.根据权利要求25所述的系统,其中所述用于通过所述第一固件枚举所述USB装置的装置进一步包含用于将所述第一固件下载到所述存储器的装置。
29.根据权利要求28所述的系统,其中所述用于下载所述第一固件的装置包含选自由以下各者组成的群组的装置:用于从USB主机下载到所述存储器的装置,及用于从所述USB装置上的非易失性存储器下载到所述存储器的装置。
30.根据权利要求25所述的系统,其中所述第一装置描述符包含第一供货商识别符及第一产品识别符。
31.根据权利要求30所述的系统,其中所述第二装置描述符包含第二供货商识别符及第二产品识别符。
32.根据权利要求31所述的系统,其中所述第一供货商识别符与所述第二供货商识别符相同。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/353,214 | 2009-01-13 | ||
US12/353,214 US8713209B2 (en) | 2009-01-13 | 2009-01-13 | System, apparatus, and method for fast startup of USB devices |
PCT/US2010/020949 WO2010083257A2 (en) | 2009-01-13 | 2010-01-13 | System, apparatus, and method for fast startup of usb devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102272723A true CN102272723A (zh) | 2011-12-07 |
Family
ID=41682387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800043647A Pending CN102272723A (zh) | 2009-01-13 | 2010-01-13 | 用于快速启动usb装置的系统、设备及方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8713209B2 (zh) |
EP (1) | EP2387749A2 (zh) |
JP (1) | JP2012515400A (zh) |
KR (1) | KR20110098974A (zh) |
CN (1) | CN102272723A (zh) |
TW (1) | TW201042460A (zh) |
WO (1) | WO2010083257A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103227958A (zh) * | 2012-01-30 | 2013-07-31 | 三星电子株式会社 | 显示装置、升级装置、包括其的显示系统及其控制方法 |
CN104823174A (zh) * | 2012-09-30 | 2015-08-05 | 赛普拉斯半导体公司 | Usb3.0兼容设备的重新列举 |
US9804858B2 (en) | 2011-09-29 | 2017-10-31 | Cypress Semiconductor Corporation | System for re-enumeration of USB 3.0 compatible peripheral devices |
US9804859B2 (en) | 2011-09-29 | 2017-10-31 | Cypress Semiconductor Corporation | Re-enumeration of USB 3.0 compatible devices |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8321655B2 (en) * | 2009-06-13 | 2012-11-27 | Phoenix Technologies Ltd. | Execution parallelism in extensible firmware interface compliant systems |
CN101615165A (zh) * | 2009-08-06 | 2009-12-30 | 北京中星微电子有限公司 | 一种获得usb设备的序列号的方法及装置 |
US20120070019A1 (en) * | 2010-09-21 | 2012-03-22 | Barry Corlett | Methods for addressing equipment in tree networks |
WO2012098516A2 (en) * | 2011-01-19 | 2012-07-26 | Valens Semiconductor Ltd. | Usb network having multiple hosts |
US8706955B2 (en) | 2011-07-01 | 2014-04-22 | Apple Inc. | Booting a memory device from a host |
US8909818B2 (en) | 2012-09-27 | 2014-12-09 | Qualcomm Incorporated | Method for shortening enumeration of tightly coupled USB device |
US20140208134A1 (en) * | 2013-01-21 | 2014-07-24 | Texas Instruments Incorporated | Host controller interface for universal serial bus (usb) power delivery |
US10165130B2 (en) | 2014-02-13 | 2018-12-25 | Emerge Print Management, Llc | System and method for the passive monitoring and reporting of printer-related data on USB cables |
US9307317B2 (en) | 2014-08-29 | 2016-04-05 | Coban Technologies, Inc. | Wireless programmable microphone apparatus and system for integrated surveillance system devices |
US9225527B1 (en) | 2014-08-29 | 2015-12-29 | Coban Technologies, Inc. | Hidden plug-in storage drive for data integrity |
CN105515811A (zh) * | 2014-10-14 | 2016-04-20 | 中兴通讯股份有限公司 | Usb无线网卡配置方法、主机、usb无线网卡及通信系统 |
US10165171B2 (en) | 2016-01-22 | 2018-12-25 | Coban Technologies, Inc. | Systems, apparatuses, and methods for controlling audiovisual apparatuses |
US10152858B2 (en) | 2016-05-09 | 2018-12-11 | Coban Technologies, Inc. | Systems, apparatuses and methods for triggering actions based on data capture and characterization |
US10370102B2 (en) | 2016-05-09 | 2019-08-06 | Coban Technologies, Inc. | Systems, apparatuses and methods for unmanned aerial vehicle |
US10789840B2 (en) | 2016-05-09 | 2020-09-29 | Coban Technologies, Inc. | Systems, apparatuses and methods for detecting driving behavior and triggering actions based on detected driving behavior |
US10585674B2 (en) * | 2016-08-22 | 2020-03-10 | Hewlett-Packard Development Company, L.P. | Connected devices information |
US10635345B2 (en) * | 2018-08-31 | 2020-04-28 | Micron Technology, Inc. | Live firmware activation in a memory system |
TWI745997B (zh) * | 2020-06-09 | 2021-11-11 | 慧榮科技股份有限公司 | 生產固態硬碟的方法及裝置以及電腦程式產品 |
CN113778915B (zh) | 2020-06-09 | 2023-10-10 | 慧荣科技股份有限公司 | 生产固态硬盘的方法及计算机可读取存储介质及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004008313A1 (en) * | 2002-07-15 | 2004-01-22 | Axalto Sa | Usb device |
US20040189809A1 (en) * | 2003-03-27 | 2004-09-30 | Choi Juang-Hwan | Digital imaging apparatus and method for selecting data transfer mode of the same |
US20050120343A1 (en) * | 2003-12-01 | 2005-06-02 | Horng-Ming Tai | Method and system for firmware downloads |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4553279B2 (ja) | 2000-03-09 | 2010-09-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データ転送システム、データ転送端末、コントローラ、およびインターフェイス方法 |
US6658489B1 (en) * | 2000-03-29 | 2003-12-02 | International Business Machines Corporation | Method for replacing a device driver during system operation |
US6687774B2 (en) * | 2000-12-19 | 2004-02-03 | Semtech New York Corporation | Wireless host with improved roustness and boot capabilities |
AU2002355800A1 (en) * | 2001-07-31 | 2003-02-17 | Silicom Ltd. | Device-related software installation |
US7209971B1 (en) * | 2001-12-11 | 2007-04-24 | Microsoft Corporation | Architecture and run-time environment for network filter drivers |
CN107885679B (zh) * | 2003-04-11 | 2021-10-08 | 富意科技公司 | 一种可实现自动运行的集成电路存储设备或方法 |
JP2006185012A (ja) | 2004-12-27 | 2006-07-13 | Kyocera Mita Corp | インタフェース装置及びインタフェースプログラム |
US20090222907A1 (en) * | 2005-06-14 | 2009-09-03 | Patrice Guichard | Data and a computer system protecting method and device |
US8238972B2 (en) * | 2006-03-03 | 2012-08-07 | Newport Media, Inc. | Device, system, and method for providing wireless data access, digital TV access, radio, and storage capability |
US7574534B2 (en) * | 2006-05-23 | 2009-08-11 | International Business Machines Corporation | Method for using device enumeration information to identify an operating system running on a computer system |
US20080189554A1 (en) * | 2007-02-05 | 2008-08-07 | Asad Ali | Method and system for securing communication between a host computer and a secure portable device |
US8626931B2 (en) * | 2007-02-05 | 2014-01-07 | Broadcom Corporation | Media transport protocol extensions for system information exchange, and applications thereof |
JP2009009211A (ja) * | 2007-06-26 | 2009-01-15 | Sony Corp | 通信システム、通信装置及びその制御方法、並びにコンピュータ・プログラム |
US7890664B1 (en) * | 2008-03-31 | 2011-02-15 | Emc Corporation | Methods and apparatus for non-disruptive upgrade by redirecting I/O operations |
-
2009
- 2009-01-13 US US12/353,214 patent/US8713209B2/en active Active
-
2010
- 2010-01-13 CN CN2010800043647A patent/CN102272723A/zh active Pending
- 2010-01-13 KR KR1020117017521A patent/KR20110098974A/ko active IP Right Grant
- 2010-01-13 EP EP10700785A patent/EP2387749A2/en not_active Withdrawn
- 2010-01-13 JP JP2011546316A patent/JP2012515400A/ja active Pending
- 2010-01-13 TW TW099100821A patent/TW201042460A/zh unknown
- 2010-01-13 WO PCT/US2010/020949 patent/WO2010083257A2/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004008313A1 (en) * | 2002-07-15 | 2004-01-22 | Axalto Sa | Usb device |
US20040189809A1 (en) * | 2003-03-27 | 2004-09-30 | Choi Juang-Hwan | Digital imaging apparatus and method for selecting data transfer mode of the same |
US20050120343A1 (en) * | 2003-12-01 | 2005-06-02 | Horng-Ming Tai | Method and system for firmware downloads |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9804858B2 (en) | 2011-09-29 | 2017-10-31 | Cypress Semiconductor Corporation | System for re-enumeration of USB 3.0 compatible peripheral devices |
US9804859B2 (en) | 2011-09-29 | 2017-10-31 | Cypress Semiconductor Corporation | Re-enumeration of USB 3.0 compatible devices |
US9864607B2 (en) | 2011-09-29 | 2018-01-09 | Cypress Semiconductor Corporation | Methods and physical computer-readable storage media for initiating re-enumeration of USB 3.0 compatible devices |
CN103227958A (zh) * | 2012-01-30 | 2013-07-31 | 三星电子株式会社 | 显示装置、升级装置、包括其的显示系统及其控制方法 |
CN104823174A (zh) * | 2012-09-30 | 2015-08-05 | 赛普拉斯半导体公司 | Usb3.0兼容设备的重新列举 |
CN104823174B (zh) * | 2012-09-30 | 2019-09-06 | 赛普拉斯半导体公司 | Usb3.0兼容设备的重新列举的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
EP2387749A2 (en) | 2011-11-23 |
JP2012515400A (ja) | 2012-07-05 |
WO2010083257A3 (en) | 2010-09-23 |
KR20110098974A (ko) | 2011-09-02 |
TW201042460A (en) | 2010-12-01 |
US8713209B2 (en) | 2014-04-29 |
US20100180051A1 (en) | 2010-07-15 |
WO2010083257A2 (en) | 2010-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102272723A (zh) | 用于快速启动usb装置的系统、设备及方法 | |
CN107423169B (zh) | 用于测试高速外围设备互连设备的方法和系统 | |
US10333865B2 (en) | Transformation of peripheral component interconnect express compliant virtual devices in a network environment | |
EP3627335B1 (en) | Method to enable mini-mezzanine open compute project (ocp) plug-and-play network phy cards | |
US9081705B2 (en) | Methods and apparatus for reliable detection and enumeration of devices | |
CN106933753B (zh) | 智能接口卡的控制方法及装置 | |
US10394573B2 (en) | Host bus adapter with built-in storage for local boot-up | |
KR20180012181A (ko) | 호스트 없는 환경에서 멀티 프로토콜을 지원하는 셀프-구성 에스에스디 | |
US8560750B2 (en) | Systems and methods for advanced interrupt scheduling and priority processing in a storage system environment | |
EP1372069A2 (en) | Method system and software for configuring a graphics processing communication mode | |
CN102253845B (zh) | 服务器系统 | |
CN106982133A (zh) | 一种更改虚拟网卡配置信息的方法、设备及系统 | |
US20100211699A1 (en) | Wireless access apparatus with firmware upgrading function and the method thereof | |
CN102081526B (zh) | 基本输入/输出系统架构 | |
US11075925B2 (en) | System and method to enable component inventory and compliance in the platform | |
US7890666B2 (en) | Embedded protocol selection technique, related interface and computer program product | |
CN111637079B (zh) | 主板、风扇控制系统及方法 | |
US6708229B2 (en) | Configuring computer components | |
US10996942B1 (en) | System and method for graphics processing unit firmware updates | |
CN116644011B (zh) | 一种i2c设备的快速识别方法、装置、设备及存储介质 | |
CN113468027B (zh) | 监测器件地址管理方法及装置、基板管理控制器、设备 | |
CN117009162B (zh) | 一种三模raid卡芯片识别硬盘的方法 | |
US11113227B2 (en) | Erasing device for long-term memory devices | |
CN116405387A (zh) | 一种PCIe交换机升级方法、装置、设备及存储介质 | |
CN116723099A (zh) | 网卡管理方法、网络通信方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20111207 |