CN108363638A - 一种芯片内tcam存储器的纠错方法及系统 - Google Patents

一种芯片内tcam存储器的纠错方法及系统 Download PDF

Info

Publication number
CN108363638A
CN108363638A CN201810117755.8A CN201810117755A CN108363638A CN 108363638 A CN108363638 A CN 108363638A CN 201810117755 A CN201810117755 A CN 201810117755A CN 108363638 A CN108363638 A CN 108363638A
Authority
CN
China
Prior art keywords
memory
data
tcam
chip
cpu
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
CN201810117755.8A
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 CN201810117755.8A priority Critical patent/CN108363638A/zh
Publication of CN108363638A publication Critical patent/CN108363638A/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/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
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明揭示了一种芯片内TCAM存储器的纠错方法及系统,方法包括CPU将数据写入TCAM存储器中,并备份数据至内存中;芯片通过DMA控制器读取内存中的数据并与TCAM存储器中的数据相匹配,若不匹配,则将出错的TCAM存储器地址通过DMA控制器存储至内存中并产生CPU中断;CPU接收中断并通过DMA控制器获取内存中出错的TCAM存储器地址对应的数据,并将该数据重新写入TCAM存储器中。本发明通过DMA控制器进行TCAM存储器的纠错,节省了CPU资源,提高了纠错效率。

Description

一种芯片内TCAM存储器的纠错方法及系统
技术领域
本发明涉及一种网络通信技术领域,尤其是涉及一种芯片内TCAM存储器的纠错方法及系统。
背景技术
TCAM(Ternary content addressable memory,三态内容寻址存储器),能够满足高速实时通信的极速查找需求,查找速度快,每个周期即可完成一次查找,常用于快速查找ACL、路由等表项。
TCAM存储器在使用过程中会产生错误,影响查找速度,以及查找结果。现有技术中对TCAM存储器的纠错一般采用CPU每写一次TCAM存储器都将对应的数据进行备份,同时启动一个线程,定时去扫描TCAM存储器中的数据,并与备份的数据进行匹配,若存在不匹配的数据,则直接将备份的数据覆盖错误的数据。采用上述方法,由于需要单独启动一个线程进行TCAM存储器数据的匹配,占用CPU资源,并且纠错效率低。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种芯片内TCAM存储器的纠错方法及系统,能够快速的对TCAM存储器进行纠错。
为实现上述目的,本发明提出如下技术方案:一种芯片内TCAM存储器的纠错方法,包括如下步骤:
S1,CPU将数据写入TCAM存储器中,并备份数据至内存中;
S2,芯片通过DMA控制器读取内存中的数据并与TCAM存储器中的数据进行匹配,若不匹配,则将出错的TCAM存储器地址通过DMA控制器存储至内存中并产生CPU中断;
S3,CPU接收中断并通过DMA控制器获取内存中出错的TCAM存储器地址对应的数据,并将该数据重新写入TCAM存储器中。
优选地,在步骤S2中,所述芯片通过DMA描述符将出错的TCAM存储器地址存储至内存中。
优选地,在步骤S3中,所述CPU通过DMA描述符获取内存中出错的TCAM存储器地址存储。
优选地,所述芯片至少可选自ASIC芯片、FPGA芯片、NP芯片中的一种。
优选地,所述内存中设有第一存储单元和第二存储单元,所述第一存储单元用于存储备份数据,所述第二存储单元用于存储出错的TCAM存储器地址数据。
一种芯片内TCAM存储器的纠错系统,包括
数据备份单元,所述数据备份单元用于在CPU将数据写入TCAM存储器时将数据备份至内存中;
数据匹配单元,所述数据匹配单元设于芯片内,用于通过DMA控制器读取内存中的数据并与TCAM存储器中的数据进行匹配,并将出错的TCAM存储器地址通过DMA控制器存储至内存中同时产生CPU中断;
数据恢复单元,所述数据恢复单元用于在CPU接收中断时通过DMA控制器获取出错的TCAM存储器地址对应的TCAM数据,并将其重新写入TCAM存储器中。
优选地,所述数据匹配单元通过DMA描述符将出错的TCAM存储器地址存储至内存中。
优选地,所述数据恢复单元通过DMA描述符获取内存中出错的TCAM存储器地址存储。
优选地,所述芯片至少可选自ASIC芯片、FPGA芯片、NP芯片中的一种。
优选地,所述内存中设有第一存储单元和第二存储单元,所述第一存储单元用于存储备份数据,所述第二存储单元用于存储出错的TCAM存储器地址数据。
本发明的有益效果是:
与现有技术相比,芯片通过DMA控制器定时读取内存中备份的数据并与TCAM存储器中的数据相匹配,节省CPU资源,同时在出错时通过DMA描述符告知CPU出错的TCAM存储器地址,CPU进一步通过DMA控制器获取该地址对应的数据并将其重新写入TCAM存储器中,提高了TCAM存储器的纠错效率。
附图说明
图1是本发明的纠错方法流程图示意图;
图2是本发明的芯片处理流程图示意图;
图3是本发明的CPU处理流程图示意图;
图4是本发明的交换芯片数据处理系统框图示意图;
图5是本发明的纠错系统结构框图示意图。
具体实施方式
下面将结合本发明的附图,对本发明实施例的技术方案进行清楚、完整的描述。
本发明所揭示的一种芯片内TCAM存储器的纠错方法,在CPU写TCAM存储器时将数据备份至内存,同时芯片根据备份的数据检查TCAM存储器中数据是否准确,并在出错时通知CPU出错的TCAM存储器地址,CPU根据TCAM存储器地址查找备份数据进行数据的恢复。
如图1所示,一种芯片内TCAM存储器的纠错方法,包括
首先,CPU将数据写入TCAM存储器中,并备份数据至内存中;
本实施例中以交换芯片为例对如何进行TCAM存储器纠错进行详细的说明,当然,也可以是其他设有TCAM存储器的芯片,如ASIC芯片、FPGA芯片、NP芯片等等。
结合图3和图4所示,通过在内存中设置两个存储单元分别存储备份的TCAM存储器数据和出错的TCAM存储器地址。两个存储器单元分别为第一存储单元和第二存储单元。其中,第一存储单元用于存储备份的TCAM存储器数据,第二存储单元用于存储出错的TCAM存储器地址。CPU在写入TCAM存储器数据时,还将数据备份至第一存储单元中;在TCAM存储器数据出现错误时,芯片通过DMA控制器将出错的TCAM存储器地址数据存储至第二存储单元中。
其次,芯片通过DMA控制器读取内存中的数据并与TCAM存储器中的数据相匹配,若不匹配,则将出错的TCAM存储器地址通过DMA控制器存储至内存中并产生CPU中断,若匹配,则进行下一个数据的匹配;
具体的,结合图2和图4所示,芯片中数据匹配的处理流程图。芯片具有TCAM存储器数据检查功能,其根据CPU配置的时间,定时读取TCAM存储器中的数据,同时还通过DMA控制器读取第一存储单元中的数据,并将两个数据进行匹配,若不匹配,则将出错的TACM存储器地址通过DMA控制器存储至第二存储单元中,同时产生CPU中断。本实施例中,芯片通过DMA描述符将出错的TCAM存储器地址存储至第二存储单元中。DMA描述符用于指向内存中某一存储区域,通过其可以将数据存储至该存储区域中。本实施例中,DMA控制器指向第二存储单元中某一存储区域。
最后,CPU接收中断并通过DMA控制器获取内存中出错的TCAM存储器地址对应的数据,并将该数据重新写入TCAM存储器中。
具体的,结合图3所示,CPU接收中断后通过DMA描述符获取第二存储单元中出错的TCAM存储器地址,并进一步根据出错的TCAM存储器地址查找第一存储单元中的数据,获取与该出错的TCAM存储器地址相对应的数据,并将该数据重新写入TCAM存储器中。
与现有技术相比,只需向DMA控制器发送指令,DMA处理数据的传送,DMA控制器不过分依赖CPU,减轻了CPU资源占有率。
如图5所示,一种芯片内TCAM存储器的纠错系统,包括数据备份单元、数据匹配单元,以及数据恢复单元。其中,数据备份单元用于在CPU将数据写入TCAM存储器时备份数据至内存中;数据匹配单元,所述数据匹配单元设于芯片内,其通过DMA控制器读取内存中的数据并与TCAM存储器中的数据相匹配,并将出错的TCAM存储器地址通过DMA控制器存储至内存中同时产生CPU中断;数据恢复单元用于在CPU接收中断时通过DMA控制器获取所述出错的TCAM存储器地址对应的TCAM存储器数据,并将其重新写入至TCAM存储器中。
具体的,芯片为设有TCAM存储器的芯片,芯片至少可以选自ASIC(ApplicationSpecific Integrated Circuits,专用集成电路)芯片、FPGA(Field-Programmable GateArray,现场可编程门阵列)芯片、NP(Network Processor,网络处理器)芯片中的一种。进一步地,本实施例中,内存设有两个存储单元分别用于存储备份的TCAM存储器数据和出错的TCAM存储器地址,即一个是用于存储备份数据的第一存储单元,一个是用于存储出错的TCAM存储器地址的第二存储单元。CPU将数据写入TCAM存储器时,数据备份单元将该数据备份至第一存储单元中。
进一步地,CPU配置数据匹配单元进行数据匹配的时间,同时配置DMA描述符至数据匹配单元中。工作时,数据匹配单元根据CPU配置的时间,定时读取TCAM存储器中的数据,同时通过DMA控制器读取第一存储单元中的数据,并将两个数据进行匹配,若不匹配,则通过DMA描述符将出错的TACM存储器地址通过DMA控制器存储至第二存储单元中,同时产生CPU中断。CPU产生中断后,数据恢复单元通过DMA描述符获取第二存储单元中出错的TCAM存储器地址,并进一步根据出错的TCAM存储器地址查找第一存储单元中的备份的数据,获取与该出错的TCAM存储器地址相对应的数据,并将该数据重新写入TCAM存储器中。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。

Claims (10)

1.一种芯片内TCAM存储器的纠错方法,其特征在于,包括如下步骤:
S1,CPU将数据写入TCAM存储器中,并备份数据至内存中;
S2,芯片通过DMA控制器读取内存中的数据并与TCAM存储器中的数据进行匹配,若不匹配,则将出错的TCAM存储器地址通过DMA控制器存储至内存中并产生CPU中断;
S3,CPU接收中断并通过DMA控制器获取内存中出错的TCAM存储器地址对应的数据,并将该数据重新写入TCAM存储器中。
2.根据权利要求1所述的方法,其特征在于,在步骤S2中,所述芯片通过DMA描述符将出错的TCAM存储器地址存储至内存中。
3.根据权利要求2所述的方法,其特征在于,在步骤S3中,所述CPU通过DMA描述符获取内存中出错的TCAM存储器地址存储。
4.根据权利要求1所述的方法,其特征在于,所述芯片至少可选自ASIC芯片、FPGA芯片、NP芯片中的一种。
5.根据权利要求1所述的方法,其特征在于,所述内存中设有第一存储单元和第二存储单元,所述第一存储单元用于存储备份数据,所述第二存储单元用于存储出错的TCAM存储器地址。
6.一种芯片内TCAM存储器的纠错系统,其特征在于,包括
数据备份单元,所述数据备份单元用于在CPU将数据写入TCAM存储器时将数据备份至内存中;
数据匹配单元,所述数据匹配单元设于芯片内,用于通过DMA控制器读取内存中的数据并与TCAM存储器中的数据进行匹配,并将出错的TCAM存储器地址通过DMA控制器存储至内存中同时产生CPU中断;
数据恢复单元,所述数据恢复单元用于在CPU接收中断时通过DMA控制器获取出错的TCAM存储器地址对应的TCAM数据,并将其重新写入TCAM存储器中。
7.根据权利要求6所述的系统,其特征在于,所述数据匹配单元通过DMA描述符将出错的TCAM存储器地址存储至内存中。
8.根据权利要求7所述的系统,其特征在于,所述数据恢复单元通过DMA描述符获取内存中出错的TCAM存储器地址存储。
9.根据权利要求6所述的系统,其特征在于,所述芯片至少可选自ASIC芯片、FPGA芯片、NP芯片中的一种。
10.根据权利要求6所述的系统,其特征在于,所述内存中设有第一存储单元和第二存储单元,所述第一存储单元用于存储备份数据,所述第二存储单元用于存储出错的TCAM存储器地址数据。
CN201810117755.8A 2018-02-06 2018-02-06 一种芯片内tcam存储器的纠错方法及系统 Withdrawn CN108363638A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810117755.8A CN108363638A (zh) 2018-02-06 2018-02-06 一种芯片内tcam存储器的纠错方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810117755.8A CN108363638A (zh) 2018-02-06 2018-02-06 一种芯片内tcam存储器的纠错方法及系统

Publications (1)

Publication Number Publication Date
CN108363638A true CN108363638A (zh) 2018-08-03

Family

ID=63004562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810117755.8A Withdrawn CN108363638A (zh) 2018-02-06 2018-02-06 一种芯片内tcam存储器的纠错方法及系统

Country Status (1)

Country Link
CN (1) CN108363638A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112328526A (zh) * 2020-11-25 2021-02-05 盛科网络(苏州)有限公司 Io操作方法和装置
WO2022057933A1 (zh) * 2020-09-21 2022-03-24 华为技术有限公司 一种运行应用程序的方法、装置及计算机设备
US11630600B2 (en) 2020-02-03 2023-04-18 Realtek Semiconductor Corporation Device and method for checking register data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540521A (zh) * 2003-10-28 2004-10-27 港湾网络有限公司 基于bcm1250的转发软件系统的方法
CN105791126A (zh) * 2014-12-26 2016-07-20 中兴通讯股份有限公司 一种三态内容可寻址存储器tcam查表方法及装置
CN105786733A (zh) * 2014-12-26 2016-07-20 中兴通讯股份有限公司 一种写入tcam条目的方法及装置
US20160284425A1 (en) * 2015-03-23 2016-09-29 Broadcom Corporation Ternary Content Addressable Memory Scan-Engine
CN106648968A (zh) * 2016-10-19 2017-05-10 盛科网络(苏州)有限公司 一种芯片出现ecc无法纠错时的数据恢复的方法和装置
CN107526650A (zh) * 2017-09-07 2017-12-29 郑州云海信息技术有限公司 一种tcam错误扫描与修复的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540521A (zh) * 2003-10-28 2004-10-27 港湾网络有限公司 基于bcm1250的转发软件系统的方法
CN105791126A (zh) * 2014-12-26 2016-07-20 中兴通讯股份有限公司 一种三态内容可寻址存储器tcam查表方法及装置
CN105786733A (zh) * 2014-12-26 2016-07-20 中兴通讯股份有限公司 一种写入tcam条目的方法及装置
US20160284425A1 (en) * 2015-03-23 2016-09-29 Broadcom Corporation Ternary Content Addressable Memory Scan-Engine
CN106648968A (zh) * 2016-10-19 2017-05-10 盛科网络(苏州)有限公司 一种芯片出现ecc无法纠错时的数据恢复的方法和装置
CN107526650A (zh) * 2017-09-07 2017-12-29 郑州云海信息技术有限公司 一种tcam错误扫描与修复的方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11630600B2 (en) 2020-02-03 2023-04-18 Realtek Semiconductor Corporation Device and method for checking register data
WO2022057933A1 (zh) * 2020-09-21 2022-03-24 华为技术有限公司 一种运行应用程序的方法、装置及计算机设备
CN112328526A (zh) * 2020-11-25 2021-02-05 盛科网络(苏州)有限公司 Io操作方法和装置
WO2022111482A1 (zh) * 2020-11-25 2022-06-02 苏州盛科通信股份有限公司 Io操作方法和装置

Similar Documents

Publication Publication Date Title
US7526709B2 (en) Error detection and correction in a CAM
CN104572517B (zh) 提供被请求数据的方法、控制器以及计算机系统
US11636014B2 (en) Memory system and data processing system including the same
US8275928B2 (en) Memory module and method for performing wear-leveling of memory module using remapping, link, and spare area tables
CN108363638A (zh) 一种芯片内tcam存储器的纠错方法及系统
US3917933A (en) Error logging in LSI memory storage units using FIFO memory of LSI shift registers
CN108701081A (zh) 用于同时存取非易失性存储器的多个分区的设备和方法
WO2015142806A1 (en) Memory mapping
CN106776359B (zh) 一种NAND Flash坏块管理方法及系统
US20080049522A1 (en) Content addressable memory entry coding for error detection and correction
CN108846749A (zh) 一种基于区块链技术的分片化的交易执行系统及方法
CN104111870A (zh) 一种中断处理装置及中断处理方法
US8176388B1 (en) System and method for soft error scrubbing
US11586384B2 (en) Overhead reduction in data transfer protocol for data storage devices
US7428672B2 (en) Apparatus and methods for testing memory devices
WO2015116133A2 (en) Remapping memory locations in a memory array
US6947301B2 (en) Content addressable memory (CAM) device employing a recirculating shift register for data storage
CN106302374A (zh) 一种用于提高表项访问带宽和原子性操作的装置及方法
US10866850B2 (en) Memory device for guaranteeing a mapping table and method thereof
US5396470A (en) Monolithically integrated data memory arrangement and method for the operation thereof
CN105095149A (zh) 一种片上系统参数的批处理方法和装置
CN112214161A (zh) 存储器系统及其操作方法
US11899985B1 (en) Virtual modules in TCAM
CN116166186A (zh) 一种基于双端口Sram的Cache控制器及工作方法
TWI768047B (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: 20180803

WW01 Invention patent application withdrawn after publication