低密度奇偶校验码LDPC成为现有固态存储控制器的主流纠错方案,本文通过研究MLC信道下阈值电压曲线的分布规律,通过最大化多个读信息的输入和输出之间的互信息MI来确定LDPC软判决译码的参考电压值,避免过多读操作带来延时和译码开销。仿真结果表明,本方法在有限精度下比传统方法获得更低的比特误码率。
关键词:NAND Flash LDPC 软判决译码 互信息量 自适应
一、背景
NAND Flash存储阵列是由,阵列中横向是字线,写操作时对字线施加正压,通过从沟道抽取电子遂穿氧化层保存到浮栅内,浮栅内的电子数量表征所存储的数据二进制状态(MLC)。其阈值电压曲线分布服从高斯分布。随着闪存单元间距越来越小,在闪存使用过程中的多次写/擦除(P/E)操作导致晶体管氧化绝缘层的老化和晶体管之间的相互干扰,产生误码,原因有主要有:(1)存储时间变长形成的驻留噪声[1];(2) P/E的耐久性问题[1];(3)相邻字线上造成写分散噪声,单元间行为的变化降低了读取信道的信噪比,因此需要更强的纠错码。
二、LDPC基本原理
LDPC是一种前向纠错的线性分组码,加性高斯白噪声信道下SP译码算法译码性能可以逼近香农限[2],其基本思想是将长度为k信息码字分成组,通过编码向长度为k的信息序列组中引入n-k个冗余校验位,组成一个(n,k)线性分组码。本文所采用的基于搜索算法围长为6的(9275,8218)校验矩阵,列重为4,行重为35,高斯噪声的脉冲幅度调制(PAM4)对闪存单元阈值电压分布建模,分别用11、10、00和01表示擦除和编程时的四个状态。LDPC软判决译码算法,其执行步骤如下:
三、最大化平均互信息优化
以置信传播和最小和为代表的LDPC码软判决译码算法,多个软判决电压读操作来判定闪存浮栅的的存储状态,导致译码复杂度高、译码时延较大[2]。本文提出通过在MLC阈值电压分布模型中最大化每个等效读通道的输入和输出之间的平均互信息量来确定阈值电压曲线交叠距离,进而选择每个量化的字线电压,每个状态读有限重读(2次)获取闪存系统最合适的精准的软信息,使NAND Flash的读阈值电压做到自适应。
图1阈值电压分布曲线交叠示意图及信道模型置信概率转移图
多次读取操作过程通过给待读MLC单元的字线施加软判决参考电压之后,检测位线寄生电容是否发生放电以判定浮栅是否导通。若待读存储单元的浮栅导通,则其阈值电压值处于该硬判决电压的邻域区间[u-d,u+d]内。从信息论的角度看待闪存写入读出的过程,设写入闪存信息码字,读出的信息码字,平均互信息代表平均每个符号获得的关于接收到信号的信息量,必须让接收到信号和量化输出的信号之间的互信息最大,也即信道中读出的Y最大可能大接近X,其表达式式为:
四、仿真结果
图2 基于最大互信息交叠距离的LDPC多种译码性能对比图
本文使用驻留噪声对MLC闪存使用1年时间内的变化情况的建模, MLC闪存阈值电压概率分布曲线随使用时间的变化规律,对(4)式的平均互信息量表达式求最大值,求解出每个对应的阈值电压交叠距离d集合为{0.127,0.125,0.1225 0.12,0.117,0.114,0.11,0.106,0.102}。以d的集合内的阈值电压区间[h-d,h+d]作为软判决读的参考电压,本文还选择了未采用本方法的分层算法作为对照组,仿真结果如图左所示,基于最大平均互信息量下交叠距离的译码性能整体比传统交叠距离选取方式MS算法误码率降低1倍左右,尤其是低RBER下的BP算法误码率低约3倍左右。在较长码长、较高码率及低信噪比环境下MS算法性能相对BP算法有较大差距,但MS算法与分层算法有利于硬件实现。
五、总结
本文从NAND Flash闪存误码率大幅度提升,介绍了Flash闪存阵列的错误机制,介绍了基于LDPC算法的主流编解码算法方案,分析多种错误机制下MLC信道模型的阈值电压曲线分布规律,在传统译码方法的基础上从信息论的角度提出了基于最大平均互信息量的阈值电压曲线交叠距离变化情况,该方法精准、有效、自适应地设置用于软译码判决参考电压,算法仿真结果证明本方法有较好的性能提升,未避免解码器复杂度、减少多次读延时有较大的积极作用。
参考文献
[1].Parnell T, Celestine Dünner, Mittelholzer T , et al. Capacity of the MLC NAND Flash Channel[J]. IEEE Journal on Selected Areas in Communications, 2016, 34(9):2354-2365.
[2].张旋,慕建君等. 基于错误特征的MLC闪存最小和译码算法[J]. 系统工程与电子技术, (2019)08‐1887‐09.