论文部分内容阅读
动态随机访问存储器(DRAM,Dynamic Random Access Memory)由于其较高的存储密度,较快的访问速度,成熟的制造工艺,作为主存储器(又称内存)被广泛地应用到计算系统的存储层次(Memory Hierarchy)当中。随着现代计算机系统向着资源共享的趋势不断发展,以及功耗和能效问题对处理器发展的制约,DRAM访问安全与DRAM功耗优化是设计DRAM内存架构所面临的两个重要问题。一方面,由于不同程序对于共享内存的竞争会产生时序信道(TimingChannel),造成信息泄露;另一方面,DRAM刷新功耗在内存系统乃至整个处理器的功耗中占据了不可忽视的比例。 本文在综述DRAM时序信道保护和DRAM刷新功耗优化的国内外研究进展的基础上,针对DRAM安全限制下的性能优化和可靠性限制下的能效优化两个方面开展了深入研究,从DRAM刷新控制的角度提出了解决方案:一方面,利用DRAM刷新机制带来的天然噪声,在几乎没有任何性能开销的前提下对内存时序信道进行了保护;另一方面,利用近似计算和大数据应用的差错容忍能力,来容忍由于减少DRAM刷新引起的一定范围内的DRAM保持时间故障,从而达到能效优化的目的。 本文取得了以下创新性研究成果: 1)针对现有时序信道保护方法性能开销较大的问题,提出了一种基于DRAM刷新隐藏的轻量级时序信道安全性保护方法。国际上现有的DRAM内存控制器的时序信道保护方法TP和BR的主要思路是通过带宽划分消除或削弱干扰。为了防止来自不同应用的内存请求因相互干扰而产生时序信息泄露,上述方案均引入了Dead time,造成了带宽的浪费。本文在分析DRAM单元的保持时间特性和刷新特性的基础上,提出了将刷新操作和Dead time进行复用的DRAM刷新隐藏方法,在不牺牲原有方案安全性的前提下提升系统性能。实验结果表明,DRAM刷新隐藏方法将已有方案的性能提升了21~25%。 2)提出了一种基于DRAM刷新干扰的时序信道保护方法。现有时序信道保护方法TP和BR的性能开销分别在300%和150%以上,即使进行了刷新隐藏,其开销仍然达到200%和80%以上。因此提出一种低开销的保护方案是非常有必要的。本文提出修改传统的每隔64ms刷新一次的固定刷新机制,基于DRAM单元保持时间分布特性,将刷新操作进行“随机化”,以此作为干扰源对应用的访存请求时序造成干扰,从而在几乎没有开销不影响系统性能的情况下保护内存控制器的时序信道。实验结果表明,DRAM刷新干扰方法将访存请求完成时间序列相似度从19%降低到了2%,有效地保护了共享内存的程序访存信息。 3)针对DRAM刷新功耗较大的问题,提出了一种基于差错控制的DRAM刷新控制方法。近期研究表明,当前内存系统的刷新能耗已经超过内存系统总能耗的20%。基于DRAM读写请求本身会对内存单元进行刷新的原理,利用读写请求取代刷新操作成为一种非常有效的解决思路。本文通过结合近似计算的差错容忍能力提出了静态、动态匹配映射方法将应用的访存信息和DRAM保持时间进行匹配,从而减少DRAM中不必要的刷新,甚至消除全部刷新操作使得DRAM成为“非易失性”设备(NV-DRAM),达到节省刷新功耗的目的。同时,为了保证静态和动态映射后的应用质量,我们提出了基于工业控制理论的PID差错控制器。实验结果表明,静态匹配映射方法的错误率几乎为零,而动态匹配映射方法的错误率可以控制在0.7%以内,两种方法均能够将原有刷新能耗节省99.9%以上。