TW201732599A - 使用動態隨機存取記憶體(dram)快取指示符快取以提供可擴展dram快取管理 - Google Patents

使用動態隨機存取記憶體(dram)快取指示符快取以提供可擴展dram快取管理 Download PDF

Info

Publication number
TW201732599A
TW201732599A TW106102354A TW106102354A TW201732599A TW 201732599 A TW201732599 A TW 201732599A TW 106102354 A TW106102354 A TW 106102354A TW 106102354 A TW106102354 A TW 106102354A TW 201732599 A TW201732599 A TW 201732599A
Authority
TW
Taiwan
Prior art keywords
memory
dram
cache
dram cache
address
Prior art date
Application number
TW106102354A
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 TW201732599A publication Critical patent/TW201732599A/zh

Links

Classifications

    • 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
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • 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/12Replacement control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/1008Correctness of operation, e.g. memory ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/281Single cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/70Details relating to dynamic memory management
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer

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)

Abstract

本發明提供使用動態隨機存取記憶體(DRAM)快取指示符快取記憶體以提供可擴展DRAM快取管理。在一個態樣中,提供一DRAM快取管理電路以管理對高頻寬記憶體中之一DRAM快取記憶體的存取。該DRAM快取管理電路包含一DRAM快取指示符快取記憶體,其儲存自一系統記憶體DRAM中之一主控表讀取並含有DRAM快取指示符的主控表項。該等DRAM快取指示符使得該DRAM快取管理電路能夠判定該系統記憶體DRAM中之一記憶體行是否在高頻寬記憶體之該DRAM快取記憶體中被快取,且若是,則判定該記憶體行被儲存在該DRAM快取記憶體之哪一路中。基於該DRAM快取指示符快取記憶體,該DRAM快取管理電路可判定是否採用該DRAM快取記憶體及/或該系統記憶體DRAM而以一最佳化方式執行一記憶體存取操作。

Description

使用動態隨機存取記憶體(DRAM)快取指示符快取以提供可擴展DRAM快取管理
本發明之技術大體上係關於動態隨機存取記憶體(DRAM)管理,且詳言之係關於DRAM快取記憶體之管理。
由經垂直互連之多個堆疊晶粒構成的晶粒堆疊積體電路(IC)之出現已使得能夠開發晶粒堆疊式動態隨機存取記憶體(DRAM)。晶粒堆疊式DRAM可用於實施本文中稱為「高頻寬記憶體」之記憶體。高頻寬記憶體提供比習知系統記憶體DRAM更大的頻寬,同時提供類似存取潛時。在一些實施中,高頻寬記憶體亦可為「附近」記憶體,或相較於其他系統記憶體DRAM更接近於記憶體介面實體地定位的記憶體。高頻寬記憶體可用於實施DRAM快取記憶體以儲存先前自系統記憶體DRAM讀取且自較高階快取記憶體(諸如作為非限制性實例的3階(L3)快取記憶體)逐出的經頻繁存取之資料。提供高頻寬記憶體中之DRAM快取記憶體可減少系統記憶體DRAM上的記憶體爭用,且因此實際上增加整體記憶體頻寬。 然而,高頻寬記憶體中之DRAM快取記憶體的管理可造成挑戰。DRAM快取記憶體大小相較於系統記憶體DRAM小數個數量級。因此,因為DRAM快取記憶體可僅僅儲存系統記憶體DRAM中的資料之子集,所以DRAM快取記憶體之有效使用取決於待儲存的記憶體位址之智慧型選擇。因此,DRAM快取管理機構應能夠判定哪些記憶體位址應選擇性地安裝在DRAM快取記憶體中,且應進一步能夠判定記憶體位址何時應安裝在DRAM快取記憶體中及/或自DRAM快取記憶體中逐出。對於DRAM快取管理機構而言,亦可需要最小化對DRAM快取記憶體之存取潛時的影響,且相對於DRAM快取記憶體大小及/或系統記憶體DRAM大小可擴展。 類似於可管理習知快取記憶體的方式,DRAM快取管理之一些方法利用用於儲存對應於經快取記憶體位址之標籤的快取記憶體。根據一種此類方法,與DRAM快取記憶體相關聯的所有標籤儲存於計算晶粒上與高頻寬記憶體分離的靜態隨機存取記憶體(SRAM)中。然而,此方法可並非可充分擴展DRAM快取記憶體大小,此係由於較大DRAM快取記憶體大小可需要較大區域用於非所需及/或太大以致不能儲存於SRAM中的標籤。另一方法涉及將標籤定位於DRAM快取記憶體自身內而非定位於計算晶粒上之SRAM內,及使用命中/錯過預測器以判定給定記憶體位址是否儲存於DRAM快取記憶體內。雖然此後一方法最小化計算晶粒中之SRAM的使用量,但任何不正確預測將導致資料自系統記憶體DRAM讀取。舉例而言,若命中/錯過預測器不正確地預測記憶體位址定位於DRAM快取記憶體中,則潛時懲罰係由在自系統記憶體DRAM讀取記憶體位址之前對DRAM快取記憶體之不必要讀取而引發。相反,若命中/錯過預測器不正確地預測記憶體位址並不定位於DRAM快取記憶體中,則避免對系統記憶體DRAM之不必要讀取的機會可能被浪費。不必要額外讀取引發額外存取潛時,其可抵消由使用DRAM快取記憶體產生的任何效能改良。 因此,需要提供可擴展的DRAM快取管理以改良記憶體頻寬同時最小化SRAM消耗及潛時懲罰。
詳細描述中揭示之態樣包括使用動態隨機存取記憶體(DRAM)快取指示符快取記憶體提供可擴展DRAM快取管理。在一些態樣中,提供DRAM快取管理電路以管理對高頻寬記憶體中之DRAM快取記憶體的存取。DRAM快取管理電路包含一DRAM快取指示符快取記憶體,該DRAM快取指示符快取記憶體用以快取主控表項,該等主控表項含有DRAM快取指示符且自系統記憶體DRAM中之主控表予以讀取。DRAM快取指示符使得DRAM快取管理電路能夠判定系統記憶體DRAM中之記憶體行是否在DRAM快取記憶體中被快取(亦即,使用高頻寬記憶體實施),且若是,則判定記憶體行儲存在DRAM快取記憶體之哪一路。基於DRAM快取指示符快取記憶體,DRAM快取管理電路可判定記憶體操作是否可使用DRAM快取記憶體及/或使用系統記憶體DRAM而執行。DRAM快取管理電路之一些態樣可進一步提供負載平衡電路。在資料可自DRAM快取記憶體或系統記憶體DRAM讀取的情形中,DRAM快取管理電路可使用負載平衡電路來選擇讀取資料所自的適當源。 DRAM快取管理電路之其他態樣可經組態以在完全寫入模式或回寫中操作。在後一態樣中,DRAM快取指示符快取記憶體可為儲存於其中之每一記憶體行提供已變更位元。在一些態樣中,DRAM快取記憶體及/或DRAM快取指示符快取記憶體可基於機率性判定而由DRAM快取管理電路來補充。舉例而言,DRAM快取管理電路可經組態而以隨機間隔補充DRAM快取記憶體及/或DRAM快取指示符快取記憶體,以使得僅一百分比之經隨機選擇之資料被寫入至DRAM快取記憶體及/或DRAM快取指示符快取記憶體。 在另一態樣中,提供一種DRAM快取管理電路。DRAM快取管理電路以通信方式耦接至為高頻寬記憶體之部分的DRAM快取記憶體,且進一步以通信方式耦接至系統記憶體DRAM。DRAM快取管理電路包含經組態以快取自系統記憶體DRAM中之主控表讀取的複數個DRAM快取指示符之DRAM快取指示符快取記憶體。該複數個DRAM快取指示符指示系統記憶體DRAM之對應記憶體行是否在DRAM快取記憶體中被快取。DRAM快取管理電路經組態以接收包含讀取位址之記憶體讀取請求。DRAM快取管理電路經進一步組態以判定讀取位址是否係在DRAM快取指示符快取記憶體中被發現。DRAM快取管理電路亦經組態以回應於判定讀取位址在DRAM快取指示符快取記憶體中未被發現,讀取在系統記憶體DRAM中之讀取位址處的資料。DRAM快取管理電路另外經組態以回應於判定讀取位址在DRAM快取指示符快取記憶體中被發現,基於DRAM快取指示符快取記憶體而判定讀取位址是否在DRAM快取記憶體中被發現。DRAM快取管理電路經進一步組態以回應於判定讀取位址在DRAM快取記憶體中未被發現,讀取在系統記憶體DRAM中之讀取位址處的資料。DRAM快取管理電路亦經組態以回應於判定讀取位址在DRAM快取記憶體中被發現,自DRAM快取記憶體讀取針對讀取位址之資料。 在另一態樣中,提供一種用於提供可擴展DRAM快取管理之方法。該方法包含藉由DRAM快取管理電路接收包含讀取位址之記憶體讀取請求。該方法進一步包含判定讀取位址是否在DRAM快取管理電路之DRAM快取指示符快取記憶體中被發現。該方法亦包含回應於判定讀取位址在DRAM快取指示符快取記憶體中未被發現,讀取在系統記憶體DRAM中之讀取位址處的資料。該方法另外包含回應於判定讀取位址在DRAM快取指示符快取記憶體中被發現,基於DRAM快取指示符快取記憶體判定讀取位址是否在為高頻寬記憶體之部分的DRAM快取記憶體中被發現。該方法亦包含回應於判定讀取位址在DRAM快取記憶體中未被發現,讀取在系統記憶體DRAM中之讀取位址處的資料。該方法另外包含回應於判定讀取位址在DRAM快取記憶體中被發現,自DRAM快取記憶體讀取針對讀取位址之資料。 在另一態樣中,提供一種DRAM快取管理電路。DRAM快取管理電路包含用於接收包含讀取位址之記憶體讀取請求的構件。DRAM快取管理電路進一步包含用於判定讀取位址是否在DRAM快取管理電路之DRAM快取指示符快取記憶體中被發現的構件。DRAM快取管理電路亦包含用於回應於判定讀取位址在DRAM快取指示符快取記憶體中未被發現而讀取在系統記憶體DRAM中之讀取位址處之資料的構件。DRAM快取管理電路另外包含用於回應於判定讀取位址在DRAM快取指示符快取記憶體中被發現而基於DRAM快取指示符快取記憶體判定讀取位址是否在為高頻寬記憶體之部分的DRAM快取記憶體中被發現的構件。DRAM快取管理電路進一步包含用於回應於判定讀取位址在DRAM快取記憶體中未被發現而讀取在系統記憶體DRAM中之讀取位址處之資料的構件。DRAM快取管理電路亦包含用於回應於判定讀取位址在DRAM快取記憶體中被發現而自DRAM快取記憶體讀取針對讀取位址的資料之構件。 在另一態樣中,提供一種上面儲存有電腦可執行指令之非暫時性電腦可讀媒體。當藉由一處理器執行時,該等電腦可執行指令使得該處理器接收包含讀取位址之記憶體讀取請求。該等電腦可執行指令進一步使得處理器判定讀取位址是否在DRAM快取管理電路之DRAM快取指示符快取記憶體中被發現。該等電腦可執行指令亦使得處理器回應於判定讀取位址在DRAM快取指示符快取記憶體中未被發現而讀取在系統記憶體DRAM中之讀取位址處之資料。該等電腦可執行指令另外使得處理器回應於判定讀取位址在DRAM快取指示符快取記憶體中被發現而基於DRAM快取指示符快取記憶體判定讀取位址是否在為高頻寬記憶體之部分的DRAM快取記憶體中被發現。該等電腦可執行指令進一步使得處理器回應於判定讀取位址未在DRAM快取記憶體中被發現而讀取在系統記憶體DRAM中之讀取位址處之資料。該等電腦可執行指令亦使得處理器回應於判定讀取位址在DRAM快取記憶體中被發現而自DRAM快取記憶體讀取針對讀取位址的資料。
本申請案根據35 U.S.C. § 119(e)主張2016年2月22日申請且題為「PROVIDING SCALABLE DYNAMIC RANDOM ACCESS MEMORY (DRAM) CACHE MANAGEMENT USING DRAM CACHE INDICATOR CACHES」的美國臨時專利申請案第62/298,088號的優先權,該案之內容以全文引用的方式併入本文中。 現在參考圖式,描述本發明之若干例示性態樣。詞語「例示性」在本文中用以意謂「充當實例、例項或說明」。不必將本文中描述為「例示性」之任何態樣解譯為較佳或優於其他態樣。 詳細描述中揭示的態樣包括使用動態隨機存取記憶體(DRAM)快取指示符快取記憶體提供可擴展DRAM快取管理。如本文中所描述,DRAM快取管理方案在由DRAM快取管理方案利用的資源之大小相對獨立於被管理的DRAM快取記憶體之容量的意義上為「可擴展的」。因此,就此而言,圖1為例示性基於處理器之系統100的方塊圖,該基於處理器之系統100提供用於管理為高頻寬記憶體106之部分的DRAM快取記憶體104之DRAM快取管理電路102。基於處理器之系統100包括系統記憶體DRAM 108,其在一些態樣中可包含一或多個雙行記憶體模組(DIMM)(未圖示)。基於處理器之系統100進一步提供計算晶粒110,系統快取記憶體112 (作為非限制性實例諸如3階(L3)快取記憶體)定位於該計算晶粒上。基於處理器之系統100可涵蓋已知數位邏輯元件、半導體電路、處理核心及/或記憶體結構以及其他元件或其組合中之任一者。本文中所描述之態樣並不約束於元件之任何特定配置,且所揭示技術可易於擴展至半導體晶粒或封裝上之各種結構及佈局。應理解,基於處理器之系統100的一些態樣可包括除圖1中所說明之彼等元件以外的元件。 為改良記憶體頻寬,基於處理器之系統100的高頻寬記憶體106內之DRAM快取記憶體104可用於快取先前自系統記憶體DRAM 108內之記憶體行114(0)至114(X)讀取及/或自系統快取記憶體112逐出的記憶體位址(未圖示)及資料(未圖示)。作為非限制性實例,一些態樣可規定僅僅在自系統記憶體DRAM 108讀取資料後才可在DRAM快取記憶體104中快取資料,而在一些態樣中資料可僅僅在自系統快取記憶體112逐出時才在DRAM快取記憶體104中被快取。根據一些態樣,對於由處理器載入及來自系統快取記憶體112之已變更逐出所觸發的讀取,在自系統記憶體DRAM 108讀取資料後可在DRAM快取記憶體104中快取資料。 高頻寬記憶體106內之DRAM快取記憶體104可獨立於系統記憶體DRAM 108及與系統記憶體DRAM 108並行地存取。因此,記憶體頻寬可藉由同時自DRAM快取記憶體104及系統記憶體DRAM 108兩者讀取而有效增加。在一些態樣中,DRAM快取記憶體104可實施隨機替換策略以判定DRAM快取記憶體104內之逐出的候選者。 儲存在系統記憶體DRAM 108中之主控表116用以追蹤系統記憶體DRAM 108之哪些記憶體行114(0)至114(X)儲存於DRAM快取記憶體104中。應理解,如本文中所使用,系統記憶體DRAM 108之「記憶體行」指系統記憶體DRAM 108的具有等於系統快取記憶體112之快取行(未圖示)之長度的長度之一部分。主控表116含有用於儲存針對系統記憶體DRAM 108的記憶體行114(0)至114(X)中之每一者的DRAM快取指示符120(0)至120(X)的主控表項118(0)至118(M)。一些態樣可規定,主控表項118(0)至118(M)中的每一者之大小對應於底層記憶體之記憶體存取粒度。作為非限制性實例,對於64個位元組之記憶體存取粒度,主控表項118(0)至118(M)中之每一者同樣包含64個位元組。因此,在DRAM快取指示符120(0)至120(X)中之每一者包含四(4)個位元的態樣中,主控表116的64位元組主控表項118(0)至118(M)中之每一者可儲存針對系統記憶體DRAM 108之128個記憶體行114(0)至114(X)的DRAM快取指示符120(0)至120(X)。 在一些態樣中,主控表116中之DRAM快取指示符120(0)至120(X)中的每一者不僅指示系統記憶體DRAM 108之對應記憶體行114(0)至114(X)是否儲存於高頻寬記憶體106之DRAM快取記憶體104中,而且指示對應記憶體行114(0)至114(X)儲存於DRAM快取記憶體104之哪一路122(0)至122(Z)中。舉例而言,在一些態樣中,DRAM快取指示符120(0)至120(X)中的每一者包含四(4)個位元,且DRAM快取記憶體104可提供15個路122(0)至122(14)(亦即,24 -1)。具有零(0)值之DRAM快取指示符120(0)至120(X)指示系統記憶體DRAM 108之對應記憶體行114(0)至114(X)不儲存於DRAM快取記憶體104中。具有大於零(0)之值N的DRAM快取指示符120(0)至120(X)指示系統記憶體DRAM 108之對應記憶體行114(0)至114(X)於路122(N-1)中儲存於DRAM快取記憶體104中,其中0≤N-1≤Z。 應理解,在一些態樣中,主控表116之主控表項118(0)至118(M)可根據由DRAM快取記憶體104提供的路122(0)至122(Z)之數目提供大於或小於四個(4)位元的DRAM快取指示符120(0)至120(X)。作為非限制性實例,對於每一DRAM快取指示符120(0)至120(X)中之位元的編號Q,DRAM快取記憶體104可提供某數目個路122(0)至122(Z),其中Z=2Q -1。因此,包含兩(2)個位元之DRAM快取指示符120(0)至120(X)對應於經組織成三(3)路122(0)至122(2)的DRAM快取記憶體104,而包含三(3)位元之DRAM快取指示符120(0)至120(X)對應於提供七(7)路122(0)至122(6)之DRAM快取記憶體104。下文關於圖2A及圖2B更詳細地論述DRAM快取指示符120(0)至120(X)及DRAM快取記憶體104之不同組態。 因為主控表116之主控表項118(0)至118(M)儲存針對系統記憶體DRAM 108中之每一記憶體行114(0)至114(X)的DRAM快取指示符120(0)至120(X),所以主控表116之大小隨著系統記憶體DRAM 108之大小增加而增加。舉例而言,在主控表116內之DRAM快取指示符120(0)至120(X)各自為四(4)位元的態樣中,主控表116之總大小為系統記憶體DRAM 108之大小的0.4%。因此,存取用於每一記憶體操作之主控表116可引發可補償使用DRAM快取記憶體104之效能益處的潛時懲罰。因此,需要提供可擴展機構以用於管理對DRAM快取記憶體104之存取以改良記憶體頻寬同時最小化潛時懲罰。 就此而言,DRAM快取管理電路102經提供以管理對DRAM快取記憶體104之存取。DRAM快取管理電路102定位於計算晶粒110上,且以通信方式耦接至高頻寬記憶體106及系統記憶體DRAM 108。亦可由系統快取記憶體112自DRAM快取管理電路102進行讀取,並由系統快取記憶體112對DRAM快取管理電路102進行寫入。如下文更詳細地論述,DRAM快取管理電路102可回應於接收到包含讀取位址126之記憶體讀取請求124而執行記憶體讀取操作,該讀取位址指定擷取資料所自的記憶體位址。在一些態樣中,DRAM快取管理電路102可回應於接收到記憶體寫入請求128而進一步執行記憶體寫入操作,該記憶體寫入請求包含寫入資料132將寫入至的寫入位址130。 為減少可由對主控表116之存取引起的存取潛時,DRAM快取管理電路102提供DRAM快取指示符快取記憶體134。 DRAM快取指示符快取記憶體134由DRAM快取管理電路102使用以在DRAM快取指示符快取行138(0)至138(Y)之路136(0)至136(C)、136'(0)至136'(C)內快取經頻繁存取之主控表項118(0)至118(M)(及儲存於其中之DRAM快取指示符120(0)至120(X))。在一些態樣中,DRAM快取指示符快取記憶體134的路136(0)至136(C)、136'(0)至136'(C)中的每一者之大小對應於主控表116中之主控表項118(0)至118(M)之大小。一些態樣可規定DRAM快取指示符快取記憶體134的路136(0)至136(C)、136'(0)至136'(C)中的每一者之大小可大於主控表116中的主控表項118(0)至118(M)之大小。作為非限制性實例,DRAM快取指示符快取記憶體134之路136(0)至136(C)、136'(0)至136'(C)可包括已變更指示符140(0)至140(C)、140'(0)至140'(C),其每一路136(0)至136(C)、136'(0)至136'(C)添加一(1)個位元。因此,在路136(0)至136(C)、136'(0)至136'(C)在每一DRAM快取指示符120(0)至120(X)四 (4)個位元之情況下大小為64個位元組的態樣中,可需要總共128個額外位元以提供已變更指示符140(0)至140(C)、140'(0)至140'(C)。 DRAM快取管理電路102之一些態樣可進一步提供負載平衡電路142以改良記憶體頻寬並減少記憶體存取爭用。在可自系統記憶體DRAM 108或DRAM快取記憶體104讀取經請求記憶體位址的情形中,負載平衡電路142識別讀取記憶體位址所自的最適當源。舉例而言,在一些態樣中,負載平衡電路142可監視自DRAM快取記憶體104及系統記憶體DRAM 108的讀取的潛時,並可選擇最近具有較好平均潛時的源。以此方式,負載平衡電路142可在系統記憶體DRAM 108與DRAM快取記憶體104之間分配記憶體存取以最佳化系統資源之使用。 在一些態樣中,DRAM快取管理電路102可經實施為「完全寫入」快取管理系統。在完全寫入實施中,自系統快取記憶體112逐出的已變更(亦即,經修改)資料藉由DRAM快取管理電路102寫入至高頻寬記憶體106之DRAM快取記憶體104及系統記憶體DRAM 108兩者。因此,DRAM快取記憶體104內之資料及系統記憶體DRAM 108內之資料始終經同步。因為在完全寫入實施中的DRAM快取記憶體104及系統記憶體DRAM 108兩者被確保含有正確資料,所以DRAM快取管理電路102之負載平衡電路142可自由地負載平衡DRAM快取記憶體104與系統記憶體DRAM 108之間的記憶體讀取操作。然而,DRAM快取管理電路102之完全寫入實施可不導致系統記憶體DRAM 108的減少之寫入頻寬,此係由於對DRAM快取記憶體104之每一寫入將對應於對系統記憶體DRAM 108之寫入。 DRAM快取管理電路102之一些態樣可經實施為「回寫」快取管理系統,其中DRAM快取管理電路102之DRAM快取指示符快取記憶體134包括用於其中之每一路136(0)至136(C)、136'(0)至136'(C)的已變更指示符140(0)至140(C)、140'(0)至140'(C)。已變更指示符140(0)至140(C)、140'(0)至140'(C)中之每一者指示儲存於對應於DRAM快取指示符快取記憶體134內之路136(0)至136(C)、136'(0)至136'(C)的DRAM快取記憶體104中之資料是否為已變更(亦即,資料是否被寫入至DRAM快取記憶體104但並未寫入至系統記憶體DRAM 108)。若資料並非為已變更的,則資料可自DRAM快取記憶體104或系統記憶體DRAM 108讀取,如由DRAM快取管理電路102之負載平衡電路142所判定。然而,若已變更指示符140(0)至140(C)、140'(0)至140'(C)指示儲存於DRAM快取記憶體104中之資料為已變更的,則負載平衡係不可能的,此係由於DRAM快取記憶體104為經修改資料之唯一源。因此,DRAM快取管理電路102自DRAM快取記憶體104讀取已變更資料。 DRAM快取管理電路102之回寫實施可減少系統記憶體DRAM 108之記憶體寫入頻寬消耗,但DRAM快取管理電路102最終必須將自DRAM快取記憶體104逐出的已變更資料回寫至系統記憶體DRAM 108。在DRAM快取管理電路102的回寫實施之一些態樣中,當DRAM快取指示符快取行138(0)至138(Y)自DRAM快取指示符快取記憶體134逐出時,DRAM快取管理電路102經組態以將DRAM快取記憶體104中之對應於經逐出DRAM快取指示符快取行138(0)至138(Y)的所有已變更資料複本至系統記憶體DRAM 108。 DRAM快取管理電路102之一些態樣可根據藉由DRAM快取管理電路102進行的對應機率判定藉由執行一些操作(例如,作為非限制性實例,涉及對系統記憶體DRAM 108及/或DRAM快取記憶體104之記憶體存取的操作)而進一步改良記憶體頻寬。每一機率判定可用於調諧對應操作之頻率,且可為無狀態的(亦即,與先前機率判定之結果不相關)。舉例而言,根據DRAM快取管理電路102之一些態樣,由系統快取記憶體112逐出的資料可基於機率判定而寫入至DRAM快取記憶體104,以使得藉由系統快取記憶體112逐出的僅僅一百分比經隨機選擇資料寫入至DRAM快取記憶體104。類似地,DRAM快取管理電路102之一些態樣可經組態以基於機率判定補充DRAM快取指示符快取記憶體134(例如,藉由將讀取資料之主控表項118(0)至118(M)自主控表116複本至DRAM快取指示符快取記憶體134)。因此,應理解,本文中描述為「機率性地」發生之每一操作在給定例項中可能執行或可能不執行,且進一步理解其給定機率操作之發生或缺少可藉由DRAM快取管理電路102進一步觸發額外操作。 為說明圖1之DRAM快取記憶體104之一些實施的例示性主控表項118(0)至118(M)及DRAM快取指示符120(0)至120(X)內容,提供圖2A至圖2B。圖2A說明包含15路的DRAM快取記憶體104之實施,而圖2B說明包含三(3)路的DRAM快取記憶體104之實施。為清楚起見,在描述圖2A及圖2B時參考圖1之元件。 在圖2A中,說明具有64個位元組之大小的例示性主控表項200(其可對應於圖1之主控表項118(0)至118(M)中的一者)。主控表項200包括DRAM快取指示符202(0)至202(127)(對應於圖1之DRAM快取指示符120(0)至120(X)),其每一者大小為四(4)個位元。因此,主控表項200儲存針對系統記憶體DRAM 108之128個記憶體行114(0)至114(X)的DRAM快取指示符202(0)至202(127)。為了快取DRAM快取指示符202(0)至202(127),DRAM快取指示符快取記憶體134提供DRAM快取指示符快取行204(0)至204(511)(對應於圖1之DRAM快取指示符快取行138(0)至138(Y))。DRAM快取指示符快取行204(0)至204(511)中的每一者由八(8)路(諸如,分別為DRAM快取指示符快取行204(0)、204(511)之路206(0)至206(7)、208(0)至208(7))構成。路206(0)至206(7)、208(0)至208(7)中之每一者對應於圖1之路136(0)至136(C)、136'(0)至136'(C),且可儲存一(1)個主控表項,諸如主控表項200。 現參看圖2B,展示具有64個位元組之主控表項210。在圖2B之實例中,主控表項210包括DRAM快取指示符212(0)至212(255),其每一者大小為兩個(2)位元。因此,主控表項210儲存針對系統記憶體DRAM 108之256個記憶體行的DRAM快取指示符212(0)至212(255)。在此實例中之DRAM快取指示符快取記憶體134提供DRAM快取指示符快取行214(0)至214(511)以快取DRAM快取指示符212(0)至212(255)。DRAM快取指示符快取行214(0)至214(511)中的每一者由八(8)路(諸如,分別為DRAM快取指示符快取行214(0)、214(511)之路216(0)至216(7)、218(0)至218(7))構成。路216(0)至216(7)、218(0)至218(7)中之每一者可儲存一(1)個主控表項,諸如主控表項210。 圖3為說明用於使用圖1之DRAM快取指示符快取記憶體134及DRAM快取記憶體104來執行讀取操作的圖1之DRAM快取管理電路102之例示性操作的流程圖。為清楚起見,在描述圖3時參考圖1之元件。在圖3中,操作以DRAM快取管理電路102接收包含讀取位址126之記憶體讀取請求124(例如,由於系統快取記憶體112上之錯過)開始(區塊300)。因此,DRAM快取管理電路102可在本文中稱為「用於接收包含讀取位址之記憶體讀取請求的構件」。DRAM快取管理電路102判定讀取位址126是否在DRAM快取管理電路102之DRAM快取指示符快取記憶體134中被發現(區塊302)。DRAM快取管理電路102因此可在本文中稱為「用於判定讀取位址是否在DRAM快取管理電路之DRAM快取指示符快取記憶體中被發現的構件」。 若記憶體讀取請求124之讀取位址126在DRAM快取指示符快取記憶體134中未被發現,則DRAM快取管理電路102讀取在系統記憶體DRAM 108中之讀取位址126處的資料(區塊304)。就此而言,DRAM快取管理電路102可在本文中稱為「用於回應於判定讀取位址在DRAM快取指示符快取記憶體中未被發現而讀取在系統記憶體DRAM中之讀取位址處之資料的構件」。與對讀取位址126處之資料進行讀取並行地,DRAM快取管理電路102之一些態樣可機率性地補充DRAM快取指示符快取記憶體134(區塊306)。藉由補充DRAM快取指示符快取記憶體134,後續讀取(其可在空間上鄰近於讀取資料)將引起DRAM快取指示符快取記憶體134命中的似然度可得以增加。 作為非限制性實例,在一些態樣中,機率性地補充DRAM快取指示符快取記憶體134可包括將所讀取資料之主控表項118(0)至118(M)自主控表116複本至DRAM快取指示符快取記憶體134。一些態樣可規定,用於補充DRAM快取指示符快取記憶體134的區塊306之操作可包括自系統記憶體DRAM 108中之主控表116跨越讀取位址126讀取主控表項118(0)至118(M)。主控表項118(0)至118(M)接著安裝於DRAM快取指示符快取記憶體134中。若主控表項118(0)至118(M)之安裝使得路136(0)至136(C)、136'(0)至136'(C)中之一者自DRAM快取指示符快取記憶體134逐出,則經逐出路136(0)至136(C)、136'(0)至136'(C)之內容(不具有可能存在的任何已變更指示符140(0)至140(C)、140'(0)至140'(C))經寫入至系統記憶體DRAM 108中之主控表116。在DRAM快取管理電路102經組態以在回寫模式中操作之態樣中,由經逐出路136(0)至136(C)、136'(0)至136'(C)指示的任何已變更DRAM快取行亦自DRAM快取記憶體104複本至系統記憶體DRAM 108。 若DRAM快取管理電路102在決定區塊302處判定讀取位址126在DRAM快取指示符快取記憶體134中被發現,則DRAM快取管理電路102接下來基於DRAM快取指示符快取記憶體134判定讀取位址126是否在為高頻寬記憶體106之部分的DRAM快取記憶體104中被發現(區塊308)。因此,DRAM快取管理電路102可在本文中稱為「用於回應於判定讀取位址在DRAM快取指示符快取記憶體中被發現而基於DRAM快取指示符快取記憶體判定讀取位址是否在為高頻寬記憶體之部分的DRAM快取記憶體中被發現的構件」。在一些態樣中,判定讀取位址126是否在DRAM快取記憶體104中被發現可包括判定DRAM快取指示符快取記憶體134中之用於讀取位址126的路編號是否為非零。若是,則讀取位址126係在DRAM快取記憶體104中。否則,若DRAM快取指示符快取記憶體134中之用於讀取位址126的路編號為零(0),則讀取位址126不在DRAM快取記憶體104中。 若讀取位址126在DRAM快取記憶體104中未被發現,則DRAM快取管理電路102讀取在系統記憶體DRAM 108中之讀取位址126處的資料(區塊310)。DRAM快取管理電路102因此可在本文中稱為「用於回應於判定讀取位址在DRAM快取記憶體中未被發現而讀取在系統記憶體DRAM中之讀取位址處之資料的構件」。然而,若DRAM快取管理電路102在決定區塊308處判定讀取位址126在DRAM快取記憶體104中被發現,則DRAM快取管理電路102在一些態樣中判定DRAM快取記憶體104中之針對讀取位址126的資料是否清潔(或替代地,DRAM快取管理電路102是否經組態以在完全寫入模式中操作)(區塊312)。若DRAM快取記憶體104中之資料不清潔及/或DRAM快取管理電路102並非在完全寫入模式中操作,則經請求資料可僅僅自DRAM快取記憶體104被安全地讀取。因此,DRAM快取管理電路102自DRAM快取記憶體104讀取針對讀取位址126之資料(區塊314)。就此而言,DRAM快取管理電路102可在本文中稱為「用於回應於判定讀取位址在DRAM快取記憶體中被發現而自DRAM快取記憶體讀取針對讀取位址之資料的構件」。 若DRAM快取管理電路102在決定區塊312處判定DRAM快取記憶體104中之資料為清潔的及/或DRAM快取管理電路102在完全寫入模式中操作,則經請求資料可自系統記憶體DRAM 108或DRAM快取記憶體104被安全地讀取。因此,作為非限制性實例,DRAM快取管理電路102之負載平衡電路142基於負載平衡準則(諸如頻寬及潛時)自DRAM快取記憶體104及系統記憶體DRAM 108當中識別較佳資料源(區塊316)。若負載平衡電路142判定系統記憶體DRAM 108為較佳資料源,則讀取位址126處之資料可自系統記憶體DRAM 108讀取(區塊318)。類似地,若負載平衡電路142判定DRAM快取記憶體104為較佳資料源,則針對讀取位址126之資料可自DRAM快取記憶體104讀取(區塊320)。 為了說明圖1的DRAM快取管理電路102之用於在完全寫入模式中或在回寫模式中執行由清潔(亦即,未經修改)資料自系統快取記憶體112之逐出引起的寫入操作的例示性操作,提供圖4A至圖4C。為清楚起見,在描述圖4A至圖4C時參考圖1之元件。圖4A中之操作以DRAM快取管理電路102接收包含寫入位址130及寫入資料132之記憶體寫入請求128(區塊400)開始。在此實例中,寫入資料132表示自系統快取記憶體112逐出的清潔(亦即,未經修改)資料,且因此在本文中稱為「清潔逐出之資料132」。 DRAM快取管理電路102判定清潔逐出之資料132的寫入位址130是否在DRAM快取指示符快取記憶體134中被發現(區塊402)。若寫入位址130不存在於DRAM快取指示符快取記憶體134中,則DRAM快取管理電路102機率性地補充DRAM快取指示符快取記憶體134 (例如,藉由將主控表項118(0)至118(M)自主控表116複本至DRAM快取指示符快取記憶體134)(區塊404)。若DRAM快取指示符快取記憶體134在區塊404處不予以補充(亦即,補充經機率性地判定為不發生),則處理完成(區塊406)。否則,DRAM快取管理電路102在區塊408處恢復處理。 若DRAM快取管理電路102在決定區塊402處判定清潔逐出之資料132的寫入位址130存在於DRAM快取指示符快取記憶體134中(或若在區塊404處補充DRAM快取指示符快取記憶體134),則DRAM快取管理電路102接下來判定清潔逐出之資料132的寫入位址130存在於DRAM快取記憶體104中(區塊408)。若寫入位址130存在於DRAM快取記憶體104中,則處理完成(區塊406)。然而,若清潔逐出之資料132的寫入位址130不存在於DRAM快取記憶體104中,則處理在圖4B之區塊410處恢復。 現參看圖4B,DRAM快取管理電路102接下來將寫入位址130及清潔逐出之資料132機率性地寫入至DRAM快取記憶體104(區塊410)。在一些態樣中,用於將寫入位址130及清潔逐出之資料132寫入至DRAM快取記憶體104的區塊410之操作可包括首先隨機地選擇待自DRAM快取記憶體104逐出的路122(0)至122(Z)(區塊412)。DRAM快取管理電路102自DRAM快取記憶體104讀取所選擇路122(0)至122(Z)之記憶體位址(區塊414)。DRAM快取管理電路102接著將寫入位址130及清潔逐出之資料132寫入至DRAM快取記憶體104中之所選擇路122(0)至122(Z)(區塊416)。DRAM快取管理電路102將DRAM快取指示符快取記憶體134中之用於寫入位址130的路編號更新為所選擇路122(0)至122(Z)之路編號(區塊418)。處理接著在圖4C之區塊420處繼續。 轉至圖4C,用於將寫入位址130及清潔逐出之資料132機率性地寫入至DRAM快取記憶體104的區塊410之其他操作包括DRAM快取管理電路102判定所選擇路122(0)至122(Z)之記憶體位址是否存在於DRAM快取指示符快取記憶體134中(區塊420)。若不存在,則處理在圖4C之區塊424處恢復。若DRAM快取管理電路102在決定區塊420處判定所選擇路122(0)至122(Z)之記憶體位址存在於DRAM快取指示符快取記憶體134中,則DRAM快取管理電路102重設DRAM快取指示符快取記憶體134中之針對記憶體位址的所選擇路122(0)至122(Z)之路編號(區塊422)。 若DRAM快取管理電路102在決定區塊420處判定所選擇路122(0)至122(Z)的記憶體位址不存在於DRAM快取指示符快取記憶體134中,則DRAM快取管理電路102補充DRAM快取指示符快取記憶體134(區塊424)。在一些態樣中,用於補充DRAM快取指示符快取記憶體134的區塊424之操作包括自系統記憶體DRAM 108中之主控表116讀取對應於記憶體位址之所選擇路122(0)至122(Z)的主控表項118(0)至118(M)(區塊426)。DRAM快取管理電路102在一些態樣中可接下來基於主控表項118(0)至118(M)將針對記憶體位址的所選擇路122(0)至122(Z)之路編號寫入至DRAM快取指示符快取記憶體134 (區塊428)。在一些態樣中,DRAM快取管理電路102重設對應於記憶體位址的所選擇路122(0)至122(Z)之路編號(區塊430)。DRAM快取管理電路102接著將路編號寫入至系統記憶體DRAM 108中之主控表116(而不需將主控表項118(0)至118(M)安裝於DRAM快取指示符快取記憶體134中)(區塊432)。 圖5A至圖5C經提供以說明用於在完全寫入模式中執行由已變更資料自系統快取記憶體112逐出引起的寫入操作的圖1之DRAM快取管理電路102之例示性操作。為清楚起見,在描述圖5A至圖5C時參考圖1之元件。在圖5A中,操作以DRAM快取管理電路102接收包含寫入位址130及寫入資料132之記憶體寫入請求128 (區塊500)開始。圖5A之實例中的寫入資料132表示自系統快取記憶體112逐出的已變更(亦即,經修改)資料,且因此在本文中稱為「已變更逐出之資料132」。  DRAM快取管理電路102判定已變更逐出之資料132的寫入位址130是否在DRAM快取指示符快取記憶體134中被發現(區塊502)。若寫入位址130不存在於DRAM快取指示符快取記憶體134中,則DRAM快取管理電路102機率性地補充DRAM快取指示符快取記憶體134 (作為非限制性實例,藉由將主控表項118(0)至118(M)自主控表116複本至DRAM快取指示符快取記憶體134)(區塊504)。若DRAM快取指示符快取記憶體134在區塊504處予以補充(亦即,補充經機率性地判定為發生),則處理在區塊506處恢復。否則,DRAM快取管理電路102在系統記憶體DRAM 108中之主控表116中更新對應於寫入位址130之DRAM快取指示符120(0)至120(X)(例如,藉由對針對DRAM快取指示符120(0)至120(X)之主控表項118(0)至118(M)執行讀取-修改-寫入(RMW)操作)(區塊508)。DRAM快取管理電路102接著將已變更逐出之資料132寫入至DRAM快取記憶體104(區塊510)。應理解,在一些態樣中,用於更新DRAM快取指示符120(0)至120(X)之區塊508之操作及用於將已變更逐出之資料132寫入至DRAM快取記憶體104之區塊510的操作可經並行進行。 若DRAM快取管理電路102在決定區塊502處判定已變更逐出之資料132的寫入位址130在DRAM快取指示符快取記憶體134中被發現(或若在區塊504處補充DRAM快取指示符快取記憶體134),則DRAM快取管理電路102接下來判定已變更逐出之資料132的寫入位址130是否在DRAM快取記憶體104中被發現(區塊506)。若寫入位址130未在DRAM快取記憶體104中被發現,則處理在圖5B之區塊512處恢復。然而,若DRAM快取管理電路102在決定區塊506處判定寫入位址130在DRAM快取記憶體104中被發現,則DRAM快取管理電路102將已變更逐出之資料132寫入至DRAM快取記憶體104(例如,藉由對DRAM快取記憶體104執行非-逐出-寫入)(區塊514)。DRAM快取管理電路102接著將已變更逐出之資料132寫入至系統記憶體DRAM 108(區塊516)。 轉至圖5B,DRAM快取管理電路102接下來將寫入位址130及已變更逐出之資料132機率性地寫入至DRAM快取記憶體104 (區塊512)。一些態樣可規定用於將寫入位址130及已變更逐出之資料132寫入至DRAM快取記憶體104的區塊512之操作可包括首先隨機地選擇待自DRAM快取記憶體104逐出的路122(0)至122(Z)(區塊518)。藉由DRAM快取管理電路102自DRAM快取記憶體104讀取所選擇路122(0)至122(Z)之記憶體位址(區塊520)。DRAM快取管理電路102接著將寫入位址130及已變更逐出之資料132寫入至DRAM快取記憶體104中之所選擇路122(0)至122(Z)(區塊522)。DRAM快取管理電路102將DRAM快取指示符快取記憶體134中之用於寫入位址130的路編號更新為所選擇路122(0)至122(Z)之路編號(區塊524)。處理接著在圖5C之區塊526處繼續。 現參看圖5C,用於將寫入位址130及已變更逐出之資料132機率性地寫入至DRAM快取記憶體104的區塊512之其他操作包括DRAM快取管理電路102判定所選擇路122(0)至122(Z)之記憶體位址是否存在於DRAM快取指示符快取記憶體134中(區塊526)。若不存在,則處理在圖5C之區塊528處恢復。若DRAM快取管理電路102在決定區塊526處判定所選擇路122(0)至122(Z)之記憶體位址存在於DRAM快取指示符快取記憶體134中,則DRAM快取管理電路102重設DRAM快取指示符快取記憶體134中之針對記憶體位址的所選擇路122(0)至122(Z)之路編號(區塊530)。 若DRAM快取管理電路102在決定區塊526處判定所選擇路122(0)至122(Z)的記憶體位址不存在於DRAM快取指示符快取記憶體134中,則DRAM快取管理電路102補充DRAM快取指示符快取記憶體134 (區塊528)。在一些態樣中,用於補充DRAM快取指示符快取記憶體134的區塊528之操作包括自系統記憶體DRAM 108中之主控表116讀取對應於記憶體位址之所選擇路122(0)至122(Z)的主控表項118(0)至118(M)(區塊532)。DRAM快取管理電路102在一些態樣中可接下來基於主控表項118(0)至118(M)將針對記憶體位址的所選擇路122(0)至122(Z)之路編號寫入至DRAM快取指示符快取記憶體134 (區塊534)。在一些態樣中,DRAM快取管理電路102重設對應於記憶體位址的所選擇路122(0)至122(Z)之路編號(區塊536)。DRAM快取管理電路102接著將路編號寫入至系統記憶體DRAM 108中之主控表116(而不需將主控表項118(0)至118(M)安裝於DRAM快取指示符快取記憶體134中)(區塊538)。 為了說明用於在回寫模式中執行由已變更資料自系統快取記憶體112之逐出引起的寫入操作的圖1之DRAM快取管理電路102之例示性操作,提供圖6A至圖6D。為清楚起見,在描述圖6A至圖6D時參考圖1之元件。圖6A中之操作以DRAM快取管理電路102接收包含寫入位址130及寫入資料132之記憶體寫入請求128(區塊600)開始。如同圖5A一般,圖6A之實例中的寫入資料132表示自系統快取記憶體112逐出的已變更(亦即,經修改)資料,且因此在本文中稱為「已變更逐出之資料132」。  DRAM快取管理電路102判定已變更逐出之資料132的寫入位址130是否在DRAM快取指示符快取記憶體134中被發現(區塊602)。若寫入位址130不存在於DRAM快取指示符快取記憶體134中,則DRAM快取管理電路102機率性地補充DRAM快取指示符快取記憶體134(例如,藉由將主控表項118(0)至118(M)自主控表116複本至DRAM快取指示符快取記憶體134)(區塊604)。若DRAM快取指示符快取記憶體134在區塊604處予以補充(亦即,補充經機率性地判定為發生),則處理在區塊606處恢復。否則,DRAM快取管理電路102在系統記憶體DRAM 108中之主控表116中更新對應於寫入位址130之DRAM快取指示符120(0)至120(X)(例如,藉由對針對DRAM快取指示符120(0)至120(X)之主控表項118(0)至118(M)執行讀取-修改-寫入(RMW)操作)(區塊608)。DRAM快取管理電路102接著將已變更逐出之資料132寫入至DRAM快取記憶體104 (區塊610)。應理解,在一些態樣中,用於更新DRAM快取指示符120(0)至120(X)的區塊608之操作及用於將已變更逐出之資料132寫入至DRAM快取記憶體104的區塊610之操作可並行地進行。 DRAM快取管理電路102之一些態樣可接下來判定來自主控表116的針對寫入位址130之DRAM快取指示符120(0)至120(X)是否指示寫入位址130係在DRAM快取記憶體104中(區塊612)。若否,則處理完成(區塊614)。然而,若DRAM快取管理電路102在決定區塊612處判定來自主控表116的針對寫入位址130之DRAM快取指示符120(0)至120(X)指示寫入位址130係在DRAM快取記憶體104中,則DRAM快取管理電路102將已變更逐出之資料132寫入至DRAM快取記憶體104 (區塊616)。 返回參看決定區塊602,若DRAM快取管理電路102判定已變更逐出之資料132的寫入位址130在DRAM快取指示符快取記憶體134中被發現((或若在區塊604處補充DRAM快取指示符快取記憶體134),則DRAM快取管理電路102接下來判定已變更逐出之資料132的寫入位址130是否在DRAM快取記憶體104中被發現(區塊606)。若寫入位址130未在DRAM快取記憶體104中被發現,則處理在圖6B之區塊618處恢復。然而,若DRAM快取管理電路102在決定區塊606處判定寫入位址130在DRAM快取記憶體104中被發現,則DRAM快取管理電路102將已變更逐出之資料132寫入至DRAM快取記憶體104(例如,藉由對DRAM快取記憶體104執行非-逐出-寫入操作)(區塊616)。 現轉而參看圖6B,DRAM快取管理電路102接下來將寫入位址130及已變更逐出之資料132機率性地寫入至DRAM快取記憶體104 (區塊618)。根據一些態樣,用於將寫入位址130及已變更逐出之資料132寫入至DRAM快取記憶體104的區塊618之操作可包括首先隨機地選擇待自DRAM快取記憶體104逐出的路122(0)至122(Z)(區塊620)。藉由DRAM快取管理電路102自DRAM快取記憶體104讀取所選擇路122(0)至122(Z)之記憶體位址(區塊622)。DRAM快取管理電路102接著將寫入位址130及已變更逐出之資料132寫入至DRAM快取記憶體104中之所選擇路122(0)至122(Z)(區塊624)。DRAM快取管理電路102將DRAM快取指示符快取記憶體134中之用於寫入位址130的路編號更新為所選擇路122(0)至122(Z)之路編號(區塊626)。DRAM快取管理電路102亦設定DRAM快取指示符快取記憶體134中之針對寫入位址130的已變更指示符140(0)至140(C)、140'(0)至140'(C)(區塊628)。處理接著在圖6C之區塊630處繼續。 在圖6C中,用於將寫入位址130及已變更逐出之資料132機率性地寫入至DRAM快取記憶體104的區塊618之其他操作包括DRAM快取管理電路102判定所選擇路122(0)至122(Z)之記憶體位址是否存在於DRAM快取指示符快取記憶體134中(區塊630)。若否,則處理在圖6D中之區塊632處恢復。若DRAM快取管理電路102在決定區塊630處判定所選擇路122(0)至122(Z)之記憶體位址存在於DRAM快取指示符快取記憶體134中,則DRAM快取管理電路102重設DRAM快取指示符快取記憶體134中之針對記憶體位址的所選擇路122(0)至122(Z)之路編號及已變更指示符140(0)至140(C)、140'(0)至140'(C)(區塊634)。 現參看圖6D,若DRAM快取管理電路102在圖6C之決定區塊630處判定所選擇路122(0)至122(Z)之記憶體位址不存在於DRAM快取指示符快取記憶體134中,則DRAM快取管理電路102補充DRAM快取指示符快取記憶體134(區塊632)。在一些態樣中,用於補充DRAM快取指示符快取記憶體134的區塊632之操作包括自系統記憶體DRAM 108中之主控表116讀取對應於記憶體位址之所選擇路122(0)至122(Z)的主控表項118(0)至118(M)(區塊634)。DRAM快取管理電路102在一些態樣中可接下來基於主控表項118(0)至118(M)將針對記憶體位址的所選擇路122(0)至122(Z)之路編號寫入至DRAM快取指示符快取記憶體134(區塊636)。在一些態樣中,DRAM快取管理電路102重設對應於記憶體位址的所選擇路122(0)至122(Z)之路編號(區塊638)。DRAM快取管理電路102接著將路編號寫入至系統記憶體DRAM 108中之主控表116(而不需將主控表項118(0)至118(M)安裝於DRAM快取指示符快取記憶體134中)(區塊640)。若在區塊618中寫入位址130及已變更逐出之資料132並未機率性地寫入至DRAM快取記憶體104,則DRAM快取管理電路102將已變更逐出之資料132寫入至系統記憶體DRAM 108(區塊642)。 根據本文所揭示之態樣使用DRAM快取指示符快取記憶體以提供可擴展DRAM快取管理可在任一基於處理器之裝置中提供或整合於任一基於處理器之裝置中。實例包括(但不限於)機上盒、娛樂單元、導航裝置、通信裝置、固定位置資料單元、行動位置資料單元、行動電話、蜂巢式電話、智慧型手機、平板電腦、平板手機、電腦、攜帶型電腦、桌上型電腦、個人數位助理(PDA)、監視器、電腦監視器、電視、調諧器、無線電、衛星無線電、音樂播放器、數位音樂播放器、攜帶型音樂播放器、數位視訊播放器、視訊播放器、數位視訊光碟(DVD)播放器、攜帶型數位視訊播放器及汽車。 就此而言,圖7說明可採用圖1中所說明之DRAM快取管理電路(DCMC) 102的基於處理器之系統700之實例。基於處理器之系統700包括一或多個中央處理單元(CPU) 702,每一中央處理單元702包括一或多個處理器704。一或多個CPU 702可具有耦接至一或多個處理器704以用於快速存取暫時儲存之資料的快取記憶體706。一或多個CPU 702耦接至系統匯流排708且可將包括於基於處理器之系統700中之主控裝置與從屬裝置相互耦接。如所熟知,一或多個CPU 702藉由經由系統匯流排708交換位址、控制及資料資訊而與此等其他裝置通信。舉例而言,一或多個CPU 702可將匯流排異動請求傳達至作為從屬裝置之實例的記憶體控制器710。 其他主控裝置及從屬裝置可連接至系統匯流排708。作為實例,如圖7中所說明,此等裝置可包括記憶體系統712、一或多個輸入裝置714、一或多個輸出裝置716、一或多個網路介面裝置718及一或多個顯示器控制器720。輸入裝置714可包括任何類型之輸入裝置,包括(但不限於)輸入按鍵、開關、語音處理器等。輸出裝置716可包括任何類型之輸出裝置,包括(但不限於)音訊、視訊、其他視覺指示器等。網路介面裝置718可為經組態以允許至及自網路722之資料交換的任何裝置。網路722可為任何類型之網路,包括(但不限於)有線或無線網路、私用或公用網路、區域網路(LAN)、無線區域網路(WLAN)、廣域網路(WAN)、BLUETOOTHTM 網路及網際網路。網路介面裝置718可經組態以支援任何類型之所要通信協定。記憶體系統712可包括一或多個記憶體單元724(0)至724(N)。 CPU 702亦可經組態以經由系統匯流排708存取顯示器控制器720以控制發送至一或多個顯示器726之資訊。顯示器控制器720將資訊發送至待經由一或多個視訊處理器728顯示之顯示器726,該等視訊處理器將待顯示之資訊處理成適合於顯示器726的格式。顯示器726可包括任何類型之顯示器,包括(但不限於)陰極射線管(CRT)、液晶顯示器(LCD)、電漿顯示器等。 熟習此項技術者將進一步瞭解,結合本文所揭示之態樣所描述的各種說明性邏輯區塊、模組、電路及演算法可實施為電子硬體、儲存於記憶體中或另一電腦可讀媒體中且由處理器或其他處理裝置執行之指令,或此兩者之組合。作為實例,本文中所描述之主控裝置及從屬裝置可用於任何電路、硬體組件、積體電路(IC)或IC晶片中。本文中所揭示之記憶體可為任何類型及大小之記憶體,且可經組態以儲存任何類型之所要資訊。為了清楚地說明此可互換性,上文已大體上在功能性方面描述了各種說明性組件、區塊、模組、電路及步驟。如何實施此功能性視特定應用、設計選擇及/或強加於整個系統之設計約束而定。對於每一特定應用而言,熟習此項技術者可以變化之方式實施所描述之功能性,但不應將該等實施決策解譯為導致脫離本發明之範疇。 結合本文中所揭示之態樣而描述的各種說明性邏輯區塊、模組及電路可藉由以下各者來實施或執行:處理器、數位信號處理器(DSP)、特殊應用積體電路(ASIC)、場可程式化閘陣列(FPGA)或其他可程式化邏輯裝置、離散閘或電晶體邏輯、離散硬體組件或其經設計以執行本文中所描述之功能的任何組合。處理器可為微處理器,但在替代方案中,處理器可為任何習知之處理器、控制器、微控制器或狀態機。處理器亦可實施為計算裝置之組合(例如,DSP與微處理器之組合、複數個微處理器、結合DSP核心之一或多個微處理器,或任何其他此組態)。 本文中所揭示之態樣可以硬體及儲存於硬體中之指令體現,且可駐存於(例如)隨機存取記憶體(RAM)、快閃記憶體、唯讀記憶體(ROM)、電可程式化ROM (EPROM)、電可抹除可程式化ROM (EEPROM)、暫存器、硬碟、抽取式磁碟、CD-ROM或此項技術中已知的任何其他形式之電腦可讀媒體中。例示性儲存媒體耦接至處理器,使得處理器可自儲存媒體讀取資訊且將資訊寫入至儲存媒體。在替代方案中,儲存媒體可整合至處理器。處理器及儲存媒體可駐存於ASIC中。該ASIC可駐存於遠端台中。在替代方案中,處理器及儲存媒體可作為離散組件而駐存於遠端台、基地台或伺服器中。 亦應注意,描述於本文中之例示性態樣中之任一者中的操作步驟經描述以提供實例及論述。可以除了所說明之序列以外的眾多不同序列來執行所描述之操作。此外,描述於單一操作步驟中之操作可實際上以數個不同步驟執行。另外,可組合例示性態樣中所論述之一或多個操作步驟。應理解,如熟習此項技術者將顯而易見,流程圖中所說明之操作步驟可經受眾多不同修改。熟習此項技術者亦將理解,可使用各種不同技術及技法中之任一者表示資訊及信號。舉例而言,貫穿以上描述可能參考的資料、指令、命令、資訊、信號、位元、符號及碼片可由電壓、電流、電磁波、磁場或磁性粒子、光場或光學粒子或其任何組合來表示。 提供本發明之先前描述以使得任何熟習此項技術者能夠製造或使用本發明。對本發明之各種修改對於熟習此項技術者而言將易於為顯而易見的,且本文中所定義之一般原理可在不背離本發明之精神或範疇的情況下應用於其他變化。因此,本發明並不意欲限於本文中所描述之實例及設計,而是應符合與本文中所揭示之原理及新穎特徵相一致的最廣泛範疇。
100‧‧‧基於處理器之系統
102‧‧‧動態隨機存取記憶體(DRAM)快取管理電路
104‧‧‧動態隨機存取記憶體(DRAM)快取記憶體
106‧‧‧高頻寬記憶體
108‧‧‧系統記憶體動態隨機存取記憶體(DRAM)
110‧‧‧計算晶粒
112‧‧‧系統快取記憶體
114(0)‧‧‧記憶體行
114(X)‧‧‧記憶體行
116‧‧‧主控表
118(0)‧‧‧主控表項
118(M)‧‧‧主控表項
120(0)‧‧‧動態隨機存取記憶體(DRAM)快取指示符
120(X)‧‧‧動態隨機存取記憶體(DRAM)快取指示符
122(0)‧‧‧路
122(Z)‧‧‧路
124‧‧‧記憶體讀取請求
126‧‧‧讀取位址
128‧‧‧記憶體寫入請求
130‧‧‧寫入位址
132‧‧‧寫入資料
134‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取記憶體
136(0)‧‧‧路
136'(0)‧‧‧路
136(C)‧‧‧路
136'(C)‧‧‧路
138(0)‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取行
138(Y)‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取行
140(0)‧‧‧已變更指示符
140'(0)‧‧‧已變更指示符
140(C)‧‧‧已變更指示符
140'(C)‧‧‧已變更指示符
142‧‧‧負載平衡電路
200‧‧‧主控表項
202(0)‧‧‧動態隨機存取記憶體(DRAM)快取指示符
202(127)‧‧‧動態隨機存取記憶體(DRAM)快取指示符
204(0)‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取行
204(511)‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取行
206(0)‧‧‧路
206(7)‧‧‧路
208(0)‧‧‧路
208(7)‧‧‧路
212(0)‧‧‧動態隨機存取記憶體(DRAM)快取指示符
212(255)‧‧‧動態隨機存取記憶體(DRAM)快取指示符
214(0)‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取行
214(511)‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取行
216(0)‧‧‧路
216(7)‧‧‧路
218(0)‧‧‧路
218(7)‧‧‧路
300‧‧‧區塊
302‧‧‧決定區塊
304‧‧‧區塊
306‧‧‧區塊
308‧‧‧決定區塊
310‧‧‧區塊
312‧‧‧決定區塊
314‧‧‧區塊
316‧‧‧區塊
318‧‧‧區塊
320‧‧‧區塊
400‧‧‧區塊
402‧‧‧決定區塊
404‧‧‧區塊
406‧‧‧區塊
408‧‧‧區塊
410‧‧‧區塊
412‧‧‧區塊
414‧‧‧區塊
416‧‧‧區塊
418‧‧‧區塊
420‧‧‧區塊
422‧‧‧區塊
424‧‧‧區塊
426‧‧‧區塊
428‧‧‧區塊
430‧‧‧區塊
432‧‧‧區塊
500‧‧‧區塊
502‧‧‧決定區塊
504‧‧‧區塊
506‧‧‧區塊
508‧‧‧區塊
510‧‧‧區塊
512‧‧‧區塊
514‧‧‧區塊
516‧‧‧區塊
518‧‧‧區塊
520‧‧‧區塊
522‧‧‧區塊
524‧‧‧區塊
526‧‧‧決定區塊
528‧‧‧區塊
530‧‧‧區塊
532‧‧‧區塊
534‧‧‧區塊
536‧‧‧區塊
538‧‧‧區塊
600‧‧‧區塊
602‧‧‧決定區塊
604‧‧‧區塊
606‧‧‧決定區塊
608‧‧‧區塊
610‧‧‧區塊
612‧‧‧決定區塊
614‧‧‧區塊
616‧‧‧區塊
618‧‧‧區塊
620‧‧‧區塊
622‧‧‧區塊
624‧‧‧區塊
626‧‧‧區塊
628‧‧‧區塊
630‧‧‧決定區塊
632‧‧‧區塊
634‧‧‧區塊
636‧‧‧區塊
638‧‧‧區塊
640‧‧‧區塊
642‧‧‧區塊
700‧‧‧基於處理器之系統
702‧‧‧中央處理單元(CPU)
704‧‧‧處理器
706‧‧‧快取記憶體
708‧‧‧系統匯流排
710‧‧‧記憶體控制器
712‧‧‧記憶體系統
714‧‧‧輸入裝置
716‧‧‧輸出裝置
718‧‧‧網路介面裝置
720‧‧‧顯示器控制器
722‧‧‧網路
724(0)‧‧‧記憶體單元
724(N)‧‧‧記憶體單元
726‧‧‧顯示器
728‧‧‧視訊處理器
圖1為基於處理器之系統之方塊圖,該基於處理器之系統包括提供動態隨機存取記憶體(DRAM)快取記憶體之高頻寬記憶體,及用於使用DRAM快取指示符快取記憶體以提供可擴展DRAM快取管理之例示性DRAM快取管理電路; 圖2A至圖2B為說明用於可由圖1之DRAM快取管理電路管理的兩個例示性DRAM快取記憶體的例示性主控表項及DRAM快取指示符快取內容之方塊圖; 圖3為說明用於使用圖1之DRAM快取指示符快取記憶體及DRAM快取記憶體來執行讀取操作的圖1之DRAM快取管理電路之例示性操作的流程圖; 圖4A至圖4C為說明用於在完全寫入模式或回寫模式中執行由「清潔」(亦即,未經修改)資料自3階(L3)快取記憶體逐出產生的寫入操作的圖1之DRAM快取管理電路之例示性操作的流程圖; 圖5A至圖5C為說明用於在完全寫入模式中執行由「已變更」(亦即,經修改)資料自L3快取記憶體逐出產生的寫入操作的圖1之DRAM快取管理電路之例示性操作的流程圖; 圖6A至圖6D為說明用於在回寫模式中執行由已變更資料自L3快取記憶體逐出產生的寫入操作的圖1之DRAM快取管理電路之例示性操作的流程圖;且 圖7為可包括圖1之DRAM快取管理電路的例示性基於處理器之系統之方塊圖。
100‧‧‧基於處理器之系統
102‧‧‧動態隨機存取記憶體(DRAM)快取管理電路
104‧‧‧動態隨機存取記憶體(DRAM)快取記憶體
106‧‧‧高頻寬記憶體
108‧‧‧系統記憶體動態隨機存取記憶體(DRAM)
110‧‧‧計算晶粒
112‧‧‧系統快取記憶體
114(0)‧‧‧記憶體行
114(X)‧‧‧記憶體行
116‧‧‧主控表
118(0)‧‧‧主控表項
118(M)‧‧‧主控表項
120(0)‧‧‧動態隨機存取記憶體(DRAM)快取指示符
120(X)‧‧‧動態隨機存取記憶體(DRAM)快取指示符
122(0)‧‧‧路
122(Z)‧‧‧路
124‧‧‧記憶體讀取請求
126‧‧‧讀取位址
128‧‧‧記憶體寫入請求
130‧‧‧寫入位址
132‧‧‧寫入資料
134‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取記憶體
136(0)‧‧‧路
136'(0)‧‧‧路
136(C)‧‧‧路
136'(C)‧‧‧路
138(0)‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取行
138(Y)‧‧‧動態隨機存取記憶體(DRAM)快取指示符快取行
140(0)‧‧‧已變更指示符
140'(0)‧‧‧已變更指示符
140(C)‧‧‧已變更指示符
140'(C)‧‧‧已變更指示符
142‧‧‧負載平衡電路

Claims (47)

  1. 一種動態隨機存取記憶體(DRAM)快取管理電路,其以通信方式耦接至為一高頻寬記憶體之部分的一DRAM快取記憶體且進一步以通信方式耦接至一系統記憶體DRAM; 該DRAM快取管理電路包含一DRAM快取指示符快取記憶體,其經組態以快取自該系統記憶體DRAM中之一主控表讀取的複數個DRAM快取指示符,該複數個DRAM快取指示符指示該系統記憶體DRAM之一對應記憶體行是否在該DRAM快取記憶體中被快取; 該DRAM快取管理電路經組態以: 接收包含一讀取位址之一記憶體讀取請求; 判定該讀取位址是否在該DRAM快取指示符快取記憶體中被發現; 回應於判定該讀取位址在該DRAM快取指示符快取記憶體中未被發現,讀取在該系統記憶體DRAM中之該讀取位址處之資料;及 回應於判定該讀取位址在該DRAM快取指示符快取記憶體中被發現: 基於該DRAM快取指示符快取記憶體判定該讀取位址是否在該DRAM快取記憶體中被發現; 回應於判定該讀取位址在該DRAM快取記憶體中未被發現,讀取在該系統記憶體DRAM中之該讀取位址處的資料;及 回應於判定該讀取位址在該DRAM快取記憶體中被發現,自該DRAM快取記憶體讀取針對該讀取位址之資料。
  2. 如請求項1之DRAM快取管理電路,其經組態而在一回寫模式中操作,且經進一步組態以回應於判定該讀取位址在該DRAM快取記憶體中被發現,判定該DRAM快取記憶體中之針對該讀取位址的該資料是否清潔; 其中該DRAM快取管理電路經組態以進一步回應於判定該DRAM快取記憶體中之針對該讀取位址的該資料並非清潔而自該DRAM快取記憶體讀取針對該讀取位址之該資料。
  3. 如請求項2之DRAM快取管理電路,其經進一步組態以回應於判定該DRAM快取記憶體中之針對該讀取位址的該資料為清潔的: 基於該DRAM快取管理電路之一負載平衡電路自該DRAM快取記憶體及該系統記憶體DRAM當中識別一較佳資料源; 回應於將該DRAM快取記憶體識別為該較佳資料源,自該DRAM快取記憶體讀取資料;及 回應於將該系統記憶體DRAM識別為該較佳資料源,自該系統記憶體DRAM讀取資料。
  4. 如請求項1之DRAM快取管理電路,其經組態以在一完全寫入模式中操作,且經進一步組態以回應於判定該讀取位址在該DRAM快取記憶體中被發現: 基於該DRAM快取管理電路之一負載平衡電路自該DRAM快取記憶體及該系統記憶體DRAM當中識別一較佳資料源;及 回應於將該系統記憶體DRAM識別為該較佳資料源,自該系統記憶體DRAM讀取資料; 其中該DRAM快取管理電路經組態以進一步回應於判定該DRAM快取記憶體中之針對該讀取位址的該資料為清潔的及將該DRAM快取記憶體識別為該較佳資料源而自該DRAM快取記憶體讀取針對該讀取位址之該資料。
  5. 如請求項1之DRAM快取管理電路,其中: 該DRAM快取管理電路進一步耦接至一系統快取記憶體;及 該DRAM快取管理電路經組態以回應於對該系統快取記憶體的一錯過而接收包含該讀取位址之該記憶體讀取請求。
  6. 如請求項1之DRAM快取管理電路,其經組態以在讀取該系統記憶體DRAM中之該讀取位址處的該資料之後機率性地補充該DRAM快取指示符快取記憶體。
  7. 如請求項1之DRAM快取管理電路,其經組態以基於該DRAM快取指示符快取記憶體藉由經組態以判定該DRAM快取記憶體中之針對該讀取位址的一路編號是否為非零的而判定該讀取位址是否在該DRAM快取記憶體中被發現。
  8. 如請求項1之DRAM快取管理電路,其經進一步組態以: 自一系統快取記憶體接收一記憶體寫入請求,該記憶體寫入請求包含一寫入位址及包含清潔逐出之資料的寫入資料; 判定該寫入位址是否在該DRAM快取記憶體中被發現;及 回應於判定該寫入位址在該DRAM快取記憶體中未被發現,將該寫入位址及該清潔逐出之資料機率性地寫入至該DRAM快取記憶體。
  9. 如請求項8之DRAM快取管理電路,其經進一步組態以在判定該寫入位址是否在該DRAM快取記憶體中被發現之前: 判定該寫入位址是否在該DRAM快取指示符快取記憶體中被發現;及 回應於判定該寫入位址在該DRAM快取指示符快取記憶體中未被發現,機率性地補充該DRAM快取指示符快取記憶體; 其中該DRAM快取管理電路經組態以回應於補充該DRAM快取指示符快取記憶體而判定該寫入位址是否在該DRAM快取記憶體中被發現。
  10. 如請求項8之DRAM快取管理電路,其經組態以藉由經組態以執行以下操作而將該寫入位址及該清潔逐出之資料機率性地寫入至該DRAM快取記憶體: 選擇待自該DRAM快取記憶體逐出的一路; 自該DRAM快取記憶體讀取該所選擇路的一記憶體位址; 將該寫入位址及該清潔逐出之資料寫入至該DRAM快取記憶體中之該所選擇路; 將該DRAM快取指示符快取記憶體中之針對該寫入位址的一路編號更新為該所選擇路之一路編號; 判定該所選擇路之該記憶體位址是否存在於該DRAM快取指示符快取記憶體中;及 回應於判定該所選擇路之該記憶體位址存在於該DRAM快取指示符快取記憶體中,重設該DRAM快取指示符快取記憶體中之針對該記憶體位址的該所選擇路之該路編號。
  11. 如請求項10之DRAM快取管理電路,其經進一步組態以回應於判定該所選擇路之該記憶體位址不存在於該DRAM快取指示符快取記憶體中,藉由經組態以執行以下操作而補充該DRAM快取指示符快取記憶體: 讀取對應於該記憶體位址的該所選擇路之一主控表項;及 基於該主控表項將針對該記憶體位址的該所選擇路之該路編號寫入至該DRAM快取指示符快取記憶體。
  12. 如請求項10之DRAM快取管理電路,其經進一步組態以回應於判定該所選擇路之該記憶體位址不存在於該DRAM快取指示符快取記憶體中: 重設對應於該記憶體位址的該所選擇路之該路編號;及 寫入該路編號至該主控表。
  13. 如請求項1之DRAM快取管理電路,其經組態以在一完全寫入模式中操作,且經進一步組態以: 自一系統快取記憶體接收一記憶體寫入請求,該記憶體寫入請求包含一寫入位址及包含已變更逐出之資料之寫入資料; 判定該寫入位址是否在該DRAM快取記憶體中被發現; 回應於判定該寫入位址在該DRAM快取記憶體中未被發現,將該寫入位址及該已變更逐出之資料機率性地寫入至該DRAM快取記憶體; 回應於判定該寫入位址在該DRAM快取記憶體中被發現,將該已變更逐出之資料寫入至該DRAM快取記憶體;及 將該已變更逐出之資料寫入至該系統記憶體DRAM。
  14. 如請求項13之DRAM快取管理電路,其經進一步組態以在判定該寫入位址是否在該DRAM快取記憶體中被發現之前: 判定該寫入位址是否在該DRAM快取指示符快取記憶體中被發現;及 回應於判定該寫入位址在該DRAM快取指示符快取記憶體中未被發現,機率性地補充該DRAM快取指示符快取記憶體; 回應於不補充該DRAM快取指示符快取記憶體: 更新該主控表中之對應於該寫入位址的一DRAM快取指示符;及 將該已變更逐出之資料寫入至該DRAM快取記憶體; 其中該DRAM快取管理電路經組態以回應於補充該DRAM快取指示符快取記憶體而判定該寫入位址是否在該DRAM快取記憶體中被發現。
  15. 如請求項13之DRAM快取管理電路,其經組態以藉由經組態以執行以下操作而將該寫入位址及該已變更逐出之資料機率性地寫入至該DRAM快取記憶體: 選擇待自該DRAM快取記憶體逐出的一路; 自該DRAM快取記憶體讀取該所選擇路的一記憶體位址; 將該寫入位址及該已變更逐出之資料寫入至該DRAM快取記憶體中之該所選擇路; 將該DRAM快取指示符快取記憶體中之針對該寫入位址的該路編號更新為該所選擇路之一路編號; 判定該所選擇路之該記憶體位址是否存在於該DRAM快取指示符快取記憶體中;及 回應於判定該所選擇路之該記憶體位址存在於該DRAM快取指示符快取記憶體中,重設該DRAM快取指示符快取記憶體中之針對該記憶體位址的該所選擇路之該路編號。
  16. 如請求項15之DRAM快取管理電路,其經進一步組態以回應於判定該所選擇路之該記憶體位址不存在於該DRAM快取指示符快取記憶體中,藉由經組態以執行以下操作而補充該DRAM快取指示符快取記憶體: 讀取對應於該記憶體位址的該所選擇路之一主控表項;及 基於該主控表項將針對該記憶體位址的該所選擇路之該路編號寫入至該DRAM快取指示符快取記憶體。
  17. 如請求項15之DRAM快取管理電路,其經進一步組態以回應於判定該所選擇路之該記憶體位址不存在於該DRAM快取指示符快取記憶體中: 重設對應於該記憶體位址的該所選擇路之該路編號;及 寫入該路編號至該主控表。
  18. 如請求項1之DRAM快取管理電路,其經組態以在一回寫模式中操作,且經進一步組態以: 自一系統快取記憶體接收一記憶體寫入請求,該記憶體寫入請求包含一寫入位址及包含已變更逐出之資料之寫入資料; 判定該寫入位址是否在該DRAM快取記憶體中被發現; 回應於判定該寫入位址在該DRAM快取記憶體中未被發現,將該寫入位址及該已變更逐出之資料機率性地寫入至該DRAM快取記憶體; 回應於未將該寫入位址及該已變更逐出之資料寫入至該DRAM快取記憶體,將該已變更逐出之資料寫入至該系統記憶體DRAM;及 回應於判定該寫入位址在該DRAM快取記憶體中被發現,將該已變更逐出之資料寫入至該DRAM快取記憶體。
  19. 如請求項18之DRAM快取管理電路,其經進一步組態以在判定該寫入位址是否在該DRAM快取記憶體中被發現之前: 判定該寫入位址是否在該DRAM快取指示符快取記憶體中被發現;及 回應於判定該寫入位址在該DRAM快取指示符快取記憶體中未被發現,機率性地補充該DRAM快取指示符快取記憶體; 回應於不補充該DRAM快取指示符快取記憶體: 自該主控表讀取針對該寫入位址之一DRAM快取指示符; 將該已變更逐出之資料寫入至該系統記憶體DRAM;及 判定來自該主控表之針對該寫入位址的該DRAM快取指示符是否指示該寫入位址係在該DRAM快取記憶體中; 其中該DRAM快取管理電路經組態以回應於補充該DRAM快取指示符快取記憶體而判定該寫入位址是否在該DRAM快取記憶體中被發現。
  20. 如請求項18之DRAM快取管理電路,其經組態以藉由經組態以執行以下操作而將該寫入位址及該已變更逐出之資料機率性地寫入至該DRAM快取記憶體: 選擇待自該DRAM快取記憶體逐出的一路; 自該DRAM快取記憶體讀取該所選擇路的一記憶體位址; 在自該DRAM快取記憶體讀取該所選擇路之該記憶體位址之後,將該寫入位址及該已變更逐出之資料寫入至該DRAM快取記憶體中之該所選擇路; 將該DRAM快取指示符快取記憶體中之針對該寫入位址的一路編號更新為該所選擇路之一路編號; 設定該DRAM快取指示符快取記憶體中之針對該寫入位址的一已變更指示符; 判定該所選擇路之該記憶體位址是否存在於該DRAM快取指示符快取記憶體中;及 回應於判定該所選擇路之該記憶體位址存在於該DRAM快取指示符快取記憶體中,重設該DRAM快取指示符快取記憶體中針對該所選擇路的該寫入位址之該路編號及該已變更指示符。
  21. 如請求項20之DRAM快取管理電路,其經進一步組態以回應於判定該所選擇路之該記憶體位址不存在於該DRAM快取指示符快取記憶體中,藉由經組態以執行以下操作而補充該DRAM快取指示符快取記憶體: 讀取對應於該記憶體位址的該所選擇路之一主控表項;及 基於該主控表項將針對該記憶體位址的該所選擇路之該路編號寫入至該DRAM快取指示符快取記憶體。
  22. 如請求項20之DRAM快取管理電路,其經進一步組態以回應於判定該所選擇路之該記憶體位址不存在於該DRAM快取指示符快取記憶體中: 重設對應於該記憶體位址的該所選擇路之該路編號;及 寫入該路編號至該主控表。
  23. 如請求項1之DRAM快取管理電路,其整合至一積體電路(IC)中。
  24. 如請求項1之DRAM快取管理電路,其整合至選自由以下各者組成之群的一裝置中:一機上盒;一娛樂單元;一導航裝置;一通信裝置;一固定位置資料單元;一行動位置資料單元;一行動電話;一蜂巢式電話;一智慧型電話;一平板電腦;一平板手機;一電腦;一攜帶型電腦;一桌上型電腦;一個人數位助理(PDA);一監視器;一電腦監視器;一電視;一調諧器;一無線電;一衛星無線電;一音樂播放器;一數位音樂播放器;一攜帶型音樂播放器;一數位視訊播放器;一視訊播放器;一數位視訊光碟(DVD)播放器;一攜帶型數位視訊播放器;及一汽車。
  25. 一種用於提供可擴展動態隨機存取記憶體(DRAM)快取管理之方法,其包含: 藉由一DRAM快取管理電路接收包含一讀取位址之一記憶體讀取請求; 判定該讀取位址是否在該DRAM快取管理電路之一DRAM快取指示符快取記憶體中被發現; 回應於判定該讀取位址在該DRAM快取指示符快取記憶體中未被發現,讀取在一系統記憶體DRAM中之該讀取位址處之資料;及 回應於判定該讀取位址在該DRAM快取指示符快取記憶體中被發現: 基於該DRAM快取指示符快取記憶體判定該讀取位址是否在為一高頻寬記憶體之部分的一DRAM快取記憶體中被發現; 回應於判定該讀取位址在該DRAM快取記憶體中未被發現,讀取在該系統記憶體DRAM中之該讀取位址處的資料;及 回應於判定該讀取位址在該DRAM快取記憶體中被發現,自該DRAM快取記憶體讀取針對該讀取位址之資料。
  26. 如請求項25之方法,其中該DRAM快取管理電路經組態以在一回寫模式中操作,且其進一步包含,回應於判定該讀取位址在該DRAM快取記憶體中被發現,判定該DRAM快取記憶體中之針對該讀取位址的該資料是否為清潔的; 其中自該DRAM快取記憶體讀取針對該讀取位址之該資料係進一步回應於判定該DRAM快取記憶體中之針對該讀取位址的該資料為不清潔的。
  27. 如請求項26之方法,其進一步包含回應於判定該DRAM快取記憶體中之針對該讀取位址的該資料為清潔的: 自該DRAM快取記憶體及該系統記憶體DRAM當中識別一較佳資料源; 回應於將該DRAM快取記憶體識別為該較佳資料源,自該DRAM快取記憶體讀取資料;及 回應於將該系統記憶體DRAM識別為該較佳資料源,自該系統記憶體DRAM讀取資料。
  28. 如請求項25之方法,其中該DRAM快取管理電路經組態以在一完全寫入模式中操作,且其進一步包含回應於判定該讀取位址在該DRAM快取記憶體中被發現: 自該DRAM快取記憶體及該系統記憶體DRAM當中識別一較佳資料源;及 回應於將該系統記憶體DRAM識別為該較佳資料源,自該系統記憶體DRAM讀取資料; 其中自該DRAM快取記憶體讀取針對該讀取位址之該資料係進一步回應於判定該DRAM快取記憶體中之針對該讀取位址之該資料為清潔的及將該DRAM快取記憶體識別為該較佳資料源。
  29. 如請求項25之方法,其中接收包含該讀取位址之該記憶體讀取請求係回應於對一系統快取記憶體之一錯過。
  30. 如請求項25之方法,其進一步包含在讀取該系統記憶體DRAM中之該讀取位址處的該資料之後機率性地補充該DRAM快取指示符快取記憶體。
  31. 如請求項25之方法,其進一步包含基於該DRAM快取指示符快取記憶體藉由判定該DRAM快取記憶體中之針對該讀取位址的一路編號是否為非零而判定該讀取位址是否在該DRAM快取記憶體中被發現。
  32. 如請求項25之方法,其進一步包含: 自一系統快取記憶體接收一記憶體寫入請求,該記憶體寫入請求包含一寫入位址及包含清潔逐出之資料之寫入資料; 判定該寫入位址是否在該DRAM快取記憶體中被發現;及 回應於判定該寫入位址在該DRAM快取記憶體中未被發現,將該寫入位址及該清潔逐出之資料機率性地寫入至該DRAM快取記憶體。
  33. 如請求項32之方法,其進一步包含在判定該寫入位址是否在該DRAM快取記憶體中被發現之前: 判定該寫入位址是否在該DRAM快取指示符快取記憶體中被發現;及 回應於判定該寫入位址未在該DRAM快取指示符快取記憶體中被發現,機率性地補充該DRAM快取指示符快取記憶體; 其中判定該寫入位址是否在該DRAM快取記憶體中被發現係回應於補充該DRAM快取指示符快取記憶體。
  34. 如請求項32之方法,其包含藉由以下操作將該寫入位址及該清潔逐出之資料機率性地寫入至該DRAM快取記憶體: 選擇待自該DRAM快取記憶體逐出的一路; 自該DRAM快取記憶體讀取該所選擇路的一記憶體位址; 將該寫入位址及該清潔逐出之資料寫入至該DRAM快取記憶體中之該所選擇路; 將該DRAM快取指示符快取記憶體中之針對該寫入位址的一路編號更新為該所選擇路之一路編號; 判定該所選擇路之該記憶體位址是否存在於該DRAM快取指示符快取記憶體中;及 回應於判定該所選擇路之該記憶體位址存在於該DRAM快取指示符快取記憶體中,重設該DRAM快取指示符快取記憶體中之針對該記憶體位址的該所選擇路之該路編號。
  35. 如請求項34之方法,其進一步包含回應於判定該所選擇路的該記憶體位址不存在於該DRAM快取指示符快取記憶體中,藉由以下操作補充該DRAM快取指示符快取記憶體: 自該系統記憶體DRAM中之一主控表讀取對應於該記憶體位址之該所選擇路的一主控表項;及 基於該主控表項將針對該記憶體位址的該所選擇路之該路編號寫入至該DRAM快取指示符快取記憶體。
  36. 如請求項34之方法,其進一步包含回應於判定該所選擇路之該記憶體位址不存在於該DRAM快取指示符快取記憶體中: 重設對應於該記憶體位址的該所選擇路之該路編號;及 將該路編號寫入至該系統記憶體DRAM中之一主控表。
  37. 如請求項25之方法,其中該DRAM快取管理電路經組態以在一完全寫入模式中操作,且其進一步包含: 自一系統快取記憶體接收一記憶體寫入請求,該記憶體寫入請求包含一寫入位址及包含已變更逐出之資料之寫入資料; 判定該寫入位址是否在該DRAM快取記憶體中被發現; 回應於判定該寫入位址在該DRAM快取記憶體中未被發現,將該寫入位址及該已變更逐出之資料機率性地寫入至該DRAM快取記憶體; 回應於判定該寫入位址在該DRAM快取記憶體中被發現,將該已變更逐出之資料寫入至該DRAM快取記憶體;及 將該已變更逐出之資料寫入至該系統記憶體DRAM。
  38. 如請求項37之方法,其進一步包含在判定該寫入位址是否在該DRAM快取記憶體中被發現之前: 判定該寫入位址是否在該DRAM快取指示符快取記憶體中被發現;及 回應於判定該寫入位址在該DRAM快取指示符快取記憶體中未被發現,機率性地補充該DRAM快取指示符快取記憶體; 回應於不補充該DRAM快取指示符快取記憶體: 更新該系統記憶體DRAM中之一主控表中的對應於該寫入位址的一DRAM快取指示符;及 將該已變更逐出之資料寫入至該DRAM快取記憶體; 其中判定該寫入位址是否在該DRAM快取記憶體中被發現係回應於補充該DRAM快取指示符快取記憶體。
  39. 如請求項37之方法,其中將該寫入位址及該已變更逐出之資料機率性地寫入至該DRAM快取記憶體包含: 選擇待自該DRAM快取記憶體逐出的一路; 自該DRAM快取記憶體讀取該所選擇路之一記憶體位址; 將該寫入位址及該已變更逐出之資料寫入至該DRAM快取記憶體中之該所選擇路; 將該DRAM快取指示符快取記憶體中之針對該寫入位址的一路編號更新為該所選擇路之一路編號; 判定該所選擇路之該記憶體位址是否存在於該DRAM快取指示符快取記憶體中;及 回應於判定該所選擇路之該記憶體位址存在於該DRAM快取指示符快取記憶體中,重設該DRAM快取指示符快取記憶體中之針對該記憶體位址的該所選擇路之該路編號。
  40. 如請求項39之方法,其進一步包含回應於判定該所選擇路的該記憶體位址不存在於該DRAM快取指示符快取記憶體中,藉由以下操作補充該DRAM快取指示符快取記憶體: 讀取對應於該記憶體位址的該所選擇路之一主控表項;及 基於該主控表項將針對該記憶體位址的該所選擇路之該路編號寫入至該DRAM快取指示符快取記憶體。
  41. 如請求項39之方法,其進一步包含回應於判定該所選擇路之該記憶體位址不存在於該DRAM快取指示符快取記憶體中: 重設對應於該記憶體位址的該所選擇路之該路編號;及 將該路編號寫入至該系統記憶體DRAM中之一主控表。
  42. 如請求項25之方法,其中該DRAM快取管理電路經組態以在一回寫模式中操作,且其進一步包含: 自一系統快取記憶體接收一記憶體寫入請求,該記憶體寫入請求包含一寫入位址及包含已變更逐出之資料之寫入資料; 判定該寫入位址是否在該DRAM快取記憶體中被發現; 回應於判定該寫入位址未在該DRAM快取記憶體中被發現,將該寫入位址及該已變更逐出之資料機率性地寫入至該DRAM快取記憶體; 回應於未將該寫入位址及該已變更逐出之資料寫入至該DRAM快取記憶體,將該已變更逐出之資料寫入至該系統記憶體DRAM;及 回應於判定該寫入位址在該DRAM快取記憶體中被發現,將該已變更逐出之資料寫入至該DRAM快取記憶體。
  43. 如請求項42之方法,其進一步包含在判定該寫入位址是否在該DRAM快取記憶體中被發現之前: 判定該寫入位址是否在該DRAM快取指示符快取記憶體中被發現;及 回應於判定該寫入位址在該DRAM快取指示符快取記憶體中未被發現,機率性地補充該DRAM快取指示符快取記憶體; 回應於不補充該DRAM快取指示符快取記憶體: 更新該系統記憶體DRAM中之一主控表中的對應於該寫入位址的一DRAM快取指示符; 將該已變更逐出之資料寫入至該系統記憶體DRAM;及 判定來自該主控表之針對該寫入位址的該DRAM快取指示符是否指示該寫入位址係在該DRAM快取記憶體中; 其中判定該寫入位址是否在該DRAM快取記憶體中被發現係回應於補充該DRAM快取指示符快取記憶體。
  44. 如請求項42之方法,其中將該寫入位址及該已變更逐出之資料機率性地寫入至該DRAM快取記憶體包含: 選擇待自該DRAM快取記憶體逐出的一路; 自該DRAM快取記憶體讀取該所選擇路的一記憶體位址; 在自該DRAM快取記憶體讀取該所選擇路之該記憶體位址之後,將該寫入位址及該已變更逐出之資料寫入至該DRAM快取記憶體中之該所選擇路; 將該DRAM快取指示符快取記憶體中之針對該寫入位址的一路編號更新為該所選擇路之一路編號; 設定該DRAM快取指示符快取記憶體中之針對該寫入位址的一已變更指示符; 判定該所選擇路之該記憶體位址是否存在於該DRAM快取指示符快取記憶體中;及 回應於判定該所選擇路之該記憶體位址存在於該DRAM快取指示符快取記憶體中,重設該DRAM快取指示符快取記憶體中針對該寫入位址之該所選擇路的該路編號及該已變更指示符。
  45. 如請求項44之方法,其進一步包含回應於判定該所選擇路的該記憶體位址不存在於該DRAM快取指示符快取記憶體中,藉由以下操作補充該DRAM快取指示符快取記憶體: 讀取對應於該記憶體位址的該所選擇路之一主控表項;及 基於該主控表項將針對該記憶體位址的該所選擇路之該路編號寫入至該DRAM快取指示符快取記憶體。
  46. 如請求項44之方法,其進一步包含回應於判定該所選擇路之該記憶體位址不存在於該DRAM快取指示符快取記憶體中: 重設對應於該記憶體位址的該所選擇路之該路編號;及 將該路編號寫入至該系統記憶體DRAM中之一主控表。
  47. 一種動態隨機存取記憶體(DRAM)快取管理電路,其包含: 用於接收包含一讀取位址之一記憶體讀取請求的一構件; 用於判定該讀取位址是否在該DRAM快取管理電路之一DRAM快取指示符快取記憶體中被發現的一構件; 用於回應於判定該讀取位址在該DRAM快取指示符快取記憶體中未被發現而讀取在一系統記憶體DRAM中之該讀取位址處之資料的一構件; 用於回應於判定該讀取位址在該DRAM快取指示符快取記憶體中被發現而基於該DRAM快取指示符快取記憶體判定該讀取位址是否在為一高頻寬記憶體之部分的一DRAM快取記憶體中被發現的一構件; 用於回應於判定該讀取位址在該DRAM快取記憶體中未被發現而讀取在該系統記憶體DRAM中之該讀取位址處之資料的一構件;及 用於回應於判定該讀取位址在該DRAM快取記憶體中被發現而自該DRAM快取記憶體讀取針對該讀取位址之資料的一構件。
TW106102354A 2016-02-22 2017-01-23 使用動態隨機存取記憶體(dram)快取指示符快取以提供可擴展dram快取管理 TW201732599A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662298088P 2016-02-22 2016-02-22
US15/228,320 US10176096B2 (en) 2016-02-22 2016-08-04 Providing scalable dynamic random access memory (DRAM) cache management using DRAM cache indicator caches

Publications (1)

Publication Number Publication Date
TW201732599A true TW201732599A (zh) 2017-09-16

Family

ID=59629409

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106102354A TW201732599A (zh) 2016-02-22 2017-01-23 使用動態隨機存取記憶體(dram)快取指示符快取以提供可擴展dram快取管理

Country Status (11)

Country Link
US (1) US10176096B2 (zh)
EP (1) EP3420460B1 (zh)
JP (1) JP2019509557A (zh)
KR (1) KR20180113536A (zh)
CN (1) CN108701093A (zh)
BR (1) BR112018017135A2 (zh)
ES (1) ES2870516T3 (zh)
HK (1) HK1256013A1 (zh)
SG (1) SG11201805988VA (zh)
TW (1) TW201732599A (zh)
WO (1) WO2017146882A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783083B2 (en) * 2018-02-12 2020-09-22 Stmicroelectronics (Beijing) Research & Development Co. Ltd Cache management device, system and method
CN109669882B (zh) * 2018-12-28 2021-03-09 贵州华芯通半导体技术有限公司 带宽感知的动态高速缓存替换方法、装置、系统和介质

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2256512B (en) 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system
US5414827A (en) * 1991-12-19 1995-05-09 Opti, Inc. Automatic cache flush
US6029224A (en) * 1995-06-07 2000-02-22 Lucent Technologies Inc. Self-contained memory apparatus having diverse types of memory and distributed control
US6173368B1 (en) * 1995-12-18 2001-01-09 Texas Instruments Incorporated Class categorized storage circuit for storing non-cacheable data until receipt of a corresponding terminate signal
US5752262A (en) * 1996-07-25 1998-05-12 Vlsi Technology System and method for enabling and disabling writeback cache
US6092155A (en) * 1997-07-10 2000-07-18 International Business Machines Corporation Cache coherent network adapter for scalable shared memory processing systems
US6327645B1 (en) * 1999-11-08 2001-12-04 Silicon Integrated Systems Corp. Cache memory system with memory request address queue, cache write address queue, and cache read address queue
US7146454B1 (en) * 2002-04-16 2006-12-05 Cypress Semiconductor Corporation Hiding refresh in 1T-SRAM architecture
US20030204702A1 (en) * 2002-04-30 2003-10-30 Adc Dsl Systems, Inc. Flexible memory architecture for an embedded processor
JP3953903B2 (ja) * 2002-06-28 2007-08-08 富士通株式会社 キャッシュメモリ装置、及び、参照履歴のビット誤り検出方法
ATE504446T1 (de) 2002-12-02 2011-04-15 Silverbrook Res Pty Ltd Totdüsenausgleich
US6880047B2 (en) * 2003-03-28 2005-04-12 Emulex Design & Manufacturing Corporation Local emulation of data RAM utilizing write-through cache hardware within a CPU module
US7613870B2 (en) * 2004-11-18 2009-11-03 International Business Machines Corporation Efficient memory usage in systems including volatile and high-density memories
US7958312B2 (en) 2005-11-15 2011-06-07 Oracle America, Inc. Small and power-efficient cache that can provide data for background DMA devices while the processor is in a low-power state
US8593474B2 (en) * 2005-12-30 2013-11-26 Intel Corporation Method and system for symmetric allocation for a shared L2 mapping cache
GB2458295B (en) * 2008-03-12 2012-01-11 Advanced Risc Mach Ltd Cache accessing using a micro tag
US8799582B2 (en) * 2008-12-30 2014-08-05 Intel Corporation Extending cache coherency protocols to support locally buffered data
EP2441005A2 (en) 2009-06-09 2012-04-18 Martin Vorbach System and method for a cache in a multi-core processor
WO2013095537A1 (en) * 2011-12-22 2013-06-27 Intel Corporation Controlling a processor cache using a real-time attribute
WO2013095639A1 (en) 2011-12-23 2013-06-27 Intel Corporation Utility and lifetime based cache replacement policy
US9286221B1 (en) * 2012-06-06 2016-03-15 Reniac, Inc. Heterogeneous memory system
US8819342B2 (en) * 2012-09-26 2014-08-26 Qualcomm Incorporated Methods and apparatus for managing page crossing instructions with different cacheability
US9348753B2 (en) * 2012-10-10 2016-05-24 Advanced Micro Devices, Inc. Controlling prefetch aggressiveness based on thrash events
US20150095582A1 (en) * 2013-09-30 2015-04-02 Avaya, Inc. Method for Specifying Packet Address Range Cacheability
WO2015152857A1 (en) 2014-03-29 2015-10-08 Empire Technology Development Llc Energy-efficient dynamic dram cache sizing
US20150293847A1 (en) * 2014-04-13 2015-10-15 Qualcomm Incorporated Method and apparatus for lowering bandwidth and power in a cache using read with invalidate
US9356602B1 (en) * 2015-05-14 2016-05-31 Xilinx, Inc. Management of memory resources in a programmable integrated circuit

Also Published As

Publication number Publication date
HK1256013A1 (zh) 2019-09-13
US20170242793A1 (en) 2017-08-24
EP3420460A1 (en) 2019-01-02
JP2019509557A (ja) 2019-04-04
KR20180113536A (ko) 2018-10-16
ES2870516T3 (es) 2021-10-27
CN108701093A (zh) 2018-10-23
WO2017146882A1 (en) 2017-08-31
BR112018017135A2 (pt) 2019-01-02
SG11201805988VA (en) 2018-09-27
US10176096B2 (en) 2019-01-08
EP3420460B1 (en) 2021-04-07

Similar Documents

Publication Publication Date Title
US20170212840A1 (en) Providing scalable dynamic random access memory (dram) cache management using tag directory caches
KR20190049742A (ko) 프로세서-기반 시스템들에서 공간 QoS(Quality of Service) 태깅을 사용한 이종 메모리 시스템들의 유연한 관리의 제공
JP6859361B2 (ja) 中央処理ユニット(cpu)ベースシステムにおいて複数のラストレベルキャッシュ(llc)ラインを使用してメモリ帯域幅圧縮を行うこと
US9317448B2 (en) Methods and apparatus related to data processors and caches incorporated in data processors
JP2016503935A (ja) プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体
US10176090B2 (en) Providing memory bandwidth compression using adaptive compression in central processing unit (CPU)-based systems
US20180173623A1 (en) Reducing or avoiding buffering of evicted cache data from an uncompressed cache memory in a compressed memory system to avoid stalling write operations
WO2019032455A1 (en) MONITORING INVERSION OF DATA BITS IN HIDDEN MEMORY TO REDUCE WRITTEN DATA BITS FOR WRITE OPERATIONS
AU2016270028A1 (en) Providing memory management unit (MMU) partitioned translation caches, and related apparatuses, methods, and computer-readable media
TW201732599A (zh) 使用動態隨機存取記憶體(dram)快取指示符快取以提供可擴展dram快取管理
JP6377084B2 (ja) キャッシュメモリアクセスを高速化するためのキャッシュメモリフィルの重要ワード優先順序付け、ならびに関連するプロセッサベースのシステムおよび方法
US10152261B2 (en) Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system
TW201917585A (zh) 用於動態隨機存取記憶體之選擇性更新機制
US20240176742A1 (en) Providing memory region prefetching in processor-based devices
US20240078178A1 (en) Providing adaptive cache bypass in processor-based devices
US20240202131A1 (en) Processor-based system for allocating cache lines to a higher-level cache memory
US9921962B2 (en) Maintaining cache coherency using conditional intervention among multiple master devices
WO2024129347A1 (en) Processor-based system for allocating cache lines to a higher-level cache memory