华中科技大学谢长生教授发布备份新理论:耗散存储系统

8月22日-8月23日,2019全球闪存峰会(FMW)在杭州召开。在8月23日下午举行的全闪存应用论坛上,武汉光电国家研究中心、华中科技大学信息存储系统教育部重点实验室教授谢长生发表了《如何用不可靠的闪存芯片构建高性能高可靠的存储系统》演讲,并且发布了一个新的理论:耗散存储系统。

主持人:各位来宾下午好,下午的全闪应用论坛,由我和谢老师来主持。今天的论坛讲的内容非常有意思,很多是新技术,还有像阿里这样的大公司,还有联芸做闪存控制器做的都非常成功了。会议还邀请了国际网络存储工业协会的Eden Kim先生介绍SNI,今天有七位嘉宾演讲,在最后还有一个抽奖环节,希望大家能够幸运的抽到奖。

欢迎大家参加全闪分论坛。第一位演讲嘉宾是谢长生老师,我简单介绍一下谢老师,他是华中科技大学武汉光电国家研究中心的教授,曾经担任信息存储系统教育部重点实验室的主任,武汉光电国家实验室副主任,长期从事信息存储理论与技术的研究教学,承担了包括国家自然科学重点基金、国家重大基础研究973项目,国家高技术发展计划863项目,他所开发的技术向工业界转移成为中国企业自主创新产品的核心技术。

谢教授发表过学术论文200余篇,拥有50余项国家专项,曾经获得国家发明金奖和国家发明奖,为计算机存储领域培养了博士生和硕士生,多位成为国际国内著名企业核心技术骨干,以及海内外知名大学的教授、副教授。

在2018年全球存储半导体大会上,谢教授曾经提出闪存芯片随着工艺制成,容量迅速提高,可靠性变得越来越差,如何用不可靠的芯片构建可靠的系统是每一个系统设计者必须面临的问题。谢教授每一次主题报告备受关注,今天他将该给听众哪些新的认知?请大家掌声欢迎。

武汉光电国家研究中心谢长生教授

【以下内容根据速记整理,未经本人审定】

谢长生教授 :因为今天时间比较紧,我就简单讲一下我们的研究工作,主要两个思路性的东西。具体的工作应该是吴非老师领导的闪存团队做的。

我们知道数据爆炸性的增长这个已经是常识了,历史上有很多数据的爆发点,从文本到图像、多媒体、互联网、移动互联网、云计算、大数据,下一个爆发点5G、AI、物联网。

从物联网产生数据它将比人产生的数据更大,所以它是一个质的转变,从人产生数据到物产生数据,这样会产生更多的数据,因为物比人多,每个人用的物很多。这些巨量的数据如何保存呢?在古代刻在石头上,写在纸上,到现在我们是磁光电,未来可能有量子存储那还比较远。

我现在给一个定义,当一种信息存储的介质承载人类信息50%以上,我们就称为主流存储介质。目前主流存储介质还是硬盘,超过50%的信息还是存在硬盘上。即将到来的主流存储介质就是闪存,将来超过50%的信息在闪存上。虽然现在出现了很多新型其他的介质,但是他们的量是绝对不会再看得见的,在这十年之内不可能成为我们定义的主流,主流还应该是闪存。闪存价格非常便宜,容量越做越大,所以闪存的主要进展就是闪存颗粒的容量越来越大,价格也越来越便宜,进入主流是我们非常容易看得见的事情。

但是闪存芯片现在越做越大特点是什么呢?不可靠,因为越差就越差,越差就磨损,所以现在越来越差,容量大到一定程度只有1000次了,存放也差,电荷会慢慢漏掉。容量越大也越差,但我们用越来越差的颗粒做成一个系统的时候又要求是可靠的,我们用不可靠的颗粒或者芯片来做成可靠的系统,这样我们无数科学家、工程师做了很多的努力,今天就想把这些努力归纳在一个理论框架下。

没有理论指导技术,今天发明这个,明年发明那个,大家觉得五花八门,如果把闪存采用的技术归在一个理论框架下,我们就发现原来做的技术就是归纳为这个框架上的两点,一下子思路就很清晰了,我今天想把这个思路讲清楚。

我们从根本原理上定义数据存储的可靠性,1948年香龙发表了一篇划时代的论文,《通讯的数学理论》。他指出了可靠通讯的基础任务是在接受端精确的复现发送端信息,这个就是他经典的通讯先导模型,是在有噪声的先导下要保证接受端精确复现发送端的信息。我们就要用编码调制技术保证可靠性,这个是通讯。

存储的数学在哪里呢?有没有这样的东西呢?搞存储的人都发现,存储可以借鉴通讯的理论,比如说纠删码、压缩等等,借用通讯的理论。为什么是这样呢?我这里有一个理论的解释,信息的传递,我认为它是分为跨空间的传递和跨时间的传递,通讯就是信息跨空间的传递。比如说我们打一个电话,信息就跨空间。存储实际上跨越时间的传递,2500年前老子写了《道德经》通过存储介质传到我们,跨越了时间的距离。

基于这个认识信息传递的规律是相同的,如果你是跨越空间的传递,它就是通讯。如果跨越时间的传递,那就是存储。认识到这一点,我们就一个二维的空间,实际上这个理论是一个信息传递论,往空间传递就是通讯,往时间传递就是存储。

我们可以把时空二维的理论写完整,把这个理论工作往时间推一步,我们就可以用了。实际上很多东西光通讯信息是传达不到的,比如说发微信、短信、邮件,既跨越了空间,实际上也跨越了时间。发一个信息给你存在手机上才能看得到,只是通信一下你没看到就没了,所以信息传递大部分时间是时空二维的。如果知道这一点,往下就好讲了,我们有一个理论框架了。

可靠存储还是那样,但我们这个信道是一个时间信道。可靠的存储就是读出的信息是完全复现了写入的信息,写进去和读出来的一样,那就是可靠。和通讯一样,信道是有噪声的,比如说有缺陷、老化、磨损、干扰等等。

现在来看一下闪存,闪存就是把电荷封到绝缘栅里,把它拉进来就去零,把它挤出来就是一。几十个一挤,它就形成了多闭合的技术。电荷能保持多久,信息就能保持多久,这个就是闪存的基本原理。

为什么现在闪存的技术在提高容量的同时,成本降低可靠性越来越差?从信息论的角度我们刚刚讲的时间信道的噪声是越来越大,来看看在相同框架下,存储可靠性就是两点:第一个降低时间信道的噪声,第二个实在降低不了用有效的编码保证可靠性。

在这边做了很多的研究工作,我们从介质、设备、系统方面在国际一流会议和杂志发了一些文章,现在讨论一下怎么做。

方法一就是来降低存储信道的噪声。

闪存的噪声大致分为五个,一个是工艺缺陷,生产过程中本身就有,这个是工艺来保证的。第二个电荷泄露。第三个有擦写磨损,闪存的绝缘层差一点,最后擦到存进去就漏出来了、坏了,这个是我们最要注意的特性。第四个多BT的技术。第五个干扰,有毒干扰等等。

这个我把它归为噪声,想办法减少噪声。第一个是靠生产厂来保证的,想一些办法减少的。看看闪存容量的提升,我们有3D堆叠的方法,有单元多位的方法,还有减少尺寸的方法。比如说我们减少了线宽,肯定是干扰也增大了,电荷数也变少了,氧化层变薄了,带来一系列的噪声。

第二个,很多文章研究从具体的数量上到底减少的规律是多少,这个有详细的数据,不多讲,还有减少以后挨的紧,互相之间的干扰也变大了,还有多值存储以后阈值电压变小了。3D堆叠引进了新的干扰,这样还有不一致性,这些都是我们的噪声。

我们也做了详细的测试和研究,测试了很多厂家的芯片,得到了整个生命周期到底是怎么变的,还有空间上不同块之间的差异,这样在我们设计的时候就可以利用这些特点使可靠性增加。

刚才说的这些干扰都是影响噪声,这样就知道采取那么多措施都是为了减少噪声,这是一类。

减少噪声常用技术就是减少干扰,这里常用的技术,很多研究者建立了模型,我们也做了很多的工作,包括对误码率随着时间怎么变化,做了很详细的测试,也发表了很多分析的文章。

还有数据的组织,我们知道FTL层有垃圾回收这方面的技术,这些实际上也是归纳为产生噪声,也就是说产生的主要是越写越差,尽量减少写放大。这里分析了来源,写放大有垃圾回收产生的。我想大家都比较清楚,很快过一下,我们采取了优化影射管理方面有一篇文章,优化命中率用缓存来替换,最终减少写入。还有优化冷热数据的组织,减少垃圾回收的迁移,这也是减少写放大。

刚才说想尽了各种各样的办法减少了写放大,但是还有噪声,或者随着时间、擦写次数的增加,误码率我们不能接受,就必须要有更好的纠删编码。

方法二是采用更好的纠错编码。

目前LDBC码已经被广泛的应用,比BCH码有更高的纠错能力。各大公司都采用LDBC,它的算法是成熟的,但是怎么样进一步改进它呢?目前主要有什么问题呢?它要强纠错的话用软判决码,读延迟会增大,而且部分好预测,你保证了纠错能力以后性能有时候得不到保证,我们在这方面做了很多的研究工作,就做一个大致的介绍。

有一个博士后发了四篇文章,一个是LDPC软判决译码算法的优化,另外一个是软判决的采样方法优化,利用编程干扰的错误特性感知或者用保存的错误感知把这个特性利用起来,还有用CT型的闪存感知,利用这些特性最后降低了译码的迭代延迟,在采样上怎么样优化它,这样就保证了我们在纠错能力保证情况下尽量提高译码速度。这个是我们做的一些工作,发表了几篇文章。

我们对过长的纠删码采用放大,也采取了一些新的技术,这些不详细介绍,大家如果对细节感兴趣大家可以去读读文章。

我们在闪存的RAID上做了一些新的算法,使它能够可靠性进一步增加,而且保证性能。

下面要讲一个新的思路,现在取了一个名字叫耗散存储系统。什么叫耗散存储系统呢?有物质进来有物质出去,保持动态稳定,这就是耗散结构。这个香龙框架下的特性是出了错帮助纠过来以保证可靠性,我们磁盘阵列也是等它坏了以后通过把技术手段信息把恢复出来。

假如磁盘阵列坏了,靠算把这个数据恢复,这个性能就要降级,而且在恢复数据迁移、恢复的时候再坏一个,数据就丢了,所以很危险。还有一个,新的介质和盘用的时候都是挺好的,新的时候纠错能力都是很富裕的,但是用到生命周期后期的时候,都比较老化的时候,这时候出错率其实是非常容易超过编码能力的。

打一个比方,我们一个公司大家都是年轻人的时候,大家身体都很健康,这样累倒的概率很少。假如说一个公司都是70几岁的人,大家得病的概率就很大了。存储系统也是一样,新的时候相当于全部是年轻人的公司,过了五年以后可能都是七八十岁的人在工作,患病的概率太大了。即使很多大公司采用了3D备份的技术,但在用到5-6年的时候是非常有可能同时坏的,因为据统计大概30%、40%的盘会坏,这个时候我们要采取一种新的思路。

比如说心脏一辈子可以跳多少亿次不坏,并不是说材料特别的好,而是经常有新物质进去旧物质出来,它是一个新陈代谢,但总体还是保持心脏的形态。如果有新陈代谢在里头了,这个就不一样了,就像这个公司谁身体不好搞个健康人来,这样总是保持公司健康状况,就是七八十岁人在工作整个系统可靠性是完全不一样的,采取这个思路借鉴生命系统的原理,我们叫耗散的存储系统。

我们有不同的力度,可以在块级进行,也可以在盘级进行,也可以在节点级进行。我们在这里做了很多研究,也拿了国家自然科学的基金在研究。这个问题有几个关键点,我们要预警转移,预警就是要体检,健康状况怎么样。以前硬盘的时候不太容易搞准,在固态盘的时候比较容易搞准,健不健很多指数可以指出来。现在用人工智能的方法把语言出来,所以第一步看它什么要坏,数据还没丢,快差不多就告警,就把把这个数据迁移,这个里头装的都是新的单元,一旦转移过去那个单元就可以替换掉了,就完成了新陈代谢。

这里来预测故障可以用人工智能的算法,现在准确率已经90%多了,用这种技术就可以预测,预测的精度高于90%,实现了新陈代谢,这个技术实际上在盘这一级最好实现的。比如说这里有一个机械手在这里全可以插的盘,这个就不是磁盘阵列,也不是固态盘阵列,一旦数据转移到另外的时候,报警把它拔出来就完了,这个都可以自动维护。估计一下这个系统的可靠性比磁盘阵列要高好几个数量级。

这个就是我们的思路。

闪存颗粒随着工艺制程、单元多bit、3D堆叠技术的进步,容量迅速提高,但可靠性越来越差。以不可靠的芯片来构建可靠的系统,是每一个设计者必须面临的问题。在香农框架下就是两点,第一点降低时间信道的噪声,第二个用更强的纠删码,一般的技术都是这样,刚才讲的检测健康度,预警转移,实现新陈代谢这样就在香农框架之外了,有了这个技术就可以实现超高的可靠性。

像这种局部的技术有些公司已经在用了,但是我们想把新的理论框架建立起来,最后把可靠性具体提高多少量化出来,建立一套耗散存储系统的新理论,这样更加进一步提高可靠性,这个是我们的思路。现在有些工作也发了一些文章,还需要进一步的完善。

结束语

存颗粒随着工艺制程、单元多bit、3D堆叠技术的进步,容量的迅速提高,但可靠性越来越差。如何用不可靠的芯片来构建可靠的系统,是每一个系统设计者必须面对的问题。在香农理论框架下,主要是通过降低时间通道的噪声和采用更强的纠错编码进行,建立耗散存储系统的超可靠体系架构,使存储数据的介质实现新陈代谢,可实现数据存储系统的超高可靠性。

我的演讲到这里结束,谢谢大家。