JP7019709B2 - 順列リングネットワーク - Google Patents

順列リングネットワーク Download PDF

Info

Publication number
JP7019709B2
JP7019709B2 JP2019547589A JP2019547589A JP7019709B2 JP 7019709 B2 JP7019709 B2 JP 7019709B2 JP 2019547589 A JP2019547589 A JP 2019547589A JP 2019547589 A JP2019547589 A JP 2019547589A JP 7019709 B2 JP7019709 B2 JP 7019709B2
Authority
JP
Japan
Prior art keywords
communication
data transfer
ring network
source synchronization
communication nodes
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.)
Active
Application number
JP2019547589A
Other languages
English (en)
Other versions
JP2019536399A (ja
Inventor
タム、キット・エス
リー、ウィンストン
Original Assignee
デジラム コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by デジラム コーポレーション filed Critical デジラム コーポレーション
Publication of JP2019536399A publication Critical patent/JP2019536399A/ja
Application granted granted Critical
Publication of JP7019709B2 publication Critical patent/JP7019709B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L12/422Synchronisation for ring networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/08Intermediate station arrangements, e.g. for branching, for tapping-off
    • H04J3/085Intermediate station arrangements, e.g. for branching, for tapping-off for ring networks, e.g. SDH/SONET rings, self-healing rings, meashed SDH/SONET networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4637Interconnected ring systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • H04L2012/421Interconnected ring systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)
  • Separation Using Semi-Permeable Membranes (AREA)
  • Polysaccharides And Polysaccharide Derivatives (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Immobilizing And Processing Of Enzymes And Microorganisms (AREA)
  • Lubricants (AREA)

Description

(関連出願)
本出願は、2017年11月17日出願の「順列リングネットワーク」と題する米国特許出願第15/816、374号、及び2016年11月23日出願の「順列リングネットワーク」と題する米国仮特許出願第62/425、798号に基づく優先権を主張するものである。上記両出願の開示内容は、参照により本明細書に援用される。
(技術分野)
本発明は、複数のリングネットワークを有する順列リングネットワークに関し、より詳細には、拡張性、高帯域幅及び低レイテンシを有するポイントツーポイントのオンチップ通信ソリューションを提供する順列リングネットワークに関する。
オンチップ通信システムはスケーリング問題を有しており、チップ内通信ノード数とオンチップデータ帯域幅に対する要求が依然として増加している。高速シリアライズ/デシリアライズ(SERDES)通信プロトコルは、ピンあたり100Gb/秒の動作帯域幅を提供する傾向にある。このため、1000ピンを有するチップは、最大で100テラビット/秒のチップ入出力(I/O)帯域幅を必要とする。これらの仕様をサポートするためのオンチップ通信帯域幅を提供することが求められている。この帯域幅を必要とするシステムの例としては、ラックスケールデータセンター用のスイッチファブリック、ニューラルネットワーク、GPUコンピューティングシステム、システムレベルのフィールドプログラマブルゲートアレイ(FPGA)、チップ上のマルチコアシステム(SoC)、及び高性能マルチコア及びマルチバンク化ラストレベルキャッシュ用のコヒーレンスメモリバスが挙げられる。
オンチップ通信の物理的制限は、オンチップ配線の長さを含み、これは、遅延及び動作周波数にとって重要である。長い配線は、周波数がネットワーク帯域幅に直接的に影響するため、性能を著しく低下させる。ファンアウトの高いノードでは、位置及びルートの混雑(place and route congestion)が発生し、ネットワークにゲート遅延及びワイヤ遅延を追加するため、帯域幅をさらに低下させる。
オンチップ通信ネットワークは、一般に、共通クロック信号に応答して動作する同期システムとして実現される。クロック分配は、大規模高帯域幅オンチップネットワークの構築における大きな障害となる。より具体的には、クロックスキューは、ネットワークの動作周波数を制限し、必要なクロック電力は、ネットワークに制限を課す。
加えて、一般的な通信ネットワークトポロジには、通信ノードの数を増加させることと、高い動作周波数を維持することに関して問題点が存在する。
一般的な通信ネットワークトポロジは、(1)フルメッシュトポロジ、(2)クロスバートポロジ、及び(3)トーラスネットワークトポロジを含む。これらの各ネットワークトポロジでは、システムの遅延及び動作周波数は、相互接続の配線長さが増加するにしたがって著しく低下する。さらに、高ファンアウトノードは、システムの速度及び電力性能をさらに低下させることとなる位置及びルートの混雑を引き起こす。
フルメッシュトポロジでは、帯域幅は、値N*(N-1)/2によって定義することができる。ここで、Nは、ネットワーク内のノードの数である。しかし、フルメッシュトポロジシステムのファンアウトは、ノードの数(N)が増えるにしたがって増加する。
クロスバートポロジでは、必要なマルチプレクサの数は、ネットワーク内のノード数(N)が増加するにしたがって、N**2のスケーリング係数で増加する。加えて、マルチプレクサあたりの入力数は、ノード数(N)が増加するにしたがって、Nのスケーリング係数で増加する。
トーラスネットワークトポロジでは、ノード数(N)が増加してもスループットはスケーリングされない。しかしながら、ノードのファンアウトは、望ましくないことに、ノード数(N)が増加するにしたがって、Log(N)のスケーリング係数で増加する。
これらのネットワークトポロジは、完全なワイヤではないオンチップ相互接続を使用して実現されるため、これらのネットワークの遅延及び動作周波数は、ワイヤの長さが長くなるにしたがって著しく低下する。加えて、高ファンアウトノードは、ネットワークの速度及び電力性能を低下させることとなる位置及びルートの混雑を引き起こす。
一方、ムーアの法則に関連するスケーリングと新しいコンピューティングパラダイムの出現によりオンチップ通信ノードの数は増加するので、より多くのオンチップ帯域幅が必要とされる。しかしながら、オンチップノード数の増加は、従来のネットワークトポロジを使用する場合、配線長さの増加とルーティング混雑(routing congestion)に起因してシステム帯域幅を低下させる。この結果、オンチップ帯域幅スケーリングの「壁」により、オンチップ通信ネットワークの発展は実質的に制限される。
したがって、オンチップ帯域幅スケーリングの壁を克服することができる改善されたネットワークトポロジを有することが望ましい。また、このような通信ネットワークは、スケーリングが容易であり、1000以上のオンチップ通信ノード間の通信を提供できることが望ましい。さらに、このような通信ネットワークは、高帯域幅で動作することができ、毎秒ペタビット以上のオンチップ通信帯域幅を提供することが望ましい。このような通信ネットワークは、低レイテンシ(例えば、100ns未満のレイテンシ)を有することがさらに望ましい。
したがって、本発明は、複数の通信ノードと、複数のデータ転送ステーションを各々有する複数の双方向ソース同期リングネットワークとを含む順列リングネットワークを提供する。各通信ノードは、複数の双方向ソース同期リングネットワークの各々におけるデータ転送ステーションのうちの1つに接続される。リングネットワーク上でデータを送信するために使用されるソース同期技術は、クロック分配問題を軽減する。双方向ソース同期リングネットワークの数は、様々な通信ノード間の通信に必要な帯域幅を提供するように選択することができる。このようにして、本発明の同期リングネットワークは、容易にスケーリングすることができる。
本発明は、以下の説明及び図面を参照することによって、より完全に理解されるであろう。
本発明の一実施形態による、8つの通信ノードと3つの双方向ソース同期リングネットワークとを含む順列リングネットワークのブロック図 本発明の一実施形態による、図1Aの順列リングネットワークの通信リンクの1つを示すブロック図 本発明の一実施形態による、図1Bの様々な信号のソース同期タイミングを示す波形図 本発明の一実施形態による、図1Aの順列リングネットワークの3つのリングネットワークの通信ノード及びデータ転送ステーション間の接続を定義する相互接続マトリクス 本発明の一実施形態による、図1Aの順列リングネットワークを通る通信ノード間のトラフィックの流れを定義するルーティングテーブル 本発明の一実施形態による、図3のルーティングテーブルにおける、互いに隣接するデータ転送ステーション間の帯域幅を定義する帯域幅推定テーブル 本発明の別の実施形態による、8つの通信ノードと3つの双方向ソース同期リングネットワークとを含む順列リングネットワークのブロック図 本発明の一実施形態による、図5の順列リングネットワークの3つのリングネットワークの通信ノード及びデータ転送ステーション間の接続を定義する相互接続マトリクス 本発明の一実施形態による、図5の順列リングネットワークを通る通信ノード間のトラフィックの流れを定義するルーティングテーブル 本発明の一実施形態による、図7のルーティングテーブルにおける、互いに隣接するデータ転送ステーション間の帯域幅を定義する帯域幅推定テーブル 本発明の別の実施形態による、8つの通信ノードと4つの双方向ソース同期リングネットワークとを含む順列リングネットワークのブロック図 本発明の一実施形態による、図9の順列リングネットワークの4つのリングネットワークの通信ノード及びデータ転送ステーション間の接続を定義する相互接続マトリクス 本発明の一実施形態による、図9の順列リングネットワークを通る通信ノード間のトラフィックの流れを定義するルーティングテーブル 本発明の一実施形態による、通信ノード及びそれに対応するデータ転送ステーションを示すブロック図 本発明の別の実施形態による、通信ノード及びそれ対応するデータ転送ステーションを示すブロック図
一般に、本発明は、複数のネットワークノード間で共有される複数の双方向ソース同期通信リングネットワークを含む、順列リングネットワークアーキテクチャを提供する。ソース同期技術がクロック分配問題を軽減するために使用され、送信ノードがクロックとデータとの両方を受信ノードに送信する。受信ノードは、受信したクロックを使用してデータをラッチする。クロックファンアウトは、データバス幅のサイズに制限される。クロックスキューは、クロックと対応するデータとの間の遅延関係によって設定される。ソース同期技術は、ポイントツーポイント相互接続(例えば、リングネットワーク)でのみ機能することに留意されたい。ポイントツーポイントネットワークを実現するためには、多数のオンチップ相互接続リソースが必要となる。また一方、ムーアの法則により、プロセス技術が進歩するにしたがって、金属層の数が増加し、金属ピッチが減少し、単位面積あたりより多くのワイヤが利用可能になり、それにより、ポイントツーポイントネットワークを実現するために必要なオンチップ相互接続リソースが提供されることが予測される。
双方向ソース同期リングネットワークは、本発明の順列リングネットワークアーキテクチャのビルディングブロックを提供する。双方向リングネットワークは、1のファンアウト(すなわち、ネットワークの各ノードに対して各方向に1つの入力及び1つの出力)を提供する単純なポイントツーポイントネットワークである。しかしながら、双方向ソース同期リングネットワークは、本明細書では「ホッピング損失」と称する基本性能制限を有する。ホッピング損失は、メッセージが、リングネットワーク上の送信ノードと受信ノードの間に存在するノードを「ホップ」する必要がある場合に発生する。以下でより詳細に説明するように、本発明の順列リングネットワークでは、ホッピング損失は、互いに隣接するノード間で利用可能なパスを最大にすることによって最小化または排除される。ソース同期信号技術を使用することにより、高速、低スキュー、かつ低電力の通信が、順列リングネットワーク上で可能となった。特定の実施形態では、本発明の順列リングネットワークは、約1000個のオンチップ通信ノード、及び毎秒ペタビットのオンチップ通信帯域幅を可能にする。この順列リングネットワークは、電力効率、並びに、広範囲のネットワークサイズ、オンチップリソース制約、帯域幅要件及びアプリケーション個別最適化についての解決策を提供する。
図1Aは、本発明の一実施形態による、順列リングネットワーク100のブロック図である。図示の実施形態では、順列リングネットワーク100は、各々が同一の集積回路チップ上に製造された8つの通信ノードN0~N7と、3つの双方向ソース同期リングネットワーク101、102及び103とを含む。詳細については後述するが、リングネットワーク101~103の各々は、通信チャネルとして機能する。図示の順列リングネットワーク100は、8つの通信ノードN0~N7及び3つの通信チャネル101~103を含むが、他の実施形態では、他の数の通信ノード及びチャネルを使用できることを理解されたい。一般に、チップ上の通信ノードの数は値Nで識別され、双方向リングネットワークの数は値Mで識別される。通信チャネル(M)の数は、通信ネットワークの帯域幅要件と通信ネットワークのエリア電力制約との間の適切なトレードオフを提供するように選択される。この選択を行うための基礎は、以下でより詳細に説明される。
通信チャネル101~103の各々は、双方向リンク(相互接続)によって接続された複数のデータ転送ステーションを含む。より具体的には、通信チャネル101はデータ転送ステーションA0~A7を含み、通信チャネル102はデータ転送ステーションB0~B7を含み、通信チャネル103はデータ転送ステーションC0~C7を含む。通信チャネル101の双方向リンクは、データ転送ステーションA0~A7をリング状に接続する実線として示されている。通信チャネル102の双方向リンクは、データ転送ステーションB0~B7をリング状に接続する破線として示されている。通信チャネル103の双方向リンクは、データ転送ステーションC0~C7をリング状に接続する一点鎖線として示されている。双方向リンクは、データ/クロック信号の時計回り方向及び反時計回り方向の両方への同時送信を可能にする。
一般に、データ転送ステーションA0~A7、B0~B7及びC0~C7の各々は、通信ノードN0~N7と通信チャネル101~103との間のデータ転送を可能にするインタフェースを提供する。データ転送ステーションA0~A7、B0~B7及びC0~C7、通信ノードN0~N7の構造及び動作の詳細は、以下でより詳細に提供される。
一般に、通信チャネル101~103の各々は、マスタークロック信号を受信するように接続される。したがって、図1Aの例では、通信チャネル101、102及び103はそれぞれ、マスタークロック信号CKA、CKB及びCKCを受信するように接続される。図示の実施形態では、データ転送ステーションA0、B0及びC0はそれぞれ、マスタークロック信号CKA、CKB及びCKCを受信するように接続される。しかし、他の実施形態では、通信チャネル101、102及び103内の他のデータ転送ステーションがそれぞれ、マスタークロック信号CKA、CKB及びCKCを受信するように接続されてもよい。3つの別個のマスタークロック信号CKA、CKB及びCKCが示されているが、マスタークロック信号CKA、CKB及びCKCの各々は、単一のマスタークロック信号に由来することを理解されたい。本実施形態では、マスタークロック信号CKA、CKB及びCKCの周波数は互いに同一である。
従来のクロック生成回路(例えば、位相同期ループ回路)を使用して、マスタークロック信号CKA、CKB及びCKCを生成することができる。本実施形態では、マスタークロック信号は、約5GHz以上の周波数を有し得る。他の実施形態では、マスタークロック信号は、他の周波数を有し得ることを理解されたい。マスタークロック信号の周波数及び電圧は、リングネットワークアーキテクチャの帯域幅受容及び電力最適化に基づいてスケーリングすることができる。図示の実施形態では、データ転送ステーションA0、B0及びC0はそれぞれ、マスタークロック信号CKA、CKB及びCKCを受信する。他のデータ転送ステーションの各々は、それに隣接するデータ転送ステーションから、そのクロック信号を受信する。すなわち、マスタークロック信号CKA、CKB及びCKCはそれぞれ、通信チャネル101、102及び103の各データ転送ステーションに順次に効率良く転送される。
各通信チャネル101、102及び103は、それに対応するマスタークロック信号CKA、CKB及びCKCにソース同期して動作する。図1Bは、通信チャネル101におけるデータ転送ステーションA0とデータ転送ステーションA1との間の通信リンクのうちの1つを示すブロック図である。この通信リンクは、メッセージMSG_Aを、データ転送ステーションA0内のステーションロジック120からデータ転送ステーションA1内のステーションロジック130に、マスタークロック信号CKAに基づくソース同期方式で送信することを可能にする。データ転送ステーションA1からデータ転送ステーションA0への、マスタークロック信号CKAに基づくソース同期方式でのメッセージの送信を提供する同一の通信リンクが存在することを理解されたい(すなわち、双方向通信が提供される)。さらに、各通信チャネル101~103における互いに隣接するデータ転送ステーションの各ペアは、同様の双方向ソース同期通信リンクを有することを理解されたい。
図1Bは、ステーションロジック120、遅延ライン121、マルチプレクサ122、クロック信号ライン141、メッセージバス142、及びステーションロジック130を含む、データ転送ステーションA0からデータ転送ステーションA1へのメッセージ及びクロック信号の送信に関するデータ転送ステーションA0及びA1の関連部分を示す。図1Cは、本発明の一実施形態による、図1Bの様々な信号のソース同期タイミングを示す波形図である。
一般に、データ転送ステーションA0は、2つのパス上に出力メッセージを送信することができる。第1のパスでは、(例えば、隣接するデータ転送ステーションA7から)ステーションロジック120によって受信されたメッセージMSG_Aは、データ転送ステーションA1に転送される。この場合、ステーションロジック120は、メッセージMSG_Aをマルチプレクサ122に転送する。マルチプレクサ122は、このメッセージを出力メッセージMSG_AINとしてルーティングするように制御される。ステーションロジック120及びマルチプレクサ122は、マスタークロック信号CKAに対する遅延DA0をメッセージに導入する。
第2のパスでは、データ転送ステーションA0に接続された通信ノード(例えば、通信ノードN1)によって提供されたメッセージが、マルチプレクサ122を介してルーティングされる。マルチプレクサ122は、このメッセージを出力メッセージMSG_AINとしてルーティングするように制御される。通信ノード及びマルチプレクサ122は、マスタークロック信号CKAに対する遅延DA0をメッセージに導入する。図1Cは、マスタークロック信号CKAと送信メッセージMSG_AINとの間に存在する遅延DA0を示す。
送信メッセージMSG_0AINは、マスタークロック信号CKAに対して遅延されているので、遅延ライン121を用いてマスタークロック信号CKAに遅延D121を加えることにより、データ転送ステーションA0の送信クロック信号CKAINが生成される。遅延ライン121によって導入される遅延D121は、クロック信号CKAINが、データ転送ステーションA0から送信されたメッセージMSG_AINに対して適切なセットアップ/ホールドタイムを有することを確実にするために選択される。一実施形態では、遅延ライン121の遅延D121は、上述したノード遅延DA0と等しくされる。すなわち、送信メッセージMSG_AINは、データ転送ステーションA0(及び関連する通信ノード)の既知の内部遅延を用いて、送信クロック信号CKAINと同期される。
データ転送ステーションA0とデータ転送ステーションA1との間のクロック信号ライン141とメッセージバス142を実現するために使用されるクロック信号ライン構造141D及びメッセージバス構造142Dは、著しい遅延(例えば、バッファ遅延)を示し得ることに留意されたい。クロック信号ライン構造141D及びメッセージバス構造142Dによって導入された遅延は、遅延D141及び遅延D142とそれぞれ示される。したがって、データ転送ステーションA1によって受信されたクロック信号CKAOUTは、データ転送ステーションA0から送信されたクロック信号CKAINに対してD141だけ遅延される。同様に、データ転送ステーションA1によって受信されたメッセージMSG_AOUTは、データ転送ステーションA0から送信されたメッセージMSG_AINに対してD142だけ遅延される。この関係を図1Cに示す。(CKAIN及びMSG_AINの生成時に)データ転送ステーションA0によって確立された所望のセットアップ/ホールドタイムを維持するためには、遅延D141及びD142は互いに同一でなければならない。そのため、セットアップ/ホールドタイムの損失を最小限に抑えるためには、クロック信号ライン構造141D及びメッセージバス構造142Dを実施するために使用される配線及びバッファを高度に均一化し、かつバランスを取ることが非常に重要である。すなわち、クロックパス構造141D及びメッセージバス構造142Dは、送信クロック信号CKAINと送信メッセージMSG_AINとの相対位相が、送信クロック信号CKAOUTと受信メッセージMSG_AOUTとにおいて受信側のデータ転送ステーションA1で維持されるように、データ転送ステーションA0とA1との間で実質的に同一の送信特性を提供するべきである。
上述した例では、クロックパス141及びメッセージバス142は、ウェーブパイプラインシステムとして動作し、メッセージバス142上で送信されたメッセージは、クロックパス141上で送信されたクロック信号を使用してソース同期方式で受信ノードにラッチされる。このようにして、メッセージは、データ転送ステーションA0からデータ転送ステーションA1へマスタークロック信号CKAの周波数で送信され、これにより、データ転送ステーションA0からデータ転送ステーションA1への高速データ送信が可能となる。通常動作中、各データ転送ステーションA0~A7、B0~B7、及びC0~C7内のステーションロジックは、対応する受信クロック信号に応答して入力メッセージをラッチする。
ポイントツーポイントのソース同期通信が実現されるので、クロック信号ライン構造141D及びメッセージバス構造142Dの配線及びバッファ遅延D141及びD142は、通信チャネル101~103の動作周波数を低下させない。一実施形態によれば、マスタークロック信号CKA、CKB及びCKCの周波数は、通信ノードN0~N7を動作させるために使用されるローカルクロック信号の周波数よりも高い。
データ転送ステーションのステーションロジックは比較的単純な設計であるため、順列リングネットワーク上でのメッセージの送信は、比較的高い周波数で行うことができる。通信ノードN0~N7は一般的に、より複雑な設計であり、マスタークロック信号CKA、CKB及びCKCの周波数よりも低い周波数で動作する。すなわち、通信ノードN0~N7は、順列リングネットワークからメッセージをマスタークロック信号CKA、CKB及びCKCの周波数で受信するが、マスタークロック信号CKA、CKB及びCKCの周波数で応答する必要はない。
通信チャネル101~103の環状構造は、データ転送ステーションA0、B0及びC0(例えば、マスタークロック信号CKA、CKB及びCKCを受信するデータ転送ステーション)が受信したメッセージをそれぞれ、マスタークロック信号CKA、CKB及びCKCと再同期させる必要があることに留意されたい。例えば、データ転送ステーションA7からデータ転送ステーションA0に送信されるメッセージは、データ転送ステーションA7内のマスタークロック信号CKAの遅延バージョンと同期される。この結果、データ転送ステーションA0内でのクロックドメインクロッシング同期が必要となる(すなわち、データ転送ステーションA7から受信したメッセージは、データ転送ステーションA0内のマスタークロック信号CKAと再同期させる必要がある)。一実施形態では、再同期回路(図示しない)は、データ転送ステーションA7から受信した入力クロック信号に応答して入力メッセージを第1のフリップフロップにラッチすることによって、この同期化動作を実行する。この第1のフリップフロップの出力に提供されたメッセージは、その後、マスタークロック信号CKAに応答して第2のフリップフロップにラッチされる。第2のフリップフロップは、ステーションロジック120に供給される同期メッセージMSG_Aを供給する。この同期メッセージMSG_Aは、マスタークロック信号CKAに応答してステーションロジック120に格納される。
ここで、順列リングネットワーク100のトポグラフィに戻ると、各通信ノードN0~N7は、3つの通信チャネル101~103の各々における、データ転送ステーションA0~A7、B0~B7及びC0~C7のうちのユニークな(一意の)ステーションに接続される。例えば、通信ノードN0は、通信チャネル101のデータ転送ステーションA1、通信チャネル102のデータ転送ステーションB0、通信チャネル103のデータ転送ステーションC0に接続される。下記の表1は、本実施形態による、各通信ノードN0~N7とデータ転送ステーションA0~A7、B0~B7及びC0~C7との間の接続を定義する。分かりやすくするために、通信ノードN1~N7とデータ転送ステーションA0~A7、B0~B7及びC0~C7との間の物理的接続は、図1Aに明確に示されていないことに留意されたい。
Figure 0007019709000001
図2は、3つの通信チャネル101~103の相互接続マトリクス200を提供するために、表1のデータを整理し直したものである。相互接続マトリクス200は、各通信チャネル101~103のデータ転送ステーションによって順序付けられる。この相互接続マトリクス200によって、各通信チャネル101~103上の通信ノードN0~N7間のホップ数を容易に決定することができる。通信ノードN0~N7は、3つの通信チャネル101~103における、相対位置が互いに異なるデータ転送ステーションに接続されていることに留意されたい。以下でより詳細に説明するように、この構成は、通信ノード間のメッセージの汎用的かつ効率的なルーティングを可能にする。
図3は、本実施形態による、順列リングネットワーク100を通る通信ノードN0~N7間のトラフィックの流れを定義するルーティングテーブル300である。例えば、通信ノードN0及びN1は、通信チャネル101上のデータ転送ステーションA0とデータ転送ステーションA1との間のパスを使用して通信する。このパスに沿ったホップの数は、通信チャネル101上を転送されるセグメントの数によって定義される。データ転送ステーションA0及びデータ転送ステーションA1は、通信チャネル101上で互いに隣接しているため(すなわち、データ転送ステーションA0とデータ転送ステーションA1との間に1つのセグメントが存在する)、ノードN0とノードN1との間の通信パスは1つのホップ(1H)から成る。
ルーティングテーブル300に示すように、ノードN0~N7間の通信パスの大部分は、ユニークな1ホップ通信パスを含む。しかし、3つの通信チャネル101~103によって提供される24個のユニークな通信セグメントと、28個のユニークな通信ノードペアとが存在するため、順列リングネットワーク100は、各通信ノードペア間にユニークな1ホップ通信パスを提供することができない。したがって、ルーティングテーブル300は、4つの通信ノードペア(すなわち、ノードペアN0及びN7、ノードペアN1及びN2、ノードペアN3及びN5、ノードペアN4及びN6)のための2ホップ(2H)通信パスを提供する。例えば、ノードN0及びN7は、通信チャネル101上のデータ転送ステーションA7、A0及びA1間の第1のパスと、通信チャネル103上のデータ転送ステーションB0、B1及びB2間の第2のパスと、及び通信チャネル102上のデータ転送ステーションC6、C7及びC0間の第3のパスとを含む、互いに異なる3つの2ホップパスを使用して通信する。
データ転送ステーションA0~A7、B0~B7、及びC0~C7の間の通信は、ソース同期ネットワークによって許容される最高周波数で動作する。この周波数は、通信ノードの数及び通信チャネルの数が増加しても低下しない。通信チャネル101~103の各々は、初期化、アービトレーション(調停)、フロー制御及びエラー処理のための規定を含むことを理解されたい。一実施形態では、これらの規定は、十分に確立された技術を使用して提供することができる。
図4は、順列リングネットワーク100のルーティングテーブル300における、互いに隣接するデータ転送ステーション間の帯域幅を定義する帯域幅推定テーブル400である。したがって、ルーティングテーブル300に基づいて、データ転送ステーションA0とA1との間のリンクを使用して、通信ノードN0とN1との間、通信ノードN0とN7との間、及び通信ノードN1とN2との間でデータを送信することができる。
上述した例では、4ペアの通信ノードが、3つの2ホップパスを使用して通信する。より具体的には、通信ノードN0及びN7は、3つの2ホップパスA7-A0-A1、C6-C7-C0及びB0-B1-B2を使用して通信し、通信ノードN1及びN2は、3つの2ホップパスA0-A1-A2、C3-C4-C5、及びB4-B5-B6を使用して通信し、通信ノードN3及びN5は、3つの2ホップパスA3-A4-A5、C7-C0-C1及びB3-B4-B5を使用して通信し、通信ノードN4及びN6は、3つの2ホップパスA4-A5-A6、C2-C3-C4、B7-B0-B1を使用して通信する。上述した例では、3つの2ホップパスを使用する通信ノードペアは、他の通信ノードペアほど多くの帯域幅を必要としない、より低い容量のペアであると見なされる。本実施例では、3つの2ホップパスを使用する各通信ノードペア間の通信に割り当てられる帯域幅は、互いに隣接するデータ転送ステーション間のリンクで利用可能な帯域幅の60%に(任意に)制限される(例えば、ノードN0及びN7間の通信に割り当てられる帯域幅は、データ転送ステーションA0及びA1間のリンクによって提供される帯域幅の60%に制限される)。
通信ノードN0及びN7を例に挙げると、ノードN0及びN7間には3つの2ホップパス(すなわち、A7-A0-A1、C6-C7-C0及びB0-B1-B2)が存在する。もし、割り当てられた帯域幅がこれらの3つの2ホップパス間で均等に分割される場合、この割り当てられた帯域幅は、関連する各リンクで使用可能な帯域幅の20%(60%/3)を占める。
上記の12個の2ホップパスをすべて考慮すると、ノードN0~N7、N1~N2、N3~N5及びN4~N6間の通信に割り当てられる帯域幅は、A1-A2、A3-A4、A5-A6、A0-A7、B1-B2、B3-B4、B5-B6、B0-B7、C0-C1、C2-C3、C4-C5及びC6-C7のデータ転送ステーション間のリンク上の帯域幅の20%を占める。このことにより、これらのリンクの帯域幅の80%が、これらのリンクによって提供される1ホップパスによって接続された通信ノードに使用可能になる。例えば、データ転送ステーションA1及びA2間のリンクの帯域幅の80%が通信ノードN0及びN2間の1ホップ接続に割り当てられ、データ転送ステーションA1及びA2間のリンクの帯域幅の20%が通信ノードN1及びN2間の2ホップ接続に割り当てられる。
同様に、上記の12個の2ホップパス12のすべてを考慮すると、ノードN0-N7、N1-N2、N3-N5及びN4-N6間の通信に割り当てられる帯域幅は、A0-A1、A4-A5、B0-B1、B4-B5、C3-C4及びC0-C4のデータ転送ステーション間のリンク上の帯域幅の40%を占める。このことにより、これらのリンクの帯域幅の60%が、これらのリンクによって提供される1ホップパスによって接続された通信ノードに使用可能になる。例えば、データ転送ステーションA0及びA1間のリンクの帯域幅の60%が通信ノードN0及びN1間の1ホップ接続に割り当てられ、データ転送ステーションA0及びA1間のリンクの帯域幅の20%が通信ノードN0及びN7間の2ホップ接続に割り当てられ、データ転送ステーションA0及びA2間のリンクの帯域幅の20%が通信ノードN1及びN2間の2ホップ接続に割り当てられる。
データ転送ステーション間のリンクのいくつかは、12個の2ホップパスのいずれにも使用されないことに留意されたい。この場合、2ホップパスで使用されないリンクの帯域幅の100%が、関連する通信ノードの接続に利用することができる。本実施例では、データ転送ステーションA2-A3、A6-A7、B2-B3、B6-B7、C1-C2及びC5-C6間のリンクの帯域幅の100%が、通信ノードペアN2-N3、N6-N7、N2-N6、N3-N6及びN2-N6間の1ホップ通信を提供するために利用することができる。
表400は、上述の説明による、互いに隣接するデータ転送ステーション間で利用可能な1ホップ帯域幅を示すことに留意されたい。図1~4の例では、通信チャネル101~103の各々の合計1ホップ帯域幅は6.6であり、これは、単純な双方向リングネットワーク(1ホップ帯域幅は2である)の3倍以上の向上を示す。したがって、順列リングネットワーク100の3つの通信チャネルの使用は、3つの単純な双方向リングネットワークよりも帯域幅が3.3倍向上される。帯域幅の向上は、通信チャネルの数が増加するにしたがって、より重要になることに留意されたい。
図1~4の例では、通信ノードの各ペア間の1ホップ帯域幅は互いに等しくない。したがって、順列リングネットワークにおける様々な通信ノードの配置は、様々な通信ノードの通信ニーズに適合するように選択されるべきである。図1~4の例では、ノード位置N2-N3、N6-N7、N3-N7、N2-N6、N3-N6及びN2-N7に、より高い帯域幅要件を有する通信ノードのペアを配置することが望ましい。したがって、通信ノードの通信パターンは、順列リングネットワーク100の設計にとって重要な考慮事項である。別の言い方をすれば、ノードの通信パターンは、相互接続マトリクス200の最適化にとって重要な考慮事項である。
上述したように、順列リングネットワーク100の通信パスのいくつかは2ホップを必要とし、その結果、本明細書では「ホッピング損失」と称する上述の基本性能制限が生じる。上述したように、順列リングネットワーク100は、24ペアの1ホップリンクと、通信ノードN0~N7間の28個の可能なユニークな接続とを提供する。通信ノードの可能な各ペアに対してユニークな1ホップ接続を提供することができないので、ホッピング損失が存在する(なぜならば、いくつかの接続はマルチホップ接続である必要があるからである)。合計1ホップ帯域幅を最大化するために、相互接続マトリクス200及びルーティングテーブル300は、下記の(1)及び(2)の制約により最適化される。(1)ユニークな1ホップ接続の数を最大化する。(2)残りのマルチホップ接続ペアについては、パスダイバーシティを最大化し、各ホッピングパスにおけるホップ数を最小化する。
相互接続マトリクス200及びルーティングテーブル300は、通信ノードN0~N7のネットワークサイズ及びアプリケーション個別帯域幅要件によって決定される。例えば、エリアまたは電力予算が限られるネットワークでは、供給されるチャネルの数は「ホッピング損失」を完全に除去するのに十分である可能性はほとんどないため、相互接続マトリクス及びルーティングテーブルは、すべての通信ノード間の合計帯域幅を最大化するように設計される。もし、ネットワークが、重大な性能低下を回避するために、通信ノードペアのサブセットが0ホッピング損失を有することを必要とする場合、相互接続マトリクスは、そのような制約を満たすように設計される。もし、通信チャネルの数が十分であれば、ブロードキャスト能力を有する非ブロッキング、フォールトトレラント通信を構築することができる。このような設計を実現する様々な態様について、以下でより詳細に説明する。
特定の組の通信ノードと共に使用するために順列リングネットワークを設計することができる方法の特定の例を、図5~8を参照して以下でより詳細に説明する。
図5は、8つの通信ノードCPU_0、CPU_1、CPU_2、CPU_3、MB_0、MB_1、MB_2及びMB_3を含む順列リングネットワーク500を示すブロック図であり、これらの通信ノードは、データ転送ステーションA0~A7、B0~B7及びC0~C7を含む通信チャネル101~103によって接続される。通信チャネル101~103及びデータ転送ステーションA0~A7、B0~B7及びC0~C7は上述した通りである。各通信ノードCPU_0、CPU_1、CPU_2及びCPU_3はオンチッププロセッサであり、各通信ノードMB_0、MB_1、MB_2及びMB_3はオンチップメモリバンクである。各プロセッサCPU_0、CPU_1、CPU_2及びCPU_3はそれぞれ、メモリバンクMB_0、MB_1、MB_2及びMB_3、並びに、他のプロセッサにアクセス可能である(例えば、プロセッサCPU_0は、プロセッサCPU_1、CPU_2及びCPU_3の各々にアクセスすることができる)。
図6は、通信ノードCPU_0、CPU_1、CPU_2、CPU_3、MB_0、MB_1、MB_2及びMB_3と、データ転送ステーションA0~A7、B0~B7及びC0~C7との間の接続を特定する相互接続マトリクス600である。図7は、通信ノードの様々なペアをリンクするために使用されるデータ転送ステーション、並びに、各リンクに含まれるホップの数を指定するルーティングテーブル700である。図8は、順列リングネットワーク500のルーティングテーブル700における、互いに隣接するデータ転送ステーション間の帯域幅を定義する帯域幅推定テーブル800である。
相互接続マトリクス600及びルーティングテーブル700は、通信ノードCPU_0、CPU_1、CPU_2、CPU_3、MB_0、MB_1、MB_2及びMB_3、並びにデータ転送ステーションA0~A7、B0~B7及びC0~C7の特定の要件に基づいて選択される。
通信チャネル102及び103(データ転送ステーションB0~B7及びC0~C7を含む)は、プロセッサCPU_0、CPU_1、CPU_2及びCPU_3と、メモリバンクMB_0、MB_1、MB_2及びMB_3との間の通信に使用される。より具体的には、プロセッサCPU_0、CPU_1、CPU_2及びCPU_3の各々は、通信チャネル103及び102を使用する、メモリバンクMB_0、MB_1、MB_2及びMB_3の各々に対するユニークな1ホップ接続を有する。そのため、1ホップリンクの全帯域幅が、プロセッサCPU_0、CPU_1、CPU_2及びCPU_3と、メモリバンクMB_0、MB_1、MB_2及びMB_3との間の通信に利用可能である(帯域幅推定テーブル800を参照)。メモリバンクMB_0、MB_1、MB_2及びMB_3の間に通信リンクは存在しない(上述した例では、メモリバンクMB_0、MB_1、MB_2及びMB_3は互いに通信する必要がないからである)。
通信チャネル101(データ転送ステーションA0~A7を含む)は、プロセッサCPU_0、CPU_1、CPU_2及びCPU_3の間の通信、並びに、アービトレーション、同期、キャッシュスヌーピング、ブロードキャスト及びマルチキャストを含む他のメモリ相互接続機能に使用される。図8に示すように、CPU_0~CPU_3間の利用可能な帯域幅は、CPU_0~CPU_3とメモリバンクMB_0~MB_3との間の利用可能な帯域幅よりも小さい。しかしながら、上述した例では、プロセッサCPU_0、CPU_1、CPU_2及びCPU_3の間の通信は、通信チャネル101上に存在するホッピング損失を許容することができる。
特定の組の通信ノードと共に使用するために順列リングネットワークを設計することができる方法の別の特定の例を、図9~11を参照して以下でより詳細に説明する。図9は、8つの通信ノードN0~N7を含む順列リングネットワーク900を示すブロック図である。これらの通信ノードは、データ転送ステーションA0~A7、B0~B7、C0~C7及びD0~D7を含む4つの通信チャネル101~104によって接続される。通信チャネル101~103及びデータ転送ステーションA0~A7、B0~B7及びC0~C7は上述した通りであり、追加の通信チャネル104及びデータ転送ステーションD0~D7も同様である。通信チャネル104を追加すると、利用可能な1ホップリンクの総数が32に増加し、通信ノードN0~N7間の28個の可能なリンクの各々を、1ホップリンクを使用して実現することができる。この結果、ホッピング損失は、順列リングネットワーク900において完全に除去され(すなわち、各通信ノードは、他の通信ノードと直接通信することができる)、これにより、完全な非ブロッキングネットワークを創出することができる。上述した実施形態では、順列リングネットワークは、単一の集積回路チップ上に製造される。
図10は、通信ノードN0~N7と、データ転送ステーションA0~A7、B0~B7、C0~C7及びD0~D7との間の接続を指定する相互接続マトリクス1000である。図11は、通信ノードの様々なペアをリンクするために使用されるデータ転送ステーション、並びに、各リンクに含まれるホップの数を指定するルーティングテーブル1100である。これらの各リンクの推定帯域幅は1.0(すなわち、互いに隣接するデータ転送ステーション間で利用可能な帯域幅の100%)であることに留意されたい。
図9~11の実施態様では、各通信ノードN0~N7と通信チャネル101~104との間に4ペアの接続が存在する。この構成により、順列リングネットワーク900の帯域幅を制限することができる。すなわち、順列リングネットワーク900のピーク帯域幅は、通信ノードN0~N7と通信チャネル101~104との間の相互接続によって制限することができる。この結果、順列リングネットワーク900のピーク帯域幅は、互いに同時に通信するすべてのノードN0~N7の帯域幅需要をサポートすることができるが、通信ノードN0~N7から通信チャネル101~104へメッセージを転送するには帯域幅が十分ではない可能性がある。この場合、通信チャネル101~104は、追加の(未使用の)帯域幅を有する。この追加の帯域幅は、下記の(1)~(3)を含むいくつかの利点を有する。(1)通信ノードの混雑状態(congestion)がより少ないこと(例えば、通信ノードが他の7つの通信ノードと同時に通信することを可能にするために必要とされる7対のワイヤに対して、各通信ノードで4対のワイヤ)。(2)通信ノードの各ペアは、順列リングネットワーク900がパスダイバーシティを提供するように、他のチャネルを介して通信することができる(そのため、フォルトトレランスが提供される。すなわち、順列リングネットワーク900は過剰の帯域幅を有するので、各ソース通信ノードはそれに割り当てられたチャネル以外のチャネルを選択的に使用してターゲット通信ノードと通信する。当然ながら、これにより、不必要なホッピング損失が発生する。しかし、順列リングネットワーク900の余剰帯域幅は、所定の制限された量のホッピング損失を吸収することができる)。(3)順列リングネットワーク900の通信チャネル101~104は、順列リングネットワーク900の余剰帯域幅を使用して、他の重要な通信機能(放送、ブロードキャスト及びマルチキャスト)を提供することができる。
上述したように、各データ転送ステーションは、通信ノードと対応する通信チャネルとの間でデータを転送する(または、対応する通信チャネル上の互いに隣接するデータ転送ステーション間でデータを転送する)。次に、データ転送ステーションA1、通信ノードN0、通信チャネル101を含む具体例を用いて、データ転送ステーション、通信ノード、通信チャネルの動作をより詳細に説明する。他のデータ転送ステーションは、データ転送ステーションA1と同様に動作する(また、他の通信ノードは通信ノードN0と同様に動作する)ことを理解されたい。
図12は、本発明の一実施形態による、通信ノードN0及びデータ転送ステーションA1を示す簡略化されたブロック図である。
データ転送ステーションA1は、ステーションロジック1201、マルチプレクサ1202、受信FIFO1203、送信FIFO1204及び遅延ライン1220を含み、これらは、通信チャネル101上の時計回りのメッセージ(例えば、M1_IN及びM1_OUT)及び時計回りのクロック信号(例えば、CK1_IN及びCK1_OUT)の伝送専用である。データ転送ステーションA1は、ステーションロジック1211、マルチプレクサ1212、受信FIFO1213、送信FIFO1214及び遅延ライン1215をさらに含み、これらは、通信チャネル101上の反時計回りのメッセージ(例えば、M2_INとM2_OUT)及び反時計回りのクロック信号(例えば、CK2_IN及びCK2_OUT)の伝送専用である。アービトレーション回路1210、遅延ライン1220及びマルチプレクサ1225は、時計回り方向及び反時計回り方向で同時に受信されたメッセージ間の競合を考慮して、メッセージ/クロック信号を通信ノードN0に送信するために使用される。
通信ノードN0は、通信ノードロジック1230、受信FIFO1231、送信FIFO1232、遅延ライン1234、通信ノードクロック発生器1235、及び同期回路1236を含む。一般に、通信ノードクロック発生器1235は、通信ノードN0内の大部分の動作を制御するために使用されるローカルクロック信号CK_N0を生成する。例えば、通信ノードロジック1230は、ローカルクロック信号CK_N0に応答して、受信FIFO1231からのメッセージの読み出し及び送信FIFO1232へのメッセージの書き込みを含む通信ノードN0の動作を制御する。
次に、「時計回り」のデータ転送回路について、より詳細に説明する。「反時計回り」のデータ転送回路も同様に動作することに留意されたい。
データ転送ステーションA1に関連する2組のソース同期相互接続バスが存在する。時計回り方向では、隣接するデータ転送ステーションA2から受信メッセージM1_IN及びソース同期クロック信号CK1_INが受信され、隣接するデータ転送ステーションA0へ出力メッセージM1_OUT及びソース同期クロック信号CK1_OUTが送信される。反時計回り方向では、隣接するデータ転送ステーションA0から着信メッセージM2_IN及びソース同期クロック信号CK2_INが受信され、隣接するデータ転送ステーションA2へ出力メッセージM2_OUT及びソース同期クロック信号CK2_OUTが送信される。これらのクロック信号CK1_IN及びCK2_INは両方とも、対応する通信チャネル101のマスタークロック信号CKAに由来する。
メッセージM1_INがデータ転送ステーションA1に到達すると、メッセージM1_INは、ソースクロック信号CK1_INに応答してステーションロジック回路1201によってラッチされる。ステーションロジック1201は、受信したメッセージM1_INがデータ転送ステーションA1をターゲットにしているか(アドレス指定しているか)否かを判定する。もしそうであれば、ステーションロジック1201は受信メッセージM1_INを受信FIFO1203に書き込む(例えば、対応するライトイネーブル信号WE1をアクティブにすることによって)。同様に、ステーションロジック1211は、データ転送ステーションA1をターゲットにする反時計回りのメッセージM2_INを受信FIFO1213に書き込む(例えば、対応するライトイネーブル信号WE2をアクティブにすることによって)。ステーションロジック回路1201及び1211は、メッセージが受信FIFO1203及び1210に格納されたとき、アービトレーション回路1213に通知する。これに応答して、アービトレーション回路1210は、受信FIFO1203及び1213からの読み出し動作を制御するとともに、マルチプレクサ1225を制御して、メッセージM1_INまたはM2_INのいずれかをメッセージM_INとして通信ノードN0の受信FIFO1231にルーティングする。アービトレーション回路1210で実行される読み出し動作は、ソースクロック信号CK1_INまたはCK2_INのうちの任意に選択された1つに応答して実行される。図示の例では、アービトレーション回路1210は、ソースクロック信号CK1_INを使用して受信FIFO1203及び1213からの読み出し動作を実行する。アービトレーション回路1210は、FIFO1203または1213のいずれかにメッセージが存在する限りは常にアービトレーション回路1210によってメッセージを読み出すことを指定する従来のアービトレーションポリシーを使用して、これらのメッセージM1_IN及びM2_INの読み出しを制御する。このようにして、受信FIFO1203及び1213に格納されたメッセージは、事前に定義されたアービトレーションポリシーを使用して、通信ノードN0へ順次に送信される。
また、アービトレーション回路1210は、マルチプレクサ1225を制御して、受信FIFO1203及び1213からメッセージを読み出すために使用されるソースクロック信号(例えば、本実施例におけるソースクロック信号CK1_IN)を遅延ライン1203にルーティングする。遅延ライン1220は、受信クロック信号を遅延させて入力クロック信号CK_INを生成する。遅延ライン1220によって導入される遅延は、メッセージM_INに対するセットアップ/ホールドタイムを最大にするように選択される。
メッセージM_INはソース同期方式で書き込まれ、メッセージM_INは入力クロック信号CK_INに応答して受信FIFO1231にラッチされる。その後、ローカルクロック信号CK_N0に応答して、メッセージM_INが受信FIFO1231から通信ノードロジック1230に読み出される。
受信メッセージM1_INがデータ転送ステーションA1をターゲットとしていない場合(すなわち、メッセージがデータ転送ステーションA1を「ホップ」する場合)、ステーションロジック1201は、マルチプレクサ1202を制御して、受信メッセージを出力メッセージM1_OUTとしてデータ転送ステーションA0に送信する。遅延ライン1205は、ソースクロック信号CK1_INに遅延を導入して出力クロック信号CK1_OUTを生成する。生成された出力クロック信号CK1_OUTは、データ転送ステーションA0にルーティングされる。遅延ライン1205は、メッセージM1_OUTが出力クロック信号CK1_OUTに対して適切なセットアップ/ホールドタイムを有するように選択された遅延を導入する(図1B及び1Cに関連して上述した方法を用いて)。
通信ノードN0はまた、データ転送ステーションA1に送信するためのメッセージを生成することができる。一実施形態では、通信ノードロジック1230はメッセージM_N0を生成する。生成されたメッセージM_N0は、ローカルクロック信号CK_N0のクロックドメイン内の送信FIFO1232に書き込まれる。このメッセージM_N0は、入力クロック信号CK_INのクロックドメイン内の送信FIFO1232から読み出される。アービトレーション回路1210は、たとえメッセージM1_INまたはM2_INを受信していなくても、常にマルチプレクサ1225に選択されたソースクロック信号CK1_INをルーティングさせて入力クロック信号CK_INを生成することを理解されたい。送信FIFO1232から読み出されたメッセージM_N0は、データ転送ステーションA1内のFIFO1204及び1214に送信するために提供される。通信ノードロジック1230は、ライトイネーブル信号W3及びW4を同期回路1236に供給する。同期回路1236は、これらのライトイネーブル信号W3及びW4を入力クロック信号CK_INと同期させて、同期ライトイネーブル信号WE3及びWE4をそれぞれ生成する。これらのライトイネーブル信号WE3及びWE4は、FIFO1204及び1214をそれぞれ送信するために提供される。ライトイネーブル信号WE3及びWE4は、通信ノードN0がメッセージM_N0を送信FIFO1214及び1204のうちの所望の一方に書き込むことを可能にする。メッセージM_N0は、送信FIFO1232からメッセージM_N0を読み出すために使用される、入力クロック信号CK_INの遅延バージョンである出力クロック信号CK_OUTを使用して、ソース同期方式で、選択された送信FIFO1204または1214に書き込まれる。図示の例では、遅延ライン1234は、送信FIFO1232から読み出されたメッセージM_N0に対するセットアップ/ホールドタイムが最大になるように、入力クロック信号CK_INに適切な遅延を導入して出力クロック信号CK_OUTを生成する。
メッセージM_N0が送信FIFO1204に格納されると仮定する。この場合、ステーションロジック1201は、リードイネーブル信号RE1をアクティブにすることにより、メッセージM_N0がマルチプレクサ1202に読み出される。ステーションロジック1201は、マルチプレクサ1202を制御して、このメッセージM_N0を出力メッセージM1_OUTとして通信チャネル101上にルーティングする。ステーションロジック1201は、この出力メッセージM1_OUTが対応する出力クロック信号CK1_OUTに対する適切な位相関係を有することを確実にすることに留意されたい。すなわち、出力メッセージM1_OUTは、このメッセージのセットアップ/ホールドタイムが出力クロック信号CK1_OUTに対して最大になるようにルーティングされる。
ステーションロジック1211は、同様の方式で送信FIFO1214からメッセージを読み出し(リードイネーブル信号RE2を使用して)、読み出したメッセージを出力メッセージM2_OUTとしてマルチプレクサ1212を介してルーティングする。
図12の実施形態は、有利なことに、本発明の順列リングネットワークを実現するために必要なクロック発生器の数を最小化する。
図13は、本発明の別の実施形態による、通信ノードN0及びデータ転送ステーションA1を示す簡略化されたブロック図である。図12及び図13における同様の構成要素には、同様の参照番号が付されている。したがって、図13のデータ転送ステーションA1は、時計回りメッセージの伝送専用のステーションロジック1201、マルチプレクサ1202、受信FIFO1203、送信FIFO1204及び遅延ライン1205と、反時計回りメッセージの伝送専用のステーションロジック1211、マルチプレクサ1212、受信FIFO1213、送信FIFO1214及び遅延ライン1215とを含む。通信ノードN0は、通信ノードロジック1230、受信FIFO1231、送信FIFO1232、通信ノードクロック発生器1235及び同期回路1236を含み、これらについては、図12を参照して上述した通りである。
一般に、図13の通信ノードN0は、通信ノードN0とデータ転送ステーションA1との間のデータ転送を制御するために使用されるローカルクロック信号CK_CDを生成するデータ転送ステーション(CN-DTS)クロック生成回路1301への通信ノードを含む(これは、通信チャネル101からのクロック信号CK1_IN及びCK2_INを使用して、通信ノードN0とデータ転送ステーションA1との間のデータ転送を制御する、図12の実施形態と対照的である)。
したがって、図13の実施形態では、CK_CD信号を使用して、通信ノードN0の送信FIFO1232からデータ転送ステーションA1内の送信FIFO1204及び1214にメッセージM_N0を読み出す。遅延ライン1302は、CK_CDクロック信号に遅延を導入し、それにより、遅延出力クロック信号CK_OUTを生成する。生成された遅延出力クロック信号CK_OUTは、データ転送ステーションA1内の送信FIFO1204及び1214に提供される。遅延ライン1302によって導入される遅延は、メッセージM_N0に対するセットアップ/ホールドタイムを最大にするように選択される。同期回路1236は、通信ノードロジック1230から供給されたライトイネーブル信号W3及びW4をクロック信号CK_CDと同期させ、それにより、データ転送ステーションA1の送信FIFO1204及び1214にそれぞれ提供されるライトイネーブル信号WE3及びWE4をそれぞれ供給する。メッセージM_N0は、ライトイネーブル信号WE3及びWE4、並びに出力クロック信号CK_OUTにそれぞれ応答して、送信FIFO1204及び1214にソース同期方式でラッチされる。送信FIFO1204及び1214は、メッセージM_N0が送信されていない場合にはCK_CDクロック信号を必要としないが、このCK_CDクロック信号は、データ転送ステーションA1によってデータ転送ステーションA1から通信ノードN0(以下に詳細に説明する)へのメッセージのソース同期転送に使用されるため、データ転送ステーションA1へ連続的に送信される。
通信チャネル101から受信され、データ転送ステーションA1の受信FIFO1203及び1213に格納されたメッセージM1_IN及びM2_INは、アービトレーション回路1310によってマルチプレクサ1225に読み出される。アービトレーション回路1310は、FIFO1203または1213のいずれかにメッセージが存在する限りは常にアービトレーション回路1310によってメッセージを読み出すことを指定する従来のアービトレーションポリシーを使用して、これらのメッセージM1_IN及びM2_INの読み出しを制御する。
アービトレーション回路1310は、マルチプレクサ1225を制御して、検索されたメッセージM1_IN及びM2_INを、入力メッセージM_INとして通信ノードN0の受信FIFO1231へ選択的にルーティングする。図13の実施形態では、アービトレーション回路1310は、通信ノードN0から提供されたCK_CDクロック信号を受信する(そして、CK_CDクロック信号のドメインで動作する)。したがって、メッセージは、CK_CDクロック信号に応答して受信FIFO1203及び1213から読み出される。データ転送ステーションA1内の遅延ライン1303は、CK_CDクロック信号に遅延を導入して、入力クロック信号CK_INを提供する。入力クロック信号CK_INは、マルチプレクサ1225から提供されたメッセージM_INを通信ノードN0の受信FIFO1231にソース同期方式で転送するために使用される。遅延ライン1303によって導入される遅延は、このソース同期転送のセットアップ/ホールドタイムを最大にするように選択される。
本発明の一実施形態によれば、CK_CDクロック信号の周波数は、通信ノードN0とデータ転送ステーションA1との間の帯域幅要件を最適化するように選択される。CK_CDクロック信号は、通信ノードドメインクロック信号CK_N0の周波数、並びに、通信チャネル101のクロック信号CK1_IN及びCK2_INの周波数以外の周波数を有することができる。また、CK_CDクロック信号の周波数は、各通信ノードN0~N7内で異なっていてもよい。例えば、図1~4を参照して上述した、8つの通信ノードN0~N7及び3つの通信チャネル101~103を実現する実施形態では、通信ノードN4及びN5は、全帯域幅の60%のデータ転送ステーションA4-A5を介してのみ通信することができる。この例では、CK_CDクロック信号の周波数を通信チャネルの周波数の60%(例えば、CK1_INまたはCK2_INの60%)に設定しても、必要なデータ転送容量を依然として提供することができる。
8つの通信ノードN0~N7及び4つの通信チャネル101~104を実現する図9~11の実施態様では、各通信ノードN0~N7におけるCK_CDクロック信号の周波数を、通信チャネル101~104の周波数よりも速い周波数に設定することによって、順列リングネットワーク900の余剰帯域幅を利用することができる。このようにして、図13の実施形態は、順列リングネットワークの動作周波数を最適化するための大きな柔軟性を提供する。
本発明の順列リングネットワークアーキテクチャは、通信ノードの数(N)と通信チャネルの数(M)の両方においてスケーリングすることができる。データ転送ステーションの動作周波数は、順列リングネットワークアーキテクチャのスケーリングによって低下することはない。加えて、通信チャネルの数Mをスケールアップすることにより、順列リングネットワークアーキテクチャの全帯域幅の高度に非線形な向上を提供することができる。
本発明の順列リングネットワークアーキテクチャは、高帯域幅スイッチチップを実現するために、チップ上のマルチコアシステムのための相互接続を提供するために、グラフィックスプロセッサユニット(GPU)チップのための相互接続を提供するために、システムレベルFPGAのための相互接続を提供するために、または、高性能マルチコア及び多バンク化ラストレベルキャッシュメモリのためのコヒーレンスメモリバスを実現するために使用することができる。
以上、本発明をいくつかの実施形態に関連して説明してきたが、本発明は、開示した実施形態に限定されるものではなく、当業者には明らかなように、種々の変形が可能であることを理解されたい。したがって、本発明は、特許請求の範囲によってのみ限定される。

Claims (22)

  1. 順列リングネットワークであって、
    数の双方向ソース同期リングネットワークと、
    複数の通信ノードとを含み、
    前記複数の双方向ソース同期リングネットワークの各々は、
    環状に接続された複数のデータ転送ステーションと、
    前記複数のデータ転送ステーション間で第1の方向にメッセージを送信するための第1のメッセージバスと、
    前記複数のデータ転送ステーション間で前記第1の方向に第1のクロック信号を送信するための第1のクロックパスであって、前記第1のメッセージバス上のメッセージは、ソース同期方式で前記第1のクロック信号に応答して前記複数のデータ転送ステーションにラッチされる、該第1のクロックパスと、
    前記複数のデータ転送ステーション間で、前記第1の方向とは反対方向の第2の方向にメッセージを送信するための第2のメッセージバスと、
    前記複数のデータ転送ステーション間で前記第2の方向に第2のクロック信号を送信するための第2のクロックパスであって、前記第2のメッセージバス上のメッセージは、ソース同期方式で前記第2のクロック信号に応答して前記複数のデータ転送ステーションにラッチされる、該第2のクロックパスとを備え、
    前記複数の通信ノードの各々は、前記複数の双方向ソース同期リングネットワークの各々における前記複数のデータ転送ステーションのうちの1つに接続され
    前記複数の通信ノードは、前記双方向ソース同期リングネットワーク内の異なる相対位置を有する前記複数のデータ転送ステーションに接続されることを特徴とする順列リングネットワーク。
  2. 請求項1に記載の順列リングネットワークであって、
    前記通信ノードの各々は、他の通信ノードの各々への通信パスであり
    前記通信パスは、互いに隣接する前記データ転送ステーション間の1ホップ通信パスであることを特徴とする順列リングネットワーク。
  3. 請求項1に記載の順列リングネットワークであって、
    前記通信ノードの各ペア間の通信パスが、互いに隣接する前記データ転送ステーションのユニークなペアによって提供されることを特徴とする順列リングネットワーク。
  4. 請求項1に記載の順列リングネットワークであって、
    前記双方向ソース同期リングネットワークは、第1のクロックドメインで動作し、
    前記通信ノードの少なくとも1つは、前記第1のクロックドメインとは異なる第2のクロックドメインで動作することを特徴とする順列リングネットワーク。
  5. 請求項1に記載の順列リングネットワークであって、
    前記通信ノードの可能なペアの各々の間の通信のための前記双方向ソース同期リングネットワーク上の通信パスを定義するルーティングテーブルをさらに含むことを特徴とする順列リングネットワーク。
  6. 請求項5に記載の順列リングネットワークであって、
    前記ルーティングテーブルは、
    前記データ転送ステーションを2つだけ含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、前記通信ノードの可能なペアの第1のグループと、
    前記データ転送ステーションを3以上含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、前記通信ノードの可能なペアの第2のグループとを指定することを特徴とする順列リングネットワーク。
  7. 請求項6に記載の順列リングネットワークであって、
    前記第1のグループは、第1の通信帯域幅を必要とする通信ノードのペアを含み、
    前記第2のグループは、第2の通信帯域幅を必要とする通信ノードのペアを含み、
    前記第1の通信帯域幅は前記第2の通信帯域幅よりも大きいことを特徴とする順列リングネットワーク。
  8. 請求項5に記載の順列リングネットワークであって、
    前記ルーティングテーブルは、
    前記双方向ソース同期リングネットワークのうちの1つのネットワーク上の通信パスを介して通信する前記通信ノードの可能なペアの第1のグループと、
    前記双方向ソース同期リングネットワークのすべてのネットワーク上の通信パスを介して通信する前記通信ノードの可能なペアの第2のグループとを指定することを特徴とする順列リングネットワーク。
  9. 請求項1に記載の順列リングネットワークであって、
    当該順列リングネットワークは、少なくとも3つの双方向ソース同期リングネットワークを含むことを特徴とする順列リングネットワーク。
  10. 請求項1に記載の順列リングネットワークであって、
    前記データ転送ステーションと前記通信ノードとの間の通信はソース同期方式で行われることを特徴とする順列リングネットワーク。
  11. 請求項1に記載の順列リングネットワークであって、
    前記データ転送ステーション及び前記通信ノードは、単一の集積回路チップ上に製造されることを特徴とする順列リングネットワーク。
  12. 集積回路チップ上の複数の通信ノード間でデータを転送する方法であって、
    前記複数の通信ノードから複数の双方向ソース同期リングネットワークにメッセージを送信するステップであって、前記双方向ソース同期リングネットワークの各々は、環状に接続され複数のデータ転送ステーションを含み、前記複数の通信ノードの各々は、前記各双方向ソース同期リングネットワーク内の前記データ転送ステーションにメッセージを送信し、前記複数の通信ノードは、前記双方向ソース同期リングネットワーク内の異なる相対位置を有する前記複数のデータ転送ステーションに接続される、該ステップと、
    前記双方向ソース同期リングネットワークの前記データ転送ステーション間で、ソース同期方式でメッセージを送信するステップとを含むことを特徴とする方法。
  13. 請求項12に記載の方法であって、
    前記通信ノードの各々は、他の通信ノードの各々にメッセージを送信し、
    前記メッセージの各々は、前記データ転送ステーションを2つだけ介して送信されることを特徴とする方法。
  14. 請求項12に記載の方法であって、
    前記通信ノードの各ペア間の通信パスが、互いに隣接する前記データ転送ステーションのユニークなペアによって提供されることを特徴とする方法。
  15. 請求項12に記載の方法であって、
    前記双方向ソース同期リングネットワークを、第1のクロックドメインで動作させるステップと、
    前記通信ノードの少なくとも1つを、前記第1のクロックドメインとは異なる第2のクロックドメインで動作させるステップとをさらに含むことを特徴とする方法。
  16. 請求項12に記載の方法であって、
    前記通信ノードの可能なペアの各々の間の通信のための前記双方向ソース同期リングネットワーク上の通信パスを定義するルーティングテーブルを維持するステップをさらに含むことを特徴とする方法。
  17. 請求項12に記載の方法であって、
    前記データ転送ステーションを2つだけ含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、前記通信ノードのペアの第1のグループを指定するステップと、
    前記データ転送ステーションを3以上含む前記双方向ソース同期リングネットワーク上の通信パスを介して通信する、通信ノードのペアの第2のグループを指定するステップとをさらに含むことを特徴とする方法。
  18. 請求項17に記載の方法であって、
    前記第1のグループは、第1の通信帯域幅を必要とする前記通信ノードのペアを含み、
    前記第2のグループは、第2の通信帯域幅を必要とする前記通信ノードのペアを含み、
    前記第1の通信帯域幅は前記第2の通信帯域幅よりも大きいことを特徴とする方法。
  19. 請求項12に記載の方法であって、
    前記双方向ソース同期リングネットワークのうちの1つのネットワーク上の通信パスを介して通信する前記通信ノードのペアの第1のグループを指定するステップと、
    前記双方向ソース同期リングネットワークのすべてのネットワーク上の通信パスを介して通信する前記通信ノードのペアの第2のグループを指定するステップとをさらに含むことを特徴とする方法。
  20. 請求項12に記載の方法であって、
    前記複数の双方向ソース同期リングネットワークは、少なくとも3つの双方向ソース同期リングネットワークを含むことを特徴とする方法。
  21. 請求項12に記載の方法であって、
    前記データ転送ステーションと前記通信ノードとの間の通信をソース同期方式で行うステップをさらに含むことを特徴とする方法。
  22. 請求項12に記載の方法であって、
    前記データ転送ステーション及び前記通信ノードは、単一の集積回路チップ上に製造されることを特徴とする方法。
JP2019547589A 2016-11-23 2017-11-20 順列リングネットワーク Active JP7019709B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201662425798P 2016-11-23 2016-11-23
US62/425,798 2016-11-23
US15/816,374 US11196587B2 (en) 2016-11-23 2017-11-17 Permutated ring network
US15/816,374 2017-11-17
PCT/US2017/062632 WO2018098087A1 (en) 2016-11-23 2017-11-20 Permutated ring network

Publications (2)

Publication Number Publication Date
JP2019536399A JP2019536399A (ja) 2019-12-12
JP7019709B2 true JP7019709B2 (ja) 2022-02-15

Family

ID=62144518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019547589A Active JP7019709B2 (ja) 2016-11-23 2017-11-20 順列リングネットワーク

Country Status (9)

Country Link
US (1) US11196587B2 (ja)
EP (1) EP3545424B1 (ja)
JP (1) JP7019709B2 (ja)
KR (1) KR102214880B1 (ja)
CN (1) CN110199502B (ja)
CA (1) CA3044675C (ja)
ES (1) ES2932256T3 (ja)
TW (2) TWI834374B (ja)
WO (1) WO2018098087A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11360934B1 (en) 2017-09-15 2022-06-14 Groq, Inc. Tensor streaming processor architecture
US11868804B1 (en) 2019-11-18 2024-01-09 Groq, Inc. Processor instruction dispatch configuration
US11114138B2 (en) 2017-09-15 2021-09-07 Groq, Inc. Data structures with multiple read ports
US11243880B1 (en) 2017-09-15 2022-02-08 Groq, Inc. Processor architecture
US11170307B1 (en) 2017-09-21 2021-11-09 Groq, Inc. Predictive model compiler for generating a statically scheduled binary with known resource constraints
US11537687B2 (en) 2018-11-19 2022-12-27 Groq, Inc. Spatial locality transform of matrices
US11115147B2 (en) 2019-01-09 2021-09-07 Groq, Inc. Multichip fault management
US10691632B1 (en) * 2019-03-14 2020-06-23 DeGirum Corporation Permutated ring network interconnected computing architecture
WO2020240833A1 (ja) * 2019-05-31 2020-12-03 三菱電機株式会社 冗長ネットワーク装置、冗長ネットワーク方法、冗長ネットワークプログラム、及び、送信経路冗長化システム
CN114070662A (zh) * 2020-07-31 2022-02-18 上海国际货币经纪有限责任公司 消息总线系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044111A (ja) 2000-02-29 2002-02-08 Texas Instr Inc <Ti> 最少の待ち時間を持つクロックドメイン間の通信インタフェース

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4501021A (en) 1982-05-03 1985-02-19 General Signal Corporation Fiber optic data highway
JPH06332852A (ja) 1993-05-20 1994-12-02 Hitachi Ltd データ転送システム
US5535213A (en) 1994-12-14 1996-07-09 International Business Machines Corporation Ring configurator for system interconnection using fully covered rings
DE69832691D1 (de) 1997-02-17 2006-01-12 Comm & Control Electronics Ltd Lokales kommunikationssystem
JP3001455B2 (ja) 1997-04-24 2000-01-24 甲府日本電気株式会社 データ転送装置
US6657969B1 (en) 1999-06-29 2003-12-02 Cisco Technology, Inc. Generation of synchronous transport signal data used for network protection operation
US6992975B1 (en) * 2000-08-15 2006-01-31 Cisco Technology, Inc. Multiple ring support within a single network element
US7509403B1 (en) 2000-09-28 2009-03-24 Alcatel-Lucent Usa Inc. Method and apparatus for SONET/SDH ring load balancing
US7356030B2 (en) 2000-11-17 2008-04-08 Foundry Networks, Inc. Network switch cross point
US7212490B1 (en) * 2001-07-06 2007-05-01 Cisco Technology, Inc. Dynamic load balancing for dual ring topology networks
ITMI20012088A1 (it) * 2001-10-10 2003-04-10 Cit Alcatel Metodo per propagare l'informazione di guasto in una rete rpr e relativo tipo di pacchetto rpr
JP2004193686A (ja) 2002-12-06 2004-07-08 Nec Access Technica Ltd カメラ付き携帯端末
US7710878B1 (en) * 2003-01-10 2010-05-04 Verizon Laboratories Inc. Method and system for allocating traffic demands in a ring network
US7769956B2 (en) * 2005-09-07 2010-08-03 Intel Corporation Pre-coherence channel
US20070255874A1 (en) 2006-04-28 2007-11-01 Jennings Kevin F System and method for target device access arbitration using queuing devices
US8179787B2 (en) * 2009-01-27 2012-05-15 Smsc Holding S.A.R.L. Fault tolerant network utilizing bi-directional point-to-point communications links between nodes
US20100268977A1 (en) 2009-04-17 2010-10-21 Himax Media Solutions, Inc. Method and apparatus for accessing memory units
US8713277B2 (en) 2010-06-01 2014-04-29 Apple Inc. Critical word forwarding with adaptive prediction
EP2395404B2 (en) * 2010-06-09 2021-02-24 ABB Power Grids Switzerland AG Secure clock synchronization
US9268691B2 (en) 2012-06-11 2016-02-23 Intel Corporation Fast mechanism for accessing 2n±1 interleaved memory system
US9552619B2 (en) 2012-08-08 2017-01-24 Megachips Corporation Image processing apparatus and image processing interface circuit
US9292456B2 (en) 2013-09-16 2016-03-22 Freescale Semiconductor, Inc. System and method for data synchronization across digital device interfaces
CN103715766B (zh) 2013-12-18 2015-12-30 南京国电南自电网自动化有限公司 一种环网分布式母线保护同步方法
US11321263B2 (en) 2014-12-17 2022-05-03 Intel Corporation High bandwidth core to network-on-chip interface
US9787571B2 (en) 2014-12-22 2017-10-10 Intel Corporation Link delay based routing apparatus for a network-on-chip
CN107430166B (zh) 2015-04-16 2020-01-10 瑞萨电子株式会社 半导体器件及扫描测试方法
US20180173534A1 (en) 2016-12-20 2018-06-21 Intel Corporation Branch Predictor with Branch Resolution Code Injection
US10459866B1 (en) * 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002044111A (ja) 2000-02-29 2002-02-08 Texas Instr Inc <Ti> 最少の待ち時間を持つクロックドメイン間の通信インタフェース

Also Published As

Publication number Publication date
CA3044675A1 (en) 2018-05-31
EP3545424B1 (en) 2022-10-19
EP3545424A4 (en) 2020-07-22
CN110199502B (zh) 2021-11-12
US20180145850A1 (en) 2018-05-24
TW202324975A (zh) 2023-06-16
TWI834374B (zh) 2024-03-01
CA3044675C (en) 2023-08-29
CN110199502A (zh) 2019-09-03
TW201828764A (zh) 2018-08-01
EP3545424A1 (en) 2019-10-02
WO2018098087A1 (en) 2018-05-31
JP2019536399A (ja) 2019-12-12
ES2932256T3 (es) 2023-01-17
US11196587B2 (en) 2021-12-07
KR102214880B1 (ko) 2021-02-09
TWI786073B (zh) 2022-12-11
KR20190085540A (ko) 2019-07-18

Similar Documents

Publication Publication Date Title
JP7019709B2 (ja) 順列リングネットワーク
US10027433B2 (en) Multiple clock domains in NoC
JP7014812B2 (ja) 分散制御同期リングネットワークアーキテクチャ
TWI759585B (zh) 異步多時鐘域資料流接合及再同步系統及方法
Shenbagavalli et al. An efficient low power NoC router architecture design
US10691632B1 (en) Permutated ring network interconnected computing architecture
Kaur On-chip Networks! Pushing Frontiers with the First Lady of Emerging Technologies
Ahmed et al. A one-to-many traffic aware wireless network-in-package for multi-chip computing platforms
Shamim et al. Energy-efficient wireless interconnection framework for multichip systems with in-package memory stacks
Ahmed et al. An Asymmetric, Energy Efficient One-to-Many Traffic-Aware Wireless Network-in-Package Interconnection Architecture for Multichip Systems
Sibai Adapting the hyper-ring interconnect for many-core processors
Nallasamy et al. Design and Evaluation of Elastic Buffer Router Architecture for 3D NoC using Partially Vertically Connected 3D Topology

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191028

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200707

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210817

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220202

R150 Certificate of patent or registration of utility model

Ref document number: 7019709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150