孫廣宇, 舒繼武, 王 鵬
(1.北京大學 信息科學技術學院,北京100871;2.清華大學 計算機系,北京100084)
傳統的存儲系統由三個主要存儲層次構成,按訪存延時(latency)從低到高的順序依次是緩存、主存和內存.然而,基于傳統存儲工藝的存儲系統已經逐漸無法滿足計算機系統對性能和功耗的需求.換言之,計算機系統的發(fā)展正面臨“存儲墻”帶來的巨大挑戰(zhàn).該問題主要歸結于兩個方面的原因:一方面,隨著多核/眾核處理器的普及以及計算機系統規(guī)模的飛速增長,傳統的“計算密集型”應用對存儲系統的延時和容量的需求不斷提升;另一方面,大數據時代的到來使得各種“數據密集型”應用不斷涌現,進一步對存儲系統的帶寬和容量提出更高的需求.下面,本文將圍繞新興的“內存計算(in-memory computing)”應用,通過分析這類應用對內存的需求,強調引入“非易失內存(non-volatile memory)”的必要性.
隨著移動互聯網、物聯網和云計算技術的飛速發(fā)展,大數據時代已經來臨.每天,數以萬計的智能設備和傳感器每時每刻都在向后臺系統傳輸著數據.如何將這些實時產生的數據加工成實時的信息,為企業(yè)提供實時決策的依據,創(chuàng)造出更大的價值?這已經成為IT業(yè)界面臨的一個新的挑戰(zhàn)和機遇.內存計算有望使數據計算的速度呈幾何級的增長,更好地解決這個問題.
內存計算是指采用高性能的內存來對海量數據進行實時計算和處理,CPU直接從內存而不是硬盤上讀取數據,它比傳統的基于磁盤的系統快幾個數量級.內存計算非常適合處理需要實時獲得分析結果的數據.隨著內存硬件價格的下降、容量的提高,內存計算有望得到廣泛應用.當前,學術界已經有不少文獻在研究相關的內存存儲系統和內存數據庫技術,比如 Picolo[5],Apache Spark[6]的前身 RDD[7,8,9]、RAMCloud[10,11,12]等.
SAP公司指出,內存計算對內存容量的需求非常巨大,在多核場景下,需要達到TB級[1].而IMEX research公司的報告指出[2],各種不同類型的應用負載有著不同的I/O特性(如圖1所示[2]),例如聯機事務處理(OLTP)類應用具有很高的隨機I/O,對延遲的要求最高,而Hadoop類大數據應用屬于批處理型I/O,以順序寫為主,對吞吐的要求較高.
圖1 各種類型的應用負載的I/O特性Fig.1 I/O characteristics of various workloads
各種應用的I/O對于吞吐和延遲不同的需求決定了需要有不同的存儲設備為之服務,非易失存儲的出現不僅能夠顯著降低引入大量內存產生的靜態(tài)功耗,同時豐富了存儲層次結構,有望填補DRAM內存和硬盤之間不斷擴大的鴻溝,如圖2[2]所示.
圖2 存儲結構層次Fig.2 Memory hierarchy
在內存計算的場景下,非易失內存有著廣泛的應用場景.(1)NVM有著比NAND Flash SSD更好的延遲和吞吐,其IO性能比SSD好100倍以上;(2)NVM的存儲密度比DRAM更大,因此在同等面積/內存插槽的情況下,它能給多核環(huán)境下的CPU提供更多的數據;(3)在前兩點因素的共同作用下,對于存儲一定量的數據并滿足一定性能需求的條件下,使用SCM技術能降低所需要的機器數量.例如:SAP公司已經把非易失內存技術的應用研究作為它們內存計算技術研究的一個重點[3],此外,Virident公司已經著手對MySQL InnoDB和MemCached用在SCM的情況進行了優(yōu)化[4],使這些系統得到更好的利用.
如前言所述,維護已有30多年歷史的基于DRAM和HDD的傳統主存和外存結構,已經成為面向新興應用計算系統面臨的主要挑戰(zhàn).本章節(jié)首先介紹兩類主要的非易失內存結構,并通過對各種非易失存儲器件的分析,探討適合這兩類非易失內存結構的存儲器件.
如圖3[35]所示,本文所指的非易失內存主要分為兩類:(1)兼容傳統主存控制器(memory controller)的非易失主存(NVM main memory);(2)連接在I/O總線上的存儲級內存(Storage-Class-Memory或SCM).
第一類非易失內存(下文簡稱NVM主存)的特點是可以直接替換傳統的DRAM內存或者兩者同時使用構成混合主存(Hybrid Memory),其優(yōu)勢是NVM主存由硬件進行控制,只需針對NVM主存的特性對主存控制器進行適當的改進,對上層應用透明,無需引入系統級(操作系統、文件系統等)的改動.這種非易失內存結構主要利用非易失存儲器件低靜態(tài)功耗的優(yōu)勢,同時要滿足能夠匹配傳統DRAM的性能需求,并盡可能地提高存儲密度.
第二類非易失內存(下文簡稱SCM),是對介于傳統DRAM主存和HDD外存之間的存儲層次所使用的存儲設備的統稱.相比于HDD外存,SCM具備無運動部件、低延遲、高吞吐率的優(yōu)勢;相比于DRAM主存,具備非易失、低單位比特造價、低功耗的優(yōu)勢[13].
圖3 兩類非易失內存的示意圖Fig.3 Schematic of two nonvolatile memory types
通過兩類非易失內存特性的對比,可以看出兩類非易失內存對所采用的存儲器件工藝提出不同的需求.同時,針對網絡搜索、內存計算、數據挖掘、移動計算等多種應用,即使同一類非易失內存也會針對實際應用進行不同側重點的的設計及優(yōu)化.因此,當今各種主流的閃存(FLASH)、鐵電存儲器(FeRAM)、磁存儲器(MRAM)、相變存儲器(PRAM)、阻變存儲器(RRAM)等非易失存儲器件都是制造非易失內存的潛在競爭者[14].下文首先對集中非易失存儲器件進行介紹,并分析其可能應用的場景.
閃存(FLASH)通過選擇是否在浮柵中存放電荷進而存儲數據.Flash依據存儲單元分為與非(NAND)和或非(NOR)兩種結構.NOR可以提供高達100 MB/s的讀寫速度,而NAND卻可以達到數倍于NOR的存儲密度,可以達到較低的生產成本.同時,3D堆疊技術將多層Flash存儲單元堆疊在一起,為提高存儲密度提供了新的途徑[15].目前,進入22 nm及以下的多比特與非閃存(MLC NAND Flash)已被業(yè)界用于生產固態(tài)硬盤(SSD),三星、閃迪等公司均發(fā)布1T的MLC Flash.相比于傳統HDD,NAND Flash具備低延時、高吞吐、低功耗的優(yōu)勢,但是性能尚無法與DRAM相比,同時考慮到其擦寫壽命問題,NAND Flash通常適合于設計大容量,高吞吐的SCM.
鐵電存儲器(FeRAM)是最早的非易失存儲競爭者之一.它由兩端為金屬電極中間為鐵電材料構成的鐵電容組成.這種三明治結構功耗低、工作電壓低,并可能較容易與CMOS工藝集成.但是FeRAM的存儲單元較大,制成溫度高,刻蝕無斜坡的三明治結構非常困難,鐵電也面臨3D集成等諸多挑戰(zhàn).考慮到FeRAM存儲密度較低,通常適合在(超)低功耗嵌入式系統中用于非易失內存設計,并不適合面向新興高性能應用的計算機系統.
磁存儲器(MRAM)通過磁性材料的磁極方向保存數據.MRAM提供較快的寫性能、較容易的CMOS集成方式、高的耐用性.目前MRAM的問題是寫電流較大,電遷移現象隨著尺寸縮小而嚴重,影響器件性能.包括自旋矩傳輸磁存儲器(STT-MRAM)、條帶磁存儲器(Racetrack)在內的多種MRAM變體試圖降低寫電流.已經有Everspin,Grandis和日本電氣 (NEC)等公司成功展示了自旋矩傳輸磁存儲器的商業(yè)化產品.STT-RAM性能優(yōu)于DRAM,但是存儲密度尚有一定差距,因此可以與DRAM進行混合主存設計.Racetrack相對于STT-RAM存儲密度有顯著提高,是未來NVM主存設計的有力競爭者之一.
相變存儲器(PRAM)利用硫化物晶態(tài)與非晶態(tài)間的巨大電阻差值來記憶數據.PRAM可以提供高耐用性、快的讀寫速度、22nm后良好的縮小潛力等.PRAM的存儲密度以及讀操作性能都可以和DRAM相媲美,是制造NVM主存的另一個有力競爭者.但是PRAM需要較大的寫電流,在寫操作性能方面低于DRAM.而且PRAM的擦寫次數通常小于108,因此如何提高寫操作性能和壽命問題是PCM主存設計面臨的主要挑戰(zhàn).隨著PRAM工藝的進展,多比特PRAM存儲器件(MLC)也受到廣泛關注.基于MLC的PRAM設計可以提供和NAND Flash相媲美的存儲密度,但是性能和壽命將進一步下降,因此,更加適用于SCM設計或者混合NVM主存設計.
阻變存儲器(RRAM)利用多種材料在適當的電壓下的不同電阻來存儲數據.RRAM按照材料可以分為絕緣體存儲和固態(tài)電極存儲.RRAM通過橫木交錯(crossbar)結構可以提供更高的存儲密度,并提供高于Flash數倍的訪問速度.實驗表明RRAM只需要較小的復位電流(10μA),并可以在85攝氏度下工作10年以上[16].RRAM當今面臨的主要問題是工藝擾動較大,導致其存儲芯片的良率(yield)較低.近年來,RRAM的制造工藝一直在不斷進步,預期RRAM在16 nm及之后技術節(jié)點,可能成為NVM主存和SCM有力的競爭者.
綜上所述,各種非易失存儲的發(fā)展為NVM主存及SCM兩類非易失存儲的設計都提供了可行性.下面兩個章節(jié)中,我們將分別對近期NVM主存和SCM兩個領域的部分代表性工作進行綜述,在揭示非易失存儲帶來的性能及功耗優(yōu)勢的同時,說明在體系結構級和系統級兩個層次需要進行的改進與優(yōu)化.
傳統主存通常采用DRAM工藝,如前文所述,DRAM工藝同樣存在靜態(tài)功耗較高的問題.因此研究人員提出使用PCM代替DRAM工藝.表1[17]對基于DRAM和PCM的主存的部分參數進行了相應的對比.
表1 DRAM和PCM部分技術參數Tab.1 Technology parameters of DRAM and PCM
可以看出,雖然PCM可以顯著減少主存的靜態(tài)功耗,其寫操作同樣存在高能耗和高延時的問題.更重要的是,PCM的擦寫次數遠低于DRAM,因此需要考慮PCM主存壽命的問題.本章我們主要介紹提高PCM能效的結構設計和優(yōu)化技術,關于壽命的問題將在本文后續(xù)部分討論.
2009年,Ping Zhou、Benjamin Lee和Moinuddin Qureshi分別同時提出采用PCM代替DRAM進行主存設計[16-18].這些研究工作指出了基于PCM主存系統所存在的問題,提出了包括bank buffer在內的主存結構優(yōu)化設計,并提出了兩種簡單有效的優(yōu)化方法.一種是用DRAM作為PCM的緩沖(Buffer)減少對PCM 的寫操作,另一種是采用部分寫(partial writes)策略,寫入數據時和原始數據進行比較,只將差異部分寫入.這兩種方法對于改善基于PCM主存系統的性能有明顯的效果.
隨著PCM技術的發(fā)展,人們逐漸認識到多比特(Multi-level Cell)PCM存儲單元可以進一步提高主存的存儲密度.但是,多比特PCM單元的“寫操作”延時和能耗顯著的增加極大阻礙了其在內存層次的應用.因此,針對這一情況,研究人員提出了大量的結構優(yōu)化設計[19-23].例如,可以通過多比特與單比特PCM單元結合的方法在性能和容量之間尋求優(yōu)化平衡;通過多級的寫入及比較的方法,能夠有效地提高“寫操作”的能效;通過數據的選擇性組合,可以提高PCM數據寫操作的帶寬;通過類似于STT-RAM緩存中使用的寫暫停優(yōu)化技術來提高 PRAM 寫性能[19-23].
數據編碼技術也是一種有效提高PCM寫操作能效的方法.本文作者提出根據數據訪問頻率以及寫入能量進行單比特和多比特PCM的數據編碼優(yōu)化技術[24,25].最近,其他研究人員提出采用WoM-code的數據編碼技術來提高PCM寫操作的性能和功耗[26].Wangyuan Zhang等人還針對工藝擾動對PCM主存的影響進行了結構級的優(yōu)化設計[27].值得一提的是,除了PCM以外,Engin Ipek等人提出RRAM也可以作為DRAM的替代品之一,除了相應的設計改動,在結構層次提出了數據復制等優(yōu)化策略[28].
Jeremy Condit等人則研究了軟硬件的合理分工、協同優(yōu)化問題.他們圍繞字節(jié)可尋址的持久存儲器(byte-addressable persistent memory,BPRAM)設計了BPFS相應的硬件架構和文件系統[29].其設計原則是:(1)BPRAM可以直接被CPU訪問,無需隱藏在I/O控制器后.他們將BPRAM直接放在內存總線上,使用L1/L2 cache代替了DRAM buffer cache;(2)硬件架構上添加了BPFS所需的順序性和原子性功能的支持,同時仍然保持L1和L2高速緩存的性能優(yōu)勢.在BPFS中,為了保證更新順序提出了一種叫做epoch barriers的新機制,一個cache line被標識一個epoch號,并且修改了cache硬件來保證內存寫回順序總是按照epoch號順序進行;(3)BPFS利用SCM的字節(jié)可尋址和原地更新特性,使用了“短路影子分頁”(short-circuit shadow paging)技術來支持對SCM原子化、細粒度、快速、一致的更新.作者評估了三種情形:運行在DRAM上的BPFS,和運行在RAM disk上和傳統硬盤上的NTFS;然后作者使用微體系模擬器來評測BPFS在PCM上的性能.實驗結果顯示,在DRAM上的BPFS的性能是RAM disk上的NTFS的兩倍.同時,BPFS比傳統的文件系統提供更強的可靠性保證.
本章節(jié)在系統接口和文件系統兩個層次討論如何針對SCM進行優(yōu)化.首先,由于SCM無法使用傳統DRAM或者HDD的控制器(即memory controller和storage controller),與SCM相關的系統接口是急需解決的問題之一.其次,如何改進當前為HDD設計的文件系統從而更加高效地訪問SCM是第二個關鍵問題.
Haris Volos等人研究了針對SCM的文件系統接口優(yōu)化.由于SCM使用了與當前的塊設備完全不同的接口,并且SCM的訪問延時遠低于磁盤,因此,現有的根據磁盤設計的內核存儲棧帶來的高訪問延遲開銷限制了文件系統利用SCM技術的能力[31].他們認為需要重新審視存儲I/O棧.據此,他們提出了一個針對SCM的靈活的文件系統接口,稱為Aerie[32].如圖4[32]所示,Aerie具有分散的文件系統結構,它以運行時庫的形式把SCM直接暴露給用戶程序,使它們無需與內核交互就能夠讀寫文件.Aerie降低了操作系統內核的在文件訪問中的參與度,內核僅僅是起到粗粒度的分配和保護作用.Aerie的好處在于,可以使應用程序無需改動復雜的內核代碼就可以通過修改文件系統接口做針對性的優(yōu)化.Volos等人用Aerie實現了一個通用的POSIX標準文件系統PXFS,其性能與基于內核的實現相近(RamFS)或者更好(ext4).他們還設計了一個專門的文件系統FlatFS,通過把文件系統的抽象語義縮減成一個具有更低一致性保證的鍵/值存儲(key/value store),FlatFS的性能比一個內核文件系統高出20%-109%.因此,把文件系統功能分散到各個客戶端程序能夠帶來更靈活的實現,同時極大地提高性能.
圖4 Aerie的系統架構示意圖Fig.4 System architecture of Aerie
盡管IO棧的調整與重構對存儲系統性能的提升效果明顯,但是仍然存在的文件系統語義對編程者而言依舊不夠方便.因此,研究者希望利用SCM對所有需要持久化的數據都提供一個統一的編程接口,隔離其中的復雜實現,使SCM的使用更加高效.
面向磁盤開發(fā)的程序員都遵守著一條規(guī)則:不要頻繁地手動更新持久化的數據,盡量使用數據庫引擎來統籌處理.SCM帶來了實現快速的數據持久化的新機會,有望顛覆這條規(guī)則.除了文件系統接口優(yōu)化之外,Haris Volos等人還提出了針對SCM的編程接口,稱為Mnemosyne[30].Mnemosyne提供輕量級的持久性存儲器接口,使普通的內存數據結構可以容易地使用持久化事務來實現持久化.因此,程序員可以創(chuàng)建一個單一的、為內存設計的數據結構,而不用單獨設計兩種分別針對內存優(yōu)化和針對持續(xù)性存儲優(yōu)化的數據結構.Mnemosyne主要解決了兩個問題:如何創(chuàng)建和管理這些內存、如何在故障出現時確保一致性.除此之外,Mnemosyne提供直接修改持久型變量的編程原語,并通過一個輕量級的事務機制支持一致的更新.相比過去基于磁盤的持久性存儲系統,Mnemosyne通過細粒度的更新直接將數據寫入到內存.與通過文件系統將內存頁面寫回磁盤的傳統方式相比,Mnemosyne減少了訪問存儲的延遲,提高了性能;相較于過去的持久對象系統,Mnemosyne不要求實現成C++對象,從而提供了更大的靈活性.
最近幾年,研究者提出了許多基于存儲級內存(storage-class memory,SCM)而構建的文件系統.
Xiaojian Wu等人提出了一個在虛擬地址空間中實現的簡潔的文件系統SCMFS[33].SCMFS利用內存管理單元(MMU)將文件系統的地址映射到SCM的物理地址,形成了一個簡單的地址空間布局.SCMFS還利用了操作系統已有的內存管理模塊來進行塊管理,使得每個文件的虛擬地址空間總是連續(xù)的,簡化了文件系統處理讀寫請求的過程.同時,為了減少內存管理開銷,SCMFS采用了空間預分配機制,以及相應的垃圾回收機制.作者在Linux下實現了一個原型,他們認為SCMFS的簡潔設計不僅簡化了其實現,而且通過實驗發(fā)現這樣的設計還獲得了良好的性能(尤其是對于小的I/O請求).
Jaemin Jung等人考慮到了SCM當前階段存儲容量不能滿足需求的問題,提出了由SCM和NAND閃存一起構成的混合文件系統FRASH[34],即將大容量的NAND閃存和SCM一起構成一個文件系統是當前一個合理的選擇.在FRASH中,SCM作為主存和存儲的兩方面特性同時得到了利用:一方面,SCM可以被映射到主存儲器的地址空間,此時它可以對落在相應的地址范圍內的數據提供支持字節(jié)尋址(byte-addressability)的非易失性存儲服務;另一方面,SCM可以被當作塊設備來使用,在這種情況下I/O速度會顯著變快.我們知道,日志式文件系統(log-structured file system)在NAND閃存上有著廣泛的應用,它由內存中和磁盤上的兩部分數據結構構成.如圖5[34]所示,FRASH把日志式文件系統內存中的關鍵數據結構放在SCM里.利用SCM的非易失性,FRASH把掛載延遲降低了一個數量級,克服了日志式文件系統的一個主要缺點.與此同時,通過在SCM中保存目錄快照和文件樹,FRASH的可靠性得到提高,能夠更好地應對突發(fā)故障.此外,FRASH還將原先位于磁盤的部分文件系統結構遷移至SCM中,從而支持對文件系統對象和元數據頁面的字節(jié)尋址,顯著地提高I/O性能.值得一提的是,FRASH還采用了“掛載時復制”技術來克服DRAM和SCM之間的訪問延遲差距帶來的不利影響.
圖5 FRASH文件系統結構示意圖Fig.5 Illustration of FRASH file system
綜上所述,針對內存計算等新興應用,基于非易失存儲器件設計的非易失內存可以提高存儲系統的性能并降低功耗.根據非易失內存所處的存儲層次以及應用的不同需求,可以將非易失內存分為NVM主存和SCM兩類設計.對于NVM主存,由于其受硬件控制器管理,主要需要在體系結構層次上進行優(yōu)化;而對于SCM,需要同時在接口和文件系統兩個層次方面進行設計和優(yōu)化,從而有效地發(fā)揮非易失內存的優(yōu)勢.
[1] SAP.In memory computing technology[R/OL].2013.http://fm.sap.com/data/UPLOAD/files/SAP_In-Memory_Computing_Technology_.pdf.
[2] IMEX Research.System Architecture for In-Memory Database[R/OL].2013.http://imexresearch.com/IMEXPresentation/InMemoryComputing.pdf.
[3] SAP.Future storage memory technologies[R/OL].2013.http://www.sap-innovationcenter.com/2013/11/21/future-storage-memory-technologies/.
[4] Virident Systems.Using Storage Class Memory for Extreme Performance In-Memory Computing[R/OL].2013.http://www.percona.com/files/presentations/ppc2009/PPC2009_using_storage_class_memory.pdf.
[5] POWER R,LI J.Piccolo:Building Fast,Distributed Programs with Partitioned Tables[C]//OSDI,2010,10:1-14.
[6] APACHE SPARK.Spark[R/OL].2014.http://spark.apache.org/.
[7] ZAHARIA M,CHOWDHURY M,DAS T,et al.Resilient distributed datasets:A fault-tolerant abstraction for in-memory cluster computing[C]//Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation.USENIX Association,2012:2-2.
[8] ZAHARIA M,DAS T,LI H,et al.Discretized streams:Fault-tolerant streaming computation at scale[C]//Proceedings of the Twenty-Fourth ACM Symposium on Operating Systems Principles.ACM,2013:423-438.
[9] XIN R S,ROSEN J,ZAHARIA M,et al.Shark:SQL and rich analytics at scale[C]//Proceedings of the 2013international conference on management of data.ACM,2013:13-24.
[10] OUSTERHOUT J,AGRAWAL P,ERICKSON D,et al.The case for RAMCloud[J].Communications of the ACM,2011,54(7):121-130.
[11] ONGARO D,RUMBLE S M,STUTSMAN R,et al.Fast crash recovery in RAMCloud[C]//Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles.ACM,2011:29-41.
[12] RUMBLE S M,KEJRIWAL A,OUSTERHOUT J K.Log-structured memory for DRAM-based storage[C]//FAST.2014:1-16.
[13] BURR G W,KURDI B N,SCOTT J C,et al.Overview of candidate device technologies for storage-class memory[J].IBM Journal of Research and Development,2008,52(4.5):449-464.
[14] FREITAS R F,WILCKE W W.Storage-class memory:The next storage system technology[J].IBM Journal of Research and Development,2008,52(4.5):439-447.
[15] KIM K.From the future Si technology perspective:Challenges and opportunities[C]//Electron Devices Meeting(IEDM),2010 IEEE International.IEEE,2010:1.1.1-1.1.9.
[16] ZHOU P,ZHAO B,YANG J,et al.A durable and energy efficient main memory using phase change memory technology[C]//ACM SIGARCH Computer Architecture News.ACM,2009,37(3):14-23.
[17] LEE B C,IPEK E,MUTLU O,et al.Architecting phase change memory as a scalable dram alternative[J].ACM SIGARCH Computer Architecture News,2009,37(3):2-13.
[18] QURESHI M K,SRINIVASAN V,RIVERS J A.Scalable high performance main memory system using phase-change memory technology[J].ACM SIGARCH Computer Architecture News,2009,37(3):24-33.
[19] JIANG L,ZHANG Y,CHILDERS B R,et al.FPB:fine-grained power budgeting to improve write throughput of multi-level cell phase change memory[C]//Proceedings of the 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture.IEEE Computer Society,2012:1-12.
[20] JIANG L,ZHAO B,ZHANG Y,et al.Improving write operations in MLC phase change memory[C]//High Performance Computer Architecture(HPCA),2012 IEEE18th International Symposium on.IEEE,2012:1-10.
[21] JOSHI M,ZHANG W,LI T.Mercury:A fast and energy-efficient multi-level cell based phase change memory system[C]//High Performance Computer Architecture(HPCA),2011 IEEE17th International Symposium on.IEEE,2011:345-356.
[22] QURESHI M K,FRANCESCHINI M M,LASTRAS-MONTA?O L A,et al.Morphable memory system:a robust architecture for exploiting multi-level phase change memories[C]//ACM SIGARCH Computer Architecture News.ACM,2010,38(3):153-162.
[23] QURESHI M K,FRANCESCHINI M M,LASTRAS-MONTA?O L A.Improving read performance of phase change memories via write cancellation and write pausing[C]//High Performance Computer Architecture(HPCA),2010 IEEE16th International Symposium on.IEEE,2010:1-11.
[24] WANG J,DONG X,SUN G,et al.Energy-efficient multi-level cell phase-change memory system with data encoding[C]//Computer Design(ICCD),2011 IEEE29th International Conference on.IEEE,2011:175-182.
[25] SUN G,NIU D,OUYANG J,et al.A frequent-value based PRAM memory architecture[C]//Proceedings of the 16th Asia and South Pacific Design Automation Conference.IEEE Press,2011:211-216.
[26] ZHANG X W,JANG L,ZHANG Y,et al.WoM-SET:Low power proactive-SET-based PCM write using WoM code[C]//Low Power Electronics and Design(ISLPED),2013 IEEE International Symposium on.IEEE,2013:217-222.
[27] ZHANG W,LI T.Characterizing and mitigating the impact of process variations on phase change based memory systems[C]//Proceedings of the 42nd Annual IEEE/ACM International Symposium on Microarchitecture.ACM,2009:2-13.
[28] IPEK E,CONDIT J,NIGHTINGALE E B,et al.Dynamically replicated memory:building reliable systems from nanoscale resistive memories[C]//ACM SIGARCH Computer Architecture News.ACM,2010,38(1):3-14.
[29] CONDIT J,NIGHTINGALE E B,FROST C,et al.Better I/O through byte-addressable,persistent memory[C]//Proceedings of the ACM SIGOPS22nd symposium on operating systems principles.ACM,2009:133-146.
[30] VOLOS H,TACK A J,SWIFT M M.Mnemosyne:Lightweight persistent memory[C]//ACM SIGARCH Computer Architecture News.ACM,2011,39(1):91-104.
[31] VOLOS H,PANNEERSELVAM S,NALLI S,et al.Storage-class memory needs flexible interfaces[C]//Proceedings of the 4th Asia-Pacific Workshop on Systems.ACM,2013:11.
[32] VOLOS H,NALLI S,PANNEERSELVAM S,et al.Aerie:flexible file-system interfaces to storage-class memory[C]//Proceedings of the Ninth European Conference on Computer Systems.ACM,2014:14.
[33] WU X,REDDY A L.SCMFS:a file system for storage class memory[C]//Proceedings of 2011International Conference for High Performance Computing,Networking,Storage and Analysis.ACM,2011:39.
[34] JUNG J,WON Y,KIM E,et al.FRASH:Exploiting storage class memory in hybrid file system for hierarchical storage[J].ACM Transactions on Storage(TOS),2010,6(1):3.
[35] BURR G W.Storage Class Memory:Towards a disruptively low-cost solid-state non-volatile memory [R/OL].IBM Almaden Research Center.[2013-01-12].http://researcher.ibm.com.