a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > NAND Flash的壞塊管理設計

NAND Flash的壞塊管理設計

作者: 時間:2010-11-15 來源:網絡 收藏

摘要:主要介紹了基于嵌入式Linux的 壞塊和實現方案,詳細闡述了壞塊映射表的建立、維護及其相關算法,同時分析了此壞塊算法在Linux內核及Bootloader中的具體應用。測試結果表明該算法能夠處理的相關壞塊問題,具有較高的穩定性。
關鍵詞: ;嵌入式IAnux;映射表;壞塊

本文引用地址:http://www.j9360.com/article/151348.htm

在擁有諸多優點的同時,NAND Flash由于生產工藝的問題,其在出廠時可能存在一定的壞塊。這些固有壞塊不能用于存儲數據,已被產家標識好。另外,使用過程中由于讀寫次數增多,好塊也會變得不穩定或失效,成為壞塊,這就是出廠后產生的壞塊。
NAND Flash在生產及使用過程中都有可能產生壞塊,這將使得系統變得不穩定。應用中一般采用跳塊策略來壞塊,但它不能解決系統運行中產生的壞塊情況。針對此情形,本文提出基于嵌入式Linux系統平臺下的一種基于壞塊映射的NAND Flash壞塊管理的方案,并詳細介紹其相關映射算法和整套系統的相關壞塊管理流程。

1 壞塊管理層次結構
Linux下的MTD(Memory Technology Device)是用于管理ROM、Flash等內存設備的一層子系統,它使編寫管理內存設備驅動變得更加簡單。
MTD子系統將Flash設備或其分區抽象為MTD設備,使底層驅動只需實現MTD設備,而向上層文件系統提供標準的接口,如MTD字符設備、MTD塊設備。
如圖1所示,本方案中,將壞塊管理層(BBMlayer)緊靠在驅動層之上MTD層之下,從而使得MTD層對壞塊不可見,并使壞塊的管理是基于整個芯片而不是某個分區,便于上層文件系統實現損耗平衡。

a.JPG
BBM層基于驅動層提供的讀、寫、擦除相關操作實現接口read()、write()、erase()、read_oob()、write_oob()、isbad()、mark_bad()。對于其上層MTD子系統而言,關于壞塊的相關接口將不存在,物理介質類似于NORFlash。其中read_oob()、write_oob()接口為文件系統提供相關用途,如JFFS2的cleanmarker相關載體。

2 壞塊管理模塊的實現
2.1 壞塊管理原理
本文的設計的壞塊管理是基于壞塊映射原理的一種實現。在本壞塊映射的設計中,NAND Flash被劃分為基本空間和預留空間。基本空間為用戶看到的NANDFlash的總的存儲空間。基本空間中的壞塊被映射到預留空間中的相應好塊。基本映射關系如圖2所示。映射管理信息記錄在壞塊映射表中,它存儲在預留空間。

b.JPG


上一頁 1 2 3 4 下一頁

關鍵詞: 設計 管理 Flash NAND

評論


相關推薦

技術專區

關閉