亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        延長相變存儲(chǔ)器壽命的寫操作Cache及其調(diào)度策略

        2016-11-18 02:27:55王黨輝徐如意劉朝鋒張萌安建峰孫靖國
        關(guān)鍵詞:結(jié)構(gòu)

        王黨輝, 徐如意, 劉朝鋒, 張萌, 安建峰, 孫靖國

        (1.西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院, 陜西 西安 710072; 2.中航工業(yè)西安航空計(jì)算技術(shù)研究所, 陜西 西安 710065)

        ?

        延長相變存儲(chǔ)器壽命的寫操作Cache及其調(diào)度策略

        王黨輝1, 徐如意1, 劉朝鋒1, 張萌1, 安建峰1, 孫靖國2

        (1.西北工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院, 陜西 西安 710072; 2.中航工業(yè)西安航空計(jì)算技術(shù)研究所, 陜西 西安 710065)

        相變存儲(chǔ)器具有可擴(kuò)展性好、單元尺寸小、靜態(tài)功耗低等優(yōu)點(diǎn),是替代DRAM做主存的候選器件之一,但其可重復(fù)寫入的次數(shù)有限。提出了一種基于DRAM寫操作Cache的相變存儲(chǔ)器主存結(jié)構(gòu),包括存儲(chǔ)器控制器、讀/寫操作數(shù)據(jù)通路和標(biāo)志域查找等。同時(shí)還提出了相應(yīng)的調(diào)度策略,包括整體的讀寫調(diào)度以及基于寫操作頻率的替換策略等。仿真結(jié)果顯示,所提出的方法可將相變存儲(chǔ)器的壽命平均延長50%以上,同時(shí)使平均仿存延遲降低35%以上。

        相變存儲(chǔ)器;壽命;控制器;可擴(kuò)展性;DRAM寫操作Cache;調(diào)度;替換策略;訪問延遲

        超大規(guī)模計(jì)算對內(nèi)存的需求量將是目前容量的1 000倍以上[1],但DRAM特征尺寸的縮小也變得越來越困難。原因是在縮小DRAM特征尺寸時(shí),為了保證電荷的保持時(shí)間,電容值必須達(dá)到25 fF,致使電容的物理結(jié)構(gòu)變得極不對稱,特別當(dāng)特征尺寸達(dá)到20 nm時(shí),電容的高度與底面直徑的比值將超過100,細(xì)長的幾何結(jié)構(gòu)會(huì)使電容器更易受到損壞,從而降低了可靠性,同時(shí)也加大了生產(chǎn)制造的難度[2]。另外,隨著特征尺寸的縮小,DRAM漏電流將急劇增大,導(dǎo)致靜態(tài)功耗不斷增大,從而增大了整體功耗。

        幸運(yùn)的是,新型的相變存儲(chǔ)器(phase change memory,PCM)具有很好的擴(kuò)展性,并且漏電功耗非常低,因?yàn)樗孟嘧儾牧显诓煌瑺顟B(tài)下電阻值的不同來存儲(chǔ)數(shù)據(jù)。與DRAM相比,PCM具有以下幾個(gè)優(yōu)勢:(1)存儲(chǔ)密度大;(2)屬于非易失性存儲(chǔ)器,不需要刷新;(3)漏電流很小;(4)幾乎不受軟錯(cuò)誤的影響。這些優(yōu)勢使PCM成為替代DRAM有力的競爭者。但是使用壽命較短是PCM的一個(gè)嚴(yán)重問題。一般認(rèn)為DRAM存儲(chǔ)單元幾乎可寫入無限次(1016次),而PCM可寫次數(shù)只有108次[3]。所以,必須采取有效措施來延長其使用壽命,增強(qiáng)PCM內(nèi)存的可靠性。為此,需要盡量減少對PCM存儲(chǔ)單元的寫操作,同時(shí)盡量將寫操作均勻分布在所有PCM存儲(chǔ)單元上[4]。

        當(dāng)前一般采用DRAM和PCM構(gòu)成混合內(nèi)存的方法,來減少對PCM的寫操作,混合內(nèi)存主要有2類結(jié)構(gòu)。第一類由DRAM和PCM共同構(gòu)成物理存儲(chǔ)空間,將頻繁使用的數(shù)據(jù)交換至DRAM中,而DRAM中不經(jīng)常使用的數(shù)據(jù)將被交換至PCM中。Gaurav Dhiman等人提出的PDRAM[5]中,以頁(page)為單位,在DRAM和PCM間進(jìn)行數(shù)據(jù)交換。在內(nèi)存控制器中增加了一個(gè)訪問統(tǒng)計(jì)表,如果PCM中某一頁的寫操作次數(shù)達(dá)到一個(gè)閾值,則由操作系統(tǒng)調(diào)度頁面,在PCM和DRAM間進(jìn)行交換。該方法以頁為單位進(jìn)行數(shù)據(jù)遷移,延遲和功耗都比較大。HanBin Yoon等提出了基于行緩沖區(qū)命中率的交換策略[6],以存儲(chǔ)陣列的行(row)為單位進(jìn)行數(shù)據(jù)交換,分別對DRAM和PCM的行緩沖區(qū)命中率進(jìn)行統(tǒng)計(jì),將命中率高的數(shù)據(jù)行交換至PCM中,而將命中率較低的數(shù)據(jù)行交換至DRAM中,以此來提高PCM行緩沖區(qū)的命中率,減少對PCM存儲(chǔ)陣列的寫操作次數(shù)。然而,有些程序中數(shù)據(jù)的局部性較差,會(huì)導(dǎo)致數(shù)據(jù)預(yù)測的準(zhǔn)確度較低。第二類將DRAM作為PCM的Cache使用,例如Moinuddin K.Qureshi等人提出,將DRAM作為PCM片外Cache的混合內(nèi)存結(jié)構(gòu)[7],可以減少對PCM寫操作的次數(shù),同時(shí)降低整體寫操作的延遲和功耗。在該結(jié)構(gòu)中,DRAM替換出的臟數(shù)據(jù)越少,對PCM寫操作的次數(shù)就越少,PCM的壽命就越長,而替換出臟數(shù)據(jù)的數(shù)量,受替換策略的影響較大。為了進(jìn)一步減少對PCM寫操作的次數(shù),Sung Kyu Park等人提出了新的替換算法[8],進(jìn)一步減少了對PCM寫操作的次數(shù),延長了PCM內(nèi)存的壽命。

        通過上述分析可知,DRAM作為PCM片外Cache結(jié)構(gòu)的性能相對較好,但也存在一些問題,根本原因在于未區(qū)分讀操作和寫操作的不同影響。讀操作不會(huì)縮短PCM的壽命,同時(shí)PCM讀操作功耗比DRAM讀操作功耗低;而寫操作會(huì)對PCM的壽命造成影響,同時(shí)寫操作的延遲和功耗都比較大。由此可見,DRAM應(yīng)盡量緩沖存儲(chǔ)寫操作的數(shù)據(jù),以減少對PCM寫操作的次數(shù)。為此,本文中提出將DRAM作為PCM主存的寫操作數(shù)據(jù)Cache的結(jié)構(gòu)。

        1 寫操作Cache結(jié)構(gòu)及調(diào)度策略

        1.1 總體結(jié)構(gòu)及調(diào)度

        在使用DRAM寫操作Cache的PCM主存結(jié)構(gòu)中,DRAM只存儲(chǔ)來自最低級Cache(last level cache,LLC)寫操作的數(shù)據(jù),不會(huì)將讀操作的數(shù)據(jù)存儲(chǔ)在DRAM中。通過這種方法,在DRAM存儲(chǔ)空間有限的情況下,可以提高寫操作的命中率,從而減少了對PCM寫操作的次數(shù),可有效地延長其壽命。同時(shí),這種結(jié)構(gòu)也消除了讀操作對壽命影響的問題。其整體結(jié)構(gòu)如圖1所示。

        圖1 整體架構(gòu)

        在該結(jié)構(gòu)中,DRAM Cache的標(biāo)志域(Tag)位于存儲(chǔ)器控制器(memory controller,MC)中。MC對讀操作和寫操作的處理方法不同,對應(yīng)的數(shù)據(jù)通路也不同。當(dāng)MC接收到寫操作請求時(shí),首先查找Tag域,并判斷寫DRAM Cache是否命中。如果命中,則直接將數(shù)據(jù)寫入DRAM Cache中對應(yīng)位置即可;如果未命中,則需要在DRAM Cache中為該數(shù)據(jù)分配一行存儲(chǔ)空間,并且根據(jù)是否有合適空閑行來確定是否需要進(jìn)行Cache塊的替換。由于DRAM Cache只存儲(chǔ)寫操作的數(shù)據(jù)(即臟數(shù)據(jù)),因此在被替換出去時(shí),需要寫入PCM中。相對于PCM來說,DRAM Cache中的數(shù)據(jù)為最新數(shù)據(jù)。

        當(dāng)MC接收到讀操作請求時(shí),同樣先查找Tag域,如果Cache命中,則直接讀DRAM Cache即可得到最新的數(shù)據(jù),不需要再對PCM進(jìn)行訪問。否則,所請求的數(shù)據(jù)不在DRAM Cache中,對PCM進(jìn)行讀操作就可以得到最新數(shù)據(jù)。與傳統(tǒng)DRAM Cache混合存儲(chǔ)器不同,從PCM中讀到的數(shù)據(jù)不需要再寫入DRAM Cache中,只需要返回給CPU即可?;贒RAM寫操作Cache的PCM主存調(diào)度策略如圖2所示。

        圖2 調(diào)度策略

        由調(diào)度策略可知,DRAM Cache中并不存儲(chǔ)從PCM中讀取的數(shù)據(jù),因此在DRAM Cache存儲(chǔ)空間有限的情況下,可以過濾更多的寫操作,從而減少對PCM寫操作的次數(shù),延長PCM的壽命。

        除了減少PCM寫操作次數(shù),以提升混合存儲(chǔ)器壽命外, DRAM寫操作Cache也可有效提升讀寫操作的性能。由于PCM寫操作的延遲和功耗都遠(yuǎn)遠(yuǎn)大于DRAM,因此在減少PCM寫操作次數(shù)的情況下,內(nèi)存的整體寫操作延遲和功耗都將極大降低。對于讀操作,在該結(jié)構(gòu)中,如果數(shù)據(jù)在DRAM Cache中,則讀操作延遲和功耗與DRAM相當(dāng)。如果數(shù)據(jù)在PCM中,讀操作的延遲和功耗與PCM相當(dāng)。因此,在該結(jié)構(gòu)中,讀操作延遲至多與PCM讀操作延遲持平,讀操作功耗至多與DRAM讀操作功耗持平。而在傳統(tǒng)混合存儲(chǔ)器結(jié)構(gòu)中,最大讀操作延遲及功耗均為兩者之和,因此該結(jié)構(gòu)還將有效地提升讀操作的性能。

        1.2 基于DRAM寫操作Cache的PCM主存數(shù)據(jù)通路

        當(dāng)MC接收到訪存請求時(shí),將其加入事務(wù)隊(duì)列(Transaction Queue)中,之后通過調(diào)度機(jī)制將隊(duì)列中的訪存請求轉(zhuǎn)化為訪存命令,并發(fā)送到DRAM Cache或PCM的訪存命令隊(duì)列中。在將訪存請求轉(zhuǎn)化為訪存命令時(shí),需要先對訪存類型進(jìn)行判斷。訪存類型可以通過事務(wù)類型(Transaction Type)得到,它有3種取值:DATA-READ,DATA-WRITE和RETURN-DATA。其中,DATA-READ表示該訪存請求為讀操作;DATA-WRITE表示寫操作;RETURN-DATA表示讀操作得到的數(shù)據(jù)。通過事務(wù)類型得到訪存類型后,就可以根據(jù)訪存類型,將對應(yīng)的訪存命令加入DRAM Cache或PCM的訪存命令隊(duì)列中。

        1.2.1 DRAM Cache的Tag域訪問

        與傳統(tǒng)Cache類似,DRAM Cache的Tag域中也需要存儲(chǔ)Tag值、有效位、替換策略位等。然而,DRAM寫操作Cache中全部是臟數(shù)據(jù),因此不需要dirty位。

        基于DRAM寫操作Cache對Tag域的訪問與DRAM存儲(chǔ)體的訪問串行操作,只有當(dāng)訪問Tag域命中時(shí),才會(huì)對DRAM Cache存儲(chǔ)體進(jìn)行訪問。對DRAM Cache進(jìn)行訪問時(shí),需要得到對應(yīng)數(shù)據(jù)在DRAM Cache中的地址,通過該地址對DRAM Cache進(jìn)行讀操作。由于Tag值的索引與DRAM Cache地址空間存在一對一的關(guān)系,即Index和DRAM Cache地址空間存在固定的映射關(guān)系,因此在判斷Tag域命中時(shí),可以根據(jù)所在組號、組內(nèi)塊號生成DRAM的訪問地址D-addr。

        1.2.2 讀操作數(shù)據(jù)通路

        基于DRAM寫操作Cache的PCM主存讀操作過程如下:

        首先訪問Tag域,如果命中則表示讀操作請求的最新數(shù)據(jù)在DRAM Cache中,同時(shí)也可以得到數(shù)據(jù)在DRAM Cache中的地址A,此時(shí)將訪存請求解析為DRAM Cache的訪問命令,并加入到DRAM Cache對應(yīng)的命令隊(duì)列(Command Queue)中等待調(diào)度。由于原始訪存請求中的地址B是針對PCM存儲(chǔ)空間的地址,而在訪問DRAM Cache時(shí)需要使用Tag域中存儲(chǔ)的DRAM訪存地址A,因此在對DRAM Cache進(jìn)行訪問前,需要在地址A和B之間建立映射關(guān)系。當(dāng)通過地址A訪問DRAM Cache得到數(shù)據(jù)時(shí),將數(shù)據(jù)返回給地址為B的訪存請求。

        當(dāng)Tag域未命中時(shí),表明讀操作請求的數(shù)據(jù)在PCM中,此時(shí)不需訪問DRAM Cache,而直接訪問PCM。由于訪存請求中的地址為PCM存儲(chǔ)空間的地址,可直接將訪存請求解析為PCM訪存命令,并加入PCM的Command Queue中。

        當(dāng)DRAM Cache或PCM中對應(yīng)讀操作請求完成后,將讀到的數(shù)據(jù)構(gòu)建一個(gè)RETURN-DATA型的事務(wù),并加入到返回事務(wù)隊(duì)列(return transaction queue)中,之后發(fā)送給CPU?;贒RAM寫操作Cache的PCM內(nèi)存讀操作數(shù)據(jù)通路如圖3所示。

        圖3 讀操作數(shù)據(jù)通路

        1.2.3 寫操作數(shù)據(jù)通路

        基于DRAM寫操作Cache的PCM主存寫操作數(shù)據(jù)通路如圖4所示。

        圖4 寫操作數(shù)據(jù)通路

        當(dāng)訪存請求類型為DATA-WRITE時(shí),同樣先訪問Tag域。如果命中,則表明DRAM Cache中已經(jīng)為該地址分配了存儲(chǔ)空間,且存有舊數(shù)據(jù),此時(shí)只需要將寫操作請求中的新數(shù)據(jù)寫入DRAM Cache中即可。在對DRAM進(jìn)行寫操作之前,先通過Tag域和DRAM Cache地址空間的固定映射關(guān)系,變換得到DRAM Cache的地址D-addr。將原始PCM寫操作的地址更新為DRAM Cache的訪問地址D-addr,并將該訪存請求轉(zhuǎn)化為DRAM Cache的寫操作命令,加入到DRAM Cache的Command Queue中等待調(diào)度。

        當(dāng)訪問Tag域未命中時(shí),表示第一次對該地址進(jìn)行寫操作,或該地址對應(yīng)數(shù)據(jù)已經(jīng)被替換到PCM中,此時(shí)DRAM Cache中沒有該地址對應(yīng)的存儲(chǔ)空間,需要在DRAM Cache對應(yīng)組(set)內(nèi)為該地址分配空閑行。如果該組內(nèi)存在空閑行,則在將數(shù)據(jù)寫入DRAM Cache的同時(shí)更新Tag域。

        當(dāng)訪問Tag域未命中,同時(shí)Tag域該組內(nèi)沒有空閑行,此時(shí)需要根據(jù)替換策略將某一行數(shù)據(jù)替換出去,之后再將該空閑行分配給本次寫操作請求。由于DRAM Cache只接收來自CPU寫操作的數(shù)據(jù),因此從DRAM Cache中替換出的所有數(shù)據(jù)都必須寫入PCM中,以保證數(shù)據(jù)的正確性。此時(shí)寫操作的步驟為:(1)找到替換行;(2)對DRAM Cache進(jìn)行讀操作;(3)被替換的行寫入PCM;(4)將本次寫操作請求的數(shù)據(jù)寫入該空閑行中,并更新相應(yīng)的Tag域。

        1.3 DRAM寫操作Cache的替換策略

        傳統(tǒng)Cache的替換策略一般采用最近最少使用(least recently used,LRU)算法或偽LRU算法,只是簡單地將最近最少使用的數(shù)據(jù)替換出去,并沒有考慮到寫操作的頻繁程度,因此可能將寫操作次數(shù)較多、但時(shí)間間隔長的數(shù)據(jù)替換出去,導(dǎo)致數(shù)據(jù)頻繁地被替換出去,增加了對PCM寫操作的次數(shù),影響其壽命。因此本文提出了一種基于寫操作頻率的替換策略。

        在該替換策略中,當(dāng)需要替換出Cache行時(shí),首先選擇最近一段時(shí)間窗口內(nèi)寫操作次數(shù)最少的數(shù)據(jù)塊,將該Cache行替換出去并寫入新數(shù)據(jù)。如果多個(gè)Cache行寫操作次數(shù)相同,便采用LRU算法,將最早進(jìn)行寫操作的Cache行替換出去。

        在基于寫操作頻率的替換策略中,寫操作次數(shù)最少的數(shù)據(jù)塊最先被替換出去,這樣就可以避免寫次數(shù)較多的數(shù)據(jù)塊被頻繁替換出去。在DRAM Cache容量受限的情況下,可以有效地提高DRAM Cache的命中率,減少對PCM的寫操作次數(shù)。

        為了統(tǒng)計(jì)數(shù)據(jù)塊的寫操作次數(shù),在組內(nèi)的每一行Tag域增加一個(gè)寫操作飽和計(jì)數(shù)器。初始狀態(tài)時(shí)計(jì)數(shù)器的值為0,當(dāng)數(shù)據(jù)塊剛被寫入DRAM寫Cache中時(shí),保持其計(jì)數(shù)器的值不變。在數(shù)據(jù)寫入DRAM之后,如果再次對該數(shù)據(jù)進(jìn)行寫操作,就需要更新其寫操作次數(shù),即將對應(yīng)的計(jì)數(shù)器加1。當(dāng)計(jì)數(shù)器達(dá)到最大計(jì)數(shù)值后,如果再次對其進(jìn)行寫操作,就將計(jì)數(shù)器保持在最大值狀態(tài)。在一定時(shí)間窗口內(nèi)后,需要對所有飽和計(jì)數(shù)器進(jìn)行減1操作,當(dāng)某一計(jì)數(shù)器值減為0時(shí),就將該計(jì)數(shù)器保持在0狀態(tài)。在實(shí)現(xiàn)中,對每個(gè)Cache行增加一個(gè)3位飽和計(jì)數(shù)器C1,同時(shí)為每組增加一個(gè)3位飽和計(jì)數(shù)器C2。當(dāng)對Cache進(jìn)行寫操作時(shí),將該行對應(yīng)的飽和計(jì)數(shù)器C1加1,同時(shí)將該組的3位飽和計(jì)數(shù)器C2加1,當(dāng)飽和計(jì)數(shù)器C2達(dá)到最大值時(shí),將該組內(nèi)所有飽和計(jì)數(shù)器值減1。對DRAM進(jìn)行寫操作時(shí),對飽和計(jì)算器的處理如圖5所示。

        圖5 飽和計(jì)數(shù)器的處理

        當(dāng)寫DRAM缺失時(shí),如果對應(yīng)組內(nèi)有空閑行,則直接將數(shù)據(jù)寫入空閑行;如果該組沒有空閑行,則將計(jì)數(shù)器值最小的數(shù)據(jù)塊替換出去,同時(shí)寫入新數(shù)據(jù),并將其計(jì)數(shù)器值更新為0。如果多個(gè)計(jì)數(shù)器值相等且均為最小值,則采用“偽LRU”算法,將最近最少使用的數(shù)據(jù)塊替換出去,考慮到替換策略的復(fù)雜度,此時(shí)也可以采用隨機(jī)替換策略來加快速度,降低硬件開銷。

        2 仿真評估

        2.1 仿真環(huán)境

        我們使用GEM5體系結(jié)構(gòu)仿真器模擬多核CPU,并通過運(yùn)行所選擇的基準(zhǔn)測試程序,收集對內(nèi)存的訪存請求,保存為蹤跡文件,之后由內(nèi)存仿真器讀取蹤跡文件,并響應(yīng)訪存請求,以此來統(tǒng)計(jì)存儲(chǔ)器的性能參數(shù)。

        在實(shí)驗(yàn)中,通過GEM5模擬了8核CPU,每個(gè)核擁有單獨(dú)的L1數(shù)據(jù)Cache(32kB,8路組相聯(lián))和指令Cache(32kB,4路組相聯(lián)),并共享L2 Cache(2MB,8路組相聯(lián)),PCM的容量為16GB,訪存請求隊(duì)列和訪存命令隊(duì)列的深度均為32,訪存調(diào)度采用rank-then-bank-round-robin,行緩沖器管理采用開策略。由于PCM的壽命與訪存密集程度有很大關(guān)系,因此實(shí)驗(yàn)過程中,8個(gè)CPU核運(yùn)動(dòng)同樣的測試程序,以此來增加對內(nèi)存的訪問。同時(shí)為了分析基于DRAM寫Cache的PCM主存的性能優(yōu)勢,實(shí)驗(yàn)中分別搭建了3組實(shí)驗(yàn)環(huán)境:(1)PCM直接作為內(nèi)存;(2)DRAM作為PCM讀寫Cache;(3) DRAM作為PCM寫操作Cache,通過運(yùn)行相同的測試程序,對比分析了3種結(jié)構(gòu)的可靠性及訪存性能。

        2.2 仿真結(jié)果及分析

        2.2.1 PCM主存壽命分析

        PCM內(nèi)存的壽命與寫操作頻繁程度、存儲(chǔ)單元最大寫操作次數(shù)有關(guān)。在PCM主存中,不管DRAM作為讀寫Cache還是寫Cache,Cache的相聯(lián)度對PCM寫操作次數(shù)的影響都很大,因此,實(shí)驗(yàn)中分別統(tǒng)計(jì)了8路、16路組相連下PCM寫操作的次數(shù)。

        圖6為PCM存儲(chǔ)器最大寫操作次數(shù)統(tǒng)計(jì)信息,其中以64B存儲(chǔ)單元為單位進(jìn)行統(tǒng)計(jì),并將PCM直接作為內(nèi)存使用時(shí)的最大寫操作次數(shù)規(guī)格化為100%。另外,DRAM容量為256MB,圖中PCM表示直接將PCM作為內(nèi)存;RW-8way表示DRAM作為PCM讀寫Cache的結(jié)構(gòu),并且DRAM為8路組相連;W-16way表示DRAM作為PCM寫Cache的結(jié)構(gòu),并且DRAM為16路組相連。

        圖6 存儲(chǔ)單元最大寫操作次數(shù)

        由圖6可知,不管是基于DRAM讀寫Cache還是基于DRAM寫操作Cache的PCM主存,每64B存儲(chǔ)單元最大寫操作次數(shù)都減少了很多,如基準(zhǔn)程序gcc,在W-16way時(shí)最大寫操作次數(shù)減少最多,達(dá)到80.2%,平均值也達(dá)到了56.2%,而相對與RW-16way,W-16way最大寫操作次數(shù)也有很大的降低,平均值達(dá)到了24.2%。由此可見,基于DRAM寫操作Cache的PCM主存可以大大延長其壽命。

        2.2.2 訪存延遲分析

        訪存延遲包括讀操作延遲和寫操作延遲,考慮到寫操作不在關(guān)鍵路徑上,且寫操作的延遲可以通過寫緩沖器來隱藏,因此文中只分析混合存儲(chǔ)器讀操作延遲。在DRAM和PCM構(gòu)成的混合存儲(chǔ)器結(jié)構(gòu)中,DRAM Cache的命中率對訪存性能有較大的影響,為此實(shí)驗(yàn)中分別統(tǒng)計(jì)了DRAM作為讀寫Cache、DRAM作為寫操作Cache時(shí)讀操作的Cache命中率,如圖7所示。

        圖7 不同配置下讀操作的Cache命中率

        由圖7可知,基于DRAM讀寫Cache和基于DRAM寫操作Cache的PCM主存,讀操作的Cache命中率都不高,這是由于片上Cache響應(yīng)了大部分讀操作請求,并且片上Cache的命中率一般都比較高,因此DRAM Cache讀操作的命中率較低,平均值不到40%。

        在DRAM作為PCM讀寫Cache結(jié)構(gòu)中,當(dāng)讀DRAM缺失后,需要串行對PCM進(jìn)行讀操作,此時(shí)整體讀操作延遲等于兩者讀操作延遲之和。而在DRAM作為PCM寫操作Cache的結(jié)構(gòu)中,由于同時(shí)對DRAM和PCM進(jìn)行讀操作,因此整體讀操作延遲要小于兩者之和。在DRAM讀寫Cache結(jié)構(gòu)中,DRAM命中和缺失情況下的讀操作延遲分別為15 ns和37 ns;在DRAM寫操作Cache結(jié)構(gòu)中,DRAM命中和缺失情況下的讀操作延遲分析為15 ns和22 ns。

        結(jié)合這2種結(jié)構(gòu)中不同情況下的讀操作延遲及2種結(jié)構(gòu)下DRAM讀操作的命中率(見圖7),可以得到2種混合存儲(chǔ)器結(jié)構(gòu)整體讀操作延遲情況,結(jié)果如圖8所示。

        圖8 不同配置下混合存儲(chǔ)器讀操作的延遲(ns)

        由圖8可知,與DRAM讀寫Cache混合存儲(chǔ)器相比,基于DRAM寫操作Cache的PCM主存的讀操作延遲降低了很多,在8路組相連時(shí),平均延遲降低了38.8%,在16路組相連時(shí),平均延遲降低了37.1%。

        3 結(jié) 論

        本文針對PCM主存的壽命問題,提出了延長PCM主存壽命的DRAM寫操作Cache結(jié)構(gòu),即DRAM Cache只緩存對內(nèi)存進(jìn)行寫操作的數(shù)據(jù),而對讀操作則直接送往處理器核,從而減少了對PCM主存的沖擊。另外,本文還提出了基于寫操作頻率的替換策略,減少了DRAM 寫操作Cache中數(shù)據(jù)的頻繁換入換出。實(shí)驗(yàn)結(jié)果顯示,本文提出的結(jié)構(gòu)及調(diào)度策略能有效延長PCM主存的壽命,并提高了整體的訪存性能。

        [1] Weste H E Neil, Harries Money David. CMOS VLSI Design: A Circuits and Systems Perspective[M]. 4th Ed. Boston: Addison-Wesley, 2010

        [2] Nair J Prashant, Kim Dae-Hyun, Qureshi K Moinuddin. ArchShield: Architectural Framework for Assisting DRAM Scaling by Tolerating High Error Rates[C]∥the 40th IEEE/ACM International Symposium on Computer Architecture, 2013: 72-83

        [3] Burr W Geoffrey, Kurdi N Bulent, Scott J Campbell, et al. Overview of Candidate Device Technologies for Storage-Class Memory[J]. IBM Journal of Research & Development, 2008, 52(4/5): 449-464

        [4] Hay Andrew, Strauss Karin, Loh H. Gabriel, et al. Preventing PCM Banks from Seizing Too Much Power[C]∥The 44th Annual IEEE/ACM International Symposium on Microarchitecture, 2011: 186-195

        [5] Dhiman Gaurav, Ayoub Raid, Rosing Tajana. PDRAM: A Hybrid PRAM and DRAM Main Memory System[C]∥The 44th Design Automation Conference, 2009: 664-669

        [6] Yoon HanBin, Meza Justin, Ausavarungnirun Rachata, et al. Row Buffer Locality Aware Caching Policies for Hybrid Memories[C]∥The 30th IEEE International Conference on Computer Design, 2012: 337-344

        [7] Qureshi K Moinuddin, Srinicasan Vijayalakshmi, Jude A Rivers. Scalable High Performance Main Memory System Using Phase-Change Memory Technology[C]∥The 36th IEEE/ACM International Symposium on Computer Architecture, 2009: 24-33

        [8] Park Kyu Sung, Maeng Kyu Min, Park Ki-Woong, et al. Adaptive Wear-Leveling Algorithm for PRAM Main Memory with a DRAM Buffer[J]. ACM Trans on Embedded Computing Systems, 2014, 13(5): 1-25

        Write Operation Cache and its Schedule Policy to Improve Lifetime of Phase Change Memory

        Wang Danghui1, Xu Ruyi1, Liu Chaofeng1, Zhang Meng1,An Jianfeng1, Sun Jingguo2

        1.Department of Computer Science and Engineering, Northwestern Polytechnical University, Xi′an 710072, China 2.AVIC Xi′an Aeronautic Computing Technique Research Institute, Xi′an 710065, China

        Phase Change Memory (PCM) has been regarded as an alternative to DRAM as main memory, due to its good scalability, small cell size and near-zero leakage power. However, the less-than-desirable write endurance of PCM remains room for improvement. In order to prolong the lifetime of PCM based main memory, this paper proposes DRAM write operation Cache and its schedule policy. Figure 1 shows the overall architecture of the proposed method. Figure 3 and figure 4 show the datapath for read operation and write operation, respectively. Figure 2 and figure 5 show the overall schedule policy and the proposed replacement policy respectively. The evaluation results show that the proposed method and schedule policy can improve the average lifetime of PCM more than 50% , while the average memory accessing delay can be reduce by 35%, which are shown in figure 6,7, and 8.

        Phase Change Memory, Lifetime, Controller,Scalability,DRAM Write Operation Cache, Schedule, Replacement Policy, Accessing delay

        2016-03-16

        國家自然科學(xué)基金(61472322)與中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金(3102014JSJ0001、3102015BJ(Ⅱ)ZS018)資助

        王黨輝(1975—),西北工業(yè)大學(xué)副教授,主要從事計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)的研究。

        TP303

        A

        1000-2758(2016)05-0900-07

        猜你喜歡
        結(jié)構(gòu)
        DNA結(jié)構(gòu)的發(fā)現(xiàn)
        《形而上學(xué)》△卷的結(jié)構(gòu)和位置
        論結(jié)構(gòu)
        中華詩詞(2019年7期)2019-11-25 01:43:04
        新型平衡塊結(jié)構(gòu)的應(yīng)用
        模具制造(2019年3期)2019-06-06 02:10:54
        循環(huán)結(jié)構(gòu)謹(jǐn)防“死循環(huán)”
        論《日出》的結(jié)構(gòu)
        縱向結(jié)構(gòu)
        縱向結(jié)構(gòu)
        我國社會(huì)結(jié)構(gòu)的重建
        人間(2015年21期)2015-03-11 15:23:21
        創(chuàng)新治理結(jié)構(gòu)促進(jìn)中小企業(yè)持續(xù)成長
        免费日本一区二区三区视频| 天天做天天爱天天综合网2021| 国产99久久精品一区二区| 亚洲国产福利精品一区二区| 日本高清中文字幕一区二区三区| 亚洲av黄片一区二区| 国产精品亚洲av高清二区| 无码人妻少妇久久中文字幕蜜桃| 亚洲欧洲日产国码无码久久99| 精品的一区二区三区| 字幕网中文字幕精品一区| 人人妻人人澡人人爽人人精品av| 中日韩精品视频在线观看| 啪啪视频一区二区三区入囗| 国内精品女同一区二区三区| 中文有码亚洲制服av片| 少女韩国电视剧在线观看完整| 国产精品麻花传媒二三区别| 最新永久无码AV网址亚洲| 99久久精品国产91| 国产精品特级毛片一区二区三区| 白嫩少妇激情无码| 国产视频精品一区白白色| 国产一区二区三区在线观看免费版| 亚洲一区二区在线观看网址| 日韩亚洲欧美中文在线| 成人午夜免费无码视频在线观看| 日韩精品资源在线观看免费| 精品亚洲国产成人蜜臀av| 爱情岛永久地址www成人| 亚洲一区精品中文字幕| 亚洲免费一区二区三区四区| 午夜爽爽爽男女免费观看影院 | 国产午夜福利片在线观看| 最好看的最新高清中文视频| 无码一区二区三区在| 亚洲av综合色一区二区| 小蜜被两老头吸奶头在线观看| 欧美午夜精品久久久久久浪潮| 亚洲一区二区三区麻豆| 成人免费a级毛片无码片2022|