專利名稱:對存儲在非易失性可重編程半導(dǎo)體存儲器中的信息進行組織的制作方法
背景本發(fā)明在總體上涉及將半導(dǎo)體存儲器用作非易失性可重編程的主存儲介質(zhì)的基于處理器的系統(tǒng)。
對所謂的嵌入式基于處理器的系統(tǒng)的興趣在日益增加。這類系統(tǒng)通常按減少了的功能進行操作,以便按較低的成本提供預(yù)定的效率。在許多情況下,這些嵌入式系統(tǒng)可以靠電池運行。因此,對它們的容量進行限制,以便提高電池的壽命。
就包括節(jié)省電池壽命、減少成本并提供緊湊形式因素在內(nèi)的多種理由而言,可以提供這樣的基于處理器的系統(tǒng),它們不把硬盤驅(qū)動器用作非易失性存儲介質(zhì)。在許多基于處理器的系統(tǒng)中,硬盤驅(qū)動器能提供一種方便的非易失性存儲介質(zhì),這種介質(zhì)能存儲用戶希望永久保存的大多數(shù)信息。作為實例,這包括操作系統(tǒng)、應(yīng)用軟件、文件和數(shù)據(jù)。存儲在硬盤驅(qū)動器中的信息可以為了執(zhí)行而被傳給通常是易失性存儲器的系統(tǒng)存儲器。
在許多系統(tǒng)中,硬盤驅(qū)動器提供了非常高容量、相對較快的存儲介質(zhì)。但是,硬盤驅(qū)動器比非易失性半導(dǎo)體存儲器占用更多的空間并使用要多的能量。在許多嵌入式系統(tǒng)中,將可重編程的非易失性半導(dǎo)體存儲器作為主存儲系統(tǒng)用于基于處理器系統(tǒng)。這些半導(dǎo)體存儲器存儲有通常存儲在硬盤驅(qū)動器中包括操作系統(tǒng)在內(nèi)的全部信息。
在許多情況下,作為主易失性存儲介質(zhì)用于基于處理器的系統(tǒng)的半導(dǎo)體存儲器使用了FLASH(塊閃)存儲器??稍诓挥糜脩舾深A(yù)的情況下利用周知的電路板上的(on board)能力來對FLASH存儲器重新編程。一般利用行和列地址來訪問這些存儲器。因此,這些存儲器一般是整體式的,因為存儲器中的文件和其它數(shù)據(jù)的地址通常存儲在該存儲器的外部。
盡管這種系統(tǒng)能與較簡單的嵌入式基于處理器的系統(tǒng)配合得很好,但是,當(dāng)對基于處理器的系統(tǒng)的要求增加時,這種簡單的存儲系統(tǒng)不適于處理某些預(yù)定的功能。因此,需要將非易失性可重編程半導(dǎo)體存儲器作為主非易性文件系統(tǒng)用于基于處理器系統(tǒng)的改進方式。
發(fā)明概要依照一個方面,一種用于對非易失性可重編程的半導(dǎo)體存儲器中所存儲的信息進行組織的方法包括將存儲器分成多個分區(qū),每個分區(qū)均具有限定的地址。用于一個分區(qū)中的限定的地址存儲在另一個分區(qū)中。
后面的詳細描述和權(quán)利要求說明了本發(fā)明的其它方面。
詳細描述
圖1所示的客戶機/服務(wù)器計算機系統(tǒng)10可包括一個或多個服務(wù)器18,這些服務(wù)器通過網(wǎng)絡(luò)16與一個或多個客戶機12相連。每個客戶機12均可具有存儲設(shè)備14??蛻魴C12可以是諸如桌面計算機系統(tǒng)、手持式計算機系統(tǒng)、基于處理器的電視系統(tǒng)、機頂盒、家用電器、瘦客戶機、蜂窩式電話或類似裝置之類的基于處理器的系統(tǒng)。網(wǎng)絡(luò)16可以是多種網(wǎng)絡(luò)中的任何一種,包括局域網(wǎng)(LAN)、市域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、無線網(wǎng)、本地網(wǎng)或諸如因特網(wǎng)之類的互聯(lián)網(wǎng)。
在系統(tǒng)10中,客戶機12可永久地將其操作系統(tǒng)存儲在可重編程的存儲設(shè)備14上。存儲設(shè)備14通??梢允怯脖P驅(qū)動器或FLASH存儲器。當(dāng)操作系統(tǒng)被破壞或需要更新時,客戶機10可訪問網(wǎng)絡(luò)16和服務(wù)器18,以便獲得未破壞或更新的操作系統(tǒng)并且自動地將新操作系統(tǒng)重裝進存儲設(shè)備14。
存儲設(shè)備14可按電子方式重新編程。在本發(fā)明的一個實施例中,存儲設(shè)備14還可用作客戶機12的BIOS存儲器。盡管BIOS一般是只讀存儲器(ROM),但是,通過使用可重編程的存儲器,可在被破壞時更新或替換操作系統(tǒng)和BIOS代碼,如下文所述。在其它實施例中,除存儲設(shè)備14以外,還可使用通常的BIOS ROM。
可用諸如英特爾的StrataFlashTM品牌存儲器之類的多種FLASH存儲器來實現(xiàn)存儲設(shè)備14。一種有優(yōu)勢的存儲器是28F640J5八兆字節(jié)FLASH陣列,它可從英特爾公司獲得。這種存儲器包括多個128千字節(jié)的塊。每個塊均是可保護數(shù)據(jù)的,因此,各塊不能被刪除或重寫。換句話說,可有選擇地將數(shù)據(jù)保護功能應(yīng)用于存儲器中多個塊的一個或多個。
可將BIOS存儲在FLASH存儲器的一個或多個數(shù)據(jù)保護塊內(nèi)。同樣,恢復(fù)用操作系統(tǒng)(recovery operating system)可存儲在也是數(shù)據(jù)保護的一個或多個塊內(nèi)。在一個實施例中,BIOS可存儲在兩個128千字節(jié)塊內(nèi),恢復(fù)用操作系統(tǒng)可使用兩個128千字節(jié)塊??捎闷溆嗟拇鎯ζ鱽泶鎯χ鞑僮飨到y(tǒng)和文件系統(tǒng)。有關(guān)FLASH存儲器的其它信息可在1998年1月序號為2108830-017的“FLASH存儲器”數(shù)據(jù)手冊中找到,該手冊可從加里福尼亞州的圣塔克拉拉的英特爾公司獲得。
參照圖2,存儲設(shè)備14的存儲器結(jié)構(gòu)包括用于BIOS和恢復(fù)用操作系統(tǒng)的可尋址存儲單元20以及主操作系統(tǒng)22。主操作系統(tǒng)可以是通用的操作系統(tǒng),作為實例,這些操作系統(tǒng)諸如是MicrosoftWindows或CE、Linux或BE操作系統(tǒng)。主操作系統(tǒng)還可以是諸如palmOS之類的實時操作系統(tǒng)(RTOS)。BIOS和恢復(fù)用操作系統(tǒng)20在主操作系統(tǒng)22被破壞或需要更新時運行。恢復(fù)用操作系統(tǒng)20可以是小型操作系統(tǒng),包括基本的主要的BIOS功能和為了獲得新的主操作系統(tǒng)所需的有限軟件。因此,正如本文所使用的那樣,“恢復(fù)用操作系統(tǒng)”是一種這樣的操作系統(tǒng),它負責(zé)更新和/或獲得主操作系統(tǒng)的替代物。
參照圖3,在本發(fā)明的一個實施例中,恢復(fù)用操作系統(tǒng)20包括內(nèi)核26、網(wǎng)絡(luò)接口控制器(NIC)驅(qū)動器30以及網(wǎng)絡(luò)棧28。內(nèi)核26是恢復(fù)用操作系統(tǒng)20的核心。棧28例如包括用戶數(shù)據(jù)報協(xié)議/因特網(wǎng)協(xié)議(UDP/IP)、次要文件傳輸協(xié)議(TFTP)、動態(tài)主機控制協(xié)議(DHCP)、地址解析協(xié)議(ARP)、引導(dǎo)跨接協(xié)議(BOOTTP)。(可在www.ietf.org/rfc.html.找到這些協(xié)議)?;謴?fù)用操作系統(tǒng)20還可包括操作系統(tǒng)恢復(fù)和更新應(yīng)用軟件24。還可包括FLASH驅(qū)動器34和BIOS服務(wù)35。FLASH驅(qū)動器用于將新的主操作系統(tǒng)寫至FLASH存儲器,其中,將FLASH存儲器用作存儲設(shè)備14。硬件接口36將軟件層與硬件母板連接起來。
從理論上說,可以盡可能地拆解恢復(fù)用操作系統(tǒng)22,以節(jié)省存儲器。如果可能的話,可將內(nèi)核26減少成僅為實現(xiàn)恢復(fù)和更新功能所必需的代碼。一種可具體應(yīng)用的內(nèi)核是LINUX內(nèi)核。LINUX內(nèi)核包括基于X的內(nèi)核配置實用工具(稱為形成xconfig)。這種實用工具提供了圖形用戶界面,以便于選擇內(nèi)核和操作系統(tǒng)的部件。也就是說,LINUX操作系統(tǒng)允許用戶回答一系列問題,這些問題是通過圖形用戶接口提出的,表示是否希望特定的功能。然后排除掉用于被取消的功能的代碼。結(jié)果,可在不訪問目標碼的情況下很容易開發(fā)出被相對簡化的操作系統(tǒng)。
在某些軟件出錯或崩潰的情況下,所述系統(tǒng)可重啟動,從而解決錯誤。CMOS存儲器中的監(jiān)視計時器保存未成功的試圖重啟動的計數(shù)值。如果該數(shù)量超過閾值(例如3),則調(diào)用恢復(fù)用操作系統(tǒng)。當(dāng)系統(tǒng)試圖重啟動時,系統(tǒng)檢查CMOS存儲器重啟動計數(shù)值并在超過重啟動計數(shù)閾值的情況下自動地啟動恢復(fù)用操作系統(tǒng)。使恢復(fù)用操作系統(tǒng)20啟動,從而可取出新版本的主操作系統(tǒng)圖像。
恢復(fù)用操作系統(tǒng)20還可獲得操作系統(tǒng)更新版本??捎枚喾N方式做到這一點。在一個實施例中,用戶可請求更新版本,從而在CMOS存儲器中設(shè)置獨立的更新比特。在另一個實施例中,操作系統(tǒng)提供商可將消息廣播給其用戶,以指示可獲得更新版本。接收消息的用戶系統(tǒng)可把它們的更新比特自動地設(shè)置在CMOS存儲器內(nèi)。在下一次企圖啟動時,可以啟動恢復(fù)用操作系統(tǒng)以便自動地獲得更新版本。
另外,恢復(fù)和更新應(yīng)用軟件24可配置成能在預(yù)定的低使用時間自動地獲得更新。例如,如果系統(tǒng)檢測到設(shè)置了更新比特從而表示希望更新,則系統(tǒng)等待直至午夜以自動地下載更新版本。
恢復(fù)用操作系統(tǒng)可進而通過網(wǎng)絡(luò)接口控制器和網(wǎng)絡(luò)16進行通信以便取出新版本的主操作系統(tǒng)的圖像??赏ㄟ^訪問同一網(wǎng)絡(luò)中的另一設(shè)備或在另一實例中通過在因特網(wǎng)中訪問預(yù)定的的操作系統(tǒng)來做到這一點。
在系統(tǒng)存儲器中檢查了新操作系統(tǒng)并將新操作系統(tǒng)裝進了存儲器14之后,可以重啟動系統(tǒng)。當(dāng)系統(tǒng)重啟動主操作系統(tǒng)之后,主操作系統(tǒng)重置CMOS存儲器中的更新比特。
在某些試圖啟動的情況下,對所存儲的操作系統(tǒng)的分析可確定該操作系統(tǒng)是否被破壞。例如,在啟動過程中,可進行檢查和分析。如果所存儲的操作系統(tǒng)被破壞,則在CMOS存儲器中設(shè)置恢復(fù)比特并中斷啟動。下次試圖啟動時,識別恢復(fù)比特,從而系統(tǒng)啟動成恢復(fù)用操作系統(tǒng)。
參照圖4,恢復(fù)和更新應(yīng)用軟件24在開始時檢查存儲設(shè)備14,如菱形框40所示。在加電時,在經(jīng)歷了加電自檢(POST)之后,啟動代碼對存儲器14中的主操作系統(tǒng)圖像檢查和錯誤(checksumerrors)。如果存在有錯誤,系統(tǒng)啟動恢復(fù)用操作系統(tǒng)20并開始恢復(fù)應(yīng)用程序。由于操作系統(tǒng)圖像被破壞或者設(shè)置了恢復(fù)或更新標志之一,故會產(chǎn)生錯誤代碼。例如,可因操作系統(tǒng)中的缺陷而設(shè)置恢復(fù)標志。例如,由于對于舊的主操作系統(tǒng)而言已經(jīng)經(jīng)歷了一段時間或者由于用戶已指明了獲取升級的愿望,故可設(shè)置更新標志。因此,在如框42所示那樣應(yīng)用了所述檢查和之后,如果該檢查和指示出合法的操作系統(tǒng),則如框44所示那樣啟動主操作系統(tǒng),否則,如框46所示那樣啟動恢復(fù)用操作系統(tǒng)。
在啟動例程中,如果適當(dāng)?shù)脑?,作為BIOS一部分的啟動代碼可以設(shè)置CMOS存儲器中的恢復(fù)比特。啟動代碼還包括用于對已嘗試重啟動的次數(shù)進行計數(shù)并用于存儲與企圖重啟動次數(shù)有關(guān)的信息的代碼。
在本發(fā)明的一個實施例中,應(yīng)用程序24可在網(wǎng)絡(luò)上向服務(wù)器18發(fā)出一個下載操作系統(tǒng)的請求(框48)。一旦下載了新圖像,就將其寫至存儲設(shè)備14。然后,清除恢復(fù)比特,如框50所示,并且,系統(tǒng)如框52所示重啟動。在下次,系統(tǒng)啟動成主操作系統(tǒng)并執(zhí)行其通常的功能。
圖5所示存儲有主操作系統(tǒng)22的存儲設(shè)備14的一部分的存儲器結(jié)構(gòu)在最低存儲器地址處具有檢查和或循環(huán)冗余校驗(CRC)字段96。檢查和字段96的上方是字段98,該字段指示FLASH分配表(FLAT)100中的表目數(shù)量。FLASH分配表劃分FLASH存儲器部分22并將多個代碼和數(shù)據(jù)圖像存儲在存儲設(shè)備14內(nèi)。這就進而又會使得多個啟動裝載器存在于FLASH存儲器內(nèi)以便啟動不同的操作系統(tǒng)圖像。在啟動時,BIOS選擇使哪個啟動裝載器進行其裝載并根據(jù)恢復(fù)比特的狀態(tài)而執(zhí)行,如上所述。
用于裝載主操作系統(tǒng)的啟動裝載器102存儲在閃存分配表100的上方。啟動裝載器102的上方是內(nèi)核104或主操作系統(tǒng)的核心。主操作系統(tǒng)內(nèi)核可與恢復(fù)用操作系統(tǒng)所使用的內(nèi)核相同或不同。例如,盡管可將LINUX用于恢復(fù)用操作系統(tǒng),但在一個實施例中可將WindowsCE用于恢復(fù)用操作系統(tǒng)。
內(nèi)核104的上方是文件系統(tǒng)106。FLASH分配表100包括用于存儲在FLASH存儲器部分22內(nèi)的各條目的表目,所述FLASH存儲器部分22包括存儲在文件系統(tǒng)106中的條目。文件系統(tǒng)106包括文件、目錄以及用于確定和訪問操作系統(tǒng)文件和目錄的信息。
被包含在FLASH分配表中的各條目包括與軟件版本、標志、數(shù)據(jù)偏移量、數(shù)據(jù)長度及其裝載地址有關(guān)的信息。版本號僅對在具體的存儲器14中裝載了哪個版本的軟件保持跟蹤。數(shù)據(jù)偏移量確定在FLASH存儲器內(nèi)表目位于什么地方。
標志字段具有與相應(yīng)表目的性質(zhì)有關(guān)的信息。標志字段的最低有效位包括有與循環(huán)恢復(fù)校驗(CRC)的狀態(tài)有關(guān)的信息。這實際上是告訴BIOS是否必須計算CRC。下一個最高有效位包括塊類型。塊類型包括表示啟動裝載器的“啟動”、“kernel”或“文件系統(tǒng)”。如果塊類型是啟動裝載器,則標志字段告知在隨機存取存儲器中,將會把啟動裝載器裝在FLASH存儲器之外的什么地方。為其它信息保留標志字段中的補充區(qū)域。啟動裝載器或啟動程序裝載器裝載用于裝載操作系統(tǒng)的另一個裝載器程序,并將控制權(quán)傳送給它。
盡管本發(fā)明可與多種基于處理器的系統(tǒng)一道使用,但是,圖6中說明了使用一個機頂計算機(set top computer)系統(tǒng)的應(yīng)用程序。機頂計算機系統(tǒng)與電視接收器一起工作??蛻魴C12可包括處理器65,它與加速圖形板(AGP)芯片組66相連??蓮募又菔タ死挠⑻貭柟精@得“加速圖形端口規(guī)范2.0版”。芯片組66可與加速圖形端口總線70中的系統(tǒng)存儲器68相連??偩€70則又與圖形加速器72相連,而且還與視頻或電視接收器73相連。
可利用能保存系統(tǒng)數(shù)據(jù)的存儲器集成電路來實現(xiàn)被稱為CMOS存儲器的系統(tǒng)存儲器68的一部分75。通常,CMOS包括實時時鐘(RTC),它保存一天中的時間?;謴?fù)和更新比特存儲在CMOS存儲器的預(yù)定存儲單元處。
芯片組66還可與總線74相連,總線74接收電視調(diào)諧器/捕獲卡76。卡76可與電視天線78相連,做為附加的實例,電視天線也可以是衛(wèi)星天線或電纜連接。也可提供諸如與因特網(wǎng)的調(diào)制解調(diào)器接口連接或與計算機網(wǎng)絡(luò)的網(wǎng)絡(luò)接口控制器連接之類的網(wǎng)絡(luò)16的接口。
橋接器80可與支持串行輸入/輸出接口86及存儲器接口94的另一總線84相連。接口86可與調(diào)制解調(diào)器88或鍵盤92相連。接口94可將用于存儲恢復(fù)用操作系統(tǒng)和BIOS20的FLASH存儲器14與主操作系統(tǒng)22連起來。橋接器80可以是82371AB PCI ISA IDE xcelerator(PIIX4)芯片組,它可從英特爾公司獲得。因此,橋接器可包括通用輸入/輸出插頭(GP[I,O])。
通過用于實現(xiàn)計算機系統(tǒng)的多個芯片組,可這樣來形成上述芯片組,使得在任何一個時刻只能看出特定數(shù)量的BIOS線。在主操作系統(tǒng)和恢復(fù)用操作系統(tǒng)存儲在FLASH存儲器中的實施例中,可以用與訪問BIOS存儲器相同的方式對它們進行訪問。因此,由于被訪問的FLASH存儲器顯著地大于BIOS存儲器,故應(yīng)該用其它技術(shù)來訪問存儲在FLASH中的全部存儲器。在來自英特爾公司的處理器中,可以實現(xiàn)這一點的一種技術(shù)是例如在PIIX4設(shè)備上使用GP[I,O]插針。這些插針可與負責(zé)形成讀取BIOS的信號的插針相連。通過提供適當(dāng)?shù)腉P[I,O]信號,F(xiàn)LASH存儲器的讀取過程可以成組地轉(zhuǎn)換,以便順序地讀取整個存儲器。
參照圖7,依照一個實施例,一種軟件可以通過利用FLAT來使多個代碼和數(shù)據(jù)圖像存儲到FLASH存儲器內(nèi),該軟件在加電或系統(tǒng)重置時啟動,同時利用BIOS執(zhí)行系統(tǒng)初始化和加電自檢操作(塊110)。通過檢查存儲在FLASH存儲器中字段96處的CRC來確認FLASH存儲器的內(nèi)容,如塊112所示。這時,BIOS通過掃描FLAT并將所標記的表目選為啟動裝載器來選擇該啟動裝載器(塊114),以便進行執(zhí)行。然后,啟動裝載器利用FLAT查找主操作系統(tǒng)在FLASH中所處在的位置(塊116)、將操作系統(tǒng)裝載至系統(tǒng)存儲器中的適當(dāng)?shù)刂?塊118)、并啟動操作系統(tǒng)的執(zhí)行(塊120)。
在某些實施例中,BIOS可繼續(xù)獨立于操作系統(tǒng)。操作系統(tǒng)的相關(guān)性駐留在啟動裝載器內(nèi)。啟動裝載器允許通常的計算機操作系統(tǒng)駐留在FLASH存儲器內(nèi)。
盡管業(yè)已利用一個將主操作系統(tǒng)和恢復(fù)用操作系統(tǒng)存儲在諸如FLASH存儲器之類的存儲設(shè)備內(nèi)的實施例來說明了本發(fā)明,但是,也可以使用其它可重編程的存儲設(shè)備。就FLASH存儲器當(dāng)前的成本而言,這種存儲器是較昂貴的并且一般不使用鏡像(mirroring)。因此,將恢復(fù)用操作系統(tǒng)與FLASH存儲器一道使用特別具有優(yōu)勢。
但是,本發(fā)明可與其它配置一道使用。例如,在將主操作系統(tǒng)存儲到硬盤驅(qū)動器的系統(tǒng)中,恢復(fù)用操作系統(tǒng)也可包括在硬盤驅(qū)動器內(nèi)。在這種情況下,如果希望的話,BIOS可繼續(xù)存儲在BIOS ROM內(nèi)。
另外,恢復(fù)用操作系統(tǒng)可實際設(shè)置在諸如小型盤ROM(CD-ROM)之類的外部或可拆卸存儲器上。在需要時,用戶可簡單地將CD-ROM裝進CD播放器。處理器執(zhí)行在CD-ROM之外的恢復(fù)用操作系統(tǒng),然后利用恢復(fù)和更新應(yīng)用軟件去更新和代替主操作系統(tǒng)。這一過程要優(yōu)于以盤的形式提供整個操作系統(tǒng),因為,使用小型恢復(fù)用操作系統(tǒng)有助于更新。這也就是說,小型恢復(fù)系統(tǒng)可快速加載并用于獲得更新。否則,對于每一次更新,需要以盤的形式將整個操作系統(tǒng)提供給各用戶,從而才可獲得更新。
此外,盡管就客戶機/服務(wù)器環(huán)境說明了本發(fā)明,但本發(fā)明可用于多種其它環(huán)境。例如,可在客戶機/服務(wù)器環(huán)境中的服務(wù)器上實現(xiàn)本發(fā)明。此外,本發(fā)明可應(yīng)用于獨立的計算機系統(tǒng),其中包括靠電池供電的基于處理器的系統(tǒng)。例如,對于手持式計算機系統(tǒng),本發(fā)明可以利用可提供的有線或無線通信鏈路去提供更新或替代功能。在可以臨時與諸如PalmpPilot個人數(shù)字助理之類的桌面計算機作硬線鏈接的系統(tǒng)中,恢復(fù)用操作系統(tǒng)可與桌面計算機相通信,以便獲得新的操作系統(tǒng)。與此相似,可用包括無線和蜂窩電話鏈路在內(nèi)的多種無線通信鏈路來獲得更新。而且,在通過電纜或衛(wèi)星廣播系統(tǒng)鏈接的系統(tǒng)中,也可用這些通信鏈路來獲得新的操作系統(tǒng)。
就定制的操作系統(tǒng)而言,必須轉(zhuǎn)向特定的遠程位置,以便更新或更換操作系統(tǒng)。但是,就非定制的操作系統(tǒng)而言,利用在多種用戶擴展的計算機系統(tǒng)中可通過因特網(wǎng)或多種通信鏈路接入的站點來獲得這種更替。此外,可將多種這樣的站點預(yù)先編程進恢復(fù)用操作系統(tǒng)應(yīng)用軟件之中,因此,如果系統(tǒng)在一個位置處獲得所需的更替內(nèi)容不成功,則該系統(tǒng)可查詢多個其它位置。
在某些情況下,不能用與包含有未來的更新的其它位置有關(guān)的信息來對恢復(fù)用應(yīng)用軟件進行編程。但是,在操作系統(tǒng)提供商廣播與更新有關(guān)的信息時,這種廣播也可包括與如何自動獲得預(yù)定更新有關(guān)的信息。這種信息可在以后被恢復(fù)用應(yīng)用軟件所使用。
在某些實施例中,系統(tǒng)用戶不會注意恢復(fù)用操作系統(tǒng)的操作?;謴?fù)用操作系統(tǒng)在背景中工作,從而使得主操作系統(tǒng)對用戶來說表現(xiàn)得更為可靠。
盡管就有限數(shù)量的實施例說明了本發(fā)明,但本領(lǐng)域的描述人員應(yīng)該注意到有多種改進形式和變化形式。后附權(quán)利要求覆蓋了本發(fā)明實質(zhì)精神和范圍內(nèi)的所有這些改進形式和變化形式。
權(quán)利要求
1.一種對非易失性可重編程的半導(dǎo)體存儲器中所存儲的信息進行組織的方法,該方法包括將上述存儲器分成多個分區(qū),每個分區(qū)均具有限定的地址;將用于一個分區(qū)中的限定地址存儲在另一個分區(qū)中。
2.如權(quán)利要求1的方法,其特征在于,該方法還包括存儲與分區(qū)數(shù)目有關(guān)的信息。
3.如權(quán)利要求1的方法,其特征在于,該方法還包括將啟動裝載器存儲在上述分區(qū)之一內(nèi)。
4.如權(quán)利要求1的方法,其特征在于,該方法還包括將文件系統(tǒng)存儲在上述分區(qū)之一內(nèi)。
5.如權(quán)利要求1的方法,其特征在于,該方法還包括將用于操作系統(tǒng)的內(nèi)核存儲在上述分區(qū)之一內(nèi)。
6.如權(quán)利要求1的方法,其特征在于,該方法還包括存儲與上述地址相關(guān)的信息,所述信息與是否需要對存儲在相關(guān)地址處的數(shù)據(jù)作完整性檢查有關(guān)。
7.如權(quán)利要求1的方法,其特征在于,該方法還包括以與分區(qū)地址相關(guān)聯(lián)的方式存儲與存儲在分區(qū)內(nèi)的信息類型有關(guān)的信息。
8.如權(quán)利要求7的方法,其特征在于,該方法還包括存儲關(guān)于存儲在給定分區(qū)處的信息是啟動裝載器、內(nèi)核還是文件系統(tǒng)的信息。
9.如權(quán)利要求7的方法,其特征在于,該方法還包括存儲與裝載地址有關(guān)的信息,該裝載地址用于上述與所述地址相關(guān)聯(lián)信息。
10.一種對基于處理器的系統(tǒng)進行初始化的方法,該方法包括確認存儲在非易失性可重編程的半導(dǎo)體存儲器內(nèi)的信息;以及利用存儲在上述存儲器中的分配表去查找存儲在所述存儲器中的操作系統(tǒng);裝載所述操作系統(tǒng);以及執(zhí)行上述操作系統(tǒng)。
11.如權(quán)利要求10的方法,其特征在于,所述方法包括選擇啟動裝載器以便裝載上述操作系統(tǒng)。
12.如權(quán)利要求11的方法,其特征在于,所述方法包括用上述分配表去確定所述啟動裝載器的位置。
13.如權(quán)利要求10的方法,其特征在于,所述方法包括在確認存儲在上述存儲器內(nèi)的信息之前進行初始化和加電自檢。
14.如權(quán)利要求10的方法,其特征在于,所述方法包括用存儲在上述存儲器內(nèi)的循環(huán)恢復(fù)校驗軟件來確認存儲在上述存儲器內(nèi)的信息。
15.一種物品,它包括存儲有指令的介質(zhì),所述指令使得基于處理器的系統(tǒng)可以去確認存儲在非易失性可重編程的半導(dǎo)體存儲器內(nèi)的信息;用分配表去查找存儲在所述存儲器中的操作系統(tǒng);裝載所述操作系統(tǒng);以及執(zhí)行上述操作系統(tǒng)。
16.一種基于處理器的系統(tǒng),該系統(tǒng)包括處理器;與上述處理器相連的非易失性存儲器;以及可重編程的非易失性半導(dǎo)體存儲器,它與上述處理器相連,所述半導(dǎo)體存儲器包括多個分區(qū),所述分區(qū)中的一個存儲操作系統(tǒng),所述分區(qū)中的另一個以與各分區(qū)中存儲什么的信息相關(guān)聯(lián)的方式存儲其它分區(qū)的地址。
17.如權(quán)利要求16的系統(tǒng),其特征在于,所述半導(dǎo)體存儲器是FLASH存儲器。
18.如權(quán)利要求16的系統(tǒng),其特征在于,所述分區(qū)中的一個分區(qū)存儲有基本的輸入/輸出系統(tǒng)。
19.如權(quán)利要求16的系統(tǒng),其特征在于,所述分區(qū)中的一個分區(qū)存儲有文件系統(tǒng)。
20.如權(quán)利要求16的系統(tǒng),其特征在于,所述分區(qū)中的一個分區(qū)存儲有啟動裝載器。
全文摘要
在非易失性可重編程存儲器(14)上形成多個分區(qū)(96-106),所述存儲器可用作用于基于處理器的系統(tǒng)的非易失性主文件系統(tǒng)。存儲器可例如存儲用于基于處理器的系統(tǒng)的基本輸入/輸出系統(tǒng)及操作系統(tǒng)。地址分區(qū)(100)以與存儲在各分區(qū)中信息類型有關(guān)的信息相關(guān)聯(lián)的方式包括與其它分區(qū)的位置有關(guān)的信息。
文檔編號G06F3/06GK1375082SQ00813139
公開日2002年10月16日 申請日期2000年9月11日 優(yōu)先權(quán)日1999年9月21日
發(fā)明者E·R·羅爾德斯, J·P·凱特雷諾斯 申請人:英特爾公司