韩国军:固态存储系统中ECC的演进与优化

2023年11月29日,由DOIT传媒主办的“2023中国数据与存储峰会”在北京召开。在主题分享环节,广东工业大学信息工程学院院长、教授,广东省信息存储与编码工程技术中心主任 韩国军介绍了“固态存储系统中ECC演进与优化设计技术”的主题,他提到了存储容量提高带来的可靠性挑战,并介绍了用创新的编码技术提高可靠性的方法。

以下内容根据现场演讲速记整理(未经演讲人严格校对,仅供参考学习):

今天,我想分享的主题是“固态存储系统中ECC的演进与优化”。ECC在通信信号处理和数据存储领域都非常关键,特别是在主控芯片中,ECC功能实现占据了大量芯片面积。

我们首先关注数据存储所面临的挑战。

第一个挑战是数据存不下的问题。数据爆炸式增长,现有存储的容量增速跟不上这种增长速度。虽然当前存储尚可应对,但长远来看,存储容量不足是一个必然的问题。

第二个挑战是如何在不可靠的存储介质上实现可靠的数据存储。不同类型的存储介质,如固态存储、磁存储和光存储,它们的可靠性都不是绝对的。我们需要从器件底层和信号处理(包括ECC)等方面来提高数据存储的可靠性。

第三个挑战是满足复杂业务需求下对存储性能的要求,如低延时、高并发性和安全性等。

最后一个挑战是持续追求绿色低碳的目标,特别是如何用较低的能耗存储大量数据。

如今固态存储被广泛应用,但由于NAND可靠性相对较低,我们在研发SSD主控时,不得不寻求从不同层面提升其存储可靠性。

过去多年以来,为了追求更高的存储容量,我们不断缩小芯片制程尺寸,并采用多电平技术,采用3D垂直存储。这种技术虽然提升了存储容量,但同时也降低了存储可靠性。

在信道分析方面,我们观察到,在不断的擦写(P/E)过程中,原始误码率不断增加,导致闪存信道不断恶化。这种情况下,如何设计更加适合的ECC成为一个挑战。

由于存储内部结构的复杂性,我们需要考虑不同层次的原始误码率。在通信领域,信道相对简单,但在flash存储中,不同层的特性不一,这导致传统的信道编码方法不再适用。

为了提高可靠性,我们采用了先进的信号处理技术(DSP)来提升信道检测的性能,在前期检测阶段可以大幅降低原始误码率。另外,还采用ECC差错控制编码技术,来纠正更多的错误。

主控芯片内部的数据流涉及多个ECC环节,这些ECC环节在数据传输和存储的不同阶段有不同的要求。

对固态数据存储而言,随着从单层SLC到多层闪存的发展,误码率增加的同时,对ECC的要求也随之提升。最初我们使用的是BCH码,这是一种代数码。随着原始误码率的增加,我们改进了BCH码,并开始使用LDPC码,从短码发展到更长的码,以提升纠错性能。

对于LDPC码,我们采用了硬判决和软判决的方法。在初期,可以使用硬判决,而后期则需要使用软判决。

我们对ECC的优化设计需要考虑到信道动态匹配,也要考虑译码结构,好的译码结构对于高吞吐量非常重要。此外,还要考虑实现的复杂度,要能够快速收敛,如果迭代的次数过多,那就会对时延带来很大影响。

我曾经从事通信领域的研究,后来转向存储领域。我发现,无论是通信还是存储,它们的本质都是实现信息的传输,区别仅在于通信是在空间上进行信息传输,而存储则是在时间轴上进行。因此,通信领域的技术同样适用于数据存储。

ECC的发展历史悠久,从最早的纠错码、格雷码、汉明码、卷积码,到BCH码和RS码,这些都是很好的代数码,但代数码缺乏好的译码算法,所以,在闪存的应用中逐步被LDPC码替代了。

LDPC码在60年代就出现了,但由于算力有限,它的译码就没有办法来实现。随着计算处理能力的提升,LDPC码的译码成为可能。随着纠错码的发展,译码算法也在不断优化和进步,我们看到,第五代通信中开始使用极化码。

我们通过图表展示了不同编码的纠错能力和容量线逼近程度。从图中可以看出,不同码的纠错能力不同,左侧汉明码的纠错能力很差,越靠右,纠错能力越强。

前面对LDPC做了介绍,最近,全局耦合LDPC码(GC-LDPC码)在通信和存储领域都显示出了良好的应用前景。

它最大的特点是可以并行译码,以提高译码速度,这样一来,在闪存使用的初期仅使用短码就可以。到后期,随着误码率增加,就可以用全局耦合的LDPC码,它有很高的吞吐率,并行度和收敛方面也有很好的性能,可以提升它的纠错能力

然而,全局耦合的LDPC码也有一些问题。首先,在编码时的复杂度会有些提高。而且,译码过程中如有全局译码不通过的情况,它需要把前面所有的译码块都带进来,重新进行译码,这样会造成时延的增加。

因此,我们提出了改进型的GC-LDPC码,对它的较验矩阵进行了全新的优化。优化后降低了编码复杂度,同时,在全局译码过程中,码块译码成功后,就不需要重新译码了。经测试发现,到跟传统的码相比来说,改进后的GC-LDPC性能有一个比较大的提升。

总的来说,随着闪存容量的增加,它对ECC提出了更高要求。而新型的GC-LDPC码能够很好地适应这些要求,提高存储系统的可靠性和性能。前期可以通过并行分布进行译码,后期,当信道比较差的时候,则通过引入全局迭代来提升纠错能力。

最后,我想简单介绍一下我们的团队。我们的团队包括十多名老师和60至70名学生,我们不仅研究通信,还研究数据存储。

我们的研究方向包括器件特性分析、信道建模、LDPC硬件实现和DNA数据存储等。在DNA数据存储领域,ECC需要解决的错误类型与传统通信领域不同,这也是我们研究的重点之一。

感谢大家的聆听,这就是我的分享。

以上内容根据现场速记整理,由于内容涉及较多专业内容,如有错误欢迎指出。