存算一体技术发展历程
存算一体包括近存计算与存内计算,其概念最早在1969年被提出[9,10],后续各国学者在电路、算法、计算架构、操作系统、系统应用等层面开展了一系列相关研究。例如, 1997年,文献[11]展示了一种智能内存(Intelligent RAM)方案,其将处理器和DRAM集成在单颗芯片上,算力可达到当时最先进的Cray向量处理器(Cray T-90)的5倍。 1999年,文献[12]提出了一种嵌入计算功能的灵活内存(FlexRAM)方案,仿真结果表明该芯片架构可使计算性能提升25~40倍。但是,早期由于缺少大数据
处理的应用需求,加之芯片的制造成本昂贵、设计复杂,存算一体技术多年来仅停留在研究阶段。
2015年以来,由于摩尔定律的逐渐失效与冯.诺依曼架构的局限性越来越明显,加之大数据应用的驱动,工艺水平的不断提高,存算一体技术重新受到关注,并成为研究热潮。例如,在2017年微处理器顶级年会(Micro2017)上,众多高校和企业都推
出了他们的存算一体芯片或系统原型[13–15],包括苏黎世联邦理工学院、加利福尼亚大学圣巴巴拉分校、英伟达、英特尔、微软、三星等。 2019年,文献[16]提出的SRAM存算一体芯片可实现二值权重的神经网络卷积计算。 2020年,文献[17]展示了一
款ReRAM存算一体芯片,在降低计算延迟的同时大幅提升能效。 2021年,文献[18]提出三值DRAM存算一体架构实现神经网络运算加速。 2022年,文献[19]提出了多芯粒的存算一体集成芯片。文献[20–24]基于SRAM/ReRAM发表了一系列存算一体器件、芯片与系统相关的研究成果。迄今,基于SRAM,DRAM, Flash, ReRAM, PCM, FeFET, MRAM等各类存储介质,涌现出了一系列相关研究工作[25–38],
存算一体芯片研究百花齐放,如图2所示。特别地, 2021-2022年,被誉为芯片领域奥林匹克的顶级国际会议ISSCC收录了存算一体相关论文20余篇,研究单位包括三星、台积电、麻省理工学院、普林斯顿大学、清华大学、北京大学、复旦大学、
中国科学院大学等国际顶尖高校和企业。
虽然基于各类存储介质的存算一体芯片研究百花齐放,但是各自在大规模产业化之前都仍然面临一些问题和挑战。更具体地, SRAM工艺成熟,且
微缩性好;但是属于易失性存储器(掉电数据丢失),且单元面积较大,成本较高,难以通过较低成本实现大规模、大算力存内计算芯片。 DRAM工艺成熟,且单元面积较小;但同属易失性存储
器,需定期刷新,且存在漏电问题,难以实现高精度存内计算芯片,近年来被广泛应用于近存计算。ReRAM属于非易失性存储器,且能够实现大规模交叉点阵列,是未来实现存内计算芯片的潜力介质之一;但是目前的工艺尚不成熟,存储单元的多比特精度较低(低于8 bit),且一致性/鲁棒性较差。PCM属于非易失性存储器,且能够实现大规模交
叉点阵列;但是功耗较大,速度较慢,耐久性较差。 FeFET可实现非易失性存储,且能实现交叉点阵列;但是目前的工艺也尚不成熟。 MRAM是非易失性存储器,具有高耐久性、高速度、低功耗等优点,工艺相对较成熟,扩展性较好,但是器件的阻值(约几千欧姆)与高低阻值比率(约250%)相对较小,在实现多比特存内计算芯片方面具有一定挑战。 Flash是非易失性存储器,掉电数据不丢失,且工艺成熟,成本低,已实现量产芯片(如Mythic的M1076,知存科技的WTM2101),但在微缩性方面存在一定挑战;幸运的是,随着2.5D/3D先进封装技术的快速发展,可以实现与先进逻辑工艺的兼容集成。综上,基于不同存储器介质的存算一体芯片之间的性能比较如表1所示。
存算一体技术在产业界的进展同样十分迅速,
国内外多家企业在积极研发,例如我国台湾的台积电,韩国三星、日本东芝、美国Mythic,国内的知存科技等。但是当前最接近产业化的主要是台积电、 Mythic和知存科技。从2019年至今,台积电得益于其强大的工艺能力,已基于SRAM与ReRAM发表了一系列存算一体芯片研究成果[40,41],具备量产代工能力。 Mythic已于2021年推出基于NOR Flash
的存内计算量产芯片M1076,可支持80 MB神经网络权重,单个芯片算力达到25 TOPS,主要面向边缘侧智能场景。知存科技于2021年推出基于NOR Flash的存内计算SoC芯片WTM2101,其算力比市场同类芯片高出两个数量级,功耗低于1 mW,主要面向端侧低功耗、低成本应用场景。
存内计算芯片研究现状
由于计算范式和存储介质的不同,存内计算芯片可以有不同的分类方法。根据计算范式的不同,主要分为模拟式和数字式两种。模拟式存内计算是指存储单元内部或阵列周边的信号以模拟信号的方式进行操作,数字式存内计算是指在实际运算过程中,存储单元内部或阵列周边的信号以数字信号的方式进行操作。其中,诸多的研究工作同时包含了
模拟和数字两种运算方式。同时,根据存储介质的不同,存内计算芯片可分为基于传统存储器和基于新型非易失性存储器两种。传统存储器包括SRAM,DRAM和Flash等;新型非易失性存储器包括ReRAM,PCM, FeFET, MRAM等。其中,距离产业化较近的是基于NOR Flash和基于SRAM的存内计算芯片。
SRAM存内计算
基于SRAM的存内计算芯片以典型的6T(6-Transistor)基本单元为基础,如图3(a)所示。由于SRAM是二值存储器,二值乘累加运算等效于同或累加运算,可以用于二值神经网络运算,其核心思想是网络权重存储于SRAM单元中,激励信号从字线给入,最终利用外围电路实现同或累加运算,结果通过计数器或模拟电流/电压输出。如果要实现
多比特精度运算,通常需要多个单元进行拼接,这不可避免地会带来面积开销。对6T基本单元的一个简单修改是将字线进行拆分,如图3(b)所示。此外,为了解决读写干扰问题,可以采用8T基本单元,但明显增加了布局面积,如图3(c)所示。基于SRAM
的存内计算技术由于其工艺成熟度与良好的微缩性,受到业界的高度关注,近几年的ISSCC会议上连续报道了多篇相关论文。例如2021年,存内计算共有两个分论坛,共收录8篇论文,其中5篇是SRAM存内计算芯片。在2022年的ISSCC中,北京大学提出了一种基于动态逻辑且无模数转换器的SRAM存内计算芯片[42]。 SRAM存内计算技术的主
要应用难点是在保证运算精度的前提下,实现高算力和小面积。
DRAM存内计算
基于DRAM的存内计算芯片层次结构可分为阵列、子阵列和单元,一组阵列由若干子阵列和用于读写操作的相关外围电路组成,而子阵列则包含若干行1T1C(1-Transistor-1-Capacitor)单元、感知放大器和本地解码器。其基本原理是利用DRAM单元之间的电荷共享机制[13,43]。如图4所示为一种典型实现方案[43],当多行单元同时被选通时,不同单元之间因为存储数据的不同会产生电荷交换共享,从而实现逻辑运算。 DRAM存内计算方案的主要难点有二:一是其本身为易失性存储器,计算操作
会破坏数据,需要每次运算后进行刷新,带来功耗问题;二是实现大阵列运算时难以保证运算精度。
ReRAM/PCM存内计算
ReRAM/PCM存内计算的基本原理是利用存储单元的模拟多比特特性,通过基于电流/电压的欧姆定律与基尔霍夫定律进行矩阵乘加运算,主要有1T1R (1-transistor-1-resistance)结构和交叉阵列结构两种实现方案,如图5(a)和图5(b)所示。 ReRAM能够实现大规模交叉点阵列,使其成为学术界的热点研究方向。自2008年ReRAM首次实验发现以来,基于ReRAM的存内计算研究就层出不穷。
尤其2020年,清华大学研发出基于多个ReRAM阵列的存内计算系统,该系统在手写数字集上的识别准确率达到96.19%,与软件的识别准确率相当,证明了存内计算架构全硬件实现的可行性,其测试芯片如图5(c)所示[24]。 ReRAM存内计算技术未来具有
非常大的应用潜力,目前的主要难点在于工艺尚不太成熟,多比特精度实现较困难,一致性/鲁棒性较差。
MRAM存内计算
MRAM存内计算主要有两种技术方案: (1) 基于读/写操作的数字式存内计算; (2) 基于基尔霍夫电流定律和欧姆定律的模拟式存内计算。早期的MRAM存内计算大多基于数字式方案,如2015年日本东北大学提出基于读操作实现多种布尔逻辑并流片验证,获得了48.3%的能效提升[44]; 2019年,北京航空航天大学提出基于单次写操作的数字式MRAM存内计算方案,实现计算结果原位存储的同时降低了延时和功耗 [45–47]。基于MRAM的模拟式存内计算的难点在于器件的阻值(约几千欧姆)与高低阻值比率(约250%)相对较小,难以实现多比特精度。近年来,得益于计算范式、器件、电路的多层次创新突破, MRAM模拟存内计算发展迅速。 2021年,美国普林斯顿大学通过电路级优化,流片验证了第一款基于STT-MRAM的模拟存内计算硬核[ 4 8 ];2022年,韩国三星公司在Nature期刊上发表了基于电阻累加方案的MRAM模拟存内计算芯片原型,并实现了最高405 TOPS/W的能效比[49],其阵列的布局图、显微图和结构如图6所示。
NOR Flash存内计算
基于NOR Flash的存内计算技术原理与ReRAM类似,如图7(a)所示。目前, NOR Flash存内计算芯片技术相对较成熟,已于2021年实现量产。美国的Mythic和国内的知存科技都已推出NOR Flash存内计算芯片产品,其中, Mythic推出了M1076芯片(如图7(b)所示),知存科技推出了WTM2101量产SoC芯片(如图7(c)所示)。
基于其他介质的存内计算
此外,学术界还发表了基于NAND Flash以及新型纳米器件(如FeFET、斯格明子等)的存内计算相关工作,其基本原理与上述方案类似,但是目前仅仅是概念阶段,这里不再详述。
存内计算芯片应用现状:以WTM2101
为例
随着万物互联的不断发展,智能设备主要包括3类:云端、边缘端和终端。云端设备的要求主要是高算力、大吞吐量、高可靠性,当前的存内计算进展还难以满足需求。边缘端设备,如安防、自动驾驶等,对算力、时延、功耗、安全性等具有相对综合的需求;终端设备则主要关注功耗、成本和隐私。目前存内计算芯片应用方面尚处于起步阶段,
本节以知存科技推出的量产SoC芯片WTM2101为例,讨论其在边缘端和终端的应用,侧重于语音场景的介绍,同时介绍其核心电路与芯片架构、性能与应用场景。
核心电路与芯片架构
在NOR Flash存内计算芯片当中,向量-矩阵乘法运算基于电流/电压的跨导与基尔霍夫定律进行物理实现,如图7(a)所示。因此,其核心是设计NOR Flash单元阵列以满足大规模高能效向量-矩阵乘法运算。同时,在核心电路的基础上,根据算法特征设计芯片架构,以充分利用神经网络数据流式的特点来实现芯片的并行化与流水线。在传统NOR Flash阵列中,对某一个特定器件编程会不可避免地改变同一行上其他器件的状态,称为行干扰。作为存内计算应用, NOR Flash编程需要逐个器件进行单独操作,每个器件存储8 bit(256个量化状态)以上的信息,微小的干扰就将导致状态的变化。因此,需要抗编程干扰阵列结构来消除编程干扰。除此之外, NOR Flash基于浮栅中电子的数量
来存储信息,随着时间的增加,电子会泄露,造成阈值电压漂移。作为存储应用的NOR Flash器件通常只保存1~2 bit信息(对应2~4个不同状态),状态之间的裕量比较大,不用特殊设计即可保存信息10年以上。但在存内计算应用中, NOR Flash器件需要存储8 bit(256个不同状态)以上信息,状态之间的裕量非常小,且通过整个阵列同时工作。因此,阈值电压漂移的影响非常大。 WTM2101通过特殊的电路设计抑制阈值电压漂移对计算精度的影响。此外,为了同时实现低功耗计算与低功耗控制, WTM2101结合了RISC-V指令集与NOR Flash存内计算阵列,其阵列结构与芯片架构如图8所示,包括1.8 MB NOR Flash存内计算阵列,一个RISC-V核,一个数字计算加速器组, 320 kB
RAM以及多种外设接口。
性能与应用场景
WTM2101基于40 nm工艺进行流片,单个NOR Flash 器件能够存储8 bit权重,因此可以进行8 bit精度的矩阵乘加运算。如图9所示为输入信号与输出电流之间的关系,单元和芯片均呈现良好的线性关系。 WTM2101具有4大优势特点: (1)基于存内计算架构,可高效地实现神经网络语音激活检测和上百条语音命令词识别。 (2)以超低功耗实现神经网络环境降噪算法、健康监测与分析算法。(3)典型应用场景下,工作功耗均在微瓦级别。(4)采用极小封装尺寸。基于以上优势特点, WTM2101 可应用于智能可穿戴设备、智能家居、安防监控、玩具机器人等;适应多种应用,如语音识别、语音降噪/增强、轻量级视觉识别、健康监测和声纹识别等。如图10所示为搭载WTM2101的耳机产品及
其自动化部署流程。如图11所示为基于WTM2101的耳机降噪前后效果的波形和频谱对比。如表2所示为部署在WTM2101的神经网络的各层累计余弦相似度(指存内计算相对于8-bit量化计算的余弦相似度),可以看到经过8层神经网络计算,余弦相似度依旧保持在0.99以上。如表3所示为WTM2101在语音激活检测、语音唤醒、命令词识别、环境去噪和声纹识别方面与市场同类产品的对比。
存内计算芯片的应用前景与挑战
存内计算芯片技术,因其高算力、低功耗、低成本等优势,未来可为物联网、大数据和人工智能等具有海量数据特征的智能应用场景提供高能效硬件解决方案。但要实现大规模产业化仍存在诸多挑战: (1)模拟计算精度提升困难,模拟存内计算的精度受到信噪比的影响,很难做到8 以上。数字存内计算则不受信噪比的影响,但其能效、面积和成
本需要综合权衡。近年来,通过数模混合的设计方式,可以在精度、成本与功耗之间得到很好的折中,是存内计算发展的一大重要方向。 (2)工具链环节需更加完善以建立良好的生态:存内计算芯片产业化处于起步阶段,目前面临相关工具链支持不足的问题,导致算法/应用厂商移植困难。随着存内计算技术的快速发展,以及企业在这个技术领域持续加大投入,相应的编译、优化等工具链可以快速进步,有望建立初步的应用生态。 (3)跨层协同设计需进一步加强:存内计算芯片涉及器件-芯片-工艺-算法-应用等多层次的跨层协同,各层环环相扣,密不可分,需要跨层协同来实现性能(精度、功耗、时延、可靠性等)与成本的最优。