CN115391073A - 内存故障的处理方法、基板管理控制器及计算系统 - Google Patents
内存故障的处理方法、基板管理控制器及计算系统 Download PDFInfo
- Publication number
- CN115391073A CN115391073A CN202210868342.XA CN202210868342A CN115391073A CN 115391073 A CN115391073 A CN 115391073A CN 202210868342 A CN202210868342 A CN 202210868342A CN 115391073 A CN115391073 A CN 115391073A
- Authority
- CN
- China
- Prior art keywords
- analysis information
- memory
- buffer
- information
- cpu
- 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
- 239000000758 substrate Substances 0.000 title claims abstract description 8
- 238000003672 processing method Methods 0.000 title abstract description 4
- 238000004458 analytical method Methods 0.000 claims abstract description 168
- 238000000034 method Methods 0.000 claims abstract description 65
- 230000004044 response Effects 0.000 claims abstract description 16
- 238000002955 isolation Methods 0.000 claims description 48
- 230000008439 repair process Effects 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 abstract description 22
- 238000004422 calculation algorithm Methods 0.000 description 24
- 238000005516 engineering process Methods 0.000 description 17
- 238000010801 machine learning Methods 0.000 description 16
- 238000013473 artificial intelligence Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000012937 correction Methods 0.000 description 8
- 230000001960 triggered effect Effects 0.000 description 8
- 230000003044 adaptive effect Effects 0.000 description 5
- 230000001629 suppression Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 239000008187 granular material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013036 cure process Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000035876 healing Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- VMSRVIHUFHQIAL-UHFFFAOYSA-N sodium;dimethylcarbamodithioic acid Chemical compound [Na+].CN(C)C(S)=S VMSRVIHUFHQIAL-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/073—Error 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
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)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种内存故障的处理方法、基板管理控制器及计算系统。该方法包括:接收内存的可纠正错误CE信息;根据所述CE信息,得到CE分析信息;响应于第一触发信号,将所述CE分析信息保存至基板管理控制器的缓冲区;所述第一触发信号用于指示停止输出所述CE分析信息;响应于第二触发信号,输出所述缓冲区中的所述CE分析信息;所述第二触发信号用于指示输出所述CE分析信息。本申请实施例的方法降低了自愈功能被关闭后,CE信息未被处理给计算系统带来业务中断或宕机的风险。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种内存故障的处理方法、基板管理控制器及计算系统。
背景技术
随着计算机技术发展,所需的内存容量越来越大,基础失效率越来越高。服务器厂商纷纷推出了内存故障预测和自愈功能。该预测和自愈过程包括:内存控制器检测内存可纠正的错误(corrected error,CE)后,通过基本输入输出系统(basic input/outputsystem,BIOS)将该内存错误上报给基板管理控制器(baseboard management controller,BMC);BMC确定错误类型并向BIOS提交故障隔离请求,进行错误修复。
但如果频繁修复将会对计算系统的性能造成影响。在实际使用过程中,用户可基于使用需求或周期性关闭自愈功能,这会导致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等级用于指示该CE的风险等级;在该输出该缓冲区中的该CE分析信息之前,该方法还包括:根据该CE等级将缓冲区的该CE分析信息进行排序;该输出该缓冲区中的该CE分析信息,包括:按照该风险等级由高到低的顺序,输出该缓冲区中的该CE分析信息。
在一种可能的实现中,该响应于第二触发信号,输出该缓冲区中的该CE分析信息,包括:响应于该第二触发信号,将该缓冲区中的该CE分析信息输出至中央处理器(centralprocessing unit,CPU)。
在一种可能的实现中,该将该缓冲区中的该CE分析信息输出至中央处理器CPU,包括:向该CPU发送携带该缓冲区中的该CE分析信息的硬件隔离请求,以使得BIOS调用该CPU对该内存进行硬件隔离修复。
在一种可能的实现中,该将该缓冲区中的该CE分析信息发送至中央处理器CPU,包括:向该CPU发送携带该缓冲区中的该CE分析信息的软件隔离请求,以使得操作系统(operating system,OS)调用该CPU对该内存进行软件隔离修复。
本申请第二方面提供一种计算系统,该计算系统包括管理装置,该管理装置包括内存故障预测和自愈系统,该内存故障预测和自愈系统包括人工智能(artificialintelligence,AI)模块和自愈模块;
AI模块用于接收内存的可纠正错误CE信息;
AI模块还用于根据该CE信息,得到CE分析信息;
自愈模块用于响应于第一触发信号,将该CE分析信息保存至基板管理控制器的缓冲区;该第一触发信号用于指示停止输出该CE分析信息;
自愈模块还用于响应于第二触发信号,输出该缓冲区中的该CE分析信息;该第二触发信号用于指示输出该CE分析信息。
在一种可能的实现中,该缓冲区用于保存第一数量的该CE分析信息;自愈模块具体用于:响应于第二触发信号,输出该缓冲区中的该第一数量的该CE分析信息。
在一种可能的实现中,该缓冲区所占用的存储空间为固定大小;自愈模块具体用于:当该缓冲区的可用空间不足以存储待保存的该CE分析信息时,删除该缓冲区中存入时间最早的该CE分析信息。
在一种可能的实现中,自愈模块具体还用于将该存入时间最早的该CE分析信息保存至历史记录文件。
在一种可能的实现中,该CE分析信息包括CE等级,该CE等级用于指示该CE的风险等级;自愈模块还用于:根据该CE等级将缓冲区的该CE分析信息进行排序;自愈模块具体用于按照该风险等级由高到低的顺序,输出该缓冲区中的该CE分析信息。
在一种可能的实现中,自愈模块具体用于:响应于该第二触发信号,将该缓冲区中的该CE分析信息输出至CPU。
在一种可能的实现中,自愈模块具体用于:向该CPU发送携带该缓冲区中的该CE分析信息的硬件隔离请求,以使得BIOS调用该CPU对该内存进行硬件隔离修复。
在一种可能的实现中,自愈模块具体用于:向该CPU发送携带该缓冲区中的该CE分析信息的软件隔离请求,以使得OS调用该CPU对该内存进行软件隔离修复。
本申请第三方面提供一种基板管理控制器,该基板管理控制器包括:
处理器和存储器;该处理器和该存储器耦合;
该存储器用于存储程序指令;
该处理器用于执行该程序指令,使得该基板管理控制器执行上述第一方面中所述的方法。
本申请第四方面提供一种计算系统,该计算系统包括CPU、内存、BIOS芯片和如上述第三方面所述的基板管理控制器;该CPU与该内存,该BIOS芯片及该基板管理控制器耦合;该CPU上运行OS。
应理解的是,上述多个方面的实现和有益效果可相互参考。
附图说明
图1为本申请实施例提供的一种计算系统100的系统框架图;
图2为本申请实施例提供的一种内存故障的处理方法的流程示意图;
图3为本申请实施例提供的一种基板管理控制器300的结构示意图;
图4为本申请实施例提供的一种计算系统400的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
目前的内存预测和治愈过程:内存控制器将检测到的CE信息发送给BIOS,BIOS将该CE信息发送给BMC的“内存故障预测和自愈”系统,由该系统的AI模块进行预测推理分析,得出CE分析信息并传递给自愈模块,由自愈模块根据该CE分析信息向BIOS或操作系统(operating system,OS)提交具体的故障隔离请求。
申请人发现用户在关闭内存故障自愈功能(下文简称自愈功能)时,会存在下述问题:
(1)在自愈功能关闭期间,如果出现大量的CE可能会触发BIOS的风暴抑制机制,在风暴抑制期间,会导致BIOS停止向BMC上报CE;而内存故障预测和自愈系统接收不到CE,会导致自愈功能重新开启后没有治愈作用;(2)如果自愈功能一直未开启,则CE发生之后无法及时修复,会导致自愈效果不佳。上述问题会造成内存故障预测的结果不准,给出的自愈效果不佳,导致计算系统业务中断或者宕机的风险加大。
其中,在一定时间段内,发生一定数量故障的现象被称为故障风暴,是指计算系统中的一种故障聚合的名称。当计算系统频繁地对内存故障进行隔离处理时,会影响计算系统的性能造成影响;因此,当计算系统确认发生故障风暴后,将会触发风暴抑制(stormsuppression),也即屏蔽BIOS执行故障上报,避免因故障的频繁处理而导致业务卡顿或者业务中断。
为了解决上述问题,本申请实施例提供一种内存故障的处理方法,该方法能够降低计算系统因内存故障导致业务中断或者宕机的风险。
本申请实施例提供的内存故障的处理方法可以应用于图1所示的计算系统100,该计算系统100可以为服务器、存储控制器、交换机、路由器、基站控制器、计算卸载卡、计算加速卡等设备,本申请实施例对于图1所示的计算系统的具体形式并不进行限定。如图1所示,该计算系统100包括管理装置110、处理器120、BIOS芯片130、内存150以及运行于处理器120上的OS140。
其中,管理装置110可以为非业务模块的管理单元,该管理装置110也可以称为带外管理装置110。例如,管理装置110可以通过专用的数据通道对计算系统100进行远程维护和管理;管理装置110是完全独立于计算系统100的操作系统之外的,可以通过计算系统100的带外管理接口分别与BIOS芯片130和运行于处理器120中的OS140进行通信。
其中,在计算系统100上电后,处理器120可以用于获取BIOS芯片130中的程序代码并运行,处理器120可以根据该程序代码实现BIOS的部分或全部功能。
具体地,管理装置110可以为计算系统100运行状态的管理单元、内置于处理器120的管理单元、处理器外管理芯片中的管理系统、基板管理控制器(baseboard managementcontroller,BMC)、系统管理模块(system management module,SMM)、内置于业务单元中的管理单元、或操作系统中的设备管理系统等管理单元中的一个或多个的组合。本申请实施例对于管理装置的具体形式并不进行限定,在此仅是示例性说明。
管理装置110包括内存故障预测和自愈系统1110,内存故障预测和自愈系统1110为运行于管理装置110中的软件。
内存故障预测和自愈系统1110包括AI模块1111和自愈模块1112。AI模块1111用于接收内存150的CE信息,并通过机器学习算法根据该CE信息得到对应的CE分析信息,该CE分析信息包括故障特征模式和/或内存修复技术;AI模块1111还用于将该CE分析信息发送给自愈模块1112,自愈模块1112用于将该CE分析信息输出至处理器120。
具体地,自愈模块1112可以用于根据CE分析信息所指示的隔离修复技术,向处理器120发送硬件隔离请求或软件隔离请求。
处理器120为计算系统100中的中央处理器CPU,还可以用于根据该CE分析信息或上述两种隔离请求,触发BIOS芯片130或OS140对内存150进行修复。
其中,BIOS芯片130或运行于处理器120的BIOS功能可以调用CPU对内存150进行硬件隔离修复,OS140可以调用CPU对内存150进行软件隔离修复。
可以理解的是,当BIOS功能或OS运行于其他处理单元时,自愈模块1112也可以将CE分析信息输出至对应的处理单元。
具体地,AI模块1111可以用于接收处理器120发送的故障信息。
可选的,AI模块1111具体用于结合该CE信息以及内存的历史CE信息,依次判断当前的CE信息是否满足某一种故障特征模式的条件,并为当前内存生成故障特征模式编码,该故障模式编码用于指示当前内存满足哪些故障特征模式的条件;并基于一个或多个故障特征模式编码,采用机器学习算法预测内存发生故障的特征模式,以及每种故障特征模式导致系统级故障的概率,并基于每种故障特征模式导致系统级故障的概率确定内存的故障特征模式。
当自愈功能关闭时,自愈模块1112不向处理器120提交CE分析信息,将该CE分析信息保存至缓冲区中。
其中,计算系统100可以通过实体开关或虚拟开关控制自愈功能的关闭和开启;具体地,计算系统100可以根据该实体开关或虚拟开关的状态触发第一触发信号和第二触发信号,第一触发信号用于指示自愈功能关闭,自愈模块1112停止输出CE分析信息;第二触发信号用于指示自愈功能开启,自愈模块1112输出CE分析信息。
可选的,该缓冲区可以为内存故障预测和自愈系统1110生成的临时文件。
可选的,该缓冲区可以设置于管理装置110。
可选的,该缓冲区所占用的存储空间大小为固定值;自愈模块1112具体用于当该缓冲区的可用空间不足以存储待保存的CE分析信息时,删除该缓冲区中存入时间最早的CE分析信息;当该缓冲区的可用空间足够存储该待保存的CE分析信息时,将该待保存的CE分析信息保存至该缓冲区。
可选的,自愈模块1112还用于将该存入时间最早的CE分析信息保存至内存150中的历史故障记录文件后,再从该缓冲区中删除该存入时间最早的CE分析信息。
可选的,该缓冲区用于保存第一数量的CE分析信息;自愈模块1112具体用于响应于第二触发信号,将缓冲区中该第一数量的CE分析信息输出至处理器120。
可选的,当保存至该缓冲区的CE分析信息的总数量达到第二数量时,自愈模块1112输出告警信息。
可选的,自愈功能开启后,自愈模块1112先处理缓冲区中的CE分析信息,再处理自愈功能开启后AI模块1111发送的CE分析信息。
可选的,CE分析信息还包括CE等级,该CE等级用于指示CE的风险等级;自愈模块1112还可用于根据CE等级将缓冲区中的CE分析信息进行排序,再对缓冲区中的CE分析信息按照风险等级由高到低的顺序进行输出。
处理器120包括内存控制器1210。内存控制器1210用于检测内存150是否发生内存故障;当检测到内存150发生CE时,内存控制器1310可以将对应的CE信息发送至BIOS芯片130。
BIOS芯片130用于将内存控制器1210发送的CE信息上报给AI模块1111。
内存150可以为计算系统100的运行内存。计算系统100中的内存150可以为一个或多个,该内存150可以为动态随机存取存储器DRAM。
具体地,内存150可以为一个或多个双列直插内存模块(dual inline memorymodule,DIMM)。
其中,OS140为计算系统100的操作系统,用于根据接收到的隔离请求,采用对应的软件隔离修复技术修复内存。
需要说明的是,在具体实现中,计算系统100可以是任何包括图1中类似结构的设备。本申请实施例不限定计算系统100的具体组成结构。此外,图1中示出的组成结构并不构成对计算系统100的限定,除图1所示的部件之外,该计算系统100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
基于图1所示的计算系统,请参阅图2,图2为本申请实施例提供的一种内存故障的处理方法的流程示意图,该方法包括步骤201至204。
步骤201、管理装置接收内存的CE信息。
在步骤201之前,该计算系统中的内存控制器检测到内存中出现CE,并获取对应的CE信息后,通过处理器将该CE信息上报至管理装置。
具体地,在一种可能的实现中,管理装置接收内存的CE信息可以包括:管理装置接收计算系统的CPU或BIOS发送的故障信息。可以理解的是,在其他的一些实施例中,管理装置也可以接收其他与内存具有连接关系的处理器发送的CE信息。
其中,CE信息为内存运行出现CE时的相关信息,具体可以包括CE的状态、CE发生时间、CE出错次数、CE的物理地址信息、内存巡检出错次数、内存巡检出错行地址、内存巡检出错列地址、内存巡检出错最多行地址等信息。本申请实施例对于该CE信息包括的具体内容并不限定,在此仅是示例性说明。
其中,上述故障信息中的物理地址信息用于指示内存故障对应内存的物理位置。即基于该物理地址信息可以确定出内存故障在内存中的具体物理位置。例如,该物理地址信息可以包括CPU节点号、channel号、DIMM插槽号、逻辑rank号、bank group号、bank号、行号、列号、芯片颗粒号或bit位置等信息中的一种或多种。本申请实施例对于该物理地址信息包括的具体内容并不限定,在此仅是示例性说明。
步骤202、管理装置根据该CE信息,得到CE分析信息。
其中,管理装置可以将该CE信息输入机器学习算法,得到该机器学习算法输出的CE分析信息。
其中,该CE分析信息包括故障特征模式和/或内存修复技术。
示例性的,内存的故障特征模式可以包括:页Page故障模式、单比特bit故障模式、Cell故障模式、行Row故障模式、列column故障模式、Bank故障模式、颗粒Device故障模式、Rank故障模式、通道channel故障模式、双列直插内存模块DIMM故障模式、少量持续错误故障模式、短时间突发大量错误故障模式等故障模式中的一种或多种。本申请实施例对于内存的故障特征模式的具体粒度并不限定,在此仅是示例性说明。随着技术的进步,未来可能还会有更细或更粗粒度的故障特征模式。
可以理解的是,针对于某一种故障特征模式,管理装置可以确定对应的内存修复技术以达到最佳的修复效果。
示例性的,采用机器学习算法确定的内存修复技术可以为硬件隔离修复技术,也可以为软件隔离修复技术,本申请实施例对此并不限定。
示例性的,硬件隔离修复技术可以包括:比特bit隔离替换、Cell隔离替换、行Row隔离替换、列column隔离替换、Bank隔离替换、颗粒Device隔离替换、Rank隔离替换、通道channel隔离替换、单颗粒数据纠正(single device data correction,SDDC)、单颗粒错误纠正(single device error correction,SDEC)、自适应型双颗粒数据纠正-多区域(adaptive double device data correction-multiple region,ADDDC-MR)、自适应型数据纠正-单区域(adaptive data correction-single region,ADC-SR)、自适应型双颗粒错误纠正(adaptive double device error correction,ADDEC)、部分缓存数据替换(partial cache line sparing,PCLS)、自适应缓存行替换(adaptive cache linesparing,ACLS)、硬件行替换(hardware post-package repair,HPPR)、软件行替换(software post-package repair,SPPR)、行替换(post-package repair,PPR)、或替换内存特定地址范围的硬件隔离修复技术等修复技术中的一种或多种。本申请实施例对于硬件隔离修复技术的具体特征模式并不限定,在此仅是示例性的说明。
示例性的,软件隔离修复技术可以包括:页隔离(Page offline)、地址隔离、进程隔离、或替换内存特定地址范围的软件隔离修复技术等修复技术中的一种或多种。本申请实施例对于软件隔离修复技术的具体特征模式并不限定,在此仅是示例性说明。
示例性的,上述机器学习算法可以包括基于阈值决策的算法、决策树类算法、有监督机器学习算法、无监督机器学习算法、内存引脚链路检测算法等。例如,管理模块可以基于决策树算法、随机森林算法或神经网络算法确定内存的故障特征模式或者修复内存采用的隔离修复技术。本申请实施例对于确定内存的故障特征模式或者修复内存采用的隔离修复技术时具体采用的机器学习算法的特征模式并不限定,在此仅是示例性说明。
在一种可能的实现中,管理装置通过步骤S201接收内存的CE信息后,管理装置根据该CE信息,得到该CE对应的故障特征模式,可以包括:管理装置结合该CE信息以及内存的历史故障信息,依次判断当前内存的CE信息是否满足某一种故障特征模式的条件,并为当前内存生成故障特征模式编码,该故障模式编码用于指示当前内存满足哪些故障特征模式的条件;管理装置基于多个故障特征模式编码,采用机器学习算法预测内存发生故障的特征模式,以及每种故障特征模式导致系统级故障的概率,并基于每种故障特征模式导致系统级故障的概率确定内存的故障特征模式。
其中,历史故障信息为管理装置在接收该故障信息之前接收到的故障信息。
可以理解的是,上述步骤S202中管理装置基于CE信息,采用机器学习算法确定对应内存修复技术的具体实现方式,与上述管理装置基于CE信息,采用机器学习算法确定对应的故障特征模式的实现方式类似,在此不再赘述。
具体地,步骤202由内存故障预测和自愈系统中的AI模块执行。
步骤203、响应于第一触发信号,管理装置将该CE分析信息保存至BMC的缓冲区。
在本实施例的计算系统中设置有自愈开关,该自愈开关用于控制自愈功能的开启或关闭。在该自愈开关关闭时,内存故障预测和自愈系统中的自愈模块暂停输出CE分析信息。
其中,该自愈开关可以为实体的硬件开关,也可以为虚拟的软件开关;该自愈开关可以设置于管理装置中,也可以设置于BIOS,或是设置于计算系统中的其他硬件模块或软件模块中。本申请实施例不对该自愈开关设置的位置和属性进行限定。
其中,计算系统可以根据该自愈开关的开关状态,向管理装置发送第一触发信号或第二触发信号,以控制管理装置中的自愈模块是否向处理器输出CE分析信息。具体地,第一触发信号用于指示自愈模块停止输出CE分析信息,第二触发信号用于指示自愈模块输出CE分析信息。
其中,该缓冲区可以是BMC中预设的缓冲区,也可以是BMC临时划分的缓冲区域,具体可以表现为BMC生成的临时文件。在一种可能的实现中,管理装置可以将CE分析信息,例如该故障特征模式和/或该内存修复技术保存至该临时文件。
在一种可能的实现中,该缓冲区所占用的存储空间大小为固定值;当该缓冲区的可用空间不足以存储待保存的CE分析信息时,管理装置将该缓冲区中存入时间最早的CE分析信息删除;当该缓冲区的可用空间足够存储该待保存的CE分析信息时,将该待保存的CE分析信息保存至该缓冲区。
具体地,自愈模块接收到新的CE分析信息时,先判断缓冲区的可用空间大小是否大于该CE分析信息的大小;若否,则删除该缓冲区中存入时间最早的CE分析信息,并再次判断该缓冲区的可用空间大小是否大于该CE分析信息大小,直至缓冲区的可用空间大小大于该CE分析信息的大小;若是,则该待保存的CE分析信息保存至该缓冲区。
通过限定缓冲区的大小,并根据存入时间更新缓冲区中的CE分析信息,可以防止过多占用管理装置的系统资源;可以理解的是,未处理的内存故障会衍生或演变为新的内存故障,因此,通过更新缓冲区中的CE分析信息,可以使得自愈开关开启后,能够根据内存最新的CE分析信息对内存进行修复,避免无效的重复修复,且尽可能快地降低计算系统宕机的风险。
在一种可能的实现中,在管理装置删除该存入时间最早的CE分析信息之前,该方法还包括:将该存入时间最早的CE分析信息保存至历史故障记录文件。
其中,该历史故障记录文件用于记录管理装置的该机器学习算法的故障分析结果,该历史故障记录文件可以存储于计算系统的内存中,也可以存储于管理装置的存储器中。
通过将未处理的CE分析信息保存在历史故障记录文件中,可以增加该机器学习算法的样本,提高该机器学习算法的准确度。
在一种可能的实现中,该缓冲区用于保存第一数量的CE分析信息;响应于第二触发信号,输出缓冲区中的CE分析信息包括:响应于第二触发信号,管理装置输出缓冲区中该第一数量的CE分析信息。
其中,第一数量可以为根据计算系统的性能设置的数量阈值。可以理解的是,当计算系统进行频繁纠错时,会占用大量的系统资源,影响系统的性能
其中,该CE分析信息可以为固定大小的信息。
该缓冲区中保存第一数量的CE分析信息,当自愈开关再次开启后,管理装置中的自愈模块可以处理该缓冲区中的第一数量的CE分析信息,向BIOS提交对应的故障隔离请求。通过限制该缓冲区用于保存第一数量的CE分析信息,可以避免自愈开关关闭时累积过多待处理的CE分析信息,导致自愈开关开启后计算系统进行频繁的纠错,占用过多的资源,影响系统的性能。
可以理解的是,风暴抑制机制的存在是为了防止计算系统进行过于频繁的纠错,影响系统的性能,因此在BIOS在一定时间内接收的CE超过某一数量阈值时,BIOS将停止向管理装置上报CE,以控制计算系统纠错的频次;而本申请实施例通过控制缓冲区中缓存的CE分析信息的数量,也可以达到控制纠错频次的效果,同时还能够正常接收BIOS上报的CE,并结合历史故障记录文件,使得AI模块的机器学习算法拥有充足的算法数量,预测准确度更高,并且在自愈开关开启后,对最新的CE分析信息进行处理,治愈效果更佳。
在一种可能的实现中,当保存至该缓冲区的CE分析信息的总数量达到第二数量时,管理装置输出告警信息。
其中,第二数量大于第一数量。
通过在检测到自愈开关关闭后,CE分析信息达到第二数量时输出告警信息,以使得用户及时开启自愈开关对累积的内存故障进行处理,降低计算系统的业务中断或宕机的风险。
步骤204、响应于第二触发信号,管理装置输出该缓冲区中的该CE分析信息。
其中,管理装置可以向运行有BIOS或OS的处理器输出该CE分析信息,以使得处理器上的BIOS或OS调用处理器,针对该CE进行内存修复。例如,当BIOS独立运行于BIOS芯片时,管理装置可以向BIOS芯片输出CE分析信息。可以理解的是,当该BIOS或该OS运行于CPU时,管理装置向CPU输出该CE分析信息。
在一种可能的实现中,管理装置可以根据CE分析信息确定内存修复技术,并根据该内存修复技术向CPU发送隔离请求以修复内存;其中,内存修复技术可以包括硬件隔离修复技术和软件隔离修复技术;其中,隔离请求可以包括硬件隔离请求和软件隔离请求,该隔离请求携带该CE分析信息。
硬件隔离是指采用CPU自带的底层内存资源将故障区域局部隔离。如可以采用CPU底层的冗余空间替换故障区域,将故障区域局部隔离。
软件隔离是指操作系统OS层将发生内存错误的区域进行隔离。例如,对于内存页隔离(page offline),OS层可以终止正在使用该内存页的进程,或者,OS层可以关闭正在使用该内存页的应用。
具体地,管理装置可以向CPU发送硬件隔离修复技术对应的硬件隔离请求。可以理解的是,当CPU接收到硬件隔离请求后,BIOS将调用CPU执行对应的硬件隔离操作。
具体地,管理装置可以向CPU提交软件隔离修复技术对应的软件隔离请求。可以理解的是,当CPU接收到软件隔离请求后,OS将调用CPU执行对应的软件隔离操作。
其中,BIOS或OS运行于CPU上,当CPU接收到隔离请求时,CPU可以根据隔离请求指示BIOS或OS执行对应的隔离操作,进而BIOS或OS调用CPU修复内存。
在另一种可能的实现中,管理装置将缓冲区中的CE分析信息输出至CPU。CPU根据该CE分析信息确定的隔离修复技术,触发BIOS调用CPU对内存进行硬件隔离修复;或,触发OS调用CPU对内存进行软件隔离修复。
在一种可能的实现方式中,在管理装置对该缓冲区中的该CE分析信息进行处理之后,该方法还包括:响应于第二触发信号,将自愈开关开启后得到的CE分析信息输出至处理器。
在一种可能的实现方式中,CE分析信息还包括CE等级;管理装置根据CE等级将缓冲区的CE分析信息进行排序;再按照风险等级由高到低的顺序,将缓冲区中的CE分析信息输出至处理器。
其中,CE等级用于指示CE的风险等级,具体地,CE对计算系统的危害程度越大,CE等级越高。
在自愈模块处理CE分析信息的过程中,若接收到AI模块发送的新的CE分析信息,则据该新的CE分析信息的故障等级将该CE分析信息加入该排序结果的队列中。可以理解的是,已处理完毕的CE分析信息将从该队列中删除。
可以理解的是,处理完毕的CE分析信息将保存至历史故障记录文件中。
通过将待处理的CE分析信息根据危害程度的大小进行依次处理,能够降低计算系统的业务中断或宕机的风险。
本申请实施例通过在指示停止输出CE分析信息的第一触发信号被触发时,将CE分析信息保存至缓冲区,并在指示输出CE分析信息的第二触发信号被触发时,处理该缓冲区中的CE分析信息以请求修复内存;可以避免第一触发信号被触发时,CE信息和对应CE分析信息未被处理而导致CE分析时的样本不足的问题,从而能够提高内存修复的准确率和覆盖率,降低计算系统业务中断或宕机的风险。
请参阅图3,本申请实施例还提供了一种基板管理控制器300,基板管理控制器300可以作为上述实施例中的管理装置,用于实现上述实施例涉及管理装置的方法和功能。
如图3所示,基板管理控制器300包括处理器301和存储器302,处理器301和存储器302耦合。
其中,存储器302用于存储程序指令;
处理器301用于执行存储器302中的程序指令,以使得基板管理控制器300执行如图2所提供的内存故障的处理方法。
具体地,处理器301可用于支持与上述实施例中的BIOS和OS进行通信。
如图4所示,为本申请的实施例提供的计算系统400的一种结构示意图。计算系统400包括:中央处理器401、内存402、总线403、BIOS芯片404以及基板管理控制器405;中央处理器401和内存402、BIOS芯片404以及基板管理控制器405耦合;该中央处理器401上运行操作系统OS。中央处理器401、内存402、BIOS404芯片以及基板管理控制器405通过总线403相互连接。该基板管理控制器405可以为如图3所示的基板管理控制器结构和功能。
其中,中央处理器401可以是中央处理器单元,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理器和微处理器的组合等等。总线403可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请的另一实施例中,还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当设备的至少一个处理器执行该计算机执行指令时,设备执行上述图2部分实施例所描述的内存故障的处理方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得设备执行上述图2部分实施例所描述的内存故障的处理方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请实施例所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请实施例各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种内存故障的处理方法,其特征在于,所述方法包括:
接收内存的可纠正错误CE信息;
根据所述CE信息,得到CE分析信息;
响应于第一触发信号,将所述CE分析信息保存至基板管理控制器的缓冲区;所述第一触发信号用于指示停止输出所述CE分析信息;
响应于第二触发信号,输出所述缓冲区中的所述CE分析信息;所述第二触发信号用于指示输出所述CE分析信息。
2.根据权利要求1所述的方法,其特征在于,所述缓冲区用于保存第一数量的所述CE分析信息;所述响应于第二触发信号,输出所述缓冲区中的所述CE分析信息,包括:
响应于所述第二触发信号,输出所述缓冲区中的所述第一数量的所述CE分析信息。
3.根据权利要求1或2所述的方法,其特征在于,所述缓冲区所占用的存储空间为固定大小;所述将所述CE分析信息保存至基板管理控制器的缓冲区,包括:
当所述缓冲区的可用空间不足以存储待保存的所述CE分析信息时,删除所述缓冲区中存入时间最早的所述CE分析信息。
4.根据权利要求3所述的方法,其特征在于,所述删除所述缓冲区中存入时间最早的所述CE分析信息之前,所述方法还包括:
将所述存入时间最早的所述CE分析信息保存至历史记录文件。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述CE分析信息包括CE等级,所述CE等级用于指示所述CE的风险等级;在所述输出所述缓冲区中的所述CE分析信息之前,所述方法还包括:
根据所述CE等级将所述缓冲区中的所述CE分析信息进行排序;
所述输出所述缓冲区中的所述CE分析信息,包括:
按照所述风险等级由高到低的顺序,输出所述缓冲区中的所述CE分析信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述响应于第二触发信号,输出所述缓冲区中的所述CE分析信息,包括:
响应于所述第二触发信号,将所述缓冲区中的所述CE分析信息输出至中央处理器CPU。
7.根据权利要求6所述的方法,其特征在于,所述将所述缓冲区中的所述CE分析信息输出至中央处理器CPU,包括:
向所述CPU发送携带所述缓冲区中的所述CE分析信息的硬件隔离请求,以使得基本输入输出系统BIOS调用所述CPU对所述内存进行硬件隔离修复。
8.根据权利要求6所述的方法,其特征在于,所述将所述缓冲区中的所述CE分析信息发送至中央处理器CPU,包括:
向所述CPU发送携带所述缓冲区中的所述CE分析信息的软件隔离请求,以使得操作系统OS调用所述CPU对所述内存进行软件隔离修复。
9.一种基板管理控制器,其特征在于,所述基板管理控制器包括:
处理器和存储器;所述处理器和所述存储器耦合;
所述存储器用于存储程序指令;
所述处理器用于运行所述程序指令,使得所述基板管理控制器执行权利要求1至8中任一项所述的方法。
10.一种计算系统,其特征在于,所述计算系统包括中央处理器CPU、内存、BIOS芯片和如权利要求9所述的基板管理控制器;所述CPU与所述内存,所述BIOS芯片及所述基板管理控制器耦合;所述CPU上运行操作系统OS。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210868342.XA CN115391073A (zh) | 2022-07-22 | 2022-07-22 | 内存故障的处理方法、基板管理控制器及计算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210868342.XA CN115391073A (zh) | 2022-07-22 | 2022-07-22 | 内存故障的处理方法、基板管理控制器及计算系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115391073A true CN115391073A (zh) | 2022-11-25 |
Family
ID=84116858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210868342.XA Pending CN115391073A (zh) | 2022-07-22 | 2022-07-22 | 内存故障的处理方法、基板管理控制器及计算系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115391073A (zh) |
-
2022
- 2022-07-22 CN CN202210868342.XA patent/CN115391073A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114064333A (zh) | 一种内存故障处理方法和装置 | |
Di Martino et al. | Lessons learned from the analysis of system failures at petascale: The case of blue waters | |
CN104685474A (zh) | 包括不可纠正的错误的地址范围的通知 | |
US20080163014A1 (en) | Tracking health of integrated circuit structures | |
CN114328102A (zh) | 设备状态监控方法、装置、设备及计算机可读存储介质 | |
CN111221775B (zh) | 处理器、缓存处理方法及电子设备 | |
Du et al. | Predicting uncorrectable memory errors for proactive replacement: An empirical study on large-scale field data | |
US11726873B2 (en) | Handling memory errors identified by microprocessors | |
JP7273669B2 (ja) | ストレージシステム及びその制御方法 | |
CN115640174A (zh) | 内存故障预测方法、系统、中央处理单元及计算设备 | |
CN115328684A (zh) | 内存故障的上报方法、bmc及电子设备 | |
CN112000211A (zh) | 一种冗余电源告警信号的处理方法及装置 | |
US11704180B2 (en) | Method, electronic device, and computer product for storage management | |
CN118295838A (zh) | 一种确定内存故障的修复资源粒度的方法及装置 | |
CN115705261A (zh) | 内存故障的修复方法、cpu、os、bios及服务器 | |
WO2024066500A1 (zh) | 内存错误处理方法及装置 | |
CN115391073A (zh) | 内存故障的处理方法、基板管理控制器及计算系统 | |
CN114415970B (zh) | 分布式存储系统的磁盘故障处理方法、装置及服务器 | |
CN116643906A (zh) | 云平台故障的处理方法、装置、电子设备及存储介质 | |
CN111314290A (zh) | 一种web应用防火墙业务连续性保护方法、装置及电子设备 | |
CN116501705A (zh) | 基于ras的内存信息收集解析方法、系统、设备及介质 | |
Simeonov et al. | Proactive software rejuvenation based on machine learning techniques | |
CN111177028B (zh) | 一种动态多级缓存的方法和设备 | |
CN114443383A (zh) | 一种多路径对象链路状态检测方法、装置及存储介质 | |
CN117519052B (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 |