JP4808514B2 - 大域的非同期ネットワークオンチップシステムにおける通信ノードアーキテクチャ - Google Patents

大域的非同期ネットワークオンチップシステムにおける通信ノードアーキテクチャ Download PDF

Info

Publication number
JP4808514B2
JP4808514B2 JP2006062182A JP2006062182A JP4808514B2 JP 4808514 B2 JP4808514 B2 JP 4808514B2 JP 2006062182 A JP2006062182 A JP 2006062182A JP 2006062182 A JP2006062182 A JP 2006062182A JP 4808514 B2 JP4808514 B2 JP 4808514B2
Authority
JP
Japan
Prior art keywords
data
packet
node
priority
output
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
JP2006062182A
Other languages
English (en)
Other versions
JP2006254450A (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 JP2006254450A publication Critical patent/JP2006254450A/ja
Application granted granted Critical
Publication of JP4808514B2 publication Critical patent/JP4808514B2/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems

Description

本発明はネットワークオンチップ(NoC)の分野に関する。本発明は、クロックを使用せずに通信及び動作する、非同期ノードが設けられたネットワークオンチップ構造に関する。
例えば、ネットワークオンチップが非特許文献1に提案された。特にこの文献は、マトリックス又はメッシュタイプのトポロジイを有する通信媒体を備えるネットワークオンチップアーキテクチャについて記載している。この通信媒体は、2つの異なるルーティングタイプの実現に使用できるルーティングノードを含む。第1のルーティングタイプを使用して、「遅延保証」時間と呼ばれる第1のタイプのサービスが提供され、このサービスでは、第1リソースから第2リソースにデータを渡すときに要する時間がほぼ一定である。第2タイプのルーティングを使用して、一般に「ベストエフォート」と呼ばれる第2タイプのサービスが提供され、このサービスでは、ルーティングノードを接続するネットワークリンクの容量の使用が最大になる。このアーキテクチャでは、通信媒体との接続は時間多重を使用するグローバルネットワーククロックが管理する。このようなアーキテクチャの使用は複雑であり、特にアーキテクチャの構成要素の配置ルートの決定及びアーキテクチャのクロックツリーの生成に関して複雑である。また、このようなネットワークの消費電力を制御すること、特にクロックツリーに起因する消費電力を制御することは難しい。
ルーティングノードが互いに非同期で通信する構成のネットワークオンチップが、非特許文献2に提案されている。このようなネットワークにおけるデータ伝送はまた、一般に「ワンホットエンコーディング」と呼ばれるエンコーディング方式を使用してエンコードされる。しかしながら、このネットワークは、作るのが難しい特殊ロジックを使用するという大きな不具合を有する。更に、このようなネットワークは異なるサービスタイプ、例えば遅延「保証」サービス、及び一般に「ベストエフォート」と呼ばれるサービスを使用しない。
非特許文献3及び4は、仮想チャネルを使用する非同期ネットワークオンチップにおけるサービス品質の管理方法を開示している。
特開2003−000000号公報 Goossens等、"Trade offs in the design of a router both guaranteed and best-efforts service for networks on chip", Proceedings of DATE conference, 2003, 350-355 Brainbridge及びS. Furber、"Delay Insensitive System on Chip Interconnect Using 1 of 4 Data Encoding", Proceedings of International Symposium on Advanced Research in Asynchronous Circuits and Systems, March 2001, pages 118〜126 "Auality of Service (QoS) for Asynchronous On-Chip Networks", T. Felicijan, S.B. Furber, Formal Methods for Globally Asynchronous Locally Synchronous Architecture (FMGALS 2003) Pisa, Italy, Sept. 2003 "An Asynchronous On-Chip Network Router with Quality-of-Service (QoS), T. Felicijan, S.B. Furber, Support Proceedings IEEE International SOC Conference, Santa Clara, CA, Sept. 2004, pp.274-277, ISBN: 0-7803-8445-8 "A survey and comparison of wormhole routing techniques in Mesh networks, K.M. Al-Tawil and al., IEEE network, March-April 1997, pp38-45 、P.Vivetによる"A Quasi-Delay Insensitive Integrated circuit Design Methodology: Application to the Study and Design of a 16-Bit Asynchronous RISC Microprocessor" Thesis, Institut National Polytechnique in Grenole, 2001 A. J. Martinによる"Synthesis of asynchronous VLSI circuits", Caltech-CS-TR-93-28 A. V. Dinh Duc等による"TAST CAD tools: tutorial", Intern. Symposium on Advanced research in Asynchronous Circuits and Systems ASYNC' 02, Manchester, UK, April 8〜11, 2002 A. V. Dinh Duc等による"Synthesis of QDI asynchronous circuits from DTL-stylePetri net, IWLS-02, 11th IEEE/ACM Int. Workshop on Logic and Synthesis, New Orleans, Louisiana, June 4〜7, 2002 JB Rigaud等による"Modeling and Design of Asynchronous Priority Arbitrers for On-Chip Communication Systems in Com. Systems SOC Design Methodologies, edited y M. Roberts等、Kluwer Academic Publishers, July 2002, ISBN 1-4020-7148-5 JB Rigaudによる"libraries specification for the synthesis of asynchronous circuits", thesis, INPG, 2002
内部のデータ転送を管理するのにクロックを用いない要素、特にノードを備えた新規の大域的非同期ネットワークオンチップ構造を開発する必要があるという問題が生じている。
このような構造は、例えば複数のリソース又は複数のデータ間の高速データ転送を優先させる必要があるかどうか、又は複数のリソース又は複数のデータ間のスループットを保証する必要があるかどうかによって、異なるタイプのサービスを実行する機能を備えることが好ましい。
本発明は、改良型のネットワークオンチップ構造を使用する。
第一に、本発明は、非同期通信プロトコルを有するネットワークオンチップにおけるデータ伝送方法に関する。このネットワークは1以上のノードと1以上のリソースを備え、各ノードは、1以上の入力制御装置に接続された1以上の入力と、1以上の出力制御装置に接続された1以上の出力とを備え、ノードの少なくとも1つは内部クロック無しで動作して同じ出力にルーティングされる2つのデータパケットの間の転送優先順位を決定し、この優先順位は各データパケットに付随する優先チャネル情報に基づいて決定され、この優先チャネル情報及びこのデータパケットは別のノード又はネットワークリソースから送出されたものであり、優先チャネル情報は前記非同期通信プロトコルに従って第1のタイプの同期信号により伝送される。
非同期通信プロトコルは、データ伝送を行うネットワークのリソース及びノードによって使用される高位の「送信(send)/許可(accept)」型プロトコルとすることができる。
第1のタイプの信号は、各基本データグループに付随するか、又は各基本データグループに関連する「send」タイプの信号であるか、或いはデータパケット中の「flit」である。
本発明によれば、同期及びデータ伝送が非同期ノードにおいて局所的に行われる。
本発明によるネットワークオンチップ構造は、遅延の影響を受けにくく、且つ電源及び気温の変動に対して堅牢な非同期論理で実行される。
好ましくは、転送優先順位は、優先データチャネルが同一であるとき、各パケットに対し、ノードへの到着時刻及び/又は到着の入力時刻、或いはこのパケットがノードに到着するときに通過した入力ポートに応じて優先順位を割り当てることにより決定する。
特定の一実施形態によれば、ノードから出力されようとしている第1のパケットが、到来パケットと呼ばれる第2のパケットの優先順位より低い優先順位を有しているとき、第1パケットからの出力を中断又は停止して第2のパケットを優先的に出力することができる。このように、最高の優先チャネルにはデータの優先伝送がある。
ルーティング情報を、例えば指示データの順番付きリストの形式で、各データパケットに添付することができ、このルーティング情報、例えば指示データリストにまとめた指示データの一部は、通過する各ノードにアドレス指定される。
好ましくは、ノードのためのルーティング情報はこのノード内で読まれて使用され、未通過のノードにアドレス指定された他のルーティング情報は、ネットワーク内におけるデータパケットの次の目的地のために、例えば指示の順番付きリストをオフセットすることにより準備される。
ルーティング情報は好ましくはデータパケットの先頭に位置する。
このルーティング情報はまた、データを入力制御装置から出力制御装置に伝送できるように、通過するノードの入力制御装置内に記憶することができる。
非同期ノードは、出力を中断又は停止した第1のパケットのルーティング情報を記憶する手段を使用することができる。
本発明による方法はまた、1以上のデータアイテムを受信するノードにより、この(これらの)データの送信元である要素に対して送信される第2のタイプの同期信号を含み、例えば、データと同期信号とを受信及び許可した後で、前記非同期通信プロトコルを用いて許可信号を送信することが出来る。
ノードは、最高の優先チャネルが割り当てられているデータの許可信号は送信せず、これによりシステムをさらに柔軟に管理することができる。
受信者が全てのアクションに対する確認を送付することで送信者の再送信を可能にする、双方向要求(request)/受信確認(Acknowledgement)型の信号システムを用いて非同期通信プロトコルを使用することができる。
従って、本発明によるネットワークは、非同期低位「要求/受信確認」型プロトコルを用いることによっても運用できる。
好ましくは、このような方法では、4段階式の要求/受信確認型プロトコル、及びマルチレールエンコーディングを使用して非同期通信プロトコルの同期信号を実行する。
非同期ノードは、例えばこれら4段階式プロトコル及びマルチレールエンコーディングを使用することにより、実質的に遅延の影響を受けないように作成することができる。
本発明による方法では、入力制御装置が伝送対象であるデータパケットの先頭部分を受信すると、出力制御装置に対し、Validity信号と呼ばれる信号を送信してパケット内のデータを伝送しなければならない出力を通知する。このValidity信号は、前記伝送対象であるデータパケットの優先チャネルに関するデータを含んでいる。
Validity信号を受信すると、出力制御装置は、最高優先順位データパケットに含まれないデータパケットのパケット要求の先頭部を、同じ優先チャネルを有するデータパケットのパケット要求の先頭部の待ち行列に組み込む。
出力制御装置は、Validity信号を受信した後、優先チャネルに従ってデータを保存する入力制御装置のレジスタをモニタする。
入力制御装置は優先チャネルデータを記憶することにより、データを出力制御装置に伝送することができる。
本発明は、また、非同期通信プロトコルを用いるネットワークオンチップを構成するデータ伝送デバイスに関し、このネットワークは1以上のノードと1以上のリソースを備え、各ノードは、1以上の入力制御装置に接続された1以上の入力と、1以上の出力制御装置に接続された1以上の出力とを備え、ノードの少なくとも1つは内部クロック無しで動作し、このノードの各入力制御装置が、
− 同じ出力にルーティングされる少なくとも2つのデータパケットの間の転送優先順位を決定する手段であって、この転送優先順位を各データパケットに付随する優先チャネル情報に基づいて決定する手段、
− 別のノード又はネットワークリソースから送付される、優先チャネル情報を含む同期信号、及びデータパケットを受信する手段
を備える。
このようなデバイスはまた、転送優先順位を決定する手段を備え、また、優先データチャネルが同一であるとき、各パケットに対し、ノードへの到着時刻及び/又は入力時刻、或いはこのパケットがノードに到着するときに通過した入力ポートに応じて優先順位を割り当てる手段を備える。これらの手段はノードの出力制御装置に配置することができる。
また、第1のパケットが出力されるとき、到来パケットと呼ばれる第2のパケットの優先順位より第1のパケットの優先順位が低いとき、第2のパケットを優先的に出力するために、第1のパケットからの出力を中断又は延期する手段を設けることができる。この手段もノードの出力制御装置に配置できる。
本発明によるデバイスはまた、例えば各データパケットに付随する指示の順番付きリスト形式の、ルーティング情報をデコーディングする手段を備える。このルーティング情報の一部は通過する各ノードにアドレス指定されている。
また、ノードに関連するルーティング情報を読む手段、及びネットワーク内におけるデータパケットの次の目的地に関する他のルーティング情報を準備する手段を設けることもできる。ルーティング情報が指示データの順番付きリストの形式である一例では、これらの手段を使用して指示の順番付きリストをオフセットし、パケットの次の目的地を、例えば隣接ノードとすることができる。
入力制御装置から出力制御装置へデータを伝送するために、通過ノードの入力制御装置にルーティング情報を記憶する手段が使用される。
好適には、非同期ノードは、出力を中断又は停止した第1のパケットのルーティング情報を記憶する手段を有する。
好ましい一実施形態によれば、本デバイスはまた、1以上のデータを受信したとき、第1のタイプの同期信号又は対応する送信信号の受信後及びデータ許可後、これらデータの送信元に対して許可信号を送信する手段を有する。
好ましくは、入力制御装置は、伝送対象であるデータのパケットの先頭を受信したとき、出力制御装置に対し、Validity信号と呼ばれる信号を送信してデータの送信先である出力を通知する手段を備え、このValidity信号は、前記伝送対象であるデータの優先チャネルに関連するデータを含む。
本発明による非同期ノードにおいて、出力制御装置は、Validity信号の受信後に、最高優先チャネルを有するデータパケットに含まれないデータパケットの、パケット要求の先頭を、同じ優先チャネルを有するデータパケットに属するパケット要求の先頭の待ち行列に組み込む手段を備えることができる。
出力制御装置はまた、Validity信号の受信後、データをその優先チャネルに従って保存する入力制御装置のレジスタをモニタする手段を備える。
本デバイスはまた、優先チャネルデータを記憶することにより出力制御装置へのデータ転送を可能にする手段を備える。
本発明の理解を助けるため、純粋に説明を目的とする非限定的実施例について、以下に添付図面を参照しながら説明する。
異なる図面の同様又は均等部品に同じ番号を付することで、異なる図面間の比較を容易にした。
図面の理解を容易にするため、図面の異なる部品は必ずしも同じスケールで示されていない。
図1Aは、本発明に従って使用される、マトリックス又はメッシュ型トポロジイを使用する通信又はネットワークオンチップ(NoC)アーキテクチャの一実施例を示す。
このアーキテクチャは、データ処理能力、及び特にデータ交換による相互通信能力を有する複数の要素(参照番号110)を含む。
このようなアーキテクチャに含まれる一群の要素110は、マスタとして機能し、特にネットワーク上の通信を開始するために使用される要素112を含むことができる。従って、「ネットワーク制御装置」と呼ばれるこの要素112は、計算などの基本的なデータ処理、データ保存、又はデータのエンコーディング/デコーディングといったタスクを実行するのに使用される「リソース」と呼ばれる複数の他のネットワーク要素114a、114bの間の通信をプログラムすることができる。
ネットワーク制御装置112は、例えばプロセッサ又はマイクロコントローラの形態で実施できる。マイクロコントローラによって実行される特定の機能には、計算及び割り込み管理が含まれる。
各リソース114a、114bは汎用的なもの、例えばプロセッサ又はデジタル信号処理専用プロセッサ(DSP)の形態で実施しても、特殊なもの、例えばSRAM(Static Random Access Memory)等のメモリの形態で実施してもよい。
また、本発明は、特定用途の処理モジュール、例えば、高速フーリエ変換(FFT)の計算専用モジュール、又はMPEG(Moving Pictures Expert Groups)エンコーダ及び/又はデコーダモジュールとすることもできる。
ネットワークリソース114a、114bは、互いに接続され、双方向リンクを備える通信媒体を介して相互にデータを交換する。この双方向リンクは一方向にデータ転送を行なう1以上のリンク及びその逆方向にデータ転送を行うまた別の1以上のリンクから形成されている。
ネットワークはノード120も備える。これらのノード120は、1以上の着信リンクと、1以上の送出リンクとの間に物理的な接続を築くために使用され、リソース114間の通信を切換えている。
図1Aに示すいわゆる「メッシュ」又はマトリックス技術では、各ノード120は他の4つの隣接ノードに接続され、リソース114の1つに接続されるか又は関連付けられる。
このネットワークアーキテクチャは、GALS(大域的に非同期、局所的に同期)式に動作し、異なるリソース間の通信は非同期である。
可能な一実施形態によれば、本ネットワーク構造のリソース114a、bは、1つのクロックによって制御されるネットワークの同期ユニットとすることができる。各リソースのクロックは、別個の又は互いに独立したものとすることができる。
ネットワーク通信媒体、及び特にノード120は、非同期論理に基づいて実行できる。ネットワークの1以上のノード又は全てのノード120はクロックを持たず、非同期に動作する。
ネットワーク内のデータ交換のために、ノード120をデータルーティングに使用することができる。
このように、ネットワーク内のノードは、受信されたデータパケットに含まれているルーティングデータと呼ばれるデータを使用することにより、受信したこのデータパケットを転送又は送信すべきネットワーク内のリンク又は隣接ノードを決定することができる。
例えば、ネットワークノード内部のルーティングは決定論的なものでもよい。この場合、ネットワーク内の各ノードは、受信したデータパケットに含まれるルーティング情報のみに従って、又は主に受信したデータパケットに含まれるルーティング情報に従って、データパケットを送信することができる。このルーティング情報は、例えば進むべき方向の順番付きリストの形式で、このデータパケットがネットワーク内で取ることになる経路を示す。ルーティング情報は、パケットに組み込んでもよく、又はこのパケットを送付するネットワークリソースによってパケットに関連付けられてもよい。
ネットワーク内の1以上のノード120は、データ間の調停、即ち受信した複数のデータパケットのうちどれを最初に転送又は伝送するかを決定することができる。
従って、ネットワーク内の非同期ノードは、ネットワークに到来するデータ間のあらゆる紛争を管理し、ネットワークに到来し、このノードの同じ出力又はこのノードに接続する同じリンクを使用しようとする複数のデータ又はデータパケットのうちのどれを最初にこの出力又はこのリンクに伝送すべきかを決定するように設計することができる。
本発明により使用されるネットワークオンチップのアーキテクチャは、図1Aに示すメッシュトポロジイに限定されず、ハイパーキューブ(hypercube)、ツリー(tree)、リング(ring)又はトーラス(torus)等、それ以外のあらゆるトポロジイを有することができる。
図1Bは、図1Aにより説明した上記ネットワークの一部、特に隣り合う第1のノード120aと第2のノード120bを示す。これらのノードは共に内部クロックを持たない。
第1のノード120a及び第2のノード120bは、それぞれ第1のリソース114a及び第2のリソース114bに接続されており、各ノードはデータ及び/又は同期信号の受信及び/又は送信を行なう5つの入力/出力モジュールを備え、そのうち第1のノードの「北」のモジュールを130aとし、第2のノードの「北」のモジュールを130bとし、第1のノードの「東」のモジュールを140aとし、第2のノードの「西」のモジュールを140bとし、第1のノードの「南」のモジュールを150aとし、第2のノードの「南」のモジュールを150bとし、第1のノードの「西」のモジュールを160aとし、第2のノードの「北」のモジュールを160bとする。これらの入力/出力モジュールは、ネットワーク内の他のノードに接続する。入力/出力モジュール170a及び170bは、それぞれリソース114a、114bに接続する。
この構成において、各ノードは5つの入力(第1のノード120aの場合132a、142a、152a、162a、172a)と、5つの出力(第1のノード120aの場合134a、144a、154a、164a、174a)とを備える。
各ノードは5つの入力制御装置及び5つの出力制御装置を備える。
同じ入力/出力モジュール上に双方向経路は用いられないため、各入力は5つの出力のうち4つにのみ接続する。入力制御装置は、処理対象となる新規データの存在を検知し、これらのデータを、データ内、好適には当該データのヘッダに示されるルーティングに従って出力へと転送する。
上述の各アーキテクチャにおいて、リソース114aと114bの間で交換されるデータ、及びリンク115a、115b及びノード120a、120bを通過するデータは、データパケットの形態である。
パケットは、一般に「フリット(flit)」と呼ばれる1つのデータグループ、或いは連続する複数のデータグループ又は同じ経路を辿る「フリッツ(flits)」から形成される。
フリットは、ネットワーク内のデータ伝送に使用される基本単位である。リンク115又は物理的接続の数又はリンク115内部の有線リンクの数には、1フリット又は基本データグループに応じたキャパシティがある。
ネットワーク内を循環するデータパケットは通常、そのヘッダを示す少なくとも1つのフリット、末尾を示す少なくとも1つのフリット、及び場合によってはヘッダフリットと末尾フリットの間に1以上の中間フリットを含む。
1つのデータパケットは、単一の基本データグループから形成される場合も、1つのフリットから形成される場合もある。この場合、この単一フリットは、パケットのヘッダと末尾の両方を示す。
基本データグループ又はフリットは通常複数ビットを有し、例えば34ビット、特にパケット内におけるこのフリットの位置を示すために使用されるいわゆる「情報」ビットを有する。
「BoP(Begin of Packet)」と呼ばれる第1の情報ビットを使用して、例えば、この「bop」が属するフリットがパケットフリットの第1番目であるかどうかを示すことが出来る。
別の情報ビットは「EoP(end of packet)」と呼ばれ、これを使用することにより、例えば、このビットが属するフリットがパケットフリットの末尾であるかどうかを示すことができる。
データパケットのフリットはまた、情報ビットの他に複数のデータビットを含み、それらは例えば計算及び/又はデータ処理及び/又はアドレス情報、及び/又はリソース114の動作を構成するのに使用されるプログラミング情報を含んでいる。
データパケットのヘッダフリットは、位置情報ビットの他に、このパケットがパケットの読み出し、書き込み又は割り込みのいずれを行うかに応じてパケットの性質を示す「メッセージ制御」ビットと呼ばれる複数の特殊ビットを含んでいる。
データパケットのヘッダフリットはまた、その他複数の特殊なルーティングビット、例えば「目標経路」とも呼ばれる18のルーティングビットを有する。
ヘッダフリットにおいて、目標経路ビットは、このヘッダフリットが属するデータパケットがネットワーク内で辿る経路を示す。例えばこの経路は、指示データの順番付きリスト、又はパケットが辿る入力/出力モジュールの列を示す順番付きリストの形式にすることができる。
辿るべき経路を規定する指示データのリストの一部、例えば「目標経路」の2つの低次ビットを最初に使用し、次にパケットをそのモジュールの1つにルーティングして次のノードのリストをオフセットするように、ノード設定を行うことができる。
例えば、使用可能なエンコーディングシステムは、「北」入力/出力モジュールを示す「00」、「東」入力/出力モジュールを示す「01」、「南」入力/出力モジュールを示す「10」、及び「西」入力/出力モジュールを示す「11」である。
ルーティングビットをエンコーディングするために特定のシステムを用いて、ノードに対し、リソースにデータパケットをルーティングする必要があることを通知することにより、特にパケット内のルーティングビットの数を減らすことができる。例えば、順番付き指示リスト中の連続する2つの同一データによりリソースを示すことができる。
上述のように、ネットワークにおけるデータパケットのルーティングは決定論的なタイプとすることができる。従って、データパケットの送信前に、リソースはこのデータパケットが辿ることになる経路を設定することができる。リソースは、送付しようとするデータパケットのヘッダフリットの「目標経路」ビットに対し、1つの値を付すか又は割り当てることにより、これを行うことができる。
処理又はアプリケーションを実行する間に先述のネットワークの1つを通過するデータストリームは、非特許文献5等に記載されているような「ワームホール(wormhole)」タイプとすることができる。このタイプのデータストリームの場合、送信リソースから受信リソースへ送信されるデータパケット中のヘッダフリットは、最初に送信リソースと受信リソース間の経路を設定し、次いで、可能であれば、ヘッダフリットが既に通過したネットワークノードに分布する1以上の中間フリットを送信する。末尾フリットは、データストリームが通過した経路を閉じる。
ネットワークを通じて伝送される各データパケットは、予め作成された1以上の仮想チャネル、例えば2又は3の異なる仮想チャネルからなるリストから選択された、「仮想チャネル」と呼ばれる優先チャネルに関連付けることができる。各仮想チャネルは優先順位又は優先順位数に関連し、関連付けられたデータパケットに優先順位を与えるもので、特にこのパケットがネットワーク内のノードに到達したときのパケットの転送順の調停に関与する。
例えば、ネットワークの第1のノードにアクセスする第1のデータパケットが、例えば所定の優先順位を有する第1のチャネルに関連付けられている場合、特に第1ノードの、第1のデータパケットと同一出力へアクセスしようとする別のパケットが存在するとき、例えば第1のチャネルより優先順位の低い第2のチャネルに関連付けられた別のデータパケットに優先してこのデータパケットをこの第1ノードの出力から転送することができる。
仮想チャネルの別の一実施形態によれば、例えば優先順位が最高位の第1のチャネル又はチャネル0、第1チャネルより優先順位の低い第2のチャネル又はチャネル1、第1及び第2チャネルより優先順位の低い第3のチャネル又はチャネル2、というように、k個の異なる仮想チャネル(kは3以上の整数)が存在する。
仮想チャネルを使用して、ネットワークの異なるデータ転送サービスを提供することができ、このネットワークは、少なくとも通過帯域やネットワークアクセスがリソース間に比較的均一に共有又は配分される「ベストエフォート」型ネットワーク、及び少なくとも1つのいわゆる「遅延補償」サービスである。このサービスに関連するデータは、例えば第1のリソースから第2のリソースへ、ほぼ一定の転送時間又は変動の小さな転送時間でネットワーク内を転送される。
このように、2つの仮想チャネルを実施するために、優先順位の最も高いチャネル、例えば第1チャネルを使用して、遅延補償サービスを提供しながら、第1チャネルよりも優先順位の低い第2チャネルを使用して「ベストエフォート」型サービスを提供することができる。
図2を参照して後述する通信プロトコルに従って、少なくとも1つの同期信号を用いることにより、優先チャネル情報をデータパケットに関連付ける。
異なる優先チャネルに関連付けられたデータパケット間の転送順序は、非同期ノード、特にこのノードの入力制御装置と出力制御装置によって、優先チャネル情報に応じて決定することができる。そのような制御装置の例については、図6及び7を参照して後述する。
また、同じ優先チャネルに関連付けられた2つのデータパケット、例えば第1チャネルに関連付けられた第1パケット及び第1チャネルに関連付けられた第2パケットが、特にこれらのパケットが同じネットワークノードにアクセスする場合に、決して互いに他方を妨害することが無いようにすることができる。
複数のデータパケットが同一の優先チャネルに関連付けられている場合、これら複数のパケット間の転送順序を強制せず、例えば「動的」な調停を用いて、例えばFIFO式で順位を付けることができる。
「静的」な調停を用いる転送順序を使用することもできる。このタイプの調停では、ノードは、前記データパケットの送信元であるノードを考慮するか、又はパケットの送信元の入力を考慮する。このような静的な調停は、特に、仮想チャネルを用いて行われる調停に加えて使用することができ、それによって、例えば、同一の仮想チャネルに関連付けられており、同時に又は殆ど同時にノードに到達する複数の異なるパケット間の転送順序を決定することができる。このような静的な調停は、例えば、「北/東/南/西」型であり、ノードの「北」に到達する第1パケットは、第1パケットが到達するのと同時にノードの「東」入力に到達する同じ仮想チャネルの第2パケットに優先され、第2パケット自体は、第2パケットが到達するのと同時にノードの「南」入力に到達する同じ仮想チャネルの第3パケットに優先する。
更に一般的には、データパケットそれぞれの送出元に応じて、同一の優先チャネルを有する異なるデータパケット間の調停を行うことが可能である。
考えられるノードの一操作方法は、図1Bのノード120aを例にすると、以下のように行うことができる。第1データパケットのヘッダフリットが1つの入力を介してこのノード120aに到達するとき、この第1パケットが転送されるべきノードの出力は、前記第1パケットのヘッダに含まれるルーティング情報によって決定される。このルーティング情報、及びこの第1パケットに関連付けられた優先チャネルに応じて、調停機能が起動される。
前記出力に競合が無く、例えばこの出力を使用するか、又は使用しようとしている他のパケットが無ければ、第1パケットはこの出力に伝送又は転送される。
前記出力にアクセスの競合がある場合、つまり既に第1パケットがノードの出力を使用しており、且つ第1パケットより優先順位の高い仮想チャネルの第2パケットがノードの同じ出力に到達している場合、ノード120aの出力への第1パケットの転送は遮断又は停止され、第2パケットが転送される。第1パケットの転送は、前記第2パケットの全てのフリットがノード120aを通過した後で再開することができる。
前記出力に競合が存在し、例えば第1パケットと同じ仮想チャネルに属する第2パケットの別のヘッダフリットがこの出力を第1パケットと同時に使用しようとしている別の実施例では、パケット間で、静的な調停を行うか、或いはパケットの送出元又はそれらのノードへの入力を考慮することができる。
データパケットが関連付けられた優先チャネル情報は、ネットワーク内における要素、ノード及び/又はソース間のデータ転送に使用される、高位の「送信/許可」型通信プロトコルの同期信号に少なくとも部分的に含むことができる。
データ送信ネットワーク内の要素、例えば第1ノード又はリソースと、データ受信ネットワーク内の要素、例えば第1ノードに隣接する第2ノードとの間のデータ転送機構を、図2のタイムチャートに示す。送信要素と受信要素の間のデータ転送は、「send」タイプの同期信号及び「accept」タイプの同期信号を用いる高位の「送信/許可」型プロトコルによって管理され、データパケット中の任意のフリット又は基本的データグループは、前記パケット中のこの任意のフリットに先行する別のフリットが受信要素によって許可されるとすぐに、送信要素によって送信される。
タイムチャートの曲線200及び210は、送信要素と受信要素の間で交換される同期信号を表す。曲線220は、送信要素と受信要素の間で交換されるデータを表している。
このタイムチャートでは、送信要素から送出された送信信号200は、受信要素に対して送信されたデータがあることを、例えばこの送信信号が高い状態に変化する時間t0において告げる。受信要素から生じて「accept」信号と呼ばれることになる許可信号210は、受信要素が、例えばt0において高い状態にあることにより、これらのデータを受信する準備ができていることを示す。このように、曲線200及び210がそれぞれ示すように、第1データグループ又は第1フリットは、送信要素によって送信され、受信要素によって受信される(第1フリットを、曲線220の一部分221で示す)。
「bop」信号を表すタイムチャートの曲線250は、時間t0において高い状態に変化し、第1フリットの間は高いままである。この「bop」信号は、第1フリットがヘッダフリットであることを示す。次いで、第2フリット、及び次の第3フリットが送信要素によって送信され、受信要素によって受信される(第2フリット及び第3フリットは、曲線220の部分222及び223によってそれぞれ示されている)。
時間t1において、受信要素によって送信された「accept」信号240はその状態を例えば低い状態に変える。すると、受信要素は受信を停止する。送信要素は4番目のフリット(曲線220の部分224)の送信を試みるが、受信要素は送信要素に対し、この4番目のフリットの許可信号を送信しない。例えば、受信要素が同期ノードである場合、このノードは4番目のフリットを受信及び保存し、それが使用されるまで待機することができる。別の場合、例えば受信要素が非同期ノードである場合、このノードは、4番目のフリットの受信確認をしないことにより、この4番目のフリットを送信要素内に維持することができる。
このような第2の試みの後、送信要素は時間t2においてデータ送信を停止する(曲線220の部分229)。
受信要素は、時間t3においてデータを受信する準備を再度整える。これは、その状態を例えば高い状態に変える「accept」信号(曲線210)によって示される。この時間t3から、受信要素は、4番目のフリットを許可することを示す(曲線230の234)。ここで、送信要素はデータ送信を再開することができる。時間t4から、要素は4番目のフリット(曲線220の部分225)、次いで5番目のフリット(曲線220の部分226)を送信し、それらは受信要素によって受信される。「eop(end of packet)」信号を表す曲線240に示すように、5番目のフリットがパケットの末尾を示し、時間t5においてデータを送信する。
即ち、第1要素と非同期ノードとの間のデータ送信は、送信/許可プロトコルによって管理される。先述の送信メカニズムでは、送信要素及び受信要素は入力/出力モジュールを介して通信し、そのためのやり取りは、双方向「要求/受信確認」型信号伝達によって物理レイヤで管理される。
この双方向信号伝達は、「完全ハンドシェイク」とも呼ばれる低位の「4段階式」プロトコルを用いて使用することができる。
このプロトコルの1操作を図3のタイムチャートに示す。このタイムチャートの曲線310は、送信要素によって生成される要求信号が現れるデータ信号を表し、曲線320は受信要素によって生成される受信確認信号を表す。
第1段階、即ち時間t0からt1では、受信要素が、曲線310の状態の変化によって新規データの到着を検出し、これらのデータを取得する。次にこの受信要素は、受信確認信号を生成し、時間t1における曲線320の状態の変化に示されるように、送信要素に対して送信する。
次に、第2段階、即ち時間t1からt2では、送信要素が受信確認信号を検出するか、又は受信確認信号の状態の変化を検出し、曲線300の状態の変化に示されるように、受信要素のデータを無効にする。
時間t2からt3までの次の第3段階において、受信要素は、データの状態が無効へと変化するときを検出し、受信確認信号を初期状態又はこの信号の第1段階の開始時点の状態にする。
時間t3からt4までの次の第4段階において、送信要素は、受信確認信号が初期状態又はこの信号の第1段階の状態に戻ったことを検出し、よって再び新規データ送信をする権限を得る。
ネットワーク上を伝送されるデータ及び/又は同期信号は、「マルチレール」又は「1アマングN」と呼ばれるような、遅延に対して鈍感な種類のエンコーディングに従ってエンコードすることができ、これによりノードが:
− ノードに到達する新規データの存在を検出し、
− それらの入力に到達する新規データが直前のデータと全く同じ状態である場合を区別することができる。
また、この種のエンコーディングにより、ノードは受信確認信号を生成してその隣接データに処理の終了を知らせることができる。
例えば、図4に示すようなダブルレールエンコーディングでは、データビットが2つのワイヤによりエンコードされ、この方式では4つの段階が利用可能である。第1ワイヤ(図4の信号410により示す)を値「0」をエンコードするために用い、第2ワイヤ(図4の信号420により示す)を値「1」をエンコードするために用いることができる。
2つのワイヤが低い状態であるとき、有効な値は無い(時間T0の前の論理的レベル0における信号410及び420)。第1ワイヤの状態が変化して例えば高い状態になるとき、このワイヤは値「0」をエンコードし、高い状態の第2ワイヤは値「1」を表す。両方のワイヤが同時に高い状態であることはできない。それぞれの有効値が変化するときは、必ず2つのワイヤが共に低い状態である無効状態を経る。
図5は、非同期ノードのアーキテクチャを示す。各入力は(n−1)の出力に接続されており、各出力は(n−1)の入力に接続されており、ここで例えばnは4以上であり、従ってノードは6以上の入力と出力を有する。
nのリンク(nは6以上の整数)に付属するこのようなノード500の一実施例を図5に示す(リンクは図示しない)。このノード500は、nの入力510、...510n−1、及びnの出力550、...550n−1を備えるn×nの「クロスバー」型のアーキテクチャを有することができ、入力510、...510n−1の各々はn−1の出力に接続可能である。このネットワークの変形にkの優先チャネルを導入することができる(ここで、kは2以上の整数である)。つまり、このようなネットワーク上を伝送される各データパケットは、kのチャネル又は優先順位から選択された1の優先チャネルに関連付けることができる。
このようなノード500は、静的な調停を使用して、同じチャネル、特に最高の優先チャネルに属するパケット間の転送順序を決定することができ、例えば最高の優先チャネル0に関連付けられた入力510に到来するパケットが、同じチャネル0に関連付けられた入力510に到来するパケットに優先されるように決定することができる。
ノード500の各入力510、...510n−1は対応する入力制御装置600、...、600n−1に関連付けられており、各出力550、...550n−1は対応する出力制御装置700、...、700n−1に関連付けられている。
図5に示す一実施例は、k=2の異なるレベル又は優先チャネルを制御することができ、且つ34ビットのフリット等のフリットパケットを受信することができるものであり、この実施例によれば、E_data信号の形式でパケットを受信するノードのデータバス及びE_data信号の形式でパケットを送信するノードのデータバスは、ベース4にエンコードすることができ、よって消費電力が低減され、34ビットのデータに17のマルチレールベース4ベクターが得られる。
「send」タイプのE_send制御信号をダブルレールエンコーディングと共に使用して、2つの異なる仮想チャネルの数又は異なる優先チャネルの数を伝送することができる。「accept」タイプのE_accept制御信号を信号レールエンコーディングと共に使用して、次のノードにも利用可能なスペースがあるかどうかを示すことができる。
非同期ノード500の入力制御装置600のアーキテクチャを図6に更に詳細に示す。
この制御装置600を使用することにより、その入力510に位置する所定のフリットが、この同じ非同期ノード500の、所定の出力へ、或いは、n−1の出力の群又は出力制御装置700、...、700n−1のうち所定の制御装置へ転送される(図5及び7参照)。
従って、入力制御装置600は、E_data信号の形式でパケットのデータフリットを受信し、このデータフリットは、例えば34ビットを有し、E_sendと表示される「send」タイプの同期信号が添付されており、関連付けられている入力510に到来したものである(図6には示さない)。
既に述べたように、E_dataのデータ及びE_sendの同期信号の両方は、ネットワーク内でデータパケットが辿る経路の非同期ノード500に先行する入力510に接続されたノード又はリソースによって送信される。
入力制御装置600はまた、入力510に接続された非同期ノード500の隣接する要素(ノード又はリソース)であり、このノード500が受信したデータの送出下である要素に対し、「accept」タイプ許可信号(図6のE_accept1、...、E_acceptk)を生成する。
制御装置600は、E_data信号の形式で到来するフリットの少なくとも1部を、複数のフリット、例えば2つの信号E_data_yとE_data_xに複製するモジュール又は手段610を備え、これらの複製信号はそれぞれ、新規データ取得手段と呼ばれるモジュール又は手段620及び同期信号取得手段と呼ばれる別のモジュール又は手段630に向けて送信される。
手段630は、到来するフリットに関連付けられたE_send同期信号を受信し、この信号はこのフリットが属するパケットのレベル又は優先チャネルをコード形式で含む。この信号のソースについては既に説明した。このように、これら手段630は、特に、ノード500に到来するパケットの所定のフリットのレベル又は優先チャネルをデコードするために使用される。
手段630はまた、所定のフリットの数ビット、特に「目標経路」フィールドにあるこのフリットの幾つかのルーティングビットをデコードすることができ、これには「目標経路」フィールド内の低順位のビット等、方向データの順番付きリストが含まれる。
手段630が「目標経路」フィールド内のビットをデコードした後、これらの手段630は、
− 第1に、出力認証信号Valid R0_to_S0、...、Valid_Rk―1_to_Sn−1(以下、Valid_R_to_Sと略す)を生成することにより、kの優先順位の中から優先チャネルを認証し、且つ到来するフリットが非同期ノードの出力として辿るノードの出力の中から出力を承認し、
− 第2に、パケット情報の先頭BopR1_toS0、...、BopRk−1_toSn−1(以下BopR_toSと略す)を生成し、それを非同期ノードの出力制御装置に送信する。
また、この出力制御装置には、
− フリットの優先チャネルに関する情報、
− パケット中のフリットの位置に関する情報、例えばこのフリットがパケットフリットの先頭であるか、又はパケットフリットの末尾であるか
が供給される。
E_data_xフリットがパケットフリットの先頭である場合、手段630は制御信号CTRL_Eを生成し、データ取得手段620に対し、到来するパケットに関連付けられた優先チャネル、及び「目標経路」フィールド内のビットのオフセット制御を通知する。
宛先を示す、到来するフリットの「目標経路フィールド」内の低順位のビットはまた、手段630によってデコードされる。これらデータの宛先ビットは、別の方法で調停される、高い優先順位又はチャネルに関連付けられたパケットを除き、Valid_R_to_S認証信号とパケット情報の先頭を生成するのに使用される。有効性情報及びパケット情報の先頭部に関連する2つの信号は、現行の優先順位に関する出力を起動する。
この出力に関する情報は、手段630によって宛先情報信号NXT_Rkの形式で生成された後、レジスタ640、...、640k−1に記憶される。レジスタ640、...、640k−1の1つに送信されるこの信号NXT_Rkは、到来するパケットの残りのルーティングデータを維持するのに使用される。
到来するフリットがパケットフリットの先頭でない場合、手段630は、到来するフリットのレベル又は優先チャネルのみを示す制御信号CTRL_Eを生成する。上述のようにして記憶された現行の宛先が読み出され(手段640、...、640k−1によって送信される信号CRU_Rk)、それによって関連する優先順位を有する現行の出力が起動される。
手段620は、E_data_y信号を受信すると、手段630によって生成されるCTRL_E信号の値に応じて、ノード500に到来する所定のパケットのヘッダフリットの「目標経路」にあるビットをオフセットする。これは、所定のパケットがノード500の後に通過することになる、ノード500に隣接する別のノードのための、所定のパケットのルーティング情報を準備するのに使用される。オフセットされた後、「目標経路のヘッダフリットの中の低順位のビットは、次のノードに対し、データパケットがその出力のいずれを取るかを通知する。
手段620はまた、フリットに関連付けられた優先チャネルに基づいて、kの手段625、...、625k−1からなる組のうち所定の手段、又は所定のモジュールに対し、このフリット中のデータを方向付けるために、制御信号CTRL_Eを使用する。例えば、最高の優先チャネル、例えばチャネル0に関連付けられたフリットは、チャネル0に関連付けられたフリットを処理するために設けられた手段625に方向付けられる。このようにして、手段620は、ノード500において到来するパケットが関連付けられた入力を介し、仮想チャネル又は優先チャネルにより到来パケットの分類を行うことができる。
手段620はまた、ノード出力制御装置のステートマシン(図6に示さない)で使用することができるように、所定の到来パケットのヘッダフリットの中のパケットビットの「eop」末尾をデコードし、次いで複製するために使用される。
手段又はレジスタ625、...、625k−1はまた、手段620から出力されたデータをノード500のn−1の出力制御装置700、...、700n−1に転送するために使用される。これは、n−1の出力制御装置700、...、700n−1により手段625、...、625k−1を精査することにより行われ、このとき非特許文献6に記載の種類の精査メカニズムを使用する。このような精査は、出力制御装置700、...、700n−1が、手段630が送信する認証信号によって起動されたとき、それら出力制御装置によって行われる。
入力制御装置600はまた、出力A1_fromS0、...、Ak−1_fromSn−1の各々からの、異なるチャネル又は優先順位の許可信号を精査し、許可信号E_accept1、...、E_acceptk−1を生成する手段650、...650を備える。これらの手段650、...650は、上述のような精査メカニズムに従って動作することができる。更に、これら手段650、...650は、上述のような「送信/許可」式やり取りの前に、初期化トークンを生成するように設計される。すると、このような交換が開始されたとき、入力制御装置600は、ネットワーク内のノード又は先行要素に対し、kの仮想チャネルのうち1の所定の仮想チャネルが空いていることを通知する。
また、例えばバッファメモリの形式の記憶手段640、...、640k−1が設けられ、ノード500内の転送の間のパケットの宛先情報、特にパケットのヘッダフリットに続くフリットの宛先情報を保存する。この情報は、手段630により記憶手段640に送信される。回路又はネットワークが初期化されるとき、新規パケットのヘッダフリットが入力制御装置600にアクセスする前に、これら記憶手段640、...、640k−1は手段630に初期化トークンを送信する。
好ましくは、許可信号E_accept1、...、E_acceptk−1は、パケットの種類の一部のみ、特に最高の優先順位より低い優先順位を有する仮想チャネル又は優先チャネルに関連付けられたパケットのみの受信確認をするために送信される。
よって、入力制御装置は同期信号をデコードし、新規のデータ入力値を待ち、それを関連する優先順位に対応する手段625、...、625k−1に割り当て、現行パケットの宛先に応じて、Valid_R_to_S信号によりその出力を正しい出力制御装置に対して認証する。
図7はノードの出力制御装置500の1アーキテクチャ、例えば出力制御装置700を示す。
この出力制御装置は、パケットのデータフリットを、S_sendと示される「send」タイプの同期信号が添付された例えば34ビット信号のS_data信号の形式で、それに関連する出力550に振り向ける。
出力制御装置はまた、優先パケットと、それよりも低い優先順位のパケットとの間で、出力転送調停700を行うことができる。これは、同じ優先順位を有するデータパケット間の調停を行うこともできる。
異なる優先順位を有するパケット間の転送順序を決定するため、出力制御装置700は、これらのパケットに関連付けられた仮想チャネル又は優先チャネルを考慮する。
同一の優先順位を有するパケット間の転送順序を調停するため、これらのパケットが最高位の優先チャネルに関連付けられている場合、出力制御装置700は、これらパケットの各々が入力500、...、500n−1のうちのいずれの入力に到来したかに応じた調停を行うことができる。
転送順序が決定されるパケットが、最高の優先チャネル、例えばチャネル0の優先順位よりも低い優先順位の同じチャネル、例えばチャネル1に関連付けられている場合、制御装置はFIFOタイプの調停を行うことができる。
従って、出力制御装置700は、入力500、...、500n−1の1つを介してノード500にアクセスする複数のデータパケット間、特にこの出力制御装置700が関連付けられている出力550にアクセスする複数のパケット間の調停を行うことができる。
出力制御装置700は分類手段、例えばk−1の記憶手段又はレジスタ710、...、710k−1(kは2以上の整数であり、優先チャネルの数に対応する)を備え、これにより、先着順分類法に従って到達順に、パケット要求の「BoP」の先頭又は新規パケットを示すパケットの「BoP」部分を保存する。
保存手段720、...、720k−1の各々は、n−1のバッファメモリから形成されて、パケット要求のn−1の先頭を保存するために使用されるもので、それぞれk−1の分類手段710、...710k−1に関連付けられる。分類手段710、...710k−1はnの入力を備え、同じ仮想チャネルに関連付けられたパケットの分類のみを行う。手段710、...710k−1はデフォルトで待機又は休止状態とすることができ、優先チャネルの1つにアクティビティが検知され次第初期化又は起動されるようにすることができる。
このような検知は、非特許文献6に記載されているような精査機能を使用して行うことができる。
好ましくは、これらの手段710、...710k−1は最高の優先チャネルよりも低い優先チャネルに関連付けられたパケットのみを分類し、それによりノード500が、最高の優先チャネル、例えばチャネル0に関連付けられたパケットを迅速に転送することを可能にする。チャネルの1つにアクティビティが検知されたとき(BoPビットが検知されたとき):
− BoPビットが入力510に到来したものである場合、入力510からの要求は、このBoPが属するパケットの優先チャネルに基づいて手段720、...720k−1に属するメモリに保存されるか、
− そうではなく、BoPビットが入力510に到来したものである場合、入力510の要求は、このBoPが属するパケットの優先チャネルに応じて手段720、...720k−1に属する別のメモリに保存される。
例えばステートマシンの形態の、手段730及び手段740は、現行の優先順位に基づいて行われるValidity要求の調停に使用される。
この調停方法を説明するために、複数の実施例を挙げて説明する。
まず、図7に示す異なる信号について説明するか、又は図6で言及した信号と対応させる。
valid_R0_from_E0、...、valid_Rk−1_from_En−1、及びbopR1_from_E0、...、bopRk−1_from_En−1信号はそれぞれ、図6の手段630によって送信されたvalid_R_to_S信号、及びパケットbop_R_to_S信号の先頭である。Rk_eop0_fromE0信号は、図6の手段625によって送信されるvalid_Rk_to_S1及びRk_eop_to_S1Validity信号に対応する。Ak_to_E1信号は、図6の手段650から受信されるAk_from_S1Validity信号に対応する。Rk_fromE1信号は、図6の手段625によって送信されるRk_to_S1信号に対応する。S_ACCEPT1、...、S_ACCEPTk−1信号は、ネットワークのデータ経路において非同期ノード500の次に来るネットワーク内の要素(ノード又はリソース)から受信された許可信号である。
ステートマシン730が使用する調停方法に関し、3つの異なる場合を区別することができる。
第1の場合:現行の処理で優先されているのが「空の状態」である場合で、この出力制御装置に向かって進行中のパケットが存在しない場合:
− 最高の優先チャネルに関連付けられたパケット、例えばチャネル0に関連付けられたパケットが存在する場合、現行の状態が優先され、手段730はNXT_PRIO信号を生成し、パケットのソースはNXT_FROM情報を使用して維持される。Validity信号が受信確認される。
− 更に優先順位の高い信号が存在しない場合、最高の優先チャネルよりも優先順位の低いチャネルのレベル又は優先順位を有するパケットによって本方法は起動されたものである。転送されるべき入力が対応するリストの1つに読み出される。現行の状態は非優先となり、NXT_PRIO信号がステートマシン740に送信され、一方パケットのソースはNXT_FROM情報を使用してステートマシン740に維持される。対応するレベルの許可信号が受信確認される。
第2の場合:現行の優先順位が非優先状態である場合(パケットレベルk)
この場合、非優先パケットがもっと優先順位の高いパケットで中断される。
ここで、「ガード」又は選択手段は:
− 更に優先順位の高いValidity信号の存在を確認するか、
− ネットワーク内の次のノードから送出された対応する優先順位の許可信号を受信している場合、更に優先順位の高いValidity信号の存在を確認するか、或いは、
− ネットワーク内の次のノードから送出された現行の非優先レベルの許可信号を受信している場合、現行の非優先パケットのValidity信号の存在を試験する。
更に優先順位の高いパケットが存在する場合、手段730は、TO_SUSPEND信号を手段740に対して生成することにより、現行の非優先パケットを延期し、優先順位の高いチャネルのパケットを処理する。
最高の優先チャネルに関連付けられたパケットは無いが、最高の優先チャネルより低い優先順位のチャネルに関連付けられたパケットが残っている場合、残りのパケットを処理する。
第3の場合:現行の優先順位の優先状態が高い場合。この場合、現行のパケットを中断することはできず、残りのパケットの転送は待機状態におかれる。
空の状態の初期化トークンはステートマシン740によって生成される。
3つの場合は、ステートマシン740が使用する調停方法についても区別される。
第1の場合:現行の状態が空の状態であり、この出力に向かって進行中のパケットが存在しない。関連パケットの末尾を示すEoPビットがデコードされ、次いで出力の現行状態が更新される。切換え手段770の制御信号CTRL_SWITCHが起動される。
非優先パケットに対し、入力段階に応じたレベルの許可信号Ak_toEnが生成される。
第2の場合:現行の状態が非優先状態(パケットレベル又はチャネルが1〜k)である場合。
新規の更に優先順位の高いパケットが存在する場合、それよりも優先順位の低い現行のパケットを延期する。従って、本方法は、延期を行うことにより新規パケットの転送を承認する。EoP=1である場合、パケット長は1であり、延期の必要はない。
それ以外の場合、現行パケットの残りを転送する。
第3の場合:現行の状態が優先順位の高い状態(パケットレベル又はチャネルが0)である。
このとき、優先順位の高いパケットの残りが待機状態に置かれる。
次いで、調停手段730が、最高の優先順位を有するvalidity信号の1つ、又はそれよりも優先順位の低いValidity信号にアクティビティを検知する場合で、且つネットワーク内の次のノードから送出された、対応する優先順位の許可信号を受信している場合、本調停方法ではまず、優先順位が固定された最高の優先順位のパケットの存在を確認する。
手段740は優先順位と現行状態を管理する。従って、これらの手段はEoPビットを受信し、1つの状態から他の状態へ、及び1つの優先順位から他の優先順位への変化を決定する。これらの手段はまた、延期された優先順位の低いパケットを復元できる。それらはまた、出力スイッチ770の制御信号CTRL_SWITCHを生成する。
パケットの末尾において、本方法は、延期手段750の出力を確認し、以前に優先順位の低いパケットが延期されているかどうかを決定する(CUR_SUSPENDED)。
手段750ステートマシン740の状態変数を保存することができ、手段760はこのステートマシン740の延期変数を保存するために使用できる。これらの手段は「空の状態」及び「延期無し」に対して初期化トークンを生成する。
手段770は切り替え手段であり、例えばノードのS_data出力に可能なk(n−a)の入力(kの優先順位を有するn−1の入力)を有するマルチプレクサである。これら同じ手段により、S_sendが生成される。
本発明による回路は、CSPに由来するCHP言語でモデル化することができ、通信方法による非同期ノードを説明する。これは、非特許文献7を参照して行うことができる。
このとき、回路は、TAST(非特許文献8及び9)などの非同期回路合成を一部に使用するか、或いは、非特許文献10又は11に記載の合成方法を特に調停ブロックに使用して、合成することができる。
本発明による非同期ネットワーク構造を使用して、様々なサービス、例えば「遅延保証」サービス及び一般に「ベストエフォート」サービスと呼ばれる別のサービスを実行することができる。これら種種のサービスの実行、及びこのような構造内を伝送されるデータパケット間の優先順位の管理は、データパケットに関連付けられる「仮想チャネル」と呼ばれる優先チャネルを使用することにより、少なくとも部分的に保証される。
A及びBは、本発明に従って使用されるネットワークオンチップアーキテクチャの実施例を示す。 データ送信要素と前記データの受信要素との間に、本発明に従って使用されるネットワークオンチップで「送信/許可」」型通信プロトコルを使用する非同期メカニズムを示すタイムチャートを示す。 4段階プロトコルによる転送例を示す。 ダブルレールエンコーディング信号を示す。 本発明に従って使用されるネットワークオンチップの非同期ノード構造の一実施例を示す。 本発明による非同期ノードの入力制御装置を示す。 本発明による非同期ノードの出力制御装置を示す。
110 ネットワークの要素
112 制御装置
114 リソース
115 リンク
120、500 ノード
132a、142a、152a、162a、172a、510 ノードの入力
134a、144a、154a、164a、174a、550 ノードの出力
600 入力制御装置
620、625、630、650 モジュール又は手段
640 レジスタ
700 出力制御装置
710 記憶手段又はレジスタ
720 保存手段
730、740 手段(ステートマシン)

Claims (27)

  1. 非同期通信プロトコルを有するネットワークオンチップにおけるデータ伝送方法であって、このネットワークは1以上のノードと1以上のリソースを備え、各ノードには、1以上の入力制御装置に接続された1以上の入力と、1以上の出力制御装置に接続された1以上の出力とが設けられており、内部クロック無しで動作する少なくとも1つのノードが、同じ出力にルーティングされる2つのデータパケット間の転送優先順位を決定し、この優先順位の決定は、各データパケットに関連付けられた優先チャネル情報に基づいて行われ、この優先チャネル情報及びこのデータパケットは別のノード又はネットワークリソースから送出されたものであり、優先チャネル情報は、非同期通信プロトコルに従って第1の種類の同期信号によって伝送される、方法。
  2. 優先チャネルが同一であるとき、ノードへの到達時間及び/又は到達の入力又はノードの到達した際の入力ポートに応じて、各パケットに優先順位を割り当てることにより転送優先順位の決定を行う、請求項1記載の方法。
  3. 第1パケットがノードから出力されている途中であるが、「到来」パケットと呼ばれる第2のパケットより低い優先順位を有するとき、第1パケットからの出力を中断又は停止して第2パケットを優先的に出力する、請求項1記載の方法。
  4. 各データパケットにルーティング情報を関連付け、通過する各ノードにこのルーティング情報の一部をアドレス指定する、請求項1記載の方法。
  5. ノードのルーティング情報をこのノードで読み出して使用し、未だ通過していないノードにアドレス指定された他のルーティング情報を、ネットワークにおけるデータパケットの次の宛先のために準備する、請求項4記載の方法。
  6. ルーティング情報がデータパケットの先頭に位置する、請求項4記載の方法。
  7. 更に、通過したノードの入力制御装置にルーティング情報が記憶されることにより、入力制御装置から出力制御装置にデータを転送することができる、請求項4記載の方法。
  8. ノードが、出力を中断又は停止した第1パケットのルーティング情報を記憶する手段を用いる、請求項4記載の方法。
  9. 第1の種類のデータ及び同期信号の受信及び許可の後、1以上のデータアイテムを受信するノードが、このようなデータの送信元である要素に対し、第2の種類の同期信号又は許可信号を更に送信する、請求項1記載の方法。
  10. 最高の優先チャネルに関連付けられたデータについては、ノードが第2の種類の同期信号又は許可信号を送信しない、請求項9記載の方法。
  11. 4段階プロトコル及び/又はマルチレールエンコーディングを用いて通信プロトコルの同期信号を実行する、請求項9記載の方法。
  12. 入力制御装置は、伝送されるデータパケットの先頭を受信するとき、データの伝送先である出力の出力制御装置にValidity信号と呼ばれる信号を送信し、このValidity信号が前記伝送データの優先チャネルに関するデータを含む、請求項1記載の方法。
  13. 出力制御装置は、Validity信号を受信した後、最高の優先順位のデータパケットに含まれないパケットに属するパケット要求の先頭を、同じ優先チャネルを有するデータパケットに属するパケット要求の先頭の待ち行列に組み込む、請求項12記載の方法。
  14. 出力制御装置は、Validity信号を受信した後、データが優先チャネルに基づいて保存される入力制御装置のレジスタをモニタする、請求項12又は13記載の方法。
  15. 入力制御装置が優先チャネルデータを記憶して出力制御装置にデータを転送する、請求項1ないし12のいずれか1項記載の方法。
  16. 非同期通信プロトコルを有するネットワークオンチップを備えるデータ伝送デバイスであって、このネットワークは1以上のノードと1以上のリソースを備え、各ノードには、1以上の入力制御装置に接続された1以上の入力と、1以上の出力制御装置に接続された1以上の出力とが設けられ、少なくとも1つのノードが内部クロック無しで動作し、このノードの各入力制御装置が:
    − 同じ出力にルーティングされる少なくとも2つのデータパケット間の転送優先順位を決定する手段であって、この転送優先順位の決定を、各データパケットに関連付けられた優先チャネル情報に基づいて行う手段、及び
    − 優先チャネル情報及び別のノード又はネットワークリソースから送出されたデータパケットを含む同期信号を受信する手段
    を備えるデバイス
  17. 転送優先順位を決定する手段は、優先チャネルが同一であるとき、ノードへの到達時間及び/又はノードへの入力又はノードへ到達した際の入力ポートに応じて各データパケットに優先順位を割り当てる手段を備える、請求項16記載のデバイス。
  18. 第1パケットがノードから出力されている途中であるが、到来パケットと呼ばれる第2のパケットより低い優先順位を有するとき、第1パケットからの出力を中断又は停止して第2パケットを優先的に出力する手段を備える、請求項16記載のデバイス。
  19. 各データパケットに関連付けられたルーティング情報をデコードする手段を備え、通過する各ノードにこのルーティング情報の一部をアドレス指定する、請求項16記載のデバイス。
  20. ノードに関するルーティング情報をこのノードで読み出す手段、及びネットワーク内のデータパケットの次の宛先のためのルーティング情報を準備する手段を備える、請求項19記載のデバイス。
  21. 通過したノードの入力制御装置にルーティング情報を記憶することにより、入力制御装置から出力制御装置にデータを転送する手段を備える、請求項19又は20記載のデバイス。
  22. 非同期ノードが、出力を中断又は停止した第1パケットのルーティング情報を記憶する手段を有する、請求項19記載のデバイス。
  23. 非同期ノードは更に、1以上のデータアイテムを受信したとき、これらデータの送信元である要素に対して許可信号を送信する手段を備え、許可信号は、データ及び対応する同期信号の両方からなるデータの受信及び許可の後に送信される、請求項16記載のデバイス。
  24. 入力制御装置が、伝送されるデータパケットの先頭を受信するとき、データの伝送先である出力の出力制御装置にValidity信号と呼ばれる信号を送信し、このValidity信号が前記伝送データの優先チャネルに関するデータを含む、請求項16記載のデバイス。
  25. 出力制御装置が、Validity信号を受信した後、最高の優先順位のデータパケットに含まれないパケットに属するパケット要求の先頭を、同じ優先チャネルを有するデータパケットに属するパケット要求の先頭の待ち行列に組み込む、請求項24記載のデバイス。
  26. 出力制御装置が、Validity信号を受信した後、データが優先チャネルに基づいて保存される入力制御装置のレジスタをモニタする手段を備える、請求項24又は25記載のデバイス。
  27. 入力制御装置が、優先チャネルデータを記憶することにより出力制御装置にデータを転送する手段を備える、請求項16ないし26のいずれか1項記載のデバイス
JP2006062182A 2005-03-08 2006-03-08 大域的非同期ネットワークオンチップシステムにおける通信ノードアーキテクチャ Active JP4808514B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0550611 2005-03-08
FR0550611A FR2883117B1 (fr) 2005-03-08 2005-03-08 Architecture de noeud de communication dans un systeme de reseau sur puce globalement asynchrone.

Publications (2)

Publication Number Publication Date
JP2006254450A JP2006254450A (ja) 2006-09-21
JP4808514B2 true JP4808514B2 (ja) 2011-11-02

Family

ID=34954683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006062182A Active JP4808514B2 (ja) 2005-03-08 2006-03-08 大域的非同期ネットワークオンチップシステムにおける通信ノードアーキテクチャ

Country Status (6)

Country Link
US (1) US7940666B2 (ja)
EP (1) EP1701274B8 (ja)
JP (1) JP4808514B2 (ja)
AT (1) ATE386300T1 (ja)
DE (1) DE602006000516T2 (ja)
FR (1) FR2883117B1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008018004A2 (en) * 2006-08-08 2008-02-14 Koninklijke Philips Electronics N.V. Electronic device and method for synchronizing a communication
US20090067343A1 (en) * 2007-06-04 2009-03-12 David Fritz Method for the synthesis of optimal asynchronous on-chip communication networks from system-level constraints
WO2008149784A1 (ja) 2007-06-08 2008-12-11 Nec Corporation 半導体集積回路及びフィルタ制御方法
JP5287718B2 (ja) 2007-06-08 2013-09-11 日本電気株式会社 半導体集積回路及びフィルタ制御方法
US7783823B2 (en) * 2007-07-31 2010-08-24 Hewlett-Packard Development Company, L.P. Hardware device data buffer
EP2026493A1 (en) * 2007-08-16 2009-02-18 STMicroelectronics S.r.l. Method and systems for mesochronous communications in multiple clock domains and corresponding computer program product
US8261025B2 (en) 2007-11-12 2012-09-04 International Business Machines Corporation Software pipelining on a network on chip
US8526422B2 (en) 2007-11-27 2013-09-03 International Business Machines Corporation Network on chip with partitions
FR2925187B1 (fr) * 2007-12-14 2011-04-08 Commissariat Energie Atomique Systeme comportant une pluralite d'unites de traitement permettant d'executer des taches en parallele,en mixant le mode d'execution de type controle et le mode d'execution de type flot de donnees
US8473667B2 (en) * 2008-01-11 2013-06-25 International Business Machines Corporation Network on chip that maintains cache coherency with invalidation messages
US8490110B2 (en) 2008-02-15 2013-07-16 International Business Machines Corporation Network on chip with a low latency, high bandwidth application messaging interconnect
US8638665B2 (en) 2008-04-30 2014-01-28 Nec Corporation Router, information processing device having said router, and packet routing method
US8423715B2 (en) 2008-05-01 2013-04-16 International Business Machines Corporation Memory management among levels of cache in a memory hierarchy
US8392664B2 (en) 2008-05-09 2013-03-05 International Business Machines Corporation Network on chip
US8214845B2 (en) * 2008-05-09 2012-07-03 International Business Machines Corporation Context switching in a network on chip by thread saving and restoring pointers to memory arrays containing valid message data
US8494833B2 (en) 2008-05-09 2013-07-23 International Business Machines Corporation Emulating a computer run time environment
US8040799B2 (en) * 2008-05-15 2011-10-18 International Business Machines Corporation Network on chip with minimum guaranteed bandwidth for virtual communications channels
US8230179B2 (en) * 2008-05-15 2012-07-24 International Business Machines Corporation Administering non-cacheable memory load instructions
US8438578B2 (en) 2008-06-09 2013-05-07 International Business Machines Corporation Network on chip with an I/O accelerator
US8131975B1 (en) 2008-07-07 2012-03-06 Ovics Matrix processor initialization systems and methods
US8145880B1 (en) 2008-07-07 2012-03-27 Ovics Matrix processor data switch routing systems and methods
US8327114B1 (en) * 2008-07-07 2012-12-04 Ovics Matrix processor proxy systems and methods
US7958341B1 (en) 2008-07-07 2011-06-07 Ovics Processing stream instruction in IC of mesh connected matrix of processors containing pipeline coupled switch transferring messages over consecutive cycles from one link to another link or memory
US8195884B2 (en) 2008-09-18 2012-06-05 International Business Machines Corporation Network on chip with caching restrictions for pages of computer memory
DE102008049620A1 (de) * 2008-09-30 2010-04-01 Bayerische Motoren Werke Aktiengesellschaft Kommunikationssystem
US8108908B2 (en) 2008-10-22 2012-01-31 International Business Machines Corporation Security methodology to prevent user from compromising throughput in a highly threaded network on a chip processor
JP5307525B2 (ja) * 2008-12-03 2013-10-02 キヤノン株式会社 データ処理装置及びその制御方法
US8509078B2 (en) * 2009-02-12 2013-08-13 Microsoft Corporation Bufferless routing in on-chip interconnection networks
DE102009002007B3 (de) * 2009-03-31 2010-07-01 Robert Bosch Gmbh Netzwerkcontroller in einem Netzwerk, Netzwerk und Routingverfahren für Nachrichten in einem Netzwerk
FR2948840B1 (fr) 2009-07-29 2011-09-16 Kalray Reseau de communication sur puce avec garantie de service
FR2949879B1 (fr) 2009-09-04 2014-07-18 Kalray Noeuds d'entree/sortie d'un reseau sur puce torique.
FR2951868B1 (fr) 2009-10-28 2012-04-06 Kalray Briques de construction d'un reseau sur puce
FR2957176B1 (fr) * 2010-03-02 2012-04-06 Commissariat Energie Atomique Puce electronique et circuit integre comportant une telle puce electronique
EP2613479B1 (en) 2010-09-03 2015-09-30 Panasonic Intellectual Property Management Co., Ltd. Relay device
JP2012146201A (ja) * 2011-01-13 2012-08-02 Toshiba Corp オンチップルータ及びそれを用いたマルチコアシステム
JP2012186539A (ja) * 2011-03-03 2012-09-27 Renesas Electronics Corp ルータ装置、ルータ装置の制御方法
WO2012125718A1 (en) * 2011-03-16 2012-09-20 The Trustees Of Columbia University In The City Of New York Bi-modal arbitration nodes for a low-latency adaptive asynchronous interconnection network and methods for using the same
CN102158403B (zh) * 2011-03-24 2014-03-05 山东大学 一种适用于片上网络的高效数据流传输通信系统及其工作方法
JP5603481B2 (ja) * 2011-07-22 2014-10-08 パナソニック株式会社 中継装置
JP2013196167A (ja) 2012-03-16 2013-09-30 Toshiba Corp 情報処理装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812534A (en) * 1993-01-08 1998-09-22 Multi-Tech Systems, Inc. Voice over data conferencing for a computer-based personal communications system
NZ510022A (en) * 1998-08-20 2002-08-28 Qualcomm Inc System and method for priority access channel assignment in a cellular telephone system
US6859454B1 (en) * 1999-06-30 2005-02-22 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double data rate switching
DE60128413T2 (de) * 2000-03-02 2008-01-17 Alcatel Lucent Gekennzeichneter Prioritätswarteschlangescheduler
US6917589B2 (en) * 2001-01-25 2005-07-12 Agere Systems Inc. Automatic quality of service assignment in ethernet switches
US7283557B2 (en) 2002-01-25 2007-10-16 Fulcrum Microsystems, Inc. Asynchronous crossbar with deterministic or arbitrated control
ATE306163T1 (de) * 2002-04-16 2005-10-15 Bosch Gmbh Robert Verfahren zur überwachung einer zugriffsablaufsteuerung für ein kommunikationsmedium einer kommunikationssteuerung eines kommunikationssystems
US7277449B2 (en) * 2002-07-29 2007-10-02 Freescale Semiconductor, Inc. On chip network
US20040090964A1 (en) * 2002-11-07 2004-05-13 Coke Reed Means and apparatus for a scaleable congestion free switching system with intelligent control II
DE10252536A1 (de) * 2002-11-08 2004-05-27 Philips Intellectual Property & Standards Gmbh Verfahren und Vorrichtung zur Übertragung von Datenpaketen
JP2007535064A (ja) * 2004-04-28 2007-11-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 非同期/同期インタフェースを備える回路
US20080144493A1 (en) * 2004-06-30 2008-06-19 Chi-Hsiang Yeh Method of interference management for interference/collision prevention/avoidance and spatial reuse enhancement
WO2006018751A1 (en) * 2004-08-12 2006-02-23 Koninklijke Philips Electronics N.V. A method for allocating data to at least one packet in an integrated circuit
US20060190852A1 (en) * 2005-01-12 2006-08-24 Sotiriou Christos P Asynchronous, multi-rail, asymmetric-phase, static digital logic with completion detection and method for designing the same
US7535907B2 (en) * 2005-04-08 2009-05-19 Oavium Networks, Inc. TCP engine

Also Published As

Publication number Publication date
DE602006000516D1 (de) 2008-03-27
DE602006000516T2 (de) 2009-04-02
FR2883117B1 (fr) 2007-04-27
US20060203825A1 (en) 2006-09-14
EP1701274A1 (fr) 2006-09-13
US7940666B2 (en) 2011-05-10
FR2883117A1 (fr) 2006-09-15
ATE386300T1 (de) 2008-03-15
JP2006254450A (ja) 2006-09-21
EP1701274B8 (fr) 2008-07-16
EP1701274B1 (fr) 2008-02-13

Similar Documents

Publication Publication Date Title
JP4808514B2 (ja) 大域的非同期ネットワークオンチップシステムにおける通信ノードアーキテクチャ
JP4808513B2 (ja) システムオンチップの大域的非同期通信アーキテクチャ
EP3776231B1 (en) Procedures for implementing source based routing within an interconnect fabric on a system on chip
US7493426B2 (en) Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control
US7924708B2 (en) Method and apparatus for flow control initialization
US7643477B2 (en) Buffering data packets according to multiple flow control schemes
US7136954B2 (en) Data communication method and apparatus utilizing credit-based data transfer protocol and credit loss detection mechanism
JP5895202B2 (ja) 中継器、中継器の制御方法、およびコンピュータプログラム
US7165131B2 (en) Separating transactions into different virtual channels
US7249207B2 (en) Internal data bus interconnection mechanism utilizing central interconnection module converting data in different alignment domains
JP2006502642A (ja) トランザクションを確立するための集積回路および方法
US7773618B2 (en) System and method for preventing deadlock in richly-connected multi-processor computer system using dynamic assignment of virtual channels
WO2008057830A2 (en) Using a pool of buffers for dynamic association with a virtual channel
JP2006087093A (ja) 出力バッファを使用するパケット伝送
US20060174050A1 (en) Internal data bus interconnection mechanism utilizing shared buffers supporting communication among multiple functional components of an integrated circuit chip
US7218638B2 (en) Switch operation scheduling mechanism with concurrent connection and queue scheduling
JP5246158B2 (ja) 半導体集積回路及びフィルタ制御方法
US7272151B2 (en) Centralized switching fabric scheduler supporting simultaneous updates
US7773617B2 (en) System and method for arbitration for virtual channels to prevent livelock in a richly-connected multi-processor computer system
KR100798302B1 (ko) 버스 및 네트워크의 복합 통신 수단을 갖는 시스템 온칩
CN115643205A (zh) 数据生产和消费主体的通信控制单元、及相关装置和方法
Merchant A programmable network interface unit for hybrid meshnet local area networks
Liu et al. Cluster-Based CAN with Enhanced Transmission Capability for Vehicle Networks
WO2008057821A2 (en) System and method for preventing deadlock in richly-connected multi-processor computer system
Gaizauskas et al. Formation of multiple filaments in transparent solids

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101213

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110114

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110214

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110314

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110817

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

Free format text: PAYMENT UNTIL: 20140826

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4808514

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250