一种芯片内TCAM存储器的纠错方法及系统技术方案

技术编号:18591679 阅读:24 留言:0更新日期:2018-08-04 19:59
本发明专利技术揭示了一种芯片内TCAM存储器的纠错方法及系统,方法包括CPU将数据写入TCAM存储器中,并备份数据至内存中;芯片通过DMA控制器读取内存中的数据并与TCAM存储器中的数据相匹配,若不匹配,则将出错的TCAM存储器地址通过DMA控制器存储至内存中并产生CPU中断;CPU接收中断并通过DMA控制器获取内存中出错的TCAM存储器地址对应的数据,并将该数据重新写入TCAM存储器中。本发明专利技术通过DMA控制器进行TCAM存储器的纠错,节省了CPU资源,提高了纠错效率。

An error correction method and system for TCAM memory in chip

The invention discloses an error correction method and system for TCAM memory in a chip. The method includes CPU writing data into the TCAM memory and back-up data to memory; the chip reads the data in memory through the DMA controller and matches the data in the TCAM memory. If it does not match, the error of the TCAM memory address is passed through the D. The MA controller is stored in memory and produces CPU interrupts; CPU receives interrupts and obtains data corresponding to the TCAM memory address that has gone wrong in memory through the DMA controller and rewrites the data to the TCAM memory. The invention realizes error correction of TCAM memory through DMA controller, saves CPU resources and improves error correction efficiency.

【技术实现步骤摘要】
一种芯片内TCAM存储器的纠错方法及系统
本专利技术涉及一种网络通信
,尤其是涉及一种芯片内TCAM存储器的纠错方法及系统。
技术介绍
TCAM(Ternarycontentaddressablememory,三态内容寻址存储器),能够满足高速实时通信的极速查找需求,查找速度快,每个周期即可完成一次查找,常用于快速查找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(ApplicationSpecificIntegratedCircuits,专用集成电路)芯片、FPGA(Field-ProgrammableGateArray,现场可编程门阵列)芯片、NP本文档来自技高网...

【技术保护点】
1.一种芯片内TCAM存储器的纠错方法,其特征在于,包括如下步骤:S1,CPU将数据写入TCAM存储器中,并备份数据至内存中;S2,芯片通过DMA控制器读取内存中的数据并与TCAM存储器中的数据进行匹配,若不匹配,则将出错的TCAM存储器地址通过DMA控制器存储至内存中并产生CPU中断;S3,CPU接收中断并通过DMA控制器获取内存中出错的TCAM存储器地址对应的数据,并将该数据重新写入TCAM存储器中。

【技术特征摘要】
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存储器的纠...

【专利技术属性】
技术研发人员:徐海青何志川赵茂聪李磊
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏,32

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

1