理解内存的Rank、位宽以及内存颗粒内部结构

在冯诺依曼体系结构里,内存是除了CPU之外第二重要的设备 。如果没有内存,服务器将完全无法运行 。在这一节中,我们来了解下内存的物理结构 。如下图的是一个 16 GB 的笔记本内存条实物的正面和反面图 。其中的每个黑色颗粒也叫一个 Chip 。
注意下 , 在正面有着一串字符串标识16 GB 2R*8 PC4-3200AA-SE1-11 。在这段标识中,16 GB 很好理解,是内存的容量大小 。那么后面的 2R*8 是什么意思呢?
实际上,内存标识第二段中的 2R*8 非常重要,它直接简单清晰地把内存的物理结构给表示出来了 。

  • 2R:表示该内存有 2 个 Rank
  • *8:表示每个内存颗粒的位宽是 8 bit,
接下来我们分两个小节,深入地看看 Rank、位宽与内存颗粒的内部结构 。
内存的 Rank 与位宽在内存中 , 其中每一个黑色的内存颗粒叫一个 Chip 。所谓 Rank 指的是属于同一个组的 Chip 的总和 。这些 Chip 并行工作,共同组成组成一个 64 bit 的数据,供 CPU 来同时读取 。
CPU 的内存控制器能够对同一个 rank 的 chip 进行读写操作 。通常一个通道(channel)能够同时读写 64bit 的数据(ECC 功能的是 72 bit) 。
内存字符串标识中的 2 R 表示该内存有 2 个 Rank 。
2 R 后面的 * 4 表示每个内存颗粒的位宽是 4 bit 。因为 CPU 要同时读写 64 bit 的数据 。所以
  • 对于位宽为 4 的颗粒,需要 16 个 Chip 来组成一个 Rank
  • 对于位宽为 8 的颗粒,需要 6 个 Chip 来组成一个 Rank
  • 对于位宽为 16 的颗粒 , 需要 4 个 Chip 来组成一个 Rank
例如,下面的笔记本内存条,是 1 R * 16 。表示的是该内存条只有 1 个 Rank 。每个 Chip 内存颗粒的位宽是 16 bit 。
而一个 Rank 需要提供 64 位的数据 , 则需要 64 / 16 = 4 个 Chip 来组成一个 Rank 来同步地工作 。从实物图中也确实可以看到,该内存条正反面加起来只有 4 个 Chip,
理解内存的Rank、位宽以及内存颗粒内部结构

文章插图
图片
理解内存的Rank、位宽以及内存颗粒内部结构

文章插图
图片
再比如 , 下面的笔记本内存条,是 2 R * 8 。表示的是该内存条有 2 个 Rank , 每个 Chip 内存颗粒的位宽是 8 bit 。
一个 Rank 需要 64 / 8 = 8 个 Chip 来组成一个 Rank 。则两个 Rank 总共需要 16 个 Chip 。从内存条的实物图中看到,该内存条的正反面确实总共有 16 个 Chip 。
理解内存的Rank、位宽以及内存颗粒内部结构

文章插图
图片
理解内存的Rank、位宽以及内存颗粒内部结构

文章插图
图片
内存颗粒 Chip 内部结构一个内存是由若干个黑色的内存颗粒构成的 。每一个内存颗粒叫做一个 chip 。在每个 chip 内部,又是由一层层的 bank 组成的 。
理解内存的Rank、位宽以及内存颗粒内部结构

文章插图
图片
在每个 bank 内部,就是电容的行列矩阵结构了 。
理解内存的Rank、位宽以及内存颗粒内部结构

文章插图
图片
这个矩阵由多个方块状的元素构成,这个方块元素是内存管理的最小单位,也叫内存颗粒位宽 。在一个位宽中 。有若干小电容 。
  • 对于 1 R * 16 的内存条,一个位宽有 16 个 bit 位
  • 对于 2 R * 8 的内存条,一个位宽有 8 个 bit 位
值得注意的是,由于内存访问太慢了 。所以 CPU 每次向内存请求数据的时候,并不只是请求一个 64 bit 的数据就完事了,而是会请求更多的数据然后用自己的 L1、L2、L3等模块缓存起来 。下次如果访问的数据位于缓存中的话 , 就可以不用再发起内存 IO 了 。一次请求的数据大小是 64 * 8 bit = 64 字节 , 这也是一个 Cache Line 的大小 。
对于内存来说,一次 Cache Line 64 字节的访问属于是一次 Burst IO , 需要内存连续工作多次,输出多个 64 字节 。所以,内存在排列和组织二维矩阵结构的时候,会按方便 Burst IO 的方式来组织,实际二维矩阵单元中存储的字节数会比位宽要大 。
例如下面是一个美光(Megon)内存 Chip 的内部结构 。
理解内存的Rank、位宽以及内存颗粒内部结构

文章插图
图片
在该 Chip 中,总共有 8 个 bank,每个 bank 是一个 32768 行 * 128 列的二维矩阵 , 每个二维矩阵单元存储的数据大小是 64 比特 。


推荐阅读