DRAM的结构之概括(一)

来源:互联网 发布:xperia软件修复 初始化 编辑:程序博客网 时间:2024/06/04 18:16

桌面计算机系统存储器DRAM发展到现在,大多数采用的是DDR SDRAM,即双倍速率同步动态随机存储器,简称为DDR。最新产品已经更新到DDR5。DDR由DDR控制器和DDR颗粒组成。

在存储系统设计中,最重要的是存储控制器。存储控制器接收访存请求,进行地址转换、命令调度,返回或写入数据,通过最优化的行缓冲管理机制、地址映射机制、命令调度机制等来尽可能的提高访存带宽、减小访存延迟。

CPU访存过程:


DDR访存结构


对于DDR颗粒,以4GB内存条为例,一个4GB的内存条,双面DIMM,其中有2个rank,每个rank包含8个物理bank,而每个物理bank中包含8个DDR颗粒(逻辑bank),每个逻辑bank数据位宽为8bit。根据JEDEC标准,每个Rank总线位宽必须为64比特,即每个物理bank中的8个逻辑bank组成。


1)DDR控制器


2)DDR颗粒

DDR颗粒是一个由行和列组成二维阵列,在行和列的交叉处是存储单元。DRAM是依靠电容的充放电来存放数据的。



DDR工作过程

一、DDR控制器工作过程

1)在DDR控制器接收访存请求时,首先要进行的是端口仲裁,端口仲裁就是选择不同的服务主设备,如:CPU、GPU、LCDC等,这一步是为了向各个主设备提供QoS保证,CPU是延迟敏感型设备,存储器控制器必须保证来到的CPU访存请求能够足够快的被服务;GPU是带宽敏感型设备,存储器控制器必须保证有足够的带宽满足GPU多数据访问;LCDC是延迟紧迫型设备,处于CPU和GPU之间。

2)端口仲裁之后,访存请求进入交易队列,交易队列是一个先入先出的队列,顺序输出访存请求进入地址映射模块。地址映射是将访存请求地址与相应的DDR颗粒的物理相对应。访存请求携带的DDR bank的状态信息用来判断所访问是否busy或空闲,携带的L/S信息指出当前访存请求是读请求还是写请求等。

3)经过地址映射之后,访存请求进入命令队列,命令队列的调度比较复杂,最典型的调度机制为FC-FRFS调度,即:first coming-first ready first serve。FC-FRFS调度保证最大的行缓冲命中和最老请求优先服务。命令类型一共有五类:刷新命令、读命令、写命令、激活命令、和预充电命令

二、DDR颗粒工作过程

1)读请求

当命令队列中的命令发出至DDR颗粒时,首次访存发出行激活命令,行激活命令的作用是将相应的行里的数据搬移到行缓冲中,经历的时间为tRCD,这时被搬移的DDR阵列里的行处于不定状态,接着发出列选通命令,选择行缓冲里某一列开始传输数据,DRAM通常是突发传输,突发传输就是一次传输连续多次取数据或写数据。若突发传输长度为8,那么在列地址选通过后,选中的列地址和随后的7列数据都将被读取或写入。列选通经过一定的时间tCAS,开始将数据传输到数据总线上,数据在数据总线上传输花费时间为tBURST,对于双倍数据速率同步动态随机存储器DDR SDRAM,tBURST为突发传输长度的一半。数据经过数据总线被传送到存储器控制器,返回给访存主设备。


2)写请求

与读请求不同的是,写请求在发出行激活命令后,列地址选通的时间为tCWD,为了保证数据的完整性,在突发传输后必须经过写回过程,经历时间tWR。



DDR时序要求

根据JEDEC标准,DDR需要满足时序上的约束关系,才能保证DDR的正常工作。


(1)基本操作时序


(2)行激活约束


(3)读写切换



(4)读时序











0 0