表项管理方法及装置的制造方法
【技术领域】
[0001]本发明涉及网络通信技术领域,尤其涉及表项管理方法及装置。
【背景技术】
[0002]三态内容寻址存储器(ternarycontent addressable memory,TCAM)是一种常用的基于内容查找的器件。由于TCAM具有查找速度快,操作简单等优点,故在网络设备中大量用于路由、访问控制列表(Access Control List,ACL)、硬件地址(Media AccessControl, MAC)等内容的查找。但是,TCAM还存在功耗大、发热量高等缺点。
[0003]现有技术中,为了克服TCAM的缺点,一般通过压缩算法来压缩表项内容,使得采用较少容量的TCAM就能够保存更多的表项,从而实现利用较小容量的TCAM器件来降低TCAM的功耗与发热量。
[0004]但是,通过压缩算法压缩表项内容后,TCAM的容量仍然有限,若需要保存大表项时,即使压缩也需要使用大容量的TCAM,而大容量的TCAM的功耗与发热量都较大;若需要使用大容量的TCAM保存小表项时,也不会降低大容量的TCAM的功耗与发热量,还造成TCAM的资源浪费,因此,现有技术无法更好地解决TCAM容量与TCAM功耗、发热量之间的矛盾。
【发明内容】
[0005]本发明提供表项管理方法及装置,以解决现有技术无法更好地解决TCAM容量与TCAM功耗、发热量之间的矛盾的问题。
[0006]根据本发明实施例的第一方面,提供一种表项管理方法,所述方法应用于网络设备,所述网络设备中包含有TCAM,所述TCAM中设置有存储区块,其中,存储有表项的存储区块处于使用状态,未存储表项的存储区块处于关闭状态,所述方法包括:
[0007]生成待添加表项;
[0008]当所述TCAM中处于使用状态的存储区块的剩余空间小于所述待添加表项所需占用的空间时,则从处于关闭状态的存储区块中选择一存储区块,并将所选择的存储区块置为使用状态;
[0009]向所述TCAM插入所述待添加表项。
[0010]根据本发明实施例的第二方面,提供一种表项管理装置,所述装置应用于网络设备,所述网络设备中包含有TCAM,所述TCAM中设置有存储区块,其中,存储有表项的存储区块处于使用状态,未存储表项的存储区块处于关闭状态,所述装置包括:
[0011]表项管理单元,用于生成待添加的表项;
[0012]第一选择单元,用于当所述TCAM中处于使用状态的存储区块的剩余空间小于所述待添加表项所需占用的空间时,则从处于关闭状态的存储区块中选择一存储区块,并将所选择的存储区块置为使用状态;
[0013]插入单元,用于向所述TCAM插入所述待添加表项。
[0014]应用本发明实施例,生成待添加表项后,当TCAM中处于使用状态的存储区块的剩余空间小于待添加表项所需占用的空间时,则从处于关闭状态的存储区块中选择一存储区块,并将所选择的存储区块置为使用状态,再向TCAM插入待添加表项,使得表项集中存储在处于使用状态的存储区块上,未存储表项的存储区块处于关闭状态,从而实现了在满足表项存储的前提下,并降低了 TCAM的功耗和发热量。
【附图说明】
[0015]图1A是应用本发明实施例表项管理的一硬件设计示意图;
[0016]图1B是应用本发明实施例表项管理的另一硬件设计示意图;
[0017]图2是本发明表项管理方法的一个实施例流程图;
[0018]图3是本发明表项管理方法的另一个实施例流程图;
[0019]图4是本发明表项管理方法的另一个实施例流程图;
[0020]图5是本发明表项管理装置所在设备的一种硬件结构图;
[0021]图6是本发明表项管理装置的一个实施例框图。
【具体实施方式】
[0022]为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。
[0023]参见图1A,为应用本发明实施例表项管理的一硬件设计示意图:
[0024]图1A中示出了一种TCAM的分区示意图。该TCAM位于网络设备上,可以为大容量的TCAM,其包括至少两个存储区块,每个存储区块皆是可以存储表项的,并且各存储区块的空间可以为一个表项所占空间的整数倍。其中,存储有表项的存储区块处于使用状态,未存储表项的存储区块处于关闭状态。另外,可以采用压缩算法来压缩表项内容,使得每个存储区块能够保存更多的表项。
[0025]如图1A所示,TCAM包括存储区块1、存储区块2、…、存储区块η。比如:按照每个存储区块能够存储IK表项来划分,对于能够存储128Κ表项的大容量的TCAM,可以划分为128个存储区块。
[0026]其中,每个存储区块相当处于一个单独的小容量的TCAM,每个存储区块可以单独设置优先级,并且可以单独打开或者关闭查找功能。当关闭某个存储区块的查找功能时,TCAM硬件完全忽略对该存储区块的处理,使得该存储区块不参与查找工作,从而可以减少TCAM的功耗与发热量。
[0027]另外,每个存储区块查找匹配表项时,当有多个匹配表项时,则选择优先级高的区块里面优先级高的表项作为查找结果。
[0028]因此,分区的TCAM可以根据表项的大小调整打开或关闭查找功能的区块,从而能够自动调整TCAM的功耗与发热量,当需要存储较少表项时,TCAM可以只使用少数区块,并关闭其他区块,故TCAM只会产生较少的功耗与发热量,当需要存储的表项增多时,可以打开一部分处于关闭状态的存储区块,并能够自动调整TCAM的功耗与发热量,从而满足对大表项查找的需求。
[0029]参见图1Β,为应用本发明实施例表项管理的另一硬件设计示意图:
[0030]图1B中示出了一种TCAM集群的示意图。该TCAM集群可以位于网络设备上,可以由多个小容量TCAM级联而成,其包括至少两个级联TCAM,每个级联TCAM皆可以是存储表项的存储区块。其中,可以采用压缩算法来压缩表项内容,使得每个级联TCAM能够保存更多的表项。
[0031]如图1B所示,TCAM集群包括TCAMl、TCAM2、…、TCAMn。比如:按照每个TCAM能够存储IK表项来划分,对于能够存储128K表项的大容量的TCAM集群,可以由128个TCAM级联而成。
[0032]其中,每个小容量的TCAM可以单独设置优先级,并且可以单独打开或者关闭查找功能。当关闭某个TCAM的查找功能时,TCAM集群完全忽略对该TCAM的处理,使得该TCAM不参与查找工作,从而可以减少TCAM集群的功耗与发热量。
[0033]另外,每个小容量的TCAM查找匹配表项时,当有多个匹配表项时,则选择优先级高的TCAM里面优先级高的表项作为查找结果。
[0034]因此,由多个小容量TCAM级联而成的TCAM集群,可以根据表项的大小调整打开或关闭查找功能的小容量TCAM,从而能够自动调整TCAM集群的功耗与发热量,当需要存储较少表项时,TCAM集群可以只使用少数TCAM,并关闭其他的TCAM,故TCAM集群只会产生较少的功耗与发热量,当需要存储的表项增多时,可以打开一部分处于关闭状态的TCAM,并能够自动调整TCAM集群的功耗与发热量,从而满足对大表项查找的需求。
[0035]下面结合附图对本发明表项管理实施例进行详细描述。
[0036]参见图2,为本发明表项管理方法的一个实施例流程图。该表项管理方法可以应用于网络设备,该网络设备中包含有TCAM,并且该TCAM中设置有存储区块。其中,存储有表项的存储区块处于使用状态,未存储表项的存储区块处于关闭状态。该TCAM可以是一个TCAM分为多个存储区块,比如,图1A所示的大容量TCAM ;还可以是每个T