u盘总卡怎么回事 (u盘总卡怎么回事啊)

为什么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的纠错能力,U盘固件代码会进行干预,尝试几种重读机制,直到纠错成功或者无法纠错为止。

那BCH码的纠错能力如何?下面看一组数据:

图2:BCH纠错和码字关系

也许有一天,您会发现从U盘读出来的数据部分乱码了,电脑甚至U盘插入任何电脑都无法识别了,那真的有可能这个U盘的寿命达到了极限,NandFlash的错误bit数超过了BCH码的纠错能力。或许,你还不愿放弃,你可以拿原厂的量产工具,重新量产一下。量产会把出错较大的(包括超过BCH码纠错能力的部分)剔除掉,随之明显看到的是容量变小了。也许还能坚持使用一段时间。

(普及:NandFlash的错误bit数和写次数成正向关系;也和放置时间太长,再次读数据成正向关系。)

现在,LDPC逐渐在存储电脑设备中崭露头角,SSD设备已经很多使用了LDPC来编解码,解码能力能够达到200~400bit的范围。下一篇,我们谈LDPC。

图3:LDPC

对存储有任何疑问,欢迎留言,知无不答。


电脑