第二章:主流NVM技术全景解析
各位同学,今天我们来聊聊市面上主流的非易失性存储技术。说实话,我入行那会儿,NVM的选择还没这么多,基本就是Flash一家独大。但现在不一样了——FRAM、MRAM、PCM、RRAM……光名字就能把人绕晕。
我个人习惯把NVM技术分成两类:一类是「成熟老将」,比如Flash和EEPROM;另一类是「新锐势力」,比如MRAM、PCM这些。咱们一个一个来看。
2.1 Flash:NAND与NOR
Flash是大家最熟悉的。你手机里的存储、SSD、U盘,基本都是NAND Flash。NOR Flash呢?它更老,但还在用——比如BIOS芯片、嵌入式代码存储。
NAND Flash:密度高、成本低,适合大容量存储。但有个毛病——读写以「页」为单位,擦除以「块」为单位。我在项目中遇到过一个问题:频繁写日志导致某个块磨损太快,整片盘直接挂了。嗯,这就是NAND的「写放大」和「磨损均衡」问题。
NOR Flash:支持随机访问,可以像内存一样直接执行代码(XIP)。但密度低,容量做不大。我记得有个客户非要拿NOR存视频……我劝了半天,最后他换了NAND。
| 特性 | NAND Flash | NOR Flash |
|---|---|---|
| 读取方式 | 页读取(4KB~16KB) | 字节/字随机读取 |
| 写入方式 | 页写入 | 字节/字写入 |
| 擦除方式 | 块擦除(128KB~几MB) | 扇区擦除(64KB~256KB) |
| 典型容量 | GB~TB级 | MB~GB级 |
| 主要应用 | SSD、存储卡、手机 | BIOS、嵌入式代码 |
2.2 EEPROM:老当益壮
EEPROM(电可擦除可编程只读存储器)比Flash还老。它最大的特点是——可以按字节擦写。你想想看,Flash要擦就得擦一整个块,EEPROM可以只改一个字节。
但代价是什么?容量小(一般几KB到几MB),速度慢,成本高。现在主要用来存配置参数、校准数据这类小量信息。
我曾经在一个工业传感器项目里用EEPROM存校准系数。每次上电读一次,运行中几乎不写。用了十年都没坏——嗯,这玩意儿寿命确实长,擦写次数通常100万次以上。
2.3 FRAM:铁电存储器
FRAM(铁电随机存取存储器)是个有意思的东西。它利用铁电材料的极化方向来存储数据。读写速度快(接近SRAM),功耗极低,而且抗辐射能力强。
我最早接触FRAM是在一个医疗设备项目里。客户要求数据写入不能有延迟,而且掉电不能丢。FRAM完美满足——它写入不需要擦除,直接覆盖写,速度比EEPROM快1000倍。
但FRAM也有短板:容量做不大(目前最大也就几MB),成本高。适合做「小容量、高频写」的场景,比如数据采集、计量仪表。
2.4 MRAM:磁存储器
MRAM(磁阻随机存取存储器)用磁隧道结(MTJ)来存储数据。它的特点是——速度接近SRAM,密度接近DRAM,而且非易失。
说白了,MRAM想当「万能存储器」。但现实是:它目前成本还是偏高,容量也拼不过NAND。不过在一些特殊领域——比如航空航天、高端工业控制——MRAM已经用上了。
我记得有个做卫星的朋友跟我说,他们用MRAM存关键数据,因为不怕辐射。嗯,这确实是MRAM的强项。
2.5 PCM / 3D XPoint:相变存储器
PCM(相变存储器)利用硫系化合物在晶态和非晶态之间的电阻差异来存数据。3D XPoint是Intel和Micron搞的PCM变种,曾经被寄予厚望——想填补内存和SSD之间的空白。
说实话,3D XPoint的性能确实惊艳:延迟比NAND低1000倍,寿命也长得多。但问题是——成本太高,而且Intel后来砍掉了这个产品线。我在一个数据库加速项目里评估过3D XPoint,效果确实好,但客户一算成本……还是用DRAM+SSD分层方案了。
2.6 RRAM:阻变存储器
RRAM(阻变随机存取存储器)是最近几年很火的方向。它利用介质在电压作用下形成/断开导电细丝来存储数据。结构简单、可微缩性好、功耗低。
我个人觉得RRAM是未来最有希望的NVM技术之一。为什么?因为它可以做到很高的密度(理论上可以堆叠),而且兼容CMOS工艺。很多大厂——台积电、三星、UMC——都在投RRAM。
不过RRAM目前还有可靠性问题:导电细丝的形成是随机的,导致读写参数有波动。我在一个AI加速器项目里试过RRAM做存内计算,精度控制是个大挑战。
2.7 技术对比一览
| 技术 | 读写速度 | 擦写次数 | 容量 | 成本 | 典型应用 |
|---|---|---|---|---|---|
| NAND Flash | 读快写慢 | 10^3~10^5 | GB~TB | 低 | SSD、存储卡 |
| NOR Flash | 读快写慢 | 10^5 | MB~GB | 中 | 代码存储 |
| EEPROM | 慢 | 10^6 | KB~MB | 中高 | 参数存储 |
| FRAM | 快 | 10^12 | KB~MB | 高 | 数据采集 |
| MRAM | 快 | 10^12 | MB~GB | 高 | 航空航天 |
| PCM/3D XPoint | 较快 | 10^6~10^8 | GB | 很高 | 存储级内存 |
| RRAM | 快 | 10^6~10^9 | MB~GB | 中(未来) | 存内计算 |
2.8 选型建议
这么多技术,怎么选?我给大家一个简单的思路:
- 要容量大、成本低 → NAND Flash
- 要代码直接运行 → NOR Flash
- 要小量参数、频繁改写 → EEPROM 或 FRAM
- 要高速、高可靠、不怕辐射 → MRAM
- 要填补内存和存储之间的空白 → PCM/3D XPoint(如果预算够)
- 要做存内计算、未来方向 → RRAM
好了,这一章我们梳理了主流NVM技术的特点、优缺点和适用场景。下一章我会深入讲NAND Flash的FTL(闪存转换层)设计——这可是嵌入式存储的核心难点,到时候咱们好好聊聊。