日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NAND Flash ECC算法长度计算

發布時間:2024/1/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NAND Flash ECC算法长度计算 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載地址:https://blog.csdn.net/kangear/article/details/9009301

NAND Flash中常用的糾錯方式

?????? 因為閃存中會有出錯的可能,如果沒有使用ECC模塊,讀出的數據和寫入的數據會有不匹配的可能,也許一個文件中只有一兩個bit不匹配,這也是不能容忍的。相對來說SLC中出錯概率比較低,所以使用一個糾錯能力不強的Hanming碼就可以了,在MLC中Hanming碼就顯得力不從心了,需要糾錯能力更強的RS或者BCH糾錯方式了。

?????? BCH擅長處理隨機錯誤,由于NAND Flash自身的特點,出現隨機錯誤的概率更大一些,所以在MLC中目前應用最多的還是BCH方式。

?????? ECC校驗都需要在增加一些額外的空間來存放ECC效驗碼。所以常用的在NAND Flash中4K Page的并不是4096Byte,而是1024+128Byte之類的, 有時候會有更多的額外空間218B;額外空間越多意味著可以使用糾錯能力越強的ECC,因為對于同一ECC算法糾錯能力越強需要的額外空間越大。

?

對于BCH算法

目前通常以512Byte或者1024Byte為單位處理,因為BCH按位處理數據,所以是4096bit或者8192bit,這里的4096/8192bit是原始數據,BCH需要生成一定的校驗數據。下面簡要介紹下原理

設最大糾錯能力為t

如果選用512B的原始數據長度,則模式為BCH(8191,8191-13×t,t,13)

如果選用1024B的原始數據長度,則模式為BCH(16383,16383-14×t,t,14)

校驗數據長度就是13×t,或者14×tbit

舉例:

按照4bit的ECC來計算,每512Byte會產生13*4=52,52/8=7,所以需要7B的空間。在WINCE BSP中4bit ECC是按照8B來存儲,是為了方便對齊,最后一個byte是填充00。

按照8bit的ECC來計算,每512Byte會產生13B的空間。

按照16bit的ECC來計算,每512Byte會產生26B的空間。

所以平均1024+32Byte的MLC 大多建議使用8bit/512Byte ECC

平均1024+45Byte的MLC大多建議使用24Bit/1024Byte ECC, 此時需要14×24bit=42Byte的檢驗數據空間

總結

以上是生活随笔為你收集整理的NAND Flash ECC算法长度计算的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。