用于存储器管理的高速缓存操作的制作方法

文档序号:9732024阅读:382来源:国知局
用于存储器管理的高速缓存操作的制作方法
【技术领域】
[0001]本说明书一般涉及计算机系统领域。更具体地说,本说明书涉及用于实现多级存储器层级的设备和方法。
【背景技术】
[0002]今天计算机创新的限制因素之一是存储器和存储装置技术。在常规计算机系统中,系统存储器(也称为主存储器、主要存储器、可执行存储器)通常由动态随机存取存储器(DRAM)实现。基于DRAM的存储器甚至在没有存储器读或者写发生时通常也耗电,以给内部电容器再充电。基于DRAM的存储器是易失性的,这意味着,一旦掉电,存储在DRAM存储器中的数据就丢失了。
【附图说明】
[0003]图1是按照本说明书一方面采用高速缓存操作进行存储器管理的存储器层级的一个实施例的示意图。
[0004]图2是图1存储器层级的存储器侧高速缓存的一个实施例的示意图。
[0005]图3描绘了按照本说明书一方面的操作的一个实施例,响应于监视的条件而有选择地启用和禁用写回过滤和业务均衡操作。
[0006]图4描绘了按照本说明书一方面用于存储器管理的高速缓存操作的一个实施例。
[0007]图5a和5b描绘了按照本说明书响应于监视的条件可由存储器侧高速缓存有选择地采用的备选替换策略。
[0008]图6描绘了按照本说明书一方面的多级地址转换操作的一个实施例。
[0009]图7a_7c描绘了按照本说明书一方面的基于异或的多级地址转换操作的一个实施例。
[0010]图8a_8c描绘了按照本说明书一方面的基于异或的多级地址转换操作的更详细示例。
[0011]图9是图1存储器层级的字节可寻址非易失性存储器的一个实施例的示意图。
[0012]图10是按照本说明书一方面采用高速缓存操作进行存储器管理的计算机架构的一个示例的示意图。
【具体实施方式】
[0013]常规计算机系统频繁依赖于多级高速缓存来改进性能。高速缓存是位于处理器与主存储器之间的高速度存储器,以比可能从系统存储器服务于存储器访问请求更快地服务于它们。从而,当处理器需要从系统存储器中的位置读或向其写时,它首先检查那个位置是否在高速缓存中。如果是,则高速缓存“命中”已经发生,并且处理器立即从高速缓存读或向其写,这比从主存储器读或向其写更快。相反,如果处理器未发现高速缓存中的存储器位置,则高速缓存“未中”已经发生。如果是,则高速缓存分配新条目,并且从主存储器拷贝数据。然后,从高速缓存的内容满足该请求。数据通常在主存储器与高速缓存之间以固定大小的块(称为高速缓存线)传送。当高速缓存线从主存储器拷贝到高速缓存中时,创建高速缓存条目。高速缓存条目将包含拷贝的数据以及请求的存储器位置(经常称为标签)。
[0014]此类高速缓存通常用易失性存储器诸如静态随机存取存储器(SRAM)实现。高速缓存管理协议可用于确保最频繁访问的数据和指令被存储在高速缓存的其中一级内,由此减少存储器访问事务处理的数量并改进性能。为了在高速缓存未中时为新条目腾出空间,高速缓存可能不得不逐出其中一个现有条目。它用于选择条目逐出的启发式被称为替换策略,其适应于若干设置条目上的关联式高速缓存,通常在整个高速缓存上不全面。在设置的关联式高速缓存中,高速缓存的多于一个存储器位置可被映射到主存储器的对应存储器位置。任何替换策略的根本问题是,它必须预测哪个现有高速缓存在将来最不可能使用。最近最少使用的(LRU)的一个流行的替换策略替换最近最少访问的条目。
[0015]计算机系统通常还包含非易失性大容量存储装置(也称为次级存储装置或盘存储装置)。常规大容量存储装置常常包含磁介质(例如硬盘驱动器)、光学介质(例如压缩盘(⑶)驱动器、数字多功能盘(DVD)等)、全息介质和闪存(例如固态驱动器(SSD)、可移动闪速驱动器等)。一般而言,这些存储装置被视为输入/输出(I/O)装置,因为它们由处理器通过实现各种I/O协议的各种I/O适配器访问。这些I/O适配器和I/O协议消耗大量电力,并且可对平台的小片面积和形状因子具有重大影响。
[0016]便携式或移动装置(例如膝上型计算机、上网本、平板计算机、个人数字助理(PDA)、便携式媒体播放器、便携式游戏装置、数字相机、移动电话、智能电话、特色电话等)当未连接到永久电源时经常具有有限的电池寿命。此类移动装置可包含可移动非易失性大容量存储装置(例如嵌入式多媒体卡(e匪C)、安全数字(SD)卡),它们通常经由低功率互连和I/O控制器耦合到处理器以便满足活动和空闲功率预算。
[0017]计算机系统也常常具有非易失性存储器以存储固件(诸如引导存储器(也称为B1S闪存))。常规计算机系统通常使用闪存装置来存储经常读取但很少(或从不)写入的永久系统信息(例如固件)。例如,由处理器执行的在引导过程期间初始化关键系统组件的初始指令(基本输入和输出系统(B1S)映像)通常存储在闪速存储器装置中。当前在市场上可买到的闪速存储器装置一般具有有限的速度(例如50 MHz)。此速度由用于读协议的开销进一步降低(例如2.5 MHz)。为了加速B1S执行速度,常规处理器一般在引导过程的预先可扩展固件接口(PEI)阶段期间高速缓存一部分B1S代码。处理器高速缓存的大小对在PEI阶段中使用的B1S代码(也称为“PEI B1S代码”)的大小施加了约束。
[0018]三维(3D)交叉点存储器装置(例如相变存储器(PCM))是非易失性计算机存储器类型。PCM,有时也称为相变随机存取存储器(PRAM或PCRAM)、PCME、双向统一存储器或硫属化物RAM(C-RAM)),采用硫属化物玻璃的唯一行为。作为由电流经过而产生的热量的结果,硫属化物玻璃可在两种状态:结晶与非结晶之间切换。PCM的当前版本可获得两种附加的截然不同的状态。PCM经常比闪存提供更高的性能,因为PCM的存储元件可更快速地开关。还有,在PCM,可以字节为基础执行写(将各个位改变成1或0),而无需首先删除单元的整个块。另夕卜,来自写的降级通常更慢(PCM装置可存活近似1亿个写循环hPCM降级通常由于在编程、金属(和其它材料)迀移以及其它机制期间的热膨胀引起。
[0019]其它类型的NVRAM包含字节可寻址永久存储器(BPRAM)、通用存储器、Ge2Sb2Te5、可编程金属化单元(PMC)、电阻性存储器(RRAM)、RESET(非结晶)单元、SET(结晶)单元、PCME、奥氏存储器、铁电存储器(也称为聚合物存储器和聚(N-乙烯基咔唑))、铁磁存储器(也称为自旋电子器件、自旋转移扭矩(SST)存储器、SPRAMC自旋转移扭矩RAM)、STRAMC自旋遂穿RAM)、磁阻存储器、磁存储器、磁随机存取存储器(MRAM))以及半导体-氧化物氮化物-氧化物-半导体(SONOS,也称为介电存储器)。
[0020]NVRAM的特性根据所采用的具体技术而变化。例如,具体NVRAM相比其它存储器技术在一些区域中可提供更高性能特性,同时提供更高访问等待时间和能耗。
[0021]存储器容量和性能要求随着处理器核以及新使用模型(诸如虚拟化)数量的增加而继续增加。此外,存储器功率和成本已经分别变成电子系统的总体功率和成本的重要组成部分。按照本说明书,在诸如字节可寻址非易失性存储器的主存储器(本文称为后备存储器)前面的存储器侧高速缓存的高速缓存操作包含组合第一操作、第二操作和第三操作中的至少两个操作,其中第一操作包含按照比起逐出具有脏高速缓存线的高速缓存条目来偏向于逐出具有干净高速缓存线的高速缓存条目的替换策略从高速缓存存储器中逐出受害者(victim)高速缓存条目。脏高速缓存线是在高速缓存中已经修改但尚未写回到字节可寻址非易失性存储器的数据线。受害者高速缓存条目是已经选择成从高速缓存中逐出的高速缓存条目。
[0022]第二操作包含将受害者高速缓存条目从初级高速缓存存储器逐出到高速缓存存储器的受害者高速缓存存储器和从受害者高速缓存存储器逐出受害者高速缓存条目中的至少一项(或二者),并且第三操作包含转换存储器位置地址以在字节可寻址非易失性存储器的地址范围内置乱并散布存储器位置地址。相信,这些操作的各种组合可提供存储器的改进操作。
[0023]在一个实施例中,存储器侧高速缓存主要充当过滤器以便对字节可寻址非易失性存储器进行写访问。例如,可实现备选替换策略,其比起脏高速缓存线宁愿干净高速缓存线进行高速缓存线逐出,以减少对字节可寻址非易失性后备存储器的写回的次数。此备选替换策略(本文称为干净逐出首先(CEF)策略)可与向存储器侧高速缓存的主高速缓存分区添加受害者高速缓存分区组合,其中在一个实施例中,受害者高速缓存分区专用于仅存储脏尚速缓存线以将与业务进一步分开。
[0024]要认识到,干净逐出优先策略和受害者高速缓存分区之一或二者的实现可影响系统性能。然而,相信,在一些实施例中,性能度可有用地进行交易以对来自字节可寻址非易失性存储器的写业务进行过滤,并增强能效和存储器耐久性。
[0025]对于干净逐出优先策略,或者对于受害者高速缓存分区的供应(或对于二者),可在一个或多个存储元件(诸如存储器侧高速缓存)的输入或在一个或多个存储元件的输出添加地址转换,以提供在字节可寻址非易失性存储器的可用地址空间之间的业务置乱和散布,以促进或增强字节可寻址非易失性后备存储器的地址位置的耗损均衡。而且,在一些实施例中,多级地址转换可通过沿存储器操作路径的多个位置的地址转换来实现。从而,例如,可在存储元件(诸如存储器侧高速缓存)的输入和输出提供地址转换。要认识到,在分区之间也可提供此类地址转换。相信,按照本说明书的多级地址转换可降低字节可寻址非易失性存储器的耗损均衡算法上的压力,并且还降低或消除了对字节可寻址非易失性后备存储器的有限耐久力的某些恶意攻击的脆弱性。要认识到,作为对本文提到这些的补充或替代,可实现其它特征。
[0026]因而,在按照本说明书的存储器侧高速缓存的一个实施例中,初级高速缓存的使用可与脏受害者高速缓存和高速缓存的地址转换的使用组合。在另一实施例中,干净逐出优先策略可与高速缓存的地址映射组合。在又一实施例中,初级高速缓存的干净逐出优先策略可与脏受害者高速缓存的使用组合。在又一实施例中,初级高速缓存的干净逐出优先策略可与脏受害者高速缓存和高速缓存的地址映射的使用组合。根据具体应用,可实现其它组合。
[0027]按照本说明书的另一方面,要认识到,写过滤策略(诸如干净逐出优先策略)以及受害者高速缓存分区策略和耗损均衡策略(诸如地址转换策略)中的一个或多个可交替启用和禁用,并且在各种组合中“运行时”或者当装置在引导过程中初始化时,例如,以便改进装置寿命、能效或性能,当系统操作并且可操作条件改变时,诸如在工作载荷的执行阶。从而,系统可从干净逐出优先策略转变到更加性能驱动的最近最少使用的策略,并且再次返回到干净逐出优先策略,当条件保证时。例如,如果系统正在经历相对轻的工作载荷,则可使干净逐出优先策略能够在存储器操作性能降低可对总体系统性能具有较少影响的点减少到字节可寻址非易失性存储器的写业务。类似地,受害者分区可被刷新并禁用,并且然后随后用脏受害者线启用和重新加载,取决于诸如工作载荷的执行阶段的各种因素。类似地,当装置被引导和重新引导时,并且当条件保证时,地址转换可被交替启用和禁用。用这种方式,写过滤和地址转换策略的各种组合的有选择启用和禁用提供了用于权衡装置寿命和能效的性能的附加灵活性,当装置操作并且装置操作条件改变时。
[0028]图1图示了根据本说明书一个实施例采用高速缓存操作进行存储器管理的系统100,包含处理器核104、后备存储器108和存储器侧高速缓存110。存储器侧高速缓存110结合字节可寻址非易失性后备存储器108执行高速缓存操作,在图示的实施例中字节可寻址非易失性后备存储器108例如可以是非易失性随机存取存储器("NVRAM")。在一个实施例中,系统100除了存储器侧高速缓存110还可包含各级高速缓存,包含1级高速缓存120、2级高速缓存124和较低级高速缓存(LLC)高速缓存130。要认识到,取决于具体应用,按照本说明书的系统可比所描绘的那些具有更大或更少数量的高速缓存、存储器和处理器核。
[0029]在所图示的实施例中,性能增强可通过用相对小量的相对更高速度的存储器(诸如DRAM)实现像存储器侧高速缓存110这样的高速缓存,同时实现后备存储器108,其在此实施例中是系统存储器的主体,使用显著更便宜并且更密集的字节可寻址非易失性随机存取存储器(NVRAM)。除了系统存储器之外,要认识到,存储器侧高速缓存110和后备存储器114例如根据具体应用可实现为其它类型存储器装置,诸如存储装置。
[0030]对于NVRAM实现后备存储器108存在许多可能的技术选择,包含PCM、字节可寻址持久存储器(BPRAM)、通用存储器、Ge2Sb2Te5、可编程金属化单元(PMC)、电阻性存储器(RRAM)、RESET(非结晶)单元、SET(结晶)单元、PCME、奥氏存储器、铁电存储器(也称为聚合物存储器和聚(N-乙烯基咔唑))、铁磁存储器(也称为自旋电子器件、SPRAMC自旋转移扭矩RAM)、STRAM(自旋遂穿RAM)、磁阻存储器、磁存储器、磁随机存取存储器(MRAM))以及半导体-氧化物氮化物-氧化物-半导体(S0NGS,也称为介电存储器)。为了用在本文描述的系统100的一个实施例中,NVRAM具有如下特性:
(1)即便掉电它也保存其内容,类似于在固态盘(SSD)中使用的闪存,并且不同于是易失性的SRAM和DRAM;
(2 )当空闲时比易失性存储器(诸如SRAM和DRAM)更低的功耗;
(3)类似于SRAM和DRAM的随机存取(也称为随机可寻址);
(4
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1