尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

ReRAM:从内存墙突围到存内计算的存储革命

ReRAM:从内存墙突围到存内计算的存储革命 如果你经常跟服务器、嵌入式设备或大数据系统打交道对这几行报错应该不陌生java.lang.OutOfMemoryError: insufficient memory process exited with code 3221225477 (memory access violation)再日常一点你用 WSL2 跑开发环境时会被提示 You can configure limits on the memory, cpu, and swap size allocated to WSL或者电脑上浏览器标签页开多了直接弹 Out of Memory。大多数人的第一反应是调 JVM 参数、上 Memory Analyzer Tool 抓堆转储、加内存条、改 WSL 配置很少有人倒过来想一个问题为什么算力年年翻倍内存却始终是最先掉链子的部件这个问题的深层答案指向一个正在从实验室走向量产的存储技术——ReRAMResistive Random-Access Memory阻变存储器。很多人习惯把它和 MRAM、PCM 一起归类为新型非易失存储但我更愿意把它看作一次对计算机体系结构里内存墙的正面突围。这篇内容不堆术语从它为什么会出现、怎么工作、参数到底如何一直讲到落地场景和实际测试中的坑适合关注存储趋势的架构师、做硬件选型的工程师以及单纯想搞清楚下一代内存到底靠不靠谱的技术爱好者。1. 内存墙越来越近为什么 ReRAM 被视为破局者1.1 从 OOM 报错说起软硬件之间的结构性矛盾我们先从一个非常日常的场景切入。你写了一个数据处理任务跑在 64GB 内存的服务器上结果凌晨三点收到告警OutOfMemoryError: insufficient memory。你掏出 Eclipse Memory AnalyzerMAT打开 heap dump找了半天也没发现内存泄漏最后只能把配额从 64GB 加到 128GB问题暂时消失但所有人都知道这只是把爆炸时间往后推了。这类场景背后是一个持续多年的结构性矛盾CPU 核心数在涨、算力在涨、数据量更在涨但主流内存介质 DRAM 的容量和带宽增速远远跟不上。更要命的是DRAM 是易失的断电数据全没NAND Flash 虽能断电保存但写入速度和寿命又差得远。于是系统被逼着在快但会丢和慢但能存之间来回搬运数据这一搬就是功耗和延迟的大头。软件层面的优化能缓解症状但治不了根。改垃圾回收策略、加缓存、上内存分析工具本质上都是在尽量少撞墙而墙本身还在那里。真正要拆墙靠的不是把软件调得更好而是存储介质本身发生换代——这正是 ReRAM 登场的核心逻辑。1.2 存储金字塔的断层DRAM 和 NAND 之间的速度悬崖回忆一下经典的存储金字塔寄存器在塔尖往下是 SRAMCPU 缓存、DRAM主存、NAND FlashSSD 和 U 盘塔底是机械硬盘和磁带。每一层都在速度、容量和成本之间做取舍。在系统教材里这套层级被称为 memory systems: cache, dram, disk看起来井然有序但金字塔中间其实有一个明显的断层。DRAM 的访问延迟在几十纳秒量级NAND 的读延迟却要几十微秒甚至上百微秒中间差了三个数量级。也就是说当数据必须从 SSD 换到内存里才能被 CPU 高效处理时系统要付出巨大代价换页、拷贝、DMA、上下文切换每一项都在烧延迟和功耗。数据中心里大量资源其实不是在计算而是在搬运数据。业界多年想填这个断层于是有了存储级内存SCM这个概念。Intel 当年的 Optane3D XPoint是第一次大规模商业化尝试读写速度比 NAND 快很多又比 DRAM 便宜但最终因为成本、良率和商业模式问题淡出了市场。3D XPoint 的退场不代表方向错了恰恰说明填断层这件事技术门槛极高需要更合适的存储介质。1.3 内存墙的本质冯诺依曼瓶颈与数据搬运成本再往深一层看这就是计算机体系结构里著名的冯诺依曼瓶颈。计算单元和存储单元物理分离指令和数据必须经过总线搬运。处理器越快搬运的瓶颈就越刺眼。最近几年 AI 大模型把这个问题放大到了极致模型参数动辄几十 GB 甚至上千 GB每次推理都要反复读取权重内存带宽直接决定了推理的吞吐上限。所以你会看到两个并行发生的趋势一个是在软件层面拼命做算子融合、量化、剪枝尽量少碰内存另一个是在硬件层面寻找新的存储介质和新的计算范式让数据少搬家。ReRAM 恰好同时踩中了这两条脉络它本身是一种非易失、高速、低功耗的存储介质更重要的是它以电阻的形式存储数据天然支持在存储阵列内部做模拟计算直接绕开冯诺依曼瓶颈。这也是我为什么说ReRAM 不是一个简单的新型内存而是一场架构层面的变量。2. ReRAM 工作原理拆解从导电细丝到 1T1R 阵列2.1 阻变机理ECM、VCM、TCM 三类开关如何工作ReRAM 的核心是电阻开关效应。在一个金属-绝缘体-金属MIM结构中初始状态的绝缘层电阻很高对应高阻态HRS我们定义成0施加一个足够大的电压后绝缘层内部会形成一个导电细丝器件切换到低阻态LRS定义成1再施加反向电压细丝断开器件又回到高阻态。两种状态在断电后都能保持这就是非易失存储的基础。细丝形成的物理机制业界一般分成三类。第一类是电化学金属化ECM典型材料组合是银或铜做活性电极、硫系或氧化物做介质电压让电极发生氧化金属离子迁移进介质并还原成导电细丝。第二类是价态变化机制VCM也是目前主流厂商押注的路线介质用氧化铪或者氧化钽这类过渡金属氧化物开关过程依赖氧空位在电场下的迁移和聚集细丝由氧空位构成。第三类是热化学机制TCM依靠焦耳热驱动细丝熔断和重建一般是单极型开关。为什么 VCM 最被看好因为 HfO2 本身就是逻辑工艺里成熟的高介电常数栅介质TaOx 也有很好的 CMOS 兼容性嵌入逻辑芯片时不需要引入全新的陌生材料体系工艺集成的痛苦最小。而 ECM 方案对活性电极的扩散控制要求很高Ag/Cu 在高温下容易迁移可靠性验证比较头疼目前主要停留在研究和特定场景。2.2 器件结构与阵列设计1T1R 和 Crossbar 怎么选单颗 ReRAM 单元只是一个两端器件放进阵列就要考虑怎么选址。目前最主流的方案是 1T1R即一个晶体管串联一个电阻单元。晶体管负责在读写时精准控制电压和电流同时隔离相邻单元的干扰可靠性和良率都最好代价是单元面积偏大大概在 6F² 到 10F² 之间比 3D NAND 的等效单元面积高不少。追求更高密度时业界会考虑 Crossbar 交叉阵列字线和位线垂直交叉每个交叉点放一个 ReRAM 单元理论单元面积可以压到 4F² 甚至更小还能方便地做多层堆叠。但 Crossbar 有个著名的漏电路径问题读取某个单元时电流可能偷偷绕道经过其他并联的单元导致读错。解决这个问题要么把单元的开关比做得足够大要么引入独立的选通器件也就是 1S1R 结构这又是一个专门的研发方向。实际产品里1T1R 是绝对主流。原因很简单存储芯片最怕的就是测不准、修不了良率和可靠性比极限密度重要得多。台积电的 eRRAM、富士通量产的嵌入式 ReRAM MCU用的都是 1T1R 结构。Crossbar 阵列则更多出现在存内计算的研究型原型里离大规模商用还有距离。2.3 材料体系与工艺集成为什么 HfO2 成为主流从材料角度梳理一下目前 ReRAM 的介质层主要集中在 HfO2、TaOx、TiOx、SiOx 这些体系电极通常用 TiN、TaN、钌、铂这类金属。HfO2 的优点是和现有逻辑工艺无缝衔接缺点是开关变异性相对大TaOx 的耐久性很突出实验室里有超过 10 的 10 次方次循环的报道但工艺成熟度略逊。工艺兼容性上ReRAM 有一个天然优势它可以在后端BEOL低温工艺中集成通常 400°C 以下就能完成不会干扰前端已经做好的晶体管。这意味着可以把存储器直接叠在逻辑芯片上方大幅缩短数据路径这在 AI 芯片里价值极大。相比之下MRAM 需要高温退火来结晶磁隧道结集成的热预算压力明显更大。另外值得一说的是ReRAM 增加的光罩层数比传统 eFlash 少很多。MCU 厂商以前为了集成 eFlash往往要忍受额外 10 到 15 层光罩的成本和良率损失换成 ReRAM 之后可能只需要增加 3 到 5 层而且全部集中在北京时间表的 BEOL 段。省下的成本和工艺复杂度对追求性价比的嵌入式市场是实打实的吸引力。2.4 Forming、写读擦与多值存储的器件基础理解 ReRAM 的器件行为有几个关键操作必须掌握。首先是 Forming新出厂的单元在初次使用前需要加一次比正常写电压更高的电压在介质层里激活出一条初始导电细丝。这个操作是 ReRAM 和 Flash 在系统设计上一个很大的区别——Flash 出厂就能直接用ReRAM 需要一个初始化过程。其次是置位Set和复位Reset。Set 是让器件从高阻态变低阻态通常施加正电压Reset 是让器件从低阻态变回高阻态通常施加反向电压。Set 过程一般需要限流防止电流过大把细丝烧得太粗Reset 过程则要控制电压脉冲的幅度和宽度才能把细丝剪断得干净。读写脉冲通常做到纳秒级比 Flash 的毫秒级写入快了六七个数量级。最后是多值存储。ReRAM 的电阻不是只有高和低两个稳定态通过控制 Set 过程的限流或者 Reset 过程的电压幅度可以让器件停在多个中间电阻值上。这就意味着一个单元可以存多个比特甚至存储模拟值。后者在神经形态计算里特别重要因为神经网络的权重天然就是连续值ReRAM 阵列可以直接用电阻值来表示权重省掉数模转换的开销。3. 关键参数横向对比ReRAM 的真实水平3.1 一张表看懂 ReRAM 与 DRAM、NAND、MRAM、PCM 的差距外行看热闹内行看参数。我把 ReRAM 和几个主要存储介质放在一张表里大家先感受它到底卡在什么生态位对比项SRAMDRAMNAND FlashNOR FlashSTT-MRAMPCMReRAM读写速度1ns10-50ns读约100μs写约ms读约100ns写约ms5-30ns约100ns10ns非易失性否否是是是是是典型耐久性无限无限10³-10⁵次10⁵次10¹²次以上10⁶-10⁸次10⁶-10¹²次单元结构6T1T1C3D浮栅1T1T1MTJ1T1R1T1R/Crossbar写入电压低较高很高高中较高较低逻辑工艺兼容是困难否是需要磁材料较好极好单次写入能量低高很高高中中高皮焦级几个关键信息值得单独展开。速度上ReRAM 的纳秒级写入虽然还追不上 SRAM但比 NAND 快了几个数量级跟 DRAM 基本在同一档关键是它非易失断电不丢数据。耐久性方面实验室里 TaOx 体系能做到 10 的 10 次方以上循环产品规格通常在 10 的 5 到 8 次方这个水平覆盖嵌入式存储和大部分加速器场景完全够用。写入电压低也意味着功耗优势明显。DRAM 需要不断刷新NAND 写一次要消耗大量电荷泵能量ReRAM 的单次写入能量能到皮焦量级这在电池供电的 IoT 设备上是决定性的差异。当然ReRAM 也有短板最突出的就是器件间变异性偏大导致良率和一致性管理难度较高这也是它还没能大规模替代 DRAM 的重要原因。3.2 三个被低估的优势微缩、3D 堆叠与模拟存储ReRAM 有三个优势经常被低估我单独拎出来讲。第一个是微缩潜力。ReRAM 的存储原理依赖导电细丝细丝直径理论上可以做到几纳米甚至更小这意味着单元尺寸可以一路微缩下去不需要像 DRAM 电容那样在深沟槽里做文章也不像 MRAM 的磁隧道结那样有物理尺寸下限。在先进节点上结构简单这四个字带来的优势会被持续放大。第二个是 3D 堆叠。因为 ReRAM 单元本身就是薄的 MIM 叠层完全可以在后端金属层之间一层一层往上叠。学术界已经展示了多层交叉阵列的存内计算原型层与层之间用常规金属互连隔开。DRAM 很难做多层堆叠3D NAND 虽然堆得多但工艺复杂度极高ReRAM 的 3D 潜力一旦释放单位面积容量增长空间非常可观。第三个是模拟存储能力。前面提到 ReRAM 的电阻可以连续可调这让它不只是二进制存储器件还是一个模拟存储器。做神经网络推理时一个 ReRAM 单元可以直接存一个权重不需要像数字存储那样用多个比特编码阵列天然就是一个高效的高维矩阵运算器。这个能力是 SRAM、DRAM、Flash 都不具备的。3.3 可靠性没那么简单耐久性、保持力与温度的关系任何存储介质都逃不过可靠性三件套耐久性、保持力和温度特性。ReRAM 的问题在于这三者之间存在明显的折中不能只看单一指标。耐久性是指在单元失效前能擦写多少次。失效模式通常是两种一种是单元卡在低阻态怎么 Reset 都拉不回来俗称 stuck-at-1另一种是卡在高阻态怎么 Set 都导不通俗称 stuck-at-0。实际测试中发现耐久性跟写电流密切相关用大电流写可以降低误码率但也会加速器件老化所以系统设计时需要在写得更准和活得更久之间找平衡。保持力是指数据在高温下能保持多久。ReRAM 的导电细丝是亚稳态结构温度越高细丝越容易自己消散数据就丢了。行业通常以 85°C 下 10 年为基准线但 125°C 下的保持力可能比 85°C 差一到两个数量级。汽车电子和工业控制场景如果要在高温下用 ReRAM必须认真看规格书里高温保持力的实测数据不能拿室温数据去套。读干扰也是个隐形杀手。每一次读操作都会给单元施加一个小电压对高阻态单元来说反复读可能造成状态漂移最终掉到判定阈值以下。所以规格书里会规定读电压上限和最大允许读次数量产方案里通常还要加读后回写或者定期加固的逻辑这些细节在选型之初就要考虑清楚否则后面流片了再补就晚了。4. 落地场景与商业化从 MCU 到大模型加速4.1 嵌入式存储先进节点 MCU 里替换 eFlashReRAM 第一个真正打开市场的场景是嵌入式非易失存储eNVM具体说就是 MCU 里的 Flash。传统 eFlash 采用 NOR 工艺要跟逻辑工艺集成很麻烦额外光罩多、成本高而且越往先进节点走越难微缩。很多芯片公司想在 28nm 以下节点做高性能 MCU 和 SoCeFlash 成了最大的瓶颈。ReRAM 正好补位。它在后端金属层间集成逻辑工艺几乎不用改读写速度比 eFlash 快功耗低耐久性也高出几个数量级。富士通已经量产了 40nm 嵌入式 ReRAM MCU台积电在 22nm 工艺节点提供 eRRAM 平台Weebit Nano 和代工厂也有相关合作。这个赛道的逻辑很清晰凡是原来用 eFlash 的地方只要工艺走向先进节点ReRAM 都是最顺理成章的替代者。对嵌入式开发者来说ReRAM 带来的直接好处是代码可以在线升级的次数上限大幅提高。以前 NOR Flash 的擦写寿命上限只有十万次级别OTA 升级频繁的话几年就磨到寿命边缘ReRAM 的耐久性普遍高出几个数量级数据记录、日志存储这类高频写入场景也不用再单独外挂 EEPROM系统 BOM 成本反而能降下来。4.2 存内计算为什么 AI 大模型时代更离不开 ReRAM如果说嵌入式存储是 ReRAM 的眼前存内计算就是它的诗和远方。传统架构里计算单元和存储单元物理分离数据来回搬运既费时又费电。存内计算Computing-in-Memory的思路是让存储器本身具备计算能力而 ReRAM 交叉阵列天然就是做这件事的材料。原理极漂亮。在一个交叉阵列里每个 ReRAM 单元的电导值代表一个权重把输入信号编码成字线上的电压位线上收集到的电流就是电压乘以电导的累加和。这一步恰好就是神经网络推理里最核心的乘累加MAC运算而且所有单元在同一时刻并行执行。整个操作避开了数据搬运能效比传统架构高出几个数量级业界报道普遍在每瓦每秒万亿次运算TOPS/W这个量级。当然理想很性感现实很骨感。模拟计算的精度受限于 ReRAM 电导的变异性做高比特精度的乘累加还很吃力数模转换器DAC/ADC的面积和功耗也占了很大比重。所以现在的主流方案是混合的乘法用模拟阵列做累加和量化回到数字域。即便有这样那样的工程困难存内计算依然是 ReRAM 最有想象力的方向——AI 大模型时代能耗焦虑越严重这条路就越值得关注。4.3 主要玩家与量产进度现在买到什么程度了梳理一下产业格局。ReRAM 的玩家主要分几类。一类是晶圆厂台积电的 eRRAM 已经进入量产联电、国内代工厂也都有相关的工艺平台布局一类是设计公司富士通在嵌入式 MCU 上商用多年Weebit Nano 通过代工合作推进 IP 授权还有一类是专注 ReRAM 技术的 IP 和方案公司比如 Crossbar早期专利布局比较深。从量产节奏看嵌入式领域已经在路上逻辑代工厂把 ReRAM 作为 IoT、MCU、安全芯片的存储选项在推工艺节点集中在 40nm 到 22nm。独立式大容量 ReRAM 还在早期主要受限于容量和成本单颗芯片的容量做到几十 Mb 到几百 Mb 居多跟动辄数 TB 的 SSD 比差距明显。对于普通开发者现在最现实的机会不是买一颗 ReRAM 颗粒而是关注下一代 MCU 和边缘 AI 芯片里开始集成 ReRAM。未来几年里这会成为选型时躲不开的选项。如果你现在做产品规划建议把是否预留 ReRAM 版本作为一个评估维度这比到时候临时切换要省太多事。4.4 选型视角什么时候不该用 ReRAM聊了这么多优势我也得泼点冷水。ReRAM 不是万能的以下几种场景现阶段就不要硬上。第一种是大容量主存场景。ReRAM 目前的单片容量和成本都还无法和 DRAM 竞争想用它来做服务器主存短期内不现实。第二种是超大容量非易失存储也就是要替代 SSD 的场景NAND 在单位比特成本上有绝对优势ReRAM 密度还不够。第三种对一致性要求极苛刻的场景比如某些工业控制要求写入后百分之百可预测ReRAM 的写后校验和重写机制会增加延迟不确定性这时 NOR Flash 虽然慢但胜在皮实。反过来哪些场景适合用 ReRAM一句话总结需要频繁写、数据不能丢、功耗要低、面积要小的场景。IoT 设备的数据记录、TWS 耳机的固件升级、医疗设备的参数存储、汽车里的传感器数据缓存这些场景里 ReRAM 的优势能得到最大化发挥。选型从来不是选最好的技术而是选最合适的组合这一点在存储领域体现得尤其明显。5. 实操避坑ReRAM 开发与测试的经验总结5.1 Forming 控制不好器件直接报废我在帮客户评估新型存储器件时第一个被反复问到的就是 Forming。新出厂的 ReRAM 单元在首次使用前需要一次比正常写电压更高的激活操作在介质层里形成初始导电细丝。这个电压如果不控制好很容易把器件打穿导致整个单元直接失效这在测试阶段是报废率的大头。实操里有几个注意点。第一Forming 一定要加电流限制compliance current不能放任电流一路飙升否则细丝形成得太粗后续 Reset 很难断开。第二Forming 电压在不同单元间存在分布设计外围电路时一定要留足余量不能用一个固定电压硬切建议做成可配置的电压档位。第三Forming 之后要进行若干次预写循环让器件状态稳定下来再去做正式的读写测试否则测出来的数据会非常难看。如果直接用半导体参数分析仪做器件级测试建议用脉冲模式而不是 DC 扫描模式。DC 扫描虽然方便观察 I-V 曲线但会给器件持续加电容易引入不必要的热效应和状态漂移导致测得的开关电压偏高。脉冲方式的测试结果更接近芯片真实工作状态只是数据采集和处理更麻烦一些。5.2 阵列漏电与读干扰的排查方法如果你做的是 Crossbar 阵列测试最大的坑是漏电流干扰。前面提到过 sneak path 问题实际测试中你会发现阵列越大这个现象越严重。读一个低阻态单元时本来应该得到一个明确的低电阻结果因为并联路径的存在读出来的值偏大甚至直接误判成高阻态。排查时建议先测一组全 0和全 1的基线观察阵列整体的漏电流水平。如果漏电流随阵列规模超线性增长基本可以确定是 sneak path 在作怪。这时候需要一个 selector 器件或者用读取参考电路做补偿。即使是在更稳妥的 1T1R 结构里也有读干扰问题长期反复读高阻态单元状态可能缓慢漂移设计时建议加入定期加固机制。另一个常见问题是写干扰。在一个阵列里连续写某些单元时相邻未选中单元也会承受一定的电场应力时间久了可能发生意外写入。解决办法是优化写脉冲的时序和电压分配策略尽量让未选中的字线和位线处于安全的偏置状态。这部分的调试往往要重复很多轮建议在测试芯片上把各种 bias 方案都跑一遍用数据说话而不是靠猜。5.3 问题速查表常见异常与处理建议异常现象可能原因处理建议Forming 后器件短路限流设置过大细丝过粗烧穿降低 compliance current重新流片验证Set 写不进去写电压裕量不足或器件已老化提高写电压档位检查是否到达寿命终点Reset 不彻底Reset 脉冲宽度或幅度不够增大 Reset 电压或改用阶梯脉冲读值漂移读干扰累积或温度变化降低读电压加入读后回写或加固流程Crossbar 阵列误码率高漏电路径干扰引入 selector或改用 1T1R 结构高温下数据丢失保持力不达标换材料体系或降低工作温度规范最后给打算评估或选型 ReRAM 的朋友几条实在建议。第一拿到规格书先看 endurance 和 retention 的温度曲线这两个参数在 85°C 和 125°C 下可能有数量级差异汽车和工业场景必须按最严苛工况算。第二写操作建议采用 write-verify 策略写入后读回来确认发现偏差就补写一次虽然牺牲点速度但能显著压低误码率。第三如果你做的是存内计算方向不要只盯着阵列本身的精度ADC 的位数和
返回列表