專利名稱:應用示波器實現ddr3中數據選通信號同步的方法
技術領域:
本發明涉及計算機領域的內存控制器,尤其是DDR3內存控制器寫操作數據選通信號延時配置方法。
背景技術:
雙倍數據速率2 (DDR2)中,內存模組(Module)上,時鐘信號(Clock)、地址信號 (Address)、命令信號(Command)、控制信號(Controll)米用T型走線方式導致這些信號在傳輸的過程中反射及衰減嚴重,導致了 DDR2的數據傳輸頻率受到限制。在雙倍數據速率 3 (DDR3)中,內存模組上,時鐘信號、地址信號、命令信號、控制信號采用飛越總線(Fly-By Bus)走線方式,以盡量減少這些信號的反射與衰減,讓內存頻率能夠跑的更高。DDR3采用Fly-By Bus走線方式之后,頻率的瓶頸是解決了,可是同時又帶來一個麻煩,那就是同一個通道(Channel)內每個內存芯片接收到時鐘信號、地址信號、命令信號、 控制信號的時間都不一樣,因為Fly-By Bus走線依次經過每個內存芯片,而信號在印制電路板傳輸線(PCB Trace)上面傳輸必然帶來物理延時。舉例說明,在DDR3無緩沖雙列直插模組中,Fly-By Bus走線經過的第一個內存芯片與經過的最后一個內存芯片之間的時鐘信號延時差達到Ins之多。在DDR3中,800MT/s對應的時鐘長度為2. 5ns,1600MT/s對應的時鐘長度為I. 25ns,足可以看出在DDR3中,Fly-By Bus走線經過的第一個內存芯片與經過的最后一個內存芯片之間的延時差不容忽視。寫操作中,內存芯片要求控制器發來的數據選通信號(DQS)的上升沿和控制器發來的時鐘信號(Clock)的上升沿盡量對齊。每個內存芯片接收到時鐘信號的時間點是不一樣的,換句話說,內存控制器需要對各個數據組的寫操作數據選通信號(Write DQS)延時做
單獨配置。內存控制器要保證所有內存芯片都能正常接收控制器發來的數據,每個內存芯片都需滿足DQS上升沿與Clock上升沿之間的相位差(tDQSS)的規范(Spec)。理論上tDQSS 越小越好,即Write DQS與Clock完全對齊。按照固態技術協會(JEDEC)協議的定義,
tDQSS I <l/4Tck, Tck指時鐘周期,即數據選通信號與時鐘信號之間的相位差允許達到25% 的時鐘周期長度。在JEDEC協議中,定義了一種叫做寫水準測量(Write Leveling)的方式,以讓所有內存芯片滿足DQS上升沿與Clock上升沿之間的相位差tDQSS的規范(Spec)。寫水準測量方式的實現步驟如下
1、上電之后,開始內存正常讀寫操作之前,讓內存控制器進入寫水準測量模式;
2、內存控制器往內存芯片發不同相位的DQS,即將WriteDQS的延時值一直從大往小設置,每設置一個延時值,內存控制器對應發出一個DQS ;
3、內存芯片用控制器發過來的DQS去采樣Clock;
4、當采樣到的Clock由O變為I時,從某個數據信號(DQ)反饋值給控制器;
5、控制器收到反饋后,將當前的WriteDQS延時值作為最終值。
該寫水準測量方式需要在內存控制器定義大量的Write Leveling寄存器,并需要大量相應代碼配合完成控制器與內存芯片之間的交互,手段復雜,給實踐應用造成很多不便。專利公開號為CN1855302A的專利申請公開了一種用于DRAM器件的數據選通同步的方法和設備,該申請提供了用于檢測數據選通信號和時鐘信號之間的相位差、并使用所檢測到的相位差來調節信號定時的方法,該方法主要是通過添加相位檢測電路和可調節延遲電路的方式實現數據選通同步。由于該方法是對硬件做出的改進,對技術工藝水平要求較高,同時也增加了產品成本。
發明內容
為了實現合理配置數據組的寫操作數據選通信號延時值,本發明提供了一種應用示波器實現DDR3中數據選通信號同步的方法,該方法采用硬件的測試測量的方法來完成 DDR3內存平臺必須要完成的一個寫操作數據選通信號延時配置過程,其根本原理是通過調試tDQSS的絕對值最小來保證寫操作數據被內存芯片正確接收,本方法可以應用于所有使用確定頻率、確定內存模組或內存芯片的平臺上。本發明方法首先是在確定內存頻率、內存芯片的DDR3中,選取某個數據組的合適點進行測試,得到寫操作數據選通信號延時值寄存器的最小單元值h,再根據h完成所有數據組的寫操作數據選通信號延時值配置,包括如下步驟
(O設數據組的數據選通信號上升沿與時鐘信號上升沿之間的相位差為tDQSS ;取通道內一數據組0,測量數據組O在默認寫操作數據選通信號延時值配置下的tDQSS。;
(2)計算數據組O粗調所需要調整的值的大小,粗調值Ng= I tDQSSO I /t0 ;根據Ng的值對數據組O的寫操作數據選通信號延時值做粗調,即在默認Write DQS延時值基礎上做一個粗略的調整,粗調是以tDQSS絕對值最小為原則,若需要將數據選通信號延時值減小,就將寫操作數據選通信號延時寄存器值減小Ng ;若需要將數據選通信號延時值增加,就將寫操作數據選通信號延時寄存器值增加Ng。(3)測量粗調后數據組O的tDQSS,記為tDQSS。’ ;
(4)計算數據組O微調所需要調整的值的大小,微調值Nf=ItDQSSc/ /t0 ;根據Nf的值對數據組O的寫操作數據選通信號延時值做微調,微調是以tDQSS絕對值最小為原則,若需要將數據選通信號延時值減小,就將寫操作數據選通信號延時寄存器值減小Nf ;若需要將數據選通信號延時值增加,就將寫操作數據選通信號延時寄存器值增加Nf ;由于在粗調 Write DQS延時值之后,因為內存控制器內部的DLL單元通常有一定的精度誤差,導致粗調之后Write DQS和Clock還是不能完全對齊,因此需再做微調;粗調和微調,調整時需要注意調整的方向如果調整前DQS在Clock的左邊,那么調整時應該在調整前Write DQS延時值基礎上增加調整值;如果調整前DQS在Clock的右邊,那么調整時應該在調整前Write DQS延時值基礎上減少調整值;
(5)測量微調后數據組O的tDQSS,記為tDQSS。’,;
(6)根據ItDQSSZ’j與t()的大小關系判斷是否還需要繼續微調,如果ItDQSSj’ <t0, 結束數據組O的調試,將當前寫操作數據選通信號延時值作為數據組O的寫操作數據選通信號延時值的最終值;如果ItDQSSj’ I Htl,回到步驟(4),繼續微調;(7)按照步驟(I)至步驟(6)的方法,完成通道內所有數據組的寫操作數據選通信號延時值配置,得到所有數據組的寫操作數據選通信號延時值的最終值;
(8)將各個數據組的寫操作數據選通信號延時值的最終值寫入相應寄存器,控制相應寫操作時序。本發明方法還提供了寫操作數據選通信號延時值寄存器的最小單元值h的計算方法,即分別測量寫操作數據選通信號延時寄存器值為N和M時的tDQSS,記為tDQSSN和 tDQSSM,其中N和M兩個值之間的差值應大于16 (十進制),若差值越大,計算出來的最小單元值越準確。寫操作數據選通信號延時值寄存器的最小單元值tcHtDQSSM-tDQSS^/lM-Nl。 Write DQS寄存器的最小單元,是指明確Write DQS這個寄存器每調整一個最小單元,Write DQS相應會提前或者延后多少時間。本發明方法中,在測量相位差tDQSS時還應注意,不管是用內存模組的方案還是板載內存芯片的方案,都應將測量點選擇在離內存芯片引腳最近的地方;可以將測量點選擇在內存芯片正背面的對應信號過孔上,如果正背面有其他內存芯片,可以將內存芯片背面的內存芯片拆除之后再測量;如果在內存芯片正背面沒有相應過孔,應該將測試點選擇在離內存芯片引腳最近的PCB表層走線上。測量相位差tDQSS的方法如下
(1)校正示波器及探頭,校正通道與通道之間的相位差;
(2)被測信號包括時鐘正、時鐘負、數據選通信號正、數據選通信號負;在內存模組上, 被測數據組所在的內存芯片的背面,找到被測數據組涉及的數據選通信號及時鐘信號的過孔,將過孔表層的綠油刮除到露出裸銅為止,將示波器的焊入式探頭焊到刮開的過孔上;
(3)用示波器觸發寫操作,并測量出tDQSS。本發明方法不需要使用JEDEC中定義的復雜的Write Leveling方式,不用定義相當數量的Write Leveling寄存器,也不需要大量相應代碼配合完成控制器與內存芯片之間的相互交互,不管整個內存系統有多少個內存通道,所有通道的配置方法相同,且同一個內存通道內的各個數據組的配置方法也相同。本發明方法簡單實用,容易操作,且實現成本較低。一方面是只需要通過示波器在內存芯片端精確測量tDQSS值,另一方面是只需要根據Write DQS延時寄存器最小單元值大小來計算需要調整的單元數量,并根據計算做成相應調整,最終實現合理配置每個數據組的Write DQS的延時值。如果使用內存模組或者內存芯片布局發生變化時,可以采用同樣方法重新針對每個通道重新配置每個數據組的Write DQS延時值就可以了。
圖I是合理配置單個數據組的寫操作數據選通信號延時值的過程框圖。圖2是獲知Write DQS延時寄存器最小單元值的方法示意圖。圖3是使用高帶寬示波器測量tDQSS的測量方法示意圖。圖4是選擇tDQSS測量點的示意圖。圖5是內存時序中tDQSS定義示意圖。
具體實施例方式下面結合附圖和實施例對本發明作進一步詳細說明。
本發明方法中涉及的高帶寬示波器指帶寬4GHz以上的示波器,滿足DDR3頻率范圍要求的示波器。本發明的實施例使用Agilent公司的DSA91304A,測量調試過程中需要保證示波器探頭帶寬4GHz以上。圖I示出了數據組O的詳細配置過程,各個數據組都按照這個流程去完成配置。如圖I所示,本發明方法實現DDR3中寫操作數據選通信號(Write DQS)延時值的合理配置, 實現的過程包括
(1)校正高帶寬示波器及探頭,尤其要注意校正通道與通道之間的相位差(SKEW);
(2)獲知寫操作數據選通信號(WriteDQS)延時寄存器的最小單元值大小tQ ;
(3)測量數據組O在默認寫操作數據選通信號(WriteDQS)延時配置下的tDQSS。;
(4)計算數據組O粗調所需要調整的值大小,粗調值Ng=I tDQSS01 /t0 ;
(5)針對寫操作數據選通信號(WriteDQS)延時做粗調,以tDQSS絕對值為原則,如果需要將數據選通信號(DQS)延時減小,就將寫操作數據選通信號(Write DQS)延時寄存器值減小Ng ;如果需要將數據選通信號(DQS)延時增加,就將寫操作數據選通信號(Write DQS) 延時寄存器值增加Ng ;
(6)測量粗調后數據組O的tDQSS,記為tDQSS。’;
(7)計算數據組O微調所需要調整的值大小,微調值Nf=I tDQSSM I /t0 ;
(8)針對寫操作數據選通信號(WriteDQS)延時做微調,以tDQSS絕對值為原則,如果需要將數據選通信號(DQS)延時減小,就將寫操作數據選通信號(Write DQS)延時寄存器值減小Nf ;如果需要將數據選通信號(DQS)延時增加,就將寫操作數據選通信號(Write DQS) 延時寄存器值增加Nf ;粗調和微調,調整時需要注意調整的方向如果調整前DQS在Clock 的左邊,那么調整時應該在調整前Write DQS延時值基礎上增加調整值;如果調整前DQS在 Clock的右邊,那么調整時應該在調整前Write DQS延時值基礎上減少調整值;
(9)測量微調后數據組O的tDQSS,記為tDQSS。’,;
(10)判斷是否還需要繼續微調,判斷條件為ItDQSSj’j與t()的大小關系若 tDQSS0,’ I <t0,結束數據組O的調試,將當前Write DQS延時值作為數據組O的Write DQS
延時最終值;若ItDQSSj’ I Htl,回到步驟(7),繼續微調;
(11)按照步驟(3)到步驟(10)的方法完成通道內所有數據組的WriteDQS延時配置, 得到所有數據組(數據組(Γ數據組7)的Write DQS延時最終值;
(12)將各個數據組的WriteDQS延時最終值寫入相應寄存器,控制相應寫操作時序。如圖2所示,獲知寫操作數據選通信號(Write DQS)延時寄存器的最小單元值,需要在某個數據組基礎上進行測量,數據組的選擇對最小單元值沒有影響,計算結果是一樣的。原理上,通過變大或者變小Write DQS延時寄存器之后,測量變化之前和變化之后的 tDQSS值就能很快算出Write DQS延時寄存器的最小單元值,具體方法步驟如下
Cl)寫操作數據選通信號(Write DQS)延時寄存器值設為N,測量此時的tDQSSN ;
(2)寫操作數據選通信號(WriteDQS)延時寄存器值設為M,測量此時的tDQSSM ;
(3)計算最小單元,t0=|tDQSSM-tDQSSN|/|M-N。獲知Write DQS延時寄存器最小單元值的過程中,需要注意N和M兩個值之間的差值應大于16 (十進制),因為差值越大,計算出來的最小單元值會越準確。圖3示出了使用高帶寬示波器測量tDQSS的測量方法。如圖3所示,測量tDQSS的方法步驟如下
(1)先校正示波器及探頭,尤其要注意校正通道與通道之間的相位差;
(2)在內存模組上,被測數據組所在的內存芯片的背面,找到被測數據組涉及的數據選通(DQS)信號及時鐘信號(Clock)的過孔,將過孔表層的綠油刮除到露出裸銅為止,將示波器的焊入式探頭焊到刮開的過孔上。(3)用示波器觸發寫操作,并測量出tDQSS。測量tDQSS,在選擇測量點時,被測信號包括時鐘正(CLK)、時鐘負(CLKn)、數據選通信號正(DQS)、數據選通信號負(DQSn)。選擇合適測量點位置,不管是用內存模組的方案還是板載內存芯片的方案,都將測量點選擇在離內存芯片引腳最近的地方。本方法將測量點選擇在內存芯片正背面的對應信號過孔上,如果正背面有其他內存芯片,可以將內存芯片背面的內存芯片拆除之后再測量;如果在內存芯片正背面沒有相應過孔,應該將測試點選擇在離內存芯片引腳最近的PCB表層走線上。圖4是tDQSS測量點選擇的示意圖。如圖4所示,小方框I標識的是DQS的測試點,小方框2標識的是Clock的測試點。因為內存芯片所在的PCB上,過孔在打孔時通常會就近打孔,這很利于測量tDQSS信號,因為反射相對小,也較易焊接。圖5示出了內存時序中tDQSS定義。如圖5所示,tDQSS在固態技術協會(JEDEC) 中的定義為DQS, DQS# rising edge to CK, CK# rising edge,即內存寫操作中內存控制器(Controller)發出的數據選通信號與時鐘信號之間的相位差值。DDR3中要保證每個內存芯片都能正常穩定接收到內存控制器發過來的數據,必須要保證tDQSS的絕對值小于
0.25Tck, Tck為時鐘周期。理想情況下就是讓每個內存芯片接收到的控制器發出來的數據選通信號與控制器發出來的時鐘信號完全對齊,即tDQSS絕對值越小越好。圖中示出的是數據選通信號在時鐘信號之后到達內存芯片的狀況,還有一種狀況是數據選通信號在時鐘信號之前到達內存芯片。本發明方法中,應用的根本原理就是通過調試tDQSS的絕對值最小來保證寫操作數據被內存芯片正確接收。
8
權利要求
1.一種應用示波器實現DDR3中數據選通信號同步的方法,其特征在于,在確定內存頻率、內存芯片的DDR3中,選取某個數據組的合適點進行測試,得到寫操作數據選通信號延時值寄存器的最小單元值,記為h ;根據這個最小單元值h,完成所有數據組的寫操作數據選通信號延時值配置,包括如下步驟(O設數據組的數據選通信號上升沿與時鐘信號上升沿之間的相位差為tDQSS ;取通道內一數據組0,測量數據組O在默認寫操作數據選通信號延時值配置下的tDQSS。;(2)計算數據組O粗調所需要調整的值的大小,粗調值Ng=I tDQSS01 /t0 ;根據Ng的值對數據組O的寫操作數據選通信號延時值做粗調;(3)測量粗調后數據組O的tDQSS,記為tDQSS。’;(4)計算數據組O微調所需要調整的值的大小,微調值Nf=ItDQSSc/ /t0 ;根據Nf的值對數據組O的寫操作數據選通信號延時值做微調;(5)測量微調后數據組O的tDQSS,記為tDQSS。’’ ;(6)根據ItDQSSZ’j與t()的大小關系判斷是否還需要繼續微調,如果ItDQSSj’ <t0, 結束數據組O的調試,將當前寫操作數據選通信號延時值作為數據組O的寫操作數據選通信號延時值的最終值;如果ItDQSSj’ I Htl,回到步驟(4),繼續微調;(7)按照步驟(I)至步驟(6)的方法,完成通道內所有數據組的寫操作數據選通信號延時值配置,得到所有數據組的寫操作數據選通信號延時值的最終值;(8)將各個數據組的寫操作數據選通信號延時值的最終值寫入相應寄存器,控制相應寫操作時序。
2.根據權利要求I所述的應用示波器實現DDR3中數據選通信號同步的方法,其特征是所述寫操作數據選通信號延時值寄存器的最小單元值h的計算方法是分別測量寫操作數據選通信號延時寄存器值為N和M時的tDQSS,記為tDQSSN和tDQSSM,則寫操作數據選通信號延時值寄存器的最小單元值VI tDQSSM-tDQSSN I / IM-N |。
3.根據權利要求2所述的方法,其中N和M兩個值之間的差值應大于十進制數字16。
4.根據權利要求I所述的應用示波器實現DDR3中數據選通信號同步的方法,其特征是,在測量所述相位差tDQSS時,應該將測量點選擇在離內存芯片引腳最近的地方。
5.根據權利要求4所述的方法,其中所述測量點應選擇在內存芯片正背面的對應信號過孔上,若內存芯片正背面沒有相應過孔,應將測量點選擇在離內存芯片引腳最近的電路板PCB表層走線上。
6.根據權利要求I到5中任意一項所述的方法,其特征是,所述tDQSS的測量步驟如下(1)校正示波器及探頭,校正通道與通道之間的相位差;(2)被測信號包括時鐘正、時鐘負、數據選通信號正、數據選通信號負;在內存模組上, 被測數據組所在的內存芯片的背面,找到被測數據組涉及的數據選通信號及時鐘信號的過孔,將過孔表層的綠油刮除到露出裸銅為止,將示波器的焊入式探頭焊到刮開的過孔上;(3)用示波器觸發寫操作,并測量出tDQSS。
7.根據權利要求I所述的應用示波器實現DDR3中數據選通信號同步的方法,其特征是,所述對數據組O的寫操作數據選通信號延時值做粗調,是以tDQSS絕對值最小為原則, 若需要將數據選通信號延時值減小,就將寫操作數據選通信號延時寄存器值減小Ng ;若需要將數據選通信號延時值增加,就將寫操作數據選通信號延時寄存器值增加Ng。
8.根據權利要求I所述的應用示波器實現DDR3中數據選通信號同步的方法,其特征是,所述對數據組O的寫操作數據選通信號延時值做微調,是以tDQSS絕對值最小為原則, 若需要將數據選通信號延時值減小,就將寫操作數據選通信號延時寄存器值減小Nf ;若需要將數據選通信號延時值增加,就將寫操作數據選通信號延時寄存器值增加Nf。
9.根據權利要求I所述的應用示波器實現DDR3中數據選通信號同步的方法,其特征是,所述粗調和微調,調整時需要注意調整的方向若調整前數據選通信號在時鐘信號的左邊,調整時應該在調整前的寫操作數據選通信號延時值基礎上增加調整值;若調整前數據選通信號在時鐘信號的右邊,調整時應該在調整前的寫操作數據選通信號延時值基礎上減少調整值。
全文摘要
本發明公開了一種應用示波器實現DDR3中數據選通信號同步的方法,以實現合理配置數據組的寫操作數據選通信號延時值。本方法首先通過高帶寬示波器觀測每個內存芯片端,得出默認寫操作數據選通信號(Write DQS)延時值設置下,數據選通信號(DQS)與時鐘信號(Clock)間的相位差(fDQSS);再結合Write DQS延時值寄存器的最小單元值對Write DQS延時值做粗調和微調,若微調后的延時值滿足要求,則將當前Write DQS延時值作為該Write DQS延時值的最終值。本方法可以簡單方便地對Write DQS延時值進行合理配置。
文檔編號G11C7/22GK102610268SQ20121000530
公開日2012年7月25日 申請日期2012年1月10日 優先權日2012年1月10日
發明者吳少剛, 周國強, 張斌, 張福新 申請人:江蘇中科夢蘭電子科技有限公司