TW202412011A - 記憶體校準及邊限檢查 - Google Patents
記憶體校準及邊限檢查 Download PDFInfo
- Publication number
- TW202412011A TW202412011A TW112133202A TW112133202A TW202412011A TW 202412011 A TW202412011 A TW 202412011A TW 112133202 A TW112133202 A TW 112133202A TW 112133202 A TW112133202 A TW 112133202A TW 202412011 A TW202412011 A TW 202412011A
- Authority
- TW
- Taiwan
- Prior art keywords
- calibration
- memory
- point
- performance
- performance states
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 211
- 238000000034 method Methods 0.000 claims abstract description 67
- 230000004044 response Effects 0.000 claims abstract description 28
- 230000008859 change Effects 0.000 claims abstract description 13
- 230000000737 periodic effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 20
- 240000007320 Pinus strobus Species 0.000 description 17
- 230000008901 benefit Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 230000036541 health Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000001419 dependent effect Effects 0.000 description 6
- 238000013461 design Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012806 monitoring device Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000196324 Embryophyta Species 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000003116 impacting effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000029305 taxis Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0632—Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
-
- 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/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1066—Output synchronization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- 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
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
-
- 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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
揭示具有一邊限檢查的記憶體校準。一種記憶體子系統包括一記憶體及耦接至該記憶體的一記憶體控制器。該記憶體控制器包括一校準電路,該校準電路經組態以在一初始化程序期間對複數個效能狀態的多者執行水平記憶體校準,且判定指示該複數個效能狀態的多個對的校準結果之間的一組差的資訊並儲存該資訊在一儲存電路中。該記憶體控制器進一步經組態以在該初始化程序之後且回應於從該複數個效能狀態的一第一者至該複數個效能狀態的一第二者的一改變而設定用於該第二效能狀態之基於該組差的初始記憶體參數。之後,操作在該第二效能狀態中開始而無需執行一初始水平校準。
Description
本揭露係關於記憶體子系統,且更明確地關於在記憶體子系統中實行的校準。
眼圖(或眼狀圖)係繪示數位信號可在其正確值處取樣之時間及振幅的圖形圖示。在包括資料傳輸的各種類型系統中,所欲的是在一眼中心附近之樣本信號(例如,由一時脈信號同步的資料信號),就時間及取樣電壓而言。就時序而言,此可提供具有足夠量的設置及保持時間兩者的信號,同時亦使其較不易受雜訊影響。就電壓而言,此可基於用以將一者與另一者區別的參考電壓而促成邏輯值(例如,邏輯1或邏輯0)的更準確判定。
在記憶體子系統中,可實行校準以判定在眼圖內取樣之信號在其等處的點。實行校準以判定促成信號的準確地取樣的眼狀圖,且因此包括基於時序(有時稱為水平校準)及取樣參考電壓(有時稱為垂直校準)二者的校準。實行這些校準一般包括調整主控在一記憶體控制器與一記憶體之間的資料之傳輸的數個不同參數。此等參數包括在水平校準期間施加至資料選通信號的延遲。垂直校準可包括以不同參考電壓執行的若干個水平校準。此類校準可在系統起動期間實行,並且亦可此後於週期性的基礎上實行。校準亦可回應於效能狀態的改變而執行。
揭示具有一邊限檢查的記憶體校準。在一個實施例中,一種記憶體子系統包括一記憶體及耦接至該記憶體的一記憶體控制器。該記憶體控制器包括一校準電路,該校準電路經組態以在一初始化程序期間對複數個效能狀態的多者執行水平記憶體校準,且判定指示該複數個效能狀態的多個對的校準結果之間的一組差的資訊並儲存該資訊在一儲存電路中。該記憶體控制器進一步經組態以在該初始化程序之後且回應於從該複數個效能狀態的一第一者至該複數個效能狀態的一第二者的一改變而設定用於該第二效能狀態之基於該組差的初始記憶體參數。之後,操作在該第二效能狀態中開始而無需執行一初始水平校準。
在一個實施例中,在第二效能狀態中開始操作之後,校準電路可執行邊限檢查校準。在執行邊限檢查校準時,校準電路在二個點運行校準常式。該等點對應於施加至用以同步化記憶體與記憶體控制器之間的資料移轉的資料選通信號的延遲值。邊限檢查校準的第一點在小於最新經校準值之延遲的延遲,而第二點在大於該最新經校準值的延遲。若在二個點獲得通過結果,跳過完整水平校準,且操作繼續使用最新經校準參數值(例如,基於該組差施加的該等者)。
本揭露係關於用於校準使用在記憶體子系統之操作中的參數及設定此等參數以用於正常操作的各種方法。記憶體校準包括將若干個不同延遲施加至用以同步化記憶體控制器與記憶體之間的資料移轉的資料選通信號的水平校準。在執行此等校準時,可判定最佳延遲值。
記憶體校準的執行可消耗相當的時間量。在校準於記憶體子系統中執行的時間期間,記憶體不可用於正常讀取及寫入流量,因此影響需要從記憶體讀取資料或將資料寫入至記憶體的其他主體。
記憶體校準的執行不僅在週期基礎上執行,但亦可回應於頻率改變(例如,時脈信號的頻率的改變)而執行。校準所消耗的時間在多秩記憶體系統(具有共用共同引腳的多個DRAM的系統)中增加。對於即時流量,在頻率改變期間校準記憶體所消耗的時間可負面地影響整體系統效能。
許多計算系統在若干個效能狀態的不同者中操作。效能狀態在本文中定義為操作電壓及時脈頻率的獨特組合。當效能優先時(例如,當有較高工作負載時)可使用某些效能狀態,而當電力節省優先時(例如,當工作負載輕時)可使用其他效能狀態。在某些初始化操作(例如,諸如冷開機)期間,校準可在若干個不同效能狀態的各者中進行。本揭露使用記錄校準結果,可得到在二個不同效能狀態中獲得的校準結果之間的差的洞察。
因此,本揭露包括記憶體控制器,其具有在初始化程序期間在各種可能系統效能狀態的各者上實行校準且判定此等狀態的各可能對之間的結果上的差的電路系統。洞察亦認知到在初始化程序期間遭遇到的操作條件可與在正常操作(例如,非校準、系統執行其預期功能的後初始化操作)期間遭遇到的操作條件不同。計算效能狀態的各種可能對之間的差並儲存在儲存電路中。之後,當作出從第一效能狀態至第二效能狀態的改變時,使用經校準操作參數中的經計算差設定用於第二效能狀態的操作參數。例如,若第一效能狀態與第二效能狀態之間的經校準資料選通延遲中的經計算差係特定數目個皮秒,緊接在進入第二效能狀態之後,第二狀態的延遲可藉由以該經計算差調整第一狀態的延遲而設定。在以二個效能狀態之間的經計算差調整參數之後,操作可開始而無需執行水平校準。因此,在第二效能狀態中的操作的開始未延遲執行完整水平校準所需的時間量,從而降低記憶體子系統不可用的時間量。
本揭露亦使用可藉由執行特定經校準參數(例如,如施加至資料選通的延遲值)的邊限檢查而節省時間的洞察。因此,本揭露設想邊限檢查校準。在邊限檢查校準中,可檢查有限數目的點(例如,二個)以判定其等是否產生通過結果(例如,當通過結果包含從記憶體讀取的資料等於預期資料時)。在一個實施例中,此可藉由在具有比目前操作延遲點更少之延遲的第一延遲點及在具有比目前操作延遲點更大的延遲量的第二延遲點執行校準而實行。若在此等點二者皆獲得通過結果,跳過完整水平校準。此可可觀地降低記憶體不可用於正常操作的時間量。另一方面,若延遲點中之至少一者傳回失敗結果,可執行完整水平校準。
使用本文描述的各種方法,記憶體不可用性可顯著地降低。此外,藉由完整水平校準的各種上述實例,可獲得電力節省以及具有更佳電力對效能比的系統。
現在討論根據本揭露之記憶體子系統及用於操作其之方法的各種細節。討論以包括記憶體子系統、記憶體控制器的更詳細討論、及更大系統的各種設備實施例開始。接著描述邊限檢查校準的一個實施例的圖形繪示,接著係各種方法實施例的討論。描述以可包括根據本揭露之記憶體子系統的實例系統的各種實施例的討論結束。
記憶體子系統實施例:
圖1係記憶體子系統的一個實施例的方塊圖。在所示實施例中,記憶體子系統100包括記憶體控制器105及記憶體110。在一個實施例中,記憶體110係動態隨機存取記憶體(DRAM),雖然其他類型的記憶體係可行且經設想的。記憶體控制器105及記憶體110耦接至在彼此之間的經輸送資料信號以實行讀取及寫入操作。額外地,記憶體控制器105經組態以將資料選通信號輸送至記憶體110。資料選通信號係用以在讀取及寫入操作執行期間同步化記憶體控制器105與記憶體110之間的資料移轉的時脈信號。應注意,在一些實施例中,可使用單獨的資料選通信號實行讀取及寫入操作,其中記憶體控制器105及記憶體110據此組態。
在實施例中,所示記憶體控制器105包括校準電路106及儲存電路107。校準電路106可用以實行校準操作以確保資料可以正確值寫至記憶體110或從該記憶體接收。校準可包括將延遲值施加至資料選通信號而評估從記憶體110接收的資料以確保其係正確的水平校準。延遲值可在特定範圍內施加,且經校準值可至少部分地基於提供足夠時序邊限的一者選擇。
亦可實行垂直校準,其中垂直校準包含以參考電壓的不同值執行的若干個水平校準,該參考電壓係用以在邏輯1與邏輯0之間區分接收自記憶體的信號。垂直校準可用以選擇提供足夠的電壓邊限以用於讀取從記憶體傳回之資料的參考電壓。水平及垂直校準的結果可因此導致定義資料可正確地從記憶體讀取的延遲範圍及電壓範圍的眼圖。在執行水平及垂直校準時,記憶體控制器105可進行一系列至記憶體的寫入以及一系列自記憶體的資料讀取。比較讀取資料與預期(例如,寫入)資料可判定特定校準點係通過或失敗。
記憶體子系統100可在若干個不同效能狀態中操作。效能狀態在本文中定義為操作電壓及時脈頻率的獨特組合。操作電壓在本文中係藉由供應電壓Vdd表示,而時脈頻率係藉由所輸入的時脈信號Clk_In表示。可取決於系統的期望效能而使用不同的效能狀態。對於高工作負載,例如,當若干個不同主體正在請求對記憶體110的存取時,可使用較高效能狀態(例如,較高的時脈頻率及/或操作電壓)。為了降低效能需求(例如,當記憶體存取請求相對不頻繁時),記憶體子系統100可在較低效能狀態(例如,低時脈頻率及/或較低供應電壓)中操作。上文討論的各種校準可對可用於記憶體子系統的不同效能狀態的各者執行。在一個實施例中,效能狀態的各者可在初始化程序期間經受如上文討論的校準(例如,當Initialization信號確立時)。初始化程序可包含各種系統開機程序,包括冷開機及暖開機。自睡眠狀態脫離係另一初始化程序,校準可在該初始化程序下對所有效能狀態執行。
在所示實施例中,校準結果可儲存在儲存電路107中。校準結果指示獲得通過結果的延遲及參考電壓的範圍以及為操作選擇的特定延遲點及參考電壓點。在上述初始化程序期間,校準電路106可將在不同效能狀態實行的各種校準的結果儲存在儲存電路107中。此外,在所繪示實施例中,校準電路106可計算效能狀態的多個對的各種參數中的差,將此等差儲存在儲存電路107中。此等差可在從一個效能狀態改變至另一者期間在後續操作中使用。例如,在從第一效能狀態至第二效能狀態的改變期間,緊接在進入後者之後使用的參數係藉由將第一效能狀態與第二效能狀態之間的差施加至第一效能狀態的參數而判定。以此方式設定第二效能狀態中的參數,而非直接使用第二效能狀態的經校準參數,可計及可已從先前執行校準的時間改變的操作條件(例如,溫度)。
如上文描述的,在施加差以設定用於第二效能狀態的操作參數之後,正常操作可開始而無需執行水平校準。因此,藉由基於經施加差設定參數以代替完整水平校準,使記憶體子系統在從第一效能狀態切換至第二效能狀態期間不可用的時間量降低。
在第二效能狀態中進行正常操作之後的某個點,可執行邊限檢查校準以驗證目前操作參數仍有效。邊限檢查校準係僅檢查少數延遲點以判定結果的有限校準。在一個實施例中,邊限檢查校準係在具有比目前延遲點更少之延遲的第一點及在具有比目前延遲點更大之延遲的第二延遲點進行。若通過結果在第一及第二延遲點二者獲得,不執行水平校準,且第二效能狀態中的操作繼續使用目前參數。另一方面,若延遲點中之至少一者傳回失敗結果,執行完整水平校準(且亦可或替代地包括叫用嚴重中斷)。在執行完整水平校準時,可更新儲存在儲存電路107中的第二效能狀態的結果。額外地,第一效能狀態與第二效能狀態的校準結果之間的差亦可基於在第二效能狀態中實行的完整水平校準的結果更新。應注意,在一些情況下,取代直接施加差,可使用直觀推斷判定經更新差。例如,直觀推斷可基於目前時間與計算差以補償操作條件改變的先前時間之間在操作條件(例如,溫度)上的不同施加。
在一些實施例中,可實行邊限檢查校準的次數受臨限值限制。因此,當判定是否執行邊限檢查校準時,作出關於此類型校準從進入第二效能狀態至今已執行之次數的判定。若次數不超過臨限,邊限檢查校準可執行。此外,假設每次皆傳回通過結果,只要尚未超過臨限,邊限檢查校準可週期地執行。然而,若水平校準的數目超過臨限,實行完整水平校準。完整水平校準可包括更新第二效能狀態的經校準參數以及包括第二效能狀態之效能狀態的多個對中的差。
圖2係記憶體控制器的一個實施例的方塊圖。在所示實施例中,記憶體控制器205包括校準控制電路206及實體介面214。所示實施例中的校準控制電路206實施各種電路單元,包括資料比較器218、眼計算器(eye calculator) 211、及狀態機210。實體介面214實施用於與記憶體(此處未圖示)通訊的電路系統。實體介面214的電路系統包括收發器220及延遲電路230。待寫至記憶體的資料可經由DQ_In信號路徑由記憶體控制器接收。從記憶體讀取的資料可經由DQ_Out資料匯流排輸送至請求器。
在所示實施例中,實體介面214的收發器220耦接至包括資料信號路徑DQ[N-1:0]的資料匯流排。額外地,實體介面214包括資料選通信號(data strobe signal, DQS)自其產生(基於可變頻率時脈信號Clk_In)並輸送至記憶體以同步化資料移轉的延遲電路230。實體介面214亦可包括用於調整與信號至記憶體的傳輸及信號自記憶體的接收關聯的各種I/O設定的電路系統(此處未圖示)。此可包括用於調整信號之驅動強度、控制阻抗、及/或信號線之終止等的電路系統。
應注意,在各種實施例中,額外的信號路徑可耦接至實體介面214。此等信號路徑可包括從記憶體控制器205輸送至對應耦接記憶體的寫入啟用信號、讀取啟用信號、位址信號等的路徑。類似地,實體介面214可包括用於產生此等信號的電路系統,且可包括用於接收信號的額外電路。為簡化起見,此處省略此等額外信號路徑及電路,然而其等不存在於圖式中未意圖以任何方式限制本揭露。
在讀取操作期間,收發器220可經由信號路徑DQ[N-1:0]接收輸送自記憶體的信號。收發器220亦可使用參考電壓值(例如,由此處未圖示的參考電壓產生器電路產生)解譯經接收信號。參考電壓可經由ReadV信號路徑由眼計算器211設定。收發器220可使用參考電壓判定經接收資料信號的個別者將解譯為邏輯0或邏輯1。在正常操作期間,當操作以接收來自記憶體的資料時,收發器220的輸出係DQ_out信號路徑,其中資料被輸送至其他單元(例如,至請求主體,諸如處理器核心)。
在所示實施例中,延遲電路230經耦接以接收從記憶體控制器205外部的來源提供的輸入時脈信號Clk_In。雖然未明確顯示,延遲電路230可包括一或多個延遲鎖相迴路(delay locked loop, DLL)或其他類型的延遲電路系統。可將延遲施加至輸入時脈信號以產生資料選通信號DQS,該資料選通信號用以同步化其他信號(例如,DQ[N-1:0])在記憶體與記憶體控制器102之間的移轉。所施加的延遲量可基於由校準控制電路206中的眼計算器211提供的延遲控制信號Dly_Ctl。除了將資料選通信號輸送至記憶體之外,所示實施例中的延遲電路230亦耦接至收發器220以提供時脈信號。
校準操作可包括改變施加至資料選通信號的參考電壓及延遲量。水平校準可包括在特定參考電壓的若干個不同值上改變延遲。垂直校準可包括以不同的參考電壓值執行若干個水平校準。資料可以延遲及參考電壓的各組合從記憶體讀取並藉由資料比較器218與預期值比較,以判定是否有任何位元失效發生。位元失效在本文中可定義為對應於在資料匯流排的特定信號路徑上輸送的一信號的一位元不匹配其預期值(例如,當預期邏輯1時,位元讀取為邏輯0)。在一些實施例中,所比較的資料可經由DQ_In輸入由資料比較器218接收,且因此對應校準操作可包括將此資料至記憶體的寫入。
可將位元失效報告至眼計算器電路211。回應於接收到位元失效的資訊,眼計算電路211可連同參考電壓值及延遲值記錄失效位元。基於來自失效位元及對應的參考電壓及延遲值的資料,眼計算電路211可計算眼圖。在一些實施例中,眼圖可獨立地對各位元位置計算,其中眼係基於,例如,個別信號路徑的平均值計算。
一些校準操作可包括若干個至記憶體的資料寫入及若干個自記憶體的資料讀取。透過若干次迭代,眼計算器211可導致對在產生資料選通信號(經由Dly_Ctl信號)時使用的延遲及用以在邏輯1與邏輯0之間區分的電壓二者的調整。對若干個不同延遲值及參考電壓值執行此等操作可用以定義經校準信號路徑的眼圖。實例眼圖顯示於圖2中,其中其高度H係沿著垂直電壓軸V定義,而寬度W係沿著時間軸T定義。電壓軸代表參考電壓的值,而時間軸代表由延遲電路230施加至資料選通信號的延遲值。部分地藉由眼圖的高度及寬度定義之在指示於圖式中之邊界內的值指示在信號中輸送的資料位元可正確地解譯為邏輯1或邏輯0的區域。朝向眼圖中心的區域大致上具有比位於朝向邊界處者更大量的時序邊限及電壓邊限。
在所示實施例中的狀態機210經組態以協調校準操作。回應於接收來自在記憶體控制器205的另一部分內或來自外部來源的校準信號(Cal),狀態機210可開始校準操作。校準信號的確立可在從睡眠狀態脫離之後與系統起動結合以週期性間隔執行,且在其他狀況中回應於效能狀態的變化而執行。在校準操作期間,狀態機210可與眼計算器211、資料比較器218、及收發器220通訊。在狀態機210可執行之功能中的係發佈命令以傳送用於寫入操作之資料、以導致記憶體控制器102讀取來自記憶體的資料、及導致延遲及讀取電壓值改變。在完成給定校準之後,眼計算器211可儲存經判定參考電壓與延遲值。此等值接著可用以設定用於一般(例如,非校準)操作的參考電壓及延遲值。
狀態機210亦可導致效能狀態的多個對之間的差由,例如,眼計算器211計算。此等差以及其等所基於的校準結果可儲存在儲存電路207中。在從一個效能狀態改變至另一者的期間,校準電路206可存取此等差,且導致眼計算器211設定用於新進入效能狀態中的操作的操作參數(延遲及參考電壓)。隨後,在一些實施例中,狀態機210可導致邊限檢查校準實行,且若自其獲得通過結果,導致水平校準跳過。在一些實施例中,狀態機210亦可判定邊限檢查校準的數目是否已超過臨限值。若判定邊限檢查校準的數目超過臨限,狀態機210可導致完整水平校準執行。否則,若該數目小於臨限,狀態機210可取代地導致邊限檢查校準的另一實例執行,而代替執行完整水平校準。然而,若邊限檢查校準傳回失敗結果,狀態機210可回應於其而導致完整水平校準執行。
圖3係包括記憶體控制器及雙秩記憶體之系統的一個實施例的方塊圖。在所示實施例中,記憶體控制器305可係根據上文討論之實施例的記憶體控制器。更一般地說,所示實施例中的記憶體控制器305能夠實行於圖1及圖2中討論之記憶體控制器的各種操作,與其內部配置無關。記憶體控制器305耦接至各種主體(此處未圖示),諸如一或多個處理器核心、一或多個圖形處理器、及一或多個輸入/輸出電路。一般而言,記憶體控制器305可耦接至利用系統記憶體的任何主體。記憶體控制器305至此等主體的實際耦接可通過包括諸如縱橫交換機等之電路的晶片上網路/網狀結構。
所示實施例中的雙秩記憶體包括記憶體310-1(秩1)及記憶體310-2(秩2)。二個此等記憶體皆藉由經組態以輸送資料信號DQ[N-1:0]的記憶體匯流排耦接至記憶體控制器305。選擇信號亦從記憶體控制器305提供至記憶體310-a及310-2以選擇記憶體之用於讀取及/或寫入操作的一者。
系統300亦包括電力管理電路320、電力轉換器325、及時脈產生器321。所示實施例中的電力轉換器325經組態以產生提供至記憶體控制器305以及記憶體310-1及310-2的可調整供應電壓Vdd。可使用任何合適類型的電力轉換器,包括各種類型的降壓轉換器、升壓轉換器、低壓降電壓調節器等。時脈產生器321經組態以產生提供至記憶體控制器305的時脈信號,其中該時脈信號具有可調整頻率。時脈產生器321的電路系統可包括鎖相迴路、環振盪器、及/或用於在若干個不同頻率產生時脈信號的任何其他合適的電路系統。所示實施例中的電力管理電路320可控制系統300的效能狀態。此處所示的Vctrl信號可表示用以導致電力轉換器325至期望效能狀態之操作電壓的一或多個信號或命令。類似地,電力管理電路320可在標籤Fctrl下發送命令至時脈產生器321,以將時脈信號Clk_In的頻率設定成對應於期望效能狀態的值。儘管此處未明確地顯示,電力管理電路320可耦接至系統300內的若干個其他電路(包括未於此處圖示者),且可通過各種遙測監測操作條件以選擇最佳效能狀態。
邊限檢查校準的圖形繪示:
圖4係按照本揭露之邊限檢查校準的一個實施例的圖形繪示。邊限檢查校準可用以驗證從先前校準判定之施加至資料選通信號的目前延遲值是否仍有效。此可藉由在二個點(邊限校準點1及邊限校準點2)進行校準而執行。邊限校準點1表示小於從先前/初始校準判定之目前操作點的延遲。邊限校準點2表示大於目前操作點的延遲。可在此等點二者進行若干個至記憶體的資料寫入及自記憶體的資料讀取。接著將讀自記憶體的資料與預期資料(例如,所寫入的資料)比較以判定其等是否匹配。若所讀取的資料在二個邊限校準點皆匹配預期資料,將邊限檢查校準視為已通過,且操作繼續使用相同的操作點。若從記憶體讀取的資料在一或二個點不匹配預期資料,將邊限檢查校準視為已失敗,且接著執行完整水平校準。
產生通過結果的成功邊限檢查校準可以顯著少於完整水平校準的時間進行。因此,邊限檢查校準的通過實例可提供記憶體子系統不可用的時間的實質降低。
方法流程圖:
圖5係用於操作記憶體控制器之方法的一個實施例的流程圖。方法500可藉由上文討論之設備實施例的任一者實行。此外,能夠實行方法500但未於本文中明確揭示之設備的實施例亦視為落在本揭露的範疇內。
方法500包括在初始化程序期間藉由記憶體控制器對複數個效能狀態的多者執行水平記憶體校準(方塊505)。該方法進一步包括由記憶體控制器判定複數個效能狀態的多個對的校準結果之間的一組差(方塊510)及藉由該記憶體控制器儲存指示該組差的資訊(方塊515)。在初始化程序之後且回應於從複數個效能狀態的第一者至複數個效能狀態的第二者的改變,該方法包括設定用於複數個效能狀態的第二者之基於該組差的初始記憶體參數(方塊520),及在複數個效能狀態的第二者中使用初始記憶體參數開始操作而無需執行初始水平記憶體校準(方塊525)。
在各種實施例中,該方法包括使用校準電路執行邊限檢查校準。執行邊限檢查校準包括判定在第一點的校準結果是否提供通過結果,其中該第一點對應於小於經校準延遲點的延遲值,及判定在第二點的校準結果是否提供通過結果,其中該第二點對應於大於該經校準延遲點的延遲值。回應於判定在第一點及第二點的校準結果皆係通過結果,該方法包括跳過在第二效能狀態中執行完整水平校準。否則,若來自第一點及第二點的一者的校準結果中之至少一者未產生通過結果,該方法包括執行完整水平校準。可回應於邊限校準失敗而叫用中斷的替代實施例亦係可行且經設想的。在此類實施例中,可使用中斷處理器以,例如,在太多失敗的情況下在特定效能狀態中的操作期間將未來邊限檢查校準的使用停用。
複數個效能狀態的一者的給定效能狀態包括相對於該複數個效能狀態之其他者的操作電壓及時脈頻率的獨特組合。初始化程序可係起動常式(例如,系統開機程序)。本揭露設想初始化常式亦可係從睡眠狀態的喚醒或未另外包括完整系統重開機的系統重設。
圖6係用於操作記憶體子系統之方法的另一實施例的流程圖。方法600可藉由上文討論之設備實施例的各種者實行。能夠實行方法600但未於本文中另外揭示的設備實施例亦視為落在本揭露的範疇內。
方法600以在初始化常式期間在若干個不同效能狀態的多者中執行校準,並將結果連同在各種效能狀態中的校準之間的差儲存在儲存電路中(方塊605)而開始。所執行的校準包括將各種延遲量施加至資料選通信號以判定待於後續操作期間對取樣施加的延遲值的水平校準。本揭露進一步設想執行包含以若干個不同的參考電壓值執行水平校準的垂直校準,其中該參考電壓係用以判定經接收信號係邏輯0或邏輯1的取樣電壓。藉由執行此等校準,可判定眼圖,使得信號可使用最佳的時序及電壓邊限量取樣。
在校準在初始化常式期間完成之後,正常操作接著在第一效能狀態中開始。正常操作在本文中定義為記憶體子系統實行其之預期操作以支援預期系統功能。對於該記憶體子系統,此包括讀取待提供給其他主體的資料(例如,讀取待使用在由處理器核心實行之操作中的運算元)、寫入及儲存從其他主體接收的資料(例如,寫入/儲存來自由處理器核心實行之操作的結果)等。初始化常式可係系統起動(例如,冷開機)、重設(例如,暖開機)、從睡眠狀態喚醒等。第一效能狀態可係在初始化常式期間對其執行校準的該若干個效能狀態的任一者。
方法600進一步包括從在第一效能狀態中的操作改變至第二效能狀態及基於此等狀態之間的差設定操作參數,而跳過在第二效能狀態中執行水平校準(方塊615)。例如,若在第一效能狀態中以其取樣信號的延遲值及在第二效能狀態中以其取樣信號的延遲值上存在特定差,參數在進入第二效能狀態之後藉由該量調整。其他參數(例如,參考電壓)亦可類似地調整。可實行此等調整以允許第二效能狀態中的操作以相對於藉由執行完整水平校準所將招致的延遲的最小延遲開始。
在第二效能狀態中開始正常操作之後的某個點,進行邊限檢查校準(方塊620)。如上文討論的,邊限檢查校準係可代替完全水平校準進行的有限校準,且可藉由在二個不同延遲點執行校準常式而實行。在第一點的延遲小於目前操作點的延遲,而在第二點的延遲大於該目前操作點的延遲。若在此等點二者的邊限檢查校準皆獲得通過結果(方塊625,是),則跳過完整水平校準(方塊630)。通過結果在本文中定義為從記憶體讀取的資料等於預期資料。邊限檢查校準的通過可指示目前操作參數在第二效能狀態中的現在操作條件下仍然有效。額外執行邊限檢查校準,代替完整水平校準,可降低記憶體子系統導因於校準而不可用於正常記憶體交易的時間量。若邊限檢查校準無法從第一或第二點中之至少一者獲得通過結果(方塊625,否),則執行完整水平校準(方塊635)。
圖7係用於操作記憶體子系統之方法的另一實施例的流程圖。方法700可藉由上文討論之設備實施例的各種者實行。能夠實行方法700但未於本文中另外揭示的設備實施例亦視為落在本揭露的範疇內。
方法700以在已使用以差為基的參數從在第一效能狀態中操作切換之後在第二效能狀態中操作而開始(方塊705)。以差為基的參數係基於在系統初始化程序期間在各種效能狀態中執行水平記憶體校準時判定的經計算差而判定的參數。在第二效能狀態中操作達某個時間後,可實行檢查以判定從進入該狀態至今已執行之邊限檢查校準的數目(方塊710)。若邊限檢查校準的數目不大於某個臨限值(方塊710,否),則執行邊限檢查校準(方塊715)。如上文討論的,邊限檢查校準包含在相對於目前操作延遲點的二個不同延遲點執行校準,且判定是否獲得通過結果。若在二個點的邊限檢查校準產生通過結果(方塊720,是),則跳過完整水平校準(方塊725),且方法700返回至方塊705。
若判定在以第二效能狀態操作時執行的邊限檢查校準的數目已超過臨限(方塊710,是),則執行完整水平校準(方塊730)。完整水平校準可在比邊限檢查校準更寬的延遲值範圍內的若干個不同點執行。在邊限檢查校準的數目不超過臨限的情況下(方塊710,否),但該等點中之至少一者在邊限檢查校準期間不提供通過結果(方塊720,否),執行完整水平校準。
在此處說明之方法700的實施例中,假設一旦邊限檢查校準的數目已超過臨限值,在留在目前效能狀態中時執行的後續週期性校準係完整水平校準。然而,完整水平校準僅在水平校準之後的邊限檢查校準的數目超過臨限時或在特定邊限檢查校準提供失敗結果時執行的實施例係可行且經設想的。否則,只要邊限檢查校準繼續產生通過結果,其等可以週期性間隔進行,直到從最新水平校準至今實行的邊限校準的數目超過臨限為止。以此方式,在進入特定效能狀態之後執行的大部分校準可係邊限檢查校準,從而進一步降低記憶體子系統不可用於正常記憶體交易的時間量。
進一步注意到經計算差可在執行完整水平校準之後更新。例如,在先前已在第一效能狀態中操作之後,當在第二效能狀態中執行完整水平校準時,來自完整水平校準(在第二狀態中)的結果可用以相對於在第一效能狀態中實行的最新水平校準的結果計算經更新差。以此方式,一組目前差可更準確地反映系統操作條件隨時間推移的改變。如上文進一步提到的,可施加直觀推斷以,例如,計及操作條件(諸如溫度)上的改變而非直接施加差的實施例係可行且經設想的。先前計算的差因此可藉由直觀推斷修改,以相對於在該等差的初始計算期間存在的操作條件計及目前操作條件。
實例系統:
接著轉向圖8,顯示系統800的一個實施例的方塊圖,該系統可合併及/或以其他方式利用本文描述的方法及機制。在所繪示實施例中,系統800包括系統單晶片(system on chip, SoC) 806的至少一個實例,該系統單晶片可包括多種類型的處理單元,諸如中央處理單元(central processing unit, CPU)、圖形處理單元(graphics processing unit, GPU)、或另外包括通訊網狀架構、及至記憶體及輸入/輸出裝置的介面。在一些實施例中,SoC 806中的一或多個處理器包括多個執行通道及指令發佈佇列。在各種實施例中,SoC 806耦接至外部記憶體802、週邊設備804、及電力供應器808。
亦提供電力供應器808,其將供應電壓供應至SoC 806以及將一或多個供應電壓供應至記憶體802及/或週邊設備804。在各種實施例中,電力供應器808代表電池組(例如,智慧型手機、膝上型電腦、或平板電腦、或其他裝置中的可再充電電池)。在一些實施例中,包括SoC 806之多於一個的實例(且亦包括多於一個的外部記憶體802)。
記憶體802係任何類型的記憶體,諸如動態隨機存取記憶體(dynamic random access memory, DRAM)、同步DRAM (SDRAM)、雙倍資料速率(DDR、DDR2、DDR3等)SDRAM(包括諸如mDDR3等的SDRAM的行動版本,及/或諸如LPDDR2等的SDRAM的低功率版本)、RAMBUS DRAM (RDRAM)、靜態RAM (SRAM)等。一或多個記憶體裝置經耦接至電路板上以形成記憶體模組,諸如單列記憶體模組(single inline memory module, SIMM)、雙列記憶體模組(dual inline memory module, DIMM)等。替代地,裝置係以疊層晶片(chip-on-chip)組態、疊層封裝(package-on-package)組態、或多晶片模組組態使用SoC或積體電路安裝。
所示實施例中的SoC 806可包括耦接至記憶體802的至少一個記憶體控制器,其中記憶體控制器及記憶體形成記憶體子系統。記憶體控制器可包括根據上文討論實行各種記憶體校準的校準電路。此等校準可包括水平校準以及本文揭示的邊限檢查校準。
週邊設備804取決於系統800的類型而包括任何期望的電路系統。例如,在一個實施例中,週邊設備804包括用於各種類型無線通訊的裝置,諸如Wi-Fi、藍牙、蜂巢式、全球定位系統等。在一些實施例中,週邊設備804亦包括額外儲存器,包括RAM儲存器、固態儲存器、或硬碟儲存器。週邊設備804包括使用者介面裝置,諸如顯示螢幕(包括觸控顯示螢幕或多觸控顯示螢幕)、鍵盤、或其他輸入裝置、麥克風、揚聲器等。
如所繪示的,系統800經顯示成具有在廣泛範圍之領域中的應用。例如,系統800可使用為桌上型電腦810、膝上型電腦820、平板電腦830、蜂巢式或行動電話840、或電視機850(或耦接至電視機的機上盒)的晶片、電路系統、組件等的部分。亦繪示智慧型手錶及健康監測裝置860。在一些實施例中,智慧型手錶860可包括多種通用計算相關功能。例如,智慧型手錶860可提供對電子郵件、手機服務、使用者日曆等的存取。在各種實施例中,健康監測裝置可係專用醫學裝置或否則包括專用健康相關功能性。例如,健康監測裝置可監測使用者之生命徵象,追蹤使用者對其他使用者的接近性以用於流行病皮社交距離之目的,接觸追跡、在健康危機之情況下向緊急服務提供通訊。流行病學功能(諸如接觸者追蹤(contact tracing))、提供對急診醫療服務之通訊等。在各種實施例中,上文所提及之智慧手錶可或可不包括一些或任何健康監測相關功能。亦設想到其他穿戴裝置,諸如圍繞頸部穿戴之裝置、可植入人體中之裝置、經設計以提供擴增及/或虛擬實境體驗的眼鏡等等。
系統800可進一步使用為(多種)基於雲端之服務870的部分。例如,先前所提及之裝置及/或其他裝置可存取雲端中的運算資源(亦即,遠端地定位硬體及/或軟體資源)。再進一步,系統800可使用在先前所提及者以外之居家的一或多個裝置中。例如,居家內之器具可監測及偵測值得關注之條件。例如,在居家內之各種裝置(例如,冰箱、冷氣系統等)可監測裝置之狀態,且提供應偵測到特定事件的警示給屋主(或例如修復設施)。替代地,恆溫器可監測家中之溫度,且可基於屋主對各種條件的回應歷史而自動調整溫氣/冷氣系統。圖8中亦繪示將系統800應用至各種運輸模式。例如,系統800可使用在航空器、火車、公車、出租汽車、私人汽車、從私人小船至遊輪的水面船隻、機車(用於租賃或自有)等的控制及/或娛樂系統中。在各種情形中,系統800可用以提供自動化引導(例如,自駕車輛)、通用系統控制、及其他。此等任何許多其他實施例皆可行及設想。應注意到繪示於圖8中的裝置及應用僅係說明性的且未意圖成為限制性的。其他裝置係可行且經設想的。
***
本揭露包括對「一實施例(an embodiment)」或「實施例」群組(groups of "embodiments")(例如,「一些實施例(some embodiment)」或「各種實施例(various embodiments)」)的引用。實施例係所揭露之概念的不同實施方案或例項。提及「一實施例(an embodiment)」、「一個實施例(one embodiment)」、「一特定實施例(a particular embodiment)」、及類似者不必然指稱相同實施例。設想大量可行的實施例,包括該些具體揭示者,以及落在本揭露之精神或範圍內的修改或替代例。
本揭露可討論可由所揭露之實施例產生的潛在優點。並非這些實施例之所有實施方案將必須表現潛在優點之任何者或全部。無論是針對特定實施方案所實現的優點是否取決於許多因素,其中一些者係在本揭露範圍外。事實上,落在申請專利範圍之範圍內的實施方案可能不會展現一些或所有任何所揭露之優點有許多原因。例如,一特定實施方案可包括本揭露範圍外的其他電路系統(結合所揭露實施例之一者)而使一或多個所揭露優點無效或減弱。此外,特定實施方案(例如,實施方案技術或工具)之次佳設計執行亦可使所揭露優點無效或減弱。即使假定經熟練的實施方案,優點的實現仍可取決於其他因素,諸如於其中部署該實施方案之環境情況。例如,施加至一特定實施方案的輸入可防止在此揭露中解決的一或多個問題免於出現在特定場合,結果係可能無法實現其解決方案的效益。考慮到本揭露外部的可能因素的存在,明確地意欲將本文所述的任何潛在優點並非解讀為必須符合請求項限制以證明侵權。而是,此類潛在優點之識別意欲說明具有本揭露之利益的設計者可用的(多種)改善類型。許可地描述的此類優點(例如,陳述特定優點「可引起」)並非意欲傳達實際上此類優點是否可實現的疑慮,而是認知到實現此類優點的技術現實常取決於額外因素。
除非另外陳述,否則實施例係非限制性的。即,所揭露之實施例並非意欲限制基於本揭露之草擬的申請專利範圍之範圍,即使僅描述關於一特定特徵的一單一實例。所揭露之實施例意欲係說明性而非限制,而在本揭露中沒有與此相反的任何陳述。因此,本申請案意欲允許申請專利範圍涵蓋所揭露之實施例以及此類替代例、修改例、與均等物,此等對於受益於本揭露之所屬技術領域中具有通常知識者來說將是顯而易見的。
例如,此申請案中的特徵可以任何合適的方式組合。據此,在此申請案之審查期間(或主張其優先權之申請案)可對特徵之任何此類組合制定新請求項。具體而言,參考隨附申請專利範圍,可組合來自獨立請求項之特徵與其他獨立請求項之特徵,若適當,包括依附於其他附屬請求項的請求項。類似地,若適當,可組合來自各別附屬請求項之特徵。
據此,雖然隨附的附屬請求項可經草擬,使得各依附於一單一其他請求項,但是亦設想額外相依性。與本揭露一致的附屬項之特徵的任何組合經設想且可在此申請案或另一申請案中主張。簡言之,組合不限於在隨附申請專利範圍中具體列舉者。
若適當,亦設想以一種格式或法定類型(例如,設備)草擬之請求項意欲支持另一種格式或法定類型(例如,方法)之對應請求項。
***
因為本揭露係一法律文件,所以各種用語及詞組可受到行政與司法解釋的規約。公告特此以下段落以及在整份揭露內容提供的定義將用於判定如何解釋基於本揭露所草擬的申請專利範圍。
除非上下文另有明確指定,否則提及項目的單數形式(即,名詞或名詞詞組之前有「一(a/an)」、或「該(the)」)意欲意指「一或多個(one or more)」)。因此,在一請求項提及「一項目(an item)」在沒有隨附上下文情況中不排除該項目的額外例項。「複數個(plurality)」項目係指二或更多個項目之一集合。
在本文中,字語「可(may)」在本文中以許可意涵使用(即,具有可能以、能夠),且非以強制意涵使用(即,必須)。
用語「包含(comprising)」及「包括(including)」及其形式係開放式,意指「包括但不限於(including, but not limited to)」。
當本揭露中關於一選項清單使用用語「或(or)」時,其通常將被理解為以包含性意涵使用,除非上下文另有提供。因此,陳述「x或y (x or y)」相當於「x或y、或兩者(x or y, or both)」,因此:1)涵蓋x,但不涵蓋y;2)涵蓋y,但不涵蓋x;及3)涵蓋x與y兩者。另一方面,諸如「x或y任何者但非兩者(either x or y, but not both)」的詞組清楚表明「或(or)」係以排他性含意意義使用。
陳述「w、x、y、或z、或其任何組合(w, x, y, or z, or any combination thereof)」或「...w、x、y、及z之至少一者(at least one of … w, x, y, and z)」意欲涵蓋涉及在該集合中的單一元件至多總數目個元件的所有可能性。例如,給定集合[w, x, y, z],這些詞組涵蓋該集合之任何單一元件(例如,w,但沒有x、y、或z (w but not x, y, or z))、任何二個元件(例如,w與x,但沒有y或z (w and x, but not y or z))、任何三個元件(例如,w、x與y,但沒有z (w, x, and y, but not z))、及所有四個元件。因此,詞組「...w、x、y、及z之至少一者(at least one of … w, x, y, and z)」係指該集合[w, x, y, z]之至少一個元件,藉此涵蓋此元件清單中的所有可行組合。此詞組並不解讀為需要w之至少一個例項、x之至少一個例項、y之至少一個例項、及z之至少一個例項。
在本揭露中,各種「標示」可置於名詞或名詞詞組之前。除非上下文另有提供,否則用於一特徵的不同標示(例如,「第一電路(first circuit)」、「第二電路(second circuit)」、「特定電路(specific circuit)」、「給定電路(given circuit)」等)係指該特徵的不同例項。額外地,除非另有說明,否則標示「第一(first)」、「第二(second)」、及「第三(third)」當施加至一特徵時並非意味任何類型的順序(例如,空間、時間、邏輯等)。
詞組「基於(based on)」係用以敘述影響一判定的一或多個因素。此用語不排除可能有額外因素可影響判定。意即,一判定可單獨基於特定因素,或基於該等特定因素以及其他未指出因素。考慮用語「基於B判定A(determine A based on B)」。此用語指出,B係一用以判定A之因素,或B影響A之判定。此用語不排除亦可基於一些其他因素例如C來判定A。此用語亦意欲涵括其中A係單獨基於B而判定的一實施例。如本文所用,用語「基於(based on)」與用語「至少部分地基於(based at least in part on)」同義。
詞組「回應於(in response to/response to)」描述觸發效應之一或多個因素。此詞組不排除額外因素可影響或以其他方式觸發效應的可能性,聯合特定因素或獨立於特定因素任一者。意即,一效應可係單獨回應於該等因素,或可回應於該等被指出因素以及其他未指出因素。考慮詞組「回應於B而執行A (perform A in response to B)」。此詞組指定B係觸發A的執行或觸發A的特定結果的因素。此詞組並不排除亦可回應於某個其他因素(諸如C)而執行A。此詞組亦不排除可聯合回應於B及C而執行A。此詞組亦意圖涵蓋僅回應於B而執行A的實施例。如本文中所使用的,詞組「回應於(responsive to)」與詞組「至少部分回應於(responsive at least in part to)」同義。類似地,詞組「回應於(in response to)」與詞組「至少部分回應於(at least in part in response to)」同義。
***
在本揭露中,不同的實體(其等可能被不同地稱為「單元(unit)」、「電路(circuit)」、其他組件等)可被描述或主張為「經組態(configured)」以執行一或多個任務或操作。此表示法(『實體』經組態以『執行一或多個任務』)在本文中係用以指稱結構(即,實體之物)。具體而言,此表示法係用以指示此結構係經配置以在操作期間執行該一或多個任務。即使一結構目前並未被操作,仍可稱該結構「經組態以(configured to)」執行一些任務。因此,經說明或敘述為「經組態以(configured to)」執行一些任務的一實體,係指實體之物,諸如裝置、電路、具有處理單元的系統、儲存有可執行用以實施該任務之程式指令的記憶體等。此詞組在本文中並非用以指稱無形之物。
在一些情況中,各種單元/電路/組件可在本文中描述為執行一組任務或操作。應理解,這些實體「經組態以(configured to)」執行該等任務/操作,即使未具體提及。
用語「經組態以(configured to)」並非意欲意指「可組態以(configurable to)」。例如,未經程式化的FPGA將不被視為「經組態以(configured to)」執行一特定功能。然而,此未經程式化的FPGA可係「可組態以(configurable to)」執行該功能。在適當程式化之後,接著,該FPGA可聲稱「經組態以(configured to)」執行特定功能。
為基於本揭露之美國專利申請案的目的,在一請求項中描述一結構「經組態以」執行一或多個任務係明確地意圖不援引35 U.S.C. § 112(f)對該請求項元件進行解讀。如果申請人意欲在基於本揭露的美國專利申請案的審查期間援引章節112(f),將使用「用以『執行一功能』之構件」這樣的句構來陳述請求項元件。
在本揭露中可描述不同的「電路(circuit)」。這些電路或「電路系統(circuitry)」構成包括各種類型電路元件的硬體,諸如組合式邏輯、時控儲存裝置(例如,正反器、暫存器、鎖存器等)、有限狀態機、記憶體(例如,隨機存取記憶體、嵌入式動態隨機存取記憶體)、可程式化邏輯陣列等。電路系統可經客製化設計或自標準程式庫取用。在各種實施方案中,電路系統可依需要包括數位組件、類比組件、或兩者之組合。某些類型的電路通常可稱為「單元(unit)」(例如,解碼單元、算術邏輯單元(ALU)、功能單元、記憶體管理單元(memory management unit, MMU)等)。此類單元亦指電路或電路系統。
因此,所揭露之電路/單元/組件及圖式中所繪示與本文所揭露的其他元件包括硬體元件,諸如前述段落中所述者。在許多例項中,可藉由描述一特定電路之功能來指定在該電路內之硬體元件的內部配置。例如,一特定「解碼單元(decode unit)」可描述為執行「處理指令的作業碼,並將該指令路由到複數個功能單元中之一或多者(processing an opcode of an instruction and routing that instruction to one or more of a plurality of functional units)」的功能,其意指該解碼單元「經組態以(configured to)」執行此功能。本功能之說明書對電腦技術領域中具有通常知識者足以意味著用於該電路之一組可行結構。
在各種實施例中,如前述段落中所討論的,電路、單元、及其他元件可藉由其等經組態以實施的功能或操作界定。該配置及相關於彼此的此類電路/單元/組件及其等互動的方式形成硬體的微架構定義,該硬體最終製造在積體電路中或經程式化至FPGA中以形成微架構定義之實體實施方案。因此,該微階層性定義係由所屬技術領域中具有通常知識者所認知為許多實體實施方案可自其衍生的結構,其等所有皆落入該微階層性定義係所描述之廣泛結構內。即,提出根據本揭露所提供之微階層性定義的具有通常知識的技術人員可在無需過度實驗且在應用通常知識之情況中,藉由以硬體描述語言(hardware description language, HDL)(諸如Verilog或VHDL)編碼電路/單元/組件的描述來實施該結構。HDL描述常以可呈功能性之方式表達。但是對於所屬技術領域中具有通常知識者,此HDL描述係用於將電路、單元、或組件的結構變換成下一層級之實施方案細節的方式。此一HDL描述可採取行為程式碼(其一般並非可合成的)、暫存器傳送語言(register transfer language, RTL)程式碼(其一般係可合成,對比於行為程式碼)、或結構性程式碼(例如,指定邏輯閘及其等連接性的接線對照表)之形式。隨後,HDL描述可依據針對一給定積體電路製造技術所設計的元件庫而合成,且可針對時序、功率及其他原因進行修改以產生一最終設計資料庫,該最終設計資料庫傳送至製造廠以製造遮罩,最後生產出積體電路。一些硬體電路或其部分亦可在一簡圖編輯器(schematic editor)中經客製化設計,並隨合成電路系統被轉移至積體電路設計中。積體電路可包括電晶體及其他電路元件(例如,被動元件諸如電容器、電阻器、電感器等)及電晶體與電路元件間之互連件。一些實施例可實施多個積體電路,該多個積體電路經耦接在一起以實施硬體電路,且/或在一些實施例中可使用離散元件。替代地,HDL設計可經合成至一可程式化邏輯陣列,諸如現場可程式化閘陣列(FPGA),且可於FPGA中實施。此電路群組之設計與這些電路的後續下層實施方案之間的解耦通常導致以下情境,其中當此程序係在電路實施程序的一不同階段執行時,電路或邏輯設計者從不針對下層實施方案指定超出電路經組態以執行動作之描述的特定一組結構。
事實上,電路元件之許多不同的下層組合可用以實施相同規格電路,導致該電路的大量等效結構。如所提及,這些下層電路實施方案可根據製造技術的變化、經選擇以製造積體電路的製造廠、針對一特定專案所提供之元件庫等而變化。在許多情況中,由不同設計工具或方法論進行選擇,以產生此等不同實施方案可係任意的。
此外,對於電路之特定功能規格的單一實施方案常見的是,針對給定實施例,包括大量裝置(例如,數百萬的電晶體)。據此,數量龐大的此資訊使得提供完整陳述用以實施單一實施例之下層結構係不切實際的,更別說是龐大陣列的等效可行實施方案。出於此原因,本揭露描述使用產業中通常採用的功能速記的電路結構。
對於所屬技術領域中具有通常知識者而言,一旦已完全瞭解上述揭示內容,則眾多變化及修改將變得顯而易見。意欲將以下申請專利範圍解釋為涵蓋所有此等變化及修改。
100:記憶體子系統
105:記憶體控制器
106:校準電路
107:儲存電路
110:記憶體
205:記憶體控制器
206:校準控制電路;校準電路
207:儲存電路
210:狀態機
211:眼計算器;眼計算器電路;眼計算電路
214:實體介面
218:資料比較器
220:收發器
230:延遲電路
300:系統
305:記憶體控制器
310-1:記憶體
310-2:記憶體
320:電力管理電路
321:時脈產生器
325:電力轉換器
500:方法
505:方塊
510:方塊
515:方塊
520:方塊
525:方塊
600:方法
605:方塊
615:方塊
620:方塊
625:方塊
630:方塊
635:方塊
700:方法
705:方塊
710:方塊
715:方塊
720:方塊
725:方塊
730:方塊
800:系統
802:外部記憶體;記憶體
804:週邊設備
806:系統單晶片(SoC);SoC
808:電力供應器
810:桌上型電腦
820:膝上型電腦
830:平板電腦
840:蜂巢式或行動電話
850:電視機
860:智慧型手錶及健康監測裝置;智慧型手錶
870:基於雲端之服務
Cal:校準信號
Clk_In:時脈信號;可變頻率時脈信號
Dly_Ctl:延遲控制信號;信號
DQ[N-1:0]:資料信號路徑;信號路徑;信號
DQ_In:信號路徑;輸入
DQ_Out:資料匯流排;信號路徑
DQS:資料選通信號
Fctrl:標籤
H:高度
ReadV:信號路徑
T:時間軸
V:電壓軸
Vctrl:信號
Vdd:供應電壓;可調整供應電壓
W:寬度
下文實施方式將參照隨附圖式,以下將簡單說明隨附圖式。
〔圖1〕係記憶體子系統的一個實施例的方塊圖。
〔圖2〕係記憶體控制器的一個實施例的方塊圖。
〔圖3〕係系統的一個實施例的方塊圖。
〔圖4〕係邊限檢查校準的一個實施例的圖形繪示。
〔圖5〕係用於操作記憶體子系統的一個實施例流程圖的流程圖。
〔圖6〕係用於操作記憶體子系統的流程圖的一個實施例的流程圖。
〔圖7〕係用於操作記憶體子系統的流程圖的一個實施例的流程圖。
〔圖8〕係實例系統的一個實施例的方塊圖。
100:記憶體子系統
105:記憶體控制器
106:校準電路
107:儲存電路
110:記憶體
Clk_In:時脈信號;可變頻率時脈信號
Vdd:供應電壓;可調整供應電壓
Claims (20)
- 一種設備,其包含: 一記憶體;及 一記憶體控制器,其耦接至該記憶體,其中該記憶體控制器包括一校準電路,該校準電路經組態以: 在一初始化程序期間對複數個效能狀態的多者執行水平記憶體校準;及 判定指示該複數個效能狀態的多個對的校準結果之間的一組差的資訊並儲存該資訊在一儲存電路中; 其中該記憶體控制器進一步經組態以在該初始化程序之後且回應於從該複數個效能狀態的一第一者至該複數個效能狀態的一第二者的一改變而: 設定用於該第二效能狀態之基於該組差的初始記憶體參數;及 在該第二效能狀態中開始操作而無需執行一初始水平校準。
- 如請求項1之設備,其中該複數個效能狀態的一者的一給定效能狀態包括相對於該複數個效能狀態之其他者的一操作電壓及一時脈頻率的一獨特組合。
- 如請求項1之設備,其中該校準電路進一步經組態以在該第二效能狀態中操作之後執行一邊限檢查校準,其中為了執行該邊限檢查校準,該校準電路進一步經組態以: 判定在一第一點的一校準結果是否提供通過結果,其中該第一點對應於小於一經校準延遲點的一延遲值;及 判定在一第二點的一校準結果是否提供通過結果,其中該第二點對應於大於該經校準延遲點的一延遲值。
- 如請求項3之設備,其中該校準電路經組態以回應於判定在該第一點及在該第二點的該等校準結果係通過結果而跳過在該第二效能狀態中執行一完整水平校準。
- 如請求項3之設備,其中該校準電路進一步經組態以: 回應於判定在該第一點及在該第二點的該等校準結果中之至少一者未通過而在該第二效能狀態中執行一完整水平校準;及 基於該完整水平校準的結果更新該組差。
- 如請求項3之設備,其中該校準電路進一步經組態以將在進入該第二效能狀態之後執行該邊限檢查校準的一次數限制至一臨限值,且回應於判定該邊限檢查校準已執行的該次數超過該臨限而執行一完整水平校準而非該邊限檢查校準。
- 如請求項1之設備,其中在執行一水平校準時,該校準電路經組態以一特定參考電壓及以施加至一資料選通信號的不同延遲值執行至記憶體的資料寫入及自該記憶體的資料讀取。
- 如請求項1之設備,其中該記憶體包含一多秩記憶體系統,該多秩記憶體系統具有共用該記憶體控制器與該記憶體之間的一組共同信號路徑的一第一組記憶體電路及一第二組記憶體電路。
- 如請求項1之設備,其中該校準電路進一步經組態以在該初始化程序之後,在該複數個效能狀態的該第一者中的操作期間且在改變至該複數個效能狀態的該第二者之前執行一或多個週期性水平校準,且進一步經組態以基於在轉變至該第二效能狀態之前在該複數個效能狀態中的該第一者中執行的一最新水平校準而設定用於該複數個效能狀態的該第二者的初始記憶體參數。
- 如請求項1之設備,其中該初始化程序包含一系統起動。
- 一種方法,其包含: 在一初始化程序期間藉由一記憶體控制器對複數個效能狀態的多者執行水平記憶體校準; 藉由該記憶體控制器判定該複數個效能狀態的多個對的校準結果之間的一組差; 藉由該記憶體控制器儲存指示該組差的資訊; 在該初始化程序之後且回應於從該複數個效能狀態的一第一者至該複數個效能狀態的一第二者的一改變而: 設定用於該複數個效能狀態的該第二者之基於該組差的初始記憶體參數;及 使用該等初始記憶體參數在該複數個效能狀態的該第二者中開始操作而無需執行一初始水平記憶體校準。
- 如請求項11之方法,其進一步包含使用一校準電路執行一邊限檢查校準,其中執行該邊限檢查校準包含: 判定在一第一點的一校準結果是否提供通過結果,其中該第一點對應於小於一經校準延遲點的一延遲值;及 判定在一第二點的一校準結果是否提供通過結果,其中該第二點對應於大於該經校準延遲點的一延遲值。
- 如請求項12之方法,其進一步包含回應於判定在該第一點及在該第二點的校準結果係通過結果而跳過在該複數個效能狀態的該第二者中執行一完整水平校準。
- 如請求項13之方法,其進一步包含若來自該第一點及該第二點的一者的該等校準結果中之至少一者未產生一通過結果,執行一完整水平校準。
- 如請求項11之方法,其中該複數個效能狀態的一者的一給定效能狀態包括相對於該複數個效能狀態之其他者的一操作電壓及一時脈頻率的一獨特組合。
- 如請求項11之方法,其中該初始化程序包含一起動常式。
- 一種系統,其包含: 一記憶體子系統,其具有耦接至一記憶體的一記憶體控制器,其中該記憶體控制器包括一校準電路,該校準電路經組態以在一初始化程序期間對複數個效能狀態的多者執行水平記憶體校準;及一儲存電路,其經組態以儲存指示該複數個效能狀態的多個對的校準結果之間的一組差的資訊;及 一電力管理電路,其經組態以將該記憶體子系統的操作從該複數個效能狀態的一第一者改變至該複數個效能狀態的一第二者; 其中該記憶體控制器進一步經組態以在該初始化程序之後且回應於從該複數個效能狀態的一第一者至該複數個效能狀態的一第二者的一改變而設定用於該第二效能狀態之基於該組差的初始參數,及在該第二效能狀態中開始操作而無需執行一初始水平校準。
- 如請求項17之系統,其中該複數個效能狀態的一者的一給定效能狀態包括相對於該複數個效能狀態之其他者的一操作電壓及一時脈頻率的一獨特組合。
- 如請求項17之系統,其中該校準電路經組態以執行一邊限檢查校準,該邊限檢查校準包含判定在一第一點及在一第二點的校準結果是否提供通過結果,在其中該第一點對應於小於一經校準延遲點的一延遲值且其中該第二點對應於大於該經校準延遲點的一延遲值;且其中該校準電路進一步經組態以回應於判定在該第一點及在該第二點的該等校準結果係通過結果而跳過在該第二效能狀態中執行一完整水平校準。
- 如請求項17之系統,其中該初始化程序包含一系統起動常式。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/929,212 US12014060B2 (en) | 2022-09-01 | 2022-09-01 | Memory calibration and margin check |
US17/929,212 | 2022-09-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202412011A true TW202412011A (zh) | 2024-03-16 |
Family
ID=90060576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112133202A TW202412011A (zh) | 2022-09-01 | 2023-09-01 | 記憶體校準及邊限檢查 |
Country Status (3)
Country | Link |
---|---|
US (2) | US12014060B2 (zh) |
TW (1) | TW202412011A (zh) |
WO (1) | WO2024049542A1 (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6788593B2 (en) | 2001-02-28 | 2004-09-07 | Rambus, Inc. | Asynchronous, high-bandwidth memory component using calibrated timing elements |
US9558850B1 (en) | 2015-12-01 | 2017-01-31 | International Business Machines Corporation | Efficient calibration of a data eye for memory devices |
US9666264B1 (en) | 2016-06-21 | 2017-05-30 | Apple Inc. | Apparatus and method for memory calibration averaging |
KR102697889B1 (ko) * | 2016-09-21 | 2024-08-22 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10408863B2 (en) | 2017-12-20 | 2019-09-10 | Apple Inc. | Reference voltage prediction in memory subsystem |
US11527269B2 (en) * | 2019-12-17 | 2022-12-13 | Apple Inc. | Memory channels calibration during boot wherein channels are calibrated in parallel based on identifers |
US11217285B1 (en) | 2020-08-05 | 2022-01-04 | Apple Inc. | Memory subsystem calibration using substitute results |
US11152073B1 (en) * | 2020-08-07 | 2021-10-19 | Micron Technology, Inc. | Iterative read calibration enhanced according to patterns of shifts in read voltages |
US11392312B2 (en) | 2020-08-25 | 2022-07-19 | Micron Technology, Inc. | Read calibration based on ranges of program/erase cycles |
US11862224B2 (en) | 2021-01-22 | 2024-01-02 | Realtek Semiconductor Corp. | Method for performing memory calibration, associated system on chip integrated circuit and non-transitory computer-readable medium |
US11501820B2 (en) | 2021-02-22 | 2022-11-15 | Apple Inc. | Selective reference voltage calibration in memory subsystem |
-
2022
- 2022-09-01 US US17/929,212 patent/US12014060B2/en active Active
-
2023
- 2023-07-03 WO PCT/US2023/026855 patent/WO2024049542A1/en active Application Filing
- 2023-09-01 TW TW112133202A patent/TW202412011A/zh unknown
-
2024
- 2024-05-08 US US18/658,740 patent/US20240295976A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2024049542A1 (en) | 2024-03-07 |
US12014060B2 (en) | 2024-06-18 |
US20240295976A1 (en) | 2024-09-05 |
US20240078029A1 (en) | 2024-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11501820B2 (en) | Selective reference voltage calibration in memory subsystem | |
US11776597B2 (en) | Memory subsystem calibration using substitute results | |
US12028437B2 (en) | Precise time management using local time base | |
US9672882B1 (en) | Conditional reference voltage calibration of a memory system in data transmisson | |
KR102725566B1 (ko) | 멀티-다이 전력 동기화 | |
US20240211151A1 (en) | Concurrent Write Data Strobe and Reference Voltage Calibrations | |
US11226752B2 (en) | Filtering memory calibration | |
TW202412011A (zh) | 記憶體校準及邊限檢查 | |
US20230112432A1 (en) | Dynamic setup and hold times adjustment for memories | |
US11868109B2 (en) | Sensor interface circuit controller for multiple sensor types in an integrated circuit device | |
US11687115B2 (en) | Precise time management for peripheral device using local time base | |
US10304530B2 (en) | Per-pin compact reference voltage generator | |
TWI870031B (zh) | 具有可組態功能性的設備及用以組態具有可組態功能性之積體電路的方法 | |
US20190379363A1 (en) | PTAT Ring Oscillator Circuit | |
TWI836579B (zh) | 基於限制硬體強制電力控制之電力管理 | |
TW202429327A (zh) | 積體電路中的功能電路區塊收集 | |
EP4416729A1 (en) | Dynamic setup and hold times adjustment for memories | |
CN118103908A (zh) | 存储器的动态设置时间和保持时间调节 |