论文部分内容阅读
随着应用程序规模的扩大,对内存系统的容量需求不断增加。传统动态随机存储器(Dynamic Random Access Memory,DRAM)的扩展性有限且刷新能耗高,难以满足未来应用程序的需求。新型非易失存储器(Non-Volatile Memory,NVM),例如相变存储器和阻变存储器,具有大容量、高性能和低功耗等优点,有潜力取代DRAM成为下一代内存的主要存储介质。然而,有限的耐久性缺陷(即每个存储单元写到一定次数后就会被磨穿)和长的写延时弱点成为制约NVM应用的主要障碍。 随着制造技术的进步,多层单元和低制程工艺技术广泛地应用于NVM存储器,分别用来增加每个存储单元的位数和提高存储芯片的集成密度,从而大量地增加设备的容量并且降低制造成本。然而,新技术导致存储单元的耐久性下降和每个单元的耐久性不均匀分布等问题,进一步恶化了NVM系统的寿命问题。为了缓解寿命问题,NVM系统广泛使用磨损均衡技术。磨损均衡致力于把上层不均匀的写访问通过调度均匀地写入到底层NVM单元中,从而不致出现某个单元快速磨穿并达到提升NVM系统寿命的目的。然而,经过深入分析发现,现有的磨损均衡算法均不适用于耐久性下降的多层单元NVM系统和耐久性不均匀的低制程NVM系统。 针对多层单元NVM系统的寿命问题,提出了一种基于分层存储的自适应磨损均衡算法(SAWL)。在存储单元的耐久性降低时,磨损均衡算法必须大量降低磨损均衡的粒度(例如区域大小),以减轻每个区域内部的不平衡写入,这显著增加了地址映射表的大小。由于内存控制器中SRAM高速缓存的容量限制,内存系统必须将整个映射表存储在NVM设备上,映射表的查找导致非常长的地址转换延时。为了解决该问题,SAWL使用了一种新颖的分层存储架构,将完整的地址映射表存储在主存储器(DRAM或者NVM),利用小容量的SRAM来缓存最近使用的映射条目,从而允许降低磨损均衡粒度来提升多层单元NVM系统寿命。为了提高SRAM缓存的命中率并且缓解磨损均衡导致的性能下降,SAWL根据负载的特征动态地调整磨损均衡的粒度,使得SRAM缓存能够容纳更多的地址条目。测试结果表明,SAWL可使多层单元NVM系统寿命达到最大寿命的93%,仅导致5%的IPC性能下降。 针对低制程NVM系统的寿命问题,提出了一种加权代数磨损均衡算法(WAWL)。传统的磨损均衡算法尽可能地均匀分布写操作,导致耐久性较低的存储单元被提前磨穿,因此WAWL通过平衡不同存储单元的磨损率(写入次数/耐久性)来提升NVM系统寿命。WAWL把整个内存空间划分为多个区域,相同耐久性的存储单元聚合在一个区域,当一个区域的写入次数达到交换阈值(即交换间隔)时,使用加权随机选择算法选择一个区域与之交换,并且同时改变区域内部内存行的相对位置。通过实验探测合适的交换间隔和选择概率,WAWL以动态随机的方式在整个存储器上实现均匀的磨损率分布并且可以抵挡针对内存系统的恶意攻击。测试结果表明,在恶意攻击程序和真实应用程序下,WAWL方法可使低制程NVM系统寿命分别达到最大寿命的66%和83%。 考虑到较长的写延时和磨损均衡带来的交换开销降低NVM性能,提出了一种新颖的写优先重叠服务读请求调度策略(WPoR)。在新型多分区结构的NVM存储器中,一个存储体内的不同分区在一定限制条件下可以实现并行操作。传统的调度方案未能利用多个分区并行的优点,导致低效的分区利用效率。为了解决该问题,WPoR改变队列请求的执行顺序,优先服务一个分区的写入请求,在冗长的写操作的内部执行阶段并行执行其他分区的读请求,从而提升内存系统的吞吐率。实验结果表明,WPoR比现有的调度策略能够获得更高的系统IPC。 最后,设计了一款可配置的非易失内存仿真器NVMsim,模拟基于DRAM缓存和NVM存储器的混合内存架构,能精确仿真混合内存系统中磨损均衡算法、缓存管理算法和请求队列调度策略,并能统计读写延时、性能和寿命指标。将所设计的仿真器同真实硬件平台进行了对比,实验结果表明NVMsim准确可信。本文提出的算法的实验评估均在此模拟器上进行。