1. 项目概述与核心挑战在硬件神经网络的实现道路上存内计算CIM架构因其能效比优势备受瞩目而基于忆阻器RRAM的交叉阵列则是实现CIM的理想物理载体之一。然而当我们试图将复杂的计算任务比如下一代储层计算NGRC映射到这些物理器件上时一个看似微小却影响深远的物理效应——短时弛豫效应STRE——就成了横亘在理想与现实之间的关键障碍。简单来说你可以把RRAM想象成一个可以“记住”电阻值的微型开关。我们通过电脉冲让它“写入”一个高电阻或低电阻状态代表不同的数据。但在写入操作结束后的极短时间内通常是毫秒到秒量级这个电阻值并不会完全稳定下来而是会像一根被拉伸后缓慢回弹的橡皮筋发生一个微小的、非期望的漂移。这个漂移就是STRE。其物理根源在于构成导电细丝的氧空位等缺陷在电场移除后发生的热力学驰豫和重新分布。在传统的单一误差容限SEM方案中我们用一个统一的“容错阈值”来管理整个流程在写入电阻映射阶段我们要求器件的电阻必须落在目标值附近的一个容差带内才算成功在后续的读取特征向量计算阶段我们同样用这个容差带来判断读取到的电阻值代表“0”还是“1”。问题在于STRE使得这两个阶段对容差的要求产生了根本性矛盾。为了确保写入的精度我们希望容差带尽可能窄让每个电阻值都精确对准目标。但为了对抗STRE带来的读取漂移我们又希望容差带足够宽以包容这种漂移避免误判。这个“鱼与熊掌不可兼得”的困境直接限制了基于RRAM的NGRC系统的最终精度。本文要探讨的正是我们团队针对这一核心矛盾所提出的一种简洁而高效的工程解决方案双误差容限DEM方案。这个方案的核心思想是“分而治之”为电阻映射和特征向量计算这两个阶段分别设置独立且优化的误差容限。我们不再追求一个“万能”的单一阈值而是允许系统在“写入时精益求精读取时宽容大度”。实验证明这一策略无需改动硬件电路或底层算法仅通过操作策略的优化就能在MNIST手写数字识别任务上将系统准确率从87.4%显著提升至93.7%。对于从事存算一体、边缘AI硬件加速器设计或对新型计算器件可靠性感兴趣的工程师和研究者而言理解并应用这一方案是迈向高精度、高可靠RRAM计算系统的关键一步。2. 核心原理从单一容限到双容限的范式转变要理解DEM方案为何有效我们必须先深入拆解NGRC中特征向量生成的完整流程以及STRE在其中扮演的“破坏者”角色。2.1 NGRC特征向量生成与RRAM的角色NGRC的核心创新在于其特征向量的构造方式。它摒弃了传统储层计算中复杂的物理非线性节点转而通过数学构造的方式生成特征向量。这个过程主要分为两步线性特征向量构建将当前时刻的输入与过去若干个等间隔时刻的输入进行拼接。例如公式O_lin,t X_t ⊕ X_{t-s} ⊕ ... ⊕ X_{t-(k-1)s}描述的就是这一过程。这本质上是在时间维度上构建了一个延迟线捕捉输入信号的短期历史信息。非线性特征向量构建对上述线性特征向量进行非线性变换通常采用多项式展开如克罗内克积的方式生成高阶非线性项如O_nonlin,t O_lin,t ⌈⊗⌉ O_lin,t。这为系统提供了强大的非线性拟合能力。最终线性部分、非线性部分和一个常数偏置项共同组成了总的特征向量O_total,t用于后续的读出层权重计算通常通过岭回归完成。RRAM阵列在此流程中的任务就是高效、并行地完成上述特征向量的“计算”。具体来说我们将构造好的特征向量矩阵例如经过处理的MNIST图像数据映射为RRAM交叉阵列中每个忆阻单元的特定电导或电阻值。随后通过施加读取电压并测量阵列的输出电流我们实际上是在执行一次大规模的矩阵-向量乘法运算从而一次性生成整个特征向量。这种模拟存内计算的方式正是其能效远超传统数字架构的关键。2.2 短时弛豫效应精度杀手的内在机理STRE是阻变存储器的一种本征特性。在RRAM从高阻态HRS切换到低阻态LRS或反之的编程操作后导电细丝CF的微观结构并未瞬间达到完全稳定的热力学平衡状态。细丝中的氧空位、金属离子等缺陷会在热扰动下发生微小的扩散、重组或湮灭。这个过程导致器件的电阻在编程后的短时间内通常是1秒以内发生弛豫主要表现为HRS电阻的轻微下降和LRS电阻的轻微上升其中HRS的变化通常更为显著。从系统层面看STRE带来了一个致命问题时间依赖性的状态模糊。我们在t0时刻精心编程写入的电阻值R(t0)在t1时刻执行特征向量计算时已经变成了R(t1) R(t0) ΔR_relax。如果读取判决的参考阈值仍然是基于R(t0)设定的那么ΔR_relax就可能导致误判——原本是HRS的单元因为电阻下降而被读成了LRS或者反之。2.3 单一误差容限方案的局限性分析传统的SEM方案试图用一个固定的容差带来解决所有问题。如图4所示我们设定一个目标电阻R_target例如HRS为300kΩ和一个误差容限EM。在映射阶段只要器件的实测电阻R_prog满足R_prog ≥ R_target - EM即认为映射成功。在计算阶段读取电阻R_read若满足R_read ≥ R_target - EM则判为HRS逻辑‘0’否则判为LRS逻辑‘1’。这里的矛盾显而易见对映射阶段而言EM越小意味着编程精度要求越高写入的电阻分布越集中、越接近理想值这有利于在初始时刻获得清晰的状态区分度即HRS和LRS的电阻间隔大。对计算阶段而言由于STRE的存在R_read会偏离R_prog。EM越大系统对STRE引起的漂移ΔR_relax的容忍度就越高越不容易因漂移而产生读取错误。图4的实验数据清晰地展示了这个矛盾。当EM0时图4d初始电阻间隔很大但系统对任何漂移都零容忍。当EM增大到100kΩ时图4a虽然容错性增强但过宽的容差带导致HRS和LRS的电阻分布在初始时刻就大量重叠引入了固有的映射模糊性结果同样是灾难性的高错误率。因此SEM方案迫使我们在“初始映射精度”和“后期读取容错”之间做一个痛苦的折中而这个折中点往往无法让两者同时达到最优。注意这里存在一个常见的误解认为增大EM总是能提高容错性。实际上过大的EM会直接劣化映射阶段的“信噪比”引入源头性错误。DEM方案的成功正是源于打破了这种必须共用同一参数的思维定式。2.4 双误差容限方案的设计哲学DEM方案的核心创新在于认识到电阻映射和特征向量计算是两个不同性质的任务理应使用不同的优化指标。映射阶段的目标是“精准定位”我们希望每个存储单元被编程到一个尽可能接近理想值的电阻状态为后续计算打下清晰、低噪声的基础。因此我们为这个阶段设置一个较小的误差容限margin_A。margin_A的主要作用是过滤掉那些编程特性特别差、初始偏差过大的 outlier 单元确保写入阵列的电阻分布集中且理想。计算阶段的目标是“稳健判决”在读取时我们需要面对的是经过STRE“污染”后的电阻值。此时我们的目标不是追溯原始编程值而是根据当前的实际电阻值做出最可靠的“0/1”状态判决。因此我们为这个阶段设置一个独立且通常更大的误差容限margin_B。margin_B的设定需要充分考虑STRE漂移量ΔR_relax的统计分布其目标是最大化地区分经过弛豫后的HRS和LRS群体即使它们的绝对电阻值已经与其原始目标值有所偏离。更重要的是DEM方案巧妙地利用了STRE的一个不对称特性LRS的弛豫幅度通常远小于HRS。这意味着LRS的电阻在弛豫后仍然相对稳定地聚集在低阻区域。因此在计算阶段我们可以将读取判决的参考点依然固定在LRS的目标电阻R_L(target)附近而主要利用margin_B来宽容地处理HRS群体因弛豫而产生的电阻下降。这种策略在不过度牺牲LRS判决精度的前提下大幅提升了对HRS弛豫的鲁棒性。3. 双误差容限方案的实现与参数优化DEM方案在概念上简洁优美但其工程实效性高度依赖于两个关键参数margin_A和margin_B的合理选择。本节将结合我们的实验数据详细拆解参数优化的具体过程和背后的考量。3.1 实验平台与评估流程我们的验证基于一块定制设计的测试板其上搭载了采用标准1T1R结构的RRAM芯片。使用ADVANTEST V93K SoC测试机进行精确的编程和测量。评估任务选用经典的MNIST手写数字识别数据集处理流程如图3所示原始28x28图像先被下采样至14x14然后通过组合相邻列像素信息构建13x28的线性特征向量矩阵该矩阵被映射到RRAM阵列中。随后通过对阵列执行读操作来生成非线性特征向量最终合并所有特征并乘以读出层权重矩阵得到分类结果。这一流程完美复现了NGRC在RRAM硬件上的完整计算链使我们能够精确量化从电阻映射误差到最终系统识别准确率的整个影响路径。3.2 映射容限margin_A的选取追求初始纯净度margin_A的优化目标非常明确在保证足够编程良率的前提下尽可能缩小初始电阻分布的离散度。下限margin_A不能过小。RRAM器件本身存在固有的编程波动性过小的margin_A会导致大量单元无法在有限次编程尝试内达到要求大幅降低映射成功率和阵列利用率甚至可能因反复编程而加剧器件疲劳。上限margin_A不能过大。如图4所示过大的margin_A会允许初始电阻值偏离目标值过远导致HRS和LRS分布在编程完成后就存在重叠区域这种“先天不足”是后续任何读取策略都无法弥补的。在我们的实验中通过对不同margin_A下编程后阵列的电阻分布进行统计分析我们发现将margin_A设置在3-5 kΩ对于目标HRS为300kΩ的情况是一个较好的平衡点。这个值足以过滤掉编程特性最差的少数单元又能确保绝大多数单元被精确地写入到各自的目标状态附近为系统提供了一个高“初始信噪比”的起点。3.3 计算容限margin_B的优化在弛豫与噪声间走钢丝margin_B的优化是DEM方案的精髓也是最富挑战性的部分。其决策面临着双重约束既要覆盖STRE引起的系统性漂移又要避免与随机噪声导致的电阻波动发生混淆。我们的优化过程如图5(b)所示固定一个较小的margin_A如3kΩ然后系统性地扫描margin_B的取值并观察特征向量生成错误率的变化。曲线呈现出一个清晰的“浴盆”形状上升期margin_B过小当margin_B小于STRE的典型漂移量时大量因弛豫而电阻下降的HRS单元会被误判为LRS错误率居高不下。下降期随着margin_B增大系统能够容纳越来越多的弛豫漂移正确识别出这些“漂移了的HRS”错误率迅速下降。最低点最优区间错误率到达一个最低平台。此时margin_B足够覆盖绝大部分STRE漂移同时又尚未宽到将随机噪声引起的电阻波动可能使个别LRS单元电阻瞬时变高误纳入HRS范围。再次上升期margin_B过大当margin_B继续增大超过某个临界点后容限带变得过宽。此时不仅STRE漂移被覆盖一些原本属于LRS、但因随机电报噪声RTN或其他随机波动导致电阻瞬时升高的单元也开始被错误地归类为HRS。这种“过补偿”导致了错误率的反弹。在我们的器件和实验条件下对于margin_A3kΩmargin_B的最优值大约在15kΩ附近。图6(b)的MNIST识别准确率曲线与图5(b)的错误率曲线高度吻合验证了特征向量错误率与最终系统性能的直接相关性。实操心得margin_B的最优值并非固定不变它与RRAM器件的材料、结构、操作电压乃至环境温度都密切相关。在实际应用中建议在芯片上电或定期校准阶段通过一个简短的诊断流程例如对少量测试单元进行编程-延时-读取操作来统计STRE漂移的分布从而动态地确定或微调margin_B的值。这种自适应策略能更好地应对器件工艺波动和老化效应。3.4 DEM方案的操作流程与开销分析DEM方案的具体操作流程如图5(a)所示其优雅之处在于对现有硬件和算法流程的“零侵入”电阻映射阶段使用严格的margin_A对RRAM阵列进行编程和验证。只有满足R_prog ≥ R_target - margin_A的单元才被确认映射成功。特征向量计算阶段在需要读取阵列进行计算时使用宽松的margin_B作为判决阈值。即若R_read ≥ R_ref其中R_ref是根据margin_B调整后的参考值通常仍与LRS目标电阻相关则判为HRS。整个过程中NGRC的算法步骤特征向量构造、岭回归训练没有任何改变。DEM仅仅修改了硬件控制器在“写入验证”和“读取判决”这两个环节所使用的阈值参数。这意味着无额外硬件开销不需要增加任何新的电路模块只需在控制逻辑或固件中存储两套不同的阈值参数。无额外功耗开销编程和读取操作的次数、电压、时序均保持不变。无额外延迟开销不引入任何额外的操作步骤或计算周期。DEM方案的本质是一种极其高效的“软件定义”或“策略定义”的可靠性提升方法它通过更智能地利用现有硬件接口挖掘出了被传统单一策略所掩盖的性能潜力。4. 性能验证与结果分析理论分析和参数优化最终需要靠硬性的性能指标来验证。我们在MNIST数据集上对SEM和DEM方案进行了全面的对比测试结果充分证明了DEM的有效性。4.1 准确率与错误率的显著提升如图6(a)所示我们对比了两种方案SEM方案采用一个折中的EM5 kΩ。此时MNIST测试集上的识别准确率为87.4%特征向量生成错误率为1.65%。DEM方案采用优化后的margin_A3 kΩ,margin_B15 kΩ。识别准确率跃升至93.7%特征向量错误率幅降低至0.41%。6.3个百分点的准确率提升对于一项仅通过改变操作策略而获得的改进来说是相当显著的。这直接将系统性能推向了理想软件仿真结果约94%的边界。更重要的是特征向量错误率降低了75%这直接证明了DEM方案在计算的最底层——模拟乘加运算的可靠性上——带来了根本性改善。4.2 鲁棒性分析与泛化讨论DEM方案的优势不仅体现在峰值性能上更体现在其鲁棒性和可泛化性上。对工艺波动的鲁棒性RRAM阵列中不同单元之间的特性差异工艺波动是必然存在的。SEM方案由于使用统一容限对波动最敏感的单元决定了整个系统的容限设置是一种“木桶效应”。DEM方案中margin_A可以过滤掉特性极差的单元而margin_B则能更好地适应不同单元弛豫量的统计分布从而在阵列层面获得更均衡、更稳健的表现。对工作条件的适应性温度、电源电压等环境因素会影响RRAM的弛豫行为。由于DEM方案将计算容限margin_B作为一个可独立调整的参数系统可以更容易地根据当前工作条件进行在线微调或采用查表法进行补偿而无需重新设计整个映射策略。向多值存储的扩展潜力对于追求更高密度、用于多比特存储或模拟计算的RRAM状态间的间隔更小对噪声和弛豫更为敏感。DEM的思想可以进一步扩展为“多级容限”方案为每个电阻状态或状态区间设置独立的写入验证容限和读取判决容限从而为多值RRAM的可靠性设计提供新的思路。4.3 与现有优化策略的对比此前应对STRE的策略大致可分为两类器件级优化通过材料工程如插入热增强层、结构优化或改进操作波形来从物理上抑制弛豫效应。这类方法通常能取得根本性改善但往往涉及复杂的工艺改动或额外的制造步骤成本高且与现有CMOS工艺兼容性需要仔细考量。算法/架构级优化例如在算法中引入弛豫补偿项或采用更复杂的纠错编码。这些方法会增加计算开销或存储开销可能抵消掉CIM在能效上的部分优势。相比之下DEM方案站在系统操作策略的层面它承认并接受了STRE作为器件的本征特性转而通过优化系统级的控制逻辑来规避其负面影响。它不需要改变器件物理也不修改计算算法以一种近乎零成本的方式实现了显著的性能提升。这种“以软治硬”的思路对于追求快速迭代和低成本集成的硬件加速器应用场景具有特别的吸引力。5. 工程实践指南与常见问题排查将DEM方案从论文落地到实际的RRAM-CIM系统设计中需要关注一系列工程细节。以下是一些基于我们实践经验的指南和常见问题的解决方法。5.1 系统集成设计要点阈值参数存储margin_A和margin_B需要作为关键的系统参数进行存储。建议将其存放在非易失性存储器如eFuse、OTP或受保护的系统寄存器中确保上电后可加载。对于需要自适应调整的场景可以预留一个小的SRAM或寄存器空间用于存放运行时调整的值。控制器逻辑更新数字控制器或状态机需要支持两套阈值。在发出编程验证命令时调用margin_A相关的比较逻辑在发出计算读取命令时调用margin_B相关的比较逻辑。这通常意味着在指令集或控制流程中增加一个用于区分“映射模式”和“计算模式”的标志位。校准流程设计为了获得最优的margin_B可以设计一个上电自检或周期性的后台校准流程。该流程可以选取阵列中少量代表性单元或专用测试单元执行“编程 - 等待典型计算延迟时间 - 读取”的操作统计HRS群体的电阻漂移分布从而动态计算出当前环境下最优的margin_B值。5.2 参数标定流程对于一个新的RRAM芯片或批次建议遵循以下步骤标定DEM参数基础特性测试在典型工作条件下测量大量单元的Set/Reset电压、电阻分布、循环耐久性等基础特性。确定margin_A选择一个初始的R_targetHRS和LRS。以一个较小的margin_A开始尝试对阵列进行编程映射。逐步增大margin_A直到映射成功率成功编程的单元比例达到设计要求如99.9%以上。此时的margin_A即为一个候选值。验证在此margin_A下编程后HRS和LRS的初始电阻分布是否有清晰间隔。如果没有可能需要调整R_target或接受更低的映射成功率。标定margin_B使用上一步确定的margin_A完成阵列映射。等待一个典型的“编程-计算”延迟时间例如根据系统时钟周期确定如10ms。以不同的margin_B为阈值读取阵列并统计误判率可通过与已知的映射图案对比得出。绘制误判率随margin_B变化的曲线类似图5b找到误判率最低点对应的margin_B值。在不同温度、电压条件下重复此过程可以建立margin_B与环境参数的查找表。5.3 常见问题与排查技巧在实际部署中可能会遇到以下问题问题现象可能原因排查思路与解决方案系统准确率提升不明显甚至下降。1.margin_B设置不当可能处于“浴盆曲线”的上升沿。2.margin_A过大导致初始映射质量太差margin_B无法补救。3. 非STRE噪声源如RTN、随机写噪声占主导。1. 重新执行参数标定流程精细扫描margin_B。2. 收紧margin_A牺牲少量映射良率换取更优的初始分布。3. 分析误判单元的类型如果是HRS/LRS混淆侧重STRE和margin_B如果是同一状态内的波动则需排查其他噪声源或考虑结合其他噪声抑制技术。不同芯片或同一芯片不同区域最优margin_B差异很大。RRAM器件固有的工艺波动和局域特性差异。1.全局统一策略采用一个相对保守的、能覆盖最坏情况的margin_B牺牲部分性能换取稳定性。2.分区调参策略将大阵列划分为若干子块为每个子块独立标定和存储margin_B值。这需要额外的存储开销但能最大化性能。在高温或长时间工作后准确率逐渐下降。STRE的弛豫幅度或速度可能随温度升高或器件老化而改变。1. 引入温度传感器根据温度实时调整margin_B通过预存的查找表。2. 设计周期性的后台校准流程在系统空闲时重新标定margin_B以跟踪器件老化。计算延迟时间变化影响精度。DEM方案中margin_B是针对特定延迟时间优化的。如果实际计算与映射的延迟时间不固定STRE漂移量会变化。1. 标准化系统时序确保“编程-计算”延迟固定。2. 如果延迟可变则需要建立margin_B与延迟时间的函数关系或采用最坏情况最大延迟下的margin_B值。5.4 进阶优化方向对于追求极致性能的系统可以考虑以下进阶优化非对称DEM我们的方案主要针对HRS的弛豫增大了计算容限。理论上如果LRS也存在不可忽视的弛豫向上漂移可以为HRS和LRS设置不同的计算参考点和margin_B形成完全独立的判决通道。动态DEM根据当前计算任务的关键性或误差容忍度动态切换margin_B的档位。例如在推理任务的关键层使用更保守更优的margin_B在非关键层使用更宽松的margin_B以提升速度或能效。与纠错编码结合DEM在底层降低了硬件错误率可以与上层的轻量级纠错码如奇偶校验、汉明码结合构建多层防护体系进一步提升系统可靠性。DEM方案的成功实施关键在于深刻理解“映射”与“计算”这两个阶段对误差容忍度的不同需求并勇于打破传统单一参数的约束。它更像是一种系统级的思维转变提醒我们在硬件神经网络的设计中软件与硬件的协同优化、算法与器件特性的深度匹配往往能带来意想不到的性能突破。