DDR2 SDRAM 和嵌入式系統zz

發信人: gdtyy (gdtyy), 信區: Embedded
標  題: DDR2 SDRAM 和嵌入式系統
發信站: 水木社區 (Mon Jun 25 23:34:35 2007), 站內

                                     DDR2 SDRAM 和嵌入式系統
                                    2006/04/08  [email protected]

    隨着計算機技術的普及,越來越多的應用系統嵌入了微處理器芯片,這些隱藏的晶片給
系統帶來了智能特性,計算機也變成了信息處理機。數字化的信息流入處理機,經過數據挖
掘、變換、提取、重新組織等獲得對我們有價值的信息輸出。信息吞吐量是信息處理機的關
鍵指標,而在計算機系統性能上與之對應的就是帶寬。

    影響系統性能的瓶頸按優先級順序排列依次是:總線架構、IO接口、CPU、內存。現代
的系統一般以總線爲中心,獨立於CPU,各部分有自己的局部總線,總線通俗地說就是主板
芯片組。例如:CPU通過前端總線(FSB:Front Side Bus)和北橋連接,通過北橋訪問DDR2內
存;IO接口是信息流入流出的咽喉要道,決定了信息吞吐量的大小。CPU是核心部件,但性
能的發揮依賴於總線架構和IO接口,隨着頻率提升到極限,多核成爲發展趨勢;雖然CPU採
用緩存技術(CACHE)、流水線技術提高了性能,但最根本的提升需要內存和前端總線速度匹
配,減少CPU等待時間。從早期的DRAM、FPM DRAM、EDO DRAM到現在的SDRAM、RDRAM、DDR1
、DDR2,DDR3,內存一路緊追,不斷提高帶寬。

    北橋圖

    本文後面部分將專注於討論內存技術。

    我們希望內存速度快、容量大、成本低、功耗小。一直以來,DRAM架構成爲了計算機存
儲系統設計的工業標準。它的優點就是高密度,只要一個晶體管(開關管)和一個電容就可以
構成一個bit的存儲單元(cell),這樣我們就可以很方便地製造出大容量的內存。雖然封裝
技術和製造工藝不斷提高,但現在主流的內存還在沿用古老的DRAM架構。訪問DRAM需要一定
的週期,多年來,各種不同的基於DRAM架構的改良都試圖減少這個訪問時間。然而,最終的
結果卻是處理器等待內存數據的時間越來越多:-(

    CELL圖

    DRAM(Dynamic Random-Access Memory動態隨機訪問存儲器)
    最初的DRAM存儲單元如圖所示,使用電容存儲0/1數據,由於電容存在泄露電流,所以
電壓不能長期保持,必須週期性地刷新(Refresh),而且這種結構在讀寫bit cell前,應將
bit line預充(precharge)到1/2*VCC電壓。DRAM將地址空間組織成“行 * 列”的矩陣形式
,雖然增加了接口複雜性,但也帶來了2個好處。(1)通過複用地址線,只增加RAS#和CAS#兩
個控制信號線,行列地址就可以分別發送,有效減少了地址線引腳數目;(2)刷新操作只要
讀行(ROW)即可,減少刷新次數。

    FPM DRAM(Fast Page Mode DRAM:快頁內存)
    DRAM每次讀寫都要發送RAS#和CAS#控制信號,RAS#需要預充時間並且RAS#和數據之間有
固定的延遲。FPM DRAM在讀寫同一行的4字節數據(同一頁數據)時只發送1次RAS#,因爲要讀
寫的4個字節的行地址相同但列地址不同,所以它們不必爲了得到一個相同的行地址而去做
重複的工作。這樣的工作模式顯然相對於普通的DRAM模式節省了很多時間,特別是節省了3
次RAS#預充電時間和3個tRAC時間,從而進一步提高了效率。

    EDO DRAM(Extended Data Out DRAM:擴展數據輸出DRAM)
    FPM DRAM是在上一次的數據讀取完畢纔會進行下一個數據的讀取,但EDO DRAM可以在輸
出數據的同時進行下一個列地址選通。如此的設計使得EDO內存的性能比FPM的性能提高了大
約20%-40%。正因爲EDO的速度比FPM快,所以很多EDO DRAM可以運行在66MHz的頻率上,並且
一般標註爲5-2-2-2。

    SDRAM(Synchronous DRAM同步DRAM)
    SDRAM採用了同步控制技術,cell單元的數據存取和時鐘同步,只要知道了訪問開始時
間和數據延遲時間,就可以不借助其他控制信號而準確定位數據。此時SDRAM可以採用流水
線技術進一步提高效率,比如增加bank概念,當一個bank預充電時另一個可以立即被訪問,
減少等待,不過要增加多bank管理邏輯電路。RAS#和CAS#也不必保持很長時間,只要一個時
鍾週期即可,出現位置也可以按需要調整。既然如此,這裏的RAS#、CAS#、WE#等就和DRAM
裏的對應控制信號涵義不一樣了。這裏的RAS#、CAS#、WE#、CS#等已經成爲了SDRAM命令集
中操作碼(OP)的1 bit。SDRAM內部有一個控制狀態機,可以完成複雜的預充、刷新、命令處
理、讀寫等操作。還有一個模式寄存器,存放配置信息,如:CAS延遲、突發類型、突發長
度、運行方式等。SDRAM越來越像個協處理器了,竟然有自己的指令集、寄存器,上電後還
需要初始化,其實,SDRAM就是個小處理器,需要內存控制器才能操作它。用戶只要配置好
參數,SDRAM控制器就會自動控制SDRAM完成預充、刷新、命令處理、讀寫等操作。

    對於內存帶寬的需求是無止境的,如何進一步提高帶寬呢?

    根據內存帶寬計算公式:帶寬 = 位寬 X 頻率 ,可知,提高內存帶寬有兩種途徑:

    (1)增加位寬。4位、8位、16位、32位、64位,位寬越寬,帶寬就越大,當採用雙通道
技術,把兩根64位內存條拼成一個128位接口界面的內存時,可以將帶寬提高一倍。但是,
並行總線存在串擾,自身干擾污染電磁環境,佈線困難,很難提高速度。因而現在正在經歷
“串行化”革命,SATA、PCI Express、XDR、USB等技術的出現就是明證。因爲串行總線速
度快、距離遠、佈線簡單、靈活,所以以後的趨勢傾向於串行化,增加位寬的措施顯然違背
潮流。

    (2)提高頻率。由於cell單元使用電容保存數據,而電容需要充放電時間,理論上存在
頻率上限。一般cell陣列做到的最高頻率是200MHz(Hynix DDR550的cell頻率做到了
275MHz),繼續提高頻率會導致良率下降成本上升,量產並不划算。而且頻率高會造成發熱
量大的問題。

    綜上,兩種途徑都已經達到了極限,除非技術創新,否則無法突破帶寬瓶頸。

    雖然內存發展出很多的類型,但是它們都是基於原始的DRAM單元,實際上,它是一個晶
體管和一個電容的結合體,很簡單但也很高效。有很多嘗試希望丟棄這種陳舊的以晶體管爲
基礎的存儲方式,由此出現了一些新的存儲技術,如MRAM(Magnetoresistive RAM),FRAM
(Ferroelectric RAM)等,但是它們都沒有獲得足夠的成功。目前沒有任何其它內存類型能
夠提供一個和DRAM相似的,結合了容量,價格和速度的解決方案。

    看來,我們給自己製造了一個死鎖,內存單元無法提高頻率,內存總線位寬也不能輕易
增加,而且仍然要使用原始的DRAM架構,我們該何去何從呢?

    DDR2(Double Data Rate 2雙倍數據速率二代)內存就是解決方案。它沒有侷限於帶寬公
式,而是從結構上想辦法,採用4 bit預取技術,使得內存突破了200MHz帶寬限制。基本原
理如圖所示,DDR2 400內存的輸入時鐘爲200M(時鐘頻率),內部cell陣列上的時鐘(核心頻
率)爲100M,但是每次同時訪問4個bnak上的1 bit,這樣數據速率就是400M,用200M時鐘的
上升和下降沿一起傳輸數據,對外就可以達到400M的數據傳輸速率(數據傳輸頻率)。我們可
以描繪一個明顯的場景:數據流慢慢通過寬的管道,然後進入一個狹窄的管道,但是流動的
速度更快。

    4 bit預取圖

    DDR2採用這個“訣竅”使得數據傳輸頻率提高的同時,核心頻率反而降低了。也就是說
引入DDR2,可以讓內存頻率提升回到一個新的起跑線。依此類推,採用8 bit預取就可以實
現DDR3,而DDR2就是採用4 bit預取(DDR爲2bit預取),SDRAM可以算是1 bit預取。

    帶寬大是不是就意味着系統性能高呢?當然不是,除了速度之外,這裏還有一個重要的
參數是延遲(Latency潛伏期),存儲單元不會一直處於可用狀態,它們要進行刷新操作。而
且,即使存儲單元可用,也不可能立即得到數據:這裏還有其它類型的延遲,如設置行和列
的地址,這此延遲都是不能避免的,它們由DRAM單元的本質所決定。

    讓我們看看會有那些延遲,例如內存陣列工作的時鐘組合是2-2-2,如果內存陣列在所
有的方案中以相同的頻率工作,那麼所有的模組都具有同樣的延遲(我是說PC100,DDR200,
DDR2-400)。它們僅僅是帶寬的區別。順便提一下,2-2-2組合的含義是:CAS延遲,RAS到
CAS的延遲和RAS預充電時間。第一個數字是取得列地址的延遲時間,第二個數字是行和列地
址之間的延遲,第三個數字是存儲單元充電時間,預充電實際上是對行數據進行讀操作。

  但實際上,存儲單元不會工作在相同的頻率上,舉例來說PC133就是一個使用非常普遍
的SDRAM,它的DRAM單元工作在133MHz上。因此,DDR200雖然有着比PC133更高的帶寬,但是
它的相應延遲卻更慢(內部陣列的工作頻率僅100MHz),PC133的存儲單元的頻率要比DDR200
存儲單元的頻率高33%。結果就是,DDR266才具有和PC133一樣的延遲上的優勢。

  今天我們也看到類似的情形,DDR200和DDR2-400具有相同的延遲,而後者具有高一倍的
帶寬。實際上,DDR2-400和DDR400具有相同的帶寬,它們都是3.2GB/s,但是,DDR400的存
儲陣列工作頻率是200MHz,而DDR2-400的存儲陣列工作頻率是100MHz,也就是說DDR2-400的
延遲要高於DDR400。

  讓我們來比較一下數字,以DDR400爲例,我們通常設置2或者2.5個時鐘延遲,有時是3
。也就是10到15納秒,對於DDR2-400,來計算一下它的延遲:核心工作在100MHz,具有2個
時鐘延遲,它意味着20ns的延遲,接口部分佔用4個時鐘延遲(不過接口工作的頻率更高),
結果就是DDR2模組的延遲將會是4-4-4個時鐘週期,考慮到這裏使用很低的核心頻率,我們
希望看到未來DDR2-400具有3-3-3的特徵,但是即使如此,DDR2-400也是輸給DDR400的。

  情況看上去有些荒謬,DDR2雖然能提供更大的帶寬,具有潛在的優勢,但是,DDR2初期
的產品在性能上甚至落後於DDR。我們都知道,一樣產品需要有其優勢才能吸引購買者,那
DDR2還有那些優勢呢。

    除了數據傳輸速率快之外,DDR2最吸引人的地方是發熱量低(即功耗低,因爲1.8v電壓低
,核心頻率低)、信號更清晰穩定。這樣,可以構成更大的內存陣列,同時減少耗電。實際
上早期的DDR2 400在速度上和DDR400比沒有什麼優勢,但是它的低工作電壓和更好的驅動信
號可以保證工作的穩定性,DDR2的ODT和OCD使其傳輸信號更加清晰、穩定。這樣系統可以同
時使用更多的內存模組,這對於要求海量內存的服務器很關鍵。隨着CPU前端總線速度的提
升,如INTEL在下一代Prescott中使用FSB 1066MHz時,需要使用DDR533的內存,這時候就應
該是DDR2發揮作用了。DDR2另一個關鍵應用領域是在筆記本電腦中,如今內存已經成爲了筆
記本電腦中的耗電大戶,而且也造成很多熱量。筆記本電腦的用戶都清楚,筆記本中發熱量
最大的三個部位是,CPU、硬盤和內存的安裝位置。使用了DDR2內存之後,無論是發熱量還
是功耗都會大幅降低。

    DDR2採用了多項新技術提高性能,如:FBGA封裝、ODT、OCD、POSTED CAS,下面分別介
紹:

    FBGA封裝
    當頻率高於200MHz時,過長的管腳會產生很高的阻抗和寄生電容,這會影響內存的穩定
性和頻率提升的難度。BGA封裝(Ball Grid Array球柵陣列)可以適應更高的工作頻率,它具
有很低的阻抗和寄生電容,並且具有更小的幾何尺寸,允許更有效的散熱。當然成本也高啦

附:封裝小知識
==============================================
BGA球柵陣列封裝

隨着集成電路技術的發展,對集成電路的封裝要求更加嚴格。這是因爲封裝技術關係到產品
的功能性,當IC的頻率超過100MHz時,傳統封裝方式可能會產生所謂的“CrossTalk”現象
,而且當IC的管腳數大於208 Pin時,傳統的封裝方式有其困難度。因此,除使用QFP封裝方
式外,現今大多數的高腳數芯片(如圖形芯片與芯片組等)皆轉而使用BGA(Ball Grid
Array Package)封裝技術。BGA一出現便成爲CPU、主板上南/北橋芯片等高密度、高性能、
多引腳封裝的最佳選擇。
BGA封裝技術又可詳分爲五大類:
1.PBGA(Plasric BGA)基板:一般爲2-4層有機材料構成的多層板。Intel系列CPU中,
Pentium II、III、IV處理器均採用這種封裝形式。
2.CBGA(CeramicBGA)基板:即陶瓷基板,芯片與基板間的電氣連接通常採用倒裝芯片(
FlipChip,簡稱FC)的安裝方式。Intel系列CPU中,Pentium I、II、Pentium Pro處理器均
採用過這種封裝形式。
3.FCBGA(FilpChipBGA)基板:硬質多層基板。
4.TBGA(TapeBGA)基板:基板爲帶狀軟質的1-2層PCB電路板。
5.CDPBGA(Carity Down PBGA)基板:指封裝中央有方型低陷的芯片區(又稱空腔區)。
BGA封裝具有以下特點:
1.I/O引腳數雖然增多,但引腳之間的距離遠大於QFP封裝方式,提高了成品率。
2.雖然BGA的功耗增加,但由於採用的是可控塌陷芯片法焊接,從而可以改善電熱性能。
3.信號傳輸延遲小,適應頻率大大提高。
4.組裝可用共面焊接,可靠性大大提高。

BGA封裝方式經過十多年的發展已經進入實用化階段。1987年,***西鐵城(Citizen)公司
開始着手研製塑封球柵面陣列封裝的芯片(即BGA)。而後,摩托羅拉、康柏等公司也隨即
加入到開發BGA的行列。1993年,摩托羅拉率先將BGA應用於移動電話。同年,康柏公司也在
工作站、PC電腦上加以應用。直到五六年前,Intel公司在電腦CPU中(即奔騰II、奔騰III
、奔騰IV等),以及芯片組(如i850)中開始使用BGA,這對BGA應用領域擴展發揮了推波助
瀾的作用。目前,BGA已成爲極其熱門的IC封裝技術,其全球市場規模在2000年爲12億塊,
預計2005年市場需求將比2000年有70%以上幅度的增長。

CSP芯片尺寸封裝

隨着全球電子產品個性化、輕巧化的需求蔚爲風潮,封裝技術已進步到CSP(Chip Size
Package)。它減小了芯片封裝外形的尺寸,做到裸芯片尺寸有多大,封裝尺寸就有多大。即
封裝後的IC尺寸邊長不大於芯片的1.2倍,IC面積只比晶粒(Die)大不超過1.4倍。

CSP封裝又可分爲四類:
1.Lead Frame Type(傳統導線架形式),代表廠商有富士通、日立、Rohm、高士達(
Goldstar)等等。
2.Rigid Interposer Type(硬質內插板型),代表廠商有摩托羅拉、索尼、東芝、松下等等

3.Flexible Interposer Type(軟質內插板型),其中最有名的是Tessera公司的microBGA,
CTS的sim-BGA也採用相同的原理。其他代表廠商包括通用電氣(GE)和NEC。
4.Wafer Level Package(晶圓尺寸封裝):有別於傳統的單一芯片封裝方式,WLCSP是將整片
晶圓切割爲一顆顆的單一芯片,它號稱是封裝技術的未來主流,已投入研發的廠商包括FCT
、Aptos、卡西歐、EPIC、富士通、三菱電子等。
CSP封裝具有以下特點:
1.滿足了芯片I/O引腳不斷增加的需要。
2.芯片面積與封裝面積之間的比值很小。
3.極大地縮短延遲時間。
CSP封裝適用於腳數少的IC,如內存條和便攜電子產品。未來則將大量應用在信息家電(IA
)、數字電視(DTV)、電子書(E-Book)、無線網絡WLAN/GigabitEthemet、ADSL/手機
芯片、藍芽(Bluetooth)等新興產品中。
==============================================

    ODT(On Die Terminator內建終結電阻)
    高頻信號在信號線的終點並不會消失,而是反射回來,和有用信號疊加在一起,使信號
失真。通過在電路終點使用終結電阻可以減少信號反射,保證信號的完整性。阻值較大線路
的信噪比較高但是信號反射較爲嚴重,阻值小的可以減少信號反射但是會造成信噪比下降。
如果在主板上提供終結電阻,由於不同的內存模組對終結電阻的要求是不一樣的,終結電阻
的大小決定了數據線的信噪比和反射率,這個阻值太大或者太小都不好,因此主板上的終結
電阻並不能非常好的匹配內存模組(主板挑內存現象),還會在一定程度上影響信號品質。
DDR2內建了終結電阻器,在DRAM顆粒工作時把終結電阻器關掉,而對於不工作的DRAM顆粒則
打開終結電阻,減少信號的反射。ODT至少爲DDR2帶來了兩個好處:一個是去掉了主板上的
終結電阻器使主板的成本降低,也使PCB板的設計更加容易;第二個好處是終結電阻器可以
和內存顆粒的"特性"相符,使DRAM處於最佳狀態。

    ODT圖

    OCD(Off-Chip Driver離線驅動調整)
    DDR2通過OCD校準可以提高信號的完整性。在OCD校準中,通過I/O驅動電阻設置來調整
電壓,等效於使其上拉(pull-up)/下拉(pull-down)的電阻值相等。也就是pull-up =
pull-down。使用OCD通過減少DQ-DQS的傾斜來提高信號的完整性;通過控制電壓來提高信號
品質。

    OCD圖

    posted CAS
    PostCAS,它是爲了提高DDR2內存的利用效率而設定的。在PostCAS操作中,CAS信號(讀
寫/命令)能夠被插到RAS信號後面的一個時鐘週期,CAS命令可以在附加延遲(Additive
Latency)後面保持有效。原來的tRCD(RAS到CAS的延遲)被AL(Additive Latency)所取代,
AL可以在0,1,2,3,4中進行設置。從上圖的時序可以看出,PostCAS和Additive
Latency的好處。由於CAS信號放在了RAS信號後面一個時鐘週期,因此ACT和CAS信號永遠也
不會產生碰撞衝突。

    在上圖正常的操作中,此時的各項內存參數爲:tRRD=2,tRCD=4,CL=4,AL=0,
BL=4(BL就是突發數據長度,Burst Length)。我們看到tRRD(RAS到RAS的延遲)爲兩個時鐘
週期,tRCD(RAS到CAS的延遲)是四個時鐘週期,因此在第四個時鐘週期上面ACT(段激活)
和CAS信號產生了碰撞,ACT向後移動一個時鐘週期,因此大家可以看到後面的數據傳輸中間
出現了一個時鐘週期的BUBBLE。

    再來看看PostCAS的操作,此時的各項內存參數是:tRRD=2,tRCD=4,CL=4,AL=3,
BL=4。RAS被設在ACT信號後的一個時鐘週期上,因此CAS和ACT不會產生衝突,tRCD被AL所取
代(實際上大家可以想象到tRCD並沒有減小,只是在概念上的轉變,CAS向後一個時鐘週期,
但是AL要比tRCD短,通過調整可以取消信號命令的碰撞),在附加延遲過程中DRAM保持讀命
令。由於這種設計,ACT和CAS不會再有碰撞,內存讀取時序中也沒有BUBBLE出現。

    使用PostCAS加Additive Latency會帶來三個好處:
    1、可以很容易的取消掉命令總線上的Collision(碰撞)現象;
    2、提高了命令和數據總線的效率;
    3、沒有了Bubble,可以提高實際的內存帶寬。

    PostCAS圖

                   DDR I 與 DDR II 對比表
---------------------------------------------------------------------
                          DDR I                 DDR II
---------------------------------------------------------------------
內核頻率            100/133/166/200MHz     100/133/166MHz
時鐘頻率            100/133/166/200MHz     200/266/333MHz
數據傳輸率          200/266/333/400MBPS    400/533/667MBPS
工作電壓            2.5V                   1.8V
針腳數              184Pin                 200Pin、220Pin、240Pin
封裝技術            TSOP-II/CSP            CSP(FBGA)封裝
最大功率            418毫瓦                318毫瓦
預取設計            2Bit                   4Bit
突發長度            2/4/8                  4/8
數據選通            DQS                    差分DQS/DQS#
L-BANK數量          最多4個                最多8個
CL值                1.5、2、2.5、3         3、4、5
AL值                無                     0、1、2、3、4
WL值                1T                     RL - 1   (RL = AL + CL)
接口標準            SSTL_2                 SSTL_18
系統最高P-BANK數量  8                      4
新增特性            -                      OCD、ODT、POSTED CAS
---------------------------------------------------------------------

    綜上所述,內存一直朝着高帶寬、大容量、低功耗、低成本的方向發展,但是基礎仍然
是古老的DRAM架構,各種改良創新,工藝、封裝技術的進步,爲其注入了勃勃生機。

    預計,內存電壓將從5v,3.3v(SDRAM),2.5v(DDR1),1.8v(DDR2),1.5v(DDR3)一路走
低。爲迎合市場口味,DDR1將以256MB容量導入市場,DDR2將以110nm製程,512MB容量切入
市場,後期發展90nm(1G-2G),65nm(4G),DDR3將以70nm製程1GB容量進入。由於內存至少要
維持2-3年主流地位才能收回投資,因此儘管JEDEC(電子設備工程聯合委員會)規範要求
DDR2到800M爲止,但廠商可能將規格延伸至1066M,以延長DDR2主流地位。這樣,DDR2將有
400、533、667和高端的800、1066幾個規格可選。DDR3的範圍爲800-1600M。預計2006年
DDR2成爲主流,2009年被DDR3取代主流地位。

    雖然,目前嵌入式系統並不迫切需要提高內存速度,但現在的趨勢是DDR2將取代SDRAM
成爲主流,SDRAM的產量將逐步減少並淡出市場,考慮一下DDR2總不會有什麼壞處。後面會
繼續討論DDR2控制器ip設計、DDR2佈線技巧、源同步時鐘模式、內存顆粒和內存條。

參考資料
《High speed Digital Design》  Johnson & Graham
http://www.xilinx-china.com/products/design_resources/mem_corner/index.htm
http://www.fpga.com.cn/freeip.htm
hynix DDR2數據手冊
網上文章,搜“DDR”
--

※ 來源:·水木社區 http://newsmth.net·[FROM: 61.149.56.*]

發佈了29 篇原創文章 · 獲贊 6 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章