CN106656817B - 降低tcam由读写引起查找冲突的方法 - Google Patents
降低tcam由读写引起查找冲突的方法 Download PDFInfo
- Publication number
- CN106656817B CN106656817B CN201611247592.2A CN201611247592A CN106656817B CN 106656817 B CN106656817 B CN 106656817B CN 201611247592 A CN201611247592 A CN 201611247592A CN 106656817 B CN106656817 B CN 106656817B
- Authority
- CN
- China
- Prior art keywords
- tcam
- conflict
- module
- cpu operation
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种降低TCAM因读写引起查找冲突的方法,通过冲突解决模块同步调节TCAM查找模块发送查找数据的请求与CPU操作模块下发配置请求的时序,在CPU操作模块在下发配置前向冲突解决模块发送操作请求信号,冲突解决模块通知TCAM查找模块连续两个时钟周期停止发送查找数据,当获得TCAM查找模块的暂停响应后,经一定延时后,冲突解决模块通知CPU操作模块允许写操作,CPU操作模块连续两个时钟周期对TCAM进行配置。采用本发明公开的方法,可解决CPU对TCAM进行写操作与TCAM查找的同步而引起冲突并且产生误匹配的问题,且本发明实现简单,所用资源较少,降低了芯片的设计成本和生产成本。
Description
技术领域
本发明涉及网络芯片设计方法及TCAM查找方法,具体涉及一种降低TCAM因读写引起查找冲突的方法。
背景技术
TCAM中每个bit位有三种状态,“0”,“1”和“不关心”,正因为有这3种状态,TCAM既能进行精确匹配,也能进行模糊匹配。TCAM通过掩码来实现这三种状态,每个bit都包含Mask和Value,当Mask为1,表示必须比较并匹配;当Mask为0,表示不关心该位的值,即总是匹配。由于每个bit包含了Mask和Value,因此CPU在配置TCAM的时候,需要配置两次,一次配置Value,一次配置Mask。在配置的同时,如果有数据查找请求,就会发生冲突;而在两次配置的中间,如果有数据查找请求,则可能会产生误匹配。如图1所示:TCAM里面的一组原始数据是匹配数据10**(*表示不关心),假若要修改里面的值,希望匹配数据0*1*,因此CPU会修改Mask和Value的值,分别修改为1010和0010。但是,在已修改Mask值而还未修改Value值的时候,会产生一个中间值,变成匹配数据1*1*,而此时恰好有个查找数据1010被送往TCAM进行查找,则被匹配,这样就产生了误匹配。
图2是芯片在处理CPU配置和查找数据冲突时产生误匹配的示意图,从图中可以看出,一旦查找数据从TCAM查找模块出来后在流水线上就停不下来,会一直送往TCAM进行查找,这个时候如果CPU要插入配置动作,那么只能抽空插入,从而会导致先后配置Value和Mask。而在这两次配置中间,如果有查找数据进入TCAM,则会出现图1所示的误匹配结果,从而导致查找错误。
现有技术中为解决上述问题,在查找数据一侧添加一个FIFO(First Input FirstOutput,先入先出队列),其方案示意图如图3所示,FIFO在CPU下发配置的时候等待两个时钟周期,保证将Value和Mask连续写入TCAM,中间不会插入数据查找请求。但是在网络芯片中,查找TCAM的ACL查找数据基本都是在640bit的宽度以上,如果流水线很长的话,那么该FIFO可能会很深,从而导致耗费大量资源,进而影响芯片的面积和价格。
发明内容
针对现有技术的不足,本发明的主要目的在于:提出一种降低TCAM因读写引起查找冲突的方法,解决TCAM查找误匹配问题,同时减少芯片设计面积和降低芯片成本。
为实现前述目的,本发明公开了一种降低TCAM因读写引起查找冲突的方法,通过冲突解决模块同步调节TCAM查找模块发送查找数据的请求与CPU操作模块下发配置请求的时序,具体包括:
CPU操作模块在下发配置前向冲突解决模块发送一CPU操作请求信号;
冲突解决模块收到所述CPU操作请求信号后,向TCAM查找模块发送一暂停请求信号;
TCAM查找模块收到所述暂停请求信号后,连续两个时钟周期停止发送查找数据,同时向冲突解决模块发送暂停响应信号;
冲突解决模块收到所述暂停响应信号后,计数器开始计数,当计数值达到阈值后,冲突解决模块向CPU操作模块发送一允许CPU操作的响应信号,同时将所述计数器清零;
CPU操作模块收到所述允许CPU操作的响应信号后,连续两个时钟周期对TCAM进行配置。
优选地,所述计数的方式为每经过一个时钟周期计数加1。
优选地,所述连续两个时钟周期对TCAM进行配置的方式为:第一个时钟周期将Value值写入TCAM,第二个时钟周期将Mask值写入TCAM;或
第一个时钟周期将Mask值写入TCAM,第二个时钟周期将Value值写入TCAM。
优选地,所述阈值根据查找数据的流水线延迟确定。
优选地,所述阈值的具体值为t0+t1+t2+t3+t4+1,其中:
t0为TCAM查找模块发送响应信号到停止发送数据的时间差;
t1为TCAM查找模块发送数据到TCAM接收到查找数据的时间差;
t2为冲突解决模块收到暂停响应信号到开始计数的时间差;
t3为冲突解决模块计数达到阈值到发送允许CPU操作的响应信号给CPU操作模块的时间差;
t4为CPU操作模块接收允许操作信号到CPU下发配置到TCAM的时间差。
与现有技术相比,本发明的优点在于:本发明公开的一种降低TCAM因读写引起查找冲突的方法,解决了CPU对TCAM进行写操作与TCAM查找的同步而引起冲突并且产生误匹配的问题,且本发明实现简单,所用资源较少,降低了芯片的设计成本和生产成本。
附图说明
图1是CPU配置TCAM引起查找数据误匹配的示意图;
图2是芯片处理CPU配置和查找数据冲突产生误匹配的示意图;
图3是现有技术中解决CPU配置和查找数据冲突产生误匹配的方案示意图;
图4是与本发明一实施例提出的降低TCAM因写操作引起查找冲突的方法示意图;
图5是与本发明一实施例提出的芯片处理CPU配置和查找数据的时序图。
具体实施方式
鉴于现有技术中的不足,本案发明人经长期研究和大量实践,得以提出本发明的技术方案。如下将对该技术方案、其实施过程及原理等作进一步的解释说明。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明通过同步调节TCAM查找模块送出查找数据的请求与CPU下发配置请求的时序来实现冲突解决,图4是与本发明一实施例提出的降低TCAM因写操作引起查找冲突的方法示意图,如图4所示,包括以下步骤:
①CPU操作模块在下发配置前向冲突解决模块发送一CPU操作请求信号;
②冲突解决模块收到CPU的操作请求信号后,向TCAM查找模块发送一暂停请求信号;
③TCAM查找模块收到暂停请求信号后,连续两个时钟周期停止发送查找数据,同时向冲突解决模块发送暂停响应信号;
④冲突解决模块收到暂停响应信号后,计数器开始计数,每经过一个时钟周期加1,当计数等于一个阈值后,冲突解决模块向CPU操作模块发送一允许CPU操作的响应信号,同时将计数器清零;
其中,阈值的具体值与查找数据的流水线延迟有关,其计算方式为:阈值=t0+t1+t2-t3-t4+1;
t0为TCAM查找模块发送响应信号到停止发送数据的时间差;
t1为TCAM查找模块发送数据到TCAM接收到查找数据的时间差;
t2为冲突解决模块收到暂停响应信号到开始计数的时间差;
t3为冲突解决模块计数达到阈值到发送允许CPU操作的响应信号给CPU操作模块的时间差;
t4为CPU操作模块接收允许操作信号到CPU下发配置到TCAM的时间差。
⑤CPU操作模块收到允许CPU操作的响应信号后,连续两个时钟周期对TCAM进行配置,即连续两个周期将Value和Mask值写入TCAM。
CPU对TCAM进行写操作的两个时钟周期内,也正是TCAM未收到查找数据,暂停数据查找操作的空闲时期,从而解决了因读写引起的查找冲突并避免了误匹配情况发生。其中,Value和Mask值写入TCAM的先后顺序任意。
下面通过一组时序图对本发明实施例所提出的方案作更进一步阐述,图5是与本发明一实施例提出的芯片处理CPU配置和查找数据的时序图,为了方便说明,省略或简化了部分模块的流水线延迟,其中t0=0,t1=0,t2=4,t3=1,t4=0,则计数器的阈值等于4。各操作对应的时钟周期如图5所示:
在时钟周期1中,CPU发送一个请求信号给冲突解决模块,冲突解决模块在时钟周期2发送暂停请求信号给TCAM查找模块;
TCAM查找模块在时钟周期6发送暂停响应信号给冲突解决模块,同时连续两个时钟周期停止发送查找数据(对应t0=0);
在时钟周期6,冲突解决模块收到暂停响应信号后,计数器开始计数(对应t1=0);
在时钟周期9,冲突解决模块的计数等于阈值4后,在时钟周期10发送允许CPU操作的响应信号给CPU操作模块(对应t3=1);
在时钟周期10、11,CPU操作模块连续两个时钟周期对TCAM进行写操作(对应t4=0),并且在该连续两个时钟周期,TCAM没有接收到查找数据(对应t2=4);
TCAM在时钟周期5,6,8,9,12以及13进行正常的查找操作,而在时钟周期10,CPU将Value值写入到TCAM,在时钟周期11,CPU将Mask值写入到TCAM。
通过上述实施例的时序图可见,本发明技术方案通过调节TCAM查找请求与CPU下发配置请求的时序,可有效地解决CPU对TCAM进行写操作与TCAM查找的同步操作而引起冲突并且产生误匹配的问题。并且本发明实现简单,仅使用少量资源即可解决相应的技术问题,相对于现有技术,降低了芯片的设计成本和生产成本。
应当理解,上述实施例仅为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (5)
1.一种降低TCAM因读写引起查找冲突的方法,其特征在于:
通过冲突解决模块同步调节TCAM查找模块发送查找数据的请求与CPU操作模块下发配置请求的时序,具体包括:
CPU操作模块在下发配置前向冲突解决模块发送一CPU操作请求信号;
冲突解决模块收到所述CPU操作请求信号后,向TCAM查找模块发送一暂停请求信号;
TCAM查找模块收到所述暂停请求信号后,连续两个时钟周期停止发送查找数据,同时向冲突解决模块发送暂停响应信号;
冲突解决模块收到所述暂停响应信号后,计数器开始计数,当计数值达到阈值后,冲突解决模块向CPU操作模块发送一允许CPU操作的响应信号,同时将所述计数器清零;
CPU操作模块收到所述允许CPU操作的响应信号后,连续两个时钟周期对TCAM进行配置。
2.根据权利要求1所述的降低TCAM因读写引起查找冲突的方法,其特征在于:所述计数的方式为每经过一个时钟周期计数加1。
3.根据权利要求1所述的降低TCAM因读写引起查找冲突的方法,其特征在于所述连续两个时钟周期对TCAM进行配置的方式为:第一个时钟周期将Value值写入TCAM,第二个时钟周期将Mask值写入TCAM;或
第一个时钟周期将Mask值写入TCAM,第二个时钟周期将Value值写入TCAM。
4.根据权利要求1所述的降低TCAM因读写引起查找冲突的方法,其特征在于:所述阈值根据查找数据的流水线延迟确定。
5.根据权利要求4所述的降低TCAM因读写引起查找冲突的方法,其特征在于:所述阈值的具体值为t0+t1+t2-t3-t4+1,其中:
t0为TCAM查找模块发送响应信号到停止发送数据的时间差;
t1为TCAM查找模块发送数据到TCAM接收到查找数据的时间差;
t2为冲突解决模块收到暂停响应信号到开始计数的时间差;
t3为冲突解决模块计数达到阈值到发送允许CPU操作的响应信号给CPU操作模块的时间差;
t4为CPU操作模块接收允许操作信号到CPU下发配置到TCAM的时间差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611247592.2A CN106656817B (zh) | 2016-12-29 | 2016-12-29 | 降低tcam由读写引起查找冲突的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611247592.2A CN106656817B (zh) | 2016-12-29 | 2016-12-29 | 降低tcam由读写引起查找冲突的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106656817A CN106656817A (zh) | 2017-05-10 |
CN106656817B true CN106656817B (zh) | 2019-12-03 |
Family
ID=58835892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611247592.2A Active CN106656817B (zh) | 2016-12-29 | 2016-12-29 | 降低tcam由读写引起查找冲突的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106656817B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110993005B (zh) * | 2019-12-11 | 2021-03-26 | 海光信息技术股份有限公司 | 电路结构、芯片、训练方法及训练装置 |
CN112667867B (zh) * | 2020-12-31 | 2022-05-10 | 北京卓讯科信技术有限公司 | 一种基于tcam特征码的匹配冲突检查方法和设备 |
CN115878863B (zh) * | 2022-12-01 | 2023-12-19 | 杭州菲数科技有限公司 | 数据查找方法及数据查找装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101303677B (zh) * | 2008-05-04 | 2010-06-02 | 华为技术有限公司 | 一种直接存储器访问控制方法、系统及控制器 |
US7945705B1 (en) * | 2004-05-25 | 2011-05-17 | Chelsio Communications, Inc. | Method for using a protocol language to avoid separate channels for control messages involving encapsulated payload data messages |
-
2016
- 2016-12-29 CN CN201611247592.2A patent/CN106656817B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7945705B1 (en) * | 2004-05-25 | 2011-05-17 | Chelsio Communications, Inc. | Method for using a protocol language to avoid separate channels for control messages involving encapsulated payload data messages |
CN101303677B (zh) * | 2008-05-04 | 2010-06-02 | 华为技术有限公司 | 一种直接存储器访问控制方法、系统及控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN106656817A (zh) | 2017-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10152446B2 (en) | Link-physical layer interface adapter | |
US4390969A (en) | Asynchronous data transmission system with state variable memory and handshaking protocol circuits | |
US9921768B2 (en) | Low power entry in a shared memory link | |
KR100737943B1 (ko) | 네트워크-온-칩 응답 신호 제어 장치 및 그 방법 | |
CN106656817B (zh) | 降低tcam由读写引起查找冲突的方法 | |
KR101574953B1 (ko) | 광 메모리 확장 아키텍처 | |
US6925549B2 (en) | Asynchronous pipeline control interface using tag values to control passing data through successive pipeline stages | |
US5768529A (en) | System and method for the synchronous transmission of data in a communication network utilizing a source clock signal to latch serial data into first registers and a handshake signal to latch parallel data into second registers | |
EP3842986A1 (en) | System and method for incremental topology synthesis of a network-on-chip | |
CN107112042B (zh) | 数据信号的边沿感知同步的设备、系统和介质 | |
CN102750257B (zh) | 基于访问信息调度的片上多核共享存储控制器 | |
CN105068951A (zh) | 一种具有非等时传输结构的片上系统总线 | |
CN104536924A (zh) | 面向板级高速传输总线的多通道延迟斜偏纠正方法及装置 | |
US20150139364A1 (en) | Method for detecting phase and phase detecting system | |
Meng et al. | Synthesis of Reo circuits from scenario-based interaction specifications | |
JP2001016234A (ja) | Canコントローラおよびcanコントローラを内蔵したワンチップ・コンピュータ | |
US20110161713A1 (en) | Command latency reduction and command bandwidth maintenance in a memory circuit | |
US7746724B2 (en) | Asynchronous data transmission | |
CN108694146B (zh) | 一种异步/同步接口电路 | |
Reese et al. | FA 18.4: a phase-tolerant 3.8 GB/s data-communication router for a multiprocessor supercomputer backplane | |
CN104834629A (zh) | 总线型的中央处理器 | |
CN111985174B (zh) | 一种rt锁存器及锁存方法 | |
US11226790B2 (en) | Arithmetic processing apparatus with delay-and-swap processing circuit | |
CN116627495A (zh) | 一种信息交互方法、系统、装置、设备及介质 | |
US6911854B2 (en) | Clock skew tolerant clocking scheme |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 215000 unit 13 / 16, 4th floor, building B, No.5 Xinghan street, Suzhou Industrial Park, Jiangsu Province Patentee after: Suzhou Shengke Communication Co.,Ltd. Address before: 215000 unit 13 / 16, floor 4, building B, No. 5, Xinghan street, Wuxi Industrial Park, Jiangsu Province Patentee before: CENTEC NETWORKS (SU ZHOU) Co.,Ltd. |