本發(fā)明涉及固態(tài)存儲技術(shù)領(lǐng)域,尤其涉及一種用于提高固態(tài)硬盤使用壽命的管理策略。
背景技術(shù):
隨著非易失固態(tài)存儲的廣泛應(yīng)用和被廣大用戶接受,固態(tài)存儲設(shè)備越來越多的被應(yīng)用于各種存儲領(lǐng)域,已經(jīng)取代了硬盤在存儲業(yè)內(nèi)的主導(dǎo)地位,成為被用戶廣泛推崇的選擇。非易失固態(tài)存儲有其絕對的優(yōu)勢,例如高性能,低功耗,體積小,容量大更好的穩(wěn)定性和可靠性。然而,它也有其致命的缺陷:使用壽命。特別是隨著工藝的不斷進(jìn)步,NAND閃存介質(zhì)的使用壽命大幅度的下降,擦除或者寫入次數(shù)從原來的幾萬次,下降到目前的500次。正因為其使用壽命的原因,使得用戶在選擇固態(tài)存儲時不得不均衡一下使用環(huán)境,即使在固態(tài)存儲的固件中會廣泛使用損耗均衡算法,盡量多的提高固態(tài)存儲的使用壽命,但是,這也只能在一定范圍內(nèi)解決這一短板。因此,如何解決固態(tài)存儲的壽命問題,已經(jīng)成了一個對其有很大影響的方向。
傳統(tǒng)固態(tài)存儲的固件管理策略中,當(dāng)在閃存操作過程中出現(xiàn)擦除失敗,寫操作失敗或者不可糾正的讀操作之后,就將整個塊作為壞塊不再使用,這樣每次出現(xiàn)上述這些問題,就會淘汰整個塊,隨著閃存的塊大小越來越大,每次損失的容量也會越來越大。這樣固態(tài)存儲設(shè)備的保留區(qū)域也會隨之減少,因此,可用來進(jìn)行讀寫操作的閃存頁也會隨之減少,寫放大系數(shù)變大,設(shè)備的壽命也會隨之受到影響而降低。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的不足之處,而提供一種用于提高固態(tài)硬盤使用壽命的管理策略。它能夠很大程度地減少存儲設(shè)備容量的損失,且不會影響固態(tài)存儲設(shè)備的性能。
為了實現(xiàn)上述目的,本發(fā)明提供了一種用于提高固態(tài)硬盤使用壽命的管理策略,其特征在于:在出現(xiàn)頁寫入失敗或多次讀操作出現(xiàn)不可糾正錯誤的閃存頁時,將該閃存頁記錄成壞頁保存進(jìn)壞頁塊,形成壞頁表和壞塊表,而對于閃存塊內(nèi)的其他沒有錯誤或者瑕疵的頁,仍然作為正常數(shù)據(jù)頁進(jìn)行使用。
在上述技術(shù)方案的基礎(chǔ)上,在壞塊表中加入壞頁鏈表,通過壞頁鏈表指向需要淘汰的壞頁偏移地址。
在上述技術(shù)方案的基礎(chǔ)上,所述壞塊表包括NAND物理塊地址和壞頁鏈表的函數(shù)入口,NAND物理塊地址用來表明當(dāng)前壞塊是哪一個,壞頁鏈表的函數(shù)入口指向壞塊內(nèi)的壞頁偏移參數(shù),壞頁鏈表包括一個指針,指向下一個壞頁偏移地址,當(dāng)壞頁鏈表是最后一個時,指針將指向空。
在上述技術(shù)方案的基礎(chǔ)上,所述固態(tài)硬盤為SLC類型的存儲介質(zhì),在閃存操作頁出現(xiàn)了一些瑕疵單元,將當(dāng)前頁記錄成壞頁映射到壞頁表中去。
在上述技術(shù)方案的基礎(chǔ)上,所述固態(tài)硬盤為MLC類型的存儲介質(zhì),每個單元分布于兩個不同的閃存頁,在進(jìn)行壞頁管理時,將瑕疵單元對應(yīng)的兩個閃存頁記錄成壞頁映射到壞頁表中去。
在上述技術(shù)方案的基礎(chǔ)上,所述固態(tài)硬盤為TLC類型的存儲介質(zhì),每個單元分布于三個不同的閃存頁,在進(jìn)行壞頁管理時,將瑕疵單元對應(yīng)的三個閃存頁記錄成壞頁映射到壞頁表中去。
本發(fā)明具有的優(yōu)點如下:本發(fā)明用于提高固態(tài)硬盤使用壽命的管理策略提出一種基于閃存的壞頁管理方式,對于出現(xiàn)頁寫入失敗或多次讀操作出現(xiàn)不可糾正錯誤的閃存頁記錄成壞頁保存成一個壞頁表,而對于塊內(nèi)的其他沒有錯誤或者瑕疵的頁,仍然作為正常數(shù)據(jù)頁進(jìn)行使用。這樣每次出現(xiàn)有錯誤或者瑕疵的頁時,不會將整個閃存塊作為壞塊淘汰不用,每次整個設(shè)備的容量只會損失一個或者少數(shù)幾個頁的大小,對于目前閃存塊動輒幾十MB來講,能為存儲設(shè)備很大程度的減少容量的損失。
同時,在壞塊表中加入鏈表,指向需要淘汰的壞頁偏移地址,并沒有給固件增加多余的開銷,不會影響固態(tài)存儲設(shè)備的性能。
附圖說明
圖1為本發(fā)明的壞頁鏈表管理示意圖。
圖2為SLC類型的存儲介質(zhì)的壞頁鏈表管理示意圖。
圖3為MLC類型的存儲介質(zhì)的壞頁鏈表管理示意圖。
圖4為TLC類型的存儲介質(zhì)的壞頁鏈表管理示意圖。
具體實施方式
下面結(jié)合附圖詳細(xì)說明本發(fā)明的實施情況,但它并不構(gòu)成對本發(fā)明的限定,僅做舉例而已。同時通過說明,本發(fā)明的優(yōu)點將變得更加清楚和容易理解。
如圖1所示,一種用于提高固態(tài)硬盤使用壽命的管理策略,其特征在于:在出現(xiàn)頁寫入失敗或多次讀操作出現(xiàn)不可糾正錯誤的閃存頁時,將該閃存頁記錄成壞頁保存進(jìn)壞頁塊,形成壞頁表和壞塊表,而對于閃存塊內(nèi)的其他沒有錯誤或者瑕疵的頁,仍然作為正常數(shù)據(jù)頁進(jìn)行使用。在壞塊表中加入壞頁鏈表,通過壞頁鏈表指向需要淘汰的壞頁偏移地址。其中,壞塊表包括NAND物理塊地址和壞頁鏈表的函數(shù)入口,NAND物理塊地址用來表明當(dāng)前壞塊是哪一個,壞頁鏈表的函數(shù)入口指向壞塊內(nèi)的壞頁偏移參數(shù),壞頁鏈表包括一個指針,指向下一個壞頁偏移地址,當(dāng)壞頁鏈表是最后一個時,指針將指向空。
同時,對于不同工藝的閃存,當(dāng)閃存操作頁中出現(xiàn)瑕疵單元之后,這些單元不僅僅會影響它所存在的物理頁,它同時也有可能會影響相鄰的其他物理頁,一個物理頁對于不同類型的閃存也會對應(yīng)一個兩個或者三個閃存頁,因此,需要將這些閃存頁都映射到壞頁表中淘汰不用。在實際應(yīng)用中,將影響相鄰的物理頁也淘汰不用需要用兩種方式實現(xiàn),其一,是對介質(zhì)進(jìn)行實驗和工藝?yán)碚摲治龅慕?jīng)驗總結(jié);其二,是固件在操作過程中,一個物理塊內(nèi)一次同時出現(xiàn)多個不在同一個NAND word line上的物理頁出現(xiàn)UNECC的狀況,就可以判斷是瑕疵單元的串?dāng)_導(dǎo)致。
實施例一:如圖2所示,固態(tài)硬盤為SLC類型的存儲介質(zhì),在閃存操作頁出現(xiàn)了一些瑕疵單元,將當(dāng)前頁記錄成壞頁保存成一個壞頁表。對于SLC類型的存儲介質(zhì),閃存單元只會影響當(dāng)前頁。
實施例二:如圖3所示,固態(tài)硬盤為MLC類型的存儲介質(zhì),每個單元分布于兩個不同的閃存頁,在進(jìn)行壞頁管理時,將瑕疵單元對應(yīng)的兩個閃存頁都寫入壞頁表中去。對于MLC類型的存儲介質(zhì),閃存單元存在高低位即MSB和LSB,分布于兩個不同的閃存頁,因此也會影響這些瑕疵單元的另一個位所在的頁,在進(jìn)行壞頁管理時,將瑕疵單元對應(yīng)的兩個閃存頁都寫入壞頁表中去。
實施例三:如圖4所示,固態(tài)硬盤為TLC類型的存儲介質(zhì),每個單元分布于三個不同的閃存頁,在進(jìn)行壞頁管理時,將瑕疵單元對應(yīng)的三個閃存頁都寫入壞頁表中去。對于TLC類型的存儲介質(zhì),每個閃存單元對應(yīng)三個位,即MSB,CSB和LSB,這意味著每個單元分布于三個不同的閃存頁,因此當(dāng)一個閃存頁在操作中遇到瑕疵單元,也必然會對另外兩個頁產(chǎn)生影響。所以,在壞頁管理時,對于TLC類型的存儲介質(zhì),需要把瑕疵單元對應(yīng)的三個頁都映射到壞頁表中去。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明精神和原則之內(nèi)所做的任何修改、等同替換和改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍之內(nèi)。