SSD质量的一个重要指标就是纠错能力,最开始的SSD的NAND每个存储单元只放一个bit,叫SLC,后来又有了MLC,现在的主流的是TLC。存储密度不断增加的同时,器件尺寸变小,存储单元电气耦合性变得很复杂。比如氧化层变得很薄,比如读取单个bit需要的读电压控制能力更精密等,总的来说,SSD的NAND FLASH更容易出错了,或者说SSD 上的噪声增加了。
LDPC 软判决算法由于有更多的信道信息,相对于BCH 和硬判决LDPC 算法更有优势。所以目前主流的SSD 控制器都采用LDPC 作为纠错算法。
NAND 纠错模型
我们存储进NAND的信息通过电子储存起来,读的时候通过探测器件储存的电子多少来恢复数据。
LDPC纠错流程
NAND硬判决,数据传输到控制器,以及硬判决解码这几个过程的速度都很快。软判决要读很多次,传输数据很多次,所以对SSD的性能产生不好的影响。
为了提高SSD的性能,一种普遍的优化是,把LDPC的软判决的分辨率变成动态可调,这样只有最坏的情况下,才需要最高的分辨率去读。这样在大部分情况下,SSD的软判决读和软判决传输数据的时间开销大大变小。