一种纠错方法及装置制造方法及图纸

技术编号:33718023 阅读:34 留言:0更新日期:2022-06-08 21:08
一种纠错方法及装置,本申请中,寄存控制器可以检测该内存中存在的错误,当检测到UCE后,可以获取发生该UCE的内存地址。寄存控制器从该内存地址指示的位置处读取原始数据,将预设的第一数据存储在内存地址指示的位置处,在将该第一数据存储在该位置处后,再从该位置处读取第二数据;比对第一数据和第二数据,确定位置中的第一失效位置;从该位置出的原始数据中确定第一失效位置处存储的原始数据,对第一失效位置处存储的原始数据进行纠错。寄存控制器能够通过数据写入和读出的操作准确的定位到发生UCE的失效位置,对该失效位置处存储的原始数据进行纠错,这种失效位置的定位方式更加高效,进一步,减少UCE的发生,提高内存的稳定性。定性。定性。

【技术实现步骤摘要】
一种纠错方法及装置


[0001]本申请涉及通信
,尤其涉及一种纠错方法及装置。

技术介绍

[0002]内存的RAS(reliability,availability,serviceability)是内存的可靠性、可实用性以及可服务性。目前为了保证内存的RAS提出了多种内存纠错方法,例如,自适应双颗粒数据纠正(adaptive double device data correction,ADDDC)、单颗粒数据纠正(single

device data correction,SDDC)、内存镜像(memory mirror)、内存热备(rank sparing)、系统管理中断(system management interrupt,SMI)等。
[0003]内存中发生的错误可以分为两种,一种为可纠正错误(corrected error,CE),也即该类错误是可以通过纠错算法进行纠正的,CE通常发生在内存的一个内存颗粒(内存颗粒是指内存的一个单元)中,发生的数据大小通常为1比特。对于纠错算法纠正不了的错误可以称为不可纠正错误(uncorrected error,UCE),这类错误通常发生在内存的多个内存颗粒中,发生的数据大小为多个比特;对于前者,目前提出的多种内存纠错方法均能够对该类错误进行纠错。而对于后者,无法实现准确定位,进而也无法进行纠错。

技术实现思路

[0004]本申请提供一种纠错方法及装置,用以定位内存中发生UCE的位置,对UCE进行纠错。
[0005]第一方面,本申请实施例提供了一种纠错方法,该方法由寄存控制器执行,该方法由寄存控制器执行,寄存控制器可以检测该内存中存在的错误,当检测到UCE后,可以获取发生该UCE的内存地址。在获取了该内存地址后,寄存控制器可以从该内存地址指示的位置处读取原始数据,也即存储在该内存地址指示的位置处的数据,之后,将预设的第一数据存储在内存地址指示的位置处,在将该第一数据存储在该位置处后,再从该位置处读取第二数据;比对第一数据和第二数据,确定位置中的第一失效位置;从该位置出的原始数据中确定第一失效位置处存储的原始数据,对第一失效位置处存储的原始数据进行纠错。
[0006]通过上述方法,寄存控制器能够通过数据写入和读出的操作准确的定位到发生UCE的失效位置,之后就可以对该失效位置处存储的原始数据进行纠错,这种失效位置的定位方式更加高效,通过对失效位置处的存储的原始数据纠错也能够减少UCE,提高内存的稳定性。
[0007]在一种可能的实施方式中,寄存控制器还能够对第一数据进行翻转,将翻转后的第一数据存在内存地址所指示的位置处,在将翻转后的第一数据存储在该位置后,可以从该位置中读取第三数据。之后再对翻转后的第一数据和第三数据件比对,确定该位置中的第二失效位置,寄存控制器可以对第二失效位置处存储的原始数据进行纠错。
[0008]通过上述方法,通过翻转第一数据、数据写入和读取能够确定与第一失效位置不同的第二失效位置,可以避免第一失效位置存在遗漏的情况,将该位置中所有的失效位置
均定位到,保证失效位置定位的完整性以及准确性。
[0009]在一种可能的实施方式中,寄存控制器在对第一失效位置处存储的原始数据进行纠错时,寄存控制器可以对原始数据中该第一失效位置处至少一个比特位上的数据进行翻转,每翻转一次,该原始数据将转换为一个候选数据,寄存控制器可以利用纠错算法对候选数据进行纠错,确定该候选数据是否正确,若该候选数据正确或利用该纠错算法可以获得正确的数据,则停止翻转,否则,继续对原始数据中该第一失效位置处至少一个比特位上的数据进行翻转,直至能够获得正确的数据。寄存控制器也可以对原始数据中的目标数据(该目标数据是第一失效位置处位于目标颗粒上的至少一个比特位上的数据)进行翻转,每翻转一次,该原始数据将转换为一个候选数据,寄存控制器可以利用纠错算法对候选数据进行纠错,若对该候选数据纠错成功,利用该纠错算法纠错后的数据即为正确的数据,否则,继续对该第一失效位置处位于目标颗粒上的至少一个比特位上的原始数据继续进行翻转,获得另一个候选数据,再利用纠错算法对该候选数据进行纠错,循环执行,直至能够通过纠错算法获取正确的数据。
[0010]寄存控制器在对第二失效位置处存储的原始数据进行纠错的方式与寄存控制器对第一失效位置处存储的原始数据进行纠错的方式类似,具体可参见前述内容。
[0011]寄存控制器在确定了第一失效位置和第二失效位置之后,也可以一同对第一失效位置和第二失效位置处存储的原始数据进行纠错。具体的,寄存控制器可以对原始数据中该失效位置处至少一个比特位上的数据进行翻转,该失效位置包括第一失效位置和第二失效位置,每翻转一次,该原始数据将转换为一个候选数据,寄存控制器可以利用纠错算法对候选数据进行纠错,确定该候选数据是否正确,若该候选数据正确或利用该纠错算法可以获得正确的数据,则停止翻转,否则,继续对原始数据中该失效位置处至少一个比特位上的数据进行翻转,直至能够获得正确的数据。寄存控制器也可以对原始数据中的目标数据(该目标数据是失效位置处位于目标颗粒上的至少一个比特位上的数据)进行翻转,每翻转一次,该原始数据将转换为一个候选数据,寄存控制器可以利用纠错算法对候选数据进行纠错,若对该候选数据纠错成功,利用该纠错算法纠错后的数据即为正确的数据,否则,继续对该失效位置处位于目标颗粒上的至少一个比特位上的原始数据继续进行翻转,获得另一个候选数据,再利用纠错算法对该候选数据进行纠错,循环执行,直至能够通过纠错算法获取正确的数据。
[0012]通过上述方法,寄存控制器能够通过原始数据的翻转实现数据纠错,方式较为简单、高效,能够提升数据纠错效率。
[0013]在一种可能的实施方式中,寄存控制器在比对第一数据和第二数据,确定位置中的第一失效位置时,可以确定第一数据和第二数据中不一致的第一子数据,第一子数据存储的位置为第一失效位置。
[0014]通过上述方法,寄存控制器通过简单的对比第一数据和第二数据,可以确定出内存地址所指示的位置中的失效位置,失效位置的定位方式较为快捷,有效的提升了定位失效位置的效率。
[0015]在一种可能的实施方式中,寄存控制器比对翻转后的第一数据和第三数据,确定位置中的第二失效位置时,可以确定翻转后的第一数据和第三数据中不一致的第二子数据,第二子数据存储的位置为第二失效位置。
[0016]通过上述方法,寄存控制器通过简单的对比翻转后的第一数据和第三数据,可以确定出内存地址所指示的位置中除第一失效位置之外的第二失效位置,失效位置的定位方式较为快捷。
[0017]在一种可能的实施方式中,寄存控制器在将预设的第一数据存储在内存地址指示的位置处时,可以不生成该第一数据的冗余码,可以直接将该第一数据直接存储在内存地址指示的位置处。
[0018]通过上述方法,内存中冗余码所存储的位置也可能存在失效位置,将第一数据直接存储在该位置处,使得后续可以定位到冗余码所存储的位置中可能存在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种纠错方法,其特征在于,所述方法包括:在检测到内存中存在不可纠正错误UCE后,获取发生所述UCE的内存地址;将预设的第一数据存储在所述内存地址指示的位置处,从所述位置处读取第二数据;比对所述第一数据和所述第二数据,确定所述位置中的第一失效位置;对所述第一失效位置处存储的原始数据进行纠错。2.如权利要求1所述的方法,其特征在于,所述方法还包括:将所述第一数据翻转后存储在所述内存地址指示的位置处,从所述位置处读取所述第三数据;比对翻转后的所述第一数据和所述第三数据,确定所述位置中的第二失效位置;对所述第二失效位置处存储的原始数据进行纠错。3.如权利要求2所述的方法,其特征在于,所述将预设的第一数据存储在所述内存地址指示的位置处之前,还包括:读取所述位置处存储的原始数据;对失效位置处存储的原始数据进行纠错,所述失效位置包括所述第一失效位置和所述第二失效位置,包括:对所述原始数据中所述失效位置处至少一个比特位上的数据进行翻转,获得正确的数据;或在对所述原始数据中的目标数据进行翻转后,对翻转后的所述原始数据进行纠错,所述目标数据是所述失效位置中位于目标内存颗粒的数据。4.如权利要求1所述的方法,其特征在于,所述比对所述第一数据和所述第二数据,确定所述位置中的第一失效位置,包括:确定所述第一数据和所述第二数据中不一致的第一子数据,所述第一子数据存储的位置为所述第一失效位置。5.如权利要求2所述的方法,其特征在于,所述比对翻转后的所述第一数据和所述第三数据,确定所述位置中的第二失效位置,包括:确定翻转后的所述第一数据和所述第三数据中不一致的第二子数据,所述第二子数据存储的位置为所述第二失效位置。6.如权利要求1~5任一所述的方法,其特征在于,所述将预设的第一数据存储在所述内存地址指示的位置处,包括:在不生成所述第一数据的冗余码的情况下,将所述第一数据直接存储在所述内存地址指示的位置处。7.一种纠错装置,其特征在于,所述装置包括获取单元、读写单元以及纠错单元:所述获取单元,用于在检测到内存中存在不可纠正错误UCE后,获取发生所述UCE的内存地址;所述读写单元,用于将预设的第一数据存储在所述内存地址指示的位置处,从所述位置处读取第二数据;所述纠错单元,用于比对所述...

【专利技术属性】
技术研发人员:李玉伟张旭栗炜张昆尹文
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1