NANDFLASH 中的Bad Block管理

2021-06-25 12:43:00 字數 904 閱讀 5130

1.skip block method(跳過壞塊方式)

這種方法通俗易懂。 這個演算法開始之前先讀取儲存器內的所有備用區域。 那些被標

識成 bad block 的位址都被收集起來。 接下來, 資料被連續的寫入目標 flash 器件。 當

目標位址與先前收集的 bad block 位址一致時, 跳過壞塊, 資料被寫到下乙個好的塊中。 然

後繼續保留 bad block 中備用區域的標識資訊。 所以在程式匯入執行之前, 使用者的系統通

過讀取 spare area(備用區域)的資訊能建立乙個 bad block 的位址列表。

2.reserved block area method(保留塊區域方式)

三星的「reserved block area method」 基於這樣的法則, bad block 在使用者的系

統中能夠被好 block (塊)所替代。 這種燒錄演算法工作時首先決定將那些 block (塊)用來做

uba(user block area), 這些 block (塊)將會被 rba map table 記錄, 並且對這些 block (塊)

進行保留操作。 接下來, 演算法讀取 spare area(備用區域)的資訊然後建立乙個 map 列表

到 rba。 在 rba 中唯一只有第一和第二個塊被用來儲存列表和對它進行備份。 這 rba

中的 map 包含一些有了資訊, 如用來那些 rba 中的保留塊來代替 bad block。

3.error checking and correction(錯誤檢測和糾正)

使用 ecc 糾錯機制是為了讓儲存的資料完整無誤。 軟體上出錯的機率大概是 10 的-10

次方。 推薦使用的是採用 secded (單一的錯誤糾正/雙倍的錯誤探測) ecc 演算法來充分的

利用潛在的 nand flash 儲存器。

nandflash中TACLS的設定

下圖自s3c2440 圖1 cle ale時序圖 圖2 nwe和nre時序圖 從s3c2440手冊中我們可以得到 由圖1可知 tacls為cle ale有效到nwe有效之間的持續時間 twrph0為nwe的有效持續時間 twrph1為nwe無效到cle ale無效之間的持續時間。這些時間都是以hcl...

NAND FLASH中ECC的原理與錯誤

向nand flash寫資料時,每256或512位元組會生成乙個校驗碼寫在每個page的oob區,當從nand flash讀資料時,每讀取256或512位元組資料,也會生成乙個ecc校驗碼,拿這個校驗碼與存放在oob區的校驗嗎對比看看是否一致,就可以知道讀取的資料是否正確.一般來說,kernel與c...

ubifs燒寫到nand flash中的幾種方法

折騰了好幾天,突然柳暗花明,繼而思之,發現原來是出門就走錯了路,悲劇之餘,寫下此筆記,以省自己,警他人。正題,關於ubifs 的介紹在此就不多說,詳見 1.ubifs檔案系統映象的製作過程 1.1 所需的工具 製作ubifs 映象所需的工具有 mkfs.ubifs 和ubinize 可以通過以下方式...