使用错误模式分析识别不可校正的错误的制作方法
未命名
09-08
阅读:85
评论:0

1.本公开涉及检测存储器设备中的错误。特别地,本公开涉及存储器设备中不可校正的存储器错误的基于模式的识别。
背景技术:
2.动态随机存取存储器(dram)一般由存储器单元格(例如,深沟槽电容器)的规则阵列构成,每个存储器单元格存储指示单个数据位是或者“1”或者“0”的电荷状态。单个dram设备(即,电子包装的集成电路管芯)可以包括数百万或数十亿个单独的单元格。每个设备内的单独单元格可以布置在单元格块的层次结构中。
3.在一些情况下,存储在存储器单元格中的电荷状态无意中从被存储(写入)状态切换到与被存储状态不同的有错状态,从而无意中在单元格中产生有错的位值。这些所谓的“软错误”可以是由存储器单元格与宇宙起源粒子之间的相遇、电子设备的制造中使用的材料衰变产生的自然辐射等原因造成的。与存储器设备通信的处理器可以执行纠错码(ecc)算法,该算法使用存储在存储器设备中的元数据来识别对应存储数据中的错误。例如,ecc算法可以识别存储器区域中的单元格,该单元格存储与最初写入该单元格的位值不同的位值。一些错误是可校正的,因为可以使用各种技术来将写入的值恢复到存储器单元格。其它错误不可校正。
4.本部分中描述的方法是可以追求的方法,但不一定是先前已经构想或追求的方法。因此,除非另有说明,否则不应假定本部分中描述的任何方法仅因其包含在本部分中而被视为现有技术。
附图说明
5.在附图的各图中,通过示例而不是通过限制的方式图示了实施例。应该注意的是,本公开中所提及的“一”或“一个”实施例并不一定是指同一个实施例,而是指至少一个。在附图中:
6.图1a图示了根据一个或多个实施例的系统;
7.图1b图示了根据一个或多个实施例的示例存储器区域,该存储器区域包括由单独存储器单元格的阵列组成的存储器块;
8.图2图示了根据一个或多个实施例的用于通过将有错的存储器单元格的子集与可校正存储器错误的模式进行比较来检测不可校正的存储器错误的示例操作集;
9.图3图示了根据一个或多个实施例的潜在损坏模式的组合的集合与满足存储器区域的脆弱性准则的可校正错误模式的集合之间的关系;
10.图4图示了根据一个或多个实施例的用于通过将有错的存储器单元格的子集与不可校正的存储器错误的模式进行比较来检测不可校正的存储器错误的示例操作集;
11.图5图示了根据一个或多个实施例的潜在损坏模式的组合的集合与满足存储器区域的脆弱性准则所需的不可校正的错误模式的集合之间的最小重叠;
12.图6图示了根据一个或多个实施例的存储器的示例区域,其中各个存储器单元格被标记以指示它们对应存储的位值是否偏离预期值或是否正确;
13.图7图示了根据一个或多个实施例的基于图6中所示的存储器区域的错误模式的个别有错的存储器单元格的组合的子集(潜在损坏模式);
14.图8a图示了与图6中所示的存储器区域相关联的不可校正的错误模式,如通过对应的纠错码的分析所确定的;
15.图8b图示了根据一个或多个实施例的图7中所示的潜在错误模式的子集,其满足与图8a中所示的不可校正的错误模式的相似性准则;以及
16.图9示出了图示根据一个或多个实施例的计算机系统的框图。
具体实施方式
17.在以下描述中,为了解释的目的,阐述了许多具体细节以便提供透彻的理解。可以在没有这些具体细节的情况下实践一个或多个实施例。一个实施例中描述的特征可以与不同实施例中描述的特征相结合。在一些示例中,参考框图形式描述了众所周知的结构和设备,以避免不必要地混淆本发明。
18.1.总体概述
19.2.系统体系架构
20.3.存储器设备结构和纠错码
21.4.使用错误模式分析预测不可校正的错误
22.4.1使用可校正损坏模式比较预测不可校正的错误
23.4.2使用不可校正损坏模式比较预测不可校正的错误
24.5.示例实施例
25.6.计算机网络和云网络
26.7.其它事项;扩展
27.8.硬件概述
28.1.总体概述
29.一个或多个实施例包括用于识别存储器阵列中与不可校正的错误相关联的存储器单元格的模式的技术。虽然传统技术使用存储器单元格错误计数总数或错误计数率来识别不可校正的错误,但本文描述的技术改为识别不太可能被校正(例如,使用纠错码(ecc))或可校正但与将来可能生成不可校正错误的模式相关联的存储器单元格错误的模式(即,存储偏离预期或写入的位值的位值的一个或多个存储器单元格的组)。系统首先识别存储器区域中有错的存储器单元格的初始模式。系统生成由初始模式中包括的单元格的各种组合形成的附加模式。初始模式和附加模式统称为潜在损坏模式。该系统将潜在的损坏模式与已知可使用ecc校正的单元格模式进行比较。如果所有潜在的损坏模式(等效术语“错误模式”)被确定为可使用ecc校正,那么除了执行ecc来校正有错的位之外不需要采取进一步的动作。但是,如果与损坏模式相关联的有错的单元格的组合中的一种或多种与ecc可校正模式不关联,那么系统确定存储器阵列(或具有有错的单元格的存储器的区域)满足与不可校正的错误模式相关联的数据损坏的脆弱性准则。
30.本说明书中描述的和/或权利要求中阐述的一个或多个实施例可能不包括在该总
体概述部分中。
31.2.系统体系架构
32.图1a图示了根据一个或多个实施例的存储器管理系统100。在所示的实施例中,存储器管理系统100包括存储器模块102、存储器管理引擎128和数据储存库164。在一个或多个实施例中,系统100可以包括比图1a中所示的组件更多的组件。图1a中所示的组件可以在系统100使用的其它组件本地或远程。图1a中所示的组件可以在软件和/或硬件中实现并且可以分布在一个或多个应用和/或机器上。相对于图1a中所示的组件描述的操作可以由一个或多个其它组件替代地执行。
33.存储器模块102可以包括任何类型的存储器类型,无论是dram、sram还是磁存储器类型。下面描述的示例是在dram存储器的上下文中呈现的,但是本文描述的实施例适用于可以使用纠错码的任何其它存储器类型。存储器模块102可以包括一个或多个存储器区域,这在下面图1b的上下文中描述。在一些示例中,存储器模块102包括多个互连的存储器设备。例如,存储器模块102可以包括安装在基板上的多个dram设备(即,电子包装的dram管芯)。存储器模块的常见配置是单列直插式存储器模块(simm)或双列直插式存储器模块(dimm)。虽然存储器模块102用于以下解释,但是将认识到的是,这些技术适用于任何尺寸或配置的存储器区域,无论是单个存储器组(例如,dram管芯内的区域)、整个dram管芯、dram simm或dimm中的一些或全部,或许多simm或dimm的组。如本文所用的术语“区域”适用于这些存储器组件级别中的任何一个。
34.存储器管理引擎128可以识别存储器模块102中存储偏离预期位值的位值的一个或多个存储器单元格(即,有错的存储器单元格)。存储器管理引擎128还可以确定有错的单元格是否形成可使用纠错码(ecc)校正的模式。
35.存储器管理引擎128包括存储器单元格错误检测器132、潜在错误模式生成器136、处理器140、纠错码存储库144、模式比较引擎156和补救引擎160。
36.存储器单元格错误检测器132可以使用存储在存储器模块102中的元数据连同存储在纠错码存储库144中的纠错码来检测存储器模块102中有错的存储器单元格。一旦检测到,存储器单元格错误检测器132就可以将有错的单元格地址和/或正确单元格地址传递给潜在错误模式生成器136。
37.潜在错误模式生成器136生成其中已检测到错误的存储器单元格的数学组合(在每个组合中仅使用有错的单元格一次),从而生成多个潜在错误模式。如下所述,生成潜在错误模式以准备与已知不可使用ecc校正的模式进行比较。因为假定存储器单元格彼此独立地操作并且因为表现出当前错误的存储器单元格被假定更可能在未来表现出错误,所以这些模式的生成预测可能的未来错误模式。
38.处理器140可以与存储一个或多个纠错码的纠错码存储器144通信。处理器140可以与纠错码存储库144通信并使用存储的纠错码生成可校正单元格模式和不可校正单元格模式中的一个或两者的表示。在一些实施例中,生成可校正单元格模式和不可校正单元格模式中的一个或两者的表示可以通过分析与存储的纠错码相关联的特点来高效地生成上面提到的模式之一或两者的近似表示(例如,使用计算效率高的概率数据结构,例如使用bloom过滤器搜索模式)。虽然使用代码特点来生成单元格模式在计算上是高效的,但这个处理会生成可校正或不可校正的错误模式集,这些错误模式集过度地代表或不足地代表可
校正和/或不可校正的错误模式的(一个或多个)实际集合。当与实际错误模式相比时,这些过度或不足包含的集合会导致假阳性或假阴性分析结果。因此,在其它实施例中,处理器140可以与纠错码存储库144通信以执行各种ecc以生成可校正和/或不可校正的错误模式中的一些或所有的精确映射。不管技术如何,处理器140都可以比较可校正的存储器单元格的模式和/或不可校正的存储器单元格的模式,如本文所述。这些生成的模式分别存储在可校正的错误模式存储库148和不可校正的错误模式存储库152中。
39.存储库148、152是处理器140内或与处理器140通信的存储器区域。存储库148、152可以存储它们的相关联的模式,这些模式是根据本文描述的技术生成的。虽然被示为处理器140的元件,但在另一个实施例中,这些存储器区域可以存储在数据储存库164中。可选的附加和/或替代存储位置在图1中使用虚线表示,以概述数据储存库164中的存储库148、152。
40.在一个或多个实施例中,各种存储库(例如,可校正的错误模式存储库148、不可校正的错误模式存储库152、纠错码存储库144)和数据储存库164可以是用于存储数据的任何类型的存储单元和/或设备(例如,文件系统、数据库、表的集合或任何其它存储机制)。另外,这些存储库和数据储存库可以包括多个不同的存储器单元和/或设备。多个不同的存储单元和/或设备可以是或者可以不是相同类型或位于相同的物理位置。另外,这些存储库可以在与存储器管理引擎128和/或系统100相同的计算系统上实现或执行。在另一个实施例中,数据存储库可以在与存储器管理引擎128和/或系统100分开的计算系统上实现或执行。数据存储库可以经由直接连接或经由网络通信地耦合到系统100和/或存储器管理引擎128。
41.虽然图1中未示出,但数据储存库还可以存储潜在损坏模式、用于实现本文描述的技术的可执行代码,以及其它方面。
42.模式比较引擎156可以将存储在可校正的错误模式存储库148和不可校正的错误模式存储库152中的模式之一或两者与存储在潜在错误模式生成器136中的对应(有错的单元格或正确单元格)模式进行比较。
43.不可校正的错误的检测被发送到补救引擎160。补救引擎160可以发送要执行的补救动作的通知或者可以自己发起补救动作。
44.描述用于使用错误模式分析识别不可校正的错误的技术的信息可以跨系统100内的任何组件实现。但是,为了清楚和解释的目的,图1图示了实现错误模式分析的实施例的存储器管理引擎128。
45.在一个或多个实施例中,存储器管理引擎128是指被配置为执行本文描述的用于使用错误模式分析来识别不可校正的错误的操作的硬件和/或软件。下面参考图2和图4描述用于使用错误模式分析来识别不可校正的错误的操作的示例。
46.在实施例中,存储器管理引擎128在一个或多个数字设备上实现。术语“数字设备”一般是指包括处理器的任何硬件设备。数字设备可以指执行应用或虚拟机的物理设备。数字设备的示例包括计算机、平板电脑、膝上型计算机、台式机、上网本、服务器、web服务器、网络策略服务器、代理服务器、通用机器、特定于功能的硬件设备、硬件路由器、硬件交换机、硬件防火墙、硬件防火墙、硬件网络地址翻译器(nat)、硬件负载均衡器、大型机、电视机、内容接收器、机顶盒、打印机、移动电话、智能电话、个人数字助理(“pda”)、无线接收器
和/或发送器、基站、通信管理设备、路由器、交换机、控制器、接入点和/或客户端设备。
47.在一个或多个实施例中,存储器管理引擎128包括一个或多个接口(例如,由补救引擎160生成),无论是被配置为促进用户和存储器管理引擎128之间的通信的硬件和/或软件。这种接口渲染用户接口元素并经由用户接口元素接收输入。接口的示例包括图形用户界面(gui)、命令行接口(cli)、触觉接口和语音命令接口。用户接口元素的示例包括复选框、单选按钮、下拉列表、列表框、按钮、开关、文本字段、日期和时间选择器、命令行、滑块、页面和表单。
48.在实施例中,接口的不同组件以不同语言指定。用户接口元素的行为以动态编程语言(诸如javascript)指定。用户接口元素的内容以标记语言(诸如超文本标记语言(html)或xml用户接口语言(xul))指定。用户接口元素的布局以样式表语言(诸如层叠样式表(css))指定。可替代地,可以用一种或多种其它语言(诸如java、c或c++)指定接口。
49.3.存储器设备结构和纠错码
50.图1b图示了根据一个或多个实施例的存储器模块102的更详细视图。如图1b中所示,存储器模块102是32位dram存储器区域。存储器模块102包括两个存储器块104和108(有时等同地称为“存储器组”或“存储器区域”)。存储器块104、108中的每一个由16个存储器单元格的阵列形成。如图1b中所示,存储器块104包括布置在第一列110中的单元格112a-112h和布置在第二列114中的存储器单元格116a-116h。存储器块108包括布置在第一列118中的单元格120a-120h和布置在第二列122中的存储器单元格124a-124h。因为示例存储器模块102的每个存储器单元格都能够存储单个位(例如,作为电容器中的高或低电荷状态),块104、108中的每一个可以存储16位。
51.在一些实施例中,每一列110、114、118、122与存储器模块102是其组件的电子包装的dram设备(未示出)的对应输入/输出(i/o)引脚相关联。在一些实施例中,每行存储器单元格(例如,112a、116a、120a、124a)可以在存储器模块102是其组件的计算机系统的单个时钟周期期间被读取和/或写入。
52.存储器区域和设备可以具有分层组织,其中存储器块的尺寸基于存储器块中的存储器单元格的行数和列数。块的行和列一般可通过位线(读取和写入存储器单元格的列)和字线(读取和写入存储器单元格的行)访问。存储器区域可以由多个块形成,这些块可经由总线或在块之间制造的其它互连来访问。
53.在一个或多个实施例中,存储器模块102可以包括比图1b中所示的组件更多或更少的组件,提供图1b是为了解释的方便和清楚。例如,单个dram管芯(即,构图的和功能硅芯片)可以具有数百万、数十亿或数万亿个单独的存储器单元格。
54.本文描述的技术涉及使用纠错码(ecc)来确定其中检测到一个或多个错误的单元格的模式是可校正的还是不可校正的。纠错码是可以使用元数据的算法,例如,元数据与位值一起存储以确定存储在存储器单元格中的位值(例如,dram电容器中的高或低电荷状态)是否是预期的值。单元格中存储的非预期或与ecc预测的值不一致的位值被识别为错误。在一些示例中,ecc的执行可以校正单元格中的有错的位值并将其恢复为预期的(即,写入的)值。
55.ecc可以校正错误的程度可以因算法本身(例如,golay、多维奇偶校验、汉明)、计算系统中使用的微处理器以及其它因素而异。在一些情况下,某些类型的错误模式通常可
由许多不同的ecc算法校正。例如,许多不同的ecc算法被设计为校正与共用i/o引脚相关联的单元格中有错的位值。在图1b中所示示例的上下文中,与共用i/o引脚相关联的示例错误模式将包括单元格列110中的一个或多个有错的单元格(或等效地仅在列114、118或122中的任何一列中的错误)。许多其它错误模式在执行ecc算法时是可校正的。
56.本公开的技术使用ecc来生成已知可校正的模式,然后将由存储器区域中有错的单元格的组合形成的模式与这些已知的可校正模式进行比较。如果在存储器的区域(或其任何子集)中表现出的任何错误模式(即,存储偏离预期或写入的位值的位值的一个或多个存储器单元格的组)与可校正的错误模式不同,那么系统将该存储器区域识别为易受攻击。在一些示例中,错误模式可以是可校正的但包括与不可校正的错误相关联的一个或多个单元格。作为响应,系统可以生成推荐补救动作的通知或者可以直接执行补救动作。
57.与用于识别易受攻击的存储器区域的传统技术相比,使用错误模式分析来识别易受产生不可校正的存储器单元格错误模式影响的存储器单元格的集合,如本文所述,具有许多好处。在某种程度上,传统技术可能不正确地将一些存储器区域识别为易受永久存储器故障影响(“假阳性”),并且还会不正确地将一些存储器区域识别为不易受永久存储器故障影响(“假阴性”)。假阳性和假阴性错误识别可以由传统技术生成,这些技术依赖于简单的错误计数方案来识别易受攻击的存储器区域。例如,如果特定区域的错误数量超过阈值计数,那么系统将该特定区域识别为易受永久性存储器故障影响。如果高错误计数与可使用ecc校正的模式相关联,那么传统错误计数方案可以因此生成假阳性。类似地,如果使用ecc无法校正的存储器区域生成的错误未超过阈值,那么传统错误计数方案会生成假阴性结果。
58.4.使用错误模式分析预测不可校正的错误
59.下面描述用于识别存储器区域中的不可校正的错误的技术的两个示例。第一种技术(在第4.1节中描述)将存储器区域中的错误模式和模式中有错的单元格的各种组合与已知在应用ecc时可校正的存储器单元格的模式进行比较。如果存储器区域损坏模式或模式中的单元格的任何组合(作为本文的技术的一部分由系统生成)偏离已知的可校正模式,那么系统假定该存储器区域在将来容易产生不可校正的错误。第二种技术(在第4.2节中描述)应用第一种技术的逆过程。系统将存储器区域中的错误模式(即,潜在损坏模式的集合)和模式中有错的单元格的各种组合(由系统生成)与基于ecc的分析已知不可校正的错误模式进行比较。如果存储器区域错误模式或其任何系统生成的组合与任何已知的不可校正的错误模式相匹配,那么系统假定该存储器区域在将来容易产生不可校正的错误。
60.4.1使用可校正损坏模式比较来预测不可校正的错误
61.图2图示了根据一个或多个实施例的示例操作集作为用于识别包括不可校正的错误并且可以要求补救的存储器区域的方法200。图2中所示的一个或多个操作可以被修改、重新布置或完全省略。因而,图2中所示的特定操作顺序不应当被解释为限制一个或多个实施例的范围。
62.方法200可以开始于系统识别存储器区域中与至少一个错误相关联的存储器单元格(操作204)。系统可以使用ecc来识别包括至少一个错误的存储器区域以确定与存储器区域中的特定存储器单元格相关联的位值(例如,dram设备中的电容器的低或高电荷状态)是否匹配预期的值。如果存储的位值与特定存储器单元格的预期位值不同,那么系统将该特
定存储器单元格识别为存储不正确的位值(即,将单元格与错误相关联)。系统可以分析存储器的特定区域中的单元格,从而识别该区域中存储位值的存储器单元格的模式,其中一些存储正确的位值而另一些存储有错的位值。
63.与存储器区域对应的正确和/或有错的位值的模式可以与在执行操作204时作为快照生成的“瞬时”模式对应。该模式可以被用于生成表示有错的单元格的错误向量。在一些示例中,系统可以在一段时间内重复地执行操作204并且累积(或“聚合”)存储器区域中正确和有错的存储器单元格的模式(操作208)。系统可以生成错误向量,其中有错的存储器单元格随时间累积。错误向量可以通过加入由重复执行操作204产生的有错的单元格的集合(例如,使用“or”操作)随时间累积与错误相关联的存储器单元格标识符。在其它示例中,错误被累积在一个或多个错误向量中(例如,每个错误向量与存储器单元格的区域或集合相关联,或者与特定检测时间处或特定检测时间内的单个区域相关联)。在各种示例中,错误向量是在测量时段期间与错误相关联的每个存储器单元格的表示。然后可以连接错误向量以形成连接的错误向量。在一些示例中,连接的集合可以被称为“超集”。类似地,连接的错误向量可以被用于生成潜在损坏模式的超集。然后可以分析该超集以确定与可校正或不可校正错误模式的相似性,如本文所述。
64.错误向量的前述实施例可以在检测到有错的位值一次后将错误与单元格相关联。使用单元格中的单个错误发生来识别在一个时间点表现出错误的存储器单元格更有可能在将来表现出错误的错误假设。错误向量的其它实施例也可以在一些错误是随机事件(例如,来自宇宙粒子)的附加假设上操作,这些随机事件不一定预测单元格的未来故障。假设随机事件错误模型可以意味着一些示例错误向量可以使用过滤器累积错误,该过滤器直到已经为单元格识别出最小阈值数量的错误才将其识别为有错(操作212)。在一个实施例中,错误的总数可以在测量时段期间朝着阈值累积。在另一个实施例中,可以使用每单位时间的去除率(例如,“漏桶”计数器)在测量时段期间累积并同时递减误差。
65.在一些示例中,与分离的存储器区域相关联的错误向量可以单独地存储在错误向量的表中。错误向量表中的条目(例如,对应于分离的存储器区域和/或对应的错误向量)可以用唯一标识符来识别。这使得系统能够访问与特定存储器区域相关联的任何存储的错误向量。
66.不管所使用的错误解释(accounting)技术如何,一旦系统将存储器区域中的存储器单元格识别为有错,系统就生成与错误相关联的单元格的多个子集。在一些实施例中,每个子集是有错的存储器单元格(或它们的对应标识符)的不同组合(操作216)。这些不同组合描述潜在的损坏模式。即,因为假设单元格彼此独立地操作,所以与错误相关联的单元格的任何组合都被识别为可能的未来损坏模式,即使识别出的损坏模式本身是可校正的。在一些实施例中,有错的存储器单元格的不同组合中的每一个可以被表示为一个或多个错误向量。错误模式和潜在损坏模式作为错误向量的表示促进相似性分析,如下所述。有错的存储器单元格的不同组合的子集可以包括由各个单元格或单元格的组组成的集合。在一个示例中,子集包括所有有错的存储器单元格。
67.然后,系统识别已知可经由系统使用的ecc算法校正的有错的存储器单元格的模式(操作220)。上面在图1的上下文中描述了这些技术。
68.然后,系统将各种潜在损坏模式与经由ecc算法生成的可校正存储器单元格的模
式进行比较,以确定是否至少一个潜在损坏模式不满足与任何可校正错误模式的相似性阈值(操作224)。系统可以通过在每个潜在损坏模式的向量表示(例如,使用对应的错误向量)与每个可校正的错误模式的向量表示之间执行相似性比较(例如,余弦相似性)来执行比较。
69.如果至少一个潜在损坏模式不满足与任何可校正的错误模式的相似性阈值(操作224),那么存储器区域被确定为能够生成不可校正的错误(操作228)。满足脆弱性阈值并且可以推荐执行ecc之外的补救动作(操作230)。系统可以可选地校正能够被校正的任何错误(操作238)。
70.但是,如果模式确实满足与可校正的错误模式的相似性阈值(操作224),那么错误被确定为可校正的(操作234)并且可以可选地通过应用ecc来校正(操作238)。换句话说,如果潜在损坏模式集形成可校正模式集的子集,那么假定错误是可校正的。不满足脆弱性阈值并且可以使用ecc来校正错误(操作232)。系统可以可选地通过在操作204处恢复方法200来继续监视错误。
71.在一些示例中,补救动作消耗比简单地执行ecc更显著的资源。补救动作的示例包括将数据重新指派给不同的存储器区域、在不同的存储器区域或不同的存储器设备中复制存储器的区域,或甚至物理替换存储器区域(例如,dimm或simm)。所有这些补救动作都消耗计算和/或财务资源,并且其中一些补救动作可能仅在采取更显著的动作之前部署固定次数。本文描述的技术的改进的准确性通过避免在实际上不需要时使用补救动作来改进计算设备的操作。
72.图3是venn图300,它以图形方式说明了可校正损坏模式的集合304与潜在损坏模式的集合308之间的关系。如图所示,可校正损坏模式的集合304涵盖了大部分,但不是全部,潜在损坏模式的集合308。代替地,潜在损坏模式的集合308的一部分(由阴影表示)位于可校正损坏模式的集合304之外。阴影部分指示潜在损坏模式312的不满足与可校正损坏模式的集合304中的任何模式的相似性准则的子集。为了清楚起见,已经夸大了图300中表示子集312的部分。在一些示例中,仅单个潜在损坏模式(或甚至单个潜在损坏模式中的单个存储器单元格)需要与可校正损坏模式的集合304不同以超过脆弱性准则。
73.4.2使用不可校正损坏模式比较来预测不可校正的错误
74.图4图示了与2中所示的方法200类似的方法400,不同之处在于在方法400中,当潜在损坏满足与不可校正的错误对应的错误模式的相似性准则时满足脆弱性准则。
75.方法400开始于与方法200所使用的那些类似的操作。系统识别存储器区域中与至少一个错误相关联的存储器单元格(操作404)。系统可以使用ecc来识别有错的存储器单元以确定与存储器区域中的特定存储器单元格相关联的位值(例如,dram设备中的电容器的低或高电荷状态)是否匹配预期的值。如果存储的位值与特定存储器单元格的预期位值不同,那么系统将该特定存储器单元格识别为存储不正确的位值(即,将单元格与错误相关联)。系统可以识别存储器的特定区域中有错的单元格,从而识别存储位值的区域中的存储器单元格的模式,其中一些单元格存储正确的位值而另一些存储有错的位值。
76.与方法200一样,方法400也可以随时间将有错的存储器单元格累积到错误向量中(操作408)和/或使用阈值错误计数和/或递减速率来过滤错误(操作412)。上面在操作408和412的上下文中描述了这些技术。
77.不管所使用的错误解释技术如何,一旦系统将存储器区域中的存储器单元格识别为有错,系统就生成与错误相关联的单元格的多个子集以识别潜在损坏模式(操作416)。在一些实施例中,每个子集是有错的存储器单元格(或它们的对应单元标识符)的不同组合。如上所述,系统基于以下假设生成这些潜在损坏模式:在测量期间与错误相关联的任何单元格都更可能在将来与另一个错误相关联。在假设当前有错的单元格可以与将来的错误相关联后,每个潜在损坏模式因此表示可以生成将来错误的单元格的组合。在一些实施例中,有错的存储器单元格的不同组合中的每一个可以被表示为错误向量以促进相似性分析的执行。
78.系统然后识别有错的存储器单元格的模式,这些模式已知是经由系统使用的ecc算法不可校正的(操作420)。用于操作420的技术与上面在操作220的上下文中描述的技术类似。
79.系统然后将各种潜在的损坏模式与经由ecc算法生成的不可校正的存储器单元格的模式进行比较(操作424)。系统可以通过在每个潜在损坏模式的向量表示(即,每个潜在损坏模式的错误向量)和每个可校正的错误模式的向量表示之间执行相似性比较(例如,余弦相似性)来执行操作424的比较。
80.如果至少一个潜在损坏模式满足与任何不可校正的错误模式的相似性阈值(操作424),那么存储器区域被确定为能够生成不可校正的错误(操作428)。基于操作428,系统确定满足脆弱性准则(操作430)。系统可以可选地识别不可校正的错误和/或推荐的补救动作。系统可以可选地校正能够被校正的任何错误(操作438)。
81.可替代地,如果没有潜在的损坏模式与不可校正的错误模式类似,那么系统确定存储器区域不满足脆弱性准则(操作434)。可以可选地使用ecc来校正错误(操作438)并且系统可以恢复监视(操作404)。
82.图5是venn图500,它以图形方式说明了不可校正损坏模式的集合504与潜在损坏模式的集合508之间的示例关系。如图所示,不可校正损坏模式504可以与潜在损坏模式的集合508正切。正切点512指示只有一个潜在损坏模式508需要满足与不可校正损坏模式的集合504的相似性准则即可满足脆弱性准则。模式504与508之间的单个正切点512表示满足脆弱性准则的最低条件。
83.5.示例实施例
84.为了清楚起见,下面描述详细的示例。下面描述的组件和/或操作应当被理解为可能不适用于某些实施例的一个特定示例。因而,下文描述的组件和/或操作不应当被解释为限制任何权利要求的范围。
85.图6、7、8a和8b图示了在特定存储器区域的上下文中的上述技术的各个阶段。
86.图6图示了存储器区域604,其包括第一列610中的存储器单元格612a、612b、612c、612d和第二列614中的存储器单元格616a、616b、616c、616d。存储器区域604可以是更大的存储器阵列的一部分。为了解释的方便和清楚,在图6中呈现了存储器区域604的有限尺寸。
87.存储器单元格612a-612d、616a-616d中的每一个都标有对应的错误状态628。存储器单元格612a、612d、616a、616b和616c各自存储与使用由与存储器区域604通信的计算设备(例如,处理器)执行的ecc算法检查的对应位值匹配的位。
88.存储器单元格612b、612c和616d标有错误状态628,其指示存储在这些单元格中的
位值偏离预期位值。这些存储器单元格的错误状态628是“错误的阈值数量”以反映上述过滤器和/或阈值的可选使用。即,在一些实施例中,存储器单元格612b、612c和616d不与错误相关联,直到在测量时段内检测到与预期位值的最小数量的偏差。一旦被识别为与有错的位值相关联,存储器单元格612b、612c和616d的集合就构成第一损坏模式。
89.图7图示了图6中所示的有错的单元格的多个不同组合。即,图7图示了潜在损坏模式704、708、712、716、720、724、728,每个都是图6中所示的有错的单元格的子集。潜在损坏模式704、708和712各自图示了仅具有有错的单元格612b、612c和616d之一的潜在损坏模式。潜在损坏模式716、720和724包括各自是其中两个有错的单元格的子集的潜在损坏模式。潜在损坏模式728是所有三个有错的单元格的子集。
90.如上面所解释的,基于当前存储有错的位值的任何存储器单元可能在将来生成错误的假设生成潜在损坏模式704、708、712、716、720、724和728中的每一个。
91.图8a图示了不可校正损坏模式804,如根据与存储器区域604相关联的纠错码的分析所确定的。不可校正损坏模式804的特征在于在存储器单元612b和626d两者中存在的错误。
92.图8b图示了与图6中有错的单元格的不同组合相关联的一个潜在损坏模式,其与不可校正的错误模式804相匹配。即,潜在损坏模式716包括相同的单元格612b和616d,它们存在于不可校正损坏模式804中。因为潜在损坏模式716与不可校正的错误模式804相匹配(或更一般地,满足与不可校正的错误模式804的相似性准则),所以存储器区域604满足脆弱性准则。然后系统可以采取补救动作或生成推荐补救动作的通知。
93.6.计算机网络和云网络
94.在一个或多个实施例中,计算机网络提供节点集合之间的连接性。节点可以是在彼此本地的和/或彼此远离。节点通过链路的集合连接。链路的示例包括同轴电缆、非屏蔽双绞线、铜缆、光纤和虚拟链路。
95.节点子集实现计算机网络。这样的节点的示例包括交换机、路由器、防火墙和网络地址转换器(nat)。另一个节点子集使用计算机网络。这样的节点(也称为“主机”)可以执行客户端进程和/或服务器进程。客户端进程做出对计算服务(诸如,特定应用的执行和/或特定量的数据的存储)的请求。服务器进程通过执行所请求的服务和/或返回对应的数据来响应。
96.计算机网络可以是物理网络,包括通过物理链路连接的物理节点。物理节点是任何数字设备。物理节点可以是特定于功能的硬件设备,诸如硬件交换机、硬件路由器、硬件防火墙和硬件nat。附加地或替代地,物理节点可以是被配置为执行各种虚拟机和/或执行相应功能的应用的通用机器。物理链路是连接两个或更多个物理节点的物理介质。链路的示例包括同轴电缆、非屏蔽绞合电缆、铜缆和光纤。
97.计算机网络可以是覆盖网络。覆盖网络是在另一个网络(诸如,物理网络)之上实现的逻辑网络。覆盖网络中的每个节点对应于底层网络中的相应节点。因此,覆盖网络中的每个节点与覆盖地址(寻址到覆盖节点)和底层地址(寻址实现覆盖节点的底层节点)两者相关联。覆盖节点可以是数字设备和/或软件进程(诸如虚拟机、应用实例或线程)。连接覆盖节点的链路被实现为通过底层网络的隧道。隧道任一端处的覆盖节点将它们之间的底层多跳路径视为单个逻辑链路。隧道处理(tunneling)通过封装和解封装来执行。
98.在实施例中,客户端可以位于计算机网络的本地和/或远离计算机网络。客户端可以通过其它计算机网络(诸如专用网络或互联网)访问计算机网络。客户端可以使用通信协议(诸如超文本传输协议(http))将请求传送到计算机网络。通过诸如客户端接口(诸如web浏览器)、程序接口或应用编程接口(api)之类的接口来传送请求。
99.在实施例中,计算机网络提供客户端和网络资源之间的连接。网络资源包括被配置为执行服务器进程的硬件和/或软件。网络资源的示例包括处理器、数据存储装置、虚拟机、容器和/或软件应用。网络资源在多个客户端之间共享。客户端彼此独立地从计算机网络请求计算服务。网络资源按需动态分配给请求和/或客户端。分配给每个请求和/或客户端的网络资源可以基于例如(a)由特定客户端请求的计算服务,(b)由特定租户请求的聚合计算服务和/或(c)计算机网络的所请求的聚合计算服务来扩大或缩小。这种计算机网络可以被称为“云网络”。
100.在实施例中,服务提供商向一个或多个最终用户提供云网络。云网络可以实现各种服务模型,包括但不限于软件即服务(saas)、平台即服务(paas)和基础设施即服务(iaas)。在saas中,服务提供商向最终用户提供使用服务提供商的正在网络资源上执行的应用的能力。在paas中,服务提供商向最终用户提供将定制应用部署到网络资源上的能力。可以使用由服务提供商支持的编程语言、库、服务和工具来创建定制应用。在iaas中,服务提供商向最终用户提供供应由网络资源提供的处理、存储、网络和其它基本计算资源的能力。可以在网络资源上部署任何任意应用,包括操作系统。
101.在实施例中,计算机网络可以实现各种部署模型,包括但不限于私有云、公共云和混合云。在私有云中,网络资源被供应给一个或多个实体的特定组独占使用(如本文所使用的术语“实体”是指企业、组织、个人或其它实体)。网络资源可以在特定实体组的处所本地和/或远离特定实体组的处所。在公共云中,云资源被供应给彼此独立的多个实体(也称为“租户”或“客户”)。计算机网络及其网络资源由与不同租户对应的客户端访问。这样的计算机网络可以被称为“多租户计算机网络”。几个租户可以在不同时间和/或相同时间使用相同的特定网络资源。网络资源可以在租户的处所本地和/或远离租户的处所。在混合云中,计算机网络包括私有云和公共云。私有云和公共云之间的接口允许数据和应用的可移植性。存储在私有云处的数据和存储在公共云处的数据可以通过接口交换。在私有云处实现的应用和在公共云处实现的应用可能具有彼此依赖性。可以通过接口执行从私有云处的应用于公共云处的应用(反之亦然)的调用。
102.在实施例中,多租户计算机网络的租户彼此独立。例如,一个租户的业务或操作可以与另一个租户的业务或操作分离。不同的租户可能对计算机网络具有不同的网络要求。网络要求的示例包括处理速度、数据存储量、安全要求、性能要求、吞吐量要求、时延要求、弹性要求、服务质量(qos)要求、租户隔离和/或一致性。相同计算机网络可能需要实现由不同租户所要求的不同网络要求。
103.在一个或多个实施例中,在多租户计算机网络中,实现租户隔离以确保不同租户的应用和/或数据彼此不共享。可以使用各种租户隔离方法。
104.在实施例中,每个租户与租户id相关联。多租户计算机网络的每个网络资源用租户id标记。仅当租户和特定网络资源与相同租户id相关联时,才允许该租户访问特定网络资源。
105.在实施例中,每个租户与租户id相关联。由计算机网络实现的每个应用用租户id标记。附加地或替代地,由计算机网络存储的每个数据结构和/或数据集用租户id标记。仅当租户和特定应用、数据结构和/或数据集与相同租户id相关联时,才允许租户访问特定应用、数据结构和/或数据集。
106.作为示例,由多租户计算机网络实现的每个数据库可以用租户id标记。只有与对应租户id相关联的租户才可以访问特定数据库的数据。作为另一个示例,由多租户计算机网络实现的数据库中的每个条目可以用租户id标记。只有与对应租户id相关联的租户才可以访问特定条目的数据。但是,数据库可以由多个租户共享。
107.在实施例中,订阅列表指示哪些租户有权访问哪些应用。对于每个应用,存储被授权访问该应用的租户的租户id列表。仅当租户的租户id被包含在与特定应用对应的订阅列表中时,才允许该租户访问特定应用。
108.在实施例中,与不同租户对应的网络资源(诸如数字设备、虚拟机、应用实例和线程)被隔离到由多租户计算机网络维护的特定于租户的覆盖网络。作为示例,来自租户覆盖网络中的任何源设备的数据包可以仅被发送到相同租户覆盖网络内的其它设备。封装隧道用于禁止从租户覆盖网络上的源设备到其它租户覆盖网络中的设备的任何传输。具体而言,从源设备接收的数据包被封装在外部数据包内。外部数据包从第一封装隧道端点(与租户覆盖网络中的源设备通信)发送到第二封装隧道端点(与租户覆盖网络中的目的地设备通信)。第二封装隧道端点对外部数据包进行解封装,以获得由源设备发送的原始数据包。原始数据包从第二封装隧道端点发送到相同特定覆盖网络中的目的地设备。
109.7.其它事项;扩展
110.实施例针对具有一个或多个设备的系统,一个或多个设备包括硬件处理器并且被配置为执行本文描述的和/或以下权利要求中任一项所述的任何操作。
111.在实施例中,非暂态计算机可读存储介质包括指令,当由一个或多个硬件处理器执行时,所述指令使得执行本文描述的和/或权利要求中任一项所述的任何操作。
112.根据一个或多个实施例,可以使用本文描述的特征和功能的任何组合。在前面的说明书中,已经参考因实现而异的许多具体细节描述了实施例。因此,说明书和附图应当被认为是说明性的而不是限制性的。本发明的范围的唯一且排他的指标以及申请人预期作为本发明的范围的内容是从本技术中发出的权利要求集合的字面和等同范围,以这种权利要求发出的具体形式,包括任何后续的更正。
113.8.硬件概述
114.根据一个实施例,本文描述的技术由一个或多个专用计算设备来实现。专用计算设备可以是硬连线的以执行本技术,或者可以包括被永久性地编程以执行本技术的数字电子设备,诸如一个或多个专用集成电路(asic)、现场可编程门阵列(fpga)或网络处理单元(npu),或者可以包括被编程为根据固件、存储器、其它存储装置或组合中的程序指令执行本技术的一个或多个通用硬件处理器。这种专用计算设备还可以将定制的硬连线逻辑、asic、fpga或npu与定制的编程组合来实现本技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备或结合硬连线和/或程序逻辑来实现技术的任何其它设备。
115.例如,图9是图示可以在其上实现本发明的实施例的计算机系统900的框图。计算
机系统900包括总线902或用于传送信息的其它通信机制以及与总线902耦合用于处理信息的硬件处理器904。硬件处理器904可以是例如通用微处理器。
116.计算机系统900还包括耦合到总线902用于存储信息和要由处理器904执行的指令的主存储器906,诸如随机存取存储器(ram)或其它动态存储设备。主存储器906也可以用于存储在要由处理器904执行的指令的执行期间的临时变量或其它中间信息。当这种指令被存储在处理器904可访问的非暂态存储介质中时,这种指令使计算机系统900成为被定制用于执行指令中指定的操作的专用机器。
117.计算机系统900还包括耦合到总线902用于存储静态信息和处理器904的指令的只读存储器(rom)908或其它静态存储设备。诸如磁盘或光盘之类的存储设备910被提供并且被耦合到总线902,以用于存储信息和指令。
118.计算机系统900可以经由总线902耦合到用于向计算机用户显示信息的显示器912,诸如阴极射线管(crt)。包括字母数字键和其它键的输入设备914耦合到总线902,用于将信息和命令选择传送到处理器904。另一种类型的用户输入设备是光标控件916,诸如鼠标、轨迹球或光标方向键,用于向处理器904传送方向信息和命令选择并且用于控制显示器912上的光标移动。这种输入设备典型地具有两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度,以允许设备在平面中指定位置。
119.计算机系统900可以使用定制的硬连线逻辑、一个或多个asic或fpga、固件和/或程序逻辑来实现本文描述的技术,所述定制的硬连线逻辑、一个或多个asic或fpga、固件和/或程序逻辑与计算机系统结合使计算机系统900成为专用机器或将计算机系统900编程为专用机器。根据一个实施例,本文的技术由计算机系统900响应于处理器904执行主存储器906中包含的一条或多条指令的一个或多个序列而执行。这些指令可以从另一个存储介质(诸如存储设备910)读取到主存储器906中。在主存储器906中包含的指令序列的执行使处理器904执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路系统代替软件指令或与软件指令组合使用。
120.如本文使用的术语“存储介质”是指存储有使机器以特定方式操作的数据和/或指令的任何非暂态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备910。易失性介质包括动态存储器,诸如主存储器906。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁性数据存储介质、cd-rom、任何其它光学数据存储介质、具有孔模式的任何物理介质、ram、prom和eprom、flash-eprom、nvram、任何其它存储器芯片或盒式磁带、内容可寻址存储器(cam)和三态内容可寻址存储器(tcam)。
121.存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含有总线902的电线。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些。
122.各种形式的介质可以涉及将一条或多条指令的一个或多个序列携带到处理器904以供执行。例如,指令最初可以在远程计算机的磁盘或固态驱动器上携带。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机系统900本地的调制解调器可以在电话线上接收数据并使用红外线发射器将数据转换为红外线信号。
红外线检测器可以接收红外线信号中携带的数据,并且适当的电路系统可以将数据放置在总线902上。总线902将数据携带到主存储器906,处理器904从主存储器906中检索并执行指令。由主存储器906接收的指令可以可选地在由处理器904执行之前或之后存储在存储设备910上。
123.计算机系统900还包括耦合到总线902的通信接口918。通信接口918提供耦合到网络链路920的双向数据通信,其中网络链路920连接到本地网络922。例如,通信接口918可以是综合业务数字网络(isdn)卡、电缆调制解调器、卫星调制解调器、或向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口918可以是提供到兼容的局域网(lan)的数据通信连接的lan卡。也可以实现无线链路。在任何这种实现中,通信接口918发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
124.网络链路920通常通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路920可以通过本地网络922提供到主计算机924或到由互联网服务提供商(isp)926操作的数据设备的连接。isp 926又通过现在通常称为“互联网”928的全球分组数据通信网络提供数据通信服务。本地网络922和互联网928都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路920上并且通过通信接口918的信号是传输介质的示例形式,这些信号将数字数据携带到计算机系统900或携带来自计算机系统900的数字数据。
125.计算机系统900可以通过(一个或多个)网络、网络链路920和通信接口918发送消息和接收数据,包括程序代码。在互联网示例中,服务器930可以通过互联网928、isp 926、本地网络922和通信接口918传输对于应用程序的所请求代码。
126.接收到的代码可以在它被接收时由处理器904执行,和/或存储在存储设备910或其它非易失性存储装置中以供以后执行。
127.在前述说明书中,已经参考可以随实施方式而变化的众多具体细节描述了本发明的实施例。因而,说明书和附图应被认为是说明性而不是限制性的。本发明范围的唯一和排他性指示,以及申请人意图作为本发明范围的内容,是以发布这种权利要求的具体形式从本技术发布的权利要求集合的字面和等同范围,包括任何后续更正。
技术特征:
1.一种或多种非暂态计算机可读介质,存储指令,指令在由一个或多个硬件处理器执行时使得执行操作,包括:识别存储器单元格的区域中分别与至少一个错误相关联的第一多个一个或多个存储器单元格;生成与所述第一多个一个或多个存储器单元格的子集对应的多个组合作为第一多个潜在损坏模式;识别与和存储器区域的单元格相关联的可校正的错误对应的多个可校正损坏模式;确定所述第一多个潜在损坏模式中的至少一个潜在损坏模式不满足与所述多个可校正损坏模式中的任何一个可校正损坏模式的相似性准则;以及响应于确定操作:确定存储器的区域满足与不可校正的错误模式相关联的数据损坏的脆弱性准则。2.如权利要求1所述的介质,其中操作还包括:识别存储在存储器的区域中的分别与至少一个错误相关联的第二多个一个或多个存储器单元格;生成与所述第二多个一个或多个存储器单元格的子集对应的多个组合作为第二多个潜在损坏模式;连接所述第一多个潜在损坏模式和所述第二多个潜在损坏模式以形成潜在损坏模式的超集;确定潜在损坏模式的超集中的所述多个潜在损坏模式中的至少一个潜在损坏模式不满足与所述多个可校正损坏模式中的任何一个可校正损坏模式的相似性准则;以及响应于确定操作:确定存储器的区域满足与不可校正损坏模式相关联的数据损坏的脆弱性准则。3.如权利要求1所述的介质,还包括建立与所述第一多个一个或多个存储器单元格中的存储器单元格对应的最小错误阈值,其中在超过该最小阈值时,单元格被识别为与至少一个错误相关联的所述第一多个一个或多个存储器单元格中的成员。4.如权利要求1所述的介质,其中所述第一多个一个或多个存储器单元格由以下各项识别:在一时间段内识别出存储器的区域中与相应错误相关联的所述第一多个一个或多个存储器单元格;聚合在该时间段期间识别出的所述第一多个一个或多个存储器单元格中的每个存储器单元格;生成与所述第一多个一个或多个存储器单元格对应的错误向量和错误的指示;以及将错误向量存储在错误向量表中,该错误向量表由与和存储器的区域中的存储器单元格相关联的单元格对应的地址来索引。5.如权利要求4所述的介质,其中操作还包括:识别存储在存储器的区域中的分别与至少一个错误相关联的第二多个一个或多个存储器单元格;生成与所述第二多个一个或多个存储器单元格对应的附加错误向量和错误的指示;连接与所述第一多个一个或多个存储器单元格对应的错误向量和与所述第二多个一
个或多个存储器单元格对应的附加错误向量以形成连接的错误向量;使用连接的错误向量生成潜在损坏模式的超集;确定潜在损坏模式的超集中的所述多个潜在损坏模式中的至少一个潜在损坏模式不满足与所述多个可校正损坏模式中的任何一个可校正损坏模式的相似性准则;以及响应于确定操作:确定存储器的区域满足与不可校正损坏模式相关联的数据损坏的脆弱性准则。6.如权利要求4所述的介质,其中确定至少一个潜在损坏模式不满足相似性准则的操作包括:生成与所述多个可校正损坏模式的模式对应的向量;以及执行将与所述第一多个一个或多个存储器单元格中的存储器单元格对应的错误向量和与所述多个可校正损坏模式对应的向量进行比较的向量比较。7.如权利要求1所述的介质,还包括:将最小错误阈值应用于所述第一多个一个或多个存储器单元格中的存储器单元格;测量所述第一多个一个或多个存储器单元格中的各个存储器单元格的错误的数量;以及其中将所述第一多个一个或多个存储器单元格中的存储器单元格与至少一个错误相关联包括在特定存储器单元格的错误的数量超过最小错误阈值时将该错误与该特定存储器单元格相关联。8.如权利要求7所述的介质,还包括:定义测量时段,在该测量时段期间测量所述第一多个一个或多个存储器单元格中的各个存储器单元格的错误的数量;识别与所述第一多个一个或多个存储器单元格相关联的错误的识别相关联的错误时间;以及在测量时段内定义阈值时间段,在该阈值时间段之后移除与所述第一多个一个或多个存储器单元格相关联的错误。9.一种或多种非暂态计算机可读介质,存储指令,指令在由一个或多个硬件处理器执行时使得执行操作,包括:识别存储器单元格的区域中分别与至少一个错误相关联的第一多个一个或多个存储器单元格;生成与所述第一多个一个或多个存储器单元格的子集对应的多个组合作为第一多个潜在损坏模式;识别与和存储器区域的单元格相关联的不可校正的错误对应的多个不可校正损坏模式;确定所述第一多个潜在损坏模式中的至少一个潜在损坏模式满足与所述多个不可校正损坏模式中的任何一个不可校正损坏模式的相似性准则;以及响应于确定操作:确定存储器的区域满足与不可校正损坏模式相关联的数据损坏的脆弱性标准。10.如权利要求9所述的介质,其中操作还包括:识别存储在存储器的区域中的分别与至少一个错误相关联的第二多个一个或多个存
储器单元格;生成与所述第二多个一个或多个存储器单元格的子集对应的多个组合作为第二多个潜在损坏模式;连接所述第一多个潜在损坏模式和所述第二多个潜在损坏模式以形成潜在损坏模式的超集;确定潜在损坏模式的超集中的所述多个潜在损坏模式中的至少一个潜在损坏模式满足与所述多个不可校正损坏模式中的任何一个不可校正损坏模式的相似性准则;以及响应于确定操作:确定存储器的区域满足与不可校正的错误模式相关联的数据损坏的脆弱性准则。11.如权利要求9所述的介质,还包括建立与所述第一多个一个或多个存储器单元格中的存储器单元格对应的最小错误阈值,其中在超过该最小阈值时,单元格被识别为所述第一多个一个或多个存储器单元格中与至少一个错误相关联的成员。12.如权利要求9所述的介质,其中所述第一多个一个或多个存储器单元格由以下各项识别:在一时间段内识别出存储器的区域中与相应错误相关联的所述第一多个一个或多个存储器单元格;聚合在该时间段期间识别出的所述第一多个一个或多个存储器单元格中的每个存储器单元格;以及生成与所述第一多个一个或多个存储器单元格对应的错误向量和错误的指示;以及将错误向量存储在错误向量表中,该错误向量表由与和存储器的区域中的存储器单元格相关联的单元格对应的地址来索引。13.如权利要求12所述的介质,其中操作还包括:识别存储在存储器的区域中的分别与至少一个错误相关联的第二多个一个或多个存储器单元格;生成与所述第二多个一个或多个存储器单元格对应的附加错误向量和错误的指示;连接与所述第一多个一个或多个存储器单元格对应的错误向量和与所述第二多个一个或多个存储器单元格对应的附加错误向量以形成连接的错误向量;使用连接的错误向量生成潜在损坏模式的超集;确定潜在损坏模式的超集中的所述多个潜在损坏模式中的至少一个潜在损坏模式确实满足与所述多个可校正损坏模式中的任何一个可校正损坏模式的相似性准则;以及响应于确定操作:确定存储器的区域满足与不可校正损坏模式相关联的数据损坏的脆弱性准则。14.如权利要求12所述的介质,其中确定至少一个潜在损坏模式满足相似性准则的操作包括:生成与所述多个不可校正损坏模式的模式对应的向量;以及执行将与所述第一多个一个或多个存储器单元格中的存储器单元格对应的错误向量和与所述多个不可校正损坏模式对应的向量进行比较的向量比较。15.如权利要求9所述的介质,还包括:将最小错误阈值应用于所述第一多个一个或多个存储器单元格中的存储器单元格;
测量所述第一多个一个或多个存储器单元格中的各个存储器单元格的错误的数量;以及其中将所述第一多个一个或多个存储器单元格中的存储器单元格与至少一个错误相关联包括在特定存储器单元格的错误的数量超过最小错误阈值时将该错误与该特定存储器单元格相关联。16.如权利要求15所述的介质,还包括:定义测量时段,在该测量时段期间测量所述第一多个一个或多个存储器单元格中的各个存储器单元格的错误的数量;识别和与所述第一多个一个或多个存储器单元格相关联的错误的识别相关联的错误时间;以及在测量时段内定义阈值时间段,在该阈值时间段之后移除与所述第一多个一个或多个存储器单元格相关联的错误。17.一种系统,包括:至少一个包括硬件处理器的设备;该系统被配置为执行如权利要求1-16中的任一项所述的操作。18.一种系统,包括:用于执行如权利要求1-16中的任一项所述的操作的部件。19.一种方法,包括如权利要求1-16中的任一项所述的操作。
技术总结
描述了用于识别存储器阵列中的存储器单元格的模式的技术,这些模式预示着不可校正的错误(“损坏模式”)。本文描述的技术识别可能生成无法由错误校正码(ECC)校正的错误的单元格错误的模式。不可校正的单元格的识别是通过识别存储偏离对应预期值的位值的单元格错误的模式来完成的。将这些存储器单元格的模式和模式中单元格的各种组合与已知可使用ECC校正的单元格的模式进行比较。如果错误模式或模式中有错单元格的组合中的一种或多种组合与可经由ECC校正的模式不关联,那么该错误模式被识别为预示着可能无法校正的错误。别为预示着可能无法校正的错误。别为预示着可能无法校正的错误。
技术研发人员:B
受保护的技术使用者:甲骨文国际公司
技术研发日:2021.10.18
技术公布日:2023/8/1
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:RTP基板温度一对全部控制算法的制作方法 下一篇:刀片盖的制作方法