CN116149892A - 内存修复方法、装置和计算设备 - Google Patents

内存修复方法、装置和计算设备 Download PDF

Info

Publication number
CN116149892A
CN116149892A CN202310080558.4A CN202310080558A CN116149892A CN 116149892 A CN116149892 A CN 116149892A CN 202310080558 A CN202310080558 A CN 202310080558A CN 116149892 A CN116149892 A CN 116149892A
Authority
CN
China
Prior art keywords
fault
target
memory
row
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
Application number
CN202310080558.4A
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.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies 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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202310080558.4A priority Critical patent/CN116149892A/zh
Publication of CN116149892A publication Critical patent/CN116149892A/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/0793Remedial or corrective actions

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

本申请关于一种内存修复方法、装置和计算设备,涉及计算机硬件修复技术领域,在本申请中,计算设备首先获取待修复内存的故障信息。接着基于故障信息确定一个或多个目标故障行,目标故障行为包括至少两个故障点的行。然后对一个或多个目标故障行中的每个目标故障行进行一次行修复,以完成对待修复内存的修复。本申请提供的方法能够在内存上的同一行存在多个故障点的情况下,无需根据每个故障点对这一行进行重复修复,只需要将这一行确定为目标故障行,并对该目标故障行进行一次修复,即可完成待修复内存的这一行上的多个故障点的修复,从而能够提升内存修复效率。

Description

内存修复方法、装置和计算设备
技术领域
本申请涉及计算机硬件修复技术领域,尤其涉及一种内存修复方法、装置和计算设备。
背景技术
封装后修复(Post Package Repare,PPR)技术用于对内存上的故障点进行修复。当通过PPR技术对内存进行修复时,首先将内存上的故障点所在的行进行整行熔断,然后再将这一行的地址重新映射到内存上的备用的冗余行,以完成内存的修复。
相关技术中,在内存上存在多个故障点的情况下,PPR技术通常通过串行的方式依次对多个故障点进行修复。因此,当多个故障点位于内存上的同一行时,需要对这一行进行多次熔断以及将这一行的地址多次映射,因此,存在内存修复效率低的问题。
发明内容
本申请实施例提供了一种内存修复方法、装置和计算设备,用于提升内存修复效率。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,提供了一种内存修复方法,上述方法包括:获取待修复内存的故障信息;基于故障信息确定一个或多个目标故障行,目标故障行为包括至少两个故障点的行;对一个或多个目标故障行中的每个目标故障行进行一次行修复。本申请提供的方法通过对故障信息进行处理,将存在至少两个故障点的行确定为目标故障行,然后对目标故障行进行一次行修复。相比较于相关技术中以故障点为维度进行修复的方法,本申请提供的方法在内存中的一行存在多个故障点的情况下,无需根据每个故障点对这一行进行多次修复,只需要将这一行确定为目标故障行,并对该目标故障行进行一次行修复,即可完成多个故障点的修复,能够提升内存修复效率。同时,本申请提供的方法能够通过减少修复次数,能够避免待修复内存在多次修复的过程中发生错误,进而提高内存修复的可靠性。
在第一方面的一种可能的实现方式中,上述方法还包括:基于故障信息确定一个或多个目标故障点,目标故障点为目标故障点所在的行中的唯一的故障点;对目标故障点所在的行进行一次行修复。本申请提供的方法通过对故障信息进行处理,能够识别出当前待修复内存中的目标故障点。然后对目标故障点所在的行进行一次行修复,能够完成对待修复内存中的故障点的修复,保障内存的正常工作。
在第一方面的一种可能的实现方式中,上述方法还包括:基于所述故障信息确定一个或多个目标故障列,所述目标故障列为包括至少两个故障点的列;输出第一提示信息,所述第一提示信息用于指示所述待修复内存中存在所述一个或多个目标故障列。本申请提供的方法通过对故障信息进行处理,能够识别出当前待修复内存中的目标故障列,其中,目标故障列包括多个故障点。然后生成第一提示信息。用户可以基于第一提示信息从待修复内存中快速确定目标故障列,并对其进行修复,进而提升内存修复效率,保障内存的正常工作。在第一方面的一种可能的实现方式中,上述方法还包括:基于所述故障信息确定一个或多个目标故障块,所述目标故障块中包括至少两个位于同一阵列中不同行且不同列的故障点;输出第二提示信息,所述第二提示信息用于指示所述待修复内存中存在一个或多个目标故障块。本申请提供的方法通过对故障信息进行处理,能够识别出当前待修复内存中的目标故障块,然后生成第二提示信息,第二提示信息用于指示一个或多个目标故障块,用户可以基于第二提示信息能够在待修复内存中快速确定目标故障块,并对其进行修复,进而提升内存修复效率,保障内存的正常工作。
在第一方面的一种可能的实现方式中,所述行修复包括通过所述待修复内存中预设的冗余行对目标行进行行替换,所述目标行为所述目标故障行或目标故障点所在的行,所述目标故障点为所述目标故障点所在的行中的唯一的故障点。本申请提供的方法通过行修复能够实现一次对目标故障行和/或目标故障点所在的行的修复,进而提升内存修复效率,保障内存的正常工作。
第二方面,提供了一种内存修复装置,上述装置包括:获取单元,用于获取待修复内存的故障信息;确定单元,用于基于故障信息确定一个或多个目标故障行,目标故障行为包括至少两个故障点的行;修复单元,用于对一个或多个目标故障行中的每个目标故障行进行一次行修复。
在第二方面的一种可能的实现方式中,确定单元,还用于基于故障信息确定一个或多个目标故障点,目标故障点为目标故障点所在的行中的唯一的故障点;修复单元,还用于对目标故障点所在的行进行一次行修复。
在第二方面的一种可能的实现方式中,上述装置还包括输出单元;所述确定单元还用于基于所述故障信息确定一个或多个目标故障列,所述目标故障列为包括至少两个故障点的列;所述输出单元,用于输出第一提示信息,所述第一提示信息用于指示所述待修复内存中存在所述一个或多个目标故障列。
在第二方面的一种可能的实现方式中,上述装置还包括输出单元;所述确定单元,还用于基于所述故障信息确定一个或多个目标故障块,所述目标故障块中包括至少两个位于同一阵列中不同行且不同列的故障点;所述输出单元,用于输出第二提示信息,所述第二提示信息用于指示所述待修复内存中存在一个或多个目标故障块。
在第二方面的一种可能的实现方式中,所述行修复包括通过所述待修复内存中预设的冗余行对目标行进行行替换,所述目标行为所述目标故障行或目标故障点所在的行,所述目标故障点为所述目标故障点所在的行中的唯一的故障点。
第三方面,提供了一种计算设备,包括:处理器和存储器,处理器与存储器连接。存储器用于存储计算机执行指令,处理器执行存储器存储的计算机执行指令,从而实现第一方面提供的任意一种方法。
第四方面,提供了一种芯片,该芯片包括:处理器和接口电路;接口电路,用于接收代码指令并传输至处理器;处理器,用于运行代码指令以执行上述第一方面提供的任意一种方法。
第五方面,提供了一种计算机可读存储介质,存储有计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面提供的任意一种方法。
第六方面,提供了一种计算机程序产品,包括计算机执行指令,当计算机执行指令在计算机上运行时,使得计算机执行上述第一方面提供的任意一种方法。
其中,第二方面至第六方面中任一种设计方式所带来的技术效果可以参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。
附图说明
图1示出了一种内存的结构示意图;
图2示出了本申请实施例提供的一种计算设备的结构方框图;
图3示出了本申请实施例提供的一种内存修复方法的应用场景图;
图4a示出了本申请实施例提供的一种内存修复方法的流程图;
图4b示出了本申请实施例提供的一种目标故障行的示意图;
图5a示出了本申请实施例提供的另一种内存修复方法的流程图;
图5b示出了本申请实施例提供的一种目标故障点的示意图;
图6a示出了本申请实施例提供的又一种内存修复方法的流程图;
图6b示出了本申请实施例提供的一种目标故障列的示意图;
图7a示出了本申请实施例提供的又一种内存修复方法的流程图;
图7b示出了本申请实施例提供的一种目标故障块的示意图;
图8示出了本申请实施例提供的一种内存修复装置的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。同时,在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
内存,也称内存储器和主存储器,它用于暂时存放计算设备的运算数据,以及与硬盘等外部存储器交换的数据。计算设备的程序在内存中运行。当计算设备运行时,计算设备的操作系统就会把需要运算的数据从内存调到处理器中进行运算,以得到对应的运算结果。
封装后修复(Post Package Repare,PPR)技术用于对内存上的故障点进行修复。
参见图1,图1为一种内存的示意图,内存是计算机设备上的存储部件,用于暂时存放处理器中的运算数据,以及与硬盘等外部存储器交换的数据。如图1所示,每个计算机设备可以包括多个内存,每个内存上具有两个内存列(rank),分别位于内存的两个面,例如,两个内存列分别为内存列0(rank0)和内存列1(rank1)。其中,每个内存列上可以配置多个内存芯片(Ch ip)用于存储数据,内存芯片也可以称为内存颗粒(device),内存芯片可以是动态随机存取存储器(dynamic random access memory,DRAM)、静态随机存取存储器(static random access memory,SRAM)等,每个内存芯片可以划分为多个存储阵列(bank)(以下简称阵列),内存芯片在存储数据时,该数据以位(bit)为单位写入一个阵列中。另外,还可以将多个阵列归为一个存储阵列组(bankgroup),其中,每个存储阵列组的阵列的数量可以相同,或者,也可以不同。阵列由大量的存储单元(ce l l)组成,大量的存储单元排列成二维矩阵形式,只要指定阵列上的行(row)和列(co l umn),则可以在阵列上定位一个存储单元,内存发生故障的最小单位为阵列上的存储单元。当内存上的任一个存储单元出现故障时,该存储单元即为内存上的一个故障点。该故障点的位置可以通过该故障点在内存上所在的行和列进行确定。
通常,如图1所示,内存上设置有多个预设的冗余行,当通过PPR技术对内存进行修复时,计算设备首先将内存上的故障点所在的行进行整行熔断,然后再将这一行的地址重新映射到内存上的备用的冗余行,以完成内存的修复。
相关技术中,在内存上存在多个故障点的情况下,PPR技术通常对多个故障点进行排序,得到待处理的故障点队列,然后通过串行的方式依次对该队列中的每个故障点进行修复。当多个故障点位于内存上的同一行时,需要对这一行进行多次熔断以及在每次熔断后对这一行的地址进行重新映射。
例如,内存上存在4个故障点,分别为位于102行的故障点1、位于101行的故障点2、位于100行的故障点3和位于100行的故障点4。计算设备可以对这该4个故障点依次进行修复。对于其中的故障点3,计算设备可以通过对阵列1的100行进行熔断以及将阵列1的100行的地址映射到冗余行1,以完成对故障点3的修复。然后,针对故障点4,计算设备可以通过将已经映射为100行的冗余行1进行熔断以及再次将阵列1的100行的地址映射冗余行2,以完成对故障点4的修复。
可见,通过PPR技术修复内存时,存在内存修复效率低的问题。同时,在内存的修复过程中进行多次熔断,容易导致发生错误,进而存在内存修复的可靠性差的问题。并且,对位于同一行上的多个故障点进行修复时,需要进行多次修复,且每次修复均需要消耗一行冗余行,造成了内存资源的浪费。
鉴于此,本申请提供了一种内存修复方法,该方法通过对故障信息进行处理,将存在至少两个故障点的行确定为目标故障行,然后对目标故障行进行一次行修复。相比较于相关技术中以故障点为维度进行修复的方法,本申请提供的方法在内存中的一行存在多个故障点的情况下,无需根据每个故障点对这一行进行多次修复,只需要将这一行确定为目标故障行,并对该目标故障行进行一次行修复,即可完成多个故障点的修复,能够提升内存修复效率。同时,本申请提供的方法能够通过减少修复次数,能够避免待修复内存在多次修复的过程中发生错误,进而提高内存修复的可靠性。并且,本申请实施例提供的方法通过一行冗余行即可完成对位于同一行的多个故障点的修复,能够有效节约待修复内存的内存资源。
以下对本申请实施例提供的内存修复方法的应用场景进行示例性说明:
图2示出了本申请实施例提供的计算设备110的结构示意图。该计算设备110包括处理器210、存储器220以及至少一个通信接口230。
处理器210可以包括一个或者多个处理核心。处理器210利用各种接口和线路连接计算设备110内的各个部分,通过运行或执行存储在存储器220内的指令、程序、代码集或指令集,以及调用存储在存储器220内的数据,执行计算设备110的各种功能和处理数据。可选的,处理器210可以采用数字信号处理(d igita l s igna l process ing,DSP)、现场可编程门阵列(fie ld-programmab le gate array,FPGA)、可编程逻辑阵列(programmab lelogic array,PLA)中的至少一种硬件形式来实现。处理器210可集成中央处理器(Centra lProcess ing Un it,CPU)、图像处理器(graph ics process ing un it,GPU)和调制解调器等中的一种或几种的组合。可以理解的是,上述调制解调器也可以不集成到处理器210中,单独通过一块通信芯片进行实现。
存储器220可用于存储指令、程序、代码、代码集或指令集。存储器220可包括存储程序区。其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如数据写入功能、数据读取功能等),用于实现上述各个方法实施例的指令等。
在一些实施例中,在上述存储器220出现故障时,上述存储器220可以作为待修复内存被计算设备110修复。
通信接口230,用于与其他器件、设备或通信网络通信,如数据存储器件、图像处理设备或以太网,无线接入网(RAN),无线局域网(wi re less loca l area networks,WLAN)等。例如,计算设备110的处理器210通过通信接口230与待修复内存120连接。
在一些实施例中,该通信接口230的数量可以为多个。计算设备110可以通过多个通信接口230与图2所示的多个待修复内存120连接,以实现在对多个待修复内存120的修复。此处对通信接口230的数量,以及计算设备110连接的待修复内存120的数量不作特别限制。
具体实现时,在物理实现上,上述各器件(如处理器210和存储器220和通信接口230)可以是同一个计算设备(如服务器)中的器件;或者,其中的至少两个器件可以设置在同一个计算设备中,即作为一个计算设备中的不同器件,如类似于分布式系统中的设备或器件的部署方式。
作为示例,计算设备110可以是任意具有数据处理能力的设备,比如通用计算机、个人计算机或服务器等,此处对计算设备110的具体实现方式不作限定。
可以理解的是,本实施例示意的结构并不构成对计算设备110的具体限定。在本申请另一些实施例中,计算设备110可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
在一种可能的实现方式中,参见图3,图3为本申请实施例示出的一种内存修复方法的应用场景图,如图3所示,包括计算设备110、计算设备120和待修复内存130,其中,计算设备110和计算设备120通信,待修复内存130为设置在计算设备120内部的存储器,当待修复内存130出现故障时,计算设备110可以通过与计算设备120通信,实现对待修复内存130的修复。
可以理解的是,图3所提供的应用场景,以及该应用场景中各个执行主体所实现的功能,只是本申请实施例中的一种示例性的实施方式,本申请实施例中的应用场景以及各个执行主体所实现的功能包括但不仅限于以上描述。
以下结合说明书附图,对本申请实施例提供的内存修复方法进行说明。
图4a为本申请实施例提供的一种内存修复方法的流程图。其中,该方法可以应用于图2所示的计算设备110。可选的,该方法还可以应用于图3所示应用场景。该方法可以包括以下步骤:
S401、获取待修复内存的故障信息。
具体的,待修复内存的故障信息包括待修复内存中故障点所在的阵列信息,以及故障点在所在阵列的行信息和列信息。其中,阵列信息用于确定在内存上故障点所在的阵列,行信息和列信息能够在该阵列上能够确定故障点的位置。
示例性的,参见表1,表1为本申请实施例提供的一种待修复内存的故障信息表。该待修复内存上包括4个故障点,分别为故障点A、故障点B、故障点C和故障点D。该故障信息还包括每个故障点在内存中所在的位置对应的阵列信息,以及每个故障点在所在阵列的行信息和列信息。
表1
故障点 位置
A 阵列1 102行001列
B 阵列2 101行002列
C 阵列1 100行003列
D 阵列1 100行001列
在一种可能的实现方式中,在内存上具有多个阵列的情况下,为了便于区分多个阵列,上述阵列信息还可以包括多级用于指示阵列位置的信息。例如,该阵列信息还包括该阵列所在内存上的槽位(socket)、内存通道(channe l)、模组通道(d imm)、物理分区(rank)、多层封装(subrank)、设备(device)以及阵列组(bank group)等。
需要说明的是,阵列信息可以包括比上述更多或更少层级的目录的划分,能够通过阵列信息确定每个故障点所在的阵列即可,本申请实施例对阵列信息的具体实现方式不作特别限制。
在一种可能的实现方式中,上述故障信息为计算设备对待修复内存进行测试得到的。
例如,当计算设备的基本输入输出系统(Bas ic I nput Output System,BIOS)启动时,计算设备对待修复内存进行高级内存测试(Advanced Memory Test,AMT),即可得到待修复内存的故障信息。
在一种示例中,计算设备通过AMT得到待修复内存的故障信息后。将该故障信息存储在预设的存储空间。然后,计算设备可以从该预设的存储空间读取该故障信息。
S402、基于故障信息确定一个或多个目标故障行。
其中,目标故障行为包括至少两个故障点的行。
具体的,计算设备根据故障信息中每个故障点的行信息,将内存上存在至少两个故障点的行确定为目标故障行。
以上述表1所示的故障信息为例,参见图4b,图4b为本申请实施例提供的一种目标故障行的示意图。由于待修复内存的阵列1的100行存在故障点C和D,也就是阵列1的100行存在两个故障点。因此,计算设备将阵列1的100行确定为目标故障行。
在一些实施例中,在确定目标故障行后,计算设备还为目标故障行设置第一故障标记位,以便计算设备可以基于第一故障标记位,识别目标故障行。
S403、对上述一个或多个目标故障行中的每个目标故障行进行一次行修复。
其中,行修复为通过待修复内存中预设的冗余行对目标行进行行替换,目标行为任一个目标故障行。
具体的,待修复内存配置有多个预设的冗余行。计算设备逐行将一个或多个目标故障行进行熔断,然后将熔断的目标故障行的地址映射到为空的冗余行上,以使得为空的冗余行代替目标故障行发挥存储功能,从而完成对待修复内存的该目标行的修复。
示例性的,待修复内存配置有冗余行X,待修复内存的阵列1的100行为目标故障行。计算设备将待修复内存的阵列1的100行熔断,然后将阵列1的100行的地址映射到冗余行X,以通过冗余行X实现待修复内存的阵列1的100行的功能,从而完成对待修复内存的阵列1的100行的修复。
由上述S401-S403可知,一方面,本申请提供的方法在待修复内存上的同一行存在多个故障点的情况下,无需根据每个故障点对这一行进行多次修复,只需要将这一行确定为目标故障行,并对该目标故障行进行一次修复,即可完成待修复内存的多个故障点的修复,能够提升内存修复效率。另一方面,同时,相比对每个故障点进行串行修复的方式,本申请提供的方法能够通过确定目标故障行后对目标故障行进行行修复的方式减少了对待修复内存的修复次数,从而避免了待修复内存在多次修复的过程中发生错误,进而提高了内存修复的可靠性。本申请提供的方法还将多个位于同一行的故障点通过一个冗余行即可完成修复,能够节约冗余行资源,避免位于同一行的故障点在修复时占用多个冗余行。
在一些可能的实施例中,参见图5a,图5a示出了本申请实施例提供的另一种内存修复方法的流程图。具体的,上述内存修复方法可以在上述步骤S401后,执行以下步骤:
S501、基于故障信息确定一个或多个目标故障点。
其中,目标故障点为目标故障点所在的行中的唯一的一个故障点。
具体的,计算设备根据故障信息中每个故障点的行信息,将内存上仅存在一个故障点的行上的故障点确定为目标故障点。
以上述表1所示的故障信息为例,参见图5b,图5b为本申请实施例提供的一种目标故障点的示意图。由于待修复内存的阵列1的102行存在故障点A,阵列2的101行存在故障点B,也就是阵列1的102行和阵列2的101行分别只存在一个故障点。因此,计算设备将阵列1的102行上的故障点A以及阵列2的101行上的故障点B确定为目标故障点。
在一些实施例中,在确定目标故障点后,计算设备还为目标故障点设置第二故障标记位,以便计算设备可以基于第二故障标记位,识别目标故障点。
S502、对目标故障点所在的行进行一次行修复。
具体的,计算设备对目标故障点进行一次行修复的方式与上述S403步骤中计算设备对目标故障行的一次行修复的方式相同,此处不再赘述。
本申请提供的方法通过对故障信息进行处理,能够识别出当前待修复内存中的目标故障点。然后对目标故障点所在的行进行一次行修复,能够完成对待修复内存中的故障点的修复,保障内存的正常工作。
在另一些可能的实施例中,参见图6a,图6a示出了本申请实施例提供的又一种内存修复方法的流程图。具体的,上述内存修复方法可以在步骤S401后,执行以下步骤:
S601、基于故障信息确定一个或多个目标故障列。
其中,目标故障列为包括至少两个故障点的列;
具体的,计算设备根据故障信息中每个故障点的列信息,将内存上同一阵列中存在至少两个故障点的列确定为目标故障列。
示例性的,结合上述表1,参见图6b,图6b为本申请实施例提供的一种目标故障列的示意图。待修复内存的四个故障点分别位于阵列1的001列、阵列2的002列、阵列1的003列以及阵列1的001列,由于故障点A和故障点D位于同一列,均为阵列1的001列,因此,将阵列1的001列确定为目标故障列。
在一些实施例中,在确定目标故障列后,计算设备还为目标故障列设置第三故障标记位,以便计算设备可以基于第三故障标记位,识别目标故障列。
S602、输出第一提示信息,第一提示信息用于指示待修复内存中存在一个或多个目标故障列。
具体的,该第一提示信息的形式可以为文本、图片和音频,本申请实施例对第一提示信息的具体实现方式不作特别限制。第一提示信息包括目标故障列的位置信息,用户可以基于第一提示信息确定目标故障列在待修复内存中的位置。
作为响应,用户根据第一提示信息控制计算设备完成对待修复内存中的目标故障列的修复。例如,将目标故障列对应的行进行熔断,并将目标故障列对应的行的地址映射到待修复内存的冗余行,以完成对目标故障列的修复。
本申请提供的方法通过对故障信息进行处理,能够识别出当前待修复内存中的目标故障列,其中,目标故障列包括多个故障点。然后生成第一提示信息。用户可以基于第一提示信息从待修复内存中快速确定目标故障列,并对其进行修复,进而提升内存修复效率,保障内存的正常工作。
在另一些一种可能的实施例实现方式中,参见图7a,图7a示出了本申请实施例提供的又一种内存修复方法的流程图。具体的,上述内存修复方法可以在步骤S401后,执行以下步骤:
S701、基于故障信息确定一个或多个目标故障块。
其中,目标故障块中包括至少两个同一阵列且不同行且不同列的故障点。
具体的,计算设备根据故障信息中每个故障点的阵列信息、行信息以及列信息,将待修复内存上存在的至少包括两个不同行且不同列的故障点的阵列确定为目标故障块。
示例性的,结合上述表1,参见图7b,图7b为本申请实施例提供的一种目标故障块的示意图。待修复内存的阵列1中分别存在故障点A、故障点C和故障点D,由于故障点A和故障点C不同行且不同列,因此将阵列1确定为目标故障块。
在一些可能的实施方式中,目标故障块可以为存在故障点的行的数量超过预设数量的阵列。或者,目标故障块也可以为存在故障点的行与行的总数的比值超过预设百分比的阵列。
例如,假设阵列3中包括20个故障点。预设数量为10,由于阵列3中的故障点的数量超过预设数量10,因此,将阵列3确定为目标故障块。
又例如,假设阵列3中包括10行存储单元,阵列3中包括6个存在故障点的行,且预设百分比为50%。由于阵列3中存在故障点的行的数量和总行数的比值60%超过预设百分比50%,因此,计算设备可以将阵列3确定为目标故障块。
可选的,在确定目标故障块后,计算设备还为目标故障块设置第四故障标记位,以便计算设备可以基于第四故障标记位,识别目标故障块。
S702、输出第二提示信息,第二提示信息用于指示待修复内存中存在一个或多个目标故障块。
具体的,该第二提示信息的形式可以为文本、图片和音频,本申请实施例对第一提示信息的具体实现方式不作特别限制。第二提示信息包括目标故障块的位置信息,用户可以基于第二提示信息确定目标故障块在待修复内存中的位置。
作为响应,用户根据第二提示信息控制计算设备完成对待修复内存中的目标故障块的修复。例如,将目标故障块对应的行进行熔断,并将目标故障块对应的行的地址映射到待修复内存的冗余行,以完成对目标故障块的修复。
本申请提供的方法通过对故障信息进行处理,能够识别出当前待修复内存中的目标故障块,然后生成第二提示信息,第二提示信息用于指示一个或多个目标故障块,用户可以基于第二提示信息能够在待修复内存中快速确定目标故障块,并对其进行修复,进而提升内存修复效率,保障内存的正常工作。
在又一些可能的实施例中,计算设备可以根据故障信息依次确定出目标故障行、目标故障列、目标故障块和目标故障点。
其中,在本申请实施例中,计算设备可以根据故障信息首先确定目标故障行,接着确定目标故障列,然后确定目标故障块,以及最后确定目标故障点。也可以首先确定目标故障点,接着确定目标故障行,然后确定目标故障列,以及最后确定目标故障块。本申请实施例对计算设备确定目标故障行、目标故障列、目标故障块以及目标故障点的顺序不作特别限制。
以下以计算设备可以根据故障信息首先确定目标故障行,接着确定目标故障列,然后确定目标故障块,以及最后确定目标故障点为例进行示例性说明。
在一种示例中,参见表2,表2为本申请实施例提供的另一种待修复内存的故障信息表。该待修复内存上包括9个故障点,9个故障点分别为故障点a、故障点b,故障点c、故障点d、故障点e、故障点f、故障点g、故障点h以及故障点i。该故障信息还包括每个故障点在内存中所在的位置对应的阵列信息,以及每个故障点在所在阵列的行信息和列信息。
表2
故障点 位置
a 阵列3 100行003列
b 阵列3 100行002列
c 阵列3 100行001列
d 阵列8 001行100列
e 阵列6 236行121列
f 阵列6 245行121列
g 阵列6 246行121列
h 阵列5 235行021列
i 阵列5 011行121列
首先,计算设备根据故障信息确定待修复内存的目标故障行,由于故障点a、故障点b和故障点c位于同一阵列的同一行,也就是阵列3的100行。因此根据故障点a、故障点b和故障点c确定目标故障行1。该目标故障行1包括故障点a、故障点b和故障点c。
然后,计算设备根据故障信息中的故障点d、故障点e、故障点f、故障点g、故障点h以及故障点i确定待修复内存的目标故障列,由于故障点d、故障点e和故障点f位于同一阵列的同一列,也就是阵列6的121列。因此根据确定目标故障列1,该目标故障列1包括故障点e、故障点f和故障点g。
接着,计算设备根据故障信息中的故障点d、故障点h以及故障点i确定待修复内存的目标故障块,由于故障点h和故障点i位于同一阵列的不同行,且位于同一阵列的同一列。因此确定目标故障块1。该目标故障块1包括故障点h和故障点i。
最后,计算设备根据故障信息中的故障点d确定待修复内存的目标故障点,由于故障点d为阵列8的001行上的唯一的故障点。因此确定目标故障点1。该目标故障块点1为故障点d。
在又一些可能的实施例中,当计算设备根据在S401获取的故障信息确定目标故障行、目标故障点、目标故障列以及目标故障块后,如果目标故障行、目标故障列以及目标故障块中包括相同的故障点(下文中简称为相同故障点),计算设备确定包括相同故障点的目标故障行、目标故障列以及目标故障块中的故障点的数量,将相同故障点确定为目标故障行、目标故障列或目标故障块中的故障点数量最多的一个的故障点,同时将该相同故障点从其他目标故障行、目标故障列或目标故障块中删除。
示例性的,参见表3,表3为本申请实施例提供的又一种待修复内存的故障信息表。该待修复内存上包括9个故障点,其中,9个故障点分别为故障点j、故障点k,故障点l、故障点m、故障点n、故障点o、故障点p、故障点q以及故障点r。该故障信息还包括每个故障点在内存中所在的位置对应的阵列信息,以及每个故障点在所在阵列的行信息和列信息。
表3
故障点 位置
j 阵列3 221行121列
k 阵列3 226行121列
l 阵列3 228行121列
m 阵列3 227行121列
n 阵列3 225行121列
o 阵列3 245行121列
p 阵列3 246行121列
q 阵列3 246行021列
r 阵列3 246行022列
计算设备根据故障信息确定目标故障行2和目标故障列2,其中,目标故障行2包括故障点p、故障点q和故障点r。目标故障列2包括故障点j、故障点k、故障点l、故障点m、故障点n、故障点o和故障点p。因此,故障点p为目标故障行2和目标故障列2的共同故障点。由于目标故障行2的故障点数量为3个,目标故障列2中的故障点数量为7个,因此将故障点p确定为目标故障列2的故障点,将故障点p从目标故障行2包括的故障点中删除。
在又一些可能的实施例中,在计算设备确定待修复内存中的目标故障行、目标故障点、目标故障列以及目标故障块后,本申请实施例提供的内存修复方法还可以包括:计算设备根据待修复内存中的目标故障行、目标故障点、目标故障列以及目标故障块,生成待修复内存的故障报告。该故障报告中包括待修复内存中的目标故障行、目标故障点、目标故障列以及目标故障块,以及每个目标故障行、目标故障点、目标故障列以及目标故障块包括的故障点。其中,该故障报告可以存储在本地中,便于用户在需要时查询待修复内存的故障情况。
示例性的,参见表4,表4为基于上述表2包括的故障信息生成的故障报告,该故障报告中包括待修复内存中的目标故障行1、目标故障点1、目标故障列1以及目标故障块1,以及目标故障行1、目标故障点1、目标故障列1以及目标故障块1包括的故障点。
表4
Figure BDA0004073674190000101
示例性的,参见表5,表5为基于上述表3包括的故障信息生成的故障报告,该故障报告中包括待修复内存中的目标故障行2和目标故障列2,以及目标故障行2和目标故障列2包括的故障点。
表5
Figure BDA0004073674190000111
本申请实施例提供的方法通过根据待修复内存的故障信息生成故障报告,能够便于用户快速了解当前待修复内存的故障情况,进而对待修复内存进行修复,从而能够提升用户的使用体验。
上述主要从方法的角度对本申请实施例的方案进行了介绍。可以理解的是,上述内存修复装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和软件模块中的至少一个。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对内存修复装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
示例性的,图8示出了本申请实施例提供的一种内存修复装置的结构框图。该装置包括获取单元710、确定单元720和修复单元730。获取单元710,用于获取待修复内存的故障信息;确定单元720,用于基于故障信息确定一个或多个目标故障行,目标故障行为包括至少两个故障点的行;修复单元730,用于对一个或多个目标故障行中的每个目标故障行进行一次行修复。例如,结合图4a,获取单元710可以用于执行如图4a所示的步骤S401,确定单元720可以用于执行如图4a所示的步骤S402。修复单元730可以用于执行如图4a所示的步骤S403。
可选的,确定单元720,还用于基于故障信息确定一个或多个目标故障点,目标故障点为目标故障点所在的行中的唯一的故障点;修复单元,还用于对目标故障点所在的行进行一次行修复。例如,结合图5a,确定单元720可以用于执行如图5a所示的步骤S501。修复单元730可以用于执行如图5a所示的步骤S502。
在第二方面的一种可能的实现方式中,上述装置还包括输出单元740;确定单元720,还用于基于所述故障信息确定一个或多个目标故障列,所述目标故障列为包括至少两个故障点的列;所述输出单元740,用于输出第一提示信息,所述第一提示信息用于指示所述待修复内存中存在所述一个或多个目标故障列。例如,结合图6a,确定单元720可以用于执行如图6a所示的步骤S601。输出单元740可以用于执行如图6a所示的步骤S602。
在第二方面的一种可能的实现方式中,上述装置还包括输出单元740;所述确定单元720,还用于基于所述故障信息确定一个或多个目标故障块,所述目标故障块中包括至少两个位于同一阵列中不同行且不同列的故障点;所述输出单元740,用于输出第二提示信息,所述第二提示信息用于指示所述待修复内存中存在一个或多个目标故障块。例如,结合图7a,确定单元720可以用于执行如图7a所示的步骤S701。输出单元740可以用于执行如图7a所示的步骤S702。
可选的,所述行修复包括通过所述待修复内存中预设的冗余行对目标行进行行替换,所述目标行为所述目标故障行或目标故障点所在的行,所述目标故障点为所述目标故障点所在的行中的唯一的故障点。
关于上述可选方式的具体描述可以参见前述的方法实施例,此处不再赘述。此外,上述提供的任一种内存修复装置的解释以及有益效果的描述均可参考上述对应的方法实施例,不再赘述。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条计算机指令,该至少一条计算机指令由处理器加载并执行以实现如上各个实施例的内存修复方法。关于上述提供的任一种计算机可读存储介质中相关内容的解释及有益效果的描述,均可以参考上述对应的实施例,此处不再赘述。
本申请实施例还提供了一种芯片。该芯片中集成了用于实现上述内存修复装置的功能的控制电路和一个或者多个端口。可选的,该芯片支持的功能可以参考上文,此处不再赘述。本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可通过程序来指令相关的硬件完成。的程序可以存储于一种计算机可读存储介质中。上述提到的存储介质可以是只读存储器,随机接入存储器等。上述处理单元或处理器可以是中央处理器,通用处理器、特定电路结构(app l icat ion specific integrated ci rcu it,ASIC)、微处理器(digita l s igna lprocessor,DSP),现场可编程门阵列(fie ld programmab le gatearray,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。
本申请实施例还提供了一种包含指令的计算机程序产品,当该指令在计算机上运行时,使得计算机执行上述实施例中的任意一种方法。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(d igita l subscr iber l ine,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可以用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带),光介质(例如,DVD),或者半导体介质(例如SSD)等。
应注意,本申请实施例提供的上述用于存储计算机指令或者计算机程序的器件,例如但不限于,上述存储器、计算机可读存储介质和通信芯片等,均具有非易失性(non-trans itory)。本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。计算机可读存储介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种内存修复方法,其特征在于,所述方法包括:
获取待修复内存的故障信息;
基于所述故障信息确定一个或多个目标故障行,所述目标故障行为包括至少两个故障点的行;
对所述一个或多个目标故障行中的每个目标故障行进行一次行修复。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述故障信息确定一个或多个目标故障点,所述目标故障点为所述目标故障点所在的行中的唯一的故障点;
对所述目标故障点所在的行进行一次行修复。
3.据权利要求1或2所述的方法,其特征在于,所述方法还包括:
基于所述故障信息确定一个或多个目标故障列,所述目标故障列为包括至少两个故障点的列;
输出第一提示信息,所述第一提示信息用于指示所述待修复内存中存在所述一个或多个目标故障列。
4.据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
基于所述故障信息确定一个或多个目标故障块,所述目标故障块中包括至少两个位于同一阵列中不同行且不同列的故障点;
输出第二提示信息,所述第二提示信息用于指示所述待修复内存中存在一个或多个目标故障块。
5.据权利要求1-4中任一项所述的方法,其特征在于,所述行修复包括通过所述待修复内存中预设的冗余行对目标行进行行替换,所述目标行为所述目标故障行或目标故障点所在的行,所述目标故障点为所述目标故障点所在的行中的唯一的故障点。
6.一种内存修复装置,其特征在于,所述装置包括:
获取单元,用于获取待修复内存的故障信息;
确定单元,用于基于所述故障信息确定一个或多个目标故障行,所述目标故障行为包括至少两个故障点的行;
修复单元,用于对所述一个或多个目标故障行中的每个目标故障行进行一次行修复。
7.根据权利要求6所述的装置,其特征在于,
所述确定单元,还用于基于所述故障信息确定一个或多个目标故障点,所述目标故障点为所述目标故障点所在的行中的唯一的故障点;
所述修复单元,还用于对所述目标故障点所在的行进行一次行修复。
8.据权利要求6或7所述的装置,其特征在于,所述装置还包括输出单元;
所述确定单元还用于基于所述故障信息确定一个或多个目标故障列,所述目标故障列为包括至少两个故障点的列;
所述输出单元,用于输出第一提示信息,所述第一提示信息用于指示所述待修复内存中存在所述一个或多个目标故障列。
9.据权利要求6-8中任一项所述的装置,其特征在于,所述装置还包括输出单元;
所述确定单元还用于基于所述故障信息确定一个或多个目标故障块,所述目标故障块中包括至少两个位于同一阵列中不同行且不同列的故障点;
所述输出单元,用于输出第二提示信息,所述第二提示信息用于指示所述待修复内存中存在一个或多个目标故障块。
10.据权利要求6-9中任一项所述的装置,其特征在于,所述行修复包括通过所述待修复内存中预设的冗余行对目标行进行行替换,所述目标行为所述目标故障行或目标故障点所在的行,所述目标故障点为所述目标故障点所在的行中的唯一的故障点。
11.一种计算设备,其特征在于,包括:处理器和存储器,所述处理器与所述存储器连接;
所述存储器用于存储计算机执行指令,所述处理器用于执行所述存储器存储的计算机执行指令,从而实现如权利要求1-5中任一项所述的方法。
CN202310080558.4A 2023-01-12 2023-01-12 内存修复方法、装置和计算设备 Pending CN116149892A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310080558.4A CN116149892A (zh) 2023-01-12 2023-01-12 内存修复方法、装置和计算设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310080558.4A CN116149892A (zh) 2023-01-12 2023-01-12 内存修复方法、装置和计算设备

Publications (1)

Publication Number Publication Date
CN116149892A true CN116149892A (zh) 2023-05-23

Family

ID=86355727

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310080558.4A Pending CN116149892A (zh) 2023-01-12 2023-01-12 内存修复方法、装置和计算设备

Country Status (1)

Country Link
CN (1) CN116149892A (zh)

Similar Documents

Publication Publication Date Title
US6304989B1 (en) Built-in spare row and column replacement analysis system for embedded memories
US6181614B1 (en) Dynamic repair of redundant memory array
US11119857B2 (en) Substitute redundant memory
US6032264A (en) Apparatus and method implementing repairs on a memory device
US9111643B2 (en) Method and apparatus for repairing defective memory cells
KR102135470B1 (ko) 동적 고장 재배치에 따른 메모리 수리 솔루션 탐색 장치 및 방법
GB2358721A (en) Built-in self-repair circuit for embedded memory and method for repairing the memory
US20140126302A1 (en) Memory device and test method thereof
WO2014047225A1 (en) Substitute redundant memory
US10665316B2 (en) Memory device
JP2000311497A (ja) 半導体記憶装置
US11200962B2 (en) Memory devices having spare column remap storages and methods of remapping column addresses in the memory devices
KR880010362A (ko) 어드레스 라인 오류 테스트 방법
CN112634960B (zh) 存储器及其寻址方法
US8230277B2 (en) Storage of data in data stores having some faulty storage locations
KR20090030762A (ko) 리던던시 메모리 블록을 가지는 반도체 메모리 장치 및그의 셀 어레이 구조
US8694838B2 (en) Cache memory, processor, and production methods for cache memory and processor
CN116149892A (zh) 内存修复方法、装置和计算设备
US7073102B2 (en) Reconfiguration device for faulty memory
JP2008146754A (ja) 半導体集積回路およびそのテスト方法
CN116072197A (zh) 基于晶片堆叠架构的计算机系统和存储器测试方法
CN103871478A (zh) 嵌入式存储器测试系统
US9761329B2 (en) Built-in self-test (BIST) circuit and associated BIST method for embedded memories
TW531751B (en) Method and device to process the error-address
CN117037884B (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