CN101853217A - 缓存控制装置、信息处理装置和计算机可读记录介质 - Google Patents
缓存控制装置、信息处理装置和计算机可读记录介质 Download PDFInfo
- Publication number
- CN101853217A CN101853217A CN201010134790.4A CN201010134790A CN101853217A CN 101853217 A CN101853217 A CN 101853217A CN 201010134790 A CN201010134790 A CN 201010134790A CN 101853217 A CN101853217 A CN 101853217A
- Authority
- CN
- China
- Prior art keywords
- time
- buffer memory
- data
- supervision
- cache lines
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000003750 conditioning effect Effects 0.000 title claims abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 69
- 230000004044 response Effects 0.000 claims abstract description 13
- 230000001052 transient effect Effects 0.000 claims abstract description 7
- 230000014759 maintenance of location Effects 0.000 claims description 72
- 238000012545 processing Methods 0.000 claims description 18
- 230000000052 comparative effect Effects 0.000 claims description 10
- 230000003068 static effect Effects 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 10
- 230000019771 cognition Effects 0.000 description 9
- 239000000284 extract Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 6
- 238000012937 correction Methods 0.000 description 5
- 238000007689 inspection Methods 0.000 description 5
- 241001269238 Data Species 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000004321 preservation Methods 0.000 description 4
- 230000002123 temporal effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000024241 parasitism Effects 0.000 description 1
- 238000002910 structure generation Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0855—Overlapped cache accessing, e.g. pipeline
- G06F12/0859—Overlapped cache accessing, e.g. pipeline with reload from main memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
Abstract
本发明提供了缓存控制装置、信息处理装置和计算机可读记录介质。一种用于管理缓存存储器的技术被公开,所述缓存存储器用于暂时保存从主要存储器读出的数据以备处理部分所使用。缓存存储器是利用标签存储器来管理的,并通过直写方法被利用。该缓存控制装置包括:监督部分,用于监督对缓存存储器的访问时间;以及刷新部分,用于响应于监督部分的监督结果,从主要存储器再次读出缓存存储器的一个或多个缓存行上的数据,并将读出的数据保存到缓存存储器中。
Description
技术领域
这里讨论的实施例涉及用于管理缓存存储器的技术,缓存存储器用于临时保存从主要存储器读出的数据,以供处理部分使用。
背景技术
一般而言,在包括缓存存储器的信息处理系统中,诸如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所公开的技术中,回写方法的缓存存储器中的使用频率低的数据被高效地回写主要存储器,以使得数据被具有高可靠性的主要存储器所保存,从而减小了软错误对系统的影响。
[专利文献1]日本专利早期公开No.2007-59042
[专利文献2]日本专利早期公开No.2005-92311
但是,在回写方法和直写方法中的任意一种的缓存存储器中,由于使用频率高的数据长期保存在缓存存储器中,因此非常可能由于中子等导致软错误(比特错误)。在缓存存储器(SRAM)中,虽然1比特错误被奇偶方法检测并通过从主要存储器重载相关数据而被消除,但是缓存存储器(SRAM)无法应对两比特或更多比特的多比特错误,并且存在引起系统故障的可能性。
发明内容
实施例的一个目的在于减小缓存存储器中发生软错误的概率。
将会注意到,不仅上述目的可以实现,而且可以认为本发明的另一目的在于实现从以下描述的本发明实施例所呈现的配置得到的、但是无法被现有技术实现的操作和效果。
根据实施例的一个方面,提供了一种用于使用标签存储器来管理缓存存储器并且用于通过直写方法来利用缓存存储器的缓存控制装置,所述缓存存储器用于暂时保存从主要存储器读出的数据以备处理部分所使用,该缓存控制装置包括:监督部分,用于监督对缓存存储器的访问时间;以及刷新部分,用于响应于监督部分的监督结果,从主要存储器再次读出缓存存储器的一个或多个缓存行上的数据,并将读出的数据保存到缓存存储器中。
根据实施例的另一方面,提供了一种信息处理装置,包括:处理部分;主要存储器;缓存存储器,用于暂时保存从主要存储器读出的数据以备处理部分所使用;标签存储器,用于管理缓存存储器的缓存行;以及缓存控制部分,用于使用标签存储器来管理缓存存储器并通过直写方法来利用缓存存储器,其中所述缓存控制部分包括:监督部分,用于监督对缓存存储器的访问时间;以及刷新部分,用于响应于监督部分的监督结果,从主要存储器再次读出缓存存储器的一个或多个缓存行上的数据,并将读出的数据保存到缓存存储器中。
根据实施例的又一方面,提供了一种其上或其中记录了缓存控制程序的计算即可读记录介质,所述缓存控制程序用于致使计算机充当用于使用标签存储器来管理缓存存储器并且用于通过直写方法来利用缓存存储器的缓存控制装置,所述缓存存储器用于暂时保存从主要存储器读出的数据以备处理部分所使用,所述缓存控制程序致使计算机充当:监督部分,用于监督对缓存存储器的访问时间;以及刷新部分,用于响应于监督部分的监督结果,从主要存储器再次读出缓存存储器的一个或多个缓存行上的数据,并将读出的数据保存到缓存存储器中。
利用所公开的技术,响应于监督部分对缓存存储器的监督结果,缓存存储器的一个或多个缓存行上的数据从主要存储器被再次读出并被保存到缓存存储器中。因此,缓存存储器中可能处在被软错误所毁坏的状态下的数据利用主要存储器中的具有高可靠性的相应数据被重载/刷新,并且缓存存储器中发生软错误的概率降低。因此,可以必然地抑制使用缓存存储器的系统中因软错误所导致的故障的发生。
附图说明
图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是比固定的软错误发生周期时间τ(MTBF:故障之间的平均时间)短的时间间隔。具体讲,预定时间T被设置为比晶闸管结构(thyristor structure)的闩锁(latchup)破坏存储器单元中的数据之前的时间(时间常数;数据破坏时间)τ短的时间间隔,所述晶闸管结构的闩锁寄生存在于缓存存储器30的存储器单元的CMOS结构中并由中子激活。
该数据破坏时间τ是基于用于保存数据的存储器单元的节点电容C和当晶闸管结构发生闩锁时,漏电流I流过的扩散电阻的电阻值R来计算的。
简言之,存储器单元的累积电荷Q可以使用电源电压V和结电容C通过以下表达式(1)表示:
Q=CV...(1)
同时,累积电荷Q可以如以下表达式(2)所表示的,被表示为晶闸管结构的闩锁现象的漏电流I的积分值:
Q=∫Idt...(2)
这里,如果表达式(2)中的∫dt被重写为“τ”,则可以获得以下表达式(3),并且因此该“τ”可以被认为代表数据破坏时间。
Q=Iτ...(3)
然后,以下表达式(4)应用上述表达式(1)和(3):
CV=Iτ...(4)
顺便提及,由于漏电流I可以使用扩散电阻的电阻值R由以下表达式(5)表示,因此通过将以下表达式(5)带入上述表达式(4)可以得到以下表达式(6):
I=V/R...(5)
CV=(V/R)τ...(6)
通过针对数据破坏时间τ求解表达式(6),可以得到以下表达式(7),并且计算部分21a基于表达式(7)计算数据破坏时间τ:
τ=CR...(7)
然后,比根据表达式(7)计算的数据破坏时间τ短的时间间隔被设置为上述预定时间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以替代第一实施例的缓存控制部分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新读出相应数据并保存到缓存存储器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的时间(即,可能处在被软错误毁坏的状态下)的可能性很高,从而执行使其他所有缓存行无效。
因此,同样,在第三实施例中,缓存存储器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是比软错误发生周期τ短的时间间隔)时,缓存存储器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+RW、蓝光光盘等等)等等。在该示例中,计算机从记录介质读取程序,并将程序传送并存储到内部存储装置或外部存储装置中。
这里,计算机表示包括硬件和OS的概念,并且表示在OS的控制下进行操作的硬件。此外,当OS不是必需的并且硬件通过应用程序被单独地操作时,硬件本身对应于计算机。硬件至少包括诸如CPU之类的微处理器和用于读取记录在记录介质上或中的计算机程序的装置。程序包括致使上述计算机实现如监督部分51A到51D和刷新部分52A到52D的功能的程序代码。此外,某些功能也可以不是通过应用程序而是通过OS来实现的。
Claims (20)
1.一种用于使用标签存储器来管理缓存存储器并且用于通过直写方法来利用所述缓存存储器的缓存控制装置,所述缓存存储器用于暂时保存从主要存储器读出的数据,以备处理部分所使用,该缓存控制装置包括:
监督部分,用于监督对所述缓存存储器的访问时间;以及
刷新部分,用于响应于所述监督部分的监督结果,从所述主要存储器再次读出所述缓存存储器的一个或多个缓存行上的数据,并将读出的数据保存到所述缓存存储器中。
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所述的其上或其中记录了缓存控制程序的计算即可读记录介质,其中所述缓存控制程序致使计算机充当:
时间戳发布部分,用于当数据从所述主要存储器被读出并被保存到所述缓存存储器中时,将指示数据在作为数据的保留目的地的所述缓存存储器的一个或多个缓存行上的保留时间的时间戳写入所述标签存储器;以及
比较部分,用于在基于所述标签存储器中的标签信息认识到所述处理部分的存储器访问的目标数据被保存在所述缓存存储器中时,将与保存所述目标数据的一个或多个缓存行有关的时间戳所指示的保留时间与当前时间相比较,并且输出关于当前时间是否指示在所述保留时间之后经过了预定时间或大于预定时间的时间的比较结果,作为监督结果,并且
当所述缓存控制程序致使计算机充当刷新部分时,所述缓存控制程序致使计算机工作以使得:当来自所述监督部分的监督结果表明当前时间指示了在所述保留时间之后经过了预定时间或大于预定时间的时间时,所述刷新部分从所述主要存储器再次读出所述一个或多个缓存行上的目标数据并将读出的目标数据保存到所述缓存存储器中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-081888 | 2009-03-30 | ||
JP2009081888A JP2010237739A (ja) | 2009-03-30 | 2009-03-30 | キャッシュ制御装置,情報処理装置およびキャッシュ制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101853217A true CN101853217A (zh) | 2010-10-06 |
CN101853217B CN101853217B (zh) | 2013-02-13 |
Family
ID=42785699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010134790.4A Expired - Fee Related CN101853217B (zh) | 2009-03-30 | 2010-03-01 | 缓存控制装置、信息处理装置和计算机可读记录介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20100250857A1 (zh) |
JP (1) | JP2010237739A (zh) |
KR (1) | KR101139151B1 (zh) |
CN (1) | CN101853217B (zh) |
TW (1) | TW201101029A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377162A (zh) * | 2012-04-27 | 2013-10-30 | 株式会社东芝 | 信息处理装置 |
CN104346295A (zh) * | 2013-08-09 | 2015-02-11 | 华为技术有限公司 | 一种缓存刷新方法和装置 |
CN105404595A (zh) * | 2014-09-10 | 2016-03-16 | 阿里巴巴集团控股有限公司 | 缓存管理方法及装置 |
CN105553722A (zh) * | 2015-12-16 | 2016-05-04 | 深圳市迪菲特科技股份有限公司 | 一种基于时间戳的数据交换方法、装置及系统 |
CN110941569A (zh) * | 2019-11-18 | 2020-03-31 | 新华三半导体技术有限公司 | 数据处理方法、装置及处理器芯片 |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8788758B1 (en) * | 2008-11-04 | 2014-07-22 | Violin Memory Inc | Least profitability used caching scheme |
JP2012103826A (ja) * | 2010-11-09 | 2012-05-31 | Fujitsu Ltd | キャッシュメモリシステム |
US8739010B2 (en) * | 2010-11-19 | 2014-05-27 | Altera Corporation | Memory array with redundant bits and memory element voting circuits |
JP5737753B2 (ja) * | 2011-03-30 | 2015-06-17 | 日本電気株式会社 | ネットワーク装置、ネットワーク装置の管理方法、管理プログラム、パケットネットワークシステム |
US8886890B2 (en) | 2012-06-27 | 2014-11-11 | Sap Portals Israel Ltd | Adaptive configuration of cache |
KR102079657B1 (ko) | 2013-05-23 | 2020-02-20 | 에스케이플래닛 주식회사 | 캐시 데이터와 현재 데이터의 실시간 처리 현황 및 처리 순위를 보여주기 위한 장치 및 방법 |
JP6066831B2 (ja) | 2013-05-28 | 2017-01-25 | 株式会社日立製作所 | 計算機システム及びキャッシュ制御方法 |
US9262415B2 (en) * | 2013-11-08 | 2016-02-16 | Sybase, Inc. | Cache efficiency in a shared disk database cluster |
US9589606B2 (en) * | 2014-01-15 | 2017-03-07 | Samsung Electronics Co., Ltd. | Handling maximum activation count limit and target row refresh in DDR4 SDRAM |
US10691572B2 (en) | 2017-08-30 | 2020-06-23 | Nvidia Corporation | Liveness as a factor to evaluate memory vulnerability to soft errors |
US11237972B2 (en) * | 2017-12-29 | 2022-02-01 | Advanced Micro Devices, Inc. | Method and apparatus for controlling cache line storage in cache memory |
US10892012B2 (en) * | 2018-08-23 | 2021-01-12 | Intel Corporation | Apparatus, video processing unit and method for clustering events in a content addressable memory |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1532710A (zh) * | 2003-03-26 | 2004-09-29 | ���µ�����ҵ��ʽ���� | 半导体装置 |
CN1866815A (zh) * | 2004-06-30 | 2006-11-22 | 富士通株式会社 | 接收并行数据的装置及其方法 |
CN100340964C (zh) * | 2004-07-15 | 2007-10-03 | 日立环球储存科技荷兰有限公司 | 执行实时性能改进方法的磁盘驱动器 |
US7353329B2 (en) * | 2003-09-29 | 2008-04-01 | Intel Corporation | Memory buffer device integrating refresh logic |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0695962A (ja) * | 1992-09-09 | 1994-04-08 | Hitachi Ltd | 並列アクセスバスをもつプロセッサ |
KR960011280B1 (ko) * | 1993-08-31 | 1996-08-21 | 삼성전자 주식회사 | 캐쉬메모리 억세스 타임조정회로 |
US20030131277A1 (en) * | 2002-01-09 | 2003-07-10 | Taylor Richard D. | Soft error recovery in microprocessor cache memories |
JP2005092311A (ja) * | 2003-09-12 | 2005-04-07 | Fujitsu Ltd | キャッシュ制御装置 |
US20070025141A1 (en) * | 2005-07-26 | 2007-02-01 | Fujitsu Limited | SRAM, semiconductor memory device, and method for maintaining data in SRAM |
JP5066855B2 (ja) * | 2005-07-26 | 2012-11-07 | 富士通株式会社 | Sram,半導体記憶装置,sramにおけるデータ維持方法,及び電子装置 |
US7493523B2 (en) * | 2006-03-14 | 2009-02-17 | International Business Machines Corporation | Method and apparatus for preventing soft error accumulation in register arrays |
US20070250755A1 (en) * | 2006-03-29 | 2007-10-25 | Wayne Burleson | Dormant error checker |
US7937531B2 (en) * | 2007-02-01 | 2011-05-03 | Cisco Technology, Inc. | Regularly occurring write back scheme for cache soft error reduction |
US8489919B2 (en) * | 2008-11-26 | 2013-07-16 | Arizona Board Of Regents | Circuits and methods for processors with multiple redundancy techniques for mitigating radiation errors |
-
2009
- 2009-03-30 JP JP2009081888A patent/JP2010237739A/ja active Pending
-
2010
- 2010-02-04 TW TW099103312A patent/TW201101029A/zh unknown
- 2010-02-22 US US12/710,349 patent/US20100250857A1/en not_active Abandoned
- 2010-02-24 KR KR1020100016704A patent/KR101139151B1/ko not_active IP Right Cessation
- 2010-03-01 CN CN201010134790.4A patent/CN101853217B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1532710A (zh) * | 2003-03-26 | 2004-09-29 | ���µ�����ҵ��ʽ���� | 半导体装置 |
US7353329B2 (en) * | 2003-09-29 | 2008-04-01 | Intel Corporation | Memory buffer device integrating refresh logic |
CN1866815A (zh) * | 2004-06-30 | 2006-11-22 | 富士通株式会社 | 接收并行数据的装置及其方法 |
CN100340964C (zh) * | 2004-07-15 | 2007-10-03 | 日立环球储存科技荷兰有限公司 | 执行实时性能改进方法的磁盘驱动器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377162A (zh) * | 2012-04-27 | 2013-10-30 | 株式会社东芝 | 信息处理装置 |
CN103377162B (zh) * | 2012-04-27 | 2016-06-08 | 株式会社东芝 | 信息处理装置 |
CN104346295A (zh) * | 2013-08-09 | 2015-02-11 | 华为技术有限公司 | 一种缓存刷新方法和装置 |
CN104346295B (zh) * | 2013-08-09 | 2017-08-11 | 华为技术有限公司 | 一种缓存刷新方法和装置 |
CN105404595A (zh) * | 2014-09-10 | 2016-03-16 | 阿里巴巴集团控股有限公司 | 缓存管理方法及装置 |
CN105404595B (zh) * | 2014-09-10 | 2018-08-31 | 阿里巴巴集团控股有限公司 | 缓存管理方法及装置 |
CN105553722A (zh) * | 2015-12-16 | 2016-05-04 | 深圳市迪菲特科技股份有限公司 | 一种基于时间戳的数据交换方法、装置及系统 |
CN105553722B (zh) * | 2015-12-16 | 2019-01-08 | 深圳市迪菲特科技股份有限公司 | 一种基于时间戳的数据交换方法、装置及系统 |
CN110941569A (zh) * | 2019-11-18 | 2020-03-31 | 新华三半导体技术有限公司 | 数据处理方法、装置及处理器芯片 |
Also Published As
Publication number | Publication date |
---|---|
JP2010237739A (ja) | 2010-10-21 |
KR20100109365A (ko) | 2010-10-08 |
KR101139151B1 (ko) | 2012-04-26 |
US20100250857A1 (en) | 2010-09-30 |
TW201101029A (en) | 2011-01-01 |
CN101853217B (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101853217B (zh) | 缓存控制装置、信息处理装置和计算机可读记录介质 | |
CN102253865B (zh) | 用于在系统中使用高速缓冲存储器的方法和装置 | |
KR101291525B1 (ko) | 에러 정정 디바이스 및 그 방법 | |
JP6592305B2 (ja) | メモリ装置及びメモリモジュール | |
US9129699B2 (en) | Semiconductor storage apparatus and method including executing refresh in a flash memory based on a reliability period using degree of deterioration and read frequency | |
US10203883B2 (en) | Performance optimization of read functions in a memory system | |
US9075741B2 (en) | Dynamic error handling using parity and redundant rows | |
CN103019873A (zh) | 一种存储器故障单元的替换方法及装置、数据存储系统 | |
CN101529526A (zh) | 用于估计和报告闪存盘存储器的预期寿命的方法 | |
TW200921360A (en) | Data preserving method and data accessing method for non-volatile memory | |
CN105843699A (zh) | 用于错误监视与校正的动态随机存取存储器设备与方法 | |
TWI635497B (zh) | 揮發性記憶體的資料保存系統及方法 | |
US20140351628A1 (en) | Information processing device, control circuit, computer-readable recording medium for control program, and control method | |
CN111522684A (zh) | 一种同时纠正相变存储器软硬错误的方法及装置 | |
KR100972807B1 (ko) | 에러 정정 코드 생성 방법 및 메모리 관리 장치 | |
US8788891B2 (en) | Bitline deletion | |
CN103942119A (zh) | 一种存储器错误的处理方法和装置 | |
CN110348245B (zh) | 基于nvm的数据完整性保护方法、系统、装置及存储介质 | |
CN115509466B (zh) | 一种数据管理方法、装置及电子设备和存储介质 | |
US9286936B1 (en) | Zone based band mapping | |
JPH03108044A (ja) | 記憶装置 | |
JP3130796B2 (ja) | 制御記憶装置 | |
CN111078122B (zh) | 数据处理方法、装置和设备 | |
US7810012B1 (en) | Format for randomized data block in a storage device | |
KR20240003823A (ko) | 정정된 에러를 관리하는 전자 장치 및 전자 장치의 동작 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130213 Termination date: 20140301 |