[發明專利]一種維持閃存損耗均衡的方法在審
| 申請號: | 201410689234.1 | 申請日: | 2014-11-26 |
| 公開(公告)號: | CN104360957A | 公開(公告)日: | 2015-02-18 |
| 發明(設計)人: | 周玉潔;韋月 | 申請(專利權)人: | 上海愛信諾航芯電子科技有限公司 |
| 主分類號: | G06F12/06 | 分類號: | G06F12/06;G11C29/42 |
| 代理公司: | 上海信好專利代理事務所(普通合伙) 31249 | 代理人: | 張靜潔;徐雯瓊 |
| 地址: | 200241 上海*** | 國省代碼: | 上海;31 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 維持 閃存 損耗 均衡 方法 | ||
技術領域
本發明涉及一種維持閃存損耗均衡的方法,尤其是指一種次片閃存的損耗均衡管理方法,屬于存儲技術領域。
背景技術
閃存(Flash?Memory)是一種長壽命的非易失性存儲器,即在斷電情況下仍能保存所存儲的數據信息的存儲器,通常被用來保存信息,如被用于在移動電話、數碼攝像機、游戲機、MP3播放器、個人數字助理(PDA)、數碼相機中保存資料等。
閃存在結構上是由很多塊(Block)所組成的,每個塊中又包括很多頁(Page),而每個頁的基本存儲單元是比特(Bit)。閃存是以塊為單位擦除的,并且是以頁為單位讀寫的。為識別閃存中的塊是否可用,需要對閃存中的全部塊進行掃描。掃描時對閃存塊的每個頁寫入數據,并讀出進行數據校驗,通過錯誤檢查糾正技術(ECC,Error?Correcting?Code)判斷每頁中有多少個比特出錯并糾正錯誤。當每個頁中的錯誤比特少于某個設定值時,由于有錯誤檢查糾正模塊支持,出錯比特可以被糾正,所以認為這個頁可用。當每個塊中不可用的頁的數目少于某個設定值時,認為這個塊可用,但這個可用塊的數據出錯幾率仍然還是要大于完好的不存在錯誤比特的可用塊。因此通過對閃存中的每個塊掃描并統計分析,確認可用頁及可用塊。
正常出廠的閃存,壞的頁和壞的塊都比較少,并且塊內的比特出錯也較少,但次片閃存(down-grade?flash)掃描后通常能發現塊內的壞比特較多。由于閃存在寫一個塊之前必需要先把塊內數據擦除,而閃存塊的擦除次數又是有一定限制的,也就是使用壽命;因此,當閃存塊的擦除次數大于限制時,塊內數據的讀寫就更容易出錯。通常為了避免頻繁的對閃存中的某一個塊進行讀寫操作,會使用損耗均衡算法(Wear-leveling)將擦除次數較多的塊和擦除次數較少的塊進行交換,以使得閃存中各個塊的擦除次數比較均衡。但是,通常的損耗均衡算法并沒有考慮次片閃存的情況,雖然次片閃存的某些有錯誤比特的塊經過掃描后仍然可以使用,但使用時容易出錯,比正常塊的出錯幾率大。因此,本發明提出一種尤其針對次片閃存的損耗均衡管理方法。
發明內容
本發明的目的在于提供一種維持閃存損耗均衡的方法,尤其適用于次片閃存,在進行損耗均衡處理時結合考慮了閃存中每個可用塊的實際比特出錯情況,減少了比特出錯情況較高的可用塊的訪問次數,提高了閃存的使用壽命和穩定性。
為了達到上述目的,本發明提供一種維持閃存損耗均衡的方法,具體包含以下步驟:
S1、掃描閃存的所有塊,經過統計分析得出掃描結果,從中挑選出可用塊;
S2、對閃存中經掃描后挑選出的可用塊,統計比特出錯情況并進行分級,針對每個級別設定相應的擦除次數的初始值;
S3、根據閃存中每個可用塊的擦除次數的初始值,將其歸類為空閑塊或數據塊,從而形成空閑塊組和數據塊組;
S4、進行損耗均衡處理,將數據塊組中當前擦除次數最少的數據塊和空閑塊組中當前擦除次數最多的空閑塊進行交換。
所述的S1中,具體包含以下步驟:
S11、對閃存的每個塊的每個頁寫入數據,然后讀出數據,再利用錯誤檢查糾正技術判斷每個頁中有多少個比特出錯并記錄下來;
S12、判斷每個頁的比特出錯數目是否小于設定值;如當前頁的比特出錯數小于等于設定值,則確認當前頁可用;如當前頁的比特出錯數大于設定值,則確認當前頁不可用;
S13、判斷每個塊的不可用頁的數目是否小于設定值;如當前塊的不可用頁的數目小于等于設定值,則確認當前塊可用;如當前塊的不可用頁的數目大于設定值,則確認當前塊不可用。
所述的S2中,具體包含以下步驟:
S21、統計每個可用塊的比特出錯情況,并劃分錯誤級別;
S22、對每個錯誤級別分別設定對應的擦除次數的初始值,錯誤級別越高,設定的擦除次數的初始值越大;
S23、按照每個可用塊所對應的錯誤級別,分別設定并記錄與該錯誤級別相對應的每個可用塊的擦除次數的初始值。
所述的S21中,具體包含以下步驟:
S211、針對閃存中的每個可用塊,將其中每個頁中的比特出錯數目相加,計算得到每個可用塊的比特出錯總數;
S212、根據每個可用塊的比特出錯總數劃分每個可用塊的錯誤級別,比特出錯總數越大,錯誤級別越高;
S213、記錄每個可用塊所對應的錯誤級別。
所述的S22中,設定的擦除次數的初始值必須小于閃存塊預先限定的最大擦除次數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于上海愛信諾航芯電子科技有限公司,未經上海愛信諾航芯電子科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410689234.1/2.html,轉載請聲明來源鉆瓜專利網。





