11.3 Additional Constraints
在前面的部分中,资源争用模型用于证明不同DRAM命令组合之间的各种指定最小时序约束。然而,在现代DRAM内存系统中存在额外的约束,限制了现代DRAM内存系统的带宽利用。其中一个约束与DRAM设备的功耗有关,另一个约束与命令和地址在内存系统中的分发有关。在接下来的部分中,将分别研究内存系统操作中的这些额外约束。
11.3.1 Device Power Limit
随着对内存系统性能的不断强调,DRAM制造商正在不断推动每一代DRAM设备的数据传输速率提高。然而,正如提高操作频率会导致现代处理器的更高活动率和更高功耗一样,提高DRAM设备的数据速率也会增加DRAM设备上更高活动率和更高功耗的潜力。用于限制DRAM设备功耗的一种解决方案是限制DRAM设备的活动率。DRAM设备活动率的限制反过来会限制DRAM设备传输数据的能力,并限制DRAM内存系统的性能。
在现代DRAM设备中,每当激活一行时,数千个数据位会并行进行放电、检测,然后恢复。因此,行激活命令是一个相对能耗较高的操作。图11.30显示了DRAM读周期的抽象电流曲线。在图中,活跃的DRAM设备由于主动I/O缓冲区和DLL而绘制出相对较低且恒定的静态电流水平。然后,DRAM设备为DRAM设备上的每次活动额外绘制电流。DRAM设备的总电流绘制只是静态电流绘制和DRAM设备上每次活动的电流绘制的总和。图11.30和11.31中显示的电流曲线以抽象单位而不是具体值来描述。之所以在图11.30和11.31中以抽象单位显示电流曲线,是因为行激活命令的电流绘制大小取决于在一行中并行激活的位数,而数据总线上的数据突发的电流绘制大小取决于DRAM设备的数据总线宽度。因此,每个命令在各自设备上的电流曲线不仅取决于命令的类型,还取决于DRAM设备的配置。
现代DRAM设备包含多个DRAM阵列的存储块,可以进行流水线操作以实现高性能。不幸的是,由于DRAM设备的电流曲线与其活动率成正比,高性能、高度流水线化的DRAM设备也可能绘制大量的活动电流。图11.31显示了同一设备上两个流水线DRAM读周期的电流曲线的各自贡献。图11.31未显示流水线DRAM设备的总电流曲线,但可以通过总结静态电流曲线和两个不同读周期的电流曲线来计算。高性能DRAM设备的功耗问题在于,除了两个流水线读或写周期外,还可以流水线多个读或写周期,并且在单个DRAM设备中可以理论上流水线多达tRC/tBURST个读或写周期,并且处于不同的阶段。为了限制给定DRAM设备的最大电流吸收并避免添加散热机制(如散热片和散热器)来移除热量,DDR2和DDR3设备定义了新的时序参数,以限制DRAM设备的活动率和功耗。
11.3.2 tRRD: Row-to-Row (Activation) Delay
在DDR2 SDRAM设备中,时序参数tRRD已被定义,用于指定相同DRAM设备上行激活之间的最小时间间隔。在当前的上下文中,RRD的首字母缩写代表行到行激活延迟。时序参数tRRD以纳秒为单位进行规定,表11.3显示,通过以纳秒为单位规定tRRD,可以在不考虑操作数据速率的情况下维持行激活之间的最小间隔。对于实施近页行缓冲管理策略的内存系统,tRRD有效地限制了具有单个存储等级的内存系统的最大可持续带宽。在具有两个或更多存储等级的内存系统中,可以将连续的行激活命令定向到不同的存储rank,以避免tRRD的限制。
表11.3显示了1-Gbit DDR2 SDRAM器件的不同配置的tRRD,该器件来自Micron。具有16位数据总线的1-Gbit DDR2 SDRAM器件内部设置为8个存储区,每个存储区有8192行,每行16384位。相比之下,1-Gbit DDR2 SDRAM器件的512-Mbit 4和256-Mbit 8配置内部设置为8个存储区,每个存储区有16384行,每行8192位。因此,表11.3表明,具有更大行大小的128-Mbit 16、1-Gbit DDR2 SDRAM器件在每个行激活时比256-Mbit 8或512-Mbit 4、1-Gbit DDR2 SDRAM器件消耗更多电流。因此,根据表11.3的规定,128-Mbit 16、1-Gbit DDR2 SDRAM器件中的行激活必须在时间上间隔更远。
11.3.3 tFAW: Four-Bank Activation Window
DRAM设备配置的主题在先前的章节中进行了详细讨论。提供的内容缺乏关于银行数量、行数和行大小之间权衡的讨论的背景。也就是说,并没有讨论确定最佳银行数量、行数和列数(行大小)的难点。然而,随着对tRRD和tFAW的描述,现在可以在一定背景下进行讨论。基本上,随着DRAM设备的密度增加,DRAM设备的配置变得像一场困难的权衡。DRAM设备制造商不愿意增加银行的数量,因为银行控制逻辑会增加芯片尺寸。然而,更大的行会增加行激活命令的电流消耗,需要更长的tRRD和tFAW参数规格。增加每个银行的行数意味着在给定的位线上有更多的存储单元,这可能会导致更长的tRCD和tRAS参数,更不用说更多的行刷新请求需要在单位时间内处理。
为了管理DRAM设备不断增加的容量,1-Gbit及更大容量的DDR2 SDRAM设备设计为拥有8个DRAM阵列银行。然而,更多的银行意味着1-Gbit DDR2 SDRAM设备可以在快速连续操作中激活超过4个银行的DRAM阵列,而8个银行设备的电流消耗可能超过只有4个银行DRAM阵列的相似设备的电流消耗。为了限制更大DDR2 SDRAM设备的电流增加,定义了时间参数tFAW来指定在其中可以同时启动同一DRAM设备上的最多四个行激活的滚动时间窗口。FAW的缩写代表四银行激活窗口。图11.32显示了对同一DDR2 SDRAM设备上的不同银行的一系列行激活请求,同时满足tRRD和tFAW。图11.32显示,行激活请求之间至少相隔tRRD时间,而对于不同银行的第五个行激活则要延迟,直到自第一个行激活开始以来至少经过tFAW时间。对于实现接近页面行缓冲区管理策略的存储系统,tFAW对于具有单个存储级别的存储系统的最大可持续带宽施加了很大的限制,而不考虑操作数据速率。最后,时间参数tRRD和tFAW已经为DDR2 SDRAM设备定义,并且这些时间参数将延续到DDR3和未来的DDRx设备。此外,随着未来的DRAM设备引入更大的行大小,这些时间参数预计会变得更加重要。
11.3.4 2T Command Timing in Unbuffered Memory Systems
在高数据速率的非缓冲存储系统中,地址和命令必须分发到大量DRAM设备,受到周期时间有限的限制。为了确保在存储系统中将地址和命令正确传递到大量DRAM设备,内存控制器可能被设计为保持地址和命令长达两个完整的时钟周期。在这种工作模式下,内存控制器被描述为具有2T命令时序。其结果是在这些存储系统中,存储系统的命令和地址带宽减少了一半。
图11.33显示了两个内存系统,其中装有4组DRAM rank。左侧的内存系统具有一组地址和命令总线,连接到系统中的所有四组存储器。相比之下,右侧的内存系统具有两组地址和命令总线,每组总线专用于内存系统的一半。图11.33显示,由于单一地址和命令总线上的负载数量,左侧的内存系统可能被迫使用2T命令时序,而右侧的内存系统则可能保留使用1T命令时序的能力。