论文部分内容阅读
本文主要由个人研究生期间的两个工程实践项目结合构成,研究的核心是差错控制编码对半导体存储器的纠错检错与系统级抗辐照抗辐照加固设计。第一部分,基于国产自研的HWDV5型号FPGA其内嵌的BRAM模块做常规的纠错检错及系统级抗辐照加固设计,对36K BRAM设计了广泛用于CPU、内存等最为常用的(72,64)汉明奇偶校验码方案用于BRAM常规使用过程中的纠错检错,仿真结果证明(72,64)汉明扩展码至少具备纠正1位错误检测2位错误的能力。为适应40nm工艺以下FPGA单粒子多位翻转的需求,因汉明码纠错能力有限且可优化空间不大,在深刻分析了FPGA中BRAM多位翻转机理的前提下,采用可自主定义纠错位数而提升抗多位翻转能力的RS码。传统RS码基于多项式除法编码器算法与求解关键方键程为核心的解码器算法用于BRAM抗多位翻转实现较为复杂,并且带来面积、功耗的开销,流水线、并行化、状态机等层面优化仍然无法满足BRAM的单周期读取的实际使用场景。沿着汉明码校验矩阵设计的思路,改用有限域矩阵乘法的方法设计适用于BRAM物理位宽范围的RS(8,4,4),该方法校验矩阵关系仅用简单异或门即可实现编译码器。通过故障注入使码字发生多种情况的翻转实验仿真,仿真结果与数学证明上推导结果一致,对BRAM存储器单元因单粒子效应引发的集中式错误每32位具备8位抗翻转能力,实现了与(72,64)汉明奇偶校验码几乎相同的逻辑门数量却大大提升纠错能力差错控制方式。第二部分,因固态存储容量激增使其底层存储颗粒NAND Flash基本存储单元朝着存储多比特数据及三维堆叠方向发展,数据存储的可靠性下降引发的高误码问题亟待解决。分析国内外学者针对引发NAND Flash高误码率的随机电报噪声、单元间干扰、保持噪声等多种错误机制及其噪声模型所做的工作,基于该错误特征对固态存储主控制器中NAND Flash controller模块采用差错控制算法LDPC做多种编解码算法设计。通过闪存测试平台测试镁光64GB MLC分析原始错误率与数据保存时间的关系,推导出对1年时间内驻留错误对MLC NAND Flash阈值电压概率密度分布函数标准差的变化模型。通过分析字线电压获取的软信息读取次数对信道原始误码率的关系,采用2次读操作较为合适。接着分析NAND Flash输入输出信道模型置信概率转移规律,最大化输入输出信道的平均互信息量(MI)来获取阈值电压概率密度曲线分布交叠距离,以该距离作为LDPC软判决译码的读电压设置范围来优化LDPC软判决译码的参考电压值,获取最为精准的软信息。算法仿真实验比较了经典BP算法、修正MS算法、分层算法及基于MI优化的BP、MS自适应算法的性能比较。仿真结果表明,该方法精准、有效、自适应地用于LDPC软判决译码解码,能在有限软判决电压精度下比传统方法获得更低的比特误码率,有利LDPC软判决译码时减少retry次数,在有效保证数据可靠性的前提下降低多次读操作带来延时和译码复杂度。