DRAM的整体架构(简单翻译)
参考文章,进行一个简单的翻译
同时,更多的参考了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.
在上图中,可以看到第一种设计只有一个channel。第二种和第三种设计,一个Memory Controller有两个通道,这两个通道协同运行。这种channel被称为物理通道。
而下图则是逻辑上的通道,使用了多个内存控制器进行实现。
书中、博客中对于通道并没有非常明确的定义。但在研究过程中,我认为第一种情况更常出现。多控制器似乎并不在考虑范围之内。
Rank
Rank代表了一组DRAM设备,这些设备会同时工作相应一个给定的指令。
上图中给出了一个简单的内存拓扑图,其中有两个rank,每个rank中有4个DRAM device。address和command线路连接了每一个设备。在该设计中使用chip-select来选择对应的rank来处理指令。而data bus被分隔成了4部分,分别连接不同的DRAM设备。
那么显然,这里提到的DRAM device和chip两个术语是对应的。
Bank
bank是一系列在DRAM设备内部的独立内存阵列的集合。
在这个内存设备中,有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。
Row
a row is simply a group of stor- age cells that are activated in parallel in response to a row activation command.
在一个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.
对于subarray,row,column来说,可以用博客中的一张图进行理解(由于书本中并没有提及subarray,我也无法了解更多关于它的定义。)