前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >深入理解DRAM-2:DDR1-DDR4 升级之路

深入理解DRAM-2:DDR1-DDR4 升级之路

作者头像
数据存储前沿技术
发布2025-02-11 16:39:47
发布2025-02-11 16:39:47
840
举报

问题意识

DRAM经过25年发展从早期SDRAM升级到如今数据中心常见DDR4/5(DDR6标准已建立但尚未量产),每代次是如何优化的呢?

策略一:并行预取(Prefetch)

预取并行度是指一次数据传输过程中,内存控制器可以处理多少组数据。这个数字越大,表示内存系统可以一次性处理的数据量越多,从而提高数据吞吐量。

例如,DDR5的16n预取并行度(内存控制器双通道,8n/通道)意味着它可以一次处理16组数据,而DDR1只能处理一组数据。这种增加预取并行度的方法使得内存系统能够在保持核心速度不变的情况下,通过ping-ponging方式提高I/O速率,从而提高整体系统性能。

缓存行(Cache Line)大小驱动着整个行业的发展。具体来说:

  • • 64字节的缓存行是标准:这是指当前计算机体系结构中的缓存行大小通常是64字节。
  • • 这迫使内存I/O设计遵循规则:这些规则要求在请求时提供64字节的数据块。
  • • DRAM I/O宽度为x4和x8是最常见的:这是指DRAM接口的宽度通常为4倍或8倍的数据宽度。
  • • 一个“rank”指的是同时被访问的一组DRAM芯片:它们一起工作以向主机提供一个宽字。
  • • 这推动了预取深度背后的数学原理:预取深度是指一次从内存中读入多少数据到缓存中的策略。
  • • 设计师们平衡DRAM I/O宽度和每个DRAM的容量:以此来构建内存模组。

不同预取量对应着不同传输效率,展开来看:

  • • 64 Byte的缓存行,对应8 bit I/O通道,需要传输64次(1Byte = 8 bit),常见于早期服务器内存条(SDRAM);
  • • 4组合的8n预取DRAM I/O,只需要16次传输(相对加速了4倍!)对应DDR3/4;
  • • 同样的道理,8组合的4n预取DRAM I/O,也需要16次传输(DDR2);
  • • DDR5服务器模块有两个40位子通道(明显提升!),每个子通道都能在16次传输内提供一个缓存线,其中包含32位数据和8位ECC(错误校验码,提高Cache命中率)。
  • SDRAM(Synchronous Dynamic Random Access Memory)是一种同步动态随机存取存储器,它是DRAM(Dynamic Random Access Memory)的一种类型,但与传统的异步DRAM相比,它能够与系统时钟同步运行,从而提供更高的数据传输率和更佳的性能。SDRAM的设计目的是为了适应计算机系统中日益增长的性能需求,尤其是在处理器速度快速提升的背景下,传统的异步DRAM无法提供足够的带宽和响应速度。

Prefetch 可以升级到x16或者更高,来优化传输带宽吗?

内存设计确实可以通过提高预取(prefetch)并行度来优化传输效率,但这并非没有限制。在考虑是否可以设计出更高并行度如x16的设备时,需要考虑几个关键因素:

  1. 1. 信号完整性:随着数据线数量的增加,信号完整性和电气特性变得更加复杂,这可能导致信号反射、串扰和时序问题,进而影响数据的可靠性和速度。
  2. 2. 功耗:更多的数据线意味着更高的功耗,这对于便携式设备和服务器的热管理是不利的。
  3. 3. 成本和封装尺寸:更多的数据线意味着更大的封装尺寸,这不仅增加了成本,也可能限制了在有限空间内的使用。
  4. 4. 芯片设计复杂性:更高的并行度要求更复杂的芯片设计,包括更多的I/O控制器和更复杂的内存控制器,这会增加设计难度和成本。
  5. 5. 效率和带宽:虽然理论上x16设备可能提供更高的带宽,但实际上,由于信号质量和功耗的限制,实际的带宽增益可能不如预期显著。例如,两个x8设备可能比一个x16设备在实际应用中更加高效。
  6. 6. 标准化和兼容性:内存标准如DDR是由JEDEC这样的组织制定的,它们平衡了上述所有因素来确定最佳的并行度。偏离这些标准可能会导致兼容性问题。

因此,尽管理论上可以设计x16设备,但在实践中,考虑到上述限制,业界通常会选择更优化的方案,如增加通道数(比如DDR5中的两个独立的40位子通道),使用更先进的工艺节点来降低功耗和提高速度,或是采用其他类型的内存技术(如HBM,高带宽内存)来达到更高的带宽和效率,而不只是单纯增加单个设备的数据线数量。

策略二:通信系统优化(DDR1--DDR4)

相对于并行预取策略的高效,如何优化DRAM io 和系统 io 间的模型信号的相干性,是更底层的优化策略

图中显示了信号反射对可靠数据传输的挑战,特别是在系统输入输出(I/O)方面。

图中左侧是一个模拟电路图,显示了信号反射的情况,右侧则是实际测量得到的眼图。眼图是一种用来评估数字通信系统中信号质量的方法,它可以帮助我们理解信号在经过长距离传输后受到噪声干扰的程度。图中可以看到,由于反射导致的符号间干扰(Inter-symbol interference, ISI)显著影响了可用的数据窗口(data eyes),这会降低系统的传输速率和可靠性。因此,解决这种问题成为了设计高速通信系统的一个重要技巧。

SDRAM--DDR1

SDRAM到DDR1的过渡过程,Transmeta Crusoe处理器作为第一个支持这两种类型的CPU。图中左边是PC-133 SDRAM的架构,右边是DDR1-400的架构。中间有一个小插图展示了一个Transmeta Crusoe CPU。在SDRAM中,数据、地址和时钟信号都是分开的,而在DDR1中,数据和数据 strobe是结合在一起的,而且还有终结电压(Termination Voltage)和寄生电容(CaC)。此外,DDR1还采用了线路末端终止(Line-end termination)技术来减少反射问题。

通过 数据 strobe、终结电压(Termination Voltage)、寄生电容(CaC)和线路末端终止(Line-end termination)技术 来优化SDRAM的信号质量。

DDR1--DDR2

Strobe Pair 是 DDR2 中的一种设计特性,用于减少不对称性错误。它由两个互补的信号 DQS 和 DQS# 组成,它们是差分信号,可以提高信号质量和稳定性。这个设计有助于改善数据传输的准确性和效率,并且在数据和脉冲线上使用了片上终接(On-die termination) 来减少传输线的反射。此外,DDR2也继续使用了T分支路由来进行寄生电容补偿(CaC)。

图中还包含了一个详细的内部缓冲器示意图,说明了如何通过开关(sw1、sw2、sw3)来控制终端电阻(Rival1、Rival2、Rival3),从而实现片上终接。

DDR2--DDR3

DDR3引入了命令敏感的ODT(Command-sensitive ODT),提高了信号质量,并且为数据和地址使用了不同的电压参考(Separate voltage references for data versus addresses)。

图中还包括一个内部电路图,显示了VREF_DQ和VREF_CA是如何连接到数据和地址/命令线上的。

DDR3--DDR4

DDR4引入了更精细的参考电压调整(Shmooing the reference voltage allows tighter calibration),并且图中包括了一个内部电路图,显示了VREF是如何连接到数据线上的。

小结

在介绍当前主流DDR5之前,回顾下从SDRAM到DDR4整个系统优化过程,主要分为两个部分。

  1. 1. 基于并行预取机制,提高器件访存效率;
    1. SDRAM--1n
    2. DDR1--2n
    3. DDR2--4n
    4. DDR3/4--8n
    5. DDR5--16n
  2. 2. 优化通信系统信号质量,减少干扰,数据保真。
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 王知鱼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 问题意识
  • 策略一:并行预取(Prefetch)
  • 策略二:通信系统优化(DDR1--DDR4)
  • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档