CN114356984B - 标记存储器的风险状态的方法、装置、设备及存储介质 - Google Patents

标记存储器的风险状态的方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114356984B
CN114356984B CN202111601789.2A CN202111601789A CN114356984B CN 114356984 B CN114356984 B CN 114356984B CN 202111601789 A CN202111601789 A CN 202111601789A CN 114356984 B CN114356984 B CN 114356984B
Authority
CN
China
Prior art keywords
memory
risk
correctable error
risk determination
fix
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.)
Active
Application number
CN202111601789.2A
Other languages
English (en)
Other versions
CN114356984A (zh
Inventor
周鹏
谢飞
曾峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202111601789.2A priority Critical patent/CN114356984B/zh
Publication of CN114356984A publication Critical patent/CN114356984A/zh
Application granted granted Critical
Publication of CN114356984B publication Critical patent/CN114356984B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24564Applying rules; Deductive queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2462Approximate or statistical queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开的实施例提供了标记存储器的风险状态的方法、装置、设备及存储介质。该标记存储器的风险状态的方法包括:基于从存储器读取的对象数据的校验结果生成统计数据,其中统计数据与对象数据的校验结果包括的可纠正错误相关联;判定统计数据与对应的阈值之间的关系是否满足多个风险判定规则中的一个风险判定规则;以及响应于该关系满足该一个风险判定规则,将该存储器标记为与该一个风险判定规则相对应的风险状态。该标记存储器的风险状态的方法可以实现存储器的风险状态的标记,提高系统健壮性与稳定性。

Description

标记存储器的风险状态的方法、装置、设备及存储介质
技术领域
本公开的实施例涉及存储器领域,并且更具体地,涉及一种标记存储器的风险状态的方法、装置、设备及存储介质。
背景技术
存储器,例如双倍数据速率(Double Data Rate,DDR)存储器在工作过程中难免会受到诸如电磁等环境因素的干扰,从而导致DDR存储器出现错误。例如,对于服务器而言,其对DDR数据可靠性要求比较高,DDR存储器纠错技术就能提高服务器存储器的稳定性和纠错能力,例如支持错误检查和纠正(Error Correcting Code,ECC)的内存条可以提高服务器存储器的稳定性和纠错能力。
对于某种支持ECC的内存条而言,其用于ECC的冗余位是固定,其纠错的位数/位宽和位置往往存在限制,因而支持ECC的内存条的纠错能力存在限制。当内存颗粒的错误超出了该支持ECC的内存条的纠错能力,系统就会报出不可纠正错误(UCE错误)。在出现所采用的ECC算法的不可纠正错误的情况下,一般就会丢失数据并且数据无法被回复。数据的丢失将影响处理器或其他计算单元执行相应运算,导致相关功能或应用无法正常运行,甚至引起宕机。如此,影响了系统健壮性与稳定性。
存在提高系统健壮性与稳定性的需要。
发明内容
本公开的至少一实施例公开了标记存储器的风险状态的方法、装置、电子设备及存储介质,用于提高系统健壮性与稳定性。
本公开的第一方面提供了一种标记存储器的风险状态的方法,包括:基于从存储器读取的对象数据的校验结果生成统计数据,其中统计数据与对象数据的校验结果包括的可纠正错误相关联;确定统计数据与对应的阈值之间的关系是否满足多个风险判定规则中的一个风险判定规则;以及响应于该关系满足该一个风险判定规则,将存储器标记为与该一个风险判定规则相对应的风险状态。
例如,根据本公开的第一方面提供的方法,统计数据包括以下中的至少一种:可纠正错误出现的位置、存储器的可纠正错误连续出现的次数CE_con、存储器的可纠正错误出现的总次数CE_ALL、可纠正错误连续出现在相同位置的次数CE_Fix,并且其中可纠正错误阈值包括以下中的至少一种:存储器的可纠正错误连续出现的次数的阈值CE_con_Th、存储器的可纠正错误出现的总次数的阈值CE_ALL_Th、可纠正错误连续出现在相同位置的次数的阈值CE_Fix_Th。
例如,根据本公开的第一方面提供的方法,基于从存储器读取的对象数据的校验结果生成统计数据,包括:响应于在存储器中连续出现可纠正错误,对在存储器中连续出现可纠正错误的次数进行计数;以及响应于在存储器中未连续出现可纠正错误,对计数清零。
例如,根据本公开的第一方面提供的方法,基于从存储器读取的对象数据的校验结果生成统计数据,包括:响应于可纠正错误连续出现在相同位置,对可纠正错误连续出现在相同位置的次数进行计数;以及响应于可纠正错误未连续出现在相同位置,对计数清零。
例如,根据本公开的第一方面提供的方法,存储器包括多个内存颗粒,位置包括内存颗粒位置或者内存颗粒中的比特位置。
例如,根据本公开的第一方面提供的方法,风险判定规则包括第一风险判定规则、第二风险判定规则以及第三风险判定规则,其中第一风险判定规则为:CE_ALL<70%CE_All_Th,且CE_Fix<70%CE_Fix_Th,且CE_con<CE_con_Th;第二风险判定规则为:CE_con>=CE_con_Th,或CE_All_Th>CE_ALL>=70%CE_All_Th,或CE_Fix_Th>CE_Fix>=70%CE_Fix_Th;第三风险判定规则为:已出现不可纠正错误,或CE_ALL>=CE_All_Th,或CE_Fix>=CE_Fix_Th。
例如,根据本公开的第一方面提供的方法,使用绿色标记将存储器标记为与第一风险判定规则相对应的风险状态,以指示存储器无风险;使用黄色标记将存储器标记为与第二风险判定规则相对应的风险状态,以指示存储器存在风险;并且使用红色标记将存储器标记为与第三风险判定规则相对应的风险状态,以指示存储器已经坏掉。
本公开的第二方面提供了一种标记存储器的风险状态的装置,包括:统计单元,被配置为基于从存储器读取的对象数据的校验结果生成统计数据,其中统计数据与对象数据的校验结果包括的可纠正错误相关联;风险判定单元,被配置为判定统计数据与对应的阈值之间的关系是否满足多个风险判定规则中的一个风险判定规则;以及标记单元,被配置为响应于该关系满足该一个风险判定规则,将存储器标记为与该一个风险判定规则相对应的风险状态。
例如,根据本公开的第二方面提供的装置,统计数据包括以下中的至少一种:可纠正错误出现的位置、存储器的可纠正错误连续出现的次数CE_con、存储器的可纠正错误出现的总次数CE_ALL、可纠正错误连续出现在相同位置的次数CE_Fix,并且可纠正错误阈值包括以下中的至少一种:存储器的可纠正错误连续出现的次数的阈值CE_con_Th、存储器的可纠正错误出现的总次数的阈值CE_ALL_Th、可纠正错误连续出现在相同位置的次数的阈值CE_Fix_Th。
例如,根据本公开的第二方面提供的装置,基于从存储器读取的对象数据的校验结果生成统计数据,包括:响应于在存储器中连续出现可纠正错误,对在存储器中连续出现可纠正错误的次数进行计数;以及响应于在存储器中未连续出现可纠正错误,对计数清零。
例如,根据本公开的第二方面提供的装置,基于从存储器读取的对象数据的校验结果生成统计数据,包括:响应于可纠正错误连续出现在相同位置,对可纠正错误连续出现在相同位置的次数进行计数;以及响应于可纠正错误未连续出现在相同位置,对计数清零。
例如,根据本公开的第二方面提供的装置,存储器包括多个内存颗粒,位置包括内存颗粒位置或者多个内存颗粒中至少之一中的比特位置。
例如,根据本公开的第二方面提供的装置,风险判定规则包括第一风险判定规则、第二风险判定规则以及第三风险判定规则,其中第一风险判定规则为:CE_ALL<70%CE_All_Th,且CE_Fix<70%CE_Fix_Th,且CE_con<CE_con_Th;第二风险判定规则为:CE_con>=CE_con_Th,或CE_All_Th>CE_ALL>=70%CE_All_Th,或CE_Fix_Th>CE_Fix>=70%CE_Fix_Th;第三风险判定规则为:已出现不可纠正错误,或CE_ALL>=CE_All_Th,或CE_Fix>=CE_Fix_Th。
例如,根据本公开的第二方面提供的装置,使用绿色标记将存储器标记为与第一风险判定规则相对应的风险状态,以指示存储器无风险;使用黄色标记将存储器标记为与第二风险判定规则相对应的风险状态,以指示存储器存在风险;并且使用红色标记将存储器标记为与第三风险判定规则相对应的风险状态,以指示存储器已经坏掉。
本公开的第三方面提供了一种电子设备,包括:处理器;存储器,包括一个或多个计算机程序模块;其中,一个或多个计算机程序模块被存储在存储器中并被配置为由处理器执行,一个或多个计算机程序模块包括用于执行本公开所述的各个方法的指令。
本公开的第四方面提供了一种非暂存计算机可读存储介质,其上存储有可执行指令,其中,可执行指令在被处理器执行时,使得处理器执行本公开所述的各个方法。
本公开的各个方面在于,通过从存储器读取的对象数据的校验结果生成的统计数据与对应的阈值之间的关系是否满足某个风险判定规则,将存储器标记为与该风险相对应的风险状态,实现存储器的风险状态的标记,进而可以指导进行补救措施以规避系统宕机的风险,提高系统健壮性与稳定性。
附图说明
为了更清楚地说明本公开的实施例的技术方案,下面将对本公开的实施例的附图作简单地介绍。明显地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1示出了根据本公开的至少一实施例的标记存储器的风险状态的方法的流程图。
图2示出了根据本公开的至少一实施例的标记存储器的风险状态的装置的示意图。
图3示出了根据本公开的至少一实施例的示例性应用场景示意图。
图4示出了根据本公开的至少一实施例的图3的示例性应用场景下标记内存条的风险状态的示意图。
图5示出了根据本公开的至少一实施例的电子设备的示意图。
图6示出了根据本公开的至少一实施例的另一电子设备的示意图
图7示出了根据本公开的至少一实施例的非瞬时可读存储介质的示意图。
具体实施方式
现在将详细参考本公开的具体实施例,在附图中例示了本公开的示例。尽管将结合具体实施例描述本公开,但将理解,不是想要将本公开限于描述的实施例。相反,想要覆盖由所附权利要求限定的在本公开的精神和范围内包括的变更、修改和等价物。应注意,本文描述的方法操作都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被实现为物理实体或逻辑实体、或者两者的组合。
本公开中使用的术语是考虑到关于本公开的功能而在本领域中当前广泛使用的那些通用术语,但是这些术语可以根据本领域普通技术人员的意图、先例或本领域新技术而变化。此外,特定术语可以由申请人选择,并且在这种情况下,其详细含义将在本公开的详细描述中描述。因此,说明书中使用的术语不应理解为简单的名称,而是基于术语的含义和本公开的总体描述。
本公开中使用了流程图来说明根据本公开的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,根据需要,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
为便于理解,首先对本公开的至少一实施例涉及的相关术语进行解释:
可纠正错误(Correctable Error,CE),简称CE错误,是指硬件(芯片)基于自身所采用的ECC算法可以纠正的错误。由于内存控制器设计不一样,对于可纠正错误的能力可能存在不同。例如,主流x86服务器的内存控制器(支持带ECC的内存条),在一次读操作中,一个4位的数据位宽(X4宽度/位宽)的内存颗粒内的任意错误都是可纠正的。如果内存的组(Rank)是由8位的数据位宽(X8宽度/位宽)的内存颗粒组成,其纠正能力还是与X4宽度的内存颗粒及位置保持一致,在X8宽度的一个内存颗粒中,包括DQ0-7的8位数据,其中只有DQ0-3,或者DQ4-7可以被纠正。
不可纠正错误(Uncorrectable Error,UCE),简称UCE错误,是指硬件(芯片)基于自身所采用的ECC算法无法纠正的错误。例如,在一次读取操作中,错误数据位分布在不同X4宽度的内存颗粒范围,即出现跨内存颗粒的错误,以现有内存控制设计来看,属于不可纠正错误。又例如,内存的组是由X8宽度的内存颗粒组成,其纠正能力还是与X4宽度的内存颗粒及位置保持一致,在X8宽度的一个内存颗粒中,如果出错位置是例如DQ2-5,虽然是X4宽度但位置与X4宽度不对应,其中出错位置DQ2-3对应于一个X4位宽,而出错位置DQ4-5对应于另一X4位宽,即一个内存颗粒的出错位置跨不同的X4位宽时,也无法纠正。又例如,如果内存的组是由X8宽度的内存颗粒组成,其纠正能力还是与X4宽度的内存颗粒及位置保持一致,在X8的一个内存颗粒中,如果是例如DQ0-4,错误的位宽(此时为X5位宽)超过了可以被纠正的位宽(X4),也无法纠正。
由于DDR存储器规范的升级,存储器容量的增加,存储器可靠性的要求就越来越高。目前服务器上的存储器(例如以内存条的形式体现)出现坏的内存颗粒时,需要软件去读取信息并进行判断来得出,并且这种方法仅能获取当前内存的出错状况,一旦出现不可纠正错误以后,就只能重启,造成了系统宕机等风险。因此,相关技术无法有效的标记内存的风险状态(例如,内存是否存在风险的状态、或不同风险等级的状态),对存在风险的内存,没有足够的预警机制。
在本公开的实施例中,为了让系统尽量不触发不可纠正错误,需要准确并实时的知道当前内存的风险状态,例如知道当前哪些内存条是良好的或者工作正常的,那些内存条是坏的,哪些内存条是具有潜在风险的(即具有变坏的风险),并且将这些风险状态标记出来。进而,该标注可以提供软件或系统或者操作员进行补救措施,例如搬移数据,或是下电更换内存条,以避免系统宕机,提高内存使用的健壮性与稳定性。
本公开的至少一实施例提供了标记存储器的风险状态的方法、装置、设备及存储介质,用于建立让存储器尽量不触发不可纠正错误的预警机制,以规避系统宕机的风险,提高系统健壮性与稳定性。
以下参照附图,对本公开的实施例的标记存储器的风险状态的方法、装置、设备及存储介质分别进行详细介绍。
首先,以下介绍本公开的实施例的标记存储器的风险状态的方法,该标记存储器的风险状态的方法可以应用于如下文进一步描述的标记存储器的风险状态的装置、电子设备、其他合适的软件或硬件、或硬件和软件的结合。
图1示出了根据本公开的至少一实施例的标记存储器的风险状态的方法的流程图。标记存储器的风险状态的方法可以包括步骤S102~S106。
在步骤S102中,基于从存储器读取的对象数据的校验结果生成统计数据,其中统计数据与对象数据的校验结果包括的可纠正错误相关联。
对象数据可以是指代校验操作的对象数据,例如对象数据可以在校验操作中被译码和纠错(如有必要),以得到用于执行计算以实现预定功能的数据或指令。例如,可以通过ECC算法(例如里德所罗门(Reed-Solomon,RS)算法或汉明码算法等)对对象数据进行校验操作来确定对象数据是否包括错误、或者当包括错误时,该错误是可纠正错误还是不可纠正错误,并且校验结果可以包括例如可纠正错误的相关信息,例如可纠正错误的位置。
在步骤S104中,确定统计数据与对应的阈值之间的关系是否满足多个风险判定规则中的一个风险判定规则。
由于统计数据与存储器出现的错误相关联,因此统计数据可以很好的表征存储器在一段历史时间内的工作状况。阈值可以由大量测试评估来决定,不同的内存条、不同内存条提供商可能会有变化。风险判定规则以及风险判定规则的数量可以根据具体的使用条件而变化。
在步骤S106中,响应于该关系满足该一个风险判定规则,将存储器标记为与该一个风险判定规则相对应的风险状态。
在统计数据与对应的阈值之间的关系满足某个风险判定规则时,表示当前存储器的工作状况与该风险判定规则所指示的风险状态相对应,因此可以将存储器标记为该风险状态。
如上所述,本公开的至少一实施例所公开的标记存储器的风险状态的方法在于,通过从存储器读取的对象数据的校验结果生成的统计数据与对应的阈值之间的关系是否满足某个风险判定规则,将存储器标记为与该风险相对应的风险状态,实现存储器的风险状态的标记,进而可以指导进行补救措施以规避系统宕机的风险,提高系统健壮性与稳定性。
存储器的错误是逐渐积累的,一般不存在一开始就报出不可纠正错误的情况。因此,利用上述标记存储器的风险状态的方法还可以提供在存储器进入不可纠正错误从而引起系统宕机之前标记存储器存在风险的预警机制,从而可以引导系统或操作员进行补救错误,避免系统宕机。
以下对本公开的至少一实施例的标记存储器的风险状态的方法的其他方面进行详细的描述。
在一些实施例中,统计数据可以包括以下中的至少一种:可纠正错误出现的位置、存储器的可纠正错误连续出现的次数CE_con、存储器的可纠正错误出现的总次数CE_ALL、可纠正错误连续出现在相同位置的次数CE_Fix。
本公开的发明人发现,CE_con、CE_ALL以及CE_Fix等统计数据可很好的表征存储器在一段历史时间内的工作状况。
在一些实施例中,可纠正错误阈值可以包括以下中的至少一种:存储器的可纠正错误连续出现的次数的阈值CE_con_Th、存储器的可纠正错误出现的总次数的阈值CE_ALL_Th、可纠正错误连续出现在相同位置的次数的阈值CE_Fix_Th。
与统计数据相对应的,设置上述阈值可以便于将统计数据与对应的阈值进行比较。
在一些实施例中,基于从存储器读取的对象数据的校验结果生成统计数据可以包括:响应于在存储器中连续出现可纠正错误,对在存储器中连续出现可纠正错误的次数进行计数;以及响应于在存储器中未连续出现可纠正错误,对计数清零。
以这种方式,可以生成关于存储器中连续出现可纠正错误的次数的统计数据。
在一些实施例中,基于从存储器读取的对象数据的校验结果生成统计数据可以包括:响应于可纠正错误连续出现在相同位置,对可纠正错误连续出现在相同位置的次数进行计数;以及响应于可纠正错误未连续出现在相同位置,对计数清零。
以这种方式,可以生成关于可纠正错误连续出现在相同位置的次数的统计数据。
在一些实施例中,存储器可以包括多个内存颗粒,位置可以包括内存颗粒位置或者内存颗粒中的比特位置。
以这种方式,可以判断可纠正错误是否出现在相同的内存颗粒,或者出现在同一内存颗粒中的某一比特位置,与仅判断存储器中的可纠正错误相比,可以更精细的判断确定当前存储器是否存在故障。
在一些实施例中,风险判定规则可以包括第一风险判定规则、第二风险判定规则以及第三风险判定规则,其中
第一风险判定规则为:
CE_ALL<70%CE_All_Th,且
CE_Fix<70%CE_Fix_Th,且
CE_con<CE_con_Th;
第二风险判定规则为:
CE_con>=CE_con_Th,或
CE_All_Th>CE_ALL>=70%CE_All_Th,或
CE_Fix_Th>CE_Fix>=70%CE_Fix_Th;
第三风险判定规则为:
已出现不可纠正错误,或
CE_ALL>=CE_All_Th,或
CE_Fix>=CE_Fix_Th。
上述风险判定规则仅是示例性的并且可以改变,在一些情况下,上述风险判定规则可以包括更多或更少的风险判定规则。例如,可以存在两种风险判定规则,或者四种风险判定规则,以将存储器的风险状态标记为更多或更少的风险状态。在一些情况下,统计数据与对应的可纠正错误阈值之间的关系可以改变。例如,上述示例中的“70%”可以改变为“60%”或其他的关系值。在一些情况下,风险判定规则所使用的统计数据与对应的可纠正错误阈值所组成的对的数量可以改变。例如,风险判定规则可以仅使用CE_Fix_Th与CE_Fix所组成的对,而不使用其他统计数据和对应的可纠正错误阈值所组成的对。
在一些实施例中,可以使用绿色标记将存储器标记为与第一风险判定规则相对应的风险状态,以指示存储器无风险;可以使用黄色标记将存储器标记为与第二风险判定规则相对应的风险状态,以指示存储器存在风险;并且可以使用红色标记将存储器标记为与第三风险判定规则相对应的风险状态,以指示存储器已经坏掉。
虽然在上述示例中以颜色的方式标记存储器的风险状态,然而实施例不限于此,可以通过与文本(例如数值、文字等)、警报(例如警报声、警报指示信号等)、或者机器/操作人员可以感知的任何方式标记存储器的风险状态。另外,在一些实际的使用中,例如可以以不发出警报的方式标记存储器的不存在风险状态,并且可以以发出警报的方式标记存储器的存在风险状态。
为使本领域技术人员更好地理解和实现本公开的实施例,以下对能够实现上述参照图1所描述的标记存储器的风险状态的方法以及附加方面的标记存储器的风险状态的装置参照附图进行相应描述。
与本公开的至少一实施例提供的标记存储器的风险状态的方法相对应,本公开还提供了一种标记存储器的风险状态的装置。
图2示出了根据本公开的至少一实施例的标记存储器的风险状态的装置的示意图。
参照图2,本公开的实施例的标记存储器的风险状态的装置200包括统计单元210、风险判定单元220以及标记单元230。
统计单元210被配置为基于从存储器读取的对象数据的校验结果生成统计数据,其中统计数据与对象数据的校验结果包括的可纠正错误相关联。
风险判定单元220被配置为被配置为判定统计数据与对应的阈值之间的关系是否满足多个风险判定规则中的一个风险判定规则。
标记单元230被配置为响应于关系满足一个风险判定规则,将存储器标记为与一个风险判定规则相对应的风险状态。
如上所述,本公开的至少一实施例所公开的标记存储器的风险状态的装置在于,通过从存储器读取的对象数据的校验结果生成的统计数据与对应的阈值之间的关系是否满足某个风险判定规则,将存储器标记为与该风险相对应的风险状态,实现存储器的风险状态的标记,进而可以指导进行补救措施以规避系统宕机的风险,提高系统健壮性与稳定性。
以下对本公开的至少一实施例的标记存储器的风险状态的装置的其他方面进行详细的描述。
在一些实施例中,统计数据可以包括以下中的至少一种:可纠正错误出现的位置、存储器的可纠正错误连续出现的次数CE_con、存储器的可纠正错误出现的总次数CE_ALL、可纠正错误连续出现在相同位置的次数CE_Fix。
在一些实施例中,可纠正错误阈值可以包括以下中的至少一种:存储器的可纠正错误连续出现的次数的阈值CE_con_Th、存储器的可纠正错误出现的总次数的阈值CE_ALL_Th、可纠正错误连续出现在相同位置的次数的阈值CE_Fix_Th。
在一些实施例中,基于从存储器读取的对象数据的校验结果生成统计数据可以包括:响应于在存储器中连续出现可纠正错误,对在存储器中连续出现可纠正错误的次数进行计数;以及响应于在存储器中未连续出现可纠正错误,对计数清零。
在一些实施例中,基于从存储器读取的对象数据的校验结果生成统计数据可以包括:响应于可纠正错误连续出现在相同位置,对可纠正错误连续出现在相同位置的次数进行计数;以及响应于可纠正错误未连续出现在相同位置,对计数清零。
在一些实施例中,存储器可以包括多个内存颗粒,位置可以包括内存颗粒位置或者内存颗粒中的比特位置。
在一些实施例中,风险判定规则可以包括第一风险判定规则、第二风险判定规则以及第三风险判定规则,其中
第一风险判定规则为:
CE_ALL<70%CE_All_Th,且
CE_Fix<70%CE_Fix_Th,且
CE_con<CE_con_Th;
第二风险判定规则为:
CE_con>=CE_con_Th,或
CE_All_Th>CE_ALL>=70%CE_All_Th,或
CE_Fix_Th>CE_Fix>=70%CE_Fix_Th;
第三风险判定规则为:
已出现不可纠正错误,或
CE_ALL>=CE_All_Th,或
CE_Fix>=CE_Fix_Th。
在一些实施例中,可以使用绿色标记将存储器标记为与第一风险判定规则相对应的风险状态,以指示存储器无风险;可以使用黄色标记将存储器标记为与第二风险判定规则相对应的风险状态,以指示存储器存在风险;并且可以使用红色标记将存储器标记为与第三风险判定规则相对应的风险状态,以指示存储器已经坏掉。
以上仅结合图2描述了根据本公开的至少一实施例的标记存储器的风险状态的装置200的部分,并且标记存储器的风险状态的装置200的其余部分可以对本公开的结合图1描述的标记存储器的风险状态的方法的各个方面进行引用,并且根据本公开的结合图1描述的标记存储器的风险状态的方法的各个方面的效果同样可以映射到本公开的标记存储器的风险状态的装置200,在此不在赘述。
下面通过图3和图4来描述可以利用根据本公开的至少一实施例所提供的标记存储器的风险状态的方法或装置的示例应用场景。可以理解的是,图3和图4所示出的场景仅是示例性的,而没有穷尽列举说明上述标记存储器的风险状态的方法或装置的各个方面,并且结合图3和图4描述的各方面与结合图1和图2描述的各方面可以相互引用,而不超出本公开的范围。
图3示出了根据本公开的至少一实施例的示例性应用场景示意图。在图3的示例性应用场景中,根据本公开的至少一实施例所提供的标记存储器的风险状态的方法可以用于如以内存条形式体现的存储器中,以标记内存条的风险状态。
参见图3,可以设置可纠正错误阈值302。例如,可以通过基本输入输出系统(BIOS)或其他软件或硬件的方式设置可纠正错误阈值302。
示例性地,可纠正错误阈值302可以包括CE_Fix_Th、CE_ALL_Th以及CE_con_Th。下面对CE_Fix_Th、CE_ALL_Th以及CE_con_Th进行详细描述。
CE_Fix_Th:可纠正错误连续出现在相同位置的次数的阈值,表示针对存储器(图3中示出的内存条304),可纠正错误连续地出现在相同的位置的上限值。在本文中,出现在相同的位置的可纠正错误也称为固定可纠正错误。这里的位置可以包括内存条中的内存颗粒,或者内存颗粒中的比特位置(即在特定的DQ上出现可纠正错误)。
本公开的发明人发现,当可纠正错误连续出现在相同位置的次数达到CE_Fix_Th后,可以认为当前内存条中的内存颗粒或者内存颗粒中的比特位置已经出现故障,存在从可纠正错误转变为不可纠正错误的极大可能性。
CE_ALL_Th:存储器的可纠正错误出现的总次数阈值,表示针对内存条304,可纠正错误出现的总次数的上限值,或者在一段时间内可纠正错误出现的总次数的上限值。
本公开的发明人发现,当存储器的可纠正错误出现的总次数达到CE_ALL_Th后,可以认为当前内存条已经积累了大量的可纠正错误,存在从可纠正错误转变为不可纠正错误的极大可能性。
CE_con_Th:存储器的可纠正错误连续出现的次数阈值,表示针对内存条304,可纠正错误连续出现的次数的上限值。
本公开的发明人发现,当存储器的可纠正错误连续出现的次数达到CE_con_Th后,可以认为当前内存条存在可纠正错误持续刷屏的现象,存在从可纠正错误转变为不可纠正错误的极大可能性。
在实际的应用中,CE_Fix_Th、CE_ALL_Th、CE_con_Th的值可以通过大量测试评估来确定。针对不同的内存条或者针对不同内存条的提供商,CE_ALL_Th的值可能存在差异。
下面结合图3描述统计数据。
可以根据读取指令从内存条304读取数据,这里的数据可以对应于上文描述的对象数据。例如,对象数据可以根据读取请求而具有对应的长度,对象数据的形式可以为数据位+校验值信息。随后,数据可以被送入ECC算法模块306。在ECC算法模块306中,可以通过ECC算法对数据进行校验,以例如指示数据是否包括错误、可纠正错误、不可纠正错误。例如,在ECC算法模块306中,可以通过对数据进行RS算法来指示该数据是否包括错误、可纠正错误、不可纠正错误。
在ECC算法模块306后,可以输出数据。例如当ECC算法模块306校验出数据没有错误时,可以直接输出经译码的数据(例如数据位)。另外,当ECC算法模块306校验出数据包括可纠正错误,可以对该数据进行纠错并且输出经纠错的数据。
继续回到ECC算法模块306,当在ECC算法模块306中校验出数据包括可纠正错误,可以生成统计数据,这里的统计数据与数据的校验结果包括的可纠正错误相关联。例如,在出现可纠正错误时,可以通过寄存器或存储器存储统计数据。在该示例中,统计数据可以存储在机器校验架构(MCA)模块(也称为错误处理机制模块)308中。在该示例中,ECC算法模块306和MCA模块308可以对应于上文的统计单元210。
示例性的统计数据可以包括CE_con、CE_ALL、CE_Fix、Device以及SYM。下面对这些统计数据进行描述。
CE_con:存储器的可纠正错误连续出现的次数,表示针对该内存条304,每连续出现一次可纠正错误,就对CE_con进行累加(例如加1),并且如果没有连续出现可纠正错误,则对CE_con进行清零。
CE_ALL:存储器的可纠正错误出现的总次数,表示针对该内存条304,每出现一次CE出错,就对CE_ALL进行累加(例如加1),并且如果未出现可纠正错误,则保持CE_ALL的当前数值。
CE_Fix:可纠正错误连续出现在相同位置的次数,表示针对该内存条304,每出现一次可纠正错误,且当前出现可纠正错误的位置与上一次出现可纠正错误的位置相同,就对CE_Fix进行累加(例如加1),并且如果该位置不相同,则将CE_Fix的值计数为1。
这里的位置可以是以下中至少一种,并且统计数据可以可选地包括该位置:
Device:可纠正错误出现的内存颗粒,表示当前出现可纠正错误的内存颗粒的位置。例如,Device为1可以指示第一内存颗粒出现可纠正错误。
SYM:可纠正错误出现的比特位置,表示当前出现可纠正错误的内存颗粒中的比特位置,基于SYM可以知道当前可纠正错误出现在哪个比特位置上。
因此,基于Device和/或SYM可以确定可纠正错误是否出现在同一内存颗粒的同一比特位置上。
可以理解的是,上面描述的统计数据仅是示例性的,可以生成与可纠正错误相关联的其他统计数据,并且统计数据也可以包括上述示出的统计数据的部分。
当前出现一次可纠正错误后,可以将上面的统计数据写入MCA模块308中,以备风险判定模块310查询使用。在风险判定模块310,可以基于统计数据和可纠正错误阈值判定内存条的风险状态。
下面结合图4描述使用风险判定模块310和标记模块312标记内存条的风险状态的详细示例。在该示例中,该风险判定模块310可以对应于上文的风险判定单元220,并且标记模块312可以对应于上文的标记单元230。
图4示出了根据本公开的至少一实施例的图3的示例性应用场景下标记内存条的风险状态的示意图。
在风险判定模块310,可以基于统计数据和可纠正错误阈值判定内存条的风险状态。在标记模块312中,可以基于风险判定模块310的结果标记内存条的风险状态。在该示例中,风险判定模块310和标记模块312分离示出,然而风险判定模块310和标记模块312分离也可以集成在一起。
下面对结合图4描述红色状态、黄色状态以及绿色状态以及相应的风险判定规则。
绿色状态:指示内存条无风险。
绿色状态的风险判定规则为:
CE_ALL<70%CE_All_Th,且
CE_Fix<70%CE_Fix_Th,且
CE_con<CE_con_Th。
黄色状态:指示内存条存在风险。
绿色状态的风险判定规则为:
CE_con>=CE_con_Th,或
CE_All_Th>CE_ALL>=70%CE_All_Th,或
CE_Fix_Th>CE_Fix>=70%CE_Fix_Th。
红色状态:指示内存条已经坏掉,需要及时替换。
红色状态的风险判定规则为:
已出现不可纠正错误,或
CE_ALL>=CE_All_Th,或
CE_Fix>=CE_Fix_Th。
参考图4,使用上述示例性风险判定规则,可以标记内存条304的风险状态。在图4所使用的风险判定规则中,示例性地,CE_ALL_Th可以为10000,CE_con_Th可以为100,CE_Fix_Th可以为10。
从图4中可以看出,在读取命令次数为14之前,Device的值发生变化,即在可纠正错误出现在内存颗粒1、可纠正错误出现在内存颗粒2、可纠正错误出现在内存颗粒5、可纠正错误出现在内存颗粒6或者未出现可纠正错误的状态之间变化,这表示出现可纠正错误的位置发生变化,因此该可纠正错误为随机错误。另外,在读取命令次数为14之前,CE_Fix经过几个命令就会被清零,这表明可纠正错误并不是连续出现,或者并不是出现在相同内存颗粒,因此同样可以确定该可纠正错误为随机错误。与此相对应的,统计数据与对应的可纠正错误阈值之间的关系满足绿色状态的风险判定规则(即CE_Fix<70%CE_Fix_Th),因此,标记模块312可以将当前的内存条标记为绿色状态(图4中以灰色阴影填充示出),以指示该内存条无风险。
继续参考图4,从读取命令次数为15开始之后,CE_con持续累加,表明连续出现可纠正错误,并且CE_Fix持续累加,且Device的值为2,这表明在内存颗粒2上连续出现可纠正错误。当读取命令次数为21时,CE_Fix的值为7,与对应的可纠正错误阈值(CE_Fix_Th为10)之间的关系满足黄色状态的风险判定规则(即CE_Fix_Th>CE_Fix>=70%CE_Fix_Th),则标记模块312可以将触发内存条304的风险状态变为黄色状态(图4中以点状阴影填充示出),以指示该内存条存在风险,即具有潜在称为不可纠正错误的风险。
当读取命令次数为24时,CE_Fix为10,与对应的可纠正错误阈值(CE_Fix_Th为10)之间的关系满足红色状态的风险判定规则(即CE_Fix>=CE_Fix_Th),则标记模块312可以将内存条304的风险状态标记为红色状态(图4中以斜线阴影填充示出),以指示内存条已经坏掉。
另外,参见图4,在读取命令次数为21-23时,CE_ALL与CE_All_Th之间的关系虽然仍然满足绿色状态的风险判定规则(即满足CE_ALL<70%CE_All_Th),然而鉴于此时CE_Fix与CE_Fix_Th之间的关系满足黄色状态的风险判定规则,标记模块312可以将内存条的风险状态标记为黄色状态。同样的,在读取命令次数为24时,标记模块312可以将内存条的风险状态标记为红色状态。
可以理解的是,上述风险判定规则仅是示例性的并且可以改变,在一些情况下,上述风险判定规则可以包括更多或更少的风险判定规则。例如,可以存在两种风险判定规则,或者四种风险判定规则,以将内存条的风险状态标记为更多或更少的状态。在一些情况下,统计数据与对应的可纠正错误阈值之间的关系可以改变。例如,上述示例中的“70%”可以改变为“60%”或其他的关系值。在一些情况下,风险判定规则所使用的统计数据与对应的可纠正错误阈值所组成的对的数量可以改变。例如,风险判定规则可以仅使用CE_Fix_Th与CE_Fix,CE_ALL与CE_All_Th所组成的对、CE_Fix与CE_Fix_Th所组成的对中的一个或多个。
另外,可以理解的是,虽然在上述示例中以颜色的方式标记内存条的风险状态,然而实施例不限于此,可以通过与文本(例如数值、文字等)、警报或机器或者操作人员可以感知的任何方式标记内存条的风险状态。
在上述结合图3和图4描述的示例性应用场景中,内存条状态的判定由风险判定模块310(例如实现为软件或硬件或软件和硬件的结合)来完成,风险判定模块310的输入为可纠正错误阈值及MCA模块中存储的统计数据,从而完成坏内存条与有风险的内存条的定位与标记,以便根据标记的结果采取进一步的措施,例如替换内存条或搬移内存条数据的操作等等,以规避系统宕机的风险,提高系统健壮性与稳定性。
图5示出了根据本公开的至少一实施例的电子设备500的示意图。如图5所示,电子设备500包括处理器510和存储器520。
存储器520包括一个或多个计算机程序模块521。一个或多个计算机程序模块521被存储在存储器520中并被配置为由处理器510执行,该一个或多个计算机程序模块521包括用于执行本公开的至少一实施例提供的标记存储器的风险状态的方法的指令,这些指令被处理器510执行时,可以执行本公开的至少一实施例提供的标记存储器的风险状态的方法及其附加方面的一个或多个步骤。存储器520和处理器510可以通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,处理器510可以是中央处理单元(CPU)、数字信号处理器(DSP)或者具有数据处理能力和/或程序执行能力的其他形式的处理单元,例如现场可编程门阵列(FPGA)等;例如,中央处理单元(CPU)可以为X86或ARM架构、RISC-V架构等。处理器510可以为通用处理器或专用处理器,可以控制电子设备500中的其他组件以执行期望的功能。
例如,存储器520可以包括一个或多个计算机程序产品的任意组合,计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。非易失性存储器例如可以包括只读存储器(ROM)、硬盘、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、USB存储器、闪存等。在计算机可读存储介质上可以存储一个或多个计算机程序模块521,处理器510可以运行一个或多个计算机程序模块521,以实现电子设备500的各种功能。在计算机可读存储介质中还可以存储各种应用程序和各种数据以及应用程序使用和/或产生的各种数据等。该电子设备500例如可以是片上系统(SOC)或者包括该SOC的计算机、电视、显示器等。该电子设备500的具体功能和技术效果可以参考上文中关于标记存储器的风险状态的方法及其附加方面的描述,此处不再赘述。
图6示出了根据本公开的至少一实施例的另一电子设备600的示意图。该电子设备600例如适于用来实施本公开的至少一实施例提供的标记存储器的风险状态的方法及其附加方面。需要注意的是,图6示出的电子设备600仅仅是一个示例,其不会对本公开的至少一实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)610,其可以根据存储在只读存储器(ROM)620中的程序或者从存储装置680加载到随机访问存储器(RAM)630中的程序而执行各种适当的动作和处理。在RAM 630中,还可以存储有电子设备600操作所需的各种程序和数据。处理装置610、ROM 620以及RAM 630通过总线640彼此相连。输入/输出(I/O)接口650也连接至总线640。
通常,以下装置可以连接至I/O接口650:例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置660;例如液晶显示器(LCD)、扬声器、振动器等的输出装置670;例如磁带、硬盘等的存储装置680;通信装置690。通信装置690可以允许电子设备600与其他电子设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但应理解的是,并不要求实施或具备所有示出的装置,电子设备600可以替代地实施或具备更多或更少的装置。
例如,本公开的至少一实施例提供的标记存储器的风险状态的方法及其附加方面可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述标记存储器的风险状态的方法及其附加方面的程序代码。在这样的实施例中,该计算机程序可以通过通信装置690从网络上被下载和安装,或者从存储装置680安装,或者从ROM 620安装。在该计算机程序被处理装置610执行时,可以执行本公开的至少一实施例提供的标记存储器的风险状态的方法及其附加方面。
本公开的至少一实施例还提供一种非瞬时可读存储介质。图7示出了根据本公开的至少一实施例的非瞬时可读存储介质700的示意图。如图7所示,非瞬时可读存储介质700上存储有计算机指令710,该计算机指令710被处理器执行时执行如上所述的标记存储器的风险状态的方法及其附加方面中的一个或多个步骤。
例如,该非瞬时可读存储介质700可以是一个或多个计算机可读存储介质的任意组合,例如,一个计算机可读存储介质包含用于基于从存储器读取的对象数据的校验结果生成统计数据的计算机可读的程序代码,另一个计算机可读存储介质包含用于确定统计数据与对应的阈值之间的关系是否满足多个风险判定规则中的一个风险判定规则的计算机可读的程序代码,另一个计算机可读存储介质包含用于响应于该关系满足该一个风险判定规则,将存储器标记为与该一个风险判定规则相对应的风险状的计算机可读的程序代码。
当然,上述各个程序代码也可以存储在同一个计算机可读介质中,本公开的实施例对此不作限制。
例如,当该程序代码由计算机读取时,计算机可以执行该计算机存储介质中存储的程序代码,执行例如本公开任一个实施例提供的标记存储器的风险状态的方法及其附加方面。
例如,存储介质可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、便携式紧致盘只读存储器(CD-ROM)、闪存、或者上述存储介质的任意组合,也可以为其他适用的存储介质。
可以理解,本文的框图可以表示体现所描述的实施例的原理的说明性电路系统或其他功能单元的概念图。类似地,可以理解,任何流程图等表示各种过程,这些过程可以基本上在计算机可读存储介质中表示,并且由计算机或处理器执行,无论是否明确示出了这样的计算机或处理器。包括功能块的各种元件的功能可以通过使用硬件(诸如电路硬件和/或能够以存储在上述计算机可读存储介质上的编码指令的形式执行软件的硬件)来提供。因此,这样的功能和所示的功能块将被理解为是硬件实施的和/或计算机实施的,因此是机器实施的。就硬件实施方式而言,功能块可以包括或涵盖但不限于数字信号处理器(digital signal processor,DSP)硬件、精简指令集处理器、硬件(例如,数字或模拟)电路系统,包括但不限于(多个)专用集成电路(application specific integrated circuit,ASIC)和/或(多个)现场可编程门阵列(field programmable gate array,FPGA),以及(在适当的情况下)能够执行这些功能的状态机。
就计算机实施方式而言,计算机通常被理解为包括一个或多个处理器或一个或多个控制器。当由计算机或处理器或控制器提供时,功能可以由单个专用计算机或处理器或控制器、单个共享计算机或处理器或控制器、或多个单独的计算机或处理器或控制器提供,其中一些可以是共享的或分布式的。
本公开中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本公开所提供的几个实施例中,应该理解到,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框/操作中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框/操作实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框/操作、以及框图和/或流程图中的方框/操作的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
需要说明的是,在本文中,诸如第一、第二等的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且进一步包括没有明确列出的其他要素,或者是进一步包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。

Claims (14)

1.一种标记存储器的风险状态的方法,包括:
基于从所述存储器读取的对象数据的校验结果生成统计数据,其中所述统计数据与所述对象数据的校验结果包括的所述存储器的可纠正错误相关联;
判定所述统计数据与对应的可纠正错误阈值之间的关系是否满足多个风险判定规则中的一个风险判定规则;以及
响应于所述关系满足所述一个风险判定规则,将所述存储器标记为与所述一个风险判定规则相对应的风险状态,
其中,所述统计数据包括:所述可纠正错误出现在所述存储器中的位置、所述存储器的可纠正错误连续出现的次数CE_con、所述存储器的可纠正错误出现的总次数CE_ALL、以及所述可纠正错误连续出现在所述存储器的相同位置的次数CE_Fix,其中所述位置包括所述存储器的内存颗粒或比特位置,并且其中
所述可纠正错误阈值包括:所述存储器的可纠正错误连续出现的次数的阈值CE_con_Th、所述存储器的可纠正错误出现的总次数的阈值CE_ALL_Th、以及所述可纠正错误连续出现在相同位置的次数的阈值CE_Fix_Th,
所述风险判定规则包括第一风险判定规则,所述第一风险判定规则指示所述存储器无风险,所述第一风险判定规则为:
CE_ALL<CE_All_Th的百分比,且
CE_Fix<CE_Fix_Th的百分比,且
CE_con<CE_con_Th。
2.根据权利要求1所述的方法,其中,基于从所述存储器读取的对象数据的校验结果生成统计数据,包括:
响应于在所述存储器中连续出现所述可纠正错误,对在所述存储器中连续出现所述可纠正错误的次数进行计数;以及
响应于在所述存储器中未连续出现所述可纠正错误,对所述计数清零。
3.根据权利要求1所述的方法,其中,基于从所述存储器读取的对象数据的校验结果生成统计数据,包括:
响应于所述可纠正错误连续出现在相同位置,对所述可纠正错误连续出现在相同位置的次数进行计数;以及
响应于所述可纠正错误未连续出现在相同位置并且在所述存储器的其他位置未出现所述可纠正错误,对所述计数清零;或者响应于所述可纠正错误未连续出现在相同位置并且在所述存储器的其他位置出现所述可纠正错误,将所述计数设置为1。
4.根据权利要求1所述的方法,其中,所述存储器包括多个内存颗粒,所述位置包括内存颗粒位置或者内存颗粒中的比特位置。
5.根据权利要求1所述的方法,其中,所述风险判定规则还包括第二风险判定规则以及第三风险判定规则,其中
所述第二风险判定规则为:
CE_con>=CE_con_Th,或
CE_All_Th>CE_ALL>=70%CE_All_Th,或
CE_Fix_Th>CE_Fix>=70%CE_Fix_Th;
所述第三风险判定规则为:
已出现不可纠正错误,或
CE_ALL>=CE_All_Th,或
CE_Fix>=CE_Fix_Th。
6.根据权利要求5所述的方法,其中:
使用绿色标记将所述存储器标记为与所述第一风险判定规则相对应的风险状态;
使用黄色标记将所述存储器标记为与所述第二风险判定规则相对应的风险状态,以指示所述存储器存在风险;并且
使用红色标记将所述存储器标记为与所述第三风险判定规则相对应的风险状态,以指示所述存储器已经坏掉。
7.一种标记存储器的风险状态的装置,包括:
统计单元,被配置为基于从所述存储器读取的对象数据的校验结果生成统计数据,其中所述统计数据与所述对象数据的校验结果包括的所述存储器的可纠正错误相关联;
风险判定单元,被配置为判定所述统计数据与对应的可纠正错误阈值之间的关系是否满足多个风险判定规则中的一个风险判定规则;以及
标记单元,被配置为响应于所述关系满足所述一个风险判定规则,将所述存储器标记为与所述一个风险判定规则相对应的风险状态,
其中,所述统计数据包括:所述可纠正错误出现在所述存储器中的位置、所述存储器的可纠正错误连续出现的次数CE_con、所述存储器的可纠正错误出现的总次数CE_ALL、以及所述可纠正错误连续出现在所述存储器的相同位置的次数CE_Fix,其中所述位置包括所述存储器的内存颗粒或比特位置,并且其中
所述可纠正错误阈值包括:所述存储器的可纠正错误连续出现的次数的阈值CE_con_Th、所述存储器的可纠正错误出现的总次数的阈值CE_ALL_Th、以及所述可纠正错误连续出现在相同位置的次数的阈值CE_Fix_Th,
所述风险判定规则包括第一风险判定规则,所述第一风险判定规则指示所述存储器无风险,所述第一风险判定规则为:
CE_ALL<CE_All_Th的百分比,且
CE_Fix<CE_Fix_Th的百分比,且
CE_con<CE_con_Th。
8.根据权利要求7所述的装置,其中,基于从所述存储器读取的对象数据的校验结果生成统计数据,包括:
响应于在所述存储器中连续出现所述可纠正错误,对在所述存储器中连续出现所述可纠正错误的次数进行计数;以及
响应于在所述存储器中未连续出现所述可纠正错误,对所述计数清零。
9.根据权利要求7所述的装置,其中,基于从所述存储器读取的对象数据的校验结果生成统计数据,包括:
响应于所述可纠正错误连续出现在相同位置,对所述可纠正错误连续出现在相同位置的次数进行计数;以及
响应于所述可纠正错误未连续出现在相同位置并且在所述存储器的其他位置未出现所述可纠正错误,对所述计数清零;或者响应于所述可纠正错误未连续出现在相同位置并且在所述存储器的其他位置出现所述可纠正错误,将所述计数设置为1。
10.根据权利要求7所述的装置,其中,所述存储器包括多个内存颗粒,所述位置包括内存颗粒位置或者所述多个内存颗粒中至少之一中的比特位置。
11.根据权利要求7所述的装置,其中,所述风险判定规则还包括第二风险判定规则以及第三风险判定规则,其中
所述第二风险判定规则为:
CE_con>=CE_con_Th,或
CE_All_Th>CE_ALL>=70%CE_All_Th,或
CE_Fix_Th>CE_Fix>=70%CE_Fix_Th;
所述第三风险判定规则为:
已出现不可纠正错误,或
CE_ALL>=CE_All_Th,或
CE_Fix>=CE_Fix_Th。
12.根据权利要求11所述的装置,其中:
使用绿色标记将所述存储器标记为与所述第一风险判定规则相对应的风险状态;
使用黄色标记将所述存储器标记为与所述第二风险判定规则相对应的风险状态,以指示所述存储器存在风险;并且
使用红色标记将所述存储器标记为与所述第三风险判定规则相对应的风险状态,以指示所述存储器已经坏掉。
13.一种电子设备,包括:
处理器;
存储器,包括一个或多个计算机程序模块;
其中,所述一个或多个计算机程序模块被存储在所述存储器中并被配置为由所述处理器执行,所述一个或多个计算机程序模块包括用于执行如权利要求1-6中任一项所述的方法的指令。
14.一种非暂存计算机可读存储介质,其上存储有可执行指令,
其中,所述可执行指令在被处理器执行时,使得所述处理器执行根据权利要求1-6中任一项所述的方法。
CN202111601789.2A 2021-12-24 2021-12-24 标记存储器的风险状态的方法、装置、设备及存储介质 Active CN114356984B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111601789.2A CN114356984B (zh) 2021-12-24 2021-12-24 标记存储器的风险状态的方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111601789.2A CN114356984B (zh) 2021-12-24 2021-12-24 标记存储器的风险状态的方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114356984A CN114356984A (zh) 2022-04-15
CN114356984B true CN114356984B (zh) 2024-01-23

Family

ID=81100926

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111601789.2A Active CN114356984B (zh) 2021-12-24 2021-12-24 标记存储器的风险状态的方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114356984B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027284A (ja) * 2006-07-24 2008-02-07 Nec Corp 障害処理システム、障害処理方法、障害処理装置およびプログラム
JP2012108726A (ja) * 2010-11-17 2012-06-07 Nec Computertechno Ltd 障害処理装置、それを用いた情報処理装置及び情報処理装置の障害処理方法
CN103514068A (zh) * 2012-06-28 2014-01-15 北京百度网讯科技有限公司 内存故障自动定位方法
CN106445720A (zh) * 2016-10-11 2017-02-22 郑州云海信息技术有限公司 一种内存错误恢复方法和装置
CN109328340A (zh) * 2017-09-30 2019-02-12 华为技术有限公司 内存故障的检测方法、装置和服务器
CN111090567A (zh) * 2019-10-31 2020-05-01 苏州浪潮智能科技有限公司 一种链路告警方法、设备以及存储介质
CN112463523A (zh) * 2020-11-11 2021-03-09 苏州浪潮智能科技有限公司 一种内存条健康状态监控方法、装置、设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318368B2 (en) * 2016-05-31 2019-06-11 Intel Corporation Enabling error status and reporting in a machine check architecture

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008027284A (ja) * 2006-07-24 2008-02-07 Nec Corp 障害処理システム、障害処理方法、障害処理装置およびプログラム
JP2012108726A (ja) * 2010-11-17 2012-06-07 Nec Computertechno Ltd 障害処理装置、それを用いた情報処理装置及び情報処理装置の障害処理方法
CN103514068A (zh) * 2012-06-28 2014-01-15 北京百度网讯科技有限公司 内存故障自动定位方法
CN106445720A (zh) * 2016-10-11 2017-02-22 郑州云海信息技术有限公司 一种内存错误恢复方法和装置
CN109328340A (zh) * 2017-09-30 2019-02-12 华为技术有限公司 内存故障的检测方法、装置和服务器
CN111090567A (zh) * 2019-10-31 2020-05-01 苏州浪潮智能科技有限公司 一种链路告警方法、设备以及存储介质
CN112463523A (zh) * 2020-11-11 2021-03-09 苏州浪潮智能科技有限公司 一种内存条健康状态监控方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN114356984A (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
US20190340080A1 (en) Hybrid memory system with configurable error thresholds and failure analysis capability
US7971112B2 (en) Memory diagnosis method
TW201928684A (zh) 具有機器學習機制的儲存系統及其操作方法
US10146604B2 (en) Bad block detection and predictive analytics in NAND flash storage devices
KR101805234B1 (ko) 데이터 메모리의 모니터링 방법, 비일시적 컴퓨터 판독가능 저장 매체 및 보조 메모리
KR101983651B1 (ko) Mram 장 교란 검출 및 복구
US10353765B2 (en) Method and device to perform event thresholding in a firmware environment utilizing a scalable sliding time-window
CN109669800B (zh) 用于写入路径错误的高效数据恢复
US10915388B2 (en) Data storage device and associated operating method capable of detecting errors and effectively protecting data
CN103778030A (zh) 日志子系统写入方法、错误追踪方法及处理器
CN114360623A (zh) 用于存储器纠错的方法、存储器控制器及计算机系统
US8429485B2 (en) Method and apparatus for detecting free page and a method and apparatus for decoding error correction code using the method and apparatus for detecting free page
CN109671466B (zh) 一种阈值电压调试方法、装置及电子设备
CN114356984B (zh) 标记存储器的风险状态的方法、装置、设备及存储介质
CN114356645A (zh) 用于数据纠错的方法、装置、电子设备及存储介质
US11321166B2 (en) Device for determining soft error occurred in a memory having stacked layers, and computer readable medium storing program thereon for determining the soft error
US9417957B2 (en) Method of detecting bit errors, an electronic circuit for detecting bit errors, and a data storage device
CN109710445B (zh) 内存校正方法和电子设备
CN106716387B (zh) 存储器诊断电路
KR101001071B1 (ko) 메모리 비트 정정 보고 방법 및 장치
CN116166459A (zh) 一种内存硬件故障检测方法、装置以及内存控制器
CN112732179A (zh) 一种ssd的数据管理方法即相关装置
CN112463523A (zh) 一种内存条健康状态监控方法、装置、设备及存储介质
US11809272B2 (en) Error correction code offload for a serially-attached memory device
CN116680112B (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