系統內存的選擇策略
發布時間:2009/9/9 9:54:09 訪問次數:344
1)容量:所有應用軟件或計算機系統要求的數據操作需要多大容量的內存?
2)空間和外形尺寸考慮:計算機中有多少物理空間(soc、主板等)可分配給內存使用?
3)帶寬:為了支持密集型計算,處理器指令和數據需要以多快的速度執行或處理?
對系統內存容量的考慮
一般來說,了解有多少用戶會對計算機系統及其所使用的應用軟件有需求將對內存容量起決定性作用。然而,最常見的結論是內存越多越好。除了處理器能力之外,內存對系統性能的影響是最大的了,因此選擇一款能夠適應大內存容量和最高內存帶寬的內存控制器和操作系統無疑能夠提高系統性能。另外值得注意的是,32位的操作系統最多只能訪問5gb的內存空間(達到2的32次方),但最新的64位操作系統可以訪問的內存空間達18zb(2的64次方)。
計算內存容量的方法之一是,確定有多少內存空間必須分配給操作系統內核、操作系統驅動程序、頻繁處于活動狀態的應用軟件、駐留在內存中的數據文件大小和數量以及需要支持的最大網絡需求。工程師應該考慮在處理器上運行的所有軟件資源的大小,以及所有峰值網絡需求,然后增加10%的裕度用作自由內存空間。由于用于處理器的主內存通常是以1gb、2gb、4gb和8gb這樣的偶數倍增加的,因此此時最合適的主內存容量是4gb(如果是雙槽道配置就是2個2gb的dimm內存條)。
諸如數據庫、電子郵件和web服務器等計算機應用占用非常大的內存資源,因此這些系統的內存容量要盡可能大。計算內存容量的另外一種方法是運行與系統使用率有關的系統基準測試,通過比較使用的內存(gb)、cpu使用率和系統內存容量,(即使用微軟的“控制面板”)瀏覽管理工具(性能)并通過點擊工具條中的“+”符號增加內存對象,如圖1所示。
圖1:微軟xp管理工具(性能)截屏。
圖2:處理器/內存利用率。
圖2中的性能圖表是雙處理器系統中數據可能呈現的面貌例子,它對“內存約束”配置(4gb系統)與“cpu約束”配置(8gb系統)的資源局限做了比較。值得注意的是,6gb系統配置是如何在cpu使用率等于內存使用率時最大化cpu到內存的使用率來獲得最佳性價比的。目前許多系統設計師流行使用粗略的計算方法,即為每ghz的處理器內核配置2gb內存。一旦內存容量確定后,選擇內存控制器以支持所希望的內存容量顯得同樣重要。內存控制器將通過以下兩種方式限制可獲得的內存密度:
1)內存可用的片選線數量有限;
2)內存控制器支持的最大dram容量。
目前有兩種通用的內存子系統設計可用于連接片選線。一種是每個內存插槽兩根片選線,一種是每個內存插槽4根片選線。由于內存模組數量受限于插槽數量,因此最大系統內存容量將是內存插槽數量乘以每條內存模組的容量。
內存空間和內存尺寸考慮
內存子系統中使用的內存外形尺寸一般取決于以下一些因素:
1)物理空間,更明確地說就是內存所裝配的機械外殼;
2)處理器可以容忍的(由于處理器到內存的物理距離引起的)延時和速度下降;
3)安裝底架的約束,如與周邊元組件的接近度、熱冷卻要求(與風扇的接近度、使用熱傳導器或散熱器、液體冷卻、內存組件之間的空隙等);
4)內存布局(與處理器的接近度,垂直或水平安裝等);
5) 安裝、維修和升級內存的簡易度。
當使用soc中的嵌入式dram(edram)內存時,用于決定“片上”和片外dram內存分布的標準通常基于soc上用于流水線、緩存和低延時訪問的內存的可用空間,以及將dram嵌入進soc的相關成本。
舉例來說,90nm嵌入式dram工藝基于的是cmos邏輯技術,可集成插件形式的內存模組。嵌入式工藝在與外部dram器件連接時不存在i/o功耗,因此可以提供更寬的總線、更低的材料成本和更高的帶寬。而且與sram相比正常工作功耗和待機功耗都要低。
然而,嵌入式內存技術還沒有達到可以替代主板上高密度dram的密度水平,因為用于處理器和soc的嵌入式內存目前還沒超過100mb,而主板上配置的片外內存一般最小要1gb。與處理器一樣,內存技術同樣也遵循摩爾定律,相當于每兩年提高2倍密度。表1說明了目前內存密度的發展趨勢:
表1:內存密度趨勢。
選擇系統內存的六大指標
如果內存容量是一個重要的系統指標,那么相對其它結構外形來說內存模組更合適。目前有幾種jedce標準dim可用,如rdimm,udimm,s0-dimm,mini-dimm,microdimm和fbdimm。下面列出了為何選用dram內存模組的六大理由:
理由1:更低的總體擁有成本(tco),具體理由如下:
a)模組化的內存后可以在最終裝配和測試需要時隨時購買得到,甚至可趕在系統交付之前。這樣做可以減少庫存,釋放現金流。這樣做還能避免內存元件庫存面臨價格下降而造成財務損失的風險。如果用于系統的內存是板載芯片(cob),那么獨立的內存元件可能需要庫存較長時間,以便預留時間生產主板。
b)開始時可以使用最小的內存配置以較低的系統成本出售/購買系統(預留一些空槽以便未來升級)。用戶可以在增加新的應用軟件或提高計算機速度時升級內存,此時只需簡單地升級或增加內存模組。
c)由于內存也是計算機系統成本中的昂貴部分,當原本的系統不再工作或被中止服務時,內存模組可以移走,然后在其它系統中得到再次利用。
理由2:提供更高的系統密度。模組化內存可以比直接安裝在主板上的單片分立dram提供更高的內存容量。要求最大內存容量的系統可以使用非常緊湊的內存模組,這些模組使用了各種可提高單位密度的堆疊技術。
理由3:增加處理器板上的實用面積。固態雙數據速率(ssddr)內存模組能夠適應“混合內存”技術。這種方法提供了雙重功能,可將ddr dram和nand閃存整合進一個小型封裝(見圖3),這也是將更多內存和數據裝進空間受限的單板計算機(sbc)和嵌入式系統應用的一種方式。dimm插座方向性還能使內存放置在其它主板元件上方以節省主板空間。用于刀片服務器的ulp和vlp dimm提供類似的空間節省特性。leanstor封裝技術是另一種為amc或atca電信刀片服務器節省空間的方法。
圖3:ssddr dram和nand閃存sata sodimm。
理由4:更高的ras(可靠性/可用性/可維修性)。隨著時間的推移,內存也可能出現故障,產生sbe和多位差錯,這種問題將影響計算機系統的正常工作,或由于ecc處理軟件開銷而使系統運行速度降低。如果是模組形式的內存,那么就能很快地替換插槽中的故障件,從而縮短由于查錯和維修引起的系統宕機時間。如果內存直接安裝在主板上,那么排除故障內存也是很困難的。重新焊接主板上的內存還可能降低其質量。如果主板要求內置內存測試程序以診斷故障芯片,那么系統設計師或bios編程人員可能無法利用內存測試專業軟件,因為這些內存測試程序是專門針對測試內存模組設計的。
理由5:增強可測性和系統兼容性。如果系統中的內存直接安裝在主板上,那么當它發生故障時,處理器也許無法運行診斷程序來查找錯誤的源頭。內存是面向總線的,通過總線與內存控制器(或芯片組)協同工作。它們都是作為成組的器件在工作,因此那些沒有被篩選為一組(就像在模組中一樣)的失配dram產生的任何時序偏移都將導致不穩定的、不可預測的或間歇性操作。另外,對只能提供bga封裝的ddr2或ddr3內存進行探針測試也是不可能的。系統主板還經常使用獨特的設計拓撲和內存控制器,它們會對dram的交流和直流參數作出限制。模組化的內存可以使用系統軟件實現系統級的預測試,從而排除掉與系統不兼容的內存。
理由6:提高可制造性。如果主板不是無鉛的,芯片組又適用于ddr2內存,那么設計師在不是無鉛的主板上裝配無鉛rohs ddr2 dram可能無法獲得較好的焊接可靠性。表2中的表格展示了在soc上的嵌入式內存、在主板上的分立內存芯片(如板載芯片,cob以及某些多芯片封裝(mcp))和插槽中的內存模組之間的一些區別。
表2:cob、內存模組與soc嵌入式dram之間的比較。
系統內存帶寬的考慮因素
如果計算機系統處于需要高吞吐量的密集計算或網絡環境中,那么除了內存容量外內存帶寬也是一個重要的考慮因素。內存帶寬主要取決于內存控制器(或芯片組)的速度、dram器件技術和系統設計。目前它的計量單位是gb/sec,計算方法是用總線寬度乘以數據速率。例如在一個雙通道系統配置中的ddr3-1333(pc3-10600)內存子系統,它的內存帶寬是21.3gb/s,即128位總線寬度(2個64位內存總線)×1333mbps×1b/8bits=21300mb/s。
內存帶寬通常受“速度/密度”公式的影響,其中速度和密度呈反比關系。為了增加系統內存容量而向內存總線增加越多的dram,數據訪問控制(dac)總線上的容性負載就越高,進而降低更高速度時的信號質量。克服速度/密度限制的一些方法是:
1)使用帶多個內存通道(更寬數據庫)的內存控制器;
2)使用緩存(寄存器式,或完全緩沖式內存,縮短了延時);
3)在增加更多的內存時降低內存時鐘。一般來說,內存越大,帶寬越小。
使用無緩沖內存的系統通常有較高的帶寬和較低的系統密度,而使用寄存器/緩沖式內存的系統通常具有較高的密度和較低的帶寬。
本文小結
一旦利用本文提供的信息確定好系統中的內存容量、空間和帶寬后,設計師就能專注于考慮其它事項,如內存成本,以及決定將哪部分系統成本預算留給內存。
1)容量:所有應用軟件或計算機系統要求的數據操作需要多大容量的內存?
2)空間和外形尺寸考慮:計算機中有多少物理空間(soc、主板等)可分配給內存使用?
3)帶寬:為了支持密集型計算,處理器指令和數據需要以多快的速度執行或處理?
對系統內存容量的考慮
一般來說,了解有多少用戶會對計算機系統及其所使用的應用軟件有需求將對內存容量起決定性作用。然而,最常見的結論是內存越多越好。除了處理器能力之外,內存對系統性能的影響是最大的了,因此選擇一款能夠適應大內存容量和最高內存帶寬的內存控制器和操作系統無疑能夠提高系統性能。另外值得注意的是,32位的操作系統最多只能訪問5gb的內存空間(達到2的32次方),但最新的64位操作系統可以訪問的內存空間達18zb(2的64次方)。
計算內存容量的方法之一是,確定有多少內存空間必須分配給操作系統內核、操作系統驅動程序、頻繁處于活動狀態的應用軟件、駐留在內存中的數據文件大小和數量以及需要支持的最大網絡需求。工程師應該考慮在處理器上運行的所有軟件資源的大小,以及所有峰值網絡需求,然后增加10%的裕度用作自由內存空間。由于用于處理器的主內存通常是以1gb、2gb、4gb和8gb這樣的偶數倍增加的,因此此時最合適的主內存容量是4gb(如果是雙槽道配置就是2個2gb的dimm內存條)。
諸如數據庫、電子郵件和web服務器等計算機應用占用非常大的內存資源,因此這些系統的內存容量要盡可能大。計算內存容量的另外一種方法是運行與系統使用率有關的系統基準測試,通過比較使用的內存(gb)、cpu使用率和系統內存容量,(即使用微軟的“控制面板”)瀏覽管理工具(性能)并通過點擊工具條中的“+”符號增加內存對象,如圖1所示。
圖1:微軟xp管理工具(性能)截屏。
圖2:處理器/內存利用率。
圖2中的性能圖表是雙處理器系統中數據可能呈現的面貌例子,它對“內存約束”配置(4gb系統)與“cpu約束”配置(8gb系統)的資源局限做了比較。值得注意的是,6gb系統配置是如何在cpu使用率等于內存使用率時最大化cpu到內存的使用率來獲得最佳性價比的。目前許多系統設計師流行使用粗略的計算方法,即為每ghz的處理器內核配置2gb內存。一旦內存容量確定后,選擇內存控制器以支持所希望的內存容量顯得同樣重要。內存控制器將通過以下兩種方式限制可獲得的內存密度:
1)內存可用的片選線數量有限;
2)內存控制器支持的最大dram容量。
目前有兩種通用的內存子系統設計可用于連接片選線。一種是每個內存插槽兩根片選線,一種是每個內存插槽4根片選線。由于內存模組數量受限于插槽數量,因此最大系統內存容量將是內存插槽數量乘以每條內存模組的容量。
內存空間和內存尺寸考慮
內存子系統中使用的內存外形尺寸一般取決于以下一些因素:
1)物理空間,更明確地說就是內存所裝配的機械外殼;
2)處理器可以容忍的(由于處理器到內存的物理距離引起的)延時和速度下降;
3)安裝底架的約束,如與周邊元組件的接近度、熱冷卻要求(與風扇的接近度、使用熱傳導器或散熱器、液體冷卻、內存組件之間的空隙等);
4)內存布局(與處理器的接近度,垂直或水平安裝等);
5) 安裝、維修和升級內存的簡易度。
當使用soc中的嵌入式dram(edram)內存時,用于決定“片上”和片外dram內存分布的標準通常基于soc上用于流水線、緩存和低延時訪問的內存的可用空間,以及將dram嵌入進soc的相關成本。
舉例來說,90nm嵌入式dram工藝基于的是cmos邏輯技術,可集成插件形式的內存模組。嵌入式工藝在與外部dram器件連接時不存在i/o功耗,因此可以提供更寬的總線、更低的材料成本和更高的帶寬。而且與sram相比正常工作功耗和待機功耗都要低。
然而,嵌入式內存技術還沒有達到可以替代主板上高密度dram的密度水平,因為用于處理器和soc的嵌入式內存目前還沒超過100mb,而主板上配置的片外內存一般最小要1gb。與處理器一樣,內存技術同樣也遵循摩爾定律,相當于每兩年提高2倍密度。表1說明了目前內存密度的發展趨勢:
表1:內存密度趨勢。
選擇系統內存的六大指標
如果內存容量是一個重要的系統指標,那么相對其它結構外形來說內存模組更合適。目前有幾種jedce標準dim可用,如rdimm,udimm,s0-dimm,mini-dimm,microdimm和fbdimm。下面列出了為何選用dram內存模組的六大理由:
理由1:更低的總體擁有成本(tco),具體理由如下:
a)模組化的內存后可以在最終裝配和測試需要時隨時購買得到,甚至可趕在系統交付之前。這樣做可以減少庫存,釋放現金流。這樣做還能避免內存元件庫存面臨價格下降而造成財務損失的風險。如果用于系統的內存是板載芯片(cob),那么獨立的內存元件可能需要庫存較長時間,以便預留時間生產主板。
b)開始時可以使用最小的內存配置以較低的系統成本出售/購買系統(預留一些空槽以便未來升級)。用戶可以在增加新的應用軟件或提高計算機速度時升級內存,此時只需簡單地升級或增加內存模組。
c)由于內存也是計算機系統成本中的昂貴部分,當原本的系統不再工作或被中止服務時,內存模組可以移走,然后在其它系統中得到再次利用。
理由2:提供更高的系統密度。模組化內存可以比直接安裝在主板上的單片分立dram提供更高的內存容量。要求最大內存容量的系統可以使用非常緊湊的內存模組,這些模組使用了各種可提高單位密度的堆疊技術。
理由3:增加處理器板上的實用面積。固態雙數據速率(ssddr)內存模組能夠適應“混合內存”技術。這種方法提供了雙重功能,可將ddr dram和nand閃存整合進一個小型封裝(見圖3),這也是將更多內存和數據裝進空間受限的單板計算機(sbc)和嵌入式系統應用的一種方式。dimm插座方向性還能使內存放置在其它主板元件上方以節省主板空間。用于刀片服務器的ulp和vlp dimm提供類似的空間節省特性。leanstor封裝技術是另一種為amc或atca電信刀片服務器節省空間的方法。
圖3:ssddr dram和nand閃存sata sodimm。
理由4:更高的ras(可靠性/可用性/可維修性)。隨著時間的推移,內存也可能出現故障,產生sbe和多位差錯,這種問題將影響計算機系統的正常工作,或由于ecc處理軟件開銷而使系統運行速度降低。如果是模組形式的內存,那么就能很快地替換插槽中的故障件,從而縮短由于查錯和維修引起的系統宕機時間。如果內存直接安裝在主板上,那么排除故障內存也是很困難的。重新焊接主板上的內存還可能降低其質量。如果主板要求內置內存測試程序以診斷故障芯片,那么系統設計師或bios編程人員可能無法利用內存測試專業軟件,因為這些內存測試程序是專門針對測試內存模組設計的。
理由5:增強可測性和系統兼容性。如果系統中的內存直接安裝在主板上,那么當它發生故障時,處理器也許無法運行診斷程序來查找錯誤的源頭。內存是面向總線的,通過總線與內存控制器(或芯片組)協同工作。它們都是作為成組的器件在工作,因此那些沒有被篩選為一組(就像在模組中一樣)的失配dram產生的任何時序偏移都將導致不穩定的、不可預測的或間歇性操作。另外,對只能提供bga封裝的ddr2或ddr3內存進行探針測試也是不可能的。系統主板還經常使用獨特的設計拓撲和內存控制器,它們會對dram的交流和直流參數作出限制。模組化的內存可以使用系統軟件實現系統級的預測試,從而排除掉與系統不兼容的內存。
理由6:提高可制造性。如果主板不是無鉛的,芯片組又適用于ddr2內存,那么設計師在不是無鉛的主板上裝配無鉛rohs ddr2 dram可能無法獲得較好的焊接可靠性。表2中的表格展示了在soc上的嵌入式內存、在主板上的分立內存芯片(如板載芯片,cob以及某些多芯片封裝(mcp))和插槽中的內存模組之間的一些區別。
表2:cob、內存模組與soc嵌入式dram之間的比較。
系統內存帶寬的考慮因素
如果計算機系統處于需要高吞吐量的密集計算或網絡環境中,那么除了內存容量外內存帶寬也是一個重要的考慮因素。內存帶寬主要取決于內存控制器(或芯片組)的速度、dram器件技術和系統設計。目前它的計量單位是gb/sec,計算方法是用總線寬度乘以數據速率。例如在一個雙通道系統配置中的ddr3-1333(pc3-10600)內存子系統,它的內存帶寬是21.3gb/s,即128位總線寬度(2個64位內存總線)×1333mbps×1b/8bits=21300mb/s。
內存帶寬通常受“速度/密度”公式的影響,其中速度和密度呈反比關系。為了增加系統內存容量而向內存總線增加越多的dram,數據訪問控制(dac)總線上的容性負載就越高,進而降低更高速度時的信號質量。克服速度/密度限制的一些方法是:
1)使用帶多個內存通道(更寬數據庫)的內存控制器;
2)使用緩存(寄存器式,或完全緩沖式內存,縮短了延時);
3)在增加更多的內存時降低內存時鐘。一般來說,內存越大,帶寬越小。
使用無緩沖內存的系統通常有較高的帶寬和較低的系統密度,而使用寄存器/緩沖式內存的系統通常具有較高的密度和較低的帶寬。
本文小結
一旦利用本文提供的信息確定好系統中的內存容量、空間和帶寬后,設計師就能專注于考慮其它事項,如內存成本,以及決定將哪部分系統成本預算留給內存。
上一篇:東芝或外包部分集成電路生產業務