启动装置的重枚举的方法

文档序号:6616056阅读:107来源:国知局
专利名称:启动装置的重枚举的方法
技术领域
本发明总体涉M用串行总线(USB)装置,更具体地,涉及一种无需USB 装置与主机物理断开并重新连接即可启动装置重枚举的方法。
技术背景由于其大容量以及使得装置便于携带的縮小的物理尺寸,可移除的通用串 行总线(USB)数据存储装置已经得到了广泛应用。可以提供多个分区,其中 的一个或多个分区可以被保护,从而使得经过验i正访问受保护分区中存储的数 据,同时其它部分保持不被《尉户,从而使得不受限制地访问其中存储的繊。有时,剤^S的用户可能需要修改其存储需求。例如,用户可能需要将一 个分区修改为两个分区。每当对存储装置进行重新分区时,就需要将该装置连 接到主机,例如个人计算机,以对该装置进行重枚举。如果装置是冷插入到主 机,贝IJ自动执行枚举。然而,如果在保雜接于主机时对装置进行重新分区, 则当完成重新分区时,主机不能自动对装置进行枚举。需要AX干预,例如从 主机中物理断开该装置并将其重茅tt接,启动装置的重枚举。 发明内容本发明的实施例允许主机在需要装置重枚举的事件之后启动USB装置的 重枚举,无需人工干预,即,将装置与主机物理断开并重新连接。同样地,不 需要额外的硬件支持。为此目的,当在整个处理流程中,该装置与主机保J,接时,执行USB装 置与主机模拟断开和连接的处理流程或处理f旨。处理流程包括装置和主机之间的一系列命令交换,从而使得主机中具有的操作系统(OS)检测到依次j姓 机OS启动,枚举的,变化。由于在旨处理流程中,该,与主机保, 接,因此操作主机OS以接收预先设定的多种装置状态,使離测装置变化。当阅读以下详细说明和查阅相关附图时,体现本发明实施例的其它特征和 优点将变得明显。


图1说明包括主机和USB装置的系统。图2说明根据本发明的一个实施例的流程。
具体实施方式
在以下说明中,为了提供对本发明的各个实施例的透彻M,描述多个特殊细节。然而,所属领域技术人员可以理解无需这^f寺殊细节中的一部分或全 部也可以实现本发明的实施例。在其它示例中,为了不会不必要地模糊描述的 实施例的相关方面,没有详细地描述公知的处理操作。图1说明了包括主机12,例如耦合于通用串行总线(USB)體14的个 人计算机或任何计算體,的系统IO。主机12包括主机12的非易失性存储器 中存储的操作系统(OS) 16和软件应用程序18。 Mcrosoft Wlndows 产品可以 作为本发明实施例中的OS 4顿。然而,应该理解可以替换地应用其它操作系统。 软件应用e^l8被构建为与主机OS 16以及与装置14相互作用,例如对, 12重新分区。在主机12中提供连接点(端口) 20,从而从装置14接收电缆22 以将體14电连接于主机12。可替换地,可以在驢14和端口 20之间lif共集 线器(未示出)以夂^g 14电连接于主机12。集线器提供客砂卜的连接点,M 该连接点将其它USB ,同时连接于主机12。为了无需AX干预地启动USB , 14的重枚举,当皿14保持与主机 12的连接时,执行模拟装置14与主机12的断开和重新连接的处理流程。可以 由需要装置重枚举的预定事件调用该处理流程。处理流程包括装置14和主机 OS 16禾口/或主机12中存储的应用禾聘18之间的多^t^令交换,从而操作主机 OS16检测驢变化,即使在齡处理流程中,體14保持与主机12连接。具 体地,操作主机OS16,从而检测装置14从主机14中断开的第一状态,其中, 随后检测装置14连接于主机12的第二状态。模拟装置变化的该处理流程^i 机OS 16根据标准OS特性启动装置枚举。现在,参照图2,其中说明了根据本发明的实施例用于启动USB装置14 的枚举的处理流程200。可以由需要體枚举的预定事件调用处理流程200。所 述事件的示例包括但不限于USB装置的分区(例如,从一个分区到两个分区, 以及分区的任何其它组合),以及修改,14中分区的安全等级(例如,{, 或安全分区,反之亦然)。以下说明应用于可移除存fit^置,该可移除存^^a 利用根据小型计^fl系统接口 (SCSI)命令组的USB大容量存储等级的仅仅大容量传输规范。然而,应该離以下说明还应用于禾,控制大容量中断(CBI)传输规范的USB装置。当出现预定事件时,可以由主机12中存储的软件应用禾龄18调用处理流 程200。在流程202中,应用禾號18发出的第一专用命令以将驢14设定为拒 绝除预定命令以外的全部命令和请求。换句话说,體14仅仅可以接收预定命 令。因此,體14对除预定命令以夕卜的命令的接收将导致命令故障。预定命令 例如包括,但是不限于,根据USB大存储等级规范和SCDI命令组的REQUEST SENSE命令。REQUEST SENSE命令通常用于将检测自从装置14传送到主 机12,从而确定是否已经出现f昔误。第一专用命令还将检测 预先设定或确 定为第一状态,在織一状态中,體14脏机12中断开连接,例如"介质 不存在"。然后,在流程204中,应用禾骄18M向装置14发出除预定命令以外的 第二命4^不断青求命令故障或故障响应。由于在流程202中将装置14设定为 拒绝除预定命令以夕卜的全部命令,因此招可其它命令都将导致命令故障。适当 的命邻咖是基于标准SCSI命令组的TEST UNIT READY命令,该命令用于 如果准备好则请^g报告。流程204中的第二命令的目的是生成命令故障, 这依次导致主机OS 16根据标准OS特性初始化f賊检查。在流程206中,响 应于TESTUMTREADY命令,驢14向应用禾聘18返回命令故障。在流程208中命令故障的接收4姓机OS 16ffl31向體14縱REQUEST SENSE命4^执行错误检査。由于将REQUEST SENSE命令设定为被装置14 接收,因lt傻置14根据REQUEST SENSE命令所需的标准响应向主机OS 16 返回检测数据。在流程208中,将之前预先设定为处于第一状态"介质不存在" 中的检测数据衝共给主机OS 16。因此,即使装置14保持与主机12的连接,主 机OS 16也能感测離观倒不存在装置。之后,操作主机OS16来检测装置14已经被重新连接,从而调用枚举。为 此目的,在流程212中,应用程序18发出第三专用命^将装置14设定为拒 绝除预定命令以外的全部命令。在当前示例中,预定命令也可以是REQUEST SENSE命令。第三专用命令还重写现有检测数据,并将其预先设定为第二状态, 在第二状态中,體14连接于主机12,例如"没有准备好准备转捉介质被改 变"。此外,装置14可以根据装置14中当前的分区序号校正逻辑单元序号(LUN)值。之后,可以在鹏期间将校正的LUN值衝共给主机OS16。应用程序18再次从装置14不断请求命令故障或故障响应,从而使主机OS 16启动错误检査。为此目的,在流程214中,向装置14发出除预定命令以外的 第四命令。第四命令可以与流程204中的第二命令相同,例如为TEST UNIT READY命令,或者可以是任何其它适当的命令。响应于第四命令,在流程216, 装置14向应用賴芋18返回命令故障,这是由于之 流程212中已经纟^g 14设定为拒绝除预定命令,例如REQUEST SENSE命令以外的全部命令。在流程218中,命令故障的接收触发主机OS 16通过向装置14发送 REQUEST SENSE命M执行错误检查。在流程220中,响应于REQUEST SENSE命令,装置14向主机OS 16返回或掛共检测数据,其中己经将检测数 据预先设定为第二状态,在,二状态中,装置14连接于主机12,例如"没有 准备好准备转秦介质被改变"。因此,即使在流程200期间同一體14保持与 主机12连接,主机OS 16也能繊U離观倒被连接的驢14中的变化。由于主机OS 16检测装置变化,因此在流程222中主机OS 16根据标准OS 特性启动枚举处理。除了别的以外,枚举处理还包括获取装置14中的分区序号 (即,LUN值)以及每一分区的大小,并在流程222中将这^f直提供给主机 OS 16。在以上段落中,即働每装置剝抖喿作或预先设定为模拟装置与主机的断开 连接或连接,REQUEST SENSE命令也能用于提f燥置的^f牛或状态。应该理 解的是,能够通过与主机相关的装置的参数或相反表示状态斜牛或能够表^ 接状态的其它命令也可以以适当的鹏用在本发明的实施例中。在一方面中,可以将REQUEST SENSE命令描述为用于从接收到命令的目标装置激发响应的命令,其中响应包括关于目标装置的信息,例如,目标装置 是否检测连接于另一S。本发明的实施例特别有利,因为可以自动启动连接于主机12的装置14的 重枚举,而无需手工干预。因此,对于用户来说重枚举处理题明的,并且还 与事件无缝接合,例如装置的重新分区。此外,本发明的实施例不需要在装置 中的额外硬件或电路,否则的话将导致额外的制造成本。本发明的实施例可以 应用于利用USB连接的各种存置。所述装置的示例包括,但是不限于闪存 (通常称为笔式驱动器、存储棒或拇指驱动器)、外部硬驱动器或具有特定应用禾,结构的任何其它戶;^驱动器。需要理解的是,对于所属领域技术人员来说,考虑至体发明的说明书和实 践得到其它实施例是显而易见的。此外,为了说明清楚的目的应用了某一术语, 并不限制本发明。应该将上述实施例和特征理解为为示例性的,发明由后附的 权利要求来定义。
权利要求
1.一种启动枚举的方法,所述方法包括当装置保持与主机连接时操作主机操作系统(OS)以重新获得所述装置与所述主机中断连接的第一预定状态;操作所述主机操作系统以重新获得所述装置与所述主机连接的第二预定状态;以及响应于所述主机操作系统检测到第二预定状态,启动所述装置的枚举。
2. 如权利要求i戶腿的方法,其特征在于,操作0Mi机操作系统以重新获得第 —预定状态以及操作戶,主机操作系统以重新获得第二预定状态都^I31生成命令故障。
3. 如权利要求2戶腿的方法,其特征在于,操作戶JMit鹏作系统以重新获得第一预定状态以及操作所M机操作系统以重新获得第二预定状态都还包括-将所,置设定为仅接收预定命令;定义戶,第一预定状态和所述第二预定状态中的相应一个;以及 向所述装置发出除戶,预定命令以外的命令以生i^,命令故障。
4. 如权禾腰求3戶腿的方法,辦征在于,戶脱预定命令是REQUEST SENSE命令。
5. 如权禾腰求4戶脱的方法,^#征在于,除戶;f^预定命令以外的命令是TEST UNIT READY命令。
6. 如权利要求3所述的方法,其特征在于,戶;m预定命令是配置为表示与戶;M主 机相关的装置的连接状态的命令。
7. 如权利要求i所述的方法,其特征在于,操作戶;Mit/U喿作系统以重新获得第 一预定状态由所述主机中存储的应用程序响应于预定事件来调用。
8. 如权利要求7所述的方法,其特征在于,所述预定事件^^t^^置的重新分 区或对戶,装置中分区的安全等级的修改。
9. 如权利要求i戶,的方法,其特征在于,戶;m^置^ii用串行总线装置。
10. —种装置,当连接于主机时,将戶;m装置设定为樹共该装置,ABaii机中,接的第一预定状态和随后戶;^置与所Mi,接的第二状态,以启动所述装置的枚 举,其中在多^令故障之后微戶脱第一预定状态和戶/M第二预定状态。
11. 如权利要求io戶腿的装置,辦征在于,戶;M^置被配置成iia被配置为 仅接收预定命令来生/^f 述多个命令故障,以及响应于接收除戶,预定命令以外的命 令来提供命令故障。
12. 如权禾腰求ll戶腿的装置,其特征在于,戶脱预定命令是REQUEST SENSE命令。
13. 如权利要求12所述的装置,其特征在于,除所述预定命令以外的命令是TEST UNIT READY命令。
14. 如权利要求ii戶皿的装置,,征在于,所述预定命令是配置为^与戶;M 主机相关的装置的连接状态的命令。
15. 如权利要求10所述的装置,其特征在于,所皿置^1用串行总线装置。
16. 如权利要求io所述的装置,其特征在于,通过多K令由应用禾M^配s;;M 装置,从而樹期皿第一预定状态和爿,第二预定状态。
17. —种系统,包括 主机;以及通用串行总线(USB)装置,当连接到所述主机时,将所述装置配置为向主机操 作系统(OS)樹好皿装置与所述主机断开连接的第一预定状态和随后所述装置与所 述主*自接的第二预定状态,其中操作所述主机以相应于多个命令故障重新获得第一 和第二预定状态。
18. 如权禾腰求17戶脱的系统,其特征在于,将B^置配置为仅接收预定命令, 以及响应于接收除戶脱预定命令以外的命絲麟戶腿预定命令。
19. 如权利要求18戶脱的方法,^t寺征在于,戶;M预定命令是REQUEST SENSE 命令,而戶;M多^^令是TESTUNITREADY命令。
20. 如权利要求19戶舰的方法,还包括戶;Mi机中存储的应用禾骄,戶;Mm用 程序用于在朋述装置重新分区或修改戶;m装置中分区的安全等级之后启动所述装置的 枚举。
全文摘要
提供了一种无需人工干预即可启动USB装置的重枚举的方法。该方法包括当装置保持与主机的连接时,模拟装置与主机的断开连接和重新连接的流程。当装置在流程期间保持与主机的连接时,操作主机OS以重新获得多个预定装置状态,从而检测装置变化,并最终启动装置枚举。当发生请求状态枚举的事件时,可以通过主机中存储的软件应用程序启动包括装置和主机之间的一系列命令变化的该流程。
文档编号G06F9/445GK101246428SQ200710306679
公开日2008年8月20日 申请日期2007年10月30日 优先权日2007年2月12日
发明者蒋忠权, 谢文祥, 陈思杰, 陈有民 申请人:希捷科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1