梁 駿,張 明
(浙江大學 信息與通信工程研究所,浙江 杭州310027)
責任編輯:許 盈
DDR SDRAM(Double Date Rate Static Random Access Memory,雙速率靜態隨機訪問存儲器,以下簡稱DDR)的最高工作頻率隨著芯片技術進步從第一代的200 Mbit/s傳輸速率飛速發展到第三代的1 600 Mbit/s[1]。封裝寄生電感會給DDR接口帶來很大的SSN(同步開關噪聲),并限制芯片DDR接口的傳輸速率。QPF封裝的管腳金線電感大約有5~10 nH,BGA封裝的寄生電感大約1 nH。當使用QFP封裝時,金線電感會引起極大的SSN效應,并導致DDR的波形異常與數據錯誤[2-3]。這一不利因素限制了機頂盒芯片采用QFP封裝降低芯片成本的可行性。
本文分析了DDR接口的SSN效應,并提出了基于數據重發的DDR控制器的設計以減少DDR接口的SSN效應。本文提出的設計以損失較少的DDR接口數據帶寬為代價,通過數據比特翻轉控制來減少SSN效應。較少的SSN使得低成本的QFP封裝能夠應用于高速的DDR接口中,有助于提高機頂盒芯片的競爭力,并減少對環境的消耗與污染。
DDR接口的SSN效應可以由圖1說明。圖1表示了一對電源地為2個接口驅動器提供電源地回路。QFP封裝主要的寄生效應是電感,如圖1中的L。當DDR接口開始向DDR顆粒寫數據1時,電流通過L和PMOS管,并輸出到PCB傳輸線,引起外部傳輸線電平升高。當輸出信號翻轉為0時電流從外部傳輸線流入芯片,通過驅動器的NMOS管,然后通過L回到電源的地。在信號翻轉過程中,DDR接口的驅動器感受到的電源與地將是一個疊加SSN噪聲的非理想電源與地。這個SSN電壓噪聲引起輸出波形的邊沿發生惡化,信號延時發生抖動,最終導致系統的工作時序減少,數據異常,系統穩定性降低。

圖1 SSN效應
當一對電源地為更多驅動器提供電源地回路時,如果多個驅動器同時輸出,每一份電流都要在電源地的寄生電感上產生感應電壓dV即SSN。這個SSN又反作用于每個驅動器上。由電感的感應電壓計算式可得SSN反比于電流變化時間dt,正比于封裝寄生電感值L與變化電流dI。

式中:n是驅動器的個數。
當同時翻轉的比特增加時,SSN變得更嚴重。以16 bit位寬的DDR顆粒的設計為例,當16 bit數據同時從0翻轉到1時,此時的SSN將在電源上形成最大的電壓變形。如果要減少SSN,可以減小L,減小dI,增加dt,或者減少同時翻轉的驅動器個數n等[4-6]。
圖2是1個電源、1個地為1~8個數據IO提供電源地回路時的SSN的SPICE仿真結果。由圖2可知當1~8 bit共同翻轉時,SSN在電源上產生的電壓波動的峰峰值分別 是160 mV,290 mV,380 mV,460 mV,530 mV,600 mV,660 mV,730 mV。8 bit翻轉時的噪聲幅度是1 bit翻轉時的4.6倍,是4 bit翻轉時的1.6倍。如果減少同時翻轉比特的數量就可以顯著降低SSN。

圖2 SSN仿真波形(截圖)
一個16 bit位寬的2 Gbit存儲容量的DDR3顆粒的功能引腳的定義如表1所示。
DDR顆粒的低8 bit和高8 bit各有1 bit的DM信號作為寫入使能。LDM為低8 bit數據的DM信號,HDM為高8 bit數據的DM信號。當DM為高時對應傳輸的數據不存儲進DDR顆粒。當[HDM,LDM]=00,01,10,11時分別表示不寫入數據,寫入低8 bit數據,寫入高8 bit數據,寫入16 bit數據。當DM為高時,由于對應的數據不寫入DDR顆粒,所以此時對應的數據可以是任意值。

表1 DDR接口
利用DM信號,可以設計基于重傳的DDR控制器。當一次寫傳輸操作中如果因為同時翻轉比特較多導致SSN嚴重時,可將1次寫傳輸分成2次寫傳輸。通過數據復制的方法減少同時翻轉的比特數目。
上文提出的DDR控制器的重傳流程如圖3所示。在系統初始化階段設定最大翻轉比特N。當系統開始運行時對DDR的讀寫操作進行判斷。如果是讀操作,則正常進行讀操作;如果是寫操作,則再對寫數據中的最大翻轉比特M進行計算。
如果最大翻轉比特M沒有超過設定最大翻轉比特N,則按照圖4正常寫傳輸。如果最大翻轉比特M超過設定最大翻轉比特N,則將一次burst 8變換成2次burst 8寫操作。同時按照圖5、圖6方式控制DM信號與數據比特。
經過變換后每一次數據跳變都有8 bit數據不變化,最大同時跳變比特數降低到8,SSN也將相應降低。
上文提出的方法可以減少SSN效應。但是由于數據重傳帶來DDR帶寬的降低。當DDR讀操作和寫操作的比例是1∶1時,極端情況下如果每次寫傳輸都重發一次,則DDR帶寬降低1/3。由于機頂盒芯片在DDR中存儲的數據是電視圖像。圖像數據通常具有極高相關性,高翻轉的數據所占比例不高,需要重發的數據量并不大。




以lena圖為例,統計當以burst8的方式存儲的亮度信息時DDR接口上數據的同時翻轉比特數。1次burst8傳輸將傳送16 byte數據。以每一個像素8 bit計算,一次burst8傳輸將傳送16個相鄰比特的亮度數據。以相鄰2個像素的亮度數據按照比特組合成一個16 bit的傳輸數據。每8個傳輸數據內統計相鄰數據的數據跳變的最大比特數。最后統計最大比特數的概率分布,統計結果見表2。

表2 最大翻轉比特統計分布
統計結果表明burst8寫操作中最大翻轉比特11出現的概率最大。最大翻轉比特大于12時出現的概率快速減小。當DDR讀操作和寫操作的比例是1∶1時,當設定最大翻轉比特為15時,只有0.60%的數據需要重傳,DDR帶寬降低0.30%;當設定最大翻轉比特為14時,由于數據重傳帶來DDR帶寬降低1.46%;當設定最大翻轉比特為12時,由于數據重傳帶來DDR帶寬降低8.00%。結果表明可以用較少的帶寬代價減少SSN的負面影響。
DDR的工作頻率受到多種因素影響。其中DDR接口的SSN效應是重要的因素之一。低成本的QFP封裝在消費類電子芯片中得到了廣泛應用。但是高寄生電感效應限制了采用QFP封裝時的DDR接口速度。
本文利用DDR3標準中的DM管腳功能,提出對高翻轉率的數據進行重發,將比特翻轉率減少,從而得到較少SSN的DDR控制器的設計方法。分析結果表明這個方法能在不改變封裝電感參數的前提下,以較少的DDR接口帶寬為代價有效減少SSN,提高DDR接口的工作頻率與系統的魯棒性。這個方法特別適合應用于低成本的QFP封裝的機頂盒芯片設計。
[1]DDR3 SDRAM standard JESD79-3F[EB/OL].[2012-10-20].http://www.jedec.org/sites/default/files/docs/JESD79-3F.pdf.
[2]SHYH J J,SHUHUA K,JUI T C,et al.Low switching noise and load adaptive output buffer design techniques[J].IEEE SCCS,2001,36(8):1239-1249.
[3]KOH W.Memory device packaging-from leadframe packages to wafer level packages[C]//Proc.6th IEEE CPMT Conf.[S.l.]:IEEE Press,2004:21-24.
[4]TAKAHASHI N,SUMINAGA S,KAGAWA K,et al.Design practices and issues in controlling simultaneous switching noise[C]//Proc.Electron.Packag.Technol.Conf.[S.l.]:IEEE Press,2005:6-10.
[5]STAN M R,BURLESON W P.Bus-invert coding for low-power I/O[J].IEEE Trans.Very Large Scale Integr.Syst.,1995,3(1):49-58.
[6]HSU J,YANG S,GUO W,et al.High-speed parallel interface implementation with low-cost system solution by using signal integrity factorial design[C]//Proc.Electronic Components and Technology Conference(ECTC).[S.l.]:IEEE Press,2010:1900-1905.