一种利用三维集成电路片上温差降低stt-ram功耗的缓存设计方法

文档序号:6766403阅读:457来源:国知局
一种利用三维集成电路片上温差降低stt-ram功耗的缓存设计方法
【专利摘要】一种利用三维集成电路片上温差降低STT-RAM功耗的缓存设计方法,它有四大步骤:一:修改缓存控制器设计;二:将温差等级离散化,将Cache?Bank按照温度的不同划分成若干区域,对不同的区域采用不同的电流写入;对处于不同温度区域的Cache?Bank按照写入时间差进行合理分级;三:修改STT-RAM读写电路,根据Bank温度的差异选择不同的写入电流强度和写入脉冲宽度;四:设计缓冲机制,平衡数据迁移过程中由于源Bank与目的Bank的温度差异导致迁移速度不匹配的问题,避免在数据迁移过程中由于源Bank和目的Bank写性能的差异造成数据迁移的性能下降。本发明在非易失性存储器【技术领域】里有实用价值。
【专利说明】—种利用三维集成电路片上温差降低STT-RAM功耗的缓存设计方法
【技术领域】
[0001]本发明涉及一种利用三维集成电路片上温差降低STT-RAM功耗的缓存设计方法,它是利用STT-RAM存储器件替代传统的SRAM器件作为芯片的缓存,根据磁性隧道结(MTJ)写入电流与温度的关系,提出了一种利用片上温差降低STT-RAM缓存(Cache)功耗的设计方法。属于非易失性存储器设计【技术领域】。
【背景技术】
[0002]随着工艺尺寸的不断进步,片上晶体管集成度越来越高。为了在给定功耗约束下,大幅度提高处理器的性能,多核处理器开始获得广泛应用。例如IBM Power7, Intel的酷睿系列处理器以及Tilera公司的Tile-GX系列处理器等。随着核数的增加,处理器对片上缓存容量和带宽的需求越来越大。随工艺尺寸的减小和缓存容量的增加,传统的基于SRAM的片上缓存技术静态功耗急剧增加。成为当今低功耗设计的一大挑战。
[0003]近年来,研究人员提出了自旋转移力矩磁性存储技术(STT-RAM)。与SRAM相比,该技术具有如下优势:
[0004]1.STT-RAM利用磁性隧道结(MTJ)存储数据,是一种非挥发性存储器件,即使断电,数据也不会丢失;
[0005]2.STT-RAM利用磁性材料而非电荷存储数据,几乎没有漏电流,具有极低的静态功耗;
[0006]3.STT-RAM存储单元的面积为SRAM的1/4,同样的面积可以集成更大容量的片上缓存,可以显著提高系统的性能。
[0007]因此,许多研究人员提出利用STT-RAM替代SRAM作为片上缓存。然而STT-RAM与SRAM相比也有一些缺点。首先,要往STT-RAM的存储单元中写入数据,需要一个较大的电流(几十微安至几百微安);其次,写入时间较长(一般为十几到几十纳秒),远远高于SRAM。片上缓存与处理器核心的数据交互最为频繁,如果程序执行的过程中,需要频繁写数据到缓存。如果简单的将STT-RAM用于片上缓存,会导致写功耗和写延迟非常大,有可能抵消掉采用STT-RAM所带来的好处。因此,如何对STT-RAM的写功耗进行优化,是一个非常关键的问题。
[0008]为了解决上述问题,本发明利用STT-RAM写入电流与温度的关系,在不同的温度区域采用不同的写入电流,达到降低写功耗的目的。

【发明内容】

[0009]1、目的:本发明的目的是提供了一种利用三维集成电路片上温差降低STT-RAM功耗的缓存设计方法,它是一种新型的完全由STT-RAM构成的缓存设计方法,可以显著降低与能耗。
[0010]2、技术方案:三维片上多核处理器中,芯核层的温度分布与片上各个核的功耗直接相关,导致不同的区域温度有显著差异。据文献“工艺偏差及其对电路和微体系结构的影响”,DAC,2003,p.338-342,片上不同区域的温度差可以达到50°C。同时,由于三维芯片的层叠结构,导致各个芯片层具有紧密的热耦合关系。芯核层的温度直接影响到上层STT-RAM层的温度分布。因而,在STT-RAM缓存层,不同区域的温度也有显著的差异。根据文献“磁性隧道结的自旋转移力矩跳变效应及自旋转移力矩随机存储器”,Journal ofPhysics:Condensed Matter, 2007.19(16):p.165209.的研究结果,MTJ 的热稳定性遵从如下关系式:
[0011]Δ (T) = Ev/kBT (I)
[0012]Ev = MsHkV/2(2)
[0013]其中,Ms为饱和磁化强度,Hk为面内各向异性磁场强度,V为MTJ的体积,T为MTJ的绝对温度,kB为玻尔兹曼常数。因此,随着温度的升高,MTJ的热稳定性降低,写入电流减小,写入时间也随之减少,写能耗得以显著降低。
[0014]利用如上关系,我们可以通过利用片上不同区域的温度差异,对三维片上多核处理器不同温度区域的STT-RAM存储单元采用不同的写入电流和写入时间,降低写入功耗并提升访存性能。
[0015]如图2所示,假设一个三维处理器芯片由同构的多核处理器和STT-MRAM构成的二级共享缓存构成。二级Cache由许多Cache Bank构成并假设访存架构为NUCA架构。在这种结构中,Cache Bank彼此通过片上网络互连。CPU访问每个Bank的延迟是不同的,而且这种延迟差异对CPU是可见的。NUCA-结构又可以细分为S-NUCA和D-NUCA。S-NUCA是指数据静态映射到对应的Bank中,在程序执行过程中,其存储位置是不会改变的直至被其他的数据块替换出来。D-NUCA则允许数据在驻留缓存的过程中,在不同的Bank之间迁移。在SRAM构成二级缓存中,一般认为数据应该分配到距离处理器核最近的Bank中。而在STT-MRAM中,由于其写延迟与存储单元温度密切相关。假设发出写请求的核执行的是访存密集型的程序,其温度比较低。如果仍然将数据分配到距离该核较近的Bank中,可能会增加其写延迟,反而对性能构成损害。而如果将其分配到另外一个温度较高的Bank上,尽管可能距离该核较远,但由于其写入延迟显著减小,使得访存性能反而可能提高。
[0016]对于动态的NUCA,Cache中的数据可以根据访存行为动态改变存储位置。在传统的SRAM构成的L2Cache中,数据会逐渐动态迁移至距离核较近的Bank中。同样在基于STT-MRAM的二级缓存中,该策略未必是最优的。因为访存延迟不仅由路由的延迟决定,还跟Bank温度相关。由于STT-MRAM的写入时间要远大于SRAM的写入时间,因此在数据迁移过程中不仅要考虑Bank与核距离的远近,也要考虑到Bank的温度分布。
[0017]为了使得数据能够优先存储在温度高的Bank中,需要如下步骤对缓存架构进行调整,
[0018]步骤一:修改缓存控制器设计。通过修改Cache控制器,加入考虑温度分布的地址重映射机制,降低STT-MRAM的写入能耗和写入时间。利用温度仿真结果或片上温度传感器反馈,修改Bank映射地址,按照不同的优先级将数据按照Bank温度由高到低的顺序依次放置。数据块的优先级可以按照如下规则确定:需要频繁写入的Cache块优先放入温度较高的Bank中,而无需频繁写入的Cache块放入温度较低的Bank中。为此需要提出一种检测机制判断哪些数据块是需要被频繁写入的。[0019]步骤二:将温差等级离散化,将Cache Bank按照温度的不同划分成若干区域。对不同的区域采用不同的电流写入。对处于不同温度区域的Cache Bank按照写入时间差进行合理分级。
[0020]步骤三:修改STT-RAM读写电路,根据Bank温度的差异选择不同的写入电流强度和写入脉冲宽度。如图3所示,片上不同区域温度传感器的数值反馈给读写电路控制器,由读写电路控制器根据温度数值从步骤二中规定的温度分级中得到当前温度所属的级别。由此,确定该Bank的写入脉冲宽度和写入电流强度。
[0021 ] 步骤四:设计缓冲机制,平衡数据迁移过程中由于源Bank与目的Bank的温度差异导致迁移速度不匹配的问题。
[0022]3.优点和功效:本发明利用MTJ温度与写入电流和写入能耗的关系,设计了一种新型的STT-MRARM缓存结构,利用片上不同区域的温差优化写入电流和写入时间,降低写入能耗,提升了性能。
【专利附图】

【附图说明】
[0023]图1为磁性随机存取存储器位单元示意图。其由一个磁性隧道结(MTJ)和一个N型晶体管(NMOS)串联构成。其中,BL为位线(Bit Line) ;SL为源线(Source Line);WL为字线(Word Line)。
[0024]图2为三维多核处理器体系结构示意图。
[0025]图3为写入电流和写入脉冲宽度选择示意图。
[0026]图4为本发明的流程框图。
【具体实施方式】
[0027]本发明所涉及的STT-RAM存储单元的工作原理如图1所示。STT-RAM存储单元一般采取ITlJ (ITransistor和1MTJ)。晶体管控制MTJ数据的存取。MTJ的结构分为自由层、参考层和中间的氧化层。其中参考层的磁化方向是固定的。通过对MTJ施加不同方向的电流,可以改变自由层的磁化方向。如果自由层磁化方向与参考层相同,MTJ的阻值变小,可以认为存储逻辑“O”。反之,存储逻辑“I”。读取存储单元数据时,将字线置为有效,在位线BL和源线SL间加0.1V所有的小电压,根据自由层与参考层磁化方向的异同,读取电流也会不同。该电流与参考电流相比较后,可知存储单元存取的是逻辑“O”还是逻辑“I”。写入数据时,首先将字线置为有效,在位线和源线间施加一个大电压(0.7V?1.2V),根据电压和由此产生的自旋电流方向的不同,决定写入“O”或“ I ”。
[0028]本发明所涉及的多核处理器的存储架构如图2所示。最底层为芯核层,包含多个处理器核。上层为STT-RAM存储层,分为许多Bank彼此通过片上网络互连。
[0029]见图4,本发明一种利用三维集成电路片上温差降低STT-RAM功耗的缓存设计方法,该方法具体实施步骤如下:
[0030]步骤一:修改缓存控制器设计。通过修改Cache控制器,加入考虑温度分布的地址重映射机制,降低STT-MRAM的写入能耗和写入时间。利用温度仿真结果或片上温度传感器反馈,修改Bank映射地址,按照不同的优先级将数据按照Bank温度由高到低的顺序依次放置。数据块的优先级可以按照如下规则确定:需要频繁写入的Cache块优先放入温度较高的Bank中,而无需频繁写入的Cache块放入温度较低的Bank中。为此需要提出一种检测机制判断哪些数据块是需要被频繁写入的。
[0031]步骤二:将温差等级离散化,将Cache Bank按照温度的不同划分成若干区域。对不同的区域采用不同的电流写入。对处于不同温度区域的Cache Bank按照写入时间差进行合理分级。如果对于Cache Bank的温度分级过细,尽管写入能耗和写入时间可以在更细的粒度上得到控制,但相应的硬件开销也会随着分级的增加而不断增大。需要结合各种不同应用程序的特性确定分级的级数,使得能以最小的硬件开销得到最大的能耗降低和性能提升。
[0032]步骤三:修改STT-RAM读写电路,根据Bank温度的差异选择不同的写入电流和写入脉冲宽度。如图3所示,片上不同区域温度传感器的数值反馈给读写电路控制器,由读写电路控制器根据温度数值从步骤二中规定的温度分级中得到当前温度所属的级别。由此,确定该Bank的写入脉冲宽度和写入电流强度。
[0033]步骤四:设计缓冲机制,平衡数据迁移过程中由于源Bank与目的Bank的温度差异导致迁移速度不匹配的问题,避免在数据迁移过程中由于源Bank和目的Bank写性能的差异造成数据迁移的性能下降。缓冲的容量设置应能够根据实际温差大小和具体的温差等级动态调整。如果缓冲设置过深,会导致缓冲器功耗增大,有可能抵消掉由利用温差带来的写功耗的降低。反之,可能由于数据迁移速度过慢,阻塞处理器核对所需数据的写入并大量占用宝贵的存储带宽,形成性能瓶颈。
【权利要求】
1.一种利用三维集成电路片上温差降低STT-RAM功耗的缓存设计方法,其特征在于:该方法具体步骤如下: 步骤一:修改缓存控制器设计;通过修改Cache控制器,加入考虑温度分布的地址重映射机制,降低STT-MRAM的写入能耗和写入时间,利用温度仿真结果或片上温度传感器反馈,修改Bank映射地址,按照不同的优先级将数据按照Bank温度由高到低的顺序依次放置;数据块的优先级按照如下规则确定:需要频繁写入的Cache块优先放入温度较高的Bank中,而无需频繁写入的Cache块放入温度较低的Bank中;为此需要提出一种检测机制判断哪些数据块是需要被频繁写入的; 步骤二:将温差等级离散化,将Cache Bank按照温度的不同划分成若干区域,对不同的区域采用不同的电流写入;对处于不同温度区域的Cache Bank按照写入时间差进行合理分级;如果对于Cache Bank的温度分级过细,尽管写入能耗和写入时间在更细的粒度上得到控制,但相应的硬件开销也会随着分级的增加而不断增大;需要结合各种不同应用程序的特性确定分级的级数,使得能以最小的硬件开销得到最大的能耗降低和性能提升;步骤三:修改STT-RAM读写电路,根据Bank温度的差异选择不同的写入电流强度和写入脉冲宽度;片上不同区域温度传感器的数值反馈给读写电路控制器,由读写电路控制器根据温度数值从步骤二中规定的温度分级中得到当前温度所属的级别;由此,确定该Bank的写入脉冲宽度和写入电流强度; 步骤四:设计缓冲机制,平衡数据迁移过程中由于源Bank与目的Bank的温度差异导致迁移速度不匹配的问题,避免在数据迁移过程中由于源Bank和目的Bank写性能的差异造成数据迁移的性能下降;缓冲的容量设置应能够根据实际温差大小和具体的温差等级动态调整;如果缓冲设置过深,会导致缓冲器功耗增大,有可能抵消掉由利用温差带来的写功耗的降低;反之,可能由于数据迁移速度过慢,阻塞处理器核对所需数据的写入并大量占用宝贵的存储带宽,形成性能瓶颈。
【文档编号】G11C11/16GK103810119SQ201410072362
【公开日】2014年5月21日 申请日期:2014年2月28日 优先权日:2014年2月28日
【发明者】成元庆, 郭玮, 赵巍胜, 张有光 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1