关键词:
缓存
自旋转移矩随机存储器
电源门控
非易失性存储器
摘要:
STT-RAM(Spin Transfer Torque RAM,自旋转移矩磁性随机存储器)在现代高性能计算机中的应用不断加深,除了在内存中作为DRAM的替代外,替代SRAM,作为片上缓存的方案也具有广阔的应用前景。STT-RAM的主要优势在于其非易失性带来的低静态功耗,远高于SRAM的数据存储密度,以及不同于其他非易失性存储器的高写寿命和良好的CMOS兼容性。但STT-RAM也存在与其他非易失性存储器相同的一些问题,非易失性带来的高写入功耗和写延时,难以进行高速读写;写寿命虽然高于其他非易失性存储器,但仍然小于SRAM等。针对不同层级的Cache设计,STT-RAM因为其读写的功耗与延时的不对称性需要不同的设计方法来平衡性能与功耗的需要。已经进行的STT-RAM的研究,通常聚焦于存储器本身的结构和电路优化。通过对器件模型的改良,STT-RAM可以有效降低工作中的写延时和功耗,但只是抑制了这种存储器的一部分缺点,而没有对其非易失性的优点进行充分地利用。本文构建了一个符合实际应用的研究场景,令Cache可以工作在相对更加真实的条件下,并从中发掘出可以进行电源门控操作的可能性,STT-RAM的电源门控充分利用存储器的非易失性,与其他易失性的电路进行电源门控相比,简化了大量的电路设计;由于非易失性不需要额外的恢复电路,扩大了电源门控的应用范围,进一步降低了 Cache的功耗,拓宽了 STT-RAM的应用前景。针对L1 Cache,因为其读写频率较高,Power Gating的实现空间较小,所以本文的研究不涉及到L1 Cache。对于L2 Cache,通过记录SOC运行数据,保存相应的时序信息,可以满足Cache建模的时序要求。本文建立起一个实验场景,包括L2 Cache的工作起止时间,读写访问次数,空闲时间等,使用NVsim进行STT-RAM的Cache建模,模拟出不同容量的Cache的读写功耗,静态功耗等数据,加入到实验场景中,可以构建出STT-RAM的L2功耗模型,获得相应的功耗数据。通过实验分析,STT-RAM构成的L2 Cache节约了大量的静态功耗,使得L2 Cache的总功耗只有SRAM模型的90%。对于数据访问中存在的空闲时间,则进行了电源门控的模拟,由于L2 Cache的空闲状态较少,Power Gating效果不明显,只额外降低了L2 Cache 1%的功耗。L3 Cache相比于L2和L1 Cache具有更大的容量,更低的时序要求。所以STT-RAM在L3 Cache的应用更具潜力,应用其他的低功耗设计技术。在32MB L3 Cache的模拟中,STT-RAM的低功耗优势更加明显。此外,L3Cache的读写访问次数更少,经过相关的优化后可以集中到一段时间内,令L3的可利用的空闲状态大大增加,仿真数据显示,L3 Cache在数据访问中存在数个数万纳秒的空闲状态,更加适合进行电源门控技术的实施。通过STT-RAM和电源门控技术的综合应用,与SRAM相比,STT-RAM的L3 Cache静态功耗只有原来的5%,而Power Gating可以使其功耗额外降低10%,而且不会过多损失性能。