<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 淺析Nand Flash編程應用難點(diǎn)

淺析Nand Flash編程應用難點(diǎn)

作者: 時(shí)間:2018-07-25 來(lái)源:網(wǎng)絡(luò ) 收藏

Nand Flash存儲器是flash存儲器的一種,為固態(tài)大容量?jì)却娴膶?shí)現提供了廉價(jià)有效的解決方案。NAND存儲器具有容量較大,改寫(xiě)速度快等優(yōu)點(diǎn),適用于大量數據的存儲,如嵌入式產(chǎn)品中包括數碼相機、記憶卡、體積小巧的U盤(pán)等。

本文引用地址:http://dyxdggzs.com/article/201807/383768.htm

1989年,東芝公司發(fā)表了Nand Flash結構,強調降低每比特的成本,更高的性能,并且像磁盤(pán)一樣可以通過(guò)接口輕松升級。經(jīng)過(guò)十幾年的發(fā)展,NAND應用越來(lái)越廣泛,但是大多數工程師卻仍然不知道關(guān)于NAND應用的一些:分區、ECC糾錯、壞塊管理等。只有真正了解NAND特性的工程師,才能在應用上得心應手,不會(huì )被Nand Flash所絆倒。

一、分區

定義分區的實(shí)質(zhì)是定義數據會(huì )如何寫(xiě)入NAND Flash,不同內容的數據寫(xiě)到對應的地址中。一般用戶(hù)會(huì )有多個(gè)區,比如boot、kernel、fs、user等分區。

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

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

如下圖是跳過(guò)壞塊的鏡像文件分區燒寫(xiě)示意圖:

二、ECC(錯誤更正)算法

ECC 存在于NAND 每頁(yè)的備用區(Spare Area)中,它允許外部系統發(fā)現主區的數據是否有誤。在大多數情況下,ECC 算法可以糾正誤碼,在使用中也可能會(huì )出現壞塊,所以ECC是非常有必要的。

不同的用戶(hù)會(huì )可能會(huì )使用不同的ECC算法,一般來(lái)說(shuō)ECC算法由處理器供應商提供,如果器軟件中無(wú)這個(gè)ECC算法,則需要用戶(hù)提供ECC算法源代碼。

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

三、壞塊管理

壞塊處理策略定義了在遇到壞塊時(shí)算法應該如何處理,基本的壞塊處理策略有:跳過(guò)壞塊、替換表(預留塊區Reserve BlockArea,RBA)等等,下面分別對幾種壞塊處理方案進(jìn)行說(shuō)明。

1) 硬拷貝

硬拷貝其實(shí)就是遇到壞塊什么都不處理,不管好塊還是壞塊直接燒寫(xiě)按順序燒寫(xiě)數據,即使校驗數據不一致也不報錯,這是最簡(jiǎn)單、直接的處理方法,但是只能適用于數據不需管理的方案;

2) 跳過(guò)壞塊

跳過(guò)壞塊就是燒錄數據時(shí),遇到壞塊即跳過(guò)此壞塊,將數據順延燒到下一個(gè)好塊,這樣可以保證所有的數據都能燒寫(xiě)到NAND存儲空間中,但是并不知道數據究竟燒到了哪一位;

3) 替換表

此方法是將NAND存儲空間中預留出一些塊作為保留塊,當遇到壞塊時(shí),在預留的保留塊中選一個(gè)塊來(lái)替換壞塊,將原來(lái)寫(xiě)到壞塊的數據寫(xiě)到替換塊中;

4) BBT(Bad block table)

此方法核心是跳過(guò)壞塊,但是跳過(guò)后需要在NAND閃存指定位置寫(xiě)入一個(gè)壞塊表(Bad block table),下圖是BBT的結構圖。

NAND應用需要注意的點(diǎn)大致整理如上,實(shí)際使用中會(huì )有靈活的應用方案,需要熟知NAND特性、器原理的工程師才能設計出合適的方案加以運用。P800Flash極速器融合了ZLG致遠電子三代Flash編程器的特點(diǎn),全面支持eMMC、NOR、NAND Flash的燒錄,可提供完善的編程解決方案。



關(guān)鍵詞: NandFlash 編程 難點(diǎn)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>