表項管理方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及網絡通信技術領域,尤其涉及表項管理方法及裝置。
【背景技術】
[0002]三態(tài)內容尋址存儲器(ternarycontent addressable memory,TCAM)是一種常用的基于內容查找的器件。由于TCAM具有查找速度快,操作簡單等優(yōu)點,故在網絡設備中大量用于路由、訪問控制列表(Access Control List,ACL)、硬件地址(Media AccessControl, MAC)等內容的查找。但是,TCAM還存在功耗大、發(fā)熱量高等缺點。
[0003]現有技術中,為了克服TCAM的缺點,一般通過壓縮算法來壓縮表項內容,使得采用較少容量的TCAM就能夠保存更多的表項,從而實現利用較小容量的TCAM器件來降低TCAM的功耗與發(fā)熱量。
[0004]但是,通過壓縮算法壓縮表項內容后,TCAM的容量仍然有限,若需要保存大表項時,即使壓縮也需要使用大容量的TCAM,而大容量的TCAM的功耗與發(fā)熱量都較大;若需要使用大容量的TCAM保存小表項時,也不會降低大容量的TCAM的功耗與發(fā)熱量,還造成TCAM的資源浪費,因此,現有技術無法更好地解決TCAM容量與TCAM功耗、發(fā)熱量之間的矛盾。
【發(fā)明內容】
[0005]本發(fā)明提供表項管理方法及裝置,以解決現有技術無法更好地解決TCAM容量與TCAM功耗、發(fā)熱量之間的矛盾的問題。
[0006]根據本發(fā)明實施例的第一方面,提供一種表項管理方法,所述方法應用于網絡設備,所述網絡設備中包含有TCAM,所述TCAM中設置有存儲區(qū)塊,其中,存儲有表項的存儲區(qū)塊處于使用狀態(tài),未存儲表項的存儲區(qū)塊處于關閉狀態(tài),所述方法包括:
[0007]生成待添加表項;
[0008]當所述TCAM中處于使用狀態(tài)的存儲區(qū)塊的剩余空間小于所述待添加表項所需占用的空間時,則從處于關閉狀態(tài)的存儲區(qū)塊中選擇一存儲區(qū)塊,并將所選擇的存儲區(qū)塊置為使用狀態(tài);
[0009]向所述TCAM插入所述待添加表項。
[0010]根據本發(fā)明實施例的第二方面,提供一種表項管理裝置,所述裝置應用于網絡設備,所述網絡設備中包含有TCAM,所述TCAM中設置有存儲區(qū)塊,其中,存儲有表項的存儲區(qū)塊處于使用狀態(tài),未存儲表項的存儲區(qū)塊處于關閉狀態(tài),所述裝置包括:
[0011]表項管理單元,用于生成待添加的表項;
[0012]第一選擇單元,用于當所述TCAM中處于使用狀態(tài)的存儲區(qū)塊的剩余空間小于所述待添加表項所需占用的空間時,則從處于關閉狀態(tài)的存儲區(qū)塊中選擇一存儲區(qū)塊,并將所選擇的存儲區(qū)塊置為使用狀態(tài);
[0013]插入單元,用于向所述TCAM插入所述待添加表項。
[0014]應用本發(fā)明實施例,生成待添加表項后,當TCAM中處于使用狀態(tài)的存儲區(qū)塊的剩余空間小于待添加表項所需占用的空間時,則從處于關閉狀態(tài)的存儲區(qū)塊中選擇一存儲區(qū)塊,并將所選擇的存儲區(qū)塊置為使用狀態(tài),再向TCAM插入待添加表項,使得表項集中存儲在處于使用狀態(tài)的存儲區(qū)塊上,未存儲表項的存儲區(qū)塊處于關閉狀態(tài),從而實現了在滿足表項存儲的前提下,并降低了 TCAM的功耗和發(fā)熱量。
【附圖說明】
[0015]圖1A是應用本發(fā)明實施例表項管理的一硬件設計示意圖;
[0016]圖1B是應用本發(fā)明實施例表項管理的另一硬件設計示意圖;
[0017]圖2是本發(fā)明表項管理方法的一個實施例流程圖;
[0018]圖3是本發(fā)明表項管理方法的另一個實施例流程圖;
[0019]圖4是本發(fā)明表項管理方法的另一個實施例流程圖;
[0020]圖5是本發(fā)明表項管理裝置所在設備的一種硬件結構圖;
[0021]圖6是本發(fā)明表項管理裝置的一個實施例框圖。
【具體實施方式】
[0022]為了使本技術領域的人員更好地理解本發(fā)明實施例中的技術方案,并使本發(fā)明實施例的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結合附圖對本發(fā)明實施例中技術方案作進一步詳細的說明。
[0023]參見圖1A,為應用本發(fā)明實施例表項管理的一硬件設計示意圖:
[0024]圖1A中示出了一種TCAM的分區(qū)示意圖。該TCAM位于網絡設備上,可以為大容量的TCAM,其包括至少兩個存儲區(qū)塊,每個存儲區(qū)塊皆是可以存儲表項的,并且各存儲區(qū)塊的空間可以為一個表項所占空間的整數倍。其中,存儲有表項的存儲區(qū)塊處于使用狀態(tài),未存儲表項的存儲區(qū)塊處于關閉狀態(tài)。另外,可以采用壓縮算法來壓縮表項內容,使得每個存儲區(qū)塊能夠保存更多的表項。
[0025]如圖1A所示,TCAM包括存儲區(qū)塊1、存儲區(qū)塊2、…、存儲區(qū)塊η。比如:按照每個存儲區(qū)塊能夠存儲IK表項來劃分,對于能夠存儲128Κ表項的大容量的TCAM,可以劃分為128個存儲區(qū)塊。
[0026]其中,每個存儲區(qū)塊相當處于一個單獨的小容量的TCAM,每個存儲區(qū)塊可以單獨設置優(yōu)先級,并且可以單獨打開或者關閉查找功能。當關閉某個存儲區(qū)塊的查找功能時,TCAM硬件完全忽略對該存儲區(qū)塊的處理,使得該存儲區(qū)塊不參與查找工作,從而可以減少TCAM的功耗與發(fā)熱量。
[0027]另外,每個存儲區(qū)塊查找匹配表項時,當有多個匹配表項時,則選擇優(yōu)先級高的區(qū)塊里面優(yōu)先級高的表項作為查找結果。
[0028]因此,分區(qū)的TCAM可以根據表項的大小調整打開或關閉查找功能的區(qū)塊,從而能夠自動調整TCAM的功耗與發(fā)熱量,當需要存儲較少表項時,TCAM可以只使用少數區(qū)塊,并關閉其他區(qū)塊,故TCAM只會產生較少的功耗與發(fā)熱量,當需要存儲的表項增多時,可以打開一部分處于關閉狀態(tài)的存儲區(qū)塊,并能夠自動調整TCAM的功耗與發(fā)熱量,從而滿足對大表項查找的需求。
[0029]參見圖1Β,為應用本發(fā)明實施例表項管理的另一硬件設計示意圖:
[0030]圖1B中示出了一種TCAM集群的示意圖。該TCAM集群可以位于網絡設備上,可以由多個小容量TCAM級聯(lián)而成,其包括至少兩個級聯(lián)TCAM,每個級聯(lián)TCAM皆可以是存儲表項的存儲區(qū)塊。其中,可以采用壓縮算法來壓縮表項內容,使得每個級聯(lián)TCAM能夠保存更多的表項。
[0031]如圖1B所示,TCAM集群包括TCAMl、TCAM2、…、TCAMn。比如:按照每個TCAM能夠存儲IK表項來劃分,對于能夠存儲128K表項的大容量的TCAM集群,可以由128個TCAM級聯(lián)而成。
[0032]其中,每個小容量的TCAM可以單獨設置優(yōu)先級,并且可以單獨打開或者關閉查找功能。當關閉某個TCAM的查找功能時,TCAM集群完全忽略對該TCAM的處理,使得該TCAM不參與查找工作,從而可以減少TCAM集群的功耗與發(fā)熱量。
[0033]另外,每個小容量的TCAM查找匹配表項時,當有多個匹配表項時,則選擇優(yōu)先級高的TCAM里面優(yōu)先級高的表項作為查找結果。
[0034]因此,由多個小容量TCAM級聯(lián)而成的TCAM集群,可以根據表項的大小調整打開或關閉查找功能的小容量TCAM,從而能夠自動調整TCAM集群的功耗與發(fā)熱量,當需要存儲較少表項時,TCAM集群可以只使用少數TCAM,并關閉其他的TCAM,故TCAM集群只會產生較少的功耗與發(fā)熱量,當需要存儲的表項增多時,可以打開一部分處于關閉狀態(tài)的TCAM,并能夠自動調整TCAM集群的功耗與發(fā)熱量,從而滿足對大表項查找的需求。
[0035]下面結合附圖對本發(fā)明表項管理實施例進行詳細描述。
[0036]參見圖2,為本發(fā)明表項管理方法的一個實施例流程圖。該表項管理方法可以應用于網絡設備,該網絡設備中包含有TCAM,并且該TCAM中設置有存儲區(qū)塊。其中,存儲有表項的存儲區(qū)塊處于使用狀態(tài),未存儲表項的存儲區(qū)塊處于關閉狀態(tài)。該TCAM可以是一個TCAM分為多個存儲區(qū)塊,比如,圖1A所示的大容量TCAM ;還可以是每個T