鬼佬大哥大
  • / 11
  • 下載費用:30 金幣  

一種延長NANDFLASH數據可靠存儲時間的編碼方法.pdf

摘要
申請專利號:

CN201510680033.X

申請日:

2015.10.19

公開號:

CN105204958A

公開日:

2015.12.30

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||實質審查的生效IPC(主分類):G06F 11/10申請日:20151019|||公開
IPC分類號: G06F11/10 主分類號: G06F11/10
申請人: 哈爾濱工業大學
發明人: 魏德寶; 鄧立寶; 王世元; 喬立巖; 彭喜元
地址: 150001 黑龍江省哈爾濱市南崗區西大直街92號
優先權:
專利代理機構: 哈爾濱市松花江專利商標事務所 23109 代理人: 楊立超
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510680033.X

授權公告號:

||||||

法律狀態公告日:

2018.03.13|||2016.01.27|||2015.12.30

法律狀態類型:

授權|||實質審查的生效|||公開

摘要

一種延長NAND?Flash數據可靠存儲時間的編碼方法,本發明涉及延長NAND?Flash數據可靠存儲時間的編碼方法。本發明的目的是為了解決現有NAND?Flash數據可靠存儲時間低、LDPC算法運算成本高,硬件的運算能力要求高,數據備份重寫的問題。通過以下步驟實現:一、獲得對應繼續可靠存儲時間長度;二、每次讀取數據迭代執行一;三、執行二后,將Tstore和Tlimit比較,若達到Tlimit則執行四,若否則執行五;四、啟動數據的異地更新機制,讀取數據;執行ECC糾錯;七、判斷數據存儲時間長度是否達到Tnext,若是則執行八,若否,執行九;八,當Tcurrent達到Tnext時,執行二,九;九、獲得正確數據;十、結束。本發明應用于數據存儲領域。

權利要求書

權利要求書
1.  一種延長NANDFlash數據可靠存儲時間的編碼方法,其特征在于,一種延長NANDFlash數據可靠存儲時間的編碼方法具體是按照以下步驟進行的:
步驟一、根據數據已存儲時間長度Tstore和可糾錯位數,獲得對應繼續可靠存儲時間長度Tnext,自動更新錯誤位置信息表,標記并記錄錯誤位置信息;
步驟二、在數據存儲過程中每一次讀取數據,迭代執行一次步驟一;
步驟三、執行步驟二后,將Tstore和極限保護周期Tlimit進行比較,若達到極限保護周期Tlimit,則執行步驟四,若沒有達到極限保護周期Tlimit,則執行步驟五;
所述,極限保護周期Tlimit為人為事先設定;
步驟四、啟動數據的異地更新機制,利用NANDFlash的FTL垃圾回收機制,將數據在異地進行備份,清空錯誤位置信息表,再執行步驟五;
步驟五、讀取數據;
步驟六、執行ECC糾錯;
步驟七、判斷距離上次更新錯誤位置信息表,數據存儲時間長度Tcurrent是否達到繼續可靠存儲時間長度Tnext,若是則行步驟八,若否,執行步驟九;Tcurrent為存儲系統中預設的模塊,記錄數據存儲的時間;
步驟八,當Tcurrent達到Tnext時間長度時,更新錯誤位置信息表,即根據ECC特性,標記并記錄錯誤位置信息,執行步驟二,然后執行步驟九;
步驟九、獲得正確數據;
步驟十、結束。

2.  根據權利要求1所述一種延長NANDFlash數據可靠存儲時間的編碼方法,其特征在于,所述步驟一中根據數據已存儲時間長度Tstore和可糾錯位數,自動更新錯誤位置信息表;具體過程為:
步驟一一、通過讀取時間戳獲取數據已存儲時間長度Tstore,通過數據冗余區獲得目前錯誤位數,將目前錯誤位數按ECC校驗能力的80%計算獲取可糾錯位數;
ECC是“ErrorCorrectingCode”的簡寫,為錯誤檢查和糾正;
步驟一二、將步驟一一中數據已存儲時間長度Tstore和可糾錯位數輸入錯誤預測模型,獲 得對應繼續可靠存儲時間長度Tnext,當數據存儲時間長度Tcurrent達到Tnext時間長度時,自動更新錯誤位置信息表,即根據ECC特性,標記并記錄錯誤位置信息,Tcurrent為存儲系統中預設的模塊,記錄數據存儲的時間。

3.  根據權利要求2所述一種延長NANDFlash數據可靠存儲時間的編碼方法,其特征在于,所述步驟五中讀取數據;具體過程為:
步驟五一、迭代執行一次步驟一,讀取錯誤位置信息表,信息表為空則執行步驟五二,否則執行步驟五三;
步驟五二、創建錯誤位置信息表,執行步驟二;
步驟五三、按照錯誤位置信息表記錄的錯誤位置,對錯誤位置的信息進行按位取反操作,數據存儲為二進制,即非0即1,標識出錯誤位置,將對應位置取反即可以獲得正確數據。

說明書

說明書一種延長NAND Flash數據可靠存儲時間的編碼方法
技術領域
本發明涉及延長NANDFlash數據可靠存儲時間的編碼方法。
背景技術
固態硬盤(SolidStateDrives,SSDs)具有讀寫速度快、功耗低、抗震性強等優點,SSDs的優良特性使其逐漸取代傳統的機械式旋轉磁盤,目前已經廣泛應用于嵌入式和消費電子等移動存儲設備,以及大型數據服務器領域。為提高SSDs的存儲容量和降低其單位存儲成本,NANDFlash逐漸從單層單元(SingleLevelCell,SLC)發展到多層單元(Multi-levelCell,MLC)。在相同體積下,MLC/TLC臨近狀態的閾值電壓間距會明顯變小。因此NANDFlash芯片生產工藝的提高帶來高性價比的同時,不可避免地帶來了NANDFlash數據可靠存儲時間的降低。
影響NANDFlash存儲可靠性的錯誤類型宏觀上主要表現為編程干擾錯誤、讀錯誤、擦除錯誤和駐留錯誤四種。而在數據需要長期存儲的場合,駐留錯誤就成為占支配地位的錯誤類型,這也是人們最關注的錯誤類型之一。NANDFlash的數據駐留錯誤主要是由于原先存儲于浮柵極的電子發生泄露,導致浮柵極保持的電壓變小。這種錯誤表現在數據的讀取上就是發生了位翻轉。即數據由“1”變到“0”或由“0”變到“1”,駐留錯誤特性之一就是發生錯誤的單元在每次讀取時錯誤位置屬性基本保持不變,也是就是說相鄰兩次讀取(不經歷擦除操作)過程中,駐留錯誤在NANDFlash中的位置重合度很高(70%以上)。可以簡要的由圖2表述,其中字母代表出錯位置,圖中a、b、c、e、f為重復位置發生的錯誤,g、h為新產生的錯誤,重合度為5/6。我們通常所說的隨著數據存儲時間的延長,數據錯誤位數的增加也只是在原有的Flash駐留錯誤基礎上新增的駐留錯誤,即其在位置關系上是累加關系。
在MLC/TLC普及之前,針對SLC芯片的糾錯算法主要是漢明校驗碼,這種算法校驗能力十分有限,只能夠檢查2位錯誤校正1位錯誤,這對SLC已經足夠,因為SLC本身的特性決定了其錯誤率十分低,基本不需要糾錯能力強的糾錯算法。MLC芯片出現以后原有的糾錯算法就不能滿足現實需求,于是逐漸開始使用BCH糾錯算法,相應的運算成本也大幅提高,以至于需要專用的主控芯片來運行糾錯算法,目前NANDFlash主要采用就是這種糾錯算法。BCH不僅可以糾正錯誤,還可以定位錯誤的位置。對于TLC芯片,BCH算法也很難適應其不斷增長的錯誤率,進而出現了糾錯能力更強的LDPC算法,但由于這種算法運算成本高,使得其對硬件的運算能力要求較BCH算法高,相對BCH算 法,需要對大量數據備份重寫,目前還沒得到廣泛的應用。
發明內容
本發明的目的是為了解決現有NANDFlash數據可靠存儲時間低、LDPC算法運算成本高,硬件的運算能力要求高,數據備份重寫的問題,而提出一種延長NANDFlash數據可靠存儲時間的編碼方法。
上述的發明目的是通過以下技術方案實現的:
步驟一、根據數據已存儲時間長度Tstore和可糾錯位數,獲得對應繼續可靠存儲時間長度Tnext,自動更新錯誤位置信息表,標記并記錄錯誤位置信息;
步驟二、在數據存儲過程中每一次讀取數據,迭代執行一次步驟一;
步驟三、執行步驟二后,將Tstore和極限保護周期Tlimit進行比較,若達到極限保護周期Tlimit,則執行步驟四,若沒有達到極限保護周期Tlimit,則執行步驟五;
所述,極限保護周期Tlimit為人為事先設定;
步驟四、啟動數據的異地更新機制,利用NANDFlash的FTL垃圾回收機制,將數據在異地進行備份,清空錯誤位置信息表,再執行步驟五;
步驟五、讀取數據;
步驟六、執行ECC糾錯;
步驟七、判斷距離上次更新錯誤位置信息表,數據存儲時間長度Tcurrent是否達到繼續可靠存儲時間長度Tnext,若是則行步驟八,若否,執行步驟九;Tcurrent為存儲系統中預設的模塊,記錄數據存儲的時間;
步驟八,當Tcurrent達到Tnext時間長度時,更新錯誤位置信息表,即根據ECC特性,標記并記錄錯誤位置信息,執行步驟二,然后執行步驟九;
步驟九、獲得正確數據;
步驟十、結束。
發明效果
采用本發明的一種延長NANDFlash數據可靠存儲時間的編碼方法,本發明專利涉及固態存儲領域,目前的固態存儲以MLC/TLC型NANDFlash存儲芯片為主,其錯誤率明顯要高于傳統的SLC芯片。本發明專利重點針對MLC/TLC芯片較高的數據駐留錯誤進行了研究,在不進行硬件升級或提高ECC算法糾錯能力的前提下,通過NANDFlash的數據駐 留錯誤特性,利用NANDFlash錯誤預估模型可間接提高ECC可糾錯位數,進而延長數據可靠存儲的時間。本編碼策略可以廣泛應用于數據服務器,檔案館等數據需要長時間存儲的應用領域。如今針對NANDFlash駐留錯誤的研究已經成為研究的熱點。本發明專利涉及一種延長NANDFlash數據可靠存儲時間的編碼策略,利用NANDFlash駐留錯誤的位置重合度特性,結合相應的存儲策略,使得在不需要改變ECC糾錯能力的前提下,延長Flash中數據的可靠保存時間,節省了硬件升級成本,同時該方法在不改變ECC糾錯能力的前提下明顯提高了NANDFlash數據存儲的可靠性。
1)不改變NANDFlash中的原有存儲數據,每次“更新”只需存儲少量的錯誤位置信息,避免了傳統方法造成的大量數據備份重寫;
2)該編碼方法可以在不增加硬件升級成本和ECC糾錯能力的前提下,顯著增加了NANDFlash的可糾錯位數,提高了數據的可靠存儲時間;例如:傳統ECC糾錯能力為每512字節可糾錯3位,我們取已擦除5000次的Flash塊,在不改變ECC糾錯能力的前提下,通過記錄錯誤的位置信息糾正已記錄錯誤,延長數據可靠存儲時間,效果示意如圖6,其中第一次可靠存儲時間即為傳統方案數據的可靠存儲時間,第二和第三次可靠存儲時間為使用本發明累積疊加更新錯誤信息表后獲得的可靠存儲時間,由圖6可以看出,應用本發明后可以顯著提高數據可靠存儲時間。
3)提出了可靠存儲時間的概念,當數據保存時間達到可靠存儲時間的閾值,啟動更新錯誤位置信息表機制,并結合NANDFlash的錯誤預測模型,確定可以繼續可靠存儲的時間;
4)提出了數據保護周期的概念,當數據保存時間達到保護周期的閾值,啟動異地更新機制后開始新的保護周期;
5)額外存儲空間占用較小,帶來的運算負荷可以不計。
附圖說明
圖1為本發明流程圖;
圖2為背景技術中駐留錯誤發生位置重合度描述示意圖;
圖3為計算可靠存儲時間長度Tnext流程示意圖;
圖4為重新開始保護周期流程示意圖;
圖5為數據讀取流程示意圖;
圖6為延長數據可靠存儲時間原理示意圖。
具體實施方式
具體實施方式一:結合圖1說明本實施方式,一種延長NANDFlash數據可靠存儲時間的編碼方法,其特征在于,一種延長NANDFlash數據可靠存儲時間的編碼方法具體是按以下步驟進行的:
步驟一、根據數據已存儲時間長度Tstore和可糾錯位數,獲得對應繼續可靠存儲時間長度Tnext,自動更新錯誤位置信息表,標記并記錄錯誤位置信息;
步驟二、在數據存儲過程中每一次讀取數據,迭代執行一次步驟一;
步驟三、如圖4,執行步驟二后,將Tstore和極限保護周期Tlimit進行比較,若達到極限保護周期Tlimit(說明已經累積大量的錯誤),則執行步驟四,若沒有達到極限保護周期Tlimit,則執行步驟五;
所述,極限保護周期Tlimit為人為事先設定;
步驟四、啟動數據的異地更新機制,利用NANDFlash的FTL垃圾回收機制,將數據在異地進行備份(也就意味著開始了新一輪的數據存儲周期),清空錯誤位置信息表,再執行步驟五;
步驟五、讀取數據;
步驟六、執行ECC糾錯;
步驟七、判斷距離上次更新錯誤信息表,數據存儲時間長度Tcurrent是否達到繼續可靠存儲時間長度Tnext,若是則行步驟八,若否,執行步驟九;Tcurrent為存儲系統中預設的模塊,記錄數據存儲的時間;
步驟八,當Tcurrent達到Tnext時間長度時,更新錯誤位置信息表,即根據ECC特性,標記并記錄錯誤位置信息,執行步驟二,然后執行步驟九;
步驟九、獲得正確數據;
步驟十、結束。
具體實施方式二:本實施方式與具體實施方式一不同的是:所述步驟一中根據數據已存儲時間長度Tstore和可糾錯位數,自動更新錯誤位置信息表;具體過程為:
步驟一一、如圖3,通過讀取時間戳獲取數據已存儲時間長度Tstore,通過數據冗余區獲得目前錯誤位數,將目前錯誤位數按ECC校驗能力的80%計算獲取可糾錯位數;
ECC是“ErrorCorrectingCode”的簡寫,為錯誤檢查和糾正;
步驟一二、將步驟一一中數據已存儲時間長度Tstore和可糾錯位數輸入NANDFlash的錯誤預測模型,獲得對應繼續可靠存儲時間長度Tnext(也就確定了下次需要更新錯誤位置信息表的時刻),當數據存儲時間長度Tcurrent達到Tnext時間長度時,自動更新錯誤位置信息表,即根據ECC特性,標記并記錄錯誤位置信息,Tcurrent為存儲系統中預設的模塊,記錄數據存儲的時間。
其它步驟及參數與具體實施方式一相同。
具體實施方式三:本實施方式與具體實施方式一或二不同的是:所述步驟五中讀取數據;具體過程為:
步驟五一、如圖5,迭代執行一次步驟一,讀取錯誤位置信息表,信息表為空則執行步驟五二,否則執行步驟五三;
步驟五二、創建錯誤位置信息表,執行步驟二(執行一次);
步驟五三、按照錯誤位置信息表記錄的錯誤位置,對錯誤位置的信息進行按位取反操作,數據存儲為二進制,即非0即1,標識出錯誤位置,將對應位置取反即可以獲得正確數據。
讀取過程的啟動主要有兩種方式,一種是通過定時啟動,即數據存儲時間達到了強制啟動時間長度Tnext。另一種就是伴隨用戶日常的數據讀取,通過自適應定時啟動方式選擇,可以避免因短期內多次讀取操作造成的錯誤信息表頻繁更新。描述的是數據讀取方式,只有數據正確的讀出來了,才完成了可靠存儲的目的。主要功能就是在數據讀出的同時記錄下錯誤的位置信息,并將錯誤的位置信息進行保存。與常規做法不同的是,在下次讀取時可以根據這些存儲的錯誤位置信息將讀出數據中的相應數據位“取反”得到“正確”的數據,這樣就可以在執行ECC之前對記錄過錯誤位置的數據位進行糾錯,避免了傳統策略造成的數據備份開銷,為ECC糾錯留下了更大的發揮空間。
其它步驟及參數與具體實施方式一或二相同。
實施例:
傳統ECC糾錯能力為每512字節可糾錯3位,我們取已擦除5000次的Flash塊,在不改變ECC糾錯能力的前提下,通過記錄錯誤的位置信息糾正已記錄錯誤,延長數據可靠存儲時間,效果示意如圖,其中第一次可靠存儲時間即為傳統方案數據的可靠存儲時間,第二和第三次可靠存儲時間為使用本發明累積疊加更新錯誤信息表后獲得的可靠存儲時 間,由圖可以看出,應用本發明后可以顯著提高數據可靠存儲時間。
本發明還可有其它多種實施例,在不背離本發明精神及其實質的情況下,本領域技術人員當可根據本發明作出各種相應的改變和變形,但這些相應的改變和變形都應屬于本發明所附的權利要求的保護范圍。

關 鍵 詞:
一種 延長 NANDFLASH 數據 可靠 存儲 時間 編碼 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種延長NANDFLASH數據可靠存儲時間的編碼方法.pdf
鏈接地址:http://www.wwszu.club/p-6405754.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大