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