(57)【要約】【課題】  バス上に送信したデータにおいて訂正不可能なエラーが発生した場合に、データ再送信の成功率を向上させるように該当データを再送信する機能を有するバスリトライ制御方式及びこれに適したデータ通信装置を提供すること。【解決手段】  各ノード１０１、１１１のデータ送信部１０８、１１３がデータバス１２０に送信したデータについて、訂正不可能なエラーがエラー検出部１０５、１１５によって検出されると、バスリクエスト制御部１０２、１１２は、他のデータ送信に優先して前記エラーを検出したデータの再送信を行う。【選択図】  図１
2005277552.tif 000002
【特許請求の範囲】
【請求項１】
通信路に接続された複数のノードを有し、データ送信を行うノードから前記通信路を介して他のノードに対して、データ送信を行う要求であるバスリクエストを行うことによって、他のノードにデータ送信を行うと共に、送信したデータに訂正不可能なエラーが発生したことを検出した場合に該データについてのバスリクエストを行うことによって、該データを再送信するようにしたバスリトライ制御方式において、
前記各ノードは、送信するデータを保持すると共に前記データを前記通信路に送信するデータ送信部と、バスリクエストを行うバスリクエスト制御部と、前記通信路に送信したデータに関して訂正不可能なエラーを検出するエラー検出部とを備えて成り、
前記データ送信部は、前記エラー検出部が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、前記バスリクエスト制御部に対して前記エラーを検出したデータを再送するようにバスリクエストを行わせ、前記バスリクエスト制御部は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うことを特徴とするバスリトライ制御方式。
【請求項２】
前記バスリクエスト制御部は、データ送信部がデータを前記通信路に送信した後所定時間内は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うことを特徴とする請求項１記載のバスリトライ制御方式。
【請求項３】
前記データ送信部は、前記通信路に送出するデータを格納する複数の記憶領域を有する記憶手段と、前記エラー検出部が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、前記エラーを検出したデータの再送のリクエストを行うように前記バスリクエスト制御部を制御するリトライ制御部と、前記通信路に送出したデータが格納されていた記憶領域を特定するための記憶領域特定番号を記憶する記憶領域番号記憶部とを有し、
前記リトライ制御部は、前記記憶領域番号記録部を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、前記バスリクエスト制御部は、前記記憶領域に格納しているデータについてのバスリクエストを行うことを特徴とする請求項１又は２記載のバスリトライ制御方式。
【請求項４】
前記記憶手段の各記憶領域に対応して、送信データに訂正不可能なエラーを検出した場合に再送のリクエストを行うか否かを示すリトライフラグを設け、
前記リトライ制御部は、前記記憶領域番号記録部を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、前記バスリクエスト制御部は、前記特定した記憶領域に前記リトライフラグがセットされている場合に該記憶領域に格納されたデータについてのバスリクエストを行うことを特徴とする請求項３記載のバスリトライ制御方式。
【請求項５】
通信路に対して、データ送信を行う要求であるバスリクエストを行うことによってデータ送信を行うと共に、送信したデータに訂正不可能なエラーが発生したことを検出した場合に該データについてのバスリクエストを行うことによって、該データを再送信するようにしたデータ通信装置において、
送信するデータを保持すると共に前記データを前記通信路に送信するデータ送信部と、バスリクエストを行うバスリクエスト制御部と、前記通信路に送信したデータに訂正不可能なエラーを検出するエラー検出部とを備えて成り、
前記データ送信部は、前記エラー検出部が前記通信路に送信したデータに関して訂正不可能なエラーを検出した場合に、前記バスリクエスト制御部に対して前記エラーを検出したデータを再送するようにバスリクエストを行わせ、前記バスリクエスト制御部は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うことを特徴とするデータ通信装置。
【請求項６】
前記バスリクエスト制御部は、データ送信部がデータを前記通信路に送信した後所定時間内は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うことを特徴とする請求項５記載のデータ通信装置。
【請求項７】
前記データ送信部は、前記通信路に送出するデータを格納する複数の記憶領域を有する記憶手段と、前記エラー検出部が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、前記エラーを検出したデータの再送のリクエストを行うように前記バスリクエスト制御部を制御するリトライ制御部と、前記通信路に送出したデータが格納されていた記憶領域を特定するための記憶領域特定番号を記憶する記憶領域番号記憶部とを有し、
前記リトライ制御部は、前記記憶領域番号記録部を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、前記バスリクエスト制御部は、前記記憶領域に格納しているデータについてのバスリクエストを行うことを特徴とする請求項５又は６記載のデータ通信装置。
【請求項８】
前記記憶手段の各記憶領域に対応して、送信データに訂正不可能なエラーを検出した場合に再送のリクエストを行うか否かを示すリトライフラグを設け、
前記リトライ制御部は、前記記憶領域番号記録部を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、前記バスリクエスト制御部は、前記特定した記憶領域に前記リトライフラグがセットされている場合に該記憶領域に格納されたデータについてのバスリクエストを行うことを特徴とする請求項７記載のデータ通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノードがバスに送信したデータで訂正不可能なエラーが検出されるとデータ送信部にリトライ信号を通知して該当データの再送を要求するバスリトライ制御方式及び前記バスリトライ方式に適したデータ通信装置に関するものである。
【背景技術】
【０００２】
バス上に送信されたデータにおいて、ごく低い確率ではあるが、単発的で訂正不可能なエラーが発生する場合がある。このような訂正不可能エラーが発生した場合には、システムダウンを招いたりする重障害となる。これを回避するためには、訂正不可能なエラーが発生したデータを再送信する機能を構築することが考えられるが、該当データの確実な再送信を可能にするためには複雑な制御が必要となりハードウエア（以下、ＨＷと略す）の量が増大するという問題があった。このため、最低限のＨＷを追加するだけでデータを再送信できる機能が強く望まれていた。
【０００３】
一方、上述のようなバスリトライ制御方式等に関する従来例としては、例えば、下記の特許文献１〜５が知られている。
特許文献１はデータリトライ転送方式に関するものであり、共通バス上の一時的なエラーに対してソフトウエアなどに影響を与えることなくリトライ処理を行ないシステムのサービスアビリティを向上させる技術が開示されている。また、特許文献１の請求項１及びその説明文などには、受信側からのエラー応答でリトライを実行する構成が示されている。
【０００４】
特許文献２は再送機能付きバッファ装置に関するものであり、データ転送時のバッファにおいて転送効率が大きく低下する再送時に効率を向上させる技術が開示されている。また、特許文献２の請求項１及びその説明文などには、出力バッファにフラグ（有効ビット）を付加して制御する技術が示されている。
特許文献３はバス上で処理が異常終了した場合に再実行処理を行なうバス制御装置に関するものであり、閾値レジスタに示されたリトライ回数で動的にリトライ間隔を変化させたり或いはリトライ動作を優先実行させたりする技術が開示されている。また、特許文献３の請求項１及びその説明文などには、リトライ時にバス調停条件（要求間隔）を変更する技術が示されている。
【０００５】
特許文献４は電子計算機などにおける割込み処理中のリトライ制御方式に関するものであり、２つの状態を示す割込リトライフラグを２ヶ設けることにより割込処理中の割込処理リトライを可能ににした技術が開示されている。
特許文献５は計算機システムにおけるバスアービトレーション装置に関するものであり、各々のユニットから送出される優先度情報とその優先順位の対応表をプロセッサユニットからの指示によりロードする技術などが開示されている。
【０００６】
然しながら、特許文献１や特許文献２で開示されている技術は、バスリクエスト優先度の制御を実施する構成を有しておらずデータのリトライが可能となる確率を高めることができないという問題があった。また、特許文献３で開示されている技術は、先行データのリトライが要求される可能性がある期間、後続データのバスリクエスト要求の優先度を低下させるようなことができないという問題があった。更に、特許文献１〜３を組み合わせてみても上述の問題を解消することはできず、特許文献４や特許文献５で開示されている技術も上述の問題を解消することと無縁であった。
【０００７】
【特許文献１】特開昭６２−２０２２５１号公報
【特許文献２】特開平６−８５８５２号公報
【特許文献３】特開平９−１１４７５０号公報
【特許文献４】特開昭５７−１６４３４２号公報
【特許文献５】特開平７−１３４６８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は上述のような従来技術の問題点などに鑑みてなされたものであり、通信路に送信したデータにおいて訂正不可能なエラーが発生した場合に、データ再送信の成功率を向上させるように該当データを再送信する機能を有するバスリトライ制御方式及びこれに適したデータ通信装置を提供することを課題としている。
【課題を解決するための手段】
【０００９】
前記課題を解決する本発明は、通信路に接続された複数のノードを有し、データ送信を行うノードから前記通信路を介して他のノードに対して、データ送信を行う要求であるバスリクエストを行うことによって、他のノードにデータ送信を行うと共に、送信したデータに訂正不可能なエラーが発生したことを検出した場合に該データについてのバスリクエストを行うことによって、該データを再送信するようにしたバスリトライ制御方式において、
前記各ノードは、送信するデータを保持すると共に前記データを前記通信路に送信するデータ送信部と、バスリクエストを行うバスリクエスト制御部と、前記通信路に送信したデータに関して訂正不可能なエラーを検出するエラー検出部とを備えて成り、
前記データ送信部は、前記エラー検出部が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、前記バスリクエスト制御部に対して前記エラーを検出したデータを再送するようにバスリクエストを行わせ、前記バスリクエスト制御部は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うことを特徴とするバスリトライ制御方式が提供される。
【００１０】
データ送信部は、エラー検出部が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、バスリクエスト制御部に対して前記エラーを検出したデータを再送するようにバスリクエストを行わせる。前記バスリクエスト制御部は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行う。
ここで、前記バスリクエスト制御部は、データ送信部がデータを前記通信路に送信した後所定時間内は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うように構成してもよい。
【００１１】
また、前記データ送信部は、前記通信路に送出するデータを格納する複数の記憶領域を有する記憶手段と、前記エラー検出部が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、前記エラーを検出したデータの再送のリクエストを行うように前記バスリクエスト制御部を制御するリトライ制御部と、前記通信路に送出したデータが格納されていた記憶領域を特定するための記憶領域特定番号を記憶する記憶領域番号記憶部とを有し、前記リトライ制御部は、前記記憶領域番号記録部を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、前記バスリクエスト制御部は、前記記憶領域に格納しているデータについてのバスリクエストを行うように構成してもよい。
【００１２】
また、前記記憶手段の各記憶領域に対応して、送信データに訂正不可能なエラーを検出した場合に再送のリクエストを行うか否かを示すリトライフラグを設け、前記リトライ制御部は、前記記憶領域番号記録部を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、前記バスリクエスト制御部は、前記特定した記憶領域に前記リトライフラグがセットされている場合に該記憶領域に格納されたデータについてのバスリクエストを行うように構成してもよい。
【００１３】
また、本発明によれば、通信路に対して、データ送信を行う要求であるバスリクエストを行うことによってデータ送信を行うと共に、送信したデータに訂正不可能なエラーが発生したことを検出した場合に該データについてのバスリクエストを行うことによって、該データを再送信するようにしたデータ通信装置において、
送信するデータを保持すると共に前記データを前記通信路に送信するデータ送信部と、バスリクエストを行うバスリクエスト制御部と、前記通信路に送信したデータに訂正不可能なエラーを検出するエラー検出部とを備えて成り、
前記データ送信部は、前記エラー検出部が前記通信路に送信したデータに関して訂正不可能なエラーを検出した場合に、前記バスリクエスト制御部に対して前記エラーを検出したデータを再送するようにバスリクエストを行わせ、前記バスリクエスト制御部は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うことを特徴とするデータ通信装置が提供される。
【００１４】
データ送信部は、エラー検出部が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、バスリクエスト制御部に対して前記エラーを検出したデータを再送するようにバスリクエストを行わせる。前記バスリクエスト制御部は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行う。
ここで、前記バスリクエスト制御部は、データ送信部がデータを前記通信路に送信した後所定時間内は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うように構成してもよい。
【００１５】
また、前記データ送信部は、前記通信路に送出するデータを格納する複数の記憶領域を有する記憶手段と、前記エラー検出部が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、前記エラーを検出したデータの再送のリクエストを行うように前記バスリクエスト制御部を制御するリトライ制御部と、前記通信路に送出したデータが格納されていた記憶領域を特定するための記憶領域特定番号を記憶する記憶領域番号記憶部とを有し、前記リトライ制御部は、前記記憶領域番号記録部を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、前記バスリクエスト制御部は、前記記憶領域に格納しているデータについてのバスリクエストを行うように構成してもよい。
【００１６】
また、前記記憶手段の各記憶領域に対応して、送信データに訂正不可能なエラーを検出した場合に再送のリクエストを行うか否かを示すリトライフラグを設け、前記リトライ制御部は、前記記憶領域番号記録部を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、前記バスリクエスト制御部は、前記特定した記憶領域に前記リトライフラグがセットされている場合に該記憶領域に格納されたデータについてのバスリクエストを行うように構成してもよい。
【発明の効果】
【００１７】
本発明によれば、ノードが通信路上に送信したデータの再送信を要求する可能性を考慮し、次回以降のバスリクエスト時の優先度を制御しデータ再送信の成功率を向上させるようなデータ再送信機能が実現する。これにより、通信路上に送信したデータで訂正不可能なエラーが発生した場合に、データ再送信の成功率を向上させるように当該データを再送信しシステムの可用性を向上させることができる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
図１は、通信路に接続された複数のノードを有し、データ送信を行うノードから前記通信路を介して他のノードに対して、データ送信を行う要求であるバスリクエストを行うことによって、他のノードにデータ送信を行うと共に、送信したデータに訂正不可能なエラーが発生したことを検出した場合に該データについてのバスリクエストを行うことによって、該データを再送信するようにしたバスリトライ制御方式のブロック図である。１つのデータバス１２０にデータ通信装置としての複数のノード１０１、１１１が接続されるバス構造を持つ例を示しており、図１では、説明を簡単にするためデータバス１２０に共通接続されるノードの数を２ヶにしている。
【００１９】
図１において、データ通信装置としてのノード１（１０１）は、通信路を構成するデータバス１２０上に送信するデータを保持したり送出したりするデータ送信部１０３と、通信路を構成するバスリクエスト線１２２に接続され、リクエスト実施やバス獲得ノードを決定するバスリクエスト制御部１０２と、データバス１２０及び通信路を構成するエラー通知線に接続され、データバス１２０上に送信されたデータの正常性をチェックするエラー検出部１０５と、訂正不可能なエラーが発生しなかった場合に該当データが移動させられるデータ受信部１０４とから構成されている。
【００２０】
同様に、データ通信装置としてのノード２（１１１）は、データバス上に送信するデータを保持するデータ送信部１１３と、通信路を構成するバスリクエスト線１２２に接続され、リクエスト実施やバス獲得ノードを決定するバスリクエスト制御部１１２と、データバス１２０及び通信路を構成するエラー通知線に接続され、データバス１２０上に送信されたデータの正常性をチェックするエラー検出部１１５と、訂正不可能なエラーが発生しなかった場合に該当データが移動させられるデータ受信部１１４とから構成されている。
【００２１】
一方、図２は上述の各ノード内におけるデータ送信部を詳しく説明するためのブロック構成説明図である。この図において、２０４はリクエスト実施やバス獲得ノードを決定するバスリクエスト制御部、２０８はデータバス２１０上に送信されたデータの正常性をチェックするエラー検出部、２１２は訂正不可能なエラーが発生しなかった場合に該当データが移動させられるデータ受信部である。また、データ送信部２０１は、データバス２１０に出力するデータを格納する複数のバッファ（バッファＡやバッファＢなど）と、これらのバッファに格納していたデータを一定の条件の下でデータバス２１０に送出するバス出力部２０５と、データバス２１０に送出されたデータが格納されていたバッファを特定する記憶領域番号記憶部としての送出バッファ番号記録部２０７と、データバス２１０に対してデータリトライを制御するリトライ制御部２０６とから構成されている。尚、送出バッファ番号記憶部２０７に記憶されている情報は、バッファを特定する情報に限られず、データバス２１０に送出されたデータが格納されていた記憶領域を特定できる情報であればよく、バッファ内の各記憶領域を表す情報でもよい。
【００２２】
以下、図１及び図２を参照しながら本実施形態の動作説明を行なう。まず、図１を用いて各ノード間でのデータ送受信の動作について詳しく説明する。図１において、各ノード１０１，１１１はデータバス１２０に送信するデータを格納しているデータ送信部１０３，１１３を保有する。  
自ノードのデータ送信部１０３，１１３にデータが格納された場合には、該データ送信部の出力を受けたバスリクエスト制御部１０２，１１２からバスリクエスト線１２２を介してデータバス１２０上の全てのノードに対してデータバス１２０へのデータ送信を要求するバスリクエストを行う。このバスリクエスト要求は全てのノードのバスリクエスト制御部１０２，１１２に取り込まれ、データバス１２０を獲得する唯一のノードが決定される。自ノードがデータバス１２０を獲得した場合には、データ送信部１０３，１１３からデータバス１２０にデータ送信を行う。
【００２３】
データバス１２０に送信されたデータは、全てのノードのエラー検出部１０５，１１５に取り込まれる。エラー検出部１０５，１１５は取り込んだデータが正常か否かの正常性チェックを実施すると共に、データ中の識別子を参照してデータ送信元ノード及びデータ送信先ノードを判別する。エラー検出部１０５，１１５が訂正不可能なエラーを検出した場合には、エラー通知線１２１をアサートして、全てのノードに対して訂正不可能なエラーが発生したことを通知する。
【００２４】
自ノード向けのデータにおいて訂正不可能なエラーが発生しなかった場合には該当データをデータ受信部１０４，１１４に移動させるが、訂正不可能なエラーが検出された場合には該当データを削除する。また、自ノードがデータバス１２０に送信したデータで訂正不可能エラーが検出された場合には、エラー検出部１０５，１１５からリトライ信号１０６，１１６をデータ送信部１０３，１１３に送出して通知し、該当データの再送を要求する。
【００２５】
次に、図２を用いてリトライ制御の動作について詳しく説明する。通常、データ送信部２０１にはデータバス２１０に送信するデータを保持する複数個のバッファが存在するが、図２では説明を簡略化するため、記憶領域としての複数のエントリを保有するＦｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ（以下、ＦＩＦＯと略す）方式のバッファＡ（２０２）及び単一エントリのバッファＢ（２０３）の２つのバッファを送信部２０１が保有する場合を例にとって説明する。尚、バッファ２０２、２０３は記憶手段を構成している。
【００２６】
図２において、各々のバッファＡ，Ｂの各エントリはデータバス２１０に送信するデータサイズと同一であり、それぞれのエントリはデータバス２１０に送信すべきデータが存在することを示すＶビットと、該当エントリのデータがリトライ送信可能であることを示すＲビットを保有する。ここで、Ｒビットはいわゆるリトライフラグを意味する。また、各々のエントリーにデータが格納されると該当エントリのＶビットがセットされ、バス送信待ちのデータが存在することを示す。
【００２７】
また、バッファエントリのＶビットがセットされるタイミングで該当エントリのＲビットは無条件でリセットされる。更に、ＦＩＦＯ方式のバッファＡ（２０２）においては、ＦＩＦＯ内のデータの順序とデータバス２１０に送信するデータの順序を維持する必要がある。従って、後続のバッファエントリのデータをデータバス２１０に送信した後にリトライを実施することがないようにするため、バッファＡ（２０２）における任意のバッファエントリのデータをデータバス２１０に送信した場合には、その１つ手前のバッファエントリのＲビットも無条件でリセットされる。
【００２８】
バスリクエスト制御部２０４はバッファＡ（２０２）及びバッファＢ（２０３）の全てのエントリのＶビットを参照し、どれか１つでもＶビットがセットされている場合にはバスリクエスト線２０９に対して、データバス２１０へのデータ送信を要求するバスリクエストを実施する。なお、データバス２１０に送信するデータはその種類により送信する優先順位が定義されている。このため、上記バスリクエストを行うデータの種類により、上記バスリクエストに複数の優先度を設けて、データバス２１０に送信する優先順位を制御する。上記バスリクエストに成功してデータバス２１０を獲得した場合には、該当データがバス出力部２０５を介してデータバス２１０に送信される。
【００２９】
この時に該当データを格納していたバッファエントリのＲビットがセットされ、かつ該当バッファエントリの番号が送出バッファ番号記録部２０７に記録される。データバス２１０上に送信されたデータは全てのノードのエラー検出部でエラーチェックが実施されるため、データバス２１０にデータが送信されてから一定時間後に該当データで訂正不可能なエラーが発生したかどうかを判断できる。データバス２１０上に送信したデータにおいて訂正不可能なエラーが発生しなかった場合にはリトライを行う必要性がなくなるため、データバス２１０に送信したデータのエラーチェックが完了するタイミングでＲビットはリセットされる。
【００３０】
データバス２１０上に送信されたデータには、送信元ノード及び送信先ノードを示す識別子が存在するため、各ノードのエラー検出部２０８においてデータが取り込まれ送信元ノード及び送信先ノードが識別される。取り込んだデータが自ノード向けのデータであり且つ全てのノードのエラー検出部２０８において訂正不可能なエラーが検出されなかった場合には、該データをデータ受信部２１２に移動してデータ転送が完了する。また、自ノード向けデータにおいて訂正不可能なエラーが検出された場合には、該当データを削除する。
【００３１】
一方、自ノードが送信したデータにおいて訂正不可能エラーが検出された場合には、リトライ信号をリトライ制御部２０６に送出して通知し、該当データのリトライを要求する。リトライ信号を受信したリトライ制御部２０６は、送出バッファー番号記録部２０７を参照して、該当データが格納されていたバッファエントリのＲビットを参照する。該当エントリのＲビットがセットされている場合には、該当データのリトライが可能であるので、該当エントリのＶビットをセットして、該当データのリトライを実施する。また、リトライ要求のあったバッファエントリのＲビットがリセットされている場合には、該当データのリトライは不可能であるので、リトライを断念してエラー処理を開始する。
【００３２】
バスリクエスト制御部２０４はバッファＡ（２０２）における全バッファーエントリのＲビットを参照し、どれか１つでもセットされている場合には、バッファＡ（２０２）から送信するデータのバスリクエスト要求の優先度を低下させる。これにより、バッファーＡ（２０２）から後続のデータがデータバスに送信される可能性を低減させて、バッファーＡ（２０２）から送信されたデータのリトライ要求が発生する期間は該当データのリトライが成功する確率が向上するようになる。  
【００３３】
以上述べたように、本実施の形態に係るバスリトライ制御方式は、通信路に接続された複数のノードを有し、データ送信を行うノードから前記通信路を介して他のノードに対して、データ送信を行う要求であるバスリクエストを行うことによって、他のノードにデータ送信を行うと共に、送信したデータに訂正不可能なエラーが発生したことを検出した場合に該データについてのバスリクエストを行うことによって、該データを再送信するようにしたバスリトライ制御方式において、各ノード１０１、１０２は、送信するデータを保持すると共に前記データを前記通信路に送信するデータ送信部１０３、１１３、２０１と、バスリクエストを行うバスリクエスト制御部１０２、１１２、２０４と、前記通信路に送信したデータに訂正不可能なエラーを検出するエラー検出部１０５、１１５、２０８とを備えて成り、前記データ送信部１０３、１１３、２０１は、前記エラー検出部１０５、１１５、２０８が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、前記バスリクエスト制御部１０２、１１２、２０４に対して前記エラーを検出したデータを再送するようにバスリクエストを行わせ、前記バスリクエスト制御部１０２、１１２、２０４は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うことを特徴としている。
【００３４】
また、データ送信部１０３、１１３、２０１は、前記通信路に送出するデータを格納する複数の記憶領域を有する記憶手段（バッファＡ２０２、バッファＢ２０３）と、エラー検出部１０５、１１５、２０８が前記通信路に送信したデータに訂正不可能なエラーを検出した場合に、前記エラーを検出したデータの再送のリクエストを行うようにバスリクエスト制御部１０２、１１２、２０４を制御するリトライ制御部２０６と、前記通信路に送出したデータが格納されていた記憶領域を特定するための記憶領域特定番号を記憶する記憶領域番号記憶部２０７とを有し、リトライ制御部２０６は、記憶領域番号記録部２０７の記憶内容を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、バスリクエスト制御部１０２、１１２、２０４は、前記記憶領域に格納しているデータについてのバスリクエストを行うように構成している。
【００３５】
また、前記記憶手段の各記憶領域に対応して、送信データに訂正不可能なエラーを検出した場合に再送のリクエストを行うか否かを示すリトライフラグを設け、リトライ制御部２０６は、記憶領域番号記録部２０７を参照して前記エラーを検出したデータが格納されている記憶領域を特定し、バスリクエスト制御部１０２、１１２、２０４は、前記特定した記憶領域に前記リトライフラグがセットされている場合に該記憶領域に格納されたデータについてのバスリクエストを行うように構成している。
したがって、バス上に送信したデータにおいて訂正不可能なエラーが発生した場合に該当データを再送信することが可能になる。
【００３６】
また、バスリクエスト制御部１０２、１１２、２０４は、データ送信部１０３、１１３、２０１がデータを前記通信路に送信した後、所定時間内は、他のデータよりも優先的に前記エラーを検出したデータを再送信するようにバスリクエストを行うようにしているので、前記所定時間内では訂正不能になったデータを優先的に再送信することができる。前記所定時間としては、本実施の形態では、送信したデータが訂正不能か否かを確認するのに必要な時間としている。
また、前記バスリトライ制御方式適したデータ通信装置を提供することが可能になる。
【産業上の利用可能性】
【００３７】
本発明によれば、バス上に送信したデータにおいて訂正不可能なエラーが発生した場合に該当データを再送信する機能が実現し、このような機能を必要とする計算機システムなどの用途に適用できる。  
【図面の簡単な説明】
【００３８】
【図１】１つのデータバスに複数のノードが接続されるバス構造を持つ本発明実施形態のブロック構成図である。
【図２】ノード内のデータ送信部を詳しく説明するための本発明実施形態のブロック構成図ある。
【符号の説明】
【００３９】
１０１，１１１                ノード
１０２，１１２，２０４        バスリクエスト制御部
１０３，１１３，２０１        データ送信部
１０４，１１４，２１２        データ受信部
１０５，１１５，２０８        エラー検出部
１２０，２１０                通信路を構成するデータバス
１２１，２１１                通信路を構成するエラー通知線
１２２，２０９                通信路を構成するバスリクエスト線
２０２，２０３                記憶手段としてのバッファ
２０５                        バス出力部
２０６                        リトライ制御部
２０７                        記憶領域番号記憶部としての送出バッファ番号記録部
【図１】
2005277552.tif 000003
【図２】
2005277552.tif 000004