SDRAM存储器&FLASH存储器
https://www.weixueyuan.net/a/136.html
SDRAM 是同步动态随机存储器 Synchronous Dynamic Random Access Memory,通常作为嵌入式系统的内存,等同于普通 PC 的内存。SDRAM 从发展到现在已经经历了 4 代,分别为 SDR SDRAM、DDR SDRAM、DDR2 SDRAM 和 DDR3 SDRAM。
第 1 代 SDR SDRAM 采用单端 Single-Ended 时钟信号,而从第 2 代~第 4 代则由于工作频率比较快,所以采用了可降低干扰的差分时钟信号作为时钟信号,该时钟信号即为数据存储的频率。
第 1 代 SDRAM 采用时钟频率来命名,如 PC100、PC133 则表示时钟频率为 100MHz/133MHz,数据读/写速率也为 100MHz/133MHz。从第 2 代开始的 DDR SDRAM 则采用数据读/写速率命名,并且在前面加上表示其 DDR 代数编码的数字,如 PC2700 是 DDR333,其工作频率是 333MHz/2 = 160MHz,2700 则表示带宽为 2.7GB。
DDR 的读/写频率为 DDR200~DDR400;DDR2 从 DDR2-400~DDR2-800;DDR3 从 DDR3-800~DDR3-1600。
DDR4 内存规范已经完成,其对应的服务器、消费级产品已经逐步普及,而 DDR4 SO-DIMM 笔记本内存也已经开始产品化(如美光的 Crucial)。
1. SDRAM 的主要参数
SDRAM 的两个主要参数说明如下:
- 容量:SDRAM 的容量通常用“存储单元×体×每个存储单元的位数”来表示,例如,某 SDRAM 芯片的容量为 4M×4×8bit,则表明该存储器芯片的容量为 16MB(字节),或者 128Mb。
- 时钟周期:SDRAM 能运行的最大频率,如对应 PC100 的 SDRAM 则表示其时钟周期为 10ns,工作频率则为 100MHz。
此外,SDRAM 还有存取时间、CAS 延迟时间、综合性能评价等参数,在此不再赘述。
在 SDRAM 中有两个很重要的概念:物理 Bank 和芯片位宽。参数说明如下:
- 物理 Bank:处理器和 SDRAM 进行数据交互所需要的数据总线的位宽。
- 芯片位宽:SDRAM 芯片的数据总线的位宽。
通常来说,物理 Bank 会大于等于芯片的位宽,在这个时候 SDRAM 就需要将多块芯片组合到一起以满足物理 Bank 的需求。
2. SDRAM的分类特点
SDRAM的分类和特点如表 1 所示。
参数 | SDR SDRAM | DDR SDRAM | DDR2 SDRAM | DDR3 SDRAM |
---|---|---|---|---|
核心频率(MHz) | 66~166 | 100~200 | 100~200 | 100~250 |
时钟频率(MHz) | 66~166 | 100~200 | 200~400 | 400~1000 |
数据传输率(Mbps) | 66~166 | 200~400 | 400~800 | 800~2000 |
预取设计 | 1bit | 2bit | 4bit | 8bit |
突发长度 | 1/2/4/8full page | 2/4/8 | 4/8 | 8 |
CL 值 | 2/3 | 2/2.5/3 | 3/4/5/6 | 5/6/7/8/9 |
Bank 数量 | 2/4 | 2/4 | 4/8 | 8 |
工作电压 | 3.3V | 2.5/2.6V | 1.8V | 1.5V |
封装 | TSOP Ⅱ-54 | TSOP Ⅱ-54/66 | FBGA60/68/84 | FBGA78/96 |
生产工艺(nm) | 90/110/150 | 沿用 SDR 生产线 70/80/90 | 53/65/70/90 | 45/50/65 |
容量标准(Byte) | 2M~32M | 8M~128M | 32M~512M | 64M~1G |
新增特性 | 查分时钟,DOS | ODT、OCD、AL、POS-TED CAS | 异步重置Reset | |
优点 | 制造工艺简单,TSOP 封装焊接拆卸方便,成品率高。 | 数据传输率有所提高,生产设备简单。 | 数据传输速率高、更好的电器性能与散热性、体积小、功耗大、无需上拉终结电阻、成本相对较低。 | 工作频率进一步提高,功耗和发热量更小,容量更大。 |
缺点 | 速度快、焊盘与 PCB 接触面积小、散热差、高频阻抗和寄生电容影响稳定性和频率提升。 | 容量受限、高频时稳定性和散热性差、需要大量终结电阻。 | CL 延迟增加、成品率较低。 | 价格较高 |
3. SDRAM 的典型芯片
SDRAM 的典型结构如图 1 所示:

图 1:SDRAM 的典型结构
这是一块 4M×4×8bit 的 HYB25L35610,可以看到其共有 54 个引脚,可以分为如下的几大部分:
- 地址输入引脚:执行 ACTIVE 命令和 READ/WRITE 命令时用于决定使用的 bank。
- 时钟输入引脚:高电平有效,当该引脚处于低电平期间,提供给所有 bank 预充电和刷新的操作。
- 片选信号引脚:在多存储芯片架构中选择进行存取的芯片。
- 行地址选通和列地址选通引脚。
- bank 地址输入信号引脚:决定使用激活的 bank,如果引脚数目为 n,2n 则为 bank 的数量。
- 输入/输出屏蔽引脚。
- 电源相关引脚。
单个 SDRAM 芯片如图 2 所示,这是一片 HY5DU 12822BT-D43。

图 2:单个 SDRAM 芯片
常见的 SDRAM 实体都是以模组形式存在的,即内存条,如图 3 所示。

图 3:常见的 SDARM 实体
而在嵌入式系统中,最常用的是 Hynix(海力士,原现代)、Micron(美光)、Spectek(镁光)、Elpida(必尔达)生产的 8 位 /16 位数据宽度、工作在 3.3V 电压下的单个 SDRAM 芯片,它们的典型产品如表 2 所示。
厂商 | SDRAM | DDR SDRAM | DDR2 SDRAM |
---|---|---|---|
Hynix | HY57V64820HGT-H(8M×8 PC133)、HY57V561620FTP-H-A(16M×16 PC133)、HY5S7B2ALFP-6E-C(16M×16 PC133) | HY5DU281622FTP-D43-C(8M×16 PC400)、HY5DU12822CTP-J-C(64M×8 PC333)、HY5DU12822CTP-D43(64M×8 PC400) | HY5PS12821EFP-Y5(64M×8 PC667)、HY5PS1G1631CFP-Y5-C(64M×16 PC667)、HY5PS12821CFP-S5(64M×8 PC800)、HY5PS1G831CFP-S6(128M×8 PC800) |
Micron | MT48LC16M16A2P-7(16M×16 PC143)、MT48LC4M32B2P-6(4M×32 PC166) | MT46V64M8P-5B(64M×8 PC400)、MT46V128M4P-5B(128M×8 PC400) | MT47H32M16HQ-25(32M×16 PC800)、MT47H128M8HQ-25:E(32M×8 PC800)、MT47H64M16HR-3:E(64M×16 PC667) |
Spectek | S16008LK6TKF-75A(8M×16 PC133)、S16004LK6TKF-75A(4M×16 PC133) | — | — |
Elpida | EDS2516CDTA-75-E(16M×16 PC133)、EDS6432AFTA-6B-E(2M×32 PC166) | EDD5108ADTA-5C(64M×8 PC400)、EDD5108AGTA-5B-E(64M×8 PC533) | EDE5108ABSE-5C-E(64M×8 PC533)、EDE5104AESK-4A-E(128×4 PC400) |
https://www.weixueyuan.net/a/137.html
SDRAM 是嵌入式系统的内存,而 FLASH 则可以看作嵌入式系统的硬盘,主要用于存放嵌入式系统运行所必需的数据,如操作系统和应用程序等。
1. FLASH的分类
目前市场上的 FLASH 可以分为由 Intel 公司在 1988 年发布的 NOR 和东芝公司在 1989 年发布的 NAND 两大类,它们因为其内部结构分别与“或非门”和“与非门”相似而得名,它们的内部结构、外部特性和应用均有较大差异。
1) Intel 公司发布的 NOR FLASH
通常来说,NOR FLASH 的容量不大,常见的只有几 MB,可以重复擦写的次数较多,可以达到 10 万次~100 万次,遵循 CFI 标准可以通过 CFI 命令查询制造商、型号、容量、内部扇区布局等参数,从而通过软件实现自动配置,并且其可以保证无坏块,每个数据位都是有效的,并且其寻址采用了线性的完整数据和地址线编码。
因此,NOR FLASH 通常用于充当嵌入式系统的启动存储器、刻录 U-BOOT 等。NOR FLASH 支持芯片内执行(eXecute In Place,XIP),程序可以直接在 NOR FLASH 中执行,其使用方法和普通的 SDRAM 几乎没有区别。
2) 东芝公司发布的 NAND FLASH
NAND FLASH 则可以做得很大,从几十 MB~几 GB,其可重复擦写的次数不如 NOR FLASH,但是也可以达到 10 万次,其没有数据线和地址线概念,只有复用的 I/O 引脚和控制引脚,所以必须通过特定的逻辑来操作,不能作为嵌入式系统的启动 ROM(某些在内部固化了对 NADN FLASH 支持代码的处理器例外,如AT91SAM926x)。NAND FLASH 在出厂时候除了内部第一块外允许有坏块的存在并且可以进行相应的标记处理。
目前 NOR FLASH 和 NAND FLASH 都出现了使用 SPI 接口的串行接口产品,其可以显著地减小电路板的设计难度和面积,容量也和普通的芯片相当,只是有可能不能充当启动 ROM。
NOR FLASH 和 NAND FLASH 的比较如表 1 所示。
特点 | NOR FLASH | NAND FLASH |
---|---|---|
传输速率 | 很高 | 较低 |
写入和擦除速度 | 较低 | 较高 |
读速度 | 较高 | 较低 |
写入/擦除操作速度 | 以 64~128KB 的块进行,时间为 5s | 8~32KB 的块,只需要 4ms |
外部接口 | 带有 SRAM 接口,有足够的地址引脚,可以对内部每个字节进行寻址操作。 | 使用复杂的 I/O 引脚来串行的存取数据 |
价格 | 较高 | 较低 |
单片容量 | 1~16MB | 8~128MB |
用途 | 代码存储 | 数据存储,如 CF 卡、MMC 卡等 |
写操作 | 以字节或字为单位 | 以页面为基础单位 |
2. NAND FLASH 的内部结构
NAND FLASH 由 BLOCK(块)构成,块的基本组成单元是 PAGE(页),一个块通常由 16、32 或 64 个页组成。页的大小有两种,其中 small page 的大小为 528 字节,包含了 512 字节的数据存储区和 16 字节的备用区域;对应的 large page 的页则由 2048 字节的数据存储区(Data area)和 64 字节的备用区域(Spare area)组成,图 1 给出了两种页面组成的 NAND FLASH 结构示意。

图 1:NAND FALSH 结构示意
NAND FLASH 有三种基本操作,页面读、页面写和块擦除:
- 在页面读操作中,该页内的数据首先被读入数据寄存器,然后输出;
- 在页面写操作中,该页内的数据首先被写入数据寄存器,然后写入存储空间中;
- 在块擦除操作中,一组连续的页在单独操作下被擦除。
备用区域(Spare Area)可以用于标识 NAND FLASH 中的坏块(BAD BLOCK),也可以用于和数据存储区(Data Area)一样存储数据,其使用方法可以参考图 2,这是三星公司提出的一种标准,包括 8 位的 small page、16 位的 small page、8 位的 large page 和 16 位的 large page 四种格式。

图 2:NAND FLASH 的备用区域使用标准
3. 常见的FLASH芯片型号
常见的 NOR FLASH 芯片如表 2 所示。
厂商 | 型号 | 容量(B) | 结构 | 电压 |
---|---|---|---|---|
ST | M29F512B | 512K | 8 位 | 5V |
M29F010B | 1M | |||
M29F002B | 2M | |||
M29F040B | 4M | |||
M29080A | 8M | |||
M29F016B | 16M | |||
M29F100B M29F102B |
1M | 8 位/ 16 位 | ||
M29F200B | 2M | |||
M29F400B | 4M | |||
M29F800B | 8M | |||
M29F160B | 16M | |||
M29W512B | 512K | 8 位 | 3V | |
M29W010B | 1M | |||
M29W002B M29W022B |
2M | |||
M29W040B M29W004B |
4M | |||
M29W008A | 8M | |||
M29W116B | 16M | |||
M29W102B | 1M | 8 位/ 16 位 | ||
M29W200B | 2M | |||
M29W400B | 4M | |||
M29W800A | 8M | |||
M29W160B | 16M | |||
ATMEL | AT49F512 AT29C512 AT29C010A |
512K | 8 位 | 5V |
AT49F010 AT49HF010A AT49F001 |
1M | |||
AT29C020 AT49F020 AT49F002 |
2M | |||
AT29C040 AT49F040 |
4M | |||
AT49C008 AT49F080 |
8M | |||
AT29F1614 AT49F1614T |
16M | |||
AT29C1024 AT49F102A AT49F1045 |
1M | 8 位/ 16 位 | 5V | |
AT49F2048 | 2M | |||
AT49F4096A | 4M | |||
AT49F8192 | 8M | |||
AT49F1604 AT49F1604T |
16M | |||
AT49BV512 AT29LV512 |
512K | 8 位 | 3V | |
AT29BV010A AT49BV010 AT49HBV010 AT49BV001 |
1M | |||
AT29BV020 AT29LV020 AT49BV020 AT49BV002 AT49LV020 AT49LV002 |
2M | |||
AT29BV040A AT29LV040A AT49BV040 AT49LV040 |
4M | |||
AT49BV080 AT49LV080 |
8M | |||
AT29LV1204 | 1M | 8 位/ 16 位 | 3V | |
AT29BV2048 AT49LV2048 |
2M | |||
AT49BV4096A AT49LV4096A |
4M | |||
AT49BV8192 AT49LV8192 |
8M | |||
hynix | HY29F002T/C | 2M | 8 位 | 5V |
HY29F040 HY29F040A |
4M | |||
HY29F080T/C | 8M | |||
HY29F400T/G | 4M | 8 位/ 16位 | 5V | |
HY29F800T/G | 8M |
注意:此外 SST、Intel、AMD、Micron 等公司也都有对应的产品,用户可以自行查阅相应的手册,从表 2 中可以看到常用的 NOR FLASH 最大容量也就是16MB。
常见的 NAND FLASH 芯片如表 3 所示。
厂商 | 型号 | 容量 | 备注 |
---|---|---|---|
Samsung | K9F2808 | 16M | |
K9F5608 | 32M | ||
K9F1208 | 64M | ||
K9K1G08 | 128M | ||
K9E2G08 | 256M | ||
K9W4G08 | 512M | ||
K9K8G08 | 1G | ||
K9WAG08 | 2G | ||
K9NBG08 | 4G | ||
K9NCG08 | 8G | ||
K9MDG08 | 16G | ||
K9PFG08 | 32G | ||
Micron | MT29F1G08 | 128M | 1.8V |
MT29F2G08 | 256M | ||
MT29F4G08 | 512M | ||
MT29F8G08 | 1G | ||
MT29F8G08A | 1G | 3.3V | |
MT29F16G08 | 2G | ||
MT29F32G08 | 4G | ||
MT29F64G08 | 8G | ||
MT29F128G08 | 16G | ||
Intel | JS29F04G08 | 512M | |
JS29F08G08 | 1G | ||
JS29F16G08 | 2G | ||
JS29F32G08 | 4G | ||
JS29F64G08 | 8G | ||
JS29F16B08 | 16G | ||
JS29F32B08 | 32G | ||
Hynix | HY27US08281A | 16M | |
HY27US08561M | 32M | ||
HY27US08121M | 64M | ||
HY27UA081G4M | 128M | ||
HY27UF082G2M | 256M | ||
HY27UG084G2M | 512M | ||
HY27UG088G5M | 1G | ||
HY27UH08AG5B | 2G | ||
HY27UK08BGFB | 4G | ||
HY27UW08CGFM | 8G | ||
H27UAG8M2MYR | 16G |
注意:此外 Spectek、Renesas、ST、Toshiba、SanDisk 等公司也都有相应的产品,用户可以自行查阅相应的手册,从表 3 中可以看到常用的 NAND FLASH 的容量通常在 16MB~32GB 之间。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?