TW201801088A - 記憶體裝置、記憶體模組、及記憶體裝置之操作方法 - Google Patents
記憶體裝置、記憶體模組、及記憶體裝置之操作方法Info
- Publication number
- TW201801088A TW201801088A TW106118520A TW106118520A TW201801088A TW 201801088 A TW201801088 A TW 201801088A TW 106118520 A TW106118520 A TW 106118520A TW 106118520 A TW106118520 A TW 106118520A TW 201801088 A TW201801088 A TW 201801088A
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- memory
- policy
- memory device
- majority
- Prior art date
Links
- 230000015654 memory Effects 0.000 title claims abstract description 359
- 238000011017 operating method Methods 0.000 title abstract 2
- 239000000872 buffer Substances 0.000 claims description 50
- 230000008859 change Effects 0.000 claims description 25
- 238000000034 method Methods 0.000 claims description 17
- 238000004458 analytical method Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 23
- 239000013256 coordination polymer Substances 0.000 description 14
- 238000004891 communication Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 5
- 230000009977 dual effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000012508 change request Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013506 data mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000037361 pathway Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005442 molecular electronic Methods 0.000 description 1
- 235000012459 muffins Nutrition 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0893—Caches characterised by their organisation or structure
- G06F12/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/123—Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/6042—Allocation of cache space to multiple users or processors
- G06F2212/6046—Using a specific cache allocation policy other than replacement policy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Memory System (AREA)
Abstract
提出一記憶體裝置、一記憶體模組、及該記憶體裝置之一操作方法。該記憶體裝置包括一胞元陣列儲存多數快取行及對應於該等多數快取行之多數標籤,一快取策略設定電路自多數管理策略中選擇至少一個管理策略及基於該至少一個已選擇的管理策略而設定一快取策略,及快取邏輯基於該快取策略而管理該等多數快取行。
Description
參考相關申請案 此申請案主張於韓國智慧財產局提申日期2016年6月8日的韓國專利申請案第10-2016-0070997號的優先權益,該案之揭示全文爰引於此並融入本說明書之揭示。
發明領域 本揭示係有關於半導體記憶體裝置,及更特定言之,係有關於記憶體裝置、操作為快取記憶體的記憶體模組、及記憶體裝置之操作方法。
於計算系統中,快取記憶體係使用來減少因主記憶體的存取延遲時間長所致的效能低劣。隨著主記憶體容量的增加,快取記憶體之容量也增加。如此,能夠實現為具有高容量的記憶體,諸如動態隨機存取記憶體(DRAM)可被使用作為快取記憶體。
發明概要 本揭示提出一種動態改變快取策略的一記憶體裝置及一記憶體模組,及該記憶體裝置之一操作方法。
依據本發明構想之一態樣,提出一種記憶體裝置包括一胞元陣列其儲存多數快取行及對應於該等多數快取行之多數標籤;一快取策略設定電路其自多數管理策略中選擇至少一個管理策略及基於該至少一個已選擇的管理策略而設定一快取策略;及快取邏輯其基於該快取策略而管理該等多數快取行。
依據本發明構想之另一態樣,提出一種記憶體模組包括儲存多數快取行的多數第一記憶體裝置;及一第二記憶體裝置其儲存對應於該等多數快取行的多數快取標籤,自多數管理策略中選擇至少一個管理策略作為一快取策略,及基於該快取策略及該等多數快取標籤管理該等多數快取行。
依據本發明構想之另一態樣,提出一種記憶體裝置之操作方法,該操作方法包括基於一預設快取策略管理多數快取行,藉由基於接收自一外部裝置的一指令而從多數管理策略中選擇一管理策略作為一快取策略而改變該快取策略,及基於該已改變的快取策略管理該等多數快取行。
依據本發明構想之另一態樣,提出一種記憶體裝置之操作方法,該操作方法包括基於一預設快取策略管理多數快取行;自該記憶體裝置外部的一記憶體控制器接收一快取策略設定指令;當基於所接收的快取策略設定指令係與該預設快取策略不同時藉由從多數管理策略中選擇一管理策略作為用於操作該記憶體裝置的一新快取策略而改變該預設快取策略;及基於該新快取策略管理該等多數快取行。
較佳實施例之詳細說明 現在將參考附圖,於其中顯示各種實施例,更完整地描述本文揭示如後。然而,本發明可以許多不同形式具體實施及不應解譯為限制於本文中陳述的該等具體實施例。此等具體實施例只是-釋例-且不要求本文提供的細節之許多實施及變化為可能。也須強調本揭示提供替代釋例之細節,但此等替代例之列表並非排它性。又復,各種釋例間之細節的一致性不應解譯為要求此種細節-針對本文描述的每個特徵列舉每種可能的變化不合實際。決定本發明之要求時須參考申請專利範圍的措辭。
如於發明構想之領域中之傳統,實施例係就功能方塊、單元及/或模組而描述且於附圖中例示。熟諳技藝人士將瞭解此等方塊、單元及/或模組係藉其可使用以半導體為基礎之製造技術或其它製造技術形成的電子(或光學)電路實體上實施,諸如邏輯電路、離散組件、微處理器、有線電路、記憶體元件、打線接合等。以藉微處理器或其類具體實施的方塊、單元及/或模組為例,其可使用軟體(例如,微碼)規劃以進行本文中討論的各項功能及可任選地藉韌體及/或軟體驅動。另外,各個方塊、單元及/或模組可藉專用硬體實施,或呈專用硬體進行部分功能及處理器(例如,一或多個經規劃的微處理器及相關聯的電路)進行其它功能的組合實施。又,不背離本發明構想之範圍,該等實施例之各個方塊、單元及/或模組可實體上分開成二或多個互動的離散的方塊、單元及/或模組。又復,不背離本發明構想之範圍,該等實施例之該等方塊、單元及/或模組可實體上組合成更複雜的方塊、單元及/或模組。
後文中將參考附圖描述本發明之構想的各種實施例。
圖1為依據一具體實施例一電子系統1000的示意方塊圖。
參考圖1,電子系統1000可實現為下列中之至少一者:智慧型電話、平板個人電腦(PC)、行動電話、視訊電話、電子書讀取器、桌上型PC、膝上型PC、小筆電、個人數位助理器(PDA)、可攜式媒體播放器(PMP)、MPEG音訊層3(MP3)播放器、相機、穿戴裝置、伺服器、車用電子裝置、航海電子裝備(例如,航海導航裝置、迴轉羅盤等)、航空電子設備、保全裝置、工業或家用機器人、自動櫃員機(ATM)、電子醫療裝置、家電設施、智慧型家具、及建築物/施工部件。
電子系統1000可包括主機系統1200、快取記憶體1100、及主記憶體1300。
主機系統1200可控制電子系統1000的一般操作及進行邏輯操作。舉例言之,主機系統1200可形成為單晶片系統(SoC)。主機系統1200可包括中央處理單元(CPU)1210及智慧財產(後文稱作IP)1220。
CPU 1210可處理或執行儲存於主記憶體1300中之程式及/或資料。依據一實施例,CPU 1210可實現為多核心處理器。依據一實施例,CPU 1210可包括位在相同晶片上的快取記憶體(例如,L1快取記憶體,未顯示於圖中)。
IP 1220係指電路、邏輯、或其組合,其可整合於電子系統1000中。電路或邏輯可儲存計算代碼。
IP 1220可包括例如,圖形處理單元(GPU)、多格式編解碼器(MFC)、視訊模組(例如,相機介面、聯合圖像專家小組(JPEG)處理器、視訊處理器、混合器等)、音訊系統、驅動裝置、顯示驅動裝置、依電性記憶體裝置、非依電性記憶體裝置、記憶體控制器、快取記憶體、串列埠、系統計時器、監視計時器、類比至數位轉換器等。
依據一實施例,IP 1220可包括快取記憶體於其內部。圖1例示主機系統1200包括一個IP 1220。然而,本發明構想並非受此所限,及主機系統1200可包括多個IP。
主記憶體1300可儲存或讀取由主機系統1200所請求的資料。舉例言之,主記憶體1300可儲存可由CPU 1210執行的指令及資料。又,主記憶體1300可儲存或讀取由IP 1220所請求的資料。
主記憶體1300可實現為依電性記憶體裝置或非依電性記憶體裝置。依電性記憶體裝置可實現為動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)、閘流體RAM(T-RAM)、零電容器RAM(Z-RAM)、或雙電晶體RAM(TTRAM)。
非依電性記憶體裝置可實現為電氣可抹除可規劃唯讀記憶體(EEPROM)、快閃記憶體、磁性RAM(MRAM)、自旋轉移矩(STT)-MRAM、導電橋接RAM(CBRAM)、鐵電RAM(FeRAM)、相變RAM(PRAM)、電阻式RAM(RRAM)、奈米管RRAM、聚合物RAM(PoRAM)、奈米浮動閘極記憶體(NFGN)、全像式記憶體、分子電子記憶體裝置、或絕緣體電阻變化記憶體。
快取記憶體1100乃用於暫時儲存已儲存於或欲儲存於主記憶體1300中之部分資料的記憶體。快取記憶體1100為當程式被執行時藉由使用以時間或空間為基礎的快取策略快速地存取於主記憶體1300或碟片(未顯示於圖中)中使用的資料之記憶體。以時間為基礎的快取策略可運用資源/資料被取回的時間而界定快取分錄的新鮮程度。以空間為基礎的快取策略可基於所請求資源/資料可取自何處而界定快取分錄的新鮮程度。
快取記憶體1100可排列於主機系統1200與主記憶體1300間。儲存於主記憶體1300中之部分資料可被拷貝至快取記憶體1100,及指示資料被儲存於主記憶體1300的哪個位置之一標籤被拷貝至快取記憶體1100可進一步儲存於快取記憶體1100中。對應於一個標籤的資料單元,換言之,在快取記憶體1100與主記憶體1300間發射的資料區塊被稱作為快取行。其細節態樣將參考圖4A及4B容後詳述。
基於標籤比較操作,判定由主機系統1200要求存取的資料是否存在於快取記憶體1100中。當要求存取的資料存在(亦即,快取命中)於快取記憶體1100中時,快取記憶體1100之資料可提供給主機系統1200。當要求存取的資料不存在(亦即,快取失誤)於快取記憶體1100中時,涵括所請求資料具有某個大小的資料可讀取自主記憶體1300及拷貝入快取記憶體1100,及由主機系統1200請求的資料可被讀取自所拷貝資料及提供給主機系統1200。
於快取失誤之此種情況下,基於快取記憶體1100的快取策略,犧牲快取行(或置換快取行)可選自於儲存於快取記憶體1100中之快取行間,及讀取自主記憶體1300的資料可被拷貝至犧牲快取行儲存於其中的一胞元區(稱作為途徑(way))。快取記憶體1100可基於使用環境,諸如自主機系統1200的請求模式,而動態地改變快取策略。舉例言之,快取策略可包括快取行置換策略。當快取記憶體1100使用以最近最少使用(LRU)為基礎的置換策略時,若有許多來自主機系統1200的寫入請求,則快取記憶體1100可將快取行置換策略從以最近最少使用(LRU)為基礎的置換策略改變成以未更動(clean)快取行優先為基礎的置換策略。此處,未更動快取行係指儲存具有與來自儲存於主記憶體1300中之資料相同值的資料之快取行。舉例言之,當快取記憶體1100使用以最近最少使用(LRU)為基礎的置換策略時,快取記憶體1100可偏好優先選擇最近最少使用快取行用於犧牲快取行。當快取記憶體1100使用以先未更動快取行為基礎的置換策略時,快取記憶體1100可偏好優先選擇未更動快取行用於犧牲快取行。於若干實施例中,若有許多來自主機系統1200的寫入請求,則快取記憶體1100的快取行置換策略可從以最近最少使用(LRU)為基礎的置換策略改變成以首先未更動快取行為基礎的置換策略,及然後,快取記憶體1100將偏好選擇未更動快取行用於犧牲快取行。
快取記憶體1100可實現為依電性記憶體或非依電性記憶體。後文中,將描述於其中快取記憶體1100實現為DRAM的釋例。然而,本發明構想並非受此所限,而可施用各種記憶體裝置,諸如能以頁面單位存取記憶體胞元陣列的記憶體裝置,及能以行位址單元及列位址單位存取記憶體胞元陣列的記憶體裝置。
當非依電性記憶體,諸如快閃記憶體或PRAM用作為主記憶體1300時,寫入操作次數受限制,及因此,其使用壽命可能有限。如此,當快取記憶體1100施用以讀取延遲為基礎的快取策略時,更動(dirty)快取行可被頻繁置換。此處,更動快取行係指儲存資料具有與儲存於主記憶體1300中之資料不同值的快取行。如此,主記憶體1300之使用壽命大為縮短。又,當更動快取行被維持長時間以便減少主記憶體1300的寫入操作次數時,可減低快取記憶體的重複使用率,及快取記憶體1100本身未能發揮功能。因此,當使用單一快取策略時,可能無法充分發揮快取記憶體1100的效能。然而,如前文描述,依據本實施例之快取記憶體1100可根據使用環境而動態地改變快取策略,及如此,可改良電子系統1000之效能及主記憶體1300之可靠度。
圖2為依據一具體實施例一記憶體系統1500的方塊圖。
參考圖2,記憶體系統1500可包括記憶體裝置100及記憶體控制器200。記憶體裝置100可操作為快取記憶體。記憶體裝置100可施用為圖1之快取記憶體快取記憶體1100,及參考圖1描述的快取記憶體1100之揭示可應用至記憶體裝置100。假設記憶體裝置100包括DRAM裝置。
於若干具體實施例中,記憶體裝置100及/或記憶體控制器200可以各種形式封裝,諸如堆疊式封裝(PoP)、球柵陣列(BGA)、晶片級封裝(CSP)、塑膠引線晶片載具(PLCC)、塑膠雙列直插式封裝(PDIP)、呈鬆餅形式的晶粒、呈晶圓形式的晶粒、板上晶片(COB)、陶瓷雙列直插式封裝(CERDIP)、塑膠公制方形扁平封裝(MQFP)、薄方形扁平封裝(TQFP)、小型輪廓IC(SOIC)、收縮小型輪廓封裝(SSOP)、薄小型輪廓封裝(TSOP)、系統級封裝(SIP)、多晶片封裝(MCP)、晶圓層級製造封裝(WFP)、或晶圓層級處理堆疊封裝(WSP)。
記憶體控制器200可發射指令信號CMD、時鐘CLK、及位址信號ADDR至記憶體裝置100且可與記憶體裝置100交換讀/寫資料DATA。記憶體控制器200可基於來自外部裝置,例如,主機系統(圖1之1200)的存取請求而產生指令信號CMD及位址信號ADDR。
指令信號CMD可指示控制記憶體裝置100的普通操作,例如寫入或讀取操作的操作指令CMD_OP。又,指令信號CMD可指示控制記憶體裝置100的快取策略之改變的快取策略設定指令CMD_CP。依據一實施例,快取策略設定指令CMD_CP可由記憶體裝置100透過在記憶體裝置100之輸入及輸出針腳中的一輸入及輸出針腳所接收,該輸入及輸出針腳與接收操作指令CMD_OP所透過的輸入及輸出針腳不同。依據另一實施例,接收快取策略設定指令CMD_CP所透過的輸入及輸出針腳可與接收操作指令CMD_OP所透過的輸入及輸出針腳相同。
位址信號ADDR可包括索引INDEX及標籤TAG。位址信號ADDR可進一步包括偏位。位址信號ADDR為用於判定對應請求自外部裝置的一位址(例如,主記憶體(圖1之1300)之位址)的資料是否儲存於記憶體裝置100的一信號,且可包括所請求位址的部分或全部位元。
記憶體裝置100可包括記憶體胞元陣列110、快取邏輯120、及快取策略設定電路130。
記憶體胞元陣列110可包括多數DRAM胞元。記憶體胞元陣列110可儲存多數快取行及對應該等多數快取行的多數標籤。
快取策略設定電路130可設定記憶體裝置100之快取策略。舉例言之,快取策略可包括置換策略、分配策略、及寫入策略中之一者。依據一具體實施例,快取策略設定電路130可選擇多數管理策略中之至少一者且可基於選擇的管理策略而設定快取策略。依據一具體實施例,快取策略設定電路130可回應於所接收的快取策略設定指令CMD_CP而改變策略。依據一具體實施例,快取策略設定電路130可監視一存取指令,例如,操作指令CMD_OP,及基於監視結果而改變快取策略。
快取邏輯120可判定快取命中或快取失誤。又,快取邏輯120可基於所設定的快取策略而控制記憶體裝置100的快取操作。快取邏輯120可管理儲存於記憶體胞元陣列110中之快取行或多數標籤。舉例言之,當出現快取失誤時,快取邏輯120可基於快取策略選擇一犧牲快取行及置換該快取行。
圖3為依據一具體實施例該記憶體裝置100的方塊圖。
參考圖3,記憶體裝置100可包括記憶體胞元陣列110、快取邏輯120、快取策略設定電路130、列解碼器140、列緩衝器150、行解碼器160、輸入及輸出緩衝器170、指令解碼器180、及位址暫存器190。
記憶體胞元陣列110可儲存多數快取行CL及對應該等多數快取行CL的多數標籤TAG。標籤可指示對應該等標籤的快取行係在主記憶體的哪些位置。
記憶體胞元陣列110可包括排列成含多列及多行的一矩陣的多數記憶體胞元。記憶體胞元陣列110可透過字線WL及位元線BL而連結到列解碼器140及列緩衝器150。
記憶體胞元陣列110中之各列可藉索引編號INDEX1至INDEXm加以區別。舉例言之,一列可對應於一個索引編號。各列可包括多數途徑(胞元區)WAY1至WAYn。(該等多列各自可儲存對應於該等多數途徑WAY1至WAYn的多數快取行CL1至CLn及對應於該等多數快取行CL1至CLn的多數標籤T1至Tn)。為了方便解說,對應於一列中之該等多數途徑WAY1至WAYn各自的快取行CL及標籤將標示以相同的編號。於圖3中例示多數標籤TAG及多數快取行CL係分開儲存。然而,本發明構想並非受此所限,多數標籤TAG及多數快取行CL另可儲存於一列中。
多列可進一步包括有關該等多數快取行CL1至CLn各自的狀態資訊(例如,更動或未更動,或有效或無效)。儲存於該等多數列中各自的多數快取行CL、多數標籤TAG及狀態資訊可形成一個集合。
指令解碼器180可藉由接收其係接收自記憶體控制器(圖2之200)的指令信號而進行解碼操作,例如,晶片選擇信號/CS、列位址選通/RAS、行位址選通/CAS、及寫入致能/WE及時鐘致能CKE信號。指令解碼器180根據通過解碼操作識別的指令可產生一內部控制信號CTRL。指令解碼器180可提供控制信號CTRL給列解碼器140及快取策略設定電路130,及也可提供控制信號CTRL給記憶體裝置100的其它組件。
快取策略設定電路130可設定記憶體裝置100之一快取策略。快取策略設定電路130可包括多數管理策略MP1、MP2、及MP3,及藉由選擇該等多數管理策略MP1、MP2、及MP3中之至少一者而設定快取策略。圖3例示三個管理策略。然而,本發明構想並非受此所限,而可涵括各種數目及類型的管理策略。舉例言之,多數管理策略MP1至MP3可包括置換策略、分配策略、或寫入策略。多數管理策略MP1至MP3可實現為演算法、電路、或用於執行演算法的電路。
快取策略設定電路130可根據所接收的控制信號CTRL而動態改變快取策略。
接收自記憶體控制器200的位址信號ADDR可儲存於位址暫存器190中。位址暫存器190可提供位址信號ADDR的索引INDEX給列解碼器140作為列位址X-ADDR,及可提供標籤TAG給快取邏輯120。
列解碼器140可基於控制信號CTRL及列位址X-ADDR選擇字線WL。據此,可啟用具有對應列位址X-ADDR的一索引的一列。儲存於被啟用列中之資料,換言之,多數快取行CL及多數標籤TAG可透過位元線BL載入至列緩衝器150。列緩衝器150可被實現為感測連結到位元線BL的記憶體胞元之資料的一感測放大電路。
快取邏輯120藉由比較自位址暫存器190提供的標籤TAG,亦即所接收的標籤,與載入至列緩衝器150的多數標籤T1至Tn,可判定是否出現快取命中。當所接收的標籤TAG匹配多數標籤T1至Tn中之一者時,快取邏輯120可判定出現快取命中;及當所接收的標籤TAG不匹配多數標籤T1至Tn時,可判定出現快取失誤。
當出現快取命中時,快取邏輯120基於來自載入列緩衝器150的多數快取行CL1至CLn中指示對應匹配標籤的快取行之資訊(例如,途徑資訊等)可產生行位址Y-ADDR。當出現快取失誤時,快取邏輯120基於由快取策略設定電路130設定的快取策略可選擇一置換快取行,及基於指示該快取行的資訊可產生行位址Y-ADDR。
快取邏輯120可提供行位址Y-ADDR給行解碼器160。行解碼器160可從載入列緩衝器150的資料中選擇對應行位址Y-ADDR的一快取行的資料(或該快取行的資料之部分)。列緩衝器150可透過輸入及輸出緩衝器170輸出所選擇資料DATA及對應該所選擇資料DATA的一標籤TAG至外部。資料DATA及標籤TAG可發射給記憶體控制器(圖2之200)或主記憶體(圖1之1300)。
圖4A為依據一具體實施例用於描述快取記憶體與主記憶體之資料對映的視圖。圖4A例示n-途徑設定相關聯匹配作為對映操作之一釋例。
主記憶體300被平分成具有某個大小的多數區塊301至30k,及標籤值被分配給已平分區塊301至30k之對應各者。舉例言之,第一區塊301之標籤值可以是0000,及第二區塊之標籤值可以是0001。多數區塊301至30k各自可平分成多數區,及索引值可被分配給該等多數區之對應各者。
快取記憶體100可包括多數途徑WAY1至WAYn。途徑WAY1至WAYn之大小可與主記憶體300的區塊301至30k大小相等。
當主記憶體300之資料拷貝至快取記憶體100時,指示某個大小之資料的快取行CL及該快取行CL的標籤值可被寫入快取記憶體100。又相對於快取行的狀態資訊V及D可被寫入快取記憶體100。快取行CL、標籤TAG、及於多數途徑WAY1至WAYn中具有相同索引值的狀態資訊V及D可形成一個集合SET。
後文中,當儲存於快取記憶體100中之資料被讀取時,多數集合SET中之任一者可根據指示一集合SET的索引資訊加以選擇,及基於比較標籤值之操作,可從涵括於一個集合的多數快取行CL中選擇一個快取行。
圖4B為用於存取圖1之快取記憶體1100的一位址結構之一釋例的視圖。
參考圖4B,記憶體位址MEM_ADDR可包括一標籤TAG欄位、一索引INDEX欄位、及一偏位OFFSET欄位。多數集合中之任一者可藉使用索引INDEX欄位值被選擇,及多數快取行中之任一者可藉由使用標籤TAG欄位值被選擇。又,藉由使用偏位OFFSET欄位值,存取於一位元組單元中之任一個快取行可為可能。
圖5A及5B為依據具體實施例快取策略設定電路130a及130b的方塊圖。為求解說方便,圖5A及5B一起例示記憶體控制器200及快取邏輯120。
參考圖5A,當由來自外部裝置,例如主機系統的快取策略變化請求REQ_PC時,記憶體控制器200可產生對應於該請求的快取策略設定指令CMD_CP,及提供所產生的快取策略設定指令CMD_CP給記憶體裝置100a。依據一實施例,快取策略變化請求REQ_PC可包括一信號,其請求自該記憶體裝置100a的一先前設定的快取策略改變成另一快取策略。依據一實施例,快取策略變化請求REQ_PC可包括一信號,其指示來自主機系統的一存取請求的特性(例如,存取請求是否為取中於寫入的請求或取中於讀取的請求等)。依據另一實施例,記憶體控制器200可分析來自主機系統的存取請求(寫入或讀取請求),及基於存洱請求的特性而產生快取策略設定指令CMD_CP。
快取策略設定電路130a可包括多數管理策略131、策略暫存器133、及快取策略選擇器132。
該等多數管理策略131可實現為演算法、電路、或用於執行演算法的電路。該等多數管理策略131可包括快取操作相關的置換策略、分配策略、寫入策略等。
快取策略選擇器132可選擇該等多數管理策略131中之至少一者。當快取策略設定指令CMD_CP接收自記憶體控制器200時,快取策略選擇器132可回應於快取策略設定指令CMD_CP選擇一管理策略。快取策略選擇器132可提供指示所選擇管理策略之一值給策略暫存器133。
策略暫存器133可儲存有關所選擇管理策略之資訊。藉此方式,基於儲存於策略暫存器133中之值,快取策略設定電路130a可基於該等多數管理策略131中之至少一者設定快取策略。
快取邏輯120可基於快取策略CP控制記憶體裝置100a之快取操作。
參考圖5B,快取策略設定電路130b可包括多數管理策略131、策略暫存器133、快取策略選擇器132、及監視器電路134。比較圖5A之快取策略設定電路130a,圖5B之快取策略設定電路130b可額外包括監視器電路134。圖5B之快取策略設定電路130b可進行圖5A之快取策略設定電路130a之操作,及可基於監視器電路134之監視進一步進行操作。
當記憶體控制器200自外部裝置,例如主機系統接收存取請求REQ_ACC時,記憶體控制器200可產生包括寫入或讀取指令的操作指令CMD_OP及提供操作指令CMD_OP給記憶體裝置100b。操作指令CMD_OP可包括例如寫入指令CMD_WR或讀取指令CMD_RD。
監視器電路134可分析針對記憶體裝置100b請求的操作模式。監視器電路134可監視所接收的操作指令CMD_OP或資料輸入及輸出。基於監視結果,監視器電路134可分析針對記憶體裝置100b請求的操作模式或工作負載。監視器電路134可提供分析結果給快取策略選擇器132。
基於分析結果,快取策略選擇器132可判定是否改變先前設定的快取策略。當快取策略選擇器132判定需要改變快取策略時,快取策略選擇器132可基於分析結果而選擇該等多數管理策略131中之至少一者。
圖6為圖5B之監視器電路134之一具體實施例的方塊圖。
參考圖6,監視器電路134a可包括計數器10及模式分析器20。計數器10可計數所接收的操作指令CMD_OP。詳言之,操作指令CMD_OP可包括寫入指令CMD_WR及讀取指令CMD_RD,及計數器10可計數寫入指令CMD_WR及讀取指令CMD_RD中之各者。
依據一實施例,計數器10可計數在一預先設定時間內接收的寫入指令CMD_WR及讀取指令CMD_RD中之各者。依據另一實施例,計數器10可循序地只計數預定數目的所接收存取請求,換言之,寫入指令CMD_WR及讀取指令CMD_RD,及可分開寫入指令CMD_WR的數目及讀取指令CMD_RD的數目。
模式分析器20可基於計數寫入指令CMD_WR及讀取指令CMD_RD之結果而分析操作模式。當寫入指令CMD_WR之計數數目係等於或高於預設臨界值,或寫入請求對總存取請求之比,換言之,計數得的寫入指令CMD_WR對計數得的寫入指令CMD_WR及讀取指令CMD_RD之比係等於或高於臨界值時,模式分析器20可分析該寫入請求為頻繁。
當基於分析結果出現快取失誤時,快取策略設定電路130b可選擇一管理策略用於從多數快取行中偏好選擇一未更動快取行作為犧牲快取行,及基於所選擇的管理策略,可改變快取策略。
如上顯示,已經參考圖6描述圖5B之監視器電路134之實施例。然而,此僅為一個實施例,及於本發明構想之技術範圍內可以各種方式改變監視器電路134之結構及操作。
圖7A及7B為依據一具體實施例,用於描述記憶體裝置100之操作的視圖。圖7A為用於描述透過記憶體裝置100判定快取命中之操作的視圖,及圖7B為用於描述當出現快取失誤時置換一快取行之操作的視圖。
參考圖7A,記憶體裝置100可基於接收的作用態指令及索引INDEX而啟用對應該索引INDEX的一列,及將儲存於對應該索引INDEX的該列中之資料塊載入列緩衝器150。載入的資料塊可包括該所選擇列的快取行152及對應該等快取行152的元資料151。元資料151可包括對應所載入快取行152的標籤TAG及狀態資訊塊VB及DB。
藉由比較元資料151的標籤T1至Tn及有效資訊V1至Vn與所接收的標籤TAG,快取邏輯120可判定快取命中。快取邏輯120可選擇對應於與所接收的標籤TAG匹配之一標籤TAG_S之一快取行。經選擇的快取行及匹配標籤TAG_S的資料DATA之至少一部分可輸出到記憶體裝置100外部。
參考圖7B,當出現快取失誤時,快取邏輯120可基於由快取策略設定電路130所設定的快取策略CP而置換快取行。快取邏輯120可基於置換策略而從快取策略CP中選擇一犧牲快取行。列緩衝器150可置換快取行。列緩衝器150可將所選擇犧牲快取行之資料DATA及對應犧牲快取行之標籤TAG_S輸出至記憶體裝置100外部,及接收新快取行的資料DATA及標籤TAG_S。其後,記憶體胞元陣列110可被預充電。因載入列緩衝器150的快取行及元資料係儲存於對應索引INDEX之該列,故儲存於索引INDEX的資料可被更新。
圖8至11為依據一具體實施例記憶體裝置100之操作的流程圖。
詳言之,圖8及9為依據實施例,透過記憶體裝置100改變快取策略之操作的流程圖。
參考圖8,於操作S110中,記憶體裝置(圖2之100)可基於預設快取策略而管理多數快取行。舉例言之,可於策略暫存器(圖5A之133)中設定內定值,基於該內定值的管理策略可從多數管理策略中選擇,及基於所選擇的管理策略可設定快取策略。
於操作S120中,快取策略設定指令可接收自記憶體控制器(圖2之200)。於操作S130中,當基於該快取策略設定指令的一快取策略係與預設快取策略不同時,記憶體裝置100可改變快取策略。舉例言之,快取策略選擇器(圖5A之132)可選擇對應於該快取策略設定指令的該等多數管理策略中之至少一者,及提供指示所選擇管理策略之有關資訊之值給策略暫存器133。
於操作S140中,記憶體裝置100可基於已改變的快取策略而管理該等多數快取行。
參考圖9,於操作S210中,記憶體裝置100可基於預設快取策略而管理多數快取行。於操作S220中,記憶體裝置100可監視所接收的寫入及讀取指令及分析操作模式。依據一實施例,記憶體裝置100可定期分析操作模式。依據一實施例,記憶體裝置100可在自記憶體控制器200接收一操作指令之後的某一段時間期間(例如,預設時間期間)分析操作模式。
於操作S230中,基於操作模式,記憶體裝置100可判定快取策略是否需被改變。基於操作模式,記憶體裝置100可判定快取策略用於改良快取效能,且可判定預設快取策略是否對應於基於操作模式所決定的快取策略。
當預設快取策略並不對應於基於操作模式所決定的快取策略時,記憶體裝置100可判定快取策略須被改變,及於操作S240中,改變快取策略。然後,於操作S250中,記憶體裝置100可基於已改變的快取策略管理該等多數快取行。
圖10為依據一具體實施例,記憶體裝置100之一操作的流程圖。詳言之,圖10顯示當記憶體裝置100接收讀取指令時,透過記憶體裝置100,決定快取命中及置換快取行之操作。
參考圖10,於操作S310中,記憶體裝置100可自記憶體控制器(圖2之200)接收一作用態指令及一索引。
於操作S320中,記憶體裝置100可讀取對應於接收自記憶體胞元陣列110之一索引的快取行、標籤及狀態資訊。舉例言之,讀取資料可載入列緩衝器150。
當於操作S330中讀取指令及標籤係接收自記憶體控制器(圖2之200)時,於操作S340中,記憶體裝置100可判定快取命中。記憶體裝置100可搜尋一標籤其藉由比較載入列緩衝器150的標籤與所接收的標籤為匹配,及當對應匹配標籤的快取行為有效時,可判定快取命中。當沒有匹配的標籤,或對應匹配標籤的快取行為無效時,記憶體裝置100可判定快取失誤。
於操作S350中,當出現快取失誤時,記憶體裝置100可選擇對應於該標籤的一快取行及輸出所選擇快取行的資料。又,記憶體裝置100可輸出匹配的標籤。
於操作S370中,當出現快取失誤時,記憶體裝置100可置換快取行。於操作S360中,記憶體裝置100可基於所設定的快取置換策略而選擇一犧牲快取行。當犧牲快取行係於更動態時,犧牲快取行之資料可儲存於主記憶體中。然後,記憶體裝置100可自主記憶體中讀取包括要求存取的資料的一快取行,及對應該快取行的一標籤,及以犧牲快取行儲存的途徑而儲存該快取行及標籤。
圖11為依據一具體實施例一操作方法之流程圖。詳言之,圖11以進一步細節例示選擇圖10之犧牲快取行的操作之一實施例。
參考圖11,於操作S361中,當出現快取失誤時,記憶體裝置100可基於快取置換策略而搜尋犧牲快取行。記憶體裝置100可從載入列緩衝器150的快取行中搜尋欲選用作為犧牲快取行的快取行。舉例言之,當快取置換策略係基於管理策略偏好選擇未更動快取行作為置換快取行而設定時,未更動快取行可從載入列緩衝器150的快取行中搜尋。
於操作S362中,記憶體裝置100可判定是否有對應快取置換策略的一快取行。當有對應快取置換策略的該快取行時,於操作S363中,記憶體裝置100可選擇該快取行作為犧牲快取行,及於操作S370中置換該快取行。
當沒有對應快取置換策略的快取行時,於操作S364中,記憶體裝置100可發射一失敗信號,指示記憶體控制器200未找到犧牲快取行及於操作S365中,可改變快取置換策略。依據一實施例,記憶體裝置100可自記憶體控制器200重新接收一快取策略設定指令,及基於所接收的快取策略設定指令而改變快取置換策略。依據一實施例,記憶體裝置100可基於設定作為內定的管理策略而改變快取置換策略。其後,於操作S366中,記憶體裝置100可基於已改變的快取置換策略重新搜尋犧牲快取行及選擇對應於該快取置換策略的一快取行作為犧牲快取行。
圖12為依據一具體實施例一記憶體系統之操作的流程圖。
參考圖12,於操作S410中,記憶體裝置100可設定一內定快取策略。舉例言之,內定快取策略可基於對應於儲存在策略暫存器(圖5A之133)的一內定值的管理策略而予設定。
於操作S420中,記憶體控制器200可從記憶體裝置100請求一設定快取策略或有關快取策略的資訊。於操作S430中,記憶體裝置100可回應於記憶體控制器200的請求,發射該設定快取策略或有關快取策略的資訊給記憶體控制器200。於操作S440中,當快取策略被請求改變時,記憶體控制器200可發射一快取策略設定指令給記憶體裝置100。舉例言之,當適用於來自主機系統請求的一操作的一快取策略係與記憶體裝置100中預設的快取策略不同時,記憶體控制器200可發射快取策略設定指令用於設定由主機系統所要求的該快取策略。
於操作S450中,記憶體裝置100可基於所接收的快取策略設定指令而改變快取策略。依據一實施例,當自主機系統請求的操作為暫態時,記憶體控制器200可暫時改變快取策略,及當來自主機系統所請求的操作完成時,記憶體控制器200可將該快取策略再度改變成內定快取策略。
圖13為依據一具體實施例記憶體裝置100c的方塊圖。
圖13例示圖3之記憶體裝置100的另一實施例。於圖3之記憶體裝置100及圖13之記憶體裝置100c中具有相同元件符號的組件係具有相同操作,及如此,將刪除其描述。
參考圖13,記憶體裝置100c可包括第一記憶體胞元陣列111及第二記憶體胞元陣列112。又,記憶體裝置100c可包括連結到第一記憶體胞元陣列111的第一列解碼器141、第一列緩衝器150_1、及第一行解碼器161,及連結到第二記憶體胞元陣列112的第二列解碼器142、第二列緩衝器150_2、及第二行解碼器162。
第二記憶體胞元陣列112可儲存多數快取行,及第一記憶體胞元陣列111可儲存分別地對應於該等多數快取行的多數標籤TAG。具有相同索引的多數快取行CL1至CLn及多數標籤T1至Tn可涵括於一個集合中。第一列解碼器141及第二列解碼器142可接收相同列位址X-ADDR且可回應於所接收的列位址X-ADDR操作。
具有相同索引的多數快取行CL1至CLn及多數標籤T1至Tn各自可被載入第一列緩衝器150_1及第二列緩衝器150_2中。快取邏輯120可比較載入第一列緩衝器150_1中之多數標籤T1至Tn與一接收的標籤TAG,及透過第二行解碼器162提供指示對應於該匹配標籤的一快取行之一位址的一第二行位址Y-ADDR2給第二列緩衝器150_2。又,快取邏輯120可透過第一行解碼器161提供指示對應於該匹配標籤的一快取行之一位址的一第一行位址Y-ADDR1給第一列緩衝器150_1。第一列緩衝器150_1及第二列緩衝器150_2各自可輸出標籤TAG及資料DATA。又,第一列緩衝器150_1及第二列緩衝器150_2可將所接收的標籤TAG及資料DATA分別地載入到第一列緩衝器150_1及第二列緩衝器150_2中分別地由第一行位址Y-ADDR1及第二行位址Y-ADDR2指示的位置上。
圖14為依據一具體實施例記憶體裝置100d的一方塊圖。圖14例示圖3之記憶體裝置100的另一實施例。於圖3之記憶體裝置100及圖14之記憶體裝置100d中具有相同元件符號的組件係具有相同操作,及因而將不再重複其描述。
參考圖14,記憶體裝置100d可包括多數排組BANK0至BANK3。該等多數排組BANK0至BANK3各自可包括記憶體胞元陣列110、列解碼器140、列緩衝器150、快取邏輯120、快取策略設定電路130、及行解碼器160。據此,該等多數排組BANK0至BANK3各自可基於不同的快取策略而進行快取操作。同時,為了選擇該等多數排組BANK0至BANK3中之一者,記憶體裝置100d可包括排組控制邏輯195。由記憶體裝置100d接收的一索引INDEX的部分位元可提供給排組控制邏輯195作為一排組位址B-ADDR。排組控制邏輯195可基於該排組位址B-ADDR選擇該等多數排組BANK0至BANK3中之至少一者。於此具體實施例中,雖然只例示四個排組BANK0至BANK3,但本揭示並非受此所限。
圖15為依據一具體實施例一記憶體模組3000的視圖。
參考圖15,記憶體模組3000可包括多數第一記憶體3100、至少一個第二記憶體3200、一暫存器(RCD)3300、及一分接頭3400。記憶體模組3000可以是暫存雙列模組(RDIM)。圖15例示九個記憶體3100及3200。然而,本發明構想並非受此所限。記憶體3100及3200之數目可基於記憶體模組3000的結構及I/O組態決定。
多數第一記憶體3100可儲存多數快取行CL。該等多數快取行CL各自可以分散方式儲存於該等多數第一記憶體3100中。換言之,一個快取行的位元可分散及儲存於該等多數第一記憶體3100中,及一個第一記憶體3100可儲存該等多數快取行之部分位元。
第二記憶體3200可儲存對應於該等多數快取行CL之多數標籤TAG。第二記憶體3200可包括快取邏輯CLGC及一快取策略設定電路CPSC。如根據實施例之描述,該快取策略設定電路CPSC可設定快取策略及改變快取策略。快取邏輯CLGC可基於涵括於一位址ADDR中之一標籤而判定快取命中,及當出現快取命中時,提供途徑資訊WIFO,於其中對應於匹配標籤的一快取行係儲存於暫存器3300。當出現快取失誤時,快取邏輯CLGC可基於該快取策略擇定一犧牲快取行且提供途徑資訊WIFO,於其中犧牲快取行係儲存於暫存器3300。
暫存器3300可控制記憶體模組3000的一般操作。暫存器3300可接收時鐘CLK、指令CMD、及位址ADDR。暫存器3300可提供時鐘CLK、列位址X-ADDR、及控制信號CTRL給該等多數第一記憶體3100及第二記憶體3200。又,暫存器3300可基於接收自第二記憶體3200的途徑資訊WIFO而產生行位址Y-ADDR,及提供所產生的行位址Y-ADDR給該等多數第一記憶體3100及第二記憶體3200。
該等多數第一記憶體3100可將儲存在自暫存器3300提供的對應該列位址X-ADDR的一列中之快取行CL載入至一內部列緩衝器,及從載入至該列緩衝器的該等快取行CL輸出對應該行位址Y-ADDR的該快取行之資料DATA。
第二記憶體3200可將儲存在對應該列位址X-ADDR的標籤TAG載入至一內部列緩衝器,及從載入至該列緩衝器的該等標籤TAG輸出對應該行位址Y-ADDR的該標籤TAG。
分接頭3400可形成於記憶體模組3000之基體的緣部。分接頭3400可包括一連接終端,其於多數也稱作分接針腳。指令/位址信號輸入針腳、時鐘輸入針腳、及資料輸入/輸出信號針腳可分配給該分接頭3400。
後文中,將參考圖16及17以進一步細節描述圖15之記憶體模組3000的操作。
圖16及17為圖15之記憶體模組3000之操作的流程圖。
參考圖16,於操作S510中,暫存器3300可接收一作用態指令及一索引。於操作S520中,暫存器3300可基於一索引發射一列位址X-ADDR給該等多數第一記憶體3100及該至少一個第二記憶體3200。於操作S530中,該等多數第一記憶體3100中之各者及該至少一個第二記憶體3200可將由列位址X-ADDR指示的一列資料載入至內部列緩衝器。該等多數第一記憶體3100可將多數快取行載入至列緩衝器,及該第二記憶體3200可將對應於該等多數快取行的標籤載入至列緩衝器。
其後,於操作S540中,第二記憶體3200可接收一讀取指令及一標籤。依據一實施例,第二記憶體3200可從指令/位址信號輸入針腳直接接收一讀取指令及一標籤。依據另一實施例,暫存器3300可接收讀取指令及標籤,及提供所接收的讀取指令及標籤給第二記憶體3200。
於操作S550中,第二記憶體3200藉由比較載入至列緩衝器的標籤與所接收的標籤可判定快取命中。於操作S560中,當出現快取命中時,第二記憶體3200可提供匹配標籤的途徑資訊WIFO(或對應於匹配標籤的一快取行之途徑資訊WIFO)給暫存器3300。
於操作S570中,暫存器3300可提供對應於途徑資訊WIFO的行位址Y-ADDR給該等多數第一記憶體3100中之各者及該第二記憶體3200。
於操作S580中,該等多數第一記憶體3100及該第二記憶體3200,可自載入該列緩衝器的資料,輸出對應於行位址Y-ADDR的資料。該等多數第一記憶體3100可輸出一擇定快取行的資料DATA,及該第二記憶體3200可輸出對應該擇定快取行的標籤TAG。
參考圖17,於操作S610中,當出現快取失誤時,第二記憶體3200可基於一設定快取置換策略選擇一犧牲快取行,及於操作S620中,提供該犧牲快取行的途徑資訊WIFO給暫存器3300。
於操作S630中,暫存器3300可提供對應於途徑資訊WIFO的行位址Y-ADDR給該等多數第一記憶體3100中之各者及該第二記憶體3200。當犧牲快取行係於更動態時,快取行須儲存於主記憶體中,及因此,該等多數第一記憶體3100中之各者及該第二記憶體3200可自載入各個列緩衝器的資料,輸出對應於行位址Y-ADDR的資料。換言之,於操作S640中,該等多數第一記憶體3100中之各者及該第二記憶體3200可輸出犧牲快取行的資料及標籤。所輸出的犧牲快取行之資料及標籤可提供給記憶體控制器或主記憶體。
其後,於操作S650中,該等多數第一記憶體3100中之各者及該第二記憶體3200可將所接收的資料或標籤載入各列緩衝器的一區,係對應於行位址Y-ADDR,及於操作S660中,可將各列緩衝器的資料儲存於對應於一索引的一列中以便置換該快取行。
圖18為依據一具體實施例一記憶體模組3000a的視圖。圖18例示圖15之記憶體模組3000的另一個實施例。
記憶體模組3000a之該等多數第一記憶體3100的操作可與圖15之記憶體模組3000之該等多數第一記憶體3100的操作相同,及因而將不再重複其說明。
記憶體模組3000a可包括至少一個第二記憶體3200a,及第二記憶體3200a可儲存多數標籤TAG,及可包括快取邏輯CLGC、快取策略設定電路CPSC、及位址轉換電路ACC。位址轉換電路ACC可進行圖15之暫存器3300的部分功能。位址轉換電路ACC可接收一位址信號ADDR,及基於涵括於該位址信號ADDR中之一索引而產生一列位址X-ADDR。又,位址轉換電路ACC可基於選擇的快取行之途徑資訊而產生一行位址Y-ADDR。第二記憶體3200a可提供列位址X-ADDR、行位址Y-ADDR、時鐘CLK、及控制信號CTRL給該等多數第一記憶體3100。
圖19為依據一具體實施例一記憶體模組4000的視圖。
參考圖19,記憶體模組4000可包括多數記憶體4100。記憶體模組4000可以是負載減輕雙列模組(LRDIM)。圖15例示記憶體模組4000包括九個記憶體4100。然而本發明構想並非受此所限。記憶體4100之數目可根據記憶體模組4000的結構及I/O組態決定。
記憶體4100各自可儲存多數快取行CL及對應於該等多數快取行CL的多數標籤TAG。記憶體4100各自可包括快取邏輯CLGC及快取策略設定電路CPSC。
依據一具體實施例,該等多數快取行CL中之各者及該等多數標籤TAG可以分散方式儲存於該等多數記憶體4100中。舉例言之,一個快取記憶體及一個標籤的位元可分散於及儲存於該等多數記憶體4100中,及一個記憶體4100可儲存該等多數快取行CL及該等多數標籤TAG之若干位元。該等多數記憶體4100可接收相同索引及標籤且以相同方式操作。
依據另一具體實施例,不同快取行及標籤TAG可儲存於該等多數記憶體4100中。換言之,圖2之記憶體裝置100可施加至該等多數記憶體4100,及該等多數記憶體4100各自可分開操作。
如上示,已經參考圖15至19描述依據該等實施例的記憶體模組3000、3000a、及4000。然而,記憶體模組3000、3000a、及4000為釋例性,及於本發明構想之技術範圍以內,記憶體模組之結構及操作可以各種方式改變。
圖20至22為依據具體實施例一計算系統的方塊圖。
參考圖20,計算系統5100可包括CPU 5010、第一記憶體系統5020、第二記憶體系統5030、用戶介面5040、數據機5050、及匯流排5060。此外,計算系統5100可進一步包括各種其它組件。第一記憶體系統5020、第二記憶體系統5030、用戶介面5040、及數據機5050可電氣連結到匯流排5060且可透過匯流排5060彼此交換資料及信號。
CPU 5010可進行計算及計算系統5100的資料處理及控制。
第一記憶體系統5020可包括第一記憶體控制器5021及快取記憶體5022。圖2之記憶體系統1500可施加作為第一記憶體系統5020。第一記憶體控制器5021可在快取記憶體5022與計算系統5100之其它組件例如,CPU 5010、用戶介面5040、或數據機5050間提供一介面。
參考圖2至19描述的記憶體裝置或記憶體模組可施加作為快取記憶體5022。快取記憶體5022可包括快取邏輯CLGC及快取策略設定電路CPSC。依據一實施例,快取記憶體5022可基於一頁面讀取及寫入資料。依據一實施例,快取記憶體5022可包括一DRAM胞元。
第二記憶體系統5030可包括第二記憶體控制器5031及主記憶體5032。第二記憶體控制器5031可提供主記憶體5032與計算系統5100之其它組件間的一介面。主記憶體5032可包括與快取記憶體5022同質的或異質的一記憶體胞元陣列。主記憶體5032之操作速度可等於或低於快取記憶體5022之操作速度。依據一實施例,主記憶體5032可包括非依電性記憶體胞元。
用戶介面5040可與計算系統5100的外部交換信號。舉例言之,用戶介面5040可包括用戶輸入介面,諸如鍵盤、數字小鍵盤、按鈕、觸控面板、觸控螢幕、麥克風、振動感測器等。用戶介面5040可包括用戶輸出介面,諸如液晶顯示器(LCD)、有機發光二極體(OLED)、主動矩陣OLED(AMOLED)、發光二極體(LED)、揚聲器、馬達等。
數據機5050可根據CPU 5010之控制而與外部裝置進行無線或有線通訊。數據機5050可基於下列通訊標準中之至少一者進行通訊:諸如Wifi、劃碼多向接取(CDMA)、全球行動通訊系統(GSM)、長期演進(LTE)、藍牙、近場通信(NFC)等。
參考圖21,計算系統5200可包括CPU 5010、記憶體系統5070、用戶介面5040、數據機5050、及匯流排5060。
記憶體系統5070可包括記憶體控制器5071、快取記憶體5072、及主記憶體5073。快取記憶體5072可包括參考圖2至19描述的記憶體裝置或記憶體模組。如於圖21中例示,記憶體控制器5071可提供有關快取記憶體5072及主記憶體5073的介面,及控制快取記憶體5072及主記憶體5073。如上顯示,快取記憶體5072及主記憶體5073可由相同的記憶體控制器加以控制。
參考圖22,計算系統5300可包括CPU 5010、記憶體系統5080、用戶介面5040、數據機5050、及匯流排5060。記憶體系統5080可包括記憶體控制器5081、快取記憶體5082、及主記憶體5083。快取記憶體5082可包括參考圖2至19描述的記憶體裝置或記憶體模組。快取記憶體5082及主記憶體5083可由記憶體控制器5081控制。如於圖22中例示,快取記憶體5082及主記憶體5083可連結到相同通道,亦即,相同資料發射線。據此,當資料在快取記憶體5082及主記憶體5083間交換時,諸如當快取行被置換時,資料可在快取記憶體5082及主記憶體5083間直接發射與接收,而無需通過記憶體控制器5081。
圖23為依據一具體實施例一行動系統6000的方塊圖。
參考圖23,行動系統6000可包括應用處理器6100、快取記憶體6200、主記憶體6300、顯示器6400、及數據機6500。
應用處理器6100可控制要求在行動系統6000中執行的操作。應用處理器6100可包括CPU 6111、數位信號處理器(DSP)6112、系統記憶體6113、記憶體控制器6114、顯示控制器6115、通訊介面6116、及電氣連結該CPU 6111、DSP 6112、系統記憶體6113、記憶體控制器6114、顯示控制器6115、及通訊介面6116的匯流排。依據一實施例,應用處理器6100可實現為單晶片系統(SoC)。
CPU 6111可進行計算及應用處理器6100的資料處理與控制。DSP 6112可以高速進行數位信號處理,及部分地進行計算及應用處理器6100的資料處理與控制。
系統記憶體6113可載入CPU 6111之操作要求的資料。系統記憶體6113可實現為SRAM、DRAM、MRAM、FRAM、RRAM等。
記憶體控制器6114可提供在應用處理器6100與快取記憶體6200及主記憶體6300間之介面。主記憶體6300可使用作為應用處理器6100的操作記憶體。舉例言之,根據於應用處理器6100中執行的應用程式之資料可被載入主記憶體6300。依據一實施例,主記憶體6300可以是非依電性記憶體。
快取記憶體6200可包括參考圖2至19描述的記憶體裝置或記憶體模組。快取記憶體6200可根據使用環境而動態地改變快取策略,及因而可提高行動系統6000之效能及主記憶體6300的可信度。
圖23例示記憶體控制器6114連結到主記憶體6300及快取記憶體6200。然而,本發明構想並非受此所限。應用處理器6100可進一步包括控制快取記憶體6200的額外記憶體控制器。
顯示控制器6115可提供應用處理器6100與顯示器6400間之介面。顯示器6400可包括平面顯示器或可撓性顯示器,諸如觸控螢幕、LCD、OLED、AMOLED、LED等。
通訊介面6116可提供應用處理器6100與數據機6500間之介面。數據機6500可支援使用以下各種通訊協定中之至少一者通訊:諸如Wifi、LTE、藍牙、射頻識別(RFID)、紅外線資料關聯(IrDA)、超寬頻(UWB)、紫蜂(Zigbee)、Wi-fi直接(WFD)、NFC等。透過通訊介面6116及數據機6500,應用處理器6100可與其它電子裝置或其它系統通訊。
雖然已經參考其實施例特別地顯示及描述本發明構想,但須瞭解不背離下列申請專利範圍之精髓及範圍可於其中做出形式上及細節上的各種變化。
10‧‧‧計數器
20‧‧‧模式分析器
100、100a-d‧‧‧記憶體裝置
110、111、112‧‧‧記憶體胞元陣列
120‧‧‧快取邏輯
130、130a-b‧‧‧快取策略設定電路
131‧‧‧管理策略
132‧‧‧快取策略選擇器
133‧‧‧策略暫存器
134、134a‧‧‧監視器電路
140、141、142‧‧‧列解碼器
150、150_1、150_2‧‧‧列緩衝器
151‧‧‧元資料
152‧‧‧快取行
160、161、162‧‧‧行解碼器
170‧‧‧輸入及輸出緩衝器
180‧‧‧指令解碼器
190‧‧‧位址暫存器
195‧‧‧排組控制邏輯
200、5021、5031、5071、5081、6114‧‧‧記憶體控制器
300、1300、5032、5073、5083、6300‧‧‧主記憶體
301-30k‧‧‧區塊
1000‧‧‧電子系統
1100、5022、5072、5082、6200‧‧‧快取記憶體
1200‧‧‧主機系統
1210、5010、6111‧‧‧中央處理單元(CPU)
1220‧‧‧智慧財產(IP)
1500、5020、5030、5070、5080‧‧‧記憶體系統
3000、3000a、4000‧‧‧記憶體模組
3100、3200、3200a、4100‧‧‧記憶體
3300‧‧‧暫存器(RCD)
3400‧‧‧分接頭
5040‧‧‧用戶介面
5050、6500‧‧‧數據機
5060‧‧‧匯流排
5100、5200、5300‧‧‧計算系統
6000‧‧‧行動系統
6100‧‧‧應用處理器
6112‧‧‧數位信號處理器(DSP)
6113‧‧‧系統記憶體
6115‧‧‧顯示控制器
6116‧‧‧通訊介面
6400‧‧‧顯示器
ACC‧‧‧位址轉換電路
ADDR‧‧‧位址信號
B-ADDR‧‧‧排組位址
BANK0-3‧‧‧排組
BL‧‧‧位元線
CKE‧‧‧時鐘致能信號
CL、CL1-n‧‧‧快取行
CLGC‧‧‧快取邏輯
CLK‧‧‧時鐘
CMD‧‧‧指令信號
CMD_CP‧‧‧快取策略設定指令
CMD_OP‧‧‧操作指令
CMD_RD‧‧‧讀取指令
CMD_WR‧‧‧寫入指令
CP‧‧‧快取策略
CPSC‧‧‧快取策略設定電路
CTRL‧‧‧控制信號
/CAS‧‧‧行位址選通信號
/CS‧‧‧晶片選擇信號
DATA‧‧‧資料
INDEX‧‧‧索引
MEM_ADDR‧‧‧記憶體位址
MP1-3‧‧‧管理策略
OFFSET‧‧‧偏位
REQ_PC‧‧‧快取策略改變請求
/RAS‧‧‧列位址選通信號
S110-140、S210-250、S310-370、S410-450、S510-580、S610-660‧‧‧操作
SET‧‧‧集合
TAG、TAG_S、T1-Tn‧‧‧標籤
V1-Vn‧‧‧有效資訊
WAY1-n‧‧‧途徑
WIFO‧‧‧途徑資訊
/WE‧‧‧寫入致能信號
X-ADDR‧‧‧列位址
Y-ADDR、Y-ADDR1~2‧‧‧行位址
20‧‧‧模式分析器
100、100a-d‧‧‧記憶體裝置
110、111、112‧‧‧記憶體胞元陣列
120‧‧‧快取邏輯
130、130a-b‧‧‧快取策略設定電路
131‧‧‧管理策略
132‧‧‧快取策略選擇器
133‧‧‧策略暫存器
134、134a‧‧‧監視器電路
140、141、142‧‧‧列解碼器
150、150_1、150_2‧‧‧列緩衝器
151‧‧‧元資料
152‧‧‧快取行
160、161、162‧‧‧行解碼器
170‧‧‧輸入及輸出緩衝器
180‧‧‧指令解碼器
190‧‧‧位址暫存器
195‧‧‧排組控制邏輯
200、5021、5031、5071、5081、6114‧‧‧記憶體控制器
300、1300、5032、5073、5083、6300‧‧‧主記憶體
301-30k‧‧‧區塊
1000‧‧‧電子系統
1100、5022、5072、5082、6200‧‧‧快取記憶體
1200‧‧‧主機系統
1210、5010、6111‧‧‧中央處理單元(CPU)
1220‧‧‧智慧財產(IP)
1500、5020、5030、5070、5080‧‧‧記憶體系統
3000、3000a、4000‧‧‧記憶體模組
3100、3200、3200a、4100‧‧‧記憶體
3300‧‧‧暫存器(RCD)
3400‧‧‧分接頭
5040‧‧‧用戶介面
5050、6500‧‧‧數據機
5060‧‧‧匯流排
5100、5200、5300‧‧‧計算系統
6000‧‧‧行動系統
6100‧‧‧應用處理器
6112‧‧‧數位信號處理器(DSP)
6113‧‧‧系統記憶體
6115‧‧‧顯示控制器
6116‧‧‧通訊介面
6400‧‧‧顯示器
ACC‧‧‧位址轉換電路
ADDR‧‧‧位址信號
B-ADDR‧‧‧排組位址
BANK0-3‧‧‧排組
BL‧‧‧位元線
CKE‧‧‧時鐘致能信號
CL、CL1-n‧‧‧快取行
CLGC‧‧‧快取邏輯
CLK‧‧‧時鐘
CMD‧‧‧指令信號
CMD_CP‧‧‧快取策略設定指令
CMD_OP‧‧‧操作指令
CMD_RD‧‧‧讀取指令
CMD_WR‧‧‧寫入指令
CP‧‧‧快取策略
CPSC‧‧‧快取策略設定電路
CTRL‧‧‧控制信號
/CAS‧‧‧行位址選通信號
/CS‧‧‧晶片選擇信號
DATA‧‧‧資料
INDEX‧‧‧索引
MEM_ADDR‧‧‧記憶體位址
MP1-3‧‧‧管理策略
OFFSET‧‧‧偏位
REQ_PC‧‧‧快取策略改變請求
/RAS‧‧‧列位址選通信號
S110-140、S210-250、S310-370、S410-450、S510-580、S610-660‧‧‧操作
SET‧‧‧集合
TAG、TAG_S、T1-Tn‧‧‧標籤
V1-Vn‧‧‧有效資訊
WAY1-n‧‧‧途徑
WIFO‧‧‧途徑資訊
/WE‧‧‧寫入致能信號
X-ADDR‧‧‧列位址
Y-ADDR、Y-ADDR1~2‧‧‧行位址
本發明構想之實施例從結合附圖所做後文詳細說明部分將更明白瞭解。
圖1為依據一具體實施例一電子系統的示意方塊圖;
圖2為依據一具體實施例一記憶體系統的方塊圖;
圖3為依據一具體實施例一記憶體裝置的方塊圖;
圖4A為用於描述圖1之快取記憶體與主記憶體之資料對映的視圖;
圖4B為用於存取圖1之快取記憶體的一位址結構之一釋例的視圖;
圖5A及5B為依據具體實施例快取策略設定電路的方塊圖;
圖6為圖5B之一監視器電路之一實施例的方塊圖;
圖7A及7B為依據一具體實施例用於描述一記憶體裝置之操作的視圖;
圖8至11為依據一具體實施例一記憶體裝置之操作的流程圖;
圖12為依據一具體實施例一記憶體系統之操作的流程圖;
圖13及14為依據具體實施例一記憶體裝置的電路圖;
圖15為依據一具體實施例一記憶體模組的視圖;
圖16及17為依據一具體實施例一記憶體模組之操作的流程圖;
圖18為依據一具體實施例一記憶體模組的視圖;
圖19為依據一具體實施例一記憶體模組的視圖;
圖20至22為依據具體實施例一計算系統的方塊圖;及
圖23為依據一具體實施例一行動系統的方塊圖。
100‧‧‧記憶體裝置
110‧‧‧記憶體胞元陣列
120‧‧‧快取邏輯
130‧‧‧快取策略設定電路
140‧‧‧列解碼器
150‧‧‧列緩衝器
160‧‧‧行解碼器
170‧‧‧輸入及輸出緩衝器
180‧‧‧指令解碼器
190‧‧‧位址暫存器
Claims (25)
- 一種記憶體裝置,其包含: 一胞元陣列,其儲存多數快取行及對應於該等多數快取行之多數標籤; 一快取策略設定電路,其從多數管理策略中選擇至少一個管理策略及基於該至少一個已選擇的管理策略而設定一快取策略;以及 快取邏輯,其基於該快取策略而管理該等多數快取行。
- 如請求項1之記憶體裝置,其中該快取策略設定電路藉由基於接收來自一外部裝置的一指令而從該等多數管理策略中選擇該等多數管理策略中之至少另一者而改變該快取策略。
- 如請求項1之記憶體裝置,其中該快取策略設定電路回應於接收來自一外部記憶體控制器的一快取策略設定指令而改變該快取策略。
- 如請求項3之記憶體裝置,其中該快取策略設定指令係透過一輸入及輸出針腳所接收,該輸入及輸出針腳係與一讀取指令及一寫入指令被接收所透過的一輸入及輸出針腳不同。
- 如請求項1之記憶體裝置,其中該快取策略設定電路經組配用以: 監視接收來自一外部記憶體控制器的一存取指令; 基於該存取指令之一監視結果而分析對該記憶體裝置所請求的一操作模式或工作負載;及 基於對該記憶體裝置所請求的該操作模式或工作負載之一分析結果而改變該快取策略。
- 如請求項1之記憶體裝置,其中該快取策略設定電路包含: 一策略選擇器,其選擇該等多數管理策略中之至少一者;及 一策略暫存器,其儲存有關該至少一個已選擇管理策略之資訊。
- 如請求項6之記憶體裝置,其中該快取策略設定電路進一步包含一監視器電路,其監視由該記憶體裝置所接收的一存取指令或資料輸入及輸出且分析對該記憶體裝置所請求的一操作模式。
- 如請求項1之記憶體裝置,其中當於一預定時間期間有關該記憶體裝置的一寫入請求被判定為等於或高於一臨界值時,該快取策略設定電路選擇一管理策略以供從該等多數快取行中選擇一未更動(clean)快取行作為一置換快取行。
- 如請求項1之記憶體裝置,其中該等多數管理策略包含多數置換策略、多數分配策略、及多數寫入策略中之至少一者。
- 如請求項1之記憶體裝置,其中該胞元陣列包含多數列,且該等多數列中之各者儲存該等多數快取行及對應於該等多數快取行的該等多數標籤。
- 如請求項10之記憶體裝置,其進一步包含一列緩衝器,其將儲存在基於一被接收的索引而選自於該等多數列中之一列中的該等多數快取行及該等多數標籤載入, 其中該快取邏輯基於被載入的該等多數標籤及一被接收的標籤而判定是否出現一快取命中。
- 如請求項11之記憶體裝置,其中當出現該快取命中時,該快取邏輯基於來自該等多數標籤中之一標籤的途徑而選擇該等多數快取行中之一者,該途徑係與該被接收的標籤匹配,以及 當出現一快取失誤時,該快取邏輯基於該快取策略而從該等多數快取行中選擇要被置換的一犧牲快取行。
- 如請求項1之記憶體裝置,其中該胞元陣列包含一動態隨機存取記憶體胞元。
- 一種記憶體模組,其包含: 儲存多數快取行的多數第一記憶體裝置;以及 一第二記憶體裝置,其儲存對應於該等多數快取行的多數快取標籤、從多數管理策略中選擇至少一個管理策略作為一快取策略、及基於該快取策略及該等多數快取標籤而管理該等多數快取行。
- 如請求項14之記憶體模組,其中該第二記憶體裝置藉由基於被接收的一快取設定指令或一操作指令從該等多數管理策略中選擇該等多數管理策略中之另一者而改變該快取策略。
- 如請求項14之記憶體模組,其中該等多數第一記憶體裝置及該第二記憶體裝置接收相同索引,且將對應於該索引的一列之該等多數快取行及該等多數快取標籤分別地載入至設置於該等多數第一記憶體裝置及該第二記憶體裝置中之列緩衝器上。
- 如請求項14之記憶體模組,其中該第二記憶體裝置包含: 一胞元陣列,其儲存該等多數快取標籤; 一快取策略設定電路,其基於該等多數管理策略而設定該快取策略;以及 快取邏輯,其基於該快取策略而判定是否出現一快取命中及選擇該等多數快取行中之一者。
- 如請求項17之記憶體模組,其進一步包含一暫存器從該第二記憶體裝置接收該被選擇的快取行之途徑資訊,及將有關該途徑資訊之一列位址提供給該等多數第一記憶體裝置。
- 如請求項17之記憶體模組,其中該第二記憶體裝置進一步包含一位址轉換電路,其基於接收來自該快取邏輯的該被選擇的快取行之途徑資訊而產生一列位址及將該列位址提供給該等多數第一記憶體裝置。
- 如請求項14之記憶體模組,其中該等多數第一記憶體裝置及該第二記憶體裝置中之至少一者包含含有排列成行及列的記憶體胞元之一記憶體胞元陣列。
- 一種記憶體裝置之操作方法,該操作方法包含: 基於一預設快取策略管理多數快取行; 接收來自該記憶體裝置外部的一記憶體控制器之一快取策略設定指令; 當基於該所接收的快取策略設定指令的一快取策略係與該預設快取策略不同時,藉由從多數管理策略中選擇一管理策略作為以供操作該記憶體裝置的一新快取策略而改變該預設快取策略;以及 基於該新快取策略而管理該等多數快取行。
- 如請求項21之操作方法,其中該預設快取策略之改變包含: 監視接收來自該記憶體控制器的一存取指令; 基於該存取指令之一監視結果而分析對該記憶體裝置所請求的一操作模式或工作負載;及 基於對該記憶體裝置所請求的該操作模式或工作負載之一分析結果而將該預設快取策略改變成該新快取策略。
- 如請求項21之操作方法,其中當於一預定時間期間有關該記憶體裝置之一寫入請求被判定為等於或高於一臨界值時,選擇一管理策略以供從該等多數快取行中選擇一未更動(clean)快取行作為一置換快取行。
- 如請求項21之操作方法,其中該等多數管理策略包含多數置換策略、多數分配策略、及多數寫入策略中之至少一者。
- 如請求項21之操作方法,其中該記憶體裝置為排列於該記憶體控制器與一主記憶體間之一快取記憶體,其中儲存於該主記憶體中之一部分資料係拷貝至該快取記憶體。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
??10-2016-0070997 | 2016-06-08 | ||
KR1020160070997A KR20170138765A (ko) | 2016-06-08 | 2016-06-08 | 메모리 장치, 메모리 모듈 및 메모리 장치의 동작 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201801088A true TW201801088A (zh) | 2018-01-01 |
Family
ID=60573969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106118520A TW201801088A (zh) | 2016-06-08 | 2017-06-05 | 記憶體裝置、記憶體模組、及記憶體裝置之操作方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20170357600A1 (zh) |
JP (1) | JP2017220242A (zh) |
KR (1) | KR20170138765A (zh) |
CN (1) | CN107491397A (zh) |
TW (1) | TW201801088A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113377684A (zh) * | 2020-03-09 | 2021-09-10 | 瑞昱半导体股份有限公司 | 数据写入系统与方法 |
TWI760702B (zh) * | 2020-03-03 | 2022-04-11 | 瑞昱半導體股份有限公司 | 資料寫入系統與方法 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2572158B (en) * | 2018-03-20 | 2020-11-25 | Advanced Risc Mach Ltd | Random tag setting instruction |
KR101936951B1 (ko) | 2018-04-11 | 2019-01-11 | 주식회사 맴레이 | 메모리 제어 장치 및 이를 포함하는 메모리 시스템 |
US10983922B2 (en) * | 2018-05-18 | 2021-04-20 | International Business Machines Corporation | Selecting one of multiple cache eviction algorithms to use to evict a track from the cache using a machine learning module |
KR102532084B1 (ko) * | 2018-07-17 | 2023-05-15 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 동작 방법, 이를 포함하는 스토리지 시스템 |
US11106609B2 (en) | 2019-02-28 | 2021-08-31 | Micron Technology, Inc. | Priority scheduling in queues to access cache data in a memory sub-system |
US11288199B2 (en) | 2019-02-28 | 2022-03-29 | Micron Technology, Inc. | Separate read-only cache and write-read cache in a memory sub-system |
US10908821B2 (en) | 2019-02-28 | 2021-02-02 | Micron Technology, Inc. | Use of outstanding command queues for separate read-only cache and write-read cache in a memory sub-system |
US10970222B2 (en) | 2019-02-28 | 2021-04-06 | Micron Technology, Inc. | Eviction of a cache line based on a modification of a sector of the cache line |
US10908915B1 (en) * | 2019-07-31 | 2021-02-02 | Micron Technology, Inc. | Extended tags for speculative and normal executions |
US11599384B2 (en) | 2019-10-03 | 2023-03-07 | Micron Technology, Inc. | Customized root processes for individual applications |
US11436041B2 (en) | 2019-10-03 | 2022-09-06 | Micron Technology, Inc. | Customized root processes for groups of applications |
CN110941569B (zh) * | 2019-11-18 | 2021-01-26 | 新华三半导体技术有限公司 | 数据处理方法、装置及处理器芯片 |
CN113392042B (zh) * | 2020-03-12 | 2024-04-09 | 伊姆西Ip控股有限责任公司 | 用于管理缓存的方法、电子设备和计算机程序产品 |
US11366752B2 (en) | 2020-03-19 | 2022-06-21 | Micron Technology, Inc. | Address mapping between shared memory modules and cache sets |
JP2022049406A (ja) | 2020-09-16 | 2022-03-29 | キオクシア株式会社 | 磁気記憶装置 |
US11836087B2 (en) * | 2020-12-23 | 2023-12-05 | Micron Technology, Inc. | Per-process re-configurable caches |
KR20220135560A (ko) * | 2021-03-30 | 2022-10-07 | 삼성전자주식회사 | 메모리를 관리하기 위한 전자 장치 및 그의 동작 방법 |
US11782851B2 (en) * | 2021-09-01 | 2023-10-10 | Micron Technology, Inc. | Dynamic queue depth adjustment |
CN113641626B (zh) * | 2021-10-18 | 2022-02-18 | 睿思芯科(深圳)技术有限公司 | 一种sram读写控制方法及行缓冲控制器 |
US20230214323A1 (en) * | 2021-12-30 | 2023-07-06 | Micron Technology, Inc. | Selectable cache writing policies for cache management |
-
2016
- 2016-06-08 KR KR1020160070997A patent/KR20170138765A/ko unknown
-
2017
- 2017-05-11 CN CN201710328968.0A patent/CN107491397A/zh not_active Withdrawn
- 2017-05-25 US US15/604,944 patent/US20170357600A1/en not_active Abandoned
- 2017-06-05 TW TW106118520A patent/TW201801088A/zh unknown
- 2017-06-08 JP JP2017113223A patent/JP2017220242A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI760702B (zh) * | 2020-03-03 | 2022-04-11 | 瑞昱半導體股份有限公司 | 資料寫入系統與方法 |
US11500776B2 (en) | 2020-03-03 | 2022-11-15 | Realtek Semiconductor Corporation | Data write system and method with registers defining address range |
CN113377684A (zh) * | 2020-03-09 | 2021-09-10 | 瑞昱半导体股份有限公司 | 数据写入系统与方法 |
CN113377684B (zh) * | 2020-03-09 | 2024-03-08 | 瑞昱半导体股份有限公司 | 数据写入系统与方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170357600A1 (en) | 2017-12-14 |
JP2017220242A (ja) | 2017-12-14 |
KR20170138765A (ko) | 2017-12-18 |
CN107491397A (zh) | 2017-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201801088A (zh) | 記憶體裝置、記憶體模組、及記憶體裝置之操作方法 | |
US11132298B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes | |
US10719443B2 (en) | Apparatus and method for implementing a multi-level memory hierarchy | |
KR102593379B1 (ko) | 메모리 패키지, 그것을 포함하는 메모리 모듈, 및 그것의 동작 방법 | |
JP5752989B2 (ja) | プロセッサ・メインメモリのための持続性メモリ | |
US20140006696A1 (en) | Apparatus and method for phase change memory drift management | |
US10976933B2 (en) | Storage device, storage system and method of operating the same | |
US10866734B2 (en) | Resistance variable memory apparatus, and circuit and method for operating therefor | |
EP3506116A1 (en) | Shared memory controller in a data center | |
US20170110207A1 (en) | Memory system | |
US20220245066A1 (en) | Memory system including heterogeneous memories, computer system including the memory system, and data management method thereof | |
KR20170138616A (ko) | 메모리 시스템 | |
JP2023092425A (ja) | ストレージフラグメンテーションを定量化し性能低下を予測するための記憶システム及び方法 | |
KR20130024212A (ko) | 메모리 시스템 및 그 관리 방법 | |
US20240112719A1 (en) | Memory devices, memory systems having the same and operating methods thereof | |
US20230063123A1 (en) | Memory module, memory system including memory module, and method of operating the same | |
CN107038126B (zh) | 存储系统 | |
US10180904B2 (en) | Cache memory and operation method thereof | |
US11119938B2 (en) | Apparatus and method to synchronize memory map between a storage device and host | |
KR20230045774A (ko) | 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법 | |
US11526448B2 (en) | Direct mapped caching scheme for a memory side cache that exhibits associativity in response to blocking from pinning | |
US9298612B2 (en) | Semiconductor memory device and computer system including the same | |
KR20180008956A (ko) | 비휘발성 메모리 시스템 및 리프레쉬 방법 | |
KR20130086329A (ko) | 메모리 시스템 및 그 관리 방법 |