一种内存故障识别方法及一种内存故障隔离方法技术

技术编号:34440932 阅读:16 留言:0更新日期:2022-08-06 16:30
本说明书提供了一种内存故障识别方法和一种内存故障隔离方法,预先配置故障数据库,所述故障数据库中记录有所有内存单元的全生命周期的故障记录,每一内存单元故障记录至少包括该内存单元全生命周期内发生CE的次数;在内存单元发生可修正错误CE的情况下,更新故障数据库;针对每一内存单元,在故障数据库中该内存单元全生命周期内发生CE的次数超过次数阈值的情况下,确定该内存单元存在hard fault。通过记录有各个内存单元全生命周期CE次数的故障数据库来进行内存故障的隔离,可以提升隔离的准确度和覆盖率,减少了soft fault误识别成hard fault的概率,提高了hard fault被隔离的概率。被隔离的概率。被隔离的概率。

【技术实现步骤摘要】
一种内存故障识别方法及一种内存故障隔离方法


[0001]本说明书一个或多个实施例涉及终端
,尤其涉及一种内存故障识别方法及一种内存故障隔离方法。

技术介绍

[0002]内存故障是影响计算机运行性能的一个重要因素,发现内存故障时,需要将该故障的地址对应的内存页(page)下线(也就是使操作系统不能继续往该内存页写入数据,下线后的内存页即为被隔离的内存页),防止计算机访问该内存页而影响计算机运行性能。
[0003]内存故障分为Permanent Fault(永久故障,又称hard fault)和Transient fault(瞬时性故障,又称soft fault),其中,soft fault是一种短暂性的故障,故障发生一段时间后就会恢复,因此soft fault并不需要隔离,需要隔离的是会反复频发的hard fault。
[0004]对于操作系统而言,由于当某一内存单元发生故障时,操作系统就会上报可修正错误(correctable error,CE)。换言之,不论hard fault和soft fault,操作系统发现时都会上报CE,操作系统无法区分两种故障。
[0005]相关技术中,一般是通过守护进程(deamon)来识别hard fault,由于hard fault具备重复性,因此一定时间(比如24小时)内,如果一个内存页出现两次CE,deamon则认为该内存页存在hard fault。
[0006]而相关技术中识别hard fault方式并不准确,对于一些对内存容量要求高或者对于性能要求高的领域来说,这种识别hard fault方式会对运行性能造成影响,或者使得内存容量达不到要求。

技术实现思路

[0007]有鉴于此,本说明书一个或多个实施例提供一种内存故障识别方法及一种内存故障隔离方法。
[0008]根据本说明书一个或多个实施例的第一方面,提出了一种内存故障识别方法,预先配置故障数据库,所述故障数据库中记录有所有内存单元的全生命周期的故障记录,每一内存单元故障记录至少包括该内存单元全生命周期内发生CE的次数;所述方法包括:
[0009]在内存单元发生可修正错误CE的情况下,更新故障数据库;
[0010]针对每一内存单元,在故障数据库中该内存单元全生命周期内发生CE的次数超过次数阈值的情况下,确定该内存单元存在hard fault。
[0011]根据本说明书一个或多个实施例的第二方面,提出了一种内存故障隔离方法,所述方法包括:
[0012]根据上述的内存故障识别方法,确定各内存单元的故障结果;各内存单元的结果类型用于表征各内存单元是否存在hard fault;
[0013]根据各内存页对应的内存单元故障结果,确定故障内存页;其中,所述故障内存页存在的故障导致不可修正错误UE的可能性大于可能性阈值;
[0014]隔离所述故障内存页。
[0015]根据本说明书实施例的第三方面,提供一种内存故障识别装置,预先配置故障数据库,所述故障数据库中记录有所有内存单元的全生命周期的故障记录,每一内存单元故障记录至少包括该内存单元全生命周期内发生CE的次数;所述装置包括:
[0016]故障数据库更新模块,用于在内存单元发生可修正错误CE的情况下,更新故障数据库;
[0017]内存故障识别模块,用于针对每一内存单元,在故障数据库中该内存单元全生命周期内发生CE的次数超过次数阈值的情况下,确定该内存单元存在hard fault。
[0018]根据本说明书实施例的第四方面,提供一种内存故障隔离装置,所述装置包括:
[0019]故障结果确定模块,用于根据前述的故障识别方法,确定各内存单元的故障结果;各内存单元的结果类型用于表征各内存单元是否存在hard fault;
[0020]故障内存页确定模块,用于根据各内存页对应的内存单元故障结果,确定故障内存页;其中,所述故障内存页存在的故障导致不可修正错误UE的可能性大于可能性阈值;
[0021]内存页隔离模块,用于隔离所述故障内存页。
[0022]根据本说明书实施例的第五方面,提供一种内存故障隔离系统,所述内存故障隔离系统包括若干服务器,和用于管理若干服务器的中心设备;
[0023]所述服务器在发生CE的情况下,将CE上报给中心设备;
[0024]所述中心设备至少用于通过上述的内存故障识别方法识别存在hard fault的内存单元,或通过上述的内存故障隔离方法确定需要隔离的内存页,并通知服务器隔离该内存页。
[0025]根据本说明书实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现上述的内存故障识别方法或上述的内存故障隔离方法。
[0026]根据本说明书实施例的第七方面,提供一种电子设备,包括:
[0027]处理器;
[0028]用于存储处理器可执行指令的存储器;
[0029]其中,所述处理器通过运行所述可执行指令以实现上述的内存故障识别方法或上述的内存故障隔离方法。
[0030]本说明书提供了一种内存故障识别方法和一种内存故障隔离方法,预先配置故障数据库,所述故障数据库中记录有所有内存单元的全生命周期的故障记录,每一内存单元故障记录至少包括该内存单元全生命周期内发生CE的次数;在内存单元发生可修正错误CE的情况下,更新故障数据库;针对每一内存单元,在故障数据库中该内存单元全生命周期内发生CE的次数超过次数阈值的情况下,确定该内存单元存在hard fault。
[0031]通过记录有各个内存单元全生命周期CE次数的故障数据库来进行内存故障的隔离,可以提升隔离的准确度和覆盖率,减少了soft fault误识别成hard fault的概率,提高了hard fault被隔离的概率。
[0032]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
[0033]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
[0034]图1是本说明书示出的相关技术一种内存故障隔离方法的流程图。
[0035]图2A是本说明书根据一示例性实施例示出的一种内存故障识别方法的流程图。
[0036]图2B是本说明书根据一示例性实施例示出的一种故障类型的示意图。
[0037]图3是本说明书根据一示例性实施例示出的一种内存故障隔离方法的流程图。
[0038]图4A是本说明书根据一具体实施例示出的一种内存故障隔离方法的示意图。
[0039]图4B是本说明书根据一具体实施例示出的一种内存故障隔离方法的流程图。
[0040]图5是本说明书根据一示例性实施例示出的一种内存故障识别装置的框图。
[0041]图6是本说明书根据一示例性实施例示出的一种内存故障隔离装置的框图。
[0042]图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存故障识别方法,预先配置故障数据库,所述故障数据库中记录有所有内存单元的全生命周期的故障记录,每一内存单元故障记录至少包括该内存单元全生命周期内发生CE的次数;所述方法包括:在内存单元发生可修正错误CE的情况下,更新故障数据库;针对每一内存单元,在故障数据库中该内存单元全生命周期内发生CE的次数超过次数阈值的情况下,确定该内存单元存在hard fault。2.根据权利要求1所述的方法,所述在内存单元发生可修正错误CE的情况下,更新故障数据库,包括:获取内存单元发生的CE对应日志文件;对获取的日志文件进行解析,输出预定格式的故障记录;所述预定格式的故障记录至少包括发生CE的内存单元的地址;将预定格式的故障记录存储至故障数据库,并更新故障数据库中对应内存单元发生CE的次数。3.根据权利要求1所述的方法,所述方法还包括:针对每个内存库,根据故障数据库中该内存库包含的内存单元全生命周期的故障记录和各内存单元的物理位置关系,确定该内存库的故障类型;所述内存库的故障类型用于表征内存库故障的严重程度。4.根据权利要求3所述的方法,所述根据故障数据库中该内存库包含的内存单元全生命周期的故障记录和各内存单元的物理位置关系,确定该内存库的故障类型,包括:在该内存库中发生过CE的内存单元数量小于第一数量阈值,且至少1个发生过CE的内存单元存在hard fault,则确定该内存库的故障类型为重复故障;在该内存库中存在故障行或故障列,则确定该内存库的故障类型为行或列故障;所述故障行或故障列中发生过CE的内存单元数量大于等于第一数量阈值,且所述故障行或故障列中不存在hard fault;在该内存库中存在严重故障行或严重故障列,且严重故障行和/或严重故障列的数量小于第二数量阈值,则确定该内存库的故障类型为严重行或列故障;所述严重故障行或严重故障列中发生过CE的内存单元数量大于等于第一数量阈值,且所述严重故障行或严重故障列中至少一个内存单元存在hard fault;在该内存库中发生过CE的内存单元数量大于第三数量阈值,且发生过CE的行和列的总数大于第四数量阈值的情况下,确定该内存库的故障类型为严重故障;所述第三数量阈值大于所述第一数量阈值,所述第四数量阈值大于所述第二数量阈值。5.根据权利要求3所述的方法,所述方法还包括:针对每一双列直插式存储模块dimm,根据该dimm中包含的各内存库的故障类型,确定该dimm的故障类型;所述dimm的故障类型用于表征dimm故障的严重程度。6.一种内存故障隔离方法,所述方法包括:根据权利要求1

5...

【专利技术属性】
技术研发人员:马旭华
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1