<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 淺析Nand Flash編程應(yīng)用難點

          淺析Nand Flash編程應(yīng)用難點

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

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

          本文引用地址:http://www.ex-cimer.com/article/201807/383768.htm

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

          一、分區(qū)

          定義分區(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ū)燒寫示意圖:

          二、ECC(錯誤更正)算法

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

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

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

          三、壞塊管理

          壞塊處理策略定義了在遇到壞塊時算法應(yīng)該如何處理,基本的壞塊處理策略有:跳過壞塊、替換表(預(yù)留塊區(qū)Reserve BlockArea,RBA)等等,下面分別對幾種壞塊處理方案進行說明。

          1) 硬拷貝

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

          2) 跳過壞塊

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

          3) 替換表

          此方法是將NAND存儲空間中預(yù)留出一些塊作為保留塊,當(dāng)遇到壞塊時,在預(yù)留的保留塊中選一個塊來替換壞塊,將原來寫到壞塊的數(shù)據(jù)寫到替換塊中;

          4) BBT(Bad block table)

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

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



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

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();