(57)【特許請求の範囲】
【請求項１】
各フレームが複数のデータワードを含む、データのフレームを受けるための複数の入力ポートと、
第１の出力ポートと前記第１の出力ポートとは異なる第２の出力ポートを含む、データのフレームを送るための複数の出力ポートと、
少なくとも１つの入力ポートがデータワードを少なくとも２つの入力バッファへ送るように結合され、入力ポートで受けたデータワードを格納するための複数の入力バッファと、
複数の入力と出力を有しており、各入力バッファは前記入力バッファ専用のクロスバースイッチの入力に結合され、各出力ポートは前記出力ポート専用のクロスバースイッチの出力に結合されており、スイッチ可能に如何なる入力バッファと出力ポートをも結合させるクロスバースイッチと、
少なくとも第１のアービタサブシステムと、前記第１のアービタサブシステムとは異なる第２のアービタサブシステムを含む、複数のアービタサブシステムを具備し、前記第１のアービタサブシステムはクロスバースイッチを通して入力バッファの１つから前記第１の出力ポートへの第１の接続パスを選択するように設けられており、前記第２のアービタサブシステムはクロスバースイッチを通して入力バッファの１つから前記第２の出力ポートへの第２の接続パスを選択するように設けられている、ことを特徴とする近隣の回路と通信するためのルータ回路。
【請求項２】
入力ポートから半ワードを受信して全ワードを入力バッファへ送るように結合され、１つのクロックサイクル内で２度提供された半ワードを、サイクルごとに１度クロックされた全ワードに変換するデマルチプレクサをさらに具備する請求項１に記載のルータ回路。
【請求項３】
前記アービタ・サブシステムは、前記第１の接続パスを１クロックサイクル以内で選択し、前記第２の接続パスを１クロックサイクル以内で選択する請求項１に記載のルータ回路。
【請求項４】
同期回路をさらに具備する請求項１に記載のルータ回路。
【請求項５】
前記同期回路は前記入力バッファからの読み出し及び書き込みを行うリード及びライト・ポインタを含む請求項４に記載のルータ回路。
【請求項６】
前記リード及びライト・ポインタは同じ入力バッファを特定する請求項５に記載のルータ回路。
【請求項７】
リード・ポインタはローカルクロックドメイン上で動作し、ライト・ポインタは入来クロックドメイン上で動作する、請求項５に記載のルータ回路。
【請求項８】
ルータ回路における複数の入力バッファの1つから複数の出力ポートの１つへ情報を送信する方法であって、前記複数の入力バッファと、前記複数の出力ポートの少なくとも第１及び第２の出力ポートと、入力バッファを複数の出力ポートへ結合するクロスバースイッチと、少なくとも第１のアービタサブシステムと第２のアービタサブシステムを含む複数のアービタサブシステムを具備し、前記方法は、
入力バッファの1つで情報を受信すること、
第１の出力ポートと、前記第１の出力ポートとは異なり宛先出力ポートとして情報を受信するための第２の出力ポートの一つを決定すること、
第１の出力ポートが宛先出力ポートの場合には、第１のアービタサブシステムに前記入力バッファのアドレスを提供し、そして第２の出力ポートが宛先出力ポートの場合には、前記第１のアービタサブシステムとは異なる第２のアービタサブシステムに前記入力バッファのアドレスを提供すること、
提供されたアドレスに応じて、第１の出力ポートが宛先出力ポートの場合には、第１のアービタサブシステムがクロスバースイッチを通して前記入力バッファから第１の出力ポートへの第１の接続パスを選択するようにし、そして第２の出力ポートが宛先出力ポートの場合には、第２のアービタサブシステムがクロスバースイッチを通して前記入力バッファから第２の出力ポートへの第２の接続パスを選択するようにすること、
第１の出力ポートが宛先出力ポートの場合には、アドレス入力バッファを第１のアービタサブシステムに対応する第１の出力ポートと接続するようにクロスバースイッチを構成し、そして第２の出力ポートが宛先出力ポートの場合には、アドレス入力バッファを第２のアービタサブシステムに対応する第２の出力ポートと接続するようにクロスバースイッチを構成すること、
から成ることを特徴とする方法。
【請求項９】
さらに、第１の出力ポートが宛先出力ポートの場合には、前記入力バッファで受信した情報の優先度を第１の出力ポート専用の第１のアービタサブシステムに提供し、そして第２の出力ポートが宛先出力ポートの場合には、前記入力バッファで受信した情報の優先度を第２の出力ポート専用の第２のアービタサブシステムに提供することを含む、請求項８記載の方法。
【請求項１０】
さらに、第１のアービタサブシステムに第１の接続パスを選択させ、そして第２のアービタサブシステムに第２の接続パスを選択させること、は１クロック以内で行われる、請求項９記載の方法。
【発明の詳細な説明】
発明者
Ｔｈｏｍａｓ  Ｍ．Ｗｉｃｋｉ，Ｊｅｆｆｒｅｙ  Ｄ．Ｌａｒｓｏｎ，Ａｌｂｅｒｔ  ＭｕおよびＲａｇｈｕ  Ｓａｓｔｒｙ
関連出願の相互参照
本願発明の主題は、下記に掲げる出願の主題と関連している。
米国特許出願Ｎｏ．０８／６０５，６７７、“非同期パケット交換”の名称で、Ｔｈｏｍａｓ  Ｍ．Ｗｉｃｋｉ，Ｐａｔｒｉｃｋ  Ｊ．Ｈｅｌｌａｎｄ，  Ｔａｋｅｓｈｉ  Ｓｈｉｍｉｚｕ，Ｗｏｌｆ−Ｄｉｅｔｒｉｃｈ  ＷｅｂｅｒおよびＷｉｎｆｒｉｅｄ  Ｗ．Ｗｉｌｃｋｅによって１９９６年２月２２日に出願され、米国特許Ｎｏ．５，９５９，９９５として１９９９年９月２８日に発行、
米国特許出願Ｎｏ．０８／６０５，６７６、“ダイナミックなネットワーク・トポロジー探査のシステムおよび方法”の名称で、Ｔｈｏｍａｓ  Ｍ．Ｗｉｃｋｉ，Ｐａｔｒｉｃｋ  Ｊ．Ｈｅｌｌａｎｄ，Ｗｏｌｆ−Ｄｉｅｔｒｉｃｈ  ＷｅｂｅｒおよびＷｉｎｆｒｉｅｄ  Ｗ．Ｗｉｌｃｋｅによって１９９６年２月２２日に出願され、米国特許Ｎｏ．５，７４０，３４６として１９９８年４月１４日に発行、
米国特許出願Ｎｏ．０８／６０３，８８０、“パケットスイッチングネットワーク内の経路選択素子出力アクセス用調整方法および装置”の名称で、Ｊｅｆｆｒｅｙ  Ｄ．Ｌａｒｓｏｎ，Ａｌｂｅｒｔ  ＭｕおよびＴｈｏｍａｓ  Ｍ．Ｗｉｃｋｉによって１９９６年２月２２日に出願され、米国特許Ｎｏ．５，８９２，７６６として１９９９年４月６日に発行、
米国特許出願Ｎｏ．０８／６０４，９２０、“電圧の揺れを少なくし、かつ、内部のブロック化データパスを生じさせないクロスバー交換機およびその方法”の名称で、Ａｌｂｅｒｔ  ＭｕおよびＪｅｆｆｒｅｙ  Ｄ．Ｌａｒｓｏｎによって１９９６年２月２２日に出願され、米国特許Ｎｏ．５，９９１，２９６として１９９９年１１月２３日に発行、
米国特許出願Ｎｏ．０８／６０３，９１３、“ネットワークエレメント間のデータ転送を制御するシステムおよび方法”の名称で、Ｔｈｏｍａｓ  Ｍ．Ｗｉｃｋｉ，Ｐａｔｒｉｃｋ  Ｊ．Ｈｅｌｌａｎｄ，Ｊｅｆｆｒｅｙ  Ｄ．Ｌａｒｓｏｎ，Ａｌｂｅｒｔ  Ｍｕ，Ｒａｇｈｕ  ＳａｓｔｒｙおよびＲｉｃｈａｒｄ  Ｌ．Ｓｃｈｏｂｅｒ，Ｊｒ．によって１９９６年２月２２日に出願され、米国特許Ｎｏ．６，００３，０６４として１９９９年１２月１４日に発行、
米国特許出願Ｎｏ．０８／６０３，９１１、“相互接続の障害検出およびその位置特定方法および装置”の名称で、Ｒａｇｈｕ  Ｓａｓｔｒｙ，Ｊｅｆｆｒｅｙ  Ｄ．Ｌａｒｓｏｎ，Ａｌｂｅｒｔ  Ｍｕ，Ｊｏｈｎ  Ｒ．Ｓｌｉｃｅ，Ｒｉｃｈａｒｄ  Ｌ．Ｓｃｈｏｂｅｒ，Ｊｒ．およびＴｈｏｍａｓ  Ｍ．Ｗｉｃｋｉによって１９９６年２月２２日に出願され、米国特許Ｎｏ．５，７６８，３００として１９９８年６月１６日に発行、
米国特許出願Ｎｏ．０８／６０３，９２３、“多重ワード通信におけるエラー検出方法および装置”の名称で、Ｔｈｏｍａｓ  Ｍ．Ｗｉｃｋｉ，Ｐａｔｒｉｃｋ  Ｊ．ＨｅｌｌａｎｄおよびＴａｋｅｓｈｉ  Ｓｈｉｍｉｚｕよって１９９６年２月２２日に出願され、米国特許Ｎｏ．５，９３１，９６７として１９９９年８月３日に発行、
米国特許出願Ｎｏ．０８／６０３，８８２、“正のソース帰還をそなえたクロック動作されるセンス増幅器”の名称で、Ａｌｂｅｒｔ  Ｍｕよって１９９６年２月２２日に出願され、米国特許Ｎｏ．５，６１５，１６１として１９９７年３月２５日に発行、
参考として、上記の出願の全てを本願発明の全体に亘って取り入れている。
発明の技術分野
この発明は、非同期及びプレジオ・クロナス(plesiochronous)パケット・ベース，クロスバー・スイッチング・システム及び方法に関する。
背景
コンピュータ・メシュにおいてノードに接続する特定な従来のルータ・システムは、パケットの第１の部分の出力送信の開始前に、全体のパケットの存在を考慮するための各ルータ・エレメントへの要求により、待ち時間で制限される。多くのこのようなルータ・システムは、選択された入力バッファから特定の出力ポートへのアクセスのアービトレーションの複雑性に起因して、ルータ出力ポートにおける輻輳により、さらに厄介なものとなる。さらに、多くのルータ・システムは、データ、パケット、フレームの伝送処理能力を減ずる同期システムを生じる複数な待ち時間を含む。
ヘッダ情報を含むデータのパケットを伝送する半導体ルータ・チップにおいて、待ち時間、ルータ・チップのネットワークを持つシステムにおける単一チップを経てデータの伝送に要求される時間、を最小にすることは望ましいことである。
さらに、単一の半導体チップ上に存在するルータ・システムを設けることは望ましいことである。
発明の要約
本発明によれば、ルータ・システムは、クロスバー・スイッチを経て所定の出力ポートとともにアービトレーションにより選択された入力バッファの相互接続を確立する。本発明の実施形態によれば、各出力ポートは、その出力ポートに接続するための最も高いプライオリティの入力バッファを選択するために専用アービタを有する。本発明の方法によれば、フレーム・ワードは、クロスバー・スイッチを経て選択された入力バッファ及び出力ポートを経て独立に流れる。本発明によるストリームは、フレーム・ヘッダの解析により確立されたパスの限定とともに開始する。並列フレーム・エンベロープ信号は、特定フレームへの所定の出力ポートのデディケーションを終える。
本発明によるフレーム伝送は、プレジオ・クロナス、即ち、同期に近いもの、である。本発明の一つの実施形態によれば、フレーム伝送は非同期である。簡単にいえば、本発明のルータ・システムは同期ではない。フレームは１つのクロックとともに到達し、他のクロックとともにクロックアウトされる。従って、伝送は、「プレジオ非同期」、即ち、同期又は非同期に近いもの、と考えることができる。
本発明によれば、フレーム伝送はルータ内の分配同期アーキテクチャとともに完成され、ルータでは、入力バッファはリード及びライトポインタの読出し及び不一致のためにチェックされ、出力ポートの識別及びプライオリティ・レベルの情報は多段レジスタに格納され、そしてバッファ・ステイタス・メッセージはＯＲアキュミュレートされる。
本発明によれば、半導体ルータ・チップ・システムは、データの伝送において高いクロック周波数と低い待ち時間を持つストリームラインのアーキテクチャを含む。本発明によれば、低い待ち時間は、誤り訂正により伴われなかった選択されたエラーチェックを除去することを含んで、各パケット上で行われる動作を減少さえることにより達成される。本発明は、待ち時間を最小にする同期方法を含む。本発明によれば、内部チップのデータ処理は、ルータ・チップ間の外部通信として２倍幅のデータパス上で完成される。本発明のデータパスは、内部ブロッキング無しで完全に接続されたクロスバー・スイッチを含み、入力バッファの各バッファ・エレメントに対するクロスバーへの専用の接続を設ける。これは互いから出力ポートに対してアービトレーション・ユニットと減結合する。他の特徴は、クリティカル・パスの外で扱われるフロー・コントロールプロトコルを使用し、本発明によるバーチャル・カットスルー・ルーチンをサポートする。さらに、本発明によれば、データパスは、データパケットの開始と終端をマークするために帯域外シグナリングを含み、それにより、データストリームのデコードを顕著に減少する。加えて、本発明によれば、各パイプライン・ステージにおけるパスの長さは、実行した動作を減少することにより最小化され、それにより高周波数におけるチップ動作を可能にする。
本発明の一つの実施形態によるルータ・システムは単一の半導体チップ上に存在する。
【図面の簡単な説明】
図１は、本発明によるルータ・チップのブロック図である。
図２は、１サイクル・アービトレーションを含む本発明による多段ステージ・パイプライン方法の図である。
図３Ａは、本発明による入力バッファ・エレメントの同期アーキテクチャの図である。
図３Ｂは、本発明による制御同期及びフレーム・ヘッダ・デコーダ・アーキテクチャの図である。
図３Ｃは、本発明によるバッファ・ステータス及びアキュミュレーション回路の同期アーキテクチャの図である。
図３Ｄは、本発明によるルータ・システムの動作フローチャートである。
図４Ａは、スイッチング・バスさらにメタル及びクロスポイント・スイッチを含む、本発明によるクロスバー・スイッチの回路図である。
図４Ｂは、本発明によるデータパスのブロック図である。
図５Ａは、本発明によるフロー・コントロールパスの第１部分のブロック図である。
図５Ｂは、本発明によるフロー・コントロールパスの第２部分のブロック図である。
図５Ｃは、本発明によるフロー・コントロールパスの第１部分の流れ図である。
図５Ｄは、本発明によるフロー・コントロールパスの第２部分の流れ図である。
図６は、本発明によるルータ・チップ・システムのブロック図である。
図７Ａは、本発明による伝送フレームのブロック図である。
図７Ｂは、本発明による方法のフローチャートである。
図７Ｃは、本発明によるアービタ機能のフローチャートである。
図７Ｄは、本発明によるフレーム・エンベロープ信号のタイミング図である。
図７Ｅは、本発明によるパケット・バーチャル・カットスルーのタイミング図であり、ヘッダ及びデータ情報の送信は情報の独立のワードでずらされる。
発明の詳細な説明
図１は、本発明の一実施形態による単一の半導体チップ上に存在するルータ・システム３のブロック図である。ルータ・システム３は、その１つを図１に示す複数の入力ポート１０４を含むバーチャル・カットスルー・パケットスイッチを含む。
本発明の一実施形態によれば、各入力ポート１０４は３４ビット幅である。データは、立上がり及び立下がり入力クロック・エッジ上で入力ポートにて受信される。各ポート１０４は対称的である。各ポート１０４は、レジスタ１０７と第１及び第２並列レジスタ１０８ａ，１０８ｂを含むデマルチプレクサ４００を経て、多段エントリ・入力バッファ・ユニット１３５に接続される。レジスタ１０７は１クロックサイクルの第１部分にて半ワードを受け、１クロックサイクルの次の部分の間でレジスタ１０７の内容が第１の並列レジスタ１０８ａにエンターされ、残りの半ワードはポート１０４から第２並列レジスタ１０８ｂに直接エンターされる。並列レジスタ１０８ａ，１０８ｂの内容は、適切なバッファ・エレメント１３５に挿入するためにデマルチプレクサ１３０’にエンターされる。ルータ・システム３は、キュー・アービタ・ユニット１４６及び第１及び第２フロー・コントロールシステム１４７ａ，１４７ｂを含むフロー・コントロールユニット１４７を含む。ルータ・システム３は、フレーム・エンベロープ（Ｆ＿ＥＮＶ）入力ライン１０２及びデータ・ノット・ステータス（Ｄ／ＮＳ）入力ライン１０３に接続された入力レジスタ１０５をさらに含む。入力レジスタ１０５は、同期及びフレーム・ヘッダ・デコーダ回路１２８を制御するためにフレーム・エンベロープ及びＤ／ＮＳ信号を提供する入力制御回路１０６に接続され、また、バッファステータス及びアキュミュレータ回路１２９に接続され、さらに入力バッファ制御回路１３０に接続される。フロー・コントロールレシーバ回路１４７は、以下に詳しく説明するように、バッファステータス及びアキュミュレータ回路１４７からのバッファステータス信号及び情報を受けるためにバッファステータス及びアキュミュレータ回路１４７ａに接続される。フロー・コントロールレシーバ回路１４７ａは、そのステータスに関してアービタ１４６から情報を受け、フレーム・ヘッダ・モディファイア回路１５０及びアービタ１４６に情報を提供する。入力制御回路１０６は、入力バッファ・エレメント１３５に関して書込み動作を制御する書込み制御回路１３１に信号を提供する。アービタ１４６はクロスバー・スイッチ１４４’を制御し、入力バッファ・エレメント１３５のフレーム部分の読出しをレジスタ１３８に許可するように読出し制御回路１３６を制御する。レジスタ１４９はクロスバー・スイッチ１４４’からフレーム部分を受け、それらをフレームヘッダ・モディファイア１５０に提供する。レジスタ１３８は、ルータ・チップ及びノードのメッシュの隣接ルータ又はノードにフレーム・エンベロープ（Ｆ＿ＥＮＶ）及び（Ｄ／ＮＳ）信号を生じる出力制御回路１４８に情報を追加提供する。マルチプレクサ１５１は、フレームヘッダ・モディファイア１５０から及びフロー制御トランスミッタ回路１４７ｂからモディファイドヘッダとともにフレームを受信する。マルチプレクサ１５１は、各クロックサイクルごとにワード幅フレーム部分を受け、立上がり及び立下がりクロックエッジにて半ワード幅フレーム部分を生じる。ルータ・システム３は、さらに入力ポート当たりのメッシュ・リンククロック範囲１１０及びローカルクロック範囲１０９を含む。メッシュ・リンククロック範囲１１０は入力クロック１０３’に従ってクロックされる。ローカルクロック範囲１０９はローカルクロック２０３に従ってクロックされる。
本発明の一実施形態によれば、ルータ・システム３はクロック周波数２００ＭＨｚで動作することができ、マルチプロセッサを越えて相互接続する。待ち時間許容差のリンクレベルフロー制御及びフレキシブル・マルチプル・クロック範囲のプレジオクロナス通信と共に、ルータ・システム３は、数メータのオーダの距離で分離された処理ノードの相互接続をサポートする。複数のルータ・チップ３は計測可能に相互接続することができる。
図２は、１サイクルのアービトレーションを含む本発明による多段ステージ・パイプライン方法の図である。図２に示すように、本発明の方法はメッシュ・リンククロック範囲１１０からローカルクロック範囲１０９への情報の同期を含む。加えて、本発明の方法は、アドレス伝搬を処理しデコードすることを含む。入力ポートにて受けたルート情報はキュー・アービタユニット１０６に一斉送信される。本発明の方法はさらにアービトレーションを含む。本発明の方法はさらにクロスバー・スイッチ１４４’を経たデータ伝搬を含む。本発明の方法はさらにフレームヘッダ・モディフィケーションを含む。
本発明によれば、データ、クロック及び帯域外制御信号は、ｎ個の入力ポートの１つに到達する。データは、リンク帯域幅を最適化するために到達クロックの両方のエッジにラッチされる。データはスイッチ・ユニットの内部でデータパス幅にデマルチプレックスされる。拡張されたデータパス幅はクロックレートの半分で内部論理動作を許容する。データは、ｍ個の入力バッファ・エレメントの中の選択された１つを経たストリームにてヘッダ及びデータ部分を含むフレームにて通信される。送り側は、送信に先立って受けるフロー制御情報に基づいて、ｍ入力バッファ・エレメントのなかの特定の１つを選択する。各バッファ・エレメントはクロスバー・マトリクスにて専用パスに接続され、それにより特定の出力ポートに向けられた１つの入力ポートから、これらの出力ポートがアイドルである場合に、フレームのブロックを除去する。各バッファ・エレメントは、競合が生じた場合に最大サイズのフレームを格納するために充分に大きい。スイッチング・ユニットはバーチャル・カットスルー・ルーチンをサポートする。入力バッファは、入力クロック信号に従って入力データを受けることにより及び出力クロック信号でデータを生じることにより、入来からローカルクロック範囲へのデータに同期する。各フレームヘッダにおけるルーチン情報はフレームヘッダ・デコーダ１２８に提供される。ルーチン情報の評価の後、入力バッファ・エレメントのアドレスは、ｎ出力ポートのなかの選択された１つに対応するアービトレーション・ユニット１４６に格納される。各バッファ・エレメントは、クロスバー・マトリクスへの専用パスを持ち、選択された出力ポートへスイッチされるフレームを許可する。フレーム・ヘッダ・モディフィケーションは、現在のルーチン・ステップを除去し、次の下流近隣に対する新規な入力バッファ・エレメントのアドレスを挿入することにより完成される。入力可能な適切な入力バッファ・エレメント１３５は次の下流近隣から到達するフロー制御情報から抽出される。データは、２倍幅の内部パスから外部パス幅にマルチプレックスされる。クロック及び外帯域制御信号は加えられ、並列にデータとともに送信される。
本発明によるフロー制御方法は、ここで相互参照した特許出願において詳しく述べられているように、ルータ・システム３のクレジット基準のフロー制御動作に基づく。ルータ・チップ３は、空のバッファが情報フレームの受容のために受け入れ可能なときのみフレームを送信する。従って受信ルータ・チップ又はノードは、バッファ・ステータスメッセージを送信することにより、いくつのバッファが受入れ可能かを送信ルータ・チップに通知する。これらのメッセージはレギュラー・データフレームでインターリーブされ、アイドルリンク上のデフォルト・トラフィックとなる。フロー制御は、過渡的なエラーに対して強く、自己治癒力のあるプロトコル保証に追従する。本発明によるルータ・システム３は、伝送エラーに起因する永続的損失から入力バッファを回復するためにタイムアウト機構を含む。バッファ・ステータス・メッセージの停止を防止するために、バッファ・ステータス・メッセージの送信は、参照した特許出願にて詳細にしたように、もし同期はずれの条件が存在するならば、データフレーム上でプライオリティを受ける。
図３Ａは、本発明による、フレームを保持する入力バッファ・エレメント回路１３５の同期アーキテクチャの図である。特に、入力バッファ・エレメント回路１３５は、ローカルクロック範囲で動作するグレイ(Gray)・リード・ポインタ１３５ａと、入来クロック範囲で動作するグレイ・ライト・ポインタ１３５ｂと、フレーム又はフレーム部分を保持する特定のＦＩＦＯバッファ・エレメントが空きか否かを決定するためにチェックする比較エレメントと、を含む。同期は、安定したデータが既に読み出されライト・ポインタが進んでいるときに満たされる条件である。ポインタに対してポインタ１３５ａ，１３５ｂのグレイ・コードを使用することにより、圧縮エラーが回避される。バッファ・エレメントは、グレイ・リード・ポインタ及びグレイ・ライト・ポインタの両方が等しい時、本発明によれば空きと考慮され、特定のバッファに関してリード及びライト動作が完了したことを示し、結果的にリード動作が停止される。リード及びライト動作の完了は一連のデータ同期を示す。
図３Ｂは、制御同期の同期アーキテクチャ及びフレーム・ヘッダ・デコーダ回路１２８の図である。特に、制御同期及びフレーム・ヘッダ・デコーダ回路１２８は、単一のＦＩＦＯを構成する第１及び第２出力ポート情報及びプライオリティレベル情報ＦＩＦＯ１２８ａ，１２８ｂを含む。もしこれらのレジスタの１つが全ての条件であれば、ライトポインタ１２８ｃ及びリードポインタ１２８ｄは、リード又はライト動作を完了するために一方又は他方のレジスタをポイントすることができる。同期は、バッファが安定したリード及びライト動作の獲得に固執するので発生する。即ち、アキュミュレータは、読み出され書き込まれるバッファ・ステータス・メッセージに対して連続的に開放している。
図３Ｃは、バッファ・ステータス及びアキュミュレーション回路１２９のアーキテクチャの図である。特に、ステータス及びアキュミュレーション回路１２９はアキュミュレーティングＯＲバッファを含み、アキュミュレーティングＯＲバッファは、ビット位置にて拡張され、ＯＲ機能の同期にてメッセージをアキュミュレートすることにより選択ビット位置におけるメッセージ又はメッセージ指示を受けることができる。
図３Ｄは、本発明によるルータ・システム３の動作フローチャートである。特に、本発明による各ルータ・システム３は、データフレームとともに到達するクロック信号により駆動される６つの独立入来クロック範囲とインタフェースする。データ、クロック及び制御信号はｎ入力ポートにおいて受信される（３００）。各ルータ・システム３は、グローバル・ロジック及び複数の出力ポートの間で共用されるローカルクロック範囲を持つ。ＦＩＦＯ同期はフレームデータに対して各ルータ・チップにてインプリメントされる。相互接続されたルータ・チップは各々独立のクロック源をもつ。従って、本発明による相互接続されたルータは受信及び送信クロックの間の僅かな周波数ダイバシティに適合する。データはデマルチプレックスされ（３０１）、各々がクロスバー・マトリクスに対して専用のパスをもつｍ入力バッファ・エレメントの選択された１つに与えられる。入力及びローカルクロック範囲の間の同期は、フレームデータの同期を実行し出力ポートの競合のためのメモリを提供する入力バッファ・エレメントにて完了する。入力バッファ・エレメント・フラグの同期は、準安定で固定したラッチにより非同期にサンプルされたグレイ・コード・ポインタと比較することにより達成される。加えて、本発明によれば、ヘッダは出力先ポートを示す情報を含む。特に、フレーム・ヘッダ・カレント・ルーティン情報は、入力バッファ・エレメント・アドレスを決めるためにフレーム・ヘッダ・デコーダに提供され（３０２）、特定の入力バッファ・エレメント及び含まれる情報を選択するために、ｎ出力ポートの中の所望の１つに対応する適切なアービタを可能とする。ヘッダはさらにプライオリティを示す情報を提供する。本発明によれば、ヘッダは２入力ＦＩＦＯに同期される。ヘッダは連続的なサイクルでバック・ツー・バックに到達することができず、ＦＩＦＯのオーバーフローは、データが確実に読まれる前に起こすことはできない。さらに、バッファ・ステータス・メッセージのみが、ＦＩＦＯがオーバーフローするような充分なレートで到達することができるので、本発明によれば、バッファ・ステータス・メッセージは、ＦＩＦＯの使用を避けるローカルクロック範囲でサンプリングするためにアキュミュレートされる。本発明によれば、ルータ・システム３はクロスバー構成を含み、格納された各パケットは入力ポートをアクセスするために専用化される。クロスバーに対して入力での競合はない。本発明の結果として、内部ブロッキングは除去され、アービトレーションは１つのクロックサイクルで完了される。特に、アービタは入力バッファの内容のプライオリティに基づいて許可信号を発行する（３０３）。３つのキュークラス、即ち、プライオリティに対する３つのＦＩＦＯとともに出力ポート当たりの１つのアービタ１４６は、所定のプライオリティ内でのスタベーション(starvation)を避けるために使用される。本発明によるＦＩＦＯの順番は、比較的満たされたバッファからのフレームに好都合であるようにインプリメントされる。
本発明によるルータ・システム３は、多段プライオリティレベルにてフレーム・トラフィックに適合し、送信又は受信ノードにて無限のバッファ資源無しでプロトコール・デッドロックを防止する戦略を可能にする。本発明によるルータ・システム３は、リンク上の伝送エラー又はソフトＲＡＭエラーのような困難に適合し打破する。各アービタ１４６はリクエストを格納するためのＲＡＭを使用し、ＲＡＭエラーは、欠陥のあるリクエストを発生し、実際のリクエストでの損失を生じ、正しくないリクエストを許可することを引き起こす。従って、自己矛盾のないチェック機構が本発明によるルータ・システム３に含まれる。特に、本発明によれば、ルータ・システム３は、アービタ・ユニット１４６が誤りの出力ポートにフレームを送信するならばリセットされる。本発明の一つの実施形態によれば、ルータ・システム３は、フレームが過度の時間長で入力バッファに止まるときにはリセットされる。
図４Ａは、スイッチングバスさらに金属及び差動論理クロスポイント・スイッチを含む本発明によるクロスバー・スイッチ１４４’の部分回路図である。特に、図４Ａは、第１及び第２のバス・サイド１１ａ，１１ｂを含み、さらに、本発明によれば、１０ｍｍ金属及び３６クロスポイント・スイッチを含むスイッチング・バス１１を具備するクロスバー・スイッチ部分を示す。クロスバースイッチ１１は、ＶＤＤに接続されたプリチャージ・トランジスタ４１，４２のゲートに与えられる信号ＰＣ（プリチャージ）によりプリチャージされる。スイッチングは、トランジスタ４３ａで受信されたＧＲＡＮＴ信号に応答してトランジスタ回路４３による受信ＤＡＴＡに関して完了される。ＧＲＡＮＴ信号はトランジスタ４３ａ，４４ａのゲートに同時に与えられる。ＧＲＡＮＴ信号により一度イネイブルされると、ＤＡＴＡはトランジスタ４３ｂを経て与えられ、ＤＡＴＡの補足はトランジスタ４４ｂに付随して与えられる。インバータ４５はＤＡＴＡをその補足に変える。クロスバー・スイッチ１１はさらに、信号伝搬をスピードアップする差動及び減少スイング回路を含む。本発明の一実施形態によれば、ビットライン・スイングは５００ｍＶのオーダでセットされる。クロスバー・スイッチ１１は、本発明の実施形態にて“０．２ｎｓ”センスタイムを持つように設計されたセンス増幅器４６を含む。
図４Ｂは、本発明によるデータ・パスブロック図である。特に、ルータ・システム３は、入力ポート３ａ、出力ポート３ｂ及びクロスバー・マトリクス１４４’を含む。入力ポート３ａは、デマルチプレクサ４００、マルチプレクサ１３０’、フレーム・ヘッダ・デコーダ１２８及びバッファ・エレメント５ａ〜５ｍを含む入力バッファ・エレメント１３５を含む。出力ポート３ｂはアービタ１４６、ヘッダ・モディファイア１５０及びマルチプレクサ１５１を含む。
入力ポイント１０４で受信されたデータは、デマルチプレクサ４００及び１３０’を経て入力バッファ５ａ〜５ｍのうちで選択された１つに送られる。各入力バッファは、クロスバー・マトリクス１４４’への入力バッファ１３５のいずれか１つの接続を選択するための如何なるアービトレーションも必要とすることなく、クロスバー・マトリクス１４４’への直接の専用ラインを持つ。アービタ１４６は、関連する出力ポートへの接続のために入力バッファ５ａ〜５ｍの１つを選択するために、クロスバー・マトリクス１４４’の各出力ポートに設けられる。制御信号は、フレーム・ヘッダの存在を示すためにデマルチプレクサ４００を経てフレーム・ヘッダ・デコーダ１２８へ入力ポート１０３，１０３にて提供される。これは、アービタ１４６のコントロールの下で、クロスバー１４４’を経て入力バッファアドレスの抽出を可能にする。クロスバー１４４’からの出力伝送の後に、フレーム・ヘッダは、前方の宛先位置にシフトし、現在のルート・システム３の宛先位置を削除するためにモディファイされる。フレーム・ヘッダ・モディファイア１５０からの出力の後、フレームはＮ幅ワードから交換するためにマルチプレクサ１５１によりマルチプレックスされ、Ｎ幅ワードは、立上がり及び立下がりクロックエッジにてトリガされた各半クロックサイクルのＮ／２幅の半ワードを提供するための各クロックサイクルで送信される。
図５Ａは、本発明による、隣接スイッチング・ユニットからのデータ、クロック及び制御信号を受信するための第１フローコントロール・パスシステム４９０のブロック図である。特に、選択されたスイッチング・ユニットにおけるフロー制御は、所定のビット数（ｎ）に対してｎ／２幅であるパス上でのフロー制御情報を受けることにより達成される。フロー制御情報は、スイッチング・ユニットにて到達したデータと同じパス上で、タイム・マルチプレックスされる。図５Ａに示すように、フロー制御情報は、ｎビット幅の内部二重幅パスにデマルチプレクサ５０１（ＤｅＭｕｘ）によりデマルチプレックスされる。入力クロック範囲からの入来情報の同期のために、フロー制御情報は、同期中の情報損失を避けるためにフローコントロール（ＦＣ）・アキュミュレータ５０２（ＦＣＡｃｃｕｍ）にてアキュミュレートされる。第１のフローコントロール・パスシステム４９０は、さらに受信した情報を評価しアービトレーション・ユニット５０４に制御信号を進めるためのフローコントロール・レシーバ５０３を含む。加えて、フローコントロール・レシーバ５０３はフレーム・ヘッダ・モディファイア５０５へ入手可能なバッファ・エレメント・アドレスを進める。
図５Ｂは、第１のフローコントロール・パスシステム４９０の動作フローチャートである。特に、フロー制御情報は受信され（５１０）、デマルチプレックスされ（５１１）、アキュミュレートされ（５１２）（それにより同期され）、評価され（５１３）、そして特定の出力ポートに関係したアービトレーション・ユニット５０４に提供される（５１４）。加えて、情報はパケット・ヘッダ・モディファイア５０５に提供される。
図５Ｃは、本発明による第２のフローコントロール・パスシステム４９１のブロック図である。特に、第２のフローコントロール・パスシステム４９１は、入力バッファ・ステータス決定エレメント５０６と、フローコントロール・トランスミッタ５０７と、マルチプレクサ５０８を含む。
図５Ｄは、本発明によるフローコントロール・パスの第２の部分のフローチャートである。特に、図５Ｄは第２のフローコントロール・パスシステム４９１の動作フローチャートである。第２のフローコントロール・パスシステム４９１は、入力バッファ・ステータスを決定し（５２０）、フローコントロール・トランスミッタ５０７からの入力バッファ・ステータス情報を送信し（５２１）、内部Ｎビット幅パスから外部Ｎ／２ビット幅パスの次ノードへのＮ−ビット通信のための入力バッファ・ステータス情報とともにフローコントロール・メッセージをマルチプレックスする（５２２）。
図６は本発明によるルータ・チップ・システム３の部分ブロック図である。本発明によるルータ・チップ・システム３は、その１つが図１に示される複数の入力ポート６０４を含むバーチャル・カットスルー・パケットスイッチを含む。各入力ポート６０４ｉは、複数のバッファ・エレメント６０５ｉと関係しており、その各々は出力ライン６１６ａ〜６１６ｆのなかの選択された１つに接続可能な対応するクロスバー入力ライン６１５ｉ（ｊ）に関係している。各入力ポート６０４は対称的であり、中央クロスバー・スイッチ１４４’と関係している。各ポート６０４はＫ入力ラインを含み、多段エントリ入力バッファ・ユニット６０５及びアービタ６０６に接続される。
アービタ６０６は、クロスバー出力ユニット６１０ａ〜６１０ｆに関係した複数のアービタ・ユニット６０６ａ〜６０６ｆを含む。各クロスバー出力ユニット６１０ｉは、複数のヘッダ・モディフィケーション・ユニット６０７ｉを含むヘッダ・モディフィケーション回路６０７に接続された関連出力ライン６１６ｉを含む。ヘッダ・モディフィケーション・ユニット６０７は、複数のドライバー・エレメント６０８ｉを含むドライバー回路６０８に接続される。各ドライバー・エレメント６０８ｉは対応するヘッダ・モディフィケーション・ユニット６０７ｉからのデータを受ける。出力データは、従ってクロック６０６に従って出力ライン６０９上に生じる。
図７Ａは、本発明による送信されたフレーム６７０のブロック図である。特に、フレーム６７０はフレーム・ヘッダ６７１とパケット６７２を含む。フレーム・ヘッダ６７１を出力ポート数のフィールド、プライオリティ・フィールド及び入力バッファ・アドレスを含む。パケット６７２はさらにパケット・ヘッダ６７３、エラー検出コード（ＥＤＣ）６７４、及びデータ６７５を含む。
図７Ｂは、本発明による方法のフローチャートである。図７Ｂに示す方法によれば、フレーム・ヘッダ６７１はルータ・システム３により受信される（７００）。加えて、ルータ・システム３は、フレーム６７０の到達とさらに完全な伝送の係属を指示するために、フレーム６７０と並列にフレーム・エンベロープ信号を受ける。本発明による一つの実施形態によれば、フレーム・エンベロープ信号は、以下の図７Ｄで詳しく説明するように、ノッチを含む。本発明によれば、フレーム・ヘッダ出力ポート数、プライオリティ・フィールド及び入力バッファアドレスはコピーされる（７０１）。次に、フレーム６７０は、入力クロックの立上がりで選択された入力バッファに流れる（７０２）。出力ポートは、プレジオクロナスに個々にクロックされる。加えて、マルチプレクサ１２８’は、ライン１２８”の一つに沿って、フレーム・ヘッダにて選択された出力ポートに従って専用のアービタ１４６に接続され、接続の選択上でアービトレートする専用のアービタ１４６の正しいプライオリティのＦＩＦＯに入力バッファアドレスのエントリーを可能にし、出力ポートの接続に特定の入力バッファを選択し、そして「許可」信号を送る。さらに、クロスバー接続は、選択された出力ポートと選択された入力ポートの間で確立される（７０４）。さらに、フレーム・ヘッダ６７１、ＥＤＣ６７４、パケット・ヘッダ６７３、データ６７５は、出力又はローカルクロックの立上がりエッジにおいて、選択された出力ポートを経て、ルータ・システム３から流れ、本発明によれば、正確な同期入力及び出力クロックを要求しない。
最後に、フレーム・テール・ノッチが検出され（７０６）、出力ポートからのデータ伝送を停止し、特定の入力バッファ及び出力ポートの間のクロスバー接続を廃止する。
図７Ｃは、本発明によるアービタ機能のフローチャート（７７０）である。特に、図７Ｃのフローチャートは本発明によるアービタ１４６の特徴を示す。本発明による方法は、フィリング(filling)７７１を含み、アービタ１４６の選択された１つが関係する出力ポートが接続された選択された入力バッファのアドレスをもったアービタ１４６の特定の先入れ先出し（ＦＩＦＯ）バッファを含む。次に、特定のＦＩＦＯは、クロスポイント・スイッチ１４４’の特定のクロスポイントを選択するために読み出され（７７２）、関連出力ポートと選択された入力バッファの間の接続を行う。
図７Ｄは、本発明によるフレーム・エンベロープ信号１０２（Ｆ＿ＥＮＶ）のタイミング図である。フレーム・エンベロープ信号１０２は、図１に示すようにデータと並列にバッファ１０５に提供される。図７Ｄは第１及び第２の論理状態，１及び０，を持つフレーム・エンベロープ信号１０２を示す。本発明の一つの実施形態によれば、フレーム・エンベロープ信号１０２は、並列データが並列に提供されないときは０に設定される。フレーム・エンベロープ信号１０２は、並列データが提供されたときは時刻ｔ０において論理状態１に立ち上がる。並列データは時刻ｔ３にて提供されて終了し、その時間にてフレーム・エンベロープ信号１０２の論理状態は０に戻る。本発明によれば、ゼロに戻ることは、所定の時刻ｔ１及びｔ２の間でフレーム・エンベロープ信号１０２の信号レベルにてノッチにより予期され、その期間の間、フレーム・エンベロープ信号１０２の論理レベルはゼロ論理レベルにて持続する。このような予期は、選択された入力バッファを特定の出力ポートに接続する専用状態からクロスバー・スイッチ１４４’のタイムリーな開放を容易にする。
図７Ｅは、本発明によるフレーム・カット・スルーのタイミング図であり、ヘッダ及びデータ情報の伝送は情報の独立なワードにずらされる。図７Ｄに示すように、フレーム・エンベロープ信号１０２の時刻ｔ０及びｔ３の間は、ヘッダ及びデータ情報は選択されたルート・チップを経て伝送される。特に、データのワード及びヘッダ情報は独立のワードで伝送され、伝送は、全てのデータが以前に選択された入力ポート・バッファにより受けられたか否かをチェックすることなく、選択された入力バッファにてヘッダに関して直ちに開始する。従って、特定フレームのヘッダは、特定フレームの全てのワードがいずれか指定された入力バッファにて受けられたか否かをチェックすることを抑止せずに、既に次のルータ・チップに伝送される。
【図１】
0003816530.tif 000002
【図２】
0003816530.tif 000003
【図３Ａ】
0003816530.tif 000004
【図３Ｂ】
0003816530.tif 000005
【図３Ｃ】
0003816530.tif 000006
【図３Ｄ】
0003816530.tif 000007
【図４Ａ】
0003816530.tif 000008
【図４Ｂ】
0003816530.tif 000009
【図５Ａ】
0003816530.tif 000010
【図５Ｂ】
0003816530.tif 000011
【図５Ｃ】
0003816530.tif 000012
【図５Ｄ】
0003816530.tif 000013
【図６】
0003816530.tif 000014
【図７Ａ】
0003816530.tif 000015
【図７Ｂ】
0003816530.tif 000016
【図７Ｃ】
0003816530.tif 000017
【図７Ｄ】
0003816530.tif 000018
【図７Ｅ】
0003816530.tif 000019