JP3709289B2 - データ再送を実行するデータ送受信装置及び並列プロセッサシステム - Google Patents

データ再送を実行するデータ送受信装置及び並列プロセッサシステム Download PDF

Info

Publication number
JP3709289B2
JP3709289B2 JP24675198A JP24675198A JP3709289B2 JP 3709289 B2 JP3709289 B2 JP 3709289B2 JP 24675198 A JP24675198 A JP 24675198A JP 24675198 A JP24675198 A JP 24675198A JP 3709289 B2 JP3709289 B2 JP 3709289B2
Authority
JP
Japan
Prior art keywords
data
retransmission
switching device
transmission
reception
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
JP24675198A
Other languages
English (en)
Other versions
JP2000076208A (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP24675198A priority Critical patent/JP3709289B2/ja
Priority to US09/386,302 priority patent/US6543014B1/en
Publication of JP2000076208A publication Critical patent/JP2000076208A/ja
Application granted granted Critical
Publication of JP3709289B2 publication Critical patent/JP3709289B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/555Error detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明はデータ送受信装置に係り、特に転送エラーが発生した場合にデータを再送する機能を有するデータ送受信装置に関する。
【0002】
【従来の技術】
従来、複数の処理ノードをネットワークで接続した並列プロセッサシステムにおいては、処理ノード間のデータ転送中にネットワーク内で転送エラーが発生した場合であっても送信側処理ノードからの再送信を行っていた。
【0003】
以下、このような従来技術について具体的に説明する。
【0004】
図9は、従来の並列プロセッサシステムを示すブロック図である。
【0005】
この並列プロセッサシステムでは、データ送信装置300及びデータ受信装置400を備えたデータ転送装置608を各々有するN個のプロセッサエレメント600(1)〜(N)が相互結合網700を介して互いに接続されている。
【0006】
図9において、各プロセッサエレメント600(1)〜(N)は、プロセッサ602、メモリ604、内部バス606、他のプロセッサエレメントとの間のデータ通信の為のデータ転送装置608をそれぞれ有している。また、各プロセッサエレメント600(1)〜(N)のデータ転送装置608と相互結合網700との間には、それぞれ外部バス612(1)〜(N)が設けられている。
【0007】
この並列プロセッサシステムにおいて、例えば、プロセッサエレメント600(1)からプロセッサエレメント600(N)にデータ転送を行った場合に、相互結合網700内にて転送エラーが発生したとする。すると、以下に説明するデータ送信装置300及びデータ受信装置400の動作に基づき、宛先のプロセッサエレメント600(N)では、この転送エラーに基づく受信エラーを検出し、プロセッサエレメント600(N)内のデータ転送装置608からプロセッサエレメント600(1)に再送要求信号を送信する。プロセッサエレメント600(1)は再送要求信号を受信することにより、転送処理を一時中断し、プロセッサエレメント600(1)内のデータ転送装置608から転送エラーの発生したデータを再送する。
【0008】
図7に、プロセッサエレメント600内のデータ転送装置608が備えるデータ送信装置300及びデータ受信装置400のブロック図を示す。これらの装置は各プロセッサエレメントのデータ転送装置608内に備えられて、データの送受信を行うが、図7では、データ送信装置300とデータ受信装置400がそれぞれ別のプロセッサエレメントに備えられて、両者の間でデータ転送が行われるものとして説明する。
【0009】
データ送信装置300は、FIFOメモリ302、FIFO制御回路304、ECC回路306、データラッチ308、データセレクタ310、及びデータ送信制御回路312を備える。そして、データ送信装置300はデータ16を順次送信し、かつ、送信したデータに対してデータ受信装置400でエラーが検出された場合には、データ受信装置400から返送されてくる再送要求信号18を受信する。
【0010】
一方、データ受信装置400は、データラッチ404とECC回路406とを備えるデータ受信回路402、FIFOメモリ408、FIFO制御回路410、及びデータ受信制御回路412を備えている。このうち、データラッチ404は、データ送信装置300からのデータ16を受信するための回路である。
【0011】
データ送信を行う場合、データ送信装置300内のデータ送信制御回路312は、FIFO制御回路304に指示を与えてFIFOメモリ302からデータを取り出させる。そして、取り出させたデータをデータセレクタ310に選択させて送信データ16として送信させ、かつ、データラッチ308にそのデータを保持させる。データ送信制御回路312は、このようにしてあるデータ(データn+1)を送信させ、かつ、このデータをデータラッチ308に保持させたうえで、FIFO制御回路304にFIFOメモリ302から引き続くデータ(データn+2)を取り出させ、データセレクタ310に送信させる。その後、先に送信したデータn+1に対する再送要求信号18の有無を判定する。
【0012】
判定の結果、データn+1に対する再送要求信号18を受信していないと判定した場合には、データn+2をデータラッチ308に保持させ、それまでデータラッチ内に保持されていたデータn+1を更新する。そして、FIFO制御回路304のFIFOポインタを更新させる。その後、FIFO制御回路304にFIFOメモリ302から引き続くデータ(データn+3)を取り出させ、このデータn+3をデータセレクタ310に送信させると言う一連のデータ連続送信動作を実行する。
【0013】
一方、判定の結果、データn+1に対する再送要求信号18を受信したと判定した場合には、データn+2をデータラッチ308に保持させずにデータn+1を維持させ、FIFO制御回路304のFIFOポインタの更新を禁止する。そして、データラッチ308が保持しているデータn+1をデータセレクタ310に再送データとして送信させるという再送動作を実行する。
【0014】
データの受信を行う場合、データ受信装置400内のデータ受信制御回路412は、データ送信装置300から送られてくるデータをデータ受信回路402に受信させる。そして、データ受信回路402から出力されたデータをFIFOメモリ408へ格納させる。
【0015】
データ受信制御回路412は、このようにしてあるデータ(データn+1)をFIFOメモリ408に格納させた後、データ送信装置300から送られてくる次のデータ(データn+2)をデータラッチ404に受信させる。その後、ECC回路406によるデータn+1に対する誤り検出信号17の生成の有無を判定する。この際、FIFO制御回路410のFIFOポインタは、FIFOメモリ408の全領域のうちのデータn+1が格納された領域を示している。
【0016】
判定の結果、データn+1に対する誤り検出信号17が生成されていないと判定した場合には、FIFO制御回路410のFIFOポインタを更新させる。そして、ECC回路406によりデータn+2に対する検査及び出力を実行させ、ECC回路406から出力されたデータn+2をFIFOメモリ408へ格納させる。その後、データ送信装置300から転送されてくる次のデータ(データn+3)をデータラッチ404に受信させるという一連のデータ連続受信動作を実行する。
【0017】
一方、判定の結果、データn+1に対する誤り検出信号17が生成されたと判定した場合には、データ送信装置300へ向けて再送要求信号18を送信する。一方、FIFOメモリ408に格納されたデータn+1を廃棄させるようにFIFO制御回路410のポインタの更新を禁止し、また、受信済のデータn+2も廃棄するようにECC回路406による検査及び出力を禁止する。そして、データ送信装置300から送られてくる再送データに対して、データ受信回路402による受信、検査及び出力を各々実行させる。その後、データ受信回路402から出力された再送データを上記ロックされたFIFOポインタに基づいてFIFOメモリ408へ格納させるという再受信動作を実行する。
【0018】
図8は、以上のデータ送信装置300及びデータ受信装置400の動作を示したタイムチャートである。
【0019】
データ送信装置300では、例えばデータn+1を送信した後、データn+1に対する再送要求信号18の受信の有無を確認しないまま次のデータn+2をパイプライン方式で連続的に送信する。一方、データ受信装置400は、データn+1を受信した後、データn+1の誤りの有無を確認しないままデータn+2をパイプライン方式で連続的に受信する。そして、データn+1について転送エラーが生じた場合には、データ受信装置400はデータ送信装置300に再送要求信号18を送信して、受信したデータn+1とデータn+2との双方がデータ受信装置400内で廃棄される。その後、データ送信装置300のデータラッチ308から再送データ(Rデータn+1)がデータセレクタ310を通して直ちに送信される。しかも、Rデータn+1に引き続いて次のデータn+2も直ちに再送される。
【0020】
尚、以上のような従来技術に関するものとして特開平5−61798号公報に記載されたものが知られている。
【0021】
【発明が解決しようとする課題】
上記した従来技術においては、データ転送装置608が連続的にデータを送信するといってもデータn+1からデータn+3まで連続して送信しているに過ぎない。また、再送用のデータを一時的に保存するためのデータラッチをメモリとは別にデータ送信装置に持たせており、再送は1データ単位でしか行っていない。このような構成では、一時保存用のラッチ等の関係で転送距離と転送速度に制約を与えてしまう。
【0022】
更に、プロセッサエレメント間でのデータ転送処理中にエラーが発生したポイントが仮に相互結合網内であったとしても、再送するには、必ず送信プロセッサエレメントから行わなければならない。また、送信プロセッサにおいて、この再送をソフトフェアによって実行する場合には、そのシステム上でのオーバヘッドが大きくなってしまう。
【0023】
そこで、本発明の目的は、システム内の任意のポイントからデータ再送を行うことを可能とし、また再送データ数を可変としてシステムにおける転送距離や転送速度の制約なく、データ再送を行える並列プロセッサシステム及びデータ送受信装置を提供するものである。
【0024】
【課題を解決するための手段】
上記目的を達成するため、本発明の並列プロセッサシステムでは、少なくとも1つのスイッチング装置により相互結合された複数の処理ノードの各々が、スイッチング装置に対して転送データを送信し、また、スイッチング装置から送信されてくる転送データを受信する。また、スイッチング装置は、いずれかの処理ノードまたは他のスイッチング装置から送信される転送データを受信し、該転送データを宛先の処理ノードまたは他のスイッチング装置に対して送信する。そして、受信側の処理ノードまたはスイッチング装置で受信したデータのエラーを検出した場合、送信側の処理ノードまたはスイッチング回路へ転送データの再送要求を行い、送信側の処理ノードまたはスイッチング回路は、再送要求に応じて転送データを再送する。
【0025】
また、本発明の並列プロセッサシステムでは、各処理ノード及びスイッチング装置がそれぞれデータ送受信装置を備え、各データ送受信装置は、送受信する複数個のデータを一時的に保持する転送データバッファと、転送データの送受信と転送データバッファに対する送信データの読み出し及び受信データの書き込みとを制御する送受信制御手段と、受信データのエラーの有無を検出するエラー検出手段と、前記エラー検出手段がエラーを検出した場合に送信側の処理ノードまたはスイッチング回路へ再送要求を発行し、また、受信側の処理ノードまたはスイッチング装置から発行された再送要求を受信した場合に前記送受信制御手段へデータの再送を指示する再送制御手段とを備える。そして、送受信制御手段は、再送指示に応じて転送データバッファに保持されている既送信データを再度読み出して再送する。
【0026】
更に、転送データバッファは、複数のデータ保持領域を備えて送受信するデータを送信順または受信順に連続する保持領域に保持し、送受信制御手段は、転送データバッファ内の各保持領域を指示するポインタを制御するバッファ制御手段を備える。そして、バッファ制御手段は、再送指示に応じて、予め決められた減算値をその時点でのポインタから減算し、減算したポインタで指示される領域以降の領域に保持されている減算値分の複数の既送信データを順次読み出し、送受信制御手段は、読み出された複数の既送信データを再送する。
【0027】
このように構成することにより、処理ノードとスイッチング装置との間でデータ転送中に転送エラーが発生した場合でも、送信側の処理ノードまたはスイッチング装置から再送処理を行うことができるため、常に送信側の処理ノードが再送処理を行う必要がなくなり、処理ノードの再送処理にかかるオーバーヘッドを大幅に削減できる。
【0028】
また、再送するデータ数を可変にすることができるため、各装置間の転送速度及び転送距離の制約をなくしてデータの再送を行うことができる。
【0029】
【発明の実施の形態】
以下、本発明の実施例について、図1から図6を用いて具体的に説明する。
【0030】
図5に本実施例における並列プロセッサシステムの構成図を示す。
【0031】
図5において、N(0)〜N(17)はそれぞれ処理ノードである。また、S(00)〜S(20)は各処理ノード間を相互結合するスイッチング回路である。ここで、スイッチング回路S(00)〜S(02)は、それぞれスイッチング回路S(10)と接続し、スイッチング回路S(03)〜S(05)は、それぞれスイッチング回路S(11)と接続し、また、スイッチング回路S(10)とS(11)は、それぞれスイッチング回路S(20)と接続することによりノード間ネットワーク装置を構成している。
【0032】
また、スイッチング回路のうちS(00)〜S(05)は、ここではそれぞれ3台の処理ノードと接続している。
【0033】
このように処理ノードN(0)〜N(17)を、多段に接続されたスイッチング回路S(00)〜S(20)を介して相互結合することにより、並列プロセッサシステムを構成している。そして、各処理ノードN(0)〜N(17)は、スイッチング回路S(00)〜S(20)を介して相互にデータ転送を行う。
【0034】
尚、以上の構成における処理ノードNの数、スイッチング回路Sの数、及びスイッチング回路Sに接続する処理ノードNの数等は一例にすぎない。
【0035】
図6に、図5において太線で囲まれた処理ノードN(0)〜N(2)及びスイッチング回路S(00)の詳細な構成図を示す。
【0036】
図6において、処理ノードN(0)はプロセッサP、メモリMとデータ送受信装置100、及びこれらの間を接続する内部バス等から構成されている。処理ノードN(0)は、プロセッサPの指示によりメモリMに格納されているデータをデータ送受信装置100を介して、接続しているスイッチング回路S(00)へ転送し、また、スイッチング回路S(00)から転送されてきたデータをデータ送受信装置100で受信してメモリMへ格納する。他の処理ノードN(1)〜N(17)についても同様の構成を備えている。
【0037】
一方、スイッチング回路S(00)は、接続している各処理ノードに対応して設けられているデータ送受信装置200(0)〜200(2)と、各処理ノードと次段のスイッチング回路S(10)とを選択的に接続するスイッチング部S(0)等から構成されている。スイッチング回路S(00)は、接続しているいずれかの処理ノードN(0)〜N(2)から転送されてきたデータを、対応するデータ送受信装置200で受信し、スイッチング部S(0)がそのデータ送受信装置200を次段のスイッチング回路S(10)へ接続することにより受信データをデータ送受信装置200からスイッチング回路S(10)へ転送する。また、スイッチング回路S(10)から転送されてきたデータを、スイッチング部S(0)を介して転送すべき処理ノードN(0)〜N(2)に対応するデータ送受信装置200で受信し、受信データをデータ送受信装置200から対応する処理ノードN(0)〜N(2)へ転送する。他のスイッチング回路S(01)〜S(20)についても同様の構成を備えている。
【0038】
図1に、本実施例において処理ノードN(0)〜N(17)とスイッチング回路S(00)〜S(20)がそれぞれ備えるデータ送受信装置100及びデータ送受信装置200の詳細な構成図を示す。
【0039】
データ送受信装置100及びデータ送受信装置200は共に同一の構成を備え、データの送受信を実行するものである。但し、ここでは説明を簡単にするため、データ送受信装置100を送信側、データ送受信装置200を受信側として各々の構成及び動作を説明する。
【0040】
図1において、データ送受信装置100は、データの送信処理に必要な構成として、転送データバッファ110、バッファ制御回路111、データ送信制御回路112、データ受信制御回路113、再送制御回路114、リトライ既定値設定回路115、再送リトライカウント回路116、コンペア回路117及びポインタ減算既定値設定回路118を備える。
【0041】
このうち転送データバッファ110は、ある一定の数のデータを保持できるだけの領域を持ち、次段のデータ送受信装置に送信するためのデータと、また、前段のデータ送受信装置から受信したデータを一時的に蓄えておくバッファである。この転送データバッファ110は、送信するためのデータまたは受信したデータを、例えばFIFO形式により送信順または受信順に連続した領域に保持し、各データを保持する各々の領域は、それぞれ読み出しポインタまたは書き込みポインタで指示される。バッファ制御回路111は、転送データバッファ110への書き込み及び読み出しのポインタの制御、及びそのポインタによる転送データバッファ110に対するデータの読み出し、書き込みを行い、さらに、再送時に、ポインタ減算既定値設定回路118に設定されている1フレーム分の減算既定値を用いてポインタの減算を行い、そのポインタにより再送用データの読み出しを行う回路である。データ送信制御回路112は、転送データの送信制御及び転送データバッファ110からの転送データの読み出しをバッファ制御回路111に指示し、さらに、再送データの送信時、バッファ制御回路111へ書き込みポインタの減算指示と減算したポインタにより転送データバッファ110から再送データの読み出しを指示する回路である。データ受信制御回路113は、転送データの受信制御及び転送データバッファ110への転送データの書き込みをバッファ制御回路111に指示する回路である。再送制御回路114は、再送要求信号10を受信した際に、データ送信制御回路112へ転送データの送信中断及びエラーが検出されたデータの再送を指示する回路である。リトライ既定値設定回路115は、再送時のエラー検出による最大再送リトライ回数の既定値が設定される回路であり、リトライ既定値は任意の値を設定できる。再送リトライカウント回路116は、同一データの再送時における再送リトライ回数をカウントする回路である。コンペア回路117は、リトライ既定値設定回路115と再送リトライカウント回路116の値を比較し、両者の値が一致していたら一致信号13を再送制御回路114に発信する回路である。ポインタ減算既定値設定回路118は、再送時に、バッファ制御回路111が転送データバッファ110から再送用のデータを読み出すためにポインタの減算を行う際に使用する1フレーム分の減算既定値が設定される回路である。ここで、1フレームとは、1回のデータ再送において再送を行うデータ数を指し、減算既定値は、送受信装置間の転送速度、転送距離に応じて任意に設定できる。但し、1フレームのデータ数は、転送データバッファ110に保持できるデータ数以下とする。また、リトライ既定値設定回路115とポインタ減算既定値設定回路118に対するリトライ既定値と減算既定値の設定は、それぞれ上位に存在するシステム制御装置(図示せず)により行う。
【0042】
一方、図1において、データ送受信装置200は、データの受信処理に必要な構成として、転送データバッファ210、バッファ制御回路211、データ送信制御回路212、データ受信制御回路213、エラー検出器214、再送制御回路215、リトライ既定値設定回路216、再送リトライカウント回路217、コンペア回路218及びポインタ減算既定値設定回路219を備える。
【0043】
このうち転送データバッファ210は、ある一定の数のデータを保持できるだけの領域を持ち、前段のデータ送受信装置からの受信データであって次段のデータ送受信装置に送信するためのデータを一時的に蓄えておくバッファである。この転送データバッファ210は、例えばFIFO形式により受信したデータを受信順に連続した領域に保持し、各データを保持する各々の領域は、それぞれ読み出しポインタまたは書き込みポインタで指示される。バッファ制御回路211は、転送データバッファ210への書き込み、読み出しのポインタの制御、及びそのポインタによる転送データバッファ210に対するデータの読み出し、書き込みを行い、さらに、再送時に、ポインタ減算既定値設定回路219に設定されている1フレーム分の減算既定値を用いてポインタの減算を行い、そのポインタにより再送用データの書き込みを行う回路である。データ送信制御回路212は、転送データの送信制御及び転送データバッファ210からの転送データの読み出しをバッファ制御回路211に指示する回路である。データ受信制御回路213は、転送データの受信制御及び転送データバッファ210への転送データの書き込みをバッファ制御回路211に指示し、さらに、再送データの受信時、バッファ制御回路211へ書き込みポインタの減算指示と減算したポインタにより転送データバッファ210へ再送データの書き込みを指示する回路である。エラー検出器214は、データ11のデータ転送エラーの有無のチェックを行い、エラーを検出した場合にはエラー検出信号14を再制御回路215に発信する回路である。再送制御回路215は、エラー検出器214からのエラー検出信号14を受け、前段のデータ送受信装置に対して再送要求信号10を発信し、データ受信制御回路213に再送データの受信を指示する回路である。リトライ既定値設定回路216は、再送時のエラー検出による最大再送リトライ回数の既定値が設定される回路であり、リトライ既定値は任意の値を設定できる。再送リトライカウント回路217は、再送データの受信時に再度、転送エラーを検出することによる再送受信リトライ回数をカウントする回路である。コンペア回路218は、リトライ既定値設定回路216と再送リトライカウント回路217との値を比較し、一致した場合には再送制御回路215に再送動作中止信号15を発信する。ポインタ減算既定値設定回路219は、再送時に、バッファ制御回路211が転送データバッファ210へ再送データを書き込むためにポインタの減算を行う際に使用する1フレーム分の減算既定値が設定される回路であり、減算既定値は送受信装置間の転送速度、転送距離に応じて任意に設定できる。但し、1フレームのデータ数は、転送データバッファ110に保持できるデータ数以下とする。また、減算既定値は、送信側装置と受信側装置との間で共通の値を設定する。また、リトライ既定値設定回路216とポインタ減算既定値設定回路219に対するリトライ既定値と減算既定値の設定は、上位に存在するシステム制御装置(図示せず)により行う。
【0044】
上述した構成に加えて、データ送受信装置100は、データの受信処理に必要な構成として、データ送受信装置200において説明したのと同様のエラー検出器119、再送制御回路120、リトライ既定値設定回路121、再送リトライカウント回路122、コンペア回路123を備えている。また、データ送受信装置200は、データの送信処理に必要な構成として、データ送受信装置100において説明したのと同様の再送制御回路220、リトライ既定値設定回路221、再送リトライカウント回路222、コンペア回路223を備えている。このように、両データ送受信装置100、200は同一の構成となっている。
【0045】
尚、本実施例では、両データ送受信装置100、200は、データ送信用の再送制御回路とデータ受信用の再送制御回路をそれぞれ備えているが、送信用と受信用とを兼用させて1つの再送制御回路のみを備える構成としても良い。
【0046】
また、本実施例では、両データ送受信装置100、200がそれぞれエラー検出器119、214を備え、エラーを検出した場合に再送制御回路120、215から再送要求信号10を発信しているが、各処理ノードNまたは各スイッチング回路Sが各データ送受信装置100、200の外部にエラー検出を行う装置を備え、そこから再送要求信号を発信する構成としても良い。また、処理ノードNにおいて、ソフトウェアによってデータ転送エラーのチェック及び再送要求信号の発信を行うように構成しても良い。
【0047】
次に、本実施例のデータ送受信装置100、200の動作を図2〜図4に示す。
【0048】
尚、本実施例のデータ送受信装置間では、データ転送要求元(本実施例では各ノード内のプロセッサPが該当する)から転送を指示された可変長の一連のデータを、所定のデータ単位(例えば2byteや4byte)毎に連続して転送(送受信)する。そして、一連のデータを構成する全てのデータ単位を転送し終えることにより、そのデータの転送が終了する。従って、以下の説明では、一回の転送動作で送受信される個々のデータ単位をそれぞれ転送データ或いは再送データとしてデータの送受信動作を説明する。
【0049】
図2は、データ送受信装置100における送信動作を示すフローチャートである。
【0050】
データ送受信装置100では、データ送信時、データ送信制御回路112がバッファ制御回路111に転送データバッファ110からの転送データの読み出しを指示し、それに従ってバッファ制御回路111が転送データバッファ110から転送データを読み出す(S101)。ここでデータ制御回路112は、転送データバッファ110から読み出されたデータが、転送すべき一連のデータを構成する最初のデータ(データ単位)である場合、即ち、ある一連のデータの転送を開始する場合には、その読み出されたデータ(最初のデータ)に、一連のデータの転送開始を示す情報(開始フラグ)、そのデータの宛先を示す情報(宛先アドレス)等の必要な制御情報を付加して次段のデータ送受信装置に送信する(S102)。また、最初のデータ以外のデータの場合には、読み出されたデータのみを送信する(S102)。但し、最初のデータ以外のデータであっても、開始フラグを除く上記した制御情報または上記以外の制御情報を付加して送信する構成としても良い。バッファ制御回路111は、転送データバッファ110から転送データを読み出すと、転送データバッファ110内の読み出すべきデータの保持領域を示す読み出しポインタを更新する(S103)。
【0051】
再送制御回路114では、送信したデータに対する次段のデータ送受信装置からの再送要求信号10の受信の有無を監視している(S104)。次段のデータ送受信装置から再送要求信号10を受信していなければ、再送制御回路114からデータ送信制御回路112へ、再送要求は無い旨を示す、例えばLowレベルの信号が与えられている。
【0052】
データ送信制御回路112は、データを送信すると、再送制御回路114からLowレベルの信号を受けていることを認識して、転送すべき一連のデータを構成する全ての転送データの送信処理を終了したか否かの確認を行い(S105)、送信を終了していなければ終了するまで、S101〜S105の動作を繰り返す。全ての転送データの送信を終了すると、データ送信制御回路112は、一連のデータの転送終了を示す情報(終了フラグ)を一つのデータとして次段のデータ送受信装置に送信し、その一連のデータの送信動作を終了し、引き続き新たな一連のデータの転送を開始する。もし引き続き転送すべき新たな一連のデータが無ければ、そのようなデータの転送をデータ転送要求元から指示されるまで待機する。
【0053】
一方、再送制御回路114において、再送要求信号10を受信したと判定した場合には(S104)、再送制御回路114は、再送要求信号10を受信した旨を示す、例えばHighレベルの信号を再送リトライカウント回路116に発信する。再送リトライカウント回路116は、通常状態ではカウント値「0」を示しており、再送制御回路114からHighレベルの信号を受けると、再送リトライ回数をカウントアップする。このカウントアップされた再送リトライ回数はリトライ既定値設定回路115に設定されている最大再送リトライ回数の既定値とコンペア回路117で比較される(S106)。両者の回数が一致、或いは、カウントアップされた再送リトライ回数が最大再送リトライ回数の既定値より大きくなければ、コンペア回路117から再送制御回路114へ、例えばLowレベルの信号13が与えられている。
【0054】
再送制御回路114は、コンペア回路117からLowレベルの信号13を受けていることを認識して、データ送信制御回路112にデータの送信動作の中断及びデータの再送を要求するHighレベルの信号を発信する。データ送信制御回路112は、再送制御回路114からHighレベルの信号を受信したことを認識して、バッファ制御回路111に対して転送データバッファ110からの転送データの読み出しの中断を指示する。バッファ制御回路111は転送データバッファ110からの転送データの読み出しを中断する(S108)。
【0055】
次に、データ転送制御回路112は、バッファ制御回路111にバッファ読み出しポインタの減算を指示する。バッファ制御回路111は、ポインタ減算既定値設定回路118に設定されている1フレーム分の減算既定値をその時点でのバッファ読み出しポインタ値から減算する(S109)。その後、データ送信制御回路112は、バッファ制御回路111に転送データバッファ110からの再送データの読み出し開始を指示する。バッファ制御回路111は、減算したポインタ値を用いて転送データバッファ110から再送データを読み出す(S110)。バッファ制御回路111は、転送データバッファ110から再送データを読み出すと読み出しポインタを更新する。データ転送制御回路112は、データの再送開始を示す再送開始フラグを一つのデータとして再送を要求した次段のデータ送受信装置に送信する。そして、読み出された再送データを送信する(S111)。データ転送制御回路112は、データを送信すると、再送すべき1フレーム分の再送データを全て送信したかを確認し(S112)、全て送信するまで、S110〜S112の動作を繰り返す。1フレーム分の再送データの送信が終了すると、データ送信制御回路112は、データの再送終了を示す再送終了フラグを一つのデータとして次段のデータ送受信装置に送信し、データの再送信を終了する。
【0056】
この再送動作の間も、再送制御回路114は、再送データに対する再送要求信号10の受信の有無を監視している(S113)。再送要求信号10を受信していなければ、再送制御回路114からデータ送信制御回路112へ、Lowレベルの信号が与えられている。
【0057】
データ送信制御回路112では、データの再送信終了後、再送制御回路114からLowレベルの信号を受けていることを認識した場合には、通常動作に復帰し、S101以降の動作を再開する。
【0058】
しかし、再送制御回路114が再び再送要求信号10を受信したと判定した場合には、再送制御回路114は、再送要求信号10を受信した旨のHighレベルの信号を再送リトライカウント回路116に発信する。再送リトライカウント回路116は、再送制御回路114からのHighレベルの信号を受けて再送リトライ回数をカウントアップする。このカウントアップされた再送リトライ回数はリトライ既定値設定回路115に設定されている最大再送リトライ回数の既定値とコンペア回路117で比較される(S106)。両者の回数が一致、或いは、カウントアップされた再送リトライ回数が最大再送リトライ回数の既定値より大きくなければ、Lowレベルの信号13が再送制御回路114に与えられている。再送制御回路114は、コンペア回路117からLowレベルの信号13を受けていることを認識して、データ送信制御回路112にデータの再送を要求するHighレベルの信号を発信する。
【0059】
データ送信制御回路112は、データの再送信終了後に、再送制御回路114からHighレベルの信号を受信したことを認識して、前述のS108〜S113の動作を繰り返す。但し、この場合、既に再送信が終了した後にS108以降の動作を行うため、その時点では転送データバッファ110からのデータの読み出しは行っていない。従って、S108の動作は行わず、実質的にS109以降の動作を行う。そして、再送制御回路114からHighレベルの信号を受信することなくデータの再送動作を終了するか、コンペア回路117で再送リトライカウント回路116の値とリトライ既定値設定回路115の値の比較結果が一致したことに応じて再送制御回路114から再送動作の中止を指示する信号を受信するまで、以上の再送動作を繰り返す。
【0060】
一方、コンペア回路117での比較の結果(S106)、再送リトライカウント回路116の値とリトライ既定値設定回路115の値が一致した場合には、コンペア回路117からHighレベルの信号13が再送制御回路114に発信される。再送制御回路114は、このHighレベルの信号13を受信したことを認識すると、データ送信制御回路112に再送動作の中止を指示する信号を発信する。また、再送制御回路114は、再送を引き起こした障害を固定障害と判断し、固定障害の発生を図示しないシステム制御装置に通知する。データ送信制御回路112は、再送動作の中止を指示する信号を受信したことを認識して再送動作を中止し、送信動作を終了する。
【0061】
図3は、データ送受信装置200における受信動作を示すフローチャートである。
【0062】
データ送受信装置200では、前段のデータ送受信装置から転送されてくるデータ11を連続して受信する。このとき、ある一連のデータの受信を開始する場合、即ち、転送されてきたデータ11がある一連のデータを構成する最初のデータ(データ単位)である場合には、データ受信制御回路213は、そのデータに付加された転送開始を示す情報(開始フラグ)、宛先を示す情報(宛先アドレス)等の制御情報を検出し、その一連のデータの受信を開始する(S201)。そして、バッファ制御回路211に対して受信データ11の転送データバッファ210への書き込みを指示する。その指示に従って、バッファ制御回路211はデータ11を転送データバッファ210に書き込む(S202)。その後、転送データバッファ210内の転送データを書き込むべき領域を示す書き込みポインタを更新する。
【0063】
エラー検出器214は、データ11を受信する度に、受信データ11に対する転送エラーを検出したか否かを判定する(S203)。判定の結果、エラーを検出しなければ、エラー検出器214から再送制御回路215に与えられているエラー検出信号14は、エラーを検出していない旨を示す、例えばLowレベルのままである。
【0064】
再送制御回路215は、エラー検出器214からのエラー検出信号14を監視しており、エラー検出信号14がLowレベルである間は、再送制御回路215からデータ受信制御回路213へ、エラー未検出を示す、例えばLowレベルの信号が与えられている。
【0065】
データ受信制御回路213は、再送制御回路215からLowレベルの信号を受けていることを認識して、一連のデータの転送終了を示す情報(終了フラグ)を検出したか、即ち、受信すべき一連のデータを構成する全ての転送データの受信を終了したかの確認を行う(S204)。受信処理を終了していなければ終了するまでS201〜S204の動作を繰り返す。エラー検出器214が転送エラーを検出することなくデータ受信制御回路213が終了フラグを検出すると、データ受信制御回路213は、全ての転送データの受信を終了したことを認識し、その一連のデータの受信動作を終了する。その後、引き続いて、新たに転送されてくる別の一連のデータがあれば、そのデータの受信を開始する。もし、引き続き受信すべき新たな一連のデータが転送されてこなければ、転送されてくるまで待機する。
【0066】
一方、エラー検出器214が受信データ11に対する転送エラーを検出すると(S203)、再送制御回路215にエラー検出を示すHighレベルのエラー検出信号14を発信する。再送制御回路215は、Highレベルのエラー検出信号14を受信すると、データ送信制御回路212に転送中のデータの送信中断を指示する信号を発信する。データ送信制御回路212は、再送制御回路215からの指示信号に応じて、バッファ制御回路211に対して転送データバッファ210からの転送データの読み出し処理の中断を指示する。バッファ制御回路211は、転送データバッファ210からの転送データの読み出しを停止する(S205)。次に、再送制御回路215は、前段のデータ送受信装置に対して再送要求信号10を発信する(S206)。また、データ受信制御回路213に転送エラーを検出した旨を示すHighレベルの信号を発信する。データ受信制御回路213は、再送制御回路215からHighレベルの信号を受信したことを認識するが、データの再送開始を示す再送開始フラグを検出するまでは、引き続き前段のデータ送受信装置から転送されてくるデータの転送データバッファ210への書き込みをバッファ制御回路211に指示する。そして、バッファ制御回路211は、それらのデータを転送データバッファ210に書き込む。その後、データ受信制御回路213は、再送開始フラグを検出すると、バッファ制御回路211にバッファ書き込みポインタの減算を指示する。バッファ制御回路211はポインタ減算既定値設定回路219に設定されている1フレーム分の減算既定値をその時点でのバッファ書き込みポインタ値から減算する(S207)。
【0067】
データ受信制御回路213は、再送データの受信を開始し(S208)、バッファ制御回路211に対して受信した再送データの転送データバッファ210への書き込みを指示する。その指示に従って、バッファ制御回路211は、減算したポインタ値を用いて既に転送データバッファ210に書き込まれている同一データ上に再送データを上書きする(S209)。そして、書き込みポインタを更新する。
【0068】
エラー検出器214は、再送データを受信する度に、再送データに対する転送エラーを検出したか否かを判定する(S210)。転送エラーを検出しなければ、エラー検出器214から再送制御回路215に与えられているエラー検出信号14はLowレベルのままである。また、再送制御回路215からデータ受信制御回路213へも、Lowレベルの信号が与えられている。
【0069】
データ受信制御回路213は、再送制御回路215からLowレベルの信号を受けていることを認識して、データの再送終了を示す再送終了フラグを検出したか、即ち、受信すべき1フレーム分の再送データの受信を終了したかの確認を行う(S211)。終了していなければ終了するまでS208〜S211の動作を繰り返す。エラー検出器214が転送エラーを検出することなくデータ受信制御回路213が再送終了フラグを検出すると、1フレーム分の再送データの受信を終了したことを認識し(S211)、通常動作に復帰してS201以降の動作を再開する。
【0070】
しかし、エラー検出器214が再送データに対する転送エラーを検出した場合には(S209)、再送制御回路215にHighレベルのエラー検出信号14を発信する。再送制御回路215は、Highレベルのエラー検出信号14を受信すると、そのままエラー検出の情報を保持しておく(S212)。データ受信制御回路213は、データの再送終了を示す再送終了フラグを検出するまで、前段のデータ送受信装置から転送されてくる再送データの受信を行い(S213)、転送データバッファ210への書き込みをバッファ制御回路211に指示する。バッファ制御回路211は、減算したポインタ値を用いて既に転送データバッファ210に書き込まれている同一データ上に再送データを上書きする(S214)。そして、データ受信制御回路213は、再送終了フラグを検出したかの確認を行い(S215)、再送データの受信が終了するまでS213〜S215の動作を繰り返す。
【0071】
再送データの受信が終了すると、データ受信制御回路213から再送制御回路215へ受信終了の旨の信号が発信される。データ受信制御回路213からのその信号を受信すると、再送制御回路215は、前段のデータ送受信装置に対して再送要求信号10を再送信する(S216)。また、再送要求信号10の再送信に伴い、再送制御回路215から再送リトライカウント回路217に再送データの転送エラーを検出した旨を示すHighレベルの信号が発信される。再送リトライカウント回路217は、通常状態ではカウント値「0」を示しており、再送制御回路215からHighレベルの信号を受けると、再送リトライ回数をカウントアップする。このカウントアップされた再送リトライ回数はリトライ既定値設定回路216に設定されている最大再送リトライ回数の既定値とコンペア回路218で比較される(S217)。両者の回数が一致、或いは、カウントアップされた再送リトライ回数が最大再送リトライ回数の既定値より大きくなければ、コンペア回路218から再送制御回路215へ、不一致を示す、例えばLowレベルの信号15が与えられている。
【0072】
再送制御回路215は、コンペア回路218からLowレベルの信号15を受けていることを認識して、データ受信制御回路213に、再送データの転送エラーを検出した旨を示すHighレベルの信号を発信する。データ受信制御回路213は、再送制御回路215からHighレベルの信号を受信したことを認識する。そして、データ受信制御回路213は、その後に再送開始フラグを検出すると、上述した再送データの受信動作、即ち、S207〜S211の動作、更に、再送データの転送エラーが発生した場合にはS213〜S215の動作を行う。そして、再送データの転送エラーを検出することなく受信動作を終了するか、コンペア回路218で再送リトライカウント回路217の値とリトライ既定値設定回路216の値の比較結果が一致したことに応じて再送制御回路215から受信動作の中止を指示する信号を受信するまで、再送データの受信動作を繰り返す。
【0073】
一方、コンペア回路218での比較の結果(S217)、再送リトライカウント回路217の値とリトライ既定値設定回路216の値が一致した場合には、コンペア回路218からHighレベルの信号15が再送制御回路215に発信される。再送制御回路215は、このHighレベルの信号15を受信したことを認識すると、データ受信制御回路213に受信動作の中止を指示する信号を発信する。また、再送制御回路215は、転送エラーを引き起こした障害を固定障害と判断し、固定障害の発生を図示しないシステム制御装置に通知する。データ受信制御回路213は、受信動作の中止を指示する信号を受信したことを認識して、それ以降の受信動作を行わず、受信動作を終了する。
【0074】
図4は、上述した送信側のデータ送受信装置100と受信側のデータ送受信装置200の動作を示したタイムチャートである。
【0075】
データ送受信装置100は、データ転送要求元から転送を指示された一連のデータを構成する複数のデータ(データ1,データ2,データ3,…,データN,データN+1,…)を、上述した送信動作に従って転送データバッファ110から読み出し、転送先であるデータ送受信装置200に連続して送信する。このとき、図4に示す通り、データ送受信装置100は、各データ(例えばデータ1)を転送データバッファ110から読み出して送信すると、そのデータ1に対する次段のデータ送受信装置200での転送エラーの検出結果、即ち、転送エラーが検出された場合に次段のデータ送受信装置200から発信される再送要求信号10の受信を待つことなく、データ1に引き続くデータ2,データ3,…を連続して転送データバッファ110から読み出し、1サイクル毎に送信する。
【0076】
一方、データ送受信装置200は、連続して転送されてくるデータを1サイクル毎に受信する。このとき、データを受信する度にエラー検出器214にて転送エラーの検出を行うが、このエラー検出結果を待つことなく、受信データを転送データバッファ210に書き込んでいく。従って、図4に示す通り、例えばデータ1を受信すると、データ1の転送エラーの検出結果を待つことなく、データ1を転送データバッファ210に書き込むと共に、引き続くデータ2,データ3,…を連続して受信し、転送データバッファ210に書き込んでいく。
【0077】
このような受信動作において、例えばデータ2に対して転送エラーが検出された場合には、データ送受信装置200の再送制御回路215からデータ送受信装置100の再送制御回路114へ再送要求信号10が発信される。再送要求信号10は、両データ送受信装置の間の転送速度と転送距離に応じた時間の経過後、データ送受信装置100の再送制御回路114に受信される。図4には、データ送受信装置100がデータNを送信後に、再送制御回路114が再送要求信号10を受信する場合が示されている。
【0078】
データ送受信装置100は、再送要求信号10を受信すると、データの送信動作を中断する。但し、上述した通り、データ送受信装置200がデータ2に対する転送エラーを検出してからデータ送受信装置100が再送要求信号10を受信し、送信動作を中断するまで、各装置間の転送速度と転送距離に応じた時間が必要なため、この時間の間は送信側のデータ送受信装置100ではデータ2以降のデータ、即ちデータ3からデータNまで送信し続ける。そのため、データ送受信装置200は、データ2の転送エラーを検出した後も、データ送受信装置100から転送されてくるデータNまでのデータを受信し、転送データバッファ210に書き込む。
【0079】
次に、データ送受信装置100は再送動作を開始する。このときデータ送信制御回路112における読み出しポインタは、上述した送信動作によりデータN個分まで更新されている。そこで、ポインタ減算既定値設定回路118に設定された値をその時点での読み出しポインタ値から減算する。図4に示す通り、ここでは、データN個分の減算既定値を読み出しポインタ値から減算している。尚、当然ながら、減算既定値としては、受信側のデータ送受信装置が転送エラーを検出してから送信側のデータ送受信装置が送信動作を中断するまでに送信されるデータ数分以上の値が設定される。
【0080】
そして、データ送受信装置100では減算した読み出しポインタを用いて転送データバッファ110からデータ1以降のデータを再度読み出すと共に、再送開始を示す再送開始フラグを送信し、その後、データ1からデータNまでを再送する。
【0081】
データ送受信装置200は、転送されてきた再送開始フラグにより再送開始を認識し、データ送受信装置100と同様に、データ受信制御回路213における書き込みポインタからポインタ減算既定値設定回路219に設定された値を減算する。ポインタ減算既定値設定回路219には、データ送受信装置100のポインタ減算既定値設定回路118と同じ値が設定されており、そのため、データN個分の減算既定値が書き込みポインタから減算される。そして、データ送受信装置200は、再送されてくるデータ1からデータNまでの再送データを受信し、減算した書き込みポインタを用いて転送データバッファ210に再送データを上書きしていく。
【0082】
データ送受信装置100は、データNまでの再送を終了すると、再送終了フラグを送信する。データ送受信装置200は、この再送終了フラグを受信して再送終了を認識する。
【0083】
以上の再送動作において、データ送受信装置200が各再送データの転送エラーを検出しなければ、再送は完了し、図4に示す通り、データ送受信装置100とデータ送受信装置200は、改めてデータN+1以降のデータの送受信を再開する。また、図4には図示していないが、再送データの転送エラーが検出された場合には、データ1からデータNまでの再送動作を繰り返し行う。
【0084】
次に、以上の通りの構成を備えた本実施例の並列プロセッサシステムにおけるデータ転送動作について説明する。
【0085】
ここでは、図5の並列プロセッサシステムにおける処理ノードN(0)から処理ノードN(15)へデータ転送を行う場合を例に取って説明する。
【0086】
処理ノードN(0)のデータ送受信装置100は、自ノード内のプロセッサPの指示に応じて、メモリMから読み出される転送すべきデータを転送データバッファ110に蓄える。そして、処理ノードN(0)のデータ送受信装置100は、上述した送信動作、即ち、図2の送信動作フローチャートに従って、転送データバッファ110に蓄えたデータをスイッチング回路S(00)へ転送する。
【0087】
一方、処理ノードN(0)と処理ノードN(15)を結合する各スイッチング回路内のデータ送受信装置200は、前段の処理ノードまたはスイッチング回路から転送されてくるデータを、上述した受信動作、即ち、図3の受信動作フローチャートに従って受信し、転送データバッファ210に蓄える。そして、データ送受信装置200は、スイッチング回路内のスイッチング部を介して、転送データバッファ210に蓄えた受信データを、上述した送信動作に従って次段のスイッチング回路或いは処理ノードに転送する。
【0088】
このようなデータ転送の途中で、例えば、図5に示すポイントa、即ち、処理ノードN(15)とスイッチング回路S(05)の間で転送エラーが発生したとする。
【0089】
このとき、処理ノードN(15)のデータ送受信装置100は、上述した受信動作に従って、スイッチング回路S(05)のデータ送受信装置200から転送されてくるデータを受信している。そして、ポイントaでの転送エラーの発生に伴い、あるデータに対する転送エラーをエラー検出器119で検出し、再送制御回路120からスイッチング回路S(05)のデータ送受信装置200に再送要求信号10を発信する。スイッチング回路S(05)のデータ送受信装置200は、再送制御回路220が再送要求信号10を受信すると、上述した通り、データ送信を中断し、転送データバッファ210に蓄えられているデータを用いて再送動作を実行する。一方、処理ノードN(15)のデータ送受信装置100は、上述した通り、再送データの受信動作を実行する。この再送動作において転送エラーが発生しなければ、スイッチング回路S(05)のデータ送受信装置200と処理ノードN(15)のデータ送受信装置100は、再送動作を終了して通常のデータ転送動作に復帰する。そして、転送すべき全てのデータを転送し終わると、スイッチング回路S(05)のデータ送受信装置200と処理ノードN(15)のデータ送受信装置100は、それぞれ送受信動作を終了する。処理ノードN(15)のデータ送受信装置100が受信したデータは、転送データバッファ110からメモリMに格納される。
【0090】
このように、本実施例によれば、並列プロセッサシステムを構成する処理ノード及びスイッチング回路がそれぞれデータ送受信装置100、200を備え、ある処理ノードから他の処理ノードへノード間ネットワーク装置を介してデータ転送を行う際に、処理ノードとスイッチング回路との間、或いはスイッチング回路間等、任意のポイントで転送エラーが発生した場合でも、そのポイント間のみで再送動作を行うことができる。
【0091】
また、データ送受信装置間では任意の数のデータの再送が可能であるため、各装置間の転送速度及び転送距離の制約をなくすことができる。
【0092】
【発明の効果】
以上説明した通り、本発明によれば、並列プロセッサシステムを構成する各処理ノード及びスイッチング回路がそれぞれデータ送受信装置を備え、任意の処理ノードから他の処理ノードへノード間ネットワーク装置を介してデータ転送を行う際に、処理ノードとスイッチング回路との間、或いはスイッチング回路間等、任意のポイントで転送エラーが発生した場合でも、エラーの発生したポイント間で再送動作を行うことが可能である。従って、転送エラー発生時に、常に送信側の処理ノードがデータの再送を行う必要が無くなる。そのため、処理ノードが再送処理のために費やすオーバヘッドを大幅に低減することができる。また、任意のポイント間で再送動作を行えるため、ノード間ネットワーク装置の信頼性も向上できる。更に、本発明のデータ送受信装置では、再送時における再送データ数を可変にすることができるため、各装置間の転送速度及び転送距離の制約をなくしてデータの再送を行うことができる。また、データ転送時に使用する転送データバッファをそのまま再送データ用のバッファとして使用することにより、再送データ保持用のラッチ等を別に備える必要が無く、装置の物量を抑えることができる。
【図面の簡単な説明】
【図1】本発明の一実施例におけるデータ送受信装置の構成を示すブロック図である。
【図2】本発明の一実施例におけるデータ送受信装置の送信動作を示すフローチャートである。
【図3】本発明の一実施例におけるデータ送受信装置の受信動作を示すフローチャートである。
【図4】本発明の一実施例におけるデータ送受信装置の送受信動作を示すタイムチャートである。
【図5】本発明の一実施例における並列プロセッサシステムの構成図である。
【図6】本発明の一実施例における処理ノードとスイッチング回路の詳細構成図である。
【図7】従来技術におけるデータ送受信装置のブロック図である。
【図8】従来技術におけるデータ送受信装置の送受信動作を示すタイムチャートである。
【図9】従来技術におけるマルチプロセッサシステムの構成を示すブロック図である。
【符号の説明】
100,200 データ送受信装置
110,210 転送データバッファ
111,211 バッファ制御回路
112,212 データ送信制御回路
113,213 データ受信制御回路
114,120,215,220 再送制御回路
115,121,216,221 リトライ既定値設定回路
116,122,217,222 再送リトライカウント回路
117,123,218,223 コンペア回路
118,219 ポインタ減算値既定値設定回路
119,214 エラー検出器
300 データ送信装置
302 FIFOメモリ
304 FIFO制御回路
306 ECC回路
308 データラッチ
310 データセレクタ
312 データ送信制御回路
400 データ受信装置
402 データ受信回路
404 データラッチ
406 ECC回路
408 FIFOメモリ
410 FIFO制御回路
412 データ受信制御回路
600 プロセッサエレメント
602 プロセッサ
604 メモリ
606 内部バス
608 データ転送装置
612 外部バス
700 相互結合網

Claims (7)

  1. 複数の処理ノードが、少なくとも1つのスイッチング装置により相互結合され、前記スイッチング装置を介して各処理ノードが互いにデータ転送を行う並列プロセッサシステムにおいて、
    前記各処理ノードは、次段の前記スイッチング装置に対してデータを送信し、また、前段の前記スイッチング装置から送信されてくるデータを受信する第1のデータ送受信装置を有し、
    前記スイッチング装置は、前段のいずれかの処理ノードまたは他のスイッチング装置から送信されてくるデータを受信し、該データを次段のいずれかの処理ノードまたは他のスイッチング装置に対して送信する第2のデータ送受信装置を有し、
    受信側の処理ノードは、受信したデータのエラーを検出した場合、前段の送信側のスイッチング装置内の第2のデータ送受信装置へデータの再送要求を行い、前段の送信側のスイッチング装置内の前記第2のデータ送受信装置は、前記再送要求に応じて前記エラーが検出されたデータを再送し、
    受信側のスイッチング装置は、受信したデータのエラーを検出した場合、前段の送信側の処理ノードまたはスイッチング装置内の第1または第2のデータ送受信装置へデータの再送要求を行い、前段の送信側の処理ノードまたはスイッチング装置内の前記第1または第2のデータ送受信装置は、前記再送要求に応じて前記エラーが検出されたデータを再送することを特徴とする並列プロセッサシステム。
  2. 複数の処理ノードが、少なくとも1つのスイッチング装置により相互結合され、前記スイッチング装置を介して各処理ノードが互いにデータ転送を行う並列プロセッサシステムにおいて、
    各処理ノードは、次段の前記スイッチング装置に対してデータを送信し、また、前段の前記スイッチング装置から送信されてくるデータを受信する第1のデータ送受信装置を有し、
    前記スイッチング装置は、前段のいずれかの処理ノードまたは他のスイッチング装置から送信されてくるデータを受信し、該データを次段のいずれかの処理ノードまたは他のスイッチング装置に対して送信する第2のデータ送受信装置を有し、
    前記第1、第2のデータ送受信装置は、送受信する複数個のデータを一時的に保持する転送データバッファと、データの送受信と前記転送データバッファに対する送信データの読み出し及び受信データの書き込みとを制御する送受信制御手段と、受信データのエラーの有無を検出するエラー検出手段を有し、
    各処理ノード内の前記第1のデータ送受信装置は、前記エラー検出手段がエラーを検出した場合に、前段の送信側のスイッチング装置へ再送要求を発行し、また、次段の受信側のスイッチング装置から発行された再送要求を受信した場合に前記送受信制御手段へデータの再送を指示する第1の再送制御手段を備え、
    スイッチング装置内の前記第2のデータ送受信装置は、前記エラー検出手段がエラーを検出した場合に、前段の送信側の処理ノードまたはスイッチング装置へ再送要求を発行し、また、次段の受信側の処理ノードまたはスイッチング装置から発行された再送要求を受信した場合に前記送受信制御手段へデータの再送を指示する第2の再送制御手段を備え、
    前記送受信制御手段は、前記再送の指示に応じて前記転送データバッファに保持されている既送信データを再度読み出して再送することを特徴とする並列プロセッサシステム。
  3. 請求項2記載の並列プロセッサシステムにおいて、
    前記転送データバッファは、複数のデータ保持領域を備え、送受信するデータを送信順または受信順に連続する前記データ保持領域に保持し、
    前記送受信制御手段は、前記転送データバッファ内の各データ保持領域を指示するポインタを制御するバッファ制御手段を備え、
    前記バッファ制御手段は、前記再送の指示に応じて、予め決められた減算値を前記ポインタから減算し、減算したポインタで指示されるデータ保持領域以降の領域に保持されている前記減算値分の複数の既送信データを順次読み出し、前記送受信制御手段は、読み出された前記既送信データを順次再送することを特徴とする並列プロセッサシステム。
  4. 請求項3記載の並列プロセッサシステムにおいて、
    前記送受信制御手段が前段の前記送信側の処理ノードまたはスイッチング装置から既受信データが再送されてきたことを認識すると、前記バッファ制御手段は、前記減算値を前記ポインタから減算し、再送されてきた既受信データを前記減算したポインタで指示されるデータ保持領域以降の領域に順次書き込むことを特徴とする並列プロセッサシステム。
  5. 請求項3記載の並列プロセッサシステムにおいて、
    前記第1、第2のデータ送受信装置は、外部から任意の値が設定される減算値設定手段をそれぞれ有し、前記バッファ制御手段は、前記減算値設定手段に設定された値を前記減算値として前記ポインタから減算することを特徴とする並列プロセッサシステム。
  6. 請求項2記載の並列プロセッサシステムにおいて、
    前記第1、第2のデータ送受信装置は、前記再送制御手段からのカウント指示に応じて再送リトライ回数をカウントするカウント手段と、外部から任意の値が設定されるリトライ値設定手段と、前記カウント手段がカウントした値と前記リトライ値設定手段に設定された値とが一致するか否か比較し、一致した場合に前記再送制御手段に通知するコンペア手段とをそれぞれ有し、
    前記再送制御手段は、前記再送要求を受信すると前記カウント手段にカウントを指示し、前記コンペア手段から前記通知がないことを認識して前記送受信制御手段にデータの再送を指示することを特徴とする並列プロセッサシステム。
  7. 複数の処理ノードが、少なくとも1つのスイッチング装置により相互結合され、前記スイッチング装置を介して各処理ノードが互いにデータ転送を行う並列プロセッサシステムのデータ転送方法において、
    前記各処理ノードは、次段の前記スイッチング装置に対してデータを送信し、また、前段の前記スイッチング装置から送信されてくるデータを受信し、
    前記スイッチング装置は、前段のいづれかの処理ノードまたは他のスイッチング装置から送信されてくるデータを受信し、また、次段のいずれかの処理ノードまたは他のスイッチング装置に対してデータを送信し、
    前記処理ノードまたは前記スイッチング装置は、受信したデータのエラーの有無を検出し、
    受信側の処理ノードは、前記エラーを検出した場合、前段の送信側のスイッチング装置へデータの再送要求を発行し、前段の前記送信側のスイッチング装置は、前記再送要求に応じて前記エラーが検出されたデータを含む複数の既送信データを再送し、
    受信側のスイッチング装置は、前記エラーを検出した場合、前段の送信側の処理ノードまたはスイッチング装置へデータの再送要求を発行し、前段の前記送信側の処理ノードまたはスイッチング装置は、前記再送要求に応じて前記エラーが検出されたデータを含む複数の既送信データを再送することを特徴とするデータ転送方法。
JP24675198A 1998-09-01 1998-09-01 データ再送を実行するデータ送受信装置及び並列プロセッサシステム Expired - Fee Related JP3709289B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP24675198A JP3709289B2 (ja) 1998-09-01 1998-09-01 データ再送を実行するデータ送受信装置及び並列プロセッサシステム
US09/386,302 US6543014B1 (en) 1998-09-01 1999-08-31 Data transmitting/receiving apparatus for executing data retransmission and parallel processor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24675198A JP3709289B2 (ja) 1998-09-01 1998-09-01 データ再送を実行するデータ送受信装置及び並列プロセッサシステム

Publications (2)

Publication Number Publication Date
JP2000076208A JP2000076208A (ja) 2000-03-14
JP3709289B2 true JP3709289B2 (ja) 2005-10-26

Family

ID=17153122

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24675198A Expired - Fee Related JP3709289B2 (ja) 1998-09-01 1998-09-01 データ再送を実行するデータ送受信装置及び並列プロセッサシステム

Country Status (2)

Country Link
US (1) US6543014B1 (ja)
JP (1) JP3709289B2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175630A (ja) * 1999-12-14 2001-06-29 Fujitsu Ltd データ送信装置、データ受信装置、データ転送装置および方法
WO2001061909A1 (en) * 2000-02-16 2001-08-23 Sycamore Networks, Inc. Method and apparatus for correcting data using a redundant path
SE0000897D0 (sv) * 2000-03-17 2000-03-17 Ericsson Telefon Ab L M Methods in a communication system
US20020143499A1 (en) * 2001-01-12 2002-10-03 Graphin Co., Ltd Methods and apparatus for communicating information via a network
US7234083B2 (en) * 2003-12-18 2007-06-19 Hewlett-Packard Development Company, L.P. System and method for transferring information in a computer system
US7392319B2 (en) * 2004-04-23 2008-06-24 International Business Machines Corporation Method and apparatus for failure resilient forwarding of data over a computer network
TWI363520B (en) * 2007-12-31 2012-05-01 Htc Corp Methods and systems for error detection of data transmission
JP5544878B2 (ja) * 2009-12-25 2014-07-09 富士通株式会社 故障制御装置、プロセッサコア、演算処理装置、情報処理装置および擬似故障制御方法
US8996913B2 (en) * 2010-07-27 2015-03-31 Panasonic Intellectual Property Management Co., Ltd. Data transfer control device and data transfer control method
US8693474B2 (en) * 2010-12-10 2014-04-08 Inventec Corporation Method for receiving multi-cast packet
US9356737B2 (en) * 2014-03-26 2016-05-31 Keysight Technologies, Inc. Retry buffer and method of performing retry operation using retry buffer
JP2017046319A (ja) * 2015-08-28 2017-03-02 富士通株式会社 伝送装置およびリトライ方法
JP6784160B2 (ja) * 2016-12-08 2020-11-11 富士通株式会社 並列処理装置及びノード間通信プログラム
JP2020036051A (ja) * 2016-12-28 2020-03-05 株式会社Nttドコモ ユーザ装置、及びデータ送信方法
US10996891B2 (en) 2019-02-28 2021-05-04 International Business Machines Corporation Token management for write commands transmitted by a host over a plurality of interfaces to a storage controller
US11010248B2 (en) * 2019-02-28 2021-05-18 International Business Machines Corporation Reuse of resources in a storage controller for executing write commands over a plurality of interfaces
CN115033504A (zh) * 2022-06-30 2022-09-09 斯凯瑞利(北京)科技有限公司 一种带回退机制的fifo存储器及读写方法、通信系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8928699D0 (en) * 1989-12-20 1990-02-28 Int Computers Ltd Data communications system
US5612953A (en) * 1991-02-22 1997-03-18 International Business Machines Corporation Multi-media serial line switching adapter for parallel networks and heterogeneous and homologous computer systems
JP3267654B2 (ja) 1991-03-08 2002-03-18 松下電器産業株式会社 データ転送装置
US5742761A (en) * 1991-03-29 1998-04-21 International Business Machines Corporation Apparatus for adapting message protocols for a switch network and a bus
US6263374B1 (en) * 1992-09-17 2001-07-17 International Business Machines Corporation Apparatus for coupling a bus-based architecture to a switch network
US5781551A (en) * 1994-09-15 1998-07-14 Texas Instruments Incorporated Computer communications system with tree architecture and communications method
US6141744A (en) * 1997-03-24 2000-10-31 Texas Instruments Incorporated PC circuits, systems and methods
US6076181A (en) * 1998-03-03 2000-06-13 Nokia Mobile Phones Limited Method and apparatus for controlling a retransmission/abort timer in a telecommunications system
US6112323A (en) * 1998-06-29 2000-08-29 Microsoft Corporation Method and computer program product for efficiently and reliably sending small data messages from a sending system to a large number of receiving systems

Also Published As

Publication number Publication date
JP2000076208A (ja) 2000-03-14
US6543014B1 (en) 2003-04-01

Similar Documents

Publication Publication Date Title
JP3709289B2 (ja) データ再送を実行するデータ送受信装置及び並列プロセッサシステム
US6449631B1 (en) Method and apparatus for transmitting data in a network wherein acknowledgment signals are transmitted to acknowledge receipt of data
US6470391B2 (en) Method for transmitting data via a network in a form of divided sub-packets
US6128283A (en) Method and apparatus for data transmission using a positive group acknowledgement protocol
EP0525985B1 (en) High speed duplex data link interface
US5777987A (en) Method and apparatus for using multiple FIFOs to improve flow control and routing in a communications receiver
EP0503545B1 (en) Data transfer device
JPS5947906B2 (ja) ル−プ伝送システム
JPH02283142A (ja) リング状ネットワークにおけるメッセージ制御方法
US7817572B2 (en) Communications apparatus and communication method
JP4271787B2 (ja) 通信システム
JP3190214B2 (ja) データ送受信システム
JP3267654B2 (ja) データ転送装置
JP3217397B2 (ja) 通信制御装置のデータ送信方法
JP2004128786A (ja) パケット再送制御装置
EP0132645A2 (en) Method and apparatus for facilitating collision detection
JP3114504B2 (ja) 単方向ループ型伝送路の通信データ診断装置
KR950001520B1 (ko) 공통선 신호방식 메시지전달부의 신호단말 그룹버스 통신 프로토콜
JP3748987B2 (ja) 通信方法、通信システム、及びこの通信システムに用いられるアドレス設定方法
JPH11234347A (ja) データ通信におけるバッファ管理方法および方式
JPH0677974A (ja) フレーム通信装置
JPH0744563B2 (ja) 送信バッファ制御方式
JP2005277552A (ja) バスリトライ制御方式及びデータ通信装置
JPH04182766A (ja) 分散処理システム
JP2000242570A (ja) シリアルデータ制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050808

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313115

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080812

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090812

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100812

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100812

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110812

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120812

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130812

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

LAPS Cancellation because of no payment of annual fees
R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350