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

技术编号:38615107 阅读:13 留言:0更新日期:2023-08-26 23:42
一种内存故障的处理方法,包括:在OS工作过程中,对所述计算设备中的内存进行压力测试,得到第一故障信息;所述OS调用BIOS上的故障传递接口,将所述第一故障信息传输至所述BIOS;在所述BIOS再次上电过程中,所述BIOS读取所述第一故障信息,并对所述第一故障信息所指示的存在故障的内存单元进行修复。通过在BIOS中增加接口,可将OS压力测试检出的内存故障结果传递给BIOS,在下一次重启过程中,BIOS将接收到的内存故障数据传递给PPR修复模块,进而实现对OS压力测试检出的内存故障的修复,最终减少了内存故障率以及由此导致的服务器宕机的风险。宕机的风险。宕机的风险。

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


[0001]本专利技术涉及计算机领域,尤其涉及一种内存故障的处理方法及计算设备。

技术介绍

[0002]封装后修复技术(post package repair,PPR)是联合电子设备工程委员会(joint electron device engineering council,JEDEC)规范中的一种封装后内存修复技术,可以对检测出的内存故障进行替换修复。使用PPR修复后,可以有效减少内存故障,进而降低内存故障带来的计算机或者服务器宕机的风险。
[0003]但是,现有的PPR使用场景都是基于基本输入输出系统(basic input output system,BIOS)中的高级内存测试(advanced memory test,AMT)算法,在计算机或者服务器上电的过程中对内存进行检测并修复。而对于操作系统下对内存进行压力测试检测出的内存故障,无法进行PPR修复。

技术实现思路

[0004]本申请提供了一种内存故障的处理方法及计算设备,通过在BIOS中增加故障传递接口,使得在操作系统(operating system,OS)中检测出内存故障时,可以通过该接口将检测出的内存故障信息传递给BIOS,以便在计算机/服务器下一次重启过程中可以进行PPR修复。
[0005]第一方面,本申请提供了一种内存故障的处理方法,应用于计算设备,计算设备包括:基本输入输出系统BIOS和操作系统OS,方法包括:在OS工作过程中,对计算设备中的内存进行压力测试,得到第一故障信息;OS调用BIOS上的故障传递接口,将第一故障信息传输至BIOS;在BIOS再次上电过程中,BIOS读取第一故障信息,并对第一故障信息所指示的存在故障的内存单元进行修复。
[0006]在本方案中,在BIOS中新增故障传递接口,若在OS阶段检测出了内存故障,处理器可以通过调用该故障传递接口,将内存故障信息写入到BIOS中,使得在服务器下一次上电过程中,存储在BIOS中的故障信息的变量可以被BIOS读取。在BIOS上电过程中,服务器中的处理器可以根据第一变量中存储的内存故障信息对发生故障的内存进行PPR修复。实现对OS运行阶段检出的内存故障的修复,减少了内存故障率以及由此导致的服务器宕机的风险。
[0007]在一个可能的实现方式中,将第一故障信息传输至BIOS包括:将第一故障信息传输到BIOS变量区中的第一变量中,BIOS变量区中包括多个第一变量,一个第一变量用于存储在OS工作过程中得到的一个故障信息。
[0008]也就是说,通过在BIOS变量区中增加多个用于存储在OS阶段发现的内存故障信息的第一变量,使得在BIOS上电过程中,可以直接从BIOS变量区的第一变量中读取OS阶段发送的故障信息,并修复。
[0009]在一个可能的实现方式中,BIOS读取第一故障信息,并对第一故障信息所指示的
存在故障的内存单元进行修复,包括:从BIOS变量区中的第一变量中获取第一故障信息;对第一故障信息进行解析,得到第一故障的故障地址和故障类型;根据故障地址确定发生故障的内存单元;根据故障类型,对发生故障的内存单元进行修复。
[0010]也就是说,BIOS在获取第一故障信息时,可以获取BIOS变量区中用于存储第一故障信息的第一变量,然后对第一变量中存储的故障信息进行解析,以得到内存故障对应的故障地址信息和故障类型。在对内存故障进行修复时,通过获取的内存故障地址信息可以唯一确定一个内存单元,对内存故障进行修复即对该内存单元进行修复。
[0011]在一个可能的实现方式中,该方法还包括:BIOS再次上电过程中,BIOS基于内存测试算法对内存进行测试,得到第二故障信息,并对第二故障信息所指示的存在故障的内存单元进行修复。
[0012]也就是说,在BIOS上电过程中,服务器的处理器除了对BIOS变量区中存储的故障信息对应的内存进行PPR修复以外。处理器还需要在BIOS启动的PEI阶段,利用预先设定的内存测试算法对服务器的内存进行检测,并根据检测结果,修复发生故障的内存区域。由于在BIOS启动过程中使用的内存测试算法和在OS阶段使用的内存测试工具存在算法、码型和业务压力上的差异。所以,在BIOS启动阶段对内存的检测能力和在OS阶段对内存的检测能力是不一致的,得到的故障结果也可能不相同。因此,在BIOS启动阶段同时对OS阶段检测的内存故障、BIOS阶段检测的内存故障进行修复,能够尽可能大的覆盖服务器上的内存故障类型。
[0013]在一个可能的实现方式中,第一故障信息包括:故障内存所在的中央处理器CPU的槽位号、故障内存所在的内存通道号、故障内存所在的双列直插式存储模块槽位号、故障内存所在的排号、故障内存所在的子排号、故障内存所在的颗粒号、故障内存所在的区块组号、故障内存所在的区块号、故障内存所在的列号、故障内存所在的行号。
[0014]也就是说,在OS运行阶段,在将内存故障信息写入到BIOS变量区的变量中时,需要按照预先设置的格式进行写入。
[0015]第二方面,本申请提供了一种计算设备,包括:
[0016]处理器,用于在OS工作过程中,对计算设备中的内存进行压力测试,得到第一故障信息,并调用BIOS上的故障传递接口,将第一故障信息传输至BIOS;
[0017]处理器,还用于在BIOS再次上电过程中,读取第一故障信息,并对第一故障信息所指示的存在故障的内存单元进行修复。
[0018]在一个可能的实现方式中,处理器用于:
[0019]将第一故障信息传输到BIOS变量区中的第一变量中,BIOS变量区中包括多个第一变量,一个第一变量用于存储在OS工作过程中得到的一个故障信息。
[0020]在一个可能的实现方式中,处理器用于:
[0021]从BIOS变量区中的第一变量中获取第一故障信息;
[0022]对第一故障信息进行解析,得到第一故障的故障地址和故障类型;
[0023]根据故障地址确定发生故障的内存单元;
[0024]根据故障类型,对发生故障的内存单元进行修复。
[0025]在一个可能的实现方式中,处理器还用于:
[0026]BIOS再次上电过程中,BIOS基于内存测试算法对内存进行测试,得到第二故障信
息,并对第二故障信息所指示的存在故障的内存单元进行修复。
[0027]在一个可能的实现方式中,第一故障信息包括:故障内存所在的中央处理器CPU的槽位号、故障内存所在的内存通道号、故障内存所在的双列直插式存储模块槽位号、故障内存所在的排号、故障内存所在的子排号、故障内存所在的颗粒号、故障内存所在的区块组号、故障内存所在的区块号、故障内存所在的列号、故障内存所在的行号。
[0028]第三方面,本申请提供了一种计算机可读介质,计算机存储介质中存储有指令,当指令在计算机上运行时,使得计算机执行第一方面任一种可能的实现方式所描述的方法。
[0029]第四方面,本申请提供了一种包含指令的计算机本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存故障的处理方法,其特征在于,应用于计算设备,所述计算设备包括:基本输入输出系统BIOS和操作系统OS,所述方法包括:在所述OS工作过程中,对所述计算设备中的内存进行压力测试,得到第一故障信息;通过所述OS调用所述BIOS上的故障传递接口,将所述第一故障信息传输至所述BIOS;在所述BIOS再次上电过程中,通过所述BIOS读取所述第一故障信息,并对所述第一故障信息所指示的存在故障的内存单元进行修复。2.根据权利要求1所述的方法,其特征在于,所述将所述第一故障信息传输至所述BIOS包括:将所述第一故障信息传输到所述BIOS变量区中的第一变量中,所述BIOS变量区中包括多个第一变量,一个第一变量用于存储在OS工作过程中得到的一个故障信息。3.根据权利要求1或2所述的方法,其特征在于,通过所述BIOS读取所述第一故障信息,并对所述第一故障信息所指示的存在故障的内存单元进行修复,包括:从所述BIOS变量区中的第一变量中获取第一故障信息;对所述第一故障信息进行解析,得到第一故障的故障地址和故障类型;根据所述故障地址确定发生故障的内存单元;根据所述故障类型,对所述发生故障的内存单元进行修复。4.根据权利要求1

3任一项所述的方法,其特征在于,所述方法还包括:所述BIOS再次上电过程中,所述BIOS基于内存测试算法对所述内存进行测试,得到第二故障信息,并对所述第二故障信息所指示的存在故障的内存单元进行修复。5.根据权利要求1

4所述的方法,其特征在于,所述第一故障信息包括:故障内存所在的中央处理器CPU的槽位号、故障内存所在的内存通道号、故障内存所在的双列直插式存储模块槽位号、故障内存所在的排号、故障内存所在的子排号、故障内存所在的颗粒号、故障内存所在的区...

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

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

1