具有电力恢复后重新加载能力的高速缓存制造技术

技术编号:8416304 阅读:196 留言:0更新日期:2013-03-15 05:09
本发明专利技术公开了一种用于重新填充高速缓存的方法和装置。所述高速缓存的内容的至少一部分存储在与所述高速缓存分开的位置中。将电力从所述高速缓存中移除并且一段时间之后恢复电力。在已对所述高速缓存恢复电力后,用与所述高速缓存分开存储的所述高速缓存的所述内容的所述部分重新填充所述高速缓存。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算机高速缓冲存储器,具体涉及用于在将电力从高速缓冲存储器中移除并且接着对高速缓冲存储器恢复电力后重新加载高速缓冲存储器的方法和装置。
技术介绍
在计算机中,高速缓存是与保存近期访问的数据的处理器的主存储器分开的小型快速存储器。使用高速缓存加快了对相同数据的后续请求的访问时间。当在正被搜索的高速缓存中找到请求数据或存储器位置时,发生“高速缓存命中”。当未找到请求数据或存储器位置时,应当认为“高速缓存缺失”,并且在高速缓存中该数据可能被分配新条目。如果高速缓存已满,那么许多策略之一可以用于排除现有条目。高速缓存可以包括一个或多个标签存储器和一个或多个数据存储器。标签存储器包括标签。一般地,标签可以用于唯一地识别经高速缓存的数据片并且判定经高速缓存的数据是否可用来满足进入的请求。在一种实施方式中,标签可以包括经高速缓存的数据的主存储器位置的索引。在另一种实施方式中,在转译后援缓冲器(TLB)型高速缓存中,标签可能不会直接为主存储器位置编索引,但是可能由虚拟地址和与特定的主存储器地址没有直接关系的其它基于请求的信息组成。数据存储器包括来自主存储器的数据的副本。数据存储器还可以包括由处理器生成且尚未写出到主存储器(例如,具有回写高速缓存)的数据。这类数据必须在可将电力从高速缓存中移除前写出到存储器。为了减小计算机中的电力消耗,组件(包括内部集成组件)可以在闲置周期期间置于低电力状态或完全断电。对内置有易失性存储元件的高速缓冲存储器断电会引起状态丧失。一旦电力恢复,正常的闻速缓存访问将无法命中,因为闻速缓存是空的,从而需要从较高延时(和可能较低带宽)的永久后备存储器提取数据,从而导致较低性能。这些访问逐渐重新填入高速缓存,且如果后续访问开始命中这些重新填入的条目,那么性能逐渐恢复到其名义水平。某些现有技术允许高速缓存对其内容的一小部分(例如,标签存储器和数据存储器两者)同时断电。在一项技术中,可通过将电力提供给高速缓存的仅一部分而减小电力消耗,同时维持状态。该特定解决方案在维持某些标签存储器和对应数据存储器的状态时消耗电力。其它技术减小高速缓存的时钟频率以降低动态电力消耗。静态电力消耗可以通过对高速缓存的晶体管的操作参数的对应调整(电压减小、偏压变化等)而减小。现有技术导致在电力恢复后牺牲性能以减小电力消耗和牺牲最佳电力消耗以将电力保留在数据存储器的子集中以避免电力恢复后性能下降之间的选择。因此,存在对高速缓存大部分或全部断电而不会在高速缓存通电后牺牲性能的需要。
技术实现思路
一种用于重新填充高速缓存的方法开始于将所述高速缓存的内容的至少一部分存储在与所述高速缓存分开的位置中。将电力从所述高速缓存中移除并且一段时间之后电力恢复。在已对所述高速缓存恢复电力后,用与所述高速缓存分开存储的所述高速缓存的所述内容的所述部分重新填充所述高速缓存。一种用于重新填充高速缓存的方法开始于将电力从所述高速缓存中移除并且一段时间之后对所述高速缓存恢复电力。用信号通知高速缓存客户端已对所述高速缓存恢复电力并且所述高速缓存已丧失状态。所述客户端将预取命令发放到所述高速缓存,所述高速缓存使用所述预取命令将数据加载到所述高速缓存中。一种用于重新填充高速缓存的装置包括高速缓存、存储器和存储器控制器。所述高速缓存被配置来存储数据和与所述数据相关的标签。所述存储器与所述高速缓存分开定位并且被配置来在将电力从所述高速缓存中移除时存储来自所述高速缓存的标签。所述存储器控制器被配置来在对所述高速缓存恢复电力时将标签从所述高速缓存写入到所述存储器。一种计算机可读存储介质存储供通用计算机执行以重新填充高速缓存的指令集,所述指令集包括存储代码段、移除代码段、恢复代码段和重新填充代码段。所述存储代码段用于将所述高速缓存的内容的至少一部分存储在与所述高速缓存分开的位置中。所述移除代码段用于将电力从所述高速缓存中移除。所述恢复代码段用于对所述高速缓存恢复电力。所述重新填充代码段用于用与所述高速缓存分开存储的所述高速缓存的所述内容的所述部分重新填充所述高速缓存。附图说明可以从举例所给定的下文描述中认知到并且结合附图对本专利技术有一个更详细的了解。图I是用于在电力恢复后重新加载高速缓存的存储器系统的第一实施方案的方框图; 图2是用于在电力恢复后重新加载高速缓存的第一种方法的流程图;图3是用于在电力恢复后重新加载高速缓存的存储器系统的第二实施方案的方框图;图4是用于在电力恢复后重新加载高速缓存的第二种方法的流程图;图5是用于在电力恢复后重新加载高速缓存的存储器系统的第三实施方案的方框图;图6是用于在电力恢复后重新加载高速缓存的第三种方法的流程图;图7是用于在电力恢复后重新加载高速缓存的存储器系统的第四实施方案的方框图;图8是用于在电力恢复后重新加载高速缓存的第四种方法的流程图;图9是用于在电力恢复后重新加载高速缓存的存储器系统的第五实施方案的方框图10是用于在电力恢复后重新加载高速缓存的第五种方法的流程图;图11是用于在电力恢复后重 新加载高速缓存的存储器系统的第六实施方案的方框图;图12是用于在电力恢复后重新加载高速缓存的第六种方法的流程图;图13是用于在电力恢复后重新加载高速缓存的存储器系统的第七实施方案的方框图;图14是用于在电力恢复后重新加载高速缓存的第七种方法的流程图;图15是用于在电力恢复后重新加载高速缓存的存储器系统的第八实施方案的方框图;和图16是用于在电力恢复后重新加载高速缓存的第八种方法的流程图。具体实施例方式下文描述对普通高速缓存的增强。通常,当高速缓存断电时,所述高速缓存需要花特定量的时间来重新填入数据,且因此初始高速缓存访问慢于在所述高速缓存断电前。在电力恢复后,空的高速缓存可能随着进入的请求错过所述高速缓存而逐渐被重新填入,其导致新数据填入所述高速缓存。重新填入过程可能受所述进入的请求的速率限制,所述速率可能由于高速缓存缺失导致的较旧请求处理缓慢而较慢。数据可以存储在会断电的高速缓存外面,以便在电力恢复后并且在用户再次从所述高速缓存请求该数据前可以对所述高速缓存恢复相同数据。因此,在对高速缓存通电后,性能退化减轻,因为可以在用户对所述高速缓存请求数据片前恢复所述数据。重新填入过程可以与正常处理器请求重叠并且不必阻止所述正常处理器请求直到所述重新填入过程完成为止。电源门控可以用来减小电力消耗并且低性能周期可以通过在电力恢复后不久将内容加载到高速缓存中而最小化。高速缓存还可以是完全电源门控的,从而消除所有动态电力并且减小通过电源门泄露的静态电力。在其它实施方案中,所有数据存储器可以断电,从而进一步最小化电力消耗。一种机制可以添加到高速缓存以生成,然后保存、留存或存储“恢复标签”。恢复标签包含足够信息以在电力恢复事件后定位和加载来自高速缓存的后备存储存储器的数据。恢复标签本质上与预取请求相似之处在于预期高速缓存在不久的将来会需要数据来服务一个或多个请求而预取所述数据。在对高速缓存部分或全部断电以节省电力前,将恢复标签置于永久存储位置中。当电力恢复时,恢复标签用来将数据从高速缓存的后备存储器加载到所述高速缓存中。该数据加载与由正常高速缓存请求所触发的任何加载分开,且通常发生在所述任何加载前。高速缓存条目的部分或全部可以以这种方式本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.03.03 US 12/716,3911.一种用于重新填充高速缓存的方法,其包括 将所述高速缓存的内容的至少一部分存储在与所述高速缓存分开的位置中; 将电力从所述高速缓存中移除; 对所述高速缓存恢复电力;和 用与所述高速缓存分开存储的所述高速缓存的所述内容的所述部分重新填充所述高速缓存。2.根据权利要求I所述的方法,其中所述存储包括 创建恢复标签,每个恢复标签包括来自所述高速缓存的某些内容;和 将所述恢复标签存储在与所述高速缓存分开的所述位置中。3.根据权利要求2所述的方法,其中所述重新填充包括 读取所述恢复标签;和 使用所述恢复标签将数据加载到所述高速缓存中。4.根据权利要求2所述的方法,其中所述创建包括使用先前高速缓存访问的历史清单生成恢复标签。5.根据权利要求4所述的方法,其中所述创建包括移除先前高速缓存访问的所述历史清单中的重复的、相似的或重叠的条目。6.根据权利要求I所述的方法,其中 所述高速缓存包括一个或多个标签存储器和一个或多个数据存储器; 所述移除包括让所述标签存储器中至少之一通电并且对所述剩余标签存储器和所有所述数据存储器断电;且所述重新填充包括 从所述至少一个通电标签存储器读取所述标签;和 使用所述经读取的标签将数据加载到所述高速缓存中。7.根据权利要求6所述的方法,其中 所述读取包括从所述至少一个通电标签存储器读取地址;且 所述使用包括 从所述地址提取数据;和 将所述提取的数据写入到所述高速缓存。8.根据权利要求I所述的方法,其中 所述存储包括 从所述高速缓存读取标签以生成恢复标签;和 将所述恢复标签存储在与所述高速缓存分开的所述位置中; 所述重新填充包括 读取所述恢复标签;和 使用所述恢复标签将数据加载到所述高速缓存中。9.根据权利要求8所述的方法,其中所述存储还包括 在将所述恢复标签存储在与所述高速缓存分开的所述位置中前压缩所述恢复标签。10.根据权利要求I所述的方法,其中 所述高速缓存是包括较高级高速缓存和多个较低级高速缓存的多级高速缓存;且所述移除包括对所述较高级高速缓存断电并且保留所述较低级高速缓存的至少之一中的电力。11.根据权利要求10所述的方法,其中所述重新填充包括 在保留电力的所述至少一个较低级高速缓存中生 成标签和数据信息; 将所述标签和数据信息发送到所述较高级高速缓存;和 将所述标签和数据信息写入到所述较高级高速缓存。12.根据权利要求10所述的方法,其中所述重新填充包括 在保留电力的所述至少一个较低级高速缓存中生成恢复标签,每个恢复标签包括来自所述较低级高速缓存的某些内容; 根据所述恢复标签而将重新加载命令发放到所述较高级高速缓存; 由所述较高级高速缓存使用所述重新加载命令请求数据;和 将所述请求的数据写入到所述较高级高速缓存。13.根据权利要求11所述的方法,其中所述写入包括 将分层目录信息写入到所述较高级高速缓存。14.一种用于重新填充高速缓存的方法,其包括 将电力从所述高速缓存中移除; 对所述高速缓存恢复电力; 用信号通知高速缓存客户端已对所述高速缓存恢复电力并且所述高速缓存已丧失状态; ...

【专利技术属性】
技术研发人员:菲利普·NG吉姆谢德·B·米尔扎安东尼·阿萨罗
申请(专利权)人:ATI科技无限责任公司
类型:
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1