基于NAND FLASH的高速大容量存儲系統設計
2.3 壞塊處理技術(shù)
NAND型FLASH芯片在出廠(chǎng)時(shí)內部會(huì )隨機分布有壞塊,壞塊是指一個(gè)塊內含有一位或更多位的數據單元無(wú)法進(jìn)行操作,并且在芯片的長(cháng)期使用過(guò)程中不可避免地還會(huì )增加新的壞塊。不允許對壞塊進(jìn)行擦除和編程操作,這樣會(huì )導致數據的存儲錯誤。因此在操作FLASH的過(guò)程中,需要建立一個(gè)壞塊管理列表,將芯片內部的所有壞塊信息寫(xiě)入列表中,并且在出現新的壞快時(shí)能夠及時(shí)的更新壞塊管理列表。
FLASH內部的壞塊有兩種,一種是芯片出廠(chǎng)時(shí)本身含有的初始壞塊,此類(lèi)壞塊廠(chǎng)家已經(jīng)標明,通過(guò)讀取芯片每塊第一頁(yè)和第二頁(yè)的第4 096個(gè)字節來(lái)進(jìn)行判斷,如果均是“FFH”,則認為此塊是有效塊,否則便為壞塊。另一種則是在使用過(guò)程中新增加的壞塊,可以通過(guò)讀狀態(tài)寄存器來(lái)進(jìn)行判斷。
壞塊管理列表的建立和更新可以使用將其內部地址空間和FLASH內部塊地址一一對應的映射方法,當發(fā)現是壞塊時(shí),只需將列表中對應此塊地址的單元寫(xiě)入1比特“0”信息即可,而其余的地址單元仍是1比特“1”信息代表有效塊。在對FLASH的每一塊進(jìn)行操作之前,需要先讀取壞塊管理列表中對應此塊地址單元的信息,如果發(fā)現是壞塊就跳過(guò)此塊不進(jìn)行操作,然后再進(jìn)行下一塊的判斷,直至找到有效塊時(shí)再進(jìn)行操作。壞塊管理列表的建立和更新分別如圖2、圖3所示。本文引用地址:http://dyxdggzs.com/article/191199.htm
評論