当前位置: 绝缘体 >> 绝缘体市场 >> 基于新型忆阻器的存内计算原理研究和挑战
作者
林钰登、高滨、王小虎、钱鹤、吴华强
来源
《微纳电子与智能制造》期刊
引言
过去半个世纪以来,芯片计算性能的提高主要依赖于场效应晶体管尺寸的缩小。随着特征尺寸的减小,器件的制备成本和制造工艺难度不断增加,芯片性能的提升愈发困难。不仅如此,器件尺寸也接近物理极限,摩尔定律时代即将面临着“终结”[1]。
与此同时,大数据[2]技术的发展和以神经网络为核心的深度学习技术[3-5]浪潮的兴起,对传统的主流硬件平台的算力提出了更高的要求。由于深度学习算法计算时需要处理流式数据,基于冯·诺依曼计算架构的硬件平台在处理相关任务时,大量的数据会在计算单元和存储单元之间流动[6]。而后者的读写速度要远慢于前者的计算速度,访问内存的操作过程占了总体能耗和延迟的绝大部分[7],限制了数据的处理速度,这被称为“冯·诺依曼瓶颈”或“内存瓶颈”。内存瓶颈使得计算系统表现出功耗高、速度慢等缺点。在以大数据量为中心的计算任务中,存算分离带来的问题就更加突出。
目前,人们利用能并行处理数据的GPU(graphicsprocessingunit)或者针对数据流设计的专用加速芯片,如TPU(tensorprocessingunit)等硬件进行加速以满足算力需求。这类加速硬件一般有较强的并行处理能力和较大的数据带宽[9-10],但是存储和计算单元在空间上依旧是分离的。与冯·诺依曼计算平台不同,具有大规模并行、自适应、自学习特征的人脑中,信息的存储和计算没有明确的分界线,都是利用神经元和突触来完成的[11-12]。人们开始研究新型的纳米器件,希望能够模拟神经元和突触的特性。在这类纳米器件中,忆阻器因与突触的特性十分相似[13]且具有巨大的潜力而备受青睐。突触可以根据前后神经元的激励来改变其权重,而忆阻器则可以通过外加电压的调制来改变其电导值。
利用这类新型的忆阻器可以实现数据存储的同时也能够原位计算,使存储和计算一体化[14-17],从根本上消除了内存瓶颈。这类新型的忆阻器包括磁效应忆阻器(magneticrandom-accessmemory,MRAM)、相变效应忆阻器[21-23(]phase-changerandom-access[24-26]memory,PRAM)和阻变效应忆阻器(resistiverandom-accessmemory,RRAM)等。
存内计算技术
新型的忆阻器包括磁效应忆阻器、相变效应忆阻器和阻变效应忆阻器等。其中,阻变效应忆阻器包含了基于阴离子的氧空位通道型阻变忆阻器和基于阳离子型的导电桥型忆阻器(conductivebridgingRAM,CBRAM)两类。氧空位通道型阻变忆阻器也直接被称为RRAM。新型忆阻器有读写速度快[27]、集成密度高[28]、低功耗[29]等优势,这也为存内计算带来了更多的好处。
1.1磁效应忆阻器
通常,材料中电子的上下自旋方向概率相等时,材料整体没有磁性;当电子上下自旋的数目不等同时,材料就会表现出磁性性质。磁效应忆阻器的结构如图1所示,其基本结构包含有3层,其中底层磁化的方向是不变的,称为参考层;顶层磁化方向可被编程发生变化,称为自由层;中间层称为隧道层。由于隧道磁阻效应[30],参考层和自由层的相对磁化方向决定了磁效应忆阻器的阻值大小。当参考层和自由层的磁化方向一致时(P态),磁效应忆阻器的阻值最小;相反,如果磁化方向不一致时(AP态),磁效应忆阻器的阻值最大。
通过直接让电流流经磁效应忆阻器可以改变自由层的电子自旋方向[31]。在由参考层流向自由层的大电流的操作中,电流首先被参考层自旋极化,然后根据磁动量守恒,使自由层的磁极化发生旋转至两者磁化方向相同。反之,流经相反方向的电流可以使参考层和自由层的磁化方向相反。
1.2相变效应忆阻器
相变效应忆阻器的结构如图2所示,包含了顶层、底层电极和相变材料层。在相变材料层里,可编程区的晶态决定了相变效应忆阻器的阻态[22]。可编程区为非晶态时,相变材料的电阻率高,忆阻器的阻值也就较大;为多晶态时,相变材料的电阻率低,相应的忆阻器阻值也就较小。忆阻器从高阻态(high-resistancestate,HRS)转变为低阻态(low-resistancestate,LRS)的过程是“SET”过程;反之,从LRS到HRS的过程就是“RESET”过程。
在SET过程中,在相变效应忆阻器两端施加较小的幅度的电压脉冲,产生的热量使其温度介于熔点和结晶温度之间,然后进行适合时间的退火,对应着较缓的脉冲下降沿,可以引起相变材料结晶,转变为多晶态,此时其阻值较小。而在RESET过程中,施加较大幅度的电压脉冲来淬火,其电压脉冲的下降沿较陡,就会导致编程区局部熔化,转化为非晶态,此时其阻值较大。通过电压脉冲来调制可编程区的多晶态和非晶态的相对比例,可以实现相变效应忆阻器的多级阻态。RESET的多级阻变特性比SET差,这是因为在RESET的过程中,准确把握淬火的程度相对困难。
1.3阻变效应忆阻器
阻变效应忆阻器有简易的结构——“三明治”结构。如图3所示,这个结构包含了上下金属电极和中间的阻变绝缘体层,紧凑且简单,并且其工艺可以与CMOS兼容。与其他的CMOS存储器相比较,阻变效应忆阻器有高速开关的能力,以及低能耗、可3D集成扩展等优势。
对于阻变效应忆阻器的阻变机制目前还在探究之中[32-34],导电细丝的生长和断裂是导致阻值发生变化的关键机制之一。刚制备好的阻变效应忆阻器处于初始阻态,一般是高阻态,还没有阻变特性。为了使其可以正常工作,需要在两端施加1个比较大的电压脉冲,这个过程称为“Forming”过程。在Forming过程中,本征缺陷较少的阻变绝缘层内部因为软介电击穿而形成了导电细丝[35]。金属氧化物中的氧离子在外加电场的作用下,往阳极迁移并被阳极存储起来[36]。
此时,生成的氧空位形成导电细丝,阻变效应忆阻器从高阻态转变到低阻态[37]。SET过程与此相类似,但由于Forming之后阻变效应忆阻器内部缺陷较多,所以需要的电压相对较小。在RESET过程中,在其两端施加反向电压,氧原子从阴极迁移出来并与形成导电细丝的阴极附近的氧空位复合[38],造成导电细丝无法与电极相连接,阻变效应忆阻器从低阻态转变到高阻态。对于非导电细丝类型的阻变效应忆阻器,其阻变是由于缺陷在电场作用下迁移,使得器件界面内肖特基势垒或隧穿势垒发生均匀变化而导致的。
阻变效应忆阻器有单双极性两类阻变模式之分[39-40],如图4所示。对于双极性阻变模式而言,阻变现象是发生在不同极性的电压下的,即SET/RESET分别在相反的电压极性下发生。而对于单极性阻变模式,阻变现象与电压极性无关,只与电压幅度相关。
基于忆阻器的存内计算原理
基于忆阻器实现的存内计算可以分为几个方面:利用二值忆阻器的逻辑运算、利用模拟型忆阻器的模拟计算和其他类型的存内计算。下面主要介绍非挥发布尔运算和模拟计算的原理。
2.1利用二值忆阻器的布尔计算
忆阻器可以通过互连线直接访问和反复编程,这便于实现基于忆阻器的布尔运算。实质蕴涵(materialimplication,IMP)逻辑和逻辑0可以构成逻辑完备集[41],通过级联可以实现全部16种逻辑运算,所以如何利用忆阻器实现实质蕴涵逻辑是关键。实质蕴涵逻辑的真值表如表1所示。基于忆阻器的布尔运算根据输入、输出类型和操作方式的不同,可以分为3类,分别是R-R逻辑运算、V-R逻辑运算和V-V逻辑运算。
(1)R-R逻辑运算
在R-R逻辑运算中,输入和输出都是通过忆阻器的高低阻态来分别表示逻辑0和1,运算过程都是在忆阻器内部完成。如图5所示,计算时,根据输入将两个忆阻器件X1、X2写到对应的高低阻态,然后在两端分别施加电压Vsetε(Vset是器件发生SET阻变的电压,ε是相对较小的电压),输出结果直接存储在X2里。根据欧姆定律和基尔霍夫电压电流定律,可以推出其真值表,如表1所示。当X1=0时,X2上的压降为Vset+εVset,无论当前X2是哪个阻态,必将发生SET阻变,X2最终转变为低阻态,即输出Y=1;当X1=1时,X1和X2上的压降为2×εVset,无法发生SET阻变,X2阻态没有发生改变,此时输出Y=X2。
(2)V-R逻辑运算
在V-R逻辑运算中,输入是通过施加在单个忆阻器两端的电压幅值X1、X2来表示,而逻辑输出Y则由高低阻态(分别表示逻辑0和1)来表示。这种逻辑运算要求忆阻器是双极性阻变模式的,施加正负极性的电压会使器件分别转移到高低阻态。如图6所示,在运算前把忆阻器初始化为低阻态,当X1=X2时,器件两端的压降为零,阻态保持低阻态不变,即输出Y=1;当X1=1且X2=0时,器件两端的压降为正极性,阻态翻转为高阻态,即输出Y=0;当X1=0且X2=1时,器件两端的压降为负极性,因初始态为低阻态,阻态保持不变,即输出Y=1。其真值表如表1所示。V-R逻辑运算的默认输出Y=1,只有在X1=1且X2=0时输出才发生改变。由于这样的逻辑功能是完备的,通过适当的组合若干个V-R逻辑运算可以实现16种布尔逻辑运算。
(3)V-V逻辑运算
在V-V逻辑运算中,输入和输出都是通过电压幅值低高来分别表示逻辑0和1。如图7是V-V逻辑运算的电路示意图,根据欧姆定律,作用在Gj上的输入电压Vj产生的电流为
其中,Vnode为公共节点的电压。在负载电阻RL上产生的压降Vnode为
从而可以解出公共节点的电压Vnode
该式表明公共节点的电压Vnode等同于输入电压Vj的权重累加和。一般在公共节点处放置1个阈值电压为VT的比较器,其输出为逻辑输出电压Voutput。这一结构的逻辑运算与单层感知机相类似,公共节点的电压Vnode和阈值电压比较器分别与神经元输入和非线性激活函数相对应起来,所以其逻辑功能与单层感知机的功能一样,可以实现线性可分的逻辑运算,如与、或、非3类逻辑,如图7所示。与、或、非3类逻辑可以构成逻辑完备集,所以这样的电路通过组合也可以实现任意逻辑运算。V-V逻辑运算可以很容易的实现级联以实现更强大的逻辑功能,但是和V-R逻辑运算一样,都需要额外的比较器设计。
2.2利用模拟型忆阻器的模拟计算
除了利用高低阻态来实现布尔运算外,利用具有多级阻态的模拟型忆阻器可以实现在模拟域的乘法-加法运算。如图8所示,模拟型交叉结构阵列有行列两个正交互连线,互连线的每个结点处夹着1个忆阻器件。电压Vj是施加在第j列的电压值,根据欧姆定律和基尔霍夫定律,可以得到第i行的总电流值。
其中Gij为位于第j列第i行的忆阻器件的电导值。总电流值Ii是电导矩阵与电压向量的乘积结果,从存内计算角度来说,模拟型交叉阵列完成乘法-加法过程只需要一步,自然地可以实现矩阵向量乘的硬件加速。相比于传统的计算过程,这样的加速阵列更加节时、节能。模拟型交叉阵列可以在稀疏编码、图像压缩、神经网络等任务中担任加速器的角色。在神经网络中,Gij代表突触权重的大小,Vj是前神经元j的输出值,Ii是第i个神经元的输入值。如图8所示是3×3的交叉阵列,列线与行线分别代表神经网络中的输入神经元和输出神经元,忆阻器的电导值为神经元之间相互连接的突触权重值,利用反向传播等学习算法可以通过SET/RESET操作来原位更新网络权重。
存内计算的实验研究
在布尔计算方面,忆阻器的出现为物理实现实质蕴涵逻辑提供了很好的机会。在年,惠普公司提出了一种利用Pt/Ti/TiO2/Pt忆阻器的电路[41],首次物理实现了实质蕴涵逻辑,如图9所示。同时这样的电路只需要3个忆阻器件就可以实现与非逻辑运算,并且其存储和运算过程都由忆阻器件完成,可以嵌入交叉阵列中以实现逻辑运算。这一工作展示了忆阻器件在存内计算领域的巨大潜力,提供了高效的存内计算的可行方案。
进一步,加州大学圣巴巴拉分校Strukov团队[42]研究出了使用4个忆阻器件的三维状态实质蕴涵逻辑,同时利用6个忆阻器件来重复扩展IMP,可以在14步内实现1个全加法器。这种三维结构的忆阻器电路可以很容易解决内存瓶颈的问题。Waser团队[43]系统分析了16种布尔逻辑运算,提出了利用1个双极性阻变器件和1个互补型阻变器件的方法,可以在3步操作内实现其中的14种运算,剩余的2种运算XNOR和XOR可以使用两个器件来实现,其运算结果均直接存储在器件中,如图10所示。
文献[44]提出了一种CMOS和忆阻器混合电路,实现了线性阈值门(linearthresholdgate,LTG)逻辑功能。James等[45]报告了使用忆阻器和阈值逻辑电路实现通用的布尔逻辑运算单元,其面积小且设计简单即可实现类似大脑的逻辑功能,如图11所示。
在国内,华中科技大学缪向水团队[17]把两个忆阻器极性相反的串联起来,基于这样的三端忆阻器提出了完备的逻辑运算方法。这种逻辑方法只需初始化、计算和读取共3步就可以实现16种布尔逻辑之一,计算结果存储在忆阻器的阻态中。北京大学康晋锋研究组[46]利用忆阻器件开发并演示了存内计算的硬件处理系统MemComp,该系统可以学习通用的逻辑运算且重复利用,极大地减小了功耗,提升了运算速度。年,清华大学钱鹤团队[47]提出并在忆阻器阵列上演示了矩阵乘矩阵的存内计算方法,如图12所示。乘积的计算结果不需要AD转换即可存储在忆阻器阵列中,这可以高效地加速如图像处理、数据压缩等应用的计算。
在模拟计算方面,Strukov团队[48]利用忆阻器阵列实现了可以进行图像分类的感知机,并首次在实验上证明忆阻器阵列可以原位训练。权重值直接存储在忆阻器阵列上,在推理时可以充当加速器。由于阵列只有12×12的大小,所以感知机仅可以对3类字母的黑白图像分类,如图13所示。这一工作验证了利用忆阻阵列完成感知机的方案,引起了国际的广泛
转载请注明:http://www.aideyishus.com/lkjg/2362.html