專利名稱:用于存儲裝置和主機的連接的裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及存儲裝置和主機之間的連接。更具體地,本發(fā)明涉及用于向主 機裝置和諸如USB閃存盤的存儲裝置提供接口并且用于在存儲裝置和主機之間進(jìn)行連接 的裝置。
背景技術(shù):
借助公共計算機來使用諸如USB閃存盤(UFD)的便攜式存儲介質(zhì)對于在遠(yuǎn)離辦公 室時使用計算機進(jìn)行工作或在遠(yuǎn)離家時使用計算機進(jìn)行個人事務(wù)的用戶而言是非常方便 的。例如,用戶可能希望使用他/她的USB閃存盤來登錄到公共計算機,如在公共場所(例 如,機場航站樓或商店)處的服務(wù)亭(kiosk)中提供的公共計算機。然而,由于其非?;镜男再|(zhì),該設(shè)置對于維護隱私或信息安全性而言是不利的。 通過使用這樣的公共計算機設(shè)置,未授權(quán)的旁觀者可能危及用戶信息的安全性。例如,用戶 可能從計算機轉(zhuǎn)身離開或走開一會兒,并且在用戶不在場或不注意時,旁觀者可能竊取USB 閃存盤或訪問其存儲的內(nèi)容。這對于可用于公共用途的移動計算或通信裝置而言也是一樣 的。因此,存在對改進(jìn)公共計算機安裝環(huán)境的信息安全性的需要。
發(fā)明內(nèi)容
鑒于前述觀點和當(dāng)前的需要,將會有利的是,具有如下裝置,其起用于向存儲裝置 提供接口并向主機提供接口、而且用于在存儲裝置從主機斷開期間和/或之后維護存儲裝 置和主機之間的開通會話的雙接口連接器的作用。這里討論了各種例子的實施例包括用于向存儲裝置提供接口并向主機提供接口、 而且用于在存儲裝置和主機之間進(jìn)行連接的裝置,該裝置具有存儲裝置接口,被配置為工 作性地與存儲裝置(如USB閃存盤)連接;主機接口,被配置為工作性地與主機連接;以及 控制器,耦接到存儲裝置接口和主機接口,并且至少能以兩個不同的工作模式進(jìn)行工作。在 第一工作模式下,控制器工作為在存儲裝置工作性地連接到存儲裝置接口并且主機工作性 地連接到主機接口時使得主機能夠在存儲裝置和主機之間開通會話。而在第二工作模式 下,控制器工作為在存儲裝置和主機之間存在開通會話的情況下,即使在存儲裝置從存儲 裝置接口斷開之后也維護存儲裝置和主機之間的開通會話。存儲裝置可以是具有有線接口的USB閃存盤或具有無線接口的USB閃存盤??刂破骺身憫?yīng)于主機上駐留的會話控制應(yīng)用,以向會話控制應(yīng)用通知存儲裝置與 主機的連接/斷開。該裝置可適用于修改在存儲裝置和主機之間發(fā)送的信號。根據(jù)另一實施例,提供了一種存儲組件,包括存儲裝置;以及按照類似方式配置 為上面所述的雙接口連接器的裝置。根據(jù)再一實施例,提供了一種主機,用于與起雙接口連接器作用的裝置連接,該主 機包括用戶接口 ;裝置接口(例如,USB端口連接),其被配置為與起雙接口連接器作用的 裝置工作性地連接;以及會話控制應(yīng)用。該會話控制應(yīng)用工作為(a)當(dāng)存儲裝置經(jīng)由雙接口連接器連接到主機時對用戶接口解鎖,(b)在存儲裝置從雙接口連接器斷開之后鎖定用 戶接口,以及(C)如果存儲裝置經(jīng)由雙接口連接器重新連接到主機,則對用戶接口解鎖。所述實施例的其他特征和優(yōu)點也是可能的,它們根據(jù)以下附圖和說明將變得更清楚。
為了更好地理解各種實施例,參照附圖,其中相同的附圖標(biāo)記始終指示相應(yīng)部分 或元件,并且附圖中圖1是示出與存儲裝置連接的雙接口連接器的示意圖;圖2是根據(jù)一個實施例的用于與存儲裝置和與主機連接的雙接口連接器的框圖;圖3A是示出第一工作模式下與存儲裝置和與主機連接的雙接口連接器的示意 圖;圖;3B是在第二工作模式下與主機連接的雙接口連接器的示意圖;圖4是示出根據(jù)一個實施例的在枚舉過程期間在存儲裝置和主機之間流動的信 號的示意圖;圖5是示出根據(jù)另一實施例的在雙接口連接器和主機之間流動的信號的示意圖;圖6A示出了響應(yīng)于主機請求而從圖2的存儲裝置發(fā)送的命令的數(shù)據(jù)結(jié)構(gòu);圖6B示出了響應(yīng)于主機請求而從圖2的存儲裝置發(fā)送并且由雙接口連接器進(jìn)一 步修改的命令的數(shù)據(jù)結(jié)構(gòu)。圖7是根據(jù)一個實施例的將圖2的存儲裝置與主機相連的方法的流程圖;以及圖8是根據(jù)一個實施例的通過駐留在主機上的用于控制對存儲裝置和主機之間 進(jìn)行的會話的訪問的會話控制應(yīng)用來使用圖2的存儲裝置的方法的流程圖。
具體實施例方式下面更詳細(xì)地進(jìn)一步描述實施例及其各個方面。該描述不是要限制權(quán)利要求的范 圍,而是要提供這樣的實施例的例子。因而,以下討論給出了示例實施例,其包括起用于在 存儲裝置和主機之間進(jìn)行連接的雙接口連接器作用的裝置。這里討論的主機可以是與可移除數(shù)據(jù)存儲裝置一起工作的個人計算機、筆記本計 算機、諸如PDA(個人數(shù)字助理)或移動手持機的手持計算裝置、蜂窩電話、照相機、音頻再 現(xiàn)裝置或任何其他電子裝置。主機可具有各種個人信息管理應(yīng)用,如地址本、日程安排表 (daily organizer)和電子記事本等等。與這樣的存儲裝置一起使用的存儲裝置可以是本領(lǐng)域中所知的任何存儲裝置,其 可工作為直接連接到主機且直接與主機通信。這樣的存儲裝置可具有符合存儲卡格式的配 置,包括安全數(shù)字存儲卡格式和多媒體卡格式。存儲裝置可包括具有以易失性或非易失性 方式按照二進(jìn)制形式存儲數(shù)據(jù)的能力的存儲器單元的陣列(如閃存(FLASH))。注意,具有 閃存型存儲器單元不意味著限制,因為也可采用使用任何合適類型的存儲器單元的其他實 施例。這里討論的存儲裝置可具有符合USB閃存盤(UFD)的配置,包括無線UFD(即,具 有無線接口的USB閃存盤),例如見可通過kagate 獲得的kagate D. Α. V. Ε. (數(shù)字音頻視頻體驗)平臺。存儲裝置還可具有符合任何存儲器(例如,閃存)、記憶棒和/或存儲卡格式的配 置,如用于存儲諸如音頻、視頻或畫面文件的數(shù)字媒體的安全數(shù)字(SD)存儲卡格式。存儲 裝置還可具有符合多媒體卡(MMC)存儲卡格式、緊致閃存(CF)存儲卡格式、閃存PC(例如, ATA閃存)存儲卡格式、智能媒體存儲卡格式、USB閃存盤或任何其他工業(yè)標(biāo)準(zhǔn)規(guī)范的配置。 這些存儲卡的一個供應(yīng)者是本申請的受讓人SanDisk公司。存儲裝置還可具有符合高容量SIM(HCQ存儲卡格式的配置。HCS存儲卡格式是針 對增長的多媒體手持機的需求的安全、成本效率高且高容量的存儲解決方案,典型地被配 置為使用主機的網(wǎng)絡(luò)能力和/或其他資源,由此使得能夠進(jìn)行網(wǎng)絡(luò)通信。存儲裝置還可具有即使在移除電力之后也能維持其存儲器或存儲狀態(tài)的非易失 性存儲器。具有非易失性存儲器的可移除大容量存儲裝置可以被用作嵌入式大容量存儲裝 置(如硬盤或固態(tài)盤)的替代或補充。非易失性存儲器可包括可擦除可編程存儲器技術(shù),包 括但不限于電可擦除可編程只讀存儲器(EEPROM)、EPROM、MRAM、FRAM鐵電和磁性存儲器。 注意,可通過任何類型的存儲器實現(xiàn)存儲裝置,不管是快閃存儲器還是其他類型的存儲器。 還可通過一次可編程(OTP)存儲器芯片和/或通過三維存儲器芯片技術(shù)來實現(xiàn)存儲裝置。圖1是示出起與存儲裝置12連接的雙接口連接器10作用的裝置的示意圖。雙接口連接器10包括用于與裝置(如存儲裝置12)連接的USB插座36;以及用 于工作性地與主機連接的主機接口 18。注意,雙接口連接器10和存儲裝置12之間、以及進(jìn) 一步的在雙接口連接器10和主機之間的通信可經(jīng)由任何接口端口連接,使用本領(lǐng)域已知 的任何通信信道。在該例子中,例如是USB閃存盤(UFD)的存儲裝置12包括用于與外部裝置(如雙 接口連接器10或主機18)連接的USB插頭32。而且,存儲裝置12和雙接口連接器10之 間的連接可以經(jīng)由USB插頭32或經(jīng)由任何端口連接,包括例如PCI高速(Express)端口連 接、火線(FireWire)端口連接等。注意,可選地,存儲裝置12可以配置有附連于它的機械鎖34。機械鎖34可被提供 為在存儲裝置12被安裝到雙接口連接器10時將存儲裝置12固定到雙接口連接器10。圖2是根據(jù)一個實施例的起用于與存儲裝置12和與主機14連接的雙接口連接器 10作用的裝置的框圖。雙接口連接器10包括用于工作性地與存儲裝置連接的存儲裝置接 口 16 ;以及工作性地與主機14連接的主機接口 18。存儲裝置接口 16和主機接口 18可利用本領(lǐng)域技術(shù)人員已知的任何通信鏈路,包 括存儲裝置物理地耦接到的USB連接器、光學(xué)端口連接、電端口連接、基于串行信令技術(shù)的 SATA(串行高級技術(shù)附連)端口連接、PCI高速端口連接、火線端口連接、和記憶棒端口連接 等等。當(dāng)示例實施例的雙接口連接器10在傳統(tǒng)的有線或無線通信鏈路上與存儲裝置通信 時,存儲裝置接口可以是有線或無線端口。存儲裝置12還可包括可連接到存儲裝置接口 16及主機接口 18的控制器20???制器20通過控制經(jīng)由主機接口 18進(jìn)出雙接口連接器10的數(shù)據(jù)傳輸,而控制存儲裝置12 和主機14之間的通信鏈路。主機14可工作為經(jīng)由主機14上的物理驅(qū)動器28開通與存儲裝置12之間的新會 話。使用雙接口連接器10的控制器20在主機和存儲裝置之間建立、使能和終止會話。因此,在存在工作性地連接到存儲裝置和主機的雙接口連接器10的情況下,主機不能直接與 存儲裝置通信。雙接口連接器10即使在沒有存儲裝置的情況下(即,未連接到雙接口連接 器10),也可維護 存儲裝置和主機之間進(jìn)行的開通會話(當(dāng)前激活的會話)。在本說明書的上下文中,“會話”(或“開通會話”)在雙接口連接器10和存儲裝置 12均工作性地連接到主機時開始,并且會話在兩者均從主機斷開時結(jié)束。換言之,僅僅從雙 接口連接器10 (以及從主機14)移除存儲裝置12不結(jié)束會話。不同于使用通過維護與存儲裝置的第一會話和與主機的第二分離的會話而在存 儲裝置和主機之間提供通信信道(并且存儲裝置的移除/斷開導(dǎo)致開通會話的終止)的集 線器裝置,在示例實施例中,雙接口連接器10維護存儲裝置和主機之間的單個會話(即,單 個通信信道)。另外,示例實施例的雙接口連接器10可以被采用為在存儲裝置12從主機斷 開期間和/或之后維護存儲裝置和主機之間的開通會話。僅僅為了示例,雙接口連接器10可在兩種不同的工作模式下工作;第一模式用于 使能存儲裝置和主機之間的會話;以及第二模式用于維護存儲裝置和主機之間的會話(如 果這樣的會話已經(jīng)存在)。在第一工作模式下,經(jīng)由雙接口連接器10的控制器20,雙接口連接器10允許在存 儲雙接口連接器12和主機14之間的完全通信。當(dāng)控制器20感測到存儲裝置12和主機14 分別經(jīng)由存儲裝置接口 16和主機接口 18工作性地連接到雙接口連接器10時,使能會話。在第二工作模式下,雙接口連接器10工作為維護在存儲裝置12和主機14之間的 開通會話(如果存在這樣的開通會話)。在存儲裝置12經(jīng)由存儲裝置接口 16從雙接口連 接器10斷開之后,雙接口連接器10轉(zhuǎn)變?yōu)樵诘诙ぷ髂J较鹿ぷ?。為了維護開通會話,雙 接口連接器10的控制器20不終止當(dāng)前使用主機的資源并且/或者在主機上運行的現(xiàn)有應(yīng) 用的工作,由此保持會話存活。換言之,雙接口連接器10的控制器20即使在存儲裝置不再接合(即,不連接到雙 接口連接器10)時,也能維護存儲裝置和主機之間的開通會話(當(dāng)前激活的會話)。作為維 護會話開通的結(jié)果,對于短的工作停頓,用戶僅僅需要從雙接口連接器10拔掉存儲裝置而 無需注銷(log off)。在該示例場景中,雙接口連接器10的控制器20檢測存儲裝置12的 斷開,并維護與存儲裝置12的開通會話,直到用戶重新將它連接到雙接口連接器10(或直 到雙接口連接器10從主機14拆掉/拔掉)。注意,在本公開的上下文中,“工作連接”可以是物理和工作連接(例如,將存儲裝 置插入存儲裝置接口)或者它可以僅僅是工作連接(例如,開啟電源)。因此,工作移除可 以是物理和工作移除/斷開(例如,從存儲裝置接口取出存儲裝置)或者僅僅是工作移除 /斷開(例如,關(guān)閉電源)。在一個實現(xiàn)方式中,雙接口連接器10通過在枚舉過程期間修改在存儲裝置12和 主機14之間發(fā)送的信號,而向主機14上駐留的會話控制應(yīng)用22通知存儲裝置的連接。為 此,雙接口連接器10可這樣使用描述符來檢測存儲裝置的連接,見圖4。枚舉是確定什么裝置剛剛被連接到總線以及該裝置需要什么參數(shù)(如端點的數(shù) 目和類型、產(chǎn)品類別等)的過程??蛇B接到總線的主機然后將向該裝置分配地址并使能配 置,允許該裝置在總線上傳輸數(shù)據(jù)。按照USB 2. 0規(guī)范9. 1. 2節(jié),由存儲裝置創(chuàng)建的描述符包括指示特定存儲裝置的標(biāo)識和類型(特性)的固定信息。描述符是響應(yīng)于相應(yīng)的主機請求,如Get Descriptor (獲 取描述符)請求(請求代碼0x06),而從存儲裝置向主機提供的信息。在枚舉過程期間,即,在與存儲裝置連接的主機檢測期間,由會話控制應(yīng)用22檢 測修改后的描述符。會話控制應(yīng)用22被配置為通過在存儲裝置12連接到主機14(經(jīng)由 雙接口連接器10)時對主機14的用戶接口進(jìn)行解鎖而控制對在存儲裝置12和主機14之 間進(jìn)行的會話的訪問;在存儲裝置12從主機14(以及從雙接口連接器10)斷連(工作移除 /斷開)之后鎖定用戶接口 ;以及在存儲裝置再一次經(jīng)由雙接口重新連接到主機14的情況 下對該用戶接口進(jìn)行解鎖。在本公開的上下文中,“鎖定”操作防止使用存儲裝置的用戶與 連接到雙接口連接器10的主機進(jìn)行交互。因此,“解鎖”操作逆轉(zhuǎn)該鎖定工作。按照鎖定工作臺(workstation)顯示并保護它不被未授權(quán)使用直到用戶在鍵盤 上輸入其口令的Linux的工作臺鎖定命令(xlock),可對于示例實施例的雙接口連接器10 連接來實現(xiàn)用于用戶接口的(即,與主機一起的工作臺的)鎖定和解鎖的完整過程。當(dāng)該工 作臺鎖定命令在主機上運行時,所有新的服務(wù)器連接被拒絕。如果按下鍵或鼠標(biāo)鍵,則提示 用戶輸入在開始鎖定用 戶接口之前在該主機上工作的用戶的口令。如果鍵入正確的口令, 則屏幕解鎖并且工作臺恢復(fù)。注意,還是按照Linux的該工作臺鎖定命令,在與存儲裝置之間的工作停頓期間, 由此維護信息安全性和/或隱私。雙接口連接器10還可工作為使用專用感測代碼,向主機14上駐留的會話控制應(yīng) 用22通知存儲裝置的斷開,見圖5。在本公開的上下文中,“專用感測代碼”包括描述錯誤或意外狀況的數(shù)據(jù),以向主 機指示缺少可連接存儲裝置。響應(yīng)于由主機發(fā)起的每個RequestSense (請求感測)命令,雙 接口連接器10經(jīng)由專用感測代碼將該數(shù)據(jù)傳輸給主機,作為CHECK CONDITION(檢查狀況) 狀態(tài)或作為參數(shù)數(shù)據(jù)。按照涉及Information Technology-SCSI Primary Commands (信息 技術(shù)-SCSI主要命令)的TlO SPC-2標(biāo)準(zhǔn),RequestSense命令可以由應(yīng)用客戶端用來獲得 錯誤代碼信息,包括正執(zhí)行的先前命令的狀態(tài)。會話控制應(yīng)用22包括會話控制管理器26和會話控制驅(qū)動器24。起會話控制管理 器26的代理作用的會話控制驅(qū)動器24可工作為檢測雙接口連接器10從主機14的連接/ 斷開(通過檢測流進(jìn)和流出主機14的信號中的描述符)并相應(yīng)地通知會話控制管理器26。與會話控制驅(qū)動器24通信的會話控制管理器26接收從會話控制驅(qū)動器24接收 的相應(yīng)信號,并按照上述類似的方式鎖定/解鎖主機14的用戶接口。會話控制應(yīng)用22可以被啟動到主機的操作系統(tǒng)上,或預(yù)先安裝到主機上。例如, 會話控制應(yīng)用22可從網(wǎng)絡(luò)、經(jīng)由安裝⑶、Windows更新機制而下載到主機14上和/或通過 使用雙接口連接器10啟動駐留在存儲裝置12上的應(yīng)用而下載到主機上。當(dāng)主機14支持蹤跡移除應(yīng)用時,這里會話控制管理器26還被實現(xiàn)為在雙接口連 接器10與存儲裝置12連接時跟蹤(即檢測和記錄)主機14的非易失性存儲器中存儲的 數(shù)據(jù)中發(fā)生的變化;以及隨后在雙接口連接器10不再連接到主機14之后從主機14的非易 失性存儲器移除所跟蹤的變化的證據(jù)。在授予Bryant Rich等的美國專利號7,296,144中 闡述了這樣的可工作為跟蹤變化和移除證據(jù)的蹤跡移除應(yīng)用,其全文通過引用合并于此。注意,示例實施例的主機可以是預(yù)先配置有上文所述的各種功能的專用主機裝置,或者可以是已經(jīng)被配置為包括該功能的主機裝置。圖3A是示出在第一工作模式下與存儲裝置12和與主機14連接的雙接口連接器 10的示意圖。如上所述,在第一工作模式(雙接口連接器10工作性地連接到存儲裝置12 并且進(jìn)一步安裝到主機14)下,雙接口連接器10允許存儲雙接口連接器12和主機14之間 的完全通信。圖3B是示出在第二工作模式下與主機14連接的雙接口連接器10的示意圖。同 樣如上所述,在第二工作模式(雙接口連接器10從存儲裝置12斷開但仍安裝到主機14) 下,雙接口連接器10維護存儲裝置12和主機14之間的開通會話(如果存在這樣的開通會 話)°圖4是示出根據(jù)一個實施例的在枚舉過程期間在存儲裝置和主機之間流動的信 號的示意圖40。如上所述,當(dāng)存儲裝置12經(jīng)由雙接口連接器10連接到主機14時,雙接口連接器 10通過使用描述符修改在枚舉過程期間在存儲裝置12和主機14之間發(fā)送的信號,而向主 機14上駐留的會話控制應(yīng)用22通知存儲裝置的連接。 雙接口連接器10從主機14接收Get Descriptor請求(經(jīng)由控制信號42),并將 該請求轉(zhuǎn)發(fā)給存儲裝置12 (經(jīng)由控制信號44)。然后存儲裝置12通過(經(jīng)由數(shù)據(jù)信號46) 發(fā)送串描述符,如定義存儲裝置的產(chǎn)品ID的已知預(yù)定值,來響應(yīng)雙接口連接器10。在該例 子中,存儲裝置12的產(chǎn)品ID是“Cruzer”。第一裝置的產(chǎn)品ID指示描述符之一中定義第一 裝置所連接到的第二裝置(產(chǎn)品)的配置的字段。作為該過程的一部分,雙接口連接器10通過在串描述符結(jié)尾處添加預(yù)定值(例 如,不可打印的字符)而修改它從存儲裝置12接收的串描述符;并且將修改后的描述符返 回給主機(經(jīng)由數(shù)據(jù)信號48)。在該例子中,雙接口連接器10將串描述符修改為“CruzeiA xFDEF\x0032\xFFFF"o由雙接口連接器10對該串描述符進(jìn)行的修改(例如,由“\xFDEF and\FFFF”定義的唯一碼字符序列)被會話控制驅(qū)動器自動移除,從而主機上的用戶應(yīng)用 不接收這些修改。然后,如上所述,修改后的描述符(由主機14上駐留的會話控制應(yīng)用22檢測的) 向會話控制應(yīng)用22指示存儲裝置12現(xiàn)在連接到主機14。圖5是示出根據(jù)另一實施例的在雙接口連接器10和主機14之間流動的信號的示 意圖50。如上所述,雙接口連接器10使用按照例如CHECK CONDITION狀態(tài)信號的形式的專 用感測代碼,向主機14上駐留的會話控制應(yīng)用22通知存儲裝置12何時從它斷開。雙接口連接器10從主機14接收主機請求(經(jīng)由控制信號52),并通過發(fā)送CHECK CONDITION狀態(tài)而作出響應(yīng)(經(jīng)由控制信號54)。CHECK CONDITION狀態(tài)向主機14上駐留 的會話控制應(yīng)用22指示存儲裝置12何時從雙接口連接器10斷開。然后,響應(yīng)于來自主機14的RequestSense命令(從主機14經(jīng)由控制信號56發(fā) 送),雙接口連接器10向主機14轉(zhuǎn)發(fā)專用感測代碼(經(jīng)由控制信號58)。圖6A示出了在例如枚舉期間響應(yīng)于諸如Get Descriptor請求的主機請求而從圖 2的存儲裝置12發(fā)送的命令(例如,串描述符)的數(shù)據(jù)結(jié)構(gòu)60。Get Descriptor命令是串描述符類型。串描述符提供人類可讀信息,并且是可選的。如果不使用它們,則必須將描述符的任何串索引字段設(shè)置為零,表示沒有可用的串描述 符。遵循 產(chǎn)生示例的所請求命令的標(biāo)準(zhǔn)流,數(shù)據(jù)結(jié)構(gòu)60由以下示例格式構(gòu)成第一 字段指定以字節(jié)為單位的命令的長度;第二字段指示命令類型;以及第三字段指示數(shù)據(jù)比 特。對于上文提供的例子,以字節(jié)為單位的命令長度(字段1)被設(shè)置為例如125字 節(jié);命令類型(字段2)是Get Descriptor命令;以及數(shù)據(jù)字節(jié)包括串描述符“Cruzer”。圖6B示出了在例如枚舉期間響應(yīng)于諸如Get Descriptor請求的主機請求而從存 儲裝置12發(fā)送并由雙接口連接器10修改的命令(例如,串描述符)的數(shù)據(jù)結(jié)構(gòu)62。同樣,遵循產(chǎn)生示例的所請求命令的標(biāo)準(zhǔn)流,第一字段指定以字節(jié)為單位的命令 的長度為125字節(jié);以及第二字段指示命令類型為Get Descriptor命令。在該例子中,第 三字段指示數(shù)據(jù)比特為修改后的串描述符“CruZer\XFDEF\X0032\XFFFF”。圖7是根據(jù)一個實施例的將存儲裝置與主機連接的方法70的流程圖。這里描繪 的方法可以由在存儲裝置和主機之間穿梭信號時起網(wǎng)關(guān)作用的示例實施例的雙接口連接 器10來執(zhí)行。在雙接口連接器10包括控制電路塊并且控制器是控制電路塊的一部分的情 況下,以下步驟可由控制電路塊執(zhí)行。當(dāng)雙接口連接器10檢測到與主機(如主機14)之間的工作連接和與存儲裝置(如 存儲裝置12)之間的工作連接(S71)時,雙接口連接器10可選地將會話控制應(yīng)用22從存 儲裝置12下載到主機14上(S72)。然后,在S73,雙接口連接器10起與主機14上駐留的 會話控制應(yīng)用22通信的網(wǎng)關(guān)作用。如上所述,會話控制應(yīng)用22被配置為在存儲裝置12從 主機14斷開之后鎖定主機14的用戶接口,并且在存儲裝置12重新連接到主機14 (利用雙 接口連接器10)之后對用戶接口解鎖。在該例子中,存儲裝置12在連接到主機14時,使用雙接口連接器10的資源將會 話控制應(yīng)用22啟動到主機14上。然而,同樣如上所述,可選地,會話控制應(yīng)用22可以預(yù)先 安裝在主機14上和/或從非雙接口連接器10的任何其他源下載到主機14上。接著,在S74,雙接口連接器10在第一工作模式下工作,使得主機14能夠與存儲裝 置12開通新會話??赏ㄟ^用戶將其USB閃存盤連接到示例實施例的雙接口連接器10,然后將雙接口 連接器10 (包括USB閃存盤)連接到主機14,或者通過將雙接口連接器10連接到主機,然 后僅僅將雙接口連接器10(現(xiàn)在連接到主機)連接到其USB閃存盤,來提示檢測。換言之, 可在將存儲裝置12連接到主機14之前,在將存儲裝置12連接到主機14之后,或者在將存 儲裝置12連接到主機14的同時,由雙接口連接器10檢測與主機的工作連接。注意,無需 對雙接口連接器10加電(無論在連接到主機14之前或在連接到主機14之后)。雙接口連接器10可通過分別經(jīng)由主機接口和存儲裝置接口從主機14和存儲裝置 12接收信號,而檢測與主機14和存儲裝置12的工作連接。這樣的接口可由控制電路塊使 能,該控制電路塊將可連接的主機和存儲裝置連接到雙接口連接器10內(nèi)的控制器。再次, 工作連接可以是物理和工作連接(例如,將存儲裝置插入存儲裝置接口中),或者它可以僅 僅是工作連接。在S75,雙接口連接器10確定存儲裝置12從雙接口連接器10斷開。
在S76,當(dāng)檢測到存儲裝置12從雙接口連接器10工作斷開(例如,在用戶從雙接 口連接器10斷開/拔下/移除他的USB閃存盤時),雙接口連接器10向主機14上駐留的 會話控制應(yīng)用22發(fā)出信號,以鎖定主機14的用戶接口。在此步驟(S46),雙接口連接器10 可在第二工作模式下工作。如上所述,鎖定工作防止用戶與主機14交互。
在S77,雙接口連接器10確定存儲裝置12重新連接到它。進(jìn)行步驟S77,直到雙 接口連接器10檢測到與存儲裝置之間的這樣的重新連接,或者直到雙接口連接器10從主 機拔出(在此情況下終止會話并且主機注銷用戶)。在存儲裝置12確實被重新連接的情況下,則雙接口連接器10向會話控制應(yīng)用22 發(fā)出信號,以對主機14的用戶接口解鎖(S78)。該解鎖過程逆轉(zhuǎn)在步驟S76執(zhí)行的鎖定工 作,并且用戶可繼續(xù)使用與主機14連接的存儲裝置12。圖8是根據(jù)一個實施例、通過駐留在主機14上的用于控制訪問存儲裝置(如存儲 裝置12)和主機14之間進(jìn)行的會話的會話控制應(yīng)用22來使用示例實施例的雙接口連接器 10的方法80的流程圖。這里描述的方法由會話控制應(yīng)用22的會話控制驅(qū)動器24執(zhí)行。 再次,會話控制應(yīng)用22典型地包括會話控制驅(qū)動器24和與其連接的會話控制管理器26。在S81,當(dāng)主機14與存儲裝置12 (經(jīng)由雙接口連接器10)建立通信時,會話控制驅(qū) 動器24從存儲裝置12接收描述符。響應(yīng)于主機請求,經(jīng)由雙接口連接器10的控制器20, 而從存儲裝置12發(fā)送描述符。在S82,會話控制驅(qū)動器24確定存儲裝置12是直接連接到主機14還是經(jīng)由雙接 口連接器10連接到主機14。會話控制驅(qū)動器24可通過檢查所接收的描述符是修改后的描 述符(即,先前由于存儲裝置12的連接而由雙接口連接器10修改)還是從存儲裝置(通 過雙接口連接器10)原樣發(fā)送到主機14的未修改描述符,而確定這一點。如果描述符未被修改(即,存儲裝置12沒有連接到雙接口連接器10),則方法結(jié) 束。然而,如果描述符是修改后的描述符(即,存儲裝置12連接到雙接口連接器10),則會 話控制驅(qū)動器24向會話控制管理器26通知該連接。接著,在S84,會話控制驅(qū)動器24接收斷開信號,作為特定裝置的斷開的指示。在 示例實施例中,由雙接口連接器10響應(yīng)于主機請求,以感測代碼的形式提供斷開信號。接著,在S85,會話控制驅(qū)動器24確定雙接口連接器10現(xiàn)在是否從主機14(與存 儲裝置自身一起)斷開/移除,或者雙接口連接器10是否仍然連接到主機14但沒有存儲 裝置12。會話控制驅(qū)動器24可基于從雙接口連接器10 (或者從工作性地連接到雙接口連 接器10的集線器)發(fā)送到主機14的總線重置信號,而確定這樣的斷開。如果會話控制驅(qū)動器24接收到表示完全斷開狀態(tài)(即雙接口連接器10現(xiàn)在與存 儲裝置12 —起從主機14斷開)的中斷,則會話控制驅(qū)動器24向會話控制管理器26通知 雙接口連接器10和存儲裝置12從主機14斷開(S86),并且方法結(jié)束。然而,如果會話控制驅(qū)動器24響應(yīng)于來自主機14的RequestSense命令而接收到 表示部分?jǐn)嚅_狀態(tài)(即,雙接口連接器10保持連接到主機14但沒有存儲裝置12)的專用 感測代碼,則會話控制驅(qū)動器24相應(yīng)地通知會話控制管理器26 (S87)。在此階段,會話控制 管理器26可工作為鎖定主機14的用戶接口。接著,在S88,會話控制驅(qū)動器24響應(yīng)于相應(yīng)的主機請求而繼續(xù)監(jiān)視發(fā)送到主機 14的感測代碼,直到檢測到存儲裝置12與雙接口連接器10的重新連接的指示(或者直到檢測到雙接口連接器10的斷開)??捎蓵捒刂乞?qū)動器24通過非專用感測代碼的接收(或 者通過接收重新連接的任何其他指示,例如,通過除CHECK CONDITION狀態(tài)之外的主機請求 響應(yīng)的接收)而檢測這樣的重新連接。
在此階段,如果所接收的感測代碼是專用感測代碼(即,存儲裝置仍然從主機斷 開),則方法返回步驟S88并繼續(xù)監(jiān)視被發(fā)送到主機14的感測代碼。而且,由雙接口連接器 10響應(yīng)于主機請求而提供專用感測代碼,以向主機14指示缺少可連接的存儲裝置。然而,如果在任何時間點上,特定感測代碼不是專用感測代碼(即,存儲裝置12現(xiàn) 在重新連接到主機14),則會話控制驅(qū)動器24相應(yīng)地通知會話控制管理器26 (S89),并且方 法返回步驟S84。再次,響應(yīng)于接收到存儲裝置12的重新連接的指示,會話控制管理器26 可工作為對主機14的用戶接口解鎖。如本領(lǐng)域技術(shù)人員將理解的,當(dāng)前裝置采用多種不同體系,并且預(yù)期新體系將被 繼續(xù)開發(fā)。通常,可結(jié)合多種不同類型和/或數(shù)目的存儲卡,而采用示例實施例,只要所使 用的卡適配器具有合適的接口連接和合適的處理功率。這里描述了其各種例子的實施例可被實現(xiàn)為硬件、軟件、固件或其任何組合。典型 的硬件和軟件的組合可以是具有計算機程序的通用計算機系統(tǒng),當(dāng)被加載和執(zhí)行時,該計 算機程序控制計算機系統(tǒng)使得它執(zhí)行這里描述的方法。上述概念也可嵌入計算機程序產(chǎn)品 中,其包括使得能夠?qū)崿F(xiàn)這里描述的實施例的所有特征,并且在被加載到計算機系統(tǒng)中時 能夠執(zhí)行這些實施例。本上下文中的計算機程序或應(yīng)用意味著意圖使得具有信息處理能力 的系統(tǒng)直接或在以下之一或兩者之后執(zhí)行特定功能的一組指令的代碼或符號的任何語言 的任何表達(dá)a)轉(zhuǎn)換為另一語言、代碼或符號;b)以不同的材料形式再現(xiàn)。已經(jīng)描述了系統(tǒng)和方法的各種實施例,將理解該描述不意味著限制,因為進(jìn)一步 的修改現(xiàn)在將向本領(lǐng)域技術(shù)人員暗示其自身,并且意圖覆蓋落入所附權(quán)利要求范圍內(nèi)的這 樣的修改。
權(quán)利要求
1.一種用于向存儲裝置提供接口并向主機提供接口以及用于在存儲裝置和主機之間 進(jìn)行連接的裝置,所述裝置包括存儲裝置接口,被配置為工作性地與存儲裝置連接;主機接口,被配置為工作性地與主機連接;控制器,耦接到所述存儲裝置接口和所述主機接口,所述控制器至少以兩個不同的工 作模式進(jìn)行工作,其中,在第一工作模式下,所述控制器工作為在存儲裝置工作性地連接到所述存儲裝 置接口并且主機工作性地連接到所述主機接口時使得主機能夠在所述存儲裝置和所述主 機之間開通會話,以及其中,在第二工作模式下,所述控制器工作為在所述存儲裝置和所述主機之間存 在開通會話的情況下,即使在所述存儲裝置從所述存儲裝置接口斷開之后也維護所述存儲 裝置和所述主機之間的所述開通會話。
2.如權(quán)利要求1所述的裝置,其中,所述存儲裝置是USB閃存盤。
3.如權(quán)利要求1所述的裝置,其中,所述存儲裝置是具有無線接口的USB閃存盤。
4.如權(quán)利要求1所述的裝置,其中,所述控制器響應(yīng)于主機上駐留的會話控制應(yīng)用,向 所述會話控制應(yīng)用通知存儲裝置與所述主機的連接/斷開。
5.如權(quán)利要求1所述的裝置,其中,所述裝置適用于修改在所述存儲裝置和所述主機 之間發(fā)送的信號。
6.一種存儲組件,包括存儲裝置;以及根據(jù)權(quán)利要求1的裝置。
7.一種用于與起雙接口連接器作用的裝置連接的主機,所述主機包括用戶接口 ;裝置接口,其被配置為與起雙接口連接器作用的裝置工作性地連接;以及會話控制應(yīng)用,其工作為(a)當(dāng)存儲裝置經(jīng)由所述雙接口連接器連接到所述主機時, 對所述用戶接口解鎖,(b)在所述存儲裝置從所述雙接口連接器斷開之后,鎖定所述用戶接 口,以及(c)如果所述存儲裝置經(jīng)由所述雙接口連接器重新連接到所述主機,則對所述用 戶接口解鎖。
8.如權(quán)利要求7所述的主機,其中,所述裝置接口是USB端口連接。
全文摘要
一種用于向存儲裝置提供接口并向主機提供接口而且用于在存儲裝置和主機之間進(jìn)行連接的雙接口連接器,包括用于與存儲裝置連接的存儲裝置接口;以及用于與主機連接的主機接口??刂破髦辽倌芤詢蓚€不同的工作模式進(jìn)行工作。在第一工作模式下,控制器在存儲裝置連接到存儲裝置接口并且主機連接到主機接口時使得主機能夠在存儲裝置和主機之間開通會話。在第二工作模式下,控制器在存儲裝置和主機之間存在開通會話的情況下,即使在存儲裝置從存儲裝置接口斷開之后,也工作來維護存儲裝置和主機之間的開通會話。
文檔編號G06F13/38GK102084348SQ200980125724
公開日2011年6月1日 申請日期2009年7月16日 優(yōu)先權(quán)日2008年8月4日
發(fā)明者伊扎克·波梅蘭茨, 朱達(dá)·G·哈恩, 謝·本-亞科夫 申請人:桑迪士克以色列有限公司