闪存
字数 1191 2025-11-10 12:13:51

闪存

闪存是一种非易失性存储技术,它允许在断电后保留数据,并能够通过电信号进行擦除和重复写入。其核心原理基于浮栅晶体管结构。

浮栅晶体管与普通MOSFET类似,但在栅极(控制栅)和沟道之间嵌入了一个被绝缘层(通常是二氧化硅)完全包围的浮置栅极。当在控制栅施加足够高的正电压时,沟道中的电子会获得足够能量,穿过隧穿氧化层,被捕获在浮栅上,这个过程称为“编程”或“写入”,它改变了晶体管的阈值电压,使其代表数据“0”。反之,通过施加负电压或利用 Fowler-Nordheim 隧穿效应,可以将电子从浮栅拉出,使其复位为“1”,即“擦除”操作。数据的读取则通过施加一个参考电压检测晶体管是否导通来实现。

根据存储单元的组织架构和连接方式,闪存主要分为两种类型:

  1. NOR Flash:其内存单元以并行方式连接,允许对每个存储单元进行随机访问。这种特性使得CPU可以直接从NOR Flash中读取并执行代码(称为XIP,就地执行),因此它通常用于存储设备固件、引导程序等对执行速度要求高但容量需求不大的场景。但其写入和擦除速度较慢,且容量相对较小。
  2. NAND Flash:其内存单元以串联方式连接(类似NAND逻辑门),仅支持按“页”进行读写,按“块”进行擦除。这种结构使其存储密度远高于NOR Flash,成本更低,且在写入和擦除速度上具有优势。然而,它不支持XIP,必须将代码和数据先加载到RAM中才能执行。因此,NAND Flash是现代大容量存储设备(如SSD、eMMC、U盘、存储卡)的主流技术。

为了在有限的物理单元上存储更多数据,闪存发展出不同的存储层次:

  • SLC:每个存储单元只存储1比特数据(1或0)。它速度快、耐用性(可擦写次数)极高、可靠性好,但成本最高。
  • MLC:每个存储单元存储2比特数据(00, 01, 10, 11)。通过精确控制浮栅上的电子数量来区分四种状态。它在容量、成本和性能间取得平衡,但耐用性低于SLC。
  • TLC:每个存储单元存储3比特数据(8种状态)。进一步提升了存储密度和降低了成本,但代价是写入速度更慢、耐用性更低。
  • QLC:每个存储单元存储4比特数据(16种状态)。拥有最高的存储密度和最低的单位成本,但耐用性和写入速度是所有类型中最差的。

由于NAND Flash的物理特性(必须先擦除才能写入,且擦除以块为单位),以及随着制程微缩和MLC/TLC/QLC的普及带来的可靠性挑战,直接管理原始闪存变得非常复杂。因此,在实际应用中,需要一个专门的控制器和一套复杂的固件算法,即闪存转换层。FTL负责逻辑区块地址到物理区块地址的映射、磨损均衡、垃圾回收、坏块管理以及纠错码等关键功能,将原始的、有缺陷的NAND Flash模拟成一个可靠、易用的块设备提供给操作系统。你之前学过的固态硬盘控制器就是执行FTL功能的硬件核心。

闪存 闪存是一种非易失性存储技术,它允许在断电后保留数据,并能够通过电信号进行擦除和重复写入。其核心原理基于浮栅晶体管结构。 浮栅晶体管与普通MOSFET类似,但在栅极(控制栅)和沟道之间嵌入了一个被绝缘层(通常是二氧化硅)完全包围的浮置栅极。当在控制栅施加足够高的正电压时,沟道中的电子会获得足够能量,穿过隧穿氧化层,被捕获在浮栅上,这个过程称为“编程”或“写入”,它改变了晶体管的阈值电压,使其代表数据“0”。反之,通过施加负电压或利用 Fowler-Nordheim 隧穿效应,可以将电子从浮栅拉出,使其复位为“1”,即“擦除”操作。数据的读取则通过施加一个参考电压检测晶体管是否导通来实现。 根据存储单元的组织架构和连接方式,闪存主要分为两种类型: NOR Flash :其内存单元以并行方式连接,允许对每个存储单元进行随机访问。这种特性使得CPU可以直接从NOR Flash中读取并执行代码(称为XIP,就地执行),因此它通常用于存储设备固件、引导程序等对执行速度要求高但容量需求不大的场景。但其写入和擦除速度较慢,且容量相对较小。 NAND Flash :其内存单元以串联方式连接(类似NAND逻辑门),仅支持按“页”进行读写,按“块”进行擦除。这种结构使其存储密度远高于NOR Flash,成本更低,且在写入和擦除速度上具有优势。然而,它不支持XIP,必须将代码和数据先加载到RAM中才能执行。因此,NAND Flash是现代大容量存储设备(如SSD、eMMC、U盘、存储卡)的主流技术。 为了在有限的物理单元上存储更多数据,闪存发展出不同的存储层次: SLC :每个存储单元只存储1比特数据(1或0)。它速度快、耐用性(可擦写次数)极高、可靠性好,但成本最高。 MLC :每个存储单元存储2比特数据(00, 01, 10, 11)。通过精确控制浮栅上的电子数量来区分四种状态。它在容量、成本和性能间取得平衡,但耐用性低于SLC。 TLC :每个存储单元存储3比特数据(8种状态)。进一步提升了存储密度和降低了成本,但代价是写入速度更慢、耐用性更低。 QLC :每个存储单元存储4比特数据(16种状态)。拥有最高的存储密度和最低的单位成本,但耐用性和写入速度是所有类型中最差的。 由于NAND Flash的物理特性(必须先擦除才能写入,且擦除以块为单位),以及随着制程微缩和MLC/TLC/QLC的普及带来的可靠性挑战,直接管理原始闪存变得非常复杂。因此,在实际应用中,需要一个专门的控制器和一套复杂的固件算法,即 闪存转换层 。FTL负责逻辑区块地址到物理区块地址的映射、磨损均衡、垃圾回收、坏块管理以及纠错码等关键功能,将原始的、有缺陷的NAND Flash模拟成一个可靠、易用的块设备提供给操作系统。你之前学过的 固态硬盘控制器 就是执行FTL功能的硬件核心。