NAND FLASH儲存器的壞塊管理

2021-09-30 06:42:37 字數 1350 閱讀 8353

nand flash儲存器的壞塊管理

(hal)硬體適配層管理壞塊,通常工廠在出廠時建立乙個壞塊表標記壞塊。

壞塊是那些包含一位或者多位無效位,可靠性不能保證的塊。壞塊可能在出廠時已經存在,也可能在使用過程中產生。

有壞塊的裝置和無壞塊的裝置有相同的質量等級和相同的ac,dc特性,乙個壞塊不會影響有效塊的效能,因為它通過選擇電晶體來分離線性位和通用**行。

在nand flash壞塊管理中,塊替換和ecc是必要的,st在hal中提供了這些模組。

圖1有效的塊被擦除後,將全為ffh,壞塊資訊在出廠時預先被寫入。那些第一頁或第二頁的spare區的第6個位元組是blockstatus如果不為ff則是壞塊。

壞塊資訊必須在試圖擦除前讀,壞塊資訊也可能被擦除。強烈要求執行壞塊管理演算法去允許系統認識到原始資訊的壞塊。

在讀nand flash的所有spare區時將建立壞塊表。此表必須儲存在乙個好塊中,當重啟nand flash時,壞塊表將被載入到記憶體中。壞塊表中包含的塊將不被定址。所以,當flash傳輸層(ftl)定址到乙個壞塊時,壞塊管理程式將重定向到乙個好塊。

圖2當ecc校驗探測到兩個或者更多錯誤,並且只能糾正乙個時,也為標誌為壞塊。ecc標誌當前塊為壞塊,壞塊管理軟體重新分配乙個新塊去對映塊位址。同一塊中頁程式設計操作未生效,塊將重新程式設計當前資料被重新定位,並且複製剩餘替換塊為有效塊。

標誌壞塊和新塊的分配可以有兩種常規方法:「

跳過塊方法:

跳過塊的方法是通過演算法建立乙個壞塊表並且當目標位址和壞塊位址一致時,資料將被儲存在下乙個好塊中,跳過壞塊。

當nand裝置使用過程中生成壞塊時,其資料也儲存在下乙個好塊中,這個資訊表明好塊和壞塊都儲存在nand flash裝置中。

ftl用鍊錶方法寫邏輯扇區,它將不標誌整個塊為壞塊,只是跳過壞頁。通過這種方法,ftl想新的物理塊寫邏輯扇區,標誌老頁無效。

預留塊方法:

在預留塊方法,壞塊表還是像上面描述的方式建立,在這種方法,壞塊不被跳過,但是通過重定向替換乙個ftl認識的好塊。為這個目的,壞塊管理軟體在nand flash中建立兩個區域:使用者位址塊區域和保留塊區域。ftl使用使用者位址塊區域儲存資料,用保留塊區域作為壞塊替換和儲存壞塊表,與」develop bad blocks「重對映。定義這兩個區域,定義起始位址和保留區域長度是必要的,長度可以是使用者給的,也可以是壞塊管理軟體強加的。例如,nand裝置有512mb,使用者位址塊區域是4016塊,並且保留塊區域從4017到4096塊。

ftl每次寫邏輯扇區,他將計算寫塊的實體地址,在ftl開始寫時,壞塊管理軟體檢測塊是否是壞塊。如果是,它將返回扇區重新對映的好塊位址。如果nand flash使用過程變為壞塊,壞塊管理軟體重新對映壞塊,並且複製他含有的資料替換它。

壞塊管理對ftl是完全透明的。對ftl來說,資料被寫入相同的位址。

NAND Flash快閃儲存器壞塊的相關知識

1.為什麼會出現壞塊 由於 nand flash的工藝不能保證nand的memory array在其生命週期中保持效能的可靠,因此,在nand的生產中及使用過程中會產生壞塊。壞塊的特性是 當程式設計 擦除這個塊時,不能將某些位拉高,這會造成page program和block erase操作時的錯誤...

NAND Flash快閃儲存器壞塊的相關知識

1.為什麼會出現壞塊 由於nand flash的工藝不能保證nand的memory array在其生命週期中保持效能的可靠,因此,在nand的生產中及使用過程中會產生壞塊。壞塊的特性是 當程式設計 擦除這個塊時,不能將某些位拉高,這會造成page program和block erase操作時的錯誤,...

Nand Flash壞塊處理

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