一種基於外設部件互聯總線的內容查找晶片及系統的製作方法
2023-07-28 08:32:31 2
專利名稱:一種基於外設部件互聯總線的內容查找晶片及系統的製作方法
技術領域:
本發明涉及通信以及信息技術領域,特別是涉及一種基於外設部件互聯總線的內容查找晶片及系統。
背景技術:
在通訊領域中,硬體查表都是通過內容存儲模塊完成,其中內容存儲模塊可由三態內容尋址存儲器(ternary content addressable memory, TCAM)晶片或內容尋址存儲器(content addressable memory, CAM)晶片實現,而較新的TCAM晶片或者CAM晶片都是採用通信接口,例如高速串行接口協議(Interlaken Look Aside, Interlaken-LA))接口,或者專用的CAM接口來收發串行數據包,因此,寫入至TCAM晶片或者CAM晶片的操作請求、待寫入數據、鍵值以及由TCAM晶片或者CAM晶片產生的操作響應數據需封裝成串行數據包,然後在Interlaken-LA接口或者CAM接口輸入或輸出。並且,較老的TCAM或CAM晶片則使用特定的並行總線。現有技術中的很多處理器往往只設置有PCI (PeripheralComponentInterconnect,外設部件互聯)或高速外設部件互聯(PeripheralComponentInterconnect Express, PCIe)接口,而沒有設置上述的 Interlaken-LA 或特定的CAM接口(如現階段大量應用的X86系列處理器以及ARM系列處理器)。但有時使用X86系列處理器的系統(比如應用安全系統)需要採用TCAM或CAM晶片來提高查表性能。現有技術中的一種實現方法如圖1所示,將一片FPGA(Field-Programmable Gate Array,現場可編程門陣列)晶片102設置於X86系列處理器101以及內容存儲模塊103之間,FPGA晶片102通過外設部件互聯總線104與X86系列處理器101連接,通過串行總線105與內容存儲模塊103相連接,X86系列處理器101與FPGA晶片102之間利用外設部件互聯總線104進行通信,FPGA晶片與TCAM或CAM晶片之間利用串行總線進行通信。FPGA晶片102將外設部件互聯總線104中傳輸的物理層數據轉換成在串行總線105傳輸的串行數據包,或將在串行總線105傳輸的串行數據包轉換成外設部件互聯總線104中傳輸的物理層數據。在上述的現有技術方案中,由於需要設置FPGA晶片,並對其進行邏輯開發工作,應用門檻較高,另外FPGA晶片的功耗往往很大,因此採用FPGA晶片會增加功耗並且提高成本,另外,由於FPGA晶片需將外設部件互聯總線中傳輸的物理層數據轉換為串行數據包,該數據格式的轉換也會導致數據處理需時較長。
發明內容
本發明主要解決的技術問題是提供一種基於外設部件互聯總線的內容查找晶片及系統實施例,能有效縮減數據處理時間,並且可降低功耗及成本。第一方面提供一種內容查找晶片,包括第一外設部件互聯接口模塊、協議轉換模塊以及內容存儲模塊,協議轉換模塊通過並行總線與外設部件互聯接口模塊連接,內容存儲模塊與協議轉換模塊通過指令總線、數據總線進行連接,其中第一外設部件互聯接口模塊,用於通過外設部件互聯總線從外部設備獲取第一處理層數據包;協議轉換模塊,用於通過並行總線從第一外設部件互聯接口模塊獲取第一處理層數據包,對第一處理層數據包進行解析並轉換為能夠被內容存儲模塊識別的操作請求和數據;內容存儲模塊,用於存儲內容,並根據操作請求進行操作並返回操作響應數據;指令總線,用於傳輸操作請求;數據總線,用於傳輸數據。結合第一方面的實施方式,在第一種可能的實施方式中,數據總線包括鍵值總線,用於當操作請求為查找操作請求時,傳輸待查找的內容的鍵值;查找結果返回總線,用於傳輸內容存儲模塊根據查找操作請求進行查找後返回的查找結果,查找結果包括待查找內容的存儲地址。結合第一方面的實施方式,在第二種可能的實施方式中內容存儲模塊,還用於通過查找結果返回總線將操作響應數據發送至協議轉換模塊;協議轉換模塊,還用於將操作響應數據封裝為第二處理層數據包並通過並行總線發送至外設部件互聯接口模塊,第一外設部件互聯接口模塊將第二處理層數據包轉換為第二處理層數據並發送至外設部件互聯總線。結合第一方面的實施方式,在第三種可能的實施方式中,協議轉換模塊根據第一處理層數據包的包頭中的Fmt欄位以及Type欄位產生對應的操作請求。結合第一方面的第三種可能的實施方式,在第四種可能的實施方式中,操作請求包括內容查找請求、表項讀取請求、表項寫入請求、寄存器讀取請求或表項刪除請求。結合第一方面的第四種可能的實施方式,在第五種可能的實施方式中,協議轉換模塊在檢測到第一處理層數據包的包頭中的Fmt欄位為00以及Type欄位為00010時,產生內容查找請求;協議轉換模塊在檢測到第一處理層數據包的包頭中的Fmt欄位為00或01以及Type欄位為00000時,產生表項讀取請求;協議轉換模塊在檢測到第一處理層數據包的包頭中的Fmt欄位為10或11以及Type欄位為00001時,產生表項寫入請求;協議轉換模塊在檢測到第一處理層數據包的包頭中的Fmt欄位為00以及Type欄位為00100時,產生寄存器讀取請求;協議轉換模塊在檢測到第一處理包的包頭中的Fmt欄位為10以及Type欄位為00100時,產生寄存器寫入請求;協議轉換模塊在檢測到第一處理層數據包的包頭中的Fmt欄位為10以及Type欄位為00101時,產生表項刪除請求。第二方面提供一種內容查找系統,內容查找系統包括第一方面的實施方式、第一方面的第一至第七種可能的實施方式中的任一者所述的內容查找晶片,內容查找系統進一步包括處理器晶片,處理器晶片設置有第二外設部件互聯接口模塊,第二外設部件互聯接口模塊通過外設部件互聯總線與第一外設部件互聯接口模塊連接。結合第二方面的實施方式,在第一種可能的實施方式中,處理器晶片為X86系列處理器晶片或ARM系列處理器晶片。區別於現有技術的情況,本發明實施例的一種基於外設部件互聯總線的內容查找晶片及系統通過設置外設部件互聯接口模塊、協議轉換模塊以及內容存儲模塊,利用外設部件互聯接口模塊對在外部外設部件互聯總線傳輸的物理層數據以及內部的處理層數據包進行轉換,利用協議轉換模塊將處理層數據包轉換為適用於內容存儲模塊操作請求、待寫入數據以及鍵值,並利用協議轉換模塊將內容存儲模塊產生的響應數據封裝為處理層數據包,從而避免了對外設部件互聯總線中的物理層數據以及內容存儲模塊專用的串行數據包進行相互轉換,並且無需採用功耗很大的FPGA晶片,因此可有效縮減處理時間,並且降低功耗及成本。
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1是現有技術中採用FPGA晶片進行協議轉換的內容查找系統的系統結構示意圖;圖2是本發明實施例提供的一種基於外設部件互聯總線的內容查找晶片的模塊結構示意圖;圖3是外設部件互聯體系中的數據轉換層數據包的包頭數據格式示意圖。圖4是本發明實施例提供的一種基於外設部件互聯總線的內容查找系統的系統結構示意圖。
具體實施例方式為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。請參見圖2,圖2是本發明實施例提供的一種基於外設部件互聯總線的內容查找晶片的模塊結構示意圖,如圖2所示,本發明第一實施例提供了一種基於外設部件互聯總線的內容查找晶片,該內容查找晶片包括外設部件互聯接口模塊201、協議轉換模塊202以及內容存儲模塊203。協議轉換模塊201通過並行總線205與第一外設部件互聯接口模塊201連接,內容存儲模塊203與協議轉換模塊202通過指令總線206、數據總線207進行連接,其中第一外設部件互聯接口模塊201通過外設部件互聯總線204從外部設備(圖2未繪示,於下文中會介紹)獲取第一處理層數據包;協議轉換模塊202通過並行總線205從第一外設部件互聯接口模塊201獲取第一處理層數據包,對第一處理層數據包進行解析並轉換為能夠被內容存儲模塊203識別的操作請求和數據;內容存儲模塊203用於存儲內容,並根據操作請求進行操作並返回操作響應數據;指令總線206用於傳輸操作請求;數據總線207,用於傳輸數據。內容查找晶片20設置有第一外設部件互聯接口模塊201、協議轉換模塊202以及內容存儲模塊203,利用第一外設部件互聯接口模塊201從外設部件互聯總線204獲取第一處理層數據包並通過並行總線205傳輸至協議轉換模塊202,利用協議轉換模塊202將第一處理層數據包轉換為能夠被內容存儲模塊203識別的操作請求與數據並發送至內容存儲模塊203,其中,內容存儲模塊可以識別的操作請求和數據包括基於二進位形式的操作請求和數據,協議轉換模塊202的處理避免了現有技術中通過FPGA晶片對在外設部件互聯總線中傳輸的物理層數據內容與存儲器晶片所專用的串行數據包進行數據格式轉換,因此可有效縮減處理時間、降低功耗及成本。在一種情形下,數據總線207可以包括鍵值總線2071與查找結果返回總線2072,鍵值總線2071用於當操作請求為查找操作請求時,傳輸待查找的內容的鍵值;查找結果返回總線2072,用於傳輸內容存儲模塊根據查找操作請求進行查找後返回的查找結果,查找結果包括待查找內容的存儲地址,另外,查找結果返回總線2072也可傳輸內容存儲模塊203根據操作請求進行操作並的返回操作響應數據。當然可以理解的是,數據總線207除了可以包括鍵值總線2071與查找結果返回總線2072之外,還可以包括用於傳輸向所述寫入數據的其他數據總線。在一種情形下,當從內容查找晶片向外部設備輸出數據時,內容存儲模塊203還用於通過查找結果返回總線2072將操作響應數據發送至協議轉換模塊202 ;協議轉換模塊202還用於將操作響應數據封裝為第二處理層數據包並通過並行總線發送至第一外設部件互聯接口模塊201,第一外設部件互聯接口模塊201將第二處理層數據包轉換為第二處理層數據並發送至外設部件互聯總線204。因此,本發明的內容查找晶片20更可通過上述方式將內容存儲模塊203產生的操作響應數據傳輸至外設部件互聯總線204。具體而言,內容存儲模塊203包括CAM存儲器以及TCAM存儲器,其中,CAM存儲器以及TCAM存儲器一般設置有指令總線接口、數據總線接口,因此,協議轉換模塊202可通過指令總線206與上述指令總線接口進行電路連接、通過數據總線與上述數據總線接口連接,以實現指令總線206傳輸操作指令至CAM存儲器或TCAM存儲器、數據總線207與CAM存儲器或TCAM存儲器之間進行數據傳輸的功能。通常外設部件互聯體系定義了 3層結構,分別是物理層、數據鏈路層和處理層,具體而言,在本發明實施例中,第一外設部件互聯接口模塊201包括處理層控制模塊、數據鏈路層控制模塊以及物理層控制模塊。物理層控制模塊從外設部件互聯總線204獲取第一物理層數據,數據鏈路層控制模塊將第一物理層數據轉換為第一數據鏈路層數據,處理層控制模塊將第一數據鏈路層數據封裝為第一處理層數據包。並且,處理層控制模塊通過並行總線205獲取第二處理層數據包,數據鏈路層控制模塊將第二處理層數據包轉換為第二數據鏈路層數據,處理層控制模塊將第二物理層數據轉換為第二物理層數據並發送至外設部件互聯總線204。在外設部件互聯體系中,處理層數據包(即TLP數據包,TranslationLayerPacket)定義為處理層上傳輸的基本數據包。它主要包括三部分處理層數據包包頭(TLPHeader)、負載數據(Data Payload)及偵錯碼(TLP Digest),其中,處理層數據包包頭的格式如圖3所示。如圖3所示,在外設部件互聯體系中,包頭的Fmt欄位和Type欄位定義TLP數據包(即第一數據轉換層數據包)的操作類型如下表所示
權利要求
1.一種內容查找晶片,其特徵在於,包括第一外設部件互聯接口模塊、協議轉換模塊以及內容存儲模塊,所述協議轉換模塊通過並行總線與所述外設部件互聯接口模塊連接,所述內容存儲模塊與所述協議轉換模塊通過指令總線、數據總線進行連接,其中 所述第一外設部件互聯接口模塊,用於通過外設部件互聯總線從外部設備獲取第一處理層數據包; 所述協議轉換模塊,用於通過所述並行總線從所述第一外設部件互聯接口模塊獲取所述第一處理層數據包,對所述第一處理層數據包進行解析並轉換為能夠被所述內容存儲模塊識別的操作請求和數據; 所述內容存儲模塊,用於存儲內容,並根據所述操作請求進行操作並返回操作響應數據; 所述指令總線,用於傳輸所述操作請求; 所述數據總線,用於傳輸所述數據。
2.根據權利要求1所述的內容查找晶片,其特徵在於,所述數據總線包括 鍵值總線,用於當所述操作請求為查找操作請求時,傳輸待查找的內容的鍵值; 查找結果返回總線,用於傳輸所述內容存儲模塊根據所述查找操作請求進行查找後返回的查找結果,所述查找結果包括所述待查找內容的存儲地址。
3.根據權利要求1所述的內容查找晶片,其特徵在於 所述內容存儲模塊,還用於通過所述查找結果返回總線將所述操作響應數據發送至所述協議轉換模塊; 所述協議轉換模塊,還用於將所述操作響應數據封裝為第二處理層數據包並通過所述並行總線發送至所述外設部件互聯接口模塊,所述第一外設部件互聯接口模塊將所述第二處理層數據包轉換為第二處理層數據並發送至所述外設部件互聯總線。
4.根據權利要求1所述的內容查找晶片,其特徵在於,所述協議轉換模塊根據所述第一處理層數據包的包頭中的Fmt欄位以及Type欄位產生對應的操作請求。
5.根據權利要求4所述的內容查找晶片,其特徵在於,所述操作請求包括內容查找請求、表項讀取請求、表項寫入請求、寄存器讀取請求或表項刪除請求。
6.根據權利要求5所述的內容查找晶片,其特徵在於 所述協議轉換模塊在檢測到所述第一處理層數據包的包頭中的Fmt欄位為OO以及Type欄位為00010時,產生所述內容查找請求; 所述協議轉換模塊在檢測到所述第一處理層數據包的包頭中的Fmt欄位為00或01以及Type欄位為00000時,產生所述表項讀取請求; 所述協議轉換模塊在檢測到所述第一處理層數據包的包頭中的Fmt欄位為10或11以及Type欄位為00001時,產生所述表項寫入請求; 所述協議轉換模塊在檢測到所述第一處理層數據包的包頭中的Fmt欄位為00以及Type欄位為00100時,產生所述寄存器讀取請求; 所述協議轉換模塊在檢測到所述第一處理包的包頭中的Fmt欄位為10以及Type欄位為00100時,產生所述寄存器寫入請求; 所述協議轉換模塊在檢測到所述第一處理層數據包的包頭中的Fmt欄位為10以及Type欄位為00101時,產生所述表項刪除請求。
7.一種內容查找系統,其特徵在於,所述內容查找系統包括權利要求1至7任一項所述的內容查找晶片,所述內容查找系統進一步包括 處理器晶片,所述處理器晶片設置有第二外設部件互聯接口模塊,所述第二外設部件互聯接口模塊通過所述外設部件互聯總線與所述第一外設部件互聯接口模塊連接。
8.根據權利要求7所述的內容查找系統,其特徵在於,所述處理器晶片為X86系列處理器晶片或ARM系列處理器晶片。
全文摘要
本發明公開一種基於外設部件互聯總線的內容查找晶片及系統,該內容查找晶片包括第一外設部件互聯接口模塊、協議轉換模塊及內容存儲模塊,協議轉換模塊通過並行總線與外設部件互聯接口模塊連接,內容存儲模塊與協議轉換模塊通過指令總線、數據總線連接,第一外設部件互聯接口模塊通過外設部件互聯總線獲取第一處理層數據包;協議轉換模塊通過並行總線獲取第一處理層數據包,對第一處理層數據包進行解析並轉換為能夠被內容存儲模塊識別的操作請求和數據;內容存儲模塊存儲內容,並根據操作請求進行操作並返回操作響應數據;指令總線傳輸操作請求;數據總線傳輸數據。通過上述技術方案,本發明可有效縮減處理時間,並且降低功耗及成本。
文檔編號G06F13/40GK103034602SQ201210519718
公開日2013年4月10日 申請日期2012年12月6日 優先權日2012年12月6日
發明者張學鋒, 安文杰 申請人:華為技術有限公司