欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)緩存方法、緩存和計算機系統(tǒng)的制作方法

文檔序號:9375159閱讀:555來源:國知局
數(shù)據(jù)緩存方法、緩存和計算機系統(tǒng)的制作方法
【技術領域】
[0001 ] 本發(fā)明實施例涉及存儲技術,尤其涉及一種數(shù)據(jù)緩存方法、緩存和計算機系統(tǒng)。
【背景技術】
[0002] 目前越來越多的應用以數(shù)據(jù)為中心,例如互聯(lián)網(wǎng)應用、大數(shù)據(jù)應用等。這些應用需 要強大的存儲支持。
[0003] 在現(xiàn)有技術中,通常采用的動態(tài)隨機訪問存儲器(Dynamic Random-Access Memory,以下簡稱:DRAM)作為計算機系統(tǒng)。然而,受工藝的限制,DRAM的容量較小且能 耗較大,很難滿足應用對大容量低能耗的要求。今年來,非易失性存儲器(Non-Volatile Memory,以下簡稱:NVM)被廣泛采用,其具有存儲量大、能耗低的優(yōu)勢,采用NVM取代DRAM 作為計算機系統(tǒng),能夠滿足應用對大容量低能耗的需求。但是與DRAM相比,NVM的讀寫延 遲較長。正是由于DRAM和NVM各有利弊,現(xiàn)有技術進一步采用DRAM和NVM組成的混合內(nèi) 存,以期望為應用提供大容量、低能耗、高性能的內(nèi)存。

【發(fā)明內(nèi)容】

[0004] 本發(fā)明實施例提供一種數(shù)據(jù)緩存方法、緩存和計算機系統(tǒng)。
[0005] 第一方面,本發(fā)明實施例提供一種數(shù)據(jù)緩存方法,所述方法由緩存Cache執(zhí)行,包 括:
[0006] 接收CPU發(fā)送的數(shù)據(jù)訪問請求,所述數(shù)據(jù)訪問請求中包含訪問地址;
[0007] 根據(jù)所述訪問地址判斷待訪問數(shù)據(jù)是否緩存在所述Cache中;
[0008] 在確定所述待訪問數(shù)據(jù)沒有緩存在所述Cache中的情況下,根據(jù)所述Cache中的 緩存線Cache line的歷史訪問頻率以及Cache line對應的內(nèi)存的類型,判斷所述Cache 中是否存在滿足第一預設條件的Cache line,其中,所述滿足第一預設條件的Cache line 包括歷史訪問頻率低于預設頻率且與動態(tài)隨機訪問存儲器DRAM類型的內(nèi)存對應的Cache line,所述內(nèi)存包括DRAM類型的內(nèi)存和非易失性存儲器NVM類型的內(nèi)存;
[0009] 在確定所述Cache中存在滿足第一預設條件的Cache line的情況下,在滿足第一 預設條件的Cache line中選擇待替換的第一 Cache line;
[0010] 根據(jù)所述訪問地址從所述內(nèi)存中讀取所述待訪問數(shù)據(jù);
[0011] 采用第二Cache line替換所述第一 Cache line,所述第二Cache line包含所述 訪問地址和所述待訪問數(shù)據(jù);
[0012] 所述Cache向所述CPU發(fā)送所述待訪問數(shù)據(jù)。
[0013] 第二方面,本發(fā)明實施例提供一種緩存Cache,包括:
[0014] 接收模塊,用于接收CPU發(fā)送的數(shù)據(jù)訪問請求,所述數(shù)據(jù)訪問請求中包含訪問地址;
[0015] 命中確定模塊,用于根據(jù)所述訪問地址判斷待訪問數(shù)據(jù)是否緩存在所述Cache 中;
[0016] 替換確定模塊,用于在確定所述待訪問數(shù)據(jù)沒有緩存在所述Cache中的情況下, 根據(jù)所述Cache中的緩存線Cache line的歷史訪問頻率以及Cache line對應的內(nèi)存的類 型,判斷所述Cache中是否存在滿足第一預設條件的Cache line,其中,所述滿足第一預設 條件的Cache line包括歷史訪問頻率低于預設頻率且與動態(tài)隨機訪問存儲器DRAM類型的 內(nèi)存對應的Cache line,所述內(nèi)存包括DRAM類型的內(nèi)存和非易失性存儲器NVM類型的內(nèi) 存;在確定所述Cache中存在滿足第一預設條件的Cache line的情況下,在滿足第一預設 條件的Cache line中選擇待替換的第一 Cache line ;
[0017] 讀取模塊,用于根據(jù)所述訪問地址從所述內(nèi)存中讀取所述待訪問數(shù)據(jù);
[0018] 替換模塊,用于米用第二Cache line替換所述第一 Cache line,所述第二Cache line包含所述訪問地址和所述待訪問數(shù)據(jù);
[0019] 發(fā)送模塊,用于向所述CPU發(fā)送所述待訪問數(shù)據(jù)。
[0020] 第三方面,本發(fā)明實施例提供一種計算機系統(tǒng),包括:處理器、混合內(nèi)存和如前述 第二方面所述的緩存Cache,所述混合內(nèi)存包括DRAM和NVM,所述處理器、所述混合內(nèi)存與 所述緩存Cache通過總線連接。
[0021] 本發(fā)明實施例中,Cache在訪問請求不命中需要確定待替換的Cache line時,不 僅需要考慮Cache line的歷史訪問頻率,還要考慮Cache line對應的內(nèi)存類型,從而可以 優(yōu)先替換與DRAM內(nèi)存類型對應的Cache line,減少Cache對存儲于DRAM的數(shù)據(jù)的緩存量, 從而使得Cache能夠提高對存儲于NVM中的數(shù)據(jù)的緩存量,使得針對存儲于NVM中的數(shù)據(jù) 的訪問請求盡可能的在Cache中能夠找到相應的數(shù)據(jù),從而減少到NVM中讀取數(shù)據(jù)的情形, 從而減少了從NVM中讀取數(shù)據(jù)的延遲,有效的提1?訪問效率。
【附圖說明】
[0022] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn) 有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā) 明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0023] 圖1為本發(fā)明實施例提供的一種計算機系統(tǒng)的架構圖;
[0024] 圖2為本發(fā)明實施例提供的一種數(shù)據(jù)緩存方法的流程圖;
[0025] 圖3為本發(fā)明實施例提供的一種緩存的結構示意圖。
【具體實施方式】
[0026] 為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例 中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員 在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0027] 圖1為本發(fā)明實施例提供的一種計算機系統(tǒng)的架構圖,如圖1所示,該計算機系統(tǒng) 包括:處理器(Processor)Il和混合內(nèi)存(Hybrid Memory) 12,其中,Processorll可以包括 CPU111、緩存(Cache) 112 以及存儲控制器(Memory controller) 113,Hybrid Memoryl2可以包 括 DRAM121 和 NVM122,Processorll、Hybrid Memoryl2 以及緩存(Cache) 112 通過總線連接。 Hybrid Memoryl2 與 Memory controllerll3 之間可以通過內(nèi)存總線(Memory Bus) 13 連接。
[0028] 在進行數(shù)據(jù)訪問時,CPU可以向Cache發(fā)出數(shù)據(jù)訪問請求,該數(shù)據(jù)訪問請求中包含 訪問地址。Cache中緩存了 Hybrid Memory中的部分數(shù)據(jù)以提高響應速度。因此,Cache首 先根據(jù)訪問地址確定CPU請求訪問的數(shù)據(jù)是否緩存在Cache中,換一種表達方式,Cache首 先根據(jù)訪問地址判斷是否能夠Cache中命中所述請求訪問的數(shù)據(jù)。當Cache命中時,即在 確定所述待訪問數(shù)據(jù)緩存在所述Cache中的情況下,Cache可以直接向CPU返回其請求訪 問的數(shù)據(jù),當Cache沒有命中時,即在確定所述待訪問數(shù)據(jù)沒有緩存在所述Cache中的情況 下,該數(shù)據(jù)訪問請求將會通過Memory controller發(fā)往Hybrid Memory,以從Hybrid Memory 中讀取CPU請求訪問的數(shù)據(jù)。
[0029] 由于Cache的緩存空間一般較小,因此,Cache在數(shù)據(jù)訪問過程中,需要根據(jù)訪 問情況不斷更新其緩存內(nèi)容,以滿足不斷變化的訪問需求。具體來說,當本次數(shù)據(jù)訪問在 Cache中命中時,則不進行緩存線(Cache line)的替換更新,當本次數(shù)據(jù)訪問在Cache中不 命中時,Cache需要從當前緩存的緩存線(Cache line)中確定一待替換的Cache line,采 用從內(nèi)存中讀取的新的Cache line來替換該Cache line。
[0030] 本領域技術人員可以知道,Cache與內(nèi)存交換數(shù)據(jù)是通過緩存控制器Cache controller來執(zhí)行的。其中,Cache line是Cache Controller的最小操作單位。換一種 表達方式,當Cache Controller向內(nèi)存中寫數(shù)據(jù)時,Cache Controller是按照Cache line 為單位將一行l(wèi)ine數(shù)據(jù)寫到內(nèi)存中,當Cache Controller從內(nèi)存中讀數(shù)據(jù)時,也是按照 Cache line來讀數(shù)據(jù)的。為了描述方便,在本發(fā)明實施例中,一個Cache line可以表示一 個Cache line的數(shù)據(jù)。本發(fā)明實施例中的"替換Cache line"是指用從內(nèi)存中讀出的一個 Cache line的數(shù)據(jù)來替換Cache中的一個Cache line的數(shù)據(jù)。在上述過程中,Cache是 從當前緩存的Cache line中查找訪問頻率最低的Cache line,將該訪問頻率最低的Cache line確定為待替換的Cache line。而Cache并不感知該待替換的Cache line對應的內(nèi)存 類型是DRAM類型還是NVM類型,即不感知該待替換的Cache I ine是來源于DRMA還是NVM。
[0031] 經(jīng)過對DRAM和幾種NVM進行的分析發(fā)現(xiàn),DRAM和NVM的讀寫性能存在差異。其 中,在本發(fā)明實施例中,NVM包括但不限于:相變存儲器(Phase Change Memory,以下簡 稱:PCM)、自旋轉移矩磁性隨機訪問存儲器(Spin Transfer Torque-Magnetic Random Access Memory,以下簡稱:STT-MRAM)、阻變式隨機訪問存儲器(Resistive Random Access Memory,以下簡稱RRAM)。DRAM和NVM的讀寫性能具體可以如表1所示:
[0032] 表 1
[0033]
[0034] 從表1中可以看出,雖然NVM的存儲容量大于DRAM,且能耗低于DRAM,但是NVM的 讀寫延遲大于DRAM的讀寫延遲,并且NVM有寫次數(shù)的限制。
[0035] 因此,采用上述現(xiàn)有技術,如果Cache確定的待替換的Cache line對應的內(nèi)存類 型為NVM類型,則該待替換的Cache line將被從Cache中刪除,后續(xù)訪問請求都必須要從 Hybrid Memory的NVM中調取,而NVM的讀寫延遲相對DRAM又較大,貝U必然帶來訪問延遲的 問題,無法滿足應用對訪問延遲較高的需求。
[0036] 因此,本方法實施例中,Cache確定待替換的Cache line時,不僅考慮當前緩存的 各Cache line的歷史訪問頻率,還要進一步考慮各Cache line對應的內(nèi)存類型,優(yōu)先替換 內(nèi)存類型為DRAM類型的Cache line,即優(yōu)先替換內(nèi)存類型為DRAM的Cache line。這樣, 即使DRAM的Cache line從Cache中刪除,后續(xù)數(shù)據(jù)訪問需要到DRAM中調取數(shù)據(jù),其訪問 延遲不至于過大。其中,內(nèi)存類型為DR
當前第1頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
清丰县| 海丰县| 阳西县| 贡嘎县| 信阳市| 武汉市| 永清县| 阿巴嘎旗| 平乡县| 定南县| 奈曼旗| 阿尔山市| 遂溪县| 上杭县| 永康市| 揭东县| 桦甸市| 陇西县| 丰宁| 惠安县| 岱山县| 株洲市| 西平县| 林周县| 抚宁县| 沁源县| 光泽县| 法库县| 巍山| 北京市| 宜阳县| 深州市| 德钦县| 繁峙县| 合水县| 安溪县| 普安县| 成都市| 安阳市| 谷城县| 苏尼特右旗|