CN116302656A - 智能内存隔离方法以及相关设备 - Google Patents

智能内存隔离方法以及相关设备 Download PDF

Info

Publication number
CN116302656A
CN116302656A CN202310301859.5A CN202310301859A CN116302656A CN 116302656 A CN116302656 A CN 116302656A CN 202310301859 A CN202310301859 A CN 202310301859A CN 116302656 A CN116302656 A CN 116302656A
Authority
CN
China
Prior art keywords
memory
error
address
page
target
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
Application number
CN202310301859.5A
Other languages
English (en)
Other versions
CN116302656B (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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202310301859.5A priority Critical patent/CN116302656B/zh
Publication of CN116302656A publication Critical patent/CN116302656A/zh
Application granted granted Critical
Publication of CN116302656B publication Critical patent/CN116302656B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了智能内存隔离方法以及相关设备,用于保证内存的正常运行。本申请实施例方法包括:获取内存中的内存错误地址;基于所述内存错误地址的行列信息,判断是否存在所述内存错误地址的关联错误地址;若存在所述关联错误地址,则对所述内存错误地址以及所述关联错误地址执行内存隔离流程。

Description

智能内存隔离方法以及相关设备
技术领域
本申请实施例涉及计算机领域,尤其涉及智能内存隔离方法以及相关设备。
背景技术
随着大数据和AI应用的兴起,数据处理和计算规模日益增加,系统的内存规模也越来越大,然而内存出现不可纠正错误会使得系统宕机,从而影响业务的连续性,造成重大损失。因此研究针对内存错误的预防/预测方法变得十分重要。
现有技术方案中,仅能隔离根据错误预测算法预测出的内存错误页。实际上,由于有些页出错可能意味着该页所在的行或者列中的某些页也出错了。现有技术方案无法对预测出的内存错误页的关联错误页进行处理,在关联错误页出错后,会影响内存的正常运行进而导致系统宕机,破坏了业务的连续性。
发明内容
本申请实施例提供了智能内存隔离方法以及相关设备,用于保证内存的正常运行。
本申请实施例第一方面提供一种智能内存隔离方法,包括:
获取内存中的内存错误地址,所述内存错误地址基于错误预测算法确定;
基于所述内存错误地址的行列信息,判断是否存在所述内存错误地址的关联错误地址;
若存在所述关联错误地址,则对所述内存错误地址以及所述关联错误地址执行内存隔离流程。
在一种具体实现方式中,所述方法还包括:
采用故障注入方式将所述内存错误地址输入所述内存中,以获得所述内存错误地址所在的目标行以及目标列,所述目标行以及所述目标列为所述内存错误地址的行列信息。
在一种具体实现方式中,所述方法还包括:
确定所述内存的规格信息;
基于所述规格信息对所述内存执行延时测量,以确定所述内存错误地址所在的目标行以及目标列。
在一种具体实现方式中,所述基于所述内存错误地址的行列信息,判断是否存在所述内存错误地址的关联错误地址,包括:
轮流将与所述行列信息对应的每个内存地址确定为待测内存地址;
将所述待测内存地址输入所述错误预测算法,以获得所述待测内存地址的预测结果;
若所述待测内存地址的预测结果为预测错误页,则确定所述待测内存地址为关联错误地址。
在一种具体实现方式中,所述若存在所述关联错误地址,则对所述内存错误地址以及所述关联错误地址执行内存隔离流程,包括:
轮流将所述内存错误地址以及每个关联错误地址确定为目标错误地址;
确定所述目标错误地址对应的目标错误页,以及所述目标错误页的页属性;
根据所述目标错误页的页属性,对所述目标错误地址执行内存隔离流程。
在一种具体实现方式中,所述根据所述目标错误页的页属性,对所述目标错误地址执行内存隔离流程,包括:
若所述目标错误页为大页,则确定所述目标错误页的首地址,并将所述目标错误页存储的数据信息转移至任一预设的空闲隔离大页中;
若所述目标错误页为任一预设风险页,则拒绝隔离所述目标错误页。
本申请实施例第二方面提供一种计算机设备,包括:
获取单元,用于获取内存中的内存错误地址,所述内存错误地址基于错误预测算法确定;
判断单元,基于所述内存错误地址的行列信息,判断是否存在所述内存错误地址的关联错误地址;
隔离单元,用于若存在所述关联错误地址,则对所述内存错误地址以及所述关联错误地址执行内存隔离流程。
在一种具体实现方式中,所述设备还包括:输入单元;
所述输入单元,用于采用故障注入方式将所述内存错误地址输入所述内存中,以获得所述内存错误地址所在的目标行以及目标列,所述目标行以及所述目标列为所述内存错误地址的行列信息。
在一种具体实现方式中,所述设备还包括:确定单元;
所述确定单元,用于确定所述内存的规格信息;
所述确定单元,还用于基于所述规格信息对所述内存执行延时测量,以确定所述内存错误地址所在的目标行以及目标列。
在一种具体实现方式中,所述判断单元,具体用于轮流将与所述行列信息对应的每个内存地址确定为待测内存地址;
将所述待测内存地址输入所述错误预测算法,以获得所述待测内存地址的预测结果;
若所述待测内存地址的预测结果为预测错误页,则确定所述待测内存地址为关联错误地址。
在一种具体实现方式中,所述隔离单元,具体用于轮流将所述内存错误地址以及每个关联错误地址确定为目标错误地址;
确定所述目标错误地址对应的目标错误页,以及所述目标错误页的页属性;
根据所述目标错误页的页属性,对所述目标错误地址执行内存隔离流程。
在一种具体实现方式中,所述隔离单元,具体用于若所述目标错误页为大页,则确定所述目标错误页的首地址,并将所述目标错误页存储的数据信息转移至任一预设的空闲隔离大页中;
若所述目标错误页为任一预设风险页,则拒绝隔离所述目标错误页。
本申请实施例第三方面提供一种计算机设备,包括:
中央处理器,存储器以及输入输出接口;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行第一方面所述的方法。
本申请实施例第四方面提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如第一方面所述的方法。
本申请实施例第五方面提供一种计算机存储介质,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如第一方面所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:可以在获取内存错误地址后,可以确定该内存错误地址是否存在相应的关联错误地址。若存在关联错误地址,则对内存错误地址以及该内存错误地址的关联错误地址均执行内存隔离流程,以最大程度上预防可能出现的内存错误导致的系统宕机。
附图说明
图1为本申请实施例公开的智能内存隔离方法的一种流程示意图;
图2为本申请实施例公开的智能内存隔离方法的另一流程示意图;
图3为本申请实施例公开的基于已知信息获取内存物理结构的一个示例图;
图4为本申请实施例公开的计算机设备的一个结构示意图;
图5为本申请实施例公开的计算机设备的另一结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前主流的内存隔离方法主要是基于错误页,也就是通过简单规则和/或基于机器学习的内存预测算法来预测到可能出现的内存错误页,并提前对该内存错误页进行隔离,以避免该内存错误页发生实际错误,导致系统宕机。然而现有的方法存在通用性问题,如不存在针对大页以及风险页的隔离方法。此外,由于无法获取内存结构信息,因此无法确定内存错误页是否存在关联错误页,也就无法提前对关联错误页进行处理。
解决现有内存隔离方法的通用性,以及无法及时获取内存结构信息来实现更好的内存隔离/预隔离方案的问题,本申请实施例提供了智能内存隔离方法以及相关设备,用于保证内存的正常运行。
请参阅图1,本申请实施例提供一种智能内存隔离方法,包括以下步骤:
101、获取内存中的内存错误地址。
在前有针对内存的错误预测算法的基础上,对预测出的内存错误地址进行处理。具体的,可以通过定期和/或不定期运行错误预测算法对内存中每个内存地址进行预测,便可以确定出内存中的内存错误地址。可以理解的是,本申请实施例中,仅描述了针对一个内存错误地址进行智能隔离处理的方法,在实际应用中,基于错误预测算法确定出的每个内存错误地址都可通过本申请实施例的智能内存隔离流程进行处理。
另外,可以理解的是,针对已经出现错误的内存错误页,也可以采用本申请实施例的智能内存隔离流程进行处理。
102、基于内存错误地址的行列信息,判断是否存在内存错误地址的关联错误地址。
考虑到有些页的出错意味着其所在行或者列中的至少部分页出错了,为了避免隔离整行或整列的方式对大量内存资源的占用,更好的方式是通过将其所在行或者列中可能出错的关联错误地址确定出来,实现精准隔离。
在一些具体实现方式中,可以通过以下方式,将内存错误地址的关联错误地址确认出来:轮流将与行列信息对应的每个内存地址确定为待测内存地址;将待测内存地址输入错误预测算法,以获得待测内存地址的预测结果;若待测内存地址的预测结果为预测错误页,则确定待测内存地址为关联错误地址。
具体的,依次对内存错误地址所在的行以及列中的每个内存地址(即待测内存地址)输入错误预测算法,错误预测算法是二元分类模型,可以根据待测内存地址发生错误的可能性,和不发生错误的可能性,确定待测内存地址是否会发生错误。一般的,当发生错误的可能性大于不发生错误的可能性时,就认为待测内存地址可能发生错误,便需要将该待测内存地址确定为关联错误地址。需要注意的是,此处错误预测算法所执行的内容与前述步骤101中从内存中预测出目标错误内存页的方式类似,此处不再赘述。
103、若存在关联错误地址,则对内存错误地址以及关联错误地址执行内存隔离流程。
若存在关联错误地址,则对内存错误地址以及关联错误地址执行内存隔离流程;若不存在关联错误地址,则仅对内存错误地址执行内存隔离流程即可。
本申请实施例中,可以在获取内存错误地址后,可以确定该内存错误地址是否存在相应的关联错误地址。若存在关联错误地址,则对内存错误地址以及该内存错误地址的关联错误地址均执行内存隔离流程,以最大程度上预防可能出现的内存错误导致的系统宕机。
在一些具体实现方式中,内存隔离流程包括隔离确认以及隔离执行,隔离确认用于确认相应的内存错误地址是否符合隔离条件,而隔离执行就是对相应的内存错误地址执行实际的隔离操作。本步骤103具体可以通过以下方式实现:轮流将内存错误地址以及每个关联错误地址确定为目标错误地址;确定目标错误地址对应的目标错误页,以及目标错误页的页属性;根据目标错误页的页属性,对目标错误地址执行内存隔离流程。
具体的,内存中记录了每个内存地址所属的页,以及该页的页属性,通过查询相关数据便可以确定目标错误页以及目标错误页的页属性。针对普通页可参照现有的隔离方式,直接将普通页中的数据信息转移至空闲的可用于隔离的普通页中。
进一步的,考虑到内存资源有限,若不存在空闲大页(即内存中页属性为大页的空闲页),则无法成功地对大页进行隔离。本申请实施例可以通过操作系统在内存中预设一些隔离大页(可通过标识与普通的大页区分),也就是预设一些只能做隔离使用的大页,以尽可能保证大页隔离需求。若目标错误页为大页,则确定目标错误页的首地址,并将目标错误页存储的数据信息转移至任一预设的空闲隔离大页中。其中,内存中每个大页的大小是一致的,加上获取的目标错误页的首地址,可以准确获取目标错误页记录的全部数据信息,并将这些数据信息存储在任一预设的空闲隔离大页中,即存储任一预设的未存储任何内容的隔离大页中。
另外,考虑到目标错误页可能是无法索引、有特殊/指定用途无法被普通用户访问和分配的页(也就无法被隔离)、或者与运行操作系统相关的页(隔离会导致操作系统无法运行),这种页属于风险页或者叫特殊页,这些页可以预先配置风险标识,或者记录在风险页表单中,此处不作具体限定。因此,若目标错误页为任一预设风险页,则拒绝隔离所述目标错误页,也就不走隔离执行流程。
更进一步的,前述实施例中所提到的内存错误地址的行列信息,也就是内存错误地址的物理结构,可以通过基于故障注入的方式获取、或基于已有信息逆向获取的方式获取,详见下述实施例。
1、基于故障注入获取
部分内存的生产厂商提供了故障注入工具供开发人员和/或用户进行内存测试,以保证内存是处于正常运行状态。为了对内存出错的地址进行准确定位,通过计算机设备运行该故障注入工具,且保证计算机设备与内存相连,在内存错误地址对应的内存错误页未发生实际错误的情况下,就可以获取到内存中该内存错误页的行列信息,也就是目标行以及目标列。
2、基于已有信息逆向获取
前述方式1中基于故障注入获取物理结构的方式较为简单快捷,但并非所有内存都支持通过前述方式获得物理结构,因此,本申请实施例还提供一种基于已有信息逆向获取物理结构的方法进行补充,使得整个基于内存结构的隔离/预隔离方案更加通用。
首先,基于内存的规格信息可以确定内存包含的页以及页对应的地址。然后,考虑到针对相邻的两个内存地址(如处于同行同类的两个内存地址)执行延时测试,二者的延时会比较接近,而距离较远的两个内存地址(如处于不同行不同列的两个内存地址)执行延时测试,二者的延时会有明显的差别,因此通过这种方式可以确定出内存错误页的行列信息。其中,内存的规格信息包括但不限于:内存行列bits的确切数量、内存容量、bank数以及bank寻址方式(如Intel CPU的bank寻址是基于XOR的线性计算方式),此处不做限定。
比如先获取服务器的CPU chip数P,总内存容量是M,通道数为C,内存条的Rank数为R,Rank中的bank数为B,行数Row,列数Col,这些规格信息。假设已出错地址为addr1,那么首先根据上面获取的信息,得到行的大小:M/(P*C*R*B*Row),得到列的大小:M/(P*C*R*B*Col)。然后测量下述十个地址{addr1+k*M/(P*C*R*B*Row)、addr1+k*M/(P*C*R*Row)、addr1+k*M/(P*C*Row)、addr1+k*M/(P*Row)、addr1+k*M/Row、addr1-k*M/(P*C*R*B*Row)、addr1-k*M/(P*C*R*Row)、addr1-k*M/(P*C*Row)、addr1-k*M/(P*Row)、addr1-M/Row}的延时,上述地址如果有负数则地址+M。其中k={1,2...M/(P*C*R*B*Row)}。即先令k=1,找到延时最接近的地址{A1,B1}。然后k=2继续找延时最接近的地址,{A2,B2}。
如果{A1,B1}={A2,B2},那么A1和B1就是同一行,确定行映射f(A1)=f(B1),从而可以推出同一行的其他地址f(Addr1),这样就可以继续隔离这些同一行地址。如果{A1,B1}不等于{A2,B2},那就继续往下找,直到{An,Bn}={An-1,Bn-1},即An-1,Bn-1就是同一行,确定行映射f(An-1)=f(Bn-1),从而可以推出同一行的其他地址f(Addr1),然后去继续隔离这些同一行地址。同一列类似。而如果能直接获取寻址方式如Intel CPU的bank寻址是基于XOR的线性计算方式f,就可以直接根据其计算方式得到f(Addr1)。
需要说明的是,针对已经出现错误的内存错误页,只能采用前述方式2基于已有信息逆向获取物理结构。
请参阅图2下面在一个场景下,描述本实施例的智能内存隔离方法。
内存在发生内存错误时,可以采用隔离方法来进行隔离。然而直接隔离会存在隔离不成功的情况,比如大页,还有一些风险页隔离还会造成宕机。
因此在内存发生错误时,首先获取内存错误地址,然后根据内存错误地址来进行分析,识别该内存错误地址对应的内存错误页的页属性是普通页、大页、或是风险页。针对普通页可以直接采用之前的隔离方案。而基于大页,需要获取其对应的首地址,然后通过预设的仅用于隔离的隔离大页,避免内存中大页都被使用完,且内存存在空闲但无法进行大页隔离的情况发生。而针对部分隔离会导致系统宕机的风险页,则不能隔离。此处风险页通常是自定义(预设或者预先配置的),或者是逃脱内存管理的页。
通过上述的基于页属性的隔离方案设计可以有效解决大页隔离失败的问题,并避免风险页隔离造成的宕机问题。
其次,只隔离内存出错页是不够的,有些页出错可能意味着其所在行或者列中存在至少部分(可能或已经)出错的关联内存页,因此还需要隔离关联错误页,因此要获取内存错误页的物理结构,即其所在的行列信息。现有内存物理结构信息获取方法均未公开,都是由内存生产厂商保密,无法获取。因此,本实施例提供基于故障注入获取以及基于已有信息逆向获取的内存物理结构获取方式。
基于故障注入获取,将内存地址提供(任一内存地址)给故障注入工具,然后内存的mcelog便会报告该内存所属页面的行列信息,通过该方法,我们可以把所有和内存出错页相同行列的关联错误页找到,然后参照前述相关实施例执行隔离流程。
请参阅图3,基于已有信息逆向的获取,会从内存条的规格(DDR3/DDR4/DDR5)来获取内存行列bits的确切数量,获取当前机器的内存容量和bank数,还有经验数据,比如Intel CPU的bank寻址是基于XOR的线性计算方式。通过获取这些信息,然后再选取内存地址进行延时测量来划分行、列,进而确定内存错误页的行列信息。详见前述以及后述相关实施例。
需要说明的是,已经出现错误的内存页可以采用本方案,针对那些采用针对内存的错误/故障预测算法预测到的内存页也可以采用本方案进行隔离。
本申请实施例,通过采用基于页属性的隔离方案,以及基于内存结构的预隔离方案可以有效解决现有内存隔离方法的通用性问题,以及无法及时获取内存结构信息来实现更好的内存隔离/预隔离方案的问题。
请参阅图4,本申请实施例提供一种计算机设备,包括:
获取单元401,用于获取内存中的内存错误地址;
判断单元402,基于内存错误地址的行列信息,判断是否存在内存错误地址的关联错误地址;
隔离单元403,用于若存在关联错误地址,则对内存错误地址以及关联错误地址执行内存隔离流程。
在一种具体实现方式中,设备还包括:输入单元;
输入单元,用于采用故障注入方式将内存错误地址输入内存中,以获得内存错误地址所在的目标行以及目标列,目标行以及目标列为内存错误地址的行列信息。
在一种具体实现方式中,设备还包括:确定单元;
确定单元,用于确定内存的规格信息;
确定单元,还用于基于规格信息对内存执行延时测量,以确定内存错误地址所在的目标行以及目标列。
在一种具体实现方式中,判断单元402,具体用于轮流将与行列信息对应的每个内存地址确定为待测内存地址;
将待测内存地址输入错误预测算法,以获得待测内存地址的预测结果;
若待测内存地址的预测结果为预测错误页,则确定待测内存地址为关联错误地址。
在一种具体实现方式中,隔离单元403,具体用于轮流将内存错误地址以及每个关联错误地址确定为目标错误地址;
确定目标错误地址对应的目标错误页,以及目标错误页的页属性;
根据目标错误页的页属性,对目标错误地址执行内存隔离流程。
在一种具体实现方式中,隔离单元403,具体用于若目标错误页为大页,则确定目标错误页的首地址,并将目标错误页存储的数据信息转移至任一预设的空闲隔离大页中;
若目标错误页为任一预设风险页,则拒绝隔离目标错误页。
图5是本申请实施例提供的一种计算机设备结构示意图,该计算机设备500可以包括一个或一个以上中央处理器(central processing units,CPU)501和存储器505,该存储器505中存储有一个或一个以上的应用程序或数据。
其中,存储器505可以是易失性存储或持久存储。存储在存储器505的程序可以包括一个或一个以上模块,每个模块可以包括对计算机设备中的一系列指令操作。更进一步地,中央处理器501可以设置为与存储器505通信,在计算机设备500上执行存储器505中的一系列指令操作。
计算机设备500还可以包括一个或一个以上电源502,一个或一个以上有线或无线网络接口503,一个或一个以上输入输出接口504,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
该中央处理器501可以执行前述图1至图4所示实施例中计算机设备所执行的操作,具体此处不再赘述。
需要说明的是,虽然各实施例所涉及的流程图中各个步骤按照箭头的指示依次绘制,但除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,read-onlymemory)、随机存取存储器(RAM,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如上述的智能内存隔离方法。

Claims (10)

1.一种智能内存隔离方法,其特征在于,包括:
获取内存中的内存错误地址;
基于所述内存错误地址的行列信息,判断是否存在所述内存错误地址的关联错误地址;
若存在所述关联错误地址,则对所述内存错误地址以及所述关联错误地址执行内存隔离流程。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
采用故障注入方式将所述内存错误地址输入所述内存中,以获得所述内存错误地址所在的目标行以及目标列,所述目标行以及所述目标列为所述内存错误地址的行列信息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述内存的规格信息;
基于所述规格信息对所述内存执行延时测量,以确定所述内存错误地址所在的目标行以及目标列。
4.根据权利要求1所述的方法,其特征在于,所述基于所述内存错误地址的行列信息,判断是否存在所述内存错误地址的关联错误地址,包括:
轮流将与所述行列信息对应的每个内存地址确定为待测内存地址;
将所述待测内存地址输入所述错误预测算法,以获得所述待测内存地址的预测结果;
若所述待测内存地址的预测结果为预测错误页,则确定所述待测内存地址为关联错误地址。
5.根据权利要求1所述的方法,其特征在于,所述若存在所述关联错误地址,则对所述内存错误地址以及所述关联错误地址执行内存隔离流程,包括:
轮流将所述内存错误地址以及每个关联错误地址确定为目标错误地址;
确定所述目标错误地址对应的目标错误页,以及所述目标错误页的页属性;
根据所述目标错误页的页属性,对所述目标错误地址执行内存隔离流程。
6.根据权利要求5所述的方法,其特征在于,所述根据所述目标错误页的页属性,对所述目标错误地址执行内存隔离流程,包括:
若所述目标错误页为大页,则确定所述目标错误页的首地址,并将所述目标错误页存储的数据信息转移至任一预设的空闲隔离大页中;
若所述目标错误页为任一预设风险页,则拒绝隔离所述目标错误页。
7.一种计算机设备,其特征在于,包括:
获取单元,用于获取内存中的内存错误地址,所述内存错误地址基于错误预测算法确定;
判断单元,基于所述内存错误地址的行列信息,判断是否存在所述内存错误地址的关联错误地址;
隔离单元,用于若存在所述关联错误地址,则对所述内存错误地址以及所述关联错误地址执行内存隔离流程。
8.根据权利要求7所述的计算机设备,其特征在于,所述计算机设备还包括:输入单元;
所述输入单元,用于采用故障注入方式将所述内存错误地址输入所述内存中,以获得所述内存错误地址所在的目标行以及目标列,所述目标行以及所述目标列为所述内存错误地址的行列信息。
9.一种计算机设备,其特征在于,包括:
中央处理器,存储器以及输入输出接口;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,并执行所述存储器中的指令操作以执行权利要求1至6中任一项所述的方法。
10.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,所述指令在计算机上执行时,使得所述计算机执行如权利要求1至6中任一项所述的方法。
CN202310301859.5A 2023-03-13 2023-03-13 智能内存隔离方法以及相关设备 Active CN116302656B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310301859.5A CN116302656B (zh) 2023-03-13 2023-03-13 智能内存隔离方法以及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310301859.5A CN116302656B (zh) 2023-03-13 2023-03-13 智能内存隔离方法以及相关设备

Publications (2)

Publication Number Publication Date
CN116302656A true CN116302656A (zh) 2023-06-23
CN116302656B CN116302656B (zh) 2023-11-03

Family

ID=86797613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310301859.5A Active CN116302656B (zh) 2023-03-13 2023-03-13 智能内存隔离方法以及相关设备

Country Status (1)

Country Link
CN (1) CN116302656B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893166A (zh) * 2016-04-29 2016-08-24 浪潮电子信息产业股份有限公司 一种处理内存错误的方法及装置
US20190012222A1 (en) * 2017-07-10 2019-01-10 Hewlett Packard Enterprise Development Lp Tracking errors associated with memory access operations
WO2020007813A1 (en) * 2018-07-04 2020-01-09 Koninklijke Philips N.V. Computing device with increased resistance against rowhammer attacks
CN110858167A (zh) * 2018-08-22 2020-03-03 阿里巴巴集团控股有限公司 一种内存故障隔离方法、装置及设备
CN114064333A (zh) * 2020-08-05 2022-02-18 华为技术有限公司 一种内存故障处理方法和装置
CN115421984A (zh) * 2022-09-29 2022-12-02 深信服科技股份有限公司 一种内存故障处理的方法、装置、电子设备及介质
CN115543591A (zh) * 2021-06-29 2022-12-30 深信服科技股份有限公司 一种内存处理方法、装置、设备及计算机可读存储介质
CN115629905A (zh) * 2022-12-21 2023-01-20 苏州浪潮智能科技有限公司 一种内存故障预警方法、装置、电子设备及可读介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893166A (zh) * 2016-04-29 2016-08-24 浪潮电子信息产业股份有限公司 一种处理内存错误的方法及装置
US20190012222A1 (en) * 2017-07-10 2019-01-10 Hewlett Packard Enterprise Development Lp Tracking errors associated with memory access operations
WO2020007813A1 (en) * 2018-07-04 2020-01-09 Koninklijke Philips N.V. Computing device with increased resistance against rowhammer attacks
CN110858167A (zh) * 2018-08-22 2020-03-03 阿里巴巴集团控股有限公司 一种内存故障隔离方法、装置及设备
CN114064333A (zh) * 2020-08-05 2022-02-18 华为技术有限公司 一种内存故障处理方法和装置
CN115543591A (zh) * 2021-06-29 2022-12-30 深信服科技股份有限公司 一种内存处理方法、装置、设备及计算机可读存储介质
CN115421984A (zh) * 2022-09-29 2022-12-02 深信服科技股份有限公司 一种内存故障处理的方法、装置、电子设备及介质
CN115629905A (zh) * 2022-12-21 2023-01-20 苏州浪潮智能科技有限公司 一种内存故障预警方法、装置、电子设备及可读介质

Also Published As

Publication number Publication date
CN116302656B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
CN112447224B (zh) 行锤击减轻
CN114968652A (zh) 故障处理方法及计算设备
CN112133357B (zh) 一种eMMC的测试方法及装置
CN111475105A (zh) 监控数据存储方法、设备、服务器及存储介质
US10664594B2 (en) Accelerated code injection detection using operating system controlled memory attributes
CN114860487A (zh) 一种内存故障识别方法及一种内存故障隔离方法
CN116302656B (zh) 智能内存隔离方法以及相关设备
CN112068781B (zh) 一种存储器的数据读写方法及相关设备
CN117608974A (zh) 基于人工智能的服务器故障检测方法、装置、设备及介质
CN110765005A (zh) 软件可靠性评估方法和装置
CN109947656A (zh) 一种测试用例管理方法及装置
CN112380127B (zh) 测试用例回归方法、装置、设备和存储介质
CN112216333B (zh) 芯片测试方法及装置
CN115391075A (zh) 内存故障处理方法、系统及存储介质
CN110858167B (zh) 一种内存故障隔离方法、装置及设备
CN108231134B (zh) Ram良率补救方法及装置
CN117079703B (zh) 用于测试芯片内嵌存储器的方法及装置、电子设备
EP3557422A1 (en) Method for accessing code sram, and electronic device
US20240338271A1 (en) Systems and methods for predictive memory maintenance visualization
CN112346932B (zh) 隐性坏盘的定位方法、装置、电子设备及计算机存储介质
CN110221971B (zh) 搜索引擎的测试方法及装置、电子设备、存储介质
CN117349059A (zh) 一种内存管理方法、装置、设备及机器可读存储介质
CN115470492A (zh) 账户异常检测方法、装置、电子设备及存储介质
CN117349053A (zh) 一种内存故障预测方法、装置及存储介质
CN113704237A (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