管理非易失性存儲器的耐久性的方法
【專利摘要】本發(fā)明涉及一種用于管理數(shù)據(jù)存儲系統(tǒng)的耐久性的方法,該數(shù)據(jù)存儲系統(tǒng)配置有具有保證原始耐久性能力(G)的扇區(qū)集合,所述方法包括由以下構成的步驟:將所述數(shù)據(jù)存儲系統(tǒng)分成多個工作扇區(qū)以及分成多個能夠形成耐久性蓄積庫的替換扇區(qū),某些工作扇區(qū)意在當所述工作扇區(qū)在特定數(shù)目編程和/或擦除周期之后耗盡時,由替換扇區(qū)進行替換;定義地址管理區(qū)域,使得可以搜索被分配給耗盡工作扇區(qū)的替換扇區(qū)的位置;逐個扇區(qū)地確定當前工作扇區(qū)是否在物理上是耗盡的,并且僅當所述當前工作扇區(qū)聲明在物理上耗盡時,才執(zhí)行由替換扇區(qū)替換該工作扇區(qū)的步驟。該管理耐久性的方法的具體特征在于,為了測量扇區(qū)的耗費度,執(zhí)行相對于嚴格的讀取標準(邊緣Vref)的扇區(qū)的存儲點的擦除質量的自動讀取,即是說該標準比正常標準(正常Vref)更嚴格。
【專利說明】管理非易失性存儲器的耐久性的方法
[0001]本發(fā)明涉及一種用于管理比如例如非易失性存儲器并且特別是能夠用于板載應用的非易失性存儲器的數(shù)據(jù)存儲系統(tǒng)的耐久性的方法。雖然該方法使用一些已知的耐久性管理機制,但該方法公開了一種使用它們來獲得比以前的方法結果更好的新方法。另一個目的在于公開一種不需要任何特定存儲器的非常便宜的解決方案。
[0002]本發(fā)明的背景
[0003]在計算機存儲器領域,非易失性存儲器的特征在于即使在它們不再被供給能量的情況下它們也能夠保持它們的內容這一事實。然而,這些非易失性存儲器的其中一個限制特征為它們的耐久性能力。
[0004]耐久性能力被定義為在存儲器單元不能再被正確使用之前其能夠被擦除和寫入的次數(shù)。一旦“損壞”,存儲器單元或者可能對存儲的值產生穩(wěn)定性問題,或者更簡單地變得不能讀取之前寫在它上面的值。
[0005]本發(fā)明的目標更具體在于提高如將具體在非易失性存儲器的情況下描述的數(shù)據(jù)存儲裝置的耐久性能力。
[0006]非易失性存儲器的耐久性能力
[0007]耐久性能力對于不同類型的非易失性存儲器(E2PR0M、FLASH、MRAM等等)是極其易變的。對于一些FLASH存儲器,通常可能存在幾千個擦除/寫入周期,在它們之中最好的(FLASH或E2PROM)上高達幾十萬個編程和擦除周期。
[0008]該耐久性能力顯然依賴于存儲器類型(例如,E2PROM存儲器在耐久性方面通常優(yōu)于FLASH存儲器)、使用的技術制造工藝(例如,使用0.09 μ m刻蝕細度的工藝),但對于不同的存儲器單元(例如,對于FLASH存儲器,使用術語存儲器扇區(qū)多于存儲器單元)還是極其易變的。
[0009]對于給定的技術,建立者必須保證最小的耐久性能力(例如,10000個周期)。該耐久性能力被稱為“原始耐久性”或“保證耐久性G”。事實上,其等效于檢查“最差的”扇區(qū)能夠支持例如10000個周期。其他的扇區(qū)能夠支持遠遠超過10000個周期的具有可以高達幾十萬甚至幾百萬個周期的變化性的能力。
[0010]這種耐久性能力的變化性遵循“威布爾”統(tǒng)計分布。傳統(tǒng)上,耐久性管理裝置并沒有試圖利用該統(tǒng)計分布。本發(fā)明的目的之一在于利用非易失性存儲器的耐久性能力的這種統(tǒng)計分布。
[0011]對于應用的耐久性的需求
[0012]對于耐久性的需求是根據(jù)非易失性存儲器的使用類型而極其易變的,如從下面的示例中可見的。
[0013]永久性程序存儲
[0014]如果NVM (非易失性存儲器)存儲了將由微處理器執(zhí)行的程序(這是就板載系統(tǒng)中的程序而言的),則由于該程序將幾乎不隨時間改變而對于耐久性的需求非常低。歷史上,這種類型的內容存儲在ROM存儲器中(不可修改),這解釋了為什么對耐久性的需求非常低。
[0015]文件存儲[0016]這是對于當今在臺式電腦或筆記本電腦、USB密匙和MP3播放器中經常使用的固態(tài)驅動(SSD)存儲器的典型情況。對于這種類型的應用的耐久性需求比較高,但不能用先驗的用法規(guī)則來定義。在統(tǒng)計學上,所有的SSD存儲器扇區(qū)先驗地具有相同的耐久性需求,然而對于每次文件被修改即更新的文件分配表存在著例外,并因此將具有更高的耐久性需求。注意,如果操作系統(tǒng)存儲在SSD類型的存儲器上,則對于該區(qū)域的耐久性需求相當?shù)?,但在先驗上是不可檢測的,并因此不可用來降低耐久性需求。典型地,在存儲系統(tǒng)中的文件的粒度大約為4千字節(jié)。
[0017]數(shù)據(jù)存儲
[0018]例如,在板載應用的領域中,微處理器將需要除了程序存儲區(qū)域之外的數(shù)據(jù)存儲區(qū)域。該區(qū)域可以包含文件存儲系統(tǒng)(如前面的示例中的),還包括用于頻繁操作的軟件對象(緩沖區(qū)域、工作數(shù)據(jù)等等)。通常,這些對象的特征在于它們的規(guī)模小(大約一個或幾個CPU字高至幾千字節(jié)的數(shù)量級)但具有極其高的耐久性需求。注意,在前面情況(文件存儲)中的文件分配表能夠極好地包括在此定義中。數(shù)據(jù)的粒度將大約為一個CPU字(通常為16、32或64位)。
[0019]本文明的另一個目的將是利用不同存儲類型的本質特征,以能夠顯著地提高耐久性管理的效率。非限定性示例實施方案將在集成CPU和非易失性存儲器的板載系統(tǒng)的情況下公開。
現(xiàn)有技術
[0020]已知很多種用于管理非易失性存儲器的耐久性的方法。非詳盡地,我們將概括它們中的一些以及它們的主要特征。
[0021]錯誤校正碼(ECC)
[0022]該方法包括在存儲器中的每個字的擴展部分加入ECC (錯誤校正碼)。這被用于校正作為典型的保留或耐久性問題的被稱為“單個位失效”錯誤的單個錯誤。
[0023]錯誤校正的一些優(yōu)點包括其能通過倍增因數(shù)(2至4)來加倍每個存儲器扇區(qū)的原始耐久性這一事實。其還能有助于解決其他類型的問題(例如,對干擾更好的抵抗以及更好的保留等等)。其也是不需要任何附加RAM存儲器的相當簡單的本地處理。其僅需要具有低成本的邏輯門的ECC編碼器/解碼器。
[0024]另一方面,錯誤校正也具有很多的缺點。因此,其為在附加的非易失性存儲器中非常昂貴的方法,通常全部非易失性存儲器的25%可能被ECC占用。此外,僅有一個硬件實施是可能的。必須對每個存儲字支付附加的硬件成本,無關真實的耐久性需求??梢栽O想在多于一個的位上進行校正但要付出高昂的成本。
[0025]因此,概括來說,ECC是簡易可應用的系統(tǒng),能夠人為地提高非易失性存儲器的原始耐久性,但要付出較大附加硅面積的價格。
[0026]存儲器扇區(qū)空閑
[0027]在該方法中,大量的扇區(qū)被加入非易失性存儲器以用于替換不被使用的扇區(qū)。地址轉換表必須用于在被替換的扇區(qū)的新地點來訪問被替換的扇區(qū)。
[0028]如果僅管理在磁盤是新的時發(fā)現(xiàn)的或者隨著時間發(fā)展的有缺陷的扇區(qū)的話,該解決方案已被廣泛使用于硬盤控制器電路。[0029]該方法的優(yōu)點包括這是一個能夠由軟件來實施的解決方案這一事實。附加扇區(qū)的數(shù)目可以根據(jù)用于替換的目標需求來決定(該方法被稱為可調節(jié)的或可擴展的)。該方法的缺點包括需要使用標準來確定扇區(qū)是壞的。通常,使用周期計數(shù)器并且其輸出與由存儲器供應商給出的保證耐久性G進行比較。此外,如果由于附加扇區(qū)的數(shù)目受限而大部分的扇區(qū)需要大于原始耐久性的耐久性,則該方法將是不足的。因此,該方法特別適用于小數(shù)目的耐久性掠奪者(predateurs )。
[0030]另外,如果存在供電故障,保存(或重建)地址轉換表將是必要的。因此,應該為該目的提供附加的非易失性存儲器。耐久性保存是全局化的并且被限制為N*原始耐久性,其中N是附加扇區(qū)的數(shù)目。此外,如果必須構建對之前被替換的扇區(qū)的替換,則該方法迅速變得復雜。
[0031]總之,雖然在硬件和CPU性能上這是相對便宜的有效方法,但附加的耐久性能力受到分配的空閑扇區(qū)的數(shù)目的限制。這樣的系統(tǒng)例如在文件US2004/0057316A1中公開。
[0032]磨損均衡
[0033]該耐久性管理方法包括試圖在最大數(shù)目的扇區(qū)上盡可能一致地重新分配對耐久性的需求,以利用每一個的原始耐久性。用于該目的的一般技術包括將扇區(qū)的新內容寫入自由扇區(qū),并且之后使輪流變得自由以用于后續(xù)操作的舊扇區(qū)無效。需要相當復雜的分配表來存儲扇區(qū)的重新定位。
[0034]存在兩種該方法的已知可能替代:
[0035]動態(tài)磨損均衡:在動態(tài)磨損均衡中,僅使用活躍扇區(qū)(定期更新的扇區(qū))連同空閑扇區(qū)用于旋轉。這使耐久性能力受限于存儲器的子集。該方法非常頻繁地用于USB密匙中。這樣的方法在文件US2007/0294490A1 (Freitas等人)中詳細公開。
[0036]靜態(tài)磨損均衡:在這種情況下,除了動態(tài)磨損均衡外,活躍扇區(qū)與閑置扇區(qū)不時地交換以增加耐久性能力。該方法用于例如SSD類型的存儲器,但更為復雜。
[0037]磨損均衡的優(yōu)點包括其理論上能夠給出等于所有存儲器扇區(qū)的原始耐久性值的總和的全局耐久性這一事實。因此,該方法給出最大可能耐久性水平。這可以處理大量的耐久性掠奪者。并且這是一個可以由軟件實施的解決方案。
[0038]該方法的缺點包括全局耐久性受限于活躍扇區(qū)(對于動態(tài)磨損均衡)這一事實。另外,必須構建閑置扇區(qū)的旋轉,這極大地增加了如在靜態(tài)磨損均衡情況下的算法的復雜度。此外,在空閑時間中,在閑置扇區(qū)的旋轉或可以在其中完成旋轉的周期的識別期間,存在存儲器訪問性能的降低。
[0039]此外,由于地址間接法被推廣至整個存儲器,如果代碼包含在FLASH存儲器中,則該方法還影響代碼讀取和執(zhí)行性能(提取),而不只是數(shù)據(jù)讀取性能(數(shù)據(jù)讀取)。此外,對于用以存儲扇區(qū)重新定位的RAM存儲器的需求是非常大的。另外,該方法利用對于知道在電路上電時如何重建分配表并因此將其內容以某種方式存儲在非易失性存儲器中的絕對需求。由于扇區(qū)旋轉是均勻的,因此當參與旋轉的扇區(qū)中最弱的達到了其原始耐久性的限度時,該方法將停止。
[0040]現(xiàn)有技術的缺點
[0041]總體而言,如所見的,沒有已知的耐久性管理方法能夠利用存儲器的內在耐久性特征,也沒有在具體的和粒狀方法中,根據(jù)將使用存儲器的應用的功能的耐久性需求中的差異。每個已知方法取決于比如對于在多個扇區(qū)上(磨損均衡)或在根據(jù)標準的扇區(qū)的替換(扇區(qū)空閑)上的應用的全局耐久性的需求的系統(tǒng)平滑的固定特征,但沒有一個方法嘗試利用每個扇區(qū)的耐久性能力的重要離散(威布爾曲線)或應用的內在耐久性需求。
[0042]本發(fā)明的目的
[0043][I]因此,本發(fā)明的一個一般目的在于公開一種能夠校正已知耐久性管理方法的缺點的管理非易性失存儲器的耐久性的方法,以提高存儲器的全局耐久性。
[0044][2]本發(fā)明的另一個目的在于使用耐久性管理系統(tǒng),并且特別是用于提取每個扇區(qū)的真實耐久性能力的系統(tǒng),來限制在擦除期間施加在存儲器單元上的壓力,并因此自然地增加所有使用的扇區(qū)的真實耐久性能力。
[0045][3]本發(fā)明的一個更具體的目的在于公開一種能夠實時地使用每個存儲器扇區(qū)真實的、物理耐久性限度的用于管理存儲器的耐久性的方法,以在沒有任何關于每個扇區(qū)的真實限度的先驗以及沒有使用由建立者提供的耐久保證的情況下,使用每個扇區(qū)的最大可能耐久性。
[0046][4]本發(fā)明的另一個目的在于考慮應用的具體耐久性需求,以獲得在存儲器的耐久性能力和應用的真實需求之間的很好匹配。
[0047][5]本發(fā)明的另一個目的在于設計一種方法和系統(tǒng),具有與傳統(tǒng)系統(tǒng)相比極低的硅面積要求,就像在US2004/0057316A1中公開的,同時提供了更好的效率。
[0048][6]本發(fā)明的另一個目的在于能夠得到一種方法和系統(tǒng),其對于終端用戶(CPU)來說是完全透明的,并且具有實際上可忽略的訪問性能損失。
[0049][7]本發(fā)明的另一個目的在于能夠從非易失性存儲器開始變化,特別發(fā)展為管理耐久性,并且能夠利用完全通用的存儲器對其進行替換。
[0050][8]本發(fā)明的另一個目的在于得到一種可擴展的系統(tǒng),以使得終端用戶(CUP)能夠在耐久性能力或可用存儲器之間進行選擇。
[0051]本發(fā)明的內容
[0052]這些目的通過根據(jù)本發(fā)明的耐久性管理方法來實現(xiàn)。
[0053]本發(fā)明使用管理數(shù)據(jù)存儲系統(tǒng)的耐久性的傳統(tǒng)方法,利用與由建立者保證的原始耐久性能力(G)相關聯(lián)的扇區(qū)集合、多個工作扇區(qū)和多個能夠形成耐久性蓄積庫的空閑扇區(qū),工作扇區(qū)中的一些意在當所述工作扇區(qū)在給定數(shù)目的編程和/或擦除周期之后損壞時,由空閑扇區(qū)進行替換。本發(fā)明還利用非易失性存儲器管理區(qū)域來存儲與壞扇區(qū)和它們的替換扇區(qū)有關的信息(其為轉換表)。例如,基本的空閑扇區(qū)方法在US2004/0057316A1中公開并且在本公開的“現(xiàn)有技術”部分進行重復。其圖表式地顯示在圖2中。
[0054]傳統(tǒng)地,在該類的方法中,存在著不一致的扇區(qū)擦除檢測步驟22,跟隨有由空閑扇區(qū)替換壞扇區(qū)的步驟25。
[0055]本發(fā)明目標在于通過下面概括的多個附加手段來改進扇區(qū)空閑方法和基本算法。
[0056]第一附加手段包括利用三個構想的方法,以特別的方式執(zhí)行擦除步驟22。
[0057]實現(xiàn)這個的第一方法可以包括自動地驗證在擦除的扇區(qū)中的所有存儲器單元的值符合利用正常讀取命令,例如利用狀態(tài)機(圖6)的擦除。然而,該方法有這樣的缺點:其不檢測限制擦除值,對于該限制擦除值,一些位可以作為壞保留現(xiàn)象的結果而改變狀態(tài)。
[0058]第二方法將包括利用在之前方法中的自動機制,重試若干次在圖6中的讀取60,以限制不穩(wěn)定性。
[0059]第三方法將包括利用在第一方法中的自動機制,當邊緣模式在存儲器上是可用的時候,該時間利用圖6中的步驟60的該模式下的讀取。由此已知的并且頻繁用于測試非易失性存儲器以分類不符合制造說明書(收益)的扇區(qū)的這種邊緣模式可以以創(chuàng)新的方式使用,以在其徹底磨損之前檢測扇區(qū)的弱點。換句話說,當已經在該邊緣模式下正確地做出了驗證,則其可以保證扇區(qū)將總是以正常的模式正確地讀取。因此,其可以解決在第一方法中描述的保留問題。
[0060]在任何情況下,這三種方法都可以用于在不考慮保證耐久性值G或任何其他固定標準(例如,參考值)的情況下提取在每個扇區(qū)中最大的耐久性。這有助于實現(xiàn)本發(fā)明的目的[3],并且有助于使扇區(qū)空閑方法適用于威布爾曲線的特定性質,從每個扇區(qū)提取最大可能耐久性。驗證狀態(tài)機的簡易性和低成本也有助于實現(xiàn)目的[5](低成本)和[6](透明性和低性能損失)。
[0061]與之前的手段結合的第二附加手段包括分解由建立者指定的擦除時間的狀態(tài)機(圖5)(換句話說,在該時間內,高壓電源被應用于扇區(qū)的存儲點以擦除它們)。該第二手段有助于驗證在中間時間點處的擦除量是否足以能夠停止擦除過程。這能夠限制由于在存儲點上擦除而產生的壓力,并因此顯著地提高了所考慮的扇區(qū)的內在耐久性能力,這有助于實現(xiàn)目的[2]。管理擦除時間的分解的狀態(tài)機的簡易性和低成本還能夠滿足目的[5](低成本)以及目的[6](透明性和低性能損失)。由于通常只有部分的指定擦除時間對于正確地擦除扇區(qū)將是必要的,因此其還可以實現(xiàn)比建立者的說明書低很多的平均擦除時間。
[0062]本發(fā)明公開了包括使扇區(qū)空閑算法適用于應用的具體需求(目的[4])的第三附加手段。該第三手段的一個特殊實施有助于使其自身適用于許多板載應用的具體需求。這些應用的特征通常在于對于在少數(shù)扇區(qū)上極大的耐久性需求或者在其他扇區(qū)上中等或較低的需求。第一和第二手段已對較低或中間耐久性需求做出了很大的貢獻,使所有扇區(qū)的內在耐久性能力最大化。因此,對于高的耐久性需求,本發(fā)明指定該第三附加手段執(zhí)行單個原始扇區(qū)的多次替換。因而,將增加所需要的多個扇區(qū)的內在能力來滿足高的耐久性需求,真到不再具有任何可用的空閑扇區(qū)。
[0063]在該第三手段的第一實施中,由于完全通用的存儲器與正規(guī)結構一起使用而可以做到這一點(目的[7]),其中在原始扇區(qū)和空閑扇區(qū)之間沒有物理差異。因此,已經替換原始扇區(qū)的空閑扇區(qū)可以輪流成為原始扇區(qū)以用于后續(xù)替換。如圖7所示,這可以利用非易失性存儲器管理區(qū)域70來實現(xiàn),其中,在該區(qū)域中的每個元素被指定為被替換扇區(qū)并且代表替換扇區(qū)的地址。因此,通過跟隨原始扇區(qū)的依次替換的路徑,可以最終獲得在多次替換后最新版本的原始扇區(qū)。利用該實施,可以確定在CPU訪問原始扇區(qū)時最新版本的被替換扇區(qū)。
[0064]在該第三手段的第二更優(yōu)化的實施中,當電路上電時路徑可以被重構,并且在原始扇區(qū)和最終空閑扇區(qū)之間的捷徑可以被存儲在RAM中。該第二版本的實施比第一更貴,這是由于其使用附加的RAM。另一方面,其可以遵從目的[6](透明性和低訪問損失)。
[0065]第四附加手段包括非易失性存儲器管理區(qū)域的安全創(chuàng)建。該區(qū)域在產生每次替換的同時被寫入,以將替換扇區(qū)的地址存儲在專用于被替換扇區(qū)的元素中。因此,如果該區(qū)域的內容丟失,則存儲器成為不可用的。該第四手段使用安全機制來防止可能引起管理區(qū)域的損壞的電源的損耗。該機制包括執(zhí)行如圖7所示的下列算法。在該機制中的第一步驟包括將原始扇區(qū)73的地址寫入第一簽名區(qū)域72中。
[0066]寫簽名的末端74之后被寫入,以驗證之前被編程的地址。
[0067]一旦已經完成了這兩個步驟,與被替換扇區(qū)相關聯(lián)的管理區(qū)域70中的元素75被加載而包含替換扇區(qū)的地址。
[0068]替換簽名的末端76將在第二簽名區(qū)域71中再次被編程,以驗證后面的操作。
[0069]由于該機制在時間上是有序的,因此如果電源被切斷,僅有一個步驟將被破壞。因此,將易于確定算法終止的步驟,并且易于使其重新開始,以便使其能夠完成。
[0070]通常,將這四個附加手段中的一個或幾個附加至傳統(tǒng)的扇區(qū)空閑算法能夠有助于使該算法適用于板載存儲器的特定需求,既在高耐久性能力、運行可靠性、低訪問時間損失方面,也在低成本約束方面。
[0071]由于對于各種裝置并不需要特殊的存儲器特征,因此所有的目的[I]到[8]都可以通過根據(jù)包括對通用存儲器使用的需要的本發(fā)明的方法來實現(xiàn)。此外,由于原始扇區(qū)和替換扇區(qū)之間的限制能夠由終端用戶(CPU)來確定,因此目的[8]的可擴展系統(tǒng)也可以實現(xiàn)。
[0072]最終,本發(fā)明的目的為管理配置有與保證原始耐久性能力(G)相關的扇區(qū)集合的數(shù)據(jù)存儲系統(tǒng)的耐久性的方法,包括用于下列的步驟:
[0073]-將所述數(shù)據(jù)存儲系統(tǒng)分割成多個工作扇區(qū)以及割分成多個能夠形成耐久性蓄積庫的空閑扇區(qū),工作扇區(qū)中的一些意在當所述工作扇區(qū)在多次編程和/或擦除周期之后損壞時,由空閑扇區(qū)進行替換;
[0074]-定義地址管理區(qū)域,以尋找被分配給損壞工作扇區(qū)的替換扇區(qū)的位置;
[0075]-逐個扇區(qū)確定當前工作扇區(qū)在物理上是否損壞,并且僅當所述當前工作扇區(qū)聲明是物理上的損壞時,才執(zhí)行由空閑扇區(qū)替換該工作扇區(qū)的步驟;
[0076]-該方法的特征在于,在扇區(qū)中的存儲點的擦除量的自動讀取與邊緣讀取標準(邊緣Vref.)(換言之,就是比正常標準(正常Vref.)更嚴格)進行比較,以測量扇區(qū)的磨損,這些邊緣和正常標準稍后描述。
[0077]當正確地進行在邊緣模式下的讀取時,其保證了扇區(qū)將總是以正常模式正確地讀取。
[0078]根據(jù)本發(fā)明的一個有利的變型,擦除扇區(qū)的單脈沖被若干更短的順序施加的脈沖所代替,并且在每個脈沖之后執(zhí)行擦除質量測試,如果所述質量測試在最大預定義數(shù)目的脈沖和測試之后仍然是否定的,則工作存儲器扇區(qū)聲明是損壞的。
[0079]用這種方法,由于在存儲點上的擦除而產生的壓力受限,并且所考慮的扇區(qū)的內在耐久性能力顯著地提高。
[0080]理想地,具有正規(guī)結構的完全通用的存儲器將被使用,其中在原始扇區(qū)和空閑扇區(qū)之間不存在物理差異。因此,空閑扇區(qū)的數(shù)目可以由終端用戶根據(jù)目標耐久性需求來確定。此外,由空閑扇區(qū)替換的工作扇區(qū)自身變?yōu)槟軌蛟谄湟呀涍_到其物理磨損閾值時被替換的工作扇區(qū)。
[0081]根據(jù)本發(fā)明的方法允許非易失性存儲器管理區(qū)域用于重構在被替換扇區(qū)和替換扇區(qū)之間的路徑,其中在區(qū)域中的每個元素被指定給替換扇區(qū),并且為被替換的原始扇區(qū)的地址。
[0082]此外,訪問原始扇區(qū)期間,實時確定利用管理區(qū)域的在原始扇區(qū)和替換扇區(qū)之間的重構路徑。
[0083]根據(jù)本發(fā)明,當電路上電時,重構在原始扇區(qū)和替換扇區(qū)之間的路徑,并且將在原始扇區(qū)和最終替換扇區(qū)之間的捷徑存儲在RAM存儲器中。
[0084]根據(jù)本方法的一個優(yōu)選實施方案,更新管理區(qū)域的方法被設計成抵抗電源損耗,以防止所述管理區(qū)域的毀壞。
[0085]本發(fā)明的另一個目的為用于實施如上所述的耐久性管理方法的裝置,其特征在于包括被分成多個工作扇區(qū)和空閑扇區(qū)的存儲器、用于管理空閑扇區(qū)的區(qū)域、能夠執(zhí)行在描述的方法中的步驟的邏輯控制器。
[0086]在閱讀所附附圖的具體描述之后,本發(fā)明的其他特征和優(yōu)點將變得清楚,其中:
[0087]-圖1示出存儲器扇區(qū)的原始耐久性的分布曲線;
[0088]-圖2示出在已知扇區(qū)空閑方法中的步驟的流程圖;
[0089]-圖3示出可應用根據(jù)本發(fā)明的方法的非易失性存儲器的組織結構的圖表;
[0090]-圖4圖解式地示出用于測量擦除質量的原理;
[0091]-圖5更具體地示出當所述擦除在若干個時間步驟中完成時,對應于在圖2中的流程圖中的擦除操作的步驟的流程圖;
[0092]-圖6示出在用于扇區(qū)空閑方法中的擦除驗證方法中的步驟的流程圖;
[0093]-圖7示出用于重構在原始扇區(qū)和替換扇區(qū)之間的路徑的管理區(qū)域和兩個簽名區(qū)域的組織結構的圖表。
[0094]參考圖1。該圖示出在存儲器中的扇區(qū)根據(jù)它們的耐久性能力的統(tǒng)計分布的曲線。因此,縱坐標示出對于在橫坐標上顯示的給定耐久性的扇區(qū)的百分比。在橫坐標上顯示的耐久性可以表示為可能的擦除的數(shù)目,其實際上代表扇區(qū)的耐久性能力。
[0095]如在曲線10上可見的,根據(jù)耐久性的扇區(qū)的比例分布在形狀上為高斯分布,圍繞著由Emi表示的平均值分布,并且所有扇區(qū)的耐久性高于對于在該存儲器中的扇區(qū)的也被稱為原始或內在耐久性并且由G表示的最小保證耐久性。
[0096]實際上,存儲器制造商將給出保證耐久性值G,其表明所有扇區(qū)的耐久性高于該保證耐久性值。實際上,耐久性曲線的形狀是非常寬的(圖1中沒有按比例示出),這意味著最小耐久性值G比平均耐久性值Em低很多。根據(jù)本發(fā)明的耐久性管理方法的基本目標之一為布置事項使得實際上能夠使用的最小耐久性值比其在現(xiàn)有技術中高出非常多,即高出幾個數(shù)量級。
[0097]現(xiàn)在參考示出在傳統(tǒng)扇區(qū)空閑方法中的步驟的流程圖的圖2。該方法利用狀態(tài)機來實施,并且應用于存儲器的典型扇區(qū)。
[0098]從休止狀態(tài)20開始,在21中確定當前扇區(qū)是否將被擦除。如果是的話,則在步驟22中進行擦除,步驟22包括將足夠的電壓發(fā)送至當前存儲器扇區(qū)以擦除單元。然后,利用從若干個可用的方法中選擇的驗證方法,在27和23中進行擦除質量的驗證。如果擦除質量測試的結果是好的(分支24),則轉入假設擦除圓滿完成的步驟26。另一方面,如果在23中完成的擦除測試的質量是不好的,則考慮當前存儲器扇區(qū)是損壞的,并且由有效地假設擦除已經完成(標記26)的好的(之前擦除的)替換扇區(qū)在25中進行替換。[0099]參考圖解式地示出非易失性存儲器30的組織結構的圖3,非易失性存儲器30例如FLASH類型的存儲器,包括工作區(qū)域31和空閑區(qū)域32,每個區(qū)域被分解成扇區(qū),例如工作扇區(qū)33和空閑扇區(qū)34。當應用于工作扇區(qū)的擦除測試表明該扇區(qū)是損壞的,該扇區(qū)被重新定向到在空閑區(qū)域32中的空閑扇區(qū)34之間的給定扇區(qū)。將用于替換工作扇區(qū)的空閑區(qū)域中的精確空閑扇區(qū)將在耐久性管理區(qū)域35中進行確定,以保持對進行的替換的追蹤。
[0100]在工作存儲器31中的工作扇區(qū)可以被替換整數(shù)η次,其中η小于數(shù)目N,數(shù)目N對應于包含在空閑區(qū)域32中的空閑扇區(qū)34的數(shù)目。
[0101]關于能夠進一步提聞存儲器30的耐久性能力的工作扇區(qū),本發(fā)明允許在空閑區(qū)域32中的扇區(qū)34被在空閑區(qū)域中的其他扇區(qū)替換。
[0102]利用邏輯控制器(未示出)、耐久性管理區(qū)域35、非易失性存儲器30和一個裝置(未示出)來實施上面描述的方法,以測量存儲器扇區(qū)的磨損。
[0103]邏輯控制器可以以硬件或軟件狀態(tài)機的形式構成。
[0104]非易失性存儲器30可以是物理存儲器或其他的數(shù)據(jù)存儲裝置。
[0105]測量裝置可以使用存儲器或任何其他裝置的正常讀取模式或更嚴格的讀取模式,以確定擦除或者編程操作沒有被正確地完成。
[0106]將參考圖4來描述用于測量扇區(qū)的磨損的裝置的示例,在圖4中示出了根據(jù)在橫坐標上顯示的存儲器晶體管的閾值電壓Vt,在縱坐標上顯示存儲器的給定扇區(qū)的位的總量的圖。
[0107]按照慣例,考慮的是當相應的晶體管的閾值電壓高于依據(jù)用于存儲器的技術的由Vtfflin表示的限制電壓時,位被“編程”或者為零級。
[0108]相反,考慮的是當對應于該位的晶體管的閾值電壓小于由Vtmax表示的限制電壓時,該位被“擦除”或者為在一級。
[0109]如在圖4中可見的,根據(jù)應用的閾值電壓遵循一般高斯分布40、41,用于編程的存儲點(O)或擦除的存儲點(I)的閾值電壓變化,并且相應的位的總量等于零或一。
[0110]在所說的“正常模式”讀取中,當前存儲點的閾值電壓Vt與在限制電壓Vtniin和Vtfflax (并且由虛線42圖解式地表示)之間的由正常VMf表示的固定參考進行比較,并且根據(jù)正常參考閾值電壓、正常VMf的比較結果,給定存儲點被認為等于零或一。
[0111]在“邊緣模式”讀取中,當前存儲點的閾值電壓與大于Vtniax但小于之前的參考正常Vref的,由邊緣Vref (未示出)表示的另一個參考進行比較。因此,具有位于正常模式中的讀取參考(正常vMf)和在“邊緣模式”中的讀取參考(邊緣Vref)之間的閾值電壓Vt的存儲點在正常模式中被認為具有不同的值(例如是零而非一,反之亦然),但在邊緣模式中將被認為是“零”。
[0112]或者在正常模式中或者在邊緣模式中讀取存儲點的閾值電壓的這些方法可以用于根據(jù)本發(fā)明的方法中,以測量扇區(qū)的擦除質量。它們將有助于檢測在沒有考慮扇區(qū)的理論耐久性限制,而是考慮其內在物理特質的情況下,扇區(qū)是否被真正地擦除。該方法還保證了擦除驗證讀取是穩(wěn)定的。
[0113]參考示出擦除存儲器扇區(qū)的方法的變型的圖5,其中,在圖2的流程圖中利用單脈沖的正常擦除步驟22被利用多擦除脈沖的擦除所代替。
[0114]通常,通過將高壓施加在存儲點上并且輸入一些能量進入其中而擦除存儲點,這最終毀壞了存儲點并使其徹底難以辨識。
[0115]在本發(fā)明的一個有利的實施方案中,僅僅必須的擦除電壓被施加在每個存儲點上,使得每個存儲點的壽命能夠提高,因而耐久性蓄積庫并因此整個存儲器的壽命都能夠提聞。
[0116]出于此目的,本發(fā)明公開了如何利用在每個擦除脈沖之后進行的擦除質量測試54,使單個的正常擦除脈沖22由若干順序施加的更弱的脈沖所代替50。施加弱脈沖直到擦除質量測試為肯定的,或直到已經施加了預定數(shù)目的弱脈沖53。如果在施加了最大預定義數(shù)目的弱脈沖之后,擦除質量測試仍然是不好的,則考慮存儲器扇區(qū)是損壞的55,并且通過分配在空閑區(qū)域中的扇區(qū)來進行替換。
[0117]可見,如果在小于最大預定義數(shù)目的脈沖的許多脈沖之后,擦除質量測試給出好的結果52,則施加的用于擦除該扇區(qū)的能量的總量將小于用于傳統(tǒng)擦除的能量的總量,這有助于延長存儲器的壽命。
[0118]如以上所說明的,擦除質量測試能夠在正常模式下或在邊緣模式下完成。
[0119]參考示出傳統(tǒng)擦除驗證過程的圖6。
[0120]在步驟60中,讀取擦除的扇區(qū)的存儲器單元,并且之后在61中驗證該存儲器單元已經被正確地擦除。如果是這樣,則處理在扇區(qū)65中的下一個單元,并且重復操作60、61和65,直到操作63檢測到在扇區(qū)中的最后一個單元。如果在沒有擦除失敗的情況下到達在扇區(qū)中的最后一個單元61,則推論出擦除在64中經過驗證。如果擦除失敗,在62中其將通過無效擦除而終止。
[0121]參考示出對應于第四手段的方法的圖7:
[0122]該方法使用使用管理區(qū)域70和兩個簽名區(qū)域71和72。
[0123]在該方法中的第一步驟包括將原始扇區(qū)73的地址寫在第一簽名區(qū)域72中。
[0124]寫入簽名的末端74之后被寫入,以保證之前被編程的地址的驗證。
[0125]一旦已經完成了這兩個步驟,與被替換扇區(qū)75相關聯(lián)的管理區(qū)域中的元素被加載替換扇區(qū)的地址。
[0126]替換簽名的末端76將在第二簽名區(qū)域71中被再次被編程,以驗證后面的操作。
[0127]本發(fā)明的優(yōu)點
[0128]所描述的本發(fā)明實現(xiàn)了固有的目的。其能夠實現(xiàn)非常高的耐久性能力,幾乎相當于利用所謂的磨損均衡方法所可能實現(xiàn)的,但卻沒有它們的缺點。
[0129]因此,本發(fā)明在不是所有數(shù)據(jù)對象都具有高耐久性需求的環(huán)境(通常,其具體為板載的情況)中以及僅有少量對象需要高耐久性的安全類型軟件應用中特別有用。在成本非常受限時,對于這樣的情況,該方法變得有吸引力,但其能夠用于具有相似耐久需求的任何其他類型的應用或已知的或未來的存儲裝置中。
[0130]測量與物理上而不僅僅是統(tǒng)計學上的磨損標準相比較的擦除質量的機制,對于實現(xiàn)存儲器的高全局耐久性是必要的。其使得可以在必須替換原始扇區(qū)之前,最大化原始扇區(qū)的使用(并因此降低對于空閑扇區(qū)的需求),但還需要最大化“耐久性蓄積庫”的值。
[0131]擦除質量測量機制的應用還使得可以僅將必要的擦除電壓施加在扇區(qū)上,并因此最大化其壽命。
[0132]實際上,必要的空閑扇區(qū)的數(shù)目能夠依據(jù)目標耐久性需求而容易地進行調節(jié)。[0133]此外,根據(jù)本發(fā)明的方法能夠快速地從耐久性蓄積庫中排除需要大量耐久性的弱扇區(qū)。
[0134]根據(jù)本發(fā)明的方法在附加存儲器的成本方面僅有微小的損失,該成本實際上是非常低的,這是由于其與目標全局耐久性成比例,而不是與存儲器大小成比例。
[0135]對于RAM存儲器和控制邏輯的需求與所謂的動態(tài)或靜態(tài)磨損均衡方法相比是極低的。
[0136]根據(jù)本發(fā)明的方法能夠優(yōu)化形成部分系統(tǒng)的扇區(qū)的耐久性的使用。不再需要比它們能夠由自身提供的更多的耐久性的原始扇區(qū)從不參與替換系統(tǒng)(與磨損均衡不同,在磨損均衡中所有的扇區(qū)理論上參與該系統(tǒng))。因此,由于原始扇區(qū)的優(yōu)化使用而產生必須的空閑扇區(qū)的數(shù)目的劇烈減少。
[0137]在目前,本發(fā)明本質上適用于非易失性存儲器,但也可應用于產生磨損現(xiàn)象的任何數(shù)據(jù)存儲系統(tǒng)。
【權利要求】
1.一種管理數(shù)據(jù)存儲系統(tǒng)的耐久性的方法,所述數(shù)據(jù)存儲系統(tǒng)配置有與原始耐久性能力(G)相關聯(lián)的扇區(qū)集合,所述方法包括下列步驟: -將所述數(shù)據(jù)存儲系統(tǒng)分成多個工作扇區(qū)以及分成多個能夠形成耐久性蓄積庫的空閑扇區(qū),工作扇區(qū)中的一些意在當所述工作扇區(qū)在多次編程和/或擦除周期之后損壞時,由空閑扇區(qū)進行替換; -定義地址管理區(qū)域,以尋找被分配給損壞工作扇區(qū)的替換扇區(qū)的位置; -逐個扇區(qū)地確定當前工作扇區(qū)是否在物理上是損壞的,并且僅當所述當前工作扇區(qū)聲明是物理上的損壞時,才執(zhí)行由空閑扇區(qū)替換該工作扇區(qū)的步驟; -其特征在于,在扇區(qū)中的存儲點的擦除質量的自動讀取與邊緣讀取標準(邊緣Vref)進行比較,邊緣讀取標準換言之就是比正常標準(正常Vref)更嚴格,用以測量扇區(qū)的磨損。
2.根據(jù)權利要求1所述的方法,其特征在于擦除扇區(qū)的單脈沖被若干更短的順序施加的脈沖所代替,并且在于,在每個脈沖之后執(zhí)行擦除質量測試,如果所述質量測試在最大預定義數(shù)目的脈沖和測試之后仍然是否定的,則工作存儲器扇區(qū)聲明是損壞的。
3.根據(jù)前述權利要求中任一項所述的方法,其特征在于: -具有正規(guī)結構的完全通用的存儲器將被使用,其中在原始扇區(qū)和空閑扇區(qū)之間不存在物理差異; -空閑扇區(qū)的數(shù)目能夠由終端用戶根據(jù)目標耐久性需求來確定; -由空閑扇區(qū)替換的工作扇區(qū)自身變?yōu)槟軌蛟谄湟呀涍_到其物理磨損閾值時被替換的工作扇區(qū)。
4.根據(jù)權利要求3所述的方法,其特征在于,對于重構在被替換扇區(qū)和替換扇區(qū)之間的路徑,使用非易失性存儲器管理區(qū)域,其中在區(qū)域中的每個元素被指定給替換扇區(qū),并且為被替換的原始扇區(qū)的地址。
5.根據(jù)權利要求4所述的方法,其特征在于,在訪問原始扇區(qū)期間,實時確定利用管理區(qū)域的在所述原始扇區(qū)和所述替換扇區(qū)之間的重構路徑。
6.根據(jù)權利要求4所述的方法,其特征在于,當電路上電時,重構在所述原始扇區(qū)和所述替換扇區(qū)之間的路徑,并且將在所述原始扇區(qū)和最終替換扇區(qū)之間的捷徑存儲在RAM存儲器中。
7.根據(jù)權利要求4所述的方法,其特征在于,更新管理區(qū)域的方法被設計成抵抗電源損耗,以防止所述管理區(qū)域的毀壞。
8.一種用于實施根據(jù)前述權利要求中任一項所述的耐久性管理方法的裝置,其特征在于,其包括被分成多個工作扇區(qū)和空閑扇區(qū)的存儲器、用于管理空閑扇區(qū)的區(qū)域,以及能夠執(zhí)行在根據(jù)權利要求1到7中任一項所述的方法中的步驟的邏輯控制器。
【文檔編號】G11C16/34GK103842974SQ201280040808
【公開日】2014年6月4日 申請日期:2012年6月22日 優(yōu)先權日:2011年6月22日
【發(fā)明者】S·沙布約, Y·富塞拉, S·里卡爾 申請人:星芯公司