18专题第 10 卷 第 4 期 2014 年 4 月accessmemory,动态随机存取存储器)工艺静态功耗较高的问题严重阻碍了存储层次的发展。(3)传统的SRAM/DRAM工艺对粒子和射线撞击产生的软错误问题没有抵抗能力,与之相关的纠错电路进一步限制了存储容量的增加并引起了更多的功耗。新型存储器件包括:自旋矩传输磁存储器(spin-torquetrans-ferRAM,STT-RAM)、相变存储器(phase-changememory,PCM)和电阻式存储器(resistiverandomaccessmemory,RRAM)等。它们具备一个共同特点:非易失性,也被统称为新型非易失存储器(nonvolatilememory,NVM)。与传统的SRAM/DRAM工艺相比,它们具有高存储密度、低静态功耗、对粒子及射线撞击产生的软错误具有抵抗能力的优点。然而新型非易失存储器也存在读写性能不对称、寿命有限、可靠性不高等问题,例如,自旋矩传输磁存储器虽然能提供比传统SRAM更高的集成度和极低的静态能耗,却存在写延迟较高的问题;相变存储器虽然能提供比传统DRAM更高的可扩展性,却存在写次数有限、读写性能不对称等问题。如何有效地使用新型存储器件进行存储结构设计,需要解决的问题包括:(1)如何在各个存储层次选择合适的新型存储器件?(2)如何改进当前的存储结构来适应新型存储器件?(3)能否结合不同存储器件的特性,实现扬长避短?新型非易失存储器自旋矩传输磁存储器 利用磁隧穿结(magnetictunneljunc-tion,MTJ)存储数据。在磁隧穿结中,隧穿绝缘体薄层置于两层强磁性介质中。自旋矩传输磁存储器通过自旋转移力矩对两层强磁性介质的磁场方向的改变,使得磁隧穿结表现出不同的阻值状态来进行数据存储。它具有访问速度快、优秀的耐久性、静态功耗低的优点,同时也表现出良好的工艺可扩展性。Everspin,Grandis和日本电气(NEC)等公司已经成功展示了自旋矩传输磁存储器的商业化产品。新型存储器件为存储结构带来契机和挑战计算机系统的性能依赖于两种能力:微体系结构处理数据的计算能力和整个存储层次将数据输送给处理器的能力。受制造工艺的影响,微体系结构与存储层次之间一直存在着差距。近年来,随着处理器的多核、多线程技术的广泛使用,大幅度提升的计算能力和增长相对缓慢的存储系统性能使得这一差距变得更大了。因此,存储结构对计算机系统整体性能的制约(即“存储墙”问题)也越来越大,主要表现在三个方面:(1)单个芯片上集成处理单元(核)的数目不断增长,需要将更多的数据及时输送到片上来匹配处理器的计算能力,对片上存储的容量需求也相应增加。但是,传统的静态随机存取存储器(staticrandomaccessmemory,SRAM)工艺的存储密度限制了片上存储容量的增长。(2)功耗问题已经成为计算机系统的重要考虑因素之一,而传统的SRAM/DRAM(dynamicrandom孙广宇 王 鹏 张 超北京大学基于新型非易失存储的存储结构关键词:新型存储 存储结构 高能效 高可靠性19第 10 卷 第4 期 2014 年 4 月基于新型非易失存储的存储结构相变存储器 基于硫属化物材料的存储器工艺。它利用硫属化物材料在“无定形相(高阻态)”和“结晶相(低阻态)”两种状态间阻值的变化进行数据存储。相变存储器具备与DRAM媲美的存储密度、互补金属氧化物半导体(complementarymetal-oxide-semiconductortransistor,CMOS)兼容性、访问速度快、耐久性较好等优点。相变材料在当今CMOS生产工艺下表现出优秀的工艺可扩展性,这意味着存储器单位面积的存储密度可以随着工艺不断提高。近年来,日立、三星、意法半导体(STMi-croeletronics)、恒忆(Numonyx)和英特尔等公司推出了许多相变存储器的电路原型样品。电阻式存储器 通常指利用阻值变化进行数据存储工艺的存储器。按照阻值变化机制,分为空间电荷限制电流(SCLC)、丝状(filament)、可编程镀金属单元(PMC)等;从设计角度又分为单极翻转和双极反转两大类型。许多知名公司诸如富士通、夏普、惠普实验室、微电子研究中心(IMEC)、Unity等已经参与到电阻式存储器工艺的开发中,并展示了高达64GB存储容量的电阻式存储器芯片原型。最近,惠普实验室和海力士半导体公司(Hynix)正致力于合作开发基于忆阻器和横梁结构的电阻式存储器芯片。基于新型非易失存储器的高能效、高可靠性存储结构虽然新型非易失存储器的存储密度较高、静态功耗极低,在提高存储层次性能和减少静态功耗方面具备天然的优势,但是由于改变存储器件状态需要的延时和能量都比较高,使得其在写操作性能和功耗方面处于劣势。同时,采用新型存储器件后也引入了新的问题,比如相变存储器的寿命和安全性隐患。基于自旋矩传输磁存储器的片上缓存结构缓存作为片上存储对访问速度有较高的要求,传统存储层次中通常采用SRAM工艺制造缓存。与SRAM相比,自旋矩传输磁存储器具备相近的读取速度,但存储密度是SRAM的4倍左右。表1对基于SRAM和自旋矩传输磁存储器的二级缓存的各项参数进行了定量对比[1]。从中可以看出自旋矩传输磁存储器具备替换SRAM的潜力。最近几年,许多研究者提出在系统的各级缓存中使用自旋矩传输磁存储器来替换SRAM[2~4]。这些研究包括:(1)因受益于自旋矩传输磁存储器的高存储密度,缓存的容量得以显著提升,从而提高缓存的命中率,进而提升系统的性能;同时,可以明显减少缓存的静态功耗,也减少整个存储层次的功耗。(2)写操作的延时和能量都是SRAM相应表1 SRAM和自旋矩传输磁存储器属性对比[1]SRAM自旋矩传输磁存储器面积(65nm)3.66mm23.30mm2容量128KB512KB读延时2.25ns2.32ns写延时2.26ns11.02ns读能耗0.90nJ0.86nJ写能耗0.80nJ5.00nJ漏电功耗2.09W/16存储体0.26W/16存储体图1 新型存储器件位线字线源线自由层固定层晶体管磁隧穿结(MTJ)顶电极硫属化物(GST)加热器底电极衬底N+顶层金属电极氧空穴掺杂墙二氧化钛底层金属电极电阻式存储器(RRAM)相变存储器(PCM)自旋矩传输磁存储器(STT-RAM)20专题第 10 卷 第 4 期 2014 年 4 月操作的数倍以上,对于写操作强度较大的应用程序,虽然使用自旋矩传输磁存储器可以增大缓存容量,但缓存性能反而会下降;同时,对于这类应用程序,动态写功耗的增加也非常显著。因此,它的缓存设计的关键问题是减少写操作带来的对性能及功耗的负面影响。为解决这一问题,研究人员在体系结构层次提出了多种优化技术,包括以下几类。减少“有效”写入操作的优化技术 “有效”写入是指对缓存的性能(功耗)产生实际影响的写入操作。第一种关键技术是通过对上层缓存替换策略进行优化,从而减少写入操作的总体数量[4]。例如:如果使用自旋矩传输磁存储器作为三级缓存(L3cache),当发生二级缓存(L2cache)替换时,可以优先选择未修改的缓存块(cleancacheblock)进行替换。但该技术可能会降低二级缓存的命中率。因此,可以进一步将未修改和已修改过的缓存块分别进行替换管理,来达到各级缓存间优化的平衡,从而实现总体效率最高。另一种关键技术是合理选择写入操作的时机,从而降低写操作对性能的影响。优化写缓冲是其中的典型技术[1]。当写操作被置于写缓冲中并开始写入缓存时,后续读操作可以根据写操作的完成情况,合理选择“取消”或“等待”写操作。使用这项技术能够有效降低长时间的写操作对关键路径上读操作的影响。基于SRAM和自旋矩传输磁存储器的混合缓存技术 该技术的出发点是同时利用SRAM写入操作快和自旋矩传输磁存储器密度高、静态功耗低的优点。基本思路是按照适当的比例选择SRAM和自旋矩传输磁存储器,并根据数据的访问特性进行合理的数据存放分配[1,5,6]。通常采用的方式是大量自旋矩传输磁存储器结合少量SRAM,如32∶1或者16∶1等[1]。对于数据存放的分配,基本原则是将写入操作较多的数据置于SRAM中,而将读取操作较多的数据置于自旋矩传输磁存储器中。数据分配的管理可以由硬件缓存控制器控制[1,6],也可以通过软件层的编译器进行指导[5]。图2是一个硬件控制器分配流程的实例[5],在分配过程中根据每种数据的属性和特点,如是否预取、是否命中,采用合适的分配策略。基于硬件的分配技术的特点是简单、通用;而基于编译器的分配策略需要对程序代码或数据访问模式进行事先分析,不过能够达到较高的分配效率。基于自旋矩传输磁存储器器件特性的结构优化技术 主要是利用自旋矩传输磁存储器的底层特性对缓存的性能、功耗进行优化。针对它的缓存写操作问题,通过牺牲该类存储器的非易失性来减少写操作的延时和相应能量,从而提高其缓存的能效。孙振宇(ZhenyuSun,音译)等人基于相同的模型,提出了在不图2 混合缓存数据分配流程示意图[6]21第 10 卷 第4 期 2014 年 4 月同的缓存层同时使用“易失”和“非易失”的自旋矩传输磁存储器[3]。这种技术首先利用了前面所述的混合存储的优势,而且为了防止缓存中数据的丢失,还使用面向易失性自旋矩传输磁存储器缓存的数据刷新技术,在不同层次进行相应的结构优化。还有一种技术是利用自旋矩传输磁存储器写操作对不同的写入值具备不对称的特性来实现的。简单来讲,在工艺扰动的情况下,对同一单元写入比特“1”和比特“0”所需延时和能量的差距可以达到3倍甚至更高[2]。研究人员据此提出一种基于日志的写操作方式:基本思路是将写入比特“1”和比特“0”的操作分开,将延时较高的写“1”操作置于后台进行,实际数据写入时只存在写“0”操作。因此,实际数据的写入时间显著缩短,从而提高性能,并通过数据翻转技术减少功耗[2]。通过上述几种优化技术,自旋矩传输磁存储器写操作的高延时高功耗问题可以得到显著缓解,其缓存能效提高30%以上。此外,研究人员还针对非易失存储器缓存的特性提出了其他多样化的优化技术。例如:根据工艺扰动对读-写操作影响的不同进行缓存替换策略的优化等,使用相变存储器同样可以替换SRAM进行低阶缓存设计等。基于相变存储器的主存结构传统主存的DRAM工艺也存在静态功耗较高的问题,因此研究人员提出使用相变存储器来代替DRAM工艺。表2对基于DRAM和相变存储器的主存的部分参数进行了对比。可以看出,虽然相变存储器可以显著减少主存的静态功耗,但其写操作同样存在高能耗和高延时的问题;更重要的是,相变存储器的擦写次数有限且低于DRAM,因此需要考虑其主存寿命的问题;同时,其非易失特性也给主存带来了潜在的安全问题。相变存储器主存延时和能耗优化技术 2009年,研究人员首次提出采用相变存储器代替DRAM进行主存设计[8~10],并提出了两种简单有效的优化方法。一种是用DRAM作为相变存储器的缓冲减少对相变存储器的写操作;另一种是采用部分写策略,只将修改过的数据写入。这两种方法对于改善相变存储器主存系统的性能有明显的效果。同样,考虑到同时利用相变存储器和DRAM的优势,相应的混合主存结构也受到关注,基本思路与混合缓存相同。近期研究表明,多比特相变存储器存储单元可以进一步提高主存的存储密度,但是,其写操作的高延时和能耗问题更加严重。因此,研究人员提出了大量的结构优化设计:通过多比特与单比特相变存储器单元相结合的方法在性能和容量之间寻求优化平衡;通过多级的写入及比较的方法,能够有效地提高“写操作”的能效;通过数据的选择性组合,可以提高相变存储器数据写操作的带宽;通过类似于自旋矩传输磁存储器缓存中使用的写暂停优化技术,来提高相变存储器写性能等[11,12]。相变存储器主存寿命优化技术 由于受到擦写次数(106~108)的限制,相变存储器主存寿命有限。因此,研究人员提出多种提高其寿命的优化技术[8~10],这些技术主要分为两类:(1)减少写入量优化技术。一个简单有效的