清除高速缓存数据的装置、系统和方法制造方法及图纸

技术编号:2853043 阅读:257 留言:0更新日期:2012-04-11 18:40
公开了一种用于在高速缓存系统内清除高速缓存数据的装置、系统和方法。该装置包括清零模块和清除模块。响应于主电源对处理器高速缓存的供电的丢失,该清零模块执行一内部处理器指令以将非易失性存储器的零存储段和处理器高速缓存清零。在该清零模块在该处理器高速缓存内的地址放置零之前,清除模块将修改的数据从该地址清除到该非易失性存储器的清除存储段。有利地是,在该存储器内保留该零存储段,并且其被用于将该处理器高速缓存清零,从而有效地将现有数据从该处理器高速缓存清除到该存储器的清除存储段。

【技术实现步骤摘要】

本专利技术涉及高速缓存的数据,并尤其涉及响应于供电丢失将修改的高速缓存数据从处理器高速缓存清除(flush)到非易失性存储器。
技术介绍
计算机内的高速缓存是存储器或盘存储器的用于存储最近访问的文件、指令或其它数据的一部分。通过将最近访问的数据存储在高速缓存内,该数据可用于以后的试图访问相同数据的数据请求。通过将数据存储在高速缓存内而不是存储在较慢的存储器或存储设备内,可提高计算机系统的性能。通过使用内置于处理器例如存储控制器的中央处理单元(CPU)内的内部高速缓存,可获得一些最快的数据访问,并由此获得一些最好的性能水平。高速缓存可集成到与处理器相同的封装内,并且可与该处理器处于相同芯片上。目前可用的处理器可包括一级(L1)和二级(L2)片上高速缓存。为了将数据写入持久性存储器例如硬盘或磁带,计算机系统可首先将数据存储在内部处理器高速缓存内,然后将数据写入外部随机存取存储器(RAM),并然后将数据写入持久性存储介质。不幸的是,数据会由于意外的电源故障而在传送中丢失。图1示出了传统的高速缓存系统,其包括内部处理器高速缓存和RAM。在正常的操作条件下,在将该处理器高速缓存上的数据写入持久性存储设备(未示出)之前,将该数据写入RAM(由箭头指示)。该处理器高速缓存和RAM通常由主电源供电,该主电源在该计算机系统内源于一直流(DC)电源。如果在数据被写入RAM之前电源发生故障,则数据会丢失。即使在数据写入RAM之后,如果发生电源故障数据仍会丢失。但是,RAM可由电池或其它辅助电源支持。这种由辅助电源支持的RAM或其它存储器在本文中被称为电池支持的存储器(BBM)或非易失性存储器。例如,电池支持的存储器(BBM)可自刷新,并且可长时间(通常72小时)保持数据。如本文中所用的,非易失性存储器包括电池支持的存储器(BBM)以及不管是否存在辅助电源均为非易失的其它类型的存储器。仍参照图1,如果在将数据从处理器高速缓存写入RAM之前主电源发生故障,则在电源故障之后可存在一小部分时间以尝试将数据传送给RAM。例如,在一个或多个供电电容放完电和该处理器停止工作之前,处理器可仍由所述供电电容供电长达60-70ms。实际上,电容电源已被设计为向处理器供电一定时间量,以便尝试保存处理器高速缓存内的数据。但是,随着对处理器供电所需的时间增大,这些电容电源的大小和费用增大了。因此,可能难以实现传统的高速缓存清除操作而不过分增大电容电源的成本或消耗计算机系统内很大的空间。传统的解决这种问题的一种方法是使用大电池或不间断电源(UPS)来给整个计算机系统供电。例如,UPS可对计算机系统供电30分钟,使用户有足够的时间来正确地关闭系统并防止从处理器高速缓存丢失数据。但是,这种解决方案需要购买和安装UPS的很高成本,以及需要较大的物理空间以将外部UPS封装靠近该系统安放。传统的解决这种问题的另一种方法是循环执行选择性的清除指令,这在图2中一般地示出。处理器可具有检查数据的地址并且如果有数据的话从该地址将该数据清除到存储器的指令。但是,遍历高速缓存内可能存在的每个数据地址要花费相当长的时间,而不能确保该时间小于在电源故障之后该处理器可由电容电源供电的时间量。传统的解决这种问题的另一种方法是使用连续的RAM加载,这在图3中一般地示出。RAM加载是指将数据从RAM加载到处理器高速缓存。为了将数据从RAM加载到处理器高速缓存,必须将现存的数据从处理器高速缓存写出到RAM。换句话说,RAM加载迫使处理器高速缓存将其当前的数据写出到RAM,以便为新数据提供空间。通过执行等于处理器高速缓存的大小的连续地址的RAM加载,处理器高速缓存必须将所有现存的数据推入RAM。不幸的是,相对于可用于清除处理器高速缓存的时间,用于RAM加载的读时间会非常慢。因此,相对于在电源故障之后处理器可由电容电源供电的时间量,使用连续的RAM加载会非常慢。另外,RAM读取不会清除与目标读地址相关联的任何处理器高速缓存数据。尽管为处理器高速缓存大小的两倍的连续RAM加载可消除此问题,但是这种RAM加载的执行时间也会加倍。从上文的讨论中可知,很明显需要一种用于响应于供电丢失将高速缓存数据从处理器高速缓存快速清除到非易失性存储器例如电池支持的存储器(BBM)的装置、系统和方法。有利地是,这种装置、系统和方法将克服目前的需要很大功率和/或处理时间的清除困难。
技术实现思路
已响应于现有
的当前状态,并尤其响应于目前可用的高速缓存清除系统还未能完全解决的、本
内的问题和需求,开发了本专利技术的一些实施例。因此,已开发了本专利技术来提供一种可克服本
内的许多或全部上述缺陷的用于清除处理器高速缓存的装置、系统和方法。该清除高速缓存数据的装置配备有一逻辑单元,该逻辑单元包含多个被配置为响应于主电源供电的丢失而在功能上执行高速缓存清除所必须的操作。所述实施例中的这些模块包括电源监视模块、清除模块、清零模块和存储器保留模块。在一个实施例中,所述电源监视模块监视该主电源。该电源监视模块还可识别主电源对处理器高速缓存的供电的丢失。在一个实施例中,所述清除模块响应于主电源对处理器高速缓存的供电的丢失,将修改的数据从处理器高速缓存清除到非易失性存储器例如电池支持的存储器(BBM)。作为另一种选择,清除模块响应于将处理器高速缓存清零(zero out)的操作来清除修改的数据。在一个实施例中,清除模块将修改的数据清除到非易失性存储器的清除存储段而不是零存储段。在另一个实施例中,在从存储器将任何数据读取到处理器高速缓存之前,清除模块从处理器高速缓存清除修改的数据。换句话说,可清除修改的数据而不需要任何RAM加载。在一个实施例中,所述清零模块执行一内部处理器指令以将存储器的零存储段清零,并相应地将处理器高速缓存清零。此外,清零模块可响应于主电源对处理器高速缓存的供电的丢失,执行清零命令。在一个实施例中,所述存储器保留模块在非易失性存储器内保留所述零存储段。通过保留零存储段,存储器保留模块防止关键数据被写入存储器的零存储段。这样,即使零存储段被清零模块清零,关键数据也不会丢失。但是,在高速缓存系统的正常操作期间,可使用零存储段作为暂存缓冲器(scratch buffer)。在一个实施例中,存储器保留模块可保留其大小大约等于处理器高速缓存的零存储段。作为另一种选择,该存储器保留模块可保留其大小大于处理器高速缓存的零存储段。还提出了本专利技术的用于清除高速缓存数据的系统。在一个实施例中,该系统可体现为一种包括处理器、内部处理器指令和清除装置的高速缓存系统。该处理器连接到处理器高速缓存。该内部处理器指令是将非易失性存储器的一存储段清零的清零指令。响应于主电源对处理器高速缓存的供电的丢失,清除装置执行该清零指令,并将修改的数据从处理器高速缓存清除到清除存储段。具体地,该系统可体现为一种具有处理器、处理器高速缓存和电池支持的RAM的存储控制器。该系统的另一个实施例可包括处理器高速缓存、非易失性存储器以及清除装置。该处理器高速缓存可具有作为辅助电源的电容。类似地,该非易失性存储器可具有作为辅助电源的电池。还提供了一种存储程序的信号承载介质,该程序在被执行时可执行清除高速缓存数据的一个或多个操作。在一个实施例中,所述操本文档来自技高网
...

【技术保护点】
一种清除高速缓存数据的装置,该装置包括:清零模块,该清零模块被配置为响应于主电源对处理器高速缓存的供电的丢失,执行内部处理器指令以将非易失性存储器的零存储段和处理器高速缓存清零;以及清除模块,该清除模块被配置为在该清零模块在 该处理器高速缓存内的地址放置零之前将修改的数据从该地址清除到该非易失性存储器的清除存储段。

【技术特征摘要】
US 2004-11-18 10/991,9311.一种清除高速缓存数据的装置,该装置包括清零模块,该清零模块被配置为响应于主电源对处理器高速缓存的供电的丢失,执行内部处理器指令以将非易失性存储器的零存储段和处理器高速缓存清零;以及清除模块,该清除模块被配置为在该清零模块在该处理器高速缓存内的地址放置零之前将修改的数据从该地址清除到该非易失性存储器的清除存储段。2.根据权利要求1的装置,还包括被配置为在所述非易失性存储器内保留所述零存储段的存储器保留模块。3.根据权利要求1的装置,其中,所述零存储段的大小大约等于所述处理器高速缓存。4.根据权利要求1的装置,其中,所述零存储段的大小大于所述处理器高速缓存。5.根据权利要求1的装置,还包括被配置为识别主电源对所述处理器高速缓存的供电的丢失的电源监视模块。6.根据权利要求1的装置,其中,所述非易失性存储器是由电池支持的随机存取存储器(RAM)。7.根据权利要求1的装置,其中,响应于主电源对所述处理器高速缓存的供电的丢失,所述处理器高速缓存由电容电源支持。8.根据权利要求7的装置,其中,所述电容电源的大小被设置为可将所述处理器高速缓存支持大约等于从该处理器高速缓存内的每个地址清除修改的数据的写时间的最长时间。9.根据权利要求1的装置,其中,所述清除模块还被配置为在所述处理器高速缓存从所述非易失性存储器读取任何数据之前,将所有修改的数据清除到所述清除存储段。10.一种清除高速缓存数据的系统,该系统包括具有存储数据的处理器高速缓存的处理器;将连接到该处理器的非易失性存储器的零存储段清零的内部处理器指令;以及清除装置,该清除装置响应于主电源对该处理器供电的丢失,执行该清零指令,并将修改的数据从该处理器高速缓存内的地址清除到该非易失性存储器的清除存储段。11.根据权利要求10的系统,其中,所述零存储段的大小大约等于所述处理器高速缓存的大小。12.根据权利要求10的系统,其中,该系统还包括响应于主电源的丢失而支持所述处理器的电容电源。13.根据权利要求10的系统,其中,所述处理器是存储控制器处理器。14.一种同步高速缓存数据的系统,该系统包括存储控制器;该存储控制器内的处理器;连接到该处理器的处理器高速缓存,该处理器高速缓存被配置为存储数据;具有零存储段和清除存储段的非易失性存储器;以及清除装置,该清除装置响应于主电源对该处理器高速缓存供电的丢失,将修改的数据从该处理器高速缓存内的地址清除到该非易失性存储器的清除存储段。15.根据权利要求14的系统,其中,该系统还包括连接到所述处理器高速缓存的电容电源,该电容电源的大小被设置为可支持该处理器高速缓存。16.根据权利要求14的系统,其中,该系统还包括连接到所述非易失性存储器的电池,该电池可响应于主电源对所述处理器高速缓存的供电的丢失而对该非易...

【专利技术属性】
技术研发人员:MT本哈斯SL布林尼克AD沃尔斯
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[]

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

1