TW201238307A - A method and system to connect an external network coprocessor to a network processor packet parser - Google Patents
A method and system to connect an external network coprocessor to a network processor packet parser Download PDFInfo
- Publication number
- TW201238307A TW201238307A TW100145006A TW100145006A TW201238307A TW 201238307 A TW201238307 A TW 201238307A TW 100145006 A TW100145006 A TW 100145006A TW 100145006 A TW100145006 A TW 100145006A TW 201238307 A TW201238307 A TW 201238307A
- Authority
- TW
- Taiwan
- Prior art keywords
- traffic
- coprocessor
- network
- gbps
- speed
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Description
201238307 六、發明說明: 【發明所屬之技術領域】 本發明通常有關網路處理;更特別而言,本發明旨在提 供一網路處理器封包剖析器與一外部共處理器之間的連接, 用以有效傳送工作酬載及接收處理附加網路功能的結果。 【先前技術】 一晶片的高性能網路處理器可能必須處理複雜的網路功 能。尤其,例如在乙太網路轉接器中,一封包剖析器可能必 須支援無法完全在該晶片上處理的高階封包分類與封包過滤 功能。在此狀況下’該刳析器將必須在外部共處理器啟用一 些封包處理功能,並從該共處理器取得回報結果,以將其當 作其自身封包處理結果的輸入使用。 決定從該封包剖析器具體化網路處理功能係常見,因為 不同功能可能需要不同處理架構與性能,該網路處理器晶片 不能包括所有這些特性。其他充分理由是晶片面積限制問 題,因為封包剖析附加網路功能可能需要非常大的邏輯與陣 列。 可由該封包剖析器具體化在該共處理器的一典型附加網 路處理功能為封包分類,包括(如一範例)採取不同搜尋演算 法(Patricia tree (Patricia 樹索引)、Cuckoo algorithm (Cuckoo 演算法)等)的在 TCAM (Ternary Content Addressable Memory,三態内容可尋址記憶體)中的查詢或雜湊型 (hase-based)查詢。可以具體化的一其他功能係該封包過濾功 201238307 能,其係基於從該封包所擷取的模式之認定。 開發封包剖析器連接外部共處理器的主要需求因此要有 =夠靈錢於各種頻寬需求及支援外部處理器可程式技術, 諸如FPGA ’以允許許多可能最終網路處理⑽、統設計。 美國專利第US7428618號係關於環繞兩網路處理器所架 構的一網路節點結構,—網路處理ϋ用於封包流的每-方 向’其經由共用記憶體(在圖2中的118)通訊。該結構係與位 於子卡(在圖2 t的122C)上的-組共處理器互補。所有共處 理器係透過硬體控制邏輯(在圖2中❺互連,其亦透過專 用記憶體(在圖2中的216DPSSRAM)提供介面給該等兩網路 處理器(在圖2中的245A)之一者。在此先前技藝文獻中,未 描述該共處理器可配置介面’而該通訊係經由用於透過專用 記憶體(在圖2中的216)在該共處理器與該網路處理器之間交 換凊求及回應的獨特介面(在圖2中的254A)達成。該獨特介 面係專用但為了支援該介面至該共處理器而具體設計。 美國專利第US20030041172號係關於允許相較於現有網 路處理ϋ的性能改良的網料點結構。該_關以外部共 處理器互補足現有網路處理器基礎架構。那時可使用的該^ 術不允許以使用該主要網路處理器的相關方式操作該共處理 器,具體因為對於大型暫存區及複雜狀態檢索演算法之需求 (參見[0001]之結尾)。隨後,以此解決辦法,具體任務並未與 由該網路處理器所處理的主要封包並行執行,而是與其序^ 執行(參見[0002]之結尾)。此解決辦法並未說明該共處理器的 201238307 該實體介面,尤其是,該介面並未說明為可調整成各種網路 系統需求的可配置介面。 【發明内容】 本發明之目的係提供用於連接在網路處理器晶片中的封 包剖析器至一外部共處理器之方法與系統,藉此以靈活方式 傳送工作酬載及接收結果以重覆使用現有控制/管理雙向序列 通道及在有限組的序列通道上支援許多類型流量及頻寬。 該目的係根據申睛專利範圍第丨項之方法在網路處理器 中達成,其包括第一通訊協定埠,其每一者支援s Gbps (flgablts per second,每秒十億位元)速度的n通道上能有μ 小封包資料路徑流量,及支^Gbps速度的η個附加 k上的該網路處理器中能有不同通訊協定單元的流量,供 =該第-通訊協定埠以藉由位在該第—通訊協定槔之每二 網路邏輯,支援存取外部共處理11,其在剖析期 ::最小大小封包的接收’傳送-請求至該外部共處理 器’及從該外部共處理器接收1應,該方法包括: 最大找讀附力”Gbpsit度通道上傳送一請求 "至該共處理器,及從在相同附加⑽PS速产 α上L卜部錢理器接收— ^ ^ 此驗證該不等方程式NxS/M=<nxs/m,^Ml 該目的亦根據具中請專利範圍第】 範圍第2項在網路處 ,之方摘中凊專利 -者皆Μ Φ 核,其包括乙太網料,其每 在3.125 Gbps速度的四個通道上能有的糾位 201238307
Gbps速度的封包資料路徑流量,且及支援在3.Π5 定單元的l 的該網路絲器中能有不同通訊協 器,其在购路賴以紐麵外部共處理 -請求至科部續理$位70組最小大小封包的接收,傳送 應,該方法包括:、 歧從該外部共處理器接收一回 H析器在該附加3 125s Gbps速度通道上傳送嗜求最 通道上,’及綱附加⑽咖速度 卜。卩,、處理器接收一回應最大Μ位元組字。 真利根據具中請專利範圍第1或2項之方法的申請 ,職圍第3項達成,其更包括在以s咖速度傳送流量至 ^ S速度的該n個附加通道上前,在雙輸人多工器中多工化 通訊協料的’該共處理^存取在第—軌協定琿中的 ^ 位元組大小字流量及與在該網路處理器中有一個通訊 協疋單元的机虽’該雙輸人多王器係靜態可構成配置至該等 兩多工化流量之一者中。 ^該目的亦根據具申請專利範圍第3項之方法的申請專利 fe圍第4項達成,其中該靜態多工化共處理器在該靜態可構 成雙輸入多工器中多工化前,存取最大m位元組字流量,係 先在具來自一其他第一通訊協定埠的一共處理器存取最大m 位元組子流I的雙輪入動態多工器中多工化,該動態多工器 在流量仲裁演算法的控制下允許該等兩多工化流量。 201238307 該目的亦根據具申請專利範圍第丨至3中任一 ==範:5Λ達成’其更包括在SGbps := 反序列MHlgh Speed SerDes)中的序列化傳输與 收的該附加通道之該流量。 ^ 該目的亦根據具申請專利翻第4項之方法的巾請專利 範圍第6項達成’其更包括在2 χ sGbpR高速相/反序列
器中的序列化傳輸與反序列化接收的該附加雙向通道之該泣 量。 一L 該目的亦根據具申請專利範圍第1至6中任一項之方法 的申請專利範圍第7項達成,其中由不同通訊協定單元所支 援的該流量包括2.5 Gbps PCIe (PCI Express,快速周邊組件互 連)xl流量。 該目的亦根據具申請專利範圍第1至7中任一項之方法 的申凊專利範圍第8項達成,其中由不同通訊協定單元所支 援的該流量包括 1.25 Gbps SGMII (Serial Gigabit Media Independent Interface,序列十億位元媒體獨立介面)流量。 該目的亦根據具申請專利範圍第4至8中任一項之方法 的申請專利範圍第9項達成,其中該流量仲裁演算法為「工 作保留(work conserving)」循環執行演算法(round-r〇bin algorithm) ° 該目的亦根據具申請專利範圍第3至8中任一項之方法 201238307 1G項達成’其中用於外部共處理器存取的 組請求字與該最大大小_元組回應字包 .5疋埠的一識別碼,其支援該對應共處理器存 取敢大大小m位元組字流量。 成,根據具網路處理器的申請專利範圍第11項達 N通道Ϊ能料’其每—者支援在S _速度的 網路處理考Φ目最 元組資料路徑流量,及支援在該 道上的流i,=同通訊協定單元的n個附加sGbps速度通 -者中的處理器#由位在該第—通訊協定谭之每 、°j析網路邏輯,支援存取一外部妓處理$ ,該~ 應;網路處理器,及從該外部共處理器接收-回 元组字適於在^ 11 _加通道上傳送請求最大m位 ==處理器,及在相同S速度的n個附加通道上, 理^接收—回應最大大小m位元組字,因此驗 也以N X S/M =< n x s/m不等方程式。 μΪΙ的ιί根據具有中請專職圍第11項之義路處理器 的申明專利範圍第12項達成,其包括乙太網路崞,豆每 皆^援支援在S.WGbps速度的四通道上的㈠最小;;小位元 ^枓=流量,且及支援在該網路處理器中具不同通訊協 加3·125⑶1"速度通道的流量,該網路處理器 ^位於該乙太網路協料之每—者中的顺網路邏輯,支 援存取-俯卜部共處理H,該翁賴在剖㈣間適於 201238307 残,組封包的接收,傳送—請求至該外部共處理 ° ^二外,共處理器接收一回應,該網路處理器包括: —=。彳析ft適於在該—個附加通道上傳送請求最大⑹立 該共處理器,及在相同3 125速度附加通道上,從該 N i/iu理器接收—回應最大16大小位纽字,因此驗證該 N X S/M=<n χ s/m不等方程式。 該^的亦根據具申請專利範圍第n或^項之該網路處 請專利範圍第13項達成,其更包括一雙輸入多工 ’二夕=化該第一通訊協定埠的該共處理器存取最大大小 =立7〇組予流量、與在該網路處理器中具—網路協定單元的 二篁’該雙輸人多卫器係靜態可構成該等兩多工化流量之一 。該目的亦根據具申凊專利範圍第11或12項之該網路處 理器的中請專利範圍第14項達成,其更包括_雙輸入動態多 工f ,其在該多工化流量在靜態可構成雙輸入多工器中多工 化剛’多I化來自—第—通訊協定埠的—共處理器存取最大 大小m位元組字流量 '與來自一其他第一通訊協定埠的一共 ,理器,取最大大小m位元組字流量,靜態上,該動態多工 器在流量仲裁演算法的管制下,適於允許該等兩多工化流量。 該網路處理器之該乙太網路實體介面在附加通道上支援 該乙太網路資料流量與不同通訊協定單元(用於控制及資料) 流I ·以本發明之該解決辦法,具該外部共處理器的該剖析 器指令流亦在該附加通道上支援。此允許最小化在該網路處 201238307 理益上的的序列通道數量,其具有最佳化的封裝大小及成 ^及最小化由該大型高速序列/反序列器核心(自定邏輯)所 消=的該矽面積。由於所有這些原因,對於有該外部共處理 器介面共用這些附加雙向序列通道似乎非常有益。 【實施方式】 圖1為實施本發明之較佳具體實施例之具主要功能、輸 出通道及連接一外部共處理器的一網路處理器之全視圖。若 從上到下說明,圖1之該40 Gbps網路處理器(1〇〇)(此處表示 未與一電腦交換資料)實施處理功能,其專用處理器(1〇1至 107)連接至一内部處理器匯流排(1〇8)。兩主要網路協定係由 此網路處理器、由連接至該内部匯流排(例如至USB埠)及支 援外部連接的一 PCI (Peripheral Component Interconnect,周邊 組件互連)單元(120)、及由支援表示該乙太網路封包資料路徑 的4 x 1〇 (^ps IEEE (美國電機電子工程師學會)標準化 XAUI (1〇 Gb Attachment Unit Interface,百億位元附接單元) 介面(埠1、埠2、埠3及埠4)的乙太網路轉接器(no)支援。 該PCI及乙太網路資料流量係經由互連介面合併至該四個乙 太網路埠(埠1、埠2、埠3及槔4)。該PCI與乙太網路資料 流量隨後在高速序列/反序列器(160)中序列化(從上至下流 量),該產生的高速資料路徑(170)包括用於雙向傳輸及接收的 4 X 10b X 2之四個輸出序列化通道。 具有較該資料路徑低的速度、源自該PCI單元(120)與該 乙太網路轉接器(130)的某附加路徑(190)可包括,例如,如由 該四個輸出路徑(190)所例示’ 2 X 1 Gbps乙太網路資料路徑 201238307 與兩2.5 Gbps PCI Express (快速周邊組件互連)(一通道PCIe xl)資料路徑。此附加路徑(190)係經由第二高速序列/反序列器 (161)序列化。 在該網路處理器中,在該乙太網路轉接器、乙太網路封 包(55)分類中執行的該剖析器邏輯(14〇),傳送由一外部共處 理器(110)執行的某些剖析器附加網路功能。該共處理器為在 一晶片中實施的該網路處理器(100)之「外部(external)」於在 一個晶片中實行的該網路處理器(100)條件。應注意,四個輸 入係在該共處理器上表示,但在一外部共處理器上的輸入數 里係可變。在該從上至下的剖析器路徑中,該剖析器組合請 求訊息在其剖析器程序的其輸入暫存中匯編(assembles)請求 訊息。當該刳析器填充該訊息之該「指令位元组(c〇mmand Byte)」(其係稍後參考圖5描述的本文件中說明)時,完成該 組合匯編係完成。隨著該指令位元組,在由該圖式中的粗箭 頭所邏輯表示的該訊息流(15〇)中的該剖析器,觸發「請求 (request)」訊息編碼、序列化及傳輸至該共處理器⑴〇)的傳 =。在其從下至上的路徑中,該剖析器反序列化及解碼從該 共處理器接收的該「回應(response)」訊息,且其將此結果合 併其自身封包程序的結果。 該所明的雙向XCP (eXpiicit Control Protocol,明破控制
協定)剖析器·共處理器介面並非標準介面,但係定義為本發明 之該解決辦法之部分。 X 圖2例示該網路處理器剖析器連接至該外部共處理器的 201238307 最初實作,其並未實施該較佳具體實施例之該解決辦法。圖2 例示該網路處理器之該埠邏輯。本說明書中其他部分的「埠 (port)」使用稱為邏輯單元。在圖2中,一 40 Gbps網路處理 器(100)具有10 Gbps的四個乙太網路埠(200、201、202、203), 每一網路埠提供由IEEE標準定義的一雙向XAUI介面,其包 括3.125 Gbps的四個通道,每一通道在該傳輸與接收方向上 皆係10 b。此XAUI介面支援該資料路徑(220、221、222、223), 該乙太網路封包流量。此資料流量係在此處未表示的高速序 列/反序列器(High Speed SerDes) (160)中序列化。 該接收的封包是在該乙太網路璋(例如使用一以基於有 FSM為主的共處理器)中剖析(230、231、232、233),封包的 剖析需要由該外部共處理器所完成的附加處理、經由一 XCp 介面傳送請求及接收回應。該剖析器可在其封包剖析視窗 (window)期間隨時建立一 XCP請求,及使用用於每一乙太網 路埠的一 3.125序列通道將其傳送。假設,該典型xcp請求 為最大16位元組長,該長度為最小乙太網路封包大小(64 B) 的1/4,以速度3.125 Gbps來傳送至該(IEEE標準乙太網路) XAUI介面的四個通道,一附加的3.125 Gbps通道用於該XCP 介面(212)便足夠。 在到達該共處理器(110)前,在高速序列/反序列器(161) 中執行序列化/反序列化。 在此第一實施中,該XCP介面係共用在該網路處理器的 該lOGbps乙太網路埠上的該乙太網路資料流量。 13 201238307 一其他範例可為一光纖通道或其他通訊協定埠,其中序 列通道數1必須最佳化。假没’該其他通訊協定蟑提供S GbpS 的序列N通道以支援封包流,該封包流具有最小大小M位元 組,且支援最大m位元組之請求/回應字的速度s之n個附加 序列通道。以下一般不等方程式必須驗證: N X S/M =< η X s/m 事實上,所定義的變數必須符合以下相同的卩與?封包 週期性(p = P): 在該XAUI通道上: P = (M X 10)/(N X S) 在該η個附加通道上: p = (m X 10) / η x s P與p係以毫微秒(nanoseconds)為單位,μ與N是以位 元組(bytes)為單位,10為位元(bits)的數目,N與n為通道數 目,且S與s係以每秒十億位元(Gbps)為單位。 圖3例示未實施該較佳具體實施例之該解決辦法之該網 路處理器剖析器連接至該外部共處理器之第一最佳化。一典 型的40 G網路處理器實施四個XAUI介面,加上用於控制及 管理用途的少數額外序列通道,諸如用於網路管理的兩個 U5 Gbps (標準化)SGMII乙太網路通道及用於周邊控制(流 201238307 里朝向例如電細USB蜂)的兩個2.5 Gbps PCIe xl通道。 由於非常意欲需最小化在該網路處理器上的序列通道數 量,故如在圖3中所例示實施—第—通道共用。該等四個控 制/管理通道之每-者皆可獨立構成用於其初始功能性使用 (在該網路處理器中來自乙太網路轉接器130的SGMπ或來自 該PCI單元(120)的PCIe χΐ)或用於外部共處理器介面而獨立 配置。在-_加通道構成歸該xcp外料叙器介面而 配置的情況下,藉由請求該外部共處理加程序,該通 道允許結合有關該等四個1GG埠之—者的該剖析器延伸其功 能性的該剖析器藉由請求附加程序至該外部共處理器延^申苴 功能。 〃 此通道共用在圖3 (其為在埠3與埠4上共用的兩個χ(:ρ 流量之範例)中所例示的靜態多工器實施。一第一靜態多工器 (340)共用在該剖析器x〇^PCIe χ1流量之間的通道且一 第二多工器(341)共用在該剖析器xcp流量與犯麵流量之 間的通道,供網路管理。該第一多工器⑽)具有兩輸入:來 自該剖析n賴χα>流量、及來自該乙域_接器的該 SG=n流量。輸㈣’該乡工器根據其配置城供該剖析器 流S或該乙太網路控制流量之任一者。事實上,這些多工器 最好為靜態多玉||,謂在該網路處理器之系統最⑽構成 用於-輸域量或另-輸人流量之任—者4圖3之該 中埠i料2 XCP通道係專用於剖析器流量,但皡3與淳4 可構成支援XCP流量,或者’各別支援Ρα或乙太網路流量。 201238307 為了 fa〗化該圖式,僅表不兩控制通道,但實際上需要支 援兩個1.25 Gbps SGMII乙太網路通道用於網路管理、及兩個 2.5 Gbps PCIe xl通道用於周邊控制,如埠3及槔4所例示, 每一乙太網路埠具有一多工化的流量。 圖4例示根據該較佳具體實施例之該解決辦法之該網路 處理器剖析器連接至該外部共處理器之第二最佳化。根據該 較佳具體實施例,當在外部共處理器存取與PCI或乙太網路 流量之間施行共用該控制/管理通道之該解決辦法時,構成用 於該外部共處理器存取之一控制/管理通道可進一步結合兩剖 析器而不是一剖析器。 圖4之該網路處理器係實施如在圖3中述的實行該第一 最佳化。靜態多工器(400、401、402、403)係有關每一乙太網 路埠,因此每一控制/管理通道皆可以構成PCI的剖析器流量 或乙太網路流量之任一者。應注意,為了簡化之原因,連接 該PCI單元與乙太網路轉接器僅使用埠2與埠3表示,但此 連接可用於四個埠。在該較佳具體實施例中,一第二多工器 (410、411、412、413)係加入每一乙太網路埠,在相同通道上 多工化兩共處理器存取之流量。當該等靜態多工器(4〇〇 4〇1、 402、403)之一者係構成僅允許該外部共處理器存取(χα>介面) 時’其從連接的該等兩埠的該剖析器接收該外部共處理器存 取流量。例如,當埠2靜態多工器(4〇1)構成允許來自埠2之 該剖析器(231、211)的共處理器存取流量,其亦從埠丨之剖析 器(230、210)接收共處理器存取流量。埠1及埠2之該等兩共 處理器存取流量係在該第二多工器411中多工化。該第二^ 201238307 工器(410、411、412、413)係動態,所以不在該網路處理器之 系統最初化配置,但當該網路處理器為主動(active)時,兩者 流畺可接爻。該流量係由較佳實施一「工作保留(w〇rk conserving)」循環執行演算法的仲裁器(42〇、42卜422、423) 在該動態hn中管理。若該等兩剖析器流量增加,則在技 藝中習知的「工作保留(w〇rkc〇nserving)」仲裁器演算法係允 許另一流量的一演算法。 在一靜態多工器(4〇〇、401、402、403)構成僅接夸ρρτ 或乙太網路流量時,即不使用該動態多卫器(41〇、4ιι、化、 413)。 因此,利用該較佳具體實施例之該解決辦法,兩埠之該 剖析器之該共處理ϋ存取係連接至—相同多卫器因此僅一 用於域來自兩乙太網料韻_共處理器存取 之·該洁f。 =許為其最初功能(pcie Μ、SGMn乙太網路)保留兩 ==且健提供料減㈣躲轉四個乙太網路 ΐυ(α埠之該四個剖析器。 置。若該網路處 的四個輸入可由 此解決辦法足夠靈活以允許許多可能配 理器提供八個乙太網路埠邏輯,該共處理器 該剖析器介面與該共處理器一起使用。 工化是在請求(由該剖 兩剖析器共處理器存取流量之該多 17 201238307 析器傳送給該共處理器的最大1(5位元組XCP字)與回應(由談 剖析器從該共處理器接收的最大16位元組XCP字;)上操作二 來自該等兩剖析器的該請求係以循環執行方式仲裁,且該回 應必須識別該接收附加通道流量應傳送至的該埠。 ~ 圖5例示根據該較佳具體實施例之該解決辦法,在該網 路處理器剖析器與該外部共處理器之間所交換的_ χcp ^求 與回應格式。在圖5中係說明由該剖析器用來與該外部共處 理器通訊的該XCP介面之一請求與回應可變大小6位元&最 大格式的請求及回應變量》該請求格式包括一第一指令位元 組(500),該最後15位元組係供資料(501)使用。該指令位= 組係例示,其可包括例如,一指令種類類型位元(位元5),其 用於一讀取指令可能為係〇,且用於一寫入指令可能為i,及 一「最後指令(last command)」位元(位元3),若該指令係該最 後一者或若該共處理器需要等待下一個指令,則其指示至给 該共處理器。當兩剖析器指令流量可多工化時,一參考的
PortID位元(503)(例如在該請求之該之指令位元組的位元4中) 定義該指令的該源頭。相同位元4係與在該共處理器之該16 位70組格式回應之該指令位元組(5〇4)中的相同埠識別碼位元 值(506) —起使用,該其餘15位元組(5〇5)係供資料使用。在 使用該PortID槔識別碼位元下,兩可能值足以指定該等兩多 工化剖析㈣量埠之-者,其允許適#控制雜個析 回應。 應注意該㈣/管理通道的該輸出,在雜制㊉理通道 上該乙太網路埠係與該靜態多工器構成支援該共處理器存 18 201238307 取流量,當兩共處理器存取流量連接在相同通道上動態多工 化時,該總流量速率為2 X 3.125 Gbps = 6.25 Gbps。在此情 況下’可以使用在此技藝中已習知的6.25 Gbps之高速序列/ 反序列器(161)且係適當。 當未使用該較佳具體實施例的該動態多工化時,在一個 乙太網路埠上的該共處理器存取流量為3 125 Gbps,且此為 進入該HSS (高速序列/反序列器)(161)的該最大速率,因為該 乙太網路控制/官理流量速率為1 25 Gbps,且2.5 Gbps的該 PCIe xl流量亦跨越該HSS (161)。由於此原因,故較低性能 HSS (3.125 Gbps)可搭配該第一或該第二實作使用。 該外部共處理器介面之該靈活度亦可在該序列通道上使 用多個速度選擇達成,因此當外部共處理器的成本最佳化實 施不是非常高速序列鏈結(例如某些低階FPGA系列)時,可使 用較慢的速度;當使用該通道多工化架構時,可以使用較快 速度。 應注意,如以上所說明的本發明之該具體實施例可運用 在任何類型的外部共處理器’諸如一處理器、一 ASIC (Application Specific 1C,特定應用積體電路)或一 FPGa (Field-programmable Gate Arrays ’現場可程式閘陣列)共處理 器。 、 【圖式簡單說明】 圖1為實施本發明之較佳具體實施例之具主要功能、輪 201238307 出通道及連接一外部共處理器的一網路處理器之全視圖; 圖2例示未實施該較佳具體實施例之該解決辦法之該網 路處理器剖析器連接該外部共處理器之最初實作; 圖3例示未實行該較佳具體實施例之該解決辦法之該網 路處理器剖析器連接該外部共處理器之第一最佳化; 圖4例示根據魄佳具體實_之簡決躲之該網路 處理器剖析15連接該外部共處理器之第二最佳化; 路處騎實闕之贿決辦法,在該網 == 部共處理器之間交換的-XCP請求與 【主要元件符號說明】 100 101〜107 108 110 120 130 140 150 160 161 170 190 200 、 201 、 202 、 203 210 40 Gbps網路處理器 專用處理器 内部處理器匯流排 外部共處理器 pCI (周邊組件互連)單元 乙太網路轉接器 剖析器邏輯 訊息流 高速序列/反序列器 第二高速序列/反序列器 高速資料路徑 附加路徑;輸出路徑 乙太網路埠 埠1之該剖析器 201238307 211 212 220、221、222、223 230 ' 231 ' 232 > 233 340 341 400、401、402、403 410、411、412、413 420、42 卜 422、423 500 501 503 504 505 506 埠2之該剖析器 XCP (明確控制協定)介面 資料路徑 剖析器 第一靜態多工器 第二多工器 靜態多工器 第二多工器 仲裁器 第一指令位元組 資料 埠識別碼位元 指令位元組 其餘15位元組 埠識別碼位元值 21
Claims (1)
- 201238307 七、申請專利範圍·· ^ 一種方法,在一網路處理器中包括多個第一通訊協定埠,每 者支援在S Gbps (Gigabits per second ’每秒十億位元)速度的n 通道上姑M S小大小封包龍雜流量,及支齡s Gbps速度 =η個附加通道上於該網路處理器愧有不同通訊協定單元的流 里三供使用該等第-通訊協定埠以藉由位在該等第—通訊協定蜂 之每一者中的一剖析網路邏輯以支援存取一外部共處理器,其在 力口1J析期間’能以一 Μ最小大小封包的接收以傳送一請求至該外 部共處理器’及從該外部共處理器接收—回應,該方法包括: 一-該剖析器在η個附加s Gbps速度通道上傳送一請求最大m ^立元組子至該共處理器’及在相同附加s Gbps速度通道上從該外 4共處理H接彳位元組字,因此驗證财等方程 N X S/M =< η X s/m。 2. &如中μ專利範圍第〗項之方法’在一網路處理針包括乙太 =路痒’每一者在3 125 Gbps速度的四通道上能有⑷立元組最小 =乙太封包資料路徑流量,及支援在3125咖速度的一附加 ^上於該網路處理H巾能有不同通域定單元的流量供使用 該乙太網路埠以藉由位在該等第—通訊協料之每—者中的 ^路邏輯以支援存取―外部共處理器,其在—剖析期間,能以 :4位元組最小A小封包的接收以傳送—請求至該外部共處理 器’及從該外部共處理器接收一回應,該方法包括: •該剖析ϋ在該附加3.125s Gbps速度通道上傳送—請求最大 位兀組字至該共處理11 ’及在相_加3.125 Gbps速度通道 ’從該外部共處理器接收—回應最大16位元組字。 16 上 22 201238307 3. 如申睛專利範圍第〗或2項之卞·a , 速度傳送流量至兮n個_、S、音去更包括:在使用S说供 述又埒^n個附加通道场,在-雙 <匕,在-第-通訊協轉存取最小%位元社^ ;俜==理器具一通訊協定單元的流量,該雙輸入多工 器係靜態構成該等兩多工化流量之一者。 ΙϊΓί專利,第^項之方法,其中在該靜態可組態雙輸入 =旦/ /卫細’該靜態多卫化共處理II存取最大m位元組字 ^篁係,在i輸人動態多工器中多卫化,該雙輸人動態多工器 =共处理ϋ係從其他第—通訊協料之—者存取最大m位元組 字w量,該動態多卫器在—流量仲裁演算法的控制下允許該等兩 多工化流量。 5. 、如申請專利範圍第!至3中任—項之方法,更包括:該附加 通道之該流量在s Gbps的―高料列/反序列帥砂Speed SerDes)中為序列化傳輸及反序列化接收。 6、 如中請專利範圍第4項之方法,更包括:該附加雙向通道之 該"〇·里在2 X sGbps之一高速序列/反序列器中為序列化傳輸及反 序列化接收。 7. 如申請專利範圍第1至6中任一項之方法,其中該由不同通 訊協定單元所支援的流量包括一 2·5 Gbps PCIe xl流量。 8. 如申請專利範圍第1至7中任一項之方法,其中該由不同通 sil協疋單元所支援的流量包括一 1 25 Gbps SGMII流量。 23 201238307 9. 如ΐ請專利範圍第4至8中任一項之 演算法為-「工作保留」循環執行演算法。-中韻請裁 10. 如申請專利範圍第3至8中任一項之方法, 處理器存取_最大大小讀元崎財及':^共 =字,援該對應共處理器存取最大大小二:: 該第一通訊協定埠之一識別碼。 量的 11. -種網路處理II ’包括:多個第—通訊協料,每 ί 通道上能有Μ最小大小位元組資料路徑流量, 路處理器中能有不同通訊财單元的η個附加s —ps速度通道上的流量,該網路處理器藉由位在該等第一通訊協 定埠之每-者中的—剖析網路邏輯以支援存取—外部共處理器, 該剖析邏輯觸成在—躺,能以-最小W、M位元組封 的接收以舰-請求魏外部共處㈣,及從 收一回應,該網路處理器包括: 接 ••該剖析器適於傳送一請求最大則立元組字至在該η個附加 ,道上的該共處理器,並在相同s速度η個附加通道上從該外 4共處理器接收-回應最大大小m ^立元組字,目此驗證該Ν X S/M=<n x s/m不等方程式。 1—2.如申請專利範圍第丨丨項之網路處理器,包括:乙太網路埠, 每一者支援在3.125 Gbps速度的四通道上能有64最大大小位元組 資料路杈流量’及支援在該網路處理器中有不同通訊協定單元的 一附加3.125 Gbps速度通道上的流量,該網路處理器藉由位於該 24 201238307 ^乙太協定埠之每-者中的1析網路邏輯來支援存取一外部共 處理器’該剖析邏輯調適成在1析_,能以—最小大小赚 兀、、且封L接收以傳送-Μ求至該外部共處理^,及觀外部共處 理器接收一回應,該網路處理器包括: 〜-該剖析n適於在該i加通道上傳送—請求最大16位元組 =至該共處理II,並在補3.125速度附加通道上從該外部共處理 器接收-回應最大16大小位^組,因此驗證該n X謝=< n X s/m不等方程式。 13.如申明專利範圍第η或12項之網路處理器,更包括:一雙 輸入多工^ ’用衫卫化該第—通娜定槔的該聽理器存取最 大大小位7C組字流量、與在該網路處理Μ具-網路協定單元 的々IL畺,該雙輸入多工器係靜態可構成該等兩多工化流量之一 者0 14.如申凊專利範圍第η或12項之網路處理器,更包括:一雙 =入動態多工器,用以在該靜態可構成雙輸入多工器中多工化該 多工化流量前,多工化來自一第一通訊協定埠的一共處理器存取 最大大小m位元組字流量、與來自一其他第一通訊協定埠的一共 處理器存取最大大小m位元組字流量,靜態上,該動態多工器調 適成在一流量仲裁演算法的控制下,允許該等兩多工化流量。 25
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10306455 | 2010-12-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201238307A true TW201238307A (en) | 2012-09-16 |
Family
ID=45373715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100145006A TW201238307A (en) | 2010-12-20 | 2011-12-07 | A method and system to connect an external network coprocessor to a network processor packet parser |
Country Status (6)
Country | Link |
---|---|
US (1) | US9215125B2 (zh) |
CN (1) | CN103270490B (zh) |
DE (1) | DE112011104443B4 (zh) |
GB (1) | GB2503123B (zh) |
TW (1) | TW201238307A (zh) |
WO (1) | WO2012084834A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10931329B2 (en) * | 2016-12-29 | 2021-02-23 | Intel Corporation | High speed interconnect with channel extension |
CN107846420B (zh) * | 2017-12-20 | 2021-07-20 | 深圳市沃特沃德股份有限公司 | 与协处理器的通信匹配的方法和车载主系统 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6987760B2 (en) * | 2001-03-05 | 2006-01-17 | International Business Machines Corporation | High speed network processor |
US7082502B2 (en) * | 2001-05-15 | 2006-07-25 | Cloudshield Technologies, Inc. | Apparatus and method for interfacing with a high speed bi-directional network using a shared memory to store packet data |
US7085850B2 (en) | 2001-08-22 | 2006-08-01 | International Business Machines Corporation | Stateless message processing scheme for network processors interactions |
US7720135B2 (en) * | 2002-11-07 | 2010-05-18 | Intel Corporation | System, method and device for autonegotiation |
US7305047B1 (en) * | 2003-03-12 | 2007-12-04 | Lattice Semiconductor Corporation | Automatic lane assignment for a receiver |
US20050010925A1 (en) * | 2003-07-10 | 2005-01-13 | Charbel Khawand | Interprocessor communication protocol with smart streaming port |
US7558890B1 (en) * | 2003-12-19 | 2009-07-07 | Applied Micro Circuits Corporation | Instruction set for programmable queuing |
US7606231B2 (en) | 2005-02-18 | 2009-10-20 | Broadcom Corporation | Pipeline architecture for a network device |
US7957294B2 (en) * | 2005-12-01 | 2011-06-07 | Electronics And Telecommunications Research Institute | PCI express packet filter including descrambler |
US7962182B2 (en) * | 2006-08-25 | 2011-06-14 | Qualcomm Incorporated | Method and apparatus for content delivery to devices |
US20080278508A1 (en) * | 2007-05-11 | 2008-11-13 | Swen Anderson | Architecture and Method for Remote Platform Control Management |
US20090080428A1 (en) * | 2007-09-25 | 2009-03-26 | Maxxan Systems, Inc. | System and method for scalable switch fabric for computer network |
-
2011
- 2011-12-07 TW TW100145006A patent/TW201238307A/zh unknown
- 2011-12-19 US US13/884,664 patent/US9215125B2/en active Active
- 2011-12-19 GB GB1312922.6A patent/GB2503123B/en active Active
- 2011-12-19 CN CN201180061053.9A patent/CN103270490B/zh active Active
- 2011-12-19 WO PCT/EP2011/073254 patent/WO2012084834A1/en active Application Filing
- 2011-12-19 DE DE112011104443.7T patent/DE112011104443B4/de active Active
Also Published As
Publication number | Publication date |
---|---|
US9215125B2 (en) | 2015-12-15 |
US20130308653A1 (en) | 2013-11-21 |
CN103270490B (zh) | 2016-08-10 |
WO2012084834A1 (en) | 2012-06-28 |
CN103270490A (zh) | 2013-08-28 |
DE112011104443B4 (de) | 2019-10-02 |
GB2503123B (en) | 2017-12-20 |
GB201312922D0 (en) | 2013-09-04 |
DE112011104443T5 (de) | 2013-09-12 |
GB2503123A (en) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190342643A1 (en) | Technologies For Switching Network Traffic In A Data Center | |
US7743197B2 (en) | System and method for virtualizing PCIe devices | |
US9680770B2 (en) | System and method for using a multi-protocol fabric module across a distributed server interconnect fabric | |
KR101567371B1 (ko) | 프로세서 내로의 지적 재산(ip) 블록들의 통합 | |
US7917682B2 (en) | Multi-protocol controller that supports PCIe, SAS and enhanced Ethernet | |
US9444757B2 (en) | Dynamic configuration of processing modules in a network communications processor architecture | |
US8972630B1 (en) | Transactional memory that supports a put with low priority ring command | |
US20090059955A1 (en) | Single chip protocol converter | |
US9069602B2 (en) | Transactional memory that supports put and get ring commands | |
US10162780B2 (en) | PCI express switch and computer system using the same | |
US9678891B2 (en) | Efficient search key controller with standard bus interface, external memory interface, and interlaken lookaside interface | |
KR20030087025A (ko) | Ngio/infiniband 어플리케이션용 리모트 키검증을 위한 방법 및 메커니즘 | |
TW201124909A (en) | Multiprocessing computing with distributed embedded switching | |
US20160011994A1 (en) | Multi-processor with efficient search key processing | |
Kadric et al. | An FPGA implementation for a high-speed optical link with a PCIe interface | |
US9594706B2 (en) | Island-based network flow processor with efficient search key processing | |
US7206889B2 (en) | Systems and methods for enabling communications among devices in a multi-cache line size environment and disabling communications among devices of incompatible cache line sizes | |
TW201238307A (en) | A method and system to connect an external network coprocessor to a network processor packet parser | |
JP6053692B2 (ja) | データ転送装置、データ転送方法およびチップ間通信システム | |
US20150089165A1 (en) | Transactional memory that supports a get from one of a set of rings command | |
US20090177832A1 (en) | Parallel computer system and method for parallel processing of data | |
US9632959B2 (en) | Efficient search key processing method | |
CN113490080A (zh) | 一种多端口fc交换主机及交换方法 | |
US20020042854A1 (en) | Bus interconnect system | |
Stewart et al. | A new generation of cluster interconnect |