日本精品啪啪一区二区三区|亚洲精品无码久久|T久久九九久精品国产|91麻豆免费免费国产在线观看

    <form id="15555"><form id="15555"><nobr id="15555"></nobr></form></form>

      <form id="15555"></form>

      <address id="15555"><listing id="15555"><menuitem id="15555"></menuitem></listing></address>

          東莞市拓恒電子有限公司

          158-1430-9393

          當前位置:首頁 > 新聞中心 > 行業新聞

          推薦產品
          聯系我們
          左側聯系我們
          左側聯系我們

          剖析NAND Flash的編程結構

          發布時間:2021-07-04 20:26:59 點擊率:

          剖析NAND Flash的編程結構

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

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

          分區(Partition)

          定義分區的實質是定義數據會如何寫入NAND Flash,不同內容的數據寫到對應的地址中。一般用戶會有多個區,比如boot、kernel、fs、user等分區。

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

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

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

          剖析NAND Flash的編程結構
          備用區(OOB)的ECC

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

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

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

          壞塊管理(Bad Block Management)

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

          ● 硬拷貝

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

          剖析NAND Flash的編程結構
          ● 跳過壞塊

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

          剖析NAND Flash的編程結構
          ● 替換表

          就是預留一些塊作為保留塊,是用于替換壞塊用,當遇到壞塊時,在保留區中選一個塊來替換,將原來寫到壞塊的數據寫到替換塊中。

          剖析NAND Flash的編程結構
          ● BBT(Bad block table)

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

          剖析NAND Flash的編程結構

            <form id="15555"><form id="15555"><nobr id="15555"></nobr></form></form>

              <form id="15555"></form>

              <address id="15555"><listing id="15555"><menuitem id="15555"></menuitem></listing></address>