JP3767508B2 - Data transfer method and node device - Google Patents

Data transfer method and node device Download PDF

Info

Publication number
JP3767508B2
JP3767508B2 JP2002114345A JP2002114345A JP3767508B2 JP 3767508 B2 JP3767508 B2 JP 3767508B2 JP 2002114345 A JP2002114345 A JP 2002114345A JP 2002114345 A JP2002114345 A JP 2002114345A JP 3767508 B2 JP3767508 B2 JP 3767508B2
Authority
JP
Japan
Prior art keywords
data
transmission
block
unit
serial
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.)
Expired - Fee Related
Application number
JP2002114345A
Other languages
Japanese (ja)
Other versions
JP2003309593A (en
Inventor
克彦 岡田
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2002114345A priority Critical patent/JP3767508B2/en
Publication of JP2003309593A publication Critical patent/JP2003309593A/en
Application granted granted Critical
Publication of JP3767508B2 publication Critical patent/JP3767508B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はノード部間でデータを転送する方式に関し、特に共用のスイッチを介して複数のノード部間でデータを転送する方式に関する。
【0002】
【従来の技術】
この種のデータ転送方式は、例えば、各々が少なくとも1つの演算装置とメモリとを備える処理装置をスイッチ経由で複数台接続したクラスタ型計算機システムにおいて、処理装置のメモリ内に存在する大量のデータを他の処理装置のメモリへ転送して書き込むために用いられる。
【0003】
図8は従来のこの種のデータ転送方式の構成例を示すブロック図である。図8において、送信ノード部201〜203はそれぞれ送信側の処理装置、受信ノード部205は受信側の処理装置であり、スイッチ部204は両者の間を接続するスイッチである。各送信ノード部201〜203では、演算装置210から受信ノード部205へのデータ転送リクエストが発行されると、データ送信機構212がメモリ211から一連のデータを読み出し、1以上のデータの集まりであるブロック単位でシリアル番号を付与してスイッチ部204に1ブロックずつ順番に送信する。図8中、データ送信機構212からスイッチ部204に向う太線の矢印がブロックを示し、細線の矢印はコントロール信号を示す。
【0004】
スイッチ部204は、送信ノード部201〜203から送信されたブロックをデータ受信機構221〜223で受信してデータ格納バッファ224〜226に一時的に保存する。そして、受信ノード部205への1ブロックの転送毎に競合調停機構227で何れのデータ格納バッファ224〜226のデータを転送するかについての競合調停を行い、その競合調停結果に応じてセレクト回路228が該当するデータ格納バッファ224〜226から出力されているブロックを選択し、データ送信機構229を通じて受信ノード部205へ送信する。受信ノード部205では、これをデータ受信機構231で受信し、メモリ232に書き込む。
【0005】
この図8に示されるようにスイッチ部にデータ格納バッファを持たせるようにするデータ転送方式は、特開平10−327183号公報に記載されている。
【0006】
他方、スイッチ部にデータ格納バッファを持たない図9に示されるようなデータ転送方式も考えられている。図9において、送信ノード部301〜303はそれぞれ送信側の処理装置、受信ノード部305は受信側の処理装置であり、スイッチ部304は両者の間を接続するスイッチであるが、図8と異なりデータ格納バッファは存在しない。各送信ノード部301〜303では、演算機構310から受信ノード部305へのデータ転送リクエストが発行されると、データ送信機構312がリクエスト要求部313を通じてスイッチ部304に対してパス獲得要求を送出する。
【0007】
スイッチ部304では、パス獲得/解放の要求の調停機構324が送信ノード部301〜303からのパス獲得要求の競合を調停し、何れか1つの送信ノード部だけに受信ノード部305へのデータ転送経路であるパスの使用権を付与し、セレクト回路326、328を切り替える。パスの使用権を得た送信ノード部が送信ノード部301とすると、そのデータ送信機構312は、メモリ311から一連のデータを読み出し、1以上のデータの集まりであるブロック単位でスイッチ部304に1ブロックずつ順番に送信する。なお、データ送信機構312からスイッチ部304に向う太線の矢印はブロック、細線の矢印はコントロール信号をそれぞれ示す。
【0008】
送信ノード部301から送信されたブロック及びコントロール信号は、スイッチ部304のデータ受信機構321で受信され、セレクト回路326、328で選択され、データ送信機構327から受信ノード部305へ送信される。受信ノード部305では、これをデータ受信機構331で受信し、メモリ332に書き込む。
【0009】
送信ノード部301は、一連のデータの送信を完了すると、リクエスト要求部313を通じてスイッチ部304に対してパス解放要求を送出する。これに応じて調停機構324は、パスを解放し、他の送信ノード部302、303がパスを獲得してデータ送信できるようにする。
【0010】
図9に示されるデータ転送方式とはスイッチ部にバッファを持たない点で同じであるが、パス獲得/解放の制御は行わないデータ転送方式が特開平2000−183965号公報に記載されている。同公報では、待ち合わせバッファを持たない複数の単位スイッチから構成されるパケットスイッチにおいて、単位スイッチで複数のパケットが衝突したときに唯一のパケットだけを転送し、残りのパケットは直ちに廃棄する。そして、パケットが廃棄された場合、その送信元である転送部は廃棄されたパケットが無事に転送されるまで何度も再送する。
【0011】
【発明が解決しようとする課題】
処理装置をスイッチ経由で接続するクラスタ型計算機システムは年々大型化しており、処理装置の台数が大幅に増加している。このため、送信側の処理装置毎にデータ格納用バッファを必要とする図8の構成では、スイッチ部のハードウェア量が膨大になるという問題が発生する。他方、図9の構成では、スイッチ部にデータ格納用バッファを必要としないためハードウェア量の削減は可能であるが、予めパスを獲得するための要求の処理、転送終了時にパスを解放するための処理が必要であり、データ転送におけるレイテンシが増加するという課題がある。
【0012】
また、パスの獲得、解放の処理を省き、特開平2000−183965号公報に記載されているように、スイッチ部で複数のデータが衝突したら唯一のデータを転送し、残りは廃棄して送信元が再送する構成では、再送信によりデータの送信順序が変わってしまうため、受信先へのデータの到着順序を保証できないという課題がある。具体的には、送信側の処理装置からデータA、B、Cの順番でデータを送ったとき、若し、データBが廃棄され、データCの送信後に再送されたとすると、受信側の処理装置におけるデータの到着順序はA、C、Bとなる。パケット交換網におけるパケットのように受信側でパケットの組立てを行うようなシステムでは問題はないが、クラスタ型計算機システムにおける処理装置間のデータ転送のように、書き込みアドレスが重なるデータを含む一連のデータを転送する場合には、受信先のメモリの内容が再送信の有無によって異なってしまい、問題である。例えば前記の例においてデータBとデータCの書き込みアドレスが同じXとすると、再送がない場合、アドレスXの値はCであるが、再送が行われるとBとなる。
【0013】
本発明はこのような事情に鑑みて提案されたものであり、その目的は、スイッチ部にデータ格納バッファを必要とせず、且つパス獲得/解放処理によるオーバヘッドがなく、然も受信側ノード部へのデータの到着順序を保証することができるデータ転送方式を提供することにある。
【0014】
【課題を解決するための手段】
本発明の第1のデータ転送方式は、複数のノード部と、送信側ノード部から送信されたデータを受信して受信側ノード部へ転送するスイッチ部とを備え、前記送信側ノード部は、受信側ノード部へ転送する一連のデータを1以上のデータの集まりであるブロック単位に分割して前記スイッチ部へ送信するデータ送信手段と、送信したブロックに対して前記スイッチ部からデータ消滅通知が返却された場合に当該データの再送信を前記データ送信手段に指示する再送信制御手段と、前記データ送信手段からの再送信以外のブロックの送信を指示する手段であって、ブロックに含まれるデータの書き込みアドレスが転送する一連のデータ間で重複するか否かに基づいて順序保証が必要なブロックか否かを判定し、順序保証が必要なブロックの送信はそれ以前の送信ブロックについてデータ送出完了通知が前記スイッチ部から返却されるまで停止させる送信制御手段とを備え、前記スイッチ部は、送信側ノード部から送信されたブロックを受信するデータ受信手段と、複数の送信側ノード部から受信したブロックの競合を調停する競合調停手段と、競合調停の結果に応じて受信ブロックを選択する選択手段と、選択された受信ブロックを受信側ノード部に転送するデータ送信手段と、選択された受信ブロックの送信元の送信側ノード部に対してはデータ送出完了通知を返却し、選択されなかった受信ブロックの送信元の送信側ノード部に対してはデータ消滅通知を返却する競合調停結果返却手段とを備えている。
【0016】
また、本発明の第2のデータ転送方式は、複数のノード部と、送信側ノード部から送信されたデータを受信して受信側ノード部へ転送するスイッチ部とを備え、前記送信側ノード部は、受信側ノード部へ転送する一連のデータを1以上のデータの集まりであるブロック単位に分割しシリアル ID を付与して前記スイッチ部へ送信するデータ送信手段と、送信したブロックに対して前記スイッチ部からデータ消滅通知が返却された場合に当該データの再送信を前記データ送信手段に指示する再送信制御手段と、前記データ送信手段からの再送信以外のブロックの送信を指示する手段であって、順序保証が必要なブロックの送信はそれ以前の送信ブロックについてデータ送出完了通知が前記スイッチ部から返却されるまで停止させる送信制御手段とを備え、前記スイッチ部は、送信側ノード部から送信されたブロックを受信するデータ受信手段と、複数の送信側ノード部から受信したブロックの競合を調停する競合調停手段と、競合調停の結果に応じて受信ブロックを選択する選択手段と、選択された受信ブロックを受信側ノード部に転送するデータ送信手段と、選択された受信ブロックの送信元の送信側ノード部に対してはデータ送出完了通知を返却し、選択されなかった受信ブロックの送信元の送信側ノード部に対してはデータ消滅通知を返却する競合調停結果返却手段とを備え、且つ、前記送信制御手段は、前記スイッチ部からデータ送出完了通知が返却されていないブロックのうちの最小のシリアル ID を保持する第1の手段と、前記スイッチ部からデータ送信完了通知が返却されていないブロックであって順序保証が必要なブロックのうちの最小のシリアル ID を保持する第2の手段と、前記データ送信手段に対して次回送出予定の送出指示で指定するシリアル ID が前記第2の手段に保持されたシリアル ID と一致し且つ前記第1の手段が保持するシリアル ID が前記第2の手段が保持するシリアル ID より小さい場合に、前記第1の手段が保持するシリアル ID が前記第2の手段が保持するシリアル ID と一致するまで前記データ送信手段に対する送出指示の送出を停止する第4の手段とを含んでいる。
【0017】
本発明の第1のノード装置は、スイッチ部を通じて受信側ノード部にデータを送信するノード装置であって、受信側ノード部へ転送する一連のデータを1以上のデータの集まりであるブロック単位に分割して前記スイッチ部へ送信するデータ送信手段と、送信したブロックに対して前記スイッチ部からデータ消滅通知が返却された場合に当該データの再送信を前記データ送信手段に指示する再送信制御手段と、前記データ送信手段からの再送信以外のブロックの送信を指示する手段であって、ブロックに含まれるデータの書き込みアドレスが転送する一連のデータ間で重複するか否かに基づいて順序保証が必要なブロックか否かを判定し、順序保証が必要なブロックの送信はそれ以前の送信ブロックについてデータ送出完了通知が前記スイッチ部から返却されるまで停止させる送信制御手段とを備える。
【0018】
また本発明の第2のノード装置は、スイッチ部を通じて受信側ノード部にデータを送信するノード装置であって、受信側ノード部へ転送する一連のデータを1以上のデータの集まりであるブロック単位に分割しシリアル ID を付与して前記スイッチ部へ送信するデータ送信手段と、送信したブロックに対して前記スイッチ部からデータ消滅通知が返却された場合に当該データの再送信を前記データ送信手段に指示する再送信制御手段と、前記データ送信手段からの再送信以外のブロックの送信を指示する手段であって、順序保証が必要なブロックの送信はそれ以前の送信ブロックについてデータ送出完了通知が前記スイッチ部から返却されるまで停止させる送信制御手段とを備え、且つ、前記送信制御手段は、前記スイッチ部からデータ送出完了通知が返却されていないブロックのうちの最小のシリアル ID を保持する第1の手段と、前記スイッチ部からデータ送信完了通知が返却されていないブロックであって順序保証が必要なブロックのうちの最小のシリアル ID を保持する第2の手段と、前記データ送信手段に対して次回送出予定の送出指示で指定するシリアル ID が前記第2の手段に保持されたシリアル ID と一致し且つ前記第1の手段が保持するシリアル ID が前記第2の手段が保持するシリアル ID より小さい場合に、前記第1の手段が保持するシリアル ID が前記第2の手段が保持するシリアル ID と一致するまで前記データ送信手段に対する送出指示の送出を停止する第4の手段とを含んでいる。
【0019】
【作用】
本発明にあっては、送信側ノード部から受信側ノード部へ転送する一連のデータは1以上のデータの集まりであるブロック単位に分割されてスイッチ部に送信される。このとき、スイッチ部にはデータ格納用バッファが存在しないため、複数の送信側ノードからのブロックが競合すると、唯一のブロックのみが受信側ノード部へ転送され、残りはスイッチ部内で消滅する。この消滅したブロックの送信元にはスイッチ部からその旨通知され、再び同じブロックの再送が行われる。また送信側ノード部において、順序保証が必要なブロックの新規の送信は、それ以前の送信ブロックについてデータ送出完了通知がスイッチ部から返却された後に行われるため、ブロックの再送によりデータの送信順序が変わっても受信ノード部へのブロックの到達順序を保証することができる。
【0020】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0021】
図1を参照すると、本発明の一実施の形態のクライアント型計算機システムは、3つの送信ノード部1〜3と、1つの受信ノード部5と、送信ノード部1〜3及び受信ノード部の間に設けられたスイッチ部4とを有する。
【0022】
送信ノード部1〜3は全て同じ構成であり、図1では送信ノード部1内にのみ主要な構成要素を図示してあり、演算機構10およびメモリ(主記憶)14といった通常の計算機に備わる構成要素に加えて、データ送信機構11と、このデータ送信機構11からのブロックの再送を制御する再送信制御機構12と、データ送信機構11からの再送信以外のブロックの送信を制御する送信制御機構13とを含んで構成されている。また、スイッチ部4は、各送信ノード部1〜3に1対1に対応するデータ受信機構41〜43および競合調停結果返却機構47〜49と、競合調停機構44と、セレクト回路45と、受信ノード部5にデータを送信するデータ送信機構46とを含んで構成されている。さらに受信ノード部5は、スイッチ部4からのデータを受信するデータ受信機構52と、受信したデータが書き込まれるメモリ54とを備える。
【0023】
各送信ノード部1〜3におけるデータ送信機構11は、演算機構10からデータ転送リクエストの通知を受けたときに、メモリ14に記憶されている一連のデータを1以上のデータの集まりであるブロック単位に分割して、内蔵のバッファに蓄積しつつ、送信制御機構13からの送出指示に従って1ブロックずつスイッチ部4へ送信する機構である。各ブロックにはシリアルIDを付与して他のブロックと区別する。付与したシリアルIDは、シリアルID順の送信を管理するために送信制御機構13へ通知する。この際、順序保証が必要なブロックに付与したシリアルIDの通知時には順序保証が必要である旨をあわせて通知する。データ送信機構11は、通常は、送信制御機構13からの送出指示で指定されたシリアルIDを内蔵のバッファから読み出して送信する処理を行うが、再送信制御機構12からシリアルIDを指定した再送信指示を受けると、指定されたブロックを優先的に再送する処理を行う。なお、図1において、データ送信機構11からスイッチ部4に向う太線の矢印は送信ブロックを示し、細線はコントロール信号を示す。コントロール信号は、データの有効/無効を示す有効ビットを含む。また、送信ブロックは、当該ブロックを構成する1以上のデータを含み、更に本実施の形態では、当該ブロックに付与されたシリアルIDと当該ブロックを構成するデータ毎の書き込みアドレスとが含まれている。
【0024】
各送信ノード部1〜3における再送信制御機構12は、データ送信機構11から送信されたブロックに対してスイッチ部4の競合調停結果返却機構47〜49からデータ消滅通知(NACK情報とも言う)が返却された場合、その通知で指定されたシリアルIDのブロックの再送信をデータ送信機構11に指示する機構である。
【0025】
各送信ノード部1〜3における送信制御機構13は、データ送信機構11からブロックのシリアルID、当該シリアルIDのブロックについて順序保証が必要か否かの情報などを入力し、またスイッチ部4の競合調停結果返却機構47〜49からのデータ送出完了通知(ACK情報とも言う)を入力し、順序保証が満たされるようにデータ送信機構11からのブロックの送信を制御する機構である。具体的には、シリアルIDの若い順にシリアルIDを1つ指定した送出指示をデータ送信機構11に順番に送出していくが、次回の送出指示で指定するシリアルIDが順序保証の必要なブロックのシリアルIDであって、そのシリアルIDより若いシリアルIDの送信ブロックについてデータ送出完了通知(ACK情報)がスイッチ部4から返却されていない場合には当該次回の送出指示を保留することで、データ送信機構11の送信動作を一時停止させ、順序保証が必要な前記ブロック以前の送信ブロックについてデータ送出完了通知(ACK情報)がスイッチ部4から返却されたならば、当該ブロックについての送出指示を出すことによりデータ送信機構11からの新規ブロックの送信動作を再開させる。
【0026】
他方、スイッチ部4におけるデータ受信機構41〜43は、送信ノード部1〜3から送信されたブロックおよびコントロール信号を受信する機構である。受信したコントロール信号は競合調停機構44に、受信したブロックはセレクト回路45に、受信したブロック中のシリアルIDは競合調停結果返却機構47に、それぞれ出力される。
【0027】
競合調停機構44は、複数の送信ノード部1〜3から受信ノード部5へのブロックが同時に送信された場合にそれらの競合を調停し、何れか1つのブロックだけを有効とし、残りのブロックは無効とする機構である。有効として選択したブロックについては、そのブロックを選択するようにセレクト回路45に指示を出し、対応するコントロール信号をデータ送信機構46に出力する。また、競合調停結果返却機構47〜49のうち、有効として選択したブロックの送信元の送信ノード部に対応する競合調停結果返却機構には有効である旨の競合調停結果を、無効としたブロックの送信元の送信ノード部に対応する競合調停結果返却機構には無効である旨の競合調停結果を、それぞれ通知する。
【0028】
セレクト回路45は、データ受信機構41〜43で受信されたブロックのうち、競合調停機構44から指定されたブロックを選択してデータ送信機構46に出力する回路である。
【0029】
データ送信機構46は、セレクト回路45から出力されたブロックと競合調停機構44から出力されたコントロール信号を受信ノード部5に送信する機構である。
【0030】
競合調停結果返却機構47〜49は、データ受信機構41〜43からブロックのシリアルIDを受け、競合調停機構44から競合調停結果を受け、対応する送信ノード部1〜3に、当該シリアルIDを指定したデータ送出完了通知(ACK情報)またはデータ消滅通知(NACK情報)を返却する機構である。
【0031】
受信ノード部5におけるデータ受信機構52は、スイッチ部4から送信されるブロックおよびコントロール信号を受信し、ブロック中の個々のデータをその書き込みアドレスが示すメモリ54のアドレスに書き込む機構である。
【0032】
次に本実施の形態の概略動作を説明する。
【0033】
送信ノード部1における演算機構10は、メモリ14に記憶された一連のデータを受信ノード部5に転送してそのメモリ54に書き込む場合、データ転送リクエストをデータ送信機構11に出力する。このデータ転送リクエストでは、メモリ14に記憶されている一連のデータの読み出しアドレス、メモリ54の書き込みアドレスを指定する必要がある。これらのアドレスの指定方法は任意であり、本発明は特定の指定方法に限定されるものではないが、ここではアドレスリストを用いる方法で説明する。
【0034】
アドレスリストは、図2に示すように、メモリ14の読み出しアドレスとそのアドレスから読み出したデータを書き込むメモリ54の書き込みアドレスとのペアを、メモリ54における書き込み順に並べたリストであり、演算機構10が事前に生成してメモリ14に記憶しておき、データ転送リクエストで指定する。アドレスリスト中の書き込みアドレスが全て異なる場合には順序保証は必要でないが、一部のアドレスが重複する場合に順序保証が必要となる。例えば図2の例では、2行目と5行目の書き込みアドレスが同じW2になっているため、アドレスR2から読み出したデータをアドレスW2に書き込んでから、アドレスR5で読み出したデータをアドレスW2に書き込む必要があり、その逆になると結果が異なってしまう。
【0035】
データ送信機構11は、データ転送リクエストで指定されたアドレスリストを参照して、一連のデータをメモリ14から読み出し、予め定められた1以上のデータの集まりの単位であるブロックに分割し、先頭のブロックから順番に例えば00から始まるシリアルIDを付与していく。例えば1ブロックを2つのデータで構成するとすれば、図2の場合、アドレスR1、R2から読み出した2つのデータを最初のブロックにして00のシリアルIDを付与し、アドレスR3、R4から読み出した2つのデータを2番目のブロックにして01のシリアルIDを付与し、アドレスR5、R6から読み出した2つのデータを3番目のブロックにして02のシリアルIDを付与し、以下、同様に2データずつで1ブロックとしていく。そして、ブロックを内部のバッファに蓄積していくと共に、付与したシリアルIDを送信制御機構13に通知する。更に書き込みアドレスをその先頭から順番に検査して、同じアドレスが現れた場合にそのアドレスに書き込まれるデータが含まれるブロックのシリアルIDを送信制御機構13に通知する際に、順序保証が必要である旨をあわせて通知する。例えば、図2の場合、アドレスR5から読み出したデータの順序保証が必要なので、そのデータが含まれる3番目のブロックに付与した02のシリアルIDを通知する際に順序保証要を通知する。
【0036】
そしてデータ送信機構11は、送信制御機構13から送出指示が出される毎に、その送出指示で指定されたシリアルIDのブロックを内部のバッファから読み出してスイッチ部4へ送信する動作を繰り返す。各ブロックの送信時にはコントロール信号を有効にしてブロックの送信を行ったことをスイッチ部4に通知する。ここで、送信制御機構13は、00から順にシリアルIDを指定した送出指示をデータ送信機構11に送出する。但し、次回の送出指示で指定するシリアルIDが順序保証の必要なブロックのシリアルIDであって、そのシリアルIDより若いシリアルIDの送信ブロックについてデータ送出完了通知(ACK情報)がスイッチ部4から返却されていない場合には次回の送出指示を保留することで、データ送信機構11の送信動作を一時停止させる。また、データ送信機構11は、再送信制御機構12から再送信指示が出た場合には、再送信指示で指定されたシリアルIDのブロックを内部のバッファから読み出してスイッチ部4へ送信する。送信制御機構13からの送出指示と、再送信制御機構12からの再送信指示とが同時に出た場合には、再送信指示を優先させる。
【0037】
他の送信ノード部2、3においても受信ノード部5に対するデータ転送が必要になると、送信ノード部1と同様の動作が行われる。
【0038】
各送信ノード部1〜3のデータ送信機構11からシリアルIDを付けられて送信されたブロックは、スイッチ部4のデータ受信機構41〜43で受信され、競合調停機構44で競合調停される。その調停結果により、送信ノード1〜3から来た3つのブロックのうち、1つのブロックだけがセレクト回路45で選択され、受信ノード部5に対してデータ送信機構46により送られる。残りの2つのブロックは、スイッチ部4にバッファが無いために消滅する。受信ノード部5では、スイッチ部4から転送されたブロックをデータ受信機構52が受信し、そのブロック内の各データを各書き込みアドレスが示すメモリ54のアドレスに書き込む。
【0039】
送信ノード部1に対応する競合調停結果返却機構47は、競合調停機構44からブロックが無効になった旨の競合調停結果を受信すると、データ受信機構41から通知された当該ブロックのシリアルIDを指定したデータ消滅通知(NACK情報)を送信ノード部1に通知する。反対に、競合調停機構44からブロックが有効になった旨の競合調停結果を受信すると、データ受信機構41から通知された当該ブロックのシリアルIDを指定したデータ送出完了通知(ACK情報)を送信ノード部1に通知する。送信ノード部2に対応する競合調停結果返却機構48および送信ノード部3に対応する競合調停結果返却機構49も、競合調停結果返却機構47と同様の動作を行う。
【0040】
競合調停結果返却機構47からの情報を受けた送信ノード部1では、その情報がNACK情報であれば、再送信制御機構12からデータ送信機構11に対して、NACK情報で指定されたシリアルIDのブロックの再送信指示が出される。データ送信機構11は、再送信指示が出たブロックを内部のバッファから読み出し、再度、スイッチ部4へ送信する。そして、データ送信機構11は、送信制御機構13の送出指示を受けながら新たな転送ブロックを送信する動作を継続する。
【0041】
他方、競合調停結果返却機構47からACK情報を受けた場合、送信ノード部1の送信制御機構13は、このACK情報で指定されたシリアルIDのブロックをデータ送信完了として処理する。そして、もし、次回送出しようとしていた送出指示で指定するシリアルIDのブロックが順序保証の必要なブロックであって、それ以前に送信されたブロックについてACK情報が返って来なかった原因が、今回ACK情報で受信したブロックであった場合には、データ送信機構11に対して送出指示を出す動作を再開し、データ送信機構11に順序保証の必要なブロックの送信を行わせる。
【0042】
送信ノード部2、3における再送信制御機構12および送信制御機構13も、送信機構1の再送信制御機構12および送信制御機構13と同様の動作を行う。
【0043】
こうして、本実施の形態は、スイッチ部4にデータ格納バッファを必要とせず、且つパス獲得/解放処理によるオーバヘッドがなく、然も受信側ノード部5へのデータの到着順序を保証することができる。
【0044】
次に図3を参照して、図1の送信ノード部1におけるデータ送信機構11、再送信制御機構12および送信制御機構13の構成例について説明する。
【0045】
先ず、データ送信機構11は、リクエスト受付回路111、転送データ分解回路112、データ格納バッファ113、送出制御回路114およびセレクタ115を含んで構成される。
【0046】
リクエスト受付回路111は、演算機構10よりデータ転送のリクエストを受け付け、内部に一時的に保持する機能を有する。1つのリクエストは1命令である。
【0047】
転送データ分解回路112は、リクエスト受付回路111で受け付けられたリクエストを1つずつ取り出し、そのリクエストで転送が要求されている一連のデータをメモリ14に格納されているアドレスリストを参照してブロック単位に分割し、分割した転送ブロック毎にメモリ14に読み出し指示を行う。このときブロックにシリアルIDを付与し、付与したシリアルIDを送信制御機構13およびデータ格納バッファ113へ通知し、更にデータ格納バッファ113には当該ブロックを構成する各データの書き込みアドレスも通知する。また順序保証が必要なブロックをアドレスリスト中の書き込みアドレスの重なりに基づいて判定し、順序保証が必要なブロックに付与したシリアルIDの通知時には順序保証が必要である旨を送信制御機構13にあわせて通知する。なお、転送データ分解回路112は、送信制御機構13からHOLD要求が出ている間、新たなデータ読み出し指示の送出を中断する。
【0048】
データ格納バッファ113は、メモリ14から読み出されたデータをブロック単位で、転送データ分解回路112から通知されたシリアルID及び当該データの書き込みアドレスと共に格納する記憶部である。新たな1ブロックの全データを格納する毎に送信制御機構13にデータ読み出し完了通知を送出する機能と、送出制御回路114の制御の下にブロックをスイッチ部4に送り込む機能とを有する。
【0049】
送出制御回路114は、セレクタ115からシリアルIDを指定した送出指示または再送信指示が出されると、この指定されたシリアルIDを持つブロックのデータ格納バッファ113からスイッチ部4への転送を制御する部分である。
【0050】
セレクタ115は、送信制御機構13からのシリアルIDおよび出力Valid(有効)信号を含む送出指示と、再送信制御機構12からのシリアルIDおよび出力Valid信号を含む再送信指示とを入力し、その一方を選択して送出制御回路114へ出力する。送出指示と再送信指示とが同時に入力された場合、再送信指示を優先的に選択して出力する。
【0051】
次に、送信制御機構13は、個数カウンタ131、順序保証格納バッファ132、ACK未返却ID格納バッファ133、順序保証要MIN_IDポインタ134、未返却MIN_IDポインタ135、送出論理回路136、送出ID管理カウンタ137、ブロック数カウンタ138およびレジスタ139を含んで構成される。
【0052】
個数カウンタ131は、その初期値は0であり、転送データ分解回路112からメモリ14に対して読み出し指示を送出したブロックにかかるシリアルIDが通知された時にカウントアップし、スイッチ部4から再送信制御機構12経由でACK情報中のシリアルIDを受信したときにカウントダウンし、カウント値が予め定められた一定値を超えると、転送データ分解回路112にHOLD要求をあげる機能を持つ。ここで、前記一定値としては、データ格納バッファ113の容量に基づき事前に定められる。データ格納バッファ113のバッファ容量は有限で、かつACK情報が返却されるまで再送信に備えてブロックを保持しなければならないため、個数カウンタ131でデータ格納バッファ113の使用量を管理し、もしバッファがあふれる可能性がある場合には、HOLD要求をあげて、それ以上バッファにブロックが格納されないようにしている。
【0053】
順序保証格納バッファ132は、転送データ分解回路112から順序保証要として通知されたブロックのシリアルIDを格納するバッファであり、順序保証要MIN_IDポインタ134は、順序保証格納バッファ132に格納されている最小のシリアルIDを保持するポインタである。スイッチ部4から再送信制御機構12経由でACK情報中のシリアルIDを受信したとき、順序保証格納バッファ132は、もしそのシリアルIDを格納しているのであればそれを消去し、順序保証要MIN_IDポインタ134の内容を次に若いシリアルIDに更新する。次に若いシリアルIDが無ければ00に初期化する。
【0054】
ACK未返却ID格納バッファ133は、転送データ分解回路112から通知されたブロックのシリアルIDを格納するバッファであり、未返却MIN_IDポインタ135は、ACK未返却ID格納バッファ133に格納されている最小のシリアルIDを保持するポインタである。スイッチ部4から再送信制御機構12経由でACK情報中のシリアルIDを受信したとき、ACK未返却ID格納バッファ133はバッファ中からそのシリアルIDを消去し、もし未返却MIN_IDポインタ135が保持するシリアルIDが前記消去したシリアルIDであれば、新たに最小のシリアルIDをポインタ135に設定し、無ければ00に初期化する。
【0055】
ブロック数カウンタ138は、その初期値は0であり、データ格納バッファ113から1つのブロックの格納が完了した旨のデータ読み出し完了通知を受ける毎にカウントアップすることにより、データ格納バッファ113に一連のデータの転送開始から現在までに格納されたブロックの総数を管理する。
【0056】
送出ID管理カウンタ137は、その初期値は00のシリアルIDであり、送信制御機構13からデータ送信機構11に対して送出指示を出す毎にカウントアップされるカウンタである。つまり、送出ID管理カウンタ137は、データ格納バッファ113から次に送信するブロックのシリアルIDを示している。この送出ID管理カウンタ137が示すシリアルIDは、送出指示を出力するレジスタ139に入力されている。
【0057】
送出論理回路136は、データ送信機構11に対する送出指示の実行タイミングを制御する回路である。この送出論理回路136は、ブロック数カウンタ138の値によってデータ格納バッファ113に格納されたブロック総数を認識し、送出ID管理カウンタ137の値によって次回出される送出指示で指定するシリアルIDを認識する。もし、ブロック数カウンタ138の値が送出ID管理カウンタ137の値以上であれば、未送出のブロックがデータ格納バッファ113に存在するので、レジスタ139に対して出している出力Valid(有効)信号を有効とする。但し、送出ID管理カウンタ137の示すシリアルIDが順序保証要MIN_IDポインタ134の示す順序保証を必要とするシリアルIDと一致している場合、順序保証要MIN_IDポインタ134の示すシリアルIDより未返却MIN_IDポインタ135の示すシリアルIDの方が小さければ、まだACK返却されていないブロックが順序保障要とされるブロックの前にあるので、出力Valid信号を有効にせず無効にし、当該順序保証要以降のブロックの送信を一時的に停止する。一時的に停止する条件を式で示すと次のようになる。
未返却MIN_IDポインタ135 < 順序保障要MIN_IDポインタ134 ≦ 送出ID管理カウンタ137
【0058】
レジスタ139は、送出論理回路136から出力される出力Valid信号と送出ID管理カウンタ137から出力されるシリアルIDとを含む送出指示をデータ送信機構11のセレクタ115に出力する。
【0059】
次に再送信制御機構12は、スイッチ部4からのNACK/ACK情報を受け取る競合調停結果受け取りレジスタ121と、受け取った情報をデコードするデコーダ122とを含んで構成される。デコーダ122は、NACK情報か、ACK情報かの判別を行い、ACK情報ならばそれで指定されたシリアルIDを送信制御機構13の個数カウンタ131、順序保証格納バッファ132およびACK未返却ID格納バッファ133に供給する。反対にNACK情報であれば、それで指定されたシリアルIDと有効にした出力Valid信号とを含む再送信指示を生成してデータ送信機構11のセレクタ15に出力する。
【0060】
次に図4を参照して、図1の競合調停結果返却機構47〜49の構成例を説明する。
【0061】
競合調停結果返却機構47は、エンコーダ471と競合調停結果返却レジスタ472とで構成される。エンコーダ471は、送信ノード部1からのブロックが有効と調停されたか、無効と調停されたかの競合調停結果を競合調停機構44から受取り、また、データ受信機構41から当該ブロックのシリアルIDを受け取る。そして、もし無効と調停されたのであれば、シリアルIDを指定したデータ消滅通知(NACK情報)を生成し、もし有効と調停されたのであれば、シリアルIDを指定したデータ送出完了通知(ACK情報)を生成する。競合調停結果返却レジスタ472は、この生成されたNACK情報またはACK情報を送信ノード部1に送出する。
【0062】
競合調停結果返却機構48、49も、競合調停結果返却機構47のエンコーダ471および競合調停結果返却レジスタ472と同様の機能を持つエンコーダ481、491および競合調停結果返却レジスタ482、492で構成されている。
【0063】
図5および図6は本実施の形態の動作例を示すタイムチャートである。なお、図6は図5の続きの部分のタイムチャートであり、一部の区間は図5と重複している。以下、図5および図6を参照して、主に送信ノード部1とスイッチ部4に注目して本実施の形態の動作を説明する。なお、図5および図6には主要なタイミングの箇所に○付きの数字を付してあるが、明細書中では()付きの数字で引用する。
【0064】
まず、(1)のタイミングでリクエストが演算機構10から通知されると、リクエスト受付回路111を通過して転送データ分解回路112に通知される。(2)のタイミングで転送データ分解回路112において、リクエストの要求する一連の転送データが、シリアルID00〜07のブロックに分割され、順次にこのシリアルIDが送信制御機構13に通知されていく。シリアルIDが08以降の分割は個数カウンタ131が予め定められた「8」になったことからHOLD要求が(3)であがり、通知されなくなる。メモリ14にもデータ読み出しを通知していき、(4)のタイミングでメモリ14からデータ格納バッファ113に順次データが読み込まれる。シリアルID00〜07のブロックのうち順序保障が必要なブロックが例えばシリアルID04のブロックである場合、ブロックID04が順序保障要として順序保障格納バッファ132に格納される(タイミング(5))。シリアルID00、01、02、03のブロックを順に送出した後、スイッチ部4で各ブロックを受け取るが、シリアルID01のブロックの際に送信ノード2,3とブロックがぶつかり競合調停で負けると、競合調停結果返却機構47にてNACK情報を生成し、送信ノード部1に返却する(タイミング(6))。その他のシリアルID00、02、03のブロックについては送信ノード2,3とぶつからなかったので(または調合調停で勝ったので)、ACK情報を順次返却している。ACK情報でシリアルID00、02、03が返却されることから個数カウンタ131の数は8から減算し、HOLD要求が取り下げられるために転送データ分解回路112から新たなブロックの読み出しが再開される。
【0065】
再送信制御機構12では、タイミング(8)でシリアルID01を指定したNACK情報が返されてくると、デコーダ122が再送信指示を生成して、データ送信機構11のセレクタ115に出力し、セレクタ115がこの再送信指示を選択し、送出制御回路114によりシリアルID01のブロックの送信が再度行われる(タイミング(9))。
【0066】
送信制御機構13では、シリアルID01のブロックについてのACK情報が返ってくるタイミング(10)までは、ACK未返却ID格納バッファ133にシリアルID01が格納されたままである為、未返却MIN_IDポインタ135は01から更新されない。また、順序保障要MIN_IDポインタ134は、前述のブロックID04での順序保障要通知のために04となっている。従って、タイミング(6)以降はデータ格納バッファ113にはシリアルID04、05、06、07等のブロックが順次読み込まれていくが、未返却MIN_IDポインタ135 < 順序保障要MIN_IDポインタ134 ≦ 送出ID管理カウンタ137 が成り立っているため一時停止となり、後続のブロックID04以降のデータ送信はされず、順序が保障される。タイミング(10)でシリアルID01のブロックについてACK情報が返却されると、未返却MIN_IDポインタ135は04となり、上記条件が崩れるため送信を再開する。
【0067】
【発明の他の実施の形態】
図1の実施の形態では、複数の送信ノード部1〜3からは唯一の受信ノード部5に対してデータが送信されたが、複数の送信ノード部から複数の受信ノード部へ共用のスイッチを経由してデータを転送する方式に対しても本発明は適用可能である。この場合、スイッチ部には、受信ノード部の数に等しい数のセレクト回路45、データ送信機構46および競合調停機構44が設けられる。送信ノード部および受信ノード部がそれぞれ2つの場合を例に挙げてスイッチ部の構成例を図7に示す。
【0068】
図7において、送信ノード部1、2はスイッチ部4に対してブロックを転送する場合、コントロール信号で受信ノード部5-1、5-2の何れにデータを送信するかを指定する。デコーダ51、52はデータ受信機構41、42で受信されたコントロール信号をデコードし、宛先が受信ノード部5-1であればそのコントロール信号を競合調停機構44-1に伝達し、それ以外は伝達しない。デコーダ53、54はデータ受信機構41、42で受信されたコントロール信号をデコードし、宛先が受信ノード部5-2であればそのコントロール信号を競合調停機構44-2に伝達し、それ以外は伝達しない。
【0069】
競合調停機構44-1は、送信ノード1、2からのブロックが同じ受信ノード部5-1宛で競合する場合に競合調停を行い、何れか一方を有効、他方を無効とし、セレクト回路45-1に有効なブロック側を選択させると同時に、対応するコントロール信号をデータ送信機構46-1へ出力し、また競合調停結果返却機構47、48にそれぞれの競合調停結果を通知する。データ送信機構46-1はセレクト回路45-1から出力されたブロックおよび競合調停機構44-1から出力されたコントロール信号を受信ノード部5-1へ送信する。同様に、競合調停機構44-2は、送信ノード1、2からのブロックが同じ受信ノード部5-2宛で競合する場合に競合調停を行い、何れか一方を有効、他方を無効とし、セレクト回路45-2に有効なブロック側を選択させると同時に、対応するコントロール信号をデータ送信機構46-2へ出力し、また競合調停結果返却機構47、48にそれぞれの競合調停結果を通知する。データ送信機構46-2はセレクト回路45-2から出力されたブロックおよび競合調停機構44-2から出力されたコントロール信号を受信ノード部5-2へ送信する。
【0070】
競合調停結果返却機構47は、競合調停機構44-1または競合調停機構44-2からの競合調停結果とデータ受信機構41から通知されるシリアルIDとからNACK情報またはACK情報を生成して送信ノード部1へ通知する。同様に、競合調停結果返却機構48は、競合調停機構44-1または競合調停機構44-2からの競合調停結果とデータ受信機構42から通知されるシリアルIDとからNACK情報またはACK情報を生成して送信ノード部2へ通知する。
【0071】
【発明のその他の実施の形態】
以上本発明の実施の形態について説明したが、本発明は以上の実施の形態にのみ限定されず、その他各種の付加変更が可能である。例えば、送信側のノード部の数は2つ又は3つに限定されず、2以上の値のN個とすることができる。また、送信ノード部内には2以上の値であるM個の演算機構が設けられていても良い。演算機構がM個の場合、リクエスト受付回路111に溜まるリクエストが1個の際のM倍になるほかは特に異なるところはない。タイミングチャートも図5および図6となんら変わらない。ノード部の数の変更によっても競合調停で候補の数が変わるだけなのでタイミング等、動作が変わることはない。個数カウンタ131は説明上「8」以上でHOLD要求しているが、この数値に限定されないことは勿論のことである。
【0072】
また、スイッチ部において各送信ノード部からの受信ブロックの競合調停を毎回平等に調停する以外に、それまで競合に加わっていない送信ノード部が後から競合調停に加わった場合に、先に競合調停に加わっている送信ノード部を優先的に取扱うような競合調停方法を採用することもできる。更に、各送信ノード部間に優先度を付与し、その優先度を考慮して競合調停することで、送信ノード部間での優先順序を保証することも可能である。こうすれば、高優先度の送信ノード部の一連のデータを連続して受信側ノード部に転送することができる。この場合、次に優先度の高い送信ノード部からのブロックは、高優先度の送信ノード部による一連のブロック転送が終った時点で、スイッチ部を通過し転送されることになる。このときにスイッチ部に空き時間ができるだけ生じないように、NACK情報を返却するタイミングを工夫することが考えられる。即ち、NACK情報を即返却せずに競合調停結果返却機構に溜めておき、高優先度の送信ノード部からの最後のブロック(当該送信ノード部が明示的に指定する)がスイッチ部のデータ受信機構からセレクト回路に送信される直前に、低優先度の送信ノード部に対して前記溜めてあったNACK情報をシリアルIDの若いものから順に返していく。こうすると、低優先度の送信ノード部は最初のシリアルIDのブロックから再送を開始し、スイッチ部を空かせることなく、高優先度のノード部のブロック転送に引き続き次の優先度のノード部からのブロックを連続して転送することが可能となる。
【0073】
また前述した実施の形態では、順序保証が必要なブロックの送信はそれ以前の全ての送信ブロックについてACK情報が返却されるまで停止させたが、順序保証が必要なブロックの送信をそれ以前の特定のブロック(順序保証が必要なブロックと順序が逆になってはならないブロック)についてACK情報が返却されるまで停止させるようにしても良い。例えば、ブロックA、B、Cがあり、ブロックC中にはブロックA中のデータと同じ書き込みアドレスを持つデータが含まれているためブロックA、Cの順序は保証する必要があるが、ブロックB中にはブロックCと同じ書き込みアドレスを持つデータがない場合、ブロックBとブロックCの順序は保証する必要がない。この場合、ACK未返却ID格納バッファ133にはブロックAのIDは格納するが、ブロックBのIDは格納しないようにする。こうすると、ブロックAについてACK情報が返却されたとき、ブロックBについてACK情報が返却されていなくてもブロックCの送出が行われ、ブロック転送の効率を高めることができる。
【0074】
【発明の効果】
以上説明したように、本発明によれば、スイッチ部にバッファを持たずに順序保障も考慮しつつデータ転送することができる。従ってスイッチ部に大量のバッファを持たないために、スイッチ部のハードウェア量を削減することができる。また、送信ノード部から受信ノード部までの転送のパスを確保してから転送を開始する方式と比べて、パス獲得するまでの時間に最初のブロックを転送することが可能なので、レイテンシーを減少させることが可能である。
【図面の簡単な説明】
【図1】本発明の一実施の形態のブロック図である。
【図2】アドレスリストの説明図である。
【図3】送信ノード部におけるデータ送信機構、再送信制御機構および送信制御機構の構成例を示すブロック図である。
【図4】競合調停結果返却機構の構成例を示すブロック図である。
【図5】本発明の一実施の形態の動作タイミングチャートである。
【図6】図5の続きの動作タイミングチャートである。
【図7】本発明の別の実施の形態におけるスイッチ部のブロック図である。
【図8】スイッチ部にバッファを持つ従来のデータ転送方式の説明図である。
【図9】スイッチ部にバッファを持たないデータ転送方式の説明図である。
【符号の説明】
1〜3…送信ノード部
4…スイッチ部
5…受信ノード部
10…演算機構
11…データ送信機構
12…再送信制御機構
13…送信制御機構
14…メモリ
41〜43…データ受信機構
44…競合調停機構
45…セレクト回路
46…データ送信機構
47〜49…競合調停結果返却機構
52…データ受信機構
54…メモリ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a method for transferring data between node units, and more particularly to a method for transferring data between a plurality of node units via a shared switch.
[0002]
[Prior art]
In this type of data transfer method, for example, in a cluster type computer system in which a plurality of processing devices each including at least one arithmetic device and a memory are connected via a switch, a large amount of data existing in the memory of the processing device is transferred. Used to transfer and write to the memory of another processing device.
[0003]
FIG. 8 is a block diagram showing a configuration example of this type of conventional data transfer system. In FIG. 8, transmission node units 201 to 203 are transmission side processing devices, reception node unit 205 is a reception side processing device, and switch unit 204 is a switch for connecting the two. In each transmission node unit 201 to 203, when a data transfer request from the arithmetic device 210 to the reception node unit 205 is issued, the data transmission mechanism 212 reads a series of data from the memory 211, and is a collection of one or more data. A serial number is assigned in units of blocks, and the blocks are sequentially transmitted to the switch unit 204 block by block. In FIG. 8, a thick line arrow from the data transmission mechanism 212 to the switch unit 204 indicates a block, and a thin line arrow indicates a control signal.
[0004]
The switch unit 204 receives the blocks transmitted from the transmission node units 201 to 203 by the data reception mechanisms 221 to 223 and temporarily stores them in the data storage buffers 224 to 226. Then, for each transfer of one block to the receiving node unit 205, the contention arbitration mechanism 227 performs contention arbitration as to which data storage buffer 224 to 226 data is transferred, and the select circuit 228 is selected according to the contention arbitration result. Are selected from the corresponding data storage buffers 224 to 226, and transmitted to the receiving node unit 205 through the data transmission mechanism 229. In the reception node unit 205, this is received by the data reception mechanism 231 and written in the memory 232.
[0005]
As shown in FIG. 8, a data transfer system in which a switch unit has a data storage buffer is described in Japanese Patent Laid-Open No. 10-327183.
[0006]
On the other hand, a data transfer method as shown in FIG. 9 in which the switch unit does not have a data storage buffer is also considered. In FIG. 9, transmission node units 301 to 303 are processing devices on the transmission side, reception node unit 305 is a processing device on the reception side, and switch unit 304 is a switch that connects the two, but is different from FIG. There is no data storage buffer. In each of the transmission node units 301 to 303, when a data transfer request from the arithmetic mechanism 310 to the reception node unit 305 is issued, the data transmission mechanism 312 sends a path acquisition request to the switch unit 304 through the request request unit 313. .
[0007]
In the switch unit 304, the path acquisition / release request arbitration mechanism 324 arbitrates competition for path acquisition requests from the transmission node units 301 to 303, and transfers data to the reception node unit 305 only to one of the transmission node units. The right to use a path as a route is granted, and the selection circuits 326 and 328 are switched. If the transmission node unit that has obtained the right to use the path is the transmission node unit 301, the data transmission mechanism 312 reads a series of data from the memory 311 and puts 1 into the switch unit 304 in units of blocks each of which is a collection of one or more data. Send in blocks. A thick line arrow from the data transmission mechanism 312 to the switch unit 304 indicates a block, and a thin line arrow indicates a control signal.
[0008]
The block and control signal transmitted from the transmission node unit 301 are received by the data reception mechanism 321 of the switch unit 304, selected by the selection circuits 326 and 328, and transmitted from the data transmission mechanism 327 to the reception node unit 305. In the reception node unit 305, this is received by the data reception mechanism 331 and written in the memory 332.
[0009]
When the transmission node unit 301 completes transmission of a series of data, the transmission node unit 301 sends a path release request to the switch unit 304 through the request request unit 313. In response to this, the arbitration mechanism 324 releases the path so that the other transmission node units 302 and 303 can acquire the path and transmit data.
[0010]
The data transfer method shown in FIG. 9 is the same in that the switch unit does not have a buffer, but a data transfer method that does not control path acquisition / release is described in Japanese Patent Laid-Open No. 2000-183965. In this publication, in a packet switch composed of a plurality of unit switches having no waiting buffer, only a single packet is transferred when a plurality of packets collide at the unit switch, and the remaining packets are immediately discarded. When the packet is discarded, the transfer unit that is the transmission source retransmits the packet repeatedly until the discarded packet is transferred successfully.
[0011]
[Problems to be solved by the invention]
Cluster-type computer systems that connect processing devices via switches have become larger year by year, and the number of processing devices has increased significantly. Therefore, in the configuration of FIG. 8 that requires a data storage buffer for each processing apparatus on the transmission side, there is a problem that the hardware amount of the switch unit becomes enormous. On the other hand, the configuration of FIG. 9 does not require a data storage buffer in the switch unit, so that the amount of hardware can be reduced. However, in order to release a path when processing a request for acquiring a path in advance and when a transfer ends. There is a problem that the latency in data transfer increases.
[0012]
Further, processing for acquiring and releasing a path is omitted, and as described in Japanese Patent Application Laid-Open No. 2000-183965, when a plurality of data collide in the switch unit, only data is transferred, and the rest is discarded. However, in the configuration in which retransmission is performed, the data transmission order is changed by retransmission, and thus there is a problem that the arrival order of data at the reception destination cannot be guaranteed. Specifically, when data is sent in the order of data A, B, and C from the processing device on the transmission side, if data B is discarded and retransmitted after transmission of data C, the processing device on the reception side The arrival order of data at A is C, B. There is no problem in a system that assembles packets on the receiving side like packets in a packet switching network, but a series of data including data with overlapping write addresses, such as data transfer between processing units in a cluster type computer system Is a problem because the contents of the destination memory differ depending on the presence or absence of retransmission. For example, in the above example, if the write addresses of data B and data C are the same X, the value of address X is C when there is no retransmission, but B when retransmission is performed.
[0013]
The present invention has been proposed in view of such circumstances, and the object of the present invention is that it does not require a data storage buffer in the switch unit, and has no overhead due to path acquisition / release processing. It is an object of the present invention to provide a data transfer method that can guarantee the arrival order of data.
[0014]
[Means for Solving the Problems]
  Of the present inventionFirstThe data transfer method includes a plurality of node units and a switch unit that receives data transmitted from the transmission side node unit and transfers the data to the reception side node unit, and the transmission side node unit transfers to the reception side node unit A data transmission unit that divides a series of data into blocks each of which is a collection of one or more data and transmits the data to the switch unit, and when a data disappearance notification is returned from the switch unit to the transmitted block A retransmission control unit that instructs the data transmission unit to retransmit data; and a unit that instructs transmission of a block other than the retransmission from the data transmission unit,Determine whether or not the block requires order guarantee based on whether the write address of the data contained in the block overlaps between a series of data to be transferred,Transmission of a block that requires order guarantee includes transmission control means for stopping transmission of a previous transmission block until a data transmission completion notification is returned from the switch unit, and the switch unit is transmitted from a transmission side node unit Data receiving means for receiving a block, contention arbitrating means for mediating competition of blocks received from a plurality of transmission side node units, selection means for selecting a received block according to the result of contention arbitration, and a selected receiving block Data transmission means for transferring the data to the receiving side node unit, and the transmission side node unit of the transmission source of the selected reception block returns a data transmission completion notice, and the transmission side of the transmission source of the unselected reception block Competing mediation result return means for returning a data disappearance notification to the node unit is provided.
[0016]
  Also,The second data transfer system of the present invention includes a plurality of node units and a switch unit that receives data transmitted from the transmission side node unit and transfers the data to the reception side node unit, and the transmission side node unit includes: A series of data to be transferred to the receiving node is divided into blocks that are a collection of one or more data, and serialized. ID And a data transmission means for transmitting to the switch section and a retransmission control for instructing the data transmission means to retransmit the data when a data disappearance notification is returned from the switch section to the transmitted block And a means for instructing transmission of a block other than the retransmission from the data transmission means, and for transmission of a block requiring an order guarantee, a data transmission completion notification is returned from the switch unit for the previous transmission block. Transmission control means for stopping the transmission until the data is received, and the switch section receives data transmitted from the transmission-side node section and contention arbitration that arbitrates competition between the blocks received from the plurality of transmission-side node sections. Means, selection means for selecting a reception block according to the result of contention arbitration, and transfer of the selected reception block to the receiving node section The data transmission means and the transmission side node part of the transmission source of the selected reception block are returned with a data transmission completion notice, and the data is transmitted to the transmission side node part of the transmission block of the unselected reception block. Competitive arbitration result return means for returning the disappearance notification, and the transmission control means is the smallest serial of the blocks for which no data transmission completion notification is returned from the switch section ID And a minimum serial number of blocks that do not receive a data transmission completion notification from the switch unit and need an order guarantee. ID A second means for holding data and a serial designated by the next transmission instruction to the data transmission means ID Is the serial held by the second means ID And the serial held by the first means ID Is the serial held by the second means ID Serial number held by the first means when smaller ID Is the serial held by the second means ID And a fourth means for stopping the sending of the sending instruction to the data sending means until it matches.
[0017]
  Of the present inventionThe first node device is a node device that transmits data to the receiving-side node unit through the switch unit, and divides a series of data to be transferred to the receiving-side node unit into block units that are collections of one or more data. A data transmission unit for transmitting to the switch unit; a retransmission control unit for instructing the data transmission unit to retransmit the data when a data disappearance notification is returned from the switch unit to the transmitted block; A block for instructing the transmission of a block other than the retransmission from the data transmission unit, and which requires an order guarantee based on whether the write address of the data included in the block overlaps between a series of data to be transferred The transmission of a block that requires order guarantee is sent from the switch unit for the previous transmission block. A transmission control means for stopping until retirementIs provided.
[0018]
  AlsoOf the present inventionSecondThe node device is a node device that transmits data to the receiving side node unit through the switch unit, and divides a series of data to be transferred to the receiving side node unit into block units that are collections of one or more data.Cereal ID WithA data transmission unit for transmitting to the switch unit; a retransmission control unit for instructing the data transmission unit to retransmit the data when a data disappearance notification is returned from the switch unit to the transmitted block; A means for instructing the transmission of blocks other than the retransmission from the data transmission means, and the transmission of the blocks requiring the order guarantee is stopped until the data transmission completion notification is returned from the switch section for the previous transmission blocks. Transmission control meansAnd the transmission control means is the smallest serial of the blocks for which no data transmission completion notification is returned from the switch unit. ID And a minimum serial number of blocks that do not receive a data transmission completion notification from the switch unit and need an order guarantee. ID A second means for holding data and a serial designated by the next transmission instruction to the data transmission means ID Is the serial held by the second means ID And the serial held by the first means ID Is the serial held by the second means ID Serial number held by the first means when smaller ID Is the serial held by the second means ID And a fourth means for stopping the sending of the sending instruction to the data sending means until it matches.
[0019]
[Action]
In the present invention, a series of data transferred from the transmission side node unit to the reception side node unit is divided into block units which are a collection of one or more data and transmitted to the switch unit. At this time, since there is no data storage buffer in the switch unit, when blocks from a plurality of transmission side nodes compete, only one block is transferred to the reception side node unit, and the rest disappears in the switch unit. The transmission source of the lost block is notified from the switch unit, and the same block is retransmitted again. In addition, in the transmission side node unit, a new transmission of a block that requires an order guarantee is performed after the data transmission completion notification is returned from the switch unit for the previous transmission block. Even if it changes, the order of arrival of the blocks to the receiving node unit can be guaranteed.
[0020]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0021]
Referring to FIG. 1, a client computer system according to an embodiment of the present invention includes three transmission node units 1 to 3, one reception node unit 5, a transmission node unit 1 to 3, and a reception node unit. And a switch unit 4 provided in
[0022]
The transmission node units 1 to 3 all have the same configuration. In FIG. 1, main components are illustrated only in the transmission node unit 1, and a configuration provided in a normal computer such as an arithmetic mechanism 10 and a memory (main memory) 14 In addition to the elements, the data transmission mechanism 11, the retransmission control mechanism 12 that controls retransmission of blocks from the data transmission mechanism 11, and the transmission control mechanism that controls transmission of blocks other than the retransmission from the data transmission mechanism 11 13 is comprised. The switch unit 4 includes a data reception mechanism 41 to 43 and a contention arbitration result return mechanism 47 to 49 corresponding to each transmission node unit 1 to 1, a contention mediation mechanism 44, a select circuit 45, and a reception circuit. A data transmission mechanism 46 that transmits data to the node unit 5 is included. The receiving node unit 5 further includes a data receiving mechanism 52 that receives data from the switch unit 4 and a memory 54 in which the received data is written.
[0023]
When the data transmission mechanism 11 in each of the transmission node units 1 to 3 receives a data transfer request notification from the arithmetic mechanism 10, the data transmission mechanism 11 stores a series of data stored in the memory 14 as a block unit that is a collection of one or more data. This is a mechanism that transmits the data to the switch unit 4 block by block in accordance with a transmission instruction from the transmission control mechanism 13 while being stored in a built-in buffer. Each block is given a serial ID to distinguish it from other blocks. The assigned serial ID is notified to the transmission control mechanism 13 in order to manage transmission in the order of serial ID. At this time, when the serial ID assigned to the block requiring the order guarantee is notified, the fact that the order guarantee is necessary is also notified. The data transmission mechanism 11 normally performs processing to read and transmit the serial ID specified by the transmission instruction from the transmission control mechanism 13 from the built-in buffer, but retransmits the serial ID specified from the retransmission control mechanism 12. When the instruction is received, the designated block is retransmitted with priority. In FIG. 1, a thick arrow pointing from the data transmission mechanism 11 to the switch unit 4 indicates a transmission block, and a thin line indicates a control signal. The control signal includes a valid bit indicating validity / invalidity of data. In addition, the transmission block includes one or more data constituting the block, and in the present embodiment, further includes a serial ID given to the block and a write address for each data constituting the block. .
[0024]
The retransmission control mechanism 12 in each of the transmission node units 1 to 3 receives a data disappearance notification (also referred to as NACK information) from the contention arbitration result return mechanisms 47 to 49 of the switch unit 4 for the block transmitted from the data transmission mechanism 11. When it is returned, it is a mechanism that instructs the data transmission mechanism 11 to retransmit the block of the serial ID specified in the notification.
[0025]
The transmission control mechanism 13 in each of the transmission node units 1 to 3 receives the serial ID of the block from the data transmission mechanism 11, information on whether or not order guarantee is necessary for the block of the serial ID, and the contention of the switch unit 4 This is a mechanism that inputs data transmission completion notifications (also referred to as ACK information) from the arbitration result return mechanisms 47 to 49 and controls the transmission of blocks from the data transmission mechanism 11 so that the order guarantee is satisfied. Specifically, a transmission instruction specifying one serial ID in ascending order of serial ID is sequentially transmitted to the data transmission mechanism 11, but the serial ID specified in the next transmission instruction is the block that requires the order guarantee. If a data transmission completion notification (ACK information) is not returned from the switch unit 4 for a transmission block of a serial ID that is a serial ID that is younger than that serial ID, the next transmission instruction is suspended to transmit the data. If the transmission operation notification of the mechanism 11 is temporarily stopped and the data transmission completion notification (ACK information) is returned from the switch unit 4 for the transmission block before the block requiring the order guarantee, the transmission instruction for the block is issued. Thus, the transmission operation of the new block from the data transmission mechanism 11 is resumed.
[0026]
On the other hand, the data reception mechanisms 41 to 43 in the switch unit 4 are mechanisms for receiving the blocks and control signals transmitted from the transmission node units 1 to 3. The received control signal is output to the contention arbitration mechanism 44, the received block is output to the select circuit 45, and the serial ID in the received block is output to the contention arbitration result return mechanism 47.
[0027]
The contention arbitration mechanism 44 mediates the contention when a plurality of blocks from the transmission node units 1 to 3 to the reception node unit 5 are simultaneously transmitted, and validates only one of the blocks, and the remaining blocks are It is a mechanism to invalidate. For a block selected as valid, an instruction is sent to the select circuit 45 to select that block, and a corresponding control signal is output to the data transmission mechanism 46. In addition, among the contention arbitration result return mechanisms 47 to 49, the contention mediation result indicating that it is valid for the contention mediation result return mechanism corresponding to the transmission node unit of the transmission source of the block selected as valid The contention mediation result indicating that it is invalid is notified to the contention mediation result return mechanism corresponding to the transmission node unit of the transmission source.
[0028]
The select circuit 45 is a circuit that selects a block designated by the contention arbitration mechanism 44 among the blocks received by the data reception mechanisms 41 to 43 and outputs the selected block to the data transmission mechanism 46.
[0029]
The data transmission mechanism 46 is a mechanism for transmitting the block output from the select circuit 45 and the control signal output from the contention arbitration mechanism 44 to the reception node unit 5.
[0030]
The contention arbitration result return mechanisms 47-49 receive the block serial ID from the data reception mechanisms 41-43, receive the contention arbitration result from the contention arbitration mechanism 44, and specify the serial ID to the corresponding transmission node units 1-3. This is a mechanism for returning a data transmission completion notification (ACK information) or a data disappearance notification (NACK information).
[0031]
The data receiving mechanism 52 in the receiving node unit 5 is a mechanism that receives a block and a control signal transmitted from the switch unit 4 and writes individual data in the block to the address of the memory 54 indicated by the write address.
[0032]
Next, the schematic operation of the present embodiment will be described.
[0033]
The calculation mechanism 10 in the transmission node unit 1 outputs a data transfer request to the data transmission mechanism 11 when transferring a series of data stored in the memory 14 to the reception node unit 5 and writing the data in the memory 54. In this data transfer request, it is necessary to specify a read address of a series of data stored in the memory 14 and a write address of the memory 54. These address designation methods are arbitrary, and the present invention is not limited to a specific designation method. Here, a method using an address list will be described.
[0034]
As shown in FIG. 2, the address list is a list in which pairs of a read address of the memory 14 and a write address of the memory 54 to which data read from the address is written are arranged in the order of writing in the memory 54. It is generated in advance and stored in the memory 14, and designated by a data transfer request. If the write addresses in the address list are all different, the order guarantee is not necessary, but the order guarantee is necessary when some addresses overlap. For example, in the example of FIG. 2, since the write addresses of the second and fifth rows are the same W2, the data read from the address R2 is written to the address W2, and then the data read at the address R5 is set to the address W2. You have to write, and vice versa.
[0035]
The data transmission mechanism 11 refers to the address list specified in the data transfer request, reads a series of data from the memory 14, divides it into blocks that are units of one or more predetermined data sets, For example, serial IDs starting from 00 are assigned in order from the block. For example, if one block is composed of two data, in the case of FIG. 2, two data read from the addresses R1 and R2 are used as the first block, a serial ID of 00 is assigned, and the data read from the addresses R3 and R4 is 2 One data is assigned to the second block and a serial ID of 01 is assigned. Two data read from addresses R5 and R6 are assigned to the third block and a serial ID of 02 is assigned. Make one block. Then, the blocks are accumulated in the internal buffer, and the assigned serial ID is notified to the transmission control mechanism 13. Furthermore, the write address is checked in order from the head, and when the same address appears, it is necessary to guarantee the order when notifying the transmission control mechanism 13 of the serial ID of the block containing the data to be written to that address. Inform them accordingly. For example, in the case of FIG. 2, since it is necessary to guarantee the order of the data read from the address R5, the necessity of order guarantee is notified when the serial ID of 02 assigned to the third block including the data is notified.
[0036]
Each time the transmission instruction is issued from the transmission control mechanism 13, the data transmission mechanism 11 repeats the operation of reading the serial ID block designated by the transmission instruction from the internal buffer and transmitting it to the switch unit 4. At the time of transmission of each block, the control signal is validated to notify the switch unit 4 that the block has been transmitted. Here, the transmission control mechanism 13 sends a transmission instruction designating a serial ID to the data transmission mechanism 11 in order from 00. However, the serial ID specified in the next transmission instruction is the serial ID of the block that requires the order guarantee, and the data transmission completion notification (ACK information) is returned from the switch unit 4 for the transmission block of the serial ID smaller than that serial ID. If not, the transmission operation of the data transmission mechanism 11 is temporarily stopped by holding the next transmission instruction. Further, when a retransmission instruction is issued from the retransmission control mechanism 12, the data transmission mechanism 11 reads the serial ID block designated by the retransmission instruction from the internal buffer and transmits it to the switch unit 4. If a transmission instruction from the transmission control mechanism 13 and a retransmission instruction from the retransmission control mechanism 12 are issued simultaneously, the retransmission instruction is prioritized.
[0037]
In other transmission node units 2 and 3, when data transfer to the reception node unit 5 is necessary, the same operation as that of the transmission node unit 1 is performed.
[0038]
The blocks transmitted with serial IDs from the data transmission mechanisms 11 of the transmission node units 1 to 3 are received by the data reception mechanisms 41 to 43 of the switch unit 4 and are subjected to contention arbitration by the contention arbitration mechanism 44. As a result of the arbitration, only one block among the three blocks coming from the transmission nodes 1 to 3 is selected by the selection circuit 45 and sent to the reception node unit 5 by the data transmission mechanism 46. The remaining two blocks disappear because the switch unit 4 has no buffer. In the receiving node unit 5, the data receiving mechanism 52 receives the block transferred from the switch unit 4, and writes each data in the block to the address of the memory 54 indicated by each write address.
[0039]
When the contention arbitration result return mechanism 47 corresponding to the sending node unit 1 receives the contention arbitration result indicating that the block is invalidated from the contention arbitration mechanism 44, the serial ID of the block notified from the data reception mechanism 41 is specified. The data disappearance notification (NACK information) is notified to the transmission node unit 1. On the other hand, when the contention arbitration result indicating that the block is valid is received from the contention mediation mechanism 44, a data transmission completion notification (ACK information) specifying the serial ID of the block notified from the data reception mechanism 41 is transmitted to the transmission node. Notify part 1. The contention mediation result return mechanism 48 corresponding to the transmission node unit 2 and the contention mediation result return mechanism 49 corresponding to the transmission node unit 3 also perform the same operation as the contention mediation result return mechanism 47.
[0040]
In the transmission node unit 1 that has received the information from the contention arbitration result return mechanism 47, if the information is NACK information, the retransmission control mechanism 12 sends the serial ID specified by the NACK information to the data transmission mechanism 11. An instruction to retransmit the block is issued. The data transmission mechanism 11 reads the block for which the retransmission instruction has been issued from the internal buffer and transmits the block to the switch unit 4 again. The data transmission mechanism 11 continues the operation of transmitting a new transfer block while receiving a transmission instruction from the transmission control mechanism 13.
[0041]
On the other hand, when the ACK information is received from the contention arbitration result return mechanism 47, the transmission control mechanism 13 of the transmission node unit 1 processes the block of the serial ID specified by this ACK information as data transmission completion. And if the serial ID block specified in the transmission instruction to be transmitted next time is a block that requires order guarantee, and the ACK information was not returned for the block transmitted before that time, this ACK If the received block is information, the operation of issuing a transmission instruction to the data transmission mechanism 11 is resumed, and the data transmission mechanism 11 is caused to transmit a block requiring an order guarantee.
[0042]
The retransmission control mechanism 12 and the transmission control mechanism 13 in the transmission node units 2 and 3 also perform the same operations as the retransmission control mechanism 12 and the transmission control mechanism 13 of the transmission mechanism 1.
[0043]
In this way, the present embodiment does not require a data storage buffer in the switch unit 4 and has no overhead due to path acquisition / release processing, and can guarantee the arrival order of data to the receiving side node unit 5. .
[0044]
Next, a configuration example of the data transmission mechanism 11, the retransmission control mechanism 12, and the transmission control mechanism 13 in the transmission node unit 1 of FIG. 1 will be described with reference to FIG.
[0045]
First, the data transmission mechanism 11 includes a request reception circuit 111, a transfer data decomposition circuit 112, a data storage buffer 113, a transmission control circuit 114, and a selector 115.
[0046]
The request reception circuit 111 has a function of receiving a data transfer request from the arithmetic mechanism 10 and temporarily holding it inside. One request is one instruction.
[0047]
The transfer data decomposition circuit 112 takes out the requests received by the request reception circuit 111 one by one, and refers to the address list stored in the memory 14 for a series of data requested to be transferred by the request in block units. The memory 14 is instructed to read each divided transfer block. At this time, a serial ID is assigned to the block, the assigned serial ID is notified to the transmission control mechanism 13 and the data storage buffer 113, and the data storage buffer 113 is also notified of the write address of each data constituting the block. In addition, the block that requires the order guarantee is determined based on the overlap of the write address in the address list, and the transmission control mechanism 13 is informed that the order guarantee is required when the serial ID assigned to the block that requires the order guarantee is notified. To notify. Note that the transfer data decomposition circuit 112 stops sending a new data read instruction while a HOLD request is issued from the transmission control mechanism 13.
[0048]
The data storage buffer 113 is a storage unit that stores the data read from the memory 14 in units of blocks together with the serial ID notified from the transfer data decomposition circuit 112 and the write address of the data. It has a function of sending a data read completion notification to the transmission control mechanism 13 every time all new data of one block is stored, and a function of sending a block to the switch unit 4 under the control of the transmission control circuit 114.
[0049]
The transmission control circuit 114 controls the transfer from the data storage buffer 113 of the block having the designated serial ID to the switch unit 4 when a transmission instruction or a retransmission instruction designating the serial ID is issued from the selector 115. It is.
[0050]
The selector 115 inputs the transmission instruction including the serial ID and the output Valid (valid) signal from the transmission control mechanism 13 and the retransmission instruction including the serial ID and the output Valid signal from the retransmission control mechanism 12, and one of them. Is output to the transmission control circuit 114. When a transmission instruction and a retransmission instruction are input simultaneously, the retransmission instruction is preferentially selected and output.
[0051]
Next, the transmission control mechanism 13 includes a number counter 131, an order guarantee storage buffer 132, an ACK unreturned ID storage buffer 133, an order guarantee required MIN_ID pointer 134, an unreturned MIN_ID pointer 135, a transmission logic circuit 136, and a transmission ID management counter 137. The block number counter 138 and the register 139 are included.
[0052]
The number counter 131 has an initial value of 0, and counts up when the serial ID related to the block for which a read instruction is sent from the transfer data decomposition circuit 112 to the memory 14 is notified. When the serial ID in the ACK information is received via the mechanism 12, it counts down, and when the count value exceeds a predetermined value, it has a function of raising a HOLD request to the transfer data decomposition circuit 112. Here, the fixed value is determined in advance based on the capacity of the data storage buffer 113. Since the buffer capacity of the data storage buffer 113 is finite and a block must be held in preparation for retransmission until the ACK information is returned, the usage of the data storage buffer 113 is managed by the number counter 131. If there is a possibility of overflow, a HOLD request is issued so that no more blocks are stored in the buffer.
[0053]
The order guarantee storage buffer 132 is a buffer for storing the serial ID of the block notified from the transfer data decomposition circuit 112 as the order guarantee required. The order guarantee required MIN_ID pointer 134 is the minimum stored in the order guarantee storage buffer 132. This pointer holds the serial ID. When the serial ID in the ACK information is received from the switch unit 4 via the retransmission control mechanism 12, the order guarantee storage buffer 132 deletes the serial ID if it is stored, and requires the order guarantee MIN_ID. The contents of the pointer 134 are updated to the next young serial ID. Next, if there is no young serial ID, it is initialized to 00.
[0054]
The ACK unreturned ID storage buffer 133 is a buffer for storing the serial ID of the block notified from the transfer data decomposition circuit 112, and the unreturned MIN_ID pointer 135 is the smallest stored in the ACK unreturned ID storage buffer 133. It is a pointer that holds the serial ID. When the serial ID in the ACK information is received from the switch unit 4 via the retransmission control mechanism 12, the ACK unreturned ID storage buffer 133 deletes the serial ID from the buffer, and the serial stored in the unreturned MIN_ID pointer 135 If the ID is the erased serial ID, a new minimum serial ID is set in the pointer 135, otherwise it is initialized to 00.
[0055]
The block counter 138 has an initial value of 0, and counts up each time a data read completion notification that storage of one block is completed is received from the data storage buffer 113. Manage the total number of blocks stored from the start of data transfer to the present.
[0056]
The transmission ID management counter 137 has a serial ID of 00 as an initial value, and is counted up each time a transmission instruction is issued from the transmission control mechanism 13 to the data transmission mechanism 11. That is, the transmission ID management counter 137 indicates the serial ID of the block to be transmitted next from the data storage buffer 113. The serial ID indicated by the transmission ID management counter 137 is input to the register 139 that outputs a transmission instruction.
[0057]
The transmission logic circuit 136 is a circuit that controls the execution timing of a transmission instruction to the data transmission mechanism 11. The sending logic circuit 136 recognizes the total number of blocks stored in the data storage buffer 113 based on the value of the block number counter 138, and recognizes the serial ID specified by the next sending instruction issued based on the value of the sending ID management counter 137. If the value of the block number counter 138 is greater than or equal to the value of the transmission ID management counter 137, an unsent block exists in the data storage buffer 113, so that an output Valid signal that is output to the register 139 is output. Valid. However, if the serial ID indicated by the sending ID management counter 137 matches the serial ID requiring the order guarantee indicated by the MIN_ID pointer 134, the MIN_ID pointer not returned from the serial ID indicated by the order guarantee required MIN_ID pointer 134 If the serial ID indicated by 135 is smaller, the block that has not yet been acknowledged is in front of the block that requires the order guarantee. Therefore, the output Valid signal is invalidated without being validated, and the blocks after the order guarantee required are invalidated. Temporarily stop transmission. The condition for temporarily stopping is expressed as follows.
Unreturned MIN_ID pointer 135 <Order guarantee required MIN_ID pointer 134 ≤ Sending ID management counter 137
[0058]
The register 139 outputs a transmission instruction including the output Valid signal output from the transmission logic circuit 136 and the serial ID output from the transmission ID management counter 137 to the selector 115 of the data transmission mechanism 11.
[0059]
Next, the retransmission control mechanism 12 includes a contention arbitration result reception register 121 that receives NACK / ACK information from the switch unit 4, and a decoder 122 that decodes the received information. The decoder 122 determines whether the information is NACK information or ACK information, and if it is ACK information, the serial ID specified by the ACK information is sent to the number counter 131, the order guarantee storage buffer 132, and the ACK unreturned ID storage buffer 133 of the transmission control mechanism 13. Supply. On the contrary, if it is NACK information, a retransmission instruction including the serial ID designated by the NACK information and the validated output Valid signal is generated and output to the selector 15 of the data transmission mechanism 11.
[0060]
Next, with reference to FIG. 4, a configuration example of the competition mediation result return mechanism 47 to 49 in FIG. 1 will be described.
[0061]
The competition arbitration result return mechanism 47 includes an encoder 471 and a competition arbitration result return register 472. The encoder 471 receives a contention arbitration result indicating whether the block from the transmission node unit 1 is valid or mediated from the contention arbitration mechanism 44, and receives the serial ID of the block from the data reception mechanism 41. If mediation is invalid, a data disappearance notification (NACK information) specifying a serial ID is generated. If mediation is valid, a data transmission completion notification (ACK information) specifying a serial ID is generated. ) Is generated. The contention arbitration result return register 472 sends the generated NACK information or ACK information to the transmission node unit 1.
[0062]
The contention arbitration result return mechanisms 48 and 49 are also composed of encoders 481 and 491 having the same functions as the contention arbitration result return register 472 of the contention arbitration result return mechanism 47 and contention mediation result return registers 482 and 492. .
[0063]
5 and 6 are time charts showing an operation example of the present embodiment. FIG. 6 is a time chart of the continuation of FIG. 5, and some sections overlap with FIG. Hereinafter, with reference to FIGS. 5 and 6, the operation of the present embodiment will be described mainly focusing on the transmission node unit 1 and the switch unit 4. In FIG. 5 and FIG. 6, numerals with a circle are attached at major timing points, but are quoted with numerals with () in the specification.
[0064]
First, when a request is notified from the calculation mechanism 10 at the timing of (1), it passes through the request reception circuit 111 and is notified to the transfer data decomposition circuit 112. At the timing of (2), the transfer data decomposition circuit 112 divides a series of transfer data requested by the request into blocks of serial IDs 00 to 07, and sequentially notifies the transmission control mechanism 13 of this serial ID. In the division with serial ID 08 or later, since the number counter 131 is set to “8”, the HOLD request is raised to (3) and is not notified. Data read is also notified to the memory 14, and data is sequentially read from the memory 14 into the data storage buffer 113 at the timing (4). When the block requiring serial guarantee among the serial ID 00 to 07 is, for example, the serial ID 04 block, the block ID 04 is stored in the order guarantee storage buffer 132 as the order guarantee essential (timing (5)). After serial ID00, 01, 02, 03 blocks are sent in order, each block is received by the switch unit 4, but when the blocks of serial ID01 collide with the sending nodes 2 and 3 and lose in competition arbitration, contention arbitration The result return mechanism 47 generates NACK information and returns it to the transmission node unit 1 (timing (6)). Since the other blocks with serial IDs 00, 02, and 03 did not collide with the transmission nodes 2 and 3 (or won by blending arbitration), the ACK information is sequentially returned. Since the serial IDs 00, 02, 03 are returned in the ACK information, the number of the number counter 131 is subtracted from 8, and the HOLD request is withdrawn, so that reading of a new block from the transfer data decomposition circuit 112 is resumed.
[0065]
In the retransmission control mechanism 12, when the NACK information designating the serial ID 01 is returned at timing (8), the decoder 122 generates a retransmission instruction and outputs the retransmission instruction to the selector 115 of the data transmission mechanism 11. Selects the retransmission instruction, and the transmission control circuit 114 transmits the block of the serial ID 01 again (timing (9)).
[0066]
In the transmission control mechanism 13, since the serial ID 01 remains stored in the ACK non-returned ID storage buffer 133 until the timing (10) when the ACK information for the serial ID 01 block is returned, the unreturned MIN_ID pointer 135 is 01. Not updated from. The order guarantee required MIN_ID pointer 134 is 04 for the notice of order guarantee required in the block ID 04 described above. Therefore, after timing (6), blocks such as serial IDs 04, 05, 06, 07 are sequentially read into the data storage buffer 113, but the unreturned MIN_ID pointer 135 <ordering required MIN_ID pointer 134 ≤ transmission ID management counter Since 137 holds, the operation is temporarily stopped, and the subsequent block ID 04 and subsequent data are not transmitted, and the order is guaranteed. When ACK information is returned for the block of serial ID01 at timing (10), the unreturned MIN_ID pointer 135 becomes 04, and transmission is resumed because the above conditions are lost.
[0067]
Other Embodiments of the Invention
In the embodiment of FIG. 1, data is transmitted from the plurality of transmission node units 1 to 3 to the single reception node unit 5, but a common switch is connected from the plurality of transmission node units to the plurality of reception node units. The present invention can also be applied to a method of transferring data via the Internet. In this case, the switch unit is provided with the same number of select circuits 45, data transmission mechanisms 46, and contention arbitration mechanisms 44 as the number of reception node units. An example of the configuration of the switch unit is shown in FIG. 7 taking as an example the case where there are two transmission node units and two reception node units.
[0068]
In FIG. 7, when transmitting a block to the switch unit 4, the transmission node units 1 and 2 specify to which of the reception node units 5-1 and 5-2 data is transmitted by a control signal. The decoders 51 and 52 decode the control signals received by the data receiving mechanisms 41 and 42, and if the destination is the receiving node unit 5-1, transmit the control signals to the contention arbitration mechanism 44-1, otherwise transmit do not do. The decoders 53 and 54 decode the control signal received by the data receiving mechanisms 41 and 42, and if the destination is the receiving node unit 5-2, transmit the control signal to the contention arbitration mechanism 44-2, otherwise transmit do not do.
[0069]
The contention arbitration mechanism 44-1 performs contention arbitration when blocks from the transmission nodes 1 and 2 compete for the same reception node unit 5-1, and makes either one valid and the other invalid. At the same time, a valid block side is selected by 1, and a corresponding control signal is output to the data transmission mechanism 46-1, and the contention mediation result return mechanisms 47 and 48 are notified of the respective contention mediation results. The data transmission mechanism 46-1 transmits the block output from the select circuit 45-1 and the control signal output from the contention arbitration mechanism 44-1 to the reception node unit 5-1. Similarly, the contention arbitration mechanism 44-2 performs contention arbitration when blocks from the sending nodes 1 and 2 compete for the same receiving node unit 5-2, and either one is valid and the other is invalidated. At the same time as the circuit 45-2 selects a valid block side, a corresponding control signal is output to the data transmission mechanism 46-2, and the competition arbitration result return mechanisms 47 and 48 are notified of the respective competition arbitration results. The data transmission mechanism 46-2 transmits the block output from the select circuit 45-2 and the control signal output from the contention arbitration mechanism 44-2 to the reception node unit 5-2.
[0070]
The contention arbitration result return mechanism 47 generates NACK information or ACK information from the contention arbitration result from the contention mediation mechanism 44-1 or the contention mediation mechanism 44-2 and the serial ID notified from the data reception mechanism 41, and transmits it. Notification to part 1. Similarly, the contention arbitration result return mechanism 48 generates NACK information or ACK information from the contention arbitration result from the contention mediation mechanism 44-1 or the contention mediation mechanism 44-2 and the serial ID notified from the data reception mechanism 42. To the sending node unit 2.
[0071]
Other Embodiments of the Invention
Although the embodiment of the present invention has been described above, the present invention is not limited to the above embodiment, and various other additions and modifications can be made. For example, the number of node units on the transmission side is not limited to two or three, and may be N having a value of 2 or more. Further, M calculation mechanisms that are two or more values may be provided in the transmission node unit. When there are M operation mechanisms, there is no particular difference except that the number of requests accumulated in the request reception circuit 111 is M times that of a single request. The timing chart is also the same as that shown in FIGS. Even if the number of nodes is changed, only the number of candidates is changed in the competitive arbitration, so the operation such as the timing does not change. The number counter 131 requests HOLD at “8” or more for the sake of explanation, but it is needless to say that the number counter 131 is not limited to this value.
[0072]
In addition, in the switch unit, the arbitration of the received block from each transmission node unit is performed equally, and when a transmission node unit that has not participated in the competition until then participates in the competition arbitration, the competition arbitration is performed first. It is also possible to employ a contention arbitration method that preferentially handles the transmitting node unit participating in the. Furthermore, it is also possible to guarantee the priority order between the transmission node units by assigning a priority between the transmission node units and performing contention arbitration in consideration of the priority. In this way, a series of data of the high priority transmission node unit can be continuously transferred to the reception side node unit. In this case, the block from the transmission node unit with the next highest priority passes through the switch unit and is transferred when a series of block transfers by the transmission node unit with the higher priority is completed. At this time, it is conceivable to devise the timing for returning the NACK information so that the idle time does not occur in the switch unit as much as possible. That is, the NACK information is not immediately returned but accumulated in the contention arbitration result return mechanism, and the last block from the high-priority transmission node unit (specified by the transmission node unit explicitly) is the data reception of the switch unit. Immediately before being transmitted from the mechanism to the select circuit, the accumulated NACK information is returned to the low-priority transmission node unit in order from the smallest serial ID. In this way, the low-priority transmission node unit starts retransmission from the first serial ID block and continues to block transfer of the high-priority node unit from the next-priority node unit without leaving the switch unit empty. This block can be transferred continuously.
[0073]
In the above-described embodiment, transmission of blocks that require order guarantee is stopped until ACK information is returned for all previous transmission blocks. However, transmission of blocks that require order guarantee is specified before that. This block may be stopped until ACK information is returned (blocks that require order guarantee and blocks whose order must not be reversed). For example, there are blocks A, B, and C. Since the block C includes data having the same write address as the data in the block A, the order of the blocks A and C needs to be guaranteed. If there is no data having the same write address as block C, the order of block B and block C need not be guaranteed. In this case, the ID of block A is stored in the ACK non-returned ID storage buffer 133, but the ID of block B is not stored. In this way, when ACK information is returned for block A, block C is sent out even if ACK information is not returned for block B, and the efficiency of block transfer can be improved.
[0074]
【The invention's effect】
As described above, according to the present invention, it is possible to transfer data while ensuring the order without having a buffer in the switch unit. Accordingly, since the switch unit does not have a large amount of buffers, the amount of hardware of the switch unit can be reduced. Compared with the method of starting the transfer after securing the transfer path from the transmission node unit to the reception node unit, it is possible to transfer the first block in the time until the path is acquired, thereby reducing the latency. It is possible.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of the present invention.
FIG. 2 is an explanatory diagram of an address list.
FIG. 3 is a block diagram illustrating a configuration example of a data transmission mechanism, a retransmission control mechanism, and a transmission control mechanism in a transmission node unit.
FIG. 4 is a block diagram illustrating a configuration example of a contention arbitration result return mechanism.
FIG. 5 is an operation timing chart according to the embodiment of the present invention.
FIG. 6 is an operation timing chart continued from FIG. 5;
FIG. 7 is a block diagram of a switch unit according to another embodiment of the present invention.
FIG. 8 is an explanatory diagram of a conventional data transfer method having a buffer in a switch unit.
FIG. 9 is an explanatory diagram of a data transfer method in which a switch unit does not have a buffer.
[Explanation of symbols]
1-3: Transmission node part
4 ... Switch part
5 ... Receiving node part
10 ... Calculation mechanism
11 ... Data transmission mechanism
12 ... Retransmission control mechanism
13 ... Transmission control mechanism
14 ... Memory
41-43 ... Data reception mechanism
44 ... Competitive mediation mechanism
45 ... Select circuit
46 ... Data transmission mechanism
47-49 ... Competition arbitration result return mechanism
52 ... Data reception mechanism
54… Memory

Claims (4)

複数のノード部と、送信側ノード部から送信されたデータを受信して受信側ノード部へ転送するスイッチ部とを備え、
前記送信側ノード部は、受信側ノード部へ転送する一連のデータを1以上のデータの集まりであるブロック単位に分割して前記スイッチ部へ送信するデータ送信手段と、送信したブロックに対して前記スイッチ部からデータ消滅通知が返却された場合に当該データの再送信を前記データ送信手段に指示する再送信制御手段と、前記データ送信手段からの再送信以外のブロックの送信を指示する手段であって、ブロックに含まれるデータの書き込みアドレスが転送する一連のデータ間で重複するか否かに基づいて順序保証が必要なブロックか否かを判定し、順序保証が必要なブロックの送信はそれ以前の送信ブロックについてデータ送出完了通知が前記スイッチ部から返却されるまで停止させる送信制御手段とを備え、
前記スイッチ部は、送信側ノード部から送信されたブロックを受信するデータ受信手段と、複数の送信側ノード部から受信したブロックの競合を調停する競合調停手段と、競合調停の結果に応じて受信ブロックを選択する選択手段と、選択された受信ブロックを受信側ノード部に転送するデータ送信手段と、選択された受信ブロックの送信元の送信側ノード部に対してはデータ送出完了通知を返却し、選択されなかった受信ブロックの送信元の送信側ノード部に対してはデータ消滅通知を返却する競合調停結果返却手段とを備えるデータ転送方式。
A plurality of node units, and a switch unit that receives data transmitted from the transmission side node unit and transfers the data to the reception side node unit,
The transmission side node unit divides a series of data to be transferred to the reception side node unit into block units that are a collection of one or more data, and transmits the data to the switch unit. A retransmission control unit that instructs the data transmission unit to retransmit the data when a data disappearance notification is returned from the switch unit, and a unit that instructs transmission of a block other than the retransmission from the data transmission unit. Therefore, it is determined whether or not it is a block that requires order guarantee based on whether or not the write address of the data included in the block overlaps between a series of data to be transferred. Transmission control means for stopping the data transmission completion notification until it is returned from the switch unit for the transmission block of
The switch unit receives data transmitted according to the result of contention arbitration, data receiving means for receiving blocks transmitted from the transmitting side node unit, contention arbitrating means for mediating block content received from a plurality of transmitting side node units, and A data transmission completion notification is returned to the selection means for selecting the block, the data transmission means for transferring the selected reception block to the reception side node section, and the transmission side node section of the transmission source of the selected reception block. A data transfer method comprising: a contention arbitration result return means for returning a data disappearance notification to the transmission side node unit of the transmission source of the unselected reception block.
複数のノード部と、送信側ノード部から送信されたデータを受信して受信側ノード部へ転送するスイッチ部とを備え、
前記送信側ノード部は、受信側ノード部へ転送する一連のデータを1以上のデータの集まりであるブロック単位に分割しシリアル ID を付与して前記スイッチ部へ送信するデータ送信手段と、送信したブロックに対して前記スイッチ部からデータ消滅通知が返却された場合に当該データの再送信を前記データ送信手段に指示する再送信制御手段と、前記データ送信手段からの再送信以外のブロックの送信を指示する手段であって、順序保証が必要なブロックの送信はそれ以前の送信ブロックについてデータ送出完了通知が前記スイッチ部から返却されるまで停止させる送信制御手段とを備え、
前記スイッチ部は、送信側ノード部から送信されたブロックを受信するデータ受信手段と、複数の送信側ノード部から受信したブロックの競合を調停する競合調停手段と、競合調停の結果に応じて受信ブロックを選択する選択手段と、選択された受信ブロックを受信側ノード部に転送するデータ送信手段と、選択された受信ブロックの送信元の送信側ノード部に対してはデータ送出完了通知を返却し、選択されなかった受信ブロックの送信元の送信側ノード部に対してはデータ消滅通知を返却する競合調停結果返却手段とを備え、且つ、
前記送信制御手段は、前記スイッチ部からデータ送出完了通知が返却されていないブロックのうちの最小のシリアルIDを保持する第1の手段と、前記スイッチ部からデータ送信完了通知が返却されていないブロックであって順序保証が必要なブロックのうちの最小のシリアルIDを保持する第2の手段と、前記データ送信手段に対して次回送出予定の送出指示で指定するシリアルIDが前記第2の手段に保持されたシリアルIDと一致し且つ前記第1の手段が保持するシリアルIDが前記第2の手段が保持するシリアルIDより小さい場合に、前記第1の手段が保持するシリアルIDが前記第2の手段が保持するシリアルIDと一致するまで前記データ送信手段に対する送出指示の送出を停止する第4の手段とを含むデータ転送方式。
A plurality of node units, and a switch unit that receives data transmitted from the transmission side node unit and transfers the data to the reception side node unit,
The transmission side node unit transmits a series of data to be transferred to the reception side node unit into block units that are a collection of one or more data, and assigns a serial ID and transmits to the switch unit When a data disappearance notification is returned from the switch unit to the block, a retransmission control unit that instructs the data transmission unit to retransmit the data, and transmission of a block other than the retransmission from the data transmission unit Transmission means for instructing and stopping transmission of blocks that require order guarantee until data transmission completion notification is returned from the switch unit for the previous transmission blocks;
The switch unit receives data transmitted according to the result of contention arbitration, data receiving means for receiving blocks transmitted from the transmitting side node unit, contention arbitrating means for mediating block content received from a plurality of transmitting side node units, and A data transmission completion notification is returned to the selection means for selecting the block, the data transmission means for transferring the selected reception block to the reception side node section, and the transmission side node section of the transmission source of the selected reception block. A contention arbitration result return means for returning a data disappearance notification to the transmission side node unit of the transmission source of the reception block that has not been selected, and
The transmission control means includes a first means for holding a minimum serial ID among blocks in which no data transmission completion notification is returned from the switch section, and a block in which no data transmission completion notification is returned from the switch section. The second means for holding the minimum serial ID of the blocks requiring order guarantee and the serial ID designated by the transmission instruction for the next transmission schedule to the data transmission means are provided to the second means. When the serial ID that matches the serial ID held and the serial ID held by the first means is smaller than the serial ID held by the second means, the serial ID held by the first means is the second ID And a fourth means for stopping sending the sending instruction to the data sending means until the serial ID held by the means matches.
スイッチ部を通じて受信側ノード部にデータを送信するノード装置であって、受信側ノード部へ転送する一連のデータを1以上のデータの集まりであるブロック単位に分割して前記スイッチ部へ送信するデータ送信手段と、送信したブロックに対して前記スイッチ部からデータ消滅通知が返却された場合に当該データの再送信を前記データ送信手段に指示する再送信制御手段と、前記データ送信手段からの再送信以外のブロックの送信を指示する手段であって、ブロックに含まれるデータの書き込みアドレスが転送 する一連のデータ間で重複するか否かに基づいて順序保証が必要なブロックか否かを判定し、順序保証が必要なブロックの送信はそれ以前の送信ブロックについてデータ送出完了通知が前記スイッチ部から返却されるまで停止させる送信制御手段とを備えたノード装置。A node device that transmits data to a receiving-side node unit through a switch unit, and divides a series of data transferred to the receiving-side node unit into blocks each of which is a collection of one or more data, and transmits the data to the switch unit A transmission means, a retransmission control means for instructing the data transmission means to retransmit the data when a data disappearance notification is returned from the switch unit to the transmitted block, and a retransmission from the data transmission means Is a means for instructing transmission of a block other than the block, and determines whether or not the block requires order guarantee based on whether or not the write address of the data included in the block overlaps between a series of data to be transferred , Transmission of blocks that require order guarantee is suspended until a data transmission completion notification is returned from the switch section for the previous transmission blocks. Node device and a that transmission control unit. スイッチ部を通じて受信側ノード部にデータを送信するノード装置であって、受信側ノード部へ転送する一連のデータを1以上のデータの集まりであるブロック単位に分割しシリアル ID を付与して前記スイッチ部へ送信するデータ送信手段と、送信したブロックに対して前記スイッチ部からデータ消滅通知が返却された場合に当該データの再送信を前記データ送信手段に指示する再送信制御手段と、前記データ送信手段からの再送信以外のブロックの送信を指示する手段であって、順序保証が必要なブロックの送信はそれ以前の送信ブロックについてデータ送出完了通知が前記スイッチ部から返却されるまで停止させる送信制御手段とを備え、且つ、前記送信制御手段は、前記スイッチ部からデータ送出完了通知が返却されていないブロックのうちの最小のシリアルIDを保持する第1の手段と、前記スイッチ部からデータ送信完了通知が返却されていないブロックであって順序保証が必要なブロックのうちの最小のシリアルIDを保持する第2の手段と、前記データ送信手段に対して次回送出予定の送出指示で指定するシリアルIDが前記第2の手段に保持されたシリアルIDと一致し且つ前記第1の手段が保持するシリアルIDが前記第2の手段が保持するシリアルIDより小さい場合に、前記第1の手段が保持するシリアルIDが前記第2の手段が保持するシリアルIDと一致するまで前記データ送信手段に対する送出指示の送出を停止する第4の手段とを含むノード装置。 A node device that transmits data to a receiving-side node unit through a switching unit, wherein the series of data to be transferred to the receiving-side node unit is divided into block units that are a collection of one or more data, and a serial ID is assigned to the switch. A data transmission unit for transmitting to the data transmission unit, a retransmission control unit for instructing the data transmission unit to retransmit the data when a data disappearance notification is returned from the switch unit to the transmitted block, and the data transmission Means for instructing transmission of a block other than retransmission from the means, wherein transmission of a block requiring an order guarantee is stopped until a data transmission completion notification is returned from the switch unit for the previous transmission block and means, and the transmission control unit, data transmission completion notification from the switch unit is not returned block A first means for holding the smallest serial ID, and a second means for holding the smallest serial ID of the blocks that do not receive a data transmission completion notification from the switch unit and require an order guarantee. And the serial ID designated by the transmission instruction to be sent next time to the data transmission means coincides with the serial ID held in the second means, and the serial ID held by the first means is When the serial ID held by the second means is smaller than the serial ID held by the second means, the sending of the sending instruction to the data transmission means is stopped until the serial ID held by the second means matches the serial ID held by the second means And a fourth device.
JP2002114345A 2002-04-17 2002-04-17 Data transfer method and node device Expired - Fee Related JP3767508B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002114345A JP3767508B2 (en) 2002-04-17 2002-04-17 Data transfer method and node device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002114345A JP3767508B2 (en) 2002-04-17 2002-04-17 Data transfer method and node device

Publications (2)

Publication Number Publication Date
JP2003309593A JP2003309593A (en) 2003-10-31
JP3767508B2 true JP3767508B2 (en) 2006-04-19

Family

ID=29396194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002114345A Expired - Fee Related JP3767508B2 (en) 2002-04-17 2002-04-17 Data transfer method and node device

Country Status (1)

Country Link
JP (1) JP3767508B2 (en)

Also Published As

Publication number Publication date
JP2003309593A (en) 2003-10-31

Similar Documents

Publication Publication Date Title
US5020020A (en) Computer interconnect system with transmit-abort function
US5187780A (en) Dual-path computer interconnect system with zone manager for packet memory
EP0706137B1 (en) Queued arbitration mechanism for data processing system
US5193149A (en) Dual-path computer interconnect system with four-ported packet memory control
KR100692350B1 (en) Flow control method and apparatus for single packet arrival on a bidirectional ring interconnect
US7061929B1 (en) Data network with independent transmission channels
EP0498201A2 (en) Generic high bandwidth adapter architecture
JPH0786863B2 (en) Processor access control device for multi-processor system
JPS63234343A (en) Communication between station of system of a plurality of processors linked to communication medium and a plurality of stations
JPH02501971A (en) Hierarchical arbitration system
JPH06180682A (en) Method and apparatus for data transfer
EP2975530A1 (en) Requests and data handling in a bus architecture
US6975626B1 (en) Switched network for low latency communication
GB2365596A (en) Transfer acknowledgement in a bus system
US7065580B1 (en) Method and apparatus for a pipelined network
EP1442376B1 (en) Tagging and arbitration mechanism in an input/output node of a computer system
US6681274B2 (en) Virtual channel buffer bypass for an I/O node of a computer system
JP2008541276A (en) Simultaneous read response confirmation extended direct memory access unit
JP4391819B2 (en) I / O node of computer system
JP4489116B2 (en) Method and apparatus for synchronous non-buffer flow control of packets over ring interconnect
JPH05227253A (en) Method of exchanging message between shared memory using efficient logical protocol and communication adapter
JP3767508B2 (en) Data transfer method and node device
US6839784B1 (en) Control unit of an I/O node for a computer system including a plurality of scheduler units each including a plurality of buffers each corresponding to a respective virtual channel
EP1139228A2 (en) An intelligent bus interconnect unit
JP2007241922A (en) Arbitration method for use of shared resource, and arbitration device therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060123

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100210

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110210

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120210

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees