CN116401085A - 内存异常处理方法、设备及存储介质 - Google Patents

内存异常处理方法、设备及存储介质 Download PDF

Info

Publication number
CN116401085A
CN116401085A CN202310356957.9A CN202310356957A CN116401085A CN 116401085 A CN116401085 A CN 116401085A CN 202310356957 A CN202310356957 A CN 202310356957A CN 116401085 A CN116401085 A CN 116401085A
Authority
CN
China
Prior art keywords
memory
repair
error
bios
policy
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
CN202310356957.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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202310356957.9A priority Critical patent/CN116401085A/zh
Publication of CN116401085A publication Critical patent/CN116401085A/zh
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/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/0751Error or fault detection not based on redundancy
    • 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/0766Error or fault reporting or storing
    • 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
    • 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
    • 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
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本申请实施例提供一种内存异常处理方法、设备及存储介质。本申请实施例在内存修复策略的修复能力有限的前提下,在管控节点侧设置选择策略,来选择能够触发BIOS执行内存修复策略的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。管控节点侧可通过软件,灵活设置内存修复策略处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。

Description

内存异常处理方法、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种内存异常处理方法、设备及存储介质。
背景技术
内存是计算设备的重要组成部分之一。内存异常是硬件系统最常见的异常,极大地影响了系统的可靠性,可用性和可服务性(Reliability,Availability andServiceability,RAS)。内存控制器可以采用错误校验与校正(Error Checking andCorrection,ECC)等纠错算法进行纠错。但是如果频繁纠错将会对系统的性能造成影响。而且当内存故障越来越严重的时候,纠错算法将会不堪重负,无法纠正的概率大幅上升,可能会产生不可纠正的错误,从而导致系统宕机。
内存的异常修复策略的修复能力是有限的,对于超过该异常修复策略的内存异常将无法修复,异常修复策略失效。例如,对于部分缓存线保留(Partial Cache LineSparing,PCLS)策略,对于单个内存通道最多支持16次PCLS,当PCLS次数超过16次,PCLS对超过的次数将无法修复。
异常修复策略一般被硬编码到计算设备的基本输入输出系统(Basic InputOutput System,BIOS)中,由BIOS执行相应的内存异常修复策略。BIOS执行内存异常修复策略,无法对发生异常的内存加载的程序的类型进行区分,对所有程序对应的内存异常一视同仁。这就可能导致由于BIOS对计算设备运行影响较低的程序的内存修复,而使得内存的异常修复策略无能力再对计算设备运行影响较高的程序对应的内存异常进行修复,导致计算设备的系统运行异常等。传统方案的内存异常处理方式灵活性较差,存在上述技术缺陷。
发明内容
本申请的多个方面提供一种内存异常处理方法、设备及存储介质,用以提高内存修复的灵活性。
本申请实施例提供一种内存异常处理方法,包括:
获取计算设备的内存错误信息;
根据所述内存错误信息,确定内存异常位置;
根据所述计算设备的内存映射关系,确定所述内存异常位置加载的目标程序;
在所述目标程序属于设定的程序类型的情况下,触发所述计算设备的基本输入输出系统BIOS对所述内存异常位置执行内存修复策略。
本申请实施例还提供一种电子设备,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行上述内存异常处理方法中的步骤。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述内存异常处理方法中的步骤。
本申请实施例提供的内存异常修复处理方式,在内存修复策略的修复能力有限的前提下,在管控节点侧设置选择策略,来选择能够触发BIOS执行内存修复策略的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。管控节点侧可通过软件,灵活设置内存修复策略处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a和图1b为本申请实施例提供的内存异常处理系统的结构示意图;
图2为本申请实施例提供的内存的结构示意图;
图3为本申请实施例提供的内存异常处理方法的流程示意图;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
计算设备的内存异常通常可以分为软异常和硬异常。硬异常通常指不可恢复的硬件错误,比如固定在比特(stuck-at bit),即该比特位始终都是固定值。示例性的,如固定在0(stuck-at0),是指写入的是何值(0或1),该比特位的值始终为0。而软异常是随机事件引起的,比如射线或背板辐射等,软异常通常可以通过重写进行修复。
在一些方案中,可由计算设备的中央处理器(Central Processing Unit,CPU)内部的纠错机制(如ECC等)识别出内存可纠正错误(Corrected Error,CE)后,由计算设备的基本输入输出系统(Basic Input Output System,BIOS)对CE进行计数,并与设定的CE阈值比较,在CE的数量达到CE阈值后,由BIOS下发命令触发CPU自带的底层内存的隔离替换动作,将故障区域局部隔离,即不再使用故障区域内存,以避免再次读写该故障区域。
ECC纠错算法为实际的内存数据生成单比特错误纠正和双比特错误检测(Single-bit Error Correction and Double-bit Error Detection,SECDED)码,并将SECDED码存储在内存中。内存控制器利用SECDED可以纠正单比特错误,并检测两比特错误。单比特错误被称为CE,两比特错误被称为不可纠正错误(Uncorrected Correctable Error,UCE)。内存的UCE是导致系统宕机的主要原因。
CPU自带的底层内存的隔离替换动作即为本申请所述的内存的异常修复策略。异常修复策略一般被硬编码到BIOS中,由BIOS执行相应的内存异常修复策略。其中,BIOS是一组固化到计算设备的主板上的只读存储器(Read Only Memory,ROM)中的程序,它保存着计算设备最重要的基本输入输出的程序、开机后自检程序和系统自启动程序等。BIOS属于计算设备的固件,一般不支持对固件进行修改。
在传统方案中,内存异常修复的过程可实现为:当内存控制器确定内存的CE数量超过CE阈值时,触发中断,由BIOS执行被硬编码到BIOS中的内存异常修复策略。由于内存的异常修复策略具有的修复能力是有限的,对于超过该异常修复策略的内存异常将无法修复,异常修复策略失效。
在实际应用中,不同类型的程序,对计算设备运行的影响程度不同。例如,内核程序为操作系统中可以访问所有硬件设备的系统程序,对计算设备的正常运行具有关键影响,内核程序异常会导致系统运行异常,甚至导致宕机,而用户程序对系统运行的影响较小。
不同类型的应用程序对服务质量的要求不同。一些延时敏感型的应用程序,对计算设备的服务质量要求较高,可优先对此类应用程序的内存异常进行处理;对于一些离线计算类的应用程序,对延时敏感度较低,对此类应用程序的内存异常可延迟处理,甚至可重新启动此类应用程序的实例等等。
然而,传统方案中BIOS执行内存异常修复策略,无法对发生异常的内存加载的程序的类型进行区分,对所有程序对应的内存异常一视同仁。这就可能导致由于BIOS对计算设备运行影响较低的程序的内存修复,而使得内存的异常修复策略无能力再对计算设备运行影响较高的程序对应的内存异常进行修复,导致计算设备的系统运行异常等。传统方案的内存异常处理方式灵活性较差,存在上述技术缺陷。
如果在BIOS中增加相应的程序类型区分功能,则需要将当前硬编码有内存异常修复策略的BIOS进行固件升级,并重启计算设备。然而,在计算设备重启过程中,会导致该计算设备的服务中断。而且,一般BIOS不支持修改。
为了解决上述技术问题,本申请一些实施例中,在内存修复策略的修复能力有限的前提下,在管控节点侧设置选择策略,来选择能够触发BIOS执行内存修复策略的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。管控节点侧可通过软件,灵活设置内存修复策略处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。
以下结合附图,详细说明本申请各实施例提供的技术方案。
应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
图1a和图1b为本申请实施例提供的内存异常处理系统的结构示意图。如图1a和图1b所示,内存异常处理系统包括:管控节点10和计算设备20。其中,计算设备20的数量为一个或多个。多个是指2个或2个以上。优选地,计算设备20的数量为多个。
在本实施例中,管控节点10是指对计算设备20进行内存异常管理的设备、软件功能模块或装置等。该管控节点10与计算设备20可为同一物理机(如图1b所示),也可为单独的物理机(如图1a所示)。例如,管控节点10可实现为计算设备20中的软件功能模块、虚拟机(Virtual Machine,VM)或容器实例等,也可实现为独立的物理机。管控节点10与计算设备20位于同一物理机时,管控节点10可部署于计算设备20的操作系统中,或者部署于计算设备的主板管控单元(Base Board Management Controller,BMC)(附图中未示出)。
上述物理机可以为单一服务器设备,也可以云化的服务器阵列,或者为云化的服务器阵列中运行的虚拟机(Virtual Machine,VM)。另外,服务端设备也可以指具备相应服务能力的其他设备,例如电脑等终端设备(运行服务程序)等。
在本实施例中,计算设备20是指具有计算、通信等功能的计算设备,例如可以是服务器、手机、电脑、穿戴设备等。计算设备20可为分布式计算系统或分布式存储系统中的计算设备。对于计算设备20来说,内存异常为产生内存错误的原因。内存异常容易导致计算设备20宕机,影响计算设备20的RAS。
在本实施例中,管控节点10与计算设备20为独立的物理机时,二者之间通信连接。其中,管控节点10与计算设备20之间可以是无线或有线连接。可选地,管控节点10与计算设备20可以通过移动网络通信连接,相应地,移动网络的网络制式可以为2G(如全球移动通信系统(Global System for Mobile Communications,GSM)等)、2.5G(如,通用无线分组服务(General Packet Radio Service,GPRS)等)、3G(如宽带码分多址(Wideband CodeDivision Multiple Access,WCDMA)、时分同步码分多址(Time Division-SynchronousCode Division Multiple Access,TD-SCDMA)、码分多址2000(Code Division MultipleAccess 2000,CDMA2000)、通用移动通信系统(Universal Mobile TelecommunicationsSystem,UTMS)等)、4G(如长期演进(Long Term Evolution,LTE)等)、4G+(如升级版长期演进(LTE-Advanced,LTE-A)等)、5G、全球微波接入互操作性(World Interoperability forMicrowave Access,WiMax)等中的任意一种。可选地,管控节点10与计算设备20也可以通过蓝牙、无线保真(Wireless Fidelity,WiFi)、红外线等方式通信连接。
在本实施例中,计算设备20可包括:CPU 201和内存202。在本申请实施例中,不限定内存的具体实现形态。可选地,内存可为双倍速率同步动态随机存储器(Double DataRate Synchronous Dynamic Random Access Memory,DDR SDRAM),也可称为DDR内存。DDR内存可为:DDR4内存或者DDR5内存。当然,内存也可为相变化内存(Phase Change Memory,PCM)或者高带宽内存(High Bandwidth Memory,HBM)等。
当然,计算设备20还可包括其它存储介质(图1a和图1b中未示出),如随机存取存储器(Read Only Memory,ROM)、磁盘等。在本实施例中,ROM可包括:BIOS ROM。其中,BIOSROM固化有BIOS 201b。
在本实施例中,计算设备20的CPU内部的纠错机制(如ECC等),可对内存的CE进行内存修复。对于管控节点10部署于计算设备的操作系统(Operating System,OS)201a或管控节点10实现为独立的物理机的实施例,计算设备20的OS 201a可采集该计算设备20的内存错误信息(对应图1a和图1b中步骤1)。该内存错误信息可包括:CE信息和/或UCE信息。在一些实施例中,OS 201a可直接采集计算设备20的内存错误信息,也可通过BIOS 201b采集计算设备20的内存错误信息。
可选地,计算设备20还可包括:错误检测与纠正驱动组件(Error Detection AndCorrection Driver,EDAC Driver)(图1a和图1b中未示出)。EDAC驱动组件可收集计算设备20的内存错误信息。EDAC驱动组件为计算设备20中操作系统对应的软件驱动模块,收到错误事件后,可解析和打印错误。内存控制器内集成有专门的硬件执行ECC。
对于管控节点10部署于计算设备的BMC或管控节点10实现为独立的物理机的实施例,BMC可采集计算设备20的内存错误信息(附图未示出)。其中,BMC可直接采集计算设备20的内存错误信息,也可通过过BIOS 201b采集计算设备20的内存错误信息。
在本申请实施例中,内存错误信息是指描述内存的错误(CE和/或UCE)的信息,可包括:发生错误的内存位置信息及发生错误的时间信息等。发生错误的内存位置信息可包括:发生错误的插槽(Socket)、内存控制器(Integrated Memory Controller,IMC)、通道(Channel)、双列直插存储器模块(Dual Inline Memory Module,DIMM)、物理阵列(Rank)、颗粒选择器(Chip Select)、内存颗粒(Chip)、逻辑阵列组(Bank Group)、逻辑阵列(Bank)及行(Row)地址和列(Column)地址等。
下面结合图2对上述发生错误的内存位置信息中各概念进行示例性说明。如图2所示,通道对CPU数据位宽而言的,若CPU是64位数据线,内存颗粒(Chip)也是64位,那就是单通道;若CPU是64位数据线,但内存颗粒(Chip)可以支持128位,那内存就是双通道。图2中内存为双通道内存。DIMM是内存条印刷电路板正反面均有金手指与主板上的内存条槽接触,这种结构被称为DIMM。
物理阵列(Rank)指的是连结到同1个颗粒选择器(Chip Select,CS)的内存颗粒(Chip)。一个内存颗粒(Chip)包括若干逻辑阵列(Bank)。Cell(内存单元)为内存存储的基本单元,Bank是由Cell组成的二维数组,一个Cell用于存储一比特(bit)数据。
由于计算设备20中发生CE的部件将来可能发生UCE,从而产生UCE宕机。UCE宕机是指由于计算设备20的内存发生UCE导致的宕机。在本申请实施例中,为了降低UCE宕机概率,计算设备20可将OS 201a采集的CE信息发送给管控节点10。
在本申请实施例中,管控节点10可对计算设备20进行内存异常处理,还可预测计算设备20的内存故障。管控节点10对各计算设备20进行内存异常处理的过程是相同的。下面以各计算设备20中的任一计算设备为例,对管控节点10对计算设备20进行内存异常处理的具体实施方式进行示例性说明。
如图1a和图1b所示,管控节点10可获取计算设备20的内存错误信息(对应图1a和图1b步骤2)。在上述管控节点10部署于计算设备的OS 201a或管控节点10实现为独立的物理机的实施例中,管控节点10获取的内存错误信息可为OS 201a发送的。相应地,管控节点10可获取OS 201a发送的计算设备的内存错误信息(对应图1a和图1b步骤2)。在上述管控节点10部署于计算设备的BMC或管控节点10实现为独立的物理机的实施例中,管控节点10获取的内存错误信息可为BMC提供的。相应地,管控节点10可获取计算设备的BMC提供的计算设备的内存错误信息。
管控节点10获取的内存错误信息,可为OS 201a或BMC采集到内存错误信息,立即发送给管控节点10的内存错误信息。或者,计算设备20的内存错误信息也可为任意时间段的内存错误信息。在本申请实施例中,为了提高内存异常处理的及时性,管控节点10可获取OS 201a或BMC发送的设定时间段内的内存错误信息。设定时间段可为距离当前时间最近的设定时间段,如距离当前时间最近的3分钟、5分钟或10分钟的内存错误信息等。
进一步,管控节点10可根据内存错误信息,确定内存异常位置(对应图1a和图1b步骤3)。在本实施例中,不同内存修复策略支持的修复粒度不同,确定出的内存异常位置的粒度也就不同。内存修复策略支持的修复粒度,是指该内存修复策略可修复的内存异常的颗粒度。
相应地,管控节点10可根据内存修复策略支持的修复粒度,从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址。
在一些实施例中,内存修复策略为部分缓存线保留(Partial Cache LineSparing,PCLS)策略。其中,PCLS策略可以纠正单个比特(bit)错误,当缓存行(Cache Line)上出现单个bit的错误时,可使用冗余的比特来替换掉发生错误的比特。相应地,PCLS支持的修复粒度为单比特数据。根据上述图2示出的内存的结构示意图可知:内存单元(Cell)用于存储1bit数据,基于此,可使用冗余的内存单元(Cell)替换内存中发生错误的内存单元。相应地,由于PCLS策略的修复粒度为单比特错误,而一个内存单元(Cell)存储1bit的数据,因此,针对PCLS策略,确定出的内存异常位置可精细至Cell粒度,即精确到发生错误的内存行和内存列。对于PCLS策略,内存错误信息可包括发生错误的插槽(Socket)、内存晶粒(Die)、内存控制器(IMC)、通道(Channel)、槽(Slot)、物理阵列(rank)、子物理阵列(Sub-Rank),逻辑阵列组(Bank Group)、逻辑阵列(Bank)及行(Row)地址和列(Column)地址、设备标识(Device ID)、内存颗粒标识(Chip ID)及传输号(Transfer Number)等。
相应地,针对PCLS策略,管控节点10在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,可从内存错误信息中,提取计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列(Rank)的标识、发生错误的内存颗粒(Chip)的标识、发生错误的逻辑阵列(Bank)的标识及发生错误的内存行和列,作为符合PCLS修复粒度的内存异常位置。其中,发生错误的内存行和列可唯一标识一个内存单元(Cell),即唯一标识发生错误的单比特数据。
在另一些实施例中,内存修复策略为单内存颗粒数据错误纠正(Single DRAMDevice Correction,SDDC)策略。SDDC可基于纠错码去纠正单个内存颗粒错误。SDDC提供错误检查和校正,用于校正DIMM上的单个内存颗粒(如DRAM颗粒)异常和多比特异常。相应地,SDDC的修复粒度为单内存颗粒(Chip)。基于此,针对SDDC策略,管控节点10在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,可从内存错误信息中,提取计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列(Rank)及发生错误的内存颗粒的标识,作为符合SDDC修复粒度的内存异常位置。
在另一些实施例中,内存修复策略为自适应双设备数据校正(Adaptive DoubleDRAM Device Correction,ADDDC)。ADDDC可分为单区域(Single Region,SR)和多区域(Multi Regions,MR)。此处区域是指DIMM区域,可为物理阵列(Rank)区域或逻辑阵列(Bank)区域。
其中,ADDDC-SR在同一Rank内,可以实现总共两次的异常内存颗粒替换。相应地,ADDDC-SR的修复粒度为同一Rank内的内存颗粒。基于此,对于ADDDC-SR策略,管控节点10在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,从内存错误信息中,提取计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列(Rank)的标识、发生错误的内存颗粒的标识及发生错误的逻辑阵列(Bank)的标识,作为符合ADDDC-SR修复粒度的内存异常位置。
ADDDC-MR的功能可修复内存颗粒的硬故障。当逻辑阵列(Bank)或物理阵列(Rank)区域粒度下出现了一个硬故障,ADDDC-MR发生错误的逻辑阵列或物理阵列被通过自适应虚拟锁步的方式映射出去。相应地,ADDDC-MR策略的修复粒度为逻辑阵列或物理阵列。基于此,对于ADDDC-MR,管控节点10在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,从内存错误信息中,提取发生错误的内存条的标识及发生错误的物理阵列(Rank)的标识,作为符合ADDDC-MR修复粒度的内存异常位置。或者,管控节点10在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常位置时,从内存错误信息中,提取计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列(Rank)的标识发生错误的内存颗粒的标识及发生错误的逻辑阵列(Bank)的标识,作为符合ADDDC-MR修复粒度的内存异常位置等。
在另一些实施例中,内存修复策略为动态封装后修复(Runtime Post PackageRepair,Runtime PPR)。Runtime PPR原理是内存颗粒在设计的时候增加冗余,出厂后在用户侧修复,发现内存行(Row)异常后使用冗余行(Row)临时替换异常内存行(Row),修复粒度为内存颗粒的逻辑阵列(Bank)里面的内存行(Row)。基于此,对于Runtime PPR,管控节点10在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,从内存错误信息中,提取发生错误的内存条的标识、发生错误的物理阵列(Rank)的标识、发生错误的内存颗粒的标识、发生错误的逻辑阵列(Bank)的标识及发生错误的行(row)的标识,作为符合Runtime PPR修复粒度的内存异常位置等。
上述实施例示出的内存修复策略及其修复粒度仅为示例性说明,但不构成限定。
由于内存修复策略的修复能力是有限的,为了尽可能降低内存错误导致宕机的概率,在本实施例中,可将内存修复策略有限的修复能力,尽可能的优先保障对计算设备运行影响较大的服务,如内核程序及延时敏感型的应用程序等。基于此,可预先设定程序类型,对于预先设定的程序类型对应的内存错误,优先处理。设定的程序类型可包括:内核程序及一些特定类型的应用程序等。
对于应用程序,可设置不同类型的应用程序的内存修复优先级。例如,可根据程序的服务等级目标(Service Level Objective,SLO),确定程序对应的内存修复优先级。其中,SLO越高的程序,对应的内存修复优先级越高。或者,可根据程序对应的用户类型,确定程序对应的内存修复优先级。用户类型可根据用户选择的服务的性能确定。选择的服务性能越好的用户类型,其程序对应的内存修复优先级越高。基于此,可设定需要优先处理的内核修复优先级,若程序的内存修复优先级为设定优先级,确定程序属于设定的程序类型。
基于上述设定的程序类型,为了能够使有限的内存修复能力优先处理设定的程序类型的程序,还需先确定发生错误的内存存储的程序是否为设定的程序类型。由于计算设备20的每个进程对应一个独立的虚拟地址空间,并且这个地址空间是连续的。多个进程的虚拟内存总合比实际的物理内存大得多。因此,只有实际使用的虚拟内存才会分配物理内存,并且分配后的物理内存,该过程是通过内存映射来管理的。在该实施例中,内存映射关系记录有虚拟内存地址与物理内存地址之间的映射关系。
计算设备20的进程用于运行程序。运行的程序可包括:内核程序和/或应用程序。其中,内核程序是操作系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。应用程序是为了保证系统能安全运行,一般应用程序只能执行非特权指令,运行在用户态。
由于计算设备20的每个进程对应一个独立的虚拟地址空间,并且这个地址空间是连续的。多个进程的虚拟内存总合比实际的物理内存大得多。因此,只有实际使用的虚拟内存才会分配物理内存,并且分配后的物理内存,该过程是通过内存映射来管理的。内存映射,其实就是将虚拟内存地址映射到物理内存地址。内存映射表记录有虚拟内存地址与物理内存地址之间的映射关系。
在另一些实施例中,还可指定一些物理内存地址用于存储设定类型的程序。如可指定一些物理内存地址用于存储内核程序等。相应地,内存映射关系还可实现为内存物理地址与程序类型之间的映射关系。
基于上述内存映射表和/或内存物理地址与程序类型之间的映射关系,在本实施例中,为了确定发生错误的内存加载的程序的类型,管控节点10可根据计算设备20的内存映射关系,确定内存异常位置加载的目标程序(对应图1a和图1b步骤4);并确定目标程序的程序类型。其中,内存映射关系可包括:内存映射表和/或内存物理地址与程序类型之间的映射关系。
在本申请实施例中,目标程序是指程序代码,可为某个服务或应用的完整程序段或程序块,也可为局部的程序片段,如1个或多个代码行等。多个是指2个或2个以上。
其中,上述确定出的内存异常位置,为发生错误的物理内存地址。相应地,管控节点10可根据计算设备20的内存映射关系,确定发生错误的物理内存地址对应的虚拟内存地址;并确定虚拟内存地址对应的程序,即为内存异常位置加载的目标程序。
在本申请实施例中,不限定目标程序的程序类型的具体划分方式。在一些实施例中,可将程序划分为内核程序和应用程序。对于应用程序可根据应用程序的SLO或用户类型进一步对应用程序进行类型划分。
基于上述实施例预先设定的需要优先处理的程序类型,若目标程序为内存程序,确定目标程序属于设定的程序类型。若目标程序为应用程序,可确定目标程序对应的内存修复优先级;若目标程序对应的内存修复优先级为设定优先级,可确定目标程序属于设定的程序类型。
可选地,可根据目标程序的SLO,确定目标程序对应的内存修复优先级。或者,可根据目标程序对应的用户类型,确定目标程序对应的内存修复优先级。
进一步,在目标程序为设定的程序类型的情况下,管控节点10可触发计算设备20的BIOS 201b对内存异常位置执行内存修复策略(对应图1a中步骤5)。
本实施例提供的内存异常修复处理方式,在内存修复策略的修复能力有限的前提下,在管控节点侧设置选择策略,来选择能够触发BIOS执行内存修复策略的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。管控节点侧可通过软件,灵活设置内存修复策略处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。
在一些实施例中,管控节点10可通过计算设备的OS 201a触发计算设备20的BIOS201b对内存异常位置执行内存修复策略。图1a和图1b仅以该触发方式进行图示,但不构成限定。
具体地,管控节点10可向OS 201a发起对内存异常位置执行上述内存修复策略的内存修复请求(对应图1a和图1b中步骤5.1);OS 201a可将内存修复请求发送至BIOS 201b(对应图1a和图1b中步骤5.2)。该内存修复请求可包括:内存异常位置等信息。其中,OS201a可直接将内存修复请求发送至BIOS 201b,也可间接将内存修复请求发送至BIOS201b。
可选地,OS 201a可直接将内存修复请求发送至BIOS 201b时,可调用与BIOS 201b之间的工作接口,并通过工作节点向BIOS 201b发起内存修复请求。其中,OS 201a与BIOS201b之间的工作接口可为定制的高级配置和电源管理接口(Advanced Configuration andPower Management Interface,ACPI)等。
或者,OS 201a可直接将内存修复请求发送至BIOS 201b时,OS 201a通过系统管理中断的方式向BIOS 201b发起内存修复请求。系统管理中断可为软件系统管理中断(SystemManagement Interrupt,SMI)等。
OS 201a间接将内存修复请求发送至BIOS 201b时,可通过计算设备20的主板管控单元(Base Board Management Controller,BMC)(附图中未示出)将内存修复请求发送至BIOS 201b。
在另一些实施例中,管控节点10可通过计算设备的BMC(附图中未示出)触发BIOS201b对内存异常位置执行内存修复策略。具体地,管控节点10可向BMC发起对内存异常位置执行上述内存修复策略的内存修复请求;BMC可将内存修复请求发送至BIOS 201b。该内存修复请求可包括:内存异常位置等信息。
其中,BMC可直接将内存修复请求发送至BIOS 201b,或者,也可通过OS 201a将内存修复请求发送至BIOS 201b。具体地,BMC可将内存修复请求发送至OS 201a;OS 201a可将内存修复请求发送至BIOS 201b。关于OS 201a可将内存修复请求发送至BIOS 201b的具体实施方式可参见上述实施例的相关内容,在此不再赘述。
对于BIOS 201b可响应于内存修复请求,对内存异常位置执行内存修复策略(对应图1a和图1b中步骤5.3)。具体地,BIOS 201b可从内存修复请求中,获取内存异常位置;并对内存异常位置执行内存修复策略。
例如,对于内存修复策略为PCLS策略的实施例,BIOS 201b可从计算设备的冗余的内存单元(Cell)中,确定目标内存单元。其中,计算设备的冗余的内存单元可为内存中的冗余的内存单元,或者为内存控制器中的冗余的内存单元。冗余的内存单元是指非用于存储应用数据的内存单元。冗余的内存单元可用于存储校验数据,如奇偶校验位和/或ECC校验位等。进一步,可利用目标内存单元替换内存异常位置对应的内存单元,实现了利用PCLS修复内存异常。这种实施方式,在PCLS的修复能力有限的前提下,在管控节点侧设置选择策略,来选择能够触发BIOS执行PCLS的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。管控节点侧可通过软件,灵活设置PCLS处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。
又例如,对于内存修复策略为ADDDC策略的实施例,BIOS 201b可从计算设备的内存中冗余的逻辑阵列(Bank)中,确定目标逻辑阵列;并利用目标逻辑阵列替换内存异常位置对应的逻辑阵列(即发生错误的逻辑阵列),实现了利用ADDDC策略修复内存异常。其中,计算设备的内存中冗余的逻辑阵列是指非用于存储应用数据的逻辑阵列,一般为用于存储ECC校验信息的逻辑阵列和/或用于存储奇偶校验信息的逻辑阵列。
又例如,对于内存修复策略为Runtime PPR策略的实施例,BIOS 201b可从计算设备的内存中冗余的内存行中,确定目标内存行;并利用目标内存行替换内存异常位置对应的内存行,实现Runtime PPR修复内存异常。其中,计算设备的内存中冗余的内存行是指非用于存储应用数据的内存行,一般为用于存储ECC校验信息的内存行和/或用于存储奇偶校验信息的内存行。
又例如,对于内存修复策略为SDDC策略(一般为SDDC内存颗粒替换策略(SDDCDevice tagging))的实施例,BIOS 201b可从计算设备的内存中冗余的内存颗粒(Chip)中,确定目标内存颗粒;并利用目标内存颗粒替换内存异常位置对应的内存颗粒,实现SDDC修复内存异常。其中,计算设备的内存中冗余的内存颗粒是指非用于存储应用数据的内存颗粒,一般为用于存储ECC校验信息的内存颗粒和/或用于存储奇偶校验信息的内存颗粒。
本申请实施例除了提供上述系统实施例之外,还提供内存异常处理方法,下面对本申请实施例提供的内存异常处理方法进行示例性说明。
图3为本申请实施例提供的内存异常处理方法的流程示意图。如图3所示,该内存异常处理方法主要包括:
301、获取计算设备的内存错误信息。
302、根据内存错误信息,确定内存异常位置。
303、根据计算设备的内存映射关系,确定内存异常位置加载的目标程序。
304、在目标程序属于设定的程序类型的情况下,触发计算设备的BIOS对内存异常位置执行内存修复策略。
本申请实施例提供的内存异常处理方法,可适用于发生内存错误的计算设备,也可适用于其它独立的管控节点。对于内存异常处理方法为发生内存错误的计算设备的实施例,可在该计算设备中增加软件管理模块,由该软件管理模块执行上述内存异常处理方法。
在本实施例步骤301中,可获取计算设备的内存错误信息。获取的内存错误信息可为OS或计算设备的BMC采集到内存错误信息,并立即发送给管控节点的内存错误信息。或者,计算设备的内存错误信息可为任意时间段的内存错误信息。在本申请实施例中,为了提高内存异常处理的及时性,可获取OS或计算设备的BMC发送的设定时间段内的内存错误信息。设定时间段可为距离当前时间最近的设定时间段,如距离当前时间最近的3分钟、5分钟或10分钟的内存错误信息等。相应地,步骤301可实现为:获取计算设备的OS发送的内存错误信息;或者,获取计算设备的BMC发送的内存错误信息。
进一步,在步骤302中,可根据内存错误信息,确定内存异常位置。在本实施例中,不同内存修复策略支持的修复粒度不同,确定出的内存异常位置的粒度也就不同。相应地,可根据内存修复策略支持的修复粒度,从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址。
在一些实施例中,内存修复策略为PCLS策略。PCLS支持的修复粒度为单比特数据。根据上述图2示出的内存的粒度划分示意图可知:内存单元(Cell)用于存储1bit数据,基于此,可使用冗余的内存单元(Cell)替换内存中发生错误的内存单元。相应地,针对PCLS策略,确定出的内存异常位置可精细至Cell粒度,即精确到发生错误的内存行和内存列。
相应地,针对PCLS策略,在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,可从内存错误信息中,提取发生错误的内存条的标识、发生错误的物理阵列(Rank)的标识、发生错误的内存颗粒(Chip)的标识、发生错误的逻辑阵列(Bank)的标识及发生错误的内存行和列,作为符合PCLS修复粒度的内存异常位置。其中,发生错误的内存行和列可唯一标识一个内存单元(Cell)。
在另一些实施例中,内存修复策略为SDDC策略。SDDC的修复粒度为单内存颗粒。基于此,针对SDDC策略,在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,可从内存错误信息中,提取发生错误的内存条的标识、发生错误的物理阵列(Rank)及发生错误的内存颗粒的标识,作为符合SDDC修复粒度的内存异常位置。
在另一些实施例中,内存修复策略为ADDDC策略。ADDDC-SR的修复粒度为同一Rank内的内存颗粒。对于ADDDC-SR策略,在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,从内存错误信息中,提取计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列(Rank)的标识、发生错误的内存颗粒的标识及发生错误的逻辑阵列(Bank)的标识,作为符合ADDDC-SR修复粒度的内存异常位置。
ADDDC-MR的功能可在Virtual lockstep的模式下,修复内存颗粒的硬故障。ADDDC-MR策略的修复粒度为逻辑阵列或物理阵列。基于此,对于ADDDC-MR,在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,从内存错误信息中,提取计算设备的内存中发生错误的内存条的标识及发生错误的物理阵列(Rank)的标识,作为符合ADDDC-MR修复粒度的内存异常位置。或者,在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,从内存错误信息中,提取计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列(Rank)的标识发生错误的内存颗粒的标识及发生错误的逻辑阵列(Bank)的标识,作为符合ADDDC-MR修复粒度的内存异常位置等。
在另一些实施例中,内存修复策略为runtime PPR。对于Runtime PPR,在从内存错误信息中提取符合该内存修复策略支持的修复粒度的内存异常地址时,从内存错误信息中,提取计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列(Rank)的标识、发生错误的内存颗粒的标识、发生错误的逻辑阵列(Bank)的标识及发生错误的行(Row)的标识,作为符合Runtime PPR修复粒度的内存异常位置等。上述实施例示出的内存修复策略及其修复粒度仅为示例性说明,但不构成限定。
由于内存修复策略的修复能力是有限的,为了尽可能降低内存错误导致宕机的概率,在本实施例中,可将内存修复策略有限的修复能力,尽可能的优先保障对计算设备运行影响较大的服务,如内核程序及延时敏感型的应用程序等。基于此,可预先设定程序类型,对于预先设定的程序类型对应的内存错误,优先处理。设定的程序类型可包括:内核程序及一些特定类型的应用程序等。
对于应用程序,可设置不同类型的应用程序的内存修复优先级。例如,可根据程序的服务等级目标(Service Level Objective,SLO),确定程序对应的内存修复优先级。其中,SLO越高的程序,对应的内存修复优先级越高。或者,可根据程序对应的用户类型,确定程序对应的内存修复优先级。用户类型可根据用户选择的服务的性能确定。选择的服务性能越好的用户类型,其程序对应的内存修复优先级越高。基于此,可设定需要优先处理的内核修复优先级,若程序的内存修复优先级为设定优先级,确定程序属于设定的程序类型。
基于上述设定的程序类型,为了能够使有限的内存修复能力优先处理设定的程序类型的程序,还需先确定发生错误的内存存储的程序是否为设定的程序类型。
为了确定发生错误的内存加载的程序的类型,在步骤303中,可根据计算设备的内存映射关系,确定内存异常位置加载的目标程序。其中,内存映射关系可包括:内存映射表和/或物理内存地址与程序类型之间的映射关系等。
其中,上述确定出的内存异常位置,为发生错误的物理内存地址。相应地,可根据计算设备的内存映射关系,确定发生错误的物理内存地址对应的虚拟内存地址;并确定虚拟内存地址对应的程序,即为内存异常位置加载的目标程序。
在本申请实施例中,不限定目标程序的程序类型的具体划分方式。在一些实施例中,可将程序划分为内核程序和应用程序。对于应用程序可根据应用程序的SLO或用户类型进一步对应用程序进行类型划分。
基于上述实施例预先设定的需要优先处理的程序类型,若目标程序为内存程序,确定目标程序属于设定的程序类型。若目标程序为应用程序,可确定目标程序对应的内存修复优先级;若目标程序对应的内存修复优先级为设定优先级,可确定目标程序属于设定的程序类型。
可选地,可根据目标程序的SLO,确定目标程序对应的内存修复优先级。或者,可根据目标程序对应的用户类型,确定目标程序对应的内存修复优先级。
进一步,在目标程序为设定的程序类型的情况下,在步骤304中,可触发计算设备的BIOS对内存异常位置执行内存修复策略。
本实施例提供的内存异常修复处理方式,在内存修复策略的修复能力有限的前提下,在管控节点侧设置选择策略,来选择能够触发BIOS执行内存修复策略的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。管控节点侧可通过软件,灵活设置内存修复策略处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。
在一些实施例中,可通过计算设备的OS触发BIOS对内存异常位置执行内存修复策略。
具体地,可向OS发起对内存异常位置执行上述内存修复策略的内存修复请求;OS可将内存修复请求发送至BIOS。OS可直接或间接将内存修复请求发送至BIOS。
可选地,OS直接将内存修复请求发送至BIOS可实现为:OS可调用与BIOS之间的工作接口,并通过工作节点向BIOS发起内存修复请求。其中,OS与BIOS之间的工作接口可为定制的ACPI等。
或者,OS直接将内存修复请求发送至BIOS可实现为:OS通过系统管理中断的方式向BIOS发起内存修复请求。系统管理中断可为软件SMI等。
OS间接将内存修复请求发送至BIOS可实现为:OS通过计算设备的BMC将所述内存修复请求发送至BIOS等。
在一些实施例中,可通过计算设备的OS触发BMC对内存异常位置执行内存修复策略。具体地,可向BMC发起对内存异常位置执行上述内存修复策略的内存修复请求;BMC可将内存修复请求发送至BIOS。
其中,BMC可直接将内存修复请求发送至BIOS。或者,BMC也可间接将内存修复请求发送至BIOS。例如,BMC可通过OS将内存修复请求发送至BIOS等。
进一步,BIOS可响应于内存修复请求,对内存异常位置执行内存修复策略。具体地,BIOS可从内存修复请求中,获取内存异常位置;并对内存异常位置执行内存修复策略。
例如,对于内存修复策略为PCLS策略的实施例,BIOS可从冗余的内存单元(Cell)中,确定目标内存单元;并利用目标内存单元替换内存异常位置对应的内存单元,实现了利用修复内存异常。这种实施方式,在PCLS的修复能力有限的前提下,在管控节点侧设置选择策略,来选择能够触发BIOS执行PCLS的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。管控节点侧可通过软件,灵活设置PCLS处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。
又例如,对于内存修复策略为ADDDC策略的实施例,BIOS 201b可从计算设备的内存中冗余的逻辑阵列(Bank)中,确定目标逻辑阵列;并利用目标逻辑阵列替换内存异常位置对应的逻辑阵列(即发生错误的逻辑阵列),实现了利用ADDDC策略修复内存异常。
又例如,对于内存修复策略为Runtime PPR策略的实施例,BIOS 201b可从计算设备的内存中冗余的内存行中,确定目标内存行;并利用目标内存行替换内存异常位置对应的内存行,实现Runtime PPR修复内存异常。
又例如,对于内存修复策略为SDDC策略(一般为SDDC内存颗粒替换策略(SDDCDevice tagging))的实施例,BIOS 201b可从计算设备的内存中冗余的内存颗粒(Chip)中,确定目标内存颗粒;并利用目标内存颗粒替换内存异常位置对应的内存颗粒,实现SDDC修复内存异常。需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤301和302的执行主体可以为设备A;又比如,步骤301的执行主体可以为设备A,步骤302的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述内存异常处理方法中的步骤。
图4为本申请实施例提供的电子设备的结构示意图。该电子设备可实现为上述实施例的管控节点,主要用于执行上述实施例提供的内存异常处理方法。如图4所示,该电子设备包括:存储器40a和处理器40b;其中,存储器40a,用于存储计算机程序。
处理器40b耦合至存储器40a,用于执行计算机程序以用于:获取计算设备的内存错误信息;根据内存错误信息,确定内存异常位置;根据计算设备的内存映射关系,确定内存异常位置加载的目标程序;以及在目标程序属于设定的程序类型的情况下,触发计算设备的基本输入输出系统(BIOS)对内存异常位置执行内存修复策略。
可选地,处理器40b在获取计算设备的内存错误信息时,具体用于:获取计算设备的OS发送的内存错误信息;或者,获取计算设备的BMC发送的内存错误信息。
可选地,处理器40b还用于:若目标程序为内核程序,确定目标程序属于设定的程序类型;若目标程序为应用程序,确定目标程序对应的内存修复优先级;若内存修复优先级为设定优先级,确定目标程序属于设定的程序类型。
进一步,处理器40b在确定目标程序对应的内存修复优先级时,具体用于:根据目标程序的服务等级目标SLO,确定目标程序对应的内存修复优先级;或者,确定目标程序对应的用户类型,确定目标程序对应的内存修复优先级。
可选地,处理器40b在根据内存错误信息,确定内存异常位置时,具体用于:根据内存修改策略支持的修复粒度,从内存错误信息中提取符合修复粒度的内存异常位置。
在一些实施例中,内存修复策略为部分缓存线保留(PCLS)策略;PCLS策略的修复粒度为单比特数据。相应地,处理器40b在根据内存修改策略支持的修复粒度,从内存错误信息中提取符合修复粒度的内存异常位置时,具体用于:从内存错误信息中,提取计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列的标识、发生错误的内存颗粒的标识、发生错误的逻辑阵列的标识及发生错误的内存行和列,作为符合PCLS修复粒度的内存异常位置。
在另一些实施例中,内存修复策略为ADDDC策略;ADDDC策略的修复粒度为内存颗粒;相应地,处理器40b在根据内存修改策略支持的修复粒度,从内存错误信息中提取符合修复粒度的内存异常位置时,具体用于:从内存错误信息中,计算设备的内存中提取发生错误的内存条的标识、发生错误的物理阵列的标识及发生错误的内存颗粒的标识及发生错误的逻辑阵列的标识,作为符合ADDDC策略的修复粒度的内存异常位置。
在又一些实施例中,内存修复策略为动态封装后修复(Runtime PPR)策略;Runtime PPR策略的修复粒度为内存颗粒的逻辑阵列中的内存行。相应地,处理器40b在根据内存修改策略支持的修复粒度,从内存错误信息中提取符合修复粒度的内存异常位置时,具体用于:从内存错误信息中,计算设备的内存中提取生错误的内存条的标识、发生错误的物理阵列的标识、发生错误的内存颗粒的标识、发生错误的逻辑阵列的标识及发生错误的行的标识,作为符合动态封装后修复策略的修复粒度的内存异常位置。
在其它一些实施例中,内存修复策略为SDDC策略;SDDC策略的修复粒度为单内存颗粒错误。相应地,处理器40b在根据内存修改策略支持的修复粒度,从内存错误信息中提取符合修复粒度的内存异常位置时,具体用于:从内存错误信息中,计算设备的内存中提取发生错误的内存条的标识、发生错误的物理阵列及发生错误的内存颗粒的标识,作为符合SDDC策略的修复粒度的内存异常位置。
在本申请一些实施例中,处理器40b在触发计算设备的基本输入输出系统BIOS对内存异常位置执行内存修复策略时,具体用于:通过操作系统触发BIOS对内存异常位置执行内存修复策略;或者通过计算设备的BMC触发BIOS对内存异常位置执行内存修复策略。
在一些实施例中,处理器40b在通过操作系统触发计算设备的基本输入输出系统BIOS对内存异常位置执行内存修复策略时,具体用于:向操作系统发起对内存异常位置执行内存修复策略的内存修复请求;通过操作系统将内存修复请求发送至BIOS;其中,BIOS响应于内存修复请求,对内存异常位置执行内存修复策略。
可选地,处理器40b在通过操作系统将内存修复请求发送至BIOS时,具体用于:通过操作系统调用与BIOS之间的工作接口,并通过工作接口向BIOS发起内存修复请求;或者,通过操作系统通过系统管理中断的方式向BIOS发起内存修复请求;或者,通过操作系统通过计算设备的BMC将内存修复请求发送至BIOS。
处理器40b在通过BMC触发BIOS对内存异常位置执行内存修复策略时,具体用于:向BMC发起对内存异常位置执行内存修复策略的内存修复请求;通过BMC将内存修复请求发送至BIOS;其中,BIOS响应于内存修复请求,对内存异常位置执行内存修复策略。
可选地,处理器40b在通过BMC将内存修复请求发送至BIOS时,具体用于:通过BMC直接将内存修复请求发送至BIOS;或者,通过BMC通过操作系统将内存修复请求发送至BIOS。
可选地,内存修复策略为PCLS策略,BIOS在响应于内存修复请求,对内存异常位置执行内存修复策略时具体用于:BIOS从内存修复请求中,获取内存异常位置;从计算设备的冗余的内存单元中,确定目标内存单元;利用目标内存单元替换内存异常位置对应的内存单元。
可选地,内存修复策略为ADDDC策略。BIOS在响应于内存修复请求,对内存异常位置执行内存修复策略时,具体用于:BIOS从内存修复请求中,获取内存异常位置;从计算设备的内存中的冗余的逻辑阵列中,确定目标逻辑阵列;利用目标逻辑阵列替换内存异常位置对应的逻辑阵列。
可选地,内存修复策略为动态封装后修复策略,BIOS在响应于内存修复请求,对内存异常位置执行内存修复策略时,具体用于:BIOS从内存修复请求中,获取内存异常位置;从计算设备的内存中的冗余的内存行中,确定目标内存行;利用目标内存行替换内存异常位置对应的内存行。
可选地,内存修复策略为SDDC策略,确切为SDDC内存颗粒替换(SDDC DeviceTagging)策略。相应地,BIOS在响应于内存修复请求,对内存异常位置执行内存修复策略时,具体用于:BIOS从内存修复请求中,获取内存异常位置;从计算设备的内存中的冗余的内存颗粒中,确定目标内存颗粒;利用目标内存颗粒替换内存异常位置对应的内存颗粒。
在一些可选实施方式中,如图4所示,该电子设备还可以包括:通信组件40c、电源组件40d等组件。在一些实施例中,电子设备可实现为电脑等终端设备。相应地,电子设备还可包括:显示组件40e及音频组件40f等可选组件。图4中仅示意性给出部分组件,并不意味着电子设备必须包含图4所示全部组件,也不意味着电子设备只能包括图4所示组件。
本实施例提供的电子设备,可部署软件管理模块。本实施例在内存修复策略的修复能力有限的前提下,在电子设备侧设置选择策略,来选择能够触发BIOS执行内存修复策略的程序类型,使得BIOS对设定程序类型的目标程序对应的内存异常优先处理,从而可优先保障设定程序类型的程序对应的异常内存被修复。电子设备侧可通过软件,灵活设置内存修复策略处理的程序类型,这样可根据程序的服务的重要性灵活选择程序对应的内存异常进行处理,有助于提高内存修复的灵活性。
在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random-Access Memory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM),可擦除可编程只读存储器(Electrical Programmable Read Only Memory,EPROM),可编程只读存储器(Programmable Read Only Memory,PROM),只读存储器(Read Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为专用集成电路(Application Specific Integrated Circuit,ASIC)芯片;或者为先进精简指令集(Reduced Instruction Set Compute,RISC)处理器(Advanced RISC Machines,ARM)或系统芯片(System on Chip,SoC)等等,但不限于此。
在本申请实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如无线保真(Wireless Fidelity,WiFi),2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件还可基于近场通信(Near Field Communication,NFC)技术、射频识别(Radio Frequency Identification,RFID)技术、红外数据协会(Infrared DataAssociation,IrDA)技术、超宽带(Ultra Wide Band,UWB)技术、蓝牙(Bluetooth,BT)技术或其他技术来实现。
在本申请实施例中,显示组件可以包括液晶显示器(Liquid Crystal Display,LCD)和触摸面板(Touch Panel,TP)。如果显示组件包括触摸面板,显示组件可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
在本申请实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
在本申请实施例中,音频组件可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(Microphone,MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。例如,对于具有语言交互功能的设备,可通过音频组件实现与用户的语音交互等。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
还需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(或系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(如CPU等)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(Random-Access Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash RAM)。内存是计算机可读介质的示例。
计算机的存储介质为可读存储介质,也可称为可读介质。可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random Access Memory,DRAM))、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(Digital Video Disc,DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(Transitory Media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上内容仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (20)

1.一种内存异常处理方法,其特征在于,包括:
获取计算设备的内存错误信息;
根据所述内存错误信息,确定内存异常位置;
根据所述计算设备的内存映射关系,确定所述内存异常位置加载的目标程序;
在所述目标程序属于设定的程序类型的情况下,触发所述计算设备的基本输入输出系统BIOS对所述内存异常位置执行内存修复策略。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述目标程序为内核程序,确定所述目标程序属于设定的程序类型;
若所述目标程序为应用程序,确定所述目标程序对应的内存修复优先级;若所述内存修复优先级为设定优先级,确定所述目标程序属于设定的程序类型。
3.根据权利要求2所述的方法,其特征在于,所述确定所述目标程序对应的内存修复优先级,包括:
根据所述目标程序的服务等级目标SLO,确定所述目标程序对应的内存修复优先级;
或者,
确定所述目标程序对应的用户类型,确定所述目标程序对应的内存修复优先级。
4.根据权利要求1所述的方法,其特征在于,所述根据所述内存错误信息,确定内存异常位置,包括:
根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置。
5.根据权利要求4所述的方法,其特征在于,所述内存修复策略为部分缓存线保留PCLS策略;所述PCLS策略的修复粒度为单比特数据;所述根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置,包括:
从所述内存错误信息中,提取所述计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列的标识、发生错误的内存颗粒的标识、发生错误的逻辑阵列的标识及发生错误的内存行和列,作为符合所述PCLS策略的修复粒度的内存异常位置。
6.根据权利要求4所述的方法,其特征在于,所述内存修复策略为自适应双设备数据校正ADDDC策略;所述ADDDC策略的修复粒度为内存颗粒;所述根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置,包括:
从所述内存错误信息中,提取所述计算设备的内存中发生错误的内存条的标识、发生错误的物理阵列的标识及发生错误的内存颗粒的标识及发生错误的逻辑阵列的标识,作为符合所述ADDDC策略的修复粒度的内存异常位置。
7.根据权利要求4所述的方法,其特征在于,所述内存修复策略为动态封装后修复策略;所述动态封装后修复策略的修复粒度为内存颗粒的逻辑阵列中的内存行;所述根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置,包括:
从所述内存错误信息中,所述计算设备的内存中提取生错误的内存条的标识、发生错误的物理阵列的标识、发生错误的内存颗粒的标识、发生错误的逻辑阵列的标识及发生错误的行的标识,作为符合所述动态封装后修复策略的修复粒度的内存异常位置。
8.根据权利要求4所述的方法,其特征在于,所述内存修复策略为单内存颗粒数据错误纠正SDDC策略;所述SDDC策略的修复粒度为单内存颗粒错误;所述根据所述内存修改策略支持的修复粒度,从所述内存错误信息中提取符合所述修复粒度的内存异常位置,包括:
从所述内存错误信息中,所述计算设备的内存中提取发生错误的内存条的标识、发生错误的物理阵列及发生错误的内存颗粒的标识,作为符合所述SDDC策略的修复粒度的内存异常位置。
9.根据权利要求1所述的方法,其特征在于,所述触发所述计算设备的基本输入输出系统BIOS对所述内存异常位置执行内存修复策略,包括:
通过所述计算设备的操作系统触发所述BIOS对所述内存异常位置执行内存修复策略;
或者,
通过所述计算设备的主板管控单元BMC触发所述BIOS对所述内存异常位置执行内存修复策略。
10.根据权利要求9所述的方法,其特征在于,所述通过所述计算设备的操作系统触发所述BIOS对所述内存异常位置执行内存修复策略,包括:
向所述操作系统发起对所述内存异常位置执行所述内存修复策略的内存修复请求;
所述操作系统将所述内存修复请求发送至所述BIOS;
所述BIOS响应于所述内存修复请求,对所述内存异常位置执行内存修复策略。
11.根据权利要求10所述的方法,其特征在于,所述操作系统将所述内存修复请求发送至所述BIOS,包括:
所述操作系统调用与所述BIOS之间的工作接口,通过所述工作接口向所述BIOS发起所述内存修复请求;
或者,
所述操作系统通过系统管理中断的方式向所述BIOS发起所述内存修复请求;
或者,
所述操作系统通过所述计算设备的主板管控单元BMC将所述内存修复请求发送至所述BIOS。
12.根据权利要求9所述的方法,其特征在于,所述通过所述计算设备的主板管控单元BMC触发所述BIOS对所述内存异常位置执行内存修复策略,包括:
向所述BMC发起对所述内存异常位置执行所述内存修复策略的内存修复请求;
所述BMC将所述内存修复请求发送至所述BIOS;
所述BIOS响应于所述内存修复请求,对所述内存异常位置执行内存修复策略。
13.根据权利要求12所述的方法,其特征在于,所述BMC将所述内存修复请求发送至所述BIOS,包括:
所述BMC直接将所述内存修复请求发送至所述BIOS;
或者,
所述BMC通过所述操作系统将所述内存修复请求发送至所述BIOS。
14.根据权利要求6或12所述的方法,其特征在于,所述内存修复策略为PCLS策略,所述BIOS响应于所述内存修复请求,对所述内存异常位置执行内存修复策略,包括:
所述BIOS从所述内存修复请求中,获取所述内存异常位置;
从所述计算设备的冗余的内存单元中,确定目标内存单元;
利用所述目标内存单元替换所述内存异常位置对应的内存单元。
15.根据权利要求6或12所述的方法,其特征在于,所述内存修复策略为ADDDC策略,所述BIOS响应于所述内存修复请求,对所述内存异常位置执行内存修复策略,包括:
所述BIOS从所述内存修复请求中,获取所述内存异常位置;
从所述计算设备的内存中的冗余的逻辑阵列中,确定目标逻辑阵列;
利用所述目标逻辑阵列替换所述内存异常位置对应的逻辑阵列。
16.根据权利要求6或12所述的方法,其特征在于,所述内存修复策略为动态封装后修复策略,所述BIOS响应于所述内存修复请求,对所述内存异常位置执行内存修复策略,包括:
所述BIOS从所述内存修复请求中,获取所述内存异常位置;
从所述计算设备的内存中的冗余的内存行中,确定目标内存行;
利用所述目标内存行替换所述内存异常位置对应的内存行。
17.根据权利要求6或12所述的方法,其特征在于,所述内存修复策略为SDDC策略,所述BIOS响应于所述内存修复请求,对所述内存异常位置执行内存修复策略,包括:
所述BIOS从所述内存修复请求中,获取所述内存异常位置;
从所述计算设备的内存中的冗余的内存颗粒中,确定目标内存颗粒;
利用所述目标内存颗粒替换所述内存异常位置对应的内存颗粒。
18.根据权利要求1所述的方法,其特征在于,所述获取计算设备的内存错误信息,包括:
获取所述计算设备的操作系统发送的所述计算设备的内存错误信息;
或者,
获取所述计算设备的主板管控单元BMC发送的所述计算设备的内存错误信息。
19.一种电子设备,其特征在于,包括:存储器和处理器;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器,用于执行所述计算机程序以用于执行权利要求1-18任一项所述方法中的步骤。
20.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-18任一项所述方法中的步骤。
CN202310356957.9A 2023-03-30 2023-03-30 内存异常处理方法、设备及存储介质 Pending CN116401085A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310356957.9A CN116401085A (zh) 2023-03-30 2023-03-30 内存异常处理方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310356957.9A CN116401085A (zh) 2023-03-30 2023-03-30 内存异常处理方法、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116401085A true CN116401085A (zh) 2023-07-07

Family

ID=87006983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310356957.9A Pending CN116401085A (zh) 2023-03-30 2023-03-30 内存异常处理方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116401085A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118245290A (zh) * 2024-05-24 2024-06-25 浪潮云信息技术股份公司 快速检测操作系统内存不可恢复错误的系统及方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118245290A (zh) * 2024-05-24 2024-06-25 浪潮云信息技术股份公司 快速检测操作系统内存不可恢复错误的系统及方法

Similar Documents

Publication Publication Date Title
EP3916557B1 (en) Memory error processing method and device
US10019312B2 (en) Error monitoring of a memory device containing embedded error correction
US12014791B2 (en) Memory fault handling method and apparatus, device, and storage medium
EP3391220B1 (en) Systems, methods, and computer programs for resolving dram defects
US8914708B2 (en) Bad wordline/array detection in memory
US9092349B2 (en) Storage of codeword portions
US9645904B2 (en) Dynamic cache row fail accumulation due to catastrophic failure
US8812915B2 (en) Determining whether a right to use memory modules in a reliability mode has been acquired
EP1746505A2 (en) Autonomous method and apparatus for mitigating soft-errors in integrated circuit memory storage devices at run-time
US20090217281A1 (en) Adaptable Redundant Bit Steering for DRAM Memory Failures
WO2019000206A1 (en) METHODS AND APPARATUS FOR PERFORMING ERROR DETECTION AND / OR CORRECTION IN A MEMORY DEVICE
CN104685474A (zh) 包括不可纠正的错误的地址范围的通知
CN111221775B (zh) 处理器、缓存处理方法及电子设备
CN102968353A (zh) 一种失效地址处理方法及装置
CN116401085A (zh) 内存异常处理方法、设备及存储介质
CN115168087A (zh) 一种确定内存故障的修复资源粒度的方法及装置
CN116126581B (zh) 内存故障处理方法、装置、系统、设备及存储介质
US20200111539A1 (en) Information processing apparatus for repair management of storage medium
CN111506460A (zh) 内存故障的处理方法、装置、移动终端及存储介质
CN115686901B (zh) 内存故障分析方法及计算机设备
CN116483612B (zh) 内存故障处理方法、装置、计算机设备和存储介质
CN115756911A (zh) 内存故障处理方法、设备及存储介质
US20230386598A1 (en) Methods for real-time repairing of memory failures caused during operations, memory systems performing repairing methods, and data processing systems including repairing memory systems
CN117971539A (zh) 一种内存故障处理方法、计算设备及管理平台
CN117687833A (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