一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

内存故障处理方法、系统及存储介质与流程

2023-04-11 00:41:31 来源:中国专利 TAG:


1.本技术涉及内存技术领域,尤其涉及一种内存故障处理方法、系统及存储介质。


背景技术:

2.内存是计算机设备的重要存储部件,用于暂时存放处理器中的运算数据、以及与硬盘等外部存储器交换的数据。随着内存容量的越来越大,内存的基础失效率也越来越高,这导致内存故障对计算机设备的系统的影响越来越大。
3.相关技术中,为了降低内存故障对系统的影响,通常采用奇偶校验(parity)、错误检查与纠正(error checking and correcting,ecc)等纠错方法对内存进行检查,并对检查到错误进行纠错。然而,这些纠错算法的纠错能力有限,如果超出了纠错算法的纠错能力,则会产生纠错失败,导致系统发生严重故障,例如,宕机,造成内存中的数据丢失。
4.因此,如何更加有效的降低内存故障对系统的影响,成为亟待解决的技术问题。


技术实现要素:

5.本技术实施例提供一种内存故障处理方法、系统及存储介质,能够在内存故障对系统造成影响前,对健康度不达标的内存进行页隔离修复,以避免其发生内存故障,有助于更加有效的降低内存故障对系统的影响。
6.为达到上述目的,本技术的实施例采用如下技术方案:
7.第一方面,提供了一种内存故障处理方法,该方法包括:中央处理器cpu接收目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息;至少一个故障位置信息指示了目标内存中发生故障的物理位置;在故障严重程度满足预设条件的情况下,cpu使用页隔离修复方式对目标物理位置进行故障修复,目标物理位置为目标内存中发生故障的物理位置中适用页隔离修复方式的物理位置。
8.该方案中,通过接收目标内存的故障分析信息,得到目标内存的故障严重程度和目标内存中发生故障的物理位置,并在故障严重程度满足预设条件时,使用页隔离修复方式对目标物理位置进行故障修复。由于故障分析信息包括了目标内存的故障严重程度,并在故障严重程度满足预设条件时,才对目标内存的目标物理位置进行页隔离修复,因此,不仅有助于降低内存故障对系统的影响,还有助于避免过度使用页隔离修复资源,导致后期预测到计算机设备的内存的故障严重程度更严重时,没有足够的页隔离修复资源进行故障修复,提高了页隔离修复资源的利用率。
9.在一种可能的实现方式中,故障分析信息还包括目标内存中发生故障的物理位置所属的至少一个故障模式,其中,至少一个故障模式中的目标故障模式适用页隔离修复方式;该方法还包括:基于至少一个故障模式,从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所属的故障模式为目标故障模式。
10.在该实现方式中,由于目标故障模式适用页隔离修复方式,因此,在故障分析信息包括至少一个故障模式的情况下,可以确定目标内存中发生故障的物理位置中属于目标故
障模式的物理位置为目标物理位置,相对于基于故障位置信息确定目标物理位置,有助于提高确定目标物理位置的准确性和速度,避免将不适用页隔离修复方式的物理位置确定为目标物理位置,造成无效修复,浪费修复资源。
11.另一种可能的实现方式中,故障分析信息还包括目标内存中发生故障的物理位置所使用的至少一个故障修复方式,至少一个故障修复方式中的目标故障修复方式为页隔离修复方式;该方法还包括:基于至少一个故障修复方式,从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所使用的故障修复方式为目标故障修复方式。
12.在该实现方式中,由于目标故障修复方式为页隔离修复方式,因此,在故障分析信息包括至少一个故障修复方式的情况下,可以确定目标内存中发生故障的物理位置中使用目标故障修复方式的物理位置为目标物理位置,相对于基于故障位置信息确定目标物理位置,有助于提高确定目标物理位置的准确性和速度,避免将不适用页隔离修复方式的物理位置确定为目标物理位置,造成无效修复,浪费修复资源。
13.另一种可能的实现方式中,接收页隔离请求,页隔离请求用于指示目标内存中发生故障的物理位置为目标物理位置。
14.在该实现方式中,根据页隔离请求确定目标内存中发生故障的物理位置适用页隔离修复方式,从而不必再执行确定目标物理位置的操作,简化了进行故障修复的步骤,提高了进行故障修复的效率。
15.另一种可能的实现方式中,故障分析信息包括目标内存的故障严重程度具体为故障分析信息包括目标内存的故障严重程度,故障严重程度用于指示目标内存的故障严重程度;故障严重程度满足预设条件,包括:健康度值未达到页隔离修复方式的健康度阈值。
16.在该种实现方式中,预先为页隔离修复方式设置健康度阈值,在接收到健康度值后,根据预先设置的健康度阈值与健康度值的大小关系,确定健康度值是否达标,一方面,为健康度值是否达标确定了清晰的衡量标准,有助于提高确定健康度达标的准确性,另一方面,通过页隔离修复方式的健康度阈值作为衡量健康度值是否达标的标准,有助于合理使用页隔离修复方式,避免过度使用页隔离修复方式,造成页隔离修复资源的浪费。
17.另一种可能的实现方式中,该方法还包括:根据页隔离修复方式的修复代价,确定页隔离修复方式的健康度阈值。
18.在该种实现方式中,通过修复代价确定健康度阈值,从而可以根据修复代价的大小,设置合适的健康度门限值,例如,修复代价较大时设置相对较低的健康度门限值,以尽量减少进行故障修复的概率,修复代价较小时设置相对于较高的健康度门限值,以尽量提高进行故障修复的概率,不仅可以避免为了修复潜在的故障付出较大的代价,还可以实现以较低的代价对目标内存进行故障修复,进而以较低的代价降低目标内存未来发生不可纠正错误的概率。
19.另一种可能的实现方式中,根据页隔离修复方式的修复代价,确定页隔离修复方式的健康度阈值,包括:获取页隔离修复方式的可用修复资源的第一数量;根据第一数量,确定页隔离修复方式的健康度阈值;第一数量与修复代价成反比。
20.在该种实现方式中,通过可用修复资源的第一数量确定健康度阈值,有助于合理使用有限的可用修复资源,例如,在可用修复资源较多时确定较大的健康度阈值,而在可用修复资源较少时确定较小的健康度阈值,从而提高可用修复资源的利用率,避免有限的可
用修复资源被过度使用,导致将来目标内存的健康度更差时没有足够的可用修复资源进行故障修复。
21.另一种可能的实现方式中,根据页隔离修复方式的修复代价,确定页隔离修复方式的健康度阈值,包括:根据页隔离修复方式对目标内存所属计算机设备的性能的影响程度,确定页隔离修复方式的健康度阈值,影响程度与修复代价成正比。
22.在该种实现方式中,通过对计算机设备的性能的影响程度确定健康度阈值,从而据对性能的影响程度设置合适的健康度门限值,例如,在对性能影响较大时确定较小的健康度阈值,而在对性能影响较小时确定较大的健康度阈值,有助于避免为修复潜在故障而影响计算机设备的性能。
23.另一种可能的实现方式中,该方法还包括:获取页隔离修复方式的可用修复资源的第二数量;根据第二数量,更新页隔离修复方式的健康度阈值。
24.在该种实现方式中,通过可用修复资源的第二数量更新健康度阈值,实现动态调整页隔离修复方式的健康度阈值,从而使得健康度阈值能够准确表征可用修复资源的当前数量,而基于当前可用修复资源的当前数量确定健康度值是否达标,有助于合理使用有限的可用修复资源,避免过度使用页隔离修复方式的可用修复资源,例如,在可用修复资源已经剩余较少的情况下,健康度值仍然较大,就会造成过度使用所剩不多的可用修复资源,进而有助于提高修复资源的利用率。
25.另一种可能的实现方式中,故障处理方法还包括:在故障严重程度满足告警条件的情况下,输出告警信息,告警信息用于提示目标内存存在发生不可纠正错误的风险。
26.在该实现方式中,通过设置告警条件,并在目标内存的故障严重程度满足告警条件时,输出告警信息,以提示用户目标内存存在发生故障的风险,方便用户根据实际情况确定是否进行处理。
27.第二方面,提供了一种内存故障处理方法,该方法包括:带外控制器获取目标内存的错误信息;带外控制器根据错误信息,确定目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息;至少一个故障位置信息用于指示目标内存中发生故障的物理位置;发送故障分析信息;其中,故障分析信息用于中央处理单元在故障严重程度满足预设条件的情况下,使用页隔离修复方式对目标物理位置进行故障修复,目标物理位置为目标内存中发生故障的物理位置中适用页隔离修复方式的物理位置。
28.在该方案中,通过目标内存的错误信息预测目标内存的确定目标内存的故障分析信息,该故障分析信息包括故障严重程度和目标内存中发生故障的物理位置,并发送该故障分析信息,使得cpu可以基于故障严重程度是否满足预设条件,确定是否进行故障修复,不仅有助于降低内存故障对系统的影响,还有助于cpu优化故障修复方式,例如,仅在故障严重程度满足预设条件时进行故障修复,进而提高cpu对页隔离修复资源的利用率。
29.在一种可能的实现方式中,故障分析信息还包括目标内存中发生故障的物理位置所属的至少一个故障模式,至少一个故障模式中的目标故障模式适用页隔离修复方式;至少一个故障模式用于cpu从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所属的故障模式为目标故障模式。
30.在该种实现方式中,通过分析目标内存中发生故障的物理位置所属的至少一个故障模式,并发送给cpu,一方面,cpu可以基于每个物理位置所属的故障模式,确定属于目标
故障模式的目标物理位置符合页隔离修复方式,相对于根据至少一个故障位置信息确定目标内存中发生故障的物理位置中符合页隔离修复方式的目标物理位置,有助于提高目标物理位置确定的准确性和效率,进而有助于提高页隔离修复方式与目标物理位置的匹配度,避免对不适用页隔离修复方式的物理位置使用页隔离修复方式进行修复,造成无效修复,浪费修复资源。另一方面,cpu可以基于目标故障模式所指示的物理区域进行集中修复,相对于针对每个物理位置进行故障修复,有助于提高故障修复的效率。
31.另一种可能的实现方式中,故障分析信息还包括目标内存中发生故障的物理位置所使用的至少一个故障修复方式,至少一个故障修复方式中的目标故障修复方式为页隔离修复方式;至少一个故障模式用于cpu从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所使用的故障修复方式为目标故障修复方式。
32.在该种实现方式中,通过预测目标内存中发生故障的物理位置所使用的至少一个故障修复方式,并发送给cpu,一方面,cpu可以基于每个物理位置所使用的故障修复方式,确定使用目标故障修复方式的目标物理位置符合页隔离修复方式,并使用页隔离修复方式对目标物理位置进行故障修复,相对于根据至少一个故障位置信息确定目标内存中发生故障的物理位置中符合页隔离修复方式的目标物理位置,有助于提高目标物理位置确定的准确性和效率,进而有助于提高页隔离修复方式与目标物理位置的匹配度,避免对不适用页隔离修复方式的物理位置使用页隔离修复方式进行修复,造成无效修复,浪费修复资源。另一方面,cpu可以基于目标故障修复方式所指示的物理区域进行集中修复,相对于针对每个物理位置进行故障修复,有助于提高故障修复的效率。
33.另一种可能的实现方式中,发送页隔离请求,页隔离请求用于所述cpu确定目标内存中发生故障的物理位置为目标物理位置。
34.在该实现方式中,通过发送页隔离请求,使得cpu可以根据页隔离请求确定目标内存中发生故障的物理位置为目标物理例,也即,目标内存中发生故障的物理位置适用页隔离修复方式,从而使得cpu不必再执行确定目标物理位置的操作,简化了cpu进行页隔离修复的步骤,提高了cpu进行故障修复效率。
35.另一种可能的实现方式中,带外控制器根据目标内存的错误信息,确定目标内存的故障分析信息,包括:带外控制器将目标内存的错误信息输入机器学习模型,得到机器学习模型输出的目标内存的故障分析信息。
36.在该实现方式中,由于机器学习模型是预先训练完成的,因此,将目标内存的错误信息输入机器学习模型即可得到目标内存的故障分析信息,不需要用户参与计算和数据处理,不仅有助于提高故障预测的速度,还可以避免用户操作所造成的人工错误,进而提高故障分析信息的准确性。
37.第三方面,提供了一种内存故障处理装置,该装置包括:用于执行第一方面提供的任意一种方法的功能单元,各个功能单元所执行的动作通过硬件实现或通过硬件执行相应的软件实现。例如,内存故障处理装置可以是操作系统os管理单元,具体包括:接收单元和处理单元;接收单元,用于接收带外管理模块生成的目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息;至少一个故障位置信息指示了目标内存发生故障的物理位置;处理单元,用于在故障严重程度满足预设条件的情况下,使用页隔离修复方式对目标物理位置进行故障修复,目标物理位置为目标内存中发生故障的
物理位置中适用页隔离修复方式的物理位置。
38.第四方面,提供了一种内存故障处理装置,该装置包括:用于执行第二方面提供的任意一种方法的功能的单元,各个功能单元所执行的动作通过硬件实现或通过硬件执行相应的软件实现。例如,内存故障处理装置可以是带外管理模块,具体包括获取单元、确定单元和发送单元,获取单元,用于获取目标内存的错误信息;确定单元,用于根据错误信息,确定目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息;至少一个故障位置信息指示了目标内存中发生故障的物理位置;发送单元,用于发送故障分析信息;故障分析信息用于os管理单元在故障严重程度满足预设条件的情况下,使用页隔离修复方式对目标物理位置进行故障修复,目标物理位置为目标内存中发生故障的物理位置中适用页隔离修复方式的物理位置。
39.第五方面,提供了一种内存故障处理系统,包括:操作系统os管理单元和带外管理模块。其中,os管理单元用于执行第一方面提供的任意一种方法,带外管理模块用于执行第二方面提供的任意一种方法。
40.第六方面,提供了一种计算机设备,包括:包括:处理器和存储器,处理器与存储器连接。存储器用于存储计算机执行指令,处理器执行存储器存储的计算机执行指令,从而实现第一方面提供的任意一种方法,或实现第二方面提供的任意一种方法。
41.第七方面,提供了一种芯片,该芯片包括:处理器和接口电路;接口电路,用于接收代码指令并传输至处理器;处理器,用于运行代码指令以执行上述第一方面提供的任意一种方法,或执行上述第二方面提供的任意一种方法。
42.第八方面,提供了一种计算机可读存储介质,存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面提供的任意一种方法,或执行上述第一方面提供的任意一种方法。
43.第九方面,提供了一种计算机程序产品,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面提供的任意一种方法,或执行上述第二方面提供的任意一种方法。
44.其中,第三方面至第九方面中任一种设计方式所带来的技术效果可参见第一方面或第二方面中不同设计方式所带来的技术效果,此处不再赘述。
附图说明
45.图1为本技术实施例提供的一种计算机设备的架构图;
46.图2为本技术实施例提供的一种内存故障处理方法的流程图;
47.图3为本技术实施例提供的另一种内存故障处理方法的流程图;
48.图4为本技术实施例提供的另一种内存故障处理方法的流程图;
49.图5为本技术实施例提供的另一种内存故障处理方法的流程图;
50.图6为本技术实施例提供的一种内存故障处理装置的示意图;
51.图7为本技术实施例提供的另一种内存故障处理装置的示意图。
具体实施方式
52.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。
53.其中,在本技术的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,a/b可以表示a或b;本技术中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,其中a,b可以是单数或者复数。
54.并且,在本技术的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
55.另外,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
56.首先,对本技术实施例的应用场景进行示例性介绍。
57.本技术实施例的内存故障方法能够应用于动态随机存取存储器(dynamic random access memory,dram)、静态随机存取存储器(static random access memory,sram)等内存,本技术实施例的方法对于内存的类型不作限制。
58.目前,大部分计算机设备的处理器都支持ecc纠错方法,在内存每次执行读写任务时,处理器会对内存进行ecc纠错。然而,ecc只能用于纠正1个比特(bit)错误和检测2个比特错误,对于1个比特以上错误则无法纠正,2比特以上的错误则不能保证可以检测到。具体来说,能够被纠正的错误称为可纠正错误(corrected error,ce),如果超出纠错算法的能力,例如,内存上有大范围的多比特失效时,则会纠错失败,产生不可纠正错误(uncorrected error,uce),导致计算机设备的系统发生严重故障,比如,宕机,造成内存中的数据丢失。
59.有鉴于此,在下述各个示例中,本技术实施例提供了一种内存故障处理方法,通过接收目标内存的故障分析信息,得到目标内存的故障严重程度和目标内存中发生故障的物理位置,并在故障严重程度满足预设条件时,进行故障修复。由于故障分析信息包括了目标内存的故障严重程度,并在故障严重程度满足预设条件时,才对目标内存的目标物理位置进行页隔离修复,因此,不仅有助于降低内存故障对系统的影响,还有助于避免过度使用页隔离修复资源,导致后期预测到计算机设备的内存的故障严重程度更严重时,没有足够的页隔离修复资源进行故障修复,提高了故障修复资源的利用率。
60.其次,对本技术实施例的系统架构进行示例性介绍。
61.如图1所示,为本技术实施例提供的一种系统架构的示意图。该系统架构图是计算机设备的举例说明。参考图1,该计算机设备的硬件部分包括处理器、带外控制器以及内存,软件部分主要包括带外管理模块、处理器固件、操作系统(operating system,os)管理单元。其中,带外管理模块位于带外控制器内,os管理单元位于处理器内,处理器固件可以位于处理器内(如图1所示),或者,处理器固件也可以位于处理器外的固件芯片(图1中未示
出)内。
62.其中,os管理单元可以为os自带的系统管理单元,或者,也可以为os中安装的设备管理代理程序,本技术实施例对此不做限制。
63.需要说明的,下述实施例中描述的os管理单元某个步骤(如以下的s301),可以理解为是:cpu调用os管理单元执行该步骤。
64.其中,带外管理模块可以为非业务模块的管理单元。例如,带外管理模块可以通过专用的数据通道对计算机设备进行远程维护和管理,该带外管理模块是完全独立于计算机设备的操作系统之外,可以通过计算机设备的带外管理接口与基本输入输出系统(basic input output system,处理器固件)和os(或os管理单元)进行通信。
65.示例性的,带外管理模块可以包括计算机设备外部的监控管理单元、处理器外的管理芯片中的管理系统、计算机设备基板管理单元(baseboard management controller,bmc)、系统管理模块(system management mode,smm)等。需要说明的,本技术实施例对带外管理模块的具体形式并不限定,以上仅为示例性说明。在下述实施例中,仅以带外管理模块为bmc为例进行说明。
66.需要说明的,下述实施例中描述的带外管理模块执行某个步骤(如以下的s201),可以理解为是:带外控制器调用带外管理模块执行该步骤。
67.示例性的,处理器固件(也称为处理器固件程序)可以为firmware、基本输入输出系统(basic input output system,bios)、管理引擎(management engine,me)、微码或智能管理单元(intelligent management unit,imu)等固件。需要说明的,本技术实施例对处理器固件的具体形式并不限定,以上仅为示例性说明。在下述实施例中,仅以处理器固件为bios为例进行说明。
68.需要说明的,下述实施例中描述的处理器固件执行某个步骤(如处理器固件向os管理单元发送故障分析信息等),可以理解为是:cpu调用处理器固件执行该步骤。
69.其中,内存,也称为内存储器或主存储器,安装在计算机设备的主板上的内存插槽中,内存与内存控制器之间通过内存通道(channel)进行通信。内存具有至少一个内存列(rank),每个内存列分别位于内存的一个面上,每个内存列包括至少一个子内存列(subrank),内存列或子内存列包括多个内存芯片(device),每个内存芯片被划分为多个存储阵列组(bankgroup),每个存储阵列组包括多个存储阵列(bank),每个存储阵列划分为多个存储单元(cell),每个存储单元具有一个行(row)地址和一个列(column)地址,每个存储单元包括一个或多个比特位。在一种划分方式中,内存从上级至下级可以依次划分为内存芯片、存储阵列组、存储阵列,存储行/存储列、存储单元、比特位,其中,内存颗粒、存储阵列组、存储阵列、存储行、存储列、存储单元、比特位在内存上的地址为真实的物理地址。在另一种划分方式中,cpu基于分页机制将内存芯片划分为多个内存页(page),其中,内存页的地址为虚拟地址,虚拟地址需要转换后才会变为真实的物理地址。
70.需要说明的,本技术实施例描述的系统架构以及应用场景是为了更加清楚的说明本技术实施例的技术方案,并不构成对于本技术实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
71.为了便于理解,以下结合附图对本技术提供的内存故障处理方法进行示例性介
绍。
72.本技术以下实施例将分成二部分对内存故障处理方法的方案进行示例性介绍。
73.第一部分,结合图2介绍带外管理模块基于目标内存的错误信息确定故障分析信息的过程,故障分析信息包括目标内存的故障严重程度和目标内存中发生故障的物理位置。
74.第二部分,结合图3至图5介绍os管理单元接收第一部分的故障分析信息,并基于目标内存的故障严重程度,对目标内存中发生故障的物理位置中的目标物理位置进行修复的过程。
75.图2是根据一示例性实施例示出的一种内存故障处理方法的流程图。示例性的,该方法包括s201-s203。
76.s201:带外管理模块获取目标内存的错误信息。
77.可选地,目标内存的错误信息包括ce的类别、ce发生时间、ce出错次数、ce的物理地址信息、ce的系统地址信息、内存巡检出错次数、内存巡检出错行地址、内存巡检出错最多行地址、不可纠正错误的类型、不可纠正错误的状态、不可纠正错误的发生时间、不可纠正错误的出错次数、不可纠正错误的物理地址信息、不可纠正错误的物理地址信息、ecc纠错寄存器信息、机器检查体系(machine-check architecture,mca)寄存器信息、mca报告(report)信息、模式寄存器(mode register,mr)寄存器信息中的至少一项。
78.其中,ce的类别包括巡检可纠正错误、读写可纠正错误、搬移可纠正错误、镜像回写可纠正错误等。
79.其中,不可纠正错误的类型包括突发致命错误、选择处理(sw recoverable action optional,srao)错误、不需要处理(uncorrected no action,ucna)错误、必须处理(sw recoverable action required,srar)错误、巡检不可纠正错误等。
80.由于内存发生可纠正错误的次数会比较多,且内存在发生不可纠正错误前,通常会发生可纠正错误,因此,基于目标内存的可纠正错误信息生成目标内存的故障分析信息,有助于提高用于预测的基础数据的数量,进而有助于提高目标内存的故障分析信息的准确性。
81.另外,内存已发生过不可纠正错误的位置,相对于其他位置会更容易发生不可纠正错误,因此,基于目标内存的不可纠正错误信息生成目标内存的故障分析信息,有助于提高目标内存的故障分析信息的准确性。
82.在一些实施例中,目标内存的错误信息为目标内存在第一时间段内的错误信息,其中,第一时间段的时长可以是5天、15天、30天等,也即,第一时间段可以是获取错误信息的时间点之前的5天、15天或30天等时间段。
83.对于如何获取目标内存的错误信息,包括多种实现方式,以下通过方式1和方式2进行示例性说明。
84.方式1:在检测到目标内存发生错误的情况下,带外管理模块获取目标内存的错误信息。
85.相关技术中,内存每次执行读写任务时,cpu会基于ecc纠错方法对内存进行错误检测,如果检测到错误则会对该检测到的错误进行纠正。
86.在一些实施例中,在检测到错误时,由cpu或处理器固件向带外管理模块发送目标
内存的错误信息。在另一些实施例中,在检测到错误并对错误进行纠正后,由cpu或处理器固件向带外管理模块发送目标内存的错误信息。
87.可以理解的,在方式1中,目标内存为计算机设备上检测到发生错误的内存。
88.方式2:带外管理模块按照第一预设周期,周期性获取目标内存的错误信息。
89.在一些实施例中,第一预设周期可以5天、15天、30天等,本技术实施例对此不做限制。
90.在一些实施例中,周期性获取目标内存的可纠正错误信息,可以是带外管理模块主动向cpu或处理器固件获取,或者,也可以是cpu或处理器固件按照预设周期采集目标内存的错误信息后,主动发送给带外管理模块,本技术对此不做限制。
91.可以理解的,在方式2中,目标内存可以是计算机设备上的任意一个内存。
92.在一些实施例中,带外管理模块获取目标内存的错误信息时,还可以获取目标预测信息,从而基于目标内存的错误信息和目标预测信息,确定目标内存的故障分析信息。其中,目标预测信息包括目标内存的运行状态信息、目标内存的固有参数信息、目标内存所在的计算机设备的cpu的固有参数信息、cpu的运行状态信息以及处理器固件的配置信息中的至少一项。
93.其中,目标内存的运行状态信息包括目标内存的占用率信息、温度信息、运行程序信息中的至少一项。目标内存的固有参数信息包括内存的类型、厂商标识、容量、工艺代次、主频、序列号、最小电压、内存列数、位宽中的至少一项。cpu的固有参数信息包括cpu的厂商标识、类别、型号、主频、工艺代次中的至少一项。cpu的运行状态信息包括cpu占用率信息、温度信息、运行程序信息中的至少一种。处理器固件的配置信息包括配置项,例如,配置项可以是单倍刷新频率、双倍刷频率等。
94.在一些实施例中,根据目标内存的错误信息和目标预测信息确定故障分析信息时,可以根据错误信息和目标预测信息构建二维或多维的组合参数,组合参数可以是(错误信息,目标内存的固有参数信息,
……
,cpu的运行状态信息)、(ce发生时间,ce出错次数,
……
,ce类别)等形式,然后,根据该组合参数确定故障分析信息,从而可以基于多个维度评估目标内存的在故障方面的健康度,进而有助于提高故障分析信息的准确性。
95.需要说明的,获取目标预测信息的原理与获取目标内存的错误信息的原理相同,因此,关于如何获取目标预测信息,可以参考错误信息的获取过程和相关说明,此处不再赘述。
96.在该实施例中,通过获取目标预测信息并用于生成故障分析信息,提高了预测参数的丰富性,有助于从多个方面评估目标内存的故障严重程度,从而提高预测到的故障严重程度以及目标内存中发生故障的物理位置的准确性,有助于提高对目标内存进行页隔离修复的准确性,进而有助于避免内存故障对系统的影响。
97.s202:带外管理模块根据错误信息,确定目标内存的故障分析信息,故障分析信息包括故障严重程度和至少一个故障位置信息。
98.可选地,基于目标内存的错误信息对目标内存进行故障分析,得到目标内存的故障严重程度。故障严重程度表征了目标内存的内存故障对系统的影响程度,具体地,故障程度越严重,则健康状况越差,目标内存未来发生不可纠正错误的可能性越高,对系统的影响越大,反之,对系统的影响越小。
99.可选地,基于目标内存的错误信息对目标内存进行故障预测,得到至少一个故障位置信息。其中,在目标内存上,至少一个故障位置信息所指示的物理位置相对于其他物理位置更容易发生不可纠正错误。
100.在一些实施例中,可以通过对目标内存的错误信息进行聚类处理,得到目标内存的故障分析信息。例如,对目标内存上发生过错误的物理位置进行聚类,从而得到至少一个故障位置信息以及故障严重程度。
101.在另一些实施例中,s202包括:将目标内存的错误信息输入机器学习模型,得到机器学习模型输出的目标内存的故障分析信息。
102.其中,机器学习模型为预先训练完成的机器学习模型,该机器学习模型的训练过程可以是通过训练样本和样本标签进行迭代训练,其中,训练样本包括多个内存的错误信息作,样本标签包括每个训练样本的故障严重程度。
103.在该实施例中,由于机器学习模型是预先训练完成的,因此,将目标内存的错误信息输入机器学习模型即可得到目标内存的故障分析信息,不需要用户参与计算和数据处理,不仅有助于提高故障预测的速度,还可以避免用户操作所造成的人工错误,进而提高故障分析信息的准确性。
104.在一些实施例中,机器学习模型可以是分级阈值算法,或者,随机森林、梯度下降决策树模型(gradient boosting decision tree,gbdt)、极端梯度提升(extreme gradient boosting,xgboost)、朴素贝叶斯、支持向量机(support vector machine,svm)等机器学习算法中的一种或多种,或者,卷积神经网络(convolutional neural network,cnn)、长短期神经网络(long short-term memory,lstm)等深度学习算法中的一种或多种,或者,联邦平均法(federated averaging,fedavg)、近端联邦优化算法(federated optimization with proximal term,fedprox)、基于用户场景的联邦学习算法(client selection for federated learning,fedcs)等联邦学习优化类算法中的一种或多种。
105.在一些实施例中,故障严重程度和至少一个故障位置信息可以基于不同的参数信息得到。例如,在预测故障严重程度时,使用目标内存的错误信息和目标预测信息,从而可以从错误情况、运行情况、固有性能等多个方面综合评估目标内存的健康状况,进而提高故障严重程度的预测准确性。在预测至少一个故障位置信息时,使用目标内存的可纠正错误信息和不可纠正错误信息,由于可纠正错误信息和不可纠正错误信息都属于目标内存的历史错误信息,相比于其他信息,例如,运行状态信息、固有参数信息等,历史错误信息与目标内存中发生故障的物理位置的相关性更高,因此,使用目标内存的可纠正错误信息和不可纠正错误信息预测目标内存中发生故障的物理位置,在保证预测准确性的情况下,可以简化用于预测的参数,有助于降低预测难度,提高用于预测的参数的处理速度,进而提高预测速度。
106.s203:带外管理模块发送故障分析信息。其中,故障分析信息用于os管理单元在故障严重程度满足预设条件的情况下,使用页隔离修复方式对目标物理位置进行故障修复,目标物理位置为目标内存中发生故障的物理位置中适用页隔离修复方式的物理位置。
107.对于带外管理模块发送故障分析信息,包括多种实现方式,以下通过方式1至方式3进行示例性说明。
108.方式1:带外管理模块直接向os管理单元发送故障分析信息。
109.在该实现方式中,带外管理模块直接向os管理单元发送的目标内存的故障分析信息,实现了带外管理单元与os管理单元直接通信,因此,完全避免了对处理器固件(如bios)版本的依赖,使得用户可以自主设计os管理单元和带外管理模块,仅采购计算机设备的硬件及其配套的处理器固件,进而降低成本,尤其适用于互联网白牌服务器场景。
110.方式2:带外管理模块向处理器固件发送故障分析信息,由处理器固件将故障分析信息转发给os管理单元。
111.在该实现方式中,带外管理模块通过接收处理器固件(如bios)向os管理单元发送目标内存的故障分析信息,实现由处理器固件作为os管理单元与带外管理模块的中间通信通道,从而可以利用现有acpi接口协议补充自定义字段即可完成处理器固件和os管理单元中定义的通信内容,避免了使用带外管理模块和os管理单元之间自定义的通信协议,进而减少了带外管理模块和os管理单元的版本间的依赖。
112.方式3:带外管理模块向处理器固件发送故障分析信息中的至少一个故障位置信息,并向os管理单元发送故障分析信息中的故障严重程度。
113.在该实现方式中,带外管理模块通过接收处理器固件(如bios)向os管理单元发送目标内存的至少一个故障位置信息,实现由处理器固件作为os管理单元与带外管理模块的中间通信通道,从而可以利用现有acpi接口协议即可完成处理器固件和os管理单元中定义的通信内容,由于故障位置信息是接口协议中本来就有的,因此,无需补充acpi接口协议自定义字段,避免了对处理器固件版本的大量修复,进而可以由用户自主设计带外管理模块和os管理单元,仅采用服务器硬件和处理器固件等,有助于降低成本,尤其适用于互联网定制服务器场景。
114.在上述实施例中,带外管理模块通过目标内存的错误信息预测目标内存的故障严重程度和将要发生不可纠正错误的目标内存中发生故障的物理位置,并将该预测结果发送给os管理单元,使得os管理单元可以基于故障严重程度是否满足预设条件,确定是否进行页隔离修复,不仅有助于降低目标内存未来发生不可纠正错误的可能性,进而降低内存故障对系统的影响,还有助于os管理单元优化故障修复方式,例如,仅在故障严重程度不达标时进行故障修复,进而提高os管理单元对页隔离修复资源的利用率。
115.需要说明的,至少一个故障位置信息可以为带外管理模块预测到的全部故障位置信息,或者,至少一个故障位置信息还可以为带外管理模块预测到的部分故障位置信息,本技术实施例对此不做限制。另外,至少一个故障位置信息所指示的目标内存中发生故障的物理位置,可以全部为目标物理位置,或者,也可以部分为目标物理位置。
116.可选地,内存故障处理方法还包括:带外管理模块发送页隔离请求,页隔离请求用于os管理单元确定目标内存中发生故障的物理位置为目标物理位置。
117.在一些实施例中,带外管理模块基于目标内存的故障信息,预测到目标内存中发生故障的全部故障位置信息后,从全部故障位置信息中确定至少一个故障位置信息,该至少一个故障位置信息指示的目标内存中发生故障的物理位置适用页隔离修复方式,也即,该至少一个故障位置信息指示的目标内存中发生故障的物理位置全部为目标物理位置。之后,带外管理模块发送页隔离请求,用于指示os管理单元适用页隔离修复方式对目标内存中发生故障的物理位置进行故障修复。
118.在带外管理模块基于上述方式1发送故障分析信息时,页隔离请求可以和故障分
析信息一起发送给os管理单元。在带外管理模块基于上述方式2发送故障分析信息时,页隔离请求和故障分析信息一起发送给处理器固件。在带外管理模块基于上述方式3发送故障分析信息时,页隔离请求可以和至少一个故障位置信息一起发送处理器固件,再由处理器固件将至少一个位置和页隔离请求转发给os管理单元。在该实施例中,通过发送页隔离请求,使得os管理单元可以根据页隔离请求确定目标内存中发生故障的物理位置为目标物理位置,也即,目标内存中发生故障的物理位置适用页隔离修复方式,从而使得os管理单元不必再执行确定目标物理位置的操作,简化了os管理单元进行故障修复的步骤,提高了os管理单元进行故障修复效率。
119.可选地,故障分析信息包括故障严重程度具体为:故障分析信息包括健康度值,健康度值用于指示目标内存的故障严重程度。
120.在一个示例中,健康度值为概率值,例如,50%、80%、90%等。在另一个示例中,健康度值为分值,例如,1分、2分、3分、4分、5分等。例如,可以是1分表征超高风险,2分表征高风险,3分表征中风险,4分表征低风险,5分表征健康。
121.可以理解的,故障严重程度与健康度值之间的关系,可以是健康度值越大,则故障严重程度越轻微,或者,还可以是健康度值越大,故障严重程度越严重,本技术实施例对此不做限制。以下,仅以健康度值越大,故障严重程度越轻微为例,对本技术实施例进行说明。
122.可选地,故障分析信息还包括目标内存中发生故障的物理位置所属的至少一个故障模式,至少一个故障模式中的目标故障模式适用页隔离修复方式。至少一个故障模式用于os管理单元从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所属的故障模式为目标故障模式。
123.其中,目标故障模式为页故障、行故障或比特故障中的任一种。
124.其中,一个故障模式可以用于指示属于该一个故障模式的多个物理位置所在的物理区域。例如,多个物理位置位于目标内存的同一行时,这多个物理位置属于行故障,行故障可以指示属于该行故障的多个物理位置所在的行。
125.可选地,内存故障处理方法还包括:对至少一个故障位置信息进行聚类处理,得到目标内存中发生故障的物理位置所属的至少一个故障模式。
126.在一些实施例中,根据目标内存的错误信息,确定目标内存中发生故障的至少一个故障位置信息,并通过该至少一个故障位置信息进行聚类处理,得到目标内存存在的至少一个故障模式,一个故障模式用于指示属于该一个故障模式的多个物理位置所在的物理区域,因此,可以基于一个故障模式指示的物理区域进行故障修复,相对于针对每个物理位置进行故障修复,有助于提高修复效率。
127.需要说明的,在目标内存上没有物理位置发生故障时,故障分析信息可以仅包括故障严重程度,或者,故障分析信息可以包括故障严重程度和无待隔离故障信息的故障模式。
128.另外,故障分析信息中的故障模式可以通过故障标识表征,其中,不同故障模式具有不同的标识。例如,故障标识“0”表征无待隔离故障信息,故障标识“1”表征页故障,故障标识“2”表征比特故障,故障标识“3”表征行故障,故障标识“4”表征存储阵列故障。
129.在该实施例中,通过预测目标内存中发生故障的物理位置所属的至少一个故障模式,并发送给os管理单元,一方面,os管理单元可以基于每个物理位置所属的故障模式,确
定属于目标故障模式的目标物理位置符合页隔离修复方式,并使用页隔离修复方式对目标物理位置进行故障修复,相对于根据至少一个故障位置信息确定目标内存中发生故障的物理位置中符合页隔离修复方式的目标物理位置,有助于提高目标物理位置确定的准确性和效率,进而有助于提高页隔离修复方式与目标物理位置的匹配度,避免os管理单元对不适用页隔离修复方式的物理位置使用页隔离修复方式进行修复,造成无效修复,浪费修复资源。另一方面,os管理单元可以基于目标故障模式所指示的物理区域进行集中修复,相对于针对每个物理位置进行故障修复,有助于提高故障修复的效率。
130.可选地,故障分析信息还包括目标内存中发生故障的物理位置所使用的至少一个故障修复方式,至少一个故障修复方式中的目标故障修复方式为页隔离修复方式;至少一个故障模式用于os管理单元从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所使用的故障修复方式为目标故障修复方式。
131.其中,一个故障修复方式可以用于指示使用该一个故障修复方式的多个物理位置所在的物理区域。例如,多个物理位置位于目标内存的同一个内存页时,这多个物理位置可以使用页隔离修复方式,页隔离修复方式可以指示使用该页隔离的多个物理位置所在的内存页。
132.在该实施例中,通过预测目标内存中发生故障的物理位置所使用的至少一个故障修复方式,并发送给os管理单元,一方面,os管理单元可以基于每个物理位置所使用的故障修复方式,确定使用目标故障修复方式的目标物理位置符合页隔离修复方式,并使用页隔离修复方式对目标物理位置进行故障修复,相对于根据至少一个故障位置信息确定目标内存中发生故障的物理位置中符合页隔离修复方式的目标物理位置,有助于提高目标物理位置确定的准确性和效率,进而有助于提高页隔离修复方式与目标物理位置的匹配度,避免os管理单元对不适用页隔离修复方式的物理位置使用页隔离修复方式进行修复,造成无效修复,浪费修复资源。另一方面,os管理单元可以基于目标故障修复方式所指示的物理区域进行集中修复,相对于针对每个物理位置进行故障修复,有助于提高故障修复的效率。
133.可选地,内存故障处理方法还包括:对至少一个故障位置信息进行聚类处理,得到目标内存中发生故障的物理位置所使用的至少一个故障修复方式。
134.在一些实施例中,根据目标内存的错误信息,确定目标内存上容易发生不可纠正错误的至少一个故障位置信息,并通过对容易发生不可纠正错误的至少一个故障位置信息进行聚类处理,得到目标内存存在的至少一个故障修复方式,由于一个故障修复方式能够指示使用该一个故障修复方式的多个物理位置所在的物理区域,因此,可以基于一个故障修复方式指示的物理区域进行故障修复,相对于针对每个物理位置进行故障修复,有助于提高修复效率。
135.图3是根据一示例性实施例示出的一种内存故障处理方法的流程图。示例性的,该方法包括s301-s303。
136.s301:os管理单元接收带外管理模块发送的目标内存的故障分析信息,故障分析信息包括目标内存的健康度值和至少一个故障位置信息。
137.需要说明的,关于健康度值和至少一个故障位置信息的相关说明,可以参考上述s202,此处不再细述。
138.需要说明的,s301可以认为是“接收带外管理模块生成的目标内存的故障分析信
息”的一种具体实现方式。
139.s302:os管理单元在故障严重程度满足预设条件的情况下,使用页隔离修复方式对目标物理位置进行故障修复,目标物理位置为目标内存中发生故障的物理位置中适用页隔离修复方式的物理位置。
140.可选地,故障严重程度满足预设条件,包括:健康度值未达到页隔离修复方式的健康度阈值。
141.可以理解的,健康度阈值用于表征健康度的最低要求,在健康度值未达到健康度阈值时,表征该健康度值不达标,健康度值达到健康度阈值时,表征该健康度值达标。
142.其中,健康度值越大则目标内存发生不可纠正错误的可能性越低时,健康度值未达到健康度阈值具体为健康度值小于或等于健康度阈值。
143.在一些实施例中,os管理单元预先为页隔离修复方式设置健康度阈值,在接收到健康度值后,根据预先设置的健康度阈值与健康度值的大小关系,确定健康度值是否达标,一方面,为健康度值是否达标确定了清晰的衡量标准,有助于提高确定健康度达标的准确性,另一方面,通过页隔离修复方式的健康度阈值作为衡量健康度值是否达标的标准,有助于合理使用页隔离修复方式,避免过度使用页隔离修复方式,造成页隔离修复资源的浪费。
144.可选地,内存故障处理方法还包括:os管理单元根据页隔离修复方式的修复代价,确定页隔离修复方式的健康度阈值。
145.其中,在健康度值越大则目标内存发生不可纠正错误的可能性越低的情况下,健康度阈值与修复代价成反比。通过设置健康度阈值与修复代价成反比,从而可以在修复代价较大时,设置较小的健康度阈值,使得目标内存的健康度值达标的可能性降低,进而降低修复目标内存的次数,有助于避免以较高的代价修复目标内存。反之,在页隔离修复方式的修复代价较小时,可以设置较大的健康度阈值。
146.在上述实施例中,根据修复代价确定健康度阈值,从而可以根据修复代价的大小,设置合适的健康度门限值,例如,修复代价较大时设置相对较低的健康度门限值,以尽量减少进行故障修复的概率,修复代价较低时设置相对于较高的健康度门限值,以尽量提高进行故障修复的概率,不仅可以避免为了修复潜在故障付出较大的代价,还可以实现以较低的代价对目标内存进行故障修复,进而以较低的代价降低目标内存未来发生不可纠正错误的概率。
147.对于如何根据修复代价确定健康度阈值,包括多种实现方式,以下通过两种实现方式进行示例性说明。
148.第一种实现方式:os管理单元根据页隔离修复方式的可用修复资源的第一数量,确定页隔离修复方式的健康度阈值。第一数量与修复代价成反比。
149.在一些实施例中,os管理单元获取第一数量,并根据第一数量确定页隔离修复方式的健康度阈值。具体而言,在第一数量的数值较大时,进行页隔离修复后,对目标内存的影响较小,也即,即使当前使用一部分页隔离修复资源,在目标内存将来健康度更差时,仍然有足够的可用修复资源(即页隔离修复资源)对目标内存的进行页隔离修复。因此,在第一数量的数值较大时,进行页隔离修复的代价较小,可以设置较大的健康度阈值,有助于降低目标内存的健康度值达标的概率,提高对目标内存进行故障修复的概率。
150.在该种方式中,通过可用修复资源的第一数量确定健康度阈值,有助于合理使用
有限的可用修复资源,例如,在可用修复资源较多时确定较大的健康度阈值,而在可用修复资源较少时确定较小的健康度阈值,从而提高可用修复资源的利用率,避免有限的可用修复资源被过度使用,导致将来预测到目标内存的健康度更差时没有足够的可用修复资源进行故障修复。
151.第二种实现方式:os管理单元根据页隔离修复方式对目标内存所属计算机设备的性能的影响程度,确定页隔离修复方式的健康度阈值。影响程度与修复代价成正比。
152.其中,故障修复方式对性能的影响越大,使用故障修复方式对物理位置进行故障修复的代价越大,则故障模式的健康度阈值越小。反之,故障修复方式的健康度阈值越大。因此,如果页隔离修复方式对性能的影响较小,则可以设置较大的健康度阈值。反之,则设置较小的健康度阈值。
153.例如,使用存储阵列隔离修复方式进行故障修复,对计算机设备的性能的影响程度较大,因此,存储阵列故障模式的健康度阈值应设置的相对较小。目标内存进行页隔离修复时,对计算机设备的性能的影响程度较小,因此,页隔离修复方式的健康度阈值应设置的相对较大。
154.需要说明的,对计算机设备的性能的影响,可以是对计算机设备的带宽、时延、抖动、丢包等性能的影响。
155.在该种方式中,通过对计算机设备的性能的影响程度确定健康度阈值,从而可以根据对性能的影响程度设置合适的健康度门限值,例如,在对性能影响较大时确定较小的健康度阈值,而在对性能影响较小时确定较大的健康度阈值,有助于避免为修复潜在故障而影响计算机设备的性能。
156.在一些实施例中,健康度阈值可以固定值,也即,在第一次设置健康度阈值后,则不再改变健康度阈值。在另一些实施例中,健康度阈值为动态值,也即,在第一次设置健康度阈值后,可以对健康度阈值进行更新。
157.可选地,内存故障处理方法还包括:os管理单元根据页隔离修复方式的可用修复资源的第二数量,更新页隔离修复方式的健康度阈值。
158.在一些实施例中,在检测到页隔离修复方式的可用修复资源的数量发生变化后,os管理单元获取可用修复资源的第二数量,并根据获取到第二数量,更新健康度阈值。
159.在另一些实施例中,os管理单元按照第二预设周期,周期性获取可用修复资源的第二数量,并根据第二数量,更新健康度阈值。
160.需要说明的,os管理单元根据第二数量更新健康度阈值的实现原理,与os管理单元根据第一数量确定健康度阈值的实现原理相同,因此,os管理单元根据第二数量更新健康度阈值的实现过程和相关说明,可以参考上述第一种实现方式,此处不再细述。
161.在上述实施例中,通过页隔离修复方式的可用修复资源的第二数量,更新健康度阈值,实现动态调整页隔离修复方式的健康度阈值,从而使得健康度阈值能够准确表征可用修复资源的当前数量,而基于当前可用修复资源的当前数量确定健康度值是否达标,有助于合理使用有限的可用修复资源,避免过度使用页隔离修复方式的可用修复资源,例如,在可用修复资源已经剩余较少的情况下,健康度值仍然较大,就会造成过度使用所剩不多的可用修复资源,进而有助于提高修复资源的利用率。
162.对于如何确定目标物理位置,包括多种实现方式,以下通过方式a至方式d进行示
例性说明。
163.方式a:根据页隔离请求进行确定。
164.可选地,内存故障处理方法还包括:接收带外管理模块发送的页隔离请求,页隔离请求用于指示目标内存中发生故障的物理位置为目标物理位置。
165.在一些实施例中,os管理单元在接收到页隔离请求后,则可以基于页隔离请求确认目标内存中发生故障的物理位置适用页隔离修复方式。
166.方式b:根据至少一个故障位置信息进行确定。
167.在一些实施例中,如果至少一个故障位置信息中,有多个故障位置信息指示的多个物理位置位于同一个内存页,则可以确定该多个故障位置信息指示的多个物理位置符合页隔离修复方式。
168.另外,在多个故障位置信息指示的多个物理位置位于同一个行,且计算机设备上没有足够的行隔离修复资源,则该多个故障位置信息指示的多个物理位置也符合页隔离修复方式。以及,在多个故障位置信息指示的多个物理位置位于同一个比特,且计算机设备上没有足够的比特隔离修复资源,则该多个故障位置信息指示的多个物理位置也符合页隔离修复方式。
169.方式c:根据目标内存中发生故障的物理位置所属的至少一个故障模式进行确定。
170.可选地,故障分析信息还包括目标内存中发生故障的物理位置所属的至少一个故障模式,其中,至少一个故障模式中的目标故障模式适用页隔离修复方式。其中,目标故障模式为页故障、行故障或比特故障中的任一种。在该实施例中,os管理单元可以基于目标故障模式所指示的物理区域进行集中修复,相对于针对每个物理位置进行故障修复,有助于提高故障修复的效率。
171.内存故障处理方法还包括:基于至少一个故障模式,从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所属的故障模式为目标故障模式。
172.在该方式中,由于目标故障模式适用页隔离修复方式,因此,在故障分析信息包括至少一个故障模式的情况下,os管理单元可以确定目标内存中发生故障的物理位置中属于目标故障模式的物理位置为目标物理位置,相对于基于故障位置信息确定目标物理位置,有助于提高确定目标物理位置的准确性和速度,避免os管理单元将不适用页隔离修复方式的物理位置确定为目标物理位置,造成无效修复,浪费修复资源。
173.方式d:根据目标内存中发生故障的物理位置所使用的至少一个故障修复方式进行确定。
174.可选地,故障分析信息还包括目标内存中发生故障的物理位置所使用的至少一个故障修复方式,至少一个故障修复方式中的目标故障修复方式为页隔离修复方式。在该实施例中,os管理单元可以基于目标故障修复方式所指示的物理区域进行集中修复,相对于针对每个物理位置进行故障修复,有助于提高故障修复的效率。
175.内存故障处理方法还包括:基于至少一个故障修复方式,从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所使用的故障修复方式为目标故障修复方式。
176.在该方式中,由于目标故障修复方式为页隔离修复方式,因此,在故障分析信息包括至少一个故障修复方式的情况下,os管理单元可以确定目标内存中发生故障的物理位置
中属于目标故障修复方式的物理位置为目标物理位置,相对于基于故障位置信息确定目标物理位置,有助于提高确定目标物理位置的准确性和速度,避免os管理单元将不适用页隔离修复方式的物理位置确定为目标物理位置,造成无效修复,浪费修复资源。
177.在上述实施例中,os管理单元通过接收带外管理模块发送的目标内存的故障分析信息,实现了os管理单元与带外管理单元直接通信,因此,完全避免了对处理器固件(如bios)版本的依赖,使得用户可以自主设计os管理单元和带外管理模块,仅采购计算机设备的硬件及其配套的处理器固件,尤其适用于互联网白牌服务器场景,进而降低成本。另外,通过接收故障严重程度和目标内存中发生故障的物理位置,并在故障严重程度满足预设条件时,进行页隔离修复,不仅有助于降低目标内存未来发生不可纠正错误的可能性,进而降低目标内存故障对系统的影响,还有助于避免为了修复目标内存的故障而过度使用页隔离修复资源,导致后期预测到计算机设备的内存的故障严重程度更严重时,没有足够的页隔离修复资源进行故障修复,提高了故障修复资源的利用率。
178.其中,os管理单元使用页隔离修复方式对目标物理位置进行故障修复,可以是对目标物理位置执行相应的隔离自愈动作,例如,执行页隔离(pageoffline)修复动作,从而实现对物理位置的修复。
179.s303:在故障严重程度满足告警条件的情况下,os管理单元输出告警信息,告警信息用于提示目标内存将要发生不可纠正错误。
180.可以理解的,s303为可选步骤。可选地,os管理单元在执行完s302后,可以跳过s303,直接结束。
181.其中,故障严重程度满足告警条件,包括:健康度值属于告警阈值区间,也即,健康度值小于或等于告警阈值。告警阈值区间为目标健康度阈值和告警阈值之间的区间。告警阈值大于健康度阈值。
182.在一些实施例中,os管理单元配置有多层级判断条件,多层级阈值包括预设条件、告警条件和结束条件。其中,预设条件用于判断是否发送修复请求,告警条件用于判断是否输出告警信息,结束条件用于判断是否直接结束。例如,在故障严重程度满足预设条件时,则只发送修复强求,在故障严重程度不满足预设条件,且满足告警条件时,输出告警信息,在故障严重程度不满足预设条件以及告警条件,且满足结束条件,则直接结束,也即,既不发送修复请求,也不输出告警信息。
183.在一些实施例中,告警信息包括健康度值(或故障严重程度)和/或故障位置信息。通过向用户输出健康度值,有助于用户了解目标内存的健康状态,从而根据健康状态选择适当的操作,例如,是否对目标内存进行故障修复,或者进行数据迁移或更换内存。而向用户输出故障位置信息,一方面,方便用户仅针对故障位置(即故障位置信息指示的物理位置)进行故障处理,例如,仅对故障位置中的数据进行数据迁移,有助于减少故障处理的工作量。另一方面,方便用户选择部分故障位置进行故障修复,有助于为用户提供更多的选择,进而更全面的对目标内存进行故障预防。
184.在上述实施例中,通过设置告警条件,并在故障严重程度满足告警条件时,输出告警信息,以提示用户目标内存存在故障风险,方便用户根据实际情况确定是否进行处理。
185.图3所示的内存故障处理方法的方案中,接收带外管理模块发送的故障分析信息,本技术还提供了图4所示的另一种内存故障处理方法,与图3所示的方案不同,图4所示的方
案中,接收处理器固件发送的故障分析信息。以下,仅对两个方案的不同之处进行具体介绍,而对于相同之处则不再细述。
186.图4是根据一示例性实施例示出的另一种内存故障处理方法的流程图。示例性的,该方法包括s401-s403。
187.s401:os管理单元接收处理器固件发送的目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息。
188.其中,处理器固件发送的故障分析信息来自带外管理模块。
189.需要说明的,s401可以认为是“接收带外管理模块生成的目标内存的故障分析信息”的一种具体实现方式。
190.s402-s403:参考上述s302-s303。
191.在上述实施例中,os管理单元通过接收处理器固件(如bios)发送的目标内存的故障分析信息,实现由处理器固件作为os管理单元与带外管理模块的中间通信通道,从而可以利用现有acpi接口协议补充自定义字段即可完成处理器固件和os管理单元中定义的通信内容,避免了使用带外管理模块和os管理单元之间自定义的通信协议,进而减少了带外管理模块和os管理单元的版本间的依赖。
192.图4所示实施例描述的内存故障处理方法的方案中,接收处理器固件发送的故障分析信息,本技术实施例还提供了图5所示的另一种内存故障处理方法,与图3所示实施例的方案不同,该实施例的方案中,接收处理器固件和带外管理模块发送的故障分析信息。以下,仅对两个方案的不同之处进行具体介绍,而对于相同之处则不再细述。
193.图5是根据一示例性实施例示出的另一种内存故障处理方法的流程图。示例性的,该方法包括s501-s504。
194.s501:os管理单元接收处理器固件发送的目标内存的至少一个故障位置信息。
195.其中,处理器固件发送的至少一个故障位置信息来自带外管理模块。
196.可选地,os管理单元还接收处理器固件发送页隔离请求。该页隔离请求用于指示os管理单元适用页隔离修复方式对至少一个故障位置信息指示的目标内存中发生故障的物理位置进行故障修复,也即,目标内存中发生故障的物理位置全部为目标物理位置。
197.其中,处理器固件发送的页隔离请求来自带外管理模块。
198.s502:os管理单元从带外管理模块获取故障分析信息中的目标内存的故障严重程度。
199.在一些实施例中,os管理单元在接收到处理器固件发送的目标内存的至少一个故障位置信息后,主动向带外管理模块获取目标内存的故障严重程度。
200.在一些实施例中,os管理单元还可以从带外管理模块获取目标内存存在的故障模式,具体为,目标内存中发生故障的物理位置所属的至少一个故障模式。
201.在一些实施例中,os管理单元还可以从带外管理模块获取目标内存存在的故障修复方式,具体为,目标内存中发生故障的物理位置所使用的至少一个故障修复方式。
202.需要说明的,s501-s502可以认为是“接收带外管理模块生成的目标内存的故障分析信息”的一种具体实现方式。
203.s503-s504:参考上述s302-s303。
204.在上实施例中,os管理单元通过接收处理器固件(如bios)发送的目标内存的故障
位置信息,实现由处理器固件作为os管理单元与带外管理模块的中间通信通道,从而可以利用现有acpi接口协议即可完成处理器固件和os管理单元中定义的通信内容,由于acpi接口协议中本就存在地址信息,因此,无需补充acpi接口协议自定义字段,避免了对处理器固件版本的大量修改,进而可以由用户自主设计带外管理模块和os管理单元,仅采用服务器硬件和处理器固件等,有助于降低成本,尤其适用于互联网定制服务器场景。
205.上述主要从方法的角度对本技术实施例提供的方案进行了介绍。为了实现上述功能,内存故障处理装置(如os管理单元或带外管理模块)包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
206.本技术实施例可以根据上述方法,示例性的对内存故障处理装置(如os管理单元)进行功能模块的划分,例如,内存故障处理装置可以包括对应各个功能划分的各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
207.示例性的,图6示出了上述实施例中所涉及的内存故障处理装置(记为内存故障处理装置600)的一种可能的结构示意图,例如,该内存故障处理装置600可以是os管理单元,具体包括接收单元601和处理单元602。接收单元601,用于接收带外管理模块生成的目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息;至少一个故障位置信息指示了目标内存中发生故障的物理位置。例如,图3所示的s301,图4所示的s401,以及图5所示的s501-s502。处理单元602,用于在故障严重程度满足预设条件的情况下,对使用页隔离修复方式对目标物理位置进行故障修复,目标物理位置为目标内存中发生故障的物理位置中适用页隔离修复方式的物理位置。例如,图3所示的302,图4所示的s402,图5所示的s503。
208.可选地,故障分析信息还包括目标内存中发生故障的物理位置所属的至少一个故障模式,其中,至少一个故障模式中的目标故障模式适用页隔离修复方式;处理单元602还用于:基于至少一个故障模式,从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所属的故障模式为目标故障模式。
209.可选地,故障分析信息还包括目标内存中发生故障的物理位置所使用的至少一个故障修复方式,至少一个故障修复方式中的目标故障修复方式为页隔离修复方式;处理单元602还用于:基于至少一个故障修复方式,从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所使用的故障修复方式为目标故障修复方式。
210.可选地,接收单元601还用于:接收页隔离请求,页隔离请求用于指示目标内存中发生故障的物理位置为目标物理位置。
211.可选地,接收单元601具体用于:接收带外管理模块发送的故障分析信息。
212.可选地,接收单元601具体用于:接收处理器固件转发的故障分析信息,处理器固件转发的故障分析信息来自带外管理模块。
213.可选地,接收单元601具体用于:接收处理器固件转发的至少一个故障位置信息,以及接收带外管理模块发送的故障严重程度,其中,处理器固件转发的至少一个故障位置信息来自带外管理模块。
214.可选地,故障分析信息包括目标内存的故障严重程度具体为故障分析信息包括目标内存的故障严重程度,故障严重程度用于指示目标内存的故障严重程度;故障严重程度满足预设条件,包括:健康度值未达到页隔离修复方式的健康度阈值。
215.可选地,处理单元602还用于:根据页隔离修复方式的修复代价,确定页隔离修复方式的健康度阈值。
216.可选地,处理单元602具体用于:获取页隔离修复方式的可用修复资源的第一数量;根据第一数量,确定页隔离修复方式的健康度阈值;第一数量与修复代价成反比。
217.可选地,处理单元602具体用于:根据页隔离修复方式对目标内存所属计算机设备的性能的影响程度,确定页隔离修复方式的健康度阈值,影响程度与修复代价成正比。
218.可选地,处理单元602还用于:获取页隔离修复方式的可用修复资源的第二数量;根据第二数量,更新页隔离修复方式的健康度阈值。
219.可选地,处理单元602还用于:在故障严重程度满足告警条件的情况下,输出告警信息,告警信息用于提示目标内存存在发生不可纠正错误的风险。
220.关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种内存故障处理装置600的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
221.本技术实施例可以根据上述方法,示例性的对内存故障处理装置(如带外管理模块)进行功能模块的划分,例如,内存故障处理装置可以包括对应各个功能划分的各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
222.示例性的,图7示出了上述实施例中所涉及的内存故障处理装置(记为内存故障处理装置700)的一种可能的结构示意图,例如,该内存故障处理装置700可以是带外管理模块,具体包括获取单元701、确定单元702和发送单元703。获取单元701,用于获取目标内存的错误信息。例如,图2所示的s201。确定单元702,用于根据错误信息,确定目标内存的故障分析信息,故障分析信息包括目标内存的故障严重程度和至少一个故障位置信息;至少一个故障位置信息分别用于指示目标内存中发生故障的物理位置。例如,图2所示的s202。发送单元703,用于发送故障分析信息;其中,故障分析信息用于os管理单元在故障严重程度满足预设条件的情况下,使用页隔离修复方式对目标物理位置进行故障修复,目标物理位置为目标内存中发生故障的物理位置中适用页隔离修复方式的物理位置。例如,图2所示的s203。
223.可选地,故障分析信息还包括目标内存中发生故障的物理位置所属的至少一个故障模式,至少一个故障模式中的目标故障模式适用页隔离修复方式;至少一个故障模式用于os管理单元从目标内存中发生故障的物理位置中确定目标物理位置,目标物理位置所属的故障模式为目标故障模式;和/或故障分析信息还包括目标内存中发生故障的物理位置所使用的至少一个故障修复方式,至少一个故障修复方式中的目标故障修复方式为页隔离
processor,dsp),现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
234.本技术实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如ssd)等。
235.应注意,本技术实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
236.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
237.尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
238.尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其
等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表