为什么U盘会坏?从寿命的角度进行分析。
U盘,T卡,手机里的EMMC这些存储设备在生活中随处可见。由于NandFlash总有一些特征bit会出错,尤其是使用一段时间后。BCH代码作为一种纠错码,在数据的写读过程中起到了编码和解码的作用。
图1:小U盘有很多知识
BCH代码是一种重要的纠错码,取自 Bose、Ray-Chaudhuri 与 电脑Hocquenghem 缩写,作为他们的对BCH表彰重大贡献。
当用户将数据复制到U盘时,数据将被切割成几个512byte或者1024byte数据段,每个数据段经过BCH的编码,即512byte 编码数据,最后写入存储介质,即NandFlash当用户从U盘复制数据到PC端时,数据会从NandFlash读出,按照512byte或者1024byte通过的数据段BCH解码,纠正数据段中的错误bit数字,直到用户数据无误传输。并附加到用户数据中BCH码字解码后丢弃,不会随用户数据返回PC。并附加到用户数据中BCH码字解码后丢弃,不会随用户数据返回PC。若数据超过BCH纠错能力,U盘固件代码会干预,尝试几种重读机制,直到纠错成功或无法纠错。
那BCH代码纠错能力如何?以下是一组数据:
图2:BCH纠错与码字关系
也许有一天,你会发现U盘读取的数据部分是无序的,甚至U盘插入任何计算机都无法识别,这个U盘的寿命电脑 真的有可能达到极限,NandFlash的错误bit数超过了BCH代码纠错能力。也许,你还不想放弃,你可以拿原厂的量产工具,重新量产。量产会犯很大的错误(包括超过)BCH删除码纠错能力的部分),然后明显看到容量变小。也许你可以坚持使用一段时间。
(普及:NandFlash的错误bit数量与写作次数成正关系;也与放置时间过长,再读数据成正关系。)
现在,LDPC在存储设备中逐渐崭露头角,SSD已经使用了很多设备LDPC编解码能力可达200~400bit的范围。下一篇,我们来谈谈LDPC。
图3:LDPC
如果您对存储有任何疑问,请留言,知无不答。
电脑