这些是计算机和电子设备中最核心的几种存储器技术。它们各有特点,应用于不同的领域。
首先,我们可以从两个最根本的特性来对它们进行初步区分:
易失性 (Volatile):断电后数据是否丢失。
读写特性:是像内存一样可以按字节随机读写,还是像硬盘一样需要按“块”擦除和编程。
基于以上两点,我们可以把它们分为三大类:
详细解释
第一类:易失性存储器 (Volatile Memory) - 用作“内存”
这类内存需要持续通电才能保持数据,速度快,用于和CPU直接交换数据。
SRAM (Static Random-Access Memory) - 静态随机存取存储器
特点:“静态”意味着只要通电,数据就会一直保持,不需要刷新。它使用6个晶体管来存储1个比特的数据,结构复杂。
优点:速度极快,是目前读写最快的内存。
缺点:结构复杂导致成本高、功耗大、容量做不大、占用芯片面积大。
应用:对速度有极致要求的地方,主要是CPU内部的高速缓存 (L1, L2, L3 Cache)。你买CPU时看到的“16MB三级缓存”,这指的就是SRAM。
DRAM (Dynamic Random-Access Memory) - 动态随机存取存储器
特点:“动态”意味着即使通电,数据也会慢慢丢失,需要定时“刷新”电路来给电容充电,才能保持数据。它使用1个晶体管+1个电容来存储1个比特,结构简单。
优点:结构简单,因此在容量和成本上具有巨大优势(比SRAM便宜得多,容量大得多)。
缺点:速度比SRAM慢,且需要刷新电路。
应用:主内存(即电脑里的内存条)。我们常说的DDR4、DDR5就是DRAM的一种。
SRAM vs DRAM 简单比喻:
SRAM就像你书桌上的一�书(高速缓存),拿取极快,但书桌面积有限,放不了太多。
DRAM就像你身后的整个书柜(主内存),容量很大,取书比从书桌拿慢一点,但比去图书馆快得多。
第二类:非易失性存储器 (Non-Volatile Memory) - 用作“存储”
这类存储器断电后数据不会丢失,用于长期保存数据。它们通常以“块”为单位进行写入和擦除操作。
NAND Flash
特点:目前大容量存储的绝对主力。数据必须以“页”为单位写入,以“块”为单位擦除。不支持像内存一样直接通过地址线随机读写。
优点:容量可以做得非常大(TB级别),成本极低。
缺点:写入寿命有限(有擦写次数限制),读写速度不对称,写入前需先擦除。
应用:SSD固态硬盘、U盘、手机eMMC/UFS存储、SD卡、TF卡。几乎所有需要大容量存储的地方都是它的天下。
NOR Flash
特点:和NAND同属Flash家族,但结构不同。它支持芯片内执行,即CPU可以直接从NOR Flash上取指令执行,无需先复制到内存中。
优点:具有独立地址线和数据线,可以实现随机读取(尤其是读取很快)。
缺点:容量密度低,成本高,写入速度慢。
应用:主要用来存储启动代码(如主板BIOS、路由器固件)、操作系统的引导程序等需要直接读取执行的小容量关键代码。
EEPROM (Electrically Erasable Programmable Read-Only Memory) - 电可擦可编程只读存储器
特点:可以按字节进行擦除和重写,非常灵活。
优点:读写单位小,使用方便。
缺点:容量很小,写入速度非常慢。
应用:存储需要频繁修改但数据量很小的配置信息,例如设备的序列号、加密密钥、用户的个性化设置等。很多微控制器内部都集成了小容量的EEPROM。
NAND vs NOR vs EEPROM 简单比喻:
NOR Flash像一本字典,你可以直接随机翻到任何一页(地址)查阅(读取)内容,但往里面写字(写入)很麻烦。
NAND Flash像一个巨大的仓库,货物必须以“托盘”(块)为单位存取,存取效率高、仓库大,但你不能直接跑去拿托盘上的一件小东西,必须把整个托盘搬出来。这是为大容量仓储设计的。
EEPROM像一个小记事本,你可以在任意一行擦掉重写几个字,非常灵活,但本子很薄,写起来也慢。
第三类:新兴存储器
MRAM (Magnetoresistive Random-Access Memory) - 磁阻随机存取存储器
特点:利用电子自旋的磁性来存储数据,是一种非常有潜力的通用内存技术。
优点:非易失、读写速度极快(接近SRAM)、功耗极低、无限次擦写。它结合了SRAM的速度、DRAM的容量和Flash的非易失性。
缺点:目前成本较高,容量密度还在发展中,是未来技术。
应用:目前在一些工业、汽车、物联网等特殊领域开始应用。未来有望替代DRAM做非易失主内存,甚至替代SRAM做缓存,实现“内存硬盘统一”。
总结
要速度极致:用 SRAM(做Cache)。
要便宜大碗的内存:用 DRAM(做内存条)。
要便宜大碗的存储:用 NAND Flash(做SSD、U盘)。
要存代码并直接运行:用 NOR Flash(存BIOS)。
要存一点小配置且经常改:用 EEPROM。
未来可能全都要:看 MRAM。