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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 如何將“壞塊”進行有效利用

          如何將“壞塊”進行有效利用

          作者:ZLG致遠電子 時間:2016-10-20 來源:電子產品世界 收藏

            被廣泛應用于手機、平板等數(shù)碼設備中的由于工藝原因無法避免壞塊的存在,但是我們可以憑借高科技變廢為寶,將“壞塊”進行有效的利用,從而滿足我們的應用需求,讓壞塊不“壞”。

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

            要想變廢為寶,有效利用壞塊。我們首先要弄明白什么是“壞塊”,做到知己知彼,才能為我所用。壞塊的特點是當編程或者擦除這個塊時,不能將某些位拉高,從而造成編程和塊擦除操作時的錯誤,這種錯誤可以通過狀態(tài)的值反映出來。這些無效塊無法確定編程時的狀態(tài),就是大家常說的“壞塊”。那么這些“壞塊”是怎么產生的呢?

            

           

            圖1 壞塊示意圖

            由于工藝上的問題,中不可避免的會出現(xiàn)出廠壞塊(出廠時允許存在2%數(shù)量的壞塊),同時在的使用過程中也會產生新的壞塊。Nand Flash每個塊的最大擦除次數(shù)大約為100萬次,如果超過這個次數(shù),也會變成壞塊。除了上述情況之外,壞塊的產生原因還有很多,比如存儲單元錯誤、地址線錯誤等……

            那么重點來了,既然不能完全地消除“壞塊”,那么我們可以選擇將它利用起來,實現(xiàn)一些特殊且必要的功能。為什么說能將壞塊“變廢為寶”呢?除了上文中介紹的幾種類型的壞塊,我們在一些特殊情況下需要人為地將Nand Flash芯片的某些塊標記為壞塊。比如某塊非常不穩(wěn)定以致超出了系統(tǒng)ECC的糾錯范圍,這個時候需要將此塊標記為壞塊;或者我們想驗證燒寫方案的壞塊處理部分是否正確時,也需要制作出一些壞塊以供測試驗證;還有為了滿足某類系統(tǒng)的特性,需要制作指定的壞塊,比如我們一開始提到的UBI文件系統(tǒng)。這些特殊情況需要我們有目的性的設置指定壞塊,滿足相應的需求。

            清楚了什么是壞塊以及壞塊是怎么產生的,那么我們下面來看看怎么人為地設置壞塊,讓壞塊為我們所用,達到“變廢為寶”的目的

            首先,我們要知道什么是芯片的“壞塊標記位”(英文簡稱BI)。對于不同的器件,壞塊標志位不盡相同。通常對于512字節(jié)/頁的NandFlash芯片,壞塊標記位在第0、1頁(或別的頁)備用區(qū)的第5個字節(jié),對于2K字節(jié)/頁的芯片壞塊標記位置在第0個字節(jié)。

            

           

            圖2 壞塊標記位

            那么從原理上來說,我們只需要在芯片某塊的BI位置按照芯片手冊上的規(guī)定寫入特定的數(shù)值,就可以將該塊標記為壞塊。大部分芯片的壞塊標記值為“非0xff”即被認為是壞塊,然而有些芯片是“0x00”才被認為是壞塊,而且壞塊標記所在頁也是變化的,所以為了統(tǒng)一,我們使用一個通用有效的方法:將整塊寫數(shù)值0x00。致遠電子自主研發(fā)的6000F-PLUS編程器及配套的SmartPRO III軟件,可以很方便的完成壞塊的標記。



          關鍵詞: Nand Flash 寄存器

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();