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

        ?

        利用相變存儲(chǔ)器不對(duì)稱性的寫入優(yōu)化方法

        2021-07-28 12:36:32張格毅陳小剛郭繼鵬宋志棠陳邦明
        關(guān)鍵詞:優(yōu)化實(shí)驗(yàn)

        張格毅,陳小剛,郭繼鵬,3,宋志棠,陳邦明

        1.中國(guó)科學(xué)院 上海微系統(tǒng)與信息技術(shù)研究所 信息功能材料國(guó)家重點(diǎn)實(shí)驗(yàn)室,上海200050

        2.上??萍即髮W(xué) 信息科學(xué)與技術(shù)學(xué)院,上海201210

        3.中國(guó)科學(xué)院大學(xué),北京100049

        相變存儲(chǔ)器PCM(Phase Change Memory)是目前公認(rèn)最有發(fā)展?jié)摿Φ男滦痛鎯?chǔ)器之一。對(duì)PCM的首次研究可追溯至Ovshinsky 于1968 年開始的相變材料的相關(guān)研究工作,然而PCM 在20 世紀(jì)受制于半導(dǎo)體技術(shù)而發(fā)展緩慢,直至20 世紀(jì)末,才取得突破性進(jìn)展[1]。目前PCM的應(yīng)用有很大潛力,針對(duì)PCM特點(diǎn)的相關(guān)優(yōu)化技術(shù)還有待發(fā)掘。PCM是利用相變材料在晶態(tài)和非晶態(tài)時(shí)的電阻率差來存儲(chǔ)信息的非易失性存儲(chǔ)器,其寫1(set)、擦0(reset)與讀取的工作原理如下:set時(shí)通過一長(zhǎng)約100 ns~1μs的弱的電流脈沖,讓相變材料轉(zhuǎn)換為晶態(tài),而reset 時(shí)通過一個(gè)短的強(qiáng)電流將材料轉(zhuǎn)變?yōu)榉蔷B(tài)。讀取時(shí)給材料施加一短且弱的電流脈沖,根據(jù)材料的阻值讀出存儲(chǔ)的信息。如圖1所示,set的時(shí)間為reset的數(shù)倍,這一特性即PCM的擦寫不對(duì)稱性。

        圖1 相變材料在不同操作下溫度示意圖

        PCM 是一種非易失性存儲(chǔ)器,具有字節(jié)可尋址和可以原地更新的性質(zhì),相比目前主要的非易失性半導(dǎo)體存儲(chǔ)器FLASH,其在訪問速度和使用壽命方面具有明顯優(yōu)勢(shì)。而在存儲(chǔ)密度、功耗、成本等方面,PCM與目前主流的內(nèi)存DRAM(Dynamic Random Access Memory)相比也具有明顯優(yōu)勢(shì)[2]。這些性質(zhì)使得PCM 具有替代DRAM 成為非易失性內(nèi)存的潛力。但在用作內(nèi)存時(shí),PCM 也同樣面對(duì)了諸多挑戰(zhàn),比如主存的訪問方式與硬盤不同,訪問的頻率和集中度更大,PCM的設(shè)計(jì)者必須考慮提出新的優(yōu)化技術(shù)以增加寫入壽命。PCM雖然讀取延時(shí)一般在100 ns以內(nèi),達(dá)到了與DRAM同一數(shù)量級(jí)。但寫入延時(shí)方面,與PCM 的需要數(shù)百ns 甚至接近1 μs,而DRAM 只需20~50 ns,相差了一個(gè)數(shù)量級(jí)[3],面對(duì)內(nèi)存的訪問需求仍有一定的差距。并且隨著業(yè)界對(duì)PCM 的研究和開發(fā)越發(fā)深入,PCM 的定位從最初的SSD 越來越向內(nèi)存靠攏,面對(duì)這些未來的發(fā)展方向,如何增加寫入壽命和減少寫入延時(shí),使PCM 的性能滿足內(nèi)存的需要已然是目前需要考慮的重要研究課題。

        針對(duì)上述PCM 面對(duì)的挑戰(zhàn),提出了RSIW(Reset and Set Independently Write)方案,傳統(tǒng)的寫入操作每一次寫入時(shí)都同時(shí)包含set 與reset 兩個(gè)操作,根據(jù)寫入數(shù)據(jù)對(duì)每一位進(jìn)行寫1或擦0,在RSIW方案中利用轉(zhuǎn)換層的技術(shù)進(jìn)行映射使得這兩種操作相互獨(dú)立,并不局限于都在一個(gè)寫入周期內(nèi)執(zhí)行,收到寫入指令時(shí)只執(zhí)行快速的reset 操作,set 操作則在存儲(chǔ)器空閑時(shí)預(yù)先執(zhí)行。目前已有的根據(jù)PCM不對(duì)稱性進(jìn)行優(yōu)化的方案中多為根據(jù)其寫入策略調(diào)整set 與reset 的順序等操作,不能像RSIW針對(duì)不對(duì)稱性進(jìn)行最大化的利用。同時(shí)為了進(jìn)一步解決地址映射耗時(shí)長(zhǎng)的問題,本研究提出了包括動(dòng)態(tài)PCM 轉(zhuǎn)換層(Dynamic PCM Translation Layer,DPTL)和地址指針模塊等可以快速完成地址映射的設(shè)計(jì)。

        1 國(guó)內(nèi)外研究現(xiàn)狀

        為了解決PCM 寫入延時(shí)和使用壽命方面的問題,相關(guān)研究人員已經(jīng)做了大量的工作比如改進(jìn)材料、工藝,除了從器件本身進(jìn)行改進(jìn)之外,也有諸多在使用帶DRAM 的混合存儲(chǔ)系統(tǒng)的架構(gòu)[4]和其他方面的改進(jìn)。比如在文件系統(tǒng)方面Lee 等人提出專門針對(duì)PCM 設(shè)計(jì)的文件系統(tǒng)shotcut-JFS,通過避免日志數(shù)據(jù)的復(fù)制,減少大量寫操作,相比傳統(tǒng)的ext3文件系統(tǒng)提高了40%的整體性能[5]。Zhou等人提出部分寫的機(jī)制,在寫入前先讀出該地址上的數(shù)據(jù),與即將存入的數(shù)據(jù)進(jìn)行對(duì)比,只修改部分有差異的位[6]。在降低寫延時(shí)方面,Cho 等人提出Flip-N-Write(FNW)的方法,該方案通過增加一個(gè)翻轉(zhuǎn)位,寫入時(shí)先讀出該地址上的數(shù)據(jù)進(jìn)行對(duì)比,確定數(shù)據(jù)中需要修改的位的數(shù)量,即新舊數(shù)據(jù)之間的漢明距離,如果小于總數(shù)據(jù)的一半則直接寫入,反之將數(shù)據(jù)取反后再寫入,并用翻轉(zhuǎn)來記錄此處的數(shù)據(jù)讀出時(shí)是否需要取反,從而可以將實(shí)際需要寫入的數(shù)據(jù)位數(shù)始終保持在總的數(shù)據(jù)位數(shù)的一半以下,從而有效地提高寫入速度[7]。部分寫入FNW 的方案都是通過減少寫入次數(shù)而提高寫入速度的方法,同時(shí)由于寫入次數(shù)減少,PCM的使用壽命也會(huì)增加。

        除了上述優(yōu)化方案外,近年也有人提出利用PCM的擦寫不對(duì)稱性進(jìn)行優(yōu)化的方案,例如Qureshi 等人在2012 年提出了一種preset 的方式,利用內(nèi)存的工作特性,在緩存行內(nèi)的數(shù)據(jù)被修改時(shí),生成一條preset請(qǐng)求,在數(shù)據(jù)被寫回前提前將該行對(duì)應(yīng)的數(shù)據(jù)全部進(jìn)行set,待寫回時(shí)只需要進(jìn)行reset 操作,從而提高PCM 整體性能[8]。隨后Yue等人提出了Two-Stage-Write(2SW)與優(yōu)化的Two-Stage-Write-Inv(2SWI)方案,這一方案將寫入過程拆分為兩個(gè)階段,第一階段進(jìn)行高速reset,第二階段增強(qiáng)并行寫入的機(jī)制進(jìn)行set。2SWI 在第二階段的可與FNW技術(shù)結(jié)合,使得寫入的時(shí)間減少為2SW方案中的一半,并在Cho 等人的研究結(jié)果上進(jìn)行了優(yōu)化,減少了原FNW方案預(yù)讀操作的時(shí)間[9]。進(jìn)一步的,Li等人提出了three-stage-write(3SW)的方案[10],該方案第一階段讀取預(yù)寫入地址中的原數(shù)據(jù),第二階段進(jìn)行快速的reset,第三階段進(jìn)行set,第三個(gè)階段與2SWI方案類似,但Li 的團(tuán)隊(duì)在第二階段中結(jié)合了FNW 的技術(shù),使得reset的時(shí)間能有效降低。上述的2SW、2SWI和3SW都是利用PCM 的擦寫不對(duì)稱的特性來提高PCM 整體性能的方法,但這些方法都是在寫入時(shí),提前進(jìn)行reset,寫入時(shí)還是會(huì)受到set 高延時(shí)的影響,基于上述特點(diǎn)本文提出了RSIW 的方法,旨在讓set 和reset 兩種操作相互分離,寫入時(shí)只執(zhí)行reset 操作,set 則在空閑時(shí)進(jìn)行,使其能獨(dú)立執(zhí)行,故稱其為擦寫?yīng)毩⒌膶懭敕桨?。同時(shí),RSIW需要對(duì)每一次PCM寫入進(jìn)行重新映射,在這一步驟中加入了動(dòng)態(tài)磨損均衡的方案,在極大地減少寫入延時(shí)的同時(shí)增加PCM整體的使用壽命。

        在提升PCM 使用壽命方面,除了上述提到的改進(jìn)器件性能,和各種減少寫入次數(shù)的方法外,磨損均衡也是本領(lǐng)域的常見手段。存儲(chǔ)器整體的使用壽命受到存儲(chǔ)器內(nèi)各個(gè)存儲(chǔ)單元的短板效應(yīng)限制,磨損均衡通過平衡內(nèi)部各個(gè)存儲(chǔ)單元的寫入頻率,避免了由于短板效應(yīng)而導(dǎo)致整體使用壽命過低[11-13]。磨損均衡的算法可以分為靜態(tài)磨損均衡與動(dòng)態(tài)磨損均衡,其中靜態(tài)磨損均衡是在存儲(chǔ)器設(shè)備觸發(fā)某一條件時(shí),例如使用了一段時(shí)間或?qū)懭脒_(dá)到一定次數(shù)等,根據(jù)一定的算法來移動(dòng)各個(gè)塊的數(shù)據(jù),動(dòng)態(tài)的磨損均衡則是在寫入時(shí)觸發(fā),根據(jù)其磨損均衡算法將數(shù)據(jù)寫入至其他塊上。RSIW方法本身就具備了磨損均衡的特征,運(yùn)行時(shí)能夠獲得動(dòng)態(tài)磨損均衡的效果,這一點(diǎn)是目前所有同類優(yōu)化方案中都不具備的。

        2 RSIW方案

        2.1 RSIW方案簡(jiǎn)介

        RSIW是一種利用相變存儲(chǔ)器set與reset不對(duì)稱性,對(duì)存儲(chǔ)器進(jìn)行優(yōu)化的一種解決方案。其基本思想是將每一次寫入操作都映射到一個(gè)干凈的地址上,即該地址上的所有位都已經(jīng)被預(yù)先set 過的地址。RSIW 最大的創(chuàng)新處在于將在同一個(gè)寫入周期內(nèi)的set與reset操作分離,將其視為兩個(gè)相互獨(dú)立的操作,可以不受干擾的在不同時(shí)間段執(zhí)行。目前利用PCM的擦寫不對(duì)稱性進(jìn)行優(yōu)化的方案中,均是通過調(diào)整set 和reset 的順序和方式來進(jìn)行優(yōu)化的,實(shí)際上每次操作都需要進(jìn)行set 和reset操作,而RSIW方案則通過DPTL實(shí)現(xiàn)了set與reset的獨(dú)立,從而更好地利用擦寫不對(duì)稱性來優(yōu)化寫入過程。

        RSIW寫入時(shí)基本流程的偽代碼如下所示:

        每次寫入時(shí),通過DPTL 獲得一個(gè)干凈的地址,隨后立即將數(shù)據(jù)寫入干凈的地址內(nèi),寫入的同時(shí)建立新的地址映射。寫入過程中,結(jié)合了FNW技術(shù),通過翻轉(zhuǎn)位將寫入的位數(shù)控制在總位數(shù)的一半以下(N/2)。由于寫入的地址已知全部為1,相比同類方法省去了預(yù)讀數(shù)據(jù)的步驟或增加額外的位來記錄該地址內(nèi)1 或0 的位數(shù),運(yùn)行效率進(jìn)一步地提升。在寫入的同時(shí),PCM的控制器并行地完成對(duì)地址的映射,預(yù)備下一個(gè)干凈地址和回收(set)空閑芯片上的臟地址,臟地址主要指存儲(chǔ)了無用數(shù)據(jù)的地址,來源于內(nèi)存的釋放或同一數(shù)據(jù)重復(fù)命中時(shí)被映射至新的地址上。此處的并行處理并非并行計(jì)算,是因?yàn)楸辉L問的存儲(chǔ)單元在寫入時(shí)與控制器回收臟地址之間的工作不沖突,可以在同一時(shí)間內(nèi)進(jìn)行,這一機(jī)制在下文中詳細(xì)介紹。

        RSIW是針對(duì)PCM應(yīng)用于非易失性內(nèi)存而提出的,由于內(nèi)存的訪問模式不同于外存,受塊和頁(yè)的限制,且要求反映延時(shí)更低,目前已有的硬盤管理技術(shù)不能很好地適應(yīng)內(nèi)存的訪問需求,但如果使用內(nèi)存的管理技術(shù),存儲(chǔ)的控制器算力低下,會(huì)造成不可忽略的性能損耗。為了解決上述問題,本研究提出了如圖2 所示的設(shè)計(jì),在內(nèi)存管理的基礎(chǔ)上加以改進(jìn),以滿足RSIW能正常執(zhí)行。該設(shè)計(jì)主要包括一個(gè)動(dòng)態(tài)PCM 轉(zhuǎn)換層(Dynamic PCM Translation Layer,DPTL)和地址指針模塊(Addr pointer),其中DPTL 主要負(fù)責(zé)對(duì)地址進(jìn)行管理和映射,增設(shè)的地址指針模塊負(fù)責(zé)快速提供干凈地址,地址指針中含有一個(gè)塊指針和多個(gè)塊內(nèi)指針,塊內(nèi)指針用于判別該塊內(nèi)干凈的地址段,塊指針提供下一個(gè)要寫入的塊。結(jié)合偽代碼與結(jié)構(gòu)圖,RSIW方法在寫入時(shí),首先通過地址指針模塊獲得一個(gè)干凈的地址段,然后將數(shù)據(jù)寫在相應(yīng)的PCM 存儲(chǔ)陣列中。在PCM 寫入時(shí),DPTL 更新映射,地址指針模塊更新指針,提供的數(shù)據(jù)更新其中的地址映射。讀取時(shí)則首先通過DPTL 獲得相應(yīng)地址的映射后讀出所請(qǐng)求的數(shù)據(jù)。

        圖2 RSIW的結(jié)構(gòu)示意圖

        2.2 動(dòng)態(tài)PCM轉(zhuǎn)換層

        動(dòng)態(tài)轉(zhuǎn)換層(DPTL)的主要功能是地址映射管理,將輸入的邏輯地址與實(shí)際的物理地址之間建立映射。DPTL 不同已有的PTL(PCM Translation Layer)轉(zhuǎn)換層技術(shù),它需要面對(duì)的是碎片化的地址管理,并且內(nèi)存會(huì)有釋放舊內(nèi)存,建立新內(nèi)存等問題,地址管理比普通的以塊和頁(yè)進(jìn)行管理的PTL 更復(fù)雜,更靈活,其中的地址映射表的大小也會(huì)根據(jù)使用情況而變化,具有動(dòng)態(tài)的特點(diǎn)。由于本研究的重點(diǎn)不是如何設(shè)計(jì)一個(gè)完整的存儲(chǔ)器控制器,所以只討論DPTL中的地址管理和磨損均衡的功能,其他PTL共有的基礎(chǔ)功能不進(jìn)行贅述。

        由于本研究中將RSIW 預(yù)設(shè)在了內(nèi)存的應(yīng)用場(chǎng)景下,所以訪問的地址大小更靈活,不受塊與頁(yè)的限制,不能照搬PTL 中的傳統(tǒng)管理方案。而內(nèi)存的地址管理方面比較成功算法是平衡二叉樹和伙伴算法,其中平衡二叉樹的時(shí)間復(fù)雜度為O(lbn),隨著存儲(chǔ)器容量的增加,需要的時(shí)間也會(huì)逐漸增加,PCM 本身就是大容量的存儲(chǔ)器,并且PCM 控制器的時(shí)鐘頻率遠(yuǎn)不及CPU 的時(shí)間頻率,進(jìn)一步地加劇了管理地址時(shí)的時(shí)間損耗,所以此處提出一種基于哈希算法的映射進(jìn)行管理方案,哈希查找法的時(shí)間復(fù)雜度為O(1),且不會(huì)隨數(shù)據(jù)量的增加而增加,而哈希查找法本身也是一種犧牲空間來?yè)Q取速度的算法,能夠與PCM 存儲(chǔ)空間大的特點(diǎn)相結(jié)合。使用哈希表時(shí)如何解決沖突也是一個(gè)無法避免的重要問題,本課題采用鏈地址表的方法,即嘗試沖突時(shí)連接到另一個(gè)表中,在該表中進(jìn)行查詢。使用鏈地址也更便于地址的拆分與合并,并且易于使用硬件加速提高查找效率。

        2.3 地址的選取與磨損均衡

        RSIW方案中提出了增設(shè)地址指針模塊的方案以存儲(chǔ)各個(gè)塊內(nèi)干凈地址段的邊界地址。地址指針模塊中包括一指向塊的塊指針(圖中的block_pointer)和一組記錄了各個(gè)塊內(nèi)連續(xù)的干凈地址段邊界的塊內(nèi)指針(inblockp),塊內(nèi)指針的數(shù)量可以有多組,其結(jié)構(gòu)如圖3。PCM 最初未使用時(shí)所有地址均為干凈地址,在使用中根據(jù)寫入情況調(diào)整塊內(nèi)指針的指向范圍。收到寫入的指令時(shí),通過塊指針找到預(yù)寫的塊,然后根據(jù)塊內(nèi)指針獲得塊內(nèi)干凈地址段的邊界,通過邊界即可獲得干凈地址。在空閑時(shí)會(huì)回收臟地址并整理碎片,釋放出干凈地址并重新調(diào)整塊內(nèi)指針。

        圖3 指針模塊示意圖

        磨損均衡是RSIW方法中必有的功能,此處提出了一種定向地址偏移的方法進(jìn)行磨損均衡,該方法更易于將干凈地址集中在一段連續(xù)的地址內(nèi),利于塊內(nèi)指針進(jìn)行地址管理,除了這一種算法外其他算法也可以與RSIW相結(jié)合,但相關(guān)算法并非本研究主要討論的問題,對(duì)此不深入討論,僅提出這一種結(jié)合RSIW其他特性的可行的方法。該磨損均衡的算法的偽代碼如下所示:

        在空閑時(shí)根據(jù)上一次的寫入情況將塊指針指向下一個(gè)可寫塊(具有足夠干凈地址的塊),塊的選擇根據(jù)預(yù)定的方向依次進(jìn)行偏移,若偏移到末位塊后則跳回至第一塊。完整的地址在獲得可寫塊后,根據(jù)該塊對(duì)應(yīng)的塊內(nèi)指針?biāo)傅母蓛舻刂愤吔绔@得所需的干凈地址,并存儲(chǔ)該地址,寫入時(shí)可直接使用。所述的在空閑時(shí)間所指的是在存儲(chǔ)器接收到寫入指令之間的空余時(shí)間,這段時(shí)間內(nèi)完成指針模塊的更新。這一算法的性能會(huì)在本文的實(shí)驗(yàn)部分通過實(shí)驗(yàn)和數(shù)據(jù)進(jìn)行具體說明。

        地址指針模塊的功能也很容易使用電路實(shí)現(xiàn),從而可以使用硬件加速進(jìn)一步地提升其速度,此處結(jié)合相應(yīng)的電路波形仿真進(jìn)行說明,仿真實(shí)驗(yàn)中通過邏輯電路設(shè)計(jì)了該指針模塊并使其工作在500 MHz的時(shí)鐘下,其中blockp 即地址指針,inblockp1 和inblockp2 為塊內(nèi)指針,ctl 和write_en 為控制信號(hào)。其實(shí)驗(yàn)結(jié)果如圖4,塊內(nèi)指針根據(jù)磨損均衡和垃圾回收算法可以設(shè)置多組以記錄多個(gè)干凈地址段,本實(shí)驗(yàn)中使用的算法只需要兩個(gè)指針便可滿足需求。從實(shí)驗(yàn)結(jié)果中可看出,塊指針如上述算法所描述的,塊內(nèi)指針在控制信號(hào)的控制下每次向后移動(dòng)一個(gè)塊,tadr_out 輸出了該塊內(nèi)的一個(gè)干凈地址。該電路每隔幾納秒便可向DPTL 提供一個(gè)干凈地址作為映射的物理地址使用,遠(yuǎn)超存儲(chǔ)器控制器的運(yùn)行速度,同時(shí)此操作可分配在空閑時(shí)間完成,配合其他模塊快速完成地址映射,以滿足RSIW低延時(shí)的需要。

        圖4 指針模塊仿真實(shí)驗(yàn)波形結(jié)果

        臟地址的回收也是伴隨著動(dòng)態(tài)磨損均衡和內(nèi)存的使用所需解決的重要問題,臟地址的回收是否及時(shí)也關(guān)系到存儲(chǔ)器能否有足夠的使用空間。臟地址的回收如圖5所示,目前的內(nèi)存條結(jié)構(gòu)基本都由多個(gè)存儲(chǔ)芯片組成,每個(gè)芯片內(nèi)部有Bank 組,每個(gè)組中含有多個(gè)Bank,每次訪問時(shí)只會(huì)選中其中的一個(gè)Bank,如圖5中選擇了其中的Bank3,則其余的Bank則處于本方案中的空閑狀態(tài)。采用這種機(jī)制可以有效地提高臟地址的回收效率,set 的平均時(shí)間會(huì)遠(yuǎn)低于一次reset 的時(shí)間。空閑Bank并行回收的策略雖然效率高但也帶來了回收與正常讀寫指令沖突的問題,所以此處可以引入寫取消的策略,來自上位機(jī)的讀寫指令優(yōu)先于臟地址回收,當(dāng)某一正在set 臟地址的Bank 被選中后立即停止set 而執(zhí)行上位機(jī)的讀寫命令。

        圖5 RSIW方案中臟地址回收示意圖

        3 與同類技術(shù)對(duì)比

        為了進(jìn)一步驗(yàn)證RSIW方法的創(chuàng)新性與優(yōu)勢(shì),本文中將這種方法與經(jīng)典的FNW方案和與本方案最相近的2SW、2SWI和3SW方案進(jìn)行對(duì)比說明。如圖6所示,圖中列舉了各個(gè)方案寫入時(shí)消耗的最大時(shí)間,其中一個(gè)大方塊代表無優(yōu)化的情況下寫入一個(gè)單元花費(fèi)的時(shí)間,白色方塊表示一次讀取花費(fèi)的時(shí)間。FNW的基本思想是在接收到寫的命令后首先在T0至T1時(shí)刻讀取出欲寫入地址處中的數(shù)據(jù),隨后對(duì)比原數(shù)據(jù)與需要寫入的數(shù)據(jù),如果寫入的數(shù)據(jù)與原數(shù)據(jù)的漢明距離Δ超過寫入數(shù)據(jù)長(zhǎng)度的一半(N/2)(包括修改翻轉(zhuǎn)位的影響)則標(biāo)記翻轉(zhuǎn)位,寫入取反后的數(shù)據(jù)。其中漢明距離的計(jì)算如公式(1)所示。由于FNW 的實(shí)際寫入的位數(shù)始終能保持在N/2 以內(nèi),如圖6所示,最大寫入時(shí)間為T7。通過簡(jiǎn)單的分析,F(xiàn)NW 方案的最大寫入時(shí)間如公式(2)[7,10]所示,每次寫入的時(shí)間開銷為一次讀取時(shí)間加上M/2 次寫入的時(shí)間,M為完成一次緩存行內(nèi)數(shù)據(jù)的寫入需要寫入的次數(shù),F(xiàn)NW方案中每次寫入的時(shí)間與set的時(shí)間相同,故使用Tset來表示一次寫入的時(shí)間。

        圖6 RSIW方案與其他接近方案對(duì)比圖

        同樣的,2SW 和2SWI 的寫入最大時(shí)間如公式(3)和公式(4)[9-10]和圖6所示,這兩種方案類似,第一階段的reset均在T4時(shí)完成,所有reset消耗的時(shí)間與一次set的時(shí)間接近,第二階段2SWI方案中結(jié)合了FNW的技術(shù)方案,在set 階段可以進(jìn)一步地優(yōu)化寫入時(shí)間,2SW 在T8時(shí)完成寫入,而2SWI 由于set 時(shí)間降低為原來的一半,在T6時(shí)寫入完成。公式(3)、(4)中的L為一次增強(qiáng)并行寫入可同時(shí)操作的單元數(shù)量,本文沿用了參考文獻(xiàn)中使用的參數(shù)L=2[10]。

        3SW 方案消耗的最大時(shí)間如公式(5)和圖6 所示,第一階段為讀取階段,在T1時(shí)刻完成,第二階段reset相比上述的方案結(jié)合了FNW技術(shù),耗時(shí)更短,第三階段同2SWI方案的第二階段相同,最終在T5時(shí)完成寫入。

        RSIW方案消耗的最大時(shí)間如公式(6)和圖6所示,RSIW方案只需進(jìn)行reset便能完成寫入,所以消耗的時(shí)間是最短的?;趦?nèi)存的工作原理,只有被選中的bank在進(jìn)行寫入,而相較于被選中的bank和存儲(chǔ)器控制器,在T0到T1都處于空閑狀態(tài),可以執(zhí)行set操作和地址映射。

        除了從圖6中進(jìn)行形象的對(duì)比外,通過公式計(jì)算也能更具體地對(duì)比各個(gè)方式的優(yōu)劣,此處使用上海微系統(tǒng)與信息技術(shù)研究所信息功能材料實(shí)驗(yàn)室的PCM項(xiàng)目組生產(chǎn)的一款64 MB的PCM芯片的工作和性能參數(shù)進(jìn)行計(jì)算。其中,Tread約等于Treset,set 的時(shí)間約為reset 的六倍。公式中的M和L使用Li 等人論文中的數(shù)據(jù),L=2[10]。代入上述參數(shù)后可得TFNW=25Treset、T2SW=32Treset、T2SWI=20Treset、T3SW=17Treset和TRSIW=4Treset。結(jié)果如圖7所示,RSIW方案速度最快,相比上述方案中讀寫周期最短的3SW減少了76.5%,相比FNW、2SW和2SWI分別減少了84%、87.5%和80%。

        圖7 各方案寫入延時(shí)對(duì)比圖

        4 實(shí)驗(yàn)

        本實(shí)驗(yàn)選擇了gem5[14]仿真器作為主要的實(shí)驗(yàn)平臺(tái),該仿真器平臺(tái)示意如圖8,gem5 是一款受眾多研究者青睞的事件驅(qū)動(dòng)全系統(tǒng)仿真模擬器,由多所大學(xué)和公司聯(lián)合開發(fā),包括AMD、ARM、HP、MIPS、普林斯頓大學(xué)、麻省理工學(xué)院以及密歇根州大學(xué)等多家機(jī)構(gòu),其仿真結(jié)果真實(shí)可信,具有靈活,可用性強(qiáng),可協(xié)作性高的特點(diǎn),廣泛應(yīng)用于學(xué)術(shù)界中的眾多研究中[15]。由于PCM芯片成熟的產(chǎn)品較少,芯片設(shè)計(jì)流片的時(shí)間和經(jīng)濟(jì)成本一般的研究團(tuán)隊(duì)都難以承受,因此使用仿真器來進(jìn)行實(shí)驗(yàn)驗(yàn)證也是大部分相關(guān)研究人員的首選。

        圖8 仿真平臺(tái)示意圖

        仿真模型中系統(tǒng)的架構(gòu)具有兩層緩存,第一層cache的容量為16 KB,第二層cache的容量為64 KB,使用32 GB的PCM作為主存。CPU選擇了2 GHz的Timingsimple X86架構(gòu)。仿真器中PCM的性能參數(shù)選用了上海微系統(tǒng)與信息技術(shù)研究所信息功能材料實(shí)驗(yàn)室的PCM 項(xiàng)目組生產(chǎn)的64 MB 的PCM 芯片的工作參數(shù),和其他根據(jù)該芯片獲得的實(shí)驗(yàn)參數(shù)進(jìn)行設(shè)置,其中主要參數(shù)設(shè)置如下:100 ns的reset延時(shí),600 ns的set延時(shí),100 ns的讀取延時(shí),所有實(shí)驗(yàn)中的PCM 器件模型的參數(shù)保持一致,保證實(shí)驗(yàn)結(jié)果不受物理材料和器件影響。仿真使用的testbench 為SPEC2006[16]測(cè)試集中的八個(gè)測(cè)試程序,SPEC2006 為SPEC(Standard Performance Evaluation Corporation)公司發(fā)布的一款用于評(píng)估計(jì)算機(jī)系系統(tǒng)性能的標(biāo)準(zhǔn)測(cè)試集,由兩個(gè)整數(shù)測(cè)試和浮點(diǎn)測(cè)試的子測(cè)試集組成,被廣泛地應(yīng)用于各種計(jì)算機(jī)方面的研究中。為了能客觀準(zhǔn)確地驗(yàn)證各個(gè)技術(shù)方案的優(yōu)劣選擇了perlbench、bzip2、gcc、mcf、milc、leslie3d、sjeng、lbm 這八個(gè)testbench 進(jìn)行測(cè)量,其中前四個(gè)為整數(shù)測(cè)試,后四個(gè)為浮點(diǎn)測(cè)試。

        4.1 哈希函數(shù)分析

        哈希函數(shù)的不同直接會(huì)導(dǎo)致產(chǎn)生沖突的次數(shù)不同,進(jìn)而對(duì)RSIW 的性能產(chǎn)生重要的影響。本研究對(duì)比了常用的用于查找的哈希函數(shù)中選擇了取余法、折疊法和平方取中法。其中折疊法有兩種,折疊法1在原數(shù)據(jù)的基礎(chǔ)上進(jìn)行折疊,折疊法2先將原數(shù)據(jù)以哈希表的長(zhǎng)度作為進(jìn)制進(jìn)行了換算后再進(jìn)行折疊,提高其裝填因子。實(shí)驗(yàn)中為了能更好地進(jìn)行對(duì)比,將哈希表的長(zhǎng)度設(shè)置得比較小,各組實(shí)驗(yàn)的裝填因子均在0.9 以上。各個(gè)方案中產(chǎn)生沖突的次數(shù)如圖9所示,其中產(chǎn)生沖突最少分別是折疊法2 與取余法,產(chǎn)生沖突最多的為平方取中法。平方取中法選取的是中間的幾位,與折疊法2 同樣,哈希值不能均勻分布在哈希表中,效果明顯劣于其他算法。根據(jù)實(shí)驗(yàn)用的內(nèi)存訪問trace 的分析,邏輯地址本身的分布就比較均勻,所以在使用取余法時(shí)也能獲得很好的效果,改進(jìn)后的折疊法2的效果與取余法接近。綜合考慮了各方面因素,取余法計(jì)算簡(jiǎn)單,且計(jì)算出的哈希值與輸入的數(shù)據(jù)相關(guān)性比較好,所以選擇取余法作為DPTL中的哈希函數(shù)。

        圖9 沖突產(chǎn)生次數(shù)對(duì)比

        4.2 磨損均衡優(yōu)化結(jié)果

        磨損均衡是應(yīng)用于PCM 中的一項(xiàng)重要技術(shù),在實(shí)驗(yàn)中,由于提出新的動(dòng)態(tài)磨損均衡算法并不是本文的主要研究方向,RSIW 也可以與其他動(dòng)態(tài)磨損均衡算法兼容,且其他同類的優(yōu)化方案中也不具有磨損均衡的功能,故這組實(shí)驗(yàn)中僅使用無優(yōu)化的寫入標(biāo)準(zhǔn)差與采用了RSIW 方案的寫入標(biāo)準(zhǔn)差進(jìn)行對(duì)照,以表明RSIW 具有磨損均衡的功能。實(shí)驗(yàn)中以使用了定向地址偏移的方法進(jìn)行動(dòng)態(tài)磨損均衡,并對(duì)比了各組testbench下的寫入標(biāo)準(zhǔn)差。寫入標(biāo)準(zhǔn)差能有效衡量各個(gè)塊之間寫入次數(shù)差異,也是對(duì)比磨損均衡算法時(shí)常用的指標(biāo)。實(shí)驗(yàn)結(jié)果如圖10,通過與對(duì)照組的對(duì)比,可看出RSIW 使用的定向地址偏移法能有效均衡數(shù)據(jù)在各個(gè)塊之間的寫入差異,寫入標(biāo)準(zhǔn)差均能降到1 以下,相較未進(jìn)行均衡的對(duì)照組表現(xiàn)突出。

        圖10 寫入標(biāo)準(zhǔn)差優(yōu)化對(duì)比

        4.3 對(duì)系統(tǒng)性能提升結(jié)果對(duì)比

        RSIW對(duì)性能的提升也是用于衡量其優(yōu)劣性最重要的指標(biāo),通過gem5 的仿真得到了在不同testbench 下計(jì)算機(jī)性能優(yōu)化效果對(duì)比如圖11,其中的縱坐標(biāo)為每秒指令數(shù)(Instructions Per Second,IPS),該指標(biāo)能有效衡量計(jì)算機(jī)的運(yùn)行效率,是對(duì)比計(jì)算機(jī)系統(tǒng)性能的常用指標(biāo),橫坐標(biāo)則是在不同的testbench 和不同的技術(shù)方案。圖中的數(shù)據(jù)均以性能最差的2SW方案為基準(zhǔn)進(jìn)行了歸一化,以便直觀地看出各個(gè)方案系統(tǒng)性的優(yōu)化效果。從圖中可以看出,實(shí)驗(yàn)結(jié)果受到不同testbench 而影響,RSIW 方案可以明顯地提高系統(tǒng)的運(yùn)行效率,相比2SW、FNW、2SWI 和3SW 技術(shù)RSIW 將系統(tǒng)的運(yùn)行效率平均提高了69.1%、54.6%、44.4%和37.1%。其中提升效果最好的為mcf 組,相較2WS 方案IPS 提升了近一倍,相較3SW 也有64.4%的提升,提升效果最不明顯的是leslie3d組,相較2WS方案提升了50.2%,與性能最好的3SW相比提升了35.8%,其中整數(shù)類型的測(cè)試集效果差別比較大,優(yōu)化的效果優(yōu)于浮點(diǎn)類型的測(cè)試集。由于gem5 中的實(shí)驗(yàn)仿真中系統(tǒng)處理主存外,還設(shè)置了兩層SRAM的緩存,緩存的存在減弱了主存的性能對(duì)計(jì)算機(jī)整體性能的影響,所以實(shí)際的實(shí)驗(yàn)結(jié)果與之前第3章中的計(jì)算結(jié)果有一定差異,但也更接近真實(shí)的優(yōu)化效果。

        圖11 instructions rate提升對(duì)比

        5 結(jié)束語

        為了解決PCM 應(yīng)用于非易失性內(nèi)存時(shí)寫入延時(shí),寫入次數(shù)不能滿足需要的問題,本研究利用PCM reset與set 操作時(shí)間不對(duì)稱的特點(diǎn)提出了RSIW 方案來優(yōu)化PCM的寫入速度,提高使用壽命。RSIW通過轉(zhuǎn)換層建立映射,將PCM 的set 與reset 操作分離,相比現(xiàn)有的技術(shù)方案性能獲得了顯著的提升。針對(duì)存儲(chǔ)器控制器運(yùn)行速度低的特點(diǎn),提出了相應(yīng)的優(yōu)化方案,提出DPTL,地址指針模塊等手段來提高RSIW的運(yùn)行速度,并通過實(shí)驗(yàn)對(duì)其內(nèi)部的實(shí)施細(xì)節(jié),例如地址管理的算法,進(jìn)行討論。同時(shí),使用了定向地址偏移的動(dòng)態(tài)磨損均衡算法進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果證明了RSIW可以與動(dòng)態(tài)磨損均衡算法相結(jié)合,顯著地降低各個(gè)塊之間的寫入標(biāo)準(zhǔn)差。文中還將RSIW 與FNW、2SW、2SWI 和3SW 方法進(jìn)行對(duì)比,根據(jù)數(shù)理推導(dǎo),相比上述方法一次讀寫周期的時(shí)間分別減少了84%、87.5%、80%和76.5%。最后的實(shí)驗(yàn)中,使用了gem5 仿真器和SPEC2006 測(cè)試集中幾個(gè)具有代表性的測(cè)試基準(zhǔn)進(jìn)行實(shí)驗(yàn),并與多種同類的技術(shù)方案在同架構(gòu)和配置下對(duì)比了其IPS。通過實(shí)驗(yàn)結(jié)果證明了RSIW 可以有效地改善系統(tǒng)性能,相對(duì)其中性能最差的對(duì)比技術(shù)方案2WS平均IPS提高了50%,相比對(duì)照組中性能提高最好的3SW方案也有35.8%。通過上述的論證與實(shí)驗(yàn)有效地證明了RSIW相比同類的技術(shù)方案能更有效地優(yōu)化其寫入速度,并且可以提供有效的磨損均衡。

        猜你喜歡
        優(yōu)化實(shí)驗(yàn)
        記一次有趣的實(shí)驗(yàn)
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        微型實(shí)驗(yàn)里看“燃燒”
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
        做個(gè)怪怪長(zhǎng)實(shí)驗(yàn)
        NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
        實(shí)踐十號(hào)上的19項(xiàng)實(shí)驗(yàn)
        太空探索(2016年5期)2016-07-12 15:17:55
        久久久国产精品| 男人的天堂av一二三区| 中文字幕天堂网| 亚洲无码毛片免费视频在线观看| 丝袜美腿诱惑区在线播放| 夜夜夜夜曰天天天天拍国产| 亚洲av综合av国产av| 99久久精品无码专区无| 国产日产久久福利精品一区| 中文资源在线一区二区三区av| 亚洲人成国产精品无码果冻| 久久久久亚洲av无码专区| 91精品国产高清久久久久| 中文字幕色资源在线视频| 99久久婷婷国产综合亚洲| 双腿张开被9个男人调教| 色欲国产精品一区成人精品| 美女黄频视频免费国产大全| 极品少妇人妻一区二区三区 | 国产亚洲精品综合一区二区| 亚洲国产精品成人久久久| 久久精品国产亚洲av蜜臀 | 中文字幕av久久激情亚洲精品| 精品国产亚洲级一区二区| 国产特级毛片aaaaaa| 欧洲亚洲视频免费| 日本高清不卡二区三区| 浪货趴办公桌~h揉秘书电影 | 91精品福利观看| 中文字幕乱码琪琪一区| 中文字幕av久久亚洲精品| 亚洲国产韩国欧美在线| 中文字幕无码高清一区二区三区 | 亚洲综合网国产精品一区| 欧美成a人片在线观看久| 日韩中文字幕无码av| 很黄很色的女同视频一区二区| 精品乱码久久久久久久| 日韩精品网| 午夜免费观看国产视频| 色吊丝中文字幕|