TW201917585A - 用於動態隨機存取記憶體之選擇性更新機制 - Google Patents

用於動態隨機存取記憶體之選擇性更新機制 Download PDF

Info

Publication number
TW201917585A
TW201917585A TW107122894A TW107122894A TW201917585A TW 201917585 A TW201917585 A TW 201917585A TW 107122894 A TW107122894 A TW 107122894A TW 107122894 A TW107122894 A TW 107122894A TW 201917585 A TW201917585 A TW 201917585A
Authority
TW
Taiwan
Prior art keywords
recently used
cache
bit
path
update
Prior art date
Application number
TW107122894A
Other languages
English (en)
Inventor
法藍柯斯 伊伯拉辛 艾塔拉
格雷戈里 麥可 懷特
西望姆 普立亞達爾西
加勒特 麥可 德拉帕拉
哈洛德 韋德 三世 坎
艾瑞克 海德伯格
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 TW201917585A publication Critical patent/TW201917585A/zh

Links

Classifications

    • 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/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40607Refresh operations in memory devices with an internal cache or data buffer
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0866Addressing 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/0871Allocation or management of cache space
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/122Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1028Power efficiency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/604Details relating to cache allocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本發明係關於用於一快取,諸如被實施為一嵌入式DRAM (eDRAM)之一末級快取之選擇性更新的系統及方法。一更新位元及一再用位元係與該快取之至少一組之各路徑相關。一最近最少使用(LRU)堆疊追蹤該等路徑之位置,其中朝向一臨限值之一最近最多使用位置的位置包含最近較多使用位置,及朝向該臨限值之一最近最少使用位置的位置包含最近較少使用位置。若滿足以下條件,則選擇性地更新一路徑中之一線:該路徑之該位置係該等最近較多使用位置中之一者,且與該路徑相關之該更新位元被設定,或該路徑之該位置係該等最近較少使用位置中之一者,且與該路徑相關之該更新位元及該再用位元兩者均被設定。

Description

用於動態隨機存取記憶體之選擇性更新機制
所揭示之態樣係針對記憶體系統之電源管理及效率改進。更具體言之,例示性態樣係針對用於動態隨機存取記憶體(dynamic random access memory;DRAM)之選擇性更新機制,以減小該DRAM之功率消耗並增加其可用性。
DRAM系統由於構造簡單而提供低成本資料儲存解決方案。基本上,DRAM單元由耦接至電容器之開關或電晶體構成。DRAM系統被組織為DRAM陣列,其包含安置於列(或線)及行中之DRAM單元。可瞭解到,鑒於DRAM單元之簡單性,DRAM系統之構造產生低成本,且DRAM陣列之高密度整合係可能的。然而,由於電容器易漏電,因此儲存於DRAM單元中之電荷需要被定期更新,以正確地保持儲存在其中的資訊。
出於保持儲存在其中的資訊的意圖,常規的更新操作涉及讀出DRAM陣列中之各DRAM單元(例如,逐行)及立即不經修改地寫回讀出之資料至相應的DRAM單元。因此,更新操作消耗電力。依據DRAM系統之特定實施方案(例如,此項技術中已知的雙資料速率(double data rate;DDR)、低功率DDR (low power DDR;LPDDR)、嵌入式DRAM (embedded DRAM;eDRAM)等),定義最小更新頻率,其中若DRAM單元未以至少為最小更新頻率之頻率更新,則儲存在其中之資訊被損毀之概率增加。若為諸如讀取或寫入操作之記憶體存取操作存取DRAM單元,則作為執行記憶體存取操作之部分,所存取之DRAM單元被更新。為確保即使當DRAM單元未因記憶體存取操作被存取時DRAM單元仍至少以滿足最小更新頻率之速率被更新,可為DRAM系統提供各種專用更新機制。
然而,已認識到,DRAM,例如,諸如3階(level 3;L3)資料快取eDRAM之較大末級快取之實施方案中各線之定期更新,就時間及電力而言可過於昂貴而在習知實施方案中不可實行。在努力緩解時間耗費的過程中,一些方法係針對更新平行之兩個或更多個線之群組,但此等方法亦可受缺陷困擾。舉例來說,若同時更新之線之數目相對較小,則更新DRAM消耗之時間可仍然過高,其可能減小DRAM對於其他存取請求(例如,讀取/寫入)之可用性。此係因為進行中的更新操作可延遲或阻止DRAM服務於存取請求。另一方面,若同時更新之線數目較大,則可見相應的功率消耗增大,其繼而可能提高對用於供應電力至DRAM之電力傳遞網路(power delivery network;PDN)之穩定性的需求。更複雜PDN亦可減小可供用於與DRAM迴路相關之其他線的佈線軌道,及增加DRAM晶粒之大小。
因此,已認識到此項技術中存在對DRAM的經改良的更新機制,以避免習知實施方案之上述缺陷的需要。
本發明的例示性態樣係針對用於快取,例如被實施為嵌入式DRAM (eDRAM)之處理系統的末級快取的選擇性更新之系統及方法。快取可經組態為組聯快取,其具有至少一個組及該至少一個組中之兩個或更多個路徑,且可提供快取控制器,其經組態用於該至少一個組之線之選擇性更新。快取控制器可包括兩個或更多個更新位元暫存器,其包含兩個或更多個更新位元,各更新位元與該兩個或更多個路徑中的一相對應者相關,及兩個或更多個再用位元暫存器,其包含兩個或更多個再用位元,各再用位元與該兩個或更多個路徑中的一相對應者相關。更新及再用位元被用於判定是否通過以下方式更新相關聯的線。快取控制器可進一步包括一最近最少使用(least recently used;LRU)堆疊,其包含兩個或更多個位置,各位置與該兩個或更多個路徑中的一相對應者相關,該兩個或更多個位置範圍為一最近最多使用位置至一最近最少使用位置,其中朝向經指派用於該LRU堆疊之一臨限值之該最近最多使用位置的位置包含最近較多使用位置,及朝向該臨限值之該最近最少使用位置的位置包含最近較少使用位置。若該路徑之該位置係該等最近較多使用位置中之一者,且與該路徑相關之該更新位元被設定,或該路徑之該位置係該等最近較少使用位置中之一者,且與該路徑相關之該更新位元及該再用位元兩者均被設定,則該快取控制器經組態以選擇性地更新該兩個或更多個路徑之一路徑中之線。
舉例而言,一例示性態樣係針對一種更新快取之線之方法。該方法包含:關聯一更新位元及一再用位元與一組該快取之兩個或更多個路徑中之每一者,關聯一最近最少使用(LRU)堆疊與該組,其中該LRU堆疊包含與該兩個或更多個路徑中之每一者相關之一位置,該等位置範圍為一最近最多使用位置至一最近最少使用位置,及對該LRU堆疊指定一臨限值,其中朝向該臨限值之該最近最多使用位置的位置包含最近較多使用位置,及朝向該臨限值之該最近最少使用位置的位置包含最近較少使用位置。若該路徑之該位置係該等最近較多使用位置中之一者,且與該路徑相關之該更新位元被設定,或該路徑之該位置係該等最近較少使用位置中之一者,且與該路徑相關之該更新位元及該再用位元兩者均被設定,則快取之路徑中之線被選擇性地更新。
另一例示性態樣係針對一設備,其包含一快取,其經組態為組聯快取,其具有至少一個組及該至少一個組中之兩個或更多個路徑,及一快取控制器,其經組態用於該至少一個組之線之選擇性更新。快取控制器包含兩個或更多個更新位元暫存器,其包含兩個或更多個更新位元,各更新位元與該兩個或更多個路徑中的一相對應者相關,兩個或更多個再用位元暫存器,其包含兩個或更多個再用位元,各再用位元與該兩個或更多個路徑中的一相對應者相關,及一最近最少使用(LRU)堆疊,其包含兩個或更多個位置,各位置與該兩個或更多個路徑中的一相對應者相關,該兩個或更多個位置範圍為一最近最多使用位置至一最近最少使用位置,其中朝向經指派用於該LRU堆疊之一臨限值之該最近最多使用位置的位置包含最近較多使用位置,及朝向該臨限值之該最近最少使用位置的位置包含最近較少使用位置。若該路徑之該位置係該等最近較多使用位置中之一者,且與該路徑相關之該更新位元被設定,或該路徑之該位置係該等最近較少使用位置中之一者,且與該路徑相關之該更新位元及該再用位元兩者均被設定,則該快取控制器經組態以選擇性地更新該兩個或更多個路徑之一路徑中之線。
又另一個例示性態樣係針對一設備,其包含一快取,其經組態為一組聯快取,其具有至少一個組及該至少一個組中之兩個或更多個路徑,用於追蹤與該至少一個組之該兩個或更多個路徑中之每一者相關之位置之構件,該等位置範圍為一最近最多使用位置至一最近最少使用位置,且其中朝向該臨限值之該最近最多使用位置之位置包含最近較多使用位置,及朝向該臨限值之該最近最少使用位置之位置包含最近較少使用位置。該設備進一步包含若滿足以下條件,則選擇性地更新該快取之一路徑中之一線之構件:該路徑之該位置係該等最近較多使用位置中之一者,且指示與該路徑相關之更新之一第一構件被設定,或該路徑之該位置係該等最近較少使用位置中之一者,且指示更新之該第一構件及指示與該路徑相關之再用之一第二構件兩者均被設定。
另一例示性態樣係針對包含程式碼之一非暫時性電腦可讀儲存媒體,其在由一電腦執行時,使得該電腦執行操作以更新一快取之線。該非暫時性電腦可讀儲存媒體包含:用於關聯一更新位元及一再用位元與一組該快取之兩個或更多個路徑中之每一者之程式碼、用於關聯一最近最少使用(LRU)堆疊與該組之程式碼,其中該LRU堆疊包含與該兩個或更多個路徑中之每一者相關之一位置,該等位置範圍為一最近最多使用位置至一最近最少使用位置、用於對該LRU堆疊指定一臨限值之程式碼,其中朝向該臨限值之該最近最多使用位置的位置包含最近較多使用位置,及朝向該臨限值之該最近最少使用位置的位置包含最近較少使用位置,且若滿足以下條件,則選擇性地更新該快取之一路徑中之一線之程式碼:該路徑之該位置係該等最近較多使用位置中之一者,且與該路徑相關之該更新位元被設定;或該路徑之該位置係該等最近較少使用位置中之一者,且與該路徑相關之該更新位元及該再用位元兩者均被設定。
本發明之態樣揭示於以下描述及針對本發明之特定態樣的相關圖式中。可在不脫離本發明之範疇的情況下設計出替代性態樣。此外,將不詳細描述或將省略本發明之熟知元件以免混淆本發明之相關細節。
字組「例示性」在本文中用以意謂「充當實例、例子或說明」。本文中被描述為「例示性」之任何態樣未必被認作比其他態樣更佳或更有利。同樣地,術語「本發明之態樣」並不要求本發明之所有態樣皆包括所論述之特徵、優點或操作模式。
本文中所使用之術語僅係出於描述特定態樣之目的,且並不意欲限制本發明之態樣。如本文中所使用,單數形式「一(a/an)」及「該」意欲亦包括複數形式,除非上下文另有清晰指示。應進一步理解,術語「包含(comprises/comprising)」及/或「包括(includes/including)」在本文中使用時係指定所陳述之特徵、整體、步驟、操作、元件及/或組件的存在,但不排除一或多個其他特徵、整體、步驟、操作、元件、組件及/或其群組的存在或添加。
此外,就待由例如計算裝置之元件執行之動作的序列而言,描述許多態樣。應認識到此處描述的各種動作可藉由特定電路(例如,特定應用積體電路(application specific integrated circuit;ASIC)執行,藉由由一或多個處理器執行之程式指令執行,或藉由其兩者的組合執行。另外,可認為本文所描述之此等動作序列完全體現於任何形式之電腦可讀儲存媒體內,該電腦可讀儲存媒體儲存有在執行時將使一相關聯之處理器執行本文所描述之功能性的電腦指令之對應集合。因此,本發明之各種態樣可以許多不同形式體現,已預期該等形式皆在所主張標的物之範疇內。另外,對於本文所描述之態樣中每一者,任何此等態樣之對應形式可在本文中被描述為,例如,「經組態以執行所描述動作之邏輯」。
在本發明之例示性態樣中,對於DRAM,例如實施於諸如L3快取的末級快取中之eDRAM,提供選擇性更新機制。eDRAM可被整合在與存取末級快取之處理器相同的系統單晶片(system on chip;SoC)上(儘管此並非要求)。對於此種末級快取,應認識到,其顯著比例之快取線在被變為快取之後可能不接收任何命中,此係因為此等快取線之位置可被更接近對快取作出存取請求的處理器的諸如1階(level 1;L1)、2階(level 2;L2)快取之內側級快取過濾。進一步,在末級快取之組聯快取實施方案中,隨著快取線被組織在各組之兩個或更多個路徑中,同樣應認識到在末級快取中命中之快取線當中,相應的命中可被限制至一子組路徑,其包括一組最近較多使用路徑(例如,與一組包含8路徑之末級快取相關之最近最少使用(LRU)堆疊中之4處最近較多使用位置)。因此,此處描述之選擇性更新機制係針對僅選擇性地更新可能被重複使用之線,尤其在使用DRAM技術組態之快取之最近較少使用路徑中之線。
在一個態樣中,2個位元,其被稱作更新位元及再用位元,與各路徑相關(例如,藉由(例如)以兩個額外的位元,加強與路徑相關之標籤)。進一步,對快取之LRU堆疊指派一臨限值,其中該臨限值指示最近較多使用線與最近較少使用線之間之間距。在一個態樣中,臨限值可為固定的,而在另一態樣中,臨限值可動態地改變,使用計數器以分析接收命中的路徑之數目。
大體而言,對於路徑被設定成「1」(或僅僅被「設定」)之更新位元被採用以指示儲存於相關聯的路徑中之快取線應被更新。對於路徑被設定成「1」(或僅僅被「設定」之再用位元被採用以指示路徑中之該快取線已可見至少一個再用。在例示性態樣中,在快取線處於其位置最近較多使用之路徑中時,快取線伴隨其更新位元組將被更新;但若該路徑之位置跨越臨限值至最近較少使用位置,則若其更新位元被設定且其再用位元同樣被設定,則快取線被更新。此係因為最近較少使用路徑中之快取線通常被公認為不太可能可見再用,且因此不被更新,除非其再用位元經設定以指示此等快取線已可見再用。
藉由以此方式選擇性地更新線,涉及更新操作之功率消耗被降低。此外,藉由不更新可能已習知地被更新的特定線,快取對於諸如讀取/寫入操作的其他存取操作的可用性被增加。
首先參考圖1,說明例示性處理系統100,其中代表性地展示處理器102、快取104及記憶體106,應記住,可存在為清楚起見而未說明的各種其他組件。處理器102可為經組態以對可能為主記憶體的記憶體106作出記憶體存取請求之任何處理元件。快取104可為存在於處理器102與處理系統100之記憶體層級中之記憶體106之間之幾個快取中之一者。在一實例中,快取104可為末級快取(例如,3階或L3快取),伴隨一或多個較高級快取,諸如1階(L1)快取及一或多個2階(L2)快取存在於處理器102與快取104之間,儘管未展示此等快取。在一態樣中,快取104可經組態為eDRAM快取,且可整合至與處理器102相同之晶片上(儘管此並非要求)。快取控制器103已藉由虛線說明,以表示經組態以執行關於快取104之例示性控制操作的邏輯,包括管理及實施此處描述之選擇性更新操作。儘管快取控制器103已在圖1中被說明為快取104周圍之包裝,但應理解在不脫離本發明之範疇的情況下,快取控制器103之邏輯及/或功能性可以任何其他適合之方式整合於處理系統100中。
如所展示,出於起見說明,在一實例中快取104可為具有四個組104a至104d之組聯快取。各組104a至104d可具有多個快取線(也被稱作快取塊)。在圖1之實例中已代表性地示出快取線的用於組104c之八個路徑w0到w7。可藉由在堆疊105c (其亦被稱作LRU堆疊)中,自最近最多存取或最近最多使用(most recently used;MRU)至最近最少存取或最近最少使用(least recently used;LRU)之順序在路徑w0至w7中記錄快取線之順序,估計快取記憶體存取之暫態位置。舉例而言,LRU堆疊105c可為緩衝器或暫存器之有序集合,其中LRU堆疊105c之每一項可包括路徑之一指示,範圍為MRU至LRU (例如,在一說明性實例中,LRU堆疊105c之每一項可包括3位元以指向八個路徑w0至w7中之一者,使得MRU項可指向第一路徑,例如,w5,而LRU項可指向第二路徑,例如,w3)。在所說明之一實例實施中,LRU堆疊105c可被提供在快取控制器103中或為其之部分。
在例示性態樣中,臨限值可用於劃分LRU堆疊105c之項,其中朝向臨限值之最近最多使用(MRU)位置之位置被稱作最近較多使用位置,及朝向臨限值之最近較少使用(LRU)位置之位置被稱作最近較少使用位置。藉由此種臨限值指派,與最近較多使用位置相關的路徑中之LRU堆疊105c之線可以大致被更新,而與最近較少使用位置相關的路徑中之線可能不被更新,除非它們可見再用。以此方式,藉由使用兩個位元以追蹤線是否待被更新,執行選擇性更新。
上述兩個位元被代表性地展示為與組104c之各路徑w0至w7相關之更新位元110c及再用位元112c。更新位元110c及再用位元112c可經組態為標籤陣列之額外位元(未單獨地展示)。更一般地說,在替代性實例中,更新位元110c可被儲存於任何記憶體結構中,諸如用於組104c之各路徑w0至w7之更新位元暫存器(圖1中未標識為單獨參考編號),及類似地,再用位元112c可被儲存於任何記憶體結構中,諸如用於組104c之各路徑w0至w7之再用位元暫存器(圖1中未標識為單獨參考編號)。因此,對於各組中之兩個或更多個路徑w0至27,快取控制器103可包含相應數量的兩個或更多個包含更新位元110c之更新位元暫存器,及兩個或更多個包含再用位元112c之再用位元暫存器。如先前所提及,若更新位元110c對於組104c之路徑被設定(例如,設定至值「1」),則此意謂相應的路徑中之快取線待被更新。若再用位元112c被設定(例如,設定至值「1」),則此意謂相應的線可見至少一個再用。
在例示性態樣中,快取控制器103 (或任一其他適合之邏輯)可經組態以基於用於各路徑之更新位元110c及再用位元112c中狀態或值在快取104上執行例示性更新操作,其允許選擇性地僅更新可能有待於重複使用的組104c之路徑中之線。描述提供可以實施於快取控制器103中,以在快取104上執行選擇性更新操作,且更具體而言,執行在快取104之組104c之路徑w0至w7中之線之選擇性更新之實例功能。在例示性態樣中,僅當路徑之相關聯的更新位元110c被設定時,路徑中之線被更新,且在路徑之相關聯的更新位元110c未被設定(或被設定成值「0」)時,不被更新。以下策略可用於設定/重設組104c之各線之更新位元110c及再用位元112c。
當新快取線被插入快取104中,例如,組104c中時,相應的更新位元110c被設定(例如,設定至值「1」)。重新插入之快取線的路徑將處於LRU堆疊105c中之最近較多使用位置中。當線插入至其他路徑中時,路徑之位置自最近較多使用位置開始下降至最近較少使用位置。更新位元110c將保留設定,直至與其中線插入於LRU堆疊105c中的路徑相關的位置跨越上述臨限值,自最近較多使用線指派變動至最近較少使用線指派。
一旦路徑之位置改變至最近較少使用指派,則用於該路徑之更新位元110c基於再用位元112c之值被更新。若再用位元112c在例如線已經歷快取命中時被設定(例如,設定至值「1」),則更新位元110c同樣被設定,且線將被更新,直至線變為失效(即其再用位元112c被重設或設定成值「0」)。另一方面,若再用位元112c在例如線尚未經歷快取命中時未被設定(例如,設定成值「0」),則更新位元110c被設定成「0」,且線不再被更新。
在組104c中之線的快取未命中時,可在組104c之路徑中安設該線,且其更新位元110c可被設定成「1」,且再用位元112c被重設或設定成「0」。線之相對使用情況係藉由其路徑在LRU堆疊105c中之位置追蹤。如先前,一旦路徑跨越臨限值至LRU堆疊105c中指派為最近較少使用之位置中,且若線尚未重複使用(即,再用位元112c係「0」),則相應的更新位元110c被重設或設定成「0」,以避免更新最近未使用且可能不具有高再用概率的失效線。
對於組104c之路徑中之線上之快取命中,若其更新位元110c被設定,則其再用位元112c同樣被組,且線被返回或傳遞至請求器,例如,處理器102。在一些態樣中,若更新位元110c對於彼路徑未設定(或設定成「0」),則快取命中可被視為路徑中之線之快取未命中。更詳細地,路徑中之更新位元110c未設定(或設定成「0」)之線被假定為已超出更新限制,且相應地被處理為失效,且因此不被返回至處理器102。對於被處理為未命中的快取線的請求隨後被發送至備份記憶體之下一級,例如,主記憶體106,如此可再次擷取一新制及正確之拷貝至快取104中。
在一態樣中,若線在已穿過朝向MRU位置之臨限值進入LRU堆疊105c中之最近較多使用位置的組104c之路徑中(例如,線在四個最近較多使用位置中),且若再用位元112c被設定,則更新位元110c同樣被設定,此係因為線可見再用,且因此該線始終被更新。另一方面,若線跨越臨限值進入最近較多使用位置,且其再用位元112c未被設定,則更新位元110c被重設或設定成「0」,此係因為線不可見再用;且如此可具有低未來再用概率;相應地該線之更新被中止或不被執行。
在一些態樣中,代替如上文所述之固定臨限值,可對於快取104之實例組104c,與LRU堆疊105c之位置結合使用動態可變臨限值。舉例而言,臨限值可基於程式階段或一些其他指標動態地改變。
圖2A示出動態臨限值之一實施。圖1之LRU堆疊105c被展示為實例,其具有一組代表性計數器205c、與LRU堆疊105c之各路徑相關之一計數器。計數器205c可根據實施需求選擇,但可大致各具有M個位元大小,且設定成每當組104c之相應的線接收命中時增加。因此,計數器205c可用於分析組104c之線接收之命中之數目。基於在此等計數器中之值,其例如在指定之間隔時間取樣,用於LRU堆疊105c之臨限值(如先前論述,基於該臨限值,朝向該MRU位置跨越最近較多使用位置之線可被更新,而在朝向LRU位置之最近較少使用位置中之線可能不被更新)可經調節以用於下一採樣間隔。在一實例中,計數器205c之最高值與MRU位置相關聯,且計數器205c之最低值與LRU位置相關聯,計數器205c在最高與最低值之間的值與MRU位置與LRU位置之間之位置相關聯,自最近較多使用指派至最近較少使用指派。因此,若特定計數器(例如,與路徑w5相關)具有最高值,則相關聯的路徑中之線被更新,直至計數器值落至低於與LRU堆疊105c之w5位置相關之值。
在一些設計中,可能需要減小圖2A之計數器205c的硬件及/或相關聯的資源。圖2B示出另一態樣,其中可降低用於判定LRU堆疊105c之臨限值的計數器消耗的資源。圖2B中展示之計數器210c說明在此等計數器中之分組。舉例而言,兩個計數器210c中之一者可用於追蹤路徑w4至w7當中之再用,而兩個計數器210c中之另一者可用於追蹤路徑w0至w3當中之再用。以此方式,無需對於各路徑消耗單獨計數器。然而,該分析與圖2A之實施可提供之粒度相比更粗糙,伴隨有降低資源之隨附益處。基於兩個計數器210c,可例如藉由分析組104c之路徑的上半部分或下半部分發現更多再用,作出關於臨限值之決策。
在又一實施中,儘管未明確展示,但可僅對快取104之總數量組之子組提供計數器。舉例而言,若提供計數器N1至N4以追蹤快取104之實施方案中之16組內之四組之路徑的上半部分(不對應於圖1中展示之說明),且提供,則計數器M1至M4以追蹤16組內之四組之路徑的下半部分,則可依據maximum(avg(N1…N4), avg(M1…M4))計算LRU臨限值。
因此,應瞭解,例示性態樣包括用於執行本文所揭示之處理程序、功能及/或演算法的各種方法。舉例而言,如下文進一步論述,方法300係針對一種更新快取(例如,快取104)之線之方法。
在方塊302中,方法300包含關聯更新位元及再用位元與一組快取之兩個或更多個路徑中之每一者(例如,藉由快取控制器103關聯更新位元110c及再用位元112c與組104c之路徑w0至w7)。
區塊304包含關聯最近最少使用(LRU)堆疊與該組,其中該LRU堆疊包含與兩個或更多個路徑中之每一者相關之位置,該等位置範圍為最近最多使用位置至最近最少使用位置(例如,與組104c相關之快取控制器103之LRU堆疊105c,位置範圍為MRU至LRU)。
區塊306包含對於LRU堆疊指派臨限值,其中朝向臨限值之最近最多使用位置之位置包含最近較多使用位置,及朝向臨限值之最近最少使用位置之位置包含最近較少使用位置(例如,固定臨限值或動態臨限值,在圖1中,舉例而言,LRU堆疊105c中之朝向臨限值之MRU位置之位置展示為最近較多使用位置,且朝向臨限值之LRU位置之位置展示為最近較少使用位置)。
在方塊308中,若滿足以下條件,則快取之路徑中之線可被選擇性地更新:路徑之位置係最近較多使用位置中之一者,且與路徑相關之更新位元被設定;或路徑之位置係最近較少使用位置中之一者,且與路徑相關之更新位元及再用位元兩者均被設定(例如,若滿足以下條件,則快取控制器103可經組態以選擇性地導引在快取104之組104c之兩個或更多個路徑w0至w7中之一路徑中之線上執行更新操作:路徑之位置係最近較多使用位置中之一者,且與路徑相關之更新位元110c被設定;或路徑之位置係最近較少使用位置中之一者,且與路徑相關之更新位元110c及再用位元112c兩者均被設定)。
應瞭解,本發明之態樣同樣包括經組態以執行此處描述之功能性,或包含用於執行此處描述之功能性之構件的任何設備。舉例而言,根據一態樣,例示性設備包含快取(例如,快取104),其經組態為具有至少一個組(例如,組104c)及至少一個組中之兩個或更多個路徑(例如,路徑w0至w7)之組聯快取。如此,該設備可包含用於追蹤與該至少一個組(例如,LRU堆疊105c)之兩個或更多個路徑中之每一者相關之位置之構件,該等位置範圍為一最近最多使用位置至一最近最少使用位置,且其中朝向臨限值之該最近最多使用位置之位置包含最近較多使用位置,及朝向臨限值之該最近最少使用位置之位置包含最近較少使用位置。設備亦可包含若滿足以下條件,則選擇性地更新該快取之一路徑中之一線之構件(例如,快取控制器103):該路徑之該位置係該等最近較多使用位置中之一者,且指示與該路徑相關之更新(例如,更新位元110c)之一第一構件被設定;或該路徑之該位置係該等最近較少使用位置中之一者,且指示更新之該第一構件及指示與該路徑相關之再用(例如,再用位元112c)之一第二構件兩者均被設定。
現將相對於圖4論述可以利用本發明之例示性態樣的實例設備。圖4展示出計算裝置400之方塊圖。計算裝置400可對應於經組態以執行圖3的方法300之處理系統之例示性實施方案。在圖4之描述中,計算裝置400被展示為包括處理器102及快取104,連同圖1中展示之快取控制器103。快取控制器103經組態以在快取104上執行如本文所論述之選擇性更新機制(但為清楚起見,圖1中已展示之快取104之另外細節,諸如組104a至104d、路徑w0至w7以及快取控制器103之另外細節,諸如更新位元110c、再用位元112c、LRU堆疊105c等已自此視圖中省略)。在圖4中,處理器102被例示性地展示為如參看圖1所描述,耦接至記憶體106,且快取104在處理器102與記憶體106之間,但應理解,計算裝置400亦可支援此項技術中已知之其他記憶體組態。
圖4亦展示耦接至處理器102及顯示器428之顯示控制器426。在一些情況下,計算裝置400可用於無線通信,且圖4同樣以虛線展示出可選方塊,諸如編碼器/解碼器(coder/decoder;CODEC) 434 (例如,音訊及/或話音編碼解碼器),其耦接至處理器102,且揚聲器436及麥克風438可耦接至編碼解碼器434;及無線天線442,其耦接至無線控制器440,其耦接至處理器102。在特定態樣中,在此等可選塊中的一或多者存在時,處理器102、顯示控制器426、記憶體106及無線控制器440被包括於系統封裝或系統單晶片裝置422中。
因此,在一特定態樣中,輸入裝置430及電源供應器444耦接至系統單晶片裝置422。此外,在一特定態樣中,如圖4中所說明,當存在一或多個可選塊時,顯示器428、輸入裝置430、揚聲器436、麥克風438、無線天線442及電源供應器444在系統單晶片裝置422外部。然而,顯示器428、輸入裝置430、揚聲器436、麥克風438、無線天線442及電源供應器444中之每一者可耦接至系統單晶片裝置422之組件,例如介面或控制器。
應注意,儘管圖4大體上描繪計算裝置,但處理器102及記憶體106亦可整合至機上盒、伺服器、音樂播放器、視訊播放器、娛樂單元、導航裝置、個人數位助理(personal digital assistant;PDA)、固定位置資料單元、電腦、膝上型電腦、平板電腦、通信裝置、行動電話或其他類似裝置中。
熟習此項技術者應理解,可使用多種不同技術及技藝中任一者來表示資訊與信號。舉例而言,可由電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合表示可貫穿以上描述所參考之資料、指令、命令、資訊、信號、位元、符號及碼片。
此外,熟習此項技術者將瞭解,結合本文中所揭示之態樣而描述的各種說明性邏輯區塊、模組、電路及演算法步驟可實施為電子硬體、電腦軟體或兩者之組合。為了清楚地說明硬體與軟體之此可互換性,各種說明性組件、區塊、模組、電路及步驟已在上文大體按其功能性加以描述。此功能性實施為硬體抑或軟體取決於特定應用及強加於整個系統之設計約束。熟習此項技術者可針對每一特定應用以不同之方式實施所描述功能性,但不應將此等實施決策解譯為導致脫離本發明之範疇。
結合本文中所揭示之態樣而描述之方法、序列及/或演算法可直接在硬體中、在由處理器執行之軟體模組中或在兩者之組合中實施。軟體模組可駐存於RAM記憶體、快閃記憶體、ROM記憶體、EPROM記憶體、EEPROM記憶體、暫存器、硬碟、可移除式磁碟、CD-ROM,或此項技術中已知之任何其他形式之儲存媒體中。例示性儲存媒體耦接至處理器,使得處理器可自儲存媒體讀取資訊並將資訊寫入至儲存媒體。在替代方案中,儲存媒體可整合至處理器。
因此,本發明之一態樣可包括體現用於DRAM之選擇性更新之方法的電腦可讀媒體。因此,本發明不限於所說明之實例,且用於執行本文中所描述之功能性的任何構件皆包括於本發明之態樣中。
雖然前述揭示內容展示本發明之說明性態樣,但應注意,在不脫離如由所附申請專利範圍所界定之本發明之範疇的情況下,可在本文中作出各種改變及修改。無需按任何特定次序來執行根據本文中所描述之本發明的態樣之方法請求項的功能、步驟及/或動作。此外,儘管可以單數形式描述或主張本發明之元件,但除非明確陳述限於單數形式,否則亦涵蓋複數形式。
100‧‧‧處理系統
102‧‧‧處理器
103‧‧‧快取控制器
104‧‧‧快取
104a‧‧‧組
104b‧‧‧組
104c‧‧‧組
104d‧‧‧組
105c‧‧‧堆疊/最近最少使用堆疊
106‧‧‧記憶體
110c‧‧‧更新位元
112c‧‧‧再用位元
205c‧‧‧計數器
210c‧‧‧計數器
300‧‧‧方法
302‧‧‧方塊
304‧‧‧方塊
306‧‧‧方塊
308‧‧‧方塊
400‧‧‧計算裝置
422‧‧‧系統單晶片裝置
426‧‧‧顯示控制器
428‧‧‧顯示器
430‧‧‧輸入裝置
434‧‧‧編碼解碼器
436‧‧‧揚聲器
438‧‧‧麥克風
440‧‧‧無線控制器
442‧‧‧無線天線
444‧‧‧電源供應器
w0‧‧‧路徑
w1‧‧‧路徑
w7‧‧‧路徑
呈現附圖以輔助描述本發明之態樣,且提供所述圖式僅用於說明所述態樣而非對其加以限制。
圖1根據本發明之態樣描繪包含經組態有選擇性更新機制的快取的例示性處理系統。
圖2A至圖2B根據本發明之態樣說明例示性快取之動態臨限值計算之態樣。
圖3根據本發明之態樣描繪更新快取之例示性方法。
圖4描繪可在其中有利地使用本發明之一態樣之例示性計算裝置。

Claims (30)

  1. 一種更新一快取之線之方法,該方法包含: 關聯一更新位元及一再用位元與一組該快取之兩個或更多個路徑中之每一者; 關聯一最近最少使用(LRU)堆疊與該組,其中該LRU堆疊包含與該兩個或更多個路徑中之每一者相關之一位置,該等位置範圍為一最近最多使用位置至一最近最少使用位置; 對該LRU堆疊指定一臨限值,其中朝向該臨限值之該最近最多使用位置的位置包含最近較多使用位置,及朝向該臨限值之該最近最少使用位置的位置包含最近較少使用位置;及 若滿足以下條件,則選擇性地更新該快取之一路徑中之一線: 該路徑之該位置係該等最近較多使用位置中之一者,且與該路徑相關之該更新位元被設定;或 該路徑之該位置係該等最近較少使用位置中之一者,且與該路徑相關之該更新位元及該再用位元兩者均被設定。
  2. 如請求項1之方法,其中當該線之該快取中出現未命中之後,該線被重新插入至該路徑中時: 關聯該路徑之該位置與該等最近較多使用位置中之一者; 設定該更新位元;及 重設該再用位元。
  3. 如請求項2之方法,其進一步包含,當該路徑之該位置跨越該臨限值,及該路徑之該位置係該等最近較少使用位置中之一者時, 若設定該再用位元,則保持該更新位元為經設定;或 若該再用位元未被設定,則重設該更新位元。
  4. 如請求項2之方法,其進一步包含,在用於該線之該快取中之一命中後,設定該再用位元。
  5. 如請求項1之方法,其進一步包含,在該線之一快取命中後,若該更新位元被設定且該再用位元同樣被設定,則自該快取返回該線至該線之一請求方。
  6. 如請求項1之方法,其進一步包含,在該線之一快取命中後,若該更新位元未被設定,則處理該快取命中為快取未命中,及遞送對該線之一請求至該快取之一備份記憶體。
  7. 如請求項1之方法,其中若該路徑之該位置自該等最近較少使用位置中之一者跨越該臨限值至該等最近較多使用位置中之一者,且該再用位元被設定,則設定該更新位元。
  8. 如請求項1之方法,其中若該路徑之該位置自該等最近較少使用位置中之一者跨越該臨限值至該等最近較多使用位置中之一者,且該再用位元未被設定,則重設該更新位元。
  9. 如請求項1之方法,其中該臨限值相對於該LRU堆疊之該等位置固定。
  10. 如請求項1之方法,其中該臨限值基於與該LRU堆疊相關之計數器之值動態地可變,其中與具有一快取命中之路徑相關的該等計數器遞增。
  11. 如請求項10之方法,其中一計數器對兩個或更多個路徑通用。
  12. 如請求項1之方法,其中該快取被實施為嵌入式DRAM (eDRAM)。
  13. 如請求項1之方法,其中該快取經組態為一處理系統之一末級快取。
  14. 一種設備,其包含: 一快取,其經組態為一組聯快取,其具有至少一個組及該至少一個組中之兩個或更多個路徑; 一快取控制器,其經組態用於該至少一個組之線之選擇性更新,該快取控制器包含: 兩個或更多個更新位元暫存器,其包含兩個或更多個更新位元,各更新位元與該兩個或更多個路徑中的一相對應者相關; 兩個或更多個再用位元暫存器,其包含兩個或更多個再用位元,各再用位元與該兩個或更多個路徑中的一相對應者相關;及 一最近最少使用(LRU)堆疊,其包含兩個或更多個位置,各位置與該兩個或更多個路徑中的一相對應者相關,該兩個或更多個位置範圍為一最近最多使用位置至一最近最少使用位置, 其中朝向經指派用於該LRU堆疊之一臨限值之該最近最多使用位置的位置包含最近較多使用位置,及朝向該臨限值之該最近最少使用位置的位置包含最近較少使用位置;及 其中若滿足以下條件,則該快取控制器經組態以選擇性地更新該兩個或更多個路徑之一路徑中之一線: 該路徑之該位置係該等最近較多使用位置中之一者,且與該路徑相關之該更新位元被設定;或 該路徑之該位置係該等最近較少使用位置中之一者,且與該路徑相關之該更新位元及該再用位元兩者均被設定。
  15. 如請求項14之設備,其中該快取控制器進一步經組態以,當該線之該快取中出現未命中之後,該線被重新插入至該路徑中時: 關聯該路徑之該位置與該等最近較多使用位置中之一者; 設定該更新位元;及 重設該再用位元。
  16. 如請求項15之設備,其中該快取控制器進一步經組態以,當該路徑之該位置跨越該臨限值,及該路徑之該位置係該等最近較少使用位置中之一者時: 若設定該再用位元,則保持該更新位元為經設定;或 若該再用位元未被設定,則重設該更新位元。
  17. 如請求項15之設備,其中該快取控制器進一步經組態以,在用於該線之該快取中之一命中後,設定該再用位元。
  18. 如請求項14之設備,其中該快取控制器進一步經組態以,在該線之一快取命中後,若該更新位元被設定且該再用位元同樣被設定,則自該快取返回該線至該線之一請求方。
  19. 如請求項14之設備,其中該快取控制器進一步經組態以,在該線之一快取命中後,若該更新位元未被設定,則處理該快取命中為快取未命中,及遞送對該線之一請求至該快取之一備份記憶體。
  20. 如請求項14之設備,其中該快取控制器進一步經組態以,若該路徑之該位置自該等最近較少使用位置中之一者跨越該臨限值至該等最近較多使用位置中之一者,且該再用位元被設定,則設定該更新位元。
  21. 如請求項14之設備,其中該快取控制器進一步經組態以,若該路徑之該位置自該等最近較少使用位置中之一者跨越該臨限值至該等最近較多使用位置中之一者,且該再用位元未被設定,則重設該更新位元。
  22. 如請求項14之設備,其中該臨限值相對於該LRU堆疊之該等位置固定。
  23. 如請求項14之設備,其中該快取控制器進一步包含計數器,其與該LRU堆疊相關,且其中該臨限值基於該等計數器之值動態地可變,且其中與具有一快取命中之路徑相關的該等計數器遞增。
  24. 如請求項23之設備,其中一計數器對兩個或更多個路徑通用。
  25. 如請求項14之設備,其中該快取被實施為嵌入式DRAM (eDRAM)。
  26. 如請求項14之設備,其包含一處理系統,其中該快取經組態為該處理系統之一末級快取。
  27. 如請求項14之設備,其整合至一裝置中,該裝置選自由以下各者組成之群組:一機上盒、一伺服器、一音樂播放器、一視訊播放器、一娛樂單元、一導航裝置、一個人數位助理(PDA)、一固定位置資料單元、一電腦、一膝上型電腦、一平板電腦、一通信裝置,及一行動電話。
  28. 一種設備,其包含: 一快取,其經組態為一組聯快取,其具有至少一個組及該至少一個組中之兩個或更多個路徑; 用於追蹤與該至少一個組之該兩個或更多個路徑中之每一者相關之位置之構件,該等位置範圍為一最近最多使用位置至一最近最少使用位置,且其中朝向一臨限值之該最近最多使用位置之位置包含最近較多使用位置,及朝向該臨限值之該最近最少使用位置之位置包含最近較少使用位置;及 若滿足以下條件,則選擇性地更新該快取之一路徑中之一線之構件: 該路徑之該位置係該等最近較多使用位置中之一者,且指示與該路徑相關之更新之一第一構件被設定;或 該路徑之該位置係該等最近較少使用位置中之一者,且指示更新之該第一構件及指示與該路徑相關之再用之一第二構件兩者均被設定。
  29. 一種包含程式碼之非暫時性電腦可讀儲存媒體,其在由一電腦執行時,使得該電腦執行操作以更新一快取之線,該非暫時性電腦可讀儲存媒體包含: 用於關聯一更新位元及一再用位元與一組該快取之兩個或更多個路徑中之每一者之程式碼; 用於關聯一最近最少使用(LRU)堆疊與該組之程式碼,其中該LRU堆疊包含與該兩個或更多個路徑中之每一者相關之一位置,該等位置範圍為一最近最多使用位置至一最近最少使用位置; 用於對該LRU堆疊指定一臨限值之程式碼,其中朝向該臨限值之該最近最多使用位置的位置包含最近較多使用位置,及朝向該臨限值之該最近最少使用位置的位置包含最近較少使用位置;及 若滿足以下條件,則選擇性地更新該快取之一路徑中之一線之程式碼: 該路徑之該位置係該等最近較多使用位置中之一者,且與該路徑相關之該更新位元被設定;或 該路徑之該位置係該等最近較少使用位置中之一者,且與該路徑相關之該更新位元及該再用位元兩者均被設定。
  30. 如請求項29之非暫時性電腦可讀儲存媒體,其進一步包含,當該線之該快取中出現未命中之後,該線被重新插入至該路徑中時: 用於關聯該路徑之該位置與該等最近較多使用位置中之一者之程式碼; 用於設定該更新位元之程式碼;及 用於重設該再用位元之程式碼。
TW107122894A 2017-07-07 2018-07-03 用於動態隨機存取記憶體之選擇性更新機制 TW201917585A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/644,737 US20190013062A1 (en) 2017-07-07 2017-07-07 Selective refresh mechanism for dram
US15/644,737 2017-07-07

Publications (1)

Publication Number Publication Date
TW201917585A true TW201917585A (zh) 2019-05-01

Family

ID=62842317

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107122894A TW201917585A (zh) 2017-07-07 2018-07-03 用於動態隨機存取記憶體之選擇性更新機制

Country Status (5)

Country Link
US (1) US20190013062A1 (zh)
EP (1) EP3649554A1 (zh)
CN (1) CN110720093A (zh)
TW (1) TW201917585A (zh)
WO (1) WO2019009994A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182106B2 (en) * 2018-03-21 2021-11-23 Arm Limited Refresh circuit for use with integrated circuits
US10691596B2 (en) * 2018-04-27 2020-06-23 International Business Machines Corporation Integration of the frequency of usage of tracks in a tiered storage system into a cache management system of a storage controller
US12130739B2 (en) 2020-03-27 2024-10-29 Intel Corporation Apparatuses, methods, and systems for dynamic bypassing of last level cache
WO2022092416A1 (ko) 2020-11-02 2022-05-05 주식회사 딥엑스 인공신경망 데이터 지역성에 기초한 인공 신경망 메모리 시스템
US11972137B2 (en) * 2020-11-02 2024-04-30 Deepx Co., Ltd. System and memory for artificial neural network (ANN) optimization using ANN data locality

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7882302B2 (en) * 2007-12-04 2011-02-01 International Business Machines Corporation Method and system for implementing prioritized refresh of DRAM based cache
US8108609B2 (en) * 2007-12-04 2012-01-31 International Business Machines Corporation Structure for implementing dynamic refresh protocols for DRAM based cache
US20090144507A1 (en) * 2007-12-04 2009-06-04 International Business Machines Corporation APPARATUS AND METHOD FOR IMPLEMENTING REFRESHLESS SINGLE TRANSISTOR CELL eDRAM FOR HIGH PERFORMANCE MEMORY APPLICATIONS

Also Published As

Publication number Publication date
WO2019009994A1 (en) 2019-01-10
US20190013062A1 (en) 2019-01-10
CN110720093A (zh) 2020-01-21
EP3649554A1 (en) 2020-05-13

Similar Documents

Publication Publication Date Title
US10169240B2 (en) Reducing memory access bandwidth based on prediction of memory request size
TW201917585A (zh) 用於動態隨機存取記憶體之選擇性更新機制
US7558920B2 (en) Apparatus and method for partitioning a shared cache of a chip multi-processor
US10223278B2 (en) Selective bypassing of allocation in a cache
TWI545435B (zh) 於階層式快取處理器中之協調預取
US20190018798A1 (en) Cost-aware cache replacement
CN110580229B (zh) 扩展线宽存储器侧高速缓存系统和方法
CN106030549B (zh) 用于对晶片外高速缓存存储器的标签集高速缓存的方法、装置和系统
US20240248849A1 (en) Memory-aware pre-fetching and cache bypassing systems and methods
US8583874B2 (en) Method and apparatus for caching prefetched data
CN115509955A (zh) 预测性数据存储分级存储器系统及方法
US20170286210A1 (en) Handling of Error Prone Cache Line Slots Of Memory Side Cache of Multi-Level System Memory
US9990293B2 (en) Energy-efficient dynamic dram cache sizing via selective refresh of a cache in a dram
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
US20120278548A1 (en) Optimizing edram refresh rates in a high performance cache architecture
US10120806B2 (en) Multi-level system memory with near memory scrubbing based on predicted far memory idle time
US9836396B2 (en) Method for managing a last level cache and apparatus utilizing the same
US11055228B2 (en) Caching bypass mechanism for a multi-level memory
TW201732599A (zh) 使用動態隨機存取記憶體(dram)快取指示符快取以提供可擴展dram快取管理
US20190034342A1 (en) Cache design technique based on access distance
TW202026889A (zh) 用於預獲取儲存指令的獨佔式快取記憶體一致性狀態的方法、裝置和系統
US20190332166A1 (en) Progressive power-up scheme for caches based on occupancy state
BR112018017135B1 (pt) Circuito de gerenciamento em cache de memória de acesso aleatório dinâmica (dram), método para fornecer gerenciamento em cache dram e memória legível por computador