系統(tǒng)內(nèi)存的選擇策略
對于開發(fā)新一代主板的設(shè)計(jì)工程師來說,DRAM正在成為主要考慮因素,因?yàn)榻K端用戶對內(nèi)存的需求日益俱增。操作系統(tǒng)變得越來越龐大,應(yīng)用程序也相對以前需要更多的RAM存儲。諸如虛擬服務(wù)器、多核處理器和高密度刀片服務(wù)器等新興技術(shù),都提高了對內(nèi)存的需求。要想CPU發(fā)揮更強(qiáng)的處理能力,就需要越多的內(nèi)存來支持它。系統(tǒng)設(shè)計(jì)師也一直想方設(shè)法在越來越小的主板上安裝更多的內(nèi)存。為了作出正確的決策,有必要根據(jù)設(shè)計(jì)對以下這些問題進(jìn)行考量。
1)容量:所有應(yīng)用軟件或計(jì)算機(jī)系統(tǒng)要求的數(shù)據(jù)操作需要多大容量的內(nèi)存?
2)空間和外形尺寸考慮:計(jì)算機(jī)中有多少物理空間(SoC、主板等)可分配給內(nèi)存使用?
3)帶寬:為了支持密集型計(jì)算,處理器指令和數(shù)據(jù)需要以多快的速度執(zhí)行或處理?
對系統(tǒng)內(nèi)存容量的考慮
一般來說,了解有多少用戶會對計(jì)算機(jī)系統(tǒng)及其所使用的應(yīng)用軟件有需求將對內(nèi)存容量起決定性作用。然而,最常見的結(jié)論是內(nèi)存越多越好。除了處理器能力之外,內(nèi)存對系統(tǒng)性能的影響是最大的了,因此選擇一款能夠適應(yīng)大內(nèi)存容量和最高內(nèi)存帶寬的內(nèi)存控制器和操作系統(tǒng)無疑能夠提高系統(tǒng)性能。另外值得注意的是,32位的操作系統(tǒng)最多只能訪問5GB的內(nèi)存空間(達(dá)到2的32次方),但最新的64位操作系統(tǒng)可以訪問的內(nèi)存空間達(dá)18ZB(2的64次方)。
計(jì)算內(nèi)存容量的方法之一是,確定有多少內(nèi)存空間必須分配給操作系統(tǒng)內(nèi)核、操作系統(tǒng)驅(qū)動程序、頻繁處于活動狀態(tài)的應(yīng)用軟件、駐留在內(nèi)存中的數(shù)據(jù)文件大小和數(shù)量以及需要支持的最大網(wǎng)絡(luò)需求。工程師應(yīng)該考慮在處理器上運(yùn)行的所有軟件資源的大小,以及所有峰值網(wǎng)絡(luò)需求,然后增加10%的裕度用作自由內(nèi)存空間。由于用于處理器的主內(nèi)存通常是以1GB、2GB、4GB和8GB這樣的偶數(shù)倍增加的,因此此時(shí)最合適的主內(nèi)存容量是4GB(如果是雙槽道配置就是2個(gè)2GB的DIMM內(nèi)存條)。
諸如數(shù)據(jù)庫、電子郵件和web服務(wù)器等計(jì)算機(jī)應(yīng)用占用非常大的內(nèi)存資源,因此這些系統(tǒng)的內(nèi)存容量要盡可能大。計(jì)算內(nèi)存容量的另外一種方法是運(yùn)行與系統(tǒng)使用率有關(guān)的系統(tǒng)基準(zhǔn)測試,通過比較使用的內(nèi)存(GB)、CPU使用率和系統(tǒng)內(nèi)存容量,(即使用微軟的“控制面板”)瀏覽管理工具(性能)并通過點(diǎn)擊工具條中的“+”符號增加內(nèi)存對象,如圖1所示。
圖1:微軟XP管理工具(性能)截屏。
圖2:處理器/內(nèi)存利用率。
圖2中的性能圖表是雙處理器系統(tǒng)中數(shù)據(jù)可能呈現(xiàn)的面貌例子,它對“內(nèi)存約束”配置(4GB系統(tǒng))與“CPU約束”配置(8GB系統(tǒng))的資源局限做了比較。值得注意的是,6GB系統(tǒng)配置是如何在CPU使用率等于內(nèi)存使用率時(shí)最大化CPU到內(nèi)存的使用率來獲得最佳性價(jià)比的。目前許多系統(tǒng)設(shè)計(jì)師流行使用粗略的計(jì)算方法,即為每GHz的處理器內(nèi)核配置2GB內(nèi)存。一旦內(nèi)存容量確定后,選擇內(nèi)存控制器以支持所希望的內(nèi)存容量顯得同樣重要。內(nèi)存控制器將通過以下兩種方式限制可獲得的內(nèi)存密度:
1)內(nèi)存可用的片選線數(shù)量有限;
2)內(nèi)存控制器支持的最大DRAM容量。
目前有兩種通用的內(nèi)存子系統(tǒng)設(shè)計(jì)可用于連接片選線。一種是每個(gè)內(nèi)存插槽兩根片選線,一種是每個(gè)內(nèi)存插槽4根片選線。由于內(nèi)存模組數(shù)量受限于插槽數(shù)量,因此最大系統(tǒng)內(nèi)存容量將是內(nèi)存插槽數(shù)量乘以每條內(nèi)存模組的容量。
內(nèi)存空間和內(nèi)存尺寸考慮
內(nèi)存子系統(tǒng)中使用的內(nèi)存外形尺寸一般取決于以下一些因素:
1)物理空間,更明確地說就是內(nèi)存所裝配的機(jī)械外殼;
2)處理器可以容忍的(由于處理器到內(nèi)存的物理距離引起的)延時(shí)和速度下降;
3)安裝底架的約束,如與周邊元組件的接近度、熱冷卻要求(與風(fēng)扇的接近度、使用熱傳導(dǎo)器或散熱器、液體冷卻、內(nèi)存組件之間的空隙等);
4)內(nèi)存布局(與處理器的接近度,垂直或水平安裝等);
5) 安裝、維修和升級內(nèi)存的簡易度。
當(dāng)使用SoC中的嵌入式DRAM(eDRAM)內(nèi)存時(shí),用于決定“片上”和片外DRAM內(nèi)存分布的標(biāo)準(zhǔn)通?;赟oC上用于流水線、緩存和低延時(shí)訪問的內(nèi)存的可用空間,以及將DRAM嵌入進(jìn)SoC的相關(guān)成本。
舉例來說,90nm嵌入式DRAM工藝基于的是CMOS邏輯技術(shù),可集成插件形式的內(nèi)存模組。嵌入式工藝在與外部DRAM器件連接時(shí)不存在I/O功耗,因此可以提供更寬的總線、更低的材料成本和更高的帶寬。而且與SRAM相比正常工作功耗和待機(jī)功耗都要低。
然而,嵌入式內(nèi)存技術(shù)還沒有達(dá)到可以替代主板上高密度DRAM的密度水平,因?yàn)橛糜谔幚砥骱蚐oC的嵌入式內(nèi)存目前還沒超過100MB,而主板上配置的片外內(nèi)存一般最小要1GB。與處理器一樣,內(nèi)存技術(shù)同樣也遵循摩爾定律,相當(dāng)于每兩年提高2倍密度。表1說明了目前內(nèi)存密度的發(fā)展趨勢:
表1:內(nèi)存密度趨勢。
選擇系統(tǒng)內(nèi)存的六大指標(biāo)
如果內(nèi)存容量是一個(gè)重要的系統(tǒng)指標(biāo),那么相對其它結(jié)構(gòu)外形來說內(nèi)存模組更合適。目前有幾種JEDCE標(biāo)準(zhǔn)DIM可用,如RDIMM,UDIMM,S0-DIMM,Mini-DIMM,MicroDIMM和FBDIMM。下面列出了為何選用DRAM內(nèi)存模組的六大理由:
理由1:更低的總體擁有成本(TCO),具體理由如下:
A)模組化的內(nèi)存后可以在最終裝配和測試需要時(shí)隨時(shí)購買得到,甚至可趕在系統(tǒng)交付之前。這樣做可以減少庫存,釋放現(xiàn)金流。這樣做還能避免內(nèi)存元件庫存面臨價(jià)格下降而造成財(cái)務(wù)損失的風(fēng)險(xiǎn)。如果用于系統(tǒng)的內(nèi)存是板載芯片(COB),那么獨(dú)立的內(nèi)存元件可能需要庫存較長時(shí)間,以便預(yù)留時(shí)間生產(chǎn)主板。
B)開始時(shí)可以使用最小的內(nèi)存配置以較低的系統(tǒng)成本出售/購買系統(tǒng)(預(yù)留一些空槽以便未來升級)。用戶可以在增加新的應(yīng)用軟件或提高計(jì)算機(jī)速度時(shí)升級內(nèi)存,此時(shí)只需簡單地升級或增加內(nèi)存模組。[!--empirenews.page--]
C)由于內(nèi)存也是計(jì)算機(jī)系統(tǒng)成本中的昂貴部分,當(dāng)原本的系統(tǒng)不再工作或被中止服務(wù)時(shí),內(nèi)存模組可以移走,然后在其它系統(tǒng)中得到再次利用。
理由2:提供更高的系統(tǒng)密度。模組化內(nèi)存可以比直接安裝在主板上的單片分立DRAM提供更高的內(nèi)存容量。要求最大內(nèi)存容量的系統(tǒng)可以使用非常緊湊的內(nèi)存模組,這些模組使用了各種可提高單位密度的堆疊技術(shù)。
理由3:增加處理器板上的實(shí)用面積。固態(tài)雙數(shù)據(jù)速率(SSDDR)內(nèi)存模組能夠適應(yīng)“混合內(nèi)存”技術(shù)。這種方法提供了雙重功能,可將DDR DRAM和NAND閃存整合進(jìn)一個(gè)小型封裝(見圖3),這也是將更多內(nèi)存和數(shù)據(jù)裝進(jìn)空間受限的單板計(jì)算機(jī)(SBC)和嵌入式系統(tǒng)應(yīng)用的一種方式。DIMM插座方向性還能使內(nèi)存放置在其它主板元件上方以節(jié)省主板空間。用于刀片服務(wù)器的ULP和VLP DIMM提供類似的空間節(jié)省特性。LeanSTOR封裝技術(shù)是另一種為AMC或ATCA電信刀片服務(wù)器節(jié)省空間的方法。
圖3:SSDDR DRAM和NAND閃存SATA SODIMM。
理由4:更高的RAS(可靠性/可用性/可維修性)。隨著時(shí)間的推移,內(nèi)存也可能出現(xiàn)故障,產(chǎn)生SBE和多位差錯(cuò),這種問題將影響計(jì)算機(jī)系統(tǒng)的正常工作,或由于ECC處理軟件開銷而使系統(tǒng)運(yùn)行速度降低。如果是模組形式的內(nèi)存,那么就能很快地替換插槽中的故障件,從而縮短由于查錯(cuò)和維修引起的系統(tǒng)宕機(jī)時(shí)間。如果內(nèi)存直接安裝在主板上,那么排除故障內(nèi)存也是很困難的。重新焊接主板上的內(nèi)存還可能降低其質(zhì)量。如果主板要求內(nèi)置內(nèi)存測試程序以診斷故障芯片,那么系統(tǒng)設(shè)計(jì)師或BIOS編程人員可能無法利用內(nèi)存測試專業(yè)軟件,因?yàn)檫@些內(nèi)存測試程序是專門針對測試內(nèi)存模組設(shè)計(jì)的。
理由5:增強(qiáng)可測性和系統(tǒng)兼容性。如果系統(tǒng)中的內(nèi)存直接安裝在主板上,那么當(dāng)它發(fā)生故障時(shí),處理器也許無法運(yùn)行診斷程序來查找錯(cuò)誤的源頭。內(nèi)存是面向總線的,通過總線與內(nèi)存控制器(或芯片組)協(xié)同工作。它們都是作為成組的器件在工作,因此那些沒有被篩選為一組(就像在模組中一樣)的失配DRAM產(chǎn)生的任何時(shí)序偏移都將導(dǎo)致不穩(wěn)定的、不可預(yù)測的或間歇性操作。另外,對只能提供BGA封裝的DDR2或DDR3內(nèi)存進(jìn)行探針測試也是不可能的。系統(tǒng)主板還經(jīng)常使用獨(dú)特的設(shè)計(jì)拓?fù)浜蛢?nèi)存控制器,它們會對DRAM的交流和直流參數(shù)作出限制。模組化的內(nèi)存可以使用系統(tǒng)軟件實(shí)現(xiàn)系統(tǒng)級的預(yù)測試,從而排除掉與系統(tǒng)不兼容的內(nèi)存。
理由6:提高可制造性。如果主板不是無鉛的,芯片組又適用于DDR2內(nèi)存,那么設(shè)計(jì)師在不是無鉛的主板上裝配無鉛RoHS DDR2 DRAM可能無法獲得較好的焊接可靠性。表2中的表格展示了在SoC上的嵌入式內(nèi)存、在主板上的分立內(nèi)存芯片(如板載芯片,COB以及某些多芯片封裝(MCP))和插槽中的內(nèi)存模組之間的一些區(qū)別。
表2:COB、內(nèi)存模組與SoC嵌入式DRAM之間的比較。
系統(tǒng)內(nèi)存帶寬的考慮因素
如果計(jì)算機(jī)系統(tǒng)處于需要高吞吐量的密集計(jì)算或網(wǎng)絡(luò)環(huán)境中,那么除了內(nèi)存容量外內(nèi)存帶寬也是一個(gè)重要的考慮因素。內(nèi)存帶寬主要取決于內(nèi)存控制器(或芯片組)的速度、DRAM器件技術(shù)和系統(tǒng)設(shè)計(jì)。目前它的計(jì)量單位是GB/sec,計(jì)算方法是用總線寬度乘以數(shù)據(jù)速率。例如在一個(gè)雙通道系統(tǒng)配置中的DDR3-1333(PC3-10600)內(nèi)存子系統(tǒng),它的內(nèi)存帶寬是21.3GB/s,即128位總線寬度(2個(gè)64位內(nèi)存總線)×1333Mbps×1B/8bits=21300MB/s。
內(nèi)存帶寬通常受“速度/密度”公式的影響,其中速度和密度呈反比關(guān)系。為了增加系統(tǒng)內(nèi)存容量而向內(nèi)存總線增加越多的DRAM,數(shù)據(jù)訪問控制(DAC)總線上的容性負(fù)載就越高,進(jìn)而降低更高速度時(shí)的信號質(zhì)量??朔俣?密度限制的一些方法是:
1)使用帶多個(gè)內(nèi)存通道(更寬數(shù)據(jù)庫)的內(nèi)存控制器;
2)使用緩存(寄存器式,或完全緩沖式內(nèi)存,縮短了延時(shí));
3)在增加更多的內(nèi)存時(shí)降低內(nèi)存時(shí)鐘。一般來說,內(nèi)存越大,帶寬越小。
使用無緩沖內(nèi)存的系統(tǒng)通常有較高的帶寬和較低的系統(tǒng)密度,而使用寄存器/緩沖式內(nèi)存的系統(tǒng)通常具有較高的密度和較低的帶寬。
本文小結(jié)
一旦利用本文提供的信息確定好系統(tǒng)中的內(nèi)存容量、空間和帶寬后,設(shè)計(jì)師就能專注于考慮其它事項(xiàng),如內(nèi)存成本,以及決定將哪部分系統(tǒng)成本預(yù)算留給內(nèi)存。