惠麗峰
(內(nèi)蒙古科技大學(xué)工程訓(xùn)練中心,內(nèi)蒙古 包頭 014010)
大數(shù)據(jù)時(shí)代的到來對計(jì)算機(jī)的主存系統(tǒng)提出了更高要求。一種新存儲介質(zhì)——相變存儲器PCM(Phase Change Memory)應(yīng)運(yùn)而生。PCM擁有非易失性、字節(jié)可尋址、讀取速度快、低能耗等特點(diǎn),被寄以取代DRAM(Dynamic Random Access Memory)成為新一代的主存介質(zhì)。但是,現(xiàn)階段的PCM由于本身的材料性質(zhì),存在寫壽命較短、寫延遲較長和寫能耗較大等缺陷[1],在讀取性能上和DRAM還存在差距。因此,出現(xiàn)了一種基于DRAM和PCM混合主存架構(gòu)機(jī)制,即把DRAM和PCM作為同級結(jié)構(gòu)整合到一個主存系統(tǒng)中,利用DRAM和PCM優(yōu)、劣互補(bǔ)來構(gòu)建存儲速度更快、存儲容量更大、能量效率更高的混合主存系統(tǒng)[2],如圖1所示,以共同承擔(dān)大數(shù)據(jù)時(shí)代主存對高效、海量數(shù)據(jù)存儲管理的艱巨任務(wù)。
DRAM和PCM混合主存架構(gòu)適應(yīng)了大數(shù)據(jù)時(shí)代主存系統(tǒng)的需求。表1為DRAM與PCM的參數(shù)對比情況[3]。
圖1 DRAM和PCM同級混合主存系統(tǒng)
表1 DRAM與PCM的對比
從表1的參數(shù)可以看出,PCM的寫能耗大約是DRAM的寫能耗的4倍。因此,在這種混合主存機(jī)制中,根據(jù)DRAM和PCM優(yōu)、劣互補(bǔ)的構(gòu)建原則,將原始數(shù)據(jù)存儲在PCM介質(zhì)中,將校驗(yàn)數(shù)據(jù)存儲在DRAM介質(zhì)中,繼續(xù)維持DRAM的寫緩存功能,用以減少PCM存儲器的寫操作次數(shù),以有效發(fā)揮DRAM與PCM各自的優(yōu)勢,減少讀寫延遲,降低混合主存存儲系統(tǒng)的能耗,增強(qiáng)系統(tǒng)數(shù)據(jù)的可靠性。圖2為DRAM和PCM存儲器混合主存架構(gòu)分工協(xié)作圖。
根據(jù)圖2,在基于DRAM和PCM混合主存架構(gòu)機(jī)制中,PCM存儲原始數(shù)據(jù)的地址。為了減少系統(tǒng)對PCM頻繁的寫操作,將部分DRAM存儲器設(shè)置為PCM存儲器的鏡像緩存,采取日志記錄方式對鏡像緩存中的數(shù)據(jù)進(jìn)行數(shù)據(jù)索引。由于系統(tǒng)中的日志記錄和冗余數(shù)據(jù)需要頻繁修改,因此將日志記錄、冗余數(shù)據(jù)、寫緩存數(shù)據(jù)均存放于DRAM存儲器中,以減少PCM存儲器的寫操作次數(shù)。DRAM和PCM兩種存儲介質(zhì)共同構(gòu)成了整個計(jì)算機(jī)的主存系統(tǒng)與外界進(jìn)行交互。
圖2 DRAM和PCM在混合主存架構(gòu)分工協(xié)作
基于DRAM和PCM的混合主存架構(gòu)機(jī)制,為避開PCM存儲器的讀寫不對稱和寫壽命有限的缺陷,對原有DRAM主存的讀取模式進(jìn)行改進(jìn),將寫操作集中在DRAM介質(zhì)中,以減少對PCM存儲器的寫操作。
當(dāng)總線上傳來讀數(shù)據(jù)的請求時(shí),混合主存系統(tǒng)響應(yīng)該請求,從主存中讀出數(shù)據(jù)。過程如下:根據(jù)總線請求在DRAM中查找當(dāng)前日志記錄,若記錄存在,則從日志記錄中讀取數(shù)據(jù)存儲地址,根據(jù)數(shù)據(jù)存儲地址從buffer(最近更新所得的數(shù)據(jù))中讀出數(shù)據(jù);若記錄不存在,則查找PCM中的數(shù)據(jù),找到返回?cái)?shù)據(jù),未找到則報(bào)錯。
當(dāng)總線上傳寫數(shù)據(jù)的請求時(shí),混合主存系統(tǒng)響應(yīng)該請求,將總線上傳來的數(shù)據(jù)寫入主存中。過程如下:查詢DRAM上的日志記錄,判斷buffer中是否存儲了相應(yīng)數(shù)據(jù),若命中,則根據(jù)命中的日志記錄取出數(shù)據(jù)的地址,刪除原有的日志記錄,更新一條新日志記錄,將總線上傳來的數(shù)據(jù)根據(jù)地址寫入緩存,確保寫緩存存儲的是最近更新的數(shù)據(jù);若不命中,則創(chuàng)建一條新的記錄,將總線上傳來的數(shù)據(jù)寫入緩存。
這種寫模式頻繁針對總線寫請求操作均由DRAM執(zhí)行,且所有的數(shù)據(jù)都寫入到DRAM的鏡像緩存中。因此,它最大限度地減少了PCM的寫操作,降低了寫延遲、寫能耗,延長了PCM的使用壽命。
衡量主存性能的兩大指標(biāo)為:帶寬(GB/s)與功耗(W)。
帶寬是指能夠有效通過該信道的信號的最大頻帶寬度。內(nèi)存帶寬的大小直接影響信號在信道上傳輸時(shí)的速度。當(dāng)下的計(jì)算機(jī)系統(tǒng)處理海量數(shù)據(jù)的所有操作都要經(jīng)過主存,因此主存的帶寬是影響整個計(jì)算機(jī)系統(tǒng)性能的一個重要參數(shù)。
主存帶寬的計(jì)算公式如下:
帶寬=總線寬度×總線頻率×一個時(shí)鐘周期內(nèi)交換的數(shù)據(jù)包個數(shù) (1)
根據(jù)計(jì)算主存的帶寬公式,當(dāng)同一系統(tǒng)中總線寬度和總線頻率固定時(shí),一個時(shí)鐘周期內(nèi)交換的數(shù)據(jù)包個數(shù)就成為確定主存性能優(yōu)劣的關(guān)鍵因素。圖3為主存系統(tǒng)帶寬比較。
圖3 主存系統(tǒng)帶寬比較
根據(jù)圖3中的柱狀圖得出,在系統(tǒng)同一配置下,基于DRAM和PCM混合主存系統(tǒng)的帶寬與基于DRAM主存系統(tǒng)的帶寬接近,約是基于PCM主存系統(tǒng)的3倍。說明混合主存系統(tǒng)在執(zhí)行讀請求與寫請求時(shí),DRAM查找當(dāng)前日志記錄與寫緩存涉及到的DRAM與PCM延遲可以忽略不計(jì);在執(zhí)行寫請求時(shí),先寫入DRAM介質(zhì)中的buffer,盡可能提高DRAM高帶寬的利用率。
功耗是指單位時(shí)間內(nèi)消耗的能源數(shù)量。主存功耗的高低直接影響計(jì)算機(jī)系統(tǒng)的性能。大數(shù)據(jù)時(shí)代海量數(shù)據(jù)加大了主存功耗在整個計(jì)算機(jī)系統(tǒng)功耗中的占比。
根據(jù)圖4中的柱狀圖得出,在系統(tǒng)同一配置下,基于DRAM和PCM的混合主存系統(tǒng)的主存功耗比基于DRAM主存系統(tǒng)的主存功耗降低了30%~40%。這是因?yàn)榛贒RAM和PCM的混合主存系統(tǒng)在執(zhí)行讀請求時(shí),首先查找當(dāng)前日志記錄用以讀出原始數(shù)據(jù)地址,利用其原始數(shù)據(jù)的地址從存儲器中讀取數(shù)據(jù),相比直接從存儲器中查找數(shù)據(jù),最大限度地降低了主存功耗。當(dāng)基于DRAM和PCM的混合主存系統(tǒng)在執(zhí)行寫請求時(shí),直接寫在DRAM的緩存上,PCM寫操作的能耗是DRAM寫操作能耗的4倍,使寫操作的功耗得到了最大限度降低。因此,基于DRAM和PCM混合主存架構(gòu)機(jī)制實(shí)現(xiàn)了降低主存系統(tǒng)功耗的目的,提高了計(jì)算機(jī)系統(tǒng)的性能。
圖4 主存系統(tǒng)功耗比較
為滿足大數(shù)據(jù)時(shí)代存儲系統(tǒng)的需求,相變存儲器PCM以其非易失等優(yōu)點(diǎn)在計(jì)算機(jī)存儲系統(tǒng)中嶄露頭角,改變了傳統(tǒng)的主存架構(gòu),為現(xiàn)階段的大數(shù)據(jù)存儲與管理注入了新動能。目前,PCM存在寫操作次數(shù)有限等缺陷,使得PCM不能完全取代DRAM作為獨(dú)立的主存介質(zhì)。
采用基于DRAM和PCM混合主存架構(gòu)機(jī)制,對兩種存儲器進(jìn)行揚(yáng)長避短、分工協(xié)作,提高了主存系統(tǒng)的帶寬,降低主存系統(tǒng)的功耗,延長了PCM的使用壽命,緩解了基于易失性DRAM主存架構(gòu)系統(tǒng)的I/O瓶頸問題,適應(yīng)了大數(shù)據(jù)時(shí)代海量數(shù)據(jù)更高性能的存儲。