石亮博士:优化闪存可靠性从这两方面下手

2018全球存储半导体大会上,来自来自重庆大学Smart Storage Lab的石亮博士发表了题为《新一代3D闪存存储可靠性技术》的主题演讲,介绍了从LDPC纠删码和制程差异两方面优化闪存可靠性的方法,论据内容充足,有许多实验作为支撑,并且给出了解决问题的思路和方法,为闪存专业人士研究闪存特性提供了许多有价值的信息。

以下是现场速记:

各位朋友,大家下午好!今天我给大家带来的题目是《新一代3D闪存存储可靠性技术》。目前我们有一个联合研究团队,团队成员由两部分组成:一部分来自重庆大学,另一部分是香港城市大学。

这是我主要讲的内容,一方面关于闪存的发展,从2D平面闪存到3D闪存的过程。另一方面重点介绍3D闪存可靠性方面所做的部分研究工作,主要涉及LDPC纠错码的存储优化,制程差异的可靠性优化两个方面的技术,最后对本报告进行一个总结。

2D平面闪存主要有两个发展方法:

一是尺寸的缩小,我们观察到的2D闪存的推出产品的最小尺寸是14nm,关于尺寸的缩小的最近的工作要追溯到2016年,由三星发布14纳米制程2比特存储元,之后没有看到2D储存上的缩小。

二是从单个存储元比特个数的增加,也就是单存储元里面可以存储更多的比特,最新的工作则是2013年台湾旺宏推出的6比特每存储元在45纳米下的技术。以上两种技术到目前为止基本上已经终止,这是因为他们的发展会导致可靠性和性能的严重下降。所以,从2006年开始3D闪存的概念开始进入我们的视野。

具体我们来看一下,我把3D闪存的发展分成两个阶段,一个是理论阶段,二是产品阶段。

从2006开始提出3D闪存概念以来,多种3D闪存架构已经见诸报端。包括Stacked NAND,BICS,P-BICS以及TCAT等等,但是在2012年之前,这些架构依然处在验证和样品阶段,并未进入实际产品阶段。之后由东芝提出的架构真正开始实现可用,然后出现了东芝后续提出的和三星提出的多种类型的架构。

2013年开始出现产品,2013年三星公司在ISSCC大会上发表了第一个产品级的3D NAND闪存产品,它是采用24层的TCAT架构,单个存储元2个比特的结构所构成,而后经历了32层,48层,64层,到今年的96层。明年将会是128层,他们普遍采用的是TLC,这是一个很有意思的特点。而存储元的比特个数也从2比特发展到最新的4比特。未来单芯片的存储容量将高达数Tb的容量。

刚才讲的是从2D到3D发展过程,下面我们看一下3D存储介质的特征。存储介质可以大致分为两类,一类是Floating Gate(浮栅)存储元,一类是Charge Trap(电荷撷取)存储元。其中FG存储元通过在半导体中寄存电子的方式实现数据存储,氧化层实现数据非易失。而CT存储元则是通过绝缘体的方式实现电子存储。这个图中,我们可以看到FG的尺寸普遍来说,要比CT的大一些。原因在于CT是绝缘体,他对氧化层的厚度要求低很多,所以CT的扩展性要比FG好很多。而且由于是绝缘体,他对存储元间的干扰等都有较好的特性。

从存储元堆叠方式来看,目前我们调研发现比较常用的是两种架构,一种是东芝提出的BICS架构,这种架构后续有一个改进的架构叫P-BiCS架构,这种架构是东芝在2007年提出的,另外一种架构是有三星提出的TCAT架构,这种架构是有三星在2009年提出的,并在2013年首次推出基于TCAT的24层V-NAND闪存。其他的厂商的还包括Intel,美光,海力士,旺宏以及长江存储。但是根据我们的调研,大部分遵从的架构还是以上两种堆叠方式。当然还有一些其他的堆叠方式,比如台湾旺虹很长时段都在研究VG(Virtical GATE)堆叠方式。

简单介绍了3D闪存的组织过程,从存储元开始,通过堆叠的方式形成Wordline,然后wordline组织形成阵列,最后阵列组织形成芯片。比如这边就展现的是一个BICS的架构,最终构建一个双Plane的结构。简单来说,通过这种堆叠的方式形成的3D闪存能够实现存储密度极大地改善。特别是随着堆叠层次的提高,密度不断提高。

随之而来的就是可靠性问题了。我们关注的特征主要是四个方面:一是电子泄露,二是编程干扰,三是读干扰,四是制程差异。

3D闪存可靠性特征—是电子泄露,初始电子快速逸出,数据写入后10秒内会出现一个快速的电子逸出然后进入平稳阶段,什么原因呢?是由于CT存储元氧化层较薄,嵌入在CT里面的电子会快速逸出了。第二个是温度异常导致的,温度对可靠性影响会非常大,这是2D和3D的对比,我们可以看到3D闪存对温度的影响非常激烈,电子电压的偏离呈现指数级的波动,温度是非常难以解决的问题。

 

二是编程干扰,相对于平面闪存,3D闪存会额外出现两种新型的编程干扰,一种是Y方向的,一种是XY方向的,最终导致电压升高,电压升高的结果是数据翻转,这个工作台湾旺虹公司和台湾中央研究院的张原豪教授在此方面有多年的研究。

第三,在读干扰方面,读数据的时候会在被读的地方增加一个电压,比编程电压小一点,在不断的读,次数超过几千次、上万次的时候就会不小心的往存储元里面注入一些电子,我们做的一组实验,3D闪存单个Block,我们做的一个什么实验?我们把Word Line,以前一个Block只会读100次,而现在要读到100万次,也就是读的干扰增长了1万次,所以在3D闪存上读干扰要想尽各种办法解决。

第四,3D制程差异,第一是闪存块内的制程差异,一个闪存块里面的数个页之间可靠性差异高达数10倍,3D闪存里面又存在结构性的差异,也就是说不同的层次之间中间存储层的宽度不一样,越往上越宽,越往下越窄,这样就导致可靠性和性能方面存在很大的差异,这些差异必须在系统级进行优化。这就是我给大家介绍的,要在系统级里面考虑的四个关键问题。

在3D闪存中,LDPC基本上是标配了,很多同事跟我讲,我不觉得3D闪存的可靠性比2D差,3D闪存在普通环境下比2D好很多,但是极端环境下、高温环境下、大量读写的环境下可靠性非常差。LDPC采用的是概率纠错的方式,也就是会根据存的数据,最后读出来能够分析出数据的准确度到底有多大来确定,这些信息必须经过LDPC的一个解码过程,这个过程会导致性能的损伤。

这是ISPP的编程方式,使用不同的编程步幅,可靠性会出问题,LDPC解码的时候获取输入信息要通过多次寻找这个电压在哪个范围,只有非常清楚数据以后纠错能力才会上来,多次测试的结果就是要多次的读,也就是说读延迟要下降21倍,这还不是最严重的,读21次产生的是21次读干扰,也就是说优化LDPC成为解决3D闪存可靠性的关键问题。

我们根据这些特征做了两个方面的工作,第一是基于LDPC结合闪存错误特征的优化,第二是根据LDPC解码特征和应用访问行为做的工作。

电压状态之间错误是非对称的,实际上那两个状态之间的错误会非常大,这两个状态之间的错误非常小,因为那个地方输入的电子非常多,容易泄露,所以那个地方容易出错。第二,电压状态内部错误非对称,这个非对称是什么意思?

比如说这个状态左偏和右偏的错误率不一样,一般右偏是因为擦写数过多,电压下降的原因是电子泄露导致的,这种情况下就会出现大量的右偏。所以,保存时间越长右偏概率就会越长。

我们的做法非常简单,根据状态之间的差异,比如说这两个状态之间的错误率很低,我就没必要放那么多,根据左偏右偏的状态确定是往那边多放一点。实验结果证明,读性能在最坏的情况下达到60%的提升。

  

这个工作利用ISPP编程速度的特征进行优化,这个图讲的是ISPP编程步幅比较大的时候可靠性比较差,我们做了一个实验,用非常快的写速度跑一下性能到底怎么样,用慢的写速度跑一下性能怎么样,最后跑出来发现什么特点?慢的写性能写速度会下降60%,而慢的读速度会下降114%,这样就非常严重,我们设计了一个方法,怎么能够既利用快速写,也能够利用快速读呢?

我们分析了,我们得出来一个非常惊人的结果,发现大部分的读请求发生只读的数据,大部分写请求发生在了只写的数据上来,也就是说这个数据要么只读,要么只写,一旦拿到这个结果刚才的数据就很容易用上,我们发现有85%的数据只读,91%的请求只写,其中只有3%的数据会交错的读写。我们把只读的数据用慢速度写进去,只写的数据用快速度写。

我们的做法很简单,就是怎么判断这个速度只读还是只写,用一个比特就可以做到这个工作,判断上次是读还是上次是写,如果上次是读这是也是读,我们就认为它是只读,判断的成功率高达97%,只需要一个比特就够了。通过这样的简单方式在几乎没有任何开销的情况下读性能和写性能都改善的目标。

接下来我介绍一下制程差异,我相信各位比较了解,特别是做消费级产品的朋友,你们应该也了解到制程差异是一个严重的问题,无论是企业的MLC的,还是消费级的,都存在严重的制程差异,有人可能会觉得我是危言耸听。不同的block之间差异非常大,学术界也测了数据,严重的情况下有数10倍的可靠性差异,这种差异必须要在设计的过程中充分考虑怎么利用起来,我了解到华为内部以及IBM和三星都有相应的测试,我们基于制程差异改变写性能的优化方案,在有较大制程差异的情况下,能否实现,我们的做法很简单。在较强的编程步幅里面使用,怎么做到的?我们提出了两个问题,

第一,怎么制程差异是闪存的固有属性,如何能够在线识别?基于编程速度支持的识别方法。

第二,基于分级的数据分配方法,将热数据分配到较强的闪存块,冷数据分配到较弱的闪存块里面。是读性能怎么优化?主要考虑到LDPC的特征,这是现在普遍的,如果有严重PV的情况下,传统数据的布局完全不会考虑到底是放在哪里的,会将热写的数据放在,我们是将一些热读的数据放在,传统的方法在读性能上的表现是这样的,我们的方法读性能的表现是这样的。因为我们兼顾了热读数据应该布局在什么地方的方法。识别制程差异,基本思想:基于LDPC的读Ertry的差异在线识别方法,将retry,我们进行了分组的方式,实验只用了两个组就可以达到高达60%性能的改善。基于制程差异特征的数据分布,基本思想:将热读的数据放入较强的闪存块,将较冷的数据放入较弱的闪存块。但是判断数据读的冷热需要较大的开销。我们采用了数据在线冷热的自动识别法,这是以上四个工作涉及到的学术论文。

总结与展望,3D闪存将在不同的领域,包括多媒体终端、消费级产品、个人电脑以及大数据服务中心广泛应用。解决3D闪存可靠性是进一步推广3D闪存应用领域发展的关键,结合机器学习的3D闪存可靠性优化将成为更具优势的思路。未来包括3DXpoit、STT—RAM等新兴的非易失性存储将将会广泛结合3D闪存成为重要的方向。

 最后,给大家介绍一下我本人的情况,我研究存储技术到今天为止已经整整10年了,从2008年到现在重点关注的就是闪存存储技术的研究。主要分成四个方面:存储可靠性关键技术研究、高性能固态存储系统研究、智能手机存储系统研究,新型非易失性存储技术研究。

欢迎各位友商朋友们与我们合作,谢谢大家!