專利名稱:用于控制一存儲器件的系統(tǒng)、裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及存儲器件的計算器件控制,更具體而言,涉及使用讀取與寫入操作的控制。
背景技術(shù):
計算機存儲是以電磁形式保存數(shù)據(jù)以供計算機處理器存取。存儲器可劃分為主存儲器(例如隨機存取存儲器(RAM))及輔助存儲器(例如硬盤)—亦稱作大容量存儲器。輔助存儲器可進一步劃分成內(nèi)部存儲器(例如在一實例中為隨PC裝運的硬盤驅(qū)動器)及外部存儲器(例如一通過通用串行總線(USB)接口連結(jié)至PC的可移動式硬盤驅(qū)動器。PC(也稱作主機PC)或另一具有計算機處理器的主機設(shè)備通過一稱作器件驅(qū)動程序的軟件程序來控制一特定的存儲器件。器件驅(qū)動程序?qū)嵸|(zhì)上將操作系統(tǒng)內(nèi)更一般的輸入/輸出指令轉(zhuǎn)換成器件可理解的消息。
一種用于構(gòu)建大容量存儲器件的常用標(biāo)準(zhǔn)是一“塊器件”模型。塊器件模型按固定尺寸的塊(例如512字節(jié)的塊)來管理其存儲器。每一個塊皆被賦予一可由器件驅(qū)動程序?qū)ぶ返倪壿媺K地址(LBA)。一稱作文件系統(tǒng)的軟件層(其是駐存于主機PC或主機設(shè)備上的操作系統(tǒng)的一部分)使用存儲塊來實施管理文件操作。
為了管理塊器件上的文件,文件系統(tǒng)使用讀取塊(READ BLOCK)及寫入塊(WRITE BLOCK)命令,這些命令實質(zhì)上允許從存儲器件上檢索數(shù)據(jù)塊及將數(shù)據(jù)塊寫入到存儲器件上。通常,這些命令的其中一個參數(shù)是所關(guān)注的特定塊的LBA。文件系統(tǒng)將結(jié)構(gòu)化的管理數(shù)據(jù)保持在一個或多個存儲塊中,所述結(jié)構(gòu)化的管理數(shù)據(jù)有助于執(zhí)行諸如創(chuàng)建文件、從文件中檢索數(shù)據(jù)等基于文件的操作。這種結(jié)構(gòu)的一實例為FAT(文件分配表)文件系統(tǒng)。FAT表記錄使用了哪些LBA以及用于什么目的。例如,F(xiàn)AT表可包含用來存儲某一文件的LBA的按次序序列。由于在存儲器件的操作期間,此數(shù)據(jù)可能經(jīng)歷許多變化,因此一些操作系統(tǒng)將數(shù)據(jù)高速緩存到RAM上來進行加速并隨后在適當(dāng)?shù)臅r機將發(fā)生變化的數(shù)據(jù)寫回到存儲器上。
發(fā)送到塊器件的其他命令是控制(CONTROL)命令,其使主機計算機能夠根據(jù)命令的參數(shù)對存儲器件實施控制操作。其實例為格式化存儲器件、啟動自檢診斷操作、改變內(nèi)部器件參數(shù)及轉(zhuǎn)發(fā)特定命令。
由于CONTROL操作若使用不當(dāng)可能會對存儲器件的完整性有害,因此諸如Windows和Mac OS家族等流行的操作系統(tǒng)對CONTROL命令的使用施加了一定的限制。例如將Windows中的CONTROL命令“DeviceloControlO”限定至只有具有管理許可的用戶。此方法的基本邏輯在于對于正常的使用來說,READ和WRITE命令便足夠,而COTROL命令只在設(shè)置和配置情形下才需要。在其中由一IT管理組來處理許多PC的配置的公司和企業(yè)中,這可降低不專業(yè)的計算機用戶因試圖自己進行配置及設(shè)置操作而對存儲器件造成損壞或丟失數(shù)據(jù)的風(fēng)險。
在過去幾年中,已經(jīng)出現(xiàn)了一種統(tǒng)稱為USB閃存驅(qū)動器或密鑰鏈存儲器的新存儲器件類型。這是一種基于非易失性閃存技術(shù)并借助USB接口連接至主機PC或主機設(shè)備的外部存儲器件。其實例為Sony Micro Vault、Dell Memory Key及M-SystemsDiskOnKey(www.diskonkey.com)。這些存儲器件通常具有某些計算能力且因此可執(zhí)行其他任務(wù)而非僅充當(dāng)存儲器件。其實例為自動填寫網(wǎng)站用戶ID及口令的Micro VaultAutoLogin及能對存儲器件內(nèi)容的任一部分進行密碼保護的Password Lock。另一實例為DiskOnkey MyKey—一種圖形用戶接口,其使用戶能夠指定頻繁使用的文件以快速、容易地進行傳送、選擇語言偏好及為新數(shù)據(jù)設(shè)定音頻或視頻指示。再一實例是對將在存儲器件上運行的軟件進行更新的能力,如由Cyberkey的“未來驗證的技術(shù)(future-proof technology)”(www.cyberkeycorp.com)所示。其他的及更復(fù)雜的應(yīng)用程序也是可行的。
上述及其他應(yīng)用程序的共同特征是其既可在主機PC上執(zhí)行,也可在使用其自身控制器的存儲器件本身上執(zhí)行。為了正確地起作用,運行于主機PC上的程序與運行于存儲器件上的程序必須通過彼此之間傳遞信息來相互作用。
由于這些存儲器件根據(jù)塊器件模型運行,因而用于創(chuàng)建通信通道的常用方法是通過使用一CONTROL命令。不過,這種接口只可供用于作為管理用戶進行配置的主機設(shè)備,這就意味著,要運行上述存儲器件應(yīng)用程序,用戶必須被授予管理許可。雖然在技術(shù)上可行,但許多組織因存在用戶可能對其計算機的其他組件造成損害的風(fēng)險而不會授予所有雇員或其他用戶管理許可。
顯然,使用戶能夠在存儲器件上運行應(yīng)用程序、同時在非管理層次上設(shè)定主機設(shè)備中的許可這一需要尚未得到滿足。
發(fā)明內(nèi)容
通過閱讀下文說明書將會了解,本發(fā)明的各實施例可解決上述問題。根據(jù)本發(fā)明,在一在主機計算機中執(zhí)行的應(yīng)用程序與在一存儲器件內(nèi)部執(zhí)行的存儲器應(yīng)用程序之間進行通信的方法是通過在存儲器件中使用一個或多個這兩個應(yīng)用程序均可存取的文件來實現(xiàn)。
所述PC應(yīng)用程序使用WRITE BLOCK和READ BLOCK命令來存取所述一個或多個文件,且存取所述一個文件或多個文件不需要管理許可。寫入到此一文件中的內(nèi)容包括定址到所述存儲器應(yīng)用程序以供執(zhí)行或處理的命令、數(shù)據(jù)及參數(shù)。以一類似方式,當(dāng)主機向所述文件發(fā)出一READ命令時,所述存儲器件通過從此一文件中進行讀取而從所述存儲器應(yīng)用程序返回一響應(yīng)。
為了可更好地理解下文對本發(fā)明的詳細闡述,上文已很泛泛地概述了本發(fā)明各實施例的特征及技術(shù)優(yōu)點。下文將闡述構(gòu)成本發(fā)明權(quán)利要求書標(biāo)的物的本發(fā)明的其他特征及優(yōu)點。所屬領(lǐng)域的技術(shù)人員應(yīng)了解,可容易地利用所揭示的概念及具體實施例作為一基礎(chǔ)來修改或設(shè)計其他用于實現(xiàn)本發(fā)明的相同目的的結(jié)構(gòu)或方法。所屬領(lǐng)域的技術(shù)人員還應(yīng)意識到,這些等效構(gòu)造并不背離在隨附權(quán)利要求書中所提及的本發(fā)明的精神及范圍,且這些等效結(jié)構(gòu)仍屬于隨附權(quán)利要求書范圍內(nèi)。
為了更全面地了解本發(fā)明及其優(yōu)點,現(xiàn)在結(jié)合附圖參照下文說明,附圖中圖1為一包括一客戶端通道應(yīng)用程序?qū)?Client Channel Application Layer)及一服務(wù)器通道應(yīng)用程序?qū)?Server Channel Application Layer)的系統(tǒng)的示意性方塊圖;圖2為本發(fā)明一較佳實例性方法的流程圖,其顯示啟動所述通信通道的各步驟;圖3為本發(fā)明一較佳實例性方法的流程圖,其顯示使用READ BLOCK和WRITEBLOCK命令自一在主機計算機或器件中執(zhí)行的軟件應(yīng)用程序向在存儲器件中執(zhí)行的存儲器應(yīng)用程序發(fā)送一消息的各步驟;及圖4為本發(fā)明的一較佳實例性方法的流程圖,其顯示使用READ BLOCK和WRITE BLOCK命令自在存儲器件中執(zhí)行的存儲器應(yīng)用程序向一在主機計算機或器件中執(zhí)行的軟件應(yīng)用程序發(fā)送一消息的各步驟。
除另外指明外,不同圖式中對應(yīng)的編號及符號一般指代對應(yīng)的部件。各圖式繪制成清楚地顯示各較佳實施例的相關(guān)方面而未必按比例繪制。
具體實施例方式
下文將對本發(fā)明目前較佳的各實施例的結(jié)構(gòu)、制作及使用進行詳細論述。然而應(yīng)了解,本發(fā)明提供許多適用的發(fā)明性概念,這些概念可在眾多種具體情況中實施。所述具體實施例僅例示用于制作和使用本發(fā)明的具體方法,而非限制本發(fā)明或隨附權(quán)利要求書的范圍。
在下文對本發(fā)明實例性實施例的說明中,參照了說明其中可實施本發(fā)明的具體的實例性實施例的圖式。所屬領(lǐng)域的技術(shù)人員應(yīng)了解,也可使用其他實施例,而并不背離本發(fā)明的精神;因此下文對本發(fā)明的詳細說明不應(yīng)視為具有限定意義。在不同的實施例中,可不存在、存在一個或存在多個下文所述的部件。
圖1圖解說明系統(tǒng)100的一實例性實施例,系統(tǒng)100包括一客戶端應(yīng)用程序通道層101及一服務(wù)器應(yīng)用程序通道層102。
客戶端應(yīng)用程序通道層101是在主機PC或器件中執(zhí)行的軟件,其由一PC應(yīng)用程序用來向存儲器應(yīng)用程序及從存儲器應(yīng)用程序發(fā)送和檢索命令、數(shù)據(jù)及參數(shù)??蛻舳藨?yīng)用程序通道層101實施例如下列等操作接受來自PC應(yīng)用程序的請求,將所述請求轉(zhuǎn)換成一由一個或多個READ BLOCK及/或一個或多個WRITE BLOCK命令構(gòu)成的序列,向PC應(yīng)用程序發(fā)送響應(yīng),內(nèi)務(wù)處理(housekeeping),及管理通信過程以及類似操作。
服務(wù)器應(yīng)用程序通道層102是在所述存儲器件中執(zhí)行的軟件,其用于識別定址到某一文件或復(fù)數(shù)個文件的READ BLOCK及/或WRITE BLOCK命令。當(dāng)識別出一這種命令時,服務(wù)器應(yīng)用程序通道層102通過實施一個或多個下列操作來處理請求例如將命令轉(zhuǎn)發(fā)至所述存儲器應(yīng)用程序,檢索或存儲某些數(shù)據(jù)、向客戶端應(yīng)用程序通道層101返回某些值或類似操作。在某些實施例中,客戶端應(yīng)用程序通道層101或客戶端應(yīng)用程序通道層101的若干部分整合入所述PC應(yīng)用程序內(nèi),本發(fā)明并不限定于此。
圖2為一流程圖,其說明一在本發(fā)明一實例性實施例中為啟動通信通道而實施的一實例性操作順序。在步驟200中,對存儲器件加電,不過,若存儲器件已加電,則在此步驟中存儲器件的狀態(tài)不發(fā)生變化,且順序進行至步驟201。在步驟201中,服務(wù)器應(yīng)用程序通道層在駐存于存儲器件存儲媒體中的文件系統(tǒng)的管理數(shù)據(jù)系統(tǒng)中查找一特定文件—在下文中稱作一通信文件(Communication File)。在某些實施例中,在一FAT文件系統(tǒng)情況下,此結(jié)構(gòu)可為FAT結(jié)構(gòu),在其他實施例中其可為一不同的文件系統(tǒng),例如NTFS或其他文件系統(tǒng),本發(fā)明并不限定于此。
在步驟202中,在那些無法定位所述通信文件的情況下,服務(wù)器應(yīng)用程序通道層創(chuàng)建所述通信文件。在某些實施例中,此可通過創(chuàng)建一新文件并將其置于根目錄或FAT文件系統(tǒng)的一子目錄中來實施。在某些實施例中,該創(chuàng)建過程還將為所述通信文件分配一個或多個存儲塊。在某些實施例中,該創(chuàng)建過程還將以數(shù)據(jù)充填某些存儲塊。在步驟203中,服務(wù)器應(yīng)用程序通道層記錄一個或多個分配給所述通信文件的LBA。
圖3為一流程圖,其說明當(dāng)自PC應(yīng)用程序向存儲器應(yīng)用程序發(fā)送消息時在一較佳實施例中實施的一實例性操作順序。在步驟300中,PC應(yīng)用程序發(fā)出一請求供存儲器應(yīng)用程序處理。在步驟301中,客戶端應(yīng)用程序通道層接受該請求并視需要執(zhí)行某些處理,例如格式化所述請求及/或設(shè)定某些參數(shù)及/或啟動一不同的工作模式或類似處理。
在步驟302中,客戶端應(yīng)用程序通道層通過寫入至通信文件內(nèi)來向存儲器件發(fā)送請求。此操作將占用所述文件系統(tǒng)及在主機PC中運行的操作系統(tǒng)來產(chǎn)生一系列無、一個或多個WRITE_BLOCK命令及/或無、一個或多個READ_BLOCK命令,從而最終請求存儲器件將所發(fā)送數(shù)據(jù)放置于分配給所述通信文件的LBA中。在某些實施例中,客戶端應(yīng)用程序通道層為每一請求打開一文件,并且在所述請求一完成時就將其關(guān)閉。在其他實施例中,客戶端應(yīng)用程序通道層在對話一開始時就打開該文件,并且在一完成時就將其關(guān)閉。而在其他實施例中,則實施上述操作的一組合,本發(fā)明并不限定于此。
在步驟303中,服務(wù)器應(yīng)用程序通道層截接要向通信文件的LBA中寫入數(shù)據(jù)塊或從其讀取塊的企圖。在步驟304中,服務(wù)器應(yīng)用程序通道層視需要處理或部分地處理該請求并將其轉(zhuǎn)發(fā)至存儲器應(yīng)用程序。
在某些實施例中,限制通信文件的尺寸超過其初始尺寸,而在其他實施例中則允許超過其初始尺寸。在某些實施例中,如果該文件得到擴展,則服務(wù)器應(yīng)用程序通道層不記錄超出初始尺寸的塊以便能夠捕獲這些塊,而在其他實施例中,則記錄超過初始尺寸的塊。在某些實施例中,通信文件所分配到的存儲塊可能會因WRITE_BLOCK操作而被修改。而在其他實施例中,則不會被修改。所屬領(lǐng)域的技術(shù)人員應(yīng)了解,可存在其他實施例或此類實施例的組合,此并不背離本發(fā)明的精神。
圖4為一流程圖,其說明當(dāng)自存儲器應(yīng)用程序向PC應(yīng)用程序發(fā)送響應(yīng)時在一較佳實施例中所實施的一實例性操作順序。在步驟400中,存儲器應(yīng)用程序為PC應(yīng)用程序創(chuàng)建某些數(shù)據(jù)及/或響應(yīng)。在步驟401中,客戶端應(yīng)用程序通道層接受一要從PC應(yīng)用程序讀取某些數(shù)據(jù)及/或一響應(yīng)的請求。
在步驟402中,客戶應(yīng)用程序通道層通過從通信文件中讀取來向存儲器件發(fā)送請求。此操作會占用文件系統(tǒng)及在主機PC中運行的操作系統(tǒng)來產(chǎn)生一系列無、一個或多個READ_BLOCK命令,從而最終請求存儲器件檢索存儲于分配給通信文件的LBA中的數(shù)據(jù)。在某些實施例中,客戶端應(yīng)用程序通道層為每一請求打開一文件,并且在該請求一完成時就將其關(guān)閉。在其他實施例中,客戶端應(yīng)用程序通道層在對話一開始時就打開文件并且在一完成時就將其關(guān)閉。而在其實施例中,則實施上述操作的一組合,本發(fā)明并不限定于此。
在步驟403中,服務(wù)器應(yīng)用程序通道層捕獲要從通信文件的LBA上讀取數(shù)據(jù)塊的企圖。在步驟404中,服務(wù)器應(yīng)用程序通道層視需要處理或部分地處理該讀取請求并將其轉(zhuǎn)發(fā)至存儲器應(yīng)用程序來檢索數(shù)據(jù)或一響應(yīng)。在步驟405中,將所檢索的數(shù)據(jù)及/或響應(yīng)發(fā)回至客戶端應(yīng)用程序通道層以完成通信文件讀取操作。
在某些實施例中,客戶端應(yīng)用程序通道層的某些部分與PC應(yīng)用程序相整合,從而能夠在相整合的PC應(yīng)用程序中執(zhí)行諸如以下等操作初始化,及/或?qū)懭胫镣ㄐ盼募?或從通信文件進行讀取或者類似的操作。
在其他實施例中,使用復(fù)數(shù)個通信文件來實現(xiàn)不同的目的;例如一個文件可由客戶端應(yīng)用程序通道層用來執(zhí)行寫入操作,而一第二個文件可用來執(zhí)行讀取操作。
在再一些其他實施例中,存儲器件可允許一個以上的存儲器應(yīng)用程序,且使用所述通信文件來實現(xiàn)對所有存儲應(yīng)用程序的存取。在另一實施例中,使用復(fù)數(shù)個通信文件,即對每一存儲器應(yīng)用程序使用一個或多個通信文件。
在又一些實施例中,正由客戶端應(yīng)用程序通道層寫入的數(shù)據(jù)實際上是寫入到文件的LBA中,且觸發(fā)服務(wù)器應(yīng)用程序通道層來讀取所述LBA。
在又一些實施例中,正由客戶端應(yīng)用程序通道層讀取的數(shù)據(jù)實際上是由服務(wù)器應(yīng)用程序通道層服務(wù)器從通信文件的LBA讀取。本發(fā)明并不限定于此。
雖然上文已經(jīng)詳細闡述了本發(fā)明的各實施例及其優(yōu)點,然而應(yīng)了解,可對其作各種改動、替換及變更,此并不背離由隨附權(quán)利要求書所界定的本發(fā)明的精神及范圍。例如,所屬領(lǐng)域的技術(shù)人員將容易理解,可改變本文所述的許多特征、功能、過程及材料,但此仍屬于本發(fā)明的范圍內(nèi)。而且,本申請案的范圍并非旨在限定為本說明書中所述過程、機器、制造、物質(zhì)成分、構(gòu)件、方法及步驟的具體實施例。如所屬領(lǐng)域的一般技術(shù)人員根據(jù)本發(fā)明的揭示內(nèi)容將易知,根據(jù)本發(fā)明,可利用現(xiàn)有的或以后將要開發(fā)的可實施與本文所述對應(yīng)實施例基本相同的功能或達到與本文所述對應(yīng)實施例基本相同的結(jié)果的過程、機器、制造、物質(zhì)成分、構(gòu)件、方法或步驟。因此,隨附權(quán)利要求書旨在將此類過程、機器、制造、物質(zhì)成分、構(gòu)件、方法或步驟包括在其范圍內(nèi)。
權(quán)利要求
1.一種用于與一主機設(shè)備進行通信的裝置,其包括一用于向一主機設(shè)備傳輸與接收數(shù)據(jù)的接口;一與所述接口相關(guān)聯(lián)的存儲控制器;與所述存儲控制器相關(guān)聯(lián)的存儲媒體;所述存儲控制器經(jīng)配置以偵測所述主機設(shè)備對所述存儲媒體中一指定區(qū)域的一存取企圖,所述存取企圖具有一控制部分及一數(shù)據(jù)部分;從所述數(shù)據(jù)部分內(nèi)提取至少一數(shù)據(jù);將所述所提取的至少一數(shù)據(jù)解釋為所述存儲控制器的至少一控制消息;及響應(yīng)于來自所述主機設(shè)備的所述至少一控制消息,在所述存儲控制器中執(zhí)行至少一操作。
2.如權(quán)利要求1所述的裝置,其中所述存儲器控制器進一步經(jīng)配置以從所述主機設(shè)備接收與所述至少一控制消息相關(guān)聯(lián)的數(shù)據(jù);及響應(yīng)于所述至少一控制消息,至少將數(shù)據(jù)存儲在所述存儲媒體中的某些位置中。
3.如權(quán)利要求1所述的裝置,其中所述存儲控制器進一步經(jīng)配置以在執(zhí)行與來自所述主機設(shè)備的所述至少一控制消息相關(guān)聯(lián)的所述至少一操作之后,接收一對所述存儲媒體中所述指定區(qū)域的數(shù)據(jù)讀取存取企圖;及響應(yīng)于所述讀取存取企圖,在所述存儲器件中執(zhí)行至少一操作。
4.如權(quán)利要求3所述的裝置,其中在所述存儲器件中執(zhí)行的所述至少一操作至少從所述存儲媒體中檢索一個數(shù)據(jù)以供傳輸至所述主機設(shè)備。
5.如權(quán)利要求3所述的裝置,其中所述存儲器件與不在管理許可下運行的主機設(shè)備進行接口。
6.如權(quán)利要求1所述的裝置,其中所述接口、存儲控制器與存儲媒體一起構(gòu)成一可移動式閃速存儲器件。
7.如權(quán)利要求1所述的裝置,其中所述接口可按USB標(biāo)準(zhǔn)運行。
8.一種計算機程序產(chǎn)品,其與一具有一用于與一主機設(shè)備進行通信的接口的可拆式存儲器件相關(guān)聯(lián),其包括存儲器應(yīng)用程序計算機程序代碼,其用于在一可拆式存儲器件上在一控制器上執(zhí)行一存儲器應(yīng)用程序,所述存儲器應(yīng)用程序代碼可響應(yīng)于至少一命令,所述至少一命令通過一來自所述主機設(shè)備的對所述存儲器件所述存儲媒體中一指定區(qū)域進行存取的存取企圖發(fā)送至所述存儲器件,所述存取企圖具有一控制部分及一數(shù)據(jù)部分,所述至少一命令位于所述數(shù)據(jù)部分中。
9.如權(quán)利要求8所述的計算機程序產(chǎn)品,其進一步包括用于在一主機設(shè)備上執(zhí)行一應(yīng)用程序的應(yīng)用程序計算機程序代碼,在執(zhí)行所述應(yīng)用程序時,其將企圖存取被識別出位于所述存儲器件上的文件。
10.如權(quán)利要求9所述的計算機程序產(chǎn)品,其進一步包括計算機程序代碼,其用于在所述主機設(shè)備上執(zhí)行一客戶端通道應(yīng)用程序?qū)?,以便從所述計算機程序接收消息并向所述存儲器件傳輸消息。
11.如權(quán)利要求9所述的計算機程序產(chǎn)品,其進一步包括計算機程序代碼,其用于在所述存儲器件上執(zhí)行一服務(wù)器通道應(yīng)用程序?qū)樱员銖乃龃鎯ζ骷?yīng)用程序接收消息并向所述主機設(shè)備傳輸消息。
12.如權(quán)利要求10所述的計算機程序產(chǎn)品,其進一步包括計算機程序代碼,其用于在所述存儲器件上執(zhí)行一服務(wù)器通道應(yīng)用程序?qū)樱员銖乃龃鎯ζ鲬?yīng)用程序接收消息并向所述主機設(shè)備傳輸消息。
13.如權(quán)利要求12所述的計算機程序產(chǎn)品,其中所述主機設(shè)備與所述存儲器件通過傳輸及從所述客戶端通道應(yīng)用程序?qū)蛹八龇?wù)器通道應(yīng)用程序?qū)咏邮諗?shù)據(jù)來通信。
14.如權(quán)利要求9所述的計算機程序產(chǎn)品,其中在所述主機設(shè)備上執(zhí)行的所述應(yīng)用程序不具有管理許可。
15.如權(quán)利要求9所述的計算機程序產(chǎn)品,其中所述應(yīng)用程序可在一為一具有一USB端口的計算機的主機設(shè)備上執(zhí)行且所述用于與所述主機設(shè)備進行通信的接口可按USB標(biāo)準(zhǔn)運行。
16.一種用于在一主機設(shè)備與一存儲器件之間進行通信的方法,其包括下列步驟提供一用于在所述主機設(shè)備與所述存儲器件之間傳輸與接收數(shù)據(jù)的接口;提供一存儲器件,其包括一與所述接口相關(guān)聯(lián)的存儲控制器;及與所述存儲控制器相關(guān)聯(lián)的存儲媒體;偵測所述主機設(shè)備的文件系統(tǒng)對所述存儲媒體中一指定區(qū)域的一存取企圖,所述存取企圖具有一控制部分及一數(shù)據(jù)部分;從所述數(shù)據(jù)部分內(nèi)提取至少一數(shù)據(jù);將所述提取的數(shù)據(jù)解釋為所述存儲控制器的至少一控制消息;及響應(yīng)于來自所述主機設(shè)備的所述至少一控制消息,在所述存儲控制器中執(zhí)行至少一操作。
17.如權(quán)利要求16所述的方法,其進一步包括下列步驟從所述主機設(shè)備接收與所述至少一控制消息相關(guān)聯(lián)的數(shù)據(jù);及響應(yīng)于所述至少一控制消息,至少將數(shù)據(jù)存儲在所述存儲媒體中的某些位置中。
18.如權(quán)利要求16所述的方法,其包括下列步驟在所述執(zhí)行與來自所述主機設(shè)備的所述至少一控制消息相關(guān)聯(lián)的所述至少一操作之后,接收對所述存儲媒體中所述指定區(qū)域的一數(shù)據(jù)讀取存取企圖;及響應(yīng)于所述讀取存取企圖,在所述存儲器件中執(zhí)行至少一操作。
19.如權(quán)利要求18所述的方法,其中所述執(zhí)行至少一操作的步驟進一步包括下列步驟至少從所述存儲媒體中檢索一個數(shù)據(jù)以供傳輸至所述主機設(shè)備。
20.一種用于在一主機設(shè)備與一存儲器件之間進行通信的方法,其包括下列步驟利用所述存儲器件中的至少一個或多個邏輯塊地址供所述主機設(shè)備作為至少一通信文件來存取企圖并供所述存儲器件存??;偵測所述主機設(shè)備的所述文件系統(tǒng)對所述至少一通信文件的一存取企圖,所述存取企圖具有一控制部分及一數(shù)據(jù)部分;從所述數(shù)據(jù)部分內(nèi)提取至少一數(shù)據(jù);將所述至少一數(shù)據(jù)解釋為自所述主機設(shè)備至所述存儲器件的至少一控制消息;及響應(yīng)于來自所述主機設(shè)備的所述至少一控制消息,在所述存儲器件中執(zhí)行至少一操作。
21.如權(quán)利要求20所述的方法,其進一步包括下列步驟從所述主機設(shè)備接收與所述至少一控制消息相關(guān)聯(lián)的數(shù)據(jù);及響應(yīng)于所述至少一控制消息,至少將數(shù)據(jù)存儲在所述存儲器件中的某些位置中。
22.如權(quán)利要求20所述的方法,其進一步包括下列步驟針對與來自所述主機設(shè)備的所述控制消息相關(guān)聯(lián)的數(shù)據(jù),接收對所述通信文件的一讀取存取企圖;及響應(yīng)于與所述控制消息相關(guān)聯(lián)的所述讀取存取企圖,在所述存儲器件中執(zhí)行至少一操作。
23.如權(quán)利要求22所述的方法,其中所述在所述存儲器件中執(zhí)行至少一操作的步驟進一步包括至少檢索一個數(shù)據(jù)以供自所述存儲器件傳輸至所述主機設(shè)備。
24.一種用于與一主機設(shè)備進行通信的裝置,其包括一用于向一主機設(shè)備傳輸及接收數(shù)據(jù)的接口;一與所述接口相關(guān)聯(lián)的存儲控制器;與所述存儲控制器相關(guān)聯(lián)的存儲媒體;所述存儲控制器經(jīng)配置以利用所述存儲器件中的至少一個或多個邏輯塊地址供所述主機計算機作為至少一通信文件來存取并供所述存儲器件存??;偵測所述主機設(shè)備的文件系統(tǒng)對所述至少一通信文件的一存取企圖,所述存取企圖具有一控制部分及一數(shù)據(jù)部分;從所述數(shù)據(jù)部分內(nèi)提取至少一數(shù)據(jù);將所述提取的至少一數(shù)據(jù)解釋為所述存儲控制器的至少一控制消息;及響應(yīng)于來自所述主機設(shè)備的所述至少一控制消息,在所述存儲控制器中執(zhí)行至少一操作。
25.如權(quán)利要求24所述的裝置,其中所述存儲控制器進一步經(jīng)配置以從所述主機設(shè)備接收與所述至少一控制消息相關(guān)聯(lián)的數(shù)據(jù);及響應(yīng)于所述至少一控制消息,至少將數(shù)據(jù)存儲在所述存儲媒體中的某些位置中。
26.如權(quán)利要求24所述的裝置,其中所述存儲控制器進一步經(jīng)配置以在所述執(zhí)行與來自所述主機設(shè)備的所述至少一控制消息相關(guān)聯(lián)的所述至少一操作之后,偵測對所述通信文件的一數(shù)據(jù)讀取存取企圖;及響應(yīng)于所述讀取存取企圖,在所述存儲器件中執(zhí)行至少一操作。
27.如權(quán)利要求24所述的裝置,其中在所述存儲器件中執(zhí)行的所述操作從所述存儲媒體中檢索至少一個數(shù)據(jù)以供傳輸至所述主機設(shè)備。
28.如權(quán)利要求24所述的裝置,其中所述主機設(shè)備不具有管理許可。
29.如權(quán)利要求24所述的裝置,其中所述接口、存儲控制器與存儲媒體一起構(gòu)成一可拆式閃速存儲器件。
30.如權(quán)利要求24所述的裝置,其中所述接口可按照USB標(biāo)準(zhǔn)運行。
31.一種系統(tǒng),其包括一執(zhí)行一應(yīng)用程序的主機設(shè)備;一與所述主機設(shè)備進行通信的存儲器件,其執(zhí)行一存儲器應(yīng)用程序;一被識別出位于所述存儲器件上并可供所述主機設(shè)備的文件系統(tǒng)存取的通信文件;其中所述存儲器件偵測所述文件系統(tǒng)對所述通信文件的一包括一控制部分和一數(shù)據(jù)部分的存取企圖,并將來自所述存取企圖的所述數(shù)據(jù)部分的至少一數(shù)據(jù)解釋為來自所述主機設(shè)備的一控制消息,且所述存儲器件從所述數(shù)據(jù)部分中提取所述至少一數(shù)據(jù)并響應(yīng)于來自所述主機設(shè)備的所述控制消息而執(zhí)行至少一操作。
32.如權(quán)利要求31所述的系統(tǒng),其中在所述主機設(shè)備上執(zhí)行的所述應(yīng)用程序不具有管理許可。
33.如權(quán)利要求31所述的系統(tǒng),其中所述存儲器件通過一可按照USB標(biāo)準(zhǔn)運行的通信接口與所述主機設(shè)備進行通信。
34.如權(quán)利要求31所述的系統(tǒng),其進一步包括一位于所述存儲器件上的存儲控制器;及位于所述存儲器件上的存儲媒體,其可響應(yīng)于所述存儲控制器來運行以存儲和檢索數(shù)據(jù)。
35.如權(quán)利要求31所述的系統(tǒng),其進一步包括一客戶通道應(yīng)用程序?qū)?,其在所述主機設(shè)備上執(zhí)行并與所述應(yīng)用程序及所述文件系統(tǒng)進行通信;及一服務(wù)器通道應(yīng)用程序?qū)?,其在所述存儲器件上?zhí)行并與所述存儲器應(yīng)用程序進行通信,其中所述服務(wù)器通道應(yīng)用程序?qū)訉嵤┲辽偎鰝蓽y所述文件系統(tǒng)對所述通信文件的一存取企圖的步驟;所述主機設(shè)備與所述存儲器件通過傳輸及自所述客戶端通道應(yīng)用程序?qū)优c所述服務(wù)器通道應(yīng)用程序?qū)咏邮諗?shù)據(jù)來進行通信。
36.一種用于在一主機設(shè)備與一存儲器件之間進行通信的方法,其包括下列步驟提供一用于與所述存儲器件進行通信的通信接口;在所述主機設(shè)備上執(zhí)行一主機應(yīng)用程序,所述主機設(shè)備應(yīng)用程序的執(zhí)行不具有管理特權(quán);在所述存儲器件上執(zhí)行一存儲器應(yīng)用程序;在所述主機設(shè)備上執(zhí)行一客戶端通道應(yīng)用程序?qū)?,以便從所述主機應(yīng)用程序接收消息并向所述存儲器件傳輸所述消息;在所述存儲器件上執(zhí)行一服務(wù)器通道應(yīng)用程序?qū)?,以便從所述主機設(shè)備接收消息并向所述存儲器應(yīng)用程序傳輸消息;在所述服務(wù)器應(yīng)用程序通道層中偵測一對所述存儲器件中一指定區(qū)域的存取企圖,所述存取企圖具有一控制部分及一數(shù)據(jù)部分;從所述存取企圖的所述數(shù)據(jù)部分中提取至少一個數(shù)據(jù);將至少一個數(shù)據(jù)解釋為對所述存儲器應(yīng)用程序的至少一控制消息;自所述服務(wù)器應(yīng)用程序通道層將所述至少一控制消息傳輸至所述存儲器應(yīng)用程序;及響應(yīng)于所述至少一控制消息,在所述存儲器應(yīng)用程序中執(zhí)行至少一操作。
37.一種裝置,其包括用于傳輸與接收數(shù)據(jù)的接口構(gòu)件;與所述接口構(gòu)件相關(guān)聯(lián)的存儲控制構(gòu)件;存儲媒體構(gòu)件,其用于響應(yīng)于所述接口構(gòu)件而存儲及檢索數(shù)據(jù);所述存儲控制構(gòu)件經(jīng)配置以偵測對所述存儲媒體構(gòu)件一指定區(qū)域的一存取企圖,所述存取企圖包括一控制部分及一數(shù)據(jù)部分;從所述數(shù)據(jù)部分內(nèi)提取至少一數(shù)據(jù);將所述至少一數(shù)據(jù)解釋為來自一主機設(shè)備的至少一控制消息;及響應(yīng)于來自所述主機設(shè)備的所述至少一控制消息,執(zhí)行至少一操作。
38.如權(quán)利要求37所述的裝置,其中所述接口構(gòu)件包括一可按照USB標(biāo)準(zhǔn)運行的構(gòu)件。
39.如權(quán)利要求37所述的裝置,其中所述存儲媒體構(gòu)件包括非易失性存儲構(gòu)件。
40.如權(quán)利要求37所述的裝置,其中所述主機設(shè)備為一個人計算機。
41.如權(quán)利要求37所述的裝置,其中所述存儲控制構(gòu)件進一步經(jīng)配置以利用所述存儲媒體構(gòu)件中的至少一個或多個邏輯塊地址供所述主機設(shè)備作為至少一通信文件來存取并供所述存儲控制構(gòu)件存取。
全文摘要
本發(fā)明的各實施例包括一種用于使一計算器件(101)與一存儲器件(102)通過讀取/寫入操作來進行通信的系統(tǒng)(100)、裝置及方法。在所述的某些實施例中,所述計算器件(101)可為一個人計算機。在某些實施例中,所述存儲器件(102)可為一可拆式存儲器件。在某些實施例中,所述計算器件可使用一可按照USB標(biāo)準(zhǔn)操作的接口與所述存儲器件通信。在某些實施例中,所述計算器件不具有管理許可。還闡述了其他實施例。
文檔編號G06F12/00GK1864127SQ200480026146
公開日2006年11月15日 申請日期2004年7月26日 優(yōu)先權(quán)日2003年7月28日
發(fā)明者達恩·哈爾卡比, 吉東·埃拉扎爾, 尼赫邁亞·溫加藤 申請人:桑迪士克防護內(nèi)容解決公司