CN115391072A - 内存故障处理方法、系统及存储介质 - Google Patents

内存故障处理方法、系统及存储介质 Download PDF

Info

Publication number
CN115391072A
CN115391072A CN202210867700.5A CN202210867700A CN115391072A CN 115391072 A CN115391072 A CN 115391072A CN 202210867700 A CN202210867700 A CN 202210867700A CN 115391072 A CN115391072 A CN 115391072A
Authority
CN
China
Prior art keywords
fault
memory
mode
failure
target
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
Application number
CN202210867700.5A
Other languages
English (en)
Inventor
鲍全洋
张光彪
韦炜玮
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.)
Henan Kunlun Technology Co ltd
Original Assignee
XFusion Digital Technologies Co Ltd
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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202210867700.5A priority Critical patent/CN115391072A/zh
Publication of CN115391072A publication Critical patent/CN115391072A/zh
Pending legal-status Critical Current

Links

Images

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/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/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/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0793Remedial or corrective actions
    • 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
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/81Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a hierarchical redundancy scheme

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请实施例提供了一种内存故障处理方法、系统及存储介质,涉及内存技术领域。该方法根据目标内存的错误信息确定目标内存的故障严重程度和目标内存中发生故障的至少一个物理位置,并在故障严重程度满足预设条件时,请求CPU对至少一个物理位置进行故障修复。由于确定了目标内存的故障严重程度,并在故障严重程度满足预设条件时,才请求CPU对至少一个物理位置进行故障修复,因此,不仅有助于降低内存故障对系统的影响,还有助于避免过度使用故障修复资源,导致后期预测到目标内存的故障严重程度更严重时,没有足够的故障修复资源进行故障修复,提高了故障修复资源的利用率。

Description

内存故障处理方法、系统及存储介质
技术领域
本申请涉及内存技术领域,尤其涉及一种内存故障处理方法、系统及存储介质。
背景技术
内存是计算机设备的重要存储部件,用于暂时存放处理器中的运算数据、以及与硬盘等外部存储器交换的数据。随着内存容量的越来越大,内存的基础失效率也越来越高,这导致内存故障对计算机设备的系统的影响越来越大。
相关技术中,为了降低内存故障对系统的影响,通常采用奇偶校验(Parity)、错误检查与纠正(error checking and correcting,ECC)等纠错方法对内存进行检查,并对检查到错误进行纠错。然而,这些纠错算法的纠错能力有限,如果超出了纠错算法的纠错能力,则会产生纠错失败,导致系统发生严重故障,例如,宕机,造成内存中的数据丢失。
因此,如何更加有效的降低内存故障对系统的影响,成为亟待解决的技术问题。
发明内容
本申请实施例提供一种内存故障处理方法、系统及存储介质,能够在内存故障对系统造成影响前,对健康度不达标的内存进行故障修复,以避免其发生内存故障,有助于更加有效的降低内存故障对系统的影响。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种内存故障处理方法,该方法包括:带外控制器获取目标内存的错误信息;带外控制器根据错误信息,确定目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息;至少一个故障位置信息分别指示了目标内存上中发生故障的至少一个物理位置;在故障严重程度满足预设条件的情况下,带外控制器向中央处理器CPU发送修复请求;修复请求用于请求处CPU对至少一个物理位置进行故障修复。
该方案中,通过目标内存的错误信息确定目标内存的故障严重程度和目标内存中发生故障的至少一个物理位置,并在故障严重程度满足预设条件时,请求CPU对至少一个物理位置进行故障修复。由于预测了目标内存的故障严重程度,并在故障严重程度满足预设条件时,才请求CPU对至少一个物理位置进行故障修复,因此,不仅有助于降低内存故障对系统的影响,还有助于避免过度使用故障修复资源,导致后期预测到目标内存的故障严重程度更严重时,没有足够的故障修复资源进行故障修复,提高了故障修复资源的利用率。
在一种可能的实现方式中,故障分析信息还包括至少一个物理位置所属的至少一个故障模式,每个故障模式配置有一个健康度阈值;故障分析信息包括目标内存的故障严重程度具体为故障分析信息包括目标内存的健康度值,健康度值用于指示目标内存的故障严重程度;故障严重程度满足预设条件,包括:健康度值未达到至少一个故障模式中目标故障模式的健康度阈值;修复请求具体用于请求CPU对目标物理位置进行修复,目标物理位置为至少一个物理位置中属于目标故障模式的物理位置。
在该种实现方式中,通过预先为每种故障模式设置一个健康度阈值,并分析目标内存中发生故障的至少一个物理位置所属的至少一个故障模式,从而实现为目标内存存在的至少一个故障模式中分别配置一个健康度阈值,进而可以根据至少一个故障模式中的目标故障模式的健康度阈值与目标内存的健康度之间的关系,确定是否对属于目标故障模式的目标物理位置进行故障修复。一方面,通过为至少一个故障模式分别配置一个健康度阈值,实现为至少一个物理位置分别配置一个健康度阈值,进而可以根据每个物理位置的健康度阈值与目标内存的健康度值之间的关系,筛选出健康度不达标的目标物理位置,这样,根据每个物理位置的达标情况筛选待修复的目标物理位置,有助于提高目标物理位置确定的准确性,并保证目标物理位置是至少一个物理位置中故障严重程度最高的,也即,最急需被修复的物理位置,且修复目标物理位置相对于修复非目标物理位置,更能够降低内存故障对系统的影响。另一方面,通过仅对目标物理位置进行故障修复,而不是全部物理位置进行故障修复,有助于提高故障修复资源的利用率,实现合理利用有限的故障修复资源,避免过度使用故障修复资源,导致将来目标内存的故障严重程度更严重时没有故障修复资源进行修复。此外,由于故障模式与故障修复方式具有一一对应的关系,因此,使得CPU可以根据修复请求中的目标物理位置所属的故障模式快速且准确的确定目标确定物理位置的故障修复方式,有助于提高故障修复的效率,以及故障修复方式与物理位置的匹配度,避免故障修复方式所使用的冗余资源与物理位置不匹配,造成无效修复,浪费修复资源。
另一种可能的实现方式中,该方法还包括:带外控制器对至少一个故障位置信息进行聚类处理,得到至少一个故障模式。
在该种实现方式中,通过至少一个故障位置信息进行聚类处理,实现对目标内存中发生故障的至少一个物理位置进行聚类处理得到至少一个故障模式,从而使得一个故障模式能够指示属于该一个故障模式的多个物理位置所在的物理区域,进而使得在根据故障模式进行故障修复时,可以对故障模式指示的物理区域上的多个物理位置进行集中修复,有助于提高修复效率,以及每次进行故障修复所覆盖的物理位置的数量。
另一种可能的实现方式中,至少一个故障模式包括第一故障模式,方法还包括:带外控制器根据第一故障模式的修复代价,确定第一故障模式的健康度阈值。
在该种实现方式中,通过根据第一故障模式的修复代价,确定第一故障模式的健康度阈值,从而可以根据第一故障模式的修复代价的大小,设置合适的健康度门限值,例如,修复代价较大时设置相对较低的健康度门限值,以尽量减少进行故障修复的概率,修复代价较低时设置相对于较高的健康度门限值,以尽量提高进行故障修复的概率,不仅可以避免为了修复内存故障付出较大的代价,还可以实现以较低的代价对目标内存进行故障修复,降低内存故障对系统的影响。
另一种可能的实现方式中,带外控制器根据第一故障模式的修复代价,确定第一故障模式的健康度阈值,包括:带外控制器获取第一故障模式所使用的故障修复方式的可用修复资源的第一数量;带外控制器根据第一数量,确定第一故障模式的健康度阈值;第一数量与修复代价成反比。
在该种实现方式中,通过根据第一故障模式的可用修复资源的第一数量,确定第一故障模式的健康度阈值,有助于合理使用有限的可用修复资源,例如,在第一故障模式的可用修复资源较多时,为第一故障模式确定较大的健康度阈值,而在第一故障模式的可用修复资源较少时,为第一故障模式确定较小的健康度阈值,从而提高可用修复资源的利用率,避免有限的可用修复资源被过度使用,导致将来预测到目标内存的故障严重程度更严重时没有足够的可用修复资源进行故障修复。
另一种可能的实现方式中,带外控制器根据第一故障模式的修复代价,确定第一故障模式的健康度阈值,包括:带外控制器根据第一故障模式对目标内存所属计算机设备的性能的影响程度,确定第一故障模式的健康度阈值,影响程度与修复代价成正比。
在该种实现方式中,通过第一故障模式对计算机设备的性能的影响程度,确定第一故障模式的健康度阈值,从而可以根据第一故障模式对性能的影响程度,为第一故障模式设置合适的健康度门限值,例如,在第一故障模式对性能影响较大时,为第一故障模式确定较小的健康度阈值,而在第一故障模式所使用的故障修复方式对性能影响较小时,为第一故障模式确定较大的健康度阈值,进而可以对目标内存上对性能影响最低的物理位置进行故障修复,有助于避免为修复内存故障而影响计算机设备的性能。
另一种可能的实现方式中,至少一个故障模式包括第一故障模式,方法还包括:带外控制器获取第一故障模式所使用的故障修复方式的可用修复资源的第二数量;带外控制器根据第二数量,更新第一故障模式的健康度阈值。
在该种实现方式中,通过第一故障模式的可用修复资源的第二数量,更新第一故障模式的健康度阈值,从而使得第一故障模式的健康度阈值能够准确表征修复属于第一故障模式的物理位置的当前代价,进而有助于更加准确的衡量是否对属于第一故障模式的物理位置进行故障修复。
另一种可能的实现方式中,故障模式包括以下任一种:页故障、比特故障、行故障和存储阵列故障。
在该种实现方式中,通过设置故障模式包括页故障、比特故障、行故障和存储阵列故障中的任一项,从而可以根据指示物理位置的第一地址信息准确预测物理位置所属的故障模式,有助于提高物理位置所属故障模式预测的准确性和便利性。
另一种可能的实现方式中,故障分析信息还包括至少一个物理位置所使用的至少一个故障修复方式,每个故障修复方式配置有一个健康度阈值,故障分析信息包括目标内存的故障严重程度具体为故障分析信息包括目标内存的健康度值,健康度值用于指示目标内存的故障严重程度;故障严重程度满足预设条件,包括:健康度值未达到至少一个故障修复方式中目标故障修复方式的健康度阈值;修复请求具体用于请求CPU对目标物理位置进行修复,目标物理位置为至少一个物理位置中使用目标故障修复方式的物理位置。
在该种实现方式中,通过预先为每种故障修复方式设置一个健康度阈值,并分析目标内存中发生故障的至少一个物理位置所使用的至少一个故障修复方式,实现为目标内存所需使用的至少一个故障修复方式分别配置一个健康度阈值,从而可以对每个物理位置的健康度值是否达标进行单独判断,进而可以进行对目标内存上健康度不达标的目标物理位置进行故障修复,有助于提高故障修复的合理性和性价比。一方面,根据每个物理位置的健康度阈值与目标内存的健康度值之间的关系,筛选出健康度不达标的目标物理位置,这样,根据每个物理位置的达标情况筛选待修复的目标物理位置,有助于提高目标物理位置确定的准确性,并保证目标物理位置是至少一个物理位置中故障严重程度最高的,也即,最急需被修复的物理位置,且修复目标物理位置相对于修复非目标物理位置,更能够降低内存故障对系统的影响。另一方面,通过仅对目标物理位置进行故障修复,而不是全部物理位置进行故障修复,有助于提高故障修复资源的利用率,实现合理利用有限的故障修复资源,避免过度使用故障修复资源,导致将来目标内存的故障严重程度更严重时没有故障修复资源进行修复。此外,CPU可以根据修复请求中的目标物理位置所属的故障修复方式对目标物理位置进行修复,有助于提高故障修复的效率,以及故障修复方式与物理位置的匹配度,避免故障修复方式所使用的冗余资源与物理位置不匹配,造成无效修复,浪费修复资源。
另一种可能的实现方式中,故障修复方式包括以下任一种:页隔离、比特隔离、行隔离和存储阵列隔离。
在该种实现方式中,通过设置故障修复方式包括页隔离、比特隔离、行隔离和存储阵列隔离中的任一项,从而可以根据指示物理位置的故障位置信息准确预测物理位置所使用的故障修复方式,有助于提高物理位置所使用的故障修复方式预测的准确性和便利性。
另一种可能的实现方式中,带外控制器根据目标内存的错误信息,确定目标内存的故障分析信息,包括:带外控制器将目标内存的错误信息输入机器学习模型,得到机器学习模型输出的目标内存的故障分析信息。
在该实现方式中,由于机器学习模型是预先训练完成的,因此,将目标内存的错误信息输入机器学习模型即可得到目标内存的故障分析信息,不需要用户参与计算和数据处理,不仅有助于提高故障预测的速度,还可以避免用户操作所造成的人工错误,进而提高故障分析信息的准确性。
另一种可能的实现方式中,故障处理方法还包括:在故障严重程度满足告警条件的情况下,带外控制器输出告警信息,告警信息用于提示目标内存存在发生不可纠正错误的风险。
在该实现方式中,通过设置告警条件,并在目标内存的故障严重程度满足告警条件时,输出告警信息,以提示用户目标内存存在发生故障的风险,方便用户根据实际情况确定是否进行处理。
第二方面,提供了一种内存故障处理装置,该装置包括:用于执行第一方面提供的任意一种方法的功能单元,各个功能单元所执行的动作通过硬件实现或通过硬件执行相应的软件实现。例如,内存故障处理装置可以是带外管理模块,具体包括:获取单元、确定单元和发送单元;获取单元,用于获取目标内存的错误信息;确定单元,用于根据错误信息,确定目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息;至少一个故障位置信息指示了目标内存中发生故障的至少一个物理位置;发送单元,用于在故障严重程度满足预设条件的情况下,向处理器固件发送修复请求;修复请求用于请求处理器固件对至少一个物理位置进行故障修复。
第三方面,提供了一种内存故障处理系统,包括:带外管理模块和处理器固件。其中,带外管理模块用于执行第一方面提供的任意一种方法,处理器固件用于基于带外控制器的修复请求,对计算机设备的内存进行故障修复。
第四方面,提供了一种计算机设备,包括:包括:处理器和存储器,处理器与存储器连接。存储器用于存储计算机执行指令,处理器执行存储器存储的计算机执行指令,从而实现第一方面提供的任意一种方法。
第五方面,提供了一种芯片,例如,该芯片为带外管理芯片,该芯片包括:处理器和接口电路;接口电路,用于接收代码指令并传输至处理器;处理器,用于运行代码指令以执行上述第一方面提供的任意一种方法。
第六方面,提供了一种计算机可读存储介质,存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面提供的任意一种方法。
第七方面,提供了一种计算机程序产品,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面提供的任意一种方法。
其中,第二方面至第七方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种计算机设备的硬件与软件之间的架构图;
图2为本申请实施例提供的一种内存故障处理方法的流程图;
图3为本申请实施例提供的另一种内存故障处理方法的流程图;
图4为本申请实施例提供的另一种内存故障处理方法的流程图;
图5为本申请实施例提供的一种内存故障处理装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
其中,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。
并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
首先,对本申请实施例的应用场景进行示例性介绍。
本申请实施例的内存故障处理方法能够应用于动态随机存取存储器(dynamicrandom access memory,DRAM)、静态随机存取存储器(static random access memory,SRAM)等内存,本申请实施例的方法对于内存的类型不作限制。
目前,大部分计算机设备的处理器都支持ECC纠错方法,在内存每次执行读写任务时,处理器会对内存进行ECC纠错。然而,ECC只能用于纠正1个比特(bit)错误和检测2个比特错误,对于1个比特以上错误则无法纠正,2比特以上的错误则不能保证可以检测到。具体来说,能够被纠正的错误称为可纠正错误(corrected error,CE),如果超出纠错算法的能力,例如,内存上有大范围的多比特失效时,则会纠错失败,产生不可纠正错误(uncorrected error,UCE),导致计算机设备的系统发生严重故障,比如,宕机,造成内存中的数据丢失。
有鉴于此,在下述各个示例中,本申请实施例提供了一种内存故障处理方法,通过目标内存的错误信息预测目标内存的故障严重程度和目标内存中发生故障的至少一个物理位置,并在故障严重程度满足预设条件时,请求中央处理器CPU对至少一个物理位置进行故障修复。由于预测了故障严重程度,并在故障严重程度满足预设条件时,才请求CPU对至少一个物理位置进行故障修复,因此,不仅有助于降低目标内存未来发生不可纠正错误的可能性,进而降低内存故障对系统的影响,还有助于避免过度使用故障修复资源,导致后期目标内存的故障严重程度更严重时,没有足够的故障修复资源进行故障修复,提高了故障修复资源的利用率。
其次,对本申请实施例的系统架构进行示例性介绍。
如图1所示,为本申请实施例提供的一种系统架构的示意图。该系统架构是计算机设备的举例说明。参考图1,该计算机设备的硬件部分包括处理器、带外控制器以及内存,软件部分主要包括带外管理模块、处理器固件以及操作系统(operating system,OS)管理单元。其中,带外管理模块位于带外控制器内,OS管理单元位于处理器内,处理器固件可以位于处理器内(如图1所示),或者处理器固件也可以位于处理器外的固件芯片(图1中未示出)内。其中,带外管理模块可以为非业务模块的管理单元。例如,带外管理模块可以通过专用的数据通道对计算机设备进行远程维护和管理,该带外管理模块是完全独立于计算机设备的操作系统之外,可以通过计算机设备的带外管理接口与基本输入输出系统(basic inputoutput system,BIOS)和OS(或OS管理单元)进行通信。
示例性的,带外管理模块可以包括计算机设备运行状态的管理单元、处理器外的管理芯片中的管理系统、计算机设备主板管理单元(baseboard management controller,BMC)、系统管理模块(system management mode,SMM)等。需要说明的,本申请实施例对带外管理模块的具体形式并不限定,以上仅为示例性说明。在下述实施例中,仅以带外管理模块为BMC为例进行说明。
需要说明的,下述实施例中描述的带外管理模块执行某个步骤(如以下的S201),可以理解为是:带外控制器调用带外管理模块执行该步骤。
示例性的,处理器固件(也称为处理器固件程序)可以为Firmware、基本输入输出系统(basic input output system,BIOS)、管理引擎(management engine,ME)、微码或智能管理单元(intelligent management unit,IMU)等固件。需要说明的,本申请实施例对处理器固件的具体形式并不限定,以上仅为示例性说明。在下述实施例中,仅以处理器固件为BIOS为例进行说明。
其中,内存,也称为内存储器或主存储器,安装在计算机设备的主板上的内存插槽中,内存与内存控制器之间通过内存通道(channel)进行通信。内存具有至少一个内存列(rank),每个内存列分别位于内存的一个面上,每个内存列包括至少一个子内存列(subrank),内存列或子内存列包括多个内存芯片(device),每个内存芯片被划分为多个存储阵列组(bankgroup),每个存储阵列组包括多个存储阵列(bank),每个存储阵列划分为多个存储单元(cell),每个存储单元具有一个行(row)地址和一个列(column)地址,每个存储单元包括一个或多个比特位。在一种划分方式中,内存从上级至下级可以依次划分为内存芯片、存储阵列组、存储阵列,存储行/存储列、存储单元、比特位,其中,内存颗粒、存储阵列组、存储阵列、存储行、存储了列、存储单元、比特位在内存上的地址为真实的物理地址。在另一种划分方式中,CPU基于分页机制将内存芯片划分为多个内存页(page),其中,内存页的地址为虚拟地址,虚拟地址需要转换后才会变为真实的物理地址。
需要说明的,本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
为了便于理解,以下结合附图对本申请提供的内存故障处理方法进行示例性介绍。
图2是根据一示例性实施例示出的一种内存故障处理方法的流程图。示例性的,该方法包括S201-S204。
S201:带外管理模块获取目标内存的错误信息。
可选地,目标内存的错误信息包括CE的类别、CE发生时间、CE出错次数、CE的物理地址信息、CE的系统地址信息、内存巡检出错次数、内存巡检出错行地址、内存巡检出错最多行地址、不可纠正错误的类型、不可纠正错误的状态、不可纠正错误的发生时间、不可纠正错误的出错次数、不可纠正错误的物理地址信息、不可纠正错误的物理地址信息、ECC纠错寄存器信息、机器检查体系(machine-check architecture,MCA)寄存器信息、MCA报告(report)信息、模式寄存器(mode register,MR)寄存器信息中的至少一项。
其中,CE的类别包括巡检可纠正错误、读写可纠正错误、搬移可纠正错误、镜像回写可纠正错误等。
其中,不可纠正错误的类型包括突发致命错误、选择处理(SW recoverableaction optional,SRAO)错误、不需要处理(uncorrected no action,UCNA)错误、必须处理(SW recoverable action required,SRAR)错误、巡检不可纠正错误等。
由于内存发生可纠正错误的次数会比较多,且内存在发生不可纠正错误前,通常会发生可纠正错误,因此,基于目标内存的可纠正错误信息,例如,CE的类别、CE发生时间、CE出错次数、CE的物理地址信息、CE的系统地址信息、内存巡检出错次数、内存巡检出错行地址、内存巡检出错最多行地址等,生成目标内存的故障分析信息,有助于提高用于确定故障分析信息的基础数据的数量,进而有助于提高目标内存的故障分析信息的准确性。
另外,内存已发生过不可纠正错误的位置,相对于其他位置会更容易发生不可纠正错误,因此,基于目标内存的不可纠正错误信息,例如,不可纠正错误的类型、不可纠正错误的状态、不可纠正错误的发生时间、不可纠正错误的出错次数、不可纠正错误的物理地址信息、不可纠正错误的物理地址信息等,生成目标内存的故障分析信息,有助于提高目标内存的故障分析信息的准确性。
在一些实施例中,目标内存的错误信息为目标内存在第一时间段内的错误信息,其中,第一时间段的时长可以是5天、15天、30天等,也即,第一时间段可以是获取错误信息的时间点之前的5天、15天或30天等时间段。
对于如何获取目标内存的错误信息,包括多种实现方式,以下通过方式1和方式2进行示例性说明。
方式1:在检测到目标内存发生错误的情况下,带外管理模块获取目标内存的错误信息。
相关技术中,内存每次执行读写任务时,CPU会基于ECC纠错方法对内存进行错误检测,如果检测到错误则会对该错误进行纠正。
在一些实施例中,在检测到错误时,由CPU或处理器固件向带外管理模块发送目标内存的错误信息。在另一些实施例中,在检测到错误并对错误进行纠正后,由CPU或处理器固件向带外管理模块发送目标内存的错误信息。
可以理解的,在方式1中,目标内存为计算机设备上检测到发生错误的内存。
方式2:带外管理模块按照第一预设周期,周期性获取目标内存的错误信息。
在一些实施例中,第一预设周期可以5天、15天、30天等,本申请实施例对此不做限制。
在一些实施例中,周期性获取目标内存的可纠正错误信息,可以是带外管理模块主动向CPU或处理器固件获取,或者,也可以是CPU或处理器固件周期性采集目标内存的错误信息后,主动发送给带外管理模块,本申请对此不做限制。
可以理解的,在方式2中,目标内存可以是计算机设备上的任意一个内存。
在一些实施例中,带外管理模块获取目标内存的错误信息时,还可以获取目标预测信息,从而基于目标内存的错误信息和目标预测信息,确定目标内存的故障分析信息。其中,目标预测信息包括目标内存的运行状态信息、目标内存的固有参数信息、目标内存所在的计算机设备的CPU的固有参数信息、CPU的运行状态信息以及处理器固件的配置信息中的至少一项。
其中,目标内存的运行状态信息包括目标内存的占用率信息、温度信息、运行程序信息中的至少一项。目标内存的固有参数信息包括内存的类型、厂商标识、容量、工艺代次、主频、序列号、最小电压、内存列数、位宽中的至少一项。CPU的固有参数信息包括CPU的厂商标识、类别、型号、主频、工艺代次中的至少一项。CPU的运行状态信息包括CPU占用率信息、温度信息、运行程序信息中的至少一种。处理器固件的配置信息包括配置项,例如,配置项可以是单倍刷新频率、双倍刷频率等。
在一些实施例中,根据目标内存的错误信息和目标预测信息确定故障分析信息时,可以根据错误信息和目标预测信息构建二维或多维的组合参数,组合参数可以是(错误信息,目标内存的固有参数信息,……,CPU的运行状态信息)、(CE发生时间,CE出错次数,……,CE类别)等形式,然后,根据该组合参数确定故障分析信息,从而可以从多个维度评估目标内存在故障方面的健康度,进而有助于提高故障分析信息的准确性。
需要说明的,获取目标预测信息的原理与获取目标内存的错误信息的原理相同,因此,关于如何获取目标预测信息,可以参考错误信息的获取过程和相关说明,此处不再赘述。
在该实施例中,通过获取目标预测信息并用于确定故障分析信息,提高了确定故障分析信息的参数的丰富性,有助于从多个方面评估目标内存在故障方面的健康状况,从而提高预测到的故障严重程度以及目标内存中发生故障的至少一个物理位置的准确性,有助于提高对目标内存进行故障修复的准确性,进而有助于避免内存故障对系统的影响。
S202:带外管理模块根据错误信息,确定目标内存的故障分析信息,故障分析信息包括故障严重程度和至少一个故障位置信息。
可选地,基于目标内存的错误信息对目标内存进行故障分析,得到目标内存的健康度值。故障严重程度表征了目标内存的内存故障对系统的影响程度,具体地,故障程度越严重,则健康状况越差,目标内存未来发生不可纠正错误的可能性越高,对系统的影响越大,反之,对系统的影响越小。
可选地,基于目标内存的错误信息对目标内存进行故障分析,得到至少一个故障位置信息,例如,图2所示的故障位置信息1、……、故障位置信息N。其中,N为大于1的正整数。在目标内存中,至少一个故障位置信息所指示至少一个物理位置相对于其他物理位置更容易发生不可纠正错误,因此,对至少一个物理位置进行故障修复,能够更加有效的避免内存故障对系统的影响。
在一些实施例中,目标内存从上级至下级依次为内存芯片、存储阵列组、存储阵列、行/列、存储单元、比特等。物理位置可以是目标内存上的页、比特、行、存储阵列等不同级别的对象。其中,物理位置的级别根据故障位置信息中粒度最小的对象确定。例如,故障位置信息包括处理器标识(CPU ID)、通道标识(Channel ID)、内存标识(Dimm ID)、内存列标识(Rank ID)、子内存列标识(SubRank ID)、内存芯片标识(Device ID)、存储阵列组标识(BankGruop ID)、存储阵列标识(Bank ID)、行(row)地址时,则粒度最小的对象是行地址对应的行,此时,故障位置信息指示的物理位置为行。
需要说明的,故障位置信息所指示的物理位置还可以是目标内存上的存储单元(cell)、列(column)、存储阵列组(bankgroup)、内存芯片(device)等。
需要说明的,不同的故障位置信息所指示的物理位置的级别可以相同,例如,每个物理位置的级别都是行,或者,也可以不同,例如,一部分物理位置的级别为行(row),另一部分的物理位置的级别为存储阵列(bank),本申请实施例对此不做限制。
在一些实施例中,可以通过对目标内存的错误信息进行聚类处理,得到目标内存的故障分析信息。例如,对目标内存上发生过错误的物理位置进行聚类,从而得到至少一个故障位置信息以及故障严重程度。
在另一些实施例中,S202包括:将目标内存的错误信息输入机器学习模型,得到机器学习模型输出的目标内存的故障分析信息。
其中,机器学习模型为预先训练完成的机器学习模型,该机器学习模型的训练过程可以是通过训练样本和样本标签进行迭代训练,其中,训练样本包括多个内存的错误信息,样本标签包括每个训练样本的故障严重程度。
在该实施例中,由于机器学习模型是预先训练完成的,因此,将目标内存的错误信息输入机器学习模型即可得到目标内存的故障分析信息,不需要用户参与计算和数据处理,不仅有助于提高故障预测的速度,还可以避免用户操作所造成的人工错误,进而提高故障分析信息的准确性。
在一些实施例中,机器学习模型可以是分级阈值算法,或者,随机森林、梯度下降决策树模型(gradient boosting decision tree,GBDT)、极端梯度提升(extremegradient boosting,XGBoost)、朴素贝叶斯、支持向量机(support vector machine,SVM)等机器学习算法中的一种或多种,或者,卷积神经网络(Convolutional neural network,CNN)、长短期神经网络(long short-term memory,LSTM)等深度学习算法中的一种或多种,或者,联邦平均法(federated averaging,FedAvg)、近端联邦优化算法(FederatedOptimization with proximal term,FedProx)、基于用户场景的联邦学习算法(ClientSelection for Federated Learning,FedCS)等联邦学习优化类算法中的一种或多种。
在一些实施例中,故障严重程度和至少一个故障位置信息可以基于不同的参数信息得到。例如,在确定故障严重程度时,使用目标内存的错误信息和目标预测信息,从而可以从错误情况、运行情况、固有性能等多个方面综合评估目标内存的故障严重程度,进而提高故障严重程度的预测准确性。在预测至少一个故障位置信息时,使用目标内存的可纠正错误信息和不可纠正错误信息,由于可纠正错误信息和不可纠正错误信息都属于目标内存的历史错误信息,相比于其他信息,例如,运行状态信息、固有参数信息等,历史错误信息与目标内存上将要发生的不可纠正错误的物理位置的相关性更高,因此,使用目标内存的可纠正错误信息和不可纠正错误信息确定目标内存中发生故障的至少一个物理位置,在保证确定结果准确性的情况下,可以简化参数复杂度,有助于降低确定难度,提高参数的处理速度,进而提高预测速度。
S203:带外管理模块在故障严重程度满足预设条件的情况下,向处理器固件发送修复请求,修复请求用于请求处理器固件对至少一个物理位置进行故障修复。
可选地,故障分析信息包括故障严重程度具体为故障分析信息包括健康度值,健康度值用于指示目标内存的故障严重程度。
在一些实施例中,健康度值为概率值,例如,50%、80%、90%等。在另一些实施例中,健康度值为分值,例如,1分、2分、3分、4分、5分等。
可以理解的,故障严重程度与健康度值之间的关系,可以是健康度值越大,则故障严重程度越轻微,或者,还可以是健康度值越大,故障严重程度越严重,本申请实施例对此不做限制。以下,仅以健康度值越大,故障严重程度越轻微为例,对本申请实施例进行说明。
可选地,故障严重程度满足预设条件,包括:健康度值小于或等于目标健康度阈值。其中,目标健康度阈值为目标内存的健康度阈值。
其中,目标健康度阈值用于表征健康度值的最低要求,在健康度值小于或等于目标健康度阈值时,表征该健康度值不达标,健康度值大于目标健康度阈值时,表征该健康度值达标。
在一些实施例中,带外管理模块根据目标内存的修复代价,确定目标健康度阈值。具体地,修复目标内存的代价越大,则目标健康度阈值应设置的越小,以减少修复目标内存的次数。反之,则目标健康度阈值应设置的越大,以增加修复目标内存的次数,从而实现以较小的修复代价降低目标内存未来发生不可纠正错误的风险。
对于如何根据目标内存的修复代价确定目标健康度阈值,包括多种实现方式,以下通过两个实施例进行示例性说明。
在一些实施例中,根据计算机设备的当前剩余故障修复资源的数量,确定目标健康度阈值。如果当前剩余故障修复资源的数量较少,则对目标内存进行故障修复后,如果计算机设备的其他内存或目标内存未来的故障严重程度更严重,比如,预测到的健康度值更小,将没有足够故障修复资源进行修复,此时,修复目标内存的代价就比较大,因此,目标健康度阈值应设置的相对小。反之,如果当前剩余故障修复资源的数量较多,则修复目标内存的代价就比较小,目标健康度阈值应设置的相对大。
在另一些实施例中,根据修复目标内存对计算机设备的性能的影响程度,确定目标健康度阈值。如果目标内存需要使用的故障修复方式,对计算机设备的性能(如带宽)的影响越大,则目标健康度阈值应设置的相对小,反之,目标健康度阈值应设置的相对大。
在一些实施例中,处理器固件对至少一个物理位置进行故障修复,具体而言,是处理器固件利用冗余资源(即故障修复资源)对至少一个物理位置进行隔离替换,其中,冗余资源可以是冗余页、冗余比特、冗余行、冗余阵列等。
在一些实施例中,带外管理模块可以请求处理器固件对至少一个物理位置中的全部物理位置进行故障修复,或者,也可以请求处理器固件对至少一个物理位置中的部分物理位置进行故障修复,本申请实施例对此不做限制。
在上述实施例中,通过目标内存的错误信息确定目标内的故障严重程度和目标内存中发生故障的至少一个物理位置,并在故障严重程度满足预设条件时,请求处理器固件对至少一个物理位置进行故障修复。由于是在故障严重程度满足预设条件时,请求处理器固件对至少一个物理位置进行故障修复,因此,不仅有助于降低目标内存未来发生不可纠正错误的可能性,有效减少内存故障的发生,进而降低内存故障对系统的影响,还有助于避免过度使用故障修复资源,导致后期预测到目标内存的故障严重程度更严重时,没有足够的故障修复资源进行故障修复,提高了故障修复资源的利用率。
S204:在故障严重程度满足告警条件的情况下,带外管理模块输出告警信息,告警信息用于提示目标内存存在发生不可纠正错误的风险。
可以理解的,S204为可选步骤。可选地,带外管理模块在执行完S203后,可以跳过S204,直接结束。
其中,故障严重程度满足告警条件,包括:健康度值属于告警阈值区间。告警阈值区间为目标健康度阈值和告警阈值之间的区间。告警阈值大于目标健康度阈值。
在一些实施例中,带外管理模块中配置有多层级判断条件,多层级阈值包括预设条件、告警条件和结束条件。其中,预设条件用于判断是否发送修复请求,告警条件用于判断是否输出告警信息,结束条件用于判断是否直接结束。例如,在故障严重程度满足预设条件时,则只发送修复强求,在故障严重程度不满足预设条件,且满足告警条件时,输出告警信息,在故障严重程度不满足预设条件以及告警条件,且满足结束条件,则直接结束,也即,既不发送修复请求,也不输出告警信息。
在一些实施例中,告警信息包括健康度值(或故障严重程度)和/或至少一个故障位置信息。通过向用户输出健康度值,有助于用户了解目标内存的健康状态,从而根据健康状态选择适当的操作,例如,是否对目标内存进行故障修复,或者进行数据迁移或更换内存。而向用户输出至少一个故障位置信息,一方面,方便用户仅针对故障位置(即故障位置信息指示的物理位置)进行故障处理,例如,仅对故障位置中数据进行数据迁移,有助于减少故障处理的工作量。另一方面,方便用户选择部分故障位置进行故障修复,有助于为用户提供更多的选择,进而更全面的对目标内存进行故障预防。
在上述实施例中,通过设置告警条件,并在故障严重程度满足告警条件时,输出告警信息,以提示用户目标内存存在故障风险,方便用户根据实际情况确定是否进行处理。
图2所示的内存故障处理方法的方案中,根据目标内存的故障严重程度与预设条件判断是否发送修复请求,本申请还提供了图3所示的另一种内存故障处理方法,与图2所示的方案不同,图3所示的方案中,根据目标内存的健康度值与故障模式的健康度阈值判断是否发送修复请求。以下,仅对两个方案的不同之处进行具体介绍,而对于相同之处则不再细述。
图3是根据一示例性实施例示出的另一种内存故障处理方法的流程图。示例性的,该方法包括S301-S303。
S301:带外管理模块获取目标内存的错误信息。
关于S301的相关说明可以参考上述S201中的描述,此处不予赘述。
S302:带外管理模块根据目标内存的错误信息,确定目标内存的故障分析信息,故障分析信息包括健康度值、至少一个故障位置信息和至少一个故障位置信息所指示的至少一个物理位置所属的至少一个故障模式。
其中,故障模式是指故障形态或故障行为的表现形式。一个故障模式用于指示属于该一个故障模式的多个物理位置所在的物理区域,例如,多个物理位置位于目标内存的同一行,则这多个物理位置属于行故障,该行故障可以指示该多个物理位置所在的物理区域(即该多个物理位置所在的行)。
可以理解的,至少一个故障位置信息中的每个故障位置信息会对应一个故障模式,不同故障位置信息对应的故障模式可以相同,或者,也可以不同。
需要说明的,在带外管理模块预测到目标内存上没有物理位置将发生不可纠正错误时,目标内存的故障分析信息可以仅包括健康度值,或者,故障分析信息可以包括健康度值和无待隔离故障信息的故障模式。
在一些实施例中,故障分析信息中的至少一个故障模式可以通过故障标识表征,其中,不同故障模式具有不同的标识。例如,故障标识“0”表征无待隔离故障信息,故障标识“1”表征页故障,故障标识“2”表征比特故障,故障标识“3”表征行故障,故障标识“4”表征存储阵列故障。
可选地,故障模式包括以下任一种:页故障、比特故障、行故障和存储阵列故障。
在上述实施例中,通过设置故障模式包括页故障、比特故障、行故障和存储阵列故障中的任一项,从而可以根据指示物理位置的故障位置信息准确预测物理位置所属的故障模式,有助于提高物理位置所属故障模式预测的准确性和便利性。
在一些实施例中,带外管理模块预先为每种故障模式设置一个健康度阈值,在预测到至少一个故障位置信息后,根据至少一个故障位置信息确定目标内存存在的至少一个故障模式,并根据预先设置的每种故障模式的健康度阈值,确定目标内存上的至少一个故障模式分别对应的健康度阈值。如图3所示,在至少一个故障模式中,例如,分别为故障模式1、……、故障模式N,每个故障模式会配置一个健康度阈值,不同故障模式具有相同或不同的健康度阈值。
以下,将以健康度值越大则故障严重程度越轻微为例,对如何确定故障模式的健康度阈值进行说明。
可选地,至少一个故障模式包括第一故障模式,内存故障处理方法还包括:带外管理模块根据第一故障模式的修复代价,确定第一故障模式的健康度阈值,第一故障模式的健康度阈值与修复代价成反比。其中,第一故障模式为至少一个故障模式中的任意一个故障模式。
需要说明的,第一故障模式的修复代价是指修复属于第一故障模式的物理位置的代价。
在该实施例中,通过设置第一故障模式的健康度阈值与修复代价成反比,则第一故障模式的修复代价越大,第一故障模式的健康度阈值越小,也即,目标内存的健康度值达标(即大于健康度阈值)的可能性越大,从而可以减少对属于第一故障模式的物理位置进行故障修复的概率,进而降低修复目标内存的次数,有助于避免以较高的代价修复目标内存。反之,第一故障模式的修复代价越小,则第一故障模式的健康度阈值越大,也即,目标内存的健康度值达标的可能性越小,从而可以提高对目标内存进行故障修复的概率,进而增加修复目标内存的次数,有助于以较低的代价修复目标内存的潜在故障,降低目标内存未来发生不可纠正错误的概率,进而有助于降低内存故障对系统的影响。
在上述实施例中,通过根据第一故障模式的修复代价,确定第一故障模式的健康度阈值,从而可以根据第一故障模式的修复代价的大小,设置合适的健康度门限值,例如,修复代价较大时设置相对较高的健康度门限值,以尽量减少进行故障修复的概率,修复代价较低时设置相对于较低的健康度门限值,以尽量提高进行故障修复的概率,不仅可以避免为了修复内存故障付出较大的代价,还可以实现以较低的代价对目标内存进行故障修复,降低目标内存未来发生不可纠正错误的概率,进而有助于降低内存故障对系统的影响。
此外,由带外管理模块作为执行主体,确定不同故障模式或故障修复方式的健康度阈值,不仅可以执行较为复杂的计算逻辑而不必影响其他业务的运行,另外,也可以更全面的动态调整健康度阈值的输入参数,有助于减少处理器固件的计算压力,避免处理器固件执行较为复杂的计算逻辑时影响其他业务的运行。
对于如何根据修复代价确定健康度阈值,包括多种实现方式,以下通过方式A至方式B进行示例性说明。
方式A:带外管理模块根据第一故障模式的可用修复资源的第一数量,确定第一故障模式的健康度阈值。第一数量与修复代价成反比。
在一些实施例中,带外管理模块获取第一数量,并根据第一数量确定第一故障模式的健康度阈值。具体而言,在第一数量的数值较大时,对属于第一故障模式的物理位置进行故障修复后,对目标内存的影响较小,也即,即使当前使用一部分可用修复资源对属于第一故障模式物理位置进行故障修复,在目标内存将来健康度更差(如健康度值更小)时,仍然有足够的可用修复资源对目标内存的第一故障模式进行故障修复。因此,在第一数量的数值较大时,对属于第一故障模式的物理位置进行故障修复的代价较小,可以设置较大的健康度阈值,从而提高目标内存的健康度的标准,有助于降低目标内存的健康度值达标的概率,提高对目标内存进行故障修复的概率。
在该种方式中,通过根据第一故障模式的可用修复资源的第一数量,确定第一故障模式的健康度阈值,有助于合理使用有限的可用修复资源,例如,在第一故障模式的可用修复资源较多时,为第一故障模式确定较大的健康度阈值,而在第一故障模式的可用修复资源较少时,为第一故障模式确定较小的健康度阈值,从而提高可用修复资源的利用率,避免有限的可用修复资源被过度使用,导致将来预测到目标内存的健康度更差时没有足够的可用修复资源进行故障修复。
方式B:带外管理模块根据第一故障模式对目标内存所属计算机设备的性能的影响程度,确定第一故障模式的健康度阈值。影响程度与修复代价成正比。
需要说明的,第一故障模式对目标内存所属计算机设备的性能的影响程度,是指修复属于第一故障模式的物理位置对计算机设备的性能的影响程度。
在一些实施例中,以修复属于第一故障模式的物理位置使用第一故障修复方式为例进行说明,带外管理模块获取第一故障修复方式对目标内存所属计算机设备的性能的影响程度,并根据影响程度的级别确定第一故障模式的健康度阈值。具体而言,第一故障修复方式对性能的影响越大,使用第一故障修复方式对物理位置进行故障修复的代价越大,则第一故障模式的健康度阈值越小。反之,第一故障模式的健康度阈值越大。
例如,属于存储阵列故障模式的物理位置(该物理位置为存储阵列),需要使用存储阵列隔离修复方式进行故障修复,而对目标内存进行存储阵列隔离修复时,对计算机设备的性能的影响程度较大,因此,存储阵列故障模式的健康度阈值应设置的相对较小。而属于比特故障模式的物理位置(该物理位置为比特),需要使用的比特隔离修复方式进行故障修复,对目标内存进行比特隔离修复时,对计算机设备的性能的影响程度较小,因此,比特故障模式的健康度阈值应设置的相对较大。
可以理解,物理位置的面积越大,则修复物理位置对目标内存的计算机设备的性能的影响程度越大。其中,行故障模式对性能的影响程度小于存储阵列故障模式对性能的影响程度,大于比特故障模式对性能的影响程度,因此,行故障模式的健康度阈值大于存储阵列故障模式的健康度阈值,小于行故障模式的健康度阈值。
需要说明的,对计算机设备的性能的影响,可以是对计算机设备的带宽、时延、抖动、丢包等性能的影响。
在该种方式中,通过第一故障模式对计算机设备的性能的影响程度,确定第一故障模式的健康度阈值,从而可以根据第一故障模式对性能的影响程度,为第一故障模式设置合适的健康度门限值,例如,在第一故障模式对性能影响较大时,为第一故障模式确定较小的健康度阈值,而在第一故障模式所使用的故障修复方式对性能影响较小时,为第一故障模式确定较大的健康度阈值,进而可以对目标内存上对性能影响最低的物理位置进行故障修复,有助于避免为修复内存故障而影响计算机设备的性能。
在一些实施例中,第一故障模式的健康度阈值可以是固定值,也即,在第一次设置第一故障模式的健康度阈值后,则不再改变第一故障模式的健康度阈值。在另一些实施例中,第一故障模式的健康度阈值为动态值,也即,在第一次设置第一故障模式的健康度阈值后,可以对第一故障模式的健康度阈值进行更新。
可选地,内存故障处理方法还包括:带外管理模块根据第一故障模式的可用修复资源的第二数量,更新第一故障模式的健康度阈值。
在一些实施例中,在处理器固件对目标内存进行故障修复后,将第一故障模式的可用修复资源的第二数量发送给带外管理模块,带外管理模块根据接收到第一数量,更新第一故障模式的健康度阈值。
在另一些实施例中,带外管理模块按照第二预设周期,周期性获取第一故障模式的可用修复资源的第二数量,并根据第二数量,更新第一故障模式的健康度阈值。
需要说明的,带外管理模块根据第二数量更新第一故障模式的健康度阈值的实现原理,与带外管理模块根据第一数量确定第一故障模式的健康度阈值的实现原理相同,因此,带外管理模块根据第二数量更新第一故障模式的健康度阈值的实现过程和相关说明,可以参考上述方式A,此处不再细述。
在上述实施例中,通过第一故障模式的可用修复资源的第二数量,更新第一故障模式的健康度阈值,实现动态调整物理位置的期望健康度,从而使得第一故障模式的健康度阈值能够准确表征修复属于第一故障模式的物理位置的当前代价,有助于更加准确的衡量是否对属于第一故障模式的物理位置进行故障修复,进而有助于最大化利用修复资源进行故障修复。
可选地,内存故障处理方法还包括:对至少一个故障位置信息进行聚类处理,得到至少一个故障模式。
在一些实施例中,至少一个故障位置信息进行聚类处理,实现对目标内存上将要发生不可纠正错误的至少一个物理位置进行聚类处理得到至少一个故障模式,从而使得一个故障模式能够指示属于该一个故障模式的多个物理位置所在的物理区域,进而使得在根据故障模式进行故障修复时,可以对故障模式指示的物理区域上的多个物理位置进行集中修复,有助于提高修复效率,以及每次进行故障修复所覆盖的容易发生故障的物理位置。
S303:对于至少一个故障模式中的每个故障模式,判断健康度值是否达到该故障模式的健康度阈值。
若否,则执行S304;若是,则执行S305。
S304:带外管理模块将该故障模式确定为目标故障模式,并向处理器固件发送修复请求,修复请求用于请求处理器固件基于目标故障模式所适用的故障修复方式对目标物理位置进行修复。
其中,目标物理位置为至少一个物理位置中属于目标故障模式的物理位置。
需要说明的,目标物理位置的数量可以是一个,或者,也可以是多个,当然,还可以是至少一个物理位置中的全部物理位置。例如,当健康度值仅小于或等于一个物理位置所属的故障模式的健康度阈值时,则至少一个物理位置中,只有该一个物理位置为目标物理位置。当健康度值小于或等于每个物理位置所属的故障模式的健康度阈值时,则在至少一个物理位置中,每个物理位置都为目标物理位置。
由于至少一个物理位置中的每个物理位置都对应一个故障模式,而至少一个故障模式中的每个故障模式都会配置到一个健康度阈值,因此,可以根据至少一个故障模式中每个故障模式的健康度阈值与健康度值之间的大小关系,实现判断至少一个物理位置的健康度是否达标,从而可以在健康度值未达到一个故障模式的健康度阈值时,也即,属于一个故障模式的物理位置的健康度不达标时,将该一个故障模式确定为目标故障模式,并请求处理器固件修复属于该一个故障模式的物理位置(即目标物理位置)。需要说明的,该一个故障模式可以是至少一个模式故障中的任意一个故障模式。
在一些实施例中,带外管理模块向处理器固件发送修复请求,该修复请求包括目标故障模式以及属于目标故障模式的目标物理位置的故障位置信息。例如,目标故障模式为行故障,则修复请求包括行故障的故障标识以及属于行故障的目标行在目标内存上的目标故障位置信息。修复请求中还可以包括目标物理位置所需使用的故障修复方式,目标物理位置所属的目标故障模式为行故障,目标物理位置所需使用的故障修复方式为行隔离,此时,修复请求包括行故障的故障标识、行隔离的标识以及指示目标物理位置的目标故障位置信息。
处理器固件接收到修复请求后,对目标故障位置信息指示的目标物理位置执行相应的隔离自愈动作(即隔离修复方式),例如,比特级隔离(如PCLS/ACLS)、行隔离(PPR)、储存阵列级隔离(ADDDC/ADDEC)、页隔离(pageoffline)等修复动作,实现对目标物理位置的修复。
需要说明的,故障模式与故障修复方式一一对应,例如,页故障对应页隔离,比特故障对应比特隔离,行故障对应行隔离,存储阵列故障对应存储阵列隔离。处理器固件在接收到故障模式的故障标识后,会使用故障标识指示的故障模式对应的故障修复方式对目标物理位置进行故障修复。
S305:当健康度值小于或等于告警阈值的情况下,带外管理模块输出告警信息,告警信息用于提示目标内存存在发生不可纠正错误的风险。
关于S305的相关说明可以参考上述S204中的描述,此处不予赘述。
在上述实施例中,通过预先为每种故障模式设置一个健康度阈值,并分析目标内存中发生故障的至少一个物理位置所属的至少一个故障模式,从而实现为目标内存存在的至少一个故障模式中分别配置一个健康度阈值,进而可以根据至少一个故障模式中的目标故障模式的健康度阈值与目标内存的健康度之间的关系,确定是否对属于目标故障模式的目标物理位置进行故障修复。一方面,通过为至少一个故障模式分别配置一个健康度阈值,实现为至少一个物理位置分别配置一个健康度阈值,进而可以根据每个物理位置的健康度阈值与目标内存的健康度值之间的关系,筛选出健康度不达标的目标物理位置,这样,根据每个物理位置的达标情况筛选待修复的目标物理位置,有助于提高目标物理位置确定的准确性,有助于保证目标物理位置是至少一个物理位置中故障严重程度最高的,也即,最急需被修复的物理位置,且修复目标物理位置相对于修复非目标物理位置,更能够降低内存故障对系统的影响。另一方面,通过仅对目标物理位置进行故障修复,而不是全部物理位置进行故障修复,有助于提高故障修复资源的利用率,实现合理利用有限的故障修复资源,避免过度使用故障修复资源,导致将来目标内存的故障严重程度更严重时没有故障修复资源进行修复。此外,由于故障模式与故障修复方式具有一一对应的关系,因此,使得处理器固件可以根据修复请求中的目标物理位置所属的故障模式快速且准确的,目标确定物理位置的故障修复方式,有助于提高故障修复的效率,以及故障修复方式与物理位置的匹配度,避免故障修复方式所使用的冗余资源与物理位置不匹配,造成无效修复,浪费修复资源。
图3所示实施例描述的内存故障处理方法的方案中,根据故障模式的健康度阈值判断健康度值是否达标,本申请实施例还提供了图4所示的另一种内存故障处理方法,与图3所示实施例的方案不同,该实施例的方案中,根据故障修复方式的健康度阈值判断健康度值是否达标。以下,仅对两个方案的不同之处进行具体介绍,而对于相同之处则不再细述。
图4是根据一示例性实施例示出的另一种内存故障处理方法的流程图。示例性的,该方法包括S401-S405。
S401:带外管理模块获取目标内存的错误信息。
关于S401的相关说明可以参考上述S301中的描述,此处不予赘述。
S402:带外管理模块根据目标内存的错误信息,确定目标内存的故障分析信息,故障分析信息包括健康度值、至少一个故障位置信息和至少一个故障位置信息指示的至少一个物理位置所使用的至少一个故障修复方式。
其中,故障修复方式指物理位置适合使用的隔离修复方式。具体地,目标内存从上级至下级依次为内存芯片、存储阵列组、存储阵列、行/列、存储单元、比特等,故障修复方式根据故障位置信息中粒度最小的对象的表现形式确定。例如,故障位置信息a中粒度最小的对象为比特,则故障位置信息a指示的物理位置所属的故障修复方式为比特故障。
可以理解的,每个故障位置信息会对应一个故障修复方式,不同故障位置信息对应的故障修复方式可以相同,或者,也可以不同。
可选地,故障修复方式包括以下任一种:页隔离、比特隔离、行隔离和存储阵列隔离。
在上述实施例中,通过设置故障修复方式包括页隔离、比特隔离、行隔离和存储阵列隔离中的任一项,从而可以根据指示物理位置的故障位置信息准确预测物理位置所使用的故障修复方式,有助于提高物理位置所使用的故障修复方式预测的准确性和便利性。
在一些实施例中,带外管理模块预先为每种故障修复方式设置一个健康度阈值,在预测到至少一个故障位置信息后,根据至少一个故障位置信息确定目标内存所需使用的至少一个故障修复方式,并根据预先设置的每种故障修复方式的健康度阈值,确定目标内存上所需使用的至少一个故障修复方式分别对应的健康度阈值。例如,如图4所示,在至少一个故障修复方式中,例如,分别为故障修复方式1、……、故障修复方式N,每个故障修复方式会匹配一个健康度阈值,不同故障修复方式具有相同或不同的健康度阈值。
需要说明的,S402的实现原理,与上述S302的实现原理相同,因此,关于S402的实现过程和相关说明可以参考上述S302,例如,关于至少一个故障修复方式中的第一故障修复方式的健康度阈值如何确定,可以参考第一故障模式的健康度阈值的确定过程,此处不再细述。
S403:对于至少一个故障修复方式中的每个故障修复方式,判断健康度值是否达到该故障修复方式的健康度阈值。
若否,则执行S404;若是,则执行S405。
S404:带外管理模块将该故障修复方式确定为目标故障修复方式,并向处理器固件发送修复请求,修复请求用于请求处理器固件基于目标故障修复方式对目标物理位置进行修复。
其中,目标物理位置为至少一个物理位置中需要使用目标故障修复方式进行故障修复的物理位置。
需要说明的,S404的实现原理,与上述S304的实现原理相同,因此,关于S404的实现过程和相关说明可以参考上述S304,此处不再细述。
S405:当健康度值小于或等于告警阈值的情况下,带外管理模块输出告警信息,告警信息用于提示目标内存存在发生不可纠正错误的风险。
关于S405的相关说明可以参考上述S305中的描述,此处不予赘述。
在上述实施例中,通过预先为每种故障修复方式设置一个健康度阈值,并分析目标内存中发生故障的至少一个物理位置所使用的至少一个故障修复方式,实现为目标内存所需使用的至少一个故障修复方式分析配置一个健康度阈值,从而可以对每个物理位置的健康度值是否达标进行单独判断,进而可以进行对目标内存上健康度不达标的目标物理位置进行故障修复,有助于提高故障修复的合理性和性价比。一方面,根据每个物理位置的健康度阈值与目标内存的健康度值之间的关系,筛选出健康度不达标的目标物理位置,这样,根据每个物理位置的达标情况筛选待修复的目标物理位置,有助于提高目标物理位置确定的准确性,并保证目标物理位置是至少一个物理位置中故障严重程度最高的,也即,最急需被修复的物理位置,且修复目标物理位置相对于修复非目标物理位置,更能够降低内存故障对系统的影响。另一方面,通过仅对目标物理位置进行故障修复,而不是全部物理位置进行故障修复,有助于提高故障修复资源的利用率,实现合理利用有限的故障修复资源,避免过度使用故障修复资源,导致将来目标内存的故障严重程度更严重时没有故障修复资源进行修复。此外,处理器固件可以根据修复请求中的目标物理位置所属的故障修复方式对目标物理位置进行修复,有助于提高故障修复的效率,以及故障修复方式与物理位置的匹配度,避免故障修复方式所使用的冗余资源与物理位置不匹配,造成无效修复,浪费修复资源。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,内存故障处理装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法,示例性的对内存故障处理装置进行功能模块的划分,例如,内存故障处理装置可以包括对应各个功能划分的各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图5示出了上述实施例中所涉及的内存故障处理装置(记为内存故障处理装置500)的一种可能的结构示意图,例如,该内存故障处理装置500可以是带外管理模块。该内存故障处理装置500包括获取单元501、确定单元502和发送单元503。获取单元501,用于获取目标内存的错误信息。例如,图2所示的S201,图3所示的S301,以及图4所示的S401。确定单元502,用于根据错误信息,确定目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息;至少一个故障位置信息指示目标内存中发生故障的至少一个物理位置。例如,图2所示的S202,图3所示的S302,以及图4所示的S402。发送单元503,用于在故障严重程度满足预设条件的情况下,向处理器固件发送修复请求;修复请求用于请求处理器固件对至少一个物理位置进行故障修复。例如,图2所示的S203,图3所示的S303-S304,以及图4所示的S403-S404。
可选地,故障分析信息还包括至少一个物理位置所属的至少一个故障模式,每个故障模式配置有一个健康度阈值,故障分析信息包括目标内存的故障严重程度具体为故障分析信息包括目标内存的健康度值,健康度值用于指示目标内存的故障严重程度;故障严重程度满足预设条件,包括:健康度值未达到至少一个故障模式中目标故障模式的健康度阈值;修复请求具体用于请求处理器固件对目标物理位置进行修复,目标物理位置为至少一个物理位置中属于目标故障模式的物理位置。
可选地,确定单元502具体用于:对至少一个故障位置信息进行聚类处理,得到至少一个故障模式。
可选地,至少一个故障模式包括第一故障模式,确定单元502还用于:根据第一故障模式的修复代价,确定第一故障模式的健康度阈值。
可选地,确定单元502还具体用于:获取第一故障模式的可用修复资源的第一数量;根据第一数量,确定第一故障模式的健康度阈值;第一数量与修复代价成反比。
可选地,确定单元502还具体用于:根据第一故障模式的修复代价,确定第一故障模式的健康度阈值,包括:根据第一故障模式对目标内存所属计算机设备的性能的影响程度,确定第一故障模式的健康度阈值,影响程度与修复代价成正比。
可选地,至少一个故障模式包括第一故障模式,确定单元502还用于:获取第一故障模式的可用修复资源的第二数量;根据第二数量,更新第一故障模式的健康度阈值。
可选地,故障模式包括以下任一种:页故障、比特故障、行故障和存储阵列故障。
可选地,故障分析信息还包括至少一个物理位置所使用的至少一个故障修复方式,每个故障修复方式配置有一个健康度阈值;故障分析信息包括目标内存的故障严重程度具体为故障分析信息包括目标内存的健康度值,健康度值用于指示目标内存的故障严重程度;故障严重程度满足预设条件,包括:所述健康度值未达到所述至少一个故障修复方式中目标故障修复方式的健康度阈值;修复请求具体用于请求处理器固件对目标物理位置进行修复,目标物理位置为至少一个物理位置中的使用目标故障修复方式的物理位置。
可选地,故障修复方式包括以下任一种:页隔离、比特隔离、行隔离和存储阵列隔离。
可选地,确定单元502具体用于:将目标内存的错误信息输入机器学习模型,得到机器学习模型输出的目标内存的故障分析信息。
可选地,发送单元503还用于在故障严重程度满足告警条件的情况下,输出告警信息,告警信息用于提示目标内存存在发生不可纠正错误的风险。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种内存故障处理装置500的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
本申请实施例还提供了一种计算机设备,该计算机设备包括带外管理模块和处理器固件。其中,带外管理模块用于实现实施例中的内存故障处理方法,处理器固件用于基于带外管理模块的修复请求,对计算机设备的内存进行故障修复。本申请实施例对计算机设备的具体形式不作任何限制。例如,计算机设备具体可以是终端装置,也可以是网络设备。其中,终端装置可以被称为:终端、用户设备(user equipment,UE)、终端设备、接入终端、用户单元、用户站、移动站、远方站、远程终端、移动设备、用户终端、无线通信设备、用户代理或用户装置等。终端装置具体可以是手机、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digitalassistant,PDA)等。网络设备具体可以是服务器等。其中,服务器可以是一个物理或逻辑服务器,也可以是有两个或两个以上分担不同职责的物理或逻辑服务器、相互协同来实现服务器的各项功能。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上文提供的任一种计算机设备所执行的方法。
关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
本申请实施例还提供了一种芯片,例如,可以是带外管理芯片。该芯片中集成了用于实现上述计算机设备的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。所述的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定集成电路(application specific integratedcircuit,ASIC)、微处理器(digital signal processor,DSP),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如SSD)等。
应注意,本申请实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (15)

1.一种内存故障处理方法,其特征在于,所述方法包括:
带外控制器获取目标内存的错误信息;
所述带外控制器根据所述错误信息,确定所述目标内存的故障分析信息,所述故障分析信息包括所述目标内存的故障严重程度和至少一个故障位置信息;所述至少一个故障位置信息指示了所述目标内存中发生故障的至少一个物理位置;
在所述故障严重程度满足预设条件的情况下,所述带外控制器向中央处理器CPU发送修复请求;所述修复请求用于请求所述CPU对所述至少一个物理位置进行故障修复。
2.根据权利要求1所述的方法,其特征在于,所述故障分析信息还包括所述至少一个物理位置所属的至少一个故障模式,每个故障模式配置有一个健康度阈值;
所述故障分析信息包括所述目标内存的故障严重程度具体为所述故障分析信息包括所述目标内存的健康度值,所述健康度值用于指示所述目标内存的故障严重程度;
所述故障严重程度满足预设条件,包括:所述健康度值未达到所述至少一个故障模式中目标故障模式的健康度阈值;
所述修复请求具体用于请求所述CPU对目标物理位置进行故障修复,所述目标物理位置为所述至少一个物理位置中属于所述目标故障模式的物理位置。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述带外控制器对所述至少一个故障位置信息进行聚类处理,得到所述至少一个故障模式。
4.根据权利要求2或3所述的方法,其特征在于,所述至少一个故障模式包括第一故障模式,所述方法还包括:
所述带外控制器根据所述第一故障模式的修复代价,确定所述第一故障模式的健康度阈值。
5.根据权利要求4所述的方法,其特征在于,所述带外控制器根据所述第一故障模式的修复代价,确定所述第一故障模式的健康度阈值,包括:
所述带外控制器获取所述第一故障模式的可用修复资源的第一数量;
所述带外控制器根据所述第一数量,确定所述第一故障模式的健康度阈值;所述第一数量与所述修复代价成反比。
6.根据权利要求4所述的方法,其特征在于,所述带外控制器根据所述第一故障模式的修复代价,确定所述第一故障模式的健康度阈值,包括:
所述带外控制器根据第一故障模式对所述目标内存所属计算机设备的性能的影响程度,确定所述第一故障模式的健康度阈值,所述影响程度与所述修复代价成正比。
7.根据权利要求2-6任一项所述的方法,其特征在于,所述至少一个故障模式包括第一故障模式,所述方法还包括:
所述带外控制器获取所述第一故障模式的可用修复资源的第二数量;
所述带外控制器根据所述第二数量,更新所述第一故障模式的健康度阈值。
8.根据权利要求2-7任一项所述的方法,其特征在于,所述故障模式包括以下任一种:页故障、比特故障、行故障和存储阵列故障。
9.根据权利要求1所述的方法,其特征在于,所述故障分析信息还包括所述至少一个物理位置所使用的至少一个故障修复方式,每个故障修复方式配置有一个健康度阈值;
所述故障分析信息包括所述目标内存的故障严重程度具体为所述故障分析信息包括所述目标内存的健康度值,所述健康度值用于指示所述目标内存的故障严重程度;
所述故障严重程度满足预设条件,包括:所述健康度值未达到所述至少一个故障修复方式中目标故障修复方式的健康度阈值;
所述修复请求具体用于请求所述CPU对目标物理位置进行故障修复,所述目标物理位置为所述至少一个物理位置中使用所述目标故障修复方式的物理位置。
10.根据权利要求9所述的方法,其特征在于,所述故障修复方式包括以下任一种:页隔离、比特隔离、行隔离和存储阵列隔离。
11.根据权利要求1-10中任一项所述的方法,其特征在于,所述带外控制器根据所述目标内存的错误信息,确定所述目标内存的故障分析信息,包括:
所述带外控制器将所述目标内存的错误信息输入机器学习模型,得到所述机器学习模型输出的所述目标内存的故障分析信息。
12.根据权利要求1-10中任一项所述的方法,其特征在于,所述方法还包括:
在所述故障严重程度满足告警条件的情况下,所述带外控制器输出告警信息,所述告警信息用于提示所述目标内存存在发生不可纠正错误的风险。
13.一种内存故障处理系统,其特征在于,包括:
带外管理模块,用于执行如权利要求1-12中任一项所述的方法;
处理器固件,用于基于所述带外管理模块的修复请求,对内存进行故障修复。
14.一种计算机设备,其特征在于,包括:处理器;
所述处理器与存储器连接,所述存储器用于存储计算机执行指令,所述处理器执行所述存储器中存储的所述计算机执行指令,以使所述计算机设备实现如权利要求1-12中任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,用于存储计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机执行如权利要求1-12中任一项所述的方法。
CN202210867700.5A 2022-07-22 2022-07-22 内存故障处理方法、系统及存储介质 Pending CN115391072A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210867700.5A CN115391072A (zh) 2022-07-22 2022-07-22 内存故障处理方法、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210867700.5A CN115391072A (zh) 2022-07-22 2022-07-22 内存故障处理方法、系统及存储介质

Publications (1)

Publication Number Publication Date
CN115391072A true CN115391072A (zh) 2022-11-25

Family

ID=84117007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210867700.5A Pending CN115391072A (zh) 2022-07-22 2022-07-22 内存故障处理方法、系统及存储介质

Country Status (1)

Country Link
CN (1) CN115391072A (zh)

Similar Documents

Publication Publication Date Title
US10235233B2 (en) Storage error type determination
CN114968652A (zh) 故障处理方法及计算设备
CN114064333A (zh) 一种内存故障处理方法和装置
US11036572B2 (en) Method, device, and computer program product for facilitating prediction of disk failure
EP3979079A1 (en) Memory fault handling method and apparatus, device and storage medium
US20110154097A1 (en) Field replaceable unit failure determination
KR102288723B1 (ko) 매체 지속성 및 진단을 위한 향상된 부호워드
WO2022028209A1 (zh) 一种内存故障处理方法和装置
Du et al. Predicting uncorrectable memory errors for proactive replacement: An empirical study on large-scale field data
CN115016963A (zh) 内存页隔离方法、内存监控系统及计算机可读存储介质
US8176388B1 (en) System and method for soft error scrubbing
CN115168087A (zh) 一种确定内存故障的修复资源粒度的方法及装置
WO2024027325A1 (zh) 内存故障处理方法、装置和存储介质
Zhang et al. Predicting dram-caused node unavailability in hyper-scale clouds
US20120017116A1 (en) Memory control device, memory device, and memory control method
CN115080331A (zh) 故障处理方法及计算设备
CN115421947A (zh) 内存故障处理方法、装置和存储介质
CN115391072A (zh) 内存故障处理方法、系统及存储介质
CN116775436A (zh) 芯片故障预测方法、装置、计算机设备和存储介质
CN115391075A (zh) 内存故障处理方法、系统及存储介质
CN115640174A (zh) 内存故障预测方法、系统、中央处理单元及计算设备
CN115391074A (zh) 内存故障处理方法、系统及存储介质
CN115269245B (zh) 一种内存故障处理方法及计算设备
CN115495301A (zh) 一种故障处理方法、装置、设备及系统
CN115658358A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231110

Address after: 450046, 10th Floor, North Chuangzhi Tiandi Building, Shigeng Street, Longzihu Wisdom Island Middle Road East, Zhengdong New District, Zhengzhou City, Henan Province

Applicant after: Henan Kunlun Technology Co.,Ltd.

Address before: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province

Applicant before: Super fusion Digital Technology Co.,Ltd.