CN108363638A - 一种芯片内tcam存储器的纠错方法及系统 - Google Patents
一种芯片内tcam存储器的纠错方法及系统 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/02—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
- G11C11/16—Digital 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/165—Auxiliary circuits
- G11C11/1675—Writing or programming circuits or methods
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection 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(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存储器地址数据。
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)
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)
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错误扫描与修复的方法 |
-
2018
- 2018-02-06 CN CN201810117755.8A patent/CN108363638A/zh not_active Withdrawn
Patent Citations (6)
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)
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 |