CN114244772B - 一种更新复杂度为o(1)的tcam实现方法及系统 - Google Patents

一种更新复杂度为o(1)的tcam实现方法及系统 Download PDF

Info

Publication number
CN114244772B
CN114244772B CN202111641028.XA CN202111641028A CN114244772B CN 114244772 B CN114244772 B CN 114244772B CN 202111641028 A CN202111641028 A CN 202111641028A CN 114244772 B CN114244772 B CN 114244772B
Authority
CN
China
Prior art keywords
tcam
matching
address
item
information
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
Application number
CN202111641028.XA
Other languages
English (en)
Other versions
CN114244772A (zh
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.)
Xiamen University
Original Assignee
Xiamen University
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 Xiamen University filed Critical Xiamen University
Priority to CN202111641028.XA priority Critical patent/CN114244772B/zh
Publication of CN114244772A publication Critical patent/CN114244772A/zh
Application granted granted Critical
Publication of CN114244772B publication Critical patent/CN114244772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/748Address table lookup; Address filtering using longest matching prefix
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法及系统,应用于最长前缀匹配技术领域,其中,更新操作:确定待插入指令,并将待插入指令的掩码信息存储到与插入地址对应的掩码地址上;查找操作:获取待查找条目;将待查找的条目信息和掩码信息进行与运算的输出结果与更新后存储的条目信息经比较器进行比较,产生匹配向量;匹配向量与掩码信息相与得到不同前缀长度匹配项,筛选最长前缀对应的所述匹配项,并将地址作为输出。本发明降低了TCAM的功耗,不经过地址信息产生最长前缀项,不需要按照最长前缀规则来进行更新,所以可以在任意位置进行更新,更新时不再需要移动原有条目,更新延迟成为常数;降低了更新延迟和更新功耗。

Description

一种更新复杂度为O(1)的TCAM实现方法及系统
技术领域
本发明涉及最长前缀匹配技术领域,更具体的说是涉及一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法及系统。
背景技术
在高速通信领域中的最长前缀匹配应用需要能够快速进行不定长的查找,所以其实现方式一般基于硬件进行,其中CAM凭借其内容存取的优势可以实现快速查找,但是由于CAM只能存储“0”和“1”两种状态,所以采用CAM来实现最长前缀匹配应用需要多块CAM,造成系统面积和功耗较大。于是在CAM的基础上三态内容寻址存储器TCAM被提出,TCAM除了可以存储“0”,“1”以外还可以存储“x”状态,即通过掩码来实现“don’t care”状态,“x”状态下对任意输入都会产生匹配信号,使得其不仅可以进行CAM的精确查找,还可以进行任意长度的不定长查找。
目前TCAM大部分是基于芯片来进行使用,其灵活性较差。随着目前通过FPGA来实现的网络设备和应用逐渐增多,需要TCAM能够在FPGA进行实现。同时TCAM的快速查找建立在并行比较的基础上,每次查找TCAM中存储的内容都会参与比较,所以带来的功耗较大,同时TCAM中条目的更新由于需要满足最长前缀匹配规则,每次插入新的条目时需要将前缀长度大的条目放在低地址,所以在更新时可能需要移动TCAM中原有的所有条目,造成更新的复杂度、延迟和功耗较大。
因此,如何提供一种降低更新复杂度、延迟和功耗的适用于FPGA的更新复杂度为O(1)的TCAM实现方法及系统是本领域技术人员亟需解决的问题。
发明内容
有鉴于此,本发明提供了一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法及系统,降低了TCAM的功耗,所以可以在任意位置进行更新,更新时不再需要移动原有条目,更新延迟成为常数;降低了更新延迟和更新功耗。
为了实现上述目的,本发明提供如下技术方案:
一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法,具体步骤如下:
更新操作:确定待插入指令,并将所述待插入指令的掩码信息存储到与插入地址对应的掩码地址上;
查找操作:获取待查找条目;
将待查找条目信息和掩码信息进行与运算的输出结果与更新后存储的条目信息经比较器进行比较,产生匹配向量;
所述匹配向量与所述掩码信息相与得到不同前缀长度匹配项,筛选最长前缀对应的所述匹配项,并将地址作为输出。
优选的,在上述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法中,条目信息和掩码信息进行与运算具体步骤如下:
获得不同地址掩码信息,再分别与待查找条目相与,会产生与掩码数量相同个数的与门输出。
优选的,在上述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法中,产生匹配向量的具体步骤如下:
读取与门阵列的输出数据与TCAM中更新后存储的条目信息作为比较器的输入,所述输出数据中为1的位就是原TCAM地址中数据匹配,为0的位就是原TCAM地址数据不匹配,得到匹配向量。
优选的,在上述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法中,得到不同前缀长度匹配项的具体步骤如下:
根据匹配向量和掩码信息进行与运算结果,得到每个地址对应每种前缀长度是否存在匹配,再判断是否每种前缀长度在每个地址是否存在匹配项,即可得到。
一种适用于FPGA的更新复杂度为O(1)的TCAM实现系统,包括:TCAM模块、掩码模块、与门阵列、比较器阵列、前缀长度模块、优先编码器和LPM模块;
所述TCAM模块,用于存储条目信息;
所述掩码模块,用于存储与所述条目信息对应的掩码信息;
所述与门阵列,用于查找条目与掩码信息进行与运算;
比较器阵列,用于比较所述与门阵列的与运算结果和所述TCAM模块存储的条目信息,得到匹配向量;
所述前缀长度模块,用于匹配向量与所述掩码信息相与得到不同前缀长度匹配项;
所述优先编码器,得到最长前缀对应的所述匹配项;
所述LPM模块,用于通过判断每个地址是否同时满足:TCAM匹配,掩码信息等于最长前缀信息,来选出本次查找过程中,满足最长前缀匹配规则的匹配项,并将该地址作为输出。
优选的,在上述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现系统中,所述与门阵列,获得不同地址的掩码信息,分别与待查找条目相与,得到与掩码数量相同个数的输出信号。
优选的,在上述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现系统中,读取与门阵列的输出数据与TCAM中更新后存储的条目信息作为比较器的输入,所述比较器的输出数据中为1的位就是原TCAM地址中数据匹配,为0的位就是原TCAM地址数据不匹配,得到匹配向量。
优选的,在上述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现系统中,所述前缀长度模块,根据条目信息和掩码信息进行与运算结果,得到每个地址对应每种前缀长度是否存在匹配,再判断是否每种前缀长度在每个地址是否存在匹配项,即可得到。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法及系统,所提出的实现方法适合于FPGA进行实现,且实现的TCAM在更新时不再需要按照最长前缀长度规则进行,这意味着新条目的更新可以在TCAM中的任意位置,每次更新TCAM中原有的条目都无需移动,使得TCAM的更新复杂度变为O(1),同时减少了由于移动条目给系统带来的功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明的方法流程图;
图2(a)为本发明的TCAM模块内存储的条目示意图;
图2(b)为本发明的掩码模块内存储的与图2(a)对应的掩码信息示意图;
图3(a)为本发明的更新操作TCAM模块内存储的条目示意图;
图3(b)为本发明的更新操作掩码模块内存储的与图3(a)对应的掩码信息示意图;
图4为本发明的具体实施例中方法流程图;
图5为本发明的系统结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法,如图1所示,其中,更新过程:更新时可以在TCAM模块中的任意位置直接将新条目进行插入,除此之外,需要新增的操作时同时将该条目的掩码信息存入与TCAM模块插入地址相同的掩码模块地址中。
查找过程:查找时首先从TCAM模块和掩码模块中并行读出所有数据,将掩码模块的掩码信息以及待查找条目数据送入与门阵列,将结果输出给比较器阵列,比较器将计算结果与TCAM中的条目数据进行比较产生匹配向量。此时由于TCAM模块中的条目没有按照最长前缀匹配规则来进行更新,所以并不是最低地址的匹配项就是满足最长前缀匹配的匹配项。
本方法先将TCAM中的匹配情况以及掩码模块的掩码信息送入前缀长度模块,前缀长度模块根据TCAM模块的匹配情况产生不同前缀长度的匹配情况,即前缀长度为X的条目是否在本次查找过程中具有匹配项,之后将所有前缀长度是否在本次查找中具有匹配项的信息送入优先编码器,优先编码器可以根据不同前缀长度的匹配信息选出本次查找过程中匹配项的最大前缀长度。最后将TCAM的匹配结果、掩码模块中不同地址的掩码信息以及优先编码器产生的最长前缀信息送入LPM模块,LPM模块通过判断每个地址是否同时满足:
1.TCAM匹配;
2.掩码信息等于最长前缀信息;
来选出本次查找过程中,满足最长前缀匹配规则的匹配项,并将该地址作为输出,即可完成一次查找。
为了进一步优化上述技术方案,将掩码模块的掩码信息以及待查找条目数据送入与门阵列,首先会获得不同地址的TCAM中数据的匹配情况,例如TCAM中可以存储128条规则,则对应有128bit匹配寄存器,对应匹配成功的位为1,再与掩码信息相与,会产生n(n为掩码长度的个数)个信号,例如当掩码信息为10的地址匹配,则对应的pri_index_10会拉高,即pri_index_10=(match==1&&mask==10)?1:0;
为了进一步优化上述技术方案,比较器将计算结果与TCAM中的条目数据进行比较产生匹配向量,例如查找的内容为100,则读取与门阵列的输出数据与TCAM更新后存储的条目信息作为输入数据,比较器的输出数据中为1的位就是原TCAM地址中数据匹配,为0的位就是原TCAM地址数据不匹配。
为了进一步优化上述技术方案,得到具有匹配项的前缀长度具体步骤:得到每个地址对应每种前缀长度是否存在匹配,再判断是否每种前缀长度在每个地址是否存在匹配项,即可得到。例如:
If(pri_index_10[127:0]==0);
前缀长度为10的不存在匹配项;
Else;
前缀长度为10的存在匹配项。
具体地,以图2(a)-(b)为例,
假设TCAM模块中原有的条目为:
1010101*
10101010
10101***
101010**
101011**
则此时对应的TCAM模块和掩码模块中存储的内容就为图2(a)-(b)所示;如图4所示,当执行更新操作时,例如更新条目为10101011,此时可以直接在空白高地址插入得到如图3(a)-(b);而在执行查找过程时,假设查找数据为10101010,此时首先读取TCAM模块和掩码模块,经过与门阵列和比较器模块后得到产生的匹配信息为001111,将该信息送入前缀长度模块后得到具有匹配项的前缀长度有6,5,8,7,通过优先编码器选出本次查找的最长前缀匹配项的前缀长度为8。之后将匹配信息001111,前缀长度6,5,8,7以及最长前缀长度8送入LPM模块,得到满足最长前缀匹配规则的匹配项地址为1,前缀长度为8,匹配项为10101010,之后将该地址作为得到的Index输出。
本发明的另一实施例公开了一种适用于FPGA的更新复杂度为O(1)的TCAM实现系统,如图5所示,包括:TCAM模块、掩码模块、与门阵列、比较器阵列、前缀长度模块、优先编码器和LPM模块;
TCAM模块,用于存储条目信息;
掩码模块,用于存储与条目信息对应的掩码信息;
与门阵列,用于查找条目与掩码信息进行与运算;
比较器阵列,用于比较与门阵列的与运算结果和TCAM模块存储的条目信息,得到匹配向量;
前缀长度模块,用于匹配向量与掩码信息相与得到不同前缀长度匹配项;
优先编码器,得到最长前缀对应的匹配项;
LPM模块,用于通过判断每个地址是否同时满足:TCAM匹配,掩码信息等于最长前缀信息,来选出本次查找过程中,满足最长前缀匹配规则的匹配项,并将该地址作为输出。
为了进一步优化上述技术方案,与门阵列,获得不同地址的掩码信息,分别与待查找条目相与,得到与掩码数量相同个数的输出信号。
为了进一步优化上述技术方案,比较器,读取与门阵列的输出数据与TCAM更新后存储的条目信息作为输入数据,比较器的输出数据中为1的位就是原TCAM地址中数据匹配,为0的位就是原TCAM地址数据不匹配,得到匹配向量。
为了进一步优化上述技术方案,前缀长度模块,根据条目信息和掩码信息进行与运算结果,得到每个地址对应每种前缀长度是否存在匹配,再判断是否每种前缀长度在每个地址是否存在匹配项,即可得到。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法,其特征在于,具体步骤如下:
更新操作:确定待插入指令,并将所述待插入指令的掩码信息存储到与插入地址对应的掩码地址上,所述更新操作过程:更新时在TCAM模块中的任意位置直接将新条目进行插入,除此之外,需要新增操作时同时将该条目的掩码信息存入与TCAM模块插入地址相同的掩码模块地址中;
查找操作:获取待查找条目;
将待查找条目信息和掩码信息进行与运算的输出结果与更新后存储的条目信息经比较器进行比较,产生匹配向量;
所述匹配向量与所述掩码信息相与得到不同前缀长度匹配项,筛选最长前缀对应的所述匹配项,并将地址作为输出,得到不同前缀长度匹配项的具体步骤如下:
根据条目信息和掩码信息进行与运算结果,得到每个地址对应每种前缀长度是否存在匹配,再判断是否每种前缀长度在每个地址是否存在匹配项,即可得到。
2.根据权利要求1所述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法,其特征在于,待查找条目信息和掩码信息进行与运算具体步骤如下:
获得不同地址的掩码信息,分别与待查找条目作为与门阵列的输入,产生与掩码数量相同个数的与门输出。
3.根据权利要求1所述的一种适用于FPGA的更新复杂度为O(1)的TCAM实现方法,其特征在于,产生匹配向量的具体步骤如下:
读取匹配信息,通过将更新后存储的条目与与门阵列的输出作为比较器的输入,比较器输出数据中为1的位就是原TCAM地址中数据匹配,为0的位就是原TCAM地址数据不匹配,得到匹配向量。
4.一种适用于FPGA的更新复杂度为O(1)的TCAM实现系统,其特征在于,包括:TCAM模块、掩码模块、与门阵列、比较器阵列、前缀长度模块、优先编码器和LPM模块;
所述TCAM模块,用于更新时在任意位置直接将新条目进行插入并存储条目信息;
所述掩码模块,用于存储与所述条目信息对应的掩码信息且需要新增操作时同时将该条目的掩码信息存入与TCAM模块插入地址相同的掩码模块地址中;
所述与门阵列,用于查找条目与掩码信息进行与运算;
比较器阵列,用于比较所述与门阵列的与运算结果和所述TCAM模块存储的条目信息,得到匹配向量;
所述前缀长度模块,用于匹配向量与所述掩码信息相与得到不同前缀长度匹配项,根据条目信息和掩码信息进行与运算结果,得到每个地址对应每种前缀长度是否存在匹配,再判断是否每种前缀长度在每个地址是否存在匹配项,即可得到;
所述优先编码器,得到最长前缀对应的所述匹配项;
所述LPM模块,用于通过判断每个地址是否同时满足:TCAM匹配,掩码信息等于最长前缀信息,来选出本次查找过程中,满足最长前缀匹配规则的匹配项,并将该地址作为输出。
5.根据权利要求4所述的一种适用于FPGA的更新复杂度为0(1)的TCAM实现系统,其特征在于,所述与门阵列,获得不同地址的掩码信息,分别与待查找条目相与,得到与掩码数量相同个数的输出。
6.根据权利要求4所述的一种适用于FPGA的更新复杂度为0(1)的TCAM实现系统,其特征在于,所述比较器,读取与门阵列的输出数据与TCAM中更新后存储的条目信息作为输入数据,比较器的输出数据中为1的位就是原TCAM地址中数据匹配,为0的位就是原TCAM地址数据不匹配,得到匹配向量。
CN202111641028.XA 2021-12-29 2021-12-29 一种更新复杂度为o(1)的tcam实现方法及系统 Active CN114244772B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111641028.XA CN114244772B (zh) 2021-12-29 2021-12-29 一种更新复杂度为o(1)的tcam实现方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111641028.XA CN114244772B (zh) 2021-12-29 2021-12-29 一种更新复杂度为o(1)的tcam实现方法及系统

Publications (2)

Publication Number Publication Date
CN114244772A CN114244772A (zh) 2022-03-25
CN114244772B true CN114244772B (zh) 2023-05-30

Family

ID=80744341

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111641028.XA Active CN114244772B (zh) 2021-12-29 2021-12-29 一种更新复杂度为o(1)的tcam实现方法及系统

Country Status (1)

Country Link
CN (1) CN114244772B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159658A (zh) * 2007-11-02 2008-04-09 华为技术有限公司 虚拟私用网路由查找的方法和装置
CN101350771A (zh) * 2008-07-07 2009-01-21 中国人民解放军国防科学技术大学 三态内容可寻址存储器条目免排序存储方法及其系统
CN109981464A (zh) * 2019-02-28 2019-07-05 中国人民解放军陆军工程大学 一种在fpga中实现的tcam电路结构及其匹配方法
CN112165334A (zh) * 2020-09-16 2021-01-01 深圳航天科技创新研究院 一种基于fpga的多元ldpc高速译码器及译码方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100481820C (zh) * 2006-12-18 2009-04-22 杭州华三通信技术有限公司 Tcam路由表查找方法及tcam路由表查找装置
US8930675B2 (en) * 2012-11-13 2015-01-06 Netronome Systems, Incorporated Transactional memory that performs a TCAM 32-bit lookup operation
CN107222401B (zh) * 2017-05-05 2020-07-24 大连理工大学 一种基于tcam的路由查找系统及其方法
US10397115B1 (en) * 2018-04-09 2019-08-27 Cisco Technology, Inc. Longest prefix matching providing packet processing and/or memory efficiencies in processing of packets
US11467899B2 (en) * 2018-04-16 2022-10-11 Cisco Technology, Inc. Efficient content-addressable memory lookup result integrity checking and correcting operations including for protecting the accuracy of packet processing operations
US11502957B2 (en) * 2020-05-14 2022-11-15 Mellanox Technologies, Ltd. Avoiding markers for longest prefix match based on binary search tree algorithm

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101159658A (zh) * 2007-11-02 2008-04-09 华为技术有限公司 虚拟私用网路由查找的方法和装置
CN101350771A (zh) * 2008-07-07 2009-01-21 中国人民解放军国防科学技术大学 三态内容可寻址存储器条目免排序存储方法及其系统
CN109981464A (zh) * 2019-02-28 2019-07-05 中国人民解放军陆军工程大学 一种在fpga中实现的tcam电路结构及其匹配方法
CN112165334A (zh) * 2020-09-16 2021-01-01 深圳航天科技创新研究院 一种基于fpga的多元ldpc高速译码器及译码方法

Also Published As

Publication number Publication date
CN114244772A (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
US7689530B1 (en) DFA sequential matching of regular expression with divergent states
US7308446B1 (en) Methods and apparatus for regular expression matching
CN107800631B (zh) 使用ram中的散列表的tcam规则的有效匹配的方法和装置
US6289013B1 (en) Packet filter method and apparatus employing reduced memory
US6633953B2 (en) Range content-addressable memory
US8295286B2 (en) Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware
US6161144A (en) Network switching device with concurrent key lookups
US6871262B1 (en) Method and apparatus for matching a string with multiple lookups using a single associative memory
US7908283B2 (en) Finding superlatives in an unordered list
US20050021752A1 (en) Reverse path forwarding protection of packets using automated population of access control lists based on a forwarding information base
US20040254909A1 (en) Programming routes and access control lists in comparison tree data structures and their use such as in performing lookup operations
US6490279B1 (en) Fast data base research and learning apparatus
WO2003044671A1 (en) Ram-based range content addressable memory
US11218574B2 (en) Directed graph traversal using content-addressable memory
US8527488B1 (en) Negative regular expression search operations
JP3881663B2 (ja) フィールドレベルツリーを用いたパケット分類装置及び方法
CN113806403B (zh) 一种在智能网卡/dpu内降低查找匹配逻辑资源的方法
CN111988231B (zh) 一种掩码五元组规则匹配的方法及装置
Yang et al. Fast OpenFlow table lookup with fast update
US20030163442A1 (en) FFS search and edit pipline separation
US4897785A (en) Search system for locating values in a table using address compare circuit
CN114244772B (zh) 一种更新复杂度为o(1)的tcam实现方法及系统
US7299317B1 (en) Assigning prefixes to associative memory classes based on a value of a last bit of each prefix and their use including but not limited to locating a prefix and for maintaining a Patricia tree data structure
CN112818185A (zh) 一种基于sram的最长前缀匹配硬件系统查找的方法
US20130163595A1 (en) Packet classification apparatus and method for classifying packet thereof

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