(57)【特許請求の範囲】
【請求項１】
データを送信するデータ送信装置と、他のデータ転送装置が送信したデータを、伝送路を介して受信するデータ受信装置を有するデータ転送装置において、
前記データ送信装置は、
送信対象データが入力され、前記送信対象データにエラー検査情報が付加された送信データを生成するデータ生成部と、
前記データ生成部が生成した送信データを記録するデータ記録部と、
前記データ生成部が生成した送信データを、前記他のデータ転送装置に送信するデータ送信部と、
前記他のデータ転送装置から、前記データ送信部が送信した送信データに対する再送要求を受信した場合に、前記データ記録部が記録した送信データを、前記データ送信部に前記他のデータ転送装置に送信させる再送制御部を有し、
前記データ受信装置は、
前記他のデータ転送装置が送信した送信データを、受信データとして受信するデータ受信部と、
前記受信データに付加されたエラー検査情報を用いて、前記受信データの検査を行い、エラーが発生した場合には、前記他のデータ転送装置に対して、前記エラーが発生した受信データの再送要求を送信するエラー検査部と、
前記エラー検査部が検出したエラーを有するエラー受信データを記録するエラーデータ記録部と、
前記データ記録部に記録された送信データと、前記エラーデータ記録部に記録されたエラー受信データを比較し、故障位置を特定する故障位置特定部を有し、
前記再送制御部は、所定回数の再送要求を他のデータ転送装置に対して送信した後、前記エラー検査部が前記送信した再送要求に対応する受信データのエラーを検出した場合、前記エラーデータ記録部に記録されたエラー受信データと前記エラー受信データに対する故障調査を要求する故障調査要求を、前記他のデータ送信装置に対して送信させ、
前記故障位置特定部は、前記データ記録部に記録された送信データと、前記データ受信部が受信した前記故障調査要求に引き続いて受信されるエラー受信データとの排他的論理和を取ることで、故障位置を特定することを特徴とするデータ転送装置。
【請求項２】
前記データ転送装置はさらに、
前記再送制御部が、所定回数の再送要求を他のデータ転送装置に対して送信した後、前記エラー検査部が、前記送信した再送要求に対応する受信データのエラーを検出した場合には、前記データ送信部を初期化することを特徴とする請求項１記載のデータ転送装置。
【請求項３】
データを送信するデータ送信装置と、他のデータ転送装置が送信したデータを、伝送路を介して受信するデータ受信装置を有するデータ転送装置の制御方法において、
前記データ送信装置が有するデータ生成部に、送信対象データが入力されるステップと、
前記データ生成部が、前記送信対象データにエラー検査情報が付加された送信データを生成するステップと、
前記データ送信装置が有するデータ記録部が、前記データ生成部が生成した送信データを記録するステップと、
前記データ転送装置が有するデータ送信部が、前記データ生成部が生成した送信データを、前記他のデータ転送装置に送信するステップと、
前記他のデータ転送装置から、前記データ送信部が送信した送信データに対する再送要求を受信した場合に、前記データ転送装置が有する再送制御部が、前記データ記録部が記録した送信データを、前記データ送信部に前記他のデータ転送装置に送信させるステップと、
前記データ受信装置が有するデータ受信部が、前記他のデータ転送装置が送信した送信データを、受信データとして受信するステップと、
前記データ受信装置が有するエラー検査部が、前記受信データに付加されたエラー検査情報を用いて、前記受信データの検査を行い、エラーが発生した場合には、前記他のデータ転送装置に対して、前記エラーが発生した受信データの再送要求を送信するステップと、
前記データ受信装置が有するエラーデータ記録部が、前記エラー検査部が検出したエラーを有するエラー受信データを記録するステップと、
前記データ受信装置が有する故障位置特定部が、前記データ記録部に記録された送信データと、前記エラーデータ記録部に記録されたエラー受信データを比較し、故障位置を特定するステップを有し、
前記再送制御部は、所定回数の再送要求を他のデータ転送装置に対して送信した後、前記エラー検査部が前記送信した再送要求に対応する受信データのエラーを検出した場合、前記エラーデータ記録部に記録されたエラー受信データと前記エラー受信データに対する故障調査を要求する故障調査要求を、前記他のデータ送信装置に対して送信させ、
前記故障位置特定部は、前記データ記録部に記録された送信データと、前記データ受信部が受信した前記故障調査要求に引き続いて受信されるエラー受信データとの排他的論理和を取ることで、故障位置を特定することを特徴とする制御方法。
【請求項４】
前記データ転送装置の制御方法はさらに、
前記再送制御部が、所定回数の再送要求を他のデータ転送装置に対して送信した後、前記エラー検査部が、前記送信した再送要求に対応する受信データのエラーを検出した場合には、前記データ送信部を初期化するステップを有することを特徴とする請求項３記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの授受を行うデータ転送装置、およびその制御方法に関する。
【背景技術】
【０００２】
従来より、ソフトエラーの発生により、送信側から送信され受信側で受信されたデータの或るビットの０／１が反転するなどのエラーが発生する可能性のある伝送路において、高信頼、高効率の通信を実現するために様々な構成のデータ転送装置、データ転送方式が提案されてきた。ここで、ソフトエラーとは、宇宙からのアルファ線（ヘリウム原子核線）を原因とするものである。エラー検出可能な符号であるCRC（Cyclic  Redundancy  Check、巡回符号）などのエラー検査情報を送信データに付加して、送信側から受信側に送信するという構成のデータ転送装置などは代表的な例である。
【０００３】
ここで、エラー検査用情報を送信することにより増加してしまうデータ転送時間を短縮するとともに、受信側にエラー検査用回路を付加しなくてもよい構成とするために次のようなデータ転送方式を開示している。まず、送信側は通信すべきデータを受信側へ送信するとともに保持しておき、受信側では、送信側から送信されたデータを受信するとともに、当該データを送信側へ返送する。そして、送信側では保持しておいたデータと返送されたデータとの照合を行い、不一致の場合には当該データを再送するという技術が知られている。
【０００４】
また、送信側は送信データを送信した後、受信側から誤り検出結果が返送されてくるまで次の送信データの送信を行うことができないことによる伝送完遂時間の増大を防ぐために、次のようなデータ転送方式を開示している。まず、送信データに訂正符号を付加して送信し、受信側で受信データに誤りがある場合、訂正符号に基づいて受信データを訂正し、訂正した受信データと訂正符号を送信側に返送し、送信側で元の送信データと訂正した受信データを照合し誤りを検出した場合は再度送信データを送信するようなデータ転送方式が知られている。
【０００５】
このように様々なデータ転送装置や方式が提案されているが、以下、情報処理装置内における一般的なデータ転送について詳細に説明する。
図１０に情報処理装置の構成を示す。情報処理装置は、プロセッサ１０１とクロスバ／システム制御１０２、Ｉ／Ｏデバイス１０３、メモリ１０４、システムサービスプロセッサ１０５を備える。プロセッサ１０１、クロスバ／システム制御１０２、Ｉ／Ｏデバイスには、システムサービスプロセッサ１０５から制御信号等が入力される。主なデータ転送は、プロセッサ１０１とクロスバ／システム制御１０２の間、および、クロスバ／システム制御１０２とＩ／Ｏデバイス１０３の間で行われる。このデータ転送の部分を図１１に拡大してより詳細に示す。
【０００６】
プロセッサ１０１、クロスバ／システム制御１０２、Ｉ／Ｏデバイス１０３はそれぞれデータ転送のための送信部１１１と受信部１１２を備える。
プロセッサ１０１は、処理部であるプロセッサコア１１３を含み、またメモリ１０４を制御するメモリコントローラ１１４を含む。尚、プロセッサ１０１として、メモリコントローラ１１４を含まず、プロセッサ１０１が外部のメモリコントローラを介してメモリにアクセスするような構成も考えられる。
【０００７】
また、クロスバ／システム制御１０２はスイッチ１１６を含み、データを転送する経路を動的に切り替える。また、Ｉ／Ｏデバイス１０３はＩ／Ｏデバイスの制御処理を行うＩ
／Ｏコア１１７を含む。
【０００８】
プロセッサ１０１とクロスバ／システム制御１０２間、および、クロスバ／システム制御１０２とＩ／Ｏデバイス１０３間に転送されるデータは少なくとも数十ビット以上(例えば８０ｂｉｔ)のデータ幅があり、このようなデータを転送するための伝送路は多ビットのパラレル配線となるため、データ転送にばらつきが生じ、受信側で受信する際にデータ中にビット反転などのエラーを生じてしまう可能性がある。また、電気的なノイズや伝送路にデータを送信する際に伝送路上に発生する反射波などが原因で、データ中にビット反転などのエラーが生じる場合もある。このように受信側で受信されたデータ中にエラーが生じたビットをエラービットと呼ぶ。
【０００９】
更に、図１２に図１１の送信部１１１と受信部１１２の部分のより詳細な構成を示す。図１２は、プロセッサ１０１、クロスバ／システム制御１０２、Ｉ／Ｏデバイス１０３のいずれにも備えられる送信部１１１と受信部１１２の組を示したもので、ＣＲＣを用いたエラー検査可能なデータ転送を行うものとする。尚、ここではＣＲＣを用いる例を示すが、パリティなど他のエラー検査情報であっても構わない。
【００１０】
送信部１１１は、プロセッサコア１１３やスイッチ１１６、Ｉ／Ｏコア１１７などの上位層で生成されたコマンドやデータなどで構成される送信データからパケットを生成するパケット生成部１２１、生成されたパケットの送信制御を行う送信制御部１２２、伝送路を駆動する送信回路１２３を備える。更にパケット生成部１２１は、送信データにＣＲＣなどのエラー検査情報を付加するＣＲＣ付加回路１２５を備える。また、送信制御部１２２は、受信側からの再送要求に備えて、送信するパケット全てを記録する送信パケット記録部１２６を備える。
【００１１】
受信部１１２は、受信した電圧波形をデジタル（０または１）に変換する受信回路１２８と受信したパケットのチェック等を行う受信制御部１２７を備える。受信制御部１２７は、受信パケットをデコードするパケットデコード部１２９と受信パケットのＣＲＣ検査を行うＣＲＣ検査回路１３０を備える。パケットデコード部１２９が受信したパケットをデコードした結果、再送要求である場合には再送制御部１２４に通知し、再送制御部１２４は送信パケット記録部１２６から送信パケットを再送するように制御する。また、ＣＲＣ検査回路１３０の検査結果により受信パケットにエラーが生じていることが明らかになった場合には再送制御部１２４は再送要求を送信する。
【００１２】
図１２のデータ授受の動作は次のようになる。
まず、送信側の送信部１１１がパケット生成部１２１において送信データにＣＲＣを付加して送信パケットを生成する。
【００１３】
受信側の受信部１１２は受信した受信パケットをパケットデコード部１２９でデコードするとともに、ＣＲＣ検査回路１３０でＣＲＣ検査を行う。再送制御部１２４は、ＣＲＣ検査回路１３０からエラーパケットを受信したという検査結果を通知されると、再送要求を送信する。また、再送制御部１２４は予め設定された回数の再送要求を行っても、正しいパケットを受信できない場合には再送要求の送信を停止し、プロセッサコア１１３やスイッチ１１６、Ｉ／Ｏコア１１７などの上位の階層に通知する。
【００１４】
送信側の受信部１１２は受信パケットをパケットデコード部１２９でデコードするともに、ＣＲＣ検査回路１３０でＣＲＣ検査を行う。再送制御部１２４は、パケットデコード部１２９から再送要求を受信したと通知されると、再送制御部１２４は、送信パケット記録部１２６に保存してある送信パケットを送信する。その後、受信側から正常にパケットを受信したというアクノリッジを受信すると、送信側は通常のパケット送信動作を再開す
る。
【００１５】
ＣＲＣはエラー訂正機能を持たず、エラービットを特定することができない。そのためＣＲＣを用いた通信方式では、受信側はエラーを検出するとそのデータを破棄し、送信側にデータの再送信を要求するのが一般的である。このように従来は、受信側は、受信したデータ、つまりパケット中にエラーを検出するとそのエラーパケットを破棄して、データの再送要求するのが一般的であった。
【００１６】
伝送路に送信されるパケット中に発生するエラー（誤り）とは、送信回路のアナログ回路から出力される電圧波形のピーク電圧の設定値の微妙な誤差や、電圧波形が出力される微妙なタイミングのために、受信側の受信回路で正しく受信できなかったために生じるものである。本書では、このようなエラーが発生する状態を故障状態と呼ぶ。
【００１７】
故障状態、つまり一時的にデータ転送が失敗するような場合、上述したように従来のデータ転送方式では、エラーを検出するとそのデータを破棄して再送要求をしていたため、エラービット、すなわちパケットにおける故障位置を特定することができなかった。また、一時的にデータ転送動作が失敗するような場合には再起動して固定故障かどうかを判断する必要があるが、再起動してしまうと故障状態が再現しない場合があり、後の故障解析が困難であった。
【００１８】
つまり、以下のことが言える。送信回路または受信回路のアナログ回路の調整状態の変動の結果もたらされた一時的な固定故障によって送信が失敗するような故障であった場合、通信回復の観点からは送信回路と受信回路の再初期化（再起動）によって回路の再調整を行うことで通信の回復が期待できる。一方、問題部位を特定する観点からは、回路の再初期化によって故障状態が再現しなくなる場合があり、故障解析が困難になるといった問題がある。
【００１９】
以上のことから、データ転送装置には、一時的な再送動作の失敗が生じた際にはエラービットを含むエラーパケットをログとして記録するとともに、エラーパケットが発生するような故障状態から回復するために再起動し、また記録したエラーパケットからエラービットを特定する手段を備えるという構成が求められる。更に、伝送路の再起動の際には、送信回路および受信回路のアナログ回路におけるデータ送受信に関する電圧値やタイミングを調整することでデータ転送におけるエラー発生を低減する構成とすることが求められる。しかしながら、今日までにそのようなデータ転送装置は存在しなかった。
【特許文献１】特開昭６４−８３４号公報
【特許文献２】特開昭６３−３１８８３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
そこで本発明の課題は、受信側でエラーパケットを受信した場合にそのエラーパケットを記録するとともに、故障位置を特定する機能を備えるデータ転送装置を提供することにある。更に、故障状態から回復するためにデータの送受信部を初期化して再起動する機能を備えるデータ転送装置を提供することにある。
【課題を解決するための手段】
【００２１】
このデータ転送装置の特徴は、受信側でエラーパケットを受信するというような故障状態となった場合に、該エラーパケットを送信側に送信して記録するとともに、送信側でエラーパケットを解析しエラービットを特定する機能を備えるところに特徴がある。また、故障状態から回復するためにデータの送受信部を初期化して再起動するところに特徴がある。
【００２２】
これにより、受信側で受信したエラーパケットを送信側に返送して、送信側で記録するとともに、送信した元の送信パケットと該エラーパケットとを比較してエラービットを特定するため、エラービットを容易かつ迅速に特定することが可能である。また、送信側でエラーパケットを記録しておくため、後に故障状態を再現し、故障原因を解析することが可能である。また、一時的な故障状態において送信が失敗するような場合、送信回路または受信回路のアナログ回路の調整を行ってから起動するため、通信の回復が可能である。
【発明の効果】
【００２３】
開示のデータ転送装置によれば、一時的な故障状態においてパケットの送信が失敗するような場合、伝送路を再起動し初期化を行い、通信を回復させることが可能である。また、受信側で受信したエラーパケットを送信側に送信して、送信側で記録するとともに、エラービットを特定するため、故障位置の特定を迅速に行うことができる。また、故障発生時にエラーパケットを記録しておくため、後の故障解析にも有効である。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照して、本データ転送装置、データ転送方制御方法の実施形態の一例について説明する。
尚、以下の実施例では、情報処理装置内のデータ転送について説明するが、本実施形態はこれに限定されることなく、伝送路を介してデータを授受するいずれのデータ転送装置に適用可能であることはいうまでもない。
【００２５】
図１に本実施例のデータ転送装置の構成を示す。
データ転送装置は、送信部１と受信部２とを備える。図１２に示した従来のデータ転送装置の構成とほぼ同様に、送信部１内に、パケット生成部３と、送信制御部４と、送信回路５と、再送制御部９とを備え、受信部２内に、受信制御部７と、受信回路６とを備える。  
パケット生成部３は上位層で生成されたコマンドやデータなどで構成される送信データからパケットを生成する。また、パケット生成部３は送信データにＣＲＣなどのエラー検査情報を付加するＣＲＣ付加回路３１を備える。
【００２６】
送信制御部４は生成されたパケットの送信制御を行う。また、送信制御部４は、受信側からの再送要求に備えて、送信するパケット全てを記録する送信パケット記録部４１を備える。
【００２７】
送信回路５は、伝送路を駆動し、デジタル信号を電圧波形に変換して、データを送信する。
受信回路６は、受信した電圧波形をデジタル（０または１）に変換する。
【００２８】
受信制御部７は、受信したパケットのチェックを行う。また、受信制御部７は、受信パケットをデコードするパケットデコード部７１と受信パケットのＣＲＣ検査を行うＣＲＣ検査回路７２を備える。
【００２９】
データ転送装置が受信側である場合の再送制御部９は、受信したパケットのＣＲＣ検査回路７２の結果に基づいて受信パケットにエラーが生じていることが明らかになった場合に、再送要求を送信する。データ転送装置が受信側である場合には、受信したパケットが再送要求である場合に、送信パケット記録部４１から送信パケットを再送するように制御する。
【００３０】
このように、本実施例のデータ転送装置の各部は、従来のデータ転送装置の構成要素と
ほぼ同様であるが、本実施例のデータ転送装置は、更に、受信部２内に故障特定部８を備える。
【００３１】
故障特定部８は、エラーパケット記録部８１と故障ビット記録部８２を備える。エラーパケット記録部８１は、パケットデコード部７１のデコードの結果、受信側から送信されたパケットがエラーパケットであるということが明らかになると、受信側から返送されたエラーパケットを記録する。故障ビット記録部８２は、故障ビット特定回路（後述）が、送信部１の送信制御部４内の送信パケット記録部４１に保存された送信パケットとエラーパケットを比較することによって特定したエラービット記録する。
【００３２】
また、本実施例のデータ転送装置は、再送制御部が予め設定された回数、パケットの再送要求を行っても正しいパケットを受信できない場合に、故障調査を要求する調査要求パケットを有する。
【００３３】
図１のような構成のデータ転送装置について、図２のように送信側Ａと受信側Ｂからなるシステムを示して、本実施例のデータ転送装置の動作を詳細に説明する。
図２において、まず送信側Ａのデータ転送装置において、上位層で生成されたコマンドやデータなどで構成される送信データから、パケット生成部３ａでＣＲＣを付加し（ＣＲＣ付加回路３１ａ）、送信パケットを生成する。
【００３４】
次に、送信制御部４ａにおいて、送信パケットを送信パケット記録部４１ａに記録する。そして、送信回路５ａにおいて、デジタル信号が電圧波形に変換されて、受信側に向けて送出される。受信側Ｂのデータ転送装置において、電圧波形が受信され、受信回路６ｂにおいて、電圧波形がデジタル信号に変換され、受信パケットとされる。
【００３５】
次に受信制御部７ｂにおけるＣＲＣ検査回路７２ｂが受信パケットを検査し、エラーが検出されない場合には、受信データとして上位層に送られる。ＣＲＣ検査回路７２ｂで、受信パケットにエラー（誤り）を検出すると、再送制御部９ｂおよび故障特定部８ｂ内のエラーパケット記録部８１ｂに通知する。
【００３６】
エラーパケット記録部８１ｂでは、ＣＲＣ検査回路７２ｂからの通知により、エラーを検出したパケットを保存する。
再送制御部９ｂは、ＣＲＣ検査回路７２ｂからのエラーパケットを受信した旨の通知により、パケット生成部３ｂに再送要求パケットを送信する通知を行う。パケット生成部３ｂでは、ＣＲＣ付加回路３１ｂによってＣＲＣが付加され、再送要求パケットが生成される。そして、生成された再送要求パケットは、送信制御部４ｂおよび送信回路５ｂを経て、送信側Ａのデータ転送装置へ向けて送信される。
【００３７】
また、再送制御部９ｂは、予め設定された所定回数の再送要求を行っても、正しいパケットを受信できない場合には、調査要求パケットとそれに引き続き、エラーパケット記録部８１ｂに保存しておいたエラーパケットをエラー調査パケットとして再構成したものを送信側Ａに向けて送信する。再送制御部９ｂは、予め設定された所定回数の再送要求を行っても、正しいパケットを受信できない場合に、予め初期化モードが設定されている場合には、伝送路の初期化を行う（後述）。尚、「予め設定された所定回数」とは、システム管理者などがシステムサービスプロセサ１０を介して、設定するパケットの再送回数であり、図２では、送信部１内の「再送回数設定」として示されている。
【００３８】
送信側Ａにおいて、受信側Ｂからパケットを受信すると、まず受信制御部７ａの受信制御部７ａ内のＣＲＣ検査回路７２ａにおいてエラーがないか検査されるとともに、パケットデコード部７１ａにおいてパケットのデコードが行われる。ここで、再送要求パケット
であると判断されると、再送制御部９ａに再送要求が通知される。再送制御部９ａは、送信パケット記録部４１ａに保存してあった送信パケットを受信側Ｂに向けて送信するように制御する。
【００３９】
また、パケットデコード部７１ａにおけるパケットデコードの結果、調査要求パケットであると判断されると、その後に引き続き受信するパケットをエラーパケットとして故障特定部８ａ内のエラーパケット記録部８１ａに保存する。そして、故障ビット特定回路８３ｂ（後述）は、送信パケット記録部４１ａに保存されていた送信パケットと、エラーパケット記録部８１ａに保存されたエラーパケットとを比較し、異なるビットを故障ビットとして、故障ビット記録部８２ａに通知する。
【００４０】
故障ビット記録部８２ａは、故障ビット特定回路８３ａからの検査結果を保存する。この故障ビット記録部８２ａに記録された情報は、不図示の読み出し手段等によって読み出され、後の故障解析などに用いられる。
【００４１】
以上、本実施例のデータ転送装置の動作について説明したが、次にパケットがどのように処理されていくかということを、図３、図４を参照して説明する。
図３に、本実施例のデータ転送装置で扱われるパケットのフォーマットを示す。
【００４２】
送信回路５に入力されるパケットまたは受信回路６から出力されるパケットは、ヘッダ、データ、ＣＲＣの３つの部分からなり、ヘッダ部はそのパケットの意味（ｔｙｐｅフィールド）と、パケット全体の長さを示す（ｌｅｎフィールド）。ｌｅｎフィールドが１以上（パケットの長さが２以上）の場合は、ヘッダフィールドは先頭のサイクルのみに付加される。ＣＲＣフィールドは、予め定義された生成関数によって、各サイクル毎にＣＲＣフィールドを除いた部分を入力として生成され、ヘッダ、データと共にパケットを構成する。
【００４３】
図４は、図２に示した伝送システムを伝達していくパケットを示したものである。図４内の丸付き数字Ｄ１〜Ｄ１１は、図２内の各ポイントにおけるデータを示している。
Ｄ１は、上位層で生成されたコマンドやデータなどで構成される送信データである。
【００４４】
Ｄ２では、送信するパケットの種類に対応したヘッダが付加される。
Ｄ３、Ｄ４では、Ｄ２から計算されたＣＲＣコードを付加して、送信パケットとする。
送信パケットは、送信記録部４１ａに記録される（Ｄ１０）。
【００４５】
送信回路５ａによって送信され、受信側Ｂで受信されたパケットＤ５は、ＣＲＣ検査、パケットデコードが行われ、エラーが検出された場合は、エラーパケットとして記録される（Ｄ７）。
【００４６】
エラーが検出されない場合は、受信データとして上位層に通知される（Ｄ６）。
受信パケットにエラーが検出された場合は、再送制御部９ｂが、再送要求パケットを生成するようにパケット生成部３ｂに通知し、再送要求パケットが生成されて、送信側Ａに返送される（Ｄ９）。また、再送制御部９ｂで、予め設定された回数の再送要求を行っても、正しいパケットの受信ができなかったと判断された場合には、調査要求パケットと、それに引き続き、エラーパケット記録部８１ｂに保存しておいたパケットをエラー調査パケットとして再構成したものを送信側Ａに向けて返送する（Ｄ９）。エラー調査パケットは、エラーパケット記録部８１ｂに保存されていたパケットに、パケットヘッダと、ＣＲＣを追加して再構成されたものである。
【００４７】
送信側Ａで、再送要求パケットが受信されたと判断されると、送信パケット記録部４１
ａに保存されていた送信パケットＤ１０が送信される（Ｄ４）。
また、送信側Ａで調査要求パケットが受信されたと判断されると、送信パケットＤ１０と調査要求パケットに引き続いて受信されるエラーパケット（Ｄ１１）との排他的論理和を取ることで、故障しているビットを特定する。
【００４８】
以上、図２〜図４を参照して、図１に示したデータ転送装置の動作について詳細に説明した。次に、図１に示したデータ転送装置が送信側の場合の動作フローと、受信側の場合の動作フローをそれぞれ示す。
【００４９】
図５に送信側のデータ転送装置の動作フローを示す。
Ｓ５０１で、送信部１ａ内の再送制御部９ａは、受信制御部７ａ内のパケットデコード部７１ａのデコード結果から、再送要求を受け取ったか否かを判断する。
【００５０】
Ｓ５０１で再送要求を受け取っていたと判断された場合（Ｓ５０１：Ｙｅｓ）、Ｓ５０７に進み、送信制御部４ａに対してパケットの再送を要求する。送信制御部４ａは、再送制御部９ａよりパケットの再送要求を受け取ると、Ｓ５０７で再送パケットを送信パケット記録部４１ａより取り出し、Ｓ５０８にて送信回路５ａに送る。
【００５１】
また、Ｓ５０１で再送要求を受け取っていなかった場合（Ｓ５０１：Ｎｏ）にはＳ５０２に進む。Ｓ５０２では、受信制御部７ａ内のパケットデコード部７１ａによる受信パケットのデコードから、調査要求を受け取ったか否かを判断する。
【００５２】
Ｓ５０２で、調査要求を受け取ってないと判断された場合（Ｓ５０２：Ｎｏ）、送信部１ａ内のパケット生成部３ａは、新規データの送信処理が可能であることを示す通知を受け取り、上位層からの新規送信データに対応する送信パケットを生成する（Ｓ５０３）。そして、Ｓ５０４でＣＲＣコードを生成して、送信データに付加した後、Ｓ５０５で送信パケット記録部４１ａに送信パケットを記録し、Ｓ５０６で送信パケットを送信回路５ａに送る。送信回路５ａは、送信データに対応して伝送路の制御を行い、データ受信側ポートにデータを送信する。
【００５３】
Ｓ５０２で調査要求を受け取っていたと判断された場合（Ｓ５０２：Ｙｅｓ）、Ｓ５０９に進み、パケット生成部３ａにアクノリッジパケットの送信を要求する。パケット生成部３ａは、アクノリッジパケットを生成し、ＣＲＣコードを生成して送信データに付加した後、送信パケットとして送信制御部４ａ、送信回路５ａに送る。
【００５４】
Ｓ５０９でアクノリッジパケットが送信された後、Ｓ５１０で受信制御部７ａがエラーパケットを受信したことを検出すると、故障特定部８ａに故障ビットの特定を要求する。Ｓ５１１で、故障特定部８ａは、受信パケットをエラーパケット記録部８１ａにエラーパケットを保存し、送信部１ａの送信パケット記録部４１ａに保存してあった送信パケットと比較する。そして、故障ビットを特定し、Ｓ５１２で故障ビット記録部８２ａに記録する。
【００５５】
尚、Ｓ５１１およびＳ５１２の処理を行う、故障特定部８ａの故障ビット特定回路の回路例を図６に示す。パケットデコーダ７１ａからエラー調査パケットの受信通知を受けると、パケットの長さに合わせてタイミング調整と、エラーパケットの格納アドレスと、送信パケット格納アドレスを生成する。エラーパケットと送信パケットが読み出せたタイミングでエラーパケットと送信パケットとの排他的論理和をレジスタに書き込む。本実施例ではエラーパケットと送信パケットはともにＲＡＭに保存することとしているが、ＦＦ（フリップフロップ）、レジスタファイル等、その他適当な保存手段であっても構わない。
【００５６】
次に、図７に送信側のデータ転送装置の動作フローを示す。
まず、Ｓ７０１で、受信回路６ｂがパケットを伝送路より受信する。
Ｓ７０２で、受信制御部７ｂ内のＣＲＣ検査回路７２ｂが、受信したパケットに付加されているＣＲＣコードを検査する。
【００５７】
Ｓ７０２でＣＲＣエラーがないと確認された場合（Ｓ７０３：Ｎｏ）には、Ｓ７１６で再送制御部９ｂ内のパケットの再送回数を計数するカウンタをクリアし、Ｓ７１７に上位層に対してパケットを受信したことを通知する。尚、図８に再送制御部９を含む送信部１の回路構成例を示す。図８のように、ＣＲＣエラーがない場合には、ＣＲＣエラー信号が反転してカウンタのクリア制御ポートに入力されるため、カウンタがクリアされる。
【００５８】
また、Ｓ７０２でＣＲＣエラーを検出した場合（Ｓ７０３：Ｙｅｓ）には、Ｓ７０４で故障特定部８ｂに対して受信したパケットの保存を指示する。受信制御部７ｂは更に、Ｓ７０５で再送要求回数が、予め設定された所定回数未満であるかどうかを判断する。図８では、所定の再送回数とカウンタの出力値が演算器（A-B≧0）に入力されて出力されている。
【００５９】
Ｓ７０５で所定回数未満であった場合（Ｓ７０５：Ｙｅｓ）、Ｓ７０６で送信部１ｂ内再送制御部９ｂに再送要求パケットの送信を指示する。図８では、ＣＲＣエラー信号と上記演算器（A-B≧0）の出力の反転信号から再送要求パケット送信指示が出力されている。また、Ｓ７０７で、再送回数を１加算する。すなわち、図８のカウンタを１インクリメントする。
【００６０】
Ｓ７０５で、再送回数が所定回数以上であった場合（Ｓ７０５：Ｎｏ）、Ｓ７０８でシステムサービスプロセッサ（図２の１０）によって予め静的に設定されるモードが、調査要求送信時に伝送路を再初期化するモードかどうかを判断する。図８では、図中およそ上半分に描かれる回路部分（システサービスプロセッサによって設定される再初期化モード信号を入力とし、再初期化指示信号を出力するまでの回路部分。）である。
【００６１】
Ｓ７０８で再初期化するモードでない場合（Ｓ７０８：Ｎｏ）は、Ｓ７１０に進み、再送制御部９ｂは調査要求パケットの送信をパケット生成部４ｂに指示する。
Ｓ７０８で再初期化するモードである場合（Ｓ７０８：Ｙｅｓ）は、Ｓ７０９に進み、伝送路の再初期化を行う。そして、伝送路の再初期化完了を待って、Ｓ７１０で調査要求パケットの送信を行う。
【００６２】
ここで、伝送路の初期化とは、送信回路５、受信回路６の初期化を行うことを言う。図９に送信回路および受信回路の回路構成例を示す。
送信回路５の初期化では、ドライブ電流電圧調整回路によるドライブ電流、ドライブ電圧の調整、終端抵抗調整回路による終端抵抗の調整、並直列変換器（ＰＩＳＯ）の書き込み読み出しポインタのリセットの順で初期化を行う。
【００６３】
受信回路６の初期化では、終端抵抗調整回路による終端抵抗の調整、レシーバオフセット電圧調整回路によるレシーバのオフセット電圧の調整、Ｄｉｇｉｔａｌ  Ｌｏｃｋｅｄ
Ｌｏｏｐ回路  （ＤＬＬ）、再ロック処理、位相調整回路による受信クロックの位相調整、直並列変換器（ＳＩＰＯ）の書き込み読み出しポインタのリセット、先入れ先出しバッファの書き込み読み出しポインタのリセットの順で初期化を行う。
【００６４】
その後、Ｓ７１１で、受信回路６ｂがパケットを受信する。そして、Ｓ７１２で、受信制御部７ｂ内のＣＲＣ検査回路７２ｂでＣＲＣコードを検査する。
ＣＲＣエラーを検出した場合（Ｓ７１３：Ｙｅｓ）、Ｓ７１１に戻り再度パケットを受
信する。ＣＲＣコード検査の結果、正常であった場合（Ｓ７１３：Ｎｏ）、Ｓ７１４でパケットデコード部７１ｂが、該受信パケットがアクノリッジパケットであるかを判断する。
【００６５】
Ｓ７１４で、アクノリッジパケットでなかった場合（Ｓ７１４：Ｎｏ）、Ｓ７１１に戻り再度パケットを受信する。Ｓ７１４で、アクノリッジパケットであった場合（Ｓ７１４：Ｙｅｓ）、Ｓ７１５に進み、送信部１ｂ内の再送制御部９ｂに対してエラーパケットの送信を指示する。再送制御部９ｂは、送信制御部４ｂに対して、エラーパケット記録部８１ｂに保存してあったエラーパケットを送信するように指示し、送信回路５ｂを介してエラーパケットが送信される。図８では、図中ほぼ中央に示される、調査応答パケット受信通知を入力信号とし、エラー調査パケット送信指示信号が出力される回路部分がこの処理に対応する。
【００６６】
以上のように、本実施例のデータ転送装置について、構成および動作を詳細に説明した。
本実施例のデータ転送装置によれば、受信側で受信したエラーパケットを送信側に返送して、送信側で記録するとともに、送信した元の送信パケットと該エラーパケットとを比較してエラービット（故障位置）を特定するため、故障位置を容易かつ迅速に特定することが可能である。また、送信側でエラーパケットを記録しておくため、後に故障状態を再現し、故障原因を解析することが可能である。また、一時的な故障状態において送信が失敗するような場合、送信回路または受信回路のアナログ回路の調整を行ってから起動するため通信の回復が可能である。
【００６７】
以上のように本実施例のデータ転送装置について詳細に説明したが、上述したように本データ転送装置、データ転送方制御方法はこれに限定されることなく、伝送路を介してデータを送受信するいずれのデータ装置に適用しても構わない。また、本実施例はあくまでも本データ転送装置、データ転送方制御方法の一実施の形態を示したのに過ぎず、本実施形態の要旨を逸脱しない範囲で様々な応用が可能であることは言うまでもない。
【図面の簡単な説明】
【００６８】
【図１】本実施例のデータ転送装置の構成を示す図である。
【図２】本実施例のデータ転送装置を送信側と受信側に配置したデータ伝送システムを示す図である。
【図３】本実施例のデータ転送装置で扱われるパケットのフォーマットを示す図である。
【図４】図２におけるパケット操作の流れを示す図である。
【図５】送信側データ転送装置の動作フローを示す図である。
【図６】故障ビット特定回路の構成例を示す図である。
【図７】受信側データ転送装置の動作フローを示す図である。
【図８】再送制御部を含む送信部の回路構成例を示す図である。
【図９】送信回路および受信回路の回路構成例を示す図である。
【図１０】情報処理装置の構成を示す図である。
【図１１】情報処理装置のデータ転送に関わる部分の詳細な構成を示す図である。
【図１２】データ転送装置の送信部と受信部の詳細な構成を示す図である。
【符号の説明】
【００６９】
１、１ａ、１ｂ      送信部
２、２ａ、２ｂ      受信部
３、３ａ、３ｂ      パケット生成部
４、４ａ、４ｂ      送信制御部
５、５ａ、５ｂ      送信回路
６、６ａ、６ｂ      受信回路
７、７ａ、７ｂ      受信制御部
８、８ａ、８ｂ      故障特定部
９、９ａ、９ｂ      再送制御部
３１、３１ａ、３１ｂ      ＣＲＣ付加回路
４１、４１ａ、４１ｂ      送信パケット記録部
７１、７１ａ、７１ｂ      パケットデコード部
７２、７２ａ、７２ｂ      ＣＲＣ検査回路
８１、８１ａ、８１ｂ      エラーパケット記録部
８２、８２ａ      故障ビット記録部
１０１      プロセッサ
１０２      クロスバ／システム制御
１０３      Ｉ／Ｏデバイス
１０４      メモリ
１０５      システムサービスプロセッサ
１１１      送信部
１１２      受信部
１１３      プロセッサコア
１１４      メモリコントローラ
１１６      スイッチ
１１７      Ｉ／Ｏコア
１２１      パケット生成部
１２２      送信制御部
１２３      送信回路
１２４      再送制御部
１２５      ＣＲＣ付加回路
１２６      送信パケット記録部
１２７      受信制御部
１２８      受信回路
１２９      パケットデコード部
１３０      ＣＲＣ検査回路
【図１】
0005256855.tif 000002
【図２】
0005256855.tif 000003
【図３】
0005256855.tif 000004
【図４】
0005256855.tif 000005
【図５】
0005256855.tif 000006
【図６】
0005256855.tif 000007
【図７】
0005256855.tif 000008
【図８】
0005256855.tif 000009
【図９】
0005256855.tif 000010
【図１０】
0005256855.tif 000011
【図１１】
0005256855.tif 000012
【図１２】
0005256855.tif 000013