1、查看内存的Rank与位宽
如下图是一个内存条的正反两面:
其中标签上的 字符串标识16 GB 2R\*8 PC4-3200AA-SE1-11 分别都是什么意思了


- Rank
标识中的R代表Rank 其实就是一个面的意思,2R表示有2个Rank,表示正反面都有黑色颗粒,如上每8个黑色的颗粒组成一个Chip,Chip是内存的主要工作单元,因为Cpu每次要读取 64bit数据,所以有8个Chip,那么每个Chip在IO的时候每次的数据是8bit - 位宽
Chip每次IO的数据单位 为8bit,其中8就是位宽 - Chip
在内存中,其中每一个黑色的内存颗粒叫一个 Chip。所谓 Rank 指的是属于同一个组的 Chip 的总和。这些 Chip 并行工作,共同组成组成一个 64 bit 的数据,供 CPU 来同时读取。2 R 后面的 * 8 表示每个内存颗粒的位宽是 8 比特
因为 CPU 要同时读写 64 bit 的数据,因为我们现在的电脑都是64位的,所以每次都是读取64bit数据。所以
对于位宽为 4 的颗粒,需要 16 个 Chip 来组成一个 Rank
对于位宽为 8 的颗粒,需要 8 个 Chip 来组成一个 Rank
对于位宽为 16 的颗粒,需要 4 个 Chip 来组成一个 Rank
如下


来看个新内存,其参数为 4 GB 1R*16 PC4-2666V-SC0-11
其中 1R 表示该内存只有一个 Rank,只有一面黑色颗粒
16 表示该内存位宽为 16 的颗粒,
64/16=4 需要 4 个 chip 来组成一个 Rank
2、Chip的内部结构
2.1 Chip的内部结构
在每个Chip内部是由多个Bank组成

在每个 bank 内部,就是电容的行列矩阵结构了。每个矩阵中至少会存储内存颗粒位宽个小电容。例如 1R*16中,一个结构中至少16个小电容。但是一搬会存储64个电容(一个电容代表一个bit数据)
row buffer 就是 内存每次将行数据读取出来放到row buffer中

例如下面是一个美光(Megon)真实内存 Chip 的内部结构

在该 Chip 中,
总共有 8 个 bank,
每个 bank 是一个 32768 行 * 128 列的二维矩阵
每个二维矩阵单元存储的数据大小是 64 比特。
则该 Chip 总共可存储的数据大小 = 8 * 32768 * 128 * 64 = 2147483648 比特。
换算成 MB = 2147483648 字节/(1024*1024*8) = 256 MiB
3、服务器内存结构


字符串标识32 GB 2R\*4 PC4-2666V-RB2-12-DB1
32GB:表示该条内存容量为 32 GB
2R: 表示该条内存总共有两个Rank
4:表示该条内存每个 Chip 提供的数据位宽是 4
PC4-2666:表示这是一条 DDR4 代内存,数据频率 2666
12:这是内存中一个延迟参数
服务器 ECC 内存需要 72 位的数据,所以每个 Rank 需要 72 / 4 = 18 个颗粒。
ECC 就是这样一种内存技术。它的英文全称是 “Error Checking and Correcting”,对应的中文名称就叫做“错误检查和纠正",用于解决电磁干扰比特翻转的问题,多留了8个位置是用于错误校验
中间的黑色大颗粒表示这是一个带寄存器的 RDIMM 内存
2336

被折叠的 条评论
为什么被折叠?



