專利名稱:對(duì)便攜式數(shù)據(jù)存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)進(jìn)行壓縮及解壓縮的系統(tǒng)和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)電子數(shù)據(jù)進(jìn)行存儲(chǔ)的領(lǐng)域。更特別的,本發(fā)明涉及對(duì)在便攜式數(shù)據(jù)存儲(chǔ)設(shè)備中存儲(chǔ)的數(shù)據(jù)的壓縮及解壓縮。
背景技術(shù):
便攜式存儲(chǔ)設(shè)備,有時(shí)被稱為“鑰匙鏈”存儲(chǔ)設(shè)備或ThumbdrivesTM(該商標(biāo)屬于本發(fā)明受讓人),都是小型便攜式數(shù)據(jù)存儲(chǔ)設(shè)備。這些設(shè)備已成為一類不可或缺的電子計(jì)算機(jī)外部設(shè)備,它們?cè)谏虅?wù),教育和家用計(jì)算中得到廣泛應(yīng)用。這些設(shè)備與其它的數(shù)據(jù)存儲(chǔ)設(shè)備,如個(gè)人計(jì)算機(jī)(PC)、個(gè)人數(shù)字助理(PDA)、磁盤或光盤(CD)相比,更為小巧。確實(shí),“鑰匙鏈”存儲(chǔ)設(shè)備這個(gè)名字說(shuō)明這些設(shè)備在尺寸上與鑰匙相差不多。便攜式數(shù)據(jù)存儲(chǔ)設(shè)備通常不會(huì)永久性地安裝于一臺(tái)特定的主機(jī)平臺(tái),如個(gè)人計(jì)算機(jī)。相反,它們可以方便地與具有合適的連接端口(例如,像USB端口或IEEE1394(“火線”)端口等的串行總線端口)的計(jì)算機(jī)進(jìn)行連接及從計(jì)算機(jī)上移除。這樣,這些設(shè)備可以使用戶在不同的計(jì)算機(jī)間傳遞數(shù)據(jù);非此,這些計(jì)算機(jī)將無(wú)法連接。由于這些設(shè)備使用非易失性固態(tài)存儲(chǔ)器(例如快閃存儲(chǔ)器)作為存儲(chǔ)介質(zhì),它們不需要活動(dòng)的部件或機(jī)械的傳動(dòng)裝置進(jìn)行數(shù)據(jù)的存取。沒(méi)有傳動(dòng)裝置使得便攜式數(shù)據(jù)存儲(chǔ)設(shè)備同如磁盤或光盤等的表面存儲(chǔ)設(shè)備相比,結(jié)構(gòu)更加緊湊。同樣,由于沒(méi)有活動(dòng)的部件,對(duì)這些存儲(chǔ)設(shè)備的存儲(chǔ)器的讀寫比對(duì)磁盤或光盤的讀寫更快。便攜式數(shù)據(jù)存儲(chǔ)設(shè)備也比磁盤具有更大存儲(chǔ)容量。便攜式數(shù)據(jù)存儲(chǔ)設(shè)備可容納多達(dá)256M字節(jié),而磁盤則為1.4M字節(jié)。
盡管將數(shù)據(jù)存儲(chǔ)于便攜式存儲(chǔ)設(shè)備已被證明很有用途,但由于不增大這些設(shè)備的尺寸就無(wú)法存儲(chǔ)更大量的數(shù)據(jù),這些設(shè)備的使用受到了限制。
發(fā)明內(nèi)容
因而,本發(fā)明的目的是提供一種系統(tǒng)和設(shè)備,以使用戶能夠向便攜式數(shù)據(jù)存儲(chǔ)設(shè)備中存入超過(guò)現(xiàn)有技術(shù)允許的更大量的數(shù)據(jù)。這將使制造商增加這些設(shè)備的存儲(chǔ)器中可存儲(chǔ)的數(shù)據(jù)總量,而無(wú)需增大存儲(chǔ)器的尺寸,從而無(wú)需增大這些設(shè)備的尺寸。另外,這還有附加的益處,它可使制造商減小這些設(shè)備的尺寸而無(wú)需減少設(shè)備所能存儲(chǔ)的數(shù)據(jù)總量。
本發(fā)明可達(dá)成上述這些目的及其它目的;本發(fā)明包括一個(gè)便攜式存儲(chǔ)設(shè)備,該便攜存儲(chǔ)設(shè)備能通過(guò)USB端口、IEEE1394端口或類似的端口與主機(jī)平臺(tái),如個(gè)人計(jì)算機(jī),方便地連接。該設(shè)備內(nèi)包括快閃存儲(chǔ)器,只讀存儲(chǔ)器(ROM),隨機(jī)存取存儲(chǔ)器(RAM),USB控制器和一個(gè)微控制器。另外,在便攜式存儲(chǔ)設(shè)備中還包括一個(gè)數(shù)據(jù)壓縮和解壓縮引擎,以便當(dāng)向存儲(chǔ)器中存儲(chǔ)及讀取數(shù)據(jù)時(shí),對(duì)數(shù)據(jù)進(jìn)行壓縮/解壓縮。
便攜式存儲(chǔ)設(shè)備(ThumbdriveTM)通過(guò)將USB連接器插入到個(gè)人計(jì)算機(jī)的USB端口中而與主機(jī)平臺(tái),如個(gè)人計(jì)算機(jī)(PC),進(jìn)行連接。欲存儲(chǔ)于便攜式存儲(chǔ)設(shè)備中的數(shù)據(jù),是由個(gè)人計(jì)算機(jī)以數(shù)據(jù)包的形式發(fā)送到便攜式存儲(chǔ)設(shè)備的工作緩存器中。壓縮引擎從緩存器中讀取數(shù)據(jù)并對(duì)每一個(gè)數(shù)據(jù)包進(jìn)行壓縮。經(jīng)壓縮的數(shù)據(jù)包存儲(chǔ)于快閃存儲(chǔ)器中。為了讀取數(shù)據(jù),壓縮/解壓縮引擎從快閃存儲(chǔ)器讀取數(shù)據(jù)并將之進(jìn)行解壓縮。解壓縮引擎將解壓縮的數(shù)據(jù)置于工作緩存器中,然后數(shù)據(jù)從緩存器發(fā)送至主機(jī)平臺(tái)。
典型情況下,壓縮/解壓縮引擎位于只讀存儲(chǔ)器中,然而上載到微控制器中執(zhí)行。在另一個(gè)備選的實(shí)施例中,壓縮/解壓縮引擎位于便攜式設(shè)備的特定用途集成電路(ASIC)芯片中。
用戶無(wú)法覺(jué)察到該便攜式設(shè)備的壓縮/解壓縮功能。用戶存儲(chǔ)數(shù)據(jù),但并不知道數(shù)據(jù)受到壓縮。在另一個(gè)備選的實(shí)施例中,用戶可以了解這些功能,并能根據(jù)其意愿而啟用/禁止壓縮功能。禁止壓縮功能可以加快數(shù)據(jù)存儲(chǔ)的速度。
根據(jù)以下本發(fā)明的優(yōu)選實(shí)施例的具體實(shí)施方式
并參考附圖,可以明確本發(fā)明的目的,功能和優(yōu)點(diǎn)。
圖1為框圖,它說(shuō)明了根據(jù)本發(fā)明之便攜式存儲(chǔ)設(shè)備的一個(gè)實(shí)施例的各個(gè)功能框及其直觀結(jié)構(gòu)。
圖2為流程圖,它說(shuō)明了主機(jī)平臺(tái)如何向便攜式存儲(chǔ)設(shè)備傳達(dá)命令。
圖3為流程圖,它說(shuō)明了數(shù)據(jù)如何發(fā)送,壓縮并存儲(chǔ)于便攜式存儲(chǔ)設(shè)備的存儲(chǔ)器中。
圖4為流程圖,它說(shuō)明了對(duì)存儲(chǔ)于便攜式存儲(chǔ)設(shè)備的存儲(chǔ)器中的數(shù)據(jù)如何進(jìn)行存取。
具體實(shí)施例方式
這里,參考附圖對(duì)本發(fā)明進(jìn)行更詳細(xì)的說(shuō)明,在附圖中顯示了本發(fā)明優(yōu)選的實(shí)施例。然而,本發(fā)明可通過(guò)不同的形式進(jìn)行實(shí)施,而不應(yīng)被理解為受限于本文中所提出的實(shí)施例;相反,提供這些實(shí)施例是為了使本文能夠向本領(lǐng)域的技術(shù)人員充分、全面而且完整地表達(dá)本發(fā)明。實(shí)際上,本發(fā)明涵蓋了這些實(shí)施例的替換形式、改造形式及等同形式,這些都包含于所附的權(quán)利要求書(shū)中確定的本發(fā)明之保護(hù)范圍和主旨。此外,在隨后的本發(fā)明的具體實(shí)施方式
中,列出眾多的特定細(xì)節(jié)是為了有助于對(duì)本發(fā)明有一個(gè)更充分的理解。但是,本領(lǐng)域的一般技術(shù)人員應(yīng)該明了,無(wú)需這些特定的細(xì)節(jié)即可實(shí)施本發(fā)明。在其它的實(shí)施例中,未對(duì)公知的方法、流程、元件和電路進(jìn)行詳細(xì)地描述,以免對(duì)本發(fā)明的各個(gè)方面造成不必要的混淆。
圖1的框圖說(shuō)明了根據(jù)本發(fā)明之便攜式存儲(chǔ)設(shè)備和系統(tǒng)的一個(gè)實(shí)施例的功能框及其直觀結(jié)構(gòu)。圖1顯示了便攜式存儲(chǔ)設(shè)備100(適合握在手中的小型手持設(shè)備),該設(shè)備經(jīng)通用串行總線(USB)端口連接器,IEEE1394(即火線)連接器或其它的端口連接器140同主機(jī)平臺(tái)195(例如個(gè)人計(jì)算機(jī))的USB端口(或類似的端口)192相連接。在優(yōu)選的實(shí)施例中,無(wú)需電線或電纜的互相聯(lián)絡(luò)即可實(shí)現(xiàn)連接。主機(jī)平臺(tái)195與位于便攜式設(shè)備內(nèi)部的電源電路150相連。電源電路150從主機(jī)平臺(tái)獲取能量,并作為便攜式設(shè)備100中各個(gè)元件的電源。
仍然參考圖1,便攜式存儲(chǔ)設(shè)備包括一個(gè)微控制器160,快閃存儲(chǔ)器180,及一個(gè)壓縮/解壓縮引擎190。顯然,微控制器160也可以是一個(gè)通用微處理器。
在一個(gè)實(shí)施例中,工作緩存器165位于微控制器內(nèi)。在另一個(gè)備選的實(shí)施例中,工作緩存器165位于微控制器165之外(即隨機(jī)存儲(chǔ)器110之中)。在優(yōu)選的實(shí)施例中,工作緩存器的容量為16K字節(jié)。
應(yīng)該意識(shí)到數(shù)據(jù)壓縮/解壓縮引擎190可應(yīng)用多個(gè)方法實(shí)現(xiàn),這些方法均處于本發(fā)明的保護(hù)范圍之內(nèi)。在一個(gè)實(shí)施例中,壓縮/解壓縮引擎190可由便攜式設(shè)備100內(nèi)的非易失性存儲(chǔ)器110中存儲(chǔ)的固件實(shí)現(xiàn)。在另一個(gè)實(shí)施例中,數(shù)據(jù)壓縮/解壓縮引擎190可由微控制器160的一部分實(shí)現(xiàn)。還有一個(gè)實(shí)施例中,壓縮/解壓縮引擎190可由與微控制器160相分離的處理器實(shí)現(xiàn)。換句話說(shuō),在本發(fā)明的保護(hù)范圍內(nèi),壓縮/解壓縮引擎190并不需要固定于便攜式設(shè)備100的某一特定部位。相反,在何處安放壓縮/解壓縮引擎190可根據(jù)設(shè)計(jì)進(jìn)行選擇,這樣,就為適應(yīng)使用本發(fā)明的不同的應(yīng)用情況提供了設(shè)計(jì)的靈活性。
在數(shù)據(jù)從主機(jī)平臺(tái)195發(fā)送至便攜式存儲(chǔ)設(shè)備100之后,數(shù)據(jù)壓縮/解壓縮引擎190對(duì)數(shù)據(jù)進(jìn)行壓縮。數(shù)據(jù)以數(shù)據(jù)包的形式經(jīng)USB總線進(jìn)行傳輸。數(shù)據(jù)壓縮/解壓縮引擎190從工作緩存器165中讀取數(shù)據(jù)(典型情況下是每一次讀取一個(gè)扇區(qū))并對(duì)數(shù)據(jù)進(jìn)行壓縮。在優(yōu)選的實(shí)施例中,數(shù)據(jù)壓縮至原有大小的50%。因而大小為512字節(jié)的數(shù)據(jù)包將被壓縮至256字節(jié)。壓縮后,數(shù)據(jù)存儲(chǔ)于快閃存儲(chǔ)器180中。壓縮/解壓縮引擎190也對(duì)存儲(chǔ)于快閃存儲(chǔ)器180中的數(shù)據(jù)進(jìn)行解壓縮并將數(shù)據(jù)傳輸至主機(jī)平臺(tái)195。
在該實(shí)施例中,便攜式設(shè)備包括一個(gè)USB設(shè)備控制器130,它用于控制便攜式設(shè)備100與主機(jī)平臺(tái)195之間的通信,后者如兼容USB的個(gè)人計(jì)算機(jī),其中具有USB主控制器197。
仍然參考圖1,便攜式設(shè)備100還包括一個(gè)易失性存儲(chǔ)器120和一個(gè)非易失性存儲(chǔ)器110。在優(yōu)選的實(shí)施例中,易失性存儲(chǔ)器120是隨機(jī)存取存儲(chǔ)器(RAM),它作為微控制器160在工作時(shí)的工作存儲(chǔ)器。在該實(shí)施例中,非易失性存儲(chǔ)器110是只讀存儲(chǔ)器(ROM),它可用于存儲(chǔ)固件,后者可完成便攜式存儲(chǔ)設(shè)備100的不同功能。
另外,在該實(shí)施例中,便攜式設(shè)備100包括一個(gè)寫保護(hù)開(kāi)關(guān)170,當(dāng)它打開(kāi)時(shí),可以啟動(dòng)微控制器160而禁止對(duì)快閃存儲(chǔ)器180的寫入訪問(wèn)。應(yīng)該注意到,同壓縮/解壓縮引擎190一樣,寫保護(hù)開(kāi)關(guān)可采用多個(gè)方法實(shí)現(xiàn),這些方法均處于本發(fā)明保護(hù)范圍之內(nèi)。寫保護(hù)開(kāi)關(guān)170可通過(guò)以下方法實(shí)現(xiàn)例如應(yīng)用軟件(如在非易失性存儲(chǔ)器中存儲(chǔ)的固件),作為微控制器160的一部分,或作為與微控制器160相分離的處理單元。在備選實(shí)施例中,寫保護(hù)開(kāi)關(guān)可以是一個(gè)手動(dòng)開(kāi)關(guān),它可由用戶手動(dòng)操作。
在如圖1所描述的當(dāng)前優(yōu)選的實(shí)施例中,微處理器160控制著便攜式設(shè)備100的各個(gè)元件,包括USB設(shè)備控制器130,只讀存儲(chǔ)器(ROM)110和隨機(jī)存取存儲(chǔ)器(RAM)120(及存儲(chǔ)于其中的固件代碼的執(zhí)行)。
另外的選擇是,便攜式設(shè)備100進(jìn)一步包括一個(gè)USB端口(圖中未示),它可提供一種方便的性能,以使之能通過(guò)USB而將其它的一個(gè)或多個(gè)USB兼容設(shè)備與該便攜式設(shè)備相連接。
在一個(gè)實(shí)施例中,驅(qū)動(dòng)軟件(圖中未示),應(yīng)用程序接口(API)及監(jiān)控程序(圖中未示)都駐留于主機(jī)平臺(tái)195并與USB主控制器197相聯(lián)絡(luò),以便于對(duì)便攜式設(shè)備100進(jìn)行操作。
在如下的兩個(gè)美國(guó)專利申請(qǐng)中描述了便攜式數(shù)據(jù)存儲(chǔ)設(shè)備的結(jié)構(gòu)一個(gè)申請(qǐng)的序列號(hào)為09/898,365,題目是“具有生物特征認(rèn)證功能的便攜式設(shè)備”,于2001年7月3日提交;另一申請(qǐng)的序列號(hào)為09/830,173,題目是“可通過(guò)USB接頭與計(jì)算機(jī)直接連接的便攜式數(shù)據(jù)存儲(chǔ)設(shè)備”。
圖2的流程圖描述了當(dāng)用戶將便攜式設(shè)備100與主機(jī)平臺(tái)195連接(步驟205)并開(kāi)始向便攜式設(shè)備100存儲(chǔ)數(shù)據(jù)時(shí)所發(fā)生的操作。在步驟205中,當(dāng)與主機(jī)平臺(tái)195連接之后,便攜式設(shè)備100進(jìn)行初始化過(guò)程。在當(dāng)前優(yōu)選的實(shí)施例中,初始化過(guò)程涉及與主機(jī)平臺(tái)195建立聯(lián)絡(luò)并確保主機(jī)平臺(tái)195知道便攜式設(shè)備100已與其相連接。主機(jī)平臺(tái)195通過(guò)向USB主控制器197發(fā)送請(qǐng)求包而從便攜式設(shè)備100請(qǐng)求服務(wù)。USB主控制器197通過(guò)USB端口192向USB連接器140發(fā)送請(qǐng)求包。然后便攜式設(shè)備140完成各項(xiàng)操作,如從快閃存儲(chǔ)器180中讀出數(shù)據(jù)、向其寫入數(shù)據(jù)或者刪除數(shù)據(jù),同時(shí)伴有對(duì)數(shù)據(jù)的壓縮及解壓縮。
在步驟210中,主機(jī)平臺(tái)195可向便攜式存儲(chǔ)設(shè)備100,以寫入命令的形式發(fā)出請(qǐng)求,以便向快閃存儲(chǔ)器180寫入數(shù)據(jù)。在步驟215中,USB控制器130接收到寫入命令。典型情況下,寫入命令指明了隨后將要存儲(chǔ)的數(shù)據(jù)包的數(shù)目。
圖3的流程圖描述了當(dāng)數(shù)據(jù)傳輸?shù)奖銛y式設(shè)備以便壓縮并寫入到快閃存儲(chǔ)器180中時(shí)發(fā)生的操作。主機(jī)平臺(tái)195將第一個(gè)數(shù)據(jù)包發(fā)送至USB控制器130(步驟303)。在一個(gè)實(shí)施例中,按照USB2.0標(biāo)準(zhǔn),每一個(gè)數(shù)據(jù)包對(duì)應(yīng)于存儲(chǔ)器的一個(gè)扇區(qū)或512字節(jié)。在備選的實(shí)施例中,按照USB1.1標(biāo)準(zhǔn),每一個(gè)數(shù)據(jù)包是64字節(jié)。
USB控制器130從主機(jī)平臺(tái)195接收數(shù)據(jù)包(步驟305)。USB控制器130將數(shù)據(jù)包發(fā)送至工作緩存器165(步驟310)。在優(yōu)選的實(shí)施例中,工作緩存器165最多能容納16K字節(jié)的數(shù)據(jù)。如果工作緩存器165達(dá)到最大容量而不能存儲(chǔ)更多的數(shù)據(jù),那么下一個(gè)數(shù)據(jù)包就會(huì)被拒絕,并且微控制器160會(huì)向主控制器195發(fā)出一個(gè)否定應(yīng)答(NAK)信號(hào),表示被拒絕的數(shù)據(jù)包未被接收(步驟312和313)。然后,主控制器195再次發(fā)送被拒絕的數(shù)據(jù)包(步驟303)。數(shù)據(jù)包被拒絕和再次發(fā)送的這一過(guò)程持續(xù)進(jìn)行,直到工作緩存器165有了足夠的容量接收下一個(gè)數(shù)據(jù)包(步驟314)。
微控制器160執(zhí)行壓縮/解壓縮引擎190(步驟315)。壓縮/解壓縮引擎190按“先進(jìn)先出”的方案對(duì)存儲(chǔ)于工作緩存器165中的數(shù)據(jù)包進(jìn)行操作,借此,數(shù)據(jù)包按照它們?cè)诠ぷ骶彺嫫?65存儲(chǔ)的順序進(jìn)行壓縮,這樣,最先存儲(chǔ)于工作緩存器165的數(shù)據(jù)包將最先被壓縮并最先被傳輸至快閃存儲(chǔ)器180。在優(yōu)選的實(shí)施例中,數(shù)據(jù)被壓縮至原有大小的50%。在優(yōu)選的實(shí)施例中,當(dāng)按照USB2.0標(biāo)準(zhǔn)進(jìn)行操作時(shí),壓縮引擎190每一次操作壓縮一個(gè)扇區(qū)(512字節(jié))的數(shù)據(jù)。在備選的實(shí)施例中,當(dāng)按照USB1.1標(biāo)準(zhǔn)進(jìn)行操作時(shí),壓縮引擎190每一次操作壓縮64字節(jié)的數(shù)據(jù)。被壓縮的數(shù)據(jù)存儲(chǔ)于快閃存儲(chǔ)器180中(步驟325)。
存儲(chǔ)器變換由微控制器150控制。在優(yōu)選的實(shí)施例中,主機(jī)平臺(tái)(及用戶)并不知道數(shù)據(jù)正在被壓縮。對(duì)主機(jī)平臺(tái)而言,數(shù)據(jù)好像未被壓縮那樣填充快閃存儲(chǔ)器180的扇區(qū)(即每一個(gè)扇區(qū)有512字節(jié)未被壓縮的數(shù)據(jù))。這樣,寫入第一個(gè)扇區(qū)的壓縮數(shù)據(jù)對(duì)主控制器而言就好像填滿了整個(gè)扇區(qū)。實(shí)際上,數(shù)據(jù)從512字節(jié)壓縮至256字節(jié),并且數(shù)據(jù)未被壓縮時(shí)所需的扇區(qū)空間的一半就可存儲(chǔ)這些數(shù)據(jù)。這樣,第二個(gè)數(shù)據(jù)包,在從512字節(jié)壓縮至256字節(jié)之后,也存儲(chǔ)于第一個(gè)扇區(qū)。對(duì)于主控制器而言,實(shí)際上存儲(chǔ)于第一個(gè)扇區(qū)的第二個(gè)數(shù)據(jù)包,顯得就好像存儲(chǔ)于第二個(gè)扇區(qū)中。同樣,存儲(chǔ)于第二個(gè)扇區(qū)的第一個(gè)數(shù)據(jù)包就會(huì)顯得好像存儲(chǔ)于第三個(gè)扇區(qū),而存儲(chǔ)于第二個(gè)扇區(qū)的第二個(gè)數(shù)據(jù)包就會(huì)顯得好像存儲(chǔ)于第四個(gè)扇區(qū)。
典型情況下,采取2位錯(cuò)誤檢測(cè)和1位校正機(jī)制(2 bit errordetection and 1 bit correction mechanisms)。
如果存在另外的數(shù)據(jù)包,主控制器195就向USB控制器130發(fā)送該數(shù)據(jù)包(步驟335和303)。數(shù)據(jù)壓縮引擎190繼續(xù)壓縮在工作緩存器165中存儲(chǔ)的另外的數(shù)據(jù)包(步驟320)。當(dāng)沒(méi)有需要壓縮的數(shù)據(jù)包時(shí),數(shù)據(jù)壓縮和存儲(chǔ)過(guò)程結(jié)束。
圖4描述了從便攜式數(shù)據(jù)存儲(chǔ)設(shè)備的存儲(chǔ)器中讀取數(shù)據(jù)并進(jìn)行解壓縮的步驟。
在步驟410中,用戶將便攜式設(shè)備100與主機(jī)平臺(tái)195相連接。在步驟410中,當(dāng)便攜式設(shè)備與主機(jī)平臺(tái)195連接之后,便攜式設(shè)備100進(jìn)行如上所述的初始化過(guò)程。主機(jī)平臺(tái)195通過(guò)向USB主控制器197發(fā)送請(qǐng)求包,而從便攜式設(shè)備100請(qǐng)求服務(wù)。USB主控制器197通過(guò)USB端口192向USB連接器140發(fā)送請(qǐng)求包。
主機(jī)平臺(tái)195可向便攜式存儲(chǔ)設(shè)備100,以讀出命令的形式發(fā)出請(qǐng)求,以便讀出用戶所請(qǐng)求的數(shù)據(jù)(步驟420)。USB控制器130接收到讀出命令(步驟425)。讀出命令指明了數(shù)據(jù)在快閃存儲(chǔ)器180中的位置和所要讀出的數(shù)據(jù)包的數(shù)目。由于主機(jī)平臺(tái)195并不知道數(shù)據(jù)受到壓縮,讀出命令所請(qǐng)求的數(shù)據(jù)并不一定位于主機(jī)平臺(tái)195認(rèn)為該數(shù)據(jù)所在的扇區(qū)。例如,如上所述,第二個(gè)數(shù)據(jù)包實(shí)際上存儲(chǔ)于第一個(gè)扇區(qū)的第二部分,對(duì)主機(jī)平臺(tái)195而言,就好像存儲(chǔ)于第二個(gè)扇區(qū)中。類似地,存儲(chǔ)于第二個(gè)扇區(qū)的第一個(gè)數(shù)據(jù)包就會(huì)顯得好像存儲(chǔ)于第三個(gè)扇區(qū),而存儲(chǔ)于第二個(gè)扇區(qū)的第二個(gè)數(shù)據(jù)包就會(huì)顯得好像存儲(chǔ)于第四個(gè)扇區(qū)。這樣,主機(jī)平臺(tái)195的數(shù)據(jù)請(qǐng)求可能指明某一特定的數(shù)據(jù)包存儲(chǔ)于第二個(gè)扇區(qū),而實(shí)際上,該數(shù)據(jù)存儲(chǔ)于第一個(gè)扇區(qū)的第二部分。為了解決這個(gè)問(wèn)題,微控制器160按照數(shù)據(jù)進(jìn)行存儲(chǔ)時(shí)的方式,從快閃存儲(chǔ)器180中讀取所請(qǐng)求的數(shù)據(jù)。
在步驟430中,微控制器160執(zhí)行壓縮/解壓縮引擎190。壓縮/解壓縮引擎190從快閃存儲(chǔ)器180中讀取所請(qǐng)求的數(shù)據(jù)包(步驟445)。壓縮/解壓縮引擎190對(duì)數(shù)據(jù)進(jìn)行解壓縮(步驟447)。經(jīng)過(guò)解壓縮的數(shù)據(jù)發(fā)送至工作緩存器165(步驟450)。經(jīng)過(guò)解壓縮的數(shù)據(jù)發(fā)送至USB控制器130(步驟455)。在步驟460中,將數(shù)據(jù)包發(fā)送至主機(jī)平臺(tái)195的存儲(chǔ)器(例如隨機(jī)存儲(chǔ)器)中。
數(shù)據(jù)壓縮/解壓縮引擎190繼續(xù)從快閃存儲(chǔ)器180中讀取數(shù)據(jù)并對(duì)其進(jìn)行解壓縮,直到所有請(qǐng)求的數(shù)據(jù)都已被解壓縮并發(fā)送至主機(jī)平臺(tái)195。
另外的選擇是,主機(jī)平臺(tái)195向便攜式設(shè)備100發(fā)出請(qǐng)求,以讀出在快閃存儲(chǔ)器180中存儲(chǔ)的數(shù)據(jù)的目錄。然后用戶就能在主機(jī)平臺(tái)195上觀察目錄,以確定他希望從快閃存儲(chǔ)器180中讀出哪一個(gè)數(shù)據(jù)。
顯然,上面的描述只涉及本發(fā)明的優(yōu)選的實(shí)施例。在本領(lǐng)域中有技術(shù)的人員可設(shè)計(jì)出其它的裝置而不偏離本發(fā)明的主旨及保護(hù)范圍。因而本發(fā)明只受限于所附的權(quán)利要求書(shū)。
權(quán)利要求
1.一種設(shè)備,其包括一個(gè)單一的便攜式數(shù)據(jù)存儲(chǔ)設(shè)備,它具有一個(gè)適用于存儲(chǔ)設(shè)備的通用串行總線USB連接器,該設(shè)備可通過(guò)該連接器與計(jì)算機(jī)直接連接,該存儲(chǔ)設(shè)備包括一個(gè)具有一個(gè)第一存儲(chǔ)容量的快閃存儲(chǔ)器;及一個(gè)數(shù)據(jù)壓縮引擎,該數(shù)據(jù)壓縮引擎能夠?qū)υ诳扉W存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)進(jìn)行壓縮,以便快閃存儲(chǔ)器的存儲(chǔ)容量超過(guò)所述第一存儲(chǔ)容量。
2.如權(quán)利要求1所述的便攜式數(shù)據(jù)存儲(chǔ)設(shè)備,其進(jìn)一步包括一個(gè)解壓縮引擎,該解壓縮引擎能夠?qū)υ诒銛y式設(shè)備的存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)進(jìn)行解壓縮。
3.如權(quán)利要求1所述的便攜式設(shè)備,其中用戶并不知道數(shù)據(jù)受到壓縮。
4.如權(quán)利要求1所述的便攜式設(shè)備,其中數(shù)據(jù)被壓縮至原有大小的50%。
5.如權(quán)利要求1所述的便攜式設(shè)備,其中存儲(chǔ)器的容量被增大100%。
6.如權(quán)利要求1所述的便攜式設(shè)備,其中用戶可以啟動(dòng)和禁止壓縮引擎。
7.一種壓縮數(shù)據(jù)的方法,該方法包括如下的步驟a)通過(guò)通用串行總線連接器將便攜式數(shù)據(jù)存儲(chǔ)設(shè)備直接連接于主機(jī)平臺(tái)的通信端口;b)執(zhí)行駐留在該便攜式存儲(chǔ)設(shè)備中的數(shù)據(jù)壓縮引擎;c)壓縮由主機(jī)提供的數(shù)據(jù);及e)將壓縮的數(shù)據(jù)存儲(chǔ)于便攜式設(shè)備的存儲(chǔ)器中。
8.如權(quán)利要求7所述的方法,其中用戶并不知道數(shù)據(jù)受到壓縮。
9.如權(quán)利要求7所述的方法,其中壓縮步驟包括將數(shù)據(jù)壓縮至原有大小的50%。
10.如權(quán)利要求7所述的方法,其中進(jìn)一步包括將存儲(chǔ)器的容量增大100%的步驟。
11.如權(quán)利要求7所述的方法,其中用戶可啟動(dòng)和禁止壓縮引擎。
12.一種對(duì)存儲(chǔ)于便攜式存儲(chǔ)設(shè)備的存儲(chǔ)器中的數(shù)據(jù)進(jìn)行解壓縮的方法,該方法包括如下的步驟a)通過(guò)通用串行總線USB將便攜式數(shù)據(jù)存儲(chǔ)設(shè)備直接連接于個(gè)人計(jì)算機(jī)的通信端口;b)執(zhí)行駐留于便攜式數(shù)據(jù)存儲(chǔ)設(shè)備中的數(shù)據(jù)壓縮/解壓縮引擎;及c)從便攜式數(shù)據(jù)存儲(chǔ)設(shè)備的存儲(chǔ)器中讀取經(jīng)過(guò)壓縮的數(shù)據(jù);d)對(duì)數(shù)據(jù)進(jìn)行解壓縮;及e)將數(shù)據(jù)發(fā)送至主機(jī)平臺(tái)。
13.如權(quán)利要求10所述的方法,其中用戶可啟動(dòng)和禁止壓縮引擎。
全文摘要
本發(fā)明提供一種便攜式存儲(chǔ)設(shè)備,它能夠通過(guò)通用串行總線(USB)端口、IEEE1394(火線)端口或類似的端口與個(gè)人計(jì)算機(jī)方便地連接。該便攜式存儲(chǔ)設(shè)備中包括一個(gè)能夠?qū)?shù)據(jù)進(jìn)行壓縮和解壓縮的壓縮/解壓縮引擎。個(gè)人計(jì)算機(jī)或其它主機(jī)平臺(tái)中的數(shù)據(jù)由該引擎壓縮,隨后存儲(chǔ)于便攜式存儲(chǔ)設(shè)備的存儲(chǔ)器中。壓縮的數(shù)據(jù)由該引擎讀取并解壓縮,隨后發(fā)送給個(gè)人計(jì)算機(jī)供用戶使用。這樣,本發(fā)明的實(shí)施例就為用戶提供了非常方便的系統(tǒng)和設(shè)備,使其能在相對(duì)較小的設(shè)備中訪問(wèn)和存儲(chǔ)更大量的數(shù)據(jù)。
文檔編號(hào)G11B20/00GK1822204SQ20061006582
公開(kāi)日2006年8月23日 申請(qǐng)日期2002年5月13日 優(yōu)先權(quán)日2002年5月13日
發(fā)明者符廷彬 申請(qǐng)人:特科2000國(guó)際有限公司