新四季網

基於tcam的查表處理方法及裝置製造方法

2023-11-04 05:48:17

基於tcam的查表處理方法及裝置製造方法【專利摘要】本發明提供了一種基於TCAM的查表處理方法及裝置,其中,上述方法包括:執行用於查詢TCAM表項的第一查詢過程;在執行所述第一查詢過程中,執行用於查詢除所述TCAM表項之外的其它表項的第二查詢過程,其中,所述第一查詢過程和所述第二查詢過程是獨立運行的;通過所述第一查詢過程和所述第二查詢過程分別獲取第一查詢結果和第二查詢結果。採用本發明提供的上述技術方案,解決了相關技術中,基於TCAM的查表方式導致的報文處理時間較長,進而影響到報文的轉發性能等技術問題,進而減少了報文處理的時間,從而提高了報文的轉發性能。【專利說明】基於TCAM的查表處理方法及裝置【
技術領域:
】[0001]本發明涉及通信領域,尤其是涉及一種基於TCAM的查表處理方法及裝置。【
背景技術:
】[0002]基於三態內容尋址存儲器(TernaryContentAddressableMemory,簡稱為TCAM)的查表方式,方便快捷,支持長鍵值和掩碼的查表類型。在需要支持大量訪問控制列表(AccessControlList,簡稱為ACL)或者大量路由的時候,一般交換機的設備商都會選擇TCAM來實現ACL或者路由的查表。[0003]目前TCAM晶片的查表架構是確定的,TCAM查表返回的結果只能是條目索引號,而不能得到最終的結果。一個表項如果要通過TCAM來實現,需要設計成:組裝好的鍵值去查TCAM,TCAM返回條目索引號,然後再使用這個條目索引號查一張直接表,得到最終查表結果。也就是表項設計成TCAM查表類型,就必須要查一張TCAM表和一張直接表。[0004]開發者使用TCAM查表,都是先將控制字和鍵值發送給TCAM,然後等待TCAM查表結束將結果(result)返回。最後再用返回的result中的索引(index)查直接表,得到想要的結果。TCAM查表的過程中,因為晶片中查表結果存放的寄存器是唯一的,因此不能再去查其他的表項,只能空等待。如圖1所示,相關技術中的TCAM查表方案包括如下步驟:[0005]步驟S102:準備TCAM的查表鍵值,準備完之後執行步驟S104;[0006]步驟S104:使用準備好的查表鍵值查TCAM表,然後執行步驟S106;[0007]步驟S106:判斷TCAM查表是否已經返回結果(result),如果已經返回,執行步驟S108;如果沒有返回,繼續執行步驟S106,也就是一個等待的過程;[0008]步驟S108:使用返回的result中的index查直接表;[0009]步驟SllO:得到想要的查表結果,結束。[0010]從上面的查表步驟中可以看到:步驟S106花費的時間就是一次TCAM查表的時間,在這段時間內,因為交換機中查表結果存放的寄存器是固定的,因此不能再去查其他的表項,只能空等待。[0011]因此,TCAM查表會消耗大量的查表性能,在業務轉發流程複雜的情況下,會導致業務達不到轉發要求。使用TCAM作為表項存儲的業務,雖然TCAM查表簡單快捷,但是轉發性能是一大難點。[0012]針對相關技術中的上述問題,目如尚未提出有效的解決方案。【
發明內容】[0013]針對相關技術中,基於TCAM的查表方式導致的報文處理時間較長,進而影響到報文的轉發性能等技術問題,本發明提供了一種基於TCAM的查表處理及裝置,以至少解決上述問題。[0014]根據本發明的一個方面,提供了一種基於TCAM的查表處理方法,包括:執行用於查詢TCAM表項的第一查詢過程;在執行所述第一查詢過程中,執行用於查詢除所述TCAM表項之外的其它表項的第二查詢過程,其中,所述第一查詢過程和所述第二查詢過程是獨立運行的;通過所述第一查詢過程和所述第二查詢過程分別獲取第一查詢結果和第二查詢結果。[0015]優選地,通過所述第一查詢過程獲取第一查詢結果,包括:將從TCAM查詢到的第一查詢結果存儲至除查表引擎專用寄存器之外的指定寄存器;將所述第一查詢結果從所述指定寄存器讀取至所述查表引擎專用寄存器;從所述查詢引擎專用寄存器中獲取所述第一查詢結果。[0016]優選地,將所述第一查詢結果從所述指定寄存器讀取至所述查表引擎專用寄存器之前,包括:判斷所述第二查詢過程是否結束,其中,在判斷為結束的情況下,將所述第一查詢結果從所述指定寄存器讀取至所述查表引擎專用寄存器。[0017]優選地,判斷所述第二查詢過程是否結束,包括:判斷所述其它表項中的待查詢表項是否已經遍歷查詢完成。[0018]優選地,通過所述第二查詢過程獲取所述第二查詢結果,包括:將通過所述第二查詢過程查找到的所述第二查詢結果存儲至所述查表引擎專用寄存器;從所述查詢引擎專用寄存器中獲取所述第二查詢結果。[0019]優選地,執行用於查詢除所述TCAM表項之外的其它表項的第二查詢過程,包括:在根據用於查詢TCAM表項的查詢消息觸發執行所述第一查詢過程後,執行所述第二查詢過程。[0020]根據本發明的另一個方面,提供了一種基於TCAM的查表處理裝置,包括:第一執行模塊,用於執行用於查詢TCAM表項的第一查詢過程;第二執行模塊,用於在執行所述第一查詢過程中,執行用於查詢除所述TCAM表項之外的其它表項的第二查詢過程,其中,所述第一查詢過程和所述第二查詢過程是獨立運行的;獲取模塊,用於通過所述第一查詢過程和所述第二查詢過程分別獲取第一查詢結果和第二查詢結果。[0021]優選地,所述獲取模塊包括:第一存儲單元,用於將從TCAM查詢到的第一查詢結果存儲至除查表引擎專用寄存器之外的指定寄存器;讀取單元,用於將所述第一查詢結果從所述指定寄存器讀取至所述查表引擎專用寄存器;第一獲取單元,用於從所述查詢引擎專用寄存器中獲取所述第一查詢結果。[0022]優選地,所述獲取模塊包括:第二存儲單元,用於將通過所述第二查詢過程查找到的所述第二查詢結果存儲至所述查表引擎專用寄存器;第二獲取單元,用於從所述查詢引擎專用寄存器中獲取所述第二查詢結果。[0023]優選地,所述第二執行模塊,用於在根據用於查詢TCAM表項的查詢消息觸發執行所述第一查詢過程後,執行所述第二查詢過程。[0024]通過本發明,採用在執行用於查詢TCAM表項的第一查詢過程中,執行用於查詢除所述TCAM表項之外的其它表項的第二查詢過程的技術手段,解決了相關技術中,基於TCAM的查表方式導致的報文處理時間較長,進而影響到報文的轉發性能等技術問題,進而減少了報文處理的時間,從而提高了報文的轉發性能。【專利附圖】【附圖說明】[0025]此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用於解釋本發明,並不構成對本發明的不當限定。在附圖中:[0026]圖1為根據相關技術的TCAM查表方法的流程圖;[0027]圖2為根據本發明實施例的基於TCAM的查表處理方法的流程圖;[0028]圖3為根據本發明實施例的基於TCAM的查表處理裝置的結構框圖;[0029]圖4為根據本發明實施例的基於TCAM的查表處理裝置的另一結構框圖;[0030]圖5為根據本發明優選實施例的基於TCAM的查表處理方法的流程圖;[0031]圖6為根據本發明優選實施例的基於TCAM的查表處理方法的流程圖。【具體實施方式】[0032]下文中將參考附圖並結合實施例來詳細說明本發明。需要說明的是,在不衝突的情況下,本申請中的實施例及實施例中的特徵可以相互組合。[0033]實施例1[0034]圖2為根據本發明實施例的基於TCAM的查表處理方法的流程圖。如圖2所示,該方法包括:[0035]步驟S202,執行用於查詢TCAM表項的第一查詢過程;[0036]步驟S204,在執行第一查詢過程中,執行用於查詢除TCAM表項之外的其它表項的第二查詢過程,其中,第一查詢過程和第二查詢過程是獨立運行的;[0037]步驟S206,通過第一查詢過程和第二查詢過程分別獲取第一查詢結果和第二查詢結果。[0038]通過上述各個處理步驟,由於在執行用於查詢TCAM表項的第一查詢過程中,執行了用於查詢除所述TCAM表項之外的其它表項的第二查詢過程,充分利用了上述第一查詢過程中用於等待查詢結果的等待時間,從而有效減少了報文處理的時間,進而提高了報文的轉發性能。[0039]本實施例中,為了不影響正常TCAM查表,在通過第一查詢過程獲取第一查詢結果的過程中,需要設置一個和查表引擎專用寄存器不同的指定寄存器存儲返回的查詢結果,具體實現過程如下:將從TCAM查詢到的第一查詢結果存儲至除查表引擎專用寄存器之外的指定寄存器;將第一查詢結果從指定寄存器讀取至查表引擎專用寄存器;從查詢引擎專用寄存器中獲取第一查詢結果。[0040]在本實施例中,將第一查詢結果從指定寄存器讀取至查表引擎專用寄存器之前,需要判斷第二查詢過程是否結束,其中,在判斷為結束的情況下,將第一查詢結果從指定寄存器讀取至查表引擎專用寄存器。[0041]在上述其它表項為多個時,上述判斷過程可以表現為以下方式:判斷其它表項中的待查詢表項是否已經遍歷查詢完成。[0042]上述第二查詢過程可以通過以下方式實現:將通過第二查詢過程查找到的第二查詢結果存儲至查表引擎專用寄存器;從查詢引擎專用寄存器中獲取第二查詢結果。[0043]執行用於查詢除TCAM表項之外的其它表項的第二查詢過程的時機可以選擇在第二查詢過程中的任意時機,具體根據實際情況而定,在本實施例的一個優選實施方式中,可以在根據用於查詢TCAM表項的查詢消息觸發執行第一查詢過程後,執行第二查詢過程。[0044]在本實施例中還提供了一種基於TCAM的查表處理裝置,該裝置用於實現上述實施例及優選實施方式,已經進行過說明的不再贅述,下面對該裝置中涉及到的模塊進行說明。如以下所使用的,術語"模塊"可以實現預定功能的軟體和/或硬體的組合。儘管以下實施例所描述的裝置較佳地以軟體來實現,但是硬體,或者軟體和硬體的組合的實現也是可能並被構想的。圖3為根據本發明實施例的基於TCAM的查表處理裝置的結構框圖。如圖3所示,該裝置包括:[0045]第一執行模塊30,連接至第二執行模塊32和獲取模塊34,用於執行用於查詢TCAM表項的第一查詢過程;[0046]第二執行模塊32,連接至獲取模塊34,用於在執行第一查詢過程中,執行用於查詢除TCAM表項之外的其它表項的第二查詢過程,其中,第一查詢過程和第二查詢過程是獨立運行的;[0047]獲取模塊34,用於通過第一查詢過程和第二查詢過程分別獲取第一查詢結果和第_查詢結果。[0048]通過上述各個模塊實現的功能,同樣可以充分利用上述第一查詢過程中用於等待查詢結果的等待時間,從而有效減少報文處理的時間,進而提高報文的轉發性能。[0049]優選地,如圖4所示,上述獲取模塊34包括:第一存儲單元340,連接至讀取單元342,用於將從TCAM查詢到的第一查詢結果存儲至除查表引擎專用寄存器之外的指定寄存器;讀取單元342,連接至第一獲取單元344,用於將第一查詢結果從指定寄存器讀取至查表引擎專用寄存器;第一獲取單元344,用於從查詢引擎專用寄存器中獲取第一查詢結果。[0050]優選地,如圖4所示,上述獲取模塊34包括:第二存儲單元346,連接至第二獲取單元348,用於將通過第二查詢過程查找到的第二查詢結果存儲至查表引擎專用寄存器;第二獲取單元348,用於從查詢引擎專用寄存器中獲取第二查詢結果。[0051]優選地,上述第二執行模塊32,用於在根據用於查詢TCAM表項的查詢消息觸發執行第一查詢過程後,執行第二查詢過程。[0052]為了更好地理解上述實施例,以下結合上述實施例的優選實施例1-2詳細說明。[0053]實施例1[0054]本實施例提供一種基於TCAM的查表處理方法,在TCAM查表等待結果的過程中,力口入了其他表項的查找,從而減少了報文處理的時間,提高了報文的轉發性能。[0055]為實現上述目的,本實施例採用的技術方案如下:充分利用相關技術中(如圖1所示的方案)空等待的時間,穿插查找其他的需要查找的表項(如查一張哈希表),查找完成之後,再判斷TCAM查表是否已完成,如果完成,再查一張直接表,沒有完成則等待。[0056]如圖5所示,該方法包括以下處理步驟:[0057]步驟S502:準備TCAM的查表鍵值,準備完之後執行步驟S504;[0058]步驟S504:使用準備好的查表鍵值查TCAM表。[0059]在此需要強調的是:TCAM查表和其他的普通查表不一樣,TCAM查表是數據處理晶片將控制字和鍵值發送給TCAM,TCAM獨自進行查表的過程。[0060]數據處理晶片只需要給TCAM查表指定一個返回寄存器(該返回寄存器不佔用查表引擎專用寄存器,而查表引擎專用寄存器又可以讀取到返回寄存器中的TCAM返回值),然後在TCAM查表等待的過程中,數據處理晶片就可以再去查找其他的表項。[0061]於是在步驟S504中,數據處理晶片必須指定TCAM查表結束,result返回到一個返回寄存器,而非查表引擎專用寄存器。[0062]TCAM查表命令執行完成之後(也就是將控制字和鍵值發送給TCAM之後),執行步驟3。[0063]步驟S506:看有沒有需要並行查找的表項,也就是和TCAM查找結果無關的表項。如果有的話,就穿插在TCAM等待的間隙查找,即並行查找,並行查表結束之後,執行步驟S508;[0064]步驟S508:讀取TCAM返回值寄存器,將TCAM查找result讀取到查表引擎專用寄存器中;執行步驟S510;[0065]步驟S510:判斷TCAM查表是否已經返回result,如果返回,執行步驟S512;如果沒有返回,繼續執行步驟S510,也就是一個等待的過程,即使等待也是一個很短的時間;[0066]步驟S512:使用返回的result中的index查直接表,得到真正想要的查表結果。結束。[0067]本實施例中的上述方案適用於對各種類型的TCAM查表。[0068]實施例2[0069]本實施例給出了一個簡單的報文處理的實例。見表1,一共需要查四張表:其中tablel是一張獨立的表項,什麼時候查都無所謂;table2_table4必須順序查,table4依賴table3,table3依賴table2。【權利要求】1.一種基於三態內容尋址存儲器TCAM的查表處理方法,其特徵在於,包括:執行用於查詢TCAM表項的第一查詢過程;在執行所述第一查詢過程中,執行用於查詢除所述TCAM表項之外的其它表項的第二查詢過程,其中,所述第一查詢過程和所述第二查詢過程是獨立運行的;通過所述第一查詢過程和所述第二查詢過程分別獲取第一查詢結果和第二查詢結果。2.根據權利要求1所述的方法,其特徵在於,通過所述第一查詢過程獲取第一查詢結果,包括:將從TCAM查詢到的第一查詢結果存儲至除查表引擎專用寄存器之外的指定寄存器;將所述第一查詢結果從所述指定寄存器讀取至所述查表引擎專用寄存器;從所述查詢引擎專用寄存器中獲取所述第一查詢結果。3.根據權利要求2所述的方法,其特徵在於,將所述第一查詢結果從所述指定寄存器讀取至所述查表引擎專用寄存器之前,包括:判斷所述第二查詢過程是否結束,其中,在判斷為結束的情況下,將所述第一查詢結果從所述指定寄存器讀取至所述查表引擎專用寄存器。4.根據權利要求3所述的方法,其特徵在於,判斷所述第二查詢過程是否結束,包括:判斷所述其它表項中的待查詢表項是否已經遍歷查詢完成。5.根據權利要求1所述的方法,其特徵在於,通過所述第二查詢過程獲取所述第二查詢結果,包括:將通過所述第二查詢過程查找到的所述第二查詢結果存儲至所述查表引擎專用寄存器;從所述查詢引擎專用寄存器中獲取所述第二查詢結果。6.根據權利要求1至5任一項所述的方法,其特徵在於,執行用於查詢除所述TCAM表項之外的其它表項的第二查詢過程,包括:在根據用於查詢TCAM表項的查詢消息觸發執行所述第一查詢過程後,執行所述第二查詢過程。7.-種基於三態內容尋址存儲器TCAM的查表處理裝置,其特徵在於,包括:第一執行模塊,用於執行用於查詢TCAM表項的第一查詢過程;第二執行模塊,用於在執行所述第一查詢過程中,執行用於查詢除所述TCAM表項之外的其它表項的第二查詢過程,其中,所述第一查詢過程和所述第二查詢過程是獨立運行的;獲取模塊,用於通過所述第一查詢過程和所述第二查詢過程分別獲取第一查詢結果和第二查詢結果。8.根據權利要求7所述的裝置,其特徵在於,所述獲取模塊包括:第一存儲單元,用於將從TCAM查詢到的第一查詢結果存儲至除查表引擎專用寄存器之外的指定寄存器;讀取單元,用於將所述第一查詢結果從所述指定寄存器讀取至所述查表引擎專用寄存器;第一獲取單元,用於從所述查詢引擎專用寄存器中獲取所述第一查詢結果。9.根據權利要求7所述的裝置,其特徵在於,所述獲取模塊包括:第二存儲單元,用於將通過所述第二查詢過程查找到的所述第二查詢結果存儲至所述查表引擎專用寄存器;第二獲取單元,用於從所述查詢引擎專用寄存器中獲取所述第二查詢結果。10.根據權利要求7至9任一項所述的裝置,其特徵在於,所述第二執行模塊,用於在根據用於查詢TCAM表項的查詢消息觸發執行所述第一查詢過程後,執行所述第二查詢過程。【文檔編號】G06F17/30GK104239337SQ201310244525【公開日】2014年12月24日申請日期:2013年6月19日優先權日:2013年6月19日【發明者】顧霞,張啟申申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀