NAND Flash產生壞塊原因

2021-06-28 21:24:02 字數 1085 閱讀 4026

由於nand flash的工藝不能保證nand的memory array在其生命週期中保持效能的可靠,因此,在nand的生產中及使用過程中會產生壞塊。壞塊的特性是:當程式設計/擦除這個塊時,不能將某些位拉高,這會造成page program和block erase操作時的錯誤,相應地反映到status register的相應位。總體上,壞塊可以分為兩大類:

1.固有壞塊

這是生產過程中產生的壞塊,一般晶元原廠都會在出廠時都會將壞塊第乙個page的spare area的第1個或者6個byte標記為不等於0xff的值,標記在哪一位是根據page的大小決定的,詳情參考我的另一篇部落格:

2.使用壞塊

這是在nand flash使用過程中,如果block erase或者page program錯誤,就可以簡單地將這個塊作為壞塊來處理,這個時候需要把壞塊標記起來。為了和固有壞塊資訊保持一致,將新發現的壞塊的第乙個page的spare area的第1個或者6個byte標記為非0xff的值。

我們了解了nand flash出廠時在spare area中已經反映出了壞塊資訊,因此,如果在擦除乙個塊之前,一定要先check一下spare area的第1或者第6個byte是否是0xff,如果是就證明這是乙個好塊,可以擦除;如果是非0xff,那麼就不能擦除。當然,這樣處理可能會犯乙個錯誤―――「錯殺偽壞塊」,因為在晶元操作過程中可能由於電壓不穩定等偶然因素會造成nand操作的錯誤。但是,為了資料的可靠性及軟體設計的簡單化,我們就要奉行「蔣委員長」的「寧可錯殺一千,也決不放過乙個」的宗旨。

補充說明:

1.需要對前面由於page program錯誤發現的壞塊進行一下特別說明。如果在對乙個塊的某個page進行程式設計的時候發生了錯誤就要把這個塊標記為壞塊,首先就要把其他好的page裡面的內容備份到另外乙個空的好塊裡面,然後,把這個塊標記為壞塊。當然,這可能會犯「錯殺」之誤,乙個補救的辦法,就是在進行完頁備份之後,再將這個塊擦除一遍,如果block erase發生錯誤,那就證明這個塊是個真正的壞塊,那就毫不猶豫地將它打個「戳」吧!

2.可能有人會問,為什麼要使用spare area的第乙個或者第六個byte作為壞塊標記。這是nand flash生產商的預設約定的,但是也不一定必須得是第一或者第六個byte,只是這兩者情況用的比較多而已,詳情參考。

Nand Flash壞塊處理

nand flash儲存器是flash儲存器的一種,為固態大容量記憶體的實現提供了廉價有效的解決方案。nand儲存器具有容量較大,改寫速度快等優點,適用於大量資料的儲存,如嵌入式產品中包括數位相機 記憶卡 體積小巧的u盤等。1989年,東芝公司發表了nand flash結構,強調降低每位元的成本,更...

nand flash壞塊管理OOB,BBT,ECC

0.nand的操作管理方式 nand flash的管理方式 以三星flash為例,一片nand flash為乙個裝置 device 1 device x blocks 1 block x pages 1 page 528 bytes 資料塊大小 512bytes oob 塊大小 16bytes,除o...

nand flash壞塊管理OOB,BBT,ECC

0.nand的操作管理方式 nand flash的管理方式 以三星flahs為例,一片nand flash為乙個裝置 device 1 device x blocks 1 block x pages 1 page 528 bytes 資料塊大小 512bytes oob 塊大小 16bytes,除o...