Global Sources
電子工程專輯
 
電子工程專輯 > 記憶體/儲存
 
 
記憶體/儲存  

記憶體架構對系統性能的影響

上網時間: 2006年02月06日     打印版  Bookmark and Share  字型大小:  

關鍵字:記憶體,控制器,系統性能,匯流排轉換  Rambus 

記憶體技術的發展使記憶體系統的性能得到提高,儘管峰值速率依然是記憶體技術最重要的參數之一,但其它結構參數也大幅影響記憶體系統的性能。本文將介紹記憶體架構對系統性能的影響。

記憶體技術大多數根據其執行速度來命名。如PC100 SDRAM元件是指數據速率為100MHz的儲存技術,PC133則表示數據速率為133MHz,等等。儘管這種命名的習慣隨著時間發展而變化,但通常還是能為潛在買家提供關於記憶體執行速度的資訊。事實上,今天的主流儲存技術都是依照其峰值數據速率來命名的,這將繼續成為評估儲存系統性能的要素之一。不過,在實際系統中,沒有記憶體能完全工作在其峰值速率下。

從寫入命令轉換到讀取命令,在某個時間存取某個地址,以及刷新數據等作業都要求數據匯流排在一定時間內保持休止狀態,這樣就不能充分利用記憶體通道。此外,寬平行匯流排和DRAM核心預取都經常導致不必要的大數據量存取。在指定的時間段內,記憶體控制器能存取的有用數據稱為有效數據速率,這很大程度上取決於系統的特定應用。有效數據速率隨著時間而變化,常低於峰值數據速率。在某些系統中,有效數據速率可下降到峰值速率的10%以下。

表1:每百週期發生兩個匯流排轉換時的有效數據速率和峰值數據速率。

通常,這些系統受益於那些能產生更高有效數據速率的記憶體技術的變化。在CPU方面存在類似的現象,最近幾年諸如AMD和Transmeta等公司已經指出,在測量基於CPU的系統的性能時,時脈頻率不是唯一的要素。記憶體技術已經很成熟,峰值速率和有效數據速率或許並不比以前匹配的更好。儘管峰值速率依然是記憶體技術最重要的參數之一,但其他結構參數也可以大幅影響記憶體系統的性能。

影響有效數據速率的參數

有幾類影響有效數據速率的參數,其一是導致數據匯流排進入若干週期的停止狀態。在這類參數中,匯流排轉換、行週期時間、CAS延遲以及RAS到CAS的延遲(tRCD)引發系統結構中的大部份延遲問題。

匯流排轉換本身會在數據通道上產生非常長的停止時間。以GDDR3系統為例,該系統對記憶體的開放頁不斷寫入數據。在這期間,記憶體系統的有效數據速率與其峰值速率相當。不過,假設100個時脈週期中,記憶體控制器從讀取轉換到寫入。由於這個轉換需要6個時脈週期,有效的數據速率下降到峰值速率的94%。在這100個時脈週期中,如果記憶體控制器將匯流排從寫入轉換到讀取的話,將會丟失更多的時脈週期。這種記憶體技術在從寫入轉換到讀取時需要15個空閑週期,這會將有效數據速率進一步降低到峰值速率的79%。表1顯示出針幾種高性能記憶體技術類似的運算結果。

顯然,所有的記憶體技術並不相同。需要很多匯流排轉換的系統設計師可以選用諸如XDR、RDRAM或者DDR2這些更高效的技術來提升性能。另一方面,如果系統能將處理事務分組成非常長的讀寫序列,那麼匯流排轉換對有效頻寬的影響最小。不過,其他的增加延遲現象,例如庫(bank)衝突會降低有效頻寬,對性能產生負面影響。

DRAM技術要求庫的頁或行在存取之前開放。一旦開放,在一個最小週期時間,即行週期時間(tRC)結束之前,同一個庫中的不同頁不能開放。對記憶體開放庫的不同頁存取被稱為分頁遺漏,這會導致與任何tRC間隔未滿足部份相關的延遲。對於還沒有開放足夠週期以滿足tRC間隙的庫而言,分頁遺漏被稱為庫衝突。而tRC決定了庫衝突延遲時間的長短,在特定的DRAM上可用的庫數量直接影響庫衝突產生的頻率。

大多數記憶體技術有4個或者8個庫,在數十個時脈週期具有tRC值。在隨機負載情況下,那些具有8個庫的核心比具有4個庫的核心所發生的庫衝突更少。儘管tRC與庫數量之間的相互影響很複雜,但是其累計影響可用多種方法量化。

記憶體讀取事務處理

考慮三種簡單的記憶體讀取事務處理情況。第一種情況,記憶體控制器發出每個事務處理,該事務處理與前一個事務處理產生一個庫衝突。控制器必須在打開一個頁和打開後續頁之間等待一個tRC時間,這樣增加了與頁循環相關的最大延遲時間。在這種情況下的有效數據速率很大程度上決定於I/O,並主要受限於DRAM核心電路。最大的庫衝突頻率將有效頻寬削減到目前最高階記憶體技術峰值的20%到30%。

表2:不同儲存技術的總峰值頻寬以及具有必需控制器接腳數的匯流排頻寬。

在第二種情況下,每個事務處理都以隨機產生的地址為目標。此時,產生庫衝突的機會取決於很多因素,包括tRC和記憶體核心中庫數量之間的相互作用。tRC值越小,開放頁循環地越快,導致庫衝突的損失越小。此外,記憶體技術具有的庫越多,隨機地址存取庫衝突的機率就越小。

第三種情況,每個事務處理就是一次頁命中,在開放頁中尋址不同的列地址。控制器不必存取關閉頁,允許完全利用匯流排,這樣就得到一種理想的情況,即有效數據速率等於峰值速率。

第一種和第三種情況都涉及到簡單的運算,隨機情況受其他的特性影響,這些特性沒有包括在DRAM或者記憶體介面中。記憶體控制器仲裁和排隊會大幅改善庫衝突頻率,因為更有可能出現不產生衝突的事務處理,而不是那些導致庫衝突的事務處理。

然而,增加記憶體佇列深度未必增加不同記憶體技術之間的相對有效數據速率。例如,即使增加記憶體控制佇列深度,XDR的有效數據速率也比GDDR3高20%。這種增量主因是XDR具有更高的庫數量以及更低的tRC值。一般而言,更短的tRC間隔、更多的庫數量以及更大的控制器佇列能產生更高的有效頻寬。

實際上,很多效率限制現象是與行存取粒度相關的問題。tRC約束本質上要求記憶體控制器從新開放的行中存取一定量的數據,以確保數據管線保持充滿。事實上,為保持數據匯流排無中斷地執行,在開放一個行之後,只須讀取很少量的數據,即使不需要額外的數據。

另外一種減少記憶體系統有效頻寬的主要特性被歸類到列存取粒度範疇,它規定了每次讀寫作業必須傳輸的數據量。與之相反,行存取粒度規定每個行啟動(一般指每個RAS的CAS作業)需要多少單獨的讀寫作業。列存取粒度對有效數據速率具有不易於量化的巨大影響。因為它規定一個讀取或寫入作業中需要傳輸的最小數據量,列存取粒度為那些一次只需要很少數據量的系統帶來了問題。如一個需要來自兩列各8位元組的16位元組存取粒度系統,必須讀取總共32位元組以存取兩個位置。因為只需要32個位元組中的16個位元組,系統的有效數據速率降低到峰值速率的50%。匯流排頻寬和脈衝時間長度這兩個結構參數規定了記憶體系統的存取粒度。

匯流排頻寬是指連接記憶體控制器和記憶體之間的數據線數量。它設定最小的存取粒度,因為對於一個指定的記憶體事務處理,每條數據線必須至少傳遞一個數據位元。而脈衝時間長度則規定對於指定的事務處理,每條數據線必須傳遞的位元數量。每個事務處理中的每條數據線只傳一個數據位元的儲存技術,其脈衝時間長度為1。總列存取粒度很簡單:列存取粒度=匯流排寬度×脈衝時間長度。

很多系統架構僅僅透過增加DRAM元件和儲存匯流排頻寬就能增加儲存系統的可用頻寬。畢竟,如果4個400MHz數據速率的連接可實現1.6GHz的總峰值頻寬,那麼8個連接將得到3.2GHz。增加一個DRAM元件,電路板上的連線以及ASIC的接腳就會增多,總峰值頻寬相對倍增。

首要的是,架構師希望完全利用峰值頻寬,這已經達到他們透過實體設計記憶體匯流排所能達到的最大值。具有256位元甚或512位元儲存匯流排的圖形控制器已並不鮮見,這種控制器需要1,000個,甚至更多的接腳。封裝設計師、ASIC底層規劃工程師以及電路板設計工程師不能找到採用便宜的、商業上可行的方法來對這麼多訊號進行佈線的矽晶片區域。僅僅增加匯流排寬度來獲得更高的峰值數據速率,會導致因為列存取粒度限制而降低有效頻寬。

假設某個特定儲存技術的脈衝時間長度等於1,對於一個記憶體處理,512位元寬系統的存取粒度為512位元(或者64位元組)。如果控制器只需要一小段數據,那麼剩下的數據就被浪費掉,這就降低了系統的有效數據速率。如只需要儲存系統32位元組數據的控制器將浪費剩餘的32位元組,進而導致有效的數據速率等於50%的峰值速率。這些運算都假定脈衝時間長度為1。隨著記憶體介面數據速率增加的趨勢,大多數新技術的最低脈衝時間長度都大於1。

表3:目前主流儲存技術的存取粒度和匯流排頻寬值。

核心預取

一種稱為核心預取的功能主要負責增加最小的脈衝時間長度。DRAM核心電路不能跟上I/O電路速度的速增。由於數據不能再連續地從核心中取出以確保控制器需求,核心通常為I/O提供比DRAM匯流排寬度更大的數據集。

本質上,核心傳輸足夠的數據到介面電路,或者從介面電路傳輸足夠的數據,以使介面電路保持足夠長時間的繁忙狀態,以便讓核心準備下一個作業。如假設DRAM核心每個奈秒才能對作業響應一次。不過,介面可以支援每奈秒兩位元的數據速率。

DRAM核心每次作業取兩個數據位元,而不是一個數據位元,因而不必浪費介面一半的容量。在介面傳輸數據之後,核心已經準備好響應下一個請求,而不需增加延遲。增加的核心預取導致最小脈衝時間長度增加為2,這將直接影響列存取粒度。

對於每個增加到匯流排寬度的額外訊號,記憶體介面將傳輸兩個額外的數據位元。因此具有最小脈衝時間長度為2的512位元寬的儲存系統,其存取粒度為1,024位元(128位元組)。很多系統對最小存取粒度的問題並不敏感,因為它們儲存大量的數據。不過,某些系統依賴記憶體系統提供小的數據單元,並獲益於更窄、更有效的記憶體技術。

本文小結

隨著儲存技術向峰值數據速率發展,有效的數據速率變的越來越重要。在選擇記憶體時,設計師必須深入了解已公佈的記憶體規格,並明白某個特定的技術特性將對應用設計產生怎樣的影響。記憶體系統設計師必須超越峰值數據速率規格,就像CPU設計師不再用GHz作為唯一的性能衡量標準一樣。儘管對於記憶體介面而言,峰值數據速率依然是最終要的性能規格,但有效的數據速率已開始為系統設計師和架構師提供更大的空間。未來產品的性能將大幅取決於其記憶體系統的有效利用程度。

作者:Victor Echevarria

記憶體介面部產品經理

Rambus公司




投票數:   加入我的最愛
我來評論 - 記憶體架構對系統性能的影響
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首