论文部分内容阅读
固态存储技术是通过闪存(Flash)阵列来高速存取数据的一种存储技术。固态硬盘容量越来越大是建立在单颗芯片容量不断增大的基础上的,然而Flash芯片在容量增加的同时可靠性却不断下降。因此当前固态硬盘面临的可靠性问题成为制约固态硬盘商业化的重要障碍,针对固态硬盘可靠性问题的研究对于促进固态存储技术的发展具有重要意义。本文从固态存储介质的比特可靠性和固态硬盘整体可靠性两个方面展开了研究。当前主流的固态硬盘都是以NAND Flash作为存储介质,NAND Flash具有容量大、读写速度快的特点。随着单芯片集成度的提高,NAND Flash的误码率越来越高,这就需要纠错能力越来越强的纠错编码来保证存储数据的可靠性。而低密度奇偶校验码(Low Density Parity Check,LDPC)是一种纠错能力较强的纠错编码方式,本文根据MLC Flash的误码率特性,提出了一种适用于MLC的LDPC码校验节点的构造方式。针对MLC存储单元中高有效位(Most Significant Bit,MSB)和低有效位(Least Significant Bit,LSB)误码率不同的特点,从降低LDPC码的译码错误概率出发,提出了一种LDPC码校验节点中MSB和LSB的合理搭配方式。仿真实验表明LDPC码校验节点中MSB和LSB的比例越不均衡,LDPC码的译码错误概率越小。在构造LDPC码时使用这种方法构造的校验节点,能够有效降低LDPC码的译码错误概率。固态硬盘中不仅会出现比特翻转现象,还会可能出现Flash页、块、芯片甚至控制器失效的情况。为了应对页、块可能失效的情况,固态硬盘引入了纠删码的概念,通过一定程度的数据冗余,提高数据的可靠性。本文提出了基于RAID-5技术的改进型的固态硬盘数据冗余机制,通过在固态硬盘通道之间建立数据的冗余关系确保固态硬盘在出现通道级以下错误时仍然能够正常读取数据。通过把冗余关系建立在物理地址上和采取局部延时更新机制将冗余关系映射表和地址映射进行了合并,减少了RAM资源的占用。通过对读数据的操作顺序进行优化,降低了冗余机制对固态硬盘性能的影响,减少了读操作的响应时间。在Matlab上对不同校验类型节点的LDPC码的译码错误概率进行了仿真实验,实验表明本文提出的校验节点构造方式在各种原始误码率的情况下都有最小的译码错误概率。在SSDsim上对通道数据冗余机制进行了仿真实验,实验表明本文提出冗余方法能够实现数据恢复功能且使用寿命增加了13.6%,读写操作的平均响应时间增加了9%。