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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的NAND Flash ECC校驗(yàn)

          基于FPGA的NAND Flash ECC校驗(yàn)

          作者: 時(shí)間:2011-07-13 來源:網(wǎng)絡(luò) 收藏

          摘要 基于存儲(chǔ)器的Hamming編碼原理,在Altera QuartusⅡ7.0開發(fā)環(huán)境下,實(shí)現(xiàn)校驗(yàn)功能。測試結(jié)果表明,該程序可實(shí)現(xiàn)每256 Byte數(shù)據(jù)生成3 Byte的校驗(yàn)數(shù)據(jù),能夠檢測出1 bit錯(cuò)誤和2 bit錯(cuò)誤,對于1 bit錯(cuò)誤還能找出其出錯(cuò)位置并予以糾正,可應(yīng)用于 讀寫控制器的設(shè)計(jì),保證數(shù)據(jù)傳輸?shù)目煽啃浴?br />關(guān)鍵詞 校驗(yàn); ;讀寫控制器

          移動(dòng)產(chǎn)品應(yīng)用領(lǐng)域, Flash設(shè)備已成為人們解決高密度固態(tài)存儲(chǔ)的專用方法。信息技術(shù)的飛速發(fā)展,人們對信息的需求量也越來越大。因此,大量數(shù)據(jù)在系統(tǒng)內(nèi)部以及網(wǎng)絡(luò)之間存儲(chǔ)和傳遞時(shí),對數(shù)據(jù)進(jìn)行檢測并更正可能出現(xiàn)的錯(cuò)誤尤為重要。糾錯(cuò)碼ECC(Error Correct-ion Code)滿足這一需求,其被稱為ECC校驗(yàn),是一種常用于NAND Flash讀寫控制器的校驗(yàn)編碼。
          ECC校驗(yàn)負(fù)責(zé)檢測錯(cuò)誤、維護(hù)ECC信息、更正由原數(shù)值改變了的單比特錯(cuò)誤。所有ECC的操作處理都可由一個(gè)ECC模塊來控制,其作為一種簡單地存儲(chǔ)一映射接口,放置在NAND器件和處理器接口之間。該模塊一般包含Hamming編碼產(chǎn)生模塊和出錯(cuò)位置模塊,分別用于產(chǎn)生ECC校驗(yàn)碼和計(jì)算出錯(cuò)位置。

          1 Haremina編碼
          Hamming編碼計(jì)算簡單。廣泛用于NAND Flash的Hamming算法,通過計(jì)算塊上數(shù)據(jù)包得到2個(gè)ECC值。為計(jì)算ECC值,數(shù)據(jù)包中的比特?cái)?shù)據(jù)要先進(jìn)行分割,如1/2組、1/4組、1/8組等,直到其精度達(dá)到單個(gè)比特為止,以8 bit即1 Byte的數(shù)據(jù)包為例進(jìn)行說明,如圖1所示。

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

          a.JPG


          該數(shù)據(jù)按圖1所示方式進(jìn)行比特分割,分別得到上方的偶校驗(yàn)值ECCe和下方的奇校驗(yàn)值ECCo。其中,1/2校驗(yàn)值經(jīng)“異或”操作構(gòu)成ECC校驗(yàn)的最高有效位,同理1/4校驗(yàn)值構(gòu)成ECC校驗(yàn)的次高有效位,最低有效位由具體到比特的校驗(yàn)值填補(bǔ)。圖2展示了兩個(gè)ECC校驗(yàn)值的計(jì)算過程。

          h.JPG


          即偶校驗(yàn)值ECCe為“101”,奇校驗(yàn)值ECCo為“010”。圖1所示為只有1 Byte數(shù)據(jù)的數(shù)據(jù)包,更大的數(shù)據(jù)包需要更多的ECC值。事實(shí)上,每n bit的ECC數(shù)值可滿足2nbit數(shù)據(jù)包的校驗(yàn)要求。又由于這種Hamming碼算法要求一對ECC數(shù)據(jù)(奇偶),所以總共要求2n bit的ECC校驗(yàn)數(shù)據(jù)來處理2nbit的數(shù)據(jù)包。
          計(jì)算之后,原數(shù)據(jù)包和ECC數(shù)值都要寫入NAND器件。稍后,原數(shù)據(jù)包將從NAND器件中讀取,此時(shí)ECC值將重新計(jì)算。如果新計(jì)算的ECC不同于先前編入NAND器件的ECC,那么表明數(shù)據(jù)在讀寫過程中出錯(cuò)。
          例如,原始數(shù)據(jù)01010001中有1個(gè)單一的比特出現(xiàn)錯(cuò)誤,出錯(cuò)后的數(shù)據(jù)是01010101。經(jīng)前面所示方法計(jì)算,從圖3中可以清楚地看到由于數(shù)據(jù)發(fā)生了變化,2個(gè)新的ECC數(shù)值已不同與原來的ECC值。

          i.JPG


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: Flash FPGA NAND ECC

          評論


          相關(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); })();