CN111143104A - 一种内存异常的处理方法、系统、电子设备及存储介质 - Google Patents

一种内存异常的处理方法、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN111143104A
CN111143104A CN201911386480.9A CN201911386480A CN111143104A CN 111143104 A CN111143104 A CN 111143104A CN 201911386480 A CN201911386480 A CN 201911386480A CN 111143104 A CN111143104 A CN 111143104A
Authority
CN
China
Prior art keywords
memory
bank
target
delay parameter
memory bank
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.)
Pending
Application number
CN201911386480.9A
Other languages
English (en)
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201911386480.9A priority Critical patent/CN111143104A/zh
Publication of CN111143104A publication Critical patent/CN111143104A/zh
Priority to PCT/CN2020/110362 priority patent/WO2021135272A1/zh
Priority to US17/789,953 priority patent/US11977744B2/en
Pending legal-status Critical Current

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • 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
    • 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请公开了一种内存异常的处理方法,所述处理方法包括读取内存Error寄存器中目标内存条的内存报错数量;当所述内存报错数量大于预设值时,对所述目标内存条执行热移除操作;计算内存延时参数,并将所述内存延时参数写入内存控制器;其中,所述内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长;对所述目标内存条执行热添加操作,以便所述内存控制器利用所述内存延时参数继续对所述目标内存条执行读写操作。本申请能够降低内存读写的报错率。本申请还公开了一种内存异常的处理系统、一种电子设备及一种存储介质,具有以上有益效果。

Description

一种内存异常的处理方法、系统、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种内存异常的处理方法、系统、一种电子设备及一种存储介质。
背景技术
随着计算机技术的发展,对服务器的稳定性可靠性的要求越来越高,内存的运行频率也越来越快,频率越高,信号更容易受到干扰出错,导致服务器内存报错,可靠性降低。内存的报错简单可分为CE(Correct Error,可纠正错误)和UCE(Uncorrect Error,不可纠正错误)两种,UCE导致软件读写数据错误,CE报错可用算法计算纠正但会导致系统性能降低,并且持续的CE会变为UCE导致软件读写数据错误,甚至宕机。
因此,如何降低内存读写的报错率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种内存异常的处理方法、系统、一种电子设备及一种存储介质,能够降低内存读写的报错率。
为解决上述技术问题,本申请提供一种内存异常的处理方法,该内存异常的处理方法包括:
读取内存错误寄存器中目标内存条的内存报错数量;
当所述内存报错数量大于预设值时,对所述目标内存条执行热移除操作;
计算内存延时参数,并将所述内存延时参数写入内存控制器;其中,所述内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长;
对所述目标内存条执行热添加操作,以便所述内存控制器利用所述内存延时参数继续对所述目标内存条执行读写操作。
可选的,在对所述目标内存条执行热添加操作之后,还包括:
所述目标内存条接收所述内存控制器发送的新读写命令,在延时所述内存延时参数对应的时长后向所述内存控制器反馈Ready信号,以便所述内存控制器在接收到所述Ready信号之后对所述目标内存条执行读写操作。
可选的,对所述目标内存条执行热移除操作包括:
通过拉低第一GPIO引脚的电平将所述目标内存条所在的地址空间从操作系统中移除,以便将所述目标内存条的状态设置为不可用状态。
可选的,对所述目标内存条执行热添加操作包括:
通过拉低第二GPIO引脚的电平将所述目标内存条所在的地址空间添加至所述操作系统,以便将所述目标内存条的状态恢复为可用状态。
可选的,将所述内存延时参数写入内存控制器包括:
通过PEIe总线读写所述内存控制器将所述内存延时参数写入所述内存控制器的寄存器。
可选的,所述目标内存条为DDR4内存条或DDR3内存条。
可选的,所述计算内存延时参数包括:
获取基本输入输出系统启动过程中的内存初始化代码,根据所述内存初始化代码计算所述内存延时参数。
本申请还提供了一种内存异常的处理系统,该系统包括:
报错数读取模块,用于读取内存错误寄存器中目标内存条的内存报错数量;
内存热移除模块,用于当所述内存报错数量大于预设值时,对所述目标内存条执行热移除操作;
参数设置模块,用于计算内存延时参数,并将所述内存延时参数写入内存控制器;其中,所述内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长;
内存热添加模块,用于对所述目标内存条执行热添加操作,以便所述内存控制器利用所述内存延时参数继续对所述目标内存条执行读写操作。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述内存异常的处理方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述内存异常的处理方法执行的步骤。
本申请提供了一种内存异常的处理方法,包括读取内存错误寄存器中目标内存条的内存报错数量;当所述内存报错数量大于预设值时,对所述目标内存条执行热移除操作;计算内存延时参数,并将所述内存延时参数写入内存控制器;其中,所述内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长;对所述目标内存条执行热添加操作,以便所述内存控制器利用所述内存延时参数继续对所述目标内存条执行读写操作。
本申请在内存错误寄存器中目标内存条的内存报错数量大于预设值时,重新计算内存延时参数,并将重新计算的内存延时参数写入内存控制器,以便内存控制器继续对所述目标内存条执行读写操作。内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长,而实际上目标内存条接收到读写命令后的需要等待的时长受到温度、湿度和内存状态影响而变化,当实际需要的等待时长变化长,而内存控制器中的内存延时参数不变时,将会导致内存报错数量增加,因此本申请通过重新计算并设置内存延时参数能够降低因等待时长不足导致的内存读写错误,进而降低内存读写的报错率。本申请同时还提供了一种内存异常的处理系统、一种电子设备和一种存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种内存异常的处理方法的流程图;
图2为本申请实施例所提供的一种服务器的结构图;
图3为本申请实施例所提供的一种内存异常的处理系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种内存异常的处理方法的流程图。
具体步骤可以包括:
S101:读取内存Error寄存器中目标内存条的内存报错数量;
其中,内存Error寄存器(即内存错误寄存器)中可以存储各个内存条的内存报错数量,具体的本步骤中所提到的内存报错数量可以包括可纠正的内存读写错误的数量。本实施例不限定目标内存条的种类,具体的目标内存条可以为为DDR4内存条或DDR3内存条。
S102:当所述内存报错数量大于预设值时,对所述目标内存条执行热移除操作;
其中,本实施例可以预先设置关于是否需要执行热移除操作的阈值,即本步骤中的预设值,当目标内存跳的内存报错数量大于预设值时,说明目标内存条中已经出现了足够多的读写错误,若目标内存条出现的读写错误继续增加将会导致宕机,因此此时可以对于目标内存条执行热移除操作。
具体的,本实施例可以通过拉低第一GPIO引脚的电平将所述目标内存条所在的地址空间从操作系统中移除,以便将所述目标内存条的状态设置为不可用状态。
S103:计算内存延时参数,并将所述内存延时参数写入内存控制器;
其中,导致内存条出现读写错误的原因在于内存控制器的内存延时参数对应的时长小于目标内存条接收到读写命令后实际需要的等待时长,因此为了避免继续出现内存读写错误,本实施例先将目标内存条设置为不可用状态,再重新计算内存延时参数,并将内存延时参数写入内存控制器。本实施例中写入内存控制器的内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长。
作为一种可行的实施方式,本实施例中计算内存延时参数可以为:获取基本输入输出系统启动过程中的内存初始化代码,根据所述内存初始化代码计算所述内存延时参数。内存初始化代码即MRC(Memory Reference Code),基本输入输出系统BIOS中包含有内存初始化代码,内存初始化代码由一系列读写内存控制器的步骤组成。
作为另一种可行的实施方式,本实施例可以通过PEIe总线读写所述内存控制器将所述内存延时参数写入所述内存控制器的寄存器。
S104:对所述目标内存条执行热添加操作,以便所述内存控制器利用所述内存延时参数继续对所述目标内存条执行读写操作。
其中,本步骤建立在已经将所述内存延时参数写入内存控制器的基础上,在对所述目标内存条执行热添加操作之后,所述内存控制器利用所述内存延时参数继续对所述目标内存条执行读写操作。具体的,软件读写内存时的过程具体可以包括:内存控制器从CMD信号线上发送读写命令到目标内存条,目标内存条收到读写命令后,等待一段内存延时参数对应的时间,然后通过Ready信号反馈给内存控制器状态可读写,内存控制器在接收到Ready信号之后可以通过DATA数据线读写内存条上的数据。
作为一种可行的实施方式,本实施例对所述目标内存条执行热添加操作可以包括:通过拉低第二GPIO引脚的电平将所述目标内存条所在的地址空间添加至所述操作系统,以便将所述目标内存条的状态恢复为可用状态。
本实施例在Error寄存器中目标内存条的内存报错数量大于预设值时,重新计算内存延时参数,并将重新计算的内存延时参数写入内存控制器,以便内存控制器继续对所述目标内存条执行读写操作。内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长,而实际上目标内存条接收到读写命令后的需要等待的时长受到温度、湿度和内存状态影响而变化,当实际需要的等待时长变化长,而内存控制器中的内存延时参数不变时,将会导致内存报错数量增加,因此本实施例通过重新计算并设置内存延时参数能够降低因等待时长不足导致的内存读写错误,进而降低内存读写的报错率。
作为对于图1对应实施例的进一步介绍,在S104对所述目标内存条执行热添加操作之后,所述目标内存条接收所述内存控制器发送的新读写命令,在延时所述内存延时参数对应的时长后向所述内存控制器反馈Ready信号,以便所述内存控制器在接收到所述Ready信号之后对所述目标内存条执行读写操作。
下面通过在实际应用中的实施例说明上述实施例描述的流程。请参见图2,图2为本申请实施例所提供的一种服务器的结构图,本实施例可以包括以下步骤:
步骤1:BIOS启动过程中将MRC检测,计算内存延时参数的动作通过LPC总线发给BMC。设置GPIO1,GPIO2为SMI属性,GPIO1用于通知OS内存热移除,GPIO2用于通知OS内存热添加;
其中,SMI即System Management Interrupt,为X86平台下一种中断。LPC即LowerPin Count,为一种BMC与PCH之间进行通信的数据总线。CPU与PCH(Platform ControllerHub,集成南桥)之间通过DMI(Direct Media Interface,直接媒体接口)连接。
步骤2:BIOS启动完成,进入操作系统下;
步骤3:BMC周期性通过PECI总线读内存ERROR寄存器,检测服务器中DDR4内存ECC报错,如果有ECC报错并且到达一定阈值数量N后,触发该内存所在通道的热移除动作,该内存所在地址空间从操作系统中移除变为不可用。
步骤4:BMC执行第二步中“BIOS启动过程中发送的MRC检测,计算内存延时参数的动作”,得到内存延时参数;
步骤5:BMC通过PECI总线,读写内存控制器的寄存器,该内存延时参数设置到内存控制器中;
步骤6:BMC再触发该内存所在通道的热添加动作,该内存所在地址空间添加到操作系统中。
本实施例提出一种降低内存读写报错率的方案,当外界因素导致内存参数t有变化,内存读写有报错时,BMC可自动触发该内存所在通道的热移除动作,计算得到内存延时参数,将该内存延时参数设置到内存控制器中,BMC再触发该内存所在通道的热添加动作,该内存所在地址空间添加到操作系统中,后续软件读写该内存时,使用该参数内存延时参数,从而保证软件读写数据的准确性,降低内存读写报错率。本实施例无需停机或者重启,即可自动根据环境条件等变化,自动设置内存参数,减少软件读写内存的报错率。
由于该内存延时参数在不同的机器、内存、环境温度、湿度下不同,在服务器运行一段时间后,温度,湿度变化可能会导致实际需求的延时、改变,操作系统下的软件读写内存时,内存控制器仍使用原内存延时参数,导致读写的数据可能异常报错。当参数t有变化,内存读写有报错,在本申请BMC检测到某条DDR4内存ECC报错到达一定阈值后,触发该内存所在通道的热移除动作,该内存所在地址空间从操作系统中移除变为不可用,操作系统下应用软件不再读写该内存。然后BMC执行BIOS启动过程中发过来的MRC检测,计算新内存延时参数的动作,计算得到新内存延时参数,将新内存延时参数设置到内存控制器中。BMC再触发该内存所在通道的热添加动作,该内存所在地址空间添加到操作系统中,后续软件读写该内存时,使用新内存延时参数从而保证软件读写数据的准确。
请参见图3,图3为本申请实施例所提供的一种内存异常的处理系统的结构示意图;
该系统可以包括:
报错数读取模块100,用于读取内存Error寄存器中目标内存条的内存报错数量;
内存热移除模块200,用于当所述内存报错数量大于预设值时,对所述目标内存条执行热移除操作;
参数设置模块300,用于计算内存延时参数,并将所述内存延时参数写入内存控制器;其中,所述内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长;
内存热添加模块400,用于对所述目标内存条执行热添加操作,以便所述内存控制器利用所述内存延时参数继续对所述目标内存条执行读写操作。
本实施例在Error寄存器中目标内存条的内存报错数量大于预设值时,重新计算内存延时参数,并将重新计算的内存延时参数写入内存控制器,以便内存控制器继续对所述目标内存条执行读写操作。内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长,而实际上目标内存条接收到读写命令后的需要等待的时长受到温度、湿度和内存状态影响而变化,当实际需要的等待时长变化长,而内存控制器中的内存延时参数不变时,将会导致内存报错数量增加,因此本实施例通过重新计算并设置内存延时参数能够降低因等待时长不足导致的内存读写错误,进而降低内存读写的报错率。
进一步的,还包括:
内存读写模块,用于在对所述目标内存条执行热添加操作之后,所述目标内存条接收所述内存控制器发送的新读写命令,在延时所述内存延时参数对应的时长后向所述内存控制器反馈Ready信号,以便所述内存控制器在接收到所述Ready信号之后对所述目标内存条执行读写操作。
进一步的,内存热移除模块200具体用于通过拉低第一GPIO引脚的电平将所述目标内存条所在的地址空间从操作系统中移除,以便将所述目标内存条的状态设置为不可用状态。
进一步的,内存热添加模块400具体用于通过拉低第二GPIO引脚的电平将所述目标内存条所在的地址空间添加至所述操作系统,以便将所述目标内存条的状态恢复为可用状态。
进一步的,参数设置模块300包括:
参数写入单元,用于通过PEIe总线读写所述内存控制器将所述内存延时参数写入所述内存控制器的寄存器。
进一步的,所述目标内存条为DDR4内存条或DDR3内存条。
进一步的,参数设置模块300包括:
参数计算单元,用于获取基本输入输出系统启动过程中的内存初始化代码,根据所述内存初始化代码计算所述内存延时参数。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种内存异常的处理方法,其特征在于,包括:
读取内存错误寄存器中目标内存条的内存报错数量;
当所述内存报错数量大于预设值时,对所述目标内存条执行热移除操作;
计算内存延时参数,并将所述内存延时参数写入内存控制器;其中,所述内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长;
对所述目标内存条执行热添加操作,以便所述内存控制器利用所述内存延时参数继续对所述目标内存条执行读写操作。
2.根据权利要求1所述处理方法,其特征在于,在对所述目标内存条执行热添加操作之后,还包括:
所述目标内存条接收所述内存控制器发送的新读写命令,在延时所述内存延时参数对应的时长后向所述内存控制器反馈Ready信号,以便所述内存控制器在接收到所述Ready信号之后对所述目标内存条执行读写操作。
3.根据权利要求1所述处理方法,其特征在于,对所述目标内存条执行热移除操作包括:
通过拉低第一GPIO引脚的电平将所述目标内存条所在的地址空间从操作系统中移除,以便将所述目标内存条的状态设置为不可用状态。
4.根据权利要求1所述处理方法,其特征在于,对所述目标内存条执行热添加操作包括:
通过拉低第二GPIO引脚的电平将所述目标内存条所在的地址空间添加至所述操作系统,以便将所述目标内存条的状态恢复为可用状态。
5.根据权利要求1所述处理方法,其特征在于,将所述内存延时参数写入内存控制器包括:
通过PEIe总线读写所述内存控制器将所述内存延时参数写入所述内存控制器的寄存器。
6.根据权利要求1所述处理方法,其特征在于,所述目标内存条为DDR4内存条或DDR3内存条。
7.根据权利要求1至6任一项所述处理方法,其特征在于,所述计算内存延时参数包括:
获取基本输入输出系统启动过程中的内存初始化代码,根据所述内存初始化代码计算所述内存延时参数。
8.一种内存异常的处理系统,其特征在于,包括:
报错数读取模块,用于读取内存错误寄存器中目标内存条的内存报错数量;
内存热移除模块,用于当所述内存报错数量大于预设值时,对所述目标内存条执行热移除操作;
参数设置模块,用于计算内存延时参数,并将所述内存延时参数写入内存控制器;其中,所述内存延时参数为所述内存控制器控制所述目标内存条接收到读写命令后的等待时长;
内存热添加模块,用于对所述目标内存条执行热添加操作,以便所述内存控制器利用所述内存延时参数继续对所述目标内存条执行读写操作。
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至7任一项所述内存异常的处理方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至7任一项所述内存异常的处理方法的步骤。
CN201911386480.9A 2019-12-29 2019-12-29 一种内存异常的处理方法、系统、电子设备及存储介质 Pending CN111143104A (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201911386480.9A CN111143104A (zh) 2019-12-29 2019-12-29 一种内存异常的处理方法、系统、电子设备及存储介质
PCT/CN2020/110362 WO2021135272A1 (zh) 2019-12-29 2020-08-21 一种内存异常的处理方法、系统、电子设备及存储介质
US17/789,953 US11977744B2 (en) 2019-12-29 2020-08-21 Memory anomaly processing method and system, electronic device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911386480.9A CN111143104A (zh) 2019-12-29 2019-12-29 一种内存异常的处理方法、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN111143104A true CN111143104A (zh) 2020-05-12

Family

ID=70521412

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911386480.9A Pending CN111143104A (zh) 2019-12-29 2019-12-29 一种内存异常的处理方法、系统、电子设备及存储介质

Country Status (3)

Country Link
US (1) US11977744B2 (zh)
CN (1) CN111143104A (zh)
WO (1) WO2021135272A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111625387A (zh) * 2020-05-27 2020-09-04 北京金山云网络技术有限公司 内存错误处理方法、装置及服务器
WO2021135272A1 (zh) * 2019-12-29 2021-07-08 苏州浪潮智能科技有限公司 一种内存异常的处理方法、系统、电子设备及存储介质
CN113747043A (zh) * 2020-05-29 2021-12-03 Oppo广东移动通信有限公司 图像处理器启动方法、电子设备和存储介质
CN114003295A (zh) * 2021-10-15 2022-02-01 苏州浪潮智能科技有限公司 一种内存参数的设置方法、系统及装置
CN114816822A (zh) * 2022-05-07 2022-07-29 宝德计算机系统股份有限公司 一种基于内存故障的服务器管理方法、装置以及系统
WO2022217224A1 (en) * 2021-04-06 2022-10-13 Micron Technology, Inc. Log management maintenance operation and command
CN117112452A (zh) * 2023-08-24 2023-11-24 上海合芯数字科技有限公司 寄存器模拟配置方法、装置、计算机设备和存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116931845B (zh) * 2023-09-18 2023-12-12 新华三信息技术有限公司 一种数据布局方法、装置及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101359306A (zh) * 2008-09-26 2009-02-04 华硕电脑股份有限公司 内存调整结果检测方法及其计算机系统
US20090119533A1 (en) * 2007-11-02 2009-05-07 Hynix Semiconductor Inc. Digital delay locked loop circuit using mode register set
CN102637155A (zh) * 2012-01-10 2012-08-15 江苏中科梦兰电子科技有限公司 通过训练加修正配置ddr3中数据选通信号延时的方法
CN106445720A (zh) * 2016-10-11 2017-02-22 郑州云海信息技术有限公司 一种内存错误恢复方法和装置
CN107301103A (zh) * 2017-06-22 2017-10-27 济南浪潮高新科技投资发展有限公司 一种调整国产处理器的内存参数的方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370604B1 (en) * 1999-05-07 2002-04-09 Intel Corporation Hot replacement of storage device in serial array of storage devices
US6938133B2 (en) * 2001-09-28 2005-08-30 Hewlett-Packard Development Company, L.P. Memory latency and bandwidth optimizations
US7673090B2 (en) * 2001-12-19 2010-03-02 Intel Corporation Hot plug interface control method and apparatus
US7730470B2 (en) * 2006-02-27 2010-06-01 Oracle America, Inc. Binary code instrumentation to reduce effective memory latency
EP2798499B1 (en) * 2011-12-27 2020-11-18 Intel Corporation Methods and apparatus to manage workload memory allocation
US10853311B1 (en) * 2014-07-03 2020-12-01 Pure Storage, Inc. Administration through files in a storage system
US20160019160A1 (en) * 2014-07-17 2016-01-21 Sandisk Enterprise Ip Llc Methods and Systems for Scalable and Distributed Address Mapping Using Non-Volatile Memory Modules
CN105608034B (zh) 2015-12-23 2018-08-31 浪潮集团有限公司 一种clump自动热插拔的方法
CN106936616B (zh) * 2015-12-31 2020-01-03 伊姆西公司 备份通信方法和装置
US10148416B2 (en) * 2016-09-02 2018-12-04 Intel Corporation Signal phase optimization in memory interface training
CN110428856B (zh) 2019-07-29 2021-06-08 珠海市一微半导体有限公司 一种用于读写ddr内存的延时参数优化方法和系统
CN111143104A (zh) 2019-12-29 2020-05-12 苏州浪潮智能科技有限公司 一种内存异常的处理方法、系统、电子设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090119533A1 (en) * 2007-11-02 2009-05-07 Hynix Semiconductor Inc. Digital delay locked loop circuit using mode register set
CN101359306A (zh) * 2008-09-26 2009-02-04 华硕电脑股份有限公司 内存调整结果检测方法及其计算机系统
CN102637155A (zh) * 2012-01-10 2012-08-15 江苏中科梦兰电子科技有限公司 通过训练加修正配置ddr3中数据选通信号延时的方法
CN106445720A (zh) * 2016-10-11 2017-02-22 郑州云海信息技术有限公司 一种内存错误恢复方法和装置
CN107301103A (zh) * 2017-06-22 2017-10-27 济南浪潮高新科技投资发展有限公司 一种调整国产处理器的内存参数的方法及装置

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021135272A1 (zh) * 2019-12-29 2021-07-08 苏州浪潮智能科技有限公司 一种内存异常的处理方法、系统、电子设备及存储介质
US11977744B2 (en) 2019-12-29 2024-05-07 Inspur Suzhou Intelligent Technology Co., Ltd. Memory anomaly processing method and system, electronic device, and storage medium
CN111625387A (zh) * 2020-05-27 2020-09-04 北京金山云网络技术有限公司 内存错误处理方法、装置及服务器
CN111625387B (zh) * 2020-05-27 2024-03-29 北京金山云网络技术有限公司 内存错误处理方法、装置及服务器
CN113747043B (zh) * 2020-05-29 2023-06-20 Oppo广东移动通信有限公司 图像处理器启动方法、电子设备和存储介质
CN113747043A (zh) * 2020-05-29 2021-12-03 Oppo广东移动通信有限公司 图像处理器启动方法、电子设备和存储介质
WO2022217224A1 (en) * 2021-04-06 2022-10-13 Micron Technology, Inc. Log management maintenance operation and command
US12079513B2 (en) 2021-04-06 2024-09-03 Micron Technology, Inc. Log management maintenance operation and command
CN114003295B (zh) * 2021-10-15 2023-08-25 苏州浪潮智能科技有限公司 一种内存参数的设置方法、系统及装置
CN114003295A (zh) * 2021-10-15 2022-02-01 苏州浪潮智能科技有限公司 一种内存参数的设置方法、系统及装置
CN114816822A (zh) * 2022-05-07 2022-07-29 宝德计算机系统股份有限公司 一种基于内存故障的服务器管理方法、装置以及系统
CN117112452A (zh) * 2023-08-24 2023-11-24 上海合芯数字科技有限公司 寄存器模拟配置方法、装置、计算机设备和存储介质
CN117112452B (zh) * 2023-08-24 2024-04-02 上海合芯数字科技有限公司 寄存器模拟配置方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
US20220391103A1 (en) 2022-12-08
WO2021135272A1 (zh) 2021-07-08
US11977744B2 (en) 2024-05-07

Similar Documents

Publication Publication Date Title
CN111143104A (zh) 一种内存异常的处理方法、系统、电子设备及存储介质
US8832530B2 (en) Techniques associated with a read and write window budget for a two level memory system
US7945815B2 (en) System and method for managing memory errors in an information handling system
CN102135927B (zh) 一种基于nand flash的系统引导方法和装置
CN111459557B (zh) 一种缩短服务器开机时间的方法及系统
US10997516B2 (en) Systems and methods for predicting persistent memory device degradation based on operational parameters
CN103778030A (zh) 日志子系统写入方法、错误追踪方法及处理器
CN104077375A (zh) 一种cc-numa系统中节点的错误目录的处理方法和节点
US20190155671A1 (en) Data storage device and associated operating method
CN104866388B (zh) 数据处理方法及装置
TWI709039B (zh) 伺服器及錯誤事件紀錄登載功能的控制方法
US10635554B2 (en) System and method for BIOS to ensure UCNA errors are available for correlation
WO2016204789A1 (en) Handling errors during run time backups
WO2017012507A1 (zh) 一种数据恢复方法及装置
CN115033439B (zh) 一种服务器测试方法及装置
CN111522598A (zh) 嵌入式设备的重启信息记录方法及装置
CN114328548B (zh) 双存储池数据淘汰速度控制方法、系统、终端及存储介质
US10592329B2 (en) Method and electronic device for continuing executing procedure being aborted from physical address where error occurs
CN111506460B (zh) 内存故障的处理方法、装置、移动终端及存储介质
US11216336B2 (en) Storage apparatus and memory device control method
JP2008242524A (ja) ファイル管理装置、ファイル管理方法、プログラム、コンピュータ読み取り可能な記録媒体
CN113127245A (zh) 一种系统管理中断的处理方法、系统及装置
CN112463523A (zh) 一种内存条健康状态监控方法、装置、设备及存储介质
CN111858136A (zh) 固态硬盘异常数据检测方法、系统、电子设备及存储介质
CN116302633B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20200512

RJ01 Rejection of invention patent application after publication