亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

電子系統(tǒng)及其數(shù)據(jù)處理方法

文檔序號:6616073閱讀:251來源:國知局
專利名稱:電子系統(tǒng)及其數(shù)據(jù)處理方法
技術(shù)領(lǐng)域
本發(fā)明是有關(guān)于 一種用于非易失性存儲器元件的數(shù)據(jù)處理 方法,特別是有關(guān)于一種可用于非易失性存儲器元件中所儲存 的開機(jī)相關(guān)程序碼的數(shù)據(jù)處理方法。
背景技術(shù)
一般而言,系統(tǒng)中都具有至少 一開機(jī)禾呈序碼(例如基本輸入
輸出系統(tǒng)(BIOS)碼)以記錄所有系統(tǒng)的信息以及開機(jī)所需要的 相關(guān)程序。對于擁有非易失性存儲器元件(例如與非門快閃存儲 器(NAND Type Flash,簡稱NAND快閃存儲器))的系統(tǒng)而言,一 般會將開機(jī)程序碼也存到非易失性存儲器元件以避免使用單獨(dú) 的非易失性存儲器存儲開機(jī)程序碼。非易失性存儲器元件(如快 閃存儲器)和 一 般動態(tài)隨機(jī)存取存儲器(DRAM)或靜態(tài)隨機(jī)存取 存儲器(SRAM)最大的不同處在于,當(dāng)無電源時(shí),非易失性存儲 器元件能保存數(shù)據(jù)完整性,并且具備省電功能及耐震,因此非 易失性存儲器元件成為嵌入式系統(tǒng)最佳存儲器解決方案。
存儲器元件通常包括一存儲器控制器以及一存儲器。存儲 器控制器在系統(tǒng)的外圍總線(例如PCI總線)重置完成之前, 必須先知道關(guān)于此快閃存儲器的 一 些屬性數(shù)據(jù),例如總線寬度 為8位或16位以及分頁(page)大小為512字節(jié)、2048字節(jié)或4096 字節(jié)等信息,存儲器控制器才能在外圍總線完成重置之后正確 讀出存儲器里儲存的開機(jī)程序碼。
一般而言,這樣的屬性數(shù)據(jù)可由存儲器控制器通過檢測硬 件接腳(稱為strapping pin)的電壓電平獲得。然而,每個(gè)這類的 屬性都對應(yīng)到至少 一根的硬件接腳,例如至少需要一根接腳用
以表示總線寬度以及兩根接腳用以表示分頁大小。
由于系統(tǒng)的接腳數(shù)有限,這些硬件接腳將占用原有的接腳, 若找不到足夠多的硬件接腳,將使得系統(tǒng)無法正常地工作。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的之一即在于提供一種用于具有開 機(jī)程序碼的非易失性存儲器的數(shù)據(jù)處理方法,以解決上述找不 到足夠多的特殊硬件接腳的問題。
基于上述目的,本發(fā)明提供一種適用于電子系統(tǒng)的數(shù)據(jù)處 理方法。其中,電子系統(tǒng)至少包括一非易失性存儲器、 一連接 至該非易失性記體的存儲器總線以及一外圍總線,非易失性存 儲器存儲 一 屬性數(shù)據(jù)以及 一 開機(jī)程序碼。數(shù)據(jù)處理方法包括下 列步驟。首先,在該存儲器總線的一重置信號中止后,依據(jù)一 預(yù)設(shè)屬性數(shù)據(jù)執(zhí)行一 自動讀取程序以由非易失性存儲器中得到 非易失性存儲器的至少 一 屬性數(shù)據(jù)以及該開機(jī)程序碼的地址。
接著,在外圍總線的重置信號中止(deassert)后,利用得到的至 少 一 屬性數(shù)據(jù)以及該開機(jī)程序碼的地址,讀取該開機(jī)程序碼至 該外圍總線。
本發(fā)明另提供一種電子系統(tǒng),包括一非易失性存儲器、一 控制器、 一存儲器總線以及一外圍總線。非易失性存儲器存儲 至少一屬性數(shù)據(jù)以及一開機(jī)程序碼??刂破饔靡钥刂品且资?存儲器。存儲器總線用以耦接非易失性存儲器以及控制器。外 圍總線耦接于該控制器。其中,控制器在該存儲器總線的一重 置信號中止后,執(zhí)行一 自動讀取程序以由非易失性存儲器中得 到非易失性存儲器的至少 一屬性數(shù)據(jù)以及該開機(jī)程序碼的地 址,并在外圍總線的重置信號中止后,利用得到的至少一屬性 數(shù)據(jù)以及開機(jī)程序碼的地址,讀取該開機(jī)程序碼至該外圍總線。
本發(fā)明尚提供一種數(shù)據(jù)處理方法,適用于一電子系統(tǒng),其 中該電子系統(tǒng)包括一非易失性存儲器、 一控制器、 一耦接至該 控制器與該非易失性存儲器之間的存儲器總線以及 一 耦接至該 控制器外圍總線。該非易失性存儲器存儲至少一屬性數(shù)據(jù)。數(shù) 據(jù)處理方法包括下列步驟。首先,在該存儲器總線的一重置信 號中止后,依據(jù) 一 預(yù)設(shè)屬性數(shù)據(jù)以及 一 預(yù)設(shè)地址由該非易失性 存儲器中讀取至少一屬性數(shù)據(jù)。然后,在該外圍總線的一重置 信號中止前,利用得到的該屬性數(shù)據(jù)配置該控制器。
本發(fā)明所述的電子系統(tǒng)及其數(shù)據(jù)處理方法,解決了系統(tǒng)硬 件接腳不足的問題,而且也方便進(jìn)一步的擴(kuò)充。


圖l顯示一依據(jù)本發(fā)明實(shí)施例的電子系統(tǒng)連接的示意圖。
圖2顯示一依據(jù)本發(fā)明實(shí)施例的系統(tǒng)的開才幾序列時(shí)序圖。 圖3A顯示 一依據(jù)本發(fā)明實(shí)施例的快閃存儲器內(nèi)容配置的 示意圖。
圖3B顯示一依據(jù)本發(fā)明實(shí)施例的屬性數(shù)據(jù)區(qū)塊的示意圖。 圖3C顯示另 一依據(jù)本發(fā)明實(shí)施例的屬性數(shù)據(jù)區(qū)塊的示意圖。
圖4顯示 一依據(jù)本發(fā)明實(shí)施例于開機(jī)時(shí)的數(shù)據(jù)處理方法的
流程圖。
圖5顯示一依據(jù)本發(fā)明實(shí)施例的自動讀取程序的流程圖。 圖6顯示另 一依據(jù)本發(fā)明實(shí)施例的自動讀取程序的流程圖。
具體實(shí)施例方式
為使本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂, 下文特舉出較佳實(shí)施例,并配合所附圖式,作詳細(xì)說明如下。
本發(fā)明的實(shí)施例關(guān)于一種適用于非易失性存儲器元件(例 如快閃存儲器)的數(shù)據(jù)處理方法,利用非易失性存儲器元件的 結(jié)構(gòu)特性,使存儲器控制器讀取設(shè)置在非易失性存儲器元件的 特定位置中的特定格式數(shù)據(jù),以獲取非易失性存儲器元件相關(guān) 的屬性數(shù)據(jù)以及存放于其中的程序碼的相關(guān)索引,可用以取代 已知的硬件接腳,解決系統(tǒng)硬件接腳不足的問題,而且也方便 進(jìn)一步的擴(kuò)充。
此外,根據(jù)本發(fā)明的方法,可將儲存于非易失性存儲器元
件中的開機(jī)程序碼(即BIOS碼)分成不同的區(qū)塊并且連續(xù)或不連 續(xù)地放置,再利用本發(fā)明所提供的對照表順序讀出每個(gè)區(qū)塊, 可使得設(shè)計(jì)更有彈性且更有效率。
圖l顯示一依據(jù)本發(fā)明實(shí)施例的電子系統(tǒng)100。電子系統(tǒng)100 中至少包括一處理器102、 一芯片組IOI、 一耦接于處理器102 與芯片組101之間的前端總線180、以及一非易失性存儲器120。 芯片組101包括一控制器110、 一PCI總線控制器160、 一耦接控 制器IIO與PCI總線控制器160的PCI總線170、以及一 電源管理 單元190。雖然于本實(shí)施例中,控制器110通過PCI總線與電子 系統(tǒng)100的其他才莫塊通信,然而如本領(lǐng)域技術(shù)人員所知,電子系 統(tǒng)10 0也可以使用其它規(guī)格的外圍總線來實(shí)現(xiàn)控制器110與其他 模塊之間的通信。控制器110通過一存儲器總線(例如NAND Flash總線)130耦接至非易失性存儲器120。電源管理單元190至 少包括一第 一暫存器140以及一第二暫存器150。于此實(shí)施例中, 第一暫存器140以及第二暫存器150為電池供電式(batter well) 暫存器,可分別用以保留數(shù)據(jù)142以及152,以供開機(jī)時(shí)使用, 但不限于此。
非易失性存儲器120中包括了 一開機(jī)程序碼(例如BIOS 碼)122,儲存了電子系統(tǒng)100開機(jī)所需要的各種程序,用以于電
子系統(tǒng)100啟動電源后,沖丸行系統(tǒng)開機(jī)牙呈序(boot sequence), 以 使其能正常運(yùn)作。非易失性存儲器120中還包括一屬性數(shù)據(jù)124, 儲存了非易失性存儲器12 0的基本屬性數(shù)據(jù),例如總線寬度為8 位或16位以及分頁(page)大小為512字節(jié)、2048字節(jié)或4096字節(jié)
等信息。
控制器110透過存儲器總線130與非易失性存儲器120耦接, 并借此存取非易失性存儲器120。因此,控制器110可透過存儲 器總線130存取非易失性存儲器120中的開機(jī)程序碼122。
于以下實(shí)施例中,非易失性存儲器120以NAND快閃存儲器 作為說明,但本發(fā)明并不限于此。NAND快閃存儲器由一系列 的區(qū)塊(block)構(gòu)成,每一區(qū)塊又包含一系列的分頁(page)。
圖2顯示圖l所示的電子系統(tǒng)100的 一開才幾序列時(shí)序圖。i青一 并參閱圖l與圖2所示,四種信號線分別用以表示開機(jī)時(shí)的系統(tǒng) 時(shí)序運(yùn)作,其中信號線CPURST# 、 PCIRST弁、NFRST弁以及 PWRGD分別用以表示處理器重置信號線、PCI總線重置信號 線、快閃存儲器重置信號線以及系統(tǒng)電源信號線。當(dāng)處理器重 置信號線CPURST# 、 PCI總線重置信號線PCIRST#以及快閃存 儲器重置信號線NFRST弁送出(assert)時(shí),信號線上將出現(xiàn)低電 平,當(dāng)其被中止(deassert)時(shí),信號線上將出現(xiàn)高電平。當(dāng)系統(tǒng) 電源信號線PWRGD上出現(xiàn)高電平時(shí),表示電子系統(tǒng)100已正常 供電。
圖3A顯示一依據(jù)本發(fā)明實(shí)施例的快閃存儲器內(nèi)容配置的 示意圖。如圖所示,快閃存儲器300中的起始位置(即第l個(gè)區(qū)塊 的分頁0)中包括了 一個(gè)第一數(shù)據(jù)區(qū)塊310,且也包括了 一個(gè)開機(jī) 程序碼3 4 0,此開程序碼3 4 0由如圖標(biāo)號3 12所示的快閃存儲器 300的位置開始存放,亦即標(biāo)號312表示開機(jī)程序碼340的起始位 置。第 一數(shù)據(jù)區(qū)塊3 10中儲存了快閃存儲器300的相關(guān)屬性數(shù)據(jù),用以表示快閃存儲器300所使用的格式。第一數(shù)據(jù)區(qū)塊310中也 儲存了表示開機(jī)程序碼340在快閃存儲器300的起始位置的相關(guān) 存儲器地址的指針?biāo)饕榱舜_保這些重要數(shù)據(jù)不會因?yàn)榇嫒?錯(cuò)誤或其他原因發(fā)生錯(cuò)誤而造成或執(zhí)行錯(cuò)誤的結(jié)果,因此第一 數(shù)據(jù)區(qū)塊310可以另包括了這些數(shù)據(jù)的相關(guān)備份,這些備份數(shù)據(jù) 可用來還原并取得原始的數(shù)據(jù)。
由于NAND快閃存儲器的工藝不能保證NAND的存儲陣列 在其生命周期中保持性能的可靠,因此,在NAND快閃存儲器 的生產(chǎn)中及使用過程中會產(chǎn)生壞塊。然而,NAND快閃存儲器 的生產(chǎn)者會確??扉W存儲器的第 一 數(shù)據(jù)區(qū)塊310是好的,因此, 一般會將開機(jī)程序碼連續(xù)地儲存于第 一 數(shù)據(jù)區(qū)塊3 10中以確保 開機(jī)程序碼340不被損壞。于本實(shí)施例中,為增加設(shè)計(jì)的彈性, 開機(jī)程序碼340可存放于快閃存儲器的任意位置,并可通過存儲 于第一數(shù)據(jù)區(qū)塊310中的開機(jī)程序碼的地址指針?biāo)饕龜?shù)據(jù)360定 位開才幾程序碼的初始地址。如圖3A所示,開才幾程序碼340分成 多個(gè)區(qū)塊,如圖所示的區(qū)塊# l至區(qū)塊# 4。開機(jī)程序碼340也具 有 一 個(gè)對照表(T) 3 3 0,對照表T中可包含區(qū)塊號碼以及該區(qū)塊對 應(yīng)的快閃存儲器地址,其中此對應(yīng)的快閃存儲器地址可為快閃 存儲器300中的一絕對地址或是以與區(qū)塊# l的距離表示的相對 地址。開機(jī)程序碼340的區(qū)塊# 1中儲存有表示對照表T所在地 址的對照表地址320,亦即,可由對照表地址320找到并參考對 照表T。如圖所示,對照表T存放于地址314,因此,對照表地 址320中的內(nèi)容即設(shè)為地址314。其中,對照表T可放置于開機(jī) 程序碼340的任何位置中。
值得注意的是,雖然本實(shí)施例中的開機(jī)程序碼的區(qū)塊連續(xù) 地配置,于其他實(shí)施例中,開機(jī)程序碼的區(qū)塊也可不連續(xù)地任 意分散配置,例如區(qū)塊#1接著區(qū)塊#3,接下來才是區(qū)塊#2。
如圖3A所示,第 一數(shù)據(jù)區(qū)塊310依序存放有代表屬性數(shù)據(jù)
350的數(shù)據(jù)B0以及B1,以及代表開機(jī)程序碼340的起始位置的相 關(guān)指針?biāo)饕?60的數(shù)據(jù)P0、 Pl、 P2以及P3,其中B1為B0的備份, P1為P0的備份,P3為P2的備份,并且P2用以表示用于備份的開 機(jī)程序碼存放的地址。請注意,第一數(shù)據(jù)區(qū)塊310尚包括有許多 保留數(shù)據(jù)部分,可供后續(xù)擴(kuò)充之用。
在圖3A所示的屬性數(shù)據(jù)350與開機(jī)程序碼的地址指針?biāo)饕?數(shù)據(jù)360各為一個(gè)字節(jié),本領(lǐng)域技術(shù)人員可以了解到這種安排僅 為眾多實(shí)施例的一種。在實(shí)施系統(tǒng)上可以因應(yīng)各種工程上或其 它考慮加以變化而不脫出本發(fā)明的真意。
圖3B顯示一依據(jù)本發(fā)明實(shí)施例的屬性數(shù)據(jù)350的示意圖。 屬性數(shù)據(jù)350可以包括用以表示總線寬度351、分頁大小352、目 前工作模式353以及支持模式的數(shù)據(jù)354。舉例來說,總線寬度 351可為8位或16位,分頁大小352可為512字節(jié)(byte)、 2048字節(jié) 或4096字節(jié)。支持模式354可為單通道模式或雙通道模式,即對 16位的數(shù)據(jù)而言,單通道模式是指數(shù)據(jù)以8位加8位的方式進(jìn)行 存取,而雙通道模式是指數(shù)據(jù)以每通道8位的方式進(jìn)行存取,因 而若為雙通道才莫式,則可一次進(jìn)行16位的存取。目前工作才莫式 353則包括了單片(single chip)模式以及多片(multi chip )模式。 此是針對快閃存儲器中有兩份的開機(jī)程序碼的工作模式,其中 一份為原始開機(jī)程序碼, 一份為備份的開機(jī)程序碼。當(dāng)快閃存 儲器處于單片模式時(shí),表示原始開機(jī)程序碼以及備份開機(jī)程序 碼都放在同一個(gè)快閃存儲器芯片中。當(dāng)快閃存儲器處于多片模 式,如雙片模式時(shí),表示原始開機(jī)程序碼以及備份開機(jī)程序碼 分別放在不同的快閃存儲器芯片中。
于一實(shí)施例中,每一屬性用特定的位數(shù)加以表示,例如, 以 一 個(gè)位表示其總線寬度以及兩個(gè)位表示其分頁大小。如圖3B
所示,屬性數(shù)據(jù)350(B0/B1)為一8位的數(shù)據(jù),其中位bO(351)表示 總線寬度,位b2-bl(352)表示分頁大小,位b3(353)表示支持模 式,位b4(353)表示目前工作模式,位b6-b5(355)為保留位,位 b7(356)則表示錯(cuò)誤檢查位。錯(cuò)誤檢查位用以檢查數(shù)據(jù)在傳輸過 程中,是否發(fā)生錯(cuò)誤。請注意,雖然于此實(shí)施例中是利用循環(huán) 冗余檢查碼(Cyclic Redundancy Check,以下簡稱CRC)來產(chǎn)生錯(cuò) 誤檢查位,于其他實(shí)施例中,可采用任何已知的錯(cuò)誤檢查碼, 例如同位檢查(Parity Check)、漢明碼檢查(Hamming Code Check) 或錯(cuò)誤更正碼(ECC),來產(chǎn)生錯(cuò)誤檢查位,用以判斷數(shù)據(jù)是否 為正確。CRC檢查是在發(fā)送端根據(jù)要傳送的k位二進(jìn)制碼序列, 以一定的規(guī)則產(chǎn)生一個(gè)校驗(yàn)用的監(jiān)督碼(即CRC碼)r位,并附 在信息后邊,構(gòu)成一個(gè)新的二進(jìn)制碼序列數(shù)共(k+r)位,最后發(fā) 送出去。在接收端,則根據(jù)信息碼和CRC碼之間所遵循的規(guī)則 進(jìn)行檢驗(yàn),以確定傳送中是否出錯(cuò)。
當(dāng)屬性數(shù)據(jù)350的位bO的值為0時(shí),表示總線寬度為8位,而 當(dāng)位bO的值為l時(shí),表示總線寬度為16位。類似地,位b2-bl的 值為OO、 01、 10以及11時(shí)分別表示分頁大小為512字節(jié)、2千字 節(jié)、4千字節(jié)或保留值。位b3的值為0以及l(fā)時(shí)分別表示支持模式 為單通道沖莫式以及雙通道才莫式。當(dāng)位b4的值為0時(shí),表示目前工 作模式為單片模式,而當(dāng)位b4的值為l時(shí),表示目前工作模式為 多片模式。換言之,可由屬性數(shù)據(jù)350中的位b4得知快閃存儲器 目前的工作才莫式。
圖3C顯示另 一依據(jù)本發(fā)明實(shí)施例的開機(jī)程序碼的地址指 針?biāo)饕龜?shù)據(jù)360的示意圖。如圖3C所示,地址指針?biāo)饕龜?shù)據(jù) 360(P0/P1/P2/P3)為一8位的數(shù)據(jù),其中位b6-b0(361)表示開機(jī)程 序碼的起始位置(亦即區(qū)塊# l的位置),位b7(263)則表示錯(cuò)誤檢 查位。同樣地,錯(cuò)誤檢查位采用CRC碼或奇同位碼,可用以判斷數(shù)據(jù)是否為正確。
本領(lǐng)域技術(shù)人員可以明白,圖3A至圖3C只是眾多實(shí)施例中 的幾個(gè)例子。為了說明方便起見,圖3A至圖3C的數(shù)據(jù)結(jié)構(gòu)將用 于以下的實(shí)施例中。
圖4顯示 一依據(jù)本發(fā)明實(shí)施例于開機(jī)時(shí)的數(shù)據(jù)處理方法的 流程圖400。
-清同時(shí)參照圖l、圖2以及圖4。當(dāng)系統(tǒng)電源:故啟動,且系統(tǒng)
的電源達(dá)到系統(tǒng)可以穩(wěn)定操作的范圍時(shí),系統(tǒng)電源信號線
PWRGD將^皮觸發(fā)(高電平),以表示電源已處于穩(wěn)定狀態(tài)。
此時(shí),如步驟S410,在快閃存儲器重置信號線NFRST弁中 止后,即快閃存儲器系統(tǒng)完成重置作業(yè)后,控制器110依據(jù)一組 預(yù)設(shè)的屬性數(shù)據(jù)執(zhí)行一 自動讀取程序以由快閃存儲器120中得 到快閃存儲器120的屬性數(shù)據(jù)以及開機(jī)程序碼122的區(qū)塊#1的地 址(起始地址)。本實(shí)施例中,預(yù)設(shè)的屬性數(shù)據(jù)是指以快閃存儲 器120的位寬為8位,分頁大小為2048字節(jié)的方式讀取快閃存儲 器120中的數(shù)據(jù)。尤其需要說明的是,在某些實(shí)施例當(dāng)中,控制 器100在PCIRST弁重置信號中止前完成自動讀取程序(如圖2所 示的210以及周期T。。關(guān)于自動讀取程序以及屬性數(shù)據(jù)將詳細(xì) 介紹于下。
當(dāng)執(zhí)行完自動讀取程序后,便可以得到快閃存儲器120的屬
于是,如步驟S420,控制器110依據(jù)屬性數(shù)據(jù)配置快閃存 儲器系統(tǒng),以使快閃存儲器系統(tǒng)以最優(yōu)化的方式進(jìn)行存取。
如步驟S430,在PCI總線的PCIRST弁重置信號中止后,控制 器110以配置后的存取方式,依據(jù)在自動讀取程序中獲得的開機(jī) 程序碼的區(qū)塊#1的地址讀取系統(tǒng)配置信息,以使系統(tǒng)完成芯片 組101和系統(tǒng)存儲器的配置(如圖2所示的220以及周期T2)。通
常,系統(tǒng)配置信息是開機(jī)程序碼最先被執(zhí)行的一部分,因而控 制器110會在PCI總線重置完成之后(即PCI總線重置信號線
PCIRST弁中止后),依據(jù)芯片組101發(fā)出的指令(未圖示),讀取 開機(jī)程序碼340的區(qū)塊#1中的系統(tǒng)配置信息。在一個(gè)實(shí)施例當(dāng) 中,前述的芯片組101可包含北橋芯片,其所發(fā)出的指令為 ROMSIP指令。
之后,如步驟S440,在處理器重置信號線CPURST弁中止后, 即處理器完成重置作業(yè)后,通過PCI總線讀取并執(zhí)行開機(jī)程序 碼的區(qū)塊#1的剩余部分(如圖2所示的230以及周期T3)。此開機(jī) 程序碼的區(qū)塊#1的地址等于開機(jī)程序碼122在快閃存儲器120中 的起始或基底位置。
接下來,區(qū)塊#2可能連續(xù)地設(shè)置在區(qū)塊#1之后,也可能不 連續(xù)地放置在快閃存儲器120中的任意位置中。因此,如步驟 S450,接著由區(qū)塊#1中得到一對照表地址。最后,如步驟S460, 再利用對照表地址得到一對照表T,再參考對照表T找到并執(zhí)行 開機(jī)程序碼122的剩余區(qū)塊,以進(jìn)行整個(gè)系統(tǒng)的啟動操作。對照 表T中可包含區(qū)塊號碼以及該區(qū)塊對應(yīng)的快閃存儲器地址。因 此,可參考對照表T里所記載的剩余區(qū)塊在開機(jī)程序碼12 2的相 對位置,依序找到每個(gè)剩余區(qū)塊并順序讀取,以將開機(jī)程序碼 自快閃存儲器中讀出。請參照圖3A,開機(jī)程序碼122的剩佘區(qū) 塊為區(qū)塊# 2至區(qū)塊# 4,因此可于對照表T中依序找到這些剩 余區(qū)塊并順序讀出。
圖5顯示一依據(jù)本發(fā)明實(shí)施例的自動讀取程序的流程圖 500。于此實(shí)施例中,假設(shè)有兩份開機(jī)程序碼。存儲快閃存儲器 若為單片模式,則兩份開機(jī)程序碼存于同一快閃存儲器芯片內(nèi), 若為多片模式,例如雙片模式,則兩份開機(jī)程序碼分別放于一 第一快閃存儲器芯片以及一第二快閃存儲器芯片中。 如圖所示,如步驟S510,根據(jù)第二暫存器150儲存的數(shù)據(jù)
152,決定存放有要讀取的開機(jī)程序碼的一檢查裝置。在雙片模 式的一實(shí)施例中,若數(shù)據(jù)152為0,則表示檢查裝置為第一快閃 存儲器芯片,否則檢查裝置則為第二快閃存儲器芯片。
接著,如步驟S520,以預(yù)設(shè)屬性數(shù)據(jù)讀取檢查裝置(快閃 存儲器)的第一個(gè)單位長度的數(shù)據(jù)。于本實(shí)施例中,因?yàn)槊糠?數(shù)據(jù)有 一 個(gè)備份數(shù)據(jù)且其數(shù)據(jù)為8位,因此單位長度的數(shù)據(jù)定義 為32位的數(shù)據(jù)。換言之,第一數(shù)據(jù)區(qū)塊310中的屬性數(shù)據(jù)BO以 及B1以及相關(guān)指針?biāo)饕齈0以及P1將同時(shí)被讀取。 一開始時(shí),并 無法得知快閃存儲器真正的屬性數(shù)據(jù),因此先以預(yù)設(shè)的屬性數(shù) 據(jù)例如總線寬度為8位、分頁大小為2仟字節(jié)以及采用 一 個(gè)位的 錯(cuò)誤更正碼(ECC)等,來讀取第 一數(shù)據(jù)區(qū)塊的第 一個(gè)16位的數(shù) 據(jù)。 一個(gè)位的錯(cuò)誤更正碼(ECC)可用以檢測并自動更正(修復(fù)) 只有 一 個(gè)位的錯(cuò)誤的數(shù)據(jù),使其恢復(fù)成正確的原始數(shù)據(jù)。
其次,如步驟S530,檢查第一個(gè)單位長度的數(shù)據(jù),得到一 有效數(shù)據(jù)。由于屬性數(shù)據(jù)B0以及B1已經(jīng)被讀取,因此接著檢查 屬性數(shù)據(jù)BO ( 350 )是否有效。透過屬性數(shù)據(jù)B0中位b7的錯(cuò)誤 檢查位進(jìn)行C R C檢查,判斷屬性數(shù)據(jù)B 0是否正確。
如果屬性數(shù)據(jù)BO的CRC檢查結(jié)果為正確,則屬性數(shù)據(jù)BO即 為有效數(shù)據(jù)。否則,接著檢查屬性數(shù)據(jù)B1的CRC檢查結(jié)果是否 正確,若正確則屬性數(shù)據(jù)B1即為有效數(shù)據(jù)。對于本領(lǐng)域技術(shù)人 員皆知,若采用1個(gè)位的錯(cuò)誤更正碼(ECC),則對單一階層單元 設(shè)計(jì)(single level cell, SLC)的快閃存儲器而言,若只發(fā)生一個(gè) 位的錯(cuò)誤,則其備份數(shù)據(jù)應(yīng)該是正確的。因此,若屬性數(shù)據(jù)BO 的CRC檢查結(jié)果為不正確,可改采用屬性數(shù)據(jù)B1為有效數(shù)據(jù)。
接著,如步驟S540,根據(jù)有效數(shù)據(jù),得到快閃存儲器的目 前工作模式。請參照圖3B,可根據(jù)有效數(shù)據(jù)的位b4的值得到快
閃存儲器的目前工作模式為單片模式或多片模式。
如步驟S550,根據(jù)目前工作模式以及第一暫存器140儲存 的數(shù)據(jù)140,決定要檢查的一存儲器地址指針?biāo)饕亩玫?br> 開機(jī)程序碼的區(qū)塊#1的地址。
圖6顯示另 一依據(jù)本發(fā)明實(shí)施例的自動讀取程序的流程圖 600,用以表示步驟S550的細(xì)部運(yùn)作。
如圖所示,若步驟S630中的目前工作模式為單片模式,則 執(zhí)行步驟S610,若為多片模式,則執(zhí)行步驟S620。于步驟S610, 檢查第一暫存器儲存140的數(shù)據(jù)142。于步驟S612,判斷數(shù)據(jù)142 是否為'O,。若是,如步驟S614,檢查存儲器地址指針?biāo)饕齇(PO) 的CRC是否正確。若是(步驟S614的是),如步驟S616,決定存 儲器地址指針?biāo)饕齇(PO)為有效數(shù)據(jù),否則,決定存儲器指針 1(P1)為有效數(shù)據(jù)(步驟S618),即可依據(jù)存儲器指針l讀取開機(jī)程 序碼的區(qū)塊#1。
若數(shù)據(jù)142為'1,(步驟S612的否),便執(zhí)行步驟S613,以相同 的預(yù)設(shè)屬性數(shù)據(jù)讀取檢查裝置中的快閃存儲器的第二個(gè)單位長 度的數(shù)據(jù)。類似地,第一數(shù)據(jù)區(qū)塊中的下一個(gè)32位的數(shù)據(jù)將被 讀取,亦即,存儲器地址指針?biāo)饕?(P2)以及存儲器地址指針?biāo)?引3(P3)將被讀取。
接著,于步驟S615,檢查存儲器地址指針?biāo)饕?(P2)的CRC 是否正確。若是(步驟S615的是),如步驟S617,決定存儲器地 址指針?biāo)饕?(P2)為有效數(shù)據(jù),否則,決定存儲器地址指針?biāo)饕?3(P3)為有效數(shù)據(jù),即依據(jù)存儲器指針3讀取開機(jī)程序碼的區(qū)塊 #1。
若目前工作模式為多片模式,則執(zhí)行步驟S620,檢查存儲 器地址指針?biāo)饕齇的CRC是否正確。若是,如步驟S622,決定存 儲器地址指針?biāo)饕齇(PO)為有效數(shù)據(jù),否則,決定存儲器指針 1 (P 1 )為有效數(shù)據(jù)(步驟S624)。
經(jīng)由上述步驟之后,便可得到記錄有快閃存儲器屬性數(shù)據(jù) 的有效數(shù)據(jù)以及記錄有開機(jī)程序碼的第 一 區(qū)塊的地址的有效數(shù) 據(jù),接著,便可利用這些數(shù)據(jù)來設(shè)定控制器以開始讀取開機(jī)程 序碼。當(dāng)讀取時(shí),因?yàn)椴捎?一個(gè)位的錯(cuò)誤更正技術(shù),若發(fā)生只 有一個(gè)位的數(shù)據(jù)錯(cuò)誤將被自動修復(fù)。
假設(shè)在單通道模式下利用存儲器地址指針?biāo)饕?執(zhí)行開機(jī) 程序并遇到無法修正的錯(cuò)誤(例如有兩個(gè)或以上的錯(cuò)誤)時(shí),便 將第 一暫存器儲存140的數(shù)據(jù)142設(shè)為"1",重新回到步驟S610
開始執(zhí)行,即依據(jù)存儲器地址指針?biāo)饕齦讀取備份的開機(jī)程序 碼。若在單通道模式下利用存儲器地址指針?biāo)饕齦執(zhí)行開機(jī)程序
并遇到無法修正的錯(cuò)誤時(shí),表示備份的數(shù)據(jù)也發(fā)生錯(cuò)誤,因此 開機(jī)失敗。假設(shè)在雙通道模式下利用存儲器地址指針?biāo)饕齇讀取 開機(jī)程序碼并遇到無法修正的錯(cuò)誤時(shí),便檢查第二暫存器儲存 150的數(shù)據(jù)152。若數(shù)據(jù)152為"0",則將其改設(shè)為"l",并將第一 暫存器140的數(shù)據(jù)設(shè)為"0",并重新回到步驟S510開始執(zhí)行,即 讀取另一存儲器芯片中的第一數(shù)據(jù)區(qū)塊。若數(shù)據(jù)152為"1",則 表示備份的數(shù)據(jù)也發(fā)生錯(cuò)誤,因此開機(jī)失敗。
因此,可以#4居上述自動讀取流程,于開^^幾時(shí),于快閃存 儲器的第 一數(shù)據(jù)區(qū)塊中得到有效的屬性數(shù)據(jù)以及開機(jī)程序碼的 第一個(gè)區(qū)塊的位置索引,以便控制器設(shè)定相關(guān)屬性數(shù)據(jù)以開始 讀取其中的開機(jī)程序碼,隨后再由第 一 個(gè)區(qū)塊中所記載的對照 表地址找到對照表,再參考對照表找到并讀取開機(jī)程序碼的每 一剩余區(qū)塊。
顯然以上描述的'決閃存儲器系統(tǒng)的驅(qū)動方法及開機(jī)程序碼 讀取方法也可應(yīng)用于多階層單元設(shè)計(jì)(multi level cell, MLC)的 快閃存儲器。唯,由于MLC快閃存儲器的每個(gè)存儲單元(cell)
均可存儲2個(gè)位,因而在判斷存儲器地址指針?biāo)饕欠駷橛行?shù)
據(jù)時(shí),不能通過CRC來糾錯(cuò)。鑒于此,若快閃存儲器采用多階 層單元設(shè)計(jì)時(shí),則可使控制器110在自動讀取程序中一次讀取l 個(gè)扇區(qū)(sector)的數(shù)據(jù),并通過4位的ECC糾錯(cuò)來判斷存儲器 地址指針?biāo)饕膬?nèi)容是否正確。
上述說明提供多種不同實(shí)施例或應(yīng)用本發(fā)明的不同方法。 實(shí)例中的特定裝置以及方法是用以幫助闡釋本發(fā)明的主要精神 及目的,當(dāng)然本發(fā)明不限于此。
以上所述僅為本發(fā)明較佳實(shí)施例,然其并非用以限定本發(fā) 明的范圍,任何熟悉本項(xiàng)技術(shù)的人員,在不脫離本發(fā)明的精神 和范圍內(nèi),可在此基礎(chǔ)上做進(jìn)一步的改進(jìn)和變化,因此本發(fā)明 的保護(hù)范圍當(dāng)以本申請的權(quán)利要求書所界定的范圍為準(zhǔn)。
附圖中符號的簡單說明如下
100:電子系統(tǒng)
101:芯片組
102:處理器
110:控制器
120:非易失性存儲
122:開機(jī)程序碼
124:屬性數(shù)據(jù)
130:存儲器總線
140:第一暫存器
150:第二暫存器
142、152:數(shù)據(jù)
160:PCI控制器
170:PCI總線
180:前端總線
190:電源管理單元
CPURST#、 PCIRST#、 NFRST#、PWRGD: 4言號線
300:快閃存儲器
310:第一數(shù)據(jù)區(qū)塊
312、314: 地址
320:對照表地址
330:對照表T
340:開才幾程序碼
350、B0、 Bl、 351、 352、 353、354:屬性數(shù)據(jù)
360、P0、 Pl、 P2、 P3:地址指針?biāo)饕龜?shù)據(jù)
S410-S460:步驟
S510-S550:步驟
S610、S612、 S613、 S614、 S615、S616、 S617、 S618、 S620、
S622、 S624、 S630:步驟。
權(quán)利要求
1.一種數(shù)據(jù)處理方法,適用于一電子系統(tǒng),其特征在于,該電子系統(tǒng)至少包括一非易失性存儲器、連接至該非易失性存儲器的一存儲器總線以及一外圍總線,該非易失性存儲器存儲至少一屬性數(shù)據(jù)以及一開機(jī)程序碼,該數(shù)據(jù)處理方法包括下列步驟在該存儲器總線的一重置信號中止后,依據(jù)一預(yù)設(shè)屬性數(shù)據(jù)執(zhí)行一自動讀取程序以由該非易失性存儲器中得到該非易失性存儲器的該至少一屬性數(shù)據(jù)以及該開機(jī)程序碼的地址;以及在該外圍總線的一重置信號中止后,利用得到的該至少一屬性數(shù)據(jù)以及該開機(jī)程序碼的地址,讀取該開機(jī)程序碼至該外圍總線。
2. 根據(jù)權(quán)利要求l項(xiàng)所述的數(shù)據(jù)處理方法,其特征在于, 還包括利用該開機(jī)程序碼的地址讀取該開才幾程序碼的 一第 一 區(qū) 塊,并由該第一區(qū)塊中得到一對照表地址;以及利用該對照表地址得到一對照表,乂人而執(zhí)行該開枳4呈序碼 的至少 一 剩余區(qū)塊。
3. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)處理方法,其特征在于,還 包括讀取該非易失性存儲器的 一起始位置,得到 一 第 一數(shù)據(jù)區(qū) 塊;以及由該第 一數(shù)據(jù)區(qū)塊,得到該至少 一屬性數(shù)據(jù)以及該開機(jī)程 序碼的地址。
4. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)處理方法,其特征在于,該 執(zhí)行該自動讀取程序的步驟還包括根據(jù)一第一暫存器儲存的一數(shù)據(jù),決定一檢查裝置; 以一預(yù)設(shè)屬性數(shù)據(jù)讀取該檢查裝置的一起始位置的一第一單位長度數(shù)據(jù);以及檢查該第一單位長度數(shù)據(jù),得到一有效數(shù)據(jù)。
5. 根據(jù)權(quán)利要求4所述的數(shù)據(jù)處理方法,其特征在于,該 第 一單位長度數(shù)據(jù)具有 一原始數(shù)據(jù)以及一備份數(shù)據(jù),該原始數(shù) 據(jù)以及該備份數(shù)據(jù)具有 一 錯(cuò)誤檢查位,該檢查該第 一 單位長度數(shù)據(jù)的步驟還包括依據(jù)該原始數(shù)據(jù)的該錯(cuò)誤檢查位,判斷該原始數(shù)據(jù)是否正確;若該原始數(shù)據(jù)正確,決定該原始數(shù)據(jù)為該有效數(shù)據(jù); 若該原始數(shù)據(jù)為不正確,決定該備份數(shù)據(jù)為該有效數(shù)據(jù);以及其中該原始數(shù)據(jù)與該備份數(shù)據(jù)相同。
6. 根據(jù)權(quán)利要求5所述的數(shù)據(jù)處理方法,其特征在于,該 原始數(shù)據(jù)為 一 包括該至少 一屬性數(shù)據(jù)或該開機(jī)程序碼的地址的 索引數(shù)據(jù)。
7. 根據(jù)權(quán)利要求4所述的數(shù)據(jù)處理方法,其特征在于,該 執(zhí)行該自動讀取程序的步驟還包括根據(jù)該有效數(shù)據(jù),得到該非易失性存儲器的一 目前工作模 式,其中該目前工作模式包括一第一模式以及一第二模式;以 及根據(jù)該目前工作模式以及一第二暫存器儲存的一數(shù)據(jù),決 定欲檢查的一存儲器地址指針?biāo)饕?,從而得到該開機(jī)程序碼的地址。
8. 根據(jù)權(quán)利要求7所述的數(shù)據(jù)處理方法,其特征在于,該決定欲檢查的該存儲器地址指針?biāo)饕牟襟E還包括由該第一單位長度數(shù)據(jù)中取得一第一存儲器地址指針?biāo)饕约耙坏诙刂反鎯ζ鞯刂分羔標(biāo)饕?;以及?dāng)該目前工作模式為該單片模式時(shí),檢查該第二暫存器的 該數(shù)據(jù)是否等于 一 預(yù)設(shè)值。
9. 根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理方法,其特征在于,還 包括若該第二暫存器的該數(shù)據(jù)等于該預(yù)設(shè)值,檢查該第 一 存儲 器地址指針?biāo)饕欠裾_;當(dāng)該第 一 存儲器地址指針?biāo)饕_時(shí),決定^fe夂檢查的該存 儲器地址指針?biāo)饕秊樵摰谝淮鎯ζ鞯刂分羔標(biāo)饕?;以及?dāng)該第一存儲器地址指針?biāo)饕秊椴徽_時(shí),決定欲檢查的 該存儲器地址指針?biāo)饕秊樵摰诙鎯ζ鞯刂分羔標(biāo)饕?br> 10. 根據(jù)權(quán)利要求8所述的數(shù)據(jù)處理方法,其特征在于,還 包括若該第二暫存器的該數(shù)據(jù)不等于該預(yù)設(shè)值時(shí),以該預(yù)設(shè)屬性數(shù)據(jù)讀取該檢查裝置的一第二單位長度數(shù)據(jù),其中該第二單位長度數(shù)據(jù)位于該第一單位長度數(shù)據(jù)之后;由該第二單位長度數(shù)據(jù)中取得一第三存儲器地址指針?biāo)饕约耙坏谒拇鎯ζ鞯刂分羔標(biāo)饕灰约耙罁?jù)該第三存儲器地址指針?biāo)饕约霸摰谒拇鎯ζ鞯刂分?針?biāo)饕械脑撳e(cuò)誤檢查位,決定該欲檢查的該存儲器地址指針 索引。
11. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)處理方法,其特征在于,還 包括利用得到的該至少 一 屬性數(shù)據(jù)配置 一 控制器。
12. —種電子系統(tǒng),其特征在于,包括一非易失性存儲器,其存儲至少一屬性數(shù)據(jù)以及一開機(jī)程序碼;一控制器,用以控制該非易失性存儲器;以及一存儲器總線,用以耦接該非易失性存儲器以及該控制器;一外圍總線,用以耦接至該控制器;其中該控制器在該存儲器總線的 一 重置信號中止后,執(zhí)行 一自動讀取程序以由該非易失性存儲器中得到該非易失性存儲 器的該至少一屬性數(shù)據(jù)以及該開機(jī)程序碼的地址,并在該外圍 總線的該重置信號中止后,利用得到的該至少一屬性數(shù)據(jù)以及 該開才幾程序碼的地址,讀取該開才幾程序碼至該外圍總線。
13. —種數(shù)據(jù)處理方法,適用于一電子系統(tǒng),其特征在于, 該電子系統(tǒng)包括一非易失性存儲器、 一控制器、 一耦接至該控 制器與該非易失性存儲器的存儲器總線以及 一 耦接至該控制器 的外圍總線,該非易失性存儲器存儲至少一屬性數(shù)據(jù),該數(shù)據(jù) 處理方法包括下列步驟在該存儲器總線的一重置信號中止后,依據(jù)一預(yù)設(shè)屬性數(shù) 據(jù)以及一預(yù)設(shè)地址由該非易失性存儲器中讀取該至少 一屬性數(shù) 據(jù);以及于該外圍總線的 一 重置信號中止前,利用得到的該屬性數(shù) 據(jù)配置該控制器。
14. 根據(jù)權(quán)利要求13所述的數(shù)據(jù)處理方法,其特征在于, 該非易失性存儲器還存儲 一 開機(jī)程序碼以及該開機(jī)程序碼的地址。
15. 根據(jù)權(quán)利要求14所述的數(shù)據(jù)處理方法,其特征在于, 還包括在該存儲器總線的一重置信號中止后,依據(jù)該預(yù)設(shè)屬性數(shù) 據(jù)以及該預(yù)設(shè)地址由該非易失性存儲器中讀取該開機(jī)程序碼的 地址;以及在該外圍總線的 一 重置信號中止后,利用該開機(jī)程序碼的 地址讀取該開機(jī)程序碼。
全文摘要
本發(fā)明提供一種電子系統(tǒng)及其數(shù)據(jù)處理方法,特別涉及一種數(shù)據(jù)處理方法,適用于一電子系統(tǒng)。其中,電子系統(tǒng)至少包括一非易失性存儲器、一存儲器總線以及一外圍總線,非易失性存儲器存儲至少一屬性數(shù)據(jù)以及一開機(jī)程序碼。數(shù)據(jù)處理方法包括下列步驟。首先,在該存儲器總線的一重置信號中止后,執(zhí)行一自動讀取程序以由非易失性存儲器中得到非易失性存儲器的至少一屬性數(shù)據(jù)以及該開機(jī)程序碼的地址。接著,在該外圍總線的重置信號中止后,利用得到的至少一屬性數(shù)據(jù)以及該開機(jī)程序碼的地址,設(shè)定并開始執(zhí)行開機(jī)程序碼。本發(fā)明所述的電子系統(tǒng)及其數(shù)據(jù)處理方法,解決了系統(tǒng)硬件接腳不足的問題,而且也方便進(jìn)一步的擴(kuò)充。
文檔編號G06F9/445GK101187879SQ200710307079
公開日2008年5月28日 申請日期2007年12月27日 優(yōu)先權(quán)日2007年12月27日
發(fā)明者伍尚智 申請人:威盛電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1