专利名称:缓存控制装置、信息处理装置和计算机可读记录介质的制作方法
技术领域:
这里讨论的实施例涉及用于管理缓存存储器的技术,缓存存储器用于临时保存从 主要存储器读出的数据,以供处理部分使用。
背景技术:
一般而言,在包括缓存存储器的信息处理系统中,诸如CPU(中央处理单元)之类 的处理部分将访问对象的数据从主要存储器读出到缓存存储器中并访问缓存存储器中的 读出数据。当缓存存储器被使用时,减少了从CPU的访问时间。在上述系统中,通常缓存存 储器例如由SRAM(静态随机访问存储器)构成,而主要存储器例如由DRAM(动态随机访问 存储器)构成。作为利用如上所述缓存存储器的方法,回写方法(write-backmethod)和直写方 法(write-through method)是已知的。回写方法是如下方法即使保留在缓存存储器中的 数据被重写,也不立即执行对主要存储器中相应数据的重写,而是随后将缓存存储器的数 据集中回写主要存储器。另一方面,直写方法是如下方法当保留在缓存存储器中的数据被 重写时,主要存储器中的相应数据的重写也被同时执行。因此,在采用直写方法的系统中, 总是保持缓存存储器中的数据和主要存储器中的相应数据相同的状态。顺便提及,近年来存在由中子等导致的SRAM的软错误与所公开的进程(例如下面 提到的专利文献1所公开的)的细化(refinement) —起增大的趋势,并且软错误对于系统 可靠性的影响越来越显著。在被用作主要存储器的DRAM中,如果保存的数据发生比特错误,则通常利用被称 为ECC(错误校验和纠正;纠错码)电路的错误检测和纠正电路来执行比特错误的检测和纠 正。ECC使得能够在主要存储器中执行1比特错误的纠正和2比特错误的检测,并且对抗软 错误的可靠性得到保持。另一方面,在用作缓存存储器的SRAM中,虽然有必要使能执行从CPU的高速访问, 但是由于ECC的错误检测/纠正需要固定时间,因此如果采用ECC,则牺牲了高速操作。因 此,对于缓存存储器,只有采用利用奇偶方法(parity method)的错误检测,通过奇偶方法 可以执行高速算术运算。通过上述奇偶方法,使用奇偶比特只检测出一比特错误。但是,两 比特或更多比特的多比特错误无法检测,并且存在引起系统故障的可能性。简言之,仅仅采 用奇偶方法的缓存存储器无法保持对抗软错误的可靠性。将会注意到,如果在缓存存储器 中检测到1比特错误,则从缓存存储器中放弃检测到该错误的数据,并且重新从主要存储 器重载相应数据。作为对抗被回写方法使用的缓存存储器的软错误的措施,已经提出例如在下面提 到的专利文献2中所公开的技术。在回写方法的缓存存储器中,即使执行数据的重写,该数 据也不会被立即回写主要存储器中。因此,数据的保留时间很长,并且数据有可能受软错误 影响。因此,在专利文献2所公开的技术中,回写方法的缓存存储器中的使用频率低的数据 被高效地回写主要存储器,以使得数据被具有高可靠性的主要存储器所保存,从而减小了
6软错误对系统的影响。[专利文献1]日本专利早期公开No.2007-59042[专利文献2]日本专利早期公开No.2005-92311但是,在回写方法和直写方法中的任意一种的缓存存储器中,由于使用频率高的 数据长期保存在缓存存储器中,因此非常可能由于中子等导致软错误(比特错误)。在缓存 存储器(SRAM)中,虽然1比特错误被奇偶方法检测并通过从主要存储器重载相关数据而被 消除,但是缓存存储器(SRAM)无法应对两比特或更多比特的多比特错误,并且存在引起系 统故障的可能性。
发明内容
实施例的一个目的在于减小缓存存储器中发生软错误的概率。将会注意到,不仅上述目的可以实现,而且可以认为本发明的另一目的在于实现 从以下描述的本发明实施例所呈现的配置得到的、但是无法被现有技术实现的操作和效^ o根据实施例的一个方面,提供了 一种用于使用标签存储器来管理缓存存储器并且 用于通过直写方法来利用缓存存储器的缓存控制装置,所述缓存存储器用于暂时保存从主 要存储器读出的数据以备处理部分所使用,该缓存控制装置包括监督部分,用于监督对缓 存存储器的访问时间;以及刷新部分,用于响应于监督部分的监督结果,从主要存储器再次 读出缓存存储器的一个或多个缓存行上的数据,并将读出的数据保存到缓存存储器中。根据实施例的另一方面,提供了一种信息处理装置,包括处理部分;主要存储 器;缓存存储器,用于暂时保存从主要存储器读出的数据以备处理部分所使用;标签存储 器,用于管理缓存存储器的缓存行;以及缓存控制部分,用于使用标签存储器来管理缓存存 储器并通过直写方法来利用缓存存储器,其中所述缓存控制部分包括监督部分,用于监督 对缓存存储器的访问时间;以及刷新部分,用于响应于监督部分的监督结果,从主要存储 器再次读出缓存存储器的一个或多个缓存行上的数据,并将读出的数据保存到缓存存储器 中。根据实施例的又一方面,提供了一种其上或其中记录了缓存控制程序的计算即可 读记录介质,所述缓存控制程序用于致使计算机充当用于使用标签存储器来管理缓存存储 器并且用于通过直写方法来利用缓存存储器的缓存控制装置,所述缓存存储器用于暂时保 存从主要存储器读出的数据以备处理部分所使用,所述缓存控制程序致使计算机充当监 督部分,用于监督对缓存存储器的访问时间;以及刷新部分,用于响应于监督部分的监督结 果,从主要存储器再次读出缓存存储器的一个或多个缓存行上的数据,并将读出的数据保 存到缓存存储器中。利用所公开的技术,响应于监督部分对缓存存储器的监督结果,缓存存储器的一 个或多个缓存行上的数据从主要存储器被再次读出并被保存到缓存存储器中。因此,缓存 存储器中可能处在被软错误所毁坏的状态下的数据利用主要存储器中的具有高可靠性的 相应数据被重载/刷新,并且缓存存储器中发生软错误的概率降低。因此,可以必然地抑制 使用缓存存储器的系统中因软错误所导致的故障的发生。
图1是示出具有第一实施例的缓存控制装置的信息处理装置的配置的框图;图2是示出图1的信息处理装置的操作的流程图;图3是示出具有第二实施例的缓存控制装置的信息处理装置的配置的框图;图4是示出图3的信息处理装置的操作的流程图;图5是示出具有第三实施例的缓存控制装置的信息处理装置的配置的框图;图6是示出图5的信息处理装置的操作的流程图;图7是示出具有第四实施例的缓存控制装置的信息处理装置的配置的框图;以及图8是示出图7的信息处理装置的操作的流程图。
具体实施例方式下面,将参考附图描述实施例。[1]第一实施例[1-1]第一实施例的配置图1是示出并入了第一实施例的缓存控制装置的信息处理装置的配置的框图。参 考图1,第一实施例的信息处理装置1A包括CPU 10、主要存储器20、缓存存储器30、标签 (tag)存储器40和缓存控制部分(缓存控制装置)50A。CPU (处理部分)10通过缓存存储器30和缓存控制部分50A连接到主要存储器20, 并从主要存储器20将访问对象的数据读出到缓存存储器30中并对读出的数据执行访问。 具体讲,CPU 10访问作为访问(读/写)对象的缓存存储器30,并以缓存行(cache line) (例如64字节)为单位执行主要存储器20和缓存存储器30之间的数据传送。将会注意到,如上所述,主要存储器20由例如DRAM构成,并且缓存存储器30由例 如SRAM构成。在主要存储器20中,通过上述错误检测纠正电路(ECC)进行的错误纠正被 执行,并且在缓存存储器30中,通过上述奇偶方法的错误检测被执行。标签存储器(标签阵列)40具有用于存储管理信息的区域,该管理信息用于针对 每一缓存行(标签条目)管理暂时保存在缓存存储器30中的数据。标签存储器40针对 每一缓存行保存标签部分、行地址、LRU(最近最少使用)信息、VALID比特以及时间戳信息 (TIME)。这里,标签部分是每一缓存行中的数据的高阶地址(一地址的多个较高阶比特、 主要存储器20的地址数据),并且行地址是除了标签部分之外的低阶地址(地址的多个较 低阶比特)。同时,LRU信息是用于指定最长时间段没有被访问的数据(缓存行)的信息, 并且VALID比特是如下比特当相应缓存行的数据有效时,VALID比特被设为“ 1”,而当数据 无效时,VALID比特被设为“0”。此外,时间戳信息(TIME)是由下文将描述的时间戳发布部 分511A发布给相应缓存行的时间戳。缓存控制部分50A使用标签存储器40的管理信息来管理缓存存储器(数据阵 列)30,以通过直写方法来利用缓存存储器30 (数据阵列)。如果缓存控制部分50A从CPU 10接收到存储器访问,则从访问对象数据的地址提取出高阶地址,并使用该高阶地址作为 关键字来搜索与VALID比特被设为“1”的缓存行(有效缓存行)有关的标签部分。如果符合提取出的高阶地址的标签部分被注册在标签存储器40中(在缓存命中的情况下),缓存控制部分50A则将缓存存储器30中对应于具有该标签部分的缓存行的数 据传送到CPU 10。从而,由CPU 10执行对访问对象数据的访问。此时,如果执行数据重写 作为存储器访问,则也在主要存储器20中执行对相应数据的相同重写。另一方面,如果符合提取出的高阶地址的标签部分没有注册在标签存储器40中 (在缓存未命中的情况下),缓存控制部分50A则将访问对象数据从主要存储器20读出到 缓存存储器30中,并将读出的数据传送到CPU 10。从而,由CPU 10执行对访问对象数据的 访问。此时,来自主要存储器20的数据被写入到VLAID比特被设为“0”的缓存行(无效缓 存行),或通过参考LRU信息,被写入到最长时间段没有被访问的缓存行。此外,同样在此 时,当数据的重写作为存储器访问被执行时,也在主要存储器20中执行对相应数据的相同 重写。此外,缓存控制部分50A还具有如下功能当在缓存存储器30中检测到奇偶错误 (1比特错误)时,丢弃检测到错误的数据,并从主要存储器20向缓存存储器30重新加载相 应数据。第一实施例的缓存控制部分50A执行上述这些基本的控制操作,并且除此之外, 还具有作为监督部分51A和刷新部分52A的功能。监督部分51A监督缓存存储器30 (关于对缓存存储器30的访问时间(当前时间)、 在缓存存储器30中的数据保留时间等等)。第一实施例中的监督部分51A具有作为时间戳 发布部分511A和比较部分512A的功能。时间戳发布部分511A在如上所述从主要存储器20读出数据并将数据保存在缓 存存储器30中时,发布表示数据在作为保留目的地的缓存存储器30的缓存行中的保留时 间的时间戳。然后,时间戳发布部分511A将该时间戳写入标签存储器40的相应缓存行的 TIME。将会注意到,为了允许时间戳发布部分511A发布保留时间,时间戳发布部分511A或 缓存控制部分50A具有计数和输出代表当前时间的时间信息的时钟功能。比较部分512A在基于标签存储器40中的标签部分(标签信息)意识到CPU 10 的存储器访问对象数据被保存在标签存储器40中的时间点(即,在缓存命中点)时执行以 下比较过程。具体讲,比较部分512A从标签存储器40读出与对象数据被保存的缓存行有 关的时间戳,并将该时间戳所表示的保留时间与通过时钟功能等获得的当前时间(实际的 访问时间或缓存命中认知时间)相比较。然后,比较部分512A输出如下信息作为监督部分 51A的监督结果访问时间/缓存命中认知时间是否是在保留时间之后经过了大于预定时 间T,即,访问时间/缓存命中认知时间是否是经过了通过将预定时间T与保留时间相加而 获得的时间。将会注意到,预定时间T是例如根据下面给出的计算表达式预先计算的,并被 预先注册并保存在缓存控制部分50A中的存储部分中。刷新部分52A执行如下刷新过程响应于监督部分51A的监督结果,从主要存储器 20读出缓存存储器30的一个或多个缓存行中的数据,并将数据保存在缓存存储器30中。 更具体而言,刷新部分52A执行如下刷新过程当来自监督部分51A的监督结果指示访问时 间(缓存命中认知时间)在存储时间之后经过了大于预定时间T时,从主要存储器20再次 读出相应的一个缓存行中的访问对象数据并将数据保存到缓存存储器30中。换言之,虽然 此时缓存命中判决是针对访问对象数据作出的,但是同样地,在缓存命中的情况下,刷新部 分52A针对访问对象数据执行与缓存未命中情况类似的操作。
具体讲,第一实施例的缓存控制部分50A认识到中子等可能已经导致软错误的可 能性很高,其中访问对象数据在缓存存储器30中保存的时间大于预定时间T。然后,响应于 上述认知,从主要存储器20重载访问对象数据。这里,预定时间T是比固定的软错误发生周期时间t (MTBF:故障之间的平均时 间)短的时间间隔。具体讲,预定时间T被设置为比晶闸管结构(thyristor structure) 的闩锁(latchup)破坏存储器单元中的数据之前的时间(时间常数;数据破坏时间)t短 的时间间隔,所述晶闸管结构的闩锁寄生存在于缓存存储器30的存储器单元的CMOS结构 中并由中子激活。该数据破坏时间T是基于用于保存数据的存储器单元的节点电容C和当晶闸管 结构发生闩锁时,漏电流I流过的扩散电阻的电阻值R来计算的。简言之,存储器单元的累积电荷Q可以使用电源电压V和结电容C通过以下表达 式(1)表示Q = CV. . . (1)同时,累积电荷Q可以如以下表达式⑵所表示的,被表示为晶闸管结构的闩锁现 象的漏电流I的积分值Q = / Idt. . . (2)这里,如果表达式⑵中的/ dt被重写为“ t ”,则可以获得以下表达式(3),并且 因此该“ t ”可以被认为代表数据破坏时间。Q = I X ... (3)然后,以下表达式⑷应用上述表达式(1)和(3)CV = I X . . . (4)顺便提及,由于漏电流I可以使用扩散电阻的电阻值R由以下表达式(5)表示,因 此通过将以下表达式(5)带入上述表达式(4)可以得到以下表达式(6)I = V/R. . . (5)CV = (V/R) t . (6)通过针对数据破坏时间T求解表达式(6),可以得到以下表达式(7),并且计算部 分21a基于表达式(7)计算数据破坏时间t X = CR. . . (7)然后,比根据表达式(7)计算的数据破坏时间T短的时间间隔被设置为上述预定 时间T。[1-2]第一实施例的操作现在,将参考图2所示流程图(步骤S11到S18)描述具有上述配置的具有根据第 一实施例的缓存控制部分50A的信息处理装置1A的操作。如果缓存控制部分50A经历从CPU 10的存储器访问(步骤S11),则其从访问对象 数据的地址提取出高阶地址。然后,缓存控制部分50A使用该高阶地址作为关键字来搜索 标签存储器40以找到VALID比特被设置为“1”的缓存行(有效缓存行)的标签部分。如果搜索结果指示符合提取出的高阶地址的标签部分没有注册在标签存储器40 中(在缓存未命中的情况下;步骤S12的“否”路径),缓存控制部分50A则将访问对象数据 的地址注册到标签存储器40的标签部分和行地址中(步骤S13)。然后,缓存控制部分50A将访问对象数据从主要存储器20读出到缓存存储器30中,并将访问对象数据传送到缓存 存储器30以存储在缓存存储器30中(步骤S14)。此时,时间戳发布部分511A发布代表访问对象数据在作为保留目的地的缓存存 储器30中的保留时间的时间戳,并且还将时间戳作为TIME写入标签存储器40的相应缓存 行(步骤S15)。此后,读出到缓存存储器30的数据作为访问对象数据被从缓存存储器30 传送到CPU 10(步骤S18)。从而,由CPU 10执行对访问对象数据的访问。另一方面,如果使用高阶地址作为关键字所执行的对标签部分的搜索结果指示符 合提取出的高阶地址的标签部分被注册在标签存储器40中(在缓存命中的情况下;步骤 S12的“是”路径),缓存控制部分50A的比较部分512A则工作。具体讲,比较部分512A从 标签存储器40读出与访问对象数据将被保存到的缓存行有关的时间戳,并通过比较判断 当前时间是否指示保留时间之后经过的时间大于预定时间T(步骤S16)。如果当前时间没有指示保留时间之后经过的时间大于预定时间T(当前时间在限 制时间段之内;步骤S17的“是”路径),保存在缓存存储器30中的访问对象数据则从缓存 存储器30被传送到CPU 10(步骤S18)。从而,由CPU 10执行对访问对象数据的访问。另一方面,如果当前时间指示保留时间之后经过的时间大于预定时间T(当前时 间在限制时间段之外;步骤S17的“否”路径),缓存控制部分50A的刷新部分52A则工作。 具体讲,刷新部分52A执行如下刷新过程丢弃当前保存在缓存存储器30中的访问对象数 据并再次从主要存储器20读出访问对象数据,然后将重新读取的访问对象数据保存到缓 存存储器30中(步骤S14)。而且此时,时间戳发布部分511A发布代表访问对象数据在作为保留目的地的缓 存存储器30中的保留时间的时间戳,并且还将时间戳作为TIME写入标签存储器40的相应 缓存行(步骤S15)。此后,读出到缓存存储器30的数据作为访问对象数据被从缓存存储器 30传送到CPU 10 (步骤S18)。从而,由CPU 10执行对访问对象数据的访问。[1-3]第一实施例的效果这样,利用具有根据第一实施例的缓存控制部分50A的信息处理装置1A,即使对 于访问对象数据发生缓存命中,如果数据在缓存存储器30中维持保留的时间超过预定时 间T,也要执行与缓存未命中类似的过程。具体讲,当访问对象数据在缓存存储器30中维 持保留的时间超过预定时间T时,信息处理装置1A认识到由中子等导致软错误的可能性很 高,并且从主要存储器20向缓存存储器30重载访问对象数据。在主要存储器20中,最近的数据总是在其受到ECC等的保护的状态下被保存。因 此,在缓存存储器30中的保留时间太长以致于可能已经被上述软错误毁坏的缓存存储器 30的数据利用主要存储器20中的高度可靠的相应数据而被重载/刷新。从而,缓存存储器 30中的软错误被减轻并且软错误发生的概率降低,并且可以必然抑制使用缓存存储器30 的系统(CPU 10)中由于软错误而导致的故障的发生。[2]第二实施例[2-1]第二实施例的配置图3是示出具有第二实施例的缓存控制装置的信息处理装置的配置的框图。如图 3所示,第二实施例的信息处理装置1B包括与第一实施例类似的CPU 10、主要存储器20、缓 存存储器30和标签存储器40,并且还具有缓存控制部分(缓存控制装置)50B以替代第一
11实施例的缓存控制部分50A。将会注意到,在图3中,与上面提到的标号相同的标号指示相 同或基本相同的元件,因此,这里省略对它们的重复描述。而且,第二实施例的缓存控制部分50B执行与第一实施例的缓存控制部分50A类 似的基本控制操作,并且还具有作为监督部分51B和刷新部分52B的功能。而且,监督部分51B与监督部分51A类似地监督缓存存储器30 (例如对缓存存储 器30的访问时间(当前时间)、在缓存存储器30中的数据保留时间等等)。第二实施例的 监督部分51B作为时间戳发布部分511B和比较部分512B工作。时间戳发布部分511B与第一实施例的时间戳发布部分511A类似地工作。具体讲, 时间戳发布部分511B也是在从主要存储器20读出数据并将数据保存到缓存存储器30中 时,发布表示相关数据在作为保留目的地的缓存存储器30的缓存行中的保留时间的时间 戳。然后,时间戳发布部分511B将时间戳写入到标签存储器40的相应缓存行的TIME。将 会注意到,为了允许时间戳发布部分511B发布保留时间,时间戳发布部分511B或缓存控制 部分50B具有计数并输出代表当前时间的时间信息的时钟功能。比较部分512B在缓存命中的时间点执行与第一实施例的比较部分512A类似的比 较过程,并且除此之外,当例如预先设置的规定时间到来时,还执行第二实施例中的如下所 述的比较过程。具体讲,当规定时间到来时,比较部分512B从标签存储器40读出与缓存存 储器30中保存的所有数据有关的每一缓存行的时间戳,并将每个时间戳所表示的保留时 间与根据上述时钟功能获得的当前时间(比较执行时间)相比较。然后,比较部分512B输 出如下信息作为监督部分51B的监督结果比较执行时间是否指示在保留时间之后经过了 预定时间T或大于预定时间T的时间,即,是否经过了通过将预定时间T与保留时间相加而 获得的时间。将会注意到,预定时间T是例如以上面结合第一实施例所描述的方式来计算 的,并且被预先注册和保存在缓存控制部分50B的存储部分中。此外,上述规定时间可以随 机地设置或周期地设置。该规定时间与预定时间T类似地被例如预先注册和保存在缓存控 制部分50B的存储部分中。刷新部分52B与第一实施例的刷新部分52A类似地执行如下刷新过程响应于监 督部分51B的监督结果从主要存储器20再次读出缓存存储器30的一个或多个缓存行的数 据并将读出的数据保存在缓存存储器30中。更具体而言,同样,第二实施例的刷新部分52B 与第一实施例的刷新部分52A类似地执行如下刷新过程当来自监督部分51B的监督结果 表明访问时间(缓存命中认知时间)指示在保留时间之后经过了预定时间T或大于预定时 间T的时间时,从主要存储器20重新读出相应一个缓存行的访问对象数据,并将读出的数 据保存到缓存存储器30中。换言之,虽然已经对于相关的访问对象数据执行了缓存命中判 决,但是即使在缓存命中的情况下发生这种情况时,刷新部分52B也对相关的访问对象数 据执行与缓存未命中时相等同的操作。此外,当来自监督部分51B的监督结果指示比较执行时间在保留时间之后经过了 预定时间T或大于预定时间T的时间时,第二实施例的刷新部分52B充当使无效部分,用于 使相关的缓存行无效。具体讲,刷新部分52B将标签存储器40的VALID比特设为“0”以使 得相关行无效。从而,如果保存在相关缓存行中的数据在使无效过程之后变为CPU 10的存 储器访问的对象数据,则针对相关数据执行缓存未命中判决,并且与第一实施例类似地再 次从主要存储器20读出相应数据。具体讲,从主要存储器20新读出相应数据并保存到缓
12存存储器30中并且关于该数据的管理信息被注册到标签存储器40中。当刷新部分52B以 上述方式使相关缓存行无效时,相关缓存行中的数据实质上被重载/刷新。此时,类似于第 一实施例,指示保留时间的时间戳由时间戳发布部分511B发布并被写入到标签存储器40 的相应缓存行中。[2-2]第二实施例的操作现在,将参考图4所示流程图(步骤S21到S25)描述具有以上述方式配置的第二 实施例的缓存控制部分50B的信息处理装置1B的操作。将会注意到,如果缓存控制部分 50B从CPU 10接收存储器访问,则其与第一实施例的缓存控制部分50A类似地根据图2所 示的流程图(步骤S11到S18)操作。另一方面,在第二实施例的缓存控制部分50B中,当来自CPU 10的存储器访问被 接收时或者如果通过上述时钟功能获得的当前时间指示预先设置的规定时间时,缓存控制 部分50B的比较部分512B则工作。具体讲,比较部分512B从标签存储器40读出与一个缓 存行相对应的时间戳(步骤S21),并通过比较判断比较执行时间(当前时间)是否指示在 保留时间之后经过了预定时间T或大于预定时间T的时间(步骤S22)。如果比较执行时间指示在保留时间之后经过了预定时间T或大于预定时间T的时 间(如果当前时间在限制时间之外;步骤S23的“否”路径),则缓存控制部分50B的刷新部 分52B工作。具体讲,刷新部分(使无效部分)52B将标签存储器40中的与已经在缓存存 储器30中保存了预定时间T或大于预定时间T的相关数据(缓存行)相对应的VALID比 特设为“0”以使该缓存行无效(步骤S24)。因此,如果在使无效过程之后,保存在相关缓存行中的数据变为CPU10的存储器 访问的对象数据,则对上述数据执行缓存未命中判决(参考图2的步骤S12的“否”路径)。 因此,相应数据从主要存储器20被重新读出并保存到缓存存储器30中,并且关于该数据的 管理信息(地址、时间戳等等)被注册到标签存储器40中(参考图2的步骤S14、S15和 S18)。通过该上述使无效过程,缓存行中的数据实质上被重载/刷新。此后,缓存控制部分 50B将其处理推进到步骤S25。另一方面,如果比较执行时间没有指示在保留时间之后经过了预定时间T或大于 预定时间T的时间(如果当前时间在限制时间之内;步骤S23的“是”路径),则缓存控制 部分50B将其处理推进到步骤S25而不特别执行处理。在步骤S25,缓存控制部分50B判断 是否已经对所有数据(缓存行)执行了保留时间的检查(步骤S25)。如果对所有数据的 检查都已完成(“是”路径),则缓存控制部分50B结束处理。另一方面,如果检查尚未完成 (“否”路径),缓存控制部分50B则将其处理返回到步骤S21,在该步骤,其选择另一缓存行 并对该缓存行执行与上述类似的处理。[2-3]第二实施例的效果这样,利用具有第二实施例的缓存控制部分50B的信息处理装置1B,如果预先设 置的规定时间到来,则针对每一缓存行检查保存在缓存存储器30中的数据的时间戳。然 后,如果某些数据已经在缓存存储器30中保存了超过预定时间T的时间,则使该数据(缓 存行)无效并在下次访问时重载/刷新该数据。因此,在第二实施例中,对保留时间的检查不仅在缓存命中时执行,还在规定时间 到来时执行,并且缓存存储器30中可能已经被软错误毁坏的数据利用保存在主要存储器20中的相应数据被重载/刷新,因此具有高可靠性。因此,缓存存储器30中的软错误被减 轻,并且发生软错误的概率降低,并且可以必然地抑制使用缓存存储器30的系统(CPU 10) 中因软错误所导致的故障的发生。[3]第三实施例[3-1]第三实施例的配置图5是示出具有第三实施例的缓存控制装置的信息处理装置的配置的框图。参考 图5,第三实施例的信息处理装置1C包括与第一实施例类似的CPU 10、主要存储器20、缓存 存储器30和标签存储器40,并且还具有缓存控制部分(缓存控制装置)50C以替代第一实 施例的缓存控制部分50A。将会注意到,在图5中,与上面提到的标号相同的标号指示相同 或基本相同的元件,因此,这里省略对它们的重复描述。而且,第三实施例的缓存控制部分50C执行与第一实施例的缓存控制部分50A类 似的基本控制操作,并且除此之外,还充当监督部分51C和刷新部分52C。而且,监督部分51C与监督部分51A类似地监督缓存存储器30 (对缓存存储器30 的访问时间(当前时间)、在缓存存储器30中的数据保留时间等等)。监督部分51C具有 作为时间戳发布部分511C和比较部分512C的功能。时间戳发布部分511C与第一实施例的时间戳发布部分511A类似地工作。具体讲, 时间戳发布部分511C也是在从主要存储器20读出数据并将数据保存到缓存存储器30中 时,发布表示数据在作为数据的保留目的地的缓存存储器30的缓存行中的保留时间的时 间戳。然后,时间戳发布部分511C将时间戳写入到标签存储器40的相应缓存行的TIME。 将会注意到,为了允许时间戳发布部分511C发布保留时间,时间戳发布部分511C或缓存控 制部分50C具有计数并输出代表当前时间的时间信息的时钟功能。与第一实施例的比较部分512A类似地,比较部分512C在缓存命中发生的时间点 执行与第一实施例的比较部分512A类似的比较过程。同时,刷新部分52C与第一实施例的刷新部分52A类似地执行如下刷新过程响应 于监督部分51C的监督结果从主要存储器20再次读出缓存存储器30的一个或多个缓存行 的数据并将读出的数据保存在缓存存储器30中。更具体而言,刷新部分52C也执行如下刷 新过程当来自监督部分51C的临督结果表明访问时间(缓存命中认知时间)指示在保留 时间之后经过了预定时间T或大于预定时间T的时间时,从主要存储器20重新读出缓存存 储器30的相应一个缓存行的访问对象数据,并将读出的访问对象数据保存到缓存存储器 30中。具体讲,虽然已经对于相关的访问对象数据执行了缓存命中判决,但是即使当在缓存 命中的情况下发生这种情况时,刷新部分52C也对相关的访问对象数据执行与缓存未命中 时相等同的操作。此外,刷新部分52C还充当使无效部分,当来自监督部分51C的监督结果表明访问 时间(缓存命中认知时间)指示了在保留时间之后经过了预定时间T或大于预定时间T的 时间时,该使无效部分用于使除了被执行过刷新过程的缓存行之外的所有缓存行无效。具 体讲,刷新部分52C将标签存储器40的VALID比特设为“0”以使这些缓存行无效。从而, 如果已经保存在被无效的缓存行中的任意数据在使无效过程之后变为CPU 10的存储器访 问的对象数据,则针对该数据执行缓存未命中判决,并且与第一实施例类似地再次从主要 存储器20读出相应数据。具体讲,相关数据被从主要存储器20重新读出并被保存到缓存存储器30中,并且关于该数据的管理信息被注册到标签存储器40。由于刷新部分52C以上 述方式使相关缓存行无效,因此该缓存行中的数据实质上被重载/刷新。此时,类似于第一 实施例,表示保留时间的时间戳由时间戳发布部分511C发布并被写入到标签存储器40的 相应缓存行中。[3-2]第三实施例的操作现在,将参考图6所示流程图(步骤S31到S39)描述具有上述配置的第三实施例 的缓存控制部分50C的信息处理装置1C的操作。将会注意到,步骤S31到S37以及S39基 本对应于图2的步骤S11到S18。如果缓存控制部分50C经历来自CPU 10的存储器访问(步骤S31),则其从访问对 象数据的地址中提取出高阶地址。然后,缓存控制部分50C使用该高阶地址作为关键字来 搜索标签存储器40以找到VALID比特被设为“1”的缓存行(有效缓存行)的标签部分。如果搜索结果指示符合提取出的高阶地址的标签部分没有注册在标签存储器40 中(在缓存未命中的情况下;步骤S32的“否”路径),缓存控制部分50C则将访问对象数 据的地址注册到标签存储器40的标签部分和行地址(步骤S33)。然后,缓存控制部分50C 将访问对象数据从主要存储器20读出到缓存存储器30中并将访问对象数据传送到缓存存 储器30以便存储在缓存存储器30中(步骤S34)。此时,时间戳发布部分511C发布表示访问对象数据在作为保留目的地的缓存存 储器30中的保留时间的时间戳,并且还将时间戳作为TIME写入标签存储器40的相应缓存 行(步骤S35)。此后,读出到缓存存储器30的数据作为访问对象数据被从缓存存储器30 传送到CPU 10(步骤S39)。从而,由CPU 10执行对访问对象数据的访问。另一方面,如果使用高阶地址作为关键字执行的对标签部分的搜索结果指示符合 提取出的高阶地址的标签部分被注册在标签存储器40中(在缓存命中的情况下;步骤S32 的“是”路径),缓存控制部分50C的比较部分512C则工作。具体讲,比较部分512C从标签 存储器40读出与访问对象数据将被保存到的缓存行有关的时间戳,并通过比较判断当前 时间是否指示在保留时间之后经过了大于预定时间T的时间(步骤S36)。如果当前时间没有指示在保留时间之后经过了大于预定时间T的时间(当前时间 在限制时间段之内;步骤S37的“是”路径),则保存在CPU10中的访问对象数据被从缓存存 储器30传送到CPU 10(步骤S38)。从而,由CPU 10执行对访问对象数据的访问。另一方面,如果当前时间指示在保留时间之后经过了大于预定时间T的时间(当 前时间在限制时间段之外;步骤S37的“否”路径),缓存控制部分50C的刷新部分52C则工 作。具体讲,刷新部分52C执行如下刷新过程丢弃当前保存在缓存存储器30中的访问对 象数据并从主要存储器20再次读出访问对象数据,然后将重新读出的访问对象数据保存 到缓存存储器30中(步骤S34和S35)。同时,刷新部分52C使除了已经在步骤S34被执行过刷新过程的缓存行之外的所 有缓存行无效(步骤S38)。如果已经保存在以这种方式被无效的缓存行中的任意数据在无效过程之后变为 CPU 10的存储器访问的对象数据,则对于相关数据执行缓存未命中判决(参考步骤S32的 “否”路径)。因此,相关数据被从主要存储器20重新读出并保存到缓存存储器30中,并且 关于该数据的管理信息(地址和时间戳)被注册到标签存储器40中(参考步骤S34、S35和S39)。通过上述使无效过程,相关缓存行中的数据实质上被重载/刷新。[3-3]第三实施例的效果这样,利用具有第三实施例的缓存控制部分50C的信息处理装置1C,可以实现与 第一实施例相似的操作和效果。此外,在第三实施例中,如果缓存命中数据在缓存存储器30中维持保存的时间超 过预定时间T,则不仅该数据被刷新,而且除了数据被保存的缓存行之外的缓存行也被无 效。具体讲,如果一个缓存行中的数据维持保存的时间超过预定时间T,则确定其他缓存行 中的数据也可能维持保存了超过预定时间T的时间(S卩,可能处在被软错误毁坏的状态下) 的可能性很高,从而执行使其他所有缓存行无效。因此,同样,在第三实施例中,缓存存储器30中可能处在被软错误毁坏的状态下 的数据利用主要存储器20中的具有高可靠性的相应数据被重载/刷新。因此,缓存存储器 30中的软错误被减轻,并且发生软错误的概率降低,并且可以必然地抑制使用缓存存储器 30的系统(CPU 10)中因软错误所导致的故障的发生。[4]第四实施例[4-1]第四实施例的配置。图7是示出具有第四实施例的缓存控制装置的信息处理装置的配置的框图。如图 7所示,第四实施例的信息处理装置1D具有与第一实施例类似的CPU 10、主要存储器20、缓 存存储器30和标签存储器40,并且还具有缓存控制部分(缓存控制装置)50D以替代第一 实施例的缓存控制部分50A。将会注意到,在图7中,与上面提到的标号相同的标号指示相 同或基本相同的元件,因此,这里省略对它们的重复描述。而且,第四实施例的缓存控制部分50D执行与第一实施例的缓存控制部分50A类 似的基本控制操作,并且还具有作为监督部分51D和刷新部分52D的功能。而且,监督部分51D与监督部分51A类似地监督缓存存储器30 (对缓存存储器30 的访问时间(当前时间)、在缓存存储器30中的数据保留时间等等)。第四实施例的监督 部分51D充当时间戳发布部分(计时部分)511D和比较部分512D。时间戳发布部分511D与第一实施例的时间戳发布部分511A类似地工作,并且还 具有作为用于对时间计数的计时部分的功能(时钟功能/计时器)。具体讲,时间戳发布 部分511D也是在从主要存储器20读出数据并将数据保存到缓存存储器30中时发布时间 戳,该时间戳表示数据在作为数据的保留目的地的缓存存储器30的缓存行中的保留时间。 然后,时间戳发布部分511D将时间戳写入到标签存储器40的相应缓存行的TIME。将会注 意到,为了允许时间戳发布部分511D发布保留时间,时间戳发布部分511D或缓存控制部分 50D具有计数并输出代表当前时间的时间信息的时钟功能。作为计时数部分的时间戳发布部分511D的功能是使用上述时钟功能来实现的。 时间戳发布部分511D在下面将描述的定时(参考图8的步骤S44)被重置并被随后将描述 的比较部分512D用来检测在重置之后经过的时间是否达到预先设置的预定时间T。比较部分512D在缓存命中时执行与第一实施例的比较部分512A类似的比较过 程。此外,在第四实施例中,比较部分512D将时间戳发布部分511D所计数的时间与预定时 间T相比较,以检测计数的时间是否变得等于或大于预定时间T,并且输出检测结果作为监 督结果。将会注意到,预定时间T例如是以在上述第一实施例中描述的方式来计算的,并被预先注册和保存在缓存控制部分50D的存储部分中。刷新部分52D与第一实施例的刷新部分52A类似地执行如下刷新过程响应于监 督部分51D的监督结果从主要存储器20再次读出缓存存储器30的一个或多个缓存行的数 据并将读出的数据保存在缓存存储器30中。更具体而言,同样,刷新部分52D执行如下刷 新过程当来自监督部分51D的监督结果表明访问时间(缓存命中认知时间)指示在保留 时间之后经过了预定时间T或大于预定时间T的时间时,从主要存储器20重新读出缓存存 储器30的相应一个缓存行中的访问对象数据,并将读出的访问对象数据保存到缓存存储 器30中。具体讲,虽然已经对于访问对象数据执行了缓存命中判决,但是即使当在缓存命 中的情况下发生这种情况,刷新部分52D也对相关的访问对象数据执行与缓存未命中时相 等同的操作。此外,第四实施例的刷新部分52D则还充当使无效部分,如果来自监督部分51D的 监督结果指示由时间戳发布部分511D所计数的时间等于或大于预定时间T,则该使无效部 分使缓存存储器30中的所有缓存行无效。具体讲,刷新部分52D将标签存储器40的VALID 比特设为“0”以使这些缓存行无效。从而,如果保存在被无效的缓存行中的任意数据在使 无效过程之后变为CPU 10的存储器访问的对象数据,则针对该数据执行缓存未命中判决, 并且与第一实施例类似地再次从主要存储器20读出相应数据。简言之,相关数据被从主要 存储器20重新读出并被保存到缓存存储器30中,并且关于该数据的管理信息被注册到标 签存储器40。当刷新部分52D以上述方式使相关缓存行无效时,该缓存行中的数据实质上 被重载/刷新。此时,表示保留时间的时间戳由时间戳发布部分511D发布并被写入到标签 存储器40的相应缓存行中。[4-2]第四实施例的操作现在,将参考图8所示流程图(步骤S41到S44)描述具有以上述方式配置的第四 实施例的缓存控制部分50D的信息处理装置1D的操作。将会注意到,如果缓存控制部分 50D从CPU 10接收到存储器访问,则其与第一实施例的缓存控制部分50A类似地根据图2 所示流程图(步骤S11到S18)进行操作。同时,在第四实施例的缓存控制部分50D中,比较部分512D将由时间戳发布部分 511D计数的时间与预定时间(限制时间)T相比较(步骤S41),并且将比较结果(监督结 果)输出到刷新部分52D。然后,如果计数的时间在预定时间T之内(步骤S42的“是”路 径),缓存控制部分50D则将其处理返回到步骤S41处的过程,但是如果计数的时间等于或 大于预定时间T (步骤S42的“否”路径),缓存控制部分50D的刷新部分52D则工作。具 体讲,刷新部分(使无效部分)52D使缓存存储器30/标签存储器40中的所有缓存行无效 (步骤S43),并重置时间戳发布部分511D (步骤S44),然后,缓存控制部分50D将其处理返 回到步骤S41处的处理。此后,如果已经保存在上述在步骤S43处被无效的缓存行中的任意数据变为CPU 10的存储器访问的对象数据,则执行关于该数据的缓存未命中判决(参考图2的步骤S12 的“否”路径)。因此,相应的数据从主要存储器20被重新读出并被保存到缓存存储器30 中,并且关于该数据的管理信息(地址和时间戳)被注册到标签存储器40中(参考图2的 步骤S14、S15和S18)。通过上述的使无效过程,缓存行中的数据实质上被重载/刷新。[4-3]第四实施例的效果
这样,利用具有第四实施例的缓存控制部分50D的信息处理装置1D,预先假设如 果经过预定时间T,则缓存存储器30中的数据可能处于被软错误毁坏的状态下的可能性变 高。基于该假设,在每次经过了预定时间T(该预定时间T是比软错误发生周期t短的时 间间隔)时,缓存存储器30的所有缓存行都被无效。因此,同样,在第四实施例中,缓存存储器30中已经被软错误毁坏的数据利用主 要存储器20中的具有高可靠性的相应数据被重载/刷新。因此,缓存存储器30中的软错误 被减轻,并且发生软错误的概率降低,并且可以必然地抑制使用缓存存储器30的系统(CPU 10)中因软错误所导致的故障的发生。[5]其他将会注意到,本发明并不局限于上述实施例,而是可以在不脱离本发明的精神和 范围的情况下,通过以各种方式修改上述实施例来实施。此外,作为上面描述的监督部分51A到51D (时间戳发布部分511A到511D和比较 部分512A到512D)和刷新部分52A到52D的某些或所有功能是通过借助包括CPU、信息处 理装置和各种终端在内的计算机执行预定应用程序(缓存控制程序)来实现的。程序以如下形式提供其被记录在计算机可读记录介质上或中,例如软盘、 CD (CD-ROM、CD-R、CD-RW 等等)、DVD (DVD-ROM、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+冊、蓝 光光盘等等)等等。在该示例中,计算机从记录介质读取程序,并将程序传送并存储到内部 存储装置或外部存储装置中。这里,计算机表示包括硬件和OS的概念,并且表示在OS的控制下进行操作的硬 件。此外,当OS不是必需的并且硬件通过应用程序被单独地操作时,硬件本身对应于计算 机。硬件至少包括诸如CPU之类的微处理器和用于读取记录在记录介质上或中的计算机程 序的装置。程序包括致使上述计算机实现如监督部分51A到51D和刷新部分52A到52D的 功能的程序代码。此外,某些功能也可以不是通过应用程序而是通过0S来实现的。
18
权利要求
一种用于使用标签存储器来管理缓存存储器并且用于通过直写方法来利用所述缓存存储器的缓存控制装置,所述缓存存储器用于暂时保存从主要存储器读出的数据,以备处理部分所使用,该缓存控制装置包括监督部分,用于监督对所述缓存存储器的访问时间;以及刷新部分,用于响应于所述监督部分的监督结果,从所述主要存储器再次读出所述缓存存储器的一个或多个缓存行上的数据,并将读出的数据保存到所述缓存存储器中。
2.如权利要求1所述的缓存控制装置,其中所述监督部分包括时间戳发布部分,用于当数据从所述主要存储器被读出并被保存到所述缓存存储器中 时,将指示数据在作为数据的保留目的地的所述缓存存储器的一个或多个缓存行上的保留 时间的时间戳写入所述标签存储器;以及比较部分,用于在基于所述标签存储器中的标签信息认识到所述处理部分的存储器访 问的目标数据被保存在所述缓存存储器中时,将与保存所述目标数据的一个或多个缓存行 有关的时间戳所指示的保留时间与当前时间相比较,并且输出关于当前时间是否指示了在 所述保留时间之后经过了预定时间或大于预定时间的时间的比较结果,作为监督结果,并 且当来自所述监督部分的监督结果表明当前时间指示了在所述保留时间之后经过了预 定时间或大于预定时间的时间时,所述刷新部分从所述主要存储器再次读出所述一个或多 个缓存行上的目标数据并将读出的目标数据保存到所述缓存存储器中。
3.如权利要求1所述的缓存控制装置,其中所述监督部分包括时间戳发布部分,用于当数据从所述主要存储器被读出并被保存到所述缓存存储器中 时,将指示数据在作为数据的保留目的地的所述缓存存储器的一个或多个缓存行上的保留 时间的时间戳写入所述标签存储器;以及比较部分,用于将与所述缓存存储器的每个缓存行有关的时间戳所指示的保留时间与 当前时间相比较,并且输出关于当前时间是否指示在所述保留时间之后经过了预定时间或 大于预定时间的时间的比较结果,作为监督结果,并且当来自所述监督部分的监督结果表明当前时间指示了在所述保留时间之后经过了预 定时间或大于预定时间的时间时,所述刷新部分从所述主要存储器再次读出所述缓存行上 的数据并将读出的数据保存到所述缓存存储器中。
4.如权利要求3所述的缓存控制装置,其中,当来自所述监督部分的监督结果表明当 前时间指示了在所述保留时间之后经过了预定时间或大于预定时间的时间时,所述刷新部 分使所述缓存行无效。
5.如权利要求1所述的缓存控制装置,其中所述监督部分包括时间戳发布部分,用于当数据从所述主要存储器被读出并被保存到所述缓存存储器中 时,将指示数据在作为数据的保留目的地的所述缓存存储器的一个或多个缓存行上的保留 时间的时间戳写入所述标签存储器;以及比较部分,用于在基于所述标签存储器中的标签信息认识到所述处理部分的存储器访 问的目标数据被保存在所述缓存存储器中时,将与保存所述目标数据的一个或多个缓存行 有关的时间戳所指示的保留时间与当前时间相比较,并且输出关于当前时间是否指示在所 述保留时间之后经过了预定时间或大于预定时间的时间的比较结果,作为监督结果,并且当来自所述监督部分的监督结果表明当前时间指示了在所述保留时间之后经过了预 定时间或大于预定时间的时间时,所述刷新部分从所述主要存储器再次读出所述一个或多 个缓存行上的目标数据并将读出的目标数据保存到所述缓存存储器中,然后,使除了该缓 存行之外的所有缓存行无效。
6.如权利要求1所述的缓存控制装置,其中所述监督部分包括计时部分,用于计数时间;以及比较部分,用于将所述计时部分所计数的时间与预定时间相比较,并且输出关于所计 数的时间是否等于或长于所述预定时间的比较结果,作为监督结果,并且当来自所述监督部分的所述监督结果指示所计数的时间等于或长于所述预定时间时, 所述刷新部分使所述缓存存储器的所有缓存行无效。
7.如权利要求2到6中的任意一个所述的缓存控制装置,其中所述缓存存储器是静态 随机访问存储器,并且所述刷新部分进行操作以防止所述静态随机访问存储器的存储器单 元中的数据被中子所引起的软错误所毁坏。
8.如权利要求7所述的缓存控制装置,其中,被用作所述比较部分的比较基准的所述 预定时间是比数据被晶闸管结构的闩锁毁坏之前的数据破坏时间短的时间间隔,其中所述 晶闸管结构的闩锁寄生地存在于存储器单元的结构中并被中子激活。
9.如权利要求8所述的缓存控制装置,其中所述数据破坏时间是基于保存数据的存储 器单元的节点电荷以及漏电流在所述晶闸管结构中流过的电阻的电阻值来计算的。
10.一种信息处理装置,包括处理部分;主要存储器;缓存存储器,用于暂时保存从所述主要存储器读出的数据,以备所述处理部分所使用;标签存储器,用于管理所述缓存存储器的缓存行;以及缓存控制部分,用于使用所述标签存储器来管理所述缓存存储器并通过直写方法来利 用所述缓存存储器,其中所述缓存控制部分包括监督部分,用于监督对所述缓存存储器的访问时间;以及刷新部分,用于响应于所述监督部分的监督结果,从所述主要存储器再次读出所述缓 存存储器的一个或多个缓存行上的数据,并将读出的数据保存到所述缓存存储器中。
11.如权利要求10所述的信息处理装置,其中所述监督部分包括时间戳发布部分,用于当数据从所述主要存储器被读出并被保存到所述缓存存储器中 时,将指示数据在作为数据的保留目的地的所述缓存存储器的一个或多个缓存行上的保留 时间的时间戳写入所述标签存储器;以及比较部分,用于在基于所述标签存储器中的标签信息认识到所述处理部分的存储器访 问的目标数据被保存在所述缓存存储器中时,将与保存所述目标数据的一个或多个缓存行 有关的时间戳所指示的保留时间与当前时间相比较,并且输出关于当前时间是否指示在所 述保留时间之后经过了预定时间或大于预定时间的时间的比较结果,作为监督结果,并且当来自所述监督部分的监督结果表明当前时间指示了在所述保留时间之后经过了预定时间或大于预定时间的时间时,所述刷新部分从所述主要存储器再次读出所述一个或多 个缓存行上的目标数据并将读出的目标数据保存到所述缓存存储器中。
12.如权利要求10所述的信息处理装置,其中所述监督部分包括时间戳发布部分,用于当数据从所述主要存储器被读出并被保存到所述缓存存储器中 时,将指示数据在作为数据的保留目的地的所述缓存存储器的一个或多个缓存行上的保留 时间的时间戳写入所述标签存储器;以及比较部分,用于将与所述缓存存储器的每个缓存行有关的时间戳所指示的保留时间与 当前时间相比较,并且输出关于当前时间是否指示在所述保留时间之后经过了预定时间或 大于预定时间的时间的比较结果,作为监督结果,并且当来自所述监督部分的监督结果表明当前时间指示了在所述保留时间之后经过了预 定时间或大于预定时间的时间时,所述刷新部分从所述主要存储器再次读出所述缓存行上 的数据并将读出的数据保存到所述缓存存储器中。
13.如权利要求12所述的信息处理装置,其中,当来自所述监督部分的监督结果表明 当前时间指示了在所述保留时间之后经过了预定时间或大于预定时间的时间时,所述刷新 部分使所述缓存行无效。
14.如权利要求10所述的信息处理装置,其中所述监督部分包括时间戳发布部分,用于当数据从所述主要存储器被读出并被保存到所述缓存存储器中 时,将指示数据在作为数据的保留目的地的所述缓存存储器的一个或多个缓存行上的保留 时间的时间戳写入所述标签存储器;以及比较部分,用于在基于所述标签存储器中的标签信息认识到所述处理部分的存储器访 问的目标数据被保存在所述缓存存储器中时,将与保存所述目标数据的一个或多个缓存行 有关的时间戳所指示的保留时间与当前时间相比较,并且输出关于当前时间是否指示在所 述保留时间之后经过了预定时间或大于预定时间的时间的比较结果,作为监督结果,并且当来自所述监督部分的监督结果表明当前时间指示了在所述保留时间之后经过了预 定时间或大于预定时间的时间时,所述刷新部分从所述主要存储器再次读出所述一个或多 个缓存行上的目标数据并将读出的目标数据保存到所述缓存存储器中,然后,使除了该缓 存行之外的所有缓存行无效。
15.如权利要求10所述的信息处理装置,其中所述监督部分包括时部分,用于计数时间;以及比较部分,用于将所述时部分所计数的时间与预定时间相比较,并且输出关于所计数 的时间是否等于或长于所述预定时间的比较结果,作为监督结果,并且当来自所述监督部分的所述监督结果指示所计数的时间等于或长于所述预定时间时, 所述刷新部分使所述缓存存储器的所有缓存行无效。
16.如权利要求11到15中的任意一个所述的信息处理装置,其中所述缓存存储器是静 态随机访问存储器,并且所述刷新部分进行操作以防止所述静态随机访问存储器的存储器 单元中的数据被中子所引起的软错误所毁坏。
17.如权利要求16所述的信息处理装置,其中被用作所述比较部分的比较基准的所述 预定时间是比数据被晶闸管结构的闩锁毁坏之前的数据破坏时间短的时间间隔,其中所述 晶闸管结构的闩锁寄生地存在于存储器单元的结构中并被中子激活。
18.如权利要求17所述的信息处理装置,其中所述数据破坏时间是基于保存数据的存 储器单元的节点电荷以及漏电流在所述晶闸管结构中流过的电阻的电阻值来计算的。
19.一种其上或其中记录了缓存控制程序的计算即可读记录介质,所述缓存控制程序 用于致使计算机充当用于使用标签存储器来管理缓存存储器并且用于通过直写方法来利 用所述缓存存储器的缓存控制装置,所述缓存存储器用于暂时保存从主要存储器读出的数 据以备处理部分所使用,所述缓存控制程序致使计算机充当监督部分,用于监督对所述缓存存储器的访问时间;以及刷新部分,用于响应于所述监督部分的监督结果,从所述主要存储器再次读出所述缓 存存储器的一个或多个缓存行上的数据,并将读出的数据保存到所述缓存存储器中。
20.如权利要求19所述的其上或其中记录了缓存控制程序的计算即可读记录介质,其 中所述缓存控制程序致使计算机充当时间戳发布部分,用于当数据从所述主要存储器被读出并被保存到所述缓存存储器中 时,将指示数据在作为数据的保留目的地的所述缓存存储器的一个或多个缓存行上的保留 时间的时间戳写入所述标签存储器;以及比较部分,用于在基于所述标签存储器中的标签信息认识到所述处理部分的存储器访 问的目标数据被保存在所述缓存存储器中时,将与保存所述目标数据的一个或多个缓存行 有关的时间戳所指示的保留时间与当前时间相比较,并且输出关于当前时间是否指示在所 述保留时间之后经过了预定时间或大于预定时间的时间的比较结果,作为监督结果,并且当所述缓存控制程序致使计算机充当刷新部分时,所述缓存控制程序致使计算机工作 以使得当来自所述监督部分的监督结果表明当前时间指示了在所述保留时间之后经过了 预定时间或大于预定时间的时间时,所述刷新部分从所述主要存储器再次读出所述一个或 多个缓存行上的目标数据并将读出的目标数据保存到所述缓存存储器中。
全文摘要
本发明提供了缓存控制装置、信息处理装置和计算机可读记录介质。一种用于管理缓存存储器的技术被公开,所述缓存存储器用于暂时保存从主要存储器读出的数据以备处理部分所使用。缓存存储器是利用标签存储器来管理的,并通过直写方法被利用。该缓存控制装置包括监督部分,用于监督对缓存存储器的访问时间;以及刷新部分,用于响应于监督部分的监督结果,从主要存储器再次读出缓存存储器的一个或多个缓存行上的数据,并将读出的数据保存到缓存存储器中。
文档编号G06F12/08GK101853217SQ201010134790
公开日2010年10月6日 申请日期2010年3月1日 优先权日2009年3月30日
发明者松井范幸 申请人:富士通株式会社