初始mtd學習筆記

來源:互聯網
上載者:User

 

一、基本架構

快閃記憶體是無需供電保持資訊的可擦寫的儲存空間。快閃記憶體與經過裁剪的、合適的裝置驅動程式和檔案系統一起使用。在linux系統中,這種特別設計的驅動程式和檔案系統是由MTD子系統提供的。

linux-MTD的組成

1.       MTD核心

2.       映射驅動程式。

3.       晶片驅動程式。晶片通訊的命令支援。

使用者程式提出請求後,經過VFS(虛擬檔案系統),解析出具體的檔案系統,如jffs2,yaffs2

mtd裝置驅動分三層

作業系統介面層

塊裝置mtd_block.c mtd_blkdev.c

字元裝置mtd_char.c

 

處理協議層

MTD裝置驅動(nandbase.c)

和結構nand_chip相關

 

相關硬體層(晶片驅動程式)

S3C2410_nand.c和硬體相關。

 

MTD塊裝置驅動程式可以讓flash器件偽裝成塊裝置

mtd_info用於描述MTD原始裝置資訊。其中定義了大量關於MTD的資料和操作函數。如頁大小,OOB大小,塊大小,ecc類型等。

塊裝置是要放在檔案系統上才能訪問的。JFFS2是專門為flash設計的完整的檔案系統。cramfs,唯讀檔案系統,壓縮比例高。yaffs檔案系統是為nand flash器件設計的檔案系統。

二、資料結構

mtd_partition  標識快閃記憶體晶片的分區情況

map_info 聯絡映射驅動程式與晶片驅動程式

mtd_info一般裝置相關資訊

erase_info,erase_info_user,用於快閃記憶體擦除管理結構

cfi_private, 由NOR晶片驅動程式維護的裝置相關資訊

nand_ecclayout,NAND晶片集的OOB空閑區布局

三、nand flash相關

nand flash內部有許多塊(block)組成,每塊又由若干頁(page)組成。第

頁有保留的冗餘區(spare area)。寫入資料的最小單元是頁,擦除的最小單

元是塊。一般情況下,每512個位元組對應16個冗餘位元組的冗餘區,用於儲存差

錯校正碼,邏輯地址等。

 

根據一個flash單元可儲存的bit位,可將flash分為SLC和MLC兩種。MLC

flash可儲存2~4位資訊。

使用flash要解決的問題

1.塊擦除次數有限

       採用損耗均衡法使各個塊近似均衡使用

2.異位更新

       flash中的資料修改後要放在其它閒置地區,原來的地區要在適

當的時候擦除。因此需要地址映射、記憶體回收等技術來管理儲存空間。

3.壞塊

       nand在生產和使用的過程中會產生壞塊。

4.錯誤校正碼

       nand flash會產生位翻轉的問題。需要使用ECC演算法來錯誤修正。

 以上4個問題都要在檔案系統中(NFTL層)解決。

 

nand flash使用

nand flash按功能上可以分為這麼幾個部分

1.有效資料區

2.替代區

3.空閑區

4.待擦除區

5.壞塊區

所以在物理區管理上你可以分為這麼三個部分

1.映射區

2.資料使用區

3.保留區

映射區內要包含壞塊表(一般一頁就夠了)

資料使用區,就是自己使用的地方。具體就是上面說的空閑區,待擦除區,替代區。

保留區,就是防止flash使用過程中產生了壞塊,用此區去填充壞掉的塊。

第一次使用時,必須掃描全盤建立壞塊表。這一步是通過查詢冗餘區的塊狀態位元組完成的。此後根據情況,利用冗餘區查詢flash的ecc資訊,地址轉換表資訊,塊狀態資訊等完成相應的操作。

關於nand flash的具體操作,參看http://download.csdn.net/source/3568972

 

 

      

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.