中电网移动|移动中电网|高清图滚动区

DRAM模块是什么?你知道DRAM的组织方式吗?

虽然很多人对 DRAM 不太熟悉,但是 DRAM 却并非新奇玩意儿。因为,在使用电脑的时候,我们都在和 DRAM 打交道。为增进大家对 DRAM 的认识程度,本文将基于两点对 DRAM 予以介绍:1.DRAM 的组织方式介绍,2.DRAM 模块介绍。

一、DRAM 组织方式介绍

随着系统对内存容量、带宽、性能等方面的需求提高,系统会接入多个 DRAM Devices。而多个 DRAM Devices 不同的组织方式,会带来不同的效果。本文将对不同的组织方式及其效果进行简单介绍。
 
1. Single Channel DRAM Controller 组织方式

Single Channel 指 DRAM Controller 只有一组控制和数据总线。 在这种场景下,DRAM Controller 与单个或者多个 DRAM Devices 的连接方式如下所示:
 
1.1 连接单个 DRAM Device

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/18/5fdc43288e599-thumb.png

Single Channel 连接单个 DRAM Device 是最常见的一种组织方式。 由于成本、工艺等方面的因素,单个 DRAM Device 在总线宽度、容量上有所限制,在需要大带宽、大容量的产品中,通常接入多个 DRAM Devices。
 
1.2 连接多个 DRAM Devices

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/18/5fdc43288e081-thumb.png

上图中,多个 DRAM Devices 共享控制和数据总线,DRAM Controller 通过 Chip Select 分时单独访问各个 DRAM Devices。此外,在其中一个 Device 进入刷新周期时,DRAM Controller 可以按照一定的调度算法,优先执行其他 Device 上的访问请求,提高系统整体内存访问性能。
 
NOTE:CS0 和 CS1 在同一时刻,只有一个可以处于使能状态,即同一时刻,只有一个 Device 可以被访问。
 
上述的这种组织方式只增加总体容量,不增加带宽。下图中描述的组织方式则可以既增加总体容量,也增加带宽。

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/18/5fdc43288d924-thumb.png

上图中,多个 DRAM Devices 共享控制总线和 Chip Select 信号,DRAM Controller 同时访问每个 DRAM Devices,各个 Devices 的数据合并到一起,例如 Device 1 的数据输出到数据总线的 DATA[0:7] 信号上,Device 2 的数据输出到数据总线的 DATA[8:15] 上。这样的组织方式下,访问 16 bits 的数据就只需要一个访问周期就可以完成,而不需要分解为两个 8 bits 的访问周期。
 
2. MulTI Channel DRAM Controller 组织方式

MulTI Channel 指 DRAM Controller 只有多组控制和数据总线,每一组总线可以独立访问 DRAM Devices。 在这种场景下,DRAM Controller 与 DRAM Devices 的连接方式如下所示:
 
2.1 连接 Single Channel DRAM Devices

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/18/5fdc43288c360-thumb.png

这种组织方式的优势在于多个 Devices 可以同时工作,DRAM Controller 可以对不同 Channel 上的 Devices 同时发起读写请求,提高了读写请求的吞吐率。
 
NOTE:CS0 和 CS1 在同一时刻,可以同时处于使能状态,即同一时刻,两个 Devices 可以同时被访问。
 
2.2 连接 MulTI Channel DRAM Device

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/18/5fdc43288c297-thumb.png

在一些 DRAM 产品中,例如 LPDDR3、LPDDR4 等,引入了 MulTI Channel 的设计,即一个 DRAM Devices 中包括多个 Channel。这样就可以在单个 Device 上达成 Multi Channel 同时访问的效果,最终带来读写请求吞吐率的提升。
 
二、DRAM 模块

DRAM 的英文全称是"Dynamic RAM",翻译成中文就是"动态随机存储器"。。DRAM 只能将数据保持很短的时间。为了保持数据,DRAM 必须隔一段时间刷新(refresh)一次。如果存储单元没有被刷新,数据就会丢失。 DRAM 用于通常的数据存取。我们常说内存有多大,主要是指 DRAM 的容量。

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/18/5fdc43288b7f7-thumb.png

所有的 DRAM 基本单位都是由一个晶体管和一个电容器组成。请看下图:

https://upload.semidata.info/new.eefocus.com/article/image/2020/12/18/5fdc43288bbbf-thumb.png

上图只是 DRAM 一个基本单位的结构示意图:电容器的状态决定了这个 DRAM 单位的逻辑状态是 1 还是 0,但是电容的被利用的这个特性也是它的缺点。一个电容器可以存储一定量的电子或者是电荷。一个充电的电容器在数字电子中被认为是逻辑上的 1,而“空”的电容器则是 0。电容器不能持久的保持储存的电荷,所以内存需要不断定时刷新,才能保持暂存的数据。电容器可以由电流来充电——当然这个电流是有一定限制的,否则会把电容击穿。同时电容的充放电需要一定的时间,虽然对于内存基本单位中的电容这个时间很短,只有大约 0.2-0.18 微秒,但是这个期间内存是不能执行存取操作的。
 
DRAM 制造商的一些资料中显示,内存至少要每 64ms 刷新一次,这也就意味着内存有 1%的时间要用来刷新。内存的自动刷新对于内存厂商来说不是一个难题,而关键在于当对内存单元进行读取操作时保持内存的内容不变——所以 DRAM 单元每次读取操作之后都要进行刷新:执行一次回写操作,因为读取操作也会破坏内存中的电荷,也就是说对于内存中存储的数据是具有破坏性的。所以内存不但要每 64ms 刷新一次,每次读操作之后也要刷新一次。这样就增加了存取操作的周期,当然潜伏期也就越长。 SRAM,静态(Static)RAM 不存在刷新的问题,一个 SRAM 基本单元包括 4 个晶体管和 2 个电阻。它不是通过利用电容充放电的特性来存储数据,而是利用设置晶体管的状态来决定逻辑状态——同 CPU 中的逻辑状态一样。读取操作对于 SRAM 不是破坏性的,所以 SRAM 不存在刷新的问题。
 
SRAM 不但可以运行在比 DRAM 高的时钟频率上,而且潜伏期比 DRAM 短的多。SRAM 仅仅需要 2 到 3 个时钟周期就能从 CPU 缓存调入需要的数据,而 DRAM 却需要 3 到 9 个时钟周期(这里我们忽略了信号在 CPU、芯片组和内存控制电路之间传输的时间)。

猜你喜欢
中电网移动|移动中电网|频道导航区