專利名稱:存儲(chǔ)在非易失可重新編程半導(dǎo)體存儲(chǔ)器中的文件數(shù)據(jù)的訪問的制作方法
背景本發(fā)明總體上涉及基于處理器的系統(tǒng),這些系統(tǒng)使用半導(dǎo)體存儲(chǔ)器做為其基本的、非易失的、可重新編程的存儲(chǔ)媒體。
所謂嵌入式的基于處理器的系統(tǒng)的重要性在不斷地提高。這些系統(tǒng)經(jīng)常以簡化的功能運(yùn)行,以在相當(dāng)?shù)偷某杀鞠绿峁┧璧男阅?。在許多情形中,這些嵌入式系統(tǒng)可能是電池供電的。這樣,可以限制其容量來改善電池的壽命。
由于包括保持電池壽命,減少成本以及提供一個(gè)緊湊的形狀因數(shù)等多種的原因,可以提供基于處理器的系統(tǒng),該系統(tǒng)不使用硬盤驅(qū)動(dòng)器做為其非易失存儲(chǔ)媒體。在許多基于處理器的系統(tǒng)中,硬盤驅(qū)動(dòng)器提供了一種常規(guī)的非易失存儲(chǔ)媒體,該媒體存儲(chǔ)了大多數(shù)用戶希望永久維持的信息。其中可能包括如操作系統(tǒng),應(yīng)用軟件,文件以及數(shù)據(jù)等等。被存儲(chǔ)在硬盤驅(qū)動(dòng)器中的信息可能被傳輸?shù)较到y(tǒng)存儲(chǔ)器來執(zhí)行,該系統(tǒng)存儲(chǔ)器一般來說是一種易失存儲(chǔ)器。
在許多系統(tǒng)中,硬盤驅(qū)動(dòng)器提供了一種具有很高的容量、相對快速的存儲(chǔ)媒體。但是,硬盤驅(qū)動(dòng)器比非易失半導(dǎo)體存儲(chǔ)器占用了更多的空間和使用了更多的能量。在許多嵌入式系統(tǒng)中,使用可重新編程的、非易失的半導(dǎo)體存儲(chǔ)器做為基于處理器系統(tǒng)的一種基本存儲(chǔ)系統(tǒng)。這些半導(dǎo)體存儲(chǔ)器存儲(chǔ)了包括操作系統(tǒng)在內(nèi)的通常存儲(chǔ)在硬盤驅(qū)動(dòng)器中的全套信息。
在許多情形中,用作基于處理器系統(tǒng)的主要非易失存儲(chǔ)媒體的半導(dǎo)體存儲(chǔ)器是閃速存儲(chǔ)器。這些閃速存儲(chǔ)器可以在無用戶干預(yù)的情況下使用眾所周知的播件性能被重新編程。通常使用行和列尋址來訪問這些存儲(chǔ)器。這樣,由于文件和其它數(shù)據(jù)在存儲(chǔ)器中的位置是存儲(chǔ)在該存儲(chǔ)器之處,因此這些存儲(chǔ)器通常是單片的。
因此,一直需要有一種方法,使一個(gè)操作系統(tǒng)能夠在一種非易失可重新編程半導(dǎo)體存儲(chǔ)器之上存儲(chǔ)更多信息以及有效地訪問那些信息。
附圖描述
圖1是一個(gè)概要顯示了依照本發(fā)明的一個(gè)實(shí)施方案所使用的軟件模塊;圖2是一個(gè)概要顯示了依照本發(fā)明的一個(gè)實(shí)施方案把原始未壓縮的多個(gè)文件分成多個(gè)塊;圖3是一個(gè)概要顯示了依照本發(fā)明的一個(gè)實(shí)施方案的一個(gè)壓縮文件系統(tǒng)映象中的地址分配;圖4是一個(gè)實(shí)現(xiàn)本發(fā)明的一個(gè)實(shí)施方案的系統(tǒng)的框圖;以及圖5是一個(gè)根據(jù)本發(fā)明的一個(gè)實(shí)施方案的可使用的軟件流程圖;圖6是一個(gè)根據(jù)本發(fā)明的一個(gè)實(shí)施方案的可使用的軟件的流程圖;和圖7是一個(gè)根據(jù)本發(fā)明的一個(gè)實(shí)施方案的用于壓縮數(shù)據(jù)塊的軟件流程圖。
詳細(xì)描述參照圖1,某一個(gè)客戶端基于處理器的系統(tǒng)可能包括一個(gè)軟件結(jié)構(gòu)10,該結(jié)構(gòu)具有與一個(gè)文件系統(tǒng)驅(qū)動(dòng)程序14通信的一個(gè)操作系統(tǒng)內(nèi)核12。該文件系統(tǒng)驅(qū)動(dòng)程序14接收來自某一個(gè)半導(dǎo)體存儲(chǔ)器40的原始數(shù)據(jù)并在一個(gè)邏輯布局中安排這些數(shù)據(jù)。該驅(qū)動(dòng)程序14與某一個(gè)高速緩沖存儲(chǔ)器16通信,該高速緩沖存儲(chǔ)器緩沖存儲(chǔ)原始數(shù)據(jù),以使之能夠被該驅(qū)動(dòng)程序14有效利用。根據(jù)本發(fā)明的一個(gè)實(shí)施方案,該設(shè)備驅(qū)動(dòng)程序18訪問來自某一個(gè)非易失可編程半導(dǎo)體存儲(chǔ)器40,諸如一個(gè)閃速存儲(chǔ)器的文件數(shù)據(jù)塊。該設(shè)備驅(qū)動(dòng)程序18不需要有關(guān)在該存儲(chǔ)器40之上的該數(shù)據(jù)格式的信息,以某種與該文件系統(tǒng)驅(qū)動(dòng)程序14兼容的格式來組織該數(shù)據(jù)。
因此,該存儲(chǔ)器40可以存儲(chǔ)一個(gè)客戶操作系統(tǒng)42和一個(gè)客戶操作系統(tǒng)出錯(cuò)時(shí)存取的恢復(fù)操作系統(tǒng)。根據(jù)本發(fā)明的一個(gè)實(shí)施方案,也可存儲(chǔ)一個(gè)基本輸入/輸出系統(tǒng)46(BIOS)。
該客戶操作系統(tǒng)42可以包括一個(gè)循環(huán)恢復(fù)檢查(CRC)字段22,指示分配表?xiàng)l目個(gè)數(shù)的一個(gè)字段24,包括該分配表的一個(gè)字段26,包括一個(gè)加載程序的一個(gè)字段28,以及包括操作系統(tǒng)內(nèi)核的一個(gè)字段30。字段30也包括該驅(qū)動(dòng)程序14和18。
客戶操作系統(tǒng)42還可以有一個(gè)或多個(gè)文件系統(tǒng)數(shù)據(jù)存儲(chǔ)區(qū)34,36和38。這些區(qū)域34,36和38包括可被該操作系統(tǒng)內(nèi)核12利用的原始?jí)嚎s數(shù)據(jù)。
該設(shè)備驅(qū)動(dòng)程序18可以根據(jù)來自于某個(gè)文件系統(tǒng)驅(qū)動(dòng)程序14的請求,訪問任何數(shù)據(jù)區(qū)34,36或38。因此,在該半導(dǎo)體存儲(chǔ)器40上可以以壓縮的格式訪問信息,而且可以用某種非壓縮格式把信息裝載到該快速緩沖存儲(chǔ)器16中,以便由設(shè)備驅(qū)動(dòng)程序14訪問。設(shè)備驅(qū)動(dòng)程序18解壓存儲(chǔ)器40中的壓縮數(shù)據(jù),并將其提供給高速緩沖存儲(chǔ)器16。
可以通過形成一個(gè)單一的二進(jìn)制文件,按圖2中48所示的原始形式包含原始的未壓縮文件系統(tǒng)數(shù)據(jù),來初始創(chuàng)建一個(gè)壓縮文件系統(tǒng)映像。然后,該包含了原始未壓縮文件系統(tǒng)的文件被劃分成許多同等大小的數(shù)據(jù)塊50a-50c。在本發(fā)明的一個(gè)實(shí)施方案中,該塊大小對每個(gè)壓縮文件系統(tǒng)映像來說是相同的,并且是在構(gòu)建時(shí)設(shè)置的。
如圖3中所示,該未壓縮數(shù)據(jù)然后被壓縮成可變長度的壓縮數(shù)據(jù)塊58,并被串連在一起。因此,這些未壓縮塊被壓縮以組成該壓縮文件系統(tǒng)映像20的壓縮塊58a-58c。
如圖3中所示,在本發(fā)明的一個(gè)實(shí)施方案中,區(qū)域34,36和38中的每一個(gè)(圖1)都包括具有一個(gè)標(biāo)題節(jié)(52-56)的一個(gè)映像以及存儲(chǔ)該文件系統(tǒng)數(shù)據(jù)的一系列壓縮塊58。該壓縮文件系統(tǒng)映像的標(biāo)題節(jié)包括具有循環(huán)恢復(fù)檢查信息的一個(gè)字段52。這個(gè)字段可以有一個(gè)零區(qū)距和兩個(gè)字節(jié)的長度。在一個(gè)數(shù)據(jù)塊的分配表長度上計(jì)算該循環(huán)恢復(fù)檢查值。該標(biāo)題節(jié)還包括用于塊分配表?xiàng)l目個(gè)數(shù)的一個(gè)字段54。它有一個(gè)兩字節(jié)的區(qū)距和四個(gè)字節(jié)的長度。塊分配表中條目的個(gè)數(shù)可以存儲(chǔ)為一個(gè)無符號(hào)的長值。該實(shí)際塊分配表(BAT)56有六字節(jié)區(qū)距以及與字節(jié)數(shù)BAT記錄個(gè)數(shù)相等的長度。該BAT56描述每個(gè)壓縮塊58的起始區(qū)距和長度。
該設(shè)備驅(qū)動(dòng)程序18使用BAT56在半導(dǎo)體存儲(chǔ)器40中找出每個(gè)壓縮數(shù)據(jù)塊58的起始和終止位置。設(shè)備驅(qū)動(dòng)程序18通過把數(shù)據(jù)的這些壓縮塊實(shí)時(shí)解壓縮并且根據(jù)操作系統(tǒng)內(nèi)核12在運(yùn)行時(shí)的請求而把該壓縮數(shù)據(jù)映射到該文件系統(tǒng)中來運(yùn)行的。該設(shè)備驅(qū)動(dòng)程序18可以對存儲(chǔ)為壓縮文件系統(tǒng)映象20的文件系統(tǒng)一無所知。
因此,根據(jù)本發(fā)明的某些實(shí)施方案,一個(gè)操作系統(tǒng)可以訪問存儲(chǔ)在某個(gè)半導(dǎo)體存儲(chǔ)器之上的壓縮文件系統(tǒng)數(shù)據(jù)。半導(dǎo)體存儲(chǔ)器與硬盤驅(qū)動(dòng)器相比,不易發(fā)生電氣和機(jī)械故障。在本發(fā)明的某些實(shí)施方案中,在該操作系統(tǒng)上的文件系統(tǒng)接口可以由應(yīng)用層面的程序所使用和操縱。由于存儲(chǔ)在該半導(dǎo)體存儲(chǔ)器中的數(shù)據(jù)是壓縮的,可以需要更少的存儲(chǔ)器,形成一種低成本的解決方案。
任何文件系統(tǒng)都可獨(dú)立于內(nèi)核文件系統(tǒng)的種類而被存儲(chǔ)在半導(dǎo)體存儲(chǔ)器之中。因此,該設(shè)備驅(qū)動(dòng)程序18可以不了解存儲(chǔ)在半導(dǎo)體存儲(chǔ)器40之中的文件系統(tǒng)。在發(fā)明的某些實(shí)施方案里,客戶系統(tǒng)10可以從一個(gè)遠(yuǎn)程服務(wù)器(未圖示)來訪問另外的文件。該客戶可以是一個(gè)基于處理器的系統(tǒng),如一個(gè)臺(tái)式計(jì)算機(jī)系統(tǒng),一個(gè)手持計(jì)算機(jī)系統(tǒng),一個(gè)基于處理器的電視系統(tǒng),一個(gè)機(jī)頂盒,一個(gè)儀表,一個(gè)瘦客戶機(jī),一部蜂窩電話等等。在某些實(shí)施方案中,該系統(tǒng)10可以不是一個(gè)連接到網(wǎng)絡(luò)的系統(tǒng)。
實(shí)現(xiàn)該可重新編程半導(dǎo)體存儲(chǔ)器40的一個(gè)存儲(chǔ)設(shè)備可以被電重新編程。在本發(fā)明的一個(gè)實(shí)施方案中,該存儲(chǔ)設(shè)備也可用作客戶端的BIOS存儲(chǔ)器。而BIOS存儲(chǔ)器一般為只讀存儲(chǔ)器(ROM),通過使用可重新編程存儲(chǔ)器40,操作系統(tǒng)以及BIOS可以在損壞時(shí)被更新或者替代。在本發(fā)明的其它一些實(shí)施方案中,除了存儲(chǔ)器40之外,可以使用一個(gè)常規(guī)BIOS ROM。
多種閃速存儲(chǔ)器可以實(shí)現(xiàn)存儲(chǔ)器40,諸如Intel的StrataFlashTM牌存儲(chǔ)器。一種便利的存儲(chǔ)器是由Intel公司提供的28F64OJ58M閃速陣列。這種存儲(chǔ)器包括多個(gè)128K塊。每塊都可以被數(shù)據(jù)保護(hù),使其可被擦除或者覆蓋。換句話說,可以有選擇地對存儲(chǔ)器中的一個(gè)或多個(gè)塊施加數(shù)據(jù)保護(hù)。
可以針對內(nèi)核12采用多種操作系統(tǒng),例如,包括Linux,MicrosoftWindows@98,Windows2000或者WindowsCE和BE操作系統(tǒng)。該基本操作系統(tǒng)也可是一個(gè)實(shí)時(shí)操作系統(tǒng)(RTOS)諸如由3Com公司提供的PalmOS@Software3.5。
在基本操作系統(tǒng)42損壞或需要更新的情況下,恢復(fù)操作系統(tǒng)44投入運(yùn)行。該恢復(fù)操作系統(tǒng)44可以是一個(gè)縮小規(guī)模的操作系統(tǒng),包括基本的功能和獲得一個(gè)基本操作系統(tǒng)所需的有限的軟件。因此,正如在本文所使用的那樣,恢復(fù)操作系統(tǒng)是負(fù)責(zé)更新和/或替代某個(gè)基本操作系統(tǒng)的一種操作系統(tǒng)。
在理想情況下,該恢復(fù)操作系統(tǒng)44可以被盡可能地剝離以節(jié)省存儲(chǔ)。如有可能,其內(nèi)核可被減少到僅有實(shí)現(xiàn)其恢復(fù)和更新功能所需的編碼。一個(gè)特別適合的內(nèi)核是Linux內(nèi)核。Linux內(nèi)核包括一個(gè)被稱為MakeXConfig的基于X的內(nèi)核應(yīng)用程序。這個(gè)應(yīng)用程序提供一個(gè)圖形用戶界面以便于選擇內(nèi)核和操作系統(tǒng)的組件。即,Linux操作系統(tǒng)允許其用戶回答一系列問題,這些問題由一個(gè)圖形用戶接口提出并指示是否希望特別的功能。
在出現(xiàn)一些系統(tǒng)錯(cuò)誤或者事故的情形中,該客戶系統(tǒng)可以重新引導(dǎo)來消除錯(cuò)誤。如果重新引導(dǎo)的次數(shù)超出某個(gè)臨界級(jí),則該恢復(fù)操作系統(tǒng)可被激活。當(dāng)該系統(tǒng)試圖重新引導(dǎo)時(shí),它可以檢查一個(gè)CMOS存儲(chǔ)器重新引導(dǎo)計(jì)數(shù)標(biāo)志,如果超出該重新引導(dǎo)計(jì)數(shù)臨界值則自動(dòng)重新引導(dǎo)該恢復(fù)操作系統(tǒng)。啟動(dòng)恢復(fù)操作系統(tǒng)44。以便獲取基本操作系統(tǒng)42的一個(gè)新版本。
分配表(AT)26把該存儲(chǔ)器40分區(qū)并允許將多個(gè)編碼和數(shù)據(jù)的變化存儲(chǔ)在該存儲(chǔ)器40中。這就允許多個(gè)引導(dǎo)加載程序存在于該存儲(chǔ)器之中以引導(dǎo)不同的操作系統(tǒng)映像。在引導(dǎo)時(shí),BIOS46可以基于一個(gè)恢復(fù)位的狀態(tài),選擇將裝載和執(zhí)行哪個(gè)引導(dǎo)裝入程序。
用于裝載該基本操作系統(tǒng)的某一個(gè)引導(dǎo)裝入程序28可以被存儲(chǔ)在該分配表26之上。在該引導(dǎo)裝入程序28之上的是核30或該基本操作系統(tǒng)42的內(nèi)核。該基本操作系統(tǒng)42可以是相同于或者不同于該恢復(fù)操作系統(tǒng)44。
在核30之上是文件系統(tǒng)。該分配表26包括存儲(chǔ)在該存儲(chǔ)器40中的每個(gè)項(xiàng)的一個(gè)條目,該存儲(chǔ)器又包括存儲(chǔ)在該文件系統(tǒng)中的多個(gè)項(xiàng)。該文件系統(tǒng)包括文件、目錄以及用于定位和訪問操作系統(tǒng)文件和目錄的信息。
包含在該分配表26中的每個(gè)項(xiàng)包括有關(guān)該軟件版本、標(biāo)志、該數(shù)據(jù)區(qū)距、該數(shù)據(jù)的長度以及其裝入地址的信息。該版本號(hào)可以記錄哪個(gè)版本的軟件被裝入在某一個(gè)特別的存儲(chǔ)器中。該數(shù)據(jù)區(qū)距決定某一個(gè)記錄被定位在該存儲(chǔ)器40中何處。該標(biāo)識(shí)字段具備有關(guān)相應(yīng)條目的種類的信息。該標(biāo)識(shí)字段的最低有效位可以包括有關(guān)該循環(huán)恢復(fù)檢查狀態(tài)的信息。事實(shí)上,這就告訴BIOS是否必須計(jì)算一個(gè)CRC。下一個(gè)最高有效位包括塊類型。該塊類型包括指示某一個(gè)引導(dǎo)裝載程序“引導(dǎo)”、“核”或者“文件系統(tǒng)”。如果該塊類型是引導(dǎo)裝入程序,則該標(biāo)識(shí)字段指出在隨機(jī)存取存儲(chǔ)器中何處裝入出自該存儲(chǔ)器40的引導(dǎo)裝載程序。某一個(gè)引導(dǎo)裝入程序或引導(dǎo)捆綁裝載程序裝入,并將控制傳送給裝載一個(gè)操作系統(tǒng)的另一個(gè)裝載程序。
本發(fā)明可適用于多種基于處理器系統(tǒng),而圖4中說明了一個(gè)用一個(gè)機(jī)頂盒作為該客戶系統(tǒng)60的一項(xiàng)應(yīng)用。一個(gè)機(jī)頂盒與一個(gè)電視接收機(jī)一起工作。該客戶端60可以包括與某個(gè)圖形加速端口(AGP)芯片組66相連的一個(gè)處理器65??梢詮募永D醽喼菔ニ死堑腎ntel公司獲得該圖形加速端口2.0版說明書。該芯片組66可在其圖形加速接口總線70中連接到系統(tǒng)存儲(chǔ)器68。該總線70又可到某一個(gè)圖形加速器72,而該圖形加速器也是連接到某一個(gè)視頻或者電視接收機(jī)73。
系統(tǒng)存儲(chǔ)器的某一部分75,被稱為CMOS存儲(chǔ)器,可由適于保存系統(tǒng)數(shù)據(jù)的集成電路中的存儲(chǔ)器所實(shí)現(xiàn)。該CMOS一般包括計(jì)時(shí)的一個(gè)實(shí)時(shí)時(shí)鐘?;謴?fù)和更新位被存儲(chǔ)在該CMOS存儲(chǔ)器中的預(yù)定的位置。
該芯片組66也可連接總線74并接收某一塊電視頻道選擇/捕捉卡76。該卡76可以連接到一根電視天線78,做為另一個(gè)實(shí)例,該天線也可是一個(gè)衛(wèi)星或者電纜接頭。也可提供一個(gè)與網(wǎng)絡(luò)16的接口,如一個(gè)與因特網(wǎng)連接的調(diào)制解調(diào)器,或?yàn)橐粋€(gè)計(jì)算機(jī)網(wǎng)絡(luò)提供一個(gè)網(wǎng)絡(luò)接口控制器。
一個(gè)橋80又可連接到另一個(gè)總線84,支持一個(gè)串行輸入/輸出接口86以及一個(gè)存儲(chǔ)器接口94。該接口86可連接到一個(gè)調(diào)制解調(diào)器88或者一個(gè)鍵盤92。該接口94可以連接存儲(chǔ)恢復(fù)操作系統(tǒng)的存儲(chǔ)器40BIOS,以及基本操作系統(tǒng)。該橋80是由Intel公司提供的82371BPCIISA IDE Xcelerator(PIIX4)芯片組。因此,它可以包括通用輸入/輸出引腳(GP[I,O])。
關(guān)于多個(gè)用來實(shí)現(xiàn)計(jì)算機(jī)系統(tǒng)的芯片組,可以對芯片組進(jìn)行設(shè)置,使其一次只能觀察到一定數(shù)量的BIOS編碼線。在基本操作系統(tǒng)和恢復(fù)操作系統(tǒng)被存儲(chǔ)在閃速存儲(chǔ)器中的實(shí)施方案中,可以與訪問BIOS存儲(chǔ)器的方式相同的方式來對其進(jìn)行訪問一樣被訪問。因此,由于被訪問的閃速存儲(chǔ)器比BIOS存儲(chǔ)器大得多,最好允許其它技術(shù)來訪問存儲(chǔ)在該閃速存儲(chǔ)器中的所有數(shù)據(jù)。Intel公司的一項(xiàng)用于在處理器中進(jìn)行該操作的技術(shù)是在諸如PIIX4裝置上使用GP[I,O]引腳??蓪⑦@些引腳連接到那些負(fù)責(zé)產(chǎn)生讀取BIOS的信號(hào)的引腳。當(dāng)提供這些合適GP[I,O]信號(hào)時(shí),閃速存儲(chǔ)器讀出過程可以成組切換以順序讀出整個(gè)存儲(chǔ)器。
該系統(tǒng)60可以創(chuàng)建壓縮文件系統(tǒng)映像從而將其存儲(chǔ)在存儲(chǔ)器中。例如,該系統(tǒng)可以從另一個(gè)存儲(chǔ)設(shè)備引導(dǎo),創(chuàng)建該文件系統(tǒng)映像以及把該映像存儲(chǔ)在存儲(chǔ)器40之上。另一方面,可通過一個(gè)基于處理器的外部系統(tǒng)創(chuàng)建映像并將其存儲(chǔ)在該存儲(chǔ)器40之上。
現(xiàn)在參照圖5,根據(jù)一個(gè)實(shí)施方案,軟件108開始于開機(jī)或者系統(tǒng)復(fù)位,BIOS執(zhí)行和完成系統(tǒng)初始化和加電自檢(模塊110)。該存儲(chǔ)器40的內(nèi)容可以通過檢查存儲(chǔ)在閃速存儲(chǔ)器字段96中的CRC來驗(yàn)證,正如模塊112中所指示。在這點(diǎn)上,通過掃描該分配表和選擇一個(gè)標(biāo)記的記錄作為引導(dǎo)裝入程序,BIOS選擇引導(dǎo)裝入程序(模塊114)來執(zhí)行。然后,該引導(dǎo)裝入程序使用該分配表以找出該基本操作系統(tǒng)被定位在該閃速存儲(chǔ)器何處(模塊116),在系統(tǒng)存儲(chǔ)器中的適當(dāng)?shù)刂费b入該基本操作系統(tǒng)(模塊118)并且開始其運(yùn)行(模塊120)。
參照圖6,設(shè)備驅(qū)動(dòng)程序18可以開始接收數(shù)據(jù)塊的請求,正如模塊124所示。如模塊126所示,從存儲(chǔ)中訪問請求的數(shù)據(jù)塊。每個(gè)塊都被解壓縮,如模塊128所示。然后,如模塊130所示,該數(shù)據(jù)返到該文件系統(tǒng)模塊。
如圖7所示,用于壓縮該文件系統(tǒng)映像的軟件132在開始時(shí)把該文件系統(tǒng)映像劃分成如模塊134所示的相同大小的多個(gè)塊50。該數(shù)據(jù)被壓縮并組成如136所示的可變長度的串連的數(shù)據(jù)塊。除了CRC(模塊140)和BAT(模塊142),還確定了記錄的數(shù)目(模塊138)。
參照有限數(shù)量的實(shí)施方案,對本發(fā)明進(jìn)行了描述,本領(lǐng)域熟練技術(shù)人員將會(huì)意識(shí)到可對本發(fā)明進(jìn)行大量的適當(dāng)修正和更改。附加的權(quán)利要求涵蓋了所有屬于本發(fā)明的真正宗旨和范圍的修正和更改。
權(quán)利要求
1.一種方法,包含從一個(gè)操作系統(tǒng)接收對文件數(shù)據(jù)的一個(gè)請求;以及訪問某一個(gè)存儲(chǔ)壓縮文件數(shù)據(jù)的半導(dǎo)體存儲(chǔ)器。
2.權(quán)利要求1的方法,進(jìn)一步包括對所述壓縮文件數(shù)據(jù)解壓縮。
3.權(quán)利要求2的方法,包括使用一個(gè)設(shè)備驅(qū)動(dòng)程序用一種與所述操作系統(tǒng)所用的文件系統(tǒng)兼容的格式來格式化該解壓的數(shù)據(jù)。
4.權(quán)利要求3的方法,包括把該解壓縮數(shù)存儲(chǔ)在由一個(gè)文件系統(tǒng)驅(qū)動(dòng)程序使用的某個(gè)緩沖區(qū)中。
5.權(quán)利要求1的方法,包括組成一個(gè)大小充分相同的數(shù)據(jù)塊文件系統(tǒng)映像。
6.權(quán)利要求5的方法,包括壓縮每個(gè)所述數(shù)據(jù)塊以組成一個(gè)壓縮文件系統(tǒng)映像,該壓縮文件系統(tǒng)映像由不同大小的塊組成。
7.權(quán)利要求6的方法,包括把一個(gè)文件頭附到所述文件系統(tǒng)映像,該文件系統(tǒng)映像提供如何把每個(gè)塊定位的有關(guān)信息。
8.權(quán)利要求7的方法,包括在所述文件頭中提供有關(guān)一個(gè)分配表中的條目個(gè)數(shù)信息以及在所述分配表中提供有關(guān)在所述文件系統(tǒng)映像中的每個(gè)所述壓縮塊的長度信息。
9.權(quán)利要求1的方法,包括訪問存儲(chǔ)在所述半導(dǎo)體存儲(chǔ)器中的一個(gè)操作系統(tǒng)。
10.一種產(chǎn)品,包含一個(gè)存儲(chǔ)指令的媒體,這些指令使一個(gè)基于處理器的系統(tǒng)從一個(gè)操作系統(tǒng)接收對文件數(shù)據(jù)的請求;以及訪問一個(gè)存儲(chǔ)壓縮文件系統(tǒng)數(shù)據(jù)的半導(dǎo)體存儲(chǔ)器。
11.權(quán)利要求10的產(chǎn)品,進(jìn)一步存儲(chǔ)使一個(gè)基于處理器的系統(tǒng)對所述壓縮文件數(shù)據(jù)解壓縮的指令。
12.權(quán)利要求11的產(chǎn)品,進(jìn)一步存儲(chǔ)使一個(gè)基于處理器的系統(tǒng)使用一個(gè)設(shè)備驅(qū)動(dòng)程序以一種與所述操作系統(tǒng)使用的文件系統(tǒng)兼容的格式來格式化該解壓縮數(shù)據(jù)的指令。
13.權(quán)利要求11的產(chǎn)品,進(jìn)一步存儲(chǔ)使一個(gè)基于處理器的系統(tǒng)把該解壓縮數(shù)存儲(chǔ)在由某一個(gè)文件系統(tǒng)驅(qū)動(dòng)程序使用的某個(gè)緩沖區(qū)中的指令。
14.權(quán)利要求13的產(chǎn)品,進(jìn)一步存儲(chǔ)使一個(gè)基于處理器的系統(tǒng)形成上大小充分相同的數(shù)據(jù)塊的文件系統(tǒng)映像的指令。
15.權(quán)利要求14的產(chǎn)品,進(jìn)一步存儲(chǔ)使一個(gè)基于處理器的系統(tǒng)壓縮上述每個(gè)數(shù)據(jù)塊以組成一個(gè)不同大小的數(shù)據(jù)塊的壓縮文件系統(tǒng)映像的指令。
16.權(quán)利要求15的產(chǎn)品,進(jìn)一步存儲(chǔ)使一個(gè)基于處理器的系統(tǒng)把一個(gè)文件頭附到所述文件系統(tǒng)映像的指令,提供有關(guān)如何定位每個(gè)數(shù)據(jù)塊的信息。
17.權(quán)利要求16的產(chǎn)品,進(jìn)一步存儲(chǔ)使一個(gè)基于處理器的系統(tǒng)在所述文件頭中提供包含有關(guān)所述文件系統(tǒng)映像中的每個(gè)壓縮塊的長度信息的塊分配表的指令。
18.權(quán)利要求17的產(chǎn)品,進(jìn)一步存儲(chǔ)使一個(gè)基于處理器的系統(tǒng)在文件頭中提供有關(guān)分配表中的條目個(gè)數(shù)信息的指令。
19.權(quán)利要求10的產(chǎn)品,進(jìn)一步存儲(chǔ)使一個(gè)基于處理器的系統(tǒng)訪問存儲(chǔ)在半導(dǎo)體存儲(chǔ)器中的一個(gè)操作系統(tǒng)的指令。
20.一個(gè)系統(tǒng),包含一個(gè)處理器;以及一個(gè)連接到該處理器的可重新編程半導(dǎo)體存儲(chǔ)器,該存儲(chǔ)器存儲(chǔ)了一個(gè)壓縮的操作系統(tǒng)以及用于該操作系統(tǒng)的壓縮數(shù)據(jù)。
21.權(quán)利要求20的系統(tǒng),其中所述存儲(chǔ)器是一種閃速存儲(chǔ)器。
22.權(quán)利要求21的系統(tǒng),包括以一個(gè)壓縮格式存儲(chǔ)在所述存儲(chǔ)器之上的一個(gè)基本輸入/輸出系統(tǒng)。
23.權(quán)利要求22的系統(tǒng),包括存儲(chǔ)在所述存儲(chǔ)器之上的,當(dāng)失敗的基本操作系統(tǒng)需要更新時(shí)使用的備份操作系統(tǒng)。
24.權(quán)利要求20的系統(tǒng),包括某一個(gè)設(shè)備驅(qū)動(dòng)程序,該設(shè)備驅(qū)動(dòng)程序把存儲(chǔ)器中的壓縮數(shù)據(jù)解壓縮,并且以該操作系統(tǒng)使用的一種格式提供所述數(shù)據(jù)。
25.權(quán)利要求24的系統(tǒng),包括某一個(gè)文件系統(tǒng)驅(qū)動(dòng)程序,該文件系統(tǒng)驅(qū)動(dòng)程序?qū)脑O(shè)備驅(qū)動(dòng)程序接收的數(shù)據(jù)組織成一個(gè)文件系統(tǒng)。
26.權(quán)利要求20的系統(tǒng),其中所述半導(dǎo)體存儲(chǔ)器存儲(chǔ)一個(gè)分配表,該分配表指示被存儲(chǔ)在所述存儲(chǔ)器之中的條目的長度以及在所述分配表中的條目個(gè)數(shù)。
27.權(quán)利要求20的系統(tǒng),其中將以壓縮格式存儲(chǔ)在所述半導(dǎo)體存儲(chǔ)器之上的文件系統(tǒng)數(shù)據(jù)組成不相同長度的壓縮數(shù)據(jù)塊。
28.權(quán)利要求20的系統(tǒng),包括用于存儲(chǔ)在所述半導(dǎo)體存儲(chǔ)器之上的一個(gè)以上的文件系統(tǒng)的數(shù)據(jù)。
29.權(quán)利要求27的系統(tǒng),包括一個(gè)裝入程序以及一個(gè)用于存儲(chǔ)在所述存儲(chǔ)器之上的一個(gè)操作系統(tǒng)的內(nèi)核。
30.權(quán)利要求20的系統(tǒng),包括一個(gè)用以從網(wǎng)絡(luò)下載附加數(shù)據(jù)的網(wǎng)絡(luò)聯(lián)接。
全文摘要
用于一個(gè)操作系統(tǒng)的文件數(shù)據(jù)可能以一種壓縮格式存儲(chǔ)在某一個(gè)可重新編程的半導(dǎo)體存儲(chǔ)器中。對于一個(gè)或多個(gè)均以一種壓縮格式存儲(chǔ)的文件系統(tǒng),為存儲(chǔ)器提供一個(gè)頭部和數(shù)據(jù)??梢岳靡泊鎯?chǔ)在該存儲(chǔ)器中的某一設(shè)備驅(qū)動(dòng)程序?qū)υ摂?shù)據(jù)進(jìn)行解壓縮并將其轉(zhuǎn)換成適合某一種特殊文件系統(tǒng)或者操作系統(tǒng)的格式。
文檔編號(hào)G06F9/445GK1436330SQ01811060
公開日2003年8月13日 申請日期2001年3月29日 優(yōu)先權(quán)日2000年4月12日
發(fā)明者E·R·羅爾茲, J·P·凱特雷諾斯 申請人:英特爾公司