System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 内存条故障处理方法、装置、设备及存储介质制造方法及图纸_技高网

内存条故障处理方法、装置、设备及存储介质制造方法及图纸

技术编号:40589814 阅读:5 留言:0更新日期:2024-03-12 21:50
本申请公开了一种内存条故障处理方法、装置、设备及存储介质,属于存储技术领域。该方法包括:在存储设备的基本输入输出系统BIOS检测到存储设备存在故障内存条时,基于该故障内存条所在内存通道中其他内存条的内存容量,确定该故障内存条的内存容量,以便向存储设备的处理器上报该存储设备的内存信息,使得上层应用感知不到存储设备的内存容量有所损失,从而存储设备上运行的系统能够正常启动,提高了系统可靠性。

【技术实现步骤摘要】

本申请涉及存储,特别涉及一种内存条故障处理方法、装置、设备及存储介质


技术介绍

1、内存是计算机体系结构的重要组成部分之一。近年来,随着数据量爆发式增长,各类信息与通信技术(information and communications technology,ict)设备的内存容量越来越大。

2、相关技术中,以存储设备为例,当检测到存储设备存在故障内存条时,通常由该存储设备的基本输入输出系统(basic input output system,bios)对该故障内存条所在的整个内存通道进行隔离,并将除该内存通道以外的剩余内存通道中内存条的内存容量上报给操作系统。

3、然而,存储设备的上层应用往往会将上报的内存容量和标准内存容量进行匹配,在匹配成功的情况下才会正常启动,采用上述方法后,bios上报的内存容量相比于标准内存容量有所损失,使得上层应用感知到上报的内存容量和标准内存容量不匹配,导致存储设备上运行的系统启动失败或业务异常。


技术实现思路

1、本申请实施例提供了一种内存条故障处理方法、装置、设备及存储介质,能够在存储设备存在故障内存条的情况下,确保存储设备上运行的系统正常启动,提高系统可靠性。该技术方案如下:

2、第一方面,提供了一种内存条故障处理方法,由存储设备的基本输入输出系统bios执行,该方法包括:

3、若检测到该存储设备存在故障内存条,基于该故障内存条所在内存通道中第一内存条的内存容量,确定该故障内存条的内存容量,该第一内存条为该故障内存条所在内存通道中除该故障内存条以外的任一个内存条;

4、基于该故障内存条的内存容量和该存储设备中除该故障内存条以外的内存条的内存容量,确定该存储设备的内存信息,该存储设备的内存信息指示该存储设备的内存地址和内存容量;

5、向该存储设备的处理器上报该存储设备的内存信息。

6、在该方法中,存储设备配置有至少一个内存通道,每个内存通道配置有多个内存条。在存储设备的基本输入输出系统bios检测到存储设备存在故障内存条时,基于该故障内存条所在内存通道中其他内存条的内存容量,确定该故障内存条的内存容量,以便向存储设备的处理器上报该存储设备的内存信息,使得上层应用感知不到存储设备的内存容量有所损失,从而存储设备上运行的系统能够正常启动,提高了系统可靠性。而且,这种方式能够降低内存条故障带来的内存容量损失,避免损失大量内存导致系统不满足启动要求或是无法启动。

7、反观相关技术,当bios检测到故障内存条时,往往会对该故障内存条所在内存通道整体进行隔离,并将除该内存通道以外的剩余内存通道中内存条的内存容量上报给处理器上运行的操作系统。使得操作系统依据bios上报的内存容量进行初始化,这样所有上层应用均会感知到内存容量有所损失,与标准内存容量不匹配。对于一些对内存容量依赖较强的应用来说,一旦上报的内存容量与标准内存容量不匹配,就会导致启动失败,或者是业务异常,导致系统的可靠性较低。而且,对于一些对内存容量依赖较弱的应用来说,这种方式会在单个内存条故障的情况下,损失一整个内存通道的内存容量,大大增加了内存容量的损失程度。

8、在一种实现方式中,该存储设备的内存信息还指示该故障内存条对应的内存地址不可用。

9、通过这种方式,能够实现对故障内存条的隔离,避免系统运行过程中使用这部分内存,造成业务异常。

10、在一种实现方式中,该基于该故障内存条的内存容量和该存储设备中除该故障内存条以外的内存条的内存容量,确定该存储设备的内存信息,包括:

11、基于该存储设备中除该故障内存条以外的内存条的内存容量,对该存储设备中除该故障内存条以外的内存条进行内存交织,生成第一内存地址;

12、基于该故障内存条的内存容量和第一内存地址的目标地址位,生成第二内存地址,以使第一内存地址和第二内存地址之间连续;

13、基于该第一内存地址和该第二内存地址,得到该存储设备的内存信息。

14、其中,第一内存地址和第二内存地址是连续的。这一过程也可以理解为将故障内存条的内存容量补入存储设备的可用内存容量,从而在向存储设备的处理器上报存储设备的内存信息后,上层应用感知不到存储设备的内存容量有所损失,从而存储设备上运行的系统能够正常启动,提高了系统的可靠性。

15、在一种实现方式中,该第一内存地址的目标地址位为下述任一项:

16、该第一内存地址的高地址位;

17、该第一内存地址的低地址位。

18、在一种实现方式中,该基于该故障内存条所在内存通道中第一内存条的内存容量,确定该故障内存条的内存容量,包括:

19、读取该第一内存条的内存条信息,该第一内存条的内存条信息指示该第一内存条的内存容量;

20、将该第一内存条的内存条信息作为该故障内存条的内存条信息,以确定该故障内存条的内存容量。

21、应理解,由于一个内存通道内的所有内存条型号相同,因此,能够将该第一内存条的内存条信息作为故障内存条的内存条信息,来确定故障内存条的内存容量,从而确保存储设备不会因为单根故障内存条而隔离整个内存通道,减少内存容量的损失。

22、在一种实现方式中,该向该存储设备的处理器上报该存储设备的内存信息,包括下述任一项:

23、向该处理器中运行的操作系统上报该存储设备的内存信息;

24、向该处理器中运行的内存管理系统上报该存储设备的内存信息。

25、在一种实现方式中,该若检测到该存储设备存在故障内存条,基于该故障内存条所在内存通道中第一内存条的内存容量,确定该故障内存条的内存容量,包括:

26、若检测到该存储设备存在多个该故障内存条,确定各个该故障内存条所在的内存通道;

27、若各个该故障内存条所在的内存通道互不相同,基于各个该故障内存条所在内存通道中第一内存条的内存容量,确定各个该故障内存条的内存容量。

28、通过这种方式,在存储设备存在多个故障内存条且多个故障内存条所在的内存通道互不相同的情况下,执行本申请实施例提供的内存条故障处理方法,能够确保系统启动后业务的连续性,提高系统的可靠性。

29、在一种实现方式中,该方法还包括:

30、若目标内存通道中故障内存条的数量大于目标数量,向该处理器上报内存告警信息,该内存告警信息指示该存储设备的内存不可用。

31、通过上述方式,便于相关人员及时排查内存条故障原因,尽快恢复存储设备的正常运行。

32、第二方面,本申请实施例提供了一种内存条故障处理装置,包括至少一个功能模块,该至少一个功能模块用于实现前述第一方面或第一方面中任一种可选实现方式所涉及的内存条故障处理方法。

33、第三方面,本申请实施例提供了一种存储设备,该存储设备包括bios、多个内存条以及处理器,该bios用于实现前述第一方面或第一方面中任一种可本文档来自技高网...

【技术保护点】

1.一种内存条故障处理方法,其特征在于,由存储设备的基本输入输出系统BIOS执行,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述存储设备的内存信息还指示所述故障内存条对应的内存地址不可用。

3.根据权利要求1或2所述的方法,其特征在于,所述基于所述故障内存条的内存容量和所述存储设备中除所述故障内存条以外的内存条的内存容量,确定所述存储设备的内存信息,包括:

4.根据权利要求3所述的方法,其特征在于,所述第一内存地址的目标地址位为下述任一项:

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述基于所述故障内存条所在内存通道中第一内存条的内存容量,确定所述故障内存条的内存容量,包括:

6.根据权利要求1至5中任一项所述的方法,其特征在于,所述向所述存储设备的处理器上报所述存储设备的内存信息,包括下述任一项:

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述若检测到所述存储设备存在故障内存条,基于所述故障内存条所在内存通道中第一内存条的内存容量,确定所述故障内存条的内存容量,包括:

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

9.一种内存条故障处理装置,其特征在于,所述装置配置于存储设备的BIOS中,所述装置包括:

10.根据权利要求9所述的装置,其特征在于,所述存储设备的内存信息还指示所述故障内存条对应的内存地址不可用。

11.根据权利要求9或10所述的装置,其特征在于,所述内存信息确定模块,用于:

12.根据权利要求11所述的装置,其特征在于,所述第一内存地址的目标地址位为下述任一项:

13.根据权利要求9至12中任一项所述的装置,其特征在于,所述内存容量确定模块,用于:

14.根据权利要求9至13中任一项所述的装置,其特征在于,所述内存信息上报模块,用于下述任一项:

15.根据权利要求9至14中任一项所述的装置,其特征在于,所述内存容量确定模块,用于:

16.根据权利要求15所述的装置,其特征在于,所述装置还包括告警模块,用于:

17.一种存储设备,其特征在于,所述存储设备包括BIOS、多个内存条以及处理器,所述BIOS用于实现如权利要求1-8中任一项所述的内存条故障处理方法,所述处理器用于从所述BIOS接收信息。

18.一种存储系统,其特征在于,所述存储系统包括多个存储设备,所述存储设备包括BIOS、多个内存条以及处理器,所述BIOS用于实现如权利要求1-8中任一项所述的内存条故障处理方法,所述处理器用于从所述BIOS接收信息。

19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码由存储设备中的BIOS执行,以实现如权利要求1-8中任一项所述的内存条故障处理方法。

20.一种计算机程序产品,其特征在于,当所述计算机程序产品在存储设备上运行时,使得所述存储设备的BIOS执行如权利要求1-8中任一项所述的内存条故障处理方法。

...

【技术特征摘要】

1.一种内存条故障处理方法,其特征在于,由存储设备的基本输入输出系统bios执行,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述存储设备的内存信息还指示所述故障内存条对应的内存地址不可用。

3.根据权利要求1或2所述的方法,其特征在于,所述基于所述故障内存条的内存容量和所述存储设备中除所述故障内存条以外的内存条的内存容量,确定所述存储设备的内存信息,包括:

4.根据权利要求3所述的方法,其特征在于,所述第一内存地址的目标地址位为下述任一项:

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述基于所述故障内存条所在内存通道中第一内存条的内存容量,确定所述故障内存条的内存容量,包括:

6.根据权利要求1至5中任一项所述的方法,其特征在于,所述向所述存储设备的处理器上报所述存储设备的内存信息,包括下述任一项:

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述若检测到所述存储设备存在故障内存条,基于所述故障内存条所在内存通道中第一内存条的内存容量,确定所述故障内存条的内存容量,包括:

8.根据权利要求7所述的方法,其特征在于,所述方法还包括:

9.一种内存条故障处理装置,其特征在于,所述装置配置于存储设备的bios中,所述装置包括:

10.根据权利要求9所述的装置,其特征在于,所述存储设备的内存信息还指示所述故障内存条对应的内存地址不可用。

11.根据权利要求9或10所述的装置...

【专利技术属性】
技术研发人员:仇幼成李步蟾杨天文
申请(专利权)人:成都华为技术有限公司
类型:发明
国别省市:

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

1