(57)【特許請求の範囲】
【請求項１】
Ｍ（Ｍは３以上の整数）本のレーンを介して接続された送信側データ伝送装置と受信側データ伝送装置とからなるデータ伝送システムであって、
前記送信側データ伝送装置は、前記Ｍ本の各レーンへデータを送信するＭ個の送信手段と、前記送信手段を制御する送信制御手段と、を有し、
前記受信側データ伝送装置は、前記Ｍ本の各レーンからデータを受信するＭ個の受信手段と、前記受信手段を制御する受信制御手段と、を有し、
前記受信側データ伝送装置は、前記各レーンのデータの受信において、受信したデータのチェックを行い、エラーが発生しているか否かを判定し、縮退レベルの伝送エラーが発生した際に、前記送信側データ伝送装置へ縮退指示を送信し、
前記送信側データ伝送装置は、前記縮退レベルの伝送エラーが発生した前記レーンを含むＮ（Ｎは２以上でＭ未満の整数）本のレーンを一群のレーンとして選択し、当該一群のレーンを伝送速度が通常モードの１／Ｎである縮退モードで動作させ、前記縮退モードにおける伝送の正常性を確認し、
前記確認の結果が正常である場合に、前記送信制御手段は、Ｎ個の前記送信手段に前記一群のレーンへ逆多重化されたデータを送信させ、前記受信制御手段は、Ｎ個の前記受信手段に前記一群のレーンから逆多重化されたデータを受信させる
ことを特徴とするデータ伝送システム。
【請求項２】
前記送信側データ伝送装置は、前記通常モードにおける前記Ｍ本のレーンのそれぞれへ送信するデータを保持するためのＭ個の送信バッファと、
各前記送信バッファにより保持されたデータを特定の前記送信手段へ転送する送信先選択手段とを備え、
前記受信側データ伝送装置は、前記通常モードにおける前記Ｍ本のレーンのそれぞれから受信されたデータを保持するためのＭ個の受信バッファと、
各前記受信手段により受信されたデータを特定の前記受信バッファに転送する受信先選択手段とを更に備え、
前記送信制御手段は、前記縮退レベルの伝送エラーが発生した場合に、前記一群のレーンのそれぞれへ送信するデータを保持するＮ個の前記送信バッファから１個の前記送信バッファを選択し、
前記送信先選択手段は、前記選択された前記送信バッファにより保持されるデータが前記逆多重化されたデータに含まれるビット列を、前記一群のレーンに含まれる各レーンへ送信するデータを保持する前記送信手段へ所定の順序で転送し、
前記受信制御手段は、前記縮退レベルの伝送エラーが発生した場合に、前記一群のレーンのそれぞれから受信されたデータを保持するＮ個の前記受信バッファから１個の前記受信バッファを選択し、
前記受信先選択手段は、前記一群のレーンに含まれる各前記レーンへ所定の順序で送信された、前記逆多重化されたデータに含まれるビット列を、前記順序で連結して前記選択された前記受信バッファに転送する
ことを特徴とする請求項１に記載のデータ伝送システム。
【請求項３】
Ｍ（Ｍは３以上の整数）本のレーンを介して接続された送信側データ伝送装置と受信側データ伝送装置とからなるデータ伝送システムのデータ伝送方法であって、
前記送信側データ伝送装置は、前記Ｍ本の各レーンへデータを送信するＭ個の送信手段と、前記送信手段を制御する送信制御手段と、を有し、
前記受信側データ伝送装置は、前記Ｍ本の各レーンからデータを受信するＭ個の受信手段と、前記受信手段を制御する受信制御手段と、を有し、
前記受信側データ伝送装置は、前記各レーンのデータの受信において、受信したデータのチェックを行い、エラーが発生しているか否かを判定し、縮退レベルの伝送エラーが発生した際に、前記送信側データ伝送装置へ縮退指示を送信し、
前記送信側データ伝送装置は、前記縮退レベルの伝送エラーが発生した前記レーンを含むＮ（Ｎは２以上でＭ未満の整数）本のレーンを一群のレーンとして選択し、当該一群のレーンを伝送速度が通常モードの１／Ｎである縮退モードで動作させ、前記縮退モードにおける伝送の正常性を確認し、
前記確認の結果が正常である場合に、前記送信制御手段は、Ｎ個の前記送信手段に前記一群のレーンへ逆多重化されたデータを送信させ、前記受信制御手段は、Ｎ個の前記受信手段に前記一群のレーンから逆多重化されたデータを受信させる
ことを特徴とするデータ伝送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ伝送インタフェースにおける伝送エラーの発生時に、スループットの低下が抑制されるデータ伝送装置、データ伝送システム、データ伝送方法、およびデータ伝送プログラムに関する。
【背景技術】
【０００２】
パラレル転送方式やシリアル転送方式などのデータ通信を行うデータ伝送インタフェースにおいて、あるレーンにおいて伝送エラーが発生した場合には、エラーが発生したレーンを含む一群のレーンを使用不可にするレーンの縮退処理（以下、「通常の縮退処理」という）が行われることが多い。通常の縮退処理では、縮退後に使用可能なレーンの数が２の冪乗になるように一群のレーンが使用不可にされることが多い。通常の縮退処理により一群のレーンが使用不可にされると、縮退後に有効なレーンの通信速度の合計であるスループットが著しく低下するという問題がある。
【０００３】
伝送エラーが発生した際のスループット低下を抑制する技術の一例が特許文献１に開示されている。特許文献１の無線通信方式では、送信側と受信側とが、現用回線及び予備回線により接続される。送信側は、デジタル信号の伝送速度を２分の１に圧縮する帯域圧縮回路と、１つのデジタル信号を伝送速度が２分の１の２つのデジタル信号に変換する変換回路とを含む。１回線の伝送路で信号伝送を完結させるときには、送信側は帯域圧縮回路の出力信号を伝送する。一方、２回線の伝送路を用いて信号伝送を完結させるときには、送信側は変換回路の２つの出力信号の１つずつを各回線で並行して伝送する。上記の動作の結果、特許文献１の無線通信方式では、現用回線の正常時には、現用回線と予備回線の両方を使用して所定のスループットで伝送が行われ、現用回線の異常時には、予備回線を使用してスループットが維持される。
【０００４】
特許文献１の無線通信方式には、現用回線の他に予備回線を用意しなければならないという問題がある。
【０００５】
１本の回線を用いて、伝送エラーが発生した際のスループット低下を抑制する技術の一例が特許文献２に開示されている。特許文献２のデータ通信システムは、アナログ回線を使用し対向する変復調装置間で再送によるエラー訂正機構を含む通信プロトコルを有し、かつ複数の回線速度を利用する。変復調装置は、回線状態が悪く通信データのエラーが多いときにはフォールバック要求信号によって回線速度を下げてデータ通信をエラーなく継続する手段を含む。また、変復調装置は、一定時間毎に送信されるライズアップテストコマンドがエラーなく受信できることを確認する手段を含む。なお、ライズアップテストコマンドは、現在の通信中の回線速度より速い回線速度による通信の正常性を確認するためのライズアップテストデータを含む。また、変復調装置は、ライズアップテストコマンドによる正常性確認によって回線状態を判断したのち、回線速度を上げてデータ通信を維持する手段を含む。上記の動作の結果、特許文献２のデータ通信システムは、回線状態に応じて回線速度を自動的に制御する。
【０００６】
パラレル転送方式やシリアル転送方式などのデータ通信を行うデータ伝送インタフェースでは、１つのリンクが、同等な複数のレーンを含む。特許文献２の技術をパラレル転送方式やシリアル転送方式などのデータ通信を行うデータ伝送インタフェースに適用する場合について説明する。各レーンの入出力データを保持する個々のバッファにおいて、各バッファに保持される個々のデータに対する処理のタイミングはバッファ毎に異なる。従って、特許文献２の技術には、パラレル転送方式やシリアル転送方式などのデータ通信を行うデータ伝送インタフェースには、そのまま適用できないという問題がある。
【０００７】
パラレル転送方式やシリアル転送方式などのデータ通信を行うデータ伝送インタフェースにおける伝送エラー発生時のスループット低下を抑制する技術の一例が特許文献３に開示されている。特許文献３のデータ伝送方法では、送信側のデータ伝送装置は、受信側のデータ伝送装置へエラーチェックデータが付与された伝送データを送信する。受信側のデータ伝送装置は、データ伝送エラーが検出された場合に、伝送エラーが検出された伝送線路（信号線）を含む伝送路のセグメントを縮退制御して使用不可とする。送信側のデータ伝送装置は、使用不可とされたセグメントのうち、使用可能なセグメントを利用して、優先度の高い特殊パケット等の伝送データを送信する。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開昭６０−２０８１３４号公報
【特許文献２】特開平０１−１０９９３５号公報
【特許文献３】特開２００９−２９４８５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
パラレル転送方式やシリアル転送方式などのデータ通信を行うデータ伝送インタフェースにおける、レーンの縮退を引き起こす伝送エラーの発生原因には、回線や装置の物理的な障害の他に、ノイズや歪みによるデータ化けなどが含まれる。特に、データ伝送装置が使用する周波数が上昇するにつれて、ノイズや歪みの影響は増加する。特定のレーンにおいてノイズや歪みによるデータ化けが発生する場合には、通信速度を下げること特定のレーンにおけるデータ化けの発生を回避できる可能性がある。
【００１０】
ところが、特許文献３のデータ伝送方法では、優先度の高い特殊パケット等を除いて、通常の伝送データの伝送には、縮退したレーンは使用されない。従って、特許文献３のデータ伝送方法には、伝送エラーが発生したレーンの通信速度を落とすことにより安定した通信が可能である場合に、縮退後のスループットが著しく低下するという問題がある。
（発明の目的）
本発明の主たる目的は、パラレル転送方式やシリアル転送方式などのデータ通信を行うデータ伝送インタフェースにおける伝送エラーの発生時に、通常の縮退処理において少なくとも２つのレーンが同時に縮退対象になる場合に比べて、スループットの低下が抑制されるデータ伝送装置、データ伝送システム、データ伝送方法、およびデータ伝送プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明のデータ伝送装置は、Ｍ（Ｍは２以上の整数）本のレーンを介して、送信側の対向装置に接続されたデータ伝送装置であって、各レーンからデータを受信するＭ個の受信手段と、特定のレーンからのデータの受信において伝送エラーが発生した際に、特定のレーンを含むＮ（Ｎは２以上でＭ以下の整数）本の一群のレーンを伝送速度が通常モードの１／Ｎである縮退モードで動作させ、縮退モードにおける伝送の正常性を確認し、確認の結果が正常である場合にＮ個の受信手段に一群のレーンから逆多重化されたデータを受信させる受信制御手段とを備えることを特徴とする。
【００１２】
本発明のデータ伝送システムは、Ｍ（Ｍは２以上の整数）本のレーンを介して、受信側の対向装置に接続されたデータ伝送装置であって、各レーンへデータを送信するＭ個の送信手段と、特定のレーンへのデータの送信において伝送エラーが発生した際に、特定のレーンを含むＮ（Ｎは２以上でＭ以下の整数）本の一群のレーンを伝送速度が通常モードの１／Ｎである縮退モードで動作させ、縮退モードにおける伝送の正常性を確認し、確認の結果が正常である場合にＮ個の送信手段に一群のレーンへ逆多重化されたデータを送信させる送信制御手段と、を有する送信側データ伝送装置、及びＭ本のレーンを介して、送信側の対向装置に接続されたデータ伝送装置であって、各レーンからデータを受信するＭ個の受信手段と、特定のレーンからのデータの受信において伝送エラーが発生した際に、特定のレーンを含むＮ本の一群のレーンを伝送速度が通常モードの１／Ｎである縮退モードで動作させ、縮退モードにおける伝送の正常性を確認し、確認の結果が正常である場合にＮ個の受信手段に一群のレーンから逆多重化されたデータを受信させる受信制御手段と、を有する受信側データ伝送装置を備えることを特徴とする。
【００１３】
本発明のデータ伝送方法は、Ｍ（Ｍは２以上の整数）本のレーンを介して、送信側の対向装置に接続され、各レーンからデータを受信するＭ個の受信手段を備えたデータ伝送装置において、特定のレーンからのデータの受信において伝送エラーが発生した際に、特定のレーンを含むＮ（Ｎは２以上でＭ以下の整数）本の一群のレーンを伝送速度が通常モードの１／Ｎである縮退モードで動作させ、縮退モードにおける伝送の正常性を確認し、確認の結果が正常である場合にＮ個の受信手段に一群のレーンから逆多重化されたデータを受信させることを特徴とする。
【００１４】
本発明のデータ伝送プログラムは、Ｍ（Ｍは２以上の整数）本のレーンを介して、送信側の対向装置に接続され、各レーンからデータを受信するＭ個の受信手段を備えたデータ伝送装置であって、特定のレーンからのデータの受信において伝送エラーが発生した際に、特定のレーンを含むＮ（Ｎは２以上でＭ以下の整数）本の一群のレーンを伝送速度が通常モードの１／Ｎである縮退モードで動作させ、縮退モードにおける伝送の正常性を確認し、確認の結果が正常である場合にＮ個の受信手段に一群のレーンから逆多重化されたデータを受信させる受信制御処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、パラレル転送方式やシリアル転送方式などのデータ通信を行うデータ伝送インタフェースにおける伝送エラーの発生時に、通常の縮退処理において少なくとも２つのレーンが同時に縮退対象になる場合に比べて、スループットの低下が抑制されるという効果がある。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態におけるデータ伝送システムの構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態におけるデータ伝送システムの動作を示すフローチャートである。
【図３】本発明の第１の実施形態におけるデータ伝送システムの処理の具体例を説明するための図である。
【図４】本発明の第２の実施形態におけるデータ伝送システムの構成の一例を示すブロック図である。
【図５】本発明の第２の実施形態におけるデータ伝送システムの動作を示すフローチャートである。
【発明を実施するための形態】
【００１７】
以下、本発明の実施形態について、図面を参照して詳細に説明する。なお、すべての図面において、同等の構成要素には同じ符号を付し、適宜説明を省略する。
（第１の実施形態）
本実施形態における構成について説明する。
【００１８】
図１は、本発明の第１の実施形態におけるデータ伝送システム１００の構成の一例を示すブロック図である。ここでは、レーンの本数が２本である場合について図示する。
【００１９】
データ伝送システム１００は、受信側のデータ伝送装置１１５（データ伝送装置Ｂ）と、データ伝送装置Ｂの対向装置である送信側のデータ伝送装置１１０（データ伝送装置Ａ）とを含む。データ伝送装置Ａ及びデータ伝送装置Ｂは、レーン１０２（レーンＡ）およびレーン１０３（レーンＢ）を含むリンク１０１を経由して接続される。なお、データ伝送装置Ａおよびデータ伝送装置Ｂは、双方ともにデータの送受信が可能であってもよい。
【００２０】
送信側のデータ伝送装置Ａは、制御手段１２０と、バッファ１３１（バッファＡ）と、バッファ１３２（バッファＢ）と、通信手段１５１と、通信手段１５２と、選択手段１４０とを含む。
【００２１】
制御手段１２０は、バッファＡと、バッファＢと、通信手段１５１と、通信手段１５２と、選択手段１４０を制御する。
【００２２】
バッファＡおよびバッファＢは、制御手段１２０により格納された送信ビット列を保持する。
【００２３】
通信手段１５１、通信手段１５２はそれぞれ、バッファＡ、バッファＢにより保持される送信ビット列を受信側へ送信する。
【００２４】
選択手段１４０は、バッファＡまたはバッファＢにより保持される送信ビット列をどの通信手段（通信手段１５１または通信手段１５２）に渡すかを選択する。
【００２５】
受信側のデータ伝送装置Ｂは、制御手段１２５と、通信手段１５６と、通信手段１５７と、バッファ１３６（バッファａ）と、バッファ１３７（バッファｂ）と、選択手段１４５とを含む。
【００２６】
制御手段１２５は、通信手段１５６と、通信手段１５７と、バッファａと、バッファｂと、選択手段１４５とを制御する。
【００２７】
通信手段１５６、通信手段１５７はそれぞれ、通信手段１５１、通信手段１５２から送信された送信ビット列を受信し、受信した受信ビット列を各バッファへ格納する。
【００２８】
バッファａ、バッファｂはそれぞれ、通信手段１５６、通信手段１５７により格納された受信ビット列を保持する。
【００２９】
選択手段１４５は、バッファａ、バッファｂにより保持される受信ビット列がどの通信手段（通信手段１５６または通信手段１５７）から渡されるかを選択する。
【００３０】
次に、本実施形態における動作について説明する。
図２は、本発明の第１の実施形態におけるデータ伝送システム１００の動作を示すフローチャートである。具体的には、図２（ａ）は送信側のデータ伝送装置Ａの縮退動作を示すフローチャートであり、図２（ｂ）は受信側のデータ伝送装置Ｂの縮退動作を示すフローチャートである。なお、図２（ａ）に示すデータ伝送装置Ａの縮退動作と図２（ｂ）に示すデータ伝送装置Ｂの縮退動作とは並行して進む。また、図２に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【００３１】
既に、データ伝送装置Ａはビット列をデータ伝送装置Ｂへ送信し、データ伝送装置Ｂはデータ伝送装置Ａにより送信されたビット列を受信しているものとする。
【００３２】
まず、データ伝送装置Ａの動作について説明する。
【００３３】
データ伝送装置Ａは、「縮退レベルの伝送エラー」が発生しているか否かを判定する（ステップＳ１１０）。「縮退レベルの伝送エラー」とは、レーンの縮退処理によらなければエラーからの回復が不可能な伝送エラーである。具体的には、例えば、データ伝送装置Ａは、送信するビット列に誤り検出符号を付加して送信する。そして、データ伝送装置Ａは、データ伝送装置Ｂにおいて誤りが検出されて、データ伝送装置Ｂから伝送エラーの発生を示す特別なビット列を受信した場合に、縮退レベルの伝送エラーが発生したと判定する。なお、伝送エラーの発生を示す特別なビット列は、伝送エラーが発生したレーンを識別するための情報を含む。あるいは、データ伝送装置Ａは、データ伝送装置Ｂから定期的に診断用の特別なビット列を受信し、所定の時間を超えて診断用の特別なビット列を受信しない場合に、縮退レベルの伝送エラーが発生したと判定してもよい。
【００３４】
伝送エラーが発生していなければ（ステップＳ１１０：Ｎｏ）データ伝送装置Ａは、ステップＳ１１０の処理を繰り返し、その間、データ伝送を継続する。
【００３５】
伝送エラーが発生していれば（ステップＳ１１０：Ｙｅｓ）、データ伝送装置Ａは、伝送エラーが発生したレーンを含む２本の「一群のレーン」を選択し（ステップＳ１２０）、ステップＳ１３０の処理へ進む。なお、「一群のレーン」は、レーンが３本以上ある場合であっても、データ伝送装置Ａとデータ伝送装置Ｂとの間で共有される。
【００３６】
データ伝送装置Ａは、選択された一群のレーンを伝送速度が通常モードの１／２である縮退モードで動作させ（ステップＳ１３０）、ステップＳ１４０の処理へ進む。具体的には、例えば、データ伝送装置Ａは、通信速度を半分にするように指示する特別なビット列をデータ伝送装置Ｂから受信する。なお、通信速度を半分にするように指示する特別なビット列は、選択された一群のレーンを特定するための情報を含む。そして、データ伝送装置Ａは、通信速度を半分にするように指示する特別なビット列に従って、選択された一群のレーンの通信速度を半分にする。
【００３７】
データ伝送装置Ａは、縮退モードにおける伝送の正常性を確認し（ステップＳ１４０）、ステップＳ１５０の処理へ進む。具体的には、例えば、データ伝送装置Ａは、通信速度を半分にして試験用のビット列を送信する。そして、データ伝送装置Ａは、伝送エラーの発生の確認結果を示す特別なビット列をデータ伝送装置Ｂから受信する。
【００３８】
データ伝送装置Ａは、縮退モードにおける伝送が正常か否かを判定する（ステップＳ１５０）。
【００３９】
伝送が正常でなければ（ステップＳ１５０：Ｎｏ）データ伝送装置Ａは、データ伝送を中止して、処理を終了する。さらに、データ伝送装置Ａは、障害復旧等の処理を行ってもよい。
【００４０】
伝送が正常であれば（ステップＳ１５０：Ｙｅｓ）、データ伝送装置Ａは、一群のレーンへ逆多重化されたデータを送信し（ステップＳ１６０）、処理を終了する。
【００４１】
次に、データ伝送装置Ｂの動作について説明する。
【００４２】
データ伝送装置Ｂは、縮退レベルの伝送エラーが発生しているか否かを判定する（ステップＳ１１５）。具体的には、例えば、データ伝送装置Ｂは、受信したビット列のエラーチェックを行い、縮退レベルの伝送エラーが発生しているか否かを判定する。データ伝送装置Ｂは、誤りを検出した場合に、伝送エラーの発生を示す特別なビット列を送信する。なお、伝送エラーの発生を示す特別なビット列は、伝送エラーが発生したレーンを識別するための情報を含む。あるいは、データ伝送装置Ｂは、データ伝送装置Ａへ定期的に診断用の特別なビット列を送信してもよい。
【００４３】
伝送エラーが発生していなければ（ステップＳ１１５：Ｎｏ）、データ伝送装置Ｂは、ステップＳ１１５の処理を繰り返し、その間、データ伝送を継続する。
【００４４】
伝送エラーが発生していれば（ステップＳ１１５：Ｙｅｓ）、データ伝送装置Ｂは、伝送エラーが発生したレーンを含む２本の一群のレーンを選択し（ステップＳ１２５）、ステップＳ１３５の処理へ進む。
【００４５】
データ伝送装置Ｂは、選択された一群のレーンを伝送速度が通常モードの１／２である縮退モードで動作させ（ステップＳ１３５）、ステップＳ１４５の処理へ進む。具体的には、例えば、データ伝送装置Ｂは、通信速度を半分にするように指示する特別なビット列をデータ伝送装置Ａへ送信する。なお、通信速度を半分にするように指示する特別なビット列は、選択された一群のレーンを特定するための情報を含む。
【００４６】
データ伝送装置Ｂは、縮退モードにおける伝送の正常性を確認し（ステップＳ１４５）、ステップＳ１５５の処理へ進む。具体的には、例えば、データ伝送装置Ｂは、データ伝送装置Ａから半分の通信速度で試験用のビット列を受信し、伝送エラーが発生するか否かを確認する。そして、データ伝送装置Ｂは、伝送エラーの発生の確認結果を示す特別なビット列をデータ伝送装置Ａへ送信する。
【００４７】
データ伝送装置Ｂは、縮退モードにおける伝送が正常か否かを判定する（ステップＳ１５５）。
【００４８】
伝送が正常でなければ（ステップＳ１５５：Ｎｏ）データ伝送装置Ｂは、データ伝送を中止して、処理を終了する。さらに、データ伝送装置Ｂは、障害復旧等の処理を行ってもよい。
【００４９】
伝送が正常であれば（ステップＳ１５５：Ｙｅｓ）、データ伝送装置Ｂは、一群のレーンから逆多重化されたデータを受信し（ステップＳ１６５）、処理を終了する。
【００５０】
次に、本実施形態における処理の具体例について説明する。
【００５１】
図３は、本発明の第１の実施形態のデータ伝送システム１００の処理の具体例を説明するための図である。具体的には、図３は、逆多重化されたデータの送受信処理の具体例を説明するための図である。図３（ａ）から（ｅ）において、最左の２列は、送信側伝送装置Ａにおける送信ビット列、バッファＡの内容、バッファＢの内容を示す。図３（ａ）から（ｅ）において、最右の２列は、受信側伝送装置Ｂにおける受信ビット列、バッファａの内容、バッファｂの内容を示す。図３（ａ）から（ｅ）において、中央の２列は、レーンＡ、レーンＢにおける受信ビット列の内容を示す。図３（ａ）は正常時の伝送状態を、図３（ｂ）は伝送エラー発生時の伝送状態を、図３（ｃ）は縮退時の伝送状態を、図３（ｄ）は本発明とは別の方法による縮退時の伝送状態を、図３（ｅ）は本発明とは別の方法による縮退時の別の伝送状態を示す。なお、図３（ｅ）の「別の方法」は、図３（ｄ）の「別の方法」と同じであるが、使用されるレーン数が異なる。また、丸で囲まれた数字は、送信ビット列中の固定長の要素を示す。
【００５２】
まず、伝送エラーが発生していない場合（図３（ａ））について、説明する。選択手段１４０により、送信側のバッファＡ、バッファＢはそれぞれ、レーンＡ、レーンＢに接続されており、選択手段１４５により、受信側のバッファａ、バッファｂはそれぞれ、レーンＡ、レーンＢに接続されている。まず、送信データに含まれるビット列の各要素は、バッファＡ、バッファＢに交互に保持される。次に、バッファＡ、バッファＢのビット列は、それぞれ、レーンＡ、レーンＢに送信される。次に、伝送エラーは発生していないので、バッファａ、バッファｂに受信されたビット列が保持される。次に、バッファａ、バッファｂに保持されるビット列の各要素は、交互に取り出されて、受信データが再構成される。
【００５３】
次に、伝送エラーが発生した場合（図３（ｂ））について、説明する。選択手段１４０により、送信側のバッファＡ、バッファＢはそれぞれ、レーンＡ、レーンＢに接続されており、選択手段１４５により、受信側のバッファａ、バッファｂはそれぞれ、レーンＡ、レーンＢに接続されている。まず、送信データに含まれるビット列の各要素は、バッファＡ、バッファＢに交互に保持される。次に、バッファＡ、バッファＢのビット列は、それぞれ、レーンＡ、レーンＢに送信される。次に、送信したビット列の半分が正常に受信された後に、レーンＡおよびレーンＢにおいて伝送エラーが発生する。
【００５４】
伝送エラーが発生したので、続いて、レーンの縮退処理が行われる（図３（ｃ））。縮退処理の結果、選択手段１４０により、送信側のバッファＡは、レーンＡとレーンＢの両方に接続されており、選択手段１４５により、受信側のバッファａは、レーンＡとレーンＢの両方に接続されている。まず、送信データに含まれるビット列の各要素は、バッファＡに保持される。次に、バッファＡのビット列は、レーンＡ、レーンＢへ交互に半分の速度で送信される。次に、受信されたビット列は、レーンＡ、レーンＢから交互に取り出され、バッファａに保持される。次に、バッファａに保持されるビット列の各要素が取り出されて、受信データが再構成される。つまり、レーンＡおよびレーンＢにおいて伝送エラーが発生したにもかかわらず、半分のスループットで伝送が行われる。
【００５５】
ここで、レーンの縮退時に、選択手段によるバッファの切り替えが行われない場合（図３（ｄ））について、説明する。まず、送信データに含まれるビット列の各要素は、バッファＡ、バッファＢに交互に保持される。次に、バッファＡ、バッファＢのビット列は、それぞれ、レーンＡ、レーンＢに正常時の半分の通信速度で送信される。次に、正常時の半分の通信速度では伝送エラーは発生していないので、バッファａ、バッファｂに受信されたビット列が保持される。次に、バッファａ、バッファｂに保持されるビット列の各要素は、交互に取り出されて、受信データが再構成される。この場合には、受信側の各バッファに保持される受信ビット列の要素の数が、通常時の半分である。すなわち、バッファから取り出す要素の個数が、レーンの縮退時と通常時とで異なる。つまり、この具体例では、レーンの縮退時と通常時とで、受信ビット列からデータを再構成する際の処理やタイミングが変化するので、処理が複雑であるという問題がある。
【００５６】
特に、受信ビット列からデータを再構成する際の処理方法やタイミングが変化するという問題は、縮退したレーンと縮退していないレーンとが混在する場合（図３（ｅ））に顕著である。ここでは、送信側バッファＣおよび受信側バッファｃが３本目のレーンＣに接続された例について説明する。レーンＣは縮退していない。その他の条件は、図３（ｄ）における条件と同じである。レーンＣは縮退していないので、通常の速度でビット列が伝送される。その結果、受信側のバッファｃに保持されるビット列の要素数は、バッファａ、バッファｂの２倍である。すなわち、バッファから取り出す要素の個数が、２種類存在する。つまり、この具体例では、縮退したレーンのバッファと通常のレーンのバッファとで、受信ビット列からデータを再構成する際の処理やタイミングが２種類存在するので、処理が複雑であるという問題がある。
【００５７】
以上説明したように、本実施形態のデータ伝送システム１００では、縮退対象の２本のレーンは通常の１本のレーンとして動作する。つまり、本実施形態のデータ伝送システム１００では、データ伝送インタフェースにおける伝送エラーの発生時に、通常の縮退処理において少なくとも２つのレーンが同時に縮退対象になる場合に比べて、スループットの低下が抑制されるという効果がある。
【００５８】
また、本実施形態のデータ伝送システム１００では、エラーが発生したレーンの各バッファおよびエラーが発生しないレーンの両方の各バッファにおいて、縮退後にデータが読み書きされるタイミングが同じである。従って、本実施形態のデータ伝送システム１００では、縮退が発生したレーンのバッファと縮退が発生しないレーンのバッファとの間で、ビット列の送受信順序を合せる仕組みが不要であるという効果がある。
【００５９】
また、本実施形態のデータ伝送システム１００では、縮退後に使用されないバッファが存在する。そのため、ステップＳ１１０におけるレーンの障害検出処理を、バッファの障害検出処理に置き換えれば、ステップＳ１２０からステップＳ１６０までの処理は、バッファの障害時の縮退処理として利用可能である。または、ステップＳ１１５におけるレーンの障害検出処理を、バッファの障害検出処理に置き換えれば、ステップＳ１２５からステップＳ１６５までの処理は、バッファの障害時の縮退処理として利用可能である。
【００６０】
なお、上述の本実施形態の構成では、データ伝送装置は、２つのレーンを有し、レーン数に対応する数の、バッファ、通信手段、及び選択手段の入出力を有する場合について示した。しかしながら、上述の説明から明らかなように、本実施形態のデータ伝送装置が有する、レーン、バッファ、選択手段の入出力の数は、２つに限定されず、２以上の任意の自然数（Ｍ）であってよい。
【００６１】
また、上述の本実施形態の動作では、縮退対象のレーンが２つである場合について説明した。しかしながら、上述の説明から明らかなように、本実施形態の縮退対象のレーンの数は、２つに限定されず、２以上でＭ以下の任意の自然数（Ｎ）であってよい。その理由は、縮退対象のレーンの数がＮであれば、縮退対象のレーンの通信速度を通常の１／Ｎにして、１つの送信バッファ及び１つの送信バッファに接続させることにより、１本の通常のレーンと同等に動作させることができるからである。
（第２の実施形態）
次に、上述した第１の実施形態を基本とする本発明の第２の実施形態におけるデータ伝送システムについて説明する。本実施形態のデータ伝送システムは、８本のレーンを含む。以下の説明において、第１の実施形態と同等の構成要素には同じ符号を付し、適宜説明を省略する。
【００６２】
本実施形態における構成について説明する。
【００６３】
図４は、本発明の第２の実施形態におけるデータ伝送システム２００の構成の一例を示すブロック図である。
【００６４】
データ伝送システム２００は、お互いにデータ伝送を行うデータ伝送装置２０１（データ伝送装置Ａ）およびデータ伝送装置２０２（データ伝送装置Ｂ）を含む。データ伝送装置Ａおよびデータ伝送装置Ｂは、双方ともにデータの送受信が可能である。ただし、説明を簡単にするために、データ伝送装置Ａを送信側、データ伝送装置Ｂを受信側とする、一方向のレーンのみを図示する。また、レーンの本数が８本（双方向合わせて１６本）である場合について図示する。
【００６５】
送信側のデータ伝送装置Ａは、データ処理部２１０と、バッファ２１１と、送信器２１３と、セレクタ２１２とを含む。
【００６６】
データ処理部２１０は、送信データを送信ビット列に符号化して各バッファへ格納する。
【００６７】
バッファ２１１は、データ処理部２１０により格納された送信ビット列を保持する。
【００６８】
送信器２１３は、バッファ２１１により保持される送信ビット列を受信側へ送信する。
【００６９】
セレクタ２１２は、バッファ２１１により保持される送信ビット列をどの送信器２１３に渡すかを選択する。
【００７０】
受信側のデータ伝送装置Ｂは、受信器２２３と、バッファ２２１と、セレクタ２２２と、データ処理部２２０とを含む。
【００７１】
受信器２２３は、送信器２１３から送信された送信ビット列を受信し、受信した受信ビット列を各バッファへ格納する。
【００７２】
バッファ２２１は、受信器２２３により格納された受信ビット列を保持する。
【００７３】
セレクタ２２２は、バッファ２２１により保持される受信ビット列がどの受信機２２３から渡されるかを選択する。
【００７４】
データ処理部２２０は、バッファ２２１により保持される受信ビット列を元の送信データに復号化する。
【００７５】
次に、本実施形態における動作について説明する。
図５は、本発明の第２の実施形態におけるデータ伝送システム２００の動作を示すフローチャートである。なお、図５に示すフローチャート及び以下の説明は一例であり、適宜求める処理に応じて、処理順等を入れ替えたり、処理を戻したり、又は処理を繰り返したりしてもよい。
【００７６】
データ伝送装置Ａは、ビット列をデータ伝送装置Ｂへ送信する（ステップＳ２０１）。
【００７７】
データ伝送装置Ｂは、データ伝送装置Ａにより送信されたビット列を受信し（ステップＳ２０２）、ステップＳ２０３の処理へ進む。
【００７８】
データ伝送装置Ｂは、受信したビット列のエラーチェックを行い、縮退レベルのエラーが発生しているか否かを判定する（ステップＳ２０３）。
【００７９】
データ伝送装置Ａおよびデータ伝送装置Ｂは、ステップＳ２０３において縮退レベルのエラーが発生していない場合には（ステップＳ２０３：Ｎｏ）、データ伝送を継続する（ステップＳ２０４）。
【００８０】
データ伝送装置Ｂは、ステップＳ２０３において縮退レベルのエラーが発生した場合には（ステップＳ２０３：Ｙｅｓ）、通信速度を半分にするように指示するスペシャルパケットをデータ伝送装置Ａへ送信する（ステップＳ２０５）。スペシャルパケットとは、データ伝送装置間で指示や応答を交換するための特別なビット列である。
【００８１】
データ伝送装置Ａは、データ伝送装置Ｂにより送信されたスペシャルパケットを受信し（ステップＳ２０６）、ステップＳ２０７の処理へ進む。
【００８２】
データ伝送装置Ａおよびデータ伝送装置Ｂは、通信速度を半分にして伝送トレーニングを行い（ステップＳ２０７）、ステップＳ２０８の処理へ進む。伝送トレーニングとは、縮退レベルのエラーが発生することなく伝送を継続できるか否かを検査する処理である。
【００８３】
データ伝送装置Ｂは、伝送トレーニングの結果に基づいて、縮退レベルのエラーが発生するか否かを判定する（ステップＳ２０８）。
【００８４】
データ伝送装置Ｂは、ステップＳ２０８において縮退レベルのエラーが発生した場合には（ステップＳ２０８：Ｙｅｓ）、通常の縮退処理を行う（ステップＳ２０９）。
【００８５】
データ伝送装置Ａおよびデータ伝送装置Ｂは、ステップＳ２０８において縮退レベルのエラーが発生していない場合には（ステップＳ２０８：Ｎｏ）、ステップＳ２０３において縮退レベルのエラーが発生したレーンを含む２つのレーンを選択する。次に、データ伝送装置Ａおよびデータ伝送装置Ｂは、選択した２つのレーンに対して共通に使用される、送信側及び受信側の各々１つのバッファを決定し（ステップＳ２１０）、ステップＳ２１１の処理へ進む。
【００８６】
データ伝送装置Ａは、決定した送信側の１つのバッファにより保持される送信ビット列が２つのレーンへ送信され、決定した受信側の１つのバッファにおいて２つのレーンからの受信ビット列が保持されるように、データ伝送装置Ａ側およびデータ伝送装置Ｂ側のセレクタへ経路変更コマンドを送信し（ステップＳ２１１）、ステップＳ２１２またはステップＳ２１３の処理へ進む。経路変更コマンドとは、セレクタに経路を変更させるための命令である。経路変更コマンドは、所定のスペシャルコマンドにより、データ伝送装置間で交換されてもよい。
【００８７】
データ伝送装置Ａ側のセレクタは、データ伝送装置Ａにより送信された経路変更コマンドを受信し、経路の切り替えを開始し（ステップＳ２１２）、ステップＳ２１４の処理へ進む。
【００８８】
データ伝送装置Ｂ側のセレクタは、データ伝送装置Ａにより送信された経路変更コマンドを受信し、経路の切り替えを開始し（ステップＳ２１３）、ステップＳ２１４の処理へ進む。
【００８９】
データ伝送装置Ａおよびデータ伝送装置Ｂは、変更された経路を経由して、それぞれが、１つのバッファに接続された２つのレーンを交互に利用してデータ伝送を行う（ステップＳ２１４）。
【００９０】
以上説明したように、本実施形態のデータ伝送システム２００では、データ伝送インタフェースにおける伝送エラーの発生時に、通常の縮退処理において少なくとも２つのレーンが同時に縮退対象になる場合に比べて、スループットの低下が抑制されるという効果がある。
【００９１】
また、本実施形態のデータ伝送システム２００では、エラーが発生したレーンの各バッファおよびエラーが発生しないレーンの両方の各バッファにおいて、縮退後にデータが読み書きされるタイミングが同じである。従って、本実施形態のデータ伝送システム２００では、縮退が発生したレーンのバッファと縮退が発生しないレーンのバッファとの間で、ビット列の送受信順序を合せる仕組みが不要であるという効果がある。
【００９２】
また、本実施形態のデータ伝送システム２００では、縮退後に使用されないバッファが存在する。そのため、ステップＳ２０３におけるレーンの障害検出処理を、バッファの障害検出処理に置き換えれば、ステップＳ２０４以降の処理は、バッファの障害時の縮退処理として利用可能である。
【００９３】
なお、上述の本実施形態の構成では、データ伝送装置は、８つのレーンを有し、レーン数に対応する数の、バッファ、通信手段、及びセレクタの入出力を有する場合について示した。しかしながら、上述の説明から明らかなように、本実施形態のデータ伝送装置が有する、レーン、バッファ、セレクタの入出力の数は、８つに限定されず、２以上の任意の自然数であってよい。
【００９４】
また、上述の本実施形態の動作では、縮退対象のレーンが２つである場合について説明した。しかしながら、上述の説明から明らかなように、本実施形態の縮退対象のレーンの数は、２つに限定されず、２以上の任意の偶数であってよい。その理由は、縮退対象のレーンの数が２以上の偶数であれば、縮退対象のレーンは、縮退対象のレーンの数の半分の数の縮退対象でないレーンと同等に動作するからである。
【００９５】
なお、上述した各実施形態におけるデータ伝送装置は、専用の装置又は回路によって実現してもよいが、コンピュータ（情報処理装置）によっても実現可能である。この場合、係るコンピュータは、メモリ（不図示）に格納されたソフトウェア・プログラムをＣＰＵ（Ｃｅｎｔｒａｌ＿Ｐｒｏｃｅｓｓｉｎｇ＿Ｕｎｉｔ、不図示）に読み出し、読み出したソフトウェア・プログラムをＣＰＵにおいて実行することにより、実行結果を、例えば、ユーザ・インタフェースに出力する。上述した各実施形態の場合、係るソフトウェア・プログラムには、上述したところの、図１に示したデータ伝送装置１１０、１１５の各手段の機能を実現可能な記述がなされていればよい。あるいは、図４に示したデータ伝送装置２０１、２０２の各手段の機能を実現可能な記述がなされていればよい。そして、このような場合、係るソフトウェア・プログラム（コンピュータ・プログラム）は、本発明を構成すると捉えることができる。更に、係るソフトウェア・プログラムを格納した、コンピュータ読み取り可能な記憶媒体も、本発明を構成すると捉えることができる。
【００９６】
以上、本発明を、上述した各実施形態およびその変形例によって例示的に説明した。しかしながら、本発明の技術的範囲は、上述した各実施形態およびその変形例に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本発明の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【産業上の利用可能性】
【００９７】
本発明は、コンピュータ、ストレージ装置、通信機器、周辺機器等の入出力インタフェースにおける障害発生時の障害復旧処理をする用途において利用できる。
【符号の説明】
【００９８】
１００  データ伝送システム
１１０、１１５  データ伝送装置
１０１  リンク
１０２、１０３  レーン
１２０、１２５  制御手段
１３１、１３２、１３６、１３７  バッファ
１４０、１４５  選択手段
１５１、１５２、１５６、１５７  通信手段
２００  データ伝送システム
２０１、２０２  データ伝送装置
２１０、２２０  データ処理部
２１１、２２１  バッファ
２１２、２２２  セレクタ
２１３  送信器
２２３  受信器
【図１】
0006525251.tif 000002
【図２】
0006525251.tif 000003
【図３】
0006525251.tif 000004
【図４】
0006525251.tif 000005
【図５】
0006525251.tif 000006