JP2017208736A - ネットワークオンチップ用の欠陥耐性ルータ - Google Patents

ネットワークオンチップ用の欠陥耐性ルータ Download PDF

Info

Publication number
JP2017208736A
JP2017208736A JP2016100732A JP2016100732A JP2017208736A JP 2017208736 A JP2017208736 A JP 2017208736A JP 2016100732 A JP2016100732 A JP 2016100732A JP 2016100732 A JP2016100732 A JP 2016100732A JP 2017208736 A JP2017208736 A JP 2017208736A
Authority
JP
Japan
Prior art keywords
defect
input
router
buffer
crossbar
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016100732A
Other languages
English (en)
Other versions
JP6846027B2 (ja
Inventor
アブダラ アブデラゼク ベン
Ben Abdallah Abderazek
アブダラ アブデラゼク ベン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Aizu
Original Assignee
University of Aizu
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 University of Aizu filed Critical University of Aizu
Priority to JP2016100732A priority Critical patent/JP6846027B2/ja
Publication of JP2017208736A publication Critical patent/JP2017208736A/ja
Application granted granted Critical
Publication of JP6846027B2 publication Critical patent/JP6846027B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】ICに有する複数のコアのそれぞれに対応して配置される欠陥耐性ルータであって、パフォーマンスを劣化することなく、単一のクロスバーにおいて多重の欠陥に耐性する。【解決手段】欠陥耐性ルータは、フリットがそれぞれ対応するコアから入力される入力ポート部11-17と、フリットをそれぞれの到達先方向に接続するクロスバー4と、クロスバーのチャネルパスと異なる追加のチャネルパスと、欠陥マネジャーユニット8を有する。入力ポートユニットのそれぞれが、入力バッファ3と、エラー訂正回路7と、入力バッファに入力したフリットにおける欠陥スロットの記録を制御するランダムアクセスバッファ(RAB)を有する。欠陥マネジャーユニットは、エラー訂正回路により、フリットの欠陥が訂正されないとき、送信元ノードにフリットの再送を要求し、再送信によりエラーが訂正されないとき、ハードウエアを診断する。【選択図】図3

Description

本発明は、ネットワークオンチップ用の欠陥耐性ルータに関する。欠陥耐性ルータは、3Dネットワークオンチップ(3D−NoC)に備えられる。少しの変更で、2D−NoCに備えることも可能である。
システムオンチップ(SoCs)デザインは、かなりシンプルな単一コア、単一メモリデザインから、単一の集積回路(IC)上のハードウエアアクセレータ、パワー管理回路、メモリ、I/O、プロセッサコア、及びDSPといった沢山のIP(intellectual property)ブロックを有する複雑なマルチコアSoCsに進化している。
一方で、チップマルチプロセッサ(CMPs)は、沢山な同種のプロセッサコア、メモリ、及びI/Oサブシステムと関係する。両システムにおいて、オンチップ通信ネットワークは、種々のコンポーネント間の高いパフォーマンス通信に主要な役割を果たす。
SoCデザインの主要な問題は、非拡張性(non-scalable)の配線遅延と、オンチップ通信の相互接続の電力消費である。特に、伝統的バスベースのシステムではコアの数の増加に伴い、まずい大きさがシステムに加わる、非効率の長いグローバルな接続を有する。
SoCデザインの抑制(市場デザインとモジュール化に対する厳しい時間)のため、又共用バスとクロスバー相互接続の大きさの問題のために、ネットワークオンチップ(NoC)が解決策として提案されている。NoCは、互いにポイント対ポイントのリンクで相互接続される多くのルーチングノード(タイルとして知られる)を有するグローバルな共用通信相互接続である。メッセージは、ソースノードにより注入され、このソースノードから目的ノードまで多重の相互接続と物理リンクを通して送られる。
ノード間の通信単位は、パケット又がフリット(flits)であり、パケットが分割され、リンクの幅に等しいフリット、又はユニットに分割される。NoC用のメッシュトポロジーは、うまくシリコン実行とよくマッチする、なぜなら従来の半導体プロセスを精密に立てるトポロジーの本質的な2次元構造であるからである。
従来の共有バスベースシステム上にNoCシステムにより提供される高度の拡張可能性と並立性にかかわらず、将来の大きな複雑なSoCシステムの対する理想の解決策にならない。これは、高消費電力及び低スループットといういくつかの制限があるからである。
NoCの3次元への統合(3D−NoC)は、ルーティングとフロア計画における追加の柔軟性を与える。結果として、3D−NoCデザインは、小さなチップエリアと短い相互接続ワイヤを容易にする。それにより、従来の2D−NoCと比較してワイヤ遅延を減少し、電力消費を低減する。さらに、平面2D−NoCと比較して、3D集積技術は、大きなパッケージ密度と小さなチップ底面積(footprint)を与える。
しかし、特徴サイズ及び供給電圧が継続的に低下するので、2D又は3Dオンチップ相互接続を有して形成されるシステムは、ハードエラー(ハードウエア要素におけるエラー)とソフトエラー(送信されるデータ/ペイロードあるいは、ルータにおけるルーティング計算におけるエラー)に対し、より脆弱になる。
典型的には1クロックサイクル の短い時間周期(瞬間的とも呼ばれる)での回路の動作に影響を与えるソフト欠陥にはいくつかの原因がある。共通原因は、宇宙の放射、製造変動、及びアルファ粒子である。欠陥は、チップ全体のパフォーマンスにおいてデッドロック、データ衝突、パケットロス、パケット遅延の増大というような厳しい結果をもたらす。したがって、効果的な保護メカニズムが無いと、そうしたエラーがシステムの正しい機能及び信頼性を妥協することになる。
これまで提案された欠陥耐性3D−NoCの解決のいくつかは、スルーシリコンバイアス(Through Silicon Vias [TSVs])(非特許文献5)[Loi:2008],(非特許文献13)[Radetzik:2013]に生じる永久欠陥に焦点を当て、その生成を改善する。例えば、それらのいくつかは、予備ビア挿入(spare via insertion TSVs)、あるいは連続(serialization)(非特許文献6)[Patricha:2009]に基づいている。
他のものは、欠陥耐性ルーティングアルゴリズムの適用によってリンク欠陥のみに焦点を当てている。既に存在する解決策(非特許文献7,8,9[Feng:2011, Li:2005, Feng:2010, Xiang:2009])の多くは、周囲の欠陥を囲むリンクの情報を記憶するルーティングテーブルに基づき,デッドロックの発生を避ける。それらは、仮想チャネル(VCs)(非特許文献11)[Dally:1992]を用いている。その他は、VCsの使用を避け、その代わりに,ターンモデル(turn model)ルーティングを用いて、デッドロックを回避する(非特許文献12)[ Pasricha:2011]。
NoCのルータにおいてソフトエラーを扱うために、複数の層を目標としたいくつかの研究がある。データ衝突の場合、最も効果的な解決は、誤り訂正コード/ 誤り検出コード(ECC/EDC)である。例えば、SEC(Single Error Correction), SECDED (Single Error Correction, Double Error Detection), ED (Error Detection), PAR (Parity Code), CRC-4 (Cyclic Redundancy Check) and CRC-8等(非特許文献14)[Bertozzi:2005]である。
適用コードのため、Yu 他(非特許文献15) [Yu:2010] は、接続の品質の基づき再構成される二つのハミングコードの動的ECCを提示している。論理変造(logic corruption)にのため、研究の多くは、クロスネットワーク層において実行される。端から端の流れ制御を有して、Shamshiri他(非特許文献16)[Shamshiri:2011]は、誤り訂正、及び2G4Lと呼ばれる特殊コードを用いるオンライン診断を提示している。
NoC警告(非特許文献17) [Prodromou:2012]は、 モジュールの束縛を実行して、ルータのサブモジュールから端と端の接続に対して計算の正確さを得る。
ここで本特許明細書、その他の記述では、“要素”(components),”IP”,又は“コア”(core) の用語は、互換性をもってNoCにおける種々のシステム要素を指すために使用される。また、”フリット(flit)” 若しくは”パケット(packet)”の用語も互換性をもって使用される。
特開2009-110512号公報 特開2010-137572号公報 特開2011-035906号公報 特開2014-186509号公報 特開2015-119387号公報 米国特許No. 8,340,517B2 米国特許出願No. 2012/0155482 A1
[BenabPTN:2013] Abderazek Ben Abdallah, Pending Patent, ‘’3D Fault Tolerant Router Architecture’’, Ref. 51302665051-2013, Japan. [BenAhmed:2014] A. Ben Ahmed, A. Ben Abdallah. ‘’Graceful Deadlock-Free Fault-Tolerant Routing Algorithm for 3D Network-on-Chip Architectures’’. Journal of Parallel and Distributed Computing 74/4 (2014), pp. 2229-2240 [BenAhmed:2013] A. Ben Ahmed and A. Ben Abdallah. ‘’Architecture and Design of High-throughput, Low-Latency, and Fault-Tolerant Routing Algorithm for 3D-Network-on-Chip (3D-NoC)’’. The Jnl. of Supercomputing, December 2013, Volume 66, Issue 3, pp 1507-1532. [BenabBook:2013] A. Ben Abdallah, Multicore Systems-on-Chip: Practical Hardware/Software Design, 2nd Edition, Publisher: Springer, (2013), ISBN-13: 978-9491216916. [Loi:2008] Loi, Subhasish Mitra, Thomas H. Lee, Shinobu Fujita, and Luca Benini. ‘’A low-overhead fault tolerance scheme for TSV-based 3D network-on chip links’’. In ICCAD 08: Proceedings of the 2008 IEEE/ACM International Conference on Computer-Aided Design, pp. 598-602, 2008. [Patricha:2009] Pasricha, S., "Exploring serial vertical interconnects for 3D ICs," in Design Automation Conference, 2009. DAC '09. 46th ACM/IEEE , vol., no., pp.581-586, 26-31 July 2009. doi: 10.1145/1629911.1630061 [Feng:2011] Chaochao Feng; Minxuan Zhang; Jinwen Li; Jiang Jiang; Zhonghai Lu; Jantsch, A., "A Low-Overhead Fault-Aware Deflection Routing Algorithm for 3D Network-on-Chip," in VLSI (ISVLSI), 2011 IEEE Computer Society Annual Symposium on , vol., no., pp.19-24, 4-6 July 2011. doi: 10.1109/ISVLSI.2011.42 [Li:2005] Yamin Li; Peng, S.; Wanming Chu, "Adaptive box-based efficient fault-tolerant routing in 3D torus," In Proceedings of the 11th International Conference on Parallel and Distributed Systems, vol.1, no., pp.71-77 Vol. 1, 20-22 July 2005. doi: 10.1109/ICPADS.2005.64. [Feng:2010] Chaochao Feng, Zhonghai Lu, Axel Jantsch, Jinwen Li, and Minxuan Zhang. 2010. ‘’A reconfigurable fault-tolerant deflection routing algorithm based on reinforcement learning for network-on-chip’’. In Proceedings of the Third International Workshop on Network on Chip Architectures(NoCArc '10). ACM, New York, NY, USA, pages 11-16. [Xiang:2009] D. Xiang, Y. Zhang and Y. Pan. ‘’Practical Deadlock-Free Fault-Tolerant Routing Based on the Planar Network Fault Model’’. IEEE Transactions on Computers, 58(5):620-633. May 2009. [Dally:1992] W. J. Dally. ‘’Virtual-channel flow control’’. IEEE Trans. on Parallel and Distributed Systems, 3(2): 194-205, March 1992. [Pasricha:2011] S. Pasricha and Y. Zou. ‘’A Low Overhead Fault Tolerant Routing Scheme for 3D Networks-on-Chip’’. The 12th International Symposium on Quality Electronic Design, pages 1-8, March 2011. [Radetzik:2013] M. Radetzki, C. Feng, X. Zhao, and A. Jantsch, "Methods for fault tolerance in networks-on-chip," ACM Computing Surveys (CSUR), vol. 46, no. 1, p. 8, 2013. [Bertozzi:2005]D. Bertozzi, L. Benini, and G. De Micheli, "Error control schemes for on-chip communication links: the energy-reliability tradeoff," Computer-Aided Design of Integrated Circuits and Systems, IEEE Transactions on, vol. 24, pp. 818-831, June 2005 [Yu:2010] Q. Yu and P. Ampadu, "Transient and permanent error co-management method for reliable networks-on-chip," in Networks-on-Chip (NOCS), 2010 Fourth ACM/IEEE International Symposium on, pp. 145-154, IEEE, 2010. [Shamshiri:2011] S. Shamshiri, A.-A. Ghofrani, and K.-T. Cheng, "End-to-end error correction and online diagnosis for on-chip networks," in Test Conference (ITC), 2011 IEEE International, pp. 1-10, IEEE, 2011 [Prodromou:2012] A. Prodromou, A. Panteli, C. Nicopoulos, and Y. Sazeides, "Nocalert: An on-line and real-time fault detection mechanism for network-onchip architectures," in Microarchitecture (MICRO), 2012 45th Annual IEEE/ACM International Symposium on, pp. 60-71, Dec 2012
上記に述べた研究は、データにおけるソフトエラーとルーティングロジックを扱うための部分的(完全ではない)解決 であるが、パイプラインステージ(即ち、ルート計算ステップ、スイッチ配置、その他)における欠陥が検討されていない。 所与のパイプラインステージにおける計算誤りが計算の正確さに影響を与えるので、その様な欠陥の検知と回復のための低レーテンシーと低コスト(小さな危険度と低価格)の技術が必須である。
上記したように、3D−NoCシステムにおける欠陥耐性問題に言及した既存の解決策に関わらず、以下に述べるように依然として未だいくつかの課題がある。
第1に、所与のネットワークオンチップにおける欠陥は、瞬間的、永久的そして、断続的欠陥により引き起こされる。これら欠陥の全てに対する完全な(ソフトとハード)欠陥耐性を提供する研究はない。
第2に、瞬時的欠陥の最も普通の解決は、データ/ペイロードにおける欠陥のみの扱いに焦点を当てていた。しかし、ミスルーティングに繋がるルーティング計算における欠陥、パケットロスあるいはシステムクラッシュというようなパイプラインにおける欠陥は検討されていなかった。
第3に、全ての従来のアーキテクチャは、既存の検出方法と考えられる。しかし、検出方法は、大きな計算資源と高いレーテンシーの原因となる。検出が遅すぎると、システムの機能は、欠陥を回復出来ない。検出があまりしばしばであると、システムのパフォーマンスに大きなインパクトを与える。
第4に、デッドロックの発生は、仮想チャネル(VCs)に基づき避けられる。VCsは、システムのデッドロックを補償するが、ハードウエアの複雑さという見地からすると、高価な調整者(arbiter)である。
図1は、大半のNoCシステムにおいて使用される従来のルータのタイムチャート(パイプライン ステージ)を示す。上記図に示されるように、5つのパイプラインステージがある。
第1のパイプラインステージは、現在提案のルータにおけるものと基本的に同じ機能を有するバッファ書き込みステージである。VCsは、デッドロックが起きない要件を満たすために用いられる。Vsの数は、システム構成と、一般的に2から4個のVCsで変えることが出来るルーティングアルゴリズムに依存する。
次のステージIIは、ルーティング演算であり、多くのシステムが、静的なXYZルーティングあるいは後の説明に基づく他のルーティングを用いる。先読みルーティングな無いため、次の二つのステージは、XYZモジュールから結果を受信しない限り動作することが出来ない。
第三のステージIIIは、仮想チャネル配置ステージである。VCsの採用は、追加のクロックサイクルを加える調停が必要である。したがって、全体のパイプラインステージは、異なるVCs間の調停に貢献する。
VCが、許可を与えた後、スイッチ配置ステージIVに交代する。
最後に、最終ステージV、クロスバー通過(Crossbar-Traversal)において、スイッチアロケータから受信される調停結果に従って、隣接ノードへのフリッツの転送を扱う。
上記に照らし、本発明の目的の一つは、デッドロックの回避のために用いるRABメカニズム(後に説明)により上記ステージIIIをなくすことにある。上記スイッチ配置ステージIVは、本発明におけると同様である。しかし、異なる点は、ルーティングIIと独立し、本発明の様に並列に処理は出来ない。
さらに、本発明の目的は、ルータ/NoCにおけるソフトエラーを解決する欠陥耐性ルータを提案することにある。加えて、本発明は、従来のルータの他の欠点、例えば、ハード(ハードウエア部品)及びソフト(データ又はパイプライン計算ステージにおける)といった従来のルータの欠点を解決することにある。
IC上に備えられる複数のコアのそれぞれに対応する欠陥耐性ルータであって、上記問題を解決する 本発明に従うNoC用の欠陥耐性ルータは、第1の側面として、フリットがそれぞれ対応するコアから入力される複数の入力ポート部(11-17)と、前記入力ポートユニット(11-17)から出力されるフリットをそれぞれの到達先方向に接続するクロスバー(4)と、前記クロスバー(4)のチャネルパスと異なる追加のチャネルパス(40)と、欠陥マネジャーユニット(8)を有し、前記複数の入力ポートユニット(11-17)のそれぞれが、入力バッファ(3)と、前記入力バッファ(3)に入力したフリットのエラーを訂正するエラー訂正回路(7)と、前記入力バッファ(3)に入力したフリットにおける欠陥スロットの記録を制御するランダムアクセスバッファ(RAB)を有し、更に前記欠陥マネジャーユニット(8)は、前記エラー訂正回路(7)により、前記フリットの欠陥が訂正されないとき、送信元ノードに前記フリットの再送を要求し、前記フリットにおけるエラーが前記再送信により訂正されないとき、ハードウエアを診断することを特徴とする。
前記問題を解決する 本発明に従うNoC用の欠陥耐性ルータは、第1の側面における第一の態様として、前記欠陥マネジャーユニットは入力バッファ(3)、 クロスバー(4)、及び隣接ルータ(R2)との接続リンク(RL)の順に欠陥を診断することを特徴とする。
前記問題を解決する 本発明に従うNoC用の欠陥耐性ルータは、第1の側面における第二の態様として、前記入力バッファ(3)が、前記診断において、欠陥と判定される時、欠陥マネジャーユニット(8)が、前記ランダムアクセスバッファに入力バッファ(3)におけるスロットの欠陥状態をチェックさせ、前記スロットにおける欠陥をレジスタに記録させることを特徴とする。
前記問題を解決する 本発明に従うNoC用の欠陥耐性ルータは、第1の側面における第三の態様として、前記マネジャーユニットは、入力バッファが正常なときは、追加のチャネルパスを選択して代替のパスを選択することを特徴とする。
先の研究と反対に、提案のシステムは、考慮する実行の低下を伴わずに、単一のクロスバーにおける複数の欠陥を許容する。加えて、使用されるLAFTルーティングアルゴリズムは、一つの最小パスがある限り、常に最小である。RAMメカニズムの助けを伴って、欠陥耐性及びデッドロック回避とともに、大きなエリア及びパワー費用を伴わずに保証される。
図1は、多くのNoCシステムにおける従来のルータのタイムチャート(パイプラインステージ)である。 図2は、本発明に従う提案のルータのタイムチャートである。 図3は、本発明に従う提案のルータ構成のブロック図である。 図4は、提案のルータ構成に採用されたランダムアクセスバッファ(RAB)のブロック図である。 図5は、提案のルータ構成に採用された 要求メカニズム(BLoD)上のバイパスリンクの概要図である。 図6は、本発明に従うハードエラー検出と回復アルゴリズムであるアルゴリズム1における欠陥検出位相のフローチャートである。 図7は、アルゴリズム1における診断及び回復位相のフローチャートである。 図8は、上流と下流のルータ間の相互接続の概要図を示す。 図9は、本発明に従うアルゴリズム2としてソフトエラー回復処理方法のフローチャートである。 図10は、アルゴリズム3として先読み耐性ルーティングアルゴリズム(LAFT)のフローチャートである。
本発明の実施例を添付の図面に沿って説明する。実施例は、発明のよりよい理解のためのものであり、従って、発明の適用は、この実施例に限定されない。
いくつかのウエハを重ねて形成される3D-ICに主として説明がなされるが、本発明は、単一のウエハに設けられる複数のコア及びこの複数のコアを接続するネットワークを有して構成される2D−ICにも適用可能である。
[本発明のルータタイムチャート]
本発明の欠陥耐性ルータにおいて、前記した課題は3つのステップにより解決される。
(1)欠陥検出(一またはそれ以上の欠陥の検出)、(2)欠陥診断(欠陥の型の決定)、(3)欠陥の型に基づく回復(ソフトまたはハード)
図2は、提案の欠陥耐性ルータに対するタイムチャートを示す。図2において、ハードエラーの扱いのため、先読み欠陥耐性ルーティング(LAFT)アルゴリズムが欠陥リンクを扱う。二つの主たる要素がさらに欠陥耐性を支持する:(1)クロスバー2における欠陥に対するバイパスリンク要求(BLoD)と(2)入力ポートバッファ4における欠陥に対するランダムアクセスバッファ(RAB)メカニズム。
図2に示すパイプラインステージにおけるソフトエラーを扱うために、ソフトウエア冗長に基づくソフトエラー回復(Soft Error Resilience: SER)メカニズムが使用される。ECC(Error Correction Code)モジュールがデータ修正のために使用される。受信データが修正されない場合、データは、自動再送要求(Automatic-Retransmission Request: ARQ) を使用して再送され、再度エラーチェックされる。これは、データが修正されるまで繰り返される。欠陥マネジャーは、欠陥の診断および回復位相を管理する。
さらに、具体的に図2において説明すると、第1ステージIにおいて、入力バッファ3への 入力データの書き込み及びECCブロック7におけるECC復号化が入力ポートマネジャー2にあるRABメカニズム及びソフトエラー回復(SER)マネジャー6の制御のもとに実行される。
第2ステージIIにおいて、SERマネジャー6において次のポートが計算される。そして、スイッチ配置がスイッチ配置部9において実行される。第3のステージIIIにおいて、クロスバー4におけるクロスバー通過及びARQバッファ10におけるARQ方法が実行される。この方法は、データが訂正されるまで繰り返される。
[ルータ構成]
図3は、本発明に従う提案の欠陥耐性ルータのブロック図である。図3において、NoCルータは、複数の入力ポートユニット11−17、即ち、ローカル入力ポートユニット11、ノース入力ポートユニット12、イースト入力ノースポート13、サウス入力ポートユニット14、ウエスト入力ポートユニット15、アップ入力ポートユニット16、ダウン入力ポートユニット17を有し、それぞれの入力ポートユニットは、積層ウェハの対応する方向からの入力10を受信する。
入力ポートユニット11−17のそれぞれは、先読み欠陥耐性(LAFT)ルーティングアルゴリズムが実行されるLAFTルーティングユニット1を有し、欠陥リンクを処理する。LAFTルーティングアルゴリズムに加え、三つの要素が用いられ、更に、本発明に従う欠陥耐性が保証される。すなわち、ランダム−アクセス−バッファ(RAB)メカニズムが、入力ポートユニット11-17のそれぞれに備えられる入力バッファ3における欠陥に対して、入力ポートマネジャーユニット2が実行され、クロスバー4における欠陥に対してバイパスリンクオンデマンド(BLoD)がBLoDユニット5に備えられ、そして、SERマネジャーユニット6においてソフトエラー柔軟ハンドリング方法が実行されて、ネットワークオンチップにおけるルータのパイプラインステージにおけるソフトエラーを解決する。
すなわち、二つの主たる要素が欠陥耐性を保証するために用いられる:(1)クロスバー4における欠陥に対するバイパス−リンク−オン−デマンド(BLoD)アルゴリズムと(2)入力ポートマネジャーユニット2における欠陥に対するランダム−アクセス−バッファー(RAB)メカニズム。さらに、パイプラインステージにおけるソフトエラーを扱うために、ソフトウエア冗長性に基づくソフトエラー柔軟(SER)メカニズムがSERマネジャーユニット6において実行される。
フリットは、ローカル、ノース、イースト、サウス、ウエスト、アップ、ダウン入力ポートウニット11−17のそれぞれに備えられる入力バッファ3に入力される。そして、パイプラインステージのクロスバー通過ステージIIIの間、適切な隣接ノードに送られる。BLoDユニット5がクロスバー4を再構成するために使用される。
欠陥マネジャーユニット8は、ルータの異なる要素間の通信を制御し確立するために使用される。欠陥があると、欠陥マネジャーユニット8は検出、診断、及び回復位相を扱う。
入力ポートマネジャーユニット2に位置するRABコントローラは、通常的に入力バッファ3における欠陥の状態をモニタする。RABコントローラが、入力バッファ3における欠陥入力の存在を検知すると、RABコントローラは、欠陥入力を隔離する。したがって、システムは、入力バッファ3における欠陥スロットの影響を緩和する。
欠陥マネジャーユニット8は、システムの主要要素の一つである。三つの主要要素の:ルータ相互間リンク、入力バッファ3、クロスバー4、及び隣接ルータを接続するルータ相互リンクにおけるあらゆる種類の欠陥の検出、診断、及び回復を管理する。
以下に、本発明に従うルータの主要要素の機能および構成について詳細に説明する。
[ランダムアクセスバッファ・コントローラ(RAB-cntrl)]
図4は、提案するランダムアクセスバッファ(RAB)メカニズムのブロックダイヤグラムである。RABメカニズムは、デッドロックさせないための効率的、低オーバヘッドの解法であり、RABメカニズムは、又、入力バッファ3における瞬時的な,間欠的、及び永久的欠陥を検知し回復する。
RABメカニズムでの欠陥検出及び回復は、二つの主要な並列位相に分配される。最初の位相は、局所的に実行され、欠陥の検出及び回復が、入力バッファ3において行われることを意味する。第2の位相は、全体的(即ち、ルータ全体)に行われる。
欠陥の検出に対しては、図4に示す欠陥検出回路30が用いられ、入力バッファ3におけるバッファスロットの欠陥状態をチェックする。欠陥検出回路30によりスロットの一つにおいて欠陥が検出される時、欠陥検出回路30は、バッファコントローラ32のRABマネジャーユニット31に“欠陥スロット”信号を送る。バッファコントローラ(RAB-cntrl)32は、破線で囲まれ、RABコントローラ32におけるFIFO33からの書き込みアドレス“Wr_adr” と読み出しアドレス“Rd_adr”を指定したとき、フラグされたスロットを考慮する。
欠陥スロットの記録を維持するため、n2ビット項目(nは、バッファ深さ)を有するアレーを有するステータスレジスタ34が用いられる。ステータスレジスタ34に保持されるそれぞれの項目の値は、“00”として、対応するフリットがデッドロックを生じていず、バッファスロットが欠陥でないことを通知する。“01”は、バッファスロットが欠陥でないけれど、ホストのフリットの要求がデッドロックを生じていることを示す。最後に、もし欠陥が対応するバッファスロットにおいて検出されると、ステータスレジスタ34における要素(エレメント)は、“11”に更新される。そして、スロットは、壊れたスロットを求めるための追加の遅延を避けるべく考慮されることも、入力するフリットを格納するために使用されることもない。
[バイパスリンクオンデマンド(BLoD)メカニズム]
バイパスリンクオンデマンド(BLoD)メカニズムが、図5で説明される。BLoDメカニズムは、7x7基準のクロスバー4における欠陥の数が増加するたびに、追加の回避チャネルを与える。この場合、二つのバイパスリンク((Bypass-1 と Bypass-2)が構成例として考えられる。この図に示すクロスバーサブコントローラ(cntrl unit)41は、クロスバーリンクステータスのチェックを管理する。そして、欠陥が一つまたはいくつかのリンクで検出される場合、フラグ(faulty_Cross)を欠陥制御モジュール(FCM)42に送り、欠陥クロスバーリンクを不能にし、バイパスリンク40において、適切な数のバイパスチャネルを可能にする。
最も容易なアプローチは、全てのクロスバーチャネルに対して特定のバイパスチャネルを備えることである。この方法では、入力ポート10の要求がバイパスリンク40を必要としないので、7x7基準のクロスバーリンク43全体が欠陥である場合であっても、欠陥耐性もパフォーマンスも保証される。しかし、この技術は、クロスバー43全体を二重にするのと同じである。したがって、追加のエリアと電力オーバヘッドが必ず生じる。加えて、欠陥率が低いときは、3つ又は2つのバイパスリンク40のみで欠陥クロスバーリンクの要求を処理するに十分である。
バイパスリンク40の数は、の非常に重要である。エリアと電力オーバヘッドをできるだけ小さくするように最小化すべきである。したがって、発明者は、システムに既に存在する不使用のクロスバーリンクを利用するように決めた。これらのリンクは、基本的に、ネットワークの端部に位置し、隣接ノードがなく、従って対応するクロスバーリンクは不使用である、ネットワークの端に位置するものである。かかる最適化を備えて、パフォーマンスを最良にしながら重要なエリアと電力の低減が達成できる。
[ハードエラー検出、診断、及び回復アルゴリズム:アルゴリズム1]
図6及び図7は、欠陥検出、診断及び回復方法のフローチャーを示す。図8は、メカニズムの容易な理解のために、上流と下流のルータR1, R2間の接続を示す。
検出位相:図6は、アルゴリズムの検出位相を示す。フリットが入力バッファ3に入った時、エラー訂正コード(ECC)メカニズム7が使用されて入力したフリットのエラーを検出、訂正を行う(ステップS1)。ECCメカニズム7により、データがチェックされ、訂正されると(ステップS2,Yes)、フリットは、次のパイプラインステージIIに続く(ステップS3)。
もし、データがECCメカニズム7により修正されないと(ステップS2, No)、欠陥マネジャー8が自動再送要求メカニズムを起動し(ステップS4)、送信側ノードに対し、上記のフリットの再送信を要求する。次いで、ECCメカニズム7によりデータがエラー修正のために再度処理される(ステップS5、Yes)。データが訂正されると(ステップS5,Yes)、フリットは、次のパイプラインステージに続く(ステップS3)。もしデータが訂正されないと(ステップS5、No)、欠陥マネジャー8は、更なる診断のために診断位相を起動する(ステップS6)。自動再送要求メカニズムが、最大2回のデータ再送の要求を(上流ルータに)送ると想定する。しかし、要求の回数は、2回以上に増やすことが可能である。これは、適用タイプと、電力余裕に依存する。
診断と回復位相:図7は、アルゴリズムの診断と回復の位相を示す。診断は、ルータの3つの主要要素:(1)入力バッファ、(2)クロスバー4、及び(3)リンクで実行される。
ルータの欠陥マネジャーモジュール8は、診断位相を起動する[診断開始]。次いで、入力バッファが、エラーチェックを受ける(ステップS01)。
もし、入力バッファ3に欠陥があると(ステップS01、Yes)、 欠陥マネジャー8は、ランダムアクセスバッファ(RAB)メカニズムに要求し(ステップS02)、入力バッファ3における欠陥スロットを処理する。先のセクションはRABメカニズムがどのように動作するかを説明している。
入力バッファ3に欠陥がないと(ステップS01,No)、欠陥がクロスバー4、又は二つのルータR1,R2間のリンクに属することを意味する。この段階で、欠陥マネジャー8は、第一にバイパスリンクオンデマンド[Bypass-Link-on-demand]を構築して、代替の接続パスを確立する(ステップS03)。ついで、他のフリットが入力バッファ3からバイパスリンクオンデマンド5及びルータ対ルータ[router-to-router]リンクを通して下流のノードに送られる。もし、下流のノードで、(ECCもジュールにより)フリットが欠陥でないとされると欠陥マネジャー8は欠陥はクロスバー4にあると結論する。
もし、フリットが未だ欠陥であると(ステップS04,No)、欠陥はルータ間リンク(RL)に属する。この場合、バイパスリンクオンデマンド[Bypass-Link-on-demand]は、更なる欠陥耐性のために開放され(ステップS05)、先読み欠陥耐性 [Look-Ahead Fault-Tolerant: LAFT] ルーティングアルゴリズムが実行され、リンク欠陥を処理する(ステップS06)。入力バッファ3にあるフリットは、次いで、次の章で説明するLAFTルーティングアルゴリズムユニット1によりルータの代替出力ポートを介して迂回される。
[ソフトエラー回復(SER)処理方法:アルゴリズム2]
図9は、アルゴリズム2としてソフトエラー回復方法を示す。図2に示したように、ルータはパイプラインステージ:バッファ書き込みステージI,ルーティング計算/スイッチ配置ステージII、及びクロスバー通過ステージIIIを有する。
先に説明した様に、バッファ書き込みステージIは、二つの主要素:1) 入力バッファ3のデッドロックと欠陥状態の監視のためのランダム-アクセス-バッファ(RAB)コントローラ(RAB-contr)と2)読出し/書込み動作と、制御信号を次のポート計算及びスイッチ配置に送るために使用される単純なバッファを有する。ECC(エラー訂正コード)モジュール7は、入力フリット(またはパケット)における欠陥の検知と訂正に使用される。入力バッファメモリ3は、ECCの後、フリットの書き込み及び読み出しに使用される。
ルーティング計算/スイッチ配置ステージIIは、同時に実行される、二つの主要な動作を扱う。第1の動作は、次ノードの次のポートを計算することである(NPC)。これは、LAFT[Look Ahead Fault-Tolerant]ルーティングモジュール1により実行され、リンクステータスレジスタ32(図4)から受信される信号に依存する。第2の動作は、スイッチ要求ユニット41(図5)による異なる入力ポートからの異なる要求間のスケジューリングである。これは、入力として異なるスイッチ要求(sw-request)信号を有するスイッチアロケータ(SA)9により管理される。出力に対して、SA9は、要求された出力ポートの使用許可を与える、スイッチ許可sw-grant、及びスケジューリング結果についての情報を有するクロスバー4に対するクロスバー制御信号xbar-cntrlを発行する。
[ソフトエラー回復処理方法:アルゴリズム2]
ルーティング計算(NPC)及びスイッチアロケーション(SA)は、図9のサイクル2に示すように同時に並行して走る。ここでは、ルーティングアルゴリズムにより達成され、2つのステージ間の従属性は無くされる。このステージにおいて使用される欠陥耐性方法は、アルゴリズム2としてソフトエラー回復処理(SER)と呼ばれる。図2におけるこれらパイプラインステージI, II, IIIにおいてソフト(または瞬間的な)エラーを処理するのみである。
ソフトエラー処理方法の原理は、一以上のクロックサイクルでパイプラインステージ計算の二重化(ソフト冗長)であり、検出は、計算結果の差に基づき行われる。もし、二つのクロックサイクルが類似の結果であれば、ソフトエラーは無い。二つの連続する欠陥が異なる場合、ソフトエラーが存在する。この場合、システムは、欠陥を訂正するために第3のクロックサイクルを要求する。欠陥は、三つの結果の多数決で訂正される。
図9のアルゴリズム2に示されるように、二重化は、ローカルルーティング計算、次ポート計算(NPC)、及びスイッチアロケーション(SA)モジュールに対して行われる。(サイクル2における)第1の計算の後、三つのステージI. II. IIIの全てが追加的計算クロックを有する。ソフトエラーが検出されると、パイプライン全体が訂正のために停止する。図9において、細い線で囲われたブロックは、当初のパイプラインステージを示し、太線で囲われたブロックは冗長のパイプラインステージである。
さらに詳細に、それぞれのサイクルの動作を以下に説明する。
サイクル1において、バッファ書き込み(BW)ステージIで入力バッファ3にフリットが書き込まれ、ECC(エラー訂正コード)が使用され、ECCモジュール7で入力データがチェックされ、訂正される。
サイクル2において、NPC(次ノードポート計算)とSA(スイッチアロケーション)が並行してLAFTルーティングユニット1で計算される。
サイクル3において、冗長NPC(RNPC)及び冗長SA(RSA)が並行に計算される。次いで、冗長計算(RNPC)の出力がNPCに等しく、且つSAがRSAに等しい場合、計算クロスバー通過(CT)ステージIIIがサイクル3において実行され、フリットがサイクル4において、出力チャネルを介して次ルータに行く。もしRNPCがNPCに等しくなければ、システムは後退し、NPCを再計算する。さらに、SAがRSAに等しくなければ、システムは後退し、サイクル4でSAステージを再計算する。
先読みルーティングの利益を維持するために、LAFTルーティングユニット1における提案の先読み欠陥耐性(LAFT)がリンク状態を考慮して次ノードに対するルーティング決定を行い、そして図10のアルゴリズム3に示されるように、最良の最短パスを選択する。
図10において、欠陥制御モジュール(FCM)8から受信した欠陥情報が、LAFTがLAFTルーティングユニット1により実行されるそれぞれの入力ポートユニットにより読まれる。
このアルゴリズムの第1の位相は、次ノードのアドレスを計算する(ステップP1)。目的の到達策先にフリットの送信を望むノードに対して、それぞれX,Y,Zの範囲を通して最大3つの可能な方向が存在する。
第2の位相において、LAFTルーティングユニット1は、現在のノードと到達先ノードの両方を同時にX,Y,X座標を比較してこれら三つの方向の計算を行う(ステップP2)。同時に、これらの方向が計算される際に、欠陥マネジャー8の欠陥コントロールモジュールが、フリットから次ポートの識別子を読んで、適切な欠陥情報を対応する入力ポートに送る(ステップP3)。この第2の位相の終了までに、LAFTは次ノードの欠陥状態と最小ルーティングに対する3つの可能な方向の情報を有する。
次の位相において、ルーティング選択が実行される(ステップP4,P5)。この決定のために、本発明者は、優先的条件の組を使用して欠陥のある場合、無い場合のいずれの場合において、欠陥耐性と高いパフォーマンスを確実にする。
1.選択された方向は、最小パスを確実にし、ルーティング選択において、最優先を与える(ステップP6,Yes)。
2.最大の次ノードの多様性を有する望ましいパスを有する方向を選択する。
3.輻輳状態が最小確率となる。
これらの優先度に依存して、LAFTは、欠陥制御モジュールから受信する次ノードの欠陥状態を読み、可能な非欠陥の最小方向の数をチェックする(ステップP7)。三つの可能な方向が最小であり、同じ多様性を有するとき(ステップP8,Yes)、ルーティング選択は、それぞれの出力ポートの輻輳に依存して行われる(ステップP9)。三つの可能な方向が最小であるが、同じ多様性を有しないとき、最小の輻輳パスが選択される(ステップP10)。

Claims (4)

  1. ICに有する複数のコアのそれぞれに対応して配置される欠陥耐性ルータであって、
    フリットがそれぞれ対応するコアから入力される複数の入力ポート部(11-17)と、
    前記入力ポートユニット(11-17)から出力されるフリットをそれぞれの到達先方向に接続するクロスバー(4)と、
    前記クロスバー(4)のチャネルパスと異なる追加のチャネルパス(40)と、
    欠陥マネジャーユニット(8)を有し、
    前記複数の入力ポートユニット(11-17)のそれぞれが、
    入力バッファ(3)と、
    前記入力バッファ(3)に入力したフリットのエラーを訂正するエラー訂正回路(7)と、
    前記入力バッファ(3)に入力したフリットにおける欠陥スロットの記録を制御するランダムアクセスバッファ(RAB)を有し、更に
    前記欠陥マネジャーユニット(8)は、前記エラー訂正回路(7)により、前記フリットの欠陥が訂正されないとき、送信元ノードに前記フリットの再送を要求し、前記フリットにおけるエラーが前記再送信により訂正されないとき、ハードウエアを診断する、
    ことを特徴とする欠陥耐性ルータ。
  2. 請求項1において、
    前記欠陥マネジャーユニットは入力バッファ(3)、クロスバー(4)、及び隣接ルータ(R2)との接続リンク(RL)の順に欠陥を診断する、
    ことを特徴とする欠陥耐性ルータ。
  3. 請求項2において、
    前記入力バッファ(3)が、前記診断において、欠陥と判定される時、欠陥マネジャーユニット(8)が、前記ランダムアクセスバッファに入力バッファ(3)におけるスロットの欠陥状態をチェックさせ、前記スロットにおける欠陥をレジスタに記録させる、
    ことを特徴とする欠陥耐性ルータ。
  4. 請求項2において、
    前記欠陥マネジャーユニットは、入力バッファが正常なときは、追加のチャネルパスを選択して代替のパスを選択する、
    ことを特徴とする欠陥耐性ルータ。
JP2016100732A 2016-05-19 2016-05-19 ネットワークオンチップ用の欠陥耐性ルータ Active JP6846027B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016100732A JP6846027B2 (ja) 2016-05-19 2016-05-19 ネットワークオンチップ用の欠陥耐性ルータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016100732A JP6846027B2 (ja) 2016-05-19 2016-05-19 ネットワークオンチップ用の欠陥耐性ルータ

Publications (2)

Publication Number Publication Date
JP2017208736A true JP2017208736A (ja) 2017-11-24
JP6846027B2 JP6846027B2 (ja) 2021-03-24

Family

ID=60415006

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016100732A Active JP6846027B2 (ja) 2016-05-19 2016-05-19 ネットワークオンチップ用の欠陥耐性ルータ

Country Status (1)

Country Link
JP (1) JP6846027B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190069A (zh) * 2022-04-26 2022-10-14 中国人民解放军国防科技大学 一种高性能片上网络容错路由器装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103218A1 (en) * 2001-02-24 2004-05-27 Blumrich Matthias A Novel massively parallel supercomputer
WO2010137572A1 (ja) * 2009-05-25 2010-12-02 日本電気株式会社 ネットワークオンチップとネットワークルーティング方法とシステム
WO2012068171A1 (en) * 2010-11-15 2012-05-24 Reed Coke S Parallel information system utilizing flow control and virtual channels
US20130173970A1 (en) * 2012-01-01 2013-07-04 Mosys, Inc. Memory device with background built-in self-testing and background built-in self-repair
CN104052622A (zh) * 2014-06-23 2014-09-17 合肥工业大学 片上网络中基于故障通道隔离检测的路由器容错方法
JP2015119387A (ja) * 2013-12-19 2015-06-25 公立大学法人会津大学 誤り耐性ルータ、これを使用するic、及び誤り耐性ルータの制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040103218A1 (en) * 2001-02-24 2004-05-27 Blumrich Matthias A Novel massively parallel supercomputer
JP2004538548A (ja) * 2001-02-24 2004-12-24 インターナショナル・ビジネス・マシーンズ・コーポレーション 新規の大量並列スーパーコンピュータ
WO2010137572A1 (ja) * 2009-05-25 2010-12-02 日本電気株式会社 ネットワークオンチップとネットワークルーティング方法とシステム
WO2012068171A1 (en) * 2010-11-15 2012-05-24 Reed Coke S Parallel information system utilizing flow control and virtual channels
US20130173970A1 (en) * 2012-01-01 2013-07-04 Mosys, Inc. Memory device with background built-in self-testing and background built-in self-repair
JP2015119387A (ja) * 2013-12-19 2015-06-25 公立大学法人会津大学 誤り耐性ルータ、これを使用するic、及び誤り耐性ルータの制御方法
CN104052622A (zh) * 2014-06-23 2014-09-17 合肥工业大学 片上网络中基于故障通道隔离检测的路由器容错方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115190069A (zh) * 2022-04-26 2022-10-14 中国人民解放军国防科技大学 一种高性能片上网络容错路由器装置
CN115190069B (zh) * 2022-04-26 2023-12-05 中国人民解放军国防科技大学 一种高性能片上网络容错路由器装置

Also Published As

Publication number Publication date
JP6846027B2 (ja) 2021-03-24

Similar Documents

Publication Publication Date Title
US10681136B2 (en) Memory network methods, apparatus, and systems
Feng et al. Addressing transient and permanent faults in NoC with efficient fault-tolerant deflection router
US20190260504A1 (en) Systems and methods for maintaining network-on-chip (noc) safety and reliability
US8001280B2 (en) Collective network for computer structures
US10069599B2 (en) Collective network for computer structures
US7644254B2 (en) Routing data packets with hint bit for each six orthogonal directions in three dimensional torus computer system set to avoid nodes in problem list
EP3573239B1 (en) Interconnection network for integrated circuit and computer-implemented method of generating a corresponding electronic design file
Dang et al. A low-overhead soft–hard fault-tolerant architecture, design and management scheme for reliable high-performance many-core 3D-NoC systems
Dang et al. Soft-error resilient 3d network-on-chip router
Neishaburi et al. ERAVC: Enhanced reliability aware NoC router
Fu et al. Error control for network-on-chip links
Yu et al. Transient and permanent error control for high-end multiprocessor systems-on-chip
Pasca et al. Configurable serial fault-tolerant link for communication in 3D integrated systems
Vitkovskiy et al. A fine-grained link-level fault-tolerant mechanism for networks-on-chip
JP6846027B2 (ja) ネットワークオンチップ用の欠陥耐性ルータ
Alhussien et al. Design and evaluation of a high throughput robust router for network-on-chip
Nunez-Yanez et al. Adaptive routing strategies for fault-tolerant on-chip networks in dynamically reconfigurable systems
Yan et al. A novel fault-tolerant router architecture for network-on-chip reconfiguration
Yang et al. A fault tolerance noc topology and adaptive routing algorithm
Dang et al. Soft-error resilient network-on-chip for safety-critical applications
Vinodhini et al. A fault tolerant NoC architecture with runtime adaptive double layer error control and crosstalk avoidance
Xiangming et al. Configurable redundant routing for network on chip
Ghiribaldi et al. Power efficiency of switch architecture extensions for fault tolerant NoC design
Chen et al. A low cost method to tolerate soft errors in the NoC router control plane
Jayan et al. FPGA implementation of an efficient router architecture based on DMC

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200609

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200807

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210219

R150 Certificate of patent or registration of utility model

Ref document number: 6846027

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250