CN1696906A - 用于存储设备的自主错误恢复方法、系统 - Google Patents
用于存储设备的自主错误恢复方法、系统 Download PDFInfo
- Publication number
- CN1696906A CN1696906A CN200510063318.5A CN200510063318A CN1696906A CN 1696906 A CN1696906 A CN 1696906A CN 200510063318 A CN200510063318 A CN 200510063318A CN 1696906 A CN1696906 A CN 1696906A
- Authority
- CN
- China
- Prior art keywords
- addressed
- memory device
- data
- request
- mistake
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1032—Simple parity
-
- 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
Abstract
提供一种用于计算系统的存储设备的自主错误恢复方法。响应于对数据的请求,检测该存储设备的被寻址数据和相关联的控制信息的错误。如果检测到错误,则响应于该请求自动检索并提供第二存储设备的被寻址的存储隔间的内容。作为示例,该存储设备可以是高速缓存,而该第二存储设备可以是该计算系统的主存储器。
Description
技术领域
本发明一般涉及计算机系统的存储设备,并且尤其涉及计算机系统的存储设备的自主错误恢复。
背景技术
通常使用高速缓存来临时存储可能被一计算机系统的处理器重复访问的值。高速缓存是一种用于减小与从计算机系统的主存储器重复读取数据相关联的等待时间的高速存储设备。因此,可从计算机系统的两个存储设备即系统的高速缓存和系统的主存储器得到以相同地址被寻址的数据。
如果存储在一存储设备例如高速缓存中的数据例如因为由杂散辐射或静电放电造成的软错误而导致包含不正确的值,则会出现问题。因此,希望如果可能的话自动恢复正确的值。本发明提供一种可解决此问题的自主错误恢复技术。
发明内容
一方面,通过提供一种用于计算系统的一存储设备的自主错误恢复方法可克服现有技术的缺点并提供另外的优点。依照本方法,检测该存储设备的被寻址数据和相关联的控制信息的错误,其中将响应于该存储设备接收到的对被寻址数据的请求来提供该被寻址数据。如果检测到一个错误,则响应于该请求,自动检索并提供第二存储设备的被寻址的存储隔间(compartment)的内容。
另一方面,提供一种用于计算系统的一存储设备的自主错误恢复方法。该方法包括:检测一存储设备的被寻址数据和相关联的控制信息的错误,其中将响应对被寻址数据的请求提供该被寻址数据;从该相关联的控制信息的一变化位判定在将第二存储设备的被寻址的存储隔间的内容作为该被寻址数据写入该存储设备之后该被寻址数据是否已改变,其中该存储设备和第二存储设备包括分开的存储设备;并且如果通过检测发现错误并且该被寻址数据没有改变,则自动检索该第二存储设备的被寻址存储隔间的内容,并响应于该请求提供该被寻址存储隔间的内容,否则如果通过检测发现错误并且该被寻址数据已改变,则拒绝响应于该请求对该被寻址数据和该第二存储设备的被寻址存储隔间的内容的访问。
这里,还说明和要求保护了对应于上面概述的方法的系统和计算机程序产品。
通过本发明的技术可实现另外的特征和优点。本发明的其它实施例和方面在这里得到详细说明并且被认为是所要求保护的本发明的一部分。
附图说明
在说明书之后的权利要求中具体指出并清楚地要求保护了本发明的主题。从下面结合附图的详细说明中可清楚地了解本发明的上述和其它目标、特征和优点,附图中:
图1是根据本发明的一个方面的用于一计算环境的存储系统的错误检测和自主错误恢复的一过程实施例的流程图;
图2是根据本发明的一个方面的用于图1的过程实施例的自主恢复的一实施例的流程图;
图3是根据本发明的一个方面的用于图1的过程实施例的高速缓存更新的一实施例的流程图;
图4是根据本发明的一个方面的为图3的高速缓存更新过程选择一隔间的一实施例的流程图;
图5示出根据本发明的一个方面的使用自主错误恢复的存储设备的一
实施例;
图6示出根据本发明的一个方面的、图5中的目录和自主错误恢复单元的一实施例;
图7示出根据本发明的一个方面的、图5的数据阵列和自主错误恢复单元以及其与第二存储设备和数据请求者的接口的一实施例。
具体实施方式
参照图1,其示出(根据本发明的一个方面的)用于一计算环境的存储系统的自主错误恢复的一实施例的流程图,一请求者向存储设备110发出一读请求。在一个实施例中,假设该存储设备包括一第二级的高速缓存(L2)。响应于该读请求,存储系统判定是否发生“L2命中”120,即被请求数据是否存储在存储设备L2内。如果该被请求数据没有存储在L2内,则认为查询的结果是“未命中”,并且从第二存储设备请求该被请求数据(或存储器的“缺漏行”)140,该第二存储设备用作该被最初请求的存储设备的备份。在图1中所示的实施例中,该第二存储设备是一第三级的存储设备(L3),例如计算机环境的主存储器。
另一方面,如果发生“L2命中”(意味着该被请求数据存储在存储设备L2内),则从该存储设备L2的命中隔间读取该被请求数据(即被寻址数据)130。该命中隔间是被该请求寻址的、存储设备L2的存储资源。在读取该被寻址数据130之后,检测该被寻址数据和相关联的控制信息的错误150。如果检测到错误,则对请求者透明地,处理沿路径152继续进行到自主错误恢复170。否则,将该被请求数据和适当的协议信号一起返回该请求者160,并且该请求者的读访问结束190。
图2示出用于图1的处理实施例的自主错误恢复170的一实施例的流程图。一进入自主错误恢复,就检测与该被寻址(请求)数据相关联的控制信息,以判定存储设备L2中的被寻址数据在该数据从该第二存储设备中的对应的地址存储之后是否已改变210。如果与该被寻址数据相关联的控制信息的变化标志等于0,则存储设备L2和第二存储设备L3中的数据相同,并且自主错误恢复继续处理该请求,就好像发生一“未命中”220,从而用一检测到的错误使一“L2命中”变成一“L2未命中”。在使一命中变成一未命中之后,报告一软错误230,并且处理沿路径172继续进行以从该第二存储设备L3请求该被请求数据的缺漏行140(见图1)。
参照图1,在从该第二存储设备(L3)请求该缺漏行140之后,图1的过程实施例沿路径142返回到自主恢复处理170,并且还沿路径144返回到高速缓存更新处理180。再次参照图2,检验由于对该缺漏行的读请求而从存储器L3得到的数据和相关联的控制信息的错误240。如果没有检测到错误,则处理沿路径176继续进行,并如图1所示该被请求数据与适当的协议信号一起被返回该请求者160。但是,如果在检测从存储器L3得到的数据和相关联的控制信息时检测到错误240,则该错误不能被自主恢复处理170校正。报告一硬错误250,并且该L2存储器访问操作结束250。
如上所述,在从该第二存储设备(L3)请求该缺漏行140之后,图1的处理还沿路径144进行到高速缓存更新过程180。图3是高速缓存更新的一实施例的流程图。高速缓存更新180开始时将从存储器L3返回的行放置到存储器L2的行缓冲区内310,并在存储器L2中选择一存储隔间,以在该隔间中存储从存储器L3返回的行。如果该存储器系统正试图通过使“L2命中”变成“L2未命中”来从一错误中恢复220,则AND逻辑处理320判定是否已从该命中到未命中的转变处理220(图2)采取路径174,并且已从存储器L3请求一缺漏行140(图1)。在这种情况下,选择存储器L2中的“命中隔间”即被寻址隔间,作为存储从存储器L3得到的缓冲行的位置330。另一方面,如果请求导致一“未命中”,则经由路径312,在将从存储器L3返回的行放置到L2的行缓冲区内之后选择一隔间340,并且该选择340依赖于存储器L2中该被寻址数据的状态以及其相关联的控制信息。一旦选择了L2的一存储隔间,就将L2的行缓冲区的内容转移到该被选择的隔间内,并更新目录中的相关联的控制信息以指示存储在该被选择的隔间中的数据是有效的350,从而结束该未命中解决处理360。
应指出,即使所选择的、存储设备L2的隔间有“固定故障”(stuckfault),仍经由该自主恢复处理将从该第二(或备用)存储器L3得到的被寻址数据提供给该请求者。就是说,即使一硬件故障阻止该高速缓存更新处理将正确的数据值存储在所选择的、存储设备L2的存储隔间中,使用根据本发明的自主恢复处理的存储设备仍响应一读请求而返回该被寻址数据。
图4示出一用于图3的高速缓存更新实施例的当L2存储器发生“未命中”时选择一隔间340的实施例的流程图。检测与存储在存储器L2中的数据相关联的控制信息,以判定在存储器L2内是否存在一空的隔间410。如果存储器L2具有空位,则选择一空的隔间420。在一个示例中,通过一有效数据标记等于0来识别空的隔间。如果在存储器L2内没有空的隔间,则检测与存储在存储器L2中的数据相关联的控制信息,以判定在存储器L2中的任何存储隔间的内容在它们与存储器L3中的对应的隔间中的内容同步之后是否改变430。如果发现这样的改变,则将变化的L2隔间的内容写入存储器L3,并选择该变化的隔间以便进行存储器更新440。实际上,从存储器L2逐出该变化的行以创建一空位,因为不再能使用存储器L3中对应的内容来修正该行中的错误了。另一方面,如果存储器L2中的隔间都没有变化,则可使用一最近最少使用(least-recently-used)算法来选择一隔间450,以在其中存储该L2行缓冲区的内容以实现存储器更新。在使用这些技术之一来选择一存储隔间之后,高速缓存更新处理沿路径432继续进行,以将该行缓冲区的内容转移到该选择的隔间内,图3中的350。
图5示出根据本发明的一个方面的使用自主错误恢复的存储设备的实施例。存储设备500包括隔间选择器510,目录和自主错误恢复单元520,用于为将存储在存储设备500内的数据生成奇偶校验位的数据奇偶发生器逻辑540,用于为与该将被存储的数据相关联的控制信息生成奇偶校验位的控制信息奇偶逻辑530,和数据阵列和自主错误恢复单元550。隔间选择器510的输入信号包括WRITE_ADDR、WRITE_VALID、VALID、CC_ADDR(0:14),和目录选择信号SEL_ALL、COMP_A、COMP_B、COMP_C和COMP_D。信号CC_ADDR(0:14)包括将被写入存储设备500的数据。VALID信号指示CC_ADDR(0:14)输入上的数据是否有效。信号WRITE_ADDR和WRITE_VALID包括数据的写地址(即隔间)和对当前WRITE_ADDR信号的有效性的指示。还将数据奇偶发生器逻辑540和控制信息奇偶逻辑530的输出作为输入提供给隔间选择器510。如图5所示,数据奇偶发生器540将奇偶校验码即一种错误检测码应用于包含15位地址的数据,并且该15位地址数据和所产生的奇偶校验位被提供给存储设备500的隔间选择器510。
目录和自主错误恢复单元520的输入包括COMP_ADDR(0:14),其携带被一请求者读访问的被请求数据的隔间的地址。目录和自主错误恢复单元520中存储的数据与在存储设备500的数据阵列和自主错误恢复单元550中存储的数据相关联。
图6中示出根据本发明的一个方面的图5的目录和自主错误恢复单元520的一个实施例。目录控制阵列601、602、603和604包括用于存储与该存储设备中的数据相关联的控制信息的存储隔间。作为示例,图6中示出目录控制阵列602的一个存储隔间605。在所示示例中,存储隔间605的内容包括15个地址位、两个地址奇偶校验位、一个数据有效位(V)和一个用于该数据有效位的奇偶校验位。
比较逻辑610将目录和自主错误恢复单元520的输入地址与当前存储在存储隔间605中的地址相比较。如果存储的地址与请求的地址不相等,则不启动AND逻辑门620、625和630。另一方面,如果存储的地址与请求的地址相等,则启动AND逻辑门620、625和630,并且目录和自主错误恢复单元520对该请求的响应依赖于对存储隔间605的控制信息字段的数据有效位和奇偶性的检验结果。在此示例中,控制信息字段包括数据有效位(V)和一个奇偶校验位(P)。
如果奇偶检验逻辑615对该控制信息字段的奇偶性的检验指示没有检测到错误,则奇偶检验逻辑615的“是”输出是逻辑1。在这种情况下,如果数据有效位V也是逻辑1,则激活AND逻辑门620,从而SEL_B信号是逻辑1。这也激活OR逻辑门640,从而在控制逻辑650中该存储设备将该请求作为“命中”处理。
另一方面,如果奇偶检验逻辑615对该控制信息字段的奇偶性的检验指示已检测到一错误,则奇偶检验逻辑615的“否”输出是逻辑1。在这种情况下,激活AND逻辑门625,这使得OR逻辑门645被激活,从而该存储设备通过在控制逻辑660中将请求“命中”当作好像它是“未命中”以试图校正该错误。控制逻辑660用信号告知已发生一“未命中”,从而激活AND逻辑630。激活AND逻辑630使得未命中解决逻辑670选择存储隔间605,作为未命中解决处理期间用于更新存储设备500的内容的存储隔间,如在上面参照图3对本发明的方法的一个方面的说明中所述的。
图7示出根据本发明的一个方面的图5的数据阵列和自主错误恢复单元550、以及其与一第二存储设备即第三级存储器760和一数据请求者的接口的一个示例。数据阵列701、702、703和704包括用于在存储设备中存储数据的存储隔间。阵列701、702、703和704中存储的数据对应于存储在目录控制阵列601、602、603和604中的相关联的控制信息。作为示例,图7中示出数据阵列702的一个存储隔间705。在所示示例中,存储隔间705的内容包括一代码字,该代码字包括一具有128位的数据四字和奇偶校验位。该代码字的奇偶校验位是通过将一奇偶校验代码即一种错误检测代码应用于该数据四字得到的。
在图7中所示的数据阵列和自主错误恢复单元550的示例中,被一请求者寻址的一数据值包括两个数据四字。如果该被寻址数据值存储在该存储设备中,则将它作为输出经由接口总线706作为两个四字提供给该请求者,其中每个机器时钟周期提供一个四字。作为示例,该被寻址数据值的第一个四字存储在数据阵列702的存储隔间705中。将包含该被寻址数据值的第一个四字和相关联的奇偶校验位的代码字提供给奇偶检验逻辑710。如果奇偶检验逻辑710没有检测到错误,则第一四字输出逻辑715将该被寻址数据值的第一个四字经由接口总线706发送给该请求者,并且奇偶检验逻辑720检测从该被寻址数据值的第二个四字生成的代码字的错误。如果奇偶检验逻辑720没有检测到错误,则第二个四字输出逻辑725经由接口总线706将该被寻址数据值的第二个四字发送给该请求者,并且控制逻辑650将该读取请求当作一没有检测出的错误的“命中”来处理。
当在被请求数据值中检测到一错误时,图7中所示的数据阵列和自主错误恢复单元550的实施例的操作如下。本实施例的数据阵列和自主错误恢复单元550的处理检测到两个不同的错误事件—该被寻址数据值的第一个四字中的一个检测出的错误和该被寻址数据值的第二个四字中的一个检测出的错误。尽管在这两种情况中使用类似的错误恢复策略,但是对每种类型的错误事件的处理稍有不同。如果奇偶检验逻辑710在与该第一个四字相对应的代码字中检测到一个错误,则控制逻辑660通过使以下的处理发生而将该请求当作“未命中”而不是“命中”处理:(1)未命中输出逻辑730从第三级存储器760得到该被请求数据值的第一个和第二个四字,并经由接口总线708将它们发送给该请求者;以及(2)未命中解决逻辑670选择存储隔间705,作为在未命中解决处理中用于更新存储设备500的内容的存储隔间。
另一方面,如果奇偶检验逻辑710在与该被寻址数据值的第一个四字相对应的代码字中没有检测到错误,但是奇偶检验逻辑720在与第二个四字相对应的代码字中检测到错误,则第一个四字输出逻辑715将该被寻址数据值的第一个四字经由接口总线706发送给该请求者,并且控制逻辑740将该请求当作一相对于该第二个四字的“未命中”处理。控制逻辑740使得四字未命中输出逻辑750从第三级存储器760获得该被请求数据值的第二个四字,并经由接口总线708将它发送给该请求者。控制逻辑740还使得未命中解决逻辑670选择该第二个四字存储在其中的、数据阵列和自主恢复单元550的存储隔间,作为用于在未命中解决处理中更新存储设备550的内容的存储隔间。
在图7中所示的数据阵列和自主恢复单元550的实施例的另一个示例中,通过将一错误校正码而不是错误检测码应用于该数据四字,获得与该被寻址数据的一四字相对应的代码字的奇偶校验位。当使用一错误校正码时,奇偶检验逻辑710和奇偶检验逻辑720由检测各自代码字中的无法纠正的错误的逻辑单元代替。在此示例中,分别调用控制逻辑660或控制逻辑740以实现从与该第一个四字或第二个四字相对应的代码字中的无法纠正的错误恢复。如果该第一个四字和第二个四字都没有错误或具有可纠正的错误,则将读请求当作一“命中”处理,并且该被寻址数据值由该存储设备提供。
本发明可包含在一种具有例如计算机可用介质的产品(例如一个或多个计算机程序产品)中。该介质包含例如用于提供和便利本发明的能力的计算机可读的程序代码装置或逻辑(例如指令、代码、命令等)。该种产品可作为计算机系统的一部分,或被单独销售。
另外,可提供至少一种可被一机器读取并包含至少一个可被该机器执行以实现本发明的能力的指令程序的程序存储装置。
这里所示的流程图仅为示例。可对这里所述的图或步骤(或操作)进行许多变动而不偏离本发明的精神。例如,步骤可按不同的顺序执行,或者可添加、删除或修改步骤。所有这些变动均认为是所要求保护的发明的一部分。
尽管本文已详细说明和描述了优选实施例,但是对于相关技术领域内的技术人员很明显,可在不偏离本发明的精神的情况下进行各种修改、添加、替换等,并且因此认为这些是在由随后的权利要求限定的本发明的范围内。
Claims (35)
1.一种用于计算系统的存储设备的自主错误恢复方法,所述方法包括:
检测存储设备的被寻址数据和相关联的控制信息的错误,其中将响应于对该被寻址数据的请求而提供该被寻址数据;以及
如果通过检测发现错误,则自动检索第二存储设备的被寻址存储隔间的内容,并响应于该请求提供该被寻址存储隔间的内容,其中该存储设备和第二存储设备包括分开的存储设备。
2.根据权利要求1的方法,其特征在于,该检测和该自动检索对于作出对该被寻址数据的请求的请求者是透明的。
3.根据权利要求1的方法,其特征在于,该存储设备包括高速缓存,该第二存储设备包括该计算系统的主存储器。
4.根据权利要求1的方法,其特征在于,该自动检索步骤还包括,如果通过该检测发现错误,则就如同该被寻址数据在该存储设备中未命中似地处理该请求。
5.根据权利要求1的方法,其特征在于,该检测步骤还包括对该相关联的控制信息进行奇偶检验。
6.根据权利要求1的方法,其特征在于,该检测步骤还包括在对应于该被寻址数据的代码字中检测无法纠正的错误,其中通过将错误检测码应用于发送给该存储设备以便存储的数据而生成该代码字。
7.一种用于计算系统的存储设备的自主错误恢复方法,所述方法包括:
检测存储设备的被寻址数据和相关联的控制信息的错误,其中将响应于对该被寻址数据的请求而提供该被寻址数据;
从该相关联的控制信息的变化位判定在将第二存储设备的被寻址的存储隔间的内容作为该被寻址数据写入该存储设备之后该被寻址数据是否已改变,其中该存储设备和第二存储设备包括分开的存储设备;以及
如果通过检测发现错误并且该被寻址数据没有改变,则自动检索该第二存储设备的被寻址存储隔间的内容,并响应于该请求提供该被寻址存储隔间的内容,否则如果通过检测发现错误并且该被寻址数据已改变,则拒绝响应于该请求对该被寻址数据和该第二存储设备的被寻址存储隔间的内容的访问。
8.根据权利要求7的方法,其特征在于,该自动检索步骤还包括,如果通过检测发现错误并且通过该判定发现该被寻址数据没有改变,则用该第二存储设备的被寻址存储隔间的内容替换该存储设备中的损坏的被寻址数据。
9.根据权利要求7的方法,其特征在于,
该第二存储设备的被寻址存储隔间的内容包括备份数据和与该备份数据相关联的控制信息;并且
该提供步骤还包括
确定该备份数据或与该备份数据相关联的控制信息是否
包含无法纠正的错误;以及
如果该确定步骤检测到无法纠正的错误,则拒绝响应于
该请求对该第二存储设备的被寻址存储隔间的内容的访问。
10.根据权利要求7的方法,其特征在于,该自动检索步骤还包括如果通过该检测发现错误,则就如同该被寻址数据在该存储设备中未命中似地处理该请求。
11.根据权利要求7的方法,其特征在于,
该检测、判定和自动检索对于作出该请求的请求者是透明的;
该存储设备包括高速缓存;以及
该第二存储设备包括该计算系统的主存储器。
12.一种用于计算系统的存储设备的自主错误恢复系统,所述系统包括:
用于检测存储设备的被寻址数据和相关联的控制信息的错误的装置,其中将响应于对该被寻址数据的请求而提供该被寻址数据;以及
用于如果通过检测发现错误,就自动检索第二存储设备的被寻址存储隔间的内容,并响应于该请求提供该被寻址存储隔间的内容的装置,其中该存储设备和第二存储设备包括分开的存储设备。
13.根据权利要求12的系统,其特征在于,该用于检测的装置和该用于自动检索的装置对于作出对该被寻址数据的请求的请求者是透明的。
14.根据权利要求12的系统,其特征在于,该存储设备包括高速缓存,并且该第二存储设备包括该计算系统的主存储器。
15.根据权利要求12的系统,其特征在于,该用于自动检索的装置还包括,用于如果通过该检测发现错误则就如同该被寻址数据在该存储设备中未命中似地处理该请求的装置。
16.根据权利要求12的系统,其特征在于,该用于检测的装置还包括用于对该相关联的控制信息进行奇偶校验的装置。
17.根据权利要求12的系统,其特征在于,该用于检测的装置还包括用于在对应于该被寻址数据的代码字中检测无法纠正的错误的装置,其中通过将错误检测码应用于发送给该存储设备以便存储的数据而生成该代码字。
18.一种用于计算系统的存储设备的自主错误恢复系统,所述系统包括:
用于检测存储设备的被寻址数据和相关联的控制信息的错误的装置,其中响应将对该被寻址数据的请求提供该被寻址数据;
用于从该相关联的控制信息的变化位判定在将第二存储设备的被寻址的存储隔间的内容作为该被寻址数据写入该存储设备之后该被寻址数据是否已改变的装置,其中该存储设备和第二存储设备包括分开的存储设备;以及
用于如果通过检测发现错误并且该被寻址数据没有改变,则自动检索该第二存储设备的被寻址存储隔间的内容,并响应于该请求提供该被寻址存储隔间的内容,否则如果通过检测发现错误并且该被寻址数据已改变,则拒绝响应于该请求对该被寻址数据和该第二存储设备的被寻址存储隔间的内容的访问的装置。
19.根据权利要求18的系统,其特征在于,该用于自动检索的装置还包括,用于如果通过检测发现错误并且通过该判定发现该被寻址数据没有改变,则用该第二存储设备的被寻址存储隔间的内容替换该存储设备中的损坏的被寻址数据的装置。
20.根据权利要求18的系统,其特征在于,
该第二存储设备的被寻址存储隔间的内容包括备份数据和与该备份数据相关联的控制信息;并且
该用于提供的装置还包括
用于确定该备份数据或与该备份数据相关联的控制信息是否包含无法纠正的错误的装置;以及
用于如果该用于确定的装置检测到无法纠正的错误,则拒绝响应于该请求对该第二存储设备的被寻址存储隔间的内容的访问的装置。
21.根据权利要求18的系统,其特征在于,该用于自动检索的装置还包括用于如果通过该检测发现错误,则就如同该被寻址数据在该存储设备中未命中似地处理该请求的装置。
22.根据权利要求18的系统,其特征在于,
该用于检测的装置、用于判定的装置和用于自动检索的装置对于作出该请求的请求者是透明的;
该存储设备包括高速缓存;以及
该第二存储设备包括该计算系统的主存储器。
23.一种用于计算系统的具有自主错误恢复的高速缓存,所述高速缓存包括:
适于检测高速缓冲存储器的被寻址数据和相关联的控制信息的错误的逻辑,其中将响应于对该被寻址数据的请求而提供该被寻址数据;并且
其中该逻辑还适于如果检测到错误,则自动检索第二存储设备的被寻址存储隔间的内容,并响应于该请求而提供该被寻址存储隔间的内容,其中该高速缓存和第二存储设备包括分开的存储设备。
24.一种用于计算系统的具有自主错误恢复的高速缓存,所述高速缓存包括:
适于检测高速缓冲存储器的被寻址数据和相关联的控制信息的错误的逻辑,其中将响应于对该被寻址数据的请求而提供该被寻址数据;
其中该逻辑还适于从该相关联的控制信息的变化位判定在将第二存储设备的被寻址的存储隔间的内容作为该被寻址数据写入该存储设备之后该被寻址数据是否已改变,其中该高速缓存和第二存储设备包括分开的存储设备;以及
其中该逻辑还适于如果检测到错误并且该被寻址数据没有改变,则自动检索该第二存储设备的被寻址存储隔间的内容,并响应于该请求提供该被寻址存储隔间的内容,否则如果检测到错误并且该被寻址数据已改变,则拒绝响应于该请求对该被寻址数据和该第二存储设备的被寻址存储隔间的内容的访问。
25.至少一个可被机器读取的程序存储装置,该装置包含至少一个可被该机器执行以实现一种用于计算系统的存储设备的自主错误恢复方法的指令程序,所述方法包括:
检测存储设备的被寻址数据和相关联的控制信息的错误,其中将响应于对该被寻址数据的请求提供该被寻址数据;以及
如果通过检测发现错误,则自动检索第二存储设备的被寻址存储隔间的内容,并响应于该请求提供该被寻址存储隔间的内容,其中该存储设备和第二存储设备包括分开的存储设备。
26.根据权利要求25的至少一个程序存储装置,其特征在于,该检测和该自动检索对于作出对该被寻址数据的请求的请求者是透明的。
27.根据权利要求25的至少一个程序存储装置,其特征在于,该存储设备包括高速缓存,并且该第二存储设备包括该计算系统的主存储器。
28.根据权利要求25的至少一个程序存储装置,其特征在于,该自动检索的步骤还包括,如果通过该检测发现错误,则就如同该被寻址数据在该存储设备中未命中似地处理该请求。
29.根据权利要求25的至少一个程序存储装置,其特征在于,该检测步骤还包括对该相关联的控制信息进行奇偶校验。
30.根据权利要求25的至少一个程序存储装置,其特征在于,该检测步骤还包括在对应于该被寻址数据的代码字中检测无法纠正的错误,其中通过将错误检测码应用于发送给该存储设备以便存储的数据生成该代码字。
31.至少一个可被机器读取的程序存储装置,该装置包含至少一个可被该机器执行以实现一种用于计算系统的存储设备的自主错误恢复方法的指令程序,所述方法包括:
检测存储设备的被寻址数据和相关联的控制信息的错误,其中将响应于对该被寻址数据的请求而提供该被寻址数据;
从该相关联的控制信息的变化位判定在将第二存储设备的被寻址的存储隔间的内容作为该被寻址数据写入该存储设备之后该被寻址数据是否已改变,其中该存储设备和第二存储设备包括分开的存储设备;以及
如果通过检测发现错误并且该被寻址数据没有改变,则自动检索该第二存储设备的被寻址存储隔间的内容,并响应于该请求提供该被寻址存储隔间的内容,否则如果通过检测发现错误并且该被寻址数据已改变,则拒绝响应于该请求对该被寻址数据和该第二存储设备的被寻址存储隔间的内容的访问。
32.根据权利要求31的至少一个程序存储装置,其特征在于,该自动检索步骤还包括,如果通过检测发现错误并且通过该判定发现该被寻址数据没有改变,则用该第二存储设备的被寻址存储隔间的内容替换该存储设备中的损坏的被寻址数据。
33.根据权利要求31的至少一个程序存储装置,其特征在于,
该第二存储设备的被寻址存储隔间的内容包括备份数据和与该备份数据相关联的控制信息;并且
该提供步骤还包括
确定该备份数据或与该备份数据相关联的控制信息是否包含无法纠正的错误;以及
如果该确定步骤检测到无法纠正的错误,则拒绝响应于该请求对该第二存储设备的被寻址存储隔间的内容的访问。
34.根据权利要求31的至少一个程序存储装置,其特征在于,该自动检索步骤还包括如果通过该检测发现错误,则就如同该被寻址数据在该存储设备中未命中似地处理该请求。
35.根据权利要求31的至少一个程序存储装置,其特征在于,
该检测、判定和自动检索对于作出该请求的请求者是透明的;
该存储设备包括高速缓存;以及
该第二存储设备包括该计算系统的主存储器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/820,178 US7275202B2 (en) | 2004-04-07 | 2004-04-07 | Method, system and program product for autonomous error recovery for memory devices |
US10/820,178 | 2004-04-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1696906A true CN1696906A (zh) | 2005-11-16 |
CN1318972C CN1318972C (zh) | 2007-05-30 |
Family
ID=35061937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100633185A Expired - Fee Related CN1318972C (zh) | 2004-04-07 | 2005-04-06 | 用于存储设备的自主错误恢复方法、系统及高速缓存 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7275202B2 (zh) |
JP (1) | JP2005302027A (zh) |
CN (1) | CN1318972C (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109215728A (zh) * | 2017-07-01 | 2019-01-15 | 英特尔公司 | 用于分布式存储器危险检测和错误恢复的存储器电路和方法 |
WO2021077407A1 (en) * | 2019-10-25 | 2021-04-29 | Micron Technology, Inc. | Data recovery management for memory |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1708096A1 (de) * | 2005-03-31 | 2006-10-04 | Ubs Ag | Rechnernetzwerksystem zum Synchronisieren einer zweiten Datenbank mit einer ersten Datenbank sowie Vorgehensweisen hierfür |
JP2006338734A (ja) * | 2005-05-31 | 2006-12-14 | Hitachi Global Storage Technologies Netherlands Bv | データ記憶装置及びエラーリカバリ方法 |
US20070168754A1 (en) * | 2005-12-19 | 2007-07-19 | Xiv Ltd. | Method and apparatus for ensuring writing integrity in mass storage systems |
JP5202130B2 (ja) * | 2008-06-24 | 2013-06-05 | 株式会社東芝 | キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 |
JP2012103826A (ja) * | 2010-11-09 | 2012-05-31 | Fujitsu Ltd | キャッシュメモリシステム |
US9244852B2 (en) | 2013-05-06 | 2016-01-26 | Globalfoundries Inc. | Recovering from uncorrected memory errors |
CN104750577B (zh) * | 2015-04-13 | 2017-09-29 | 中国人民解放军国防科学技术大学 | 面向片上大容量缓冲存储器的任意多位容错方法及装置 |
US11335426B2 (en) * | 2020-10-16 | 2022-05-17 | Micron Technology, Inc. | Targeted test fail injection |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4092713A (en) * | 1977-06-13 | 1978-05-30 | Sperry Rand Corporation | Post-write address word correction in cache memory system |
US4860192A (en) | 1985-02-22 | 1989-08-22 | Intergraph Corporation | Quadword boundary cache system |
JPS62260249A (ja) | 1986-05-07 | 1987-11-12 | Mitsubishi Electric Corp | デ−タ処理装置のエラ−リカバリ−処理方法 |
JPH0821238B2 (ja) * | 1987-11-12 | 1996-03-04 | 三菱電機株式会社 | 半導体記憶装置 |
US4831622A (en) * | 1987-12-22 | 1989-05-16 | Honeywell Bull Inc. | Apparatus for forcing a reload from main memory upon cache memory error |
CA2002361C (en) * | 1989-03-10 | 1993-12-21 | Robert M. Blake | Fault tolerant computer memory systems and components employing dual level error correction and detection with disablement feature |
CA2021834C (en) * | 1989-10-06 | 1993-12-21 | Louis B. Capps, Jr. | Personal computer memory bank parity error indicator |
US5455939A (en) | 1992-06-17 | 1995-10-03 | Intel Corporation | Method and apparatus for error detection and correction of data transferred between a CPU and system memory |
US5509119A (en) * | 1994-09-23 | 1996-04-16 | Hewlett-Packard Company | Fast comparison method and apparatus for error corrected cache tags |
US5617347A (en) * | 1995-03-17 | 1997-04-01 | Fujitsu Limited | Cache memory system and method thereof for storing a staged memory item and a cache tag within a single cache array structure |
JPH09282105A (ja) | 1996-04-09 | 1997-10-31 | Hitachi Ltd | ディスク記憶システム及びその誤り訂正データ作成処理の回復方法 |
US5784394A (en) | 1996-11-15 | 1998-07-21 | International Business Machines Corporation | Method and system for implementing parity error recovery schemes in a data processing system |
US5883904A (en) | 1997-04-14 | 1999-03-16 | International Business Machines Corporation | Method for recoverability via redundant cache arrays |
US5912906A (en) | 1997-06-23 | 1999-06-15 | Sun Microsystems, Inc. | Method and apparatus for recovering from correctable ECC errors |
US6108753A (en) | 1998-03-31 | 2000-08-22 | International Business Machines Corporation | Cache error retry technique |
US6223655B1 (en) | 1998-04-27 | 2001-05-01 | The Moore Company | Epoxidized natural rubber printing plate |
US6163857A (en) | 1998-04-30 | 2000-12-19 | International Business Machines Corporation | Computer system UE recovery logic |
US6332181B1 (en) | 1998-05-04 | 2001-12-18 | International Business Machines Corporation | Recovery mechanism for L1 data cache parity errors |
US6199118B1 (en) | 1998-08-18 | 2001-03-06 | Compaq Computer Corporation | System and method for aligning an initial cache line of data read from an input/output device by a central processing unit |
US6571317B2 (en) | 2001-05-01 | 2003-05-27 | Broadcom Corporation | Replacement data error detector |
US20030131277A1 (en) * | 2002-01-09 | 2003-07-10 | Taylor Richard D. | Soft error recovery in microprocessor cache memories |
-
2004
- 2004-04-07 US US10/820,178 patent/US7275202B2/en not_active Expired - Fee Related
-
2005
- 2005-04-06 CN CNB2005100633185A patent/CN1318972C/zh not_active Expired - Fee Related
- 2005-04-07 JP JP2005110801A patent/JP2005302027A/ja active Pending
-
2007
- 2007-06-15 US US11/763,653 patent/US7739557B2/en not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109215728A (zh) * | 2017-07-01 | 2019-01-15 | 英特尔公司 | 用于分布式存储器危险检测和错误恢复的存储器电路和方法 |
WO2021077407A1 (en) * | 2019-10-25 | 2021-04-29 | Micron Technology, Inc. | Data recovery management for memory |
US11829268B2 (en) | 2019-10-25 | 2023-11-28 | Micron Technology, Inc. | Data recovery management for memory |
Also Published As
Publication number | Publication date |
---|---|
US7275202B2 (en) | 2007-09-25 |
US7739557B2 (en) | 2010-06-15 |
CN1318972C (zh) | 2007-05-30 |
US20050229052A1 (en) | 2005-10-13 |
JP2005302027A (ja) | 2005-10-27 |
US20070240021A1 (en) | 2007-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1318972C (zh) | 用于存储设备的自主错误恢复方法、系统及高速缓存 | |
US4980823A (en) | Sequential prefetching with deconfirmation | |
US7840848B2 (en) | Self-healing cache operations | |
US6047357A (en) | High speed method for maintaining cache coherency in a multi-level, set associative cache hierarchy | |
US6480975B1 (en) | ECC mechanism for set associative cache array | |
US5751990A (en) | Abridged virtual address cache directory | |
US20060129763A1 (en) | Virtual cache for disk cache insertion and eviction policies and recovery from device errors | |
KR100335672B1 (ko) | 메모리페이지크로싱예측주석을사용하는실제주소지정데이타기억구조로부터의빠른데이타검색 | |
CN113961483B (zh) | 高速缓存存储器和使用高速缓存存储器的方法 | |
EP0321793B1 (en) | Apparatus for forcing a reload from main memory upon cache memory error | |
US20190294554A1 (en) | Apparatus and method for handling access requests | |
US6226763B1 (en) | Method and apparatus for performing cache accesses | |
KR20170102723A (ko) | 캐시 메모리 장치 및 그것의 동작 방법 | |
US20220253386A1 (en) | Storage device including nonvolatile memory device and operating method thereof | |
KR100972807B1 (ko) | 에러 정정 코드 생성 방법 및 메모리 관리 장치 | |
US6681299B1 (en) | Cache-tag control method in information processing apparatus having cache, with error checking mechanism in cache tag, and information processing apparatus using this control method | |
US5555379A (en) | Cache controller index address generator | |
US6772289B1 (en) | Methods and apparatus for managing cached CRC values in a storage controller | |
US20220358051A1 (en) | Non-volatile storage controller with partial logical-to-physical (l2p) address translation table | |
US5581730A (en) | Condition detector and prioritizer with associativity determination logic | |
JPS63278158A (ja) | 連想キャッシュ・メモリー | |
US6546501B1 (en) | Cache memory apparatus and computer readable recording medium on which a program for controlling a cache memory is recorded | |
EP0296430A2 (en) | Sequential prefetching with deconfirmation | |
JP3130796B2 (ja) | 制御記憶装置 | |
JPH02500552A (ja) | 少なくとも2つの装填サイズを有するキャッシュ |
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: 20070530 Termination date: 20110406 |