CN109710445B - 内存校正方法和电子设备 - Google Patents

内存校正方法和电子设备 Download PDF

Info

Publication number
CN109710445B
CN109710445B CN201811617008.7A CN201811617008A CN109710445B CN 109710445 B CN109710445 B CN 109710445B CN 201811617008 A CN201811617008 A CN 201811617008A CN 109710445 B CN109710445 B CN 109710445B
Authority
CN
China
Prior art keywords
error
memory
block
logic block
logic
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.)
Active
Application number
CN201811617008.7A
Other languages
English (en)
Other versions
CN109710445A (zh
Inventor
郭章平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201811617008.7A priority Critical patent/CN109710445B/zh
Publication of CN109710445A publication Critical patent/CN109710445A/zh
Application granted granted Critical
Publication of CN109710445B publication Critical patent/CN109710445B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开提供了一种内存校正方法,所述内存包括多个存储模块,每个存储模块包括多个内存芯片,每个内存芯片包括多个逻辑区块,处理器每次能够从一个存储模块中的多个内存芯片中属于相同区块组的多个逻辑区块内读取数据,该方法包括:获取报错信息,报错信息能够表征多个逻辑区块中的第一逻辑区块出现错误;基于第一逻辑区块,确定已记录的报错信息中是否存在第二逻辑区块错误,所述第二逻辑区块与所述第一逻辑区块属于相同的区块组;在已记录的报错信息中存在第二逻辑区块错误的情况下,通过第一校正方式对所述第一逻辑区块进行校正处理;在已记录的报错信息中不存在第二逻辑区块错误的情况下,通过第二校正方式对所述第一逻辑区块进行校正处理。

Description

内存校正方法和电子设备
技术领域
本公开涉及一种内存校正方法和一种电子设备。
背景技术
在容错计算机领域,数据的可靠性和稳定性对整个***的性能至关重要,特别是***核心数据或重要的应用程序数据,其数据的可靠性和稳定性直接影响整个***的运行。众所周知,内存是配合CPU高速存储正在执行的程序和数据的重要元件,因此,为了提高***的RAS(Reliability、Availability、Serviceability)性能,提高内存的可靠性和容错能力成为重中之重。
发明内容
本公开的一个方面提供了一种内存校正方法,所述内存包括多个存储模块,每个存储模块包括多个内存芯片,每个内存芯片包括多个逻辑区块,处理器每次能够从一个存储模块中的多个内存芯片中属于相同区块组的多个逻辑区块内读取数据,所述方法包括:获取报错信息,所述报错信息能够表征所述多个逻辑区块中的第一逻辑区块出现错误,基于所述第一逻辑区块,确定已记录的报错信息中是否存在第二逻辑区块错误,所述第二逻辑区块与所述第一逻辑区块属于相同的区块组,在所述已记录的报错信息中存在第二逻辑区块错误的情况下,通过第一校正方式对所述第一逻辑区块进行校正处理,以及在所述已记录的报错信息中不存在第二逻辑区块错误的情况下,通过第二校正方式对所述第一逻辑区块进行校正处理。
可选地,所述方法还包括:在所述已记录的报错信息中不存在第二逻辑区块错误的情况下,将所述报错信息添加到所述已记录的报错信息中。
可选地,所述通过第一校正方式对所述第一逻辑区块进行校正处理,包括:通过虚拟内存锁步VLS的方式对所述第一逻辑区块进行校正处理。
可选地,所述通过第二校正方式对所述第一逻辑区块进行校正处理,包括:通过错误检查和纠正ECC的方式对所述第一逻辑区块进行校正处理。
可选地,所述方法还包括:基于所述第一逻辑区块,确定已记录的报错信息中是否存在所述第一逻辑区块错误,以及在所述已记录的报错信息中存在所述第一逻辑区块错误的情况下,通过虚拟内存锁步VLS的方式对所述第一逻辑区块进行校正处理。
本公开的另一个方面提供了一种电子设备,包括:内存,所述内存包括多个存储模块,每个存储模块包括多个内存芯片,每个内存芯片包括多个逻辑区块;第一处理器,所述第一处理器每次能够从所述内存的一个存储模块中的多个内存芯片中属于相同区块组的多个逻辑区块内读取数据;第二处理器,用于获取报错信息,所述报错信息能够表征所述多个逻辑区块中的第一逻辑区块出现错误;基于所述第一逻辑区块,确定已记录的报错信息中是否存在第二逻辑区块错误,所述第二逻辑区块与所述第一逻辑区块属于相同的区块组;在所述已记录的报错信息中存在第二逻辑区块错误的情况下,通过第一校正方式对所述第一逻辑区块进行校正处理;在所述已记录的报错信息中不存在第二逻辑区块错误的情况下,通过第二校正方式对所述第一逻辑区块进行校正处理。
可选地,所述第二处理器还用于:在所述已记录的报错信息中不存在第二逻辑区块错误的情况下,将所述报错信息添加到所述已记录的报错信息中。
可选地,所述通过第一校正方式对所述第一逻辑区块进行校正处理,包括:通过虚拟内存锁步VLS的方式对所述第一逻辑区块进行校正处理。
可选地,所述通过第二校正方式对所述第一逻辑区块进行校正处理,包括:通过错误检查和纠正ECC的方式对所述第一逻辑区块进行校正处理。
可选地,所述第二处理器还用于:基于所述第一逻辑区块,确定已记录的报错信息中是否存在所述第一逻辑区块错误,以及在所述已记录的报错信息中存在所述第一逻辑区块错误的情况下,通过虚拟内存锁步VLS的方式对所述第一逻辑区块进行校正处理。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1A和1B示意性示出了根据本公开实施例的内存校正方法和电子设备的应用场景;
图2示意性示出了根据本公开实施例的内存校正方法的流程图;
图3A~3E示意性示出了根据本公开实施例的虚拟内存锁步的示意图;
图4示意性示出了根据本公开实施例的校正方法的示意图;以及
图5示意性示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行***使用或者结合指令执行***使用。
本公开的实施例提供了一种内存校正方法,内存包括多个存储模块,每个存储模块包括多个内存芯片,每个内存芯片包括多个逻辑区块,处理器每次能够从一个存储模块中的多个内存芯片中属于相同区块组的多个逻辑区块内读取数据,该方法包括:获取报错信息,报错信息能够表征多个逻辑区块中的第一逻辑区块出现错误,基于第一逻辑区块,确定已记录的报错信息中是否存在第二逻辑区块错误,第二逻辑区块与第一逻辑区块属于相同的区块组,在已记录的报错信息中存在第二逻辑区块错误的情况下,通过第一校正方式对第一逻辑区块进行校正处理,以及在已记录的报错信息中不存在第二逻辑区块错误的情况下,通过第二校正方式对第一逻辑区块进行校正处理。
图1A和1B示意性示出了根据本公开实施例的内存校正方法和电子设备的应用场景。
如图1A所示,该应用场景包括CPU 100和内存200。CPU 100可以通过通道访问内存200。例如,CPU 100可以通过数据总线访问内存200。
根据本公开实施例,内存200可以包括多个存储模块210,存储模块210例如可以是双列直插式存储模块(Dual-Inline-Memory-Modules,简称DIMM)。CPU 100可以通过数据总线访问该多个存储模块210。
在本公开实施例中,如图1B所示,一个存储模块210可以包括多个内存芯片211,内存芯片211例如可以是DRAM颗粒。内存芯片211例如可以是4bit位宽、8bit位宽、或者16bit位宽的内存芯片。
例如,CPU 100的数据总线的位宽为64bit,则存储模块210可以包括16个4bit位的内存芯片211。在本公开实施例中,如图1B所示,CPU100的数据总线的位宽例如为64bit,存储模块210可以包括18个4bit位的内存芯片D0~D17,其中,D16和D17可以用于纠错和校正。
在本公开实施例中,内存芯片211可以包括多个逻辑区块2111。例如,4bit位宽的内存芯片可以被划分为16个逻辑区块2111。
根据本公开实施例,如图1B所示,存储模块RankA 210包括18个内存芯片211(例如,D0~D17)。RankA包括多个区块组212(例如,Bank0~Bank15),区块组212可以由该多个内存芯片的相应的逻辑区块2111组成,CPU每次从Rank的一个区块组212内读取数据。例如,RankA的Bank0由D0~D17的Bank0组成,CPU一次可以从RankA的Bank0中读取64位数据(例如来自D0~D15)以及相应的纠错校正数据(例如来自D16~D17)。
可以理解,造成内存错误的原因很多。例如,内存芯片中的存储单元的硬件损坏、或者是外部连线错误、或者是噪声干扰等等。各***通常具有纠错能力以应对内存出错的问题,例如,Intel的Purley平台中的内存ADDDC技术,该技术在***的运行过程中发现硬件错误时做虚拟内存锁步(Virtual Lock Step,简称VLS)处理来实现内存的纠错和校正。然而,***的纠错能力是随着故障硬件的增多而逐渐降低的,例如,***能够做的VLS处理的次数有限,当***的纠错能力耗尽时,将直接影响***的正常运行,造成严重后果。
有鉴于此,本公开实施例提供了一种内存校正方法,在获取到表征第一逻辑区块出现错误的报错信息时,不直接对该第一逻辑区块做VLS处理,而是判断已记录的报错信息中是否存在与第一逻辑区块属于相同区块组的第二逻辑区块错误,若存在,则可以通过VLS的方式对第一逻辑区块进行校正;若不存在,则可以先通过错误检查和纠正(ErrorCorrecting Code,简称ECC)的方式对该第一逻辑区块进行校正,以节省VLS的纠错次数,从而提高***的容错能力。
需要注意的是,图1A和1B所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、***、环境或场景。
图2示意性示出了根据本公开实施例的内存校正方法的流程图。
如图2所示,该方法包括操作S201~S204。
根据本公开实施例,内存可以包括多个存储模块,每个存储模块可以包括多个内存芯片,每个内存芯片可以包括多个逻辑区块,处理器每次能够从一个存储模块中的多个内存芯片中属于相同区块组的多个逻辑区块内读取数据。
在操作S201,获取报错信息,该报错信息能够表征多个逻辑区块中的第一逻辑区块出现错误。
在操作S202,基于第一逻辑区块,确定已记录的报错信息中是否存在第二逻辑区块错误,第二逻辑区块与第一逻辑区块属于相同的区块组。
在操作S203,在已记录的报错信息中存在第二逻辑区块错误的情况下,通过第一校正方式对第一逻辑区块进行校正处理。
在操作S204,在已记录的报错信息中不存在第二逻辑区块错误的情况下,通过第二校正方式对第一逻辑区块进行校正处理。
可以理解,根据相关技术,每获得一个报错信息,***就会做一次VLS处理来校正出错的逻辑区块。然而***能够做的VLS处理的次数是有限的,每做一次,***对其他逻辑区块的纠错性能就会被降低一次,直至纠错能力耗尽。因此,每一个报错信息都应该谨慎处理,以便能最大化的利用***的纠错能力。
根据本公开实施例,***的VLS包括Bank级别的VLS和Rank级别的VLS,或者是Bank级别升级到Rank级别的VLS。
下面参考图3A~3E,结合具体实施例对***的VLS校正方式做进一步说明。
如图3A所示,当存储模块RankA的内存芯片D0的逻辑区块Bank0出现错误X时,可以将RankA的Bank0与另一存储模块RankB的Bank0进行Bank级别的虚拟内存锁步,以实现对错误X的校正。
如图3B所示,存储模块RankA的内存芯片D0的逻辑区块Bank0出现错误X之后,若该内存芯片D0的其他逻辑区块继续出现错误,例如,该内存芯片D0的逻辑区块Bank1出现错误A,可以将Bank级别的虚拟内存锁步上升到Rank级别,即,RankA和RankB的所有Bank都进行虚拟内存锁步,以实现对错误X和错误A的校正。
如图3C所示,存储模块RankA的内存芯片D0的逻辑区块Bank0出现错误X之后,若该RankA内的其他内存芯片的属于其他区块组的逻辑区块继续出现错误,例如,该RankA的内存芯片D1的逻辑区块Bank1出现错误B,可以将RankA的Bank1与存储模块RankB的Bank1再次进行Bank级别的虚拟内存锁步,以实现对错误X和错误B的校正。
如图3D所示,存储模块RankA的内存芯片D0的逻辑区块Bank0出现错误X之后,若该RankA内的其他内存芯片的属于该区块组的逻辑区块继续出现错误,例如,该RankA的内存芯片D3的逻辑区块Bank0出现错误C,可以将Bank级别的虚拟内存锁步上升到Rank级别,即,RankA和RankB的所有Bank都进行虚拟内存锁步,以实现对错误X和错误C的校正。
如图3E所示,存储模块RankA的内存芯片D0的逻辑区块Bank0出现错误X之后,若存储模块RannkB内的内存芯片的属于该区块组的逻辑区块继续出现错误,例如,RankB的内存芯片D14的逻辑区块Bank0出现错误D,可以将RannkA的Bank0与其他从存储模块(例如,RankC)的Bank0进行Bannk级别的虚拟内存锁步,以实现对错误X的校正,将RannkB的Bank0与另一其他存储模块(例如,RankD)的Bank0进行Bank级别的虚拟内存锁步,以实现对错误D的校正。
***最多能够做2个虚拟内存锁步,当2个虚拟内存锁步都达到Rank级别后,***的虚拟内存锁步的纠错能力就被耗尽。
然而,在现有技术中,只要获取到报错信息,就对出现错误的逻辑区块根据上述3A~3E的情况做虚拟内存锁步处理,消耗掉一个虚拟内存锁步的名额。可以理解,虚拟内存锁步的次数是有限的,若每次报错都通过虚拟内存锁步的方式校正,则很快会耗尽虚拟内存锁步的纠错能力。
在本公开实施例中,在获取到第一逻辑区块出现错误的报错信息后,不直接通过虚拟内存锁步的方式校正该第一逻辑区块,而是先确定已记录的报错信息中是否存在与第一逻辑区块属于相同区块组的第二逻辑区块错误,若存在,则认为该第一逻辑区块错误,并通过虚拟内存锁步VLS的方式对第一逻辑区块进行校正处理,否则,可以先认为该第一逻辑区块的错误不严重,先通过错误检查和纠正ECC的方式对该逻辑区块进行校正处理,并将该报错信息添加到已记录的报错信息中。
例如,如图4所示,首先获得报错信息A1,表征RankA的内存芯片D6的逻辑区块Bank0出现错误,确定RankA的区块组Bank0中没有其他逻辑区块错误,则先将A1记录,并通过ECC的方式对内存芯片D6的逻辑区块Bank0进行校正处理。
随后获取报错信息A2,表征RankA的内存芯片D8的逻辑区块Bank1出现错误,确定RankA的区块组Bank1中没有其他逻辑区块错误,则先将A2记录,并通过ECC的方式对内存芯片D8的逻辑区块Bank1进行校正处理。
随后获取报错信息A3,表征RankA的内存芯片D5的逻辑区块Bank1出现错误,已记录的报错信息中存在相同区块组的报错信息A2,则根据如图3A所示的情况通过VLS的方式对A3进行校正。
随后获取报错信息A4,表征RankA的内存芯片D6的逻辑区块Bank2出现错误,确定RankA的区块组Bank2中没有其他逻辑区块错误,则先将A4记录,并通过ECC的方式对内存芯片D6的逻辑区块Bank2进行校正处理。
随后获取报错信息A5,表征RankA的内存芯片D5的逻辑区块Bank2出现错误,已记录的报错信息中存在相同区块组的报错信息A4,由于A5与已通过VLS处理的A3属于如图3B所示的情况,则根据图3B的方式对A5进行VLS校正处理。
根据本公开实施例,基于第一逻辑区块,确定已记录的报错信息中是否存在该第一逻辑区块错误,在已记录的报错信息中存在该第一逻辑区块错误的情况下,通过虚拟内存锁步(VLS)的方式对该第一逻辑区块进行校正处理。
可以理解,若已记录的报错信息中已经存在该逻辑区块,则证明该逻辑区块已非第一次报错,可以认为该逻辑区块情况严重,从而可以对该逻辑区块进行VLS校正处理。
本公开实施例中在区块组内仅出现一个逻辑区块错误时,通过ECC对出现错误的逻辑区块进行校正。例如,可以通过D16和D17来实现ECC纠错和校正。在区块组内出现两个逻辑区块错误时,则通过VLS对该区块组内第二个报错的逻辑区块进行校正。或者相同的逻辑区块第二报错时,通过VLS对该逻辑区块进行校正。本公开实施例的方法可以先通过ECC解决情况比较轻的并且通过ECC能够纠正的逻辑区块的错误,将VLS的纠错能力用在情况比较严重或者ECC已经没有更多纠错能力的逻辑区块上,从而可以充分利用VLS纠错能力,提高***的容错能力。
图5示意性示出了根据本公开实施例的电子设备的框图。
如图5所示,本公开实施例的电子设备500包括内存510、第一处理器520和第二处理器530。
内存510包括多个存储模块,每个存储模块包括多个内存芯片,每个内存芯片包括多个逻辑区块。
第一处理器520每次能够从内存510中的一个存储模块中的多个内存芯片中属于相同区块组的多个逻辑区块内读取数据。
第二处理器530用于获取报错信息,报错信息能够表征多个逻辑区块中的第一逻辑区块出现错误;基于第一逻辑区块,确定已记录的报错信息中是否存在第二逻辑区块错误,第二逻辑区块与第一逻辑区块属于相同的区块组;在已记录的报错信息中存在第二逻辑区块错误的情况下,通过第一校正方式对第一逻辑区块进行校正处理;在已记录的报错信息中不存在第二逻辑区块错误的情况下,通过第二校正方式对第一逻辑区块进行校正处理。
根据本公开实施例,第一处理器520例如可以是CPU,CPU可以访问内存510。在本公开实施例中,第二处理器530可以是与第一处理器520相同的处理器,也可以是与第一处理器520不同的处理器,第二处理器530可以与内存510相互。
根据本公开实施例,所述第二处理器530还用于:在已记录的报错信息中不存在第二逻辑区块错误的情况下,将报错信息添加到已记录的报错信息中。
根据本公开实施例,通过第一校正方式对第一逻辑区块进行校正处理,可以包括:通过虚拟内存锁步VLS的方式对第一逻辑区块进行校正处理。
根据本公开实施例,通过第二校正方式对第一逻辑区块进行校正处理,可以包括:通过错误检查和纠正ECC的方式对第一逻辑区块进行校正处理。
根据本公开实施例,第二处理器530还用于:基于第一逻辑区块,确定已记录的报错信息中是否存在第一逻辑区块错误,以及在已记录的报错信息中存在第一逻辑区块错误的情况下,通过虚拟内存锁步VLS的方式对第一逻辑区块进行校正处理。
根据本公开实施例,第二处理器530可以执行参考上述图2描述的本公开实施例的方法。
具体地,第二处理器520例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。第二处理器520还可以包括用于缓存用途的板载存储器。第二处理器520可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (6)

1.一种内存校正方法,所述内存包括多个存储模块,每个存储模块包括多个内存芯片,每个内存芯片包括多个逻辑区块,处理器每次能够从一个存储模块中的多个内存芯片中属于相同区块组的多个逻辑区块内读取数据,所述方法包括:
获取报错信息,所述报错信息能够表征所述多个逻辑区块中的第一逻辑区块出现错误;
基于所述第一逻辑区块,确定已记录的报错信息中是否存在第二逻辑区块错误,所述第二逻辑区块与所述第一逻辑区块属于相同的区块组;
在所述已记录的报错信息中存在第二逻辑区块错误的情况下,通过第一校正方式对所述第一逻辑区块进行校正处理,包括:
通过虚拟内存锁步的方式对所述第一逻辑区块进行校正处理;
在所述已记录的报错信息中不存在第二逻辑区块错误的情况下,通过第二校正方式对所述第一逻辑区块进行校正处理,包括:
通过错误检查和纠正的方式对所述第一逻辑区块进行校正处理。
2.根据权利要求1所述的方法,还包括:
在所述已记录的报错信息中不存在第二逻辑区块错误的情况下,将所述报错信息添加到所述已记录的报错信息中。
3.根据权利要求1所述的方法,还包括:
基于所述第一逻辑区块,确定已记录的报错信息中是否存在所述第一逻辑区块错误;
在所述已记录的报错信息中存在所述第一逻辑区块错误的情况下,通过虚拟内存锁步的方式对所述第一逻辑区块进行校正处理。
4.一种电子设备,包括:
内存,所述内存包括多个存储模块,每个存储模块包括多个内存芯片,每个内存芯片包括多个逻辑区块;
第一处理器,所述第一处理器每次能够从所述内存的一个存储模块中的多个内存芯片中属于相同区块组的多个逻辑区块内读取数据;
第二处理器,用于获取报错信息,所述报错信息能够表征所述多个逻辑区块中的第一逻辑区块出现错误;基于所述第一逻辑区块,确定已记录的报错信息中是否存在第二逻辑区块错误,所述第二逻辑区块与所述第一逻辑区块属于相同的区块组,其中:
在所述已记录的报错信息中存在第二逻辑区块错误的情况下,通过第一校正方式对所述第一逻辑区块进行校正处理,包括:
通过虚拟内存锁步的方式对所述第一逻辑区块进行校正处理;
在所述已记录的报错信息中不存在第二逻辑区块错误的情况下,通过第二校正方式对所述第一逻辑区块进行校正处理,包括:
通过错误检查和纠正的方式对所述第一逻辑区块进行校正处理。
5.根据权利要求4所述的电子设备,其中,所述第二处理器还用于:
在所述已记录的报错信息中不存在第二逻辑区块错误的情况下,将所述报错信息添加到所述已记录的报错信息中。
6.根据权利要求4所述的电子设备,其中,所述第二处理器还用于:
基于所述第一逻辑区块,确定已记录的报错信息中是否存在所述第一逻辑区块错误;
在所述已记录的报错信息中存在所述第一逻辑区块错误的情况下,通过虚拟内存锁步的方式对所述第一逻辑区块进行校正处理。
CN201811617008.7A 2018-12-27 2018-12-27 内存校正方法和电子设备 Active CN109710445B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811617008.7A CN109710445B (zh) 2018-12-27 2018-12-27 内存校正方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811617008.7A CN109710445B (zh) 2018-12-27 2018-12-27 内存校正方法和电子设备

Publications (2)

Publication Number Publication Date
CN109710445A CN109710445A (zh) 2019-05-03
CN109710445B true CN109710445B (zh) 2020-11-20

Family

ID=66258880

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811617008.7A Active CN109710445B (zh) 2018-12-27 2018-12-27 内存校正方法和电子设备

Country Status (1)

Country Link
CN (1) CN109710445B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112015599B (zh) * 2019-05-31 2022-05-13 华为技术有限公司 错误恢复的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135925A (zh) * 2010-12-27 2011-07-27 西安锐信科技有限公司 用于检测错误检查和纠正内存的方法和装置
CN107209645A (zh) * 2015-02-06 2017-09-26 英特尔公司 动态改变锁步配置
CN107562565A (zh) * 2017-08-03 2018-01-09 郑州云海信息技术有限公司 一种验证内存Patrol Scurb功能的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7573744B2 (en) * 2006-09-29 2009-08-11 Kabushiki Kaisha Toshiba Semiconductor memory device having different capacity areas
CN105302658A (zh) * 2015-12-09 2016-02-03 浪潮电子信息产业股份有限公司 一种存储器数据校正测试方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102135925A (zh) * 2010-12-27 2011-07-27 西安锐信科技有限公司 用于检测错误检查和纠正内存的方法和装置
CN107209645A (zh) * 2015-02-06 2017-09-26 英特尔公司 动态改变锁步配置
CN107562565A (zh) * 2017-08-03 2018-01-09 郑州云海信息技术有限公司 一种验证内存Patrol Scurb功能的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MEMORY RAS CONFIGURATION;Super Micro Computer Inc;《https://www.supermicro.org.cn/manuals/other/Memory_RAS_Configuration_User_Guide.pdf》;20171222;1-17页 *

Also Published As

Publication number Publication date
CN109710445A (zh) 2019-05-03

Similar Documents

Publication Publication Date Title
CN107506257B (zh) 错误检查纠正解码方法与装置
CN101558452B (zh) 用于在闪速eeprom存储页中重构可靠性数据的方法和装置
KR101860809B1 (ko) 메모리 시스템 및 메모리 에러 정정 방법
US8914708B2 (en) Bad wordline/array detection in memory
US10606696B2 (en) Internally-generated data storage in spare memory locations
US8234539B2 (en) Correction of errors in a memory array
US10564866B2 (en) Bank-level fault management in a memory system
US20170031595A1 (en) Performance optimization of read functions in a memory system
US9734008B2 (en) Error vector readout from a memory device
CN111104246B (zh) 提升dram的错误检测与纠错的验证效率的方法、装置、计算机设备及存储介质
US20120331345A1 (en) Memory testing system and method of computing device
US9086990B2 (en) Bitline deletion
CN106802837B (zh) 一种更新错误检测和纠正ecc码的方法及装置
JP2009181425A (ja) メモリモジュール
US10027349B2 (en) Extended error correction coding data storage
US9733870B2 (en) Error vector readout from a memory device
KR101497545B1 (ko) 프리 페이지 검출 방법 및 장치와 이를 이용한 에러 정정 코드 디코딩 방법 및 장치
CN109710445B (zh) 内存校正方法和电子设备
US20140281681A1 (en) Error correction for memory systems
KR101512927B1 (ko) 비휘발성 메모리의 페이지 관리 방법 및 장치
US11176988B2 (en) Control method for memory and non-transitory computer-readable media
US20180129554A1 (en) Bitwise sparing in a memory system
US10140186B2 (en) Memory error recovery
CN112445668B (zh) 一种实现内存on-die ECC的低成本软件方法和装置
CN110321073B (zh) 一种闪存的数据存储方法和装置以及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant