NAND Flash的壞塊管理設(shè)計
②寫過程中發(fā)生錯誤,則該塊成為壞塊。處理方法為:為其分配一個新的有效塊,將壞塊原有數(shù)據(jù)拷貝到有效塊,并同時寫入新的數(shù)據(jù),最后更新映射表,標(biāo)識壞塊。寫操作的錯誤處理算法如圖5所示。本文引用地址:http://www.ex-cimer.com/article/151348.htm
③擦除過程發(fā)生錯誤,則該塊成為壞塊。處理方法為:為其分配一個新的有效塊,并擦除此有效塊,更新映射表,標(biāo)識壞塊。
2.3 BootIoader的壞塊管理
在Bootloader層采用Linux內(nèi)核相同的壞塊管理策略,并復(fù)用相關(guān)代碼。Bootloader在內(nèi)存建立起的壞塊映射表可以通過內(nèi)存共享的方式,傳遞給Linux內(nèi)核,從而減少內(nèi)核重新掃描壞塊映射表的時間,加快系統(tǒng)啟動速度。
3 測試
Cases測試方法:對一切可能情況實行模擬測試,最后進(jìn)行壓力測試。
3.1 壞塊場景模擬測試
①出廠壞塊;
②運行中產(chǎn)生壞塊:讀操作產(chǎn)生壞塊,寫操作產(chǎn)生壞塊,擦操作產(chǎn)生壞塊,比特反轉(zhuǎn)產(chǎn)生偽壞塊。
3.2 壞塊表一致性場景模擬
①2張相同Vn+1;
②1張Vn+1和2張相同Vn;
③1張Vn+1和1張Vn;
④1張Vn;
⑤沒有任何壞塊表;
⑥2張不相同的Vn+1。
3.3 壓力測試
系統(tǒng)不間斷運行10天后,工作狀態(tài)仍然正常。
3.4 文件系統(tǒng)測試
系統(tǒng)能夠支持對壞塊敏感的文件系統(tǒng)squashfs、cramfs,其測試案例均通過。這表明該壞塊管理方法能有效管理NAND Flash。
4 總結(jié)
本文提出了一種基于嵌入式Linux整套系統(tǒng)的NAND Flash壞塊管理實現(xiàn)方案,并詳細(xì)介紹其壞塊映射算法。此方案目前已經(jīng)應(yīng)用到數(shù)字電視開發(fā)平臺。在系統(tǒng)平臺上的相關(guān)壞塊動態(tài)產(chǎn)生、突然掉電等大量測試表明此方案穩(wěn)定可靠。
評論