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