[转] Unbuffered DIMM? Registered DIMM? and others! 内存
使用内存时经常见到buffered,registered甚至是Full-buffered的内存结构,刚开始还真搞不懂这些到底表示什么结构,也不知道这些结构的内存条的使用环境。网上简单的google了一下,才恍然大悟:真理或者谬误,离我原来只有一个浏览器的距离。
我们的电脑上一般使用的都是Unb-DIMM(Unbuffered-DIMM,无缓冲DIMM),它的所有信号都是从内存控制器直通到SDRAM芯片颗粒上的,也即Unbuffered。而Reg-DIMM内存另加了Register芯片,让所有的地址信号和控制信号都通过Register后再传送到SDRAM颗粒上。在高容量模组上,内存芯片数量很多,而且在需要大容量内存的工作场合,内存模组的安插数量也是很多的,这使命令与寻址信号的稳定性受到了严峻考验。很多芯片组的资料中都说明只有使用Reg-DIMM才能达到标称的最高内存容量,从这点就能猜到寄存器的作用——稳定命令/地址信号,隔离外部干扰。
Registered内存本身有两种工作模式,即 Registered模式和Buffered模式。在支持Registered工作模式的主板上工作时,Registered内存工作于 Registered模式,这时主板上的地址信号和控制信号会比数据信号先一个时钟周期到达DIMM,送入Register芯片后会在其中停留一个时钟周期,然后在下一个时钟信号的上升沿从Register输出,与此时从主板上到达DIMM的数据信号一起同时传送到SDRAM。当Registered内存工作在普通的主板上时,为Buffered工作模式,这时所有的信号也基本上是同时到达DIMM再同时传送到SDRAM,Register芯片这时在功能上只相当于一个简单的Buffer,其输入到输出之间是直通的,只简单的起到改善地址信号和控制信号的作用,时序上与Unbuffered内存是一样的。
现在再回头看看我们常用的Unb-DIMM,就很明白了。它关键就少了寄存器,但为什么不称之为Unregistered-DIMM呢?其实,Buffered与Registered是Reg-DIMM的两种工作模式,前者在Reg-DIMM上并不常用,它是以时钟异步方式工作的,输出信号的再驱动不与时钟同步,Registered模式下输入信号的再驱动则与时钟同步。显然,Buffered模式下的性能要更低一些。不过,从原理上讲Registered模式也是一种缓冲操作,只是与时钟同步而已。在SDRAM的Reg-DIMM上,Buffered与Registered模式通过REGE信号控制,但到了DDR SDRAM-DIMM时代,可能由于性能的原因Buffered模式被取消了。
FB-DIMM与同级的普通Unb-DIMM有了很大的变化。首先,DIMM与内存控制器之间的数据与命令的传输不再是传统的并行线路(ECC时数据线路至少需要72条),FB-DIMM是采用了类似于PCI-Express的串行接口多路并联的设计,目前的设计是上行10路并联(位宽10bit),下行14路并联(位宽14bit),数据传输以串行的方式。另外,从图中还可以看出,每个DRAM芯片不再直接与内存控制器进行数据交换,事实上,除了时钟信号与系统管理总线的访问(主要与SPD打交道),其他的命令与数据的I/O都要经过位于DIMM上的内存缓冲器(Memory Buffer)的中转,这可能就是全缓冲(Fully Buffered)这一叫法的来历。
在FB-DIMM架构中,每个DIMM上的缓冲区是相互串联的,之间为点对点的连接方式,数据会在经过第一个缓冲区后传向下一个缓冲区,这样,第一个缓冲区与内存控制器之间的连接阻抗就能始终保持稳定,从而有助于容量与频率的提升。另外,因为采用了串行传输的设计,使得FB-DIMM的引脚数大为减少,目前的DDR-2 Reg-DIMM的引脚数为240个,与之相比,FB-DIMM还不到后者的1/3。而且,串行信号的大量采用也使得对同步的要求大大简化(但仍需要数据块的同步),有助于提高布线设计的效率并降低电路板设计的难度。从FB-DIMM的设计思路上看,我们能发现不少Rambus的影子,这个Intel昔日的铁杆盟友的确带来了很多对内存发展影响深远的技术。
我们的电脑上一般使用的都是Unb-DIMM(Unbuffered-DIMM,无缓冲DIMM),它的所有信号都是从内存控制器直通到SDRAM芯片颗粒上的,也即Unbuffered。而Reg-DIMM内存另加了Register芯片,让所有的地址信号和控制信号都通过Register后再传送到SDRAM颗粒上。在高容量模组上,内存芯片数量很多,而且在需要大容量内存的工作场合,内存模组的安插数量也是很多的,这使命令与寻址信号的稳定性受到了严峻考验。很多芯片组的资料中都说明只有使用Reg-DIMM才能达到标称的最高内存容量,从这点就能猜到寄存器的作用——稳定命令/地址信号,隔离外部干扰。
Registered内存本身有两种工作模式,即 Registered模式和Buffered模式。在支持Registered工作模式的主板上工作时,Registered内存工作于 Registered模式,这时主板上的地址信号和控制信号会比数据信号先一个时钟周期到达DIMM,送入Register芯片后会在其中停留一个时钟周期,然后在下一个时钟信号的上升沿从Register输出,与此时从主板上到达DIMM的数据信号一起同时传送到SDRAM。当Registered内存工作在普通的主板上时,为Buffered工作模式,这时所有的信号也基本上是同时到达DIMM再同时传送到SDRAM,Register芯片这时在功能上只相当于一个简单的Buffer,其输入到输出之间是直通的,只简单的起到改善地址信号和控制信号的作用,时序上与Unbuffered内存是一样的。
现在再回头看看我们常用的Unb-DIMM,就很明白了。它关键就少了寄存器,但为什么不称之为Unregistered-DIMM呢?其实,Buffered与Registered是Reg-DIMM的两种工作模式,前者在Reg-DIMM上并不常用,它是以时钟异步方式工作的,输出信号的再驱动不与时钟同步,Registered模式下输入信号的再驱动则与时钟同步。显然,Buffered模式下的性能要更低一些。不过,从原理上讲Registered模式也是一种缓冲操作,只是与时钟同步而已。在SDRAM的Reg-DIMM上,Buffered与Registered模式通过REGE信号控制,但到了DDR SDRAM-DIMM时代,可能由于性能的原因Buffered模式被取消了。
FB-DIMM与同级的普通Unb-DIMM有了很大的变化。首先,DIMM与内存控制器之间的数据与命令的传输不再是传统的并行线路(ECC时数据线路至少需要72条),FB-DIMM是采用了类似于PCI-Express的串行接口多路并联的设计,目前的设计是上行10路并联(位宽10bit),下行14路并联(位宽14bit),数据传输以串行的方式。另外,从图中还可以看出,每个DRAM芯片不再直接与内存控制器进行数据交换,事实上,除了时钟信号与系统管理总线的访问(主要与SPD打交道),其他的命令与数据的I/O都要经过位于DIMM上的内存缓冲器(Memory Buffer)的中转,这可能就是全缓冲(Fully Buffered)这一叫法的来历。
在FB-DIMM架构中,每个DIMM上的缓冲区是相互串联的,之间为点对点的连接方式,数据会在经过第一个缓冲区后传向下一个缓冲区,这样,第一个缓冲区与内存控制器之间的连接阻抗就能始终保持稳定,从而有助于容量与频率的提升。另外,因为采用了串行传输的设计,使得FB-DIMM的引脚数大为减少,目前的DDR-2 Reg-DIMM的引脚数为240个,与之相比,FB-DIMM还不到后者的1/3。而且,串行信号的大量采用也使得对同步的要求大大简化(但仍需要数据块的同步),有助于提高布线设计的效率并降低电路板设计的难度。从FB-DIMM的设计思路上看,我们能发现不少Rambus的影子,这个Intel昔日的铁杆盟友的确带来了很多对内存发展影响深远的技术。
posted on 2011-03-28 13:00 Sunwayking 阅读(751) 评论(0) 编辑 收藏 举报