JP2003218907A - パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ - Google Patents
パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサInfo
- Publication number
- JP2003218907A JP2003218907A JP2002364521A JP2002364521A JP2003218907A JP 2003218907 A JP2003218907 A JP 2003218907A JP 2002364521 A JP2002364521 A JP 2002364521A JP 2002364521 A JP2002364521 A JP 2002364521A JP 2003218907 A JP2003218907 A JP 2003218907A
- Authority
- JP
- Japan
- Prior art keywords
- packet
- processor
- memory
- stored
- packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 140
- 238000012545 processing Methods 0.000 claims abstract description 33
- 238000000034 method Methods 0.000 claims description 17
- 239000004744 fabric Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/18—Protocol analysers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/103—Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
グに対するメモリ要件を低減するように構成されたプロ
セッサを提供する。 【解決手段】 パケットアナライザは、受信パケットを
部分的に解析して、そのパケットの、第一のメモリ回路
内に格納すべき部分を決定する。この部分が第一のメモ
リ回路内に格納されると、プロセッサ内でのその後の処
理のためにアクセス可能となり、パケット全体を格納す
るように構成された第二のメモリ回路にアクセスする必
要はなくなる。パケットアナライザは、第一のメモリ回
路内に格納されるべき部分を決定するために、検索テー
ブルを構成する複数のレジスタの一つから成るレジスタ
内に格納されている値を用いるように構成される。検索
テーブルは、複数のエントリを含み、各エントリは、パ
ケットカテゴリ情報、例えば、ポート番号或いはパケッ
トフロー識別子と、そのパケットの、内部メモリ104
に関連するブロック数を格納する。
Description
処理システム、より詳細には、このようなシステム内で
パケットルーティング、パケットスイッチング及び他の
パッケト処理動作を遂行するために用いるように構成さ
れた網プロセッサ或いは他のタイプのプロセッサに関す
る。
例えば、非同期転送モード(ATM)網或いは同期光網
(SONET)の物理層部分と、ルータ或いは他のタイ
プのスイッチ内のスイッチファブリックとの間のパケッ
トのフローを制御する。このようなルータ及びスイッチ
は、一般には、例えば、一群のライン或いはポートカー
ドの形態に構成された複数の網プロセッサを含み、一つ
或いは複数のプロセッサがこれらの各カードと関連す
る。
ト処理動作の遂行に当たっては、網プロセッサは、典型
的には、各パケットの少なくとも開始或いはヘッドの部
分を調べることを要求される。各パケットの調べること
を要求される量は、それと関連する網通信プロトコル、
起動部分、及びその他の類似の要因に依存する。ルータ
或いはスイッチの機能或いは複雑さも、各パケットの調
べることを要求される量に影響を与える。
中のある与えられたパケットに対して、そのパケットが
最終的にその宛先に送信されるまで或いは脱落されるま
で、実質的にそのパケット全体を格納するように構成さ
れる。パケットは、通常は、関連する網プロセッサに対
して外部のルータ或いはスイッチメモリ内に格納され
る。ある与えられたパケットが外部メモリ内に保持され
る時間量は、ルータ或いはスイッチの基本処理時間、パ
ケットに適用されるサービスの品質、解析されるべき特
定のプロトコル層、及びパケットがそれに向けられるポ
ート或いは他の通信チャネルの輻輳に影響状態される。
網プロセッサ内のオン・チップメモリ(on−chip
memory)内に、ある与えられたパケットの、そ
の網プロセッサによって処理されている幾らかの部分を
格納する。これによって、ルータ或いはスイッチの性能
は、そのパケット全体を保持するより大きな外部メモリ
にアクセスする必要がなくなるために、外部メモリはオ
ン・チップメモリと比較してより低速であり、帯域幅も
制限されているという意味で、大幅に向上される。ただ
し、従来のやり方においては、通常、ある与えられたル
ータ或いはスイッチ用途において解析することを必要と
される最悪の場合のパケット部分(worst−cas
e packet portion)によって、この最
悪の場合のパケット部分はある稀に発生するパケットと
関連するのみであるにも関わらず、オン・チップメモリ
内に保持される個々のパケット部分のサイズが決定さ
れ、このために、要求されるオン・チップメモリのサイ
ズ、従って網プロセッサのコスト及び複雑さが大幅に増
加する。
バイスのメモリ要件を低減できるように、パケットの、
網プロセッサ或いは他のタイプのプロセッサと関連する
特定のメモリ内に格納されるべき特定の部分を決定する
ための改善された技法に対する必要性が存在する。
いは他のタイプのプロセッサのメモリ要件を大幅に低減
する。
ケットアナライザとこのパケットアナライザに接続され
た第一のメモリ回路を含む。パケットアナライザは、プ
ロセッサによって受信された一つ或いは複数のパケット
を少なくとも部分的に解析することで、それらパケット
のある与えられた一つに対して、そのパケットの、第一
のメモリ回路内に格納されるべき部分を決定する。与え
られたパケットのこの部分が第一のメモリ回路内に格納
されると、これはプロセッサ内でのその後の処理のため
にアクセス可能となり、プロセッサと関連し、実質的に
その与えられたパケット全体を格納するように構成され
た第二のメモリ回路にアクセスする必要はなくなる。こ
れら第一と第二のメモリ回路は、例えば、プロセッサ
の、それぞれ、内部メモリと外部メモリから成る。
ナライザは、与えられたパケットの、第一のメモリ回
路、例えば、内部メモリ内に格納されるべき部分を決定
するために、プロセッサのレジスタ内に格納されている
値を用いるように構成される。このレジスタは、一つの
実施例においては、パケットアナライザにアクセス可能
な検索テーブルを構成する複数のレジスタの一つから成
る。検索テーブルは、複数のエントリを含み、各エント
リは、パケットカテゴリ情報、例えば、ポート番号或い
はパケットフロー識別子と、そのパケットの、内部メモ
リに格納されるべき関連するブロック数(associ
ated number of blocks)を含
む。
レジスタのある与えられた1つ内に格納されるこの値
は、例えばプロセッサに接続されたホストデバイスの制
御下で動的に更新可能である。これによって、プログラ
マは、例えば、ある与えられたカテゴリのパケットの、
プロセッサの内部メモリ内に格納されるべき特定の部分
を指定することが可能となる。
セッサの内部及び/或いは外部メモリ要件を低減するば
かりか、外部メモリへのアクセスの必要性を大幅に低減
し、これによってプロセッサのスループットを大幅に向
上させる。
構成された網プロセッサを含む一例としてのパケット処
理システムとの関連で説明される。ただし、本発明はよ
り一般的にプロセッサ内で遂行されるパケット処理動作
と関連する内部及び或いは外部メモリ要件を低減するこ
とが望ましいあらゆるプロセッサに適用できる。
r)」と称される物は、単に例示として、これらに制限
されるものではないが、マイクロプロセッサ、中央処理
ユニット(CPU)、デジタル信号プロセッサ(DS
P)、特定用途向け集積回路(ASIC)、他のタイプ
のデータ処理デバイス、並びにこれら及び他のデバイス
の部分及び組合せを用いて実現される。
は内部メモリ、例えばオンチップメモリ(on−chi
p memory)と、外部メモリの両方を含む。こう
して、「プロセッサ(processor)」なる用語
は、より広くこのような外部メモリも含むものと解され
ることを意図される。
ケットが網プロセッサに到着したとき、各パケットを部
分的に解析し、そのパケットの当面必要とされる部分を
格納するために必要とされる量のメモリのみを割当てる
ことで、網プロセッサ内で要求されるメモリの量を低減
する。適当な時間において、パケットはこうして格納さ
れた部分を用いて完全に解析される。この方法による
と、外部メモリにアクセスする必要性が低減されるため
に、網プロセッサのパケットスループットを向上させる
ことが可能となる。この方法では、こうして外部メモリ
にアクセスするために要求される帯域幅を低減すること
ができ、結果として、全体としての処理システム設計を
簡素化できるため、システムコストも削減できる。
ット処理システム100を示す。システム100は、内
部メモリ104を有する網プロセッサ102を含む。網
プロセッサ102は、図示するように、外部メモリ10
6に接続され、それからパケットが受信される網108
とパケットデータのスイッチングを制御するスイッチフ
ァブリック110との間のインタフェースを提供するよ
うに構成される。プロセッサ102及びこれと関連する
外部メモリ106は、例えば、ルータ或いはスイッチの
ラインカード上に搭載された一つ或いは複数の集積回路
として実現される。このような構成においては、スイッ
チファブリック110は、一般に、ルータ或いはスイッ
チの一部とみなされる。
102に対しては外部として示されるが、前述のよう
に、ここで用いられる用語「プロセッサ(proces
sor)」は、要素102と106を含むように十分に
広く解されることを意図される。
は単に例示に過ぎないことに注意する。例えば、前述の
ように、本発明はあらゆるタイプのパケットプロセッサ
内に実現することができ、ある特定のパケット処理用途
に制限されるものではない。
細に示す。網プロセッサ102は、この実施例において
は、網108から入りパケットを受信するパケットアナ
ライザ200を含む。パケットアナライザは、この実施
例においては、内部メモリ104及び外部メモリ106
とインタフェースするメモリコントローラ202に接続
される。プロセッサ102は、図面には示されていない
他の処理回路、例えば、トラフィックマネジャを含むこ
と或いはそれらと関連させることもできる。
0は、網プロセッサ102によって受信される一つ或い
は複数のパケットを少なくとも部分的に解析し、それら
パケットのある与えられた1つに対して、そのパケット
の、内部メモリ104内に格納されるべき部分を決定す
る。ある与えられたパケットのこの部分は、内部メモリ
104に格納されると、網プロセッサ102内でのその
後の処理のためにアクセス可能となり、典型的には実質
的にその与えられた全体を格納するように構成される外
部メモリ106へのアクセスは不用となる。ある与えら
れたパケットの、内部メモリ104内に格納されるべき
部分は、例えば、そのパケットのヘッダの、ある指定さ
れる部分とされる。メモリコントローラ202は、与え
られたパケットの、こうして指定された部分の内部メモ
リ104内への格納と、実質的にそのパケット全体の外
部メモリ106内への格納とを制御する。
網108から受信される複数のパケットの少なくともサ
ブセットを、少なくとも部分的に解析し、これら解析さ
れたパケットの各々に対して、そのパケットの、内部メ
モリ104内に格納されるべき特定の部分を決定する。
この決定は、例えば、ある与えられたパケットと関連す
るポート番号(port number)、パケットフ
ロー識別子(packet flow identif
ier)或いは他のパケット特徴情報(packet
characterizing informatio
n)を識別し、対応するレジスタ或いは他のメモリ位置
からある関連するブロック数(associated
number of blocks)の指標(desi
gnator)を読み出すことに基づいて行われるが、
これについては後により詳細に説明する。こうして決定
される部分は、通常は、網プロセッサ102内でその後
の処理のために要求される部分から成り、こうして決定
された部分が内部メモリ104内に格納されると、その
後の処理は、そのパケットの他の部分格納する外部メモ
リにアクセスすることを必要とされることなく、遂行可
能となる。
の一方或いは両方が外部メモリを表し、実質的にパケッ
ト全体が第二のメモリ回路に格納されるような状況にお
いて、例えば、あるパッケトの、第一のメモリ回路に格
納すべきある特定の部分を決定することで、外部メモリ
と関連するメモリ要件を低減するためにも適用できるこ
とに注意する。このような第一と第二のメモリ回路は、
図1のそれぞれ内部メモリ104と外部メモリ106に
も対応する。第一と第二のメモリ回路は、こうして別個
のメモリとすることもできるが、代替として、単一の内
部或いは外部メモリの異なる部分から構成することもで
きる。
リコントローラとして示されているが、当業者において
は理解できるように、内部メモリ104と外部メモリ1
06に対して別個のコントローラを設けることもでき
る。
トローラ202を介して、内部メモリ104の一部分内
にセットのレジスタを用いて実現される検索テーブル2
05とやり取りする。検索テーブル205は、パケット
アナライザ200によって、ある与えられたパケット
の、内部メモリ104内に格納されるべき特定の部分を
決定するために用いられる情報を提供する。
て、図面には内部メモリ104の一部として実現される
ものとして示されるが、別個のメモリとして実現するこ
ともできる。
ットのレジスタの一例を示す。この実施例においては、
この検索テーブル205は、各々が内部メモリ104の
対応するレジスタ内に格納されるN個の異なるエントリ
を含む。各エントリは、ポート番号と、対応するブロッ
ク数(corresponding numberof
blocks)を含む。ポート番号は、網プロセッサ
102の所に到着する複数のパケットと関連するN個の
ポートの一つと対応する。例えば、ある与えられた網プ
ロセッサは、256個或いはそれ以上のポートをサポー
トする。ある与えられたポートに対して指定されるブロ
ックの数(number of blocks)は、そ
のポートの所に到着する各パケットの、内部メモリ10
4内に格納されるべきブロックの数を示す。1ブロック
は、好ましくは、特定のバイト数(particula
r number of bytes)として指定され
る。例えば、説明の実施例においては、1ブロックは6
4バイトから成る。検索テーブル205内に一つのエン
トリとして格納されるある特定の所定のブロック値(p
articular predetermined b
lock value)、例えば零なるブロック値(b
lock value of zero)は、対応する
ポート上に到達する各パケットに対して、実質的にその
パケット全体が内部メモリ104内に、指定される最大
値(specified maximum valu
e)、例えば64キロバイトまで、格納されるべきこと
を指定することに注意する。
施例においては、ある特定のパケットに対して、その与
えられたパケットと関連する特定のポート番号(par
ticular port number)を決定する
ように構成される。パケットアナライザ200は、次
に、こうして決定されたポート番号を検索テーブル20
5への入力として用いて、そのパケットの、内部メモリ
104内に格納されるべき、対応するブロック数(co
rresponding number ofbloc
ks)を決定する。次に、そのパケットの、それに相当
する数のブロック(that number of b
locks)が内部メモリ104内にメモリコントロー
ラ202の制御下で格納される。
セットのレジスタの、もう一つの実施例を示す。この実
施例においても、検索テーブル205は、N個の異なる
エントリを含み、各エントリは内部メモリ104の対応
するレジスタ内に格納される。ただし、この実施例にお
いては、各エントリはパケット識別子と、対応するブロ
ック数を含む。パケット識別子は、例えば、特定の関連
するパケットを指定するパケットフロー識別子とするこ
とも、或いは任意の他の適当なパケット識別情報とする
こともできる。前述の実施例と同様に、ある与えられた
パケットフロー識別子に対して指定されるブロックの数
(number of blocks)は、対応するパ
ケット識別子を有する各パケットの、内部メモリ104
内に格納されるべきブロックの数を示す。この実施例に
おいても、1ブロックは、好ましくは、特定のバイト
数、例えば、64バイトとして指定され、零なるブロッ
クエントリ(zero block entry)は、
実質的にそのパケット全体が内部メモリ104内に、あ
る指定される最大値まで、格納されるべきことを示す。
施例においては、ある与えられたパケットに対して、そ
の与えられたパケットと関連する特定のパケット識別子
を決定するように構成される。パケットアナライザ20
0は、次に、こうして決定されたパケット識別子を検索
テーブル205への入力として用いて、そのパケット
の、内部メモリ104内に格納されるべき対応するブロ
ック数(corresponding number
of blocks)を決定する。次に、それに相当す
る数のブロック(that number of bl
ocks)がパケ内部メモリ104内にメモリコントロ
ーラ202の制御下で格納される。
の範囲をいかようにも制限することを意図するものでは
ない。当業者においては理解できるように、様々な代替
の検索テーブル構成が可能である。例えば、他のタイプ
のパッケトカテゴリ化技法(packet categ
orizing techniques)を用いること
も、また、ある与えられたパケットカテゴリに対してメ
モリ内に格納されるべき特定の部分を指定するために、
他のアプローチを用いることもできる。
0内で網プロセッサ102によって実現することが可能
なパケット解析及び格納プロセスの概要を示す流れ図で
ある。このプロセスは単一のパケットに対して示される
が、ただし、類似の処理を受信される各パケットに適用
することができる。さらに、図4のプロセス全体が単に
本発明の技法を説明するための例示であり、なんら制限
を意図するものではないことに注意する。図面には示さ
れないが、図4のプロセスは、検索テーブルのエントリ
を所望の値に初期設定するための予備ステップを含むこ
ともできる。
02によって処理されるべきパケットが受信される。パ
ケットアナライザ200は、ステップ402において、
このパケットを部分的に解析することで、網プロセッサ
内でのその後の処理のために要求される部分を決定す
る。前述のように、この決定は、検索テーブル205に
アクセスし、そのパケットの、内部メモリに格納される
べき特定のブロック数(particular num
ber of blocks)を決定することで行われ
る。ステップ404において、そのパケットの、検索テ
ーブル205から決定される要求される部分が内部メモ
リ104内に格納される。ステップ406において、そ
のパケット全体が外部メモリ106内に格納される。こ
の実施例においては、要求される部分が内部メモリに格
納された後に、そのパケット全体が外部メモリに格納さ
れるが、これは単に一例であり、本発明の要件ではな
い。例えば、パケット全体を、このプロセスのステップ
402及び404を遂行する前に、外部メモリに格納す
ることもできる。もう一つの代替として、そのパケット
の残りの部分のみ、つまり、ステップ404において内
部メモリ内に格納される部分以外の部分を、ステップ4
06において外部メモリ内に格納することもできる。さ
らに、ステップ404と406を実質的に並列に遂行す
ることもできる。いずれにおいても、パケット処理時
に、つまり、上述のその後の処理がそのパケットの要求
される部分に関して遂行される時点で、必要に応じて、
網プロセッサ内での適当な処理動作を実現するために、
そのパケットの格納された部分が内部メモリ104から
取り出される。
なソフトウェア制御を介して動的に更新することもでき
る。例えば、検索テーブル205内のあるエントリに対
するある与えられた「ブロックの数(number o
f blocks)」の値は、初めからこの中に格納し
ておくことも、周辺コンポーネント相互接続(peri
pheral component intercon
nect, PCI)バスを介して網プロセッサ102
に接続されたホストプロセッサの制御下で更新すること
もできる。
は、特定のポート番号、パケットフロー識別子、或いは
パケットの他のカテゴリに対して、これらパケットの、
内部メモリに格納されるべき特定のブロックの数(pa
rticular number of block
s)を指定することが可能となる。一般には、プログラ
マは、典型的には、あるパケットカテゴリと関連する特
定のプロトコルを知っており、従って、それらパケット
のどの特定の部分を内部メモリ内に保持すれば最適の処
理スループットを達成できるかを知っている。検索テー
ブル205内のある与えられた格納値は、受信されるパ
ケットのシーケンスに従って、各パケットに対してソフ
トウェアの制御下で動的に更新することもできる。代替
として、図3A及び3Bの実施例のように、受信される
複数のパケットの個々に対して同一の値を用いることも
できる。
い。例えば、説明の実施例においては、単一の検索テー
ブルが用いられ、各エントリはパケットカテゴリ情報
と、そのパケットの、内部メモリに格納されるべき関連
するブロックの数(associated numbe
r of blocks)を含むが、別の実施例とし
て、説明の機能を実現するために、異なるタイプのレジ
スタ或いはメモリ構成を用いることもできる。加えて、
ある与えられたパケットの、内部メモリ或いは他の第一
のメモリ回路内に格納されるべき指定される部分は、そ
のパケットのヘッダの部分とすることもできるが、代替
として、そのパケットのもっと大きな部分とすること
も、さらには、幾つかの所定のブロック数エントリ(c
ertainpredetermined block
number entries)、例えば零エントリ
(zero entry)に対しては、パケット全体と
することもできる。当業者においては、クレームの範囲
から逸脱することなく、これら及び他の様々な代替の実
施形態が可能である。
ステムを簡略的に示すブロック図である。
された網プロセッサをより詳細に示す図である。
による、パケット識別子とパケットの、内部メモリ内に
格納されるべき対応する量(ブロックの数)を格納する
ための検索デーブルのデータ構造を示す図である。
による、パケット識別子とパケットの、内部メモリ内に
格納されるべき対応する量(ブロックの数)を格納する
ための検索デーブルのデータ構造を示す図である。
実現される、本発明によるパケット解析及び格納プロセ
スの流れ図である。
Claims (10)
- 【請求項1】 パケットアナライザと、 プロセッサと関連し、該パケットアナライザに接続され
た第一のメモリ回路とを備えるプロセッサであって、 該パケットアナライザが該プロセッサによって受信され
る一つ或いは複数のパケットを少なくとも部分的に解析
することで、これらパケットのある与えられた一つに対
してそのパケットの該第一のメモリ回路内に格納される
べき部分を決定し、該与えられたパケットの該部分が該
第一のメモリ回路内に格納されると、該プロセッサ内で
のその後の処理のためにアクセス可能となり、該プロセ
ッサと関連し、該与えられたパケットの実質的に全体を
格納するように構成された第二のメモリ回路へのアクセ
スは必要でなくなることを特徴とするプロセッサ。 - 【請求項2】 該第一のメモリ回路が該プロセッサの内
部メモリから成り、該第二のメモリ回路が該プロセッサ
の外部メモリから成り、更に、該パケットアナライザが
網から受信される複数のパケットの各々を少なくとも部
分的に解析し、これらパケットの少なくともあるサブセ
ットの各々に対して、そのパケットの該内部メモリ内に
格納されるべき特定の部分を決定する請求項1記載のプ
ロセッサ。 - 【請求項3】 該第一のメモリ回路が該プロセッサの内
部メモリから成り、該第二のメモリ回路が該プロセッサ
の外部メモリから成り、更に、該パケットアナライザが
該与えられたパケットの該内部メモリ内に格納されるべ
き部分を決定するために該プロセッサのレジスタ内に格
納されている値を用いるように構成される請求項1記載
のプロセッサ。 - 【請求項4】 該レジスタが該パケットアナライザにア
クセス可能な検索テーブルを構成する複数のレジスタの
一つから成り、更に、該検索テーブルが複数のエントリ
を含み、これらエントリの少なくともサブセットが各々
パケットカテゴリ情報とそのパケットの該内部メモリに
格納されるべき関連するブロック数を含む請求項3記載
のプロセッサ。 - 【請求項5】 該パケットカテゴリ情報が、該プロセッ
サと関連する、そこから一つ或いは複数の該パケットが
受信されるポートを指定するポート番号から成る請求項
4記載のプロセッサ。 - 【請求項6】 該パケットカテゴリ情報が、ある特定の
パケットフローを指定するパケット識別子から成る請求
項4記載のプロセッサ。 - 【請求項7】 該関連するブロック数が、該与えられた
パケットに対して実質的にそのパケットの全体が該内部
メモリに格納されるべきことを示す所定のブロック数か
ら成る請求項4記載のプロセッサ。 - 【請求項8】 該第一のメモリ回路が該プロセッサの内
部メモリから成り、該第二のメモリ回路が該プロセッサ
の外部メモリから成り、更に、該パケットアナライザの
制御下で、該与えられたパケットに対するパケットカテ
ゴリ情報とそのパケットの該内部メモリ内に格納される
べき部分の対応する指標を格納するレジスタを備える請
求項1記載のプロセッサ。 - 【請求項9】 プロセッサと、 該プロセッサに接続された外部メモリとを備える処理シ
ステムであって、 該プロセッサがさらに:パケットアナライザと、 該パケットアナライザに接続された内部メモリ回路とを
備え、 該パケットアナライザが該プロセッサによって受信され
る一つ或いは複数のパケットを少なくとも部分的に解析
することで、これらパケットのある与えられた一つに対
してそのパケットの該内部メモリに格納されるべき部分
を決定し、該与えられたパケットの該部分が該内部メモ
リに格納されると、該プロセッサ内でのその後の処理の
ためにアクセス可能となり、該与えられたパケットの実
質的に全体を格納するように構成された該外部メモリへ
のアクセスは必要でなくなることを特徴とする処理シス
テム。 - 【請求項10】 プロセッサ内でパケットを処理するた
めに用いる方法であって、 該プロセッサによって受信される一つ或いは複数のパケ
ットを少なくとも部分的に解析することで、これらパケ
ットのある与えられた一つに対してそのパケットの該プ
ロセッサと関連する第一のメモリ回路内に格納されるべ
き部分を決定するステップと、 該与えられたパケットの該部分を該第一のメモリ回路内
に格納するステップとを含み、該与えられたパケットの
該部分がこれによって該プロセッサ内でのその後の処理
のためにアクセス可能となり、該プロセッサと関連し、
実質的に該与えられたパケット全体を格納するように構
成された第二のメモリ回路へのアクセスは必要でなくな
ることを特徴とする方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/025352 | 2001-12-19 | ||
US10/025,352 US7113518B2 (en) | 2001-12-19 | 2001-12-19 | Processor with reduced memory requirements for high-speed routing and switching of packets |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003218907A true JP2003218907A (ja) | 2003-07-31 |
JP2003218907A5 JP2003218907A5 (ja) | 2005-12-22 |
JP4209186B2 JP4209186B2 (ja) | 2009-01-14 |
Family
ID=21825510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002364521A Expired - Fee Related JP4209186B2 (ja) | 2001-12-19 | 2002-12-17 | パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ |
Country Status (6)
Country | Link |
---|---|
US (1) | US7113518B2 (ja) |
EP (1) | EP1331757B1 (ja) |
JP (1) | JP4209186B2 (ja) |
KR (1) | KR100937283B1 (ja) |
DE (1) | DE60211466T2 (ja) |
TW (1) | TWI249919B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1791305A1 (en) * | 2005-11-25 | 2007-05-30 | Alcatel Lucent | Storing and processing a data unit in a network device |
US8572349B2 (en) * | 2006-01-31 | 2013-10-29 | Agere Systems Llc | Processor with programmable configuration of logical-to-physical address translation on a per-client basis |
US7835288B2 (en) * | 2008-07-02 | 2010-11-16 | OnPath Technologies Inc. | Network switch with onboard diagnostics and statistics collection |
US8897316B2 (en) * | 2010-12-31 | 2014-11-25 | Telefonaktiebolaget L M Ericsson (Publ) | On-chip packet cut-through |
US8743715B1 (en) | 2011-01-24 | 2014-06-03 | OnPath Technologies Inc. | Methods and systems for calibrating a network switch |
US9141373B2 (en) * | 2013-07-31 | 2015-09-22 | Arista Networks, Inc. | System and method for accelerated software upgrades |
CN113472688B (zh) * | 2020-03-30 | 2023-10-20 | 瑞昱半导体股份有限公司 | 应用在网络装置中的电路及网络装置的操作方法 |
US20230060275A1 (en) * | 2021-08-20 | 2023-03-02 | International Business Machines Corporation | Accelerating multiplicative modular inverse computation |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0504537A1 (en) * | 1991-03-22 | 1992-09-23 | International Business Machines Corporation | Method and apparatus for the testing and evaluation of geographically distributed telecommunication networks |
JP4181645B2 (ja) * | 1996-02-29 | 2008-11-19 | 富士通株式会社 | データ処理装置 |
US6369855B1 (en) * | 1996-11-01 | 2002-04-09 | Texas Instruments Incorporated | Audio and video decoder circuit and system |
US6178483B1 (en) * | 1997-02-14 | 2001-01-23 | Advanced Micro Devices, Inc. | Method and apparatus for prefetching data read by PCI host |
US6032190A (en) | 1997-10-03 | 2000-02-29 | Ascend Communications, Inc. | System and method for processing data packets |
US6160809A (en) | 1997-12-17 | 2000-12-12 | Compaq Computer Corporation | Distributed packet data with centralized snooping and header processing router |
WO2000003517A1 (en) | 1998-07-08 | 2000-01-20 | Broadcom Corporation | High performance self balancing low cost network switching architecture based on distributed hierarchical shared memory |
US6438145B1 (en) * | 1998-12-04 | 2002-08-20 | Koninklijke Philips Electronics N.V. | Transport packet distribution system and method using local header |
KR100378372B1 (ko) * | 1999-06-12 | 2003-03-29 | 삼성전자주식회사 | 데이터 네트워크에서 패킷 스위치 장치 및 방법 |
US7328277B2 (en) | 2000-03-03 | 2008-02-05 | Enterasys Networks, Inc. | High-speed data processing using internal processor memory space |
US6947931B1 (en) * | 2000-04-06 | 2005-09-20 | International Business Machines Corporation | Longest prefix match (LPM) algorithm implementation for a network processor |
US7032031B2 (en) * | 2000-06-23 | 2006-04-18 | Cloudshield Technologies, Inc. | Edge adapter apparatus and method |
US7114008B2 (en) * | 2000-06-23 | 2006-09-26 | Cloudshield Technologies, Inc. | Edge adapter architecture apparatus and method |
WO2002035847A2 (en) * | 2000-10-27 | 2002-05-02 | Polycom Israel Ltd. | Apparatus and method for improving the quality of video communication over a packet-based network |
US20020196737A1 (en) * | 2001-06-12 | 2002-12-26 | Qosient Llc | Capture and use of service identifiers and service labels in flow activity to determine provisioned service for datagrams in the captured flow activity |
US6915480B2 (en) * | 2001-12-21 | 2005-07-05 | Agere Systems Inc. | Processor with packet data flushing feature |
-
2001
- 2001-12-19 US US10/025,352 patent/US7113518B2/en not_active Expired - Fee Related
-
2002
- 2002-11-25 EP EP02258104A patent/EP1331757B1/en not_active Expired - Lifetime
- 2002-11-25 DE DE60211466T patent/DE60211466T2/de not_active Expired - Lifetime
- 2002-11-28 TW TW091134615A patent/TWI249919B/zh not_active IP Right Cessation
- 2002-12-17 JP JP2002364521A patent/JP4209186B2/ja not_active Expired - Fee Related
- 2002-12-18 KR KR1020020081021A patent/KR100937283B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
JP4209186B2 (ja) | 2009-01-14 |
US20030112801A1 (en) | 2003-06-19 |
EP1331757B1 (en) | 2006-05-17 |
TWI249919B (en) | 2006-02-21 |
KR20030051381A (ko) | 2003-06-25 |
DE60211466T2 (de) | 2006-09-28 |
EP1331757A2 (en) | 2003-07-30 |
US7113518B2 (en) | 2006-09-26 |
TW200303666A (en) | 2003-09-01 |
EP1331757A3 (en) | 2003-08-13 |
KR100937283B1 (ko) | 2010-01-18 |
DE60211466D1 (de) | 2006-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3734704B2 (ja) | パケット分類エンジン | |
US8325716B2 (en) | Data path optimization algorithm | |
US7313142B2 (en) | Packet processing device | |
JP3640299B2 (ja) | ルートルックアップおよびパケット分類要求のための提起および応答アーキテクチャ | |
US6650642B1 (en) | Network relaying apparatus and network relaying method capable of high-speed routing and packet transfer | |
US8671219B2 (en) | Method and apparatus for efficiently processing data packets in a computer network | |
US7411968B2 (en) | Two-dimensional queuing/de-queuing methods and systems for implementing the same | |
US20030193927A1 (en) | Random access memory architecture and serial interface with continuous packet handling capability | |
US7830892B2 (en) | VLAN translation in a network device | |
US20020061022A1 (en) | Network switch using network processor and methods | |
US7492771B2 (en) | Method for performing a packet header lookup | |
JP2003508851A (ja) | ネットワーク・プロセッサ、メモリ構成及び方法 | |
JP2003508957A (ja) | ネットワーク・プロセッサ処理コンプレックス及び方法 | |
JP2001251351A (ja) | パケット交換機における入力パケット処理方式 | |
JP2002524005A (ja) | 通信を高速化するインテリジェントネットワークインタフェース装置及びシステム | |
JP2003508951A (ja) | Vlsiネットワーク・プロセッサ及び方法 | |
US5825774A (en) | Packet characterization using code vectors | |
EP1244964A1 (en) | Method and system for frame and protocol classification | |
US5748633A (en) | Method and apparatus for the concurrent reception and transmission of packets in a communications internetworking device | |
JP2003218907A (ja) | パケットの高速ルーティング及びスイッチングに対するメモリ要件を低減するように構成されたプロセッサ | |
US7903687B2 (en) | Method for scheduling, writing, and reading data inside the partitioned buffer of a switch, router or packet processing device | |
US7079539B2 (en) | Method and apparatus for classification of packet data prior to storage in processor buffer memory | |
US7379467B1 (en) | Scheduling store-forwarding of back-to-back multi-channel packet fragments | |
US6671277B1 (en) | Network relaying apparatus and network relaying method capable of high quality transfer of packets under stable service quality control | |
US20070230491A1 (en) | Group tag caching of memory contents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051102 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051102 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071108 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071116 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080215 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080220 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080516 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080929 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081022 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131031 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |