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

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

下篇详细介绍。

总结

下篇详细介绍。

相关推荐
_.Switch3 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
韩楚风4 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
怡步晓心l7 小时前
晶体管最佳效率区域随频率逆时针旋转原因分析
硬件架构·硬件工程·射频工程
_.Switch9 小时前
Python机器学习:自然语言处理、计算机视觉与强化学习
python·机器学习·计算机视觉·自然语言处理·架构·tensorflow·scikit-learn
feng_xiaoshi14 小时前
【云原生】云原生架构的反模式
云原生·架构
架构师吕师傅15 小时前
性能优化实战(三):缓存为王-面向缓存的设计
后端·微服务·架构
团儿.17 小时前
解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
数据库·mysql·架构·mysql之mha架构
艾伦~耶格尔1 天前
Spring Boot 三层架构开发模式入门
java·spring boot·后端·架构·三层架构
_.Switch1 天前
Python机器学习框架介绍和入门案例:Scikit-learn、TensorFlow与Keras、PyTorch
python·机器学习·架构·tensorflow·keras·scikit-learn
神一样的老师1 天前
构建5G-TSN测试平台:架构与挑战
5g·架构