扫码加入

  • 正文
  • 相关推荐
申请入驻 产业图谱

SDRAM中Bank和Rank的概念解析

2025/11/14
2748
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

欢迎各位朋友关注“郝旭帅电子设计团队”公众号,本公众号会定时更新相关技术类资料、软件等等,感兴趣的朋友可以浏览一下本公众号的其他“模块”,希望各位朋友都能在本公众号获得一些自己想要的“东西”。

本篇主要是SDRAM中bank和rank的概念解析

Bank 和 Rank 是两个不同层级的组织单位,它们共同工作以提高内存的效率和容量。

简单来说:Bank 是内存芯片内部的结构。Rank 是内存条级别(多个芯片组合)的结构。

Bank - 芯片内部的并行单元

定义:Bank 是单个内存芯片(DRAM Chip)内部的独立工作区域。一个芯片内部通常有多个 Bank(例如 8个或16个)。

工作方式:每个 Bank 都可以独立地进行操作(如激活一行、读取/写入、预充电)。关键优势:并行操作。当 CPU 在访问 Bank 0 的某一行时,Bank 1 可以同时进行预充电,Bank 2 可以准备被访问。这样就隐藏了各个操作之间的延迟,大大提高了数据吞吐量,避免了“等待”的空闲时间。

目的:提高内存芯片内部的效率。

Rank - 内存条上的芯片集合

定义:一个 Rank 是一组内存芯片的集合,这组芯片共同工作,在一次操作中提供与 CPU 数据总线宽度相同的数据位。

如何构成一个 Rank:

现代 CPU 的内存控制器数据总线通常是 64位 宽。一个标准的内存芯片的数据位宽通常是 4位 或 8位。那么,要组成一个 64位 的 Rank,就需要:64位 / 4位/芯片 = 16颗芯片,或者64位 / 8位/芯片 = 8颗芯片。

这组(8颗或16颗)芯片就构成了 一个 Rank。它们就像一个“团队”,每次读写数据时,所有芯片同时工作,各自贡献一部分数据位,共同凑齐一个完整的 64位 数据字。

类型:

Single Rank:内存条上只有一个 Rank(即一组8或16颗芯片)。

Dual Rank:内存条上有两个 Rank。这两个 Rank 共享同一组数据线(金手指),但不能同时工作。内存控制器会分时复用它们,在一个 Rank 忙碌时,可以去操作另一个 Rank,从而减少等待时间。

Quad Rank:内存条上有四个 Rank,通常用于服务器内存。

目的:在内存条级别通过分时复用来提高总体效率,尤其是在高负载下能更好地利用内存带宽。

总结

例子:

假设CPU要读取一个64位的数据:

1. 内存控制器选择目标 Rank(比如选择 Dual Rank 内存条上的 Rank 0)。

2. 在 Rank 0 这个“团队”里,命令会发送给所有8颗(假设是8位芯片)芯片。

3. 在每一颗芯片内部,再选择目标 Bank(比如选择 Bank 2)。

4. 激活 Bank 2 中的某一行,读取某一列。

5. 每一颗芯片都完成自己的读取任务,分别输出8位数据。

6. 这8个8位数据在内存条上合并,通过64位数据总线一次性传送给CPU。

简单记法:Rank 是由多个芯片组成的“横向”团队,而 Bank 是每个芯片内部的“纵向”分区。 它们在不同维度上共同协作,以最大化内存子系统的性能。

本篇内容中有部分资源来源于网络,如有侵权,请联系作者。

如果您觉得本公众号还不错的话,可以推给身边的朋友们,感谢并祝好!

相关推荐