第二章:主流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、嵌入式代码
小提示:如果你做嵌入式系统,NOR Flash适合存代码(XIP),NAND适合存数据。别搞反了,否则性能会很难看。

2.2 EEPROM:老当益壮

EEPROM(电可擦除可编程只读存储器)比Flash还老。它最大的特点是——可以按字节擦写。你想想看,Flash要擦就得擦一整个块,EEPROM可以只改一个字节。

但代价是什么?容量小(一般几KB到几MB),速度慢,成本高。现在主要用来存配置参数、校准数据这类小量信息。

我曾经在一个工业传感器项目里用EEPROM存校准系数。每次上电读一次,运行中几乎不写。用了十年都没坏——嗯,这玩意儿寿命确实长,擦写次数通常100万次以上。

注意:EEPROM虽然可以字节擦写,但写入速度很慢(ms级)。别拿它当内存用,否则你会等到怀疑人生。

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分层方案了。

核心观点:PCM/3D XPoint的技术潜力巨大,但商业化之路坎坷。它告诉我们一个道理——技术好不等于能赚钱。

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
我的经验:别追求「最好的技术」,要找「最合适的」。我在一个项目里用FRAM替代EEPROM,成本涨了3倍,但写入速度提升了100倍,客户很满意。另一个项目用MRAM替代SRAM+电池,虽然MRAM贵,但省掉了电池维护成本,总体反而更划算。

好了,这一章我们梳理了主流NVM技术的特点、优缺点和适用场景。下一章我会深入讲NAND Flash的FTL(闪存转换层)设计——这可是嵌入式存储的核心难点,到时候咱们好好聊聊。