CN106648968A - 一种芯片出现ecc无法纠错时的数据恢复的方法和装置 - Google Patents

一种芯片出现ecc无法纠错时的数据恢复的方法和装置 Download PDF

Info

Publication number
CN106648968A
CN106648968A CN201610910706.0A CN201610910706A CN106648968A CN 106648968 A CN106648968 A CN 106648968A CN 201610910706 A CN201610910706 A CN 201610910706A CN 106648968 A CN106648968 A CN 106648968A
Authority
CN
China
Prior art keywords
chip
ecc
data
cpu
error correction
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.)
Withdrawn
Application number
CN201610910706.0A
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.)
Centec Networks Suzhou Co Ltd
Original Assignee
Centec Networks Suzhou 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 Centec Networks Suzhou Co Ltd filed Critical Centec Networks Suzhou Co Ltd
Priority to CN201610910706.0A priority Critical patent/CN106648968A/zh
Publication of CN106648968A publication Critical patent/CN106648968A/zh
Withdrawn legal-status Critical Current

Links

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices

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

本发明公开了一种芯片出现ECC无法纠错时的数据恢复的方法和装置,具体包括:CPU侧的存储器对芯片的配置数据进行备份,芯片发生ECC错误上报中断给CPU,CPU分析出发生ECC错误的位置,根据备份数据恢复发生错误的芯片存储器中的数据。采用本发明能够及时的发现和恢复ECC无法恢复的错误,避免数据在转发时被丢包,保证网络的稳定性。

Description

一种芯片出现ECC无法纠错时的数据恢复的方法和装置
技术领域
本发明涉及网络处理器及ECC技术,具体涉及一种芯片出现ECC无法纠错时的数据恢复的方法和装置。
背景技术
内存是一种电子器件,在其工作过程中难免会出现错误,而对于稳定性要求高的用户来说,内存错误可能会引起致命性的问题。为了能检测和纠正内存软错误,在ECC技术出现之前,首先出现的是内存“奇偶校验(PARITY)”。基于硬件的奇偶校验法,在每8个比特外增加一个校验比特,计算对应的8个比特的求和,根据结果是技术还是偶数记录在额外增加的比特中。当CPU访问数据时,会触发重新进行一次求和,根据求和的结果与之前保存的数据比较,如果发现奇数或偶数的变化,则认为硬件出错,硬件尝试纠正这些错误。奇偶校验法会随着数据位宽的增加需要额外增加的比特越来越多,占用较多的物理内存,且不能准确的检测到具体哪个比特出错,从而不能保证能完全恢复数据。
为了解决奇偶校验法占用物理内存过多的情况,出现了ECC(ERROR CORRECTINGCODE,错误检查和纠正)检测纠错技术,数据位每增加一倍,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 AccessMemory,随机存取存储器),出现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(TernaryContent Addressable Memory,三态内容寻址存储器)等存储器。同时,所述芯片包括但不限于ASIC(Application Specific Integrated Circuit,专用集成电路)芯片,FPGA(Field-Programmable Gate Array,现场可编程门阵列)芯片或NP(Network Processor,网络处理器)芯片等。本领域技术人员应当知晓,由于篇幅有限,其他未详尽的存储器和/或芯片类型不代表排除在本发明实施例的技术方案之外。
应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种芯片出现ECC无法纠错时的数据恢复的方法,其特征在于包括:
CPU向芯片下发配置数据的同时,对所下发的配置数据进行备份;
当检测到芯片侧存储器发生ECC错误时,芯片将ECC中断上报给CPU,并记录发生ECC错误的存储器地址;
CPU接收ECC中断并分析发生ECC错误的存储器地址;
CPU从备份数据中获取所述存储器地址对应的配置数据,并重新下发至芯片中。
2.根据权利要求1所述的芯片出现ECC无法纠错时的数据恢复的方法,其特征在于:所述配置数据包括芯片地址、配置信息。
3.根据权利要求1所述的芯片出现ECC无法纠错时的数据恢复的方法,其特征在于:所述对所下发的配置数据进行备份包括将所下发的配置数据记录在CPU侧的存储器中。
4.根据权利要求1至3所述的芯片出现ECC无法纠错时的数据恢复的方法,其特征在于:所述芯片包括ASIC芯片、FPGA芯片、NP芯片。
5.根据权利要求1至3所述的芯片出现ECC无法纠错时的数据恢复的方法,其特征在于:所述芯片侧存储器包括RAM、TCAM。
6.一种芯片出现ECC无法纠错时的数据恢复的装置,其特征在于包括:
-数据备份单元,用于在CPU向芯片下发配置数据的同时,对所下发的配置数据进行备份;
-ECC检测单元,用于在报文查找时,检测芯片侧存储器是否存在ECC错误;
-中断控制单元,用于接收ECC中断并上报给CPU;
-数据恢复单元,用于CPU获取ECC中断后查找备份的芯片配置,将对应的配置数据下发到芯片中。
7.根据权利要求6所述的芯片出现ECC无法纠错时的数据恢复的装置,其特征在于:所述配置数据包括芯片地址、配置信息。
8.根据权利要求6所述的芯片出现ECC无法纠错时的数据恢复的装置,其特征在于:所述对所下发的配置数据进行备份包括将所下发的配置数据记录在CPU侧的存储器中。
9.根据权利要求6至8所述的芯片出现ECC无法纠错时的数据恢复的装置,其特征在于:所述芯片包括ASIC芯片、FPGA芯片、NP芯片。
10.根据权利要求6至8所述的芯片出现ECC无法纠错时的数据恢复的装置,其特征在于:所述芯片侧存储器包括RAM、TCAM。
CN201610910706.0A 2016-10-19 2016-10-19 一种芯片出现ecc无法纠错时的数据恢复的方法和装置 Withdrawn CN106648968A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610910706.0A CN106648968A (zh) 2016-10-19 2016-10-19 一种芯片出现ecc无法纠错时的数据恢复的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610910706.0A CN106648968A (zh) 2016-10-19 2016-10-19 一种芯片出现ecc无法纠错时的数据恢复的方法和装置

Publications (1)

Publication Number Publication Date
CN106648968A true CN106648968A (zh) 2017-05-10

Family

ID=58855996

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610910706.0A Withdrawn CN106648968A (zh) 2016-10-19 2016-10-19 一种芯片出现ecc无法纠错时的数据恢复的方法和装置

Country Status (1)

Country Link
CN (1) CN106648968A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108363638A (zh) * 2018-02-06 2018-08-03 盛科网络(苏州)有限公司 一种芯片内tcam存储器的纠错方法及系统
CN109358986A (zh) * 2018-10-25 2019-02-19 盛科网络(苏州)有限公司 一种芯片挂死后实现硬表恢复的方法及装置
CN109388519A (zh) * 2017-08-07 2019-02-26 上海寒武纪信息科技有限公司 错误恢复方法及装置、处理器
CN109800104A (zh) * 2018-12-18 2019-05-24 盛科网络(苏州)有限公司 数据存储的检测方法、装置、存储介质及电子装置
CN112272024A (zh) * 2020-10-29 2021-01-26 国核自仪系统工程有限公司 Fpga器件的配置数据的刷新方法、电路和存储介质
CN112506730A (zh) * 2020-11-10 2021-03-16 中国人民解放军战略支援部队信息工程大学 适用于网络交换芯片ecc功能验证的验证平台及验证方法
CN113220625A (zh) * 2021-05-12 2021-08-06 北京汇智诚芯科技有限公司 一种基于流式处理芯片的计算量证明系统的设计方法
US11630600B2 (en) 2020-02-03 2023-04-18 Realtek Semiconductor Corporation Device and method for checking register data

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210188A1 (en) * 2011-02-10 2012-08-16 International Business Machines Corporation Handling corrupted background data in an out of order execution environment
US20160162357A1 (en) * 2014-10-29 2016-06-09 Sandisk Technologies Inc. Approach to correct ecc errors using duplicate copies of data
CN105808371A (zh) * 2014-12-31 2016-07-27 深圳市硅格半导体有限公司 数据备份与恢复方法、控制芯片及存储装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120210188A1 (en) * 2011-02-10 2012-08-16 International Business Machines Corporation Handling corrupted background data in an out of order execution environment
US20160162357A1 (en) * 2014-10-29 2016-06-09 Sandisk Technologies Inc. Approach to correct ecc errors using duplicate copies of data
CN105808371A (zh) * 2014-12-31 2016-07-27 深圳市硅格半导体有限公司 数据备份与恢复方法、控制芯片及存储装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109388519A (zh) * 2017-08-07 2019-02-26 上海寒武纪信息科技有限公司 错误恢复方法及装置、处理器
CN109388519B (zh) * 2017-08-07 2021-06-11 上海寒武纪信息科技有限公司 错误恢复方法及装置、处理器
CN108363638A (zh) * 2018-02-06 2018-08-03 盛科网络(苏州)有限公司 一种芯片内tcam存储器的纠错方法及系统
CN109358986A (zh) * 2018-10-25 2019-02-19 盛科网络(苏州)有限公司 一种芯片挂死后实现硬表恢复的方法及装置
CN109800104A (zh) * 2018-12-18 2019-05-24 盛科网络(苏州)有限公司 数据存储的检测方法、装置、存储介质及电子装置
US11544141B2 (en) 2018-12-18 2023-01-03 Suzhou Centec Communications Co., Ltd. Data storage detection method and apparatus, storage medium and electronic apparatus
US11630600B2 (en) 2020-02-03 2023-04-18 Realtek Semiconductor Corporation Device and method for checking register data
CN112272024A (zh) * 2020-10-29 2021-01-26 国核自仪系统工程有限公司 Fpga器件的配置数据的刷新方法、电路和存储介质
CN112506730A (zh) * 2020-11-10 2021-03-16 中国人民解放军战略支援部队信息工程大学 适用于网络交换芯片ecc功能验证的验证平台及验证方法
CN112506730B (zh) * 2020-11-10 2022-11-01 中国人民解放军战略支援部队信息工程大学 适用于网络交换芯片ecc功能验证的验证平台及验证方法
CN113220625A (zh) * 2021-05-12 2021-08-06 北京汇智诚芯科技有限公司 一种基于流式处理芯片的计算量证明系统的设计方法
CN113220625B (zh) * 2021-05-12 2024-05-14 北京汇智诚芯科技有限公司 一种基于流式处理芯片的计算量证明系统的设计方法

Similar Documents

Publication Publication Date Title
CN106648968A (zh) 一种芯片出现ecc无法纠错时的数据恢复的方法和装置
US10545841B2 (en) Method and apparatus for backup communication
US6829729B2 (en) Method and system for fault isolation methodology for I/O unrecoverable, uncorrectable error
US10095576B2 (en) Anomaly recovery method for virtual machine in distributed environment
US8095759B2 (en) Error management firewall in a multiprocessor computer
EP2857971B1 (en) Method and device for repairing error data
CN100562857C (zh) 校验数据的方法和装置
US7222270B2 (en) Method for tagging uncorrectable errors for symmetric multiprocessors
US10585743B2 (en) Multiple reset modes for a PCI host bridge
CN103140841A (zh) 保护存储器的部分的方法和装置
US8996953B2 (en) Self monitoring and self repairing ECC
CN106682193B (zh) 基于缓存的数据持久化存储方法及装置
US6519717B1 (en) Mechanism to improve fault isolation and diagnosis in computers
US8566672B2 (en) Selective checkbit modification for error correction
US6845469B2 (en) Method for managing an uncorrectable, unrecoverable data error (UE) as the UE passes through a plurality of devices in a central electronics complex
CN112506730B (zh) 适用于网络交换芯片ecc功能验证的验证平台及验证方法
WO2022028209A1 (zh) 一种内存故障处理方法和装置
CN105204968A (zh) 一种故障内存检测方法和装置
TW201921244A (zh) 特定應用積體電路中之中央錯誤處理
CN116049249A (zh) 报错信息处理方法、装置、系统、设备和存储介质
US9405715B2 (en) Host computer and method for managing SAS expanders of SAS expander storage system
US20150067443A1 (en) Method and Device for Recovering Erroneous Data
US7624305B2 (en) Failure isolation in a communication system
US11372720B2 (en) Systems and methods for encoding metadata
CN103942119A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20170510

WW01 Invention patent application withdrawn after publication