管理三态内容寻址存储器TCAM表空间的方法及装置制造方法及图纸

技术编号:13285709 阅读:77 留言:0更新日期:2016-07-09 02:03
本发明专利技术提供了一种管理三态内容寻址存储器TCAM表空间的方法及装置,该方法包括:配置TCAM的第一寄存器的第一参数,第一参数包括查表空间范围,查表空间范围对应多个块block;根据查表空间范围,配置TCAM的第二寄存器的第二参数,第二参数包括在查表空间范围内的各个block的空间大小和查表宽度;在相邻的第一block和第二block中写表,且第一block的写表方向与第二block的写表方向相反;判断第一block和第二block是否写满,若第一block写满且第二block未写满,则调整第一参数和第二参数,并按照调整后的第一参数和第二参数写表,本发明专利技术的方法能使TCAM实现硬件block容量共享。

【技术实现步骤摘要】

本专利技术涉及通信
,特别涉及一种管理三态内容寻址存储器TCAM表空间的方法及装置
技术介绍
随着网络的发展,网络流量的增长及新业务的出现,需要网络设备具有线速和灵活的处理能力。目前网络芯片包括专用集成电路(ASIC,ApplicationSpecificIntegratedCircuits)和网络处理器(NP)两大类。网络处理器凭借其高速处理及灵活的可编程性,已成为当今网络中数据处理的有效解决方案。网络处理器中有多种不同的存储器,如静态随机存储器(SRAM)、三态内容寻址存储器(TCAM,ternarycontentaddressablememory)、同步动态随机存储器(SDRAM,SynchronousDynamicRandomAccessMemory)等,这些存储器存放着各种业务表项,如端口表、硬件地址(MAC,MediaAccessControl)表、路由表等。TCAM主要用于快速查找访问控制列表(ACL,AccessControlList)、路由等表项。TCAM的主要特点是快速并行查找,在网络处理器上的应用通常是,微码从报文抽取相关信息组成一个键值,通过NP的TCAM控制器向TCAM发送查找命令,根据结果处理报文。TCAM的特点是成本高、功耗大、容量有限;优点是快速查找,固定时延,支持最长前缀匹配及多区域匹配。为了充分利用宝贵的TCAM空间,TCAM一般采用硬件上的多表区分技术,一个TCAM划分成若干大小的block,微码发送的键值同时在多个块(block)内并行查找,可以一次发送键值,返回多个查表结果。为了支持不同宽度的查找,每个block都要配置一个查表宽度W。比如NETLOGIC的NL11K系列,典型的宽度有80、160、320、640;IDT公司的TCAM,典型宽度有72、144、288、576。以因特网协议版本4(IPv4)/因特网协议版本6(IPv6)ACL举例,IPv4五元组宽度为107bit;IPv6ACL匹配IPv6五元组的宽度为299bit。用NL11K系列,IPv4相应的数据库要按160bit位宽配置,数据库类型配成分类匹配;IPv6ACL相应的block要按照320bit位宽配置。由于宽度不同,这两种业务表项必须放到不同的硬件block中。目前通用做法是各个block的查表宽度定死,每个block内写表从地址低向地址高的空间依次写入。典型应用,IPv4acl和IPv6acl分配在相邻的两个硬件block内,分配空间都为64K*80bit,查表宽度分别为160bit和320bit,这样IPv4acl的容量为32K,IPv6acl容量为16K。这种方法弊端是无法做到容量共享。
技术实现思路
本专利技术实施例的目的在于提供一种管理三态内容寻址存储器TCAM表空间的方法及装置,能使TCAM实现硬件block容量共享。为了达到上述目的,本专利技术的实施例提供了一种管理三态内容寻址存储器TCAM表空间的方法,该方法包括:配置TCAM的第一寄存器的第一参数,第一参数包括查表空间范围,查表空间范围对应多个块block;根据查表空间范围,配置TCAM的第二寄存器的第二参数,第二参数包括在查表空间范围内的各个block的空间大小和查表宽度;在相邻的第一block和第二block中写表,且第一block的写表方向与第二block的写表方向相反;判断第一block和第二block是否写满,若第一block写满且第二block未写满,则调整第一参数和第二参数,以将第二block中与第一block相邻的部分空间划归给第一block,并按照调整后的第一参数和第二参数写表。其中,方法还包括:若第一block和第二block都未写满,则继续写表;若第一block和第二block都写满,则返回写表失败的信息。其中,在相邻的第一block和第二block中写表,且第一block的写表方向与第二block的写表方向相反的步骤包括:分别按照从地址低到地址高的方向和地址高到地址低的方向在第一block和第二block中写表。其中,判断第一block和第二block是否写满,若第一block写满且第二block未写满,则调整第一参数和第二参数,并按照调整后的第一参数和第二参数写表的步骤之前,方法还包括:检测第二block中是否存在碎片;若存在碎片,则将碎片进行压缩。其中,第一block中写的是IPv4访问控制列表ACL,且第一block的查表宽度为160bit。其中,第二block中写的是IPv6ACL,且第二block的查表宽度为320bit。本专利技术的实施例还提供了一种管理三态内容寻址存储器TCAM表空间的装置,该装置包括:第一配置模块,用于配置TCAM的第一寄存器的第一参数,第一参数包括查表空间范围,查表空间范围对应多个块block;第二配置模块,用于根据查表空间范围,配置TCAM的第二寄存器的第二参数,第二参数包括在查表空间范围内的各个block的空间大小和查表宽度;写表模块,用于在相邻的第一block和第二block中写表,且第一block的写表方向与第二block的写表方向相反;判断模块,用于判断第一block和第二block是否写满,并在第一block写满且第二block未写满时,触发调整模块,调整模块,用于根据判断模块的触发,调整第一参数和第二参数,以将第二block中与第一block相邻的部分空间划归给第一block,并触发写表模块按照调整后的第一参数和第二参数写表。其中,装置还包括:判断模块在第一block和第二block都未写满时,触发写表模块继续写表,以及在第一block和第二block都写满时,触发返回模块;返回模块,用于根据判断模块的触发,返回写表失败的信息。其中,写表模块包括:第一单元,用于分别按照从地址低到地址高的方向和地址高到地址低的方向在第一block和第二block中写表。其中,装置还包括:检测模块,用于检测第二block中是否存在碎片,并当存在碎片时,触发压缩模块;压缩模块,用于将碎片进行压缩。其中,第一block中写的是IPv4访问控制列表ACL,且第一block的查表宽度为160bit。其中,第二block中写的是IPv6ACL,且第二block的查表宽度为320bit。本专利技术的上述方案至少包括以下有益效果:在本专利技术实施例的管理三本文档来自技高网
...

【技术保护点】
一种管理三态内容寻址存储器TCAM表空间的方法,其特征在于,包括:配置所述TCAM的第一寄存器的第一参数,所述第一参数包括查表空间范围,所述查表空间范围对应多个块block;根据所述查表空间范围,配置所述TCAM的第二寄存器的第二参数,所述第二参数包括在所述查表空间范围内的各个block的空间大小和查表宽度;在相邻的第一block和第二block中写表,且所述第一block的写表方向与所述第二block的写表方向相反;判断所述第一block和所述第二block是否写满,若所述第一block写满且所述第二block未写满,则调整所述第一参数和第二参数,以将所述第二block中与所述第一block相邻的部分空间划归给所述第一block,并按照调整后的第一参数和第二参数写表。

【技术特征摘要】
1.一种管理三态内容寻址存储器TCAM表空间的方法,其特征在于,包
括:
配置所述TCAM的第一寄存器的第一参数,所述第一参数包括查表空间
范围,所述查表空间范围对应多个块block;
根据所述查表空间范围,配置所述TCAM的第二寄存器的第二参数,所
述第二参数包括在所述查表空间范围内的各个block的空间大小和查表宽度;
在相邻的第一block和第二block中写表,且所述第一block的写表方向
与所述第二block的写表方向相反;
判断所述第一block和所述第二block是否写满,若所述第一block写满
且所述第二block未写满,则调整所述第一参数和第二参数,以将所述第二
block中与所述第一block相邻的部分空间划归给所述第一block,并按照调整
后的第一参数和第二参数写表。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一block和所述第二block都未写满,则继续写表;
若所述第一block和所述第二block都写满,则返回写表失败的信息。
3.如权利要求1所述的方法,其特征在于,所述在相邻的第一block和第
二block中写表,且所述第一block的写表方向与所述第二block的写表方向
相反的步骤包括:
分别按照从地址低到地址高的方向和地址高到地址低的方向在所述第一
block和所述第二block中写表。
4.如权利要求1所述的方法,其特征在于,所述判断所述第一block和所
述第二block是否写满,若所述第一block写满且所述第二block未写满,则
调整所述第一参数和第二参数,并按照调整后的第一参数和第二参数写表的步
骤之前,所述方法还包括:
检测所述第二block中是否存在碎片;
若存在碎片,则将所述碎片进行压缩。
5.如权利要求1所述的方法,其特征在于,所述第一block中写的是IPv4

\t访问控制列表ACL,且所述第一block的查表宽度为160bit。
6.如权利要求1所述的方法,其特征在于,所述第二block中写的是IPv6
ACL,且所述第二block的查表宽度为320bi...

【专利技术属性】
技术研发人员:姜海明
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1