延長(cháng)Flash存儲器使用壽命的研究
在NANDFlash使用過(guò)程中可能會(huì )出現這樣的問(wèn)題:產(chǎn)生壞塊或壞頁(yè)、由此引發(fā)的數據丟失、對一些扇區或塊的過(guò)分磨損導致NANDFlash壽命縮短等。為了能更好地使用NAND Flash,在其損壞時(shí)使損失最小化,需要一種方法,使用相同的地址可以屏蔽掉壞了的塊,而指針指向好塊。即使第一塊壞了,還可以使用O地址去操作一個(gè)好塊。
3 Flash存儲器的讀取方法
K9F11208UOM型Flash芯片內部與外部引腳關(guān)系如圖2所示。對于每一個(gè)塊的訪(fǎng)問(wèn),都需要一個(gè)固定的物理地址,基于這個(gè)固定的物理地址來(lái)操作Flash存儲器,在對塊進(jìn)行操作的時(shí)候,一個(gè)塊地址對應一個(gè)塊,如果這個(gè)塊壞了,那么這個(gè)地址的存在就沒(méi)有意義了。就像ARM芯片在引導的時(shí)候,需要復制Flash的前4 KB的數據,這樣需要固定塊的數據。如果這個(gè)塊壞了,系統將無(wú)法引導。
下面通過(guò)地址重映射的方法,即在Flash固件里面加入一個(gè)地址重映射的區域來(lái)解決這一問(wèn)題。
4 基于地址重映射的讀取方法
在實(shí)現地址重映射的時(shí)候,可以從塊邏輯地址O開(kāi)始,查看相對應的物理塊。如果損壞,將地址從最后一個(gè)開(kāi)始向前指,而相應的邏輯塊被標示為壞塊。例如圖3,物理塊0損壞,邏輯塊地址0指向物理塊4095的地址,而邏輯塊地址4095被標示為壞塊??梢钥闯?,即使塊0摜壞,仍然可以通過(guò)邏輯地址O進(jìn)行操作,其內部的變化,并不會(huì )影響外部的使用。唯一不同的是,Flash的整體空間變小了。不過(guò)即使這樣,也不會(huì )像以前那樣,第一塊壞了,就去換一個(gè)Flash。
5 性能分析
很明顯,在數據讀取的時(shí)候增加了一步地址重映射的計算。這樣使整體性能會(huì )略微下降。下面分析一下加入地址重映射之后的性能影響(這里僅僅分析數據的讀取性能,因為對Flash操作最多的是數據的讀取,用戶(hù)使用時(shí)也是讀取最多)。
評論