内存异常处理方法、设备及存储介质技术

技术编号:38155389 阅读:7 留言:0更新日期:2023-07-13 09:23
本申请实施例提供一种内存异常处理方法、设备及存储介质。本申请实施例在内存修复策略的修复能力有限的前提下,在管控节点侧设置选择策略,来选择能够触发BIOS执行内存修复策略的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。管控节点侧可通过软件,灵活设置内存修复策略处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。高内存修复的灵活性。高内存修复的灵活性。

【技术实现步骤摘要】
内存异常处理方法、设备及存储介质


[0001]本申请涉及计算机
,尤其涉及一种内存异常处理方法、设备及存储介质。

技术介绍

[0002]内存是计算设备的重要组成部分之一。内存异常是硬件系统最常见的异常,极大地影响了系统的可靠性,可用性和可服务性(Reliability,Availability and Serviceability,RAS)。内存控制器可以采用错误校验与校正(Error Checking and Correction,ECC)等纠错算法进行纠错。但是如果频繁纠错将会对系统的性能造成影响。而且当内存故障越来越严重的时候,纠错算法将会不堪重负,无法纠正的概率大幅上升,可能会产生不可纠正的错误,从而导致系统宕机。
[0003]内存的异常修复策略的修复能力是有限的,对于超过该异常修复策略的内存异常将无法修复,异常修复策略失效。例如,对于部分缓存线保留(Partial Cache Line Sparing,PCLS)策略,对于单个内存通道最多支持16次PCLS,当PCLS次数超过16次,PCLS对超过的次数将无法修复。
[0004]异常修复策略一般被硬编码到计算设备的基本输入输出系统(Basic Input Output System,BIOS)中,由BIOS执行相应的内存异常修复策略。BIOS执行内存异常修复策略,无法对发生异常的内存加载的程序的类型进行区分,对所有程序对应的内存异常一视同仁。这就可能导致由于BIOS对计算设备运行影响较低的程序的内存修复,而使得内存的异常修复策略无能力再对计算设备运行影响较高的程序对应的内存异常进行修复,导致计算设备的系统运行异常等。传统方案的内存异常处理方式灵活性较差,存在上述技术缺陷。

技术实现思路

[0005]本申请的多个方面提供一种内存异常处理方法、设备及存储介质,用以提高内存修复的灵活性。
[0006]本申请实施例提供一种内存异常处理方法,包括:
[0007]获取计算设备的内存错误信息;
[0008]根据所述内存错误信息,确定内存异常位置;
[0009]根据所述计算设备的内存映射关系,确定所述内存异常位置加载的目标程序;
[0010]在所述目标程序属于设定的程序类型的情况下,触发所述计算设备的基本输入输出系统BIOS对所述内存异常位置执行内存修复策略。
[0011]本申请实施例还提供一种电子设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
[0012]所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述内存异常处理方法中的步骤。
[0013]本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述内存异常处理方
法中的步骤。
[0014]本申请实施例提供的内存异常修复处理方式,在内存修复策略的修复能力有限的前提下,在管控节点侧设置选择策略,来选择能够触发BIOS执行内存修复策略的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。管控节点侧可通过软件,灵活设置内存修复策略处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。
附图说明
[0015]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0016]图1a和图1b为本申请实施例提供的内存异常处理系统的结构示意图;
[0017]图2为本申请实施例提供的内存的结构示意图;
[0018]图3为本申请实施例提供的内存异常处理方法的流程示意图;
[0019]图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0020]为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0021]计算设备的内存异常通常可以分为软异常和硬异常。硬异常通常指不可恢复的硬件错误,比如固定在比特(stuck

at bit),即该比特位始终都是固定值。示例性的,如固定在0(stuck

at0),是指写入的是何值(0或1),该比特位的值始终为0。而软异常是随机事件引起的,比如射线或背板辐射等,软异常通常可以通过重写进行修复。
[0022]在一些方案中,可由计算设备的中央处理器(Central Processing Unit,CPU)内部的纠错机制(如ECC等)识别出内存可纠正错误(Corrected Error,CE)后,由计算设备的基本输入输出系统(Basic Input Output System,BIOS)对CE进行计数,并与设定的CE阈值比较,在CE的数量达到CE阈值后,由BIOS下发命令触发CPU自带的底层内存的隔离替换动作,将故障区域局部隔离,即不再使用故障区域内存,以避免再次读写该故障区域。
[0023]ECC纠错算法为实际的内存数据生成单比特错误纠正和双比特错误检测(Single

bit Error Correction and Double

bit Error Detection,SECDED)码,并将SECDED码存储在内存中。内存控制器利用SECDED可以纠正单比特错误,并检测两比特错误。单比特错误被称为CE,两比特错误被称为不可纠正错误(Uncorrected Correctable Error,UCE)。内存的UCE是导致系统宕机的主要原因。
[0024]CPU自带的底层内存的隔离替换动作即为本申请所述的内存的异常修复策略。异常修复策略一般被硬编码到BIOS中,由BIOS执行相应的内存异常修复策略。其中,BIOS是一组固化到计算设备的主板上的只读存储器(Read Only Memory,ROM)中的程序,它保存着计算设备最重要的基本输入输出的程序、开机后自检程序和系统自启动程序等。BIOS属于计
算设备的固件,一般不支持对固件进行修改。
[0025]在传统方案中,内存异常修复的过程可实现为:当内存控制器确定内存的CE数量超过CE阈值时,触发中断,由BIOS执行被硬编码到BIOS中的内存异常修复策略。由于内存的异常修复策略具有的修复能力是有限的,对于超过该异常修复策略的内存异常将无法修复,异常修复策略失效。
[0026]在实际应用中,不同类型的程序,对计算设备运行的影响程度不同。例如,内核程序为操作系统中可以访问所有硬件设备的系统程序,对计算设备的正常运行具有本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存异常处理方法,其特征在于,包括:获取计算设备的内存错误信息;根据所述内存错误信息,确定内存异常位置;根据所述计算设备的内存映射关系,确定所述内存异常位置加载的目标程序;在所述目标程序属于设定的程序类型的情况下,触发所述计算设备的基本输入输出系统BIOS对所述内存异常位置执行内存修复策略。2.根据权利要求1所述的方法,其特征在于,还包括:若所述目标程序为内核程序,确定所述目标程序属于设定的程序类型;若所述目标程序为应用程序,确定所述目标程序对应的内存修复优先级;若所述内存修复优先级为设定优先级,确定所述目标程序属于设定的程序类型。3.根据权利要求2所述的方法,其特征在于,所述确定所述目标程序对应的内存修复优先级,包括:根据所述目标程序的服务等级目标SLO,确定所述目标程序对应的内存修复优先级;或者,确定所述目标程序对应的用户类型,确定所述目标程序对应的内存修复优先级。4.根据权利要求1所述的方法,其特征在于,所述根据所述内存错误信息,确定内存异常位置,包括:根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置。5.根据权利要求4所述的方法,其特征在于,所述内存修复策略为部分缓存线保留PCLS策略;所述PCLS策略的修复粒度为单比特数据;所述根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置,包括:从所述内存错误信息中,提取所述计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列的标识、发生错误的内存颗粒的标识、发生错误的逻辑阵列的标识及发生错误的内存行和列,作为符合所述PCLS策略的修复粒度的内存异常位置。6.根据权利要求4所述的方法,其特征在于,所述内存修复策略为自适应双设备数据校正ADDDC策略;所述ADDDC策略的修复粒度为内存颗粒;所述根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置,包括:从所述内存错误信息中,提取所述计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列的标识及发生错误的内存颗粒的标识及发生错误的逻辑阵列的标识,作为符合所述ADDDC策略的修复粒度的内存异常位置。7.根据权利要求4所述的方法,其特征在于,所述内存修复策略为动态封装后修复策略;所述动态封装后修复策略的修复粒度为内存颗粒的逻辑阵列中的内存行;所述根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置,包括:从所述内存错误信息中,所述计算设备的内存中提取生错误的内存条的标识、发生错误的物理阵列的标识、发生错误的内存颗粒的标识、发生错误的逻辑阵列的标识及发生错误的行的标识,作为符合所述动态封装后修复策略的修复粒度的内存异常位置。8.根据权利要求4所述的方法,其特征在于,所述内存修复策略为单内存颗粒数据错误
纠正SDDC策略;所述SDDC策略的修复粒度为单内存颗粒错误;所述根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置,包括:从所述内存错误信息中,所述计算设备的内存中提取发生错误的内存条的标识、发生错误的物理阵列及发生错误的内存颗粒的标识,作为符合所述SDDC策略的修复粒度的内存异常位置。9.根据权利要求1所述的方法,其特征在于,所述触发所述计算设备的基本输入输出系统BIOS对所述内存异常位置执行内存修复策略,包括:通过所述计算设备的操作系统触发所述BIOS对所述内存异常位置执行内存修复策略;或者,通过所述计算设备的主板管控单元BMC触发所述BIOS对所述内存异常位置执行内存修复策略。10.根据权利要求9所述的方法,其特征在于,所述通过所述计算设备的操作系统触发所述BIOS...

【专利技术属性】
技术研发人员:曾勇王志强郑旭东
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1