(57)【特許請求の範囲】
【請求項１】
送信の時間的なタイミングが他のデータの送信タイミングの遅延によって影響されるべきでないデータ同士を少なくともそれぞれ分離して格納するための複数のデータ格納手段と、
これら複数のデータ格納手段に対して予め決められた頻度および順番で、それぞれ１単位分ずつのデータを順に選択するデータ選択手段と、
このデータ選択手段によって選択されたデータを所定のクロックに同期して１クロック分ずつ順に送信するデータ送信手段と、
このデータ送信手段によって送信されたデータを受信するデータ受信手段と、
このデータ受信手段によって受信されたデータを前記１クロック分ずつチェックしてこれら１クロック分ごとのデータに訂正不可能な障害が発生しているか否かを判別する障害有無判別手段と、
前記データ受信手段によって受信されたデータを前記１クロック分ずつチェックしてこれら１クロック分ごとのデータに訂正可能な障害が発生していたときこれを訂正する障害訂正手段と、
前記障害有無判別手段の出力を１単位分のデータについて前記１クロック分ごとに順次チェックして、訂正不可能な障害が発生したとき、再送を指示する再送指示手段と、
前記データ送信手段によって送信されたデータが前記データ受信手段によって受信され再送指示手段によって訂正不可能な障害が発生したときに再送が指示されるまでの時間的な遅延を考慮して再送の指示が到来したタイミングで前記複数のデータ格納手段のどの手段のどの箇所からデータを再送させるべきかを示す再送用情報を順に記憶し更新する再送用情報記憶手段と、
前記再送指示手段が再送を指示したタイミングで再送用情報記憶手段から前記再送用情報を読み出して前記複数のデータ格納手段のうちの対応するものに与えて、訂正不可能な障害の発生した箇所を含む少なくとも１単位分のデータの再送を行わせる再送指示手段とを具備することを特徴とするデータ転送装置。
【請求項２】
前記再送指示手段によって再送を指示した１単位分のデータをその属するデータ格納手段から出力させるとき、それ以前のタイミングでそれよりも後の１単位分のデータの一部または全部が前記データ送信手段から送信されていたとき、これらを受信データからキャンセルさせるキャンセル処理回路を具備することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
前記障害訂正手段によって訂正可能な障害を訂正した後のデータを、転送されてきたデータの種類に応じて振り分けてそれぞれ処理する複数のデータ処理手段を具備することを特徴とする請求項１記載のデータ転送装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ転送装置に係わり、たとえばメモリからデータを読み出したりメモリにデータの書き込みを行うような場合、あるいはメモリのアドレスを転送する場合のように比較的大容量のデータを信頼性の比較的低いインタフェースで転送するような場合に有効なデータ転送装置に関する。
【０００２】
【従来の技術】
コンピュータ等の情報処理装置の利用範囲が増える一方で、これらの装置の処理速度が向上している。これと共に、大容量のデータが取り扱われる機会も多くなっている。特に大規模構成のシステムでは装置間で大容量のデータを転送する際に、同時に複数ビットのエラーが発生する可能性が高くなっている。そこで、このような同時に発生する複数ビットのエラーを救済できる信頼性の高いデータ転送装置が望まれている。
【０００３】
従来のデータ転送装置でも、同時に複数ビットのエラーが発生し、これによってエラーの訂正が不可能となったような場合には、幾つかの対策が採られている。すなわち、データ転送を行っていたシステムを直ちに停止してその原因をチェックするような対策や、データ出力部から該当するデータを再発行させたり、再送バッファ等の退避バッファに格納されているデータを再発行させるといった対策が採られている。
【０００４】
また、特開２０００−２４４５３０号公報では、送信すべきデータを所定のデータ量ごとに複数の送信バッファに分けて格納しておき、アドレス記憶手段にこれらのデータの格納アドレスを記憶させておくようにしている。そして、送信手段によってデータが送信先に送信されたときにエラーが検出された場合には、エラーの生じたデータに対応する送信バッファをアドレス記憶手段から割り出して、その送信バッファから送信データを再送するようにしている。
【０００５】
【発明が解決しようとする課題】
このうち、エラーの訂正が不可能とされた時点で直ちにシステムのチェックを行う対策の場合には、これを実行するためにシステムが無条件に所定の期間停止してしまう。このため、データの転送を継続的に行う必要があるようなシステムでは、データの途切れによる信頼性低下という問題を発生させる。
【０００６】
また、データ出力部から該当するデータを再発行させるようにする対策では、再発行の間、再発行の対象となるデータの送信の進行が再発行分だけ遅延するのは当然としても、これ以外の種別のデータについても同様に遅延するといった問題があった。たとえば所定のメモリに送るべきデータと、所定の入力装置に送るべきデータの２種類のデータがあったとして、メモリに送るデータに障害が発生したとする。この場合、メモリに送るデータをデータ出力部の出力するデータに割り込ませることになる。したがって、所定の入力装置に送るべきデータもその影響を受けて、割り込み分だけ遅延が生じてしまう。特開２０００−２４４５３０号公報に記載された技術でも、この点は同一である。このため、これらの技術では、障害の発生したデータと無関係でかつ遅延が問題とされるようなデータについて、データ転送の信頼性が低下するという問題を発生させる。
【０００７】
このような問題の発生を回避するために、退避バッファからデータ出力部とは別の送信経路を持ちいてデータを再送させるようにすることが、前記したように案出されている。ところが、この提案では退避バッファという特別のバッファや特別の送信経路が必要となる。したがって、ハードウェア量の増大によるシステムのコストの増加といった問題が発生する。また、障害発生時に退避バッファから該当するデータを再発行する場合には、データ出力部自体がデータを再発行する場合と異なり、データの区切りや転送するデータの順序等を認識することが困難である。したがって、再送されたデータが受信先で正しく認識されず、いわゆる文字化けを起こすような現象を発生させることがある。
【０００８】
そこで本発明の目的は、所定のデータの再送が必要とされたとき、これによってそのデータと関係しない他のデータにまで送信の遅延が生じることのないデータ転送装置を提供することにある。
【０００９】
【課題を解決するための手段】
請求項１記載の発明では、（イ）送信の時間的なタイミングが他のデータの送信タイミングの遅延によって影響されるべきでないデータ同士を少なくともそれぞれ分離して格納するための複数のデータ格納手段と、（ロ）これら複数のデータ格納手段に対して予め決められた頻度および順番で、それぞれ１単位分ずつのデータを順に選択するデータ選択手段と、（ハ）このデータ選択手段によって選択されたデータを所定のクロックに同期して１クロック分ずつ順に送信するデータ送信手段と、（ニ）このデータ送信手段によって送信されたデータを受信するデータ受信手段と、（ホ）このデータ受信手段によって受信されたデータを１クロック分ずつチェックしてこれら１クロック分ごとのデータに訂正不可能な障害が発生しているか否かを判別する障害有無判別手段と、（ヘ）データ受信手段によって受信されたデータを１クロック分ずつチェックしてこれら１クロック分ごとのデータに訂正可能な障害が発生していたときこれを訂正する障害訂正手段と、（ト）障害有無判別手段の出力を１単位分のデータについて１クロック分ごとに順次チェックして、訂正不可能な障害が発生したとき、再送を指示する再送指示手段と、（チ）データ送信手段によって送信されたデータがデータ受信手段によって受信され再送指示手段によって訂正不可能な障害が発生したときに再送が指示されるまでの時間的な遅延を考慮して再送の指示が到来したタイミングで前記した複数のデータ格納手段のどの手段のどの箇所からデータを再送させるべきかを示す再送用情報を順に記憶し更新する再送用情報記憶手段と、（リ）再送指示手段が再送を指示したタイミングで再送用情報記憶手段から再送用情報を読み出して前記した複数のデータ格納手段のうちの対応するものに与えて、訂正不可能な障害の発生した箇所を含む少なくとも１単位分のデータの再送を行わせる再送指示手段とをデータ転送装置に具備させる。
【００１６】
すなわち請求項１記載の発明では、複数のデータ格納手段を用意しておき、これらに送信の時間的なタイミングが他のデータの送信タイミングの遅延によって影響されるべきでないデータ同士を少なくともそれぞれ分離して格納しておく。たとえば２系統のメモリへ別々に書き込まれる合計２種類のデータとＩ／Ｏ（入出力装置）に送られる１種類のデータとが互いに他のデータの遅延による影響を受けるべきデータでないような場合には、これらを３つのデータ格納手段に別々に格納しておく。このとき、遅延が特に問題とされないようなデータが更に存在する場合には、いずれかのデータ格納手段に一緒に格納するようにしてもよいし、これらとは別のデータ格納手段に格納するようにしてもよい。データ選択手段は、これら複数のデータ格納手段に格納されているそれぞれ１単位分ずつのデータを、予め決められた頻度および順番で選択する。たとえば決められた順番で平等にこれら複数のデータ格納手段から１単位分ずつデータを選択するようにしてもよいし、優先度を設けておき、あるデータ格納手段から選択するよりも他のデータ格納手段から倍の頻度でデータを選択するようにしてもよい。選択の時点で送信すべきデータの格納されていないデータ格納手段がある場合には、そのデータ格納手段の選択をスキップしてもよい。データ選択手段によって選択した１単位分ずつのデータは、データ送信手段からクロックに同期して送信され、データ受信手段で受信される。データ受信手段側では障害訂正手段がデータ受信手段によって受信されたデータを１クロック分ずつチェックして、これら１クロック分ごとのデータに訂正可能な障害が発生していたときこれを訂正する。また、障害有無判別手段はこれら１クロックごとに送られてくるデータに訂正不可能な障害が発生しているか否かを判別する。ところで再送用情報記憶手段は、データの受信側から再送が指示されるまでの時間的な遅延を考慮して、現実に再送の指示があるか否かを問わず、再送の指示が到来したタイミングで前記した複数のデータ格納手段のどの手段のどの箇所からデータを再送させるべきかを示す再送用情報を順に記憶し更新している。そして、訂正不可能な障害が発生して再送の指示が到来したときにはそのタイミングから再送すべきデータを確定し、該当するデータ格納手段から訂正不可能な障害の発生した箇所を含む少なくとも１単位分のデータの再送を行わせる。
【００１７】
このように請求項１記載の発明では、データ送信手段から送信されデータ受信手段の受信したデータに訂正不可能な障害が発生していた場合には、再送用情報記憶手段によって記憶され更新される情報から再送の対象となるデータがどのデータ格納手段のどの格納位置に存在するかを判別してデータ選択手段によって再度選択させ、データ送信手段から再送させる。このため、該当するデータ格納手段以外のデータ格納手段に格納されたデータは今までと同様にデータ選択手段によって選択されてデータ送信手段からデータ受信手段に向けて転送されることになる。したがって、再送の生じたデータ格納手段以外のデータ格納手段については、再送による遅延の影響は生じないことになる。
【００１８】
請求項２記載の発明では、請求項１記載のデータ転送装置で、再送指示手段によって再送を指示した１単位分のデータをその属するデータ格納手段から出力させるとき、それ以前のタイミングでそれよりも後の１単位分のデータの一部または全部がデータ送信手段から送信されていたとき、これらを受信データからキャンセルさせるキャンセル処理回路を具備することを特徴としている。
【００１９】
すなわち請求項２記載の発明では、たとえば再送すべきデータが一まとまりのデータの前半部分のデータであって、これについて再送の指示を行ったときにすでに後半部分のデータの送信を開始していたり送信が終了しているような場合を扱っている。このような場合に再送した前半部分のデータを後半部分のデータの後に付けると順序が狂ってしまう。そこで、データ送信手段から既に送信されている受信データを必要に応じてキャンセルすることで、順序の合った一まとまりのデータが受信側で処理されるようにした。
【００２０】
請求項３記載の発明では、請求項１記載のデータ転送装置で、障害訂正手段によって訂正可能な障害を訂正した後のデータを、転送されてきたデータの種類に応じて振り分けてそれぞれ処理する複数のデータ処理手段を具備することを特徴としている。
【００２１】
すなわち請求項３記載の発明では、送信側に複数のデータ格納手段が存在するのに対応させて受信側で受信したデータを振り分けることができるようにしている。ただし、送信側と同数のデータ処理手段を備える必要はない。
【００２４】
【発明の実施の形態】
【００２５】
【実施例】
以下実施例につき本発明を詳細に説明する。
【００２６】
図１は本発明の一実施例におけるデータ転送装置を表わしたものである。このデータ転送装置１０は、データの送信を行うデータ送信装置１１と、データの受信を行うデータ受信装置１２ならびに、これらの間に配置された比較的信頼性の低いインタフェースとしてのデータ伝送手段１３から構成されている。データ送信装置１１は、第１〜第３のデータ送信器１４1〜１４3と、これら第１〜第３のデータ送信器１４1〜１４3の出力データ１５1〜１５3を選択して出力するデータ選択器１６と、データ選択器１６の出力する選択データ１７を入力してデータ伝送手段１３に送出するデータ出力部１８を備えている。また、データ送信装置１１はデータ受信装置１２に送出した転送データ１９に誤りがあって再発行指示２１が送り返されてきたときにこれを入力して再発行を制御する再発行制御部２２を備えている。再発行制御部２２は、再発行指示２１に基づいて再発行要求信号２３を第１〜第３のデータ送信器１４1〜１４3のうちの該当するものに送出するようになっている。
【００２７】
ここで、第１〜第３のデータ送信器１４1〜１４3は、送信の時間的なタイミングが他のデータの送信タイミングの遅延によって影響されるべきでないデータ同士を少なくともそれぞれ分離して格納するためのデータ格納手段を構成している。本実施例で第１のデータ送信器１４1は、データ受信装置１２側に配置された図示しない第１のメモリに書き込むデータを順次受信して格納している。また、第２のデータ送信器１４2は、同じくデータ受信装置１２側に配置された図示しない第２のメモリに書き込むべきデータを順次受信して格納している。更に第３のデータ送信器１４3は、同じくデータ受信装置１２側に配置された図示しないＩ／Ｏ装置に送出するデータを順次受信して格納している。
【００２８】
一方、データ受信装置１２は、データ出力部１８からデータ伝送手段１３に送り出された転送データ１９を入力するデータ入力部２５を備えている。データ入力部２５からの出力データ２６は障害検出部２７に入力されて、データの障害の有無が検出されるようになっている。障害検出部２７は１クロック単位で送られてくるデータに対してクロック単位で障害の有無を判別する。そして、１ビットエラーのように訂正可能な障害の生じたデータに対してはこれを訂正する。また、同時に複数ビットのエラーが発生したことにより訂正不可能な障害となっている場合にはこれを表わしたデータを出力する。
【００２９】
障害検出部２７の出力側には、転送されてきたデータを振り分ける第１または第２のデータ処理部３１1、３１2が配置されている。本実施例では前記した第１のメモリと第２のメモリに向けて転送されてきたデータを第１のデータ処理部３１1に格納し、Ｉ／Ｏ装置に向けて転送されてきたデータを第２のデータ処理部３１1に格納するようにしている。第１〜第３のデータ送信器１４1〜１４3に対応させて、図示しないが３つのデータ処理部３１を用意することももちろん可能である。この場合には、転送されてきたデータを１対１で単純に振り替えればよい。
【００３０】
図１に示す第１および第２のデータ処理部３１1、３１2から出力される通常キャンセル情報３２、３３は、エラーの判定を行うエラー判定部３４にそれぞれ供給されるようになっている。ここで「通常キャンセル」とは、本明細書では通常のアクセスのやり直しをいう。通常の回路を例にとり説明する。たとえばメモリのアクセスを行うときに、メモリへの書き込み中に読み出しの要求があった場合のような競合が生じた場合には、アクセスをキャンセルして、やり直す。あるいはメモリのアクセスを行おうとしたときに、アクセス待ちを行うための図示しない緩衝バッファが一杯になっているような状況では、アクセスをキャンセルして再度アクセスを行う必要がある。このような通常行われるアクセスのキャンセルを指示する情報が、本明細書における通常キャンセル情報３２、３３である。通常キャンセル情報３２、３３は、データ有効情報２９やそのトランザクションの情報としてのデータ送信機１４のＩＤを含んでいる。
【００３１】
障害検出部２７の検出で得られた障害検出情報３５は、情報持ち回り部３６に入力され、これから出力されるエラー情報３７がエラー判定部３４に入力される。情報持ち回り部３６は、訂正不可能な障害が検出されたときに、障害検出情報３５を持ち回るようになっている。エラー判定部３４は、情報持ち回り部３６から出力されるエラー情報３７と通常キャンセル情報３２、３３とを入力して、データ送信装置１１に対して後に説明する所定の条件下で、データの再発行を行うための再発行指示２１を発行するようになっている。
【００３２】
このように本実施例のデータ転送装置１０では、第１〜第３のデータ送信器１４1〜１４3という３系統のデータ送信器を使用している。これらのデータ送信器１４1〜１４3は複数クロックによって転送される１単位分のデータを最小単位として時分割的にデータの送信を行うことができるが、送信について順序保証が必要とされる種別ごとにまとめられている。たとえば第１のデータ送信器１４1の送出するデータは、この第１のデータ送信器１４1から出力されるデータの間で順序が保証される。第１のデータ送信器１４1の送出するデータが、第２あるいは第３のデータ送信器１４2、１４3との間で転送の順序が保証されるものではない。
【００３３】
第１〜第３のデータ送信器１４1〜１４3は、順序保証を行うために、それぞれＦＩＦＯ（先入れ先出し）バッファで構成されている。データ選択器１６は、ラウンドロビン調停等の手法でデータを選択するセレクタ等と呼ばれる回路である。このような回路は、当業者にとってよく知られているので、その詳細な構成は省略する。データ出力部１８は１単位分のデータを分割して送信する際に転送データを保持しておく図示しないレジスタで構成される。データ入力部２５も図示しないレジスタで構成され、データ転送遅延等を考慮して配置されている。これらの構成は本発明と直接関係しないので、これらの詳細な構成は省略する。障害検出部２７は図示しないＥＣＣ（Error Correcting Code）制御回路を有しており、訂正可能な障害および訂正不可能障害を検出する。訂正可能な障害が検出された場合には、先に説明したようにデータの訂正を施す。これに対して訂正不可能な障害が検出された場合には、訂正不可能障害が検出されたことを報告する。本回路も当業者にとってよく知られているので、その詳細な構成は省略する。
【００３４】
図２は、本実施例のデータ受信装置の要部を表わしたものである。ここでは、出力データ２６を入力する障害検出部２７の出力側として障害検出情報３５を入力する情報持ち回り部３６と、転送データ２８を入力する第１のデータ処理部３１1の構成を具体的に表わしている。第２のデータ処理部３１2は第１のデータ処理部３１1と同一の回路構成となっているので、その図示は省略している。
【００３５】
情報持ち回り部３６は、障害検出情報３５を順次入力する直列回路としての第１〜第３のレジスタ４１〜４３を備えている。第１のレジスタ４１の出力データ４４は第２のレジスタ４２に入力されると共に、エラー判定部３４に入力される。第２のレジスタ４２の出力データ４５は、第３のレジスタ４３に入力されると共に、エラー判定部３４に入力される。第３のレジスタ４３の出力データ４６は、同様にエラー判定部３４に入力される。すなわち、エラー判定部３４は３つの出力データ４４〜４６を並行して入力するようになっている。
【００３６】
一方、データ処理部３１は、転送データ処理部４７とデータ有効情報処理部４８とによって構成されている。転送データ処理部４７は、転送データ２８1を順次入力する直列回路としての第４〜第６のレジスタ５１〜５３を備えている。第４のレジスタ５１の出力データ５４は第５のレジスタ５２に入力されると共に、データ処理器４９に入力される。第５のレジスタ５２の出力データ５５は、第６のレジスタ５３に入力されると共に、データ処理器４９に入力される。第６のレジスタ５３の出力データ５６は、同様にデータ処理器４９に入力される。
【００３７】
データ有効情報処理部４８は、データ有効情報２９を順次入力する直列回路としての第７〜第９のレジスタ６１〜６３を備えている。ここでデータ有効情報２９は転送データ２８1の一部を構成している。第７のレジスタ６１の出力データ６４は第８のレジスタ６２に入力されると共に、データ処理器４９に入力される。第８のレジスタ６２の出力データ６５は、第９のレジスタ６３に入力されると共に、データ処理器４９に入力される。第９のレジスタ６３の出力データ６６は、同様にデータ処理器４９に入力される。すなわち、データ処理器４９は６つの出力データ５４〜５６、６４〜６６を並行して入力するようになっている。これは、図１に示すデータ選択器１６およびその前段の回路部分が複数存在して、複数のデータ選択器１６から出力される転送データ１９がパイプライン処理されることを前提としているためである。第９のレジスタ６３からの出力データ６６は、データ処理器４９の他にエラー判定部３４にも入力されるようになっている。
【００３８】
データ処理器４９から出力される通常キャンセル情報３２はエラー判定部３４へ入力され、エラー判定部３４からの破棄情報６９はデータ処理器４９へ入力されるようになっている。ここで破棄情報６９とは、再送によって図１に示したデータ送信装置１１から送られてきたデータのうち先に送られてきたデータと重複するものを破棄する指示を行うための情報である。
【００３９】
このような構成の本実施例のデータ転送装置１０では、データ送信装置１１からデータ受信装置１２に対して、それぞれ送られてくる１単位分のデータを、図示しないクロック発生器から出力される基本クロックの３クロック分のデータとしてデータ伝送手段１３へ順に１クロック分ずつ送信する構成となっている。第１のデータ処理部３１1は、３分割された転送データ２８1における先頭データの到着時から順次処理を行うことが可能である。この点は、図１に示した第２のデータ処理部３１2も同様である。第２のデータ処理部３１2の場合には転送データ２８における先頭データの到着時から順次処理を行うことになる。
【００４０】
障害検出部２７から出力され情報持ち回り部３６に入力される障害検出情報３５は、▲１▼訂正不可能障害の有無、▲２▼第１〜第３のデータ送信器１４1〜１４3のいずれの出力であるかを表わす識別番号、および▲３▼第１〜第３のデータ送信器１４1〜１４3のいずれかにおける再送時の読み出し位置としてのリードポインタから構成されている。訂正不可能障害が発生した場合、エラー情報３７を入力するエラー判定部３４は再発行指示２１として有効フラグと持ち回り情報のデータ送信器１４の識別番号ならびに該当するデータ送信器１４のリードポインタを返し、そのデータ送信器１４からの再発行を要求することになる。
【００４１】
ところで、エラー判定部３４は、障害検出情報３５のステータスが訂正不可能障害無しであった場合でも、データ処理部３１1（３１2）で検出された通常キャンセル情報３２（３３）がアクティブであった場合には、再発行指示２１を発行する。再発行制御部２２は、第１〜第３のデータ送信器１４1〜１４3のうちで持ち回り情報のデータ送信器の識別番号に対応するものに対して、持ち回り情報のリードポインタを、前記したＦＩＦＯバッファのリードポインタにセットする。これにより、再送の必要な箇所から出力データ１５の再発行が可能になる。出力データ１５の再発行が行われる場合に、滑りで発行されている後続転送データに対しては、破棄情報６９が送信され、データ処理部３１で破棄される。エラー判定部３４内には、再発行指示２１がアクティブになったデータ送信器１４の識別番号に対応するデクリメントカウンタが配置されており、固定クロック数だけデクリメントして“０”になる。カウンタが“０”以外のときには、発行元のデータ送信装置に対応する破棄情報６９がアクティブになる。かくして、前述した処理が実行されるようになっている。
【００４２】
図３〜図５は、本実施例のデータ転送装置のデータ転送の様子を時間軸を３つに分割して表わしたものである。なお、各図は互いに一部重複させて示している。これらの図３〜図５で図（ａ）はこのデータ転送装置１０で使用される基本クロック７１を示している。基本クロック７１の上に示した時間Ｔ1、Ｔ2、……は、それぞれのクロック周期を示すものである。
【００４３】
図３〜図５で図（ｂ）はデファイナ７２を示している。デファイナ７２はデータ送信装置１１内のデータ選択器１６が第１〜第３のデータ送信器１４1〜１４3から出力される出力データ１５1〜１５3を選択する際の調停タイミングを示すものである。本実施例でデファイナ７２は、基本クロック７１の３クロックに１回ずつアクティブとなる。この例では、時間Ｔ0、Ｔ3、Ｔ6、……でデファイナ７２がアクティブとなっている。
【００４４】
図３〜図５で図（ｃ）は、図１に示したデータ出力部１８の転送しようとする転送データ１９の構成の一例を示したものである。ここで、転送データＡは図１に示す第１のデータ送信器１４1の送信するデータを示しており、転送データＢは第２のデータ送信器１４2の送信するデータを示している。図１に示す第３のデータ送信器１４3（図１参照）から送信されるデータは、説明を簡単にするために図３〜図５に示した時間帯では存在しないものとする。なお、それぞれの転送データＡ、Ｂに付加された数字“００”〜“０２”は先行する前半部分としての１単位分の転送データの順番を示しており、他の数字“１０”〜“１２”はこれに後続する後半部分としての１単位分の転送データの順番を示している。
【００４５】
“００”等の２桁の数字の後に付された符号“Ｄ”は、本明細書で特別の意味を持たない。末尾が数字のみの表記であると、この明細書の他の回路部品を表わした２桁の数字との間で混同を生じるので、これを防止するために付加したものに過ぎない。これに対して、図３等には２桁の数字の後に符号“Ｓ”または符号“Ｅ”を付したデータが存在している。符号“Ｓ”を付したデータは、訂正不可能な障害が無いことを示す障害検出情報を表わしており、符号“Ｅ”を付したデータは訂正不可能な障害があることを示す障害検出情報を表わしている。
【００４６】
さて、第１のデータ送信器１４1のＦＩＦＯバッファには先行する１単位分の転送データとしての転送データＡ００Ｄ、Ａ０１Ｄ、Ａ０２Ｄと後続する転送データとしての転送データＡ１０Ｄ、Ａ１１Ｄ、Ａ１２Ｄがこの順序に格納されているものとする。また、第２のデータ送信器１４2のＦＩＦＯバッファには転送データとして転送データＢ００Ｄ、Ｂ０１Ｄ、Ｂ０２Ｄが格納されているものとする。また、本実施例ではデータ伝送手段１３としてデータ出力部１８から出力された転送データ１９が基本クロック７１の４クロック周期後にデータ入力部２５で受信されるようなインタフェースが使用されているものとする。
【００４７】
図３〜図５で図（ｄ）はデータ受信装置１２内のデータ入力部２５の受信状態を示しており、同図(ｅ）〜（ｇ）は図２に示した第７〜第９のレジスタ６１〜６３の格納状態をそれぞれ示している。また、同図(ｈ）〜（ｊ）は図２に示した第４〜第６のレジスタ５１〜５３の格納状態をそれぞれ示しており、更に、同図(ｋ）〜（ｍ）は図２に示した第１〜第３のレジスタ４１〜４３の格納状態をそれぞれ示している。
【００４８】
このような前提で、時間Ｔ0に第１のデータ送信器１４1の出力データ１５1が、まず１単位分（基本クロック７１の３クロック分）だけデータ選択器１６で選択されて、データ出力部１８へ転送される選択データ１７として確定したものとする。
【００４９】
これにより、次の時間Ｔ1に、データ出力部１８から１単位分のデータのうちの第１番目の転送データＡ００Ｄが転送データ１９としてデータ受信装置１２に向けて送信される。
【００５０】
更に次の時間Ｔ2に、データ出力部１８から１単位分のデータのうちの第２番目の転送データＡ０１Ｄが転送データ１９としてデータ受信装置１２に向けて送信される。
【００５１】
次の時間Ｔ3に、デファイナ７２がアクティブとなって、データ選択器１６が今度は次の１単位分（基本クロック７１の３クロック分）のデータとして第２のデータ送信器１４2の出力データ１５2を選択したとし、データ出力部１８への選択データ１７が確定する。このとき、データ出力部１８からは第１のデータ送信器１４1から既に選択された１単位分のデータにおける第３番目の転送データＡ０２Ｄが転送データ１９としてデータ受信装置１２に向けて送信されることになる。
【００５２】
次の時間Ｔ4には、データ出力部１８から、第２のデータ送信器１４2から出力された１単位分のデータにおける第１番目の転送データＢ００Ｄが転送データ１９としてデータ受信装置１２に向けて送信される。
【００５３】
更に次の時間Ｔ5には、データ出力部１８から、１単位分のデータにおける第２番目の転送データＢ０１Ｄが転送データ１９としてデータ受信装置１２に向けて送信される。このとき、図３（ｄ）に示すように、基本クロック７１の４クロック分遅延した形で、データ受信装置１２のデータ入力部２５が時間Ｔ1にデータ出力部１８から送信された第１番目の転送データＡ００Ｄを受信することになる。
【００５４】
次の時間Ｔ6にデファイナ７２がアクティブとなる。しかしながら、先に説明したように第３のデータ送信器１４3（図１参照）から送信するデータがこのとき存在しない。この結果として、第１のデータ送信器１４1の出力データ１５1が再びデータ選択器１６で選択される。これによりデータ出力部１８へ入力される１単位分（基本クロック７１の３クロック分）の選択データ１７が確定する。この時間Ｔ6で、データ出力部１８からは第３番目の転送データＢ０２Ｄが転送データ１９としてデータ受信装置１２に向けて送信される。また、この時間Ｔ6にデータ入力部２５が第２番目の転送データＡ０１Ｄを受信する。
【００５５】
ところで前記した時間Ｔ6には、第７のレジスタ６１がデータ有効情報２９を受信する。このとき第４のレジスタ５１が第１番目の転送データＡ００Ｄを受信する。また、このとき障害検出情報３５を入力する情報持ち回り部３６内の第１のレジスタ４１が第１番目の転送データＡ００Ｄについての障害検出情報Ａ００Ｅを入力するものとする。すなわちこの場合、第１番目の転送データＡ００Ｄは障害検出部２７において訂正不可能障害が検出されている。この場合には、訂正不可能障害有りというステータスとなる。本明細書では、転送データの末尾に示す符号“Ｄ”を訂正不可能障害有りというステータスで符号“Ｅ”に変えて示している。
【００５６】
次の時間Ｔ7にはデータ出力部１８から後続する１単位分の転送データにおける第１番目の転送データとして転送データＡ１０Ｄが送信される。このとき、データ入力部２５は第３番目の転送データＡ０２Ｄを受信する。また、第４のレジスタ５１が第２番目の転送データＡ０１Ｄを受信し、第５のレジスタ５２が第１番目の転送データＡ００Ｄを受信する。このとき第１のレジスタ４１が第２番目の転送データＡ０１Ｄの障害検出情報３５として障害検出情報Ａ０１Ｓを受信する。第２番目の転送データＡ０１Ｄが障害検出部２７で訂正不可能障害が検出されなかったとする。この場合には、訂正不可能障害無しというステータスとなる。本明細書では、転送データの末尾に示す符号“Ｄ”を訂正不可能障害無しというステータスで符号“Ｓ”に変えて示している。この時間Ｔ7では、第２のレジスタ４２が第１のレジスタ４１の出力する訂正不可能障害が検出された第１番目の転送データについての障害検出情報Ａ００Ｅを受信することになる。
【００５７】
更に次の時間Ｔ8では、データ出力部１８から後続する１単位分の転送データにおける第２番目の転送データとして転送データＡ１１Ｄが送信される。このとき、データ入力部２５は第１番目の転送データＢ００Ｄを受信する。また、第４のレジスタ５１が第３番目の転送データＡ０２Ｄを受信し、第５のレジスタ５２が第４のレジスタ５１の出力する第２番目の出力データＡ０１Ｄを受信する。また、第６のレジスタ５３が第５のレジスタ５２の出力する第１番目の出力データＡ００Ｄを受信する。
【００５８】
また、第１のレジスタ４１は第３番目の転送データＡ０２Ｄの障害検出情報Ａ０２Ｓを受信する。第３番目の転送データＡ０２Ｄは障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２は、第１のレジスタ４１の出力する第２番目の出力データＡ０１Ｓを受信する。このとき第３のレジスタ４３が第２のレジスタ４２の出力する出力データＡ００Ｅを受信する。この時間Ｔ8で第９のレジスタ６３がデータ有効情報２９を受信しアクティブとなっている。エラー判定部３４は第１〜第３のレジスタ４１〜４３のいずれかが訂正不可能障害有りというステータスを格納している状態でエラー情報３７を出力するようになっており、エラー情報３７が出力されている状態で第９のレジスタ６３がアクティブとなっているこの状態で、再発行指示２１をアクティブにする（図４（ｎ））。
【００５９】
時間Ｔ9では、アクティブとなった再発行指示２１を基にして、データ送信装置１１内の再発行制御部２２から第１のデータ送信器１４1に対して再発行要求信号２３が発行される（図４（ｏ））。これを基にして、第１のデータ送信器１４1からの再発行出力データ１５1がリードポインタで指示されてデータ選択器１６によって選択され、データ出力部１８への選択データ１７が確定する。このときデータ出力部１８からは先に選択された第３番目の転送データＡ１２Ｄが送信される。データ入力部２５はこのとき第２番目の転送データＢ０１Ｄを受信する。また、このとき第７のレジスタ６１は障害検出部２７からデータ有効情報２９を受信する。
【００６０】
第４のレジスタ５１は第１番目の転送データＢ００Ｄを受信する。第５のレジスタ５２が第４のレジスタ５１の出力する第３番目の出力データＡ０２Ｄを受信する。第６のレジスタ５３は第５のレジスタ５２の出力する第２番目の出力データＡ０１Ｄを受信する。また、このとき第１のレジスタ４１は第１番目の転送データＢ００Ｄの障害検出情報Ｂ００Ｓを受信したものとする。第１番目の転送データＢ００Ｄは障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２は第１のレジスタ４１の出力する第３番目の出力データＡ０２Ｓを受信する。第３のレジスタ４３は第２のレジスタ４２の出力する第２番目の出力データＡ０１Ｓを受信する。このとき、再発行制御部２２がエラー判定部３４から再発行指示２１を受信する。再発行指示２１により、図４の図（ｐ）に示すようにエラー判定部３４から出力される破棄情報６９がアクティブになる。
【００６１】
第１のデータ送信器１４1から出力される出力データ１５1について再送が行われるとき、破棄情報６９がアクティブになる区間は基本クロック７１の６クロック分である。エラー判定部３４は、第１〜第３のデータ送信器１４1〜１４3のそれぞれについて基本クロック７１の何個分の時間だけ破棄情報６９をアクティブな状態に保持するかを記憶している。この例で破棄情報６９は、第１のデータ送信器１４1から出力される出力データ１５1の前半の転送データについてキャンセルが発生したという情報を、出力データ１５1の後半あるいは滑り分の基本クロック７１の数（トランザクション数）の到達タイミングまで保持するためにアクティブとなっている。
【００６２】
時間Ｔ10では、再発行指示２１に基づいてデータ出力部１８から再送による第１番目の転送データＡ００Ｄが送信される。このとき、データ入力部２５は第３番目の転送データＢ０２Ｄを受信する。第８のレジスタ６２は第７のレジスタ６１の出力データを受信する。第４のレジスタ５１は第２番目の転送データＢ０１Ｄを受信する。第５のレジスタ５２は第４のレジスタ５１の出力する第１番目の出力データＢ００Ｄを受信する。第６のレジスタ５３は第５のレジスタ５２の出力する第３番目の出力データＡ０２Ｄを受信する。第１のレジスタ４１は第２番目の転送データＢ０１Ｄの障害検出情報Ｂ０１Ｓを受信する。第２番目の転送データＢ０１Ｄは障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２は第１のレジスタ４１の出力する第１の出力データＢ００Ｓを受信する。第３のレジスタ４３は第２のレジスタ４２の出力する第３番目の出力データＡ０２Ｓを受信する。破棄情報６９はアクティブのまま保持される。
【００６３】
時間Ｔ11では、データ出力部１８から再送による第２番目の転送データＡ０１Ｄが送信される。このときデータ入力部２５は第１番目の転送データＡ１０Ｄを受信する。第９のレジスタ６３は第８のレジスタ６２の出力データを受信する。第４のレジスタ５１は第３番目の転送データＢ０２Ｄを受信する。第５のレジスタ５２は第４のレジスタ５１の出力データＢ０１Ｄを受信する。第６のレジスタ５３は第５のレジスタ５２の出力する第１番目の出力データＢ００Ｄを受信する。第１のレジスタ４１は第３番目の転送データＢ０２Ｄの障害検出情報Ｂ０２Ｓを受信する。第３番目の転送データＢ０２Ｄは障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２は第１のレジスタ４１の出力データＢ０１Ｓを受信する。第３のレジスタ４３は第２のレジスタ４２の出力データＢ００Ｓを受信する。破棄情報６９はアクティブのまま保持される。このとき第９のレジスタ６３はアクティブとなっているが、情報持ち回り部３６内の第１のレジスタ４１、第２のレジスタ４２、第３のレジスタ４３のいずれにも訂正不可能障害有りというステータスが無い。このため、この時間Ｔ11で再発行指示２１はアクティブとならず、第２のデータ送信器１４2から転送されたデータＢ００Ｄ、Ｂ０１Ｄ、Ｂ０２Ｄについては再送処理を行うことなく正常に処理が完了する。
【００６４】
時間Ｔ12では、第１のデータ送信器１４1からの出力データ１５1がデータ選択器１６で選択されデータ出力部１８への選択データ１７が確定する。データ出力部１８から第３番目の転送データＡ０２Ｄが送信される。データ入力部２５が第２番目の転送データＡ１１Ｄを受信する。第７のレジスタ６１はデータ有効情報２９を受信する。第４のレジスタ５１は第１番目の転送データＡ１０Ｄを受信する。第５のレジスタ５２は第４のレジスタ５１の出力データＢ０２Ｄを受信する。第６のレジスタ５３は第５のレジスタ５２の出力データＢ０１Ｄを受信する。第１のレジスタ４１は第１番目の転送データＡ１０Ｄの障害検出情報Ａ１０Ｓを受信する。第１番目の転送データＡ１０Ｄは障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２が第１のレジスタ４１の出力データＢ０２Ｓを受信する。第３のレジスタ４３が第２のレジスタ４２の出力データＢ０１Ｓを受信する。破棄情報６９はアクティブのまま保持される。
【００６５】
時間Ｔ13では、データ出力部１８から後続する転送データとしての第１番目の転送データＡ１０Ｄが送信される。データ入力部２５は第３番目の転送データＡ１２Ｄを受信する。第８のレジスタ６２は第７のレジスタ６１の出力データを受信する。第４のレジスタ５１は第２番目の転送データＡ１１Ｄを受信する。第５のレジスタ５２は第４のレジスタ５１の出力データＡ１０Ｄを受信する。第６のレジスタ５３は第５のレジスタ５２の出力データＢ０２Ｄを受信する。第１のレジスタ４１は第２番目の転送データＡ１１の障害検出情報Ａ１１Ｓを受信する。第２番目の転送データＡ１１は障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２は第１のレジスタ４１の出力データＡ１０Ｓを受信する。第３のレジスタ４３が第２のレジスタ４２の出力データＢ０２Ｓを受信する。破棄情報６９はアクティブのまま保持される。
【００６６】
時間Ｔ14では、データ出力部１８から第２番目の転送データＡ１１Ｄが送信される。データ入力部２５は第１番目の転送データＡ００Ｄを受信する。第９のレジスタ６３は第８のレジスタ６２の出力データを受信する。第４のレジスタ５１は第３番目の転送データＡ１２Ｄを受信する。第５のレジスタ５２は第４のレジスタ５１の出力データＡ１１Ｄを受信する。第６のレジスタ５３は第５のレジスタ５２の出力データＡ１０Ｄを受信する。第１のレジスタ４１は第３番目の転送データＡ１２Ｄの障害検出情報Ａ１２Ｓを受信する。第３番目の転送データＡ１２Ｄは障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２は第１のレジスタ４１の出力データＡ１１Ｓを受信する。第３のレジスタ４３は第２のレジスタ４２の出力データＡ１０Ｓを受信する。破棄情報６９はアクティブのまま保持される。破棄情報６９により第９のレジスタ６３のデータ有効情報は無効化される。すなわち、転送データＡ１０Ｄ、Ａ１１ＤおよびＡ１２Ｄは処理を行わずに完了する。第７のレジスタ６１および第８のレジスタ６２のアクティブ時の前処理は実施されてもよいが、最終段の第９のレジスタ６３アクティブ時には処理すべてが無効化される。
【００６７】
時間Ｔ15では、データ出力部１８から第３番目の転送データＡ１２Ｄが送信される。データ入力部２５は第２番目の転送データＡ０１Ｄを受信する。第７のレジスタ６１がデータ有効情報２９を受信する。第４のレジスタ５１は第１番目の転送データＡ００Ｄを受信する。第５のレジスタ５２は第４のレジスタ５１の出力する第３番目の出力データＡ１２Ｄを受信する。第６のレジスタ５３は第５のレジスタ５２の出力する第２の出力データＡ１１Ｄを受信する。第１のレジスタ４１が第１番目の転送データＡ００Ｄの障害検出情報Ａ００Ｓを受信する。第１番目の転送データＡ００Ｄは障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２は第１のレジスタ４１の出力データＡ１２Ｓを受信する。第３のレジスタ４３は第２のレジスタ４２の出力データＡ１１Ｓを受信する。データ処理器４９に入力される破棄情報６９はこのときからインアクティブになる。
【００６８】
時間Ｔ16では、データ入力部２５が第３番目の転送データＡ０２Ｄを受信する。第８のレジスタ６２が第７のレジスタ６１の出力データを受信する。第４のレジスタ５１は第２番目の転送データＡ０１Ｄを受信する。第５のレジスタ５２は第４のレジスタ５１の出力する第１番目の出力データＡ００を受信する。第６のレジスタ５３は第５のレジスタ５２の出力する第３番目の出力データＡ１２Ｄを受信する。第１のレジスタ４１は第２番目の転送データＡ０１Ｄの障害検出情報Ａ０１Ｓを受信する。第２番目の転送データＡ０１Ｄは障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２は第１のレジスタ４１の出力データＡ００Ｓを受信する。第３のレジスタ４３は第２のレジスタ４２の出力データＡ１２Ｓを受信する。
【００６９】
時間Ｔ17では、データ入力部２５が第１番目の転送データＡ１０Ｄを受信する。第９のレジスタ６３が第８のレジスタ６２の出力データを受信する。第４のレジスタ５１は第３番目の転送データＡ０２Ｄを受信する。第５のレジスタ５２は第４のレジスタ５１の出力する第２番目の出力データＡ０１Ｄを受信する。第６のレジスタ５３は第５のレジスタ５２の出力する第１番目の出力データＡ００Ｄを受信する。第１のレジスタ４１は第３番目の転送データＡ０２Ｄの障害検出情報Ａ０２Ｓを受信する。第３番目の転送データＡ０２Ｄは障害検出部２７において訂正不可能障害が検出されないため、訂正不可能障害無しというステータスになる。第２のレジスタ４２は第１のレジスタ４１の出力データＡ０１Ｓを受信する。第３のレジスタ４３は第２のレジスタ４２の出力データＡ００Ｓを受信する。第９のレジスタ６３はこのときアクティブであるが、第１のレジスタ４１、第２のレジスタ４２、第３のレジスタ４３のいずれにも訂正不可能障害有りというステータスが無いため、再発行指示２１はアクティブとならない。このため、第１のデータ送信器１４1から転送されたデータＡ００Ｄ、Ａ０１ＤおよびＡ０２Ｄは正常に処理を完了することになる。
【００７０】
以下、同様の手順で第１のデータ送信器１４1からの後続データＡ１０Ｄ、Ａ１１ＤおよびＡ１２Ｄが処理される。
【００７１】
このように、以上説明した例では第１のデータ送信器１４1から発行された転送データＡ００Ｄ、Ａ０１Ｄ、Ａ０２Ｄのうち、第１番目の転送データＡ００Ｄに訂正不可能障害が検出され、これについての再送処理が行われた。しかしながら、この再送処理は、第２のデータ送信器１４2から発行された後続の送信データＢ００Ｄ、Ｂ０１ＤおよびＢ０２Ｄに全く影響を及ぼすことがない。
【００７２】
このように、本実施例では訂正不可能な障害が発生した時にも、通常キャンセル時と同様に該当するデータ送信器からそのデータを再発行させることにしている。このため、他のデータ送信器から発行された後続転送データには何も影響を与えることなくデータの転送動作が可能である。
【００７３】
すなわち、訂正不可能な障害が発生した時の再送処理等による後続転送への影響時間が全く無くなる。このため、システム全体としての性能が向上する。本実施例で説明した例では、第１のデータ送信器１４1から発行されたＡ００Ｄ、Ａ０１ＤおよびＡ０２Ｄの送信データのうち、第１番目の転送データＡ００Ｄに訂正不可能な障害が検出されたが、第２のデータ送信器１４2から発行された後続の送信データＢ００Ｄ、Ｂ０１ＤおよびＢ０２Ｄには全く影響を及ぼすことなく動作可能である。また、第１のデータ送信器１４1からの再発行前に滑りで発行された送信データＡ１０Ｄ、Ａ１１ＤおよびＡ１２Ｄに関しては、データＡ００Ｄ、Ａ０１ＤおよびＡ０２Ｄとの順序保証の必要があるために、これらも再送して、その後に破棄する手段を設けている。本実施例では、特に訂正不可能障害用に新たな機能を追加することなく、通常キャンセル機能と共用化できるため、再送専用のハードウェアが全く不要になり、コストを削減できるという効果も持つ。
【００７４】
従来では、データ受信装置１２で障害検出結果が判明した後に、データ送信装置１１に対して再送指示をかけるようになっていた。このため、インタフェースのフライトタイムがそのまま性能に見えてしまうことになる。また、再送している間は後続データが待たされるため、順序性を考慮する必要が全く無い後続転送データにも影響を与えてしまう。また、データ送信装置内に再送バッファを持ち、データを送信するたびに再送バッファに格納し障害検出時にその再送バッファから再発行する対策では、既に説明したようにハードウェア量の増大を伴う、またその上に、再送バッファからの出力と通常系出力との調停などが必要となり、インプリメント（implement）も複雑になる。これに対して本実施例では、簡単なハードウェア構成で効率的なシステムを構築できるという利点がある。
【００７５】
発明の変形可能性
【００７６】
以上説明した実施例ではデータ転送装置１０が情報持ち回り部３６を備えており、障害検出部２７の検出で得られた障害検出情報３５を持ち回るようにしていた。ところが、情報持ち回り部３６がデータ送信器１４の識別番号、データ送信器１４のリードポインタを持ち回るため、これらに訂正不可能な障害があると送信元のデータ送信器１４を特定することができない。このため実施例では救済不能な転送が発生する可能性が皆無ではない。すなわち、第１番目の転送データに訂正不可能な障害が有った場合はシステムダウンとなってしまう。このような問題は、先の実施例の情報持ち回り部３６に対応する回路をデータ送信装置１１側に設けることで解決できる。これを次に変形例として説明する。
【００７７】
図６は本発明の変形例におけるデータ転送装置の構成を表わしたものである。図６で図１と同一部分には同一の符号を付しており、これらの説明を適宜省略する。この変形例のデータ転送装置１０Ａでは、データ送信装置１１Ａ内の再発行制御部２２Ａがバッファメモリ８１を備えている。また、データ受信装置１２Ａは情報持ち回り部３６を備えていない。この役割をバッファメモリ８１が行っている。
【００７８】
すなわち、この変形例のデータ転送装置１０Ａでは、第１〜第３のデータ送信器１４1〜１４3より発行した転送データに対応するデータ送信器１４の識別番号、データ送信器１４のリードポインタを再発行制御部２２Ａに順次登録する。訂正不可能な障害が発生すると、データ送信器１４のリードポインタ等の付属情報が無い再発行指示２１Ａがエラー判定部３４から返却される。
【００７９】
データ出力部１８から転送データが発行された後、エラー判定部３４に至るまでの基本クロック７１（図３参照）の数は固定数である。このため、再発行指示２１Ａがあるべきタイミングで、これがなかった場合は、再発行を行う必要が無いとして、再発行制御部２２Ａのバッファメモリ８１に登録しておいたデータ送信器１４の識別番号ならびにデータ送信器１４のリードポインタを無効化する。第１〜第３のデータ送信器１４1〜１４3のいずれかから送信するデータを読み出したタイミングで、このバッファメモリ８１へそのデータ送信器１４の識別番号、データ送信器１４のリードポインタを書き込む。そして、再発行指示２１Ａが発生するべきタイミングで再発行指示２１Ａがアクティブであれば、現在のリードポインタが指すデータ、すなわちデータ送信器１４の識別番号ならびにデータ送信器１４のリードポインタを読み出すと同時に、これらのリードポインタがインクリメントされる。
【００８０】
これに対して、再発行指示２１Ａが発生するべきタイミングで再発行指示２１Ａがインアクティブの場合には、リードポインタのインクリメントのみが行われ、前記した読み出しは行われない。
【００８１】
図６に示した変形例ではこのような工夫を行っているので、信頼性の低いインタフェースとしてのデータ伝送手段１３での障害発生時の救済率が先の実施例のデータ転送装置１０よりも向上する。
【００８２】
なお、実施例および変形例では、データ転送を３分割して行ったが、分割数は正の整数であれば任意の値で可能である。更に実施例ではデータ送信装置１１からデータ受信装置１２への転送データ１９の到達時間を基本クロック７１の４クロック分としたが、これについても任意の正の整数としての値を採ることができる。
【００８３】
更に実施例および変形例ではデータ送信器１４を第１〜第３のデータ送信器１４1〜１４3の３個で構成したが、これも特にその個数が制限されるものではない。更にこれらのデータ送信器１４1〜１４3をＦＩＦＯメモリで構成したが、これに限るものではない。たとえばプロセッサ等の演算処理装置を使用してデータの順序を確保する制御を行うことで、ＦＩＦＯメモリと同様に構成することが可能である。
【００８４】
また、実施例および変形例では、第１または第２のデータ処理部３１1、３１2の２つのデータ処理部を使用したが、これを任意の数の処理部で構成することができるのは当然である。更にデータ処理部はデータを格納する記憶装置等であってもよい。
【００８５】
更に実施例では第１〜第３のデータ送信器１４1〜１４3における同一の送信器内ではデータの転送順序を保証する制約を設けたが、これに限るものではない。保証の制約が無いような場合には、既に発行されたデータについてデータ送信器１４内の有効フラグをリセットすることで、再発行指示２１受付後に、これに巻き添えされる形でデータを再発行する必要はない。また、この場合には、エラー判定部３４が有する破棄情報６９の制御を行う必要はない。このように破棄情報６９の制御を不要とすることで、データ送信装置１１（１１Ａ）とデータ受信装置１２（１２Ａ）との間における余分なトラフィックが減少し効率的となる。
【００８６】
更に実施例では、データ送信装置１１とデータ受信装置１２との間のインタフェースであるデータ伝送手段１３を１対１接続としたが、バス接続等を用いて複数のデータ送信装置もしくは複数のデータ受信装置が接続されるようになっていてもよい。複数のデータ送信装置を１つのデータ伝送手段１３で使用する場合には、データ送信器１４の識別番号、データ送信器１４のリードポインタに加えて、データ送信元のデータ送信装置番号を持ち回ることで、送信元のデータ送信器を特定可能である。
【００８７】
また、実施例では、データ選択器１６での調停タイミングにデファイナを用いたが、任意のタイミングで調停を行い、データ出力部１８からのアクノリッジを待ち合わせるようにしてもよい。この際、データ出力部１８とデータ入力部２５はレジスタとしたが緩衝バッファ等の他の回路装置を使用することが可能である。
【００８８】
更に実施例では、訂正不可能な障害が繰り返される間、データの再発行を繰り返すことになるが、同様に複数回訂正不可能な障害を検出した場合には現状で復旧できない故障あるいは障害としてシステム自体のチェックを行うようにしてもよい。更に実施例および変形例では訂正不可能な障害の検出にＥＣＣ制御回路を使用したが、パリティチェック等の任意の検出手段を使用することも可能である。
【００８９】
【発明の効果】
以上説明したように請求項１記載の発明によれば、再送の生じたデータ格納手段以外のデータ格納手段については、再送による遅延の影響は生じないという効果がある。
【図面の簡単な説明】
【図１】本発明の一実施例におけるデータ転送装置の構成を表わしたブロック図である。
【図２】本実施例のデータ受信装置内の要部を表わしたブロック図である。
【図３】本実施例のデータ転送装置のデータ転送の様子を時間軸を複数に分割して表わしたタイミング図である。
【図４】本実施例のデータ転送装置のデータ転送の様子を時間軸を複数に分割して表わしたタイミング図である。
【図５】本実施例のデータ転送装置のデータ転送の様子を時間軸を複数に分割して表わしたタイミング図である。
【図６】本発明の変形例におけるデータ転送装置の構成を表わしたブロック図である。
【符号の説明】
１０、１０Ａ  データ転送装置
１１、１１Ａ  データ送信装置
１２、１２Ａ  データ受信装置
１３  データ伝送手段
１４  データ送信器
１６  データ選択器
１８  データ出力部
１９  転送データ
２５  データ入力部
２７  障害検出部
３１  データ処理部
３４  エラー判定部
３６  情報持ち回り部
４１〜４３、５１〜５３、６１〜６３  レジスタ
４９  データ処理器
【図１】
0003741077.tif 000002
【図２】
0003741077.tif 000003
【図３】
0003741077.tif 000004
【図４】
0003741077.tif 000005
【図５】
0003741077.tif 000006
【図６】
0003741077.tif 000007