一、內(nèi)存帶寬制約系統(tǒng)性能
FB-DIMM近乎是一種夢幻級的內(nèi)存技術(shù),在現(xiàn)有技術(shù)基礎(chǔ)上實(shí)現(xiàn)跨越式的性能提升,同時(shí)成本也相當(dāng)?shù)土?/p>
在整個(gè)計(jì)算機(jī)系統(tǒng)中,內(nèi)存可謂是決定整機(jī)性能的關(guān)鍵因素,光有快的CPU,沒有好的內(nèi)存系統(tǒng)與之配合,CPU性能再優(yōu)秀也無從發(fā)揮。這種情況是由計(jì)算機(jī)原理所決定的,CPU在運(yùn)算時(shí)所需要的數(shù)據(jù)都是從內(nèi)存中獲取,如果內(nèi)存系統(tǒng)無法及時(shí)給CPU供應(yīng)數(shù)據(jù),CPU不得不長時(shí)間處在一種等待狀態(tài),硬件資源閑置,性能自然無從發(fā)揮。
反之,倘若擁有一個(gè)高效的內(nèi)存系統(tǒng),CPU從發(fā)出請求到獲取數(shù)據(jù)等待時(shí)間非常短暫,那么便可將更多的資源用于實(shí)際運(yùn)算處理,對應(yīng)的性能自然也就越高。正因?yàn)槿绱耍↖ntel、AMD在內(nèi)的CPU廠商才會充分考慮到內(nèi)存的配合問題,目前Intel正積極推廣高帶寬的DDR2內(nèi)存,而AMD則直接把內(nèi)存控制器整合于CPU內(nèi)部,達(dá)到降低延遲時(shí)間的目的。盡管方式不同,但最終目的都是為了讓CPU平臺能夠發(fā)揮出更卓越的效能。
和PC機(jī)相比,服務(wù)器系統(tǒng)對內(nèi)存性能更加渴求。服務(wù)器要承擔(dān)的任務(wù)量遠(yuǎn)甚于PC,大量的突發(fā)訪問、高強(qiáng)度的數(shù)據(jù)傳輸、頻繁的數(shù)據(jù)交換、從不間斷地穩(wěn)固運(yùn)轉(zhuǎn),這一切都要求服務(wù)器系統(tǒng)擁有極高的性能,多處理器往往是標(biāo)準(zhǔn)配備,與之對應(yīng),大容量、高速度的內(nèi)存系統(tǒng)也至關(guān)重要。為此,服務(wù)器在內(nèi)存方面往往不惜血本。在許多應(yīng)用中,4GB容量、雙通道設(shè)計(jì)只是入門產(chǎn)品的基準(zhǔn),在針對敏感應(yīng)用的多路服務(wù)器系統(tǒng)中,多達(dá)幾十GB甚至上百GB容量也尋常可見。但即便如此,內(nèi)存依然是服務(wù)器性能提升的瓶頸,使用的也仍然是傳統(tǒng)的DDR技術(shù)。
無論針對何種應(yīng)用的服務(wù)器,單路系統(tǒng)還是多路系統(tǒng),ECC Registered DDR400內(nèi)存便是所能達(dá)到的最高水平(DDR2剛開始推廣,尚未達(dá)到普及的水平),它的有效帶寬只有3.2GBps,與PC內(nèi)存沒有什么差異。即使使用雙通道技術(shù),也只能達(dá)到6.4GBps的水平。為了解決這個(gè)問題,RISC架構(gòu)的高端服務(wù)器系統(tǒng)大多為每一個(gè)CPU都配備了專屬性的內(nèi)存資源,再通過高速總線實(shí)現(xiàn)資源共享,這樣單CPU便可擁有6.4GBps內(nèi)存帶寬,至于8路的整套系統(tǒng),有效內(nèi)存帶寬就可以達(dá)到51.2GBps的高水平,很好滿足了當(dāng)前應(yīng)用的需要。
二、內(nèi)存設(shè)計(jì)思想的變遷
然而,這種做法只能暫時(shí)解決問題,很難應(yīng)對未來的發(fā)展需求,而且容易反過來對CPU的設(shè)計(jì)造成制約。舉個(gè)例子,雙通道DDR400最多只能提供6.4GBps帶寬,那么CPU前端總線帶寬也不應(yīng)超過這個(gè)水平,內(nèi)存系統(tǒng)跟不上,前端總線再快也沒用,實(shí)際性能還是取決于較慢的內(nèi)存。我們可以看到,現(xiàn)在不管Itanium 2、Xeon、Opteron還是其他的處理器,前端總線一般都沒有高過這個(gè)水平。
到明年初DDR2-533標(biāo)準(zhǔn)可望成為主流,CPU的前端總線帶寬也將幾乎同步提升到對應(yīng)的8.5GBps。但如果CPU廠商想通過提高前端總線來獲得更高的性能,唯一的做法就是選擇具有更高性能的內(nèi)存系統(tǒng)。在索尼的PS3中,IBM為其研發(fā)的CELL處理器就與四通道Rambus XDR 3.2GHz配合,有效前端總線可達(dá)到25.6GBps的高水平,遠(yuǎn)遠(yuǎn)超過現(xiàn)有任何一種處理器。
那么,為什么DDR體系在速度上如此滯后?根本原因還應(yīng)歸結(jié)于并行設(shè)計(jì)架構(gòu)。標(biāo)準(zhǔn)的DDR、DDR2模組都采用64位結(jié)構(gòu),一次可傳輸64bit二進(jìn)制數(shù)據(jù),所對應(yīng)的是64位并行的內(nèi)存總線。然而,由于先天限制,并行總線很難實(shí)現(xiàn)跨越性的性能提升。
首先,并行總線很容易相互干擾,令傳輸信號不穩(wěn)定,頻率很難迅速提升,我們所看到內(nèi)存規(guī)格按部就班地緩慢提升并不僅僅是針對市場消費(fèi)考慮,更多是技術(shù)現(xiàn)實(shí)使然;其次,內(nèi)存模組發(fā)送出的并行數(shù)據(jù)要求在同一個(gè)傳輸節(jié)拍中同步到達(dá)接收端,這就要求主板PCB中的64條線路長度保持嚴(yán)格一致(主板上采用蛇形方式布線就是為了達(dá)到這個(gè)目的),這就對PCB設(shè)計(jì)提出苛刻的要求。
而隨著內(nèi)存頻率不斷提升,允許的線路長度誤差越來越小,最終將導(dǎo)致設(shè)計(jì)線路成為不可能完成的任務(wù)—從這個(gè)趨勢來看,并行內(nèi)存的發(fā)展空間有限,最終必然會朝向窄位寬和串行化的方向發(fā)展;第三,同樣由于布線的原因,DDR體系最多只能實(shí)現(xiàn)雙通道,而這就必須用到128條數(shù)據(jù)線路,占據(jù)大量的PCB面積。即使非要實(shí)現(xiàn)4通道,主板也沒有這么多PCB空間可以利用,數(shù)據(jù)同步化問題會帶來更多的困擾。種種缺陷造成DDR體系速度提升緩慢,即便未來的DDR3也談不上有多好的表現(xiàn),依然會保持緩慢升級的速度。
最先挑戰(zhàn)這個(gè)問題的是Rambus公司,它最初提出的RDRAM內(nèi)存實(shí)際上就是采用窄位寬、高頻率的設(shè)計(jì)思想來提升性能,但過高的成本和糟糕的商業(yè)策略葬送了這項(xiàng)優(yōu)秀技術(shù)的市場前景。2003年,Rambus在此基礎(chǔ)上發(fā)展出更先進(jìn)的XDR內(nèi)存,依然基于此種設(shè)計(jì)思想,一舉將內(nèi)存系統(tǒng)的帶寬提升到19.6GBps以上(四通道XDR 2.4GHz),最高可達(dá)到100GBps的超級水平(八通道XDR 6.4GHz)。
但可惜的是,XDR同樣無法擺脫高成本的困擾,未來它的應(yīng)用領(lǐng)域也許只能局限于索尼PS3游戲機(jī)或者IBM基于CELL處理器平臺的計(jì)算機(jī)產(chǎn)品。那么,能否在現(xiàn)行DDR體系基礎(chǔ)上,改用串行思想來設(shè)計(jì)低成本的高性能模組呢?
Intel獨(dú)家開發(fā)的FB-DIMM技術(shù)對此作了肯定的回答。FB-DIMM最大的特點(diǎn)就是采用已有的DDR2內(nèi)存芯片,但它借助一個(gè)緩沖芯片將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)流,并經(jīng)由類似PCI Express的點(diǎn)對點(diǎn)高速串行總線將數(shù)據(jù)傳輸給CPU。
據(jù)悉,F(xiàn)B-DIMM可以在現(xiàn)有DDR2-533基礎(chǔ)上輕易實(shí)現(xiàn)25.2GBps的高帶寬,而該標(biāo)準(zhǔn)的內(nèi)存系統(tǒng)在明年即可面市。若采用DDR2-800顆粒,F(xiàn)B-DIMM的帶寬將進(jìn)一步提升到38.4GBps,而它的帶寬極限可突破57.6GBps—盡管這個(gè)數(shù)字仍然遜于XDR系統(tǒng),但它的優(yōu)點(diǎn)在于成本升高極為有限,是一項(xiàng)廉價(jià)的技術(shù)。
Intel推出FB-DIMM顯然不是為PC所準(zhǔn)備,這項(xiàng)技術(shù)將首先應(yīng)用在服務(wù)器系統(tǒng)中,Intel的Itanium平臺將首先從FB-DIMM受益?,F(xiàn)在,就讓我們走進(jìn)FB-DIMM世界,向大家揭示這一項(xiàng)堪稱神奇的新技術(shù)。
三、FB-DIMM的邏輯架構(gòu)
FB-DIMM的全稱是“Fully Buffered DIMM(全緩存模組技術(shù))”,大家從其名稱中便可直觀了解到它的設(shè)計(jì)思想。如上面所述,F(xiàn)B-DIMM其實(shí)就是在一個(gè)標(biāo)準(zhǔn)DDR2內(nèi)存基礎(chǔ)上,增加了一枚用于數(shù)據(jù)中轉(zhuǎn)、讀寫控制的緩沖控制芯片。
該枚芯片承擔(dān)著以下幾方面的任務(wù):第一,負(fù)責(zé)管理FB-DIMM的高速串行總線,承擔(dān)數(shù)據(jù)發(fā)送和接收的指派任務(wù),這包含一組數(shù)據(jù)讀取的14位串行通路和一組用于數(shù)據(jù)寫入的10位通路;#p#分頁標(biāo)題#e#
第二,實(shí)現(xiàn)并行數(shù)據(jù)與串行數(shù)據(jù)流的翻譯轉(zhuǎn)換工作—我們知道,緩沖芯片從內(nèi)存中讀取出來的原始數(shù)據(jù)原本都為并行格式,它們在通過高速串行總線發(fā)送出去之前就必須先轉(zhuǎn)換為對應(yīng)的串行數(shù)據(jù)流,而這個(gè)任務(wù)也必須由緩沖芯片來完成,反之,從內(nèi)存控制器傳來的串行數(shù)據(jù)流要轉(zhuǎn)成指定的并行格式,然后才能寫入到內(nèi)存芯片中,緩沖芯片自然也要承擔(dān)這個(gè)任務(wù);
第三,緩沖芯片必須承擔(dān)多個(gè)模組的通訊聯(lián)絡(luò)任務(wù),如果在一個(gè)內(nèi)存通道中存在多條FB-DIMM模組,那么各個(gè)FB-DIMM模組間的數(shù)據(jù)都是通過緩沖芯片來傳遞、轉(zhuǎn)發(fā)的。不難看出,緩沖芯片實(shí)際上是FB-DIMM的大腦,它承擔(dān)所有的控制、傳輸和中轉(zhuǎn)任務(wù)。
使用串行總線作為傳輸媒介,F(xiàn)B-DIMM便順理成章?lián)碛锌缭绞降母呓涌趲?。根?jù)1.0版標(biāo)準(zhǔn)定義,F(xiàn)B-DIMM模組的串行總線有3.2GHz、4.0GHz和4.8GHz三種頻率規(guī)格,而每條模組的有效位寬為24bit,所對應(yīng)的接口帶寬便是9.6GBps、12GBps和14.4GBps,遠(yuǎn)遠(yuǎn)超過了現(xiàn)有的DDR2內(nèi)存。
不過,如果你認(rèn)為這就是FB-DIMM的實(shí)際性能,那你就錯(cuò)了,F(xiàn)B-DIMM的接口帶寬與實(shí)際讀寫帶寬其實(shí)是兩個(gè)概念,前者所指的只是每個(gè)模組串行總線的最高帶寬,它在含義上類似串行ATA接口—串行ATA的總線帶寬達(dá)到150MBps,但這并不是指串行ATA硬盤能達(dá)到這個(gè)速度,代表的只是帶寬的最高值。
同樣,F(xiàn)B-DIMM的接口帶寬同樣如此,模組的實(shí)際性能仍取決于內(nèi)存芯片規(guī)格和模組位寬設(shè)計(jì)。如果采用DDR2-533芯片、64bit位寬設(shè)計(jì),那么這條FB-DIMM的有效帶寬仍然只有4.2GBps,同現(xiàn)有的DDR2-533內(nèi)存完全一樣。FB-DIMM之所以能擁有高性能,關(guān)鍵在于串行傳輸技術(shù)讓它擺脫了并行總線難以實(shí)現(xiàn)多通道設(shè)計(jì)的問題,使得在計(jì)算機(jī)中引入六通道設(shè)計(jì)成為可能,借此達(dá)到傳統(tǒng)DDR體系難以想象的超高帶寬,這就是FB-DIMM的真正奧秘所在。
不過,引入緩沖設(shè)計(jì)也會產(chǎn)生一個(gè)新的問題。數(shù)據(jù)在傳輸過程中需要經(jīng)過緩沖和轉(zhuǎn)換,不可避免需要花費(fèi)額外的延遲時(shí)間,對性能產(chǎn)生負(fù)面影響。但隨著工作頻率的提升,這個(gè)缺陷會變得越來越不明顯。為了保持信號穩(wěn)定,DDR2內(nèi)存的延遲時(shí)間將隨著工作頻率的提高而快速增加,而FB-DIMM的延遲時(shí)間增幅平緩,所以雖然現(xiàn)在FB-DIMM延遲較高,但當(dāng)單條模組的帶寬達(dá)到4GBps左右時(shí),F(xiàn)B-DIMM與DDR2內(nèi)存延遲時(shí)間相當(dāng),超過這個(gè)臨界點(diǎn)之后,DDR2內(nèi)存的延遲時(shí)間將明顯長于FB-DIMM。換句話說,F(xiàn)B-DIMM系統(tǒng)不僅具有更高的數(shù)據(jù)帶寬,而且延遲時(shí)間更短、反應(yīng)速度更快。
四、FB-DIMM的中樞神經(jīng)
串行總線設(shè)計(jì)是FB-DIMM賴以擁有高效能的基礎(chǔ)。實(shí)際上,Intel并沒有另起爐灶從零開始設(shè)計(jì),而是直接沿用了許多來自于PCI Express的成果,其中最關(guān)鍵的就是使用差分信號技術(shù)(Differential Signaling)。
關(guān)于差分信號技術(shù),此前我們在介紹串行ATA、HyperTransport和PCI Express總線時(shí)都有過多方探討,這里不妨進(jìn)行簡單重述。我們知道,現(xiàn)有各種并行總線都是以一條線路來傳輸一個(gè)數(shù)據(jù)信號,高電平表示“1”,低電平表示“0”,或者反過來由低電平表示“1”,高電平表示“0”。單通道結(jié)構(gòu)的64bit內(nèi)存需要使用64條金屬線路來傳輸數(shù)據(jù),雙通道就需用到128條線路。
當(dāng)數(shù)據(jù)在線路傳輸時(shí),很容易受到電磁環(huán)境的干擾,導(dǎo)致原始數(shù)據(jù)出現(xiàn)異常,如高電平信號電壓變低,或低電平的電壓變高,這些干擾都有可能讓接收方作出錯(cuò)誤的判斷,導(dǎo)致數(shù)據(jù)傳輸失敗。過去業(yè)界曾為這個(gè)難題大傷腦筋,當(dāng)初硬盤數(shù)據(jù)排線從40針提高到80針細(xì)線(增加40根地線)就是為了降低傳輸干擾,但直到串行技術(shù)引入后問題方告解決。
與傳統(tǒng)技術(shù)迥然不同,差分信號不再是以單條線路的高低電平作為“0”和“1”的判斷依據(jù),而是采用兩條線路來表達(dá)一個(gè)二進(jìn)制數(shù)據(jù)—數(shù)據(jù)究竟為“0”還是“1”取決于這兩條線路的電壓差。這樣,即使受到嚴(yán)重的外來干擾,導(dǎo)致兩條線路傳輸?shù)碾娖叫盘柊l(fā)生較大范圍的電壓波動,但它們之間的電壓差依然可以保持相對穩(wěn)定,接收方便能夠作出正確的判斷。因此,差分信號技術(shù)擁有非常強(qiáng)的抗干擾能力,但因它需要占用兩條線路,很難被引入到并行總線技術(shù)中,只有針對服務(wù)器應(yīng)用的SCSI總線是個(gè)例外。
FB-DIMM借鑒PCI Express技術(shù)的第二個(gè)地方,就是其串行總線也采用了點(diǎn)對點(diǎn)結(jié)構(gòu)。目前,DDR體系的并行總線無法在同一時(shí)刻同時(shí)發(fā)送和接收數(shù)據(jù),二者根據(jù)指令輪流進(jìn)行。然而FB-DIMM卻可以在同一時(shí)刻同時(shí)發(fā)送和接收數(shù)據(jù),奧秘在于它擁有兩個(gè)串行通路,一個(gè)用于數(shù)據(jù)發(fā)送,一個(gè)用于數(shù)據(jù)接收。與之對應(yīng),F(xiàn)B-DIMM的緩存芯片有專用的發(fā)送控制邏輯和接收控制邏輯,數(shù)據(jù)讀出操作和寫入操作可在一個(gè)周期內(nèi)同步進(jìn)行。這實(shí)際上將內(nèi)存系統(tǒng)的理論延遲時(shí)間縮短了一半,彌補(bǔ)了緩沖處理所造成的損失。
較為特殊的是,F(xiàn)B-DIMM的數(shù)據(jù)發(fā)送總線與接收總線是不對等的,發(fā)送總線一共有14個(gè)線路對,一次向內(nèi)存控制器發(fā)送14bit數(shù)據(jù)。而接收總線采用10位設(shè)計(jì),每次只能夠接收10bit數(shù)據(jù)。籠統(tǒng)地說,單通道的FB-DIMM模組就是24bit設(shè)計(jì)。這種不對等設(shè)計(jì)之前沒有先例,但它卻十分符合內(nèi)存系統(tǒng)的客觀實(shí)際。在大多數(shù)情況下,CPU從內(nèi)存中讀出的數(shù)據(jù)總是遠(yuǎn)遠(yuǎn)多于寫入到內(nèi)存的數(shù)據(jù),與之對應(yīng),讀取總線帶寬高于寫入總線的設(shè)計(jì)方案科學(xué)合理,而且十分經(jīng)濟(jì)。
五、FB-DIMM的信息中轉(zhuǎn)站
緩沖控制芯片是FB-DIMM的中樞神經(jīng),它有一個(gè)專用名稱:Advanced Memory Buffer,意為高級內(nèi)存緩沖。前面我們提到,F(xiàn)B-DIMM的所有控制功能都是由它來實(shí)現(xiàn),而不僅僅只是用于緩沖數(shù)據(jù)。下面,我們將深入其邏輯內(nèi)部,剖析它的結(jié)構(gòu)。
根據(jù)前面所述,我們可以將緩沖芯片的功能分解為串行總線傳輸、并行-串行數(shù)據(jù)互轉(zhuǎn)、內(nèi)存讀寫控制以及緩沖芯片通訊等四大部分,這些功能都有專門的邏輯單元一一對應(yīng)。在串行總線傳輸部分,我們介紹過其不對等的設(shè)計(jì),數(shù)據(jù)發(fā)送14bit,數(shù)據(jù)接收10bit。
在緩沖芯片邏輯內(nèi),發(fā)送部分被稱為“Northbound(北區(qū))”,而接收部分則被稱為“Southbound(南區(qū))”,北南二區(qū)的總線控制職能分別由緩沖芯片中的“中轉(zhuǎn)/合并(Pass through&Merging)”、“中轉(zhuǎn)(Pass-through)”控制邏輯所掌管。而在同一個(gè)通道的多個(gè)FB-DIMM模組中,各個(gè)緩沖芯片的“中轉(zhuǎn)/合并”邏輯直接串聯(lián),“中轉(zhuǎn)”邏輯也與其他“中轉(zhuǎn)”邏輯相連,二者涇渭分明。另外,因北區(qū)負(fù)責(zé)數(shù)據(jù)發(fā)送,來自后一條模組的數(shù)據(jù)在傳給前一條模組的同時(shí)會被合并處理,這就是將控制部分稱為“中轉(zhuǎn)/合并”邏輯的原因。#p#分頁標(biāo)題#e#
并-串?dāng)?shù)據(jù)互轉(zhuǎn)是緩沖控制芯片的又一個(gè)關(guān)鍵點(diǎn)。對于數(shù)據(jù)發(fā)送的北區(qū),就是將從內(nèi)存中讀取出來的并行數(shù)據(jù)預(yù)先轉(zhuǎn)換為串行數(shù)據(jù)流,它是由緩沖芯片的“串行轉(zhuǎn)換邏輯(serializer)”來完成的。而對于北區(qū)接收到的數(shù)據(jù),則是由“并行轉(zhuǎn)換/解碼邏輯(De-serializer &Decode Logic)”處理的,首先將串行數(shù)據(jù)轉(zhuǎn)為對應(yīng)的并行格式,然后將數(shù)據(jù)流包含的寫入命令和地址信息進(jìn)行解碼,并據(jù)此完成寫入操作。
毫無疑問,數(shù)據(jù)讀取和寫入操作的最終對象都是FB-DIMM模組內(nèi)的內(nèi)存芯片。我們在緩沖控制芯片的邏輯中發(fā)現(xiàn),緩沖芯片與內(nèi)存芯片的通訊完全是由“數(shù)據(jù)總線接口(Data Bus Interface)”進(jìn)行統(tǒng)一掌管,它也是二者之間最主要的連接點(diǎn)。在讀取數(shù)據(jù)時(shí),內(nèi)存模組中傳出的并行數(shù)據(jù)經(jīng)過數(shù)據(jù)總線接口后指派給上面的“串行轉(zhuǎn)換邏輯”,得出的串行數(shù)據(jù)流被發(fā)送給內(nèi)存控制器。而進(jìn)行寫入操作時(shí),并行化后的數(shù)據(jù)也必須通過這個(gè)接口,再寫入到指定的區(qū)域。
顯然,它承擔(dān)的只是簡單的轉(zhuǎn)換控制工作而已,但從中我們可以看到,F(xiàn)B-DIMM模組芯片采用多少位的設(shè)計(jì)無關(guān)緊要,其實(shí)Intel可以將它設(shè)計(jì)為64bit,升級更為平滑,也可以設(shè)計(jì)為128bit模組來獲得更高的性能,在現(xiàn)有技術(shù)條件下實(shí)現(xiàn)這樣的目標(biāo)可謂是輕而易舉,而我們前面推測FB-DIMM系統(tǒng)的效能其實(shí)也都還是保守?cái)?shù)字。
到此為止,整套FB-DIMM系統(tǒng)便能輕松運(yùn)轉(zhuǎn)起來了,在上述分析中不難看出,該緩沖控制芯片的結(jié)構(gòu)并不復(fù)雜,功能單元相對簡單,沒有多大的設(shè)計(jì)難度,更多體現(xiàn)的是一種理念的創(chuàng)新。根據(jù)1.0版規(guī)范,該枚芯片將采用類似BGA的封裝技術(shù),芯片整體尺寸為24.5×19.5×2.15毫米,很容易便能安裝到內(nèi)存的PCB板上。從樣品圖中可以看出,該芯片的核心面積很小,量產(chǎn)后的制造成本很低。其底部一共有多達(dá)655個(gè)球狀焊接信號點(diǎn),分布井然有序。
六、FB-DIMM三大優(yōu)點(diǎn)
在多通道設(shè)計(jì)上,F(xiàn)B-DIMM非常靈活,你可以使用單通道、雙通道、四通道或者是六通道,幾乎可以同Rambus公司的XDR內(nèi)存相媲美,其中關(guān)鍵便是串行總線設(shè)計(jì)。為了更好說明這一點(diǎn),我們不妨引入DRR2內(nèi)存來作為對比。
根據(jù)前面所述,大家可知每條FB-DIMM為24位,但它是由24條高速串行通路組成,不存在信號同步化的問題,對應(yīng)主板PCB的線路也根本不必講究長度一致,設(shè)計(jì)難度得到有效控制。從線路數(shù)量來考慮情況也與之類似,因使用差分信號技術(shù),傳輸一個(gè)數(shù)據(jù)需要占用兩條線路,那么單個(gè)FB-DIMM通道就一共需要48條數(shù)據(jù)線路,再加上12條地線、6條供電線路和3條共享的線路,線路總數(shù)只有69條。與之形成鮮明對比的是,一條DDR2模組總共需要用到240條線路,足足是FB-DIMM的三倍還多。而且DDR2內(nèi)存的數(shù)據(jù)線路必須保持嚴(yán)格一致,設(shè)計(jì)難度較大。
從對比中大家可以看到二者的明顯差別,即便是單通道DDR2系統(tǒng),主板PCB上的空間被密密麻麻、設(shè)計(jì)極其復(fù)雜的蛇形線路占據(jù),沒有任何空余的地方。此外,數(shù)據(jù)線路和地線總共要占據(jù)兩層PCB,供電線路又要占據(jù)一層,資源占用比較厲害。而圖5右側(cè)的雙通道FB-DIMM方案就簡單了許多,傳輸線路只占據(jù)極少的一部分PCB區(qū)域,總共只要兩層PCB即可,差異極為明顯。
目前,業(yè)界已很好地掌握了雙通道DDR/DDR2技術(shù),PCB設(shè)計(jì)人員可以在北橋芯片/CPU與內(nèi)存DIMM槽間的空位設(shè)計(jì)出480條連接線路,至少其中的128條數(shù)據(jù)線需要保持嚴(yán)格一致。那么,F(xiàn)B-DIMM的多通道設(shè)計(jì)就變得非常自然了,六通道也只需要使用到414條連接線路,這些線路幾乎都不需要保持嚴(yán)格一致的長度,實(shí)現(xiàn)成本比雙通道DDR/DDR2要低得多。
高性能并非FB-DIMM的唯一優(yōu)點(diǎn),對服務(wù)器系統(tǒng)來說,F(xiàn)B-DIMM另一個(gè)關(guān)鍵的優(yōu)點(diǎn)是它可實(shí)現(xiàn)超大容量。每個(gè)FB-DIMM通道都可以最多串聯(lián)8條內(nèi)存,一個(gè)服務(wù)器系統(tǒng)最多可以實(shí)現(xiàn)6個(gè)通道,裝載48條FB-DIMM內(nèi)存,而每條FB-DIMM內(nèi)存的最大容量達(dá)到4GB,這樣該系統(tǒng)可容納的最高容量就達(dá)到了192GB。這么大的容量對于普通服務(wù)器沒有什么意義,但對于高端系統(tǒng)乃至超級計(jì)算機(jī),F(xiàn)B-DIMM帶來的容量增益就非常明顯。
要將如此之多的FB-DIMM內(nèi)存插槽放置在主板上肯定是個(gè)大麻煩。顯然,若采用現(xiàn)行內(nèi)存槽方案,將導(dǎo)致主板PCB面積難以控制,為此,Intel為FB-DIMM系統(tǒng)定義了全新的連接模式,通過一塊擴(kuò)展板來實(shí)現(xiàn)多模組的連接。
我們先來看看最基礎(chǔ)的FB-DIMM,如圖所示,二者分別為單、雙條FB-DIMM的連接形式,連接方法與現(xiàn)有DDR內(nèi)存沒甚么不同,區(qū)別只是在于特殊的總線連接而已,內(nèi)存控制器通過高速串行總線與各條FB-DIMM模組的緩沖控制芯片連接,但如果要為這套系統(tǒng)安裝數(shù)十條FB-DIMM模組,那又該怎么辦?
FB-DIMM 1.0標(biāo)準(zhǔn)對此作出了明確的定義。主板上提供6個(gè)擴(kuò)展槽,每個(gè)槽對應(yīng)一個(gè)通道。每個(gè)擴(kuò)展槽上可直接連接FB-DIMM模組或者是內(nèi)存擴(kuò)展板,每個(gè)擴(kuò)展板上又有8個(gè)FB-DIMM連接槽,只要你愿意,可以將8條模組插在擴(kuò)展板上,然后再將該內(nèi)存擴(kuò)展板插在主板上,依此類推,完成6通道、48條內(nèi)存的安裝。這種方法充分利用了機(jī)箱內(nèi)部空間,巧妙解決了多模組安裝的難題,構(gòu)建高效能系統(tǒng)就顯得更具可操作性。
七、FB-DIMM模組的物理規(guī)格
FB-DIMM 1.0標(biāo)準(zhǔn)對模組的物理規(guī)格作出了相當(dāng)詳細(xì)的定義,具體包括模組尺寸、金手指設(shè)計(jì)以及相關(guān)的電壓參數(shù)等。在這些方面,F(xiàn)B-DIMM并沒有太出奇的地方,Intel更多考慮到與現(xiàn)行生產(chǎn)設(shè)備的兼容問題,如FB-DIMM模組的尺寸為133.5毫米×30.5毫米,同現(xiàn)有的服務(wù)器內(nèi)存完全一樣。
模組中可以容納9顆、18顆或36顆DDR2/DDR3規(guī)格的內(nèi)存芯片,其中18顆芯片設(shè)計(jì)為標(biāo)準(zhǔn)方案—PCB的背面容納10顆、正面為8顆,正面中間位置留給緩沖控制芯片。如果要采用36顆芯片的高容量方案,估計(jì)要使用芯片疊加技術(shù)才行。另外,F(xiàn)B-DIMM模組的金手指仍有240個(gè),與DDR2內(nèi)存相同,區(qū)別只是缺口的位置不同而已。
這種設(shè)計(jì)其實(shí)也是為兼容現(xiàn)有生產(chǎn)設(shè)備之故,F(xiàn)B-DIMM的有效針腳只有69個(gè),我們可以從下圖的FB-DIMM模組中看到,只有正面左側(cè)的金手指有連接到緩沖控制芯片的線路,其余位置的金手指并沒有連接線路,只是做做樣子而已。也許很多人會認(rèn)為,直接設(shè)計(jì)為69個(gè)金手指會更經(jīng)濟(jì)一些,但這樣做就必須對現(xiàn)有的生產(chǎn)設(shè)備作較大的調(diào)整,花費(fèi)的成本反而更高。#p#分頁標(biāo)題#e#
由于增加了一枚芯片,F(xiàn)B-DIMM模組內(nèi)總共就要用到三種不同用途的電壓,驅(qū)動DDR2內(nèi)存芯片的1.8V電壓,內(nèi)存“命令/地址”信號的終結(jié)器則要用到0.9V電壓,至于緩沖芯片本身必須用到1.5V驅(qū)動電壓才行。
因此,F(xiàn)B-DIMM模組的供電設(shè)計(jì)會比現(xiàn)行DDR/DDR2模組要復(fù)雜一些。與之對應(yīng)的是功耗問題,非常奇怪的是,安裝位置不同但規(guī)格參數(shù)完全相同的FB-DIMM模組居然消耗不一樣的電能。第一條模組典型功耗為3.4W,而通道內(nèi)的最后一條模組一般只需消耗2.4W功耗,這種情況與緩沖控制芯片的任務(wù)指派機(jī)制有關(guān),第一條模組的緩沖芯片必須承擔(dān)更多的數(shù)據(jù)轉(zhuǎn)發(fā)和合并工作,相應(yīng)的,緩沖控制芯片的任務(wù)負(fù)擔(dān)也多一些,多消耗電能并不奇怪。
緩沖芯片工作在很高的頻率上,芯片發(fā)熱量必然比較可觀,有鑒于此,Intel也對它的散熱方案作出參考性的定義。利用一個(gè)固定在內(nèi)存PCB板上的彈簧片來夾緊散熱片,這一方案顯然比較簡單,F(xiàn)B-DIMM內(nèi)存廠商也完全可以發(fā)展出其他的方案,比如說像現(xiàn)在不少高速DDR500內(nèi)存一樣,將模組兩面用金屬散熱片包覆起來,散熱效果估計(jì)會更好些。
八、前途無量的FB-DIMM
毫無疑問,F(xiàn)B-DIMM近乎是一種夢幻級的內(nèi)存技術(shù),在現(xiàn)有技術(shù)基礎(chǔ)上實(shí)現(xiàn)跨越式的性能提升,成本也相當(dāng)?shù)土?。更重要的是,F(xiàn)B-DIMM并不是什么空中樓閣,到明年我們便可看到FB-DIMM內(nèi)存正式在Intel服務(wù)器中大放光彩。單從技術(shù)角度出發(fā),我們也許會發(fā)現(xiàn)FB-DIMM談不上有多少獨(dú)創(chuàng)的東西:DDR2內(nèi)存芯片、類似PCI Express的串行總線,但它更多是一種創(chuàng)新思想的產(chǎn)物,正因?yàn)槿绱耍瑯?gòu)建于成熟技術(shù)基礎(chǔ)上的FB-DIMM才擁有如此的魅力。相對昂貴的XDR內(nèi)存,F(xiàn)B-DIMM平民本質(zhì)注定了它必將成為最終的勝利者。
Intel表態(tài),F(xiàn)B-DIMM將專注于IA架構(gòu)服務(wù)器領(lǐng)域,PC平臺仍然按照DDR2、DDR3按部就班地升級,是否將FB-DIMM引入暫無結(jié)論。不過,廉價(jià)、易于實(shí)現(xiàn)的FB-DIMM注定有這樣的發(fā)展?jié)摿Γ灰狪ntel愿意,讓PC同樣享有FB-DIMM技術(shù)易如反掌,即便只用到4通道設(shè)計(jì),F(xiàn)B-DIMM的效能也將超出DDR2系統(tǒng)兩倍之多,性能優(yōu)勢極其明顯,憑借此舉Intel便可在競爭中占據(jù)主動地位。而這勢必反過來影響CPU的設(shè)計(jì),為配合內(nèi)存帶寬的大幅提升,CPU前端總線也應(yīng)進(jìn)行相應(yīng)的速度擴(kuò)展,甚至可考慮直接轉(zhuǎn)向串行總線(目前CPU前端總線均為64位并行結(jié)構(gòu)),以此打造的全新計(jì)算機(jī)系統(tǒng),將現(xiàn)有平臺遠(yuǎn)遠(yuǎn)甩在后頭。Intel沒有對外界透露FB-DIMM是否會將應(yīng)用領(lǐng)域拓展,但我們相信,這樣的可能性完全存在。
未來的內(nèi)存之戰(zhàn)注定會在FB-DIMM與Rambus XDR之間展開,現(xiàn)行DDR2系統(tǒng)終結(jié)于2007年,而DDR3大約只能用到2010年,在這之后,DDR體系很難有進(jìn)一步的提升空間,朝向窄位或者串行方向發(fā)展乃是大勢所趨。從性能而論,全新架構(gòu)的XDR也許會有更大的優(yōu)勢,但高成本再次成為其致命弊端。廉價(jià)、平滑升級的FB-DIMM擁有很大的勝算,再考慮到FB-DIMM為Intel自己的杰作,我們幾乎可以斷定它將成為傳統(tǒng)DDR體系的終結(jié)者。
九、服務(wù)器模組中的ECC和Registered
服務(wù)器所承擔(dān)的都是關(guān)鍵性任務(wù),往往要求24小時(shí)×365天的不間斷運(yùn)行,而且不允許中途故障頻出或者頻繁重啟,對可靠性和穩(wěn)定性兩項(xiàng)指標(biāo)要求極為苛刻。但PC機(jī)就簡單得多,系統(tǒng)崩潰重啟即可,每天開機(jī)時(shí)間多數(shù)不超過10小時(shí)。截然不同的應(yīng)用實(shí)際決定了二者在內(nèi)存技術(shù)上的差異,服務(wù)器內(nèi)存擁有ECC和Registers功能,而針對PC的普通內(nèi)存條則沒有這兩項(xiàng)技術(shù),那么它們究竟起到什么作用呢?
ECC校驗(yàn)功能
ECC校驗(yàn)功能大家應(yīng)該比較熟悉,在許多地方都有它的蹤跡。ECC功能所起的作用就是檢查數(shù)據(jù)在傳輸過程中是否出錯(cuò),一旦發(fā)現(xiàn)接收到的數(shù)據(jù)錯(cuò)誤就立刻將它拋棄,并命令對方重新發(fā)送一次。這種機(jī)制可以有效減少服務(wù)器的故障率,倘若數(shù)據(jù)在傳輸中出錯(cuò)卻沒被檢查出來,CPU使用錯(cuò)誤的數(shù)據(jù)后很可能出現(xiàn)更嚴(yán)重的錯(cuò)誤,造成系統(tǒng)意外崩潰的情形。雖然在日常應(yīng)用中這種情況極少出現(xiàn),但服務(wù)器在高負(fù)載、長時(shí)間不間斷運(yùn)行的狀態(tài)下,數(shù)據(jù)出錯(cuò)就難免了,因此對這些領(lǐng)域來說,內(nèi)存模組擁有ECC校驗(yàn)功能是必不可少的。
ECC的實(shí)現(xiàn)原理較為簡單,它在每個(gè)字節(jié)中增加一個(gè)校驗(yàn)字位,并以此為基礎(chǔ)來判斷數(shù)據(jù)正確與否。我們可以看到,普通DDR/DDR2內(nèi)存模組都為64bit位寬,而ECC模組的位寬達(dá)到72bit,多出的8bit其實(shí)就是校驗(yàn)位。另外,我們必須明確一個(gè)概念,ECC只能對數(shù)據(jù)包進(jìn)行檢查,判斷數(shù)據(jù)是否正確,如果發(fā)現(xiàn)錯(cuò)誤便讓對方重發(fā),而不是直接修復(fù)數(shù)據(jù)。目前,具有錯(cuò)誤自動修復(fù)功能的內(nèi)存只有在某些大型計(jì)算機(jī)、軍用戰(zhàn)機(jī)、人造衛(wèi)星、空間探測器、火星車等高精尖設(shè)備中才會用到。
ECC功能由模組中附加ECC校驗(yàn)芯片來實(shí)現(xiàn),但要讓ECC發(fā)揮作用還離不開內(nèi)存控制器的支持,目前針對服務(wù)器的芯片組均可支持該項(xiàng)特性。一般ECC校驗(yàn)只能檢查出1bit的數(shù)據(jù)錯(cuò)誤,但如果內(nèi)存控制器設(shè)計(jì)得足夠強(qiáng)大,ECC機(jī)制也可以偵測到一個(gè)字節(jié)數(shù)據(jù)中多個(gè)比特位同時(shí)出錯(cuò)的情形。
Registers功能
Registers通常與ECC概念被一并提起,不少人甚至認(rèn)為二者都是純粹的錯(cuò)誤校驗(yàn)。其實(shí),Registers的概念與ECC大不相同,它指的是信號的重新驅(qū)動(re-driving)過程—在很多時(shí)候,內(nèi)存中保留的數(shù)據(jù)經(jīng)過多次刷新之后有可能出現(xiàn)失真,代表二進(jìn)制數(shù)據(jù)的電平信號發(fā)生偏差。一旦出現(xiàn)這種情況,很容易導(dǎo)致數(shù)據(jù)傳輸出錯(cuò)的情形,而Registers所起到的其實(shí)是一個(gè)事前預(yù)防的作用。擁有Registers功能的內(nèi)存模組,可以通過重新驅(qū)動控制信號來改善內(nèi)存的運(yùn)作,提高電平信號的準(zhǔn)確性,有助于保持系統(tǒng)長時(shí)間穩(wěn)定運(yùn)作。不過,因?yàn)镽egisters的信號重驅(qū)動需花費(fèi)一個(gè)時(shí)鐘周期,延遲時(shí)間有所增加,因此它的實(shí)際性能會稍低于普通內(nèi)存,相當(dāng)于以性能換取穩(wěn)定性。
Registers功能同樣要由專門的芯片實(shí)現(xiàn),它承擔(dān)信號重驅(qū)動的控制職能。由于工作方式不同,有無Registers功能的兩種模組是不能混用的。
ECC Registers功能的168-pin SDRAM,圖中上部方框所示為Registers芯片。


