通信装置、通信回路および通信方法
【課題】複数の通信回線のうちの一部の通信回線が利用不可能である場合に、利用可能な通信回線を用いて伝送路のリンクを確立し、通信の継続が可能になる。
【解決手段】制御部1aは、通信回線3a〜3nについて利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線3c〜3nのうち通信回線番号が最小の通信回線3cから順に論理通信回線番号を設定し、設定した論理通信回線番号に基づいて伝送路3のリンクを確立する処理を実行する。
【解決手段】制御部1aは、通信回線3a〜3nについて利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線3c〜3nのうち通信回線番号が最小の通信回線3cから順に論理通信回線番号を設定し、設定した論理通信回線番号に基づいて伝送路3のリンクを確立する処理を実行する。
【発明の詳細な説明】
【技術分野】
【0001】
本件は通信装置、通信回路および通信方法に関する。
【背景技術】
【0002】
近年、情報処理システムに関連するデータ伝送では高速化が進められており、シリアル伝送が広く用いられている。また、さらにデータ転送の高速化を図るために、複数のレーンのシリアル伝送路を1つに纏めて1本のリンク(link)として扱うマルチレーン(Multilane)構成も用いられている。
【0003】
また、複数のレーンを用いたデータ転送に関し、以下の技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平05−160819号公報
【特許文献2】特開2006−186527号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、シリアル伝送路をマルチレーン構成で用いた場合等のように複数の通信回線を1つの伝送路として利用する場合において、複数の通信回線のうちの一部の通信回線に故障が発生して利用不可能であるときについて考える。このとき、シリアル伝送路全体においてリンクの確立ができずに利用不可能になるとすれば、伝送路の可用性が低下するという問題点がある。
【0006】
本件はこのような点に鑑みてなされたものであり、複数の通信回線のうちの一部の通信回線が利用不可能である場合に、利用可能な通信回線を用いて通信の継続が可能な通信装置、通信回路および通信方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、以下のような複数の通信回線を有する伝送路を用いて通信する通信装置が提供される。開示の通信装置では、制御部は、各通信回線について利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、設定した論理通信回線番号に基づいて伝送路のリンクを確立する処理を実行する。
【0008】
また、上記課題を解決するために、以下のような複数の通信回線を有する伝送路を用いて通信する通信方法が提供される。開示の通信方法では、各通信回線について利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、設定した論理通信回線番号に基づいて伝送路のリンクを確立する。
【発明の効果】
【0009】
開示の通信装置、通信回路および通信方法によれば、複数の通信回線のうちの一部の通信回線が利用不可能である場合に、利用可能な通信回線を用いて通信の継続が可能になる。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態の通信装置を示す図である。
【図2】第2の実施の形態の通信システムの構成を示す図である。
【図3】第2の実施の形態の送信部を示す図である。
【図4】第2の実施の形態の受信部を示す図である。
【図5】第2の実施の形態の通信装置を示す図である。
【図6】第2の実施の形態のレーンの再構成を示す図である。
【図7】第2の実施の形態の接続処理を示すフローチャートである。
【図8】第2の実施の形態の接続処理を示すフローチャートである。
【図9】第2の実施の形態の再構成処理を示すフローチャートである。
【図10】第3の実施の形態の通信装置を示す図である。
【図11】第3の実施の形態の設定テーブルを示す図である。
【図12】第3の実施の形態のレーンの再構成を示す図である。
【図13】第3の実施の形態の再構成処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の通信装置を示す図である。図1に示す通信装置1,2は、伝送路3で接続されているとともに、伝送路3で通信を行い、データを送受信する通信装置である。通信装置1は、制御部1aを有する。通信装置2は、制御部2aを有する。伝送路3は、n本の通信回線3a,3b,3c,・・・,3nを有する。また、通信回線3a〜3nには、それぞれ物理回線番号が0からn−1まで設定されているものとする。また、通信回線3a,3bにおいて故障が発生し、利用が不可能であるものとする。
【0012】
制御部1aは、伝送路3の通信回線3a,3b,3c,・・・,3nについて利用可能か否かを判定する。ここで、制御部1aは、通信回線3a,3bについて故障が発生しており、利用不可能であると判定し、通信回線3c〜3nについて利用可能であると判定したものとする。次に制御部1aは、判定結果に基づき、利用可能であると判定された通信回線3c〜3nのうち通信回線番号が最小または最大の通信回線(ここでは、通信回線3c)から順に論理通信回線番号を設定する。具体的には、制御部1aは、利用が不可能な通信回線3a,3bを除外し、利用可能であって最小の通信回線番号が2である通信回線3cに論理回線番号として0を設定する。また、制御部1aは、利用可能であって通信回線番号が3である通信回線3dに論理回線番号として1を設定し、同様に、利用可能であって通信回線番号がn−1である通信回線3nに論理回線番号としてn−3を設定する。
【0013】
次に、制御部1aは、設定した論理通信回線番号に基づいて伝送路3のリンクを確立する処理を実行する。これに従い、通信装置1,2の間で伝送路3を用いた通信が行われ、データの送受信が可能になる。
【0014】
制御部2aは、制御部1aと同一の構成であり、説明を省略する。
これにより、通信装置1,2を接続する伝送路3が有する複数の通信回線のうちの一部の通信回線が利用不可能である場合に、利用可能な通信回線を用いて伝送路3のリンクを確立する通信の継続が可能になる。
【0015】
なお、第1の実施の形態の通信装置は、PCI(Peripheral Component Interconnect) Expressの通信インタフェースを有する通信装置として実装することが可能である。以下に説明する第2および第3の実施の形態では、PCI Expressを想定した通信装置の例を挙げる。ただし、第1の実施の形態の通信装置は、InfiniBand等の通信インタフェースを有する通信装置として実装することも可能である。また、第1の実施の形態の通信装置は、例えば、PCI ExpressやInfiniBand等の通信インタフェースを有する情報処理装置として実現することも可能である。
【0016】
[第2の実施の形態]
図2は、第2の実施の形態の通信システムの構成を示す図である。第2の実施の形態の通信システムは、通信装置100,200が、それぞれn本(例えば、16本)の同期されたレーンを有するシリアルリンク301,302で接続可能である。第2の実施の形態では、通信装置100の送信部101と、通信装置200の受信部202とがシリアルリンク301で接続されている。また、通信装置100の受信部102と、通信装置200の送信部201とがシリアルリンク302で接続されている。
【0017】
通信装置100は、通信回路100aおよび内部回路100bを有する。通信回路100aは、送信部101、受信部102、上位層処理部103を有する。
送信部101は、通信装置200の受信部202との間のシリアルリンク301の物理コネクションの接続制御や、受信部202に対する光信号の送信等の、OSI参照モデル(Open Systems Interconnection reference model)の物理層における送信処理を行う。なお、送信部101は、光信号の送信処理を行うが、これに限らず、電気信号の送信処理を行ってもよい。
【0018】
受信部102は、通信装置200の送信部201との間のシリアルリンク302の物理コネクションの接続制御や、受信部202から送信された光信号の受信等の物理層における受信処理を行う。なお、受信部102は、光信号の受信処理を行うが、これに限らず、電気信号の受信処理を行ってもよい。
【0019】
上位層処理部103は、OSI参照モデルのデータリンク層以上の送受信処理を行う。また、上位層処理部103は、送信部101および受信部102による通信を制御する。上位層処理部103は、内部回路100bからの送信データを受信すると、送信部101に受信部202に対して送信させる。また、上位層処理部103は、受信部102で受信された送信部201からの受信データを受信すると、内部回路100bに送信する。
【0020】
内部回路100bは、通信装置200との間でデータ通信を行い、送受信されるデータを処理する回路である。内部回路100bは、専用のハードウェアで実現してもよく、マイクロプロセッサおよびメモリならびにソフトウェアで実現してもよい。
【0021】
シリアルリンク301,302の各レーンは、例えば、光信号によりデータを転送するシリアルレーンであるが、これに限らず、電気信号の通信によりデータを転送してもよい。各レーンのデータ転送速度は、一例として4Gbps(Giga bits per second)である。シリアルリンク301が16本のレーンを有する場合には、シリアルリンクのデータ転送速度は、64Gbpsとなる。シリアルリンク301,302のレーンの数は、それぞれ4本もしくは8本またはそれ以外の本数であってもよい。
【0022】
ここで、通信装置200は、送信部201、受信部202および上位層処理部203を有する通信回路200aならびに内部回路200bを有し、通信装置100と同一の構成であるため、説明を省略する。
【0023】
図3は、第2の実施の形態の送信部を示す図である。送信部101は、初期化部101a、符号化部101b、パラレル/シリアル変換部101d、記憶部101fを有する。
初期化部101aは、通信装置200の受信部202と接続するシリアルリンク301のリンク確立前の初期化処理を行い、通信に利用するレーン数やレーンマッピングの決定を行う。通信に利用するレーン数やレーンマッピングを示す情報は、記憶部101fに記憶される。
【0024】
符号化部101bは、図示しないクロック発生部による送信クロックに基づいて、送信部101により通信装置100から通信装置200に送信される送信データを物理的な伝送ビット(bits)列に変換する符号化の処理を行う。
【0025】
パラレル/シリアル変換部101dは、図示しないクロック発生部による送信クロックに基づいて、符号化部101bによって符号化されたデータのパラレル信号をシリアル信号に変換する処理を行う。
【0026】
記憶部101fは、初期化部101aによって決定された通信に利用するレーン数やレーンマッピングを示す情報を記憶する。また、記憶部101fは、レーンを特定する物理レーン番号と、利用可能なレーンについて設定した論理レーン番号との対応関係を示す設定情報を記憶する。
【0027】
図4は、第2の実施の形態の受信部を示す図である。受信部102は、初期化部102a、復号化部102b、レーン間同期部102c、シリアル/パラレル変換部102d、クロック抽出部102e、記憶部102fを有する。
【0028】
初期化部102aは、通信装置200の送信部201と接続するシリアルリンク302のリンク確立前の初期化処理を行い、通信に利用するレーン数やレーンマッピングの決定を行う。通信に利用するレーン数やレーンマッピングを示す情報は、記憶部102fに記憶される。
【0029】
復号化部102bは、通信装置200から通信装置100に送信され、受信部102により受信された受信データの物理的な伝送ビット列を、クロック抽出部102eによって抽出された受信クロック等に基づいてデータに変換する復号化の処理を行う。
【0030】
レーン間同期部102cは、シリアル/パラレル変換部102dによってパラレル信号に変換された、シリアルリンク302が有する各レーンの伝送ビットに含まれる同期信号を抽出して、各レーンのデータの同期を取る処理を行う。
【0031】
シリアル/パラレル変換部102dは、クロック抽出部102eによって抽出された受信クロック等に基づいて、通信装置200から送信されたシリアル信号をパラレル信号に変換する処理を行う。
【0032】
クロック抽出部102eは、通信装置200から送信されたデータ信号から受信クロックを抽出する。
記憶部102fは、初期化部102aによって決定された通信に利用するレーン数やレーンマッピングを示す情報を記憶する。また、記憶部102fは、物理レーンと利用可能なレーンについて再設定した論理レーンとの対応関係を示す設定情報を記憶する。
【0033】
図5は、第2の実施の形態の通信装置を示す図である。図5に示す通信装置100,200は、シリアルリンク301,302で接続されているとともに、シリアルリンク301,302で通信を行い、データを送受信する通信装置である。通信装置100は、制御部110を有する。通信装置200は、制御部210を有する。制御部110は、設定情報記憶部111を有する。制御部210は、設定情報記憶部211を有する。
【0034】
制御部110は、対向する通信装置200との間で論理レーンの対応関係を設定する。具体的には、制御部110は、シリアルリンク301,302の各レーンについて利用可能か否かを判定する。次に、制御部110は、判定結果に基づき、利用可能であると判定されたレーンのうち物理レーン番号が最小または最大のレーンから順に論理レーン番号を設定する。制御部110は、設定した物理レーン番号と論理レーン番号との対応関係を示す設定情報を設定情報記憶部111に記憶させる。また、制御部110は、設定情報記憶部111に記憶させた設定情報が示す論理レーン番号に基づいてシリアルリンク301,302のリンクを確立する処理を実行する。これに従い、通信装置100,200の間でシリアルリンク301,302を用いた通信が行われ、データの送受信が可能になる。制御部110は、通信回路として機能する。
【0035】
設定情報記憶部111は、物理レーン番号と論理レーン番号との対応関係を示す設定情報を記憶する。第2の実施の形態では、設定情報は、物理レーン番号と論理レーン番号との差であるシフト数mによって示される。
【0036】
シリアルリンク301は、通信装置100から通信装置200へのデータの送信に利用される。シリアルリンク302は、通信装置200から通信装置100へのデータの送信に利用される。シリアルリンク301,302は、それぞれn本の同期されたレーンを有する。また、シリアルリンク301,302のレーンには、それぞれ物理レーン番号が“0”から“n−1”まで設定されている。
【0037】
制御部210は、制御部110と同一の構成であり、説明を省略する。
図6は、第2の実施の形態のレーンの再構成を示す図である。図6(A)は、第2の実施の形態の送信部101および受信部202の間を接続するシリアルリンク301が有するn本のレーンにおいて、物理レーン番号が“0”のレーンおよび“1”のレーンに故障が発生している場合を示す。図6(B)は、第2の実施の形態の送信部101および受信部202の間を接続するシリアルリンク301が有するn本のレーンにおいて、故障している物理レーン番号が“0”のレーンおよび“1”のレーンを除外して論理レーン番号を設定した場合を示す。ここで、物理レーン番号は、シリアルリンク301について利用の可否にかかわらず各レーン301a〜301nに対して配置に基づき設定された番号とする。
【0038】
第2の実施の形態の通信装置100,200は、図6に示すように、通信装置100の送信部101と、通信装置200の受信部202との間でシリアルリンク301のリンクの確立を行う。
【0039】
図6(A)に示すように、シリアルリンク301が有するn本(例えば、16本)のレーンを、レーン301a,301b,301c,301d,・・・,301nとする。ここで、図6(A)では、物理レーン番号“0”のレーン301aおよび物理レーン番号“1”のレーン301bが故障により利用不可能になっている。
【0040】
この場合、第2の実施の形態の通信装置100,200では、互いにレーン番号を送受信することにより、シリアルリンク301の各レーン301a〜301nについて利用可能であるか否かを確認する。通信装置100,200は、これによりレーン301a,301bが利用不可能であることおよびレーン301cが利用可能であることを検知する。
【0041】
まず、通信装置100,200は、シリアルリンク301について、レーン301a〜301nのうちの利用可能なレーンを用いて再構成を行う。通信装置100,200は、互いのレーン番号を送受信することで利用可能なレーンを抽出する。次に、通信装置100,200は、利用可能なレーンの抽出結果から物理レーン番号が最小のレーン(例えば、図6(A)では、レーン301c)の物理レーン番号(例えば、2)を取得する。次に、通信装置100,200は、取得した物理レーン番号を、設定情報であるシフト数mに設定する。
【0042】
図6(B)に示すように、第2の実施の形態では、設定情報であるシフト数mにより、シリアルリンク301の物理レーンと論理レーンとの対応関係が示される。すなわち、利用可能なレーンについて、各レーンの物理レーン番号からシフト数m(例えば、2)を減算した結果を論理レーン番号に設定する。例えば、図6(A)に示すように物理レーン番号が“2”であるレーン301cには、図6(B)に示すように論理レーン番号として0が設定される。また、物理レーン番号が“3”であるレーン301dには、論理レーン番号として1が設定される。また、同様に、物理レーン番号が“(n−1)”であるレーン301nには、論理レーン番号として“(n−3)”が設定される。次に、通信装置100,200は、設定した論理レーン番号に基づいてシリアルリンク301の各レーンのリンクの確立の処理を実行する。
【0043】
図7および図8は、第2の実施の形態の接続処理を示すフローチャートである。接続処理は、通信装置100,200のそれぞれにおいてシリアルリンク301,302における通信に利用するレーンを設定し、設定したレーンのリンクを確立する処理である。ここでは、通信装置100の制御部110において、シリアルリンク301のリンクの確立の際に実行される処理について説明するが、通信装置200の制御部210においても、同時に同様の処理が実行される。以下、図7および図8に示す処理をステップ番号に沿って説明する。
【0044】
[ステップS11]制御部110は、シリアルリンク301のその時点のレーンに当該レーンのレーン番号を送信する。ここで、その時点のレーンとは、ステップS21により論理レーン番号が設定されている場合には、論理レーン番号に基づくレーンである。論理レーン番号が設定されていない場合には、接続処理における初期状態のレーン(すなわち、シリアルリンク301のすべてのレーン)である。このとき、通信装置200からも同様に、シリアルリンク301のその時点のレーンによりレーン番号が送信される。
【0045】
[ステップS12]制御部110は、シリアルリンク301の各レーンについて通信装置200から送信されたレーン番号を確認する。ステップS11およびステップS12により、シリアルリンク301の利用可能なレーンを取得できる。
【0046】
[ステップS13]制御部110は、ステップS11で送信したレーン番号と、ステップS12で受信したレーン番号とを比較し、すべてのレーンについて一致したか否かを判定する。一致していれば(ステップS13 YES)、処理はステップS16に進められる。一方、一致していなければ(ステップS13 NO)、処理はステップS14に進められる。
【0047】
[ステップS14]制御部110は、ステップS11で送信した各レーンのレーン番号と、ステップS12で受信した各レーンのレーン番号とを比較し、すべてのレーンについて逆順で一致したか否かを判定する。ここで、逆順で一致とは、通信装置100側のレーン番号を降順で整列するとともに、通信装置200側のレーン番号を昇順で整列して比較した場合に一致することとする。逆順で一致していれば(ステップS14 YES)、処理はステップS15に進められる。一方、逆順でも一致していなければ(ステップS14 NO)、処理はステップS21(図8)に進められる。
【0048】
[ステップS15]制御部110は、通信装置100のレーン番号を逆転して設定する。ここで、通信装置100でレーン番号の逆転を行った場合、通信装置200は、レーン番号の逆転を行わないものとする。また、通信装置200でレーン番号の逆転を行った場合、通信装置100は、レーン番号の逆転を行わないものとする。通信装置100,200でともにレーン番号の逆転を行うと、レーン番号が逆順に設定されてしまうからである。
【0049】
[ステップS16]制御部110は、その時点のレーン番号でシリアルリンク301のリンクの接続を確立する。その後、処理を終了する。
[ステップS21]制御部110は、論理レーン番号を設定する再構成処理を実行する。最初のループでは、シリアルリンク301のすべてのレーンについて再構成処理が実行される。2度目以降のループでは、ステップS25により減少されたレーンについて再構成処理が実行される。第2の実施の形態の再構成処理については、詳しくは図9において後述する。
【0050】
[ステップS22]制御部110は、ステップS21の再構成処理で設定された設定情報に基づく論理レーン番号で、ステップS25で減少させたレーン数のシリアルリンク301を構成できるか否かを判定する。構成できれば(ステップS22 YES)、処理はステップS23に進められる。一方、構成できなければ(ステップS22 NO)、処理はステップS24に進められる。
【0051】
[ステップS23]制御部110は、ステップS21の再構成処理で設定された設定情報に基づく論理レーン番号を設定し、接続処理を継続する。その後、処理はステップS11に進められる。
【0052】
[ステップS24]制御部110は、シリアルリンク301のレーン数が接続処理のループによりステップS25で減少されることで、現在のレーン数が1になっているか否かを判定する。現在のレーン数が1であれば(ステップS24 YES)、処理は終了する。一方、現在のレーン数が2以上であれば(ステップS24 NO)、処理はステップS25に進められる。
【0053】
[ステップS25]制御部110は、シリアルリンク301の各レーンについて利用するレーンの数を1つ減少させる。ここで、制御部110は、物理レーン番号が最大のレーンを除外してレーン数を1つ減少させるが、これに限らず、物理レーン番号が最小のレーンを除外してレーン数を1つ減少させてもよい。その後、処理はステップS11に進められる。
【0054】
なお、第2の実施の形態の接続処理では、シリアルリンク301,302について各レーンについて別個に判定してリンクを確立するが、これに限らず、シリアルリンク301,302のレーンを一体としてあわせて判定し、リンクを確立してもよい。
【0055】
図9は、第2の実施の形態の再構成処理を示すフローチャートである。再構成処理は、通信装置100,200のそれぞれにおいてシリアルリンク301における通信に利用する論理レーン番号を示す設定情報を設定する処理である。ここでは、通信装置100の制御部110においてシリアルリンク301の設定情報の設定の際に実行される処理について説明するが、通信装置200の制御部210においても同様の処理が実行される。以下、図9に示す処理をステップ番号に沿って説明する。
【0056】
[ステップS31]制御部110は、接続処理のステップS11およびステップS12の取得結果に基づき、シリアルリンク301の各レーンのうち、利用可能なレーンの物理レーン番号を取得する。
【0057】
[ステップS32]制御部110は、ステップS31で取得した利用可能なレーンの物理レーン番号のうち最小値を選択する。
[ステップS33]制御部110は、ステップS32で選択した最小値をシフト数mとして設定情報に設定する。その後、処理は接続処理に復帰する。
【0058】
なお、第2の実施の形態では、接続処理において、ステップS16でリンクが確立できるまでステップS25で利用するレーン数を減少させながらループを繰り返す。しかし、これに限らず、ステップS11およびステップS12で利用可能なレーンを取得した後、再構成処理で設定情報を設定し、設定情報に基づいて利用するレーン数を決定してもよい。そして、設定情報および決定したレーン数に基づいて論理レーン番号を設定し、設定した論理レーン番号でシリアルリンク301,302を設定してもよい。
【0059】
以上に示すように、第2の実施の形態によれば、シリアルリンクのレーンが故障等により利用不可能である場合、利用不可能であるレーンの位置にかかわらず、利用可能なレーンを利用してシリアルリンクを確立することができる。
【0060】
また、シリアルリンクを長距離の回線に適用した場合等、レーンの故障率が低減できない場合にも、利用可能なレーンを有効に活用して通信容量の低減を抑制してシリアルリンクの確立が可能になる。
【0061】
また、設定情報により物理レーン番号と論理レーン番号との対応関係を特定して複数のシリアルリンクにそれぞれ論理レーン番号を付し、各レーンを同期してデータの送受信を行うので、マルチレーン構成にも適用可能である。
【0062】
[第3の実施の形態]
次に、第3の実施の形態について説明する。上記の第2の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いると共に説明を省略する。
【0063】
第3の実施の形態では、利用可能なレーンに対して順番に論理レーン番号を設定し、シリアルリンクを確立する。
図10は、第3の実施の形態の通信装置を示す図である。図10に示す通信装置400,500は、シリアルリンク601,602で接続されているとともに、シリアルリンク601,602で通信を行い、データを送受信する通信装置である。通信装置400は、制御部410を有する。通信装置500は、制御部510を有する。制御部410は、設定情報記憶部411を有する。制御部510は、設定情報記憶部511を有する。
【0064】
制御部410は、対向する通信装置500との間で論理レーンの対応関係を設定する。具体的には、制御部410は、シリアルリンク601,602の各レーンについて利用可能か否かを判定する。次に、制御部410は、判定結果に基づき、利用不可能なレーンを除外し、利用可能であると判定されたレーンについて物理レーン番号の順に論理レーン番号を設定する。制御部410は、設定した物理レーン番号と論理レーン番号との対応関係を示す設定情報を設定情報記憶部411に記憶させる。また、制御部410は、設定情報記憶部411に記憶させた設定情報が示す論理レーン番号に基づいてシリアルリンク601,602のリンクを確立する処理を実行する。これに従い、通信装置400,500の間でシリアルリンク601,602を用いた通信が行われ、データの送受信が可能になる。制御部410は、通信回路として機能する。
【0065】
設定情報記憶部411は、物理レーン番号と論理レーン番号との対応関係を示す設定情報を記憶する。第3の実施の形態では、設定情報は、利用不可能なレーンを除外し、昇順(または降順)にソートされた物理レーン番号に対して、論理レーン番号が昇順に設定される。
【0066】
シリアルリンク601は、通信装置400から通信装置500へのデータの送信に利用される。シリアルリンク602は、通信装置500から通信装置400へのデータの送信に利用される。シリアルリンク601,602は、それぞれn本の同期されたレーンを有する。また、シリアルリンク601,602のレーンには、それぞれ物理レーン番号が“0”から“n−1”まで設定されている。
【0067】
制御部510は、制御部410と同一の構成であり、説明を省略する。
図11は、第3の実施の形態の設定テーブルを示す図である。図11に示す設定テーブル411aは、通信装置400の設定情報記憶部411に記憶されている。設定テーブル411aは、シリアルリンク601の物理レーン番号と論理レーン番号の対応関係を示す設定情報を記憶するテーブルである。また、シリアルリンク602についても設定情報が設定されるが、設定情報記憶部411の設定テーブル411aと同一の構成であり、説明を省略する。また、通信装置500の設定情報記憶部511にもシリアルリンク601,602の設定情報を記憶する設定テーブルが記憶されるが、設定情報記憶部411の設定テーブル411aと同一の構成であり、説明を省略する。
【0068】
設定テーブル411aには、項目として“フラグ”、“物理レーン番号”、“論理レーン番号”が設けられている。設定テーブル411aにおいて、各項目の横方向に並べられた情報同士が設定情報として互いに関連付けられている。
【0069】
フラグは、各レーンが利用可能であるか否かを示す。一例として、レーンが利用可能であれば、1が設定される。レーンが利用不可能であれば、0が設定される。
物理レーン番号は、シリアルリンク601の各レーンの物理レーン番号を示す。シリアルリンク601の各レーンは、物理レーン番号によって特定してもよい。
【0070】
論理レーン番号は、制御部410によって図13で後述する再構成処理において利用可能な物理レーン番号に対して設定された論理レーン番号を示す。
図12は、第3の実施の形態のレーンの再構成を示す図である。図12(A)は、第3の実施の形態の送信部401および受信部502の間を接続するシリアルリンク601が有するn本のレーンにおいて、物理レーン番号が“0”のレーンおよび“3”のレーンに故障が発生している場合を示す。図12(B)は、第3の実施の形態の送信部401および受信部502の間を接続するシリアルリンク601が有するn本のレーンにおいて、故障している物理レーン番号が“0”のレーンおよび“3”のレーンを除外して論理レーン番号を設定した場合を示す。ここで、物理レーン番号は、シリアルリンク601について利用の可否にかかわらず各レーン601a〜601nに対して配置に基づき設定された番号とする。
【0071】
第3の実施の形態の通信装置400,500は、図12に示すように、通信装置400の送信部401と、通信装置500の受信部502との間でシリアルリンク601のリンクの確立を行う。
【0072】
図12(A)に示すように、シリアルリンク601が有するn本(例えば、16本)のレーンを、レーン601a,601b,601c,601d,601e,・・・,601nとする。ここで、図12(A)では、物理レーン番号が“0”のレーン601aおよび物理レーン番号が“3”のレーン601dが故障により利用不可能になっている。
【0073】
この場合、第3の実施の形態の通信装置400,500では、互いにレーン番号を送受信することにより、シリアルリンク601の各レーン601a〜601nについて利用可能であるか否かを確認する。通信装置400,500は、これによりレーン601a,601dが利用不可能であることおよびレーン601cが利用可能であることを検知する。
【0074】
まず、通信装置400,500は、シリアルリンク601について、レーン601a〜601nのうちの利用可能なレーンを用いて再構成を行う。通信装置400,500は、互いのレーン番号を送受信することで利用可能なレーンを抽出する。次に、通信装置400,500は、利用可能なレーンの抽出結果に基づき、利用可能なレーンに対して物理レーン番号が最小のものから昇順に、論理レーン番号を昇順に設定し、設定結果を示す設定情報を生成する。
【0075】
図12(B)に示すように、第3の実施の形態では、設定情報により、シリアルリンク601のレーン番号と論理レーン番号との対応関係が示される。例えば、図12(A)に示すように物理レーン番号が“2”であるレーン601cには、図12(B)に示すように、レーン601cよりも物理レーン番号が小さいもののうち利用不可能なレーン601aが除外されることで、論理レーン番号として1が設定される。また、物理レーン番号が“4”であるレーン601eには、レーン601eよりも物理レーン番号が小さいもののうち利用不可能なレーン601a,601dが除外されることで、論理レーン番号として2が設定される。また、同様に、物理レーン番号が“(n−1)”であるレーン601nには、他に利用不可能なレーンがなければ、論理レーン番号として“(n−3)”が設定される。次に、通信装置400,500は、設定した論理レーン番号に基づいてシリアルリンク601の各レーンのリンクの確立の処理を実行する。
【0076】
なお、第3の実施の形態では、物理レーン番号が最小のものから昇順に、論理レーン番号を昇順に設定するが、これに限らず、物理レーン番号が大きいものから降順に、論理レーン番号を昇順に設定してもよい。
【0077】
図13は、第3の実施の形態の再構成処理を示すフローチャートである。再構成処理は、通信装置400,500のそれぞれにおいてシリアルリンク601における通信に利用する論理レーン番号を示す設定情報を設定する処理である。ここでは、通信装置400の制御部410においてシリアルリンク601の設定情報の設定の際に実行される処理について説明するが、通信装置500の制御部510においても同様の処理が実行される。以下、図13に示す処理をステップ番号に沿って説明する。
【0078】
[ステップS41]制御部410は、接続処理のステップS11およびステップS12の取得結果に基づき、シリアルリンク601の各レーンのうち、利用可能なレーンの物理レーン番号を取得する。また、制御部410は、設定情報記憶部411に記憶されている設定情報のフラグに、各レーンの利用の可否を設定する。
【0079】
[ステップS42]制御部410は、ステップS41で取得した利用可能なレーンの物理レーン番号を昇順にソートする。
[ステップS43]制御部410は、ステップS42のソート結果に基づき、物理レーン番号が最小のものから昇順に、論理レーン番号を昇順に設定し、設定した論理レーン番号を設定情報に設定する。これにより、設定情報に、利用不可能なレーンが除外され、利用可能なレーンについて論理レーン番号が設定される。その後、処理は接続処理に復帰する。
【0080】
なお、第3の実施の形態では、第2の実施の形態で前述した接続処理において、ステップS16でリンクが確立できるまでステップS25で利用するレーン数を減少させながらループを繰り返す。しかし、これに限らず、ステップS11およびステップS12で利用可能なレーンを取得した後、再構成処理で設定情報を設定し、設定情報に基づいて論理レーン番号を設定し、設定した論理レーン番号でシリアルリンク601,602を設定してもよい。
【0081】
以上に示すように、第3の実施の形態によれば、第2の実施の形態の効果に加えて、利用可能なレーンが連続していない場合にもシリアルリンクを確立できるので、利用するレーン数の減少を抑制できる。これに従い、利用可能なレーンの利用効率の低下を抑制できる。
【0082】
以上、開示の通信装置、通信回路および通信方法を、図示の実施の形態に基づいて説明したが、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の2以上の構成を組み合わせたものであってもよい。
【符号の説明】
【0083】
1,2 通信装置
1a,2a 制御部
3 伝送路
3a,3b,3c,3d,・・・,3n 通信回線
【技術分野】
【0001】
本件は通信装置、通信回路および通信方法に関する。
【背景技術】
【0002】
近年、情報処理システムに関連するデータ伝送では高速化が進められており、シリアル伝送が広く用いられている。また、さらにデータ転送の高速化を図るために、複数のレーンのシリアル伝送路を1つに纏めて1本のリンク(link)として扱うマルチレーン(Multilane)構成も用いられている。
【0003】
また、複数のレーンを用いたデータ転送に関し、以下の技術が知られている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平05−160819号公報
【特許文献2】特開2006−186527号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ここで、シリアル伝送路をマルチレーン構成で用いた場合等のように複数の通信回線を1つの伝送路として利用する場合において、複数の通信回線のうちの一部の通信回線に故障が発生して利用不可能であるときについて考える。このとき、シリアル伝送路全体においてリンクの確立ができずに利用不可能になるとすれば、伝送路の可用性が低下するという問題点がある。
【0006】
本件はこのような点に鑑みてなされたものであり、複数の通信回線のうちの一部の通信回線が利用不可能である場合に、利用可能な通信回線を用いて通信の継続が可能な通信装置、通信回路および通信方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、以下のような複数の通信回線を有する伝送路を用いて通信する通信装置が提供される。開示の通信装置では、制御部は、各通信回線について利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、設定した論理通信回線番号に基づいて伝送路のリンクを確立する処理を実行する。
【0008】
また、上記課題を解決するために、以下のような複数の通信回線を有する伝送路を用いて通信する通信方法が提供される。開示の通信方法では、各通信回線について利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、設定した論理通信回線番号に基づいて伝送路のリンクを確立する。
【発明の効果】
【0009】
開示の通信装置、通信回路および通信方法によれば、複数の通信回線のうちの一部の通信回線が利用不可能である場合に、利用可能な通信回線を用いて通信の継続が可能になる。
【図面の簡単な説明】
【0010】
【図1】第1の実施の形態の通信装置を示す図である。
【図2】第2の実施の形態の通信システムの構成を示す図である。
【図3】第2の実施の形態の送信部を示す図である。
【図4】第2の実施の形態の受信部を示す図である。
【図5】第2の実施の形態の通信装置を示す図である。
【図6】第2の実施の形態のレーンの再構成を示す図である。
【図7】第2の実施の形態の接続処理を示すフローチャートである。
【図8】第2の実施の形態の接続処理を示すフローチャートである。
【図9】第2の実施の形態の再構成処理を示すフローチャートである。
【図10】第3の実施の形態の通信装置を示す図である。
【図11】第3の実施の形態の設定テーブルを示す図である。
【図12】第3の実施の形態のレーンの再構成を示す図である。
【図13】第3の実施の形態の再構成処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施の形態について、図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の通信装置を示す図である。図1に示す通信装置1,2は、伝送路3で接続されているとともに、伝送路3で通信を行い、データを送受信する通信装置である。通信装置1は、制御部1aを有する。通信装置2は、制御部2aを有する。伝送路3は、n本の通信回線3a,3b,3c,・・・,3nを有する。また、通信回線3a〜3nには、それぞれ物理回線番号が0からn−1まで設定されているものとする。また、通信回線3a,3bにおいて故障が発生し、利用が不可能であるものとする。
【0012】
制御部1aは、伝送路3の通信回線3a,3b,3c,・・・,3nについて利用可能か否かを判定する。ここで、制御部1aは、通信回線3a,3bについて故障が発生しており、利用不可能であると判定し、通信回線3c〜3nについて利用可能であると判定したものとする。次に制御部1aは、判定結果に基づき、利用可能であると判定された通信回線3c〜3nのうち通信回線番号が最小または最大の通信回線(ここでは、通信回線3c)から順に論理通信回線番号を設定する。具体的には、制御部1aは、利用が不可能な通信回線3a,3bを除外し、利用可能であって最小の通信回線番号が2である通信回線3cに論理回線番号として0を設定する。また、制御部1aは、利用可能であって通信回線番号が3である通信回線3dに論理回線番号として1を設定し、同様に、利用可能であって通信回線番号がn−1である通信回線3nに論理回線番号としてn−3を設定する。
【0013】
次に、制御部1aは、設定した論理通信回線番号に基づいて伝送路3のリンクを確立する処理を実行する。これに従い、通信装置1,2の間で伝送路3を用いた通信が行われ、データの送受信が可能になる。
【0014】
制御部2aは、制御部1aと同一の構成であり、説明を省略する。
これにより、通信装置1,2を接続する伝送路3が有する複数の通信回線のうちの一部の通信回線が利用不可能である場合に、利用可能な通信回線を用いて伝送路3のリンクを確立する通信の継続が可能になる。
【0015】
なお、第1の実施の形態の通信装置は、PCI(Peripheral Component Interconnect) Expressの通信インタフェースを有する通信装置として実装することが可能である。以下に説明する第2および第3の実施の形態では、PCI Expressを想定した通信装置の例を挙げる。ただし、第1の実施の形態の通信装置は、InfiniBand等の通信インタフェースを有する通信装置として実装することも可能である。また、第1の実施の形態の通信装置は、例えば、PCI ExpressやInfiniBand等の通信インタフェースを有する情報処理装置として実現することも可能である。
【0016】
[第2の実施の形態]
図2は、第2の実施の形態の通信システムの構成を示す図である。第2の実施の形態の通信システムは、通信装置100,200が、それぞれn本(例えば、16本)の同期されたレーンを有するシリアルリンク301,302で接続可能である。第2の実施の形態では、通信装置100の送信部101と、通信装置200の受信部202とがシリアルリンク301で接続されている。また、通信装置100の受信部102と、通信装置200の送信部201とがシリアルリンク302で接続されている。
【0017】
通信装置100は、通信回路100aおよび内部回路100bを有する。通信回路100aは、送信部101、受信部102、上位層処理部103を有する。
送信部101は、通信装置200の受信部202との間のシリアルリンク301の物理コネクションの接続制御や、受信部202に対する光信号の送信等の、OSI参照モデル(Open Systems Interconnection reference model)の物理層における送信処理を行う。なお、送信部101は、光信号の送信処理を行うが、これに限らず、電気信号の送信処理を行ってもよい。
【0018】
受信部102は、通信装置200の送信部201との間のシリアルリンク302の物理コネクションの接続制御や、受信部202から送信された光信号の受信等の物理層における受信処理を行う。なお、受信部102は、光信号の受信処理を行うが、これに限らず、電気信号の受信処理を行ってもよい。
【0019】
上位層処理部103は、OSI参照モデルのデータリンク層以上の送受信処理を行う。また、上位層処理部103は、送信部101および受信部102による通信を制御する。上位層処理部103は、内部回路100bからの送信データを受信すると、送信部101に受信部202に対して送信させる。また、上位層処理部103は、受信部102で受信された送信部201からの受信データを受信すると、内部回路100bに送信する。
【0020】
内部回路100bは、通信装置200との間でデータ通信を行い、送受信されるデータを処理する回路である。内部回路100bは、専用のハードウェアで実現してもよく、マイクロプロセッサおよびメモリならびにソフトウェアで実現してもよい。
【0021】
シリアルリンク301,302の各レーンは、例えば、光信号によりデータを転送するシリアルレーンであるが、これに限らず、電気信号の通信によりデータを転送してもよい。各レーンのデータ転送速度は、一例として4Gbps(Giga bits per second)である。シリアルリンク301が16本のレーンを有する場合には、シリアルリンクのデータ転送速度は、64Gbpsとなる。シリアルリンク301,302のレーンの数は、それぞれ4本もしくは8本またはそれ以外の本数であってもよい。
【0022】
ここで、通信装置200は、送信部201、受信部202および上位層処理部203を有する通信回路200aならびに内部回路200bを有し、通信装置100と同一の構成であるため、説明を省略する。
【0023】
図3は、第2の実施の形態の送信部を示す図である。送信部101は、初期化部101a、符号化部101b、パラレル/シリアル変換部101d、記憶部101fを有する。
初期化部101aは、通信装置200の受信部202と接続するシリアルリンク301のリンク確立前の初期化処理を行い、通信に利用するレーン数やレーンマッピングの決定を行う。通信に利用するレーン数やレーンマッピングを示す情報は、記憶部101fに記憶される。
【0024】
符号化部101bは、図示しないクロック発生部による送信クロックに基づいて、送信部101により通信装置100から通信装置200に送信される送信データを物理的な伝送ビット(bits)列に変換する符号化の処理を行う。
【0025】
パラレル/シリアル変換部101dは、図示しないクロック発生部による送信クロックに基づいて、符号化部101bによって符号化されたデータのパラレル信号をシリアル信号に変換する処理を行う。
【0026】
記憶部101fは、初期化部101aによって決定された通信に利用するレーン数やレーンマッピングを示す情報を記憶する。また、記憶部101fは、レーンを特定する物理レーン番号と、利用可能なレーンについて設定した論理レーン番号との対応関係を示す設定情報を記憶する。
【0027】
図4は、第2の実施の形態の受信部を示す図である。受信部102は、初期化部102a、復号化部102b、レーン間同期部102c、シリアル/パラレル変換部102d、クロック抽出部102e、記憶部102fを有する。
【0028】
初期化部102aは、通信装置200の送信部201と接続するシリアルリンク302のリンク確立前の初期化処理を行い、通信に利用するレーン数やレーンマッピングの決定を行う。通信に利用するレーン数やレーンマッピングを示す情報は、記憶部102fに記憶される。
【0029】
復号化部102bは、通信装置200から通信装置100に送信され、受信部102により受信された受信データの物理的な伝送ビット列を、クロック抽出部102eによって抽出された受信クロック等に基づいてデータに変換する復号化の処理を行う。
【0030】
レーン間同期部102cは、シリアル/パラレル変換部102dによってパラレル信号に変換された、シリアルリンク302が有する各レーンの伝送ビットに含まれる同期信号を抽出して、各レーンのデータの同期を取る処理を行う。
【0031】
シリアル/パラレル変換部102dは、クロック抽出部102eによって抽出された受信クロック等に基づいて、通信装置200から送信されたシリアル信号をパラレル信号に変換する処理を行う。
【0032】
クロック抽出部102eは、通信装置200から送信されたデータ信号から受信クロックを抽出する。
記憶部102fは、初期化部102aによって決定された通信に利用するレーン数やレーンマッピングを示す情報を記憶する。また、記憶部102fは、物理レーンと利用可能なレーンについて再設定した論理レーンとの対応関係を示す設定情報を記憶する。
【0033】
図5は、第2の実施の形態の通信装置を示す図である。図5に示す通信装置100,200は、シリアルリンク301,302で接続されているとともに、シリアルリンク301,302で通信を行い、データを送受信する通信装置である。通信装置100は、制御部110を有する。通信装置200は、制御部210を有する。制御部110は、設定情報記憶部111を有する。制御部210は、設定情報記憶部211を有する。
【0034】
制御部110は、対向する通信装置200との間で論理レーンの対応関係を設定する。具体的には、制御部110は、シリアルリンク301,302の各レーンについて利用可能か否かを判定する。次に、制御部110は、判定結果に基づき、利用可能であると判定されたレーンのうち物理レーン番号が最小または最大のレーンから順に論理レーン番号を設定する。制御部110は、設定した物理レーン番号と論理レーン番号との対応関係を示す設定情報を設定情報記憶部111に記憶させる。また、制御部110は、設定情報記憶部111に記憶させた設定情報が示す論理レーン番号に基づいてシリアルリンク301,302のリンクを確立する処理を実行する。これに従い、通信装置100,200の間でシリアルリンク301,302を用いた通信が行われ、データの送受信が可能になる。制御部110は、通信回路として機能する。
【0035】
設定情報記憶部111は、物理レーン番号と論理レーン番号との対応関係を示す設定情報を記憶する。第2の実施の形態では、設定情報は、物理レーン番号と論理レーン番号との差であるシフト数mによって示される。
【0036】
シリアルリンク301は、通信装置100から通信装置200へのデータの送信に利用される。シリアルリンク302は、通信装置200から通信装置100へのデータの送信に利用される。シリアルリンク301,302は、それぞれn本の同期されたレーンを有する。また、シリアルリンク301,302のレーンには、それぞれ物理レーン番号が“0”から“n−1”まで設定されている。
【0037】
制御部210は、制御部110と同一の構成であり、説明を省略する。
図6は、第2の実施の形態のレーンの再構成を示す図である。図6(A)は、第2の実施の形態の送信部101および受信部202の間を接続するシリアルリンク301が有するn本のレーンにおいて、物理レーン番号が“0”のレーンおよび“1”のレーンに故障が発生している場合を示す。図6(B)は、第2の実施の形態の送信部101および受信部202の間を接続するシリアルリンク301が有するn本のレーンにおいて、故障している物理レーン番号が“0”のレーンおよび“1”のレーンを除外して論理レーン番号を設定した場合を示す。ここで、物理レーン番号は、シリアルリンク301について利用の可否にかかわらず各レーン301a〜301nに対して配置に基づき設定された番号とする。
【0038】
第2の実施の形態の通信装置100,200は、図6に示すように、通信装置100の送信部101と、通信装置200の受信部202との間でシリアルリンク301のリンクの確立を行う。
【0039】
図6(A)に示すように、シリアルリンク301が有するn本(例えば、16本)のレーンを、レーン301a,301b,301c,301d,・・・,301nとする。ここで、図6(A)では、物理レーン番号“0”のレーン301aおよび物理レーン番号“1”のレーン301bが故障により利用不可能になっている。
【0040】
この場合、第2の実施の形態の通信装置100,200では、互いにレーン番号を送受信することにより、シリアルリンク301の各レーン301a〜301nについて利用可能であるか否かを確認する。通信装置100,200は、これによりレーン301a,301bが利用不可能であることおよびレーン301cが利用可能であることを検知する。
【0041】
まず、通信装置100,200は、シリアルリンク301について、レーン301a〜301nのうちの利用可能なレーンを用いて再構成を行う。通信装置100,200は、互いのレーン番号を送受信することで利用可能なレーンを抽出する。次に、通信装置100,200は、利用可能なレーンの抽出結果から物理レーン番号が最小のレーン(例えば、図6(A)では、レーン301c)の物理レーン番号(例えば、2)を取得する。次に、通信装置100,200は、取得した物理レーン番号を、設定情報であるシフト数mに設定する。
【0042】
図6(B)に示すように、第2の実施の形態では、設定情報であるシフト数mにより、シリアルリンク301の物理レーンと論理レーンとの対応関係が示される。すなわち、利用可能なレーンについて、各レーンの物理レーン番号からシフト数m(例えば、2)を減算した結果を論理レーン番号に設定する。例えば、図6(A)に示すように物理レーン番号が“2”であるレーン301cには、図6(B)に示すように論理レーン番号として0が設定される。また、物理レーン番号が“3”であるレーン301dには、論理レーン番号として1が設定される。また、同様に、物理レーン番号が“(n−1)”であるレーン301nには、論理レーン番号として“(n−3)”が設定される。次に、通信装置100,200は、設定した論理レーン番号に基づいてシリアルリンク301の各レーンのリンクの確立の処理を実行する。
【0043】
図7および図8は、第2の実施の形態の接続処理を示すフローチャートである。接続処理は、通信装置100,200のそれぞれにおいてシリアルリンク301,302における通信に利用するレーンを設定し、設定したレーンのリンクを確立する処理である。ここでは、通信装置100の制御部110において、シリアルリンク301のリンクの確立の際に実行される処理について説明するが、通信装置200の制御部210においても、同時に同様の処理が実行される。以下、図7および図8に示す処理をステップ番号に沿って説明する。
【0044】
[ステップS11]制御部110は、シリアルリンク301のその時点のレーンに当該レーンのレーン番号を送信する。ここで、その時点のレーンとは、ステップS21により論理レーン番号が設定されている場合には、論理レーン番号に基づくレーンである。論理レーン番号が設定されていない場合には、接続処理における初期状態のレーン(すなわち、シリアルリンク301のすべてのレーン)である。このとき、通信装置200からも同様に、シリアルリンク301のその時点のレーンによりレーン番号が送信される。
【0045】
[ステップS12]制御部110は、シリアルリンク301の各レーンについて通信装置200から送信されたレーン番号を確認する。ステップS11およびステップS12により、シリアルリンク301の利用可能なレーンを取得できる。
【0046】
[ステップS13]制御部110は、ステップS11で送信したレーン番号と、ステップS12で受信したレーン番号とを比較し、すべてのレーンについて一致したか否かを判定する。一致していれば(ステップS13 YES)、処理はステップS16に進められる。一方、一致していなければ(ステップS13 NO)、処理はステップS14に進められる。
【0047】
[ステップS14]制御部110は、ステップS11で送信した各レーンのレーン番号と、ステップS12で受信した各レーンのレーン番号とを比較し、すべてのレーンについて逆順で一致したか否かを判定する。ここで、逆順で一致とは、通信装置100側のレーン番号を降順で整列するとともに、通信装置200側のレーン番号を昇順で整列して比較した場合に一致することとする。逆順で一致していれば(ステップS14 YES)、処理はステップS15に進められる。一方、逆順でも一致していなければ(ステップS14 NO)、処理はステップS21(図8)に進められる。
【0048】
[ステップS15]制御部110は、通信装置100のレーン番号を逆転して設定する。ここで、通信装置100でレーン番号の逆転を行った場合、通信装置200は、レーン番号の逆転を行わないものとする。また、通信装置200でレーン番号の逆転を行った場合、通信装置100は、レーン番号の逆転を行わないものとする。通信装置100,200でともにレーン番号の逆転を行うと、レーン番号が逆順に設定されてしまうからである。
【0049】
[ステップS16]制御部110は、その時点のレーン番号でシリアルリンク301のリンクの接続を確立する。その後、処理を終了する。
[ステップS21]制御部110は、論理レーン番号を設定する再構成処理を実行する。最初のループでは、シリアルリンク301のすべてのレーンについて再構成処理が実行される。2度目以降のループでは、ステップS25により減少されたレーンについて再構成処理が実行される。第2の実施の形態の再構成処理については、詳しくは図9において後述する。
【0050】
[ステップS22]制御部110は、ステップS21の再構成処理で設定された設定情報に基づく論理レーン番号で、ステップS25で減少させたレーン数のシリアルリンク301を構成できるか否かを判定する。構成できれば(ステップS22 YES)、処理はステップS23に進められる。一方、構成できなければ(ステップS22 NO)、処理はステップS24に進められる。
【0051】
[ステップS23]制御部110は、ステップS21の再構成処理で設定された設定情報に基づく論理レーン番号を設定し、接続処理を継続する。その後、処理はステップS11に進められる。
【0052】
[ステップS24]制御部110は、シリアルリンク301のレーン数が接続処理のループによりステップS25で減少されることで、現在のレーン数が1になっているか否かを判定する。現在のレーン数が1であれば(ステップS24 YES)、処理は終了する。一方、現在のレーン数が2以上であれば(ステップS24 NO)、処理はステップS25に進められる。
【0053】
[ステップS25]制御部110は、シリアルリンク301の各レーンについて利用するレーンの数を1つ減少させる。ここで、制御部110は、物理レーン番号が最大のレーンを除外してレーン数を1つ減少させるが、これに限らず、物理レーン番号が最小のレーンを除外してレーン数を1つ減少させてもよい。その後、処理はステップS11に進められる。
【0054】
なお、第2の実施の形態の接続処理では、シリアルリンク301,302について各レーンについて別個に判定してリンクを確立するが、これに限らず、シリアルリンク301,302のレーンを一体としてあわせて判定し、リンクを確立してもよい。
【0055】
図9は、第2の実施の形態の再構成処理を示すフローチャートである。再構成処理は、通信装置100,200のそれぞれにおいてシリアルリンク301における通信に利用する論理レーン番号を示す設定情報を設定する処理である。ここでは、通信装置100の制御部110においてシリアルリンク301の設定情報の設定の際に実行される処理について説明するが、通信装置200の制御部210においても同様の処理が実行される。以下、図9に示す処理をステップ番号に沿って説明する。
【0056】
[ステップS31]制御部110は、接続処理のステップS11およびステップS12の取得結果に基づき、シリアルリンク301の各レーンのうち、利用可能なレーンの物理レーン番号を取得する。
【0057】
[ステップS32]制御部110は、ステップS31で取得した利用可能なレーンの物理レーン番号のうち最小値を選択する。
[ステップS33]制御部110は、ステップS32で選択した最小値をシフト数mとして設定情報に設定する。その後、処理は接続処理に復帰する。
【0058】
なお、第2の実施の形態では、接続処理において、ステップS16でリンクが確立できるまでステップS25で利用するレーン数を減少させながらループを繰り返す。しかし、これに限らず、ステップS11およびステップS12で利用可能なレーンを取得した後、再構成処理で設定情報を設定し、設定情報に基づいて利用するレーン数を決定してもよい。そして、設定情報および決定したレーン数に基づいて論理レーン番号を設定し、設定した論理レーン番号でシリアルリンク301,302を設定してもよい。
【0059】
以上に示すように、第2の実施の形態によれば、シリアルリンクのレーンが故障等により利用不可能である場合、利用不可能であるレーンの位置にかかわらず、利用可能なレーンを利用してシリアルリンクを確立することができる。
【0060】
また、シリアルリンクを長距離の回線に適用した場合等、レーンの故障率が低減できない場合にも、利用可能なレーンを有効に活用して通信容量の低減を抑制してシリアルリンクの確立が可能になる。
【0061】
また、設定情報により物理レーン番号と論理レーン番号との対応関係を特定して複数のシリアルリンクにそれぞれ論理レーン番号を付し、各レーンを同期してデータの送受信を行うので、マルチレーン構成にも適用可能である。
【0062】
[第3の実施の形態]
次に、第3の実施の形態について説明する。上記の第2の実施の形態との相違点を中心に説明し、同様の事項については同一の符号を用いると共に説明を省略する。
【0063】
第3の実施の形態では、利用可能なレーンに対して順番に論理レーン番号を設定し、シリアルリンクを確立する。
図10は、第3の実施の形態の通信装置を示す図である。図10に示す通信装置400,500は、シリアルリンク601,602で接続されているとともに、シリアルリンク601,602で通信を行い、データを送受信する通信装置である。通信装置400は、制御部410を有する。通信装置500は、制御部510を有する。制御部410は、設定情報記憶部411を有する。制御部510は、設定情報記憶部511を有する。
【0064】
制御部410は、対向する通信装置500との間で論理レーンの対応関係を設定する。具体的には、制御部410は、シリアルリンク601,602の各レーンについて利用可能か否かを判定する。次に、制御部410は、判定結果に基づき、利用不可能なレーンを除外し、利用可能であると判定されたレーンについて物理レーン番号の順に論理レーン番号を設定する。制御部410は、設定した物理レーン番号と論理レーン番号との対応関係を示す設定情報を設定情報記憶部411に記憶させる。また、制御部410は、設定情報記憶部411に記憶させた設定情報が示す論理レーン番号に基づいてシリアルリンク601,602のリンクを確立する処理を実行する。これに従い、通信装置400,500の間でシリアルリンク601,602を用いた通信が行われ、データの送受信が可能になる。制御部410は、通信回路として機能する。
【0065】
設定情報記憶部411は、物理レーン番号と論理レーン番号との対応関係を示す設定情報を記憶する。第3の実施の形態では、設定情報は、利用不可能なレーンを除外し、昇順(または降順)にソートされた物理レーン番号に対して、論理レーン番号が昇順に設定される。
【0066】
シリアルリンク601は、通信装置400から通信装置500へのデータの送信に利用される。シリアルリンク602は、通信装置500から通信装置400へのデータの送信に利用される。シリアルリンク601,602は、それぞれn本の同期されたレーンを有する。また、シリアルリンク601,602のレーンには、それぞれ物理レーン番号が“0”から“n−1”まで設定されている。
【0067】
制御部510は、制御部410と同一の構成であり、説明を省略する。
図11は、第3の実施の形態の設定テーブルを示す図である。図11に示す設定テーブル411aは、通信装置400の設定情報記憶部411に記憶されている。設定テーブル411aは、シリアルリンク601の物理レーン番号と論理レーン番号の対応関係を示す設定情報を記憶するテーブルである。また、シリアルリンク602についても設定情報が設定されるが、設定情報記憶部411の設定テーブル411aと同一の構成であり、説明を省略する。また、通信装置500の設定情報記憶部511にもシリアルリンク601,602の設定情報を記憶する設定テーブルが記憶されるが、設定情報記憶部411の設定テーブル411aと同一の構成であり、説明を省略する。
【0068】
設定テーブル411aには、項目として“フラグ”、“物理レーン番号”、“論理レーン番号”が設けられている。設定テーブル411aにおいて、各項目の横方向に並べられた情報同士が設定情報として互いに関連付けられている。
【0069】
フラグは、各レーンが利用可能であるか否かを示す。一例として、レーンが利用可能であれば、1が設定される。レーンが利用不可能であれば、0が設定される。
物理レーン番号は、シリアルリンク601の各レーンの物理レーン番号を示す。シリアルリンク601の各レーンは、物理レーン番号によって特定してもよい。
【0070】
論理レーン番号は、制御部410によって図13で後述する再構成処理において利用可能な物理レーン番号に対して設定された論理レーン番号を示す。
図12は、第3の実施の形態のレーンの再構成を示す図である。図12(A)は、第3の実施の形態の送信部401および受信部502の間を接続するシリアルリンク601が有するn本のレーンにおいて、物理レーン番号が“0”のレーンおよび“3”のレーンに故障が発生している場合を示す。図12(B)は、第3の実施の形態の送信部401および受信部502の間を接続するシリアルリンク601が有するn本のレーンにおいて、故障している物理レーン番号が“0”のレーンおよび“3”のレーンを除外して論理レーン番号を設定した場合を示す。ここで、物理レーン番号は、シリアルリンク601について利用の可否にかかわらず各レーン601a〜601nに対して配置に基づき設定された番号とする。
【0071】
第3の実施の形態の通信装置400,500は、図12に示すように、通信装置400の送信部401と、通信装置500の受信部502との間でシリアルリンク601のリンクの確立を行う。
【0072】
図12(A)に示すように、シリアルリンク601が有するn本(例えば、16本)のレーンを、レーン601a,601b,601c,601d,601e,・・・,601nとする。ここで、図12(A)では、物理レーン番号が“0”のレーン601aおよび物理レーン番号が“3”のレーン601dが故障により利用不可能になっている。
【0073】
この場合、第3の実施の形態の通信装置400,500では、互いにレーン番号を送受信することにより、シリアルリンク601の各レーン601a〜601nについて利用可能であるか否かを確認する。通信装置400,500は、これによりレーン601a,601dが利用不可能であることおよびレーン601cが利用可能であることを検知する。
【0074】
まず、通信装置400,500は、シリアルリンク601について、レーン601a〜601nのうちの利用可能なレーンを用いて再構成を行う。通信装置400,500は、互いのレーン番号を送受信することで利用可能なレーンを抽出する。次に、通信装置400,500は、利用可能なレーンの抽出結果に基づき、利用可能なレーンに対して物理レーン番号が最小のものから昇順に、論理レーン番号を昇順に設定し、設定結果を示す設定情報を生成する。
【0075】
図12(B)に示すように、第3の実施の形態では、設定情報により、シリアルリンク601のレーン番号と論理レーン番号との対応関係が示される。例えば、図12(A)に示すように物理レーン番号が“2”であるレーン601cには、図12(B)に示すように、レーン601cよりも物理レーン番号が小さいもののうち利用不可能なレーン601aが除外されることで、論理レーン番号として1が設定される。また、物理レーン番号が“4”であるレーン601eには、レーン601eよりも物理レーン番号が小さいもののうち利用不可能なレーン601a,601dが除外されることで、論理レーン番号として2が設定される。また、同様に、物理レーン番号が“(n−1)”であるレーン601nには、他に利用不可能なレーンがなければ、論理レーン番号として“(n−3)”が設定される。次に、通信装置400,500は、設定した論理レーン番号に基づいてシリアルリンク601の各レーンのリンクの確立の処理を実行する。
【0076】
なお、第3の実施の形態では、物理レーン番号が最小のものから昇順に、論理レーン番号を昇順に設定するが、これに限らず、物理レーン番号が大きいものから降順に、論理レーン番号を昇順に設定してもよい。
【0077】
図13は、第3の実施の形態の再構成処理を示すフローチャートである。再構成処理は、通信装置400,500のそれぞれにおいてシリアルリンク601における通信に利用する論理レーン番号を示す設定情報を設定する処理である。ここでは、通信装置400の制御部410においてシリアルリンク601の設定情報の設定の際に実行される処理について説明するが、通信装置500の制御部510においても同様の処理が実行される。以下、図13に示す処理をステップ番号に沿って説明する。
【0078】
[ステップS41]制御部410は、接続処理のステップS11およびステップS12の取得結果に基づき、シリアルリンク601の各レーンのうち、利用可能なレーンの物理レーン番号を取得する。また、制御部410は、設定情報記憶部411に記憶されている設定情報のフラグに、各レーンの利用の可否を設定する。
【0079】
[ステップS42]制御部410は、ステップS41で取得した利用可能なレーンの物理レーン番号を昇順にソートする。
[ステップS43]制御部410は、ステップS42のソート結果に基づき、物理レーン番号が最小のものから昇順に、論理レーン番号を昇順に設定し、設定した論理レーン番号を設定情報に設定する。これにより、設定情報に、利用不可能なレーンが除外され、利用可能なレーンについて論理レーン番号が設定される。その後、処理は接続処理に復帰する。
【0080】
なお、第3の実施の形態では、第2の実施の形態で前述した接続処理において、ステップS16でリンクが確立できるまでステップS25で利用するレーン数を減少させながらループを繰り返す。しかし、これに限らず、ステップS11およびステップS12で利用可能なレーンを取得した後、再構成処理で設定情報を設定し、設定情報に基づいて論理レーン番号を設定し、設定した論理レーン番号でシリアルリンク601,602を設定してもよい。
【0081】
以上に示すように、第3の実施の形態によれば、第2の実施の形態の効果に加えて、利用可能なレーンが連続していない場合にもシリアルリンクを確立できるので、利用するレーン数の減少を抑制できる。これに従い、利用可能なレーンの利用効率の低下を抑制できる。
【0082】
以上、開示の通信装置、通信回路および通信方法を、図示の実施の形態に基づいて説明したが、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、開示の技術に他の任意の構成物や工程が付加されてもよい。また、開示の技術は前述した実施の形態のうちの任意の2以上の構成を組み合わせたものであってもよい。
【符号の説明】
【0083】
1,2 通信装置
1a,2a 制御部
3 伝送路
3a,3b,3c,3d,・・・,3n 通信回線
【特許請求の範囲】
【請求項1】
複数の通信回線を有する伝送路を用いて通信する通信装置であって、
各通信回線について利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、前記設定した論理通信回線番号に基づいて伝送路のリンクを確立する処理を実行する制御部を有することを特徴とする通信装置。
【請求項2】
前記制御部は、
前記判定結果に基づき、前記利用可能であると判定された通信回線について通信回線番号の順に論理通信回線番号を設定し、
前記設定した論理通信回線番号に基づいて前記伝送路のリンクを確立する処理を実行する、
ことを特徴とする請求項1記載の通信装置。
【請求項3】
前記制御部は、
前記通信回線番号と、前記論理通信回線番号との対応関係を示す設定情報を記憶する設定情報記憶部を有し、
対向装置との間で前記対応関係を設定するとともに前記対応関係を示す設定情報を前記設定情報記憶部に記憶させ、
前記設定情報が示す論理通信回線番号に基づいて前記伝送路のリンクを確立する、
ことを特徴とする請求項1記載の通信装置。
【請求項4】
複数の通信回線を有する伝送路を用いて通信する通信回路であって、
各通信回線について利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、前記設定した論理通信回線番号に基づいて伝送路のリンクを確立する処理を実行する制御部を有することを特徴とする通信回路。
【請求項5】
複数の通信回線を有する伝送路を用いて通信する通信方法であって、
各通信回線について利用可能か否かを判定し、
判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、
前記設定した論理通信回線番号に基づいて伝送路のリンクを確立する、
ことを特徴とする通信方法。
【請求項1】
複数の通信回線を有する伝送路を用いて通信する通信装置であって、
各通信回線について利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、前記設定した論理通信回線番号に基づいて伝送路のリンクを確立する処理を実行する制御部を有することを特徴とする通信装置。
【請求項2】
前記制御部は、
前記判定結果に基づき、前記利用可能であると判定された通信回線について通信回線番号の順に論理通信回線番号を設定し、
前記設定した論理通信回線番号に基づいて前記伝送路のリンクを確立する処理を実行する、
ことを特徴とする請求項1記載の通信装置。
【請求項3】
前記制御部は、
前記通信回線番号と、前記論理通信回線番号との対応関係を示す設定情報を記憶する設定情報記憶部を有し、
対向装置との間で前記対応関係を設定するとともに前記対応関係を示す設定情報を前記設定情報記憶部に記憶させ、
前記設定情報が示す論理通信回線番号に基づいて前記伝送路のリンクを確立する、
ことを特徴とする請求項1記載の通信装置。
【請求項4】
複数の通信回線を有する伝送路を用いて通信する通信回路であって、
各通信回線について利用可能か否かを判定し、判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、前記設定した論理通信回線番号に基づいて伝送路のリンクを確立する処理を実行する制御部を有することを特徴とする通信回路。
【請求項5】
複数の通信回線を有する伝送路を用いて通信する通信方法であって、
各通信回線について利用可能か否かを判定し、
判定結果に基づき、利用可能であると判定された通信回線のうち通信回線番号が最小または最大の通信回線から順に論理通信回線番号を設定し、
前記設定した論理通信回線番号に基づいて伝送路のリンクを確立する、
ことを特徴とする通信方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−12879(P2013−12879A)
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願番号】特願2011−143863(P2011−143863)
【出願日】平成23年6月29日(2011.6.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成25年1月17日(2013.1.17)
【国際特許分類】
【出願日】平成23年6月29日(2011.6.29)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]