第二讲:存储介质深度解析——NAND Flash原理与分类、3D NAND技术演进、Intel Optane持久内存

大家好,欢迎来到第二讲。今天我们要聊的,是嵌入式存储最核心的东西——存储介质本身。

很多人觉得NAND Flash就是个黑盒子,往里写数据、往外读数据就完了。但说实话,如果你不理解它的内部原理,性能优化根本无从谈起。我见过太多工程师,调了半天驱动,结果问题出在Flash本身的特性上。

好,我们直接进入正题。

NAND Flash的基本原理

NAND Flash,本质上是一个由浮栅晶体管组成的存储阵列。每个晶体管可以存储电荷,电荷的多少决定了它代表的数据。

为什么叫“浮栅”?因为它的控制栅和沟道之间,多了一层悬浮的栅极,被绝缘层包裹着。电荷注入进去之后,即使断电也不会丢失。这就是非易失性的来源。

写入数据时,我们通过隧穿效应把电子注入浮栅。擦除时,再把电子拉出来。读数据时,测量晶体管的阈值电压变化——电荷越多,阈值电压越高。

嗯,这里要注意:NAND的读写单位不一样。读和写是以页(Page)为单位的,通常是4KB、8KB或16KB。但擦除是以块(Block)为单位的,一个块包含多个页,比如128页或256页。

为什么擦除这么大?因为浮栅的绝缘层很脆弱,频繁擦除会损坏它。所以设计成一次性擦除一大片,减少磨损。我在项目中遇到过有人试图按字节擦除,结果芯片直接报错——这是硬件限制,软件绕不过去。

SLC / MLC / TLC / QLC:每单元存储多少比特

好,接下来是分类。说白了,就是每个存储单元(Cell)能存几个比特。

类型 每单元比特数 阈值电压等级 典型P/E寿命 典型用途
SLC 1 2 5万~10万次 工业级、企业级缓存
MLC 2 4 1万~3万次 消费级SSD、嵌入式
TLC 3 8 3000~5000次 主流消费级SSD
QLC 4 16 1000~1500次 大容量归档存储

你想想看,SLC只有两个电压状态,0和1,判断起来非常容易。所以它速度快、寿命长、功耗低。但容量小、成本高。

到了QLC,一个单元要区分16种电压状态。电压窗口被切得很细,稍微有点干扰就会读错。所以QLC需要更复杂的纠错算法(LDPC),而且写入速度慢得多。

我个人习惯,在工业级嵌入式项目里,首选SLC或pSLC(把MLC/TLC当SLC用)。虽然容量小一点,但可靠性是第一位的。我曾经在一个车载项目里用了TLC,结果高温下数据保持时间不够,后来全部换成了SLC——教训深刻。

3D NAND技术演进

平面NAND做到1x nm节点后,基本到头了。再缩小,浮栅之间的干扰大到无法接受。怎么办?

把存储单元堆叠起来,从二维变成三维。这就是3D NAND。

2013年,三星率先量产了24层3D NAND。到现在,200层以上的产品已经量产了。层数越多,单位面积容量越大,成本越低。

3D NAND还有一个好处:性能比平面NAND更好。因为每个单元的体积更大,电荷存储能力更强,读写速度反而提升了。

我记得2015年帮客户做SSD选型时,平面TLC的写入速度只有100MB/s左右。到了3D TLC,轻松跑到500MB/s以上。这就是技术演进的力量。

关键点:3D NAND的P/E寿命并不随层数增加而显著下降。因为每个单元本身没有变小,只是堆叠起来了。所以64层3D TLC的寿命,和32层3D TLC基本相当。

但要注意,3D NAND的工艺复杂度高,良率控制是个挑战。而且层数越高,内部互联的电阻电容越大,对驱动电路的要求也越高。

Intel Optane持久内存技术

好,接下来聊一个特殊的东西——Intel Optane。

Optane不是NAND Flash。它基于3D XPoint技术,使用相变材料(PCM)。说白了,就是通过改变材料的晶态和非晶态来存储数据。

它有什么特别之处?

  • 延迟低:接近DRAM,远低于NAND。读延迟约10微秒,NAND是几十到上百微秒。
  • 寿命长:P/E次数可达百万级,远超NAND。
  • 字节可寻址:不像NAND要按页读写,Optane可以直接按字节访问。
  • 持久性:断电不丢数据。

Intel把Optane做成两种产品形态:一种是Optane SSD(用NVMe接口),另一种是Optane持久内存(插在内存槽上)。

持久内存模式很有意思。你可以把它当成内存用,但数据掉电不丢。这在数据库、日志系统、缓存加速等场景下非常有用。

我曾经帮一个金融客户做交易系统优化。他们的数据库需要频繁写日志,用NAND SSD的话,写放大和延迟抖动很严重。换成Optane持久内存后,延迟从毫秒级降到了微秒级,而且写寿命不再是问题。

实用建议:如果你在做高频交易或实时数据分析,可以考虑Optane持久内存作为写缓存层。把热数据放在Optane上,冷数据下沉到NAND SSD。这样既保证了性能,又控制了成本。

不过,Optane也有缺点。容量密度不如NAND,价格也贵。而且Intel在2022年宣布停止Optane业务,后续支持是个问题。所以选型时要慎重。

避坑指南:我曾经在一个项目里过度依赖Optane的字节寻址特性,把整个数据结构都映射到持久内存上。结果发现,频繁的小粒度写入会导致相变材料局部过热,反而影响寿命。后来我改成批量写入,问题就解决了。记住:任何存储介质都有它的脾气,摸透了才能用好。

小结

这一讲我们覆盖了三个核心内容:

  • NAND Flash的基本原理:浮栅晶体管、页读写、块擦除
  • SLC/MLC/TLC/QLC的差异:每单元比特数、电压等级、寿命、用途
  • 3D NAND的演进:从平面到堆叠,性能与容量的双提升
  • Intel Optane持久内存:低延迟、字节寻址、持久化,但要注意使用方式

下一讲,我们会深入NAND Flash的控制器架构和FTL(Flash Translation Layer)。到时候我会分享一些实际项目中的FTL调优经验,敬请期待。

公众号:蓝海资料掘金营,微信deep3321