自適應(yīng)粒度行緩沖器高速緩存的制作方法
【專利說明】
【背景技術(shù)】
[0001]動態(tài)隨機存取存儲器(DRAM)是這樣一種類型的隨機存取存儲器(RAM),其在集成電路(IC)內(nèi)的分離的電容器中存儲數(shù)據(jù)的每一位。每個電容器可以包括兩個狀態(tài),諸如充電或放電的狀態(tài),其可以表示位的兩個值(例如O和I)。由于電容器的操作特性,電容器電荷被周期性地刷新以避免與位值有關(guān)的信息的丟失。對于周期性刷新電容器電荷的需要是對于將該類型的存儲器指定為動態(tài)的基礎(chǔ)??梢砸匀S(3D)堆疊的結(jié)構(gòu)來制造DRAM,所述三維堆疊的結(jié)構(gòu)將多層的密集存儲器管芯與基礎(chǔ)邏輯層相組合以實現(xiàn)例如外圍電路、接口邏輯和測試結(jié)構(gòu)。
【附圖說明】
[0002]本公開的特征通過示例而被說明并且不限于以下的(多幅)圖中,在圖中,同樣的標(biāo)號指示同樣的元件,其中:
圖1A圖示了根據(jù)本公開的示例的三維(3D)堆疊的動態(tài)隨機存取存儲器(DRAM)的等距視圖;
圖1B圖示了根據(jù)本公開的示例的圖1A的3D堆疊的DRAM的前視圖;
圖2圖示了根據(jù)本公開的示例的自適應(yīng)粒度行緩沖器高速緩存(AG-RB高速緩存)裝置的架構(gòu);
圖3圖示了根據(jù)本公開的示例的用于圖2的AG-RB高速緩存裝置的全局自由列表、行映射單元和數(shù)據(jù)陣列的放大視圖,以及部分行進行高速緩存和隨后的命中的示例流;
圖4圖示了根據(jù)本公開的示例的用于行映射單元中的標(biāo)簽部分的內(nèi)容可尋址存儲器(CAM)設(shè)計;
圖5圖示了根據(jù)本公開的示例的用于進行自適應(yīng)粒度行緩沖器高速緩存的方法;以及圖6圖示了根據(jù)本公開的示例的計算機系統(tǒng)。
【具體實施方式】
[0003]為了簡單和說明性的目的,通過主要參考示例來描述本公開。在以下的描述中,闡述了眾多具體細節(jié)以便提供對本公開的透徹理解。然而,將容易地顯而易見的是,可以在不限制于這些具體細節(jié)的情況下實踐本公開。在其它實例中,沒有詳細描述一些方法和結(jié)構(gòu)以免不必要地模糊本公開。
[0004]遍及本公開,術(shù)語“一”和“一個”意圖表明至少一個特定元件。如本文中所使用的,術(shù)語“包括”意指包括但不限于,術(shù)語“包括了”意指包括了但不限于。術(shù)語“基于”意指至少部分地基于。
[0005]三維(3D)堆疊的動態(tài)隨機存取存儲器(DRAM)中的存儲器行可以通過使用行緩沖器高速緩存來進行高速緩存,以改進DRAM的總體性能。例如,參考圖1A和1B,3D堆疊的DRAM 100可以包括多層的密集存儲器管芯101與基礎(chǔ)邏輯層102和封裝基底層103。3D堆疊的DRAM 100還可以包括64位寬的硅通孔(TSV)通道104,以用于經(jīng)由數(shù)據(jù)路徑105從來自存儲器管芯101的DRAM行向基礎(chǔ)邏輯層102傳遞數(shù)據(jù)。行緩沖器高速緩存可以被添加到基礎(chǔ)邏輯層102以通過減少緩慢的和功率密集的行緩沖器激活和關(guān)閉的數(shù)目而提供更快的存儲器訪問和經(jīng)改進的功率效率。對DRAM行進行高速緩存的一個方法包括以高命中率(即,對相同行的頻繁的未來存儲器訪問)來對DRAM行進行高速緩存。然而,對于具有不規(guī)則的存儲器訪問模式的應(yīng)用而言,對整個DRAM行進行高速緩存可能是低效的。例如,對于其中存儲器訪問能夠重復(fù)地訪問部分的存儲器行的、具有不規(guī)則存儲器訪問模式的應(yīng)用而言,對整個DRAM行進行高速緩存可能是低效的。對于低效的一個原因是基于可以是SKbit至16Kbit長的相對長的DRAM行。通過64位寬的TSV通道104而將整個DRAM行從存儲器管芯101移動到基礎(chǔ)邏輯層102使用64個周期。此外,對DRAM行進行高速緩存貢獻于行緩沖器高速緩存和TSV的動態(tài)功率,并且增加總的系統(tǒng)功率。
[0006]根據(jù)示例,本文中公開了自適應(yīng)粒度行緩沖器高速緩存(下文中“AG-RB高速緩存”)裝置和用于進行自適應(yīng)粒度行緩沖器高速緩存(下文中“進行AG-RB高速緩存”)的方法。本文中公開的裝置和方法一般包括AG-RB高速緩存過程,其針對不同的DRAM訪問而動態(tài)地調(diào)整被傳遞到RB高速緩存的數(shù)據(jù)的量。AG-RB高速緩存過程改進進行RB高速緩存的性能,而不顯著增加TSV帶寬使用,從而導(dǎo)致低的能量消耗。因而,本文公開的裝置和方法使3D堆疊的DRAM的邏輯層上的RB高速緩存的性能和能量利益最大化。本文公開的裝置和方法可以包括專用預(yù)測器模塊,以在最小開銷的情況下向例如眾核處理器以及具有大量存儲體(bank)的存儲器系統(tǒng)提供可伸縮性(scalability)。預(yù)測器模塊可以決定是否對相對應(yīng)的DRAM行進行高速緩存以用于未解決的請求,以及如果是這樣,應(yīng)當(dāng)對多少DRAM行進行高速緩存。預(yù)測器模塊不僅在更準(zhǔn)確的預(yù)測的情況下增加行緩沖器命中率,而且還基于3D堆疊的存儲器中的存儲體的增加的數(shù)量而隨著存儲器請求隊列大小可伸縮。本文中公開的裝置和方法還包括RB高速緩存,所述RB高速緩存能夠存儲不同大小的線(line)以支持AG高速緩存過程。本文中公開的裝置和方法還包括DRAM狀態(tài)感知的替換策略,以當(dāng)替換RB高速緩存條目時選擇最佳的高速緩存替換候選以最小化等待時間。
[0007]根據(jù)示例,AG-RB高速緩存裝置可以包括3D堆疊的DRAM,所述3D堆疊的DRAM包括:包括一個或多個DRAM存儲體的多個DRAM管芯,以及包括RB高速緩存的邏輯管芯。AG-RB高速緩存裝置還可以包括處理器管芯,所述處理器管芯包括存儲器控制器,所述存儲器控制器包括預(yù)測器模塊以確定是否將數(shù)據(jù)高速緩存到RB高速緩存,并且針對不同的DRAM訪問而調(diào)整要高速緩存到RB高速緩存的數(shù)據(jù)的量。根據(jù)另一示例,用于進行AG-RB高速緩存的方法可以包括確定是否將數(shù)據(jù)高速緩存到RB高速緩存,并且通過處理器或存儲器側(cè)邏輯而針對不同的存儲器訪問來調(diào)整要高速緩存到RB高速緩存的數(shù)據(jù)的量。本文公開的AG-RB高速緩存裝置和方法可以與其它類型的存儲器(諸如非易失性存儲器,包括相變存儲器(PCM)、自旋傳輸矩RAM (STT-RAM)、以及電阻式隨機存取存儲器(ReRAM)等等)一起使用。
[0008]本文公開的AG-RB高速緩存裝置和方法向3D堆疊的DRAM提供AG-RB高速緩存,并且因而為大規(guī)模數(shù)據(jù)中心提供改進的性能和能量高效的存儲器子系統(tǒng)。本文公開的裝置和方法為具有不同存儲器行為的寬范圍的應(yīng)用提供性能和能量效率的益處。本文公開的裝置和方法使存儲器控制器隊列和預(yù)測器隊列去耦,并且提供關(guān)于存儲器訪問模式的準(zhǔn)確預(yù)測,其導(dǎo)致RB高速緩存的改進的使用以及改進的性能和能量效率。本文公開的裝置和方法的使用的示例可以包括具有附加的板載(on-board)緩沖器芯片的雙列直插式存儲器模塊(DIMM)。
[0009]圖2圖示了根據(jù)示例的AG-RB高速緩存裝置110的架構(gòu)。參考圖2,裝置110被描繪為包括:圖示了 DRAM層的DRAM管芯111、圖示了邏輯層的邏輯管芯112、以及圖示了處理器層的處理器管芯113。處理器管芯113的處理器的各種其它組件,諸如高速緩存等,為了清楚而被省略。DRAM管芯111可以包括多個DRAM存儲體114,所述DRAM存儲體114經(jīng)由TSV通道117而通信地連接到列控制器115和RB高速緩存116 (也圖示為RB$,并且被指明為AG RB高速緩存116)。RB高速緩存116可以包括數(shù)據(jù)陣列118。DRAM存儲體114和RB高速緩存116可以經(jīng)由數(shù)據(jù)總線120和命令總線121而通信地連接到存儲器控制器119。存儲器控制器119可以存儲可變數(shù)目的即將到來的和先前服務(wù)的存儲器請求的地址。每個存儲器列(rank)可以擁有分離的RB高速緩存116,所述分離的RB高速緩存116被來自不同DRAM管芯111的多個DRAM存儲體114共享。存儲器控制器119可以包括存儲器請求隊列122、可伸縮的預(yù)測器模塊123、以及RB高速緩存分配表124。預(yù)測器模塊123可以包括預(yù)測器隊列125,所述預(yù)測器隊列125從存儲器請求隊列122和取出模塊126去耦。取出模塊126可以使用策略來確定是否要將DRAM行高速緩存到RB高速緩存116。盡管RB高速緩存分配表124以及數(shù)據(jù)陣列118在圖2的示例中被示出為是分離的,但是RB高速緩存分配表124和數(shù)據(jù)陣列118可以二者都被提供在存儲器側(cè),如果存儲器具有邏輯管芯的話??商鎿Q地,RB高速緩存分配表124和數(shù)