一种芯片出现ECC无法纠错时的数据恢复的方法和装置与流程

文档序号:11154716阅读:3015来源:国知局
一种芯片出现ECC无法纠错时的数据恢复的方法和装置与制造工艺

本发明涉及网络处理器及ECC技术,具体涉及一种芯片出现ECC无法纠错时的数据恢复的方法和装置。



背景技术:

内存是一种电子器件,在其工作过程中难免会出现错误,而对于稳定性要求高的用户来说,内存错误可能会引起致命性的问题。为了能检测和纠正内存软错误,在ECC技术出现之前,首先出现的是内存“奇偶校验(PARITY)”。基于硬件的奇偶校验法,在每8个比特外增加一个校验比特,计算对应的8个比特的求和,根据结果是技术还是偶数记录在额外增加的比特中。当CPU访问数据时,会触发重新进行一次求和,根据求和的结果与之前保存的数据比较,如果发现奇数或偶数的变化,则认为硬件出错,硬件尝试纠正这些错误。奇偶校验法会随着数据位宽的增加需要额外增加的比特越来越多,占用较多的物理内存,且不能准确的检测到具体哪个比特出错,从而不能保证能完全恢复数据。

为了解决奇偶校验法占用物理内存过多的情况,出现了ECC(ERROR CORRECTING CODE,错误检查和纠正)检测纠错技术,数据位每增加一倍,ECC位只增加一位。在内存中ECC能够容许错误,并可以将错误更正,使系统得以持续正常地操作。相比于奇偶校验法,ECC技术具有更强大的自动识别和纠错的能力,被应用到对数据可靠性要求较高的环境中。但是,ECC技术所要求的硬件逻辑比较复杂,亦不能保证能完全恢复数据,尤其当ECC检测本身发生错误且不能处理时,系统的数据可靠性无法得到保障。



技术实现要素:

针对上述技术的不足,本发明的主要目的在于,在芯片检测ECC逻辑的基础上,对于一些芯片不能恢复的ECC错误,能及时的发现和恢复,避免了因为ECC错误导致的转发表被修改,进而导致数据在转发时被丢包的情况,从而保证网络的稳定性。

为实现前述目的,本发明公开了一种芯片出现ECC无法纠错时的数据恢复的方法,具体包括:

CPU向芯片下发配置数据的同时,对所下发的配置数据进行备份;

当检测到芯片侧存储器发生ECC错误时,芯片将ECC中断上报给CPU,并记录发生ECC错误的存储器地址;

CPU接收ECC中断并分析发生ECC错误的存储器地址;

CPU从备份数据中获取所述存储器地址对应的配置数据,并重新下发至芯片中。

优选地,所述配置数据包括芯片地址、配置信息。

优选地,所述CPU对所下发的配置数据进行备份包括将所下发的配置数据记录在CPU侧的存储器中。

优选地,所述芯片包括ASIC芯片、FPGA芯片、NP芯片。

优选地,所述存储器包括RAM、TCAM。

相应地,本发明还公开了一种芯片出现ECC无法纠错时的数据恢复的装置,具体包括:

-数据备份单元,用于在CPU向芯片下发配置数据的同时,对所下发的配置数据进行备份;

-ECC检测单元,用于在报文查找时,检测芯片侧存储器是否存在ECC错误;

-中断控制单元,用于接收ECC中断并上报给CPU;

-数据恢复单元,用于CPU获取ECC中断后查找备份的芯片配置,将对应的配置数据下发到芯片中。

优选地,所述装置中所述配置数据包括芯片地址、配置信息。

优选地,所述装置中所述CPU对所下发的配置数据进行备份包括将所下发的配置数据记录在CPU侧的存储器中。

优选地,所述装置中所述芯片包括ASIC芯片、FPGA芯片、NP芯片。

优选地,所述装置中所述存储器包括RAM、TCAM。

与现有技术相比,本发明的优点在于:本发明公开的一种芯片出现ECC无法纠错时的数据恢复的方法和装置,能够对ECC无法纠错的情况进行及时发现并进行数据恢复,保证了数据的可靠性;且恢复过程不需要频繁中断,及大量的软件交互,可以很大程度地降低CPU的占用率,同时能够高效完成流量统计的功能。

附图说明

图1是本发明一实施例提出的一种芯片出现ECC无法纠错时的数据恢复的方法示意图;

图2是本发明一实施例提出的一种芯片出现ECC无法纠错时的数据恢复的过程示意图;

图3是本发明一实施例提出的一种芯片出现ECC无法纠错时的数据恢复的装置的示意图。

具体实施方式

鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

芯片的配置一般由CPU下发,本发明实施例利用芯片自动检测ECC的逻辑,通过对CPU下发到芯片的配置数据进行备份,当芯片发生ECC错误时,根据之前下发配置时的数据备份,重新对发生ECC的芯片进行数据恢复。如图1所示,具体的数据恢复过程包括:

步骤101,CPU向芯片下发配置数据的同时,CPU对所下发的配置数据进行备份;

步骤102,芯片自动进行ECC检测;

步骤103,当检测到芯片发生ECC错误时,执行步骤104;否则,继续执行当前步骤,进行ECC检测;

步骤104,将ECC中断上报给CPU;

当芯片内的存储器发生ECC错误时,芯片在报文查找时会检测到该错误,而后,将ECC中断上报给CPU,并记录发生ECC错误的存储器地址;

步骤105,CPU接收到上报的ECC中断后,分析发生ECC错误的存储器地址;

步骤106,CPU从备份数据中获取所述存储器地址对应的配置数据,并重新下发至芯片中。

CPU根据芯片记录的发生ECC错误的地址确定存储器地址,到备份数据中获取该存储器地址对应的配置数据,并重新将其下发至芯片中。

由于奇偶校验法和ECC方法都是基于硬件逻辑实现的,在特殊情况下具有一定的局限性,无法保证完全恢复数据。本发明实施例在ECC检测纠错技术的基础上,对于ECC也无法纠正的错误上报给CPU,CPU通过重新下发芯片配置数据完成数据恢复,由此保证由CPU下发的配置数据都能够被正确的恢复。在数据恢复的过程中,芯片部分仅担当了检测的角色,且不需要大量的软件交互及频繁中断,由CPU即可完成数据的恢复,在一定程度上大大降低了CPU的占用率。

下面通过一实施例对本发明的技术方案进行进一步说明,图2为本发明一实施例提出的一种芯片出现ECC无法纠错时的数据恢复的过程示意图,具体过程包括:

动作①,CPU通过芯片提供的I/O接口下发配置数据至芯片,同时进行动作②,将所下发的配置数据备份在CPU侧内存中,配置数据包括芯片地址、配置信息等。

芯片一般具有自动进行ECC检测并纠错的功能,当其存储器,如RAM(Radom Access Memory,随机存取存储器),出现ECC也无法检测到或纠错的情形,即发生ECC错误后,芯片在进行报文查找的过程中会检测到该错误,通过动作③向中断控制器提出ECC中断请求,并由中断控制器将该中断请求上报给CPU。同时,芯片记录下发生ECC错误的地址。

CPU通过动作④获取到芯片上报的ECC中断,并根据芯片记录的发生ECC错误的存储器地址,通过动作⑤从CPU侧内存中获取对应的备份配置数据;

之后,CPU再次执行动作①,将获取到的备份配置数据重新下发给芯片。

经过以上过程,由于ECC产生或无法纠正的错误,都可以经CPU重新下发而完成数据恢复,从而保证数据的完整性和提高可靠性。

作为本发明的一种改进,上述数据恢复过程中,所述动作②,将向芯片下发的配置数据在CPU侧内存进行备份这一操作,可增加启停控制功能,即,当需要打开ECC恢复功能时再启用。如此设置,可在必要时对CPU的性能进行调节,以保障CPU性能处于良好状态。

图3是本发明一实施例提供的一种芯片出现ECC无法纠错时的数据恢复的装置的结构示意图,如图3所示,本实施例提供的装置包括:

数据备份单元301,用于在CPU向芯片下发配置数据的同时,CPU对所下发的配置数据进行备份;

当CPU下发某个配置时,会通过芯片提供的IO接口下发配置,此时,数据备份单元对CPU下发的配置数据备份到CPU侧的内存中。

ECC检测单元302,用于在报文查找时,芯片检测存储器是否存在ECC错误;

芯片一般具有自动检测ECC的功能,当芯片中发生ECC错误后,报文进入芯片进行查找逻辑操作时,ECC检测单元检测到上述ECC错误并向中断上报单元提出ECC中断请求。

中断上报单元303,包含一中断控制器,用于接收中断请求并上报给CPU;

中断上报单元接收来自ECC检测单元发送的ECC中断请求,并将该请求上报给CPU。

数据恢复单元304,用于CPU获取ECC中断后查找备份的芯片配置,获取对应的数据并下发到芯片中;

数据恢复单元获取到中断上报单元发送的ECC中断请求后,分析发生ECC错误的存储器地址,根据该地址在CPU侧内存中查找对应的备份数据,并将所述备份数据重新下发到芯片中。

由于本发明实施例提供的装置植入了本发明实施例提供的芯片出现ECC无法纠错时的数据恢复的方法,因此,关于本发明提供的装置进行数据恢复的具体工作过程,在此不复赘述。

本发明任一实施例中数据恢复的芯片区域包括但不限于RAM、TCAM(Ternary Content Addressable Memory,三态内容寻址存储器)等存储器。同时,所述芯片包括但不限于ASIC(Application Specific Integrated Circuit,专用集成电路)芯片,FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片或NP(Network Processor,网络处理器)芯片等。本领域技术人员应当知晓,由于篇幅有限,其他未详尽的存储器和/或芯片类型不代表排除在本发明实施例的技术方案之外。

应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1