精品国产一区二区二三区在线观看|99久久国产综合精品五月天喷水|日韩欧美一区二区久久久久久久九|精品亚洲成a人无码成a在线观看|CaoPorn国产精品免费全E|久久久久久99精品国产免费观看|欧美一级特黄aaaaaa在线看片

東莞市拓恒電子有限公司

158-1430-9393

當(dāng)前位置:首頁 > 新聞中心 > 行業(yè)新聞

推薦產(chǎn)品
聯(lián)系我們
左側(cè)聯(lián)系我們
左側(cè)聯(lián)系我們

剖析NAND Flash的編程結(jié)構(gòu)

發(fā)布時間:2021-07-04 20:26:59 點擊率:

剖析NAND Flash的編程結(jié)構(gòu)

上一篇文章我們介紹了NAND Flash和NOR Flash的區(qū)別,從結(jié)構(gòu)及原理上看,NOR Flash這種類似ROM的結(jié)構(gòu)方式,使得他編程簡單,所以使用的工程師也很多,要不是成本太高,NAND Flash根本無法生存。

NAND Flash由于價格低廉,存儲容量大,越來越受到消費者的喜愛,特別是需要存儲大量數(shù)據(jù)的消費者。那NAND Flash的編程又要注意哪些呢?

分區(qū)(Partition)

定義分區(qū)的實質(zhì)是定義數(shù)據(jù)會如何寫入NAND Flash,不同內(nèi)容的數(shù)據(jù)寫到對應(yīng)的地址中。一般用戶會有多個區(qū),比如boot、kernel、fs、user等分區(qū)。

分區(qū)的描述:分區(qū)的地址范圍(起始塊、結(jié)束塊),鏡像文件大小(Image Size)。

分區(qū)的數(shù)據(jù)存儲:鏡像文件是從分區(qū)的起始塊開始存放,如果分區(qū)中有壞塊,將使用壞塊處理策略替換壞塊,直到鏡像文件結(jié)束,如果分區(qū)中不夠好塊存放鏡像文件,則燒錄失敗。

如下圖是跳過壞塊的鏡像文件分區(qū)燒寫示意圖:

剖析NAND Flash的編程結(jié)構(gòu)
備用區(qū)(OOB)的ECC

ECC 存在于NAND 每頁的備用區(qū)(Spare Area)中,它允許外部系統(tǒng)發(fā)現(xiàn)主區(qū)的數(shù)據(jù)是否有誤。在大多數(shù)情況下,ECC 算法可以糾正誤碼,NandFlash在使用中也可能會出現(xiàn)壞塊,所以ECC是非常有必要的。

不同的用戶會可能會使用不同的ECC算法,一般來說ECC算法由處理器供應(yīng)商提供,如果編程器軟件中無這個ECC算法,則需要用戶提供ECC算法源代碼。

如果用戶不使用調(diào)入文件,而是使用讀母片的方式燒錄,并且無動態(tài)數(shù)據(jù),則可以不考慮ECC算法,因為母片中的備用區(qū)已計算好ECC,直接將母片的備用區(qū)拷貝至其他芯片即可。

壞塊管理(Bad Block Management)

壞塊處理策略定義了在遇到壞塊時算法應(yīng)該如何處理,基本的壞塊處理策略有:跳過壞塊、替換表(預(yù)留塊區(qū)Reserve BlockArea,RBA)等等。

● 硬拷貝

硬拷貝其實就是遇到壞塊什么都不處理,不管好塊還是壞塊直接燒寫,即使校驗數(shù)據(jù)不一致也不報錯;

剖析NAND Flash的編程結(jié)構(gòu)
● 跳過壞塊

跳過壞塊就是遇到壞塊跳到下一個好塊燒;

剖析NAND Flash的編程結(jié)構(gòu)
● 替換表

就是預(yù)留一些塊作為保留塊,是用于替換壞塊用,當(dāng)遇到壞塊時,在保留區(qū)中選一個塊來替換,將原來寫到壞塊的數(shù)據(jù)寫到替換塊中。

剖析NAND Flash的編程結(jié)構(gòu)
● BBT(Bad block table)

其實就是使用跳過壞塊,然后在Nand閃存指定位置寫入一個壞塊表(Bad block table),下圖是BBT的結(jié)構(gòu)圖。

剖析NAND Flash的編程結(jié)構(gòu)