CN119065879A - Dram的故障检测方法、装置、存储介质及电子设备 - Google Patents
Dram的故障检测方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN119065879A CN119065879A CN202411071360.0A CN202411071360A CN119065879A CN 119065879 A CN119065879 A CN 119065879A CN 202411071360 A CN202411071360 A CN 202411071360A CN 119065879 A CN119065879 A CN 119065879A
- Authority
- CN
- China
- Prior art keywords
- dram
- address
- memory
- address information
- information
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0706—Error 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/073—Error 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2017—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/88—Masking faults in memories by using spares or by reconfiguring with partially good memories
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请实施例公开了一种DRAM的故障检测方法、DRAM的故障检测装置、存储介质及电子设备,涉及计算机领域。本方案通过通过在PEI阶段获取DRAM的地址译码映射信息,并在DXE阶段利用这些信息进行故障检测,本技术方案能够精确地定位DRAM中出错的内存地址。一旦检测到内存地址出错,能够进一步解析出该地址对应的channel、rank、bank、chip、row和column等详细地址信息,为后续的Intel架构的计算机系统的内存故障修复提供了精确的依据,简化内存故障检测步骤和提高故障检测效率。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种DRAM的故障检测方法、装置、存储介质及电子设备。
背景技术
为了测试内存的稳定性,优化内存的参数。内存颗粒虽然在出厂时已经经过检测,但是出厂检测只能测试单颗内存颗粒的品质,当内存颗粒组合成内存条时,天然的会在中央的颗粒和最边缘的颗粒之间形成信号的latency(因为信号线长短不一),所以有必要再进行测试以确认稳定性和优化参数。在Intel架构的计算机系统中,目前内存地址映射方法大都是用反复锤击(Rowhammer)然后交叉对比的方式推测出来的,内存测试过程复杂却耗费时间较长。
发明内容
本申请实施例提供了DRAM的故障检测方法、DRAM的故障检测装置、存储介质及电子设备,可以解决现有技术中处理器在故障检测步骤步骤和耗费时间长的问题。所述技术方案如下:
第一方面,本申请实施例提供了一种DRAM的故障检测方法,所述方法包括:
在PEI阶段中,根据MRC代码获取DRAM的地址译码映射信息,以及将所述地址译码映射信息传递到DXE阶段;
在所述DXE阶段中,对所述DRAM进行故障检测,当检测到所述DRAM的内存地址出错时,根据所述地址映射信息查询所述内存地址对应的channel地址信息、rank地址信息、bank地址信息、chip地址信息、row地址信息和column地址信息;
检测所述DRAM是否存在预设数量的冗余行;
若为是,利用所述冗余行对所述DRAM中所述row地址信息指示的行进行修复;
若为否,提示用户对所述chip地址信息指示的DRAM芯片进行替换。
第二方面,本申请实施例提供了一种DRAM的故障检测装置,所述装置包括:
传递单元,用于在PEI阶段中,根据MRC代码获取DRAM的地址译码映射信息,以及将所述地址译码映射信息传递到DXE阶段;
查询单元,用于在所述DXE阶段中,对所述DRAM进行故障检测,当检测到所述DRAM的内存地址出错时,根据所述地址映射信息查询所述内存地址对应的channel地址信息、rank地址信息、bank地址信息、chip地址信息、row地址信息和column地址信息;
检测单元,用于检测所述DRAM是否存在预设数量的冗余行;
修复单元,用于若为是,利用所述冗余行对所述DRAM中所述row地址信息指示的行进行修复;
提示单元,用于若为否,提示用户对所述chip地址信息指示的DRAM芯片进行替换。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,包括:内存、内存控制器和上述的DRAM的故障检测装置。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
在Intel架构的计算机系统中,通过在PEI阶段获取DRAM的地址译码映射信息,并在DXE阶段利用这些信息进行故障检测,本技术方案能够精确地定位DRAM中出错的内存地址。一旦检测到内存地址出错,能够进一步解析出该地址对应的channel、rank、bank、chip、row和column等详细地址信息,为后续的故障修复提供了精确的依据。本技术方案在检测到DRAM故障后,首先检查DRAM是否具备预设数量的冗余行。如果具备,则利用这些冗余行对出错的行进行修复,无需更换整个DRAM芯片,从而节省了成本和时间。这种基于冗余的修复机制提高了系统的可靠性和维护效率。对于没有足够冗余行进行修复的DRAM故障,本技术方案提供了灵活的故障处理策略。会提示用户对出错的DRAM芯片进行替换,确保了系统的持续稳定运行。这种处理方式既考虑到了成本效益,也兼顾了系统的可用性和可维护性。通过及时检测和修复DRAM中的故障,本技术方案显著提升了系统的稳定性和可靠性。减少了因DRAM故障导致的系统崩溃和数据丢失的风险,为用户提供了更加稳定、可靠的计算环境。本技术方案在DXE阶段集成了DRAM故障检测和修复的功能,使得系统具备了更强的自我修复能力。这种能力有助于减少人工干预和停机时间,提高了系统的整体性能和可用性。通过自动化的故障检测和修复流程,本技术方案减少了用户面对DRAM故障时的困惑和不安。能够快速准确地定位问题并提供解决方案,从而提升了用户的满意度和信任度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例提供的电子设备的结构示意图;
图2是本申请实施例提供的DRAM的故障检测方法的流程示意图;
图3是本申请提供的一种DRAM的故障检测装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
需要说明的是,本申请提供的DRAM的故障检测方法一般由处理器执行,相应的,DRAM的故障检测方法一般设置于处理器中。
需要说明的是,本申请提供的DRAM的故障检测方法一般由处理器来执行。
图1示出了可以应用于本申请的电子设备的结构示意图。
请参见图1,为本申请实施例提供了一种电子设备的结构示意图。如图1所示,电子设备包括:处理器和内存,处理器中内置有内存控制器,用于对内存执行读写操作。
处理器包含中央处理器(Central Processing Unit,CPU),主板(MainBoard);
CPU利用各种接口和线路连接整个系统的各个部分,通过运行或执行存储在存储器内的指令、程序、代码集或指令集,以及调用存储在存储器内的数据,执行芯片的各种功能和处理数据。CPU为Intel系列处理器。
其中,存储器可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory),也可以是网络服务器上的存储设备。图1中被测试的内存为DRAM(Dynamic Random Access Memory)。
在图1所示的内存控制器中,总控制器可以用于调用存储器中存储的应用程序,并具体执行如图2所示的方法,具体过程可参照图2所示,此处不再赘述。
下面将结合附图2,对本申请实施例提供的DRAM的故障检测方法进行详细介绍。其中,本申请实施例中的DRAM的故障检测装置可以是图1所示的DRAM的故障检测装置。
请参见图2,为本申请实施例提供了一种DRAM的故障检测方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:
S201、在PEI阶段中,根据MRC代码获取DRAM的地址译码映射信息,以及将地址译码映射信息传递到DXE阶段。
其中,在系统加电后,处理器首先执行BIOS或UEFI固件中的基本启动代码,这些代码负责初始化CPU的基本运行环境和加载PEI模块。在PEI阶段,处理器会调用并执行MRC(Memory Reference Code)代码。MRC是一个专门用于DRAM初始化的程序,深入了解DRAM的物理和逻辑结构。MRC代码首先会扫描系统主板上安装的所有DRAM模块,识别DRAM模块的类型、容量、速度等基本信息。根据DRAM模块的特性,MRC代码会配置DRAM的工作参数,如时序、电压、频率等,以确保DRAM能够稳定工作。在配置过程中,MRC代码会生成DRAM的地址译码映射信息。这些信息用于详细描述DRAM的内部组织结构,包括channel(通道)、rank(秩)、bank(存储体)、chip(芯片)、row(行)和column(列)之间的映射关系,这些信息对于后续的内存访问和故障检测至关重要。MRC代码将生成的地址译码映射信息存储在处理器可访问的某个位置,这通常是CPU的寄存器、内存中的特定区域或固件中的某个数据结构。在PEI阶段完成其任务后,系统会进入DXE(Driver Execution Environment)阶段。在DXE阶段开始之前,PEI阶段会将包括地址译码映射信息在内的所有重要信息传递给DXE阶段。这一传递过程可能是通过直接复制数据、设置全局变量、更新固件中的数据结构或触发DXE阶段加载特定驱动程序来实现的。在DXE阶段开始时,会检查并接收从PEI阶段传递过来的所有信息,包括DRAM的地址译码映射信息。
S202、在DXE阶段中,对DRAM进行故障检测,当检测到DRAM的内存地址出错时,根据地址映射信息查询内存地址对应的channel地址信息、rank地址信息、bank地址信息、chip地址信息、row地址信息和column地址信息。
其中,在系统从PEI阶段过渡到DXE阶段后,处理器会执行DXE阶段的初始化代码,加载必要的驱动程序和服务。DXE阶段会准备或加载一个专门用于DRAM故障检测的工具或模块。这个工具可能是一个独立的驱动程序,也可能是固件中集成的功能。处理器会启动DRAM故障检测工具,该工具会遍历DRAM的所有地址空间,执行读写测试等操作来检查每个内存地址的可靠性。如果工具在检测过程中发现某个内存地址出错(例如,读取的数据与写入的数据不一致),会记录该错误地址,并标记为故障地址。当检测到DRAM内存地址出错时,处理器会访问在PEI阶段存储的地址映射信息。这些信息详细描述了DRAM的物理组织结构及其与逻辑地址之间的映射关系。处理器使用地址映射信息来解析故障地址。具体来说,会将逻辑地址(即出错的内存地址)转换为对应的物理地址组成部分,包括channel地址信息、rank地址信息、bank地址信息、chip地址信息、row地址信息和column地址信息。通过解析地址,处理器能够精确地定位到DRAM中出错的物理位置。这对于后续的故障修复或处理至关重要。内存地址的位宽为32位或64位。
S203、检测DRAM是否存在预设数量的冗余行。
其中,处理器首先需要通过特定的硬件接口或固件服务访问DRAM模块的配置信息。这些信息通常存储在DRAM模块本身的一个或多个寄存器中,也可能存储在主板的BIOS或UEFI固件中。处理器解析这些配置信息,以获取关于DRAM模块的各种参数,包括其是否支持冗余行功能以及冗余行的数量。处理器检查DRAM模块的配置信息中是否明确表明支持冗余行功能。如果不支持,则无需进一步检测冗余行的数量。如果DRAM模块支持冗余行,处理器将读取并记录冗余行的数量,这个数量可能是直接存储在配置信息中的一个值,也可能是通过计算得出的(例如,基于DRAM模块的总容量和冗余行所占用的比例)。处理器还需要获取一个预设的冗余行数量阈值。这个阈值可能是由系统制造商或用户根据特定的可靠性要求设置的,数量阈值可能存储在BIOS/UEFI的某个设置项中,或者作为系统初始化参数之一。处理器将DRAM模块中实际可用的冗余行数量与预设的阈值进行比较。如果DRAM模块中的冗余行数量达到或超过预设的阈值,处理器将认为DRAM具有足够的冗余资源来应对潜在的行故障,并可能继续执行其他系统初始化任务。如果冗余行数量不足,处理器可能会记录一个错误或警告信息,并通过系统日志、屏幕显示或其他方式通知用户。
S204、若为是,根据hPPR机制利用冗余行对DRAM中row地址信息指示的行进行修复。
其中,处理器首先通过预设的测试系统对DRAM进行内存压力测试,以检测并定位存在故障的行(row)。这一过程可能包括读写测试、地址扫描等多种手段,以模拟实际使用中的高负载情况,从而触发潜在的故障。测试系统记录并返回故障行的具体地址信息给处理器。这些信息是后续修复过程的基础。处理器检查DRAM模块中是否配备有足够的冗余行资源。根据DDR4标准,8Gb及以上的DRAM容量必须配备PPR(封装后修复)功能,包括冗余行。处理器需要配置一系列的系统参数和DRAM设置,以确保hPPR修复过程能够顺利进行。这可能包括关闭DBI(数据总线反转)和CRC(循环冗余校验)等功能,以及设置Guard Key等安全机制,以防止非法的hPPR操作。处理器向DRAM发送hPPR修复命令。这个命令通常包括故障行的地址信息,以及指示DRAM使用冗余行进行替换的指令。
DRAM接收到hPPR修复命令后,其内部的行解码器会根据故障行的地址信息,在DRAM模块中寻找一个可用的冗余行进行映射。这个映射过程是在硬件层面上完成的,确保了修复后的数据传输能够顺利进行。在地址映射完成后,DRAM会将故障行中的数据(如果有的话)迁移到冗余行中。这个迁移过程可能是自动的,也可能需要处理器的进一步指令。同时,DRAM还会对冗余行进行必要的测试和验证,以确保其能够正常工作。为了验证修复是否成功,处理器会向修复后的冗余行(即原故障行的地址)写入预设的测试数据。这些数据通常具有特定的模式或值,以便于后续的验证过程。处理器随后从冗余行中读取测试数据,并将其与写入时的数据进行对比。如果两者一致,则说明修复成功;如果不一致,则说明修复失败或存在其他问题。如果修复成功,处理器需要记录此次修复的信息,包括故障行的地址、使用的冗余行地址等。这些信息对于后续的维护和管理非常重要。如果修复失败或遇到其他问题,处理器需要根据系统的错误处理机制进行相应的处理。这可能包括记录错误日志、触发警报通知、尝试其他修复方法等。
S205、若为否,提示用户对chip地址信息指示的DRAM芯片进行替换。
其中,如果处理器确定无法通过内部机制修复故障行,将进入下一步,即考虑替换DRAM芯片。处理器使用故障行的地址信息(包括chip地址信息)来确定哪个DRAM芯片包含这些故障行。chip地址信息通常用于标识DRAM模块中的特定芯片或芯片组。处理器根据确定的chip地址信息,生成一个替换提示。这个提示将告知用户需要替换哪个DRAM芯片,并可能包括芯片的具体位置信息(如插槽编号、芯片编号等)。处理器将替换提示通过某种方式(如系统日志、屏幕显示、BIOS/UEFI界面等)显示给用户。处理器可能需要等待用户查看提示并作出响应。这通常涉及用户关闭系统、移除DRAM模块、替换指定的DRAM芯片,并重新启动系统。在用户完成DRAM芯片的替换并重新启动系统后,处理器可以执行一系列验证测试来确认故障是否已被解决。这些测试可能包括内存压力测试、地址扫描等,以确保DRAM模块现在能够正常工作。如果替换成功,处理器可以记录这次替换的信息,包括替换的DRAM芯片编号、时间戳等。这些信息对于未来的维护和故障排查非常有用。如果替换后仍然存在问题(例如,故障依然存在或系统无法启动),处理器需要根据系统的错误处理机制进行相应的处理。这可能包括记录错误日志、触发警报通知、提供进一步的故障排查建议等。
在本申请的一些实施例中,从主板的Flash存储器中获取MRC代码。主板上的Flash存储器(通常是BIOS或UEFI固件存储的位置)用于存储系统的启动代码和配置信息。这些代码和信息在系统启动时由处理器加载并执行,以初始化系统的各个组件
在本申请的一些实施例中,所述对所述DRAM进行故障检测,包括:
加载内存测试代码,根据内存地址写入目标数据;
写入完毕后,根据所述内存地址读取数据;
比较写入的目标数据和读取的数据是否一致,若为否,则确定所述DRAM的内存地址发生故障。
其中,目标数据为全1数据或全0数据。在DXE(驱动程序执行环境)阶段或系统启动的某个适当阶段,处理器加载并执行内存测试代码。这些测试代码通常包含一系列用于验证DRAM功能和可靠性的指令。内存测试代码首先选择一个或多个内存地址作为测试目标。然后,向这些地址写入预定的目标数据。这些数据可以是简单的模式(如全0、全1、交替的0和1等),也可以是更复杂的数据序列,以便于后续的错误检测。在数据写入完成后,测试代码会再次访问之前写入的内存地址,并读取存储在那里的数据。这一步是验证数据完整性和DRAM存储功能的关键。测试代码会比较之前写入的目标数据和现在从DRAM中读取的数据。这一比较过程使用逻辑运算或位比较算法来确保数据的每个位都完全一致。如果读取的数据与写入的目标数据完全一致,那么可以认为该内存地址的DRAM存储功能是正常的。如果读取的数据与写入的目标数据不一致,那么可以确定该DRAM的内存地址发生了故障。这种故障可能是由于硬件缺陷、电气干扰、时序问题或其他因素引起的进一步的,所述加载内存测试代码包括:
从外置的移动存储设备中读取内存测试代码,或从网络服务器中读取内存测试代码。
其中,从外置的移动存储设备中读取内存测试代码的过程包括:在系统启动或运行期间,用户可以将包含内存测试代码的移动存储设备(如USB闪存驱动器、移动硬盘等)连接到计算机上。操作系统会识别新连接的移动存储设备,并自动或根据用户指令挂载该设备,使其文件系统可访问。系统(可能是BIOS/UEFI环境、操作系统或专门的诊断工具)会扫描挂载的移动存储设备,查找内存测试代码文件,并将其加载到内存中准备执行。
从网络服务器中读取内存测试代码包括:确保计算机已连接到网络,并且具有访问所需网络服务器的权限和必要的网络配置。系统通过HTTP、FTP或其他网络协议向指定的网络服务器发送请求,下载内存测试代码文件。这个过程可能需要用户输入服务器的URL地址、认证信息等。下载完成后,系统会对测试代码文件进行必要的验证(如检查文件完整性、签名等),以确保其安全性和正确性。验证通过后,系统将测试代码加载到内存中并执行
进一步的,对读取的内存测试代码进行解密,以及对解密后的内存测试代码进行完整性校验,且校验结果为通过。
在本申请的实施例中,在PEI(预EFI初始化)阶段,通过MRC(内存参考代码)获取DRAM的地址译码映射信息,并将这些关键信息无缝传递到DXE(驱动程序执行环境)阶段。这一过程确保了内存地址映射信息的连续性和准确性,为后续的内存故障检测与修复提供了坚实的基础。
在DXE阶段,当DRAM的内存地址出错时,该技术方案能够迅速利用之前传递的地址译码映射信息,精确查询到出错内存地址所对应的详细层级信息,包括channel、rank、bank、chip、row和column地址信息。这种精确的定位能力极大地提高了故障排查的效率,使得问题能够迅速被锁定在最小的故障范围内。
针对检测到的DRAM故障,技术方案提供了两种灵活的处理方式。首先,如果DRAM存在预设数量的冗余行,系统将自动利用这些冗余行对故障行进行修复,从而避免了数据丢失和系统不稳定的风险。其次,如果冗余行不足或无法修复,系统将及时提示用户替换具体的DRAM芯片(通过chip地址信息指示),确保了故障能够得到及时且有效的解决。
通过快速准确的故障定位和灵活的故障处理机制,该技术方案显著提高了系统的稳定性和可靠性。无论是自动修复还是手动替换,都能够有效减少因DRAM故障导致的系统停机时间,降低了维护成本和用户的不便。
对于用户而言,该技术方案通过提供详细的故障信息和明确的替换指导,极大地简化了故障处理流程。用户无需具备专业的技术知识,即可根据系统的提示快速完成DRAM芯片的替换工作,从而提升了整体的用户体验。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图3,其示出了本申请一个示例性实施例提供的DRAM的故障检测装置的结构示意图,以下简称DRAM的故障检测装置3。该DRAM的故障检测装置3可以通过软件、硬件或者两者的结合实现成为处理器的全部或一部分。DRAM的故障检测装置3包括:传递单元301、查询单元302、检测单元303、修复单元304、提示单元305。
传递单元301,用于在PEI阶段中,根据MRC代码获取DRAM的地址译码映射信息,以及将所述地址译码映射信息传递到DXE阶段;
查询单元302,用于在所述DXE阶段中,对所述DRAM进行故障检测,当检测到所述DRAM的内存地址出错时,根据所述地址映射信息查询所述内存地址对应的channel地址信息、rank地址信息、bank地址信息、chip地址信息、row地址信息和column地址信息;
检测单元303,用于检测所述DRAM是否存在预设数量的冗余行;
修复单元304,用于若为是,利用所述冗余行对所述DRAM中所述row地址信息指示的行进行修复;
提示单元305,用于若为否,提示用户对所述chip地址信息指示的DRAM芯片进行替换。
在一个或多个可能的实施例中,还包括:
获取单元,用于从主板的Flash存储器中获取MRC代码。
在一个或多个可能的实施例中,所述对所述DRAM进行故障检测,包括:
加载内存测试代码,根据内存地址写入目标数据;
写入完毕后,根据所述内存地址读取数据;
比较写入的目标数据和读取的数据是否一致,若为否,则确定所述DRAM的内存地址发生故障。
在一个或多个可能的实施例中,所述加载内存测试代码包括:
从外置的移动存储设备中读取内存测试代码,或从网络服务器中读取内存测试代码。
在一个或多个可能的实施例中,还包括:
处理单元,用于对读取的内存测试代码进行解密,以及对解密后的内存测试代码进行完整性校验,且校验结果为通过。
在一个或多个可能的实施例中,所述目标数据为全1数据或全0数据。
在一个或多个可能的实施例中,所述内存地址的位宽为32位或64位。
需要说明的是,上述实施例提供的装置3在执行DRAM的故障检测方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成上述的全部或者部分功能。另外,上述实施例提供的DRAM的故障检测装置与DRAM的故障检测方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2所示实施例的方法步骤,具体执行过程可以参见图2所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的DRAM的故障检测方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种DRAM的故障检测方法,其特征在于,包括:
在PEI阶段中,根据MRC代码获取DRAM的地址译码映射信息,以及将所述地址译码映射信息传递到DXE阶段;
在所述DXE阶段中,对所述DRAM进行故障检测,当检测到所述DRAM的内存地址出错时,根据所述地址映射信息查询所述内存地址对应的channel地址信息、rank地址信息、bank地址信息、chip地址信息、row地址信息和column地址信息;
检测所述DRAM是否存在预设数量的冗余行;
若为是,利用所述冗余行对所述DRAM中所述row地址信息指示的行进行修复;
若为否,提示用户对所述chip地址信息指示的DRAM芯片进行替换。
2.根据权利要求1所述的方法,其特征在于,还包括:
从主板的Flash存储器中获取MRC代码。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述DRAM进行故障检测,包括:
加载内存测试代码,根据内存地址写入目标数据;
写入完毕后,根据所述内存地址读取数据;
比较写入的目标数据和读取的数据是否一致,若为否,则确定所述DRAM的内存地址发生故障。
4.根据权利要求3所述的方法,其特征在于,所述加载内存测试代码包括:
从外置的移动存储设备中读取内存测试代码,或从网络服务器中读取内存测试代码。
5.根据权利要求4所述的方法,其特征在于,还包括:
对读取的内存测试代码进行解密,以及对解密后的内存测试代码进行完整性校验,且校验结果为通过。
6.根据权利要求4或5所述的方法,其特征在于,所述目标数据为全1数据或全0数据。
7.根据权利要求6所述的方法,其特征在于,所述内存地址的位宽为32位或64位。
8.一种DRAM的故障检测装置,其特征在于,包括:
传递单元,用于在PEI阶段中,根据MRC代码获取DRAM的地址译码映射信息,以及将所述地址译码映射信息传递到DXE阶段;
查询单元,用于在所述DXE阶段中,对所述DRAM进行故障检测,当检测到所述DRAM的内存地址出错时,根据所述地址映射信息查询所述内存地址对应的channel地址信息、rank地址信息、bank地址信息、chip地址信息、row地址信息和column地址信息;
检测单元,用于检测所述DRAM是否存在预设数量的冗余行;
修复单元,用于若为是,利用所述冗余行对所述DRAM中所述row地址信息指示的行进行修复;
提示单元,用于若为否,提示用户对所述chip地址信息指示的DRAM芯片进行替换。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:内存、内存控制器和如权利要求8所述的DRAM的故障检测装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411071360.0A CN119065879A (zh) | 2024-08-06 | 2024-08-06 | Dram的故障检测方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411071360.0A CN119065879A (zh) | 2024-08-06 | 2024-08-06 | Dram的故障检测方法、装置、存储介质及电子设备 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN119065879A true CN119065879A (zh) | 2024-12-03 |
Family
ID=93640570
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411071360.0A Pending CN119065879A (zh) | 2024-08-06 | 2024-08-06 | Dram的故障检测方法、装置、存储介质及电子设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119065879A (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120256185A (zh) * | 2025-05-29 | 2025-07-04 | 苏州元脑智能科技有限公司 | 内存故障处理方法和装置、电子设备及可读存储介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116069538A (zh) * | 2023-02-21 | 2023-05-05 | 宁畅信息产业(北京)有限公司 | 一种故障修复方法、装置、电子设备及存储介质 |
| CN116483630A (zh) * | 2023-03-16 | 2023-07-25 | 超聚变数字技术有限公司 | 内存故障修复方法 |
| US20230315564A1 (en) * | 2022-03-31 | 2023-10-05 | Micron Technology, Inc. | Systems and methods for address fault detection |
| CN117421162A (zh) * | 2023-09-08 | 2024-01-19 | 新华三信息技术有限公司 | 内存故障检出方法及其装置、计算机设备、存储介质 |
-
2024
- 2024-08-06 CN CN202411071360.0A patent/CN119065879A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20230315564A1 (en) * | 2022-03-31 | 2023-10-05 | Micron Technology, Inc. | Systems and methods for address fault detection |
| CN116069538A (zh) * | 2023-02-21 | 2023-05-05 | 宁畅信息产业(北京)有限公司 | 一种故障修复方法、装置、电子设备及存储介质 |
| CN116483630A (zh) * | 2023-03-16 | 2023-07-25 | 超聚变数字技术有限公司 | 内存故障修复方法 |
| CN117421162A (zh) * | 2023-09-08 | 2024-01-19 | 新华三信息技术有限公司 | 内存故障检出方法及其装置、计算机设备、存储介质 |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120256185A (zh) * | 2025-05-29 | 2025-07-04 | 苏州元脑智能科技有限公司 | 内存故障处理方法和装置、电子设备及可读存储介质 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6564348B1 (en) | Method and apparatus for storing and using chipset built-in self-test signatures | |
| US7818556B2 (en) | Storage apparatus, control method, and control device which can be reliably started up when power is turned on even after there is an error during firmware update | |
| US6976197B2 (en) | Apparatus and method for error logging on a memory module | |
| US7266727B2 (en) | Computer boot operation utilizing targeted boot diagnostics | |
| US7661044B2 (en) | Method, apparatus and program product to concurrently detect, repair, verify and isolate memory failures | |
| US6550019B1 (en) | Method and apparatus for problem identification during initial program load in a multiprocessor system | |
| WO2021169260A1 (zh) | 一种系统板卡电源检测方法、装置、设备及存储介质 | |
| WO2018118837A1 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
| CN113377586B (zh) | 一种服务器自动化检测方法、装置及存储介质 | |
| CN115129520A (zh) | 计算机系统、计算机服务器及其启动方法 | |
| US6985826B2 (en) | System and method for testing a component in a computer system using voltage margining | |
| US7356744B2 (en) | Method and system for optimizing testing of memory stores | |
| CN119065879A (zh) | Dram的故障检测方法、装置、存储介质及电子设备 | |
| US6625728B1 (en) | Method and apparatus for locating and displaying a defective component in a data processing system during a system startup using location and progress codes associated with the component | |
| US7797134B2 (en) | System and method for testing a memory with an expansion card using DMA | |
| CN114385418A (zh) | 通信设备的保护方法、装置、设备和存储介质 | |
| US11593209B2 (en) | Targeted repair of hardware components in a computing device | |
| CN119883772A (zh) | 内存故障修复功能的测试方法、装置、系统、设备及存储介质 | |
| US7350109B2 (en) | System and method for testing a memory using DMA | |
| CN116524987A (zh) | Rpmb测试方法、装置、计算机设备及存储介质 | |
| JP2008191864A (ja) | データ処理装置及びその起動方法 | |
| US7487399B2 (en) | System and method for testing a component in a computer system using frequency margining | |
| CN112562774B (zh) | 存储设备挂载方法、装置、计算机设备和存储介质 | |
| TWI777259B (zh) | 開機方法 | |
| CN114385379B (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: 20241203 |
|
| RJ01 | Rejection of invention patent application after publication |