TWI536258B - 用於適應性粒度列緩衝器快取之方法和裝置、及記憶體裝置 - Google Patents

用於適應性粒度列緩衝器快取之方法和裝置、及記憶體裝置 Download PDF

Info

Publication number
TWI536258B
TWI536258B TW102146927A TW102146927A TWI536258B TW I536258 B TWI536258 B TW I536258B TW 102146927 A TW102146927 A TW 102146927A TW 102146927 A TW102146927 A TW 102146927A TW I536258 B TWI536258 B TW I536258B
Authority
TW
Taiwan
Prior art keywords
memory
cache
dram
column
data
Prior art date
Application number
TW102146927A
Other languages
English (en)
Other versions
TW201439897A (zh
Inventor
李勝
諾曼P 喬皮
Original Assignee
惠普發展公司有限責任合夥企業
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 惠普發展公司有限責任合夥企業 filed Critical 惠普發展公司有限責任合夥企業
Publication of TW201439897A publication Critical patent/TW201439897A/zh
Application granted granted Critical
Publication of TWI536258B publication Critical patent/TWI536258B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4087Address decoders, e.g. bit - or word line decoders; Multiple line decoders
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0875Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1084Data input buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/45Caching of specific data in cache memory
    • G06F2212/452Instruction code
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Memory System Of A Hierarchy Structure (AREA)

Description

用於適應性粒度列緩衝器快取之方法和裝置、及記憶體裝置
本發明係關於適應性粒度列緩衝器快取記憶體。
一動態隨機存取記憶體(DRAM)乃儲存資料的各個位元於一積體電路(IC)內部的一分開電容器的一型隨機存取記憶體(RAM)。各個電容器可包括二態,諸如充電態或放電態,其可表示一位元的二值(例如0或1)。由於一電容器的運算特性,該電容器電荷被定期再新以避免喪失該位元值相關的資訊。需要定期再新該電容器電荷乃將此型記憶體稱作為動態的基礎。一DRAM可製作成三維(3D)堆疊結構,其組合多層緊密記憶體晶粒與一基本邏輯層以具現例如周邊電路、介面邏輯、及測試結構。
依據本發明之一實施例,係特地提出一種用於適應性粒度列緩衝器(AG-RB)快取之方法包含決定是否快取資料至一RB快取記憶體;及針對不同記憶體存取,藉一處理器或一記憶體端邏輯調整欲快取至該RB快取記憶體的該資料量。
100‧‧‧3D堆疊DRAM
101‧‧‧記憶體晶粒
102‧‧‧基本邏輯層
103‧‧‧封裝體基體層
104‧‧‧64-位元寬矽穿孔(TSV)通道
105‧‧‧資料路徑
110‧‧‧裝置、適應性粒度列緩衝器(AG-RB)快取裝置
111‧‧‧DRAM晶粒
112‧‧‧邏輯晶粒
113‧‧‧處理器晶粒
114‧‧‧DRAM排組
115‧‧‧排組控制器
116‧‧‧RB快取記憶體
117‧‧‧TSV通道
118‧‧‧資料陣列
119‧‧‧記憶體控制器
120‧‧‧資料匯流排
121‧‧‧指令匯流排
122‧‧‧記憶體請求佇列
123‧‧‧預測器模組
124‧‧‧RB快取記憶體分配表
125‧‧‧解耦預測器佇列
126‧‧‧提取模組
130‧‧‧通用自由列表
131‧‧‧列對映單元
132‧‧‧標籤部
133‧‧‧資料部
134‧‧‧叢訊
135、136、138、139、140‧‧‧步驟
137‧‧‧快取行
150‧‧‧標籤內容可定址記憶體(CAM)陣列
151‧‧‧不匹配信號
200‧‧‧方法
201-203‧‧‧方塊
300‧‧‧電腦系統
302‧‧‧處理器
304‧‧‧通訊匯流排
306‧‧‧主記憶體
308‧‧‧二次資料儲存裝置
310‧‧‧I/O裝置
312‧‧‧網路介面
320‧‧‧AG-RB快取模組
本文揭示之特性件將藉舉例示例說明但非下列圖式,附圖中類似的元件符號係指示相似的元件,附圖中:圖1A示例說明依據本文揭示之一實施例一種三維(3D)堆疊動態隨機存取記憶體(DRAM)之等角視圖;圖1B示例說明依據本文揭示之一實施例圖1A之該3D堆疊DRAM的一前視圖;圖2示例說明依據本文揭示之一實施例一種適應性粒度列緩衝器快取記憶體(AG-RB快取)裝置的架構;圖3示例說明依據本文揭示之一實施例,針對圖2之該AG-RB快取裝置的一通用自由列表、一列對映單元、及一資料陣列,及部分列快取的一範例流程及一隨後命中的放大視圖;圖4示例說明依據本文揭示之一實施例,針對於該列對映單元中的一標籤部之內容可定址記憶體(CAM)設計;圖5示例說明依據本文揭示之一實施例一種適應性粒度列緩衝器快取方法;及圖6示例說明依據本文揭示之一實施例一種電腦系統。
較佳實施例之詳細說明
為求簡單示例說明目的,本文揭示主要係參考實施例作說明。於後文詳細說明部分中,列舉無數特定細節 以供徹底瞭解本文揭示。但顯然易知可不受限於此等特定細節而具現本文揭示。於其它情況下,不以細節描述若干方法及結構以免不必要地遮掩本文揭示。
於本文揭示全文中,術語「一(a)」及「一(an)」意圖指示一特定元件中之至少一者。如此處使用,「包括」一詞係指包括但非限制性,「包括的」一詞係指包括的但非限制性。「基於」一詞表示至少部分根據。
於三維(3D)堆疊動態隨機存取記憶體(DRAM)中的記憶體列可藉運用一列緩衝器快取記憶體快取以改良DRAM的總體效能。舉例言之,參考圖1A及1B,3D堆疊DRAM 100可包括多層緊密記憶體晶粒101,具有一基本邏輯層102及一封裝體基體層103。該3D堆疊DRAM 100可進一步包含64-位元寬矽穿孔(TSV)通道104,用以透過一資料路徑105從來自該記憶體晶粒101的一DRAM列轉移資料給基本邏輯層102。一列緩衝器快取記憶體可增加至該基本邏輯層102以藉減少速度慢的功率密集的列緩衝器作動與關閉的次數而提供更快速的記憶體存取及改良的功率效率。一種快取DRAM列之方法包括以高命中率快取DRAM列(亦即頻繁的未來記憶體存取至同一列)。但針對具有不規則記憶體存取樣式的應用,快取DRAM一整列無效率。舉例言之,針對具有不規則記憶體存取樣式的應用,於該處記憶體存取可重複地存取一部分記憶體列,快取DRAM一整列無效率。無效率的一個理由是基於DRAM列相同長,可長達8千位元(Kbit)至16千位元。將DRAM一整列從記憶體晶 粒101經由64-位元寬TSV通道104移動至基本邏輯層102使用64個週期。此外,快取DRAM列促成列緩衝器快取記憶體及TSV的動態功率,及增加了總系統功率。
依據一實施例,於此處揭示一適應性粒度列緩衝器快取記憶體(後文稱「AG-RB快取記憶體」)裝置及一適應性粒度列緩衝器快取(後文稱「AG-RB快取」)方法。此處揭示之裝置及方法通常包括一種AG-RB快取方法,其針對不同的DRAM存取而動態地調整移轉給RB快取記憶體的資料量。AG-RB快取方法改良RB快取效能而不會顯著地增加TSV頻寬的使用,結果導致低能耗。如此,此處揭示之裝置及方法最大化了RB快取記憶體在一3D堆疊DRAM的邏輯層上的效能與能量效果。此處揭示之裝置及方法可包括一專用預測器模組俾便以極低額外負擔而提供可擴充性,例如給多核心處理器及具有大量排組的記憶體系統。該預測器模組可決定針對一尚待解決的請求是否快取該相對應的DRAM列,及若是,則應快取多少DRAM列。該預測器模組不僅以更準確的預測提高了列緩衝器命中率,同時根據於3D堆疊記憶體中增加的排組數目,也可以記憶體請求佇列大小擴充。此處揭示之裝置及方法進一步包括一RB快取記憶體能夠儲存不同大小的行以支援AG快取處理。此處揭示之裝置及方法進一步包括一DRAM狀態知曉置換策略,以選出一最佳快取記憶體置換候選者而當置換一RB快取記憶體分錄時最小化延遲。
依據一實施例,該AG-RB快取裝置可包括一3D 堆疊DRAM包括含有一或多個DRAM排組的多個DRAM晶粒,及包括一RB快取記憶體的一邏輯晶粒。該AG-RB快取裝置可進一步包括含一記憶體控制器的一處理器晶粒,該記憶體控制器包括一預測器模組以決定是否快取資料至該RB快取記憶體,及針對不同的DRAM存取調整快取至該RB快取記憶體的資料量。依據另一實施例,該AG-RB快取方法可包括決定是否快取資料至一RB快取記憶體,及藉一處理器或一記憶體端邏輯,針對不同的DRAM存取調整快取至該RB快取記憶體的資料量。此處揭示的AG-RB快取裝置及方法可用於其它型別記憶體,諸如非依電性記憶體包括相變記憶體(PCM)、自旋轉移矩RAM(STT-RAM)、及電阻式隨機存取記憶體(ReRAM)等。
此處揭示的AG-RB快取裝置及方法提供一AG-RB快取記憶體給3D堆疊DRAM,及如釔針對大型資料中心提供改良效能及能效的記憶體次系統。此處揭示的裝置及方法針對具有不同記憶體表現的寬廣範圍之應用提供效能及能效效果。此處揭示之該裝置及方法解耦該記憶體控制器佇列及預測器佇列,及對記憶體存取樣式提供準確預測,結果導致RB快取記憶體之改良使用及改良效能及能效。此處揭示之裝置及方法之使用實施例可包括具有額外板上緩衝器晶片的雙排型記憶體模組(DIMM)。
圖2示例說明依據一實施例一種AG-RB快取裝置110的架構。參考圖2,該裝置110係描繪為包括一DRAM晶粒111示例說明一DRAM層,一邏輯晶粒112示例說明一邏 輯層,及一處理器晶粒113示例說明一處理器層。該處理器晶粒113之一處理器的多個其它組件諸如快取記憶體被刪除以求清晰。該DRAM晶粒111可包括多個DRAM排組114,透過TSV通道117而通訊式連結至排組控制器115及RB快取記憶體116(也示例說明為RB$,及標示為AG RB快取記憶體116)。該RB快取記憶體116可包括一資料陣列118。該DRAM排組114及RB快取記憶體116可透過資料匯流排120及指令匯流排121而通訊式連結至一記憶體控制器119。記憶體控制器119可儲存可變數目的即將到臨的及先前已服務的記憶體請求的位址。各個記憶體排組可擁有一分開RB快取記憶體116,其係由來自不同DRAM晶粒111的多個DRAM排組114所分享。該記憶體控制器119可包括一記憶體請求佇列122、一可擴充預測器模組123、及一RB快取記憶體分配表124。預測器模組123可包括與記憶體請求佇列122解耦的一預測器佇列125及一提取模組126。該提取模組126可運用策略來決定是否快取一DRAM列至該RB快取記憶體116。雖然於圖2之實施例中RB快取記憶體分配表124及資料陣列118係顯示為分開,但若該記憶體具有一邏輯晶粒,則RB快取記憶體分配表124及資料陣列118可皆提供於記憶體端。另外,RB快取記憶體分配表124及資料陣列118可皆設在處理器端。
在裝置110執行多項其它功能的裝置110之模組及其它組件可包含儲存於一非過渡電腦可讀取媒體上的機器可讀取指令。此外,或另外,裝置110之模組及其它組件 可包含硬體或機器可讀取指令與硬體的組合。
至於解耦預測器佇列125,是否快取資料至AGRB快取記憶體116以及欲快取一列的哪個部分之決定可根據含在一記憶體存取樣式的資訊。舉例言之,在記憶體控制器119的既有記憶體請求佇列122內部之一擱置的記憶體請求佇列可經槓桿化以分析一記憶體存取樣式。雖然此項辦法可用於每通道具有有限數目排組(例如16排組)的記憶體,但此種辦法通常無法擴充以滿足每通道可能含有數以百計的排組之3D DRAM的需求。例如,大量排組數目(例如針對DRAM排組114)可能導致高排組層面並列性,因而減少每個排組佇列等候的擱置記憶體請求。結果,由於擱置記憶體請求佇列中的存取樣式資訊的不足,RB快取記憶體資料快取準確度減低。再者,既有擱置記憶體請求佇列122可典型地包括有限容量。理由在於增加記憶體請求的大小之代價昂貴,原因在於擱置記憶體請求佇列乃一種複雜的功率密集的內容可定址記憶體(CAM)結構,該結構保有記憶體存取資訊,諸如位址、資料及控制。
解耦預測器佇列125解決了擴充性要求及有關減少記憶體存取樣式資訊及長擱置記憶體請求佇列的大型額外負擔的相關問題。依據一實施例,解耦預測器佇列125可在記憶體控制器119內形成為一分開硬體佇列以儲存可變數目的即將到臨的記憶體請求以及先前已服務的請求之位址。解耦預測器佇列125的佇列大小為可擴充。解耦預測器佇列125的硬體額外負擔也可少於具有相等分錄數目的擱 置中記憶體請求佇列122的硬體額外負擔,原因在於解耦預測器佇列125儲存佇列的位址,而記憶體請求佇列122保有記憶體存取資訊,諸如位址、資料及控制。因此,解耦預測器佇列125包括改良擴充性以滿足儲存大量記憶體請求的需求,以改進具有大量DRAM排組114的記憶體系統(例如3D堆疊記憶體)之預測準確度。
因解耦預測器佇列125可為遠大於擱置中記憶體請求佇列122,一處理器可發送記憶體請求資訊給預測器佇列125,即便該記憶體請求佇列122已滿亦復如此。於此種情況下,雖然記憶體請求佇列122可不接收可簽發給外部記憶體的新記憶體請求,但預測器佇列125仍可接收針對未來記憶體請求的資訊用於更多正向詢查以改良RB快取記憶體管理的預測準確度。預測器佇列125也可追蹤過去史記憶體請求,以對選擇性地運用該RB快取記憶體116分錄做出進一步改良決定。舉例言之,解耦預測器佇列125可首先儲存針對未來記憶體請求的資訊,及以先前已服務的記憶體請求填補任何剩餘容量。
預測器佇列125可在記憶體控制器119具現以獲得改良效能,或在3D DRAM堆疊端(例如邏輯晶粒112)具現以獲得改良成本效益。對於具有有限記憶體容量及每個記憶體通道具有有限記憶體排組數目而無需額外記憶體存取樣式資訊的系統,該解耦預測器佇列125也可與記憶體請求佇列122合併。
提取模組126根據儲存於預測器佇列125及/或擱 置中記憶體請求佇列122的資訊,可做出具有適應性粒度的選擇性快取決定。舉例言之,該提取模組126可評估預測器佇列125中的多個記憶體請求,或若預測器佇列125係與擱置中記憶體請求佇列122統一則可評估擱置中記憶體請求佇列122內的多個記憶體請求。另外,若預測器佇列125係與擱置中記憶體請求佇列122不統一,則評估預測器佇列125及擱置中記憶體請求佇列122二者的決定可根據此等佇列是否為排它或為包含。若該等佇列為包含(亦即預測器佇列125係大於記憶體請求佇列122且具有記憶體請求佇列122的全部位址資訊),則搜尋預測器佇列125。否則,若該等佇列為排它,則可搜尋預測器佇列125及擱置中記憶體請求佇列122二者以改良準確度。
可運用策略做出第一決策,是否快取一DRAM列至邏輯晶粒112上的RB快取記憶體116。舉例言之,該提取模組126可根據記憶體存取樣式而對是否快取一DRAM列至該RB快取記憶體116做出決定。例如,若許多即將到臨的記憶體請求顯示高本地性及命中同一個列位址,則該記憶體列可被快取,使得隨後記憶體存取可直接從RB快取記憶體服務。因存取RB快取記憶體可比直接存取記憶體列更有效,可減低隨後記憶體存取的延遲及能耗,其又轉而改良總系統效能及能量效率。另外,當記憶體提取模組126觀察無或極少針對同一列的額外擱置中請求時,該提取模組126可跳過該RB快取記憶體之一分錄的分配,而直接地簽發讀/寫請求給內部記憶體列緩衝器。當針對一列有極少請 求時,可較快進行數個個別64-位元組記憶體存取,包括讀及寫二者,而非快取一整個內部記憶體列緩衝器(亦即8-16Kb)給該列緩衝器快取記憶體。由記憶體控制器119追蹤的記憶體狀態(例如排組競爭等)也可用以輔助決定須快取哪一列。舉例言之,更偏好快取有頻繁地存取且在忙碌排組內的一列,而非具有相同存取頻率但在一閒置排組中的一列。
若提取模組126係提取一DRAM列,且快取在RB快取記憶體116,則該提取模組126下第二決定有關須快取多少資料或DRAM列的哪個部分。藉比較於預測器佇列125中的全部記憶體請求與尚待解決的請求的目標列位址可做第二決策。舉例言之,假設最末層面快取行的大小為64位元組,則欲提取及快取的DRAM列部分(亦即多少個64位元組資料區塊)可由被請求的快取行間之最長距離決定,包括同一列中的擱置中請求及過去請求二者。
舉例言之,因64-位元組行通常係在一處理器中快取及128-位元組資料也可在一處理器中快取,藉由下一行預提取,快取在RB快取記憶體116中小於256位元組的資料區塊提供極少效能增益。如此,預測器模組123可以一小頁的增量,以適應性粒度選擇性地快取資料從大小256B的一小頁至一整個DRAM列的一整頁大小。當提取及快取一部分DRAM列時,一小頁可定義為DRAM晶粒111與RB快取記憶體116間資料異動的最小單位。一小頁大小可從一CPU快取行大小(例如64B)變化至一整列大小。針對由一處理器 所服務的各個記憶體請求,一族群計數電路可用以計數在預測器佇列125或記憶體請求佇列122中的請求間之列位址匹配數目(亦即若解耦預測器佇列125係合併記憶體請求佇列122),可快取具有與尚待解決的記憶體請求相同列位址的全部小頁。藉提取模組126所做的最終決策可透過指令匯流排121發送給在3D DRAM堆疊中的該等排組控制器115。
為了AG RB快取記憶體116支援不同存取粒度,例如從一小頁至一全頁,一DRAM列的相鄰小頁可配置於相鄰RB快取記憶體116以提供RB快取記憶體116與記憶體堆疊間之叢訊區塊移轉。否則,從該RB快取記憶體116逐出一整頁或數個小頁,可能導致多個列緩衝器作動及預充電,該等動作為相當緩慢及功率密集。部分列也可配置於RB快取記憶體116中儘可能地接近例如以消除分段。116也可全然相聯結的以避免衝突。舉例言之,針對128KB大小的RB快取記憶體116,關聯度為512具有256B小頁的存取粒度,及為64具有2KB一整頁的存取粒度。雖然此等面向可藉非最佳化的內容可定址記憶體(CAM)滿足,但效能及能量額外負擔可能駭人的高。為了減低來自支援最高適應性關聯度的硬體成本,裝置110可使用一種有效而可擴充的辦法,如圖4中顯示及容後詳述。
RB快取記憶體分配表124可在該處理器端記憶體控制器119具現以加速RB快取記憶體116命中/失誤檢測,以輔助追蹤哪個(部分)列目前可被儲存於RB快取記憶體116。記憶體控制器119也可參考RB快取記憶體分配表124 有關指令排程。
RB快取記憶體116的資料陣列118可置放於3D堆疊DRAM(亦即DRAM晶粒111)附近的邏輯層(亦即邏輯晶粒112)上,原因在於TSV通道117的位置係在3D堆疊DRAM與邏輯晶粒112間移轉資料。此種分開的快取記憶體組態為有利,原因在於DRAM存取於在處理器晶粒上的小型快取記憶體對延遲更不敏感,及失誤率典型地為較高。
參考圖2及3,圖3示例說明依據本文揭示之一實施例,針對圖2的AG-RB快取裝置110一通用自由列表130及一列對映單元131的放大視圖,及部分列快取及隨後命中的流程實施例。該RB快取記憶體分配表124可包括通用自由列表130及列對映單元131。通用自由列表130可保有於資料陣列118中該等快取行的資訊,及在快取行安裝或置換期間可進一步對映於列對映單元131中的列。該列對映單元131可作為自容式全部相聯結的快取記憶體。一標籤部132可具現於圖4的CAM 150。該標籤部132可儲存記憶體區塊的列位址以供詢查。除了快取資訊諸如髒位元及有效位元(圖中未顯示)之外,一資料部133可保有快取行資訊,包括標頭位址、粒度、及位址指標器以檢索該資料陣列118。
依據一實施例,該RB快取記憶體116的資料陣列118在該邏輯晶粒112上可為分散式或集中式。比較集中式RB快取記憶體配置,分散式RB快取記憶體配置可避免DRAM排組間的衝突,及避免歷經長的階級間資料行轉移資料的能量額外負擔。各個RB快取記憶體116可包括一分 開資料陣列118,其係由該階級內部的堆疊DRAM排組所分享。多個相鄰小頁可集結成束以形成一快取行,具有較大粒度直到一整頁。於本方法中,小頁可對準於存取粒度的相對應於位址邊界。來自相同DRAM列的多個小頁例如可連續地儲存以避免多次逐出至同一列。
參考圖4,該列對映單元131的標籤部132可含有一CAM以支援慢速位址詢查。為了減低於小粒度(例如小頁)維持RB快取記憶體116的高度關聯性的成本,針對該列對映單元131的標籤部132,裝置110可包括一CAM 150。針對該CAM 150,對於一階層式搜尋行,儲存裝置可劃分為倉(例如參考CAM倉(i)、CAM倉(i+1)、等),於該處於前一倉151的不匹配信號可在下一倉觸發一存取(亦即比較)。使用CAM 150的此種部分存取組態,比較重複地完全存取CAM,延遲及功率可顯著減低。
CAM 150提供在標籤的列位址詢查後列位址的儲存及欲運算的補償值資訊。舉例言之,因不同應用可具有記憶體存取粒度的某些偏好,某些小頁的列位址標籤可具有比較其它小頁遠更高的命中率。舉例言之,若應用偏好存取一64-分錄RB快取記憶體116中2KB的整頁,其小頁大小為256B,則全部標籤比較可在資料陣列118的總計108060p漸進式信號中之相對應64小頁執行(亦即該等為一整頁的標頭)。若全部此等分錄係置於列對映單元131中的標籤CAM 150之第一倉內,則該512-向相聯結的列對映單元131可具有與64-分錄CAM可相媲美的功率及時間,同時仍然涵 蓋最惡劣情況。記憶體控制器119可監視該平均存取粒度,藉定期移動具有較佳存取粒度的該等分錄至上CAM倉而分類標籤部132倉儲。硬體分類表的時間複雜度可低抵O(n)。
至於RB快取記憶體116之管理的替代策略,若在記憶體請求佇列122及/或預測器佇列125中並無針對一快取行的記憶體請求,則該快取行可被逐出,及不對映至一忙錄排組。若RB快取記憶體116並無任一行滿足此項標準,則更換策略可降級至最少晚近使用(LRU)更換策略。
為了支援適應性粒度,若一快取行夠大(亦即等於或大於擱置中請求的大小)使得單一逐出即將有足夠空間給新請求,則該快取行可被逐出。又復,一快取行可被逐出使得非髒快取行係優於髒快取行。
於RB快取記憶體116中之一操作流程實施例係參考圖2及3作說明。於135(亦即步驟(1)),當預測器模組123檢測得一新(部分)列其需被快取時,預測器模組123發送請求給RB快取記憶體116。於本實施例中,假設一整頁為1KB有4小頁,及RB快取記憶體116係將快取半列(亦即2小頁),具有列位址為0b 1010,及小列位址始於0b 101010。於136(亦即步驟(2)),該通用自由列表130可揀選在該資料陣列118的512B邊界的一可用快取行(例如快取行137),及將此快取行插入該列對映單元131的空白分錄。該列位址及母資訊可分別地儲存於該列對映單元131的標籤部132及資料部133。該母資訊可包括0b 10的標頭位址(亦即在該DRAM列內部的小頁位址之偏移值)、0b 10的粒度(亦即2小頁)、 及該指標器以檢索該資料陣列快取行。於138(亦即步驟(3)),該記憶體控制器119可簽發一DRAM存取指令及一RB快取記憶體116存取指令二者以從DRAM取回資料,及儲存半列(亦即2小頁分別具有位址0b101010及0b101011)於該資料陣列118,其完成記憶體存取及相聯結的AG-RB快取操作。
其次,抵達一隨後記憶體請求。舉例言之,於139(亦即步驟(4)),具有一新記憶體請求存取資料在小頁0b 101011,該記憶體控制器119可諮詢RB快取記憶體分配表124。於140(亦即步驟(5)),於該列對映單元131的一命中指示(部分)列係經快取。因此時該快取列的粒度為未知(亦即如此,在此階段不知是否為真正命中),由擱置中記憶體請求及標頭位址(0b 10)所請求的此小頁之位址偏移值(0b 11)的漢明(Hamming)距離可與粒度作比較以進一步驗證是否為實際命中。於本實施例中,因漢明距離係小於粒度,故此乃真正命中,因而此半列的起始位址及漢明距離可一起用以定址資料陣列118用於資料取回。
圖5示例說明AG-RB快取方法200之一流程圖,相對應於AG-RB快取裝置110之實施例,其構造詳述如前。舉例言之但非限制性,該方法200可參考圖2在AG-RB快取裝置110上具現。該方法200可於其它裝置內實作。
參考圖5之方法200,於方塊201,決定是否快取資料至一RB快取記憶體。概略言之,一記憶體存取樣式可用以決定是否快取資料至該RB快取記憶體。舉例言之,參 考圖2,提取模組126可根據儲存於預測器佇列125及擱置中記憶體請求佇列122的資料而做具有適應性粒度的選擇性快取決定。第一決定是否快取一DRAM列至邏輯晶粒112上的RB快取記憶體116可使用策略做出。預測器佇列125可用以儲存資訊,包括先前服務記憶體請求位址及即將到臨的記憶體請求位址。預測器佇列125可與記憶體請求佇列122組合。儲存於預測器佇列125的位址或儲存於記憶體請求佇列122的資訊可用以決定是否快取DRAM列至該RB快取記憶體116。該預測器佇列125可在處理器(例如處理器晶粒113)的記憶體控制器119或在記憶體端具現。
於方塊202,針對不同的記憶體存取諸如DRAM存取,決定欲快取至RB快取記憶體的資料量。一般而言,該記憶體存取樣式係用以決定資料的哪個部分欲快取至該RB快取記憶體。舉例言之,參考圖2,若提取模組126係將提取一DRAM列及快取該列於RB快取記憶體116,則提取模組126做第二決定有關須快取多少資料或DRAM列的哪個部分。預測器佇列125中的記憶體請求可與一尚待解決的記憶體請求的一目標列位址比較以決定欲快取至該RB快取記憶體116的該DRAM列之一部分。
於方塊203,資料可以一小頁的增量,從該DRAM列的一小頁大小至一整頁大小,選擇性地快取至RB快取記憶體,於該處該小頁大小係小於該整頁大小。舉例言之,參考圖2,資料可以一小頁的增量,從該DRAM列的一小頁大小至一整頁大小,選擇性地快取至RB快取記憶體116。 RB快取記憶體分配表124可用以追蹤儲存於該RB快取記憶體116的DRAM列,及資料陣列118可用以針對RB快取記憶體116儲存該DRAM列或該DRAM列之一部分。RB快取記憶體分配表124可針對一3D堆疊DRAM具現於處理器(亦即處理器晶粒113)的記憶體控制器119,及資料陣列118可具現在該3D堆疊DRAM的邏輯層(例如邏輯晶粒112)上。該RB快取記憶體分配表124的通用自由列表130可用以保有快取行的相關資訊於資料陣列118,及通用自由列表130可用於快取行安裝或置換期間對映於列對映單元131內的該等DRAM列。該列對映單元131可包括該標籤部132以儲存記憶體區塊的DRAM列位址以供詢查,及資料部133以保有快取行資訊。標籤部132可使用CAM 150包括劃分成多個倉的儲存裝置,於該處前一倉的不匹配信號觸發下一倉的存取。
圖6顯示可用於此處描述的實施例之一電腦系統300。該電腦系統包括一通用平台,包括可在伺服器內或其它電腦系統內的組件。電腦系統300可用作為裝置110的平台。電腦系統300可藉此處描述的處理器或其它硬體處理電路、方法、功能及其它處理執行。此等方法、功能及其它處理可具現為儲存於電腦可讀取媒體上的機器可讀取指令,該等媒體可為非暫態諸如硬體儲存裝置(例如隨機存取記憶體(RAM)、唯讀記憶體(ROM)、可抹除可規劃ROM(EPROM)、可電氣抹除可規劃ROM(EEPROM)、硬碟機、及快閃記憶體)。
電腦系統300包括一處理器302,其可具現或執行 機器可讀取指令從事此處描述的部分或全部方法、功能及其它處理。得自處理器302的指令及資料係透過一通訊匯流排304通訊。該電腦系統也包括一主記憶體306,諸如一隨機存取記憶體(RAM),於該處機器可讀取指令及處理器302的資料可於執行時間駐在記憶體;及一二次資料儲存裝置308,其可為非依電性且儲存機器可讀取指令及資料。記憶體及資料儲存裝置乃電腦可讀取媒體之實施例。記憶體306可包括一AG-RB快取模組320,包括於執行時間駐在記憶體306的且由處理器302執行的機器可讀取指令。AG-RB快取模組320可包括圖2顯示的裝置之模組。
電腦系統300可包括一I/O裝置310,諸如鍵盤、滑鼠、顯示器等。該電腦系統可包括一網路介面312用以連結至一網路。其它已知電子組件可於該電腦系統增加或取代。
此處已經描述及示例說明者為實施例連同其若干變化例。此處使用的術語、描述及圖式係陳述僅用於示例說明而非限制性。於本主旨之精髓及範圍內有多項變化為可能,意圖由如下申請專利範圍各項及其相當範圍界定,其中除非另行明白指示否則全部術語係表示其合理的最寬廣定義。
110‧‧‧裝置
111‧‧‧DRAM晶粒
112‧‧‧邏輯晶粒
113‧‧‧處理器晶粒
114‧‧‧DRAM排組
115‧‧‧排組控制器
116‧‧‧RB快取記憶體
117‧‧‧TSV通道
118‧‧‧資料陣列
119‧‧‧記憶體控制器
120‧‧‧資料匯流排
121‧‧‧指令匯流排
122‧‧‧記憶體請求佇列
123‧‧‧預測器模組
124‧‧‧RB快取記憶體分配表
125‧‧‧預測器佇列
126‧‧‧提取模組

Claims (14)

  1. 一種用於適應性粒度列緩衝器(AG-RB)快取之方法,該方法係包含:決定是否快取資料至一RB快取記憶體;針對不同記憶體存取,藉一處理器或一記憶體端邏輯組件調整欲快取至該RB快取記憶體的資料量;運用一RB快取記憶體分配表來追蹤儲存於該RB快取記憶體中的DRAM列;及運用一資料陣列來針對該RB快取記憶體儲存該DRAM列或該DRAM列之一部分。
  2. 如請求項1之方法,其係進一步包含:運用一記憶體存取樣式以決定是否快取該資料至該RB快取記憶體;及運用該記憶體存取樣式以決定快取該資料的哪個部分至該RB快取記憶體。
  3. 如請求項1之方法,其係進一步包含:運用一預測器佇列以儲存一先前服務記憶體請求及即將到臨的記憶體請求之一位址,其中該預測器佇列係可與一記憶體請求佇列組合。
  4. 如請求項3之方法,其中該資料係包含於一動態隨機存取記憶體(DRAM)列,該方法係進一步包含:運用儲存於該預測器佇列的該位址或儲存於該記憶體請求佇列的資訊以決定是否快取該DRAM列至該 RB快取記憶體。
  5. 如請求項3之方法,其中該資料係包含於一動態隨機存取記憶體(DRAM)列,該方法係進一步包含:比較於該預測器佇列中的記憶體請求與一尚待解決的記憶體請求之一目標列位址以決定欲快取至該RB快取記憶體的該DRAM列之一部分。
  6. 如請求項3之方法,其中該資料係包含於一動態隨機存取記憶體(DRAM)列,該方法係進一步包含:以一子頁的增量,從該DRAM列的一子頁大小至一整頁大小,選擇性地快取資料至該RB快取記憶體,其中該子頁大小係小於該整頁大小。
  7. 如請求項1之方法,其係進一步包含:針對一三維(3D)堆疊DRAM於該處理器之一記憶體控制器內具現該RB快取記憶體分配表;及於該3D堆疊DRAM的邏輯層上具現該資料陣列。
  8. 如請求項1之方法,其係進一步包含:運用該RB快取記憶體分配表的一全域自由列表以保有在該資料陣列中的快取行相關之資訊;及於快取行安裝或置換期間,運用該全域自由列表以對映該等DRAM列於一列對映單元中。
  9. 如請求項1之方法,其係進一步包含:運用一列對映單元,其包括:一標籤部用以儲存記憶體區塊的DRAM列位址用於詢查,及 一資料部用以保有快取行資訊。
  10. 如請求項1之方法,其係進一步包含:運用一列對映單元,其包括一標籤部用以儲存記憶體區塊的DRAM列位址用於詢查,其中該標籤部使用包括劃分成多倉的儲存裝置的一內容可定址記憶體(CAM),其中一先前倉的一不匹配信號觸發於一其次倉中的一存取。
  11. 如請求項1之方法,其係進一步包含:使用具有一板上緩衝器晶片的一雙排型記憶體模組(DIMM)具現該RB快取記憶體。
  12. 一種適應性粒度列緩衝器(AG-RB)快取記憶體裝置,其係包含:一三維(3D)堆疊動態隨機存取記憶體(DRAM)包括:含至少一個DRAM排組的多個DRAM晶粒,及含儲存DRAM列的至少一個RB快取記憶體的一邏輯晶粒;及一處理器晶粒,包括含一預測器模組的一記憶體控制器以決定是否快取資料至該至少一個RB快取記憶體,及針對不同DRAM存取調整欲快取至該至少一個RB快取記憶體的資料量;其中一RB快取記憶體分配表係用來追蹤該等DRAM列,以及一資料陣列係用來針對該RB快取記憶體儲存該DRAM列或該DRAM列之一部分。
  13. 如請求項12之AG-RB快取記憶體裝置,其中該預測器模組係包括一預測器佇列以儲存一先前服務記憶體請求及即將到臨的記憶體請求之一位址,及其中該預測器佇列係可與一記憶體請求佇列組合。
  14. 一種記憶體裝置,其係包含:一記憶體,儲存機器可讀指令以:決定是否快取資料至一列緩衝器(RB)快取記憶體;針對不同記憶體存取,調整快取至該RB快取記憶體的資料量;運用一RB快取記憶體分配表來追蹤儲存於該RB快取記憶體中的DRAM列;及運用一資料陣列來針對該RB快取記憶體儲存該DRAM列或該DRAM列之一部分;以及一處理器,用以具現該等機器可讀指令。
TW102146927A 2013-01-31 2013-12-18 用於適應性粒度列緩衝器快取之方法和裝置、及記憶體裝置 TWI536258B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/024179 WO2014120215A1 (en) 2013-01-31 2013-01-31 Adaptive granularity row-buffer cache

Publications (2)

Publication Number Publication Date
TW201439897A TW201439897A (zh) 2014-10-16
TWI536258B true TWI536258B (zh) 2016-06-01

Family

ID=51262779

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102146927A TWI536258B (zh) 2013-01-31 2013-12-18 用於適應性粒度列緩衝器快取之方法和裝置、及記憶體裝置

Country Status (5)

Country Link
US (1) US9620181B2 (zh)
KR (1) KR20150115752A (zh)
CN (1) CN105027211B (zh)
TW (1) TWI536258B (zh)
WO (1) WO2014120215A1 (zh)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150132099A (ko) 2013-03-20 2015-11-25 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 서로 다른 계층 레벨의 메모리 노드를 가진 메모리 시스템에서의 데이터 캐싱
KR102453193B1 (ko) * 2013-05-16 2022-10-11 어드밴스드 마이크로 디바이시즈, 인코포레이티드 영역-특정 메모리 액세스 스케줄링을 가진 메모리 시스템
JP6093322B2 (ja) * 2014-03-18 2017-03-08 株式会社東芝 キャッシュメモリおよびプロセッサシステム
GB201500446D0 (en) * 2015-01-12 2015-02-25 Univ Manchester Monitoring device
KR20170057902A (ko) * 2015-11-17 2017-05-26 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
TWI564717B (zh) * 2015-12-02 2017-01-01 宇瞻科技股份有限公司 資料緩衝調整裝置及其方法
US20170168957A1 (en) * 2015-12-10 2017-06-15 Ati Technologies Ulc Aware Cache Replacement Policy
US10255190B2 (en) * 2015-12-17 2019-04-09 Advanced Micro Devices, Inc. Hybrid cache
GB2542646B (en) * 2016-03-18 2017-11-15 Imagination Tech Ltd Non-linear cache logic
KR102469099B1 (ko) * 2016-03-24 2022-11-24 에스케이하이닉스 주식회사 반도체 시스템
US9785371B1 (en) * 2016-03-27 2017-10-10 Qualcomm Incorporated Power-reducing memory subsystem having a system cache and local resource management
US10169240B2 (en) * 2016-04-08 2019-01-01 Qualcomm Incorporated Reducing memory access bandwidth based on prediction of memory request size
US10866902B2 (en) * 2016-12-28 2020-12-15 Intel Corporation Memory aware reordered source
US20180188976A1 (en) * 2016-12-30 2018-07-05 Intel Corporation Increasing read pending queue capacity to increase memory bandwidth
CN107301455B (zh) * 2017-05-05 2020-11-03 中国科学院计算技术研究所 用于卷积神经网络的混合立方体存储系统及加速计算方法
US10498342B2 (en) * 2017-08-23 2019-12-03 Massachusetts Institute Of Technology Discretely assembled logic blocks
US10380024B2 (en) * 2017-12-05 2019-08-13 Nanya Technology Corporation DRAM and method of operating the same in an hierarchical memory system
US10714159B2 (en) 2018-05-09 2020-07-14 Micron Technology, Inc. Indication in memory system or sub-system of latency associated with performing an access command
US11010092B2 (en) 2018-05-09 2021-05-18 Micron Technology, Inc. Prefetch signaling in memory system or sub-system
US10754578B2 (en) 2018-05-09 2020-08-25 Micron Technology, Inc. Memory buffer management and bypass
US10942854B2 (en) 2018-05-09 2021-03-09 Micron Technology, Inc. Prefetch management for memory
CN109308190B (zh) * 2018-07-09 2023-03-14 北京中科睿芯科技集团有限公司 基于3d堆栈内存架构的共享行缓冲系统及共享行缓冲器
US11144466B2 (en) * 2019-06-06 2021-10-12 Intel Corporation Memory device with local cache array
CN112151526A (zh) 2019-06-28 2020-12-29 西部数据技术公司 包括高速异质集成控制器和高速缓存的半导体设备
US20220269645A1 (en) * 2019-08-13 2022-08-25 Neuroblade Ltd. Memory mat as a register file
US11656995B2 (en) * 2019-11-26 2023-05-23 Micron Technology, Inc. Dynamic access granularity in a cache media
US11614892B2 (en) * 2020-12-17 2023-03-28 Micron Technology, Inc. Memory system architecture for heterogeneous memory technologies
US11693585B2 (en) * 2021-04-26 2023-07-04 Apple Inc. Address hashing in a multiple memory controller system
US11972140B2 (en) 2021-04-26 2024-04-30 Apple Inc. Hashing with soft memory folding
US11803471B2 (en) 2021-08-23 2023-10-31 Apple Inc. Scalable system on a chip
CN116737617B (zh) * 2023-08-11 2023-12-29 上海芯高峰微电子有限公司 一种访问控制器

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5055999A (en) * 1987-12-22 1991-10-08 Kendall Square Research Corporation Multiprocessor digital data processing system
KR100257993B1 (ko) * 1998-05-19 2000-06-01 윤덕용 분산 공유 메모리 시스템에서 미세 통신과 대단위 통신의 병합을 위한 적응형 입도 방법
US6591355B2 (en) 1998-09-28 2003-07-08 Technion Research And Development Foundation Ltd. Distributed shared memory system with variable granularity
US6745299B2 (en) * 2001-11-19 2004-06-01 Hewlett-Packard Development Company, L.P. Method for evaluation of scalable symmetric multiple processor cache coherency protocols and algorithms
US7353339B2 (en) * 2003-12-24 2008-04-01 Intel Corporation Adaptive caching
US7350032B2 (en) * 2004-03-22 2008-03-25 Sun Microsystems, Inc. Cache coherency protocol including generic transient states
US8375146B2 (en) 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7231498B2 (en) 2005-03-02 2007-06-12 Microsoft Corporation Adaptive granularity refinement in detecting potential data races
US8296550B2 (en) * 2005-08-29 2012-10-23 The Invention Science Fund I, Llc Hierarchical register file with operand capture ports
US7467280B2 (en) 2006-07-05 2008-12-16 International Business Machines Corporation Method for reconfiguring cache memory based on at least analysis of heat generated during runtime, at least by associating an access bit with a cache line and associating a granularity bit with a cache line in level-2 cache
US8032711B2 (en) 2006-12-22 2011-10-04 Intel Corporation Prefetching from dynamic random access memory to a static random access memory
WO2008150927A2 (en) 2007-05-30 2008-12-11 Schooner Information Technology System including a fine-grained memory and a less-fine-grained memory
US7822911B2 (en) 2007-08-15 2010-10-26 Micron Technology, Inc. Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same
CN101236530B (zh) * 2008-01-30 2010-09-01 清华大学 高速缓存替换策略的动态选择方法
TWI460588B (zh) * 2009-07-17 2014-11-11 Toshiba Kk Memory management device and memory information processing device
US8151012B2 (en) 2009-09-25 2012-04-03 Intel Corporation Virtual row buffers for use with random access memory
EP2526478B1 (en) 2010-01-18 2016-03-30 Marvell International, Ltd. A packet buffer comprising a data section an a data description section
KR101779992B1 (ko) * 2010-02-24 2017-10-10 마벨 월드 트레이드 리미티드 데이터 저장 디바이스들에 대한 액세스들의 공간적인 분포에 기초하는 캐싱
JP5404483B2 (ja) 2010-03-17 2014-01-29 株式会社東芝 メモリシステム
US8291172B2 (en) 2010-04-27 2012-10-16 Via Technologies, Inc. Multi-modal data prefetcher
US20120317376A1 (en) * 2011-06-10 2012-12-13 Advanced Micro Devices, Inc. Row buffer register file
US8954672B2 (en) * 2012-03-12 2015-02-10 Advanced Micro Devices, Inc. System and method for cache organization in row-based memories
US9146882B2 (en) * 2013-02-04 2015-09-29 International Business Machines Corporation Securing the contents of a memory device

Also Published As

Publication number Publication date
US9620181B2 (en) 2017-04-11
WO2014120215A1 (en) 2014-08-07
US20150371689A1 (en) 2015-12-24
CN105027211B (zh) 2018-09-21
TW201439897A (zh) 2014-10-16
KR20150115752A (ko) 2015-10-14
CN105027211A (zh) 2015-11-04

Similar Documents

Publication Publication Date Title
TWI536258B (zh) 用於適應性粒度列緩衝器快取之方法和裝置、及記憶體裝置
US11281585B2 (en) Forward caching memory systems and methods
US6959374B2 (en) System including a memory controller configured to perform pre-fetch operations including dynamic pre-fetch control
US8990505B1 (en) Cache memory bank selection
US20060004963A1 (en) Apparatus and method for partitioning a shared cache of a chip multi-processor
US20050132140A1 (en) Non-uniform cache apparatus, systems, and methods
US10831377B2 (en) Extended line width memory-side cache systems and methods
US11281589B2 (en) Asynchronous forward caching memory systems and methods
US20170091099A1 (en) Memory controller for multi-level system memory having sectored cache
US10108549B2 (en) Method and apparatus for pre-fetching data in a system having a multi-level system memory
US11232047B2 (en) Dedicated cache-related block transfer in a memory system
US10705762B2 (en) Forward caching application programming interface systems and methods
TW202125773A (zh) 具有增進記憶體側快取實施之多層記憶體
US10509742B2 (en) Logical memory buffers for a media controller
CN110537172B (zh) 混合存储器模块
US7293141B1 (en) Cache word of interest latency organization
CN113826083A (zh) 处理器侧事务上下文存储器接口系统和方法
US20220398198A1 (en) Tags and data for caches
US10915453B2 (en) Multi level system memory having different caching structures and memory controller that supports concurrent look-up into the different caching structures
CN108509151B (zh) 一种基于dram内存控制器的行缓存方法和系统
US20240070073A1 (en) Page cache and prefetch engine for external memory
Keckler et al. Non-uniform cache apparatus, systems, and methods

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees