TWI721003B - 記憶體裝置及用於記憶體管理的系統 - Google Patents
記憶體裝置及用於記憶體管理的系統 Download PDFInfo
- Publication number
- TWI721003B TWI721003B TW105126066A TW105126066A TWI721003B TW I721003 B TWI721003 B TW I721003B TW 105126066 A TW105126066 A TW 105126066A TW 105126066 A TW105126066 A TW 105126066A TW I721003 B TWI721003 B TW I721003B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- update
- updates
- controller
- memory device
- Prior art date
Links
Images
Classifications
-
- 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40618—Refresh operations over multiple banks or interleaving
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1636—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement using refresh
-
- 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
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0683—Plurality of storage devices
-
- 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40603—Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
-
- 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/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- 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/4093—Input/output [I/O] data interface arrangements, e.g. data buffers
-
- 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
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Dram (AREA)
Abstract
一種記憶體子系統由一記憶體裝置回應啟動命令所執行的隱藏更新來使得該記憶體裝置可滿足更新需求,以及用外部更新來彌補在該隱藏更新數與在一更新窗口期間所需要之總更新最小數之間的差異。使用一隱藏更新,該記憶體裝置執行由該命令所確認之該記憶體位置所指出之一記憶體部分中的該啟動命令,並在一不同的部分中執行一更新,諸如一不同的子記憶庫。藉由結合外部更新與隱藏更新,該記憶體子系統可以啟用隱藏更新而不會使得該等隱藏更新致使從該記憶體裝置到該記憶體控制器的一種回退或重試狀態。
Description
本描述一般係涉及記憶體裝置,更具體而言,本說明係涉及記憶體裝置更新。
本專利文件所公開的部分會包含受版權保護的材料。該版權擁有者不反對該由本專利文件或本專利公開之任何一人的重製,因為它出現在專利和商標局的專利檔案或記錄中,但在其他方面則保留任何的全部的版權權利。本版權公告適用於以下所描述之所有資料、和在附圖中所繪、以及以下所描述之所有何軟體:版權所有©2015、2016英特爾公司,保留所有權利。
記憶體裝置可在電子裝置中找到無所不在的使用。許多電子裝置採用依電性記憶體裝置,其以低成本提供一相對大量的儲存空間,以及比起旋轉磁碟式之非依電性記憶體的選擇,提供一較快的資料存取速度。然而,依電性記憶體的該依電性本質需要更新該等記憶體裝置以保留該資料。更新記憶體裝置持續佔用整體記憶體頻寬,
或在該記憶體控制器與該等記憶體裝置之間的一命令匯流排上佔用頻寬的一個很大的比例。例如,使用一8十億位元(GB)LPDDR3(低功耗雙倍資料率,第3代)DRAM(動態隨機存取記憶體)晶粒可能大約佔用整體頻寬的5.38%,因為一更新命令必須每3.9微秒(us)(tREFI,更新間隔時間)被發送一次,而每一個更新命令需要210奈秒(ns)(tRFC,在更新命令之間的更新週期時間或時間)來完成(210ns/3.9us=5.38%)。使用16GB的裝置該tRFC值被預期要幾乎倍增,這指出了未來的記憶體裝置在更新方面會用去更多總頻寬(例如,約10%)的風險。一記憶體裝置在更新中使用愈多的頻寬,用於處理資料存取命令(讀出或寫入)的頻寬會愈小,其可能降低記憶體子系統的效能。
依據本發明之一實施例,係特地提出一種介接在一記憶體子系統中的記憶體裝置,包含:記憶體之多個部分的一第一部分;I/O(輸入/輸出)硬體,耦合到一相關聯的記憶體控制器,並接收來自該記憶體控制器的命令,其包括指向該第一部分內之指定記憶體位置的啟動命令;以及該記憶體裝置內部的控制邏輯,回應於接收到一啟動命令,在該第一部分的一指定記憶體位置處執行該啟動命令,並在異於該第一部分之一第二部分中的一記憶體位置處執行一隱藏更新;其中該控制邏輯更由該記憶體控制器執行該第一部分的外部更新,其中隱藏更新和外部更新的一總次數滿足在一更新窗口期間該第一部分之總更新
的一最小次數。
100、200、300、500:系統
110、510、610:處理器
120、522、664:記憶體控制器
122、142:I/O
124、152:CMD邏輯
126、154:REF邏輯
128、148、258:計數器
130:排程器
132:CLK
134:CMD
136:DQ
138:其他
140:記憶體裝置
144、244:暫存器
146:ODT
150、210、302、306、582:控制器
160:記憶體資源
170:記憶體模組
212、242:命令
222:每一記憶庫計數器
224:全域計數器
232:每一記憶庫更新
234:全體記憶庫更新命令
240、304、530、662:記憶體
246:控制邏輯
252:內部更新
254:外部更新
256:震盪器
260、310:記憶庫
322:存取
324:ACT
326:REF
332、342:REF需求
334:警報
352:EXT REF
354:ALL
356:PB
400~458:方塊
502、652:電源
504:電源供應器
512:較高速度介面
514:較低速度介面
520、660:記憶體子系統
532:OS
534:應用程式
536:程序
540:圖形
550:網路介面
560:I/O介面
570:週邊介面
580:儲存子系統
584:儲存器
586:程式碼/資料
590、690:混合式更新
600:裝置
612:感測器
620:音訊子系統
630:顯示器子系統
632:顯示器介面
640:I/O控制器
650:電源管理
670:連接
672:蜂巢式
674:無線
680:週邊連接
682:至
684:從
以下的描述包括了對附圖的討論,該等附圖具有以本發明實施例之示例實現方式所給出的圖示。該等附圖應當被理解係以舉例的方式,而不是以限制性的方式。如本文所使用的,提及一或多個「實施例」將被理解成係描述包含有在本發明至少一種實現方式中之一特定的功能、結構、及/或特徵。因此,在本文中出現的用詞諸如「在一實施例中」或「在一替代實施例中」描述各種實施例及本發明的實現方式,並不必然指的是相同的實施例。然而,它們也不一定是相互互斥的。
圖1係一系統實施例的方塊圖,其具有支援混合式更新的一種記憶體裝置。
圖2係一系統實施例的方塊圖,其中混合式更新結合內部隱藏更新及外部更新。
圖3係一系統實施例的方塊圖,其說明有可能的混合式更新信令。
圖4A係一程序實施例的一流程圖,用於執行混合式更新。
圖4B係一程序實施例的一流程圖,用於一記憶體控制器來監控更新。
圖4C係一程序實施例的一流程圖,用於一記憶體裝置來監控更新。
圖5係一運算系統之一實施例方塊圖,其中
混合式更新可被實現。
圖6係一行動裝置之一實施例方塊圖,其中混合式更新可被實現。
以下為特定細節和實現方式的描述,包括該等附圖的描述,其可描繪以下所描述之該等實施例的一些或全部,以及討論其他潛在實施例或本文中所呈現之發明性概念的實現方式。
如本文所述,一記憶體子系統由一記憶體裝置回應啟動命令所執行的隱藏更新來使得該記憶體裝置可滿足更新需求。一隱藏更新係指由該記憶體裝置或DRAM(動態隨機存取記憶體)裝置所執行的一種更新,該記憶體或DRAM裝置不直接地回應於該記憶體控制器的一更新命令。該系統允許外部更新以彌補在該隱藏更新數與在一更新窗口期間所需要之一總更新最小數之間的差異。該更新窗口係指從一列的某一次更新到該列的另一次更新之間的最大或建議時間的一更新時間或更新週期(例如,tREF)。該更新窗口係取決於該記憶體裝置的該技術和架構,一些雙倍資料速率(DDR)DRAM裝置具有等於64毫秒(ms)或32ms的一tREF。該tREF通常針對一系統來指定,而且把一列之更新延遲超過tREF可能會影響在該資料列中該資料的判定。因此,一系統通常在該更新窗口中更新所有的列。所需要的更新次數取決於該更新窗口的該時間、該更新架構(例如,回應於一單一更新命令有多少列要
被更新)、以及在該更新窗口期間該記憶體陣列的該總大小或有多少列需要被更新。
使用隱藏更新和明確更新命令的一種組合,該系統可允許由該記憶體裝置的內部更新來滿足更新需求的至少一部分(沒有明確更新命令的頻寬正被使用),並且允許外部更新以回應來自該記憶體控制器的特定更新命令以滿足該等剩下的更新需求。因此,需要被完成之所有的更新可以由隱藏更新和外部更新命令的一種組合在該更新窗口中被完成,其中並非所有的更新操作需要仰賴於外部的更新命令。在一實施例中,使用回應來自該記憶體控制器之一啟動命令的一隱藏更新,該記憶體裝置在由該命令之經確認的記憶體位置所指出的一子記憶庫中執行該啟動,並在一不同的子記憶庫中執行一更新。藉由結合外部更新與隱藏更新,該記憶體子系統可以啟用隱藏更新而不會使得該等隱藏更新致使從該記憶體裝置到該記憶體控制器的一種回退或重試狀態。
當該記憶體裝置正忙於執行內部更新時,用於隱藏更新之現有的方案要求該記憶體控制器要重試一異動。重試異動在管線命令方面和在重放異動中對該記憶體控制器增加了許多的複雜性。它還會致使命令重新發送而抵消一些頻寬節省。此外,將被理解的是,耦合到該記憶體控制器的每一個記憶體裝置基於它自己的振盪器來執行內部更新,而不是基於來自該記憶體控制器的一系統定時信號。記憶體裝置振盪器能夠明顯地隨時間變化,特別是
相對於彼此。當每一個記憶體裝置由於執行內部更新可以單獨地請求重試時,若在耦合到該記憶體控制器的一記憶體列(rank)上有多個記憶體裝置,重試的機率會增加。
混合式更新可指在一啟動命令之該延遲週期(例如,tRC或列週期時間)中隱藏的內部更新與由該記憶體控制器之外部更新的該組合。在一實施例中,一記憶體裝置或DRAM執行隱藏更新,藉由使用一ACT(啟動命令)作為一觸發器來在該tRC窗口或tRC週期中更新一或多個子記憶庫。該tRC週期是在發送給一DRAM記憶庫一ACT命令之後一所需的延遲用於某些記憶體裝置標準,諸如基於一雙倍資料速率(DDR)技術(例如,DDR4、DDR5、LPDDR4、LPDDR5、或擴展、或其他)的那些。將被理解的是,提及一「更新窗口」將通常係指在更新之間的該時間段(例如,tREF),並且該週期時間窗口係指在存取到同一列之間所施加的延遲(例如,tRC)。若在該更新窗口中該DRAM需要比透過隱藏更新可被完成之更多的更新,該記憶體控制器或主機控制器可以經由外部更新命令提供該等額外的更新需求。在一實施例中,該DRAM追踪該等需要的更新或額外的更新要求,並指示那些給該主機控制器。在一實施例中,該記憶體控制器追踪額外的更新要求。藉由使得該記憶體控制器提供外部更新以滿足該等額外的更新要求,該系統可避免使用記憶體控制器重試。如在本文中所述,該等記憶體裝置不僅仰賴於內部隱藏更新,而且當該記憶體控制器嘗試發送一存取命令時該等記憶體裝
置將不會由於更新而發出忙碌信號給該記憶體控制器。
圖1係一記憶體子系統系統實施例的一方塊圖,在其中一輔助記憶體控制器利用高度壓縮標誌。系統100包括在一運算裝置中之一處理器及一記憶體子系統的元件。處理器110代表一運算平台的一處理單元其可執行一作業系統(OS)和應用程式,其可被統稱為該「主機」,其係該記憶體的使用者。該OS和應用程式執行導致記憶體存取的操作。處理器110可包括一或多個獨立的處理器。每一個獨立的處理器可包括一單一處理單元、一多核心處理單元,或它們的一種組合。該處理單元可以是一主處理器諸如一CPU(中央處理單元)、一週邊處理器諸如一GPU(圖形處理單元)、或它們的一種組合。記憶體存取也可以由諸如一網路控制器或一硬碟控制器的裝置來啟動。這樣的裝置可在一些系統與處理器整合、或經由一匯流排(例如,高速PCI)附接到該處理器、或它們的一種組合。系統100可以被實現為一SOC(系統單晶片),或者可使用獨立組件來實現。
本文所提及的記憶體裝置可以是不同類型的記憶體。記憶體裝置通常係指依電性記憶體技術。依電性記憶體係若該裝置電源中斷,其狀態(並因此儲存在其上的資料)係不確定的記憶體。非依電性記憶體係就算該裝置電源中斷,其狀態係確定的記憶體。動態依電性記憶體需要刷新儲存在該裝置中的該資料以保持其狀態。動態依電性記憶體的一實例包括DRAM(動態隨機存取記憶體),或
一些變型諸如同步DRAM(SDRAM)。如本文所述之一記憶體子系統可與一些記憶體技術相容,諸如DDR3(雙倍資料速率版本3,由JEDEC(聯合電子裝置工程委員會)在2007年六月27日最初發行,目前發行21))、DDR4(DDR版本4,由JEDEC在2012年九月刊登最初的規格)、DDR4E(DDR版本4,擴展型,目前由JEDEC討論中)、LPDDR3(低功耗DDR版本3,JESD209-3B,2013年8月由JEDEC)、LPDDR4(低功率雙倍資料速率(LPDDR)版本4,JESD209-4,最初由JEDEC在2014年八月公佈)、WIO2(寬I/O 2(WideIO2),JESD229-2,最初由JEDEC在2014年八月公佈)、HBM(高頻寬記憶體DRAM,JESD235,最初由JEDEC在2013年十月公佈)、DDR5(DDR版本5,目前由JEDEC討論中)、LPDDR5(目前由JEDEC討論中)、HBM2(HBM版本2,目前由JEDEC討論中)、或其他或記憶體技術之組合,以及基於這些規格之衍生或延伸之技術。
除了依電性記憶體之外,或替代其,在一實施例中,提及記憶體裝置可以指一非依電性記憶體裝置,即使該裝置電源中斷其狀態係確定的。在一實施例中,該非依電性記憶體裝置係一區塊可定址的記憶體裝置,諸如NAND或NOR技術。因此,一記憶體裝置也可以包括一種未來世代的非依電性裝置,諸如一種三維交叉點(3DXP)記憶體裝置、其它位元組可定址的非依電性記憶體裝置、或使用硫屬化物相變材料(例如,硫族化物玻璃)的記憶體
裝置。在一實施例中,該記憶體裝置可以是或包括多臨界值位準的NAND快閃記憶體、NOR快閃記憶體、單一或多位準相變記憶體(PCM)或具有一開關的相變記憶體(PCMS)、一電阻式記憶體、奈米線記憶體、鐵電電晶體隨機存取記憶體(FeTRAM)、納入憶阻器技術之磁阻式隨機存取記憶體(MRAM)記憶體、或自旋轉移力矩(STT)-MRAM、或任何以上所述的一種組合、或其他的記憶體。
在本文中提及一「DRAM」或「DRAM裝置」所做的描述可適用於允許隨機存取之任何的記憶體裝置,無論是依電性或非依電性的。該記憶體裝置或DRAM可以指該晶粒本身、包括一或多個晶粒之一經封裝的記憶體產品、或兩者。非依電性記憶體可被包含在具有需要被更新之依電性記憶體的相同系統中。
記憶體控制器120代表用於系統100的一或多個記憶體控制器電路或裝置。記憶體控制器120代表可產生記憶體存取命令以回應於由處理器110執行操作的控制邏輯。記憶體控制器120存取一或多個記憶體裝置140。記憶體裝置140可以是根據上文所提到之任何DRAM裝置。在一實施例中,記憶體裝置140被組織和管理為不同的通道,其中每一個通道耦合至匯流排和信號線,該等匯流排和信號線耦合到多個並列的記憶體裝置。每一個通道係獨立操作的。因此,每一個通道被獨立地存取和控制,以及該定時、資料傳送、命令和位址互換、以及其他的操
作係個別於每一個通道。如本文所使用的,耦合可以指一電氣耦合、通信式耦合、實體耦合、或這些的一種組合。實體耦合可以包括直接接觸。電氣耦合包括允許在組件間的電流、或允許組件間的信令、或兩者之介面或互連。通信耦合包括連接,包括有線式或無線式的,其致使組件可以交換資料。
在一實施例中,用於每一個通道之設置係由單獨的模式暫存器或其他的暫存器設置來控制。在一實施例中,每一個記憶體控制器120管理一單獨的記憶體通道,儘管系統100可被配置為可由一單一控制器管理多個通道,或可在一單一通道上有多個控制器。在一實施例中,記憶體控制器120係主處理器110的一部分,諸如被實現在與該處理器相同的晶粒或封裝空間上的邏輯。
記憶體控制器120包括I/O介面邏輯122以耦合到一記憶體匯流排,諸如上文所提到的一記憶體通道。I/O介面邏輯122(以及記憶體裝置140的I/O介面邏輯142)可以包括引腳、焊墊、連接器、信號線、跡線、或導線、或其他硬體裝置以連接該等裝置,或這些的一種組合。I/O介面邏輯122可包括一硬體介面。如圖所示,I/O介面邏輯122至少包括用於信號線的驅動器/收發器。通常,在一積體電路介面中的導線與一焊墊、引腳、或連接器耦合來介接在裝置之間的信號線或跡線或其他的導線。I/O介面邏輯122可以包括驅動器、接收器、收發器、或終端電阻、或其他的電路或電路的組合以在裝置之間的該等信號線上
交換信號。信號的該交換包括發射或接收中的至少一種。雖然圖示出為把I/O 122從記憶體控制器120耦合到記憶體裝置140的I/O 142,應被理解的是,在記憶體裝置140的群組被並行存取之系統100的一種實現方式中,多個記憶體裝置可包括I/O介面到記憶體控制器120的該相同介面。在包括一或多個記憶體模組170之系統100的一種實現方式中,除了在該記憶體裝置本身上的介面硬體之外,I/O 142可包括該記憶體模組的介面硬體。其他的記憶體控制器120將包括獨立的介面至其他的記憶體裝置140。
在記憶體控制器120和記憶體裝置140之間的該匯流排可被實現為把記憶體控制器120耦合到記憶體裝置140之多個信號線。該匯流排通常可至少包括時鐘(CLK)132、命令/位址(CMD)134、和寫入資料(DQ)和讀出DQ 136、以及零個或多個其他信號線138。在一實施例中,在記憶體控制器120和記憶體之間的一匯流排或連接可以被稱作一記憶體匯流排。用於CMD的該等信號線可被稱為一「C/A匯流排」(或ADD/CMD匯流排,或指出命令(C或CMD)及位址(A或ADD)資訊該傳輸之一些其他的標誌)以及用於寫入和讀取DQ的該等信號線可被稱為一「資料匯流排」。在一實施例中,獨立的通道具有不同的時鐘信號、C/A匯流排、資料匯流排、以及其他的信號線。因此,系統100可被認為具有多個「匯流排」,意味著一獨立的介面路徑可被認為是一獨立的匯流排。應被理解的是,除了被明確示出的該等線之外,一匯流排可包括選通
信令線、警報線、輔助線、或其他信號線中的至少一個,或它們的組合。將被理解的是,串列匯流排技術可被使用於在記憶體控制器120和記憶體裝置140之間的該連接。一串列匯流排技術的一實例是8B10B編碼並使用在每一個方向中信號之一單一差動對上的嵌入式時鐘做高速資料的傳輸。
將被理解的是,在系統100的該實例中,在記憶體控制器120和記憶體裝置140之間的該匯流排包括一附屬命令匯流排CMD 134和一附屬匯流排以攜帶該寫入和讀取資料,DQ 136。在一實施例中,該資料匯流排可包括雙向線用於讀出資料及用於寫入/命令資料。在另一實施例中,該附屬匯流排DQ 136可包括用於從該主機到記憶體之寫入資料的單向寫入信號線路,並且可以包括從該記憶體到該主機之讀出資料的單向線路。根據所選擇的記憶體技術和系統設計,該匯流排可伴隨有其他的信號138,諸如選通線DQS。基於系統100的設計,或是實現方式若一種設計支援多個實現方式的話,每一個記憶體裝置140該資料匯流排可以有或多或少的頻寬。例如,該資料匯流排可以支援具有一x32介面、一x16介面、一x8介面、或其他介面之任一者的記憶體裝置。在表示法「xW」中,W係一個二冪次整數表示記憶體裝置140該介面的一介面大小或寬度,其代表信號線的一數量以與記憶體控制器120交換資料。該等記憶體裝置的該介面大小係在系統100中每一通道有多少記憶體裝置可被同時使用或被並行耦合到該
等相同信號線之一控制因素。
記憶體裝置140代表用於系統100的記憶體資源。在一實施例中,每一個記憶體裝置140係一獨立的記憶體晶粒。在一實施例中,每一個記憶體裝置140可介接每一個裝置或晶粒之多個(例如,2個)通道。每一個記憶體裝置140包括I/O介面邏輯142,其具有由該裝置之該實現方式所決定的一頻寬(例如,x16或x8或一些其他的介面頻寬)。I/O介面邏輯142使得該等記憶體裝置可以介接記憶體控制器120。I/O介面邏輯142可以包括一硬體介面,並且可以根據記憶體控制器的I/O 122,但係在該記憶體裝置端。在一實施例中,多個記憶體裝置140被並行連接到該等相同的命令和資料匯流排。在另一個實施例中,多個記憶體裝置140被並行地連接到該相同的命令匯流排,並被連接到不同的資料匯流排。例如,系統100可被配置成多個記憶體裝置140被並行耦合,每一個記憶體裝置對應於一命令,並存取內部於每一個的記憶體資源160。對於一寫入操作,一單獨的記憶體裝置140可以寫入該整個資料字組的一部分,以及對於一讀出操作,一各別的記憶體裝置140可以提取該整個資料字組的一部分。
在一實施例中,記憶體裝置140被直接設置在一運算裝置的一母板或主機系統平台(例如,處理器110被設置在其上的一PCB(印刷電路板))。在一實施例中,記憶體裝置140可以被組織在記憶體模組170中。在一實施例中,記憶體模組170表示雙列直插式記憶體模組(DIMM)。
在一實施例中,記憶體模組170代表多個記憶體裝置的其他組織以共享存取或控制電路的至少一部分,其可以是一單獨的電路,一單獨的裝置,或者與該主機系統平台獨立出來的板。記憶體模組170可包括多個記憶體裝置140,且該等記憶體模組可包括支撐體用於到設置在其上之該等包括記憶體裝置之多個單獨的通道。在另一個實施例中,記憶體裝置140可被併入到與記憶體控制器120相同的封裝中,諸如由諸如多晶片模組(MCM)、封裝上的封裝、穿透矽盲孔(TSV)、或其他技術的技術。同樣地,在另一個實施例中,多個記憶體裝置140可被併入到記憶體模組170中,其本身可被併入到與記憶體控制器120相同的封裝中。將可被理解的是,對於這些和其他實施例,記憶體控制器120可以是主機處理器110的一部分。
每一記憶體裝置140均包括記憶體資源160。記憶體資源160代表用於資料之記憶體位置或儲存位置之個別的陣列。通常記憶體資源160係以資料列進行管理,經由字線(列)和位元線(在一列中的各別位元)來存取。記憶體資源160可以被組織為記憶體之獨立的通道、記憶體列、以及記憶庫。通道可以指在記憶體裝置140中到儲存位置的獨立控制路徑。記憶體列可以指跨越多個記憶體裝置之共同的位置(例如,在不同的裝置內相同的列位址)。記憶庫可以指在一記憶體裝置140內的記憶體位置陣列。在一實施例中,記憶體的記憶庫被分成子記憶庫,其具有該等子記憶庫織之共享電路(例如,驅動器、信號線、
控制邏輯)的至少一部分。將被理解的是,通道、記憶體列、記憶庫、子記憶庫、或該等記憶體位置之其他的結構、以及該等結構的組合,會在其應用到的實體資源中重疊。例如,該相同的實體記憶體位置可以被存取為在一特定通道上的一特定記憶庫,但其也可以屬於一記憶體列。因此,記憶體資源的該結構將會以一種包含的方式,而不是以排斥的方式,來被理解。
在一實施例中,記憶體裝置140包括一或多個暫存器144。暫存器144表示為該記憶體裝置的該操作提供配置或設置之一或多個儲存裝置或儲存位置。在一實施例中,暫存器144可提供記憶體裝置140的一儲存位置以儲存由該記憶體控制器120來存取的資料作為控制或管理操作的一部分。在一實施例中,暫存器144包括一或多個模式暫存器。在一實施例中,暫存器144包括一或多個多用途暫存器。在暫存器144內的該位置配置可以配置記憶體裝置140在不同的「模式」中進行操作,其中命令資訊可基於該模式來觸發在記憶體裝置140中不同的操作。另外地或在替代方案中,取決於該模式,不同的模式也可以從位址資訊或其他的信號線觸發不同的操作。暫存器144的設置可以指出用於I/O設置的配置(例如,時序、終端電阻或ODT(在晶粒上終端電阻)146、驅動程序配置、或其他I/O設置)。
在一實施例中,記憶體裝置140包括ODT 146作為與I/O 142相關聯之該介面硬體的一部分。ODT
146可如以上所提及的被配置,並且提供設置用於將被施加到介接指定的信號線之該介面的阻抗。該ODT設置可基於一記憶體裝置是否是一存取操作之一選擇的目標或一非目標裝置來被改變。ODT 146設置會影響在該等終端線路上的該時序及信令的反射。在ODT 146上嚴格的控制可以以施加阻抗和負載之改善的匹配來實現更高速度的操作。ODT 146可被運用到I/O介面142、122之特定的信號線上,並且不一定要運用到所有的信號線上。
記憶體裝置140包括控制器150,其表示在該記憶體裝置內的控制邏輯以控制在該記憶體裝置內的內部操作。例如,控制器150解碼由記憶體控制器120所發送的命令,並產生內部操作來執行或滿足該等命令。控制器150可被稱為是一內部控制器,並且與該主機的記憶體控制器120是分開的。控制器150可基於暫存器144判定哪種模式被選擇,並配置操作的內部執行用於存取記憶體資源160或基於該選擇的模式之其他的操作。控制器150產生控制信號來控制在記憶體裝置140內的該位元路由安排,以提供一適當介面用於該選擇的模式並導引一命令至該等適當的記憶體位置或位址。
再次參照記憶體控制器120,記憶體控制器120包括排程器130,其代表邏輯或電路以產生和排序發送到記憶體裝置140的異動。從一個角度來看,記憶體控制器120的主要功能可以說是要對記憶體裝置140排程記憶體存取和其他的異動。這樣的排程可以包括產生該等異動
本身來執行由處理器110的資料請求,並以保持資料的完整性(例如,諸如與更新有關的命令)。異動可包括一或多個命令,並導致命令或資料或兩者在一或多個定時週期諸如時鐘週期或單位間隔上做傳輸。異動可以是用於存取諸如讀出或寫入或相關的命令或它們之一種組合,而其他的異動可以包括用於配置、設置、資料完整性、或其他命令或它們之一種組合的記憶體管理命令。
記憶體控制器120包括邏輯以允許異動的選擇和排序以提高系統100的效能。因此,記憶體控制器120可以選擇在該等未完成的異動中那些應以何種順序發送到記憶體裝置140,其實現典型地會比一種簡單的先入先出演算法在邏輯上要複雜得多。記憶體控制器120管理該等異動對記憶體裝置140的該發送,並管理與該等異動相關聯的時序。在一實施例中,異動具有確定性的時序,可以由記憶體控制器120進行管理,並被使用在如何排程該等異動的決定中。
再次參照記憶體控制器120,記憶體控制器120包括命令(CMD)邏輯124,其代表邏輯或電路以產生命令來發送到記憶體裝置140。該等命令的產生可參照在排程之前的該命令,或準備好要發送之排隊命令的該準備。通常,在記憶體子系統中的該信令包括在其中或伴隨該命令的位址資訊,以指出或選擇在該處該記憶體裝置應執行該命令的一或多個記憶體位置。在一實施例中,控制器150包括命令邏輯152來接收和解碼經由I/O 142接收自記憶
體控制器120之命令和位址資訊。基於該接收到的命令位址資訊,控制器150可以控制在記憶體裝置140內該邏輯及電路操作的該定時來執行這些命令。控制器150負責在記憶體裝置140內部之時序和操作與標準或規範的合規性。記憶體控制器120藉由存取排程和控制可以實現與標準或規範的合規性。
在一實施例中,記憶體控制器120包括更新(REF)邏輯126。更新邏輯126可被使用於依電性的記憶體資源其需要被更新以保持一確定的狀態。在一實施例中,更新邏輯126指出要更新的一個位置,以及要執行的一種更新類型。更新邏輯126可觸發在記憶體裝置140內的自我更新,及/或藉由發送更新命令來執行外部更新。例如,在一實施例中,系統100支援全體記憶庫更新以及每一記憶庫更新。全體記憶庫更新致使在所有並行耦合之記憶體裝置140內一選定記憶庫的該更新。每一記憶庫更新致使在一指定記憶體裝置140中一指定記憶庫的該更新。在一實施例中,在記憶體裝置140內的控制器150包括更新邏輯154以在記憶體裝置140內運用更新。在一實施例中,更新邏輯154產生內部操作以根據接收自記憶體控制器120的一外部更新來執行更新。更新邏輯154可以判定是否一更新被引導到記憶體裝置140,以及哪些記憶體資源160要更新以回應於該命令。
在一實施例中,系統100支援混合式更新。在一種混合式更新中,記憶體裝置140執行「隱藏」於記
憶體控制器120的內部更新。隱藏更新係所執行的更新不是回應於一外部的更新命令,而是回應於另一個命令。將被理解的是即使自我更新係回應於一外部更新命令所執行的一更新,由記憶體控制器120把記憶體裝置140放置在自我更新模式或自我更新狀態中。隱藏更新係由記憶體裝置140在發起一命令的該執行之後在一延遲時段同時等待一定義的時間窗口中所執行的更新。例如,啟動命令有一已定義的時間窗口其中包含執行該啟動命令之該記憶體位置的該記憶庫不能用於其他的外部命令。在一實施例中,當一子記憶庫的一記憶體位置係由記憶體控制器120以一啟動命令被存取時,更新邏輯154觸發一不同的子記憶庫之一記憶體位置的更新。因此,例如,記憶體控制器120的CMD邏輯124可以產生和發送一啟動命令給記憶體裝置140。回應於該啟動命令,記憶體裝置140的控制器150可致使CMD邏輯152來致使在該指定的記憶庫處執行啟動命令,並致使更新邏輯154來致使在一不同記憶庫處執行一更新命令。
替代的隱藏更新方案包括需要一回退或重試機制,其中執行一內部更新的一記憶體裝置可對該記憶體控制器指出其係不可用的,需要該記憶體控制器來重試該異動。以在一記憶體列上的多個記憶體裝置(例如,4或8個DRAM),該等內部更新很容易變得不同步,因為每一個記憶體裝置依賴於一內部振盪器(未被具體地示出)用於內部更新。若在一記憶體列上的任何記憶體裝置可以在任
何時間請求一重試,該記憶體控制器的複雜性會是很顯著的。此外,某些記憶體裝置可以執行該命令而且其他則請求一重試,其增加了該複雜性。本文所描述的混合式更新允許使用隱藏更新而不會觸發異動的重試。
例如,在隱藏更新中,一記憶庫係於tRC開放以回應於每一個啟動命令,並且可以在該tRC窗口期間在該記憶庫內的一個不同的子記憶庫上執行一更新。在一實施例中,在混合式更新中,系統100追踪除了內部更新、隱藏更新和其他外部更新已經被完成之外,還有多少外部更新被需要以滿足該記憶庫的最低更新要求。然後系統100可以執行數次的外部更新至少足以滿足在一更新週期(例如,tREF)內所需要之更新的一最小數量。因此,系統100可以允許記憶體裝置140來執行隱藏更新,並以足以滿足更新要求之外部更新來彌補該等隱藏更新。例如,CMD邏輯124可以產生啟動命令,並且隨後更新邏輯126可以發送外部更新命令來彌補沒有以隱藏更新被更新之任何的記憶體資源。將被理解的是啟動命令會被明確地提及,因為它們通常需要在讀出或寫入命令之前被發出。將被理解的是,其他的命令可以是隱藏更新的觸發者,諸如包括一延遲期間其將允許在該延遲期間存取另一個記憶庫或子記憶庫的任何命令。
在一實施例中,記憶體控制器120追踪所需要的外部更新數量。在一實施例中,記憶體控制器120包括一或多個計數器128以追踪該所需要的額外更新次數。
例如,計數器128可包括每一記憶庫計數器以追踪發送給特定記憶庫之啟動命令數量。在一實施例中,計數器128計數可能已經被發送到該記憶庫之該外部更新數。在一實施例中,基於在計數器128中所累積的啟動命令數以及在一不同的計數器中所累積的外部更新數,在記憶體控制器120中更新邏輯126或其他的控制邏輯判定需要多少額外的外部更新。在一實施例中,記憶體控制器120不發送任何的外部更新,直到判定需要多少額外的外部更新為止。
在一實施例中,記憶體裝置140追踪所需要的該外部更新數量。在一實施例中,記憶體裝置140包括一或多個計數器148來追踪已被內部執行的更新以判定需要多少次外部更新。在一實施例中,記憶體裝置140包括一計數器148用於每一個記憶庫來累積用於該記憶庫的更新。可替代地,在一實施例中,計數器148可被重置為在一更新窗口內所需要更新的一總數量,而計數器148可在每一次更新的執行時做遞減。因此,在一指定的時間,例如在一排程上,記憶體裝置140可以對記憶體控制器120指出在計數器148中剩餘的次數,以指出還需要多少次外部更新。
在一實施例中,當記憶體裝置140追踪所需要之額外的更新次數時,記憶體裝置140和記憶體控制器120可以以一種「更新握手」或該記憶體裝置可對該記憶體控制器指出該等外部更新需求之其他類似的機制來接合。例如,在一實施例中,記憶體裝置140把所需要更新
的數量儲存在暫存器144中,且記憶體控制器可被配置成可週期性地讀取該暫存器。將被理解的是,對於具有多個記憶庫的一記憶體裝置,每一個記憶庫在每一個更新週期中可以是處於不同的更新水平上。在一實施例中,記憶體裝置140分別地指出每一記憶庫的更新需求。在一實施例中,記憶體控制器120透過每一記憶庫更新命令(REFpb)、全體記憶庫更新命令(REF)、或其之一種組合來滿足該等更新需求。
記憶體裝置140包括記憶體資源160的多個部分。例如,記憶體資源可以包括記憶體的多個記憶庫,各自有多個子記憶庫。記憶體裝置140可接收被導向到在記憶體之該等部分之一部份中一指定記憶體位置的存取命令(例如,一啟動命令),並在該指定的記憶體位置上執行該存取命令,且也可在一不同部分的記憶體位置上(例如,一第一記憶庫的一不同的子記憶庫)執行一隱藏更新。記憶體控制器120可以提供該部分的外部更新命令,其中隱藏更新和外部更新的一總數將滿足在一更新窗口期間該部分的一最小的總共更新數。
圖2係一系統實施例的一方塊圖,在其中混合式更新結合了內部隱藏更新與外部更新。系統200提供一記憶體子系統之元件的一實例,並且可以是圖1之系統100其元件的一實例。控制器210表示一記憶體控制器或主機控制器。記憶體240表示系統200的一或多個記憶體裝置,並且可以是,例如,一或多個DRAM或其他的記憶體
裝置或一群記憶體裝置。
在一實施例中,控制器210包括命令邏輯212以發出命令給記憶體240。在一實施例中,控制器210包括一或多個記憶體240之每一記憶庫260每一記憶庫計數器222。在一實施例中,控制器210可以使用計數器222追踪要滿足每一記憶庫之最低更新要求之所需要的外部更新數。在一實施例中,控制器210包括一全域計數器224,其代表在控制器210內的邏輯來判定要發出多少的全體記憶庫更新命令以滿足記憶體240之記憶庫260的最低更新需求。在一實施例中,控制器210包括每一記憶庫更新邏輯232以發出每一記憶庫更新給記憶體240。在一實施例中,控制器210包括全體記憶庫更新命令邏輯234以發出全體記憶庫更新命令給記憶體240。控制器210可以使用更新邏輯232及/或更新邏輯234來發出外部更新以滿足在記憶體240內無法由隱藏更新來滿足的額外更新需求。
記憶體240包括命令邏輯242,其代表邏輯以接收和解碼來自控制器210的命令。命令邏輯242可以是記憶體240之一在晶粒上控制器的一部分。記憶體240包括一或多個暫存器244,其代表在記憶體240內的儲存位置在該處可以儲存可由控制器210來存取的值,及/或在該處控制器210可以寫入作為配置設置以控制記憶體240之該等操作的值。記憶體240包括記憶庫260,它代表被管理作為單獨記憶庫、或部分或記憶體位址空間之可單獨定址區域的記憶體資源。在一實施例中,每一個記憶庫260被劃分成
多個子記憶庫。僅由舉例的方式而非限制性的方式,記憶庫260被示出具有四個子記憶庫,Sub0、Sub1、Sub2、以及Sub3。將被理解的是,記憶庫260可包括不同數量的子記憶庫,諸如2、6、8、或其他的數目。通常子記憶庫的數目將是一個二的冪次數,但並不一定侷限於此。
在一實施例中,記憶體240包括內部更新邏輯252,其使得它可內部地執行更新。內部更新可指該記憶體裝置執行由內部所發起之一或多個更新操作。該等命令可以是回應於一來自控制器210的一外部命令,並且不一定是一外部更新命令。將被理解的是,記憶體240執行內部更新操作以回應於該外部更新命令。如本文所述,使用內部更新邏輯252,記憶體240將不一定一對一地基於外部命令執行更新,並且可以執行更新命令以回應於接收到一或多個非更新命令。內部更新係由一內部振盪器256來控制,其對於在一記憶體列、或通道、或DIMM上的每一個記憶體裝置係不同的,並且該等振盪器不能被保證是同步的。外部更新邏輯254表示在記憶體240內的邏輯來執行更新操作以回應於來自控制器210的外部更新命令。在一實施例中,記憶體240包括一或多個計數器258,其代表計數器以致使記憶體240可以追踪所需要的額外更新數以滿足更新要求。
在一實施例中,一ACT命令觸發在一或多個子陣列或子記憶庫中的一內部更新。在一實施例中,每一個記憶庫包括多個子陣列。由該DRAM或記憶體裝置的該
內部更新可以在tRC或者一列週期時間來被執行。該tRC窗口指定從一ACT到對一子陣列之另外一個存取的該最短時間。在之前的方案中,僅有內部更新被考慮作為一更新的解決方案。任何不被滿足如在平行於ACT命令之隱藏更新之一部分的更新會由可導致該DRAM變成為無法由該記憶體控制器來存取之內部更新來滿足。因此,一記憶體控制器可會被要求要等待,直到一DRAM在存取該記憶體裝置之前被完成執行內部更新為止。然而,當每一個DRAM係單獨的、非確定性地不可用時,這樣的不可用性會變成一顯著的問題。不是執行全體更新作為內部更新,來自該記憶體控制器的外部更新可以與內部更新相結合作為一混合式更新技術。
在一實施例中,有使用DRAM產生更新和控制器發起更新之一種組合,或混合式更新選項的兩個常規選項。這兩個選項可以透過混合式更新而不需要任何重試或回退機制來滿足更新的要求。通常在一更新窗口(例如,一固定的64ms或32ms的週期)所需要之更新命令的該總數係由一標準來定義,諸如上面所提到的一種DDR規範或其他的記憶體標準。在選項1中,該記憶體控制器追踪所需要之該外部更新數量。在選項2中,該記憶體裝置追踪所需的該外部更新數量。
在一實施例中,在選項1中,控制器210計數所發出的該ACT命令數量,並且可以發出外部更新命令用於該等所需要之其餘的更新命令。在一實施例中,控制器
210係在每一個記憶庫的基礎上發出該等外部更新。該更新命令總數可基於在一給定工序節點上供應商需求而隨每一個供應商而異。該等相鄰子陣列有可能會變得匱乏,因為相鄰子陣列之間有共享的電路。在一實施例中,控制器210可以追踪該等需要,並基於在該等子陣列中的該列數在一更新窗口中保證更新命令的一最小數目。在一實施例中,控制器210可以保證每隔9 * tREFI有至少一個更新命令以確保免於列錘電路不會被匱乏。
在一實施例中,在選項2中,該等DRAM裝置追踪需要的該更新次數,而該記憶體控制器不需要追踪該ACT命令數量。在一實施例中,記憶體240可以追踪它進行或執行之該實際更新次數以回應於ACT命令,而不要求控制器210追踪ACT命令作為用於追踪該等更新的一代理。在一實施例中,記憶體240發送一指示符告知控制器210它需要額外的更新。這樣的一指示符可以與一外部信號諸如ALERT、與一MR(模式暫存器)讀出命令選項、或它們的一種組合一起被發送。在一實施例中,模式暫存器內容可以指定在一特定的滾動窗口中所需要更新的數目。在一實施例中,一規範可以指示控制器210將多久讀取一暫存器以判定要發出多少個外部更新。在一實施例中,該模式暫存器可以使用每一記憶庫更新功能來覆蓋用於系統之記憶庫或記憶庫群等級的粒度。選項2允許在該記憶體裝置的實現方式中提供靈活性,藉由允許該系統基於程序和溫度條件發出所需要的外部或額外更新,這會導致從裝
置到裝置或系統到系統的變化,或者兩者兼而有之。
使用選項1或選項2中之一,控制器210可以發送,以及回應於該發送記憶體240接收和執行,必需要的數個外部更新以滿足用於該更新週期之總更新的該最小數量。在一實施例中,控制器210可發送一或多個每一記憶庫更新用於該等外部更新命令。在一實施例中,控制器210可發送一或多個全體記憶庫更新命令用於該等外部更新命令。
圖3係一系統實施例的方塊圖,其說明有可能的混合式更新信令。系統300提供了一記憶體子系統的元件的一實例,並且可以是根據圖2之系統200的一實施例及/或根據圖1之系統100的一實施例。控制器302表示一主機控制器或一記憶體控制器。記憶體304表示一或多個記憶體裝置或DRAM。
在一實施例中,控制器302包括存取邏輯322,其產生ACT命令324給記憶體304。ACT 324可以被導向到一特定的記憶體位置,其可以是在記憶體304之一特定記憶庫及子記憶庫內。在一實施例中,記憶體304的晶粒上控制器306接收和解碼ACT 324,並產生一或多個內部操作來執行該命令。如圖所示,控制器306可以路由安排該命令操作至該適當的目標記憶庫310。典型地只有一個記憶庫310將會成為該目標記憶庫。該等虛線顯示把命令發送到作為該目標記憶庫之該等記憶庫之任一的可能性,基於ACT 324的該位址。在一實施例中,除了產生內
部操作來執行ACT 324之外,控制器306還產生一或多個隱藏更新命令,REF 326,以執行記憶體304的一不同部分。在一實施例中,在該ACT延遲窗口期間,記憶體304的該不同部分係該目標記憶庫的一不同的子記憶庫。因此,在一實施例中,ACT 324和REF 326兩者可被發送到相同的記憶庫310,其中ACT 324被導向到一子記憶庫的,而REF 326被導向到一不同的子記憶庫。
在一實施例中,記憶體304追踪為每一個記憶庫310所發出的內部REF 326命令,並分別為每一個記憶庫310判定其額外的更新需求為何。該等額外的更新需求在每一記憶庫310內被表示為REF需求332。REF需求332可以是每一個記憶庫不同,因為不同數量的ACT命令將在系統300的操作中被發送給每一個記憶庫。在一實施例中,記憶體304提供REF需求332給控制器302,例如,藉由把該等值儲存在一或多個暫存器(圖中未被具體示出)用於由控制器302來存取。在一實施例中,記憶體304觸發一警報信號警報334以告知控制器302指出該值已準備好被讀取和使用。
在一實施例中,控制器302經由讀取一暫存器來判定REF需求342以回應於由記憶體304的一警報。在一實施例中,控制器302經由在該記憶體控制器內部追踪每一個記憶庫310需要多少次更新來判定REF需求342。在這樣的一實施例中,記憶體304將不一定要追踪REF需求332。外部更新(EXT REF)352表示在控制器302內的邏輯
來發出外部更新以滿足REF需求342(回應於內部追踪)或REF需求332(回應於由記憶體304的追踪)。在一實施例中,外部更新邏輯352發出一或多個全體記憶庫更新命令(ALL)354、或一或多個每一記憶庫更新(PB)356、或兩者,給記憶庫310。全體記憶庫更新命令354觸發全體的記憶庫310來執行更新。每一記憶庫更新356觸發一單獨指定的記憶庫310以執行一更新。隱藏REF 326、加上ALL 354、或PB 356、或兩者之一種組合的該組合,應該滿足在一更新週期內記憶體304的一最小更新需求。因此,控制器302可以發出ALL 354和PB 356的一種組合以彌補在每一個記憶庫之REF 326與該更新週期之一更新需求之間的差異。
圖4A係一程序實施例的一流程圖,用於執行混合式更新。程序400描述操作以使用隱藏、內部更新和外部更新的一種組合來提供用於記憶體之一或多個記憶庫的更新。程序300可以在系統100、200、或300之任一之中來執行。在一實施例中,該記憶體裝置在內部地執行隱藏更新以回應於由該記憶體控制器所發送的一啟動命令。該記憶體控制器可以發送該啟動命令為一記憶體存取(例如,讀出或寫入)或記憶體管理操作的一部分,402。當發送該啟動命令時,該記憶體控制器可以確認該命令的該目標記憶體位置,404。在一實施例中,如在下面針對圖4B會更詳細地描述的,該記憶體控制器能夠追踪一記憶庫所需要的更新,406,基於它發送給每一個記憶庫或記憶體
其他部分之啟動命令的數量。
在一實施例中,回應於接收到一啟動命令,該記憶體裝置解碼該命令,包括確認用於執行該命令的該目標記憶體位置,408。確認該目標記憶體位置可以包括確認與該記憶體位置相關聯的一記憶庫和子記憶庫。該記憶體裝置的一內部控制器產生一或多個操作在該經確認的記憶體位置上執行該啟動命令,410。在一實施例中,該內部控制器還確認一不同的記憶體位置,諸如在該相同記憶庫之一不同的子記憶庫,以執行一隱藏更新,412。因此,該記憶體裝置可以在與在該目標記憶體位置中執行該啟動命令相關聯的該延遲期間確認一記憶體位置以在一不同部分中更新。由於基於該啟動命令的該特定記憶庫將已經是忙碌的,更新一不同的子記憶庫提供了工作效率。在一實施例中,在該記憶體裝置內的邏輯產生一或多個操作用於在該不同的記憶體位置處的一隱藏更新,414。在一實施例中,如在下面針對圖4C會更詳細地描述的,該記憶體裝置可以追踪一記憶庫所需要的該等更新,416,基於它針對記憶體之每一部分所產生的該隱藏更新數。
在一實施例中,該記憶體子系統,無論是該記憶體控制器、或該記憶體裝置、或兩者,判定是否在該更新窗口(例如,32ms或64ms)之前完成更新的時間到了,418。在一實施例中,判定是否完成更新的時間到了可以包括判定有多少更新仍然被需要,以及要完成該等更新要用掉多少時間。因此,在一實施例中,該記憶體控制
器或該記憶體裝置或兩者可基於留在該更新窗口中的時間量以及該所需要更新次數,判定何時外部更新應該開始被執行。如果不是完成更新的時間,420的NO分支,該記憶體控制器能繼續執行對該記憶體裝置的記憶體存取,包括發送啟動命令,402。啟動及隱藏更新的該數目可以累積直到更新將需要被執行以滿足該裝置的最低需求的一時間為止。
若完成該等更新的時間到了,420的YES分支,該記憶體控制器或記憶體裝置,取決於何者追踪所需要更新的該數量,可判定多少外部更新需要被發送給每一個記憶庫,422。在一實施例中,不管是該記憶體控制器還是記憶體裝置計算每一記憶庫需要多少個更新,該記憶體控制器將判定需要多少個更新,不是透過其自己的檢測,就是透過接收來自該記憶體裝置的一指示。該記憶體控制器將判定要使用什麼類型和每一種類型更新使用多少次來完成該等更新,424。在一實施例中,該記憶體控制器決定要發出每一記憶庫更新,426的PB分支,並且發出數個每一記憶庫更新以滿足每一個記憶庫的最小數目,428。在一實施例中所需,該記憶體控制器決定要發出全體記憶庫更新命令,428的AB分支,並且確認出在該記憶體裝置之該等記憶庫內具有更新最高需求的一記憶庫,430。然後,該記憶體控制器可以發出足以滿足該具最高需求記憶庫之最小更新數目的數個全體記憶庫更新命令,432。
在一實施例中,一更具智慧、更靈活的更新可被操作以滿足最低需求。例如,該記憶體控制器可以確認那一個記憶庫具有最低之所需要的更新數量,而不是如上所述之最高的數量。在一實施例中,該記憶體控制器發出必須要來滿足該具最低需求之記憶庫的該等更新需求的數個全體記憶庫更新命令。但有鑑於其他的記憶庫需要更多的更新,以最低的次數來更新所有的記憶庫會是一種頻寬的有效利用。該記憶體控制器然後可以藉由發出每一記憶庫更新至個別的記憶庫來滿足其他記憶庫的該等需求。每一記憶庫更新和全體記憶庫更新命令的其他種組合是有可能的。
圖4B係一程序實施例的一流程圖,用於一記憶體控制器來監控更新需求。程序406描述了該記憶體控制器追踪該等記憶庫之該等所需要更新之一實施例的操作,作為圖4A之程序400的一部分。在一實施例中,該記憶體控制器確認一記憶庫用於一啟動命令的該目標記憶體位置,包括確認該子記憶庫,440。在一實施例中,該記憶體控制器包括一或多個計數器來追踪啟動命令。在一實施例中,該記憶體控制器包括至少一個計數器用於每一個記憶庫。因此,該記憶體控制器可遞增一計數器用於每一個記憶庫的每一個啟動命令,442。
在一實施例中,該記憶體控制器至少部分地基於該(等)計數器計算有多少個外部更新要發送到每一個記憶庫,444。在一實施例中,該記憶體控制器透過每一
記憶庫更新來滿足更新需求。因此,在一實施例中,該記憶體控制器發出該經計算出數量的每一記憶庫更新來更新每一個記憶庫,446。在一實施例中,該記憶體控制器透過全體記憶庫更新命令來滿足更新需求。因此,在一實施例中,該記憶體控制器對於所有的記憶庫計算最高更新需求(意味著該最少的啟動命令被計數)所需要的全體記憶庫更新命令數量,448。在一實施例中,該記憶體控制器透過全體記憶庫和每一記憶庫外部更新的一種組合來滿足更新需求。
圖4C係一程序實施例的一流程圖,用於一記憶體裝置來監控更新需求。程序416描述了該記憶體控制器追踪該等記憶庫之該等所需要更新之一實施例的操作,作為圖4A之程序400的一部分。在一實施例中,該記憶體裝置對於執行之每一個隱藏更新遞增一更新計數器,450。在一實施例中,該記憶體裝置基於每一個記憶庫的該更新計數器來計算有多少外部更新被需要,452。
在一實施例中,該記憶體裝置儲存該更新需求成為在一暫存器中的一值,454,諸如一模式暫存器或多用途暫存器。該暫存器可以持有用於每一個記憶庫的值。在一實施例中,該記憶體裝置產生一警報或其他指示信號給該記憶體控制器,456。在一實施例中,該記憶體控制器從該暫存器取得該(等)計數,並產生更新以滿足每一個記憶庫的更新需求,458。在一實施例中,該記憶體控制器透過全體記憶庫更新命令、每一記憶庫更新、或它
們的一種組合來滿足每一個記憶庫的該等更新需求。
圖5係一種運算系統之一實施例的方塊圖,其中混合式更新可被實現。系統500代表根據本文所描述之任一實施例的一種運算裝置,並且可以是一膝上型電腦、一桌上型電腦、一平板電腦、一伺服器、一遊戲或娛樂控制系統、一掃描機、影印機、印表機、路由或交換裝置、嵌入式運算裝置、一智慧型手機、一可穿戴式裝置、一物聯網裝置或其他電子裝置。
系統500包含有處理器510,其為系統500提供指令的處理、操作管理、和執行。處理器510可以包括任何類型的微處理器、中央處理單元(CPU)、圖形處理單元(GPU)、處理核心、或者其他的處理硬體來為系統500提供處理、或處理器的一種組合。處理器510控制系統500的整體操作,並且可以是或包括,一或多個可規劃通用或特定目的微處理器、數位信號處理器(DSP)、可規劃控制器、特定應用積體電路(ASIC)、可規劃邏輯裝置(PLD)、或類似者、或這些裝置的一種組合。
在一實施例中,系統500包括耦合到處理器510的介面512,其可以代表一較高速介面或一高吞吐量介面用於需要更高頻寬連接的系統組件,諸如記憶體子系統520或圖形介面組件540。介面512可以表示一「北橋」電路,其可以是一獨立的組件或被整合在一處理器晶粒上。其中,圖形介面540介接到圖形元件來為系統500的使用者提供一視覺顯示。在一實施例中,圖形介面540基
於儲存在記憶體530中的資料或基於由處理器510所執行的操作或兩者來產生一顯示。
記憶體子系統520代表系統500的主記憶體,並提供將由處理器510來執行之程式碼、或將被使用在一程序執行中資料值的暫時儲存。記憶體子系統520可包括一或多個記憶體裝置530諸如唯讀記憶體(ROM)、快閃記憶體、隨機存取記憶體(RAM)之一或多個變型諸如DRAM、或其他記憶體裝置、或這種裝置的一種組合。記憶體子系統530儲存和代管,除其他事項之外,作業系統(OS)532以提供一軟體平台用於執行在系統500中的指令。此外,應用程式534可以在來自記憶體530之OS 532的該軟體平台上執行。應用程式534表示程式,其具有它們自己的操作邏輯來執行一或多個功能的執行。程序536代表提供輔助功能給OS 532或一或多個應用程式534或其一種組合的代理或例程。OS 532、應用程式534、以及程序536提供軟體邏輯以提供用於系統500的功能。在一實施例中,記憶體子系統520包括記憶體控制器522,其係一種記憶體控制器以產生和發出命令給記憶體530。將被理解的是記憶體控制器522可以是處理器510的一實體部分或介面512的一實體部分。例如,記憶體控制器522可以是一整合式的記憶體控制器,被整合到一具有處理器510的電路。
雖然沒有被特別地圖示出,應被理解的是系統500可包括在裝置之間的一或多個匯流排或匯流排系
統,諸如記憶體匯流排、一圖形匯流排、介面匯流排、或其他。匯流排或其他信號線可以通信地或電氣地把組件耦合在一起,或同時通信地和電氣地耦合該等組件。匯流排可包括實體通信線路、點對點的連接、橋接器、適配器、控制器、或其他電路或它們的一種組合。匯流排可以包括,例如,系統匯流排的一或多個、一週邊組件互連(PCI)匯流排、一超傳輸或工業標準架構(ISA)匯流排、一小型電腦系統介面(SCSI)匯流排、一通用串列匯流排(USB)、或國際電機和電子工程師學會(IEEE)標準1394匯流排(通常被稱為「火線」)。
在一實施例中,系統500包括介面514,其可被耦合到介面512。介面514可以是比起介面512一較低速的介面。在一實施例中,介面514可以是一「南橋」電路,其可以包括獨立的組件和積體電路。在一實施例中,多個使用者界面組件或週邊組件,或兩者,耦合到介面514。網路介面550提供系統500可在一或多個網路上與遠端裝置(例如,伺服器或其他運算裝置)進行通信的能力。網路介面550可以包括一以太網適配器、無線互連組件、蜂巢式網路互連組件、USB(通用串列匯流排)、或其他有線或無線的基於標準的或專有的介面。網路介面550能夠與一遠端裝置交換資料,其可以包括發送儲存在記憶體中的資料或接收將要被儲存在記憶體中的資料。
在一實施例中,系統500包括一或多個輸入/輸出(I/O)介面560。I/O介面560可以包括一或多個介面
組件透過其一使用者與系統500互動(例如,音訊、字母數字、觸覺式/觸控式、或其他介面)。週邊介面570可以包括未在以上被具體提及之任何的硬體介面。週邊裝置通常指的是相依性地連接到系統500的裝置。一相依性連接係一種裝置,其中系統500提供該軟體平台或硬體平台或兩者,操作可在其上執行,並且一使用者與其互動。
在一實施例中,系統500包括儲存子系統580以把資料以一種非依電性的方式做儲存。在一實施例中,在特定的系統實現方式中,至少儲存器580的某些組件會與記憶體子系統520的組件重疊。儲存子系統580包括儲存裝置584,其可以是或包括任何傳統的媒體用於以一種非依電性的方式儲存大量的資料,諸如一或多個磁性、固態、或基於光學的碟、或一種組合。儲存器584以一種持續的狀態(即,儘管系統500電力中斷該值還是被保留)保存程式碼或指令和資料586。儲存器584可被一般認為是一種「記憶體」,雖然記憶體530係該執行的或操作的記憶體以提供指令給處理器510。雖然儲存器584係非依電性的,記憶體530可包括依電性記憶體(即,若系統500的電力被中斷,該資料的該值或狀態係未定的)。在一實施例中,儲存子系統580包括控制器582來介接儲存器584。在一實施例中,控制器582係介面514或處理器510的一實體部分,或者可以包括在處理器510和介面514這兩個中的電路或邏輯。
電源502提供電力給系統500的組件。更具體
地說,電源502典型地介接到在系統502中一或多個電源供應器504以提供電力給系統500的該等組件。在一實施例中,電源供應器504包括一AC到DC(交流到直流)適配器以插入到一牆壁插座中。這樣的AC電源可以是可再生能源(例如,太陽能發電)電源502。在一實施例中,電源502包括一DC電源,諸如一外部的AC到DC轉換器。在一實施例中,電源502或電源供應器504包括無線充電硬體可經由接近到一充電場來進行充電。在一實施例中,電源502可包括一內部電池或燃料電池來源。
在一實施例中,系統500包括混合式更新邏輯590,其使得系統經由隱藏更新和外部更新的一種組合來滿足在記憶體530內的更新需求,根據本文所描述之任何的實施例。記憶體530或記憶體控制器522或兩者可以追踪由記憶體530所執行的隱藏更新次數以回應於啟動命令。基於所執行的隱藏更新次數,記憶體530或記憶體控制器522或兩者可判定每一記憶庫需要多少次更新以滿足在一更新窗口中的一種最低需求。記憶體控制器522可以發出外部更新以滿足該最低需求。該記憶體控制器可以發出每一記憶庫更新、全體記憶庫更新命令、或兩者來更新該等記憶庫。
圖6係一種行動裝置之一實施例的方塊圖,其中混合式更新可被實現。裝置600代表一行動運算裝置,諸如一運算平板電腦、一行動電話或智慧型手機、一具有無線功能的電子閱讀器、可穿戴式運算裝置、一物聯
網裝置或其他電子裝置、或一嵌入式運算裝置。將被理解的是該等組件的某些係被一般地顯示,並非這一裝置之所有的組件都被圖示於裝置600中。
裝置600包括處理器610,其執行裝置600的主要處理操作。處理器610可以包括一或多個實體裝置,諸如微處理器、應用程式處理器、微控制器、可規劃邏輯裝置、或其他的處理構件。由處理器610所執行的該等處理操作包括在其上應用程式及裝置功能被執行之一作業平台或作業系統的執行。該等處理操作包括與一人類使用者或與其他裝置I/O(輸入/輸出)有關的操作、與電源管理有關的操作、與把裝置600連接到另一裝置有關的操作,或一組合。該等處理操作也可以包括與音訊I/O、或顯示器I/O、或其他介接、或它們的一種組合有關的操作。處理器610可以執行儲存在記憶體中的資料。處理器610可以寫入或編輯儲存在記憶體中資料。
在一實施例中,系統600包括一或多個感測器612。感測器612代表嵌入式感測器或外部感測器的介面、或其之一種組合。感測器612使得系統600可監視或檢測系統600被實現在其中之一環境或一裝置的一或多個狀況。感測器612可以包括環境感測器(諸如溫度感測器、運動檢測器、光檢測器、相機、化學感測器(例如,一氧化碳、二氧化碳、或其他化學感測器))、壓力感測器、加速度計、陀螺儀、醫學或生理學感測器(例如,生物感測器、心臟速率監測器、或其他感測器以檢測生理屬性)、或其他
感測器、或其之一種組合。感測器612還可以包括用於生物測量系統的感測器諸如指紋識別系統、面部檢測或識別系統、或可檢測或識別使用者特徵的其他系統。感測器612應該被廣義地被理解,而不被限制在可與系統600一起來實現之許多不同類型的感測器。在一實施例中,經由與處理器610整合在一起的一前端電路,一或多個感測器612耦合到處理器610。在一實施例中,經由系統600的另一個組件一或多個感測器612耦合到處理器610。
在一實施例中,裝置600包括音訊子系統620,其代表與提供音訊功能給該運算裝置之相關聯的硬體(例如,音訊硬體和音訊電路)和軟體(例如,驅動程式、編解碼器)組件。音訊功能可以包括揚聲器及/或耳機輸出、以及麥克風輸入。用於這種功能的裝置可被整合到裝置600中,或被連接到裝置600。在一實施例中,藉由提供由處理器610所接收和處理之音訊命令一使用者與裝置600互動。
顯示子系統630代表為使用者提供一視覺及/或觸覺顯示用於與該運算裝置互動之硬體(例如,顯示器裝置)和軟體(例如,驅動程式)組件。在一實施例中,該顯示器包括觸覺式組件或觸控螢幕元件可供一使用者與該運算裝置進行互動。顯示子系統630包括顯示介面632,其包括用於提供一顯示給一使用者之特定的螢幕或硬體裝置。在一實施例中,顯示器介面632包括分離於處理器610的邏輯(諸如一圖形處理器)以執行至少一些與該顯示器有
關的處理。在一實施例中,顯示器子系統630包括可同時提供輸出和輸入兩者給使用者之一觸控螢幕裝置。在一實施例中,顯示器子系統630包括提供一輸出給一使用者之一高解晰度(HD)顯示器。高解晰度可以指具有大約100PPI(每英寸像素)或更高像素密度之顯示器,並且可以包括格式諸如全HD(例如,1080p)、視網膜顯示器、4K(超高畫質或UHD)、或其他。在一實施例中,顯示子系統630基於儲存在記憶體中的資料及由處理器610執行的操作來顯示資訊。
I/O控制器640代表與一使用者互動有關的硬體裝置和軟體組件。I/O控制器640可以操作以管理係音訊子系統620,或顯示子系統630,或兩者之一部分的硬體。此外,I/O控制器640圖示為用於連接到裝置600之附加裝置的一連接點透過其一使用者可以與該系統互動。例如,可被連接到裝置600的裝置可以包含有麥克風裝置、揚聲器或立體聲系統、視訊系統或其他顯示器裝置、鍵盤或鍵板裝置、或其他的I/O裝置用於特定的應用諸如讀卡機或其他的裝置。
如以上所述,I/O控制器640可以與音訊子系統620或顯示器子系統630或兩者互動。例如,透過一麥克風或其他音訊裝置的輸入可以提供輸入或命令用於裝置600之一或多個應用程式或功能。另外,音訊輸出可被提供來取代顯示器輸出或除了顯示器輸出之外的輸出。在另一實例中,如果顯示器子系統包括一觸控螢幕,該顯示
器裝置還充當一輸入裝置,其可以透過I/O控制器640被至少部分地管理。在裝置600上還可以有額外的按鈕或開關以提供由I/O控制器640管理的I/O功能。
在一實施例中,I/O控制器640管理裝置諸如一加速度計、相機、光感測器或其他的環境感測器、陀螺儀、全球定位系統(GPS)、或可被包括在裝置600、或感測器612中之其他的硬體。該輸入可以是直接使用者互動的一部分,以及對該系統提供環境輸入以影響其操作(諸如濾波雜訊、為亮度檢測調整顯示器、為相機施加閃光燈、或其他的功能)。
在一實施例中,裝置600包括電源管理650,其管理電池電力使用、電池的充電、以及與節電功能有關的操作。電源管理650管理來自電源652的電力,其提供電力給系統600的該等組件。在一實施例中,電源652包括一AC到DC(交流到直流)適配器以插入到一牆壁插座中。這樣的AC電力可以是可再生能源(例如,太陽能發電、基於運動的電力)。在一實施例中,電源652只包括DC電力,其可由一DC電源提供,諸如一外部的AC到DC轉換器。在一實施例中,電源652包括無線充電硬體可經由接近到一充電場來進行充電。在一實施例中,電源652可包括一內部電池或燃料電池來源。
記憶體子系統660包括記憶體裝置662用於儲存在裝置600中的資訊。記憶體子系統660可以包括非依電性(若該記憶體裝置的電力被中斷其狀態不改變)及/
或依電性(若該記憶體裝置的電力被中斷其狀態是不確定的)記憶體裝置。記憶體660可以儲存應用程式資料、使用者資料、音樂、照片、文件、或其他資料、以及有關於系統600之應用程式和功能該執行的系統資料(不管是長期的或暫時性的)。在一實施例中,記憶體子系統660包括記憶體控制器664(其也可被認為是系統600之該控制的一部分,並有可能被認為是處理器610的一部分)。記憶體控制器664包括一排程器來產生並發出命令給記憶體裝置662。
連接670包括硬體裝置(例如,無線及/或有線連接器和通訊硬體)和軟體組件(例如,驅動程式、協定堆疊)以使得裝置600可與外部裝置進行通信。該外部裝置可以是單獨的裝置,諸如其他的運算裝置、無線存取點或基地台,以及週邊裝置諸如耳機、印表機、或其他的裝置。在一實施例中,系統600與一外部裝置交換資料用於儲存在記憶體中或用於顯示在一顯示器裝置上。該交換的資料可包括將被儲存在記憶體中的資料、或已儲存在記憶體中的資料,以讀出、寫入、或編輯資料。
連接670可以包括多個不同類型的連接。一概而論,裝置600被圖示為具有蜂巢式連接672和無線連接674。蜂巢式連接672一般係指由無線載波所提供的蜂巢式網路連接,諸如經由GSM(全球行動通信系統)或變型或衍生物、CDMA(分碼多重存取)或變型或衍生物、TDM(分時多工)或變型或衍生物、LTE(長期演進-也被稱
為「4G」)、或其他蜂巢式服務標準來提供。無線連接674指的是不是蜂巢式的無線連接,並且可以包括個人區域網路(諸如藍牙)、區域網路(諸如WiFi)、及/或廣域網路(諸如WiMAX)、或其他的無線通信。無線通信係指透過一非固體媒體透過經調變的電磁輻射的使用來傳輸資料。有線通信係透過一固體通信媒體來發生。
週邊連接680包括硬體介面和連接器、以及軟體組件(例如,驅動程式、協定堆疊)來做出週邊連接。將被理解的是裝置600可以同時係一週邊裝置(「至」682)於其他的運算裝置,以及有週邊裝置(「從」684)連接到它。裝置600通常具有一個「對接」連接器以連接到其他的運算裝置用於目的諸如管理(例如,下載及/或上傳、改變、同步)在裝置600上的內容。另外,一個對接連接器可以允許裝置600連接到允許裝置600來控制內容輸出,例如,給音訊視訊或其他系統的某些週邊裝置。
除了一專有對接連接器或其他專有的連接硬體之外,裝置600可以經由公共或基於標準的連接器做出週邊連接680。常見的類型可包括通用串列匯流排(USB)連接器(其可以包括任何數量的不同的硬體介面)、包括MiniDisplayPort(MDP)的DisplayPort、高解晰度多媒體介面(HDMI)、火線、或其他類型。
在一實施例中,系統600包括混合式更新邏輯690,其使得系統經由隱藏更新和外部更新的一種組合來滿足在記憶體662內的更新需求,根據本文所描述之任
何的實施例。記憶體662或記憶體控制器664或兩者可以追踪由記憶體662所執行的隱藏更新次數以回應於啟動命令。基於所執行的隱藏更新次數,記憶體662或記憶體控制器664或兩者可判定每一個記憶庫需要多少次更新以滿足在一更新窗口中的一種最低需求。記憶體控制器664可以發出外部更新以滿足該最低需求。該記憶體控制器可以發出每一記憶庫更新、全體記憶庫更新命令、或兩者來更新該等記憶庫。
在一方面,介接在一記憶體子系統中的一種記憶體裝置包括有:記憶體之多個部分的一第一部分;I/O(輸入/輸出)硬體以耦合到一相關聯的記憶體控制器,並接收來自該記憶體控制器的命令,其包括指向到在該第一部分內之指定記憶體位置的啟動命令;以及內部於該記憶體裝置的控制邏輯,回應於接收到一啟動命令,在該第一部分的一指定記憶體位置處執行該啟動命令,並在異於該第一部分之一第二部分中的一記憶體位置處執行一隱藏更新;其中該控制邏輯更從該記憶體控制器執行外部更新用於該第一部分,其中隱藏更新和外部更新的一總數將滿足在一更新窗口期間用於該第一部分之總更新的一最小數。
在一實施例中,該更新窗口包括一更新週期時間。在一實施例中,在判定需要多少次外部更新以滿足總更新的該最小數之後,該I/O硬體將接收必要來滿足總更新的該最小數的數次外部更新。在一實施例中,該外部
更新包括每一記憶庫更新。在一實施例中,該等外部更新包括全體記憶庫更新命令。在一實施例中,該控制邏輯將判定需要多少次外部更新。在一實施例中,該I/O硬體將把該所需外部更新數的一指示提供給該記憶體控制器。在一實施例中,更包含有一暫存器,其中該控制邏輯將把該外部更新數儲存在該暫存器中用於由該記憶體控制器來存取。在一實施例中,該記憶體控制器將判定需要多少次外部更新。在一實施例中,記憶體控制器將檢測發送到各自部分的一啟動命令數,並基於發送到該第一部分的該啟動數來判定用於該第一部分所需的外部更新數以滿足總更新的該最小數。在一實施例中,該部分包括一記憶庫,並且其中該記憶體控制器包括每一記憶庫計數器以檢測發送到各自記憶庫之一啟動命令數,以及基於該等每一記憶庫計數器之一最低計數發送數個全體記憶庫更新命令。在一實施例中,該第一部分包括記憶體之多個記憶庫的一第一記憶庫。在一實施例中,該第一記憶庫包括多個子記憶庫,以及其中該控制邏輯將在該第一記憶庫之一不同子記憶庫的一記憶體位置處來執行該隱藏更新。在一實施例中,該記憶體裝置包含有一同步動態隨機存取記憶體(SDRAM)裝置其與基於一雙倍資料速率版本5(DDR5)的標準相容。在一實施例中,該記憶體裝置包含有一同步動態隨機存取記憶體(SDRAM)裝置其與基於一低功耗雙倍資料速率版本5(LPDDR5)的標準相容。
在一方面,一種用於記憶體管理的系統包
括:一種包括有多個記憶庫的記憶體,包括記憶體之多個部分的一第一部分;及控制邏輯;以及一記憶體控制器以發出命令給該記憶體裝置,其包括指向到在該第一部分內之指定記憶體位置的啟動命令;其中,回應於接收到一啟動命令,該控制邏輯在該第一部分的一指定記憶體位置處執行該啟動命令,並在異於該第一部分之一第二部分中的一記憶體位置處執行一隱藏更新;以及其中該控制邏輯更從該記憶體控制器執行外部更新用於該第一部分,其中隱藏更新和外部更新的一總數將滿足在一更新窗口期間用於該第一部分之總更新的一最小數。
該前述系統的該系統可包括該前述記憶體裝置的任何實施例。在一實施例中,更包含有以下的一或多個:通信地耦合到該記憶體控制器及該記憶體裝置的至少一個處理器;通信地耦合到至少一個處理器的一顯示器;供電該系統的一電池;或通信地耦合到至少一個處理器的一網路介面。
在一方面,一種用於更新一記憶體裝置的方法包括:接收來自一記憶體控制器之指向在記憶體之多個部分的一第一部分內指定記憶體位置的啟動命令;回應於接收到一啟動命令,在該第一部分的一指定記憶體位置處執行該啟動命令,並在異於該第一部分之一第二部分中的一記憶體位置處執行一隱藏更新;以及從該記憶體控制器執行外部更新用於該第一部分,其中隱藏更新和外部更新的一總數將滿足在一更新窗口期間用於該第一部分之總更
新的一最小數。
在一實施例中,該更新窗口包括一更新週期時間。在一實施例中,執行該等外部更新包括在判定需要多少次外部更新以滿足總更新的該最小數之後,接收滿足總更新之該最小數所需要的數次外部更新。在一實施例中,該外部更新包括每一記憶庫更新。在一實施例中,該等外部更新包括全體記憶庫更新命令。在一實施例中,更包含有:判定在該記憶體裝置處需要多少次外部更新。在一實施例中,更包含有:把該所需外部更新數的一指示提供給該記憶體控制器。在一實施例中,提供該指示包含有把該外部更新數儲存在該記憶體裝置上的一暫存器中用於由該記憶體控制器來存取。在一實施例中,執行該等外部更新包含有執行由該記憶體控制器所判定之數次外部更新。在一實施例中,更包含有該記憶體控制器:檢測發送到各別部分的數個啟動命令;並基於發送到該第一部分的該啟動數來判定用於該第一部分所需的外部更新數以滿足總更新的該最小數。在一實施例中,該部分包含有一記憶庫,並且其中該記憶體控制器包括每一記憶庫計數器以檢測發送到各自記憶庫之一啟動命令數,其中該記憶體控制器將基於該等每一記憶庫計數器之一最低計數發送數個全體記憶庫更新命令。在一實施例中,該第一部分包含記憶體之多個記憶庫的一第一記憶庫。在一實施例中,該第一記憶庫包括多個子記憶庫,以及其中執行隱藏更新包含有在該第一記憶庫之一不同子記憶庫的一記憶體位置處來執
行該隱藏更新。在一實施例中,該記憶體裝置包含有一同步動態隨機存取記憶體(SDRAM)裝置其與基於一雙倍資料速率版本5(DDR5)的標準相容。在一實施例中,該記憶體裝置包含有一同步動態隨機存取記憶體(SDRAM)裝置其與基於一低功耗雙倍資料速率版本5(LPDDR5)的標準相容。
在一方面,一種製造物品包含有一電腦可讀取儲存媒體,在其上儲存有內容,當其被執行時會導致該操作效能來執行一種方法用以根據該前述方法之任何的實施例來更新一記憶體裝置。在一方面,一種裝置包含有用於執行操作的構件以執行一種用於根據該前述方法的任何實施例來更新一記憶體裝置的方法。
在一方面,介接一記憶體裝置的一種記憶體控制器包括:I/O(輸入/輸出)硬體以耦合到該記憶體裝置,並且發出命令,其包括指向到在記憶體之多個部分的一第一部分之指定記憶體位置的啟動命令;其中回應於該啟動命令,該記憶體裝置在該第一部分的一指定記憶體位置處執行該啟動命令,並在異於該第一部分之一第二部分中的一記憶體位置處執行一隱藏更新;以及更新邏輯發出外部更新給該記憶體裝置用於該第一部分,其中隱藏更新和外部更新的一總數將滿足在一更新窗口期間用於該第一部分之總更新的一最小數。
在一實施例中,該更新窗口包含一更新週期時間。在一實施例中,該更新邏輯在判定需要多少次外部
更新以滿足總更新的該最小數之後,將發出數個外部更新來滿足總更新之該最小數所需要的數次外部更新。在一實施例中,該外部更新包括每一記憶庫更新。在一實施例中,該等外部更新包括全體記憶庫更新命令。在一實施例中,該記憶體裝置將判定需要多少次外部更新。在一實施例中,該I/O硬體將從該記憶體裝置接收該所需外部更新數的一指示。在一實施例中,更包含有:該I/O硬體將存取該記憶體裝置的一暫存器,其中該記憶體裝置將把外部更新數儲存在該暫存器中。在一實施例中,該更新邏輯將判定多少次外部更新是需要的。在一實施例中,更包含有:檢測邏輯以檢測要發送到各別部分的數個啟動命令,並基於發送到該第一部分的該啟動數來判定用於該第一部分所需的外部更新數以滿足總更新的該最小數。在一實施例中,該部分包含一記憶庫,並且其中該檢測邏輯包括每一記憶庫計數器以檢測發送到各自記憶庫之一啟動命令數,其中該更新邏輯將基於該等每一記憶庫計數器之一最低計數發送數個全體記憶庫更新命令。在一實施例中,該第一部分包括記憶體之多個記憶庫的一第一記憶庫。在一實施例中,該第一記憶庫包含多個子記憶庫,以及其中該記憶體裝置將執行在該第一記憶庫之一不同子記憶庫的一記憶體位置處來執行該隱藏更新。在一實施例中,該記憶體裝置包含有一同步動態隨機存取記憶體(SDRAM)裝置其與基於一雙倍資料速率版本5(DDR5)的標準相容。在一實施例中,該記憶體裝置包含有一同步動態隨機存取記憶體
(SDRAM)裝置其與基於一低功耗雙倍資料速率版本5(LPDDR5)的標準相容。
在一方面,一種用於記憶體管理的系統包括:一種包括有多個記憶庫的記憶體,包括有記憶體之多個部分的一第一部分;及控制邏輯;以及一記憶體控制器以發出命令給該記憶體裝置,其包括指向到在該第一部分內之指定記憶體位置的啟動命令;其中,回應於接收到一啟動命令,該控制邏輯在該第一部分的一指定記憶體位置處執行該啟動命令,並在異於該第一部分之一第二部分中的一記憶體位置處執行一隱藏更新;以及其中該控制邏輯更從該記憶體控制器執行外部更新用於該第一部分,其中隱藏更新和外部更新的一總數將滿足在一更新窗口期間用於該第一部分之總更新的一最小數。
該前述系統的該系統可包括該前述記憶體控制器的任何實施例。在一實施例中,更包含有以下的一或多個:通信地耦合到該記憶體控制器及該記憶體裝置的至少一個處理器;通信地耦合到至少一個處理器的一顯示器;供電該系統的一電池;或通信地耦合到至少一個處理器的一網路介面。
在一方面,一種方法用於介接一記憶體裝置,包含有:發出命令給該記憶體裝置,其包括指向到在記憶體之多個部分的一第一部分之指定記憶體位置的啟動命令;其中回應於該啟動命令,該記憶體裝置將在該第一部分的一指定記憶體位置處執行該啟動命令,並在異於該
第一部分之一第二部分中的一記憶體位置處執行一隱藏更新;以及發出外部更新給該記憶體裝置用於該第一部分,其中隱藏更新和外部更新的一總數將滿足在一更新窗口期間用於該第一部分之總更新的一最小數。
在一實施例中,該更新窗口包含一更新週期時間。在一實施例中,該更新邏輯在判定需要多少次外部更新以滿足總更新的該最小數之後,將發出數個外部更新來滿足總更新之該最小數所需要的數次外部更新。在一實施例中,該外部更新包括每一記憶庫更新。在一實施例中,該等外部更新包括全體記憶庫更新命令。在一實施例中,發出該等外部更新包含發出如由該記憶體裝置來決定的數個外部更新。在一實施例中,更包含有:從該記憶體裝置接收該所需外部更新數的一指示。在一實施例中,更包含有:存取該記憶體裝置的一暫存器,其中該記憶體裝置將把外部更新數儲存在該暫存器中。
在一實施例中,更包含有:在該記憶體控制器處判定多少次外部更新是需要的。在一實施例中,在該記憶體控制器處之判定包含有:檢測要發送到各別部分的數個啟動命令;以及基於發送到該第一部分的該啟動數來判定用於該第一部分所需的外部更新數以滿足總更新的該最小數。在一實施例中,該部分包含一記憶庫,並且其中檢測發給各個部分之該啟動命令數量包含有使用該記憶體控制器的每一記憶庫計數器來檢測發送到各自記憶庫之一啟動命令數,其中發送該等外部更新包含基於該等每一記
憶庫計數器之一最低計數來發出數個全體記憶庫更新命令。在一實施例中,該第一部分包含記憶體之多個記憶庫的一第一記憶庫。在一實施例中,該第一記憶庫包括多個子記憶庫,以及其中該記憶體裝置將執行在該第一記憶庫之一不同子記憶庫的一記憶體位置處來執行該隱藏更新。在一實施例中,該記憶體裝置包含一同步動態隨機存取記憶體(SDRAM)裝置其與基於一雙倍資料速率版本5(DDR5)的標準相容。在一實施例中,該記憶體裝置包含一同步動態隨機存取記憶體(SDRAM)裝置其與基於一低功耗雙倍資料速率版本5(LPDDR5)的標準相容。
在一方面,一種製造物品包含有一電腦可讀取儲存媒體,在其上儲存有內容,當其被執行時會導致該操作效能來執行一種方法用以根據該前述方法之任何的實施例來更新一記憶體裝置。在一方面,一種裝置包含有用於執行操作的構件以執行一種用於根據該前述方法的任何實施例來更新一記憶體裝置的方法。
在一方面,一種用於記憶體管理的系統包括:一種包括多個記憶庫的記憶體,包括具有多個子記憶庫的一第一記憶庫;及控制邏輯;以及一記憶體控制器以發出命令給該記憶體裝置,其包括指向到在該第一記憶庫內之指定記憶體位置的啟動命令;其中,回應於接收到一啟動命令,該記憶體裝置的該控制邏輯在該第一記憶庫的一指定記憶體位置處執行該啟動命令,並且在該第一記憶庫之一不同的子記憶庫中的一記憶體位置處執行一隱藏更
新;以及其中該控制邏輯更從該記憶體控制器執行外部更新用於該第一部分,其中隱藏更新和外部更新的一總數將滿足在一更新窗口期間用於該第一記憶庫之總更新的一最小數。
在一實施例中,該更新窗口包含有一更新週期時間。在一實施例中,該記憶體控制器在判定需要多少次外部更新以滿足總更新的該最小數之後,將發出數個外部更新該第一記憶庫來滿足總更新之該最小數所需要的數次外部更新。在一實施例中,該外部更新包括每一記憶庫更新。在一實施例中,該等外部更新包括全體記憶庫更新命令。在一實施例中,該記憶體裝置的該控制邏輯將判定需要多少次外部更新。在一實施例中,該記憶體裝置將把該所需外部更新數的一指示提供給該記憶體控制器。在一實施例中,該記憶體裝置更包含有:一暫存器,其中該控制邏輯將把外部更新數儲存在該暫存器中用於由該記憶體控制器來存取。在一實施例中,該記憶體控制器將判定多少次外部更新是需要的。在一實施例中,該記憶體控制器將檢測要發送到各別記憶庫的數個啟動命令,並基於發送到該第一記憶庫的該啟動數來判定用於該第一記憶庫所需的外部更新數以滿足總更新的該最小數。在一實施例中,該記憶體控制器包括每一記憶庫計數器以檢測發送到各自記憶庫之一啟動命令數,並且基於該等每一記憶庫計數器之一最低計數發送數個全體記憶庫更新命令。在一實施例中,該記憶體裝置包含有一同步動態隨機存取記憶體
(SDRAM)裝置其與基於一雙倍資料速率版本5(DDR5)的標準相容。在一實施例中,該記憶體裝置包含有一同步動態隨機存取記憶體(SDRAM)裝置其與基於一低功耗雙倍資料速率版本5(LPDDR5)的標準相容。在一實施例中,更包含有以下的一或多個:通信地耦合到該記憶體控制器及該記憶體裝置的至少一個處理器;通信地耦合到至少一個處理器的一顯示器;供電該系統的一電池;或通信地耦合到至少一個處理器的一網路介面。
如本文所圖示的流程圖提供各種處理操作順序的實例。該等流程圖可以指出將由一軟體或韌體程序來執行的操作,以及實體的操作。在一實施例中,一流程圖可以說明一有限狀態機(FSM)的狀態,其可以以硬體及/或軟體來實現。雖然圖示出一種特定的序列或順序,但除非另有說明,該等操作的順序可以被修改。因此,該等圖示的實施例應被理解為只是一示例,且該程序可以以不同的順序來執行,並且一些操作可被平行地執行。另外,一或多個動作可以在各種實施例中被省略;因此,並非所有的動作都在每一個實施例中被需要。其他的處理流程也是有可能的。
就在本文中所描述之各種操作或功能的程度而言,它們可以被描述或定義為軟體碼、指令、組配、或資料。該內容可以是直接可執行的(「物件」或「可執行」形式)、原始碼、或差異碼(「差量」或「補丁」程式碼)。本文所描述實施例之該軟體內容的提供可經由具有內容儲
存於其上的製造物品、或經由操作一通信介面的一種方法以把該資料經由該通信介面來發送。一種機器可讀取儲存媒體可致使一機器執行所描述的功能或操作,並且包括任何以一種可由一機器(例如,運算裝置、電子系統、等等)來存取的形式來儲存資訊的機制,諸如可記錄/不可紀錄的體(例如,唯讀記憶體(ROM)、隨機存取記憶體(RAM)、磁碟儲存媒體、光儲存媒體、快閃記憶體裝置、等等)。一通信介面包括介接一固線式、無線的、光學、等等媒體之任一的機制以通信到另一裝置,諸如一記憶體匯流排介面、一處理器匯流排介面、一網際網路連接、一碟控制器、等等。該通信介面的組配可以藉由提供組配參數或發送信號來製備該通信介面,或兩者,以提供描述該軟體內容的一資料信號。該通信介面可以經由一或多個發送到該通信介面的命令或信號來存取。
本文中所描述的各種組件可以是用於執行所描述之操作或功能的構件。本文中所描述的每一個組件包括軟體、硬體、或它們的一種組合。該等組件可以被實現為軟體模組、硬體模組、特定目的硬體(例如,特定應用硬體、特定應用積體電路(ASIC、數位信號處理器(DSP)、等等)、嵌入式控制器、固線式電路、等等。
除了本說明書的描述之外,可以對本發明所公開的實施例和實現方式進行多種修改而不脫離其範圍。因此,在本文中的該圖說和實例應被理解係為說明性的,
而不是限制性的意義。本發明的範圍應當只由參考到下面的發明申請專利範圍來度量。
100:系統
110:處理器
120:記憶體控制器
122、142:I/O
124、152:CMD邏輯
126、154:REF邏輯
128、148:計數器
130:排程器
132:CLK
134:CMD
136:DQ
138:其他
140:記憶體裝置
144:暫存器
146:ODT
150:控制器
160:記憶體資源
170:記憶體模組
Claims (13)
- 一種介接在一記憶體子系統中的記憶體裝置,包含:記憶體之多個部分的一第一部分;I/O(輸入/輸出)硬體,其耦合到一相關聯的記憶體控制器,並接收來自該記憶體控制器的命令,其包括指向該第一部分內之指定記憶體位置的啟動命令,該記憶體裝置回應於接收到一啟動命令,在該第一部分的一指定記憶體位置處執行該啟動命令,並在異於該第一部分之一第二部分中的一記憶體位置處執行一隱藏更新;以及一暫存器,其用以儲存一值,該值用來指出在一更新窗口期間該第二部分所需要的更新之一最小次數與在該更新窗口期間所執行的隱藏更新次數之間的一差異,其中該記憶體控制器回應於該第二部分對外部更新之一請求,用以存取該暫存器並發出至少等於該值的外部更新次數,其中隱藏更新和外部更新的一總次數要滿足在該更新窗口期間該第二部分之總更新的該最小次數。
- 如請求項1之記憶體裝置,其中該等外部更新包括每一記憶庫更新。
- 如請求項1之記憶體裝置,其中該等外部更新包括全體記憶庫更新。
- 如請求項1之記憶體裝置,其中該第一部分包含記憶體之多個記憶庫的一第一記憶庫。
- 如請求項1之記憶體裝置,其中該等多個部分包含多個子記憶庫,以及其中該記憶體裝置用以在該等多個子記憶庫之一第一子記憶庫處來執行該等啟動命令並用以在一第二子記憶庫處來執行該隱藏更新。
- 如請求項1之記憶體裝置,其中該記憶體裝置包含一同步動 態隨機存取記憶體(SDRAM)裝置,其與一基於雙倍資料速率版本5(DDR5)的標準相容。
- 如請求項1之記憶體裝置,其中該記憶體裝置包含一同步動態隨機存取記憶體(SDRAM)裝置,其與一基於低功耗雙倍資料速率版本5(LPDDR5)的標準相容。
- 一種用於記憶體管理的系統,包含:一記憶體裝置,其包括:多個記憶庫,其包括具有多個子記憶庫的一第一記憶庫;及一暫存器;以及一記憶體控制器,其用以發出命令給該記憶體裝置,包括指向在該第一記憶庫內之指定記憶體位置的啟動命令;其中,該記憶體裝置回應於接收一啟動命令,在該第一記憶庫的一指定記憶體位置處執行該啟動命令,並在該第一記憶庫之一不同子記憶庫中的一記憶體位置處執行一隱藏更新;以及其中該暫存器用以儲存一值,該值用來指出在一更新窗口期間該第一記憶庫所需要的更新之一最小次數與在該更新窗口期間所執行的隱藏更新次數之間的一差異,其中該記憶體控制器回應於該第一記憶庫對外部更新之一請求,用以存取該暫存器並發出至少等於該值的外部更新次數,其中隱藏更新和外部更新的一總次數要滿足在該更新窗口期間該第一記憶庫之總更新的該最小次數。
- 如請求項8之系統,其中該等外部更新包括每一記憶庫更新。
- 如請求項8之系統,其中該等外部更新包括全體記憶庫更新。
- 如請求項8之系統,其中該記憶體裝置包含一同步動態隨機存取記憶體(SDRAM)裝置,其與一基於雙倍資料速率版本5(DDR5)的標準相容。
- 如請求項8之系統,其中該記憶體裝置包含一同步動態隨機存取記憶體(SDRAM)裝置,其與一基於低功耗雙倍資料速率版本5(LPDDR5)的標準相容。
- 如請求項8之系統,更包含以下的一或多者:通信地耦合到該記憶體控制器及該記憶體裝置的至少一個處理器;通信地耦合到至少一個處理器的一顯示器;供電該系統的一電池;或通信地耦合到至少一個處理器的一網路介面。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562219763P | 2015-09-17 | 2015-09-17 | |
US62/219,763 | 2015-09-17 | ||
US15/232,745 US20170110178A1 (en) | 2015-09-17 | 2016-08-09 | Hybrid refresh with hidden refreshes and external refreshes |
US15/232,745 | 2016-08-09 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201723866A TW201723866A (zh) | 2017-07-01 |
TWI721003B true TWI721003B (zh) | 2021-03-11 |
Family
ID=58289669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105126066A TWI721003B (zh) | 2015-09-17 | 2016-08-16 | 記憶體裝置及用於記憶體管理的系統 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170110178A1 (zh) |
CN (1) | CN107924697A (zh) |
DE (1) | DE112016004243T5 (zh) |
TW (1) | TWI721003B (zh) |
WO (1) | WO2017048441A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI775616B (zh) * | 2021-08-30 | 2022-08-21 | 大陸商蘇州磐聯集成電路科技股份有限公司 | 差分包產生方法,差分包產生設備,更新方法,及嵌入式系統 |
TWI789184B (zh) * | 2021-12-28 | 2023-01-01 | 新唐科技股份有限公司 | 微控制器及其記憶體控制方法 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102468728B1 (ko) * | 2016-08-23 | 2022-11-21 | 에스케이하이닉스 주식회사 | 리프레쉬 제어 회로, 반도체 메모리 장치 및 그의 동작 방법 |
KR102471160B1 (ko) * | 2017-05-16 | 2022-11-25 | 삼성전자주식회사 | 온-다이-터미네이션 회로를 포함하는 비휘발성 메모리 및 상기 비휘발성 메모리를 포함하는 스토리지 장치 |
US10340022B2 (en) * | 2017-05-16 | 2019-07-02 | Samsung Electronics Co., Ltd. | Nonvolatile memory including on-die-termination circuit and storage device including the nonvolatile memory |
FR3066842B1 (fr) * | 2017-05-24 | 2019-11-08 | Upmem | Logique de correction de row hammer pour dram avec processeur integre |
KR102553266B1 (ko) | 2017-11-03 | 2023-07-07 | 삼성전자 주식회사 | 온-다이-터미네이션 회로를 포함하는 메모리 장치 |
US10635327B2 (en) | 2018-01-31 | 2020-04-28 | Western Digital Technologies, Inc. | Data availability during memory inaccessibility |
US10629533B2 (en) | 2018-03-13 | 2020-04-21 | Toshiba Memory Corporation | Power island segmentation for selective bond-out |
US10489316B1 (en) * | 2018-06-04 | 2019-11-26 | Micron Technology, Inc. | Methods for performing multiple memory operations in response to a single command and memory devices and systems employing the same |
US11977770B2 (en) | 2018-06-04 | 2024-05-07 | Lodestar Licensing Group Llc | Methods for generating notifications for updated information from mode registers of a memory device to a host and memory devices and systems employing the same |
CN112534502B (zh) | 2018-08-03 | 2024-04-09 | 美光科技公司 | 用于行锤击缓解的方法及采用所述方法的存储器装置及系统 |
US11054995B2 (en) * | 2018-09-07 | 2021-07-06 | Micron Technology, Inc. | Row hammer protection for a memory device |
CN112840400B (zh) | 2018-10-09 | 2024-04-05 | 美光科技公司 | 用于行锤击缓解的方法以及采用所述方法的存储器装置和系统 |
EP3899709A4 (en) | 2018-12-21 | 2022-09-14 | Micron Technology, Inc. | METHODS FOR ACTIVITY-BASED MEMORY MAINTENANCE AND MEMORY DEVICES AND SYSTEMS USING THEM |
US10817371B2 (en) | 2018-12-31 | 2020-10-27 | Micron Technology, Inc. | Error correction in row hammer mitigation and target row refresh |
US10998032B2 (en) * | 2019-02-06 | 2021-05-04 | Mellanox Technologies, Ltd. | EDRAM refresh apparatus and method |
US10950288B2 (en) | 2019-03-29 | 2021-03-16 | Intel Corporation | Refresh command control for host assist of row hammer mitigation |
US10937468B2 (en) | 2019-07-03 | 2021-03-02 | Micron Technology, Inc. | Memory with configurable die powerup delay |
US10991413B2 (en) * | 2019-07-03 | 2021-04-27 | Micron Technology, Inc. | Memory with programmable die refresh stagger |
CN111145807B (zh) * | 2019-12-10 | 2021-12-31 | 深圳市国微电子有限公司 | 一种3d堆叠存储器的温控自刷新方法及温控自刷新电路 |
US11314589B2 (en) | 2020-05-15 | 2022-04-26 | Intel Corporation | Read retry to selectively disable on-die ECC |
JP6975298B1 (ja) | 2020-09-03 | 2021-12-01 | 華邦電子股▲ふん▼有限公司Winbond Electronics Corp. | 半導体記憶装置 |
KR102412680B1 (ko) | 2020-10-20 | 2022-06-23 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
US11474746B2 (en) * | 2020-12-10 | 2022-10-18 | Advanced Micro Devices, Inc. | Refresh management for DRAM |
CN112612596B (zh) * | 2020-12-30 | 2022-07-08 | 海光信息技术股份有限公司 | 命令调度方法、装置、设备和存储介质 |
JP7143463B2 (ja) | 2021-02-26 | 2022-09-28 | 華邦電子股▲ふん▼有限公司 | 半導体記憶装置 |
KR102453523B1 (ko) | 2021-03-10 | 2022-10-11 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
KR102504489B1 (ko) | 2021-04-19 | 2023-02-27 | 윈본드 일렉트로닉스 코포레이션 | 반도체 기억장치 |
EP4379561A1 (en) * | 2022-12-01 | 2024-06-05 | Samsung Electronics Co., Ltd. | Memory system and operating method thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW571312B (en) * | 2000-12-06 | 2004-01-11 | Ibm | DRAM CAM cell with hidden refresh |
US6697910B2 (en) * | 2001-05-28 | 2004-02-24 | Renesos Technology Corp. | Semiconductor memory device having refresh circuit |
TW201039347A (en) * | 2009-04-23 | 2010-11-01 | Orise Technology Co Ltd | A SRAM compatible embedded DRAM system with hidden refresh and dual port capability |
US8675438B2 (en) * | 2007-04-30 | 2014-03-18 | Samsung Electronics Co., Ltd. | Methods of operating DRAM devices having adjustable internal refresh cycles that vary in response to on-chip temperature changes |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4631701A (en) * | 1983-10-31 | 1986-12-23 | Ncr Corporation | Dynamic random access memory refresh control system |
US6046952A (en) * | 1998-12-04 | 2000-04-04 | Advanced Micro Devices, Inc. | Method and apparatus for optimizing memory performance with opportunistic refreshing |
JP2003123470A (ja) * | 2001-10-05 | 2003-04-25 | Mitsubishi Electric Corp | 半導体記憶装置 |
US7353329B2 (en) * | 2003-09-29 | 2008-04-01 | Intel Corporation | Memory buffer device integrating refresh logic |
US7532532B2 (en) * | 2005-05-31 | 2009-05-12 | Micron Technology, Inc. | System and method for hidden-refresh rate modification |
US7313047B2 (en) * | 2006-02-23 | 2007-12-25 | Hynix Semiconductor Inc. | Dynamic semiconductor memory with improved refresh mechanism |
JP4912718B2 (ja) * | 2006-03-30 | 2012-04-11 | 富士通セミコンダクター株式会社 | ダイナミック型半導体メモリ |
JP4967452B2 (ja) * | 2006-05-18 | 2012-07-04 | 富士通セミコンダクター株式会社 | 半導体メモリ |
US7894290B2 (en) * | 2008-10-22 | 2011-02-22 | Qimonda Ag | Method and apparatus for performing internal hidden refreshes while latching read/write commands, address and data information for later operation |
WO2012074724A1 (en) * | 2010-12-03 | 2012-06-07 | Rambus Inc. | Memory refresh method and devices |
US9007862B2 (en) * | 2012-07-12 | 2015-04-14 | Rambus Inc. | Reducing memory refresh exit time |
KR102021401B1 (ko) * | 2012-08-30 | 2019-11-04 | 에스케이하이닉스 주식회사 | 메모리 장치 |
US9269417B2 (en) * | 2013-01-04 | 2016-02-23 | Intel Corporation | Memory refresh management |
-
2016
- 2016-08-09 US US15/232,745 patent/US20170110178A1/en not_active Abandoned
- 2016-08-16 TW TW105126066A patent/TWI721003B/zh active
- 2016-08-16 CN CN201680047986.5A patent/CN107924697A/zh active Pending
- 2016-08-16 WO PCT/US2016/047222 patent/WO2017048441A1/en active Application Filing
- 2016-08-16 DE DE112016004243.4T patent/DE112016004243T5/de active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW571312B (en) * | 2000-12-06 | 2004-01-11 | Ibm | DRAM CAM cell with hidden refresh |
US6697910B2 (en) * | 2001-05-28 | 2004-02-24 | Renesos Technology Corp. | Semiconductor memory device having refresh circuit |
US8675438B2 (en) * | 2007-04-30 | 2014-03-18 | Samsung Electronics Co., Ltd. | Methods of operating DRAM devices having adjustable internal refresh cycles that vary in response to on-chip temperature changes |
TW201039347A (en) * | 2009-04-23 | 2010-11-01 | Orise Technology Co Ltd | A SRAM compatible embedded DRAM system with hidden refresh and dual port capability |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI775616B (zh) * | 2021-08-30 | 2022-08-21 | 大陸商蘇州磐聯集成電路科技股份有限公司 | 差分包產生方法,差分包產生設備,更新方法,及嵌入式系統 |
TWI789184B (zh) * | 2021-12-28 | 2023-01-01 | 新唐科技股份有限公司 | 微控制器及其記憶體控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107924697A (zh) | 2018-04-17 |
US20170110178A1 (en) | 2017-04-20 |
WO2017048441A1 (en) | 2017-03-23 |
DE112016004243T5 (de) | 2018-09-13 |
TW201723866A (zh) | 2017-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI721003B (zh) | 記憶體裝置及用於記憶體管理的系統 | |
JP7456083B2 (ja) | ロウハンマ緩和のホスト支援のためのリフレッシュコマンド制御 | |
US10636476B2 (en) | Row hammer mitigation with randomization of target row selection | |
US10755753B2 (en) | Memory device with flexible internal data write control circuitry | |
US10482947B2 (en) | Integrated error checking and correction (ECC) in byte mode memory devices | |
CN109791786B (zh) | 针对存储设备识别和功率管理控制应用片选 | |
JP2020166832A5 (zh) | ||
TWI709853B (zh) | 特定記憶體裝置之自我更新進入與退出技術 | |
CN110023914B (zh) | 用于重复写入存储器的可编程数据样式 | |
CN109478177B (zh) | 双数据率命令总线 | |
US20180096719A1 (en) | Staggering initiation of refresh in a group of memory devices | |
CN109582596B (zh) | 从具有不同读取和写入定时的模式寄存器进行读取 | |
KR102501147B1 (ko) | 메모리에서 에러 체킹 및 정정 코드의 확장된 적용 | |
US9953694B2 (en) | Memory controller-controlled refresh abort | |
US11200113B2 (en) | Auto-increment write count for nonvolatile memory | |
CN117099075A (zh) | 针对长突发长度的存储器数据传送的双倍取得 |