深入浅出SSD之闪存基础知识

  闪存(Flash Memory)是一种非易失性存储器,即使在断电后也能保留数据。它广泛应用于USB闪存驱动器、SSD(固态硬盘)、手机、相机等设备中。

一、闪存结构

1、浮栅晶体管基本结构

  控制栅(Control Gate):用于施加电压以控制晶体管的开关。写操作在控制极施加一个大的正电压;擦除操作在衬底施加正电压;读取操作在控制栅上施加一个特定的读取电压。
  浮栅(Floating Gate):位于控制栅和沟道之间,用于存储电荷。
  沟道(Channel):连接源极(Source)和漏极(Drain)的导电通道。当在 控制栅上施加电压时,会在衬底表面形成一个反型层,这个反型层就是沟道。
  氧化层(Oxide Layer):浮栅周围的绝缘层,防止电荷泄漏。
  衬底(Substrate):衬底是晶体管的基础材料,通常是 P型 或 N型 的硅片。


浮栅晶体管结构
2、闪存块基本结构

a.层次结构
  块(Block):最小的擦除单位,一个块由多个 页(Page) 组成,在 NAND 闪存中,块通常包含 64 到 256 页。
  页(Page):最小的读写单位,一个页由多个存储单元组成,通常为 4KB、8KB 或 16KB。
  存储单元(Cell):存储数据的基本单元。
b.存储单元
  SLC(Single-Level Cell):每个单元存储 1 比特;擦写100000次。
  MLC(Multi-Level Cell):每个单元存储 2 比特;擦写15000次。
  TLC(Triple-Level Cell):每个单元存储 3 比特;擦写3000~5000次。
  QLC(Quad-Level Cell):每个单元存储 4 比特;擦写800~1500次。
c.闪存块结构
  存储单元按行和列排列,形成一个二维矩阵,每行存储单元连接到一个 字线(WL),每列存储单元连接到一个 位线(BL)。
  字线(Wrod Line,WL):是连接一行存储单元的控制线,在读取或写入操作中,字线用于选择特定的行,当字线被激活时,该行中的所有存储单元会被连接到对应的位线。
  位线(Bit Line,BL):连接一列存储单元的数据线,在读取或写入操作中,位线用于传输数据,每个位线连接到一个 读出放大器(Sense Amplifier),用于检测存储单元的状态。

闪存块结构

3、存储原理

  若把浮栅极没有电子用“1”表示,存储一定量电子用“0”表示,就能使用浮栅晶体管来存储数据。
a.写操作
  与要编程的闪存页对应字线上加一个高电压Vprog,位线上施加电压0V,如下图单元1;在其他不需编程的闪存页的字线上加个稍微大点的电压Vpass,同时不需编程的位线上施加一个高电压Vinh,如下图单元0、2和3。
  上述完成后,在编程的字线上施加一个大电压,读取数据做验证,看存储单元是否已编程到目标状态,若不是,则在加大电压继续编程,直至存储单元已编程到目标状态;如果在允许的写入时间内,闪存中编程不到位的存储单元个数始终超过闪存厂商设置的阈值,则写入失败,这些闪存块需被标为坏块,后续不再使用。

写操作原理

b.擦除操作
  擦除闪存块时,要在所有字线的控制极(WL)上加0V电压,在衬底加高电压(BL),然后闪存块上所有存储单元在隧道效应作用下,把浮栅极里面电子拉出来,达到清空存储单元目的。
  上述完成后,闪存内部存在一个验证过程,即读取存储单元,看是否都处于擦除状态,若不是,继续擦除(加大衬底电压,电场变强)。如果在允许的擦除时间内,闪存块中擦除不干净的单元始终超过闪存厂商设置的阈值,则擦除失败,这些闪存块需被标为坏块,后续不再使用。

擦除操作原理

c.读操作
  在不读取的其他字线WL上施加Vpass电压,确保晶体管无论什么状态都是导通的,然后给每个位线充电;根据所读类型(LP、MP、UP)在WL1上施加不同参考电压,通过一次或多次施加不同参考电压,最终确定所有晶体管所处的状态。

读操作原理

d.阈值电压
  每个存储单元都对应一个阈值电压(在控制极施加大于该电压的电压,则导通,否则截止)
  以MLC闪存为例,如图,是编程好的MLC闪存页的阈值电压分布图;
  Vr1,Vr2,Vr3:默认读参考电压,即读不同闪存页的时候,在要读闪存页控制极施加的电压。如读LP时,需施加Vr2;读UP时,需先后施加Vr1和Vr3。
  Vpv1,Vpv2,Vpv3:编程-验证电压,在编程一段时候后,需要做读取验证,即在控制极施加电压Vpv1,然后通过存储单元的导通状态来判断编程是否到位。
  Vpass:比所有编程状态下阈值电压都要高的电压。

阈值电压分布

二、存在的缺陷

1、磨损

  指由于频繁的编程(写入)和擦除操作导致存储单元逐渐退化,最终失效的现象。
a.磨损原因
  浮栅晶体管的氧化层退化:每次编程和擦除操作都会在浮栅晶体管的氧化层中产生应力。随着时间的推移,氧化层会逐渐退化,导致电荷泄漏或存储单元失效。
  电子注入和隧穿效应:编程和擦除操作依赖于电子通过氧化层的隧穿效应。频繁的电子注入和隧穿会损坏氧化层,降低存储单元的可靠性。
b.磨损的表现
  阈值电压漂移:存储单元的阈值电压逐渐变化,导致读取错误。
  数据保持能力下降:存储单元中的电荷更容易泄漏,数据保存时间缩短。
  坏块增加:存储单元失效后,整个块可能被标记为坏块(Bad Block)。
c.磨损的影响
  数据可靠性下降:随着磨损的增加,存储单元更容易发生错误。
  寿命缩短:当 P/E 周期(是指一个存储单元被编程和擦除的次数)达到上限时,存储单元可能完全失效。
  性能下降:坏块增加会导致读写性能下降。

2、读干扰

  指在读取操作中,对目标存储单元进行电压施加时,可能会对同一个块的其他存储单元产生干扰,导致其数据状态发生改变的现象。这是 NAND 闪存的一种固有特性,可能会影响数据的可靠性和闪存的寿命。
  如下图,为确保其他浮栅晶体管导通,需在其他字线施加Vpass电压,造成轻微写而导致位翻转,通常发生在相邻字线上。读的是WL1,但WL0和WL2受到影响。

读干扰原理

a.读干扰原因
  共享字线(Word Line):在 NAND 闪存中,同一块中的存储单元共享字线。当读取某个存储单元时,字线上会施加一定的电压,这可能会对同一字线上的其他存储单元产生影响。
  电子隧穿效应:读取电压可能导致邻近存储单元的浮栅中电子发生隧穿,改变其电荷状态。
  氧化层退化:频繁的读取操作会加速氧化层的退化,增加读干扰的风险。
b.读干扰的表现
  阈值电压漂移:邻近存储单元的阈值电压可能发生漂移,导致数据错误。
阈值电压分布右移.png

  数据状态改变:原本存储的 0 可能变为 1,或者相反。
  错误累积:随着读取次数的增加,读干扰的影响会逐渐累积,最终导致数据失效。
c.读干扰的影响
  数据可靠性下降:读干扰可能导致数据错误,影响系统的可靠性。
  寿命缩短:频繁的读干扰会加速存储单元的退化,缩短闪存的寿命。
  性能下降:为了纠正读干扰引起的错误,可能需要额外的读取和重写操作,降低性能。

3、写干扰

  指在编程(写入)操作中,对目标存储单元施加电压时,可能会对同一块(Block)中的其他存储单元产生干扰,导致其数据状态发生改变的现象。通常发生在所在字线,无需编程的存储单元。抑制编程干扰:对需要编程的存储单元所在位线上其他单元的干扰。


写干扰原理

a.写干扰原因
  共享字线(Word Line)和位线(Bit Line):在 NAND 闪存中,同一块中的存储单元共享字线和位线。当编程某个存储单元时,字线和位线上会施加高电压,这可能会对同一字线或位线上的其他存储单元产生影响。
  电子隧穿效应:编程电压可能导致邻近存储单元的浮栅中电子发生隧穿,改变其电荷状态。
  氧化层退化:频繁的编程操作会加速氧化层的退化,增加写干扰的风险。
b.写干扰的表现
  阈值电压漂移:邻近存储单元的阈值电压可能发生漂移,导致数据错误。
  数据状态改变:原本存储的 0 可能变为 1,或者相反。
  错误累积:随着编程次数的增加,写干扰的影响会逐渐累积,最终导致数据失效。
c.写干扰的影响
  数据可靠性下降:写干扰可能导致数据错误,影响系统的可靠性。
  寿命缩短:频繁的写干扰会加速存储单元的退化,缩短闪存的寿命。
  性能下降:为了纠正写干扰引起的错误,可能需要额外的读取和重写操作,降低性能。

4、数据保持

  数据保持是指 NAND 闪存中存储的数据在长时间未通电的情况下能够保持不丢失的能力(电子流失)。
a.电荷泄漏
  原因:浮栅中的电荷通过氧化层逐渐泄漏。
  影响因素:
    氧化层质量:氧化层的缺陷会加速电荷泄漏。
    温度:高温会显著增加电荷泄漏的速度。
    编程/擦除次数:随着 P/E 周期的增加,氧化层退化,电荷泄漏加剧。
b.数据保持时间
  典型值:
    SLC(Single-Level Cell):通常为 10 年。
    MLC(Multi-Level Cell):通常为 1-3 年。
    TLC(Triple-Level Cell):通常为 1 年或更短。
  实际值:受使用环境和工作负载影响,实际数据保持时间可能显著缩短。

5、存储单元之间干扰

  存储单元之间的干扰是指在编程或读取一个存储单元时,可能会对邻近的存储单元产生干扰,导致其数据状态发生改变。
a.电容耦合干扰(Capacitive Coupling)
  原因:存储单元之间的电容耦合效应,导致一个存储单元的电荷变化影响邻近存储单元的阈值电压。
  表现:邻近存储单元的阈值电压发生漂移,导致数据错误。
  举例:假设中间字线的cell 4已经编程到目标状态,接下来继续写下一个闪存页,当往cell 6~8中注入电子,由于寄生电容存在,会使前面已经写好的cell 4电荷发生变化,可能导致cell 4发生位翻转。如下图。

cell之间的寄生电容

三、上述缺陷的解决方案

1、ECC纠错

a.ECC 的基本原理
  错误检测:通过添加冗余数据(校验位),检测数据中的错误。
  错误纠正:根据校验位的信息,定位并纠正错误比特。
  纠错能力:ECC 的纠错能力取决于所使用的算法和校验位的数量。常见的 ECC 算法可以纠正 1 到多位错误。
b.NAND 闪存中的错误类型
  随机错误:单个比特的错误,通常由电荷泄漏或噪声引起。
  突发错误:连续多个比特的错误,通常由读干扰、写干扰或物理损坏引起。
  阈值电压漂移:由于存储单元的阈值电压漂移,导致读取时误判数据状态。
c.常见的 ECC 算法
  汉明码(Hamming Code):
    纠错能力:1 位错误检测和纠正。
    应用场景:早期 SLC NAND 闪存。
    特点:实现简单,但纠错能力有限。
  BCH 码(Bose-Chaudhuri-Hocquenghem Code):
    纠错能力:可纠正多位错误(通常 4 到 24 位)。
    应用场景:MLC 和 TLC NAND 闪存。
    特点:纠错能力强,但计算复杂度较高。
  LDPC 码(Low-Density Parity-Check Code):
    纠错能力:可纠正多位错误,性能接近香农极限。
    应用场景:TLC 和 QLC NAND 闪存。
    特点:纠错能力极强,但实现复杂,需要较高的计算资源。
d.ECC 的工作流程
  写入数据:数据被分割成固定大小的块(如 512 字节或 1KB)。ECC 算法生成校验位,并附加到数据块中。数据和校验位一起写入 NAND 闪存。
  读取数据:从 NAND 闪存中读取数据和校验位。ECC 算法检测数据中的错误。如果发现错误,尝试纠正错误并返回正确的数据。
  错误处理:如果错误在 ECC 的纠错能力范围内,数据会被自动纠正。如果错误超出纠错能力范围,系统会报告不可纠正的错误(Uncorrectable Error)。

ECC工作流程

e.ECC 的实现方式
  硬件实现:
    控制器内置 ECC:现代 NAND 闪存控制器通常内置 ECC 引擎,支持 BCH 或 LDPC 算法。
    专用 ECC 芯片:在某些高性能应用中,使用专用芯片实现 ECC。
  软件实现:
    固件 ECC:通过固件实现 ECC 算法,适用于资源受限的嵌入式系统。
    操作系统支持:某些操作系统提供 ECC 支持,用于文件系统级别的错误检测和纠正。

2、重读(read retry)

  重读是一种在读取数据时检测到错误后,通过调整读取参数重新尝试读取数据的技术。
a.工作原理
  当 ECC 检测到数据错误但无法纠正时,系统会触发重读机制。调整读取电压(Read Voltage)或读取时序(Read Timing),重新读取数据。通过多次重试,可能成功读取正确的数据。

b.应用场景
  阈值电压漂移:由于存储单元的阈值电压漂移,初始读取可能失败,重读可以调整电压以匹配当前状态。
  读干扰:重读可以减轻读干扰对数据的影响。
c.优点
  提高数据读取的成功率。
  减少不可纠正错误的发生。
d.缺点
  增加读取延迟。
  频繁重读可能加速存储单元的磨损。

3、数据刷新

  数据刷新是一种通过定期读取和重写数据,纠正电荷泄漏和干扰引起的错误的技术。
a.工作原理
  定期扫描存储块,读取数据并检测错误。如果发现错误,使用 ECC 纠正错误并重写数据。刷新频率可以根据数据保持时间和使用环境动态调整。
b.应用场景
  数据保持能力下降:电荷泄漏导致数据错误。
  读干扰和写干扰:刷新可以纠正干扰引起的错误。
c.优点
  延长数据保持时间。
  提高数据可靠性。
d.缺点
  增加写入操作,可能加速闪存磨损。
  需要额外的计算和存储资源。

4、RAID

  RAID 是一种通过将多个磁盘组合成一个逻辑单元,提高数据可靠性和性能的技术(ECC纠不过来情况)。
a.常见 RAID 级别
  RAID 0:条带化(Striping),提高性能,但没有冗余。
  RAID 1:镜像(Mirroring),提供数据冗余。
  RAID 5:条带化加奇偶校验,提供数据冗余和性能平衡。
  RAID 6:双奇偶校验,允许两个磁盘同时故障。
b.在 NAND 闪存中的应用
  RAID 5:磁盘内部本质是一个闪存阵列,假设现有一个4个Die的SSD,写入用户数据A~G,通过异或生成校验数据;如下图所示:

RAID5原理

注意:RAID5只能恢复单个ECC不可纠错误
c.优点
  提高数据可靠性和容错能力。
  提升读写性能(RAID 0 和 RAID 5)。
d.缺点
  增加存储开销(如 RAID 1 和 RAID 5 的冗余数据)。
  实现复杂,需要额外的硬件或软件支持。

四、性能相关特性

1、多Plane操作

  多Plane操作通过增加同一Die内多个Plane的并发读写能力提升性能,具体表现为:
  写入优化:数据先写入各Plane的页缓存,待所有Plane数据传输完成后统一写入闪存介质。这种方式将多个Plane的写入时间重叠,显著缩短总耗时。
  读取优化:不同Plane的数据可同时读取到各自的页缓存,最后一次性传输,尤其适用于顺序读取场景。
  限制与提升:Plane数量越多,并发度越高,但多Plane操作要求读写页编号一致,这在随机读取时难以满足。因此,该特性更适用于写入或顺序读操作。

2、缓存读写

  每个Plane配备独立的页缓存(Page Register)和闪存缓存(Cache Register),通过双缓冲设计优化效率:
  写入隐藏传输时间:数据先写入缓存,控制器无需等待闪存介质的实际写入完成即可处理后续操作,从而提升吞吐量。
  读取预加载与保护:缓存支持预加载数据,减少访问延迟;同时,足够大的缓存可避免频繁触发Read Disturb(读干扰),延长闪存寿命。
  风险与设计:缓存数据在异常断电时可能丢失,需依赖硬件或固件机制(如电容备份)保障数据完整性

3、异步Plane操作

  针对多Plane操作在随机读取场景的局限性,异步Plane操作允许不同Plane独立执行命令:
  随机读取优化:同一Die内的多个Plane无需等待前一个读操作完成即可接收新命令,显著提升单Die的随机读取并行度。
  技术实现:需NAND硬件支持异步操作模式,且控制器需具备调度不同Plane任务的能力。
  实际应用:例如长江存储的Xtacking 3.0架构结合多Plane异步读写命令,使NAND接口带宽提升50%,大幅改善随机性能

五、3D闪存

1、3D NAND的诞生背景

  2D NAND的瓶颈:随着工艺制程微缩(如20nm以下),存储单元间距缩小导致电荷干扰(Cell-to-Cell Interference)加剧,漏电和可靠性问题突出,难以继续提升密度。
  3D方案的突破:通过垂直堆叠存储单元,在相同面积上增加层数(如128层、232层),摆脱对制程微缩的依赖,同时降低单元间干扰。

2、核心技术原理

a.垂直堆叠结构
  存储单元垂直排列:采用多层堆叠的存储单元串(如Charge Trap结构),每层通过蚀刻形成垂直通道(Channel Hole),连接底层到顶层的存储单元。
  工艺创新:使用高深宽比蚀刻(High Aspect Ratio Etching)、原子层沉积(ALD)等技术,实现纳米级垂直通道的精确加工。
b.电荷捕获技术(Charge Trap, CT)
  取代浮栅结构:传统2D NAND使用浮栅晶体管(FG,Floating Gate)存储电荷,而3D NAND多采用电荷捕获层(如氮化硅SiN)存储电荷,降低漏电风险。
  优势:电荷捕获层对缺陷容忍度更高,支持更小的单元尺寸和更高的堆叠层数。
c.外围电路分离设计
  Xtacking(长江存储) :将存储单元阵列(Cell Array)与外围电路(CMOS逻辑)分别制造,再通过垂直互联技术(如混合键合)集成,提升I/O速度并缩小芯片面积。
  CuA(铠侠/西数) :将外围电路置于存储阵列下方,优化信号传输路径。

3、主流3D NAND架构类型
架构 特点 代表厂商
VG(垂直栅极) 存储单元垂直排列,栅极环绕通道(类似3D FinFET) 三星(V-NAND)
CT(电荷捕获) 使用电荷陷阱层(SiN)存储电荷,取代浮栅结构 美光、SK海力士、长江存储
FG(浮栅) 保留浮栅结构但垂直堆叠,工艺复杂 英特尔(已退出)
4、3D NAND的核心优势

  存储密度提升:层数增加直接提升容量(如单Die容量从2D的256Gb提升至3D的1Tb以上)。
  可靠性增强:
    电荷捕获技术减少漏电,寿命延长(P/E Cycles可达数千次)。
    单元间距增大,降低读/写干扰(如Program Disturb)。
  性能优化:
    更高的并行度(多Plane、异步操作)提升吞吐量。
    外围电路优化(如Xtacking)提升接口速率(可达2400MT/s)。
    成本降低:单位容量的制造成本随层数增加而下降。
~文章已经结束了~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容