技术领域
[0001] 本
发明总体上涉及存储装置和主机之间的连接。更具体地,本发明涉及用于向主机装置和诸如
USB闪存盘的存储装置提供
接口并且用于在存储装置和主机之间进行连接的装置。
背景技术
[0002] 借助公共计算机来使用诸如USB闪存盘(UFD)的便携式存储介质对于在远离办公室时使用计算机进行工作或在远离家时使用计算机进行个人事务的用户而言是非常方便的。例如,用户可能希望使用他/她的USB闪存盘来登录到公共计算机,如在公共场所(例如,机场航站楼或商店)处的服务亭(kiosk)中提供的公共计算机。
[0003] 然而,由于其非常基本的性质,该设置对于维护隐私或信息安全性而言是不利的。通过使用这样的公共计算机设置,未授权的旁观者可能危及用户信息的安全性。例如,用户可能从计算机转身离开或走开一会儿,并且在用户不在场或不注意时,旁观者可能窃取USB闪存盘或
访问其存储的内容。这对于可用于公共用途的移动计算或通信装置而言也是一样的。因此,存在对改进公共计算机安装环境的信息安全性的需要。
发明内容
[0004] 鉴于前述观点和当前的需要,将会有利的是,具有如下装置,其起用于向存储装置提供接口并向主机提供接口、而且用于在存储装置从主机断开期间和/或之后维护存储装置和主机之间的开通会话的双接口连接器的作用。
[0005] 这里讨论了各种例子的
实施例包括用于向存储装置提供接口并向主机提供接口、而且用于在存储装置和主机之间进行连接的装置,该装置具有:存储装置接口,被配置为工作性地与存储装置(如USB闪存盘)连接;主机接口,被配置为工作性地与主机连接;以及
控制器,耦接到存储装置接口和主机接口,并且至少能以两个不同的工作模式进行工作。在第一工作模式下,控制器工作为在存储装置工作性地连接到存储装置接口并且主机工作性地连接到主机接口时使得主机能够在存储装置和主机之间开通会话。而在第二工作模式下,控制器工作为在存储装置和主机之间存在开通会话的情况下,即使在存储装置从存储装置接口断开之后也维护存储装置和主机之间的开通会话。
[0006] 存储装置可以是具有有线接口的USB闪存盘或具有无线接口的USB闪存盘。
[0007] 控制器可响应于主机上驻留的会话控制应用,以向会话控制应用通知存储装置与主机的连接/断开。该装置可适用于
修改在存储装置和主机之间发送的
信号。
[0008] 根据另一实施例,提供了一种存储组件,包括:存储装置;以及按照类似方式配置为上面所述的双接口连接器的装置。
[0009] 根据再一实施例,提供了一种主机,用于与起双接口连接器作用的装置连接,该主机包括:用户接口;装置接口(例如,USB端口连接),其被配置为与起双接口连接器作用的装置工作性地连接;以及会话控制应用。该会话控制应用工作为(a)当存储装置经由双接口连接器连接到主机时对用户接口解
锁,(b)在存储装置从双接口连接器断开之后锁定用户接口,以及(c)如果存储装置经由双接口连接器重新连接到主机,则对用户接口解锁。
[0010] 所述实施例的其他特征和优点也是可能的,它们根据以下
附图和说明将变得更清楚。
附图说明
[0011] 为了更好地理解各种实施例,参照附图,其中相同的附图标记始终指示相应部分或元件,并且附图中:
[0012] 图1是示出与存储装置连接的双接口连接器的示意图;
[0013] 图2是根据一个实施例的用于与存储装置和与主机连接的双接口连接器的
框图;
[0014] 图3A是示出第一工作模式下与存储装置和与主机连接的双接口连接器的示意图;
[0015] 图3B是在第二工作模式下与主机连接的双接口连接器的示意图;
[0016] 图4是示出根据一个实施例的在枚举过程期间在存储装置和主机之间流动的信号的示意图;
[0017] 图5是示出根据另一实施例的在双接口连接器和主机之间流动的信号的示意图;
[0018] 图6A示出了响应于主机
请求而从图2的存储装置发送的命令的数据结构;
[0019] 图6B示出了响应于主机请求而从图2的存储装置发送并且由双接口连接器进一步修改的命令的数据结构。
[0020] 图7是根据一个实施例的将图2的存储装置与主机相连的方法的
流程图;以及[0021] 图8是根据一个实施例的通过驻留在主机上的用于控制对存储装置和主机之间进行的会话的访问的会话控制应用来使用图2的存储装置的方法的流程图。
具体实施方式
[0022] 下面更详细地进一步描述实施例及其各个方面。该描述不是要限制
权利要求的范围,而是要提供这样的实施例的例子。因而,以下讨论给出了示例实施例,其包括起用于在存储装置和主机之间进行连接的双接口连接器作用的装置。
[0023] 这里讨论的主机可以是与可移除数据存储装置一起工作的个人计算机、笔记本计算机、诸如PDA(
个人数字助理)或移动手持机的手持计算装置、蜂窝电话、
照相机、音频再现装置或任何其他
电子装置。主机可具有各种个人信息管理应用,如地址本、日程安排表(daily organizer)和电子记事本等等。
[0024] 与这样的存储装置一起使用的存储装置可以是本领域中所知的任何存储装置,其可工作为直接连接到主机且直接与主机通信。这样的存储装置可具有符合存储卡格式的配置,包括安全数字存储卡格式和多媒体卡格式。存储装置可包括具有以易失性或非易失性方式按照二进制形式存储数据的能
力的
存储器单元的阵列(如闪存(FLASH))。注意,具有闪存型存储器单元不意味着限制,因为也可采用使用任何合适类型的存储器单元的其他实施例。
[0025] 这里讨论的存储装置可具有符合USB闪存盘(UFD)的配置,包括无线UFD(即,具TM有无线接口的USB闪存盘),例如见可通过Seagate 获得的Seagate D.A.V.E. (数字音频视频体验)平台。
[0026] 存储装置还可具有符合任何存储器(例如,闪存)、记忆棒和/或存储卡格式的配置,如用于存储诸如音频、视频或画面文件的数字媒体的安全数字(SD)存储卡格式。存储装置还可具有符合多媒体卡(MMC)存储卡格式、紧致闪存(CF)存储卡格式、闪存PC(例如,ATA闪存)存储卡格式、智能媒体存储卡格式、USB闪存盘或任何其他工业标准规范的配置。这些存储卡的一个供应者是本
申请的受让人SanDisk公司。
[0027] 存储装置还可具有符合高容量SIM(HCS)存储卡格式的配置。HCS存储卡格式是针对增长的多媒体手持机的需求的安全、成本效率高且高容量的存储解决方案,典型地被配置为使用主机的网络能力和/或其他资源,由此使得能够进行网络通信。
[0028] 存储装置还可具有即使在移除电力之后也能维持其存储器或存储状态的
非易失性存储器。具有非易失性存储器的可移除
大容量存储装置可以被用作嵌入式大容量存储装置(如
硬盘或固态盘)的替代或补充。非易失性存储器可包括可擦除可编程存储器技术,包括但不限于电可擦除可编程
只读存储器(EEPROM)、EPROM、MRAM、FRAM
铁电和
磁性存储器。注意,可通过任何类型的存储器实现存储装置,不管是快闪存储器还是其他类型的存储器。
还可通过一次可编程(OTP)存储器芯片和/或通过三维存储器芯片技术来实现存储装置。
[0029] 图1是示出起与存储装置12连接的双接口连接器10作用的装置的示意图。
[0030] 双接口连接器10包括用于与装置(如存储装置12)连接的USB插座36;以及用于工作性地与主机连接的主机接口18。注意,双接口连接器10和存储装置12之间、以及进一步的在双接口连接器10和主机之间的通信可经由任何接口端口连接,使用本领域已知的任何通信信道。
[0031] 在该例子中,例如是USB闪存盘(UFD)的存储装置12包括用于与外部装置(如双接口连接器10或主机18)连接的USB插头32。而且,存储装置12和双接口连接器10之间的连接可以经由USB插头32或经由任何端口连接,包括例如PCI高速(Express)端口连接、火线(FireWire)端口连接等。
[0032] 注意,可选地,存储装置12可以配置有附连于它的机械锁34。机械锁34可被提供为在存储装置12被安装到双接口连接器10时将存储装置12固定到双接口连接器10。
[0033] 图2是根据一个实施例的起用于与存储装置12和与主机14连接的双接口连接器10作用的装置的框图。双接口连接器10包括用于工作性地与存储装置连接的存储装置接口16;以及工作性地与主机14连接的主机接口18。
[0034] 存储装置接口16和主机接口18可利用本领域技术人员已知的任何通信链路,包括存储装置物理地耦接到的USB连接器、光学端口连接、电端口连接、基于串行信令技术的SATA(串行高级技术附连)端口连接、PCI高速端口连接、火线端口连接、和记忆棒端口连接等等。当示例实施例的双接口连接器10在传统的有线或无线通信链路上与存储装置通信时,存储装置接口可以是有线或无线端口。
[0035] 存储装置12还可包括可连接到存储装置接口16及主机接口18的控制器20。控制器20通过控制经由主机接口18进出双接口连接器10的数据传输,而控制存储装置12和主机14之间的通信链路。
[0036] 主机14可工作为经由主机14上的物理
驱动器28开通与存储装置12之间的新会话。使用双接口连接器10的控制器20在主机和存储装置之间建立、使能和终止会话。因此,在存在工作性地连接到存储装置和主机的双接口连接器10的情况下,主机不能直接与存储装置通信。双接口连接器10即使在没有存储装置的情况下(即,未连接到双接口连接器10),也可维护存储装置和主机之间进行的开通会话(当前激活的会话)。
[0037] 在本
说明书的上下文中,“会话”(或“开通会话”)在双接口连接器10和存储装置12均工作性地连接到主机时开始,并且会话在两者均从主机断开时结束。换言之,仅仅从双接口连接器10(以及从主机14)移除存储装置12不结束会话。
[0038] 不同于使用通过维护与存储装置的第一会话和与主机的第二分离的会话而在存储装置和主机之间提供通信信道(并且存储装置的移除/断开导致开通会话的终止)的集线器装置,在示例实施例中,双接口连接器10维护存储装置和主机之间的单个会话(即,单个通信信道)。另外,示例实施例的双接口连接器10可以被采用为在存储装置12从主机断开期间和/或之后维护存储装置和主机之间的开通会话。
[0039] 仅仅为了示例,双接口连接器10可在两种不同的工作模式下工作;第一模式用于使能存储装置和主机之间的会话;以及第二模式用于维护存储装置和主机之间的会话(如果这样的会话已经存在)。
[0040] 在第一工作模式下,经由双接口连接器10的控制器20,双接口连接器10允许在存储双接口连接器12和主机14之间的完全通信。当控制器20感测到存储装置12和主机14分别经由存储装置接口16和主机接口18工作性地连接到双接口连接器10时,使能会话。
[0041] 在第二工作模式下,双接口连接器10工作为维护在存储装置12和主机14之间的开通会话(如果存在这样的开通会话)。在存储装置12经由存储装置接口16从双接口连接器10断开之后,双接口连接器10转变为在第二工作模式下工作。为了维护开通会话,双接口连接器10的控制器20不终止当前使用主机的资源并且/或者在主机上运行的现有应用的工作,由此保持会话存活。
[0042] 换言之,双接口连接器10的控制器20即使在存储装置不再接合(即,不连接到双接口连接器10)时,也能维护存储装置和主机之间的开通会话(当前激活的会话)。作为维护会话开通的结果,对于短的工作停顿,用户仅仅需要从双接口连接器10拔掉存储装置而无需注销(log off)。在该示例场景中,双接口连接器10的控制器20检测存储装置12的断开,并维护与存储装置12的开通会话,直到用户重新将它连接到双接口连接器10(或直到双接口连接器10从主机14拆掉/拔掉)。
[0043] 注意,在本公开的上下文中,“工作连接”可以是物理和工作连接(例如,将存储装置插入存储装置接口)或者它可以仅仅是工作连接(例如,开启电源)。因此,工作移除可以是物理和工作移除/断开(例如,从存储装置接口取出存储装置)或者仅仅是工作移除/断开(例如,关闭电源)。
[0044] 在一个实现方式中,双接口连接器10通过在枚举过程期间修改在存储装置12和主机14之间发送的信号,而向主机14上驻留的会话控制应用22通知存储装置的连接。为此,双接口连接器10可这样使用描述符来检测存储装置的连接,见图4。
[0045] 枚举是确定什么装置刚刚被连接到总线以及该装置需要什么参数(如端点的数目和类型、产品类别等)的过程。可连接到总线的主机然后将向该装置分配地址并使能配置,允许该装置在总线上传输数据。
[0046] 按照USB 2.0规范9.1.2节,由存储装置创建的描述符包括指示特定存储装置的标识和类型(特性)的固定信息。描述符是响应于相应的主机请求,如Get Descriptor(获取描述符)请求(请求代码0x06),而从存储装置向主机提供的信息。
[0047] 在枚举过程期间,即,在与存储装置连接的主机检测期间,由会话控制应用22检测修改后的描述符。会话控制应用22被配置为:通过在存储装置12连接到主机14(经由双接口连接器10)时对主机14的用户接口进行解锁而控制对在存储装置12和主机14之间进行的会话的访问;在存储装置12从主机14(以及从双接口连接器10)断连(工作移除/断开)之后锁定用户接口;以及在存储装置再一次经由双接口重新连接到主机14的情况下对该用户接口进行解锁。在本公开的上下文中,“锁定”操作防止使用存储装置的用户与连接到双接口连接器10的主机进行交互。因此,“解锁”操作逆转该锁定工作。
[0048] 按照锁定
工作台(workstation)显示并保护它不被未授权使用直到用户在
键盘上输入其口令的Linux的工作台锁定命令(xlock),可对于示例实施例的双接口连接器10连接来实现用于用户接口的(即,与主机一起的工作台的)锁定和解锁的完整过程。当该工作台锁定命令在主机上运行时,所有新的
服务器连接被拒绝。如果按下键或
鼠标键,则提示用户输入在开始锁定用户接口之前在该主机上工作的用户的口令。如果键入正确的口令,则屏幕解锁并且工作台恢复。
[0049] 注意,还是按照Linux的该工作台锁定命令,在与存储装置之间的工作停顿期间,由此维护信息安全性和/或隐私。
[0050] 双接口连接器10还可工作为使用专用感测代码,向主机14上驻留的会话控制应用22通知存储装置的断开,见图5。
[0051] 在本公开的上下文中,“专用感测代码”包括描述错误或意外状况的数据,以向主机指示缺少可连接存储装置。响应于由主机发起的每个RequestSense(请求感测)命令,双接口连接器10经由专用感测代码将该数据传输给主机,作为CHECK CONDITION(检查状况)状态或作为参数数据。按照涉及Information Technology-SCSI Primary Commands(信息技术-SCSI主要命令)的T10 SPC-2标准,RequestSense命令可以由应用客户端用来获得错误代码信息,包括正执行的先前命令的状态。
[0052] 会话控制应用22包括会话控制管理器26和会话控制驱动器24。起会话控制管理器26的代理作用的会话控制驱动器24可工作为检测双接口连接器10从主机14的连接/断开(通过检测流进和流出主机14的信号中的描述符)并相应地通知会话控制管理器26。
[0053] 与会话控制驱动器24通信的会话控制管理器26接收从会话控制驱动器24接收的相应信号,并按照上述类似的方式锁定/解锁主机14的用户接口。
[0054] 会话控制应用22可以被启动到主机的
操作系统上,或预先安装到主机上。例如,会话控制应用22可从网络、经由安装CD、Windows更新机制而下载到主机14上和/或通过使用双接口连接器10启动驻留在存储装置12上的应用而下载到主机上。
[0055] 当主机14支持踪迹移除应用时,这里会话控制管理器26还被实现为在双接口连接器10与存储装置12连接时
跟踪(即检测和记录)主机14的非易失性存储器中存储的数据中发生的变化;以及随后在双接口连接器10不再连接到主机14之后从主机14的非易失性存储器移除所跟踪的变化的证据。在授予Bryant Rich等的美国
专利号7,296,144中阐述了这样的可工作为跟踪变化和移除证据的踪迹移除应用,其全文通过引用合并于此。
[0056] 注意,示例实施例的主机可以是预先配置有上文所述的各种功能的专用主机装置,或者可以是已经被配置为包括该功能的主机装置。
[0057] 图3A是示出在第一工作模式下与存储装置12和与主机14连接的双接口连接器10的示意图。如上所述,在第一工作模式(双接口连接器10工作性地连接到存储装置12并且进一步安装到主机14)下,双接口连接器10允许存储双接口连接器12和主机14之间的完全通信。
[0058] 图3B是示出在第二工作模式下与主机14连接的双接口连接器10的示意图。同样如上所述,在第二工作模式(双接口连接器10从存储装置12断开但仍安装到主机14)下,双接口连接器10维护存储装置12和主机14之间的开通会话(如果存在这样的开通会话)。
[0059] 图4是示出根据一个实施例的在枚举过程期间在存储装置和主机之间流动的信号的示意图40。
[0060] 如上所述,当存储装置12经由双接口连接器10连接到主机14时,双接口连接器10通过使用描述符修改在枚举过程期间在存储装置12和主机14之间发送的信号,而向主机14上驻留的会话控制应用22通知存储装置的连接。
[0061] 双接口连接器10从主机14接收Get Descriptor请求(经由
控制信号42),并将该请求转发给存储装置12(经由控制信号44)。然后存储装置12通过(经由数据信号46)发送串描述符,如定义存储装置的产品ID的已知预定值,来响应双接口连接器10。在该例子中,存储装置12的产品ID是“Cruzer”。第一装置的产品ID指示描述符之一中定义第一装置所连接到的第二装置(产品)的配置的字段。
[0062] 作为该过程的一部分,双接口连接器10通过在串描述符结尾处添加预定值(例如,不可打印的字符)而修改它从存储装置12接收的串描述符;并且将修改后的描述符返回给主机(经由数据信号48)。在该例子中,双接口连接器10将串描述符修改为“Cruzer\xFDEF\x0032\xFFFF”。由双接口连接器10对该串描述符进行的修改(例如,由“\xFDEF and\FFFF”定义的唯一码字符序列)被会话控制驱动器自动移除,从而主机上的用户应用不接收这些修改。
[0063] 然后,如上所述,修改后的描述符(由主机14上驻留的会话控制应用22检测的)向会话控制应用22指示存储装置12现在连接到主机14。
[0064] 图5是示出根据另一实施例的在双接口连接器10和主机14之间流动的信号的示意图50。
[0065] 如上所述,双接口连接器10使用按照例如CHECK CONDITION状态信号的形式的专用感测代码,向主机14上驻留的会话控制应用22通知存储装置12何时从它断开。
[0066] 双接口连接器10从主机14接收主机请求(经由控制信号52),并通过发送CHECK CONDITION状态而作出响应(经由控制信号54)。CHECK CONDITION状态向主机14上驻留的会话控制应用22指示存储装置12何时从双接口连接器10断开。
[0067] 然后,响应于来自主机14的RequestSense命令(从主机14经由控制信号56发送),双接口连接器10向主机14转发专用感测代码(经由控制信号58)。
[0068] 图6A示出了在例如枚举期间响应于诸如Get Descriptor请求的主机请求而从图2的存储装置12发送的命令(例如,串描述符)的数据结构60。
[0069] Get Descriptor命令是串描述符类型。串描述符提供人类可读信息,并且是可选的。如果不使用它们,则必须将描述符的任何串索引字段设置为零,表示没有可用的串描述符。
[0070] 遵循产生示例的所请求命令的标准流,数据结构60由以下示例格式构成:第一字段
指定以字节为单位的命令的长度;第二字段指示命令类型;以及第三字段指示数据比特。
[0071] 对于上文提供的例子,以字节为单位的命令长度(字段1)被设置为例如125字节;命令类型(字段2)是Get Descriptor命令;以及数据字节包括串描述符“Cruzer”。
[0072] 图6B示出了在例如枚举期间响应于诸如Get Descriptor请求的主机请求而从存储装置12发送并由双接口连接器10修改的命令(例如,串描述符)的数据结构62。
[0073] 同样,遵循产生示例的所请求命令的标准流,第一字段指定以字节为单位的命令的长度为125字节;以及第二字段指示命令类型为Get Descriptor命令。在该例子中,第三字段指示数据比特为修改后的串描述符“Cruzer\xFDEF\x0032\xFFFF”。
[0074] 图7是根据一个实施例的将存储装置与主机连接的方法70的流程图。这里描绘的方法可以由在存储装置和主机之间穿梭信号时起网关作用的示例实施例的双接口连接器10来执行。在双接口连接器10包括控制
电路块并且控制器是控制电路块的一部分的情况下,以下步骤可由控制电路块执行。
[0075] 当双接口连接器10检测到与主机(如主机14)之间的工作连接和与存储装置(如存储装置12)之间的工作连接(S71)时,双接口连接器10可选地将会话控制应用22从存储装置12下载到主机14上(S72)。然后,在S73,双接口连接器10起与主机14上驻留的会话控制应用22通信的网关作用。如上所述,会话控制应用22被配置为在存储装置12从主机14断开之后锁定主机14的用户接口,并且在存储装置12重新连接到主机14(利用双接口连接器10)之后对用户接口解锁。
[0076] 在该例子中,存储装置12在连接到主机14时,使用双接口连接器10的资源将会话控制应用22启动到主机14上。然而,同样如上所述,可选地,会话控制应用22可以预先安装在主机14上和/或从非双接口连接器10的任何其他源下载到主机14上。
[0077] 接着,在S74,双接口连接器10在第一工作模式下工作,使得主机14能够与存储装置12开通新会话。
[0078] 可通过用户将其USB闪存盘连接到示例实施例的双接口连接器10,然后将双接口连接器10(包括USB闪存盘)连接到主机14,或者通过将双接口连接器10连接到主机,然后仅仅将双接口连接器10(现在连接到主机)连接到其USB闪存盘,来提示检测。换言之,可在将存储装置12连接到主机14之前,在将存储装置12连接到主机14之后,或者在将存储装置12连接到主机14的同时,由双接口连接器10检测与主机的工作连接。注意,无需对双接口连接器10加电(无论在连接到主机14之前或在连接到主机14之后)。
[0079] 双接口连接器10可通过分别经由主机接口和存储装置接口从主机14和存储装置12接收信号,而检测与主机14和存储装置12的工作连接。这样的接口可由控制电路块使能,该控制电路块将可连接的主机和存储装置连接到双接口连接器10内的控制器。再次,工作连接可以是物理和工作连接(例如,将存储装置插入存储装置接口中),或者它可以仅仅是工作连接。
[0080] 在S75,双接口连接器10确定存储装置12从双接口连接器10断开。
[0081] 在S76,当检测到存储装置12从双接口连接器10工作断开(例如,在用户从双接口连接器10断开/拔下/移除他的USB闪存盘时),双接口连接器10向主机14上驻留的会话控制应用22发出信号,以锁定主机14的用户接口。在此步骤(S46),双接口连接器10可在第二工作模式下工作。如上所述,锁定工作防止用户与主机14交互。
[0082] 在S77,双接口连接器10确定存储装置12重新连接到它。进行步骤S77,直到双接口连接器10检测到与存储装置之间的这样的重新连接,或者直到双接口连接器10从主机拔出(在此情况下终止会话并且主机注销用户)。
[0083] 在存储装置12确实被重新连接的情况下,则双接口连接器10向会话控制应用22发出信号,以对主机14的用户接口解锁(S78)。该解锁过程逆转在步骤S76执行的锁定工作,并且用户可继续使用与主机14连接的存储装置12。
[0084] 图8是根据一个实施例、通过驻留在主机14上的用于控制访问存储装置(如存储装置12)和主机14之间进行的会话的会话控制应用22来使用示例实施例的双接口连接器10的方法80的流程图。这里描述的方法由会话控制应用22的会话控制驱动器24执行。
再次,会话控制应用22典型地包括会话控制驱动器24和与其连接的会话控制管理器26。
[0085] 在S81,当主机14与存储装置12(经由双接口连接器10)建立通信时,会话控制驱动器24从存储装置12接收描述符。响应于主机请求,经由双接口连接器10的控制器20,而从存储装置12发送描述符。
[0086] 在S82,会话控制驱动器24确定存储装置12是直接连接到主机14还是经由双接口连接器10连接到主机14。会话控制驱动器24可通过检查所接收的描述符是修改后的描述符(即,先前由于存储装置12的连接而由双接口连接器10修改)还是从存储装置(通过双接口连接器10)原样发送到主机14的未修改描述符,而确定这一点。
[0087] 如果描述符未被修改(即,存储装置12没有连接到双接口连接器10),则方法结束。然而,如果描述符是修改后的描述符(即,存储装置12连接到双接口连接器10),则会话控制驱动器24向会话控制管理器26通知该连接。
[0088] 接着,在S84,会话控制驱动器24接收断开信号,作为特定装置的断开的指示。在示例实施例中,由双接口连接器10响应于主机请求,以感测代码的形式提供断开信号。
[0089] 接着,在S85,会话控制驱动器24确定双接口连接器10现在是否从主机14(与存储装置自身一起)断开/移除,或者双接口连接器10是否仍然连接到主机14但没有存储装置12。会话控制驱动器24可基于从双接口连接器10(或者从工作性地连接到双接口连接器10的集线器)发送到主机14的总线重置信号,而确定这样的断开。
[0090] 如果会话控制驱动器24接收到表示完全断开状态(即双接口连接器10现在与存储装置12一起从主机14断开)的中断,则会话控制驱动器24向会话控制管理器26通知双接口连接器10和存储装置12从主机14断开(S86),并且方法结束。
[0091] 然而,如果会话控制驱动器24响应于来自主机14的RequestSense命令而接收到表示部分断开状态(即,双接口连接器10保持连接到主机14但没有存储装置12)的专用感测代码,则会话控制驱动器24相应地通知会话控制管理器26(S87)。在此阶段,会话控制管理器26可工作为锁定主机14的用户接口。
[0092] 接着,在S88,会话控制驱动器24响应于相应的主机请求而继续监视发送到主机14的感测代码,直到检测到存储装置12与双接口连接器10的重新连接的指示(或者直到检测到双接口连接器10的断开)。可由会话控制驱动器24通过非专用感测代码的接收(或者通过接收重新连接的任何其他指示,例如,通过除CHECK CONDITION状态之外的主机请求响应的接收)而检测这样的重新连接。
[0093] 在此阶段,如果所接收的感测代码是专用感测代码(即,存储装置仍然从主机断开),则方法返回步骤S88并继续监视被发送到主机14的感测代码。而且,由双接口连接器10响应于主机请求而提供专用感测代码,以向主机14指示缺少可连接的存储装置。
[0094] 然而,如果在任何时间点上,特定感测代码不是专用感测代码(即,存储装置12现在重新连接到主机14),则会话控制驱动器24相应地通知会话控制管理器26(S89),并且方法返回步骤S84。再次,响应于接收到存储装置12的重新连接的指示,会话控制管理器26可工作为对主机14的用户接口解锁。
[0095] 如本领域技术人员将理解的,当前装置采用多种不同体系,并且预期新体系将被继续开发。通常,可结合多种不同类型和/或数目的存储卡,而采用示例实施例,只要所使用的卡适配器具有合适的接口连接和合适的处理功率。
[0096] 这里描述了其各种例子的实施例可被实现为
硬件、
软件、
固件或其任何组合。典型的硬件和软件的组合可以是具有
计算机程序的通用
计算机系统,当被加载和执行时,该计算机程序控制计算机系统使得它执行这里描述的方法。上述概念也可嵌入计算机程序产品中,其包括使得能够实现这里描述的实施例的所有特征,并且在被加载到计算机系统中时能够执行这些实施例。本上下文中的计算机程序或应用意味着意图使得具有信息处理能力的系统直接或在以下之一或两者之后执行特定功能的一组指令的代码或符号的任何语言的任何表达:a)转换为另一语言、代码或符号;b)以不同的材料形式再现。
[0097] 已经描述了系统和方法的各种实施例,将理解该描述不意味着限制,因为进一步的修改现在将向本领域技术人员暗示其自身,并且意图
覆盖落入所附权利要求范围内的这样的修改。