内存状态检测方法、装置、通信设备及存储介质转让专利

申请号 : CN202310935420.8

文献号 : CN116680112B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李盛新李道童贾帅帅陈衍东韩红瑞艾山彬

申请人 : 苏州浪潮智能科技有限公司

摘要 :

本申请实施例提供了一种内存状态检测方法、装置、通信设备及存储介质,包括:通过获取内存数据;根据内存数据的类型将内存数据划分为第一内存数据和第二内存数据;根据预设内存健康度评估模型和第一内存数据确定初步内存健康度分数,以及,将第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,预设内存健康度评估模型是基于第一历史内存数据确定的,输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;根据初步内存健康度分数和健康度影响因子确定内存状态。即本申请通过根据内存数据对内存的影响将内存数据划分为两类,通过健康度影响因子调节内存健康度分数,可以有效且准确的对内存健康情况进行检测。

权利要求 :

1.一种内存状态检测方法,其特征在于,所述内存状态检测方法包括:获取内存数据;

根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;

根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;

根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态;

所述第二内存数据中包括实际输入数据和实际输出数据,所述实际输入数据和所述实际输出数据一一对应;

所述将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子包括:将实际输入数据输入至输入输出模型,得到所述实际输入数据对应的预测输出数据;

将所述预测输出数据和实际输出数据进行比对,得到误差值;

根据所述误差值确定健康度影响因子。

2.根据权利要求1所述的方法,其特征在于,在所述将实际输入数据输入至输入输出模型,得到所述实际输入数据对应的预测输出数据的步骤之前,所述方法包括:将多个预设时间段内采集的实际输入数据进行预处理,生成多个预设时间段内对应的数据集;

在所述多个预设时间段内对应的数据集中筛选当前时刻对应的三个预设时间段内所述内存状态处于正常状态的目标数据集;

将所述目标数据集进行归一化处理,得到训练样本。

3.根据权利要求2所述的方法,其特征在于,在所述将所述目标数据集进行归一化处理,得到训练样本的步骤之后,所述方法包括:根据所述训练样本对预设初始模型进行训练,得到输入输出模型。

4.根据权利要求1所述的方法,其特征在于,所述根据所述误差值确定健康度影响因子包括:在检测到所述误差值小于目标误差阈值的情况下,将所述健康度影响因子设置为1;

在检测到所述误差值大于所述目标误差阈值的情况下,获取预先设置的内存健康度策略,根据所述内存健康度策略确定所述健康度影响因子。

5.根据权利要求4所述的方法,其特征在于,所述目标误差阈值是根据所述预测输出数据和所述实际输出数据之间的目标均方误差向量对应的均方根误差确定的。

6.根据权利要求1所述的方法,其特征在于,所述根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态包括:根据所述初步内存健康度分数、当前时刻的所述健康度影响因子以及所述当前时刻对应的上一个预设时间周期内的所述健康度影响因子确定当前时刻内存对应的目标内存健康度分数;

根据所述目标内存健康度分数确定当前时刻内存对应的状态。

7.根据权利要求6所述的方法,其特征在于,所述目标内存健康度分数通过以下公式生成:其中,上述公式中, 用于表示所述目标内存健康度分数, 用于表示所述初步内存健康度分数, 用于表示当前时刻的所述健康度影响因子, 用于表示所述当前时刻对应的上一个预设时间周期内的所述健康度影响因子,用于表示多个预测输出数据和实际输出数据之间的误差值对应的平均值, 用于表示目标误差阈值。

8.根据权利要求6所述的方法,其特征在于,所述根据所述目标内存健康度分数确定当前时刻内存对应的状态包括:在检测到所述目标内存健康度分数小于目标健康度阈值,或者,所述健康度影响因子小于或者大于1的情况下,向用户发送预警信息,以使所述用户通过预设显示界面查看当前时刻的内存状态。

9.根据权利要求1所述的内存状态检测方法,其特征在于,所述第一内存数据是通过寄存器日志获取的,所述第一内存数据包括以下至少一种:内存硬故障、内存错误数量、内存错误类型以及使能错误修复操作。

10.根据权利要求9所述的内存状态检测方法,其特征在于,所述预设内存健康度评估模型包括:在检测到预设数量的所述内存硬故障的情况下,扣除第一预设分值;

在检测到预设时间内所述内存错误数量大于预设阈值的情况下,扣除第二预设分值;

根据所述内存错误类型确定所述内存错误类型对应的第三预设分值;

根据所述使能错误修复操作确定所述使能错误修复操作对应的第四预设分值。

11.根据权利要求10所述的内存状态检测方法,其特征在于,所述内存错误类型包括以下至少一种:内存硬错误、内存软错误、选择处理SRAO错误、不需要处理UCNA错误、必须处理SRAR错误以及突发致命错误。

12.根据权利要求11所述的内存状态检测方法,其特征在于,所述根据所述内存错误类型确定所述内存错误类型对应的第三预设分值包括:在检测到所述内存错误类型为内存硬错误、内存软错误、SRAO错误、UCNA错误、SRAR错误其中一种的情况下,扣除所述第三预设分值;

在检测到所述内存错误类型为突发致命错误的情况下,所述初步内存健康度分数为0。

13.根据权利要求10所述的内存状态检测方法,其特征在于,所述使能错误修复操作包括以下至少一种:消耗颗粒内冗余行替换故障行技术、使能Bank级别自适应双DRAM设备校正ADDDC功能、使能Rank级别自适应双DRAM设备校正ADDDC功能以及使能风暴抑制功能。

14.根据权利要求13所述的内存状态检测方法,其特征在于,所述使能错误修复操作对应的分数排序从小到大为:消耗PCLS、使能Bank级别ADDDC功能、使能Rank级别ADDDC功能以及使能风暴抑制功能。

15.根据权利要求1所述的内存状态检测方法,其特征在于,所述输入输出模型对应的数据集包括四列向量数据,所述输入输出模型包括三个输入数据对应一个输出数据。

16.根据权利要求15所述的内存状态检测方法,其特征在于,所述三个输入数据包括内存对应的平均电压、运行时平均频率以及平均擦写速度数据,所述输出数据包括内存对应的平均温度数据。

17.一种内存状态检测装置,其特征在于,所述装置包括:获取模块,用于获取内存数据;

划分模块,用于根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;

第一确定模块,用于根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;

第二确定模块,用于根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态;

所述第二内存数据中包括实际输入数据和实际输出数据,所述实际输入数据和所述实际输出数据一一对应;

所述将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子包括:将实际输入数据输入至输入输出模型,得到所述实际输入数据对应的预测输出数据;

将所述预测输出数据和实际输出数据进行比对,得到误差值;

根据所述误差值确定健康度影响因子。

18.一种通信设备,其特征在于,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;

所述处理器,用于读取存储器中的程序实现如权利要求1‑16中任意一项所述内存状态检测方法。

19.一种可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现如权利要求1‑16中任意一项所述内存状态检测方法。

说明书 :

内存状态检测方法、装置、通信设备及存储介质

技术领域

[0001] 本申请涉及数据处理技术领域,特别是一种内存状态检测方法、装置、通信设备及存储介质。

背景技术

[0002] 在现代大型数据中心中,通常有数百万台服务器协同工作,用以提供高性能计算和大数据存储服务。由于这些服务器上运行着大量任务,硬件故障可能会对服务器的可靠性、可用性和可服务性(Reliability Availability Serviceability,RAS)造成巨大影响。在服务器系统中,内存也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。计算机中所有程序的运行都是在内存中进行的,因此内存异常对计算机的影响非常大。同时,内存故障也是对硬件最常见的威胁之一。为了防止内存出错,服务器通常会为内存配备先进的(Error Correction Code,ECC)机制,如SEC‑DED和ChipKill。然而,仅仅依靠ECC来保证内存的可靠性是远远不够的。在现代数据中心中,内存故障已被证明是服务器宕机或系统故障的主要原因。随着计算密度和内存容量的不断增加,带来了更高的内存故障风险。
[0003] 相关技术中,相关技术人员依据检测到的内存可纠正错误(Correctable Error,CE)数量、出现频率、运行温度、插拔次数、功耗等因素,拟通过某种内存人工智能算法建立一个模型,计算得到内存健康度,例如,基于机器学习和深度学习的人工智能算法,然而上述方案中存在将内存相关信息均作为同一维度的输入至人工智能算法,因此,会导致模型训练计算量的增加、模型建立不稳定的问题,无法准确反馈当前内存状态。

发明内容

[0004] 本申请实施例的目的在于提供一种内存状态检测方法、装置、通信设备及存储介质,以解决现有技术中无法准确反馈当前内存状态的技术问题。具体技术方案如下:
[0005] 在本申请实施的第一方面,首先提供了一种内存状态检测方法,所述内存状态检测方法包括:
[0006] 获取内存数据;
[0007] 根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;
[0008] 根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;
[0009] 根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态。
[0010] 可选地,所述第二内存数据中包括实际输入数据和实际输出数据,所述实际输入数据和所述实际输出数据一一对应;所述将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子包括:
[0011] 将实际输入数据输入至输入输出模型,得到所述实际输入数据对应的预测输出数据;
[0012] 将所述预测输出数据和实际输出数据进行比对,得到误差值;
[0013] 根据所述误差值确定健康度影响因子。
[0014] 可选地,所述实际输入数据包括以下至少一种平均电压、运行时平均频率以及平均擦写速度数据,所述实际输出数据包括内存平均温度数据,在所述将实际输入数据输入至输入输出模型,得到所述实际输入数据对应的预测输出数据的步骤之前,所述方法包括:
[0015] 将多个预设时间段内采集的实际输入数据进行预处理,生成多个预设时间段内对应的数据集;
[0016] 在所述多个预设时间段内对应的数据集中筛选当前时刻对应的三个预设时间段内所述内存状态处于正常状态的目标数据集;
[0017] 将所述目标数据集进行归一化处理,得到训练样本。
[0018] 可选地,在所述将所述目标数据集进行归一化处理,得到训练样本的步骤之后,所述方法包括:
[0019] 根据所述训练样本对预设初始模型进行训练,得到输入输出模型。
[0020] 可选地,所述根据所述误差值确定健康度影响因子包括:
[0021] 在检测到所述误差值小于目标误差阈值的情况下,将所述健康度影响因子设置为1;
[0022] 在检测到所述误差值大于所述目标误差阈值的情况下,获取预先设置的内存健康度策略,根据所述内存健康度策略确定所述健康度影响因子。
[0023] 可选地,所述目标误差阈值是根据所述预测输出数据和所述实际输出数据之间的目标均方误差向量对应的均方根误差确定的。
[0024] 可选地,所述根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态包括:
[0025] 根据所述初步内存健康度分数、当前时刻的所述健康度影响因子以及所述当前时刻对应的上一个预设时间周期内的所述健康度影响因子确定当前时刻内存对应的目标内存健康度分数。
[0026] 可选地,所述目标内存健康度分数通过以下公式生成:
[0027]
[0028] 其中,上述公式中, 用于表示所述目标内存健康度分数, 用于表示所述初步内存健康度分数, 用于表示当前时刻的所述健康度影响因子, 用于表示所述当前时刻对应的上一个预设时间周期内的所述健康度影响因子, 用于表示多个所述预测输出数据和实际输出数据之间的误差值对应的平均值, 用于表示目标误差阈值。
[0029] 可选地,在所述根据所述初步内存健康度分数、当前时刻的所述健康度影响因子以及所述当前时刻对应的上一个预设时间周期内的所述健康度影响因子确定当前时刻内存对应的目标内存健康度分数的步骤之后,所述方法包括:
[0030] 在检测到所述目标内存健康度分数小于目标健康度阈值,或者,所述健康度影响因子小于或者大于1的情况下,向用户发送预警信息,以使所述用户通过预设显示界面查看当前时刻的内存状态。
[0031] 可选地,所述第一内存数据是通过寄存器日志获取的,所述第一内存数据包括以下至少一种:内存硬故障、内存错误数量、内存错误类型以及使能错误修复操作。
[0032] 可选地,所述预设内存健康度评估模型包括:
[0033] 在检测到预设数量的所述内存硬故障的情况下,扣除第一预设分值;
[0034] 在检测到预设时间内所述内存错误数量大于预设阈值的情况下,扣除第二预设分值;
[0035] 根据所述内存错误类型确定所述内存错误类型对应的第三预设分值;
[0036] 根据所述使能错误修复操作确定所述使能错误修复操作对应的第四预设分值。
[0037] 可选地,所述内存错误类型包括以下至少一种:内存硬错误、内存软错误、SRAO错误、UCNA错误、SRAR错误以及突发致命错误。
[0038] 可选地,所述根据所述内存错误类型确定所述内存错误类型对应的第三预设分值包括:
[0039] 在检测到所述内存错误类型为内存硬错误、内存软错误、SRAO错误、UCNA错误、SRAR错误其中一种的情况下,扣除所述第三预设分值;
[0040] 在检测到所述内存错误类型为突发致命错误的情况下,所述初步内存健康度分数为0。
[0041] 可选地,所述使能错误修复操作包括以下至少一种:消耗PCLS、使能Bank级别ADDDC功能、使能Rank级别ADDDC功能以及使能风暴抑制功能。
[0042] 可选地,所述使能错误修复操作对应的分数排序从小到大为:消耗PCLS、使能Bank级别ADDDC功能、使能Rank级别ADDDC功能以及使能风暴抑制功能。
[0043] 可选地,所述输入输出模型对应的数据集包括四列向量数据,所述输入输出模型包括三个输入数据对应一个输出数据。
[0044] 可选地,所述三个输入数据包括内存对应的平均电压、运行时平均频率以及平均擦写速度数据,所述输出数据包括内存对应的平均温度数据。
[0045] 在本申请实施的又一方面,还提供了一种内存状态检测装置,所述装置包括:
[0046] 获取模块,用于获取内存数据;
[0047] 划分模块,用于根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;
[0048] 第一确定模块,用于根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;
[0049] 第二确定模块,用于根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态。
[0050] 在本申请实施的又一方面,还提供了一种通信设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
[0051] 存储器,用于存放计算机程序;
[0052] 处理器,用于执行存储器上所存放的程序时,实现上述任一所述的内存状态检测方法。
[0053] 在本申请实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的内存状态检测方法。
[0054] 在本申请实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的内存状态检测方法。
[0055] 本申请实施例提供的内存状态检测方法,通过获取内存数据;根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态。即本申请实施例通过分析影响服务器内存健康运行的各种因素,将不同影响因素对应的内存数据分为两类,即第一内存数据和第二内存数据,其中,第一存储数据对应的第一历史存储数据可以生成预设内存健康度评估模型,第一存储数据可以根据预设内存健康度评估模型确定内存对应的初步内存健康度分数;其次,可以通过对第二历史内存数据进行处理,对预设初始模型进行训练,从而生成输入输出模型,通过将第二内存数据输入至训练好的输入输出模型后,可以确定内存的健康度影响因子,进而根据初步内存健康度分数和健康度影响因子可以确定当前内存状态,本申请通过根据内存数据对内存的影响将内存数据划分为两类,通过健康度影响因子调节内存健康度分数,可以有效且准确的对内存健康情况进行检测。

附图说明

[0056] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
[0057] 图1示出了本申请实施例提供的内存状态检测方法的步骤流程图一;
[0058] 图2示出了本申请实施例提供的内存状态检测方法的步骤流程图二;
[0059] 图3示出了本申请实施例提供的内存状态检测方法的步骤流程图三;
[0060] 图4示出了本申请实施例提供的内存状态检测方法的步骤流程图四;
[0061] 图5示出了本申请实施例提供的一种内存状态检测装置的装置框图;
[0062] 图6示出了本申请实施例提供的一种通信设备的结构框图;
[0063] 图7示出了本申请实施例提供的一种输入输出模型训练方法示意图;
[0064] 图8示出了本申请实施例提供的一种三输入单输出ANFIS结构示意图;
[0065] 图9示出了本申请实施例提供的一种初始FIS网络结构生成方法示意图;
[0066] 图10示出了本申请实施例提供的一种预设显示界面示意图;
[0067] 图11示出了本申请实施例提供的另一种预设显示界面示意图。

具体实施方式

[0068] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
[0069] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本申请各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本申请的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
[0070] 参照图1,示出了本申请实施例提供的内存状态检测方法的步骤流程图一,所述方法可以包括:
[0071] 步骤101,获取内存数据;
[0072] 需要说明的是,在本申请实施例中,将内存错误的根本原因称为故障,将硬件中的不可逆损坏称为硬故障,将观察到的故障症状称为错误。由硬故障导致的错误称为硬错误,硬故障在本质上是持久且重复发生的,不能随时间的推移或者系统复位、重启来解决。相对应的,软故障和软错误是随机瞬时的,例如由粒子碰撞引起的比特翻转。上述内存硬故障数量指同一内存条中出现硬故障的Cell单位数量,更具体的描述为出现两次及以上错误的cell单元数量;错误频率指一段时间周期内检测到的所有内存错误与该时间周期的比值,所述所有内存错误包括软错误及重复出现的硬错误;错误类型指内存错误的不同类型,如选择处理(SW Recoverable Action Optional,SRAO)错误、不需要处理(Uncorrected No Action,UCNA)错误和必须处理(SW Recoverable Action Required,SRAR)错误等;修复操作指某些内存RAS技术的使能,如颗粒内冗余行替换故障行技术(Partial Cache‑line Sparing,PCLS)、自适应双DRAM设备校正(Adaptive Double DRAM Device Correction,ADDDC)技术等。
[0073] 因此,本申请实施例中的内存数据可以包括可以影响内存状态的内存的全部相关信息。
[0074] 步骤102,根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;
[0075] 需要说明的是,在步骤101获取内存数据之后,通过分析影响服务器内存健康运行的各种因素,可以将影响因素分为两类。
[0076] 第一类为可直观反映内存健康的直接因素,因此,对此类影响因素对应的内存数据划分为第一内存数据,例如内存硬故障数量、错误频率、错误类型,错误修复操作等,并且上述第一内存数据可通过寄存器日志得到。
[0077] 第二类为可侧面反映内存异常的间接因素,因此,对此类影响因素对应的内存数据划分为第二内存数据,例如某一时间周期内实测的内存平均温度、平均电压、运行时平均频率、平均擦写速度,间接因素异常时未必会直接影响内存健康,即不一定会直接导致内存错误的出现,但其数据异常可在一定程度上预警内存状态的异常,上述第二内存数据可通过传感器测量得到。
[0078] 步骤103,根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的。
[0079] 需要说明的是,在本申请中,在对内存数据进行划分之后,可以针对不同类型的内存数据进行不同的处理。
[0080] 具体的,对于第一内存数据来讲,可以根据第一内存数据对应的特性,即对内存状态造成影响的直接因素信息可以生成预设内存健康度评估模型。
[0081] 其中,上述预设内存健康度评估模型可以根据第一内存数据的重要性确定出现某种情况时需要扣除的分数,即预设内存健康度评估模型采取扣分策略,每检测到内存错误根据相应规则进行减分,其分数区间设置为0分到100分。分数越高表示该内存条越健康,分数越低表示该内存条故障风险越低。
[0082] 具体的,如下表1所示,表1为一种示例性的不同内存健康度分数对应的内存状态框架。
[0083] 表1 一种示例性的不同内存健康度分数对应的内存状态框架
[0084]
[0085] 需要说明的是,所述第一内存数据是通过寄存器日志获取的,所述第一内存数据包括以下至少一种:内存硬故障、内存错误数量、内存错误类型以及使能错误修复操作。
[0086] 所述预设内存健康度评估模型包括:在检测到预设数量的所述内存硬故障的情况下,扣除第一预设分值;在检测到预设时间内所述内存错误数量大于预设阈值的情况下,扣除第二预设分值;根据所述内存错误类型确定所述内存错误类型对应的第三预设分值;根据所述使能错误修复操作确定所述使能错误修复操作对应的第四预设分值。
[0087] 进一步地,所述内存错误类型包括以下至少一种:内存硬错误、内存软错误、SRAO错误、UCNA错误、SRAR错误以及突发致命错误。
[0088] 所述根据所述内存错误类型确定所述内存错误类型对应的第三预设分值包括:在检测到所述内存错误类型为内存硬错误、内存软错误、SRAO错误、UCNA错误、SRAR错误其中一种的情况下,扣除所述第三预设分值;在检测到所述内存错误类型为突发致命错误的情况下,所述初步内存健康度分数为0。
[0089] 进一步地,所述使能错误修复操作包括以下至少一种:消耗PCLS、使能Bank级别ADDDC功能、使能Rank级别ADDDC功能以及使能风暴抑制功能。
[0090] 所述使能错误修复操作对应的分数排序从小到大为:消耗PCLS、使能Bank级别ADDDC功能、使能Rank级别ADDDC功能以及使能风暴抑制功能。
[0091] 需要说明的是,在本申请实施例中,预设内存健康度评估模型根据不同的第一内存数据对应不同的扣分策略。
[0092] 具体的,第一种,内存硬故障数量扣分规则,内存硬错误是由内存硬故障引起的持久重复性错误,是主导内存故障的主要因素之一。通常服务器RAS策略不会任由其一直重复出现,会通过使能隔离或修复策略对出现硬故障的Cell单元进行处理。内存软故障和软错误通常是瞬时的,通常情况下,出现软错误的Cell单元及时不处理,也会不重复出现错误。因此,本部分仅靠考虑硬故障对内存条实体硬件的影响,在本申请实施例种,例如,扣分规则设定为:每检测到10个硬故障扣除1分,不满10个硬故障按1分扣除。
[0093] 第二种,内存错误频率扣分规则,当内存条在某一时间周期内发生错误的数量过多,一方面大量内存错误会导致频繁中断信息上班干扰系统正常运行;另一方面,内存错误的高频率出现也在一定程度上映射了内存条的异常。需要说明的是,本部分所设置的扣分规则主要是考虑短时间内存错错误频发的对内存异常情况的映射关系,所设置的阈值不应超出内存错误风暴抑制阈值。在本申请实施例种,例如,扣分规则设定为:每60秒检测到的内存错误数量超过500个,则扣除1分。
[0094] 第三种,内存错误类型扣分规则,内存错误可以分为可纠正错误和不可纠正错误。进一步地,可纠正错误和不可纠正错误又可细分。内存可纠正错误可分为巡检可纠正错误、读写可纠正错误、镜像回写失败错误等,在本发明中,仅将可纠正错误分为内存硬错误和软错误两类进行分别处理。不可纠正错误可分为①选择处理的不可纠正错误‑‑SRAO错误,SRAO错误的错误码为:Error_Type:UCE;MSCODE:0x0010;②不需要处理的不可纠正错误‑‑ UCNA错误,UCNA错误的错误码为:Error_Type:UCE;MSCODE:0x0101;③必须处理的不可纠正错误‑‑SRAR错误,SRAR错误的错误码为:Error_Type:UCE;MSCODE:0x0010。④由于内存条实体硬件错误造成系统宕机的不可纠正错误‑‑突发致命错误,突发致命错误的错误码为:
Error_Type:UCE。在本申请实施例种,例如,扣分规则设定为:UCNA、SRAO、SRAR错误出现一次扣5分,突发致命错误出现则内存健康度分数降为0分。
[0095] 需要说明的是,除上述UCNA、SRAO、SRAR错误类型,内存错误类型还包括一些特定错误,如根据内存结构划分的行错误、列错误、Bank错误等,这些根据结构划分的错误类型,依据相关内存RAS技术人员设定的代码规则进行定义,不同代码规则定义的结果不同,因此所设置的扣分规则也不同。
[0096] 第四种,使能错误修复操作扣分规则,在内存RAS技术中,如果检测到内存硬故障,则通常使能OS层执行内存页隔离技术对当前错误所在内存页进行隔离,被隔离的内存页不再有读写操作。而当某些内存页由于某种原因导致无法隔离时,则使能内存修复技术对硬错误进行修复,修复技术指处理器或者内存的故障冗余替换机制,如PCLS、ADDDC等。一般情况下,修复资源是有限的,且部分修复机制影响内存性能。PCLS资源每个内存通道最多可以调用16次,且每个缓存行最多可以调用一次;ADDDC是一种高级内存RAS功能,每个内存通道可以同时支持两组VLS寄存器,使能级别分为Bank和Rank级别,当使能Rank级别ADDDC时,内存性能损失约为25%‑30%,同时在一定程度上也反映了内存错误出现的累计次数多,以及内存RAS技术剩余的修复资源消耗殆尽,向用户进行修复资源预警。而当内存瞬间出现大量无法通过内存隔离和修复技术完成处理的错误,错误数量达到某一风暴阈值(不同服务器厂商根据RAS策略的不同具有不同设置),则使能SMI风暴抑制功能,即为防止BIOS层向OS层上报大量系统管理中断(System Management Interrupt,SMI)信息,影响系统正常运行,控制内存页隔离功能失效,也就预示着该内存条不再健康,需要进行更换。在本申请实施例种,例如,扣分规则设定为:设置消耗一次PCLS扣1分、使能Bank级别ADDDC功能扣10分,使能Rank级别ADDDC功能就20分,使能风暴抑制功能扣50分。
[0097] 具体的,对于第二内存数据来讲,第二内存数据的特性是对内存状态存在间接影响的间接因素信息,因此,在本申请实施例中,通过对第二内存数据进行训练,得到输入输出模型,根据输入输出模型可以获取一种影响因子,即健康度影响因子。
[0098] 上述健康度影响因子可以作为最终的判定内存状态的条件之一。
[0099] 另外,上述输入输出模型的训练过程参考后续内容。
[0100] 步骤104,根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态。
[0101] 需要说明的是,在步骤103中确定初步内存健康度分数和通过输入输出模型得到的健康度影响因子后,可以根据上述数据确定当前内存状态。
[0102] 具体的,前文阐述过,将可映射内存健康度的因素分为了直接因素和间接因素,直接因素用以建立初步的健康度分数策略,间接因素用以作为评估内存异常的方式之一。同时,通过间接因素建立输入输出模型,从而设置健康度影响因子,进一步修正内存健康度分数。因此,当基于输入输出模型得到的输出结果与实测数据进行对比后,若对比误差小于设定阈值则反馈内存无异常。在此情况下,间接因素不对通过直接因素建立的初步来的健康度分数策略产生影响。若当通过间接因素得到反馈结果是内存异常,则其对内存健康度分数的影响一定是消极的。
[0103] 因此,可以通过初步内存健康度分数和健康度影响因子来综合确定最终的内存健康度分数,从而根据例如表1中的内容确定当前内存状态。
[0104] 本申请实施例提供的内存状态检测方法,通过获取内存数据;根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态。即本申请实施例通过分析影响服务器内存健康运行的各种因素,将不同影响因素对应的内存数据分为两类,即第一内存数据和第二内存数据,其中,第一存储数据对应的第一历史存储数据可以生成预设内存健康度评估模型,第一存储数据可以根据预设内存健康度评估模型确定内存对应的初步内存健康度分数;其次,可以通过对第二历史内存数据进行处理,对预设初始模型进行训练,从而生成输入输出模型,通过将第二内存数据输入至训练好的输入输出模型后,可以确定内存的健康度影响因子,进而根据初步内存健康度分数和健康度影响因子可以确定当前内存状态,本申请通过根据内存数据对内存的影响将内存数据划分为两类,通过健康度影响因子调节内存健康度分数,可以有效且准确的对内存健康情况进行检测。
[0105] 参照图2,示出了本申请实施例提供的内存状态检测方法的步骤流程图二,所述方法可以包括:
[0106] 步骤201,获取内存数据;
[0107] 步骤202,根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;
[0108] 需要说明的是,上述步骤201‑202参照前序论述,在此不再赘述。
[0109] 步骤203,根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将实际输入数据输入至输入输出模型,得到所述实际输入数据对应的预测输出数据,将所述预测输出数据和实际输出数据进行比对,得到误差值,根据所述误差值确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的,所述第二内存数据中包括实际输入数据和实际输出数据,所述实际输入数据和所述实际输出数据一一对应;
[0110] 进一步地,对于输入输出模型来讲,需要对预设初始模型进行训练从而得到,因此,在步骤203之前,参照图4,图4可以包括以下步骤:
[0111] 步骤001,将多个预设时间段内采集的实际输入数据进行预处理,生成多个预设时间段内对应的数据集;
[0112] 步骤002,在所述多个预设时间段内对应的数据集中筛选当前时刻对应的三个预设时间段内所述内存状态处于正常状态的目标数据集;
[0113] 步骤003,将所述目标数据集进行归一化处理,得到训练样本。
[0114] 步骤004,根据所述训练样本对预设初始模型进行训练,得到输入输出模型。
[0115] 需要说明的是,在本申请实施例中,主要阐述第二内存数据的处理部分,第二内存数据的特性是对内存状态存在间接影响的间接因素信息,因此,在本申请实施例中,通过对第二内存数据进行训练,得到输入输出模型,根据输入输出模型可以获取一种影响因子,即健康度影响因子。
[0116] 如图7所示,图7是输入输出模型的训练样本的获取以及训练的具体流程,可以看出,在 时间段,每1s主动收集实测的内存温度、电压、运行时频率、擦写速度信息,且每十个数据计算平均值得到间接因素信息“数据集_0”。由间接因素信息“数据集_0”组成“总的间接因素数据集”。其中 为收集时间周期,可以设置为1小时、5小时、24小时。
[0117] 进一步地,所述输入输出模型对应的数据集包括四列向量数据,所述输入输出模型包括三个输入数据对应一个输出数据。
[0118] 进一步地,所述三个输入数据包括内存对应的平均电压、运行时平均频率以及平均擦写速度数据,所述输出数据包括内存平均温度数据。
[0119] 其中,总的间接因素数据集中共四列向量数据,前三列可以分别为内存对应的平均电压、运行时平均频率、平均擦写速度数据,最后一列为内存对应的平均温度数据,各数据向量分别进行0 1区间归一化处理后,得到训练样本。训练样本中前三列作为训练输入输~出模型的输入信息,最后一列作为训练输入输出模型的输出信息。
[0120] 因此,在输入输出模型训练好之后,将获取的第二内存数据输入至输入输出模型中,其中,第二内存数据中包括实际输入数据和实际输出数据,实际输入数据和实际输出数据一一对应,其中,实际输入数据包括以下至少一种平均电压、运行时平均频率以及平均擦写速度数据,实际输出数据包括内存平均温度数据。
[0121] 具体的,实际输将实际输入数据输入至输入输出模型,得到实际输入数据对应的预测输出数据,将预测输出数据和实际输出数据进行比对,可以得到误差值,根据误差值从而可以确定健康度影响因子。
[0122] 在 时刻,基于训练样本可以通过网格分割的方式产生Takagi‑Sugeno型FIS结构,确定隶属度函数参数的初值,具体的,可以参照图9,图9是利用网格分割方法生成的初始FIS网络结构的示意图。
[0123] 需要说明的是,在本申请实施例中,预设初始模型可以为自适应模糊神经网络ANFIS,ANFIS为多输入单输出系统,本申请中的ANFIS为三输入单输出的ANFIS结构,具体的,如图8所示,ANFIS的结构由五层组成,从输入到输出分别为模糊层、规则层、归一化层、去模糊层和输出层。
[0124] 具体的,在ANFIS中,隶属度函数的参数是通过样本数据集进行训练确定的,隶属度函数相互组合或交互的方式称为规则,其if‑then形式的规则描述如下:
[0125] 规则 1:
[0126] 规则 2:
[0127] 规则 3:
[0128] 上述表示if‑then形式中,、 和 是节点的输入; 为输出; 、 和 分别为与输入 、 和 有关的模糊集合, ; 、 、 和 是结果参数,通常称为后件参数。
[0129] 第一层:该层节点函数为隶属度函数。
[0130] (公式1)
[0131] 上述公式1中, 为该层输出值;为输入信号数量; 、 和 为广义钟形隶属函数(gbellmf),定义为
[0132] (公式2)
[0133] 上述公式2中, 、 和 为条件参数,通常也称为前件参数,参数数值的变化可以改变gbellmf形状。
[0134] 第二层:该层节点标记为 。输出值 是通过所有输入成员函数相乘来计算得到的。
[0135] (公式3)
[0136] 上述公式3中, 表示第 条规则的激励强度。
[0137] 第三层:该层节点标记为 。将前一层的输出结果做归一化处理,输出值 是处理后的激励强度。
[0138] (公式4)
[0139] 上述公式4中, 为第三层的输出值。
[0140] 第四层:该层在归一化的激励强度和结果函数之间创建一个自适应关联函数,是第三层和第一层的值的乘积。
[0141] (公式5)
[0142] 上述公式5中, 、 、 和 是结果参数,通常称为后件参数。
[0143] 第五层:该层标记为 。它以所有输入信号的总和来计算总输出。
[0144] (公式6)
[0145] 上述公式6中, 所有输入信号的总和。
[0146] 需要说明的是,ANFIS中的模糊隶属度函数参数(包括前件参数和后件参数)是通过大量已知数据生成初始模糊模型再进行训练获得的。通过这种迭代自适应学习过程对ANFIS进行训练,模型系统的前件和后件参数能够被优化调整,最后确定能够拟合训练数据集的隶属度函数参数值。在每次迭代训练中,实际输出与预期输出之间的误差可以被减小,当达到预定的训练次数或错误率时停止训练过程。
[0147] 在 时间段,每1s主动收集实测的内存温度、电压、运行时频率、擦写速度信息,且每十个数据计算平均值得到间接因素信息“数据集_1”。同时在该时间段内,使用平均电压、运行时平均频率、平均擦写速度数据作为上一周期获得的ANFIS模型的输入信息,可得到相应的平均温度输出值,将输出值与实测的平均内存温度数据进行对比,若对比误差小于设定的阈值则说明该时间段内间接因素信息反馈内存无异常。
[0148] 在 时刻,由数据集_1补充总的间接因素数据集,经归一化处理后得到新的训练样本,并在上一个周期训练得到的ANFIS模型规则基础上进行再训练,可以快速的更新ANFIS模型规则;
[0149] 相似的,在时间 段内,可以重复上述 时间段和 时刻对应的操作,以获得训练样本的获取及ANFIS模型的训练具体流程。
[0150] 需要说明的是,为避免数据集过大可通过设置滑动时间窗口,使得总的间接因素数据集中最多可包含最近3个时间周期内收集的反馈内存无异常的数据;训练样本的获取及ANFIS模型的训练过程,可以设置以间隔 时间段的周期性方式进行,也可以认为主动方式设置非周期性的进行,上述仅以间隔 时间段的周期性方式进行说明。
[0151] 进一步地,步骤203中,根据所述误差值确定健康度影响因子包括:在检测到所述误差值小于目标误差阈值的情况下,将所述健康度影响因子设置为1;在检测到所述误差值大于所述目标误差阈值的情况下,获取预先设置的内存健康度策略,根据所述内存健康度策略确定所述健康度影响因子。
[0152] 需要说明的是,在本申请实施例中,当通过间接因素得到反馈结果是内存异常,则其对内存健康度分数的影响一定是消极的,因此,本申请实施例可以通过设置健康度影响因子规则。
[0153] 进一步地,所述目标误差阈值是根据所述预测输出数据和所述实际输出数据之间的目标均方误差向量对应的均方根误差确定的。
[0154] 需要说明的是,基于样本数据对输入输出模型进行训练时,可以获取训练数据最小均方误差向量,求得最小均方误差向量的均方根误差 ,可以根据预设经验公式,设置3作为下一次输入输出模型规则更新前的阈值,用于标量化通过间接因素得到的反馈结果。
[0155] 若基于输入输出模型得到的输出结果与实测数据之间的对比误差小于3 ,则表示内存无异常,即间接因素不影响内存健康度策略,健康度影响因子设置为1;若对比误差大于3 ,则设置间接因素影响内存健康度策略,健康度影响因子数值随误差大小变化。
[0156] 步骤204,根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态。
[0157] 需要说明的是,上述步骤204参照前序论述,在此不再赘述。
[0158] 本申请实施例通过分析影响服务器内存健康运行的各种因素,将不同影响因素对应的内存数据分为两类,即第一内存数据和第二内存数据,其中,第一存储数据对应的第一历史存储数据可以生成预设内存健康度评估模型,第一存储数据可以根据预设内存健康度评估模型确定内存对应的初步内存健康度分数;其次,可以通过对第二历史内存数据进行处理,对预设初始模型进行训练,从而生成输入输出模型,通过将第二内存数据输入至训练好的输入输出模型后,可以确定内存的健康度影响因子,进而根据初步内存健康度分数和健康度影响因子可以确定当前内存状态,本申请通过根据内存数据对内存的影响将内存数据划分为两类,通过健康度影响因子调节内存健康度分数,可以有效且准确的对内存健康情况进行检测。
[0159] 另外,本申请实施例中基于输入输出模型,获取了内存实测温度、电压、运行频率、擦写速度信息之间的映射关系。设计了建立和更新输入输出模型规则的方式,可根据实测数据在线更新输入输出模型,可根据输入输出模型预测结果在一定程度上预警内存风险。
[0160] 另外,本申请实施例中提出了内存健康度影响因子概念,并给出了内存健康度影响因子的详细获取方法,以及健康度影响因子与初步内存健康评价策略获得的健康分数的计算方式。
[0161] 参照图3,示出了本申请实施例提供的内存状态检测方法的步骤流程图三,所述方法可以包括:
[0162] 步骤301,获取内存数据;
[0163] 步骤302,根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;
[0164] 步骤303,根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;
[0165] 需要说明的是,上述步骤301‑303参照前序论述,在此不再赘述。
[0166] 步骤304,根据所述初步内存健康度分数、当前时刻的所述健康度影响因子以及所述当前时刻对应的上一个预设时间周期内的所述健康度影响因子确定当前时刻内存对应的目标内存健康度分数。
[0167] 需要说明的是,在本申请实施例中,通过初步内存健康度分数、当前时刻的所述健康度影响因子以及所述当前时刻对应的上一个预设时间周期内的所述健康度影响因子确定当前时刻内存对应的目标内存健康度分数。
[0168] 其中,当前时刻对应的上一个预设时间周期内的所述健康度影响因子是指当前时刻的上一时间周期内的健康度影响因子,其中,时间周期可以指前序阐述过的间隔 时间段的周期。
[0169] 具体的,所述目标内存健康度分数通过以下公式生成:
[0170] (公式7)
[0171] 其中,上述公式7中, 用于表示所述目标内存健康度分数, 用于表示所述初步内存健康度分数, 用于表示当前时刻的所述健康度影响因子, 用于表示所述当前时刻对应的上一个预设时间周期内的所述健康度影响因子,用于表示多个所述预测输出数据和实际输出数据之间的误差值对应的平均值, 用于表示目标误差阈值。
[0172] 步骤305,根据所述目标内存健康度分数确定当前时刻内存对应的状态。
[0173] 进一步地,步骤305可以包括:在检测到所述目标内存健康度分数小于目标健康度阈值,或者,所述健康度影响因子小于或者大于1的情况下,向用户发送预警信息,以使所述用户通过预设显示界面查看当前时刻的内存状态。
[0174] 需要说明的是,在本申请实施例中,可以通过Web界面显示。用户可通过输入服务器登录地址,查询服务器所配置的各内存条的健康度评价结果,显示界面示意图10所示。
[0175] 另外,在检测到目标内存健康度分数小于目标健康度阈值,或者,健康度影响因子小于或者大于1的情况下,向用户发送预警信息,以使用户通过预设显示界面查看当前时刻的内存状态,其中,预设显示界面即前序Web界面,用户可通过显示界面查看各内存条详细信息,如图11。若某一内存健康分数小于60分,或健康度影响因子不为1,则主动向用户预警。
[0176] 本申请实施例通过分析影响服务器内存健康运行的各种因素,将不同影响因素对应的内存数据分为两类,即第一内存数据和第二内存数据,其中,第一存储数据对应的第一历史存储数据可以生成预设内存健康度评估模型,第一存储数据可以根据预设内存健康度评估模型确定内存对应的初步内存健康度分数;其次,可以通过对第二历史内存数据进行处理,对预设初始模型进行训练,从而生成输入输出模型,通过将第二内存数据输入至训练好的输入输出模型后,可以确定内存的健康度影响因子,进而根据初步内存健康度分数和健康度影响因子可以确定当前内存状态,本申请通过根据内存数据对内存的影响将内存数据划分为两类,通过健康度影响因子调节内存健康度分数,可以有效且准确的对内存健康情况进行检测。
[0177] 另外,本申请实施例在实现有效对内存健康度进行标量评价的同时,可根据内存健康度分数以及健康影响因子数值对内存异常进行预警,当内存度分数低至异常阈值,提示用户更换健康硬件。
[0178] 参照图5,图5示出了本申请实施例提供的一种内存状态检测装置,所述装置可以包括:
[0179] 获取模块501,用于获取内存数据;
[0180] 划分模块502,用于根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;
[0181] 第一确定模块503,用于根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;
[0182] 第二确定模块504,用于根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态。
[0183] 本申请实施例通过分析影响服务器内存健康运行的各种因素,将不同影响因素对应的内存数据分为两类,即第一内存数据和第二内存数据,其中,第一存储数据对应的第一历史存储数据可以生成预设内存健康度评估模型,第一存储数据可以根据预设内存健康度评估模型确定内存对应的初步内存健康度分数;其次,可以通过对第二历史内存数据进行处理,对预设初始模型进行训练,从而生成输入输出模型,通过将第二内存数据输入至训练好的输入输出模型后,可以确定内存的健康度影响因子,进而根据初步内存健康度分数和健康度影响因子可以确定当前内存状态,本申请通过根据内存数据对内存的影响将内存数据划分为两类,通过健康度影响因子调节内存健康度分数,可以有效且准确的对内存健康情况进行检测。
[0184] 本申请实施例还提供了一种通信设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信,
[0185] 存储器603,用于存放计算机程序;
[0186] 处理器601,用于执行存储器603上所存放的程序时,可以实现如下步骤:
[0187] 获取内存数据;
[0188] 根据所述内存数据的类型将所述内存数据划分为第一内存数据和第二内存数据;
[0189] 根据预设内存健康度评估模型和所述第一内存数据确定初步内存健康度分数,以及,将所述第二内存数据通过输入输出模型进行处理,确定健康度影响因子,其中,所述预设内存健康度评估模型是基于第一历史内存数据确定的,所述输入输出模型是基于第二历史内存数据对预设初始模型进行训练生成的;
[0190] 根据所述初步内存健康度分数和所述健康度影响因子确定当前内存状态。
[0191] 上述终端提到的通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
[0192] 通信接口用于上述终端与其他设备之间的通信。
[0193] 存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non‑volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
[0194] 上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0195] 在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的内存状态检测。
[0196] 在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的内存状态检测。
[0197] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或第三数据库通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或第三数据库进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、第三数据库等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk (SSD))等。
[0198] 需要说明的是,在本文中,诸如第一和第一等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0199] 本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0200] 以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。