JP2002511703A - データ処理ネットワークのアプリケーションレベルフローコネクション用システムおよびプロセス - Google Patents

データ処理ネットワークのアプリケーションレベルフローコネクション用システムおよびプロセス

Info

Publication number
JP2002511703A
JP2002511703A JP2000544091A JP2000544091A JP2002511703A JP 2002511703 A JP2002511703 A JP 2002511703A JP 2000544091 A JP2000544091 A JP 2000544091A JP 2000544091 A JP2000544091 A JP 2000544091A JP 2002511703 A JP2002511703 A JP 2002511703A
Authority
JP
Japan
Prior art keywords
data packet
flow
packet
information
cell
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.)
Pending
Application number
JP2000544091A
Other languages
English (en)
Inventor
スピニー,バリー,エイ.
ポール,ナイジェル,ティー.
ナラヤナスワミー,クリシュナ
ロス,セオドア,エル.
スマウズ,リチャード
Original Assignee
トップ レイヤー ネットワークス,インク.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by トップ レイヤー ネットワークス,インク. filed Critical トップ レイヤー ネットワークス,インク.
Publication of JP2002511703A publication Critical patent/JP2002511703A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/02Capturing of monitoring data
    • H04L43/026Capturing of monitoring data using flow identification
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/623Weighted service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6285Provisions for avoiding starvation of low priority queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches
    • H04L49/602Multilayer or multiprotocol switching, e.g. IP switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3018Input queuing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/354Switches specially adapted for specific applications for supporting virtual local area networks [VLAN]

Abstract

(57)【要約】 【課題】 データ処理ネットワークのアプリケーションレベルフローコネクション用システムおよびプロセスを提供すること。 【解決手段】 OSIモデルレイヤ(OSI model Layers)(2)からの情報を使用するネットワークスイッチであり、フローと呼ばれるシーケンスである要求されたプロセスの結果生じるネットワークメッセージの特定のシーケンスを識別することが可能である。このスイッチは、レイヤ(Layers)(4)での仮想接続を行い、データパケットが属する特定のフローに従って、データパケットをルートする(経路を選択する)。このスイッチは、より上位のネットワーク層の情報を使用して交換するアプリケーションレベルのフローを行い、そして2つのフローは同一のレイヤ(3)プロトコルを使用するにもかかわらず、ウェブブラウジングの結果として生ずるフローと、ファイル転送あるいはデータベース問い合わせの結果として生ずるフローとの間の差異を認めることが可能である。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本出願は、実質的には類似する開示を有し、1つの共通の企業、つまり以前は
ブレーズネット社(BlazeNet Inc.)と呼ばれていたトップレイヤ
ーネットワーク社(Top Layer Networks、Inc.)に譲渡
されている、Nigel Pooleによる「ネットワーク交換用高速データバ
ス(High−Speed Data Bus for Network Sw
itching」、Barry Spinneyらによる「データパケットのア
プリケーションレベルでの交換のための高速パターン照合用システムおよびプロ
セス(System and Process for High−Speed
Pattern Matching for Application−Le
vel Switching of Data Packets)」、およびB
arry Spinneyらによる「ネットワーク交換におけるデータパケット
の柔軟な待ち行列管理用システムおよびプロセス(System and Pr
ocess for Flexible Queuing of Data P
ackets in Network Switching)」に対する米国特
許の出願とともに提出されている。
【0002】
【従来の技術および発明が解決しようとする課題】
発明の分野は、データ処理システムまたはコンピュータのネットワーク通信の
分野であり、さらに特定すると、イーサネットプロトコルによってサポートされ
ているものなどのローカルエリアネットワーク(「LAN」)、および非同期転
送モード(「ATM」)プロトコルによってサポートされているものなどの広域
ネットワーク(「WAN」)の交換可能コネクションの分野である。
【0003】 ネットワークの接続の分野での主要な問題点の1つは、特定のネットワーク上
のさまざまなデータ処理システム間で通信するために使用されている多岐に渡る
異なったネットワークプロトコルが、このようなネットワーク間での通信を困難
にしているという点である。別の主要な問題点は、大部分のネットワークプロト
コルが、典型的には、それでも間違いを犯すネットワーク専門家によるデバイス
アドレスの手作業による入力によって達成される、コンピュータシステムまたは
ノードを増設するときにかなりのパラメータの構成を必要とするという点である
。この問題は、ネットワークの境界を越えて接続するときに悪化する可能性があ
る。
【0004】 インターネットを接続するために使用されている機構を含む、ネットワークの
現在のコネクションは、「ブリッジ」および「ルータ」として知られているデバ
イスを使用して達成される。大まかに言うと、ブリッジは「データリンク」層つ
まりOSIネットワークモデルの第2層でさまざまなネットワークを接続する。
Schwartz、Mischa、電気通信ネットワーク(Telecommu
nication Network)75−99ページ(アディソン−ウェスレ
イ(Addison−Wesley)1987年)を参照すること。および、ル
ータは、「ネットワーク層」つまりOSIモデルの第3層でさまざまなネットワ
ークを接続する。データのパケットには通信の層に対応するヘッダが先行し、タ
イムヘッダ内の最初が、最低の第1層、つまり物理リンクに対応し、第7層、つ
まりアプリケーション層(他のモードの層はさらに少ない。ここでの「アプリケ
ーション層」とは、OSIモデルの第5層から第7層での機能に関する)まで進
む。情報のパケットがブリッジで受信されると、ブリッジプロセッサは、(物理
的なリンクヘッダに続く)データリンクヘッダ内の情報に従ってデータリンク上
でパケットを転送する。情報のパケットがルータで受信されると、パケットは、
ネットワークヘッダ内の情報に従って送られる。ただし、これらのヘッダには、
データパケットが関係するアプリケーションによって必要とされているサービス
の質についての情報は含まれていない。したがって、各パケットは、典型的には
ネットワーク管理動作のための優先順位フラグを含むこともあれば、含まないこ
ともあるデータリンクまたはネットワークプロトコルに従って転送される。
【0005】 カレントネットワーク上でデータ伝送を必要とするアプリケーションのタイプ
は、広い範囲のサービスを要求する。したがって、ファイルサーバとの通信中、
データをダウンロードするためにクライアントからアップロードされる要求は、
相対的にはほとんど帯域幅を必要としないが、大量のデータのダウンロードには
、妥当な時間内で達成される大きな帯域幅が必要となる。オーディオ−ビジュア
ル(「マルチメディア」)情報のストリームは、感知可能な妨害つまり「ジッタ
」を回避するために定期的な間隔で保証済みの帯域幅を必要とする。Eメール、
ファイルサーバ要求、HTTP、ワードプロセシングのそれぞれは、帯域幅を含
むその通信ニーズと関連付けることのできる関連ヘッダ情報と、専用のアプリケ
ーションプロトコルを有する。
【0006】 ネットワーク層の上の情報をいわゆる「第4層交換」と考えるネットワーク交
換方式がまさに市場に投入されつつあり、典型的には、低速であり、第4層の一
部、つまりトランスポート層ヘッダ(TCP/IP、つまりトランスポート制御
プロトコル/国際プロトコル「TCP部分」の一部)を考慮するだけのソフトウ
ェアインプリメンテーションを含むと考えられている。
【0007】
【課題を解決するための手段】
本発明は、アプリケーション層でネットワークを接続し、技術の現在の状態に
おけるその他のネットワーク交換機より、OSIモデルの第3層上でさらに多く
の情報を使用する。本発明は、「フロー交換」つまりコネクションを実行し、そ
こでは、第4層より上で受信されたデータパケットの情報に基づき、発明は、フ
ァイルの読取り、E−メールの送信、ウェブサイトのブラウジング、ファイル転
送の開始、データベース照会の実行などの要求されたプロセスを実行した結果生
じる「フロー」つまりネットワークメッセージのシーケンスを特定し、パケット
をそれに応じて送り、それによって第4層より上で「仮想コネクション」を確立
する。発明は、さらに「アプリケーションフロー交換」に適応されており、そこ
では、本発明は、OSIモデルの「アプリケーション」第7層までも、受信され
たフレームを第2層MACまたは第3層ネットワークアドレス上だけではなく、
さらに高い層でに含まれている情報にも基づいて、フローに分類する。このよう
にして、本発明は、ウェブブラウジングから生じるフローと、ファイル転送また
はデータベース照会の結果生じるフローを、両方とも同じ第3層プロトコルを使
用してよいが、区別することができる。
【0008】 好ましい実施態様においては、これは、速度について、またはそのそれぞれの
機能での柔軟性について最適化されているハードウェアとソフトウェアの組み合
わせを使用して達成される。このようにして、専用「シリコン」またはチップレ
ベルでのゲートは、イーサネット、高速イーサネット、およびフレームリレーな
どの相対的に少ないデータリンクプロトコルに対応するデータリンクヘッダから
、およびインターネット(IPv4、IPX、IPv6)、SNAおよびDEC
Netなどの相対的に少ないネットワークプロトコルのネットワークヘッダから
情報を急速に抽出するために利用されるが、ヘッダ情報の128バイトまでのア
プリケーションプロトコルは高速パターン照合ソフトウェアによって認識される
。アプリケーションヘッダを見ることによって、交換機は、(帯域幅保証ベース
のマルチメディアとは対照的に、優先順位ベースであるe−メールなどの)パケ
ットのある特定のフローまたはストリームに適用されるサービスの質についての
「インテリジェントな」決定を下すことができ、すべてのアプリケーションの速
度を公平に落としつつ(backing off of)、すべてのコネクショ
ンを保つことができる。
【0009】 ポートインタフェースで演繹されるまたは推論されるデータリンクおよびネッ
トワーク情報を含む標準的なつまり「規範的な」ヘッダを内部で使用し、フロー
へのパケットを識別するための規範的なヘッダのハッシュ化されたバージョンを
、一般的なフロー規則と比較することによって、本発明は、指定されたフローと
関連する適切なポート間での仮想的なコネクションを非常に効率的に確立する。
この特徴によって、システムは、「フレームまたはセル」とは無関係となり、こ
れまでに行われなかったようにATMトラフィックを送ることができる。
【0010】 好ましい実施態様においては、個々の待ち行列に付加されるサービスのさまざ
まな質だけではなく、何千ものコネクションも可能にする(高速記憶装置内のデ
ータパケットを指す)何千もの伝送待ち行列が考えられる。
【0011】 フローに従ってパケットを追跡調査する際のシステムの「知能」により、つま
りデータパケットストリームの部分がポートに入ってくるときにもデータパケッ
トストリームの部分のポートからの出力である、「貫通(cut−throug
h)」フローが可能になる。多くのそれ以外のインテリジェントな機能は、第2
層と第3層のヘッダ情報を「規範化する(canonicalize)」ために
インタフェースASIC(出願特有の集積回路)、高速バス、高速リレーエンジ
ンのASICの待ち行列管理決定を迅速に実現する待ち行列マネージャASIC
、およびフローコネクションを監視するバックグラウンドエンジンを使用するシ
ステムの柔軟かつスケラブルなアーキテクチャのため可能である。
【0012】
【発明の好ましい実施の形態】
本明細書は、下記のとおりに構成されている: 1.BlazePathTM/BlazeFireTM アーキテクチャ(Ar
chitecture)/チップセット(Chip Set) 2.ヘッダ「標準化(Canonicalization)」およびパケット「
細分化(Cellularization)」 3.BlazeWireTM高速MACバス(High−Speed MAC
Bus) 4.データフローイン(Data Flow In) 5.キューポインタマネージメントおよびオペレーション(Queue Poi
nter Management and Operation) 6.リレーエンジンオペレーション(Relay Engine Operar
ion)/フローマッチング(Flow Matching)(FastPat
hTM) 7.トランスミッションスケジューリング(Transmisson Sche
duling) 8.インターフェース(Interfaces)/トランスミッションクレジッ
トループ(Transmisson Credit Loops)へのダウンロ
ード(Download) 9.超高速 RAMBUS(登録商標)オペレーション(Ultra−High
Speed RAMBUS? Operation) 10.バックグラウンドエンジン(Background Engine)/初
期設定(Initialization)/監視(Monitoring) 1.BlazePathTM/BlazeFireTM アーキテクチャ(Arc
hitecture)/チップセット(Chip Set) BlazePathTM アーキテクチャと呼ばれる本発明のアーキテクチャは
、特定のフローにおけるメンバシップに特性を与えるパケットのアプリケーショ
ンヘッダの情報に基づいて行われる決定により、入りデータパケットを多数の仮
想キューの1つ以上に事実上割り当てることによって(高速データバッファへの
ポインタによって)行われるアプリケーション層のフロー交換または接続を備え
ている。システムのスループット(処理能力)あるいは帯域幅を拡張するために
、好ましい実施形態のAppSwitchTMアプリケーションフロースイッチは
、フローの1つまたは複数の初期パケットにより決定し、そしてそのフローの次
のパケットを識別するために、ヘッダ情報のハッシュバージョンにマッチさせる
。入りフローのヘッダ情報を「標準化する」ことによって、また長いフレームを
小さな内部セルに分割する(しかし、それらを論理的に接続したままで)ことに
よって、本システムは、「セルあるいはフレーム」を独立させている。
【0013】 図1を参照すると、好ましい実施形態において、アーキテクチャは、Blaz
eWireTMMACバス(MAC Bus)60によって接続されるBlaze
FireTM チップセットにおいて実行される。アーキテクチャは、キューポイ
ンタ機構を実行する100MHzで作動する287k−ゲートキューマネージャ
(287k−gate Queue Manager)(「QM」)ASIC3
0を中心に置かれ、ポインタ(24−ビット精細度)のための16,000,0
00キューを、入りパケットが一時的に格納されるQM30に接続される高速デ
ータバッファ35と36のロケーションに割り当てることを可能にする。キュー
は、アルゴナウテース(Argonaut)RISC(ARC)セントラルプロ
セッシングユニット387および検査されるパケットヘッダのためのFIFO3
94を含む、100MHzで作動する410k−ゲートリレーエンジン(Rel
ay Engine)(「RE」)あるいはフォワーディングエンジン(For
warding Engine)(「FE」)ASIC40によって行われる決
定に基づいてロードされる。システムへの入力およびシステムからの出力は、B
lazeWireTMMACバス(MAC Bus)60にデイジーチェーン接続
される359k−ゲート 60MHz MOM(MII メディアインティペン
デントインターフェース(Media−Independent Interf
ace)8進(Octal)MAC)ASICs 10と20を使用して行われ
る;そのMOMチップ10と20は、ローカルエリアイーサネット(Ether
nets)63のための2つのクワッド(Quad)物理リンクチップ(それぞ
れに、71と72および70と73)、あるいはT1およびPOTS(「プレー
ンオールド電話サービス(Plain Old Telephone Serv
ices)」)WANライン69を作用するディストリビューテッドアクセスデ
バイス(Distributed Access Device)(DAD)W
ANプロセッサ(WAN Processr)66などの広域ネットワークのた
めの、またはバックグラウンドエンジン(Background Engine
)(「BE」)50のためのインターフェースにそれぞれ作用する。
【0014】 図2は、本発明の好ましい実施形態に使用されるMOMチップ、例えば、MO
Mチップ10のブロック図である。全体として、その線図は、8つのデュプレッ
クスイーサネット(Ethernet)ポートを備えるMIIインターフェース
65を示している。受信インターフェース11およびパーサ12は、データパケ
ットを受信し、下文のセクション2に記述される標準ヘッダとしてフレームヘッ
ダを再書き込みし、そして結果パケットを、8つのポートの中でラウンドロビン
アービトレーションのプロデューサ13およびFIFOアービタ14によってF
IFO15に配置される128−バイトセルに分割する。標準ヘッダを有しない
データセル(パケットの第1セルに続くパケットセル)は、データの内部タグ付
けのためのバーストロジック17によって追加されるバーストヘッダを有してい
る。RXクレジットマネージャ(RX Credit Manager)19は
、トランスミッションクレジット(下文のセクション8で詳細に論じられる)を
、トランスミットFIFO24がトランスミットされるさらに多くのデータを受
け入れることが可能であることをQMに知らせるのに適切なヘッダに追加する。
トークンアービタ18は、データが、QM30へのMACバス60にトランスミ
ットされるために、MACバス(Bus)TXセル76に送られる時期を決定す
る。
【0015】 さらに、図2を参照すると、MACバス(MAC Bus)60に入るデータ
セルは、トランスミット消費者26およびその回路識別子により、標準/バース
トヘッダに方向付けられる。データパケットヘッダは、トランスミット消費者2
6およびインターフェース27によって再構成されて、トランスミットされ、T
Xクレジットマネージャ(TX Credit Manager)28は、QM
30にリターンされるクレジット情報でアップデートされる。
【0016】 図3は、本発明の好ましい実施形態に使用されるQM30のブロック図である
。本質的に、QM30は、適切なキューのデータセルの配置を迅速に実行し(事
実上、データバッファへのポインタのリンクリストによって実行される)、かつ
RE40によって方向付けされるようなキューポリシーを適用するように設計さ
れるゲートとステートマシンのコレクションである。QMは、3つのクロック様
式に分割される。受信データFIFO(Receive Data FIFO)
306および受信コマンドFIFO(Receive Command FIF
O)312を供給するデジタル遅延ロックループ(Digital Delay
Locked Loop)302および受信インターフェース(Receiv
e Interface)304を通り、またトランスミットデータFIFO(
Transmit Data FIFO)305をドレインするデジタル遅延ロ
ックループ(Digital Delay Locked Loop)301お
よびトランスミットインターフェース(Transmit Interface
)303を通るMACバス60を有するインターフェースは、MACバスクロッ
クにある。受信されるデータセルは、デュアルRAMBUS(r)アクセスセル(
Dual RAMBUS(登録商標) Access Cell)308を通っ
て、下文に詳細に論じられるようなDRAMs35と36の方に直接向けられる
。DRAMクロックに作動するDRAMインターフェース(DRAM Inte
rface)307は、ヘッダアウトFIFO(Header Out FIF
O)と共に、MACバスFIFOs305と306のオペレーションを調整する
(ヘッダデータインターフェース(Header Data Interfac
e)74のRE40(図示せず)に送られる標準ヘッダセルを含む)。ヘッダイ
ンFIFO(Header In FIFO)310(適切なルーティング情報
を有するリレーエンジンデータインターフェース(Relay engine
Data Interface)313で再書き込みされる標準ヘッダを含む)
およびDRAMコマンドFIFO(DRAM Command FIFO)31
1。 DRAMコマンドFIFO(DRAM Command FIFO)31
1は、SRAMクロックドメインによるファンクションのネットワークに示され
るQMロジックによって実行されるようなREの決定を含んでいる。受信エンジ
ン(Receive Engine)315、トランスミットエンジン(Tra
nsmit Engine)316およびヘッダプリフェッチエンジン(Hea
der Prefetch Engine)324は、インストラクションを供
給するためのDRAMアービタ314のファンクションを、DRAM35と36
の内外にデータを移動するためのDRAMインターフェース(DRAM Int
erface)307に方向付ける。受信エンジン(Receive Engi
ne)315およびトランスミットエンジン(Transmit Engine
)316は、DRAM35と36のバッファを入りデータに割り当てるために、
さらに、フリーバッファマネージャ(Free Buffer Manager
)318で調整する。エンキューマネージャ(EnQueue Manager
)319およびデキューマネージャ(DeQueue Manager)312
は、その他の事の中で、標準ヘッダデータを含むセルがパターンマッチングおよ
び受信キューから除去される対応するパケットのためのRE40に送られる時期
を決定するために、ヘッダプリフェッチエンジン(Header Prefet
ch Engine)および受信キューステート(Receive Queue
State)320(下文のセクション5に詳細に論じられる受信キューポイ
ンタのヘッドおよびテール)で調整する。ヘッダプリフェッチエンジン(Hea
der Prefetch Engine)324は、インターフェース75、
リレーエンジンインストラクションインターフェース(Relay Engin
e Instruction Interface)329およびリレーエンジ
ンインストラクションFIFO(Relay Engine Instruct
ion FIFO)328を経由してRE40からインストラクションを受信す
るリレーエンジンコンテキスト(Relay Engine Context)
326およびインストラクションディスパッチマネージャ(Instructi
on Dispatch Manager)327で調整する。回路ポーラー(
Circuit Poller)317は、セルをトランスミットするために、
回路毎にトランスミットエンジン(Transmit Engine)316を
ポーリングし、そしてそれらが1つ以上のキューに受信されて、トランスミット
されるとき、SRAMインターフェース(SRAM Interface)32
3を通ってパケットのトラックコンポーネントセルに、SRAM32のバッファ
ポインタ(「ディスクリプタ」)のリンクリストをアクセスするSRAMアービ
タ322で調整する。適切なフィールドマッピングがハードワイヤード(据え付
け)されるこれらのオペレーションは、きわめて高速で実行されるスケジューリ
ングおよびルーティングにおける多くの柔軟性を供給する。
【0017】 図4は、RE40のブロック図である。RE40のプライマリファンクション
は、QM30からインターフェース74で受信される標準化パケットヘッダを検
査し、そのパケットが既知フローに属するかどうかを迅速に決定し、それに応じ
て、適切なスケジューリング(サービスの特質)のためのインターフェース75
にインストラクションを供給することである。CPUコア(CPU Core)
387(ARCプロセッサで実行される)は、インストラクションキャッシュ3
86およびデータキャッシュ385を含み、DRAMインターフェース(DRA
M Interface)384(低速バス62と初期化におけるDMA383
とを超えてBE50からのインストラクションをも受け入れる)を通って、コー
ドおよびデータDRAM(Data DRAM)42を連絡する。ストリング比
較コプロセッサ(String Compare Coprocessor)3
89は、パケットとフローをマッチさせるのに使用されるパターン認識を促進す
るのに使用される。一般に、RE40を実行する標準化パケットヘッダは、MU
XIn394によってデータFIFO(Data FIFO)394にMUX(
多重送信される)されると同時に、ハッシュプリプロセッサ(Hash Pre
processor)399によって前処理される。パラレルハッシングの結果
は、ハッシュFIFO(Hash FIFO)393に配置され、ハッシュルッ
クアップエンジン(Hash Lookup Engine)392によって、
ハッシュテーブル(Hash Table)(特定のフロー特性と関連するヘッ
ダ情報の既知のハッシュの)391のオンボードL1キャッシュの内容と比較さ
れる。マッチが、L1キャッシュ(L1 Cache)391に見出されない場
合、ハッシュルックアップエンジン(HashLookup Engine)は
、SRAMインターフェース(SRAM Interface)およびアービト
レータ(Arbitrator)388を通ってアクセスされるルックアップS
RAM(Lookup SRAM)45に格納される全ハッシュテーブル(Ha
sh Table)を検索する。サーチコプロセッサ(Search Copr
ocessor)390は、高速パターンマッチングが適切でない、あるいは失
敗している状況の適当なフローパラメータ(下文で詳細に論じられる)を見出す
のに使用される。決定されるフローパラメータについて、適切なインストラクシ
ョンは、インストラクションFIFO(Instruction FIFO)3
95にCPU387によって出され、インターフェース75を渡ってMUXOu
t397によって、データFIFO(Data FIFO)394からQM30
にあらゆるデータを多重送信されるインストラクションプッシュ(Instru
ction Push)396によって処理される。
【0018】 図5は、ビューのキューマネージメントポイントからの本発明の好ましい実施
形態のオペレーションの総合概略図を示している。MOM受信ポート(MOM
Receive Ports)15′のデータは、QMメイン受信FIFO(Q
M Main Receive FIFO)330に方向付けされる。さらに、
MOM受信ポート348に現れるために、プロトコル66′の下で、またDAD
マネージメント(DAD Management)66″の方向付けの下に処理
されるWAN(T1およびPOTS)ポート受信キュー69′からDADイーサ
ネット(DAD Ethernet)トランスミットキュー348′にデータが
キューに入れられる。受信FIFO(Receive FIFO)330のデー
タセルは、メインシステムパケットメモリDRAMs35と36に配置され、標
準ヘッダは、QM30へのFIFO394に転送され、FastPathTMプ
ロセスが、トランスミッションのためにMOMトランスミットポート(MOM
Transmit Ports)24′(あるいは、T1およびPOTS ポー
トトランスミットキュー(Port Transmit Queues)69″
への更なるディストリビューションのため回路キュー350に分散されるDAD
66)にトランスミットされるフロー毎に、プライオリティ毎に、またポートキ
ュー332(下文で詳細に論じられるようなスタティックプライオリティ)と3
33(下文で詳細に論じられるような重み付けロビンプライオリティ)毎に、パ
ケットを適切なキューに入れることを可能にするのに適用される。スケジューリ
ングのファインチューニングは、「中間」キューとしてスケジュールキュー(S
cheduled Queues)336を使用して、フロー毎に、キューに入
れることに対するサービススケジューリングプロセス(Service Sch
eduling Process)336の特質を使用して達成される。マネー
ジメントキュー(Management Queue)337は、さらに、重み
付けラウンドロビンキュー333に作動するマネージメントオペレーションズプ
ロセス(Management Operations Process)33
8を備えている。モニタキュー(Monitor Queue)334は、さら
に、MIIs24′を越えてトランスミットされるネットワーク監視情報のため
に備えられている。BE50サイドで、MOMポートトランスミットキュー(M
OM Port Transmit Queue)339に配置されるデータは
、MII(100Mビットイーサネット(Ethernet))リンク64′を
越えてBE受信キュー(BE ReceiveQueue)341にトランスミ
ットされる。バックグラウンドエンジンメイン転送プロセス(Backgrou
n Engine Main Forwarding Process)342
は、情報をBEトランスミットロープライオリティキュー(BE Trasmi
t Low Priority Queue)346、あるいはBEトランスミ
ットハイプライオリティキュー(BE Transmit High Prio
rity Queue)345に配置されるデータ(インストラクションを含む
)を開発するために、マネージメントオペレーションズプロセス(Manage
ment Operations Process)344によって作用される
マネージメントキュー(Management Queue)343に受け渡さ
れる。2つのBEトランスミットキュー(BE Transmit Queue
s)は、QM受信キュー(QM Receive Queue)330に配置さ
れるために、リンク64を経由して、MOMポート受信キュー(MOM Por
t Receive Queue)347にドレインされる。
【0019】 図6は、本発明のプロセスのための一般化されたフロー図である。プロセスが
、異なるセルのための線図の様々な点に沿って同時に生じることが理解される。
本発明の好ましい実施形態は、長い入りイーサネット(Ethernet)フレ
ームを次の再アセンブリのためセルに分割するので、それから創作されたパケッ
トに対するセルに特性を与えることが、実施形態において重要である。受信され
たセルは、「パケットのスタート」(「SOP」)、「パケットの中間」(「M
OP」)、「パケットの終り」(「EOP」)であり、あるいは「パケットのス
タートおよび終り」(「SEP」)として1つのパケットを含んでいる。好まし
い実施形態のデータパケットの受信およびトランスミッションは、回路毎にベー
スで実行され、また回路は、パケットの順序を保つ論理接続として定義されてい
るので、1つの回路のパケットのセルは、別の回路の、例えば、MACバスのパ
ケットのセルでインターリーブされるが、同一回路に受信されるセルは、同一順
序にトランスミットされる必要がある。したがって、図6Aにおいて、上部から
下部に進むタイムについて、MACバスへの出現順に、SOP371は回路2か
ら、SEP372は回路1から、SOP373は回路3から、MOP374は回
路2から、EOP376は回路3から、SOP375は回路1から、そしてEO
P377は回路3から受信される。
【0020】 図6に示される一般化されたプロセスを参照すると、オペレーション351に
おいて、パケットは、MIIで受信され、オペレーション352で、さらに、標
準ヘッダ(そして可能な場合、バーストヘッダ)を追加するMOM10あるいは
20(図1によると)によってセルに分割される。MOMトランスミット(MO
M Transmit)バッファのセルは、オペレーション353のMACバス
で調停され、本発明の好ましい実施形態に使用される仮想パケットのリンクリス
トなどのオリジナルパケットとセルを結合するために、プロシージャの開発を含
むオペレーション354のその後のトランスミッションのためDRAMに格納さ
れる。セルがSOPである場合、デシジョン355は、セルをパターンマッチン
グプロシージャに送ることを行い、そこでは、セルは、ハッシュされ356、以
前に識別されたフローと関連する既知のハッシュ結果に対して、マッチされる3
57。マッチがない場合(可能な場合、いくつかのマッチングプロシージャ後)
、新しいフロー、あるいは例外が示される358。いずれにせよ、適切なヘッダ
は、適切にパケットをスケジュールして、ルートするために書き込まれる354
。好ましい実施形態において、スケジューリングは、サービスの指定された特質
と特定の回路とに関連するキューにパケットを指定することによって行われる。
キューのセルは、適切なタイムでトランスミットされ360、可能な場合、プロ
セスはヘッダの再書き込みを含む。トランスミットされたセルがEOPであった
場合、パケットは、回路からキューを外し361、パケット(オーナー362の
ない)のトランスミッションのためのその他の要求がない場合、データバッファ
がリリースされる363。このプロセスは、さらに、様々な方法で一般化されて
、実行される。
【0021】 本発明の好ましい実施形態によるデータのフローは、追加の発明を含み、更に
詳細に下文に示されている。 2.ヘッダ「標準化」(Header “Canonicalization”
)およびフレーム「細分化」(Frame “Cellularization
”) 物理リンクにデータパケットを受信すると、発明のネットワークスイッチは、
入りパケットのレイヤ(Layers)2と3のヘッダを選び、それを標準フォ
ームに変換する。本発明は、さらに、可変長パケットを高速内部バスのコミュニ
ケーションのための最大適切の長さの「セル」にブレークする。これにより、イ
ーサネット(Ethernet)「フレーム」、あるいはATM「セル」などの
異なるレイヤ(Layer)2と3ヘッダフォーマットを有する異なる長さのデ
ータパケットを同一の交換プロセスおよび装置によってルートさせる。ヘッダの
「標準化」は、さらに、プロセッシングのために適切な4バイト境界に沿ってヘ
ッダを整列する。ここの例示は、イーサネット(Ethernet)フレームた
めであるが、用語の適切な変更を有するATMセルおよびインターフェースAS
ICに適用可能である。
【0022】 図1を参照すると、情報のフレームは、図示されている8つのポートの1つを
経由してMOM1のチップ10によって受信される。物理リンクレイヤ1のプロ
セッシングは、好ましい実施形態において、デュアル「オフザシェルフ」クワッ
ド(Quad)PHY集積回路(ルーセントテクノロジーLucent Tec
hnologiesから入手可能などの)によって処理され、それぞれは、10
−ベース−T(10Mビット/秒)、あるいは100−ベース−T(100Mビ
ット/秒)イーサネット(Ethernet)のトランスミッションエレクトロ
ニクスを処理する。例えば、MOM2からのポートの1つは、内部の、あるいは
外部の10Mビットイーサネット(Ethernet)によって、モデムを経由
してT1およびPOTSラインと順番にインターフェースと連結するオフザシェ
ルフWANプロセッサ(モトローラ(Motorola)から入手可能などの)
を含むDAD集積回路に接続される。全体として、これらは、QuadServ
eTMWANアクセスモジュールを形成する。
【0023】 図1を参照すると、メッセージを形成するデータストリーム形状の情報のフレ
ームあるいはパケットは、物理回路70に入力され、次に、8つのポートの1つ
を経由してMOM1のチップ10によって受信される。図18は、典型的なパケ
ットフォーマットの編成を概略的に図示している。プリアンブル620があり、
それに続いて、パケットをブリッジするための情報を含むデータリンクレイヤ2
のヘッダ622と、メッセージをルートするための情報を含むネットワークレイ
ヤ3のヘッダ623と、データが使用されるアプリケーションについての情報を
含むアプリケーションヘッダ624がある。ヘッダの後には、データ自体625
が続くが、時には、通常不必要であり、使用されないトレーラ626がある。
【0024】 様々なイーサネット(Ethernet)プロトコルを認識するために、好ま
しい実施形態におけるハードウェアにプリプログラムされるMOM1のチップは
、プリアンブルおよびトレーラをドロップし、受信されたフレームからレイヤ2
と3のヘッダを読み取り、図7Aの28のバイトの標準ヘッダを生成する。ポー
ト毎に、256バイトのバッファ能力を有し、MOM1は、フレームデータを1
28バイトのセルのセグメントにそれぞれを分ける(その他のセルの長さは、別
の実施形態において使用される)。
【0025】 標準ヘッダに隣接して、受信されるレイヤ3(ネットワーク)のヘッダ情報は
格納される。標準ヘッダが28バイトであるので、レイヤ3のヘッダは、常に、
セルのスタートから4バイトのマルチプルでスタートする。レイヤ3のヘッダ内
の重要なフィールドは、全体として、4バイト境界で整列される。これは、32
−バイトプロセッサ/メモリアーキテクチャのために極めて効率のよいフィール
ドのプロセッシングを行う。
【0026】 アプリケーションレイヤを含むより上位のレイヤからのその他のヘッダ情報は
、レイヤ3のヘッダの後に続く。標準ヘッダは、受信される各フレーム、あるい
はパケットの第1セルの始めに配置され、パケットをルートしたり、あるいはブ
リッジするために、RE40によって使用される。パケットがトランスミッショ
ンのためにMOMに送られるとき、MOMは、トランスミット標準ヘッダの転送
先およびプロトコル情報により、適切なヘッダと、プリアンブルと、トレーラと
を再構成し、指定されたポートに接続されるラインに、再構成されたパケットを
配置する。
【0027】 図7Aは、好ましい実施形態の標準ヘッダの編成および内容を示している。最
初の2つのバイト430は、データパケットが受信された回路の回路識別を保持
している。DL Intoのバイト432は、オリジナルの受信ヘッダからのデ
ータリンク(Data Link)(レイヤLayer2)のヘッダについての
情報を供給する。図7Bは、これらのビットへの特定の割り当てを示している。
ビット7は、受信されたフレームが、受信時タグ付けされたVLAN(仮想ロー
カルエリアネットワーク)であった場合を示している。トランスミッション時、
このビットがセットされると、出パケットがトランスミッションを処理するMO
MチップによってVLANヘッダと共に封入される。しかし、VLANタグで受
信されるパケットは、VLANタグと共に必ず送り出されないし、また逆もまた
同じであることに留意されるべきである。
【0028】 図7Bのビット6と5は、CRCs(巡回冗長検査)が処理される方法を示し
ている。図7Cは、改めて説明するまでもない。出フレームは、受信されたフレ
ームとは異なるとき、新しいCRCが生成される必要があるが、オリジナルのフ
レームが単に転送される場合、古いCRCを保持したり、あるいは別のCRCを
生成する必要があるので、CRCは、変更すべきでないことを心に留めておきた
い。ビット4と3は、使用されず、ゼロのままである。図7Dは、データリンク
パケットフォーマットを識別するビット2,1および0のための符号化を示して
いる。
【0029】 標準ヘッダNL Infoフィールド434は、ネットワークレイヤ情報を含
んでいる。図8Aは、NL Infoの8つのビットの意味を示している。受信
に関しては、ビット7は、受信された情報の転送先アドレス(DA)が、パケッ
トが受信された回路と関連するブリッジグループのアドレスであることを正確に
示している:ビット6は、DAがポートのためのシステムのアドレスであること
を正確に示している:ビット5は、DAがネットワークコントロールプロトコル
と関連するものであるなど「周知のアドレス」として、発明によって予め形成さ
れたアドレスであることを正確に示している。トランスミッション時、このビッ
トは無視される。トランスミッション時、ビット7と6がセットされると、適切
なソースアドレスがSAフィールドに置かれる。
【0030】 ビット4−0は、パケットのレイヤ3のプロトコルを識別する。図8Bは、発
明にプリプログラムされるこれらのプロトコルを識別する。これらは、新しいプ
ロトコルが開発され、システムによって効率的に処理される必要があるとき、拡
張される。
【0031】 タイムスタンプ(Time Stamp)の4つのバイト138は、パケット
が終了するタイムを含んでいる。QMは、パケットの第1セルの一部として標準
ヘッダを受信するとき、パケットが終了するタイムを実行する。パケットをトラ
ンスミットするときのQMは、カレントタイムが標準ヘッダのタイムスタンプ値
より大きいかどうかを検査する。その場合、データリンクデバイスは、パケット
をトランスミットしないで、その代わりにそれをカウントするように指示される
。MOMによって最初に生成されるとき、このフィールドは、下文の「データフ
ローイン(Data Flow In)」のセクションで記述されるセル情報を
含んでいる。
【0032】 2−バイトの受信回路識別(RX Ckt Id)は、パケットが受信される
回路を識別する。QMは、データが再トランスミットされる回路の回路識別でC
kt Idフィールド430を上書きする前に、MOM1によって最初に供給さ
れるCkt Idフィールド430から受信回路識別をコピーする。受信回路識
別は、したがって、後の使用(BE50によるマネージメントおよびRMONフ
ァンクションのためなど)のために保持される。
【0033】 DAは、受信されたパケットの48−ビットレイヤ2(MAC)の転送アドレ
スである。
【0034】 SAは、受信されたパケットの48−ビットレイヤ2(MAC)のソースアド
レスである。
【0035】 VLANタグは、イーサネット(Ethernet) 802.1Qタグで受
信されるパケットを収納する2−バイトフィールドである。DL Infoフィ
ールドのVLANタグビットは、上述のように、セットされている。このパケッ
トのトランスミッションを処理するMOMチップは、出パケットにタグ付けする
【0036】 P−タイプ/長さ(P−Type/len)は、プロトコルタイプ/長さフィ
ールドを含む2−バイトフィールドである。この好ましい実施形態において、値
が1500(デシマル)より大きい場合、このフィールドは、プロトコルを示し
、また値が1500未満か、あるいはそれと等しい場合、このフィールドは、長
さを示している。プロトコルは、NL Infoフィールドのプロトコルの種類
(Protocol Kind)のサブフィールドにキャプチャされる。プロト
コルが形成されない場合、NL Infoフィールドのプロトコルの種類(Pr
otocol Kind)のサブフィールドは、未知(Unknown)(0)
を示し、そしてP−タイプ/長さ(P−Type/len)フィールドは、値を
有する。例えば、パケットが、イーサネット(Ethernet)802.3フ
ォーマットにある場合、このフィールドは、レイヤ3のヘッダの長さを有する妥
当性チェックのために使用されることが可能な長さを含んでいる。
【0037】 XXバイトは、受信されたパケットのパケットフォーマットに基づく別の情報
を有する。図8Cは、異なるDLフォーマットタイプのためのXXバイトの内容
を示している。 3.BlazeWireTM高速MACバス(High Speed MAC B
us) 1つ以上のセルに再編成される受信されたフレーム、標準ヘッダを含む第1セ
ルおよび上位レイヤヘッダは、BlazeWireTMと呼ばれる高速MACバス
のQMに、またQMから連絡されている。
【0038】 BlazeWireTMの本デザインは、10の信号のフル−デュプレックスの
クロックバスおよび2つの大集積回路チップ間のクロック信号の各進路である。
クロックプロトコルは、バスのデータトランスミッションを自己フレーミング、
非同期および非エイリアシング状態にさせる。すべての信号は、適当に終了され
た固有のトランスミッションラインを有する2つの導体ラン間の差動信号である
。この好ましい実施形態において、差動ドライバおよび受信機の電気特性は、低
圧差動標準(LVDS)ANSI/TIA/EIA−644に十分に記述される
ようなものである。差動信号電圧は、約250ミリボルト(250mv)であり
、ケーブル終端および物理信号パスが、配列され、バスを越える高速オペレーシ
ョンに適応するように設計されている。バスは、1つの大きなチップ(MOMあ
るいはQM)から別のものにランするチェーンとして編成されている。独立した
デイジーチェーントークンパッシング機構は、バスへのチップのアクセスを制御
するために、下文で詳細に論じられるように、実行される。バスの電気設計は、
起こり得る異なる製造業者からのチップの異なるプロダクションランに固有の実
際上の変化を補償し、電圧変化および温度変化に応じる。好ましい実施形態にお
いて、バスの速度は、ギガヘルツの範囲以上にランすることが可能である。
【0039】 10の信号は、8つのデータと、1つのパリティと、1つの制御とを備えてい
る。データは、クロック信号のライジングおよびフォーリングの両エッジのライ
ンに配置される。データは、クロック遷移で信号ラインに配置されるので、信号
は、クロック信号の中心にある、あるいはそれに近接する受信エンドで読み取ら
れるべきである。これにより、あらゆるオーバーシュートおよびあらゆる別の信
号遅延、あるいは別の異常を安定させることができる。データが、2つのクロッ
ク信号遷移で信号ラインにロードされるので、クロックエッジとバスに配置され
るデータとの間の最小スキューを有する対称クロックを有することが重大である
。本回路構成要素は、クロック信号の両フェーズの中心をモニタして、見出すた
めにフィードバックメカニズムを備え、さらに、チップを通してバスの延長に送
り出される信号のための対称クロックを備えている。
【0040】 図9は、20の信号ライン、10の各進路のグループおよび各グループを有す
るクロックを有するMOM1およびMOM2として示されている2つのサブシス
テム間の基本信号フローを概略的に示している。図10は、22のラインのそれ
ぞれの差動特性を示している。当該技術では周知のような差動ドライバおよび受
信機は、信号忠実度を最大化し、リンギング(呼出し信号)を最小化するために
、特性インピーダンスのトランスミッションラインを適当に終了する。ドライブ
サイドなどのその他の終端機構は、別の実施形態において役に立つように使用さ
れる。
【0041】 図11は、10のデータビットの1つがMOMsの1つから出力される回路構
成要素の概略図である。回路構成要素は、本質的に、その他のビットのために複
写される。この回路実行が、クロック対称を最大化し、スキューを最小化する。
Aデータ462は、Bデータ464が後に続く出力466に配置される。Aデー
タは、フロップ468にラッチされ、論理アレーに示される。前のBデータが、
ラッチ472に残存し、論理アレー460に入力されることを考慮してください
。論理アレーは、ラッチ476に残存した信号に対して「排他的な、あるいはe
d」であるとき、ゲート466の出力でA信号を供給するラッチ474に信号を
ロードするように配列されている。次のクロックエッジで、類似オペレーション
は、出力でBデータ信号を供給し、Bデータ464は、ラッチされ472、そし
てラッチ476のデータの「排他的な、あるいは」が、「排他的な、あるいは」
466の出力でB信号を供給するように、ラッチ474の前の信号に対して、「
排他的な、あるいはed」である。図12は、上記の簡易タイミング図である。
【0042】 図12Aは、バスクロックのコンポジットタイミングチャートおよびMOMs
1と2の間のバスの10のデータラインを示している。図12Aは、クロック信
号の各エッジの8つの連続バイト(パリティと制御とを加えて)の転送を示して
いる。
【0043】 信号がMOMあるいはQMで受信されるとき、図13は、遅延されたクロック
に受信クロックの1つのフェーズの中心でエッジを供給するのに使用されるMO
Mの回路構成要素を示している。別の類似回路は、遅延されたクロックに受信さ
れたロックのその他のフェーズの中心でエッジを供給するのに使用される。これ
らの中心に集められたクロックは、データを受信MOMにラッチするのに使用さ
れ、MOMから信号を送り出すのに使用される対称クロックのための基礎となる
。受信されたクロック80は、ラッチ482とラッチ484とへのデータ入力と
なる。遅延されたクロックDLYA(入力クロックの遅延バージョン)は、その
出力がSAMPLE CLK Aであるラッチ482にクロック信号480をラ
ッチし、そして遅延されたクロックDLYBは、出力SAMPLE CLK B
を有するラッチ484にクロック信号480をラッチする。DLYAおよびDL
YBは、プログラマブル量による制御論理によって遅延される。これらのSAM
PLE CLKsの2つは、信号を同期するように設計される回路構成要素を介
して制御論理アレー90にフィードバックされる。オペレーションにおいて、制
御論理は、DLYAが生じるとき、プログラムすることが可能である。このよう
に、DLYAは、制御論理がSAMPLE CLK A信号によって決定するこ
とが可能なほど低いとき、クロック信号480をラッチする。制御論理は、クロ
ック信号480が高くなるまで異なる遅延をセットすることを続ける。同じよう
に、制御論理は、クロック信号が低くなるまで、異なる遅延をセットすることを
続ける。上述のように、制御論理は、SAMPLE CLK A信号をモニタし
て、この状況を決定する。図13Aを参照すると、制御論理が、第1のライジン
グエッジ480′およびクロック信号480のフォーリングエッジを見出すと、
制御論理は、「識別」し、クロック480の正相の中心でDLYAライジングエ
ッジ486をセットすることが可能である。このDLYAライジング信号は、ク
ロック480の次の継次的正相にデータをラッチするのに使用される効果的なラ
イジングエッジ486′である。DLYA信号を中心に集める時間の間、図13
Aのタイム486で受信される実データは、クロック480の正相に以前中心に
集められた図13のDLYB信号によってラッチされる。DLYBの以前のセン
タリングは、上述されるような同じ方法で、SAMPLE CLK Bフィード
バック信号およびDLYB遅延された信号を使用して達成された。この実施形態
において、1つの遅延されたクロックが、データをラッチする間に、別の遅延さ
れたクロックは、少し遅れて使用されて中心に集められる。
【0044】 図13の回路構成要素は、反対のフェーズのデータにラッチするために、入力
クロック信号の負相の中心を精確に測定するべく複写される。図13は、受信さ
れたクロックの負相の中心で正確にDLYAライジングエッジ489を示してい
る。以前に記述されるように、DLYCクロックは、クロック480の1つの負
相の間に中心に集められ、もう1つ(図示されていないDLYD)は、データを
ラッチし、DLYDは、中心に集められ、DLYCクロックはデータをラッチす
る。
【0045】 図14は、遅延回路構成要素の一部分を示している。IN信号494は、1つ
のゲート495によって遅延され、「アンド(and)」ゲート496に入力さ
れる。制御1の信号は、論理信号である場合、信号は走査され496、「オア(
or)」ストラクチャ498を経由して出力され、3つのゲート遅延495、4
96、498によって遅延される出力信号となる。この遅延は1つのユニット遅
延と考えられる。制御1の信号が、ロジック「0」であり、制御2の信号がロジ
ック「1」である場合、IN信号は、ゲート495′、496′、498、49
8を通って移動する。このパスは、2つのゲートだけ長く、そしてIN信号は、
2つの信号ユニット遅延回路を介して進むと考えられる。各信号遅延ユニットは
、2つのゲート遅延を追加する。制御論理が、IN信号を3つのゲート500に
達することを可能にし、そして制御 X信号が論理信号である場合、IN信号は
、3つのゲート500とゲート504(ゲート502は、各遅延回路において複
写されるコモンパスであり、以前の遅延回路において不能にされる)の4つのゲ
ートのインクリメンタルを貫通する。この回路は、4つのゲート遅延を追加し、
そして2つのユニット遅延を形成する。4つのユニット遅延(図示せず)は、3
つのゲート500を7つのゲートと置き換え、したがって、8つのゲート遅延あ
るいは4つのユニット遅延のインクリメントを追加する。この好ましい実施形態
において、32の単一−ユニット遅延、16の2−ユニット遅延および16の4
−ユニット遅延がある。この好ましい実施形態における配置は、遅延Lpの算術
のような進行を選択されることが可能な総計で128ユニット遅延を可能にする
。別の実施形態において、遅延回路の別の配置が、選択されることが可能であり
、また利点を与えるために、別の周知の遅延回路が使用されることが可能である
。この好ましい実施形態において、回路構成要素を作るのに使用される予想され
る製造プロセスのために、および予想される温度と電源電圧オペレーションのた
めに、単一ユニット遅延は、約0.15ナノ秒(nsec)である。1つのユニ
ット遅延の変化は、上述のパラメータにより、0.08から0.3ナノ秒(ns
ec)でランすることが予想される。図15(テーブル1)は、この好ましい実
施形態における制御ビットの使用を示すテーブルである。ビットは、フレーミン
グのために使用される。図12Aのタイミング図において、8バイトは、e0−
e7で記されている各クロック遷移に転送される。テーブル1は、同等数の遷移
、e0、e2、e4、e6のための制御ビットの値を示している。その組み合わ
せは、最も右の縦行に示される許容可能なファンクションを示している。制御ビ
ットが、同等遷移のそれぞれにおいて0である場合、バスは、アイドル状態であ
る。 組合せのいくつかが、データラインのデータが有効フレームである列510の信
号に示されている。特に、e6タイムでの値は、常に0であり、e0タイムでの
値は、データの有効フレームのために常に1であるので、システムは、制御ビッ
トの0から1のタイムシーケンスを捜す。1が、e0で仮定され、そして列51
0)に示される組合せが存在する場合、データのフレーミングは、8バイトの有
効セットを示す。
【0046】 列510は、8つのデータバイトの有効フレームのエイリアシングが生じない
ことを確実にするように選択される。有効制御ビットシーケンスの組み合わせ―
―図15の列510――は、他に有効フレームの0/1パターンを持たず、常に
、0と1を有する。図16は、同等クロック遷移での制御ビット値のパターンが
、実効性がないとしてフレーム512を示し、その理由が、そのフレーム512
のためのe2およびe4に別の0/1があるからであることを示している。しか
し、フレーム514は、フレーム516のように有効である。実際問題として、
制御ビットの値は、各受信クロックフェーズで測定され、クロックフェーズによ
って分離される0から1の遷移がモニタされる。このような遷移が生じるとき、
1は、e0タイムスロットにあるとして処理され、フレーム有効性のモニタリン
グは、関連タイミングに基づいている。
【0047】 MOMチップからQMへのデータのトランスミッションは、好ましい実施形態
におけるトークンリングによって調停される。図1のシステムブロック/概略図
に戻って参照すると、トークンリングアービトレーションパス61は、MOM1
とMOM2との間に示されている。トークンリングは、入りトークン信号と出ト
ークン信号との間に論理差があるとき、チップがトークンを有するループ信号で
ある。図17において、チップ内にネット反転がなく、パスにインバータがある
ので、この場合、初期化の1つのチップで、MOM1は、トークンを有すること
を確実にし、バスを制御する状態にある。チップがトークンを有するとき、バス
を越えてそれ自体のデータを送ることが可能であり、チップがトークンを有しな
いとき、別のデータが、チップを簡単に通過する間、トークンを待つ必要がある
。チップがトークンを有するとき、トークンを解放する前に、チップは、チップ
によって送られる必要があるすべてのデータを送り出す。MOM1が、トークン
を有する場合、出力信号61の状態を変更するMOM1によってMOM2に通過
される。 4.中へのデータ・フロー MOM 1チップ10 は8個のポートそれぞれに対する256バイトの受信
されたデータを有する2個以下のセルの保存あるいはバッファになることができ
る。前記の「ヘッダ規範化」セクションに記述したように、MOM チップは、
受信されたフレームあるいはパケットからレイヤ 2および3のヘッダを読み、
28バイトの初期規範的ヘッダ(このセクションでさらに記述する)を発生し、
続いてネットワーク・レイヤ3ヘッダおよび、処理される最初のセルの アプリ
ケーション・レイヤ・ヘッダを続けて発生する。
【0048】 MOM 10 (または20)は、前述のトークンリング結合経路のトークン
を保持するときに、高速 MACバス 60 上のそのセルをQM 30に送信
する。MOMの8個のポート間で、結合はラウンドロビンになっている。QM
はそのセルを受信し、そのセルを、この望ましい具体例では下記のセクション9
に記述するように高速アクセスのDRAMの2バンクを有するRAMBUS(r)
DRAM、ダイナミックRAM35および36に、保存する。受信され、保存さ
れるセルを記述する情報はSRAM 32に置かれ、「記述子」と呼ばれる。規
範的ヘッダはタイムスタンプを含むように修正される。修正された規範的ヘッダ
およびそのパケットの最初のセル内のヘッダ情報の残りはRe40への転送のた
めにヘッダ出力FIFO 309に置かれる。
【0049】 フレームのセグメント分けおよび結合のために、回路で受信されるパケットの
セル は、他の回路で受信される他のパケットのセルにインターリーブされる場
合がある。QMがパケットのセルの順の追跡を維持することが可能になるための
情報を提供するために、MOMは、パケットの第1セルの初期の規範的ヘッダの
第1オクトバイト(8バイト)に相当する同じパケット(17オクトバイトに組
み立てる)のそれによるセルに加えられる8バイトオウトバイトのバーストヘッ
ダを書く。
【0050】 付加情報は、セルの境界およびそのセルに含まれる情報の形式を区別できる制
御信号線すなわち高速MACバスのビット上に送られる。図21は、オクトバイ
トのグループ内のデータを詳記するための制御ビットの使用を示す。8個の連続
したクロック位相にわたる制御ビット700は8バイトをフレーム分けし、デー
タを区別する。制御ビットの値は図22の表のe0〜e7として示されている。
【0051】 図22で、偶数制御ビットe0、e2、e4およびe6は、次のように e0
が常に1、e6は8バイトの有効グループが受信されることを示すために、常に
0であるように符号化される。この符号化に伴うエイリアシングを防ぐために、
有効なグループを示す値は(偶数制御ビットe0〜 e6)、1000、110
0および1110だけである。ビットe2はセルのスタートを示し、e4はパケ
ットのスタートを示す。図23に偶数制御ビットの可能なシーケンスを示し、グ
ループ704、708および710が有効である間に、グループ702は有効グ
ループではない。0と1の巡回する708は有効グループの唯一可能な始まりは
0、続いて1でなければならないことを示し、次の2ビット(e2およびe4)
の別の0と1であることはできないことを示す。
【0052】 さらに図22を参照して、奇数制御ビットは次のように、e1は送信クレジッ
ト(下記の検討を参照)があることを示し、e3(符号ビット0)およびe5(
符号ビット1)は1個の2ビット終了符号を形成し、e7(短縮語)8個の意味
のあるバイトより少ないのを含む1オクトバイトを示すように符号化される。短
縮語はセルの始まりあるいはセルの終わりに使用することができる。
【0053】 図24は遭遇する場合のある数個のパケット形式のチャートである。パケット
の最初のセル720は16個オクトバイト以下、すなわち128バイトまでにな
ってもよい。最初の32ビット語(オクトバイト)用の偶数制御ビットは111
0である。図22に示すように、この符号はこのオクトバイトがパケットの有効
第1セルの部分であることを意味する。示されているように、有効セルに対して
e0は「1」であることが要求され、e2の「1」はこの8バイト転送がセルの
初めであることを意味し、e4の「1」はパケットの始まりであることを意味し
、e6 は有効セルに対して0でなければならない。セル720について、奇数
制御ビットは「1」である最後の8バイト転送のビットe5 以外すべて0であ
る。第25図は制御ビットe1、e3、e5およびe7、奇数制御ビットの符号
化を示す。セル720について、e5 は「1」で、e3は「パケットの終了」
に復号される「0」である。このように、セル720 は1個のセルのパケット
(SEP)である。このセルが完全な128バイト長である必要はないことを注
意すべきである。
【0054】 セル724はパケットの有効スタートセルで、奇数制御ビット726のe3は
「セルの終わり」を意味するが、「パケットの終わり」を意味しないように設定
される、1個のSOPセルである。次のセル728はパケットの第2セル(MO
P)で、1個のSOPセルに続くセルはすべて各セルの初めに加えられる1個の
オクトバイトバーストヘッダ330を含む17以下のオクトバイトを有する。こ
の第2セルに対して、最後のオクトバイトe3は、このセルがセルの終わりで、
パケットの終わりでないことを意味する設定である。セル734は最後の8バイ
ト・グループ中に設定され、このセルがパケットの終わり(EOP)であること
を意味するe5を有し、この場合に e7も0に設定される。ビットe7 は8
個の最後のグループが満たされていず、「短縮語」(図25でラベルが付いてい
るように)であったことを意味し、これが発生するとき、最後のバイト338は
最後の8バイト・グループの有効バイトの数を含む。例えば、最後のグループに
3個だけの有効バイトがあれば、最後のバイト(e7制御ビットと同時)は 0
011すなわち10進数の3を含む。
【0055】 MOMチップからQMへのセルの送信に関しては、第1セルの初めの第1オク
トバイトはタイムスタンプを含めるためにQMで修正される規範的ヘッダの1部
を含む。規範的ヘッダ全体は他のヘッダおよび128バイトの残りに合うような
フレーム・データと一緒に DRAMに保存される。
【0056】 図26はQMによる規範的ヘッダの第1オクトバイトの変成を示す。示されて
いるように、MOMによって書かれた初めの4バイト740、Ckt Id、D
L InfoおよびNL InfoはQMによって前方へ送られる。セル情報を
含む第2番目の4バイト742はQMによって タイムスタンプ748と一緒に
重ね書きされる。(規範的ヘッダはREに送られ、パケット指針で処理されるだ
けで、セル情報には関係しない。) セル情報バイト742の第1バイト744はQM から報告される送信クレジ
ットの数を含む。(下記のセクションの「送信クレジット技術」に詳記する)第
2バイトはクレジット・フラグ、SYNCHフラグであるビット7(初期化用)
および「親」フラグビット6(下記のセクション8に詳記する)を含む。第3バ
イトは第27図に意味を示すセル情報を提供する。そのビットの意味は、ビット
7がセルエラー、ビット6はパケット時間切れ、ビット5は不良パケット行列か
らのパケット、ビット4は モニタ行列から、ビット3〜0 は上記の制御から
選ばれるビットである。ビット3はパケット・エンド・ビットで、ビット2はパ
ケット・スタート・ビットで、ビット1はデータ・セル・ビットで、ビット0は
送信クレジットビットである。セル情報バイト742の最後のバイトはバイト数
のセル長を備える。
【0057】 規範的ヘッダ無しでセルを追跡するために使用されるオクトバイト長バースト
ヘッダを図28に示す。フィールドは初期規範的ヘッダの第1オクトバイトのそ
れと同一であるが、DL InfoおよびNL Info(SOPを見るだけの
REで使用される)がセル・シーケンス番号752 および未使用スペースで置
き換えられている。Ckt Id 750はそのセル(あるいはもっと特別には
その代わりのバッファ記述子)を順番にシーケンス番号を有すべきである同じC
kt Idを有する先行セルにマッチするために使用される(セルが廃棄されて
いなければ)。そのセルがQMによって先行セル(下記のように)、入力したク
レジットおよび他のセルの情報で取られた行動とリンクされれば、バーストヘッ
ダは必要でなくなり、除かれる。(パリティ情報がエラーを検出すれば1個のセ
ルが廃棄される。このような場合に、この時点でセルが、最後にはパケットが、
MOMチップに信号を送り、打ち切られる。1個の新しいバーストヘッダがQM
によって、そのセル用に送信位相内で創造され、そのCKT IDはパケットが
送られている場所を示す。 5. QMバッファおよび行列構造、ならびに動作 QMによって MACバス上に受信されるデータセルは、個々に、下記のセク
ション9に記述している高速アクセス動作によって、RAMBUS(登録商標)
DRAMの、完全な規範的ヘッダを有するが、タイムスタンプを含めるために
書き直され、バーストヘッダ・オクトバイトが除かれ、アドレスを設定できる1
28バイトのデータ・バッファに個々に保存される。アドレス00000 はセ
ル情報を含まず、ヌルポイントに相当する。
【0058】 MACバス上に受信され、データ・バッファに保存されるすべてのデータセル
は、少数の特殊化した行列を除いて、すべてに使用される記述子/ポインタ技術
を使用して単一の仮想受信行列に構成される。この技術は、1Gバイト以下のデ
ータに相当する受信行列を可能にする。
【0059】 記述子/ポインタ技術で、4バイト語から成るQMSRAM内のデータ・バッ
ファ「記述子」はバッファに保存される実際のデータのために置換され、論理パ
ケットを形成するようにリンクされる。このように、データとともにデータバッ
ファに割り当てられる記述子は、関連するセルが保存されるDRAM内のバッフ
ァのアドレスを指示する第1語内の1個のフィールドおよび、同じパケットの次
のセルに関係するSRAM内のもう1つの記述子802へのポインタを含む第2
語内の1個のフィールドを有する。図29に示すように完全なマルチセル・パケ
ットは、MOPバッファ記述子802を指すSOPバッファ記述子801の第2
語、EOPバッファ記述子803を指す記述子802の第2語、パケットの第1
セルに関係する記述子801を指すポインタを含むパケットの最後のセルと関係
する記述子 803の第2語とともに記述子「リンクリスト」により記述される
。図29Bに示すように、不完全なパケットは記述子805の第2語内にナル・
ポインタを有する。
【0060】 行列は、行列の第1パケットの第1セルおよび、行列の次のパケットの第1セ
ルと関係する記述子の第1語を指すその第1語のフィールド、と関係する記述子
の第1語を指す行列先頭ポインタによって本発明の中で形成され、そこで行列の
最後のパケットまで繰り返しリンクされ、行列は図30に示すように、行列の第
1パケットの第1セルに関係する指示子812を指示する受信行列先頭ポインタ
でそれを指示している行列後端ポインタ、および受信行列の最後のパケットの第
1セルと関係する指示子815を指示する後端811を有する(記述子はそれぞ
れDRAM35および36の128バイトのバッファにマッピングされる)。示
しているように、行列になったパケットは完全である必要はないが、このパケッ
ト指向の実行の中でMACバスから受信したデータセルは行列の終わりよりもR
cv Ckt Idで区別されるパケットに「加えられる。」 受信動作において、QM記述子SRAM はバッファ記述子テーブルおよび受
信コンテキスト(または回路)テーブルに構成される。バッファテーブルまたは
リストはRAMBUS(登録商標) DRAM 内のデータバッファのバッファ
アドレスを含む語0(これによってバッファテーブル入力は盲従バッファである
)およびバッファテーブル内のもう1つの記述子へのポインタを含む語1を有す
る2個の4バイト語を含む記述子を有する。初期化において、バッファテーブル
は「フリーバッファテーブル」、先頭ポインタでQMハードウエアが指示する第
1フリーバッファの指示子、次のフリーバッファ記述子を指すそれの第2語であ
り、第2語に1個のヌル終端子を含む最後のフリーバッファ指示子までリンクが
繰り返される。
【0061】 データセルはMACバスで QMに出されるので、QMはその回路IDをその
規範的なヘッダまたはバーストヘッダから導き、その回路の活動に関する情報を
提出する受信コンテキスト(回路)の入力を調べる。SOPが検出されるとき、
受信コンテキストテーブルの入力(8バイト/回路)が創造され、次のフリーバ
ッファ指示子を指すポインタ(現行バッファ)が入力される。セルデータは関係
する RAMBUS(登録商標) DRAMバッファに書かれる。フリーリスト
ポインタは「現行のバッファ」が割り当てられた後、次のフリーバッファ指示子
に移動される。
【0062】 受信されるセルがすべてSEPでなければ、次のバッファ指示子の第2語は次
のフリーバッファ指定部を指し、関係するバッファを事前に割り当て、その次の
バッファ入力の第2語に0が書かれる。
【0063】 受信したセルが1個のSEPまたは1個のEOPであれば、バッファ記述子の
第2語はそのパケットの第1バッファ記述子を指すように設定され、それによっ
て、パケットを明確にするリンクリストは受信コンテキスト・テーブルからリン
クを外される。
【0064】 MACバスにインターリーブされる場合のある同じ回路IDを有する受信され
たセルはこのようにリンクリストによって仮想的に再構成され、その1部は先の
セルが通り抜け動作で送信される場合に不完全になる場合がある。後者の場合、
図30Bに示すように受信コンテキスト・テーブル820の現行バッファは デ
ータセルがロードされる予定のバッファに相当する次のバッファ記述子833
を指示し、バッファ記述子833はパケットの他のセルの記述子832、822
および821にリンクされ、その1つの記述子832は送信コンテキスト・テー
ブルの回路入力の現行バッファ821としてリンクされる。送信コンテキスト・
テーブルの中の回路入力は経路選択情報を提供するので、記述子833に関係す
るバッファに置かれるデータは「行く場所を知る。」リンク管理のこのシステム
は他の部分がまだ受信の間にパケットの部分の送信である「通り抜け」を可能に
する。 6. リレイエンジン処理/フロー・マッチング(FastPathTM) SOPのリンクされた記述子の受信行列は RE 40によって処理されるの
を待つ。余地はリレイエンジンによって処理される16個の128バイト・レジ
スタの「循環」FIFO394に利用できるので、そのSOPセル自身がロード
される。これはレジスタが一杯になるまでセルを加えるSOPセルの処理に従う
ポインタ・システムで行われ、(図19の送信ポインタが受信ポインタに「追い
つく」時)、先頭ポインタによって指示される処理が完了し、外される(そして
、受信ポインタは送信ポインタの後に「引っ込む」)ときだけ別のセルを加える
【0065】 RE動作は4段のパイプライン周囲に集中する。パイプラインは何年も、特に
高速ハードウエアの設計で使われてきた技術用語で、一時的な場合を除いてここ
でこれ以上取り上げない。REの仕事はどうしたらフレームをもっとも良く送れ
るか決定し、QM による情報を前へ供給し、保存されたパケットの送信を再ス
ケジュールすることである。4段階をここで簡単に記述し、フローを区別するた
めのパターンマッチングに使用されるハッシュおよびシグネチャ機能の詳しい記
述を続ける。
【0066】 第1段は「循環」データFIFO内のフルヘッダ情報を(全SOP セル)を
並列に保存し、並行してハッシュエンジンで処理され、ハッシュとシグネチャ値
を計算し、パターンマッチング機能で経路選択およびスケジュール情報がすでに
開かれている既存のフローの一部であるかを調べる。
【0067】 第2段はハッシュ・テーブル L1 391をアドレスするために使用される
ハッシュ値を受信する。有効な入力がこのテーブルに見つかれば、L1 テーブ
ルからのシグネチャがハッシュされたデータの計算されたシグネチャと比較され
る。合っていれば、ハッシュ・テーブルからのフロータグ(示されていない)が
、パイプラインFE/REハードウエア設計の次の段に有効なのが見つかった指
示と一緒に出される。このフロータグはフローについての情報が保存されている
メモリのテーブルへの24ビットの索引である。この情報はこの中の他の場所に
記述しているように、情報の関係する他のフローを加えてパケットを進ませる回
路を含む。
【0068】 有効なフロータグポインタ(指示している中身にリンクしている)はこの望ま
しい実施態様に記述しているパターンマッチ機能の望ましい結果である。
マッチしているのが L1に見つからなければ、チップ外でL2 テーブル 4
5の検索が行われる。シグネチャが上のように比較され、L2 テーブルからの
フロータグは次の段へ出される。次の検索を促進するために、 L2入力はL1 テーブルに書かれる。
【0069】 L1またはL2のどちらにも該当がなければ、コンピュータ処理されたハッシ
ュおよびシグネチャが次段に該当無しの情報とともに出される。
【0070】 第3段は上記の情報を受信し、ヘッダ照合が好結果であるか決定する。好結果
であれば、ヘッダ・データが適用するプロトコル規則により更新され、フロー情
報により前へ送られる。だが、ヘッダがTCP(Layer 4 Transp
ort Control Protocol)SYN パケットまたは他のプロ
トコルの接続パケットの等価スタートであることが見つけられるか、そのフレー
ムが既知の接続フローの一部でなければ、そのパケットはフロー情報によって進
められない。これらの例で、REはあらかじめハッシュしたヘッダを復号してフ
レームの経路選択をするために作動する。このプロセスで、それが利用できるフ
ロー情報を創造し、段1のハードウエアで得られるハッシュおよびシグネチャ値
を使用して、L2 ハッシュ・テーブルのそれを指すタグを挿入する。
【0071】 パイプラインの第4段で、ヘッダはQMに戻されフロータグによって供給され
る情報による特定の行列あるいは完全にプリハッシュしたヘッダのREの復号で
供給される経路情報に送信するために行列にされる。フローのパケットを前へ出
すための情報を総合するために、REはレイヤ2およびレイヤ3ヘッダに加えて
アプリケーションレイヤデータを試験する。
【0072】 図4を参照してさらに詳しくは、パケットが受信されると、QM30は128
バイトと同様の長さの役に立つヘッダをヘッダ・データをREのデュアル・ポー
ト巡回バッファにロードして、FE/REに提供する(NLフィールドから決定
されるように)。図4を参照して、ヘッダデータはQM100 からMUXIn
102 に送られ、RE40の FIFOスタックDFに置かれる。REは、各
ビットが全受信した全ヘッダデータバイトの1つに相当する128ビット入力の
以前に保存した順番になったデータアレイへの検索をするためにネットワークリ
ンクバイトを使用する。1個の1を有するビットに相当するバイトがハッシュお
よびシグネチャ機能で導かれ処理される。バイトストリングは0を持つ終わりで
当てられ、4バイトの偶数倍であるストリングを提供する。この望ましい実施態
様において、64以下の128ヘッダバイトがハッシュ/シグネチャ動作で処理
できるが、他の望ましい実施態様ではさらに多くあるいは少ないのも有益に使用
できる。
【0073】 ハッシュおよびシグネチャ機能は異なったマルチプレクサが使用されること以
外は同一である。だが、別の望ましい実施態様では、異なったマルチプレクサと
異なった除数の結合が好都合なので使用される場合がある。
【0074】 図4を参照して、ハッシュ・プリプロセッサ399は128バイトのヘッダデ
ータから選ばれたバイトを入力する。選ばれたバイトは多数の 32ビット語(
上記のように4バイトの倍数)を形成する。32ビット語のこのシーケンスのビ
ットはガロア体GF[2]の多項式、2のガロア体として処理される(ガロア体
は技術で公知である)。この望ましい実施態様において、この多項式はランダム
32ビット多項式で乗算され、注意して選んだ32ビットの剰余になる32次多
項式で除算される。
【0075】 上記で使用した除数は既約であり、基関数であるように選ばれる(規約および
基関数は技術用語として知られている)。剰余ビットのサブセットがハッシュ・
テーブルへの実際の索引として使用される。ビット5〜0 はチップ上の L1
キャッシュ391を指すアドレスである。ビット16〜1はチップ外の L2
RAM 45の64Kの配置をアドレスするために使用される。
【0076】 この望ましい実施例で使用される除数はX32+X7+X5+X3+X2+X+1で
、既約であり、基関数でもあれば、他のものを使用してもよい。
【0077】 フロータグおよびまたは入力フレームの行き先を区別するハッシュテーブルの
中身は次のように構成される。
【0078】 ハッシュテーブル1は各64ビットの64語から成り、チップ上に存在し、フ
ローの少しだけがアクティブである一般的な発生の中での値の戻りを最適化する
。さらに大きいテーブルも利用できる。それぞれの語において、図20Aおよび
図20Bを参照し、ビット31〜24はステイタスを形成し、ビット31が真で
有効入力を指示する。ビット0〜23 は24ビットフロータグを形成し、ここ
に特定のフローについての情報が保存される。このタグはパケットが進む回路に
ついての情報に対するポインタである。フロータグを取得することがREの最初
の仕事である。このハッシュテーブルは63〜32ビットの32ビット・シグネ
チャも含み、これは、衝突が発生しなく、結果が有効であるのを確実にするため
に使用される。フロータグの照合の有効性をさらに確実にするために、プリハッ
シュされたヘッダデータは明確な区別ができるように保存される。
【0079】 L1ハッシュテーブルに適合しなければ、システムは、64kハッシュテーブ
ルL2を検索するためにハッシュしたビット16〜0を使用する。各配置は64
ビット幅を有する。ビット30 はハッシュバケットポインタであり、その中で
、このビットがゼロであれば、L2テーブルのビットはL1テーブルと同様に機
能的に構成される。このハッシュアドレスに1個の有効な入力があれば、システ
ムはフロータグを得るための L2ビット 0〜23 をフローテーブルの索引
用に取る。図20Bを参照のこと。このハッシュアドレスL2ビット 31に有
効な入力がなければ、その有効ビットはゼロに設定される。このハッシュアドレ
スに2個以上の入力があればステイタスワードビット30 は1個の1に設定さ
れ、システムはL2ビット55〜36をハッシュバケットへのポインタとして取
る。
【0080】 ハッシュバケットは64ビット語の8個以下の異なるアドレスを保持する。衝
突ビット 29が1個の1であれば、別の条件がハッシュおよびシグネチャ動作
を持続し、役に立つ情報が得られないのでハッシュメカニズムにより、それ以上
の分解能は実現できない。この点で2個の衝突しているフローは、経路情報のT
rie検索を行うためにプロセッサに渡される。ハッシュバケットの8語は順に
検索され、この検索を容易にするために、アドレスは順番で、テーブルの索引の
最小からスタートする。8個を超える入力がハッシュバケットに導かれると、シ
ステムは逆戻りし、Trieルーチンを介してオーバーフローが検索される。T
rie検索はコプロセッサ390を使用し、経路の選択および分岐のために、大
きなTrieデータベースとして構成される。
【0081】 シグネチャおよび/またはハッシュの衝突の発生はモニタでき、ひどければ、
それぞれのマルチプライヤは変えることができる。このような変更はネットワー
クで遭遇するアドレスの与えられた組の良好なランダム化となる。
【0082】 ハッシュおよびシグネチャのルーチンの結果はある環境、TCP SYNまた
は等価な「接続開始」パケットが到達するか、接続フローに属さないパケットが
見つかったとき、あるいはパケットが機密性が高いか他の特殊モードであるとき
、のように接続が初期化されるときには使用されない。このような条件が見つか
ると、システムはTrie検索に逆戻りできる。
【0083】 一般にフローのその後のパケットの処理は、前記のようにパターンマッチソフ
トウエアの最適化で加速される。
【0084】 REは、セルがアドレスの設定で進むように置かれる行列を指示する命令と一
緒に情報を戻す。QMはその情報を受信し、セルを置き、それは送信されるリス
ト上に、受信しているか受信されたパケットの中身を形成するリンクリストに保
存される。 7.送信スケジュール REは、16,000,000送信行列(24ビット)以下のQM記述子SRA
Mにいろいろな回路用に管理された優先度でリンクされたポインタで仮想的に開
発し、QMをプログラムする。送信位相の核は送信コンテキストテーブルで、
図35に示すように回路、各回路のための4個の4バイト語で構成される。語0
は、送信クレジットのためのクレジット同期ビット、7ビット812(回路用の
クレジットが存在しなければ送信無)、パケットビット814のスタートおよび
次のバッファを送信に指示する23 ビット(次のバッファID)を含む。語1
816は8個のフラグビット818を含む。第35Aはこれらのフラグビット
の意味を示す。ビット 7 は、パケットが単一のバッファであることを指示し
、ビット6は一般にCRCエラーからのパケットが悪いことを指示し、MOMは
このパケットをはずすべきであることを示し、ビット5は そのパケットが、モ
ニタ行列から行列を外され、数個の他のポートでロードを外されるか、トラフィ
ック解析のためにバックグランド・エンジンにでき、ビット4はそのパケットが
「多重所有」か、1個の回路多数へ送信することを指示し、 ビット3−0は1
6バイトのグループの128バイト以下のバッファ長を指示する。語1の残って
いる 24ビットは第1行列のアドレス(各回路は 1、2、4、8または16
個の関係する行列を有する)を含む。送信コンテキストテーブルの語2 820
はモニタ行列が付いていることを指示する1ビット822、その行列のサービ
ス指針を指示する 4ビットおよび基準カウントを指示する3ビットを含む。第
35B図は4個の行列サービス指針ビットの意味を示す。可能な指定は1、2、
4、8または16個のスタティック行列、2、4、または8重み付けラウンドロ
ビン行列、2、4、8、16の1/2スタティックおよび1/2ラウンドロビン
行列である。下記のように、スタティック行列は最高の優先度で、重み付けラウ
ンドロビン行列が続く。語3は次の回路のIDを含み、「待機でない回路」に対
しては親回路ID(次の項で取り上げる)、「待機回路」では(下記で取り上げ
る)。待機スケジュール制御語を含む。
【0085】 送信コンテキストテーブルと連携する図36に示す行列テーブルは各行列に対
して4個の4バイト語を含む。語0は2バイトの待機回路ID(下記で検討する
)および2バイトの行列要約ビット(それぞれ16番目の行列番号のみ)を含む
。語1は行列寸法を示す2バイトおよび2バイトオーバーフローカウンタIDを
含む。語2は待機行列の数を示す5ビットフィールドおよび24ビットの行列先
頭ポインタを含む。語3は24ビットの行列後端ポインタを含む。
【0086】 望ましい実施態様において、行列は行列の先頭ポインタで始まるSOPセルを
第1SOP(および最後のSOPへの後端ポインタ)にリンクして形成され、パ
ケットの新しいセルはパケットのセルに加えられることを記憶して置くべきであ
る。このように図37を参照して、リンクされた記述子863で表される行列テ
ーブル850の行列16の4個のSOPおよびリンクされた記述子864で表さ
れる行列17の2個のSOPまたは「パケット」がある。リンクされた記述子8
62で表されるような不完全パケットは送信されても、(「通り抜け」を可能に
する)最後の記述子が関係するバッファが空であることを示しているときに、送
信がその回路で停止し、これにより、パケット順番が記憶される規則を保持する
【0087】 行列指針はデータパケットの送信の優先度付与およびスケジュールを可能にす
る。このように、固定されたスタティック優先度のもとで、特定の行列のパケッ
トはすべてこれらの前に他に送信される。重み付けラウンドロビン技術で、 1
行列のある数のパケットが送信され、次の行列のある数のパケットが送信される
などして、これがトラフィックのクラス(行列)が低い優先度のクラスを「渇望
」させないで相対的に優先度を付けられる。「半端技術」はスタティック行列が
優先度を有し、それらが働いているときに提供される。
【0088】 使用中の回路のスケジュールテーブルは連続的に走査される。図37に示すよ
うに、これは一次スケジュールテーブルA 865と一次スケジュールテーブル
866 および二次スケジュールテーブル870 を有する1次スケジュールテ
ーブルで構成される。一次スケジュールテーブルはチップ上に配置され、各64
入力の2個の記載されているテーブルから構成される。テーブルAは一度接触す
ると、それぞれのスケジュール・テーブルの時間に「印」が付けられる。一次テ
ーブルA入力は一次スケジュールテーブルBの入力を検索する6ビット索引を含
む。第37図に示すように、与えられたテーブルB入力はそれを指す1個より多
いテーブルA入力を有する場合がある。一次テーブル B入力は第2テーブルの
大きさを含み、大きさが「0」でなければ、第2テーブル867へのオフセット
および第2テーブル868のベースアドレスも含む。
【0089】 大きさが「0」であれば、残っているフィールドは「使用親回路」ビット87
1、親回路ID872および回路ID873である。
【0090】 回路IDを持つスケジュール・テーブル入力が見つかると、セル送信がトリガ
される。スケジュール・テーブルに適切な回路IDを入力することで、セル送信
順パターンが創造され、送信のそれぞれの割合によって回路に帯域幅を効果的に
割り当てる。
【0091】 スケジュール・テーブルの階層的性質がプログラムの広範囲のレートを可能に
する。これはサブテーブルの3段階までの「チェイン」で行われる。一次テーブ
ルB入力の大きさフィールドがゼロでなければ、この入力はチップ外に配置され
る第2テーブルへのポインタを含む。第2テーブル 870は、それぞれが3列
のテーブルを指示するか、回路を含む255以下の入力を有する。テーブル・チ
ェインになれば、オフセットフィールド867が下位レベルにアクセスされる入
力の追跡を維持するために使用される。各巡回で、オフセットはテーブルサイズ
を法として増加される。
【0092】 待機スケジュール(SBS)は第2番のスケジュールメカニズムである。 そ
の名前が意味するように、それがスケジュールテーブルから繰り延べられる帯域
のためのトラフィックのスケジュールを行う。待機トラフィックが送信できる場
合が2通りあり、(1) 送信が回路に対して送られるデータ無になり(クレジ
ットの欠如、あるいはデータの欠如)、(2) スケジュール・テーブルでプロ
グラムされる回路IDがゼロで、これによって待機トラフィック にある量の帯
域幅をあらかじめ割り当てる。
【0093】 SBSは、カレンダー行列アルゴリズム、特にリンクリストのアレイとして実
現されるスロット分割タイムリングの1版を使用する。アレイの各エレメントは
異なるタイムスロットに相当する。各タイムスロットに付けられるのは、この時
に1パケットを送るためにスケジュールを立てられる回路のリストである。スロ
ット索引は時間とともに進む。場所を占めているスロットが見つけられると、そ
のスロットでのリストの先頭で回路のためのセルが送信されることが可能である
。1個のセルが特定の回路のために送信されると、そのフローの次のセルのため
の適確な時間が計算され、別のタイムスロットにマッピングされる。
【0094】 図38を参照して、待機計画カレンダテーブル 878 は64個の入力で構
成されるチップ上のテーブルである。各入力は特定のスロットに付けられる回路
の記述されるリンクされたリストへの先頭および後端索引を含む。そのリンクは
送信コンテキストフテーブル 860の語3の次のCCtIdフィールドに保存
される。スロット索引877はQM核クロックに相当する周期で進む。SBSの
機会が発生すると、送信への次の回路がスロット索引の現行値で表される時間内
にその点から前方へ走査して見つけられる。送信するための次の回路は、次の場
所を占めているスロットのためのリストの先頭でのそれである。次の回路がいっ
たん見つかれば、そのリストから行列が外され、再びスケジュールを立てる。こ
のフィールドは回路の継続する送信間のカレンダテーブルスロットの数を表す6
ビットの数である。回路用の次のスロットは現行のスロットプラステーブルサイ
ズを法としてのこの間隔である。SBSの全体の影響は規則的な重み付け行列ア
ルゴリズムの近似である。与えられた回路の重みはそのSBS間隔Lの逆数であ
る。
【0095】 再スケジュールは回路が送られるべきである次のスロットを計算して行われる
。次のスロットの計算は送信コンテキストテーブルの語3のSBS間隔フィール
ドに基づいている。
【0096】 望ましい実施態様で「送る」ことはその行列からパケットストリングのリンク
をはずし、送信コンテキストテーブル860の現行のバッファにリンクして(図
37に示すように)スタート (不完全かも知れない)する。送信コンテキスト
の回路入力は現行バッファ(空でなければ)のバッファ内容を相当する「回路」
63に送るためにポーリングされる。セルデータは下記の「ピンポン」技術によ
り RAMBUS(登録商標) DRAMから読まれる。
【0097】 1個のパケットが全部送信されると、そのバッファはフリーバッファリストに
戻される。1個のパケットの送信は、図39Aのポインタ883を参照して、送
信コンテキストテーブルの次のバッファが、そのパケットの最後のバッファの記
述子882の第2語によって、そのパケットの第1バッファと関係する記述子8
80に導かれる。そこで、フリーバッファマネージャ(示されていない)が、S
OPの記述子の「所有者」フィールドを見ることで、他の「所有者」(同報通信
中のように)がいるかどうかを調べ、図39Bに示すようにいなければ(値が1
、そうでなけれ減少)、それは記述子890の第2語のバッファカウント891
によってフリーカウンタ890を増加する。フリーバッファリスト先頭ポインタ
895をフリーバッファリスト896の先頭から記述子880が指す記述子、第
2セルのバッファの記述子881に移動し、記述子880の次の記述子フィール
ドの中でフリーバッファリスト896の前の先頭へポインタを入れる。第39図
に示すように、全3個のバッファがこのようにフリーバッファリストの先頭にリ
ンクされる。 8.送信クレジット・ループ 望ましい実施例において、階層的フローと輻輳制御技術が2個のクレジットル
ープを使って提供される。送信のためのセルを受けるために8個の出力チャンネ
ルのそれぞれのために、MOMチップの能力を指示するクレジットのシステムが
整えられる。特定のチャンネルのためにMOMがパケットをセル対セルで送り、
核セルが送られるので、MOMはクレジットビットを通して別のセルがMOMチ
ップに転送できることを示す。図31に示すように、セルを送り出しているMO
Mはクレジットカウント760を増加し、QMはセル762をMOMに転送する
ので、QMはクレジットカウント764を増加する。上記のように、クレジット
は適当なMOMチャンネルクレジットが維持されるように回路IDを有する。こ
の望ましい実施例において、4個の送信セルと同様の量が保存できる。MOMは
パケットがセルから再構成されるFIFOを有する。
【0098】 セルはMOMチップにより送信されると、QMに送り返されるクレジットはセ
ルモードで最大17オクトバイト長、パケットモードで16オクトバイト(パケ
ットモードではMOMがバーストヘッダを除くため)のクレジットである。とこ
ろが、QMは最大セルより幾分少なく送る場合がある。MOM チップと関係す
る各出力チャンネルのために繰り返される図32はクレジットがMOMチップで
処理されるメカニズムを図で示す。先頭ポインタ770、後端ポインタ772、
仮想後端ポインタ774およびパケットポインタ776のスタートがある。この
望ましい実施例で、512すなわち、4個の全128バイトを送信FIFOに配
置している。図32において、64個のスロット、各1オクトバイトを保持する
スロット778がある。(64個のオクトバイトこの実施例のFIFOの512
バイトの格納容量に等しい) 初期化でFIFOは空で、仮想後端はFIFO配置を通して動かして増加する
。仮想後端ポインタは、それが先頭ポインタに達したときに停止する。仮想後端
ポインタは最大セル長と交差するので、単一クレジットはMOMチップ内の送信
および受信クレジット区域を介して送られる。これらのクレジットはこの回路用
にQMに蓄積される。MOMがこの回路へのセルを受信すると後端ポインタ(こ
のポインタは実際のセル長を表す実際の情報を指す。)が増加する。QMが完全
セル以下で送れば、仮想後端ポインタが補正される。MOMが実際にセルを送信
すると、先頭ポインタが増加され、仮想後端ポインタが増加される。MOMがセ
ルを送り出すと、FIFOに余地を開き、先頭ポインタは仮想および実際の後端
ポインタから離れる。最大セル以下で送っているQMで補正された仮想後端ポイ
ンタはFIFOの最大セル長と交差しているとき、それが先頭ポインタに追いつ
くので、クレジットジットが送られ、QMに確立する。
【0099】 他の残っているポインタ、パケットポインタのスタート776は重要な機能を
1個有する。この機能はパケットのスタートのスタートしている位置を、イーサ
ネットケーブルに衝突があれば、公表仕様に従って、衝突したパケットを再送信
できるように、保持することである。
【0100】 図2に関して、仮想後端および実際の後端ポインタは送信FIFO発生器で制
御され、顧客はヘッダおよびパケットポインタのスタートを制御する。しかしポ
インタはすべて比較あるいは行動するためにMOM内の論理ブロックすべてにア
クセスできる。
【0101】 図33はMOM FIFO、2ポート、64オクトバイト・メモリをどう制御
するかを指示する。アービタ780は製造側からFIFOの最上有意3アドレス
ビットを制御して、QMからロードされるセルの追跡を維持し、下位6ビット、
アドレス位置512に必要な全9ビットが後端ポインタ782(8個の1個が示
されている)で制御される。仮想後端ポインタ784は実際のデータを指さない
、クレジットマネージャがQMに送るクレジット数を決定できることによるカウ
ンタメカニズムである。パケットは物理的にMOMチップで送り出されるので、
別のアービタ786および先頭ポインタ(8個の1個が示されている)はFIF
Oのロード無、フリー動作を制御する。先頭ポインタ788はFIFOの下位6
ビットをFIFOのロードしない側から制御する。顧客はデータが送り出される
先頭ポインタを増加する。先頭およびヘッダポインタのスタートは送信クレジッ
ト回路に利用される。
【0102】 図26を参照して、初期規範的ヘッダの第1オクトバイトの1部分742およ
び第27図を参照して、バーストヘッダは、2個のクレジットフラグ、同期フラ
グおよび親フラグを含む。同期フラグは上記のクレジットサイクル動作を適当に
整えるために電源投入時に使用される。電源投入でMOMは同期フラグをQMに
それぞれ約10ms送る。QMに電源が供給されると、QMは同期フラグを探し
、見つかったときに、QMは同期認識をMOMに送る。MOMはQMがクレジッ
トを受ける用意が整っていることを保証するクレジットを上記のように送る。
【0103】 親フラグはMOMチップの1チャンネルに多重化される物理的な通信経路の多
重化ができるので、必要である。MOMがイーサネットに接続されているときの
ように、MOMチャンネルただ1つの通信回路が接続されているとき、クレジッ
トシステムは上記のように動作し、1個のMOMチャンネルにたくさんの別々の
経路があって、1個のMOMチャンネルに接続された経路それぞれに対してクレ
ジットを維持する方法が設計された。このクレジットシステムの重要な概要の1
つは1個のMOMチャンネルに接続された数個の通信経路のどれも、別の通信経
路で確実に阻止したり、あるいは締め出したりできないことが必要だったことで
ある。この実施例において、図34に1個のMOMチップの2個のFIFOチャ
ンネルを示す。FIFO800は単一通信路で動作する。この場合に、MOMF
IFO800は単一通信回路での動作を指示するためにリーフと称する。だがF
IFO802は他のチップ例えばこの望ましい実施例の8個の他の通信回路に接
続されているDADチップ804に接続されFIFOチャンネルと関係がある。
この場合にFIFO802は親と呼ばれ、DADに接続される8個の通信回路は
リーフである。この周囲状況でQMはMOMの中の親FIFOに接続された個々
のリーフのためにクレジットを維持する。この方法で、QMは送信FIFOが一
杯になり、もうセルを受けられないときを知る。QMはその結果、親とリーフの
クレジットを簡単にポーリングして、他のリーフにセルを転送し、それに応じて
セルを送信する。この方法で1個のリーフは他のリーフのサービスを妨げること
ができない。
【0104】 図38を参照して、QMのスケジュール・テーブル866にこの特定の回路に
関係する親があるかどうかの指示871がある。親として動作するMOMは親F
IFO用と、その親に関係するリーフのためのクレジットを送る。
【0105】 親クレジットテーブル875はQM内の64入力のチップ上のテーブルである
。 QM 各入力は親回路として取り扱うためのクレジットカウントを含む。回
路が親回路に拘束されるときに、送信コンテキストテーブルクレジットフィール
ドおよび親クレジットテーブルの親クレジットフィールドの双方に利用できるク
レジットを有していれば、セルをMACバスに送信することだけができる。
【0106】 セルが親を持つ回路のために送信されるときに送信コンテキストテーブルクレ
ジットと関係する親クレジットが減少させられる。親チャンネルからの親クレジ
ット更新セルが親クレジットを増加させるQMに送り返される。
【0107】 スケジュール・テーブルは回路を与えられた親回路に結合するために使用され
る。この使用親回路ビット(P)871および親回路IDフィールドはこの目的
のために使用される。スケジュール・テーブル入力がPビット組を有すれば、こ
れは、この回路が親を持ち、親クレジットテーブル875を検索するために親回
路ID872使用すべきであることを意味する。 9.RAMBUS(登録商標)の超高速アクセス RAMBUS(登録商標) DRAM 35および 36 は規格品である。
本発明の中で、これらはこのデータ通信アプリケーションのためのRAMBUS
(登録商標)の読み出しおよび書き込み帯域幅を最大にする固有の方法で使用さ
れる。
【0108】 本発明はインターフェース308をRAMBUS(登録商標) メモリの利用
できる帯域幅を増加するためにRAMBUS(登録商標)のデュアルバンク構成
を利用するRAMBUS(登録商標)に提供する。デュアルFIFOスタックは
RAMBUS(登録商標)内の別れたDRAMバンクを交互にアドレスするため
にコントローラと使用する。FIFOは潜在部分が増加し、エレクトロニクスを
制御するRAMBUS(登録商標)のハードウエアのオーバーヘッドを増加する
が、書かれるか、読まれるシーケンシャルデータが交互バンクから来ることを保
証しようとする。この方法で、1個のバンクが他のバンクがアクセスしている間
に準備しており、他のバンクは初めのバンクがアクセスしている間に準備してい
る。
【0109】 図40を参照して、RAMBUS900はフェーズロックループ、PLLおよ
び2個のダイナミックRAMバンクDRAM1DRAM2(それぞれ36と37
)を示しているブロック形式で示す。RAMBUS(登録商標)への多重化され
たデータ/アドレスバスは特に付随するクロック付きの8ビット幅のシリアルポ
ートである。
【0110】 DRAM35および36のデータバッファ構成は偶数データバッファ(128
バイトの)がすべて1個のバンクにあり、奇数データバッファがすべて他のバン
クにあるようである。このアービタ902はデータのさまざまな要求がFIFO
スタック904および906にロードされる順番を決定する。要求のバッファア
ドレスは偶数または奇数であり、偶数バッファを持つ要求はFIFO904にロ
ードされ、奇数バッファはFIFO906にロードされる。
【0111】 FIFOが空である状態で、おの要求は偶数または奇数のFIFOにロードさ
れ、インターリーバ908が要求をコントローラ910に転送する。要求が両方
のFIFOにバックアップされているときにインターリーバ908は交互に1個
のFIFOから要求を受け、ついで他から受ける(ピンポン方式)。これらのバ
ッファのアドレスは交互に偶数そして奇数となるので、コントローラは交互ある
いはインターリーブする方法でRAMBUS(登録商標)の2個の異なるバンク
にアクセスする。この動作で第2バンクが準備中に、第1バンクがアクセスされ
、次のアクセスにおいては第1バンクが準備中に第2バンクがアクセスされるこ
とになる。
【0112】 この交互アクセスはRAMBUS(登録商標)の書き込みまたは読み出しのど
ちらかの最高速アクセスを備え、高いトラフィックを想定している両方のFIF
Oスタックの要求があるかぎりRAMBUS(登録商標)メモリの 処理量を最
大にする。対称的に、純粋なFIFOに現れそうな要求は、準備を可能にするた
めのタイムアウトが半端になる連続した偶数あるいは奇数の要求による端数であ
る。
【0113】 通常のアクセス方法で、特別な要求によって隠れていることが起こるかも知れ
ない。この方法は、高いトラフィックの状態で、RAMBUS(登録商標)リソ
ースの最高の使用法をここで保証する。 10. バックグラウンド・エンジン/初期化 本発明の重要な部分は、モニタおよび他の高いレイヤの意思決定を行うために
、動作中にMOMポートにインターフェースされるBEの使用である。これが他
のアプリケーションの間で構成や制御機能にアクセスするためのBLazeWa
tchTMおよびLearn−and−LockTMセキュリティ・システムを考慮
する。
【0114】 図1を参照して、システムの初期化およびスタートのためにBE50にアクセ
スできるブートFLASH ROM 51が用意されている。ブートROM命令
は電源を入れるか、システムを完全にリセットするときに動作する。ブートは、
BeDRAM53の部分が動作し、信頼できることを試験し、確認する。この部
分はISBコードおよびBLazeNet Runtime KerneL(B
eRT)が属する場所である。ROM51の第11F(16進)すなわち32(
10進)アドレス初期インターラプトベクタをホールドする。アドレス20−7
FはROM情報をホールドし、80−FFはコンソールポートインターフェース
ルーティンをホールドし、100−4FFはMOM属性テーブルをホールドし、
500−1FFFBはブートイメージをホールドし、1FFFC−1FFFFは
巡回冗長検査(CRC)のブートイメージチェックサムをホールドする。この実
施例で、残っているBE DRAM 53はBeRT初期化プロセスを走らせて
並列に試験される。
【0115】 このブートはBARK(バックグランドエンジンカーネル)は例えばタイマー
から中断できることを保証するために中断構造および動作も試験する。次にブー
トはI2Cバス62を初期化し、アドレスをI2Cバスに付けるチップに割り当
てる。ブートは改版レベルを含むバス上のチップのIDを決定する。ブートは見
つけられるチップのIDを調べ、初期化部はダウンロードおよび実行されるブー
トディレクトリの中に見つけられる。
【0116】 メインシステムイメージ小型フラッシュカード、例えば10Mバイトのシステ
ムソフトウエアの不揮発性記憶装置52にある。基本的な情報はI2CバスのR
E40および、MOM10と20に転送される。その結果、完全なイメージはD
MAチャンネル64に転送される。
【0117】 上記の検討は本発明の望ましい実施例をファイリングの時間で記述する。等価
なコンポーネントおよび機能は本発明の本質から離れずに置き換えてもよいこと
は明らかであるべきである。ハードウエアおよびソフトウエアのさまざまに組み
合わせて実行することも、本発明利点を保持したまま可能である。本発明は高度
に柔軟に、規模を変えられるので、モヂュールやポートの数よりも重要であるこ
とはここで開示しているモヂュールの連携である。
【図面の簡単な説明】
【図1】 本発明の好ましい実施態様のブロック図である。
【図2】 本発明の好ましい実施態様のメディアインタフェースASIC(
MOM)のブロック図である。
【図3】 本発明の好ましい実施態様の待ち行列マネージャASIC(QM
)のブロック図である。
【図4】 本発明の好ましい実施態様のリレーエンジンASIC(RE)の
ブロック図である。
【図5】 本発明の好ましい実施態様のデータフローの概略図である。
【図6】 本発明の好ましい実施態様で使用されているプロセスの一般的な
フロー図である。
【図7】 図7Aは本発明の好ましい実施態様で使用されている規範的なヘ
ッダのデータ構造を示す。図7Bは本発明の好ましい実施態様で使用されている
規範的なヘッダの一部のデータ構造を示す。図7Cは本発明の好ましい実施態様
で使用されている規範的なヘッダの別の部分のデータ構造および考えられるエン
トリを示す。図7Dは本発明の好ましい実施態様で使用されている規範的なヘッ
ダの別の部分のデータ構造および考えられるエントリを示す。
【図8】 図8Aは本発明の好ましい実施態様で使用されている規範的なヘ
ッダの別の部分のデータ構造を示す。図8Bは本発明の好ましい実施態様で使用
されている規範的なヘッダの別の部分のデータ構造および考えられるエントリを
示す。図8Cは本発明の好ましい実施態様で使用されている規範的なヘッダの別
の部分のデータ構造および考えられるエントリを示す。
【図9】 本発明の好ましい実施態様で使用されている高速バスのブロック
図である。
【図10】 図9のバス回線の微分的な特徴を示す。
【図11】 図9に図示されているバスで使用される伝送回路の概略図である
【図12】 図11の伝送回路のタイミング図である。
【図12A】 図12Aは図11の伝送回路の複合タイミングである。
【図13】 図13は図9に図示されているバスでの伝送に使用されるクロッ
ク遅延回路の概略図である。図13Aは図13に図示されている回路での信号の
タイミング図である。
【図14】 図13に図示されている回路の詳細である。
【図15】 図9に図示されているバスで使用されている考えられる値および
制御ビットの意味を示す。
【図16】 図15に図示されている制御ビットのシーケンスを示す。
【図17】 図1に図示されているインタフェースチップ間で使用されるトー
クンリングアービトレーションを示すブロック図である。
【図18】 本発明の好ましい実施態様に使用されているセル伝送のシーケン
スを示す。
【図19】 本発明の好ましい実施態様で使用されているポインタレジスタ構
造を示す。
【図20】 図20Aは本発明の好ましい実施態様で使用されているハッシュ
テーブルエントリのデータ構造を示す。図20Bは本発明の好ましい実施態様で
使用されているハッシュテーブルエントリのデータ構造を示す。
【図21】 図9に図示されているバスで使用される制御信号のタイミング図
である。
【図22】 図9に図示されているバスで使用されている制御ビットの考えら
れる値および意味を示す。
【図23】 図9に図示されているバスで表示される可能性のある制御ビット
のシーケンスを一例として示す。
【図24】 図9に図示されているバスで伝送される可能性のあるセルのセル
伝送を図によって示す。
【図25】 図9に図示されているバスで使用されているコードの考えられる
値および意味を示す。
【図26】 異なるときに好ましい実施態様で使用されている規範的なヘッダ
の分野のデータ構造を示す。
【図27】 図26に図示されているサブフィールドの1つのデータ構造の詳
細を示す。
【図28】 本発明の好ましい実施態様で使用されている一時的な「バースト
」ヘッダのデータ構造を示す。
【図29】 図29は好ましい実施態様で使用されているデータパケットにマ
ッピングされた一連のリンクされている記述子のセットを示す。図29Bは不完
全なパケットを説明するために好ましい実施態様で使用される一連のリンクされ
ている記述子のセットを示す。
【図30】 図30は仮想待ち行列を確立するために好ましい実施態様で使用
されている記述子のリンクを示す。図30Bはパケットを形成するデータセルを
追跡調査するために、好ましい実施態様で使用されている受信と送信のコンテキ
ストテーブルのバッファ記述子へのリンクを示す。
【図31】 本発明の好ましい実施態様で使用されているクレジット(cre
dit)管理伝送システムの表記である。
【図32】 図31に表されているシステムでクレジットが発行される必要が
あるのかどうかを判断するために、本発明の好ましい実施態様で使用されるリン
グポインタシステムの表記である。
【図33】 図31に表されているシステムのさらに詳細な表記である。
【図34】 本発明の好ましい実施態様で使用されている階層待ち行列システ
ムの表記である。
【図35】 図35は本発明の好ましい実施態様で使用されている伝送コンテ
キストテーブルエントリのデータ構造を示す。図35Aは図35に示されている
データ構造のフィールドのデータ構造を示す。図35Bは図35に示されている
データ構造のQ SVC方針フィールドで符号化される考えられるサービス方針
を示す。
【図36】 好ましい実施態様で使用されている待ち行列テーブルのデータ構
造を示す。
【図37】 好ましい実施態様の伝送フェーズでの考えられるリンクおよび待
ち行列を表す。
【図38】 本発明の好ましい実施態様で使用されているスタンバイスケジュ
ーラの動作を示す。
【図39】 図39Aは好ましい実施態様のメモリの完全パケットを表すリン
クされている記述子セットを表す。図39Bは図39Aに図示されているリンク
されている記述子セットによって記述されているバッファを解放するための、図
39Aに図示されている記述子セットのリンクを外すことを表す。
【図40】 本発明の好ましい実施態様で使用されているDRAMシステムの
ブロック図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,UZ,VN,YU,ZA,Z W (72)発明者 ポール,ナイジェル,ティー. アメリカ合衆国 マサチューセッツ州 01581−1770,ウエストボロー,コンピュ ータ ドライブ 2400 トップ レイヤー ネットワークス,インク.内 (72)発明者 ナラヤナスワミー,クリシュナ アメリカ合衆国 マサチューセッツ州 01581−1770,ウエストボロー,コンピュ ータ ドライブ 2400 トップ レイヤー ネットワークス,インク.内 (72)発明者 ロス,セオドア,エル. アメリカ合衆国 マサチューセッツ州 01581−1770,ウエストボロー,コンピュ ータ ドライブ 2400 トップ レイヤー ネットワークス,インク.内 (72)発明者 スマウズ,リチャード アメリカ合衆国 マサチューセッツ州 01581−1770,ウエストボロー,コンピュ ータ ドライブ 2400 トップ レイヤー ネットワークス,インク.内 Fターム(参考) 5K034 DD02 EE11 HH01 HH02 HH12 HH17 HH23 HH26 HH46 HH54 KK01 KK21 KK27 KK28 KK29 LL01 MM22 MM25

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】 1つの受信物理リンクと1つまたは複数の送信物理リンクの
    間で、OSI第2層フレームまたはATMセルとして受信または送信されたデー
    タパケットのフローを切替え自在に接続するためのプロセスであって、 I)フローを識別するサブプロセスであって、 (a)新しいフローを表す初期データパケットを受信することと、 (b)端点での関与または認識なしに別個のデータトラフィックフローとして前
    記初期のデータパケットを認識することと、 (c)初期データパケット内の情報に基づき、前記新しいフローのパケットを伝
    送するために使用される送信物理リンク(複数の場合がある)を決定することと
    、 (d)前記初期データパケットの情報処理に基づき前記新しいフローの要件を決
    定することと、 を備える前記サブプロセスと、 II)データパケットを転送するサブプロセスであって、 (a)複数のデータパケットを受信することと、 (b)前記複数のデータパケットのある特定のデータパケットが識別されたフロ
    ーのメンバーであるかどうかを判断することと、 (c)そのフローメンバーシップおよびしたがってフロー要件の決定に従って、
    前記特定のデータパケットを伝送のためにスケジュールし、前記送信物理リンク
    の1つで転送することと、 (d)前記特定のデータパケットを伝送することと、 を備える前記サブプロセスと、 の2つのサブプロセスを備える前記プロセス。
  2. 【請求項2】 フローの前記識別が、OSIネットワーク第3層より上の情
    報を備える、請求項1に記載されるプロセス。
  3. 【請求項3】 フローの前記識別が、OSIアプリケーション第7層での情
    報を備える、請求項1に記載されるプロセス。
  4. 【請求項4】 前記識別が、ヘッダ情報を規範的な形式に書き直すことを備
    える、請求項1に記載されるプロセス。
  5. 【請求項5】 フローメンバーシップの前記決定が、前記特定のデータパケ
    ットの一部を、前記フローのメンバーであると過去に決定された過去に受信され
    たデータパケットと照合することを備える、請求項1に記載されるプロセス。
  6. 【請求項6】 前記部分が、ハッシュ化アルゴリズムを適用することによっ
    て得られる、請求項5に記載されるプロセス。
  7. 【請求項7】 前記データパケットが内部セルに分割される、請求項1に記
    載されるプロセス。
  8. 【請求項8】 フローの前記識別が、前記データパケットの開始セル(on
    es)である前記セルのデータパケット(those)の情報を調べることによ
    って実行される、請求項7に記載されるプロセス。
  9. 【請求項9】 フローメンバーシップの前記決定が、前記データパケットの
    開始セル(ones)である前記セルのデータパケット(those)を基準に
    して実行される、請求項7に記載されるプロセス。
  10. 【請求項10】 前記セルがそれぞれ、それが分割される元のデータパケッ
    トに論理的にリンクされる、請求項7に記載されるプロセス。
  11. 【請求項11】 1つの受信物理リンクと1つまたは複数の送信物理リンク
    の間で、OSI第2層フレームまたはATMセルとして受信または送信されるデ
    ータパケットのフローを切替え自在に接続するための装置であって、 I)フローを識別するための手段であって、 a)新しいフローを表す初期データパケットを受け取るための手段と、 b)端点関与または認識なしに別個のデータトラフィックフローとして前記初期
    データパケットを認識するための手段と、 c)前記初期データパケット内の情報に基づき、前記新しいフローのパケットを
    伝送するために使用される送信物理リンク(複数の場合があります)を決定する
    ための手段と、 d)前記初期データパケット内の情報処理に基づき、前記新しいフローの要件を
    決定するための手段と、 を備える前記手段と、 II)データパケットを転送するための手段であって、 a)復数のデータパケットを受け取るための手段と、 b)前記複数のデータパケットの内の特定のデータパケットが、識別されたフロ
    ーのメンバーであるかどうかを判断するための手段と、 c)そのフローメンバーシップ、およびしたがってフロー要件の決定に従って、
    前記特定のデータパケットを、伝送のためにスケジュールし、前記送信物理リン
    クの1つで転送するための手段と、 d)前記特定のデータパケットを伝送するための手段と、 を備える前記手段と、 を備える前記装置。
  12. 【請求項12】 識別のための前記手段がOSIネットワーク第3層より上
    の情報を調べる、請求項11に記載される装置。
  13. 【請求項13】 識別のための前記手段が、OSIアプリケーション第7層
    で情報を調べる、請求項11に記載される装置。
  14. 【請求項14】 さらに、データパケットヘッダ情報を規範的な形式に書き
    直すための手段を備える、請求項11に記載される装置。
  15. 【請求項15】 フローメンバーシップを決定するための前記手段が、前記
    特定のデータパケットの一部を、前記フローのメンバーであると過去に判断され
    た過去に受信されたデータパケットの対応する一部と照合する、請求項11に記
    載される装置。
  16. 【請求項16】 フローメンバーシップを決定するための前記手段が、ハッ
    シュ化エンジンを含む、請求項15に記載される装置。
  17. 【請求項17】 さらに、受信されたデータパケットをセルに分割し、前記
    受信データパケットの処理が完了されるまで、前記セルを論理的にリンクするた
    めの手段を備える、請求項11に記載される装置。
  18. 【請求項18】 前記フローを識別するための前記手段が、前記データパケ
    ットの開始セル(ones)である前記セルのデータパケット(those)内
    の情報を調べる、請求項17に記載される装置。
  19. 【請求項19】 フローメンバーシップを識別するための前記手段が、前記
    データパケットの開始セル(ones)である前記セルのデータパケット(th
    ose)を調べる(examines to)、請求項17に記載される装置。
  20. 【請求項20】 1つの受信物理リンクと1つまたは複数の送信物理リンク
    の間で、データパケットのフローを切替え自在に接続するための装置であって、
    (a)前記受信リンクと送信リンクに接続されている集積回路インタフェースと
    、 (b)受信データパケットを記憶するための高速記憶装置であって、前記受信デ
    ータパケットが前記受信物理リンク上の前記集積回路インタフェースで受信され
    る高速記憶装置と、 (c)前記インタフェースを使用して伝送するための前記高速記憶装置に記憶さ
    れている前記受信データパケットの仮想待ち行列を確立し、管理するためのプロ
    グラマブル集積回路と、 (d)前記プログラマブル集積回路を迅速にプログラミングするための転送エン
    ジンと、を備える前記装置。
  21. 【請求項21】 前記転送エンジンが、前記プログラマブル集積回路を、前
    記受信データパケットの、特定のフローの一部であることが知られている過去に
    受信されたデータパケット内の対応する情報との比較に基づき、受信データパケ
    ットを基準にしてプログラミングする、請求項20に記載される装置。
  22. 【請求項22】 前記インタフェースが入信データパケットをセルに分割す
    る請求項20に記載される装置。
  23. 【請求項23】 前記転送エンジンが、前記プログラマブル集積回路を、前
    記受信データパケットの第1受信セルの、過去に受信されたデータパケットの第
    1受信セル内の対応する情報との比較に基づき受信データパケットを基準にして
    プログラミングする、請求項22に記載される装置。
  24. 【請求項24】 さらに、少なくとも1つのその他の集積回路と、前記集積
    回路インタフェースを接続する高速データバスとを備える、請求項20に記載さ
    れる装置。
  25. 【請求項25】 1つの受信物理リンクと1つまたは複数の送信物理リンク
    の間で、データパケットのフローを切替え自在に接続するためのプロセスであっ
    て、 a)データパケットを受信するプロセスと、 b)前記受信データパケット内の情報から、前記受信データパケットが、前記既
    知のフローのデータパケットの一部を伝送するために1つまたは複数の物理リン
    クを指定した過去に受信されたデータパケットによって開始された既知のフロー
    の一部であるかどうかを判断し、前記既知のフローの一部を、データパケットの
    伝送のためにスケジュールし、一部ではない場合には、1つまたは複数の物理リ
    ンクを指定するために前記受信データパケットから情報を抽出し、新しいフロー
    のためにスケジュールすることと、 c)前記送信物理リンクの1つでの伝送のために、前記指定された1つまたは複
    数の物理リンクおよびスケジュール作成に従って前記現在受信されたデータパケ
    ットを伝送のためにスケジュールし、伝送のために使用できるようにすることと
    、 を含むプロセス。
  26. 【請求項26】 さらに、前記受信データパケットを、前記プロセスのステ
    ップ(b)で調べられる1つまたは複数の規範的なセルに変換することを備える
    請求項25に記載されるプロセス。
  27. 【請求項27】 さらに、 前記受信データパケットを、その中から伝送のために情報が提示される1つまた
    は複数の規範的なセルに変換するステップと、 前記1つまたは複数の規範的なセルを記憶するステップと、 を備える、請求項25に記載されるプロセス。
  28. 【請求項28】 1つの受信物理リンクと1つまたは複数の送信物理リンク
    の間で、データパケットのフローを切替え自在に接続するための装置であって、
    前記プロセスが a)複数のデータパケットを受け取るための手段と、 b)前記複数の現在受信されたデータパケットの中の情報から、前記現在受信さ
    れたデータパケットが、1つまたは複数の物理リンクを指定した過去に受信され
    たデータパケットによって開始された既知のフローの一部であるかどうかを判断
    し、前記既知のフローの一部を、パケットを伝送するためにスケジュールし、一
    部ではない場合には、前記現在受信されたデータパケットから情報を抽出し、前
    記1つまたは複数の物理リンクを指定し、新しいフローのためにスケジュールす
    るための手段と、 c)前記指定された1つまたは複数の物理リンクに従って前記現在受信されたデ
    ータパケットを前記送信物理リンクの1つで伝送のためにスケジュールし、伝送
    のために使用できるようにし、スケジュールするための手段と、 を備える装置。
  29. 【請求項29】 さらに、前記現在受信されたデータパケットを、前記決定
    手段によって調べられる1つまたは複数の規範的なセルに変換するための手段を
    備える、請求項28に記載される装置。
  30. 【請求項30】 さらに、前記現在受信されたデータパケットを1つまたは
    複数の規範的なセルに変換するための手段と、 前記規範的なセルから情報を抽出し、前記現在受信されたデータパケットを、伝
    送のために前記スケジュール作成手段によって使用できるように再構築するため
    の手段と、 を備える、請求項28に記載される装置。
JP2000544091A 1998-04-10 1999-04-09 データ処理ネットワークのアプリケーションレベルフローコネクション用システムおよびプロセス Pending JP2002511703A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/058,448 US6226267B1 (en) 1998-04-10 1998-04-10 System and process for application-level flow connection of data processing networks
US09/058,448 1998-04-10
PCT/US1999/007783 WO1999053646A2 (en) 1998-04-10 1999-04-09 System and process for application-level flow connection of data processing networks

Publications (1)

Publication Number Publication Date
JP2002511703A true JP2002511703A (ja) 2002-04-16

Family

ID=22016858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000544091A Pending JP2002511703A (ja) 1998-04-10 1999-04-09 データ処理ネットワークのアプリケーションレベルフローコネクション用システムおよびプロセス

Country Status (5)

Country Link
US (1) US6226267B1 (ja)
EP (1) EP1070405A2 (ja)
JP (1) JP2002511703A (ja)
AU (1) AU3484699A (ja)
WO (1) WO1999053646A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101294404B1 (ko) * 2009-12-10 2013-08-23 한국전자통신연구원 백본 에지 스위칭 장치 및 그 장치의 패킷 처리 방법

Families Citing this family (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6512772B1 (en) * 1998-02-12 2003-01-28 Hitachi, Ltd. ATM-address resolving transmission apparatus
US8284774B2 (en) * 1998-04-03 2012-10-09 Megawave Audio Llc Ethernet digital storage (EDS) card and satellite transmission system
US6594701B1 (en) * 1998-08-04 2003-07-15 Microsoft Corporation Credit-based methods and systems for controlling data flow between a sender and a receiver with reduced copying of data
US6321276B1 (en) 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US7073196B1 (en) * 1998-08-07 2006-07-04 The United States Of America As Represented By The National Security Agency Firewall for processing a connectionless network packet
GB9819183D0 (en) * 1998-09-04 1998-10-28 Int Computers Ltd Multiple string search method
US6643716B2 (en) * 1999-03-29 2003-11-04 Intel Corporation Method and apparatus for processing serial data using a single receive fifo
US7778259B1 (en) 1999-05-14 2010-08-17 Dunti Llc Network packet transmission mechanism
US7970929B1 (en) 2002-03-19 2011-06-28 Dunti Llc Apparatus, system, and method for routing data to and from a host that is moved from one location on a communication system to another location on the communication system
US6788701B1 (en) * 1999-05-14 2004-09-07 Dunti Llc Communication network having modular switches that enhance data throughput
JP2000332817A (ja) * 1999-05-18 2000-11-30 Fujitsu Ltd パケット処理装置
US6789116B1 (en) * 1999-06-30 2004-09-07 Hi/Fn, Inc. State processor for pattern matching in a network monitor device
US6526034B1 (en) 1999-09-21 2003-02-25 Tantivy Communications, Inc. Dual mode subscriber unit for short range, high rate and long range, lower rate data communications
US6578084B1 (en) 1999-10-15 2003-06-10 Cisco Technology, Inc. Packet processing using encapsulation and decapsulation chains
US6697872B1 (en) 1999-10-15 2004-02-24 Cisco Technology Distributed packet processing using encapsulation and decapsulation chains
US6601106B1 (en) * 1999-10-15 2003-07-29 Cisco Technology, Inc. Packet processing using non-sequential encapsulation and decapsulation chains
US6438555B1 (en) * 1999-11-02 2002-08-20 Nortel Networks Limited Method and apparatus for accessing an ordered array structure
US6985964B1 (en) * 1999-12-22 2006-01-10 Cisco Technology, Inc. Network processor system including a central processor and at least one peripheral processor
US6629163B1 (en) 1999-12-29 2003-09-30 Implicit Networks, Inc. Method and system for demultiplexing a first sequence of packet components to identify specific components wherein subsequent components are processed without re-identifying components
US6778546B1 (en) * 2000-02-14 2004-08-17 Cisco Technology, Inc. High-speed hardware implementation of MDRR algorithm over a large number of queues
US6977930B1 (en) * 2000-02-14 2005-12-20 Cisco Technology, Inc. Pipelined packet switching and queuing architecture
US6813243B1 (en) 2000-02-14 2004-11-02 Cisco Technology, Inc. High-speed hardware implementation of red congestion control algorithm
US6731644B1 (en) * 2000-02-14 2004-05-04 Cisco Technology, Inc. Flexible DMA engine for packet header modification
US6721316B1 (en) 2000-02-14 2004-04-13 Cisco Technology, Inc. Flexible engine and data structure for packet header processing
US6982991B1 (en) * 2000-03-10 2006-01-03 International Business Machines Corporation Cell or fram assembly method and apparatus optimizing the moving of data
US20020143971A1 (en) * 2000-03-27 2002-10-03 Rangaprasad Govindarajan Session resumption in wireless packet data network
US6795870B1 (en) * 2000-04-13 2004-09-21 International Business Machines Corporation Method and system for network processor scheduler
US6977940B1 (en) * 2000-04-28 2005-12-20 Switchcore, Ab Method and arrangement for managing packet queues in switches
US7111168B2 (en) * 2000-05-01 2006-09-19 Digimarc Corporation Digital watermarking systems
US6778495B1 (en) * 2000-05-17 2004-08-17 Cisco Technology, Inc. Combining multilink and IP per-destination load balancing over a multilink bundle
US6914905B1 (en) 2000-06-16 2005-07-05 Extreme Networks, Inc. Method and system for VLAN aggregation
US6970943B1 (en) 2000-10-11 2005-11-29 Nortel Networks Limited Routing architecture including a compute plane configured for high-speed processing of packets to provide application layer support
US7860999B1 (en) * 2000-10-11 2010-12-28 Avaya Inc. Distributed computation in network devices
US6854117B1 (en) * 2000-10-31 2005-02-08 Caspian Networks, Inc. Parallel network processor array
US6912592B2 (en) * 2001-01-05 2005-06-28 Extreme Networks, Inc. Method and system of aggregate multiple VLANs in a metropolitan area network
WO2002061592A1 (en) * 2001-01-31 2002-08-08 International Business Machines Corporation Method and apparatus for controlling flow of data between data processing systems via a memory
US6940854B1 (en) * 2001-03-23 2005-09-06 Advanced Micro Devices, Inc. Systems and methods for determining priority based on previous priority determinations
US7006532B1 (en) 2001-05-23 2006-02-28 Cisco Technology, Inc. Dynamically building encapsulation and decapsulation chains at run time
US20030137948A1 (en) * 2001-06-19 2003-07-24 Sridhar Komandur Retransmission control in wireless packet data networks
WO2003007115A2 (en) * 2001-07-10 2003-01-23 Cyneta Networks, Inc. System, method, and apparatus for measuring application performance management
WO2003007559A1 (en) * 2001-07-10 2003-01-23 Cyneta Networks, Inc. Content hashing in a wireless content switch
US20030014495A1 (en) * 2001-07-10 2003-01-16 Jogen Pathak System, method, and apparatus for preventing data packet overflow at node in wireless packet data services network
US20030014497A1 (en) * 2001-07-10 2003-01-16 Jogen Pathak Information push through simulated context activation
US20030065736A1 (en) * 2001-07-25 2003-04-03 Pathak Jogen K. System, method, and apparatus for preventing data packet overflow at plurality of nodes in wireless packet data services network
ATE301902T1 (de) * 2001-08-29 2005-08-15 Cit Alcatel Router
ATE289143T1 (de) * 2001-08-29 2005-02-15 Cit Alcatel Router
AU2002334798A1 (en) * 2001-10-02 2003-04-14 Cyneta Networks, Inc. System, method and apparatus for seamless interaction between wireless local area network and wireless packet data network
US6982986B2 (en) * 2001-11-01 2006-01-03 International Business Machines Corporation QoS scheduler and method for implementing quality of service anticipating the end of a chain of flows
US7046676B2 (en) 2001-11-01 2006-05-16 International Business Machines Corporation QoS scheduler and method for implementing quality of service with cached status array
US7280474B2 (en) 2001-11-01 2007-10-09 International Business Machines Corporation Weighted fair queue having adjustable scaling factor
US6973036B2 (en) 2001-11-01 2005-12-06 International Business Machines Corporation QoS scheduler and method for implementing peak service distance using next peak service time violated indication
US7187684B2 (en) 2001-11-01 2007-03-06 International Business Machines Corporation Weighted fair queue having extended effective range
US7103051B2 (en) * 2001-11-01 2006-09-05 International Business Machines Corporation QoS scheduler and method for implementing quality of service with aging time stamps
US7317683B2 (en) * 2001-11-01 2008-01-08 International Business Machines Corporation Weighted fair queue serving plural output ports
US7310345B2 (en) * 2001-11-01 2007-12-18 International Business Machines Corporation Empty indicators for weighted fair queues
US20030086395A1 (en) * 2001-11-07 2003-05-08 Vyankatesh Shanbhag System and method for efficient handover in wireless packet data network
US7855998B2 (en) * 2001-11-07 2010-12-21 Tektronix, Inc. Gb parameter based radio priority
WO2003040735A1 (en) * 2001-11-07 2003-05-15 Cyneta Networks Inc. Resource aware session adaptation system and method for enhancing network throughput
WO2003043258A1 (en) * 2001-11-09 2003-05-22 Cyneta Networks, Inc. Weighted wireless early detection
US7023856B1 (en) 2001-12-11 2006-04-04 Riverstone Networks, Inc. Method and system for providing differentiated service on a per virtual circuit basis within a packet-based switch/router
US20030135575A1 (en) * 2002-01-14 2003-07-17 Richard Marejka Self-monitoring and trending service system with cascaded pipeline linking numerous client systems
US20030140149A1 (en) * 2002-01-14 2003-07-24 Richard Marejka Communication protocol for use in controlling communications in a monitoring service system
US7680043B2 (en) * 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
US7257124B2 (en) * 2002-03-20 2007-08-14 International Business Machines Corporation Method and apparatus for improving the fairness of new attaches to a weighted fair queue in a quality of service (QoS) scheduler
US7324535B1 (en) 2003-04-10 2008-01-29 Cisco Technology, Inc. Methods and apparatus for maintaining a queue
US20050027880A1 (en) * 2003-08-01 2005-02-03 Darel Emmot System and method for routing information in a nodal computer network
US7464181B2 (en) * 2003-09-11 2008-12-09 International Business Machines Corporation Method for caching lookups based upon TCP traffic flow characteristics
US7613775B2 (en) * 2003-11-25 2009-11-03 Freescale Semiconductor, Inc. Network message filtering using hashing and pattern matching
US7660785B1 (en) * 2003-11-25 2010-02-09 Teradata Us, Inc. Techniques for managing interactions between applications and a data store
US7240041B2 (en) * 2003-11-25 2007-07-03 Freescale Semiconductor, Inc. Network message processing using inverse pattern matching
US8458453B1 (en) 2004-06-11 2013-06-04 Dunti Llc Method and apparatus for securing communication over public network
KR100895282B1 (ko) * 2007-08-08 2009-04-29 한국전자통신연구원 계층적 플로우 동적 관리 방법 및 장치
US8683572B1 (en) 2008-01-24 2014-03-25 Dunti Llc Method and apparatus for providing continuous user verification in a packet-based network
GB2465595B (en) * 2008-11-21 2010-12-08 Nokia Corp A method and an apparatus for a gateway
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
US9674086B2 (en) * 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking
US10764201B2 (en) 2017-11-28 2020-09-01 Dornerworks, Ltd. System and method for scheduling communications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09331359A (ja) * 1996-06-11 1997-12-22 Hitachi Ltd ルータ装置
JPH1013434A (ja) * 1996-06-25 1998-01-16 Nippon Telegr & Teleph Corp <Ntt> パケット中継装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418781A (en) * 1993-07-23 1995-05-23 Digital Equipment Corporation Architecture for maintaining the sequence of packet cells transmitted over a multicast, cell-switched network
US5519701A (en) * 1995-03-29 1996-05-21 International Business Machines Corporation Architecture for high performance management of multiple circular FIFO storage means
US5633865A (en) * 1995-03-31 1997-05-27 Netvantage Apparatus for selectively transferring data packets between local area networks
US5604742A (en) * 1995-05-31 1997-02-18 International Business Machines Corporation Communications system and method for efficient management of bandwidth in a FDDI station
US5859849A (en) * 1997-05-06 1999-01-12 Motorola Inc. Modular switch element for shared memory switch fabric

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09331359A (ja) * 1996-06-11 1997-12-22 Hitachi Ltd ルータ装置
JPH1013434A (ja) * 1996-06-25 1998-01-16 Nippon Telegr & Teleph Corp <Ntt> パケット中継装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101294404B1 (ko) * 2009-12-10 2013-08-23 한국전자통신연구원 백본 에지 스위칭 장치 및 그 장치의 패킷 처리 방법
US8582575B2 (en) 2009-12-10 2013-11-12 Electronics And Telecommunications Research Institute Backbone edge switching apparatus and packet processing method of the backbone edge switching apparatus

Also Published As

Publication number Publication date
US6226267B1 (en) 2001-05-01
WO1999053646A3 (en) 2000-06-29
AU3484699A (en) 1999-11-01
EP1070405A2 (en) 2001-01-24
WO1999053646A2 (en) 1999-10-21

Similar Documents

Publication Publication Date Title
JP2002511703A (ja) データ処理ネットワークのアプリケーションレベルフローコネクション用システムおよびプロセス
US6714553B1 (en) System and process for flexible queuing of data packets in network switching
US6430184B1 (en) System and process for GHIH-speed pattern matching for application-level switching of data packets
US6522188B1 (en) High-speed data bus for network switching
US6426943B1 (en) Application-level data communication switching system and process for automatic detection of and quality of service adjustment for bulk data transfers
JP2002541732A5 (ja)
US7647472B2 (en) High speed and high throughput digital communications processor with efficient cooperation between programmable processing components
JP3832816B2 (ja) ネットワーク・プロセッサ、メモリ構成及び方法
JP3872342B2 (ja) ネットワークのための装置およびスケーラブル・ネットワーク・プロセッサ
JP4066382B2 (ja) ネットワーク・スイッチ及びコンポーネント及び操作方法
JP3412825B2 (ja) データネットワーク上でデータパケットをスイッチングする方法および装置
US7813342B2 (en) Method and apparatus for writing network packets into computer memory
JP3817477B2 (ja) Vlsiネットワーク・プロセッサ及び方法
CA2134017C (en) Network bridge
JP3807980B2 (ja) ネットワーク・プロセッサ処理コンプレックス及び方法
US20010053148A1 (en) Network adapter with embedded deep packet processing
US7206880B2 (en) Multi-protocol bus system and method of operation thereof
WO1999059078A9 (en) Digital communications processor
US7031325B1 (en) Method and apparatus for enabling a network device to operate in accordance with multiple protocols
US7072300B1 (en) Action tag generation within a network based on priority or differential services information
JP2003524934A (ja) マルチメディアアプリケーションのための自動検出スイッチシステム及び方法
US6947437B1 (en) Programmable output queues in a network device
JPH08503349A (ja) プロトコル・ヘッダから接続情報を抽出するための方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080403

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080826

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090303