一种内存错误的处理方法及计算设备技术

技术编号:38125487 阅读:14 留言:0更新日期:2023-07-08 09:29
本申请实施例公开了一种内存错误的处理方法及计算设备。获取目标内存页对应的错误对象;其中,错误对象用于指示目标内存页的错误类型;在错误对象包括第一错误指示信息的情况下,将第一错误指示信息修改为第二错误指示信息;其中,第一错误指示信息用于指示目标内存页发生选择处理SRAO错误,且SRAO错误包括处理器上下文错误PCC;第二错误指示信息用于指示目标内存页发生SRAO错误,且SRAO错误不包括PCC;根据第二错误指示信息对目标内存页进行隔离。本申请中,当内存页发生了SRAO错误后,通过第二错误指示信息来指示该SRAO错误不包括PCC,使得操作系统不会感知到发生了PCC事件,则不会进行系统复位,提高了操作系统的运行效率。率。率。

【技术实现步骤摘要】
一种内存错误的处理方法及计算设备


[0001]本申请涉及服务器
,尤其涉及一种内存错误的处理方法及计算设备。

技术介绍

[0002]随着计算机技术的进步,中央处理器(central processing unit,CPU)所使用的内存容量不断增大,内存故障已经成为系统硬件故障的高频问题。
[0003]内存设备在硬件设计上是支持错误检测和校验机制的。当内存发生可纠正错误(corrected error,CE)时,通常内存控制器可以检测到该错误并可以进行纠正。然而,当内存发生不可纠正错误(uncorrected error,UCE)时,校验算法无法还原正确的值。而硬件纠正不了该错误,会触发进程中断,通知操作系统中的硬件错误处理模块从软件层面继续处理。其中,UCE中的可恢复错误,可以分类为不需要处理(uncorrected no action,UCNA)错误、选择处理(software recover ableacti onoptional,SRAO)错误以及必须处理(software recover ableaction required,SRAR)错误。
[0004]在某些不支持进行SRAO错误处理的CPU平台上,当SRAO错误被检测到后,硬件会触发中断,操作系统(operating system,OS)会按照硬件的指示进行系统复位,进而影响操作系统的运行效率。

技术实现思路

[0005]本申请实施例提供了一种内存错误的处理方法及计算设备,用于提高系统的运行效率。
[0006]第一方面,本申请实施例提供了一种内存错误的处理方法。本申请中内存错误的处理方法,适用于不支持进行SRAO错误处理的CPU平台,可以避免内存页在发生SRAO错误时,操作系统只能进行系统复位的问题。其中,对于这类不支持进行SRAO错误处理的CPU平台,当硬件检测到目标内存页发生SRAO错误后,会指示该SRAO错误包括处理器上下文错误(processor context corrupted,PCC)。而操作系统感知到PCC后,便会进行系统复位。
[0007]本申请实施例中,目标内存页发生了SRAO错误,而且,该SRAO错误包括了处理器上下文错误(processor context corrupted,PCC)。则先对目标内存页所发生的包括了PCC的SRAO错误进行识别(例如识别出PCC的Bit位取值为1的SRAO错误),然后针对该目标内存页的SRAO错误,生成相应的错误对象,以便用于在软件层面向操作系统反馈该SRAO错误。其中,该错误对象包括第一错误指示信息,第一错误指示信息指示目标内存页发生SRAO错误,且SRAO错误包括PCC。
[0008]由于第一错误指示信息,指示了目标内存页所发生的SRAO错误包括了PCC。此时,若操作系统感知到发生了PCC事件时,便会进行系统复位。因此,本申请中,将第一错误指示信息更新为第二错误指示信息,即目标内存页对应的错误对象包括了第二错误指示信息,第二错误指示信息指示目标内存页发生SRAO错误,且该SRAO错误不包括PCC。因此,操作系统便不会感知到发生了PCC事件,则不会进行系统复位。
[0009]本申请实施例中,当内存页发生了SRAO错误后,通过第二错误指示信息来指示该SRAO错误不包括PCC,使得操作系统不会感知到发生了PCC事件,则不会进行系统复位,提高了操作系统的运行效率。另一方面,操作系统不会进行系统复位,从而增加了操作系统的在线运行时长,减少了业务中断时间,提升了操作系统的可服务性。并且,对于支持处理SRAO错误的CPU,其采购成本会更高,本申请的内存错误的处理方法,扩展了不支持SRAO错误的CPU的应用场景,减少了对于支持处理SRAO错误的CPU的使用,降低了用户的硬件成本开销。
[0010]基于第一方面,一种可选的实施方式中,可以通过第一指示字和第二指示字来表示是否发生了PCC,其中,第一指示字指示发生了PCC,第二指示字指示没有发生PCC。因此,本申请实施例中,第一错误指示信息包括了描述目标内存页所发生的SRAO错误包括PCC的第一指示字,第二错误指示信息包括了描述目标内存页所发生的SRAO错误不包括PCC的第二指示字。其中,第一指示字和第二指示字不同。
[0011]基于第一方面,一种可选的实施方式中,第一指示字为1,第二指示字为0。
[0012]基于第一方面,一种可选的实施方式中,可以将第一错误指示信息中的第一指示字修改为第二指示字,生成第二错误指示信息。
[0013]基于第一方面,一种可选的实施方式中,获取错误寄存器存储的错误信息;基于将错误寄存器存储的错误信息生成目标内存页对应的错误对象。
[0014]基于第一方面,一种可选的实施方式中,当内存控制器与CPU独立设置时,由内存控制器执行检测目标内存页的状态信息,获取目标内存页的错误检测信息。
[0015]基于第一方面,一种可选的实施方式中,当内存控制器集成在CPU内部时,由CPU执行检测目标内存页的状态信息,获取目标内存页的错误检测信息。
[0016]第二方面,本申请实施例提供了一种内存错误处理装置,包括:
[0017]获取单元,用于获取目标内存页对应的错误对象;其中,错误对象用于指示目标内存页的错误类型;
[0018]处理单元,用于在错误对象包括第一错误指示信息的情况下,将第一错误指示信息修改为第二错误指示信息;其中,第一错误指示信息用于指示目标内存页发生选择处理SRAO错误,且SRAO错误包括处理器上下文错误PCC;第二错误指示信息用于指示目标内存页发生SRAO错误,且SRAO错误不包括PCC;
[0019]隔离单元,根据第二错误指示信息对目标内存页进行隔离。
[0020]基于第二方面,一种可选的实施方式中,第一错误指示信息包括描述SRAO错误包括PCC的第一指示字;第二错误指示信息包括描述SRAO错误不包括PCC的第二指示字;第一指示字与第二指示字不同。
[0021]基于第二方面,一种可选的实施方式中,第一指示字为1;第二指示字为0。
[0022]基于第二方面,一种可选的实施方式中,处理单元,用于在错误对象包括第一错误指示信息的情况下,将第一错误指示信息修改为第二错误指示信息,包括:
[0023]处理单元用于将第一错误指示信息中的第一指示字修改为第二指示字,生成第二错误指示信息。
[0024]基于第二方面,一种可选的实施方式中,处理单元,还用于将错误对象与第一错误信息进行匹配,确定错误对象是否包括第一错误指示信息。
[0025]基于第二方面,一种可选的实施方式中,获取单元,具体用于:获取错误寄存器存
储的错误信息;
[0026]基于将错误寄存器存储的错误信息生成目标内存页对应的错误对象。
[0027]基于第二方面,一种可选的实施方式中,处理单元,还用于触发内存控制器检测目标内存页的错误信息,
[0028]将错误信息写入错误寄存器。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存错误的处理方法,其特征在于,包括:获取目标内存页对应的错误对象;其中,所述错误对象用于指示所述目标内存页的错误类型;在所述错误对象包括第一错误指示信息的情况下,将所述第一错误指示信息修改为第二错误指示信息;其中,所述第一错误指示信息用于指示目标内存页发生选择处理SRAO错误,且所述SRAO错误包括处理器上下文错误PCC;所述第二错误指示信息用于指示所述目标内存页发生SRAO错误,且所述SRAO错误不包括PCC;根据所述第二错误指示信息对所述目标内存页进行隔离。2.根据权利要求1所述的方法,其特征在于,所述第一错误指示信息包括描述所述SRAO错误包括PCC的第一指示字;所述第二错误指示信息包括描述所述SRAO错误不包括PCC的第二指示字;第一指示字与所述第二指示字不同。3.根据权利要求2所述的方法,其特征在于,所述第一指示字为1;所述第二指示字为0。4.根据权利要求2或3所述的方法,其特征在于,所述将所述第一错误指示信息修改为第二错误指示信息,包括:将所述第一错误指示信息中的第一指示字修改为第二指示字,生成第二错误指示信息。5.根据权利要求1

4任一项所述的方法,其特征在于,所述获取目标内存页对应的错误对象之后,所述方法还包括:将所述错...

【专利技术属性】
技术研发人员:陈玮
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1