存储器youtube怎么读

youtube怎么读  时间:2021-04-10  阅读:()
博士学位论文新型非易失存储器性能和寿命优化关键技术研究作者姓名:张明喆指导教师:刘志勇研究员中国科学院计算技术研究所学位类别:工学博士学科专业:计算机科学与技术培养单位:中国科学院计算技术研究所2018年5月KeyTechniqueofPerformanceandLifetimeOptimizationforNon-VolatileMemoryAdissertationsubmittedtoUniversityofChineseAcademyofSciencesinpartialfulfillmentoftherequirementforthedegreeofDoctorofPhilosophyinComputerScienceandTechnologyBySupervisor:ProfessorInstituteofComputingTechnologyChineseAcademyofSciencesMay2018中国科学院大学研究生学位论文原创性声明本人郑重声明:所呈交的学位论文是本人在导师的指导下独立进行研究工作所取得的成果.
尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果.
对论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明或致谢.
作者签名:日期:中国科学院大学学位论文授权使用声明本人完全了解并同意遵守中国科学院有关保存和使用学位论文的规定,即中国科学院有权保留送交学位论文的副本,允许该论文被查阅,可以按照学术研究公开原则和保护知识产权的原则公布该论文的全部或部分内容,可以采用影印、缩印或其他复制手段保存、汇编本学位论文.
涉密及延迟公开的学位论文在解密或延迟期后适用本声明.
作者签名:导师签名:日期:日期:摘要摘要随着大数据、机器学习的新兴数据密集型应用的兴起,存储系统对于提升系统性能和可靠性的重要性日益凸显.
同时,大规模数据中心的发展也使得存储系统在成本和能耗方面面临着巨大挑战.
由于现有存储器件难以满足未来EB级数据处理的需要,新型非易失存储器(Non-VolatileMemory,NVM)受到了来自学术界和工业界越来越多的关注.
与现有的基于易失存储器件和磁盘的存储系统相比,NVM存储器在集成度、能耗、存储密度、访问速度等方面具有显著优势.
此外,NVM存储器可支持按字节寻址,这也使得通过细粒度访存调节优化系统性能成为可能.
目前,阻碍NVM存储器在实际系统中大规模应用的主要问题是写访问延迟长和写寿命短.
针对这两个问题,已有大量基于传统体系结构的优化方法.
但是,这些方法往往存在软硬件开销大、无法同时针对不同问题进行优化、难以与现有商用系统集成等问题.
针对传统NVM优化方法存在的不足之处,本文提出了一种新的优化思路,即:基于应用特性分析结果,利用NVM器件自身所具有的动态权衡特性设计动态优化方案.
与传统的方法相比,这类动态优化方案具有额外硬件开销小、可同时针对多个目标进行优化、易于与现有系统进行集成等特点.
本文针对通用计算系统中基于MLCPCM的主存储器性能和寿命的协同优化问题做出了深入探索,通过对器件自身特性加以利用,不仅提出了新的存储器使用寿命优化方法,同时也研究了如何实现存储器使用寿命和性能的同步提升.
本文的创新点主要包括:1.
基于写热点区域感知的MLCPCM主存储器寿命与性能平衡优化方法基于典型应用写访存空间分布特性分析结果,本文提出了一种MLCPCM主存储器使用寿命与性能的平衡优化方法.
在MLCPCM存储器中,写访问延迟、存储单元状态保持时间、存储器寿命之间存在动态权衡关系.
虽然可以通过牺牲状态保持时间换取写访问性能的提升,但是这也将导致存储器寿命的大幅下降.
针对这一问题,本文将典型应用写访存空间分布特征与器件自身动态权衡特性相结合,提出了一种名为RRM的基于写访存热点区域感知的动态写模式选择方法.
RRM可在大I新型非易失存储器性能和寿命优化关键技术研究幅提升存储器寿命的同时不过多影响系统的性能.
实验结果表明,RRM可使系统性能平均提升61.
0%,仅比采用全局快写的系统低10.
0%,同时使MLCPCM存储器的平均使用寿命达到6.
4年.
此外,通过对关键参数进行调节,RRM可以很方便地在性能和存储器寿命之间做出进一步取舍.
2.
基于写访存负载感知的MLCPCM主存储器性能优化方法基于典型应用写访存时间分布特性分析结果,本文提出了一种名为QnD的MLCPCM主存储器轻量级性能优化方法.
MLCPCM主存储器的写访问延迟过长是造成系统性能下降的主要原因.
QnD在保证存储器寿命前提下,利用典型应用中写访问请求时间分布不均的特性,通过感知系统写访存负载和动态选择写模式实现系统性能的提升.
实验结果表明,QnD可以使系统实现平均30.
9%的性能提升,同时存储器的使用寿命平均可达到7.
58年.
3.
基于应用行为特征感知和存储器老化监测的MLCPCM主存储器性能与寿命协同优化方法针对典型应用中不同写访存分布特性,本文提出了一种名为RRM-QnD的MLCPCM主存储器性能与寿命协同优化方法.
由于在实际应用中,写访存分布特性可能随时间的推移而发生变化,且不同应用的写访存特征也存在差异性,因此基于特定特征的优化方案难以满足真实系统的需求.
通过分析不同写访存分布特征对于优化方案的不同需求,本文提出了一种优化方案动态选择方法.
RRM-QnD可根据应用所表现出的不同特性动态调整优化目标,最终实现MLCPCM主存储器性能与使用寿命的协同优化.
实验结果表明,与仅采用RRM的系统相比,RRM-QnD在实现系统性能平均提升9.
57%的同时,寿命仅降低了3.
1%,优于通过调节参数对RRM进行优化的方法.
关键词:新型非易失存储器,动态权衡,性能,使用寿命,协同优化IIAbstractAbstractAsthedevelopmentofnoveldata-intensiveapplication(e.
g.
,bigdataanalyticandmachinelearning),thememorysystemplaysincreasinglyimportantroleinde-terminingtheperformanceandreliabilityofthewholesystem.
Meanwhile,thede-velopmentoflarge-scaledata-centersalsomakesthememorysystemfacetheenor-mouschallengesintermsofcostandenergyconsumption.
Duetothestate-of-artmemorytechniquescanhardlyfulfilltherequirementoffutureEBclassdatapro-cessingapplications,Non-VolatileMemory(NVM)gainsincreasingattentionfrombothacademiaandindustry.
ComparingwiththeexistingmemorysystembasedonvolatilememoryandHDD,NVMprovidessignificantadvantagesinintegrationden-sity,energyconsumption,storagedensityandaccessingperformance.
Inaddition,NVMsupportsbyteaddressing,whichalsoprovidesthepossibilityforimprovingsystemperformancebyfine-grainedmemoryaccessingoptimization.
Currently,themajorobstaclestowidelyapplyingtheNVMinlarge-scalesystemsarethelongwriteaccessinglatencyandthelimitedendurance.
Todealwithsuchtwoproblems,severaltechniqueshavebeenproposedinclassiccomputerarchitectureapproaches.
How-ever,mostoftheseproposalshaveproblemssuchashighsoftware/hardwareover-head,unabletoachievesimultaneousoptimizationfordifferentobjectivesandhardtointegratewiththeexistingcommercialsystems.
Inviewoftheshortcomingsofthepreviouswork,anewoptimizationmethodisproposedinthispaper,thatis,basedontheapplicationcharacteristicsanalysis,designingadaptiveschemebyusingthedynamictradeoffsliesinNVMmaterials.
Comparingwiththepreviouswork,ourproposedschemeshaveseveraladvantages,suchaslowhardwareoverhead,abilityforsimultaneousoptimizationformultipleob-jectivesandeasytointegratewiththeexistingcommercialsystems.
Inthispaper,thecombinedoptimizationfortheperformanceandlifetimeoftheMLCPCMmainmem-oryisthoroughlyexplored.
ByusingthedynamictradeoffofMLCPCM,thispaperproposesbothnovellifetimeoptimizationmethodandthecooperativeoptimizationIII新型非易失存储器性能和寿命优化关键技术研究methodforsystemperformanceanddevicelifetime.
Themajorcontributionsofthispaperaresummarizedasfollow:1.
BalancingOptimizationofLifetimeandPerformanceforMLCPCMMainMemorybasedonHotRegionDetectionBasedonthespatialdistri-butionanalysisofwriteaccessesintypicalapplications,thispaperproposesaschemeforbalancingtheperformanceandlifetimeinMLCPCMmainmem-ory.
Previousworkshowsthatthereexistsatradeoffbetweenthewritela-tency,theretentiontimeandthelifetimeofMLCPCM.
Therefore,althoughtheperformanceimprovementforMLCPCMcanbeachievedbytradingtheretentiontimetowritelatency,italsosignificantlyhurtsitslifetime.
Tosolvethisproblem,thispaperproposesanadaptivewritemodeselectionscheme,namedRRM,whichisbasedonhotregiondetection,bycombiningthespa-tialdistributionpatternofwriteaccessesandthedynamictradeoffofMLCPCM.
RRMprovidessignificantlifetimeimprovementwithminorperfor-manceoverheads.
Theexperimentresultsshowthat,asageometricmean,RRMimprovesthesystemperformanceby61.
0%,whichisonly10.
0%in-feriortoasystemstaticallyusingshort-latency-short-retentionwrites.
Mean-while,asystemwithRRMachieves6.
4ofyearsmemorylifetime.
Addition-ally,systemusercanmakefurtherimprovementofperformanceorlifetimebytuningthekeyparametersinthescheme.
2.
PerformanceOptimizationforMLCPCMMainMemorybasedonWriteAccessWorkloadDetectionBasedonthetemporaldistributionanalysisofwriteaccessesintypicalapplications,thispaperproposesalight-weightscheme,whichiscalledQnD,toimprovethesystemperformanceinageneralpurposecomputingsystemwithMLCPCMmainmemory.
Inthestate-of-artmemorycontroller,thelongwritelatencyofMLCPCMisoneofthema-jorreasonsofperformancereduction.
QnDutilizestheimbalancetemporaldistributionpatternofwriteaccessesandproposesaperformanceimprove-mentschemebasedonworkloaddetectionandadaptivewritemodeselection,whichalsohelpstheMLCPCMtoachieveacceptablelifetime.
Theexperi-IVAbstractmentresultsshowthat,QnDimprovessystemperformance30.
9%ongeomet-ricmean,whilethedefaultQnDachievesamemorylifetimeof7.
58yearsongeometricmean.
3.
Co-operativeOptimizationofPerformanceandLifetimeforMLCPCMMainMemorybasedonWorkloadCharacteristicDetectionandWearoutMonitoringConsideringthevariousoptimizingrequirementsofdifferentmemoryaccessingpatterns,thispaperproposesaco-operativeoptimizationframeworkforperformanceandlifetimeoptimizationinMLCPCMmainmemory.
Inpracticalsystems,thememoryaccessingpatternvariesastheapplicationandtheexecutionphasechange.
Therefore,optimizationmethodforspecificcharactercanhardlymeetstherequirementsofpracticalsystems.
Basedontheanalysisofdifferentoptimizationrequirementswithindifferentmemoryaccessingpatterns,thispaperproposesaframeworkforadaptivelyschedulingtheoptimizationmethods.
Suchframeworkcanselectproperop-timizationmethodaccordingtothechangingmemoryaccessingpatternandeventuallyachievestheobjectiveofco-operativeoptimizationofperformanceandlifetimeforMLCPCMmainmemoryingeneralpurposecomputingsys-tem.
Theexperimentresultsshowthat,comparingwiththesystemonlyusingRRM,RRM-QnDimprovesthesystemperformanceby9.
57%ongeometricmean,whilethelifetimeofMLCPCMmainmemoryonlydecreasesby3.
1%.
ThisresultsisbetterthananyapproachesbyadjustingtheparametersofRRM.
KeyWords:Non-VolatileMemory,DynamicTradeoff,Performance,Lifetime,CombinedOptimizationV新型非易失存储器性能和寿命优化关键技术研究VI目录目录第1章引言11.
1研究背景与意义11.
2本文研究内容.
61.
3主要贡献概述.
81.
4论文组织结构.
9第2章相关研究工作综述112.
1概述112.
2NVM材料动态权衡特性112.
2.
1存储密度与写延迟的关系112.
2.
2写延迟与写寿命的关系122.
2.
3写延迟与状态保持时间的关系.
122.
3基于存储密度与写延迟关系的体系结构研究.
142.
3.
1多核众核处理器可伸缩目录表.
152.
3.
2基于弹性存储的哈希表性能优化152.
3.
3弹性存储.
162.
4基于写延迟与写寿命关系的体系结构研究.
172.
5基于写延迟与状态保持时间关系的体系结构研究182.
5.
1嵌入式系统主存储器.
182.
5.
2文件缓存.
192.
5.
3动态可调节的统一存储架构202.
5.
4大容量固态存储器212.
6本章小结22第3章MLCPCM存储器的寿命与性能平衡优化研究253.
1概述253.
2研究动机263.
2.
1静态写策略性能与器件寿命评估26VII新型非易失存储器性能和寿命优化关键技术研究3.
2.
2现有技术分析293.
2.
3基于应用特性分析的纯硬件解决方案设计313.
3RRM323.
3.
1RRM概述323.
3.
2RRM输入与输出333.
3.
3RRM记录格式.
343.
3.
4LLC写访问信息记录353.
3.
5RRM记录初始化363.
3.
6RRM记录替换.
373.
3.
7写访问模式选择383.
3.
8选择性快写刷新393.
3.
9写访存热点区域退化机制403.
3.
10RRM主动性控制413.
4实验环境和方法413.
5实验结果和分析443.
5.
1系统性能.
453.
5.
2存储器寿命453.
5.
3存储器老化原因分析.
453.
5.
4存储器能耗分析473.
5.
5判定阈值对系统的影响473.
5.
6RRM覆盖率对系统的影响483.
5.
7单条RRM记录对应存储区域容量对系统的影响503.
6本章小结50第4章MLCPCM存储器的性能优化研究534.
1概述534.
2研究动机544.
3QnD554.
3.
1QnD概述554.
3.
2QnD记录器56VIII目录4.
3.
3QnD刷新队列.
574.
3.
4QnD记录器写模式选择574.
3.
5新建QnD记录584.
3.
6删除QnD记录594.
3.
7QnD记录退化机制604.
3.
8QnD刷新请求生成614.
3.
9QnD刷新队列操作624.
3.
10QnD硬件开销分析634.
4实验环境和方法634.
5实验结果和分析664.
5.
1系统性能和存储器使用寿命674.
5.
2存储器能耗分析684.
5.
3存储器老化原因分析.
694.
5.
4WriteDrain时间分析.
704.
5.
5QnD与静态写策略比较704.
5.
6QnD主动性对系统的影响.
724.
5.
7QnD覆盖范围对系统的影响734.
5.
8QnD记录器存储粒度对系统的影响.
744.
6本章小结75第5章MLCPCM存储器的性能与寿命协同优化研究775.
1概述775.
2RRM-QnD785.
2.
1RRM-QnD概述785.
2.
2RRM-QnD输入与输出定义805.
2.
3RRM-QnD记录格式805.
2.
4RRM-QnD刷新队列815.
2.
5RRM-QnD写模式选择.
825.
2.
6RRM-QnD刷新请求生成845.
2.
7RRM-QnD写热点区域蜕化85IX新型非易失存储器性能和寿命优化关键技术研究5.
2.
8RRM-QnD硬件开销分析865.
3实验环境和方法865.
4实验结果和分析875.
5本章小结88第6章全文总结916.
1本文工作总结.
926.
2未来工作展望.
93参考文献95致谢105作者简历及攻读学位期间发表的学术论文与研究成果107X图目录图目录图1.
1Google数据中心服务器中各部分能耗占比[7]2图1.
2Google数据中心中不同类型服务器的能耗构成分析[8]2图2.
1NVM存储单元写延迟与写寿命之间的权衡关系.
13图2.
2MLCPCM存储器"阻值漂移"现象示意图14图2.
3SpongeDirectory可伸缩目录表结构示意图16图3.
1采用静态写策略的系统性能比较.
27图3.
2采用静态写策略的系统存储器寿命比较28图3.
3采用静态写策略的系统中存储器磨损原因分析28图3.
4RRM总体结构图.
32图3.
5RRM记录格式34图3.
6RRM记录LLC写访问请求流程图35图3.
7RRM记录项初始化流程图.
36图3.
8RRM记录项替换流程图37图3.
9写访存模式选择流程图.
38图3.
10选择性快写刷新请求生成流程图.
39图3.
11写访存热点区域退化流程图40图3.
12系统性能比较45图3.
13存储器使用寿命比较46图3.
14存储器老化原因分析46图3.
15存储器能耗分析47图3.
16判定阈值对系统性能的影响48图3.
17判定阈值对存储器使用寿命的影响48XI新型非易失存储器性能和寿命优化关键技术研究图3.
18RRM覆盖率对系统性能的影响49图3.
19RRM覆盖率对存储器使用寿命的影响50图3.
20单条RRM记录对应的存储区域容量对系统性能的影响.
51图3.
21单条RRM记录对应的存储区域容量对系统性能的影响.
51图4.
1基准系统运行libquantum时的读/写访存请求时间分布54图4.
2基准系统与QnD写操作时序对比55图4.
3包含QnD技术的内存控制器结构图.
56图4.
4QnD记录器结构.
56图4.
5QnD记录器写模式选择流程图58图4.
6QnD记录初始化流程图59图4.
7QnD记录删除操作流程图59图4.
8QnD记录退化流程图60图4.
9QnD生成刷新请求流程图61图4.
10归一化系统性能比较67图4.
11存储器使用寿命比较68图4.
12存储器能耗分析和比较.
68图4.
13存储器老化原因分析69图4.
14内存控制器writedrain模式时间对比.
70图4.
15基于QnD与静态写策略的系统性能比较71图4.
16基于QnD与静态写策略的系统中存储器使用寿命比较71图4.
17QnD主动性对系统的影响比较72图4.
18QnD主动性对系统的影响比较72图4.
19QnD覆盖范围对系统性能的影响比较.
73图4.
20QnD覆盖范围对存储器使用寿命的影响比较74XII图目录图4.
21QnD记录器存储粒度对系统性能的影响比较75图4.
22QnD记录器存储粒度对存储器使用寿命的影响比较75图5.
1RRM-QnD总体结构图78图5.
2RRM-QnD记录格式定义.
80图5.
3RRM-QnD刷新队列设计.
81图5.
4RRM-QnD写模式二次选择流程83图5.
5RRM-QnD慢刷新生成流程84图5.
6RRM-QnD写热点区域蜕化机制85图5.
7RRM-QnD系统性能优化效果比较.
87图5.
8RRM-QnD对存储器寿命的影响比较87XIII新型非易失存储器性能和寿命优化关键技术研究XIV表目录表目录表1.
1NVM存储器与传统存储器的对比3表2.
1写延迟与状态保持时间的权衡关系15表3.
1相关工作比较31表3.
2典型应用中写访存请求空间分布分析(以GemsFDTD为例).
.
.
.
.
31表3.
3处理器详细配置参数42表3.
4MLCPCM主存储器相关参数.
43表3.
5实验对照组列表44表3.
6实验测试用例44表3.
7不同RRM覆盖率配置的硬件开销.
49表4.
1处理器相关参数64表4.
2MLCPCM主存储器子系统相关参数.
65表4.
3实验对照组列表66表4.
4实验中使用的测试用例程序.
66表5.
1试验系统详细参数89表5.
2RRM-QnD详细配置参数.
90表5.
3实验测试程序90XV新型非易失存储器性能和寿命优化关键技术研究XVI第1章引言第1章引言1.
1研究背景与意义随着大数据、人工智能等新型应用的兴起,存储器件受到了越来越多的重视.
在小到手持嵌入式设备、大到超级计算机的各类计算系统中,存储器在降低系统的能耗、提高系统可靠性和性能等方面扮演着至关重要的角色.
另一方面,新型应用不断朝着数据密集型的方向发展,要求存储器件在满足成本和能耗约束的前提下实现性能的大幅提升,而这也超出了传统存储器件所能提供的性能极限.
例如,每分钟有超过300小时的视频被上传至YouTobe[1],而在Facebook中,图片数量增长的速度为每分钟24.
3万张[2].
据预测,未来的大规模系统需要处理EB量级的数据,若使用硬盘来构建这类系统,仅执行检查点和重启操作就会造成超过50%的性能损失[3].
除了性能,能耗则是存储系统所面临的另一个主要挑战.
如图1.
1所示,根据Google公司的统计数据,在其数据中心中,内存部分的平均能耗占整机能耗的30%,硬盘的能耗达到了总能耗的10%,存储系统(内存+硬盘)的总能耗超越了CPU(33%).
此外,Google还对其数据中心中计算密集型和服务密集型服务器的能耗构成分别进行了统计:在服务密集型服务器中,虽然CPU是能耗最高的部件(60%),内存部分的能耗依然达到了整机能耗的19%,加上硬盘的能耗(5%),存储系统的总能耗达到了整机能耗的约1/4(如图1.
2(a)所示);而在服务密集型服务器中,内存和硬盘的能耗分别达到了整机能耗的48%和12%,存储系统的总能耗超越CPU(30%),成为了能耗最高的子系统(如图1.
2(b)所示).
根据美国橡树岭国家实验室的测算,未来大型计算系统中对内存的需求将达到至少100PB,若使用现有的DDR内存来实现的话,仅内存部分的功耗就将达到52MW,这也远远超过了整机功耗20MW的设计目标[4–6].
在上述现实需求的驱动下,研究人员开始越来越多地关注新型存储器件.
而新型非易失存储器(Non-VolatileMemory,NVM)因其在诸多方面的优良特性,被认为非常适合在未来的大规模系统中构建内存和永久性存储器.
现有新型NVM存储器件主要包括相变存储器(PhaseChangeMemory,PCM)、自1新型非易失存储器性能和寿命优化关键技术研究图1.
1Google数据中心服务器中各部分能耗占比[7].
Figure1.
1ThebreakdownofenergyconsumptioninGoogledata-center.
(a)计算密集型服务器中各子系统能耗分析.
(a)Thebreakdownofenergyconsump-tionincompute-intensiveservers.
(b)服务密集型服务器中各子系统能耗分析.
(b)Thebreakdownofenergyconsump-tioninservice-intensiveservers.
图1.
2Google数据中心中不同类型服务器的能耗构成分析[8].
Figure1.
2TheenergyconsumptionbreakdownofdifferenttypesofserversinGoogledata-center.
旋矩传输存储器(SpinTransferTorqueRAM,STT-RAM)和忆阻器(ResistiveRAM,ReRAM)等.
与传统存储器件相比,NVM存储器件的优势主要体现在以下三方面:首先,NVM存储器可以在消耗极少能量的同时实现非常高的存储密度.
例如,一个典型的SRAM存储单元的电路面积约为125200F21,而一个PCM存储单元的电路面积仅为412F2[3,9].
其次,在传统的计算机体系结构中,通常采用DRAM作为易失存储器,同时采用硬盘或Flash作为永久性存储介质,由于这些不同存储介质的1F为所使用的工艺制程所能实现的最小电路尺寸.
2第1章引言访问延迟存在很大差异,因此需要为不同的存储介质设计种类繁多的接口[10,11].
而NVM存储器在存储容量和写寿命方面接近或优于Flash,同时读访问延迟与DRAM相近,因此在NVM存储器非常适合作为一种统一存储介质,从而实现计算机系统结构和接口的简化.
第三,与Flash和硬盘相比,新型NVM存储器最大的不同之处在于可以支持以字节为单位的细粒度寻址.
这使得通过细粒度访存调节优化系统性能成为可能.
新型NVM存储器与传统存储器的详细对比如表1.
1所示.
表1.
1NVM存储器与传统存储器的量化对比[3,9,12]Table1.
1Thequantitativecomparisonbetweennon-volatilememoryandclassicvolatilememory.
存储单元尺寸读延迟写延迟写寿命写能耗其他能耗硬盘(HDD)N/A5ms5ms>1015低待机能耗DRAM610F230ns15ns>1015低刷新SRAM50120F21100ns1100ns>1015低漏电流PCM412F250ns500ns108高无STT-RAM650F210ns50ns1015低无ReRAM410F210ns50ns108低无尽管与Flash、DRAM等技术相比,基于NVM的存储技术还不够成熟,但是近年来研究人员已在如何开发和利用NVM材料特性方面进行了大量研究工作[9].
目前,容量为1Gb的忆阻器原型芯片已经通过了流片验证[13],基于该芯片可以构建的内存可支持8-bank并发,同时通过DDR接口实现1GB/s的访存带宽.
另一方面,工业界的努力也使得NVM存储技术正在朝着大规模应用快速发展.
Intel和镁光公司于2016年底联合发布了基于PCM的新一代存储器产品3DXpoint[14],同期HP和SanDisk公司则联合推出了名为SCM(StorageClassMemory)的NVM存储器产品[15].
此外,在美国能源部宣布,在下一代名为Summit的超级计算机中,在总共3400个计算节点中,每个节点都将包含容量为800GB的NVM存储器,而这些NVM存储器可根据需要被配置为缓冲存储器或扩展内存[16].
目前,从系统级研究的角度来看,NVM存储器在计算系统中的大规模应用还面临着很多关键性的挑战.
例如,与传统存储材料相比,NVM存储单元的写寿命通常要低几个数量级,但其写访问延迟和写访问能耗却高出很多.
此3新型非易失存储器性能和寿命优化关键技术研究外,为了将NVM存储器应用于现有体系结构中并充分发挥其优势,还需在接口、系统软件等层面进行针对性的设计.
对于写延迟过大问题,一种主要的思路是通过提高写访问的并行度隐藏写延迟.
例如,文献[17]通过对PCM写访问中的能量分配进行细粒度控制,在降低写操作能耗的同时为热点区域提供额外的能量,从能量角度提升了PCM存储器写操作并发度;文献[18]提出了一种名为OptiPCM的技术,使内存控制器通过光路连接大量PCM芯片,从而提升写访存的并发度;而文献[19]通过在总线结构上添加buffer使单层总线变为多层总线,进而提升NVM存储器的写访问并发度.
另一种常见思路是通过在NVM存储器的前端设置一个较大的缓存(如DRAMCache),将写请求存储在缓存后异步完成对NVM存储器的写访问.
例如:Lazy-Write技术在PCM存储器前端加入DRAMcache,当发生缺页时,Lazy-Write只将硬盘中读取的数据块写入DRAMcache中,降低了PCM存储器写延迟过长对系统性能的影响[20];文献[21]提出了一种基于阈值的PCM前置DRAMcache,当DRAMcache中的数据量超过阈值时,会将部分数据写入后端的PCM存储器中,通过这种方式保证了写访存请求的数据能够及时写入DRAMcache,从而隐藏了PCM存储器的写延迟;Meza等人提出对DRAMcache进行细粒度管理的策略,并通过将最近访问的数据行存储在额外小容量buffer中提升了PCM中DRAMcache的访问性能[22].
此外,由于读访存请求处于系统关键路径之上,对于系统性能有着显著影响,而写延迟过长会影响同一Bank中读访存请求的执行.
因此,文献[23]提出了一种基于写暂停/中断的性能优化方法,即当一个读访存请求到达NVM存储器时,若相同Bank正在执行写访存操作,则调度策略会将正在执行的写访存操作中断,优先执行读访存操作,待读访存操作完成后再继续执行写访存操作.
除了上述优化方法,文献[24]还提出了一种基于PCM写操作中SET操作和RESET操作延迟不对称性的优化方法,在一个cacheline被改写时立即对其在PCM内存中的相应数据行执行SET操作,待写访存请求到达时再执行RESET操作,由于RESET操作的延迟小于SET操作,因此这种方法可以缩短PCM存储器的写延迟.
对于NVM写操作寿命有限的问题,解决方案主要可以分为减少写操作和写分摊两种.
在通过减少写操作延长存储器寿命的工作中,最直接的思路是对4第1章引言存储单元的改写进行细粒度规划,通过存储器内置电路识别新写入数据中发生变化的bit位,然后只擦写状态值发生改变的bit位[25–27].
在此基础上,一系列改进型方案通过为写访存请求选择需要改写bit最少的区块做为实际目标地址,进一步减少了写操作中需要擦写的存储单元数量[28,29].
文献[20]还介绍了一种以行为单位写回策略,通过将目标地址在同一行的的写访存请求进行合并减少对NVM存储单元的擦写.
除了上述工作,一部分优化工作通过对程序行为进行探测,识别出程序中已失效的数据,并不再将这些数据写回NVM存储器,从而达到减少写访问的目的[30,31].
此外,写分摊技术(WearLeveling)也是一类延缓NVM老化的有效手段.
写分摊技术是指通过将写操作分摊至全体NVM存储单元,减少由于写操作热点造成的部分存储单元过快老化,进而延长存储器整体寿命.
其中,Start-Gap技术通过将写操作目标进行偏移,仅增加8字节的额外存储开销,可使存储器寿命达到理论寿命的95%[32].
与此类似的解决方案还包括将cacheline在内存页间进行偏移[20]、将bit在cacheline内部进行偏移以及将cacheline在段内进行偏移[25].
上述传统体系结构方法虽然能够对NVM存储器的性能或寿命进行优化,但是其仍存在诸多不足之处.
首先,上述方法中往往需要增加一个或多个控制电路对写访存请求进行分析、重定向等预处理操作,由于预处理操作处于写访存请求执行的关键路径上,因此当系统中写访存请求较多时,新增加的控制电路容易成为新的性能瓶颈.
其次,上述优化方法在对NVM存储器的一个指标进行优化的同时,往往会以牺牲其他指标作为代价.
例如,在通过减少改写bit位数量实现减缓存储器老化速度的技术中,由于存储器内置电路需要计算改写bit位的数量并选择最优的存储区块,因此延长了写访问的延迟,当系统中写访问请求较多时,此类方法会严重影响系统性能.
此外,上述工作中往往需要增加辅助存储器,由此产生的数据同步、写目标选择操作会使得系统结构和调度策略更加复杂.
针对上述问题,本文突破了传统体系结构研究与器件领域研究的界限,通过对NVM器件自身的动态权衡特性进行分析和利用,同时结合对典型应用行为特征的分析结果,使用自适应动态机制实现对NVM存储器多个指标进行协同优化.
与传统优化方法相比,本文所提出的优化方法具有硬件开销小、结构简单、可同时对多个目标进行优化以及易于与现有系统集成等特点.
本文的研5新型非易失存储器性能和寿命优化关键技术研究究成果促进了NVM存储器在实际系统中的应用,为未来构建基于NVM存储器件的大型计算系统提供了具有实用价值的技术方向.
1.
2本文研究内容作为现有存储器的潜在替代技术,新型非易失存储器受到了来自学术界和工业界越来越多的关注.
但是,写延迟长、写操作动态功耗高、写寿命有限等问题制约了新型非易失存储器的广泛应用.
对于这些问题,传统的体系结构方法通过增加层或者调度的方式加以避免或隐藏.
但是,这类解决方案往往具有软硬件开销大、无法同时针对不同问题进行优化等问题.
近年来,随着对新型非易失存储材料研究的深入,一系列器件自身所包含的动态权衡特性被陆续发现并应用于体系结构设计中.
与传统的方案相比,这类动态非易失存储器结构具有额外硬件开销小、可同时针对多个目标进行优化等特点.
本文针对通用计算系统中基于MLCPCM的主存储器性能和寿命的协同优化问题做出了深入探索,通过对器件自身特性加以利用,不仅提出了新的存储器使用寿命优化方法,同时也研究了如何实现存储器使用寿命和性能的同步提升.
本文的研究内容主要包含以下三方面:基于热点区域感知的MLCPCM存储器寿命与性能的平衡优化MLCPCM存储器作为PCM存储器的增强技术,通过在一个PCM存储单元中保存多个bit逻辑值显著提升了存储密度.
但是,由于阻值漂移问题,MLCPCM存储单元的状态保持时间相较于PCM存储单元有所缩短,因此需要定期进行刷新操作以保证存储的正确性.
根据材料学相关研究工作的成果,MLCPCM存储单元的写延迟和状态保持时间之间存在动态权衡关系,即:在一个MLCPCM写操作中,如使用较多的SET操作以及在每个SET操作中使用较小的电流,存储单元的状态保持时间将延长,但写延迟也会相应增长;相反,若在一个MLCPCM写操作中使用较少的SET操作,同时每个SET操作中使用较大的电流,存储单元写延迟将缩短,但其状态保持时间也会缩短,由此引发的频繁刷新操作将大幅缩短MLCPCM存储器的使用寿命.
本文通过对典型应用的访存特征进行分析,发现在一定时间内只有少量存储单元会被频繁改写(写热点区域).
基于这一发现,本文提出了一种名为"区域状态保持时间监控器"(RegionRetentionMonitor,RRM)的技术,通过记录系6第1章引言统中写操作的目标地址预测写访存请求目标地址的写访问频率.
对于每个即将发送的写访存请求,RRM根据自身记录预测其目标地址是否为写热点区域并根据预测结果为其选择适当的写模式.
实验结果表明,RRM显著改善了通用计算系统中MLCPCM主存储器使用寿命和性能的平衡情况.
此外,我们还分析了关键参数的取值对RRM效果的影响.
基于写访存负载感知的MLCPCM存储器性能优化作为现有DRAM存储器的潜在替代技术,MLCPCM在大幅提升了数据存储密度的同时也带来了写延迟过长的问题.
而这也成为了阻碍其在商用系统中大规模应用的主要因素之一.
根据前文的介绍,MLCPCM存储器的写性能优化可以通过减少写操作中的SET操作数量同时增大写电流实现.
但是,这样做也会大幅缩短存储单元的状态保持时间,进而导致频繁的刷新操作和存储器过快老化.
因此,在实际系统中全部使用"低延迟-低状态保持时间"写模式并不现实.
本文通过对典型应用中写访存操作的时间分布特性进行分析,发现其具有显著的时间不均匀性,即:在某些时间段内,内存控制器会发送大量写访存请求,而在其他一些时间段内,内存控制器则很少发送写访存请求.
基于这一发现,本文提出了一种名为Quick-and-Dirty(QnD)的轻量级MLCPCM性能优化技术.
QnD通过对内存控制器中写请求队列负载情况进行监控,在系统写访存负载高时,动态选择使用"低延迟-低状态保持时间"写模式完成写访存操作,并记录这些写访存操作的目标地址.
然后,在内存子系统相对空闲时,QnD根据记录信息使用"高延迟-高状态保持时间"写模式对这些地址进行刷新操作,从而避免了由于其状态保持时间过短所导致的频繁刷新和存储单元过快老化问题.
实验结果表明,QnD在显著提升系统性能的同时,依然使存储器使用寿命维持在了可以接受的水平.
此外,我们还讨论了QnD中的关键参数对系统性能和存储器使用寿命的影响.
基于应用行为特征感知和存储器老化监测的MLCPCM存储器性能与寿命的协同优化之前的工作分别通过将典型应用写访存空间分布特征和时间分布特征与器件特性相结合,提出了存储器寿命-性能平衡优化方法RRM和写访问性能优化方法QnD.
但是,由于真实访存流往往同时具有多个维度的特征,因此RRM和QnD还存在着不足之处:对7新型非易失存储器性能和寿命优化关键技术研究于具有时间局部性但不具备时间局部性的访存流以及写访存热点区域发生转移时,RRM将因为过度使用"高延迟高状态保持时间"写模式造成系统性能降低;另一方面,对于仅具有时间局部性而无空间局部性的写访存流,QnD所采用的两阶段写回模式会加速存储单元的老化.
基于上述分析,本文通过将RRM和QnD进行集成,同时设计专门的调度策略,实现MLCPCM内存的受命于性能的协同优化.
集成后的RRM-QnD技术将主要实现三个目标:首先,对于空间局部性较低的写访存流,RRM-QnD能够动态感知系统写访存负载并启用相应的性能优化策略,避免大量长延迟写操作对系统性能的影响;其次,对于同时具有空间局部性和时间局部性的写访存流,RRM-QnD需要避免不必要的长延迟刷新对于系统性能的影响;最后,对于特征不明显的写访存流,RRM-QnD需要平衡性能与器件寿命,减少性能优化对于器件寿命的影响.
本文介绍了RRM与QnD的集成方法和集成后的硬件结构,同时还介绍了集成后RRM和QnD技术的调度策略设计.
实验结果表明,RRM-QnD在提升系统性能的同时,最大限度避免了对器件寿命的影响.
1.
3主要贡献概述本文的主要贡献可以归纳为:1.
基于写访存热点区域感知的MLCPCM主存储器寿命与性能平衡优化方法本文基于典型应用写访存空间分布特性分析结果,提出了一种MLCPCM主存储器使用寿命与性能的平衡优化方法.
在MLCPCM存储器中,由于写访问延迟、存储单元状态保持时间、存储器寿命之间的动态权衡关系,因此提升写访问性能的同时也将导致存储器寿命的大幅下降.
针对这一问题,本文将典型应用写访存空间分布特征与器件自身动态权衡特性相结合,典型应用写访存请求空间分布不均的特点,提出了一种基于写访存热点区域感知和动态写模式选择的MLCPCM主存储器寿命与性能平衡优化方法.
基于全系统模拟和真实应用的实验结果表明,该方法可在大幅提升存储器使用寿命的同时避免对系统性能的过多影响.
此外,通过对关键参数进行调节,该方法可以很方便地在性能和存储器寿命之间做出进一步取舍.
2.
基于写访存负载压力感知的MLCPCM主存储器性能优化方法本文8第1章引言基于典型应用写访存时间分布特性分析结果,提出了一种轻量级MLCPCM主存储器性能优化方法.
在现有的内存控制器结构中,MLCPCM主存储器的写访问延迟过长是造成系统性能下降的主要原因.
本文在保证存储器寿命前提下,利用典型应用中写访问请求时间分布不均的特性,通过感知系统写访存负载和动态选择写模式实现系统性能的提升.
同时,通过对关键参数的调节,该方法还支持在系统性能和存储器寿命之间做出取舍.
3.
MLCPCM主存储器性能与寿命协同优化方法本文针对真实应用中可能出现不同写访存分布特性,提出了一种MLCPCM主存储器性能与寿命协同优化框架.
由于在实际应用中,写访存分布特性可能随时间的推移而发生变化,且不同应用的写访存特征也存在差异性,因此基于特定特征的优化方案难以满足真实系统的需求.
针对这一问题,本文综合考虑了不同写访存分布特征对于优化方案的不同需求,以及影响系统性能和存储器寿命的相关因素,最终提出了一种系统性能和存储器寿命协同优化框架.
该框架可根据应用所表现出的不同特性以及当前系统和存储器的状态动态调整优化目标,最终实现MLCPCM主存储器性能与使用寿命的协同优化.
1.
4论文组织结构全文共分为六章,其中第三到五章涵盖主要贡献点,各章内容归纳如下:1.
第一章介绍了本文的研究背景与意义,然后概括地介绍了本文的研究问题和主要研究内容,接下来归纳了论文的主要贡献,最后给出了论文的组织结构.
2.
第二章归纳了论文的相关工作,主要包括NVM材料中几组主要的动态权衡关系,以及近年来出现的一系列基于非易失存储器动态权衡特性的体系结构研究工作.
通过对这些相关研究工作的总结,给出了本文的研究基础.
3.
第三章介绍了基于MLCPCM存储器写延迟和状态保持时间动态权衡关系的存储器寿命与性能平衡优化方法,主要包括对问题的分析、研究动机、设计思路、主要硬件结构及功能介绍、实验结果分析等.
4.
第四章介绍了MLCPCM存储器性能优化方法,主要包括对问题的分9新型非易失存储器性能和寿命优化关键技术研究析、应用特性分析、设计思路、主要硬件结构及功能介绍、实验结果分析等.
5.
第五章基于第三章和第四章的工作,介绍了MLCPCM存储器性能与寿命协同优化方法.
其中主要包括对第三章和第四章工作优势与不足之处的分析、集成方法及思路、集成后主要硬件结构和功能介绍、集成调度策略设计、实验结果分析等.
6.
第六章对全文进行了总结,并对未来研究方向进行了分析和展望.
10第2章相关研究工作综述第2章相关研究工作综述2.
1概述与传统存储器相比,NVM存储器在读访问性能和能耗方面具有显著的优势.
但是,受自身器件特性的限制,NVM存储器在写性能和写寿命方面也面临着巨大的挑战.
针对这两个问题,尽管已经有大量基于传统体系结构方法的优化策略研究工作,但是这些工作大多存在优化目标单一、硬件开销大等问题.
近年来,随着对NVM存储材料的深入研究,研究人员陆续提出了一类新的解决方案,即利用NVM存储材料自身特性进行动态权衡操作,从而达到同时对一个或多个目标进行优化的目的.
与传统的方案相比,这类基于动态权衡的解决方案在如下几方面具有显著优势:与传统优化方案相比,此类方案仅需要少量或不需要额外存储开销;辅助逻辑简单,由解决方案引入的额外延迟低;可在低硬件开销的前提下实现同时对多个目标进行协同优化;对系统整体性能影响小,避免了传统解决方案中由于对NVM某一方面进行优化而造成系统整体性能下降.
本章首先对NVM存储材料中存在的动态权衡特性进行了分析,包括存储密度与写延迟的关系、写延迟与写寿命的关系、写延迟与状态保持时间的关系.
在上述分析的基础上,本章对近年来基于这些动态权衡特性的NVM应用优化研究进行梳理.
2.
2NVM材料动态权衡特性2.
2.
1存储密度与写延迟的关系对于使用电阻值表示逻辑值的NVM材料(如:ReRAM、PCM),可通过对其不同电阻值进行重新编码,实现在单一存储单元中存储多个逻辑状态.
该技术被称为多层NVM(Multi-Level-CellNVM,MLCNVM),可用于提高存储密度或存储可靠性.
对于MLCNVM而言,由于需要精确控制写入后存储单元的电阻值,因此MLCNVM的写操作通常采用基于多次迭代的模型[33].
11新型非易失存储器性能和寿命优化关键技术研究在每个迭代中,需要将当前存储单元的电阻值读取并校验后再进行一次写操作,直至存储单元最终达到目标电阻值.
因此,对于一个MLCNVM而言,写操作中迭代的次数随着NVM存储单元的层数的增加而线性增长[33].
文献[34]提出,MLCNVM存储单元的读延迟随该存储单元中存储层数的增加而呈指数增长.
综上所述,MLCNVM写延迟与存储层数的关系可近似表示为:ReadLat(n)=ReadLat(1)*ExpoBasen1.
.
.
(2.
1)WriteLat(n)=(ReadLat(n)+WritePulseLat)*n.
.
.
(2.
2)其中ReadLat(n)表示当存储层数为n层时的读延迟,WritePulseLat表示每个迭代中写脉冲电流的持续时间.
2.
2.
2写延迟与写寿命的关系材料领域的相关研究工作表明,在多种NVM材料中,写延迟都与期间寿命存在相关关系[35,36].
为了缩短写操作的延迟,往往需要在执行写操作时使用更多的能量[37,38],而过高的能量将加速器件的老化[36,39,40],进而导致器件寿命的降低.
文献[41]以基于ReRAM的主存储器为应用场景,使用一个分析模型来定量描述NVM中写延迟与器件寿命的关系.
根据该模型,NVM的寿命与写延迟之间的关系为:Endurance≈(tWPt0)Expo_Factor.
.
.
(2.
3)其中tWP为写延迟,t0为器件相关常量,Expo_Factor为一个与器件结构相关的常量,取值范围在1和3之间.
对于基于氧化金属层的器件而言[42],Expo_Factor的取值为2.
0左右.
当Expo_Factor取不同值时,器件的写寿命随写延迟增加而变化的情况如图2.
1所示.
2.
2.
3写延迟与状态保持时间的关系在多层PCM(Multi-Level-CellPCM,MLCPCM)存储器中,由于制造工艺中存在的误差[43]、材料自身成分的波动[44]以及自身结构的细微变化[45],在擦写时电流、电压和持续时间相同,PCM存储器中不同单元阻值的变化情况也并不严格一致.
因此,为了确保擦写的准确性,MLCPCM的写操作通常采用一种基于多次迭代的策略,每次迭代中包含一组"擦写-验证"操作.
在每次写12第2章相关研究工作综述图2.
1NVM存储单元写延迟与写寿命之间的权衡关系.
Figure2.
1Thewritelatencyvs.
endurancetradeoffofNVMcell.
操作开始前,通常会使用一个RESET操作使得存储单元恢复到初始状态,随后采用多次"擦写-验证"操作直至存储单元的电阻值达到目标值.
材料学研究发现,由于PCM晶体材料结构存在松弛性[33],其电阻值会自然增长,这种现象被称作"阻值漂移"[33].
由于MLCPCM存储器使用不同的阻值域表示不同的逻辑值,因此当电阻值"离开"某一特定的阻值域时,其所代表的逻辑值可能会发生变化,这将使得MLCPCM不再具有非易失性.
因此,为了克服阻值漂移对MLCPCM存储可靠性的影响,在定义阻值域时,通常在相邻的阻值域之间保留一个未定义的阻值区间用于隔离,这个阻值区间通常被称为"保护带"[34].
图2.
2描述了一个2bitMLCPCM存储单元,其整个阻值范围被分为4个阻值域(即"00"、"01"、"11"、"10",采用格雷码规则排列).
相关研究结果表明,阻值漂移的速度正比于存储单元中非晶相的体积分数.
因此,对于一个MLCPCM存储单元,更宽的保护带将有助于容忍更多的阻值漂移,从而获得更长的数据保持时间.
但是,保护带变宽将使得每个有效阻值域变窄,这对于写操作的准确性提出了更高的要求.
为了保证写操作的准确性,写操作中每次迭代的阻值变化粒度将变小,整个写操作所需的迭代次数将增加,这将使得写操作需要消耗更多的能量(如图2.
2(a)所示),但是由于其数据保持时间更长,因此很少需要刷新操作,器件的寿命更长.
与之相反,当保护带变窄时,各个有效阻值域变宽,这使得写操作中可以使用粗粒度的迭代,减少写操作中迭代的数量,降低写操作所消耗的能量(如图2.
2(b)所示),13新型非易失存储器性能和寿命优化关键技术研究但由此会导致存储单元的数据保持时间更短.
为了保证存储的正确性,存储器需要在存储单元状态失效之前进行刷新操作,这样会导致对存储器的写操作次数增加,器件寿命缩短.
图2.
2MLCPCM存储器"阻值漂移"现象示意图Figure2.
2Theresistance-driftphenomenoninMLCPCM.
对于MLCPCM存储器而言,一个写操作包含一个RESET和多个SET操作.
当保护带变宽时,有效阻值域变窄,此时SET操作的电流降低,需要的SET操作数量增长,存储单元的状态保持时间将相应地延长;相反,当保护带变窄时,有效阻值域变宽,此时SET操作的电流升高,需要的SET操作减少,存储单元的状态保持时间相应地缩短.
为了定量描述这一动态权衡关系,文献[46]综合了多种不同角度的相关模型[43,47–49],提出了一种新的模型用于计算MLCPCM写延迟与状态保持时间的关系.
在此基础上,文献[50]使用最新的基于20nm工艺制程的参数[51],重新计算了相关数据,结果如表2.
1所示.
2.
3基于存储密度与写延迟关系的体系结构研究由2.
2.
1节介绍可知,在ReRAM和PCM中,存储密度和读写延迟存在相关关系.
在实际应用中,可动态地选择牺牲读写性能以换取存储密度的提升.
在本节中,我们将对不同应用场景下如何利用这一动态权衡关系提升系统性能做出归纳总结.
14第2章相关研究工作综述表2.
1写延迟与状态保持时间的权衡关系[50]Table2.
1Thewritelatencyvs.
retentiontimetradeoff.
写模式1写电流(A)写功耗2状态保持时间(s)写延迟(ns)7-SETs-Write3013054.
911506-SETs-Write320.
975991.
410005-SETs-Write350.
972104.
48504-SETs-Write370.
86924.
057003-SETs-Write420.
842.
015001N-SETs-Write表示所有写操作都包含N个SET操作.
2此处写功耗为归一化数据,以7-SETs-Write的写功耗为baseline.
2.
3.
1多核众核处理器可伸缩目录表基于cache一致性的共享存储对于多核/众核处理器芯片的可编程性具有重要意义.
现有的多核/众核处理器普遍采用基于目录表的一致性协议.
但是,随着处理器内部核数的增加,目录表所需的空间将呈超线性增加.
因此,未来众核处理器设计中的一个重要问题是如何设计一种具有良好伸缩性的目录表结构.
众多研究人员从降低目录表的能耗、延迟或复杂度等角度提出了多种不同的解决方案[52–55].
但是,由于不同应用对于目录表的需求差异很大:部分应用要求目录表有更多的目录项,每个目录项的分享者尽量少;而另一部分应用则需要减少目录项的数量,同时增加每个目录项的共享者数量.
因此,基于传统的SRAM很难设计出满足不同应用需求的弹性目录表[56,57].
针对这一问题,文献[58]提出了一种基于多层ReRAM的目录表结构SpongeDirectory.
SpongeDirectory可通过动态调节存储密度,在牺牲一定读写性能的情况下动态提升目录表的容量,从而满足部分应用对更大容量目录表的需求.
SpongeDirectory的结构如图2.
3所示,其中相同颜色的存储单元属于同一个目录项.
实验结果表明,与传统目录表相比,SpongeDirectory在性能近似的前提下,可将存储单元数量缩减至1/18,同时将能耗缩减至1/8.
2.
3.
2基于弹性存储的哈希表性能优化在很多算法和应用中,哈希表都是一种重要的数据结构.
随着应用和数据规模的增长,实现高效的哈希表结构的重要性和难度也在日益提高.
传统的哈希表通常基于链表实现,哈希表中各项的地址动态可变并在内存中随机分布.
这种实现方式虽然可以提高内存使用效率,但是却影响了预取(prefetching)的15新型非易失存储器性能和寿命优化关键技术研究图2.
3SpongeDirectory可伸缩目录表结构示意图Figure2.
3ThestructureofflexibledirectoryinSpongeDirectory.
效果并降低了指令级并行度.
针对这一问题,文献[59]提出了一种基于MLCPCM的可扩容哈希表技术.
该技术可根据应用的需要,通过动态增加PCM单元同一电阻域中存储的bit数实现哈希表的扩容.
该技术虽然会使哈希表的读写延迟增大,但是通过配合专门设计的编址和预取机制,该技术依然可以通过提高访问并行度达到提升性能的目的.
实验结果表明,与基于单层PCM的链表式哈希表结构相比,该技术在使用4层PCM的情况下可实现4.
8倍的存储密度提升以及67%的性能提升.
2.
3.
3弹性存储由于MLCNVM器件的读写延迟与存储密度存在相关性,因此在使用MLCNVM器件构建主存时需要在发挥其高存储密度优势的同时将各种负面影响降至最低.
文献[60]分析了常见应用在运行时对内存的需求情况,并发现不同应用在不同状态下对运行内存容量的需求存在很大波动.
基于这一分析结果,文献[60]提出了一种基于MLCPCM的可伸缩的弹性存储技术MMS.
MMS将主存储器分为两个区域:运行于多层模式的"高存储密度-高访问延迟区域"和运行与单层模式的"低存储密度-低访问延迟区域".
MMS通过MemoryMonitor对当前负载对内存的需求情况进行动态监测.
当应用对于主存储器的需求增大时,运行于单层模式的存储区域比例会下降,一部分区域会变为多层模式以满足应用对内存容量的需求;当应用对主存储器容量的需求下降时,一部分多层模式的区域会切换为单层模式,通过牺牲存储容量换取系统整体性能的提16第2章相关研究工作综述升.
实验结果表明,对于一个8GB的MLCPCM主存储器而言,MMS可使用单层模式满足大部分访问请求的需要(95%的读请求和90%的写回请求),通过这种单层/多层模式的动态切换,包含MMS的系统可实现平均40%的性能提升.
类似地,文献[61]提出了一种名为AdaMS的技术,在电路层级实现了PCM存储单元在单层/多层模式之间的动态切换并.
基于这一技术,基于MLCPCM的固态硬盘可根据负载的需求情况在单层模式与多层模式之间进行切换,并配合专门的编制和运行时重映射技术,在负载较低时通过更多地采用单层模式提高固态硬盘的访问性能.
实验结果表明,AdaMS可使得MLCPCM固态硬盘的吞吐率平均提升28%.
2.
4基于写延迟与写寿命关系的体系结构研究由2.
2.
2节介绍可知,对于NVM材料而言,写延迟和写寿命存在相关性.
基于这一动态权衡关系,文献[62]提出了一种名为MellowWrite的技术,在尽量减少额外硬件开销的前提下提升NVM存储器的寿命.
与原有基于写分摊和减少写操作的思路不同,MellowWrite主要通过延长写操作延迟("慢写")减少单次写操作对NVM存储单元的磨损程度,从而实现延长存储器寿命的目标.
为了减少写延迟延长对系统性能的影响,MellowWrite包含了两种策略:Bank-AwareMellowWrite和EagerMellowWrite.
在Bank-AwareMellowWrite策略中,通过扫描写访存队列中的写请求,当一个bank只有一个写请求时,该请求会采用慢写的方式完成.
而在EagerMellowWrite策略中,通过对末级缓存(LastLevelCache,LLC)进行扫描,挑选无用的"脏数据"并将其主动地采用慢写的方式进行写回.
为了进一步提升NVM存储器的寿命,MellowWrite中还包含一种名为WearQuota的技术:将程序运行的整个过程划分为一些列固定时长的采样区间,在每个采样区间中计算区间内写操作对主存造成的累计磨损情况,当累计磨损超过一定阈值时,在下一个采样区间内将只采用慢写模式完成所有写请求.
MellowWrite中的些参数取值与应用特征相互作用将会对系统性能造成很大影响.
为了使系统始终运行于最优状态,MellowWrite需要针对不同应用特征动态调节自身参数.
但是,由于参数的数量众多,通过建模实现自身参数17新型非易失存储器性能和寿命优化关键技术研究的求解变得十分困难.
针对这一问题,文献[63]提出了一种基于机器学习的参数动态选择技术.
该技术通过在程序运行时对处理器各项状态参数及程序行为特征进行周期性采样,使用机器学习模型为下一个采样周期选择适当的参数,同时使用采样结果对机器学习模型进行持续性训练.
实验结果表明,该方法可以在最小化动态能耗的同时,使性能与理论最优值的差距缩小到5%以内.
2.
5基于写延迟与状态保持时间关系的体系结构研究由2.
2.
3节介绍可知,在MLCPCM中存在着写延迟与状态保持时间之间的动态权衡关系.
同时,由于不同延迟的写模式对于写电流的需求不同,因此写延迟不同也会导致写功耗的变化.
此外,对于基于MLCPCM的主存储器而言,为了保证数据的正确性,在其状态保持时间结束前需要进行刷新操作,由此引入的额外的写操作也会加速存储单元的老化.
因此,写延迟与状态保持时间之间动态权衡关系也可以很容易地扩展为包含写延迟、写功耗、状态保持时间、器件寿命在内的多方之间的动态权衡关系.
这为体系结构设计提供了充足的空间.
本章将对基于这一动态权衡关系的体系结构设计进行介绍.
2.
5.
1嵌入式系统主存储器随着小型化专用计算设备的市场需求日益增长,以微控制器(MicroCon-trollerUnits,MCUs)为代表的的嵌入式系统得到了广泛应用.
由于嵌入式系统对于成本、性能和功耗都有着严格的要求,因此在MCU中通常只集成很小容量的RAM(512B512KB),而将大部分存储任务交给扩展Flash存储器完成.
由于Flash存储器存在着能耗高、擦写次数低的弊端,因此MCU经常在性能和寿命方面存在问题.
针对这一问题,之前的一些研究工作中提出使用PCM存储器取代RAM和Flash作为嵌入式系统中的统一存储结构[64].
而通过使用MLCPCM技术,MCU的电路面积和制造成本可以更低.
与DRAM相比,PCM的读速度相近,但漏电流功耗更低[20,25,27];而与Flash存储器相比,PCM的读/写速度更快,使用寿命也更高[65].
但是,MLCPCM存储器依然存在写延迟高[66]和写功耗高[17,67]的问题.
由于嵌入式系统通常使用电池供电,因此当MCU中使用MLCPCM作为存储器时,往往在性能方面会受到显著影响[68].
18第2章相关研究工作综述文献[69]提出了一种名为CDDW的技术,用于在提升基于MLCPCM的嵌入式系统性能的同时降低写操作的能耗.
在CDDW中,包含快写和慢写两种写模式.
CDDW通过在编译过程中对写指令进行静态扫描分析,对写操作目标地址中数据的最坏情况下生命周期(WorstCaselifetime,WCLT)进行估算.
基于分析结果,编译器将为该数据选择最适合的写模式.
通过这种方法,CDDW可使得基于MLCPCM的存储器在性能和写延迟之间达到更优的平衡.
实验结果表明,CDDW可使得系统性能提升6.
3%,同时将写功耗降低32.
4%.
在CDDW的基础上,文献[70]通过分析发现,对于嵌入式应用中大量存在的循环模块,由于其中数据的生命周期非常长,因此对这些数据采用长延迟写操作将对系统性能和能耗带来很大影响.
基于这一分析,文献[70]提出了一种名为WMALT的循环感知技术.
该技术通过在编译阶段对代码的扫描,发现处于循环模块中的数据项,并采用低延迟写操作去改写这些数据项.
实验结果表明,当WMALT与CDDW技术配合使用时,相比于单纯使用CDDW的情况下可实现50.
8%的性能提升,同时降低32.
0%的动态能耗.
在嵌入式处理器中,除了cache,还有一类基于SPM(Scratch-PadMemory)的存储管理模式.
SPM是一种软件控制的片上存储器,由于SPM的电路面积更小、功耗更低,因此相较于cache更适合嵌入式系统.
但是,与cache不同的是,SPM需要由软件控制数据在存储器中的分布.
因此,SPM需要由编译器或程序员指定数据的存储位置.
针对基于MLCPCM的SPM存储器,文献[71]提出了一种名为MMAS的任务调度和写模式选择算法.
该算法通过减少基于慢写模式的写访存,使程序运行时间缩短,同时系统能耗降低.
由于为写访存请求序列选择最优调度和最优写模式组合是一个NP完全问题,因此MMAS使用整数线性规划方法为写操作指令和数据项寻找近似最优的调度方案,从而达到缩短数据项生命周期并更多地使用低延迟写操作的目的.
MMAS可在多项式时间内为大型程序寻找到近似最优的调度结果.
实验结果表明,MMAS算法可使访存时间平均缩短38.
79%.
2.
5.
2文件缓存MLCPCM也被用作文件缓冲器(位于内存和硬盘之间)等其他存储设备.
对于这类存储设备,结合其应用特征,依然可以利用写延迟与状态保持时间的关系进行优化.
19新型非易失存储器性能和寿命优化关键技术研究文献[72]利用写延迟和状态保持时间之间的动态权衡关系设计了一种名为AmnesicCache的NVM文件cache管理策略.
与传统的cache管理策略选择一个数据块进行替换不同,AmnesicCache通过数据失效实现数据更新.
在传统的cache管理策略中,写入数据的状态保持时间是无穷的,同时根据对数据在未来被重用情况的预测选择被淘汰数据.
而在AmnesicCache中,首先会根据数据在未来是否会被重用选择状态保持时间适当的写入模式,然后允许不再重用的数据在一段时间后自然失效,从而实现数据的更新.
在传统cache中,性能的评价指标是命中率.
这是基于一个基本的假设:传统cache的写延迟是确定的.
而在AmnesicCache中,可以通过缩短写延迟提升性能,但相应地,数据的状态保持时间会缩短,因此命中率可能会降低.
尽管如此,这种数据失效依然可以带来收益:数据自然失效机制可以淘汰不需要的数据块,从而为新数据腾出空间.
为了预测数据合理的遗忘时间点,AmnesicCache使用inter-referencegap(IRG)模型估算数据的生命周期[73].
实验结果表明,与基于LRU的cache管理策略相比,AmnesicCache可以实现平均30%的写性能提升,同时降低37%的能耗.
2.
5.
3动态可调节的统一存储架构NVM存储器具有存储密度高、支持字节寻址的特点,因此非常适合作为大容量内存使用;另一方面,非常适合作为大容量持久性存储器.
在使用NVM存储器的计算系统中,程序员可以实现直接将内存中的数据永久化存储而不必将其写入磁盘中.
因此,NVM存储器非常适合构建统一存储结构,同时作为内存和永久性存储器工作.
永久性存储需要保证存储的一致性和持久性,这对内存系统的设计提出了新的要求.
为了实现一致性,需要将多个写请求顺序执行;而持久性则要求存储单元具有非易失性,为此需要在一定程度上牺牲写速度.
在统一存储架构的设计过程中,若忽视了这两种使用场景的需求,则无法得到最优的效果.
针对这一问题,R.
-S.
Liu等人提出了一种名为NVMDuet的统一存储架构[74].
该架构基于MLCPCM实现,在保证永久性存储对一致性和持久性的需求的同时,同时还可以在作为内存工作时降低这些方面的要求.
在NVMDuet中,并不需要对PCM存储单元的工作状态(内存或永久性存储)进行干预,PCM存储单元的工作模式选择对于应用是透明的.
这样,NVMDuet具有高度的灵活性和20第2章相关研究工作综述适应性,可以为不同应用场景提供适当的内存和永久性存储划分.
NVMDuet提供了新的控制接口,使内存控制器可以为PCM存储器选择不同的工作模式.
该接口可以由操作系统的内存控制模块调用,从而实现与应用的隔离.
同时,NVMDuet提供了一个新的内存调度器,可以在充分挖掘地址流中bank级并行性的同时,保证永久性存储器中的数据更新与不同应用提交写请求的顺序保持一致.
此外,NVMDuet还支持根据目标地址的工作模式选择不同的写模式:一方面,为永久性存储单元选择高延迟写模式以保证存储单元的持久性;另一方面,为作为内存的存储单元选择低延迟写模式以保证写性能.
为了降低刷新操作的开销,NVMDuet中包含智能刷新策略,可以识别存储单元的工作模式并为低状态保持时间的存储单元定期发送刷新操作.
实验结果表明,NVMDuet可使系统性能平均提升1.
32倍.
2.
5.
4大容量固态存储器与MLCPCM类似,在MLCNANDFlash中也存在写延迟与状态保持时间的动态权衡关系[75]:即Flash存储器可以通过缩短写操作的延迟提升写访问的性能,但是存储单元的状态保持时间也会相应地缩短.
利用MLCNANDFlash的这一特性,研究人员提出了一系列提升固态存储器性能或使用寿命的解决方案.
Y.
Pan等人提出了一种名为Quasi-nonvolatileSSD的技术,通过降低MLCNANDFlash存储单元的状态保持时间提升写访问性能[76].
为了避免由于状态保持时间降低而造成数据丢失,需要对存储单元定期进行刷新操作.
此外,为了将刷新操作对正常I/O访问请求的影响降至最低,Quasi-nonvolatileSSD在调度算法中做了多项优化设计.
例如,提升普通I/O请求的优先级,同时优先选择在SSD空闲时执行刷新操作等.
L.
Shi等人提出了一种用于提升MLCNANDFlash存储器写寿命和写性能的技术[77].
基于Flash的错误模型,该技术对Flash存储单元生命周期的不同阶段做了相应的优化.
对于处于生命周期早期的存储单元,该技术通过适度牺牲写寿命和状态保持时间提升写操作性能.
对于处于生命周期中段的存储单元,该技术针对不同类型的存储区域采用不同的写策略:对于写访问热点区域,通过牺牲写寿命和状态保持时间提升写操作性能;而对于非写访问热点区域,通过降低写操作性能提升存储单元的写寿命和状态保持时间.
而对于处于21新型非易失存储器性能和寿命优化关键技术研究生命周期末期的存储单元,该技术通过降低写操作的性能换取存储单元寿命的延长.
同时,该技术中还包含了优化过的刷新策略,只针对状态保持时间即将结束的存储单元进行刷新.
R.
-S.
Liu等人通过对数据中心应用的分析,发现对于绝大多数应用,热点数据需要被频繁地更新,因此存储这些数据的存储单元只需要几天的状态保持时间,而这一状态保持时间远低于典型NANDFlash存储器的状态保持时间[75].
基于这一发现,R.
-S.
Liu等人提出了一种动态写模式选择策略,通过牺牲存储热点数据的存储单元的状态保持时间,提升其写入速度.
同时,为了处理由于状态保持时间缩短造成的少量误码,还需要使用简化的ECC技术保证数据的正确性[78].
2.
6本章小结本章对基于NVM材料自身动态权衡关系的相关优化工作进行了梳理和总结.
从中可以发现,尽管现有优化工作中已经开始考虑对器件自身特性加以利用,但是这些工作中还存在着如下问题:软硬件开销大在利用存储器件自身动态权衡特性进行优化的过程中,尽管不需要使用缓冲区,但仍需要较多的硬件资源用于存储辅助信息,或是利用软件进行模式调节,容易造成资源浪费或性能降低.
优化目标单一在现有工作中,往往是针对性能或寿命进行单一目标的优化,这样尽管可以在一个维度上获得较为理想的优化效果,但可能造成其他维度的损失,无法满足实际系统的需求.
对系统改动幅度大,难以与现有系统集成现有工作的中提出的方法往往需要同时对硬件结构、操作系统或编译器进行必要的改进.
这样做尽管可以达到良好的优化效果,但是在实际系统中,对系统结构大规模的修改往往会带来稳定性和可靠性方面的隐患,因此这类方法在实际应用过程中面临很大挑战.
未能对应用行为特征进行深入挖掘利用现有优化工作虽然考虑了对部分应用行为特征加以利用,但是尚未对应用特征及其变化进行深入的分析,因而无法真正利用真实系统中多变应用行为特征对系统进行优化.
针对上述问题,本文以通用系统中MLCPCM主存储器为例,介绍了如何22第2章相关研究工作综述通过深入挖掘应用行为特征并将其与器件自身动态权衡特性相结合,在避免大规模改动系统结构的前提下最终实现系统性能与器件寿命的协同优化.
23新型非易失存储器性能和寿命优化关键技术研究24第3章MLCPCM存储器的寿命与性能平衡优化研究第3章MLCPCM存储器的寿命与性能平衡优化研究3.
1概述在DRAM主存储器的众多替代者当中,相变存储器(PhaseChangeMemory,PCM)技术被认为是一种极具潜力的替代方案.
与DRAM相比,PCM具有集成密度高、可扩展性高、静态功耗低、非易失等优势.
此外,PCM属于一种阻值存储器,即采用不用的电阻值记录不同数据,这一特性使得PCM可以进一步提升存储容量.
例如,通过对PCM存储单元的电阻域进行细粒度的划分,可以实现在一个PCM存储单元中存储多于两个逻辑值.
采用这一技术的PCM存储器被称为多层PCM存储器(MultiLevelCellPCM,MLCPCM).
与单层PCM存储器(SingleLevelCellPCM,SLCPCM)相比,尽管MLCPCM在存储容量上具有优势,但是其也存在不足之处:由于存在阻值漂移问题,MLCPCM存储单元的状态保持时间大幅缩短.
因此,MLCPCM存储器需要定期执行刷新操作(刷新频率低于DRAM).
材料学研究发现,写操作的精度会影响MLCPCM存储单元的状态保持时间:若采用高精度的写操作,即在一次写操作中使用更多的SET操作,MLCPCM存储单元的状态保持时间会更长,但写操作的延迟也会增加;相反,若采用低精度的写操作,即在一次写操作中使用较少的SET操作,虽然写操作的延迟会降低,但是MLCPCM存储单元的状态保持时间也会缩短.
这一特性构成了MLCPCM技术中的一个权衡关系,即写延迟与状态保持时间之间的权衡关系.
在2.
2.
3节中,我们详细介绍了这一权衡关系并计算了相关参数.
根据我们的模型,采用7个SET操作的写操作可使MLCPCM存储单元的状态保持时间达到3054.
9秒;而采用包含3个SET操作的写操作,MLCPCM存储单元的状态保持时间仅为2.
01秒.
在一个采用MLCPCM主存储的系统中,有两种基本的静态写策略可供选择:全局使用"长延迟-长状态保持时间"写操作或全局使用"短延迟-短状态保持时间"写操作.
但是,这两种静态策略都有着无法克服的缺陷:在第一种策略中,系统性能会因过长的写延迟而大幅降低;而在第二种策略中,尽管系统性能得到了保障,但由于MLCPCM主存需要进行刷新操作,过低的状态保25新型非易失存储器性能和寿命优化关键技术研究持时间会导致刷新操作过于频繁,造成MLCPCM主存的使用寿命大幅降低.
在本章中,我们针对上述问题提出了一种提出了一种混合写策略,该策略在保留上述两种静态写策略优点的同时,降低了其劣势对于系统的影响.
通过对典型应用的写访存特征进行分析,我们发现:由于程序访存具有局部性,在一段时间内只有少量内存区域会被频繁改写(我们将这类区域称为"写热点区域").
基于这一发现,我们在末级缓存(LastLevelCache,LLC)和内存控制器(MemoryController,MC)之间添加了一个名为"区域状态保持时间监视器"(RegionRetentionMonitor,RRM)的结构.
RRM可以动态识别当前的"写访问热点区域",并在针对这些区域的写操作中使用"低写延迟-低状态保持时间"写模式.
实验结果表明,RRM以最小的硬件开销和复杂度开销实现了MLCPCM主存储器中性能与器件寿命的平衡.
本章内容组织如下:第3.
2节通过实验数据分析了静态写策略中存在的问题,并阐述了本项研究的思路;第3.
3节详细介绍了RRM的结构和工作流程;第3.
4节介绍了本项研究中所采用的评估方法和实验环境;第3.
5节通过全面的实验对RRM的性能进行了验证,并对RRM中关键参数的取值对于系统的影响进行了定量分析;第3.
6节对本章研究内容进行了小结.
3.
2研究动机在本节中,我们首先分析了MLCPCM静态写策略在系统性能和器件寿命方面存在的问题.
然后,我们讨论了现有技术不适用于MLCPCM主存储器的原因.
最后,我们利用实验数据论证了针对平衡MLCPCM主存储器性能与使用寿命平衡问题设计纯硬件解决方案的可能性.
3.
2.
1静态写策略性能与器件寿命评估在2.
2.
3节中,我们介绍了写操作中SET操作的数量如何影响写操作的延迟以及MLCPCM存储单元的状态保持时间.
而写操作的延迟和存储单元状态保持时间又会进一步影响系统的性能与MLCPCM主存储器的寿命:系统性能MLCPCM写操作中SET操作的数量会从两个相互对立的方面影响系统的性能.
一方面,较少的SET操作使写操作的延迟变短,有利于提升系统性能;另一方面,使用较少的SET操作会使存储单元的状态保持时间缩短,系统为了保证数据的正确性而必须更加频繁地执行26第3章MLCPCM存储器的寿命与性能平衡优化研究刷新操作,由此可能对存储器访问造成影响,降低系统性能.
存储器使用寿命尽管写操作中SET操作的数量对于MLCPCM存储单元的总擦写次数不会造成影响,但是其会对存储器刷新操作的频率造成影响.
由于使用较少的SET操作会使得存储单元状态保持时间缩短,存储器执行刷新操作的频率会更高,而刷新操作等同于写操作,因此MLCPCM存储器的使用寿命会大幅缩短.
对于静态写策略而言,一个很自然的问题是:我们能否通过改变写操作中SET操作的数量,在系统性能和器件使用寿命之间达到平衡为了回答这个问题,我们模拟了一个以MLCPCM作为主存储器的系统(具体设置如表3.
3所示),并基于这个系统评估了写访存操作中SET操作的数量对于系统性能和器件使用寿命的影响.
需要说明的是,为了简化实验,我们在实验中并未考虑刷新操作对于系统性能的影响.
因此,当使用包含较少SET操作(例如:3个或4个SET操作)的写操作时,系统的实际性能会略微低于我们的实验结果.
图3.
1采用静态写策略的系统性能比较Figure3.
1Theperformancecomparisonofstaticwriteschemes.
实验结果如图3.
1至图3.
3所示,从图中我们可以发现:写操作中SET操作的数量与系统性能成反比关系(图3.
1).
例如,当写操作中包含3个SET操作时,系统性能明显优于其他对照组.
与次优组(使用4个SET操作的写操作)相比,系统性能平均提升了15.
6%.
在执行libquantum时,与使用包含7个SET的写操作的系统相比,使用包含3个SET的写操作的系统性能提升了90.
1%.
尽管使用更少的SET有利于提升系统性能,但是其对于存储器使用寿27新型非易失存储器性能和寿命优化关键技术研究图3.
2采用静态写策略的系统存储器寿命比较Figure3.
2Thememorylifetimecomparisonofstaticwriteschemes.
图3.
3采用静态写策略的系统中存储器磨损原因分析Figure3.
3Thenormalizedwearintroducedbywriteandrefreshoperationsofstaticwriteschemes.
命的影响不可忽视(图3.
2).
对于一个采用包含3个SET的写操作的系统而言,即使仅考虑刷新操作的影响,其存储器使用寿命依然仅有0.
317年,这对于实际系统而言是无法接受的.
写操作中SET操作的数量会影响存储单元老化原因的构成(图3.
3).
当每个写操作中包含7个SET操作时,由于刷新操作的间隔很长,因此造成存储单元老化的主要原因是写操作.
而随着写操作中SET操作数量的减少,写操作和刷新操作造成的存储单元磨损都会加剧:一方面,由于写操作延迟降低,因此系统性能相应地提升,单位时间内执行的写28第3章MLCPCM存储器的寿命与性能平衡优化研究访存操作数量也会提升,因而写操作造成的存储单元磨损会加剧;另一方面,随着SET操作数量的降低,存储单元的状态保持时间会相应地缩短,因此刷新操作对于存储单元老化的影响逐渐升高.
从图中可以看出,当写操作中包含3个或4个SET操作时,刷新操作将成为存储单元老化的主要原因.
在理想情况下,对于一个采用MLCPCM作为主存储器的系统,我们希望其性能可以达到图3.
2中采用3个SET的写操作的系统的水平,同时存储器使用寿命依然能够达到或接近采用包含7个SET的写操作时的水平.
显然,静态写策略是难以达到这一要求的.
3.
2.
2现有技术分析在2.
5节中,我们介绍了一些利用MLCPCM中写延迟与状态保持时间之间的动态权衡关系对其性能或寿命进行优化的方案.
但是,这些解决方案都是针对特殊应用场景,无法应用于基于MLCPCM主存储器的通用计算系统中.
在本节中,我们将对2.
5节中介绍的几项方案做进一步分析,归纳其与MLCPCM主存储器不相适应之处.
在CDDW[46]、WMALT[79]和MMAS[80]中,编译器利用有向无环图(Di-rectedAcyclicGraph,DAG)对嵌入式系统的程序进行分析,以此估算程序中数据成员的生命周期,针对不同生命周期的数据成员使用不同延迟的写操作,以达到平衡MLCPCM存储器性能与使用寿命的目的.
尽管这一方法很巧妙,但是其局限性也很明显:首先,这类方法只适用于可以用DAG描述的静态程序,而不适用于采用了动态链接的程序;其次,这类方法无法在使用cache的系统中工作,因为cache的过滤效应会使得对MLCPCM主存储器的写操作行为特征与程序中的读写操作特征不同;第三,操作系统中的内存管理行为会使得对主存储器的访问行为特征进一步发生变化,使得基于DAG的分析结果失效.
由于cache和操作系统都是通用计算系统中不可或缺的组成部分,同时动态链接程序也被广泛应用于通用计算系统中,因此这类基于DAG的方法并不适用于通用计算系统.
文献[81]基于MLCPCM提出了一种名为AmnesicCache的文件缓冲器.
该缓冲器工作于主存储器与大规模存储设备(如SSD或硬盘)之间.
AmnesicCache的主要设计目标是缩短MLCPCM的访问延迟,其首先利用包含较少29新型非易失存储器性能和寿命优化关键技术研究SET的写操作将文件写入缓冲器,这样就避免了文件初次装入时由于过长的写延迟造成系统性能降低.
然后,AmnesicCache对数据的访问频率进行统计,并使用包含较多SET的写操作对频繁读取的数据进行刷新,这样就避免了对需要长时间驻留在缓冲中的数据进行频繁刷新操作,从而在一定程度上缓解了MLCPCM过快老化的问题.
但是,AmnesicCache同样不适用于基于MLCPCM主存储器的通用计算系统:首先,AmnesicCache需要配合辅助存储器工作,以便其在存储单元状态保持时间结束后将数据写回;其次,AmnesicCache的写策略会向同一个区域连续发送多个写操作,从而加速MLCPCM存储的局部老化;第三,AmnesicCache需要大量存储空间用于存储所有区块的访问历史记录.
AmnesicCache非常适合作为文件缓冲器,因为可以为MLCPCM搭配大容量SSD作为辅助存储器,而且由于并不需要对MLCPCM频繁进行写操作,因此其寿命问题并不突出.
但是,对于以MLCPCM作为主存储器的计算系统而言,上述三个特性会严重制约AmnesicCache的可用性.
与AmnesicCache类似,文献[82]提出了一种采用"低延迟低状态保持时间写模式"加速MLCNANDFlash写访问的技术.
但是,该技术同样需要复杂的状态保持时间跟踪机制.
由于内存控制器对硬件开销和延迟更加敏感,因此该技术同样不适用于MLCPCM主存储器.
文献[83]提出了一种名为NVMDuet的技术,用于实现基于PCM的主存储器和持久性存储统一架构.
在NVMDuet中,PCM存储单元可动态地被配置为主存储器或持久性存储器.
由于不同的用途对于延迟的容忍度不同,因此NVMDuet对不同用途的存储单元使用不同的写模式:当存储单元被设置为主存储器时,对其所有的写访问操作都将采用"低延迟低状态保持时间"模式;而当存储单元作为持久性存储器时,对其所有的写访问操作都将采用"高延迟高状态保持时间"模式.
但是,由于一个程序的访存行为在空间和时间上并不是均匀分布的,而NVMDuet在一个程序的执行过程中仅可为一个存储单元选择一种模式,因此NVMDuet无法利用这一特性.
此外,NVMDuet需要对操作系统进行修改,因此也无法与现有商用操作系统兼容.
表3.
1对上述工作做了详细比较,表中蓝色部分表示满足基于MLCPCM主存储器的通用计算系统要求的特性,而红色部分则表示不满足的特性.
从表中我们可以看出,之前的解决方案均无法满足全部要求.
因此,为了在基于30第3章MLCPCM存储器的寿命与性能平衡优化研究表3.
1相关工作比较Table3.
1Thequalitativelycomparisonoftheschemesusingthewritelatencyvs.
retentiontrade-offinMLCPCM.
SchemesCDDW[46]WMALT[79]MMAS[80]AmnesicNVMDuet[83]Cache[81]目标系统嵌入式系统嵌入式系统嵌入式系统文件缓存器通用计算系统动态链接程序不支持不支持不支持支持支持辅助存储不需要不需要不需要需要不需要Cache不支持不支持不支持N/A支持通用操作系统不兼容不兼容不兼容N/A不兼容兼容性硬件开销低低高高低细粒度管理支持支持支持支持不支持表3.
2典型应用中写访存请求空间分布分析(以GemsFDTD为例)Table3.
2ThedetailedtemporalandspacialwritebehaviorsofGemsFDTD.
BenchmarkGemsFDTDAverageWriteInterval#Regions%ofRegions#Writes%ofTotalWrites<106ns440.
0%1277K0.
9%106nsto107ns228651.
1%109862K76.
64%107nsto108ns55690.
3%23314K15.
6%108nsto1s9790.
0%3024K2.
1%1sto2s120210.
6%3044.
9K2.
1%writtenonce38260.
2%3824K2.
7%neverwritten205184897.
8%MLCPCM主存储器的通用计算系统中实现系统性能和存储器寿命的平衡,我们需要一种新的解决方案.
3.
2.
3基于应用特性分析的纯硬件解决方案设计为了分析程序的访存行为,我们在一个模拟基准系统上以4KB为统计粒度统计了程序的访存信息.
该基准系统使用包含7个SET的写操作,其具体配置参见3.
4节.
表3.
2中展示了对GemsFDTD的统计数据,从中我们发现,在一段时间内,绝大多数写访存操作(97.
3%)是针对一小部分存储空间的(约2%).
我们将这些写访问集中的区域称为"写访问热点区域"(Hot-WrittenMemoryRegions),将其余区域称为"写访问非热点区域"(Cold-WrittenMemoryRegions).
这样,我们可以为不同类型的区域选择不同的写模式:对于写访问热点区域,我们可以采用快速但状态保持时间短的写模式(简称"快31新型非易失存储器性能和寿命优化关键技术研究写",例如:包含3个SET的写模式);而对于写访问非热点区域,我们则采用长延迟但状态保持时间更长的写模式(简称"慢写",例如:包含7个SET的写模式).
这样,由于多数写访问使用快写模式完成,主存储器的性能将得到显著提升.
同时,由于写访问热点区域的数量较少,因此与全部使用快写的系统相比,刷新操作的频率将会大幅降低,这有助于提升存储器的使用寿命.
基于这一思路,我们提出了一种名为"区域状态保持时间监视器"(RegionRetentionMonitor,RRM)的技术,用于在基于MLCPCM主存储器的通用计算系统中实现性能与器件寿命的平衡.
在下一节中,我们将详细介绍这项技术.
3.
3RRM基于3.
2节的分析,我们提出了一种名为"区域状态保持时间监视器"(Re-gionRetentionMonitor,RRM)的技术.
RRM可以动态检测写访存操作的目标地址是否为写访问热点区域,对于写访问热点区域,RRM为该写访存操作选择快写模式,对于其他非热点区域,则使用慢写模式.
同时,RRM会记录使用快写模式改写过的内存块,并在其状态保持时间结束之前主动为其发送刷新请求,以保证数据的可靠性.
通过采用这种动态写模式选择机制,RRM可以帮助使用MLCPCM主存储器的系统平衡性能与存储器使用寿命.
在本节中,我们将详细介绍RRM的结构和工作流程.
3.
3.
1RRM概述图3.
4RRM总体结构图Figure3.
4TheoverviewofRRM.
如图3.
4所示,RRM模块位于LLC与内存控制器之间,负责记录LLC的写访问并为写访存操作选择适当的写模式.
出于保持系统的简洁性,在本项研究中,我们仅使用两种写模式:一种是包含3个SET操作的写模式,简称"快写";另一种是包含7个SET操作的写模式,简称"慢写".
此外,RRM还负32第3章MLCPCM存储器的寿命与性能平衡优化研究责为使用快写模式擦写的存储单元主动生成刷新请求,该刷新请求同样使用快写模式,而非全局刷新所用的慢写模式.
为了配合RRM工作,LLC和内存控制器结构需要做相应的调整.
一方面,在LLC和RRM之间需要添加额外的通路.
当写访问请求到达LLC时,LLC向RRM发送LLC写访问登记消息(LLCWriteRegistrationmessage),其中包含写访问的目标地址以及目标地址所在的cacheline是否为"脏块"(即之前被改写且未与内存数据同步的cacheline).
另一方面,内存控制器需要做相应的修改以支持两种不同的写模式,同时内存控制器中需要增加新的RRM刷新请求队列(RRMRefreshQueue)用于存储RRM发出的刷新请求.
RRM内部的存储结构与cache类似,采用多路组相联方式组织.
RRM存储结构包含两个不同的阵列:标签阵列(TagArray)和状态保持时间信息阵列(RetentionInformationArray).
标签阵列用于存储地址信息和可用性信息,状态保持时间信息阵列用于存储支持写模式选择的相关信息.
3.
3.
2RRM输入与输出如图3.
4所示,RRM包含两种输入和两种输出.
两种输入包括LLC写访问登记信息和写访存请求,两种输出指包含写模式的写访存请求和选择性刷新请求.
LLC写访问登记信息与LLC写访问请求类似,除此之外还包含额外信息,用于表示该写访问的目标地址是否为"脏块".
对于每个LLC发出的写访存请求,会首先发送至RRM,由RRM根据其目标地址的类型选择适当的写模式,然后将包含写模式的写访存请求发送至内存控制器.
为了保证内存数据的正确性,RRM还需要生成选择性刷新请求并发送至内存控制器.
33新型非易失存储器性能和寿命优化关键技术研究3.
3.
3RRM记录格式图3.
5RRM记录格式Figure3.
5TheformatofRRMrecord.
在每一条RRM记录中,除了记录一个内存区域的写访问信息外,还存储着用于为该内存区域选择写模式所需的信息.
在本项研究中,我们规定每条RRM记录所对应的内存区域大小为4KB,与操作系统中内存页的大小相同.
如图3.
5所示,每条RRM记录中包含如下信息:Valid(1bit)该字段用于表示该条记录是否可用.
Addr(52bits)该字段用于记录对应内存区域的地址信息(完整的内存地址为64位,内存区域内地址为12位,因此此处的地址为52位).
Hot(1bit)该字段用于表示所对应内存区域是否为写访问热点区域.
当该字段为1时,表示该记录对应的内存区域中的数据将被频繁改写;否则,表示该条记录所对应的内存区域为写访问非热点区域.
Dirty_write_counter(6bits)该字段用于记录对应内存区域中对"脏块"的写访问数量.
需要说明的是,只有对内存区域中"脏块"的写操作才会被记录,这样可以避免流式写访存对于RRM预测精度的影响.
当该字段中的数值达到判定阈值时,Hot字段将被置为1.
Short_retention_vector(64bits)该字段用于记录对应内存区域中的写模式选择结果.
由于每条RRM记录对应于4KB的内存区域,每个cacheline为64B,因此该字段中每个bit位对应于该内存区域中的一个cacheline.
当该字段中的一个bit为1时,表示对应的cacheline在写回内存时需要使用快写模式;否则,表示该cacheline的数据在写回内存时使用慢写模式.
34第3章MLCPCM存储器的寿命与性能平衡优化研究Decay_counter(4bits)该字段为一个4bit循环计数器,用于记录写访存热点区域退化所需要的信息.
3.
3.
4LLC写访问信息记录图3.
6RRM记录LLC写访问请求流程图Figure3.
6TheworkflowofLLCwriteaccessregistration.
"LLC写访问信息登记"是指RRM收集LLC写访问信息的过程.
LLC写访问信息由LLC生成,其中包含写访问的目标地址以及该次写访问的目标cacheline是否为"脏块".
基于这些信息,RRM将依次完成下列操作(如图3.
6所示):LLC写访问检查RRM首先判断该写访问的目标地址是否为"脏块",若目标地址为"脏块",则执行后续操作.
后面我们将详细介绍这样做的原因,并分析去掉这一检查过程对系统的影响.
35新型非易失存储器性能和寿命优化关键技术研究RRM记录查询、替换和初始化这些操作与cache中的典型操作类似.
RRM首先根据LLC写访问信息中的地址查询该条记录是否能够命中一条RRM记录,若无法命中,则为该条LLC写访问信息分配并初始化一条新的RRM记录.
若RRM中没有空记录可以分配,则需要根据LRU规则选择一条RRM记录用于替换.
脏块写访问计数若Dirty_write_counter计数器的值小于写访问热点区域的判定阈值(Hot_threshold),则为计数器加1;若Dirty_write_counter计数器的值达到了Hot_threshold,则将该条RRM记录中的Hot字段写为1.
快写向量置位若当前RRM记录中的Hot字段为1,则将Short_retention_vector中与该LLC写访问目标地址所在cacheline相对应的bit位写为1.
这表示该cacheline在写回内存时将采用快写模式.
需要说明的是,在RRM中,我们仅记录对"脏块"的写访问.
这样做是是为了避免流式写访存对RRM预测准确性的影响.
若将对"非脏块"的写访问也记录在RRM中,那么流式写访存(具有极低的时间局部性,但是空间局部性很强)也可以使内存区域对应的RRM记录中的计数器达到Hot_threshold.
根据3.
2.
3节中的分析,RRM的设计目标是识别写访问时间局部性的内存区域,因此应当避免记录对"非脏块"的写访问.
3.
3.
5RRM记录初始化图3.
7RRM记录项初始化流程图Figure3.
7TheworkflowofRRMentryinitialization.
36第3章MLCPCM存储器的寿命与性能平衡优化研究当一条LLC写访问操作在RRM中没有对应记录时,RRM需要为该写访问分配一条新的记录并初始化.
RRM记录初始化的流程如图3.
7所示.
当RRM收到初始化请求时,会根据目标地址在对应SET中选择一条未使用的记录.
若对应SET中已满,则根据LRU规则选择一个记录进行替换.
对于分配好的记录,RRM对其做如下初始化操作:将valid字段设为1;根据每条RRM记录对应的内存区域大小,从LLC写访问请求目标地址中截取基地址并写入addr_tag字段;将hot计数器设为0;将dirty_write_counter计数器设为0;将short_retention_vector中所有bit位都设为0;将decay_counter计数器设为0.
3.
3.
6RRM记录替换图3.
8RRM记录项替换流程图Figure3.
8TheworkflowofRRMentryreplacement.
根据3.
3.
5节的介绍,当一条新的RRM记录对应的SET已满时,需要在该SET中选择一条记录进行替换.
如图3.
8所示,对于被替换的记录,RRM按如下流程进行替换处理:RRM首先检查该记录的hot字段是否为1;若hot字段为1,则对于short_retention_vector中每个值为1的bit位,RRM将为其对应的cacheline生成慢写刷新请求并发送至内存控制器的刷新请求队列;37新型非易失存储器性能和寿命优化关键技术研究最后,RRM将该条记录的valid字段设为0.
3.
3.
7写访问模式选择图3.
9写访存模式选择流程图Figure3.
9Theworkflowofmemoryaccessmodeselection.
图3.
9中描述的是RRM为写访存操作选择写模式的工作流程.
对于一个发往内存控制器的写访存请求,RRM首先检查该写访存请求能否命中RRM中的一条记录.
若可以命中,且写访存目标地址在Short_retention_vector中所对应的bit位值为1,则为该写访存请求使用快写模式写回;否则为该写访存请求使用慢写模式写回.
38第3章MLCPCM存储器的寿命与性能平衡优化研究3.
3.
8选择性快写刷新图3.
10选择性快写刷新请求生成流程图Figure3.
10Theworkflowofselectiverefreshrequestselection.
图3.
10中展示的是RRM生成选择性快写刷新的工作流程.
在RRM中,每隔2秒会产生一次快写中断.
当快写中断触发时,RRM首先检查各条有效RRM记录中的Hot字段是否为1.
对于每条Hot值为1的RRM记录,RRM为其中所有使用快写模式写回的内存区域生成选择性快写刷新请求,并发送至内存控制器.
与写访存请求不同,我们规定选择性快写刷新具有最高的优先级,因为这些刷新请求对延迟有更严格的要求,需要在0.
01秒内完成.
需要说明的是,RRM并不需要发送全局刷新请求.
每隔3054秒,MLCPCM主存储器内置电路为所有内存区域生成全局刷新请求,并使用慢写模式完成刷新.
39新型非易失存储器性能和寿命优化关键技术研究3.
3.
9写访存热点区域退化机制图3.
11写访存热点区域退化流程图Figure3.
11Theworkflowofhot-regiondecay.
写访存热点区域的退化机制如图3.
11所示.
这里的"退化"是指,之前被识别为写访存热点区域随着时间的推移,其写访问的时间局部性逐渐降低,最终变为写访存非热点区域的过程.
RRM需要识别出这种由"热点"向"非热点"的变化并将对应的RRM记录中Hot字段置为0,从而避免生成不必要的选择性快写刷新导致存储器过快老化.
为了实现这一功能,我们在每条RRM记录中设置了一个4bit的循环计数器decay_counter.
每隔0.
125秒(两次快写中断时间间隔的116),该计数器的值会自动加1.
当一条RRM记录中decay_counter计数器值变为0时,我们检查Dirty_write_counter的值并做如下操作:若Dirty_write_counter的值达到了Hot_threshold,这意味着在上一个快写中断间隔中,该条RRM记录对应的内存区域依然是写访问热点区域.
这时,我们继续将该条记录的Hot字段标记为1,并将Dirty_write_counter的值减半.
若Dirty_write_counter的值小于Hot_threshold,这意味着在上一个快40第3章MLCPCM存储器的寿命与性能平衡优化研究写中断间隔中,该条RRM记录对应的内存区域不再是写访问热点区域.
这时,我们首先将该条记录的Hot字段设置为0.
然后,对于该记录所对应的内存区域中曾经使用快写模式写回的所有cacheline(即Short_retention_vector中对应bit位为1),RRM为其生成一个慢写刷新操作并发送至内存控制器.
最后,将Short_retention_vector中所有为1的bit位改写为0.
3.
3.
10RRM主动性控制在RRM中,Hot_threshold用于控制RRM记录所对应内存区域被判定为写访问热点区域的条件.
该变量是影响RRM主动性的主要因素:若Hot_threshold的值过低,则RRM记录对应的内存区域更容易被判定为写访问热点区域,从而在写访存时更多地使用快写模式,以提升系统性能.
但是,过低的Hot_threshold值会导致系统过度使用快写模式写回,很多非热点区域的写回也将使用快写模式,并由此产生不必要的选择性快写刷新.
这将大幅缩短存储器的使用寿命.
若Hot_threshold的值过高,则会导致部分写访问热点区域无法被及时识别.
这会使系统中更少地使用快写模式,从而导致系统性能降低,但会使存储器使用寿命延长.
如3.
3.
4节中所述,改变Hot_threshold的值可以精确控制RRM的行为.
因此,系统用户可以通过改变Hot_threshold的值调整RRM的主动性,从而实现更高的系统性能或更长的存储器使用寿命.
3.
4实验环境和方法为了测试RRM的性能,我们搭建了一个全系统模拟平台.
该平台通过将GEM5[84]与NVmain[85]进行集成,可以对包含NVM存储器的系统进行时序精确的模拟.
基于这一平台,我们模拟了一个CMP处理器,其参数与目前最新的Inteli5处理器相同,具体参数如表3.
3所示.
在实验中,RRM的存储结构采用24路组相联,每路包含256条记录,每条记录对应4KB的内存区域.
因此,RRM总共可对应与24MB的存储区域,为LLC容量的4倍.
RRM中每条记录的热点区域判定阈值(hot_threshold)为16.
RRM总计需要96KB的存储空间,约为LLC硬件开销的1.
56%.
此外,在3.
5节中,我们还将定量分析RRM41新型非易失存储器性能和寿命优化关键技术研究表3.
3处理器详细配置参数Table3.
3Thedetailconfigurationoftheprocessor.
Frequency2GHz#Cores4CoreArch.
AlphaISA,OoO,8issueL1Cachessplit32KBI/D-cache/core,4-way,8-MSHR2-cyclehitlatencyL2Caches256KB/core,8-way,12-MSHR12-cyclehitlatencyL3Cacheshared6MB,24-way,32-MSHR(LLC)35-cyclehitlatencyRRM4KBentrycoverage,24-way,256sets4-cycleaccesslatencyhot_threshold:16LLCcoveragerate:4*storage:96KB(1.
56%ofLLC)中主要参数(包括:LLC覆盖率,每条RRM记录对应的内存区域大小和热点区域判定阈值)对系统的影响.
表3.
4中介绍了实验中MLCPCM存储器和内存控制器的详细参数.
我们假定每个PCM存储单元的擦写寿命为5*106次,且MLCPCM存储器使用了有效的写分摊(wearleveling)技术(例如start-gap[32]),使得整个PCM存储器的擦写寿命可以达到理论上限的95%.
我们模拟了一个经典的内存控制器,包含4个通道,每个通道对应于存储器中的16个Bank.
同时,MLCPCM存储器中包含了用于生成全局刷新的电路,RRM仅需要为快写模式擦写过的区域生成刷新请求.
为了配合RRM,我们在内存控制器中添加了一个刷新队列(RRMRefreshQueue)用于存储RRM生成的刷新请求.
为了保证RRM生成的刷新请求能够被及时执行,我们规定刷新队列拥有最高的优先级.
由于需要RRM维护刷新的内存区域相对较少,在我们的实验中,我们并未发现RRM生成的刷新请求未能在内存区域状态保持时间结束之前执行的情况.
表3.
5列举了实验中的对照组.
这里Static-N-SETs表示"在所有写操作中使用N个SET操作"的写策略.
在不同的写策略中,全局刷新的间隔不同,例如:Static-3-SETs的全局刷新间隔为2秒,而Static-7-SETs的全局刷新间隔为3054秒.
在使用RRM的系统中,全局刷新间隔为3054秒,内存控制器根据RRM的预测结果为写访存请求动态选择"快写"模式(包含3个SET)或"慢写"42第3章MLCPCM存储器的寿命与性能平衡优化研究表3.
4MLCPCM主存储器相关参数.
Table3.
4TheconfigurationofMLCPCMmainmemory.
MemorySize8GBMemoryFreq.
400MHzBusWidth64-bit#ofChannels4#ofBanks16perchannelRRMRefreshQueue64entriesperchannel,withhighpriorityReadQueue32entriesperchannel,withmiddlepriorityWriteQueue64entriesperchannel,withlowpriorityPagePolicyopenpageRowSize16KBRowBufSize1KBtRCD48cycles(120ns)tCAS1cycle(2.
5ns)tFAW50nstWP(writepulsetime)3-SETs-Writes:220cycles(550ns);4-SETs-Writes:280cycles(700ns);5-SETs-Writes:340cycles(850ns);6-SETs-Writes:400cycles(1000ns);7-SETs-Writes:460cycles(1150ns).
Endurance5*106writesMiscAssuminganeffectivewearlevelingscheme(e.
g.
,[32]),whichmakesthewholememoryachieve95%oftheaveragecelllifetime.
UsingWritePausing[66]technique.
UsingWrite-through(bypassingrowbuffer)模式(包含7个SET).
需要说明的是,为了简化实验,我们并未模拟全局刷新对系统性能的影响.
对于全局刷新间隔较长的写策略(例如:Static-7-SETs,Static-6-SETs,Static-5-SETs和RRM),由于全局刷新延迟远小于全局刷新间隔,因此全局刷新对系统性能的影响可以忽略不计.
但是,对于全局刷新时间比较短的写策略(例如:Static-4-SETs和Static-3-SETs),全局刷新对系统性能的影响就无法被忽略.
因此,在3.
5中,对于基于Static-3-SETs和Static-4-SETs写策略的系统,其实际性能要低于实验数据.
在RRM中,我们详细模拟了RRM主动生成的刷新操作对于系统性能的影响.
在表3.
6中,我们列举了实验中所用的9个测试程序,所有测试程序均来自测试程序集SPEC2006[86].
我们在实验中使用了单一程序和混合程序对系统43新型非易失存储器性能和寿命优化关键技术研究表3.
5实验对照组列表Table3.
5Thesimulatedschemes.
Static-7-SETsgloballyusing7-SETs-Writes,globalrefreshinevery3054seconds.
Static-6-SETsgloballyusing6-SETs-Writes,globalrefreshinevery991seconds.
Static-5-SETsgloballyusing5-SETs-Writes,globalrefreshinevery104seconds.
Static-4-SETsgloballyusing4-SETs-Writes,globalrefreshinevery24seconds.
Static-3-SETsgloballyusing3-SETs-Writes,globalrefreshinevery2seconds.
RRMourproposedscheme,selectivelyusing3-SETs-Writesand7-SETs-Writes,globalrefreshinevery3054seconds(using7-SETs-Writes).
进行测试,每次测试模拟时间长度为5秒.
为了获得足够的负载压力,我们在每次单一程序测试中同时运行了4份相同的程序,在每次混合程序测试中则同时运行了4个不同的测试程序.
表3.
6实验测试用例Table3.
6Workloadfortheexperiments.
WorkloadMPKIWorkloadMPKIbwave11.
69GemsFDTD26.
56hmmer2.
84lbm55.
15leslie3d10.
46libquantum52.
07mcf73.
42milc34.
40zeusmp7.
64MIX_1mcf+bwave+zeusmp+milcMIX_2GemsFDTD+libquantum+lbm+leslie3d3.
5实验结果和分析为了评估RRM的有效性,在本节中,我们从不同角度对RRM和其他静态写策略进行了对比,包括系统性能比较、存储器使用寿命比较、存储器老化原因分析和存储器能耗成分分析等.
此外,我们还分析了RRM中关键参数的取值对系统的影响.
44第3章MLCPCM存储器的寿命与性能平衡优化研究3.
5.
1系统性能我们使用IPC(InstructionsPerCycle)作为系统性能评价指标.
如图3.
12所示,与Static-7-SETs相比,采用RRM的系统在性能方面有大幅度的提升,性能平均提升幅度为62.
0%,其中在运行Mix_2时性能提升幅度达到64.
1%.
尽管RRM无法使系统性能达到Static-3-SETs的水平,但是其性能要高于Static-4-SETs).
需要说明的是,如我们在3.
4节中所述,由于Static-3-SETs的实际性能比实验数据要更低,因此实际上RRM与Static-3-SETs的性能差距比模拟实验结果要更小一些.
图3.
12系统性能比较Figure3.
12Thecomparisonofsystemperformance.
3.
5.
2存储器寿命如图3.
13所示,与Static-3-SETs和Static-4-SETs相比,RRM可以使存储器寿命得到大幅提升.
这是因为RRM仅需要为少量写访问热点区域频繁发送刷新操作,而Static-3-SETs和Static-4-SETs则需要为所有存储单元频繁发送刷新操作.
另一方面,与Static-7-SETs相比,采用RRM的系统中存储器使用寿命低39.
8%.
这是因为RRM使系统性能更高,这样在相同时间内执行的指令和完成的写访存操作会更多.
尽管RRM生成额外的刷新操作,但是这并不会对存储器使用寿命早晨很大影响.
在3.
5.
3节中,我们将通过数据来证明这一点.
3.
5.
3存储器老化原因分析通过对实验数据的挖掘,我们定量分析了存储器老化的原因.
图3.
14展示了相同时间内采用不同写策略的系统中存储器老化情况分析结果,其中包括45新型非易失存储器性能和寿命优化关键技术研究图3.
13存储器使用寿命比较Figure3.
13Thecomparisonofmemorylifetime.
了不同类型的写操作和刷新操作对存储器老化的影响.
从图中我们可以看出,在静态写策略中,随着写操作中SET操作数量的增长,刷新操作对存储器老化的影响逐渐降低.
其中,在Static-3-SETs和Static-4-SETs中,刷新操作成为导致存储器老化的主要因素.
在RRM中,包含两种刷新操作:一种是由RRM主动生成的刷新操作,采用快写模式;另一种是由MLCPCM存储器内置电路生成的全局刷新操作,采用慢写模式.
从图3.
14中可以看出,两种刷新操作对于存储器老化的影响都非常有限.
这是因为RRM准确地识别了写访存热点区域,使得需要频繁刷新的存储区域在整个存储器中只占很小的比例.
图3.
14存储器老化原因分析Figure3.
14Theweardistributionwithinthesameamountoftime.
46第3章MLCPCM存储器的寿命与性能平衡优化研究3.
5.
4存储器能耗分析我们基于表2.
1中的参数计算了PCM存储器的能耗.
如图3.
15所示,在使用静态写策略的系统中,随着写操作中包含的SET操作数量的减少,刷新操作的时间间隔逐渐降低,由刷新操作消耗的能量大幅增加.
在使用Static-3-SETs和Static-4-SETs的系统中,存储器能耗中的主要成分为刷新操作消耗的能量.
这意味着从能耗的角度来看,这两种低延迟静态写策略并不实用.
而在使用RRM的系统中,刷新操作消耗的能量显著降低.
同时,在使用RRM的系统中,存储器总能耗也较为合理,仅比使用Static-7-SETs的系统中存储器能耗高32.
8%.
其原因与3.
5.
3节中的分析类似,与采用Static-7-SETs的系统相比,采用RRM的系统性能更高,因此执行了更多的访存操作.
图3.
15存储器能耗分析Figure3.
15Thebreakdownofmemoryenergyconsumption.
3.
5.
5判定阈值对系统的影响根据3.
3.
4节中的介绍,我们可以通过改变判定阈值hot_threshold的值对RRM的主动性进行控制.
在本节中,我们通过实验数据分析了不同hot_threshold取值对于系统的影响.
我们比较了hot_threshold取值分别为8、16、32和64时的系统性能和存储器使用寿命.
如图3.
16和3.
17所示,随着hot_threshold取值的增长,系统性能逐渐降低,同时存储器使用寿命逐渐降低.
综合考虑3.
5.
1节和3.
5.
2节中对系统性能和存储器使用寿命的分析结果,我们认为hot_threshold取值为16是一个适中的选择.
但是,对于需要更高系统性能同时不关注存储器寿命的用户,可以选择更低hot_threshold值.
根据我们的47新型非易失存储器性能和寿命优化关键技术研究模拟实验数据,当hot_threshold取值由16将为8时,系统性能可以提升9.
0%,仅比采用Static-3-SETs的系统低3.
6%.
同时,存储器使用寿命依然可以达到5.
78年.
另一方面,若用户希望存储器的使用寿命更长,可以提高hot_threshold的值(例如:32或64).
但是这样的设置将使系统性能降低.
图3.
16判定阈值对系统性能的影响Figure3.
16ThesystemperformanceimpactofRRMthreshold.
图3.
17判定阈值对存储器使用寿命的影响Figure3.
17ThememorylifetimeimpactofRRMthreshold.
3.
5.
6RRM覆盖率对系统的影响RRM覆盖率是指:RRM中所有记录所对应的存储空间大小与LLC容量的比值.
更高的RRM覆盖率使得RRM可以存储更多的记录,这将提升RRM的有效性.
但是,提升RRM覆盖率也将使RRM的硬件开销显著提升.
在本节中,我们比较了不同RRM覆盖率对系统的影响.
在不同对照组中,我们仅48第3章MLCPCM存储器的寿命与性能平衡优化研究表3.
7不同RRM覆盖率配置的硬件开销Table3.
7RRMconfigurationfordifferentLLCcoverage.
LLCCoverageConfigurationOverhead2*128sets,24ways48KB,0.
78%ofLLC4*(default)256sets,24ways96KB,1.
56%ofLLC8*512sets,24ways192KB,3.
12%ofLLC16*1024sets,24ways384KB,6.
25%ofLLC通过改变RRM存储结构中每路记录的数量改变RRM覆盖率,而其他参数保持不变.
如图3.
18所示,当RRM覆盖率为2*时,系统性能比RRM覆盖率为4*时平均性能降低了64.
0%.
这是因为,当RRM覆盖率降低时,RRM中发生记录替换的频率将提高,这使得RRM记录所对应的存储区域被判定为写访问热点区域的概率降低.
此时,采用快写模式完成的写访存操作数量减少,使系统性能降低.
但是,当RRM覆盖率由4*提升至8*和16*时,系统性能和存储器使用寿命的变化幅度很小(如图3.
19).
这意味着,对于大多数应用而言,4*是一个合理的RRM覆盖率取值,更高的RRM覆盖率除了使硬件开销快速增长外,对于系统性能的改善作用非常有限.
需要说明的是,当RRM覆盖率为4*时,RRM的存储开销仅相当于LLC的1.
56%(如表3.
7所示).
考虑到此时系统性能和存储器使用寿命方面的改善,我们认为RRM覆盖率为4*时,系统性能、存储器寿命和硬件开销可以达到平衡.
图3.
18RRM覆盖率对系统性能的影响Figure3.
18ThesystemperformanceimpactofLLCcoverage.
49新型非易失存储器性能和寿命优化关键技术研究图3.
19RRM覆盖率对存储器使用寿命的影响Figure3.
19ThememorylifetimeimpactofLLCcoverage.
3.
5.
7单条RRM记录对应存储区域容量对系统的影响在RRM中,每条RRM记录存储了一定大小的存储区域中的写操作记录.
在我们的实验中,默认每条RRM记录对应于4KB大小的存储区域.
为了分析这一配置项对于系统的影响,我们比较了每条RRM记录对应不同大小存储区域时,系统性能和存储器使用寿命的变化情况.
如图3.
20所示,当单条RRM记录对应区域为2KB时,系统性能要低于对应区域更大时的性能.
这是因为当每条RRM记录对应区域变小时,该条记录中dirtywrite数量增长的速度将降低,这使得该条记录所对应的存储区域被识别为写访问热点区域的概率将大幅降低,系统中使用快写的次数将减少.
另一方面,每条RRM记录对应的存储区域大小为4KB、8KB或16KB时,系统的性能和存储器使用寿命的变化幅度并不大(如图3.
21).
这是因为,在绝大多数使用段页式内存管理的计算系统中,内存页的大小为4KB.
当每条RRM记录对应的存储区域大于4KB(如8KB或16KB)时,RRM记录会对应于不连续的逻辑内存页,由于不同的逻辑内存页的访问特征不同,这将降低RRM的准确性.
3.
6本章小结在本章中,我们通过实验数据分析了典型应用中写操作的空间分布具有高度的不均匀性,即在一段时间内大部分写操作集中于少量内存区域中.
基于这一特性,我们提出了一种名为"区域状态保持时间监视器"(RRM)的技术,50第3章MLCPCM存储器的寿命与性能平衡优化研究图3.
20单条RRM记录对应的存储区域容量对系统性能的影响Figure3.
20ThesystemperformanceimpactofRRMentrycoverage.
图3.
21单条RRM记录对应的存储区域容量对系统性能的影响ThememorylifetimeimpactofRRMentrycoverage.
该技术可以自动识别一个内存写访问操作的目标地址是否属于写访问热点区域,并为其选择适当的写模式.
RRM包含两种写模式:一种称为"快写",其写延迟低,但状态保持时间短;另一种称为"慢写",其写延迟高,但是状态保持时间长.
对于写访问热点区域,RRM将采用快写,而对于其他内存区域,RRM将使用慢写.
同时,为了保证数据的可靠性,RRM会记录使用快写进行写入的内存区域,并在其状态保持时间结束前为其主动生成刷新请求.
实验结果表明,与一个采用全局慢写的系统相比,RRM可使系统性能平均提升61.
0%,仅比采用全局快写的系统低10.
0%.
同时,RRM可使系统中的MLCPCM存储器的平均使用寿命达到6.
4年,而采用全局慢写和全局快写的系统中,MLCPCM存储器的平均使用寿命分别为10.
6年和0.
3年.
从上述实验结果可以看出,RRM很好地平衡了系统性能与MLCPCM存储器的使用寿51新型非易失存储器性能和寿命优化关键技术研究命.
此外,通过修改RRM的参数,系统性能还可以进一步提升,平均仅比使用全局快写的系统低3.
5%,而此时MLCPCM存储器的平均使用寿命依然可以达到5.
78年.
52第4章MLCPCM存储器的性能优化研究第4章MLCPCM存储器的性能优化研究4.
1概述相变存储器(PhaseChangeMemory)属于阻值存储器的一种[20,27,62,87],使用不同的电阻值表示数据.
由于其具有集成度高和非易失的特点,PCM被认为是DRAM的潜在替代者之一[20,25,27].
此外,通过对存储单元的电阻值进行精确控制,PCM可以在一个存储单元中存储多个逻辑bit.
这种PCM的增强技术被称为多层(Multi-LevelCell,MLC)PCM技术.
但是,为了精确控制存储单元的电阻值,MLCPCM需要采用基于多次迭代的写模型.
这使得MLCPCM的写访问性能显著降低.
如第3章所述,提升MLCPCM写操作性能的其中一种方法是在一次写操作中的迭代次数.
但是,如2.
2.
3节所述,减少写操作中SET的数量会导致存储单元状态保持时间缩短.
例如,如表2.
1所示,若写操作中包含7个SET操作,则存储单元的状态保持时间为3054.
9秒;而当写操作中包含3个SET操作时,存储单元的状态保持时间仅为2.
01秒.
过短的状态保持时间导致存储单元需要频繁刷新,这会大幅缩短存储器使用寿命大幅缩短,同时系统的能耗大幅提升.
在本节中,我们提出了一种名为Quick-and-Dirty(QnD)的技术,该技术可以通过很简单的方法有效提升MLCPCM的写访问性能.
QnD会对内存控制器中的写访存负载进行监测.
当写请求队列中写访存请求过多时,QnD会动态使用"低延迟低状态保持时间"写模式完成写访存操作,同时记录该地址.
当写请求队列中的写访存请求数量低于阈值时,QnD使用"高延迟高状态保持时间"写模式对之前记录的地址进行刷新操作,以提升存储单元的状态保持时间,避免过多的刷新操作.
与其他基于写延迟与状态保持时间之间动态权衡关系的MLCPCM优化技术相比,QnD的实现开销很小,仅需要对内存控制器做少量修改,避免了对系统过多的软硬件修改.
模拟实验证明,与全局采用"高延迟高状态保持时间"写模式的系统相比,QnD可以实现平均30.
9%的系统性能提升,同时存储器使用寿命可达到7.
58年.
53新型非易失存储器性能和寿命优化关键技术研究本章内容组织如下:第4.
2节介绍了本项研究的动机;第4.
3节详细介绍了QnD的结构和工作流程;第4.
4介绍了本项研究的实验平台和研究方法;第4.
5节对实验结果进行了分析;最后在第4.
6节对本章研究做了小结.
4.
2研究动机在本节中,我们首先分析了采用MLCPCM存储器的系统中访存操作的时间分布特性.
然后,我们解释了QnD的设计思路.
我们在基准系统(具体配置参见4.
4节)上获取了运行libquantum时的访存请求时间分布信息.
如图4.
1所示,写访存请求在时间轴上的分布具有高度不均衡性.
例如,在0秒至0.
37秒的时间段内,内存控制器处理了大量读/写访存请求.
但是,在第1.
1秒至1.
2秒,系统中的访存请求数量很低.
此外,内存控制器中还存在相对空闲的时间段(例如1.
23秒至1.
35秒),即内存控制器处理的读/写访存请求数量相对较低.
图4.
1基准系统运行libquantum时的读/写访存请求时间分布Figure4.
1Thetemporaldistributionofreadandwriteaccessinlibquantum.
在基准系统中,全部写访存请求均使用"高延迟高状态保持时间"写模式.
由于写访存延迟较高,因此当程序密集生成写访存请求的时候,写访存请求在写请求队列中的驻留时间会大幅延长,导致内存控制器切换至WriteDrain模式的概率大大提高.
WriteDrain模式是指:当内存控制器的写请求队列中的写请求数量达到一定阈值时,内存控制器会暂停执行所有的读访存请求,优先执行写访问队列中的写访存请求.
对于内存控制器而言,WriteDrain模式会阻塞全部读访存请求的执行,因此对系统性能造成严重的影响.
而这也是全局使用54第4章MLCPCM存储器的性能优化研究高延迟写模式会降低系统性能主要原因,即写访存请求在写请求队列中驻留时间过长会导致WriteDrain发生的次数增加.
如图4.
2所示,当内存控制器处理的访存请求较少时,大量的访存带宽因无法得到有效利用而被浪费.
因此,如何利用空闲的访存带宽分摊写访存请求密集时的负载压力,从而提升系统性能,是一个极具挑战性的问题.
针对这一问题,我们设计了一种名为QnD的轻量级内存控制器优化技术.
如图4.
2所示,我们定义了两种写模式和一种主动刷新操作:QnD写模式(采用"低延迟低状态保持时间"写模式)、普通写模式(采用"高延迟高状态保持时间"写模式)和QnD刷新(采用"高延迟高状态保持时间"写模式).
当系统中访存请求密集时,QnD首先采用QnD写操作完成写访存操作.
这样就避免了过长的写延迟导致WrtieDrain现象的频繁发生造成系统性能降低.
而当系统中访存带宽相对空闲时,QnD使用QnD刷新对之前使用QnD写操作擦写过的存储单元进行修复性刷新,以避免过短的状态保持时间导致频繁刷新造成存储器过快老化.
在下一节中,我们将详细介绍QnD的硬件结构和工作流程.
图4.
2基准系统与QnD写操作时序对比Figure4.
2Motivationalcomparisonbetweenbaselineschemeand"Quick-and-Dirty"(QnD)scheme.
4.
3QnD4.
3.
1QnD概述在本节中,我们将详细介绍QnD技术的硬件结构和工作流程.
图4.
3展示了包含QnD技术的内存控制器的结构.
其中,蓝色的部分表示为了引入QnD技术所新增的硬件结构和数据通路.
在QnD中,主要包含两个硬件结构:QnD记录器(QnDRecorder)和QnD刷新队列(QnDRefreshQueue).
55新型非易失存储器性能和寿命优化关键技术研究图4.
3包含QnD技术的内存控制器结构图Figure4.
3OverviewofmemorycontrollerwithQnDscheme.
QnD记录器负责根据内存控制器的写队列中写请求的数量为将要发出的写访存请求选择写模式.
若选择使用QnD写模式,QnD记录器会保存写访存请求的目标地址.
此外,QnD记录器还负责检查所记录的QnD写操作信息,对于之前使用QnD写操作擦写的存储单元,QnD记录器负责在其状态保持时间结束之前为其生成QnD刷新请求并发送至QnD刷新队列.
QnD刷新队列负责保存QnD记录器生成的刷新请求,并将QnD刷新请求发送至MLCPCM主存储器.
接下来,我们将对QnD记录器和QnD刷新队列的结构和功能进行详细介绍.
4.
3.
2QnD记录器图4.
4QnD记录器结构Figure4.
4ThestructureofQnDrecorder.
理想情况下,QnD记录器应该为以cacheline为粒度保存QnD写操作的信息.
但是,这将占用大量的辅助存储空间.
为了降低QnD记录器的硬件开销,我们规定每条QnD记录对应于8KB的内存空间,其中包含128个cacheline.
56第4章MLCPCM存储器的性能优化研究在4.
5节中,我们会通过实验分析不同存储粒度对QnD的效果和硬件开销的的影响.
如图4.
4所示,QnD记录器的存储结构与cache类似,采用多路组相联方式进行组织.
其中,QnD存储结构可分为tag阵列和QnD信息阵列两个相互独立的部分.
每条QnD记录器记录包含如下数据域:ValidBit用于指示当前记录是否有效.
AddressTag用于存储当前记录所对应内存区域的基地址信息.
blk_QnD_Vector中每个bit对应于当前记录所对应的内存区域中的一个cacheline.
每个bit的值表示所对应的cacheline是否采用QnD写操作擦写:若对应的cacheline使用QnD写操作擦写,则该bit的值为1;若对应的cacheline使用慢写操作擦写,则该bit的值为0.
DecayCounter用于表示该条记录所对应的内存区域第一次采用QnD写操作进行擦写后所过去的时间.
当DecayCounter的值为4'b1111时,表示该记录对应区域中一个cachline的状态保持时间即将结束.
这时,QnD记录器必须立即为该条记录生成QnD刷新请求.
4.
3.
3QnD刷新队列QnD刷新队列负责缓存并向MLCPCM主存储器发送QnD刷新请求.
QnD刷新通过使用"高延迟高状态保持时间"写模式对之前QnD写操作擦写过的存储单元进行刷新,避免了其过短的状态保持时间导致频繁刷新造成存储单元过快老化.
QnD刷新队列的结构与普通的写队列类似,但是有两处不同:一方面,QnD刷新请求中不包含数据域,因为数据之前已经写入刷新操作的目标地址;另一方面,与QnD记录相同,每条QnD刷新请求中也包含一个4bit的DecayCounter字段.
4.
3.
4QnD记录器写模式选择与普通内存控制器只支持一种写模式不同,包含QnD技术的内存控制器支持两种写模式:QnD写模式和慢写模式.
如图4.
5所示,包含QnD技术的内存控制器将按如下规则从"必要性"和"可能性"两方面判断是否生成QnD写请求:"必要性"是指:当前系统中写访存负载压力较大,写操作的性能成为了系统性能的瓶颈,因此需要使用QnD写模式提升系统性能.
在QnD中,使用一个名为QnD_Threshold作为评价写操作负载压力的标准.
当57新型非易失存储器性能和寿命优化关键技术研究图4.
5QnD记录器写模式选择流程图Figure4.
5TheworkflowofwritemodeselectioninQnDrecorder.
内存控制器的写队列中写请求数量超过QnD_Threshold时,则说明当前系统中写访存负载压力较大,需要为当前写请求使用QnD写模式.
"可能性"是指:QnD记录器是否可以保存新生成的QnD写操作信息.
若写操作的目标地址可以在QnD记录器的一条记录中命中,QnD记录器只需要将目标地址在blk_QnD_Vector中对应的bit位置为1,便可以保存该条QnD写请求的信息.
若写请求目标地址未能在QnD记录器中命中,QnD记录器需要为该写请求分配并初始化一条新的QnD记录.
若QnD记录器已满,无法分配新的记录,则该写请求无法使用QnD写模式.
4.
3.
5新建QnD记录当写请求的目标地址未能在QnD记录器有效记录命中时,QnD记录器将为该写请求建立一条新的记录.
新建QnD记录的流程如图4.
6所示.
当QnD记录器收到新建记录请求时,QnD记录器根据目标地址在对应的set中选择一条未使用的条目.
若对应set已满,则QnD记录器建立新记录失败,写请求将采用普通写模式发送.
对于新分配的条目,QnD记录器将对其进行如下初始化操作:将valid字段设置为1.
58第4章MLCPCM存储器的性能优化研究图4.
6QnD记录初始化流程图Figure4.
6TheworkflowofQnDrecorderentryinitialization.
根据QnD字段对应的内存区域的大小,将写请求目标地址的基地址写入addr_tag字段.
将decay_counter的值设为0.
将blk_QnD_vector字段中所有bit位设置为0.
4.
3.
6删除QnD记录图4.
7QnD记录删除操作流程图Figure4.
7TheworkflowofremovingQnDrecorderentry.
出于设计简洁性的考虑,我们并未在QnD记录器中设置替换(Replace-ment)机制,这样也避免了不同替换策略对QnD有效性的影响.
在QnD记录器中,QnD记录删除采用自动回收机制.
根据4.
3.
4节的介绍,当QnD记录器为一个写访存请求选择使用QnD写模式时,会将该写操作目的地址在blk_QnD_Vector中对应的bit置为1.
而当该地址被QnD刷新操作修复,或者一个新的写操作请求对该地址使用普通写模式进行写入时,则该存储单元状59新型非易失存储器性能和寿命优化关键技术研究态保持时间过短的问题就被解决了,QnD记录器无需为该存储单元生成额外的QnD刷新操作.
因此,在内存控制器发出慢写模式的写操作时,QnD记录器也需要检查各个记录并根据需要做相应的更新,若之前存储过针对同一目标地址的QnD写操作信息,则需要删除该记录.
当该写操作可以在QnD记录器中命中时,这个操作可以通过将对应blk_QnD_Vector中bit位置为0实现.
当一条QnD记录的blk_QnD_Vector中所有bit位都为0时,QnD记录器将该条记录标记为无效.
QnD记录删除操作的完整流程如图4.
7所示.
4.
3.
7QnD记录退化机制图4.
8QnD记录退化流程图Figure4.
8TheworkflowofQnDrecorderentrydecay.
为了保证内存中使用QnD写模式擦写过的存储单元可以在其状态保持时间结束前被刷新,QnD记录器需要记录之前执行的QnD写操作并对其状态保持时间进行跟踪.
为了实现这一功能,我们设计了一种名为QnD记录退化的机制并为此在每条QnD记录和QnD刷新请求中添加了一个4bit的计数器(DecayCounter).
当一条QnD记录被初始化时,其DecayCounter的值被设为0.
而当QnD记录器生成一条QnD刷新请求并发送至QnD刷新队列时,对应QnD记录中DecayCounter的值也会被复制到QnD刷新请求中.
每隔0.
125秒(即使用QnD写操作擦写的存储单元状态保持时间的116),QnD会触发一个QnD_Decay中断,在该中断的处理程序中,会将所有有效QnD记录和QnD刷新请求中的Decay_Counter的值加1.
当一条QnD记录或QnD刷新请求中Decay_Counter的值达到4'b1111时,表示其对应的存储单元状态保持时间即将结束,因此该条QnD记录或QnD刷新请求会被标记为紧急状态.
60第4章MLCPCM存储器的性能优化研究4.
3.
8QnD刷新请求生成图4.
9QnD生成刷新请求流程图Figure4.
9TheworkflowofQnDrefreshgeneration.
对于使用QnD写操作擦写的存储单元,QnD记录器在其状态保持时间结束之前为其发送QnD刷新请求,以解决其状态保持时间过短的问题.
QnD记录器生成的QnD刷新请求会被发送至QnD刷新队列.
在4.
3.
7节中,我们将QnD记录分为两类:一类是紧急QnD记录和紧急QnD刷新请求,即Decay_Counter的值为4'b1111的QnD记录和QnD刷新请求;另一类是非紧急QnD记录和非紧急QnD刷新请求,即Decay_Counter的值尚未达到4'b1111的QnD记录和非紧急QnD刷新请求.
对于紧急QnD记录,由于其状态保持时间即将结束,因此QnD记录器会为其生成紧急QnD刷新请求.
在生成QnD刷新请求的过程中,生成紧急QnD刷新请求的过程拥有最高优先级:61新型非易失存储器性能和寿命优化关键技术研究对于QnD记录器,其在生成QnD刷新请求的过程中总是优先考虑紧急QnD记录,而非非紧急QnD记录.
在QnD刷新队列中,包含一个阈值(例如:刷新队列的78).
当QnD刷新队列中的刷新请求数量达到或超过该阈值时,QnD刷新队列仅接收紧急QnD刷新请求;当QnD刷新队列中的刷新请求数量低于阈值时,QnD刷新队列可以接收紧急QnD刷新请求和非紧急QnD刷新请求.
这样的机制确保了QnD刷新队列中始终有空余空间用于接收紧急QnD刷新请求,避免由于QnD刷新队列无空余空间导致无法在存储单元状态保持时间结束之前无法完成刷新操作.
需要说明的是,QnD记录器在选择记录并为其生成QnD刷新请求时,除了优先选择紧急QnD记录,QnD记录器会随机选择非紧急QnD记录并生成QnD刷新请求.
例如,与一条DecayCounter值为4'b0000的QnD记录相比,DecayCounter值为4'b1110的QnD记录并不拥有更高的优先级.
这种随机选择QnD记录生成刷新请求的策略使得QnD刷新请求的目标地址在内存不同Bank之间分布得更均匀,避免了刷新热点的产生,从而保证了QnD刷新操作的执行效率.
当QnD记录器为一条QnD记录生成QnD刷新请求并发送至QnD刷新队列后,QnD记录器会将该条QnD记录中blk_QnD_Vector的全部bit置为0.
而当blk_QnD_Vector的全部bit都为0时,该条QnD记录会被标记为无效.
4.
3.
9QnD刷新队列操作与QnD记录器相比,QnD刷新队列的功能相对简单,只负责缓存QnD记录器发出的QnD刷新请求,并在适当的时候将QnD刷新请求发送至MLCPCM主存储器.
此外,QnD刷新队列需要维护如下两个机制:为了区分紧急刷新请求和非紧急刷新请求,QnD刷新队列中每条QnD刷新请求包含了一个DecayCounter计数器.
当QnD记录器选择一条记录并为其生成QnD刷新请求时,会将该条记录中DecayCounter的值复制到新生成的QnD刷新请求的DecayCounter中.
在每个QnDDecay中断的处理程序中,每个QnD刷新请求的DecayCounter都会加1,因此QnD刷新队列中的一条非紧急QnD刷新请求可能在发送到内存之前变为紧急QnD刷新请求.
62第4章MLCPCM存储器的性能优化研究为了避免影响系统性能,QnD刷新队列中的非紧急QnD刷新请求在系统中的优先级低于读访存请求和写访存请求.
另一方面,为了避免刷新不及时影响数据正确性,QnD刷新队列中的紧急QnD刷新拥有最高的系统优先级,高于读访存请求和写访存请求.
但是,在我们的实验中,绝大多数QnD刷新请求为非紧急刷新请求.
因此,紧急刷新请求对系统性能的影响非常小.
4.
3.
10QnD硬件开销分析QnD记录器和QnD刷新队列的硬件开销很低.
根据表4.
2所示的配置参数,QnD记录器和QnD刷新队列的硬件开销如下:QnD记录器的存储结构采用多路组相联方式组织.
在每条QnD记录中,valid字段为1bit,base_addr_tag字段为52bit,blk_QnD_Vector字段为128bit,decay_counter字段为4bit.
每条QnD记录总计185bit.
根据我们的默认配置,QnD记录器为16路,每路包含32条记录,总存储开销为11.
56KB.
QnD刷新队列最多可存储32条刷新请求,其中4条刷新请求的存储空间只能存储紧急QnD刷新请求.
在每条QnD刷新纪录中,valid字段为1bit,addr字段为58bit,decay_counter字段为4bit.
因此QnD刷新队列的存储开销总计0.
25KB.
综上所述,在默认情况下,QnD技术总存储开销小于12KB.
考虑到QnD所带来的性能提升,QnD的硬件开销很低.
4.
4实验环境和方法我们的模拟实验环境基于GEM5[84]和NVmain[85],可对使用NVM存储器作为主存储器的系统进行时序精确的模拟.
如表4.
1所示,我们模拟了一个基于Alpha指令集的单核处理器,并在该处理器上运行访存密集型负载.
同时,为了测试QnD在多核系统上的作用,我们还模拟了一个4核的CMP处理器并同时运行多个负载.
我们模拟了一个以MLCPCM存储器为主存储器的通用计算系统,其中内存控制器包含QnD技术.
内存系统的详细参数如表4.
2所示.
在我们的实验中,我们假定每个MLCPCM存储单元的写寿命为5*106次,同时MLCPCM存63新型非易失存储器性能和寿命优化关键技术研究表4.
1处理器相关参数Table4.
1Theconfigurationofprocessor.
Single-CoreCMPFreq.
2GHz#Cores14CoreAlphaISA,OoO,8issueL1Cachessplit32KBI/D-cache/core,4-way,2-cyclehitlatency,8-MSHRL2Caches256KB/core,8-way,12-cyclehitlatency,12-MSHRL3Cache2MB,16-way,shared6MB,24-way,(LLC)35-cyclehitlatency,35-cyclehitlatency,32-MSHR32-MSHR储器中包含了写分摊(wear-leveling)技术,可使整个MLCPCM存储器寿命达到存储单元理论寿命的95%.
在每个处理器核中,包含一个内存通道,每个内存通道对应于16个存储器Bank.
根据默认配置,QnD记录器包含16路,每路包含32条记录.
每条QnD记录中,blk_QnD_Vector字段为128bit,因此每条QnD记录对应于128个cacheline的存储空间(8KB).
整个QnD记录器可存储4MB大小的内存空间的信息.
根据4.
3.
10节中的介绍,默认配置的QnD记录器的硬件开销小于12KB.
表4.
3列举了我们实验中的对照组.
除了QnD,我们还模拟了5种静态写策略,并将其结果与QnD的结果进行对比.
其中,Static-N-SETs-Static表示全局采用N-SETs-Write写模式的写策略.
根据默认参数,QnD写操作中包含3个SET操作,而慢写操作和QnD刷新中各包含7个SET操作.
在使用QnD技术的系统中,根据写访存负载情况,一部分写访存请求会动态选择使用QnD写模式写回,之后再使用QnD刷新操作进行修复性刷新.
需要说明的是,由于所有使用QnD写模式进行刷新的存储单元都会在2秒内使用QnD刷新操作进行刷新,因此我们并未在进行性能模拟时考虑全局刷新对系统性能的影响,而只在估算存储器使用寿命时静态考虑全局刷新的影响.
在模拟实验中,我们从SPEC2006测试程序集[86]中选择多个访存密集型应用对QnD技术进行评估.
对于单核系统,我们在每次实验中运行一个程序,而对于多核系统我们在每次实验中运行由4个不同应用组成的混合程序集.
在每次实验中,我们模拟了系统在2秒中的行为.
测试集的具体情况如图4.
4所64第4章MLCPCM存储器的性能优化研究表4.
2MLCPCM主存储器子系统相关参数.
Table4.
2TheconfigurationofmemorycontrollerandMLCPCMmainmemory.
Single-CoreCMPMem.
Size4GB8GBFrequency400MHzBusWidth64-bit#ofChannels14#ofBanks16perchannelReadQueue32entriesperchannel,medium-highpriority.
WriteQueue64entriesperchannel,medium-lowpriority.
QnDRecorder32-set,16-wayEachentryrequires185-bitstorage:–1-bitvalid–52-bitbase_addr_tag–128-bitblk_QnD_vector–4-bitdecay_counterTotalmemorycoverageis4MB.
Totalstoragerequirementis11.
56KB.
QnDRefreshQueue32entriesperchannelEachentryrequires63-bitstorage:–1-bitvalid–58-bitaddr–4-bitdecay_counterTotalstoragerequirementis0.
25KB.
Tworequestpriorities:–UrgentQnDRefreshRequestwithhighpriority.
–Non-UrgentQnDRefreshRequestwithlowpriority.
PagePolicyopenpageRowSize16KBRowBufSize1KBtRCD48cycles(120ns)tCAS1cycle(2.
5ns)tFAW50nstWP3-SETs-Writes:220cycles(550ns);(writepulsetime)4-SETs-Writes:280cycles(700ns);5-SETs-Writes:340cycles(850ns);6-SETs-Writes:400cycles(1000ns);7-SETs-Writes:460cycles(1150ns).
Endurance5*106writesMiscAssuminganeffectivewearlevelingscheme(e.
g.
,[32]),thatmakeswholememoryachieveanaverageof95%ofcelllifetime.
WritePausing[66]supported.
UsingWrite-throughPolicy(bypassingrowbuffer).
65新型非易失存储器性能和寿命优化关键技术研究表4.
3实验对照组列表Table4.
3Thesimulatedschemes.
Static-7-SETsgloballyusing7-SETs-Writes,globalrefreshinterval:3054seconds.
Static-6-SETsgloballyusing6-SETs-Writes,globalrefreshinterval:991seconds.
Static-5-SETsgloballyusing5-SETs-Writes,globalrefreshinterval:104seconds.
Static-4-SETsgloballyusing4-SETs-Writes,globalrefreshinterval:24seconds.
Static-3-SETsgloballyusing3-SETs-Writes,globalrefreshinterval:2seconds.
QnDourproposedscheme,selectivelyusing3-SETs-Writesand7-SETs-Writes,using7-SETs-writetorefreshtheregionspreviouslywrittenwith3-SETs-Write,globalrefreshinterval:3054seconds.
示.
表4.
4实验中使用的测试用例程序.
Table4.
4Theworkloadusedintheexperiments.
WorkloadMPKIWorkloadMPKIForSingle-Corebwave8.
15milc9.
83hmmer1.
58lbm22.
33leslie3d5.
47libquantum18.
04zeusmp5.
98ForCMPMIX_1lbm+bwave+zeusmp+milcMIX_2milc+libquantum+lbm+leslie3d4.
5实验结果和分析在本节中,我们首先通过将QnD与Static-3-SETs和Static-7-SETs进行对比,从系统性能、存储器使用寿命和存储器能耗三方面对QnD的有效性进行了评估.
同时,为了进一步解释QnD的生效机制,我们还通过实验分析了存储器老化原因和系统writedrain时间变化.
此外,除了Static-3-SETs和Static-7-SETs,我们还将QnD与其他静态写策略(例如Static-4-SETs、Static-5-SETs66第4章MLCPCM存储器的性能优化研究和Static-6-SETs)进行了对比.
最后,我们还通过实验分析了关键参数(QnD主动性、内存覆盖率和QnD记录存储粒度)对系统的影响.
4.
5.
1系统性能和存储器使用寿命图4.
10归一化系统性能比较Figure4.
10Thenormalizedperformancecomparison.
我们使用IPC(InstructionsPerCycle)表示待测系统的性能.
图4.
10使用归一化IPC数据比较了使用Static-3-SETs、Static-7-SETs和QnD的系统的性能.
从图中我们可以发现,与Static-7-SETs相比,QnD可以使系统性能平均提升30.
9%.
尽管与采用Static-3-SETs的系统相比,采用QnD的系统在性能方面依然存在平均20.
8%的差距,但过低存储器使用寿命使得Static-3-SETs无法在实际系统中使用.
此外,由于我们在实验中没有模拟全局刷新对系统性能的影响,因此采用Static-3-SETs的系统的实际性能要低于实验结果数据.
图4.
11展示了采用不同写策略的系统中存储器使用寿命的比较情况.
从图中可以看出,在采用Static-3-SETs的系统中,存储器使用寿命仅为0.
29年.
同时,在采用QnD技术的系统中,存储器使用寿命(7.
59年)略低于采用Static-7-SETs的系统中存储器使用寿命(10.
87年),但其使用寿命依然处于可接受的范围.
需要说明的是,在我们的实验中,当运行lbm时,存储器使用寿命为4.
92年.
在4.
5.
3节和4.
5.
4节中,我们将进一步分析QnD技术提升系统性能和延长存储器寿命的内在机制和原因.
67新型非易失存储器性能和寿命优化关键技术研究图4.
11存储器使用寿命比较Figure4.
11Thecomparisonofmemorylifetime.
4.
5.
2存储器能耗分析图4.
12存储器能耗分析和比较Figure4.
12Thebreakdownofmemoryenergyconsumption.
基于表4.
12中的参数,我们计算了基于不同写策略的系统中的存储器能耗.
如图4.
12所示,由于需要对内存中所有存储单元频繁进行全局刷新,在采用Static-3-SETs的系统中,存储器能耗比采用Static-7-SETs的系统中的存储器能耗高一个数量级(平均约为17.
23倍).
而在采用QnD技术的系统中,由于需要发送QnD刷新请求以解决由QnD写操作造成的状态保持时间过短的问68第4章MLCPCM存储器的性能优化研究题,QnD同样需要消耗额外的能量.
但是,由于QnD记录器生成的QnD刷新请求数量有限,QnD刷新请求消耗的额外能量也非常有限.
根据我们的实验结果,与采用Static-7-SETs的系统相比,采用QnD技术的系统中存储器能耗平均提升了33.
0%.
但是,相对于30.
9%的性能提升,这一能耗提升幅度是可以接受的.
4.
5.
3存储器老化原因分析图4.
13存储器老化原因分析Figure4.
13Theaccumulatedwear.
与采用Static-3-SETs的系统相比,采用QnD的系统中存储器使用寿命之所以显著提升,是因为QnD帮助系统大幅减少了刷新操作造成的存储器老化.
图4.
13展示了采用不同写策略的系统中存储器老化原因的构成分析.
与Static-3-SETs要求系统每隔2秒对存储器所有存储单元进行一次全局刷新不同,QnD只需要为少数写请求采用QnD写模式,然后为这些存储单元生成QnD刷新请求以解决状态保持时间果断的问题,因此存储器的老化速度大幅降低.
实验结果表明,在采用QnD的系统中,存储器的磨损速度大幅降低.
与采用Static-3-SETs的系统相比,存储器的老化速度降低了XX;而采用QnD的系统中存储器磨损比Static-7-SETs高16.
1%.
而在采用Static-3-SETs的系统中,存储器磨损速度比采用Static-7-SETs的系统高37.
87倍,这也说明了Static-3-SETs无法在实际系统中应用.
69新型非易失存储器性能和寿命优化关键技术研究4.
5.
4WriteDrain时间分析图4.
14内存控制器writedrain模式时间对比Figure4.
14Thenormalizedwrite-draintimecomparison.
在内存控制器中,当写队列的占用率超过一个阈值时,内存控制器会切换到writedrain模式.
在writedrain模式下,写请求的优先级高于读请求.
根据4.
2节中的分析,writedrain也是基于MLCPCM主存储器的系统性能降低的主要原因.
因此,内存控制器处于writedrain模式的时间长度也是衡量写策略对系统影响的一个重要指标.
图4.
14展示了采用Static-3-SETs、Static-7-SETs和QnD的系统中writedrain模式时间长度的比较情况.
由图中我们可以看出,在采用Static-7-SETs写策略的系统中,内存控制器处于writedrain模式的时间长度比采用Static-3-SETs的系统高3.
45倍,而这也解释了采用Static-3-SETs写策略的系统性能更高的原因.
同时,采用QnD的系统中writedrain模式的时间长度比采用Static-3-SETs的系统高1.
68倍.
因此,QnD可以使系统性能显著优于采用Static-7-SETs的系统,但低于采用Static-3-SETs的系统.
4.
5.
5QnD与静态写策略比较因为在QnD中包含3-SETs和7-SETs两种写模式,因此在之前几节中,我们仅比较了QnD、Static-3-SETs和Static-7-SETs.
在本节中,我们将对QnD和其他几种静态写策略进行对比,比较结果如图4.
15和图4.
16所示.
如我们之前的推测,在使用静态写策略的系统中,随着写操作中SET操作数量的增长,系统性能逐渐降低,同时存储器使用寿命逐渐提高.
从图中可以看出,对于多数benchmark(如bwave和lbm),QnD可以使系统性能明显提升同时使存储器使70第4章MLCPCM存储器的性能优化研究图4.
15基于QnD与静态写策略的系统性能比较Figure4.
15ThesystemperformancecomparisonbetweenQnDandstaticwriteschemes.
图4.
16基于QnD与静态写策略的系统中存储器使用寿命比较Figure4.
16ThememorylifetimecomparisonbetweenQnDandstaticwriteschemes.
用寿命维持在可以接受的水平.
因此,QnD可以使系统性能和存储器使用寿命达到平衡.
但是,QnD并非适用于所有应用.
例如,对于hmmer,QnD可以使系统性能与采用Static-6-SETs的系统相近,但是存储器使用寿命更低.
但是,造成这种结果并非因为QnD不起作用,而是由于QnD中所包含的写模式需要调整.
在QnD中,我们规定QnD写操作和慢写操作分别采用包含3个SET和7个SET的写模式,而这种组合并不适用于类似hmmer这样的应用.
若我们规定慢写操作采用包含6个SET的写模式,采用QnD的系统性能将比采用71新型非易失存储器性能和寿命优化关键技术研究Static-6-SETs的系统更高,同时存储器使用寿命依然可以维持在可以接受的水平.
在后续工作中,我们将探索如何为QnD技术动态选择适当的写模式.
4.
5.
6QnD主动性对系统的影响图4.
17QnD主动性对系统的影响比较Figure4.
17ThesystemperformanceimpactofQnDaggressiveness.
图4.
18QnD主动性对系统的影响比较Figure4.
18ThememorylifetimeimpactofQnDaggressiveness.
根据4.
3.
4节中的介绍,QnD记录器使用QnD_Threshold判断是否发送QnD写请求.
因此,我们可以通过改变QnD_Threshold的值调节QnD的主动性.
当QnD_Threshold的值降低时,系统中将频繁地使用QnD写操作,使得系统性能得到提升.
但是,这也意味着QnD记录器需要产生更多的QnD刷新请求,使得72第4章MLCPCM存储器的性能优化研究MLCPCM存储器使用寿命降低.
在本节中,我们将定量分析QnD_Threshold的取值如何影响系统性能和MLCPCM存储器使用寿命.
如图4.
17所示,当QnD_Threshold的值由16增长到48时,系统性能逐渐降低,同时存储器使用寿命逐渐提升.
在默认配置中,我们将QnD_Threshold的值设置为32.
如系统用户需要更高的系统性能而对存储器使用寿命要求不高时,我们可以将QnD_Threshold的值调整为16或24,从而使系统平均性能分别提升6.
13%和3.
67%.
另一方面,若系统用户需要更长的存储器使用寿命,可以提高QnD_Threshold的值.
例如,当QnD_Threshold的值由32提升至48时,存储器的使用寿命平均提升了7.
58%.
4.
5.
7QnD覆盖范围对系统的影响图4.
19QnD覆盖范围对系统性能的影响比较Figure4.
19ThesystemperformanceimpactofQnDcoverage.
根据4.
3.
4节的介绍,当QnD记录器无法为写请求分配新的记录,则QnD记录器无法生成QnD写请求(如图4.
6所示).
若QnD记录器可以覆盖更大的内存空间,则可以存储更多QnD写请求的目标地址,从而使QnD记录器分配记录失败的概率降低.
因此,QnD记录器的覆盖范围对其有效性有着重要影响.
如图4.
19所示,我们通过模拟实验分析了不同覆盖范围的QnD记录器对系统性能和存储器使用寿命的影响.
从图中可以看出,在QnD记录器的覆盖范围从2MB(256项)逐渐增加到16MB(2048项)过程中,系统的性能随着覆盖范围的增长而逐渐升高.
但是,由于QnD本质上是通过部分牺牲存储器使73新型非易失存储器性能和寿命优化关键技术研究图4.
20QnD覆盖范围对存储器使用寿命的影响比较Figure4.
20ThememorylifetimeimpactofQnDcoverage.
用寿命换取性能提升的,因此当QnD记录器的覆盖范围增加时,系统中使用QnD写操作和QnD刷新操作的次数都会增加,存储器使用寿命会相应地降低.
例如,当QnD记录器覆盖8MB的内存空间时,系统性能比QnD覆盖4MB时提升了7.
81%,但存储器使用寿命降低了7.
01%.
此外,增大QnD记录器的覆盖范围还会增加QnD的硬件开销.
综上所述,在我们的实验系统中,当QnD记录器覆盖4MB的内存空间时,系统性能、存储器寿命和QnD硬件开销可以达到较好的平衡.
4.
5.
8QnD记录器存储粒度对系统的影响根据4.
3节的介绍,在保持QnD记录器覆盖区域不变的前提下,每条记录对应内存空间的大小会从两方面对系统产生影响.
一方面,当每条记录对应的内存空间增大时,QnD记录器存储地址信息的硬件开销将会降低,从而降低QnD记录器的总硬件开销;另一方面,增大每条记录对应的内存空间会增大QnD记录器发生访问冲突的概率,从而导致QnD记录器产生QnD写操作失败的概率升高.
在实验中,我们将QnD记录器覆盖的内存空间固定为4MB,然后模拟了不同QnD记录器存储粒度对系统的影响,每条QnD记录对应的内存空间从64B到128KB.
实验结果如图4.
21和图4.
22所示.
从图中我们可以看出,尽管当每条QnD记录对应64B的内存空间时系统的性能最高,但此时QnD记录器的硬件开销过高(0.
45MB).
而当每条QnD记录对应于128KB的内存空间时,QnD对系统性能的影响过低.
从图中可以看出,当每条QnD记录对应74第4章MLCPCM存储器的性能优化研究图4.
21QnD记录器存储粒度对系统性能的影响比较Figure4.
21ThesystemperformanceimpactofQnDgranularity.
图4.
22QnD记录器存储粒度对存储器使用寿命的影响比较Figure4.
22ThememorylifetimeimpactofQnDgranularity.
于8KB内存空间时,系统性能和硬件开销可以达到较好的平衡.
4.
6本章小结在本章中,我们分析了常见应用中写访存请求的时间分布特性并指出了其中的不均匀性:在一些时间段内,内存控制器会向存储器发送大量写访存请求;而在另一部分时间段内,写访存请求的数量则很少.
基于这一发现,我们提出了一种名为QnD的新型轻量级MLCPCM主存储器优化技术.
在包含QnD技术的内存控制器中,当写访存操作成为系统性能的瓶颈时,内存控制器会动态75新型非易失存储器性能和寿命优化关键技术研究使用快写模式执行写访存操作.
通过这种动态写模式选择,写访存请求密集时的系统性能得到了显著提升.
然后,在写访存请求不密集时,QnD会发送基于慢写模式的修复刷新操作,对之前采用快写模式进行擦写的存储单元进行修复以延长其状态保持时间.
模拟实验结果证明,与全局使用慢写模式的基准系统相比,QnD可以帮助系统实现平均30.
9%的性能提升.
另一方面,MLCPCM存储器的使用寿命依然维持在可以接受的水平,平均可达到7.
58年.
此外,我们还分析了QnD_Threshold对QnD主动性的影响.
例如,当QnD_Threshold的值由32变为16时,系统系能可提升6.
1%,但存储器使用寿命会降低8.
97%(6.
90年).
76第5章MLCPCM存储器的性能与寿命协同优化研究第5章MLCPCM存储器的性能与寿命协同优化研究5.
1概述3.
2节分析了典型应用中写访存请求的频率分布特征,基于这一分析结果,3.
3节通过为不同访问频率的内存区块动态选择写模式,实现了MLCPCM存储器寿命与性能的平衡优化;4.
2节分析了典型应用访存请求的时间分布特征,并基于分析结果在4.
3节根据不同时间段内访存请求密集程度的变化情况动态选择写模式,从而实现对对基于MLCPCM存储器的系统进行性能优化的目的.
上述两项优化工作针对单一的访存特征分析结果,对MLCPCM存储器的寿命和性能分别做出了优化.
但是,实际的访存流往往是同时具备多个维度的特征的,此时上述工作依然存在以下不足:RRM技术会感知并为频繁改写的内存区域使用"低延迟低状态保持时间"的写模式.
对于短时间内对局部地址空间的密集写入的应用,这种方式可以降低写延迟对系统性能造成的影响.
但是,对于具有流式访存特征的应用,RRM会为全部写访存请求使用"高延迟高状态保持时间"的写模式以期达到延长存储单元寿命的目的.
此时,过多的长延迟写操作会导致写访存队列拥塞,造成系统性能降低.
此外,当程序中访存热点发生转移时,由于记录替换而产生的强制长延迟写回操作可能会与正常的写访存请求叠加,造成写访存队列的拥塞.
在QnD中,系统在写访存请求密集到达时会通过优先采用"低延迟低状态保持时间"的写模式将数据临时写回,然后在写请求不密集时采用"高延迟高状态保持时间"的写模式对其进行擦写.
这种方式虽然可以在写访存密集时降低写访存队列拥塞的概率,但是由于此时使用两次擦写完成一个写操作,对于访存请求分布仅具有时间局部性而无空间局部性的应用而言,额外的写操作会造成器件的加速老化.
此外,对于同时具有时间局部性和空间局部性的访存流,使用的"高延迟高状态保持时间"写操作会导致系统性能的降低.
77新型非易失存储器性能和寿命优化关键技术研究基于上述分析,本章通过将RRM和QnD集成在同一个系统中并灵活运用,实现MLCPCM内存系统的寿命与性能的协同优化.
在本项研究中,需要实现如下三个目标:当应用的写访存请求空间局部性较低时,为了避免产生过多的"高延迟写请求",系统需要能够感知并启用性能优化策略,从而降低大量"高延迟写请求"对系统性能的影响;当应用的写访存流同时具有较高的空间局部性和时间局部性时,需要避免不必要的长延迟刷新对于系统性能的影响;对于特征不明显的应用,需要平衡性能与器件寿命,尽可能减少性能优化对于器件寿命的影响.
5.
2RRM-QnD基于5.
1节的分析,我们通过将RRM与QnD进行集成,进一步提升MLCPCM内存储器的性能和寿命.
集成后的RRM-QnD技术以RRM为主体,通过专门设计的调度策略,在写延迟成为系统瓶颈时动态选择启用QnD技术,从而实现系统性能的提升.
同时,为了避免存储单元过快老化,RRM-QnD中还加入了一个基于写配额的管理策略.
在本节中,我们通过与RRM和QnD进行比较,详细介绍了RRM-QnD的硬件结构和工作流程.
5.
2.
1RRM-QnD概述图5.
1RRM-QnD总体结构图Figure5.
1TheoverviewofRRM-QnDstructure.
RRM-QnD的整体结构如图5.
1所示,其中蓝色的部分为新加入的结构和数据通路.
在RRM-QnD中,我们从以下几方面入手将RRM和QnD进行了集成:将RRM和QnDTrackingBuffer合并为RRM-QnDMonitor;78第5章MLCPCM存储器的性能与寿命协同优化研究将RRM中的RRMRefreshQueue与QnD中的FixingRefreshQueue合并为MergedRefreshQueue;将RRM中的"快写"和QnD中的"QnD写"合并为"快写"操作,使用包含3个SET操作的写模式执行;将RRM中的"慢写"和QnD中的"普通写"合并为"慢写"操作,使用包含7个SET操作的写模式执行;将RRM中的"慢刷新"和QnD中的"QnD刷新"合并为"慢刷新"操作,使用包含7个SET操作的写模式执行.
合并后的RRM-QnDMonitor工作于LLC和内存控制器之间,主要包含如下三个功能:记录LLC写访存信息RRM-QnDMonitor负责记录LLC写访问请求的地址信息,并对记录中的相关字段状态进行更新,操作流程与RRM中的"LLC写访问信息记录"操作相同.
为写访存请求选择写模式RRM-QnDMonitor负责为写访存请求选择适当的写模式.
写模式的选择分为两个阶段,当生成写访存请求时,RRM-QnD根据相应RRM-QnDEntry中的信息,为写热点区域的写访存请求生成快写请求并发送至写请求队列中;当写队列中的写访存请求即将被发送至MLCPCM内存时,RRM-QnDMonitor还会根据当前写队列负载情况和MLCPCM存储器磨损情况为写访存请求的写模式进行二次选择.
生成刷新请求对于使用快写操作擦写的存储单元,RRM-QnDMonitor还负责在其状态保持时间结束前为其主动生成刷新请求.
对于处于写访问热点中的存储单元,RRM-QnDMonitor将为其生成快刷新请求;而对于处于非写访问热点区域的存储单元,RRM-QnDMonitor将为其申城慢刷新请求.
与RRM相比,RRM-QnD在内存控制器写访存队列的输出端和RRM-QnDMonitor之间添加了一条双向数据通路.
该数据通路负责将写队列即将发送的写访存请求中的模式信息以及写访存队列的负载信息传输至RRM-QnDMoni-tor,并将RRM-QnDMonitor的二次写模式选择结果传输至写访存队列.
RRM-QnDMonitor的内部存储依然使用与cache类似的多路组相联方式.
79新型非易失存储器性能和寿命优化关键技术研究其中,标签阵列(TagArray)和状态保持时间信息阵列(RetentionInformationArray)分别负责存储地址信息、可用性信息以及用于支持写模式选择的相关信息.
5.
2.
2RRM-QnD输入与输出定义与RRM相比,RRM-QnD增加了一种输入和两种输出,总计包含三种输入和四种输出.
三种输入包括LLC写访问登记信息、写访存请求和写访存请求发送前的二次确认信息,四种输出包括包含写模式的写访存请求、写模式二次选择结果、针对写访问热点区域的快刷新请求和针对非热点区域的主动慢刷新请求.
此外,根据状态保持时间是否即将结束,针对非热点区域的主动慢刷新请求还分为紧急慢刷新请求和非紧急慢刷新请求.
5.
2.
3RRM-QnD记录格式图5.
2RRM-QnD记录格式定义Figure5.
2TheformatofRRM-QnDentry.
如图5.
2所示,RRM-QnD记录的格式与RRM记录保持一致.
在功能方面,RRM-QnD将QnD记录中的blk_QnD_vector字段与RRM记录中的short_retention_vector字段合并为fast_write_vector字段,同时将RRM与QnD记录中decay_counter字段的功能进行了合并.
调整后的RRM-QnD记录中各字段功能如下:Valid(1bit)该字段用于表示该条记录是否可用.
Addr(52bits)该字段用于记录对应内存区域的地址信息(完整的内存地址为64位,内存区域内地址为12位,因此此处的地址为52位).
80第5章MLCPCM存储器的性能与寿命协同优化研究Hot(1bit)该字段用于表示所对应内存区域是否为写访问热点区域.
当该字段为1时,表示该记录对应的内存区域中的数据将被频繁改写;否则,表示该条记录所对应的内存区域为写访问非热点区域.
Dirty_write_counter(6bits)该字段用于记录对应内存区域中对"脏块"的写访问数量.
需要说明的是,只有对内存区域中"脏块"的写操作才会被记录,这样可以避免流式写访存对于RRM预测精度的影响.
当该字段中的数值达到判定阈值时,Hot字段将被置为1.
fast_write_vector(64bits)该字段用于记录对应内存区域中的写模式选择结果,其中每个bit对应于其中一个cacheline.
当该字段中的一个bit为1时,表示对应的cacheline在写回内存时需要使用快写模式;否则,表示该cacheline的数据在写回内存时使用慢写模式.
fast_write_vector中bit位状态在三种情况下会发生改变:1)Dirty_write_counter状态值达到写访问热点区域判定阈值;2)写访存模式二次选择结果改变了原写模式;3)慢写刷新请求生成.
Decay_counter(4bits)该字段为一个4bit循环计数器.
对于被标记为写访问热点区域的记录,该字段用于记录写访存热点区域退化所需要的信息;而在对应于非写访问热点区域的RRM-QnD记录中,该字段功能与QnD记录中Decay_Counter字段相同,用于表示该条记录所对应的内存区域第一次采用快写操作进行写访存操作后所过去的时间.
5.
2.
4RRM-QnD刷新队列图5.
3RRM-QnD刷新队列设计Figure5.
3ThestructureofRRM-QnDrefreshqueue.
81新型非易失存储器性能和寿命优化关键技术研究RRM-QnD刷新队列的结构如图5.
3所示.
其中,刷新队列中包含若干个为紧急刷新请求保留的记录空间.
这样做的目的是保证紧急慢刷新请求可以及时写入刷新队列,避免因刷新队列写满而造成紧急刷新无法及时发送,使存储可靠性受到影响.
当非预留刷新请求记录空间已满时,MergedRefreshQueue进入"近满"(almostfull)状态,此时刷新队列仅接收紧急慢刷新请求.
在MergedRefreshQueue中,每个刷新请求的格式如下:Valid该字段用于表示该条记录是否可用.
base_addr_tag该字段用于记录对应内存区域的地址信息.
urgent该字段用于表示该请求是否为紧急请求,当刷新请求为紧急请求时,urgent字段为1,该条刷新请求将拥有最高优先级,从而优先发送;反之,刷新请求为非紧急请求是,urgent字段为0,刷新队列将根据请求到达的先后顺序和目标地址所在bank的可用情况调度非紧急刷新请求.
speed_mode该字段用于表示刷新请求使用的写模式.
若刷新请求使用快写模式,则该字段为1,否则该字段为0.
decay_counter该字段为一个循环计数器,用于表示该条刷新请求目标地址的状态保持时间是否结束.
在慢刷新请求生成时,相应RRM-QnD记录中的Decay_counter的值会被复制到刷新请求的decay_counter字段.
在每次DecayInterrupt中,刷新队列中所有非紧急慢刷新请求的decay_counter字段也会加1,当该字段的值循环溢出时,该慢刷新请求由非紧急态变为紧急态(urgent=1).
5.
2.
5RRM-QnD写模式选择根据第4章的介绍,QnD通过使用额外的fastwrite提高了MLCPCM存储器在忙时的性能.
但是,由于QnD使用两次写操作完成一次写请求,因而在提升系统性能的同时也加快的MLCPCM存储器的老化速度.
为此,在RRM-QnD使用了一种基于配额制的调度策略,通过动态调整QnD的使用频率,从而减少QnD对器件寿命的影响.
在QnD-RRM使用的配额制策略中,系统运行时被划分为一系列固定长度为T0的时间片.
设MLCPCM存储器的期望使用寿命为Tlifetime,则每个bank82第5章MLCPCM存储器的性能与寿命协同优化研究在每个时间片中的写配额为:Quotabank=Enduranceblk*T0Tlifetime*BlkNumbank*Ratiostartgap.
.
.
(5.
1)其中,Enduranceblk为写请求所擦写的内存块(通常为64字节)的写寿命,BlkNumbank表示一个Bank中所包含的内存块的数量,Ratiostartgap表示由于使用start-gap写分摊技术所造成的寿命衰减系数.
在每个时间片开始时,系统根据如下公式检查每个bank的写次数是否超过了配额:ExceedQuota=∑writeQuotabank*Numprevious.
.
.
(5.
2)其中∑write表示当前bank累积的写次数,Numprevious表示已经过去的时间片数量.
若ExceedQuota结果大于0,则表示当前bank的写次数已经超过了配额,在当前时间片内,发往该bank的所有快写请求都被忽略.
图5.
4RRM-QnD写模式二次选择流程Figure5.
4Theworkflowofwritemodere-selectioninRRM-QnD.
在RRM-QnD中,生成新的写访存请求并为其选择写模式的过程与RRM相同(如图3.
9所示).
不同的是,在写访存请求发送至MLCPCM内存之前,RRM-QnD还会根据当前系统中写访存队列的负载情况以及目标地址存储单元的老化情况进行写模式二次选择.
写模式二次选择的过程如图5.
4所示.
当内存控制器准备发送一个快写请求时,RRM-QnD会检查当前时间片内目标地址所83新型非易失存储器性能和寿命优化关键技术研究在bank的写配额是否用尽,若写配额已用尽,则将该写访存请求写模式改为慢写模式,并将其在RRM-QnDMonitor对应记录中的相应fast_write_vectorbit的值改为0;反之,当内存控制器准备发送一个慢写请求时,RRM-QnDMonitor会检查当前写访存队列中写访问请求是否已超过QnD阈值,当写访问请求数量超过QnD阈值且目标地址所在bank当前时间片的写配额未用尽时,则将该写访存请求写模式改为快写模式,并将其在RRM-QnDMonitor对应记录中的相应fast_write_vectorbit的值改为1.
5.
2.
6RRM-QnD刷新请求生成图5.
5RRM-QnD慢刷新生成流程Figure5.
5TheworkflowofslowrefreshrequestgenerationinRRM-QnD.
在RRM-QnD中,针对写访存热点区域的快刷新请求生成过程与RRM相同(如图3.
10所示).
针对写访存非热点区域的慢刷新请求生成过程如图5.
5所示.
由于慢刷新操作执行延迟比较长,因此需要使其时间分布尽量均匀,这样可以降低慢刷新操作对系统性能的影响,避免集中生成大量慢刷新请求造成系统性能下降或影响数据存储的可靠性.
基于这一目的,RRM-QnD同样适用DecayInterrupt作为慢刷新生成操作的触发信号.
在每次DecayInterrupt中,84第5章MLCPCM存储器的性能与寿命协同优化研究RRM-QnD首先检查当前是否存在状态保持时间即将结束的非热点区域记录,如果存在的话,则为所有这样的记录生成紧急慢刷新请求,否则将随机挑选一个包含快写信息的非热点区域记录并为其生成非紧急慢写刷新.
所有慢写刷新请求生成后,其目标地址在RRM-QnDMonitor中所对应的的fast_write_vectorbit都将重置为0.
5.
2.
7RRM-QnD写热点区域蜕化图5.
6RRM-QnD写热点区域蜕化机制Figure5.
6Thehot-regiondecayinRRM-QnD.
RRM-QnD中的写热点区域蜕化机制与RRM中的写热点蜕化机制类似.
所不同的是,在RRM-QnD中,每次DecayInterrupt触发时,RRM-QnD除了要为标记为写热点区域的记录中的Decay_counter字段执行循环累加外,还要为标记为非热点区域但short_write_vector不全为0的记录执行Decay_counter循环累加(如图5.
6所示).
这样做的目的是使RRM-QnDMonitor能够及时发现状态保持时间即将结束的记录,并为其生成紧急慢刷新请求.
85新型非易失存储器性能和寿命优化关键技术研究5.
2.
8RRM-QnD硬件开销分析根据5.
2.
3节的介绍,RRM与QnD集成后,RRM-QnDMonitor中每条记录并为增加新的字段;而在MergedRefreshQueue中,由于每条刷新请求中增加了urgent字段和decay_counter字段,因此相较于RRM的刷新请求,每条刷新请求增加了5bit存储开销.
若以MergedRefreshQueue中包含最多容纳64个刷新请求计算,RRM-QnD的刷新队列硬件开销仅比RRM刷新队列增加了320bit.
因此,RRM-QnD在将两种技术进行集成的同时并未显著增加硬件开销.
5.
3实验环境和方法RRM-QnD的模拟实验同样基于集成了NVmain[85]的GEM5[84]与NVmain[85]全系统模拟平台,该平台可对包含NVM存储器的系统进行时序精确的模拟.
实验中模拟的CMP处理器参数与目前的Inteli5处理器相同.
对于内存子系统,实验中假定每个PCM存储单元的擦写寿命为5*106次.
基于start-gap[32]技术,整个MLCPCM存储器的擦写寿命可以达到理论上限的95%.
实验中的内存控制器采用经典结构,包含4个通道,每个通道对应于存储器中的16个Bank.
同时,我们假设MLCPCM存储器中内置全局刷新控制电路,RRM-QnD只需要为部分内存区块主动生成刷新请求.
试验系统的具体参数如表5.
1所示.
RRM-QnD的配置参数如表5.
2所示.
在实验中,RRM-QnDMonitor的存储结构采用24路组相联,每路包含256条记录,每条记录对应4KB的内存区域,总计对应24MB的存储区域,为LLC容量的4倍.
写热点区域判定阈值(hot_threshold)为16,写队列负载判定阈值(QnD_threshold)为32.
RRM-QnDMonitor总计需要96KB的存储空间,约为LLC硬件开销的1.
56%.
此外,MergedRefreshQueue中为紧急慢刷新请求预留的存储空间为8.
我们从测试程序集SPEC2006[86]选择了9个应用程序对RRM-QnD进行测试.
实验分为单一应用测试和混合应用测试两类:在单一应用测试中,处理器同时运行4份同样的应用程序;在混合应用测试中,处理器每个核运行不同的应用程序.
单一应用测试和混合应用测试模拟时长均为5秒.
测试程序具体情况如表5.
3所示.
86第5章MLCPCM存储器的性能与寿命协同优化研究5.
4实验结果和分析图5.
7RRM-QnD系统性能优化效果比较Figure5.
7ThecomparisonofsystemperformanceimprovementbetweenRRM-QnDandotherapproaches.
我们将RRM-QnD与其他几种通过调节RRM参数提升系统性能的方法进行了比较,结果如图5.
7所示.
从图5.
7中可以看出,与采用默认参数的RRM相比,RRM-QnD在大部分应用中对于系统性能的优化效果均接近或由于优于3.
5节中介绍的通过调节关键参数提升系统性能的方法,系统性能平均提升9.
57%.
这是因为RRM-QnD通过对内存控制器写访存负载压力的感知,将一部分慢写请求转化为快写请求,从而降低了内存控制器进入WriteQrain模式的概率.
图5.
8RRM-QnD对存储器寿命的影响比较Figure5.
8ThecomparisonofmemorylifetimeimpactbetweenRRM-QnDandotherap-proaches.
我们还比较了RRM-QnD与其他几种RRM调参方法对存储器寿命的影87新型非易失存储器性能和寿命优化关键技术研究响,结果如图5.
8所示.
从图中可以看出,RRM-QnD在提升系统性能的同时并未对存储器寿命造成显著影响.
与基于默认参数的RRM相比,在采用RRM-QnD的系统中,存储器寿命平均只降低了3.
1%,优于其他调参方法.
尽管由于系统性能的提升,在单位时间执行的写访存数量也会增加,会一定程度上加速存储器的老化速度,但是另一方面RRM-QnD中的写配额策略限制了部分情况下写访存请求使用快写模式,从而降低了快写以及因此产生的刷新操作对存储单元老化的影响.
5.
5本章小结本章首先分析了RRM和QnD各自的特点和不足之处,并提出了MLCPCM内存性能与使用寿命协同优化技术应具备的特征.
在此基础上,本章提出了RRM和QnD的集成方法,介绍了RRM-QnD技术的硬件结构和工作流程,并着重分析了RRM-QnD与RRM技术的不同之处.
与RRM相比,RRM-QnD新增了写访存请求模式二次选择操作和MLCPCM存储器磨损管理策略.
当内存控制器即将发送一个写访存请求时,RRM-QnD会根据当前写请求队列负载情况和目标存储单元磨损情况对写模式进行二次选择.
对于快写请求,若目标地址的磨损速度过快,则RRM-QnD会将其写模式改为慢写模式;而对于慢写请求,若此时写访存队列中写请求数量超过阈值(QnD_threshold)且目标存储单元磨损速度在可接受范围以内,则RRM-QnD会将其写模式改为快写模式,否则将依然使用慢写模式.
此外,RRM-QnD还根据自身记录情况为采用快写模式擦写的cacheline生成相应的快刷新或慢刷新请求.
实验结果表明,与采用RRM的系统相比,RRM-QnD在实现系统性能平均提升9.
57%的同时,寿命仅降低了3.
1%,优于通过调节参数对RRM进行优化的方法.
因此,我们可以认为RRM-QnD实现了通用计算系统中MLCPCM主存储器性能与寿命的协同优化.
88第5章MLCPCM存储器的性能与寿命协同优化研究表5.
1试验系统详细参数Table5.
1Thedetailedconfigurationofthesimulation.
ProcessorFrequency2GHzCoreCount4CoreArch.
AlphaISA,OoO,8issueL1Cachessplit32KBI/D-cache/core,4-way,8-MSHR2-cyclehitlatencyL2Caches256KB/core,8-way,12-MSHR12-cyclehitlatencyL3Cacheshared6MB,24-way,32-MSHR(LLC)35-cyclehitlatencyMemoryController#ofChannels4#ofBanks16perchannelMergedRefreshQueue64entriesperchannel,withhighpriorityReadQueue32entriesperchannel,withmiddlepriorityWriteQueue64entriesperchannel,withlowpriorityMLCPCMMemoryMemorySize8GBMemoryFreq.
400MHzBusWidth64-bitPagePolicyopenpageRowSize16KBRowBufSize1KBLatencytRCD:48cycles(120ns)tCAS:1cycle(2.
5ns)tFAW:50nstWP(writepulsetime):3-SETs-Writes:220cycles(550ns);7-SETs-Writes:460cycles(1150ns).
Endurance5*106writesMiscAssuminganeffectivewearlevelingscheme(e.
g.
,[32]),whichmakesthewholememoryachieve95%oftheav-eragecelllifetime.
UsingWritePausing[66]technique.
UsingWrite-through(bypassingrowbuffer)89新型非易失存储器性能和寿命优化关键技术研究表5.
2RRM-QnD详细配置参数Table5.
2TheconfigurationofRRM-QnD.
RRM-QnDMonitorStorage4KBentrycoverage,24-way,256setsAccesslatency4-cyclehot_threshold16QnD_threshold32LLCcoveragerate4*OverheadEachentryrequires128-bitstorage:–1-bitvalid–52-bitadd_tag–1-bithot–6-bitdirty_write_counter–64-bitfast_write_vector–4-bitdecay_counterTotalstoragerequirementis96KB(1.
56%ofLLC)MergedRefreshQueueSize64entriesReservedEntryNumber8entriesOverheadEachentryrequires65-bitstorage:–1-bitvalid–58-bitaddr–1-biturgent–1-bitspeedmode–4-bitdecay_counterTotalstoragerequirementis0.
5KB.
RequestPriorityFastRefreshRequestwithhighpriority.
UrgentSlowRefreshRequestwithhighpriority.
Non-UrgentSlowRefreshRequestwithlowpriority.
WearoutManageExpectedMemoryLifetime:8yearsCheckPeriod:250,000nsRatiostartgap:0.
95表5.
3实验测试程序Table5.
3Theworkloadusedintheexperiments.
WorkloadMPKIWorkloadMPKIbwave11.
69GemsFDTD26.
56hmmer2.
84lbm55.
15leslie3d10.
46libquantum52.
07mcf73.
42milc34.
40zeusmp7.
64MIX_1mcf+bwave+zeusmp+milcMIX_2GemsFDTD+libquantum+lbm+leslie3d90第6章全文总结第6章全文总结随着处理器性能的提升,现有存储系统已逐渐无法满足高性能处理器的需求,进而成为系统整体性能提升的瓶颈.
现有存储系统在访问速度和能耗两方面面临着巨大的挑战.
新型非易失存储器件的出现为提高存储系统的能效比提供了新的选择.
近年来,学术界和工业界开始尝试使用新型非易失存储器件替代原有的存储器件,提出了一系列解决方案.
但是,这种做法依然存在着诸多问题.
首先,新型非易失存储器件存在诸多与传统存储器件不同的电气特性,如读写延迟不对称、写寿命有限等,这使得直接使用这类器件替换原有存储器件无法发挥其优势;其次,现有的软件系统都是基于原有存储器件特性进行开发的,其算法和数据结构的设计也是基于原有期间进行优化,这些算法可能不适用于新的存储器件;最后,由于新型存储器件的引入,系统的设计可能面临着新的问题.
长期以来,计算机硬件性能的提升来源于器件领域和计算机体系结构领域共同的努力.
这种合作通常表现为两种形式:一方面,器件领域更关注器件的静态特性(如:读/写延迟,寿命等),而体系结构领域则致力于调整计算机的硬件结构,使其能够更好地适应器件的特性;另一方面,体系结构工程师将对于器件的需求提交给器件工程师,而器件工程师则会调整器件的结构和参数以满足特定系统的需求.
但是,由于之前的研究中往往追求"完美"的器件(如:更短的读/写延迟,更长的寿命),NVM器件中不同参数间存在的动态权衡关系并没有得到器件领域足够的重视,因此体系结构领域也并没有充分利用这些动态特性.
本文针对NVM存储器在实际应用中所面临的写访问性能低、写寿命短的问题进行了研究,提出了一系列性能、寿命优化方案.
本文提出的优化方案通过对器件特性和应用特性进行综合利用,避免了传统体系结构优化方法中存在的不足之处,为在现有计算机系统中更好地使用NVM存储器提供了新的思路.
本章对全文的主要研究内容进行了总结,并对未来研究工作进行了展望.
91新型非易失存储器性能和寿命优化关键技术研究6.
1本文工作总结在第2章中,我们对基于NVM材料自身动态权衡关系的相关优化工作进行了梳理和总结.
从中我们发现,虽然现有优化工作中已经开始考虑对器件自身特性加以利用,但是这些工作大多存在软硬件开销大、优化目标单一、需要对系统做较大改动、难以与现有系统集成等问题.
此外,现有工作未能对应用特性进行深入挖掘,且没有考虑应用特性的变化情况,因此难以适应真实应用场景的需求.
针对这些问题,本文进行了一系列研究工作并取得了如下成果:1.
基于写热点区域感知的MLCPCM主存储器寿命与性能平衡优化方法.
通过对典型应用写访存请求空间分布特征进行分析可知,在有限时间内应用的写访存目标地址具有高度的局部性特征,即存在明显的写访存热点区域和非热点区域.
基于这一发现,本文通过将写访存热点区域感知和动态写模式选择相结合,提出了一种新的MLCPCM主存储器寿命与性能平衡优化机制.
与原有相关技术相比,该机制可实现在不过多影响性能的前提下大幅提升存储器使用寿命.
同时,该机制的硬件开销小,且不需要对现有系统做大幅度修改,易于与现有软硬件系统进行集成.
基于全系统模拟和真实应用的实验结果表明,与基准系统相比,该机制可使MLCPCM主存储器的寿命由0.
3年提升至6.
4年,同时性能只损失约10%.
此外,本文还分析了该机制中关键参数对系统性能和存储器寿命的影响,为用户根据实际需要进一步调节该机制提供了指导.
2.
基于写访存负载感知的MLCPCM主存储器性能优化方法.
通过对典型应用写访存请求的时间分布特征进行分析可知,系统中的写访存请求具有时间分布不均匀的特性,即存在写访存密集时段和非密集时段.
基于这一特性,本文提出了一种基于写访存负载感知的轻量级MLCPCM主存储器性能优化机制.
根据该机制,当系统中写访存负载压力大时,写访存请求将临时使用快写模式执行,待写访存压力降低时再使用慢写方式对其进行刷新.
基于这种方式,该机制在提升系统性能的同时并未使存储器寿命大幅降低.
基于全系统模拟和真实应用的实验结果表明,该机制可使系统性能平均提升30.
9%,同时存储器寿命依然达到7.
58年.
此外,本文还分析了该机制中关键参数对系统性能和存储器寿命的影响.
92第6章全文总结3.
基于应为行为特征感知和存储器老化监测的MLCPCM主存储器性能与寿命协同优化方法.
在前两项研究工作的基础上,本文通过分析不同应用特征对于优化的需求,提出了一种自适应的MLCPCM主存储器性能与寿命协同优化框架.
该框架综合考虑了写访存请求的空间分布特征、时间分布特征、系统负载变化情况、存储器老化情况,针对应用所表现出的特性,实时地在不同优化机制间做出选择,从而实现MLCPCM主存储器性能与寿命的协同优化.
实验结果表明,与传统方法相比,该框架综合考虑了多种因素对MLCPCM主存储器性能和寿命的影响,在避免对系统做过多改动的同时实现了不同目标的协同优化.
6.
2未来工作展望本文针对MLCPCM主存储器写访问延迟长、写寿命有限的问题进行了研究,通过对器件自身特性加以利用,分别提出了寿命与性能平衡优化方法、性能优化方法和寿命-性能协同优化方法.
这些方法避免了传统方法中优化目标单一、软硬件开销大的问题,可在尽量少改动既有软硬件结构的前提下被集成至现有商用计算系统中.
然而,该类研究中仍有很多尚未解决的问题,基于本文的研究内容,未来的研究可从以下几个方面展开:1.
对于新器件或新动态权衡关系的分析和应用物理学和器件领域研究的不断发展,为了体系结构研究提供了新的机遇:一方面,随着新的材料被应用于存储,体系结构设计人员需要考虑这些基于新材料的器件中不同于传统器件的特性;另一方面,随着对现有NVM材料研究的深入,新的动态权衡关系不断被发现.
如何利用这些新材料和新的动态权衡关系进行计算机体系结构层面的优化设计,将是一个非常具有挑战性的问题.
2.
对于同一器件中不同动态权衡关系的协同应用设计现有的研究工作是利用器件的一项动态权衡关系进行优化设计,但是在真实的器件中往往同时存在多个动态权衡关系.
因此,如何同时利用多个动态权衡关系进行优化设计是一个非常具有挑战性的问题.
3.
多个动态权衡关系协同应用条件下参数组合的优化在利用动态权衡关系进行优化设计的过程中,往往需要引入新的辅助结构,这增加了系统中参数的数量;同时,系统中原有参数的选择也会对新引入的辅助结93新型非易失存储器性能和寿命优化关键技术研究构的性能造成影响.
这些问题使得原有芯片设计中的经验参数无法满足新的系统设计需要.
因此,如何针对基于器件动态权衡关系的设计,在更大的设计空间内探索优化的参数组合,将是体系结构研究人员和设计人员需要面对的一个很重要的问题.
4.
新型应用的特征与器件特性相结合的优化基于器件动态权衡特性进行系统结构设计依赖于对应用行为特征的分析和利用.
因此,随着人工智能、生物信息学、数据流处理等新型应用的不断涌现,如何分析、挖掘这些新的应用中的特征,寻找这些特征与器件特性的结合点,将成为此类研究工作的一个重点.
94参考文献参考文献[1]YouTubeCompanyStatistics.
[C/OL]//.
2018.
https://www.
statisticbrain.
com/youtube-statistics/.
[2]FacebookStatistics.
[C/OL]//.
2018.
https://www.
omnicoreagency.
com/facebook-statistics/.
[3]DongX,MuralimanoharN,JouppiNP,etal.
Leveraging3DPCRAMtechnologiestoreducecheckpointoverheadforfutureexascalesystems[C/OL]//ProceedingsoftheACM/IEEEConferenceonHighPerformanceComputing,SC2009,November14-20,2009,Portland,Oregon,USA.
2009.
http://doi.
acm.
org/10.
1145/1654059.
1654117.
DOI:10.
1145/1654059.
1654117.
[4]GiridharB,CieslakM,DuggalD,etal.
ExploringDRAMorganizationsforenergy-efficientandresilientexascalememories[C/OL]//InternationalConferenceforHighPerformanceComputing,Networking,StorageandAnalysis,SC'13,Denver,CO,USA-November17-21,2013.
2013:23:1–23:12.
http://doi.
acm.
org/10.
1145/2503210.
2503215.
DOI:10.
1145/2503210.
2503215.
[5]MittalS,VetterJS.
ASurveyofMethodsforAnalyzingandImprovingGPUEnergyEfficiency[J/OL].
ACMComput.
Surv.
,2014,47(2):19:1–19:23.
http://doi.
acm.
org/10.
1145/2636342.
DOI:10.
1145/2636342.
[6]VetterJS,MittalS.
OpportunitiesforNonvolatileMemorySystemsinExtreme-ScaleHigh-PerformanceComputing[J/OL].
ComputinginScienceandEngineering,2015,17(2):73–82.
https://doi.
org/10.
1109/MCSE.
2015.
4.
DOI:10.
1109/MCSE.
2015.
4.
[7]BarrosoLA,ClidarasJ,HlzleU.
TheDatacenterasaComputer:AnIntroductiontotheDesignofWarehouse-ScaleMachines,SecondEdition[M/OL].
SynthesisLecturesonComputerArchitecture.
Morgan&ClaypoolPublishers,2013.
https://doi.
org/10.
2200/S00516ED2V01Y201306CAC024.
DOI:10.
2200/S00516ED2V01Y201306CAC024.
ISBN:9781627050098.
[8]MalladiKT,NothaftFA,PeriyathambiK,etal.
Towardsenergy-proportionaldatacentermemorywithmobileDRAM[C/OL]//39thInternationalSymposiumonComputerAr-chitecture(ISCA2012),June9-13,2012,Portland,OR,USA.
2012:37–48.
https://doi.
org/10.
1109/ISCA.
2012.
6237004.
DOI:10.
1109/ISCA.
2012.
6237004.
[9]MittalS,VetterJS,LiD.
ASurveyOfArchitecturalApproachesforManagingEm-beddedDRAMandNon-VolatileOn-ChipCaches[J/OL].
IEEETrans.
ParallelDistrib.
Syst.
,2015,26(6):1524–1537.
https://doi.
org/10.
1109/TPDS.
2014.
2324563.
DOI:10.
1109/TPDS.
2014.
2324563.
95新型非易失存储器性能和寿命优化关键技术研究[10]CaulfieldAM,CoburnJ,MollovTI,etal.
UnderstandingtheImpactofEmergingNon-VolatileMemoriesonHigh-Performance,IO-IntensiveComputing[C/OL]//ConferenceonHighPerformanceComputingNetworking,StorageandAnalysis,SC2010,NewOr-leans,LA,USA,November13-19,2010.
2010:1–11.
https://doi.
org/10.
1109/SC.
2010.
56.
DOI:10.
1109/SC.
2010.
56.
[11]MezaJ,LuoY,KhanS,etal.
Acaseforefficienthardware/softwarecooperativemanage-mentofstorageandmemory[J].
2013.
[12]ChenS,GibbonsPB,NathS.
RethinkingDatabaseAlgorithmsforPhaseChangeMem-ory[C/OL]//CIDR2011,FifthBiennialConferenceonInnovativeDataSystemsRe-search,Asilomar,CA,USA,January9-12,2011,OnlineProceedings.
2011:21–31.
http://cidrdb.
org/cidr2011/Papers/CIDR11_Paper3.
pdf.
[13]FackenthalR,KitagawaM,OtsukaW,etal.
19.
7A16GbReRAMwith200MB/swriteand1GB/sreadin27nmtechnology[C]//2014IEEEInternationalSolid-StateCircuitsConferenceDigestofTechnicalPapers(ISSCC).
2014:338–339.
DOI:10.
1109/ISSCC.
2014.
6757460.
[14]IntelIntroducestheWorld'sMostResponsiveDataCenterSolidStateDrive.
[C/OL]//.
2017.
https://newsroom.
intel.
com/news/intel-introduces-worlds-most-responsive-data-center-solid-state-drive/.
[15]SANDISKANDHPLAUNCHPARTNERSHIPTOCREATEMEMORY-DRIVENCOMPUTINGSOLUTIONS.
[C/OL]//.
2016.
https://www.
sandisk.
com/about/media-center/press-releases/2015/sandisk-and-hp-launch-partnership.
[16]OAKRIDGETOACQUIRENEXTGENERATIONSUPERCOMPUTER.
[C/OL]//.
2014.
https://www.
olcf.
ornl.
gov/2014/11/14/oak-ridge-to-acquire-next-generation-supercomputer/.
[17]JiangL,ZhangY,ChildersBR,etal.
FPB:Fine-grainedPowerBudgetingtoImproveWriteThroughputofMulti-levelCellPhaseChangeMemory[C/OL]//45thAnnualIEEE/ACMInternationalSymposiumonMicroarchitecture,MICRO2012,Vancouver,BC,Canada,December1-5,2012.
2012:1–12.
https://doi.
org/10.
1109/MICRO.
2012.
10.
DOI:10.
1109/MICRO.
2012.
10.
[18]LiZ,ZhouR,LiT.
Exploringhigh-performanceandenergyproportionalinterfaceforphasechangememorysystems[C/OL]//19thIEEEInternationalSymposiumonHighPerformanceComputerArchitecture,HPCA2013,Shenzhen,China,February23-27,2013.
2013:210–221.
https://doi.
org/10.
1109/HPCA.
2013.
6522320.
DOI:10.
1109/HPCA.
2013.
6522320.
[19]HamTJ,ChelepalliBK,XueN,etal.
Disintegratedcontrolforenergy-efficientandhet-erogeneousmemorysystems[C/OL]//19thIEEEInternationalSymposiumonHighPer-formanceComputerArchitecture,HPCA2013,Shenzhen,China,February23-27,2013.
2013:424–435.
https://doi.
org/10.
1109/HPCA.
2013.
6522338.
DOI:10.
1109/HPCA.
2013.
6522338.
96参考文献[20]QureshiMK,SrinivasanV,RiversJA.
Scalablehighperformancemainmemorysys-temusingphase-changememorytechnology[C/OL]//36thInternationalSymposiumonComputerArchitecture(ISCA2009),June20-24,2009,Austin,TX,USA.
2009:24–33.
http://doi.
acm.
org/10.
1145/1555754.
1555760.
DOI:10.
1145/1555754.
1555760.
[21]LeeHG,BaekS,NicopoulosC,etal.
Anenergy-andperformance-awareDRAMcachearchitectureforhybridDRAM/PCMmainmemorysystems[C/OL]//IEEE29thInterna-tionalConferenceonComputerDesign,ICCD2011,Amherst,MA,USA,October9-12,2011.
2011:381–387.
https://doi.
org/10.
1109/ICCD.
2011.
6081427.
DOI:10.
1109/ICCD.
2011.
6081427.
[22]MezaJ,ChangJ,YoonH,etal.
EnablingEfficientandScalableHybridMemoriesUs-ingFine-GranularityDRAMCacheManagement[J/OL].
ComputerArchitectureLetters,2012,11(2):61–64.
https://doi.
org/10.
1109/L-CA.
2012.
2.
DOI:10.
1109/L-CA.
2012.
2.
[23]QureshiMK,FranceschiniM,Lastras-MontaoLA.
ImprovingreadperformanceofPhaseChangeMemoriesviaWriteCancellationandWritePausing[C/OL]//16thIn-ternationalConferenceonHigh-PerformanceComputerArchitecture(HPCA-162010),9-14January2010,Bangalore,India.
2010:1–11.
https://doi.
org/10.
1109/HPCA.
2010.
5416645.
DOI:10.
1109/HPCA.
2010.
5416645.
[24]QureshiMK,FranceschiniM,JagmohanA,etal.
PreSET:Improvingperformanceofphasechangememoriesbyexploitingasymmetryinwritetimes[C/OL]//39thInterna-tionalSymposiumonComputerArchitecture(ISCA2012),June9-13,2012,Portland,OR,USA.
2012:380–391.
https://doi.
org/10.
1109/ISCA.
2012.
6237033.
DOI:10.
1109/ISCA.
2012.
6237033.
[25]ZhouP,ZhaoB,YangJ,etal.
Adurableandenergyefficientmainmemoryusingphasechangememorytechnology[C/OL]//36thInternationalSymposiumonComputerAr-chitecture(ISCA2009),June20-24,2009,Austin,TX,USA.
2009:14–23.
http://doi.
acm.
org/10.
1145/1555754.
1555759.
DOI:10.
1145/1555754.
1555759.
[26]YangB,LeeJ,KimJ,etal.
ALowPowerPhase-ChangeRandomAccessMemoryusingaData-ComparisonWriteScheme[C/OL]//InternationalSymposiumonCircuitsandSys-tems(ISCAS2007),27-20May2007,NewOrleans,Louisiana,USA.
2007:3014–3017.
https://doi.
org/10.
1109/ISCAS.
2007.
377981.
DOI:10.
1109/ISCAS.
2007.
377981.
[27]LeeBC,IpekE,MutluO,etal.
Architectingphasechangememoryasascalabledramalter-native[C/OL]//36thInternationalSymposiumonComputerArchitecture(ISCA2009),June20-24,2009,Austin,TX,USA.
2009:2–13.
http://doi.
acm.
org/10.
1145/1555754.
1555758.
DOI:10.
1145/1555754.
1555758.
[28]ChoS,LeeH.
Flip-N-Write:asimpledeterministictechniquetoimprovePRAMwriteper-formance,energyandendurance[C/OL]//42stAnnualIEEE/ACMInternationalSympo-siumonMicroarchitecture(MICRO-422009),December12-16,2009,NewYork,NewYork,USA.
2009:347–357.
http://doi.
acm.
org/10.
1145/1669112.
1669157.
DOI:10.
1145/1669112.
1669157.
97新型非易失存储器性能和寿命优化关键技术研究[29]JacobvitzAN,CalderbankAR,SorinDJ.
Cosetcodingtoextendthelifetimeofmem-ory[C/OL]//19thIEEEInternationalSymposiumonHighPerformanceComputerAr-chitecture,HPCA2013,Shenzhen,China,February23-27,2013.
2013:222–233.
https://doi.
org/10.
1109/HPCA.
2013.
6522321.
DOI:10.
1109/HPCA.
2013.
6522321.
[30]BockS,ChildersBR,MelhemRG,etal.
Analyzingtheimpactofuselesswrite-backsontheenduranceandenergyconsumptionofPCMmainmemory[C/OL]//IEEEInter-nationalSymposiumonPerformanceAnalysisofSystemsandSoftware,ISPASS2011,10-12April,2011,Austin,TX,USA.
2011:56–65.
https://doi.
org/10.
1109/ISPASS.
2011.
5762715.
DOI:10.
1109/ISPASS.
2011.
5762715.
[31]FangY,LiH,LiX.
SoftPCM:EnhancingEnergyEfficiencyandLifetimeofPhaseChangeMemoryinVideoApplicationsviaApproximateWrite[C/OL]//21stIEEEAsianTestSymposium,ATS2012,Niigata,Japan,November19-22,2012.
2012:131–136.
https://doi.
org/10.
1109/ATS.
2012.
57.
DOI:10.
1109/ATS.
2012.
57.
[32]QureshiMK,KaridisJ,FranceschiniM,etal.
EnhancinglifetimeandsecurityofPCM-basedmainmemorywithstart-gapwearleveling[C]//Microarchitecture,2009.
MICRO-42.
42ndAnnualIEEE/ACMInternationalSymposiumon.
IEEE.
2009:14–23.
[33]AlibartF,GaoL,HoskinsBD,etal.
Highprecisiontuningofstateformemristivedevicesbyadaptablevariation-tolerantalgorithm[J].
Nanotechnology,2012,23(7):075201.
[34]LiJ,WuC.
-I,LewisSC,etal.
Anovelreconfigurablesensingschemeforvariablelevelstorageinphasechangememory[C]//MemoryWorkshop(IMW),20113rdIEEEInter-national.
IEEE.
2011:1–4.
[35]LiuX,PatelV,TanZ,etal.
High-qualityaluminum-oxidetunnelbarriersforscalable,floating-gaterandom-accessmemories(fgram)[C]//Proc.
Int.
Conf.
onMemoryTech-nologyandDesign(ICMTD).
Citeseer.
2007:235–237.
[36]YuH.
-C,LinK.
-C,LinK.
-F,etal.
Cyclingenduranceoptimizationschemefor1MbSTT-MRAMin40nmtechnology[C]//Solid-StateCircuitsConferenceDigestofTechnicalPapers(ISSCC),2013IEEEInternational.
IEEE.
2013:224–225.
[37]LikharevKK.
Layeredtunnelbarriersfornonvolatilememorydevices[J].
AppliedPhysicsLetters,1998,73(15):2137–2139.
[38]PickettMD,StrukovDB,BorghettiJL,etal.
Switchingdynamicsintitaniumdioxidememristivedevices[J].
JournalofAppliedPhysics,2009,106(7):074508.
[39]McPhersonJ,KimJ,ShanwareA,etal.
Thermochemicaldescriptionofdielectricbreak-downinhighdielectricconstantmaterials[J].
AppliedPhysicsLetters,2003,82(13):2121–2123.
[40]YangJJ,StrukovDB,StewartDR.
Memristivedevicesforcomputing[J].
Naturenan-otechnology,2013,8(1):13.
[41]StrukovDB.
Endurance-write-speedtradeoffsinnonvolatilememories[J].
AppliedPhysicsA,2016,122(4):302.
[42]MottNF,GurneyRW.
Electronicprocessesinioniccrystals[J].
1940.
98参考文献[43]ZhangW,LiT.
Characterizingandmitigatingtheimpactofprocessvariationsonphasechangebasedmemorysystems[C]//Proceedingsofthe42ndAnnualIEEE/ACMInter-nationalSymposiumonMicroarchitecture.
ACM.
2009:2–13.
[44]JiangL,ZhaoB,ZhangY,etal.
ImprovingwriteoperationsinMLCphasechangemem-ory[C]//HighPerformanceComputerArchitecture(HPCA),2012IEEE18thInterna-tionalSymposiumon.
IEEE.
2012:1–10.
[45]MantegazzaD,IelminiD,VaresiE,etal.
StatisticalanalysisandmodelingofprogrammingandretentioninPCMarrays[C]//ElectronDevicesMeeting,2007.
IEDM2007.
IEEEInternational.
IEEE.
2007:311–314.
[46]LiQ,JiangL,ZhangY,etal.
Compilerdirectedwrite-modeselectionforhighperformancelowpowervolatilePCM[J].
ACMSIGPLANNotices,2013,48(5):101–110.
[47]AwasthiM,ShevgoorM,SudanK,etal.
Efficientscrubmechanismsforerror-proneemergingmemories[C]//HighPerformanceComputerArchitecture(HPCA),2012IEEE18thInternationalSymposiumon.
IEEE.
2012:1–12.
[48]JungC.
-M,LeeE.
-S,MinK.
-S,etal.
CompactVerilog-Amodelofphase-changeRAMtransientbehaviorsformulti-levelapplications[J].
SemiconductorScienceandTechnol-ogy,2011,26(10):105018.
[49]KimK,AhnSJ.
ReliabilityinvestigationsformanufacturablehighdensityPRAM[C]//ReliabilityPhysicsSymposium,2005.
Proceedings.
43rdAnnual.
2005IEEEInternational.
IEEE.
2005:157–162.
[50]ZhangM,ZhangL,JiangL,etal.
BalancingperformanceandlifetimeofMLCPCMbyusingaregionretentionmonitor[C]//HighPerformanceComputerArchitecture(HPCA),2017IEEEInternationalSymposiumon.
IEEE.
2017:385–396.
[51]ChoiY,SongI,ParkM.
-H,etal.
A20nm1.
8V8GbPRAMwith40MB/sprogramband-width[C]//Solid-StateCircuitsConferenceDigestofTechnicalPapers(ISSCC),2012IEEEInternational.
IEEE.
2012:46–48.
[52]ZebchukJ,SrinivasanV,QureshiMK,etal.
Ataglesscoherencedirectory[C/OL]//42stAnnualIEEE/ACMInternationalSymposiumonMicroarchitecture(MICRO-422009),December12-16,2009,NewYork,NewYork,USA.
2009:423–434.
http://doi.
acm.
org/10.
1145/1669112.
1669166.
DOI:10.
1145/1669112.
1669166.
[53]ZhaoH,ShriramanA,DwarkadasS.
SPACE:sharingpattern-baseddirectorycoherenceformulticorescalability[C/OL]//19thInternationalConferenceonParallelArchitectureandCompilationTechniques,PACT2010,Vienna,Austria,September11-15,2010.
2010:135–146.
http://doi.
acm.
org/10.
1145/1854273.
1854294.
DOI:10.
1145/1854273.
1854294.
[54]KelmJH,JohnsonMR,LumettaSS,etal.
WAYPOINT:scalingcoherencetothousand-corearchitectures[C/OL]//19thInternationalConferenceonParallelArchitectureandCompilationTechniques,PACT2010,Vienna,Austria,September11-15,2010.
2010:99–110.
http://doi.
acm.
org/10.
1145/1854273.
1854291.
DOI:10.
1145/1854273.
1854291.
99新型非易失存储器性能和寿命优化关键技术研究[55]SánchezD,KozyrakisC.
SCD:Ascalablecoherencedirectorywithflexiblesharersetencoding[C/OL]//18thIEEEInternationalSymposiumonHighPerformanceComputerArchitecture,HPCA2012,NewOrleans,LA,USA,25-29February,2012.
2012:129–140.
https://doi.
org/10.
1109/HPCA.
2012.
6168950.
DOI:10.
1109/HPCA.
2012.
6168950.
[56]FangL,LiuP,HuQ,etal.
Buildingexpressive,area-efficientcoherencedirecto-ries[C/OL]//Proceedingsofthe22ndInternationalConferenceonParallelArchitecturesandCompilationTechniques,Edinburgh,UnitedKingdom,September7-11,2013.
2013:299–308.
https://doi.
org/10.
1109/PACT.
2013.
6618826.
DOI:10.
1109/PACT.
2013.
6618826.
[57]SánchezD,KozyrakisC.
TheZCache:DecouplingWaysandAssociativity[C/OL]//43rdAnnualIEEE/ACMInternationalSymposiumonMicroarchitecture,MICRO2010,4-8December2010,Atlanta,Georgia,USA.
2010:187–198.
https://doi.
org/10.
1109/MICRO.
2010.
20.
DOI:10.
1109/MICRO.
2010.
20.
[58]ZhangL,StrukovDB,SaadeldeenH,etal.
SpongeDirectory:flexiblesparsedirectoriesutilizingmulti-levelmemristors[C/OL]//InternationalConferenceonParallelArchitec-turesandCompilation,PACT'14,Edmonton,AB,Canada,August24-27,2014.
2014:61–74.
http://doi.
acm.
org/10.
1145/2628071.
2628081.
DOI:10.
1145/2628071.
2628081.
[59]DengZ,ZhangL,FranklinD,etal.
HerniatedHashTables:ExploitingMulti-LevelPhaseChangeMemoryforIn-PlaceDataExpansion[C/OL]//Proceedingsofthe2015Inter-nationalSymposiumonMemorySystems,MEMSYS2015,WashingtonDC,DC,USA,October5-8,2015.
2015:247–257.
http://doi.
acm.
org/10.
1145/2818950.
2818981.
DOI:10.
1145/2818950.
2818981.
[60]QureshiMK,FranceschiniM,Lastras-MontaoLA,etal.
Morphablememorysystem:arobustarchitectureforexploitingmulti-levelphasechangememories[C/OL]//37thIn-ternationalSymposiumonComputerArchitecture(ISCA2010),June19-23,2010,Saint-Malo,France.
2010:153–162.
http://doi.
acm.
org/10.
1145/1815961.
1815981.
DOI:10.
1145/1815961.
1815981.
[61]DongX,XieY.
AdaMS:AdaptiveMLC/SLCphase-changememorydesignforfilestor-age[C/OL]//Proceedingsofthe16thAsiaSouthPacificDesignAutomationConference,ASP-DAC2011,Yokohama,Japan,January25-27,2011.
2011:31–36.
https://doi.
org/10.
1109/ASPDAC.
2011.
5722206.
DOI:10.
1109/ASPDAC.
2011.
5722206.
[62]ZhangL,NeelyB,FranklinD,etal.
MellowWrites:ExtendingLifetimeinResistiveMemoriesthroughSelectiveSlowWriteBacks[C/OL]//43rdACM/IEEEAnnualIn-ternationalSymposiumonComputerArchitecture,ISCA2016,Seoul,SouthKorea,June18-22,2016.
2016:519–531.
https://doi.
org/10.
1109/ISCA.
2016.
52.
DOI:10.
1109/ISCA.
2016.
52.
[63]DengZ,ZhangL,MishraN,etal.
Memorycocktailtherapy:agenerallearning-basedframeworktooptimizedynamictradeoffsinNVMs[C/OL]//Proceedingsofthe50thAnnualIEEE/ACMInternationalSymposiumonMicroarchitecture,MICRO2017,Cam-bridge,MA,USA,October14-18,2017.
2017:232–244.
http://doi.
acm.
org/10.
1145/3123939.
3124548.
DOI:10.
1145/3123939.
3124548.
100参考文献[64]ZhouP,ZhangY,YangJ.
Thedesignofsustainablewirelesssensornetworknodeusingsolarenergyandphasechangememory[C/OL]//Design,AutomationandTestinEurope,DATE13,Grenoble,France,March18-22,2013.
2013:869–872.
https://doi.
org/10.
7873/DATE.
2013.
183.
DOI:10.
7873/DATE.
2013.
183.
[65]JiangL,ZhangY,YangJ.
Enhancingphasechangememorylifetimethroughfine-grainedcurrentregulationandvoltageupscaling[C/OL]//Proceedingsofthe2011InternationalSymposiumonLowPowerElectronicsandDesign,2011,Fukuoka,Japan,August1-3,2011.
2011:127–132.
http://portal.
acm.
org/citation.
cfmid=2016837&CFID=34981777&CFTOKEN=25607807.
[66]QureshiMK,FranceschiniMM,Lastras-MontanoLA.
Improvingreadperformanceofphasechangememoriesviawritecancellationandwritepausing[C]//HPCA-162010TheSixteenthInternationalSymposiumonHigh-PerformanceComputerArchitecture.
IEEE.
2010:1–11.
[67]JiangL,ZhangY,YangJ.
ER:elasticRESETforlowpowerandlongenduranceMLCbasedphasechangememory[C/OL]//InternationalSymposiumonLowPowerElectron-icsandDesign,ISLPED'12,RedondoBeach,CA,USA-July30-August01,2012.
2012:39–44.
http://doi.
acm.
org/10.
1145/2333660.
2333672.
DOI:10.
1145/2333660.
2333672.
[68]HayA,StraussK,SherwoodT,etal.
PreventingPCMbanksfromseizingtoomuchpower[C/OL]//44rdAnnualIEEE/ACMInternationalSymposiumonMicroarchitec-ture,MICRO2011,PortoAlegre,Brazil,December3-7,2011.
2011:186–195.
http://doi.
acm.
org/10.
1145/2155620.
2155642.
DOI:10.
1145/2155620.
2155642.
[69]LiQ,JiangL,ZhangY,etal.
Compilerdirectedwrite-modeselectionforhighperformancelowpowervolatilePCM[C/OL]//SIGPLAN/SIGBEDConferenceonLanguages,Com-pilersandToolsforEmbeddedSystems2013,LCTES'13,Seattle,WA,USA,June20-21,2013.
2013:101–110.
http://doi.
acm.
org/10.
1145/2465554.
2465564.
DOI:10.
1145/2465554.
2465564.
[70]QiuK,LiQ,XueCJ.
WriteModeAwareLoopTilingforHighPerformanceLowPowerVolatilePCM[C/OL]//The51stAnnualDesignAutomationConference2014,DAC'14,SanFrancisco,CA,USA,June1-5,2014.
2014:106:1–106:6.
http://doi.
acm.
org/10.
1145/2593069.
2593244.
DOI:10.
1145/2593069.
2593244.
[71]PanC,XieM,HuJ,etal.
3M-PCM:ExploitingmultiplewritemodesMLCphasechangemainmemoryinembeddedsystems[C/OL]//2014InternationalConferenceonHard-ware/SoftwareCodesignandSystemSynthesis,CODES+ISSS2014,UttarPradesh,India,October12-17,2014.
2014:33:1–33:10.
http://doi.
acm.
org/10.
1145/2656075.
2656076.
DOI:10.
1145/2656075.
2656076.
[72]KangD,BaekS,ChoiJ,etal.
Amnesiccachemanagementfornon-volatilemem-ory[C/OL]//IEEE31stSymposiumonMassStorageSystemsandTechnologies,MSST2015,SantaClara,CA,USA,May30-June5,2015.
2015:1–13.
https://doi.
org/10.
1109/MSST.
2015.
7208291.
DOI:10.
1109/MSST.
2015.
7208291.
101新型非易失存储器性能和寿命优化关键技术研究[73]PhalkeV,GopinathB.
AnInter-ReferenceGapModelforTemporalLocalityinProgramBehavior[C/OL]//Proceedingsofthe1995ACMSIGMETRICSjointinternationalcon-ferenceonMeasurementandmodelingofcomputersystems,Ottawa,Canada,May15-19,1995.
1995:291–300.
http://doi.
acm.
org/10.
1145/223587.
223620.
DOI:10.
1145/223587.
223620.
[74]LiuR,ShenD,YangC,etal.
NVMduet:unifiedworkingmemoryandpersistentstorearchitecture[C/OL]//ArchitecturalSupportforProgrammingLanguagesandOperatingSystems,ASPLOS'14,SaltLakeCity,UT,USA,March1-5,2014.
2014:455–470.
http://doi.
acm.
org/10.
1145/2541940.
2541957.
DOI:10.
1145/2541940.
2541957.
[75]LiuR,YangC,WuW.
OptimizingNANDflash-basedSSDsviaretentionrelax-ation[C/OL]//Proceedingsofthe10thUSENIXconferenceonFileandStorageTech-nologies,FAST2012,SanJose,CA,USA,February14-17,2012.
2012:11.
https://www.
usenix.
org/conference/fast12/optimizing-nand-flash-based-ssds-retention-relaxation.
[76]PanY,DongG,WuQ,etal.
Quasi-nonvolatileSSD:Tradingflashmemorynonvolatilitytoimprovestoragesystemperformanceforenterpriseapplications[C/OL]//18thIEEEInternationalSymposiumonHighPerformanceComputerArchitecture,HPCA2012,NewOrleans,LA,USA,25-29February,2012.
2012:179–188.
https://doi.
org/10.
1109/HPCA.
2012.
6168954.
DOI:10.
1109/HPCA.
2012.
6168954.
[77]ShiL,QiuK,ZhaoM,etal.
ErrorModelGuidedJointPerformanceandEnduranceOp-timizationforFlashMemory[J/OL].
IEEETrans.
onCADofIntegratedCircuitsandSystems,2014,33(3):343–355.
https://doi.
org/10.
1109/TCAD.
2013.
2288691.
DOI:10.
1109/TCAD.
2013.
2288691.
[78]MittalS,VetterJS.
ASurveyofTechniquesforModelingandImprovingReliabilityofComputingSystems[J/OL].
IEEETrans.
ParallelDistrib.
Syst.
,2016,27(4):1226–1238.
https://doi.
org/10.
1109/TPDS.
2015.
2426179.
DOI:10.
1109/TPDS.
2015.
2426179.
[79]QiuK,LiQ,XueCJ.
WritemodeawarelooptilingforhighperformancelowpowervolatilePCM[C]//DesignAutomationConference(DAC),201451stACM/EDAC/IEEE.
IEEE.
2014:1–6.
[80]PanC,XieM,HuJ,etal.
3M-PCM:ExploitingmultiplewritemodesMLCphasechangemainmemoryinembeddedsystems[C]//Hardware/SoftwareCodesignandSystemSyn-thesis(CODES+ISSS),2014InternationalConferenceon.
IEEE.
2014:1–10.
[81]KangD,BaekS,ChoiJ,etal.
Amnesiccachemanagementfornon-volatilememory[C]//MassStorageSystemsandTechnologies(MSST),201531stSymposiumon.
IEEE.
2015:1–13.
[82]LiuR.
-S,YangC.
-L,WuW.
OptimizingNANDflash-basedSSDsviaretentionrelax-ation[J].
Target,11(10):00.
[83]LiuR.
-S,ShenD.
-Y,YangC.
-L,etal.
NVMDuet:Unifiedworkingmemoryandpersistentstorearchitecture[J].
ACMSigplanNotices,2014,49(4):455–470.
[84]BinkertN,BeckmannB,BlackG,etal.
Thegem5simulator[J].
ACMSIGARCHCom-puterArchitectureNews,2011,39(2):1–7.
102参考文献[85]PorembaM,XieY.
Nvmain:Anarchitectural-levelmainmemorysimulatorforemerg-ingnon-volatilememories[C]//VLSI(ISVLSI),2012IEEEComputerSocietyAnnualSymposiumon.
IEEE.
2012:392–397.
[86]HenningJL.
SPECCPU2006benchmarkdescriptions[J].
ACMSIGARCHComputerAr-chitectureNews,2006,34(4):1–17.
[87]XuC,NiuD,MuralimanoharN,etal.
Overcomingthechallengesofcrossbarresis-tivememoryarchitectures[C/OL]//21stIEEEInternationalSymposiumonHighPerfor-manceComputerArchitecture,HPCA2015,Burlingame,CA,USA,February7-11,2015.
2015:476–488.
https://doi.
org/10.
1109/HPCA.
2015.
7056056.
DOI:10.
1109/HPCA.
2015.
7056056.
103新型非易失存储器性能和寿命优化关键技术研究104致谢致谢有时候即使走了很远,却依然清晰记着出发时的样子.
但是,当九年前我提交辞职申请重新踏上求学之路的时候,我并不清楚这一路要走多远、多久.
因此,在我即将结束学生生涯,踏上独自探索之路时,我想对这些年所有支持和帮助我的家人、老师、同学、朋友表示最衷心的感谢.
首先要感谢我的父母,如果没有他们的理解和支持,很难想象我是否能够坚持到今天.
我还要对我的导师刘志勇研究员表示感谢,虽然我五年前才正式成为您的学生,但您的言传身教以及对科研的执着从九年前就开始引领着我,在今后也将继续激励我前进.
感谢课题组组长张法老师,感谢您维护了课题组内宽容而又踏实的氛围,让我能够有空间和时间进行自由的学术探索,同时磨练自己独立科研的能力.
感谢何立强老师,是您手把手将我带进了科研的大门.
感谢课题组的同学们这些年来对我的帮助和支持,因为你们,这些年充满压力的生活才不那么枯燥.
感谢芝加哥大学计算机科学系FredericT.
Chong教授,感谢您为我提供了访问学习的机会,以及在我访问学习期间您对我指导和支持.
在RyersonHallRoom275的日子给了我继续从事科学探索的信心、勇气和方法.
感谢Intel公司的张轮凯博士这些年来对我的帮助和鼓励,你是位亦师亦友的好伙伴.
同样感谢印第安纳大学的姜雷助理教授对我的帮助,虽然我们合作的时间并不长,但是对我的帮助却是巨大的.
希望在今后的日子里我们能够继续合作.
此外,我还要感谢芝加哥大学计算机系的Bob、Dona、Nita以及其他所有工作人员在我访问学习期间对我的帮助,很高兴在地球的另一端能认识你们这些热情的人.
同样感谢在芝加哥期间遇到的所有朋友对我的鼓励和帮助.
感谢国家留学基金委对我的资助,让我有机会感受顶级名校的氛围、近距离学习一流科学家的工作方法,并有机会结识那么多热情、充满智慧的来自世界各地的朋友.
感谢我所有的长辈、亲人,这些年来你们的鼓励是我前进的动力.
最后,我要特别感谢我的夫人,周碧玉博士,感谢你在我消沉和失落时给105新型非易失存储器性能和寿命优化关键技术研究予的鼓励,能够遇到你是我的幸运.
感谢生活,让我褪去了稚气与青涩,成为了今天的我.
106作者简历及攻读学位期间发表的学术论文与研究成果作者简历及攻读学位期间发表的学术论文与研究成果姓名:张明喆性别:男出生日期:1985.
04籍贯:天津2013.
9–2018.
6中科院计算所计算机系统结构专业博士生2009.
9–2013.
6内蒙古大学计算机科学与技术专业硕士生2004.
9–2008.
6南京邮电大学计算机科学与技术专业本科生攻读博士学位期间发表的论文:[1]MingzheZhang,LunkaiZhang,LeiJiang,FredChong,andZhiyongLiu,"Quick-and-Dirty:ImprovingPerformanceofMLCPCMbyUsingTempo-raryShortWrites",The35thIEEEInternationalConferenceonComputerDesign(ICCD2017),Boston,MA,USA,November5-8,2017.
[2]MingzheZhang,LunkaiZhang,LeiJiang,ZhiyongLiu,andFredericT.
Chong,"BalancingPerformanceandLifetimeofMLCPCMbyUsingaRe-gionRetentionMonitor",2017IEEEInternationalSymposiumonHighPer-formanceComputerArchitecture(HPCA2017),Austin,TX,USA,February4-8,2017.
[3]MingzheZhang,YangguangShi,FaZhang,andZhiyongLiu,"COM-RANCE:ArapidmethodforNetwork-on-Chipdesignspaceexploration",The7thInternationalGreenandSustainableComputingConference(IGSC2016),Hangzhou,China,November7-9,2016.
[4]ShaoliLiu,TianshiChen,LingLi,XiLi,MingzheZhang,ChaoWang,HaiboMeng,XuehaiZhou,YunjiChen"FreeRider:Non-LocalAdaptiveNetwork-on-ChipRoutingwithPacket-CarriedPropagationofCongestionInforma-tion",IEEETransactionsonParallelandDistributedSystems(TPDS),Au-gust2015.
[5]LunkaiZhang,DmitriB.
Strukov,HebatallahSaadeldeen,DongruiFan,107新型非易失存储器性能和寿命优化关键技术研究MingzheZhang,DianaFranklin,"SpongeDirectory:flexiblesparsedirec-toriesutilizingmulti-levelmemristors",The23rdInternationalConferenceonParallelArchitecturesandCompilation(PACT2014),Edmonton,AB,Canada,August24-27,2014.
[6]XiaochunYe,DongruiFan,NinghuiSun,ShibinTang,MingzheZhang,HaoZhang,"SimICT:Afastandflexibleframeworkforperformanceandpowerevaluationoflarge-scalearchitecture",ACM/IEEEInternationalSym-posiumonLowPowerElectronicsandDesign(ISLPED2013),Beijing,China,September4-6,2013.
[7]张明喆,张法,刘志勇.
"基于动态权衡的新型非易失存储器件体系结构研究综述",《计算机研究与发展》(已录用).
[8]MingzheZhang,LunkaiZhang,LeiJiang,FredericT.
Chong,ZhiyongLiu.
"Quick-and-Dirty:AnArchitectureforHigh-PerformanceTemporaryShortWritesinMLCPCM".
SubmittedtoTransactionsonComputers(TC).
[9]MingzheZhang,LunkaiZhang,FredericT.
Chong,ZhiyongLiu.
"TowardEnergyEfficientOpticalNetwork-on-Chip".
SubmittedtoThe51stAnnualIEEE/ACMInternationalSymposiumonMicroarchitecture(MICRO2018).
[10]ZihaoWang,MingzheZhang,JingrongZhang,XiaohuaWan,ZhiyongLiu,FaZhang.
"Mmalloc:ADynamicMemoryManagementonMany-coreCo-processorfortheAccelerationofStorage-intensiveBioinformaticsApplica-tion".
SubmittedtoThe47thInternationalConferenceonParallelProcessing(ICPP2018).
攻读博士学位期间参加的科研项目:[1]国家自然科学基金重大国际合作项目"绿色网络–降低网络能耗的理论与应用"(基金号:61020106002),2011年1月-2015年1月[2]国家自然科学基金地区合作项目"大规模数据中心的功耗最小化和资源利用最大化"(基金号:61161160566),2012年1月-2015年4月[3]国家基金委国际合作项目"高效能数据中心–数据中心资源的优化组织与调度"(基金号:61520106005),2016年1月-2020年12月108作者简历及攻读学位期间发表的学术论文与研究成果攻读博士学位期间的获奖情况:[1]2017年国家奖学金[2]2017年中国科学院三好学生[3]2014年中国科学院三好学生109新型非易失存储器性能和寿命优化关键技术研究110

无忧云:服务器100G高防云服务器,bgpBGP云,洛阳BGP云服务器2核2G仅38.4元/月起

无忧云怎么样?无忧云值不值得购买?无忧云,无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点。目前,四川雅安机房,4...

易探云:香港CN2云服务器低至18元/月起,183.60元/年

易探云怎么样?易探云最早是主攻香港云服务器的品牌商家,由于之前香港云服务器性价比高、稳定性不错获得了不少用户的支持。易探云推出大量香港云服务器,采用BGP、CN2线路,机房有香港九龙、香港新界、香港沙田、香港葵湾等,香港1核1G低至18元/月,183.60元/年,老站长建站推荐香港2核4G5M+10G数据盘仅799元/年,性价比超强,关键是延迟全球为50ms左右,适合国内境外外贸行业网站等,如果需...

腾讯云CVM云服务器大硬盘方案400GB和800GB数据盘方案

最近看到群里的不少网友在搭建大数据内容网站,内容量有百万篇幅,包括图片可能有超过50GB,如果一台服务器有需要多个站点的话,那肯定默认的服务器50GB存储空间是不够用的。如果单独在购买数据盘会成本提高不少。这里我们看到腾讯云促销活动中有2款带大数据盘的套餐还是比较实惠的,一台是400GB数据盘,一台是800GB数据盘,适合他们的大数据网站。 直达链接 - 腾讯云 大数据盘套餐服务器这里我们看到当前...

youtube怎么读为你推荐
梦之队官网NBA梦之队是什么游戏?嘀动网在炫动网买鞋怎么样,是真的吗同ip网站一个域名能对应多个IP吗haokandianyingwang谁有好看电影网站啊、要无毒播放速度快的、在线等www.kknnn.com求有颜色的网站!要免费的www.bbb551.com100bbb网站怎样上不去了ww.66bobo.com有的网址直接输入***.com就行了,不用WWW, 为什么?baqizi.cc讲讲曾子杀猪的主要内容!官人放题戴望舒的《狱中题壁》莱姿蔓格莱姿蔓化妆品孕妇能用吗
重庆服务器租用 net主机 线路工具 tk域名 浙江独立 福建天翼加速 gtt 闪讯官网 域名与空间 宏讯 上海电信测速 lamp是什么意思 测速电信 江苏徐州移动 腾讯数据库 umax 香港ip zcloud windowsserver2012r2 域名商城 更多