内存故障处理方法及计算机设备技术

技术编号:38329396 阅读:15 留言:0更新日期:2023-07-29 09:12
本申请提供了一种内存故障处理方法及计算机设备,涉及内存技术领域。该方法中,在内存中的数据发生不可纠正故障后,CPU获取该不不纠正故障的故障信息,该故障信息包括故障地址,若故障地址所属的目标内存页为未使用状态,则CPU对目标内存页执行页隔离操作,这样,该目标内存页将不会分配给任何进程使用,从而也就避免了应用程序、操作系统使用内存中发生了不可纠正故障的数据。可见,由于在内存中发生了不可纠正故障的数据被使用之前就被隔离了,因此,有效减少了内存中的故障数据对计算机设备所运行的应用程序、操作系统的影响,这样,有助于避免造成系统宕机、重启以及应用程序崩溃等问题,进而有助于提高计算机设备的运行稳定性。行稳定性。行稳定性。

【技术实现步骤摘要】
内存故障处理方法及计算机设备


[0001]本申请涉及内存
,尤其涉及一种内存故障处理方法及计算机设备。

技术介绍

[0002]内存是计算机设备的主要部件之一,主要用于存储数据。计算机设备运行过程中,内存中存储数据通常会发生故障,如,从内存的存储单元中读出的数据与写入该存储单元中的数据不一致等。
[0003]相关技术中,在检测到内存中存在故障数据、且故障级别为不可纠正故障(uncorrectable error,UCE)时,会将该故障数据打上中毒(Poison)标签,并在该故障数据被使用时,触发机械检查错误(machine check error,MCERR)中断信号,使得计算机设备执行MCERR Handle(句柄)处理程序,以对故障数据进行处理。然而,这种故障处理方式下,应用程序、操作系统会由于使用了故障数据而发生崩溃,严重影响了计算机设备的运行稳定性。

技术实现思路

[0004]本申请实施例提供一种内存故障处理方法及计算机设备,能够避免应用程序、操作系统使用故障数据,有助于提高计算机设备的运行稳定性。
[0005]为达到上述目的,本申请的实施例采用如下技术方案:
[0006]第一方面,提供了一种内存故障处理方法,用于计算机设备的中央处理器CPU,该计算机设备包括与CPU连接的内存;该方法包括:在内存中的数据发生不可纠正故障的情况下,CPU获取该不可纠正故障的故障信息;故障信息包括不可纠正故障对应的故障地址;若故障地址所属的目标内存页为未使用状态,CPU对目标内存页执行页隔离操作;未使用状态是指目标内存页未分配给CPU当前运行的进程使用。
[0007]该方案中,在内存中的数据发生不可纠正故障后,CPU获取该不可纠正故障的故障信息,该故障信息包不可纠正故障对应的故障地址,若故障地址所属的目标内存页为未使用状态,则CPU对目标内存页执行页隔离操作,这样,该目标内存页将不会分配给任何进程使用,从而也就避免了应用程序、操作系统使用目标内存页对应的内存地址中的数据,换言之,避免了应用程序、操作系统使用内存中发生了不可纠正故障的数据。可见,由于在内存中发生了不可纠正故障的数据被使用之前就被隔离了,因此,有效减少了内存中的故障数据对计算机设备所运行的应用程序、操作系统的影响,这样,有助于避免造成系统宕机、重启以及应用程序崩溃等问题,进而有助于提高计算机设备的运行稳定性。
[0008]在一种可能的实现方式中,故障信息还包括不可纠正故障的故障类型;若故障地址对应的目标内存页为未使用状态,CPU对目标内存页执行页隔离操作,包括:若故障类型为不需要处理UCNA故障或选择处理SRAO故障、且故障地址所对应的目标内存页为未使用状态,CPU对目标内存页执行页隔离操作。
[0009]该实现方式中,通过设置故障信息包括的故障类型为不需要处理UCNA故障或选择
处理SRAO故障的情况下,CPU对目标内存页执行隔离操作,从而实现对不同故障类型的数据故障进行隔离处理,有助于提高页隔离操作的针对性。
[0010]另一种可能的实现方式中,该计算机设备还包括内存控制器,内存控制器分别与内存、CPU连接;在内存中的数据发生不可纠正故障的情况下,CPU获取不可纠正故障的故障信息,包括:CPU运行操作系统OS的过程中,CPU响应于内存控制器发送的系统管理中断SMI信号,执行目标操作:CPU由运行OS切换至运行基本输入输出系统BIOS,并由BIOS获取不可纠正故障的故障信息;该目标操作还包括:BIOS向OS上报不可纠正故障的故障信息,该上报的不可纠正故障的故障信息用于指示OS基于该上报的不可纠正故障的故障信息执行页隔离操作;其中,SMI信号是在内存中的数据发生故障的情况下内存控制器所触发的。
[0011]该实现方式中,内存控制器在检测内存中的数据发生不可纠正故障的情况下,触发SMI信号,使得CPU由运行OS切换为运行BIOS,以由BIOS获取不可纠正故障的故障信息,并向OS上报该不可纠正故障的故障信息,从而指示OS基于上报的不可纠正故障的故障信息执行页隔离操作,相对于相关技术中只能依赖MCERR触发的方式进行内存故障处理,通过设置BIOS向OS上报不可纠正故障的故障信息的方式触发OS执行页隔离操作,提高了内存故障处理的灵活性。
[0012]另一种可能的实现方式中,该不可纠正故障的故障信息还包括不可纠正故障的故障类型;BIOS向OS上报不可纠正故障的故障信息,包括:若故障类型为UCNA故障或SRAO故障,BIOS向OS上报不可纠正故障的故障信息。
[0013]该实现方式中,通过设置故障类型为UCNA故障或SRAO故障,BIOS向OS上报不可纠正故障的故障信息,从而实现对不同故障类型的数据故障进行隔离处理,有助于提高隔离操作的针对性。
[0014]另一种可能的实现方式中,若故障地址所属的目标内存页为未使用状态,CPU对目标内存页执行页隔离操作,包括:CPU运行OS的过程中,OS响应于BIOS上报的不可纠正故障的故障信息,若上报的不可纠正故障的故障信息包括的故障地址所属的目标内存页为未使用状态,CPU对目标内存页执行页隔离操作。
[0015]该实现方式中,内存中的数据发生不可纠正故障时,CPU运行OS的过程中,OS响应于BIOS上报的不可纠正故障的故障信息,对上报的故障信息中的故障地址所属的目标内存页执行隔离操作,相对于相关技术中只能依赖MCERR触发的方式进行内存故障处理,通过设置BIOS向OS上报故障信息的方式触发OS执行页隔离操作,提高了内存故障处理的灵活性。
[0016]另一种可能的实现方式中,计算机设备还包括管理控制器;该方法还包括:CPU向管理控制器发送不可纠正故障对应的故障地址,以使管理控制器将不可纠正故障的故障地址保存至管理控制器的非易失性存储介质中。
[0017]在该实现方式中,通过将向管理控制器发送不可纠正故障的故障地址,并由管理控制器将不可纠正故障的故障地址保存至非易失存储介质中,从而实现永久保存该不可纠正故障的故障地址。这样,计算机设备重启后,CPU就可以从管理控制器获取到该不可纠正故障的故障地址,不必等到再次检测到不可纠正故障时,才能确定不可纠正故障的故障地址,有助于计算机设备重启后,在发生了不可纠正故障的数据被使用,对内存的不可纠正故障进行处理。
[0018]另一种可能的实现方式中,在计算机设备重启时,CPU从管理控制器获取第一内存
地址,第一内存地址为内存的多个内存地址中发生过不可纠正故障的内存地址,第一内存地址包括不可纠正故障的故障地址;CPU基于内存的多个内存地址中的第二内存地址,确定待分配内存页,第二内存地址为内存的多个内存地址中未发生过不可纠正故障的内存地址;CPU将待分配内存页分配给当前正在运行的进程使用。
[0019]在该实现方式中,由于计算机设备重启后,重启之前对内存页的隔离操作会失效,换言之,重启之前被隔离的内存页会重新分配给进程使用。基于此,在计算机设备重启的情况下,CPU从管理控制器获取内存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存故障处理方法,其特征在于,用于计算机设备的中央处理器CPU;所述方法包括:在内存中的数据发生不可纠正故障的情况下,所述CPU获取所述不可纠正故障的故障信息,所述不可纠正故障的故障信息包括所述不可纠正故障对应的故障地址;若所述故障地址所属的目标内存页为未使用状态,所述CPU对所述目标内存页执行页隔离操作;所述未使用状态是指所述目标内存页未分配给所述CPU当前运行的进程使用。2.根据权利要求1所述的方法,其特征在于,所述故障信息还包括所述不可纠正故障的故障类型;所述若所述故障地址所属的目标内存页为未使用状态,所述CPU对所述目标内存页执行页隔离操作,包括:若所述故障类型为不需要处理UCNA故障或选择处理SRAO故障、且所述故障地址所对应的目标内存页为未使用状态,所述CPU对所述目标内存页执行页隔离操作。3.根据权利要求1或2所述的方法,其特征在于,所述计算机设备还包括内存控制器;所述在所述内存中的数据发生不可纠正故障的情况下,所述CPU获取所述不可纠正故障的故障信息,包括:所述CPU运行操作系统OS的过程中,所述CPU响应于所述内存控制器发送的系统管理中断SMI信号,执行目标操作:所述CPU由运行OS切换至运行基本输入输出系统BIOS,所述BIOS获取所述不可纠正故障的故障信息;所述目标操作还包括:所述BIOS向所述OS上报所述不可纠正故障的故障信息,以指示所述OS基于所述上报的不可纠正故障的故障信息执行页隔离操作;其中,所述SMI信号是在所述内存中的数据发生不可纠正故障的情况下所述内存控制器所触发的。4.根据权利要求3所述的方法,其特征在于,所述不可纠正故障的故障信息还包括所述不可纠正故障的故障类型;所述BIOS向所述OS上报所述故障信息,包括:若所述故障类型为UCNA故障或SRAO故障,所述BIOS向所述OS上报所述不可纠正故障的故障信息。5.根据权利要求1

4中任一项所述的方法,其特征在于,所述计算机设备还包括管理控制器;所述方法还包括:所述CPU向所述管理控制器发送所述不可纠正故障对应的故障地址,以使所述管理控制器将所述不可纠正故障对应的故障地址保存至所述管理控制器的非易失性存储介质中。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在所述计算机设备重启...

【专利技术属性】
技术研发人员:张飞俞伟生肖艳林
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1