参考文章,进行一个简单的翻译

同时,更多的参考了2008年出版的Memory System的第十章内容。

目前使用DRAM的基本架构为Processor <=> Memory Controller <=> DRAM。

其中DRAM中包含了Channel => Rank => Chip => Bank => Subarray => Mat => Row, Column => Cell,下面介绍这些术语具体含义。

Channel

A channel is the collection of all banks that share a common physical link (command, address, data buses) to the processor.

image.png

在上图中,可以看到第一种设计只有一个channel。第二种和第三种设计,一个Memory Controller有两个通道,这两个通道协同运行。这种channel被称为物理通道。

而下图则是逻辑上的通道,使用了多个内存控制器进行实现。

image.png

书中、博客中对于通道并没有非常明确的定义。但在研究过程中,我认为第一种情况更常出现。多控制器似乎并不在考虑范围之内。

Rank

Rank代表了一组DRAM设备,这些设备会同时工作相应一个给定的指令。

image-20221222105415750

上图中给出了一个简单的内存拓扑图,其中有两个rank,每个rank中有4个DRAM device。address和command线路连接了每一个设备。在该设计中使用chip-select来选择对应的rank来处理指令。而data bus被分隔成了4部分,分别连接不同的DRAM设备。

那么显然,这里提到的DRAM device和chip两个术语是对应的。

Bank

bank是一系列在DRAM设备内部的独立内存阵列的集合。

image.png

在这个内存设备中,有4个bank,每个bank都有非常多的DRAM阵列。

the multi-bank architecture allows commands such as read requests to different banks to be pipelined. Certain commands, such as refresh commands, can also be engaged in multiple banks in parallel.

可以认为,multi-bank的设计能够更大程度的促进设备的并行性。

DRAM Subarray(Array)

其中,一个bank还会呗分成非常多的tile。一整行的tile就被称为一个subarray。而所有的subarray加起来就是DRAM array。

image.png

Row

a row is simply a group of stor- age cells that are activated in parallel in response to a row activation command.

image.png

在一个rank中包含了4个bank,

Column

Column of data is the smallest addressable unit of memory.

The size of a column of data is the same as the width of the data bus.

image.png

对于subarray,row,column来说,可以用博客中的一张图进行理解(由于书本中并没有提及subarray,我也无法了解更多关于它的定义。)

image.png