TWI744105B - 運用於記憶體系統的多循環寫入均衡程序的處理方法 - Google Patents
運用於記憶體系統的多循環寫入均衡程序的處理方法 Download PDFInfo
- Publication number
- TWI744105B TWI744105B TW109140818A TW109140818A TWI744105B TW I744105 B TWI744105 B TW I744105B TW 109140818 A TW109140818 A TW 109140818A TW 109140818 A TW109140818 A TW 109140818A TW I744105 B TWI744105 B TW I744105B
- Authority
- TW
- Taiwan
- Prior art keywords
- delay time
- data
- signal
- clock
- delay
- Prior art date
Links
Images
Landscapes
- Dram (AREA)
Abstract
本發明為一種運用於記憶體系統的多循環寫入均衡程序的處理方法。於進行寫入均衡程序後,於進行寫入訓練之前,記憶體系統先進行多循環寫入均衡程序。如此,將可確保時脈信號CLK與第一資料選取信號DQS_t傳遞至DDR記憶體時,彼此的信號緣(signal edge)可以對齊(align)並且為正確的信號緣。
Description
本發明是一種記憶體系統的控制方法,且特別是有關於一種運用於記憶體系統的多循環寫入均衡(multi-cycle write leveling)程序的處理方法。
請參照第1圖,其所繪示為習知雙倍資料率(double data rate)記憶體(簡稱DDR記憶體)系統示意圖。DDR記憶體系統100包括一處理電路(processing circuit)110與一DDR記憶體120。
處理電路110與DDR記憶體120之間利用記憶體匯流排(memory bus)122來傳遞各種信號。其中,記憶體匯流排122上的信號至少包括:時脈信號CLK、位址信號CA、指令信號CMD、資料信號DQ、第一資料選取信號DQS_t與第二資料選取信號DQS_c。其中,位址信號CA與指令信號CMD係參考時脈信號CLK來運作,資料信號DQ係參考第一資料選取信號DQS_t與第二資料選取信號DQS_c來運作,且第一資料選取信號DQS_t與第二資料選取信號DQS_c的相位相差180度。
再者,指令信號CMD包括:指令始能信號CS、行位址選取信號CAS、列位址選取信號RAS、寫入致能信號WE。位址信號CA更包括CA0至CA6信號。資料信號DQ更包括DQ0至DQ31信號。
在新世代以及未來世代的DDR記憶體系統100中,係利用源同步不匹配的電路方案(source-synchronous unmatched scheme)來設計DDR記憶體120。此DDR記憶體120可為第4代低功率DDR記憶體(LPDDR4)、第4x代低功率DDR記憶體(LPDDR4x)或者第5代DDR記憶體(LPDDR5)。而利用源同步不匹配的電路方案所設計的DDR記憶體120中,第一資料選取信號DQS_t與資料信號DQ會有不同的延遲時間。
請參照第2圖,其所繪示為習知DDR記憶體的示意圖。DDR記憶體120的接收器(receiver)中包括比較器132與134、延遲電路136與一解串器(deserializer,簡稱DES)138。比較器132的二輸入端分別接收第一資料選取信號DQS_t與第二資料選取信號DQS_c,輸出端產生第三資料選取信號diff_DQS。延遲電路136為資料選取樹(DQS tree),用以延遲第三資料選取信號diff_DQS,並產生第四資料選取信號diff_DQS_d。
比較器134的二輸入端分別接收資料信號DQ與參考電壓Vref,取樣控制端(sampling control terminal)接收第四資料選取信號diff_DQS_d,輸出端產生串列資料(serial data)Data_s。解串器138輸入端接收串列資料Data_s,輸出端產生並列資料(parallel data)Data_p。
在DDR記憶體120的接收器中,延遲電路136可調整第三資料選取信號diff_DQS的延遲時間,並利用第四資料選取信號diff_DQS_d來取樣資料信號DQ,並產生串列資料Data_s。
基本上,於DDR記憶體系統100的初始化(initialization)時,處理電路110需要進行一系列的訓練程序。舉例來說,寫入均衡(write leveling)程序以及寫入訓練(write training)程序。於初始化完成後,DDR記憶體系統100才能夠正常運作。
在DDR記憶體系統100中,處理電路110與DDR記憶體120係固定在電路板(circuit board)上,而記憶體匯流排122的多條佈局線路(layout trace)係設計在電路板上。由於佈局線路的長度不相同,造成處理電路110發出的時脈信號CLK以及第一資料選取信號DQS_t傳遞的時間不相同。因此,DDR記憶體系統100需要進行寫入均衡(write leveling)程序使得時脈信號CLK與第一資料選取信號DQS_t傳遞至DDR記憶體120時,彼此的信號緣(signal edge)可以對齊(align)。
在進行寫入均衡(write leveling)程序時,處理電路110發出時脈信號CLK以及第一資料選取信號DQS_t至DDR記憶體120。接著,處理電路110持續地調整第一資料選取信號DQS_t的延遲時間,亦即調整第一資料選取信號DQS_t與時脈信號CLK之間的相位差。當DDR記憶體120接收到的時脈信號CLK以及第一資料選取信號DQS_t時,會進一步判斷時脈信號CLK以及第一資料選取信號DQS_t的信號緣是否對齊,並利用資料信號DQ回覆處理電路110。
舉例來說,DDR記憶體120在第一資料選取信號DQS_t的上升緣(rising edge)取樣時脈信號CLK,並將取樣結果由資料信號DQ回覆給處理電路110。
於寫入均衡程序時,當初次取樣的結果為低準位,則代表第一資料選取信號DQS_t與時脈信號CLK的信號緣未對齊。此時,DDR記憶體120產生的低準位的資料信號DQ至處理電路110。
再者,處理電路110根據低準位的資料信號DQ,繼續調整第一資料選取信號DQS_t與時脈信號CLK之間的相位差,例如增加第一資料選取信號DQS_t的延遲時間,直到DDR記憶體120取樣的結果為高準位,並產生高準位的資料信號DQ至處理電路110為止。當資料信號DQ為高準位時,處理電路110即記錄當下第一資料選取信號DQS_t與時脈信號CLK之間的特定相位差(specific phase difference),並且完成寫入均衡(write leveling)程序。
另外,當初次取樣的結果為高準位時,處理電路110仍無法確認第一資料選取信號DQS_t與時脈信號CLK的信號緣是否對齊。
此時,處理電路110繼續調整第一資料選取信號DQS_t與時脈信號CLK之間的相位差,例如減少第一資料選取信號DQS_t的延遲時間,直到DDR記憶體120取樣的結果為低準位,並產生低準位的資料信號DQ至處理電路110為止。
接著,處理電路110再增加第一資料選取信號DQS_t的延遲時間,使得DDR記憶體120取樣的結果為高準位,並產生高準位的資料信號DQ至處理電路110。而處理電路110即記錄當下第一資料選取信號DQS_t與時脈信號CLK之間的特定相位差(specific phase difference),並且完成寫入均衡(write leveling)程序。
完成寫入均衡(write leveling)程序之後,處理電路110會輸出具有特定相位差的第一資料選取信號DQS_t與時脈信號CLK,此二信號經過記憶體匯流排122上的佈局線路後,DDR記憶體120即可接收到信號緣彼此對齊的第一資料選取信號DQS_t與時脈信號CLK。
之後,處理電路110可繼續進行寫入訓練(write training)。在寫入訓練程序時,處理電路110會調整第一資料選取信號DQS_t、第二資料選取信號DQS_c與資料信號DQ的相位關係,並且找到一特定區間(specific margin),用以確保DDR記憶體120在特定區間之內皆可成功地利用第一資料選取信號DQS_t與第二資料選取信號DQS_c來栓鎖(latch)資料信號DQ。
然而,在習知DDR記憶體系統100中,當寫入均衡(write leveling)程序完成後,處理電路110僅能夠確定DDR記憶體120接收到信號緣彼此對齊的第一資料選取信號DQS_t與時脈信號CLK,並無法確認是否是正確的信號緣。
舉例來說,記憶體匯流排122中,當時脈信號CLK的佈線長於第一資料選取信號DQS_t的佈線時,時脈信號CLK的傳遞延遲(propagation delay)較長。因此,當寫入均衡(write leveling)程序完成後,時脈信號CLK的脈波可能會慢第一資料選取信號DQS_t的脈波(pulse)一個時脈週期(clock cycle)到達DDR記憶體120。雖然第一資料選取信號DQS_t與時脈信號CLK的信號緣互相對齊,但是在後續的運作中DDR記憶體120將無法由資料信號DQ上正確地獲得處理電路110發出的資料。
同理,記憶體匯流排122中,第一資料選取信號DQS_t的佈線的佈線長於時脈信號CLK時,第一資料選取信號DQS_t的傳遞延遲(propagation delay)較長。因此,當寫入均衡(write leveling)程序完成後,第一資料選取信號DQS_t的脈波可能會慢時脈信號CLK的一個時脈週期(clock cycle)到達DDR記憶體120。雖然第一資料選取信號DQS_t與時脈信號CLK的信號緣互相對齊,但是在後續的運作中DDR記憶體120也無法由資料信號DQ上正確地獲得處理電路110發出的資料。
本發明提出一種多循環寫入均衡程序的處理方法運用於一記憶體系統,該處理方法下列步驟:(a)將一寫入資料寫入一雙倍資料率記憶體,並讀取該寫入資料;(b)判斷寫入的該寫入資料與讀取的該寫入資料是否資料匹配,其中於資料不匹配時,判斷一資料信號的一第一延遲時間是否已經調整至一第一上限;(c)當該第一延遲時間未調整至該第一上限時,增加該資料信號的該第一延遲時間後回到步驟(a);(d)當該第一延遲時間調整至該第一上限時,判斷一第一資料選取信號的一第二延遲時間是否已經調整至一第二上限;(e)當該第二延遲時間未調整至該第二上限時,增加該第一資料選取信號的該第二延遲時間後回到步驟(a);(f)當該第二延遲時間調整至該第二上限時,判斷一位址/指令信號的一第三延遲時間是否已經調整至一第三上限;以及(g)當該第三延遲時間未調整至該第三上限時,增加該位址/指令信號的該第三延遲時間後回到步驟(a)。
為了對本發明之上述及其他方面有更佳的瞭解,下文特舉較佳實施例,並配合所附圖式,作詳細說明如下:
100,300:DDR記憶體系統
110,310:處理電路
120:DDR記憶體
122:記憶體匯流排
132,134:比較器
136:延遲電路
138:解串器
312:記憶體控制器
314:實體層電路
316:記憶體與實體層介面
510:時脈路徑電路
512,522,532,542:整數週期延遲器
514,524,534,544:串化器
516,526,536,546:輸出入電路
518,548:延遲線電路
520:位址/指令路徑電路
530:資料選取路徑電路
540:資料路徑電路
S602~S656,S702~S706:步驟流程
第1圖為習知DDR記憶體系統示意圖。
第2圖為習知DDR記憶體的示意圖。
第3圖為本發明DDR記憶體系統示意圖。
第4A圖至第4C圖為第一資料選取信號DQS_t與時脈信號CLK之信號緣對齊的各種情況。
第5圖為本發明的控制電路。
第6A圖與第6B圖為本發明多循環寫入均衡程序的處理方法。
第7圖為位址/指令信號CA/CMD延遲控制中的處理流程。
請參照第3圖,其所繪示為本發明DDR記憶體系統示意圖。DDR記憶體系統300包括一處理電路310與一DDR記憶體120。
處理電路310中包括一記憶體控制器(memory controller)312與實體層電路(PHY circuit)314。其中,實體層電路314與DDR記憶體120之間利用記憶體匯流排122來傳遞各種信號。再者,記憶體控制器312與實體層電路314之間的介面為記憶體與實體層介面316(DDR PHY Interface,簡稱DFI介面)。其中,記憶體匯流排122上的信號至少包括:時脈信號CLK、位址信號CA、指令信號CMD、資料信號DQ、第一資料選取信號DQS_t與第二資料選取信號DQS_c,且第一資料選取信號DQS_t與第二資料選取信號DQS_c的相位相差180度。其中,位址信號CA與指令信號CMD係參考時脈信號CLK來運作,資料信號DQ係參考第一資料選取信號DQS_t與第二資料選取信號DQS_c來運作。再者,指令信號CMD包括:指令始能信號CS、行位址選取信號CAS、列位址選取信號RAS、寫入致能信號WE。
在DDR記憶體系統300中,由於佈局線路的長度不相同,造成處理電路310發出的時脈信號CLK以及第一資料選取信號DQS_t傳遞的時間不相
同。因此,DDR記憶體系統300需要進行寫入均衡(write leveling)程序使得時脈信號CLK與第一資料選取信號DQS_t傳遞至DDR記憶體120時,彼此的信號緣(signal edge)可以對齊(align)。
於完成寫入均衡(write leveling)程序之後,處理電路310會輸出具有特定相位差的第一資料選取信號DQS_t與時脈信號CLK,此二信號經過記憶體匯流排122上的佈局線路後,DDR記憶體120即可接收到信號緣彼此對齊的第一資料選取信號DQS_t與時脈信號CLK。然而,處理電路310僅能夠確定DDR記憶體120接收到信號緣彼此對齊的第一資料選取信號DQS_t與時脈信號CLK,並無法確認是否是正確的信號緣。
請參照第4A圖至第4C圖,其所繪示為第一資料選取信號DQS_t與時脈信號CLK之信號緣對齊的各種情況。於完成寫入均衡(write leveling)程序之後,處理電路310輸出的時脈信號CLK的上升緣a以及第一資料選取信號DQS_t的上升緣b之間具特定相位差。
如第4A圖所示,在理想狀況下,時脈信號CLK以及第一資料選取信號DQS_t經過記憶體匯流排122上的佈局線路後,DDR記憶體120接收到二信號緣a、b彼此對齊的第一資料選取信號DQS_t與時脈信號CLK。
然而,記憶體匯流排122中,當時脈信號CLK的佈線長於第一資料選取信號DQS_t的佈線時,時脈信號CLK的傳遞延遲(propagation delay)較長。如第4B圖所示,第一資料選取信號DQS_t的信號緣b先傳遞至DDR記憶體120,經過一個時脈週期(clock cycle)後,時脈信號CLK的信號緣a才傳遞至DDR記憶體120。於更糟的情況下,第一資料選取信號DQS_t的信號緣b與時脈信號CLK的信號緣a可能相差超過一個以上的時脈週期。
再者,記憶體匯流排122中,當第一資料選取信號DQS_t的佈線長於時脈信號CLK的佈線時,第一資料選取信號DQS_t的傳遞延遲(propagation delay)較長。如第4C圖所示,時脈信號CLK的信號緣a先傳遞至DDR記憶體120,經過一個時脈週期(clock cycle)後,第一資料選取信號DQS_t的信號緣b才傳遞至DDR記憶體120。於更糟的情況下,時脈信號CLK的信號緣a與第一資料選取信號DQS_t的信號緣b可能相差超過一個以上的時脈週期。
由以上的說明可知,在第4B圖與第4C圖的情況下,雖然第一資料選取信號DQS_t與時脈信號CLK的信號緣互相對齊,但是在後續的運作中DDR記憶體120無法由資料信號DQ上正確地獲得處理電路310發出的資料。
為了解決上述問題,本發明在處理電路310的實體層電路314內部設計了控制電路,並進行多循環寫入均衡(multi-cycle write leveling)程序,以確保DDR記憶體120接收到的時脈信號CLK與第一資料選取信號DQS_t為彼此對齊且正確的信號緣。
請參照第5圖,其所繪示為本發明的控制電路。控制電路設計在實體層電路314內部用以調整時脈信號CLK、位址信號CA、指令信號CMD、資料信號DQ、第一資料選取信號DQS_t、第二資料選取信號DQS_c的延遲時間。控制電路包括:時脈路徑電路(clock path circuit)510、位址/指令路徑電路(address/command path circuit)520、資料選取路徑電路(DQS path circuit)530與資料路徑電路(data path circuit)540。
以資料路徑電路540為例來說明。資料路徑電路540包括整數週期延遲器(cycle based delay circuit)542、延遲線電路(delay line circuit)548、串化器(serializer)544以及輸出入電路(I/O電路)546。
整數週期延遲器542接收內部時脈信號CLKin,並且整數週期延遲器542經由記憶體與實體層介面316接收記憶體控制器312輸出的偶數部分資料(even portion of data)EVENDQ與奇數部分資料(odd portion of data)ODDDQ。根據本發明的實施例,整數週期延遲器542可以選擇性地將偶數部分資料EVENDQ與奇數部分資料ODDDQ延遲0至4個時脈週期,並且產生延遲的偶數部分資料(delayed even portion of data)EdDQ與延遲的奇數部分資料(delayed odd portion of data)OdDQ。再者,延遲線電路548接收內部時脈信號CLKin,並可選擇性地將內部時脈信號CLKin延遲分數個時脈週期,並且產生延遲的內部時脈信號CLKdin。舉例來說,延遲線電路548可將內部時脈信號CLKin延遲N/8個時脈週期,其中N為0至7的整數。
串化器(serializer)544接收延遲的內部時脈信號CLKdin。並且,串化器(serializer)544根據延遲的內部時脈信號CLKdin來取樣(sample)延遲的偶數部分資料EdDQ與延遲的奇數部分資料OdDQ,並且產生資料信號DQ。再者,輸出入電路546接收並輸出資料信號DQ。
由以上的說明可知,在資料路徑電路540中,可以選擇性地控制資料信號DQ的延遲時間,且延遲時間可控制在0個時脈週期至(4+7/8)時脈週期之間。
時脈路徑電路510包括整數週期延遲器512、串化器514與輸出入電路516與延遲線電路518。時脈與指令路徑電路520接收偶數部分時脈(even portion of clock)EVENCLK與奇數部分時脈(odd portion of clock)ODDCLK,並產生時脈信號CLK。其中,時脈信號CLK與內部時脈信號CLKin有相同的頻率。再
者,時脈路徑電路510的結構與運作關係類似於資料路徑電路540,此處不再贅述。
位址/指令路徑電路520包括整數週期延遲器522、串化器524與輸出入電路526。位址/指令路徑電路520接收偶數部分位址/指令(even portion of address/command)EVENCA/CMD與奇數部分位址/指令(odd portion of address/command)ODDCA/CMD,並產生位址/指令信號CA/CMD。再者,位址/指令路徑電路520的結構與運作關係類似於資料路徑電路540,此處不再贅述。由於本發明僅對位址/指令路徑電路520進行整數時脈週期的延遲,所以沒有繪示延遲線電路。在此領域的技術人員也可以在位址/指令路徑電路520中增加延遲線電路。
另外,資料選取路徑電路530包括整數週期延遲器532、串化器534與輸出入電路536。資料選取路徑電路530接收偶數部分資料選取(even portion of DQS)EVENDQS與奇數部分資料選取(odd portion of DQS)ODDDQS,並產生第一資料選取信號DQS_t。當然,第二資料選取信號DQS_c也可以利用類似的電路來產生。再者,資料選取路徑電路530的結構與運作關係類似於資料路徑電路540,此處不再贅述。由於本發明僅對資料選取路徑電路530進行整數時脈週期的延遲,所以沒有繪示延遲線電路。在此領域的技術人員也可以在資料選取路徑電路530中增加延遲線電路。
根據本發明的實施例,利用實體層電路314中的控制電路搭配本發明的多循環寫入均衡(multi-cycle write leveling)程序的處理方法,可以確認時脈信號CLK與第一資料選取信號DQS_t為彼此對齊且正確的信號緣。其中,實體
層電路314中的控制電路可調整時脈信號CLK、位址信號CA、指令信號CMD、資料信號DQ、第一資料選取信號DQS_t、第二資料選取信號DQS_c的延遲時間。
請參照第6A圖與第6B圖,其所繪示為本發明多循環寫入均衡程序的處理方法。基本上,當記憶體系統300完成寫入均衡(write leveling)程序後即可開始進行多循環寫入均衡(multi-cycle write leveling)程序。
首先,處理電路310先後發出寫入指令以及讀取指令,用以將寫入資料儲存至DDR記憶體120,並且再由DDR記憶體120讀取剛剛儲存的寫入資料(步驟S602)。接著,處理電路310判斷資料是否匹配(S604)。
根據本發明的實施例,記憶體系統300係以正常的運作速度來發出寫入指令以及讀取指令。另外,當DDR記憶體120回傳的寫入資料相同於處理電路310輸出的寫入資料時,代表資料匹配。反之,當DDR記憶體120回傳的寫入資料不同於處理電路310輸出的寫入資料時,代表資料不匹配。
當處理電路310確認資料匹配時,即完成多循環寫入均衡程序。反之,當確認資料不匹配時,處理電路310先進行資料信號DQ延遲控制。於進行資料信號DQ延遲控制時,處理電路310先判斷資料信號DQ的延遲時間是否已經調整至上限(步驟S610)。當資料信號DQ的延遲時間尚未調整至上限時,則增加資料信號DQ的延遲時間(步驟S612)後,回到步驟S602。反之,當資料信號DQ的延遲時間已經調整至上限時,則進行第一資料選取信號DQS_t延遲控制。
舉例來說,在資料路徑電路540中,資料信號DQ的延遲時間可控制在0個時脈週期至(4+7/8)個時脈週期之間。因此,搭配整數週期延遲器542與延遲線電路548,可以控制資料信號DQ的延遲時間由小至大,每次增加1/8個時脈週期,直到延遲時間的上限(4+7/8)個時脈週期為止。
再者,於進行第一資料選取信號DQS_t延遲控制之前,處理電路310先將資料信號DQ的延遲時間回復至最小延遲時間。接著,處理電路310判斷第一資料選取信號DQS_t的延遲時間是否已經調整至上限(步驟S620)。當第一資料選取信號DQS_t的延遲時間尚未調整至上限時,則將第一資料選取信號DQS_t的延遲時間增加整數時脈週期(步驟S622)後,回到步驟S602。反之,當第一資料選取信號DQS_t的延遲時間已經調整至上限時,則進行位址/指令信號CA/CMD延遲控制。
舉例來說,在資料選取路徑電路530中,第一資料選取信號DQS_t的延遲時間可控制在0個時脈週期至4個時脈週期之間。因此,整數週期延遲器532可以控制第一資料選取信號DQS_t的延遲時間由小至大,每次增加1個時脈週期,直到延遲時間的上限4個時脈週期為止。
再者,於進行位址/指令信號CA/CMD延遲控制之前,處理電路310先將資料信號DQ的延遲時間與第一資料選取信號DQS_t的延遲時間回復至最小延遲時間。接著,處理電路310判斷位址/指令信號CA/CMD的延遲時間是否已經調整至上限(步驟S630)。當位址/指令信號CA/CMD的延遲時間尚未調整至上限時,則將位址/指令信號CA/CMD的延遲時間增加整數時脈週期(步驟S632)後,回到步驟S602。反之,當位址/指令信號CA/CMD的延遲時間已經調整至上限時,則代表多循環寫入均衡程序失敗。
由於位址/指令信號CA/CMD係參考時脈信號CLK運作。換言之,將位址/指令信號CA/CMD延後一個時脈週期可視為調整時脈信號CLK一個時脈週期。另外,在位址/指令路徑電路520中,位址/指令信號CA/CMD的延遲時間可控制在0個時脈週期至4個時脈週期之間。因此,整數週期延遲器522可以
控制位址/指令信號CA/CMD的延遲時間由小至大,每次增加1個時脈週期,直到延遲時間的上限4個時脈週期為止。
根據本發明的實施例,當處理電路310確認資料匹配後,處理電路310會記錄當下資料信號DQ、位址/指令信號CA/CMD、第一資料選取信號DQS_t與第二資料選取信號DQS_c的延遲時間。之後,處理電路310即可繼續進行寫入訓練(write training)程序。如此,即可確定進行寫入訓練程序時,DDR記憶體120可根據第一資料選取信號DQS_t與第二資料選取信號DQS_c由資料信號DQ上正確地獲得處理電路110發出的資料。
另外,如第6B圖所示,在資料信號DQ延遲控制中的延遲資料信號DQ(步驟S612)中,對資料路徑電路540的詳細控制步驟更包括:利用延遲線電路548將資料信號DQ的延遲時間增加一個分數時脈週期(步驟S652)。例如,一個分數時脈週期為1/8個時脈週期。接著,判斷延遲線電路548是否將延遲時間增加一個時脈週期(步驟S654)。於確認延遲時間增加一個時脈週期時,延遲線電路548停止將延遲時間增加一個時脈週期,並利用週期延遲器542將延遲時間增加一個時脈週期。亦即,延遲線電路548會被重置,使得其控制的延遲時間歸0。
由以上的說明可知,在資料路徑電路540中,搭配整數週期延遲器542與延遲線電路548,即可以控制資料信號DQ的延遲時間由小至大,每次增加1/8個時脈週期,直到延遲時間的上限(4+7/8)個時脈週期為止。
另外,由於位址/指令信號CA/CMD中的一個渠道(channel)中可能包含了二條位元組通道(Byte lanes),例如第0位元組通道(Byte-0 lane)與第1位元組通道(Byte-1 lane)。於進行完多循環寫入均衡(multi-cycle write leveling)程序之
後,可能發生二條位元組通道的延遲時間不同的狀況。此時,需要再進一步的調整記憶體系統中各個信號的延遲時間。
請參照第7圖,其所繪示為位址/指令信號CA/CMD延遲控制中的處理流程。首先,判斷指令/位址信號CA/CMD中二個位元組通道之間的延遲時間差異(步驟S702)。接著,將延遲時間較短的位元組通道之延遲時間再增加該延遲時間差異(步驟S704)。再者,將資料信號DQ與第一資料選取信號DQS_t的延遲時間再增加該延遲時間差異(步驟S706)。
舉例來說,第0位元組通道(Byte-0 lane)的延遲時間為1個時脈週期,第1位元組通道(Byte-1 lane)的延遲時間為2個時脈週期,則二個位元組通道之間的延遲時間差異為1個時脈週期。再者,由於第0位元組通道(Byte-0 lane)的延遲時間較短,因此處理電路310進一步將第0位元組通道(Byte-0 lane)的延遲時間再加上延遲時間差異(亦即,1個時脈週期),使得第0位元組通道(Byte-0 lane)的延遲時間增加為2個時脈週期。接著,處理電路310再將資料信號DQ以及第一資料選取信號DQS_t的延遲時間也再增加延遲時間差異(亦即,1個時脈週期)。如此,將可以確保所有信號的信號緣都是正確的。之後,即可進行寫入訓練程序。
由以上的說明可知,本發明提出一種運用於記憶體系統的多循環寫入均衡程序的處理方法。當記憶體系統進行寫入均衡程序後,於進行寫入訓練之前,先進行本發明的多循環寫入均衡程序。如此,將可確保時脈信號CLK與第一資料選取信號DQS_t傳遞至DDR記憶體120時,彼此的信號緣(signal edge)可以對齊(align)並且為正確的信號緣。
綜上所述,雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S602~S632:步驟流程
Claims (9)
- 一種運用於一記憶體系統的多循環寫入均衡程序的處理方法,該處理方法下列步驟:(a)將一寫入資料寫入一雙倍資料率記憶體,並讀取該寫入資料;(b)判斷寫入的該寫入資料與讀取的該寫入資料是否資料匹配,其中於資料不匹配時,判斷一資料信號的一第一延遲時間是否已經調整至一第一上限;(c)當該第一延遲時間未調整至該第一上限時,增加該資料信號的該第一延遲時間後回到步驟(a);(d)當該第一延遲時間調整至該第一上限時,判斷一第一資料選取信號的一第二延遲時間是否已經調整至一第二上限;(e)當該第二延遲時間未調整至該第二上限時,增加該第一資料選取信號的該第二延遲時間後回到步驟(a);(f)當該第二延遲時間調整至該第二上限時,判斷一位址/指令信號的一第三延遲時間是否已經調整至一第三上限;以及(g)當該第三延遲時間未調整至該第三上限時,增加該位址/指令信號的該第三延遲時間後回到步驟(a)。
- 如請求項1所述的處理方法,其中該記憶體系統先進行一寫入均衡程序後,使得一時脈信號的信號緣與該第一資料選取信號的信號緣互相對齊。
- 如請求項1所述的處理方法,其中當讀取的該寫入資料相同於寫入的該寫入資料時,判斷資料匹配;以及當讀取的該寫入資料不相同於寫入的該寫入資料時,判斷資料不匹配。
- 如請求項1所述的處理方法,其中步驟(c)更包括:將該資料信號的該第一延遲時間增加一分數個時脈週期。
- 如請求項4所述的處理方法,其中該記憶體系統中的一資料路徑電路包括一整數週期延遲器與一延遲線電路,且該步驟(c)更包括下列步驟:利用該延遲線電路將該資料信號的該第一延遲時間增加該分數個時脈週期;判斷該延遲線電路是否將該第一延遲時間增加一個時脈週期;以及於確認該第一延遲時間增加一個時脈週期時,該延遲線電路停止增加該第一延遲時間一個時脈週期,並利用該整數週期器將該第一延遲時間增加一個時脈週期。
- 如請求項1所述的處理方法,其中步驟(e)更包括:將該第一資料選取信號的該第二延遲時間增加一整數個時脈週期。
- 如請求項1所述的處理方法,其中步驟(g)更包括:將該位址/指令信號的該第三延遲時間增加一整數個時脈週期。
- 如請求項1所述的處理方法,其中步驟(b)更包括下列步驟:於資料匹配時,記錄該第一延遲時間、該第二延遲時間與該第三延遲時間,並運用於一寫入訓練程序。
- 如請求項8所述的處理方法,更包括下列步驟:決定該位址/指令信號中,二個位元組通道之間的一延遲時間差異;在該二個位元組通道中,將具有較短延遲時間的位元組通道所對應之延遲時間再增加該延遲時間差異;以及將該資料信號的該第一延遲時間增加該延遲時間差異,並將該第一資料選取信號的該第二延遲時間增加該延遲時間差異。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109140818A TWI744105B (zh) | 2020-11-20 | 2020-11-20 | 運用於記憶體系統的多循環寫入均衡程序的處理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW109140818A TWI744105B (zh) | 2020-11-20 | 2020-11-20 | 運用於記憶體系統的多循環寫入均衡程序的處理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI744105B true TWI744105B (zh) | 2021-10-21 |
TW202221711A TW202221711A (zh) | 2022-06-01 |
Family
ID=80782823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109140818A TWI744105B (zh) | 2020-11-20 | 2020-11-20 | 運用於記憶體系統的多循環寫入均衡程序的處理方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI744105B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7924637B2 (en) * | 2008-03-31 | 2011-04-12 | Advanced Micro Devices, Inc. | Method for training dynamic random access memory (DRAM) controller timing delays |
US9851744B2 (en) * | 2014-12-10 | 2017-12-26 | Advanced Micro Devices, Inc. | Address and control signal training |
US10169262B2 (en) * | 2015-07-14 | 2019-01-01 | Qualcomm Incorporated | Low-power clocking for a high-speed memory interface |
US20190384352A1 (en) * | 2018-01-10 | 2019-12-19 | International Business Machines Corporation | Reducing latency of memory read operations returning data on a read data path across multiple clock boundaries, to a host implementing a high speed serial interface |
US20200293461A1 (en) * | 2015-03-16 | 2020-09-17 | Rambus Inc. | Training and operations with a double buffered memory topology |
-
2020
- 2020-11-20 TW TW109140818A patent/TWI744105B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7924637B2 (en) * | 2008-03-31 | 2011-04-12 | Advanced Micro Devices, Inc. | Method for training dynamic random access memory (DRAM) controller timing delays |
US9851744B2 (en) * | 2014-12-10 | 2017-12-26 | Advanced Micro Devices, Inc. | Address and control signal training |
US20200293461A1 (en) * | 2015-03-16 | 2020-09-17 | Rambus Inc. | Training and operations with a double buffered memory topology |
US10169262B2 (en) * | 2015-07-14 | 2019-01-01 | Qualcomm Incorporated | Low-power clocking for a high-speed memory interface |
US20190384352A1 (en) * | 2018-01-10 | 2019-12-19 | International Business Machines Corporation | Reducing latency of memory read operations returning data on a read data path across multiple clock boundaries, to a host implementing a high speed serial interface |
Also Published As
Publication number | Publication date |
---|---|
TW202221711A (zh) | 2022-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10586585B2 (en) | Double data rate (DDR) memory controller apparatus and method | |
CN111418016B (zh) | 用于存储器装置中的命令路径的改进的计时电路 | |
US11087806B2 (en) | Apparatuses and methods for adjusting delay of command signal path | |
US7385861B1 (en) | Synchronization circuit for DDR IO interface | |
US8913448B2 (en) | Apparatuses and methods for capturing data in a memory | |
EP3249542B1 (en) | Memory module, memory controller and associated control method for read training technique | |
US9601170B1 (en) | Apparatuses and methods for adjusting a delay of a command signal path | |
US7177230B1 (en) | Memory controller and memory system | |
US8938578B2 (en) | Memory device with multi-mode deserializer | |
US8737161B1 (en) | Write-leveling system and method | |
US11146275B2 (en) | Signal generation circuit and a semiconductor apparatus using the signal generation circuit | |
JP5633297B2 (ja) | 受信回路、システム装置及び半導体記憶装置 | |
US20110002180A1 (en) | Circuit for generating data strobe signal and method | |
US8582376B2 (en) | Timing adjustment circuit for a memory interface and method of adjusting timing for memory interface | |
US7411862B2 (en) | Control signal training | |
US11031064B1 (en) | Semiconductor devices | |
TWI744105B (zh) | 運用於記憶體系統的多循環寫入均衡程序的處理方法 | |
US11145343B1 (en) | Method for controlling multi-cycle write leveling process in memory system | |
KR20180050816A (ko) | 반도체 장치 및 이를 포함하는 시스템 | |
CN116386685A (zh) | 半导体器件及其校准方法、装置、存储介质和电子设备 | |
CN114518837B (zh) | 运用于存储器系统的多循环写入均衡程序的处理方法 | |
US11152044B1 (en) | System for performing phase matching operation | |
TWI743538B (zh) | 連接介面電路、記憶體儲存裝置及訊號產生方法 | |
CN114518837A (zh) | 运用于存储器系统的多循环写入均衡程序的处理方法 | |
US11328756B1 (en) | Semiconductor device and semiconductor system performing auto-precharge operation |