TW201539441A - 使用埠對埠回送提供動態隨機存取記憶體(dram)系統的記憶體訓練及相關方法、系統及裝置 - Google Patents
使用埠對埠回送提供動態隨機存取記憶體(dram)系統的記憶體訓練及相關方法、系統及裝置 Download PDFInfo
- Publication number
- TW201539441A TW201539441A TW104100416A TW104100416A TW201539441A TW 201539441 A TW201539441 A TW 201539441A TW 104100416 A TW104100416 A TW 104100416A TW 104100416 A TW104100416 A TW 104100416A TW 201539441 A TW201539441 A TW 201539441A
- Authority
- TW
- Taiwan
- Prior art keywords
- training
- dram
- port
- soc
- signal
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/022—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
Landscapes
- Memory System (AREA)
- Dram (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明揭示使用埠對埠回送提供動態隨機存取記憶體(DRAM)系統的記憶體訓練及相關方法、系統及裝置。在一個態樣中,將一DRAM系統內之一第一埠經由一回送連接而耦接至一第二埠。將一訓練信號自一系統單晶片(SoC)發送至該第一埠,且經由該回送連接而傳遞至該第二埠。接著將該訓練信號傳回至該SoC,其中可由該SoC之一封閉迴路訓練引擎檢查該訓練信號。可記錄對應於一硬體參數之一訓練結果,且可重複該程序直至在該封閉迴路訓練引擎處達成用於該硬體參數之一最佳結果為止。藉由使用一埠對埠回送組態,可較快速地且以較低開機記憶體使用量訓練關於與該DRAM系統相關聯之時序、功率及其他參數的DRAM系統參數。
Description
本申請案主張2014年1月24日申請且名為「用於訓練記憶體之系統及方法(SYSTEMS AND METHODS FOR TRAINING MEMORY)」之美國臨時專利申請案第61/930,980號的優先權,該臨時專利申請案之全文係以引用方式併入本文中。
本發明之技術大體上係關於記憶體系統。
計算系統依賴於記憶體以用於儲存及操作兩者。由計算系統用於操作的一種常見類型之記憶體為隨機存取記憶體(random access memory,RAM)。RAM具有兩種相異類型一靜態RAM(SRAM),及動態RAM(DRAM)。DRAM依賴於記憶體陣列中之電容器上的電荷之存在或不存在以指示位元值。舉例而言,若電容器帶電,則位元值被認為是邏輯一(1)。若電容器不帶電,則位元值被認為是邏輯零(0)。因為電容器緩慢地失去電荷,所以應用週期性再新。當電力終止時,所有電容器放電,且記憶體失去存在於DRAM中之任何資料。
製造程序之變化可引起產生不完美DRAM之變化,此在於DRAM模組中並非每一元件皆可按預期而工作。然而,當提供關於此等變化之知識時,計算系統可容易地補償該等變化。舉例而言,計算系統可產生較大或較小電壓以使電容器充電,可提供針對潛時之補償,或可甚至避免用以寫入至完全有缺陷位元格(bit cell)或自完全有缺陷位元格讀取之任何嘗試。然而,在計算系統可採取此等矯正步驟之前,計算系統需要判定哪些DRAM記憶體陣列元件(例如,個別位元格)可操作,及哪些特殊風格(idiosyncrasy)可與特定DRAM記憶體陣列元件相關聯及/或與用於與DRAM記憶體陣列元件通信之路徑相關聯。因此,作為非限制性實例,計算系統可進行訓練操作以針對時序及效能來最佳化對DRAM記憶體陣列元件之連結。
習知訓練方法依賴於DRAM記憶體陣列元件之串列測試。舉例而言,在習知寫入測試中,起始對DRAM記憶體陣列元件之寫入命令,將資料寫入至DRAM記憶體陣列元件,且接著自DRAM記憶體陣列元件讀取資料。訓練狀態機(或軟體)可接著比較寫入資料與讀取資料,且判定是否修改(例如,遞增或遞減)正被訓練之參數。雖然有效,但此程序可需要實質的開機記憶體(boot memory)進行實施,且可歸因於必須在可進行比較之前發出的DRAM記憶體存取寫入命令及讀取命令而耗時。此外,在可判定最終最佳值之前可將比較步驟反覆許多次。因此,可需要一種用以訓練記憶體之改良型技術。
本文所揭示之態樣實現使用埠對埠回送提供動態隨機存取記憶體(DRAM)系統的記憶體訓練。亦揭示相關方法、系統及裝置。在一例示性態樣中,將一DRAM系統內之一第一埠經由一回送連接而耦接至一第二埠。將一訓練信號自一系統單晶片(System-on-Chip,SoC)發送至該第一埠,且經由該回送連接而傳遞至該第二埠,而無需寫入至
該DRAM系統之一記憶體陣列或自該DRAM系統之一記憶體陣列讀取。接著將該訓練信號傳回至該SoC,其中可由該SoC之一封閉迴路訓練引擎檢查該訓練信號。可記錄對應於一硬體參數之一訓練結果,且可重複該程序直至在該封閉迴路訓練引擎處達成用於該硬體參數之一最佳結果為止。藉由使用一埠對埠回送組態,可較快速地且以較低開機記憶體使用量訓練關於與該DRAM系統相關聯之時序、功率及其他參數的DRAM系統參數。
在另一態樣中,提供一種用於提供用於一DRAM系統之記憶體訓練之方法。該方法包含由一DRAM系統之一第一埠自一SoC接收一訓練信號。該方法進一步包含由該DRAM系統之該第一埠將該訓練信號經由一回送連接而提供至該DRAM系統之一第二埠。該方法亦包含由該DRAM系統之該第二埠將該訓練信號提供至該SoC。
在另一態樣中,提供一種用於提供用於一DRAM系統之記憶體訓練之系統。該系統包含以通信方式耦接至一DRAM系統之一SoC。該DRAM系統包含經由一回送連接而以通信方式耦接之一第一埠及一第二埠。該DRAM系統經組態以由該DRAM系統之該第一埠自該SoC接收一訓練信號。該DRAM系統經進一步組態以由該DRAM系統之該第一埠將該訓練信號經由該回送連接而提供至該DRAM系統之該第二埠。該DRAM系統亦經組態以由該DRAM系統之該第二埠將該訓練信號提供至該SoC。
在另一態樣中,提供一種包含一DRAM系統之裝置。該DRAM系統經組態以由一DRAM系統之一第一埠自一SoC接收一訓練信號。該DRAM系統經進一步組態以由該DRAM系統之該第一埠將該訓練信號經由一回送連接而提供至一第二埠。該DRAM系統亦經組態以由該DRAM系統之該第二埠將該訓練信號提供至該SoC。
100‧‧‧動態隨機存取記憶體(DRAM)系統
102‧‧‧系統單晶片(SoC)
104(0)‧‧‧埠
104(1)‧‧‧埠
104(2)‧‧‧埠
104(X)‧‧‧埠
106(0)‧‧‧埠
106(1)‧‧‧埠
106(2)‧‧‧埠
106(X)‧‧‧埠
112‧‧‧命令及時脈(CA/CK)元件
114‧‧‧命令及時脈(CA/CK)元件
116‧‧‧記憶體陣列
200‧‧‧設置命令
202‧‧‧寫入命令
204‧‧‧讀取命令
206‧‧‧讀回
208‧‧‧訓練遞增/遞減
300‧‧‧系統單晶片(SoC)
302‧‧‧動態隨機存取記憶體(DRAM)系統
304(0)‧‧‧埠
304(1)‧‧‧埠
304(2)‧‧‧埠
304(X)‧‧‧埠
307‧‧‧封閉迴路訓練引擎
308(0)‧‧‧埠
308(1)‧‧‧埠
308(2)‧‧‧埠
308(X)‧‧‧埠
310‧‧‧記憶體陣列
312(0)‧‧‧回送連接
312(1)‧‧‧回送連接
314‧‧‧訓練信號
400(0)‧‧‧埠
400(1)‧‧‧埠
402‧‧‧系統單晶片(SoC)
406(0)‧‧‧埠
406(1)‧‧‧埠
408‧‧‧動態隨機存取記憶體(DRAM)系統
410(0)‧‧‧多工器
410(1)‧‧‧多工器
412‧‧‧封閉迴路訓練引擎
414‧‧‧記憶體陣列
500‧‧‧區塊
502‧‧‧區塊
504‧‧‧區塊
506‧‧‧區塊
508‧‧‧區塊
510‧‧‧區塊
512‧‧‧區塊
514‧‧‧區塊
516‧‧‧區塊
600‧‧‧基於處理器之系統
602‧‧‧中央處理單元(CPU)
604‧‧‧處理器
606‧‧‧快取記憶體
608‧‧‧系統匯流排
610‧‧‧記憶體系統
612‧‧‧輸入器件
614‧‧‧輸出器件
616‧‧‧網路介面器件
618‧‧‧顯示控制器
620‧‧‧網路
622‧‧‧記憶體控制器
624(0)‧‧‧記憶體單元
624(N)‧‧‧記憶體單元
626‧‧‧顯示器
628‧‧‧視訊處理器
圖1為以通信方式耦接至系統單晶片(SoC)之習知動態隨機存取記憶體(DRAM)系統的方塊圖,如此項技術中所知;圖2為與圖1之DRAM系統及SoC相關聯之例示性訓練程序的簡化流程圖;圖3為本文所揭示的使用埠對埠回送連接提供記憶體訓練之例示性SoC及DRAM系統的方塊圖;圖4為圖3之SoC及DRAM系統之例示性實施的詳細電路圖;圖5為說明用於使用埠對埠回送連接提供記憶體訓練之例示性操作的流程圖;及圖6為例示性基於處理器之系統的方塊圖,該基於處理器之系統可包括用於使用埠對埠回送連接提供記憶體訓練的圖3及圖4之SoC及/或DRAM系統。
現在參看圖式,描述本發明之若干例示性態樣。詞語「例示性」在本文中用以意謂「充當實例、例子或說明」。在本文中被描述為「例示性」之任何態樣未必被認作比其他態樣較佳或有利。
本文所揭示之態樣實現使用埠對埠回送提供動態隨機存取記憶體(DRAM)系統的記憶體訓練。亦揭示相關方法、系統及裝置。在一例示性態樣中,將一DRAM系統內之一第一埠經由一回送連接而耦接至一第二埠。將一訓練信號自一系統單晶片(SoC)發送至該第一埠,且經由該回送連接而傳遞至該第二埠,而無需寫入至該DRAM系統之一記憶體陣列或自該DRAM系統之一記憶體陣列讀取。接著將該訓練信號傳回至該SoC,其中可由該SoC之一封閉迴路訓練引擎檢查該訓練信號。可記錄對應於一硬體參數之一訓練結果,且可重複該程序直至在該封閉迴路訓練引擎處達成用於該硬體參數之一最佳結果為止。藉由使用一埠對埠回送組態,可較快速地且以較低開機記憶體使用量
訓練關於與該DRAM系統相關聯之時序、功率及其他參數的DRAM系統參數。
在處理本文所揭示的用於使用埠對埠回送提供DRAM系統的記憶體訓練之方法、系統及裝置的例示性態樣之前,參看圖1及圖2來提供習知訓練技術之簡要評論。下文參看圖3來開始與用於使用埠對埠回送來訓練DRAM系統之方法、系統及裝置相關聯之例示性硬體及操作的論述。
就此而言,圖1為用於以通信方式耦接至SoC 102之DRAM系統100之習知訓練方案的方塊圖,如此項技術中所知。如所說明,SoC 102提供埠104(0)至104(X),該等埠中之每一者耦接至由DRAM系統100提供之對應埠106(0)至106(X)。如本文所使用,「埠」係指可使用接收器(例如,DRAM系統100)處之共同選通或時脈(未圖示)而重新計時的自計時單元(self-timed unit)。在一些態樣中,埠104(0)至104(X)及埠106(0)至106(X)中之每一者經組態以一次傳送特定數目個資訊位元。作為一非限制性實例,埠104(0)至104(X)及埠106(0)至106(X)可經組態以一次傳送八(8)個資訊位元,在此狀況下,埠104(0)至104(X)及埠106(0)至106(X)中之每一者可被稱作「位元組通道(byte lane)」。
SoC 102及DRAM系統100係藉由命令及時脈(「CA/CK」)線108而進一步耦接,該線分別連接CA/CK元件110及112。CA/CK線108可用以在SoC 102與DRAM系統100之間傳達命令及處理器時脈信號。DRAM系統100中之埠106(O)至106(X)以通信方式耦接至DRAM系統100內之記憶體陣列114。在一些態樣中,記憶體陣列114可包含用於指示邏輯值之電容器(未圖示)或其他元件。應理解,如本文所提供之一些態樣可提供較多或較少埠104(0)至104(X)及/或埠106(0)至106(X)。在一些態樣中,SoC 102及/或DRAM系統100可包括為了清楚起見而在圖1中未展示之額外元件。
如上文所提及,歸因於(例如)製造差異或特殊風格,SoC 102可需要在啟動時間判定是否需要在存取DRAM系統100之元件時採取任何校正性或補償性動作。舉例而言,SoC 102可需要判定任何時序或效能問題是否與DRAM系統100之埠106(0)至106(X)或至該系統之通信路徑相關聯。因此,作為非限制性實例,SoC 102可進行訓練操作以最佳化DRAM系統100之埠106(0)至106(X),以最佳化時序及/或效能。
圖2提供與圖1之SoC 102及DRAM系統100相關聯之習知訓練程序的簡化流程圖。為了清楚起見,在描述圖2之操作時參考圖1之元件。本文所描述之訓練程序可用以設定與(例如)由SoC 102用來與DRAM系統100通信之時序及/或電壓相關聯的硬體參數(未圖示)。
在使用自DRAM系統100至SoC 102之讀回的情況下,可將習知訓練程序執行為「偽開放迴路(pseudo open-loop)」程序。如在圖2中所見,可將設置命令(CMD)200自SoC 102傳達至DRAM系統100而到達埠106(0)至106(X)中之選定埠。接著將寫入命令(WRITE CMD)202提供至DRAM系統100以將訓練信號(未圖示)發送至埠106(0)至106(X)中之選定埠。接下來,將讀取命令(READ CMD)204提供至DRAM系統100,且隨著將訓練信號自DRAM系統100之埠106(0)至106(X)中之選定埠讀回至SoC 102而發生讀回206。SoC 102之訓練模組(未圖示)接著評估已自埠106(0)至106(X)中之選定埠讀回的訓練信號。基於該評估,可遞增(INC)或遞減(DEC)(如由訓練遞增/遞減208所指示)或以其他方式修改訓練信號,且反覆該程序直至達成最佳結果為止。可接著基於該最佳結果而針對埠106(0)至106(X)中之選定埠的未來使用來設定用於埠106(0)至106(X)中之選定埠的硬體參數。
雖然由圖1及圖2說明之態樣可提供DRAM系統100之有效訓練,但用於訓練之程序可緩慢,此係因為訓練信號必須由DRAM系統100
接收、寫入至記憶體陣列114,且接著自記憶體陣列114讀取並由DRAM系統100傳輸。此外,因為圖2之訓練程序通常係在SoC 102之啟動期間進行,所以該程序可需要顯著的開機記憶體,此情形可造成軟體招致額外附加項。
就此而言,圖3說明本文所揭示的用於使用埠對埠回送連接提供記憶體訓練之例示性SoC 300及DRAM系統302,因此避免需要在訓練期間存取圖1之DRAM系統100之記憶體陣列114。如在圖3中所見,SoC 300及DRAM系統302提供對應於圖1之SoC 102及DRAM系統100之元件的元件,包括SoC 300之埠304(0)至304(X)以及DRAM系統302之埠306(0)至306(X)及記憶體陣列308。DRAM系統302進一步提供回送連接310(0)至310(1),該等回送連接分別耦接鄰近埠306(0)至306(1)及鄰近埠306(2)至306(X)。SoC 300亦包括封閉迴路訓練引擎312,在一些態樣中,該封閉迴路訓練引擎可將訓練信號314發送至DRAM系統302且評估自DRAM系統302接收之訓練信號314,如下文關於圖5較詳細地所論述。
在一些態樣中,使用圖3之SoC 300及DRAM系統302的訓練包括將訓練信號314發送至DRAM系統302之第一埠(例如,埠306(0))。接著將訓練信號314經由一回送連接(例如,回送連接310(0))而轉送至DRAM系統302之第二埠(例如,埠306(1)),且發送回至SoC 300。接著比較自第二埠306(1)接收之訓練信號314與發送至第一埠306(0)之訓練信號314以用於訓練評估。因為訓練信號314無需寫入至記憶體陣列308,所以與圖2之習知訓練程序相對比,圖3之埠對埠訓練可被認為是「封閉迴路」。在一些態樣中,回送連接310(0)至310(1)可為雙向的。舉例而言,在第一訓練階段中,可將訓練信號314自SoC 300發送至埠306(0)及自埠306(1)接收,而在第二訓練階段中,可將訓練信號314發送至埠306(1)及自埠306(0)接收。
圖4中說明圖3之回送連接310(0)至310(1)之例示性實施。在圖4中,SoC 402之埠400(0)至400(1)連接至DRAM系統406之埠404(0)至404(1)。DRAM系統406之埠404(0)及404(1)中之每一者分別包括多工器408(0)及408(1)。SoC 402之封閉迴路訓練引擎410可將DRAM系統406置於回送模式中,在回送模式中,多工器408(0)至408(1)自鄰近埠404(0)、404(1)選擇資料,而非自DRAM系統406之記憶體陣列412擷取資料。以此方式,SoC 402可經由回送而接收訓練信號(未圖示),而非自記憶體陣列412接收資料。在一例示性態樣中,且如所說明,可針對自埠404(1)至埠404(0)之回送而將多工器408(0)設定至值「1」,且可針對自埠404(0)至埠404(1)之回送而將多工器408(1)設定至值「1」。應理解,在一些態樣中,可在不脫離本發明之範疇的情況下提供其他電路系統以實行回送連接。
圖5為說明用於使用埠對埠回送連接提供記憶體訓練的圖3之SoC 300及DRAM系統302之例示性操作的流程圖。在描述圖5時,為了清楚起見而參考圖3之元件。在圖5中,操作係以SoC 300視情況停用對第一埠306(0)及第二埠306(1)之記憶體操作(未圖示)(區塊500)而開始。SoC 300可接著組態DRAM系統302之第一埠306(0)及第二埠306(1)以經由回送連接310(0)而通信(區塊502)。以此方式,第一埠306(0)及第二埠306(1)可用於訓練,而埠306(2)至306(X)可繼續用於SoC 300與DRAM系統302之間的任務模式通信(mission-mode communication)。
SoC 300可接著遞增或遞減由封閉迴路訓練引擎312提供之訓練信號314(區塊504)。在一些態樣中,訓練信號314可最初表示用於一或多個增量訓練信號314值之範圍的低值或高值。作為非限制性實例,訓練信號314可對應於時序訓練參數或電壓訓練參數中之一或多者。第一埠306(0)接著自SoC 300(例如,封閉迴路訓練引擎312)接收訓練
信號314(區塊506)。第一埠306(0)又將訓練信號314經由回送連接310(0)而提供至第二埠306(1)(區塊508)。第二埠306(1)接著將訓練信號314提供至SoC 300(例如,提供至封閉迴路訓練引擎312)(區塊510)。以此方式,在一些態樣中,封閉迴路訓練引擎312可在量測DRAM系統302效能之屬性的同時經由回送而傳輸訓練信號314。在一些態樣中,訓練信號314可由第二埠306(1)接收、經由回送連接310(0)而提供至第一埠306(0),且由第一埠306(0)提供至SoC 300。代替上文所描述之回送路徑或除了上文所描述之回送路徑以外,亦可使用此替代回送路徑。
在自第二埠306(1)接收到訓練信號314後,封閉迴路訓練引擎312隨即可判定對應於訓練信號314之一或多個訓練結果(區塊512)。作為非限制性實例,訓練結果可包含所經過的時脈循環之數目,及/或在由封閉迴路訓練引擎312傳輸及接收訓練信號314期間偵測的錯誤之數目。SoC 300可接著判定是否應進一步遞增或遞減訓練信號314(區塊514)。舉例而言,SoC 300可處於進行「參數掃視(parameter sweep)」之過程中,在該過程中反覆地測試一系列可能訓練信號314。因此,若SoC 300在決策區塊514處判定應進一步遞增或遞減訓練信號314(亦即,參數掃視不完整),則處理返回至區塊504,且該程序針對訓練信號314之遞增或遞減值而重複。以此方式,可將訓練信號314自一初始低值反覆地修改至愈來愈高之值,或反之亦然,且可針對每一訓練信號314來記錄一訓練結果。
然而,若SoC 300在決策區塊514處判定不應進一步遞增或遞減訓練信號314,則SoC 300可基於一或多個訓練結果來判定用於DRAM系統302之硬體參數(區塊516)。在一些態樣中,判定用於DRAM系統302之硬體參數可包括:SoC 300識別為一系列一或多個增量訓練信號中用以傳回時序例外狀況或錯誤訊息之第一增量訓練信號(亦即,第一
失敗增量訓練信號)的訓練信號314。SoC 300可進一步識別為一系列一或多個增量訓練信號中用以傳回時序例外狀況或錯誤訊息之最後增量訓練信號(亦即,最後失敗增量訓練信號)的訓練信號314。在一些態樣中,SoC 300可接著基於第一失敗增量訓練信號與最後失敗增量訓練信號之間的中值或中點來判定硬體參數。
應理解,可針對埠306(0)至306(X)之全部或子集來重複上文關於圖5所描述之操作。應進一步理解,在已針對埠306(0)至306(X)中之一者來判定硬體參數(亦即,作為非限制性實例,時序參數或電壓參數)之後,可關於不同硬體參數而針對埠306(0)至306(X)中之該同一者來重複上文所描述之操作。
根據本文所揭示之態樣的使用埠對埠回送提供DRAM系統的記憶體訓練可提供於或整合至任何基於處理器之器件中。在無限制的情況下,實例包括機上盒、娛樂單元、導航器件、通信器件、固定位置資料單元、行動位置資料單元、行動電話、蜂巢式電話、電腦、攜帶型電腦、桌上型電腦、個人數位助理(PDA)、監視器、電腦監視器、電視、調諧器、無線電、衛星無線電、音樂播放器、數位音樂播放器、攜帶型音樂播放器、數位視訊播放器、視訊播放器、數位視訊光碟(DVD)播放器,及攜帶型數位視訊播放器。
就此而言,圖6說明可提供根據圖3中之態樣之SoC 300及/或DRAM系統302的基於處理器之系統600之實例。在一些態樣中,基於處理器之系統600可包含圖3之SoC 300。在圖6之實例中,基於處理器之系統600包括一或多個中央處理單元(CPU)602,每一CPU包括一或多個處理器604。CPU 602可具有用於快速地存取經暫時儲存之資料的耦接至處理器604之快取記憶體606。CPU 602耦接至系統匯流排608,且可內耦接基於處理器之系統600中包括的器件。眾所周知,CPU 602藉由經由系統匯流排608交換位址、控制及資料資訊而與此
等其他器件通信。
其他器件可連接至系統匯流排608。如圖6所說明,作為實例,此等器件可包括記憶體系統610、一或多個輸入器件612、一或多個輸出器件614、一或多個網路介面器件616,及一或多個顯示控制器618。輸入器件612可包括任何類型之輸入器件,包括但不限於輸入按鍵、開關、語音處理器等等。輸出器件614可包括任何類型之輸出器件,包括但不限於音訊、視訊、其他視覺指示器等等。網路介面器件616可為經組態以允許向及自網路620交換資料之任何器件。網路620可為任何類型之網路,包括但不限於有線或無線網路、私用或公用網路、區域網路(local area network,LAN)、廣泛區域網路(wide local area network,WLAN),或網際網路。網路介面器件616可經組態以支援任何類型之所要通信協定。記憶體系統610可包括記憶體控制器622及一或多個記憶體單元624(0)至624(N)。在一些態樣中,記憶體系統610可包括根據圖3之例示性態樣的DRAM系統302。
CPU 602亦可經組態以經由系統匯流排608而存取顯示控制器618,以控制發送至一或多個顯示器626之資訊。顯示控制器618將資訊經由一或多個視訊處理器628發送至顯示器626以供顯示,該或該等視訊處理器將待顯示之資訊處理成適合於顯示器626之格式。顯示器626可包括任何類型之顯示器,包括但不限於陰極射線管(cathode ray tube,CRT)、液晶顯示器(liquid crystal display,LCD)、電漿顯示器(plasma display)等等。
熟習此項技術者將進一步瞭解,結合本文所揭示之態樣所描述的各種說明性邏輯區塊、模組、電路及演算法可被實施為電子硬體、儲存於記憶體或另一電腦可讀媒體中且由處理器或其他處理器件執行之指令,或此兩者之組合。作為實例,可在任何電路、硬體組件、積體電路(integrated circuit,IC)或IC晶片中使用本文所描述之器件。本
文所揭示之記憶體可為任何類型及大小之記憶體,且可經組態以儲存任何類型之所要資訊。為了清楚地說明此可互換性,上文已大體上在功能性方面描述各種說明性組件、區塊、模組、電路及步驟。如何實施此功能性取決於特定應用、設計選擇,及/或強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用而以不同方式來實施所描述功能性,但此等實施決策不應被解譯為導致脫離本發明之範疇。
可運用經設計成執行本文所描述之功能的處理器、數位信號處理器(Digital Signal Processor,DSP)、特殊應用積體電路(Application Specific Integrated Circuit,ASIC)、場可程式化閘陣列(Field Programmable Gate Array,FPGA)或其他可程式化邏輯器件、離散閘或電晶體邏輯、離散硬體組件或其任何組合來實施或執行結合本文所揭示之態樣所描述的各種說明性邏輯區塊、模組及電路。處理器可為微處理器,但在替代方案中,處理器可為任何習知處理器、控制器、微控制器或狀態機。處理器亦可被實施為計算器件之組合,例如,一DSP與一微處理器之組合、複數個微處理器、結合一DSP核心之一或多個微處理器,或任何其他此類組態。
本文所揭示之態樣可以硬體及指令而體現,該等指令儲存於硬體中,且可駐留於(例如)隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(ROM)、電可程式化ROM(EPROM)、電可抹除可程式化ROM(EEPROM)、暫存器、硬碟、可卸除式磁碟、CD-ROM或此項技術中所知的任何其他形式之電腦可讀媒體中。例示性儲存媒體耦接至處理器,使得處理器可自儲存媒體讀取資訊及將資訊寫入至儲存媒體。在替代方案中,儲存媒體可與處理器成一體式。處理器及儲存媒體可駐留於ASIC中。ASIC可駐留於遠端台中。在替代方案中,處理器及儲存媒體可作為離散組件而駐留於遠端台、基地台或伺服器中。
亦應注意,描述本文中在任何例示性態樣中所描述之操作步驟
以提供實例及論述。可以不同於所說明序列之眾多不同序列執行所描述操作。此外,可實際上在數個不同步驟中執行單一操作步驟中所描述之操作。另外,可組合例示性態樣中所論述之一或多個操作步驟。應理解,對於熟習此項技術者而言將容易地顯而易見,流程圖中所說明之操作步驟可經受眾多不同修改。熟習此項技術者亦將理解,可使用多種不同技術中之任一者來表示資訊及信號。舉例而言,可由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其任何組合來表示可貫穿以上描述而參考之資料、指令、命令、資訊、信號、位元、符號及碼片。
提供本發明之先前描述以使任何熟習此項技術者能夠進行或使用本發明。在不脫離本發明之精神或範疇的情況下,對本發明之各種修改對於熟習此項技術者而言將容易地顯而易見,且本文所定義之一般原理可應用於其他變化。因此,本發明並不意欲限於本文所描述之實例及設計,而應符合與本文所揭示之原理及新穎特徵相一致的最廣泛範疇。
300‧‧‧系統單晶片(SoC)
302‧‧‧動態隨機存取記憶體(DRAM)系統
304(0)‧‧‧埠
304(1)‧‧‧埠
304(2)‧‧‧埠
304(X)‧‧‧埠
307‧‧‧封閉迴路訓練引擎
308(0)‧‧‧埠
308(1)‧‧‧埠
308(2)‧‧‧埠
308(X)‧‧‧埠
310‧‧‧記憶體陣列
312(0)‧‧‧回送連接
312(1)‧‧‧回送連接
314‧‧‧訓練信號
Claims (21)
- 一種用於提供用於一動態隨機存取記憶體(DRAM)系統之記憶體訓練之方法,其包含:由一DRAM系統之一第一埠自一系統單晶片(SoC)接收一訓練信號;由該DRAM系統之該第一埠將該訓練信號經由一回送連接而提供至該DRAM系統之一第二埠;及由該DRAM系統之該第二埠將該訓練信號提供至該SoC。
- 如請求項1之方法,其中該第一埠及該第二埠包含複數個埠之一子集;該方法進一步包含:停用對該第一埠及該第二埠之記憶體操作;及組態該第一埠及該第二埠以經由該回送連接而通信。
- 如請求項1之方法,其中:接收該訓練信號包含自該SoC之一封閉迴路訓練引擎接收該訓練信號;且將該訓練信號提供至該SoC包含將該訓練信號提供至該SoC之該封閉迴路訓練引擎。
- 如請求項3之方法,其中該訓練信號為由該封閉迴路訓練引擎提供之一或多個增量訓練信號中之一者;該方法進一步包含:判定對應於該一或多個增量訓練信號之一或多個訓練結果;及基於該一或多個訓練結果來判定用於該DRAM系統之一硬體參數。
- 如請求項4之方法,其中判定該硬體參數包含判定該一或多個增量訓練信號中之一第一失敗增量訓練信號與該一或多個增量訓練信號中之一最後失敗增量訓練信號之間的一中值。
- 如請求項4之方法,其中判定對應於該一或多個增量訓練信號之該一或多個訓練結果包含進行一參數掃視。
- 如請求項1之方法,其中該訓練信號包含一時序訓練參數及一電壓訓練參數中之一或多者。
- 如請求項1之方法,其中該第一埠及該第二埠在該DRAM系統內鄰近。
- 如請求項1之方法,其中該回送連接為雙向的。
- 如請求項1之方法,其中該第一埠及該第二埠中之每一者包含可操作以選擇該回送連接之一多工器(MUX)。
- 一種用於提供用於一動態隨機存取記憶體(DRAM)系統之記憶體訓練之系統,其包含:以通信方式耦接至一DRAM系統之一系統單晶片(SoC);且該DRAM系統包含經由一回送連接而以通信方式耦接之一第一埠及一第二埠;其中該DRAM系統經組態以:由該DRAM系統之該第一埠自該SoC接收一訓練信號;由該DRAM系統之該第一埠將該訓練信號經由該回送連接而提供至該DRAM系統之該第二埠;及由該DRAM系統之該第二埠將該訓練信號提供至該SoC。
- 如請求項11之系統,其中該SoC係經由包含該第一埠及該第二埠之複數個埠而以通信方式耦接至該DRAM系統;其中該SoC經組態以:停用對該第一埠及該第二埠之記憶體操作;及 組態該第一埠及該第二埠以經由該回送連接而通信。
- 如請求項11之系統,其中該SoC包含一封閉迴路訓練引擎;其中該DRAM系統經進一步組態以:自該SoC之該封閉迴路訓練引擎接收該訓練信號;及將該訓練信號提供至該SoC之該封閉迴路訓練引擎。
- 如請求項13之系統,其中該封閉迴路訓練引擎經組態以:提供包含該訓練信號之一或多個增量訓練信號;判定對應於該一或多個增量訓練信號之一或多個訓練結果;及基於該一或多個訓練結果來判定用於該DRAM系統之一硬體參數。
- 如請求項14之系統,其中該封閉迴路訓練引擎經組態以藉由判定該一或多個增量訓練信號中之一第一失敗增量訓練信號與該一或多個增量訓練信號中之一最後失敗增量訓練信號之間的一中值來判定該硬體參數。
- 如請求項14之系統,其中該封閉迴路訓練引擎經組態以藉由進行一參數掃視來判定對應於該一或多個增量訓練信號之該一或多個訓練結果。
- 如請求項11之系統,其中該DRAM系統經組態以接收包含一時序訓練參數及一電壓訓練參數中之一或多者的該訓練信號。
- 如請求項11之系統,其中該第一埠及該第二埠在該DRAM系統內鄰近。
- 如請求項11之系統,其中該回送連接為雙向的。
- 如請求項11之系統,其中該第一埠及該第二埠中之每一者包含經組態以選擇該回送連接之一多工器(MUX)。
- 一種包含一動態隨機存取記憶體(DRAM)系統之裝置,其經組態 以:由一DRAM系統之一第一埠自一系統單晶片(SoC)接收一訓練信號;由該DRAM系統之該第一埠將該訓練信號經由一回送連接而提供至一第二埠;及由該DRAM系統之該第二埠將該訓練信號提供至該SoC。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201461930980P | 2014-01-24 | 2014-01-24 | |
US61/930,980 | 2014-01-24 | ||
US14/589,145 | 2015-01-05 | ||
US14/589,145 US9767868B2 (en) | 2014-01-24 | 2015-01-05 | Providing memory training of dynamic random access memory (DRAM) systems using port-to-port loopbacks, and related methods, systems, and apparatuses |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201539441A true TW201539441A (zh) | 2015-10-16 |
TWI719933B TWI719933B (zh) | 2021-03-01 |
Family
ID=53679614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104100416A TWI719933B (zh) | 2014-01-24 | 2015-01-07 | 使用埠對埠回送提供動態隨機存取記憶體(dram)系統的記憶體訓練及相關方法、系統及裝置 |
Country Status (8)
Country | Link |
---|---|
US (2) | US9767868B2 (zh) |
EP (2) | EP3097565A1 (zh) |
JP (1) | JP6517221B2 (zh) |
KR (2) | KR20160113150A (zh) |
CN (2) | CN105934796B (zh) |
AR (1) | AR102802A1 (zh) |
TW (1) | TWI719933B (zh) |
WO (1) | WO2015112326A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9767868B2 (en) | 2014-01-24 | 2017-09-19 | Qualcomm Incorporated | Providing memory training of dynamic random access memory (DRAM) systems using port-to-port loopbacks, and related methods, systems, and apparatuses |
US10304547B2 (en) | 2016-10-27 | 2019-05-28 | Samsung Electronics Co., Ltd. | Memory device and clock training method thereof |
CN107861900B (zh) * | 2017-10-24 | 2019-12-31 | 华大半导体有限公司 | 信号选择模块和信号选择系统 |
KR20190096753A (ko) | 2018-02-09 | 2019-08-20 | 삼성전자주식회사 | 클럭 트레이닝을 수행하는 시스템 온 칩 및 이를 포함하는 컴퓨팅 시스템 |
US11659418B2 (en) | 2019-02-19 | 2023-05-23 | Siemens Industry Software Inc. | Radio equipment test device |
CN110941395B (zh) * | 2019-11-15 | 2023-06-16 | 深圳宏芯宇电子股份有限公司 | 动态随机存取存储器、内存管理方法、系统及存储介质 |
KR20210136203A (ko) | 2020-05-06 | 2021-11-17 | 삼성전자주식회사 | 저장 장치 및 그것의 리트레이닝 방법 |
CN116795430A (zh) * | 2023-06-27 | 2023-09-22 | 上海奎芯集成电路设计有限公司 | 存储器训练装置及存储器训练方法 |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6711092B1 (en) * | 2002-04-30 | 2004-03-23 | Virage Logic Corp. | Semiconductor memory with multiple timing loops |
US7234028B2 (en) * | 2002-12-31 | 2007-06-19 | Intel Corporation | Power/performance optimized cache using memory write prevention through write snarfing |
US6845033B2 (en) * | 2003-03-05 | 2005-01-18 | International Business Machines Corporation | Structure and system-on-chip integration of a two-transistor and two-capacitor memory cell for trench technology |
US7184916B2 (en) * | 2003-05-20 | 2007-02-27 | Cray Inc. | Apparatus and method for testing memory cards |
US7337346B2 (en) | 2004-03-04 | 2008-02-26 | Ati Technologies Inc. | Method and apparatus for fine tuning a memory interface |
US6961862B2 (en) | 2004-03-17 | 2005-11-01 | Rambus, Inc. | Drift tracking feedback for communication channels |
US7702874B2 (en) * | 2005-06-22 | 2010-04-20 | Intel Corporation | Memory device identification |
US7603246B2 (en) * | 2006-03-31 | 2009-10-13 | Nvidia Corporation | Data interface calibration |
KR100879560B1 (ko) * | 2006-12-04 | 2009-01-22 | 삼성전자주식회사 | 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템 |
JP2008210487A (ja) * | 2007-02-28 | 2008-09-11 | Fujitsu Ltd | Ddr−sdramインターフェース回路、その試験方法、およびその試験システム |
US7924637B2 (en) * | 2008-03-31 | 2011-04-12 | Advanced Micro Devices, Inc. | Method for training dynamic random access memory (DRAM) controller timing delays |
US8131915B1 (en) * | 2008-04-11 | 2012-03-06 | Marvell Intentional Ltd. | Modifying or overwriting data stored in flash memory |
JP5665263B2 (ja) | 2008-05-30 | 2015-02-04 | ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. | 半導体記憶装置、及び該半導体記憶装置のテスト方法 |
US9111645B2 (en) * | 2008-08-08 | 2015-08-18 | Rambus Inc. | Request-command encoding for reduced-data-rate testing |
JP2010079520A (ja) * | 2008-09-25 | 2010-04-08 | Ricoh Co Ltd | メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法 |
KR101532041B1 (ko) * | 2008-11-05 | 2015-06-29 | 삼성전자주식회사 | 모바일 단말기와 이를 이용한 오디오 재생 방법 |
WO2010065290A2 (en) | 2008-12-03 | 2010-06-10 | Rambus Inc. | Memory system with command filtering |
KR20100068670A (ko) * | 2008-12-15 | 2010-06-24 | 삼성전자주식회사 | 채널 스큐 보상 기능을 갖는 인터페이스 회로, 이를 구비한통신 시스템 및 채널 스큐 보상 방법 |
EP2384474B1 (en) * | 2008-12-31 | 2015-08-12 | Rambus Inc. | Active calibration for high-speed memory devices |
US8949520B2 (en) | 2009-01-22 | 2015-02-03 | Rambus Inc. | Maintenance operations in a DRAM |
US8683164B2 (en) * | 2009-02-04 | 2014-03-25 | Micron Technology, Inc. | Stacked-die memory systems and methods for training stacked-die memory systems |
TWI425508B (zh) * | 2009-04-23 | 2014-02-01 | Orise Technology Co Ltd | 具隱藏更新及雙埠能力之sram相容嵌入式dram裝置 |
CN101877242B (zh) * | 2009-04-30 | 2013-03-13 | 旭曜科技股份有限公司 | 具隐藏更新及双端口能力的sram兼容嵌入式dram装置 |
US8386867B2 (en) * | 2009-07-02 | 2013-02-26 | Silicon Image, Inc. | Computer memory test structure |
US8582382B2 (en) * | 2010-03-23 | 2013-11-12 | Mosaid Technologies Incorporated | Memory system having a plurality of serially connected devices |
JP2012194686A (ja) * | 2011-03-15 | 2012-10-11 | Elpida Memory Inc | システム、システムにおける調整装置、およびシステムの制御方法 |
WO2013060361A1 (en) | 2011-10-25 | 2013-05-02 | Advantest (Singapore) Pte. Ltd. | Automatic test equipment |
US9330031B2 (en) * | 2011-12-09 | 2016-05-03 | Nvidia Corporation | System and method for calibration of serial links using a serial-to-parallel loopback |
US20130201316A1 (en) * | 2012-01-09 | 2013-08-08 | May Patents Ltd. | System and method for server based control |
JP5892325B2 (ja) | 2012-02-08 | 2016-03-23 | 横河電機株式会社 | ループバック回路 |
US9256531B2 (en) * | 2012-06-19 | 2016-02-09 | Samsung Electronics Co., Ltd. | Memory system and SoC including linear addresss remapping logic |
US8924786B2 (en) | 2012-06-28 | 2014-12-30 | Intel Corporation | No-touch stress testing of memory I/O interfaces |
US8904248B2 (en) | 2012-07-10 | 2014-12-02 | Apple Inc. | Noise rejection for built-in self-test with loopback |
US9257200B2 (en) * | 2012-07-27 | 2016-02-09 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Bit error testing and training in double data rate (DDR) memory system |
US9767868B2 (en) | 2014-01-24 | 2017-09-19 | Qualcomm Incorporated | Providing memory training of dynamic random access memory (DRAM) systems using port-to-port loopbacks, and related methods, systems, and apparatuses |
US10275386B2 (en) * | 2014-06-27 | 2019-04-30 | Advanced Micro Devices, Inc. | Memory physical layer interface logic for generating dynamic random access memory (DRAM) commands with programmable delays |
-
2015
- 2015-01-05 US US14/589,145 patent/US9767868B2/en active Active
- 2015-01-06 KR KR1020167021605A patent/KR20160113150A/ko not_active Application Discontinuation
- 2015-01-06 CN CN201580005381.5A patent/CN105934796B/zh active Active
- 2015-01-06 EP EP15700821.0A patent/EP3097565A1/en not_active Withdrawn
- 2015-01-06 JP JP2016547060A patent/JP6517221B2/ja active Active
- 2015-01-06 CN CN201910277089.9A patent/CN109872762B/zh active Active
- 2015-01-06 KR KR1020217014511A patent/KR102354764B1/ko active IP Right Grant
- 2015-01-06 EP EP19160881.9A patent/EP3514796B1/en active Active
- 2015-01-06 WO PCT/US2015/010218 patent/WO2015112326A1/en active Application Filing
- 2015-01-07 TW TW104100416A patent/TWI719933B/zh active
- 2015-01-07 AR ARP150100027A patent/AR102802A1/es unknown
-
2017
- 2017-06-14 US US15/622,772 patent/US9947377B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3514796B1 (en) | 2021-04-21 |
EP3514796A3 (en) | 2019-12-04 |
US9947377B2 (en) | 2018-04-17 |
WO2015112326A1 (en) | 2015-07-30 |
CN105934796A (zh) | 2016-09-07 |
KR102354764B1 (ko) | 2022-01-21 |
TWI719933B (zh) | 2021-03-01 |
JP6517221B2 (ja) | 2019-05-22 |
EP3514796A2 (en) | 2019-07-24 |
KR20210059017A (ko) | 2021-05-24 |
AR102802A1 (es) | 2017-03-29 |
EP3097565A1 (en) | 2016-11-30 |
CN109872762A (zh) | 2019-06-11 |
US9767868B2 (en) | 2017-09-19 |
KR20160113150A (ko) | 2016-09-28 |
JP2017504905A (ja) | 2017-02-09 |
CN109872762B (zh) | 2022-11-29 |
CN105934796B (zh) | 2019-04-19 |
US20170278554A1 (en) | 2017-09-28 |
US20150213849A1 (en) | 2015-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI719933B (zh) | 使用埠對埠回送提供動態隨機存取記憶體(dram)系統的記憶體訓練及相關方法、系統及裝置 | |
US12057193B2 (en) | Clock synchronizing method of a multiple clock domain memory device | |
US8472278B2 (en) | Circuits, systems and methods for adjusting clock signals based on measured performance characteristics | |
KR102520152B1 (ko) | 프로세서-기반 시스템들에서의 확장 dram(dynamic random access memory) 버스트 길이들의 제공 | |
US20150263703A1 (en) | Semiconductor devices and semiconductor systems for conducting a training operation | |
US20190304552A1 (en) | Selectively synchronizing flash memory block refreshes based in part upon memory block temperature | |
US10541044B2 (en) | Providing efficient handling of memory array failures in processor-based systems | |
EP2976770B1 (en) | Pre-charging bitlines in a static random access memory (sram) prior to data access for reducing leakage power, and related systems and methods | |
US10614904B2 (en) | Apparatuses and methods for high speed writing test mode for memories | |
CN109949853B (zh) | 涉及在低速操作环境中执行高速测试的半导体设备和系统 | |
US10748641B2 (en) | Byte enable memory built-in self-test (MBIST) algorithm | |
US10156887B2 (en) | Cache memory clock generation circuits for reducing power consumption and read errors in cache memory | |
KR20140137751A (ko) | 반도체장치 및 반도체시스템 | |
KR20190096753A (ko) | 클럭 트레이닝을 수행하는 시스템 온 칩 및 이를 포함하는 컴퓨팅 시스템 | |
Kim et al. | Fully programmable memory BIST for commodity DRAMs | |
US20230342083A1 (en) | Data writing method, test method, writing apparatus, medium, and electronic device | |
TW202309897A (zh) | 存取儲存單元的方法、包括儲存單元的半導體記憶體裝置、以及記憶體系統 | |
JP2004055082A (ja) | 半導体記憶装置の検査方法および半導体記憶装置 | |
US20110239046A1 (en) | Test circuit for input/output array and method and storage device thereof |