CN114911659A - 一种ce风暴抑制方法、装置及相关设备 - Google Patents

一种ce风暴抑制方法、装置及相关设备 Download PDF

Info

Publication number
CN114911659A
CN114911659A CN202210552402.7A CN202210552402A CN114911659A CN 114911659 A CN114911659 A CN 114911659A CN 202210552402 A CN202210552402 A CN 202210552402A CN 114911659 A CN114911659 A CN 114911659A
Authority
CN
China
Prior art keywords
fault
memory
system layer
storm
reporting signal
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
CN202210552402.7A
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.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor 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 Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN202210552402.7A priority Critical patent/CN114911659A/zh
Publication of CN114911659A publication Critical patent/CN114911659A/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/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

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)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种CE风暴抑制方法、装置、系统及计算机可读存储介质,包括:当监测到故障内存段发生CE内存故障时,采集单位时间内故障内存段对应的CE数量;当CE数量超出第一阈值时,拦截向系统层上报的CE内存故障对应的故障上报信号;监测对故障内存段的应用访问数量,并在应用访问数量低于第二阈值后恢复向系统层上报故障上报信号。应用本申请所提供的技术方案,当CE数量超出一定数量时,则可以对各CE内存故障的故障上报信号进行拦截,以有效避免故障信息被上报至系统层进行故障处理,从而可以避免大量的系统资源被占用,实现了对CE风暴的有效抑制,进一步保障了系统的稳定性,提高了业务性能。

Description

一种CE风暴抑制方法、装置及相关设备
技术领域
本申请涉及内存技术领域,特别涉及一种CE风暴抑制方法,还涉及一种CE风暴抑制装置、系统及计算机可读存储介质。
背景技术
CE(Corrected error,可纠正错误)是指在硬件平台的容错范围内可以被纠正的数据错误,已有容错纠正方案可恢复此错误,系统或应用不会因此类型错误停止运行。
请参考图1,图1为现有技术中的一种CE内存故障处理机制的示意图,当上层应用读取内存数据触发CE内存故障时,在固件优先模式下,硬件平台会向系统发出CMCI中断(Corrected Machine Check Interrupt,校正机器检查中断)和NMI中断(Non MaskableInterrupt,不可屏蔽中断)。其中,CMCI中断和threshold_interrupt函数绑定,在触发CMCI中断时,会调用threshold_interrupt函数记录mcelog日志,增加EDAC(Error DetectionAnd Correction,错误检测与纠正)计数。NMI中断则会触发错误处理逻辑,同样会记录CE内存故障信息到mcelog日志,同时会在满足一定条件时对CE内存故障进行处理。
在现有流程下,多应用同时触发大量CE内存故障时,会导致操作系统要处理大量CMCI中断,并且会记录错误信息到mcelog,从而引发CE风暴。由于CE内存故障数量过多,这个过程会大量占用系统资源,影响系统稳定性,降低业务性能。
因此,如何对内存中可能发生的CE风暴进行有效抑制,进一步保障系统的稳定性是本领域技术人员亟待解决的问题。
发明内容
本申请的目的是提供一种CE风暴抑制方法,该CE风暴抑制方法可以对内存中可能发生的CE风暴进行有效抑制,从而保障系统的稳定性;本申请的另一目的是提供一种CE风暴抑制装置、系统及计算机可读存储介质,均具有上述有益效果。
第一方面,本申请提供了一种CE风暴抑制方法,包括:
当监测到故障内存段发生CE内存故障时,采集单位时间内所述故障内存段对应的CE数量;
当所述CE数量超出第一阈值时,拦截向系统层上报的所述CE内存故障对应的故障上报信号;
监测对所述故障内存段的应用访问数量,并在所述应用访问数量低于第二阈值后恢复向所述系统层上报所述故障上报信号。
可选地,所述拦截向系统层上报的所述CE内存故障对应的故障上报信号,包括:
在预设可编程寄存器中设置故障上报信号屏蔽标志,以在检测到所述故障上报信号屏蔽标志后停止向所述系统层发送所述故障上报信号。
可选地,所述监测对所述故障内存段的应用访问数量,并在所述应用访问数量低于第二阈值后恢复向所述系统层上报所述故障上报信号,包括:
监测所述应用访问数量;
当所述应用访问数量低于所述第二阈值时,为所述预设可编程寄存器清除所述故障上报信号屏蔽标志,以恢复向所述系统层发送所述故障上报信号。
可选地,所述拦截向系统层上报的所述CE内存故障对应的故障上报信号之后,还包括:
记录各所述CE内存故障所在的内存库,以及所述CE内存故障在所述内存库中的所述故障内存段;
相应的,所述为所述预设可编程寄存器清除所述故障上报信号屏蔽标志之后,还包括:
利用Scrub引擎对各所述内存库中的故障内存段进行扫描,获得CE内存故障信息;
将所述CE内存故障信息上报至所述系统层。
可选地,所述恢复向所述系统层发送所述故障上报信号,包括:
向所述系统层发送所述故障上报信号,以使所述系统层在检测到故障上报次数大于第二阈值后输出告警提示。
可选地,还包括:
识别所述CE内存故障所在的故障内存段;
将所述故障内存段迁移至预设隔离区;
在所述故障内存段的原始位置创建相应的映射内存段。
可选地,还包括:
统计内存段隔离信息,并将所述内存段隔离信息持久化至预设文件;
当系统重启时,基于所述预设文件中的内存段隔离信息进行固化隔离操作。
第二方面,本申请还提供了一种CE风暴抑制装置,包括:
CE数量采集模块,用于当监测到故障内存段发生CE内存故障时,采集单位时间内所述故障内存段对应的CE数量;
上报信号拦截模块,用于当所述CE数量超出第一阈值时,拦截向系统层上报的所述CE内存故障对应的故障上报信号;
上报恢复模块,用于监测对所述故障内存段的应用访问数量,并在所述应用访问数量低于第二阈值后恢复向所述系统层上报所述故障上报信号。
第三方面,本申请还提供了一种CE风暴抑制系统,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述的CE风暴抑制方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的CE风暴抑制方法的步骤。
本申请所提供的一种CE风暴抑制方法,包括:当监测到故障内存段发生CE内存故障时,采集单位时间内故障内存段对应的CE数量;当CE数量超出第一阈值时,拦截向系统层上报的CE内存故障对应的故障上报信号;监测对故障内存段的应用访问数量,并在应用访问数量低于第二阈值后恢复向系统层上报故障上报信号。
可见,本申请所提供的CE风暴抑制方法,一旦监测到内存中发生CE内存故障,则立即对CE数量进行采集,当CE数量超出一定数量(第一阈值)时,说明当前即将触发CE风暴,此时,则可以对各CE内存故障的故障上报信号进行拦截,以有效避免故障信息被上报至系统层进行故障处理。另外,在检测到访问频率下降后,可以确定不会触发CE风暴,因此可以恢复上报故障上报信号,从而可以避免大量的系统资源被占用,实现了对CE风暴的有效抑制,进一步保障了系统的稳定性,提高了业务性能。
本申请所提供的一种CE风暴抑制装置、系统及计算机可读存储介质,均具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明现有技术和本申请实施例中的技术方案,下面将对现有技术和本申请实施例描述中需要使用的附图作简要的介绍。当然,下面有关本申请实施例的附图描述的仅仅是本申请中的一部分实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图,所获得的其他附图也属于本申请的保护范围。
图1为现有技术中的一种CE内存故障处理机制的示意图;
图2为本申请所提供的一种CE风暴抑制方法的应用场景示意图;
图3为本申请所提供的一种CE风暴抑制方法的流程示意图;
图4为本申请所提供的一种IA32_MCi_CTL2 MSR寄存器的内部定义示意图;
图5为本申请所提供的一种CE风暴抑制装置的结构示意图;
图6为本申请所提供的一种CE风暴抑制系统的结构示意图。
具体实施方式
本申请的核心是提供一种CE风暴抑制方法,该CE风暴抑制方法可以对内存中可能发生的CE风暴进行有效抑制,从而保障系统的稳定性;本申请的另一核心是提供一种CE风暴抑制装置、系统及计算机可读存储介质,也具有上述有益效果。
为了对本申请实施例中的技术方案进行更加清楚、完整地描述,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行介绍。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图2,图2为本申请所提供的一种CE风暴抑制方法的应用场景示意图,其中包括用户10、监控设备11和服务器12,其中,服务器12用于执行本申请提供的CE风暴抑制方法,具体的,可以由服务器中固件层(即firmware,如BIOS)执行。固件层进行CE内存故障的检测和是否拦截的判断。在未拦截的情况下,服务器12可以基于系统层(即操作系统层)和应用层向外发送告警。具体的,服务器12可以利用监控设备11向用户10发送告警,或者可以通过其他电子设备(例如其他的服务器12)向监控设备11发送进行告警的指示,由监控设备11向用户10进行告警。其中,监控设备11可以为计算机,或者可以为显示器或监视器。监控设备11在接收到告警后,可以通过图像、文字等形式向用户10发送告警信息,以使得用户10得知此告警。
本申请实施例提供了一种CE风暴抑制方法。
请参考图3,图3为本申请所提供的一种CE风暴抑制方法的流程示意图,该CE风暴抑制方法包括:
S101:当监测到故障内存段发生CE内存故障时,采集单位时间内故障内存段对应的CE数量。
本步骤旨在对内存进行监测,并在检测到故障内存段发生CE内存故障时,统计单位时间内的CE数量,也即内存中发生CE内存故障的数量。具体而言,为对内存中可能发生的CE风暴进行有效抑制,可以对内存进行实时监测,以确定其中是否有CE内存故障发生;进一步,一旦监测到CE内存故障,则可以对单位时间内的CE数量进行统计,以便于基于该CE数量判定内存中是否即将发生CE风暴。其中,故障内存段为发生CE内存故障的存储位置所属的内存段,其具体可以为一整个内存条,或者可以为一个内存条中的一段连续的地址区间,即一个内存条可以包括多个内存段,各个内存段的大小可以相同或不同。
其中,单位时间的具体取值并不影响本技术方案的实施,由技术人员根据实际需求进行自定义设置即可,例如,可以取值为1小时或24小时(一天)等,本申请对此不做限定。
S102:当CE数量超出第一阈值时,拦截向系统层上报的CE内存故障对应的故障上报信号。
本步骤旨在基于内存中的CE数量确定其中是否发生有CE风暴,进而通过拦截原本发向系统层的故障上报信号实现CE风暴抑制。具体而言,当内存中的CE数量超出第一阈值时,说明内存中发生的CE内存故障数量过多,也即说明当前即将触发CE风暴,此时,为对CE风暴进行有效抑制,可直接对各CE内存故障对应的故障上报信号进行拦截,避免故障信息被上传至系统层,进而避免系统层进行大批量的故障信息处理,从而防止CE风暴的发生。反之,当内存中的CE数量未超出第一阈值时,说明内存中发生的CE内存故障数量较少,也即说明当前不会触发CE风暴,因此,无需对各CE内存故障对应的故障上报信号进行拦截。
如上所述,当上层应用读取内存数据触发CE内存故障时,在固件优先模式下,硬件平台会向系统发出CMCI中断,该CMCI中断和threshold_interrupt函数绑定,在触发CMCI中断时,会调用threshold_interrupt函数记录mcelog日志,从而基于该mcelog日志实现故障信息记录与上报。由此可见,对各CE内存故障对应的故障上报信号进行拦截,实质意义上是对触发的CMCI中断进行拦截。
同样的,上述第一阈值的具体取值并不影响本技术方案的实施,由技术人员根据实际需求进行自定义设置即可,本申请对此不做限定。
可见,本申请所提供的CE风暴抑制方法,一旦监测到内存中发生CE内存故障,则立即对CE数量进行采集,当CE数量超出一定数量(第一阈值)时,说明当前即将触发CE风暴,此时,则可以对各CE内存故障的故障上报信号进行拦截,以有效避免故障信息被上报至系统层进行故障处理,从而可以避免大量的系统资源被占用,实现了对CE风暴的有效抑制,进一步保障了系统的稳定性,提高了业务性能。
在本申请的一个实施例中,上述拦截各CE内存故障对应的故障上报信号,可以包括:在预设可编程寄存器中设置故障上报信号屏蔽标志,以在检测到故障上报信号屏蔽标志后停止向系统层发送故障上报信号。
本申请实施例提供了一种故障上报信号的拦截方法,即通过在预设可编程寄存器中设置故障上报信号屏蔽标志实现。具体而言,可以预先设置与内存相连接的可编程寄存器,进一步,当内存中的CE数量超出第一阈值时,则可以在可编程寄存器中设置故障上报信号屏蔽标志,该故障上报信号屏蔽标志则用于表示对各故障上报信号进行拦截。
其中,可编程寄存器可以与内存库相对应,由于一个内存中划分为多个内存库(称为Bank,每个内存库内可以包括一个或多个上述的内存段),因此,一个内存库可以对应于一个可编程寄存器,每个内存库均可以根据自身CE数量确定是否需要在相应的可编程寄存器中设置故障上报信号屏蔽标志,也即确定是否需要进行故障上报信号拦截。
可以理解的是,可编程寄存器的具体类型并不影响本技术方案的实施,可支持软件修改寄存器状态即可,本申请对此不做限定。以下以IA32_MCi_CTL2 MSR寄存器为例,对故障上报信号的拦截方法进行进一步阐述:
请参考图4,图4为本申请所提供的一种IA32_MCi_CTL2 MSR寄存器的内部定义示意图,可以通过修改IA32_MCi_CTL2 MSR寄存器第30位CMCI_EN的值,来控制CMCI中断的上报情况。当CMCI_EN为0时,对应内存库屏蔽CMCI中断,不上报CE内存故障;当CMCI_EN为1时,对应内存库放通CMCI中断,上报CE内存故障。由此,在硬件检测单位时间内发生的CE数量远大于正常范围(第一阈值)时,即可判定为当前内存库有CE风暴触发,修改对应IA32_MCi_CTL2 MSR寄存器中CMCI_EN的值为0,停止上报该CE内存故障。
可以想到的是,基于硬件层面执行路径短的特性,可以在预测到CE风暴时及时进行故障上报信号的拦截,进而及时防止系统性能和稳定性受到CE风暴影响。
S103:监测对故障内存段的应用访问数量,并在应用访问数量低于第二阈值后恢复向系统层上报故障上报信号。
具体的,若采用上述可编程寄存器记录的方式,该步骤具体可以包括包括:监测应用访问数量;当应用访问数量低于第二阈值时,为预设可编程寄存器清除故障上报信号屏蔽标志,以恢复向系统层发送故障上报信号。
本申请实施例所提供的CE风暴抑制方法还可以实现应用访问减缓后的故障上报信号放通处理。具体而言,可以对应用层发起的应用访问进行实时的数量统计,当应用访问数量低于第二阈值时,说明当前应用访问开始减缓,系统层压力较小,此时,则可以清除预设可编程寄存器中的故障上报信号屏蔽标志,对于IA32_MCi_CTL2 MSR寄存器而言,则是修改IA32_MCi_CTL2 MSR寄存器中CMCI_EN的值为1,从而放通各故障上报信号。
除此之外,当某一个内存库多次触发故障上报信号拦截时,如触发故障上报信号拦截次数超过三次,则即使在应用访问开始减缓之后,也不清除预设可编程寄存器中的故障上报信号屏蔽标志,即一直保持故障上报信号拦截状态,直至下次系统重启。
在本申请的一个实施例中,上述拦截各CE内存故障对应的故障上报信号之后,还可以包括:记录各CE内存故障所在的内存库,以及CE内存故障在内存库中的故障内存段。
相应的,上述为预设可编程寄存器清除故障上报信号屏蔽标志之后,还可以包括:利用Scrub引擎对各内存库中的故障内存段进行扫描,获得CE内存故障信息;将CE内存故障信息上报至系统层。
可以理解的是,在拦截故障上报信号器件,CE内存故障的相关信息无法上报,进而导致无法及时处理这些被拦截的CE内存故障。有基于此,为实现放通故障上报信号之后CE内存故障的快速上报以及快速处理,可以在拦截故障上报信号期间,对各CE内存故障所在的内存库以及其在内存库中的故障内存段进行实时记录;进一步,在放通故障上报信号之后,则可以利用Scrub引擎优先对前述所记录各内存库的故障内存段进行扫描,并将扫描信息,即各CE内存故障信息上报至系统层,由系统层进行故障处理。
Scrub引擎可以在放通故障上报信号之后优先进行内存库的故障区域扫描,及时获得CE内存故障信息;同时,Scrub引擎与上述基于IA32_MCi_CTL2 MSR寄存器的CE风暴抑制策略互补,Scrub引擎同样是一种基于Scrub硬件的主动扫描引擎,基于硬件层面执行路径短的特性,可以将扫描得到的各CE内存故障信息快速上报至系统层,以便于系统层进行故障处理,更加快速高效。
进一步,Scrub引擎在对内存库的故障区域优先扫描完毕后,可能还存在一些应用层未访问的内存区域,也同样可能存在CE内存故障,有潜在触发CE风暴的隐患。因此,Scrub引擎还可以进一步主动扫描这些应用层未访问内存区域的CE内存故障,并及时报告给系统层,以便于系统层及时进行故障处理。
在本申请的一个实施例中,该CE风暴抑制方法还可以包括:识别CE内存故障所在的故障内存段;将故障内存段迁移至预设隔离区;在故障内存段的原始位置创建相应的映射内存段。
在软件层面,当遇到CE内存故障时,可以实时对CE内存故障所在区域进行用户无感知的恢复隔离处理,以有效保证应用层进程的正常运行。具体而言,根据对历史CE内存故障的分析结果,发现CE内存故障在内存地址的空间分布符合空间布局性原理,因此,可以针对上报的CE内存故障划分CE内存故障隔离区,即上述预设隔离区;进一步,在监测到CE内存故障时,可以先识别确定CE内存故障所在的故障内存段(例如一个故障内存页),然后将该故障内存段迁移至预先创建的隔离区内,避免应用层进程访问到该故障内存段继续触发CE风暴;然而,在将故障内存段迁移至预设隔离区进行隔离之后,应用层进程将无法访问到自身所需的数据信息,从而导致进程运行中断,此时,为解决该问题,在将故障内存段迁移至预设隔离区之后,可以在故障内存段的原始位置创建一个对应的映射内存段,并重新建立应用层进程到新内存段的映射,使得应用层进程可以通过访问该映射内存段继续获取所需的数据信息,避免应用层进程中断。显然,在整个故障内存段隔离过程中,对于应用层而言是无感知的。
其中,上述故障内存段的迁移以及映射内存段的创建可以通过对故障内存段进行soft offline处理实现。具体的,在识别到故障内存段之后,可以先判断该故障内存段是否正在被应用层进程进行访问,若没有,则可以直接为该故障内存段设置HWpoison标记,以有效防止有新的应用层进程访问到该故障内存段;而对于已经有应用层进程正在访问故障内存段,则可以将其迁移至隔离区,并重建映射内存段,保证应用层进程可以通过访问映射内存段避免进程中断。可以想到的是,通过对CE内存故障隔离区内部的内存地址全部进行soft offline隔离处理,能够有效降低应用层进程访问CE内存故障区域引发CE风暴的概率。
在本申请的一个实施例中,该CE风暴抑制方法还可以包括:统计内存段隔离信息,并将内存段隔离信息持久化至预设文件;当系统重启时,基于预设文件中的内存段隔离信息进行固化隔离操作。
可以理解的是,上一实施例中基于软件的故障隔离状态无法在系统重启之后继续保持,因此,在系统重启后CE风暴风险还是继续存在。有基于此,可以通过CE内存故障持久化操作实现系统重启之后的隔离状态回复,具体的,可以将相关的内存段隔离信息(如预设隔离区的位置信息、预设隔离区内的故障内存段的相关信息等)持久化至预设文件,由此,在系统重启之后,则可以直接根据预设文件中的内存段隔离信息进行固化隔离操作,以恢复之前的隔离状态,预防系统重启之后爆发CE风暴。
在本申请的一个实施例中,该CE风暴抑制方法还可以包括:向系统层发送故障上报信号,以使系统层在检测到故障上报次数大于第二阈值后输出告警提示。
本申请实施例所提供的CE风暴抑制方法还可以实现告警功能。具体而言,可以预先创建CE内存故障告警机制,在CE内存故障超出第二阈值或频繁有CE风暴产生时,可以生成告警信息并进行输出。在此基础上,还可以进一步建议技术人员在未来的运维计划中安排更换故障内存条,以彻底消除CE风暴源头,从而消除CE风暴带来的系统稳定性风险。
其中,告警提示的实现方式并不唯一,例如,可以为声音告警、指示灯告警、可视化界面显示告警等,由技术人员根据实际需求进行设置即可,本申请对此不做限定。
基于上述各实施例所提供的CE风暴抑制方法可知,本申请同时结合了软件和硬件优势来解决CE风暴影响系统稳定性的问题:在硬件层面,具有执行路径短的优势,可以在第一时间内发现CE风暴,并防止系统性能和稳定性受到CE风暴影响;在软件层面,对CE内存故障的处理更加完善,可以通过持久化逻辑固化隔离状态。
本申请还提供了一种CE风暴抑制装置,请参考图5,图5为本申请所提供的一种CE风暴抑制装置的结构示意图,该CE风暴抑制装置可包括:
CE数量采集模块1,用于当监测到故障内存段发生CE内存故障时,采集单位时间内故障内存段对应的CE数量;
上报信号拦截模块2,用于当CE数量超出第一阈值时,拦截向系统层上报的CE内存故障对应的故障上报信号;
上报恢复模块3,用于监测对故障内存段的应用访问数量,并在应用访问数量低于第二阈值后恢复向系统层上报故障上报信号。
可选地,上报信号拦截模块2具体用于在预设可编程寄存器中设置故障上报信号屏蔽标志,以在检测到故障上报信号屏蔽标志后停止向系统层发送故障上报信号。
可选地,上报恢复模块3具体用于监测应用访问数量;当应用访问数量低于第二阈值时,为预设可编程寄存器清除故障上报信号屏蔽标志,以恢复向系统层发送故障上报信号。
可选地,还包括:
故障记录模块,用于记录各CE内存故障所在的内存库,以及CE内存故障在内存库中的故障内存段;
相应的,还包括:
故障扫描模块,用于利用Scrub引擎对各内存库中的故障内存段进行扫描,获得CE内存故障信息;
故障信息上报模块,用于将CE内存故障信息上报至系统层。
可选地,上报恢复模块3具体用于向系统层发送故障上报信号,以使系统层在检测到故障上报次数大于第二阈值后输出告警提示。
可选地,还包括:
故障内存段识别模块,用于识别CE内存故障所在的故障内存段;
迁移模块,用于将故障内存段迁移至预设隔离区;
映射模块,用于在故障内存段的原始位置创建相应的映射内存段。
可选地,还包括:
持久化模块,用于统计内存段隔离信息,并将内存段隔离信息持久化至预设文件;
持久化隔离模块,用于当系统重启时,基于预设文件中的内存段隔离信息进行固化隔离操作。
对于本申请提供的装置的介绍请参照上述方法实施例,本申请在此不做赘述。
本申请还提供了一种CE风暴抑制系统,请参考图6,图6为本申请所提供的一种CE风暴抑制系统的结构示意图,该CE风暴抑制系统可包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时可实现如上述任意一种CE风暴抑制系统方法的步骤。
如图6所示,为CE风暴抑制系统的组成结构示意图,CE风暴抑制系统可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行CE风暴抑制方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
当监测到CE内存故障时,采集单位时间内的CE数量;
当CE数量超出第一阈值时,拦截各CE内存故障对应的故障上报信号。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口12可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图6所示的结构并不构成对本申请实施例中CE风暴抑制系统的限定,在实际应用中CE风暴抑制系统可以包括比图6所示的更多或更少的部件,或者组合某些部件。
本申请还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如上述任意一种CE风暴抑制方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请的保护范围内。

Claims (10)

1.一种CE风暴抑制方法,其特征在于,包括:
当监测到故障内存段发生CE内存故障时,采集单位时间内所述故障内存段对应的CE数量;
当所述CE数量超出第一阈值时,拦截向系统层上报的所述CE内存故障对应的故障上报信号;
监测对所述故障内存段的应用访问数量,并在所述应用访问数量低于第二阈值后恢复向所述系统层上报所述故障上报信号。
2.根据权利要求1所述的CE风暴抑制方法,其特征在于,所述拦截向系统层上报的所述CE内存故障对应的故障上报信号,包括:
在预设可编程寄存器中设置故障上报信号屏蔽标志,以在检测到所述故障上报信号屏蔽标志后停止向所述系统层发送所述故障上报信号。
3.根据权利要求2所述的CE风暴抑制方法,其特征在于,所述监测对所述故障内存段的应用访问数量,并在所述应用访问数量低于第二阈值后恢复向所述系统层上报所述故障上报信号,包括:
监测所述应用访问数量;
当所述应用访问数量低于所述第二阈值时,为所述预设可编程寄存器清除所述故障上报信号屏蔽标志,以恢复向所述系统层发送所述故障上报信号。
4.根据权利要求3所述的CE风暴抑制方法,其特征在于,所述拦截向系统层上报的所述CE内存故障对应的故障上报信号之后,还包括:
记录各所述CE内存故障所在的内存库,以及所述CE内存故障在所述内存库中的所述故障内存段;
相应的,所述为所述预设可编程寄存器清除所述故障上报信号屏蔽标志之后,还包括:
利用Scrub引擎对各所述内存库中的故障内存段进行扫描,获得CE内存故障信息;
将所述CE内存故障信息上报至所述系统层。
5.根据权利要求3所述的CE风暴抑制方法,其特征在于,所述恢复向所述系统层发送所述故障上报信号,包括:
向所述系统层发送所述故障上报信号,以使所述系统层在检测到故障上报次数大于第二阈值后输出告警提示。
6.根据权利要求1所述的CE风暴抑制方法,其特征在于,还包括:
识别所述CE内存故障所在的故障内存段;
将所述故障内存段迁移至预设隔离区;
在所述故障内存段的原始位置创建相应的映射内存段。
7.根据权利要求6所述的CE风暴抑制方法,其特征在于,还包括:
统计内存段隔离信息,并将所述内存段隔离信息持久化至预设文件;
当系统重启时,基于所述预设文件中的内存段隔离信息进行固化隔离操作。
8.一种CE风暴抑制装置,其特征在于,包括:
CE数量采集模块,用于当监测到故障内存段发生CE内存故障时,采集单位时间内所述故障内存段对应的CE数量;
上报信号拦截模块,用于当所述CE数量超出第一阈值时,拦截向系统层上报的所述CE内存故障对应的故障上报信号;
上报恢复模块,用于监测对所述故障内存段的应用访问数量,并在所述应用访问数量低于第二阈值后恢复向所述系统层上报所述故障上报信号。
9.一种CE风暴抑制系统,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的CE风暴抑制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的CE风暴抑制方法的步骤。
CN202210552402.7A 2022-05-20 2022-05-20 一种ce风暴抑制方法、装置及相关设备 Pending CN114911659A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210552402.7A CN114911659A (zh) 2022-05-20 2022-05-20 一种ce风暴抑制方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210552402.7A CN114911659A (zh) 2022-05-20 2022-05-20 一种ce风暴抑制方法、装置及相关设备

Publications (1)

Publication Number Publication Date
CN114911659A true CN114911659A (zh) 2022-08-16

Family

ID=82767964

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210552402.7A Pending CN114911659A (zh) 2022-05-20 2022-05-20 一种ce风暴抑制方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN114911659A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024066589A1 (zh) * 2022-09-28 2024-04-04 超聚变数字技术有限公司 一种硬件故障上报的处理方法及其相关设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024066589A1 (zh) * 2022-09-28 2024-04-04 超聚变数字技术有限公司 一种硬件故障上报的处理方法及其相关设备

Similar Documents

Publication Publication Date Title
CN109328340B (zh) 内存故障的检测方法、装置和服务器
KR101944874B1 (ko) 오류 처리 방법, 관련 장치 및 컴퓨터
EP2329371B1 (en) Evaluating effectiveness of memory management techniques selectively using mitigations to reduce errors
US6516429B1 (en) Method and apparatus for run-time deconfiguration of a processor in a symmetrical multi-processing system
US8015436B2 (en) Resilient data storage in the presence of replication faults and rolling disasters
CN111008091A (zh) 一种内存ce的故障处理方法、系统及相关装置
EP1746505A2 (en) Autonomous method and apparatus for mitigating soft-errors in integrated circuit memory storage devices at run-time
CN102591591A (zh) 磁盘检测系统、磁盘检测方法以及网络存储系统
CN111104238B (zh) 一种基于ce的内存诊断的方法、设备及介质
CN106293984A (zh) 一种计算机故障自动处理方式以及装置
CN111221775B (zh) 处理器、缓存处理方法及电子设备
CN105607973B (zh) 一种虚拟机系统中设备故障处理的方法、装置及系统
WO2023193396A1 (zh) 一种内存故障处理方法、装置及计算机可读存储介质
CN114911659A (zh) 一种ce风暴抑制方法、装置及相关设备
CN113176963A (zh) 一种PCIe故障自修复方法、装置、设备及可读存储介质
CN110989938A (zh) 一种故障盘识别方法、装置、设备及计算机可读存储介质
JP5451087B2 (ja) 障害処理装置および方法
US7315961B2 (en) Black box recorder using machine check architecture in system management mode
CN110515756A (zh) 一种存储系统的故障预防方法、装置、设备和存储介质
JPH02135533A (ja) 障害処理方式
CN111124729A (zh) 一种故障盘判定方法、装置、设备及计算机可读存储介质
CN117472623A (zh) 处理内存故障的方法、装置、设备及存储介质
CN113381895B (zh) 网络故障的检测方法及装置
US11892920B2 (en) Method, electronic device, and program product for failure handling
CN109799992B (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