CN114996065A - 内存故障预测方法、装置及设备 - Google Patents
内存故障预测方法、装置及设备 Download PDFInfo
- Publication number
- CN114996065A CN114996065A CN202210604963.7A CN202210604963A CN114996065A CN 114996065 A CN114996065 A CN 114996065A CN 202210604963 A CN202210604963 A CN 202210604963A CN 114996065 A CN114996065 A CN 114996065A
- Authority
- CN
- China
- Prior art keywords
- error
- memory
- predicted
- aggregation
- ecc
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请实施例提供一种内存故障预测方法、装置及设备。该方法包括:获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征,所述ECC校验出错特征包括出错位置特征和出错形式特征;基于所述ECC校验出错特征中的出错位置特征,对所述多个ECC校验出错特征进行特征聚合,得到聚合错误特征;根据所述聚合错误特征,预测所述待预测设备是否会出现内存不可纠正错误。本申请能够提高预测是否会出现内存不可纠正错误的准确度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种内存故障预测方法、装置及设备。
背景技术
内存故障是硬件系统最普遍的故障,极大地影响了系统的可靠性,可用性和可服务性(reliability,availability,serviceability,RAS)。
通常,内存控制器从内存中读取数据后,会进行错误校验,如果发生内存可纠正错误(Correctable Error,CE),则对错误进行纠正,如果发生内存不可纠正错误(Uncorrectable Error,UCE,UCE),则会重新访问出错的位置,如果多次访问均发生内存不可纠正错误,则硬件系统会发出UCE信号并导致设备宕机。为了减少宕机情况的发生,目前采用的方式是:基于一段时间内某个设备发生内存可纠正错误的次数,来预测该设备未来是否会发生内存不可纠正错误。
然而,这种预测方式存在准确度较差的问题。
发明内容
本申请实施例提供一种内存故障预测方法、装置及设备,用以解决现有技术中预测是否会发生不可纠正错误的准确度较差的问题。
第一方面,本申请实施例提供一种内存故障预测方法,包括:
获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征,所述ECC校验出错特征包括出错位置特征和出错形式特征;
基于所述ECC校验出错特征中的出错位置特征,对所述多个ECC校验出错特征进行特征聚合,得到聚合错误特征;
根据所述聚合错误特征,预测所述待预测设备是否会出现内存不可纠正错误。
第二方面,本申请实施例提供一种内存故障预测装置,包括:
获取模块,用于获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征;所述ECC校验出错特征包括出错位置特征和出错形式特征;
聚合模块,用于基于所述ECC校验出错特征中的出错位置特征,对所述多个ECC校验出错特征进行聚合,得到聚合错误特征;
预测模块,用于根据所述聚合错误特征,预测所述待预测设备是否会出现内存不可纠正错误。
第三方面,本申请实施例提供一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如第一方面中任一项所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如第一方面中任一项所述的方法。
本申请实施例还提供一种计算机程序,当所述计算机程序被计算机执行时,用于实现如第一方面任一项所述的方法。
在本申请实施例中,可以获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征,ECC校验出错特征包括出错位置特征和出错形式特征,基于ECC校验出错特征中的出错位置特征,对多个ECC校验出错特征进行特征聚合得到聚合错误特征,根据聚合错误特征预测待预测设备是否会出现内存不可纠正错误,实现了根据多次出现内存可纠正错误具体的ECC校验出错特征,预测是否会出现内存不可纠正错误,并且,具体是根据对多个ECC校验出错特征进行特征聚合得到的聚合错误特征,来预测待预测设备是否会出现内存不可纠正错误,因此对于内存故障的预测,能够基于微观的ECC校验出错特征,并能够从宏观角度来考量待预测设备历史的ECC校验出错情况,从而能够提高预测的准确度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的内存故障预测方法的应用场景的示意图;
图2为本申请一实施例提供的内存故障预测方法的流程示意图;
图3为本申请一实施例提供的单个内存芯片单次读数据出错情况的示意图;
图4为本申请一实施例提供的训练模型及使用模型预测的示意图;
图5为本申请一实施例提供的内存故障预测装置的结构示意图;
图6为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为本申请实施例提供的内存故障预测方法的应用场景示意图,如图1所示,该应用场景中可以包括第一设备11和至少一个第二设备12。其中,第一设备11可以预测第二设备12的内存故障,具体可以预测第二设备是否会出现内存不可纠正错误。第二设备12具体可以是需要预测是否会出现内存不可纠正错误的任意类型的电子设备,第二设备12可以记为待预测设备,第二设备12例如可以为物理机,物理机是指部署了虚拟化计算机系统的专属物理服务器,具有实体。
第二设备12包括内存控制器,内存控制器可以集成在第二设备12的CPU(CentralProcessing Unit)中。响应于CPU的写指令,内存控制器可以根据待写入内存的数据生成相应的纠错码(Error Correction Code,ECC),并将数据和纠错码写入内存中。响应于CPU的读指令,内存控制器可以从内存中读取数据和纠错码,并根据纠错码对数据进行ECC校验,如果发生可纠正错误则会根据纠错码纠错,如果发生不可纠正错误则会重新访问出错的位置,如果多次访问均发生内存不可纠正错误,则硬件系统会发出UCE信号并导致第二设备12宕机。
通常,为了减少宕机情况的发生,目前是采用如下方式来对第二设备12进行内存故障预测:基于一段时间内第二设备12发生内存可纠正错误的次数,来预测第二设备12未来是否会发生内存不可纠正错误。然而,这种基于一段时间内发生内存可纠正错误的次数来进行预测的方式,由于并没有考虑到出现内存可纠正错误具体的ECC校验出错特征,从而存在预测准确度较差的技术问题。
例如,如果某一出错位置的很多次错误都是单比特错误,由于发生内存可纠正错误的次数较多,因此基于发生内存可纠正错误的次数得到的是会发生不可纠正错误的预测结果,但是由于单比特错误会被纠正,再多的单比特错误也不会导致发生内存不可纠正错误,因此这样的预测结果不准确,导致预测准确度较差。
为了解决现有技术中预测准确度较差的技术问题,在本申请实施例中,可以获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征,ECC校验出错特征包括出错位置特征和出错形式特征,基于ECC校验出错特征中的出错位置特征,对多个ECC校验出错特征进行特征聚合得到聚合错误特征,根据聚合错误特征预测待预测设备是否会出现内存不可纠正错误,实现了根据多次出现内存可纠正错误具体的ECC校验出错特征,预测是否会出现内存不可纠正错误,并且,具体是根据对多个ECC校验出错特征进行特征聚合得到的聚合错误特征,来预测待预测设备是否会出现内存不可纠正错误,因此对于内存故障的预测,能够基于微观的ECC校验出错特征,并能够从宏观角度来考量待预测设备历史的ECC校验出错情况,从而能够提高预测的准确度。
例如,对于某一出错位置的很多次错误都是单比特错误的情况,由于根据出现内存可纠正错误的出错位置特征和出错形式特征进行内存故障的预测,因此能够基于单比特错误会被纠正,再多的单比特错误也不会导致发生内存不可纠正错误的知识,得到不会发生不可纠正错误的预测结果,从而能够减少出现预测不准确的情况,提高预测的准确度。
需要说明的是,关于内存可纠正错误以及内存不可纠正错误的具体说明,可以参见相关技术中的具体描述,在此不再赘述。
需要说明的是,图1中是以由待预测设备之外的其他设备对待预测设备进行内存故障预测为例,可以理解的是,在其他实施例中,也可以由待预测设备自己进行内存故障的预测。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突情况下,下述的实施例及实施例中的特征可以相互组合。
图2为本申请一实施例提供的内存故障预测方法的流程示意图,本实施例的执行主体可以为待预测设备自身,或者可以为待预测设备之外的其他设备。如图2所示,本实施例的方法可以包括:
步骤21,获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征,ECC校验出错特征包括出错位置特征和出错形式特征;
步骤22,基于ECC校验出错特征中的出错位置特征,对多个ECC校验出错特征进行特征聚合,得到聚合错误特征;
步骤23,根据聚合错误特征,预测待预测设备是否会出现内存不可纠正错误。
本申请实施例中,当前时间窗口的大小可以灵活实现,当前时间窗口的大小例如可以为3天。待预测设备在当前时间窗口内多次出现内存可纠正错误,每次出现内存可纠正错误可以存在对应的一个ECC校验出错特征,ECC校验出错特征可以包括出错位置特征和出错形式特征。
需要说明的是,如果一次内存访问从一个内存芯片读取的数据出现错误,且通过ECC算法得到纠正,则可以认为本次内存访问中出现了一次内存可纠正错误,如果一次内存访问从多个内存芯片读取的数据均出现错误,且通过ECC算法均得到纠正,则可以认为本次内存访问中出现了多次内存可纠正错误。其中,一次内存访问是指预取一个高速缓存块(cacheline block,64bytes)。
其中,出错位置特征是指用于描述出现内存可纠正错误的内存的位置的特征,通过出错位置特征可以描述是内存的哪个位置出现了可纠正错误,示例性的,出错位置特征所描述的位置可以精确到内存的CELL,CELL是内存的基本单元,可以用于存储1个比特的数据。
基于此,一个实施例中,在待预测设备的CPU为多核CPU,且单个单核CPU集成的内存控制器的数量可以为多个的情况下,出错位置特征可以包括处理器(Socket)、内存控制器(Integrated Memory Controller,IMC)、内存通道(Channel)、插槽(slot)、Rank、BankGroup、Bank、Row和Column,可以用于描述具体是哪个单核CPU的哪个内存控制器的哪个通道的哪个插槽的哪个Rank的哪个BankGroup的哪个Bank的哪一行哪一列出现内存可纠正错误。需要说明的是,关于Channel、Rank、Bank Group和Bank的具体说明,可以参见相关技术中的具体描述,在此不再赘述。
由于内存控制器可以访问一个Rank的多个内存芯片,且受限于内存控制器的纠错能力,如果同一高速缓存块(cacheline block,64bytes)对应的内存数据,有两个不同的内存芯片(也可以称为内存颗粒)同时发生错误,则一定会发生不可纠正错误,因此知道内存芯片的历史出错情况有利于进一步提高故障预测的准确性,从而一个实施例中,内存位置特征可以包括内存芯片,用于描述具体是哪个内存芯片出现内存可纠正错误。
出错形式特征是指用于描述出现内存可纠正错误的出错形式的特征。在实际应用中,内存控制器发出读命令后,一个Rank上的多个内存芯片中的每个内存芯片均可以通过多个Burst返回数据,一个Burst传输的比特数为内存位宽,通常是4位或者8位,受噪声的影响同一内存芯片通过同一Burst或不同Burst返回的多个比特可能同时出错,因此可以从Burst角度描述出现内存可纠正错误的出错形式。基于此,一个实施例中,出错形式特征可以包括从Burst角度描述的出错形式特征,其中,从Burst角度描述的出错形式特征可以包括:同一Burst内出错比特的出错形式特征,和/或,不同Burst之间出错比特的出错形式特征。示例性的,从Burst角度描述的出错形式特征可以包括下述中的一个或多个:同一Burst内出错比特的数量、同一Burst内出错比特的位置、同一Burst内的出错比特是否连续、出现错误比特的Burst的数量、出现错误比特的Burst的位置或者出现错误比特的Burst是否连续。
在实际应用中,多个比特共享同一组数据I/O通道(Data queue,DQ),当DQ有问题的时候,通常会多个比特出错,因此可以从DQ角度描述出现内存可纠正错误的出错形式。基于此,一个实施例中,出错形式特征可以包括从DQ角度描述的出错形式特征,其中,从DQ角度描述的出错形式特征可以包括:同一DQ内出错比特的出错形式特征,和/或,不同DQ之间出错特别的出错形式特征。示例性的,从DQ角度描述的出错形式特征可以包括下述中的一个或多个。
假设内存芯片是X4芯片(即提供4个DQ,一个Burst可以返回存储在该内存芯片中的4个比特),则一次内存访问可以预取(prefetch)一个cacheline(64字节)所需的数据,一个内存芯片可以贡献8个Burst的数据,共32位,而16个内存芯片提供的数据可以共同组成一个cacheline。如果某次读取某个内存芯片出现内存可纠正错误,且出错情况如图3所示,其中,一个圆形可以表示1比特数据,白色填充的圆形可以表示未出错比特,黑色填充的圆形可以表示出错比特,则本次读取该内存芯片出现了一次内存可纠正错误,且本次出现内存可纠正错误存在的ECC校验出错特征中例如可以包括用于描述出现可纠正错误的内存芯片是该内存芯片的出错位置特征,以及用于描述3个DQ且具体为DQ0、DQ1和DQ2出错,4个Burst且分别为第1个Burst、第3个Burst、第5个Burst和第8个Burst出错的出错形式特征。
在实际应用中,内存控制器在校验确定内存发生可纠正错误时,可以将相关的错误信息记录在自身的寄存器中,出错位置特征和出错形式特征可以根据寄存器中记录的数据生成。以待预测设备的处理器是英特尔处理器为例,可以根据内存控制器的用于记录重试读取错误日志(retry read error log)的寄存器中记录的数据生成ECC校验出错特征,当然在其他实施例中,也可以将相关的错误信息记录在内存控制器的其他寄存器中,本申请对此不做限定。需要说明的是,关于内存控制器的用于记录读取错误日志(retry readerror log)的寄存器的具体内容,可以参见相关技术中的具体描述,在此不再赘述。
示例性的,对于寄存器的读取可以是事件触发的,待预测设备的操作系统可以捕获用于指示发生内存可纠正错误的事件,响应于该事件可以通过驱动器来读取寄存器,以操作系统为Linux操作系统且处理器为英特尔处理器为例,例如可以通过EDAC driver(Linux error detection and correction driver)读取寄存器中的数据。
一个实施例中,可以接收当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征。另一个实施例中,可以获取当前时间窗口内待预测设备多次出现内存可纠正错误时寄存器中的数据,并根据每次出现内存可纠正错误时寄存器中的数据,生成每次出现内存可纠正错误的ECC校验出错特征。
可选的,考虑到待预测设备内存错误的特征以及内存纠错的能力是与自身的静态特征相关,即待预设设备的静态特征可以影响设备出现内存出错的特征,也可以影响设备内存纠错的能力,因此为了进一步提高预测的准确度,在进行内存故障预测时还可以基于待预测设备的静态特征,基于此,一个实施例中,本实施例提供的方法还可以包括获取待预测设备的目标静态特征。其中,目标静态特征具体可以是待预测设备的能够影响内存出错的特征或者内存纠错的能力的一个或多个特征。示例性的,目标静态特征可以包括下述中的一种或多种:CPU型号、内存批次、内存条数、内存条插法、操作系统(Operating System,OS)、基本输入输出系统(Basic Input Output System,BIOS)型号。
其中,不同型号的CPU,其ECC算法可能不同,ECC算法可以决定内存纠错的能力,因此目标静态特征可以包括CPU型号。内存批次可以决定内存出错的特征,因此目标静态特征可以包括内存批次。内存条数和内存条插法决定了内存访问的交叉存取(interleaving)方式,从而可以决定内存出错的特征,因此目标静态特征可以包括内存条数和/或内存条插法。操作系统、BIOS型号,可以决定硬件系统的行为和可能的负载情况,从而决定内存出错的特征,因此目标静态特征可以包括操作系统和/或BIOS型号。
考虑到不同静态特征的设备从发生第一个可纠正错误到发生不可纠正错误所用的时长差别可能较大,比如发明人在生产环境中观测到镁光部分批次的列错误和三星C代的行错误,从发生第一个可纠正错误到发生不可纠正错误所用的时长非常的短,但是部分海力士的批次,故障是慢慢恶化,从发生第一个可纠正错误到发生不可纠正错误所用的时长较长,因此为了进一步提高预测的准确度,一个实施例中,当前时间窗口的数量可以为多个,多个当前时间窗口的大小不同,以适应从发生第一个可纠正错误到发生不可纠正错误所用时长相差较大的多种情况,多个当前时间窗口的大小可以根据经验确定,多个ECC校验出错特征可以包括多个当前时间窗口中每个当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征。
本申请实施例中,在获得当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征之后,可以对多个ECC校验出错特征进行特征聚合,得到聚合错误特征。其中,可以基于ECC校验出错特征中的出错位置特征进行特征聚合,聚合方式可以是求和、求平均或者求大小等统计学方式。聚合的粒度可以是固定的,或者可以是可变的。
一个实施例中,步骤22具体可以包括:确定进行特征聚合的目标粒度,基于ECC校验出错特征中的出错位置特征,将多个ECC校验出错特征聚合为目标粒度的聚合错误特征。目标粒度可以是较出错位置特征所描述的出现内存可纠正错误的内存的位置更大范围的粒度,以实现将特征聚集到更大的故障范围。示例性的,目标粒度可以包括下述中的任意一个:BANK行粒度、BANK列粒度、BANK粒度、RANK粒度、内存条粒度、通道粒度、内存控制器粒度、CPU粒度或设备粒度。其中,目标粒度可以根据经验确定,例如发明人在生产环境中观测到镁光部分批次的列错误特征很明显,很容发生宕机,可以把单个可纠正错误的ECC校验出错特征聚合到BANK列粒度上去做预测。
应理解,在当前时间窗口包括窗口大小不同的多个当前时间窗口的情况下,聚合错误特征可以包括多个当前时间窗口中每个当前时间窗口对应的聚合错误特征,其中,每个当前时间窗口对应的聚合错误特征是通过对该每个当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征进行特征聚合得到。
本申请实施例中,在得到聚合错误特征之后,可以根据得到的聚合错误特征,预测待预测设备是否会出现内存不可纠正错误。
一个实施例中,可以基于聚合错误特征,预测待预测设备否会出现内存不可纠正错误,在此情况下,当前时间窗口为一个时,聚合错误特征可以作为预测基于的特征,当前时间窗口为多个时,多个当前时间窗口对应的聚合错误特征的拼接结果可以作为预测基于的特征。另一个实施例中,可以根据聚合错误特征和目标静态特征,预测待预测设备否会出现内存不可纠正错误。
由于会导致宕机的ECC校验出错特征与不会导致宕机的ECC校验出错特征之间的差别较大,因此可以基于聚合错误特征与哪种特征更相似来预测待预测设备是否会出现内存不可纠正错误,具体的,在预测基于的特征与会导致宕机的特征更相似时,可以预测待预测设备会出现内存不可纠正错误,在预测基于的特征与不会导致宕机的特征更相似时,可以预测待预测设备不会出现内存不可纠正错误。
示例性的,可以采用机器学习的方式来进行预测,即可以将预测基于的特征输入预测模型,得到待预测设备是否会出现不可纠正错误的预测结果。基于此,一个实施例中,步骤23具体可以包括:将聚合错误特征输入预测模型,得到待预测设备是否会出现内存不可纠正错误的预测结果。另一个实施例中,步骤23具体可以包括:将多个当前时间窗口分别对应的聚合错误特征的拼接结果输入预测模型,得到待预测设备是否会出现内存不可纠正错误的预测结果。
以聚合错误特征作为预测基于的特征为例,预测模型可以是按照下述方式训练得到:构建预测模型,预测模型中设置有训练参数;将多个样本聚合错误特征分别输入至预测模型中,生成预测结果;基于预测结果与样本聚合错误特征的样本标签对应的期望结果之间的差异,对训练参数进行迭代调整,直至差异满足预设要求。
其中,样本聚合错误特征的样本标签可以为正样本或负样本,正样本可以是指出现不可纠正错误的样本,对应的期望结果可以为1,负样本可以是指未出现不可纠正错误的样本,对应的期望结果可以为0。从而,在将聚合错误特征输入预测模型后,如果输出结果为1可以表示预测发生不可纠正错误的概率为1,即预测会发生不可纠正错误,如果输出结果为0时可以表示预测发生不可纠正错误的概率为0,即预测不会发生不可纠正错误。
以时间窗口的数量为多个,操作系统为Linux操作系统且处理器为英特尔处理器为例,如图4所示,对于预测模型可以分为离线学习和在线预测+学习两个阶段。
其中,在离线学习阶段,可以通过EDAC driver采集内存可纠正错误相关的寄存器数据,并将寄存器数据批量写入离线数据仓库。对于写入离线数据仓库中的寄存器数据,通过特征生成模块可以生成多个时间窗口分别对应的ECC校验出错特征。对于生成的ECC校验出错特征,通过特征聚合模块可以得到多个时间窗口分别对应的聚合错误特征。对于得到的聚合错误特征,通过时间聚合模块可以得到拼接后的聚合错误特征。基于拼接后的聚合错误特征和相应的静态特征,通过离线训练过程可以得到用于进行在线内存故障预测的预测模型。
在在线预测+学习阶段,对于在线采集到的内存可纠正错误相关的寄存器数据,在依次通过特征生成模块、特征聚合模块和时间聚合模块的处理后,可以和相应的静态特征一起输入至预测模型得到预测结果。另外,可以将在线内存故障预测的预测结果反馈到离线数据仓库,用来优化模型。
本申请实施例中,预测待预测设备不会发生内存不可纠正错误,可以表示待预测设备发生内存校验错误后ECC能够完全覆盖的概率较高;预测待预测设备会发生内存可纠正错误,可以表示待预测设备发生内存校验错误后ECC能够完全覆盖的概率较低。通过预测待预测设备是否会发生内存不可纠正错误,可以找到发生内存校验错误后,ECC能够完全覆盖的概率较低的设备,以针对该设备进行进一步处理。例如,如果待预测设备为物理机,且预测待预测设备会发生内存不可纠正错误,则可以将待预测设备上的虚拟机提前迁移到其他设备,当然在其他实施例中也可以对待预测设备进行其他类型的进一步处理,本申请对此不做限定。
本实施例提供的内存故障预测方法,通过获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征,ECC校验出错特征包括出错位置特征和出错形式特征,基于ECC校验出错特征中的出错位置特征,对多个ECC校验出错特征进行特征聚合得到聚合错误特征,根据聚合错误特征预测待预测设备是否会出现内存不可纠正错误,实现了根据多次出现内存可纠正错误具体的ECC校验出错特征,预测是否会出现内存不可纠正错误,并且,具体是根据对多个ECC校验出错特征进行特征聚合得到的聚合错误特征,来预测待预测设备是否会出现内存不可纠正错误,因此对于内存故障的预测,能够基于微观的ECC校验出错特征,并能够从宏观角度来考量待预测设备历史的ECC校验出错情况,从而能够提高预测的准确度。
图5为本申请一实施例提供的内存故障预测装置的结构示意图;参考附图5所示,本实施例提供了一种内存故障预测装置,该装置可以执行上述实施例所述的内存故障预测方法,具体的,该装置可以包括:
获取模块51,用于获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征;所述ECC校验出错特征包括出错位置特征和出错形式特征;
聚合模块52,用于基于所述ECC校验出错特征中的出错位置特征,对所述多个ECC校验出错特征进行聚合,得到聚合错误特征;
预测模块53,用于根据所述聚合错误特征,预测所述待预测设备是否会出现内存不可纠正错误。
一个实施例中,所述出错位置特征包括处理器、内存控制器、内存通道、插槽、Rank、Bank Group、Bank、行和列。
一个实施例中,所述出错位置特征还包括内存芯片。
一个实施例中,所述出错形式特征包括:从Burst角度描述的出错形式特征,和/或,从DQ角度描述的出错形式特征。
一个实施例中,所述从Burst角度描述的出错形式特征包括下述中的一个或多个:出同一Burst内出错比特的数量、同一Burst内出错比特的位置、同一Burst内的出错比特是否连续、出现错误比特的Burst的数量、出现错误比特的Burst的位置或者出现错误比特的Burst是否连续。
一个实施例中,所述从DQ角度描述的出错形式特征包括下述中的一个或多个:同一DQ内出错比特的数量、同一DQ内出错比特的位置、同一DQ内的出错比特是否连续、出现错误比特的DQ的数量、出现错误比特的DQ的位置或者出现错误比特的DQ是否连续。
一个实施例中,所述聚合模块52具体用于确定进行特征聚合的目标粒度;基于所述ECC校验出错特征中的出错位置特征,将所述多个ECC校验出错特征聚合为目标粒度的聚合错误特征。
一个实施例中,所述目标粒度包括下述中的任意一个:BANK行粒度、BANK列粒度、BANK粒度、RANK粒度、内存条粒度、通道粒度、内存控制器粒度、CPU粒度或设备粒度。
一个实施例中,所述获取模块51,还用于获取所述待预测设备的目标静态特征;
所述预测模块53,具体用于根据所述聚合错误特征和所述目标静态特征,预测所述待预测设备是否会出现内存不可纠正错误。
一个实施例中,所述目标静态特征包括下述中的一种或多种:CPU型号、内存批次、内存条数、内存条插法、操作系统或BIOS型号。
一个实施例中,所述当前时间窗口包括窗口大小不同的多个当前时间窗口;所述聚合错误特征包括所述多个当前时间窗口分别对应的聚合错误特征。
一个实施例中,所述预测模块53,具体用于将所述聚合错误特征输入预测模型,得到所述待预测设备是否会出现内存不可纠正错误的预测结果。
一个实施例中,所述预测模型是按照下述方式训练得到:构建预测模型,所述预测模型中设置有训练参数;将多个样本聚合错误特征分别输入至所述预测模型中,生成预测结果;基于所述预测结果与所述样本聚合错误特征的样本标签对应的期望结果之间的差异,对所述训练参数进行迭代调整,直至所述差异满足预设要求。
图5所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。
在一个可能的实现中,图5所示装置的结构可实现为一电子设备。如图6所示,该电子设备可以包括:处理器61和存储器62。其中,存储器62用于存储支持电子设备执行上述图2所示实施例中提供的方法的程序,处理器61被配置为用于执行存储器62中存储的程序。
程序包括一条或多条计算机指令,其中,一条或多条计算机指令被处理器61执行时能够实现如下步骤:
获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征;所述ECC校验出错特征包括出错位置特征和出错形式特征;
基于所述ECC校验出错特征中的出错位置特征,对所述多个ECC校验出错特征进行聚合,得到聚合错误特征;
根据所述聚合错误特征,预测所述待预测设备是否会出现内存不可纠正错误。
可选的,处理器61还用于执行前述图2所示实施例中电子设备侧的全部或部分步骤。
其中,电子设备的结构中还可以包括通信接口63,用于电子设备与其他设备或通信网络通信。
另外,本申请实施例提供了一种计算机存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如图2所示实施例中任一项所述的方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、链表、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (14)
1.一种内存故障预测方法,其特征在于,包括:
获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征,所述ECC校验出错特征包括出错位置特征和出错形式特征;
基于所述ECC校验出错特征中的出错位置特征,对所述多个ECC校验出错特征进行特征聚合,得到聚合错误特征;
根据所述聚合错误特征,预测所述待预测设备是否会出现内存不可纠正错误。
2.根据权利要求1所述的方法,其特征在于,所述出错位置特征包括:处理器、内存控制器、内存通道、插槽、Rank、Bank Group、Bank、行和列。
3.根据权利要求2所述的方法,其特征在于,所述出错位置特征还包括:内存芯片。
4.根据权利要求1所述的方法,其特征在于,所述出错形式特征包括:从Burst角度描述的出错形式特征,和/或,从DQ角度描述的出错形式特征。
5.根据权利要求4所述的方法,其特征在于,所述从Burst角度描述的出错形式特征包括下述中的一个或多个:同一Burst内出错比特的数量、同一Burst内出错比特的位置、同一Burst内的出错比特是否连续、出现错误比特的Burst的数量、出现错误比特的Burst的位置或者出现错误比特的Burst是否连续。
6.根据权利要求4所述的方法,其特征在于,所述从DQ角度描述的出错形式特征包括下述中的一个或多个:同一DQ内出错比特的数量、同一DQ内出错比特的位置、同一DQ内的出错比特是否连续、出现错误比特的DQ的数量、出现错误比特的DQ的位置或者出现错误比特的DQ是否连续。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述基于所述ECC校验出错特征中的出错位置特征,对所述多个ECC校验出错特征进行特征聚合,得到聚合错误特征,包括:
确定进行特征聚合的目标粒度;
基于所述ECC校验出错特征中的出错位置特征,将所述多个ECC校验出错特征聚合为目标粒度的聚合错误特征。
8.根据权利要求7所述的方法,其特征在于,所述目标粒度包括下述中的任意一个:BANK行粒度、BANK列粒度、BANK粒度、RANK粒度、内存条粒度、通道粒度、内存控制器粒度、CPU粒度或设备粒度。
9.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法包括:获取所述待预测设备的目标静态特征;
所述根据所述聚合错误特征,预测所述待预测设备是否会出现内存不可纠正错误,包括:
根据所述聚合错误特征和所述目标静态特征,预测所述待预测设备是否会出现内存不可纠正错误。
10.根据权利要求9所述的方法,其特征在于,所述当前时间窗口包括窗口大小不同的多个当前时间窗口;所述聚合错误特征包括所述多个当前时间窗口分别对应的聚合错误特征。
11.根据权利要求1-6中任一项所述的方法,其特征在于,所述根据所述聚合错误特征,预测所述待预测设备是否会出现内存不可纠正错误,包括:
将所述聚合错误特征输入预测模型,得到所述待预测设备是否会出现内存不可纠正错误的预测结果。
12.一种内存故障预测装置,其特征在于,包括:
获取模块,用于获取当前时间窗口内待预测设备多次出现内存可纠正错误的多个ECC校验出错特征;所述ECC校验出错特征包括出错位置特征和出错形式特征;
聚合模块,用于基于所述ECC校验出错特征中的出错位置特征,对所述多个ECC校验出错特征进行聚合,得到聚合错误特征;
预测模块,用于根据所述聚合错误特征,预测所述待预测设备是否会出现内存不可纠正错误。
13.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至11中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被执行时,实现如权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210604963.7A CN114996065A (zh) | 2022-05-30 | 2022-05-30 | 内存故障预测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210604963.7A CN114996065A (zh) | 2022-05-30 | 2022-05-30 | 内存故障预测方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114996065A true CN114996065A (zh) | 2022-09-02 |
Family
ID=83030176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210604963.7A Pending CN114996065A (zh) | 2022-05-30 | 2022-05-30 | 内存故障预测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114996065A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629905A (zh) * | 2022-12-21 | 2023-01-20 | 苏州浪潮智能科技有限公司 | 一种内存故障预警方法、装置、电子设备及可读介质 |
CN116841795A (zh) * | 2023-08-29 | 2023-10-03 | 苏州浪潮智能科技有限公司 | 一种内存设备控制方法、装置、电子设备及存储介质 |
-
2022
- 2022-05-30 CN CN202210604963.7A patent/CN114996065A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115629905A (zh) * | 2022-12-21 | 2023-01-20 | 苏州浪潮智能科技有限公司 | 一种内存故障预警方法、装置、电子设备及可读介质 |
WO2024131015A1 (zh) * | 2022-12-21 | 2024-06-27 | 苏州元脑智能科技有限公司 | 一种内存故障预警方法、装置、电子设备及可读介质 |
CN116841795A (zh) * | 2023-08-29 | 2023-10-03 | 苏州浪潮智能科技有限公司 | 一种内存设备控制方法、装置、电子设备及存储介质 |
CN116841795B (zh) * | 2023-08-29 | 2024-01-12 | 苏州浪潮智能科技有限公司 | 一种内存设备控制方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105589762B (zh) | 存储器装置、存储器模块和用于纠错的方法 | |
CN109584945A (zh) | 具有机器学习机制的存储系统及其操作方法 | |
US20190034270A1 (en) | Memory system having an error correction function and operating method of memory module and memory controller | |
CN114996065A (zh) | 内存故障预测方法、装置及设备 | |
EP2048579A2 (en) | System and method for managing memory errors in an information handling system | |
US11080135B2 (en) | Methods and apparatus to perform error detection and/or correction in a memory device | |
US20230185659A1 (en) | Memory Fault Handling Method and Apparatus | |
US20230083193A1 (en) | Uncorrectable memory error prediction | |
CN111566738B (zh) | 存储器系统中的有效和选择性的备用位 | |
WO2016022156A1 (en) | Error counters on a memory device | |
CN107134295B (zh) | 存储器诊断系统 | |
Du et al. | Predicting uncorrectable memory errors for proactive replacement: An empirical study on large-scale field data | |
CN111221775B (zh) | 处理器、缓存处理方法及电子设备 | |
CN112700816A (zh) | 具有裸片上镜像功能的存储器芯片和用于测试其的方法 | |
US20170293514A1 (en) | Handling repaired memory array elements in a memory of a computer system | |
CN115509786A (zh) | 一种报告故障的方法、装置、设备及介质 | |
CN117971539A (zh) | 一种内存故障处理方法、计算设备及管理平台 | |
CN113936704A (zh) | 基于存储器子系统的存储器裸片的温度监测的异常条件检测 | |
CN112540869A (zh) | 存储器控制器、存储装置和存储装置的操作方法 | |
CN116244127A (zh) | 一种硬盘检测方法、装置、设备以及存储介质 | |
CN117806855A (zh) | 内存错误处理方法及装置 | |
CN113625957B (zh) | 一种硬盘故障的检测方法、装置及设备 | |
US11593209B2 (en) | Targeted repair of hardware components in a computing device | |
CN108231134B (zh) | Ram良率补救方法及装置 | |
CN115269245B (zh) | 一种内存故障处理方法及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |