持久内存的兴衰 —— NVDIMM 与 Optane 的故事

CPU 缓存 / DRAM / SSD 三层存储体系在 2010 年代被认为还差一层——介于 DRAM 和 SSD 之间的”持久内存“。这个概念产出了 NVDIMM 和 Intel Optane,结局并不好。本文梳理这段技术路线。

持久内存的概念

1
2
3
4
5
6
7
8
9
10
11
┌─────────────────┐  延迟 ~1ns
│ CPU 寄存器/缓存 │
└─────────────────┘
┌─────────────────┐ 延迟 ~80 ns,断电丢失
│ DRAM │
└─────────────────┘

▼ 这里有个"鸿沟"
┌─────────────────┐ 延迟 ~10 万 ns,断电保留
│ SSD │
└─────────────────┘

鸿沟:DRAM 比 SSD 快 1000 倍但断电就丢;SSD 持久但慢得多。

理想中的”持久内存”应该:

  • 延迟 100-500 ns(比 DRAM 慢一点)
  • 断电不丢
  • 用 DRAM 接口(CPU 直接 load/store)
  • 容量比 DRAM 大、比 SSD 小
  • 价格比 DRAM 便宜、比 SSD 贵

这个”理想中间层”催生了多次尝试。

NVDIMM:第一代尝试

NVDIMM-N(DRAM + 备份 Flash)

1
2
3
4
5
DIMM 内:
- DRAM 颗粒(正常工作)
- NAND Flash 颗粒(备份介质)
- 控制器
- 备份电池/超级电容

工作模式:

  • 平时按 DRAM 跑
  • 检测到掉电时,电池供电几秒钟
  • 控制器把 DRAM 内容写入 NAND
  • 来电后从 NAND 恢复到 DRAM

效果:对应用透明的”断电不丢内存”。Linux 上看到 /dev/pmem* 设备,可以挂载 ext4-DAX/xfs-DAX 文件系统。

缺点:

  • 容量受限(一条最多 32 GB 量级)
  • 电池/电容是消耗品,3-5 年要换
  • 价格高(DRAM + Flash + 备份电源)
  • 主板需要 NVDIMM-N 兼容
  • 真正用的不多——只在金融、特定数据库场景

NVDIMM-F(纯 Flash)

把 NAND Flash 装到 DIMM 上、伪装成块设备。本质是”DIMM 接口的 SSD”——延迟比真正的内存还是高几个数量级,没什么人买。

NVDIMM-F 基本是个失败的中间方案。

NVDIMM-P

JEDEC 规划的”真正持久内存”标准。延迟介于 DRAM 和 NVDIMM-F 之间,但始终没有大规模量产——因为 Optane 抢了所有目标市场。

Intel Optane:3D XPoint 的高光时刻

Intel 和 Micron 在 2015 年联合发布 3D XPoint——一种全新的非易失存储介质:

  • 不是 NAND,不是 DRAM
  • 基于”电阻变化“原理(细节有保密成分)
  • 字节寻址(不像 NAND 必须块读写)
  • 写入次数远高于 NAND(10⁵-10⁶ 次 vs NAND 的 10³-10⁴ 次)
  • 延迟约 100-300 ns,比 NAND 快 1000 倍

3D XPoint 产品化为两条线:

1. Optane SSD

NVMe 协议的 SSD,4K 随机延迟 ~10 μs(vs NAND SSD ~80 μs)。代表型号:P4800X、P5800X。

主要用于:

  • 数据库存储引擎(高 IOPS、低延迟)
  • 内存缓存层(”暖数据” tier)
  • HPC scratch

2. Optane Persistent Memory(PMEM)

最有想象空间的一条线——直接做成 DDR4/DDR5 兼容的 DIMM

1
2
3
4
Optane PMEM 200 series(Apache Pass 起到 Crow Pass)
- 容量:128 / 256 / 512 GB 单条(远超 DRAM)
- 延迟:~300-400 ns(约 DRAM 的 4 倍)
- 接口:DDR-T(Intel 私有),物理上是 DDR4/5 DIMM

两种工作模式:

Memory Mode(内存模式)

1
2
3
应用看到:256 GB DRAM
实际: 32 GB DRAM 当 Optane 的 cache
224 GB Optane 当主存

对应用完全透明,容量超大,但延迟比纯 DRAM 高、性能取决于命中率。

App Direct Mode(应用直访模式)

1
2
3
应用看到两个独立设备:
- DRAM(正常用)
- Optane PMEM(持久、字节寻址)

应用要用专门的 SDK(如 Intel PMDK)来读写,断电后内容保留

Optane 的设想中应用

graph TB
  A1[超大内存数据库
SAP HANA, Aerospike] A2[Redis 持久化加速
避免 RDB/AOF 写盘] A3[Java 大堆
避免 OOM] A4[超融合存储
低延迟元数据] PMEM[Optane PMEM] --> A1 & A2 & A3 & A4

Optane 的退场

2022 年 7 月,Intel 宣布结束 Optane 业务。原因:

1. Micron 先退出(2021)

3D XPoint 是 Intel + Micron 联合开发,Micron 2021 年宣布退出并卖掉 Lehi 工厂。Intel 继续生产但失去伙伴。

2. 商业逻辑没跑通

  • 价格:比 DRAM 便宜 30-40%——但远不够替换大规模 DRAM
  • 性能:比 DRAM 慢 4-10 倍——很多场景宁愿加 DRAM
  • 应用生态:除了 SAP HANA / Redis,很难找到大规模应用愿意改代码用 PMDK
  • 客户教育成本太高

3. Sapphire Rapids 之后无规划

Intel Xeon SPR(2023)只支持到 PMEM 300 series,之后Granite Rapids 不再支持 Optane——硬件路线终结。

4. CXL 取而代之

业界走向:用 CXL 实现”DRAM 扩展 + 持久内存接入”,比私有 DDR-T 协议更通用。

1
2
3
4
5
2017:Optane 概念出炉
2018:第一代 Apache Pass 量产
2019-2021:少量进入金融/数据库市场
2022.07:Intel 官宣终止
2025:库存清完,新平台无 Optane

Optane 走后留下的真空

很多被宣传”用 Optane 解决”的场景留了下来——市场怎么应对:

场景 Optane 时代方案 后 Optane 方案
超大单机内存 几 TB Optane PMEM 多 TB DRAM(Genoa 12 通道 + 256GB LRDIMM)
内存数据库持久化 App Direct + PMDK DRAM + 高速 SSD + 软件层日志
缓存层 Memory Mode Redis + NVMe SSD + RDMA
持久内存研究 Optane CXL Persistent Memory

CXL 持久内存目前还在标准化和早期产品化——三星、SK海力士已展示原型。

待补充:当前 CXL Persistent Memory 量产产品和规格。

还在卖的”NVDIMM”

NVDIMM-N 没有完全消失:

  • 部分企业存储设备(NetApp、Dell EMC)继续用做写缓存
  • 银行、电信关键交易系统少量在用
  • DDR5 时代有 NVDIMM-N 演进版(容量翻倍),但小众

通用云厂商基本不用——MTBF 不如 RAM-only 设计 + 远程多副本。

持久内存的”反思”

为什么这个看起来很美的方向会失败?

1. 应用很难”双形态”

DRAM 是 volatile 的、SSD 是 block 的,开发者长期适应了这个模型。”既是内存又持久”听上去美好,但应用必须改 API、改事务模型、要管 cache flush——改造成本远大于收益

2. DRAM 持续涨容量

DDR5 时代单 DIMM 256GB 已是常态,12 通道 × 2DPC 一台机器轻松上 6TB。Optane 试图填补的”容量真空”被 DRAM 自己填上一半。

3. SSD 进步太快

NVMe SSD 4K 读延迟从 80 μs 降到 20 μs,配合 RDMA 跨机访问 50-100 μs——和 Optane 的差距在缩小。

4. CXL 出现

业界看到 CXL 这条更开放、更通用的路,没必要继续投私有协议

一张时间线总结

graph LR
  N1[2014
JEDEC NVDIMM 标准] --> N2[2015
3D XPoint 发布] N2 --> N3[2018
Optane PMEM 量产] N3 --> N4[2021
Micron 退出] N4 --> N5[2022.07
Intel 终止] N5 --> CXL[2024+
CXL Memory 接力]

小结

  • 持久内存的概念:填补 DRAM 与 SSD 之间的延迟和持久性鸿沟
  • NVDIMM-N 用 DRAM + Flash 备份实现,小众但仍有零星应用
  • Intel Optane PMEM 是最大胆的尝试,2018-2022 年间有过短暂高光
  • Optane 失败的核心原因不是技术,而是应用生态没跟上 + DRAM/SSD 各自进化太快
  • 之后接力的是 CXL 内存——下一篇专题讲

下一篇讲 HBM——AI 时代的”高带宽内存”,把内存堆到 GPU 边上的颠覆性方案。