System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及存储领域,尤其涉及一种处理内存故障的方法及其相关设备。
技术介绍
1、当前计算设备多采用内存镜像模式,其将两个独立的物理内存通道的内存空间设置为互为备份,两个内存空间具备相同的地址空间,且在相同的地址内存储相同的数据,且其中一个内存通道设置为主通道,另一个内存通道设置为备份通道。以此保证主通道内存出现失效的情况下仍能从备份通道的内存设备中获取正确的数据,保证计算设备的正常运行。
2、在计算设备开启内存镜像模式后,在运行过程中若内存控制器检测到主通道有内存数据的不可纠正错误(uncorrectable error,uce)故障产生,内存控制器会从备份通道对应的内存空间的相同地址读取数据,并对主通道对应的内存空间中故障的内存地址进行数据修复,但是当该数据无法修复时,则认为该uce故障为内存硬失效类uce,此时内存控制器会解除主通道对应的内存空间和备份通道对应的内存空间之间的镜像关系,只使用备份通道对应的内存空间。
3、但是,解除主通道对应的内存空间和备份通道对应的内存空间之间的镜像关系导致除了出现故障的内存地址外整个主通道对应的内存空间也不可用。
技术实现思路
1、本申请提供了一种处理内存故障的方法及其相关设备,应用于存储领域中。该处理内存故障的方法能精准定位内存故障的精确位置,且无需解除内存的镜像模式。
2、第一方面,提供了一种处理内存故障的方法,包括:
3、获取第一内存的不可纠正错误信息,不可纠正错误信息包括故障地址。
4、从第二内存中获取与故障地址对应的第一目标数据,并将第一目标数据写入第一内存的故障地址,其中,第一内存和第二内存互为镜像内存。
5、校验位于第一内存的故障地址的第二目标数据,若第二目标数据校验为故障数据,标记第一内存的故障地址为待隔离地址。
6、对待隔离地址执行页面软隔离操作。
7、在本申请的实施方式中,对硬失效类uce故障的故障地址标记为待隔离地址,并对其进行页面软隔离操作,以此实现了对故障地址的精准隔离,不会对其他内存地址产生影响,进而无需解除第一内存与第二内存之间的镜像关系,从而第一内存内除故障地址之外的其余内存空间仍然可以正常支持读写,避免解除镜像关系后第一内存内正常内存空间无法使用,提高第一内存的使用概率,降低了内存硬失效类uce的不良影响范围,避免浪费内存资源,且很大程度降低了内存镜像模式被解除的概率。
8、第一方面的一种可能的实现方式中,基于待隔离标识标记第一内存的故障地址为待隔离地址。
9、在本申请的实施方式中,通过多种方式实现待隔离标识标记第一内存的故障地址为待隔离地址,体现了方案的多样性以及可选择性。
10、第一方面的一种可能的实现方式中,通过操作系统(operating system,os)对待隔离地址执行页面软隔离操作。
11、在本申请的实施方式中,计算设备通过os对待隔离地址执行页面软隔离操作体现了方案的具体实现方式,不会对第一内存的其他正常内存空间产生影响,且无需解除第一内存与第二内存的镜像关系。
12、第一方面的一种可能的实现方式中,生成通用硬件错误源(generic hardwareerror source,ghes)表,该ghes表中包括故障地址以及对应的待隔离标识。
13、在本申请的实施方式中,通过ghes表中包括故障地址以及对应的待隔离标识,可以从ghes表中基于待隔离标识确定对应的故障地址为待隔离地址,体现了方案的具体实现,体现了方案的可靠性。
14、第一方面的一种可能的实现方式中,ghes表中故障地址的故障级别为可纠正。
15、在本申请的实施方式中,以此体现了该故障地址的发生的故障不会对本计算设备的运行产生不良影响。
16、第一方面的一种可能的实现方式中,通过os对ghes表中故障级别为可纠正以及待隔离标识对应的故障地址执行页面软隔离操作。
17、在本申请的实施方式中,体现了方案的具体实现方式,体现了方案的可靠性。
18、第二方面,提供一种计算设备,该计算设备包括处理器、第一内存、第二内存以及内存控制器,第一内存以及第二内存与内存控制器相连,内存控制器与处理器相连,且第一内存与第二内存互为镜像内存。
19、其中,内存控制器,用于获取第一内存的不可纠正错误信息,不可纠正错误信息包括故障地址。
20、内存控制器,还用于从第二内存中获取与故障地址对应的第一目标数据,并将第一目标数据写入第一内存的故障地址。
21、内存控制器,还用于校验位于第一内存的故障地址的第二目标数据。
22、处理器,用于若第二目标数据校验为故障数据,标记第一内存的故障地址为待隔离地址。
23、处理器,还用于对待隔离地址执行页面软隔离操作。
24、在本申请的实施方式中,处理器,具体用于基于待隔离标识标记第一内存的故障地址为待隔离地址。
25、第二方面的一种可能的实现方式中,处理器,生成ghes表,该ghes表中包括故障地址以及对应的待隔离标识。
26、第二方面的一种可能的实现方式中,ghes表中故障地址的故障级别为可纠正。
27、第二方面的一种可能的实现方式中,处理器,具体用于通过os对ghes表中故障级别为可纠正以及待隔离标识对应的所述故障地址执行所述页面软隔离操作。
28、第二方面的有益效果参见第一方面,此处不再赘述。
29、第三方面,提供另一种计算设备,可以包括处理器,该处理器与存储器耦合,其中存储器用于存储指令,处理器用于执行存储器中的指令使得该计算设备执行本申请第一方面或第一方面任意一种可能实现方式所描述的方法。
30、第四方面,提供另一种计算设备,包括处理器,用于执行存储器中存储的计算机程序(或计算机可执行指令),当计算机程序(或计算机可执行指令)被执行时,使得执行如第一方面及第一方面各个可能的实现方式中的方法。
31、在一种可能的实现中,处理器和存储器集成在一起;
32、在另一种可能的实现中,上述存储器位于该计算设备之外。
33、该计算设备还包括通信接口,该通信接口用于该计算设备与其他设备进行通信,例如数据和/或信号的发送或接收。示例性的,通信接口可以是收发器、电路、总线、模块或其它类型的通信接口。
34、第五方面提供一种计算机可读存储介质,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得本申请第一方面或第一方面任一种可能实现方式。
35、第六方面,提供一种计算机程序产品,包括计算机可读指令,当计算机可读指令在计算机上运行时,使得本申请第一方面或第一方面任一种可能实现方式。
本文档来自技高网...【技术保护点】
1.一种处理内存故障的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述标记所述第一内存的所述故障地址为待隔离地址包括:
3.根据权利要求1或2所述的方法,其特征在于,所述对所述待隔离地址执行页面软隔离操作包括:
4.根据权利要求3所述的方法,其特征在于,所述基于待隔离标识标记所述第一内存的所述故障地址为所述待隔离地址包括:
5.根据权利要求4所述的方法,其特征在于,所述GHES表中所述故障地址的故障级别为可纠正。
6.根据权利要求5所述的方法,其特征在于,所述对所述待隔离地址执行页面软隔离操作包括:
7.一种计算设备,其特征在于,所述计算设备包括处理器、第一内存、第二内存以及内存控制器,所述第一内存以及所述第二内存与所述内存控制器相连,所述内存控制器与所述处理器相连,所述第一内存与所述第二内存互为镜像内存;
8.根据权利要求7所述的计算设备,其特征在于,所述处理器,具体用于基于待隔离标识标记所述第一内存的所述故障地址为所述待隔离地址。
9.根据权利要求8所述的计
10.根据权利要求9所述的计算设备,其特征在于,所述处理器,具体用于通过所述OS对所述GHES表中所述故障级别为可纠正以及所述待隔离标识对应的所述故障地址执行所述页面软隔离操作。
...【技术特征摘要】
1.一种处理内存故障的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述标记所述第一内存的所述故障地址为待隔离地址包括:
3.根据权利要求1或2所述的方法,其特征在于,所述对所述待隔离地址执行页面软隔离操作包括:
4.根据权利要求3所述的方法,其特征在于,所述基于待隔离标识标记所述第一内存的所述故障地址为所述待隔离地址包括:
5.根据权利要求4所述的方法,其特征在于,所述ghes表中所述故障地址的故障级别为可纠正。
6.根据权利要求5所述的方法,其特征在于,所述对所述待隔离地址执行页面软隔离操作包括:
7.一种计算设备,其特征在于,所述计算设备包括处理器、第...
【专利技术属性】
技术研发人员:张飞,
申请(专利权)人:超聚变数字技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。