專利名稱:提高nandflash存儲設(shè)備對照表加載速度的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種nandflash存儲器加載方法,具體涉及一種提高nandflash存儲設(shè)備對照表加載速度的實現(xiàn)方法。
背景技術(shù):
現(xiàn)在市場上新出的nandflash許多都要求存儲類控制器支持以Ik字節(jié)為單位的 ECC校驗,以一個物理頁大小為4k的nandflash為例,通常用戶數(shù)據(jù)在一個實際物理頁的存放方式為如附圖1所示,nandflash內(nèi)存由若干物理塊組成,物理塊包含若干個物理頁, 物理頁包括管理字節(jié)區(qū)、若干個由至少兩個扇區(qū)組成的用戶數(shù)據(jù)區(qū)和若干個分別與所述用戶數(shù)據(jù)區(qū)一一對應(yīng)的錯誤校驗區(qū)(ECC),每個錯誤校驗區(qū)(ECC)用于校驗并糾錯其負責(zé)的用戶數(shù)據(jù)區(qū)的錯誤代碼,所述管理字節(jié)區(qū)用來建立邏輯頁與物理頁之間或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系。
管理理字節(jié)一般是存儲控制器廠家根據(jù)自己的管理算法定義的幾個字節(jié),在實際應(yīng)用中需要單獨讀取這部分數(shù)據(jù)用來建立邏輯頁與物理頁之間或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系和提供其它用戶管理信息。Ik用戶數(shù)據(jù)包含用戶數(shù)據(jù)兩個扇區(qū)的數(shù)據(jù)。LBA logical block address,邏輯塊地址對應(yīng)于用戶一個扇區(qū)(512個字節(jié))的數(shù)據(jù),PC主端與存儲類設(shè)備通信是以一個扇區(qū)(512個字節(jié))為單位進行讀寫的。ECC: error correction code,錯誤校驗(代碼)。nandflash物理特性上使得其數(shù)據(jù)讀寫過程中會發(fā)生一定幾率的錯誤,需要有個對應(yīng)的錯誤檢驗和糾正的機制,所以存儲控制器一般都提供ECC用于用戶數(shù)據(jù)的檢測和糾正.Nandflash的ECC,常見的算法有 BCH和海明碼.
雖然管理信息只有幾個字節(jié),但由于其重要性(建立邏輯頁與物理頁對應(yīng)關(guān)系或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系),在內(nèi)存系統(tǒng)設(shè)計中是需要絕對保證其數(shù)據(jù)的正確性的。現(xiàn)有技術(shù)一般是采用專門的ECC校驗算法進行糾錯,由于受nandflash實際頁大小的限制,ECC校驗糾錯碼很小,一般4個字節(jié)的管理信息通常不超過4個字節(jié)的校驗糾錯碼, 如果還需要全部正確糾錯,ECC校驗算法非常復(fù)雜且成本很高。在內(nèi)存讀寫操作中,只要讀寫的數(shù)據(jù)不在同一區(qū)中(區(qū)根據(jù)存儲管理算法的需要,由若干個邏輯塊構(gòu)成一個區(qū)),則需要通過讀取管理字節(jié)信息重新加載邏輯塊與物理塊的對照表,或不在同一邏輯塊中,則需要通過讀取管理字節(jié)信息重新加載邏輯頁與物理頁的對照表,建立二者之間的對應(yīng)關(guān)系。如果能提高讀寫管理字節(jié)的速度,加快建立邏輯頁與物理頁之間或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系,能有效提高內(nèi)存設(shè)備的讀寫速度。 因此如何提供一種加載管理字節(jié)速度快、且信息準確的實現(xiàn)方法,成為本領(lǐng)域技術(shù)人員努力的方向
發(fā)明內(nèi)容
本發(fā)明目的是提供一種提高nandflash存儲設(shè)備對照表加載速度的實現(xiàn)方法,該實現(xiàn)方法既提高了加載速度快、有保證了加載信息準確性且硬件利用率高。為達到上述目的,本發(fā)明采用的技術(shù)方案是
一種提高nandflash存儲設(shè)備對照表加載速度的實現(xiàn)方法,所述nandflash存儲器由若干物理塊組成,物理塊包含若干個物理頁,物理頁包括管理字節(jié)區(qū)、若干個由至少兩個扇區(qū)組成的用戶數(shù)據(jù)區(qū)和若干個分別與所述用戶數(shù)據(jù)區(qū)一一對應(yīng)的錯誤校驗區(qū)(ECC),每個錯誤校驗區(qū)(ECC)用于校驗并糾錯其負責(zé)的用戶數(shù)據(jù)區(qū)的錯誤代碼,所述管理字節(jié)區(qū)用來建立邏輯頁與物理頁之間的對應(yīng)關(guān)系或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系;其特征在于所述管理字節(jié)區(qū)內(nèi)還增設(shè)有用于對管理字節(jié)區(qū)查錯的管理查錯分區(qū),此管理查錯分區(qū)僅對管理字節(jié)區(qū)進行是否有錯的分析;所述第一錯誤校驗區(qū)(ECC)用于將其相應(yīng)的第一用戶數(shù)據(jù)區(qū)和所述管理字節(jié)區(qū)合在一起進行校驗糾錯編碼;在存儲器系統(tǒng)加載所述管理字節(jié)區(qū)建立邏輯頁與物理頁對應(yīng)關(guān)系或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系時,先根據(jù)所述管理查錯分區(qū)內(nèi)驗證編碼判斷所述管理字節(jié)區(qū)內(nèi)信息是否正確,如果正確繼續(xù)直接獲取管理字節(jié)區(qū)內(nèi)信息;否則加載所述第一用戶數(shù)據(jù)區(qū)和第一錯誤校驗區(qū)(ECC),此第一錯誤校驗區(qū)(ECC)將第一用戶數(shù)據(jù)區(qū)和管理字節(jié)區(qū)均進行查錯分析并進行糾錯。上述技術(shù)方案中的進一步改進方案如下
上述方案中,所述物理頁包括4個用戶數(shù)據(jù)區(qū),4個錯誤校驗區(qū)(ECC)。由于上述技術(shù)方案運用,本發(fā)明與現(xiàn)有技術(shù)相比具有下列優(yōu)點和效果
本發(fā)明提高nandflash存儲設(shè)備對照表加載速度的實現(xiàn)方法,只增加了一個簡單對管理字節(jié)進行查有沒有錯的查錯算法,有效降低了硬件成本和軟件算法的復(fù)雜性。在管理字節(jié)有錯的情況小,充分利用現(xiàn)有的用戶數(shù)據(jù)區(qū)的ECC糾錯算法對管理字節(jié)進行糾錯,在充分保證加載信息準確性的同時,硬件利用率高。對于實際情況,nandflash物理頁上前幾個管理字節(jié)在絕大多數(shù)情況下都沒有錯得情況下,均不需要用用戶數(shù)據(jù)區(qū)的ECC糾錯算法進行糾錯,有效提高了塊對照表和或頁對照表的加載速度,從而也有效的提高了 nandflash 存儲器設(shè)備的讀寫速度。
附圖1為現(xiàn)有技術(shù)nandflash存儲器結(jié)構(gòu)示意圖; 附圖2為本發(fā)明nandflash存儲器結(jié)構(gòu)示意附圖3為本發(fā)明管理字節(jié)讀操作流程圖。
具體實施例方式下面結(jié)合附圖及實施例對本發(fā)明作進一步描述
實施例一種提高nandflash存儲設(shè)備對照表加載速度的實現(xiàn)方法,所述nandflash 存儲器由若干物理塊組成,物理塊包含若干個物理頁,物理頁包括管理字節(jié)區(qū)、若干個由至少兩個扇區(qū)組成的用戶數(shù)據(jù)區(qū)和若干個分別與所述用戶數(shù)據(jù)區(qū)一一對應(yīng)的錯誤校驗區(qū) (ECC),每個錯誤校驗區(qū)(ECC)用于校驗并糾錯其負責(zé)的用戶數(shù)據(jù)區(qū)的錯誤代碼,所述管理字節(jié)區(qū)用來建立邏輯頁與物理頁之間的對應(yīng)關(guān)系或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系;所述管理字節(jié)區(qū)內(nèi)還增設(shè)有用于對管理字節(jié)區(qū)查錯的管理查錯分區(qū),此管理查錯分區(qū)僅對管理字節(jié)區(qū)進行是否有錯的分析;所述第一錯誤校驗區(qū)(ECC)用于將其相應(yīng)的第一用戶數(shù)據(jù)區(qū)和所述管理字節(jié)區(qū)合在一起進行校驗糾錯編碼;在存儲器系統(tǒng)加載所述管理字節(jié)區(qū)建立邏輯頁與物理頁對應(yīng)關(guān)系或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系時,先根據(jù)所述管理查錯分區(qū)內(nèi)驗證編碼判斷所述管理字節(jié)區(qū)內(nèi)信息是否正確,如果正確繼續(xù)直接獲取管理字節(jié)區(qū)內(nèi)信息;否則加載所述第一用戶數(shù)據(jù)區(qū)和第一錯誤校驗區(qū)(ECC),此第一錯誤校驗區(qū)(ECC)將第一用戶數(shù)據(jù)區(qū)和管理字節(jié)區(qū)均進行查錯分析并進行糾錯。上述物理頁包括4個用戶數(shù)據(jù)區(qū),4個錯誤校驗區(qū)(ECC )。采用上述提高nandflash存儲設(shè)備對照表加載速度的實現(xiàn)方法時,只增加了一個簡單對管理字節(jié)進行查有沒有錯的查錯算法,有效降低了硬件成本和軟件算法的復(fù)雜性。 在管理字節(jié)有錯的情況小,充分利用現(xiàn)有的用戶數(shù)據(jù)區(qū)的ECC糾錯算法對管理字節(jié)進行糾錯,在充分保證加載信息準確性的同時,硬件利用率高。對于實際情況,nandflash物理頁上前幾個管理字節(jié)在絕大多數(shù)情況下都沒有錯得情況下,均不需要用用戶數(shù)據(jù)區(qū)的ECC 糾錯算法進行糾錯,有效提高了塊對照表和或頁對照表的加載速度,從而也有效的提高了 nandflash存儲器設(shè)備的讀寫速度。上述實施例只為說明本發(fā)明的技術(shù)構(gòu)思及特點,其目的在于讓熟悉此項技術(shù)的人士能夠了解本發(fā)明的內(nèi)容并據(jù)以實施,并不能以此限制本發(fā)明的保護范圍。凡根據(jù)本發(fā)明精神實質(zhì)所作的等效變化或修飾,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種提高nandflash存儲設(shè)備對照表加載速度的實現(xiàn)方法,所述nandflash存儲器由若干物理塊組成,物理塊包含若干個物理頁,物理頁包括管理字節(jié)區(qū)、若干個由至少兩個扇區(qū)組成的用戶數(shù)據(jù)區(qū)和若干個分別與所述用戶數(shù)據(jù)區(qū)一一對應(yīng)的錯誤校驗區(qū)(ECC),每個錯誤校驗區(qū)(ECC)用于校驗并糾錯其負責(zé)的用戶數(shù)據(jù)區(qū)的錯誤代碼,所述管理字節(jié)區(qū)用來建立邏輯頁與物理頁之間的對應(yīng)關(guān)系或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系;其特征在于所述管理字節(jié)區(qū)內(nèi)還增設(shè)有用于對管理字節(jié)區(qū)查錯的管理查錯分區(qū),此管理查錯分區(qū)僅對管理字節(jié)區(qū)進行是否有錯的分析;所述第一錯誤校驗區(qū)(ECC)用于將其相應(yīng)的第一用戶數(shù)據(jù)區(qū)和所述管理字節(jié)區(qū)合在一起進行校驗糾錯編碼;在存儲器系統(tǒng)加載所述管理字節(jié)區(qū)建立邏輯頁與物理頁對應(yīng)關(guān)系或者建立邏輯塊與物理塊之間的對應(yīng)關(guān)系時,先根據(jù)所述管理查錯分區(qū)內(nèi)驗證編碼判斷所述管理字節(jié)區(qū)內(nèi)信息是否正確,如果正確繼續(xù)直接獲取管理字節(jié)區(qū)內(nèi)信息;否則加載所述第一用戶數(shù)據(jù)區(qū)和第一錯誤校驗區(qū)(ECC),此第一錯誤校驗區(qū)(ECC)將第一用戶數(shù)據(jù)區(qū)和管理字節(jié)區(qū)均進行查錯分析并進行糾錯。
2.根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于所述物理頁包括4個用戶數(shù)據(jù)區(qū),4 個錯誤校驗區(qū)(ECC)。
全文摘要
本發(fā)明提供一種提高nandflash存儲設(shè)備對照表加載速度的實現(xiàn)方法,物理頁包括管理字節(jié)區(qū)、用戶數(shù)據(jù)區(qū)和與用戶數(shù)據(jù)區(qū)對應(yīng)的錯誤校驗區(qū),所述管理字節(jié)區(qū)用來建立邏輯頁與物理頁之間的對應(yīng)關(guān)系,所述管理字節(jié)區(qū)內(nèi)還增有對管理字節(jié)區(qū)查錯的管理查錯分區(qū),此管理查錯分區(qū)僅對管理字節(jié)區(qū)進行是否有錯的查錯分析;與所述第一錯誤校驗區(qū)用于將其相應(yīng)的第一用戶數(shù)據(jù)區(qū)和所述管理字節(jié)區(qū)合在一起進行校驗糾錯編碼;在存儲器系統(tǒng)需要加載對照表時,如果所述管理字節(jié)區(qū)內(nèi)信息不正確,則加載所述第一用戶數(shù)據(jù)區(qū)和第一錯誤校驗區(qū),此第一錯誤校驗區(qū)將第一用戶數(shù)據(jù)區(qū)和管理字節(jié)區(qū)均進行查錯分析并進行糾錯。本發(fā)明加載速度的實現(xiàn)方法既提高了加載速度快、有保證了加載信息準確性且硬件利用率高。
文檔編號G06F11/10GK102541677SQ20111045009
公開日2012年7月4日 申請日期2011年12月29日 優(yōu)先權(quán)日2011年12月29日
發(fā)明者匡啟和, 王廷平, 肖佐楠, 薛毅, 鄭茳 申請人:蘇州國芯科技有限公司