本文将mark下DRAM components相关notes。

Basic

In modern cloud servers, a CPU(socket) has several memory controllers. Each controller communicates with DIMMs through high-speed memory channels. Usually, a memory channel is shared by several DIMM slots. A DIMM has several ranks, and each is composed of sevaral DRAM chips. For typical DDR4 DIMMs, a rank is composed of 16 chips for data bits and 2 additional chips for ECC bits. A chip consists of multiple banks, which enables the access parallesim. A DRAM bank is structured as a two-dimensional cell array indexed by rows and columns.

  • socket
  • memory controller
  • channel
  • DIMM(Dual In-Line Memory Module)
  • rank
  • chip
  • bank
  • cell (row, column)

DQ pin

DQ pin 是 DRAM 芯片和内存控制器之间传输数据的“数据引脚”(Data pin)。

可以把它理解成内存芯片对外的数据线接口

CPU 不直接连接 DRAM cell,路径大概是:

1
2
3
4
5
6
7
8
9
10
CPU / Memory Controller
|
|
DQ wires
|
|
DRAM Chip
|
|
DRAM Cell Array

CPU 想读数据:

1
2
3
4
5
6
7
8
9
DRAM内部cell

Sense Amplifier

内部数据通路

DQ pin

Memory Controller

写数据则相反:

1
2
3
4
5
Memory Controller

DQ pin

DRAM内部阵列

x4/x8/x16 device width

简单理解:

1
2
3
4
5
6
7
8
9
x4 DRAM chip

内部 DRAM array
|
|

一次读写输出 4 bit

DQ0 DQ1 DQ2 DQ3
1
2
3
4
5
6
7
8
9
x8 DRAM chip

内部 DRAM array
|
|

一次读写输出 8 bit

DQ0~DQ7
1
2
3
4
5
6
7
8
9
x16 DRAM chip

内部 DRAM array
|
|

一次读写输出 16 bit

DQ0~DQ15

一个 Rank 为什么有很多 DRAM 芯片?

因为一个 DRAM 芯片的数据宽度太小。

例如 DDR4 RDIMM的配置:

1
2
3
4
5
6
7
8
9
10
11
一个 Rank:

18颗 x4 DRAM

其中:

16颗:
数据

2颗:
ECC

画一下:

1
2
3
4
5
6
7
8
9
10
             一个 Rank

Chip0 x4 ---- DQ0~DQ3
Chip1 x4 ---- DQ4~DQ7
Chip2 x4 ---- DQ8~DQ11
...
Chip15 x4 ---- 数据

Chip16 x4 ---- ECC
Chip17 x4 ---- ECC

总数据宽度:

1
2
3
18 × 4 bit

=72 bit

其中:

1
2
3
64 bit 数据
+
8 bit ECC

所以服务器内存常见:

1
64-bit data + ECC

就是这样来的。

DQ lane

简单理解:

1
2
3
4
5
6
7
8
9
10
11
12
13
一个 x4 DRAM:

DQ0
DQ1
DQ2
DQ3

+
DQS (数据同步时钟)

组成:

一个 lane

所以:

1
2
3
4
5
6
7
8
DQ pin:

一根数据线


DQ lane:

一组数据线 + 时钟

关系:

1
2
3
4
5
6
7
8
9
10
11
        Lane

+----------------+
| |
DQ0 |
DQ1 |
DQ2 |
DQ3 |
DQS |
| |
+----------------+

参考资料:

  1. Predicting DRAM-Caused Node Unavailability in Hyper-Scale Clouds(DSN’22)
  2. 内存结构
  3. 内存基本概念