缓冲模块
背景
随着内存系统的不断发展,通过使用更宽的内存系统总线和更快的每针脚信令速率,内存系统带宽正朝着更高级别发展。控制器封装成本、主板布线复杂度和系统空间限制,使内存总线宽度的增加十分困难,导致各个公司愈加注重提高内存系统的每个针脚信令速率。
传统的内存系统,如个人计算机和工作站中的内存系统,通常需要支持多个模块,以便将来能够升级内存容量。通过使用多接点拓扑(允许每条数据总线导线有多个设备),传统的内存总线能够支持多个模块。然而,由于多接点拓扑支持每条数据总线导线有多个设备,因此增加了内存总线的电容负载。另外,支持多个内存模块的内存系统可能还具有很长的总线导线,这些长总线导线的相关电容会进一步增加内存总线上的电容负载。这些增加的电容负载会降低信号完整性,从而限制内存系统的最大信令速率。为实现更高的每针脚信令速率,内存总线的长度的发展趋势是缩短长度、减少模块。这些设计决策通过最小化电容负载的影响来提高信令速率,但需要减少内存容量和支持的内存升级数量。
什么是缓冲模块?
缓冲模块通过减少内存总线上的电容负载,来提高内存总线的速度。 但与限制总线长度和支持模块数量的传统方法不同,缓冲模块通过增加内存模块数量来支持高内存容量。

图 1 显示了支持 DDR SDRAM 和 DDR2 SDRAM 的传统内存系统的电容负载。图 1 表面数据总线导线可以有多个电容负载。每条数据总线导线上的每个内存模块最多可以有 2 个电容负载(对于双面模块,一个来自模块前面的 DRAM,一个来自模块背面的 DRAM)。随着内存总线上支持的模块数量增加,总线上的潜在电容负载也会增加。

图 2 显示了某些模块与内存控制器的物理距离远于其他模块。在高速信令的情况下,距离内存控制器较远的模块将拥有比距离控制器较近的模块更高的存取延迟。由于这种存取延迟的不同,访问不同模块的相邻内存引用可能会使内存总线发生“阻塞”,从而影响效率。为提高效率,可以将缓冲器设计为插入不同的延迟量,以使内存中所有模块的存取延迟相等(参见图 3)。这样可以管线化相邻内存引用,从而提高内存系统的有效带宽。
模块缓冲器还可以提供整合的时钟和数据再生功能。信号在内存总线中传输时会不断衰减,如果信号衰减太多,传输的信息就会丢失。模块缓冲器提供了一种简便机制,用于接收时钟和数据信号,并将它们增强到原始信号的级别,从而提高内存总线上的信号完整性。

模块缓冲器允许总线使用不同的总线宽度,以连接模块缓冲器(内存总线),以及将模块缓冲器连接到模块上的 DRAM(模块总线)。要降低针脚数、降低布线复杂度并节省主板上的布线空间,内存总线可以比模块总线更窄。在这样的系统中,内存总线的带宽将大于或等于模块带宽,也就是说,内存总线的运行频率高于模块总线。要管理不同频宽和运行频率的两个总线之间的信息交换,模块缓冲器需要进行串行到并行和并行到串行的高效转换。
谁将受益?
降低内存总线上的电容负载,并用模块缓冲器电气隔离 DRAM,这样可以加快总线速度,从而提高内存总线和模块总线上的每针脚信令速率并增加总线带宽。这样一来,缓冲模块便可以使很多人受益:
- 最终用户:通过将 DRAM 与内存总线电气隔离,降低电容负载。减少电容负载将加快内存总线和模块总线上的总线速度,从而提高系统性能。缓冲模块还可以构建以高内存总线速度运行的高容量内存系统 - 这种组合是实现服务器高性能的基本要求。
- 控制器和主板设计者:通过实现每针脚高传输速率,缓冲模块使控制器设计者能够减少 I/O 针脚数,从而降低封装成本、组件数、布线区域以及布线复杂度。
- 模块制造商:将模块总线与内存总线电气隔离,可以减少模块总线的长度。这些总线不再需要穿过连接器,从而增强了模块上的信号完整性。
