劉 珂 蔡曉軍 張志勇 趙夢(mèng)瑩 賈智平
(山東大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 山東青島 262000)(sdu_liuke@outlook.com)
非易失性存儲(chǔ)器(non-volatile memory, NVM)具有諸多顯著的優(yōu)點(diǎn):對(duì)外界環(huán)境有更強(qiáng)的容錯(cuò)性;比通常用于主存儲(chǔ)器的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(dynamic random access memory, DRAM)更加可靠,且靜態(tài)能量消耗比DRAM小若干數(shù)量級(jí);能夠帶來更快的系統(tǒng)啟動(dòng)時(shí)間,并且集成密度比DRAM至少高2倍.如今,非易失性存儲(chǔ)器已得到工業(yè)界包括Intel,Numonyx,STMicroelectronics,Samsung,IBM及TDK等著名公司的廣泛支持.由于其優(yōu)良特性及潛在的市場(chǎng)價(jià)值,計(jì)算機(jī)系統(tǒng)產(chǎn)業(yè)迫切希望非易失性存儲(chǔ)器能夠作為主存儲(chǔ)器(main memory)大規(guī)模投入使用.近年來,一些使用了新型非易失性存儲(chǔ)器(相變存儲(chǔ)器(phase-change memory, PCM)、阻變存儲(chǔ)器(resistive random-access memory, ReRAM)、磁阻存儲(chǔ)器(magnetic random-access memory, MRAM))的固態(tài)存儲(chǔ)器已經(jīng)成為縮小處理器與存儲(chǔ)器之間鴻溝的最為矚目的新一代存儲(chǔ)器件,如圖1所示[1]:
Fig. 1 Architecture of NVM圖1 非易失存儲(chǔ)應(yīng)用層次
區(qū)別于傳統(tǒng)的以塊進(jìn)行讀寫和擦除操作的flash工藝的非易失存儲(chǔ)器,新型存儲(chǔ)器采用字節(jié)型訪問方式.新型存儲(chǔ)器擁有高性能、低能耗和高容量的特性.傳統(tǒng)存儲(chǔ)系統(tǒng)的構(gòu)建方式不僅不利于發(fā)揮非易失性存儲(chǔ)器在性能方面的優(yōu)勢(shì),還暴露了非易失性存儲(chǔ)器在耐久性(使用壽命)、讀寫不對(duì)稱等方面的劣勢(shì)[2].如何綜合各類新型存儲(chǔ)的特性,設(shè)計(jì)高能效的存儲(chǔ)架構(gòu),實(shí)現(xiàn)可應(yīng)對(duì)大數(shù)據(jù)、云計(jì)算所需求的新型主存系統(tǒng)已經(jīng)成為工業(yè)界和學(xué)術(shù)界的研究熱點(diǎn).
關(guān)于NVM驗(yàn)證平臺(tái)的研究已經(jīng)有很多,但大多數(shù)都是針對(duì)芯片層面或者NVM底層特性的研究.NVsim[3]是一種電路層次的NVM仿真工具,基于存儲(chǔ)單元模型逐步構(gòu)建存儲(chǔ)芯片;支持在NVM芯片生產(chǎn)前實(shí)現(xiàn)性能、能耗以及面積等指標(biāo)的估計(jì).OpenNVM[4]是一種基于FPGA的NVM驗(yàn)證平臺(tái),著眼于驗(yàn)證常見NVM的底層參數(shù),包括讀寫壽命、最大讀寫速度以及一些新穎的編碼方式等.也有基于存儲(chǔ)系統(tǒng)架構(gòu)級(jí)別的仿真工具NVMain[5].
本文提出的基于高性能SOC FPGA陣列的NVM驗(yàn)證架構(gòu),互聯(lián)多級(jí)FPGA,利用多層次FPGA結(jié)構(gòu)擴(kuò)展連接多片NVM.依據(jù)所提出的驗(yàn)證架構(gòu),設(shè)計(jì)了基于多層次FPGA的主從式NVM控制器,并完成適用于該架構(gòu)的硬件原型設(shè)計(jì).該架構(gòu)可以實(shí)現(xiàn)測(cè)試同類型多片NVM協(xié)同工作,也可以進(jìn)行混合NVM存儲(chǔ)管理方案驗(yàn)證.
本文的主要貢獻(xiàn)如下:
1) 提出了基于多層FPGA陣列的非易失存儲(chǔ)器架構(gòu),實(shí)現(xiàn)高帶寬和大容量的同時(shí),也具備良好的擴(kuò)展性;
2) 搭建了多層FPGA陣列的非易失存儲(chǔ)器驗(yàn)證平臺(tái),并基于MRAM存儲(chǔ)器完成多層非易失FPGA陣列的存儲(chǔ)器架構(gòu)原型驗(yàn)證;
3) 設(shè)計(jì)了高速大容量MRAM驗(yàn)證實(shí)驗(yàn),通過實(shí)驗(yàn)數(shù)據(jù)顯示,我們所設(shè)計(jì)的實(shí)驗(yàn)原型的讀寫帶寬達(dá)到1.5 GBps以上,平均功耗約1.8 W.通過對(duì)比示波器測(cè)試結(jié)果和SOC FPGA輸出結(jié)果,驗(yàn)證所提出的基于高性能SOC FPGA陣列的NVM控制架構(gòu)的實(shí)用性和數(shù)據(jù)可靠性.
為了進(jìn)一步研究新型非易失存儲(chǔ)器的特性,以及如何更好地利用新型非易失存儲(chǔ)器為現(xiàn)代存儲(chǔ)系統(tǒng)服務(wù),各類NVM仿真驗(yàn)證平臺(tái)被相繼提出.NVM仿真驗(yàn)證平臺(tái)主要分為仿真型驗(yàn)證平臺(tái)和帶有硬件原型系統(tǒng)的驗(yàn)證平臺(tái).
仿真驗(yàn)證平臺(tái)主要有CACTI[6],NVsim以及NVMain等.CACTI是HP實(shí)驗(yàn)室提出的存儲(chǔ)器仿真工具,不僅支持DRAM芯片,也支持NVM芯片的設(shè)計(jì),通過內(nèi)置的存儲(chǔ)器模型提供NVM芯片的讀寫速度、面積以及功耗等基本參數(shù),而且支持速度、面積和功耗的平衡設(shè)計(jì).NVsim是類似于CACTI的芯片級(jí)仿真器,利用NVM存儲(chǔ)單元的參數(shù)(來自ITRS[7]),按照設(shè)定的存儲(chǔ)器結(jié)構(gòu),從subarray到Matrix直到Bank逐層設(shè)置參數(shù)構(gòu)建自定義的NVM芯片.NVmain是架構(gòu)級(jí)別的仿真器,支持采用NVM芯片構(gòu)建存儲(chǔ)系統(tǒng);不僅支持DRAM、常規(guī)的NVM芯片以及混合存儲(chǔ)架構(gòu),也支持MLC類型的NVM芯片以及寫壽命評(píng)估等功能.
基于硬件原型的驗(yàn)證平臺(tái)主要有OpenNVM.OpenNVM采用FPGA互聯(lián)單片NVM,然后將NVM測(cè)試邏輯以及NVM控制器部署在FPGA上,實(shí)現(xiàn)測(cè)試NVM芯片的底層讀寫參數(shù),如讀寫速度、讀寫功耗以及寫入壽命等.然而,鑒于市面上的非易失存儲(chǔ)器多數(shù)容量較小而且單片NVM芯片帶寬較小,構(gòu)建符合真實(shí)應(yīng)用場(chǎng)景的內(nèi)存或者外存時(shí),需要采用多片NVM芯片構(gòu)成陣列.因此,本文提出采用多層次FPGA構(gòu)建NVM陣列,在提供大容量的同時(shí),利用多片NVM并行實(shí)現(xiàn)高帶寬;同時(shí)也可以驗(yàn)證混合存儲(chǔ)結(jié)構(gòu)的特性.
基于FPGA陣列的NVM控制器架構(gòu)如圖2所示,主要包含3個(gè)部分:FPGA存儲(chǔ)管理單元、FPGA互連結(jié)構(gòu)以及NVM接口控制器單元.控制器部署在FPGA陣列上,主FPGA和從FPGA通過高速互聯(lián)通道進(jìn)行數(shù)據(jù)交互.主FPGA主要實(shí)現(xiàn)高層次的存儲(chǔ)任務(wù)解析、調(diào)度及狀態(tài)監(jiān)測(cè)等;從FPGA主要實(shí)現(xiàn)NVM的底層接口,包括讀寫操作及控制操作等.
Fig. 2 FPGA arrays based architecture of NVM controller圖2 基于FPGA陣列的NVM控制器架構(gòu)圖
基于FPGA陣列的NVM控制器采用多層陣列互聯(lián)結(jié)構(gòu),具有良好的擴(kuò)展性.通過改變從FPGA的數(shù)量,可以靈活改變存儲(chǔ)容量和存儲(chǔ)帶寬.此外,從FPGA可以通過接入不同的NVM實(shí)現(xiàn)混合存儲(chǔ)架構(gòu).下面將介紹NVM控制器的結(jié)構(gòu)和工作原理.
主FPGA采用SOC架構(gòu)的FPGA,如圖3所示,不僅包含硬核處理器(ARM),也包含豐富的FPGA邏輯資源.此新型FPGA架構(gòu)被主流FPGA廠商支持,如Xilinx的ZYNQ-7000[7]系列以及Altera的Cyclone5和Arria[8]系列等.此外,ARM和FPGA間通過高速互聯(lián)總線(如AXI4總線[9])等進(jìn)行高速數(shù)據(jù)交互,而且FPGA內(nèi)部邏輯可以訪問ARM統(tǒng)一編址的存儲(chǔ)空間.FPGA管理控制器不僅用于管理存儲(chǔ)事務(wù),也用來監(jiān)測(cè)訪問帶寬、底層存儲(chǔ)器狀態(tài)信息等.FPGA管理控制器接收來自SOC硬核處理器的數(shù)據(jù)傳輸任務(wù),然后根據(jù)從FPGA獲取的狀態(tài)信息進(jìn)行數(shù)據(jù)讀寫調(diào)度.
FPGA管理控制器內(nèi)置多個(gè)FIFO單元,用于處理存儲(chǔ)數(shù)據(jù)源頭與FPGA高速互聯(lián)接口的瞬時(shí)帶寬差異.存儲(chǔ)數(shù)據(jù)源頭有2種實(shí)現(xiàn)方式:
1) 采用FPGA邏輯實(shí)現(xiàn)模式數(shù)據(jù)生成器,并且支持SOC硬核控制數(shù)據(jù)模式以及數(shù)據(jù)流量等.
2) SOC硬核通過網(wǎng)絡(luò)或者其他接口獲取測(cè)試數(shù)據(jù),存儲(chǔ)在硬核單元和FPGA共享的DDR內(nèi)存存儲(chǔ)中.FPGA實(shí)現(xiàn)DMA模塊,接收來自SOC硬核提供的DMA地址和DMA長(zhǎng)度參數(shù),然后從相應(yīng)DDR內(nèi)存地址中獲取數(shù)據(jù).
Fig. 4 Architecture of slave FPGA NVM controller圖4 從FPGA NVM控制器結(jié)構(gòu)示意圖
FPGA管理控制器還負(fù)責(zé)管理訪存檢測(cè)模塊,用于記錄存儲(chǔ)帶寬,并驗(yàn)證數(shù)據(jù)讀寫任務(wù)執(zhí)行的準(zhǔn)確性等.訪存監(jiān)測(cè)模塊屬于獨(dú)立于FPGA管理控制器內(nèi)數(shù)據(jù)傳輸單元的模塊,與FPGA管理控制器的其他模塊并行執(zhí)行,不影響數(shù)據(jù)傳輸帶寬.此外,訪存監(jiān)測(cè)模塊提供對(duì)接FPGA內(nèi)置邏輯分析儀和ADC單元的接口,便于監(jiān)測(cè)運(yùn)行時(shí)關(guān)鍵標(biāo)志位的動(dòng)作狀態(tài)以及系統(tǒng)整體的電氣特性,如核電壓、溫度等.
從FPGA的控制器主要實(shí)現(xiàn)管理底層NVM接口,NVM物理層面的讀寫和其他控制.如圖4所示,從FPGA控制器主要包含NVM中樞管理模塊、NVM底層監(jiān)控單元、NVM接口控制器以及高速互聯(lián)通道的從機(jī)接口.
NVM中樞管理處于從FPGA控制器的核心位置,主要負(fù)責(zé)接收來自主FPGA的數(shù)據(jù)讀寫任務(wù),然后采用FIFO緩存數(shù)據(jù),解決來自主FPGA的突發(fā)高速數(shù)據(jù)流和NVM接口控制器接口帶寬差異問題:高速互聯(lián)通道數(shù)據(jù)帶寬通常超過400 MBps,甚至達(dá)到數(shù) GBps,而單個(gè)普通NVM芯片接口的讀寫帶寬為幾十MBps.
接口控制器實(shí)現(xiàn)NVM物理層面的數(shù)據(jù)接口、地址接口以及控制接口.當(dāng)NVM接口控制器接收來自NVM中樞管理的讀寫請(qǐng)求后,控制FPGA的一系列引腳按照NVM芯片所定義的讀寫時(shí)序進(jìn)行翻轉(zhuǎn),從而實(shí)現(xiàn)讀寫操作.
基于從FPGA NVM控制器可以單獨(dú)完成NVM底層參數(shù)的測(cè)試,如最大讀寫速度、讀寫功耗以及寫入壽命等.針對(duì)最大讀寫速度以及寫入壽命測(cè)試,NVM中樞管理控制FPGA內(nèi)置時(shí)鐘管理單元,輸出所需頻率的高精度時(shí)鐘,然后控制NVM接口產(chǎn)生相應(yīng)頻率的接口讀寫時(shí)序.同時(shí),底層監(jiān)控模塊記錄讀寫次數(shù)以及對(duì)比讀寫數(shù)據(jù)的正確性.
高速互聯(lián)通道的主機(jī)接口與從FPGA中的高速互聯(lián)從機(jī)接口相連接,主要實(shí)現(xiàn)傳輸FPGA管理控制分配的數(shù)據(jù),同時(shí)接收從FPGA的工作狀態(tài)等信息.高速互聯(lián)通道包含2個(gè)層面:物理連接層和傳輸層.
物理連接層根據(jù)FPGA引腳支持的類型,可以實(shí)現(xiàn)基于并行總線的數(shù)據(jù)傳輸、基于多路LVDS串行總線數(shù)據(jù)傳輸以及基于GTX(Xilinx FPGA高速互聯(lián)接口)或者SRIO(Altera FPGA高速互聯(lián)接口)高速串行總線接口的數(shù)據(jù)傳輸.
傳輸層根據(jù)互聯(lián)協(xié)議,傳遞數(shù)據(jù)讀寫地址、讀寫規(guī)模以及突發(fā)模式等.傳輸層的設(shè)計(jì)具有較大的靈活性.一方面,可以以較小的邏輯代價(jià)實(shí)現(xiàn)類似于底層存儲(chǔ)器物理接口的訪問協(xié)議,此時(shí),從FPGA可以看作虛擬化的存儲(chǔ)器;另一方面,當(dāng)需要驗(yàn)證復(fù)雜的存儲(chǔ)管理策略以及模擬網(wǎng)絡(luò)化的分布式存儲(chǔ)時(shí),主從FPGA的高速互聯(lián)接口傳輸層可以建立基于數(shù)據(jù)幀的復(fù)雜協(xié)議.
本文基于第2節(jié)所描述的NVM控制器設(shè)計(jì)了硬件驗(yàn)證原型.驗(yàn)證原型由包含Zynq SOC處理器的主FPGA板卡(底板)及包含MRAM存儲(chǔ)器的從FPGA板卡(子板)組成.其中,主FPGA板卡包括Zynq處理器芯片、DDR存儲(chǔ)器以及4個(gè)存儲(chǔ)板DIMM插槽,存儲(chǔ)板DIMM插槽可同時(shí)接入4塊從FPGA板卡,4塊從FPGA板卡可并行訪問;每塊從FPGA板卡,由1片Spartan6 FPGA控制芯片以及12片并行、共享地址線的MRAM組成.硬件原型系統(tǒng)如圖5所示:
Fig. 5 Architecture of hardware prototype圖5 硬件原型實(shí)物圖
電源系統(tǒng)有多個(gè)電源軌組成.不同的電源轉(zhuǎn)換處都預(yù)留測(cè)試點(diǎn),便于測(cè)試不同模塊的功耗,用于進(jìn)一步分析NVM控制器的功耗分布.例如,子板總電源功耗P為測(cè)試點(diǎn)處的電壓V乘以測(cè)試點(diǎn)處的電流I(如圖6所示).
Fig. 6 Architecture of power monitor圖6 功耗測(cè)試示意圖
主從FPGA的互聯(lián)電路主要采用差分布線方式.為了同時(shí)滿足并行總線接口和串行LVDS高速接口以及確保高速通信下的數(shù)據(jù)準(zhǔn)確性,我們采用松耦合的差分布線方式,配合接地信號(hào)線,確保參考平面的完整性.互聯(lián)接口處FPGA的IO選擇FAST模式,設(shè)定IO阻抗與互聯(lián)線阻抗一致,實(shí)現(xiàn)阻抗匹配;在邏輯層面,采用輸入輸出引腳插入寄存器的方式,以流水線的策略降低后級(jí)邏輯的時(shí)序壓力,確保FPGA內(nèi)邏輯的高速運(yùn)行.
為提升原型系統(tǒng)的靈活性以及通用性,本文在Zynq SOC處理器中部署Linux系統(tǒng).通過Linux系統(tǒng)的終端與通用計(jì)算機(jī)互聯(lián),實(shí)現(xiàn)通用計(jì)算機(jī)控制測(cè)試流程,并顯示測(cè)試結(jié)果的目標(biāo).
此外,本文設(shè)計(jì)了運(yùn)行于Linux系統(tǒng)的NVM控制器模塊的接口程序,抽象NVM控制器的讀寫操作,支持配置讀寫操作參數(shù)和獲取讀寫狀態(tài),如讀寫地址、讀寫規(guī)模、讀寫完成狀態(tài)以及數(shù)據(jù)校準(zhǔn)等,為驗(yàn)證復(fù)雜的訪存操作模式提供支撐.
基于硬件原型和所提出的NVM控制器架構(gòu),本文設(shè)計(jì)了針對(duì)MRAM陣列的高帶寬讀寫驗(yàn)證實(shí)驗(yàn).實(shí)驗(yàn)主要包含2部分:采用順序方式的固定數(shù)據(jù)讀寫測(cè)試以及基于類IOZONE的可變規(guī)模讀寫測(cè)試.
在讀寫測(cè)試過程中,通用計(jì)算機(jī)通過終端與Linux系統(tǒng)通信,選擇需要執(zhí)行的測(cè)試程序,并在讀寫測(cè)試結(jié)束時(shí)顯示讀寫數(shù)據(jù)大小以及NVM控制器讀寫運(yùn)行的時(shí)鐘數(shù).與此同時(shí),示波器用于監(jiān)測(cè)讀寫起始和結(jié)束的標(biāo)志信號(hào),獲取讀寫運(yùn)行時(shí)間;高精度數(shù)字萬用表用于監(jiān)測(cè)從FPGA板卡電源處的電流和電壓,獲取系統(tǒng)的運(yùn)行功耗.
具體方案測(cè)試流程如圖7所示.讀寫速率測(cè)試邏輯模塊作為測(cè)試核心,由讀寫測(cè)試控制模塊、讀寫測(cè)試結(jié)果顯示模塊及測(cè)試數(shù)據(jù)產(chǎn)生模塊3部分構(gòu)成.
1) 讀寫測(cè)試控制模塊負(fù)責(zé)接收用戶配置程序的開啟關(guān)閉指令,傳遞種子數(shù)據(jù)至數(shù)據(jù)產(chǎn)生模塊以及獲取測(cè)試結(jié)果傳遞給讀寫測(cè)試結(jié)果顯示模塊.
2) 數(shù)據(jù)產(chǎn)生模塊用于根據(jù)種子數(shù)據(jù)產(chǎn)生固定數(shù)據(jù)量的數(shù)據(jù)塊.在寫速率測(cè)試時(shí),數(shù)據(jù)通過FPGA高速互聯(lián)模塊傳輸至MRAM存儲(chǔ)陣列;在讀速率測(cè)試時(shí)產(chǎn)生參考數(shù)據(jù),同F(xiàn)PGA高速互聯(lián)模塊讀取的數(shù)據(jù)進(jìn)行對(duì)比,驗(yàn)證讀速率測(cè)試中的數(shù)據(jù)有效性.
3) 讀寫測(cè)試結(jié)果顯示模塊用于將讀寫操作過程以高低電平的方式呈現(xiàn)在讀寫測(cè)試探測(cè)點(diǎn)上.
Fig. 7 Flow chart of read and write test on MRAM圖7 MRAM讀寫測(cè)試流程圖
讀寫速度測(cè)試方面,結(jié)合從FPGA的監(jiān)測(cè)單元獲取到讀寫速度以及表1[10].底層MRAM的讀寫頻率為25 MHz,位寬為16 b,48片MRAM的突發(fā)讀寫帶寬為2.4 GBps.
主FPGA內(nèi)置統(tǒng)計(jì)單元和示波器測(cè)量結(jié)果顯示,順序讀操作的數(shù)據(jù)量為240 KB,開始與結(jié)束的時(shí)間間隔約為114 μs;順序?qū)懖僮鞯臄?shù)據(jù)量為240 KB,開始與結(jié)束時(shí)間間隔為126 μs,經(jīng)計(jì)算,讀速率約為2.055 GBps,寫速率約為1.905 GBps,我們所設(shè)計(jì)的NVM控制器讀寫帶寬可以超過1.8 GBps,達(dá)到理論帶寬2.4 GBps的75%以上.
Table 1 Characteristics of MRAM表1 MRAM芯片參數(shù)表
功耗測(cè)試結(jié)果顯示(如圖8所示),包含MRAM的從FPGA系統(tǒng)的總功耗約為7.4 W,每個(gè)從FPGA板卡的平均功耗約為1.8 W.
Fig. 8 Power consumption test of MRAM圖8 MRAM功耗測(cè)試示意圖
Fig. 9 Results of readwrite test on IOZONE like benchmark圖9 類IOZONE讀寫速率測(cè)試結(jié)果
在類IOZONE的讀寫驗(yàn)證實(shí)驗(yàn)中(如圖9所示),讀寫數(shù)據(jù)的大小范圍為24~1 024 KB,讀速度基本達(dá)到2.0 GBps,而且隨著數(shù)據(jù)規(guī)模的增大,讀速度略微提升;寫速度基本達(dá)到1.9 GBps,寫入速度隨數(shù)據(jù)規(guī)模的變化趨勢(shì)與讀操作類似.NVM控制器實(shí)現(xiàn)數(shù)據(jù)讀寫操作時(shí),主從FPGA間首先要進(jìn)行地址建立,然后再進(jìn)行大規(guī)模的數(shù)據(jù)交換.隨著數(shù)據(jù)塊的增大,順序讀寫時(shí)的地址建立時(shí)間在整體讀寫時(shí)間中所占的比例逐漸下降.
新型非易失存儲(chǔ)設(shè)備的出現(xiàn)為傳統(tǒng)存儲(chǔ)系統(tǒng)提供了變革和發(fā)展的契機(jī).其不同于傳統(tǒng)存儲(chǔ)器的非易失、低功耗、高密度特性使其具有廣闊的應(yīng)用前景.其低功耗特性使得日益增長(zhǎng)的存儲(chǔ)系統(tǒng)能耗獲得改良;高密度特性使得存儲(chǔ)系統(tǒng)的擴(kuò)展變得容易,特別是主存空間的擴(kuò)大不再成為瓶頸.
為充分利用新型非易失存儲(chǔ)器的特性,構(gòu)建高帶寬大容量的存儲(chǔ)器,本文提出的基于高性能SOC FPGA陣列的NVM驗(yàn)證架構(gòu),互聯(lián)多級(jí)FPGA,利用多層次FPGA結(jié)構(gòu)擴(kuò)展鏈接多片NVM.依據(jù)所提出的驗(yàn)證架構(gòu),設(shè)計(jì)了基于多層次FPGA的主從式NVM控制器,并完成適用于該架構(gòu)的硬件原型設(shè)計(jì).該架構(gòu)可以實(shí)現(xiàn)測(cè)試同類型多片NVM協(xié)同工作,也可以進(jìn)行混合NVM存儲(chǔ)管理方案驗(yàn)證.
[1]Cai Xiaojun, Research on the key technologies of high energy-efficient hybrid main memory based on non-volatile memory[D]. Ji’nan: Shandong University, 2016 (in Chinese)(蔡曉軍. 基于非易失存儲(chǔ)的高能效混合主存關(guān)鍵技術(shù)研究[D]. 濟(jì)南: 山東大學(xué), 2016)
[2]Shu Jiwu, Lu Youyou, Zhang Jiacheng, et al. Research progresses on memory system based on non-volatile memory[J]. Science & Technology Review, 2016, 34(14): 86-94 (in Chinese)(舒繼武, 陸游游, 張佳程, 等. 基于非易失性存儲(chǔ)器的存儲(chǔ)系統(tǒng)技術(shù)研究進(jìn)展[J]. 科技導(dǎo)報(bào), 2016, 34(14): 86-94)
[3]Dong X, Xu C, Jouppi N, et al. NVSim: A circuit-level performance, energy, and area model for emerging non-volatile memory[G]. Emerging Memory Technologies. New York: Springer, 2014: 15-50
[4]Zhang J, Park G, Shihab M M, et al. OpenNVM: An open-sourced FPGA-based NVM controller for low level memory characterization[C] //Proc of the 33rd IEEE Int Conf on Computer Design. Piscataway, NJ: IEEE, 2015: 666-673
[5]Poremba M, Zhang T, Xie Y. Nvmain 2.0: A user-friendly memory simulator to model (non-) volatile memory systems[J]. IEEE Computer Architecture Letters, 2015, 14(2): 140-143
[6]Wilton S J E, Jouppi N P. CACTI: An enhanced cache access and cycle time model[J]. IEEE Journal of Solid-State Circuits, 1996, 31(5): 677-688
[7]Crockett L H, Elliot R A, Enderwitz M A, et al. The Zynq Book: Embedded Processing with the Arm Cortex-A9 on the Xilinx Zynq-7000 All Programmable Soc[M]. Glasgow: Strathclyde Academic Media, 2014.
[8]Tyhach J, Hutton M, Atsatt S, et al. ArriaTM10 device architecture[C] //Proc of Custom Integrated Circuits Conf. Piscataway, NJ: IEEE, 2015: 1-8
[9]Azarkhish E, Rossi D, Loi I, et al. High performance AXI-4.0 based interconnect for extensible smart memory cubes[C] //Proc of Design, Automation & Test in Europe Conf & Exhibition. Piscataway, NJ: IEEE, 2015: 1317-1322
[10]DeBrosse J, Maffitt T, Nakamura Y, et al. A fully-functional 90nm 8Mb STT MRAM demonstrator featuring trimmed, reference cell-based sensing[C] //Proc of Custom Integrated Circuits Conf. Piscataway, NJ: IEEE, 2015: 1-3