PCM存内计算电导漂移难题:差分权重与弱复位编程的硬件算法协同解决方案

PCM存内计算电导漂移难题:差分权重与弱复位编程的硬件算法协同解决方案 1. 项目概述与核心挑战在边缘计算和物联网设备中运行复杂的人工智能模型对能效和实时性提出了严苛要求。传统的冯·诺依曼架构中处理器和存储器分离大量的数据搬运成为功耗和速度的瓶颈。存内计算In-Memory Computing, IMC作为一种颠覆性的计算范式直接将计算单元嵌入到存储器阵列中通过模拟方式执行如矩阵向量乘法MVM等核心运算有望将能效提升数个数量级。相变存储器Phase Change Memory, PCM因其非易失性、高密度、良好的可扩展性以及与CMOS工艺的兼容性被视为实现模拟存内计算的理想候选者之一。然而将PCM用于高精度模拟计算并非易事。一个长期困扰业界的核心难题是“电导漂移”Conductance Drift。简单来说即使你将一个PCM单元编程到某个特定的电导值用以代表一个神经网络权重这个值也会随着时间的推移尤其是在温度变化下发生缓慢但不可忽视的偏移。想象一下你精心校准的天平其刻度会自己悄悄移动这无疑会彻底破坏测量的准确性。在基于PCM的存内计算中这种漂移直接导致存储的权重值失真进而使得整个神经网络的推理精度急剧下降。更棘手的是为了提升存储密度和权重精度我们通常使用多级存储单元MLC让一个PCM单元能表示多个离散的电导状态。但漂移现象在MLC中表现得更为复杂和显著严重制约了PCM-IMC系统的长期可靠性和实用性。因此我们这项工作的核心目标非常明确设计并验证一套硬件与算法协同的方案来对抗乃至消除PCM电导漂移对存内计算精度的影响。我们不仅要让PCM阵列在刚编程后能精确计算更要确保它在经历长时间存储、高温环境例如汽车电子所需的125°C甚至150°C高温后依然能保持稳定的计算性能。这不仅仅是学术上的探索更是PCM-IMC技术走向实际应用必须跨越的一道鸿沟。2. 技术原理深度剖析从漂移根源到补偿逻辑要解决问题必须先透彻理解问题本身。PCM的漂移并非随机噪声其背后有深刻的物理机制。2.1 PCM电导漂移的物理本质PCM利用硫族化合物材料如GeSbTe GST在晶态低阻高电导和非晶态高阻低电导之间的可逆相变来存储数据。在存内计算中我们通过精细的编程让GST材料处于晶态与非晶态的混合状态从而获得一系列中间阻值电导值即MLC状态。对于富锗Ge-richGST材料虽然它提供了优异的高温数据保持能力满足汽车级可靠性要求但其“置位”Set状态即晶态主导的高电导状态的漂移问题尤为突出。这种漂移源于非晶相的结构弛豫。即使在以晶相为主的MLC状态中晶粒边界处仍然存在残留的非晶区域。这些非晶区域的原子会随着时间缓慢地调整位置趋向于更稳定的结构导致其电阻率增加宏观上就表现为整个单元的电导随时间对数下降。注意这里存在一个关键认知点。漂移不是“错误”而是一种材料固有的物理弛豫过程。因此我们的目标不是阻止它发生这极其困难而是测量它、表征它并在系统层面进行补偿。2.2 差分补偿方案的核心思想传统的思路是试图精确控制每一个单元的绝对电导值并希望它不变。但这在与材料物理本质的对抗中往往收效甚微。我们转换思路提出了差分权重方案。其核心思想借鉴了模拟电路中的“差分放大”概念如果我们无法消除共模噪声那就设计一个对共模噪声不敏感的电路。具体到PCM-IMC一个权重由两个PCM单元表示我们不再用一个PCM单元的电导G直接代表一个权重W。而是用两个单元的电导差来定义权重W G - G-。其中G和G-是两个独立的PCM单元的电导。利用漂移的共模特性实验发现如图4图5所示在一定的电导范围内例如40-80 µS不同MLC状态的电导随时间漂移的下降量ΔG几乎是相同的与初始电导值无关。即G(t) G(0) ΔG(t)G-(t) G-(0) ΔG(t) 且ΔG(t) ≈ ΔG-(t)。实现漂移抵消将上述关系代入权重公式W(t) G(t) - G-(t) [G(0) ΔG(t)] - [G-(0) ΔG(t)] G(0) - G-(0) W(0)。可以看到时间的函数ΔG(t)在相减时被完美抵消了。只要两个配对单元经历的漂移环境温度、时间一致它们的漂移量就高度相关差分后权重值就能保持稳定。这个方案的巧妙之处在于它将对抗材料物理特性的难题转化为了一个电路和架构设计问题。只要我们能保证配对的单元在物理上靠近处于相同的温度梯度下并使用相同的编程算法它们就会经历几乎相同的漂移从而被差分操作抵消。2.3 弱复位编程算法提升精度之钥差分方案解决了漂移问题但前提是初始的G和G-要被精确地编程到目标值。PCM的多级编程本身就是一个挑战。传统的“全复位-渐进置位”算法在接近目标电导时常因阈值开关或非晶/晶相区域的突变导致电导发生不可预测的跳跃如图2(a)所示这引入了很大的编程误差。为此我们提出了一种从弱复位状态出发的渐进置位算法全置位首先将单元完全置为晶态低阻建立一个稳定的起始点。弱复位施加一个下降沿较缓的复位脉冲并非将单元完全打回高阻非晶态而是将其编程到一个略低于目标电导G_target的中间状态。这个状态是部分非晶的。渐进置位从这个“弱复位”状态开始施加一系列幅度递增的置位脉冲。由于起始点离目标值很近且材料处于一个更“温和”的状态电导的增长变得平滑、可控避免了最终时刻的随机跳跃如图2(b)所示。实测表明采用弱复位起点的编程算法其电导分布的标准差σ_G从全复位起点的4.68 µS降低到了1.85 µS目标电导50 µS时编程精度提升了一倍以上。这为后续实现高精度的差分权重奠定了坚实基础。3. 硬件实现与实验验证理论再完美也需要硬件实测来验证。我们在一个90nm CMOS工艺集成的20kb PCM测试芯片上完成了全部实验。3.1 测试芯片与阵列结构芯片采用标准的1T1R一个晶体管一个电阻结构。每个PCM单元由一个选择晶体管和一个Ge-rich GST基的PCM器件串联构成。阵列包含4个块Tile每块有128条字线WL和40条位线BL总计20,480个单元。这种结构支持两种操作模式单单元寻址模式用于对每个PCM单元进行独立的编程、验证和读取以表征其电导特性。存内计算模式用于执行矩阵向量乘法。如图1(c)和图7所示将二进制输入向量X施加在字线上激活相应的选择管权重矩阵W以差分形式映射到相邻的位线对上G和G-。同一列BL上所有被激活单元的电流会求和形成输出电流I和I-。这两个电流在数字域进行减法运算最终得到模拟乘加结果I_out I - I- V_TE * Σ (X_i * W_ij)。3.2 实验流程与结果分析我们的验证是系统且严苛的MLC编程与表征首先使用前述的弱复位编程算法在40-80 µS范围内编程出16个均匀间隔的MLC状态对应4比特权重精度。图3(a)的彩色映射图直观展示了阵列中编程后电导值的均匀分布。加速漂移测试为了模拟长期使用和恶劣环境我们对编程后的阵列进行了加速老化测试。不仅让其在室温下静置30天还进行了阶梯式的高温退火分别在60°C、90°C、120°C和150°C下各保持1天。这相当于极大地加速了材料的漂移过程。差分权重稳定性验证如图6所示我们提取了差分权重W G - G-的统计特性。结果令人振奋尽管单个单元的电导G随着退火温度升高而显著下降图5a但差分权重W的中值几乎保持不变其线性度在经历150°C退火后依然完好。这直接证明了差分方案对共模漂移的补偿能力。存内计算精度测试最后也是最关键的我们在阵列上实际运行了矩阵向量乘法。我们向字线施加了不同密度的二进制输入向量并测量了位线输出电流。图8(a)的相关性图显示即使在最严苛的150°C退火条件后实测电流I与基于目标权重计算的理想电流I_ideal仍然保持着高度的线性关系没有明显的精度退化。精度量化我们计算了MVM运算的归一化误差分布图8b。即使在150°C退火后误差的标准差σ_ε也仅为1.95%。这对应的等效计算精度超过5比特图8c。对于边缘侧的神经网络推理如关键字检测、视觉唤醒词等5-6比特的权重精度通常已经足够这意味着我们的方案使得PCM-IMC在满足汽车级可靠性要求后依然能保持可用的计算精度。3.3 实操心得与关键参数选择在实际实现中有几个关键点需要仔细权衡配对单元的位置为了确保差分对经历相同的漂移G和G-单元应尽可能在物理上靠近最好位于同一列BL相邻的行WL以最小化工艺梯度、温度梯度和电源噪声的影响。电导工作区间的选择实验表明在40-80 µS的较高电导区间漂移量ΔG表现出良好的状态无关性图5a。这是差分补偿生效的前提。虽然选择更高电导会牺牲一些能效因为电流更大但换来了对漂移的鲁棒性。这是一个典型的“可靠性 vs. 能效”的折衷。“零权重”的实现对于权重W0我们不能简单地取G G-比如都编程到50 µS因为任何微小的不匹配都会导致非零的静态电流。我们的做法是将差分对的两个单元都编程到“全复位”状态电导接近0。这样即使有漂移两者的电导都接近0其差值也依然接近0。验证策略在编程和定期校准中需要测量的是差分对的电导差W而不是单个单元的绝对电导值。这简化了验证逻辑降低了对绝对精度ADC的要求。4. 误差源分解与系统级设计启示差分补偿解决了漂移带来的系统性偏差但计算精度还受到其他因素的制约。我们需要像木桶理论一样找出最短的那块板。图10的分析清晰地揭示了各种误差源的影响。4.1 三大误差源剖析权重量化误差 (ε_quant)这是由数字权重映射到有限的PCM电导状态时产生的固有误差。如果我们将权重范围量化为N个等级那么每个等级对应的最小步长LSB就决定了量化误差的幅度。误差服从均匀分布其标准差σ_quant LSB / √12。量化误差是确定性的可以通过增加量化比特数N来降低。随机编程变异 (ε_var)即使采用弱复位算法PCM单元的编程过程仍存在固有的随机性导致同一目标电导下的实际电导值呈高斯分布图6b。这种变异在差分权重中表现为σ_W。这是一种随机噪声无法通过校准完全消除是PCM器件本身的物理限制。残余漂移误差 (ε_drift)理想情况下差分补偿能完全抵消漂移。但实际上配对单元的漂移不可能100%一致会存在微小失配。不过如图6(a)所示在我们的方案中这项误差远小于随机变异误差。4.2 对神经网络映射与训练的启示图10(b)的分解图给出了一个至关重要的结论在PCM-IMC系统中当量化精度达到一定水平例如4比特后限制系统整体精度的主要因素不再是量化误差而是器件固有的随机变异 (σ_W)。这直接影响了我们如何为这样的硬件设计神经网络硬件感知训练Hardware-Aware Training, HAT至关重要传统的量化感知训练QAT主要关注模拟量化噪声但我们的研究表明随机变异噪声是更主导的误差源。因此训练算法必须在训练过程中就注入与PCM变异特性相似的噪声让网络模型学会容忍这种随机扰动从而在真实的硬件上获得更高的鲁棒性。量化比特数的选择盲目追求更高的权重比特数如8比特对于PCM-IMC可能是徒劳的。因为当量化步长远小于器件变异的幅度时增加比特数对提升最终计算精度收效甚微反而会增加编程复杂度和时间。我们的实验表明对于本工作中变异水平约5 µS的PCM器件4比特权重量化是一个甜点它在量化误差和变异噪声之间取得了良好平衡。系统级误差建模设计IMC加速器时必须建立包含量化、变异、漂移残余误差、IR压降、温度系数等非理想特性的器件与电路联合模型。利用这个模型可以在芯片设计前期就预测系统的精度上限并指导神经网络架构的搜索与训练策略的制定。5. 总结与展望通过这项研究我们成功地将一个阻碍PCM存内计算实用化的关键问题——电导漂移转化为一个可通过电路架构巧妙解决的问题。“弱复位编程”与“差分权重”的组合拳在20kb的测试芯片上经受住了高达150°C的高温考验将矩阵向量乘法的等效精度稳定在5比特以上。这项工作更深远的意义在于它为我们指明了PCM-IMC乃至其他非易失性存储器IMC技术走向实用的工程化路径接受器件的非理想性与其幻想找到一种绝对稳定不变的材料不如在算法和架构层面设计出能够容忍、补偿这些非理想性的方案。跨层协同优化硬件特性如漂移、变异必须向上传递成为神经网络模型设计和训练算法的一部分。硬件设计者与算法研究者需要更紧密地合作。面向应用的精度定义对于不同的边缘AI应用如语音、图像、传感器信号处理所需的计算精度是不同的。我们的工作提供了在给定器件变异水平下所能达到的精度上限的分析方法有助于为特定应用定制最经济高效的硬件方案。当然前路仍有挑战。例如如何将这套方案扩展到更大规模的阵列应对更复杂的布线寄生效应如何设计更智能的在线校准电路以应对差分对之间可能出现的长期失配以及如何将这套模拟存内计算核心与数字逻辑更高效地集成构成完整的SoC。但无论如何这项研究为高可靠、可用于严苛环境的PCM存内计算加速器点亮了一盏切实可行的指路明灯。