TWI452576B - 包括具固定資料輸出等待時間之記憶體塊的記憶體裝置 - Google Patents
包括具固定資料輸出等待時間之記憶體塊的記憶體裝置 Download PDFInfo
- Publication number
- TWI452576B TWI452576B TW100103403A TW100103403A TWI452576B TW I452576 B TWI452576 B TW I452576B TW 100103403 A TW100103403 A TW 100103403A TW 100103403 A TW100103403 A TW 100103403A TW I452576 B TWI452576 B TW I452576B
- Authority
- TW
- Taiwan
- Prior art keywords
- clock
- memory
- signal
- data
- memory block
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- 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
-
- 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/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- 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
- 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/2272—Latency related aspects
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/04—Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Read Only Memory (AREA)
- Memory System (AREA)
Description
本發明係關於一種記憶體系統,特別是有關一種管線式記憶體電路(pipelined memory circuits)。
多數電腦系統必須使用某些類型的隨機存取記憶體(Random Access Memory,RAM)。基於成本考量,常會在揮發性記憶體(volatile memory)之應用中使用屬於動態隨機存取記憶體(Dynamic RAM,DRAM)家族之記憶體裝置。與其他記憶體一樣,當DRAM接收一讀取指令時,其輸出資料需要經過一段時間,這段時間通常被稱為讀取等待時間(read latency)或存取時間(access time)。目前有一種動態隨機存取記憶體,即大家熟知之同步動態隨機存取記憶體(synchronous DRAM),係使用管線式架構(pipelined architecture)實施,來些許縮短讀取等待時間,於該管線式架構中,讀取延遲延續(stretch)在多個週期中,但新指令則是每一個週期發出。藉由這種技術可以增加記憶體裝置之有效資料輸出頻寬(effective data output bandwidth),即可以減少讀取週期時間(read cycle time)。當使用管線式架構時,片段的讀取週期時間(phrase read cycle time)一般用來表示為連續的讀取輸出資料輸出週期之間的時間或期間。
許多習知管線式架構之記憶體裝置在讀取位址路徑(read address path)及資料輸出時脈路徑(data output clock path)中使用循序邏輯時脈受控儲存裝置(sequential logic clocked storage device),例如閂鎖器(latch)、正反器(flip-flop)等等。該等循序邏輯時脈受控儲存裝置可以由系統時脈或系統時脈衍生的訊號來作時脈控制。因此,已知系統時脈之頻率,記憶體裝置具有對應該頻率之週期。然而,一旦系統時脈之頻率改變,週期也會改變。這種隨著頻率改變而有不同週期的情況會造成無法維持固定讀取延遲的問題。
本發明之一目的在於提供一種具固定讀取資料輸出等待時間之記憶體塊的記憶體裝置之各種實施例。於一實施例中,該記憶體塊包括一記憶體電路及一輸出時脈單元。該記憶體電路包括一記憶體核心,該記憶體核心係構成以回應於接收一讀取指令以輸出讀取資料。該記憶體電路係進一步構成以回應於具有選擇性延遲之時脈訊號的時脈控制而從該記憶體核心輸出該讀取資料。該延遲係取決於該記憶體塊接收到該讀取指令之後,該記憶體核心輸出該讀取資料所費的時間而定。該輸出時脈單元可以構成以回應於藉由一選定版資料時脈訊號作的時脈控制,以使該輸出時脈單元從該記憶體電路抓取該讀取資料並使得該讀取資料作為該記憶體塊之一輸出。該選定版資料時脈訊號係從一系統時脈之複數個時脈邊緣之一所產生的複數個時脈邊緣之一所選出,以使無論該系統時脈之操作頻率為何,係在該記憶體塊接收該讀取指令一預定時間之後提供該讀取資料作為該記憶體塊的輸出。
以下結合附圖對本發明的實施例進行詳細說明。然而應當瞭解圖示及實施方式並非使申請專利範圍限制於揭露的特定實施例,即使對於特定技術特徵僅揭露一個實施例也並非限制於該實施例。相反地,應當涵蓋本發明所屬技術領域中具有通常知識者能根據揭露內容所作的改變、等效及替換。除非特別描述,否則實施例僅為舉例而非限制。
說明書中”可以”之描述表示為許可(即有可能)之意,而非強制(即必須)之意。類似的道理,”包括”之描述並非限制之意。
各單元、電路或其他元件可以描述為”構成”或”用以”執行工作。於上下文中,”構成”或”用以”為最寬廣之描述,通常指具有電路系統在操作中執行工作,即使單元/電路/元件並未說明於工作狀態也可以執行工作。一般來說,電路系統包括硬體電路。類似的道理,為了方便說明,各單元、電路或其他元件也可以直接描述執行工作而省略”構成”或”用以”的描述。
請參閱第1圖,係繪示根據本發明一實施例之一記憶體塊(memory block)10方塊圖。該記憶體塊10包括一記憶體電路100耦接至一時脈產生單元110。該記憶體電路100包括一正反器(flip-flop,FF)101耦接至一記憶體核心102之一輸入。該記憶體核心102之一輸出耦接至一正反器103。如圖所示,該正反器101之該輸入耦接以接收一讀取及位址輸入指令RADD[M:0](以下稱為RADD[M:0]訊號),且係由一記憶體時脈訊號MCLK(以下稱為MCLK訊號)時脈控制。該記憶體電路100進一步包括一可調式延遲單元104耦接以接收一讀取致能訊號RDEN(以下稱為RDEN訊號)。該可調式延遲單元104同樣由MCLK訊號時脈控制並產生一對該正反器103時脈控制之管線式時脈訊號PCLK(以下稱為PCLK訊號)。要注意的是,RADD[M:0]訊號對應至一包括M+1個訊號路徑之多訊號路徑。因此,該正反器101可以表示為多正反器的實施架構,其中每一個訊號路徑對應至一個正反器101。
於本實施例中,該時脈產生單元110包括一除頻器111耦接以接收一系統時脈訊號SCLK(以下稱SCLK訊號),並提供該MCLK訊號給該記憶體電路100(於一實施例中,該MCLK訊號之頻率可以為小於該SCLK訊號一倍之頻率)。該時脈產生單元110還包括串接之正反器,例如FF113A、FF113B、FF113N,各正反器分別由SCLK訊號時脈控制。該串接之正反器之輸入係耦接以接收該RDEN訊號。該串接正反器之各輸出耦接至多工器(multiplexer,mux)117之各輸入。該多工器117之選擇輸入耦接至一可以為多位元的DSEL訊號。該多工器117之輸出耦接至該正反器112之時脈輸入。該正反器112之輸入耦接以接收該正反器103之輸出,其中該正反器103之輸出以DOBANK[N:0]訊號表示。上述訊號在SCLK訊號不同頻率時之時序圖如第2A圖至第2D圖所示,並進一步說明如下。要注意的是,雖然第1圖中串接之正反器僅以三個正反器裝置FF113A、FF113B、FF113N為例,惟應暸解串接之正反器之數量可以為n個,其中n為正整數。此外還需注意的是,與多訊號路徑之RADD[M:0]訊號類似,DOBANK[N:0]訊號及DOUT[N:0]訊號分別代表包括N+1個資料路徑之多位元資料路徑。
於一實施例中,該記憶體電路100經由輸入至該正反器101之RADD[M:0]訊號接收讀取位址及讀取指令。當MCLK訊號對該正反器101時脈控制時,該正反器101抓取(catch,即暫時儲存)RADD[M:0]訊號並提供MADD[M:0]訊號給該記憶體核心102,使得讀取操作經由該記憶體核心102開始進行。一段時間之後,讀取資料會出現於該記憶體核心102之輸出並作為該正反器103之輸入。部份額外的讀取操作能同時在該記憶體核心102中同步進行(例如每一個MCLK訊號之週期進行一額外的讀取操作),使得該記憶體核心102可以提供讀取資料給該正反器103(例如在MCLK訊號頻率時)。因此,PCLK訊號必須在適當的時間對該正反器103時脈控制,該正反器103才能從該記憶體核心100抓取每一讀取資料。當PCLK訊號對該正反器103時脈控制時,讀取資料出現在該正反器103之輸出以作為DOBANK[N:0]訊號。
然而,讀取週期會因為各種因素而改變。舉例來說,記憶體時序會因為製程變化、操作電壓及溫度變化而改變。為了容納(accommodate)可能改變的讀取資料輸出視窗(read data output window),該可調式延遲單元係構成以調整PCLK訊號之相位以便能正確地對該正反器103時脈控制,讓該正反器103能從該記憶體核心102抓取讀取資料。於一實施例中,該記憶體核心102可以為具任何數量之記憶單元(memory cell)之記憶體陣列(memory array),或是可以在各種製造階段,例如於第一矽測試(first silicon testing)階段,被特性化為在製程、電壓及溫度邊界(process,voltage and temperature corners)下具有最佳讀取週期時序(optimum read cycle timing)。於一實施例中,該可調式單元104可以包含複數個由DELC訊號選擇之選擇性延遲階段。DELC訊號可以為記憶體控制器(如第4圖所示)所提供之多位元訊號,或是例如由系統主板(system board)上之硬體連線訊號(hardwired signals)或跳線元件(jumpers)所提供。於另一實施例中,對應至DELC訊號之延遲訊號可以被提供至該記憶體控制器,然後再由該記憶體控制器提供DELC訊號給該可調式延遲單元104。於部分實施例中,當DELC訊號由該記憶體控制器提供時,可以在操作過程中動態地改變DELC訊號之值。舉例來說,於一實施例中,內建自我測試程序(built-in self-test routine)可以指示時序不精確,該記憶體控制器可以改變DELC訊號來修正PCLK訊號的時序直到內建自我測試程序通過。
如果SCLK訊號之頻率改變,雖然可如第2A圖至第2D圖所示調整PCLK訊號來應付記憶體核心讀取資料輸出時序的改變,但是讀取資料輸出(即DOBANK[N:0]訊號)也會因為MCLK訊號及PCLK訊號隨著SCLK改變而改變。為致力提供讀取延遲跨越系統時脈頻率變化的固定讀取等待時間(latency),係使用額外補償。
更明確而言,如第1圖所示,DOBANK[N:0]訊號係提供至該正反器112。該正反器112由DCLK訊號時脈控制以提供資料輸出(DOUT[N:0]訊號)。DCLK訊號係由該多工器117選擇包括正反器113A-113N之串接之正反器之一輸出而產生。DCLK訊號的各版(version)係由SCLK訊號對各正反器113A、113B、113N時脈控制並以RDEN訊號作為串接之正反器之起始而產生。如第2A圖至第2D圖所示,隨著SCLK訊號之期間增加,可以藉由選擇DCLK訊號之適當版來對該正反器112時脈控制,使得該正反器112於該記憶體塊10接收RADD[M:0]訊號一預定時間之後正確地抓取DOBANK[N:0]訊號並輸出DOUT[N:0]訊號。藉此,無論SCLK之頻率為何,可使DOUT[N:0]訊號具有固定的讀取資料輸出延遲。
與DELC訊號類似,多工選擇訊號即DSEL訊號也可以是記憶體控制器(如第4圖所示)所提供之多位元訊號。於一實施例中,對於一特定頻率可以選擇該串接之正反器之一特定的個別輸出。如下結合第4圖之詳述,該記憶體控制器可以使用一查找表(look-up table)、一組態暫存器(configuration register)或其他適合的組態機制(configuration mechanism)去選擇以SCLK訊號之頻率為基礎的DCLK訊號。
要注意的是,雖然上述實施例中名為正反器,應當瞭解凡是以時脈控制之任何形式之儲存裝置都可以使用,例如暫存器(register)、閂鎖器(latch)等等。
第2A圖至第2D圖係繪示第1圖之記憶體塊10之時序圖之各種實施例。更明確而言,各時序圖係圖示SCLK訊號操作在不同頻率時,使該記憶體塊10具有固定讀取資料輸出等待時間之SCLK訊號(即系統時脈)及DCLK訊號(用以調整延遲及輸出)之不同時序組合。
請參閱第2A圖,係描述第1圖之記憶體塊100之時序圖之一實施例。該時序圖圖示數個訊號,時間從左至右開始。更明確而言,圖中最上方之系統時脈(SCLK訊號)為第一個訊號,然後依序為讀取指令/位址訊號(RADD[M:0]訊號)、記憶體時脈訊號(MCLK訊號)、管線式時脈訊號(PCLK訊號)、該正反器103之讀取資料輸出(DOBANK[N:0]訊號)、讀取致能訊號(RDEN訊號)、資料時脈(DCLK訊號)及資料輸出訊號(DOUT[N:0]訊號)。
如圖所示,SCLK訊號之週期為1ns(nano-second),即頻率為1GHz(giga-hertz),1ns週期係對應至例如實施10G串列化器及解串列化器(10Gbps(giga-bit per second) SerDes)時所使用之系統時脈。如第1圖所示,SCLK訊號起始之上升邊緣(leading edge)產生MCLK訊號(如箭頭所示)。此外,MCLK訊號之頻率係由SCLK訊號之頻率除以四而產生。RADD[M:0]訊號於SCLK訊號之第一週期內及每隔四個週期(即每隔250MHz(mega-hertz))為有效(active)。因此,MCLK訊號之上升邊緣(rising edge)使得該正反器101抓取RADD[M:0]訊號並提供MADD[M:0]訊號給該記憶體核心102之輸入。如上所述,該可調式延遲單元104從MCLK訊號產生PCLK訊號(如箭頭所示)。因此如第2A圖所示,PCLK訊號係經過適當的延遲而產生,以從該記憶體核心102抓取讀取資料輸出並提供讀取資料作為輸出的DOBANK[N:0]訊號。如圖所示,PCLK訊號之第一上升邊緣發生在6ns左右,代表本實施例之記憶體核心等待時間或記憶體核心存取時間為6ns左右。
此外,如上所述,DOBANK[N:0]訊號係提供至由DCLK訊號時脈控制之正反器112之輸入。DCLK訊號係從數個版中選擇,各版係由SCLK訊號不同的上升邊緣觸發(triggered)。於第2A圖中,DCLK訊號大致與第八個SCLK訊號的邊緣對齊。因此,RADD[M:0]訊號被輸入至該記憶體塊10之後8ns左右,DOUT[N:0]訊號為可使用的。因此對於250MHz之記憶體讀取週期及6ns左右之記憶體核心讀取等待時間而言,記憶體塊等待時間約為8ns。
請參閱第2B圖,係繪示第1圖之該記憶體塊10之時序圖之另一實施例。第2B圖之時序圖與第2A圖之時序圖類似。不過如第2B圖所示,SCLK訊號之週期為2ns,即其操作頻率為500MHz,2ns週期係對應至例如實施5G SerDes時所使用之系統時脈。
如圖所示,MCLK訊號與SCLK訊號之頻率比為1:4,因此記憶體讀取週期為125MHz。故若RADD[M:0]訊號在MCLK訊號之第一上升邊緣被抓取及輸入至該記憶體核心102,約6ns之後由PCLK訊號抓取該正反器103中所提供而由該記憶體核心102輸出的DOBANK[N:0]訊號。
當DOBANK[N:0]訊號可使用時,選擇DCLK訊號之第一邊緣來抓取DOBANK[N:0]訊號。如第2B圖所示,選擇DCLK訊號之一版以使RADD[M:0]訊號輸入至該記憶體塊10之後8ns左右出現DOUT[N:0]訊號,約與第2A圖之時序相同。然而如第2B圖所示,只使用四個SCLK訊號邊緣而非八個訊號邊緣產生DCLK訊號來獲得8ns之讀取資料輸出等待時間。
請參閱第2C圖,係繪示第1圖之該記憶體塊10之時序圖之又一實施例。第2C圖之時序圖與第2A圖之時序圖類似。具體而言,選擇DCLK訊號之一版以使RADD[M:0]訊號輸入至該記憶體塊10之後8ns左右出現DOUT[N:0]訊號(八個SCLK訊號之週期),約與第2A圖及第2B圖之時序相同。
然而,如第2C圖之箭頭所示,PCLK訊號之第一上升邊緣發生在MCLK訊號之第二週期並由MCLK訊號之第二上升邊緣所產生,但是於第2A圖中,PCLK訊號之第一上升邊緣由MCLK訊號之第一上升邊緣所產生。於第2B圖中,PCLK訊號之第一上升邊緣發生在MCLK訊號之第一週期中並由MCLK訊號之第一上升邊緣所產生。因此,該可調式延遲單元104可以構成以使用MCLK訊號超過一個以上的邊緣而在相當寬的視窗(window)中調整PCLK訊號的延遲,以符合記憶體核心等待時間的寬廣變化。
請參閱第2D圖,係繪示第1圖之該記憶體塊10之時序圖之又一實施例。第2D圖之時序圖與第2C圖之時序圖類似。然而,第2D圖中SCLK訊號之週期為1.67ns,即其操作頻率為600MHz,1.67ns週期係對應至例如實施6G SerDes時所使用之系統時脈。
如圖所示,MCLK訊號與SCLK訊號之頻率比也是1:4,因此記憶體讀取週期約為150MHz。然而使用該圖之時序時,MCLK訊號之週期(6.7ns)大於該記憶體核心102所具有之約6ns的等待時間。因此MCLK訊號至PCLK訊號的延遲需很小或最小,否則資料會在該正反器103之輸入而未被使用。因此於第2D圖中,約7.5ns時PCLK訊號抓取該正反器103中所提供而從該記憶體核心102輸出之DOBANK[N:0]訊號。第2D圖中MCLK訊號至PCLK訊號之延遲小於第2D圖,這是因為第2D圖中MCLK訊號之週期結束時,在該記憶體核心102之輸出的讀取資料還不能使用。
於第2D圖中,當DOBANK[N:0]訊號可使用時,藉由選擇DCLK訊號之第一上升邊緣來抓取DOBANK[N:0]訊號。如第2D圖所示,給定SCLK訊號的可用邊緣時,選擇DCLK訊號之一版以使DOUT[N:0]訊號盡可能越接近8ns發生。如圖所示,RADD[M:0]訊號輸入至該記憶體塊10之後,DOUT[N:0]訊號在8.33ns左右出現,其等待時間約與第2A圖至第2C圖之時序相同。因此,如第2D圖所示,只使用五個SCLK訊號邊緣而非第2C圖之八個訊號邊緣產生DCLK訊號來獲得8.33ns之讀取資料輸出等待時間。
於第3圖中,係繪示第1圖之該記憶體塊10之操作流程圖之一實施例。請同時參閱第1圖至第3圖,流程圖開始的區塊301中,基於該記憶體核心102之讀取存取時間,選擇已延遲版MCLK訊號之(例如PCLK訊號)適當延遲。於一實施例中,決定系統時脈之頻率(區塊303)並選擇一對應之資料輸出時脈(區塊305)。更明確而言,如上所述,一特定資料輸出時脈(DCLK訊號)版係取決於SCLK訊號之頻率來選擇。各版係由SCLK訊號不同邊緣時脈控制。
因此,已延遲之PCLK訊號係提供至該正反器103以使該正反器103從該記憶體核心102抓取讀取資料(區塊307)。選定版輸出資料時脈(DCLK訊號)係提供至該正反器112以從該記憶體區塊10輸出讀取資料(區塊309)。藉此無論SCLK訊號之頻率為何,讀取資料輸出等待時間都可以固定為一預先決定之等待時間。
請參閱第4圖,係繪示包括第1圖之記憶體塊10之一記憶體系統500之一實施例。該記憶體系統500包括一記憶體控制器510耦接以接收延遲控制訊號(例如DELC訊號及DSEL訊號)、指令、位址及資料(例如RADD[M:0]訊號及RDEN訊號)。如圖所示,RADD[M:0]訊號及RDEN訊號可以經由接收SerDes(Rx SerDes)單元525被接收。於一實施例中,該等延遲控制訊號可以經由一分離介面(separate interface)例如一接合測試行動組(joint test action group,JTAG)介面被接收。該記憶體控制器510也耦接該記憶體塊10,該記憶體塊10耦接至傳送SerDes(Tx SerDes)單元550。要注意的是,為達明確簡單之目的,上述元件於不同圖中具有相同符號。
於一實施例中,該記憶體塊10可以如上所述及第1圖至第3圖來操作,為了簡要目的此不再贅述。
然而,如第4圖所示之實施例,該記憶體控制器510包括一儲存器(storage)511。於一實施例中,該儲存器511可以為一暫存器組(register set)。於其他實施例中,該儲存器511可以為RAM家族中揮發性(volatile)RAM或非揮發性(non-volatile)RAM,或是某些形式的唯讀記憶體(Read Only Memory,ROM)裝置。因此,查找表可以透過各種方式被程式化至該儲存器511中。舉例來說,該儲存器511可以在製造時被程式化、或是由一系統的基本輸入/輸出系統(system basic input/output system,system BIOS)透過系統初始化來程式化、或是作為標準規劃空間寫入(configuration space write)之操作時被程式化。
於一實施例中,該儲存器511可以構成以儲存該記憶體塊10之時脈資訊。更明確而言,該記憶體控制器510可以儲存一包括數個項目(entry)之查找表。各項目可以對應至取決於SerDes單元(例如525及550)頻率之SCLK訊號之一特定頻率。因此,該查找表中SCLK訊號各個可能之頻率可以保持而對應至一個別資料時脈選擇值(respective data clock select value)。如上所述,個別資料時脈選擇值可以為多位元值以供該記憶體控制器510使用以產生傳送至該記憶體塊10之資料時脈選擇訊號。因此該記憶體控制器510在開始時可以基於SCLK訊號之頻率選擇適當的資料時脈選擇值。
此外,於一實施例中,該記憶體控制器510係構成以產生延遲選擇訊號供該記憶體塊10使用來調整PCLK訊號的延遲。於一實施例中,該記憶體控制器510也可以維持對應至延遲量之時脈資訊,其中該延遲量對應至該記憶體電路100之該記憶體核心102之記憶體存取延遲。例如,於初始化期間,該記憶體控制器510可以提供一初始延遲值至該記憶體塊10。該初始延遲值需足夠以允許在製程、操作溫度及電壓廣泛的變化下仍能維持正確地操作。然而,在某些情況下,記憶體塊10之特定記憶體核心可以有不同的存取時間。因此,如上述例如BIST的操作期間,記憶體塊10可能無法成功而需要時序調整。在這樣的情況下,該記憶體塊10可以配合並反覆調整PCLK訊號之延遲值,直到時序最佳化為止。該記憶體控制器510可以將延遲值維持在該儲存器511中。
因此,藉由調整管線式時脈(PCLK訊號)之延遲以與不同記憶體核心的存取時間相容,並選擇系統時脈(例如SCLK訊號)以產生輸出資料時脈(DCLK訊號),即使系統時脈之頻率改變,該記憶體塊10也可以提供固定的讀取資料輸出等待時間。
要注意的是,於一實施例中,該記憶體系統500可以為一實施為一系統單晶片(system on a chip)之記憶體裝置。此外,第1圖及第4圖之記憶體塊10可以為例如一設計庫(design library)中一記憶體巨集塊之單一實例(single instantiation of a memory macro block)。進一步要注意的是,於其他實施例中,可以使用更多記憶體塊,例如可以多工使用該等記憶體塊來提供一資料輸出。
綜上所述,雖然本發明已用較佳實施例揭露如上,然其並非用以限定本發明,本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10...記憶體塊
100...記憶體電路
101、103、112、113A、113B、113N...正反器
102...記憶體核心
104...可調式延遲單元
110...時脈產生單元
111...除頻器
117...多工器
301-309...區塊
500...記憶體系統
510...記憶體控制器
511...儲存器
525...接收SerDes單元
550...傳送SerDes單元
第1圖係繪示根據本發明一實施例之一記憶體塊(memory block)方塊圖;
第2A圖至第2D圖係繪示第1圖之記憶體塊之時序圖之各種實施例;
第3圖係繪示根據第1圖之該記憶體塊之操作流程圖之一實施例;以及
第4圖係繪示包括第1圖之記憶體塊之一記憶體系統之一實施例。
10...記憶體塊
100...記憶體電路
101、103、112、113A、113B、113N...正反器
102...記憶體核心
104...可調式延遲單元
110...時脈產生單元
111...除頻器
117...多工器
Claims (21)
- 一種記憶體塊,包括:一記憶體電路,包括一記憶體核心,該記憶體核心係構成以回應於接收一讀取指令以輸出讀取資料;其中該記憶體電路係構成以回應於具有選擇性延遲之時脈訊號的時脈控制(clocked)而從該記憶體核心輸出該讀取資料;其中該延遲係取決於該記憶體塊接收到該讀取指令之後,該記憶體核心輸出該讀取資料所費的時間而定;一時脈產生單元,構成以回應於藉由一選定版資料時脈訊號作的時脈控制,以使該時脈產生單元從該記憶體電路抓取該讀取資料並使得該讀取資料作為該記憶體塊之一輸出;其中該選定版資料時脈訊號係從複數個資料時脈邊緣之一所選出,每一資料時脈邊緣係由一系統時脈之複數個時脈邊緣之一所產生,以使無論該系統時脈之操作頻率為何,係在該記憶體塊接收該讀取指令一預定時間之後提供該讀取資料作為該記憶體塊的輸出。
- 如申請專利範圍第1項所述之記憶體塊,其中該時脈訊號係操作在小於該系統時脈一倍之頻率。
- 如申請專利範圍第1項所述之記憶體塊,其中該記憶體電路係構成以回應於接收一延遲選擇訊號以延遲該時脈訊號,該延遲選擇訊號用以選擇延遲量。
- 如申請專利範圍第1項所述之記憶體塊,其中當該記憶體塊的操作跨越製程、電壓及溫度變化時,該延遲選擇訊號對應至一延遲值,該延遲值係補償該記憶體塊接收該讀取指令之後,由該記憶體核心輸出該讀取資料所用時間上的變異。
- 如申請專利範圍第1項所述之記憶體塊,其中該記憶體 電路係構成以於該記憶體塊操作期間動態地調整該時脈訊號之延遲。
- 如申請專利範圍第1項所述之記憶體塊,其中該時脈產生單元係構成以回應接收一資料時脈選擇訊號以選擇複數個時脈邊緣之其中一者作為資料輸出時脈。
- 如申請專利範圍第1項所述之記憶體塊,其中該記憶體電路係構成以於該記憶體塊操作期間動態地選擇複數個時脈邊緣之其中一者作為資料輸出時脈。
- 一種記憶體塊的操作方法,包括:基於包括一記憶體核心之該記憶體區塊接收一讀取指令之後,該記憶體核心輸出讀取資料之一時間量來選擇延遲一延遲時脈訊號之時間量;提供該延遲時脈訊號至一輸出時脈受控儲存裝置以從該記憶體核心輸出該讀取資料;提供一選定版資料時脈訊號至一第二時脈受控儲存裝置以抓取該讀取資料並使得該讀取資料作為該記憶體塊之一輸出;從複數個資料時脈邊緣之一選出該選定版資料時脈訊號,每一資料時脈邊緣係由一系統時脈之複數個時脈邊緣之一所產生,以使無論一系統時脈之操作頻率為何,係在該記憶體塊接收該讀取指令一預定時間之後提供該讀取資料作為該記憶體塊的輸出。
- 如申請專利範圍第8項所述之方法,進一步包括將該時脈訊號操作在小於該系統時脈一倍之頻率。
- 如申請專利範圍第8項所述之方法,進一步包括回應於接收一延遲選擇訊號以延遲該時脈訊號,該延遲選擇訊號用 以選擇該延遲量。
- 如申請專利範圍第8項所述之方法,其中當該記憶體塊的操作跨越製程、電壓及溫度變化時,該延遲選擇訊號對應至一延遲值,該延遲值係補償該記憶體塊接收該讀取指令之後,由該記憶體核心輸出該讀取資料所用時間上的變異。
- 如申請專利範圍第8項所述之方法,進一步包括於該記憶體塊操作期間動態地調整該時脈訊號之該延遲。
- 如申請專利範圍第8項所述之操作方法,進一步包括回應於接收一資料時脈選擇訊號以選擇複數個時脈邊緣之其中一者作為資料輸出時脈。
- 如申請專利範圍第8項所述之操作方法,進一步包括於該記憶體塊初始化期間選擇複數個時脈邊緣之其中一者作為資料輸出時脈。
- 一種記憶體系統,包括:一記憶體控制器;以及一記憶體塊耦接至該記憶體控制器,其中該記憶體塊包括:一記憶體電路,包括一記憶體核心,該記憶體核心係構成以回應於接收一讀取指令以輸出讀取資料,其中該記憶體電路係構成以回應於具有選擇性延遲之時脈訊號的時脈控制(clocked)而從該記憶體核心輸出該讀取資料;其中該延遲係取決於該記憶體塊接收到該讀取指令之後,該記憶體核心輸出該讀取資料所費的時間而定;一時脈產生單元,係構成以回應於藉由一選定版資料時脈訊號作的時脈控制,以使該時脈產生單元從該記憶體電路抓取該讀取資料並使得該讀取資料作為該記憶體塊之一輸 出;其中該選定版資料時脈訊號係從複數個資料時脈邊緣之一所選出,每一資料時脈邊緣係由一系統時脈之複數個時脈邊緣之一所產生,以使無論該系統時脈之操作頻率為何,係在該記憶體塊接收該讀取指令一預定時間之後提供該讀取資料作為該記憶體塊的輸出。
- 如申請專利範圍第15項所述之系統,其中該記憶體控制器包括一儲存器,該儲存器係構成以儲存時脈架構資訊,其中該記憶體控制器係構成以使用該時脈架構資訊產生複數個時脈選擇訊號來選擇該選定版資料時脈訊號。
- 如申請專利範圍第16項所述之系統,其中該時脈架構資訊包括一具有對應該系統時脈之不同操作頻率之各項目(entry)的查找表,其中各項目包括一對應該等時脈選擇訊號之編碼。
- 如申請專利範圍第15項所述之系統,其中基於一預定組態值,該記憶體控制器係構成以產生複數個初始時脈延遲選擇訊號來選擇該時脈訊號之該延遲時間量。
- 如申請專利範圍第18項所述之系統,其中該記憶體控制器係構成以於該記憶體塊操作期間提供額外的延遲選擇訊號來動態地延遲該時脈訊號。
- 如申請專利範圍第15項所述之系統,其中該時脈訊號係對應至一來自於並操作在小於該系統時脈一倍之頻率的一已延遲版之一記憶體時脈訊號。
- 一種記憶體塊,包括:一記憶體電路,包括:一記憶體核心,係構成以回應於接收一讀取指令以輸出 讀取資料;一第一時脈受控儲存裝置,係構成以回應於一時脈訊號的時脈控制以抓取並輸出該讀取資料;一可調式延遲單元,係構成以選擇性地提供該時脈訊號,其中該時脈訊號係取決於該記憶體塊接收到該讀取指令之後,該記憶體核心輸出該讀取資料所費的時間來延遲一時間;一時脈產生單元,包括一第二時脈受控儲存裝置,該第二時脈受控儲存裝置係構成以回應於藉由一選定版資料時脈訊號作的時脈控制,以使該時脈產生單元從該第一時脈受控儲存裝置抓取該讀取資料並使得該讀取資料作為該記憶體塊之一輸出;其中該時脈產生單元係構成以從複數個資料時脈邊緣之一選出該選定版資料時脈訊號,每一資料時脈邊緣係由一系統時脈之複數個時脈邊緣之一所產生;其中係選擇該選定版資料時脈訊號以使無論該系統時脈之操作頻率為何,係在該記憶體塊接收該讀取指令一預定時間之後提供該讀取資料作為該記憶體塊的輸出。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/702,767 US8266471B2 (en) | 2010-02-09 | 2010-02-09 | Memory device including a memory block having a fixed latency data output |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201137892A TW201137892A (en) | 2011-11-01 |
TWI452576B true TWI452576B (zh) | 2014-09-11 |
Family
ID=44354607
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100103403A TWI452576B (zh) | 2010-02-09 | 2011-01-28 | 包括具固定資料輸出等待時間之記憶體塊的記憶體裝置 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8266471B2 (zh) |
EP (1) | EP2522017B1 (zh) |
KR (1) | KR101246986B1 (zh) |
CN (1) | CN102939631B (zh) |
TW (1) | TWI452576B (zh) |
WO (1) | WO2011100221A2 (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11221764B2 (en) * | 2010-01-29 | 2022-01-11 | Mosys, Inc. | Partitioned memory with shared memory resources and configurable functions |
US8266471B2 (en) * | 2010-02-09 | 2012-09-11 | Mosys, Inc. | Memory device including a memory block having a fixed latency data output |
US9465759B2 (en) * | 2014-07-17 | 2016-10-11 | Texas Instruments Incorporated | Universal serializer architecture |
CN108039189A (zh) * | 2017-11-28 | 2018-05-15 | 晶晨半导体(上海)股份有限公司 | 一种存储器的信号完整性测试方法 |
US11132244B2 (en) * | 2019-11-14 | 2021-09-28 | Seagate Technology Llc | Block health checking |
CN111161769B (zh) * | 2019-12-30 | 2020-10-20 | 深圳市芯天下技术有限公司 | Flash芯片及其读方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0660329A2 (en) * | 1993-12-16 | 1995-06-28 | Mosaid Technologies Incorporated | Variable latency, output buffer and synchronizer for synchronous memory |
EP1202281A1 (en) * | 2000-09-29 | 2002-05-02 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device internally provided with logic circuit which can be readily controlled and controlling method thereof |
US6564287B1 (en) * | 2000-08-18 | 2003-05-13 | Samsung Electronics Co., Ltd. | Semiconductor memory device having a fixed CAS latency and/or burst length |
TW200401191A (en) * | 2002-07-11 | 2004-01-16 | Advanced Micro Devices Inc | DRAM supporting different burst-length accesses without changing the burst length setting in the mode register |
TW200638435A (en) * | 2005-01-18 | 2006-11-01 | Infineon Technologies Ag | Improved DDR-II DRAM data path |
US20070133312A1 (en) * | 2000-05-10 | 2007-06-14 | Micron Technology, Inc. | Flash with consistent latency for read operations |
US20070198782A1 (en) * | 2006-02-23 | 2007-08-23 | Sved Jorge A | Memory controller |
TW200816197A (en) * | 2006-08-21 | 2008-04-01 | Elpida Memory Inc | Latency counter |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3579461B2 (ja) * | 1993-10-15 | 2004-10-20 | 株式会社ルネサステクノロジ | データ処理システム及びデータ処理装置 |
US5713005A (en) * | 1995-02-10 | 1998-01-27 | Townsend And Townsend And Crew Llp | Method and apparatus for pipelining data in an integrated circuit |
US5544124A (en) | 1995-03-13 | 1996-08-06 | Micron Technology, Inc. | Optimization circuitry and control for a synchronous memory device with programmable latency period |
AU9798798A (en) * | 1997-10-10 | 1999-05-03 | Rambus Incorporated | Power control system for synchronous memory device |
US6401167B1 (en) * | 1997-10-10 | 2002-06-04 | Rambus Incorporated | High performance cost optimized memory |
WO1999050852A1 (en) * | 1998-04-01 | 1999-10-07 | Mosaid Technologies Incorporated | Semiconductor memory asynchronous pipeline |
DE19934501C1 (de) * | 1999-07-22 | 2000-11-09 | Siemens Ag | Synchroner integrierter Speicher |
US7042777B2 (en) * | 2004-01-28 | 2006-05-09 | Infineon Technologies Ag | Memory device with non-variable write latency |
US7027336B2 (en) * | 2004-05-10 | 2006-04-11 | Hynix Semiconductor Inc. | Semiconductor memory device for controlling output timing of data depending on frequency variation |
KR100638747B1 (ko) | 2004-12-28 | 2006-10-30 | 주식회사 하이닉스반도체 | 반도체 기억 소자의 클럭 생성 장치 및 방법 |
US7493461B1 (en) * | 2005-01-20 | 2009-02-17 | Altera Corporation | Dynamic phase alignment for resynchronization of captured data |
KR100609621B1 (ko) | 2005-07-19 | 2006-08-08 | 삼성전자주식회사 | 메모리 블락별로 레이턴시 제어가 가능한 동기식 반도체메모리 장치 |
US20070171735A1 (en) * | 2006-01-25 | 2007-07-26 | Jong-Hoon Oh | Latency circuit for semiconductor memories |
US7548481B1 (en) * | 2006-12-08 | 2009-06-16 | Nvidia Corp. | Method and apparatus for dynamic power adjustment in a memory subsystem |
KR100866958B1 (ko) | 2007-02-08 | 2008-11-05 | 삼성전자주식회사 | 고속 dram의 정확한 독출 레이턴시를 제어하는 방법 및장치 |
US7656745B2 (en) | 2007-03-15 | 2010-02-02 | Micron Technology, Inc. | Circuit, system and method for controlling read latency |
KR100903365B1 (ko) * | 2007-11-02 | 2009-06-23 | 주식회사 하이닉스반도체 | 반도체 메모리 장치 |
US7729182B2 (en) * | 2008-09-03 | 2010-06-01 | Micron Technology, Inc. | Systems and methods for issuing address and data signals to a memory array |
JP5687412B2 (ja) | 2009-01-16 | 2015-03-18 | ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. | 半導体記憶装置及びそのリード待ち時間調整方法、メモリシステム、並びに半導体装置 |
US8266471B2 (en) * | 2010-02-09 | 2012-09-11 | Mosys, Inc. | Memory device including a memory block having a fixed latency data output |
-
2010
- 2010-02-09 US US12/702,767 patent/US8266471B2/en active Active
-
2011
- 2011-01-28 TW TW100103403A patent/TWI452576B/zh active
- 2011-02-08 WO PCT/US2011/023997 patent/WO2011100221A2/en active Application Filing
- 2011-02-08 CN CN201180014148.5A patent/CN102939631B/zh active Active
- 2011-02-08 EP EP11742676.7A patent/EP2522017B1/en active Active
- 2011-02-08 KR KR1020127023414A patent/KR101246986B1/ko active IP Right Grant
-
2012
- 2012-09-10 US US13/609,172 patent/US20130003476A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0660329A2 (en) * | 1993-12-16 | 1995-06-28 | Mosaid Technologies Incorporated | Variable latency, output buffer and synchronizer for synchronous memory |
US20070133312A1 (en) * | 2000-05-10 | 2007-06-14 | Micron Technology, Inc. | Flash with consistent latency for read operations |
US6564287B1 (en) * | 2000-08-18 | 2003-05-13 | Samsung Electronics Co., Ltd. | Semiconductor memory device having a fixed CAS latency and/or burst length |
EP1202281A1 (en) * | 2000-09-29 | 2002-05-02 | Mitsubishi Denki Kabushiki Kaisha | Semiconductor memory device internally provided with logic circuit which can be readily controlled and controlling method thereof |
TW200401191A (en) * | 2002-07-11 | 2004-01-16 | Advanced Micro Devices Inc | DRAM supporting different burst-length accesses without changing the burst length setting in the mode register |
TW200638435A (en) * | 2005-01-18 | 2006-11-01 | Infineon Technologies Ag | Improved DDR-II DRAM data path |
US20070198782A1 (en) * | 2006-02-23 | 2007-08-23 | Sved Jorge A | Memory controller |
TW200816197A (en) * | 2006-08-21 | 2008-04-01 | Elpida Memory Inc | Latency counter |
Also Published As
Publication number | Publication date |
---|---|
KR20120109657A (ko) | 2012-10-08 |
WO2011100221A3 (en) | 2011-11-10 |
KR101246986B1 (ko) | 2013-03-25 |
EP2522017A4 (en) | 2013-05-29 |
CN102939631A (zh) | 2013-02-20 |
US20110197087A1 (en) | 2011-08-11 |
US8266471B2 (en) | 2012-09-11 |
TW201137892A (en) | 2011-11-01 |
EP2522017B1 (en) | 2017-05-31 |
US20130003476A1 (en) | 2013-01-03 |
WO2011100221A2 (en) | 2011-08-18 |
CN102939631B (zh) | 2014-06-25 |
EP2522017A2 (en) | 2012-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI474320B (zh) | 雙倍資料率虛擬靜態隨機存取記憶體及其控制器、存取與操作方法、寫入與讀取方法 | |
TWI484485B (zh) | 記憶體系統中的時脈模式測定 | |
TWI452576B (zh) | 包括具固定資料輸出等待時間之記憶體塊的記憶體裝置 | |
US7574638B2 (en) | Semiconductor device tested using minimum pins and methods of testing the same | |
US10456819B2 (en) | Memory interface configurable for asynchronous and synchronous operation and for accessing storage from any clock domain | |
US20090016146A1 (en) | Latency counter, semiconductor memory device including the same, and data processing system | |
US7542371B2 (en) | Memory controller and memory system | |
US7420871B2 (en) | Synchronous semiconductor memory device | |
JP3334589B2 (ja) | 信号遅延装置及び半導体記憶装置 | |
CN116504288A (zh) | 具有输入/输出数据速率对齐的存储器部件 | |
US8023343B2 (en) | Systems and methods for issuing address and data signals to a memory array | |
JP4757583B2 (ja) | 出力制御信号発生回路 | |
US9166590B1 (en) | Integrated circuits with improved memory interface calibration capabilities | |
US20120218840A1 (en) | Integrated circuit | |
US8826057B1 (en) | Multiple time domain synchronizer circuits | |
US8429438B2 (en) | Method and apparatus for transferring data between asynchronous clock domains | |
US20200333826A1 (en) | Information processing apparatus | |
KR101907072B1 (ko) | 반도체 메모리 장치 및 그 동작 방법 | |
KR101004686B1 (ko) | 반도체 메모리 장치와 그의 구동 방법 | |
US20150302909A1 (en) | Semiconductor memory apparatus and operating method of the same | |
KR20170108454A (ko) | 레이턴시 제어 장치 및 이를 포함하는 반도체 장치 |