👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容
参考书籍:《Memory Systems - Cache, DRAM, Disk》
目录
[Rambus DRAM(RDRAM,Concurrent RDRAM,Direct RDRAM)](#Rambus DRAM(RDRAM,Concurrent RDRAM,Direct RDRAM))
[Concurrent RDRAM](#Concurrent RDRAM)
[Direct RDRAM](#Direct RDRAM)
[DDR DRAM](#DDR DRAM)
以提升吞吐量为目标的接口变化
Rambus DRAM(RDRAM,Concurrent RDRAM,Direct RDRAM)
RDRAM
以上章节描述的都是以提升吞吐量为目标的架构变化,本节的Rambus DRAM和下节的DDR DRAM则是通过接口变化来提升吞吐量。Rambus DRAM(RDRAM)和传统的主流DRAM都不太一样。它使用的是比传统设计窄得多的总线,并且至少在其刚诞生时,RDRAM的总线没有区分地址、控制、数据、片选信号。取而代之的是一组混合的总线:地址、控制、数据、片选信号都在一组走线上传输,只是传输的时机不同。它的总线宽度为1字节,速率为250MHz,使用时钟的双沿传输数据,从而使得理论带宽为500MB/s。总线上的传输会使用不同的请求/响应协议,这种传输的包类似于网络的请求/响应:首先发送一个包括所有地址(含行地址和列地址)的地址/控制包,然后传输数据包。不同的传输需要使用不同的时钟周期,具体取决于传输的类型、数据在颗粒内部的位置、每个channel的颗粒数量等。下图展示了一个典型的不确定延时的读请求。
Concurrent RDRAM
由于RDRAM为单总线设计,并且未将多个功能分离,所以在一段时间内只能有一个传输请求,这限制了总线的并发性(指同时做多个事情的能力)。也是由于这个限制,RDRAM的原型设计没有很好地适配当时主流的PC市场,之后在20时机90年代中期,其接口被重新设计以支持更高的并发性,新接口称为Concurrent RDRAM。在该接口设计中,其的总线被拆分成地址段、控制段、数据段,与JEDEC式的DRAM结构类似。总线的数据段宽度仍然为1字节,但在此基础上添加了1位地址段和1位控制段。通过三段功能分离的总线,可以在总线上同时执行三个单独的操作。这样的分离的专用设计安排简化了事务调度,相应地提高了RDRAM的性能。注意到在这个时候,Rambus单个命令会使用4个时钟周期,这个时间被称为octcycle。Concurrent RDRAM在一个快速时钟的两个边沿上都会发送数据,同时使用一个数据和地址复用的、宽度为1字节的数据总线。下图为读操作的时序图:
Direct RDRAM
由于1bit的地址位宽过于狭窄,Concurrent RDRAM设计的少数局限性之一是数据总线有时会携带一个简短的地址包,不过这个限制在被称为Direct RDRAM的最新设计中去除了。Direct RDRAM继承在Concurrent RDRAM中划分总线的方式,并将数据段宽度增加到2字节,将地址段宽度增加到5位,将控制段增加到3位。像JEDEC式架构一样,这些段保持独立和专用,并且地址段和控制段的宽度已经足够,不需要数据段再发送除数据之外的其他信号,这样也使得数据吞吐量增加了。在后续的发展中,总线的工作速率也逐渐提升,后面超过了原始设计的两倍以上(500MHz的总线频率)。Direct RDRAM中的每个半行缓冲器会在相邻的bank之间共享,这意味着相邻bank不能被同时激活。这种架构与每个bank单独设计缓冲器的架构相比,会导致行缓冲器失去命中的概率上升,但是同时也会降低die面积。下图为读操作的时序图:
DDR DRAM
双倍数据率(Double data rate, DDR) SDRAM是现代JEDEC架构式DRAM的第一代设计。DDR通过在时钟的双边沿(升沿和下降沿)传输数据以达到相对于单边沿SDRAM的双倍速率带宽。DDR SDRAM在其他特性上与SDRAM都类似,使用相同的信号技术,使用相同的接口规范,以及相同的DIMM扇出方式。然而DDR SDRAM内部向存储阵列传输数据时,其读写位宽是SDRAM的两倍。下图为DDR DRAM的读操作时序。
以降低延时为目标的架构变化
下篇详细介绍。
总结
下篇详细介绍。