JP2003508967A - ネットワーク・プロセッサ及び方法を用いるネットワーク・スイッチ - Google Patents

ネットワーク・プロセッサ及び方法を用いるネットワーク・スイッチ

Info

Publication number
JP2003508967A
JP2003508967A JP2001521005A JP2001521005A JP2003508967A JP 2003508967 A JP2003508967 A JP 2003508967A JP 2001521005 A JP2001521005 A JP 2001521005A JP 2001521005 A JP2001521005 A JP 2001521005A JP 2003508967 A JP2003508967 A JP 2003508967A
Authority
JP
Japan
Prior art keywords
data
interface
processor
frame
input
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
Application number
JP2001521005A
Other languages
English (en)
Other versions
JP3872342B2 (ja
Inventor
アレン、ジェイムス、ジュニア
バス、ブライアン、ミッチェル
カルビンナック、ジーン、ルイス
ガウアー、サントッシュ、プラサッド
ヘデス、マルコ、シィ
シーゲル、マイケル、スティーブン
ヴァープランケン、ファブリス、ジーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2003508967A publication Critical patent/JP2003508967A/ja
Application granted granted Critical
Publication of JP3872342B2 publication Critical patent/JP3872342B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/0016Arrangements providing connection between exchanges
    • H04Q3/002Details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54541Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme using multi-processor systems
    • H04Q3/5455Multi-processor, parallelism, distributed systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • H04L49/254Centralised controller, i.e. arbitration or scheduling
    • 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]
    • 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
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1302Relay switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13034A/D conversion, code compression/expansion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/1304Coordinate switches, crossbar, 4/2 with relays, coupling field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13103Memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13104Central control, computer control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13106Microprocessor, CPU
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13107Control equipment for a part of the connection, distributed control, co-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q2213/00Indexing scheme relating to selecting arrangements in general and for multiplex systems
    • H04Q2213/13322Integrated circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Electrotherapy Devices (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 転送されるデータの処理速度を向上する一方、サポート機能を各種の潜在的要求にサイズ変更可能な、データ通信ネットワークで使用されるスケーラブル・スイッチ・アーキテクチャを提供すること。 【解決手段】 半導体基板上に形成される複数のインタフェース・プロセッサと、一式の周辺要素との間の協働により、データ・フロー処理及び柔軟性が向上されるネットワーク・スイッチ装置、こうした装置のコンポーネント、及びこうした装置を操作する方法が開示される。インタフェース・プロセッサ及び周辺要素がネットワーク・プロセッサを形成し、これがオプションのスイッチング・ファブリック装置を含む他の要素と協働して、ネットワーク内でデータのフローを方向付ける。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】
本発明は、様々なタイプ及び能力の情報処理システムまたはコンピュータをリ
ンクするために使用される通信ネットワーク装置、及びこうした装置のコンポー
ネントに関する。特に、本発明は、こうした装置をアセンブルするのに有用なス
ケーラブル・スイッチ装置及びコンポーネントに関する。本発明はまた、改善さ
れた多機能インタフェース装置、並びに、こうした装置とメディア速度ネットワ
ーク・スイッチを提供する他の要素との組み合わせに関する。本発明は更に、ネ
ットワーク・スイッチのデータ・フロー処理能力を改善する、こうした装置の操
作方法に関する。
【0002】
【従来の技術】
以下の説明は、ネットワーク・データ通信、並びにこうした通信ネットワーク
で使用されるスイッチ及びルータに関する知識を前提とする。特に、ネットワー
ク動作をレイヤに分割するネットワーク・アーキテクチャのISOモデルに精通
していることを前提とする。ISOモデルにもとづく典型的なアーキテクチャは
、物理パスまたはメディアであるレイヤ1(ときに"L1"と示される)から始ま
り、信号は、上流のレイヤ2、3、4などを通じてレイヤ7に至る。レイヤ7は
、ネットワークにリンクされるコンピュータ・システム上で実行されるアプリケ
ーション・プログラミング・レイヤである。本明細書では、L1、L2などは、
ネットワーク・アーキテクチャの対応レイヤを指し示すものとする。本開示はま
た、こうしたネットワーク通信においてパケット及びフレームとして知られる、
ビット・ストリングの基本的理解を前提とする。
【0003】 今日のネットワーク化された世界では、帯域幅が重要な資源である。インター
ネットや他の新たなアプリケーションの登場による、ネットワーク・トラフィッ
クの増加が、ネットワーク・インフラストラクチャの能力を圧迫している。こう
した流れに追随するために、様々な組織や機関が、トラフィックの増加や音声と
データのコンバージェンスをサポートするための、より優れた技術や方法を検討
している。
【0004】 ネットワーク・トラフィックの今日の劇的な増加は、インターネットの普及、
情報へのリモート・アクセスの必要性の増加、及び新たなアプリケーションなど
による。インターネットは電子商取引の爆発的な成長により、ときにネットワー
ク・バックボーンにサポート不能な負荷を課する。データ・トラフィック量の増
加の最も重要な1原因は、それが初めて音声トラフィックを超えることにある。
電子メール、データベース・アクセス、及びファイル転送などを含む、リモート
・アクセス・アプリケーションの要求の増加が、更にネットワークを圧迫してい
る。
【0005】 音声とデータのコンバージェンスは、将来のネットワーク環境を定義する上で
重要な役割を果たす。現在、インターネット・プロトコル(IP)ネットワーク
を介するデータの伝送は無料である。音声伝送は自然に最廉価の経路を通るので
、音声は必然的にデータとコンバージされる。ボイス・オーバIP(VoIP)
、ボイス・オーバATM(VoATM)、ボイス・オーバ・フレーム・リレー(
VoFR)などの技術は、この変化の速い市場においてコスト効率の高い技術と
言える。しかしながら、これらの技術への移行を可能にするために、業界は音声
のサービス品質(QoS)を保証し、データ回線上での音声転送のためにどのよ
うに課金すべきかを決定なければならない。1996年のTelecommunication De
regulation Actが、更にこの環境を複雑化する。この法規は、選択音声プロトコ
ルすなわちATMと、選択データ・プロトコルすなわちIPとの間の共生関係を
強化する。
【0006】 新たな製品及び機能が使用可能になると、レガシー・システム(システム資産
)を統合することが、組織にとって重大な問題となる。既存の設備及びソフトウ
ェアへの投資を保護するために、組織は彼らの現在の運用を混乱させることなく
、新たな技術への移行を可能にする解決策を要求する。
【0007】 サービス・プロバイダにとって、ネットワーク障害を取り除くことが先決であ
る。ルータはしばしば、これらの障害の原因となる。しかしながら、ネットワー
ク輻輳は一般に、しばしば帯域幅問題と誤診され、より高い帯域幅を求めること
により取り組まれる。今日、メーカはこの難題を認識しつつある。彼らはネット
ワーク・プロセッサ技術に移行することにより、帯域幅資源をより効率的に管理
し、ルータ及びネットワーク・アプリケーション・サーバで一般に見いだされる
高度データ・サービスを有線速度で提供しつつある。これらのサービスにはロー
ド・バランシング、QoS、ゲートウェイ、ファイアフォール、セキュリティ、
及びウェブ(Web)キャッシングが含まれる。
【0008】 リモート・アクセス・アプリケーションでは、性能、要求時帯域幅、セキュリ
ティ及び認証が最優先の部類に入る。QoS及びCoSの統合、統合音声処理、
及びより複雑なセキュリティ・ソルーションが、将来のリモート・アクセス・ネ
ットワーク・スイッチの設計を方向付けるであろう。更に、リモート・アクセス
は、ISDN、T1、E1、OC−3乃至OC−48、ケーブル、及びxDSL
モデムなど、より多くの物理メディアに対応しなければならない。
【0009】 業界コンサルタントはネットワーク・プロセッサ(ここでは"NP"とも称す)
を、次に挙げる機能の1つ以上を実行できるプログラマブル通信集積回路として
定義した。すなわち、 1)パケット分類:アドレスやプロトコルなどの既知の特性にもとづく、パケ
ットの識別。 2)パケット変更:IP、ATM、または他のプロトコルに従う、パケットの
変更(例えばIPのヘッダ内の存続時間(time-to-live)フィールドの更新)。 3)キュー/ポリシ管理:特定のアプリケーションにおけるパケットのパケッ
ト・キューイング、デキューイング、及びスケジューリングの設計方針の反映。 4)パケット転送:スイッチ・ファブリックを介するデータの伝送及び受信、
及び適切なアドレスへのパケットの転送または経路指定。
【0010】 この定義は早期NPの基本フィーチャの正確な記述であるが、NPの完全な潜
在的能力及び利点はまだ実現されていない。ネットワーク・プロセッサは、従来
ソフトウェアで処理されたネットワーク・タスクをハードウェアで実行すること
により、帯域幅を増加し、広範囲のアプリケーションにおける待ち時間問題を解
決することができる。更に、NPは並列分散処理及びパイプライン処理設計など
のアーキテクチャを通じて、速度の改善を提供できる。これらの機能は効率的な
検索エンジンを可能にし、スループットを向上させ、複雑なタスクの迅速な実行
を提供する。
【0011】 ネットワーク・プロセッサは、PCにおけるCPUのように、ネットワークの
基本ネットワーク構築ブロックになるものと期待される。NPにより提供される
一般的な機能は、リアルタイム処理、セキュリティ、蓄積交換、スイッチ・ファ
ブリック、及びIPパケット処理及び学習機能である。NPはISOレイヤ2乃
至5をターゲットとし、ネットワーク特定タスクを最適化するように設計される
【0012】 プロセッサ・モデルNPは、複数の汎用プロセッサ及び特殊論理を組み込む。
提供者はこの設計に傾倒することにより、変更に適宜に且つ低廉に対応できる、
スケーラブルで柔軟性のあるソリューションを提供しようとしている。プロセッ
サ・モデルNPは、低レベルの統合において分散処理を可能にし、より高度なス
ループット、柔軟性及び制御を提供する。プログラマビリティが、新たなASI
C設計を要求することなく、新たなプロトコル及び技術への容易な移行を可能に
する。プロセッサ・モデルNPにより、NEVは払戻し不能なエンジニアリング
・コストの低減、及び製品化までの時間の短縮の利益を甘受することができる。
【0013】
【発明が解決しようとする課題】
本発明の第1の目的は、転送されるデータの処理速度を向上する一方で、サポ
ート機能を各種の潜在的要求にサイズ変更可能な、データ通信ネットワークで使
用されるスケーラブル・スイッチ・アーキテクチャを提供することである。
【0014】 本発明の別の目的は、単一基板上に集積化され、レイヤ2、レイヤ3、レイヤ
4及びレイヤ5を含むフレームのメディア速度切替えを提供するように協働する
、複数のサブアセンブリを含むインタフェース装置またはネットワーク・プロセ
ッサ(これらの用語は互換性をもって使用される)を提供することである。
【0015】
【課題を解決するための手段】
前記第1の目的は、関連処理ユニットの作業負荷から、従来に比較してより多
くのデータ処理を削除するコンポーネント、及びコンポーネントの集合を提供す
ることにより実現される。
【0016】 インタフェース装置は、ワーク・グループ・スイッチとして、第1レベルの機
能を提供する独立型のソリューションとして使用されるか、またはより高度な機
能のワーク・グループ・スイッチを提供する相互接続ソリューションとして使用
されるか、或いは、スイッチング・ファブリック装置との協働により、更に機能
向上に向けてスケーリングされる。
【0017】
【発明の実施の形態】
【数1】 は、本明細書ではY/Xバーと記載する。
【0018】 本発明は、本発明の好適な実施例を示す添付の図面を参照して、以下で詳述さ
れるが、説明の冒頭に当たり、当業者であれば、本発明の好適な結果を達成する
ように、ここで述べる発明を変更することができよう。従って、以下で述べる説
明は本発明を制限するものではなく、当業者に対する広範囲の教示の開示として
理解されるべきである。
【0019】 ここで開示される装置はスケーラブルで、デスクトップまたはワークグループ
・スイッチを相互接続し、こうしたスイッチをネットワーク・バックボーンに統
合し、バックボーン・スイッチング・サービスを提供するように機能することが
できる。この装置はレイヤ2、レイヤ3、及びレイヤ4+転送をハードウェアで
サポートできる。特定の形態の装置は、デスクトップまたはワークグループ・ス
イッチ統合のために設計され、また他のものはコア・バックボーン・スイッチと
して設計される。
【0020】 装置のために使用されるアーキテクチャは、インタフェース装置またはネット
ワーク・プロセッサ・ハードウェア・システムと、制御点上で実行されるソフト
ウェア・ライブラリとにもとづき、これについては本明細書の中で詳述される。
インタフェース装置またはネットワーク・プロセッサ・サブシステムは、L2、
L3及びL4+プロトコル・ヘッダの構文解析及び変換のために設計される高性
能フレーム転送エンジンである。これはプロトコルがハードウェアの使用により
、より高速にスイッチされることを可能にする。インタフェース装置またはネッ
トワーク・プロセッサ・サブシステムは、ボックスを通じて高速パスを提供する
一方、ソフトウェア・ライブラリ及び制御点プロセッサは、高速パスを維持する
ために必要な管理及びルート発見機能を提供する。制御点プロセッサ及びそれ上
で動作するソフトウェア・ライブラリは、一緒にシステムの制御点(CP)を定
義する。CPでは、透過型ブリッジング及びOSPFなどの、実際のブリッジン
グ及びルーティング・プロトコルが実行される。これはシステムの低速パスとも
呼ばれる。
【0021】 ここで開示される装置は、マルチレイヤ転送をハードウェアでサポートするが
、装置はL2専用スイッチとしても動作でき、開示される最も単純な形態では、
これがそのデフォルト動作モードである。各ポートは単一のドメインに配置され
、任意の装置が任意の他の装置と通信することを可能にする。装置はL2におい
て構成可能であり、システム管理者に次のようなフィーチャ、すなわち、ポート
を別々のドメインまたはトランクにグループ化したり、仮想LAN(VLAN)
セグメントや、ブロードキャスト及びマルチキャスト・トラフィックを制御する
フィルタを構成するなどの能力を提供する。
【0022】 このスケーラブル装置は多くの利点を有する。第1に、これはシステム管理者
に、L2で使用されるハードウェアと同一のものを使用して、同一の速度で、I
P及びIPXトラフィックのL3転送及びルーティングを構成する能力を提供す
る。第2に、構内建物を相互接続するために、外部ルータを使用する必要性を排
除する一方で、同時に性能を向上させる。第3に、L2/L3サービスの管理を
単純化または結合することにより、これらを単一の制御点に組み込む。最後に、
スケーラブル装置は付加価値機能をL4+機能と共に提供し、これはサーバ間で
の負荷平準化を目的として、主幹業務のアプリケーション及びネットワーク・デ
ィスパッチャをサポートするために、システム管理者が異なるトラフィック分類
を割当てる能力を提供する。
【0023】 スケーラブル装置は、インタフェース装置またはネットワーク・プロセッサを
使用するモジュラ・ユニットとして、または制御点(CP)として、或いはその
基本ビルディング・ブロックとしての、オプションのスイッチング・ファブリッ
ク装置として設計される。インタフェース装置は好適には、L2/L3/L4+
高速パス転送サービスを提供し、CPは高速パスを維持するために必要な管理及
びルート発見機能を提供する。3つ以上のインタフェース装置サブシステムが一
緒に結合される場合には、オプションのスイッチング・ファブリック装置が使用
される。オプションのスイッチング・ファブリック装置は、1991年4月16
日発行の米国特許第5008878号"High Speed Modular Switching Apparatu
s for Circuit and Packet Switched Traffic"で開示される。
【0024】 装置は、プリント回路基板要素を用いて組み立てられるものと見込まれる。こ
れはここでは"ブレード"とも称される。プリント回路基板要素は回路要素を実装
され、装置ハウジング内に設けられるコネクタに収容される。同様の装置は"オ
プション・カード"としても知られる。装置は、適切なコネクタ及びバックプレ
ーン電気接続が設けられる条件の下で、ブレードが様々なシャーシまたはハウジ
ングの間で交換されることを考慮する。全てのブレード上で見いだされる基本コ
ンポーネントは、キャリア・サブシステムである。キャリア・サブシステムから
始まり、3つのタイプのブレードが生成される。第1のタイプはCP専用ブレー
ドであり、これはキャリア・サブシステム及びCPサブシステムから成る。CP
専用ブレードは、冗長性が一番の関心事である製品に対して主に使用される。第
2のタイプはCP+メディア・ブレードであり、これはキャリア・サブシステム
、CPサブシステム、及び1対3メディア・サブシステムから成る。CP+メデ
ィア・ブレードは、冗長性よりもポート密度が重要視される製品に対して、主に
使用される。第3のタイプはメディア・ブレードであり、これはキャリア・サブ
システムと1対4メディア・サブシステムとから成る。メディア・ブレードは任
意のシャーシ内で使用され、使用されるメディア・サブシステムのタイプは構成
可能である。
【0025】 ブレード管理は障害検出、電力管理、新たな装置の検出、初期化及び構成を含
む。この管理は様々なレジスタ、入出力信号、及びCPとキャリア・サブシステ
ムとの間で通信するために使用されるガイド・セル・インタフェースを用いて行
われる。しかしながら、シャーシと異なり、全てのブレード上には、プログラマ
ブル装置及びメモリが存在する。プログラマビリティは、ブレードのタイプに依
存する。CPサブシステムがブレード上に存在する場合、CP及びキャリア・サ
ブシステムの両方がプログラマブルである。メディア・サブシステムもプログラ
マブルであるが、キャリア・サブシステムを通じて間接的にプログラマブルなだ
けである。
【0026】 高機能製品では更に、スイッチング・ファブリック装置サブシステムを含むス
イッチ・ブレードが存在する。このブレードの管理は、故障検出、電力管理、新
たな装置の検出、及び初期化を含む。この管理は、CPサブシステム内にマップ
される様々なレジスタ及び入出力信号を用いて行われる。
【0027】 最も単純な形態では、本発明により考慮されるスイッチ装置は制御点プロセッ
サと、制御点プロセッサに動作的に接続されるインタフェース装置とを有する。
好適には、ここで開示されるように、インタフェース装置(ネットワーク・プロ
セッサとして知られる)は、半導体基板と、基板上に形成される複数のインタフ
ェース・プロセッサと、インタフェース・プロセッサによりアクセスされる命令
を記憶する、前記基板上に形成される内部命令メモリと、インタフェース装置を
通過し、インタフェース・プロセッサによりアクセスされるデータを記憶する、
前記基板上に形成される内部データ・メモリと、複数の入出力ポートとを有する
、単一の超大規模集積回路(VLSI)装置またはチップである。インタフェー
ス・プロセッサはここではときに、ピコプロセッサまたは処理ユニットと称され
る。提供されるポートは、内部データ・メモリを外部データ・メモリに接続する
少なくとも1つのポートと、インタフェース・プロセッサの指示の下で、インタ
フェース装置を通過するデータを外部ネットワークと交換する少なくとも2つの
他のポートとを含む。制御点プロセッサはインタフェース装置と協働して、イン
タフェース・プロセッサにより実行される命令を命令メモリにロードする。そし
て、これらの命令が実行されて、入出力ポート間でのデータの交換、及びデータ
・メモリを介するデータの流れを指示する。
【0028】 ここで開示されるネットワーク・プロセッサは、それが組み込まれるスイッチ
・アセンブリとは切り離して、本発明に関わる。更に、ここで開示されるネット
ワーク・プロセッサは、ここで述べられるその要素内に、ここでは詳細に述べら
れない他の発明を有するものとみなされる。
【0029】 図1は、基板10と、基板上に集積化される複数のサブアセンブリとを含むイ
ンタフェース素子チップのブロック図である。サブアセンブリは、アップサイド
すなわち上流側構成と、ダウンサイドすなわち下流側構成とに編成される。本明
細書では、"アップサイド"は、ネットワークから本明細書で開示される装置に送
られるデータ・フローを指し示し、"ダウンサイド"は、逆に装置から、この装置
によりサービスされるネットワーク・サービスに送られるデータを指し示す。デ
ータ・フローは反復構成に従う。結果的に、アップサイド・データ・フロー及び
ダウンサイド・データ・フローが存在する。アップサイドのサブアセンブリには
、エンキュー−デキュー−スケジューリング・アップ(EDS−UP)論理16
、多重化MACアップ(PPM−UP)14、スイッチ・データ・ムーバ・アッ
プ(SDM−UP)18、システム・インタフェース(SIF)20、データ・
アライン・シリアル・リンクA(DASLA)22、及びデータ・アライン・シ
リアル・リンクB(DASLB)24が含まれる。データ・アライン・シリアル
・リンクは、1999年6月11日出願の米国特許出願第09/330968号
"High Speed Parallel/Serial Link for Data Communication"で詳細に述べられ
ている。ここで開示される本発明の装置の好適な形態はDASLリンクを使用す
るが、本発明は、特にデータ・フローがVLSI構造内にあるように制限される
場合などのように、かなり高いデータ・フロー・レートを達成するために、他の
形態のリンクが使用されることも考慮する。
【0030】 ダウンサイドのサブアセンブリには、DASLA26、DASLB28、SI
F30、SDM−DN32、EDS−DN34、及びPPM−DN36が含まれ
る。チップは更に複数の内部SRAM、トラフィック管理スケジューラ40、及
び組み込みプロセッサ・コンプレックス(EPC)12を含む。インタフェース
装置38は、イーサネット(R)フィジカル(ENET PHY)またはATM
フレーマなどの、任意の好適なL1回路である。インタフェースのタイプは、部
分的に、チップが接続されるネットワーク・メディアにより決定される。複数の
外部DRAM及びSRAMが設けられ、チップにより使用される。
【0031】 ここでは特に、関連スイッチング及びルーティング装置の外部の一般データ・
フローが、建物内に導入された配線やケーブルなどの電気導体を通過するネット
ワークが開示されるが、本発明は、ここで開示されるネットワーク・スイッチ及
びコンポーネントが、無線環境において使用されることも同様に考慮する。例と
して、ここで述べられるメディア・アクセス制御(MAC)要素は、ここで述べ
られる要素を直接ワイヤレス・ネットワークにリンクする機能を有する、好適な
無線周波数要素により置換されてもよく、例えば、既知のシリコン・ゲルマニウ
ム技術などが使用される。こうした技術が適切に使用される場合には、無線周波
数要素は当業者により、ここで開示されるVLSI構造内に統合される。或いは
、無線周波数、または赤外線応答装置などの他のワイヤレス応答装置が、ワイヤ
レス・ネットワーク・システム用のスイッチ装置を実現する他の要素と一緒に、
ブレード上に実装されてもよい。
【0032】 図中の矢印は、インタフェース装置内のデータの一般的な流れを示す。イーサ
ネット(R)MACから受信されるフレームは、EDS−UPにより、内部デー
タ・ストア・バッファに配置される。これらのフレームは、通常データ・フレー
ムまたはシステム制御ガイド・フレーム(Guided Frame)として示され、EPC
(図1)にエンキューされる。EPCは、最大Nフレーム(N>1)を並列に処
理できるN個のプロトコル・プロセッサを含む。10プロトコル・プロセッサ(
図14)の実施例では、10個のプロトコル・プロセッサの内の2個が特殊化さ
れる。すなわち、1つはガイド・フレームを処理するように(汎用中央ハンドラ
(GCH))、また他は制御メモリ内にルックアップ・データを作成するように
(汎用ツリー・ハンドラ(GTH))、特殊化される。図13に示されるように
、EPCは、新たなフレームをアイドル・プロセッサに突き合わせるディスパッ
チャと、フレーム・シーケンスを保持する完了(completion)ユニットと、10
個の全プロセッサにより共用される共通命令メモリと、フレーム分類を決定する
分類子ハードウェア補助機構及びフレームの開始命令アドレスを決定する支援を
するコプロセッサと、フレーム・バッファの読出し及び書込み操作を制御する入
口側(以降イングレス(ingress)と称す)及び出口側(以降イーグレス(egres
s)と称す)データ・ストア・インタフェースと、10個のプロセッサが制御メ
モリを共用することを可能にする制御メモリ・アービタと、ウェブ(Web)制
御と、内部インタフェース装置データ構造へのデバッグ・アクセスを可能にする
アービタ及びインタフェースと、その他のハードウェア構造を含む。
【0033】 ガイド・フレームは、GCHプロセッサが使用可能になると、ディスパッチャ
によりGCHプロセッサに送信される。レジスタ書込み、カウンタ読出し、イー
サネット(R)MAC構成変更など、ガイド・フレーム内でエンコードされる操
作が実行される。MACまたはIPエントリの追加など、ルックアップ・テーブ
ル変更が、メモリ読出しや書込みなどの制御メモリ操作のために、ルックアップ
・データ・プロセッサに渡される。MIBカウンタ読出しなどの幾つかのコマン
ドは、応答フレームの作成、及び適切なインタフェース装置上の適切なポートへ
の転送を要求する。ときとして、ガイド・フレームはインタフェース装置のイー
グレス側に合わせてエンコードされる。これらのフレームは、照会されるインタ
フェース装置のイーグレス側に転送され、これが次にエンコード操作を実行し、
適切な応答フレームを作成する。
【0034】 データ・フレームは、次の使用可能なプロトコル・プロセッサにディスパッチ
され、そこでフレーム参照が実行される。フレーム・データは、分類子ハードウ
ェア補助機構(CHA)エンジンからの結果と一緒に、プロトコル・プロセッサ
に渡される。CHAはIPまたはIPXを構文解析する。結果がツリー構造探索
アルゴリズム及び開始共通命令アドレス(CIA)を決定する。サポートされる
ツリー構造探索アルゴリズムは、固定マッチ・ツリー(レイヤ2イーサネット(
R)MACテーブルなど、正確なマッチを要求する固定サイズ・パターン)、最
長プレフィックス・マッチ・ツリー(サブネットIP転送など、可変長マッチを
要求する可変長パターン)、及びソフトウェア管理ツリー(フィルタ規則で使用
されるような、範囲またはビット・マスク・セットのいずれかを定義する2つの
パターン)を含む。
【0035】 ルックアップ(探索)は、各プロトコル・プロセッサの一部である、ツリー構
造探索エンジン(TSE)コプロセッサの支援により実行される。TSEコプロ
セッサは制御メモリ・アクセスを実行し、プロトコル・プロセッサを解放して実
行を継続する。制御メモリは全てのテーブル、カウンタ、及びピココードにより
必要とされる他のデータを記憶する。制御メモリ操作は、10個のプロセッサ・
コンプレックスの間のメモリ・アクセスを調停する制御メモリ・アービタにより
管理される。
【0036】 フレーム・データはデータ・ストア・コプロセッサを通じてアクセスされる。
データ・ストア・コプロセッサは、基本データ・バッファ(フレーム・データの
最大8個の16バイト・セグメント)と、スクラッチ・パッド・データ・バッフ
ァ(フレーム・データの最大8個の16バイト・セグメント)と、データ・スト
ア操作のための幾つかの制御レジスタとを含む。一旦マッチが見いだされると、
イングレス・フレーム変更がVLANヘッダ挿入またはオーバレイを含み得る。
この変更は、インタフェース装置プロセッサ・コンプレックスにより実行される
のではなく、ハードウェア・フラグが導出され、他のイングレス・スイッチ・イ
ンタフェース・ハードウェアが変更を実行する。他のフレーム変更はピココード
及びデータ・ストア・コプロセッサにより、イングレス・データ・ストア内に保
持されるフレーム内容を変更することにより達成される。
【0037】 他のデータは、フレームをスイッチ・ファブリック装置に送信する前に収集さ
れ、スイッチ・ヘッダ及びフレーム・ヘッダを作成するために使用される。制御
データには、フレームの宛先ブレードなどのスイッチ情報や、イーグレス・イン
タフェース装置の情報が含まれ、宛先ポートのフレーム探索、マルチキャストま
たはユニキャスト操作、及びイーグレス・フレーム変更を推進する。
【0038】 完了時、エンキュー・コプロセッサが、フレームをスイッチ・ファブリックに
エンキューするのに必要なフォーマットを作成し、それらを完了ユニットに送信
する。完了ユニットは、10個のプロトコル・プロセッサからスイッチ・ファブ
リック・キューへのフレーム順序を保証する。スイッチ・ファブリック・キュー
からのフレームは、64バイト・セルにセグメント化され、それらがPrizm
a−Eスイッチに伝送されるとき、フレーム・ヘッダ・バイト及びスイッチ・ヘ
ッダ・バイトが挿入される。
【0039】 スイッチ・ファブリックから受信されたフレームは、イーグレスEDS34に
より、イーグレス・データ・ストア(イーグレスDS)バッファに配置され、E
PCにエンキューされる。フレームの一部はディスパッチャにより、アイドル・
プロトコル・プロセッサに送信され、フレーム探索が実行される。フレーム・デ
ータは、分類子ハードウェア補助機構からのデータと一緒に、プロトコル・プロ
セッサにディスパッチされる。分類子ハードウェア補助機構は、イングレス・イ
ンタフェース装置により作成されるフレーム制御データを使用して、開始コード
命令アドレス(CIA)の決定を支援する。
【0040】 イーグレス・ツリー探索は、イングレス探索においてサポートされるのと同一
のアルゴリズムをサポートする。ルックアップはTSEコプロセッサにより実行
され、プロトコル・プロセッサを解放して実行を継続する。全ての制御メモリ操
作は、制御メモリ・アービタにより管理され、アービタは10個のプロセッサ・
コンプレックスの間で、メモリ・アクセスを割当てる。
【0041】 イーグレス・フレーム・データは、データ・ストア・コプロセッサを通じてア
クセスされる。データ・ストア・コプロセッサは基本データ・バッファ(フレー
ム・データの最大8個の16バイト・セグメント)と、スクラッチ・パッド・デ
ータ・バッファ(フレーム・データの最大8個の16バイト・セグメント)と、
データ・ストア操作のための幾つかの制御レジスタとを含む。探索の成功結果は
転送情報を含み、ときとしてフレーム変更情報を含む。フレーム変更はVLAN
ヘッダ検出、存続時間増分(IPX)または減分(IP)、IPヘッダ・チェッ
クサム再計算、イーサネット(R)フレームCRCオーバレイまたは挿入、及び
MAC DA/SAオーバレイまたは挿入を含む。IPヘッダ・チェックサムは
チェックサム・コプロセッサにより用意される。変更はインタフェース装置プロ
セッサ・コンプレックスにより実行されるのではなく、ハードウェア・フラグが
作成され、PMMイーグレス・ハードウェアが変更を実行する。完了時に、エン
キュー・コプロセッサが、フレームをEDSイーグレス・キューにエンキューし
、それらを完了ユニットに送信するために必要なフォーマットを作成する。完了
ユニットは、10個のプロトコル・プロセッサから、EDSイーグレス・キュー
へのフレーム順序を保証して、イーグレス・イーサネット(R)MAC36に供
給する。
【0042】 完了フレームは最終的に、PMMイーグレス・ハードウェアによりイーサネッ
ト(R)MACに送信され、イーサネット(R)ポートから出力される。
【0043】 ウェブと呼ばれる内部バスは、内部レジスタ、カウンタ及びメモリへのアクセ
スを可能にする。ウェブ(Web)はまた、命令ステップや、デバッグ及び診断
のための割込み制御を制御する外部インタフェースを含む。
【0044】 ツリー構造探索エンジン・コプロセッサは、メモリ範囲チェック及び不当メモ
リ・アクセス通知を提供し、ツリー構造探索命令(メモリ読出し、書込み、また
はread-add-writeなど)を、プロトコル・プロセッサ実行と並列に実行する。
【0045】 共通命令メモリは、1つの1024×128RAMと、2セットのデュアル5
12×128RAMとから構成される。デュアルRAMの各セットは、同一のピ
ココードの2つのコピーを提供し、プロセッサによる同一アドレス範囲内の命令
への独立したアクセスを可能にする。各128ビット・ワードは4つの32ビッ
ト命令を含み、合計8192命令を提供する。
【0046】 ディスパッチャは、10個のプロトコル・プロセッサへのフレームの受け渡し
を制御し、割込み及びタイマを管理する。
【0047】 完了ユニットは、プロセッサ・コンプレックスから、スイッチ・ファブリック
及びターゲット・ポート・キューへのフレーム順序を保証する。豊富な命令セッ
トには、条件付き実行、(入力ハッシュ・キーの)パッキング、条件付き分岐、
符号付き及び符号無し演算、先行0のカウントなどが含まれる。
【0048】 分類子ハードウェア補助機構エンジンは、各フレームのレイヤ2及びレイヤ3
プロトコル・ヘッダを構文解析し、フレームがプロトコル・プロセッサにディス
パッチされるとき、この情報をフレームに提供する。
【0049】 制御メモリ・アービタは、内部及び外部メモリの両方へのプロセッサ・アクセ
スを制御する。
【0050】 外部制御メモリ・オプションは、5個乃至7個のDDR DRAMサブシステ
ムを含む。各サブシステムは、1対の2M×16ビット×4バンクDDR DR
AM、または1対の4M×16ビット×4バンクDDR DRAMをサポートす
る。DDR DRAMインタフェースは、133MHzクロック・レート及び2
66MHzデータ・ストローブで動作し、構成可能なCAS待ち時間及びドライ
ブ強度をサポートする。オプションの133MHz ZBT SRAMが、12
8K×36、2×256K×18、または2×512K×18構成のいずれかで
追加される。
【0051】 イーグレス・フレームは1つの外部データ・バッファ(例えばDS0)、また
は2つの外部データ・バッファ(DS0及びDS1)のいずれかに記憶される。
各バッファは、1対の2M×16ビット×4バンクDDR DRAM(最大25
6Kの64バイト・フレームを記憶可能)、または1対の4M×16ビット×4
バンクDDR DRAM(最大512Kの64バイト・フレームを記憶可能)か
ら構成される。2.28Mbpsの単一の外部データ・バッファ(例えばDS0
)を選択するか、第2のバッファ(例えばDS1)を追加し、4.57Mbps
のレイヤ2及びレイヤ3スイッチングをサポートする。第2のバッファの追加は
性能を改善するが、フレーム容量を増加しない。外部データ・バッファ・インタ
フェースは、133MHzクロック・レート、及び266MHzのデータ・スト
ローブで動作し、構成可能なCAS待ち時間及びドライブ強度をサポートする。
【0052】 内部制御メモリは、2つの512×128ビットRAMと、2つの1024×
36ビットRAMと、1つの1024×64ビットRAMとを含む。
【0053】 内部データ記憶は、イングレス方向(UP)に、最大2048個の64バイト
・フレームをバッファリングすることができる。
【0054】 固定フレーム変更は、イングレス方向のVLANタグ挿入と、VLANタグ削
除と、持続時間増分/減分(IP、IPX)と、イーグレス(DOWN)方向の
イーサネット(R)CRCオーバレイ/挿入及びMAC DA/SAオーバレイ
/挿入とを含む。
【0055】 ポート・ミラーリングは、プロトコル・プロセッサ資源を用いることなく、1
つの受信ポート及び1つの送信ポートを、システム指定の観測ポートにコピーす
ることを可能にする。ミラーリングされたインタフェース装置ポートは、フレー
ム及びスイッチ制御データを追加するように構成される。別々のデータ・パスが
、イングレス・スイッチ・インタフェースへの直接フレーム・エンキューイング
を可能にする。
【0056】 インタフェース装置は、4つのイーサネット(R)マクロを統合する。各マク
ロは、1ギガビットまたは10/100高速イーサネット(R)モードのいずれ
かで動作するように、個々に構成される。各イーサネット(R)マクロは、最大
10個の10/100Mbps MACか、4つのマクロの各々に対して、1つ
の1000Mbps MACをサポートする。
【0057】 図2は、MACコアのブロック図を示す。各マクロは、3つのイーサネット(
R)コア設計、すなわちマルチポート10/100Mbps MACコア(FE
net)、1000Mbps MACコア(GEnet)、及び100Mbps
物理コーディング・サブレイヤ・コア(PCS)を含む。
【0058】 マルチポート・イーサネット(R)10/100MACフィーチャ: 1)物理レイヤとの10個のシリアル・メディア独立インタフェースをサポー
トする。 2)10Mbpsまたは100Mbpsメディア速度の10個のポートを、任
意に混在させて処理できる。 3)単一のMACが時分割多重インタフェースにより、10個の全てのポート
をサービスする。 4)全てのポート上で全2重/半2重動作をメディア速度でサポートする。 5)IEEE802.3バイナリ指数バックオフをサポートする。
【0059】 1000Mbpsイーサネット(R)MACコア・フィーチャ: 1)物理PCSレイヤとの、または直接的に物理レイヤとのギガビット・メデ
ィア独立インタフェース(GMII)をサポートする。 2)PCSコアにより、完全なTBI(8b/10b)ソルーションをサポー
トする。 3)全2重Point-to-Point接続をメディア速度でサポートする。 4)IBM PCSコア有効バイト信号方式をサポートする。
【0060】 1000Mbpsイーサネット(R)物理コーディング・サブレイヤ・コア・
フィーチャ: 1)8b/10bエンコード及びデコードを実行する。 2)IEEE802.3zで定義されるPMA(10ビット)サービス・イン
タフェースをサポートする。このインタフェースは、IEEE802.3zに準
拠する任意のPMAに接続する。 3)PMAから受信されるデータ(2フェーズ・クロック)を、MAC(1フ
ェーズ)クロックに同期させる。 4)次の2ページを含むオートネゴシエーションをサポートする。 5)規格で定義された2フェーズ・クロック・システムを、1フェーズ・クロ
ックに変換する。 6)新たなデータを含むクロック・サイクルを示す信号を、MACに提供する
。 7)受信コード・グループ(10ビット)内のCOMMAをチェックし、ワー
ド同期を確立する。 8)8b/10b実行中ディスパリティを計算及びチェックする。
【0061】 図3の(A)乃至(D)は、インタフェース素子チップの異なる構成を示す。
これらの構成はDASLと、スイッチング・ファブリック装置への接続とにより
サポートされる。各DASLは2つのチャネル、すなわち送信チャネルと受信チ
ャネルとを含む。
【0062】 図3の(A)は、単一インタフェース装置のラップ(wrap)構成を示す。この
構成では、送信チャネルが受信チャネルにラップ、すなわち折り返される。
【0063】 図3の(B)は、2つのインタフェース素子チップが接続される構成を示す。
各インタフェース素子チップは、少なくとも2つのDASLを提供される。この
構成では、1つのチップ上の1DASL上のチャネルが、他のチップ上のマッチ
ングDASLのチャネルに、動作的に接続される。各チップ上の他のDASLは
、ラップされる。
【0064】 図3の(C)は、複数のインタフェース装置がスイッチ・ファブリックに接続
される構成を示す。両頭矢印は両方向の伝送を示す。
【0065】 図3の(D)は、メイン・スイッチ及びバックアップ・スイッチが複数のイン
タフェース装置に接続される構成を示す。メイン・スイッチが故障すると、バッ
クアップ・スイッチが使用可能になる。
【0066】 制御点(CP)はシステム・プロセッサを含み、これは各構成に接続される。
とりわけ、CPのシステム・プロセッサは、チップに対して、初期化及び構成サ
ービスを提供する。CPは3つの位置、すなわちインタフェース素子チップ内か
、チップが実装されるブレード上か、或いはブレードの外部のいずれかに配置さ
れる。ブレードの外部の場合、CPはリモートとなり、どこか別の場所に内蔵さ
れ、インタフェース装置及びCPが接続されるネットワークを介して通信する。
CPの要素が図20に示され、メモリ素子(キャッシュ、フラッシュ及びSDR
AM)、メモリ制御装置、PCIバス、及びバックプレーン及びL1ネットワー
ク・メディア用のコネクタを含む。
【0067】 図21は、単一チップ・ネットワーク・プロセッサと、EDS−UP、トラフ
ィック管理(MGT)スケジューラ、及びEDS−DOWN(DN)により提供
される機能とを示す。U字形アイコンはキューを表し、キュー内の内容を追跡す
る制御ブロック(CB)は、矩形アイコンにより表される。
【0068】 各要素及びそれらの機能及び相互作用は、次の通りである。
【0069】 PMM:これはMAC(FEnet、POS、GEnet)を含み、外部PH
Y装置に接続されるネットワーク・プロセッサの一部である。
【0070】 UP−PMM:この論理はPHYからバイトを受け取り、それをFISH(1
6バイト)にフォーマットし、UP−EDSに受け渡す。PMM内には4つのD
MUが存在し、各々は1GEnetまたは10FEnet装置と連携することが
できる。
【0071】 UP−EDS:この論理はUP−PMMからFISHを受け取り、それらをU
P−DATAストア(内部RAM)に記憶する。これは1度に40フレームを処
理することができ、適切な数のバイトが受信されると、フレームをEPCにエン
キューする。EPCがフレーム処理を完了すると、UP−EDSがフレームを適
切なターゲット・ポート・キューにエンキューし、UP−SDMにフレームの送
信を開始する。UP−EDSは全てのバッファ及びフレーム管理の責任を負い、
UP−SDMへの転送が完了するとき、バッファ/フレームを空きプールに戻す
【0072】 EPC:この論理はピコプロセッサを含み、組み込みPowerPCを含み得
る。この論理はフレーム・ヘッダを突き止め、フレームをどのように処理すべき
かを決定する(転送、変更、フィルタリングなど)。EPCは幾つかのルックア
ップ・テーブルをアクセスでき、ピコプロセッサがネットワーク・プロセッサの
高帯域幅要求に応じるためのハードウェア補助機構を有する。
【0073】 UP−SDM:この論理はフレームを受け取り、それらをスイッチ・ファブリ
ックへの伝送のために、Prizmaセルにフォーマットする。この論理はVL
ANヘッダをフレームに挿入することができる。
【0074】 UP−SIF:この論理はUP−DASLマクロを含み、外部スイッチ入出力
(I/O)に接続する。
【0075】 DN−SIF:この論理はDN−DASLマクロを含み、外部スイッチ入出力
(I/O)からPrizmaセルを受信する。
【0076】 DN−SDM:この論理はPrizmaセルを受信し、フレーム再組み立ての
ために、それらを事前処理する。
【0077】 DN−EDS:この論理は各セルを受け取り、それらを再度フレームに組み立
てる。セルは外部データ・ストアに記憶され、バッファが一緒にリンクされて、
フレームを形成する。全フレームが受信されると、フレームはEPCにエンキュ
ーされる。EPCがフレーム処理を終えると、フレームはスケジューラ・キュー
(但し存在する場合)またはターゲット・ポート・キューにエンキューされる。
DN−EDSは次に、フレーム、変更情報、及び制御情報などをDN−PMMに
送信することにより、フレームを適切なポートに送信する。
【0078】 DN−PMM:DN−EDSから情報を受け取り、フレームをイーサネット(
R)、POSなどにフォーマットし、フレームを外部PHYに送信する。
【0079】 SPM:この論理は、ネットワーク・プロセッサが外部装置(PHY、LED
、FLASHなど)とインタフェースするために使用されるが、3つの入出力(
I/O)を要求するだけである。ネットワーク・プロセッサはシリアル・インタ
フェースを用いて、SPMと通信し、次にSPMがこれらの外部装置を管理する
ために必要な機能を実行する。
【0080】 アップサイド・フロー: 1)フレームがPHYに到来する。 2)バイトがUP−PMMにより受信される。 3)UP−PMMがFISHをUP−EDSに送信する(FISHはフレーム
の一部を意味する)。 4)UP−EDSがFISHをUP−DSに記憶する。 5)UP−EDSがヘッダをEPC送信する。 6)EPCがヘッダを処理し、エンキュー情報をUP−EDSに返送する。 7)UP−EDSがフレームの残りをUP−PMMから受信し続ける。 8)スイッチへの適切なデータの送信準備が整うと、UP−EDSが情報をU
P−SDMに送信する。 9)UP−SDMがフレーム・データを読出し、それをPrizmaセルにフ
ォーマットする。 10)UP−SDMがセルをUP−SIFに送信する。 11)UP−SIFがDASLシリアル・リンクを介して、セルをPrizm
aに転送する。 12)全てのデータが受け取られると、UP−EDSがバッファ/フレームを
解放する。
【0081】 ダウンサイド・フロー: 1)DN−SIFがPrizmaセルを受信する。 2)DN−SDMがセルを記憶し、それらを再組み立て情報として事前処理す
る。 3)DN−EDSがセル・データ及び再組み立て情報を受信し、セルをダウン
サイド側の新たなフレームにリンクする。 4)DN−EDSがセルをDN−DSに記憶する。 5)全てのデータが受信されると、DN−EDSがフレームをEPCにエンキ
ューする。 6)EPCがヘッダを処理し、エンキュー情報をDN−EDSに返送する。 7)DN−EDSがフレームをスケジューラ・キュー(但し存在する場合)ま
たはターゲット・ポート・キューにエンキューする。 8)DN−EDSがキューをサービスし、フレーム情報をPCBに送信する。 9)DN−EDSがPCBを用いてフレームを"解体"(unravel)し、適切な
データを読出し、そのデータをDN−PMMに送信する。 10)DN−PMMがデータをフォーマットし(必要に応じて変更を加える)
、フレームを外部PHYに送信する。 11)DN−PMMがDN−EDSに、バッファがもはや必要とされないこと
を通知し、DN−EDSがこれらの資源を解放する。
【0082】 フレーム制御フロー: 1)ヘッダがUP−DSまたはDN−DSからEPCに送信される。 2)EPCがルックアップ・テーブルでヘッダ情報を調査し、フレーム・エン
キュー情報を受信する。 3)EPCがエンキュー情報をEDSに返送し、フレームが適切なキューにエ
ンキューされる。 4)セル・ヘッダ及びフレーム・ヘッダがフレーム・データと一緒に送信され
、再組み立て及びフレーム転送を支援する。
【0083】 CP制御フロー: 1)制御点がガイド・フレームをフォーマットし、それをネットワーク・プロ
セッサに送信する。 2)ネットワーク・プロセッサがガイド・フレームを、GCHピコプロセッサ
にエンキューする。 3)GCHがガイド・フレームを処理し、Rainierの要求領域を読み書きする
。 4)GCHがテーブル更新要求をGTHに渡す。 5)GTHが適切なテーブルを、ガイド・フレームからの情報により更新する
。 6)肯定応答ガイド・フレームがCPに返送される。
【0084】 ネットワーク・プロセッサ制御フロー: 1)ピコプロセッサがガイド・フレームを作成し、情報を別のRainierまたは
制御点に送信する。 2)ガイド・フレームが適切な位置に送信され処理される。
【0085】 単一インタフェース装置は、最大40の高速イーサネット(R)ポート(図3
の(A)参照)のための、メディア速度切替えを提供する。IBMのデータ整合
同期リンク(DASL:Data Aligned Synchronous Link)技術を用いて、2つ
のインタフェース装置が相互接続される場合、80個の高速イーサネット(R)
ポートがサポートされる(図3の(B)参照)。各DASL差動対は、440M
bpsのデータを伝搬する。従って、8対の2つのセットが、3.5Gbps全
2重接続(各方向において440Mbpsの8倍)を提供する。図3の(C)及
び(D)に示されるように、複数のインタフェース装置を、IBMのPrizm
a−Eスイッチなどのスイッチに相互接続することにより、より大規模なシステ
ムが構成される。インタフェース装置は、2つの3.5Gbps全2重DASL
接続を提供し、これらの一方が基本接続で他が補助接続であり、後者は、ローカ
ル・フレーム・トラフィックのためのラップ・バックパス(wrap-backpath)を
提供するか(2つのインタフェース装置が直接接続される場合(図3の(B))
、或いは、冗長スイッチ・ファブリックへの接続を提供する(図3の(D)、バ
ックアップ・スイッチ)。以上から、単一ネットワーク・プロセッサ・チップは
、1つのチップがローエンド・システム(比較的低いポート密度(例えば40)
を有する)から、ハイエンド・システム(比較的高いポート密度(例えば80)
を有する)まで提供するために使用されるという点でスケーラブルである。
【0086】 システム内の1つのインタフェース装置が、最大10個の10/100Mbp
s高速イーサネット(R)ポートか、単一の1000Mbpsイーサネット(R
)ポートを介して、システム・プロセッサに接続される。システム・プロセッサ
へのイーサネット(R)構成は、インタフェース装置に接続されるEEPROM
内に記憶され、初期化の間にロードされる。システム・プロセッサは、イーサネ
ット(R)フレームとしてカプセル化される特殊ガイド・フレームを作成するこ
とにより、システム内の全てのインタフェース装置と通信する(図3参照)。カ
プセル化されたガイド・フレームは、DASLリンクを介して他の装置に転送さ
れ、システム内の全てのインタフェース装置が、単一点から制御されることにな
る。
【0087】 ガイド・フレームは、制御点(CP)と組み込みプロセッサ・コンプレックス
との間で、及びインタフェース装置内で制御情報を伝達するために使用される。
ここでの議論を明らかにするガイド・セルの従来の開示が、1998年3月3日
発行の米国特許第5724348号"Efficient Hardware/Software Interface f
or a Data Switch"で述べられている。
【0088】 CPから発信されるガイド・フレーム・トラフィックでは、CPがそのローカ
ル・メモリ内のデータ・バッファ内に、ガイド・フレームを作成する。CPのデ
バイス・ドライバがガイド・フレームを、ネットワーク・プロセッサのメディア
・インタフェースの1つに送信する。メディア・アクセス制御(MAC)ハード
ウェアがガイド・フレームを回復し、それを内部データ・ストア(U−DS)メ
モリに記憶する。ガイド・フレームは適切なブレードに経路指定され、処理され
、必要に応じて再度CPに経路指定される。外部CPとインタフェース装置との
間でやり取りされるガイド・フレームは、外部ネットワークのプロトコルに適応
するようにカプセル化される。その結果、外部ネットワークがイーサネット(R
)を含む場合、ガイド・フレームはイーサネット(R)フレームとしてカプセル
化される。
【0089】 イーサネット(R)カプセル化は、CPとインタフェース装置との間のガイド
・トラフィックのトランスポート手段を提供する。インタフェース装置のイーサ
ネット(R)MAC(Enet MAC)は、フレームの受信時に、宛先アドレ
ス(DA)またはソース・アドレス(SA)を分析しない。この分析はEPCピ
ココードにより実行される。ガイド・トラフィックは、インタフェース装置が構
成されておらず、DA及びSAがEPCピココードにより分析されないものと仮
定する。従って、これらのフレームは元来、自己ルーティングである。しかしな
がら、イーサネット(R)MACは、イーサネット(R)タイプ・フィールドを
分析し、ガイド・トラフィックとデータ・トラフィックとを区別する。ガイド・
フレームのこのイーサネット(R)タイプ値の値は、E_Type_Cレジスタにロード
される値と合致しなければならない。このレジスタは、インタフェース装置のブ
ート・ピココードにより、フラッシュ・メモリからロードされる。
【0090】 CPはそのローカル・メモリ内のデータ・バッファ内に、ガイド・フレームを
構成する。CPプロセッサ内の32ビット・レジスタの内容が、図4に示される
ように、ビッグ・エンディアン形式でローカル・メモリ内に記憶される。ガイド
・フレームが構成されると、CPのデバイス・ドライバがイーサネット(R)フ
レームを送信する。このフレームは、特定ガイド・セル・ハンドラ(GCH)の
DA、CPの大域MACアドレスまたは特定インタフェースのMACアドレスに
対応するSA、ガイド・フレームを示す特殊イーサネット(R)タイプ・フィー
ルド、及びガイド・フレーム・データを含む。ポートに到来する全てのイーサネ
ット(R)フレームは、イーサネット(R)MACにより受信され、分析される
。E_Type_Cレジスタの内容に合致するイーサネット(R)タイプ値を有するフレ
ームの場合、イーサネット(R)MACがDA、SA及びイーサネット(R)タ
イプ・フィールドを剥ぎ取り、ガイド・フレーム・データをU_DSメモリに記
憶する。バイトが1つずつ、イーサネット(R)MACにより、FISHと呼ば
れる16バイトのブロック内に収集される。これらのバイトはビッグ・エンディ
アン形式で記憶され、ガイド・フレームの第1バイトが、FISHの最上位バイ
ト位置(バイト0)に記憶される。続くバイトは、FISH内の続くバイト位置
(バイト1,バイト2,..,バイト15)に記憶される。これらの16バイト
は次に、U_DS内のバッファに、FISH0位置から記憶される。続くFIS
Hは、バッファ内の連続するFISH位置(FISH1、FISH2、FISH
3など)に記憶される。ガイド・フレームの残りを記憶するために、必要に応じ
て、空きプールから追加のバッファが獲得される。
【0091】 インタフェース装置10内のガイド・トラフィックのフローが、図5に示され
る。インタフェース装置のイーサネット(R)MAC機能が、フレーム・ヘッダ
情報を調査し、フレームがガイド・フレームであることを判断する。イーサネッ
ト(R)MACはガイド・フレームからフレーム・ヘッダを除去し、その残りの
内容をインタフェース装置の内部U_DSメモリにバッファリングする。イーサ
ネット(R)MACは、フレームがGCHにより処理されるために、汎用制御(
GC)キューにエンキューされるべきことを示す。ガイド・フレームの終わりに
達すると、エンキュー、デキュー及びスケジュール(EDS)論理が、フレーム
をGCキューにエンキューする。
【0092】 CPに局所的に接続されるブレード上のGCHピココードは、フレーム制御情
報(図7参照)を調査し、ガイド・フレームがシステム内の他のブレードに向け
られるか、及びガイド・フレームがインタフェース装置のダインサイド側で実行
されるべきかを判断する。フレームが、局所的に接続されるブレード以外のブレ
ード、またはそれに加えたブレードに向けられる場合、GCHピココードがフレ
ーム制御ブロック(FCB)内のTB値を、ガイド・フレームのフレーム制御情
報からのTB値により更新し、EDSにフレームを、マルチキャスト・ターゲッ
ト・ブレード・フレーム開始(TB_SOF)キューにエンキューするように命
令する。性能上の理由から、示された宛先ブレードの数とは無関係に、全てのガ
イド・トラフィックがマルチキャストTB_SOFキューにエンキューされる。
【0093】 フレームが局所的に接続されたブレードだけに向けられる場合、GCHピココ
ードがフレーム制御情報のUP/DOWNバー・フィールド(以降、'バー'は'
0'bで有効なことを意味する)(図7参照)を調査し、ガイド・フレームがイ
ンタフェース装置のアップサイドまたはダウンサイドのどちらで実行されるべき
かを判断する。ガイド・フレームがインタフェース装置のダウンサイドで実行さ
れる場合、GCHピココードがFCB内のTB値を、ガイド・フレームのフレー
ム制御情報からのTB値により更新し、EDSにフレームをマルチキャストTB
_SOFキューにエンキューするように命令する。フレーム制御情報が、ガイド
・フレームがアップサイドで実行されるべきことを示す場合、GCHピココード
がガイド・フレームを分析し、そこに含まれるガイド・コマンドにより示される
操作を実行する。
【0094】 ガイド・コマンドを処理する前に、ピココードはフレーム制御情報のACK/
NOACKバー・フィールドの値をチェックする、この値が'0'bの場合、ガイ
ド・フレームが処理に続き廃棄される。但し、ガイド読出しコマンドは、この範
疇ではない。
【0095】 ACK/NOACKバー・フィールドが'1'bで、EARLY/LATEバー
・フィールドが'1'bの場合、ガイド・フレーム内の任意のガイド・コマンドを
処理する前に、ピココードが早期ACKガイド・フレームを作成する。このとき
、フレーム制御のTBフィールドの値は、早期ACKガイド・フレームの内容に
等しく、フレーム制御のTBフィールドの値は、My_TBレジスタの内容に等
しい。ピココードは、フレームのFCB内のTB値を、LAN制御点アドレス(
LAN_CP_Addr)レジスタのTBフィールドに含まれる値により更新し、EDSに
フレームをマルチキャストTB_SOFキューにエンキューするように命令する
ことにより、早期ACKガイド・フレームをCPに返送する。ピココードは次に
、ガイド・フレームのガイド・コマンドを処理し、ガイド・フレームを廃棄する
。但し、ガイド読出しコマンドはこの範疇ではない。
【0096】 他方、ACK/NOACKバー・フィールドの値が'1'bで、EARLY/L
ATEバー・フィールドの値が'0'bの場合、ピココードはフレーム制御情報の
RESP/REQバー・フィールドを'1'bに変更して、ガイド・フレーム応答
を示し、TBフィールドをMy_TBレジスタの内容により更新し、ガイド・フ
レーム内の各ガイド・コマンドを処理する。ガイド・コマンドの処理の間、ピコ
コードは次のガイド・コマンドの完了コード・フィールドを、現ガイド・コマン
ドの完了ステータス・コード値により更新する。ピココードは、FCB内のTB
値をソース・ブレードに対応する値(CPのLAN_CP_Addrレジスタ値)により更
新し、EDSにフレームをマルチキャストTB_SOFキューにエンキューする
ように命令することにより応答をソースに返送する。
【0097】 TB_SOFキュー内に存在するフレームは、EDSにより、転送をスケジュ
ールされる。スイッチ・データ・ムーバ(SDM)が、FCBに含まれる情報か
ら、スイッチング・ファブリック・セル・ヘッダ及びインタフェース装置フレー
ム・ヘッダを作成する。これらのセルはスイッチング・ファブリック装置を通過
し、ターゲット・ブレードに到達し、そこでセルがD−DSメモリ内で、フレー
ムに再組み立てされる。ダウンサイドのSDMは、フレームがガイド・フレーム
であることを認識し、EDSにそれをGCキューにエンキューするように伝える
【0098】 GCキューまたはGTキューからの圧力により、ピココードはガイド・フレー
ムをアクセスし分析する。ダウンサイドに到来する全てのガイド・フレームは、
最初にGCキューにエンキューされる。これらのフレームにおけるフレーム制御
情報のGTH/GCHバー値が、GCHピココードにより調査される。GTH/
GCHバー値が'0'bの場合、ガイド・フレームがGTキューにエンキューされ
る。それ以外では、GCHピココードが、フレーム制御情報のRESP/REQ
バー・フィールドを調査し、ガイド・フレームが既に実行されたか否かを判断す
る。RESP/REQバー・フィールドが値'1'bを有する場合、ガイド・フレ
ームは既に実行されており、CPに経路指定される。CP接続に対応するターゲ
ット・ポート値は、EPCピココードにより保持される。これらのターゲット・
ポート・キューからのフレームが、インタフェース装置からCPに返送される。
【0099】 RESP/REQバー・フィールドが値'0'bを有する場合、ブレードはCP
に対してローカルまたはリモートである。これはLAN_CP_AddrレジスタのTBフ
ィールドの値を、マイ・ターゲット・ブレード(My_TB)レジスタの内容と
比較することにより解明される。これらが一致する場合、ブレードはCPにとっ
てローカルであり、それ以外では、ブレードはCPにとってリモートである。い
ずれの場合にも、ピココードはフレーム制御情報のUP/DOWNバー値を調査
する。UP/DOWNバー値が'1'bの場合、フレームはラップTPキューにエ
ンキューされ、U_DSへ転送されて、アップサイドのGCHにより処理される
。それ以外では、ピココード(GCHまたはGTH)が、ガイド・フレームに含
まれるガイド・コマンドにより指示される操作を実行する。ガイド・コマンドの
処理に先立ち、ピココードがフレーム制御情報のACK/NOACKバー・フィ
ールドの値をチェックする。この値が'0'bの場合、ガイド・フレームが処理に
続き廃棄される。但し、ガイド読出しコマンドはこの範疇ではない。
【0100】 ACK/NOACKバー・フィールドの値が'1'bで、EARLY/LATE
バー・フィールドの値が'1'bの場合、ガイド・フレーム内の任意のガイド・コ
マンドを処理する前に、ピココードが早期ACKガイド・フレームを作成し、こ
のとき、フレーム制御情報のTBフィールドの値は、My_TBレジスタの内容
に等しい。ブレードがCPにとってリモートの場合、ピココードは早期ACKガ
イド・フレームをラップ・ポートに経路指定する。それ以外では、ブレードはC
Pにとってローカルであり、フレームはCPに対応するポート・キューに経路指
定される。ピココードはガイド・コマンドを処理する一方、ラップ・ポートが早
期ACKガイド・フレームをD_DSからU_DSに転送し、フレームをアップ
サイドのGCキューにエンキューするか、フレームがポート・キューからCPに
返送される。U_DSにラップバック(wrap back)されるフレームに対して、
GCHピココードは再度このフレームを調査するが、RESP/REQバー・フ
ィールドは値'1'bを有する。GCHピココードは、FCB内のTBフィールド
を、LAN_CP_AddrレジスタのTBフィールドに含まれる値により更新し、EDS
にフレームをマルチキャストTB_SOFキューにエンキューするように命令す
ることにより、フレームをCPに返送する。TB_SOFキュー内に存在するフ
レームは、EDSにより、転送をスケジュールされる。スイッチ・データ・ムー
バ(SDM)が、FCBに含まれる情報から、Prizmaセル・ヘッダ及びイ
ンタフェース装置フレーム・ヘッダを作成する。このフレームからのセルはPr
izmaを通過し、CPのローカル・ブレード上で、フレームに再組み立てされ
る。ダウンサイドのSDMは、フレームがガイド・フレームであることを認識し
、EDSにそれをGCキューにエンキューするように伝える。GCHピココード
がフレームを分析するとき、RESP/REQバー・フィールドは値'1'bを有
する。このことは、このブレードがCPに局所的に接続されることを意味し、従
ってガイド・フレームは、CPに対応するポート・キューに経路指定される。こ
のキュー内のフレームは、インタフェース装置からCPに返送される。
【0101】 他方、ACK/NOACKバー・フィールドの値が'1'bで、EARLY/L
ATEバー・フィールドの値が'0'bの場合、ピココードはRESP/REQバ
ー・フィールドを'1'bに変更し、ガイド・フレーム応答であることを示し、T
BフィールドをMy_TBレジスタの内容により置換し、次にガイド・フレーム
内の各ガイド・コマンドを処理する。ガイド・コマンドの処理の間、ピココード
は次のガイド・コマンドの完了コード・フィールドを、現ガイド・コマンドの完
了ステータス・コード値により更新する。ブレードがCPにとってリモートの場
合、ピココードはガイド・フレームをラップ・ポートに経路指定する。それ以外
では、ブレードはCPにとってローカルであり、フレームはCPに対応するポー
ト・キューに経路指定される。ラップ・ポートがガイド・フレームをD_DSか
らU_DSに転送し、フレームをアップサイドのGCキューにエンキューするか
、フレームがポート・キューからCPに返送される。U_DSにラップバックさ
れるフレームに対して、GCHピココードは再度このフレームを調査するが、R
ESP/REQバー・フィールドは値'1'bを有する。GCHピココードは、F
CB内のTBフィールドを、LAN_CP_AddrレジスタのTBフィールドに含まれる
値により更新し、EDSにフレームをマルチキャストTB_SOFキューにエン
キューするように命令することにより、フレームをCPに返送する。TB_SO
Fキュー内に存在するフレームは、EDSにより、転送をスケジュールされる。
SDMが、FCBに含まれる情報から、Prizmaセル・ヘッダ及びインタフ
ェース装置フレーム・ヘッダを作成する。このフレームからのセルはPrizm
aを通過し、CPのローカル・ブレード上のダウンサイドでフレームに再組み立
てされる。ダウンサイドのSDMは、フレームがガイド・フレームであることを
認識し、EDSにそれをGCキューにエンキューするように伝える。GCHピコ
コードがD_DSからのフレームを分析するとき、RESP/REQバー・フィ
ールドは値'1'bを有する。このことは、このブレードがCPに局所的に接続さ
れることを意味し、ガイド・フレームが、CPに対応するポート・キューに経路
指定される。このキュー内のフレームは、インタフェース装置からCPに返送さ
れる。
【0102】 何らかの理由により、GCHピココードが、フレーム制御情報のTBフィール
ドが'0000'hに等しいガイド・フレームに遭遇する場合、GCHピココード
はこのフレームを、このブレードだけに向けられるものと解釈し、それにもとづ
き処理を行う。このアクションは、My_TBレジスタの値が全てのブレードに
対して'0000'hである初期化の間に要求される。CPは、フレーム制御情報
が'0000'hのTB値を有するガイド・フレーム内の、書込みガイド・コマン
ドを送信することにより、局所的に接続されるブレードのMy_TBレジスタを
初期化する。
【0103】 EPC内の任意のピコプロセッサがガイド・フレームを生成できる。このフレ
ームは非送信請求ガイド・フレームか、他の形式のガイド・フレームである。こ
のタイプの内部的に生成されるフレームは、肯定応答を許可しないように生成さ
れる(すなわちACK/NOACKバー='0'b)。これらのフレームは、同一
のEPC内の2つのピコプロセッサの一方(GCHまたはGTH)に送信される
か、他のブレードのGCHまたはGTHに送信される。
【0104】 非送信請求ガイド・フレームはCPにも送信され得る。同一のEPCに向けら
れるガイド・フレームは、D_DS内のデータ・バッファを用いて構成される。
これらのフレームは次に処理のために、GCまたはGTキューにエンキューされ
る。これらのフレームは次に通常通り処理され、廃棄される。局所的に接続され
るCPに向けられる非送信請求ガイド・フレームは、D_DS内のデータ・バッ
ファを用いて構成される。これらのフレームは、それらがEPCにより実行され
たことを示すように構成される(すなわち、RESP/REQバー='1'b、T
B=My_TB)。これらのフレームは、CPに対応するポート・キューにエン
キューされる。このキューからフレームは、CPに返送される。
【0105】 別のブレードに向けられるガイド・フレームは、D_DSまたはU_DS内の
データ・バッファを用いて構成される。CPに向けられる非送信請求ガイド・フ
レームは、それらがEPCにより実行されたことを示すように構成される(すな
わち、RESP/REQバー='1'b、TB=My_TB)。D_DS内のデー
タ・バッファを用いて構成されたフレームは、ラップ・ポートにエンキューされ
る。これらのフレームはU_DSに転送され、アップサイドのGCキューにエン
キューされる。'1'bのRESP/REQバー値を有する非送信請求ガイド・フ
レームは、LAN_CP_Addrレジスタ内のTB値を用いてCPに経路指定される。そ
れ以外では、GCHピココードが、ガイド・フレームのフレーム制御情報のTB
値を用いて、これらのフレームを経路指定する。受信ブレードにおいて、フレー
ムがダウンサイドのGCキューにエンキューされる。このブレードのGCHは、
フレームを実行し廃棄するか(RESP/REQバー='0'b、GTH/GCH
バー='1')、フレームをGTキューにエンキューするか(RESP/REQバ
ー='0'b、GTH/GCHバー='0')、フレームをCPに対応するポート・
キューにエンキューする(RESP/REQバー='1'b)。U_DS内のデー
タ・バッファを用いて構成されたフレームは、アップサイドのGCキューに直接
エンキューされる。この点から以降、これらのフレームは同一の経路に従い転送
され、D_DSデータ・バッファを用いて構成されたフレームと同様に処理され
る。図6は、ガイド・フレームの汎用フォーマットを示す。
【0106】 図示のフォーマットは、左側に最上位バイトを有し、右側に最下位バイトを有
する論理表現である。4バイト・ワードが先頭のワード0から開始し、ページの
終わりに向けて増加する。
【0107】 インタフェース装置がCPにより構成される前に、ガイド・フレームは経路指
定され、処理されなければならないので、これらのフレームは自己ルーティング
でなければならない。探索及び分類により通常獲得される結果が、ガイド・フレ
ームのこのフレーム制御情報フィールド内に含まれ、チップが探索操作を実行す
ることなく、FCBをこの情報により更新することを可能にする。ガイド・フレ
ームに含まれるターゲット・ブレード情報は、ガイド・フレーム・ハンドラによ
り、FCBのリーフ・ページ・フィールドを用意するために使用される。CPが
ターゲット・ブレード情報を提供する一方、GCHピココードがFCB内の他の
フィールドを記入する。このFCB情報はSDMにより、セル・ヘッダ及びフレ
ーム・ヘッダを用意するために使用される。ガイド・フレームのフレーム制御情
報フィールドのフォーマットが図7に示される。
【0108】 次に、図7の各ビット位置の略語について説明する。
【0109】 RESP/REQバー:応答及び非要求バー標識値。このフィールドは、要求
(未処理)ガイド・フレームと応答ガイド・フレームとを区別するために使用さ
れる。 0:要求 1:応答
【0110】 ACK/NOACKバー:肯定応答または無肯定応答制御値。このフィールド
は、GCHピココードがガイド・フレームを肯定応答するか否かを制御するため
に使用される(肯定応答する場合ACK、そうでない場合NOACK)。ガイド
・フレームが肯定応答されない場合、読出しを実行するいずれの形式のガイド・
コマンドも含まれない。 0:無肯定応答 1:肯定応答
【0111】 EARLY/LATEバー:早期及び遅延肯定応答制御値。このフィールドは
、要求される肯定応答(ACK/NOACKバー='1'b)が、ガイド・フレー
ムが処理される前に発生するか(EARLY)、または後に発生するか(LAT
E)を制御するために使用される。ACK/NOACKバー='0'の場合、この
フィールドは無視される。 0:ガイド・フレーム処理後の肯定応答 1:ガイド・フレーム処理前の肯定応答
【0112】 NEG/ALLバー:否定応答または全肯定応答制御値。このフィールドは、
ガイド・コマンドが成功裡に完了しない場合を除き、ACK/NOACKバー・
フィールドが値'0'bを有するとき無視される。 0:ACK/NOACKバー・フィールドが'1'bの場合、全てのガイド・フ
レームを肯定応答する。早期または遅延肯定応答は、EARLY/LATEバー
の値により決定される。 1:成功裡に完了しないガイド・フレームだけを肯定応答する。この肯定応答
は、ACK/NOACKバー及びEARLY/LATEバーの値に関係なく発生
し、もちろん遅延肯定応答である。
【0113】 UP/DOWNバー:アップまたはダウン制御値。この値は、フレームがアッ
プサイドまたはダウンサイドのどちらで処理されるかを制御するために使用され
る。このフィールドは、RESP/REQバーが'1'bのとき無視される。全て
のマルチキャスト・ガイド・フレームは、'0'bのUP/DOWNバー値を有す
る。更に、GTHハードウェア補助機構命令の使用を要求するガイド・コマンド
は、'0'bのUP/DOWNバー値を有する。 0:ダウンサイド処理 1:アップサイド処理
【0114】 GTH/GCHバー:汎用ツリー・ハンドラまたはガイド・セル・ハンドラ制
御値。この値は、ガイド・フレームを適切なピコプロセッサに転送するために使
用される。 0:GCHピコプロセッサ 1:GTHピコプロセッサ
【0115】 TB:ターゲット・ブレード値。RESP/REQバーが'0'bのとき、この
フィールドはPrizmaにより使用されるルーティング情報を含む。各ビット
位置はターゲット・ブレードに対応する。この値が'0000'hのとき、ガイド
・フレームがこのブレードに当てはまるとみなされ、従って実行される。TBフ
ィールドの1つ以上のビット位置の'1'bの値は、セルが対応するターゲット・
ブレードに経路指定されることを示す。RESP/REQバーが'1'bのとき、
このフィールドは応答ブレードのMy_TB値を含む。
【0116】 ガイド・フレームのワード1は、相関関係子の値を含む(図8)。この値はC
Pソフトウェアにより割当てられ、ガイド・フレーム応答をそれらの要求に相関
付ける。相関関係子は、機能を割当てられた複数のビットを含む。
【0117】 あらゆるガイド・コマンドは、コマンド制御情報フィールドで開始する。この
コマンド制御は、GCHピココードがガイド・フレームを処理するのを支援する
情報を含む。この情報のフォーマットが図9に示される。
【0118】 レングス値:この値は、制御情報に含まれる32ビット・ワードの総数(コマ
ンド・ワード0)、アドレス情報(コマンド・ワード1)、及びガイド・フレー
ムのオペランド(コマンド・ワード2+)部分を含む。
【0119】 完了コード値:このフィールドはCPにより初期化され、ガイド・コマンドを
処理するとき、GCHピココードにより変更される。GCHピココードはこのフ
ィールドを、コマンド・リスト内の先行ガイド・コマンドの完了ステータスとし
て使用する。全てのガイド・コマンド・リストは、終了区切り文字ガイド・コマ
ンドで終了するので、最後のコマンドの完了ステータスが、終了区切り文字の完
了コード・フィールド内に含まれる。
【0120】 ガイド・コマンド(GC)タイプ値(シンボル名):
【表1】
【0121】 ガイド・フレームに含まれるアドレッシング情報は、ネットワーク・プロセッ
サのアドレッシング機構内の要素を識別する。アドレス情報フィールドの汎用形
式が、図10に示される。
【0122】 インタフェース装置は32ビット・アドレッシング方式を採用する。このアド
レッシング方式は、アドレス値を、インタフェース装置のあらゆるアクセス可能
な構造に割当てる。これらの構造はプロセッサの内部に存在するか、プロセッサ
の制御に従い、インタフェースに接続される。これらの構造のあるものは、組み
込みプロセッサ・コンプレックス(EPC)により、ウェブ・インタフェースと
呼ばれる内部インタフェースを介してアクセスされる。残りの構造は、メモリ制
御装置インタフェースを介してアクセスされる。全ての場合において、アドレス
の汎用形式が図11に示される。
【0123】 ネットワーク制御装置は、主要チップ・アイランドに細分化される。各アイラ
ンドは固有のアイランドID値を与えられる。この5ビット・アイランドID値
は、そのチップ・アイランドにより制御される構造のアドレスの、最上位5ビッ
トを形成する。エンコード化されたアイランドID値とチップ・アイランド名と
の対応が、図12に示される。ウェブ・アドレスの第2の部分は、次の最上位2
3ビットを含む。このアドレス・フィールドは、構造アドレス部分と、エレメン
ト・アドレス部分とに区分化される。各セグメントに対して使用されるビット数
は、アイランド毎に異なる。一部のアイランドは数個の大きな構造だけを含むの
に対して、他のアイランドは多くの小さな構造を含む。そうした理由から、これ
らのアドレス・セグメントには固定サイズが存在しない。構造アドレス部分は、
アイランド内のアレイをアドレス指定するために使用されるのに対して、エレメ
ント・アドレス部分は、アレイ内の要素をアドレス指定するために使用される。
アドレスの残りの部分は、ウェブ・インタフェースの32ビット・データ・バス
制限を調整する。この4ビット・ワード・アドレスは、アドレス指定されるエレ
メントの32ビット・セグメントを選択するために使用される。これは32ビッ
トより広い構造エレメントを、ネットワーク制御装置のウェブ・データ・バスを
介して、移動するために必要である。ワード・アドレス値'0'hは、構造エレメ
ントの最上位32ビットを指し示すのに対して、順次ワード・アドレス値は、構
造エレメントの連続的な下位セグメントに対応する。アドレスのワード・アドレ
ス部分は、ウェブ・インタフェースを介してアクセスされない構造に対しては、
要求されない。この理由から、アップ・データ・ストア、制御メモリ、及びダウ
ン・データ・ストアは、アドレスの最下位27ビット全てを使用し、構造エレメ
ントをアクセスする。このフォーマットの別の例外は、SPMインタフェースの
アドレスである。この場合、アドレスの27ビット全てが使用され、32ビット
よりも大きな幅のエレメントは存在しない。
【0124】 組み込みプロセッサ・コンプレックス(EPC)は、インタフェース素子チッ
プのプログラマビリティを提供し制御する。これは次のコンポーネントを含む(
図13参照)。
【0125】 N個の処理ユニット(GxHと呼ばれる):GxHは、共通命令メモリに記憶
されるピココードを同時に実行する。各GxHは処理ユニット・コア(CLPと
呼ばれる)を含み、これは3ステージ・パイプライン、16GPR、及びALU
を含む。各GxHはまた、例えばツリー構造探索エンジンのように、幾つかのコ
プロセッサを含む。
【0126】 命令メモリ:初期化の間にロードされ、フレームを転送し、システムを管理す
るピココードを含む。
【0127】 ディスパッチャ:アップ及びダウン・ディスパッチャ・キューからフレーム・
アドレスをデキューする。デキューの後、ディスパッチャがアップまたはダウン
・データ・ストア(DS)から、フレーム・ヘッダの一部をプリフェッチし、こ
れを内部メモリに記憶する。GxHがアイドルになると、ディスパッチャが直ち
に、コード命令アドレス(CIA)のような適切な制御情報を有するフレーム・
ヘッダを、GxHに渡す。ディスパッチャはまた、タイマ及び割込みを処理する
【0128】 ツリー構造探索メモリ(TSM)アービタ:各GxHが使用可能な多数の共用
内部メモリ位置及び外部メモリ位置が存在する。このメモリは共用されるので、
メモリへのアクセスを制御するために、アービタが使用される。TSMはピココ
ードにより直接アクセスされ、例えばエージング・テーブルを記憶するために使
用される。TSMはまた、ツリー構造探索の間に、TSEによりアクセスされる
【0129】 完了ユニット(CU):完了ユニットは2つの機能を実行する。第1に、これ
はN個の処理ユニットを、アップ及びダウンEDS(エンキュー、デキュー、及
びスケジュール・アイランド)とインタフェースする。EDSはエンキュー・ア
クションを実行する。すなわち、フレーム・アドレスが、FCBページと呼ばれ
る適切なパラメータと一緒に、伝送キュー、廃棄キュー、またはディスパッチャ
・キューのいずれかに、待ち行列化される。第2に、完了ユニットはフレーム・
シーケンスを保証する。複数のGxHが、同一のフローに属するフレームを処理
している可能性があるので、これらのフレームがアップまたはダウン伝送キュー
に正しい順序でエンキューされるように、事前注意が払われなければならない。
完了ユニットは、フレーム・ディスパッチ時に分類子ハードウェア補助機構によ
り生成されるラベルを使用する。
【0130】 分類子ハードウェア補助機構:アップ・フレームでは、分類子ハードウェア補
助機構は、フレーム・フォーマットの周知のケースを分類する。分類結果はフレ
ーム・ディスパッチの間に、CIA及び1つ以上のレジスタの内容に関して、G
xHに渡される。ダウン・フレームでは、分類子ハードウェア補助機構は、フレ
ーム・ヘッダに応じて、CIAを決定する。アップ及びダウン・フレーム・ディ
スパッチの両方のために、分類子ハードウェア補助機構は、フレーム・シーケン
スを維持するために、完了ユニットにより使用されるラベルを生成する。
【0131】 アップ/ダウン・データ・ストア・インタフェース及びアービタ:各GxHは
アップ及びダウン・データ・ストアをアクセスできる。すなわち、"より多くの
FISH"を読出すとき、読出しアクセスが提供され、FISHプールの内容を
データ・ストアに書戻すとき、書込みアクセスが提供される。N個の処理ユニッ
トが存在し、1度にそれらの1つだけがアップ・データ・ストアをアクセスでき
、1度に1つだけがダウン・データ・ストアをアクセスできるので、各データ・
ストアに対して、1つのアービタが必要とされる。
【0132】 ウェブ・アービタ及びウェブウォッチ・インタフェース:ウェブ・アービタは
GxHの間で、ウェブへのアクセスを調停する。全てのGxHはウェブをアクセ
スでき、このことは、インタフェース装置内の全てのメモリ及びレジスタ機能を
アクセスすることを可能にする。これにより、GxHは全ての構成領域を変更ま
たは読出すことができる。ウェブはインタフェース装置のメモリ・マップとみな
される。ウェブウォッチ・インタフェースは、3つのチップ入出力ピンを用いて
、チップの外部からウェブ全体をアクセスできるようにする。
【0133】 デバッグ、割込み及び単一ステップ制御:ウェブはGCHまたはウェブウォッ
チャが、必要に応じて、チップ上の各GxHを制御することを可能にする。例え
ば、ウェブはGCHまたはウェブウォッチャにより、GxH上で命令を単一ステ
ップ操作するために使用される。
【0134】 PowerPCなどの組み込み汎用プロセッサ: 4つのタイプのGxHが存在する(図14参照)。
【0135】 GDH(汎用データ・ハンドラ):8個のGDHが存在する。各GDHは完全
なCLPと、5個のコプロセッサ(次のセクションで述べられる)を有する。G
DHは主に、フレームを転送するために使用される。
【0136】 GCH(ガイド・セル・ハンドラ):GCHは、GDHと正に同一のハードウ
ェアを有する。しかしながら、ガイド・フレームだけがGCHにより処理される
。GCHがデータ・フレームについても処理できるか否かは(この場合、GCH
はGDHの役割をする)、ウェブ上でプログラマブルである(CLP_Enaレ
ジスタ)。GCHはGDHに比較して、追加のハードウェア、すなわち、ツリー
挿入及び削除を実行するハードウェア補助機構を有する。GCHは、ガイド・セ
ル関連ピココードを実行したり、エージングなどの、チップ及びツリー管理関連
ピココードを実行したり、或いは制御情報をCPや別のGCHと交換するために
使用される。実行すべきこうしたタスクが存在しない場合、GCHはフレーム転
送関連ピココードを実行し、この場合、丁度GDHのように動作することになる
【0137】 GTH(汎用ツリー・ハンドラ):GTHはツリー挿入、ツリー削除、及びロ
ープ管理を実行する追加のハードウェア補助機構を有する。GPQ内に(ツリー
管理コマンドを含む)フレームが存在しない場合、GTHはデータ・フレームを
処理する。
【0138】 GPH(汎用PowerPCハンドラ):GPHはGDH及びGTHに比較し
て、追加のハードウェアを有する。GPHはメールボックス・インタフェース(
I/F)を介して、汎用プロセッサとインタフェースする。
【0139】 GxHの数(10個)は"最善推量"(best-guess)である。性能評価により、
実際に要求されるGxHの個数が決定される。アーキテクチャ及び構造は、より
多くのGxHに向けて完全にスケーラブルであり、唯一の制限はシリコン面積で
ある(より大きなアービタ及び命令メモリを含むはずである)。
【0140】 各GxHは、図15に示されるように構造化される。汎用レジスタ(GRP)
及び演算論理ユニット(ALU)を有するCLPに加え、各GxHは次の5つの
コプロセッサを含む。
【0141】 (DS)コプロセッサ・インタフェース:ディスパッチャ、並びにアップ及び
ダウン・データ・ストアへの読出し及び書込みアクセスを提供するサブアイラン
ドとインタフェースする。DSインタフェースは、いわゆるFISHプールを含
む。
【0142】 ツリー構造探索エンジン・コプロセッサ(TSE):TSEはツリー内の探索
を実行し、ツリー構造探索メモリ(TSM)とインタフェースする。
【0143】 エンキュー・コプロセッサ:完了ユニット・インタフェースとインタフェース
し、FCBページを含む。このコプロセッサは、ピココードがエンキュー・パラ
メータを含むFCBページを作成するために使用する追加のハードウェア補助機
構と共に、256ビット・レジスタを含む。一旦FCBページが作成されると、
ピコプロセッサがエンキュー命令を実行し、FCBページが完了ユニットに転送
される。
【0144】 ウェブ・インタフェース・コプロセッサ:このコプロセッサはウェブ・アービ
タとのインタフェースを提供し、インタフェース装置への書込み及び読出しを可
能にする。
【0145】 チェックサム・コプロセッサ:FISHプール(後述)に記憶されるフレーム
上に、チェックサムを生成する。
【0146】 処理ユニットは、イングレス処理とイーグレス処理との間で共用される。イン
グレス処理対イーグレス処理において、どれだけの帯域幅が確保されるかは、プ
ログラマブルである。現インプリメンテーションでは、2つのモデルが存在し、
一方は50/50(すなわち、イングレス及びイーグレスが同じ帯域幅を獲得す
る)で、他は66対34(すなわち、イングレスがイーグレスの2倍の帯域幅を
獲得する)である。
【0147】 処理ユニットの動作はイベント・ドリブン方式である。すなわち、フレームの
到来がイベントとして、またタイマまたは割込みのポッピングとして扱われれる
。ディスパッチャは異なるイベントを同様に扱う。但し、優先順位は存在する(
第1が割込みで、第2がタイマ・イベントで、第3がフレーム到来イベント)。
イベントが処理ユニットに渡されると、適切な情報が処理ユニットに与えられる
。フレーム到来イベントでは、これはフレーム・ヘッダの一部と、ハードウェア
分類子からの情報とを含む。タイマ及び割込みでは、これはコード・エントリ・
ポイントと、イベントに関連する他の情報とを含む。
【0148】 フレームがイングレス側に到来し、このフレームの受信バイト数がプログラマ
ブルしきい値を超える場合、フレーム制御ブロックのアドレスがGQに書込まれ
る。
【0149】 完全なフレームがイーグレス側で再組み立てされた場合、フレーム・アドレス
がGQに書込まれる。4つのタイプのGQが存在する(そして、各タイプに対し
て、図14に示されるように、イングレス・バージョン及びイーグレス・バージ
ョンが存在する)。すなわち、 GCQ:GCHにより処理されなければならないフレームを含む。 GTQ:GTHにより処理されなければならないフレームを含む。 GPQ:GPHにより処理されなければならないフレームを含む。 GDQ:任意のGDH(またはGCH/GTHがデータ・フレームを処理でき
る場合には、GCH/GTH)により処理され得るフレームを含む。GDQにつ
いては、複数の優先順位が存在し、高い優先順位でエンキューされたフレームは
、低い優先順位でエンキューされたフレームより先に処理される。
【0150】 一部の処理ユニットは特殊化され得る。現インプリメンテーションでは、4つ
のタイプの処理ユニット(GxH)が存在する(図14参照)。すなわち、 GDH(汎用データ・ハンドラ):GDHは主に、フレームを転送するために
使用される。
【0151】 GCH(ガイド・セル・ハンドラ):GCHは、GDHと正に同一のハードウ
ェアを有する。しかしながら、ガイド・フレームだけがGCHにより処理される
。GCHがデータ・フレームについても処理できるか否かは(この場合、GCH
はGDHの役割をする)、ウェブ上でプログラマブルである(CLP_Enaレ
ジスタ)。
【0152】 GTH(汎用ツリー・ハンドラ):GTHはGDH及びGCHに比較して、追
加のハードウェア、すなわち、ツリー挿入、ツリー削除、及びロープ管理を実行
するハードウェア補助機構を有する。GPQ内に(ツリー管理コマンドを含む)
フレームが存在しない場合、GTHはデータ・フレームを処理する。
【0153】 GPH(汎用PowerPCハンドラ):GPHはGDH及びGTHに比較し
て、追加のハードウェアを有する。GPHはメールボックス・インタフェースを
介して、組み込みPowerPCとインタフェースする。
【0154】 実際のインプリメンテーションでは、GCH、GTH及びGPHの役割は、単
一の処理ユニット上で実現される。例えば、1インプリメンテーションはGCH
及びGPHに対して、1つの処理ユニットを有する。類似のコメントがGCQ、
GTO及びGPQについても適用できる。
【0155】 データ・ストア・コプロセッサの目的は、メディアから受信されたフレームを
含むアップ・データ・ストアと、及びPrizma Atlanticから受信
される再組み立て済みフレームを含むダウン・データ・ストアとインタフェース
することである。
【0156】 データ・ストア・コプロセッサはまた、タイマ・イベントまたは割込みのディ
スパッチの間に、構成情報を受信する。
【0157】 データ・ストア・コプロセッサは、フレーム上のチェックサムを計算できる。
【0158】 データ・ストア・コプロセッサはFISHプール(8FISHを保持できる)
と、スクラッチ・メモリ(8FISHを保持できる)と、アップまたはダウン・
データベースからFISHプール内容を読み書きする幾つかの制御レジスタとを
含む。FISHプールは、データ・ストアのためのある種の作業領域とみなされ
る。すなわち、データ・ストアを直接読み書きする代わりに、大量のフレーム・
データがデータ・ストアからFISHプールに読出されるか、大量のデータがF
ISHプールからデータ・ストアに書込まれる。転送の単位はFISHすなわち
16バイトである。
【0159】 FISHプールは、8FISH、すなわち各々が128ビットの8ワード分を
含むことができるメモリとみなされる。CLPプロセッサ・アーキテクチャでは
、FISHプールは128バイトのレジスタ・アレイである。FISHプール内
の各バイトは、7ビット・バイト・アドレス(0乃至127)を有し、アクセス
は16ビットまたは32ビット・ベースで行われる。全てのレジスタ・アレイ同
様、FISHプールは循環アドレス方式を有する。すなわち、FISHプール内
のロケーション126で開始するワード(すなわち4バイト)のアドレス指定は
、バイト126、127、0及び1を返却する。更に、データ・ストア・コプロ
セッサの観点から、FISHプール内のFISHロケーションは、3ビットのF
ISHアドレスを有する。
【0160】 フレーム・ディスパッチに際して、フレームの最初のN個のFISHが、ディ
スパッチャにより自動的にFISHプールにコピーされる。Nの値は、ポート構
成メモリ(PortConfigMemory)内でプログラマブルである。一般に、アップ・フ
レーム・ディスパッチでは、Nは4に等しく、ダウン・ユニキャスト・フレーム
・ディスパッチでは2で、ダウン・マルチキャスト・フレーム・ディスパッチで
は4で、割込み及びタイマでは0である。
【0161】 ピココードはフレームからより多くのバイトを読出すことができ、この場合、
データ・ストア・コプロセッサが自動的に、フレーム・データをFISHプール
内の次のFISHアドレスに読出し、FISHプールの境界に達すると、自動的
に0に循環する。また、ピココードはアップ/ダウン・データ・ストアを絶対ア
ドレスにおいて読み書きすることもできる。
【0162】 ウェブ・コプロセッサはEPCウェブ・アービタとインタフェースする。EP
Cウェブ・アービタは10個のGxHとウェブウォッチャとの間で、インタフェ
ース装置のウェブ・インタフェース上でマスタになるものを調停する。これは全
てのGxHがウェブ上で読み書きすることを可能にする。
【0163】 インタフェース装置のメモリ・コンプレックスは、図13に示される組み込み
プロセッサ・コンプレックス(EPC)の記憶機構を提供する。メモリ・コンプ
レックスはツリー構造探索メモリ(TSM)アービタと、複数のオンチップ及び
オフチップ・メモリを含む。メモリはツリー構造、カウンタ、及びピココードに
よりメモリ・アクセスを要求される他のものを記憶する。更に、メモリはフリー
・リストやキュー制御ブロックなど、ハードウェアにより使用されるデータ構造
を記憶するために使用される。ツリーのために割当てられない、またはハードウ
ェアにより使用されないメモリ・ロケーションは、デフォルトでは、ピココード
がカウンタやエージング・テーブルとして使用することができる。
【0164】 図16は、メモリ・コンプレックスの詳細ブロック図を示す。ツリー構造探索
メモリ(TSM)アービタが、組み込みプロセッサ(GxH)とメモリとの間の
通信リンクを提供する。メモリは5個のオンチップSRAMと、1個のオフチッ
プSRAMと、7個のオフチップDRAMとを含む。TSMアービタは、10個
の要求制御ユニット(各々が組み込みプロセッサGxHの1つに接続される)と
、13個のメモリ・アービタ・ユニット(各々が各メモリに対応する)とを含む
。各制御ユニット及びその接続されるGxHが、全てのメモリをアクセスできる
ように、バス構造が要求制御ユニット及びアービタ・ユニットを相互接続する。
【0165】 制御ユニットは、組み込みプロセッサ(GxH)とアービタとの間で、データ
を方向付けするために必要なハードウェアを含む。
【0166】 SRAMアービタ・ユニットはとりわけ、組み込みプロセッサGxHとオンチ
ップ及びオフチップSRAMとの間の、データのフローを管理する。
【0167】 DRAMアービタ・ユニットはとりわけ、組み込みプロセッサGxHとオフチ
ップDRAM素子との間のデータのフローを管理する。
【0168】 各メモリ・アービタは"バックドア"(back-door)アクセスを含み、これは一
般にチップの他の部分により使用され、最も高いアクセス優先順位を有する。
【0169】 DRAMメモリは2つの動作モードで実行できる。すなわち、 1)TDMモード:DRAM内の4つのバンクへのメモリ・アクセスが、読出
しウィンドウ及び書込みウィンドウを交互することにより実行される。読出しウ
ィンドウでは、4つのバンクのいずれかへのアクセスが読出し専用であり、書込
みウィンドウでは、4つのバンクのいずれかへのアクセスが書込み専用である。
複数のDRAMに対してTDMモードを使用することにより、DRAM間で幾つ
かの制御信号を共用することが可能になり、希少資源である幾つかのチップ入出
力を節約できる。
【0170】 2)非TDMモード:DRAM内の4つのバンクへのメモリ・アクセスが、読
出しと書込みの組み合わせとなり得、これは特定の規則に従わねばならない。例
えば、アクセス・ウィンドウ内で、バンクAでは読出しを、バンクCでは書込み
を実行できる。
【0171】 TSMアービタは、N個のリクエスタが同時にM個のメモリをアクセスするこ
とを可能にする。複数のリクエスタが同一のメモリをアクセスしたい場合、ラウ
ンドロビン・アービトレーションが実行される。
【0172】 M個のメモリは異なるプロパティを有することができる。現インプリメンテー
ションでは、3つのメモリ・タイプ、すなわち、内部SRAM、外部SRAM、
及び外部DRAMが存在する。
【0173】 M個のメモリ及びNリクエスタは同種(homogeneous)であり、任意のリクエ
スタが任意のメモリをアクセスできる。
【0174】 一部のメモリは複数のサブメモリ(DRAM内の4つのバンクなど)に論理的
に分割され、これらは論理的に同時にアクセスできる。
【0175】 M個のメモリの一部は、内部的に使用されるデータ構造を含む制御メモリとし
て使用され、これらはピコプロセッサと比較して、高い優先アクセスを有する。
このことはまたチップのでバッグを可能にする。なぜなら、ピコプロセッサは制
御メモリの内容を読出すことができるからである。
【0176】 アービタは読出しアクセス、書込みアクセス、及びread-add-writeをサポート
する。それにより、Nビット整数がアトミック演算において、メモリの内容に追
加される。
【0177】 また、メモリ内のオブジェクトの物理ロケーションが透過的となるように、汎
用アドレス方式が、M個のメモリをアクセスするために使用される。
【0178】 ツリーの概念は、ツリー構造探索エンジンにより、情報を記憶及び検索するた
めに使用される。検索、すなわちツリー探索及び挿入並びに削除は、キーにもと
づき実行される。ここでキーは、例えばMACソース・アドレスのようなビット
・パターンであるか、IPソース・アドレスとIP宛先アドレスの連結である。
少なくともキーを含む情報が、リーフと呼ばれる制御ブロック内に記憶される(
後述のように、記憶ビット・パターンは実際にはハッシュ・キーである)。リー
フは更に、エージング情報などの追加の情報や、ターゲット・ブレード及びター
ゲット・ポート番号などの情報を転送するユーザ情報を含み得る。
【0179】 3つのタイプ(FM、LPM、SMT)、及び関連ツリー・タイプ探索、すな
わち、固定マッチ、ソフトウェア管理ツリー、及び最長プレフィックス・マッチ
が存在する。ツリー探索の間にリーフをチェックするオプションの追加の基準は
、ベクトルマスクである。ローピング、エージング及びラッチは、探索性能を向
上させるために使用される。
【0180】 FMツリーの探索アルゴリズムが、図17に示される。探索アルゴリズムはキ
ーを含む入力パラメータに作用し、キーにハッシュを実行し、ダイレクト・テー
ブル(DT)をアクセスし、パターン探索制御ブロック(PSCB)を通じてツ
リーを探索し、リーフに行き着く(図17)。3つのタイプのツリーが存在し、
各々は異なる規則に従いツリー探索を発生させる独自の探索アルゴリズムを有す
る。例えば、固定マッチ(FM)ツリーでは、データ構造がパトリシア・ツリー
である。リーフが見いだされるとき、このリーフは入力キーに一致する唯一の可
能な候補である。ソフトウェア管理ツリーでは、リンク・リスト内でチェーニン
グされる複数のリーフが存在し得る。この場合、一致が見いだされるか、チェー
ンが尽きるまで、チェーン内の全てのリーフが入力キーと符合される。入力キー
をリーフに記憶されるパターンと比較するいわゆる"最終比較"(compare at the
end)操作が、リーフが真に入力キーに一致するか否かを確認する。リーフが見
いだされ、一致が発生するとき、探索結果はOKであり、他の全ての場合にはK
Oである。
【0181】 探索操作への入力は、次のパラメータを含む。すなわち、 キー(128ビット):キーは探索(または挿入/削除)の前に、特殊なピコ
コード命令を用いて作成される。1つのキー・レジスタだけが存在する。しかし
ながら、ツリー構造探索が開始されると、キー・レジスタはTSEが探索を実行
するのと並行して、ピココードにより、次の探索のキーを作成するために使用さ
れる。これはTSEがキーをバッシュ(bash)し、結果を内部ハッシュドキー・
レジスタに記憶することによる(従って、実際には2つのキー・レジスタが存在
する)。
【0182】 キー・レングス(7ビット):このレジスタはキーの長さを含み、ビットで表
す。これはキーの作成の間に、ハードウェアにより自動的に更新される。
【0183】 LU定義指標(LUDefindex)(8ビット):これは探索が発生するツリーの完
全な定義を含むLU定義テーブル(LUDefTable)への指標である。LU定義テー
ブルは以下で詳述される。
【0184】 TSRNr(1ビット):探索結果はツリー探索結果領域0(TSR0)また
はTSR1に記憶される。これはTSRNrにより指定される。TSEが探索を
行っている間、ピココードは他のTSRをアクセスし、前の探索の結果を分析す
ることができる。
【0185】 ベクトル指標(6ビット):ベクトルマスクをイネーブルされるツリーでは(
LU定義テーブル内で指定される)、ベクトル指標がベクトルマスク内のビット
を示す。探索の終わりに、このビットの値が返却され、ピココードにより使用さ
れる。
【0186】 図17に示されるように、入力キーはハッシュドキーにハッシュされる。使用
可能な6つの固定ハッシュ・アルゴリズムが存在する(1つの"アルゴリズム"は
ハッシュ関数を実行しない)。どのアルゴリズムが使用されるかについては、L
U定義テーブル内で指定される。プログラマブル・ハッシュ関数が、柔軟性を追
加するために使用され得る。
【0187】 ハッシュ関数の出力は常に128ビット数であり、オリジナル入力キーとハッ
シュ関数の出力との間には、1対1対応が存在する。後述のように、この特性は
ダイレクト・テーブルの後で開始するツリーの深さを最小化する。
【0188】 図17の場合のように、カラーがツリーに対して許可される場合、16ビット
・カラー・レジスタが128ビット・ハッシュ関数出力に挿入される。挿入はダ
イレクト・テーブルの直後に発生する。すなわち、図示のように、ダイレクト・
テーブルが2N個のエントリを含む場合、16ビット・カラー値がビット位置N
に挿入される。ハッシュ関数の出力は、挿入されるカラー値(イネーブルされる
場合)と一緒に、ハッシュドキー・レジスタに記憶される。
【0189】 ハッシュ関数は、その出力内のほとんどのエントロピが最上位ビット側に存在
するように定義される。ハッシュドキー・レジスタの最上位Nビットは、ダイレ
クト・テーブル(DT)への指標を計算するために使用される。
【0190】 探索はダイレクト・テーブルへのアクセスにより開始する。すなわち、ダイレ
クト・テーブル(DT)エントリがダイレクト・テーブルから読出される。DT
エントリを読出すために使用されるアドレスは、ハッシュドキーの最上位Nビッ
トから計算され、LU定義テーブル内で定義されるツリー属性に関しても同様で
ある。これについては以下で詳述される。DTエントリはツリーのルートとみな
される。使用される特定のツリー・データ構造は、ツリー・タイプに依存する。
この時点では、パトリシア・ツリー・データ構造がFMツリーとして、及びLP
M及びSMTツリーのためのパトリシア・ツリーの拡張として使用されることを
述べれば十分であろう。
【0191】 8エントリ・ダイレクト・テーブル(DT)の使用例が、図18に示される。
DTを使用することにより、探索時間(すなわち、アクセスされなければならな
いPSCBの数)が低減される。従って、DTサイズを増加することにより、メ
モリ使用と探索性能との間でトレードオフが生じる
【0192】 図18から明らかなように、DTエントリは次の情報を含む。すなわち、 1)エンプティ:このDTエントリに接続されるリーフは存在しない。 2)リーフを指し示すポインタ:このDTエントリに接続される1つのリーフ
が存在する。 3)PSCBを指し示すポインタ:このDTエントリに接続される2つ以上の
リーフが存在する。DTエントリはツリーのルートを定義する。
【0193】 ソフトウェア管理ツリーの探索アルゴリズム、及びツリーを生成するアルゴリ
ズムが、米国特許出願第09/312148号で述べられている。
【0194】 "選択ビット・アルゴリズム"と称されるアルゴリズムは、特定のメトリックを
使用し、規則のセットまたは領域内の"ルール"と称されるアイテムから選択され
るビットにもとづき、二分探索ツリーを作成する。ここで述べる全ての例は、イ
ンターネット・プロトコル(IP)ヘッダに関連して議論されるが、任意のタイ
プの固定フォーマット・ヘッダが代わりに使用され得る。
【0195】 IPでは、各ルールは次のサブセクション、すなわちソース・アドレス(SA
)、宛先アドレス(DA)、ソース・ポート(SP)、宛先ポート(DP)、及
びプロトコル(P)で作成される、特定のキーに関する。これらのデータはそれ
ぞれ32、32、16、16及び8ビット長であり、従ってテストされるキーは
104ビットから成る。選択ビット・アルゴリズムは、104ビットの内の特に
有用な幾つかのビットを見いだす。実際に2、3のビットをテストすることは、
1つのルールを除く全てを、または2、3のルールを除く全てを、可能なアプリ
ケーションから削除する。一部のルールでは、単純な比較操作による不等テスト
もまたふさわしい。ビット・テスト及び比較は、二分木において論理的に編成さ
れる。ツリーは、ビットを高速にテスト可能なハードウェア構造にマップされる
。こうしたテストの結果、キーが適合する1つのルールまたは少数のルール(リ
ーフ・チェーンと呼ばれる)が生成される。前者の場合、キーがルールにより詳
細にテストされる。後者の場合、比較及び完全ルール・テストにより、キーがテ
ストの枠内でテストされる。
【0196】 ルール・セット内の各ルールは、規則がキーに適合する最高優先順位の規則の
場合に取られるアクションに関連付けられる。ルールは交差する(すなわち、1
つのキーが2つまたはそれ以上のルールに適合する)。その場合、ルールは優先
順位番号1、2、3、・・・を与えられ、任意の2つの交差するルールが異なる
優先順位を有する(キーが2つ以上のルールに適合する場合、管理者はどのルー
ルが上位になるかを宣言しなければならない)。従って、ビット・テスト及び比
較後に、依然2つ以上のルールがテストされる場合、ルールは優先順位に従いテ
ストされる。低い優先順位番号が、高い優先順位のルールを指定する。
【0197】 全く適合が見いだされない場合、デフォルト規定が指定される。
【0198】 最長プレフィックス・マッチング法の探索アルゴリズムが、米国特許第578
7430号で述べられている。この方法は、前記データベースのノード(ルート
ノード)において入力するステップと、次の(子)ノードを識別するのに必要な
エントリ部分だけを含む探索引数のセグメントと、第2のリンク情報とを、前記
セグメントが消費されるか、前記第2のリンク情報を欠く(リーフ)ノードに達
するまで連続的に処理することにより、ツリー状データベースを通じてあるノー
ドから別のノードへの探索パスを決定するステップと、前記探索引数を、前記探
索パスが終了するノードに記憶されるエントリと比較するステップと、前記現ノ
ードにおいて、前記探索引数と前記エントリとの間に、少なくとも部分的な一致
が見いだされない場合、前記現ノードの第1のリンク情報を処理することにより
、前記探索パスを後戻りするステップと、前記少なくとも部分的な一致が見いだ
されるか、または前記ルート・ノードに達するまで、前の2つのステップを繰り
返すステップとを含む。
【0199】 図19は、メイン・スイッチング・ファブリック装置の実施例を示す。好適に
は、各インタフェース素子チップは、少なくとも2つの集積化並列直列変換ポー
トを有し、これらは並列データを受信して、それを高速直列データ・ストリーム
に変換する。そして、直列データがシリアル・リンクを介して、スイッチング・
ファブリック装置に転送される。高速シリアル・リンクを介してスイッチング・
ファブリック装置から受信されるデータは、別のDASLにより、並列データに
変換される。データ・アライン・シリアル・リンク(DASL)と称されるシリ
アライザ/デシリアライザの実施例が、ここでは述べられる。
【0200】 少なくとも1つのDASLが、スイッチング・ファブリック装置をシリアル・
リンクにインタフェースする。シリアル・リンクからのデータは、並列データに
変換され、これがスイッチング・ファブリック装置に転送する。同様に、スイッ
チング・ファブリック装置からの並列データは直列データに変換され、シリアル
・リンクに転送される。シリアル・リンクはスループットを向上するために集約
される。
【0201】 図19を更に参照すると、スイッチング・システムはスイッチ・ファブリック
11と、スイッチ・ファブリック入力ポート15(15−1,..,15−k)
に接続される入力スイッチ・アダプタ13(13−1,..,13−k)と、ス
イッチ・ファブリック出力ポート19(19−1,..,19−p)に接続され
る出力スイッチ・アダプタ17(17−1,..,17−p)とを含む。
【0202】 着信及び発信伝送リンク21(21−1,..,21−g)及び23(23−
1,..,23−r)は、それぞれ回線(リンク)アダプタ25(25−1,2
5−g)及び27(27−1,..,27−r)により、スイッチ・システムに
接続される。伝送リンクは、ワークステーションや電話器などの接続ユニット(
リンク指定WS)に、或いはローカル・エリア・ネットワーク(リンク指定LA
N)に、更にサービス統合デジタル網(ISDN)(リンク指定ISDN)や他
の通信システムに、回線交換またはパケット交換トラフィックを伝搬する。更に
、プロセッサはスイッチ・アダプタ13及び17に直接接続される。回線アダプ
タ(LA)及びスイッチ・アダプタ(SA)は、共通のインタフェースを有する
【0203】 入力スイッチ・アダプタでは、パケット交換及び回線交換インタフェースから
様々なサービスが収集され、一様なミニパケット(幾つかの可能な固定長の1つ
を有する)に変換される。ルーティング情報を含むヘッダは、スイッチの要求出
力ポート(及び出力リンク)を指定する。入力スイッチ・アダプタ内でのミニパ
ケット・フォーマット及びミニパケット生成に関する詳細、及び出力スイッチ・
アダプタ内でのパケット解除に関する詳細について、次に述べることにする。
【0204】 スイッチ・ファブリックはミニパケットを、高速自己ルーティング相互接続ネ
ットワークを介して、任意の入力ポートから任意の出力ポートに経路指定する。
自己ルーティング・ネットワークの構造は、ミニパケットが競合無しに、内部的
に同時に経路指定されることである。
【0205】 スイッチング・システムの心臓部は、スイッチ・ファブリックである。2つの
異なるインプリメンテーションが考慮され、これらについて次に述べる。1イン
プリメンテーションでは、スイッチ・ファブリックは、各入力ポートに対して、
それぞれの入力ポートを全ての出力ポートに接続する自己ルーティング二分木を
含み、(k個の入力ポートが提供される場合、)k個のこうした二分木が組み合
わされて提供される。他のインプリメンテーションでは、出力RAMを有するバ
ス構造が、各出力構造に対してスライスとして提供され、全ての入力ポートをそ
れぞれの出力ポートに接続する。(p個の出力ポートが提供される場合、)スイ
ッチ・ファブリックは、p個のこうしたスライスを組み合わせて提供される。
【0206】 DASLについては、1999年6月11日出願の米国特許出願第09/33
0968号で述べられている。DASLインタフェースは、CMOS ASIC
などのパラレル・インタフェースからデータを受信し、パラレル・インタフェー
スからのビットを、少数の並列ビット・ストリームに区分化する。少数の並列ビ
ット・ストリームが次に高速直列ストリームに変換され、これが伝送メディアを
介して、他のモジュールの受信機に移送される。制御インピーダンスを有する差
動ドライバが、データの直列ビット・ストリームを伝送メディアに駆動する。
【0207】 DASLは、Nビット並列データとして表されるデータ・ストリームを、各々
がnビット(但しnはNの分数)を有する複数の部分に構文解析し、データ・ス
トリームの各nビット部分を直列化し、直列化された各部分を複数の並列チャネ
ルの対応するチャネルを介して転送し、データ・ストリームの各転送部分を非直
列化し、データ・ストリームをNビット並列データとして復元する。
【0208】 以上、図面を参照しながら、本発明の好適な実施例について述べてきた。説明
の中で使用された特定の用語は総称的な意味を成すもので、限定的な意味で使用
されるものではない。
【図面の簡単な説明】
【図1】 本発明に従うインタフェース装置のブロック図である。
【図2】 MACのブロック図である。
【図3】 異なるシステム構成内の他のコンポーネントと相互接続されるインタフェース
装置を示す図である。
【図4】 カプセル化されたガイド・フレームのフロー及び処理を示す図である。
【図5】 内部ガイド・フレームのフロー及び処理を示す図である。
【図6】 ガイド・セルの汎用フォーマットを示す図である。
【図7】 フレーム制御情報のフォーマットを示す図である。
【図8】 相関関係子のフォーマットを示す図である。
【図9】 コマンド制御情報フォーマットを示す図である。
【図10】 アドレッシング情報フォーマットを示す図である。
【図11】 構造アドレッシングの汎用形式を示す図である。
【図12】 アドレッシング、アイランド・エンコードを示す表である。
【図13】 組み込みプロセッサ・コンプレックスのブロック図である。
【図14】 組み込みプロセッサの概略図である。
【図15】 GxHプロセッサの構造を示す図である。
【図16】 メモリ・コンプレックスのブロック図である。
【図17】 固定マッチ(FM)検索アルゴリズムのフローチャートである。
【図18】 ダイレクト・テーブルを使用する場合と、使用しない場合のデータ構造を示す
フローである。
【図19】 Prizmaなどのスイッチング・システムのブロック図である。
【図20】 CPのブロック図である。
【図21】 EDS−UP、EDS DOWN及びEPCにおける、シングルチップ・ネッ
トワーク・プロセッサの強調表示機能のブロック図である。
【符号の説明】
10、38 インタフェース装置 12 組み込みプロセッサ・コンプレックス(EPC) 14 多重化MACアップ(PPM−UP)、多重化MAC 16 エンキュー−デキュー−スケジューリング・アップ(EDS−UP) 18 スイッチ・データ・ムーバ・アップ(SDM−UP) 20、30 システム・インタフェース(SIF) 22 データ・アライン・シリアル・リンクA(DASLA) 24 データ・アライン・シリアル・リンクB(DASLB) 32 SDM−DN 34 EDS−DN 36 イーグレス・イーサネット(R)MAC 40 トラフィック管理スケジューラ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 バス、ブライアン、ミッチェル アメリカ合衆国27502、ノース・カロライ ナ州アペックス、オールド・スターブリッ ジ・ドライブ 4021 (72)発明者 カルビンナック、ジーン、ルイス アメリカ合衆国27511、ノース・カロライ ナ州カーリー、スプリング・ホロー・レー ン 112 (72)発明者 ガウアー、サントッシュ、プラサッド アメリカ合衆国27614、ノース・カロライ ナ州ラーレー、ピークトン・ドライブ 5516 (72)発明者 ヘデス、マルコ、シィ アメリカ合衆国27612、ノース・カロライ ナ州ラーレー、グランド・メナー・コート 4109、ナンバー 308 (72)発明者 シーゲル、マイケル、スティーブン アメリカ合衆国27613、ノース・カロライ ナ州ラーレー、ロワリー・ドライブ 10625 (72)発明者 ヴァープランケン、ファブリス、ジーン フランス06610、ラ・ゴード、ルート・ ド・カーニュ 9152 Fターム(参考) 5B045 EE29 GG07 HH02 5K030 HA08 HB01 KA01 KA02

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 データ・フローのための入力ポート及び出力ポートを有し、識別可能なアドレ
    スから装置に送られて来るデータを、前記装置から識別アドレスに転送するよう
    に指示する自己ルーティング・スイッチング・ファブリック装置と、 制御点プロセッサと、 前記スイッチング・ファブリック装置と、前記制御点プロセッサとに動作的に
    接続される複数のインタフェース装置と を含み、前記インタフェース装置の各々が、 半導体基板と、 前記基板上に形成される少なくとも5個のインタフェース・プロセッサと、 前記インタフェース・プロセッサによりアクセスされる命令を記憶する、前記
    基板上に形成される内部命令メモリと、 前記インタフェース装置を通過し、前記インタフェース・プロセッサによりア
    クセスされるデータを記憶する、前記基板上に形成されるデータ・メモリと、 前記基板上に形成される複数の入出力ポートと を含み、 前記入出力ポートの少なくとも1つが、前記データ・メモリを外部データ・メ
    モリに接続し、 他の少なくとも2つの前記入出力ポートが、前記インタフェース・プロセッサ
    の指示の下で、前記インタフェース装置を通過するデータを外部ネットワークと
    交換し、 前記制御点プロセッサが前記インタフェース装置と協働して、前記インタフェ
    ース・プロセッサにより実行される命令を前記命令メモリにロードし、前記命令
    が実行されて、前記入出力ポート間でのデータの交換、及び前記データ・メモリ
    を介するデータの流れを指示し、 前記複数のインタフェース装置が前記スイッチング・ファブリック装置の前記
    入力ポート及び出力ポートの各々に動作的に接続される装置。
  2. 【請求項2】 前記装置に転送されるデータが、前記インタフェース装置を通過して、前記ス
    イッチング・ファブリック装置に送られる、請求項1記載の装置。
  3. 【請求項3】 前記装置から転送されるデータが、前記インタフェース装置を通過して、前記
    スイッチング・ファブリック装置から出力される、請求項1記載の装置。
  4. 【請求項4】 前記装置に転送されるデータが、前記インタフェース装置を通過して、前記ス
    イッチング・ファブリック装置に送られ、前記装置から転送されるデータが、前
    記インタフェース装置を通過して、前記スイッチング・ファブリック装置から出
    力される、請求項1記載の装置。
  5. 【請求項5】 データ・フローのための入力ポート及び出力ポートを有し、識別可能なアドレ
    スから装置に送られて来るデータを、前記装置から識別アドレスに転送するよう
    に指示する自己ルーティング・スイッチング・ファブリック装置と、 制御点プロセッサと、 前記スイッチング・ファブリック装置と、前記制御点プロセッサとに動作的に
    接続されるインタフェース装置と を含み、前記インタフェース装置が、 半導体基板と、 前記基板上に形成される少なくとも5個のインタフェース・プロセッサと、 前記インタフェース・プロセッサによりアクセスされる命令を記憶する、前記
    基板上に形成される内部命令メモリと、 前記インタフェース装置を通過し、前記インタフェース・プロセッサによりア
    クセスされるデータを記憶する、前記基板上に形成される内部データ・メモリと
    、 前記基板上に形成される複数の入出力ポートと を含み、 前記入出力ポートの少なくとも1つが、前記データ・メモリを外部データ・メ
    モリに接続し、 他の少なくとも2つの前記入出力ポートが、前記インタフェース・プロセッサ
    の指示の下で、前記インタフェース装置を通過するデータを外部ネットワークと
    交換し、 他の少なくとも2つの前記入出力ポートが、前記インタフェース装置と前記ス
    イッチング・ファブリック装置との間の高速相互接続を達成し、 前記制御点プロセッサが前記インタフェース装置と協働して、前記インタフェ
    ース・プロセッサにより実行される命令を前記命令メモリにロードし、前記命令
    が実行されて、前記入出力ポート間でのデータの交換、及び前記データ・メモリ
    を介するデータの流れを指示する装置。
  6. 【請求項6】 前記高速相互接続入出力ポートが、 Nビット並列データとして表されるデータ・ストリームを、各々がnビット(
    但しnはNの分数)を有する複数の部分に構文解析する論理回路と、 前記論理回路と通信して、前記データ・ストリームの各解析部分を直列化する
    シリアライザと、 前記シリアライザと通信して、データ・ストリームを転送する、各々が前記デ
    ータ・ストリームの前記解析部分の各々に関連付けられる、前記解析部分の数に
    等しい複数のチャネルと、 前記チャネルと通信し、該チャネルを介して転送される直列データ・ストリー
    ムを受信し、前記データ・ストリームをNビット並列データとして復元するデシ
    リアライザと を含む、請求項5記載の装置。
  7. 【請求項7】 制御点プロセッサと、 前記制御点プロセッサに動作的に接続されるインタフェース装置と を含み、前記インタフェース装置が、 半導体基板と、 前記基板上に形成される少なくとも5個のインタフェース・プロセッサと、 前記インタフェース・プロセッサによりアクセスされる命令を記憶する、前記
    基板上に形成される内部命令メモリと、 前記インタフェース装置を通過し、前記インタフェース・プロセッサによりア
    クセスされるデータを記憶する、前記基板上に形成される内部データ・メモリと
    、 前記基板上に形成される複数の入出力ポートと を含み、 前記入出力ポートの少なくとも1つが、前記データ・メモリを外部データ・メ
    モリに接続し、 他の少なくとも2つの前記入出力ポートが、前記インタフェース・プロセッサ
    の指示の下で、前記インタフェース装置を通過するデータを外部ネットワークと
    交換し、 前記制御点プロセッサが前記インタフェース装置と協働して、前記インタフェ
    ース・プロセッサにより実行される命令を前記命令メモリにロードし、前記命令
    が実行されて、前記入出力ポート間でのデータの交換、及び前記データ・メモリ
    を介するデータの流れを指示し、 前記インタフェース装置が2つの高速相互接続ポートを有し、前記高速相互接
    続ポートの各々が、 Nビット並列データとして表されるデータ・ストリームを、各々がnビット(
    但しnはNの分数)を有する複数の部分に構文解析する論理回路と、 前記論理回路と通信して、前記データ・ストリームの各解析部分を直列化する
    シリアライザと、 前記シリアライザと通信して、データ・ストリームを転送する、各々が前記デ
    ータ・ストリームの前記解析部分の各々に関連付けられる、前記解析部分の数に
    等しい複数のチャネルと、 前記チャネルと通信し、該チャネルを介して転送される直列データ・ストリー
    ムを受信し、前記データ・ストリームをNビット並列データとして復元するデシ
    リアライザと を含む装置。
  8. 【請求項8】 前記高速相互接続ポートの各々がお互いに接続され、前記インタフェース装置
    を通じるデータ・フローが、1つの前記インタフェース・プロセッサから、前記
    相互接続ポートを介して、別の前記インタフェース・プロセッサに至る、請求項
    7記載の装置。
  9. 【請求項9】 識別可能なアドレスから装置に送られて来るデータを、前記装置から識別アド
    レスに転送するように指示する自己ルーティング・スイッチング・ファブリック
    装置を含み、前記高速相互接続ポートの各々が前記スイッチング・ファブリック
    装置に接続され、前記装置を通過するデータ・フローが、1つの前記インタフェ
    ース・プロセッサから、前記スイッチング・ファブリック装置にインバウンド方
    向に送られ、前記スイッチング・ファブリック装置から、別の前記インタフェー
    ス・プロセッサを通じてアウトバウンド報告に送られる、請求項8記載の装置。
  10. 【請求項10】 N個(N>1)のプロセッサを含むプロセッサ・コンプレックスと、 複数の入出力ポートと、 前記入力ポートから受信されるイングレス・データを処理する少なくとも1つ
    のアップサイド・メディア・アクセス制御(MAC)モジュールと、 アップパス内に配置され、前記プロセッサ・コンプレックス及びアップサイド
    MACに動作的に接続されるアップサイド・エンキュー/デキュー・スケジュー
    ラと、 ダウンパス内に配置され、前記出力ポートに接続されて、イーグレス・データ
    を処理し、処理された前記データを前記出力ポートに転送する少なくとも1つの
    ダウンサイドMACと、 前記ダウンパス内に配置され、前記プロセッサ・コンプレックス及びダウンサ
    イドMACに動作的に接続されるダウンサイド・エンキュー/デキュー・スケジ
    ューラと、 前記アップサイド・エンキュー/デキュー・スケジューラ及びダウンサイド・
    エンキュー/デキュー・スケジューラに動作的に接続されるコネクタ・システム
    と を含み、単一のネットワーク・プロセッサまたはM個(M≧2)のネットワー
    ク・プロセッサ内の前記入出力ポートが動作的に相互接続され、データが前記単
    一のネットワーク・プロセッサまたはM個のネットワーク・プロセッサ内の前記
    入出力ポート間で交換される、スケーラブル・ネットワーク・プロセッサ。
  11. 【請求項11】 前記コネクタ・システムが、 並列入力及び直列出力を有し、アップサイドで接続される第1の変換モジュー
    ル及び第2の変換モジュールと、 直列入力及び並列出力を有し、ダウンサイドで接続される第3の変換モジュー
    ル及び第4の変換モジュールと を含む、請求項10記載のスケーラブル・ネットワーク・プロセッサ。
  12. 【請求項12】 単一ネットワーク・プロセッサの入出力ポートが結合されるとき、前記第1ま
    たは第2の変換モジュールの前記直列出力の少なくとも1つを、前記第3または
    第4の変換モジュールの前記直列入力の少なくとも1つに相互接続する伝送回線
    を含む、請求項11記載のスケーラブル・ネットワーク・プロセッサ。
  13. 【請求項13】 アップデータ・パス及びダウンデータ・パスを有する第1のネットワーク・プ
    ロセッサと、 アップデータ・パス及びダウンデータ・パスを有する第2のネットワーク・プ
    ロセッサと、 前記第1のネットワーク・プロセッサ及び第2のネットワーク・プロセッサの
    アップパス内に装填される直列出力を有する第1及び第2のモジュールと、前記
    第1のネットワーク・プロセッサ及び第2のネットワーク・プロセッサのダウン
    パス内に装填される直列入力を有する第3及び第4のモジュールとを含み、前記
    第1のネットワーク・プロセッサと前記第2のネットワーク・プロセッサとを相
    互接続するコネクタ・システムと、 アップサイドの前記モジュールの1つの前記直列出力を、前記第1のネットワ
    ーク・プロセッサのダウンサイドの前記モジュールの1つの前記直列入力に接続
    する第1の導体と、 アップサイドの前記モジュールの1つの前記直列出力を、前記第2のネットワ
    ーク・プロセッサのダウンサイドの前記モジュールの1つの前記直列入力に接続
    する第2の導体と、 前記第1のモジュールのアップサイドの他のモジュールの前記直列出力を、前
    記第2のモジュールのダウンサイドの他のモジュールの前記直列入力に接続する
    第3の導体と を含む装置。
  14. 【請求項14】 前記第2のネットワーク・プロセッサのアップサイドの前記モジュールの他の
    直列出力を、前記第1のネットワーク・プロセッサのダウンサイドの前記モジュ
    ールの前記直列出力に接続する第4の導体を含む、請求項13記載の装置。
  15. 【請求項15】 インタフェース装置の入力ポートを通じて、インバウンド・データ・フローを
    受信するステップと、 前記インタフェース装置に組み込まれる複数のインタフェース・プロセッサを
    通じて、前記インバウンド・データ・フローを伝達するステップと、 前記インバウンド・データ・フローを、スイッチング・ファブリック装置によ
    り指定変更される第1の部分と、前記スイッチング・ファブリック装置から離れ
    て一時的に記憶される第2の部分とに分割するステップと、 前記第1の部分を前記スイッチング・ファブリック装置に、前記第2の部分を
    メモリ素子に転送するステップと、 前記第1の部分を前記インタフェース装置において、前記スイッチング・ファ
    ブリック装置からのアウトバウンド・データ・フローとして受信するステップと
    、 前記第1及び第2の部分を再結合するステップと、 再結合されたデータ・フローを、前記インタフェース・プロセッサによる命令
    の実行に従い、出力ポートを通じて転送するステップと を含む方法。
  16. 【請求項16】 前記データ・フローを複数のインタフェース・プロセッサを通じて伝送するス
    テップが、 前記データ・フローを複数部分に構文解析するステップと、 構文解析された前記部分を並列処理するために、前記部分を前記複数のインタ
    フェース・プロセッサの間で分配するステップと を含む、請求項15記載の方法。
JP2001521005A 1999-08-27 2000-08-24 ネットワークのための装置およびスケーラブル・ネットワーク・プロセッサ Expired - Fee Related JP3872342B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/384,747 1999-08-27
US09/384,747 US6404752B1 (en) 1999-08-27 1999-08-27 Network switch using network processor and methods
PCT/US2000/020796 WO2001017179A1 (en) 1999-08-27 2000-08-24 Network switch using network processor and methods

Publications (2)

Publication Number Publication Date
JP2003508967A true JP2003508967A (ja) 2003-03-04
JP3872342B2 JP3872342B2 (ja) 2007-01-24

Family

ID=23518585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001521005A Expired - Fee Related JP3872342B2 (ja) 1999-08-27 2000-08-24 ネットワークのための装置およびスケーラブル・ネットワーク・プロセッサ

Country Status (9)

Country Link
US (3) US6404752B1 (ja)
EP (1) EP1208676B1 (ja)
JP (1) JP3872342B2 (ja)
KR (1) KR100506323B1 (ja)
CN (2) CN1181654C (ja)
AT (1) ATE431028T1 (ja)
DE (1) DE60042162D1 (ja)
HK (1) HK1069046A1 (ja)
WO (1) WO2001017179A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004242334A (ja) * 2003-02-07 2004-08-26 Fujitsu Ltd 高速交換環境でマルチキャストするシステム、方法及び論理

Families Citing this family (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985431B1 (en) * 1999-08-27 2006-01-10 International Business Machines Corporation Network switch and components and method of operation
US6751200B1 (en) * 1999-12-06 2004-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Route discovery based piconet forming
US6532509B1 (en) 1999-12-22 2003-03-11 Intel Corporation Arbitrating command requests in a parallel multi-threaded processing system
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6633920B1 (en) * 2000-01-07 2003-10-14 International Business Machines Corporation Method and system for network data flow management with improved completion unit
US7133931B1 (en) * 2000-01-07 2006-11-07 International Business Machines Corporation Method and system for making a frame alteration in a network processing system
DE10000960C1 (de) * 2000-01-12 2001-12-20 Infineon Technologies Ag Datenverarbeitungsvorrichtung
US6934260B1 (en) * 2000-02-01 2005-08-23 Advanced Micro Devices, Inc. Arrangement for controlling learning of layer 3 network addresses in a network switch
US6731644B1 (en) 2000-02-14 2004-05-04 Cisco Technology, Inc. Flexible DMA engine for packet header modification
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
US6721316B1 (en) 2000-02-14 2004-04-13 Cisco Technology, Inc. Flexible engine and data structure for packet header processing
US20020107990A1 (en) * 2000-03-03 2002-08-08 Surgient Networks, Inc. Network connected computing system including network switch
US20030236837A1 (en) * 2000-03-03 2003-12-25 Johnson Scott C. Content delivery system providing accelerate content delivery
US20030236919A1 (en) * 2000-03-03 2003-12-25 Johnson Scott C. Network connected computing system
US7164698B1 (en) 2000-03-24 2007-01-16 Juniper Networks, Inc. High-speed line interface for networking devices
US7139282B1 (en) 2000-03-24 2006-11-21 Juniper Networks, Inc. Bandwidth division for packet processing
US20050195743A1 (en) * 2000-04-03 2005-09-08 P-Cube Ltd. Real time charging of pre-paid accounts
US6947931B1 (en) * 2000-04-06 2005-09-20 International Business Machines Corporation Longest prefix match (LPM) algorithm implementation for a network processor
US7089240B2 (en) * 2000-04-06 2006-08-08 International Business Machines Corporation Longest prefix match lookup using hash function
US6675163B1 (en) * 2000-04-06 2004-01-06 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
US6898179B1 (en) * 2000-04-07 2005-05-24 International Business Machines Corporation Network processor/software control architecture
US6675223B1 (en) * 2000-04-10 2004-01-06 International Business Machines Corporation Method and apparatus for processing frames using static and dynamic classifiers
US7106730B1 (en) * 2000-04-11 2006-09-12 International Business Machines Corporation Method and apparatus for processing frame classification information between network processors
US6763375B1 (en) * 2000-04-11 2004-07-13 International Business Machines Corporation Method for defining and controlling the overall behavior of a network processor device
US7047317B1 (en) * 2000-06-14 2006-05-16 Altera Corporation High performance network address processor system
US6778534B1 (en) * 2000-06-30 2004-08-17 E. Z. Chip Technologies Ltd. High-performance network processor
US7126969B1 (en) * 2000-07-06 2006-10-24 Cisco Technology, Inc. Scalable system and method for reliably sequencing changes in signaling bits in multichannel telecommunication lines transmitted over a network
JP2002026973A (ja) * 2000-07-12 2002-01-25 Nec Corp 経路検索システム及びその方法並びにそれに使用するルータ装置
US6721313B1 (en) * 2000-08-01 2004-04-13 International Business Machines Corporation Switch fabric architecture using integrated serdes transceivers
US6865153B1 (en) * 2000-09-20 2005-03-08 Alcatel Stage-implemented QoS shaping for data communication switch
DE10059026A1 (de) * 2000-11-28 2002-06-13 Infineon Technologies Ag Einheit zur Verteilung und Verarbeitung von Datenpaketen
GB2377519B (en) * 2001-02-14 2005-06-15 Clearspeed Technology Ltd Lookup engine
US6987760B2 (en) 2001-03-05 2006-01-17 International Business Machines Corporation High speed network processor
US6940854B1 (en) * 2001-03-23 2005-09-06 Advanced Micro Devices, Inc. Systems and methods for determining priority based on previous priority determinations
US6766390B2 (en) * 2001-03-29 2004-07-20 Mitsubishi Denki Kabushiki Kaisha Inter-system connection adapter and terminal
US7398271B1 (en) * 2001-04-16 2008-07-08 Yahoo! Inc. Using network traffic logs for search enhancement
AU2002257444A1 (en) * 2001-05-17 2002-11-25 Solidum Systems Corporation Distributed packet processing system with internal load distribution
US7158517B2 (en) * 2001-05-21 2007-01-02 Intel Corporation Method and apparatus for frame-based protocol processing
US7362759B2 (en) * 2001-05-21 2008-04-22 Intel Corporation Method and apparatus for encoding information
US6834307B2 (en) * 2001-06-26 2004-12-21 Intel Corporation Event-based application layer switching for high-speed protocol processing
US20030016758A1 (en) * 2001-07-05 2003-01-23 David Wu Universal interface to external transceiver
US7126952B2 (en) * 2001-09-28 2006-10-24 Intel Corporation Multiprotocol decapsulation/encapsulation control structure and packet protocol conversion method
US7362751B2 (en) * 2001-10-03 2008-04-22 Topside Research, Llc Variable length switch fabric
US7046660B2 (en) * 2001-10-03 2006-05-16 Internet Machines Corp. Switching apparatus for high speed channels using multiple parallel lower speed channels while maintaining data rate
US7286534B2 (en) * 2001-11-02 2007-10-23 Infineon Technologies North America Corporation SRAM based cache for DRAM routing table lookups
US7203203B2 (en) * 2001-12-05 2007-04-10 Internet Machines Corp. Message ring in a switching network
US7042886B2 (en) * 2001-12-06 2006-05-09 P-Cube Ltd. Apparatus, method, and computer program for wire-speed classification and pre-processing of data packets in an ATM network
US7376767B1 (en) 2002-01-04 2008-05-20 Xilinx, Inc. Distributed buffering system having programmable interconnecting logic and applications thereof
US6967951B2 (en) * 2002-01-11 2005-11-22 Internet Machines Corp. System for reordering sequenced based packets in a switching network
US7680043B2 (en) * 2002-03-20 2010-03-16 International Business Machines Corporation Network processor having fast flow queue disable process
US7349466B2 (en) * 2002-03-28 2008-03-25 Seagate Technology Llc Parallel interface transmission using a single multi-frequency composite signal
US7359397B2 (en) * 2002-04-19 2008-04-15 Seagate Technology Llc Prioritizing transfers across an interface
US7254632B2 (en) * 2002-04-26 2007-08-07 P-Cube Ltd. Apparatus and method for pattern matching in text based protocol
US20070079077A1 (en) * 2002-04-29 2007-04-05 Baines Mandeep S System, method, and computer program product for shared memory queue
US7606248B1 (en) * 2002-05-10 2009-10-20 Altera Corporation Method and apparatus for using multiple network processors to achieve higher performance networking applications
US7320037B1 (en) * 2002-05-10 2008-01-15 Altera Corporation Method and apparatus for packet segmentation, enqueuing and queue servicing for multiple network processor architecture
US7339943B1 (en) 2002-05-10 2008-03-04 Altera Corporation Apparatus and method for queuing flow management between input, intermediate and output queues
US20030214949A1 (en) * 2002-05-16 2003-11-20 Nadim Shaikli System for reordering sequenced based packets in a switching network
US7336669B1 (en) 2002-05-20 2008-02-26 Altera Corporation Mechanism for distributing statistics across multiple elements
US7593334B1 (en) 2002-05-20 2009-09-22 Altera Corporation Method of policing network traffic
US6973503B2 (en) 2002-05-23 2005-12-06 International Business Machines Corporation Preventing at least in part control processors from being overloaded
WO2003101122A2 (en) * 2002-05-27 2003-12-04 Pei Chong Tang Method and apparatus for a hierarchial switched network system
TW561740B (en) * 2002-06-06 2003-11-11 Via Tech Inc Network connecting device and data packet transferring method
US7180862B2 (en) 2002-07-18 2007-02-20 Intel Corporation Apparatus and method for virtual output queue feedback
US7372864B1 (en) * 2002-08-01 2008-05-13 Applied Micro Circuits Corporation Reassembly of data fragments in fixed size buffers
US7467406B2 (en) * 2002-08-23 2008-12-16 Nxp B.V. Embedded data set processing
US6934252B2 (en) * 2002-09-16 2005-08-23 North Carolina State University Methods and systems for fast binary network address lookups using parent node information stored in routing table entries
US7120790B1 (en) * 2002-10-11 2006-10-10 Network General Technology Method and system for network traffic analysis with run-time behavioral enhancements
US7177930B1 (en) 2002-10-11 2007-02-13 Network General Technology Method and system for network traffic analysis with configuration enhancements
US20040081104A1 (en) * 2002-10-29 2004-04-29 Weimin Pan Method and system for network switch configuration
US20040098509A1 (en) * 2002-11-14 2004-05-20 Vic Alfano System for reordering sequenced based packet segments in a switching network
US20040098510A1 (en) * 2002-11-15 2004-05-20 Ewert Peter M. Communicating between network processors
US7308003B2 (en) * 2002-12-02 2007-12-11 Scopus Network Technologies Ltd. System and method for re-multiplexing multiple video streams
US7646716B2 (en) * 2002-12-20 2010-01-12 Intel Corporation Packet processing in a wireless network
US20040139063A1 (en) * 2003-01-14 2004-07-15 Reuven Moskovich Pipelined binary search machine
US7474672B2 (en) * 2003-02-11 2009-01-06 International Business Machines Corporation Frame alteration logic for network processors
US7343425B1 (en) * 2003-02-21 2008-03-11 Marvell International Ltd. Multi-speed serial interface for media access control and physical layer devices
US8190858B2 (en) 2003-02-25 2012-05-29 Topside Research, Llc Interface device for interfacing a main processor to processing engines and classifier engines, and methods for configuring and operating interface devices
US7990987B2 (en) * 2003-02-25 2011-08-02 Topside Research, Llc Network processor having bypass capability
KR20040083866A (ko) * 2003-03-25 2004-10-06 유티스타콤코리아 유한회사 소형 에이티엠 교환기에서 네트워크 프로세서를 이용한라인카드
US7278162B2 (en) * 2003-04-01 2007-10-02 International Business Machines Corporation Use of a programmable network processor to observe a flow of packets
US20040239507A1 (en) * 2003-05-29 2004-12-02 Neary Anton M. Method and apparatus for perimeter detection
US20040257990A1 (en) * 2003-06-19 2004-12-23 International Business Machines Corporation Interchassis switch controlled ingress transmission capacity
US7480720B2 (en) * 2003-06-25 2009-01-20 International Business Machines Corporation Method and system for load balancing switch modules in a server system and a computer system utilizing the same
WO2005008982A1 (en) * 2003-07-03 2005-01-27 Sinett Corporation Method of stacking multiple devices to create the equivalent of a single device with a larger port count
WO2005008981A1 (en) * 2003-07-03 2005-01-27 Sinett Corporation Apparatus for layer 3 switching and network address port translation
JP3842250B2 (ja) * 2003-07-08 2006-11-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 経路制御装置、経路制御方法及びそのプログラム
US20050044261A1 (en) * 2003-07-18 2005-02-24 Rahul Saxena Method of operating a network switch
EP1507368A1 (en) * 2003-08-13 2005-02-16 Alcatel High speed pipeline architecture with high update rate of associated memories
US7464181B2 (en) * 2003-09-11 2008-12-09 International Business Machines Corporation Method for caching lookups based upon TCP traffic flow characteristics
US7664823B1 (en) 2003-09-24 2010-02-16 Cisco Technology, Inc. Partitioned packet processing in a multiprocessor environment
US7421532B2 (en) 2003-11-18 2008-09-02 Topside Research, Llc Switching with transparent and non-transparent ports
US7454552B2 (en) * 2003-11-18 2008-11-18 Topside Research, Llc Switch with transparent and non-transparent ports
US7558890B1 (en) 2003-12-19 2009-07-07 Applied Micro Circuits Corporation Instruction set for programmable queuing
US7385985B2 (en) * 2003-12-31 2008-06-10 Alcatel Lucent Parallel data link layer controllers in a network switching device
US7426602B2 (en) * 2004-01-08 2008-09-16 Topside Research, Llc Switch for bus optimization
US7487542B2 (en) * 2004-01-14 2009-02-03 International Business Machines Corporation Intrusion detection using a network processor and a parallel pattern detection engine
CN100341275C (zh) * 2004-01-20 2007-10-03 华为技术有限公司 在网络交换机上处理复杂业务和扩展接口的系统
AU2005215043A1 (en) * 2004-02-19 2005-09-01 Georgia Tech Research Corporation Systems and methods for parallel communication
US7412431B2 (en) * 2004-04-27 2008-08-12 International Business Machines Corporation Method for managing multi-field classification rules relating to ingress
US20050286512A1 (en) * 2004-06-28 2005-12-29 Atul Mahamuni Flow processing
US7266548B2 (en) * 2004-06-30 2007-09-04 Microsoft Corporation Automated taxonomy generation
US7599361B2 (en) * 2004-07-02 2009-10-06 P-Cube Ltd. Wire-speed packet management in a multi-pipeline network processor
US7478426B2 (en) * 2004-07-20 2009-01-13 International Busines Machines Corporation Multi-field classification dynamic rule updates
US8886677B1 (en) 2004-07-23 2014-11-11 Netlogic Microsystems, Inc. Integrated search engine devices that support LPM search operations using span prefix masks that encode key prefix length
US7725450B1 (en) 2004-07-23 2010-05-25 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that maintain search coherence during multi-cycle update operations
US7747599B1 (en) 2004-07-23 2010-06-29 Netlogic Microsystems, Inc. Integrated search engine devices that utilize hierarchical memories containing b-trees and span prefix masks to support longest prefix match search operations
US7653619B1 (en) 2004-07-23 2010-01-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and tree maintenance sub-engines therein that support variable tree height
US7603346B1 (en) 2004-07-23 2009-10-13 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined search and b-tree maintenance sub-engines therein
US20060067314A1 (en) * 2004-09-29 2006-03-30 Michael Ho Overhead processing and generation techniques
US7533092B2 (en) * 2004-10-28 2009-05-12 Yahoo! Inc. Link-based spam detection
US7466715B2 (en) * 2005-03-28 2008-12-16 International Business Machines Corporation Flexible control block format for frame description and management
US7586936B2 (en) * 2005-04-01 2009-09-08 International Business Machines Corporation Host Ethernet adapter for networking offload in server environment
US7508771B2 (en) * 2005-04-01 2009-03-24 International Business Machines Corporation Method for reducing latency in a host ethernet adapter (HEA)
US7492771B2 (en) * 2005-04-01 2009-02-17 International Business Machines Corporation Method for performing a packet header lookup
US20060221953A1 (en) * 2005-04-01 2006-10-05 Claude Basso Method and apparatus for blind checksum and correction for network transmissions
US7697536B2 (en) * 2005-04-01 2010-04-13 International Business Machines Corporation Network communications for operating system partitions
US7706409B2 (en) * 2005-04-01 2010-04-27 International Business Machines Corporation System and method for parsing, filtering, and computing the checksum in a host Ethernet adapter (HEA)
US7903687B2 (en) * 2005-04-01 2011-03-08 International Business Machines Corporation Method for scheduling, writing, and reading data inside the partitioned buffer of a switch, router or packet processing device
US7881332B2 (en) * 2005-04-01 2011-02-01 International Business Machines Corporation Configurable ports for a host ethernet adapter
US7483429B2 (en) * 2005-05-18 2009-01-27 International Business Machines Corporation Method and system for flexible network processor scheduler and data flow
US20070027948A1 (en) * 2005-06-23 2007-02-01 International Business Machines Corporation Server blades connected via a wireless network
US20070016767A1 (en) * 2005-07-05 2007-01-18 Netdevices, Inc. Switching Devices Avoiding Degradation of Forwarding Throughput Performance When Downloading Signature Data Related to Security Applications
CN100442768C (zh) * 2005-08-05 2008-12-10 华为技术有限公司 一种在网络处理器中加载指令代码的方法和路由设备
US20070086456A1 (en) * 2005-08-12 2007-04-19 Electronics And Telecommunications Research Institute Integrated layer frame processing device including variable protocol header
US8441957B2 (en) * 2005-10-17 2013-05-14 Broadcom Corporation Apparatus and method of remote PHY auto-negotiation
KR100772172B1 (ko) * 2005-11-21 2007-10-31 한국전자통신연구원 실시간 멀티캐스트 패킷 스트림을 위한 이더넷 기반 스위칭방법 및 장치, 이를 구비한 이더넷 기반 스위칭 시스템
US7590137B1 (en) * 2005-11-22 2009-09-15 Xilinx, Inc. Parameterizable compact network processor for low-level communication with an integrated circuit
US7493503B2 (en) * 2005-12-22 2009-02-17 International Business Machines Corporation Programmable throttling in blade/chassis power management
US8429177B2 (en) * 2006-02-08 2013-04-23 Yahoo! Inc. Using exceptional changes in webgraph snapshots over time for internet entity marking
US7697518B1 (en) 2006-09-15 2010-04-13 Netlogic Microsystems, Inc. Integrated search engine devices and methods of updating same using node splitting and merging operations
JP2008078768A (ja) * 2006-09-19 2008-04-03 Denso Corp ネットワークシステム,ネットワークデバイスおよびプログラム
US7953721B1 (en) 2006-11-27 2011-05-31 Netlogic Microsystems, Inc. Integrated search engine devices that support database key dumping and methods of operating same
US7831626B1 (en) 2006-11-27 2010-11-09 Netlogic Microsystems, Inc. Integrated search engine devices having a plurality of multi-way trees of search keys therein that share a common root node
US7987205B1 (en) 2006-11-27 2011-07-26 Netlogic Microsystems, Inc. Integrated search engine devices having pipelined node maintenance sub-engines therein that support database flush operations
US8086641B1 (en) 2006-11-27 2011-12-27 Netlogic Microsystems, Inc. Integrated search engine devices that utilize SPM-linked bit maps to reduce handle memory duplication and methods of operating same
US7570640B2 (en) * 2007-04-09 2009-08-04 Hewlett-Packard Development Company, L.P. Locating original port information
US8290986B2 (en) * 2007-06-27 2012-10-16 Yahoo! Inc. Determining quality measures for web objects based on searcher behavior
US20090013033A1 (en) * 2007-07-06 2009-01-08 Yahoo! Inc. Identifying excessively reciprocal links among web entities
US7996520B2 (en) 2007-09-19 2011-08-09 Cisco Technology, Inc. Behavioral classification of communication sessions using active session initiation
US7886176B1 (en) 2007-09-24 2011-02-08 Integrated Device Technology, Inc. DDR memory system for measuring a clock signal by identifying a delay value corresponding to a changed logic state during clock signal transitions
JP5063293B2 (ja) * 2007-10-29 2012-10-31 古野電気株式会社 通信量制御システム、通信量制御システム用サーバ、および通信量制御システム用クライアント
US7826455B2 (en) * 2007-11-02 2010-11-02 Cisco Technology, Inc. Providing single point-of-presence across multiple processors
US7716204B1 (en) 2007-12-21 2010-05-11 Netlogic Microsystems, Inc. Handle allocation managers and methods for integated circuit search engine devices
US7801877B1 (en) 2008-04-14 2010-09-21 Netlogic Microsystems, Inc. Handle memory access managers and methods for integrated circuit search engine devices
EP2180750A1 (en) * 2008-10-23 2010-04-28 Thomson Licensing Selection of transmission slots of the relaxed deterministic back-off method in the medium access control
CN101783763B (zh) * 2009-01-16 2012-06-06 中兴通讯股份有限公司 防拥塞的处理方法及系统
US8842688B2 (en) * 2009-01-20 2014-09-23 The Regents Of The University Of California Reducing cabling complexity in large-scale networks
CN101616097B (zh) * 2009-07-31 2012-05-23 中兴通讯股份有限公司 一种网络处理器输出端口队列的管理方法及系统
US8687629B1 (en) * 2009-11-18 2014-04-01 Juniper Networks, Inc. Fabric virtualization for packet and circuit switching
US9203743B2 (en) * 2010-03-24 2015-12-01 Nec Corporation Packet forwarding system, control device, forwarding device and method and program for preparing processing rules
US9319335B1 (en) * 2010-12-07 2016-04-19 Pluribus Networks, Inc. Distributed operating system for a layer 2 fabric
US10122653B2 (en) 2011-04-28 2018-11-06 International Business Machines Corporation Energy management system for a data center network
US8621131B2 (en) * 2011-08-30 2013-12-31 Advanced Micro Devices, Inc. Uniform multi-chip identification and routing system
US10290606B2 (en) 2012-06-21 2019-05-14 Advanced Micro Devices, Inc. Interposer with identification system
US8923283B2 (en) * 2012-09-27 2014-12-30 Broadcom Corporation Scalable egress partitioned shared memory architecture
US8823426B2 (en) * 2012-10-24 2014-09-02 SK Hynix Inc. Deserializers
US9225808B1 (en) * 2012-11-15 2015-12-29 Qlogic, Corporation Systems and methods for processing information by a network device
US9485199B2 (en) * 2013-02-28 2016-11-01 Broadcom Corporation System and method for data flow identification and alignment in a 40/100 gigabit ethernet gearbox
US9753883B2 (en) * 2014-02-04 2017-09-05 Netronome Systems, Inc. Network interface device that maps host bus writes of configuration information for virtual NIDs into a small transactional memory
US9882748B2 (en) * 2014-03-10 2018-01-30 Intel Corporation Technologies for configuring transmitter equalization in a communication system
US10671459B2 (en) 2017-03-30 2020-06-02 Advanced Micro Devices, Inc. Method and apparatus for peer-to-peer messaging in heterogeneous machine clusters
RU2755987C1 (ru) * 2020-10-08 2021-09-23 Некоммерческое партнерство «Центр прикладных исследований компьютерных сетей» Способ организации сетевого процессорного устройства
CN113965244B (zh) * 2021-09-30 2023-05-30 西南电子技术研究所(中国电子科技集团公司第十研究所) 卫星通信可变编码调制分数帧处理方法
US20230236756A1 (en) * 2022-01-25 2023-07-27 Infineon Technologies Ag Buffer management in an ethernet switch

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4933846A (en) 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
US5222085A (en) * 1987-10-15 1993-06-22 Peter Newman Self-routing switching element and fast packet switch
EP0312628B1 (en) * 1987-10-20 1993-12-29 International Business Machines Corporation High-speed modular switching apparatus for circuit and packet switched traffic
US4969088A (en) 1988-04-26 1990-11-06 International Business Machines Corporation Hardware mechanism for automatically detecting hot-spot references and diverting same from memory traffic in a multiprocessor computer system
US5163149A (en) 1988-11-02 1992-11-10 International Business Machines Corporation Combining switch for reducing accesses to memory and for synchronizing parallel processes
DE68928980T2 (de) 1989-11-17 1999-08-19 Texas Instruments Inc Multiprozessor mit Koordinatenschalter zwischen Prozessoren und Speichern
US5438565A (en) * 1993-03-31 1995-08-01 At&T Corp. Packet switch to provide code division, multiple access cellular service
US5557609A (en) * 1993-12-01 1996-09-17 Kabushiki Kaisha Toshiba Switching apparatus for ATM
EP0804769B1 (en) 1994-06-30 2000-02-02 International Business Machines Corporation Variable length data sequence matching method and apparatus
US5666361A (en) 1995-04-05 1997-09-09 International Business Machines Corporation ATM cell forwarding and label swapping method and apparatus
US5724348A (en) 1995-04-05 1998-03-03 International Business Machines Corporation Efficient hardware/software interface for a data switch
US5802278A (en) 1995-05-10 1998-09-01 3Com Corporation Bridge/router architecture for high performance scalable networking
JP3365705B2 (ja) 1995-05-24 2003-01-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散型データ処理システム
KR970004518A (ko) * 1995-06-09 1997-01-29 김광호 광대역 정보통신 시스템에서 패킷전송을 위한 경로를 찾는 방법
US5664116A (en) 1995-07-07 1997-09-02 Sun Microsystems, Inc. Buffering of data for transmission in a computer communication system interface
US5841772A (en) * 1996-03-07 1998-11-24 Lsi Logic Corporation ATM communication system interconnect/termination unit
US5802052A (en) * 1996-06-26 1998-09-01 Level One Communication, Inc. Scalable high performance switch element for a shared memory packet or ATM cell switch fabric
KR100205062B1 (ko) * 1996-10-01 1999-06-15 정선종 계층 상호연결망을 위한 크로스바 라우팅 스위치
US6222380B1 (en) 1998-06-15 2001-04-24 International Business Machines Corporation High speed parallel/serial link for data communication
US6104696A (en) * 1998-07-08 2000-08-15 Broadcom Corporation Method for sending packets between trunk ports of network switches
US6298340B1 (en) 1999-05-14 2001-10-02 International Business Machines Corporation System and method and computer program for filtering using tree structure

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004242334A (ja) * 2003-02-07 2004-08-26 Fujitsu Ltd 高速交換環境でマルチキャストするシステム、方法及び論理

Also Published As

Publication number Publication date
WO2001017179A1 (en) 2001-03-08
US6842443B2 (en) 2005-01-11
CN1181654C (zh) 2004-12-22
US6404752B1 (en) 2002-06-11
CN1369160A (zh) 2002-09-11
KR20020027570A (ko) 2002-04-13
EP1208676A1 (en) 2002-05-29
CN1272946C (zh) 2006-08-30
EP1208676B1 (en) 2009-05-06
US20020061022A1 (en) 2002-05-23
JP3872342B2 (ja) 2007-01-24
EP1208676A4 (en) 2008-02-27
KR100506323B1 (ko) 2005-08-05
US6647004B2 (en) 2003-11-11
DE60042162D1 (de) 2009-06-18
US20020048270A1 (en) 2002-04-25
HK1069046A1 (en) 2005-05-06
CN1538693A (zh) 2004-10-20
ATE431028T1 (de) 2009-05-15

Similar Documents

Publication Publication Date Title
JP3872342B2 (ja) ネットワークのための装置およびスケーラブル・ネットワーク・プロセッサ
JP4066382B2 (ja) ネットワーク・スイッチ及びコンポーネント及び操作方法
JP3832816B2 (ja) ネットワーク・プロセッサ、メモリ構成及び方法
JP3817477B2 (ja) Vlsiネットワーク・プロセッサ及び方法
JP3807980B2 (ja) ネットワーク・プロセッサ処理コンプレックス及び方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050329

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050518

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050525

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20050902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050902

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060619

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: 20061010

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20061010

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061019

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: 20091027

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131027

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees