TWI781169B - 雙倍資料速率同步動態隨機存取記憶體(ddr sdram)資料選通信號校準 - Google Patents
雙倍資料速率同步動態隨機存取記憶體(ddr sdram)資料選通信號校準 Download PDFInfo
- Publication number
- TWI781169B TWI781169B TW107114658A TW107114658A TWI781169B TW I781169 B TWI781169 B TW I781169B TW 107114658 A TW107114658 A TW 107114658A TW 107114658 A TW107114658 A TW 107114658A TW I781169 B TWI781169 B TW I781169B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- memory
- data signal
- driver circuit
- sdram
- Prior art date
Links
- 230000001360 synchronised effect Effects 0.000 title claims description 11
- 230000015654 memory Effects 0.000 claims abstract description 203
- 238000012360 testing method Methods 0.000 claims abstract description 103
- 238000000034 method Methods 0.000 claims description 52
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 14
- 230000004044 response Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 6
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 230000007423 decrease Effects 0.000 claims description 2
- 230000003111 delayed effect Effects 0.000 abstract description 8
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 7
- 238000005070 sampling Methods 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 230000002411 adverse Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 230000000630 rising effect Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000001747 exhibiting effect Effects 0.000 description 2
- 230000010363 phase shift Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100498823 Caenorhabditis elegans ddr-2 gene Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12015—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
-
- 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/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing 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
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
-
- 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/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1093—Input synchronization
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2254—Calibration
-
- 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/1201—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising 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/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1084—Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
在設備中對在SDRAM資料選通(「DQS」)信號和資料(「DQ」)信號之間的相位偏移進行校準時,對資料信號驅動器電路阻抗進行調整以在執行系統級(system-level)記憶體測試時損害DQ信號通道上的阻抗匹配。在記憶體測試期間,相位偏移會逐步通過範圍,並針對每個測試決定錯誤計數。記憶體測試可以模擬設備的任務模式操作。在記憶體測試之後,決定與最低錯誤計數相對應的最佳相位偏移。在設備的後續任務模式操作中,DQS信號可以關於DQ信號延遲與最佳相位偏移相對應的值。
Description
本案係關於雙倍資料速率同步動態隨機存取記憶體(「DDR SDRAM」)資料選通信號校準。
諸如桌上型電腦、膝上型電腦或平板電腦、智慧型電話、可攜式數位助理、可攜式遊戲機等的計算設備包括一或多個處理器(諸如中央處理單元、圖形處理單元、數位訊號處理器等)以及一或多個記憶體。為了提升較高傳輸量,此種記憶體可以是能夠進行高速操作的類型,諸如雙倍資料速率同步動態隨機存取記憶體(「DDR SDRAM」)。
同步DRAM或SDRAM利用源同步記憶體介面,其中依賴資料傳送期間的資料來源(「DQ」)信號來提供由資料傳送的目標使用的資料選通(「DQS」)信號,以在資料信號正在資料線(通道)上向目標傳送時來擷取此種資料信號。在DDR SDRAM中,經由DQS信號的上升沿和下降沿二者來將DQ信號取樣(亦即,鎖存)在目標處。
電路佈線的密集走線可能提升相鄰佈線(包括彼等攜帶DQ和DQS信號的佈線)之間的串擾。阻抗不匹配亦可能對DQ和DQS信號產生不利影響,諸如環回(ring-back)雜訊。串擾、環回雜訊和其他不利影響可以引起記憶體系統中的資料錯誤。在其具有最大完整性的時間點處對DQ信號進行取樣促進了低資料錯誤率。
信號完整性可以由所謂的眼圖來特性化。直接、一般的DQ信號取樣技術基於以下假設:DQ信號在眼睛中心處具有最大的信號完整性。相應地,在此種一般技術中,將DQS信號關於DQ信號來延遲,以在其之間提供90度的相位偏移(skew),使得DQ信號在眼睛中心處被取樣。該技術可能無法使資料錯誤最小化,因為諸如環回雜訊之類的影響可能損害眼睛中心處的DQ信號完整性。
更複雜的一般DQ信號取樣技術是基於校準程序的。在校準程序中,DQS和DQ信號之間的相位偏移逐步經由0和180度之間的值的範圍。對於DQS-DQ相位偏移的每個值,將資料寫入DRAM並從DRAM讀回,並對錯誤的數量進行計數。以此種方式,產生了指示在該處錯誤計數最低的DQS-DQ相位偏移值的長條圖。隨後利用該DQS-DQ相位偏移值來對記憶體介面進行設置或程式設計,使得在計算設備的正常或所謂的任務模式操作中,記憶體介面在寫入操作中使用該值。儘管該技術可以
在上述直接的技術之上進行改進,但是諸如串擾之類的影響可能在任務模式操作期間引起資料錯誤。
揭示用於控制對同步動態隨機存取記憶體(「SDRAM」)系統的校準的系統、方法和電腦程式產品。
在一個態樣中,方法可以包括:對資料信號驅動器電路進行調整,以在複數個系統級(system-level)記憶體測試期間損害資料信號通道上的阻抗匹配;及使用記憶體控制器和SDRAM來執行複數個系統級記憶體測試。每個記憶體測試可以與在資料信號通道上的在資料選通訊號和資料信號之間的複數個相位偏移值中的一個相位偏移值相對應。每個記憶體測試可以包括:將針對記憶體控制器的資料選通訊號延遲設置為與複數個相位偏移值中的一個相位偏移值相對應;在資料信號通道上向SDRAM寫入複數個資料字;在資料信號通道上從SDRAM讀取複數個資料字;及決定針對記憶體測試的錯誤計數。錯誤計數指示在從SDRAM讀取的複數個資料字與向SDRAM寫入的複數個資料字之間的資料不匹配錯誤。方法進一步可以包括:在複數個系統級記憶體測試之後,決定與在複數個系統級記憶體測試之中的最低錯誤計數相對應的最佳相位偏移值;及將針對記憶體控制器的資料選通訊號延遲設置為與最佳相位偏移值相對應。
在另一個態樣中,用於對記憶體系統進行校準的系統可以包括:記憶體系統,其包括記憶體控制器和SDRAM。系統進一步可以包括一或多個處理器,其被配置為進行以下操作:對資料信號驅動器電路進行調整,以在複數個系統級記憶體測試期間損害資料信號通道上的阻抗匹配;及執行複數個系統級記憶體測試。每個記憶體測試與在資料信號通道上的在資料選通訊號和資料信號之間的複數個相位偏移值中的一個相位偏移值相對應。一或多個處理器可以被配置為針對每個記憶體測試來進行以下操作:將針對記憶體控制器的資料選通訊號延遲設置為與複數個相位偏移值中的一個相位偏移值相對應;在資料信號通道上向SDRAM寫入複數個資料字;在資料信號通道上從SDRAM讀取複數個資料字;決定針對記憶體測試的錯誤計數。錯誤計數指示在從SDRAM讀取的複數個資料字與向SDRAM寫入的複數個資料字之間的資料不匹配錯誤。一或多個處理器進一步可以被配置為進行以下操作:在複數個系統級記憶體測試之後,決定與在複數個系統級記憶體測試之中的最低錯誤計數相對應的最佳相位偏移值;及將針對記憶體控制器的資料選通訊號延遲設置為與最佳相位偏移值相對應。
在另一個態樣中,一種用於控制記憶體系統校準的電腦程式產品可以包括體現在至少一個非暫態儲存媒體中的處理器可執行邏輯單元。由系統的一或多個處理器對邏輯單元的執行可以將系統組態為進行以下操作:對
資料信號驅動器電路進行調整,以在複數個系統級記憶體測試期間損害資料信號通道上的阻抗匹配;使用記憶體控制器和SDRAM來執行複數個系統級記憶體測試。每個記憶體測試可以與在資料信號通道上的在資料選通訊號和資料信號之間的複數個相位偏移值中的一個相位偏移值相對應。由一或多個處理器對邏輯單元的執行可以將系統組態為針對每個記憶體測試來進行以下操作:將針對記憶體控制器的資料選通訊號延遲設置為與複數個相位偏移值中的一個相位偏移值相對應;在資料信號通道上向SDRAM寫入複數個資料字;在資料信號通道上從SDRAM讀取複數個資料字;及決定針對記憶體測試的錯誤計數。錯誤計數指示在從SDRAM讀取的複數個資料字與向SDRAM寫入的複數個資料字之間的資料不匹配錯誤。由一或多個處理器對邏輯單元的執行可以進一步將系統組態為進行以下操作:在複數個系統級記憶體測試之後,決定與在複數個系統級記憶體測試之中的最低錯誤計數相對應的最佳相位偏移值;及將針對記憶體控制器的資料選通訊號延遲設置為與最佳相位偏移值相對應。
100:可攜式計算設備
102:片上系統
104:中央處理單元
106:圖形處理單元
108:類比信號處理器
110:顯示器控制器
112:觸控式螢幕控制器
114:觸控式螢幕顯示器
116:視訊解碼器
118:視訊放大器
120:視訊連接埠
122:通用串列匯流排(「USB」)控制器
124:USB埠
126:用戶身份模組(SIM)卡
128:快閃記憶體
130:DDR SDRAM
132:記憶體控制器
134:身歷聲音訊轉碼器
136:音訊放大器
138:第一身歷聲揚聲器
140:第二身歷聲揚聲器
142:麥克風放大器
144:麥克風
146:FM無線電調諧器
148:FM天線
150:身歷聲耳機
152:數位相機
154:射頻(「RF」)收發機
156:RF開關
158:天線
160:小鍵盤
162:單聲道頭戴式受話器
164:振動器
166:電源供應
168:功率管理積體電路(「PMIC」)
170A:片上熱感測器
170B:熱感測器
200:處理系統
202:處理器
204:非揮發性啟動記憶體
206:互連
208:校準邏輯單元
209:阻抗邏輯單元
210:相位偏移邏輯單元
212:資料寫入邏輯單元
214:資料讀取邏輯單元
216:錯誤計數邏輯單元
218:SDRAM
220:記憶體控制器
222:應用
302:可調延遲元件
304:匯流排
306:可調阻抗驅動器
400:眼圖
402:DQ信號
404:DQ信號
406:中心
408:開始或轉變
410:DQS信號
412:時間點
502:步驟
504:步驟
506:步驟
508:步驟
510:步驟
512:步驟
514:步驟
516:步驟
518:步驟
600:長條圖
602:點
702:步驟
704:步驟
706:步驟
708:步驟
710:步驟
712:步驟
714:步驟
716:步驟
718:步驟
720:步驟
722:步驟
724:步驟
在附圖中,除非另有說明,否則相似的元件符號在各個圖中代表相似的部分。對於具有字母符號標示的元件符號,例如「102A」或「102B」,字母符號標示可以區分相同附圖中存在的兩個相似的部分或元素。當元
件符號意欲涵蓋所有附圖中具有相同元件符號的所有部分時,可以省略元件符號的字母符號標示。
圖1是根據示例性實施例的可攜式計算設備的方塊圖。
圖2是根據示例性實施例的處理系統的方塊圖。
圖3是根據示例性實施例的處理系統的記憶體系統的方塊圖。
圖4是根據示例性實施例的記憶體系統的資料信號和資料選通訊號的波形時序圖。
圖5是根據示例性實施例圖示的用於記憶體系統校準的方法的流程圖。
圖6是根據示例性實施例的與記憶體測試錯誤計數對在資料信號和資料選通訊號之間的相位偏移值有關的長條圖。
圖7是根據示例性實施例圖示的用於決定損害資料通道上的阻抗匹配的資料信號驅動器阻抗位準的方法的流程圖。
本文中使用的詞語「示例性的」意謂「用作示例、實例或說明」。在本文中被描述為「示例性的」的任何態樣不一定被解釋為優選的或者比其他態樣更有優勢的。
本文中對「SDRAM」或「DDR」記憶體元件的引用將被理解為設想更廣泛類別的同步動態隨機存取記憶體(「SDRAM」)中的任何SDRAM,並且不將本文中揭示的解決方案的範圍限制為特定類型或特定代的SDRAM。此外,本文中揭示的解決方案的某些實施例可以適用於DDR、DDR-2、DDR-3、低功率DDR(「LPDDR」)或任何後續代的SDRAM。
術語「中央處理單元」(「CPU」)、「數位訊號處理器」(「DSP」)和「圖形處理單元」(「GPU」)是可以常駐在PCD中的處理器的非限制性實例。除非另有說明外,否則該等術語在本文中可互換使用。
術語「可攜式計算設備」(「PCD」)在本文中用於描述在有限容量電源(諸如電池)上操作的任何設備。儘管電池操作的PCD已經使用了數十年,但與第三代(「3G」)和第四代(「4G」)無線技術的到來耦合的可再充電電池的技術進步已經使得大量PCD能夠具有多種能力。因此,除了其他的之外,PCD可以是蜂巢式電話或行動電話、衛星電話、傳呼機、個人數位助理(「PDA」)、智慧型電話、導航設備、智慧型電腦或閱讀器、媒體播放機、上述設備的組合、具有無線連接或鏈路的膝上型或手持電腦。
術語「元件」、「資料庫」、「模組」、「系統」等在本文中代表與電腦相關的實體,不論是硬體、韌體、硬體和軟體的組合、軟體,或執行中的軟體。例如,
元件可以是但不限於是執行在處理器上的過程、處理器、物件、可執行程式,執行的執行緒、程式,及/或電腦。經由說明的方式,在計算設備上執行的應用和計算設備皆可以是元件。一或多個元件可以常駐於過程及/或執行的執行緒之內,並且元件可以位於一台電腦上及/或分佈在兩台或更多台電腦之間。此外,該等元件可以從具有儲存在其上的各種資料結構的各種電腦可讀取媒體來執行。元件可以經由本端及/或遠端過程的方式來進行通訊,例如根據具有一或多個資料封包(例如,來自與本端系統、分散式系統及/或跨越諸如網際網路的網路中的另一個元件,經由信號的方式與其他系統進行互動的一個元件的資料)的信號。
術語「應用」或「應用程式」可以用於同義地代表具有可執行內容的軟體實體,諸如目標代碼、腳本、位元組代碼、標記語言檔案、補丁等等。另外,「應用」進一步可以包括本質上不可執行的檔案,諸如資料檔案、設定檔案、文件等。
如圖1所示,在說明性或示例性實施例中,用於記憶體系統校準的系統、方法和電腦程式產品可以體現在PCD 100中。PCD 100包括片上系統(「SoC」)102,亦即,體現在積體電路晶片中的系統。SoC 102可以包括中央處理單元(「CPU」)104、圖形處理單元(「GPU」)106或其他處理器。PCD 102可以包括類比信號處理器108。
顯示器控制器110和觸控式螢幕控制器112可以耦合到CPU 104。在SoC 102外部的觸控式螢幕顯示器114可以耦合到顯示器控制器110和觸控式螢幕控制器112。PCD 102進一步可以包括視訊解碼器116。視訊解碼器116耦合到CPU 104。視訊放大器118可以耦合到視訊解碼器116和觸控式螢幕顯示器114。視訊連接埠120可以耦合到視訊放大器118。通用串列匯流排(「USB」)控制器122亦可以耦合到CPU 104,並且USB埠124可以耦合到USB控制器122。用戶身份模組(SIM)卡126亦可以耦合到CPU 104。
一或多個記憶體可以耦合到CPU 104。一或多個記憶體可以包括揮發性和非揮發性記憶體二者,分別諸如快閃記憶體128和DDR SDRAM 130。在其他實施例中,額外的記憶體(諸如額外的DDR SDRAM)可以包括在SoC 102的外部。耦合到CPU 104的記憶體控制器132控制將資料向DDR SDRAM 130的寫入以及資料從DDR SDRAM 130的讀取。在其他實施例中,此種記憶體控制器可以包括在處理器(諸如CPU 104)內。
身歷聲音訊轉碼器134可以耦合到類比信號處理器108。此外,音訊放大器136可以耦合到身歷聲音訊轉碼器134。第一和第二身歷聲揚聲器138和140可以分別耦合到音訊放大器136。另外,麥克風放大器142亦可以耦合到身歷聲音訊轉碼器134,並且麥克風144可以耦合到麥克風放大器142。頻率調制(「FM」)無線電
調諧器146可以耦合到身歷聲音訊轉碼器134。FM天線148可以耦合到FM無線電調諧器146。此外,身歷聲耳機150可以耦合到身歷聲音訊轉碼器134。可以耦合到CPU 104的其他設備包括數位相機152。
數據機或射頻(「RF」)收發機154可以耦合到類比信號處理器108。RF開關156可以耦合到RF收發機154和天線158。另外,小鍵盤160、具有麥克風的單聲道頭戴式受話器162以及振動器設備164可以耦合到類比信號處理器108。
電源供應166可以經由功率管理積體電路(「PMIC」)168來耦合到SoC 102。電源供應166可以包括可再充電電池或從連接到AC電源的AC到DC變壓器匯出的DC電源供應。
CPU 104亦可以耦合到一或多個內部的、片上熱感測器170A以及一或多個外部的、片外熱感測器170B。熱感測器170A和170B可以產生壓降,使用類比數位轉換器(「ADC」)控制器222將該壓降轉換成數位信號。
觸控式螢幕顯示器114、視訊連接埠120、USB埠124、相機152、第一身歷聲揚聲器138、第二身歷聲揚聲器140、麥克風144、FM天線148、身歷聲耳機150、RF開關156、RF天線172、小鍵盤160、單聲道頭戴式受話器162、振動器164、熱感測器170B、PMIC 168以及電源供應166在該示例性或說明性實施
例中在SoC 102外部。然而,將理解的是:在其他實施例中,該等設備中的一或多個設備可以包括在此種SoC中。
術語「正常操作模式」和「任務模式」在本文中同義地用於代表而除了以下各項之外的設備的任何操作模式:其中設備正在經歷配置、設定、校準、測試、啟動(booting)、通電或斷電,或者類似的暫態操作的模式。例如,在正常操作模式或任務模式下,PCD 100可以執行本領域一般技藝人士認識到的為可攜式計算設備的特性的彼等操作或功能,諸如語音電話、訊息傳遞、電子郵件、視訊和音訊串流或者重播等。此種功能可以與應用相關聯。本文中可以使用術語「訊務(traffic)」來代表與任務模式功能相關聯的產生、發送、接收,或以其他方式傳送或處理的資料。
如圖2所示,在示例性實施例中,處理系統200包括處理器202和非揮發性啟動記憶體204。處理器202和啟動記憶體204可以分別是PCD 100(圖1)的處理器和記憶體。例如,處理器202可以是PCD 100的CPU 104。記憶體204可以是PCD 100的記憶體128,其中可以在非揮發性形式的軟體或韌體中,儲存用於啟動PCD 100的功能(除了其他功能之外)。處理器202和啟動記憶體204可以經由一或多個互連206(諸如匯流排來)彼此以及與其他設備傳送信號。根據一般計算原理,處理器202在軟體或韌體代碼的控制下進行操作,該軟體或韌體
代碼將處理器202配置為執行各種功能或方法,包括本文中描述的記憶體系統校準方法。經由此種代碼,處理器202可以配置有與本文中描述的記憶體系統校準方法有關的校準邏輯單元208。校準邏輯單元208可以包括阻抗邏輯單元209、相位偏移邏輯單元210、資料寫入邏輯單元212、資料讀取邏輯單元214和錯誤計數邏輯單元216。儘管邏輯單元208-216在概念上出於說明的目的圖示為以軟體或韌體的方式儲存或常駐在啟動記憶體204中,但應當理解的是:在處理系統200中經由處理器202的操作,在軟體或韌體的控制下在處理系統200中出現邏輯單元208-216,該軟體或韌體可以儲存在啟動記憶體204或其他記憶體中。在操作中,邏輯單元208-216定義了處理器202的配置。處理器202因此被配置為執行本文中描述的記憶體系統校準方法。儘管為了清楚起見未在圖2中示出,但是除了被配置為執行本文中描述的記憶體系統校準方法之外,處理器202或處理系統200可以被配置為執行一般方法,諸如,例如,作業系統方法、應用程式方法等。應該指出的是:邏輯單元208-216或相關軟體元素與其在其中儲存或常駐的非暫態媒體(例如,啟動記憶體204或其他記憶體)的組合通常定義專利詞彙中稱為的「電腦程式產品」。另外,邏輯單元208-216定義用於執行下述功能的構件。
處理系統200進一步包括SDRAM 218和記憶體控制器220。SDRAM 218可以是,例如,PCD 100
的DDR SDRAM 130(圖1)。記憶體控制器220可以是,例如,PCD 100的記憶體控制器132。SDRAM 218可以是由處理器202在執行應用222時使用的系統記憶體或者主記憶體。如圖2中的虛線箭頭概念性地指示的,本文中描述的記憶體系統校準方法涉及決定在資料選通(「DQS」)和資料(「DQ」)信號之間的相位偏移,並且利用對應的相位偏移值來配置記憶體控制器220。根據此種方法操作的處理器202可以決定此種相位偏移值並且經由互連206來實施其向記憶體控制器220的傳送或通訊。
如圖3所示,記憶體控制器220可以使用相位偏移值來對可調延遲元件302進行調整。延遲元件302被配置為將DQS信號延遲可調時間量,該可調時間量可以與相位偏移值相對應。記憶體控制器220可以以一般方式產生DQS信號,如本領域一般技藝人士所充分理解的,並且將DQS信號提供給延遲元件302的信號輸入。記憶體控制器220可以藉由向延遲元件302的延遲調整輸入提供延遲值(「DLY_ADJ」)來調整延遲元件302。回應於延遲值,延遲元件302輸出經延遲的DQS信號,該經延遲的DQS信號已經從延遲元件302的輸入處的DQS信號延遲了由延遲值表示的時間量。(在對DQS信號進行延遲之前在DQ和DQS信號之間提供同步的方式是本領域一般技藝人士所充分理解的,並且因此在本文中沒有描述)。延遲元件302的輸出處的經延遲的DQS信號經
由匯流排304來提供給SDRAM 218。儘管DQ和DQS信號在匯流排304上是雙向的,但為了清楚起見,未圖示記憶體控制器220中與經由匯流排304接收的DQ和DQS信號有關的電路。
匯流排304可以是DDR SDRAM系統中採用的一般類型。相應地,匯流排304不僅可以包括DQS和DQ信號,亦可以包括寫賦能(enable)(「WE」)信號、行位址選通(「RAS」)信號、列位址選通(「CAS」)信號、命令和位址匯流排信號(「CA」)、晶片選擇信號(「CS」)、記憶庫(bank)位址信號(「BA」)、時鐘(「CK」)信號、時鐘賦能(「CKE」)信號或其他在此種DDR SDRAM系統匯流排中通常包括的信號。儘管該等信號中的一些信號可能是差分的而不是單端的,但為了清楚起見,其在圖3中被圖示為單端的。由於結合寫入、讀取和其他記憶體操作來產生和使用該等信號的方式是本領域一般技藝人士所充分理解的,因此在本文中不描述此種態樣。
記憶體控制器220亦包括可調阻抗驅動器306,該可調阻抗驅動器306將傳出的DQ信號提供到匯流排304的雙向DQ信號線部分上。驅動器306被配置為具有可調輸出阻抗。記憶體控制器220可以以一般方式關於寫操作來產生DQ信號,如本領域一般技藝人士所充分理解的一般,並且將DQ信號提供給可調阻抗驅動器306的信號輸入。記憶體控制器220可以藉由向驅動器306的
阻抗調整輸入提供阻抗值(「Z_ADJ」)來設置或調整驅動器306將DQ信號利用其耦合到匯流排304的DQ信號線上的輸出阻抗。驅動器306的輸出經由匯流排304的DQ信號線部分來提供給SDRAM 218。
本文中描述的記憶體系統校準方法包括決定驅動器306的阻抗被設置或調整到的阻抗值。根據此種方法操作的處理器202可以決定此種阻抗值,並且經由互連206(圖2)來實施其向記憶體控制器220的傳送或通訊。
由於DDR SDRAM匯流排操作用於實施寫入、讀取和其他操作的方式是本領域一般技藝人士所充分理解的,因此在本文中不描述此種態樣。除了本文中描述的記憶體控制器220的態樣之外,考慮到本文中的描述,記憶體控制器220的所有其他態樣對於本領域的一般技藝人士而言可以是傳統的或以其他方式顯而易見的。相應地,本文中沒有描述記憶體控制器220的結構和操作的此種一般態樣。
由匯流排304的DQ信號線部分定義的信號通道中的阻抗不匹配可能藉由引入環回雜訊來對DQ信號的信號完整性產生不利影響。SDRAM 218處的傳入DQ信號的較差信號完整性可能導致寫入錯誤。在圖4的眼圖400中(以實線)圖示在SDRAM 218處表現出環回雜訊的DQ信號402的實例。表現出環回雜訊的DQ信號402的該實例可以與不表現出環回雜訊的DQ信號404(以虛
線示出)的實例形成對照。注意:環回雜訊在示例性DQ信號402中在眼睛中心附近最為突出。若SDRAM 218要在眼睛的中心406附近(亦即,在距眼睛的開始或轉變408為90度的時間點處)對示例性DQ信號402進行取樣(此處信號完整性較差),則與若SDRAM 218要在信號完整性更好的時間點處對示例性DQ信號402進行取樣相比,可以預期更大數量的寫入錯誤。
根據下文描述的示例性方法,處理系統200(圖2)對DQS信號的時序關於DQ信號進行校準,使得DQS信號的邊緣與具有良好信號完整性的DQ信號的一部分一致。圖4中圖示根據示例性方法決定的最佳相位偏移(「SKEW」)的實例。在圖4中,圖示被延遲了時間量的DQS信號410的實例,該時間量在DQS信號的邊緣和具有良好信號完整性的DQ信號的一部分之間提供了最佳相位偏移。以下文描述的方式,具有良好信號完整性的DQ信號的一部分是藉由在SDRAM 218(圖2)上迭代地(iteratively)執行系統級記憶體測試來間接地決定的。DQS和DQ信號之間的相位偏移在範圍上掃過。亦即,每個記憶體測試或迭代(iteration)與範圍內的離散相位偏移值相對應。將與以下記憶體測試或迭代相對應的相位偏移值決定並選擇為上述最佳相位偏移值:在所有記憶體測試中產生最低錯誤計數的記憶體測試或迭代。因此,例如,如圖4所示,將在示例性DQS信號410和示例性DQ信號402之間的相位偏移設置為最佳相位偏移值「
SKEW」造成SDRAM 218在時間點412處對示例性DQ信號402進行取樣。亦即,取樣在時間點412處由示例性DQS信號402的上升沿來觸發。根據DDR原理,此種取樣回應於示例性DQS信號402的上升沿和下降沿二者來發生。在該實例中,作為將在示例性DQS信號410和示例性DQ信號402之間的相位偏移設置為最佳相位偏移值「SKEW」的結果,寫操作可能造成較少的記憶體錯誤,因為示例性DQ信號402在取樣時間點412處比在眼睛的中心406附近顯示出更少的環回雜訊。
由圖5的流程圖圖示用於控制記憶體系統校準的示例性方法。儘管下文中描述的方法中的某些動作或步驟自然地先於其他的動作或步驟,以用於示例性實施例如描述地操作,但是若此種次序或順序不改變本發明的功能,則本發明不限於該等動作或步驟的次序。亦即,應該認識到:在不脫離本發明的範圍和精神的情況下,一些動作或步驟可以在其他動作或步驟之前、之後或並行地(亦即,基本上同時)執行。在某些情況下,可以在不脫離本發明的範圍和精神的情況下,省略或不執行某些動作或步驟。此外,諸如「此後」、「隨後」、「接下來」等等的詞不意欲限制動作或步驟的次序。而是使用此種詞語來幫助引導讀者經由示例性方法的描述。
如圖5的流程圖所示,在示例性實施例中,上文關於圖2描述的處理系統200可以關於DQ信號來對DQS信號的時序進行校準,以用於寫操作。該方法可以
與為準備PCD 100或開始或返回到任務模式操作的其他設備來執行的一般啟動方法基本上併發地執行。執行此種啟動方法通常被稱為啟動載入(bootstrapping)或啟動PCD 100或此種其他設備。替代地或另外地,可以在製造PCD 100或此種其他設備時執行方法。
如方塊502所指示的,示例性方法開始於對驅動器306(圖3)的輸出阻抗進行調整或設置。例如,處理器202(圖2)可以向記憶體控制器220提供阻抗值(「Z_ADJ」)。或許違反直覺地,驅動器306的阻抗被設置為可能在隨後的系統級記憶體測試期間損害DQ信號通道上的阻抗匹配的阻抗值。亦即,驅動器306的阻抗被設置為可能引入或加劇通常不希望的效應(諸如環回雜訊)的阻抗值。驅動器306被設置或調整到的阻抗值可以經由諸如下文關於圖7描述的方法或其他方法來決定。阻抗邏輯單元209(圖2)可以有助於該功能。相應地,處理器系統200或處理器202(如配置有阻抗邏輯單元209的)可以用作用於執行該功能的構件。
如方塊504指示的,對在DQS和DQ信號之間的相位偏移進行設置或調整。例如,處理器202可以向記憶體控制器220提供延遲值(「DLY_ADJ」)。DQS信號從DQ信號延遲的時間量可以用作針對在DQS和DQ信號之間的相對相位偏移的代理伺服器,因為該等信號否則是彼此同步的。在延遲值從,例如,零度的初始值向,例如,180度的最終值掃過的情況下,方法以迭代方式執
行。延遲值的範圍可以以,例如,10度的增量劃分成一系列離散延遲值。因此,例如,在第一迭代或記憶體測試期間,對應的延遲值被設置為10度;在第二迭代或記憶體測試期間,對應的延遲值被設置為20度等,一直到180度。相位偏移邏輯單元210可以有助於該功能。相應地,(如配置有相位偏移邏輯單元210的)處理器系統200或處理器202可以用作用於執行該功能的構件。
如方塊506指示的,將複數個資料字寫入SDRAM 218。資料字可以表示會寫入SDRAM 218的實際任務模式資料訊務。以此種方式,記憶體測試在潛在的不利信號完整性條件下執行,該不利信號完整性條件是由於在任務模式操作下可能出現的影響(諸如串擾和功率波動)而產生的,但其在一般記憶體測試條件下可能不出現,在該一般記憶體測試條件下,較短的可預測的資料型樣(data pattern)在設備中沒有其他活動的情況下被寫入記憶體以及從記憶體讀出。資料寫入邏輯單元212可以包括對應用222中的一或多個應用中的部分進行模擬的部分,如圖2中在資料寫入邏輯單元212和應用222之間由虛線連接來概念性地指示的。資料寫入邏輯單元212可以有助於配置處理系統200或PCD 100的部分以模擬任務模式操作的態樣。以此種方式,在記憶體測試期間的資料到SDRAM 218的寫入模擬了在PCD 100的任務模式操作期間資料到SDRAM 218的寫入。(如配置有資
料寫入邏輯單元212的)處理器系統200或處理器202可以用作用於執行該功能的構件。
如方塊508所指示的,從與SDRAM 218中資料字被寫入到的位置相同的位置讀取複數個資料字。在本說明書中,術語「錯誤」是指在寫入到記憶體位置的資料字與隨後從相同記憶體位置讀取的資料字之間的不匹配。如本文中所使用的,術語「錯誤計數」或「通過/未通過計數」是指由記憶體測試導致的不同錯誤的數量。資料讀取邏輯單元214(圖2)可以有助於該功能。相應地,(如配置有資料讀取邏輯單元214的)處理器系統200或處理器202可以用作用於執行該功能的構件。
如方塊510所指示的,決定用於記憶體測試的錯誤計數。可以以各種方式來偵測記憶體測試錯誤,如本領域一般技藝人士所充分理解的,例如對輸入和輸出資料檔案進行比較。
如方塊512所指示的,決定提供給記憶體控制器220的延遲值是否如上文關於方塊504所述已經達到180度,亦即,是否要執行進一步的迭代。若決定(方塊512)要執行進一步的迭代,則延遲值增加,如由方塊514所指示,並且方法在上述方塊504處繼續。在方塊504處繼續,隨後以上文關於方塊504-512描述的方式來執行另一個記憶體測試或迭代。
若決定(方塊512)不會執行進一步的迭代,亦即,延遲值已經從0掃到180度,則如方塊516指示的
,根據錯誤計數來決定最佳延遲值。如圖6所示,可以使用包括點602的長條圖600來決定最佳延遲值。每個點602表示延遲值和相對應的錯誤計數。在圖6中,示例性DQ信號402被示為疊加在長條圖600上。可以從最低錯誤計數來決定最佳延遲值。對於記憶體測試,最低的錯誤計數可以被稱為「通過」錯誤計數。錯誤計數邏輯單元216(圖2)可以有助於該等功能。相應地,(如配置有錯誤計數邏輯單元216的)處理器系統200或處理器202可以用作用於執行該等功能的構件。
在一些情況下,可能存在引起最小或最低錯誤數量的不多於一個延遲值。然而,圖6圖示了若干延遲值引起最小或最低錯誤數量的實例或示例。在該實例中,在執行的所有記憶體測試中,在使用對應的40、50、60、70、80、120、130、140和150度的延遲值執行的記憶體測試中發生最低的錯誤數量。藉由選擇延遲值的範圍中的中點來從該等延遲值中選擇最佳延遲值。例如,可以選擇60度作為最佳延遲值,因為60是在40和80之間的中點。
可以注意到:在該實例中,存在引起最小或最低錯誤數量的兩個延遲值範圍。亦即,存在兩個通過範圍:40-80度以及120-150度。在記憶體測試引起兩個或更多個此種延遲值的通過範圍的情況下,可以從最大的通過範圍中選擇最佳延遲值。在圖6所示的實例中,因為40-80的通過範圍大於120-150的通過範圍,所以可以
從40-80的通過範圍而不是120-150的通過範圍中選擇最佳延遲值。
返回到圖5,如方塊518所指示的,將DQS信號要從DQ信號延遲的時間量設置為最佳延遲值。處理器202可以向記憶體控制器220提供最佳延遲值,並且記憶體控制器220可以以上文關於方塊504所描述的方式來使用最佳延遲值。相應地,記憶體控制器220將DQS信號從DQ信號延遲由最佳延遲值表示的時間量,從而產生在DQS和DQ信號之間的最佳相位偏移。當PCD 100或其他設備隨後開始或返回到任務模式時,記憶體控制器220在任務模式寫入操作中相應地對DQS信號進行延遲。此外,在進入任務模式之前,驅動器306的阻抗被設置為恢復DQ信號通道上的阻抗匹配的阻抗值。
如圖7所示,可以執行或實施方塊502(圖5)所指示的操作的方式的一個實例涉及決定錯誤計數如何對驅動器阻抗的改變進行回應並相應地選擇驅動器阻抗,使得阻抗匹配受損。亦即,決定較高的驅動器阻抗與較低的驅動器阻抗相比是否導致較高的錯誤計數。
如方塊702所指示的,當執行記憶體測試時,(如上文關於方塊504所描述的)將延遲值初始化或設置為可能導致低(但不一定為零或最小)錯誤計數的值。例如,可以將延遲值設置為90度。如上文關於圖4所描述的,在眼睛的中心406附近對示例性DQ信號404(其不受
環回雜訊、串擾或其他不利條件影響)進行取樣可能引起較低的錯誤計數。
如方塊704所指示的,(如上文關於方塊502所描述的)將驅動器阻抗設置為低值。如在本說明書中所使用的,術語「低值」和「高值」除了指示關於彼此的相對值之外,意欲不具有其他意義;高值高於低值。
如方塊706所指示的,將測試資料型樣寫入SDRAM 218。測試資料型樣可以包括一般用於測試記憶體系統的類型的短資料型樣。如方塊708所指示的,對寫入測試模式的相同記憶體位置進行讀回。如方塊710所指示的,決定錯誤計數(「錯誤計數A」)。
如方塊712所指示的,(如上文關於方塊502所描述的)隨後將驅動器阻抗設置為高值。方塊714、716和718可以分別與方塊706、708和710相同。因此,將測試資料型樣寫入SDRAM 218中的記憶體位置,讀取記憶體位置,以及決定錯誤計數(「錯誤計數B」)。
如方塊720所指示的,決定錯誤計數A是否大於錯誤計數B。若(方塊720)決定錯誤計數A大於錯誤計數B,則選擇高值,如方塊722指示的。隨後,在方塊502(圖5)處,將驅動器阻抗設置為所選擇的高值。若(方塊720)決定錯誤計數A不大於錯誤計數B,則選擇低值,如方塊724指示的。隨後,在方塊502(圖5)處,將驅動器阻抗設置為所選擇的低值。如上文關於圖7所描述的方法意欲僅作為可以如何決定錯誤計數對驅動器
阻抗的變化(亦即,增大和減小)進行回應的方式的一個實例。考慮到該等描述和實例,其他的對於本領域一般技藝人士來說可以很容易地發生。
在不脫離本發明的精神和範圍的情況下,替換的實施例對本發明屬於的領域的一般技藝人士來說將變得顯而易見。因此,儘管已經示出並詳細描述了所選擇的態樣,但將理解的是:如由所附請求項所定義的,可以在不脫離本發明的精神和範圍的前提下進行各種替換和改變。
218:SDRAM
220:記憶體控制器
302:可調延遲元件
304:匯流排
306:可調阻抗驅動器
Claims (30)
- 一種用於控制記憶體系統校準的方法,包括以下步驟:對一資料信號驅動器電路進行調整,以在複數個系統級(system-level)記憶體測試期間損害一資料信號通道上的阻抗匹配;使用一記憶體控制器和一同步動態隨機存取記憶體(「SDRAM」)來執行該等複數個系統級記憶體測試,每個記憶體測試與在該資料信號通道上的在一資料選通訊號和一資料信號之間的複數個相位偏移值中的一個相位偏移值相對應,每個記憶體測試包括:將針對該記憶體控制器的一資料選通訊號延遲設置為與該等複數個相位偏移值中的一個相位偏移值相對應;在該資料信號通道上向該SDRAM寫入複數個資料字;在該資料信號通道上從該SDRAM讀取該等複數個資料字;及決定針對該記憶體測試的一錯誤計數,該錯誤計數指示在從該SDRAM讀取的該等複數個資料字與向該SDRAM寫入的該等複數個資料字之間的資料不匹配錯誤; 在該等複數個系統級記憶體測試之後,決定與在該等複數個系統級記憶體測試之中的一最低錯誤計數相對應的一最佳相位偏移值;及將針對該記憶體控制器的該資料選通訊號延遲設置為與該最佳相位偏移值相對應。
- 如請求項1所述之方法,其中該等複數個資料字模擬任務模式資料訊務(traffic)。
- 如請求項2所述之方法,其中該任務模式資料訊務是基於一或多個應用的。
- 如請求項1所述之方法,其中對該資料信號驅動器電路進行調整之步驟包括以下步驟:決定一記憶體測試錯誤計數是與一第一資料信號驅動器電路阻抗相對應還是與一第二資料信號驅動器電路阻抗相對應,其中該第一資料信號驅動器電路阻抗比該第二資料信號驅動器電路阻抗高;回應於關於該記憶體測試錯誤計數與該第一資料信號驅動器電路阻抗相對應的一決定,來增大該資料信號驅動器電路阻抗;及回應於關於該記憶體測試錯誤計數與該第二資料信號驅動器電路阻抗相對應的一決定,來減小該資料信號驅動器電路阻抗。
- 如請求項1所述之方法,其中決定與該最低 錯誤計數相對應的該最佳相位偏移值之步驟包括以下步驟:決定複數個記憶體測試通過範圍;及從該等複數個記憶體測試通過範圍中的一最大記憶體測試通過範圍選擇出該最佳相位偏移值。
- 如請求項1所述之方法,其中該SDRAM包括雙倍資料速率SDRAM(「DDR SDRAM」)。
- 如請求項1所述之方法,其中該記憶體系統是包括在一可攜式計算設備(「PCD」)中的。
- 如請求項7所述之方法,其中該PCD包括以下各項中的至少一項:一行動電話、一個人數位助理、一傳呼機、一智慧型電話、一導航設備以及具有一無線連接或鏈路的一手持電腦。
- 如請求項7所述之方法,其中對該資料信號驅動器電路進行調整之步驟、執行該等複數個系統級記憶體測試之步驟、決定該最佳相位偏移值之步驟以及設置該資料選通訊號延遲之步驟是在對該PCD的啟動(booting)期間執行的。
- 如請求項7所述之方法,其中對該資料信號驅動器電路進行調整之步驟、執行該等複數個系統級記憶體測試之步驟、決定該最佳相位偏移值之步驟以及設置該資料選通訊號延遲之步驟是在對該PCD 的製造期間執行的。
- 一種用於記憶體系統校準的系統,該系統包括:一記憶體系統,該記憶體系統包括一記憶體控制器和一同步動態隨機存取記憶體(「SDRAM」);及一或多個處理器,該一或多個處理器被配置為進行以下操作:對一資料信號驅動器電路進行調整,以在複數個系統級記憶體測試期間損害一資料信號通道上的阻抗匹配;執行該等複數個系統級記憶體測試,每個記憶體測試與在該資料信號通道上的在一資料選通訊號和一資料信號之間的複數個相位偏移值中的一個相位偏移值相對應,該一或多個處理器被配置為針對每個記憶體測試來進行以下操作:將針對該記憶體控制器的一資料選通訊號延遲設置為與該等複數個相位偏移值中的一個相位偏移值相對應;在該資料信號通道上向該SDRAM寫入複數個資料字;在該資料信號通道上從該SDRAM讀取該等複數個資料字;及 決定針對該記憶體測試的一錯誤計數,該錯誤計數指示在從該SDRAM讀取的該等複數個資料字與向該SDRAM寫入的該等複數個資料字之間的資料不匹配錯誤;在該等複數個系統級記憶體測試之後,決定與在該等複數個系統級記憶體測試之中的一最低錯誤計數相對應的一最佳相位偏移值;及將針對該記憶體控制器的該資料選通訊號延遲設置為與該最佳相位偏移值相對應。
- 如請求項11所述之系統,其中該等複數個資料字模擬任務模式資料訊務。
- 如請求項12所述之系統,其中該任務模式資料訊務是基於一或多個應用的。
- 如請求項11所述之系統,其中該一或多個處理器被配置為藉由被配置為進行以下操作來對該資料信號驅動器電路進行調整:決定一記憶體測試錯誤計數是與一第一資料信號驅動器電路阻抗相對應還是與一第二資料信號驅動器電路阻抗相對應,其中該第一資料信號驅動器電路阻抗比該第二資料信號驅動器電路阻抗高;回應於關於該記憶體測試錯誤計數與該第一資料信號驅動器電路阻抗相對應的一決定,來增大該資料信 號驅動器電路阻抗;及回應於關於該記憶體測試錯誤計數與該第二資料信號驅動器電路阻抗相對應的一決定,來減小該資料信號驅動器電路阻抗。
- 如請求項11所述之系統,其中該一或多個處理器被配置為藉由被配置為進行以下操作來決定與該最低錯誤計數相對應的該最佳相位偏移值:決定複數個記憶體測試通過範圍;及從該等複數個記憶體測試通過範圍中的一最大記憶體測試通過範圍選擇出該最佳相位偏移值。
- 如請求項11所述之系統,其中該SDRAM包括雙倍資料速率SDRAM(「DDR SDRAM」)。
- 如請求項11所述之系統,其中該記憶體系統是包括在一可攜式計算設備(「PCD」)中的。
- 如請求項17所述之系統,其中該PCD包括以下各項中的至少一項:一行動電話、一個人數位助理、一傳呼機、一智慧型電話、一導航設備以及具有一無線連接或鏈路的一手持電腦。
- 如請求項17所述之系統,其中該一或多個處理器被配置為:在對該PCD的啟動期間,對該資料信號驅動器電路進行調整、執行該等複數個系統級記憶體測試、決定該最佳相位偏移值以及設置該資料選 通訊號延遲。
- 如請求項17所述之系統,其中該一或多個處理器被配置為:在對該PCD的製造期間,對該資料信號驅動器電路進行調整、執行該等複數個系統級記憶體測試、決定該最佳相位偏移值以及設置該資料選通訊號延遲。
- 一種用於控制記憶體系統校準的電腦程式產品,該電腦程式產品包括體現在至少一個非暫態儲存媒體中的處理器可執行邏輯單元,由一系統的一或多個處理器對該邏輯單元的執行將該系統組態為進行以下操作:對一資料信號驅動器電路進行調整,以在複數個系統級記憶體測試期間損害一資料信號通道上的阻抗匹配;使用一記憶體控制器和一同步動態隨機存取記憶體(「SDRAM」)來執行該等複數個系統級記憶體測試,每個記憶體測試與在該資料信號通道上的在一資料選通訊號和一資料信號之間的複數個相位偏移值中的一個相位偏移值相對應,該系統被配置為針對每個記憶體測試來進行以下操作:將針對該記憶體控制器的一資料選通訊號延遲設置為與該等複數個相位偏移值中的一個相位偏移值 相對應;在該資料信號通道上向該SDRAM寫入複數個資料字;在該資料信號通道上從該SDRAM讀取該等複數個資料字;及決定針對該記憶體測試的一錯誤計數,該錯誤計數指示在從該SDRAM讀取的該等複數個資料字與向該SDRAM寫入的該等複數個資料字之間的資料不匹配錯誤;在該等複數個系統級記憶體測試之後,決定與在該等複數個系統級記憶體測試之中的一最低錯誤計數相對應的一最佳相位偏移值;及將針對該記憶體控制器的該資料選通訊號延遲設置為與該最佳相位偏移值相對應。
- 如請求項21所述之電腦程式產品,其中該等複數個資料字模擬任務模式資料訊務。
- 如請求項22所述之電腦程式產品,其中該任務模式資料訊務是基於一或多個應用的。
- 如請求項21所述之電腦程式產品,其中對該邏輯單元的執行藉由將該系統組態為進行以下操作來將該系統組態為對該資料信號驅動器電路進行調整: 決定一記憶體測試錯誤計數是與一第一資料信號驅動器電路阻抗相對應還是與一第二資料信號驅動器電路阻抗相對應,其中該第一資料信號驅動器電路阻抗比該第二資料信號驅動器電路阻抗高;回應於關於該記憶體測試錯誤計數與該第一資料信號驅動器電路阻抗相對應的一決定,來增大該資料信號驅動器電路阻抗;及回應於關於該記憶體測試錯誤計數與該第二資料信號驅動器電路阻抗相對應的一決定,來減小該資料信號驅動器電路阻抗。
- 如請求項21所述之電腦程式產品,其中對該邏輯單元的執行藉由將該系統組態為進行以下操作來將該系統組態為決定與該最低錯誤計數相對應的該最佳相位偏移值:決定複數個記憶體測試通過範圍;及從該等複數個記憶體測試通過範圍中的一最大記憶體測試通過範圍選擇出該最佳相位偏移值。
- 如請求項21所述之電腦程式產品,其中該SDRAM包括雙倍資料速率SDRAM(「DDR SDRAM」)。
- 如請求項21所述之電腦程式產品,其中該記憶體系統是包括在一可攜式計算設備(「PCD」) 中的。
- 如請求項27所述之電腦程式產品,其中該PCD包括以下各項中的至少一項:一行動電話、一個人數位助理、一傳呼機、一智慧型電話、一導航設備以及具有一無線連接或鏈路的一手持電腦。
- 如請求項27所述之電腦程式產品,其中對該邏輯單元的執行將該系統組態為:在對該PCD的啟動期間,對該資料信號驅動器電路進行調整、執行該等複數個系統級記憶體測試、決定該最佳相位偏移值以及設置該資料選通訊號延遲。
- 一種用於控制記憶體系統信號校準的系統,包括:用於對一資料信號驅動器電路進行調整,以在複數個系統級記憶體測試期間損害一資料信號通道上的阻抗匹配的構件;用於使用一記憶體控制器和一同步動態隨機存取記憶體(「SDRAM」)來執行該等複數個系統級記憶體測試的構件,每個記憶體測試與在該資料信號通道上的在一資料選通訊號和一資料信號之間的複數個相位偏移值中的一個相位偏移值相對應,該用於執行該等複數個系統級記憶體測試的構件針對每個記憶體測試包括: 用於將針對該記憶體控制器的一資料選通訊號延遲設置為與該等複數個相位偏移值中的一個相位偏移值相對應的構件;用於在該資料信號通道上向該SDRAM寫入複數個資料字的構件;用於在該資料信號通道上從該SDRAM讀取該等複數個資料字的構件;及用於決定針對該記憶體測試的一錯誤計數的構件,該錯誤計數指示在從該SDRAM讀取的該等複數個資料字與向該SDRAM寫入的該等複數個資料字之間的資料不匹配錯誤;用於在該等複數個系統級記憶體測試之後,決定與在該等複數個系統級記憶體測試之中的一最低錯誤計數相對應的一最佳相位偏移值的構件;及用於將針對該記憶體控制器的該資料選通訊號延遲設置為與該最佳相位偏移值相對應的構件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/640,855 | 2017-07-03 | ||
US15/640,855 US10115480B1 (en) | 2017-07-03 | 2017-07-03 | Double data rate synchronous dynamic random access memory (“DDR SDRAM”) data strobe signal calibration |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201907411A TW201907411A (zh) | 2019-02-16 |
TWI781169B true TWI781169B (zh) | 2022-10-21 |
Family
ID=62152655
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107114658A TWI781169B (zh) | 2017-07-03 | 2018-04-30 | 雙倍資料速率同步動態隨機存取記憶體(ddr sdram)資料選通信號校準 |
Country Status (7)
Country | Link |
---|---|
US (1) | US10115480B1 (zh) |
EP (1) | EP3649645B1 (zh) |
CN (1) | CN110800060B (zh) |
ES (1) | ES2904933T3 (zh) |
SG (1) | SG11201910712RA (zh) |
TW (1) | TWI781169B (zh) |
WO (1) | WO2019009942A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10580476B2 (en) * | 2018-01-11 | 2020-03-03 | International Business Machines Corporation | Simulating a single data rate (SDR) mode on a dual data rate (DDR) memory controller for calibrating DDR memory coarse alignment |
CN113450866B (zh) | 2020-03-27 | 2022-04-12 | 长鑫存储技术有限公司 | 存储器测试方法 |
KR20230107803A (ko) * | 2020-11-17 | 2023-07-18 | 르네사스 일렉트로닉스 아메리카 인크. | 메모리 인터페이스 애플리케이션의 전원 종단을 위한 저전력 출력 드라이버 |
JP2022146494A (ja) * | 2021-03-22 | 2022-10-05 | キオクシア株式会社 | 半導体記憶装置およびメモリシステム |
CN115599715A (zh) * | 2021-04-27 | 2023-01-13 | 长江存储科技有限责任公司(Cn) | 存储器写入的训练方法和系统 |
CN114020667B (zh) * | 2021-10-20 | 2024-08-06 | 瑞芯微电子股份有限公司 | 一种支持ddr自动调节最优信号参数的方法和存储设备 |
CN114496047B (zh) * | 2021-12-29 | 2023-08-29 | 深圳市紫光同创电子有限公司 | 双向数据选通采样信号dqs相位的调整方法及装置 |
CN117056269B (zh) * | 2023-10-11 | 2024-02-09 | 芯耀辉科技有限公司 | 用于并行接口连接的数据对齐方法、计算机设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105349A1 (en) * | 2003-11-04 | 2005-05-19 | Dahlberg James A. | Programmable data strobe offset with DLL for double data rate (DDR) RAM memory |
US20080002514A1 (en) * | 2006-06-29 | 2008-01-03 | Hynix Semiconductor Inc. | Semiconductor memory device and driving method thereof |
TW201119236A (en) * | 2009-11-25 | 2011-06-01 | Mstar Semiconductor Inc | Method for adjusting memory signal phase |
US20150066819A1 (en) * | 2013-09-04 | 2015-03-05 | Christopher P. Mozak | Periodic training for unmatched signal receiver |
US20170054549A1 (en) * | 2006-03-16 | 2017-02-23 | Rambus Inc. | Signaling system with adaptive timing calibration |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6609167B1 (en) * | 1999-03-17 | 2003-08-19 | Adaptec, Inc. | Host and device serial communication protocols and communication packet formats |
US6137734A (en) | 1999-03-30 | 2000-10-24 | Lsi Logic Corporation | Computer memory interface having a memory controller that automatically adjusts the timing of memory interface signals |
US6671211B2 (en) * | 2001-04-17 | 2003-12-30 | International Business Machines Corporation | Data strobe gating for source synchronous communications interface |
JP2003059298A (ja) | 2001-08-09 | 2003-02-28 | Mitsubishi Electric Corp | 半導体記憶装置 |
US6807650B2 (en) | 2002-06-03 | 2004-10-19 | International Business Machines Corporation | DDR-II driver impedance adjustment control algorithm and interface circuits |
US7404116B2 (en) | 2002-11-13 | 2008-07-22 | Etron Technology, Inc. | Semiconductor integrated circuit with full-speed data transition scheme for DDR SDRAM at internally doubled clock testing application |
AU2003255533A1 (en) | 2003-07-15 | 2005-02-25 | Agilent Technologies, Inc. | Integrated circuit with bit error test capability |
JP4477450B2 (ja) * | 2004-08-12 | 2010-06-09 | 株式会社アドバンテスト | タイミング発生器、試験装置、及びスキュー調整方法 |
TWI306343B (en) * | 2005-09-01 | 2009-02-11 | Via Tech Inc | Bus receiver and method of deskewing bus signals |
US7698589B2 (en) * | 2006-03-21 | 2010-04-13 | Mediatek Inc. | Memory controller and device with data strobe calibration |
JP2010086246A (ja) * | 2008-09-30 | 2010-04-15 | Nec Electronics Corp | メモリインターフェース及びメモリインターフェースの動作方法 |
JP5070607B2 (ja) | 2009-09-14 | 2012-11-14 | エヌイーシーコンピュータテクノ株式会社 | インピーダンス調整装置、インピーダンス調整方法 |
US20130318393A1 (en) * | 2011-11-15 | 2013-11-28 | Ocz Technology Group Inc. | Solid-state mass storage device and methods of operation |
US8692600B1 (en) | 2013-01-09 | 2014-04-08 | International Business Machines Corporation | Multi-protocol driver slew rate calibration system for calibration slew rate control signal values |
US20140368667A1 (en) * | 2013-06-14 | 2014-12-18 | Intel Corporation | Apparatus, system, and method for n-phase data mapping |
JP2018049677A (ja) * | 2016-09-23 | 2018-03-29 | 株式会社東芝 | 磁気ディスク装置、調整方法、及び製造方法 |
US10692566B2 (en) * | 2016-11-18 | 2020-06-23 | Samsung Electronics Co., Ltd. | Interface method of memory system, interface circuitry and memory module |
-
2017
- 2017-07-03 US US15/640,855 patent/US10115480B1/en active Active
-
2018
- 2018-04-24 WO PCT/US2018/029159 patent/WO2019009942A1/en unknown
- 2018-04-24 SG SG11201910712RA patent/SG11201910712RA/en unknown
- 2018-04-24 ES ES18724395T patent/ES2904933T3/es active Active
- 2018-04-24 CN CN201880043096.6A patent/CN110800060B/zh active Active
- 2018-04-24 EP EP18724395.1A patent/EP3649645B1/en active Active
- 2018-04-30 TW TW107114658A patent/TWI781169B/zh active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050105349A1 (en) * | 2003-11-04 | 2005-05-19 | Dahlberg James A. | Programmable data strobe offset with DLL for double data rate (DDR) RAM memory |
US20170054549A1 (en) * | 2006-03-16 | 2017-02-23 | Rambus Inc. | Signaling system with adaptive timing calibration |
US20080002514A1 (en) * | 2006-06-29 | 2008-01-03 | Hynix Semiconductor Inc. | Semiconductor memory device and driving method thereof |
TW201119236A (en) * | 2009-11-25 | 2011-06-01 | Mstar Semiconductor Inc | Method for adjusting memory signal phase |
US20150066819A1 (en) * | 2013-09-04 | 2015-03-05 | Christopher P. Mozak | Periodic training for unmatched signal receiver |
Also Published As
Publication number | Publication date |
---|---|
WO2019009942A1 (en) | 2019-01-10 |
CN110800060A (zh) | 2020-02-14 |
US10115480B1 (en) | 2018-10-30 |
EP3649645A1 (en) | 2020-05-13 |
CN110800060B (zh) | 2021-04-23 |
EP3649645B1 (en) | 2021-12-29 |
ES2904933T3 (es) | 2022-04-06 |
TW201907411A (zh) | 2019-02-16 |
SG11201910712RA (en) | 2020-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI781169B (zh) | 雙倍資料速率同步動態隨機存取記憶體(ddr sdram)資料選通信號校準 | |
KR102449725B1 (ko) | 판정 궤환 등화기 | |
US9477259B2 (en) | Calibration of clock signal for data transmission | |
US9772651B2 (en) | Embedded multimedia card (eMMC), host controlling eMMC, and method operating eMMC system including the use of a switch command defining an adjustment delay for a data signal | |
WO2018212832A1 (en) | Systems and methods for reducing memory power consumption via device-specific customization of ddr interface parameters | |
WO2019045785A1 (en) | ADJUSTING TRAINING DELAYS TO THE LOCKING PATH IN A DRAM DDR5 MEMORY | |
US10147466B1 (en) | Voltage reference computations for memory decision feedback equalizers | |
US10734983B1 (en) | Duty cycle correction with read and write calibration | |
US10373659B2 (en) | Voltage reference computations for memory decision feedback equalizers | |
US9672882B1 (en) | Conditional reference voltage calibration of a memory system in data transmisson | |
US10347347B1 (en) | Link training mechanism by controlling delay in data path | |
US10491430B2 (en) | Memory decision feedback equalizer testing | |
US20230403184A1 (en) | Memory decision feedback equalizer | |
US10902896B2 (en) | Memory circuit and method thereof | |
US10256795B1 (en) | Pipelined latches to prevent metastability | |
US10623211B2 (en) | Voltage correction computations for memory decision feedback equalizers | |
US9891853B1 (en) | Memory calibration abort | |
CN113314164B (zh) | 基于电容的补偿电路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GD4A | Issue of patent certificate for granted invention patent |