一、内存带宽制约系统性能
FB-DIMM近乎是一种梦幻级的内存技术,在现有技术基础上实现跨越式的性能提升,同时成本也相当低廉。
在整个计算机系统中,内存可谓是决定整机性能的关键因素,光有快的CPU,没有好的内存系统与之配合,CPU性能再优秀也无从发挥。这种情况是由计算机原理所决定的,CPU在运算时所需要的数据都是从内存中获取,如果内存系统无法及时给CPU供应数据,CPU不得不长时间处在一种等待状态,硬件资源闲置,性能自然无从发挥。
反之,倘若拥有一个高效的内存系统,CPU从发出请求到获取数据等待时间非常短暂,那么便可将更多的资源用于实际运算处理,对应的性能自然也就越高。正因为如此,包括Intel、AMD在内的CPU厂商才会充分考虑到内存的配合问题,目前Intel正积极推广高带宽的DDR2内存,而AMD则直接把内存控制器整合于CPU内部,达到降低延迟时间的目的。尽管方式不同,但最终目的都是为了让CPU平台能够发挥出更卓越的效能。
和PC机相比,服务器系统对内存性能更加渴求。服务器要承担的任务量远甚于PC,大量的突发访问、高强度的数据传输、频繁的数据交换、从不间断地稳固运转,这一切都要求服务器系统拥有极高的性能,多处理器往往是标准配备,与之对应,大容量、高速度的内存系统也至关重要。为此,服务器在内存方面往往不惜血本。在许多应用中,4GB容量、双通道设计只是入门产品的基准,在针对敏感应用的多路服务器系统中,多达几十GB甚至上百GB容量也寻常可见。但即便如此,内存依然是服务器性能提升的瓶颈,使用的也仍然是传统的DDR技术。
无论针对何种应用的服务器,单路系统还是多路系统,ECC Registered DDR400内存便是所能达到的最高水平(DDR2刚开始推广,尚未达到普及的水平),它的有效带宽只有3.2GBps,与PC内存没有什么差异。即使使用双通道技术,也只能达到6.4GBps的水平。为了解决这个问题,RISC架构的高端服务器系统大多为每一个CPU都配备了专属性的内存资源,再通过高速总线实现资源共享,这样单CPU便可拥有6.4GBps内存带宽,至于8路的整套系统,有效内存带宽就可以达到51.2GBps的高水平,很好满足了当前应用的需要。
二、内存设计思想的变迁
然而,这种做法只能暂时解决问题,很难应对未来的发展需求,而且容易反过来对CPU的设计造成制约。举个例子,双通道DDR400最多只能提供6.4GBps带宽,那么CPU前端总线带宽也不应超过这个水平,内存系统跟不上,前端总线再快也没用,实际性能还是取决于较慢的内存。我们可以看到,现在不管Itanium 2、Xeon、Opteron还是其他的处理器,前端总线一般都没有高过这个水平。
到明年初DDR2-533标准可望成为主流,CPU的前端总线带宽也将几乎同步提升到对应的8.5GBps。但如果CPU厂商想通过提高前端总线来获得更高的性能,唯一的做法就是选择具有更高性能的内存系统。在索尼的PS3中,IBM为其研发的CELL处理器就与四通道Rambus XDR 3.2GHz配合,有效前端总线可达到25.6GBps的高水平,远远超过现有任何一种处理器。
那么,为什么DDR体系在速度上如此滞后?根本原因还应归结于并行设计架构。标准的DDR、DDR2模组都采用64位结构,一次可传输64bit二进制数据,所对应的是64位并行的内存总线。然而,由于先天限制,并行总线很难实现跨越性的性能提升。
首先,并行总线很容易相互干扰,令传输信号不稳定,频率很难迅速提升,我们所看到内存规格按部就班地缓慢提升并不仅仅是针对市场消费考虑,更多是技术现实使然;其次,内存模组发送出的并行数据要求在同一个传输节拍中同步到达接收端,这就要求主板PCB中的64条线路长度保持严格一致(主板上采用蛇形方式布线就是为了达到这个目的),这就对PCB设计提出苛刻的要求。
而随着内存频率不断提升,允许的线路长度误差越来越小,最终将导致设计线路成为不可能完成的任务—从这个趋势来看,并行内存的发展空间有限,最终必然会朝向窄位宽和串行化的方向发展;第三,同样由于布线的原因,DDR体系最多只能实现双通道,而这就必须用到128条数据线路,占据大量的PCB面积。即使非要实现4通道,主板也没有这么多PCB空间可以利用,数据同步化问题会带来更多的困扰。种种缺陷造成DDR体系速度提升缓慢,即便未来的DDR3也谈不上有多好的表现,依然会保持缓慢升级的速度。
最先挑战这个问题的是Rambus公司,它最初提出的RDRAM内存实际上就是采用窄位宽、高频率的设计思想来提升性能,但过高的成本和糟糕的商业策略葬送了这项优秀技术的市场前景。2003年,Rambus在此基础上发展出更先进的XDR内存,依然基于此种设计思想,一举将内存系统的带宽提升到19.6GBps以上(四通道XDR 2.4GHz),最高可达到100GBps的超级水平(八通道XDR 6.4GHz)。
但可惜的是,XDR同样无法摆脱高成本的困扰,未来它的应用领域也许只能局限于索尼PS3游戏机或者IBM基于CELL处理器平台的计算机产品。那么,能否在现行DDR体系基础上,改用串行思想来设计低成本的高性能模组呢?
Intel独家开发的FB-DIMM技术对此作了肯定的回答。FB-DIMM最大的特点就是采用已有的DDR2内存芯片,但它借助一个缓冲芯片将并行数据转换为串行数据流,并经由类似PCI Express的点对点高速串行总线将数据传输给CPU。
据悉,FB-DIMM可以在现有DDR2-533基础上轻易实现25.2GBps的高带宽,而该标准的内存系统在明年即可面市。若采用DDR2-800颗粒,FB-DIMM的带宽将进一步提升到38.4GBps,而它的带宽极限可突破57.6GBps—尽管这个数字仍然逊于XDR系统,但它的优点在于成本升高极为有限,是一项廉价的技术。
Intel推出FB-DIMM显然不是为PC所准备,这项技术将首先应用在服务器系统中,Intel的Itanium平台将首先从FB-DIMM受益。现在,就让我们走进FB-DIMM世界,向大家揭示这一项堪称神奇的新技术。
三、FB-DIMM的逻辑架构
FB-DIMM的全称是“Fully Buffered DIMM(全缓存模组技术)”,大家从其名称中便可直观了解到它的设计思想。如上面所述,FB-DIMM其实就是在一个标准DDR2内存基础上,增加了一枚用于数据中转、读写控制的缓冲控制芯片。
该枚芯片承担着以下几方面的任务:第一,负责管理FB-DIMM的高速串行总线,承担数据发送和接收的指派任务,这包含一组数据读取的14位串行通路和一组用于数据写入的10位通路;