在信息时代,存储器已成为人们再熟悉不过的基础硬件之一。顾名思义,存储器的主要作用是存储数据,但不同类型的存储器在性能特点和应用场景上存在显著差异。本文对常见的存储器类型进行归纳总结,并简要介绍各类存储器的特性及其适用场景。
总体来看,存储器可分为两大类:易失性存储器和非易失性存储器。前者具有读写速度快的优点,但在断电后数据会丢失;后者虽然速度相对较慢,但能够在断电情况下保持数据不丢失。基于上述特性,易失性存储器通常用于程序运行过程中的数据存取,而非易失性存储器则主要用于存储操作系统、应用程序及各类持久化数据。
一、非易失性存储器
下表为大部分的非易失性存储器总览。其中传统 ROM (Mask ROM / PROM / EPROM) 已经基本淘汰,新型非易失性存储器(FRAM / MRAM / PCM / ReRAM)目前还未大规模应用,此两类不过多介绍。我们主要介绍目前市面上最常见的存储器类型,如 NOR Flash、NAND Flash。以及经过封装的存储设备 SSD、eMMC、UFS。
| 类型 | 是否可擦写 | 擦写方式 | 速度 | 容量 | 成本 | 典型用途 |
|---|---|---|---|---|---|---|
| Mask ROM | 不可 | 出厂固化 | 很快 | 小~中 | 低(量产) | 固化程序 |
| PROM | 一次性 | 一次编程 | 很快 | 小 | 低 | 一次写入配置 |
| EPROM | 可擦 | 紫外线整体擦除 | 较慢 | 小 | 高 | 早期固件存储 |
| EEPROM | 可擦 | 字节级擦写 | 较慢 | 小 | 较高 | 参数存储 |
| NOR Flash | 可擦 | 块擦除 | 快(读快) | 中 | 较高 | 代码存储 |
| NAND Flash | 可擦 | 块擦除 | 快(写快) | 大 | 低 | 数据存储 |
| eMMC | 可擦 | 内部NAND | 中 | 大 | 低 | 嵌入式存储 |
| UFS | 可擦 | 内部NAND | 很快 | 大 | 中 | 手机存储 |
| SSD | 可擦 | 内部NAND | 很快 | 很大 | 中 | PC/服务器 |
| FRAM | 可擦 | 字节级 | 很快 | 小 | 高 | 工业/低功耗 |
| MRAM | 可擦 | 位级 | 很快 | 中 | 高 | 高可靠存储 |
| PCM | 可擦 | 位级 | 快 | 中 | 高 | 新型存储 |
| ReRAM | 可擦 | 位级 | 快 | 中 | 潜力低 | 研究/新兴 |
1.1 NOR Flash
NOR Flash 的核心特点在于支持芯片内执行(XIP,eXecute In Place)和随机访问,其读取速度快,而写入和擦除速度相对较慢。这意味着 CPU 可以直接从闪存中取指执行应用程序代码,无需预先将代码拷贝到系统内存中,从而显著提升系统启动速度并降低响应延迟。因此,可以将 NOR Flash 理解为一种"可像内存一样读取"的 Flash 存储器。正是由于这种接近 RAM 的访问特性,NOR Flash 非常适合用于存放嵌入式系统以及 PC、服务器中的固件程序(Firmware)。在设备上电初期,系统内存尚未初始化,处理器需要依赖 NOR Flash 中的启动代码完成底层硬件初始化并引导系统启动。需要注意的是,由于其单位成本较高,NOR Flash 通常容量较小,擦除时按扇区擦除。
典型应用场景包括:PC 主板上的 BIOS / UEFI 固件(通常存储于 SPI Flash 中),以及各类 SoC 的启动代码(如 ARM 开发板中的启动 Flash)。
1.2 NAND Flash
NAND Flash 是当前最主流的非易失性存储器,目前几乎所有的大容量存储设备本质上都是基于它,如 SSD,U盘,eMMC,UFS等。NAND 的特点简单来说就是容量大,成本低,写入快。其顺序读写速度较快,但相比于 NOR 不支持代码执行和随机读写。NAND 按页读取,按块擦除。
NOR Flash 和 NAND Flash 对比:
| 对比维度 | NOR Flash | NAND Flash |
|---|---|---|
| 核心优势 | 芯片内执行 (XIP) ,读取速度快,可靠性高 | 写入/擦除速度快,存储密度高,单位成本低 |
| 读取方式 | 支持字节级随机访问,像内存一样直接读取任意地址 | 以页(Page) 为单位进行读写,不支持随机访问 |
| 写入/擦除性能 | 较慢,需按块操作,擦除块较大(如64-128KB) | 极快,擦除块较小(如8-64KB),适合频繁的大数据量写入 |
| 存储密度/成本 | 密度低、成本高,主要覆盖 1MB ~ 1GB 的容量范围 | 密度高、成本低,可轻松实现GB甚至TB级别的大容量存储 |
| 可靠性/寿命 | 可靠性极高,位反转概率远低于NAND,擦写寿命约10万次 | 可靠性相对较低,位反转较常见,需要ECC校验和坏块管理;擦写寿命可达百万次 |
| 主要用途 | 存储和执行程序代码(如固件、Bootloader、操作系统镜像) | 海量数据存储(如SSD固态硬盘、U盘、手机存储) |
1.3 封装设备
NOR Flash 与 NAND Flash 均属于裸存储芯片,仅提供基础的存储介质功能。若要构成可供主机系统直接访问的存储设备,则需在芯片外部或内部集成一颗控制器。正如显示面板需要搭配显示驱动芯片才能呈现图像一样,裸存储芯片也必须依赖控制器来管理复杂的物理寻址、坏块处理及磨损均衡算法。我们日常所见的标准存储产品(如 eMMC、UFS、SSD),正是在 NAND 裸芯片的基础上,封装集成了控制器、标准通信接口及管理固件后,所构成的完整存储系统。
SSD
SSD(固态硬盘)是一种基于 NAND Flash 闪存颗粒构建的半导体存储设备,其核心在于通过内置的主控芯片和 FTL(闪存转换层)算法,将底层复杂的闪存物理管理(如坏块处理、磨损均衡、垃圾回收)封装为标准 SATA 或 NVMe 接口,从而向上位主机呈现出与传统机械硬盘完全兼容、但读写速度提升数十倍甚至百倍的块设备访问逻辑。它本质上就是将我们在上一轮提到的"裸存储芯片+控制器"这一架构工程化、产品化后的最终形态,用以取代机械硬盘成为现代计算机和服务器的主流数据存储介质。
eMMC
eMMC(embedded MultiMediaCard)是一种将 NAND Flash 存储芯片与控制器集成在同一封装内的嵌入式存储设备,对外提供标准化的块设备接口。其内部已实现坏块管理、磨损均衡和错误校正(ECC)等功能,并通过统一的eMMC总线接口向主机提供块设备访问服务。与 SSD 相比,eMMC 通常采用更精简的控制器架构和更低的并行通道数以控制成本与功耗,因此在读写性能、队列深度和满盘写稳定性上不及 NVMe 或 SATA SSD,但凭借其体积小巧、引脚少、即插即用的特性,长期作为IoT设备及低功耗嵌入式系统的主流系统盘选择。
UFS
UFS(通用闪存存储)在当前的智能手机上应用广泛,可以理解为是eMMC的"高速公路升级版"。它最大的改进在于支持全双工通信,允许设备在读取数据的同时也能写入命令,而 eMMC 同一时间只能读或者写。UFS 能让手机在后台下载安装应用时,前台刷微信、拍4K视频依然流畅不卡顿,反应速度远超 eMMC,是目前主流中高端智能手机和旗舰设备的标配存储方案。
SPI Flash
SPI Flash 特指采用 SPI(串行外设接口)总线的 NOR Flash。它不像并口 NOR Flash 那样需要大量数据引脚,而是通过精简的四线或六线接口进行指令传输,牺牲了部分极限读写速度,却换来了极低的引脚占用和PCB布线成本。因此,SPI Flash 常被视为"最轻便的启动盘",专门用以存放 Bootloader 或固件代码,CPU 上电后直接通过 SPI 接口读取其内部指令完成系统唤醒,在路由器、单片机、电脑主板 BIOS 以及各类嵌入式设备中无处不在。
二、易失性存储器
易失性存储器是指断电后存储的数据会立刻丢失的一类存储器,它不像我们之前聊的 Flash(闪存)那样具备记忆能力,但是速度非常快,它的主要作用是为正在运行的程序和CPU提供极高速的临时数据交换空间。不同的 RAM 依据速度和成本应用场景亦有不同。易失性存储器主要有两种,静态随机存取存储器 SRAM 和动态随机存取存储器 DRAM。
对于计算机结构中不同速度存储器的应用可移步此文章的2.2节查看。
- SRAM 的速度最快,但是结构复杂导致成本极高、集成度低。一般用于CPU 内部的高速缓存(L1/L2/L3 Cache),是决定处理器单核性能的关键缓冲地带。
- DRAM 利用电容电荷存储数据,因电荷会泄露,必须每隔几十毫秒刷新一次(动态刷新)。一般用于电脑的内存条、手机/显卡的运行内存(LPDDR/GDDR)。它虽然在速度上略逊于 SRAM,但能以较低成本实现大容量。
下表是主要的易失性存储器类型:
| 类型 | 是否需要刷新 | 速度 | 集成度/容量 | 成本 | 典型位置 | 典型用途 |
|---|---|---|---|---|---|---|
| 寄存器(Register) | 不需要 | 极快 | 极小 | 极高 | CPU内部 | 运算数据暂存 |
| SRAM | 不需要 | 很快 | 小~中 | 高 | Cache / 片上RAM | 高速缓存 |
| DRAM | 需要 | 较快 | 大 | 低 | 主存 | 系统内存 |
| SDRAM | 需要 | 较快 | 大 | 低 | 主存 | 同步DRAM |
| DDR SDRAM | 需要 | 很快 | 很大 | 低 | 主存 | PC/服务器内存 |
| LPDDR | 需要 | 很快 | 大 | 中 | 移动设备 | 低功耗内存 |
| GDDR | 需要 | 极快(带宽高) | 大 | 高 | GPU | 显存 |
| HBM | 需要 | 极快 | 中~大 | 很高 | 高端GPU/AI | 高带宽场景 |
DRAM 类型的存储器有很多,接下来我们对其中常用的一些做简单介绍。
SDRAM
它的全称是同步动态随机存取存储器。早期的 DRAM 与 CPU 各干各的,效率低下。SDRAM 的创新在于引入了一个同步时钟信号,让内存能跟 CPU 在同一个节拍下协同工作,大幅提升了效率。
DDR SDRAM
DDR 的全称是 Double Data Rate(双倍数据速率),是至今仍在统治电脑和服务器内存的技术标准。它的革命性在于,能在时钟信号的上升沿和下降沿各传输一次数据,让速度直接比 SDRAM 翻了一倍。从 DDR 到最新的 DDR5,每一代都在通过预取架构、Bank Group 等设计持续提升速度与带宽。
从DDR到DDR5的演进,核心就是速度越来越快、能耗越来越低、容量越来越大。如果把每一代都比作一条数据"高速公路",那么这条路在不断拓宽、提速,交通规则也更高效。值得注意的是每一代DDR的更新都需要CPU和主板的同步支持,它们之间物理接口(防呆缺口位置不同)和电气标准互不兼容,购买和升级时需要留意 。
各代关键特性对比如下:
| 代数 | 标志性频率范围 (MT/s) | 工作电压 | 核心特点与简介 |
|---|---|---|---|
| DDR | 200 - 400 | 2.5V | 首代"双倍速":在时钟信号的上升沿和下降沿都传输数据,实现了速度翻倍,开启了DDR时代 。 |
| DDR2 | 400 - 800 | 1.8V | "预取"翻倍,能耗更低:通过将预取位数从2位提升至4位,在相同核心频率下接口速率再次翻倍,同时电压降低更省电 。 |
| DDR3 | 800 - 2133 | 1.5V | "预取"再翻倍,主流长寿 :预取位数提升至8位,性能和功耗进一步优化,是市场寿命最长的一代产品 。 |
| DDR4 | 1600 - 3200+ | 1.2V | 高频与稳定兼备 :预取继续翻倍至16位,频率和容量大幅提升。引入了Bank Group设计,提升了数据并行访问效率 。 |
| DDR5 | 4800+ (可达8400+) | 1.1V | 架构级的巨变 :性能潜力巨大,单个内存条本身就被设计为两个独立的子通道 ,并发效率激增;同时将电源管理芯片(PMIC) 从主板移至内存条上,信号更纯净,这是当前及未来的主流 。 |
LPDDR
LPDDR 里的 LP 代表 Low Power(低功耗) 。它是为手机、平板、笔记本等移动设备量身打造的。关键词是省电,通过降低工作电压和空闲时深度休眠等技术,极大延长了设备的电池续航。比如 LPDDR4X 就能将电压压到 0.6V,最新的 LPDDR5X 则能在超 8Gbps 的高速率下依然保持优异的能效。
GDDR
GDDR 里的 G 代表 Graphics(图形) 。它是为显卡、游戏主机、AI 加速卡等需要海量数据并行处理的场景设计的。特点是追求极高的数据吞吐量,不太在意延迟,就像一个超粗的水管,每分钟必须以吨为单位泵出水流,满足 GPU 内成千上万核心同时对纹理、光影数据的需求。
附:
*本文主要内容使用 AI 总结。
Steady Progress!