期待Rambus回归服务器市场

提起Rambus,可能很多人想起的是那个现在主要靠到处告内存巨头侵权以及专利授权金过活的内存技术厂商,或是Pentium III时代的Rambus DRAM模组(RDRAM-DIMM),不过第一个桌面端的支持RDRAM的芯片组Intel 82820上市至今已经有快10年的时间了,这期间发生的事情大家也都很清楚,可能一些新进入IT圈的人都不知道Rambus DRAM。现在,DDR家族已经成为了绝对的霸主,最早与RDRAM交锋的DDR SDRAM就已经确立了业界的地位,之后DDR2与DDR3可谓无悬念的连庄。不过,正所谓风水轮流转,在笔者看来,RDRAM仍然有机会重归主流市场,尤其是企业级的服务器市场。随着技术的不断进步,人们对数据处理能的无止境追求,处理器的吞吐量也在飞速提升,从而也对内存带宽提出了更为严酷的需求,这恰恰正是DDR家族所面临的危机,也是RDRAM的机会。

最早的RDRAM芯片组,左为面向桌面应用的Intel 82820,右为面向高端双路应用的Intel 82840

熟悉内存技术的人,一定会对RDRAM的设计欣赏有加,这个大胆的数据串行、多路并联的设计现在已经应用到很多领域。可以说串行化是数据传输的潮流,就我们现在的PC/服务器而言,大家就可以看到不少这类的应用,比如PCI-E总线、SATA/SAS硬盘、AMD的HyperTransport总线、英特尔最新用在Nehalem架构上的QPI 总线等等,都是串行传输的典型应用,而在2000年,Rambus就将其应用到了内存领域,其先进性就当时来说不言而喻。到如今,快10年过去了,PC中主要的性能部件也只有内存没有被串行化了,这难道不让人奇怪吗?

笔者并不是说数据传输非串行不可,串行与并行在数据传输的历史中向来有自己的不同定位和优势,在这里就不再去比较了,但不可否认的事实是,当频率越来越高时,并行总线的同步性问题就会越来越突出,就目前的技术水平来说,解决这个问题比提高频率来说要更为困难,这也让数据传输技术发展的天平不断的向串行靠拢。当然,这其中也经历了一个阶段,最早的时候正是因为频率提升困难而让并口(如LPT)发扬光大,串口(如COM)被打入冷宫,但后来技术的突破让频率提升不再那么困难,串口也逐渐回到了主流市场,并占据了外设接口的统治地位,这就是著名的USB。所以,从大方向上,内存的串行化应该是也不可避免的发展方向。

有人会说,RDRAM太贵,不适合应用。这个可能要结合具体的市场来看,在RDRAM最早上市的2000年,的确如此,因为它是一个新生的事物,传统的SDRAM生产线无法利用,装机量的不足,让其生产成本无法下降,不过在一些专用市场上,并没有体现出RDRAM的"高贵",比如PS2游戏机,比如PS3游戏,都采用的Rambus的解决方案,即使是因为游戏机的特性(亏本销售,用游戏销售与授权盈利)使然,但作为采用方的索尼也不可能不考虑成本的承受能力。所以就成本来说,并不能成为阻碍RDRAM普及的最根本因素。

在此,我们要清楚的认识到当初RDRAM为什么没有流行起来的根本原因并不是成本,而是性能没有拉开与DDR的差距。在当时,82820支持的单通道PC800的RDRAM(当时的全称是Direct Rambus DRAM),一个通道的位宽为16bit,所以其单通道的带宽是1.6GB/s。而DDR的起步为DDR-200,位宽64bit,结果单通道的带宽也是 1.6GB/s,面向企业级应用的82840提供了双通道支持,达到了3.2GB/s,但这项技术在当时并没有太大的意义,因为Pentium III本身的FSB带宽也只有1GB。再加上,后来的DDR一代又发展了DDR-266、333和DDR-400,并且也有了自己的双通道设计,所以说那时的RDRAM的确是两面受气,在性能不能甩掉对手而又比对手贵的情况下,即使有英特尔的力推,也根本无法得到业界的认可。不认可,需求量就低,进而使产能上不去,成本就下不来,从而陷入了一个"死循环"。

那么现在呢?英特尔最新发布的Nehalem处理器在内存带宽方面达到了极致,单CPU可获得 32GB/s的内存带宽,双路系统达到了64GB/s,这对于以前的系统是不可想象的。但代价则是多通道的内存架构设计,Nehalem使用了3个通道,对于64bit的DIMM来讲,多出一个通道,对于CPU接口以及主板的设计来说,难度肯定也将增大,而DDR3的频率也面临着一个挑战。

从SDRAM内存家族的发展历程来看,我们能发现每代的性能登顶的速度越来越快。在SDRAM时代,从 PC66到PC133再到最后的PC150、PC166等非官方标准的出台,直至DDR内存上市,用了5年的时间,而从DDR-200到DDR-400再到后来的DDR-500/533/566,直至DDR2内存上市,只用了3年多时间。过了不到3年,DDR3也上市了,并一上来就到了顶峰 DDR3-1600。从这个规律上看,市场对于内存带宽的需求是越来越高的,而内存则更多的是通过提高通道数量来满足需要,这其实就是一种频率不够增加位宽的设计体现。它虽然可以让系统拥有更多的内存通道,容纳更多的DIMM,但也大大增加了系统的设计难度。

因此,在DDR2时代,英特尔提出了FB-DIMM的设想,与之配套的至强系统的畅销也证明了FB- DIMM并没有成本阻碍,不过AMB(高级内存缓冲)芯片的高发热与高能耗拖了服务器整体表现的后腿。但是,DDR的高位宽设计也让服务器的发展遇到了一种瓶颈,让内存通道增加的难度也成倍提升。为此,英特尔在明年将要上市的Nehalem-EX处理器系统上再次将FB-DIMM拉了进来,只是当初的 AMB变成了主板上的专用缓冲芯片,它负责管理DDR3内存,并实现串(与CPU之间)并(与DDR3内存之间)的转换,总线也因此升级为FB- DIMM2。

期待Rambus回归服务器市场

Nehalem-EX系统将引入代号为Mill Book的缓冲芯片,负责寻址DDR3内存,并将数据转成FB-DIMM2接口格式传输给Nehalem-EX。FB-DIMM2即是基于DDR3的新一代FB-DIMM,理论上Nehalem-EX有直接使用FB-DIMM2的能力,但FB-DIMM2很可能不会出现。不过笔者认为Intel在 Nehalem-EX上重新使用FB-DIMM2的接口,应该更多的是从引脚数量上考虑,其次才是内存扩展能力。以FB-DIMM为例,CPU上每个通道的引脚约50个,而DDR3一个通道就要占用CPU的近160个引脚,两者相差3倍多。Nehalem-EX如果采用了4通道的FB-DIMM2设计,总引脚都也就肯定不会超过300(如果仍然用DDR3的话,就要600多了),这对于主板布线来说也是非常有利的

由此我们可以发现,串行总线的优势是系统设计中不能忽视的一个因素。未来的系统只会越来越先进,对数据量的要求也只会越来越高,在这种情况下,串行传输的优势也将越来越明显。

我们再来看看Rambus的设计,在RDRAM之后,Rmabus又陆续推出了XDR与XDR2内存,其中XDR已经成功应用在了PS3游戏机上,而XDR2正在寻找突破口,想要了解这二者的详情,可参见本人早期的专文(XDR、XDR2)。

以显存为主要应用目标的XDR2,当时的设计最高传输速率为8GT/s,位宽16bit,也就说一个通道的XDR2内存即可达到16GB/s的带宽,现在Rambus计划将其提升至10GT/s,带宽也就达到了20GB/s。而DDR3-1600则为12.8GB/s,即使是面向主流应用的XDR内存也可达到7.2GT /s的速率,同样超过DDR3-1600,如果是32bit位宽设计,单通道的带宽即可达到28.8GB/s,如果也是4通道设计的话,将达到 115.2GB/s的带宽。最重要的是,即使是4通道128bit的设计,引脚数量仅为480个,与4通道DDR3的600多个引脚相比明显占优。另一方面XDR与XDR2在能耗方面也有自己的优势,XDR的数据信号电压只有0.3V,而DDR3则为1.5V,根据Rambus的测算,XDR的能耗将比同级别的DDR降低40%甚至更多。

可以说,XDR与XDR2在性能和技术上完全有资格与DDR3一较高下,而未来越来越迫切的数据吞吐量的压力,尤其是在CPU的核越来越多,并且将与GPU整合的时候,也将让前两者的优势进一步清晰而突出(可以说CPU对内存的要求也将进一步向GPU靠近)。相比之下,JEDEC正在开发的DDR4亮点并不多(预计将达到6.4GT/s的传输率),因为它面对着越来越多的并行传输所带来的难题,而英特尔等巨头在内存接口上的串行化倾向也越来越明显,可如果JEDEC想让DDR4变成串行内存标准,那么XDR家族就是必须要逾越的一道坎。

其实,就英特尔本身来讲,对于Rambus的技术也是持肯定态度,在2009年北京IDF大会上,时任英特尔公司高级副总裁兼数字企业事业部总经理的帕特·基辛格(现已跳槽至EMC)就表示,"我们认为Rambus内存仍然有机会回到企业级市场,但Rambus是一个专利型的内存技术,这对其自身的发展不见得是好事。"这的确是Rambus所必须要面对的问题,你的技术是好,大家也都承认,可如果太以技术专利为资源与赚钱,反过来也并不利于自身技术的推广。这方面Rambus已经被骂得很多了,我也就不再多说什么,毕竟公司不是咱家的,道理在这里就看人家听不听了。

在写这篇文章的时候,IDF 2009秋季大会也将在美国召开,按照计划,Rambus将在大会上展示最新的XDR与XDR2的技术成果,这也是Rambus近年来少有的高调亮相,似乎也预示着其重返主流应用市场的决心,下面就看业界会对Rambus的成果有多大的兴趣了。就笔者而言,倒是希望Rambus能重返主流应用市场,最直接的理由就是–因为系统平台上的串行家族就差内存了(哈哈),也许英特尔明年年底将要推出的集成AVX指令集的Sandy Bridge与XDR就是一对不错的组合,在此先YY一下,总之期待着Rambus重返服务器平台那一天的到来!