對Nandflash的物理塊按無效頁數量進行動態排序的方法
2023-12-08 17:52:36 1
專利名稱:對Nandflash的物理塊按無效頁數量進行動態排序的方法
技術領域:
本發明涉及一種對Nandflash (與非型快閃記憶體)的物理塊按無效頁數量進行動態排序的方法。
背景技術:
Nandflash在最近幾年裡得到了突飛猛進的發展,由SLC(1位/單元)技術發展到了 MLC(多位/單元)技術,同時Nandflash的生產工藝也不斷進步。隨著技術的發展,Nandflash容量不斷增大,單位容量的成本也大幅降低,應用Nandflash的領域也越來越多。Nandflash的擦寫次數是有限的,在擦寫的時候要儘量擦除無效頁數量最多的塊,因此在Nandflash控制器的設計中,選擇無效頁數量最多的塊,是一個非常必要的功能。每次垃圾塊回收時,一般的Nandflash控制器的做法都需要從頭查找無效頁數量最多的塊,這需要相當長的時間。
發明內容
本發明要解決的技術問題是提供一種對Nandflash的物理塊按無效頁數量進行動態排序的方法,能有效縮短查找無效頁數量最多的塊所花費的時間。為解決上述技術問題,本發明的對Nandflash的物理塊按無效頁數量進行動態排序的方法包括如下步驟:第一步,將被更 新的物理塊從原位置刪除,將其前後的物理塊重新連接起來;第二步,將被更新的物理塊重新插入到排序鍊表的新位置中。所述排序鍊表米用鍊表結構。當物理塊的無效頁數量發生變化時,即時更新排序鍊表。系統上電後,需要在執行寫操作前,對所述Nandflash物理塊按無效頁數量進行排序生成排序鍊表。本發明是在已知Nandflash每個物理塊中無效頁數量的基礎上,採用排序鍊表結構對Nandflash的物理塊進行動態排序,通過在寫操作時動態更新排序鍊表,大大縮短了查找無效頁數量最多的物理塊所花費的時間。採用本發明的方法,對Nandflash的物理塊按無效頁數量的排序鍊表的動態更新,只需幾個操作即可完成,系統時間花銷非常小。在垃圾塊回收時,系統可以直接讀取Nandflash的物理塊按無效頁數量排序的排序鍊表中的第一個物理塊,即可獲得無效頁數量最多的物理塊,大大減少了系統時間花銷。
下面結合附圖與具體實施方式
對本發明作進一步詳細的說明:附圖是對Nandflash的物理塊按無效頁數量排序的排序鍊表動態更新流程圖。
具體實施例方式系統上電後,需要在執行寫操作前,對Nandflash的物理塊按無效頁數量排序的排序鍊表進行初始化。初始化的作用是根據各物理塊中所含的無效頁數量,生成排序鍊表。參見附圖所示,每當一個物理塊中所含無效頁數量增加時,就開始更新排序鍊表。例如,物理塊M的無效頁數由N更新到N+1時,將被更新的物理塊M從原位置刪除,並將物理塊M的前一物理塊和後一物理塊串聯起來;然後更新相關變量(如GRP_N+1_HP,GRP_N_HP和TAIL)。將物理塊M插入到排序鍊表中的新位置,然後再更新相關變量(如GRP_N+1_HP, GRP_N_HP 和 HELD)。本發明中各變量的定義見下表1:
權利要求
1.一種對與非型快閃記憶體Nandflash的物理塊按無效頁數量進行動態排序的方法,其特徵在於,包括如下步驟: 第一步,將被更新的物理塊從原位置刪除,將其前後的物理塊重新連接起來; 第二步,將被更新的物理塊重新插入到排序鍊表的新位置中。
2.如權利要求1所述的方法,其特徵在於:所述排序鍊表採用鍊表結構。
3.如權利要求2所述的方法,其特徵在於:所述鍊表結構,對於每一物理塊均有對應的鍊表項,每一項包含兩個指針,一個指向當前物理塊的前一個物理塊,另一個指向當前物理塊的後一個物理塊。
4.如權利要求1所述的方法,其特徵在於:當物理塊的無效頁數量發生變化時,即時更新排序鍊表。
5.如權利要求1所述的方法,其特徵在於:系統上電後,需要在執行寫操作前,對所述與非型快閃記憶體Nandflas h的物理塊按無效頁數量進行排序生成排序鍊表。
全文摘要
本發明公開了一種對Nandflash的物理塊按無效頁數量進行動態排序的方法,第一步,將被更新的物理塊從原位置刪除,將其前後的物理塊重新連接起來;第二步,將被更新的物理塊重新插入到排序鍊表的新位置中。本發明能有效縮短查找無效頁數量最多的物理塊所花費的時間。
文檔編號G06F12/06GK103226517SQ20121002183
公開日2013年7月31日 申請日期2012年1月31日 優先權日2012年1月31日
發明者遲志剛 申請人:上海華虹集成電路有限責任公司