查看原文
其他

基于新型忆阻器的存内计算原理、研究和挑战

CSDN App AI科技大本营 2020-10-16

作者 | 林钰登、高滨、王小虎、钱鹤、吴华强
来源 | 《微纳电子与智能制造》期刊



引言

     

过去半个世纪以来 ,芯片计算性能的提高主要依赖于场效应晶体管尺寸的缩小。随着特征尺寸的减小 ,器件的制备成本和制造工艺难度不断增加 ,芯 片性能的提升愈发困难。不仅如此 ,器件尺寸也接近物理极限 ,摩尔定律时代即将面临着“终结”[1]。

与此同时,大数据[2]技术的发展和以神经网络为核心的 深度学习技术[3-5] 浪潮的兴起 ,对传统的主流硬件平 台的算力提出了更高的要求。由于深度学习算法计 算时需要处理流式数据 ,基于冯 · 诺依曼计算架构的 硬件平台在处理相关任务时 ,大量的数据会在计算单元和存储单元之间流动[6]。而后者的读写速度要 远慢于前者的计算速度,访问内存的操作过程占了总体能耗和延迟的绝大部分[7],限制了数据的处理速度 ,这被称为“冯 · 诺依曼瓶颈”或“内存瓶颈”。内存瓶颈使得计算系统表现出功耗高、速度慢等缺点。在以大数据量为中心的计算任务中,存算分离带来的问题就更加突出 。 

目前 ,人们利用能并行处理数据的 GPU (graphics processing unit)或者针对数据流设计的专用加速芯片 ,如 TPU (tensor processing unit)等硬件进行加速以满足算力需求。这类加速硬件一般有较 强的并行处理能力和较大的数据带宽[ 9-10 ],但是存储和计算单元在空间上依旧是分离的。与冯 · 诺依曼计算平台不同 ,具有大规模并行 、自适应 、自学习特征的人脑中,信息的存储和计算没有明确的分界线, 都是利用神经元和突触来完成的[ 11-12 ]。人们开始研究新型的纳米器件 ,希望能够模拟神经元和突触的特性。在这类纳米器件中,忆阻器因与突触的特性十分相似[ 13 ]且具有巨大的潜力而备受青睐。突触可 以根据前后神经元的激励来改变其权重 ,而忆阻器 则可以通过外加电压的调制来改变其电导值。 
   
利用这类新型的忆阻器可以实现数据存储的同时也能够原位计算 ,使存储和计算一体化[ 14-17 ],从根本上消除了内存瓶颈。这类新型的忆阻器包括磁效应忆阻器 ( magnetic random-access memory ,MRAM )、相 变 效 应 忆 阻 器[ 21- 23 (] phase- change random- access[24- 26] memory,PRAM)和阻变效应忆阻器 (resistive random-access memory,RRAM)等。 


存内计算技术

     

新型的忆阻器包括磁效应忆阻器 、相变效应忆 阻器和阻变效应忆阻器等。其中 ,阻变效应忆阻器 包含了基于阴离子的氧空位通道型阻变忆阻器和基 于阳离子型的导电桥型忆阻器(conductive bridging RAM, CBRAM)两类。氧空位通道型阻变忆阻器也 直接被称为 RRAM。新型忆阻器有读写速度快[27] 、 集成密度高[28] 、低功耗[29] 等优势 ,这也为存内计算带来了更多的好处。

1.1 磁效应忆阻器

通常 ,材料中电子的上下自旋方向概率相等时,材料整体没有磁性;当电子上下自旋的数目不等同 时 ,材料就会表现出磁性性质。磁效应忆阻器的结 构如图 1 所示 ,其基本结构包含有 3 层 ,其中底层磁 化的方向是不变的,称为参考层;顶层磁化方向可被 编程发生变化 ,称为自由层;中间层称为隧道层。由 于隧道磁阻效应[30] ,参考层和自由层的相对磁化方 向决定了磁效应忆阻器的阻值大小。当参考层和自 由层的磁化方向一致时(P 态),磁效应忆阻器的阻值 最小;相反 ,如果磁化方向不一致时(AP 态),磁效应 忆阻器的阻值最大。
     
通过直接让电流流经磁效应忆阻器可以改变自 由层的电子自旋方向[31]。在由参考层流向自由层的大电流的操作中 ,电流首先被参考层自旋极化 ,然后 根据磁动量守恒 ,使自由层的磁极化发生旋转至两 者磁化方向相同。反之 ,流经相反方向的电流可以 使参考层和自由层的磁化方向相反 。
   
         
 
1.2 相变效应忆阻器

相变效应忆阻器的结构如图 2 所示 ,包含了顶层 、底层电极和相变材料层。在相变材料层里 ,可 编程区的晶态决定了相变效应忆阻器的阻态[ 22 ]。可编程区为非晶态时 ,相变材料的电阻率高,忆阻 器的阻值也就较大;为多晶态时,相变材料的电阻率低,相应的忆阻器阻值也就较小。忆阻器从高阻态( high- resistance state ,HRS )转 变 为 低 阻 态( low- resistance state,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 利用二值忆阻器的布尔计算 

忆阻器可以通过互连线直接访问和反复编程,这便于实现基于忆阻器的布尔运算。实质蕴涵 (material implication,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 来表示 ,而逻辑输出 则 由高低阻态(分别表示逻辑 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逻辑 运算的电路示意图 ,根据欧姆定律 ,作用在 G上的输 入电压 V产生的电流为 


其中,Vnode 为公共节点的电压。在负载电阻RL上产生的压降Vnode 为


从而可以解出公共节点的电压Vnode


该式表明公共节点的电压Vnode 等同于输入电压 V的权重累加和。一般在公共节点处放置 1 个阈值 电压为 VT 的比较器 ,其输出为逻辑输出电压 Voutput 。这一结构的逻辑运算与单层感知机相类似 ,公共节 点的电压Vnode 和阈值电压比较器分别与神经元输入 和非线性激活函数相对应起来 ,所以其逻辑功能与 单层感知机的功能一样 ,可以实现线性可分的逻辑 运 算 ,如 与 、或 、非 3 类 逻 辑 ,如 图 7 所 示 。与、或 、非 3 类逻辑可以构成逻辑完备集 ,所以这样的电路通过 组合也可以实现任意逻辑运算。V-V逻辑运算可以 很容易的实现级联以实现更强大的逻辑功能 ,但是 和 V-R 逻辑运算一样 ,都需要额外的比较器设计。

     
2.2 利用模拟型忆阻器的模拟计算 

除了利用高低阻态来实现布尔运算外 ,利用具有多级阻态的模拟型忆阻器可以实现在模拟域的乘 法-加法运算。如图 8 所示 ,模拟型交叉结构阵列有 行列两个正交互连线 ,互连线的每个结点处夹着 1 个 忆阻器件。电压 V是施加在第 列的电压值 ,根据欧 姆定律和基尔霍夫定律 ,可以得到第 行的总电流值。

     
其中 Gij 为位于第 列第 行的忆阻器件的电导值。总 电流值 Ii 是电导矩阵与电压向量的乘积结果 ,从存 内计算角度来说 ,模拟型交叉阵列完成乘法-加法过 程只需要一步 ,自然地可以实现矩阵向量乘的硬件 加速。相比于传统的计算过程 ,这样的加速阵列更 加节时 、节能。模拟型交叉阵列可以在稀疏编码 、图 像压缩 、神经网络等任务中担任加速器的角色 。
     
在神经网络中 ,Gij 代表突触权重的大小 ,V是前 神经元 的输出值 ,Ii 是第 个神经元的输入值。如 图 8 所示是 3×3 的交叉阵列 ,列线与行线分别代表神 经网络中的输入神经元和输出神经元 ,忆阻器的电 导值为神经元之间相互连接的突触权重值 ,利用反 向传播等学习算法可以通过 SET/RESET 操作来原位更新网络权重 。 

     

存内计算的实验研究

   

在布尔计算方面 ,忆阻器的出现为物理实现实 质蕴涵逻辑提供了很好的机会。在 2010 年 ,惠普公 司提出了一种利用 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和忆阻器混合电路, 实现了线性阈值门(linear threshold gate, LTG)逻辑 功能。James 等 [45] 报告了使用忆阻器和阈值逻辑电 路实现通用的布尔逻辑运算单元,其面积小且设计 简单即可实现类似大脑的逻辑功能,如图11所示。
     
在国内,华中科技大学缪向水团队[17]把两个忆阻 器极性相反的串联起来,基于这样的三端忆阻器提出 了完备的逻辑运算方法。这种逻辑方法只需初始化 、 计算和读取共3步就可以实现16种布尔逻辑之一,计 算结果存储在忆阻器的阻态中。北京大学康晋锋研究 组[46]利用忆阻器件开发并演示了存内计算的硬件处理 系统 MemComp,该系统可以学习通用的逻辑运算且重复利用,极大地减小了功耗,提升了运算速度。2018 年 ,清华大学钱鹤团队[47]提出并在忆阻器阵列上演示了 矩阵乘矩阵的存内计算方法 ,如图 12 所示。乘积的计 算结果不需要AD转换即可存储在忆阻器阵列中,这可 以 高 效 地 加 速 如 图 像 处 理 、数据压缩等应用的计算 。
     
在模拟计算方面,Strukov团队[48]利用忆阻器阵 列实现了可以进行图像分类的感知机,并首次在实 验上证明忆阻器阵列可以原位训练。权重值直接存 储在忆阻器阵列上,在推理时可以充当加速器。由 于阵列只有 12×12 的大小 ,所以感知机仅可以对 3 类 字母的黑白图像分类 ,如图 13 所示。这一工作验证 了利用忆阻阵列完成感知机的方案 ,引起了国际的广泛关注。
      

在在线训练忆阻器权重方面,斯坦福大学Wong 组[49]在PRAM阵列上利用Hebbian学习规则,可以存 储给出的模式 ,并且实现了与大脑类似的恢复残缺 模式的功能。密歇根大学Lu研究组[50]利用32Í32的 模拟型忆阻器阵列演示了稀疏编码算法,设计的网 络可以有效地进行图像匹配和横向神经元抑制。经 过训练之后的网络可以基于较少的神经元找到图像 里的关键特征。2018 年 ,IBM 的 Almaden 研究中心[51] 设计了具有高达 204 900 个突触的软硬件混合神经 网络。为了抵消器件之间的不一致性 ,提出了一种 把 PRAM 的长期存储 、易失性电容器的线性更新和 可“极性反转”的权重数据传输相结合的方法。这项 工作提供了一条利用硬件加速神经网络的新途径 。2018年,Lin等[52]在1k 1T1R模拟型忆阻器阵列上,首次在线训练了改进的生成式对抗网络 ,成功生成了 手写数字图像,如图14所示。
            
在利用忆阻器阵列直接映射来加速计算方面, Waston 工作组[53]把训练好的卷积神经网络映射在忆阻 器阵列上,利用提出的并行计算架构来提高整体的能 效和数据吞吐量。与GPU方案相比,使用忆阻器阵列 加速的方法更显优势。亚利桑那州立大学 Yu 研究组[54] 提出了在忆阻器阵列上实现卷积神经网络中卷积的功 能 ,把二维的核矩阵转化为了一维列向量并使用 Prewitt 核进行了概念验证。2019 年 ,Yang 研究组[55]在 Nature Electronics 报道了利用模拟型忆阻器阵列来实现强化 学习的工作。报道中提出的模拟数字混合强化学习 架构 ,把矩阵向量乘法的计算分配给了模拟型忆阻器 阵列来运算 ,从而把忆阻器阵列的模拟运算优势和 CMOS 的逻辑运算优势相结合起来 ,如图 15 所示 。 


基于忆阻器的存内计算挑战与展望

     

基于冯 · 诺依曼架构硬件平台面临内存瓶颈问题 ,而基于忆阻器的存内计算是这个问题的较好解 决方案。但是 ,目前基于忆阻器的存内计算还没有 发展成为可靠成熟的内存瓶颈解决方案 ,基于忆阻 器的存内计算依然存在着挑战 。

     

首先 ,忆阻器件的一致性是首要问题。无论是 布尔计算还是模拟计算 ,忆阻器件的属性在不同循 环 、不同器件之间的波动都可以会对计算结果产生 不良影响。如不同忆阻器件的 SET 阈值电压的波动 就会导致误操作甚至电路功能的崩塌。尤其是精确 科学计算 ,对忆阻器件的一致性要求相对更高。使 用校验方法或者冗余设计的方式可以在一定程度上 容忍离散性带来的误差 ,但会带来额外的能耗和延 时 ,削弱基于忆阻器的存内计算的先天优势。


其次 , 忆阻器件的稳定性也会对计算精度产生负面影响 。如果在准确调制忆阻器件的阻值之后阻值发生漂移 ,矩阵向量乘积的结果就会不准确。这种阻值漂 移现象更多地出现在模拟型 RRAM 器件里 ,这是由 于导电通路对旁边单个原子移动敏感所导致的[56] 。类似的 ,PCM 这类问题同样明显。再者 ,忆阻器件的 集成规模对于存内计算的发展也同样关键。为了满 足处理大数据所需的算力 ,基于忆阻器的存内计算 要求大规模高密度 ,而一味地减小忆阻单元的面积 可能会导致一致性的恶化 ,还会增加互连线电阻对计算精度的影响,这意味着简单的减小单元面积不 是最有效的方法。有三维堆叠潜力的忆阻器可以发 挥三维集成的优势[57] ,来实现高密度 、高能效的存内计算。

     

除了上述 3 点挑战之外 ,忆阻器还有很多亟待解 决的问题和挑战。基于忆阻器的存内计算可以消除 现今冯 · 诺依曼平台存在的内存瓶颈问题。随着越 来越多的基于忆阻器的存内计算方案被提出 ,存内计算的发展也将越来越好 。

     

结论

     

概述了基于忆阻器的存内计算技术 ,包括磁效应忆阻器 、相变效应忆阻器和阻变效应忆阻器等 3 类忆阻器的工作机理和特性。在此基础上围绕布尔逻辑 、模拟计算的原理展开论述 ,其中布尔逻辑利用二 值忆阻器来实现 ,分为 R-R 逻辑运算 、V-R 逻辑运算 、 V-V 逻辑运算 3 类 ,模拟计算利用模拟型交叉结构阵 列来实现模拟域运算功能。然后,从布尔逻辑和模 拟计算两方面介绍了基于忆阻器的存内计算的国内外的研究进展,最后总结了基于忆阻器的存内计算挑战与展望 。 

来源:任源,潘俊,刘京京,等. 人工智能芯片的研究进展[J]. 微纳电子与智能制造, 2019, 1 (2): 20-34.

REN Yuan, PAN Jun, LIU Jingjing, et al. Overview of artificial intelligence chip development [J]. Micro/nano Electronics and Intelligent Manufacturing, 2019, 1 (2): 20-34.

《微纳电子与智能制造》刊号:CN10-1594/TN
主管单位:北京电子控股有限责任公司
主办单位:北京市电子科技科技情报研究所、北京方略信息科技有限公司

【end】



精彩推荐


推荐阅读

    你点的每个“在看”,我都认真当成了AI

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存