帳號:
密碼:
最新動態
產業快訊
CTIMES / 文章 /
如何選擇記憶體控制器
掌握資料轉送率與系統最佳化設計

【作者: 高士】   2009年04月03日 星期五

瀏覽人次:【11846】

系統最佳化設計時,如何選擇適當的SDRAM控制器非常重要,特別是檢討作業,經常發生研究人員忽略資料轉送率是控制器的關鍵性指標。


最近幾年IC設計越來越複雜,其結果造成市場強烈要求電子機器具備構成系統的各種要素,包含資料處理功能、晶片化匯流排等周邊介面,以及實現汎用或是應用固有動作機制的理論性電路,能夠全部微縮內建在體電路內部,此時為了使所有要素正常動作,必需使用高性能記憶體介面。


系統晶片(SoC)設計經常使用DRAM,不論是以晶片化DRAM(晶片組)為前提的設計,或是以外部DRAM次系統為對象的設計,幾乎所有的系統晶片,都必需使用記憶體控制器。


使用記憶體控制器的次系統(memory sub system)含蓋範圍非常廣泛,包含處理影像的畫格緩衝器(buffer)、網路分享用的資料緩衝器、行動電話與數位相機等消費性機器的聲音/影像存取器,都需要使用記憶體控制器次系統,因此上述系統晶片必需使用可以支援快閃記憶體、DDR2/3、攜帶型電子機器用DDR、顯示卡用DDR的記憶體控制器。


然而實際上選擇適合特定應用要求的最佳記憶體控制器卻非常困難,某些情況只能遷就現況,使用一般汎用記憶體控制器,有鑑於此本文針對DDR SDRAM(Synchronous DRAM),深入探討資料轉送率以及如何發揮資料轉送率等課題。


歷史背景

控制器封裝於系統晶片有兩種方法,一種是使用獨自開發的記憶體控制器,另外一種方法是向第三智產者(Third party Intellectual property)購買控制器的IP核心。


最近幾年基於某些理由後者已經成為市場主流,主要原因是對控制器的設計、驗證、測試、封裝,等次系統開發無經驗的工程師而言,控制器設計的成為複雜、高成本、高風險的工作。


目前DDR規格與支援的測試手法比較穩定,即使獨自開發記憶體控制器,面臨系統晶片化的快速發展時,採取獨自開發記憶體控制器方式,幾乎無法獲得產品差異化的效果,相較之下外購IP核心,長期而言反而可以抑制成本,交貨期的風險也能夠有效降低。


工程師一旦決定使用外購IP核心,專注結合產品差異化的功能設計、開發,成為該階段重要課題,此時必需決定成本、功能、尺寸、性能、延遲時間、消費電力等基本規格。


事實上除了以上規格選擇之外,資料轉送率具對系統晶片的功能設計有絕對性影響。所謂資料轉送率是指理論上最大頻寬,與實際可以達成的頻域寬度,兩者的百分比而言,因此正確判斷資料轉送率是否適合系統、控制器非常重要。


有關資料轉送率,首先必需清楚掌握DDR SDRAM的存取特性,如果對SDRAM的存取時間一直都是相同時,就可以輕易量測次系統介面的資料轉送率。


然而實際上DDR SDRAM記憶體與次系統的存取條件完全相異,因此存取時間也不相同,主要原因是DDR SDRAM的晶片內建4或是8個獨立的記憶區塊,記憶區域隨時處於主動或是閒置(idling)狀態,處於閒置狀態的記憶區塊,透過主動指令才會遷移至主動狀態,接著將指示的資料收容在感測(sense up)的排列內,讀取/寫入操作期間則持續保管(keep)資料。


由於從行讀取資料之前會要求over head,因此該存取需要花費一些時間。讀取與寫入的指令會使用位址,接著再存取收容在行的複數資料(2、4、8 Word)。由於控制器存取別行時會使使用中的記憶區塊的感測回到閒置狀態,因此此流程又稱為預充(pro-charge)。


記憶區塊完全變成閒置狀態,一直到可以擷取下一個主動指令為止,需要一些時間,此時依照長存取時間的順序,可以分成三種:


  • ●行已經open時關閉朝別行的存取;


  • ●對別行存取;


  • ●對已經open的行存取。



除此之外控制器的封裝,還需要考慮更新(reflash)、pattern down、初期化等時序要件。必需注意的是記憶體次系統處理,從讀取一直到寫入的遷移,隨著介面的反相會產生延遲,如果頻繁發生延遲,記憶體的資料轉送效率整體會大幅劣化。


資料轉送效率的定義

如上所述資料轉送效率是指理論上最大轉送頻寬時,記憶體介面提供實際可利用的資料轉送頻寬的百分比,例如DDR2 雙列直插記憶體模組(Double In-line Memory Module;DIMM),理論上最大轉送速度為6400Mbps,實際平均轉送速度為3200Mbps時,因此資料轉送效率只有50%。


一般控制器的資料轉送效率大多取25%~90%,這意味著使用非效率性控制器封裝,會對系統主要特性產生很大影響,整體成本則大幅增加。此外受到記憶體存取特性的限制,某些場合不易實現高資料轉送效率。


對記憶體的存取主要進行開放(open)行的場合,可以實現理論上最大頻寬,相較之下對記憶體存取只進行分散性的場合,幾乎不會發生對同行的存取。隨著對不同行存取的頻繁發生,處理時間與平均存取時間都會隨著變長,因此整體的資料轉送效率大幅滑落。


利用控制器可以根據資料的流量特徵(traffic pattern)作高效率的操作組合,如此就能夠減輕非效率性流量特徵造成的影響。如果有某種新型得控制器,能夠不依照記憶體存取要求產生的順序執行,卻將對同行的存取作組合(Grouping),或是執行最適當的讀取、寫入處理,或是快速執行高優先度資料的存取,此時只要透過彼此具備的功能與特徵,就可以大幅改善資料轉送效率。


控制器的分類與性能

基本控制器

所謂的基本控制器是指類似上述記憶體存取未作最佳化,依照產生的要求依序執行動作的控制器而言。此外對開放頁(行)若發生存取時,存取花費的時間會變長或是變短。


基本控制器會隨著循序存取(sequence access)與隨機存取(random access)的不同,資料轉送效率也截然不同。進行循序存取的場合,幾乎所有的存取會標的(Hit)開放的頁(行),因此它可實現高速時間,亦即最大的資料轉送效率(接近100%)。相較之下隨機存取的場合,幾乎所有的存取不會標的(Hit)開放頁(行),因此存取時間變長,資料轉送效率則大幅下跌(大約只有20%左右)。表一是循序存取/隨機存取百分比相異的3種流量特徵的資料轉送效率一覽,三種流量特徵分別是指:


  • ●20%的隨機存取與80%的循序存取;


  • ●隨機存取與循序存取各50%;


  • ●80%的隨機存取與20%的循序存取。



(表一) 一般控制器的資料轉送效率一覽

流量特徵

資料轉送效率 (%)

80% (R) / 20 (S)

10

50% (R) / 50 (S)

20

20% (R) / 80 (S)

30


《圖一》
《圖一》

內容定址記憶體(Content Addressable Memory;CAM)控制器

對存取具備最佳化功能的控制器,若與基本控制器比較,前者可以大幅提高性能。表二是使用上述三種流量特徵,對DRAM存取進行最佳化內容定址記憶體時,複雜控制器的資料轉送效率一覽。


使用這種複雜控制器時,要求會被保存在內容定址記憶體內部。產生新要求時,首先會對內容定址記憶體進行搜尋,接著再對保存以外的要求進行施最佳化,最後再作排列(queuing)。


如表二所示內容定址記憶體從8 entry開始,依序變成16、32、64,隨著entry值的增加,它可以同時作更多的比較,其結果使得對複雜流量特徵的資料轉送效率獲得大幅提升。


(表二) CAM控制器的資料轉換效率一覽

項目

CAM的門檻數量

流量特徵

資料轉送效率 (%)

1

8

80%(R)/20%(S)

28

2

8

50%(R)/50%(S)

37

3

8

20%(R)/80%(S)

59

4

16

80%(R)/20%(S)

33

5

16

50%(R)/50%(S)

47

6

16

20%(R)/80%(S)

70

7

32

80%(R)/20%(S)

37

8

32

50%(R)/50%(S)

53

9

32

20%(R)/80%(S)

85

10

64

80%(R)/20%(S)

38

11

64

50%(R)/50%(S)

58

12

64

20%(R)/80%(S)

80


內容定址記憶體為8 entry的場合,隨機存取為80%、循序存取為20%的流量特徵,資料轉送效率只有28%;隨機存取與循序存取各50%的場合,資料轉送效率可以提升至37%;隨機存取為20%、循序存取為80%的流量特徵,資料轉送效率還可以再提升至59%。


內容定址記憶體(CAM)為16 entry的場合,資料轉送效率對應各特徵,分別是33%、47%、70%,換句話說32 entry與64 entry擁有同樣的資料轉送效率。一般內容定址記憶體(CAM)控制器與表1的基本控制器比較,一般內容定址記憶體(CAM)控制器可以實現大約兩倍的資料轉送效率,由此可知評鑑各種控制器封裝互動要件時,資料轉送效率是比較作業上非常重要的要素。


《圖二》
《圖二》

轉換系統的優點

記憶體次系統如果取得高資料轉送效率,設計者就可以將此轉換成低成本、低消費電力等系統優點。例如處理影像串流(video stream)、遙測串流(telemetry stream)時,即使對緩衝記憶體有很多時間性限制的應用,實際上只要滿足某個固定量的頻寬即可。


此處假設資料轉送效率從70%提升至90%,此時即使用速度很慢的記憶模組,同樣能夠維持充分的系統頻寬。目前速度很慢的記憶體模組,已經大量出現在一般市場,因此電子工程師可以輕易取得,而且價格很低廉。


低速記憶体模組對晶片與基板成本的抑制非常有效,同時它還可以使系統設計變得更容易,大幅縮短開發時間。類似這樣的成本優勢大多呈指數性關數增加,例如20%的資料轉送效率與20%的成本削減,幾乎是等號關係。


此外設計上最重要的基本特性,亦即記憶體介面提供的高資料轉送效率,同樣會與實現更高的系統性能直接劃上等號。特別是演算以適當速度擷取資料的場合,它可以發揮最大能力,而且性能也是呈指數性關數增加,不過此時資料的取得相當費時,而且演算受到時序上重大限制,一直到系統回復到最大性能為止,要求許多操作循環,類似這樣的失速如果頻繁發生,系統原本的處理性能會大幅降低。


高資料轉送效率與低消費電力化等系統要件也有直結關係,這意味著只要設計者充分應用慢速、低消費電力記憶體、I/O、處理器的特徵再加以組合,基本上還是可以實現必要的系統性能。例如提高資料轉送效率,可以使用更簡易的記憶系統,大幅削減消費電力。此外處理資料流量期間產生的閒置時間如果變長,利用控制器的省電功能,同樣可以降低消費電力。


設計時適當的資料流量選擇,通常會針對幾種一般性應用,再從表一選出適當的資料流量(traffic pattern),最後透過相異控制器的封裝,進行各種資料轉送效率的比較。資料處理演算最常發生隨機存取,主要原因是許多情況,相同演算使用的變數與碼(code)都是分散收容在記憶體,因此隨機存取的機會非常多。


記憶體的應用主要是處理資料緩衝與資料保存,例如影像通訊的應用,進行擷取演算資料處理前後,會將整合至某結構的資料加以緩衝,此時類似這類應用循序存取比率會變高,如果使用散列表(Hash table)或是鏈結串列(Linked list),某些情況會以同等比例進行隨機存取。


系統設計

在許多系統中,可以發現設計者大多試圖透過記憶體次系統的資料轉送效率提升,實現低成本、低消費電力、高效益等預期目標。由此可知資料轉送效率是系統設計的關鍵性要件,設計上如何以最佳形式發揮資料轉送效率的優點非常重要。


接著透過具體設計範例,介紹典型的效率分析順序與互動要因的調整方法。具體設計範例共有兩種,分別是「即時影像系統」與「系統設備的網路處理器」,利用這兩個範例,深入探討如何利用記憶體次系統的資料轉送效率評鑑結果,介紹有效削減系統成本、消費電力、開發時間,同時化解互動要因諸多限制的具體手法。


即時影像系統

處理影像串流的即時影像系統,非常重視時間,因此記憶體次系統處理資料時,首要條件必需避免發生嚴重的延遲時間。例如攝影機器攝影的影像,先在攝影機器內部數位化,接著再透過高速連接,當成影像串流傳送至影像處理器,影像處理器根據各影像畫格,分割成封包儲存在記憶體內,在這一連串處理之中,可能包含過濾(Filtering)或是某些擴充演算。


以上述設計範例的系統而言,受到影像處理記憶體頻寬的限制,必需即時支援16的影像串流。影像串流是以1000×1000畫素構成,各畫格(3Mbyte)的彩色資料為24bit,每秒為24畫格,此時各匯流(stream)要求的頻寬會變成72Mbps(3Mbyte×24),為支援16的影像串流,要求1152Mbps的資料轉送速度。


有關系統要件,為防止不明要因造成中斷時影像資料遺失,必需維持0.3秒(345Mbyte)的影像資料,此時標準512Mbyte的記憶體模組,理論上可以充分支援上述要求。


雖然與標籤表單(head table)、服務質量(QoS)資料、時戳(time stamp)有關的處理不會受到限制,然而實際上此系統有許多資料被依序存取,因此必需以20%隨機存取、80%循序存取等流量特徵進行評鑑。利用流量特徵獲得的資料轉送效率,基本控制器的場合大約是30%;內容定址記憶體(CAM)控制器的場合,資料轉送效率介於60%~90%之間,因此接著再考慮這些資料轉送效率,對記憶體系統設計會產哪些影響。使用標準64位元寬/512Mbyte記憶體模組的場合,如表2所示,會面臨複數選擇的困擾。


例如針對系統頻寬,如果使用8 entry的內容定址記憶體(CAM),達成59%的資料轉送效率為前提時,可以獲得比基本控制器大2倍的頻寬。若使用DDR2-400記憶體模組,可以實現1888MByte/s的頻寬(32208MByte/s×59%),如此就能夠充分滿足1152MByte/s的系統要件。


通常記憶體模組速度越低,消費電力與發熱就越少,此外系統的其它部位有可能以低速動作,這些都是選擇記憶體模組時必需檢討的細節。反過來說如果使用高資料轉送效率,而且具備類似內容定址記憶體(CAM)最佳化功能的控制器,理所當然系統整體可以獲得更大優點。


《圖三》
《圖三》
(表三) 各種DDR2記憶體的規格一覽

記憶體種類

循環時間(ns)

I/O匯流時脈頻率(MHz)

模組規格

最大轉送速度(Mb/s)

DDR2-400

10

200

PC2-3200

3200

DDR2-533

7.5

266

PC2-4200

4264

DDR2-667

6

333

PC2-5300

5336

DDR2-800

5

400

PC2-6400

6400

DDR2-1066

3.75

533

PC2-8500

8500


系統設備的網路處理器

有關系統設備網路應用的網路處理器,它除了記憶體次系統的指令資料之外,還需要存取封包資料。此處假設隨機存取與循序存取都是50%,而且占用大部份應用演算的分散/聚集演算法(Scatter/Gather Algorithm),進行隨機存取的情況居多,相較之下封包資料與指令資料,則以進行循序存取的情況居多。


上述應用會一次處理與複數埠有關的作業,因此要求1500Mbps極高的頻寬,此時基本控制器如果進行各50%的隨機存取與循序存取,如此一來資料轉送效率就變成20%,最大頻寬要件則變成7500Mbps(7500Mbps×20%=1500Mbps)。


根據表三可知DDR2-1066記憶體模組,確實可以實現8500Mbps的最大頻寬,如果使用基本控制器,為滿足頻寬要件就必需選擇DDR2-1066記憶體模組。


若是32 entry的內容定址記憶體(CAM),以上述流量特徵的條件而言,理論上可以獲得53%的資料轉送效率,此時記憶體模組若使用具備3200Mbps,最大頻寬的DDR2-400,就可以達成1696Mbps(3200Mbps×53%)的頻寬。


綜合以上討論獲得以下結論,亦即基本控制器要求的高效益模組,與具備類似內容定址記憶體(CAM)最佳化功能的控制器,最後的選用完全取決於記憶體模組的價格差異。假設設計上必需使用高單價記憶體模組的前提,相對的系統整體的成本可能會暴增,價格競爭會非常不利。此外隨著高單價記憶體模組的使用,會產生高消費電力、低可靠性,以及交貨期冗長等弊害,因此以本範例而言,具備最佳化功能的控制器成本上比較有利。


結語

以上介紹選擇控制器時,具有指標性地位的資料轉送率重要性。掌握資料轉送率才能進行系統結構的互動關係分析,與系統最佳化設計。此外以資料轉送率為平台,還可以有效化解成本、消費電力、開發時間、可靠性等錯綜複雜的因果關係。


相關文章
為DDR4記憶體模組連接器選擇合適材料
DRAM封裝發展趨勢
2002年主機板廠商應用趨勢調查問卷分析
comments powered by Disqus
相關討論
  相關新聞
» 豪威集團推出用於存在檢測、人臉辨識和常開功能的超小尺寸感測器
» ST推廣智慧感測器與碳化矽發展 強化於AI與能源應用價值
» ST:AI兩大挑戰在於耗能及部署便利性 兩者直接影響AI普及速度
» 慧榮獲ISO 26262 ASIL B Ready與ASPICE CL2認證 提供車用級安全儲存方案
» 默克完成收購Unity-SC 強化光電產品組合以滿足半導體產業需求


刊登廣告 新聞信箱 讀者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 遠播資訊股份有限公司版權所有 Powered by O3  v3.20.2048.3.145.97.235
地址:台北數位產業園區(digiBlock Taipei) 103台北市大同區承德路三段287-2號A棟204室
電話 (02)2585-5526 #0 轉接至總機 /  E-Mail: webmaster@ctimes.com.tw