非易失存储选型指南:MRAM、FRAM、EERAM、ReRAM对比与工程边界
芯片选型这件事,做得越久越会发现一个规律:真正难的不是把参数表读懂,而是搞清楚一张参数表背后那些没写出来的约束。Flash 用了这么多年,大家对它的脾气已经很熟了——容量大、单价低、生态成熟,但只要你的场景里出现"每秒写一次""掉电瞬间不能丢数据""要按字节改一个变量"这类需求,Flash 就开始别扭。这时候才会有人把目光投向 MRAM、FRAM、EERAM、ReRAM/RRAM 这几类非易失存储。这篇就围绕这几类器件的物理机制、真实参数画像、落地边界和市场处境聊一遍,把我自己在选型和验证环节踩过的坑一并摊开。适合正在做存储选型的硬件工程师、驱动开发和做产品定义的人看,也适合刚接触非易失存储、想搞明白"为什么不直接用 Flash"的读者。
1. 先把 Flash 的三处软肋摆到桌面上
讨论替代方案之前,得先承认一件事:这些新型非易失存储之所以还能在 Flash 的阴影下活着,不是因为它们更先进,而是因为 Flash 有三个结构性的短板,靠工艺微调补不上。搞清楚这三处软肋,后面每一种器件的定位就自然清楚了。
1.1 擦写寿命与"每秒写一次"的场景直接冲突
NOR Flash 的典型擦写次数在十万次量级,NAND 更少,随制程微缩和多值化还在往下掉,早期 SLC 能到十万次,到了多值单元时代常常只剩几千次。这个数字单看不算小,但放到数据记录场景里就很残酷了。
算一笔账:假设你的设备每秒采集一次传感器数据并落盘,一天就是 86400 次写入。NOR Flash 按十万次算,理论寿命大约一天多一点;如果按 NAND 的三千次算,一个多小时就写穿了。实际工程里当然会用 wear leveling、环形缓冲区、写合并这些手段去摊薄,但只要写入频率上去,这些软件层的努力终究是"用空间换寿命",付出的代价是有效容量缩水、磨损均衡算法占掉 CPU 时间和 RAM,还要额外维护坏块表。
我在一个工业采集项目里见过更极端的做法:为了把 Flash 寿命从半年拉到五年,在 512KB 的空间里做了一套日志式环形存储,代码写了小两千行,最后发现掉电时索引区和数据区的一致性还是偶尔出问题。这类复杂度其实完全可以靠换一颗器件消掉。
1.2 写入能耗与掉电瞬间的数据完整性
Flash 写操作需要片内电荷泵把电压升到十几伏,瞬时电流冲得很高,写入过程本身还要几百微秒到几毫秒。这意味着两件事:一是平均功耗下不来,对电池供电或者能量采集供电的设备很不友好;二是写入窗口太长,一旦在这个窗口里掉电,那一块的数据状态是未定义的。
很多做仪表、做无源标签的同行都碰到过这个问题:主控检测到电源跌落,只剩几毫秒的窗口,得赶紧把关键数据存下来。Flash 根本来不及,因为它自己写一次就要几毫秒,还不算前面要擦除的开销。这时候需要的就是一种"写进去几乎立刻生效"的器件。
1.3 写前擦除带来的字节寻址困境
Flash 的物理结构决定了它只能整块擦除、按页写入。你想改一个字节,得把整块读到 RAM、改一个字节、擦除整块、再写回去。这个流程不但慢,还平白消耗一次擦写寿命。
EEPROM 补上了字节可改写这一环,代价是容量小、单价高、写入慢(每字节几毫秒),寿命也只有百万次量级。于是在"既要字节寻址、又要高耐久、还要掉电不丢"这个三角里,Flash 和 EEPROM 都只占了一个角。剩下那个空档,就是 MRAM、FRAM、EERAM、ReRAM 四类器件在填。
| 器件 | 擦写次数 | 写入粒度 | 单次写入耗时 | 写前是否需要擦除 |
|---|---|---|---|---|
| NOR Flash | 约 10^5 | 页 | 数百微秒 | 需要,按块 |
| NAND Flash | 10^3 ~ 10^4 | 页 | 数百微秒 | 需要,按块 |
| EEPROM | 约 10^6 | 字节 | 毫秒级 | 不需要 |
| FRAM | 10^12 ~ 10^14 | 字节 | 百纳秒级 | 不需要 |
| MRAM | 10^12 以上 | 字节/字 | 十纳秒级 | 不需要 |
| ReRAM | 10^6 ~ 10^12 | 字节/页 | 百纳秒级 | 因架构而异 |
这张表是选型的起点,但绝对不是终点。真正决定成败的是每一类器件在物理机制上的差异,以及这些差异在温度、磁场、老化条件下会退化成什么样子。
2. MRAM:靠磁隧道结把"非易失"和"高速"焊在一起
MRAM 是我个人最看好的一类,也是最容易被过度解读的一类。它的核心卖点很硬:写入速度做到 SRAM 的量级,同时又是非易失的,理论上可以做到无限次写入。但真要用进产品,有两件事必须先搞明白——它是怎么存的,以及它为什么贵。
2.1 磁隧道结的两种阻态与写入方式的代际演进
MRAM 的存储单元是一颗磁隧道结(MTJ),结构上是三层夹心:一层自由层、一层极薄的绝缘势垒层(通常是氧化镁)、一层固定层。自由层的磁化方向可以翻转,固定层的方向锁死。当两层磁化方向平行时,电子隧穿的概率高,单元呈现低阻;反平行时隧穿概率低,呈现高阻。这两个阻态的比值叫隧穿磁阻比,是决定读取窗口的关键指标,工程上通常希望在 100% 以上,否则读余量不够。
写入方式的演进是理解 MRAM 成本和工艺门槛的关键。最早一代用的是磁场写入,靠两根正交的导线产生合成磁场去翻转自由层,问题是写电流大、单元之间容易互相干扰、随着尺寸缩小写选择窗口越来越窄,这条路基本走到头了。现在主流是自旋转移矩写入,也就是常说的 STT:把极化电流直接穿过 MTJ,靠自旋极化电子把角动量传给自由层来实现翻转。写电流随单元面积等比缩小,可扩展性一下子拉开了。再往后还有自旋轨道矩写入,把写入通路和读取通路分开,耐久和速度都更好,但多了额外的工艺层,目前在特定场景中推进。
2.2 参数画像与它真正适合的落点
抛开宣传口径,STT-MRAM 的实际参数画像大概是这样的:读取时间在十几到几十纳秒,写入时间同一量级,耐久能到 10^12 以上甚至更高,数据保持力在 125℃ 条件下按十年考核,工作温度覆盖 -40℃ 到 125℃ 甚至更高,字节或字可寻址,写入前不需要擦除。这几个特性叠起来,指向的是一批很具体的场景。
第一类是写入极其频繁的数据缓冲,比如工业设备里的实时事件日志、PLC 的循环数据记录,取代的其实是"SRAM + 电池"或者"SRAM + 超级电容"这套方案。后者的痛点在于电池要更换、电容会老化、还得考虑电池的合规运输问题,换成 MRAM 之后这些麻烦一次性消掉。第二类是程序存储加参数存储合一的场合,代码直接放在 MRAM 里执行,参数区也在同一颗器件里,省掉一颗 EEPROM。第三类是可靠性要求特别的领域,比如需要抗辐射的场合,磁存储对单粒子翻转天然不敏感,这一点是电荷存储比不了的。
2.3 良率、成本和后端集成这三道坎
MRAM 没有全面普及,原因非常直白:贵。它的存储单元面积比同代 Flash 大,意味着同样的容量要占更多硅片;MTJ 的刻蚀是个精细活,金属叠层的损伤会直接吃掉隧穿磁阻比,良率控制难度高;再加上它必须做在 CMOS 的后端工序里,而 MTJ 材料对后续热预算很敏感,通常要求工艺温度压在 400℃ 以下,这给集成方案带来不少约束。
测试也是成本大头。保持力是统计性指标,靠抽样加温度加速外推,测试时间长、成本高,这部分费用最终会摊到单价上。所以你会看到一个很现实的市场格局:独立式 MRAM 的容量普遍集中在几兆比特到几十兆比特这个区间,再往上走单价就没法看了;而嵌入式 MRAM 更多是在 28nm、22nm 这类节点上,作为 MCU 的片上非易失存储出现,替代的是片上 Flash,而不是外挂存储。
一个常被忽略的细节:早期磁场写入的 MRAM 对外部磁场敏感,装配时要注意远离强磁体。STT-MRAM 在这方面改善明显,但如果你的产品要做磁场抗扰测试,还是得提前跟供应商确认磁屏蔽设计的具体指标,别默认"磁存储就一定抗磁"。
3. FRAM:铁电极化翻转换来极低功耗和超高耐久
FRAM 是这几类里资历最老的,也是我最愿意推荐给低功耗数据记录场景的一类。它的物理机制跟电荷存储完全不同,用的是铁电材料的自发极化,这让它在功耗和耐久上有着近乎不讲理的优势。但它的短板同样明显,容量上不去。
3.1 铁电畴翻转到底是怎么回事
铁电材料内部存在自发极化,而且极化方向可以被外电场翻转,翻转之后撤掉电场,极化状态还能保持住——这就是非易失性的来源。常见的铁电材料是锆钛酸铅这类钙钛矿结构,做成薄膜夹在上下电极之间,形成一个铁电电容。
存储单元通常是 1T1C 或 2T2C,也就是一个晶体管配一个铁电电容,或者配两个做差分。写入的时候给电容两端加电压脉冲,极化方向随之确定,代表 0 或 1;读取的时候加一个读取脉冲,根据极化翻转产生的电荷量差异判断原来存的是什么。整个过程没有电荷的长距离迁移,没有势垒的穿隧,也没有细丝的形成与断裂,所以速度快、功耗低、损耗小。
这里的"损耗小"值得单独说一句。因为写入靠的是极化翻转而不是注入电荷,写一个字节消耗的能量在几十到几百纳焦量级,而 EEPROM 写一个字节通常在几十微焦。差了差不多三个数量级。这个差距在靠纽扣电池或者能量采集供电的设备上是决定性的。
3.2 读操作的破坏性与回写机制
FRAM 有一个必须搞清楚的特性:1T1C 结构下的读操作是破坏性的。读取脉冲会强制把极化置到一个已知方向,原来存的值在读的同时就被覆盖了,所以每次读之后控制器必须自动把数据写回去。这不是缺陷,是机制决定的,器件内部逻辑会自动完成,对用户表现为读周期时间略长于纯读。
但这个特性对软件有实际影响。如果你的代码里有大量连续读同一地址的操作,实际发生的写回次数也会跟着上去;虽然 FRAM 的耐久足以承受(10^12 到 10^14 量级),但在做功耗估算时不能只算读取电流,得把回写的能量算进去。我在一个脉冲计数项目里就吃过这个亏:实测平均电流比按"只读"估算的高出约三成,原因就是那套逻辑每秒读了几百次状态寄存器。
另一个机制性问题是"印记"。如果某个极化状态长期保持不变,材料内部会形成一种偏好,导致翻转变得困难,极端情况下读出的判定窗口会收窄。工程上的对策是避免长时间只写同一个值,或者在初始化时做一次"训练"写入。这个问题在高温环境下更明显,做车规产品时要专门验证。
3.3 参数边界与它在市场上的真实位置
FRAM 的容量天花板很明显,常见档位从几K比特到1兆比特,即使是最激进的产线做到十几兆比特,单价也早就把大部分应用挡在门外了。原因在于铁电电容的尺寸难以随制程等比缩小,单元面积下不去,密度自然上不来。再加上铁电材料对氢极其敏感,必须做氢阻挡层,跟标准 CMOS 工艺的兼容要额外花功夫,这也是为什么全球能稳定量产 FRAM 的产线屈指可数。
它的市场位置因此非常清晰:不是去跟大容量存储竞争,而是牢牢占住"小容量、超高频写、超低功耗、宽温"这个细分角落。典型落点包括电力仪表和流量计的数据记录、汽车電子的里程与事件记录、工业控制器里的断电保持参数、医疗设备的使用计数、打印耗材的计数芯片。这些应用的共同特征是数据量小、写入极频繁、供电紧张、生命周期长,正好对上 FRAM 的长板。
4. EERAM:不是新介质,是把 SRAM 和 EEPROM 缝起来的工程折中
EERAM 经常被误解成一种新的存储材料,其实它不是。它内部同时有一块 SRAM 和一块 EEPROM,加上一套掉电检测与数据搬运逻辑。你可以把它理解成一个自带"自动存盘"功能的 SRAM,掉电瞬间把内容整体搬到 EEPROM 里,上电再搬回来。这个思路很朴素,但在很多场景下比换介质更划算。
4.1 内部结构拆解与搬移流程
具体工作流程是这样的:正常供电时,所有读写都发生在 SRAM 上,速度跟普通 SRAM 一样,没有写入次数限制,也没有写入延迟。器件内部有一个电源监测电路,持续盯着供电电压,一旦检测到电压跌落到阈值以下,立即启动搬运,把 SRAM 的全部内容按顺序写进 EEPROM 阵列,同时置位一个状态标志。上电时先检查这个标志,如果上次是非正常掉电,就把 EEPROM 的内容回读到 SRAM,然后清除标志。
关键点在于这个搬运过程需要能量,而且能量必须来自器件外部。所以 EERAM 方案里几乎必然要配一颗储能电容,接在专门的引脚上,容量要够支撑整个搬运过程完成。这颗电容是整个方案里最容易被低估的元件。
4.2 掉电存盘的能量窗口怎么算
很多人第一次用 EERAM 会栽在电容选型上。算这个事得从三个量入手:待保存的数据量、EEPROM 侧的写入速率、搬运期间的工作电流。
举个具体的例子。假设器件容量是 64K 比特,也就是 8K 字节,EEPROM 侧的写入速率按每字节若干微秒估算,加上内部寻址开销,整体搬运时间大概落在几十毫秒这个量级。搬运期间的工作电流如果有几毫安,那么需要的电荷量就是电流乘时间。再考虑电容放电过程中电压从额定值跌到器件最低工作电压的可用区间,以及电容本身的容差、老化衰减(通常按二十年衰减两成来留余量)、温度特性(很多陶瓷电容在低温下容量会掉),最后算出来的标称容量往往要比理论值留出两倍以上的裕量。
我见过一个失败案例,用的是 22 微法的电容,实验室常温测试一切正常,到了零下二十度的现场,掉电十次有三次数据是错的。后来换成 47 微法、低温特性更好的型号才稳定。这个教训很直接:储能电容的低温容量衰减和直流偏压特性,必须按最坏情况算,不能按数据手册的标称值算。
4.3 边界在哪里:什么场景该用,什么场景别碰
EERAM 的优势场景非常具体:需要频繁写、数据量不大、又必须保证掉电不丢的记录型应用。比如设备运行时长累计、故障事件日志、校准参数、计量表的周期读数。这些场景里数据量通常只有几百字节到几K字节,写入频率高到 Flash 撑不住,但又没有高到需要 FRAM 那种级别。
它不适合的场景同样清楚。第一,数据量大的场合别用,容量档位普遍在几十K比特到几百K比特,存不了大块数据。第二,掉电过程本身不可预测的场合要谨慎,如果供电是缓慢跌落而不是干脆断电,电压在阈值附近抖动可能导致搬运反复启动,得在电路上做欠压复位配合。第三,对搬运时间有硬性要求的场合不行,毕竟要几十毫秒,如果系统在掉电后还要靠同一颗电容给别的东西供电,就得重新分配预算。第四,工作温度极端的环境要多验证,EEPROM 侧的高温写入特性和数据保持力是短板。
| 维度 | EERAM 的表现 | 需要注意的地方 |
|---|---|---|
| 正常读写 | SRAM 速度,无写入次数限制 | 无 |
| 掉电保存 | 依赖外部储能电容 | 电容容差、低温衰减、老化 |
| 保存耗时 | 毫秒到几十毫秒 | 与容量成正比 |
| 保存次数 | 受 EEPROM 侧耐久限制 | 频繁掉电会加速消耗 |
| 容量 | 几十K比特到几百K比特 | 不适合大数据块 |
最后一行值得强调:EERAM 的"无限次写入"只对 SRAM 侧成立。每次掉电搬运都要消耗一次 EEPROM 的擦写寿命,如果设备天天频繁断电,这部分寿命是按掉电次数扣的,做寿命预算时必须单独列一项。
5. ReRAM/RRAM:机制最简单,落地路径最分化
ReRAM 是这几类里理论上最有想象空间的:结构简单到几乎就是在两层电极之间夹一层氧化物,可以做得很小,可以堆叠,甚至可以做多值存储和存内计算。但它的实际落地情况是几类里最分化的,嵌入式路线和独立式路线几乎变成了两个不同的行业。
5.1 导电细丝的形成与断裂
ReRAM 的主流机制是氧空位导电细丝。存储层通常是某种过渡金属氧化物,比如氧化铪或者氧化钽,夹在上下电极之间。初始状态下存储层是高阻的,加一个较大的电压(业内叫"形成"操作,Forming)之后,氧空位在电场驱动下迁移并聚集成一条贯穿的导电通道,器件转为低阻。之后用不同极性的电压脉冲可以让细丝局部断裂或重新接续,实现高低阻态之间的可逆切换。读取就是用小电压测电阻,不影响状态。
这个机制的好处是结构极简,一个晶体管加一个阻变单元就能构成存储单元,理论上可以做到 4F² 甚至更小的面积,还容易做三维堆叠。坏处是细丝的形成与断裂本质上是随机的离子迁移过程,一致性、均匀性、噪声控制都比电荷存储难。
Forming 这一步是实际使用中绕不开的麻烦。它需要比正常工作电压高不少的一次性电压,意味着系统里要有能提供这个电压的路径,或者依赖器件出厂时预形成。更麻烦的是,如果存储层在长期使用中细丝溶解,可能需要重新形成,这时候数据就丢了。所以做可靠性验证时,"形成"的稳定性和保持力的关系必须单独测。
5.2 嵌入式与独立式这两条路线
嵌入式 ReRAM 这几年推进得比较实在,主要作为 MCU 的片上非易失存储,用在 28nm、22nm 这类节点上,替代片上 Flash。驱动它的理由很实际:Flash 在先进节点上继续微缩越来越难,写电压降不下来,工艺步骤还多,而 ReRAM 的工艺步骤少、写电压低、可以后端集成,对成本敏感的 MCU 来说是个合理选择。这条路线对外的参数口径通常是:写入速度在百纳秒级,耐久在 10^5 到 10^6 量级,工作温度覆盖工业级和车规级,保持力按 85℃ 十年考核。
独立式 ReRAM 走的是另一条路,容量从几兆比特到几十兆比特,主打低引脚数、低功耗、宽温,很多做成小封装配合传感器使用。这一类的耐久指标比嵌入式更保守,但优势在于接口简单、待机电流极低,适合做物联网节点的数据缓存。
还有一条更前沿的路,是利用 ReRAM 阻态可连续调节的特性做模拟计算,也就是所谓的存内计算。这个方向的研究热度很高,但离大规模量产还有距离,我不建议在产品规划里把它当短期选项。
6. 横向对比:把参数表翻译成选型决策
参数表看多了会有种错觉,好像每颗器件都能覆盖很多场景。实际做选型的时候,起决定作用的往往只是一两个硬指标,剩下的都是次要项。
6.1 一张表看清关键差异
| 指标 | MRAM | FRAM | EERAM | ReRAM |
|---|---|---|---|---|
| 写入速度 | 十几到几十纳秒 | 百纳秒级 | SRAM 速度 | 百纳秒级 |
| 耐久 | 10^12 以上 | 10^12 ~ 10^14 | SRAM 侧无限,保存侧受限 | 10^5 ~ 10^12 因产品而异 |
| 容量范围 | 兆比特到几十兆比特 | 几K比特到十几兆比特 | 几十K到几百K比特 | 兆比特级 |
| 字节寻址 | 支持 | 支持 | 支持(在 SRAM 侧) | 部分支持 |
| 掉电保存 | 天然 | 天然 | 依赖储能电容 | 天然 |
| 相对成本 | 高 | 高 | 中 | 中 |
| 主要短板 | 单价、密度 | 容量天花板 | 电容与搬运时间 | 一致性与耐久分化 |
看这张表要有重点。如果你的核心矛盾是写入次数,那 MRAM 和 FRAM 是第一梯队,EERAM 的 SRAM 侧也算,但它把矛盾转移到了掉电次数上。如果核心矛盾是瞬时掉电保存,那 EERAM 需要外部电容这件事就成了关键路径,MRAM 和 FRAM 天然免掉这一环。如果核心矛盾是成本,那基本只能在 EERAM 和 ReRAM 之间挑。
6.2 选型时真正该问的几个问题
第一个问题:写入频率到底有多高,峰值和平均分别是多少。很多人只算平均值,结果峰值一来就写穿。要按最坏情况的写入速率做寿命预算,把寿命目标折算成总写入次数,再对比器件的耐久指标,留出至少三到五倍裕量。
第二个问题:掉电存取的耐心有多少。系统检测到掉电之后,还有多少时间可以用来保存数据?这个时间窗口决定了能不能用 EERAM,也决定了储能电容要多大。
第三个问题:工作温度的上下限是多少,有没有高温保持力的要求。非易失存储的保持力都是温度的函数,125℃ 下十年和 85℃ 下十年是完全不同的两个指标,规格书里通常只标一个,要问清楚另一个。
第四个问题:生态配套怎么样。编程器支不支持、驱动代码有没有现成的、封装和引脚是否跟现有方案兼容、有没有车规认证的版本。这些问题不影响性能,但直接影响项目能不能按时交付。
第五个问题:长期供货。这几类器件大多集中在少数几条产线上,一旦产线调整,供货风险比通用 Flash 高得多。做长生命周期产品时,这一项要提前问清楚,别等到量产两年后才被告知要停产。
7. 市场视角:为什么这些技术没能全面替代 Flash
每次跟人聊这几类器件,最后总会绕到同一个问题:既然 MRAM 又快又耐久,为什么不全用它?答案不是技术不行,是经济学。
7.1 成本曲线决定了它们只能占细分角落
Flash 的成本优势来自几十年的产能堆积和极致的密度优化。同一片晶圆,做 Flash 能切出的比特数是做 MRAM 的很多倍,而 MRAM 还要额外的磁性材料沉积、精细刻蚀、磁场退火等工序,工序越多良率损失越大。这中间的差距不是靠技术改良能抹平的,只能靠时间慢慢收敛。
所以市场结构就变成了:Flash 占据大容量、低成本、读多写少的主流市场;EEPROM 守住小容量、字节可改、低频写的角落;而 MRAM、FRAM、EERAM、ReRAM 各自切走一块 Flash 和 EEPROM 都做不好的细分市场。这些细分市场单个看起来都不大,但加起来规模相当可观,而且毛利水平普遍高于通用存储。
从公开的行业统计口径看,这几类器件的整体盘子长期在数亿美元到十几亿美元的量级徘徊,增速不算爆发,但很稳,主要驱动力来自汽车电子、工业自动化和计量仪表这三个方向。汽车电子的拉动尤其明显,因为智能座舱和域控制器里需要大量的参数存储和事件记录,而且车规对可靠性的要求把 Flash 的一些短板放大了。
7.2 认证周期和生态壁垒才是真正的护城河
比成本更难跨过去的坎是认证和生态。一颗器件要进汽车供应链,要过一系列车规验证,从器件级到模块级再到整车级,周期常常以年计。这期间供应商要提供完整的可靠性数据包、失效模式分析、变更通知机制,这些都是实打实的投入。对新进入者来说,即使做出一颗参数达标的器件,没有这套体系也进不了门。
生态方面的壁垒同样实在。一颗存储器看着简单,背后牵扯到编程器、烧录治具、驱动库、参考设计、失效分析支持。工程师选型时倾向于选自己熟悉的、有现成代码的、出问题能找到人问的。这种惯性一旦形成,替换成本就很高,这也解释了为什么这个市场里的玩家位置多年来变化不大。
从这个角度看,评估一颗新器件不能只看参数。供应商能不能提供温度加速测试的原始数据、能不能配合做失效分析、变更通知的流程是否规范,这些"软指标"在长周期产品里比几纳秒的速度差异重要得多。
8. 实操环节的几个坑,都是真金白银换来的
最后聊几段具体的操作经验。这些内容在规格书里基本看不到,但每一个踩进去都要花时间填。
8.1 保持力测试不能用常温数据外推
保持力考核的标准动作是温度加速。原理是阿伦尼乌斯模型,失效速率随温度呈指数上升。假设失效活化能取 0.7 电子伏特,从 85℃ 的工作温度加速到 125℃ 的测试温度,算出来的加速因子大概在十倍左右。也就是说,85℃ 下要求的十年保持力,在 125℃ 下只需要测一年左右就能等效验证。
计算过程是这样:加速因子等于自然常数指数上的 活化能除以玻尔兹曼常数,再乘以测试温度倒数和工温温度倒数之差。0.7 除以玻尔兹曼常数(约 8.617×10^-5 电子伏特每开尔文)大约是 8123 开尔文,再乘以 125℃(398K)倒数与 85℃(358K)倒数之差,约 2.8×10^-4,得到约 2.28,取指数约 9.8 倍。所以十年的常温等效,在 125℃ 下测一年出头就够。
这个模型的坑在于活化能是假设值,不同失效机制的活化能差别很大。如果你按 0.7 算出来的结论很乐观,但实际失效机制的活化能只有 0.4,真实加速因子会差一大截。稳妥的做法是至少取两三个温度点做测试,用多点数据反推活化能,看它是否落在合理区间,而不是单点外推。
8.2 耐久测试的写模式和抽样策略会骗人
耐久测试不能拿连续写跑完 10^12 次,时间上根本不允许。工程上用的是抽样的办法:取一批样品,跑到某个中间节点(比如 10^6、10^7、10^8 次),测保持力和读写窗口,看退化趋势是否平缓,再外推到目标次数。
这里的陷阱是写模式。全写 0、全写 1、棋盘格、随机数据,这几种模式对器件的应力分布是不一样的。某些器件在全 0 模式下退化最慢,在棋盘格模式下最快,因为相邻单元的耦合和干扰被最大化了。如果你只测了全 0,得出的结论会偏乐观。规范的做法是至少覆盖三种模式,取最差的那个作为结论。
还有一个容易漏的点:写入间隔。连续不间断地写和每隔一段时间写一次,器件的自热和恢复效应不同。有些器件在两次写之间留出恢复时间,实际耐久会比连续写测出来的高。测试条件要尽量贴近真实使用状态,否则数据没有参考价值。
8.3 替代料的时序参数不能想当然兼容
这条坑我踩得最疼。看起来引脚兼容、接口协议一样的两颗器件,内部的等待时间可能差一倍。你代码里那个"写完延时 5 微秒"的循环,换料之后可能就不够了,表现出来是偶发的数据错误,而且只在特定温度和特定时序下出现,排查起来极其折磨。
换料时必须逐项核对的参数包括:写入周期时间、片选建立与保持时间、数据保持时间、上电复位所需时间、掉电检测阈值、状态寄存器轮询的响应延迟。其中上电复位时间最容易被忽略——有些器件上电后需要一段内部初始化时间才能接受命令,如果主控上电就开始访问,会读到无效数据。我在一个项目里遇到过整批产品上电偶发读取失败,最后定位到就是这一项。
8.4 掉电测试要覆盖"缓慢跌落"这种恶劣情况
实验室里测掉电,通常是直接拔电源,电压瞬间归零,这种情况反而好处理。真实世界里的掉电更多是电压缓慢跌落,可能持续几十毫秒,中间还伴随着反复的抖动。这种波形下,EERAM 的掉电检测可能反复触发,FRAM 的写入可能做到一半,MRAM 的写电流可能不足以完成翻转。
测试方法是用可编程电源模拟不同的跌落斜率,从陡降到缓降各做几百次,同时监控数据完整性。我建议至少覆盖三种斜率,并且在最高温和最低温各做一轮。这个测试做下来会花不少时间,但比在客户现场出问题强得多。
9. 我个人在这几类器件上的判断
做了这些年下来,我对这几类器件的定位有一个比较固定的看法。FRAM 是低功耗小数据量场景的最优解,只要容量够用、预算允许,它能把你从掉电保存和寿命计算这两件事里彻底解放出来,代价就是贵和小。MRAM 是未来的方向,速度和非易失性兼得,但目前的价格决定了它只能用在那些"非它不可"的地方,比如需要极高写入频率又要非易失的缓冲,或者对辐射、磁场有特殊要求的场合。
EERAM 是性价比最高的折中方案,工程上成熟、价格可接受、软件改动小,只要把储能电容和掉电次数这两件事算清楚,它能覆盖大部分中低端的数据记录需求。ReRAM 我目前更多是观察态度,嵌入式路线在 MCU 上的推进会实实在在降低系统成本,但独立式产品的参数一致性还需要更多实际项目来验证,选它的时候一定要拿样品做完整的温循和耐久测试,不能只看规格书。
还有一个心得:这几类器件都不适合"顺手换一颗试试"。它们的时序、初始化流程、状态机、失效模式跟 Flash 差别很大,驱动层基本要重写。立项的时候要把这部分工作量算进去,别以为换颗料就能直接跑。真正省时间的做法是先拿评估板把读写时序和掉电行为摸清楚,再决定要不要改硬件。