(57)【要約】  送信側ＬＳＩであるＬＳＩ＃１（１００）の選択信号生成回路（１０６）は、Ａ側信号線（３０１）（Ｂ側信号線（３０２））において伝送エラーが検出され縮退制御されると、Ｂ側信号線（３０２）（Ａ側信号線（３０１））を介して伝送されるデータおよびこのデータのＥＣＣデータを、Ａ側信号線（３０１）（Ｂ側信号線（３０２））を介して送信するために、セレクタ（１０３）（セレクタ（１０５））に対して、ＥＣＣ生成部（１０２ｂ）（ＥＣＣ生成部（１０４ｂ））からの入力を選択するように指示する。このように、縮退された信号線を使用して、縮退されていない信号線を介して伝送される伝送データのＥＣＣデータを送信するので、伝送データの誤り検出および誤り訂正を行うことが可能になり、伝送データの信頼性が向上し、以降、伝送路がさらに縮退されることを防止する。
2009147735.tif 000002
【特許請求の範囲】
【請求項１】
Ｎビット幅のデータ（Ｎは正の整数）を送信するデータ送信装置と、前記Ｎビット幅のデータを受信するデータ受信装置と、前記データ送信装置と前記データ受信装置に接続されるシステム監視装置を有する情報処理装置において、
前記データ送信装置は、
前記Ｎビット幅のデータのうち、Ｘビット幅の第１のデータ（Ｘは、Ｎ＞Ｘを満たす正の整数）に対してパリティが付与された第１のパリティ付データを生成する第１のパリティ付データ生成回路と、
前記Ｎビット幅のデータのうち、（Ｎ−Ｘ）ビット幅の第２のデータに対してパリティが付与された第２のパリティ付データを生成する第２のパリティ付データ生成回路と、
前記第１のデータに対して第１のＥＣＣデータを生成する第１のＥＣＣ生成回路と、
前記第２のデータに対して第２のＥＣＣデータを生成する第２のＥＣＣ生成回路と、
前記データ受信回路からの前記第１又は第２のパリティ付データに対する第１又は第２のエラー通知信号に基づいて、第１の選択信号と第２の選択信号を生成して出力する選択信号生成回路と、
前記第１のパリティ付データと前記第２のＥＣＣデータのうち、前記第１の選択信号に基づいていずれかを選択して出力する第１の選択回路と、
前記第１のＥＣＣデータと前記第２のパリティ付データのうち、前記第２の選択信号に基づいていずれかを選択して出力する第２の選択回路と、
前記システム監視装置からのデータ幅縮退通知信号に基づいて、前記Ｎビット幅のデータを、前記第１のデータ又は前記（Ｎ−Ｘ）ビット幅のデータのいずれかに縮退して出力するデータ処理部を有し、
前記データ受信装置は、
前記第１のパリティ付データに対するパリティエラーの検出を行うとともに、エラーが発生した場合には、前記第１のエラー通知信号を出力する第１のパリティ検査回路と、
前記第２のパリティ付データに対するパリティエラーの検出を行うとともに、エラーが発生した場合には、前記第２のエラー通知信号を出力する第２のパリティ検査回路と、
前記第１のＥＣＣデータに対するＥＣＣエラーの検出及び訂正を行う第１のＥＣＣ訂正回路と、
前記第２のＥＣＣデータに対するＥＣＣエラーの検出及び訂正を行う第２のＥＣＣ訂正回路を有することを特徴とする情報処理装置。
【請求項２】
前記システム監視装置はさらに、
前記第１又は第２のエラー通知信号に基づいて、前記データ処理部に対して前記データ幅縮退通知信号を出力することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記Ｘは、Ｎ／２であることを特徴とする請求項１記載の情報処理装置。
【請求項４】
システム監視装置に接続されたデータ受信装置に対して、Ｎビット幅のデータを送信するとともに前記システム監視装置に接続されたデータ送信装置において、
前記データ送信装置は、
前記Ｎビット幅のデータのうち、Ｘビット幅の第１のデータ（Ｘは、Ｎ＞Ｘを満たす正の整数）に対してパリティが付与された第１のパリティ付データを生成する第１のパリティ付データ生成回路と、
前記Ｎビット幅のデータのうち、（Ｎ−Ｘ）ビット幅の第２のデータに対してパリティが付与された第２のパリティ付データを生成する第２のパリティ付データ生成回路と、
前記第１のデータに対して第１のＥＣＣデータを生成する第１のＥＣＣ生成回路と、
前記第２のデータに対して第２のＥＣＣデータを生成する第２のＥＣＣ生成回路と、
前記データ受信回路からの前記第１又は第２のパリティ付データに対する第１又は第２のエラー通知信号に基づいて、第１の選択信号と第２の選択信号を生成して出力する選択信号生成回路と、
前記第１のパリティ付データと前記第２のＥＣＣデータのうち、前記第１の選択信号に基づいていずれかを選択して出力する第１の選択回路と、
前記第１のＥＣＣデータと前記第２のパリティ付データのうち、前記第２の選択信号に基づいていずれかを選択して出力する第２の選択回路と、
前記システム監視装置からのデータ幅縮退通知信号に基づいて、前記Ｎビット幅のデータを、前記第１のデータ又は前記（Ｎ−Ｘ）ビット幅のデータのいずれかに縮退して出力するデータ処理部を有することを特徴とするデータ送信装置。
【請求項５】
前記Ｘは、Ｎ／２であることを特徴とする請求項４記載のデータ送信装置。
【請求項６】
システム監視装置に接続されたデータ受信装置に対して、Ｎビット幅のデータを送信するとともに前記システム監視装置に接続されたデータ送信装置のデータ転送方法において、
第１のパリティ付データ生成回路が、前記Ｎビット幅のデータのうち、Ｘビット幅の第１のデータ（Ｘは、Ｎ＞Ｘを満たす正の整数）に対してパリティが付与された第１のパリティ付データを生成するステップと、
第２のパリティ付データ生成回路が、前記Ｎビット幅のデータのうち、（Ｎ−Ｘ）ビット幅の第２のデータに対してパリティが付与された第２のパリティ付データを生成するステップと、
第１の選択回路が、前記第１のパリティ付データを選択して出力するステップと、
第２の選択回路が、前記第２のパリティ付データを選択して出力するステップと、
選択信号生成回路が、前記データ受信回路からの前記第１又は第２のパリティ付データに対する第１又は第２のエラー通知信号に基づいて、第１の選択信号と第２の選択信号を生成して出力するステップと、
第１のパリティ付データ生成回路が、前記第１のパリティ付データを再生成するステップと、
第２のパリティ付データ生成回路が、前記第２のパリティ付データを再生成するステップと、
第１のＥＣＣ生成回路が、前記第１のデータに対して第１のＥＣＣデータを生成するステップと、
第２のＥＣＣ生成回路が、前記第２のデータに対して第２のＥＣＣデータを生成するステップと、
データ処理部が、前記システム監視装置からのデータ幅縮退通知信号に基づいて、前記Ｎビット幅のデータを、前記第１のデータ又は前記（Ｎ−Ｘ）ビット幅のデータのいずれかに縮退して出力するステップと、
選択信号生成回路が、前記データ受信回路からの前記第１又は第２のパリティ付データに対する第１又は第２のエラー通知信号に基づいて、第１の選択信号と第２の選択信号を生成して出力するステップと、
第１の選択回路が、前記第１のパリティ付データと前記第２のＥＣＣデータのうち、前記第１の選択信号に基づいていずれかを選択して出力するステップと、
第２の選択回路が、前記第１のＥＣＣデータと第２のパリティ付データのうち、前記第２の選択信号に基づいていずれかを選択して出力するステップを有することを特徴とするデータ転送方法。
【請求項７】
前記データ転送方法はさらに、
前記システム監視装置が、前記第１又は第２のエラー通知信号に基づいて、前記データ処理部に対して前記データ幅縮退通知信号を出力するステップを有することを特徴とする請求項６記載のデータ転送方法。
【請求項８】
前記Ｘは、Ｎ／２であることを特徴とする請求項６記載のデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｎビット幅のデータ（Ｎは正の整数）を送信するデータ送信装置と、前記Ｎビット幅のデータを受信するデータ受信装置と、前記データ送信装置と前記データ受信装置に接続されるシステム監視装置を有する情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法に関する。
【背景技術】
【０００２】
従来から、ＬＳＩ（Large  Scale  Integration）などの集積回路間やモジュール間の通信では、Ｎビット幅のデータの各ビットを、送信側から受信側へ、Ｎ本の信号線を平行させて送信するパラレル通信が一般的に採用されている。【０００３】
また、このようなパラレル通信では、Ｎ本の信号線を幾つかのセグメントに分け、ノイズやジッタによって通信エラーが発生した信号線を１本でも含むセグメントに含まれるすべての信号線を使用不可とする、伝送路の縮退制御がおこなわれることが多い。この縮退制御によって、以降の通信障害の発生の可能性を回避することができるため、通信の信頼性を高めることが可能になる。【０００４】
例えば、送信側インターフェースが、送信データをワード（１ワード＝３２ビット）単位に分割するとともにＥＣＣ（Error  Check  Code）データを付加し、各ワードに対応する伝送路を使用して、受信側インターフェースへ伝送する。この際、受信側インターフェースにおけるＥＣＣデータによるチェックによって、伝送異常が検出された場合には、対応する伝送路を使用不可とする縮退制御をおこなう従来技術が知られている。【０００５】
なお、データ送受信装置が、ＬＳＩ間やモジュール間の通信において、送信側データ伝送装置は、送信データを分割し、それぞれの分割データのＥＣＣデータ生成し、分割データをシリアルで受信側へ送信した後に、各ＥＣＣデータを一括して受信側データ伝送装置へ送信する。受信側データ転送装置は、受信した各ＥＣＣデータに基づいて、先に受信した対応する分割データのチェックをおこない、受信した分割データの誤り訂正をおこなう従来技術が知られている。【０００６】
また、データ転送システムが、ＬＳＩ間の通信において、データ転送元のＬＳＩは、データ転送先のＬＳＩへ、送信データを転送する。データ転送先のＬＳＩは、受信データにエラーがある場合に、データ転送元のＬＳＩに対して、データの再送を要求する。データ転送元のＬＳＩは、送信データの検証／訂正をおこなった後に、転送先のＬＳＩへ送信データを送信する従来技術が知られている。【０００７】
【特許文献１】特開２００６−１８６５２７号公報
【特許文献２】特開２００５−３５４３１０号公報
【特許文献３】特開２００３−３４５６７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記した従来技術のうち、伝送異常が検出された伝送路を使用不可とする縮退制御をデータ伝送方式は、ワード単位の伝送路において、伝送異常が検出された場合には、実際には、１ビットの信号線のみの異常であったとしても、１ワードすべての信号線を使用不可とするために、送信側インターフェースから受信側インターフェースへの伝送レートの大幅な低下を招き、使用不可となった信号線のうち、実際は使用可能な信号線を遊休させてしまうという、信号線利用の非効率の問題があった。【０００９】
また、そもそも、上記した従来技術のうち、伝送異常が発生した信号線の切り離しをおこなわない技術では、同信号線において物理的な障害が発生していても、同信号線を使用し続ける限りは、ＥＣＣの誤り訂正や送信データの再送をおこなわなければならず、処理を無駄におこなう必要が生じるという問題があった。【００１０】
本情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法は、上記問題点（課題）を解消するためになされたものであって、通信障害が発生した場合に伝送路の縮退制御をおこなう情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法であって、信号線使用の非効率の問題を回避することを目的とする。
【課題を解決するための手段】
【００１１】
上述した問題を解決し、目的を達成するため、Ｎビット幅のデータ（Ｎは正の整数）を送信するデータ送信装置と、Ｎビット幅のデータを受信するデータ受信装置と、データ送信装置とデータ受信装置に接続されるシステム監視装置を有する情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法の一観点において、データ送信装置は、Ｎビット幅の送信データのうち、Ｘビット幅のデータ（Ｘは、Ｎ＞Ｘを満たす正の整数）に対してパリティが付与されたパリティ付データ、および、Ｎビット幅のデータのうち、（Ｎ−Ｘ）ビット幅のデータに対してパリティが付与されたパリティ付データをそれぞれ生成し、それぞれのデータ幅の伝送路にてデータ受信装置へと送信し、データ受信装置において、パリティ付データに基づくエラーが検出されると、エラーが検出された伝送路を縮退し、縮退された伝送路を使用して、送信データのＥＣＣデータを選択してデータ受信装置に対して送信し、データ受信装置において、受信したパリティ付データに対するパリティエラーの検出を行うとともに、ＥＣＣデータに対するＥＣＣエラーの検出および訂正をおこなうことを要件とする。
【発明の効果】
【００１２】
開示の情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法によれば、パリティ付データに基づくエラーが検出されたために縮退された伝送路を利用して、送信データのＥＣＣデータを、データ受信装置へ送信するので、送信データに本来付加されるパリティチェックデータに基づくパリティチェックとともに、ＥＣＣデータによるＥＣＣエラーの検出及び訂正をおこなうことが可能になるので、縮退されたものの、使用可能である信号線を遊休させることなく有効に利用できるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】図１は、従来の情報処理装置において伝送エラーが発生した際におこなわれる伝送路の縮退制御の状況を示す図である。
【図２】図２は、実施形態の一例にかかる情報処理装置の構成を示すブロック図である。
【図３】図３は、実施形態の一例にかかる情報処理装置において伝送エラーが発生した際におこなわれる伝送路の縮退制御の状況を示す図である。
【図４】図４は、実施形態の一例にかかる情報処理装置において伝送エラーが発生した際の伝送路の縮退制御のタイムチャートである。
【図５】図５は、実施形態の一例にかかる情報処理装置の送信側ＬＳＩの詳細な構成およびチェックデータ生成方法の概略を説明する図である。
【図６】図６は、実施形態の一例にかかる情報処理装置の受信側ＬＳＩの詳細な構成およびデータチェック方法の概略を説明する図である。
【図７】図７は、実施形態の一例にかかる情報処理装置の送信側ＬＳＩにおけるパリティチェック生成方法を示す図である。
【図８】図８は、実施形態の一例にかかる情報処理装置の受信側ＬＳＩにおけるＥＣＣデータによる誤り訂正方法を示す図である。
【図９】図９は、実施形態の一例にかかる情報処理装置が並列計算機である場合の並列計算機の全体構成を示すブロック図である。
【符号の説明】
【００１４】
１００、２００    ＬＳＩ
１０１    データ処理部
１０２    Ａ側チェックデータ生成回路
１０２ａ    パリティビット生成部
１０２ｂ    ＥＣＣ生成部
１０３    セレクタ
１０４    Ｂ側チェックデータ生成回路
１０４ａ    パリティビット生成部
１０４ｂ    ＥＣＣ生成部
１０５    セレクタ
１０６    選択信号生成回路
２０１    Ａ側チェック回路
２０１ａ    パリティチェック部
２０１ｂ    ＥＣＣチェック部
２０２    Ｂ側チェック回路
２０２ａ    パリティチェック部
２０２ｂ    ＥＣＣチェック部
２０３    ＯＲゲート
２０４    加算器
３０１    Ａ側信号線
３０２    Ｂ側信号線
【発明を実施するための最良の形態】
【００１５】
以下に添付図面を参照し、本発明の情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法にかかる実施形態を詳細に説明する。なお、以下に示す実施形態の一例は、データ送信装置およびデータ送信装置を、情報処理装置が有するＬＳＩとした場合を示すこととする。【００１６】
しかし、これに限定されず、Ｎビットのバス幅の信号線を介して、Ｎビットのデータ幅のデータをパラレルに送受信する装置であれば、いずれのデータ送信装置およびデータ送信装置であってもよい。【００１７】
実施形態の一例の詳細な説明に先立ち、従来の情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法における問題点を説明する。図１は、従来の情報処理装置において伝送エラーが発生した際におこなわれる伝送路の縮退制御の状況を示す図である。【００１８】
図１に示す情報処理装置は、装置全体の管理をおこなうＭＭＢ（ManageMent  Board）に管理されるＬＳＩ＃１およびＬＳＩ＃２が、Ｎビットのバス幅の信号線を介して接続されており、ＬＳＩ＃１からＬＳＩ＃２へ、Ｎビットのデータ幅のデータが送信される。【００１９】
なお、ＬＳＩ＃１およびＬＳＩ＃２は、双方ともに、データを送受信することが可能であるが、説明を簡明にするために、ＬＳＩ＃１を、送信側ＬＳＩとし、ＬＳＩ＃２を、受信側ＬＳＩとする。【００２０】
ここで、Ｎビットの信号線のうち、上位Ｎ／２ビットの信号線（データ[０]、・・・、データ［Ｎ／２−１］を送信する信号線の組み合わせ）を、Ａ側信号線と呼ぶこととする。また、Ｎビットの信号線のうち、下位Ｎ／２ビットの信号線（データ[Ｎ／２]、・・・、データ［Ｎ−１］を送信する信号線の組み合わせ）を、Ｂ側信号線と呼ぶこととする。なお、信号線の組み合わせを、セグメントと呼ぶこととする。【００２１】
ＬＳＩ＃１のＣＲＣ（Cyclic  Redundancy  Check）チェックビット生成部によって、各信号線を介して伝送されるデータごとにＣＲＣチェックビットを生成して付加される。そして、Ｎビットのデータ幅のデータは、Ａ側信号線およびＢ側信号線を介して、ＬＳＩ＃１からＬＳＩ＃２へ送信される。【００２２】
ＬＳＩ＃１から送信されてきたＮビットのデータ幅のデータを、ＬＳＩ＃２が受信すると、ＬＳＩ＃２のＣＲＣチェック部は、各信号線を介して伝送されてきたデータごとに、それぞれ付加されているＣＲＣチェックビットに基づいて、データチェックをおこなう。【００２３】
なお、各信号線を介して伝送されるデータごとに、誤り検出および誤り訂正が可能なＥＣＣを付加するのではなく、ＣＲＣチェックビットを付加するのは、ＣＲＣチェックビットが、データ量が少ないので、トラフィックに与える影響がより小さいためである。【００２４】
このように、ＬＳＩ間などの、高速通信が要求されるインターフェースでは、伝送エラーに対して、誤り訂正を行わず誤り検出のみに留め、通信の高速性を追求するということが一般的である。【００２５】
（１）このデータチェックによって、Ａ側信号線のいずれかの信号線で、信号線断などの物理的な故障ではなく、ノイズやジッタによる伝送エラーが検出されたとする。（２）このとき、ＬＳＩ＃２のＣＲＣチェック部は、Ａ側信号線において、伝送エラーが発生したことを、ＭＭＢへ通知する。【００２６】
（３）そして、Ａ側信号線において、伝送エラーが発生したことを通知されたＭＭＢは、ＬＳＩ＃１のデータ処理回路に対して、データ幅の縮小を指示する。具体的には、データ処理回路に対して、Ｂ側信号線のデータ幅をＮ／２ビットへと、データ幅の縮小を指示する。（４）そして、ＭＭＢは、伝送エラーが発生したＡ側信号線のすべてを使用不可に制御する。【００２７】
データ処理回路は、ＭＭＢからの指示に応じて、データ幅の縮小をおこなう。そして、ＣＲＣチェックビット生成部は、Ｂ側信号線を介して伝送されるデータごとにＣＲＣチェックビットを生成して付加する。そして、Ｎ／２ビットのデータ幅のデータが、Ｂ側信号線のみを介して、ＬＳＩ＃１からＬＳＩ＃２へ送信される。【００２８】
しかし、全データ幅のうち、伝送エラーが発生したセグメントのデータ信号線のすべてを使用不可能とし、データ幅を縮小してデータ伝送を継続する場合、データの伝送速度は、データ幅の縮小以前より低下してしまう。また、伝送エラーが発生したセグメントのデータ信号線でデータ伝送中に、同様のエラーが発生した場合には、データ幅はさらに縮小され、ＬＳＩ間のデータの伝送速度が、さらに低下してしまうことになる。【００２９】
すなわち、伝送エラーが発生するたびに、伝送エラーが発生したセグメントのデータ信号線のすべてを使用不可能とする制御をおこなうと、データ幅が縮小され続け、ＬＳＩ間のデータの伝送速度が、低下の一途をたどるのみとなる。【００３０】
本実施形態の一例は、上記した問題点を解消するためになされたものであって、伝送エラーの発生に対し、ある段階からはデータ幅の縮小をおこなわなくても、エラー耐性が確保でき、ＬＳＩ間のデータの伝送速度を低下させない情報処理装置、データ送信装置およびデータ送信装置のデータ転送方法を提供することを目的とする。【００３１】
次に、実施形態の一例にかかる情報処理装置の構成ついて説明する。図２は、実施形態の一例にかかる情報処理装置の構成を示すブロック図である。なお、実施形態の一例にかかる情報処理装置は、送信側から受信側へ、ＣＲＣチェックデータが付加されたデータに、さらにパリティビットを付加して送信することを前提とする。しかし、これに限らず、ＣＲＣチェックデータが付加されていないデータに、パリティビットを付加して送信することとしてもよい。【００３２】
同図に示すように、実施形態の一例にかかる情報処理装置Ｓは、データ送信側のＬＳＩ＃１＿１００と、データ受信側のＬＳＩ＃２＿２００とが、ＬＳＩ＃１＿１００およびＬＳＩ＃２＿２００間のデータ伝送路である、バス幅がＮ／２＋１（Ｎは正の整数）であるＡ側信号線３０１およびＢ側信号線３０２で接続されている。なお、Ａ側信号線３０１およびＢ側信号線３０２は、信号線のセグメントである。【００３３】
そして、情報処理装置Ｓの制御および管理をおこなうＭＭＢ４００が、ＬＳＩ＃１＿１００およびＬＳＩ＃２＿２００と接続されている。ＭＭＢ４００は、ＬＳＩ＃２＿２００から、Ａ側信号線エラー信号またはＢ側信号線エラー信号を受け取り、ＬＳＩ＃１＿１００に対して、データ幅の縮小を指示する。【００３４】
ＬＳＩ＃１＿１００は、データ処理部１０１と、パリティビット生成部１０２ａと、ＥＣＣ生成部１０２ｂと、セレクタ１０３と、パリティビット生成部１０４ａと、ＥＣＣ生成部１０４ｂと、セレクタ１０５とを有する。【００３５】
なお、パリティビット生成部１０２ａは、Ａ側信号線３０１を介して、ＬＳＩ＃２＿２００へ送信するＣＲＣ付きのデータに、パリティビットを生成して付加する。また、ＥＣＣ生成部１０２ｂは、Ｂ側信号線３０２を介してＬＳＩ＃２＿２００へ送信するＣＲＣ付きのデータのＥＣＣデータを生成する。このＥＣＣデータは、Ａ側信号線３０１を介して、ＬＳＩ＃２＿２００へと送信される。【００３６】
また、セレクタ１０３は、パリティビット生成部１０２ａから入力された、パリティビット付きのデータと、ＥＣＣ生成部１０２ｂから入力された、Ｂ側信号線３０２を介してＬＳＩ＃２＿２００へ送信するデータのＥＣＣデータとのいずれかを、選択信号生成回路１０６からの指示に基づいて、Ａ側信号線３０１へ出力する。【００３７】
具体的には、選択信号生成回路１０６は、Ａ側信号線３０１において伝送エラーが検出され縮退制御されると、Ｂ側信号線３０２を介して伝送されるデータおよびこのデータのＥＣＣデータを、Ａ側信号線３０１を介して送信するために、セレクタ１０３に対して、ＥＣＣ生成部１０２ｂからの入力を選択するように指示する。【００３８】
同様に、パリティビット生成部１０４ａは、Ｂ側信号線３０２を介して、ＬＳＩ＃２＿２００へ送信するデータに、パリティビットを生成して付加する。また、ＥＣＣ生成部１０４ｂは、Ａ側信号線３０１を介してＬＳＩ＃２＿２００へ送信するデータのＥＣＣデータを生成する。このＥＣＣデータは、Ｂ側信号線３０２を介して、ＬＳＩ＃２＿２００へと送信される。【００３９】
また、セレクタ１０５は、パリティビット生成部１０４ａから入力された、パリティビット付きのデータと、ＥＣＣ生成部１０４ｂから入力された、Ａ側信号線３０１を介してＬＳＩ＃２＿２００へ送信するデータのＥＣＣデータとのいずれかを、選択信号生成回路１０６からの指示に基づいて、Ｂ側信号線３０２へ出力する。【００４０】
具体的には、選択信号生成回路１０６は、Ｂ側信号線３０２において伝送エラーが検出され縮退制御されると、Ａ側信号線３０１を介して伝送されるデータおよびこのデータのＥＣＣデータを、Ｂ側信号線３０２を介して送信するために、セレクタ１０５に対して、ＥＣＣ生成部１０４ｂからの入力を選択するように指示する。【００４１】
Ａ側信号線３０１は、データ［Ｎ／２］〜データ［Ｎ−１］を送信するための信号線をＮ／２本、データ［Ｎ−１：Ｎ／２］のパリティビットを送信するための信号線を１本有する。そして、これらＮ／２＋１のデータは、Ａ側信号線３０１を介して、ＬＳＩ＃１＿１００からＬＳＩ＃２＿２００へ、パラレルに送信される。【００４２】
Ａ側信号線３０１が縮退されて使用不可とされた場合には、Ｂ側信号線３０２のデータ［０］〜データ［Ｎ／２−１］それぞれのＥＣＣデータが、データ［Ｎ／２］〜データ［Ｎ−１］の信号線を介して、ＬＳＩ＃１＿１００からＬＳＩ＃２＿２００へ、パラレルに送信される。【００４３】
同様に、Ｂ側信号線３０２は、データ［０］〜データ［Ｎ／２−１］を送信するための信号線をＮ／２本、データ［Ｎ／２−１：０］のパリティビットを送信するための信号線を１本有する。そして、これらＮ／２＋１のデータは、Ｂ側信号線３０２を介して、ＬＳＩ＃１＿１００からＬＳＩ＃２＿２００へ、パラレルに送信される。【００４４】
すなわち、ＬＳＩ＃１＿１００と、ＬＳＩ＃２＿２００との間のインターフェースは、Ｎビットのデータ幅のデータを送信するために、合計でＮ＋２本の信号線を有することとなる。【００４５】
ＬＳＩ＃２＿２００は、Ａ側信号線３０１を介して受信したデータに対して、同時に受信したパリティビットに基づいてパリティチェックをおこなうパリティチェック部２０１ａと、Ａ側信号線３０１を介して受信した、Ｂ側信号線３０２を介して受信したデータのＥＣＣ誤り検出および訂正をおこなうＥＣＣチェック部２０１ｂとを有する。【００４６】
また、同様に、ＬＳＩ＃２＿２００は、Ｂ側信号線３０２を介して受信したデータに対して、同時に受信したパリティビットに基づいてパリティチェックをおこなうパリティチェック部２０２ａと、Ａ側信号線３０１を介して受信した、Ａ側信号線３０１を介して受信したデータのＥＣＣ誤り検出および訂正をおこなうＥＣＣチェック部２０２ｂとを有する。【００４７】
パリティチェック部２０１ａまたはパリティチェック部２０２ａによって、それぞれの受信データにパリティエラーが検出されると、誤り検出結果を、ＬＳ１＃１＿１００の選択信号生成回路１０６へと通知する。この通知のために、ＬＳＩ＃１＿１００およびＬＳＩ＃２＿２００の間に、専用の信号線が設けられることとなる。【００４８】
このように、パリティチェック部２０１ａおよびパリティチェック部２０２ａは、それぞれの受信データにパリティエラーを検出すると、パリティエラー検出を、送信側ＬＳＩであるＬＳＩ＃１＿１００の選択信号生成回路１０６へと通知するので、ＬＳＩ＃１＿１００は、いずれかの信号線セグメントにおいて伝送エラーが発生したことを認識することができる。【００４９】
そして、ＬＳＩ＃１＿１００は、伝送エラーが発生した信号線セグメントを使用不可とし、伝送データのデータ幅を変更する縮退制御をおこなう。さらに、縮退された信号線セグメントを利用して、縮退されていない信号線セグメントを介して伝送される伝送データのＥＣＣデータを、受信側ＬＳＩであるＬＳＩ＃２＿２００へ送信するので、データ伝送の信頼性を確保し、さらに信号線セグメントが縮退されるという悪循環を防止することができる。【００５０】
また、誤り検出結果は、入力の論理和を取るＯＲゲート２０３へと入力される。ＯＲゲート２０３は、Ａ側信号線３０１またはＢ側信号線３０２のいずれかで、パリティチェックによる伝送エラーが検出された通知を、ＭＭＢ４００へと出力する。この通知の際に、伝送エラーが検出された信号線のセグメントを識別可能に通知する。【００５１】
いずれの信号線のセグメント（Ａ側信号線３０１およびＢ側信号線３０２）において、伝送エラーが発生していない通常時には、ＬＳＩ＃１＿１００からＬＳＩ＃２＿２００へのデータ［Ｎ／２−１：０］およびデータ［Ｎ−１：Ｎ／２］は、直接、後段の回路へと受け渡される。【００５２】
しかし、例えば、図３の、実施形態の一例にかかる情報処理装置において伝送エラーが発生した際におこなわれる伝送路の縮退制御の状況を示す図に示すように、（１）Ｂ側信号線３０２において伝送エラーが発生したとする。（２）このとき、パリティチェック部２０２ａは、Ｂ側信号線３０２における伝送エラー発生を、ＬＳＩ＃１＿１００の選択信号生成回路１０６へ通知するとともに、ＯＲゲート２０３へと入力する。【００５３】
（３）そして、ＯＲゲート２０３は、Ｂ側信号線３０２における伝送エラー発生を、ＭＭＢ４００へと通知する。（４）通知を受けたＭＭＢ４００は、ＬＳＩ＃１＿１００のデータ処理部１０１に対して、データ幅の縮小を指示する。【００５４】
（５）また、Ｂ側信号線３０２における伝送エラー発生の通知を受けた選択信号生成回路１０６は、セレクタ１０５に対して、ＥＣＣ生成部１０４ｂの入力を選択して、Ｂ側信号線３０２へ出力するように指示する。【００５５】
このようにして、伝送エラーが発生したＢ側信号線３０２は、データ伝送のための使用を中止し、代わりに、Ａ側信号線３０１を介して送信されるＮ／２ビットのデータ幅のデータ［Ｎ／２：Ｎ／２］および１ビットのパリティビットそれぞれのＥＣＣデータを送信することになる。【００５６】
よって、ＬＳＩ＃１＿１００からＬＳＩ＃２＿２００への伝送データの伝送速度は、１／２に低下するが、同時に送信されるＥＣＣデータによって、伝送データの誤り検出および誤り訂正を行うことが可能になるので、伝送データの信頼性が向上し、以降、伝送路がさらに縮退されることを防止する。【００５７】
次に、図３に示した、実施形態の一例にかかる情報処理装置において伝送エラーが発生した際におこなわれる伝送路の縮退制御の状況を、タイムチャートを用いて説明する。図４は、実施形態の一例にかかる情報処理装置において伝送エラーが発生した際の伝送路の縮退制御のタイムチャートである。【００５８】
同図に示すように、時刻ｔ０〜ｔ１では、ＬＳＩ＃１＿１００およびＬＳＩ＃２＿２００において、伝送エラーは検出されておらず、ＬＳＩ＃１＿１００からＬＳＩ＃２＿２００へ、Ａ側信号線３０１ではデータ［Ｎ−１：Ｎ／２］が、Ｂ側信号線３０２ではデータ［Ｎ／２−１：０］が、通常どおり伝送されている。【００５９】
ここで、時刻ｔ１〜ｔ２において、Ｂ側信号線３０２において、伝送エラーが発生したとする（ステップＳ１０１）。すると、この伝送エラーは、ＬＳＩ＃２＿２００において検出され（ステップＳ１０２）、ＬＳＩ＃２＿２００によって、直ちに、ＭＭＢ４００へ通知される（ステップＳ１０３）。その後、ＬＳＩ＃２＿２００は、同伝送エラーを、ＬＳＩ＃１＿１００へも通知する（ステップＳ１０４）。【００６０】
続いて、ＭＭＢ４００は、ＬＳＩ＃１＿１００に対して、Ｂ側信号線３０２の使用を停止して、Ａ側信号線３０１のみを使用して伝送データを送信するよう伝送路の縮退指示をおこなう（ステップＳ１０５）。【００６１】
また、ＭＭＢ４００は、ＬＳＩ＃２＿２００に対しても、Ｂ側信号線３０２の使用を停止して、Ａ側信号線３０１のみを使用して伝送データを送信するよう伝送路の縮退指示をおこなう（ステップＳ１０６）。【００６２】
上記縮退指示によって、ＬＳＩ＃１＿１００およびＬＳＩ＃２＿２００間におけるデータ伝送速度は、（縮退された信号線の数／すべての信号線の数）×１００％だけ、低下することとなる。すなわち、データ[Ｎ−１:Ｎ／２]に対応するＡ側信号線３０１のみを使用するため、データ伝送速度が１／２になる。また、Ｂ側信号線３０２は、Ａ側信号線３０１を介して伝送されるデータのＥＣＣデータを伝送することとなる。【００６３】
続いて、ＭＭＢ４００は、ＬＳＩ＃１＿１００に対して、データ幅縮小を指示する（ステップＳ１０７）。この処理によって、ＬＳＩ＃１＿１００は、以降、Ａ側信号線のみを使用してデータ伝送率を１／２にしてデータをＬＳＩ＃２＿２００へ伝送することとなる。【００６４】
そして、ＬＳＩ＃２＿２００は、Ａ側信号線３０１からデータ［Ｎ−１：Ｎ／２］およびパリティビットを受信し、Ｂ側信号線からデータ［Ｎ−１：Ｎ／２］のＥＣＣデータを受信する。また、ＭＭＢ４００は、Ｂ側信号線３０２における伝送エラー発生以降、ＬＳＩ＃１＿１００に、データ幅縮小を継続させる。【００６５】
次に、実施形態の一例にかかる情報処理装置の送信側ＬＳＩの詳細な構成およびチェックデータ生成方法の概略を説明する。図５は、実施形態の一例にかかる情報処理装置の送信側ＬＳＩの詳細な構成およびチェックデータ生成方法の概略を説明する図である。【００６６】
同図に示すように、Ａ側チェックデータ生成回路１０２のパリティビット生成部１０２ａは、データ処理部１０１（図３参照）からの送信用ＣＲＣ付き２０ビットデータ［１９：０］の上位１０ビットのＡ側信号線データ［９：０］に、１ビットのパリティを生成して付加して、セレクタ１０３へと入力する。【００６７】
また、Ａ側チェックデータ生成回路１０２のＥＣＣ生成部１０２ｂは、データ処理部１０１（図３参照）からの送信用ＣＲＣ付き２０ビットデータ［１９：０］の上位１０ビットのＡ側信号線データ［９：０］に、ハミング符号を使用してＥＣＣデータを生成し、Ｂ側チェックデータ生成回路１０４へと受け渡す。【００６８】
なお、ＥＣＣ生成部１０２ｂは、ハミング符号を用いて、１ビットエラー訂正可能、２ビットエラー通知が可能な５ビットのＥＣＣデータを生成する。【００６９】
また、Ａ側チェックデータ生成回路１０２は、Ｂ側チェックデータ生成回路１０４から受け渡された、データ処理部１０１（図３参照）からの送信用ＣＲＣ付き２０ビットデータ［１９：０］の下位１０ビットのＢ側信号線データ［１９：１０］に、ハミング符号を使用して生成されたＥＣＣデータ［４：０］を、セレクタ１０３へと入力する。なお、ＥＣＣデータ［４：０］以外の空きビット［９：５］およびパリティビットは、すべて０でパディングをおこなう。【００７０】
そして、セレクタ１０３は、選択信号生成回路１０６からの指示に応じて、『Ａ側信号線データ［９：０］＋パリティビット』または『Ｂ側信号線データＥＣＣデータ［４：０］』を選択して出力する。【００７１】
なお、Ａ側信号線３０１を使用不可とした場合は、対象データがＢ側信号線データ［９：０］となり、対応するＥＣＣデータ［４：０］は、受信データ［１９：１０］の上位５ビットである点を除き、Ｂ側信号線３０２を使用不可とした場合と同様である。【００７２】
送信側のＬＳＩは、受信側のＬＳＩに対して、通常時は、Ａ側信号線３０１を介してＡ側信号線送信データ［９：０］を、Ｂ側信号線３０２を介してＢ側信号線送信データ［１９：１０］を送信する。【００７３】
Ａ側信号線伝送エラー発生時は、送信側のＬＳＩは、データ処理部１０１（図３参照）によってデータ幅が変更された送信用ＣＲＣ付きビットデータ［９：０］を、Ｂ側信号線３０２を介して、受信側のＬＳＩに対して送信する。【００７４】
また、Ｂ側信号線伝送エラー発生時は、送信側のＬＳＩは、データ処理部１０１（図３参照）によってデータ幅が変更された送信用ＣＲＣ付きビットデータ［９：０］を、Ａ側信号線３０２を介して、受信側のＬＳＩに対して送信する。【００７５】
次に、実施形態の一例にかかる情報処理装置の受信側ＬＳＩの詳細な構成およびデータチェック方法の概略を説明する。図６は、実施形態の一例にかかる情報処理装置の受信側ＬＳＩの詳細な構成およびデータチェック方法の概略を説明する図である。【００７６】
同図に示すように、Ｂ側信号線３０２を使用不可とした場合、Ａ側チェック回路２０１のパリティチェック部２０１ａは、Ａ側信号線データ［１９：１０］（上位１０ビット）の１ビットのパリティチェックをおこない、エラー検出する。【００７７】
また、ＥＣＣチェック部２０１ｂは、Ａ側信号線データ［１９：１０］と、それに対応した受信データ［９：０］のうちのＥＣＣ［４：０］を、Ｂ側チェック回路２０１から受け取り、ハミング符号を用いてＥＣＣデータシンドローム［９：０］を計算し、加算器２０４にてＡ側信号線データ［１９：１０］のエラー訂正をおこなう。【００７８】
なお、Ａ側信号線３０１を使用不可とした場合は、対象データがＢ側信号線データ［９：０］となり、対応するＥＣＣデータ［４：０］は、受信データ［１９：１０］の上位５ビットであり、ＥＣＣデータシンドローム［１９：１０］である点を除き、Ｂ側信号線３０２を使用不可とした場合と同様である。【００７９】
次に、実施形態の一例にかかる情報処理装置の送信側ＬＳＩにおけるパリティチェック生成方法を説明する。図７は、実施形態の一例にかかる情報処理装置の送信側ＬＳＩにおけるパリティチェック生成方法を示す図である。【００８０】
送信データが１０ビットであり、この送信データを縦ベクトルとする。すべての列のデータが異なり、かつ０のみの列が存在しない、ハミング符号による、１６行５列の検査行列と、前述の縦ベクトルとの演算において、検査行列の列の要素と、縦ベクトルの列の要素との積の排他的論理和をとる。これにより１０ビットの元データから、符号化された５ビットのＥＣＣデータを得ることができる。【００８１】
次に、実施形態の一例にかかる情報処理装置の受信側ＬＳＩにおけるＥＣＣデータによる誤り訂正方法を説明する。図８は、実施形態の一例にかかる情報処理装置の受信側ＬＳＩにおけるＥＣＣデータによる誤り訂正方法を示す図である。【００８２】
受信データ１０ビットとそのチェックビットに対して、送信側と同じ検査行列を用い、復号化してシンドローム計算を行う。１０ビットのシンドロームは、エラーが発生した位置が１で、それ以外は０となるので、１０ビットのシンドロームと、受信データとの排他的論理和を取ることにより、エラー訂正を行うことが可能になる。【００８３】
次に、実施形態の一例にかかる情報処理装置が並列計算機である場合の並列計算機の全体構成を説明する。図９は、実施形態の一例にかかる情報処理装置が並列計算機である場合の並列計算機の全体構成を示すブロック図である。【００８４】
上記実施形態の一例の一適用例として、並列計算機を例示する。並列計算機の各ＣＰＵ−Ｂｏａｒｄには、ＣＰＵが搭載されている。この並列計算機に接続されるＰＣＩカードやＥｔｈｅｒｎｅｔ（登録商標）カードなど（図中の『Ｐ＃ｉ（ｉ＝０，１，３）』）で接続される本並列計算機以外の装置は、ＩＯ−Ｂｏａｒｄを介して接続される。【００８５】
ＣＰＵ−Ｂｏａｒｄ、ＩＯ−Ｂｏａｒｄは、相互に命令のやり取りを行う。命令およびデータは、クロスバ（図中のＬＳＩ＃ｊ（Ｊ＝０〜３））を介して行われる。大規模コンピュータシステムにおいては、一般的に、複数のＣＰＵを有する複数プラットフォーム（システムボード）構成を行い、ＣＰＵとＩＯとは、クロスバによって自在に組み合わせ可能である。【００８６】
このように、並列計算機におけるＬＳＩ間通信において、伝送エラーによって縮退された伝送路を、ＥＣＣデータ送信のための伝送路として有効活用し、エラー耐性を高め、さらに伝送エラーが発生して伝送路が縮退されてデータ伝送速度が低下することを防ぎ、並列計算機全体のスループットの低下を防止することができる。【００８７】
以上、本発明の実施形態の一例を説明したが、本発明は、これに限られるものではなく、請求の範囲に記載した技術的思想の範囲内で、さらに種々の異なる実施形態で実施されてもよいものである。また、実施形態の一例に記載した作用ならびに効果は、これに限定されるものではない。【００８８】
上記実施形態の一例では、すべての信号線を上位および下位に等分に分割したセグメント単位で伝送路の縮退制御をおこなうこととして例示したが、これに限らず、複数の信号線を適宜組み合わせた組み合わせを、縮退制御の単位となるセグメントとしてもよい。【００８９】
また、上記実施形態の一例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記実施形態の一例で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。【００９０】
また、図示した情報処理装置、データ送信装置およびデータ受信装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示のように構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散または統合して構成することができる。
【産業上の利用可能性】
【００９１】
本発明は、並列計算機におけるＬＳＩ間通信において、伝送エラーによって縮退された伝送路を、ＥＣＣデータ送信のための伝送路として有効活用し、エラー耐性を高め、さらに伝送エラーが発生して伝送路が縮退されてデータ伝送速度が低下することを防ぎ、並列計算機全体のスループットの低下を防止したい場合に有用である。
【図１】
2009147735.tif 000003
【図２】
2009147735.tif 000004
【図３】
2009147735.tif 000005
【図４】
2009147735.tif 000006
【図５】
2009147735.tif 000007
【図６】
2009147735.tif 000008
【図７】
2009147735.tif 000009
【図８】
2009147735.tif 000010
【図９】
2009147735.tif 000011
【国際調査報告】
2009147735.tif 000012
2009147735.tif 000013