JP2003508851A - ネットワーク・プロセッサ、メモリ構成及び方法 - Google Patents

ネットワーク・プロセッサ、メモリ構成及び方法

Info

Publication number
JP2003508851A
JP2003508851A JP2001520663A JP2001520663A JP2003508851A JP 2003508851 A JP2003508851 A JP 2003508851A JP 2001520663 A JP2001520663 A JP 2001520663A JP 2001520663 A JP2001520663 A JP 2001520663A JP 2003508851 A JP2003508851 A JP 2003508851A
Authority
JP
Japan
Prior art keywords
memory
interface
data
frame
access
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
JP2001520663A
Other languages
English (en)
Other versions
JP3832816B2 (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 JP2003508851A publication Critical patent/JP2003508851A/ja
Application granted granted Critical
Publication of JP3832816B2 publication Critical patent/JP3832816B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5681Buffer or queue management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Saccharide Compounds (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)発明者 カルビンナック、ジーン、ルイス アメリカ合衆国27511、ノース・カロライ ナ州カーリー、スプリング・ホロー・レー ン 112 (72)発明者 ヘデス、マルコ、シィ アメリカ合衆国27612、ノース・カロライ ナ州ラーレー、グランド・メナー・コート 4109、ナンバー 308 (72)発明者 パテル、ピユッシュ、チュニラル アメリカ合衆国27513、ノース・カロライ ナ州カーリー、スモークマウント・ドライ ブ 105 (72)発明者 レビラ、ジュアン、グイラーモ アメリカ合衆国78739、テキサス州オース ティン、アウストラル・コーブ 10016 (72)発明者 シーゲル、マイケル、スティーブン アメリカ合衆国27613、ノース・カロライ ナ州ラーレー、ロワリー・ドライブ 10625 (72)発明者 ヴァープランケン、ファブリス、ジーン フランス06610、ラ・ゴード、ルート・ ド・カーニュ 9152 Fターム(参考) 5B045 BB12 DD01 EE03 EE12 GG07 5B060 KA07 5K030 GA01 HD03 KA02

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 複数の記憶モジュールと、 前記複数の記憶モジュールに動作的に接続され、複数のソースからの複数の
    要求に応答して、全てのまたは一部の前記記憶モジュールを同時にアクセスする
    メモリ制御装置と を含むメモリ・システム。
  2. 【請求項2】 前記複数の要求が同時に受信される、請求項1記載のメモリ・システム。
  3. 【請求項3】 前記メモリ制御装置に動作的に接続され、前記複数の要求を生成する複数のプ
    ロセッサを含む、請求項1または請求項2に記載のメモリ・システム。
  4. 【請求項4】 前記メモリ制御装置が、 各々が1つの前記記憶モジュールに動作的に接続され、前記1つの記憶モジュ
    ールへのアクセスを制御する複数のアービタと、 各々が前記プロセッサの1つから信号を受信し、前記記憶モジュールの1つへ
    のアクセスを示す記憶要求信号を生成するように、動作的に接続される複数の制
    御装置と、 前記制御装置の各々が、全てのまたは一部の前記記憶モジュールへのアクセス
    を有するように、前記制御装置及び前記アービタを動作的に接続するバス構造と を含む、請求項3記載のメモリ・システム。
  5. 【請求項5】 前記要素が統合される基板を含む、請求項4記載のメモリ・システム。
  6. 【請求項6】 前記メモリ・モジュールの各々が、特定タイプのデータ構造を記憶するように
    設計される異なるタイプである、請求項5記載のメモリ・システム。
  7. 【請求項7】 前記メモリ・モジュールがDRAM及びSRAMを含む、請求項6記載のメモ
    リ・システム。
  8. 【請求項8】 前記SRAMの一部及び少なくとも1個のDRAMが前記基板上に形成され、
    少なくとも1つのSRAM及び残りのDRAMが、前記基板の外部に配置される
    、請求項7記載のメモリ・システム。
  9. 【請求項9】 選択された前記メモリが、同時にアクセス可能な複数のサブメモリに区分化さ
    れる、請求項6記載のメモリ・システム。
  10. 【請求項10】 前記DRAMが4つのバンクに区分化される、請求項7記載のメモリ・システ
    ム。
  11. 【請求項11】 前記記憶モジュールがSRAM及びDRAMを含む、請求項1記載のメモリ・
    システム。
  12. 【請求項12】 SRAM及びメモリ制御装置が形成される基板を含む、請求項11記載のメモ
    リ・システム。
  13. 【請求項13】 DRAMが前記基板の外部に形成されるが、前記メモリ制御装置に動作的に接
    続される、請求項12記載のメモリ・システム。
  14. 【請求項14】 各DRAMが少なくとも4つのメモリ・バンクを含む、請求項11または請求
    項13に記載のメモリ・システム。
  15. 【請求項15】 各メモリ・バンクが別々にアドレス指定される、請求項14記載のメモリ・シ
    ステム。
  16. 【請求項16】 前記メモリ制御装置に動作的に接続され、メモリID+バンク番号+オフセッ
    ト値にもとづき、前記DRAM内のロケーションを識別するロケーション・ジェ
    ネレータを含む、請求項14記載のメモリ・システム。
  17. 【請求項17】 半導体基板と、 前記基板上に形成される少なくとも5個のインタフェース・プロセッサと、 前記インタフェース・プロセッサによりアクセス可能な命令を記憶する、前記
    基板上に形成される内部命令メモリと、 前記インタフェース・プロセッサの数に相関付けられる個数の複数のメモリ素
    子を有し、前記インタフェース装置を通過し、前記インタフェース・プロセッサ
    によりアクセス可能なデータを記憶する、前記基板上に形成される内部データ・
    メモリと、 前記インタフェース・プロセッサの各々と、前記メモリ素子との間に動作的に
    配置され、前記インタフェース・プロセッサから前記メモリ素子へのデータ要求
    のフローを制御する要求制御装置と、 前記インタフェース・プロセッサの各々が、複数の前記メモリ素子へのアクセ
    スを有し、前記メモリ素子の各々が、複数の前記インタフェース・プロセッサか
    らの要求に応答するように、前記メモリ素子の各々と、前記インタフェース・プ
    ロセッサとの間に動作的に配置され、前記インタフェース・プロセッサによる前
    記メモリ素子へのアクセスを制御するメモリ・アービタと、 前記データ・メモリを外部データ・メモリに接続する少なくとも1つの入出力
    ポートと、前記インタフェース・プロセッサの指示の下で、前記インタフェース
    装置を通過するデータを外部ネットワークと交換する、少なくとも2つの他の入
    出力ポートとを含む、前記基板上に形成される複数の入出力ポートと を含む装置。
  18. 【請求項18】 前記メモリ・アービタの各々が、単一インタフェース・プロセッサからの読出
    し要求に対して、最高優先順位のメモリ・アクセスを付与する、請求項17記載
    の装置。
  19. 【請求項19】 前記メモリ・アービタの各々が、前記複数のインタフェース・プロセッサから
    の共通データに対する複数の同時読出し要求に対して、2番目に高い優先順位の
    メモリ・アクセスを付与する、請求項18記載の装置。
  20. 【請求項20】 前記メモリ・アービタの各々が、前記複数のインタフェース・プロセッサから
    の複数の同時書込み要求に対して、3番目に高い優先順位のメモリ・アクセスを
    付与する、請求項19記載の装置。
  21. 【請求項21】 前記メモリ・アービタの各々が、前記複数のインタフェース・プロセッサから
    の複数の同時リード・モディファイ・ライト要求に対して、4番目に高い優先順
    位のメモリ・アクセスを付与する、請求項20記載の装置。
  22. 【請求項22】 半導体基板と、 前記基板上に形成される少なくとも5個のインタフェース・プロセッサと、 前記インタフェース・プロセッサの各々によりアクセス可能な命令を記憶する
    、前記基板上に形成される内部命令メモリと、 少なくとも5個のメモリ素子を有し、前記インタフェース装置を通過し、前記
    インタフェース・プロセッサによりアクセス可能なデータを記憶する、前記基板
    上に形成される内部データ・メモリと、 前記インタフェース・プロセッサの各々と、前記メモリ素子との間に動作的に
    配置され、前記インタフェース・プロセッサから前記メモリ素子へのデータ要求
    のフローを制御する要求制御装置と、 前記インタフェース・プロセッサの各々が、複数の前記メモリ素子へのアクセ
    スを有し、前記メモリ素子の各々が、複数の前記インタフェース・プロセッサか
    らの要求に応答するように、前記メモリ素子の各々と、前記インタフェース・プ
    ロセッサとの間に動作的に配置され、前記インタフェース・プロセッサによる前
    記メモリ素子の対応する1つへのアクセスを制御するメモリ・アービタと、 前記データ・メモリを外部データ・メモリに接続する少なくとも1つの入出力
    ポートと、前記インタフェース・プロセッサの指示の下で、前記インタフェース
    装置を通過するデータを外部ネットワークと交換する、少なくとも2つの他の入
    出力ポートとを含む、前記基板上に形成される複数の入出力ポートと を含み、 前記要求制御装置及び前記メモリ・アービタが協働して、前記インタフェース
    ・プロセッサによる前記メモリ素子のアクセスを管理するアクセス規則のセット
    を実現し、前記規則が、単一インタフェース・プロセッサから単一メモリ素子へ
    の単一要求に対して、最高優先順位のアクセスを付与する装置。
  23. 【請求項23】 インタフェース装置の入力ポートを通じて、インバウンド・データ・フローを
    受信するステップと、 前記インタフェース装置に組み込まれる複数のインタフェース・プロセッサを
    通じて、前記データ・フローを伝達するステップと、 前記データ・フローを複数の部分に解析するステップと、 前記データ・フローの解析された前記部分を複数のメモリ素子に記憶するステ
    ップと、 前記メモリ素子と前記インタフェース・プロセッサとのアクセスを制御し、前
    記インタフェース・プロセッサの各々が、前記メモリ素子の各々をアクセスする
    ことを可能にするステップと、 前記インタフェース・プロセッサによる記憶命令の実行に従い、前記インタフ
    ェース装置の出力ポートを通じて転送されるアウトバウンド・データ・フローを
    組み立て、送信するステップと を含む方法。
  24. 【請求項24】 解析された前記データ・フローの選択部分を前記メモリ素子に記憶し、前記デ
    ータフローの他の選択部分をスイッチング・ファブリックに送信して、アウトバ
    ウンド方向を決定するステップを含む、請求項23記載の方法。
  25. 【請求項25】 出力ポートを通じて前記データ・フローをアウトバウンド方向に送信する前に
    、前記データ・フローの記憶された選択部分及び他の選択部分を再結合するステ
    ップを含む、請求項24記載の方法。
JP2001520663A 1999-08-27 2000-08-24 ネットワーク・プロセッサ、メモリ構成及び方法 Expired - Fee Related JP3832816B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/384,744 1999-08-27
US09/384,744 US6460120B1 (en) 1999-08-27 1999-08-27 Network processor, memory organization and methods
PCT/US2000/020794 WO2001016779A1 (en) 1999-08-27 2000-08-24 Network processor, memory organization and methods

Publications (2)

Publication Number Publication Date
JP2003508851A true JP2003508851A (ja) 2003-03-04
JP3832816B2 JP3832816B2 (ja) 2006-10-11

Family

ID=23518576

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001520663A Expired - Fee Related JP3832816B2 (ja) 1999-08-27 2000-08-24 ネットワーク・プロセッサ、メモリ構成及び方法

Country Status (8)

Country Link
US (1) US6460120B1 (ja)
EP (1) EP1208447B1 (ja)
JP (1) JP3832816B2 (ja)
KR (1) KR100468800B1 (ja)
CN (1) CN1204509C (ja)
AT (1) ATE354830T1 (ja)
DE (1) DE60033529T2 (ja)
WO (1) WO2001016779A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013218737A (ja) * 2007-02-22 2013-10-24 Mosaid Technologies Inc データのミラーバックアップを用いるメモリデバイスのためのページプログラム動作用の装置および方法

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020071321A1 (en) * 2000-11-29 2002-06-13 International Business Machines Corporation System and method of maintaining high bandwidth requirement of a data pipe from low bandwidth memories
US6882642B1 (en) 1999-10-14 2005-04-19 Nokia, Inc. Method and apparatus for input rate regulation associated with a packet processing pipeline
US6934250B1 (en) 1999-10-14 2005-08-23 Nokia, Inc. Method and apparatus for an output packet organizer
US6757249B1 (en) * 1999-10-14 2004-06-29 Nokia Inc. Method and apparatus for output rate regulation and control associated with a packet pipeline
US20030036896A1 (en) * 1999-12-01 2003-02-20 David Skingsley Apparatus for simulating communications equipment
US6598088B1 (en) * 1999-12-30 2003-07-22 Nortel Networks Corporation Port switch
US7116680B1 (en) * 2000-03-02 2006-10-03 Agere Systems Inc. Processor architecture and a method of processing
US20020105972A1 (en) * 2000-03-03 2002-08-08 Richter Roger K. Interprocess communications within a network node using switch fabric
US6704794B1 (en) 2000-03-03 2004-03-09 Nokia Intelligent Edge Routers Inc. Cell reassembly for packet based networks
US20020107903A1 (en) * 2000-11-07 2002-08-08 Richter Roger K. Methods and systems for the order serialization of information in a network processing environment
US20050195743A1 (en) * 2000-04-03 2005-09-08 P-Cube Ltd. Real time charging of pre-paid accounts
US7107265B1 (en) * 2000-04-06 2006-09-12 International Business Machines Corporation Software management tree implementation for a network processor
US6947931B1 (en) * 2000-04-06 2005-09-20 International Business Machines Corporation Longest prefix match (LPM) algorithm implementation for a network processor
GB2371381B (en) * 2000-04-06 2004-09-01 Ibm Search algorithm implementation for a network processor
US6675163B1 (en) * 2000-04-06 2004-01-06 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
US6799207B1 (en) * 2000-04-10 2004-09-28 International Business Machines Corporation Method and system for downloading software managed trees in a network processing system
US6675223B1 (en) * 2000-04-10 2004-01-06 International Business Machines Corporation Method and apparatus for processing frames using static and dynamic classifiers
US6785734B1 (en) * 2000-04-10 2004-08-31 International Business Machines Corporation System and method for processing control information from a general through a data processor when a control processor of a network processor being congested
US6965922B1 (en) * 2000-04-18 2005-11-15 International Business Machines Corporation Computer system and method with internal use of networking switching
US6772218B1 (en) * 2000-04-18 2004-08-03 International Business Machines Corporation Server acceleration using network processor
US7013394B1 (en) * 2000-04-18 2006-03-14 International Business Machines Corporation Data flow pattern recognition and manipulation
US6671725B1 (en) * 2000-04-18 2003-12-30 International Business Machines Corporation Server cluster interconnection using network processor
US7009968B2 (en) * 2000-06-09 2006-03-07 Broadcom Corporation Gigabit switch supporting improved layer 3 switching
US7047317B1 (en) * 2000-06-14 2006-05-16 Altera Corporation High performance network address processor system
US6721313B1 (en) * 2000-08-01 2004-04-13 International Business Machines Corporation Switch fabric architecture using integrated serdes transceivers
US7143185B1 (en) * 2000-08-29 2006-11-28 Advanced Micro Devices, Inc. Method and apparatus for accessing external memories
US6990098B1 (en) * 2000-09-11 2006-01-24 Sun Microsystems, Inc. Reliable multicast using merged acknowledgements
US20100042565A1 (en) * 2000-09-25 2010-02-18 Crossbeam Systems, Inc. Mezzazine in-depth data analysis facility
US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US6792423B1 (en) * 2000-11-28 2004-09-14 International Business Machines Corporation Hybrid longest prefix match and fixed match searches
EP1344350A1 (en) * 2000-11-29 2003-09-17 Telefonaktiebolaget LM Ericsson (publ) Method and apparatus for forwarding of telecommunications traffic
US20020120769A1 (en) * 2000-12-21 2002-08-29 Ammitzboell Benny Loenstrup Multicast traffic control protocol pruning in a layer 2 switch
US6987760B2 (en) 2001-03-05 2006-01-17 International Business Machines Corporation High speed network processor
US6813620B2 (en) * 2001-03-07 2004-11-02 Broadcom Corporation Binary search engine and method
US7085266B2 (en) 2001-03-21 2006-08-01 International Business Machines Corporation Apparatus, method and limited set of messages to transmit data between components of a network processor
US7149212B2 (en) 2001-03-21 2006-12-12 International Business Machines Corporation Apparatus, method and limited set of messages to transmit data between scheduler and a 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
US6987775B1 (en) 2001-08-15 2006-01-17 Internet Machines Corp. Variable size First In First Out (FIFO) memory with head and tail caching
US6934264B2 (en) * 2001-08-30 2005-08-23 Qualcomm, Incorporated Method and apparatus for acknowledging a reception of a data packet in a CDMA communication system
US7362751B2 (en) 2001-10-03 2008-04-22 Topside Research, Llc Variable length switch fabric
US7426572B1 (en) * 2001-10-31 2008-09-16 Juniper Networks, Inc. Network router using embedded and external memory based on packet destination
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
TW550508B (en) * 2001-12-21 2003-09-01 Via Tech Inc Configuration method for auto-negotiation mode and the associated devices
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
US7254632B2 (en) * 2002-04-26 2007-08-07 P-Cube Ltd. Apparatus and method for pattern matching in text based protocol
US20030214949A1 (en) * 2002-05-16 2003-11-20 Nadim Shaikli System for reordering sequenced based packets in a switching network
US8015303B2 (en) * 2002-08-02 2011-09-06 Astute Networks Inc. High data rate stateful protocol processing
US7814218B1 (en) 2002-10-17 2010-10-12 Astute Networks, Inc. Multi-protocol and multi-format stateful processing
US7596621B1 (en) * 2002-10-17 2009-09-29 Astute Networks, Inc. System and method for managing shared state using multiple programmed processors
US8151278B1 (en) 2002-10-17 2012-04-03 Astute Networks, Inc. System and method for timer management in a stateful protocol processing system
US20040098509A1 (en) * 2002-11-14 2004-05-20 Vic Alfano System for reordering sequenced based packet segments in a switching network
US7596634B2 (en) * 2002-12-12 2009-09-29 Millind Mittal Networked application request servicing offloaded from host
US7114041B2 (en) * 2002-12-20 2006-09-26 Lsi Logic Corporation AMBA modular memory controller
US7680769B2 (en) * 2003-01-14 2010-03-16 International Business Machines Corporation Method of creating a database and search keys and for searching the database
US7000052B2 (en) * 2003-02-24 2006-02-14 Cisco Technology, Inc. System and method for configuring and deploying input/output cards in a communications environment
US7990987B2 (en) * 2003-02-25 2011-08-02 Topside Research, Llc Network processor having bypass capability
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
US7278162B2 (en) * 2003-04-01 2007-10-02 International Business Machines Corporation Use of a programmable network processor to observe a flow of packets
US7398322B1 (en) * 2003-05-20 2008-07-08 Sun Microsystems, Inc. System using routing bridges to transparently interconnect multiple network links to form a single virtual network link
US8843604B2 (en) 2003-06-19 2014-09-23 International Business Machines Corporation Method for interlocking a server to a server system and a computer system utilizing the same
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
US6954387B2 (en) * 2003-07-15 2005-10-11 International Business Machines Corporation Dynamic random access memory with smart refresh scheduler
US7464181B2 (en) * 2003-09-11 2008-12-09 International Business Machines Corporation Method for caching lookups based upon TCP traffic flow characteristics
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
US7539190B2 (en) * 2004-01-05 2009-05-26 Topside Research, Llc Multicasting in a shared address space
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
US7457241B2 (en) * 2004-02-05 2008-11-25 International Business Machines Corporation Structure for scheduler pipeline design for hierarchical link sharing
US7564976B2 (en) 2004-03-02 2009-07-21 International Business Machines Corporation System and method for performing security operations on network data
US8468337B2 (en) * 2004-03-02 2013-06-18 International Business Machines Corporation Secure data transfer over a network
US7586851B2 (en) * 2004-04-26 2009-09-08 Cisco Technology, Inc. Programmable packet parsing processor
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
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
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
US7769875B1 (en) * 2004-08-03 2010-08-03 Juniper Networks, Inc. Managing a network flow using application classification information and active signaling relay
US8055787B2 (en) * 2004-09-10 2011-11-08 Invensys Systems, Inc. System and method for managing industrial process control data streams over network links
US7376809B2 (en) * 2005-03-09 2008-05-20 International Business Machines Corporation Systems and methods for multi-frame control blocks
US7466715B2 (en) * 2005-03-28 2008-12-16 International Business Machines Corporation Flexible control block format for frame description and management
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
US7774402B2 (en) * 2005-06-29 2010-08-10 Visa U.S.A. Adaptive gateway for switching transactions and data on unreliable networks using context-based rules
US7694287B2 (en) 2005-06-29 2010-04-06 Visa U.S.A. Schema-based dynamic parse/build engine for parsing multi-format messages
US7698498B2 (en) * 2005-12-29 2010-04-13 Intel Corporation Memory controller with bank sorting and scheduling
JP2007265019A (ja) * 2006-03-28 2007-10-11 Sony Computer Entertainment Inc 演算処理装置
TW200813724A (en) * 2006-07-28 2008-03-16 Samsung Electronics Co Ltd Multipath accessible semiconductor memory device with host interface between processors
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
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
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
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
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
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
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
US8028124B2 (en) * 2007-12-20 2011-09-27 International Business Machines Corporation Fast processing memory array
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
KR20100026509A (ko) * 2008-08-29 2010-03-10 삼성전자주식회사 복수의 데이터 플로우를 전송하는 반도체 장치
CN102640462B (zh) * 2009-11-11 2015-12-09 新思科技有限公司 用于缓冲服务请求的集成电路布置
RU2732585C2 (ru) 2010-07-09 2020-09-22 Виза Интернэшнл Сервис Ассосиэйшн Шлюзовой уровень абстракции
US8850137B2 (en) 2010-10-11 2014-09-30 Cisco Technology, Inc. Memory subsystem for counter-based and other applications
US9465662B2 (en) * 2011-10-17 2016-10-11 Cavium, Inc. Processor with efficient work queuing
US9324397B1 (en) * 2015-01-16 2016-04-26 Qualcomm Incorporated Common die for supporting different external memory types with minimal packaging complexity
WO2016122662A1 (en) * 2015-01-30 2016-08-04 Hewlett Packard Enterprise Development Lp Memory network to prioritize processing of a memory access request
CN106878440B (zh) * 2017-02-27 2019-08-06 多林科技(武汉)有限公司 正向编址和反向重编址互联通信方法、设备和系统
CN107040523B (zh) * 2017-03-21 2020-09-11 百富计算机技术(深圳)有限公司 交易数据传输方法、装置和电子设备
CN110830408B (zh) * 2019-11-13 2022-02-22 天津德力仪器设备有限公司 一种应用于embms系统中快速捕获cas的方法
US20240037550A1 (en) * 2022-07-29 2024-02-01 Ncr Corporation Information encoding and transmission techniques

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4803617A (en) * 1986-02-10 1989-02-07 Eastman Kodak Company Multi-processor using shared buses
US4933846A (en) 1987-04-24 1990-06-12 Network Systems Corporation Network communications adapter with dual interleaved memory banks servicing multiple processors
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
EP0429733B1 (en) 1989-11-17 1999-04-28 Texas Instruments Incorporated Multiprocessor with crossbar between processors and memories
GB9206126D0 (en) * 1992-03-20 1992-05-06 Maxys Circuit Technology Limit Parallel vector processor architecture
US5761455A (en) * 1995-02-06 1998-06-02 Cpu Technology, Inc. Dynamic bus reconfiguration logic
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 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散型データ処理システム
US5982459A (en) * 1995-05-31 1999-11-09 8×8, Inc. Integrated multimedia communications processor and codec
US5664116A (en) 1995-07-07 1997-09-02 Sun Microsystems, Inc. Buffering of data for transmission in a computer communication system interface
US5796944A (en) * 1995-07-12 1998-08-18 3Com Corporation Apparatus and method for processing data frames in an internetworking device
US5742840A (en) * 1995-08-16 1998-04-21 Microunity Systems Engineering, Inc. General purpose, multiple precision parallel operation, programmable media processor
US5875470A (en) * 1995-09-28 1999-02-23 International Business Machines Corporation Multi-port multiple-simultaneous-access DRAM chip

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013218737A (ja) * 2007-02-22 2013-10-24 Mosaid Technologies Inc データのミラーバックアップを用いるメモリデバイスのためのページプログラム動作用の装置および方法

Also Published As

Publication number Publication date
JP3832816B2 (ja) 2006-10-11
WO2001016779A1 (en) 2001-03-08
EP1208447A4 (en) 2004-10-20
DE60033529T2 (de) 2007-11-15
US6460120B1 (en) 2002-10-01
KR20020024332A (ko) 2002-03-29
ATE354830T1 (de) 2007-03-15
EP1208447A1 (en) 2002-05-29
CN1204509C (zh) 2005-06-01
CN1369074A (zh) 2002-09-11
DE60033529D1 (de) 2007-04-05
KR100468800B1 (ko) 2005-02-02
US20020099855A1 (en) 2002-07-25
EP1208447B1 (en) 2007-02-21

Similar Documents

Publication Publication Date Title
JP3872342B2 (ja) ネットワークのための装置およびスケーラブル・ネットワーク・プロセッサ
JP3832816B2 (ja) ネットワーク・プロセッサ、メモリ構成及び方法
JP4066382B2 (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: 20041019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041102

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050202

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050202

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20050202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20050203

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060106

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060106

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

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20060704

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060704

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060714

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

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110728

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees