存储器的分类
储器一般可以分为内部存储器(内存,RAM)、外部存储器(外存,ROM)、缓冲存储器(缓存,Cache)及闪存(Flash)极大类别。
内存 RAM
内存 RAM(random access memory)是随机存取存储器,存储单元的内容可以按照需要随机取出或者存入(不需要线性依次存储),存取数据比较快,掉电会丢失数据,容量相对小。一般 CPU(MCU)运行时会把程序从 ROM 拷贝到 RAM 里面执行,所以一般 RAM 是作为和 CPU(MCU) 直接交换数据的内部存储器,也叫主存或者内存。
内存有以下的类别:
- SRAM:静态随机存取存储器(Static RAM),具有静态存取功能。不需要刷新电路就能保存它内部存储的数据,特点是高性能、低集成度(占地面积大)、功耗大、速度可以非常快,但价格高、容量小。一般在 MCU 或者 SOC 会内置一小块 SRAM,用于高速缓存(Cache)。缓存是数据交换的缓冲区。当某一设备需要读取数据时,会首先从缓存中查找,如果找到了则直接运行,找不到才去内存中找。因为缓存的读写速度比内存快得多,故缓存的意义就是帮助系统更快地运行。
- PSRAM:伪静态存储器,内部自带刷新机制。
- SSRAM:同步静态随机存取存储器(Synchronous SRAM),有时钟线,读写以时钟信号为基准。
- DRAM:动态随机存取存储器(Dynamic RAM),每隔一段时间固定对 DRAM 刷新充电一次,否则内部数据会消失。现在电脑用的 DDR 内存条都属于 DRAM。
- DARAM:双口 RAM,一个时钟周期可访问两次。
- SDRAM:同步动态随机存取存储器(Synchronous DRAM),数据的收发以时钟信号为基准。
- SDR SDRAM:单倍速率(Single-Data-Rate)SDRAM,采用单端(Single-Ended)时钟信号,在时钟上升沿采样。
- DDR SDRAM:双倍速率(Double-Data-Rate)SDRAM,在时钟上升下降沿采样,工作频率比 SDR 翻倍,采用差分的时钟信号以加强抗干扰。工作电压 2.5V/2.6V。
- DDR2 SDRAM:内存时钟 200~533MHz,工作电压 1.8V。
- DDR3 SDRAM:8bit 预取机制,内存时钟 400~1066MHz,工作电压 1.5V/1.35。
- DDR4 SDRAM:16bit 预取机制,工作电压 1.2V。
- DDR5 SDRAM:工作电压 1.1V。
- GDDR SDRAM:图形 DDR,目前有 GDDR2~6。
- LPDDR SDRAM:低功率 DDR,时钟 166MHz,LPDDR2 其工作电压 1.2V,时钟 100~533MHz。
DDR 三个版本的参数比较:
条目 | DDR3 | DDR2 | DDR |
---|---|---|---|
工作频率 | 400/533/667/800 MHz | 200/266/333/400 MHz | 100/133/166/200 MHz |
数据传输速率 | 800/1066/1333/1600 MT/s | 400/533/667/800 MT/s | 200/266/333/400 MT/s |
预取位宽 | 8-bit | 4-bit | 2-bit |
输入时钟类型 | 差分时钟 | 差分时钟 | 差分时钟 |
突发长度 | 8,4 | 4,8 | 2,4,8 |
DQS | 差分数据选通 | 差分数据选通 | 单端数据选通 |
电源电压 | 1.5V | 1.8V | 2.5V |
数据电平标准 | SSTL_15 | SSTL_18 | SSTL_2 |
CL | 5,6,7,8,9 时钟 | 3,4,5 时钟 | 2,2.5,3 时钟 |
ODT | 支持 | 支持 | 不支持 |
外存 ROM
外存 ROM(Read Only Memory)也称为辅助存储器,不能与 CPU 之间直接进行信息交换。它的储存速度相对慢得多、但容量相对大,在简单的系统上常与内存配合使用,作为储存程序与其他文件的空间。
ROM 最开始是一次性的,只能写入一次,后续只能读取操作,数据掉电不会消失,如 CD-ROM、DVD-ROM,后面出现的 PROM、EPROM、EEPROM 可有条件地写入。
外存有以下的类别(按时间推进):
- PROM:可编程 ROM,内部是行列式熔断丝,可以自己写入一次,写错了,只能再换一片。
- EPROM:紫外线可擦除,写入时需要用编程器产生高压脉冲信号。
- OTP-ROM:一次可编程 ROM,写入原理与 EPROM 相同。
- EEPROM:电可擦除可编程只读存储器(Electrically Erasable Programmable),在 EPROM 的基础上进一步发展形成,可电擦除,可以按照字节操作,但是集成度不高、价格比较贵。
闪存 Flash
闪存 Flash 是一种长寿命的非易失性(掉电保存)的存储器,算是广义的 EEPROM,因为它也是可电擦除的 ROM,它与 EEPROM 最大的区别就是,只能按照扇区(block)操作读写,但其成本比 EEPROM 低。FALSH 分为 NOR FLASH 和 NAND FLASH。
闪存有以下的类别(按时间推进):
- NOR Flash:数据线和地址线分开,可以实现像 RAM 的随机寻址 / 读取功能,也就是说程序可以在 NOR Flash 上直接运行,不需要拷贝到 RAM 中。但容量小,分为 Parallel/Serial NOR Flash。
- Nand Flash:数据线和地址线复用,不能利用地址线随机寻址,不能直接运行程序,容量大,有 SLC、MLC、TLC、QLC
- MMC:MMC 接口、NAND Flash、主控制器
- eMMC Flash:嵌入式存储解决方案,带有 MMC 接口(并行数据总线)、NAND Flash、主控制器
- UFS:串行数据总线、Nand Flash、主控制器
其他知识
- eMMC 的最新 5.1 标准理论最高值最高可以达到 400MB/s,UFS 的最大优势就是双通道双向读写,UFS3.0 接口带宽最高 23.2Gbps,也就是 2.9GB/s。
- eMMC 的电路接口与 SD 卡是一样的,SD 卡只是焊接在 PCB 上,然后做上金手指和外壳。eMMC 支持 8 位和 4 位数据总线,SD 卡标准是 4 位数据总线。
- eMMC 有两条总线,分别传输指令数据输入和输出,而且因为是并行总线还要有额外的 data strobe。而 UFS 则是有两条差分的数据 lane,指令和数据都是以 packet 的形式发送的。
- SSD = 主控 + DRAM 缓存 + Nand Flash
- eMMC = 主控 + Nand Flash + 标准封装接口
参考与致谢
本篇文章受 CC BY-NC-SA 4.0 协议保护,转载请注明出处。