CN101866357A - 一种三态内容寻址存储器的表项更新方法及装置 - Google Patents
一种三态内容寻址存储器的表项更新方法及装置 Download PDFInfo
- Publication number
- CN101866357A CN101866357A CN 201010205047 CN201010205047A CN101866357A CN 101866357 A CN101866357 A CN 101866357A CN 201010205047 CN201010205047 CN 201010205047 CN 201010205047 A CN201010205047 A CN 201010205047A CN 101866357 A CN101866357 A CN 101866357A
- Authority
- CN
- China
- Prior art keywords
- tcam
- list item
- tcam list
- added
- tabulation
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C15/00—Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种三态内容寻址存储器的表项更新方法及装置,该方法包括:创建虚拟TCAM列表,虚拟TCAM列表各第一TCAM表项与硬件TCAM中各第二TCAM表项一一对应;根据预先指定的待更新的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项存储位置先后关系,在硬件TCAM的空闲资源中确定待更新的第一TCAM表项对应的待更新的第二TCAM表项的存储位置;基于确定出的存储位置,对待更新的第二TCAM表项进行更新操作。本发明使待更新的第二TCAM表项的存储位置尽可能地在硬件TCAM的空闲资源中选择,避免了更新硬件TCAM中第二TCAM表项带来的大量重写其他第二TCAM表项导致更新效率低的问题。
Description
技术领域
本发明涉及三态内容寻址存储器领域,尤其涉及一种三态内容寻址存储器的表项更新方法及装置。
背景技术
在网络设备中,由于三态内容寻址存储器(Ternary Content AddressableMemory,TCAM)具备的快速查找特性而被广泛应用,如用于快速路由查找、访问控制列表(Access Control List,ACL)查找、基于流的服务质量(Qualityof Service,QOS)、策略路由及各种安全技术。在网络设备中一般以报文的某些内容作为TCAM的查找输入,TCAM将该输入同时与所有表项比对,若找到一条完全匹配的表项,则执行与该表项绑定的动作(或丢弃该报文,或允许转发,或修改该报文的某些信息);若有多条表项与之完全匹配,则取最靠前的一条。
如应用于路由前缀查找中,则是取输入报文的目的IP地址作为内容输入TCAM中,查找相应的下一跳信息。其它应用也是类似过程,再如在ACL应用中,用户配置了:Permit ip host 192.168.1.1 Deny ip any any并绑定到端口,当端口接收到报文时,会提取报文的输入端口,协议类型字段和源IP地址作为内容输入TCAM查找,如果报文类型是IP,源IP等于192.168.1.1则会命中permit ip host 192.168.1.1这条对应的TCAM表项,并执行其permit的行为,即允许转发。否则其它报文都会被执行deny的行为,即丢弃。
TCAM不论是应用于快速路由查找,还是ACL查找等领域,TCAM的表项之间常常需要保持一定的先后顺序(或者说存在固定的优先级关系),并采用连续空间存储,TCAM表项会在设备的运行过程中,不断地被更新。
现有的TCAM表项的更新方法,当TCAM中已存在较多表项时,如图1所示,如果需要在表项3和表项4之间添加表项,如果表项3和表项4之间没有大小合适的连续硬件空间,则可能需要上下移动其他表项,一个表项的添加,可能带来其他大量表项的重写,现有TCAM表项更新方法更新效率较低。
发明内容
本发明提供一种三态内容寻址存储器的表项更新方法及装置,用以解决现有三态内容寻址存储器的表项更新效率较低的问题。
本发明实施例提供的一种三态内容寻址存储器的表项更新方法,包括:
创建虚拟三态内容寻址存储器TCAM列表,所述虚拟TCAM列表中各第一TCAM表项与硬件TCAM中存储的各第二TCAM表项一一对应;
根据预先指定的待更新的第一TCAM表项与所述虚拟TCAM列表中其他第一TCAM表项存储位置的先后关系,在硬件TCAM的空闲资源中确定出所述待更新的第一TCAM表项对应的待更新的第二TCAM表项的存储位置;
在硬件TCAM中,基于确定出的所述存储位置,对待更新的第二TCAM表项进行更新操作。
本发明实施例一种三态内容寻址存储器的表项更新装置,包括:
创建单元,用于创建虚拟三态内容寻址存储器TCAM列表,所述虚拟TCAM列表中各第一表项与硬件TCAM中存储的各第二TCAM表项一一对应;
存储位置确定单元,用于根据预先指定的待更新的第一TCAM表项与所述虚拟TCAM列表中其他第一TCAM表项存储位置的先后关系,在硬件TCAM的空闲资源中确定出所述待更新的第一TCAM表项对应的待更新的第二TCAM表项的存储位置;
更新操作单元,用于在硬件TCAM中,基于确定出的所述存储位置,对待更新的第二TCAM表项进行更新操作。
本发明实施例的有益效果包括:
本发明实施例提供的一种三态内容寻址存储器的表项更新方法及装置,利用了创建的虚拟TCAM列表中各第一TCAM表项与硬件TCAM中各第二TCAM表项的一一对应关系,根据预先指定的待更新的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项存储位置之间的先后关系,在硬件TCAM的空闲资源中确定该待更新的第一TCAM表项对应的待更新的第二TCAM表项的存储位置,在硬件TCAM中,基于确定出的存储位置,对待更新的第二TCAM表项进行相应的更新操作,本发明实施例使得待更新的第二TCAM表项的存储位置尽可能地在硬件TCAM中的空闲位置中选择,避免了现有技术直接对于硬件TCAM的第二TCAM表项进行更新操作时,由于硬件TCAM中的各第二TCAM表项常常采用连续的存储空间进行存放,为了保证待更新的第二TCAM表项与其他第二TCAM表项之间的先后排列关系,当待更新的第二TCAM表项发生位置冲突时,不得不大量移动相关的第二TCAM表项,导致大量第二TCAM表项重写引发的硬件TCAM表项更新效率较低的问题。
附图说明
图1为现有技术提供的三态内容寻址存储器的表项示意图;
图2为本发明实施例提供的三态内容寻址存储器的表项更新方法流程图;
图3为本发明实施例提供的确定出待添加的第一TCAM表项在硬件TCAM中的存储位置的方法的流程图;
图4为本发明实施例提供的待添加的第一TCAM表项与其他第一TCAM表项的数据内容的相关性判断的流程图;
图5为本发明实施例提供的三态内容寻址存储器的表项更新装置的结构示意图;
图6为本发明实施例提供的创建单元的结构示意图;
图7为本发明实施例提供的存储位置确定单元的结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的一种三态内容寻址存储器(TCAM)的表项更新方法及装置的具体实施方式进行详细地说明。
本发明实施例提供的TCAM的表项更新方法,利用软件实现的虚拟TCAM列表中虚拟表项与实体的TCAM(为了与虚拟TCAM列表相区分,以下称其为硬件TCAM)中表项的一一对应关系,通过对虚拟TCAM列表中虚拟表项执行一系列的操作,来实现对硬件TCAM中其对应的表项进行更新操作,以下为了描述简便起见,将虚拟TCAM列表中的虚拟表项称为第一TCAM表项,将硬件TCAM中的表项称为第二TCAM表项。
具体地,本发明实施例提供的TCAM的表项更新方法,如图2所示,包括下述步骤:
S201、创建虚拟TCAM列表,该虚拟TCAM列表中各第一TCAM表项与硬件TCAM中存储的各第二TCAM表项一一对应;
S202、根据预先指定的待更新的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项存储位置的先后关系,在硬件TCAM的空闲资源中确定出待更新的第一TCAM表项对应的待更新的第二TCAM表项的存储位置;
S203、在硬件TCAM中,基于确定出的该存储位置,对待更新的第二TCAM表项进行相应的更新操作。
下面对上述各步骤的具体实现过程进行详细地描述。
上述步骤S201中,创建一个链表作为虚拟TCAM列表,该链表中的每个数据节点就是第一TCAM表项,在该链表中的每个第一TCAM表项按照预定的先后顺序排列,并与硬件TCAM存储的各第二表项一一对应;
每个第一TCAM表项中的记录至少包括下述6项内容:
与该第一TCAM表项对应的第二表项的数据内容(用data表示);
该第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置(用tcamID表示);
该第一TCAM表项对应的第二TCAM表项在硬件TCAM中可任意移动的最小存储位置(用minID表示);
该第一TCAM表项对应的第二TCAM表项在硬件TCAM中可任意移动的最大存储位置(用maxID表示);
该第一TCAM表项的前置表项列表(用Prelist表示);
该第一TCAM表项的后置表项列表(用Poslist表示)。
在具体实施时,在上述记录的内容的基础上,每个第一TCAM表项还可以记录预先设置的、用于记录在minID和maxID之间空闲资源数量的空闲资源计数器的标识。
空闲资源计数器所记录的参数包括:
minID(该空闲资源计数器监控区域的上限);
maxID(该空闲资源计数器监控区域的上限);
referNum(该空闲资源计数器被引用的次数);
IdleNum(该空闲资源计数器监控区域内空闲的第二TCAM表项的数量)。
由于现有技术中,主要是添加和删除硬件TCAM中表项的操作,可能引起大量表项的重写,导致硬件TCAM更新效率较低的问题,本发明实施例提供的TCAM的表项更新方法也针对这两种更新的操作进行相应地改进,图1所示的S202和S203因为不同的更新操作会有不同的实现方式,下面分别针对添加表项和删除表项说明这两个步骤的实现方式。
对于在硬件TCAM中添加第二TCAM表项(以下称为待添加的第二TCAM表项)的操作来说,一般会预先指定该第二TCAM表项排在某个已有的第二TCAM表项之后,相应地,上述步骤S202中,如图3所示,需要对待添加的第二TCAM表项对应的待添加的第一TCAM表项进行下述操作:
S2021、在虚拟TCAM列表中,确定预先指定的待添加的第二TCAM表项对应的待添加的第一TCAM表项前一个第一TCAM表项的存储位置;
S2022、在确定出的存储位置之后***待添加的第一TCAM表项,并在待添加的第一TCAM表项中记录该待添加的第二TCAM表项的数据内容(data);
S2023、根据记录的数据内容与虚拟TCAM列表中其他第一TCAM表项的数据内容,确定与该待添加的第一TCAM表项相关的虚拟TCAM列表中其他第一TCAM表项;
S2024、将虚拟TCAM列表中排列在该待添加的第一TCAM表项之前与其相关的所有第一TCAM表项确定为其前置列表中的表项;
将虚拟TCAM列表中排列在所述待添加的第一TCAM表项之后与其相关的所有第一TCAM表项确定为其后置列表中的表项;
S2025、将该待添加的第一TCAM表项的前置列表中位置最靠后的第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置增加1,作为该待添加的第二TCAM表项在硬件TCAM中可任意移动的最小存储位置(minID);
将所述后置列表中位置最靠前的第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置减去1,作为该待添加的第二TCAM表项在硬件TCAM中可任意移动的最大存储位置(用maxID表示);
较佳地,在上述步骤S2025之后,可以通过预先设置的minID和maxID之间的空闲资源计数器判断当前硬件TCAM中是否有空闲资源,如果有,进一步执行下述步骤S2026。
S2026、根据步骤S2025得到的最小存储位置和最大存储位置,在硬件TCAM的空闲资源中确定该待添加的第二TCAM表项的存储位置。
本发明的发明人发现,现有硬件TCAM存储的第二TCAM表项中,必须保持严格的先后关系的表项之间是存在相关性的,对应地,步骤S2023中,在虚拟TCAM列表中,确定与待添加的第一TCAM表项相关的其他第一TCAM表项的过程,也就是确定与待添加的第一TCAM表项有严格先后顺序的第一TCAM表项的过程。
在本发明实施例中,第一种实施方式是在第一TCAM表项内容不涉及四层端口信息的前提下,确定待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项之间是否有相关性是通过待添加的第一TCAM表项与其他第一TCAM表项的数据内容的相关性来判断,具体做法如下:
将待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的数据内容分为规则的值和掩码;
现有技术中,每一个第二TCAM表项在硬件TCAM中都是以<规则的值(即地址的关键字)、掩码>序偶的形式存储,对于与硬件TCAM中的第二TCAM表项一一对应的第一TCAM表项来说,其记录的数据内容就是其对应的第二TCAM表项中包含的规则的值和掩码。
针对待添加的第一TCAM表项和虚拟TCAM列表中某一个已有的第一TCAM表项(其他第一TCAM表项)进行下列计算:(N1⊕N2)·M1·M2;
上式中:N1为待添加的第一TCAM表项的规则的值;
N2为该其他第一TCAM表项的规则的值;
M1为待添加的第一TCAM表项的掩码;
M2为该其他第一TCAM表项的掩码;
上述公式通过N1与N2之间进行的异或运算,然后再依次与M1和M2进行与运算,如果最终运算结果为零,则可以认为第一TCAM表项和该其他第一TCAM表项相关,否则,两者不相关。
上述公式(N1⊕N2)·M1·M2原理说明如下:N1与N2之间进行异或运算,得到参与计算的两个第一TCAM表项的规则间的差异部分,M1和M2进行与运算,得到参与计算的两个第一TCAM表项的公共掩码,将差异部分与公共掩码再进行与运算,如果结果为零,则表示参与计算的两个第一TCAM表项的规则之间的差异部分,总是与参与计算的某一个第一TCAM表项的规则不相关,换言之该差异部分总与参与计算的某一个第一TCAM表项的规则之间不存在交集,则判断参与计算的两个第一TCAM表项相关。
下面举个实例来说明上述公式的计算过程:
假设待添加的第一TCAM表项的规则的值和掩码分别为:192.168.5.1255.255.255.255;
其他第一TCAM表项的规则的值和掩码分别为:192.168.5.0255.255.255.0;
从逻辑关系上看,待添加的第一TCAM表项的规则的值是其他第一TCAM表项的规则的值的子集。
如果使用上述公式,192.168.5.1同192.168.5.0之间进行异或运算得到结果0.0.0.1;
进一步同掩码255.255.255.255进行与运算,得到0.0.0.1的结果;
进一步同掩码255.255.255.0进行与运算,得到最终的结果0.0.0.0;
上述计算的最终结果说明,上述参与计算的待添加的第一TCAM表项与其他第一TCAM表项之间相关,与逻辑关系判断的结果是一致的。
第二种实施方式是在第一TCAM表项记录的内容,除了上述6项信息之外,还包括:四层端口号信息和关联行为信息;这种在现有的ACL应用中比较常见,在这种实施方式下,待添加的第一TCAM表项与其他第一TCAM表项的数据内容的相关性来判断过程如图4所示,包括下述步骤:
S401、将待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的数据内容分为规则的值和掩码;
S402、针对待添加的第一TCAM表项和虚拟TCAM列表中某一个已有的第一TCAM表项(其他第一TCAM表项)进行下列计算:(N1⊕N2)·M1·M2;
上式中:N1为待添加的第一TCAM表项的规则的值;
N2为该其他第一TCAM表项的规则的值;
M1为待添加的第一TCAM表项的掩码;
M2为该其他第一TCAM表项的掩码;
如果计算结果为零,则执行下述步骤S403;否则,跳转至下述步骤S406;S403、进一步比较待添加的第一TCAM表项与该其他第一TCAM表项记录的四层端口号信息之间是否存在交集,若存在,则转向步骤S404,否则转向步骤S406;
S404、进一步比较待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的关联行为信息是否一致;若不一致,则转向步骤S405;若一致,则转向步骤S406;
S405、确定待添加的第一TCAM表项与该其他第一TCAM表项相关;
S406、确定待添加的第一TCAM表项与该其他第一TCAM表项不相关。
上述步骤S403中,四层端口号信息可以通过四层端口比较器对四层端口号信息的描述语句进行比较,例如待添加的第一TCAM表项与该其他第一TCAM表项的四层端口号信息描述的都是大于某一个端口号的情况,则显然两者存在交集,则可以认定待添加的第一TCAM表项与该其他第一TCAM表项相关。
上述步骤S404中,第一TCAM表项记录的关联行为信息,就是第一TCAM表项对应的执行动作,例如Premit tcp any any gt 80 any的表项来说,Premit即允许转发就是其关联行为信息,现有技术中,还存在其他例如丢弃报文、镜像、重定向、执行路由下一跳、修改报文的某些字段、控制带宽等等,关联行为信息一样的第一TCAM表项之间,认为是没有相关性的,也就是不存在严格的先后排列顺序。
本发明的发明人还发现,虚拟TCAM列表中,第一TCAM表项中等于1的比特越多(换言之等于0的比特越少),越有可能放在虚拟TCAM列表的前面。那么利用这一特点,尽量将掩码中含有较多等于1的比特的第一TCAM表项分配在较靠前的存储位置。这样可进一步减少表项移动的发生。
基于上述原理的应用,可以在上述步骤S2026在具体实施时,先通过下述公式计算待添加的第二TCAM表项在硬件TCAM中的一个可能的存储位置:
tcamID=N*(maxID-minID+1)+minID,其中:
tcamID为该待添加的第二TCAM表项在硬件TCAM中可能的存储位置;
N为该待添加的第一TCAM表项的掩码中零比特与该掩码总比特数的比值;
maxID为待添加的第二TCAM表项在硬件TCAM中可任意移动的最大存储位置,minID为待添加的第二TCAM表项在硬件TCAM中可任意移动的最小存储位置。
然后,如果上述可能的存储位置在硬件TCAM中没有被占用,那么可以将计算出的所述可能的存储位置作为待添加的第二TCAM表项在硬件TCAM中的存储位置;反之,如果计算出的上述可能的存储位置在硬件TCAM中已经被占用,那么可以在计算出的存储位置往上或者往下继续查找空闲的存储资源,选择距离该计算出的可能的存储位置最近的一个空闲位置作为待添加的第二TCAM表项在硬件TCAM中的存储位置。
在添加表项的操作中,上述步骤S2024之后,对虚拟TCAM列表中已有的第一TCAM表项来说,还可以执行下述操作:
对待添加的第一TCAM表项的前置列表的每个第一TCAM表项来说,在其后置列表中,增加该待添加的第一TCAM表项;
对待添加的第一TCAM表项的后置列表的每个第一TCAM表项来说,在其前置列表中,增加该待添加的第一TCAM表项。
完成将待添加的第一TCAM表项***到虚拟TCAM列表的操作之后,本发明实施例中,只要根据该待添加的第二TCAM表项在硬件TCAM中的存储位置,将该待添加的第一TCAM表项中记录的其对应的该待添加的第二TCAM表项数据内容写入到该存储位置即可。
对于在硬件TCAM中删除第二TCAM表项(以下称为待删除的第二TCAM表项)的操作来说,其操作较为简单,只要根据待删除的第二TCAM表项对应的待删除第一TCAM中记录的该待删除的第二TCAM表项的存储位置,在硬件TCAM中删除即可。
另外,还需要对虚拟TCAM列表,执行下述一系列删除操作:
在待删除的第一TCAM表项的前置列表的每个第一表项的后置列表中,删除该待删除的第一TCAM表项;
在待删除的第一TCAM表项的后置列表的每个第一表项的前置列表中,删除该待删除的第一TCAM表项;
最后,在虚拟TCAM列表中删除该待删除的第一TCAM表项。
基于同一发明构思,本发明实施例还提供了一种三态内容寻址存储器的表项更新装置,由于该装置解决问题的原理与前述一种三态内容寻址存储器的表项更新方法相似,因此该装置的实施可以参见方法的实施,重复之处不在赘述。
本发明实施例提供的三态内容寻址存储器的表项更新装置,如图5所示,包括:
创建单元501,用于创建虚拟三态内容寻址存储器TCAM列表,该虚拟TCAM列表中各第一表项与硬件TCAM中存储的各第二TCAM表项一一对应;
存储位置确定单元502,用于根据预先指定的待更新的第一TCAM表项与所述虚拟TCAM列表中其他第一TCAM表项的先后存储位置关系,在硬件TCAM的空闲资源中确定出该待更新的第一TCAM表项对应的待更新的第二TCAM表项的存储位置;
更新操作单元503,用于在硬件TCAM中,基于确定出的存储位置,对待更新的第二TCAM表项进行更新操作。
进一步地,上述创建单元501,如图6所示,进一步包括:
链表创建子单元5011,用于创建一个链表作为虚拟TCAM列表;将该链表中的每个第一TCAM表项按照预定的先后顺序排列,并与硬件TCAM存储的各第二表项一一对应;
记录子单元5012,用于在每个第一TCAM表项记录中包括:与该第一TCAM表项对应的第二表项的数据内容、该第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置、该第一TCAM表项对应的第二TCAM表项在硬件TCAM中可任意移动的最小存储位置和最大存储位置以及该第一TCAM表项的前置表项列表和后置表项列表。
进一步地,上述存储位置确定单元502,如图7所示,进一步包括:
第一存储位置确定子单元5021,用于在虚拟TCAM列表中,确定预先指定的待添加的第二TCAM表项对应的待添加的第一TCAM表项前一个第一TCAM表项的存储位置;
相关性判断子单元5022,用于在确定出的存储位置之后***该待添加的第一TCAM表项,并在待添加的第一TCAM表项中记录该待添加的第二TCAM表项的数据内容;并根据记录的所述数据内容与虚拟TCAM列表中其他第一TCAM表项记录的数据内容,确定与待添加的第一TCAM表项相关的其他第一TCAM表项;
最大/最小存储位置确定子单元5023,用于将虚拟TCAM列表中排列在所述待添加的第一TCAM表项之前与其相关的所有第一TCAM表项的确定为其前置列表中的表项;将虚拟TCAM列表中排列在所述待添加的第一TCAM表项之后与其相关的所有第一TCAM表项的确定为其后置列表中的表项;将所述前置列表中位置最靠后的第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置增加1,作为所述待添加的第二TCAM表项在硬件TCAM中可任意移动的最小存储位置;将所述后置列表中位置最靠前的第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置减去1,作为所述待添加的第二TCAM表项在硬件TCAM中可任意移动的最大存储位置;
第二存储位置确定子单元5024,用于根据该最小存储位置和最大存储位置,在硬件TCAM的空闲资源中确定出该待添加的第二TCAM表项的存储位置。
进一步地,相关性判断子单元5022,用于将该待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的数据内容分为规则的值和掩码;
针对该待添加的第一TCAM表项和所述其他第一TCAM表项进行下列计算:(N1⊕N2)·M1·M2;
上式中:N1为该待添加的第一TCAM表项的规则的值;
N2为虚拟TCAM列表中其他第一TCAM表项的规则的值;
M1为该待添加的第一TCAM表项的掩码;
M2为该其他第一TCAM表项的掩码;
如果计算结果为零,则确定所述待添加的第一TCAM表项与该其他第一TCAM表项相关,否则不相关。
进一步地,相关性判断子单元5022,进一步用于将该待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的数据内容分为规则的值和掩码;
针对该待添加的第一TCAM表项和该其他第一TCAM表项进行下列计算:(N1⊕N2)·M1·M2;
上式中:N1为该待添加的第一TCAM表项的规则的值;
N2为虚拟TCAM列表中其他第一TCAM表项的规则的值;
M1为该待添加的第一TCAM表项的掩码;
M2为该其他第一TCAM表项的掩码;
如果计算结果不为零,则确定该待添加的第一TCAM表项与该其他第一TCAM表项不相关;
否则,进一步比较待添加的第一TCAM表项与该其他第一TCAM表项记录的四层端口号信息之间是否存在交集,若不存在,则确定该待添加的第一TCAM表项与该其他第一TCAM表项不相关;若存在,则进一步比较待添加的第一TCAM表项与该其他第一TCAM表项记录的关联行为信息是否一致,若不一致,则确定该待添加的第一TCAM表项与该其他第一TCAM表项相关;若一致,则不相关。
进一步地,上述第二存储位置确定子单元5024,还用于通过下述公式计算该待添加的第二TCAM表项在硬件TCAM中可能的存储位置:
tcamID=N*(maxID-minID+1)+minID,其中:
tcamID为待添加的第二TCAM表项在硬件TCAM中可能的存储位置;
N为所述待添加的第一TCAM表项的掩码中零比特与该掩码总比特数的比值;
maxID为所述最大存储位置,minID为所述最小存储位置;
判断计算出的所述可能的存储位置是否为TCAM的空闲资源;
若是,则将计算出的所述可能的存储位置作为待添加的第二TCAM表项在硬件TCAM中的存储位置;
若否,则将距离计算出的所述可能的存储位置最近的空闲资源所在的存储位置作为待添加的第二TCAM表项在硬件TCAM中的存储位置。
进一步地,上述最大/最小存储位置确定子单元5023,还用于在所述待添加的第一TCAM表项的前置列表的每个第一TCAM表项的后置列表中,增加所述待添加的第一TCAM表项;以及在所述待添加的第一TCAM表项的后置列表的每个第一TCAM表项的前置列表中,增加所述待添加的第一TCAM表项。
进一步地,上述更新操作单元503,还用于在硬件TCAM中,根据待删除的第二TCAM表项对应的待删除的第一TCAM表项中记录的待删除的第二TCAM表项的存储位置,删除该存储位置的第二TCAM表项。
进一步地,上述更新操作单元503,还用于在所述待删除的第一TCAM表项的前置列表的每个第一TCAM表项的后置列表中,删除所述待删除的第一TCAM表项;在所述待删除的第一TCAM表项的后置列表的每个第一TCAM表项的前置列表中,删除所述待删除的第一TCAM表项;在所述虚拟TCAM列表中删除所述待删除的第一TCAM表项。
本发明实施例提供的一种三态内容寻址存储器的表项更新方法及装置,利用了创建的虚拟TCAM列表中各第一TCAM表项与硬件TCAM中各第二TCAM表项的一一对应关系,根据预先指定的待更新的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项的先后存储位置关系,在硬件TCAM的空闲资源中确定该待更新的第一TCAM表项对应的待更新的第二TCAM表项的存储位置,在硬件TCAM中,基于确定出的存储位置,对待更新的第二TCAM表项进行相应的更新操作,本发明实施例使得待更新的第二TCAM表项的存储位置尽可能地在硬件TCAM中的空闲位置中选择,避免了现有技术直接对于硬件TCAM的第二TCAM表项进行更新操作时,由于硬件TCAM中的各第二TCAM表项常常采用连续的存储空间进行存放,为了保证待更新的第二TCAM表项与其他第二TCAM表项之间的先后排列关系,当待更新的第二TCAM表项发生位置冲突时,不得不大量移动相关的第二TCAM表项,导致大量第二TCAM表项重写引发的硬件TCAM表项更新效率较低的问题。
进一步地,本发明实施例中,通过识别待更新的第二TCAM表项对应的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项的相关性,使得待更新的第二TCAM表项发生位置冲突时,即使没有空闲资源可选择,不可避免地需要移动第二TCAM表项时,仅移动与待更新的第二TCAM表项相关(必须保持严格先后排列顺序)的表项,而无需移动与待更新的第二TCAM表项无关(没有严格先后拍了顺序)的表项,大幅降低了可能移动的第二TCAM表项的数目,进一步克服了现有硬件TCAM表项更新效率较低的问题。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种三态内容寻址存储器的表项更新方法,其特征在于,包括:
创建虚拟三态内容寻址存储器TCAM列表,所述虚拟TCAM列表中各第一TCAM表项与硬件TCAM中存储的各第二TCAM表项一一对应;
根据预先指定的待更新的第一TCAM表项与所述虚拟TCAM列表中其他第一TCAM表项存储位置的先后关系,在硬件TCAM的空闲资源中确定出所述待更新的第一TCAM表项对应的待更新的第二TCAM表项的存储位置;
在硬件TCAM中,基于确定出的所述存储位置,对待更新的第二TCAM表项进行更新操作。
2.如权利要求1所述的方法,其特征在于,所述创建虚拟三态内容寻址存储器TCAM列表,包括:
创建一个链表作为虚拟TCAM列表;
将该链表中的每个第一TCAM表项按照预定的先后顺序排列,并与硬件TCAM存储的各第二表项一一对应;
在每个第一TCAM表项记录中包括:与该第一TCAM表项对应的第二表项的数据内容、该第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置、该第一TCAM表项对应的第二TCAM表项在硬件TCAM中可任意移动的最小存储位置和最大存储位置以及该第一TCAM表项的前置表项列表和后置表项列表。
3.如权利要求2所述的方法,其特征在于,当更新操作为添加第二TCAM表项时,在硬件TCAM的空闲资源中确定出待更新的第二TCAM表项的存储位置,包括:
在虚拟TCAM列表中,确定预先指定的待添加的第二TCAM表项对应的待添加的第一TCAM表项前一个第一TCAM表项的存储位置;
在确定出的存储位置之后***所述待添加的第一TCAM表项,并在待添加的第一TCAM表项中记录所述待添加的第二TCAM表项的数据内容;
根据记录的所述数据内容与第一TCAM列表中其他第一TCAM表项记录的数据内容,确定与所述待添加的第一TCAM表项相关的其他第一TCAM表项;
将虚拟TCAM列表中排列在所述待添加的第一TCAM表项之前与其相关的所有第一TCAM表项确定为其前置列表中的表项;
将虚拟TCAM列表中排列在所述待添加的第一TCAM表项之后与其相关的所有第一TCAM表项确定为其后置列表中的表项;
将所述前置列表中位置最靠后的第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置增加1,作为所述待添加的第二TCAM表项在硬件TCAM中可任意移动的最小存储位置;
将所述后置列表中位置最靠前的第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置减去1,作为所述待添加的第二TCAM表项在硬件TCAM中可任意移动的最大存储位置;
根据所述最小存储位置和最大存储位置,在硬件TCAM的空闲资源中确定出所述待添加的第二TCAM表项的存储位置。
4.如权利要求3所述的方法,其特征在于,所述确定与所述待添加的第一TCAM表项相关的第一TCAM表项,包括:
将所述待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的数据内容分为规则的值和掩码;
针对所述待添加的第一TCAM表项和所述其他第一TCAM表项进行下列计算:(N1⊕N2)·M1·M2;
上式中:N1为所述待添加的第一TCAM表项的规则的值;
N2为所述其他第一TCAM表项的规则的值;
M1为所述待添加的第一TCAM表项的掩码;
M2为所述其他第一TCAM表项的掩码;
如果计算结果为零,则确定所述待添加的第一TCAM表项与其他第一TCAM表项相关,否则不相关。
5.如权利要求3所述的方法,其特征在于,每个第一TCAM表项的记录进一步还包括:四层端口号信息和关联行为信息;
所述确定与所述待添加的第一TCAM表项相关的第一TCAM表项,包括:
将所述待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的数据内容分为规则的值和掩码;
针对所述待添加的第一TCAM表项和所述其他第一TCAM表项进行下列计算:(N1⊕N2)·M1·M2;
上式中:N1为所述待添加的第一TCAM表项的规则的值;
N2为所述其他第一TCAM表项的规则的值;
M1为所述待添加的第一TCAM表项的掩码;
M2为所述其他第一TCAM表项的掩码;
如果计算结果不为零,则确定所述待添加的第一TCAM表项与其他第一TCAM表项不相关;
否则,进一步比较待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的四层端口号信息之间是否存在交集,若不存在,则确定所述待添加的第一TCAM表项与其他第一TCAM表项不相关;若存在,则进一步比较待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的关联行为信息是否一致,若不一致,则确定所述待添加的第一TCAM表项与其他第一TCAM表项相关;若一致,则不相关。
6.如权利要求3所述的方法,其特征在于,根据所述最小存储位置和最大存储位置,在硬件TCAM的空闲资源中确定出所述待添加的第二TCAM表项的存储位置,包括:
通过下述公式计算所述待添加的第二TCAM表项在硬件TCAM中可能的存储位置:
tcamID=N*(maxID-minID+1)+minID,其中:
tcamID为待添加的第二TCAM表项在硬件TCAM中可能的存储位置;
N为所述待添加的第一TCAM表项的掩码中零比特与该掩码总比特数的比值;
maxID为所述最大存储位置,minID为所述最小存储位置;
判断计算出的所述可能的存储位置是否为硬件TCAM的空闲资源;
若是,则将计算出的所述可能的存储位置作为待添加的第二TCAM表项在硬件TCAM中的存储位置;
若否,则将距离计算出的所述可能的存储位置最近的空闲资源所在的存储位置作为待添加的第二TCAM表项在硬件TCAM中的存储位置。
7.如权利要求3-6任一项所述的方法,其特征在于,确定待添加的第一TCAM表项的前置列表和后置列表的步骤之后,还包括:
在所述待添加的第一TCAM表项的前置列表的每个第一TCAM表项的后置列表中,增加所述待添加的第一TCAM表项;
在所述待添加的第一TCAM表项的后置列表的每个第一TCAM表项的前置列表中,增加所述待添加的第一TCAM表项。
8.如权利要求2所述的方法,其特征在于,当更新操作为删除第二TCAM表项时,在硬件TCAM中,根据确定出的所述存储位置,对待更新的第二TCAM表项进行更新操作,包括:
在硬件TCAM中,根据待删除的第二TCAM表项对应的待删除的第一TCAM表项中记录的所述待删除的第二TCAM表项的存储位置,删除该存储位置的第二TCAM表项。
9.如权利要求8所述的方法,其特征在于,在硬件TCAM中删除第二TCAM表项的步骤之前,还包括:
在所述待删除的第一TCAM表项的前置列表的每个第一TCAM表项的后置列表中,删除所述待删除的第一TCAM表项;
在所述待删除的第一TCAM表项的后置列表的每个第一TCAM表项的前置列表中,删除所述待删除的第一TCAM表项;
在所述虚拟TCAM列表中删除所述待删除的第一TCAM表项。
10.一种三态内容寻址存储器的表项更新装置,其特征在于,包括:
创建单元,用于创建虚拟三态内容寻址存储器TCAM列表,所述虚拟TCAM列表中各第一表项与硬件TCAM中存储的各第二TCAM表项一一对应;
存储位置确定单元,用于根据预先指定的待更新的第一TCAM表项与所述虚拟TCAM列表中其他第一TCAM表项存储位置的先后关系,在硬件TCAM的空闲资源中确定出所述待更新的第一TCAM表项对应的待更新的第二TCAM表项的存储位置;
更新操作单元,用于在硬件TCAM中,基于确定出的所述存储位置,对待更新的第二TCAM表项进行更新操作。
11.如权利要求10所述的装置,其特征在于,所述创建单元,进一步还包括:
链表创建子单元,用于创建一个链表作为虚拟TCAM列表;将该链表中的每个第一TCAM表项按照预定的先后顺序排列,并与硬件TCAM存储的各第二表项一一对应;
记录子单元,用于在每个第一TCAM表项记录中包括:与该第一TCAM表项对应的第二表项的数据内容、该第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置、该第一TCAM表项对应的第二TCAM表项在硬件TCAM中可任意移动的最小存储位置和最大存储位置以及该第一TCAM表项的前置表项列表和后置表项列表。
12.如权利要求11所述的装置,其特征在于,所述存储位置确定单元,进一步包括:
第一存储位置确定子单元,用于在虚拟TCAM列表中,确定预先指定的待添加的第二TCAM表项对应的待添加的第一TCAM表项前一个第一TCAM表项的存储位置;
相关性判断子单元,用于在确定出的存储位置之后***所述待添加的第一TCAM表项,并在待添加的第一TCAM表项中记录所述待添加的第二TCAM表项记录的数据内容;根据记录的所述数据内容与虚拟TCAM列表中其他第一TCAM表项的数据内容,确定与所述待添加的第一TCAM表项相关的其他第一TCAM表项;
最大/最小存储位置确定子单元,用于将虚拟TCAM列表中排列在所述待添加的第一TCAM表项之前与其相关的所有第一TCAM表项的确定为其前置列表中的表项;将虚拟TCAM列表中排列在所述待添加的第一TCAM表项之后与其相关的所有第一TCAM表项的确定为其后置列表中的表项;将所述前置列表中位置最靠后的第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置增加1,作为所述待添加的第二TCAM表项在硬件TCAM中可任意移动的最小存储位置;将所述后置列表中位置最靠前的第一TCAM表项对应的第二TCAM表项在硬件TCAM中的存储位置减去1,作为所述待添加的第二TCAM表项在硬件TCAM中可任意移动的最大存储位置;
第二存储位置确定子单元,用于根据所述最小存储位置和最大存储位置,在硬件TCAM的空闲资源中确定出所述待添加的第二TCAM表项的存储位置。
13.如权利要求12所述的装置,其特征在于,所述相关性判断子单元,进一步用于将所述待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的数据内容分为规则的值和掩码;
针对所述待添加的第一TCAM表项和所述其他第一TCAM表项进行下列计算:(N1⊕N2)·M1·M2;
上式中:N1为所述待添加的第一TCAM表项的规则的值;
N2为所述其他第一TCAM表项的规则的值;
M1为所述待添加的第一TCAM表项的掩码;
M2为所述其他第一TCAM表项的掩码;
如果计算结果为零,则确定所述待添加的第一TCAM表项与其他第一TCAM表项相关,否则不相关。
14.如权利要求12所述的装置,其特征在于,所述相关性判断子单元,进一步用于将所述待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的数据内容分为规则的值和掩码;
针对所述待添加的第一TCAM表项和所述其他第一TCAM表项进行下列计算:(N1⊕N2)·M1·M2;
上式中:N1为所述待添加的第一TCAM表项的规则的值;
N2为所述其他第一TCAM表项的规则的值;
M1为所述待添加的第一TCAM表项的掩码;
M2为所述其他第一TCAM表项的掩码;
如果计算结果不为零,则确定所述待添加的第一TCAM表项与其他第一TCAM表项不相关;
否则,进一步比较待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的四层端口号信息之间是否存在交集,若不存在,则确定所述待添加的第一TCAM表项与其他第一TCAM表项不相关;若存在,则进一步比较待添加的第一TCAM表项与虚拟TCAM列表中其他第一TCAM表项记录的关联行为信息是否一致,若不一致,则确定所述待添加的第一TCAM表项与其他第一TCAM表项相关;若一致,则不相关。
15.如权利要求12所述的装置,其特征在于,所述第二存储位置确定子单元,进一步用于通过下述公式计算所述待添加的第二TCAM表项在硬件TCAM中可能的存储位置:
tcamID=N*(maxID-minID+1)+minID,其中:
tcamID为待添加的第二TCAM表项在硬件TCAM中可能的存储位置;
N为所述待添加的第一TCAM表项的掩码中零比特与该掩码总比特数的比值;
maxID为所述最大存储位置,minID为所述最小存储位置;
判断计算出的所述可能的存储位置是否为TCAM的空闲资源;
若是,则将计算出的所述可能的存储位置作为待添加的第二TCAM表项在硬件TCAM中的存储位置;
若否,则将距离计算出的所述可能的存储位置最近的空闲资源所在的存储位置作为待添加的第二TCAM表项在硬件TCAM中的存储位置。
16.如权利要求12所述的装置,其特征在于,所述最大/最小存储位置确定子单元,还用于在所述待添加的第一TCAM表项的前置列表的每个第一TCAM表项的后置列表中,增加所述待添加的第一TCAM表项;以及在所述待添加的第一TCAM表项的后置列表的每个第一TCAM表项的前置列表中,增加所述待添加的第一TCAM表项。
17.如权利要求11所述的装置,其特征在于,所述更新操作单元,进一步用于在硬件TCAM中,根据待删除的第二TCAM表项对应的待删除的第一TCAM表项中记录的所述待删除的第二TCAM表项的存储位置,删除该存储位置的第二TCAM表项。
18.如权利要求17所述的装置,其特征在于,所述更新操作单元,还用于在所述待删除的第一TCAM表项的前置列表的每个第一TCAM表项的后置列表中,删除所述待删除的第一TCAM表项;在所述待删除的第一TCAM表项的后置列表的每个第一TCAM表项的前置列表中,删除所述待删除的第一TCAM表项;在所述虚拟TCAM列表中删除所述待删除的第一TCAM表项。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010205047 CN101866357B (zh) | 2010-06-11 | 2010-06-11 | 一种三态内容寻址存储器的表项更新方法及装置 |
PCT/CN2010/078298 WO2011153784A1 (zh) | 2010-06-11 | 2010-11-01 | 一种三态内容寻址存储器的表项更新方法及装置 |
US13/158,262 US8527694B2 (en) | 2010-06-11 | 2011-06-10 | Method and apparatus for updating table entries of a ternary content addressable memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010205047 CN101866357B (zh) | 2010-06-11 | 2010-06-11 | 一种三态内容寻址存储器的表项更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101866357A true CN101866357A (zh) | 2010-10-20 |
CN101866357B CN101866357B (zh) | 2011-11-16 |
Family
ID=42958085
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010205047 Expired - Fee Related CN101866357B (zh) | 2010-06-11 | 2010-06-11 | 一种三态内容寻址存储器的表项更新方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN101866357B (zh) |
WO (1) | WO2011153784A1 (zh) |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101986271A (zh) * | 2010-10-29 | 2011-03-16 | 中兴通讯股份有限公司 | 调度tcam查询和刷新消息的方法和装置 |
CN102045262A (zh) * | 2011-01-14 | 2011-05-04 | 福建星网锐捷网络有限公司 | 媒体接入控制地址表更新方法、装置及网络设备 |
WO2011153784A1 (zh) * | 2010-06-11 | 2011-12-15 | 北京星网锐捷网络技术有限公司 | 一种三态内容寻址存储器的表项更新方法及装置 |
WO2012159311A1 (zh) * | 2011-06-29 | 2012-11-29 | 华为技术有限公司 | 一种tcam表项的设置方法及装置 |
CN102819617A (zh) * | 2012-09-11 | 2012-12-12 | 苏州雄立科技有限公司 | 查找数据库中显性定义记录表项优先级的方法 |
EP2551854A1 (en) * | 2011-07-29 | 2013-01-30 | The Boeing Company | System for updating an associative memory |
CN104702508A (zh) * | 2015-03-24 | 2015-06-10 | 深圳中兴网信科技有限公司 | 表项动态更新方法及*** |
WO2016101485A1 (zh) * | 2014-12-26 | 2016-06-30 | 中兴通讯股份有限公司 | 一种写入tcam条目的方法及装置 |
CN106330759A (zh) * | 2016-09-29 | 2017-01-11 | 杭州迪普科技有限公司 | 一种调整acl表项的方法及装置 |
CN107528782A (zh) * | 2016-06-20 | 2017-12-29 | 中兴通讯股份有限公司 | 一种tcam表项的更新方法、装置及tcam |
CN109688126A (zh) * | 2018-12-19 | 2019-04-26 | 迈普通信技术股份有限公司 | 一种数据处理方法、网络设备及计算机可读存储介质 |
CN110032378A (zh) * | 2019-04-16 | 2019-07-19 | 盛科网络(苏州)有限公司 | 一种芯片表项的带掩码操作方法及装置 |
CN110557335A (zh) * | 2018-06-04 | 2019-12-10 | 中兴通讯股份有限公司 | 三态内容寻址存储器tcam表项处理方法及装置 |
CN110943871A (zh) * | 2019-12-27 | 2020-03-31 | 杭州迪普科技股份有限公司 | 一种资源区间调整方法及装置 |
CN111064714A (zh) * | 2019-11-29 | 2020-04-24 | 苏州浪潮智能科技有限公司 | 一种基于fpga的智能网卡acl更新装置 |
WO2021262252A1 (en) * | 2020-06-22 | 2021-12-30 | Western Digital Technologies, Inc. | Devices and methods for genome sequencing |
US11837330B2 (en) | 2020-03-18 | 2023-12-05 | Western Digital Technologies, Inc. | Reference-guided genome sequencing |
US12006539B2 (en) | 2020-03-17 | 2024-06-11 | Western Digital Technologies, Inc. | Reference-guided genome sequencing |
US12014802B2 (en) | 2020-03-17 | 2024-06-18 | Western Digital Technologies, Inc. | Devices and methods for locating a sample read in a reference genome |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441579A (zh) * | 2003-03-28 | 2003-09-10 | 清华大学 | 支持多nexthop的TCAM高速查找方法及其*** |
US20050276086A1 (en) * | 2004-06-01 | 2005-12-15 | Douglas Perry | Ternary CAM cell for reduced matchline capacitance |
CN1896991A (zh) * | 2006-03-02 | 2007-01-17 | 华为技术有限公司 | 动态范围匹配表维护方法 |
CN101039215A (zh) * | 2006-08-10 | 2007-09-19 | 华为技术有限公司 | 一种维护三态内容可寻址存储器表项的方法和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866357B (zh) * | 2010-06-11 | 2011-11-16 | 北京星网锐捷网络技术有限公司 | 一种三态内容寻址存储器的表项更新方法及装置 |
-
2010
- 2010-06-11 CN CN 201010205047 patent/CN101866357B/zh not_active Expired - Fee Related
- 2010-11-01 WO PCT/CN2010/078298 patent/WO2011153784A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1441579A (zh) * | 2003-03-28 | 2003-09-10 | 清华大学 | 支持多nexthop的TCAM高速查找方法及其*** |
US20050276086A1 (en) * | 2004-06-01 | 2005-12-15 | Douglas Perry | Ternary CAM cell for reduced matchline capacitance |
CN1896991A (zh) * | 2006-03-02 | 2007-01-17 | 华为技术有限公司 | 动态范围匹配表维护方法 |
CN101039215A (zh) * | 2006-08-10 | 2007-09-19 | 华为技术有限公司 | 一种维护三态内容可寻址存储器表项的方法和*** |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011153784A1 (zh) * | 2010-06-11 | 2011-12-15 | 北京星网锐捷网络技术有限公司 | 一种三态内容寻址存储器的表项更新方法及装置 |
CN101986271B (zh) * | 2010-10-29 | 2014-11-05 | 中兴通讯股份有限公司 | 调度tcam查询和刷新消息的方法和装置 |
WO2012055319A1 (zh) * | 2010-10-29 | 2012-05-03 | 中兴通讯股份有限公司 | 调度tcam查询和刷新消息的方法和装置 |
CN101986271A (zh) * | 2010-10-29 | 2011-03-16 | 中兴通讯股份有限公司 | 调度tcam查询和刷新消息的方法和装置 |
CN102045262A (zh) * | 2011-01-14 | 2011-05-04 | 福建星网锐捷网络有限公司 | 媒体接入控制地址表更新方法、装置及网络设备 |
WO2012159311A1 (zh) * | 2011-06-29 | 2012-11-29 | 华为技术有限公司 | 一种tcam表项的设置方法及装置 |
US9330760B2 (en) | 2011-06-29 | 2016-05-03 | Huawei Technologies Co., Ltd. | Method and apparatus for setting TCAM entry |
CN102986177A (zh) * | 2011-06-29 | 2013-03-20 | 华为技术有限公司 | 一种tcam表项的设置方法及装置 |
CN102986177B (zh) * | 2011-06-29 | 2015-03-11 | 华为技术有限公司 | 一种tcam表项的设置方法及装置 |
CN103106226B (zh) * | 2011-07-29 | 2017-06-27 | 波音公司 | 更新关联存储器的*** |
CN103106226A (zh) * | 2011-07-29 | 2013-05-15 | 波音公司 | 更新关联存储器的*** |
EP2551854A1 (en) * | 2011-07-29 | 2013-01-30 | The Boeing Company | System for updating an associative memory |
US8527695B2 (en) | 2011-07-29 | 2013-09-03 | The Boeing Company | System for updating an associative memory |
CN102819617A (zh) * | 2012-09-11 | 2012-12-12 | 苏州雄立科技有限公司 | 查找数据库中显性定义记录表项优先级的方法 |
WO2016101485A1 (zh) * | 2014-12-26 | 2016-06-30 | 中兴通讯股份有限公司 | 一种写入tcam条目的方法及装置 |
CN104702508A (zh) * | 2015-03-24 | 2015-06-10 | 深圳中兴网信科技有限公司 | 表项动态更新方法及*** |
CN104702508B (zh) * | 2015-03-24 | 2018-07-10 | 深圳中兴网信科技有限公司 | 表项动态更新方法及*** |
CN107528782A (zh) * | 2016-06-20 | 2017-12-29 | 中兴通讯股份有限公司 | 一种tcam表项的更新方法、装置及tcam |
CN106330759A (zh) * | 2016-09-29 | 2017-01-11 | 杭州迪普科技有限公司 | 一种调整acl表项的方法及装置 |
CN106330759B (zh) * | 2016-09-29 | 2019-09-17 | 杭州迪普科技股份有限公司 | 一种调整acl表项的方法及装置 |
CN110557335A (zh) * | 2018-06-04 | 2019-12-10 | 中兴通讯股份有限公司 | 三态内容寻址存储器tcam表项处理方法及装置 |
CN110557335B (zh) * | 2018-06-04 | 2022-06-17 | 中兴通讯股份有限公司 | 三态内容寻址存储器tcam表项处理方法及装置 |
CN109688126B (zh) * | 2018-12-19 | 2021-08-17 | 迈普通信技术股份有限公司 | 一种数据处理方法、网络设备及计算机可读存储介质 |
CN109688126A (zh) * | 2018-12-19 | 2019-04-26 | 迈普通信技术股份有限公司 | 一种数据处理方法、网络设备及计算机可读存储介质 |
CN110032378A (zh) * | 2019-04-16 | 2019-07-19 | 盛科网络(苏州)有限公司 | 一种芯片表项的带掩码操作方法及装置 |
CN110032378B (zh) * | 2019-04-16 | 2022-03-29 | 苏州盛科通信股份有限公司 | 一种芯片表项的带掩码操作方法及装置 |
CN111064714A (zh) * | 2019-11-29 | 2020-04-24 | 苏州浪潮智能科技有限公司 | 一种基于fpga的智能网卡acl更新装置 |
CN110943871A (zh) * | 2019-12-27 | 2020-03-31 | 杭州迪普科技股份有限公司 | 一种资源区间调整方法及装置 |
CN110943871B (zh) * | 2019-12-27 | 2022-11-01 | 杭州迪普科技股份有限公司 | 一种资源区间调整方法及装置 |
US12006539B2 (en) | 2020-03-17 | 2024-06-11 | Western Digital Technologies, Inc. | Reference-guided genome sequencing |
US12014802B2 (en) | 2020-03-17 | 2024-06-18 | Western Digital Technologies, Inc. | Devices and methods for locating a sample read in a reference genome |
US11837330B2 (en) | 2020-03-18 | 2023-12-05 | Western Digital Technologies, Inc. | Reference-guided genome sequencing |
WO2021262252A1 (en) * | 2020-06-22 | 2021-12-30 | Western Digital Technologies, Inc. | Devices and methods for genome sequencing |
Also Published As
Publication number | Publication date |
---|---|
WO2011153784A1 (zh) | 2011-12-15 |
CN101866357B (zh) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101866357B (zh) | 一种三态内容寻址存储器的表项更新方法及装置 | |
US8750144B1 (en) | System and method for reducing required memory updates | |
US20060176721A1 (en) | Method and apparatus for managing ternary content addressable memory | |
CN103918230B (zh) | 对网络设备背景中的转发数据库进行同步 | |
JP2001290718A (ja) | ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体 | |
CN107122130B (zh) | 一种数据重删方法及装置 | |
US10038571B2 (en) | Method for reading and writing forwarding information base, and network processor | |
Mishra et al. | Duos-simple dual tcam architecture for routing tables with incremental update | |
CN104636286A (zh) | 用于数据访问的方法和设备 | |
CN101583160A (zh) | 一种实现分层服务质量业务的装置及方法 | |
CN106569963A (zh) | 缓存方法和装置 | |
CN107800627A (zh) | 三态内容寻址存储器tcam表的写入方法及装置 | |
US7792129B2 (en) | Multi-queue packet processing using Patricia tree | |
CN105282057B (zh) | 流表更新方法、控制器及流表分析设备 | |
US10642817B2 (en) | Index table update method, and device | |
US10084613B2 (en) | Self adapting driver for controlling datapath hardware elements | |
JP4573732B2 (ja) | サーバント装置 | |
CN109688126B (zh) | 一种数据处理方法、网络设备及计算机可读存储介质 | |
US20110307655A1 (en) | Method and apparatus for updating table entries of a ternary content addressable memory | |
CN104702508A (zh) | 表项动态更新方法及*** | |
CN116991761A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN113992580B (zh) | 一种修改策略路由的方法及设备 | |
CN114363074B (zh) | 一种访问控制实现方法、装置、设备及存储介质 | |
CN102891902A (zh) | 介质访问控制地址更新方法及网络设备 | |
WO2011097385A2 (en) | Duo-dual tcam architecture for routing tables with incremental update |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20111116 Termination date: 20210611 |
|
CF01 | Termination of patent right due to non-payment of annual fee |