(57)【要約】順列リングネットワークは、複数のデータ転送ステーションを各々有する複数の双方向ソース同期リングネットワークと、複数の通信ノードとを含む。各通信ノードは、複数の双方向ソース同期リングネットワークの各々におけるデータ転送ステーションのうちの１つに接続される。【選択図】図１Ａ
2019536399.tif 000002
【特許請求の範囲】
【請求項１】
順列リングネットワークであって、
複数のデータ転送ステーションを各々有する複数の双方向ソース同期リングネットワークと、
複数の通信ノードとを含み、
前記通信ノードの各々は、前記複数の双方向ソース同期リングネットワークの各々における前記複数のデータ転送ステーションのうちの１つに接続されることを特徴とする順列リングネットワーク。
【請求項２】
請求項１に記載の順列リングネットワークであって、
前記通信ノードの各々は、他の通信ノードの各々への接続を含み、
前記接続は、互いに隣接する前記データ転送ステーション間の直接接続を含むことを特徴とする順列リングネットワーク。
【請求項３】
請求項１に記載の順列リングネットワークであって、
互いに隣接する前記データ転送ステーションのユニークなペアが、前記通信ノードの各ペア間の接続を提供することを特徴とする順列リングネットワーク。
【請求項４】
請求項１に記載の順列リングネットワークであって、
前記双方向ソース同期リングネットワークは、第１のクロックドメインで動作し、
前記通信ノードの少なくとも１つは、前記第１のクロックドメインとは異なる第２のクロックドメインで動作することを特徴とする順列リングネットワーク。
【請求項５】
請求項１に記載の順列リングネットワークであって、
前記通信ノードの可能なペアの各々の間の通信のための前記双方向ソース同期リングネットワーク上の通信パスを定義するルーティングテーブルをさらに含むことを特徴とする順列リングネットワーク。
【請求項６】
請求項５に記載の順列リングネットワークであって、
前記ルーティングテーブルは、
前記データ転送ステーションを２つだけ含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、前記通信ノードの可能なペアの第１のグループと、
前記データ転送ステーションを３以上含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、通信ノードの可能なペアの第２のグループとを指定することを特徴とする順列リングネットワーク。
【請求項７】
請求項６に記載の順列リングネットワークであって、
前記第１のグループは、第１の通信帯域幅を必要とする通信ノードのペアを含み、
前記第２のグループは、第２の通信帯域幅を必要とする通信ノードのペアを含み、
前記第１の通信帯域幅は前記第２の通信帯域幅よりも大きいことを特徴とする順列リングネットワーク。
【請求項８】
請求項５に記載の順列リングネットワークであって、
前記ルーティングテーブルは、
前記双方向ソース同期リングネットワークのうちの１つのネットワーク上の通信パスを介して通信する前記通信ノードの可能なペアの第１のグループと、
前記双方向ソース同期リングネットワークのすべてのネットワーク上の通信パスを介して通信する前記通信ノードの可能なペアの第２のグループとを指定することを特徴とする順列リングネットワーク。
【請求項９】
請求項１に記載の順列リングネットワークであって、
当該順列リングネットワークは、少なくとも３つの双方向ソース同期リングネットワークを含むことを特徴とする順列リングネットワーク。
【請求項１０】
請求項１に記載の順列リングネットワークであって、
前記データ転送ステーションと前記通信ノードとの間の通信はソース同期方式で行われることを特徴とする順列リングネットワーク。
【請求項１１】
請求項１に記載の順列リングネットワークであって、
前記データ転送ステーション及び前記通信ノードは、単一の集積回路チップ上に製造されることを特徴とする順列リングネットワーク。
【請求項１２】
請求項１に記載の順列リングネットワークであって、
前記通信ノードは、前記双方向ソース同期リングネットワーク内の異なる相対位置を有する前記データ転送ステーションに接続されることを特徴とする順列リングネットワーク。
【請求項１３】
集積回路チップ上の複数の通信ノード間でデータを転送する方法であって、
前記通信ノードから複数の双方向リングネットワークにメッセージを送信するステップであって、前記双方向リングネットワークの各々は、環状に接続された複数のデータ転送ステーションを含み、前記各通信ノードは、前記各双方向リングネットワーク内の前記データ転送ステーションにメッセージを送信する、該ステップと、
前記双方向リングネットワークの前記データ転送ステーション間で、ソース同期方式でメッセージを送信するステップとを含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願）
本出願は、２０１７年１１月１７日出願の「順列リングネットワーク」と題する米国特許出願第１５／８１６、３７４号、及び２０１６年１１月２３日出願の「順列リングネットワーク」と題する米国仮特許出願第６２／４２５、７９８号に基づく優先権を主張するものである。上記両出願の開示内容は、参照により本明細書に援用される。
【０００２】
（技術分野）
本発明は、複数のリングネットワークを有する順列リングネットワークに関し、より詳細には、拡張性、高帯域幅及び低レイテンシを有するポイントツーポイントのオンチップ通信ソリューションを提供する順列リングネットワークに関する。
【背景技術】
【０００３】
オンチップ通信システムはスケーリング問題を有しており、チップ内通信ノード数とオンチップデータ帯域幅に対する要求が依然として増加している。高速シリアライズ／デシリアライズ（ＳＥＲＤＥＳ）通信プロトコルは、ピンあたり１００Ｇｂ／秒の動作帯域幅を提供する傾向にある。このため、１０００ピンを有するチップは、最大で１００テラビット／秒のチップ入出力（Ｉ／Ｏ）帯域幅を必要とする。これらの仕様をサポートするためのオンチップ通信帯域幅を提供することが求められている。この帯域幅を必要とするシステムの例としては、ラックスケールデータセンター用のスイッチファブリック、ニューラルネットワーク、ＧＰＵコンピューティングシステム、システムレベルのフィールドプログラマブルゲートアレイ（ＦＰＧＡ）、チップ上のマルチコアシステム（ＳｏＣ）、及び高性能マルチコア及びマルチバンク化ラストレベルキャッシュ用のコヒーレンスメモリバスが挙げられる。
【０００４】
オンチップ通信の物理的制限は、オンチップ配線の長さを含み、これは、遅延及び動作周波数にとって重要である。長い配線は、周波数がネットワーク帯域幅に直接的に影響するため、性能を著しく低下させる。ファンアウトの高いノードでは、位置及びルートの混雑（place and route congestion）が発生し、ネットワークにゲート遅延及びワイヤ遅延を追加するため、帯域幅をさらに低下させる。
【０００５】
オンチップ通信ネットワークは、一般に、共通クロック信号に応答して動作する同期システムとして実現される。クロック分配は、大規模高帯域幅オンチップネットワークの構築における大きな障害となる。より具体的には、クロックスキューは、ネットワークの動作周波数を制限し、必要なクロック電力は、ネットワークに制限を課す。
【０００６】
加えて、一般的な通信ネットワークトポロジには、通信ノードの数を増加させることと、高い動作周波数を維持することに関して問題点が存在する。
【０００７】
一般的な通信ネットワークトポロジは、（１）フルメッシュトポロジ、（２）クロスバートポロジ、及び（３）トーラスネットワークトポロジを含む。これらの各ネットワークトポロジでは、システムの遅延及び動作周波数は、相互接続の配線長さが増加するにしたがって著しく低下する。さらに、高ファンアウトノードは、システムの速度及び電力性能をさらに低下させることとなる位置及びルートの混雑を引き起こす。
【０００８】
フルメッシュトポロジでは、帯域幅は、値Ｎ＊（Ｎ−１）／２によって定義することができる。ここで、Ｎは、ネットワーク内のノードの数である。しかし、フルメッシュトポロジシステムのファンアウトは、ノードの数（Ｎ）が増えるにしたがって増加する。
【０００９】
クロスバートポロジでは、必要なマルチプレクサの数は、ネットワーク内のノード数（Ｎ）が増加するにしたがって、Ｎ＊＊２のスケーリング係数で増加する。加えて、マルチプレクサあたりの入力数は、ノード数（Ｎ）が増加するにしたがって、Ｎのスケーリング係数で増加する。
【００１０】
トーラスネットワークトポロジでは、ノード数（Ｎ）が増加してもスループットはスケーリングされない。しかしながら、ノードのファンアウトは、望ましくないことに、ノード数（Ｎ）が増加するにしたがって、Ｌｏｇ（Ｎ）のスケーリング係数で増加する。
【００１１】
これらのネットワークトポロジは、完全なワイヤではないオンチップ相互接続を使用して実現されるため、これらのネットワークの遅延及び動作周波数は、ワイヤの長さが長くなるにしたがって著しく低下する。加えて、高ファンアウトノードは、ネットワークの速度及び電力性能を低下させることとなる位置及びルートの混雑を引き起こす。
【００１２】
一方、ムーアの法則に関連するスケーリングと新しいコンピューティングパラダイムの出現によりオンチップ通信ノードの数は増加するので、より多くのオンチップ帯域幅が必要とされる。しかしながら、オンチップノード数の増加は、従来のネットワークトポロジを使用する場合、配線長さの増加とルーティング混雑（routing congestion）に起因してシステム帯域幅を低下させる。この結果、オンチップ帯域幅スケーリングの「壁」により、オンチップ通信ネットワークの発展は実質的に制限される。
【００１３】
したがって、オンチップ帯域幅スケーリングの壁を克服することができる改善されたネットワークトポロジを有することが望ましい。また、このような通信ネットワークは、スケーリングが容易であり、１０００以上のオンチップ通信ノード間の通信を提供できることが望ましい。さらに、このような通信ネットワークは、高帯域幅で動作することができ、毎秒ペタビット以上のオンチップ通信帯域幅を提供することが望ましい。このような通信ネットワークは、低レイテンシ（例えば、１００ｎｓ未満のレイテンシ）を有することがさらに望ましい。
【発明の概要】
【課題を解決するための手段】
【００１４】
したがって、本発明は、複数の通信ノードと、複数のデータ転送ステーションを各々有する複数の双方向ソース同期リングネットワークとを含む順列リングネットワークを提供する。各通信ノードは、複数の双方向ソース同期リングネットワークの各々におけるデータ転送ステーションのうちの１つに接続される。リングネットワーク上でデータを送信するために使用されるソース同期技術は、クロック分配問題を軽減する。双方向ソース同期リングネットワークの数は、様々な通信ノード間の通信に必要な帯域幅を提供するように選択することができる。このようにして、本発明の同期リングネットワークは、容易にスケーリングすることができる。
【００１５】
本発明は、以下の説明及び図面を参照することによって、より完全に理解されるであろう。
【図面の簡単な説明】
【００１６】
【図１Ａ】本発明の一実施形態による、８つの通信ノードと３つの双方向ソース同期リングネットワークとを含む順列リングネットワークのブロック図
【図１Ｂ】本発明の一実施形態による、図１Ａの順列リングネットワークの通信リンクの１つを示すブロック図
【図１Ｃ】本発明の一実施形態による、図１Ｂの様々な信号のソース同期タイミングを示す波形図
【図２】本発明の一実施形態による、図１Ａの順列リングネットワークの３つのリングネットワークの通信ノード及びデータ転送ステーション間の接続を定義する相互接続マトリクス
【図３】本発明の一実施形態による、図１Ａの順列リングネットワークを通る通信ノード間のトラフィックの流れを定義するルーティングテーブル
【図４】本発明の一実施形態による、図３のルーティングテーブルにおける、互いに隣接するデータ転送ステーション間の帯域幅を定義する帯域幅推定テーブル
【図５】本発明の別の実施形態による、８つの通信ノードと３つの双方向ソース同期リングネットワークとを含む順列リングネットワークのブロック図
【図６】本発明の一実施形態による、図５の順列リングネットワークの３つのリングネットワークの通信ノード及びデータ転送ステーション間の接続を定義する相互接続マトリクス
【図７】本発明の一実施形態による、図５の順列リングネットワークを通る通信ノード間のトラフィックの流れを定義するルーティングテーブル
【図８】本発明の一実施形態による、図７のルーティングテーブルにおける、互いに隣接するデータ転送ステーション間の帯域幅を定義する帯域幅推定テーブル
【図９】本発明の別の実施形態による、８つの通信ノードと４つの双方向ソース同期リングネットワークとを含む順列リングネットワークのブロック図
【図１０】本発明の一実施形態による、図９の順列リングネットワークの４つのリングネットワークの通信ノード及びデータ転送ステーション間の接続を定義する相互接続マトリクス
【図１１】本発明の一実施形態による、図９の順列リングネットワークを通る通信ノード間のトラフィックの流れを定義するルーティングテーブル
【図１２】本発明の一実施形態による、通信ノード及びそれに対応するデータ転送ステーションを示すブロック図
【図１３】本発明の別の実施形態による、通信ノード及びそれ対応するデータ転送ステーションを示すブロック図
【発明を実施するための形態】
【００１７】
一般に、本発明は、複数のネットワークノード間で共有される複数の双方向ソース同期通信リングネットワークを含む、順列リングネットワークアーキテクチャを提供する。ソース同期技術がクロック分配問題を軽減するために使用され、送信ノードがクロックとデータとの両方を受信ノードに送信する。受信ノードは、受信したクロックを使用してデータをラッチする。クロックファンアウトは、データバス幅のサイズに制限される。クロックスキューは、クロックと対応するデータとの間の遅延関係によって設定される。ソース同期技術は、ポイントツーポイント相互接続（例えば、リングネットワーク）でのみ機能することに留意されたい。ポイントツーポイントネットワークを実現するためには、多数のオンチップ相互接続リソースが必要となる。また一方、ムーアの法則により、プロセス技術が進歩するにしたがって、金属層の数が増加し、金属ピッチが減少し、単位面積あたりより多くのワイヤが利用可能になり、それにより、ポイントツーポイントネットワークを実現するために必要なオンチップ相互接続リソースが提供されることが予測される。
【００１８】
双方向ソース同期リングネットワークは、本発明の順列リングネットワークアーキテクチャのビルディングブロックを提供する。双方向リングネットワークは、１のファンアウト（すなわち、ネットワークの各ノードに対して各方向に１つの入力及び１つの出力）を提供する単純なポイントツーポイントネットワークである。しかしながら、双方向ソース同期リングネットワークは、本明細書では「ホッピング損失」と称する基本性能制限を有する。ホッピング損失は、メッセージが、リングネットワーク上の送信ノードと受信ノードの間に存在するノードを「ホップ」する必要がある場合に発生する。以下でより詳細に説明するように、本発明の順列リングネットワークでは、ホッピング損失は、互いに隣接するノード間で利用可能なパスを最大にすることによって最小化または排除される。ソース同期信号技術を使用することにより、高速、低スキュー、かつ低電力の通信が、順列リングネットワーク上で可能となった。特定の実施形態では、本発明の順列リングネットワークは、約１０００個のオンチップ通信ノード、及び毎秒ペタビットのオンチップ通信帯域幅を可能にする。この順列リングネットワークは、電力効率、並びに、広範囲のネットワークサイズ、オンチップリソース制約、帯域幅要件及びアプリケーション個別最適化についての解決策を提供する。
【００１９】
図１Ａは、本発明の一実施形態による、順列リングネットワーク１００のブロック図である。図示の実施形態では、順列リングネットワーク１００は、各々が同一の集積回路チップ上に製造された８つの通信ノードＮ０〜Ｎ７と、３つの双方向ソース同期リングネットワーク１０１、１０２及び１０３とを含む。詳細については後述するが、リングネットワーク１０１〜１０３の各々は、通信チャネルとして機能する。図示の順列リングネットワーク１００は、８つの通信ノードＮ０〜Ｎ７及び３つの通信チャネル１０１〜１０３を含むが、他の実施形態では、他の数の通信ノード及びチャネルを使用できることを理解されたい。一般に、チップ上の通信ノードの数は値Ｎで識別され、双方向リングネットワークの数は値Ｍで識別される。通信チャネル（Ｍ）の数は、通信ネットワークの帯域幅要件と通信ネットワークのエリア電力制約との間の適切なトレードオフを提供するように選択される。この選択を行うための基礎は、以下でより詳細に説明される。
【００２０】
通信チャネル１０１〜１０３の各々は、双方向リンク（相互接続）によって接続された複数のデータ転送ステーションを含む。より具体的には、通信チャネル１０１はデータ転送ステーションＡ０〜Ａ７を含み、通信チャネル１０２はデータ転送ステーションＢ０〜Ｂ７を含み、通信チャネル１０３はデータ転送ステーションＣ０〜Ｃ７を含む。通信チャネル１０１の双方向リンクは、データ転送ステーションＡ０〜Ａ７をリング状に接続する実線として示されている。通信チャネル１０２の双方向リンクは、データ転送ステーションＢ０〜Ｂ７をリング状に接続する破線として示されている。通信チャネル１０３の双方向リンクは、データ転送ステーションＣ０〜Ｃ７をリング状に接続する一点鎖線として示されている。双方向リンクは、データ／クロック信号の時計回り方向及び反時計回り方向の両方への同時送信を可能にする。
【００２１】
一般に、データ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７の各々は、通信ノードＮ０〜Ｎ７と通信チャネル１０１〜１０３との間のデータ転送を可能にするインタフェースを提供する。データ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７、通信ノードＮ０〜Ｎ７の構造及び動作の詳細は、以下でより詳細に提供される。
【００２２】
一般に、通信チャネル１０１〜１０３の各々は、マスタークロック信号を受信するように接続される。したがって、図１Ａの例では、通信チャネル１０１、１０２及び１０３はそれぞれ、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣを受信するように接続される。図示の実施形態では、データ転送ステーションＡ０、Ｂ０及びＣ０はそれぞれ、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣを受信するように接続される。しかし、他の実施形態では、通信チャネル１０１、１０２及び１０３内の他のデータ転送ステーションがそれぞれ、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣを受信するように接続されてもよい。３つの別個のマスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣが示されているが、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣの各々は、単一のマスタークロック信号に由来することを理解されたい。本実施形態では、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣの周波数は互いに同一である。
【００２３】
従来のクロック生成回路（例えば、位相同期ループ回路）を使用して、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣを生成することができる。本実施形態では、マスタークロック信号は、約５ＧＨｚ以上の周波数を有し得る。他の実施形態では、マスタークロック信号は、他の周波数を有し得ることを理解されたい。マスタークロック信号の周波数及び電圧は、リングネットワークアーキテクチャの帯域幅受容及び電力最適化に基づいてスケーリングすることができる。図示の実施形態では、データ転送ステーションＡ０、Ｂ０及びＣ０はそれぞれ、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣを受信する。他のデータ転送ステーションの各々は、それに隣接するデータ転送ステーションから、そのクロック信号を受信する。すなわち、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣはそれぞれ、通信チャネル１０１、１０２及び１０３の各データ転送ステーションに順次に効率良く転送される。
【００２４】
各通信チャネル１０１、１０２及び１０３は、それに対応するマスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣにソース同期して動作する。図１Ｂは、通信チャネル１０１におけるデータ転送ステーションＡ０とデータ転送ステーションＡ１との間の通信リンクのうちの１つを示すブロック図である。この通信リンクは、メッセージＭＳＧ＿Ａを、データ転送ステーションＡ０内のステーションロジック１２０からデータ転送ステーションＡ１内のステーションロジック１３０に、マスタークロック信号ＣＫＡに基づくソース同期方式で送信することを可能にする。データ転送ステーションＡ１からデータ転送ステーションＡ０への、マスタークロック信号ＣＫＡに基づくソース同期方式でのメッセージの送信を提供する同一の通信リンクが存在することを理解されたい（すなわち、双方向通信が提供される）。さらに、各通信チャネル１０１〜１０３における互いに隣接するデータ転送ステーションの各ペアは、同様の双方向ソース同期通信リンクを有することを理解されたい。
【００２５】
図１Ｂは、ステーションロジック１２０、遅延ライン１２１、マルチプレクサ１２２、クロック信号ライン１４１、メッセージバス１４２、及びステーションロジック１３０を含む、データ転送ステーションＡ０からデータ転送ステーションＡ１へのメッセージ及びクロック信号の送信に関するデータ転送ステーションＡ０及びＡ１の関連部分を示す。図１Ｃは、本発明の一実施形態による、図１Ｂの様々な信号のソース同期タイミングを示す波形図である。
【００２６】
一般に、データ転送ステーションＡ０は、２つのパス上に出力メッセージを送信することができる。第１のパスでは、（例えば、隣接するデータ転送ステーションＡ７から）ステーションロジック１２０によって受信されたメッセージＭＳＧ＿Ａは、データ転送ステーションＡ１に転送される。この場合、ステーションロジック１２０は、メッセージＭＳＧ＿Ａをマルチプレクサ１２２に転送する。マルチプレクサ１２２は、このメッセージを出力メッセージＭＳＧ＿ＡＩＮとしてルーティングするように制御される。ステーションロジック１２０及びマルチプレクサ１２２は、マスタークロック信号ＣＫＡに対する遅延ＤＡ０をメッセージに導入する。
【００２７】
第２のパスでは、データ転送ステーションＡ０に接続された通信ノード（例えば、通信ノードＮ１）によって提供されたメッセージが、マルチプレクサ１２２を介してルーティングされる。マルチプレクサ１２２は、このメッセージを出力メッセージＭＳＧ＿ＡＩＮとしてルーティングするように制御される。通信ノード及びマルチプレクサ１２２は、マスタークロック信号ＣＫＡに対する遅延ＤＡ０をメッセージに導入する。図１Ｃは、マスタークロック信号ＣＫＡと送信メッセージＭＳＧ＿ＡＩＮとの間に存在する遅延ＤＡ０を示す。
【００２８】
送信メッセージＭＳＧ＿０ＡＩＮは、マスタークロック信号ＣＫＡに対して遅延されているので、遅延ライン１２１を用いてマスタークロック信号ＣＫＡに遅延Ｄ１２１を加えることにより、データ転送ステーションＡ０の送信クロック信号ＣＫＡＩＮが生成される。遅延ライン１２１によって導入される遅延Ｄ１２１は、クロック信号ＣＫＡＩＮが、データ転送ステーションＡ０から送信されたメッセージＭＳＧ＿ＡＩＮに対して適切なセットアップ／ホールドタイムを有することを確実にするために選択される。一実施形態では、遅延ライン１２１の遅延Ｄ１２１は、上述したノード遅延ＤＡ０と等しくされる。すなわち、送信メッセージＭＳＧ＿ＡＩＮは、データ転送ステーションＡ０（及び関連する通信ノード）の既知の内部遅延を用いて、送信クロック信号ＣＫＡＩＮと同期される。
【００２９】
データ転送ステーションＡ０とデータ転送ステーションＡ１との間のクロック信号ライン１４１とメッセージバス１４２を実現するために使用されるクロック信号ライン構造１４１Ｄ及びメッセージバス構造１４２Ｄは、著しい遅延（例えば、バッファ遅延）を示し得ることに留意されたい。クロック信号ライン構造１４１Ｄ及びメッセージバス構造１４２Ｄによって導入された遅延は、遅延Ｄ１４１及び遅延Ｄ１４２とそれぞれ示される。したがって、データ転送ステーションＡ１によって受信されたクロック信号ＣＫＡＯＵＴは、データ転送ステーションＡ０から送信されたクロック信号ＣＫＡＩＮに対してＤ１４１だけ遅延される。同様に、データ転送ステーションＡ１によって受信されたメッセージＭＳＧ＿ＡＯＵＴは、データ転送ステーションＡ０から送信されたメッセージＭＳＧ＿ＡＩＮに対してＤ１４２だけ遅延される。この関係を図１Ｃに示す。（ＣＫＡＩＮ及びＭＳＧ＿ＡＩＮの生成時に）データ転送ステーションＡ０によって確立された所望のセットアップ／ホールドタイムを維持するためには、遅延Ｄ１４１及びＤ１４２は互いに同一でなければならない。そのため、セットアップ／ホールドタイムの損失を最小限に抑えるためには、クロック信号ライン構造１４１Ｄ及びメッセージバス構造１４２Ｄを実施するために使用される配線及びバッファを高度に均一化し、かつバランスを取ることが非常に重要である。すなわち、クロックパス構造１４１Ｄ及びメッセージバス構造１４２Ｄは、送信クロック信号ＣＫＡＩＮと送信メッセージＭＳＧ＿ＡＩＮとの相対位相が、送信クロック信号ＣＫＡＯＵＴと受信メッセージＭＳＧ＿ＡＯＵＴとにおいて受信側のデータ転送ステーションＡ１で維持されるように、データ転送ステーションＡ０とＡ１との間で実質的に同一の送信特性を提供するべきである。
【００３０】
上述した例では、クロックパス１４１及びメッセージバス１４２は、ウェーブパイプラインシステムとして動作し、メッセージバス１４２上で送信されたメッセージは、クロックパス１４１上で送信されたクロック信号を使用してソース同期方式で受信ノードにラッチされる。このようにして、メッセージは、データ転送ステーションＡ０からデータ転送ステーションＡ１へマスタークロック信号ＣＫＡの周波数で送信され、これにより、データ転送ステーションＡ０からデータ転送ステーションＡ１への高速データ送信が可能となる。通常動作中、各データ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７、及びＣ０〜Ｃ７内のステーションロジックは、対応する受信クロック信号に応答して入力メッセージをラッチする。
【００３１】
ポイントツーポイントのソース同期通信が実現されるので、クロック信号ライン構造１４１Ｄ及びメッセージバス構造１４２Ｄの配線及びバッファ遅延Ｄ１４１及びＤ１４２は、通信チャネル１０１〜１０３の動作周波数を低下させない。一実施形態によれば、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣの周波数は、通信ノードＮ０〜Ｎ７を動作させるために使用されるローカルクロック信号の周波数よりも高い。
【００３２】
データ転送ステーションのステーションロジックは比較的単純な設計であるため、順列リングネットワーク上でのメッセージの送信は、比較的高い周波数で行うことができる。通信ノードＮ０〜Ｎ７は一般的に、より複雑な設計であり、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣの周波数よりも低い周波数で動作する。すなわち、通信ノードＮ０〜Ｎ７は、順列リングネットワークからメッセージをマスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣの周波数で受信するが、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣの周波数で応答する必要はない。
【００３３】
通信チャネル１０１〜１０３の環状構造は、データ転送ステーションＡ０、Ｂ０及びＣ０（例えば、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣを受信するデータ転送ステーション）が受信したメッセージをそれぞれ、マスタークロック信号ＣＫＡ、ＣＫＢ及びＣＫＣと再同期させる必要があることに留意されたい。例えば、データ転送ステーションＡ７からデータ転送ステーションＡ０に送信されるメッセージは、データ転送ステーションＡ７内のマスタークロック信号ＣＫＡの遅延バージョンと同期される。この結果、データ転送ステーションＡ０内でのクロックドメインクロッシング同期が必要となる（すなわち、データ転送ステーションＡ７から受信したメッセージは、データ転送ステーションＡ０内のマスタークロック信号ＣＫＡと再同期させる必要がある）。一実施形態では、再同期回路（図示しない）は、データ転送ステーションＡ７から受信した入力クロック信号に応答して入力メッセージを第１のフリップフロップにラッチすることによって、この同期化動作を実行する。この第１のフリップフロップの出力に提供されたメッセージは、その後、マスタークロック信号ＣＫＡに応答して第２のフリップフロップにラッチされる。第２のフリップフロップは、ステーションロジック１２０に供給される同期メッセージＭＳＧ＿Ａを供給する。この同期メッセージＭＳＧ＿Ａは、マスタークロック信号ＣＫＡに応答してステーションロジック１２０に格納される。
【００３４】
ここで、順列リングネットワーク１００のトポグラフィに戻ると、各通信ノードＮ０〜Ｎ７は、３つの通信チャネル１０１〜１０３の各々における、データ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７のうちのユニークな（一意の）ステーションに接続される。例えば、通信ノードＮ０は、通信チャネル１０１のデータ転送ステーションＡ１、通信チャネル１０２のデータ転送ステーションＢ０、通信チャネル１０３のデータ転送ステーションＣ０に接続される。下記の表１は、本実施形態による、各通信ノードＮ０〜Ｎ７とデータ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７との間の接続を定義する。分かりやすくするために、通信ノードＮ１〜Ｎ７とデータ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７との間の物理的接続は、図１Ａに明確に示されていないことに留意されたい。
【００３５】
【表１】
2019536399.tif 000003
【００３６】
図２は、３つの通信チャネル１０１〜１０３の相互接続マトリクス２００を提供するために、表１のデータを整理し直したものである。相互接続マトリクス２００は、各通信チャネル１０１〜１０３のデータ転送ステーションによって順序付けられる。この相互接続マトリクス２００によって、各通信チャネル１０１〜１０３上の通信ノードＮ０〜Ｎ７間のホップ数を容易に決定することができる。通信ノードＮ０〜Ｎ７は、３つの通信チャネル１０１〜１０３における、相対位置が互いに異なるデータ転送ステーションに接続されていることに留意されたい。以下でより詳細に説明するように、この構成は、通信ノード間のメッセージの汎用的かつ効率的なルーティングを可能にする。
【００３７】
図３は、本実施形態による、順列リングネットワーク１００を通る通信ノードＮ０〜Ｎ７間のトラフィックの流れを定義するルーティングテーブル３００である。例えば、通信ノードＮ０及びＮ１は、通信チャネル１０１上のデータ転送ステーションＡ０とデータ転送ステーションＡ１との間のパスを使用して通信する。このパスに沿ったホップの数は、通信チャネル１０１上を転送されるセグメントの数によって定義される。データ転送ステーションＡ０及びデータ転送ステーションＡ１は、通信チャネル１０１上で互いに隣接しているため（すなわち、データ転送ステーションＡ０とデータ転送ステーションＡ１との間に１つのセグメントが存在する）、ノードＮ０とノードＮ１との間の通信パスは１つのホップ（１Ｈ）から成る。
【００３８】
ルーティングテーブル３００に示すように、ノードＮ０〜Ｎ７間の通信パスの大部分は、ユニークな１ホップ通信パスを含む。しかし、３つの通信チャネル１０１〜１０３によって提供される２４個のユニークな通信セグメントと、２８個のユニークな通信ノードペアとが存在するため、順列リングネットワーク１００は、各通信ノードペア間にユニークな１ホップ通信パスを提供することができない。したがって、ルーティングテーブル３００は、４つの通信ノードペア（すなわち、ノードペアＮ０及びＮ７、ノードペアＮ１及びＮ２、ノードペアＮ３及びＮ５、ノードペアＮ４及びＮ６）のための２ホップ（２Ｈ）通信パスを提供する。例えば、ノードＮ０及びＮ７は、通信チャネル１０１上のデータ転送ステーションＡ７、Ａ０及びＡ１間の第１のパスと、通信チャネル１０３上のデータ転送ステーションＢ０、Ｂ１及びＢ２間の第２のパスと、及び通信チャネル１０２上のデータ転送ステーションＣ６、Ｃ７及びＣ０間の第３のパスとを含む、互いに異なる３つの２ホップパスを使用して通信する。
【００３９】
データ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７、及びＣ０〜Ｃ７の間の通信は、ソース同期ネットワークによって許容される最高周波数で動作する。この周波数は、通信ノードの数及び通信チャネルの数が増加しても低下しない。通信チャネル１０１〜１０３の各々は、初期化、アービトレーション（調停）、フロー制御及びエラー処理のための規定を含むことを理解されたい。一実施形態では、これらの規定は、十分に確立された技術を使用して提供することができる。
【００４０】
図４は、順列リングネットワーク１００のルーティングテーブル３００における、互いに隣接するデータ転送ステーション間の帯域幅を定義する帯域幅推定テーブル４００である。したがって、ルーティングテーブル３００に基づいて、データ転送ステーションＡ０とＡ１との間のリンクを使用して、通信ノードＮ０とＮ１との間、通信ノードＮ０とＮ７との間、及び通信ノードＮ１とＮ２との間でデータを送信することができる。
【００４１】
上述した例では、４ペアの通信ノードが、３つの２ホップパスを使用して通信する。より具体的には、通信ノードＮ０及びＮ７は、３つの２ホップパスＡ７−Ａ０−Ａ１、Ｃ６−Ｃ７−Ｃ０及びＢ０−Ｂ１−Ｂ２を使用して通信し、通信ノードＮ１及びＮ２は、３つの２ホップパスＡ０−Ａ１−Ａ２、Ｃ３−Ｃ４−Ｃ５、及びＢ４−Ｂ５−Ｂ６を使用して通信し、通信ノードＮ３及びＮ５は、３つの２ホップパスＡ３−Ａ４−Ａ５、Ｃ７−Ｃ０−Ｃ１及びＢ３−Ｂ４−Ｂ５を使用して通信し、通信ノードＮ４及びＮ６は、３つの２ホップパスＡ４−Ａ５−Ａ６、Ｃ２−Ｃ３−Ｃ４、Ｂ７−Ｂ０−Ｂ１を使用して通信する。上述した例では、３つの２ホップパスを使用する通信ノードペアは、他の通信ノードペアほど多くの帯域幅を必要としない、より低い容量のペアであると見なされる。本実施例では、３つの２ホップパスを使用する各通信ノードペア間の通信に割り当てられる帯域幅は、互いに隣接するデータ転送ステーション間のリンクで利用可能な帯域幅の６０％に（任意に）制限される（例えば、ノードＮ０及びＮ７間の通信に割り当てられる帯域幅は、データ転送ステーションＡ０及びＡ１間のリンクによって提供される帯域幅の６０％に制限される）。
【００４２】
通信ノードＮ０及びＮ７を例に挙げると、ノードＮ０及びＮ７間には３つの２ホップパス（すなわち、Ａ７−Ａ０−Ａ１、Ｃ６−Ｃ７−Ｃ０及びＢ０−Ｂ１−Ｂ２）が存在する。もし、割り当てられた帯域幅がこれらの３つの２ホップパス間で均等に分割される場合、この割り当てられた帯域幅は、関連する各リンクで使用可能な帯域幅の２０％（６０％／３）を占める。
【００４３】
上記の１２個の２ホップパスをすべて考慮すると、ノードＮ０〜Ｎ７、Ｎ１〜Ｎ２、Ｎ３〜Ｎ５及びＮ４〜Ｎ６間の通信に割り当てられる帯域幅は、Ａ１−Ａ２、Ａ３−Ａ４、Ａ５−Ａ６、Ａ０−Ａ７、Ｂ１−Ｂ２、Ｂ３−Ｂ４、Ｂ５−Ｂ６、Ｂ０−Ｂ７、Ｃ０−Ｃ１、Ｃ２−Ｃ３、Ｃ４−Ｃ５及びＣ６−Ｃ７のデータ転送ステーション間のリンク上の帯域幅の２０％を占める。このことにより、これらのリンクの帯域幅の８０％が、これらのリンクによって提供される１ホップパスによって接続された通信ノードに使用可能になる。例えば、データ転送ステーションＡ１及びＡ２間のリンクの帯域幅の８０％が通信ノードＮ０及びＮ２間の１ホップ接続に割り当てられ、データ転送ステーションＡ１及びＡ２間のリンクの帯域幅の２０％が通信ノードＮ１及びＮ２間の２ホップ接続に割り当てられる。
【００４４】
同様に、上記の１２個の２ホップパス１２のすべてを考慮すると、ノードＮ０−Ｎ７、Ｎ１−Ｎ２、Ｎ３−Ｎ５及びＮ４−Ｎ６間の通信に割り当てられる帯域幅は、Ａ０−Ａ１、Ａ４−Ａ５、Ｂ０−Ｂ１、Ｂ４−Ｂ５、Ｃ３−Ｃ４及びＣ０−Ｃ４のデータ転送ステーション間のリンク上の帯域幅の４０％を占める。このことにより、これらのリンクの帯域幅の６０％が、これらのリンクによって提供される１ホップパスによって接続された通信ノードに使用可能になる。例えば、データ転送ステーションＡ０及びＡ１間のリンクの帯域幅の６０％が通信ノードＮ０及びＮ１間の１ホップ接続に割り当てられ、データ転送ステーションＡ０及びＡ１間のリンクの帯域幅の２０％が通信ノードＮ０及びＮ７間の２ホップ接続に割り当てられ、データ転送ステーションＡ０及びＡ２間のリンクの帯域幅の２０％が通信ノードＮ１及びＮ２間の２ホップ接続に割り当てられる。
【００４５】
データ転送ステーション間のリンクのいくつかは、１２個の２ホップパスのいずれにも使用されないことに留意されたい。この場合、２ホップパスで使用されないリンクの帯域幅の１００％が、関連する通信ノードの接続に利用することができる。本実施例では、データ転送ステーションＡ２−Ａ３、Ａ６−Ａ７、Ｂ２−Ｂ３、Ｂ６−Ｂ７、Ｃ１−Ｃ２及びＣ５−Ｃ６間のリンクの帯域幅の１００％が、通信ノードペアＮ２−Ｎ３、Ｎ６−Ｎ７、Ｎ２−Ｎ６、Ｎ３−Ｎ６及びＮ２−Ｎ６間の１ホップ通信を提供するために利用することができる。
【００４６】
表４００は、上述の説明による、互いに隣接するデータ転送ステーション間で利用可能な１ホップ帯域幅を示すことに留意されたい。図１〜４の例では、通信チャネル１０１〜１０３の各々の合計１ホップ帯域幅は６．６であり、これは、単純な双方向リングネットワーク（１ホップ帯域幅は２である）の３倍以上の向上を示す。したがって、順列リングネットワーク１００の３つの通信チャネルの使用は、３つの単純な双方向リングネットワークよりも帯域幅が３．３倍向上される。帯域幅の向上は、通信チャネルの数が増加するにしたがって、より重要になることに留意されたい。
【００４７】
図１〜４の例では、通信ノードの各ペア間の１ホップ帯域幅は互いに等しくない。したがって、順列リングネットワークにおける様々な通信ノードの配置は、様々な通信ノードの通信ニーズに適合するように選択されるべきである。図１〜４の例では、ノード位置Ｎ２−Ｎ３、Ｎ６−Ｎ７、Ｎ３−Ｎ７、Ｎ２−Ｎ６、Ｎ３−Ｎ６及びＮ２−Ｎ７に、より高い帯域幅要件を有する通信ノードのペアを配置することが望ましい。したがって、通信ノードの通信パターンは、順列リングネットワーク１００の設計にとって重要な考慮事項である。別の言い方をすれば、ノードの通信パターンは、相互接続マトリクス２００の最適化にとって重要な考慮事項である。
【００４８】
上述したように、順列リングネットワーク１００の通信パスのいくつかは２ホップを必要とし、その結果、本明細書では「ホッピング損失」と称する上述の基本性能制限が生じる。上述したように、順列リングネットワーク１００は、２４ペアの１ホップリンクと、通信ノードＮ０〜Ｎ７間の２８個の可能なユニークな接続とを提供する。通信ノードの可能な各ペアに対してユニークな１ホップ接続を提供することができないので、ホッピング損失が存在する（なぜならば、いくつかの接続はマルチホップ接続である必要があるからである）。合計１ホップ帯域幅を最大化するために、相互接続マトリクス２００及びルーティングテーブル３００は、下記の（１）及び（２）の制約により最適化される。（１）ユニークな１ホップ接続の数を最大化する。（２）残りのマルチホップ接続ペアについては、パスダイバーシティを最大化し、各ホッピングパスにおけるホップ数を最小化する。
【００４９】
相互接続マトリクス２００及びルーティングテーブル３００は、通信ノードＮ０〜Ｎ７のネットワークサイズ及びアプリケーション個別帯域幅要件によって決定される。例えば、エリアまたは電力予算が限られるネットワークでは、供給されるチャネルの数は「ホッピング損失」を完全に除去するのに十分である可能性はほとんどないため、相互接続マトリクス及びルーティングテーブルは、すべての通信ノード間の合計帯域幅を最大化するように設計される。もし、ネットワークが、重大な性能低下を回避するために、通信ノードペアのサブセットが０ホッピング損失を有することを必要とする場合、相互接続マトリクスは、そのような制約を満たすように設計される。もし、通信チャネルの数が十分であれば、ブロードキャスト能力を有する非ブロッキング、フォールトトレラント通信を構築することができる。このような設計を実現する様々な態様について、以下でより詳細に説明する。
【００５０】
特定の組の通信ノードと共に使用するために順列リングネットワークを設計することができる方法の特定の例を、図５〜８を参照して以下でより詳細に説明する。
【００５１】
図５は、８つの通信ノードＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２、ＣＰＵ＿３、ＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３を含む順列リングネットワーク５００を示すブロック図であり、これらの通信ノードは、データ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７を含む通信チャネル１０１〜１０３によって接続される。通信チャネル１０１〜１０３及びデータ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７は上述した通りである。各通信ノードＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２及びＣＰＵ＿３はオンチッププロセッサであり、各通信ノードＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３はオンチップメモリバンクである。各プロセッサＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２及びＣＰＵ＿３はそれぞれ、メモリバンクＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３、並びに、他のプロセッサにアクセス可能である（例えば、プロセッサＣＰＵ＿０は、プロセッサＣＰＵ＿１、ＣＰＵ＿２及びＣＰＵ＿３の各々にアクセスすることができる）。
【００５２】
図６は、通信ノードＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２、ＣＰＵ＿３、ＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３と、データ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７との間の接続を特定する相互接続マトリクス６００である。図７は、通信ノードの様々なペアをリンクするために使用されるデータ転送ステーション、並びに、各リンクに含まれるホップの数を指定するルーティングテーブル７００である。図８は、順列リングネットワーク５００のルーティングテーブル７００における、互いに隣接するデータ転送ステーション間の帯域幅を定義する帯域幅推定テーブル８００である。
【００５３】
相互接続マトリクス６００及びルーティングテーブル７００は、通信ノードＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２、ＣＰＵ＿３、ＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３、並びにデータ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７の特定の要件に基づいて選択される。
【００５４】
通信チャネル１０２及び１０３（データ転送ステーションＢ０〜Ｂ７及びＣ０〜Ｃ７を含む）は、プロセッサＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２及びＣＰＵ＿３と、メモリバンクＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３との間の通信に使用される。より具体的には、プロセッサＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２及びＣＰＵ＿３の各々は、通信チャネル１０３及び１０２を使用する、メモリバンクＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３の各々に対するユニークな１ホップ接続を有する。そのため、１ホップリンクの全帯域幅が、プロセッサＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２及びＣＰＵ＿３と、メモリバンクＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３との間の通信に利用可能である（帯域幅推定テーブル８００を参照）。メモリバンクＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３の間に通信リンクは存在しない（上述した例では、メモリバンクＭＢ＿０、ＭＢ＿１、ＭＢ＿２及びＭＢ＿３は互いに通信する必要がないからである）。
【００５５】
通信チャネル１０１（データ転送ステーションＡ０〜Ａ７を含む）は、プロセッサＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２及びＣＰＵ＿３の間の通信、並びに、アービトレーション、同期、キャッシュスヌーピング、ブロードキャスト及びマルチキャストを含む他のメモリ相互接続機能に使用される。図８に示すように、ＣＰＵ＿０〜ＣＰＵ＿３間の利用可能な帯域幅は、ＣＰＵ＿０〜ＣＰＵ＿３とメモリバンクＭＢ＿０〜ＭＢ＿３との間の利用可能な帯域幅よりも小さい。しかしながら、上述した例では、プロセッサＣＰＵ＿０、ＣＰＵ＿１、ＣＰＵ＿２及びＣＰＵ＿３の間の通信は、通信チャネル１０１上に存在するホッピング損失を許容することができる。
【００５６】
特定の組の通信ノードと共に使用するために順列リングネットワークを設計することができる方法の別の特定の例を、図９〜１１を参照して以下でより詳細に説明する。図９は、８つの通信ノードＮ０〜Ｎ７を含む順列リングネットワーク９００を示すブロック図である。これらの通信ノードは、データ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７、Ｃ０〜Ｃ７及びＤ０〜Ｄ７を含む４つの通信チャネル１０１〜１０４によって接続される。通信チャネル１０１〜１０３及びデータ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７及びＣ０〜Ｃ７は上述した通りであり、追加の通信チャネル１０４及びデータ転送ステーションＤ０〜Ｄ７も同様である。通信チャネル１０４を追加すると、利用可能な１ホップリンクの総数が３２に増加し、通信ノードＮ０〜Ｎ７間の２８個の可能なリンクの各々を、１ホップリンクを使用して実現することができる。この結果、ホッピング損失は、順列リングネットワーク９００において完全に除去され（すなわち、各通信ノードは、他の通信ノードと直接通信することができる）、これにより、完全な非ブロッキングネットワークを創出することができる。上述した実施形態では、順列リングネットワークは、単一の集積回路チップ上に製造される。
【００５７】
図１０は、通信ノードＮ０〜Ｎ７と、データ転送ステーションＡ０〜Ａ７、Ｂ０〜Ｂ７、Ｃ０〜Ｃ７及びＤ０〜Ｄ７との間の接続を指定する相互接続マトリクス１０００である。図１１は、通信ノードの様々なペアをリンクするために使用されるデータ転送ステーション、並びに、各リンクに含まれるホップの数を指定するルーティングテーブル１１００である。これらの各リンクの推定帯域幅は１．０（すなわち、互いに隣接するデータ転送ステーション間で利用可能な帯域幅の１００％）であることに留意されたい。
【００５８】
図９〜１１の実施態様では、各通信ノードＮ０〜Ｎ７と通信チャネル１０１〜１０４との間に４ペアの接続が存在する。この構成により、順列リングネットワーク９００の帯域幅を制限することができる。すなわち、順列リングネットワーク９００のピーク帯域幅は、通信ノードＮ０〜Ｎ７と通信チャネル１０１〜１０４との間の相互接続によって制限することができる。この結果、順列リングネットワーク９００のピーク帯域幅は、互いに同時に通信するすべてのノードＮ０〜Ｎ７の帯域幅需要をサポートすることができるが、通信ノードＮ０〜Ｎ７から通信チャネル１０１〜１０４へメッセージを転送するには帯域幅が十分ではない可能性がある。この場合、通信チャネル１０１〜１０４は、追加の（未使用の）帯域幅を有する。この追加の帯域幅は、下記の（１）〜（３）を含むいくつかの利点を有する。（１）通信ノードの混雑状態（congestion）がより少ないこと（例えば、通信ノードが他の７つの通信ノードと同時に通信することを可能にするために必要とされる７対のワイヤに対して、各通信ノードで４対のワイヤ）。（２）通信ノードの各ペアは、順列リングネットワーク９００がパスダイバーシティを提供するように、他のチャネルを介して通信することができる（そのため、フォルトトレランスが提供される。すなわち、順列リングネットワーク９００は過剰の帯域幅を有するので、各ソース通信ノードはそれに割り当てられたチャネル以外のチャネルを選択的に使用してターゲット通信ノードと通信する。当然ながら、これにより、不必要なホッピング損失が発生する。しかし、順列リングネットワーク９００の余剰帯域幅は、所定の制限された量のホッピング損失を吸収することができる）。（３）順列リングネットワーク９００の通信チャネル１０１〜１０４は、順列リングネットワーク９００の余剰帯域幅を使用して、他の重要な通信機能（放送、ブロードキャスト及びマルチキャスト）を提供することができる。
【００５９】
上述したように、各データ転送ステーションは、通信ノードと対応する通信チャネルとの間でデータを転送する（または、対応する通信チャネル上の互いに隣接するデータ転送ステーション間でデータを転送する）。次に、データ転送ステーションＡ１、通信ノードＮ０、通信チャネル１０１を含む具体例を用いて、データ転送ステーション、通信ノード、通信チャネルの動作をより詳細に説明する。他のデータ転送ステーションは、データ転送ステーションＡ１と同様に動作する（また、他の通信ノードは通信ノードＮ０と同様に動作する）ことを理解されたい。
【００６０】
図１２は、本発明の一実施形態による、通信ノードＮ０及びデータ転送ステーションＡ１を示す簡略化されたブロック図である。
【００６１】
データ転送ステーションＡ１は、ステーションロジック１２０１、マルチプレクサ１２０２、受信ＦＩＦＯ１２０３、送信ＦＩＦＯ１２０４及び遅延ライン１２２０を含み、これらは、通信チャネル１０１上の時計回りのメッセージ（例えば、Ｍ１＿ＩＮ及びＭ１＿ＯＵＴ）及び時計回りのクロック信号（例えば、ＣＫ１＿ＩＮ及びＣＫ１＿ＯＵＴ）の伝送専用である。データ転送ステーションＡ１は、ステーションロジック１２１１、マルチプレクサ１２１２、受信ＦＩＦＯ１２１３、送信ＦＩＦＯ１２１４及び遅延ライン１２１５をさらに含み、これらは、通信チャネル１０１上の反時計回りのメッセージ（例えば、Ｍ２＿ＩＮとＭ２＿ＯＵＴ）及び反時計回りのクロック信号（例えば、ＣＫ２＿ＩＮ及びＣＫ２＿ＯＵＴ）の伝送専用である。アービトレーション回路１２１０、遅延ライン１２２０及びマルチプレクサ１２２５は、時計回り方向及び反時計回り方向で同時に受信されたメッセージ間の競合を考慮して、メッセージ／クロック信号を通信ノードＮ０に送信するために使用される。
【００６２】
通信ノードＮ０は、通信ノードロジック１２３０、受信ＦＩＦＯ１２３１、送信ＦＩＦＯ１２３２、遅延ライン１２３４、通信ノードクロック発生器１２３５、及び同期回路１２３６を含む。一般に、通信ノードクロック発生器１２３５は、通信ノードＮ０内の大部分の動作を制御するために使用されるローカルクロック信号ＣＫ＿Ｎ０を生成する。例えば、通信ノードロジック１２３０は、ローカルクロック信号ＣＫ＿Ｎ０に応答して、受信ＦＩＦＯ１２３１からのメッセージの読み出し及び送信ＦＩＦＯ１２３２へのメッセージの書き込みを含む通信ノードＮ０の動作を制御する。
【００６３】
次に、「時計回り」のデータ転送回路について、より詳細に説明する。「反時計回り」のデータ転送回路も同様に動作することに留意されたい。
【００６４】
データ転送ステーションＡ１に関連する２組のソース同期相互接続バスが存在する。時計回り方向では、隣接するデータ転送ステーションＡ２から受信メッセージＭ１＿ＩＮ及びソース同期クロック信号ＣＫ１＿ＩＮが受信され、隣接するデータ転送ステーションＡ０へ出力メッセージＭ１＿ＯＵＴ及びソース同期クロック信号ＣＫ１＿ＯＵＴが送信される。反時計回り方向では、隣接するデータ転送ステーションＡ０から着信メッセージＭ２＿ＩＮ及びソース同期クロック信号ＣＫ２＿ＩＮが受信され、隣接するデータ転送ステーションＡ２へ出力メッセージＭ２＿ＯＵＴ及びソース同期クロック信号ＣＫ２＿ＯＵＴが送信される。これらのクロック信号ＣＫ１＿ＩＮ及びＣＫ２＿ＩＮは両方とも、対応する通信チャネル１０１のマスタークロック信号ＣＫＡに由来する。
【００６５】
メッセージＭ１＿ＩＮがデータ転送ステーションＡ１に到達すると、メッセージＭ１＿ＩＮは、ソースクロック信号ＣＫ１＿ＩＮに応答してステーションロジック回路１２０１によってラッチされる。ステーションロジック１２０１は、受信したメッセージＭ１＿ＩＮがデータ転送ステーションＡ１をターゲットにしているか（アドレス指定しているか）否かを判定する。もしそうであれば、ステーションロジック１２０１は受信メッセージＭ１＿ＩＮを受信ＦＩＦＯ１２０３に書き込む（例えば、対応するライトイネーブル信号ＷＥ１をアクティブにすることによって）。同様に、ステーションロジック１２１１は、データ転送ステーションＡ１をターゲットにする反時計回りのメッセージＭ２＿ＩＮを受信ＦＩＦＯ１２１３に書き込む（例えば、対応するライトイネーブル信号ＷＥ２をアクティブにすることによって）。ステーションロジック回路１２０１及び１２１１は、メッセージが受信ＦＩＦＯ１２０３及び１２１０に格納されたとき、アービトレーション回路１２１３に通知する。これに応答して、アービトレーション回路１２１０は、受信ＦＩＦＯ１２０３及び１２１３からの読み出し動作を制御するとともに、マルチプレクサ１２２５を制御して、メッセージＭ１＿ＩＮまたはＭ２＿ＩＮのいずれかをメッセージＭ＿ＩＮとして通信ノードＮ０の受信ＦＩＦＯ１２３１にルーティングする。アービトレーション回路１２１０で実行される読み出し動作は、ソースクロック信号ＣＫ１＿ＩＮまたはＣＫ２＿ＩＮのうちの任意に選択された１つに応答して実行される。図示の例では、アービトレーション回路１２１０は、ソースクロック信号ＣＫ１＿ＩＮを使用して受信ＦＩＦＯ１２０３及び１２１３からの読み出し動作を実行する。アービトレーション回路１２１０は、ＦＩＦＯ１２０３または１２１３のいずれかにメッセージが存在する限りは常にアービトレーション回路１２１０によってメッセージを読み出すことを指定する従来のアービトレーションポリシーを使用して、これらのメッセージＭ１＿ＩＮ及びＭ２＿ＩＮの読み出しを制御する。このようにして、受信ＦＩＦＯ１２０３及び１２１３に格納されたメッセージは、事前に定義されたアービトレーションポリシーを使用して、通信ノードＮ０へ順次に送信される。
【００６６】
また、アービトレーション回路１２１０は、マルチプレクサ１２２５を制御して、受信ＦＩＦＯ１２０３及び１２１３からメッセージを読み出すために使用されるソースクロック信号（例えば、本実施例におけるソースクロック信号ＣＫ１＿ＩＮ）を遅延ライン１２０３にルーティングする。遅延ライン１２２０は、受信クロック信号を遅延させて入力クロック信号ＣＫ＿ＩＮを生成する。遅延ライン１２２０によって導入される遅延は、メッセージＭ＿ＩＮに対するセットアップ／ホールドタイムを最大にするように選択される。
【００６７】
メッセージＭ＿ＩＮはソース同期方式で書き込まれ、メッセージＭ＿ＩＮは入力クロック信号ＣＫ＿ＩＮに応答して受信ＦＩＦＯ１２３１にラッチされる。その後、ローカルクロック信号ＣＫ＿Ｎ０に応答して、メッセージＭ＿ＩＮが受信ＦＩＦＯ１２３１から通信ノードロジック１２３０に読み出される。
【００６８】
受信メッセージＭ１＿ＩＮがデータ転送ステーションＡ１をターゲットとしていない場合（すなわち、メッセージがデータ転送ステーションＡ１を「ホップ」する場合）、ステーションロジック１２０１は、マルチプレクサ１２０２を制御して、受信メッセージを出力メッセージＭ１＿ＯＵＴとしてデータ転送ステーションＡ０に送信する。遅延ライン１２０５は、ソースクロック信号ＣＫ１＿ＩＮに遅延を導入して出力クロック信号ＣＫ１＿ＯＵＴを生成する。生成された出力クロック信号ＣＫ１＿ＯＵＴは、データ転送ステーションＡ０にルーティングされる。遅延ライン１２０５は、メッセージＭ１＿ＯＵＴが出力クロック信号ＣＫ１＿ＯＵＴに対して適切なセットアップ／ホールドタイムを有するように選択された遅延を導入する（図１Ｂ及び１Ｃに関連して上述した方法を用いて）。
【００６９】
通信ノードＮ０はまた、データ転送ステーションＡ１に送信するためのメッセージを生成することができる。一実施形態では、通信ノードロジック１２３０はメッセージＭ＿Ｎ０を生成する。生成されたメッセージＭ＿Ｎ０は、ローカルクロック信号ＣＫ＿Ｎ０のクロックドメイン内の送信ＦＩＦＯ１２３２に書き込まれる。このメッセージＭ＿Ｎ０は、入力クロック信号ＣＫ＿ＩＮのクロックドメイン内の送信ＦＩＦＯ１２３２から読み出される。アービトレーション回路１２１０は、たとえメッセージＭ１＿ＩＮまたはＭ２＿ＩＮを受信していなくても、常にマルチプレクサ１２２５に選択されたソースクロック信号ＣＫ１＿ＩＮをルーティングさせて入力クロック信号ＣＫ＿ＩＮを生成することを理解されたい。送信ＦＩＦＯ１２３２から読み出されたメッセージＭ＿Ｎ０は、データ転送ステーションＡ１内のＦＩＦＯ１２０４及び１２１４に送信するために提供される。通信ノードロジック１２３０は、ライトイネーブル信号Ｗ３及びＷ４を同期回路１２３６に供給する。同期回路１２３６は、これらのライトイネーブル信号Ｗ３及びＷ４を入力クロック信号ＣＫ＿ＩＮと同期させて、同期ライトイネーブル信号ＷＥ３及びＷＥ４をそれぞれ生成する。これらのライトイネーブル信号ＷＥ３及びＷＥ４は、ＦＩＦＯ１２０４及び１２１４をそれぞれ送信するために提供される。ライトイネーブル信号ＷＥ３及びＷＥ４は、通信ノードＮ０がメッセージＭ＿Ｎ０を送信ＦＩＦＯ１２１４及び１２０４のうちの所望の一方に書き込むことを可能にする。メッセージＭ＿Ｎ０は、送信ＦＩＦＯ１２３２からメッセージＭ＿Ｎ０を読み出すために使用される、入力クロック信号ＣＫ＿ＩＮの遅延バージョンである出力クロック信号ＣＫ＿ＯＵＴを使用して、ソース同期方式で、選択された送信ＦＩＦＯ１２０４または１２１４に書き込まれる。図示の例では、遅延ライン１２３４は、送信ＦＩＦＯ１２３２から読み出されたメッセージＭ＿Ｎ０に対するセットアップ／ホールドタイムが最大になるように、入力クロック信号ＣＫ＿ＩＮに適切な遅延を導入して出力クロック信号ＣＫ＿ＯＵＴを生成する。
【００７０】
メッセージＭ＿Ｎ０が送信ＦＩＦＯ１２０４に格納されると仮定する。この場合、ステーションロジック１２０１は、リードイネーブル信号ＲＥ１をアクティブにすることにより、メッセージＭ＿Ｎ０がマルチプレクサ１２０２に読み出される。ステーションロジック１２０１は、マルチプレクサ１２０２を制御して、このメッセージＭ＿Ｎ０を出力メッセージＭ１＿ＯＵＴとして通信チャネル１０１上にルーティングする。ステーションロジック１２０１は、この出力メッセージＭ１＿ＯＵＴが対応する出力クロック信号ＣＫ１＿ＯＵＴに対する適切な位相関係を有することを確実にすることに留意されたい。すなわち、出力メッセージＭ１＿ＯＵＴは、このメッセージのセットアップ／ホールドタイムが出力クロック信号ＣＫ１＿ＯＵＴに対して最大になるようにルーティングされる。
【００７１】
ステーションロジック１２１１は、同様の方式で送信ＦＩＦＯ１２１４からメッセージを読み出し（リードイネーブル信号ＲＥ２を使用して）、読み出したメッセージを出力メッセージＭ２＿ＯＵＴとしてマルチプレクサ１２１２を介してルーティングする。
【００７２】
図１２の実施形態は、有利なことに、本発明の順列リングネットワークを実現するために必要なクロック発生器の数を最小化する。
【００７３】
図１３は、本発明の別の実施形態による、通信ノードＮ０及びデータ転送ステーションＡ１を示す簡略化されたブロック図である。図１２及び図１３における同様の構成要素には、同様の参照番号が付されている。したがって、図１３のデータ転送ステーションＡ１は、時計回りメッセージの伝送専用のステーションロジック１２０１、マルチプレクサ１２０２、受信ＦＩＦＯ１２０３、送信ＦＩＦＯ１２０４及び遅延ライン１２０５と、反時計回りメッセージの伝送専用のステーションロジック１２１１、マルチプレクサ１２１２、受信ＦＩＦＯ１２１３、送信ＦＩＦＯ１２１４及び遅延ライン１２１５とを含む。通信ノードＮ０は、通信ノードロジック１２３０、受信ＦＩＦＯ１２３１、送信ＦＩＦＯ１２３２、通信ノードクロック発生器１２３５及び同期回路１２３６を含み、これらについては、図１２を参照して上述した通りである。
【００７４】
一般に、図１３の通信ノードＮ０は、通信ノードＮ０とデータ転送ステーションＡ１との間のデータ転送を制御するために使用されるローカルクロック信号ＣＫ＿ＣＤを生成するデータ転送ステーション（ＣＮ−ＤＴＳ）クロック生成回路１３０１への通信ノードを含む（これは、通信チャネル１０１からのクロック信号ＣＫ１＿ＩＮ及びＣＫ２＿ＩＮを使用して、通信ノードＮ０とデータ転送ステーションＡ１との間のデータ転送を制御する、図１２の実施形態と対照的である）。
【００７５】
したがって、図１３の実施形態では、ＣＫ＿ＣＤ信号を使用して、通信ノードＮ０の送信ＦＩＦＯ１２３２からデータ転送ステーションＡ１内の送信ＦＩＦＯ１２０４及び１２１４にメッセージＭ＿Ｎ０を読み出す。遅延ライン１３０２は、ＣＫ＿ＣＤクロック信号に遅延を導入し、それにより、遅延出力クロック信号ＣＫ＿ＯＵＴを生成する。生成された遅延出力クロック信号ＣＫ＿ＯＵＴは、データ転送ステーションＡ１内の送信ＦＩＦＯ１２０４及び１２１４に提供される。遅延ライン１３０２によって導入される遅延は、メッセージＭ＿Ｎ０に対するセットアップ／ホールドタイムを最大にするように選択される。同期回路１２３６は、通信ノードロジック１２３０から供給されたライトイネーブル信号Ｗ３及びＷ４をクロック信号ＣＫ＿ＣＤと同期させ、それにより、データ転送ステーションＡ１の送信ＦＩＦＯ１２０４及び１２１４にそれぞれ提供されるライトイネーブル信号ＷＥ３及びＷＥ４をそれぞれ供給する。メッセージＭ＿Ｎ０は、ライトイネーブル信号ＷＥ３及びＷＥ４、並びに出力クロック信号ＣＫ＿ＯＵＴにそれぞれ応答して、送信ＦＩＦＯ１２０４及び１２１４にソース同期方式でラッチされる。送信ＦＩＦＯ１２０４及び１２１４は、メッセージＭ＿Ｎ０が送信されていない場合にはＣＫ＿ＣＤクロック信号を必要としないが、このＣＫ＿ＣＤクロック信号は、データ転送ステーションＡ１によってデータ転送ステーションＡ１から通信ノードＮ０（以下に詳細に説明する）へのメッセージのソース同期転送に使用されるため、データ転送ステーションＡ１へ連続的に送信される。
【００７６】
通信チャネル１０１から受信され、データ転送ステーションＡ１の受信ＦＩＦＯ１２０３及び１２１３に格納されたメッセージＭ１＿ＩＮ及びＭ２＿ＩＮは、アービトレーション回路１３１０によってマルチプレクサ１２２５に読み出される。アービトレーション回路１３１０は、ＦＩＦＯ１２０３または１２１３のいずれかにメッセージが存在する限りは常にアービトレーション回路１３１０によってメッセージを読み出すことを指定する従来のアービトレーションポリシーを使用して、これらのメッセージＭ１＿ＩＮ及びＭ２＿ＩＮの読み出しを制御する。
【００７７】
アービトレーション回路１３１０は、マルチプレクサ１２２５を制御して、検索されたメッセージＭ１＿ＩＮ及びＭ２＿ＩＮを、入力メッセージＭ＿ＩＮとして通信ノードＮ０の受信ＦＩＦＯ１２３１へ選択的にルーティングする。図１３の実施形態では、アービトレーション回路１３１０は、通信ノードＮ０から提供されたＣＫ＿ＣＤクロック信号を受信する（そして、ＣＫ＿ＣＤクロック信号のドメインで動作する）。したがって、メッセージは、ＣＫ＿ＣＤクロック信号に応答して受信ＦＩＦＯ１２０３及び１２１３から読み出される。データ転送ステーションＡ１内の遅延ライン１３０３は、ＣＫ＿ＣＤクロック信号に遅延を導入して、入力クロック信号ＣＫ＿ＩＮを提供する。入力クロック信号ＣＫ＿ＩＮは、マルチプレクサ１２２５から提供されたメッセージＭ＿ＩＮを通信ノードＮ０の受信ＦＩＦＯ１２３１にソース同期方式で転送するために使用される。遅延ライン１３０３によって導入される遅延は、このソース同期転送のセットアップ／ホールドタイムを最大にするように選択される。
【００７８】
本発明の一実施形態によれば、ＣＫ＿ＣＤクロック信号の周波数は、通信ノードＮ０とデータ転送ステーションＡ１との間の帯域幅要件を最適化するように選択される。ＣＫ＿ＣＤクロック信号は、通信ノードドメインクロック信号ＣＫ＿Ｎ０の周波数、並びに、通信チャネル１０１のクロック信号ＣＫ１＿ＩＮ及びＣＫ２＿ＩＮの周波数以外の周波数を有することができる。また、ＣＫ＿ＣＤクロック信号の周波数は、各通信ノードＮ０〜Ｎ７内で異なっていてもよい。例えば、図１〜４を参照して上述した、８つの通信ノードＮ０〜Ｎ７及び３つの通信チャネル１０１〜１０３を実現する実施形態では、通信ノードＮ４及びＮ５は、全帯域幅の６０％のデータ転送ステーションＡ４−Ａ５を介してのみ通信することができる。この例では、ＣＫ＿ＣＤクロック信号の周波数を通信チャネルの周波数の６０％（例えば、ＣＫ１＿ＩＮまたはＣＫ２＿ＩＮの６０％）に設定しても、必要なデータ転送容量を依然として提供することができる。
【００７９】
８つの通信ノードＮ０〜Ｎ７及び４つの通信チャネル１０１〜１０４を実現する図９〜１１の実施態様では、各通信ノードＮ０〜Ｎ７におけるＣＫ＿ＣＤクロック信号の周波数を、通信チャネル１０１〜１０４の周波数よりも速い周波数に設定することによって、順列リングネットワーク９００の余剰帯域幅を利用することができる。このようにして、図１３の実施形態は、順列リングネットワークの動作周波数を最適化するための大きな柔軟性を提供する。
【００８０】
本発明の順列リングネットワークアーキテクチャは、通信ノードの数（Ｎ）と通信チャネルの数（Ｍ）の両方においてスケーリングすることができる。データ転送ステーションの動作周波数は、順列リングネットワークアーキテクチャのスケーリングによって低下することはない。加えて、通信チャネルの数Ｍをスケールアップすることにより、順列リングネットワークアーキテクチャの全帯域幅の高度に非線形な向上を提供することができる。
【００８１】
本発明の順列リングネットワークアーキテクチャは、高帯域幅スイッチチップを実現するために、チップ上のマルチコアシステムのための相互接続を提供するために、グラフィックスプロセッサユニット（ＧＰＵ）チップのための相互接続を提供するために、システムレベルＦＰＧＡのための相互接続を提供するために、または、高性能マルチコア及び多バンク化ラストレベルキャッシュメモリのためのコヒーレンスメモリバスを実現するために使用することができる。
【００８２】
以上、本発明をいくつかの実施形態に関連して説明してきたが、本発明は、開示した実施形態に限定されるものではなく、当業者には明らかなように、種々の変形が可能であることを理解されたい。したがって、本発明は、特許請求の範囲によってのみ限定される。
【図１Ａ】
2019536399.tif 000004
【図１Ｂ】
2019536399.tif 000005
【図１Ｃ】
2019536399.tif 000006
【図２】
2019536399.tif 000007
【図３】
2019536399.tif 000008
【図４】
2019536399.tif 000009
【図５】
2019536399.tif 000010
【図６】
2019536399.tif 000011
【図７】
2019536399.tif 000012
【図８】
2019536399.tif 000013
【図９】
2019536399.tif 000014
【図１０】
2019536399.tif 000015
【図１１】
2019536399.tif 000016
【図１２】
2019536399.tif 000017
【図１３】
2019536399.tif 000018
【手続補正書】
【提出日】令和1年10月28日(2019.10.28)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
順列リングネットワークであって、
複数のデータ転送ステーションを各々有する複数の双方向ソース同期リングネットワークと、
複数の通信ノードとを含み、
前記通信ノードの各々は、前記複数の双方向ソース同期リングネットワークの各々における前記複数のデータ転送ステーションのうちの１つに接続されることを特徴とする順列リングネットワーク。
【請求項２】
請求項１に記載の順列リングネットワークであって、
前記通信ノードの各々は、他の通信ノードの各々への接続を含み、
前記接続は、互いに隣接する前記データ転送ステーション間の直接接続を含むことを特徴とする順列リングネットワーク。
【請求項３】
請求項１に記載の順列リングネットワークであって、
互いに隣接する前記データ転送ステーションのユニークなペアが、前記通信ノードの各ペア間の接続を提供することを特徴とする順列リングネットワーク。
【請求項４】
請求項１に記載の順列リングネットワークであって、
前記双方向ソース同期リングネットワークは、第１のクロックドメインで動作し、
前記通信ノードの少なくとも１つは、前記第１のクロックドメインとは異なる第２のクロックドメインで動作することを特徴とする順列リングネットワーク。
【請求項５】
請求項１に記載の順列リングネットワークであって、
前記通信ノードの可能なペアの各々の間の通信のための前記双方向ソース同期リングネットワーク上の通信パスを定義するルーティングテーブルをさらに含むことを特徴とする順列リングネットワーク。
【請求項６】
請求項５に記載の順列リングネットワークであって、
前記ルーティングテーブルは、
前記データ転送ステーションを２つだけ含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、前記通信ノードの可能なペアの第１のグループと、
前記データ転送ステーションを３以上含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、通信ノードの可能なペアの第２のグループとを指定することを特徴とする順列リングネットワーク。
【請求項７】
請求項６に記載の順列リングネットワークであって、
前記第１のグループは、第１の通信帯域幅を必要とする通信ノードのペアを含み、
前記第２のグループは、第２の通信帯域幅を必要とする通信ノードのペアを含み、
前記第１の通信帯域幅は前記第２の通信帯域幅よりも大きいことを特徴とする順列リングネットワーク。
【請求項８】
請求項５に記載の順列リングネットワークであって、
前記ルーティングテーブルは、
前記双方向ソース同期リングネットワークのうちの１つのネットワーク上の通信パスを介して通信する前記通信ノードの可能なペアの第１のグループと、
前記双方向ソース同期リングネットワークのすべてのネットワーク上の通信パスを介して通信する前記通信ノードの可能なペアの第２のグループとを指定することを特徴とする順列リングネットワーク。
【請求項９】
請求項１に記載の順列リングネットワークであって、
当該順列リングネットワークは、少なくとも３つの双方向ソース同期リングネットワークを含むことを特徴とする順列リングネットワーク。
【請求項１０】
請求項１に記載の順列リングネットワークであって、
前記データ転送ステーションと前記通信ノードとの間の通信はソース同期方式で行われることを特徴とする順列リングネットワーク。
【請求項１１】
請求項１に記載の順列リングネットワークであって、
前記データ転送ステーション及び前記通信ノードは、単一の集積回路チップ上に製造されることを特徴とする順列リングネットワーク。
【請求項１２】
請求項１に記載の順列リングネットワークであって、
前記通信ノードは、前記双方向ソース同期リングネットワーク内の異なる相対位置を有する前記データ転送ステーションに接続されることを特徴とする順列リングネットワーク。
【請求項１３】
集積回路チップ上の複数の通信ノード間でデータを転送する方法であって、
前記通信ノードから複数の双方向ソース同期リングネットワークにメッセージを送信するステップであって、前記双方向ソース同期リングネットワークの各々は、環状に接続された複数のデータ転送ステーションを含み、前記各通信ノードは、前記各双方向ソース同期リングネットワーク内の前記データ転送ステーションにメッセージを送信する、該ステップと、
前記双方向ソース同期リングネットワークの前記データ転送ステーション間で、ソース同期方式でメッセージを送信するステップとを含むことを特徴とする方法。
【請求項１４】
請求項１３に記載の方法であって、
前記通信ノードの各々は、他の通信ノードの各々にメッセージを送信し、
前記メッセージの各々は、前記データ転送ステーションを２つだけ介して送信されることを特徴とする方法。
【請求項１５】
請求項１３に記載の方法であって、
互いに隣接する前記データ転送ステーションのユニークなペアが、前記通信ノードの各ペア間の接続を提供することを特徴とする方法。
【請求項１６】
請求項１３に記載の方法であって、
前記双方向ソース同期リングネットワークを、第１のクロックドメインで動作させるステップと、
前記通信ノードの少なくとも１つを、前記第１のクロックドメインとは異なる第２のクロックドメインで動作させるステップとをさらに含むことを特徴とする方法。
【請求項１７】
請求項１３に記載の方法であって、
前記通信ノードの可能なペアの各々の間の通信のための前記双方向ソース同期リングネットワーク上の通信パスを定義するルーティングテーブルを維持するステップをさらに含むことを特徴とする方法。
【請求項１８】
請求項１３に記載の方法であって、
前記データ転送ステーションを２つだけ含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、前記通信ノードの可能なペアの第１のグループを指定するステップと、
前記データ転送ステーションを３以上含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、通信ノードの可能なペアの第２のグループを指定するステップとをさらに含むことを特徴とする方法。
【請求項１９】
請求項１８に記載の方法であって、
前記第１のグループは、第１の通信帯域幅を必要とする通信ノードのペアを含み、
前記第２のグループは、第２の通信帯域幅を必要とする通信ノードのペアを含み、
前記第１の通信帯域幅は前記第２の通信帯域幅よりも大きいことを特徴とする方法。
【請求項２０】
請求項１３に記載の方法であって、
前記双方向ソース同期リングネットワークのうちの１つのネットワーク上の通信パスを介して通信する前記通信ノードの可能なペアの第１のグループを指定するステップと、
前記双方向ソース同期リングネットワークのすべてのネットワーク上の通信パスを介して通信する前記通信ノードの可能なペアの第２のグループを指定するステップとをさらに含むことを特徴とする方法。
【請求項２１】
請求項１３に記載の方法であって、
前記双方向ソース同期リングネットワークを少なくとも３つ含むことを特徴とする方法。
【請求項２２】
請求項１３に記載の方法であって、
前記データ転送ステーションと前記通信ノードとの間の通信をソース同期方式で行うステップをさらに含むことを特徴とする方法。
【請求項２３】
請求項１３に記載の方法であって、
前記データ転送ステーション及び前記通信ノードは、単一の集積回路チップ上に製造されることを特徴とする方法。
【請求項２４】
請求項１３に記載の方法であって、
前記通信ノードは、前記双方向ソース同期リングネットワーク内の異なる相対位置を有する前記データ転送ステーションに接続されることを特徴とする方法。
【国際調査報告】
2019536399.tif 000019