论文部分内容阅读
纠错码是保证固态盘内部数据可靠性的关键技术之一。随着闪存制造工艺的进步,闪存内部噪声干扰和数据出错率随之增加。低密度奇偶校验码(LDPC:Low Density Parity Check Code)作为固态盘纠错码其纠错性能如不能充分发挥,将会影响固态盘性能和能耗开销:一方面,LDPC译码过程采用的已有闪存单元阈值电压感知算法并未最大限度的减少电压感知次数,从而影响固态盘性能的提升;另一方面,已有的LDPC作为固态盘纠错码研究没有考虑闪存数据的出错特点,不能充分发挥LDPC的纠错能力和提升固态盘性能。本文从闪存单元阈值电压感知优化、检错码和纠错码结合、减少纠错码的纠错冗余问题等三个方面进行了深入研究。根据闪存单元相邻电压概率密度函数图形交叉区域内熵值的分布特点,提出了一种新的电压感知算法NSOR(Nonuniform Sensing in Overlapped Region),主要降低闪存单元的阈值电压感知次数,提升固态盘的读性能和降低读能耗。低密度奇偶校验码译码过程所需的初始信息需要对闪存单元的阈值电压进行感知。传统的闪存阈值电压感知算法未考虑单元电压概率密度函数图形交叉区域内不同电压熵值。通过对交叉区域内的熵值计算分析,发现电压熵值分布呈现中间低两头高的马鞍形,提出根据不同电压熵值采用不同粒度的电压感知操作。实验表明,相比已有的电压感知算法,NSOR电压感知次数减少约20%,而LDPC纠错性能并未下降,同时提升了固态盘的读性能,降低了读能耗。根据闪存数据出错特点提出了CDF-LDPC(CRC Detect First LDPC)纠错方法,主要目的是提升固态盘的读性能。本文首次将CRC和LDPC相结合的方式应用到固态盘中。闪存的早期阶段,读取数据时,利用CRC检测出无错页并直接读取,仅对有错页进行LDPC译码纠错。论文还利用固态盘空闲时间对满写块提前使用CRC检错,同时利用并行性加速闪存页的检错操作,并给出了LDPC代替CDF-LDPC的阈值范围。实验表明,对于读为主负载,CDF-LDPC算法相比LDPC读性能可提升40%以上。根据闪存数据出错特点和多码率LDPC的纠错性能差异,提出了多码率LDPC自适应纠错算法,主要解决单一码率LDPC引起的纠错冗余问题。固态盘主要参考最坏情况下的出错率,通常采用单一码率最强纠错性能的LDPC码进行纠错。在闪存早期阶段,数据出错率极低,使得LDPC码的纠错性能不能被充分发挥,出现纠错冗余。论文提出在闪存不同阶段使用不同码率LDPC进行纠错,解决闪存使用单一码率LDPC的纠错冗余问题。实验表明该算法可以明显提升固态盘的读性能,并降低译码能耗。另一方面,提出了一种获取欧氏几何平行线束的算法,用于构造不同码率LDPC校验矩阵。