NAND FLASH扇區管理

來源:互聯網
上載者:User

 首先需要瞭解NAND FLASH的結構。

      

       以鎂光MT29F4G08BxB Nand Flash為例,這款Flash(如)以4個扇區(sector)組成1個頁(page),64個頁(page)組成1個塊(block),4096個塊(block)構成整個Flash儲存空間;由於每個扇區的容量是512 位元組(bytes),整個Flash容量為4224M Bit(相當於528M位元組),去掉備用地區用於存放ECC資料校正16M(虛線部分),就是這個片子的容量512M位元組。其他型號的Flash也是同樣由扇區組成頁、由頁組成塊、塊組成整個存放裝置,只是扇區、頁、塊的數量多少有區別而已。

      在Flash的生產製造過程中,由於生產工藝的缺陷,很容易在Flash中產生不能使用的壞地區,如果在隨身碟中要使用這樣的Flash,就必須使用所謂的“量產工具”;隨身碟量產工具其實就是一種集壞地區掃描和Flash管理系統裝載於一身的工具。常規隨身碟主控的掃描是以塊為單位,掃描即往每一個塊裡寫入資料,然後將讀出的資料與寫入的資料比較,如果資料有誤則把該塊標為“壞塊”。掃描完成後就是將Flash管理系統裝載到Flash裡面,Flash管理系統就會利用掃描產生的壞塊表對整個Flash進行讀寫管理,這樣就完成了整個量產動作,隨身碟也就可以正常使用了。所以隨身碟顯示的容量與實際所用的Flash容量差異來源於不能儲存資訊的壞塊和Flash管理系統的佔用塊。壞塊越多,做出的隨身碟容量越低;而Flash管理系統佔用的塊是沒有辦法避免,就像我們的電腦安裝作業系統要佔用硬碟空間一樣。

      當然這裡還涉及到一個ECC錯誤修正能力的問題,假設對這個Flash進行掃描的定義的ECC錯誤修正能力為1bit,只有資料出現超過1bit錯誤的塊才會被標記為壞塊。這個時候需要區分塊錯誤修正和扇區錯誤修正的差別,假設任何一個塊裡有任何一個扇區(512bytes)存在超出1bit的錯誤,常規主控在掃描的時候就會判斷整個塊為壞地區,這樣將損失整個塊128Kbytes的容量;但是當使用扇區錯誤修正的主控時,同樣1bit ECC錯誤修正,他會直接去判斷這個塊裡哪些是超出1bit錯誤的扇區,從而將其剔除,損失的只是每個真正有錯誤扇區的512bytes容量,從而保留了其餘沒有錯誤的扇區,這樣Flash的利用率可以得到極大的提高。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.