CN102541667B - 用散列函数区分存储系统中随机和重复差错的方法和系统 - Google Patents

用散列函数区分存储系统中随机和重复差错的方法和系统 Download PDF

Info

Publication number
CN102541667B
CN102541667B CN201110281146.4A CN201110281146A CN102541667B CN 102541667 B CN102541667 B CN 102541667B CN 201110281146 A CN201110281146 A CN 201110281146A CN 102541667 B CN102541667 B CN 102541667B
Authority
CN
China
Prior art keywords
error
time interval
mistake
single bit
repetition
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.)
Expired - Fee Related
Application number
CN201110281146.4A
Other languages
English (en)
Other versions
CN102541667A (zh
Inventor
S·K·巴哈里
邓夫子
M·C·埃莱斯
J·Q·赫尔南德斯
D·A·劳维
C·L·普林顿
M·L·斯科兰德
I·R·扎帕塔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Global Technologies International Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN102541667A publication Critical patent/CN102541667A/zh
Application granted granted Critical
Publication of CN102541667B publication Critical patent/CN102541667B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/44Indication or identification of errors, e.g. for repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

用散列函数区分存储系统中随机和重复差错的方法和系统。一个实施例提供了一种差错检测方法,其中检测存储模块中的单比特差错并识别为随机差错或重复差错。计数在一个时间间隔内出现的每个识别的随机差错和每个识别的重复差错。响应于在预定时间间隔内识别的随机差错的数目达到随机差错阈值,或者识别的重复差错的数目达到重复差错阈值,产生报警。重复差错阈值被设定成小于随机差错阈值。可对每个检测到的差错的存储地址应用散列处理,从而把存储系统中的差错的位置映射到电子表格中的相应位置。

Description

用散列函数区分存储系统中随机和重复差错的方法和系统
技术领域
本发明一般涉及计算机存储系统,更具体地说,涉及存储系统中的差错检测和预测故障分析。
背景技术
计算机系统存储器包括长期(非易失性)和短期(易失性)存储设备。长期存储设备,比如硬盘驱动器(HDD)即使在断电状态下也能够保持软件和数据。短期存储设备,比如双列直插存储器模块(DIMM,Dual In-Line Memory Module)能够在通电状态下保持指令和数据。软件指令和数据可以无限期地保存在长期存储器中,并根据需要加载到短期存储器上以便由处理器执行。执行指令的结果,比如处理后的数据也可被临时保存在短期存储器中,用于通电计算会话期间的继续访问,或者被保存在长期存储器中,用于后续计算会话中的访问和处理。
在DIMM中会出现差错,所述差错会影响存储系统的性能和可靠性。一种DIMM差错是单比特差错(SBE,Single Bit Error)。极其接近高效开关调节器的随机电源和地噪声是SBE的一个原因。存储系统中越来越严格的定时要求是SBE的另一个作用因素。DIMM还含有越来越大的存储单元密度,这导致每个DIMM的比特差错率(BER)更高。每个计算机系统含有密度不断增大的DIMM,这也会导致相应更高的差错率。
发明内容
本发明的一个实施例提供一种检测存储模块中的单比特差错的方法。每个单比特差错被识别为随机差错或重复差错。计数在一个时间间隔内发生的每个识别的随机差错和每个识别的重复差错。响应于在所述时间间隔内,识别的随机差错的数目达到随机差错阈值,或者识别的重复差错的数目达到重复差错阈值,产生报警。重复差错阈值小于随机差错阈值。
本发明的另一个实施例提供一种存储系统。存储控制器包括用于检测存储模块中的单比特差错的差错检测控制逻辑。包括计数在一个时间间隔内发生的随机差错的随机差错计数器。包括计数在所述时间间隔内发生的重复差错的重复差错计数器。提供比较随机差错计数器与随机差错阈值以及比较重复差错计数器与重复差错阈值的阈值比较器。重复差错阈值小于随机差错阈值。报警发生器被配置成响应于在所述时间间隔内,随机差错计数器达到随机差错阈值,或者重复差错计数器达到重复差错阈值,产生报警。
附图说明
图1是按照本发明的一个实施例,对其实现预测故障分析(PFA,predictive failure analysis)的计算机存储系统的示意图。
图2是一般概述可在存储系统中进行的PFA处理的流程图。
具体实施方式
本发明的实施例包括在存储系统中进行预测故障分析(PFA)的系统和方法。每个单比特差错(SBE)现在可被识别为随机差错或者重复差错,随机差错是被确定在预定时间间隔内在特定存储地址或存储地址块出现不超过一次的差错,重复差错是被确定在所述预定时间间隔内在特定存储地址或特定块出现多于一次的差错。随后可以对照不同阈值来比较在预定时间间隔内出现的随机差错和重复差错的数目,以便生成PFA报警。更特别地,与被识别为重复差错的SBE相比,可对被识别为随机差错的SBE设定更高的阈值,因为与重复差错相比,随机差错明显不太可能影响存储器性能。随机差错还不太可能扩展成无法校正的差错,所述无法校正的差错的出现对存储系统的运行的破坏性极大。因此,按照这种方式区分随机差错和重复差错将使得可以识别DIMM中的更严重的重复差错,同时避免当DIMM仅经历比率可接受的随机差错时,不必要地或者过早地把DIMM标记成坏的DIMM。
在下面讨论的一个实施例中,使用散列处理来减少跟踪系统存储器中重复发生差错的每个位置所需的存储器的量和计算循环的数目。可对识别出SBE的存储地址应用散列处理,以确定将记录SBE的表格位置。存储地址可被分组成多个块,其中当应用散列函数时,给定块中的每个存储地址产生相同的散列和。随后,可以使用小至1比特签名的相应差错状态字段来跟踪在所述存储地址或存储地址块是否产生了第一个或后续差错。整个系统所需的计数器少至两个,一个计数器用于跟踪被识别为随机差错的SBE的总数,而另一个计数器用于跟踪在存储系统中被识别为重复差错的SBE的总数。可独立地调整诸如随机差错阈值、重复差错阈值、时间间隔、散列表格的大小、每个存储地址块的大小、以及每个差错状态字段的大小的参数,以按需调整存储系统。
图1是按照本发明的一个实施例,对其实现预测故障分析(PFA)的计算机存储系统10的示意图。存储系统10可被设置在机架式计算机系统的刀片服务器上。存储系统10包括主存储器12,主存储器12具有一个或多个双列直插存储器模块(DIMM),比如可设置在刀片服务器的系统板上的DIMM。存储控制器20包含相对于主存储器12读取和写入数据的读/写控制逻辑22、识别和校正DIMM差错的差错检测控制逻辑23。包含在主存储器12的DIMM内的DRAM(动态随机存取存储器)芯片可包括专用于差错校正的存储比特(未示出)。存储控制器20可以使用这些差错检测比特来记录奇偶性,或者使用纠错码(ECC)来检测所有的单比特差错。差错检测控制逻辑可包括SEDDED(“单差错检测,双差错检测”)码以检测和校正单比特差错,并利用额外的奇偶校验比特来可选地检测双比特差错。
主存储器12可包含成千上万个或者数百万个保存数据的离散存储单元。主存储器12被分成多个块14,每个块14只包含存在于主存储器12中的所有存储单元的子集。每个存储单元具有唯一的存储地址,使得每个块14包含存在于主存储器12中的所有唯一存储地址的子集。附图标记16表示存储单元的一个例子,所述存储单元具有例证的存储地址“afbf0018”。像这样的8字符地址可利用一个存储字节来表示。通过参照对应的存储地址,包含在存储系统10内的存储控制器20可以读写特定的存储单元。每个块一般是存储地址的物理分组。为了便于讨论,块14被图示成正方形或矩形块14的组阵,图中用行字母(A,B,C等)和列数字(1,2,3等)来识别每个块。然而,块14不必具有所示的特定物理分组。
每个块14可包括任意数目的存储单元,每个存储单元具有唯一的存储地址。图1提供了其中主存储器12具有相应的1024k个存储地址处的总共1024×10^3(即,1024k)个存储单元的例子。主存储器12中的1024k个存储单元可被划分成1000个块14,使得每个块14具有1024个存储单元。以每个块14少至1个存储单元的方式(即,以每个块14代表主存储器12中的一个地址的方式)来构成主存储器12也在本发明的范围内。然而,跟踪每个存储地址处的SBE的发生是极其存储器密集和CPU密集的。如下所述,在本实施例中,把多个存储地址组成每个块14使得可以更高效地进行PFA。
提供电子表格40,以便跟踪在主存储器12中检测到的单比特差错(SBE)。表格40可以是系统的存储控制器20可读写的主存储器12的子集。专用系统代码可包含在主存储器20内,以访问表格40和执行PFA功能。另一方面,可以包括在主存储器12之外的硬件和软件部件,以执行这些功能。主存储器12的每个块14中的存储单元按照其存储地址被映射到电子表格40中的对应位置。在本实施例中,表格40包括与每个存储地址块相对应的独立记录,使得特定地址块内的每个地址被映射到表格40中的相同位置。具体地说,每个地址块连同包含在该地址块内的存储地址被映射到表格40的一行,其中每一行包含一项不同的记录。例如,地址块A1和包含在地址块A1内的1024个存储地址中的每个存储地址被映射到表格40的相应第一行41,地址块A2及其1024个地址被映射到表格40的相应第二行42,等等。第一列(块列表列)43列出主存储器12中的块14。表格的第二列(差错跟踪列)44用于以1比特签名45的形式来记录SBE的发生。
每个地址块的存储地址可以多种方式映射到表格40。在本实施例中,通过对存储地址应用散列函数24,存储地址被有效地映射到表格40。选择散列函数24,使得当应用散列函数24时,给定块14中的每个存储地址产生相同的散列和。散列函数24向每个块14提供逻辑分组,其中,当应用散列函数24时,特定块14中的每个存储地址具有相同的散列值。在图解说明的例子中,散列函数具有1024∶1的散列缩小率。当应用散列函数24时,块A1中的1024个存储地址中的每个存储地址产生相同的散列和。块A2中的1024个存储地址中的每个存储地址产生与关于块A1的1024个地址计算的散列和不同的另一个散列和,等等。因此,表格40包括1000行,每个块14一行。当在主存储器12中的特定存储单元检测到差错时,对该存储单元的存储地址应用散列函数24,以确定表格40的哪一行把该差错记录在差错跟踪列44中。
在一个实施例中,通过识别SBE并跟踪SBE的位置,以把SBE识别为随机差错或重复差错,可对主存储器12进行PFA。对本公开来说,在规定的时间间隔内,在任意特定地址或地址块出现不多于一次的差错可被看作随机差错。在特定地址或地址块出现多于一次的差错可被看作重复差错。在另一个实施例中,只有在特定地址重复发生的那些差错才可被看作重复差错,以及差错在存储地址块内的意外过高重现可用作该地址块内的特定存储地址处的可能重复差错的指示符。跟踪主存储器12中的每个存储地址处的SBE,以明确确定特定存储地址是否经历重复差错在本发明的范围之内。然而,通过把存储地址组成多个块14,可在块层面跟踪差错的发生,而不是在单个存储地址的层面跟踪差错的发生,从而提供一种更高效的跟踪SBE并把SBE分类成随机差错或重复差错的方式。通过把每个单个存储地址看作一个独立的块,可提供在区分随机差错和重复差错方面最高的分辨率水平。然而,跟踪每个存储地址处的差错率是极其内存密集和CPU密集的。通过改为把存储地址组成多个块14并在块层面监测SBE的发生和重现,可获得具有可接受的分辨率水平的更高效率。
在本实施例中,设置第一计数器(随机差错计数器)26,以计数被识别为随机差错的每个SBE。设置第二计数器(重复差错计数器)28,以计数被识别为重复差错的每个SBE。定时器功能30被用于定时具有预定持续时间的连续时间间隔。在每个时间间隔的开始,通过把差错跟踪列44中的所有签名比特45重置为0来初始化表格40。在每个连续时间间隔内,检测SBE,并按照出现每个SBE的地址块14,把SBE记录在表格40的差错跟踪列44中。通过利用差错跟踪列44,出现在任意给定块中的第一个差错可被看作随机差错,以及在特定时间间隔内该块中的任何重现差错被看作重复差错(在这种方案的变形中,不是把第一个差错看作随机差错,而是在每个预定时间间隔的结束,确定差错是随机差错还是重复差错。在所述时间间隔内在给定块中出现一个并且仅一个差错可被看作随机差错,而在给定块中出现多于一个的差错可被看作重复差错)。在相应的计数器26、28上计数随机差错和重复差错。阈值比较器32比较随机差错计数器26和第一阈值(随机差错阈值)27,以及比较重复差错计数器28和第二阈值(重复差错阈值)29。报警发生器34被配置成如果在任意预定时间间隔内,识别的随机差错的数目达到随机差错阈值27,或者识别的重复差错的数目达到重复差错阈值29,则生成PFA报警。
报警发生器34可用于触发补救动作,比如把DIMM标记成坏的DIMM,并自动使该DIMM下线。响应于PFA报警可采取的备选动作或其它动作可包括例如在DIMM故障日志50中记录被怀疑故障的DIMM的位置,以有助于该DIMM的后续修复动作。在另一个动作中,也可响应于PFA报警而开启与问题DIMM相邻的LED或其它视觉指示器。此外,响应于PFA报警,风扇控制器52可加强冷却,例如降低可能成为DIMM故障原因之一的高温。还可包括存储器节流控制逻辑53,以响应于PFA报警而降低DIMM性能。差错检测控制逻辑23还可开始更频繁的扫描以检测和校正差错,比如通过使用存储器擦洗。
重复差错阈值29最好被设定成小于随机差错阈值27。设定明显低于随机差错阈值的重复差错阈值可提供对随机差错的容限大于对重复差错的容限的PFA。附图中给出一个例子,其中随机差错阈值27被设定成1000,而重复差错阈值29仅仅被设定成10。在这个例子中,随机差错阈值27从而是重复差错阈值29的大小的10倍。随机差错阈值27和重复差错阈值29以及(上面讨论的)散列缩小率可以是由作过说明的存储器性能要求或者可靠性、可用性和可维修性(RAS)要求决定的存储器的量的函数。
在本实施例中,设置在每一行(记录)的差错跟踪列44中的签名比特45是1比特签名。1比特是存储器的最小可用单元,它可具有两个互斥的二进制值之一,比如“0”或“1”。1比特签名的使用令人满意地把指示差错状态所需的存储量降到最小,同时提供关于特定块的差错状态的有限信息量。当差错检测控制逻辑23检测到SBE时,对SBE的存储地址应用散列函数,以确定表格40的哪一行记录该SBE。如果该行中的签名比特45目前为“0”,那么把该签名比特从“0”转换为“1”以记录该差错,并递增随机差错计数器26。如果在相同时间间隔内,在同一个块14内发生后续SBE,那么存储控制器20根据签名比特45的“1”值,确定在该块中先前已出现过至少一个差错,从而递增重复差错计数器28。签名比特在所述时间间隔的持续时间内保持值1,使得对于在所述特定时间间隔内在同一个块出现的每个SBE,重复差错计数器28都将被递增。同时,在所述时间间隔内,在其它块14只出现一次的SBE将被随机差错计数器26计数成随机差错。在该具体实施例中,计数被识别为随机差错的SBE的总数和被识别为重复差错的SBE的总数,而不详细说明在每个块出现了多少重复差错。
在图1的实施例中,每个块14可具有许多存储地址(例如,本例中,每个块具有1024个地址),然而,签名比特45只包括一个比特。从而,差错跟踪列44中的签名比特45的值只指示在当前时间间隔内,先前在给定块14中是否发生了SBE,而不详细说明先前发生SBE的具体存储地址。然而,每个块14处的重复差错的计数仍然提供了对PFA有用的信息,因为给定块内的坏的存储地址或坏的一组存储地址会导致该块中的不相称的较大差错计数。可以选择重复差错阈值29的值,以指示在期望水平的确定性内,在该块内存在有缺陷的存储地址。
差错跟踪列44中的每个字段的大小是可为调整对存储系统10的PFA处理的性能而选择的一个参数。可以使差错跟踪列44中的每个字段的大小从所示的1比特签名增大到多比特字段,以便于记录更多的具体信息。例如,如果使差错跟踪列44中的每个字段的大小从单个比特增大到完整的一个存储字节,那么差错跟踪列44中的每个字段可被用于计数在每个块14发生的差错的数目,而不仅仅是计数在存储系统10中发生的差错的总数。计数每个块14处的差错的数目将提供用于分析在主存储器12中发生的SBE的附加信息。可以产生报警,以指示具有不相称的较大数目重复差错的块。例如,如果在一个时间间隔内,在存储系统12中出现总共10个重复差错,那么在一个块中出现10个重复差错可指示与10个不同块的每个块处1个重复差错相比更严重的问题。另一个阈值可被用于响应于特定块中的重复SBE的数目而触发报警。
归入每个块14中的存储地址的数目是可为调整对存储系统10的PFA处理的性能而选择的另一个参数。增大每个块14的存储地址的数目会减小表格40的大小,以及增大存储系统10中的PFA处理的速度。相反,减小每个块14的存储地址的数目会增大表格大小,但更好地区分随机差错和重复差错。在一个极端,把每个块14的大小减小到单个存储地址实际上使存储系统10能够识别在任意特定存储地址出现的重复差错。然而,由于需要差错跟踪列44中的字段与主存储器12中的唯一存储地址的数目一样多,因此这样做会增大表格40的大小。可按照多少存储地址被归入每个块14中,来获得效率和分辨率的理想平衡。
随机差错阈值27和重复差错阈值29是可为调整对存储系统10的PFA处理的性能而选择的另外两个参数。每个阈值27、29越大,PFA处理对相应差错类型的容限越高。然而,由于随机差错被认为不太可能在存储系统10中导致任意种类的灾难性故障,因此随机差错阈值27可被设定成是重复差错阈值29的许多倍。
定时器功能30所测量的时间间隔是可为调整对存储系统10的PFA处理的性能而选择的另一个参数。例如,较长的时间间隔可以给出在存储系统10的各个块中出现差错的任何趋势的更全面指示。然而,可以选择较短的时间间隔,使得系统10更快地对差错做出反应以及产生被证明具有充分依据的任何PFA报警。
此外,字段大小、块大小、随机差错阈值27和重复差错阈值29、以及时间间隔等参数相互影响,从而可以相互协同地进行调整,以实现所需调节。例如,如果块大小被减小到每个块包括较少的存储地址,那么系统10将能够更好地区分随机差错和重复差错。从而,重复差错阈值29可随同块大小的减小一起被减小,因为在大小减小的块中计数的重复差错的数目更可能出自单个存储地址或者较小的一组存储地址。同样地,如果选择较长的时间间隔,那么可以选择随机差错阈值27和重复差错阈值29的对应更大的值。
选择图1的例子,以便易于利用数目便利的1000个存储块进行讨论。在另一个更实际的例子中,4.29千兆字节(GB)DIMM可被分成16384个块,每个块包含262144(4.29GB/16384)个字节。利用1比特/块算法跟踪16384个块将只需要2048(16384/8)字节表格。这会产生2097152(4.29GB/2048字节)∶1的散列比。这是一个相当大的散列比,产生可以非常高效地管理的对应较小表格。对于区分随机差错和重复差错来说,本例中的所述较大散列比的效率应是绰绰有余的。
图2是概述在存储系统,包括(但不限于)图1的存储系统10中执行的PFA处理的流程图。步骤100涉及启动或重置定时器和表格。所述表格是电子表格,其例子是图1的表格40。表格包括用于每个存储地址块的差错跟踪字段,以跟踪在所述存储地址块识别的SBE。每次重复步骤100时,表格中的差错跟踪字段都被重置为0或空值。定时器将被用于定时在其间识别和计数SBE的连续时间间隔。每次重复步骤100时,定时器一开始也被设定为0。
在步骤102中,监测存储系统的一个或多个DIMM的差错,包括单比特差错(SBE)。条件步骤104对SBE的检测作出反应,而条件步骤106对当前时间间隔是否到期作出反应。在步骤102、104和106,在所述时间间隔的持续时间不断监测DIMM的SBE。如果在当前时间间隔内的任意时间在步骤104检测到SBE,那么处理进入步骤106,在步骤106,对识别出SBE的存储地址应用散列函数,以确定表格中记录该SBE的位置。例如,可以选择散列函数,以便当把该散列函数应用于给定块中的任意存储地址时,产生相同的散列和。表格位置可以是用于该块的特定行。
在条件步骤108中,可以参照与该块相对应的行或其它表格位置内的字段来确定在当前时间间隔内,先前在该表格位置是否记录了任意SBE。如果在当前时间间隔内,先前在该表格位置记录了一个或多个SBE,那么在步骤110,递增重复差错计数器。如果对于整个存储系统只使用一个重复差错计数器,那么重复差错计数器可以通用于该存储系统,或者如果对每个块提供独立的计数器,那么重复差错计数器可专用于该块。然而如果在步骤108中,先前未在该表格位置记录SBE,那么在步骤112可改为递增随机差错计数器。随机差错计数器通用于整个存储系统。
随后可比较SBE与相关阈值。如果在步骤108,SBE被识别为随机差错,从而在步骤112使随机差错计数器递增,那么按照条件步骤114,比较随机差错计数器与随机差错阈值(阈值1)。如果在步骤108,SBE改为被识别为重复差错,从而在步骤110使重复差错计数器递增,那么按照条件步骤116,比较重复差错与重复差错阈值(阈值2)。如果在步骤114随机差错计数器达到随机差错阈值,或者在步骤116重复差错计数器达到重复差错阈值,那么在步骤118产生报警。
如果两个阈值都未被超过,那么处理返回条件步骤106,以确定当前时间间隔是否已到期。如果所述时间间隔还未到期,那么处理继续监测一个或多个DIMM(步骤102)、识别SBE的发生(步骤104)、记录任何重复差错(步骤110)或随机差错(步骤112)、比较SBE计数器与相应阈值(步骤114和116)。一旦在步骤106检测到当前时间间隔到期,那么处理返回步骤100,在步骤100,如上所述重置定时器和表格。
本领域的技术人员会理解,本发明的各个方面可被具体体现成系统、方法或计算机程序产品。因而,本发明的各个方面可以采取纯硬件实施例、纯软件实施例(包括固件、驻留软件、微代码等),或者结合这里通常可被称为“电路”、“模块”或“系统”的软件和硬件特征的实施例的形式。此外,本发明的各个方面可以采取包含在一个或多个计算机可读介质中的计算机程序产品的形式,所述一个或多个计算机可读介质具有包含于其中的计算机可读程序代码。
可以使用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如(但不限于)电、磁、光、电磁、红外或半导体系统、设备或装置,或者它们的任意适当组合。计算机可读存储介质的更具体的例子(非穷举列表)可包括:具有一根或多根导线的电连接,可移植计算机磁盘,硬盘,随机存取存储器(RAM),只读存储器(ROM),可擦可编程只读存储器(EPROM或闪速存储器),光纤,可移植光盘只读存储器(CD-ROM),光存储装置,磁存储装置,或者上述存储介质的任意适当组合。在本文的上下文中,计算机可读存储介质可以是能够包含或者保存供指令执行系统、设备或装置使用的,或者结合指令执行系统、设备或装置使用的程序的任何有形介质。
计算机可读信号介质可包括计算机可读程序代码包含在其中,例如,包含在基带中,或者体现为载波的一部分的传播数据信号。这种传播信号可以采取任意各种形式,包括(但不限于)电磁、光或者它们的任意适当组合。计算机可读信号介质可以是不是计算机可读存储介质,并且能够传递、传播或传送供指令执行系统、设备或装置使用的,或者结合指令执行系统、设备或装置使用的程序的任何计算机可读介质。
包含在计算机可读介质上的程序代码可利用任何适当的媒体传送,包括(但不限于)无线媒体、有线媒体、光纤电缆、RF等,或者它们的任意适当组合。
可用一种或多种编程语言,包括诸如Java、Smalltalk、C++之类的面向对象的编程语言,和诸如“C”编程语言或类似编程语言之类的常规过程编程语言的任意组合,编写执行本发明的各个方面的操作的计算机程序代码。程序代码可完全在用户的计算机上运行,部分在用户的计算机上运行,作为独立的软件包,部分在用户的计算机上运行并且部分在远程计算机上运行,或者完全在远程计算机或服务器上运行。在后一情况下,远程计算机可通过任意类型的网络,包括局域网(LAN)或广域网(WAN),连接到用户的计算机,或者可实现与外部计算机的连接(例如,利用因特网服务提供商,经因特网实现与外部计算机的连接)。
下面参考按照本发明的各个实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图,说明本发明的各个方面。要明白流程图和/或方框图的每个方框,以及流程图和/或方框图中的各个方框的组合可用计算机程序指令实现。这些计算机程序指令可被提供给通用计算机,专用计算机或者其它可编程的数据处理设备的处理器,从而产生机器,以致借助计算机或其它可编程数据处理设备的处理器执行的指令产生实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的装置。
这些计算机程序指令也可被保存在计算机可读介质中,所述计算机可读介质能够指令计算机、其它可编程数据处理设备或者其它装置按特定方式运行,以致保存在计算机可读介质中的指令产生制成品,所述制成品包括实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的指令。
计算机程序指令也可被加载到计算机,其它可编程数据处理设备或其它装置上,使得在计算机,其它可编程数据处理设备或其它装置上执行一系列的操作步骤,从而产生计算机实现的处理,以致在计算机或其它可编程设备上执行的指令提供实现在流程图和/或方框图的一个或多个方框中指定的功能/动作的处理。
附图中的流程图和方框图图解说明按照本发明的各个实施例的系统、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这方面,流程图或方框图中的每个方框可代表包含实现指定的逻辑功能的一个或多个可执行指令的模块、程序段或一部分代码。另外应注意,在一些备选实现中,在方框中表示的功能可不按照附图中所示的顺序发生。例如,接连表示的两个方框事实上可以基本同时地执行,或者各个块有时可按照相反的顺序执行,取决于所涉及的功能。另外应注意方框图和/或流程图的每个方框,以及方框图和/或流程图中的各个方框的组合可用实现指定功能或动作的基于硬件的专用系统,或者专用硬件和计算机指令的组合实现。
这里使用的术语只是用于说明具体的实施例,并不意图限制本发明。这里使用的单数形式意图还包括复数形式,除非上下文明确地另有所示。另外要明白当用在本说明书中时,术语“包含”指定指定所陈述的特征、整数、步骤、操作、部件、组件和/或组的存在,然而并不排除一个或多个其它特征、整数、步骤、操作、部件、组件和/或组的存在或增加。术语“最好”、“优选”、“宁可”、“视情况”、“可以”和类似术语用于指示所涉及的某一项目、条件或步骤是本发明的可选(非必需)特征。
下面的权利要求中的所有装置或步骤加功能部件的对应结构、材料、动作和等同物意图包括与明确要求保护的其它部件结合地实现功能的任意结构、材料或动作。提供本发明的说明是出于举例说明的目的,而不是穷举的,或者意图把本发明局限于所公开的形式。对本领域的普通技术人员来说,许多修改和变化是显而易见的,而不脱离本发明的精神和范围。选择并说明实施例是为了更好地解释本发明的原理和实际应用,以及使本领域的其他普通技术人员能够关于具有适合于预期的特定应用的各种修改的各个实施例,理解本发明。

Claims (15)

1.一种检测差错的方法,包括:
检测存储模块中的单比特差错;
把每个单比特差错识别为随机差错或重复差错;
计数在一个时间间隔内发生的每个识别的随机差错和每个识别的重复差错;以及
响应于在所述时间间隔内识别的随机差错的数目达到随机差错阈值或者识别的重复差错的数目达到重复差错阈值,产生报警,其中,所述重复差错阈值小于所述随机差错阈值。
2.按照权利要求1所述的方法,进一步包括:
把在所述时间间隔内单比特差错在存储地址的子集中的每个第一次出现识别为随机差错,其中,随机差错是被确定在预定时间间隔内在特定存储地址或存储地址块出现不超过一次的差错;以及
把在同一个时间间隔内单比特差错在存储地址的所述子集中的每个后续出现识别为重复差错,其中,重复差错是被确定在所述预定时间间隔内在特定存储地址或特定块出现多于一次的差错。
3.按照权利要求1所述的方法,进一步包括:
把在所述时间间隔内在存储地址的块中出现一个且仅仅一个单比特差错识别为随机差错;以及
把在所述时间间隔内在所述存储地址的块中出现多于一个的单比特差错识别为重复差错。
4.按照权利要求1所述的方法,进一步包括:
把每个检测到的单比特差错的存储地址映射到电子表格中的相应位置;
把在所述时间间隔内被映射到电子表格中的一个位置的单比特差错的第一次出现识别为随机差错;以及
把在所述时间间隔内被映射到电子表格中的所述位置的单比特差错的重复出现识别为重复差错。
5.按照权利要求4所述的方法,进一步包括:
对每个检测到的单比特差错的存储地址应用散列函数,以获得电子表格中的相应位置。
6.按照权利要求5所述的方法,其中,所述散列函数把多于一个的存储地址映射到电子表格中的每个位置。
7.按照权利要求4所述的方法,进一步包括:
响应于在所述时间间隔内,已被映射到电子表格的所述位置的检测到的单比特差错的每个第一次出现,递增随机差错的计数;以及
响应于在所述时间间隔内,已被映射到电子表格的所述位置的检测到的单比特差错的后续出现,递增重复差错的计数。
8.按照权利要求1所述的方法,进一步包括:
响应于在所述时间间隔内单比特差错在存储地址的块的第一次出现,把与所述存储地址的块唯一关联的签名比特从第一二进制值转换成第二二进制值;
响应于签名比特从第一二进制值被转换成第二二进制值,递增随机差错的计数;以及
响应于在同一个时间间隔内所述存储地址的块处的后续单比特差错,根据签名比特的第二二进制值,确定先前在所述存储地址的块中已出现至少一个差错,并递增重复差错的计数。
9.按照权利要求1所述的方法,进一步包括:
分别计数在多个块中的每个块出现的单比特差错的数目,每个块包括一个或多个存储地址;
响应于在所述时间间隔内每个块具有一个且仅仅一个单比特差错,递增随机差错的计数;以及
响应于在所述时间间隔内每个块具有多于一个的单比特差错,递增重复差错的计数。
10.一种检测差错的存储系统,包括:
存储控制器,包括用于检测存储模块中的单比特差错的差错检测控制逻辑;
随机差错计数器,用于计数在一个时间间隔内出现的随机差错;
重复差错计数器,用于计数在所述时间间隔内出现的重复差错;
阈值比较器,用于比较随机差错计数器和随机差错阈值以及比较重复差错计数器和重复差错阈值,其中,所述重复差错阈值小于所述随机差错阈值;以及
报警发生器,被配置成响应于在所述时间间隔内随机差错计数器达到随机差错阈值或者重复差错计数器达到重复差错阈值,产生报警。
11.按照权利要求10所述的存储系统,进一步包括:
能够由存储控制器写入的电子表格,所述存储控制器被配置成把每个检测到的单比特差错的存储地址映射到所述电子表格中的相应位置;
把在所述时间间隔内,映射到电子表格中的一个位置的单比特差错的第一次出现识别为随机差错的控制逻辑;以及
把在所述时间间隔内,映射到电子表格中的所述位置的单比特差错的重复出现识别为重复差错的控制逻辑。
12.按照权利要求11所述的存储系统,进一步包括:
对每个检测到的单比特差错的存储地址应用散列函数,以获得电子表格中的相应位置的控制逻辑。
13.按照权利要求12所述的存储系统,其中,所述散列函数具有电子表格中的每个位置多于一个的存储地址的缩小率。
14.按照权利要求11所述的存储系统,进一步包括:
响应于在所述时间间隔内,已被映射到电子表格的所述位置的检测到的单比特差错的每个第一次出现,递增随机差错计数器的控制逻辑,其中,随机差错是被确定在预定时间间隔内在特定存储地址或存储地址块出现不超过一次的差错;以及
响应于在所述时间间隔内,已被映射到电子表格的所述位置的检测到的单比特差错的后续出现,递增重复差错计数器的控制逻辑,其中,重复差错是被确定在所述预定时间间隔内在特定存储地址或特定块出现多于一次的差错。
15.按照权利要求11所述的存储系统,进一步包括:
与电子表格中的每个位置唯一关联的比特;
响应于在所述时间间隔内,已被映射到电子表格的关联位置的检测到的单比特差错的每次出现,在第一二进制值和第二二进制值之间转换每个比特的控制逻辑;
响应于所述比特从第一二进制值被转换成第二二进制值,递增随机差错计数器的控制逻辑;以及
响应于所述比特从第二二进制值被转换回第一二进制值,递增重复差错计数器的控制逻辑。
CN201110281146.4A 2010-09-21 2011-09-21 用散列函数区分存储系统中随机和重复差错的方法和系统 Expired - Fee Related CN102541667B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/887,184 2010-09-21
US12/887,184 US8347154B2 (en) 2010-09-21 2010-09-21 Use of hashing function to distinguish random and repeat errors in a memory system

Publications (2)

Publication Number Publication Date
CN102541667A CN102541667A (zh) 2012-07-04
CN102541667B true CN102541667B (zh) 2014-12-10

Family

ID=45818835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110281146.4A Expired - Fee Related CN102541667B (zh) 2010-09-21 2011-09-21 用散列函数区分存储系统中随机和重复差错的方法和系统

Country Status (2)

Country Link
US (1) US8347154B2 (zh)
CN (1) CN102541667B (zh)

Families Citing this family (154)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150143186A1 (en) * 2012-07-27 2015-05-21 Hewlett-Packard Developement Company Systems and methods for detecting a dimm seating error
US8812935B2 (en) * 2012-08-02 2014-08-19 Oracle International Corporation Using a data ECC to detect address corruption
US9152502B2 (en) * 2012-12-21 2015-10-06 Microsoft Technology Licensing, Llc Data error detection and correction using hash values
US9158667B2 (en) 2013-03-04 2015-10-13 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
EP3022653B1 (en) * 2013-07-18 2020-12-02 NXP USA, Inc. Fault detection apparatus and method
US8964496B2 (en) 2013-07-26 2015-02-24 Micron Technology, Inc. Apparatuses and methods for performing compare operations using sensing circuitry
US8971124B1 (en) 2013-08-08 2015-03-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9715424B1 (en) * 2013-08-23 2017-07-25 Rambus Inc. Memory device and repair method with column-based error code tracking
US9153305B2 (en) 2013-08-30 2015-10-06 Micron Technology, Inc. Independently addressable memory array address spaces
US9019785B2 (en) 2013-09-19 2015-04-28 Micron Technology, Inc. Data shifting via a number of isolation devices
US9449675B2 (en) 2013-10-31 2016-09-20 Micron Technology, Inc. Apparatuses and methods for identifying an extremum value stored in an array of memory cells
US9372750B2 (en) 2013-11-01 2016-06-21 Qualcomm Incorporated Method and apparatus for non-volatile RAM error re-mapping
US9430191B2 (en) 2013-11-08 2016-08-30 Micron Technology, Inc. Division operations for memory
US9378081B2 (en) 2014-01-02 2016-06-28 Qualcomm Incorporated Bit remapping system
US9411694B2 (en) * 2014-02-12 2016-08-09 Micron Technology, Inc. Correcting recurring errors in memory
US9934856B2 (en) 2014-03-31 2018-04-03 Micron Technology, Inc. Apparatuses and methods for comparing data patterns in memory
US9455020B2 (en) 2014-06-05 2016-09-27 Micron Technology, Inc. Apparatuses and methods for performing an exclusive or operation using sensing circuitry
US9711206B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9910787B2 (en) 2014-06-05 2018-03-06 Micron Technology, Inc. Virtual address table
US9786335B2 (en) 2014-06-05 2017-10-10 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US9711207B2 (en) 2014-06-05 2017-07-18 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9449674B2 (en) 2014-06-05 2016-09-20 Micron Technology, Inc. Performing logical operations using sensing circuitry
US9704540B2 (en) 2014-06-05 2017-07-11 Micron Technology, Inc. Apparatuses and methods for parity determination using sensing circuitry
US10074407B2 (en) 2014-06-05 2018-09-11 Micron Technology, Inc. Apparatuses and methods for performing invert operations using sensing circuitry
US9496023B2 (en) 2014-06-05 2016-11-15 Micron Technology, Inc. Comparison operations on logical representations of values in memory
US9830999B2 (en) 2014-06-05 2017-11-28 Micron Technology, Inc. Comparison operations in memory
US9779019B2 (en) 2014-06-05 2017-10-03 Micron Technology, Inc. Data storage layout
US9847110B2 (en) 2014-09-03 2017-12-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in multiple columns of an array corresponding to digits of a vector
US9898252B2 (en) 2014-09-03 2018-02-20 Micron Technology, Inc. Multiplication operations in memory
US9589602B2 (en) 2014-09-03 2017-03-07 Micron Technology, Inc. Comparison operations in memory
US9740607B2 (en) 2014-09-03 2017-08-22 Micron Technology, Inc. Swap operations in memory
US9747961B2 (en) 2014-09-03 2017-08-29 Micron Technology, Inc. Division operations in memory
US9904515B2 (en) 2014-09-03 2018-02-27 Micron Technology, Inc. Multiplication operations in memory
US10068652B2 (en) 2014-09-03 2018-09-04 Micron Technology, Inc. Apparatuses and methods for determining population count
US9836218B2 (en) 2014-10-03 2017-12-05 Micron Technology, Inc. Computing reduction and prefix sum operations in memory
US9940026B2 (en) 2014-10-03 2018-04-10 Micron Technology, Inc. Multidimensional contiguous memory allocation
US10163467B2 (en) 2014-10-16 2018-12-25 Micron Technology, Inc. Multiple endianness compatibility
US10147480B2 (en) 2014-10-24 2018-12-04 Micron Technology, Inc. Sort operation in memory
US9779784B2 (en) 2014-10-29 2017-10-03 Micron Technology, Inc. Apparatuses and methods for performing logical operations using sensing circuitry
US10073635B2 (en) 2014-12-01 2018-09-11 Micron Technology, Inc. Multiple endianness compatibility
US20160155514A1 (en) * 2014-12-01 2016-06-02 Kingtiger Technology (Canada) Inc. System and method of testing and identifying memory devices
US9747960B2 (en) 2014-12-01 2017-08-29 Micron Technology, Inc. Apparatuses and methods for converting a mask to an index
US10061590B2 (en) 2015-01-07 2018-08-28 Micron Technology, Inc. Generating and executing a control flow
US10032493B2 (en) 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory
US9583163B2 (en) 2015-02-03 2017-02-28 Micron Technology, Inc. Loop structure for operations in memory
EP3254286B1 (en) 2015-02-06 2019-09-11 Micron Technology, INC. Apparatuses and methods for parallel writing to multiple memory device locations
WO2016126478A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for memory device as a store for program instructions
WO2016126472A1 (en) 2015-02-06 2016-08-11 Micron Technology, Inc. Apparatuses and methods for scatter and gather
WO2016144724A1 (en) 2015-03-10 2016-09-15 Micron Technology, Inc. Apparatuses and methods for shift decisions
US9898253B2 (en) 2015-03-11 2018-02-20 Micron Technology, Inc. Division operations on variable length elements in memory
US9741399B2 (en) 2015-03-11 2017-08-22 Micron Technology, Inc. Data shift by elements of a vector in memory
EP3268965A4 (en) 2015-03-12 2018-10-03 Micron Technology, INC. Apparatuses and methods for data movement
US10146537B2 (en) 2015-03-13 2018-12-04 Micron Technology, Inc. Vector population count determination in memory
US10049054B2 (en) 2015-04-01 2018-08-14 Micron Technology, Inc. Virtual register file
US10140104B2 (en) 2015-04-14 2018-11-27 Micron Technology, Inc. Target architecture determination
US9959923B2 (en) 2015-04-16 2018-05-01 Micron Technology, Inc. Apparatuses and methods to reverse data stored in memory
US10073786B2 (en) 2015-05-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for compute enabled cache
US9704541B2 (en) 2015-06-12 2017-07-11 Micron Technology, Inc. Simulating access lines
US9921777B2 (en) 2015-06-22 2018-03-20 Micron Technology, Inc. Apparatuses and methods for data transfer from sensing circuitry to a controller
US9996479B2 (en) 2015-08-17 2018-06-12 Micron Technology, Inc. Encryption of executables in computational memory
JP2017045288A (ja) * 2015-08-27 2017-03-02 株式会社東芝 メモリシステム
US9905276B2 (en) 2015-12-21 2018-02-27 Micron Technology, Inc. Control of sensing components in association with performing operations
US9952925B2 (en) 2016-01-06 2018-04-24 Micron Technology, Inc. Error code calculation on sensing circuitry
US10048888B2 (en) 2016-02-10 2018-08-14 Micron Technology, Inc. Apparatuses and methods for partitioned parallel data movement
US9892767B2 (en) 2016-02-12 2018-02-13 Micron Technology, Inc. Data gathering in memory
US9971541B2 (en) 2016-02-17 2018-05-15 Micron Technology, Inc. Apparatuses and methods for data movement
US10956439B2 (en) 2016-02-19 2021-03-23 Micron Technology, Inc. Data transfer with a bit vector operation device
US9899070B2 (en) 2016-02-19 2018-02-20 Micron Technology, Inc. Modified decode for corner turn
US9697876B1 (en) 2016-03-01 2017-07-04 Micron Technology, Inc. Vertical bit vector shift in memory
US9997232B2 (en) 2016-03-10 2018-06-12 Micron Technology, Inc. Processing in memory (PIM) capable memory device having sensing circuitry performing logic operations
US10262721B2 (en) 2016-03-10 2019-04-16 Micron Technology, Inc. Apparatuses and methods for cache invalidate
US10379772B2 (en) 2016-03-16 2019-08-13 Micron Technology, Inc. Apparatuses and methods for operations using compressed and decompressed data
US9910637B2 (en) 2016-03-17 2018-03-06 Micron Technology, Inc. Signed division in memory
US11074988B2 (en) 2016-03-22 2021-07-27 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10120740B2 (en) 2016-03-22 2018-11-06 Micron Technology, Inc. Apparatus and methods for debugging on a memory device
US10388393B2 (en) 2016-03-22 2019-08-20 Micron Technology, Inc. Apparatus and methods for debugging on a host and memory device
US10474581B2 (en) 2016-03-25 2019-11-12 Micron Technology, Inc. Apparatuses and methods for cache operations
US10977033B2 (en) 2016-03-25 2021-04-13 Micron Technology, Inc. Mask patterns generated in memory from seed vectors
US10074416B2 (en) 2016-03-28 2018-09-11 Micron Technology, Inc. Apparatuses and methods for data movement
US10430244B2 (en) 2016-03-28 2019-10-01 Micron Technology, Inc. Apparatuses and methods to determine timing of operations
US10453502B2 (en) 2016-04-04 2019-10-22 Micron Technology, Inc. Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions
US10607665B2 (en) 2016-04-07 2020-03-31 Micron Technology, Inc. Span mask generation
US9818459B2 (en) 2016-04-19 2017-11-14 Micron Technology, Inc. Invert operations using sensing circuitry
US10153008B2 (en) 2016-04-20 2018-12-11 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US9659605B1 (en) 2016-04-20 2017-05-23 Micron Technology, Inc. Apparatuses and methods for performing corner turn operations using sensing circuitry
US10042608B2 (en) 2016-05-11 2018-08-07 Micron Technology, Inc. Signed division in memory
US9659610B1 (en) 2016-05-18 2017-05-23 Micron Technology, Inc. Apparatuses and methods for shifting data
US10049707B2 (en) 2016-06-03 2018-08-14 Micron Technology, Inc. Shifting data
US10387046B2 (en) 2016-06-22 2019-08-20 Micron Technology, Inc. Bank to bank data transfer
US10037785B2 (en) 2016-07-08 2018-07-31 Micron Technology, Inc. Scan chain operation in sensing circuitry
US10388360B2 (en) 2016-07-19 2019-08-20 Micron Technology, Inc. Utilization of data stored in an edge section of an array
US10733089B2 (en) 2016-07-20 2020-08-04 Micron Technology, Inc. Apparatuses and methods for write address tracking
US10387299B2 (en) 2016-07-20 2019-08-20 Micron Technology, Inc. Apparatuses and methods for transferring data
US9972367B2 (en) 2016-07-21 2018-05-15 Micron Technology, Inc. Shifting data in sensing circuitry
US9767864B1 (en) 2016-07-21 2017-09-19 Micron Technology, Inc. Apparatuses and methods for storing a data value in a sensing circuitry element
US10303632B2 (en) 2016-07-26 2019-05-28 Micron Technology, Inc. Accessing status information
US10468087B2 (en) 2016-07-28 2019-11-05 Micron Technology, Inc. Apparatuses and methods for operations in a self-refresh state
US9990181B2 (en) 2016-08-03 2018-06-05 Micron Technology, Inc. Apparatuses and methods for random number generation
US11029951B2 (en) 2016-08-15 2021-06-08 Micron Technology, Inc. Smallest or largest value element determination
US10606587B2 (en) 2016-08-24 2020-03-31 Micron Technology, Inc. Apparatus and methods related to microcode instructions indicating instruction types
US10466928B2 (en) 2016-09-15 2019-11-05 Micron Technology, Inc. Updating a register in memory
US10387058B2 (en) 2016-09-29 2019-08-20 Micron Technology, Inc. Apparatuses and methods to change data category values
US10014034B2 (en) 2016-10-06 2018-07-03 Micron Technology, Inc. Shifting data in sensing circuitry
US10529409B2 (en) 2016-10-13 2020-01-07 Micron Technology, Inc. Apparatuses and methods to perform logical operations using sensing circuitry
US9805772B1 (en) 2016-10-20 2017-10-31 Micron Technology, Inc. Apparatuses and methods to selectively perform logical operations
US10373666B2 (en) 2016-11-08 2019-08-06 Micron Technology, Inc. Apparatuses and methods for compute components formed over an array of memory cells
US10423353B2 (en) 2016-11-11 2019-09-24 Micron Technology, Inc. Apparatuses and methods for memory alignment
US9761300B1 (en) 2016-11-22 2017-09-12 Micron Technology, Inc. Data shift apparatuses and methods
EP3358467A4 (en) * 2016-12-05 2018-08-08 Huawei Technologies Co., Ltd. Fault processing method, computer system, baseboard management controller and system
US10402340B2 (en) 2017-02-21 2019-09-03 Micron Technology, Inc. Memory array page table walk
US10403352B2 (en) 2017-02-22 2019-09-03 Micron Technology, Inc. Apparatuses and methods for compute in data path
US10268389B2 (en) 2017-02-22 2019-04-23 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10838899B2 (en) 2017-03-21 2020-11-17 Micron Technology, Inc. Apparatuses and methods for in-memory data switching networks
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
US10185674B2 (en) 2017-03-22 2019-01-22 Micron Technology, Inc. Apparatus and methods for in data path compute operations
US10049721B1 (en) 2017-03-27 2018-08-14 Micron Technology, Inc. Apparatuses and methods for in-memory operations
US10147467B2 (en) 2017-04-17 2018-12-04 Micron Technology, Inc. Element value comparison in memory
US10043570B1 (en) 2017-04-17 2018-08-07 Micron Technology, Inc. Signed element compare in memory
US9997212B1 (en) 2017-04-24 2018-06-12 Micron Technology, Inc. Accessing data in memory
US10942843B2 (en) 2017-04-25 2021-03-09 Micron Technology, Inc. Storing data elements of different lengths in respective adjacent rows or columns according to memory shapes
US10236038B2 (en) 2017-05-15 2019-03-19 Micron Technology, Inc. Bank to bank data transfer
US10068664B1 (en) 2017-05-19 2018-09-04 Micron Technology, Inc. Column repair in memory
US10013197B1 (en) 2017-06-01 2018-07-03 Micron Technology, Inc. Shift skip
US10152271B1 (en) 2017-06-07 2018-12-11 Micron Technology, Inc. Data replication
US10262701B2 (en) 2017-06-07 2019-04-16 Micron Technology, Inc. Data transfer between subarrays in memory
US10318168B2 (en) 2017-06-19 2019-06-11 Micron Technology, Inc. Apparatuses and methods for simultaneous in data path compute operations
US10394647B2 (en) * 2017-06-22 2019-08-27 International Business Machines Corporation Bad bit register for memory
CN109243517B (zh) * 2017-07-10 2020-11-13 深圳市得一微电子有限责任公司 一种用于NAND Flash不良区块的查找方法、固态硬盘
US10162005B1 (en) 2017-08-09 2018-12-25 Micron Technology, Inc. Scan chain operations
US10534553B2 (en) 2017-08-30 2020-01-14 Micron Technology, Inc. Memory array accessibility
US10346092B2 (en) 2017-08-31 2019-07-09 Micron Technology, Inc. Apparatuses and methods for in-memory operations using timing circuitry
US10416927B2 (en) 2017-08-31 2019-09-17 Micron Technology, Inc. Processing in memory
US10741239B2 (en) 2017-08-31 2020-08-11 Micron Technology, Inc. Processing in memory device including a row address strobe manager
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
US10409739B2 (en) 2017-10-24 2019-09-10 Micron Technology, Inc. Command selection policy
US10522210B2 (en) 2017-12-14 2019-12-31 Micron Technology, Inc. Apparatuses and methods for subarray addressing
US10332586B1 (en) 2017-12-19 2019-06-25 Micron Technology, Inc. Apparatuses and methods for subrow addressing
US10614875B2 (en) 2018-01-30 2020-04-07 Micron Technology, Inc. Logical operations using memory cells
US10437557B2 (en) 2018-01-31 2019-10-08 Micron Technology, Inc. Determination of a match between data values stored by several arrays
US11194477B2 (en) 2018-01-31 2021-12-07 Micron Technology, Inc. Determination of a match between data values stored by three or more arrays
US10725696B2 (en) 2018-04-12 2020-07-28 Micron Technology, Inc. Command selection policy with read priority
US10440341B1 (en) 2018-06-07 2019-10-08 Micron Technology, Inc. Image processor formed in an array of memory cells
US11175915B2 (en) 2018-10-10 2021-11-16 Micron Technology, Inc. Vector registers implemented in memory
US10769071B2 (en) 2018-10-10 2020-09-08 Micron Technology, Inc. Coherent memory access
US10483978B1 (en) 2018-10-16 2019-11-19 Micron Technology, Inc. Memory device processing
US11184446B2 (en) 2018-12-05 2021-11-23 Micron Technology, Inc. Methods and apparatus for incentivizing participation in fog networks
EP3748637A1 (en) * 2019-06-07 2020-12-09 IHP GmbH - Innovations for High Performance Microelectronics / Leibniz-Institut für innovative Mikroelektronik Electronic circuit with integrated seu monitor
CN110377357B (zh) * 2019-06-26 2022-05-24 苏州浪潮智能科技有限公司 一种服务器中dimm的配置方法、系统及装置
US10867655B1 (en) 2019-07-08 2020-12-15 Micron Technology, Inc. Methods and apparatus for dynamically adjusting performance of partitioned memory
US11360768B2 (en) 2019-08-14 2022-06-14 Micron Technolgy, Inc. Bit string operations in memory
US11449577B2 (en) 2019-11-20 2022-09-20 Micron Technology, Inc. Methods and apparatus for performing video processing matrix operations within a memory array
US11853385B2 (en) 2019-12-05 2023-12-26 Micron Technology, Inc. Methods and apparatus for performing diversity matrix operations within a memory array
US11227641B1 (en) 2020-07-21 2022-01-18 Micron Technology, Inc. Arithmetic operations in memory
US11507454B2 (en) 2020-10-26 2022-11-22 Oracle International Corporation Identifying non-correctable errors using error pattern analysis

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677529A (zh) * 2004-03-29 2005-10-05 明基电通股份有限公司 预防光存储介质破裂的读取装置及方法
CN1779838A (zh) * 2004-10-11 2006-05-31 三星电子株式会社 执行可变数量的纠错重复的数字信号处理方法和装置
CN101099138A (zh) * 2005-03-04 2008-01-02 国立大学法人东京工业大学 限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4369510A (en) * 1980-07-25 1983-01-18 Honeywell Information Systems Inc. Soft error rewrite control system
US4792954A (en) * 1986-10-31 1988-12-20 International Business Machines Corporation Concurrent detection of errors in arithmetic data compression coding
TW446955B (en) * 1998-10-30 2001-07-21 Siemens Ag The read/write memory with self-testing device and its associated test method
US6480982B1 (en) * 1999-06-04 2002-11-12 International Business Machines Corporation Computer RAM memory system with enhanced scrubbing and sparing
US6976197B2 (en) 2001-10-25 2005-12-13 International Business Machines Corporation Apparatus and method for error logging on a memory module
US7792205B2 (en) * 2004-10-12 2010-09-07 Zte (Usa) Inc. Encoding and decoding of frame control header in downlink subframes in wireless communication systems
US7702978B2 (en) 2006-04-21 2010-04-20 Altera Corporation Soft error location and sensitivity detection for programmable devices
US8130826B2 (en) * 2006-04-27 2012-03-06 Jds Uniphase Corporation Systems and methods for preparing network data for analysis
US20080181035A1 (en) * 2007-01-26 2008-07-31 Atsushi Kawasumi Method and system for a dynamically repairable memory
US8032816B2 (en) 2007-06-01 2011-10-04 International Business Machines Corporation Apparatus and method for distinguishing temporary and permanent errors in memory modules
US8397130B2 (en) * 2008-11-26 2013-03-12 Arizona Board Of Regents For And On Behalf Of Arizona State University Circuits and methods for detection of soft errors in cache memories

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1677529A (zh) * 2004-03-29 2005-10-05 明基电通股份有限公司 预防光存储介质破裂的读取装置及方法
CN1779838A (zh) * 2004-10-11 2006-05-31 三星电子株式会社 执行可变数量的纠错重复的数字信号处理方法和装置
CN101099138A (zh) * 2005-03-04 2008-01-02 国立大学法人东京工业大学 限制了错误字节数的字节内多个斑点字节错误纠正/检测方法和装置

Also Published As

Publication number Publication date
CN102541667A (zh) 2012-07-04
US20120072786A1 (en) 2012-03-22
US8347154B2 (en) 2013-01-01

Similar Documents

Publication Publication Date Title
CN102541667B (zh) 用散列函数区分存储系统中随机和重复差错的方法和系统
CN109584945B (zh) 具有机器学习机制的存储系统及其操作方法
Mahdisoltani et al. Proactive error prediction to improve storage system reliability
CN105843699B (zh) 用于错误监视与校正的动态随机存取存储器设备与方法
US8724904B2 (en) Anomaly detection in images and videos
TWI510916B (zh) 儲存裝置壽命監控系統以及其儲存裝置壽命監控方法
WO2017079454A1 (en) Storage error type determination
US9865101B2 (en) Methods for detecting one or more aircraft anomalies and devices thereof
US10831890B2 (en) Method and system for detecting attacks on cyber-physical systems using redundant devices and smart contracts
US11366714B2 (en) Behavior-driven die management on solid-state drives
US8689081B2 (en) Techniques for embedded memory self repair
US11762448B1 (en) Method for troubleshooting abnormal sensor in energy-storage apparatus, terminal device, and storage medium
Du et al. Predicting uncorrectable memory errors for proactive replacement: An empirical study on large-scale field data
US20200019890A1 (en) System and method for one-class similarity machines for anomaly detection
CN110858072A (zh) 设备运行状态的确定方法及装置
JP7465237B2 (ja) アプリケーションにおける挙動の異常を検出するシステム、方法およびコンピュータ可読媒体
US20150205652A1 (en) Computer-readable recording medium having stored therein program for write inspection, information processing device, and method for write inspection
Du et al. Predicting uncorrectable memory errors from the correctable error history: No free predictors in the field
CN110008056A (zh) 内存管理方法、装置、电子设备及计算机可读存储介质
CN115793990B (zh) 存储器健康状态确定方法、装置、电子设备及存储介质
US20120054548A1 (en) Data processing device and method for controlling test process of electronic device using the same
US10372719B2 (en) Episode mining device, method and non-transitory computer readable medium of the same
JP2020030628A (ja) 監視システム、監視方法および監視プログラム
US20220019375A1 (en) Abnormal condition detection based on temperature monitoring of memory dies of a memory sub-system
CN112906727A (zh) 用于实时在线检测虚拟机状态的方法和系统

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170710

Address after: Hongkong, China

Patentee after: Lenovo International Ltd

Address before: American New York

Patentee before: International Business Machines Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200825

Address after: 23 / F, Lincoln building, 979 King's road, Quarry Bay, Hong Kong, China

Patentee after: Lenovo Global Technology International Co.,Ltd.

Address before: Hong Kong

Patentee before: Lenovo International Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141210

Termination date: 20200921