我转储了我的 RAM DIMM 信息。它包含像32GB(8Gbx4DR)
. 我知道它的容量是 32GB。什么8Gbx4DR
意思?
我听说过诸如rank
, channel
, 之类的概念bank
。我明白那个:
甲秩指组成所述存储器控制器的的比特宽度要求的切屑通道宽度。
等级由银行构成。
但是如何将转储的信息映射到这些概念?
以下是转储信息的屏幕截图:
我查看了一些有关 RAM 设置的参考页面和文档:
回到我的32GB(8Gbx4DR)
问题。现在我相信我可以弄清楚:
x4
装置,单个DRAM芯片提供4位的宽度。因此每个 RANK 需要16 个DRAM 芯片才能满足通道宽度。DR
表示每个 DIMM 2/双列所以一个 DIMM 的总大小 = 2 * 16 * 8Gb = 32GB(上 B)
如果包括 ECC(纠错码),则需要更多的 DRAM 芯片。对于单个字节,需要单个 ECC位。
比如8Gb x4 DRAM芯片,16GB双列DIMM加ECC的计算是这样的。(重要的是按位计算。)
DDR* 需要 64 位宽度才能为通道提供服务。x4 表示单个 DRAM 芯片具有 4 位宽度。所以一个排名将包括 64/4 = 16 个筹码。
对于双列,我们需要32
DRAM 芯片。
要实现 16GB 的总 DIMM 容量,每个 DRAM 芯片的大小应为 16GB /32 = 16*8 Gb /32 = 4 Gb。
每 8 位需要一个 ECC 位,所以 16GB 需要:16*8 Gb /8 = 16Gb。ECC 也可以用 DRAM 芯片实现。而 16Gb 只是4
4-Gb DRAM 芯片的一部分。
所以32 + 4 = 36
总的来说,我们需要4Gbx4 DRAM 芯片。
这是正确的。具体命名约定如下(各厂商略有不同):
[32GB][8Gb][x4][DR]
[DIMM_TOTAL_SIZE(以 GB 为单位)] [DRAM SIZE(以 GB 为单位)] [每 DRAM 的数据位数(列宽)] [等级数]
32GB = (8 * 16 * 2) / 8
8 GB * 每列 16 个芯片(DRAM) * 2 个列 = 256 GB
256 GB / 8 = 32 GB。
DRAM 包含的存储体资源数量(密度)是 DRAM 内部的,在这里并不重要。它被计入[DRAM SIZE(以千兆位为单位)]。
对于相同密度的不同 DRAM 宽度:
x4 包含的存储体资源数量是 x8 的两倍
x8 包含的存储体资源数量是 x16 的两倍
每个 DRAM 拥有更多的存储体资源具有性能优势,因为在任何给定时间,DRAM 的每个存储体只能打开一页(或行)。一般来说,x4 的性能优于 x8,而 x8 的性能又优于 x16(所有其他因素相同),这是由于内存控制器执行事务的流水线操作。这是因为打开页面(激活)和关闭页面(预充电)需要时间(延迟)。您可以通过添加排来有效地将通道上的 Bank 资源数量加倍,但这不如将 DRAM 的 Bank 资源加倍有利,因为在任何给定时间只有一个排可以在总线上进行通信。
-保罗·K