【DRAM存储器五】DRAM存储器的架构演进-part2

👉个人主页:highman110

👉作者简介:一名硬件工程师,持续学习,不断记录,保持思考,输出干货内容
参考书籍:《Memory Systems - Cache, DRAM, Disk》

目录

以提升吞吐量为目标的接口变化

[Rambus DRAM(RDRAM,Concurrent RDRAM,Direct RDRAM)](#Rambus DRAM(RDRAM,Concurrent RDRAM,Direct RDRAM))

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的读操作时序。

以降低延时为目标的架构变化

下篇详细介绍。

总结

下篇详细介绍。

相关推荐
Erishen2 小时前
Lume A2A 实战:让 Lume 应用接入分布式 Agent 协作网络
架构·开源·agent
斯维赤2 小时前
限流、熔断、降级,你真的分得清吗?
java·后端·架构
微步AICRM3 小时前
一物一码验真的并发链路设计:码段管理、四级关联与异常判定
后端·架构
国科安芯5 小时前
人在回路中的总线:商业空间站环境控制与生命保障系统CANFD网络的可靠性与功能安全
网络·嵌入式硬件·安全·架构·php·抗辐射
一条Go5 小时前
告警指纹:一次故障为什么只产生一条 FIRING 记录
后端·架构·github
王中阳Go5 小时前
你把重试加到 2 次那天,200 条里成功还是 181 条,你回看过吗?
人工智能·后端·架构
Zan5 小时前
Tauri 2 实战:为什么一个可靠的桌面应用,应该由 Rust Host 管理生命周期?
前端·架构·rust
神鹰手哥_起飞版6 小时前
我是怎么管理 Coding Agent 的:把任务交出去,也把结果验回来
人工智能·架构·产品经理
freejackman9 小时前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
西安小哥11 小时前
大厂把大模型做为一层“网关”,比换个框架更值得琢磨
架构·langchain