CN115686901A - 内存故障分析方法及计算机设备 - Google Patents
内存故障分析方法及计算机设备 Download PDFInfo
- Publication number
- CN115686901A CN115686901A CN202211312307.6A CN202211312307A CN115686901A CN 115686901 A CN115686901 A CN 115686901A CN 202211312307 A CN202211312307 A CN 202211312307A CN 115686901 A CN115686901 A CN 115686901A
- Authority
- CN
- China
- Prior art keywords
- physical
- memory
- fault
- fault type
- area
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请提供了一种内存故障分析方法及计算机设备,涉及内存技术领域。该方法中,基于内存发生故障的第一物理位置,确定内存的第一物理区域存在第一故障类型,在确定发生故障的第二物理位置后,基于发生故障的第二物理位置和至少一个第一物理位置,确定内存的第二物理区域存在第二故障类型。若第二物理区域包括第一物理区域上的每个第一物理位置、且第一物理区域不包括第二物理位置,则取消第一故障类型,确定内存仅包括第二故障类型,实现了动态确定内存的故障类型,使内存的故障类型随着故障的不断发生而动态变化,有助于减少内存所存在的故障类型,进而缩小内存的待修复区域,而在进行内存修复时,有助于减少内存上被隔离的物理区域。
Description
技术领域
本申请涉及内存技术领域,尤其涉及一种内存故障分析方法及计算机设备。
背景技术
内存是计算机设备中必不可少的一个部件,在使用过程中有一定概率会出现内存故障。内存故障包括可纠正(corrected error,CE)级别故障和不可纠正(uncorrectederror,UCE)级别故障。其中,CE级别故障可以自动修复,UCE级别故障无法自动修复,且通常会导致计算机设备的系统宕机。
由于内存发生多个故障后,内存上的部分物理区域会呈现出现行故障、列故障或存储阵列故障等故障类型。相关技术中,为了降低UCE级别故障导致系统宕机的概率,会对内存存在的故障类型进行分析,若基于当前发生故障确定内存的一个物理区域存在一个故障类型(如列故障),便会对内存上的一个物理区域进行隔离修复。之后,内存发生新故障,若基于新故障确定内存的另一个物理区域存在另一个故障类型(如行故障),则对内存上的另一个物理区域进行隔离修复。这就导致内存的可用存储空间越来越小,严重影响了内存的存储性能。
发明内容
本申请实施例提供一种内存故障分析方法及计算机设备,能够动态确定内存存在的故障类型进行,有助于减少内存上被隔离的物理区域,提高内存的存储性能。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种内存故障分析方法,用于计算机设备,该计算机设备包括中央处理器CPU和带外控制器,该方法由带外控制器执行;该方法包括:若内存发生故障的多个第一物理位置所在的第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型;第一故障类型指示了内存的待修复区域包括第一物理区域;若内存发生故障的目标物理位置所在的第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型;第二故障类型指示了内存的待修复区域包括第二物理区域,目标物理位置包括第二物理位置和至少一个第一物理位置,第二物理位置发生故障的时刻晚于每个第一物理位置发生故障的时刻;若第二物理区域包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置,确定内存的故障类型包括第二故障类型、且不包括第一故障类型。
该方案中,基于内存发生故障的多个第一物理位置,确定内存的第一物理区域存在第一故障类型后,若确定内存发生故障的第二物理位置,则基于内存发生故障的目标物理位置,确定内存的第二物理区域存在第二故障类型,该目标物理位置包括第二物理位置和至少一个第一物理位置。在此基础上,若第二物理区域包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置,则取消内存的第一物理区域存在的第一故障类型,确定内存的故障类型仅包括第二物理区域上的第二故障类型,实现了动态确定内存的故障类型,这样,内存的故障类型会随着故障的不断发生而动态变化,一方面,能够使得内存的当前故障类型更加准确的表现故障位置的分布特性,另一方面,通过取消故障位置被覆盖的故障类型,能够在所修复的发生故障的物理位置的数量不变的基础上,缩小内存的待修复区域。
相对于相关技术中的方案,基于该实施例所确定内存的故障类型进行故障修复时,有助于减少内存上被隔离的物理区域,提高内存的存储性能。另外,由于基于第二物理位置确定内存的故障类型时,结合了之前发生故障的多个第一物理位置,因此,可以更全面的分析内存上发生故障的物理位置的规律,有助于提高所确定的故障类型的准确性,进而为后续对内存进行修复时提供精准的待修复区域。
在一种可能的实现方式中,该方法还包括:若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度小于第一物理区域的粒度,确定内存的故障类型包括第二故障类型。
在该实现方式中,若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置,且第一物理区域的粒度小于第一物理区域,如,第二物理区域为存储行/存储列,第一物理区域为存储阵列,则确定内存包括第一故障类型或第二故障类型。由于修复第一物理区域与修复第二物理区域,所修复的发生故障的物理位置的相同,但第二物理区域的粒度小于第一物理区域的粒度,也就是说,第二物理区域所对应的存储空间小于第一物理区域所对应的存储空间,因此,确定内存包括第二故障类型,使得内存的待修复区域包括第二物理区域,能够在所修复的发生故障的物理位置相同的基础上,缩小内存的待修复区域,进行减少内存上被隔离的物理区域,提高内存的存储性能。
另一种可能的实现方式中,若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度大于第一物理区域的粒度,确定内存的故障类型包括第一故障类型。
在该实现方式中,由于修复第一物理区域与修复第二物理区域,所修复的发生故障的物理位置的相同,且第二物理区域的粒度大于第一物理区域的粒度,如,第二物理区域为存储阵列,第一物理区域为存储行/存储列,也就是说,第二物理区域所表征的存储空间大于第一物理区域所表征的存储空间,因此,确定内存包括第一故障类型,使得内存的待修复区域包括第一物理区域,能够在所修复的发生故障的物理位置相同的基础上,缩小内存的待修复区域,进行减少内存上被隔离的物理区域,提高内存的存储性能。
另一种可能的实现方式中,若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度等于第一物理区域的粒度,确定内存的故障类型包括第一故障类型或第二故障类型。
在该实现方式中,由于修复第一物理区域与修复第二物理区域,所修复的发生故障的物理位置的相同,且第二物理区域的粒度等于第一物理区域的粒度,如,第二物理区域为存储行,第一物理区域为存储列,也就是说,第二物理区域所表征的存储空间与第一物理区域所表征的存储空间相差不大,因此,确定内存包括第一故障类型或第二故障类型,使得内存的待修复区域包括第一物理区域或第二物理区域,相对于确定内存包括第一故障类型和第二故障类型,都能够在所修复的发生故障的物理位置相同的基础上,缩小内存的待修复区域,进行减少内存上被隔离的物理区域,提高内存的存储性能。
另一种可能的实现方式中,该方法还包括:若第二物理区域未包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置,确定内存的故障类型包括第一故障类型和第二故障类型。
在该实现方式中,若第二物理区域未包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置,则不取消任何故障类型,确定内存的故障类型包括第一故障类型和第二故障类型,这样,有助于保证修复尽可能多的发生故障的物理位置,进而避免内存故障导致系统宕机。
另一种可能的实现方式中,若第二物理区域未包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度小于第一物理区域的粒度,确定内存的故障类型包括第一故障类型和第二故障类型,或确定内存的故障类型包括第一故障类型、且不包括第二故障类型。
在该实现方式中,若第二物理区域的粒度小于第一物理区域的粒度,则第一物理区域为存储阵列,第二物理区域为存储行或存储别,由于第一物理区域为整个存储阵列,因此,确定内存的故障类型在包括第二故障类型时,同时包括第一故障类型,不仅不会增加内存的待修复区域,反而有助于完整的呈现内存当前出现的故障类型,有利于后续确定更加符合内存当前故障特性的故障修复策略。
另一种可能的实现方式中,该方法还包括:若第二物理区域未包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度等于第一物理区域的粒度,确定内存的故障类型包括第一故障类型、且不包括第二故障类型。
在该实现方式中,若第二物理区域未包括第一物理区域上的每个第一物理位置、第一物理区域未包括第二物理位置,则取消第二故障类型,确定内存的故障类型包括第一故障类型。由于,第一物理区域已经包括了第二物理位置,因此,取消第二故障类型,能够在所修复的发生故障的物理位置的数量不变的基础上,缩小内存的待修复区域,进行减少内存上被隔离的物理区域,提高内存的存储性能。
另一种可能的实现方式中,若第一物理区域为内存的第一存储行,第一故障类型为行故障;第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型,包括:第一存储行上的第一物理位置的数量大于或等于第一预设阈值,确定内存的第一存储行存在行故障。
在该实现方式中,提供了确定第一物理区域满足第一预设条件的具体实现方式。该方式中,若第一物理区域为第一存储行,则第一故障类型为行故障,根据第一存储行上的第一物理位置的数量与第一预设阈值的大小关系,判断第一物理区域是否满足第一预设条件,判断逻辑简单,有助于提高确定结果的准确性。此外,还可以通过动态调整第一预设阈值,实现动态调整确定结果,有助于为不同内存确定不同判断条件,提高了故障分析方法的适用范围。
另一种可能的实现方式中,若第一物理区域为内存的第一存储列,第一故障类型为列故障;第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型,包括:第一存储列上的第一物理位置的数量大于或等于第二预设阈值,确定内存的第一存储列存在列故障。
在该实现方式中,提供了确定第一物理区域满足第一预设条件的具体实现方式。该方式中,若第一物理区域为第一存储列,则第一故障类型为列故障,根据第一存储列上的第一物理位置的数量与第二预设阈值的大小关系,判断第一物理区域是否满足第一预设条件,判断逻辑简单,有助于提高确定结果的准确性。此外,还可以通过动态调整第二预设阈值,实现动态调整确定结果,有助于为不同内存确定不同判断条件,提高了故障分析方法的适用范围。
另一种可能的实现方式中,若第一物理区域为内存的目标存储阵列,第一故障类型为阵列故障;第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型,包括:目标存储阵列上的第一物理位置所在的存储行的数量大于或等于第三预设阈值、且目标存储阵列上的第一物理位置所在的存储列的数量大于或等于第四预设阈值,确定目标存储阵列存在阵列故障。
在该实现方式中,提供了确定第一物理区域满足预设条件的具体实现方式。该方式中,若第一物理区域包括目标存储阵列,则第一故障类型为阵列故障,根据目标存储阵列上第一物理位置所在的存储行的数量以及存储列的数量分别与预设阈值的大小关系,判断第一物理区域是否满足第一预设条件,判断逻辑简单,有助于提高确定结果的准确性。此外,还可以通过动态调整第三预设阈值或第四预设阈值,实现动态调整第一物理区域的确定结果,有助于为不同的内存确定不同判断条件,提高了故障分析方法的适用范围。
另一种可能的实现方式中,若第二物理区域为内存的第二存储行,第二故障类型为行故障;第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型,包括:第二存储行上的目标物理位置的数量大于或等于第五预设阈值,确定内存的第二存储行存在行故障。
在该实现方式中,提供了确定第二物理区域满足第二预设条件的具体实现方式。该方式中,若第二物理区域为第二存储行,则第二故障类型为行故障,根据第二存储行上的目标物理位置的数量与第五预设阈值的大小关系,判断第二物理区域是否满足第二预设条件,判断逻辑简单,有助于提高确定结果的准确性。此外,还可以通过动态调整第五预设阈值,实现动态调整确定结果,有助于为不同内存确定不同判断条件,提高了故障分析方法的适用范围。
另一种可能的实现方式中,若第二物理区域为内存的第二存储列,第二故障类型为列故障;第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型,包括:第二存储列上的目标物理位置的数量大于或等于第六预设阈值,确定内存的第二存储列存在列故障。
在该实现方式中,提供了确定第二物理区域满足第二预设条件的具体实现方式。该方式中,若第二物理区域为第二存储列,则第二故障类型为列故障,根据第二存储列上的目标物理位置的数量与第六预设阈值的大小关系,判断第二物理区域是否满足第二预设条件,判断逻辑简单,有助于提高确定结果的准确性。此外,还可以通过动态调整第六预设阈值,实现动态调整确定结果,有助于为不同内存确定不同判断条件,提高了故障分析方法的适用范围。
另一种可能的实现方式中,若第二物理区域包括内存的目标存储阵列,第二故障类型为阵列故障;第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型,包括:目标存储阵列上的目标物理位置所在的存储行的数量大于或等于第七预设阈值、且目标存储阵列上的目标物理位置所在的存储列的数量大于或等于第八预设阈值,确定目标存储阵列存在阵列故障。
在该实现方式中,提供了确定第二物理区域满足预设条件的具体实现方式。该方式中,若第一物理区域包括目标存储阵列,则第二故障类型为阵列故障,根据目标存储阵列上目标物理位置所在的存储行的数量以及存储列的数量分别与预设阈值的大小关系,判断第二物理区域是否满足第二预设条件,判断逻辑简单,有助于提高确定结果的准确性。此外,还可以通过动态调整第七预设阈值或第八预设阈值,实现动态调整第一物理区域的确定结果,有助于为不同的内存确定不同判断条件,提高了故障分析方法的适用范围。
另一种可能的实现方式中,第一故障类型包括列故障,第二故障类型包括行故障;或第一故障类型包括行故障,所第二故障类型包括列故障;或第一故障类型包括存储阵列故障,第二故障类型包括行故障或列故障;或第一故障类型包括行故障和/或列故障,第二故障类型包括存储阵列故障。
另一种可能的实现方式中,所述多个第一物理位置为内存在第一时间窗口内发生故障的物理位置;目标物理位置为内存在第二时间窗口内发生故障的物理位置;第二时间窗口包括第二物理位置发生故障的时刻。
在该实现方式中,提供了选取多个第一物理位置以及目标物理位置的具体实现方式。该方式中,在需要确定内存存在的故障类型时,将内存在时间窗口发生故障的物理位置为多个第一物理位置或目标物理位置,这样,就可以使用距离当前时刻最近的故障位置(即多个第一物理位置以及目标物理位置)确定故障类型,从而实现选取对内存影响较大的故障位置确定内存的故障类型,有助于提高故障类型确定准确性,以及基于该故障类型对内存进行故障修复时的修复价值。
另一种可能的实现方式中,多个第一物理位置为第一当前时刻之前内存发生故障的预设数量的物理位置;目标物理位置为第二当前时刻之前内存发生故障的预设数量的物理位置;第二当前时刻晚于第二物理位置发生故障的时刻。
在该实现方式中,提供了选取多个第一物理位置以及目标物理位置的具体实现方式。该方式中,在需要确定内存存在的故障类型时,将当前时刻之前内存发生故障的预设数量的物理位置为多个第一物理位置或目标物理位置,这样,可以保证使用足够数量的故障位置(即多个第一物理位置以及目标物理位置)确定故障类型,有助于保证确定的故障类型的准确性。
另一种可能的实现方式中,该方法还包括:基于内存的第一物理区域存在第一故障类型,向CPU发送内存的第一故障修复请求,第一故障修复请求用于请求对内存的第一物理区域执行修复操作;基于确定内存的故障类型包括第二故障类型、且不包括第一故障类型,向CPU发送内存的第二故障修复请求,第二故障修复请求用于请求撤销对内存的第一物理区域所执行的修复操作,并对内存的第二物理区域执行修复操作。
在该实现方式中,若确定内存的第一物理区域存在第一故障类型后,已请求CPU对第一物理区域执行修复操作,则确定内存包括第二故障类型、且不包括第一故障类型后,请求CPU撤销对第一物理区域所执行的修复操作,并对第二物理区域执行修复操作,这样,即使已经基于历史确定的故障类型执行了修复操作,依然可以实现仅基于动态确定的新故障类型进行故障修复,有助于减少最终修复的物理区域的数量,进而提高内存的存储性能。
第二方面,提供了一种内存故障分析方法,用于计算机设备,计算机设备包括中央处理器CPU和带外控制器,该方法由CPU执行;该方法包括:基于接收到的第一故障修复请求,对内存的第一物理区域执行修复操作;第一故障修复请求是带外控制器基于内存的第一物理区域存在第一故障类型发送的;基于接收到的第二故障修复请求,撤销对内存的第一物理区域所执行的修复操作,并对内存的第二物理区域执行修复操作;第二故障修复请求是带外控制器基于内存的故障类型包括第二物理区域存在的第二故障类型、且不包括第一物理区域存在的第一故障类型发送的。
该方案中,CPU在基于内存的第一故障修复请求,对内存的第一物理区域执行修复操作后,若带外控制器基于内存的故障类型包括第二物理区域存在的第二故障类型、且不包括第一物理区域存在的第一故障类型向CPU发送第二故障修复请求,则CPU会基于第二故障修复请求,撤销对第一物理区域所执行的修复操作,并对第二物理区域执行修复操作。这样,即使CPU已经基于带外控制器历史确定的故障类型执行了修复操作,依然可以实现仅基于带外控制器动态确定的新故障类型进行故障修复,有助于减少内存上最终被修复的物理区域的数量,进而提高内存的存储性能。
在一种可能的实现方式中,第一故障类型包括行故障,所第二故障类型包括列故障;或第一故障类型包括列故障,第二故障类型包括行故障;或第一故障类型包括存储阵列故障,第二故障类型包括行故障或列故障;或第一故障类型包括行故障和/或列故障,第二故障类型包括存储阵列故障。
第三方面,提供了一种内存故障分析装置,该装置包括:用于执行第一方面中提供的任意一种方法的功能单元,各个功能单元所执行的动作通过硬件实现或通过硬件执行相应的软件实现。例如,内存故障分析装置可以包括:分析单元和处理单元;分析单元,用于基于内存发生故障的多个第一物理位置所在的第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型;第一故障类型指示了内存的待修复区域包括第一物理区域;分析单元还用于,基于内存发生故障的目标物理位置所在的第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型;第二故障类型指示了内存的待修复区域包括第二物理区域,目标物理位置包括第二物理位置和至少一个第一物理位置,第二物理位置发生故障的时刻晚于每个第一物理位置发生故障的时刻;处理单元,用于若第二物理区域包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置,确定内存的故障类型包括第二故障类型、且不包括第一故障类型。
第四方面,提供了一种内存故障分析装置,该装置包括:用于执行第二方面中提供的任意一种方法的功能单元,各个功能单元所执行的动作通过硬件实现或通过硬件执行相应的软件实现。例如,内存故障分析装置可以包括:处理单元;处理单元,用于基于接收到的第一故障修复请求,对内存的第一物理区域执行修复操作;第一故障修复请求是带外控制器基于内存的第一物理区域存在第一故障类型发送的;处理单元还用于,基于接收到的内存的第二故障修复请求,撤销对内存的第一物理区域所执行的修复操作,并对内存的第二物理区域执行修复操作;第二故障修复请求是带外控制器基于内存的故障类型包括第二物理区域存在的第二故障类型、且不包括第一物理区域存在的第一故障类型发送的。
第五方面,提供了一种计算机设备,包括:中央处理器CPU、带外控制器和内存;其中,带外控制器与CPU连接,CPU与内存连接;带外控制器用于基于内存发生故障的多个物理位置确定内存的当前故障类型,以及基于内存的当前故障类型向CPU发送故障修复请求;当前故障类型用于指示内存的当前待修复区域,故障修复请求用于请求对内存的当前待修复区域执行修复操作以及撤销对内存的历史待修复区域所执行的修复操作;CPU用于基于带外控制器的故障修复请求,对内存的当前待修复区域执行修复操作以及撤销对内存的历史待修复区域所执行的修复操作。
第六方面,提供了一种内存故障分析系统,包括:中央处理器CPU和带外控制器;CPU与带外控制器连接。带外控制器用于执行上述第一方面提供的任意一种方法;CPU用于执行上述第二方面提供的任意一种方法。
第七方面,提供了一种计算机设备,包括:第五方面提供的内存故障分析系统。
第八方面,提供了一种计算机设备,包括:包括:处理器和存储器,处理器与存储器连接。存储器用于存储计算机执行指令,处理器执行存储器存储的计算机执行指令,从而实现第一方面提供的任意一种方法,或实现上述第二方面提供的任意一种方法。
第九方面,提供了一种芯片,该芯片包括:处理器和接口电路;接口电路,用于接收代码指令并传输至处理器;处理器,用于运行代码指令以执行上述第一方面提供的任意一种方法,或执行上述第二方面提供的任意一种方法。
第十方面,提供了一种计算机可读存储介质,存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面提供的任意一种方法,或执行上述第二方面提供的任意一种方法。
第十一方面,提供了一种计算机程序产品,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面提供的任意一种方法,或执行上述第二方面提供的任意一种方法。
其中,第三方面至第十一方面中任一种实现方式所带来的技术效果可参见第一方面中不同实现方式所带来的技术效果,或者,第二方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
图1为本申请实施例提供的一种计算机设备的架构图;
图2为本申请实施例提供的一种内存的示意图;
图3为本申请实施例提供的一种内存故障分析方法的流程图;
图4为本申请实施例提供的一种内存故障信息表的示意图;
图5为本申请实施例提供的一种故障类型的示意图;
图6为本申请实施例提供的另一种内存故障信息表的示意图;
图7为本申请实施例提供的一种行故障类型转换的示意图;
图8为本申请实施例提供的另一种故障类型转换的示意图;
图9为本申请实施例提供的另一种故障类型转换的示意图;
图10为本申请实施例提供的另一种故障类型转换的示意图;
图11为本申请实施例提供的另一种内存故障信息表的示意图;
图12为本申请实施例提供的一种内存发生故障的物理位置的示意图;
图13为本申请实施例提供的另一种内存故障信息表的示意图;
图14为本申请实施例提供的另一种内存发生故障的物理位置的示意图;
图15为本申请实施例提供的一种内存故障分析装置的示意图;
图16为本申请实施例提供的另一种内存故障分析装置的示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
其中,在本申请的描述中,除非另有说明,“/”表示前后关联的对象是一种“或”的关系,例如,A/B可以表示A或B;本申请中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。
并且,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
首先,对本申请实施例的应用场景进行示例性介绍。
内存是计算机设备的存储部件,用于存放处理器中的运算数据,以及与硬盘等外部存储器交换的数据。内存使用过程中有一定概率会出现内存故障,内存故障包括可纠正(corrected error,CE)级别故障和不可纠正(uncorrected error,UCE)级别故障。其中,CE级别故障可以自动修复,UCE级别故障无法自动修复,且通常会导致计算机设备的系统宕机。
由于内存发生多个故障后,内存上的部分物理区域会呈现出现行故障、列故障或存储阵列故障等故障类型。相关技术中,为了降低UCE级别故障导致系统宕机的概率,会对内存存在的故障类型进行分析,若基于当前发生故障确定内存的一个物理区域存在一个故障类型(如列故障),便会对内存上的一个物理区域进行隔离修复。之后,内存发生新故障,若基于新故障确定内存的另一个物理区域存在另一个故障类型(如行故障),则对内存上的另一个物理区域进行隔离修复。这就导致内存的可用存储空间越来越小,严重影响了内存的存储性能。
有鉴于此,本申请实施例提供了一种内存故障分析方法,在基于内存发生故障的多个第一物理位置,确定内存的第一物理区域存在第一故障类型后,若确定内存发生故障的第二物理位置,则基于内存发生故障的目标物理位置,确定内存的第二物理区域存在第二故障类型,该目标物理位置包括第二物理位置和至少一个第一物理位置。在此基础上,若第二物理区域包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置,则取消内存的第一物理区域存在的第一故障类型,确定内存的故障类型仅包括第二物理区域上的第二故障类型,实现了动态确定内存的故障类型,这样,内存的故障类型会随着故障的不断发生而动态变化,一方面,能够使得内存的当前故障类型更加准确的表现故障位置的分布特性,另一方面,通过取消故障位置被覆盖的故障类型,能够在所修复的发生故障的物理位置的数量不变的基础上,缩小内存的待修复区域。
相对于相关技术中的方案,基于该实施例所确定内存的故障类型进行故障修复时,有助于减少内存上被隔离的物理区域,提高内存的存储性能。另外,由于基于第二物理位置确定内存的故障类型时,结合了之前发生故障的多个第一物理位置,因此,可以更全面的分析内存上发生故障的物理位置的规律,有助于提高所确定的故障类型的准确性,进而为后续对内存进行修复时提供精准的待修复区域。
其次,对本申请实施例的系统架构进行示例性介绍。
如图1所示,为本申请实施例提供的计算机设备的系统架构图,该计算机设备包括中央处理器(central processing unit,CPU)、带外控制器和内存。
在本申请实施例中,CPU主要用于在内存发生故障时,收集内存故障信息并发送给带外控制器,以及基于接收到的带外控制器发送的故障修复请求对内存进行故障修复。
可选地,计算机设备还包括存储芯片(图1中未示出),该存储芯片用于存储处理器固件。
在一些实施例中,CPU运行处理器固件,该处理器固件在内存发生故障时,收集内存故障信息并发送给带外控制器。之后,在CPU接收到带外控制器发送的故障修复请求后,由处理器固件基于故障修复请求对内存进行故障修复。
在另一些实施例中,CPU运行操作系统(Operating System,OS),在CPU接收到带外控制器发送的故障修复请求后,由OS基于故障修复请求对内存进行故障修复。
示例性的,处理器固件(也称为处理器固件程序)可以为Firmware、基本输入输出系统(basic input output system,BIOS)、管理引擎(management engine,ME)、微码或智能管理单元(intelligent management unit,IMU)等固件。需要说明的,本申请实施例对处理器固件的具体形式并不限定,以上仅为示例性说明。在下述实施例中,仅以处理器固件为BIOS为例进行说明。
在本申请实施例中,带外控制器主要用于基于接收到的CPU发送的内存故障信息,对内存进行故障分析,并确定内存的当前故障类型,以及基于内存的当前故障类型向CPU发送故障分析信息,指示CPU对内存进行故障修复。
其中,带外控制器可以通过专用数据通道对计算机设备进行远程维护和管理,该带外控制器是完全独立于CPU之外的控制器,通过计算机设备的带外管理接口与CPU中的基本输入输出系统(basic input output system,BIOS)和操作系统OS(或OS管理单元)进行通信。
示例性的,带外控制器可以包括计算机设备运行状态的管理单元、处理器外的管理芯片中的管理系统、计算机设备主板管理单元(baseboard management controller,BMC)、系统管理模块(system management mode,SMM)等。需要说明的,本申请实施例对带外控制器的具体形式并不限定,以上仅为示例性说明。在下述实施例中,仅以带外控制器包括为BMC为例进行说明。
需要说明的是,不同计算机设备对BMC有不同的称呼,例如一些计算机设备称为BMC,一些计算机设备称为iLO,另一计算机设备称为iDRAC。不论是叫BMC,还是叫iLO或iDRAC,都可以理解为是本申请实施例中的BMC。
以下,结合图2对图1中的内存的结构进行示例性介绍。
内存,也称为内存储器或主存储器,安装在计算机设备的主板上的内存插槽(图2中未示出)中,内存与内存控制器(图2中未示出)之间通过内存通道(channel)进行通信。内存具有至少一个内存列(rank),如图2所示的内存列0、内存列1。每个内存列分别位于内存的一个面上,每个内存列包括至少一个子内存列(subrank),每个内存列或子内存列包括多个内存颗粒(device),如图2所示的内存颗粒0、内存颗粒1、内存颗粒2等。每个内存颗粒被划分为多个存储阵列组(bankgroup),每个存储阵列组包括多个存储阵列(bank),如图2所示的存储阵列0、存储阵列1等。每个存储阵列划分为多个存储单元(cell),每个存储单元具有一个存储行(row)地址和一个存储列(column)地址,也就是说,存储阵列被划分为多个存储行,以及多个存储列。
在一种划分方式中,内存从上级至下级可以依次划分为内存颗粒、存储阵列组、存储阵列,存储行/存储列、存储单元。其中,内存颗粒、存储阵列组、存储阵列,存储行/存储列、存储单元的地址称为物理地址。在该划分方式中,内存颗粒、存储阵列组、存储阵列,存储行/存储列、存储单元的粒度依次递减,其中,存储行的粒度与存储例的粒度相同,存储阵列的粒度大于存储行以及存储列。
在另一种划分方式中,CPU基于分页机制将内存颗粒划分为多个内存页(page),一个内存页对应内存的多个存储单元,多个存储单元属于多个存储阵列。其中,内存页的地址称为系统地址(属于虚拟地址),系统地址需要转换后才会变为真实的物理地址。
需要说明的,图2中的存储阵列5被划分为8个存储行、8存储列仅为示例性说明,本申请实施例对存储阵列的存储行的数量以及存储列的数量不做限制。
以下,对内存的故障修复进行示例性介绍。
目前,内存的故障修复主要基于内存的可靠性可用性可服务性(reliabilityavailability and serviceability,RAS)技术执行。内存RAS技术,是为了提高内存的可靠性、可服务性、可实用性而提出的技术,包括硬件RAS技术和软件RAS技术。
硬件RAS技术可以包括:自适应双颗粒数据纠正(adaptive double device datacorrection,ADDDC)、单颗粒数据纠正(single-device data correction,SDDC)、内存镜像(memory mirror)、内存热备(rank sparing)、系统管理中断(system managementinterrupt,SMI)风暴抑制等技术。硬件技术强依赖于硬件层与处理器固件(如BIOS)。
软件RAS技术可以包括页隔离等。软件RAS技术依赖于OS。具体来说,OS可以对发生错误的存储单元所在的内存页进行隔离,被隔离的内存页不能再被使用,因此,被隔离的内存页所对应的存储单元也不再被使用,这样,可以保证数据运行在健康的内存地址空间中。
需要说明的,本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
为了便于理解,以下结合附图对本申请提供的内存故障分析方法进行示例性介绍,该方法适用于图1所示的计算机设备。
本申请以下实施例将分成三个部分对内存故障分析方法进行示例性介绍。
第一部分,结合图3至图6介绍本申请实施例的内存故障分析方法动态确定内存的故障类型的过程。
第二部分,结合图7至图10介绍了第一部分中的多种具体实现方式,例如,内存的故障类型由列故障转换为行故障、行故障转换为列故障、阵列故障转换为行故障/列故障、行故障和/或列故障转换为阵列故障等。
第三部分,结合图11至图14,对本申请实施例的内存故障分析方法动态确定内存的故障类型的过程进行示例性说明。
图3是根据一示例性实施例示出的一种内存故障分析方法的流程图。示例性的,该方法包括以下S301-S307。
S301:带外控制器基于内存发生故障的多个第一物理位置所在的第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型。
其中,第一故障类型指示了内存的待修复区域包括第一物理区域。
需要说明的,内存的第一物理区域存在第一故障类型,是指发生在第一物理区域上的多个内存故障为第一故障类型。
可选地,第一物理位置包括内存的存储单元。需要说明的,本申请实施例对第一物理位置所包括的存储单元的数量不做限制。
需要说明的,多个第一物理位置为属于同一存储阵列的物理位置,也即,多个第一物理位置均位于目标存储阵列。
在一些实施例中,CPU监测到内存发生故障后,收集内存故障信息,并将收集到的内存故障信息发送给带外控制器。
可选地,内存故障信息包括故障地址和故障时间。其中,故障地址为内存发生故障的物理位置的物理地址,故障时间为发生故障的时间。
示例性的,故障地址包括内存标识(Dimm ID)、内存列标识(Rank ID)、内存颗粒标识(Device ID)、存储阵列组标识(BankGruop ID)、存储阵列标识(Bank ID)、存储行标识(row)、存储列标识(column ID)等信息。其中,存储阵列标识为目标存储阵列的标识。
在一些实施例中,带外控制器在接收到第一内存故障信息后,对第一内存故障信息进行解析,得到第一内存故障信息中的第一故障地址和第一故障时间,并存储第一故障地址和第一故障时间。基于此,在接收到的多个第一内存故障信息,得到多个第一故障地址和多个第一故障时间,基于该多个第一内存故障信息,可以确定内存发生故障的多个物理位置。
对于如何选取多个第一物理位置,包括多种实现方式,以下,通过方式A1至方式A2进行示例性说明。
方式A1:将内存在第一时间窗口内发生故障的多个物理位置作为多个第一物理位置。
在一些实施例中,以第一时间窗口为24小时为例,对方式A1进行说明。在需要分析内存当前存在的故障类型时,带外控制器获取当前时刻之前24小时内,内存发生故障的物理位置,作为S301中的多个第一物理位置。
如图4所示,为带外控制器存储的第一内存故障信息表。以当前时刻为2022/8/1012:12:09为例,若第一时间窗口为24小时,则确定2022/8/09 12:12:09至2022/8/10 12:12:09之间,内存发生故障的物理位置为第一物理位置。基于此,S301中的多个第一物理位置包括图4中的内存故障4至内存故障14。
需要说明的,本申请实施例对第一时间窗口的大小不做限制,以上的第一时间窗口为24小时仅为示例性说明。
方式A2:将第一当前时刻前内存发生故障的预设数量的物理位置作为多个第一物理位置。
可以理解的,第一当前时刻可以是带外控制器执行S301的时刻,也即,带外控制器需要基于多个第一物理位置分析内存存在的故障类型的时刻。
在一些实施例中,以预设数量为10为例,对方式A2进行说明。在需要分析内存当前存在的故障类型时,带外控制器获取在第一当前时刻之前,内存发生故障的10个物理位置,作为S301中的多个第一物理位置。
如图4所示,为带外控制器存储的第二内存故障信息表。以当前时刻为2022/8/1012:12:09为例,若预设数量为10,则确定2022/8/10 12:12:09之前,内存发生故障的10个物理位置作为第一物理位置。基于此,S301中的多个第一物理位置包括图4中的内存故障4至内存故障14。
需要说明的,本申请实施例对方式A2中的预设数量的具体数值不做限制,以上的预设数量为10仅为示例性说明。
可选地,S301包括多种实现方式,以下,通过方式B1至方式B3进行示例性说明。
方式B1,若第一物理区域为内存的第一存储行,第一故障类型为行故障;S301包括:第一存储行上的第一物理位置的数量大于或等于第一预设阈值,确定内存的第一存储行存在行故障。
如图5中的(a)所示,多个第一物理位置包括物理位置11、物理位置12、物理位置13。多个第一物理位置所在的第一存储行包括存储行2和存储行4。
若第一预设阈值为2,由于存储行2上第一物理位置的数量为2(等于第一预设阈值),因此,存储行2满足第一预设条件。由于存储行4上第一物理位置的数量为1(小于第一阈值),因此,存储列4不满足第一预设条件。
基于此,可以确定内存的存储行2存在行故障,内存的待修复区域包括存储行2。
需要说明,本申请实施例对第一预设阈值的具体数值不做限制,上述第一预设阈值为2,仅为示例性说明。
方式B2,若第一物理区域为内存的第一存储列,第一故障类型为列故障;S301包括:第一存储列上的第一物理位置的数量大于或等于第二预设阈值,确定内存的第一存储列存在列故障。
如图5中的(b)所示,多个第一物理位置包括物理位置11、物理位置12、物理位置13。多个第一物理位置所在的第一存储列包括存储列2和存储列4。
若第一预设阈值为2,由于存储列2上第一物理位置的数量为2(等于第一预设阈值),因此,存储列2满足第一预设条件。由于存储列4上第一物理位置的数量为1(小于第一阈值),因此,存储列4不满足第一预设条件。
基于此,可以确定内存的存储列2存在列故障,内存的待修复区域包括存储列2。
需要说明,本申请实施例对第二预设阈值的具体数值不做限制,上述第二预设阈值为2,仅为示例性说明。另外,第一预设阈值和第二预设阈值,可以相同,或者,也可以不同,本申请实施例对此不做限制。
方式B3,若第一物理区域包括内存的目标存储阵列,第一故障类型为阵列故障;S301包括:目标存储阵列上的第一物理位置所在的存储行的数量大于或等于第三预设阈值、且目标存储阵列上的第一物理位置所在的存储列的数量大于或等于第四预设阈值,确定目标存储阵列存在阵列故障。
如图5中的(c)所示,多个第一物理位置包括物理位置11、物理位置12、物理位置13和物理位置14。多个第一物理位置所在的目标存储阵列包括存储阵列3。
若第三预设阈值为3、第四预设阈值为3,由于存储阵列3上存储行的数量为4(大于第二预设阈值),存储列的数量为3(等于第三预设阈值),因此,存储阵列3满足第一预设条件。
基于此,可以确定内存的存储阵列3存在阵列故障,内存的待修复区域包括存储阵列3。
如图5中的(d)所示,多个第一物理位置包括物理位置11、物理位置12、物理位置13。多个第一物理位置所在的目标存储阵列包括存储阵列4。
若第三预设阈值为4、第四预设阈值为2,由于存储阵列4上存储行的数量为3(小于第三预设阈值),存储列的数量为2(等于第四预设阈值),因此,存储阵列4不满足第一预设条件,存储阵列4不存在阵列故障。
需要说明的,方式B3中的第三预设阈值与第四预设阈值,可以相同,或者也可以不同,本申请实施例对此不做限制。另外,上述第三预设阈值为3、第四预设阈值为4,以及第三预设阈值为4、第四预设阈值为2,仅为示例性说明,本申请实施对第三预设阈值、第四预设阈值的具体说明不做限制。
可选地,S302:带外控制器基于内存的第一物理区域存在第一故障类型,向CPU发送第一故障修复请求,第一故障修复请求用于请求对内存的第一物理区域执行修复操作。
在一些实施例中,带外控制器确定内存的第一物理区域存在第一故障类型后,即向CPU发送第一故障修复请求,以请求对待修复区域包括的第一物理区域执行修复操作。
在另一些实施例中,带外控制器在确定内存的第一物理区域存在第一故障类型后,也可以不向CPU发送第一故障修复请求。例如,带外控制器可以在执行完S305后,再向CPU发送目标故障修复请求,以请求对最新确定待修复区域(即第二物理区域)执行修复操作。
在一些实施例中,若第一物理区域为第一存储行,第一故障类型为行故障,则第一故障修复请求具体用于请求对第一存储行执行软件RAS技术(如页隔离操作)。基于此,第一故障修复请求可以包括第一系统地址,第一系统地址用于指示第一存储行上的存储单元所在的第一内存页。
在另一些实施例中,若第一物理区域为第一存储列,第一故障类型为列故障,则第一故障修复请求具体用于请求对第一存储列执行页隔离操作。基于此,第一故障修复请求可以包括第二系统地址,第二系统地址用于第一存储列上的存储单元所在的第二内存页。
在又一些实施例中,若第一物理区域为目标存储阵列,第一故障类型为阵列故障,则第一故障修复请求具体用于请对目标存储阵列执行硬件RAS技术(如自适应双颗粒数据纠正)。基于此,第一故障修复请求可以包括目标物理地址,目标物理地址用于指示目标存储阵列在内存上的物理位置。可以理解的,S302为可选步骤。可选地,带外控制器可以跳过S302,直接执行S304。
可选地,S303:CPU基于接收到的第一故障修复请求,对第一物理区域执行修复操作。
可选地,第一故障修复请求包括第一物理区域的地址。CPU接收到第一故障修复请求后,基于该第一物理区域的地址执行修复操作。
在一些实施例中,若第一物理区域是第一存储行或第一存储列,CPU在执行修复操作时,可以是将第一统地址指示的第一内存页或第二系统地址指示的第二内存页标记为禁止使用,这样,CPU读写内存时,将不再读写该第一内存页或第二内存页,进而,也就说不会读写第一存储行或第一存储列上的存储单元。
在另一些实施例中,若第一物理区域是目标存储阵列,CPU在执行修复操作时,可以是对目标物理地址指示的目标存储阵列进行隔离,例如,可以是使用内存上的冗余校验颗粒替换目标存储阵列,这样,CPU将不再读取该目标存储阵列。
可以理解的,S303为可选步骤。可选地,在带外控制器跳过S302,直接执行S304的情况下,CPU不执行S303。也即,在带外控制器执行S302的情况下,CPU执行S303。
S304:带外控制器基于内存发生故障的目标物理位置所在的第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型。
其中,第二故障类型指示了内存的待修复区域包括第二物理区域。目标物理位置包括第二物理位置和至少一个第一物理位置,第二物理位置发生故障的时刻晚于每个第一物理位置发生故障的时刻。
在一些实施例中,第二物理位置包括一个物理位置。在另一些实施例中,第二物理位置包括多个物理位置。需要说明的,本申请实施例对第二物理位置的数量不做限制。
在一些实施例中,目标物理位置包括多个第一物理位置中的部分第一物理位置。在另一些实施例中,目标物理位置包括多个第一物理位置中的全部第一物理位置。
需要说明的,本申请实施例对目标物理位置所包括的第一物理位置的具体数量不做限制。
需要说明的,第二物理位置与多个第一物理位置属于同一个存储阵列。因此,在多个第一物理位置位于内存的目标存储阵列的情况下,第二物理位置也位于内存的目标存储阵列。
可选地,第二物理位置包括存储单元。需要说明的,本申请实施例对第二物理位置所包括的存储单元的数量不做限制。
在一些实施例中,带外控制器接收第二内存故障信息,对第二内存故障信息进行解析,得到第二内存故障信息中的第二故障地址和第二故障时间,其中,第一故障地址为第二物理位置的地址,第二故障时间为第二物理位置发生故障的时间。
在一些实施例中,带外控制器基于多个第一物理位置确定内存的第一物理区域存在第一故障类型后,经过预设时长,基于目标物理位置确定内存的第二物理区域存在第二故障类型。该目标物理位置包括了预设时长内发生内存故障的第二物理位置。
在另一些实施例中,带外控制器基于多个第一物理位置确定内存的第一物理区域存在第一故障后,在接收到第二内存故障信息后,基于目标物理位置确定内存的第二物理区域存在第二故障类型。该第二内存故障信息指示内存的第二物理位置发生了内存故障。
对于如何确定目标物理位置,包括多种实现方式,以下通过方式C1至方式C2进行说明。
方式C1:确定内存在第二时间窗口内发生故障的物理位置为目标物理位置。
其中,第二时间窗口包括第二物理位置发生故障的时刻。
如图6所示,为带外控制器存储的内存故障信息表。以当前时刻为2022/8/10 12:12:10为例,若第二时间窗口为24小时,则确定2022/8/09 12:12:10至2022/8/10 12:12:10之间,内存发生故障的物理位置为目标物理位置。基于此,S304中的目标物理位置包括图6中的内存故障4至内存故障16。
需要说明的,本申请实施例对第二时间窗口的大小不做限制,以上的第二时间窗口为24小时仅为示例性说明。另外,第二时间窗口的大小可以第一时间窗口的大小相同,或者,也可以不同,本申请实施例对此不做限制。
需要说明的,方式C1的实现原理与上述S301中的方式A1的实现原理相同,因此,关于方式C1的相关说明,可以参考上述S301中的方式A1,此处不再细述。
方式C2:确定在第二当前时刻之前内存发生故障的预设数量的物理位置为目标物理位置。
其中,第二当前时刻晚于第二物理位置发生故障的时刻。
可以理解的,第二时刻可以是带外控制器执行S306的时刻,也即,带外控制器需要再次分析内存所存在的故障类型的时刻。或者,还可以内存接收到新的内存故障信息的时刻。
如图6所示,为带外控制器存储的内存故障信息表。以当前时刻为2022/8/10 12:12:10为例,若预设数量为10,则确定2022/8/10 12:12:10之前,内存发生故障的10个物理位置作为目标物理位置。基于此,S306中的目标第一物理位置包括图6中的内存故障4至内存故障16。
需要说明的,本申请实施例对方式C2中的预设数量的具体数值不做限制,以上的预设数量为10仅为示例性说明。另外,方式C2中的预设数量与上述S301中的方式A2中的预设数量可以相同,或者,也可以不同,本申请实施例对此不做限制。
需要说明的,方式C2的实现原理与上述S301中的方式A2的实现原理相同,因此,关于方式C2的相关说明,可以参考上述S301中的方式A2,此处不再细述。
可选地,S304包括多种实现方式,以下,通过方式D1至方式D3进行示例性说明。
方式D1,若第二物理区域为内存的第二存储行,第二故障类型为行故障;S304包括:第二存储行上的目标物理位置的数量大于或等于第五预设阈值,确定内存的第二存储行存在行故障。
需要说明的,方式D1的原理与上述S301中的方式B1的原理相同,因此,关于方式D1的相关说明可以参考上述S301中的方式B1,此处不再细述。
需要说明的,第五预设阈值与第一预设阈值可以相同,或者,也可以不同,本申请实施例对此不做限制。方式D2,若第二物理区域为内存的第二存储列,第二故障类型为列故障;S304包括:第二存储列上的目标物理位置的数量大于或等于第六预设阈值,确定内存的第二存储列存在列故障。
需要说明的,方式D2的原理与上述S301中的方式B2的原理相同,因此,关于方式D2的相关说明可以参考上述S301中的方式B2,此处不再细述。
需要说明的,第六预设阈值与第二预设阈值可以相同,或者,也可以不同,本申请实施例对此不做限制。
方式D3,若第二物理区域包括内存的目标存储阵列,第二故障类型为阵列故障;S304包括:目标存储阵列上的目标物理位置所在的存储行的数量大于或等于第七预设阈值、且目标存储阵列上的目标物理位置所在的存储列的数量大于或等于第八预设阈值,确定目标存储阵列存在阵列故障。
需要说明的,方式D3的原理与上述S301中的方式B3的原理相同,因此,关于方式D3的相关说明可以参考上述S301中的方式B3,此处不再细述。
需要说明的,第七预设阈值与第三预设阈值可以相同,或者,也可以不同,本申请实施例对此不做限制。另外,第八预设阈值与第四预设阈值可以相同,或者,也可以不同,本申请实施例对此不做限制。
S305:若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域未包括第二物理位置,带外控制器确定内存的故障类型包括第二故障类型、且不包括第一故障类型。
需要说明的,由于多个第一物理位置和第二物理位置属于内存的同一个存储阵列(即目标存储阵列),因此,内存的故障类型包括第二物理区域存在的第二故障类型、且不包括第一物理区域存在的第一故障类型,也可以认为是,内存的目标存储阵列的故障类型包括第二物理区域存在的第二故障类型、且不包括第一物理区域存在的第一故障类型。
由于确定第二故障类型时考虑了内存上最新发生故障的物理位置(即第二物理位置),因此,相对于第一故障类型,第二故障类型能够更加准确的表现内存的故障位置的分布特性,例如,成行分布(第二故障类型为行故障时)、成列分布(第二故障类型列故障时)或成阵列分布(第二故障类型为阵列故障时),基于此,确定内存的故障类型包括第二故障类型、且不包括第一故障类型,能够基于内存的故障类型,更加准确的了解内存的故障的分布情况,有助于为内存制定更加准确的修复策略。
在一些实施例中,在确定第二物理区域是否包括第一物理区域上的每个第一物理位置时,第二物理区域包括满足第二预设条件的每个物理区域,第一物理区域是指满足第一预设条件的任意一个物理区域。
例如,第一物理区域为存储列,满足第一预设条件的存储列包括存储列1、存储列2。第二物理区域为存储行,满足第二预设条件的存储行包括存储行2、存储行4、存储行5。基于此,存储列1上的每个第一物理位置落在存储行2、存储行4、存储行5中的任意一个存储行上,均属于第二物理区域包括存储列1上的每个第一物理位置,此处,可以取消存储列1存在的列故障。若存储列2上的每个第一物理位置中的部分第一物理位置落在了存储行2、存储行4、存储行5之外的位置,则说明第二物理区域未包括存储列2上的每个第一物理位置,此时,不取消存储列2存在的列故障。
需要说明的,确定第一物理区域是否包括第二物理位置中的每个物理位置时,第一物理区域的相关说明与上述第二物理区域的相关说明相同,此处不再细述。
基于上述,在带外控制器执行S305之前,带外控制器先确定了内存的第一物理区域存在第一故障类型,该第一故障类型指示了内存的待修复区域包括第一物理区域,具体参见S301。之后,带外控制器确定了内存的第二物理区域存在第二故障类型,该第二故障类型指示了内存的待修复区域包括第二物理区域,具体参见S304。基于此,内存的待修复区域包括第一故障类型指示的第一物理区域,以及第二故障类型指示的第二物理区域。
在带外控制器执行完S305之后,内存的故障类型包括第二故障类型、且不包括第一物理区域存在的第一故障类型,这样,内存的待修复区域也就仅包括第二故障类型所指示的第二物理区域,不再包括第一故障类型所指示的第一物理区域。由于S305中取消了内存第一物理区域存在的第一故障类型,同时,也就取消了内存的待修复区域包括的第一故障类型所指示的第一物理区域,因此,减少了内存的待修复区域。
此外,由于第二物理区域包括了第一物理区域上的每个第一物理位置,因此,待修复区域所包括的发生故障的物理位置不变,基于此,根据本申请实施例所确定的内存的故障类型进行故障修复时,能够节约内存的存储资源,有助于提高内存的存储性能。
可选地,若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且所第二物理区域的粒度小于第一物理区域的粒度,确定内存的故障类型包括第二故障类型。
例如,第二物理区域为存储行,第一物理区域为存储阵列,则第二物理区域的粒度小于第一物理区域的粒度,基于此,若存储行包括了存储阵列上的每个第一物理位置、且存储阵列上包括了第二物理位置,确定内存的故障类型为第二故障类型。这样,内存的待修复区域就仅包括粒度较小的第二物理区域,取消了粒度较大的第一物理区域,且待修复区域所包括的发生故障的物理位置不变,有助于减小待修复区域,进而为内存保留更多的存储空间。
可选地,若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、所第二物理区域的粒度小于第一物理区域的粒度、且所述第一物理区域上发生故障的存储行的数量大于第一阈值和/或发生故障的存储列数量大于第二阈值,确定内存的故障类型包括第一故障类型。
在一些实施例,第一物理区域为存储阵列,第二物理区域为存储行,若存储阵列发生故障的存储行的数量大于第一阈值,则确定内存的故障类型包括阵列故障。
在另一些实施例中,第一物理区域为存储阵列,第二物理区域为存储行,若存储阵列发生故障的存储列的数量大于第二阈值,则确定内存的故障类型包括阵列故障。
在又一些实施例中,第一物理区域为存储阵列,第二物理区域包括存储行和存储列,若存储阵列满足:存储阵列发生故障的存储行的数量大于第一阈值、存储阵列发生故障的存储列的数量大于第二阈值、存储阵列发生故障的存储行的数量大于第一阈值且存储阵列发生故障的存储列的数量大于第二阈值中的任一项,则确定内存的故障类型包括阵列故障。
该实施例中,若存储阵列上的发生故障的存储行和/或存储列较多,说明内存发生故障位置比较分散,这种情况下若确定为行故障或列故障,仅对部分存储行和/或部分存储列进行故障修复,那么,在新的内存故障发生在新的存储行时,会容易导致系统宕机。而确定内存的故障类型包括阵列故障,可以避免内存故障发生在该存储阵列的新的存储行或存储列时,所导致的系统宕机,因此,能够更好的降低内存发生故障的概率,进而有助于更大程度的避免系统宕机。
其中,第一阈值可以参考上述第三预设阈值和第七预设阈值设置,第二阈值可以参考上述第四预设阈值和第八预设阈值设置。
可选地,若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度大于第一物理区域的粒度,确定内存的故障类型包括第一故障类型。
例如,第二物理区域为存储阵列,第一物理区域为存储行,则第二物理区域的粒度大于第一物理区域的粒度,基于此,若存储阵列包括了存储阵行上的每个第一物理位置、且存储阵行上包括了第二物理位置,这种情况下,先确定的第一物理区域已经包括了新发生故障的物理位置,且第一物理区域的粒度小于后确定第二物理区域,因此,不必增加新的故障类型,只需确定内存的故障类型为第一故障类型。这样,内存的待修复区域仅包括粒度较小的第一物理区域,取消了粒度较大的第二物理区域,且待修复区域所包括的发生故障的物理位置不变,有助于减小待修复区域,进而为内存保留更多的存储空间。
可选地,若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度等于第一物理区域的粒度,确定内存的故障类型包括第一故障类型或第二故障类型。
例如,第二物理区域为存储列,第一物理区域为存储行,则第二存储区域的粒度等于第一物理区域的粒度,基于此,若存储列包括了存储阵行上的每个第一物理位置、且存储阵行上包括了第二物理位置,可以确定内存的故障类型为第一故障类型或第二故障类型。
可选地,带外控制器基于第三故障信息,确定第一物理区域的第一故障严重程度;基于第四故障信息,确定第二物理区域的第二故障严重程度。
其中,第三故障信息所指示的发生故障的物理位置位于第一物理区域。第四故障信息所指示的发生故障的物理位置位于第二物理区域。
在内存的故障类型可以包括第一故障类型或第二故障类型的情况下,若第一故障严重程度高于第二故障严重程度,确定内存的故障类型包括第一故障类型。若第二故障严重程度高于第一故障严重程度,确定内存的故障类型包括第二故障类型。这样,可以优先修复故障严重程度比较高的物理区域,有助于降低内存发生故障的概率,进而有助于降低内存故障所导致的系统宕机。
可选地,带外控制器确定存在列故障的第一物理区域所述对应的第一内存页的数量;确定存在行故障的第二物理区域所对应的第二内存页的数量。
在内存的故障类型可以包括第一故障类型或第二故障类型的情况下,若第一内存页的数量大于第二内存页的数量,确定内存的故障类型包括第二故障类型。若第一内存页的数量小于第二内存页的数量,确定内存的故障类型包括第一故障类型。这样,可以对数量较少的内存页进行隔离,有助于提高剩余内存页的数量,进而有助于提高内存的存储性能。
可选地,若第二物理区域未包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置,确定内存的故障类型包括第一故障类型和第二故障类型。
可选地,若第二物理区域未包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且二物理区域的粒度小于第一物理区域的粒度,确定内存的故障类型包括第一故障类型和第二故障类型,或确定所述内存的故障类型包括所述第一故障类型、且不包括第二故障类型。
可选地,若第二物理区域未包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且二物理区域的粒度等于第一物理区域的粒度,确定内存的故障类型包括第一故障类型、且不包括第二故障类型。
例如,第二物理区域为存储行,第一物理区域为存储列,则第二物理区域的粒度等于第一物理区域的粒度,此时,若第二物理区域未包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置,确定内存的故障类型包括第一故障类型。当然,还可以第二物理区域为存储列,第一物理区域为存储行。
可选地,S306:带外控制器基于确定内存的故障类型包括第二故障类型、且不包括第一故障类型,向CPU发送第二故障修复请求。
其中,第二故障修复请求用于请求撤销对内存的第一物理区域所执行的修复操作,并对内存的第二物理区域执行修复操作。
在一些实施例中,带外控制器确定内存的故障类型包括第二故障类型、且不包括第一故障类型后,向CPU发送第二故障修复请求,用于请求撤销对第一故障类型所指示的第一物理区域所执行的修复操作,并对第二故障类型所指示的第二物理区域执行修复操作。
在另一些实施例中,若带外控制器未向CPU发送第一故障修复请求,则带外控制器确定内存的故障类型包括第二故障类型、且不包括第一故障类型后,向CPU发送目标故障修复请求,用于请求对第二故障类型所指示的第二物理区域执行修复操作。
需要说明的,S306的实现原理与S302的实现原理相同,因此,S306的实现过程和相关说明,可以参考上述S302,例如,第二物理区域为第二存储行时,第二故障修复请求可以包括第三系统地址,第二物理区域为第二存储列时,第二故障修复请求可以包括第三系统地址,第二物理区域为目标存储阵列时,第二故障修复请求可以包括目标物理地址,此处不再细述。
可选地,S307:CPU基于接收到的第二故障修复请求,撤销对内存的第一物理区域所执行的修复操作,并对内存的第二物理区域执行修复操作。
在一些实施例中,若第一物理区域为第一存储行,第一故障类型为行故障,则撤销对内存的第一物理区域所执行的修复操作具体为撤销对第一存储行上的存储单元所在的第一内存页所执行的页隔离操作,例如,可以将第一内存页标记为可使用,这样,CPU读写内存时,可以读写第一内存页所对应的存储单元。
在另一些实施例中,若第一物理区域为第一存储列,第一故障类型为列故障,则撤销对内存的第一物理区域所执行的修复操作具体为撤销对第一存储列上的存储单元所在的第二内存页所执行的页隔离操作,例如,可以将第二内存页标记为可使用,这样,CPU读写内存时,可以读写第二内存页所对应的存储单元。
在又一些实施例中,若第一物理区域为目标存储阵列,第一故障类型为阵列故障,则撤销对内存的第一物理区域所执行的修复操作具体为撤销对目标存储阵列所执行的隔离操作。
需要说明的,CPU对内存的第二物理区域执行修复操作,与S303中对内存的第一物理区域执行修复操作的原理相同,此处不再细述。
由于第二物理区域包括了第一物理区域上的每个第一物理位置,因此,修复了第二物理区域,也就修复了第一物理区域上的发生故障的第一物理位置。基于此,不仅可以降低内存发生故障的概率,例如发生UCE级别故障的概率,还缩小了内存的修复区域,有助于节省内存的存储空间,提高内存的存储性能。
以上,为本申请实施例的第一部分。以下,结合图7至图10介绍本申请实施例的第二部分。
需要说明的,下述实施例中,以第一预设阈值为2、第二预设阈值为2、第三预设阈值为3、第四预设阈值为3为例确定第一故障类型,以第五预设阈值为2、第六预设阈值为2、第七预设阈值为3、第八预设阈值为3为例确定第二故障类型。
可选地,第一故障类型包括列故障,第二故障类型包括行故障。
如图7中的(a)所示,多个第一物理位置包括物理位置11和物理位置12,多个第一物理位置所在的第一物理区域(即存储列2)满足第一预设条件。因此,内存的存储列2存在列故障,内存的待修复区域包括存储列2。
如图7中的(b)所示,第二物理位置包括物理位置21、物理位置22、物理位置23,目标物理位置包括多个第一物理位置中的物理位置11和物理位置12。目标物理位置所在的第二物理区域(即存储行2和存储行4)满足第二预设条件。因此,内存的存储行2和存储行4存在行故障,内存的待修复区域包括存储行2和存储行4。
由于存储行2包括了存储列2上的物理位置11,存储行4包括了存储列2上的物理位置12,存储列2未包括物理位置21、物理位置22、物理位置23,也就是说,第二物理区域包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置中的每个物理位置。基于此,取消内存存在的第一故障类型(即存储列2存在的列故障),确定内存的故障类型包括第二故障类型(即存储行2和存储行4的行故障),此时,内存的待修复区域仅包括第二物理区域(即存储行2和存储行4),不再包括第一物理区域(即存储列2)。
以上,是对内存的故障类型由列故障转换为行故障的过程的说明。
可选地,第一故障类型包括行故障,第二故障类型包括列故障。
如图8中的(a)所示,多个第一物理位置包括物理位置11和物理位置12,多个第一物理位置所在的第一物理区域(即存储行1)满足第一预设条件。因此,内存的存储行2存在行故障,内存的待修复区域包括存储行2。
如图8中的(b)所示,第二物理位置包括物理位置21、物理位置22、物理位置23,目标物理位置包括多个第一物理位置中的物理位置12。目标物理位置所在的第二物理区域(即存储列2和存储列4)满足第二预设条件。因此,内存的存储列2和存储列4存在列故障,内存的待修复区域包括存储列2和存储列4。
由于存储列2包括了存储行2上的物理位置11,存储列4包括了存储行2上的物理位置12,存储行2未包括物理位置21、物理位置22、物理位置23,也就是说,第二物理区域包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置中的每个物理位置。基于此,取消内存存在的第一故障类型(即存储列2存在的列故障),确定内存的故障类型包括第二故障类型(即存储列2和存储列4的行故障),此时,内存的待修复区域仅包括第二物理区域(即存储列2和存储列4),不再包括第一物理区域(即存储行2)。
以上,是对内存的故障类型由行故障转换为列故障的过程的说明。
可选地,第一故障类型包括阵列故障,第二故障类型包括行故障或列故障。
以下,第二故障类型包括行故障为例进行说明。可以理解的,在第二故障类型包括列故障时,原理相同,后续不再进行赘述。
如图9中的(a)所示,多个第一物理位置包括物理位置11、物理位置12和物理位置13,多个第一物理位置所在的第一物理区域(即存储阵列1)满足第一预设条件。因此,内存的存储阵列1存在阵列故障,内存的待修复区域包括存储阵列1。
如图9中的(b)所示,第二物理位置包括物理位置21、物理位置22、物理位置23,目标物理位置包括多个第一物理位置中的物理位置11、物理位置12和物理位置13。目标物理位置所在的第二物理区域(即存储行2、存储行3和存储行4)满足第二预设条件。因此,内存的存储行2、存储行3、存储列4存在行故障,内存的待修复区域包括存储行2、存储行3和存储列4。
由于存储行2包括了存储阵列1上的物理位置11,存储行3包括存储阵列1上的物理位置12,存储行4包括了存储阵列1上的物理位置13。存储阵列1包括第二物理位置中的物理位置21、物理位置22、物理位置23,也就是说,第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置中的每个物理位置、且第二物理区域的粒度小于第一物理区域的粒度。基于此,取消内存存在的第一故障类型(即存储阵列1存在的阵列故障),确定内存的故障类型包括第二故障类型(即存储行2、存储行3和存储行4存在的行故障),此时,内存的待修复区域仅包括第二物理区域(即存储行2、存储行3和存储行4),不再包括第一物理区域(即存储阵列1)。
以上,是对内存的故障类型由阵列故障转换为行故障的过程的说明。
可选地,第一故障类型包括行故障和/或列故障,第二故障类型包括阵列故障。
以下,第一故障类型包括行故障为例进行说明。可以理解的,在第一故障类型包括列故障时,以及第一故障类型包括行故障和列故障时,原理相同,后续不再进行赘述。
如图10中的(a)所示,多个第一物理位置包括物理位置11、物理位置12和物理位置13,多个第一物理位置所在的第一物理区域(即存储阵行2)满足第一预设条件。因此,内存的存储阵行2存在行故障,内存的待修复区域包括存储行2。
如图10中的(b)所示,第二物理位置包括物理位置21、物理位置22、物理位置23,目标物理位置包括多个第一物理位置中的物理位置13。目标物理位置所在的第二物理区域(即存储阵列1)满足第二预设条件。因此,内存的存储阵列1存在阵列故障,内存的待修复区域包括存储阵列1。
由于储阵列1包括了存储行1上的物理位置11、物理位置12和物理位置13。存储行1包括第二物理位置中的物理位置21、物理位置22、物理位置23,也就是说,第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域未包括第二物理位置中的每个物理位置。基于此,取消内存存在的第一故障类型(即存储阵行2存在的行故障),确定内存的故障类型包括第二故障类型(即存储阵列1存在的阵列故障),此时,内存的待修复区域仅包括第二物理区域(即存储阵列1),不再包括第一物理区域(即存储行2)。
以上,是对内存的故障类型由行故障转换为阵列故障的过程的说明。
以上,为本申请实施例的第二部分。以下,本申请实施例的第三部分,结合图11至图14,对本申请实施例的故障分析方法动态确定内存的故障类型的过程进行示例性说明。
以下,结合图11和图12对本申请实施例的故障分析方法动态确定内存的故障类型的过程进行说明。
以下实施例中,存储阵列满足预设条件1是指存储阵列上发生故障的物理位置所在的存储行的数量大于或等于第三阈值(参考上述第三预设阈值或第七预设阈值)、且所在的存储列的数量大于或等于第四阈值(参考上述第四预设阈值或第八预设阈值),因此,满足预设条件1的存储阵列存在阵列故障。
存储列满足预设条件2是指存储列上发生故障的物理位置的数量大于或等于第五阈值(参考上述第二预设阈值或第六预设阈值),因此,满足预设条件2的存储列存在列故障。
存储行满足预设条件3是指存储行上发生故障的物理位置的数量大于或等于第六阈值(参考上述第一预设阈值或第五预设阈值),因此,满足预设条件的存储行存在行故障。
其中,图11示出了内存发生故障的故障地址信息,图12示出了图11中的故障地址信息所指示物理位置。
如图12中的(a)所示,物理位置1至物理位置3发生故障后,物理位置1至物理位置3所在的存储阵列1满足预设条件1。因此,内存的存储阵列1存在阵列故障,内存的待修复区域包括存储阵列1。
如图12中的(b)所示,物理位置4发生故障后,物理位置1至物理位置4所在的存储列56满足预设条件2,存储列56存在列故障。因此,内存的故障类型增加了存储列56存在的列故障,内存的待修复区域增加了存储列56。
如图12中的(c)所示,物理位置5发生故障后,物理位置1至物理位置5所在的存储列16满足预设条件2、所在的存储行9满足预设条件3,存储列16存在列故障,存储行9存在行故障。因此,内存的故障类型增加了的存储列16存在的列故障、存储行9存在的行故障,内存的待修复区域增加了存储列16和存储行9。
如图12中的(d)所示,物理位置6发生故障后,物理位置1至物理位置6所在的存储行2满足预设条件3,存储行2存在行故障。因此,内存的故障类型增加了存储行2存在的行故障,内存的待修复区域增加了存储行2。基于本申请的方案,由于存储列16上的物理位置1落在了存储2上、物理位置9落在了存储行9上,因此,内存的故障类型可以不包括存储列16存在的列故障,这样,内存的待修复区域也就不包括存储列16。
如图12中的(e)所示,物理位置7发生故障后,物理位置1至物理位置7所在的存储行7满足预设条件3,存储行7存在行故障。因此,内存的故障类型增加了存储行7存在的行故障,内存的待修复区域增加了存储行7。
如图12中的(f)所示,物理位置8发生故障后,物理位置1至物理位置8所在的存储行4满足预设条件3,存储行4存在行故障。因此,内存的故障类型增加了存储行4存在的行故障,内存的待修复区域增加了存储行4。基于本申请的方案,由于存储列56上的物理位置4落在了存储行4上、物理位置3落在了存储行9上,因此,内存的故障类型可以不包括存储列56存在的列故障,这样,内存的待修复区域也就不包括存储列56。另外,存储阵列1上的全部物理位置(物理位置1至物理位置8)都落在存储行2、存储行4、存储行7以及存储行9上,且存储行2、存储行4、存储行7以及存储行9的物理粒度小于存储阵列1,因此,内存的故障类型可以不包括阵列故障。
基于上述,最后,内存的故障类型包括存储行2、存储行4、存储行7以及存储行9存在的行故障,取消了存储阵列1的阵列故障、存储列16的列故障、存储列56的列故障。基于此,内存待修复区域包括存储行2、存储行4、存储行7以及存储行9,取消了存储阵列1、存储列16以及存储列56。
以下,结合图13和图14对本申请实施例的故障分析方法动态确定内存的故障类型的过程进行说明。
其中,图13示出了内存发生故障的故障地址信息,图14示出了图13中的故障地址信息所指示物理位置。
如图14中的(a)所示,物理位置1至物理位置3发生故障后,物理位置1至物理位置3所在的存储阵列1满足预设条件1。因此,内存的存储阵列1存在阵列故障,内存的待修复区域包括存储阵列1。
如图14中的(b)所示,物理位置4发生故障后,物理位置1至物理位置4所在的存储行7满足预设条件3,存储行7存在行故障。因此,内存的故障类型增加了存储行7存在的行故障,内存的待修复区域增加了存储行7。
如图14中的(c)所示,物理位置5发生故障后,物理位置1至物理位置5所在的存储列72满足预设条件2、所在的存储行2满足预设条件3,存储列72存在列故障,存储行2存储行故障。因此,内存的故障类型增加了存储列72存在的列故障、存储行2存在的行故障,内存的待修复区域增加了存储列72和存储行2。
如图14中的(d)所示,物理位置6发生故障后,物理位置1至物理位置6所在的存储列16满足预设条件2,存储列16存在列故障。因此,内存的故障类型增加了存储列16存在的列故障,内存的待修复区域增加了存储列16。基于本申请的方案,由于存储行2上的物理位置1落在了存储列16上、物理位置5落在了存储列72上,因此,内存的故障类型可以不包括存储行2存在的行故障,这样,内存的待修复区域也就不包括存储行2。
如图14中的(e)所示,物理位置7发生故障后,物理位置1至物理位置7所在的存储列56满足预设条件2,存储列56存在列故障。因此,内存的故障类型增加了存储列56存在的列故障,内存的待修复区域增加了存储列56。
如图14中的(f)所示,物理位置8发生故障后,物理位置1至物理位置8所在的存储列32满足预设条件2,存储列32存在列故障。因此,内存的故障类型增加了存储列32存在列故障,内存的待修复区域增加了存储列32。基于本申请的方案,由于存储行7上的物理位置2落在了存储列32上、物理位置4落在存储列56上,因此,内存的故障类型可以不包括存储行7存在的行故障,这样内存的待修复区域也就不包括存储行7。另外,存储阵列1上的全部物理位置(物理位置1至物理位置8)都落在存储列16、存储列32、存储列56以及存储列72上,且存储列16、存储列32、存储列56以及存储列72的物理粒度小于存储阵列1,因此,内存的故障类型可以不包括阵列故障。
如图14中的(f)所示,若物理位置9又故障,由于未出现新的满足预设条件的存储行,也未出现新的满足预设条件的存储列,且物理位置位于存储列56上,因此,内存不增加故障类型。
基于上述,最后,内存的故障类型包括存储列16、存储列32、存储列56以及存储列72存在的列故障,取消了存储阵列1的阵列故障、存储行2的行故障、存储行7的行故障。基于此,内存待修复区域包括存储列16、存储列32、存储列56以及存储列72,取消了存储阵列1、存储行2以及存储行7。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,数据内存故障分析装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法,示例性的对内存故障分析装置进行功能模块的划分,例如,内存故障分析装置可以包括对应各个功能划分的各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图15示出了上述实施例中所涉及的内存故障分析装置(记为内存故障分析装置1500)的一种可能的结构示意图,该内存故障分析装置1500包括分析单元1501和处理单元1502。分析单元1501,用于基于内存发生故障的多个第一物理位置所在的第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型;第一故障类型指示了内存的待修复区域包括第一物理区域。例如,图3所示的S301。分析单元1501还用于,基于内存发生故障的目标物理位置所在的第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型;第二故障类型指示了内存的待修复区域包括第二物理区域,目标物理位置包括第二物理位置和至少一个第一物理位置,第二物理位置发生故障的时刻晚于每个第一物理位置发生故障的时刻。例如,图3所示的S304。处理单元1502,用于若第二物理区域包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置,确定内存的故障类型包括第二故障类型、且不包括第一故障类型。例如,图3所示的S305。
可选地,处理单元1502还用于:若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且所第二物理区域的粒度小于第一物理区域的粒度,确定内存的故障类型包括第二故障类型。
可选地,处理单元1502还用于:若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度大于第一物理区域的粒度,确定内存的故障类型包括第一故障类型。
可选地,处理单元1502还用于:若第二物理区域包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度等于第一物理区域的粒度,确定内存的故障类型包括第一故障类型或第二故障类型。
可选地,处理单元1502还用于:若第二物理区域未包括第一物理区域上的每个第一物理位置、且第一物理区域未包括第二物理位置,确定内存的故障类型包括第一故障类型和第二故障类型。
可选地,处理单元1502还用于:若第二物理区域未包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且二物理区域的粒度小于第一物理区域的粒度,确定内存的故障类型包括第一故障类型,或确定内存的故障类型包括第一故障类型和第二故障类型。
可选地,处理单元1502还用于:若第二物理区域未包括第一物理区域上的每个第一物理位置、第一物理区域包括第二物理位置、且第二物理区域的粒度等于第一物理区域的粒度,确定内存的故障类型包括第一故障类型、且不包括第二故障类型。
可选地,若第一物理区域为内存的第一存储行,第一故障类型为行故障;第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型,包括:第一存储行上的第一物理位置的数量大于或等于第一预设阈值,确定内存的第一存储行存在行故障。
可选地,若第一物理区域为内存的第一存储列,第一故障类型为列故障;第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型,包括:第一存储列上的第一物理位置的数量大于或等于第二预设阈值,确定内存的第一存储列存在列故障。
可选地,若第一物理区域为内存的目标存储阵列,第一故障类型为阵列故障;第一物理区域满足第一预设条件,确定内存的第一物理区域存在第一故障类型,包括:目标存储阵列上的第一物理位置所在的存储行的数量大于或等于第三预设阈值、且目标存储阵列上的第一物理位置所在的存储列的数量大于或等于第四预设阈值,确定目标存储阵列存在阵列故障。
可选地,若第二物理区域为内存的第二存储行,第二故障类型为行故障;第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型,包括:第二存储行上的目标物理位置的数量大于或等于第五预设阈值,确定内存的第二存储行存在行故障。
可选地,若第二物理区域为内存的第二存储列,第二故障类型为列故障;第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型,包括:第二存储列上的目标物理位置的数量大于或等于第六预设阈值,确定内存的第二存储列存在列故障。
可选地,若第二物理区域包括内存的目标存储阵列,第二故障类型为阵列故障;第二物理区域满足第二预设条件,确定内存的第二物理区域存在第二故障类型,包括:目标存储阵列上的目标物理位置所在的存储行的数量大于或等于第七预设阈值、且目标存储阵列上的目标物理位置所在的存储列的数量大于或等于第八预设阈值,确定目标存储阵列存在阵列故障。
可选地,第一故障类型包括列故障,第二故障类型包括行故障;或第一故障类型包括行故障,所第二故障类型包括列故障;或第一故障类型包括存储阵列故障,第二故障类型包括行故障或列故障;或第一故障类型包括行故障和/或列故障,第二故障类型包括存储阵列故障。
可选地,多个第一物理位置为内存在第一时间窗口内发生故障的物理位置;目标物理位置为内存在第二时间窗口内发生故障的物理位置;第二时间窗口包括第二物理位置发生故障的时刻。
可选地,多个第一物理位置为第一当前时刻之前内存发生故障的预设数量的物理位置;目标物理位置为第二当前时刻之前内存发生故障的预设数量的物理位置;第二当前时刻晚于第二物理位置发生故障的时刻。
可选地,处理单元1502还用于:基于内存的第一物理区域存在第一故障类型,向CPU发送第一故障修复请求,第一故障修复请求用于请求对内存的第一物理区域执行修复操作;基于确定内存的故障类型包括第二故障类型、且不包括第一故障类型,向CPU发送第二故障修复请求,第二故障修复请求用于请求撤销对内存的第一物理区域所执行的修复操作,并对内存的第二物理区域执行修复操作。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种内存故障分析装置1500的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
示例性的,图16示出了上述实施例中所涉及的内存故障分析装置(记为内存故障分析装置1600)的一种可能的结构示意图,该内存故障分析装置1600包括处理单元1601。处理单元1601,用于基于接收到的第一故障修复请求,对内存的第一物理区域执行修复操作;所述第一故障修复请求是所述带外控制器基于所述内存的所述第一物理区域存在第一故障类型发送的。例如,图3所示的S303。处理单元1601还用于,基于接收到的第二故障修复请求,撤销对所述内存的第一物理区域所执行的修复操作,并对所述内存的第二物理区域执行修复操作;所述第二故障修复请求是所述带外控制器基于确定所述内存的故障类型包括所述第二物理区域存在的第二故障类型、且不包括第一物理区域存在的第一故障类型发送的。例如,图3所示的S307。
可选地,第一故障类型包括行故障,所第二故障类型包括列故障;或第一故障类型包括列故障,第二故障类型包括行故障;或第一故障类型包括阵列故障,第二故障类型包括行故障或列故障;或第一故障类型包括行故障和/或列故障,第二故障类型包括阵列故障。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种内存故障分析装置1600的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
本申请实施例还提供了一种计算机设备,包括:中央处理器CPU、带外控制器和内存;其中,带外控制器与CPU连接,CPU与内存连接;带外控制器用于基于内存发生故障的多个物理位置确定内存的当前故障类型,以及基于内存的当前故障类型向CPU发送故障修复请求;当前故障类型用于指示内存的当前待修复区域,故障修复请求用于请求对内存的当前待修复区域执行修复操作以及撤销对内存的历史待修复区域所执行的修复操作;CPU用于基于带外控制器的故障修复请求,对内存的当前待修复区域执行修复操作以及撤销对内存的历史待修复区域所执行的修复操作。
本申请实施例还提供了一种内存故障分析系统,包括:中央处理器CPU和带外控制器;CPU与带外控制器连接。带外控制器用于执行上述实施例中的方法;CPU用于执行上述实施例中的方法。
本申请实施例还提供了一种计算机设备,包括:内存故障分析系统。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,处理器与存储器连接,存储器存储有计算机执行指令,处理器执行该计算机执行指令时实现上述实施例中的内存故障分析方法。本申请实施例对计算机设备的具体形式不作任何限制。例如,计算机设备具体可以是终端装置,也可以是网络设备。其中,终端装置可以被称为:终端、用户设备(user equipment,UE)、终端设备、接入终端、用户单元、用户站、移动站、远方站、远程终端、移动设备、用户终端、无线通信设备、用户代理或用户装置等。终端装置具体可以是手机、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personalcomputer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等。网络设备具体可以是服务器等。其中,服务器可以是一个物理或逻辑服务器,也可以是有两个或两个以上分担不同职责的物理或逻辑服务器、相互协同来实现服务器的各项功能。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当该计算机程序在计算机上运行时,使得该计算机执行上文提供的任一种计算机设备所执行的方法。
关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
本申请实施例还提供了一种芯片。该芯片中集成了用于实现上述计算机设备的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。所述的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定集成电路(application specific integrated circuit,ASIC)、微处理器(digital signal processor,DSP),现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如SSD)等。
应注意,本申请实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-transitory)。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式来实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(digitalsubscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种内存故障分析方法,其特征在于,用于计算机设备,所述计算机设备包括中央处理器CPU和带外控制器,所述方法由带外控制器执行;所述方法包括:
基于内存发生故障的多个第一物理位置所在的第一物理区域满足第一预设条件,确定所述内存的第一物理区域存在第一故障类型;所述第一故障类型指示了所述内存的待修复区域包括所述第一物理区域;
基于所述内存发生故障的目标物理位置所在的第二物理区域满足第二预设条件,确定所述内存的第二物理区域存在第二故障类型;所述第二故障类型指示了所述内存的待修复区域包括所述第二物理区域,所述目标物理位置包括第二物理位置和至少一个所述第一物理位置,所述第二物理位置发生故障的时刻晚于每个所述第一物理位置发生故障的时刻;
若所述第二物理区域包括所述第一物理区域上的每个第一物理位置、且所述第一物理区域未包括所述第二物理位置,确定所述内存的故障类型包括所述第二故障类型、且不包括所述第一故障类型。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第二物理区域包括所述第一物理区域上的每个所述第一物理位置、所述第一物理区域包括所述第二物理位置、且所述第二物理区域的粒度小于所述第一物理区域的粒度,确定所述内存的故障类型包括所述第二故障类型;
若所述第二物理区域包括所述第一物理区域上的每个所述第一物理位置、所述第一物理区域包括所述第二物理位置、且所述第二物理区域的粒度大于所述第一物理区域的粒度,确定所述内存的故障类型包括所述第一故障类型;
若所述第二物理区域包括所述第一物理区域上的每个所述第一物理位置、所述第一物理区域包括所述第二物理位置、且所述第二物理区域的粒度等于所述第一物理区域的粒度,确定所述内存的故障类型包括所述第一故障类型或所述第二故障类型;
若所述第二物理区域未包括所述第一物理区域上的每个所述第一物理位置、且所述第一物理区域未包括所述第二物理位置,确定所述内存的故障类型包括所述第一故障类型和所述第二故障类型;
若所述第二物理区域未包括所述第一物理区域上的每个所述第一物理位置、所述第一物理区域包括所述第二物理位置、且所述二物理区域的粒度小于所述第一物理区域的粒度,确定所述内存的故障类型包括所述第一故障类型和第二故障类型,或确定所述内存的故障类型包括所述第一故障类型、且不包括第二故障类型;
若所述第二物理区域未包括所述第一物理区域上的每个所述第一物理位置、所述第一物理区域包括所述第二物理位置、且所述第二物理区域的粒度等于所述第一物理区域的粒度,确定所述内存的故障类型包括所述第一故障类型、且不包括所述第二故障类型。
3.根据权利要求1或2所述的方法,其特征在于,
若所述第一物理区域为所述内存的第一存储行,所述第一故障类型为行故障;所述第一物理区域满足第一预设条件,确定所述内存的第一物理区域存在第一故障类型,包括:所述第一存储行上的所述第一物理位置的数量大于或等于第一预设阈值,确定所述内存的第一存储行存在所述行故障;
若所述第一物理区域为所述内存的第一存储列,所述第一故障类型为列故障;所述第一物理区域满足第一预设条件,确定所述内存的第一物理区域存在第一故障类型,包括:所述第一存储列上的所述第一物理位置的数量大于或等于第二预设阈值,确定所述内存的第一存储列存在所述列故障;
若所述第一物理区域为所述内存的目标存储阵列,所述第一故障类型为阵列故障;所述第一物理区域满足第一预设条件,确定所述内存的第一物理区域存在第一故障类型,包括:所述目标存储阵列上的所述第一物理位置所在的存储行的数量大于或等于第三预设阈值、且所述目标存储阵列上的所述第一物理位置所在的存储列的数量大于或等于第四预设阈值,确定所述目标存储阵列存在所述阵列故障。
4.根据权利要求1-3中任一项所述的方法,其特征在于,
若所述第二物理区域为所述内存的第二存储行,所述第二故障类型为行故障;所述第二物理区域满足第二预设条件,确定所述内存的第二物理区域存在第二故障类型,包括:所述第二存储行上的所述目标物理位置的数量大于或等于第五预设阈值,确定所述内存的第二存储行存在所述行故障;
若所述第二物理区域为所述内存的第二存储列,所述第二故障类型为列故障;所述第二物理区域满足第二预设条件,确定所述内存的第二物理区域存在第二故障类型,包括:所述第二存储列上的所述目标物理位置的数量大于或等于第六预设阈值,确定所述内存的第二存储列存在所述列故障;
若所述第二物理区域包括所述内存的目标存储阵列,第二故障类型为阵列故障;所述第二物理区域满足第二预设条件,确定所述内存的第二物理区域存在第二故障类型,包括:所述目标存储阵列上的所述目标物理位置所在的存储行的数量大于或等于第七预设阈值、且所述目标存储阵列上的所述目标物理位置所在的存储列的数量大于或等于第八预设阈值,确定所述目标存储阵列存在所述阵列故障。
5.根据权利要求1-4中任一项所述的方法,其特征在于,
所述第一故障类型包括列故障,所述第二故障类型包括行故障;或
所述第一故障类型包括行故障,所第二故障类型包括列故障;或
所述第一故障类型包括存储阵列故障,所述第二故障类型包括行故障或列故障;或
所述第一故障类型包括行故障和/或列故障,所述第二故障类型包括存储阵列故障。
6.根据权利要求1-5中任一项所述的方法,其特征在于,
所述多个第一物理位置为所述内存在第一时间窗口内发生故障的物理位置;
所述目标物理位置为所述内存在第二时间窗口内发生故障的物理位置;所述第二时间窗口包括所述第二物理位置发生故障的时刻。
7.根据权利要求1-5中任一项所述的方法,其特征在于,
所述多个第一物理位置为第一当前时刻之前所述内存发生故障的预设数量的物理位置;
所述目标物理位置为第二当前时刻之前所述内存发生故障的预设数量的物理位置;所述第二当前时刻晚于所述第二物理位置发生故障的时刻。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述方法还包括:
基于所述内存的第一物理区域存在所述第一故障类型,向所述CPU发送第一故障修复请求,所述第一故障修复请求用于请求对所述内存的第一物理区域执行修复操作;
基于确定所述内存的故障类型包括所述第二故障类型、且不包括所述第一故障类型,向所述CPU发送第二故障修复请求,所述第二故障修复请求用于请求撤销对所述内存的第一物理区域所执行的修复操作,并对所述内存的第二物理区域执行修复操作。
9.一种内存故障分析方法,其特征在于,用于计算机设备,所述计算机设备包括中央处理器CPU和带外控制器,所述方法由所述CPU执行;所述方法包括:
基于接收到的第一故障修复请求,对内存的第一物理区域执行修复操作;所述第一故障修复请求是所述带外控制器基于所述内存的所述第一物理区域存在第一故障类型发送的;
基于接收到的第二故障修复请求,撤销对所述内存的第一物理区域所执行的修复操作,并对所述内存的第二物理区域执行修复操作;所述第二故障修复请求是所述带外控制器基于确定所述内存的故障类型包括所述第二物理区域存在的第二故障类型、且不包括第一物理区域存在的第一故障类型发送的。
10.一种计算机设备,其特征在于,包括:中央处理器CPU、带外控制器和内存;其中,所述带外控制器与所述CPU连接,所述CPU与所述内存连接;
所述带外控制器用于基于所述内存发生故障的多个物理位置确定所述内存的当前故障类型,以及基于所述内存的当前故障类型向所述CPU发送故障修复请求;所述当前故障类型用于指示所述内存的当前待修复区域,所述故障修复请求用于请求对所述内存的当前待修复区域执行修复操作以及撤销对所述内存的历史待修复区域所执行的修复操作;
所述CPU用于基于所述带外控制器的所述故障修复请求,对所述内存的当前待修复区域执行修复操作以及撤销对所述内存的历史待修复区域所执行的修复操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211312307.6A CN115686901B (zh) | 2022-10-25 | 2022-10-25 | 内存故障分析方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211312307.6A CN115686901B (zh) | 2022-10-25 | 2022-10-25 | 内存故障分析方法及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115686901A true CN115686901A (zh) | 2023-02-03 |
CN115686901B CN115686901B (zh) | 2023-08-04 |
Family
ID=85099135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211312307.6A Active CN115686901B (zh) | 2022-10-25 | 2022-10-25 | 内存故障分析方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115686901B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4483001A (en) * | 1982-06-16 | 1984-11-13 | International Business Machines Corporation | Online realignment of memory faults |
EP0531177A1 (fr) * | 1991-08-14 | 1993-03-10 | Bull S.A. | Procédé de réparation et outil de maintenance et d'aide à la réparation mettant en oeuvre le procédé |
US20110283135A1 (en) * | 2010-05-17 | 2011-11-17 | Microsoft Corporation | Managing memory faults |
CN103514068A (zh) * | 2012-06-28 | 2014-01-15 | 北京百度网讯科技有限公司 | 内存故障自动定位方法 |
CN105893166A (zh) * | 2016-04-29 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | 一种处理内存错误的方法及装置 |
CN106133704A (zh) * | 2015-01-19 | 2016-11-16 | 华为技术有限公司 | 内存故障隔离方法和装置 |
CN106293984A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种计算机故障自动处理方式以及装置 |
CN110046061A (zh) * | 2019-03-01 | 2019-07-23 | 华为技术有限公司 | 内存错误处理方法和装置 |
CN113176963A (zh) * | 2021-04-29 | 2021-07-27 | 山东英信计算机技术有限公司 | 一种PCIe故障自修复方法、装置、设备及可读存储介质 |
CN113821364A (zh) * | 2020-06-20 | 2021-12-21 | 华为技术有限公司 | 内存故障的处理方法、装置、设备及存储介质 |
CN114064333A (zh) * | 2020-08-05 | 2022-02-18 | 华为技术有限公司 | 一种内存故障处理方法和装置 |
CN114860487A (zh) * | 2022-04-02 | 2022-08-05 | 阿里巴巴(中国)有限公司 | 一种内存故障识别方法及一种内存故障隔离方法 |
CN114968652A (zh) * | 2022-07-09 | 2022-08-30 | 超聚变数字技术有限公司 | 故障处理方法及计算设备 |
CN115168088A (zh) * | 2022-07-08 | 2022-10-11 | 超聚变数字技术有限公司 | 一种针对内存的不可纠正错误的修复方法及装置 |
CN115168087A (zh) * | 2022-07-08 | 2022-10-11 | 超聚变数字技术有限公司 | 一种确定内存故障的修复资源粒度的方法及装置 |
-
2022
- 2022-10-25 CN CN202211312307.6A patent/CN115686901B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4483001A (en) * | 1982-06-16 | 1984-11-13 | International Business Machines Corporation | Online realignment of memory faults |
EP0531177A1 (fr) * | 1991-08-14 | 1993-03-10 | Bull S.A. | Procédé de réparation et outil de maintenance et d'aide à la réparation mettant en oeuvre le procédé |
US20110283135A1 (en) * | 2010-05-17 | 2011-11-17 | Microsoft Corporation | Managing memory faults |
CN103514068A (zh) * | 2012-06-28 | 2014-01-15 | 北京百度网讯科技有限公司 | 内存故障自动定位方法 |
CN106133704A (zh) * | 2015-01-19 | 2016-11-16 | 华为技术有限公司 | 内存故障隔离方法和装置 |
CN105893166A (zh) * | 2016-04-29 | 2016-08-24 | 浪潮电子信息产业股份有限公司 | 一种处理内存错误的方法及装置 |
CN106293984A (zh) * | 2016-08-11 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种计算机故障自动处理方式以及装置 |
CN114579340A (zh) * | 2019-03-01 | 2022-06-03 | 超聚变数字技术有限公司 | 内存错误处理方法和装置 |
CN110046061A (zh) * | 2019-03-01 | 2019-07-23 | 华为技术有限公司 | 内存错误处理方法和装置 |
CN113821364A (zh) * | 2020-06-20 | 2021-12-21 | 华为技术有限公司 | 内存故障的处理方法、装置、设备及存储介质 |
CN114064333A (zh) * | 2020-08-05 | 2022-02-18 | 华为技术有限公司 | 一种内存故障处理方法和装置 |
CN113176963A (zh) * | 2021-04-29 | 2021-07-27 | 山东英信计算机技术有限公司 | 一种PCIe故障自修复方法、装置、设备及可读存储介质 |
CN114860487A (zh) * | 2022-04-02 | 2022-08-05 | 阿里巴巴(中国)有限公司 | 一种内存故障识别方法及一种内存故障隔离方法 |
CN115168088A (zh) * | 2022-07-08 | 2022-10-11 | 超聚变数字技术有限公司 | 一种针对内存的不可纠正错误的修复方法及装置 |
CN115168087A (zh) * | 2022-07-08 | 2022-10-11 | 超聚变数字技术有限公司 | 一种确定内存故障的修复资源粒度的方法及装置 |
CN114968652A (zh) * | 2022-07-09 | 2022-08-30 | 超聚变数字技术有限公司 | 故障处理方法及计算设备 |
Non-Patent Citations (1)
Title |
---|
刘睿涛: "基于统计数据的超级计算机内存故障分析", 《计算机工程》 * |
Also Published As
Publication number | Publication date |
---|---|
CN115686901B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8214580B2 (en) | Solid state drive with adjustable drive life and capacity | |
CN106463179B (zh) | 利用存储器控制器处理数据错误事件的方法、装置和系统 | |
US7954021B2 (en) | Solid state drive with flash sparing | |
CN102081574B (zh) | 用于加快系统的唤醒时间的方法和系统 | |
US20110154097A1 (en) | Field replaceable unit failure determination | |
US9804993B1 (en) | Data volume placement techniques | |
CN105468484A (zh) | 用于在存储系统中确定故障位置的方法和装置 | |
US20120072767A1 (en) | Recovery of failed disks in an array of disks | |
KR20080016435A (ko) | 메모리 컨트롤러 및 메모리 제어 방법 | |
US20230185659A1 (en) | Memory Fault Handling Method and Apparatus | |
CN114968652A (zh) | 故障处理方法及计算设备 | |
WO2024007765A1 (zh) | 一种确定内存故障的修复资源粒度的方法及装置 | |
US20060236035A1 (en) | Systems and methods for CPU repair | |
CN110737924A (zh) | 一种数据保护的方法和设备 | |
US8176388B1 (en) | System and method for soft error scrubbing | |
US20130145111A1 (en) | Memory control device, information processing device, and control method for memory control device | |
US11294591B2 (en) | Apparatus configured to create extended configuration proposal of storage system including multiple notes | |
US20120017116A1 (en) | Memory control device, memory device, and memory control method | |
US7546489B2 (en) | Real time event logging and analysis in a software system | |
CN115686901B (zh) | 内存故障分析方法及计算机设备 | |
US7603582B2 (en) | Systems and methods for CPU repair | |
CN115421947A (zh) | 内存故障处理方法、装置和存储介质 | |
CN116841688A (zh) | 虚拟机故障迁移方法、装置及其应用 | |
CN115269245B (zh) | 一种内存故障处理方法及计算设备 | |
CN115391072A (zh) | 内存故障处理方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |