(57)【特許請求の範囲】
【請求項１】
複数の物理リンクを通じて他の装置と通信するインタフェース部と、
前記複数の物理リンクのそれぞれにおける信号伝送特性の設定パラメータを、前記他の装置とのネゴシエーションにより決定し、前記複数の物理リンクにそれぞれ対応する複数の決定値を出力する設定部と、
前記複数の決定値のうちの最大値と最小値との差が所定の最大誤差以下であるかにより、前記複数の決定値のそれぞれの正否を判定する判定部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記ネゴシエーションでは、前記設定部は、前記複数の物理リンク毎の前記設定パラメータとして互いに異なる初期値が設定された状態から、前記複数の物理リンクのそれぞれに対応する前記設定パラメータの値を変更していき、前記複数の物理リンクのそれぞれについて、前記他の装置からネゴシエーション終了通知を受けたときの前記設定パラメータの値を、前記複数の決定値のうちの対応する決定値として出力することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記判定部は、前記設定部による１回目の前記ネゴシエーションの結果、前記複数の決定値のうちの最大値と最小値との差が前記最大誤差以下でなかった場合、前記複数の決定値の中から、最大値と最小値との差が前記最大誤差以下になるように決定値群を選択し、前記複数の物理リンクのうち、前記決定値群に対応する物理リンクを除く他の物理リンクについて、２回目の前記ネゴシエーションを前記設定部に実行させることを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記判定部は、前記他の物理リンクについて、１回目の前記ネゴシエーションの開始時に前記初期値として設定した値とは異なる値を前記設定パラメータとして設定した状態から、２回目の前記ネゴシエーションを前記設定部に実行させることを特徴とする請求項３記載の情報処理装置。
【請求項５】
前記判定部は、前記複数の物理リンクのそれぞれについて、前記初期値をその都度変更しながら前記ネゴシエーションを前記設定部に複数回実行させ、前記複数の物理リンクのそれぞれについて複数個得られた前記設定パラメータの決定値に基づいて、前記他の装置へのデータ送信時における前記各設定パラメータの値を決定することを特徴とする請求項２記載の情報処理装置。
【請求項６】
前記インタフェース部は、前記複数の物理リンクのそれぞれについて、前記他の装置にデータを送信する送信部と前記他の装置からデータを受信する受信部とを有し、
前記設定部は、前記複数の物理リンクのうち一の物理リンクで通信異常が発生したとき、前記送信部のうち前記一の物理リンクに対応する一の送信部の出力と、前記受信部のうち前記一の物理リンクに対応する一の受信部の入力とを接続した状態で信号伝送テストを実行し、前記信号伝送テストによって前記一の物理リンクに対応する前記設定パラメータの設定値を決定し、
前記判定部は、前記設定値が所定の正常範囲に含まれるかを示す判定結果に基づいて、前記インタフェース部が異常発生箇所か否かを判定する、
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記判定部は、前記一の物理リンクで通信異常が発生したとき、前記他の装置において前記一の物理リンクに接続する他の送信部および他の受信部について決定された前記設定パラメータの他の設定値を受信し、
前記他の設定値は、前記他の送信部の出力と前記他の受信部の入力とを接続した状態で実行される他の信号伝送テストに基づいて決定され、
前記判定部は、前記設定値が前記正常範囲に含まれるかを示す判定結果と、前記他の設定値が所定の他の正常範囲に含まれるかを示す判定結果とに基づいて、前記インタフェース部、前記他の送信部と前記他の受信部とを含む回路、および、前記インタフェース部と前記回路との間の伝送路のどれが異常発生箇所かを判定する、
請求項６記載の情報処理装置。
【請求項８】
前記設定部は、前記インタフェース部による前記他の装置との通信を開始する前に、前記複数の物理リンクのそれぞれについて、前記送信部の出力と前記受信部の入力とを接続した状態で初期信号伝送テストを実行し、前記初期信号伝送テストによって前記複数の物理リンクのそれぞれに対応する前記設定パラメータの初期設定値を決定し、
前記判定部は、前記複数の物理リンクにそれぞれ対応する前記初期設定値が含まれる一定幅の範囲を前記正常範囲に決定する、
ことを特徴とする請求項６または７記載の情報処理装置。
【請求項９】
前記信号伝送テストでは、前記一の送信部から前記一の受信部へテスト信号が送信され、前記一の受信部での前記テスト信号の受信状態を示す指標と所定の基準との比較に基づいて前記設定値が決定されることを特徴とする請求項６乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
記憶装置と、
複数の物理リンクを通じて前記記憶装置と通信するインタフェース部、
前記複数の物理リンクのそれぞれにおける信号伝送特性の設定パラメータを、前記記憶装置とのネゴシエーションにより決定し、前記複数の物理リンクにそれぞれ対応する複数の決定値を出力する設定部、および、
前記複数の決定値のうちの最大値と最小値との差が所定の最大誤差以下であるかにより、前記複数の決定値のそれぞれの正否を判定する判定部、
を備える制御装置と、
を有することを特徴とするストレージシステム。
【請求項１１】
コンピュータに、
前記コンピュータに搭載されて複数の物理リンクを通じて他の装置と通信するインタフェース部に、前記複数の物理リンクのそれぞれにおける信号伝送特性の設定パラメータを前記他の装置とのネゴシエーションにより決定する決定処理を実行するように指示し、
前記決定処理によって前記複数の物理リンクのそれぞれについて決定された複数の決定値を取得し、
前記複数の決定値のうちの最大値と最小値との差が所定の最大誤差以下であるかにより、前記複数の決定値のそれぞれの正否を判定する、
処理を実行させることを特徴とする通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ストレージシステムおよび通信制御プログラムに関する。
【背景技術】
【０００２】
情報処理装置の内部や、情報処理装置と周辺機器との間では、信号を高速に転送するためにシリアル伝送が行われることが多くなっている。このような高速シリアル伝送の代表的な規格としては、ＰＣＩ  Ｅｘｐｒｅｓｓ（Peripheral Component Interconnect Express。以下、“ＰＣＩｅ”と略称する）、ＳＡＳ（Serial Attached ＳＣＳＩ，ＳＣＳＩ：Small Computer System Interface）がある。
【０００３】
これらの高速シリアル伝送のインタフェース回路は、接続開始時に設定最適化のためのトレーニングシーケンスを実行する。例えば、ＳＡＳ規格では、トレーニング用のテスト信号パターンや、パラメータの設定値の増減を相手側に要求するためのメッセージが規定されている。
【０００４】
また、パラメータを最適化するための技術には次のようなものがある。例えば、ＨＤＤ（Hard Disk Drive）搭載位置情報及びＨＤＤ識別情報を伝送最適化パラメータテーブルに照合することにより、データ伝送パラメータを決定することで、ＨＤＤごとに最適な伝送機能を設定する技術が提案されている。
【０００５】
また、複雑な動作モードを有するデータ通信装置に高速シリアルバスを適用した時であっても、データ転送にかかるパラメータの最適化を図るために、高速シリアルバスにより接続されたデータ通信装置間に存在する各トラフィックの転送レートが予め設定された目標値になるように、各トラフィックにおけるデータ転送にかかるパラメータ（例えば、パケットサイズ等）を調整する技術が提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２２１２７１号公報
【特許文献２】特開２００８−０２１０２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
送信側のＳＡＳインタフェースは、上記のようなパラメータの設定値の増減を要求するためのメッセージを受信側から受け取ることにより、信号伝送特性の設定パラメータを受信側とネゴシエーションすることで最適化することができる。しかし、伝送路の長さ等の条件によっては、ネゴシエーションによって決定された設定値が最適とは言えない場合があり、ネゴシエーションによって決定された設定値を用いた場合でも通信異常が発生することがある。また、ＰＣＩｅインタフェースでも同様の問題が生じることがある。
【０００８】
１つの側面では、本発明は、通信の安定性を向上させた情報処理装置、ストレージシステムおよび通信制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、情報処理装置が提供される。この情報処理装置は、インタフェース部、設定部および判定部を有する。インタフェース部は、複数の物理リンクを通じて他の装置と通信する。設定部は、複数の物理リンクのそれぞれにおける信号伝送特性の設定パラメータを、他の装置とのネゴシエーションにより決定し、複数の物理リンクにそれぞれ対応する複数の決定値を出力する。判定部は、複数の決定値のうちの最大値と最小値との差が所定範囲内に収まるかにより、複数の決定値のそれぞれの正否を判定する。
【００１０】
また、１つの案では、上記の情報処理装置と同様の機能を有する制御装置と、記憶装置とを含むストレージシステムが提供される。
さらに、１つの案では、通信制御プログラムが提供される。この通信制御プログラムは、コンピュータに、コンピュータに搭載されて複数の物理リンクを通じて他の装置と通信するインタフェース部に、複数の物理リンクのそれぞれにおける信号伝送特性の設定パラメータを他の装置とのネゴシエーションにより決定する決定処理を実行するように指示し、決定処理によって複数の物理リンクのそれぞれについて決定された複数の決定値を取得し、複数の決定値のうちの最大値と最小値との差が所定範囲内に収まるかにより、複数の決定値のそれぞれの正否を判定する、処理を実行させる。
【発明の効果】
【００１１】
１つの側面では、通信の安定性が向上する。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態の情報処理装置の構成例および処理例を示す図である。
【図２】第２の実施の形態のストレージシステムの例を示す図である。
【図３】ストレージシステム内のＣＭのハードウェア構成例を示す図である。
【図４】ＤＥのハードウェア構成例を示す図である。
【図５】ＳＡＳコントローラの主な構成要素と接続形態の例を示す図である。
【図６】ＳＡＳコントローラ内の送受信部のハードウェア構成例を示す図である。
【図７】Ｒｘイコライザの内部構成例を示す図である。
【図８】ネゴシエーションのシーケンス例を示す図である。
【図９】メッセージリストの例を示す図である。
【図１０】第２の実施の形態のＣＭの機能例を示すブロック図である。
【図１１】Ｔｘパラメータテーブルの例を示す図である。
【図１２】Ｔｘパラメータ群の設定のばらつきの例を示す図である。
【図１３】適切なＴｘパラメータ群の例を示す図である。
【図１４】不適切なＴｘパラメータ群を含む例を示す図である。
【図１５】初期Ｔｘパラメータ群の設定例を示す図である。
【図１６】パラメータ群を設定する処理の例を示すフローチャートである。
【図１７】ネゴシエーションの処理の例を示すフローチャートである。
【図１８】第３の実施の形態におけるＴｘパラメータ群の判定例を示す図である。
【図１９】第３の実施の形態におけるＴｘパラメータ群の設定処理例を示すフローチャートである。
【図２０】第４の実施の形態の送受信部のハードウェア構成例を示す図である。
【図２１】第４の実施の形態のＣＭの機能例を示すブロック図である。
【図２２】Ｔｘトレーニングテーブルの例を示す図である。
【図２３】Ｔｘ許容範囲テーブルの例を示す図である。
【図２４】ループバックトレーニングの例（その１）を示すフローチャートである。
【図２５】ループバックトレーニングの例（その２）を示すフローチャートである。
【図２６】ＤＥのＳＡＳコントローラにおけるネゴシエーション処理の例を示すフローチャートである。
【図２７】ループバック状態でのネゴシエーションの処理の例を示すフローチャートである。
【図２８】異常箇所を特定する処理の例（その１）を示すフローチャートである。
【図２９】異常箇所を特定する処理の例（その２）を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本実施の形態について図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理装置の構成例および処理例を示す図である。図１に示す情報処理装置１０には、通信相手の装置の例として周辺機器２０が接続されている。情報処理装置１０は、複数の物理リンクＬＮ１〜ＬＮ４を通じて周辺機器２０と通信する。例えば、情報処理装置１０は、物理リンクＬＮ１〜ＬＮ４をまとめて１つの論理的な通信ポートとして用いて通信する。このような接続形態は、情報処理装置１０と周辺機器２０との間でＰＣＩｅにより通信が行われる場合、マルチレーンに対応し、ＳＡＳにより通信が行われる場合、ワイドポートに対応する。
【００１４】
情報処理装置１０は、インタフェース部１１、設定部１２および判定部１３を有する。
インタフェース部１１は、物理リンクＬＮ１〜ＬＮ４を通じて周辺機器２０と通信する。また、インタフェース部１１は、物理リンクＬＮ１〜ＬＮ４のそれぞれについて、信号伝送特性を調整する。インタフェース部１１では、例えば、プリエンファシス、プリシュート等の調整が行われる。
【００１５】
設定部１２は、インタフェース部１１での物理リンク毎の信号伝送特性を調整するための設定パラメータを、周辺機器２０のインタフェース部２１とのネゴシエーションにより決定する。例えば、設定部１２は、物理リンク毎に、インタフェース部１１の設定パラメータを変化させながら、インタフェース部１１に対応する物理リンクを通じてテスト信号を送信させる。そして、設定部１２は、周辺機器２０のインタフェース部２１からネゴシエーション終了通知を受けたときの設定パラメータを最適値と決定する。
【００１６】
判定部１３は、設定部１２により物理リンク毎に決定された設定パラメータの決定値のうちの最大値と最小値との差が所定の許容範囲Ｒ内に収まるかにより、各決定値の正否を判定する。
【００１７】
例えば、図１の左上に示すパターン１では、物理リンクＬＮ１〜ＬＮ４のそれぞれについての設定パラメータの決定値のうち、最大値と最小値との差が、許容範囲Ｒの中に収まっている。この場合、判定部１３は、物理リンクＬＮ１〜ＬＮ４のすべてに対応する設定パラメータの決定値が正しいと判定し、これらの決定値が設定パラメータとしてインタフェース部１１に設定された状態で、通信を開始させる。
【００１８】
一方、図１の右上に示すパターン２では、物理リンクＬＮ１〜ＬＮ４のそれぞれについての設定パラメータの決定値のうち、最大値と最小値との差が、許容範囲Ｒの中に収まっていない。この場合、判定部１３は、例えば、各決定値の中から、許容範囲Ｒの中に収まっている決定値を除いた残りの決定値に対応する物理リンクについて、設定部１２に再度ネゴシエーションを実行させる。
【００１９】
図１の例では、物理リンクＬＮ４について再度ネゴシエーションを実行させる。その結果、再ネゴシエーションにより決定された物理リンクＬＮ４に対応する決定値と、１回目のネゴシエーションにより決定された物理リンクＬＮ１〜ＬＮ３に対応する決定値の全体について、最大値と最小値との差が許容範囲Ｒに収まっていれば、判定部１３は、これらの決定値が設定パラメータとしてインタフェース部１１に設定された状態で、通信を開始させる。しかし、例えば、再ネゴシエーションの後でも、すべての決定値の最大値と最小値との差が許容範囲Ｒに収まっていない場合には、判定部１３は、許容範囲Ｒに収まっている決定値に対応する物理リンクのみを有効にし、その他の物理リンクを切り離して通信を開始させる。
【００２０】
ここで、ネゴシエーションの処理手順は、あらゆる場合を想定して決定されている訳ではない。このため、物理リンク毎にネゴシエーションにより決定される設定パラメータは、条件によっては必ずしも最適値にならない場合がある。
【００２１】
例えば、信号伝送特性の設定が適切かを判定するインタフェース部２１のベンダが予め想定している伝送路の仕様と、実際の伝送路の仕様とが異なる場合がある。このような伝送路の仕様としては、伝送路の距離が考えられる。特に、図１の例のように、情報処理装置１０が外部の周辺機器２０と通信する構成では、インタフェース部２１のベンダが想定している伝送路の距離より、実際の伝送路の距離が長い場合がある。
【００２２】
また、情報処理装置１０側の通信インタフェースのベンダと、周辺機器２０の通信インタフェースのベンダとが異なる場合もある。さらに、通信インタフェース内のデバイスの故障や、基板上の伝送路の特性異常が発生している場合もあり得る。
【００２３】
これに対し、図１のように複数の物理リンクＬＮ１〜ＬＮ４を通じて通信する構成では、物理リンク間での伝送路特性の差異は小さいと考えられる。このため、物理リンク間での設定パラメータの最適値は、互いに近い値であると考えられる。
【００２４】
この点を利用して、判定部１３は、ネゴシエーションにより物理リンク毎に決定された設定パラメータの決定値のうちの最大値と最小値との差が許容範囲Ｒ内かにより、各決定値の正否を判定する。このような判定処理によって正しいと判定された設定パラメータを用いて通信が行われることで、上記の理由による通信異常の発生確率が低減され、通信の安定性が向上する。
【００２５】
［第２の実施の形態］
図２は、第２の実施の形態のストレージシステムの例を示す図である。
図２に示すストレージシステム１００は、ストレージ装置として複数のＨＤＤを備える。ストレージシステム１００内のＤＥ（Drive Enclosure）２１０には、ストレージ装置を構成する複数のＨＤＤが格納されている。また、ストレージシステム１００は、ＤＥ２１０内のＨＤＤに対するアクセスを制御する２つのＣＭ（Controller Module）３００ａ，３００ｂを備えている。なお、ＤＥ２１０は、例えば、ストレージシステム１００の外部に設けられていてもよい。また、ストレージ装置を構成するストレージデバイスとしては、ＨＤＤに限らず、例えばＳＳＤ（Solid State Drive）等の他の種類のストレージ装置が使用されてもよい。
【００２６】
ストレージシステム１００には、ホスト装置１２０が接続されている。ホスト装置１２０は、ユーザの操作に応じて、ストレージシステム１００内のＣＭ３００ａまたはＣＭ３００ｂに対して、ＤＥ２１０内のＨＤＤへのアクセスを要求する。
【００２７】
ＣＭ３００ａ，３００ｂは、それぞれ、ホスト装置１２０からのアクセス要求に応じてＤＥ２１０内のＨＤＤへのアクセスを制御するストレージ制御装置である。例えば、ＣＭ３００ａ，３００ｂは、それぞれ、ＤＥ２１０内のＨＤＤに記憶されたデータの読み出し要求をホスト装置１２０から受け付けると、読み出しを要求されたデータをＤＥ２１０内のＨＤＤから読み出し、ホスト装置１２０に送信する。あるいは、ＣＭ３００ａ，３００ｂは、それぞれ、ＤＥ２１０内のＨＤＤへのデータの書き込み要求をホスト装置１２０から受け付けると、書き込みを要求されたデータをＤＥ２１０内のＨＤＤに書き込む。
【００２８】
管理端末１３０は、ＣＭ３００ａ，３００ｂと接続されている。管理端末１３０は、管理者が利用するクライアントコンピュータである。例えば、管理者は、管理端末１３０を用いて、ストレージシステム１００が正常に動作しているか否かを確認する。
【００２９】
図３は、ストレージシステム内のＣＭのハードウェア構成例を示す図である。ＣＭ３００ａは、ＣＰＵ（Central Processing Unit）３０１ａ、ＲＡＭ（Random Access Memory）３０２ａ、ＰＣＩｅスイッチ３０３ａ、ＣＡ（Channel Adapter）３０４ａ，ＩＯＣ（In/Out Controller）３０５ａ、ＳＡＳエクスパンダ３０６ａ、ＰＣＨ（Platform Controller Hub）３０７ａ、ＳＳＤ３０８ａおよび読み取り装置３０９ａを有する。
【００３０】
また、ＣＭ３００ｂは、ＣＭ３００ａと同じハードウェア構成によって実現される。すなわち、ＣＭ３００ｂ内のＣＰＵ３０１ｂ、ＲＡＭ３０２ｂ、ＰＣＩｅスイッチ３０３ｂ、ＣＡ３０４ｂ、ＩＯＣ３０５ｂ、ＳＡＳエクスパンダ３０６ｂ、ＰＣＨ３０７ｂ、ＳＳＤ３０８ｂおよび読み取り装置３０９ｂは、ＣＭ３００ａ内のＣＰＵ３０１ａ、ＲＡＭ３０２ａ、ＰＣＩｅスイッチ３０３ａ、ＣＡ３０４ａ、ＩＯＣ３０５ａ、ＳＡＳエクスパンダ３０６ａ、ＰＣＨ３０７ａ、ＳＳＤ３０８ａおよび読み取り装置３０９ａにそれぞれ対応する。そこで、ここでは基本的に、ＣＭ３００ａのハードウェア構成について説明し、ＣＭ３００ｂのハードウェア構成の説明については省略する。
【００３１】
ＣＰＵ３０１ａは、ＣＭ３００ａ全体を統括的に制御する。ＲＡＭ３０２ａは、ＣＭ３００ａの主記憶装置として使用され、ＣＰＵ３０１ａに実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。また、ＲＡＭ３０２ａは、ＤＥ２１０内のＨＤＤに記憶されたデータのキャッシュ領域としても使用される。
【００３２】
ＰＣＩｅスイッチ３０３ａは、ＰＣＩｅバスを介してＣＰＵ３０１ａと接続されている。また、ＰＣＩｅスイッチ３０３ａは、ＰＣＩｅケーブルを介して、他方のＣＭ３００ｂ内のＰＣＩｅスイッチ３０３ｂと接続されている。
【００３３】
ここで、ＣＭ３００ａのＣＰＵ３０１ａと、ＣＭ３００ｂのＣＰＵ３０１ｂとは、ＰＣＩｅスイッチ３０３ａとＰＣＩｅスイッチ３０３ｂとの間の通信経路を通じて通信できるようになっている。例えば、ＣＭ３００ａのＣＰＵ３０１ａは、他方のＣＭ３００ｂにおいて発生した異常の内容を示す異常検出情報を、ＣＭ３００ｂのＣＰＵ３０１ｂから上記通信経路を通じて取得することができる。また、例えば、ＣＰＵ３０１ａ，３０１ｂは、ＲＡＭ３０２ａ，３０２ｂにそれぞれ記憶されたＨＤＤのキャッシュデータを、上記通信経路を通じて他方のＣＭのＣＰＵに送信し、他方のＣＭ内のＲＡＭにキャッシュデータをバックアップするように依頼することもできる。
【００３４】
ＣＡ３０４ａは、ＰＣＩｅバスを介してＣＰＵ３０１ａと接続されている。ＣＡ３０４ａは、ＣＰＵ３０１ａとＣＭ３００ａとの間でデータを送受信するインタフェース処理を実行する。
【００３５】
ＩＯＣ３０５ａは、ＰＣＩｅバスを介してＣＰＵ３０１ａと接続されている。また、ＩＯＣ３０５ａは、ＳＡＳケーブルを介して、ＳＡＳエクスパンダ３０６ａおよびＣＭ３００ｂのＳＡＳエクスパンダ３０６ｂと接続されている。ＩＯＣ３０５ａは、ＣＰＵ３０１ａと、ＳＡＳデバイスであるＤＥ２１０内のＨＤＤとの間のインタフェース処理を実行する。すなわち、ＩＯＣ３０５ａは、ＰＣＩｅ規格に基づく通信を制御するＰＣＩｅコントローラと、ＳＡＳに基づく通信を制御するＳＡＳコントローラとを備える。
【００３６】
ＳＡＳエクスパンダ３０６ａは、ＩＯＣ３０５ａに接続されているとともに、ＳＡＳケーブルを介してＣＭ３００ｂのＩＯＣ３０５ｂにも接続されている。また、ＳＡＳエクスパンダ３０６ａは、ＳＡＳケーブルを介して、ＤＥ２１０内のＳＡＳデバイス（例えば、ＨＤＤまたはＳＡＳエクスパンダ）と接続されている。ＳＡＳエクスパンダ３０６ａは、ＩＯＣ３０５ａ，３０５ｂ内のＳＡＳコントローラとＳＡＳデバイスとの間でデータを中継する。
【００３７】
ここで、ＣＭ３００ａのＩＯＣ３０５ａは、ＣＭ３００ａのＳＡＳエクスパンダ３０６ａを通じてＤＥ２１０と接続されている。これとともに、ＣＭ３００ａのＩＯＣ３０５ａは、ＣＭ３００ｂ内のＳＡＳエクスパンダ３０６ｂを通じてＤＥ２１０と接続されている。このように、ＩＯＣ３０５ａとＤＥ２１０とが２つのＳＡＳエクスパンダ３０６ａ，３０６ｂを通じて接続されることで、ＩＯＣ３０５ａからＤＥ２１０へのアクセス経路が冗長化されている。
【００３８】
同様に、ＣＭ３００ｂのＩＯＣ３０５ｂは、ＣＭ３００ｂのＳＡＳエクスパンダ３０６ｂを通じてＤＥ２１０と接続されている。これとともに、ＣＭ３００ｂのＩＯＣ３０５ｂは、ＣＭ３００ａ内のＳＡＳエクスパンダ３０６ａを通じてＤＥ２１０と接続されている。このように、ＩＯＣ３０５ｂとＤＥ２１０とが２つのＳＡＳエクスパンダ３０６ａ，３０６ｂを通じて接続されることで、ＩＯＣ３０５ｂからＤＥ２１０へのアクセス経路も冗長化されている。
【００３９】
ＰＣＨ３０７ａは、ＣＰＵ３０１ａとＳＳＤ３０８ａおよび読み取り装置３０９ａとの間で、データを送受信する。ＳＳＤ３０８ａは、ＣＭ３００ａの二次記憶装置として使用され、ＣＰＵ３０１ａにより実行されるプログラムやその実行に必要な各種のデータ等を記憶する。なお、二次記憶装置としては、例えば、ＨＤＤ等の他の種類の不揮発性記憶装置が使用されてもよい。読み取り装置３０９ａには、可搬型の記録媒体３０ａが脱着される。読み取り装置３０９ａは、記録媒体３０ａに記録されたデータを読み取ってＣＰＵ３０１ａに送信する。記録媒体３０ａとしては、光ディスク、光磁気ディスク、半導体メモリ等がある。
【００４０】
なお、図示しないが、ＰＣＨ３０７ａには、ＣＰＵ３０１ａと管理端末１３０との間でデータを送受信する通信インタフェースがさらに接続されている。
図４は、ＤＥのハードウェア構成例を示す図である。ＤＥ２１０は、ＳＡＳエクスパンダ２１１ａ，２１１ｂと、複数のＨＤＤ２１２ａ，２１２ｂ，２１２ｃ，・・・と、ＣＰＵ２１３と、フラッシュメモリ２１４とを備える。
【００４１】
ＳＡＳエクスパンダ２１１ａは、ＣＭ３００ａのＳＡＳエクスパンダ３０６ａおよびＤＥ２１０内のＨＤＤ２１２ａ，２１２ｂ，２１２ｃ，・・・と、ＳＡＳケーブルを介して接続されている。ＳＡＳエクスパンダ２１１ａは、ＣＭ３００ａのＳＡＳエクスパンダ３０６ａと、ＤＥ２１０内のＨＤＤ２１２ａ，２１２ｂ，２１２ｃ，・・・との間でデータを中継する。
【００４２】
ＳＡＳエクスパンダ２１１ｂは、ＣＭ３００ｂのＳＡＳエクスパンダ３０６ｂおよびＤＥ２１０内のＨＤＤ２１２ａ，２１２ｂ，２１２ｃ，・・・と、ＳＡＳケーブルを介して接続されている。ＳＡＳエクスパンダ２１１ｂは、ＣＭ３００ｂのＳＡＳエクスパンダ３０６ｂと、ＤＥ２１０内のＨＤＤ２１２ａ，２１２ｂ，２１２ｃ，・・・との間でデータを中継する。
【００４３】
ＣＰＵ２１３は、ＤＥ２１０内のハードウェア全体を統括的に制御する。フラッシュメモリ２１４には、各種データやファームウェアのプログラムが格納される。
次に、ＳＡＳコントローラ間の通信について説明する。ＳＡＳコントローラは、ＳＡＳケーブルを介して通信するためのインタフェース回路であり、図３〜４の例では、ＩＯＣ３０５ａ，３０５ｂおよびＳＡＳエクスパンダ３０６ａ，３０６ｂ，２１１ａ，２１１ｂにそれぞれ搭載されている。
【００４４】
以下の説明では、特に、異なる装置間でのＳＡＳケーブルを介した通信について説明する。例えば、ＩＯＣ３０５ａとＳＡＳエクスパンダ３０６ｂとの間の通信、ＩＯＣ３０５ｂとＳＡＳエクスパンダ３０６ａとの間の通信、ＳＡＳエクスパンダ３０６ａとＤＥ２１０内のＳＡＳエクスパンダ２１１ａとの間の通信、ＳＡＳエクスパンダ３０６ｂとＤＥ２１０内のＳＡＳエクスパンダ２１１ｂとの間の通信が、説明の対象となる。
【００４５】
図５は、ＳＡＳコントローラの主な構成要素と接続形態の例を示す図である。図５において、一方のＳＡＳコントローラ３１ａは、送受信部３１０ａ〜３１０ｄ、クロスバー３５１ａおよび制御回路３５２ａを備えている。また、他方のＳＡＳコントローラ３１ｂは、送受信部３１０ｅ〜３１０ｈ、クロスバー３５１ｂおよび制御回路３５２ｂを備えている。
【００４６】
送受信部３１０ａは、送受信部３１０ｅと接続されており、送受信部３１０ｂは、送受信部３１０ｆと接続されている。また、送受信部３１０ｃは、送受信部３１０ｇと接続されており、送受信部３１０ｄは、送受信部３１０ｈと接続されている。送受信部３１０ａ〜３１０ｈのそれぞれは、接続された他方の送受信部との間のデータ送受信を制御する。
【００４７】
物理リンク３２ａ，３２ｂ，３２ｃ，３２ｄは、ＳＡＳコントローラ３１ａとＳＡＳコントローラ３１ｂとの間で送受信されるデータの伝送路である。具体的には、物理リンク３２ａは、送受信部３１０ａと送受信部３１０ｅとの間のデータの伝送路であり、物理リンク３２ｂは、送受信部３１０ｂと送受信部３１０ｆとの間のデータの伝送路である。さらに、物理リンク３２ｃは、送受信部３１０ｃと送受信部３１０ｇとの間のデータの伝送路であり、物理リンク３２ｄは、送受信部３１０ｄと送受信部３１０ｈとの間のデータの伝送路である。また、物理リンク３２ａ，３２ｂ，３２ｃ，３２ｄは、それぞれ差動信号線ペアのセットであり、送信側の信号線ペア（２本）と、受信側の信号線ペア（２本）とからなる。
【００４８】
なお、送受信部３１０ａ〜３１０ｄは、物理リンク３２ａ〜３２ｄをそれぞれ構成する差動信号ペアのセットと、共通のコネクタを介して接続する。同様に、送受信部３１０ｅ〜３１０ｈは、物理リンク３２ａ〜３２ｄをそれぞれ構成する差動信号ペアのセットと、共通のコネクタを介して接続する。
【００４９】
ここで、ＳＡＳコントローラ間の接続形態としては、ナローポートとワイドポートとがある。ナローポートは、１つのポートに１つの物理リンクを使用して通信する形態である。ワイドポートは、１つのポートに複数の物理リンクを使用して通信する形態である。ワイドポートでは、最大で８つの物理リンクをまとめて１つの論理的な通信ポートとして使用することができる。例えば、ＳＡＳ２．０規格の場合、１つの物理リンクでの最大伝送速度は６ギガｂｐｓ（Bit Per Second）であるので、ワイドポートを適用することで最大４８ギガｂｐｓでの通信が可能となる。
【００５０】
クロスバー３５１ａは、制御回路３５２ａの制御の下で、ＳＡＳケーブルを介して送信するデータを送受信部３１０ａ〜３１０ｄのいずれかに振り分ける。また、クロスバー３５１ａは、ＳＡＳケーブルを介して受信したデータを送受信部３１０ａ〜３１０ｄから受信する。制御回路３５２ａは、クロスバー３５１ａでの送信データの振り分け等、ＳＡＳコントローラ３１ａにおける各種の動作制御を行う。ナローポートとワイドポートのいずれかの形態で接続するか、いくつの物理ポートを用いてワイドポートを構成するかについても、制御回路３５２ａによって制御される。
【００５１】
同様に、クロスバー３５１ｂは、制御回路３５２ｂの制御の下で、ＳＡＳケーブルを介して送信するデータを送受信部３１０ｅ〜３１０ｈのいずれかに振り分ける。また、クロスバー３５１ｂは、ＳＡＳケーブルを介して受信したデータを送受信部３１０ｅ〜３１０ｈから受信する。制御回路３５２ｂは、クロスバー３５１ｂでの送信データの振り分け等、ＳＡＳコントローラ３１ｂにおける各種の動作制御を行う。ナローポートとワイドポートのいずれかの形態で接続するか、何個の物理ポートを用いてワイドポートを構成するかについても、制御回路３５２ｂによって制御される。
【００５２】
ここで、例えば、ＳＡＳコントローラ３１ａがＣＭ３００ａに搭載されているものとする。例えば、ＳＡＳコントローラ３１ａがＩＯＣ３０５ａに搭載されているものとする。この場合、ＳＡＳコントローラ３１ａの制御回路３５２ａは、ＣＭ３００ａのＣＰＵ３０１ａと通信することができる。
【００５３】
送受信部３１０ａ〜３１０ｄは、対応する物理リンク３２ａ〜３２ｄにおける接続開始時に、通信先の送受信部との間で通信設定を最適化するためのトレーニングを行う。そのトレーニングシーケンスの中には、受信側とネゴシエーションすることで送信側イコライザの設定値を最適化するネゴシエーションシーケンスが含まれる。制御回路３５２ａは、例えば、ＣＰＵ３０１ａからの指示に応じて、送受信部３１０ａ〜３１０ｄのそれぞれに対して、ネゴシエーション時の送信側イコライザの初期設定値を設定したり、ネゴシエーション終了後の接続切り離しや送信側イコライザの設定変更を行うことができる。また、制御回路３５２ａは、送受信部３１０ａ〜３１０ｄのそれぞれにおいてネゴシエーションにより決定された送信側イコライザの設定値を、ＣＰＵ３０１ａに通知することができる。
【００５４】
図６は、ＳＡＳコントローラ内の送受信部のハードウェア構成例を示す図である。なお、送受信部３１０ａ〜３１０ｈはそれぞれ同様のハードウェア構成を有するので、図６ではこれらを“送受信部３１０”と表す。また、これ以降、送受信部３１０ａ〜３１０ｈを区別せずに説明する場合には、“送受信部３１０”という表記を使用する。
【００５５】
送受信部３１０は、Ｔｘバッファ３１１、シリアライザ３１２、Ｔｘドライバ３１３、Ｔｘイコライザ３１４、Ｒｘイコライザ３１５、Ｒｘドライバ３１６、デシリアライザ３１７、Ｒｘバッファ３１８、パルスジェネレータ（ＰＧ）３１９、波形検出回路３２０、制御回路３２１およびメモリ３２２を有する。
【００５６】
Ｔｘバッファ３１１は、同じＳＡＳコントローラ内のクロスバー（例えば、図５のクロスバー３５１ａ）から入力された送信データを一時的に記憶し、記憶した送信データをシリアライザ３１２に出力する。シリアライザ３１２は、Ｔｘバッファ３１１から入力された送信データを、パラレルデータからシリアルデータに変換して出力する。また、シリアライザ３１２は、パルスジェネレータ３１９から入力されたネゴシエーション用のテスト信号を、Ｔｘドライバ３１３に出力することもできる。Ｔｘドライバ３１３は、シリアライザ３１２から入力された送信データまたはテスト信号を、差動信号に変換して出力する。
【００５７】
Ｔｘイコライザ３１４は、Ｔｘドライバ３１３から入力された差動信号の波形を整形し、整形後の差動信号を、図示しないコネクタを介して対応する物理リンクへ出力する。Ｔｘイコライザ３１４で行われる波形整形の種類としては、例えば、プリエンファシス調整とプリシュート調整とがある。プリエンファシス調整は、送信信号がローレベルからハイレベルに遷移したときの信号レベルを高くするものである。プリシュート調整は、送信信号がローレベルからハイレベルに遷移する直前の信号レベルを高くするものである。Ｔｘイコライザ３１４でのプリエンファシスおよびプリシュートの調整量は、制御回路３２１から指定される。
【００５８】
Ｒｘイコライザ３１５は、対応する物理リンクから図示しないコネクタを介して入力された差動信号の波形を整形し、Ｒｘドライバ３１６に出力する。波形生成の方法としては、ＤＦＥ（Decision Feedback Equalization）やＦＦＥ（Feed-Forward Equalization）等の方法が用いられる。Ｒｘイコライザ３１５は、トレーニングの際に内部の設定パラメータを自動調整する。Ｒｘイコライザ３１５は、自動調整した設定パラメータを、制御回路３２１を介して同一ＳＡＳコントローラ内の制御回路（例えば制御回路３５２ａ）に出力することができる。
【００５９】
Ｒｘドライバ３１６は、Ｒｘイコライザ３１５から出力された差動信号を所定形式のシリアル信号に変換し、デシリアライザ３１７に出力する。デシリアライザ３１７は、Ｒｘドライバ３１６から入力されたシリアル信号をパラレル信号に変換し、Ｒｘバッファ３１８に出力する。Ｒｘバッファ３１８は、デシリアライザ３１７から出力されたパラレル信号を一時的に記憶した後、同じＳＡＳコントローラ内のクロスバー（例えば、図５のクロスバー３５１ａ）に出力する。
【００６０】
パルスジェネレータ３１９は、送受信部３１０自身を送信側としたネゴシエーションシーケンスの実行時において、制御回路３２１からの指示に応じて、シリアライザ３１２に対してネゴシエーション用のテスト信号を供給する。
【００６１】
波形検出回路３２０は、送受信部３１０自身を受信側としたネゴシエーションシーケンスの実行時において、Ｒｘイコライザ３１５から出力されたテスト信号の波形を検出し、その波形の状態を示す情報を制御回路３２１に通知する。波形の状態を示す情報としては、例えば、アイパターンの開口状態を示す情報がある。
【００６２】
制御回路３２１は、送受信部３１０における各種の処理を制御する。例えば、制御回路３２１は、送受信部３１０自身を送信側としたネゴシエーションシーケンスの実行時において、次のような制御を行う。制御回路３２１は、同一ＳＡＳコントローラ内の制御回路（例えば制御回路３５２ａ）からの指示に基づいて、Ｔｘイコライザ３１４に対してパラメータの初期値を設定する。そして、制御回路３２１は、パルスジェネレータ３１９にネゴシエーション用のテスト信号を出力させる。このとき、制御回路３２１は、テスト信号に所定の付加情報を付加して、シリアライザ３１２に送信させる。さらに、制御回路３２１は、接続先の送受信部からパラメータ調整要求メッセージが返信されると、このメッセージをデシリアライザ３１７を通じて受信し、メッセージに応じてＴｘイコライザ３１４に設定するパラメータを変更する。また、制御回路３２１は、接続先の送受信部からネゴシエーションの終了メッセージが返信されると、このメッセージをデシリアライザ３１７を通じて受信する。このとき、制御回路３２１は、最終的にＴｘイコライザ３１４に設定されたパラメータの値を、同一コントローラ内の制御回路に通知することができる。通知されたパラメータの値は、当該コントローラが搭載されたＣＭのＣＰＵに対して通知される。
【００６３】
また、制御回路３２１は、送受信部３１０自身を受信側としたネゴシエーションシーケンスの実行時において、次のような制御を行う。制御回路３２１は、接続先の送受信部からネゴシエーション用のテスト信号が送信されると、波形検出回路３２０から波形の状態を示す情報を受信し、受信情報が所定の基準値を満たすかを判定する。制御回路３２１は、受信情報が基準値を満たさない場合、受信情報と基準値との差分に応じて、接続先の送受信部におけるＴｘイコライザのパラメータを増減させるためのパラメータ調整要求メッセージを、シリアライザ３１２に送信させる。また、制御回路３２１は、受信情報が基準値を満たす場合、ネゴシエーションの終了要求メッセージをシリアライザ３１２に送信させる。
【００６４】
メモリ３２２は、制御回路３２１の処理で用いられる各種のデータを記憶する。
図７は、Ｒｘイコライザの内部構成例を示す図である。Ｒｘイコライザ３１５は、例えば、ゲイン調整部３１５ａ、ＡＤ（Analog-to-Digital）コンバータ３１５ｂ、ＦＦＥ３１５ｃおよびＤＦＥ３１５ｄを有する。
【００６５】
ゲイン調整部３１５ａは、対応する物理リンクから図示しないコネクタを介して入力された差動信号のレベルを調整する。ＡＤコンバータ３１５ｂは、差動信号（アナログ電気信号）をデジタル電気信号に変換する。ＦＦＥ３１５ｃは、入力信号を遅延させて係数を乗じた信号を入力信号に重畳することで波形を整形する。ＤＦＥ３１５ｄは、出力信号を遅延させて係数を乗じた信号を入力信号に重畳することで波形を整形する。
【００６６】
Ｒｘイコライザ３１５には、トレーニングの際にＲｘイコライザ３１５自身によって調整される各種のパラメータが設定される。例えば、ゲイン調整部３１５ａには、ＡＤコンバータ３１５ｂによってＡＤＣ＿ＭＡＰ＿ＳＣＡＬＥが設定され、ＦＦＥ３１５ｃによってＤＰ＿ＦＦＥ＿Ｍが設定される。ＤＦＥ３１５ｄの出力レベルが所定範囲に収まるようにＡＤＣ＿ＭＡＰ＿ＳＣＡＬＥおよびＤＰ＿ＦＦＥ＿Ｍが設定されることで、ゲイン調整部３１５ａのゲインが調整される。さらに、ＦＦＥ３１５ｃにはＤＰ＿ＦＦＥ＿Ｂが設定され、ＤＦＥ３１５ｄにはＤＦＥ係数０〜４が設定される。ＦＦＥ３１５ｃは、内部の検出値が所定範囲に収まるようにＤＰ＿ＦＦＥ＿Ｂを調整する。ＤＦＥ３１５ｄは、内部の検出値が所定範囲に収まるようにＤＦＥ係数０〜４を調整する。
【００６７】
なお、以下の説明では、Ｒｘイコライザ３１５に設定される上記のようなパラメータを「Ｒｘパラメータ」と記載する場合がある。一方、Ｔｘイコライザ３１４に設定されるパラメータを「Ｔｘパラメータ」と記載する場合がある。
【００６８】
次に、ＳＡＳコントローラ間の接続開始時におけるトレーニングシーケンスに含まれるネゴシエーションシーケンスについて説明する。以下の説明では、例として、ＣＭ３００ａのＳＡＳエクスパンダ３０６ａと、ＤＥ２１０のＳＡＳエクスパンダ２１１ａとの間のネゴシエーションシーケンスについて説明する。すなわち、以下の説明において、ＳＡＳコントローラ３１ａは、ＳＡＳエクスパンダ３０６ａのＤＥ２１０側に搭載されたＳＡＳコントローラを示し、ＳＡＳコントローラ３１ｂは、ＳＡＳエクスパンダ２１１ａのＣＭ３００ａ側に搭載されたＳＡＳコントローラを示す。また、以下の説明では、説明を簡略化するために、ＣＭ３００ａのＳＡＳエクスパンダ３０６ａにおけるＴｘイコライザ３１４のＴｘパラメータを設定する際の動作について説明する。
【００６９】
図８は、ネゴシエーションのシーケンス例を示す図である。本シーケンスは、ネゴシエーションの実行時に、物理リンク毎に実行される。図８では、送受信部３１０ａと送受信部３１０ｅとの間の物理リンク３２ａにおいて、送受信部３１０ａ内のＴｘイコライザ３１４のＴｘパラメータをネゴシエーションにより設定するシーケンスの例について説明する。以下、図８に示す処理をステップ番号に沿って説明する。
【００７０】
（Ｓ１１）送受信部３１０ａにおいて、制御回路３２１は、Ｔｘイコライザ３１４に対してＴｘパラメータの初期値を設定する。この設定は、例えば、Ｔｘイコライザ３１４のレジスタにＴｘパラメータの値が記録されることで行われる。Ｔｘパラメータの初期値は、メモリ３２２に記憶されている。ＣＰＵ３０１ａから特に指定されていない場合、Ｔｘパラメータの初期値としては、メモリ３２２にあらかじめ記憶された固定値が用いられる。
【００７１】
（Ｓ１２）送受信部３１０ａにおいて、制御回路３２１は、パルスジェネレータ３１９にネゴシエーション用のテスト信号を出力させる。このとき、制御回路３２１は、テスト信号に所定の付加情報を付加して、シリアライザ３１２に送信させる。このステップＳ１２の処理により、物理リンク３２ａを介してテスト信号が送受信部３１０ｅへ送信される。
【００７２】
（Ｓ１３）送受信部３１０ｅにおいて、Ｒｘイコライザ３１５は、図７に例示した各Ｒｘパラメータを調整することにより、受信したテスト信号の波形を調整する。詳細には、Ｒｘイコライザ３１５は、最初に、各Ｒｘパラメータとしてメモリ３２２に記憶されている初期値を設定する。そして、Ｒｘイコライザ３１５は、各Ｒｘパラメータの設定値を変更しながら、テスト信号の波形を調整する。
【００７３】
波形検出回路３２０は、調整されたテスト信号の波形を検出し、波形の状態を示す検出値を制御回路３２１へ出力する。制御回路３２１は、入力された検出値が所定の基準を満たすかを判定する。ここでは、波形の状態を示す検出値が所定の基準を満たさないと判定されたとする。
【００７４】
（Ｓ１４）送受信部３１０ｅにおいて、制御回路３２１は、パラメータ調整要求を送受信部３１０ａへ送信する。パラメータ調整要求は、物理リンクに設定される送信用のＴｘパラメータの調整を要求するためのメッセージである。パラメータ調整要求を示すメッセージコードには、複数の種別があり、メッセージコード毎に、調整されるＴｘパラメータの種別やＴｘパラメータの調整値等が異なる。パラメータ調整要求のメッセージコードは、送受信部３１０ｅの制御回路３２１により、波形の状態を示す検出値と基準との差分に基づいて決定される。
【００７５】
（Ｓ１５）送受信部３１０ａにおいて、制御回路３２１は、デシリアライザ３１７を介してパラメータ調整要求のメッセージコードを受信する。制御回路３２１は、受信したメッセージコードに応じて、Ｔｘイコライザ３１４のパラメータ設定値を変更する。
【００７６】
（Ｓ１６）ステップＳ１２と同様の手順により、送受信部３１０ａから送受信部３１０ｅに対してテスト信号が送信される。
（Ｓ１７）送受信部３１０ｅにおいて、Ｒｘイコライザ３１５は、各Ｒｘパラメータを調整することにより、受信したテスト信号の波形を調整する。波形検出回路３２０は、テスト信号の波形を検出し、波形の状態を示す検出値を制御回路３２１へ出力する。制御回路３２１は、入力された検出値が所定の基準を満たすかを判定する。ここでは、波形の状態を示す検出値が所定の基準を満たしたと判定されたとする。
【００７７】
（Ｓ１８）送受信部３１０ｅにおいて、制御回路３２１は、ネゴシエーション終了要求を送受信部３１０ａへ送信する。ネゴシエーション終了要求は、ネゴシエーション用のテスト信号の波形の状態を示す検出値が所定の基準を満たしているため、ネゴシエーションの終了を送信元の装置へ要求するためのメッセージである。
【００７８】
以上の処理により、物理リンク３２ａに対応するＴｘイコライザ３１４のＴｘパラメータの最適値が決定される。また、Ｒｘイコライザ３１５の自動調整機能によりＲｘイコライザ３１５のＲｘパラメータの最適値も決定される。
【００７９】
なお、図８の例では、送受信部３１０ａ，３１０ｅの間のネゴシエーションにおいて、１回のＴｘパラメータの調整のみでテスト信号波形の検出値が基準を満たしている。しかし、実際には、テスト信号波形の検出値が基準を満たすまでに、Ｔｘパラメータの調整が複数回（例えば、５〜１０回）行われる場合が多い。
【００８０】
図９は、メッセージリストの例を示す図である。メッセージリスト３３１には、ネゴシエーション時に、データの送信先の装置のＳＡＳコントローラから受信するメッセージの一覧を示す。メッセージリスト３３１は、例えば、メモリ３２２に格納され、制御回路３２１から参照されてもよい。メッセージリスト３３１は、メッセージコード、パラメータＣ１、パラメータＣ２およびパラメータＣ３の項目を有する。
【００８１】
メッセージコードの項目には、ネゴシエーション時に、データの送信先の装置のＳＡＳコントローラから受信するメッセージの種別を示す値（メッセージコード）が設定される。“Ｃ１”，“Ｃ２”，“Ｃ３”は、Ｔｘイコライザ３１４に設定されるＴｘパラメータの種別を示す。
【００８２】
パラメータＣ１の項目には、パラメータＣ１に対する調整の内容を示す情報が設定される。例えば、“±０”は、パラメータＣ１を増減させない要求を意味する。また、“＋１”は、パラメータＣ１を“１”加算させる要求を意味し、“＋２”は、パラメータＣ１を“２”加算させる要求を意味する。さらに、“−１”は、パラメータＣ１を“１”減算させる要求を意味し、“−２”は、パラメータＣ１を“２”減算させる要求を意味する。同様に、パラメータＣ２の項目には、パラメータＣ２に対する調整の内容を示す情報が設定され、パラメータＣ３の項目には、パラメータＣ３に対する調整の内容を示す情報が設定される。
【００８３】
例えば、メッセージコード“０Ａｈ”は、パラメータＣ１を増減せず、パラメータＣ２を“２”減算し、パラメータＣ３を“２”減算する要求であることを示す。また、メッセージコード“００ｈ”は、パラメータＣ１〜Ｃ３のいずれも増減しなくてよいことを示す。このメッセージコード“００ｈ”は、ネゴシエーション終了要求として使用される。
【００８４】
ここで、パラメータＣ１は、Ｔｘイコライザ３１４におけるプリシュートの調整値を示す。プリシュート調整は、送信信号がローレベルからハイレベルに遷移する直前の信号レベルを高くするものである。パラメータＣ２は、Ｔｘイコライザ３１４における送信信号レベルの調整値を示す。パラメータＣ３は、Ｔｘイコライザ３１４におけるプリエンファシスの調整値を示す。プリエンファシス調整は、送信信号がローレベルからハイレベルに遷移したときの信号レベルを高くするものである。
【００８５】
図１０は、第２の実施の形態のＣＭの機能例を示すブロック図である。なお、図１０ではＣＭ３００ａについて示すが、ＣＭ３００ｂもＣＭ３００ａと同様の機能を備える。ＣＭ３００ａは、パラメータ情報記憶部３３０およびパラメータ制御部３４０を備える。また、前述のように、ＣＭ３００ａは、ＳＡＳコントローラ３１ａを備えるものとする。
【００８６】
なお、パラメータ制御部３４０は、第１の実施の形態の判定部１３の一例であり、ＳＡＳコントローラ３１ａは、第１の実施の形態のインタフェース部１１および設定部１２の一例である。より詳しくは、各送受信部３１０ａ〜３１０ｄのＴｘイコライザ３１４がインタフェース部１１の一例であり、各送受信部３１０ａ〜３１０ｄの制御回路３２１が設定部１２の一例である（図６参照）。
【００８７】
パラメータ情報記憶部３３０は、ＣＭ３００ａが備えるＲＡＭ３０２ａまたはＳＳＤ３０８ａに確保した記憶領域として実現される。パラメータ制御部３４０の処理は、例えば、ＣＭ３００ａが備えるＣＰＵ３０１ａが所定のプログラムを実行することで実現される。
【００８８】
パラメータ情報記憶部３３０は、送受信部３１０ａ〜３１０ｄの各Ｔｘイコライザ３１４に設定されているＴｘパラメータの値を格納するＴｘパラメータテーブルを記憶する。また、パラメータ情報記憶部３３０は、送受信部３１０ａ〜３１０ｄの各Ｒｘイコライザ３１５に設定されているＲｘパラメータの値を格納するＲｘパラメータテーブルを記憶する。
【００８９】
パラメータ制御部３４０は、送信先のＳＡＳコントローラ３１ｂとの間でネゴシエーションを行って各送受信部３１０ａ〜３１０ｄの各Ｔｘイコライザ３１４のＴｘパラメータを決定するよう、ＳＡＳコントローラ３１ａ内の送受信部３１０ａ〜３１０ｄへ要求する。このとき、パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄに対して異なるＴｘパラメータの初期値を指定する。
【００９０】
パラメータ制御部３４０は、ネゴシエーションが終了すると、ネゴシエーションにより決定されたＴｘパラメータを各送受信部３１０ａ〜３１０ｄから受信する。パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄから受信したＴｘパラメータに基づいて、Ｔｘパラメータの許容範囲を特定する。Ｔｘパラメータの許容範囲は、各送受信部３１０ａ〜３１０ｄに対して決定されたＴｘパラメータが適切であると判定されるＴｘパラメータの範囲を意味する。許容範囲は、各送受信部３１０ａ〜３１０ｄに対して決定されたＴｘパラメータの分布に基づいて特定できる。以下、このＴｘパラメータの許容範囲を「Ｔｘ許容範囲」と記載する。
【００９１】
パラメータ制御部３４０は、特定したＴｘ許容範囲内に、送受信部３１０ａ〜３１０ｄから受け取ったＴｘパラメータが収まるか判定する。パラメータ制御部３４０は、Ｔｘ許容範囲内に収まらないＴｘパラメータが存在する場合、当該Ｔｘパラメータを送信した送受信部に対してネゴシエーションを再度要求する。また、パラメータ制御部３４０は、Ｔｘ許容範囲が特定できなかった場合（Ｔｘパラメータの分布がある程度集中する所定の大きさの範囲がなかった場合）、送受信部３１０ａ〜３１０ｄのすべてに対してネゴシエーションを再度要求する。
【００９２】
パラメータ制御部３４０は、再度のネゴシエーションにより決定されたＴｘパラメータと、すでにＴｘ許容範囲内に収まっているＴｘパラメータとに基づいて、Ｔｘ許容範囲を再度特定する。そして、パラメータ制御部３４０は、各Ｔｘパラメータが特定したＴｘ許容範囲に収まるかにより、各Ｔｘパラメータが適切であるか判定する。
【００９３】
また、パラメータ制御部３４０は、ネゴシエーションが終了した時点で送信先のＳＡＳコントローラ３１ｂ内の各送受信部３１０ｅ〜３１０ｈに搭載された各Ｒｘイコライザ３１５に設定されている各Ｒｘパラメータを、送受信部３１０ｅ〜３１０ｈから受信する。これらのＲｘパラメータは、送信先のＲｘイコライザ３１５によって自動調整された値である。パラメータ制御部３４０は、各送受信部３１０ｅ〜３１０ｈから受信したＲｘパラメータに基づいて、Ｒｘパラメータの許容範囲を特定する。以下、Ｒｘパラメータの許容範囲を「Ｒｘ許容範囲」と記載する。
【００９４】
パラメータ制御部３４０は、送受信部３１０ｅ〜３１０ｈのＲｘイコライザ３１５に設定されているＲｘパラメータがＲｘ許容範囲に収まるかを判定する。パラメータ制御部３４０は、Ｒｘ許容範囲内に収まらないＲｘパラメータが存在する場合、当該Ｒｘパラメータを受信した送受信部に対してネゴシエーションを再度要求する。
【００９５】
なお、パラメータ制御部３４０と送受信部３１０ａ〜３１０ｄとの間の通信は、実際には、ＳＡＳコントローラ３１ａの制御回路３５２ａを介して行われる。
図１１は、Ｔｘパラメータテーブルの例を示す図である。Ｔｘパラメータテーブル３３２は、パラメータ情報記憶部３３０に記憶されている。Ｔｘパラメータテーブル３３２は、各送受信部３１０ａ〜３１０ｄの各Ｔｘイコライザ３１４に設定されているＴｘパラメータを示す情報を格納する。
【００９６】
Ｔｘパラメータテーブル３３２は、ワイドポートＩＤ（Identification）、物理リンクＩＤ、パラメータ種別および設定値の項目を有する。ワイドポートＩＤの項目には、ワイドポートを識別するための識別子が登録される。物理リンクＩＤには、対応するワイドポートに属する物理リンクを識別するための識別子が登録される。
【００９７】
パラメータ種別の項目には、対応する送信用の物理リンクに対して設定されるＴｘパラメータの種別を示す情報が登録される。前述のように、Ｔｘパラメータの種別にはＣ１〜Ｃ３がある。設定値の項目には、対応するパラメータ種別に対して設定されているＴｘパラメータの値が登録される。
【００９８】
なお、Ｒｘパラメータテーブルは、Ｔｘパラメータテーブル３３２と同じ項目を有するため、説明を省略する。Ｒｘパラメータテーブルのパラメータ種別の項目には、Ｒｘパラメータの種別が登録される。
【００９９】
次に、図１２〜１４を用いて、ネゴシエーションにより決定されたＴｘパラメータの判定例について説明する。ここでは、まず、図１２を用いて、ネゴシエーションによりＴｘパラメータを決定する際の問題点について説明し、その後、図１３〜１４を用いて、ネゴシエーションにより決定されたＴｘパラメータの適否を判定する処理について説明する。また、図１２〜１４では、説明を簡単にするために、パラメータＣ１とパラメータＣ３との組み合わせを“Ｔｘパラメータ群”と呼び、このＴｘパラメータ群の決定処理について説明する。以下、パラメータＣ１およびパラメータＣ３を含むＴｘパラメータ群の設定値ペアを、“（パラメータＣ１，パラメータＣ３）”と記載する場合がある。
【０１００】
図１２は、Ｔｘパラメータ群の設定のばらつきの例を示す図である。図１２は、過去に、ワイドポートを構成する各物理リンクについて、ネゴシエーションにより決定されたＴｘパラメータ群の値の分布を示す。縦軸はパラメータＣ３を示し、横軸はパラメータＣ１を示す。
【０１０１】
図１２では、（７，１２）、（７、１３）、（７，１４）、（８，１２）および（８，１３）は、ネゴシエーションによりすべての物理リンクに設定されたことがあるＴｘパラメータ群を示す。これらのうち、（７，１３）は、物理リンクに設定される最適なＴｘパラメータ群であるとする。また、（５，１２）、（５，１３）、（６，１４）、（６，１５）、（７，１５）、（８，１１）、（８，１４）、（９，１２）、（９，１３）、（９，１４）および（９，１５）は、ネゴシエーションにより一部の物理リンクにのみ設定されたことがあるＴｘパラメータ群を示す。
【０１０２】
図１２に示すように、ネゴシエーションにより決定されるＴｘパラメータ群の値は、ネゴシエーション毎および物理リンク毎にばらつきが生じる場合がある。このばらつきの一因としては、受信側におけるテスト信号の評価方法の問題が考えられる。市販のＳＡＳインタフェースが実行するテスト信号の評価処理手順は、あらゆる条件を想定して決定されている訳ではなく、比較的限定的な条件を想定して決定されている場合が多い。このため、条件が想定された条件と合わない場合には、テスト信号の評価が適切に行われない可能性がある。
【０１０３】
想定される条件の一例として、伝送路の距離がある。ＣＭ３００ａとＤＥ２１０、あるいはＣＭ３００ａとＣＭ３００ｂのように、異なる装置間で通信が行われる場合には、伝送路の距離が、通信インタフェースの開発・設計時に想定された距離より長い場合があり得る。その場合、受信側が受信したテスト信号の波形を評価し、適切な波形であると判定したとしても、そのときに送信側で設定されていたＴｘパラメータの値が本当に適正値であるかわからない可能性がある。そして、そのＴｘパラメータの値が設定されたまま通信が行われると、ネゴシエーションで適正値と決定されたにもかかわらず、通信異常が発生する可能性がある。また、距離以外の伝送路の仕様に関しても同様のことが言える。
【０１０４】
また、送信側のＳＡＳインタフェースと受信側のＳＡＳインタフェースの各ベンダが異なる場合にも、ネゴシエーションにより決定されたＴｘパラメータの適正値が不正確な値となることがあり得る。さらに、ＳＡＳインタフェース内のデバイスの故障や、基板上の伝送路の特性異常が発生している場合にも、同様に、ネゴシエーションにより決定されたＴｘパラメータの適正値が不正確な値となることがあり得る。
【０１０５】
一方、ワイドポートを構成する物理リンク同士では、伝送路に関する仕様や特性がほぼ共通となる。その理由としては、これらの物理リンク同士では伝送路の距離はほぼ一致することが挙げられる。また、各物理リンクは共通のインタフェース回路で処理され、共通のコネクタを介して接続されることも挙げられる。このことは、特定の物理リンクにのみ伝送路の故障や特性異常が発生しにくい原因にもなる。
【０１０６】
これらの理由から、Ｔｘイコライザ３１４のＴｘパラメータの最適値は、物理リンク間で近い値になる可能性が高い。そこで、パラメータ制御部３４０は、ネゴシエーションにより決定された各物理リンクのＴｘパラメータ群の値の適否を、次のように判定する。
【０１０７】
まず、パラメータ制御部３４０は、各物理リンクについて決定されたＴｘパラメータ群の値に基づいて、一定の大きさのＴｘ許容範囲の位置を特定する。ここで、図１２に示すように、どの物理リンクにも設定されたことがあるＴｘパラメータ群の分布は、最適なＴｘパラメータ群の近隣の範囲内に集中している。そのため、パラメータ制御部３４０は、決定されたＴｘパラメータ群の値の分布がある程度集中する所定の大きさの範囲を、最適なＴｘパラメータ群の値との誤差の範囲であるＴｘ許容範囲として特定する。そして、パラメータ制御部３４０は、複数の物理リンクについて決定されたＴｘパラメータ群の値のうち、値が上記Ｔｘ許容範囲に収まらないＴｘパラメータ群を不適切なＴｘパラメータ群と判定する。
【０１０８】
図１３は、適切なＴｘパラメータ群の例を示す図である。図１３は、ワイドポートを構成する各物理リンクについて、あるネゴシエーションにより決定されたパラメータＣ１およびパラメータＣ３を含むＴｘパラメータ群の値を示す。図１３において、図１２と同じ内容については説明を省略する。
【０１０９】
図１３では、物理リンク３２ａに対してＴｘパラメータ群（７，１０）が決定されたとする。また、物理リンク３２ｂに対してＴｘパラメータ群（８，１０）が決定されたとする。また、物理リンク３２ｃに対してＴｘパラメータ群（７，９）が決定されたとする。さらに、物理リンク３２ｄに対してＴｘパラメータ群（８，９）が決定されたとする。
【０１１０】
ここでは、許容されるＴｘパラメータの最大誤差（すなわち、Ｔｘ許容範囲の大きさ）は、パラメータＣ１，Ｃ３ともに“２”である場合を例として説明する。パラメータ制御部３４０は、決定された全Ｔｘパラメータ群の中から、パラメータＣ１，Ｃ３の両方について、最大値と最小値との差が上記の最大誤差以下となるようなＴｘパラメータ群の組み合わせを抽出する。そして、抽出された組み合わせの中から、含まれるＴｘパラメータ群が最大の組み合わせを選択し、選択した組み合わせに含まれる各Ｔｘパラメータ群の値が包含されるようなＴｘ許容範囲を設定する。このとき、パラメータ制御部３４０は、選択した組み合わせに含まれるＴｘパラメータ群の数が、全Ｔｘパラメータ群の数の過半数以下である場合には、Ｔｘパラメータの値が集中していない（分散している）と判定して、そのＴｘ許容範囲を無効にする。
【０１１１】
図１３に示すように、物理リンク３２ａ〜３２ｄに対して決定されたＴｘパラメータ群の値の分布は、（７〜８，９〜１０）の範囲に集中している。この範囲の大きさは、パラメータＣ１，Ｃ３ともに最大誤差“２”以内となっている。また、当該範囲に収まっているＴｘパラメータ群の数は４つであり、決定した全Ｔｘパラメータ群の過半数である“２”より大きい。したがって、（７〜８，９〜１０）の範囲がＴｘ許容範囲として特定される。
【０１１２】
また、各物理リンクについて決定されたＴｘパラメータ群の値は、いずれも上記Ｔｘ許容範囲内であるため、適切と判定される。そして、パラメータ制御部３４０は、ワイドポートを構成する各物理リンクに対するＴｘパラメータの設定に成功したと判定し、ネゴシエーションを終了させる。
【０１１３】
図１４は、不適切なＴｘパラメータ群を含む例を示す図である。図１４は、ワイドポートを構成する各物理リンクについて、あるネゴシエーションにより決定されたパラメータＣ１およびパラメータＣ３を含むＴｘパラメータ群の値を示す。図１４において、図１３と同じ内容については説明を省略する。図１４では、物理リンク３２ｄに対してＴｘパラメータ群（１０，６）がネゴシエーションにより決定されている。
【０１１４】
この場合、図１４に示すように、物理リンク３２ａ〜３２ｄに対して決定されたＴｘパラメータ群の分布は、（７〜８，９〜１０）の範囲に集中している。また、当該範囲に収まっているＴｘパラメータ群の数は３つであり、決定した全Ｔｘパラメータ群の過半数である“２”より大きい。したがって、（７〜８，９〜１０）の範囲がＴｘ許容範囲として特定される。
【０１１５】
図１４に示すように、物理リンク３２ａ〜３２ｃについて決定された各Ｔｘパラメータ群は、上記Ｔｘ許容範囲内であるため、適切と判定される。一方、物理リンク３２ｄについて決定されたＴｘパラメータ群は、上記Ｔｘ許容範囲外であるため、不適切と判定される。そのため、物理リンク３２ｄについては、例えば、パラメータ制御部３４０の指示に応じて、再度、送信先のＳＡＳインタフェースとの間でネゴシエーションが実行される。
【０１１６】
図１３〜１４で説明したように、パラメータ制御部３４０は、ネゴシエーションにより決定されたＴｘパラメータ群の値の分布が一定の大きさの範囲に集中する場合に、その範囲をＴｘ許容範囲として特定する。これにより、最適なＴｘパラメータ群の誤差の範囲（すなわち、適切なＴｘパラメータ群の範囲）を推定できる。
【０１１７】
また、特定したＴｘ許容範囲に収まらないＴｘパラメータ群を不適切なパラメータと判定する。これにより、ネゴシエーションにより決定されたＴｘパラメータの適否を精度良く判定できる。
【０１１８】
図１５は、初期Ｔｘパラメータ群の設定例を示す図である。パラメータ制御部３４０は、ネゴシエーションを実行させる際、各物理リンクに対応するＴｘイコライザ３１４に対して互いに異なる初期Ｔｘパラメータ群を設定する。ここで、“初期Ｔｘパラメータ群”は、ネゴシエーションの際、Ｔｘイコライザ３１４に対して設定するＴｘパラメータの初期値の集まりを意味する。
【０１１９】
図１５に示す各矢印は、物理リンクについてのネゴシエーションが開始されてから終了されるまでに遷移したＴｘパラメータ群の値の軌跡を示す。図１５内の各矢印の始点は、その物理リンクに設定された初期Ｔｘパラメータ群の値を示し、図１５内の各矢印の終点は、その物理リンクについて決定されたＴｘパラメータ群の値を示す。
【０１２０】
図１５に示すように、物理リンク３２ａには、初期Ｔｘパラメータ群（１，２０）が設定され、物理リンク３２ｂには、初期Ｔｘパラメータ群（２０，２０）が設定されている。また、物理リンク３２ｃには、初期Ｔｘパラメータ群（１，１）が設定され、物理リンク３２ｄには、初期Ｔｘパラメータ群（２０，１）が設定されている。
【０１２１】
その後、物理リンク３２ａに対するＴｘパラメータ群は、ネゴシエーションにより、（１，１６）→（２，１６）→（２，１５）→（４，１５）→（４，１３）→（５，１３）→（５，１２）→（６，１２）→（６，１１）の順に遷移して（８，１１）に決定される。
【０１２２】
同様に、物理リンク３２ｂに対するＴｘパラメータ群は、ネゴシエーションにより、（１７，２０）→（１７，１９）→（１５，１９）→（１５，１７）→（１３，１７）→（１３，１５）→（１１，１５）→（１１，１４）→（１０，１４）→（１０，１３）→（９，１３）の順に遷移して（９，１１）に決定される。
【０１２３】
また、物理リンク３２ｃに対するＴｘパラメータ群は、ネゴシエーションにより、（１，３）→（３，３）→（３，５）→（４，５）→（４，７）→（５，７）→（５，８）→（６，８）→（６，１０）の順に遷移して（８，１０）に決定される。
【０１２４】
さらに、物理リンク３２ｄに設定されるＴｘパラメータ群は、ネゴシエーションにより、（２０，３）→（１８，３）→（１８，４）→（１６，４）→（１６，５）→（１５，５）→（１５，６）→（１３，６）→（１３，７）→（１２，７）→（１２，６）の順に遷移して（１０，６）に決定される。
【０１２５】
この場合、図１４と同様の方法により、（８〜９，１０〜１１）がＴｘ許容範囲と特定され、物理リンク３２ｄについて決定された（１０，６）は、上記Ｔｘ許容範囲に収まらないため、不適切なパラメータと判定される。
【０１２６】
ここで、仮に、各物理リンクに対して同じ初期Ｔｘパラメータ群を設定してネゴシエーションを実行させた場合、ネゴシエーションにより遷移するＴｘパラメータ群のパターンが類似し、同じＴｘパラメータ群の値に決定される可能性が生じる。Ｔｘパラメータ群の遷移パターンが類似するということは、受信波形の検証が行われないＴｘパラメータ群が多数存在することを意味する。この場合、受信波形の検証が行われていないＴｘパラメータ群の中に、最適なＴｘパラメータ群の値があったとしても、そのＴｘパラメータ群の値は最適値として決定されない。そのため、図１３〜１４で説明した方法だけでは、各送信用の物理リンクについて決定されたＴｘパラメータ群のうち、不適切なＴｘパラメータ群の分布が集中する範囲が、Ｔｘ許容範囲として特定されてしまう場合がある。
【０１２７】
例えば、図１５に示すように、（１０，６）が不適切なＴｘパラメータ群であるとする。このとき、他の物理リンク３２ａ〜３２ｃに対して同じ初期Ｔｘパラメータ群（２０，１）を設定してネゴシエーションを実行した場合、図１５に示すような物理リンク３２ｄに対するネゴシエーション時と類似するパターンで、Ｔｘパラメータ群が遷移する可能性がある。その場合、各物理リンク３２ａ〜３２ｄに対するＴｘパラメータ群の分布は、不適切なＴｘパラメータ群（１０，６）に集中する可能性がある。このため、（１０，６）は、不適切なＴｘパラメータ群であるにもかかわらず適切なＴｘパラメータ群と判定され好ましくない。
【０１２８】
そこで、パラメータ制御部３４０は、各物理リンクについて異なる初期Ｔｘパラメータ群を設定した状態でネゴシエーションを実行させる。これにより、図１５に示すように、各物理リンクについてのネゴシエーションの際、物理リンク毎に異なるパターンによりＴｘパラメータ群が遷移する。そのため、各物理リンクについて決定されたＴｘパラメータ群の分布が、不適切な範囲に集中する可能性を低減できる。よって、ネゴシエーションにより決定されたパラメータの適否を精度良く判定できる。
【０１２９】
以上の図１２〜１５では、Ｔｘイコライザ３１４のＴｘパラメータについて説明したが、送信先のＳＡＳコントローラ３１ｂのＲｘイコライザ３１５において自動調整されるＲｘパラメータについても同様のことが言える。すなわち、Ｔｘイコライザ３１４のＴｘパラメータと同様、Ｒｘイコライザ３１５のＲｘパラメータについても、伝送路の距離や送信側と受信側のＳＡＳインタフェースのベンダの違いなどによって、ネゴシエーション毎および物理リンク毎にばらつきが生じる場合がある。
【０１３０】
そこで、送信側のパラメータ制御部３４０は、送信先のＳＡＳコントローラ３１ｂに設定されたＲｘパラメータについても、上記のようなＴｘパラメータと同様の判定処理を実行する。すなわち、パラメータ制御部３４０は、各物理リンクに対応するＲｘパラメータ群が一定の大きさのＲｘ許容範囲に収まるかを判定する。そして、パラメータ制御部３４０は、Ｒｘ許容範囲に収まらないＲｘパラメータ群が存在する場合には、設定されたＲｘパラメータ群が不適切であると判定する。また、送信先のＳＡＳコントローラ３１ｂは、Ｒｘパラメータ群の初期値を物理リンク毎に異なる値とすることで、各物理リンクについて決定されたＲｘパラメータ群の分布が不適切な範囲に集中する可能性を低減する。
【０１３１】
次に、図１６〜１７を用いて、ＣＭ３００ａがＴｘイコライザ３１４のパラメータを設定する処理について、フローチャートを用いて説明する。
図１６は、パラメータ群を設定する処理の例を示すフローチャートである。以下、図１６に示す処理をステップ番号に沿って説明する。
【０１３２】
（Ｓ１０１）パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄに対して、互いに異なる初期Ｔｘパラメータ群の値を通知して、対応するＴｘイコライザ３１４に設定させる。そして、パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄに対してネゴシエーションの実行を要求する。また、送信先のＳＡＳコントローラ３１ｂの送受信部３１０ｅ〜３１０ｈでも、互いに異なる初期Ｒｘパラメータ群の値が設定される。なお、送信先のＳＡＳコントローラ３１ｂにおけるＲｘパラメータの初期値設定は、例えば、送信先の装置のＣＰＵ（例えば、ＤＥ２１０のＣＰＵ２１３）の制御の下で行われる。
【０１３３】
（Ｓ１０２）物理リンク３２ａに接続する送受信部３１０ａは、ステップＳ１０１で通知された初期パラメータ群の値をＴｘイコライザ３１４に設定した状態から、Ｔｘイコライザ３１４のパラメータ設定のためのネゴシエーションを開始する。ネゴシエーションの処理の詳細は、図１７において後述する。
【０１３４】
パラメータ制御部３４０は、物理リンク３２ａに対して決定されたＴｘパラメータ群の値を送受信部３１０ａから受信する。パラメータ制御部３４０は、送受信部３１０ａから受信したＴｘパラメータ群の値を、Ｔｘパラメータテーブル３３２における該当ワイドポートＩＤおよび該当物理リンクＩＤに対応付けられた設定値の項目へ登録する。
【０１３５】
また、パラメータ制御部３４０は、ネゴシエーションが終了した時点で送信先の送受信部３１０ｅのＲｘイコライザ３１５に設定されているＲｘパラメータ群を、送受信部３１０ａを介して受信する。パラメータ制御部３４０は、送受信部３１０ａから受信したＲｘパラメータ群をＲｘパラメータテーブルに登録する。なお、Ｒｘパラメータ群は、例えば、パラメータ制御部３４０の指示によって送受信部３１０ａから送受信部３１０ｅに対してパラメータ送信が要求され、その応答として送受信部３１０ｅから送信される。
【０１３６】
（Ｓ１０３）物理リンク３２ｂに接続する送受信部３１０ｂは、ステップＳ１０１で通知された初期Ｔｘパラメータ群の値をＴｘイコライザ３１４に設定した状態から、Ｔｘイコライザ３１４のパラメータ設定のためのネゴシエーションを開始する。
【０１３７】
パラメータ制御部３４０は、物理リンク３２ｂに対して決定されたＴｘパラメータ群の値を送受信部３１０ｂから受信する。パラメータ制御部３４０は、送受信部３１０ｂから受信したＴｘパラメータ群の値を、Ｔｘパラメータテーブル３３２における該当ワイドポートＩＤおよび該当物理リンクＩＤに対応付けられた設定値の項目へ登録する。
【０１３８】
パラメータ制御部３４０は、ネゴシエーションが終了した時点で送信先の送受信部３１０ｆのＲｘイコライザ３１５に設定されているＲｘパラメータ群を、送受信部３１０ｆから送受信部３１０ｂを介して受信する。パラメータ制御部３４０は、送受信部３１０ｂから受信したＲｘパラメータ群をＲｘパラメータテーブルに登録する。
【０１３９】
（Ｓ１０４）物理リンク３２ｃに接続する送受信部３１０ｃは、ステップＳ１０１で通知された初期Ｔｘパラメータ群の値をＴｘイコライザ３１４に設定した状態から、Ｔｘイコライザ３１４のパラメータ設定のためのネゴシエーションを開始する。
【０１４０】
パラメータ制御部３４０は、物理リンク３２ｃに対して決定されたＴｘパラメータ群の値を送受信部３１０ｃから受信する。パラメータ制御部３４０は、送受信部３１０ｃから受信したＴｘパラメータ群の値を、Ｔｘパラメータテーブル３３２における該当ワイドポートＩＤおよび該当物理リンクＩＤに対応付けられた設定値の項目へ登録する。
【０１４１】
パラメータ制御部３４０は、ネゴシエーションが終了した時点で送信先の送受信部３１０ｇのＲｘイコライザ３１５に設定されているＲｘパラメータ群を、送受信部３１０ｇから送受信部３１０ｃを介して受信する。パラメータ制御部３４０は、送受信部３１０ｃから受信したＲｘパラメータ群をＲｘパラメータテーブルに登録する。
【０１４２】
（Ｓ１０５）物理リンク３２ｄに接続する送受信部３１０ｄは、ステップＳ１０１で通知された初期パラメータ群の値をＴｘイコライザ３１４に設定した状態から、Ｔｘイコライザ３１４のパラメータ設定のためのネゴシエーションを開始する。
【０１４３】
パラメータ制御部３４０は、物理リンク３２ｄに対して決定されたＴｘパラメータ群の値を送受信部３１０ｄから受信する。パラメータ制御部３４０は、送受信部３１０ｄから受信したＴｘパラメータ群の値を、Ｔｘパラメータテーブル３３２における該当ワイドポートＩＤおよび該当物理リンクＩＤに対応付けられた設定値の項目へ登録する。
【０１４４】
パラメータ制御部３４０は、ネゴシエーションが終了した時点で送信先の送受信部３１０ｈのＲｘイコライザ３１５に設定されているＲｘパラメータ群を、送受信部３１０ｈから送受信部３１０ｄを介して受信する。パラメータ制御部３４０は、送受信部３１０ｄから受信したＲｘパラメータ群をＲｘパラメータテーブルに登録する。
【０１４５】
（Ｓ１０６）パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄから受け取った最新のＴｘパラメータ群の値の分布に基づいて、Ｔｘパラメータ群のＴｘ許容範囲の位置を特定する。最新のＴｘパラメータ群の値は、Ｔｘパラメータテーブル３３２から取得される。Ｔｘ許容範囲は、前述した手順により、所定数以上のＴｘパラメータ群の値が含まれる一定の大きさの範囲として特定される。
【０１４６】
また、パラメータ制御部３４０は、Ｒｘパラメータテーブルに登録されている各送受信部３１０ａ〜３１０ｄから受け取ったＲｘパラメータ群に基づいて、Ｒｘ許容範囲の位置を特定する。Ｒｘ許容範囲は、あらかじめＲｘパラメータ毎に決められた誤差の範囲に基づいて、各送受信部３１０ａ〜３１０ｄのＴｘイコライザ３１４のパラメータ群についての許容範囲と同じ方法で特定される。例えば、Ｒｘ許容範囲は、図１３で説明したような方法で、所定数以上のＲｘパラメータ群の値が含まれる一定の大きさの範囲として特定される。
【０１４７】
（Ｓ１０７）パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄから受け取った最新のＴｘパラメータ群のうち、ステップＳ１０６で特定したＴｘ許容範囲に収まらないＴｘパラメータ群が存在するかを判定する。
【０１４８】
Ｔｘ許容範囲に収まらないＴｘパラメータ群が存在する場合、そのＴｘパラメータ群を不適切と判定し、処理をステップＳ１１０へ進める。
Ｔｘ許容範囲に収まらないＴｘパラメータ群が存在しない場合、物理リンク３２ａ〜３２ｄについて決定されたＴｘパラメータ群の値をいずれも適切と判定し、処理をステップＳ１０８へ進める。
【０１４９】
なお、ステップＳ１０６で、所定の大きさの範囲に集中するパラメータ群の数が所定値（例えば、該当するワイドリンクに属する物理リンクの数／２）以下であるため、許容範囲を特定できない場合がある。この場合、全物理リンクに対して決定されたパラメータ群が不適切であると判定し、処理をステップＳ１１０へ進める。
【０１５０】
（Ｓ１０８）パラメータ制御部３４０は、ステップＳ１０２〜Ｓ１０５で受信したＲｘパラメータ群のうち、ステップＳ１０６で特定したＲｘ許容範囲に収まらないＲｘパラメータ群が存在するかを判定する。Ｒｘ許容範囲内に収まらないＲｘパラメータ群が存在する場合、そのＲｘパラメータ群を不適切と判定し、処理をステップＳ１１０へ進める。Ｒｘ許容範囲内に収まらないＲｘパラメータ群が存在しない場合、処理をステップＳ１０９へ進める。
【０１５１】
（Ｓ１０９）パラメータ制御部３４０は、ＳＡＳコントローラ３１ａを通じた通信を開始する。ＳＡＳコントローラ３１ａにおいては、各送受信部３１０ａ〜３１０ｄの各Ｔｘイコライザ３１４に、最新のＴｘパラメータ群の値が設定された状態で、通信が開始される。また、ＳＡＳコントローラ３１ｂにおいては、各送受信部３１０ｅ〜３１０ｈの各Ｒｘイコライザ３１５に、最新のＲｘパラメータ群の値が設定された状態で、通信が開始される。
【０１５２】
（Ｓ１１０）パラメータ制御部３４０は、ステップＳ１１２によるネゴシエーションの再実行回数が閾値未満か判定する。ネゴシエーションの再実行回数が閾値未満である場合、処理をステップＳ１１１へ進める。ネゴシエーションの再実行回数が閾値以上である場合、処理をステップＳ１１３へ進める。
【０１５３】
（Ｓ１１１）ステップＳ１０７で不適切と判定されたＴｘパラメータが設定された送受信部、または、ステップＳ１０８で不適切と判定されたＲｘパラメータをテスト信号の送信先から受信した送受信部について、次のような処理が実行される。パラメータ制御部３４０は、それらの送受信部に対して、送受信部毎に、実行済みのネゴシエーション時とは異なる初期Ｔｘパラメータ群の値を通知し、対応するＴｘイコライザ３１４に設定させる。そして、パラメータ制御部３４０は、それらの送受信部に対してネゴシエーションの再実行を要求する。
【０１５４】
（Ｓ１１２）ステップＳ１１１で再実行が要求された送受信部（該当する物理リンクに対応する送受信部）は、ステップＳ１１１で通知された新たな初期Ｔｘパラメータ群をＴｘイコライザ３１４に設定した状態から、Ｔｘイコライザ３１４のパラメータ設定のためのネゴシエーションを再実行する。
【０１５５】
パラメータ制御部３４０は、ネゴシエーションを再実行した送受信部から、再実行により決定されたＴｘパラメータ群の値を受信する。パラメータ制御部３４０は、送受信部から受信したＴｘパラメータ群の値を、Ｔｘパラメータテーブル３３２における該当ワイドポートＩＤおよび該当物理リンクＩＤに対応付けられた設定値の項目へ、上書きして登録する。これにより、Ｔｘパラメータテーブル３３２には、最新のＴｘパラメータ群の値が登録されることになる。
【０１５６】
また、パラメータ制御部３４０は、ネゴシエーションの再実行が終了した時点で送信先の送受信部のＲｘイコライザに設定されているＲｘパラメータ群を、送信先の送受信部から送信元の送受信部を介して受信する。パラメータ制御部３４０は、受信したＲｘパラメータ群をＲｘパラメータテーブルに上書きして登録する。
【０１５７】
ここで、ステップＳ１０７で対応するＴｘパラメータ群の値が不適切と判定された送受信部のＴｘイコライザ３１４では、ステップＳ１１１〜Ｓ１１２において、過去のネゴシエーション実行時とは異なる初期Ｔｘパラメータ群が設定された状態から、ネゴシエーションが再実行される。これにより、ネゴシエーションにより遷移するＴｘパラメータ群のパターンが、過去の実行時とは異なるパターンとなり、その結果、より適切なＴｘパラメータ群が最適値として決定される可能性が高まる。また、ステップＳ１０８で対応するＲｘパラメータ群の値が不適切と判定された送受信部のＲｘイコライザ３１５でも、ステップＳ１１１〜Ｓ１１２において、ネゴシエーションが再実行される。これにより、より適切なＲｘパラメータ群が最適値として決定される可能性が高まる。
【０１５８】
なお、ステップＳ１１１では、例えば、過去のネゴシエーションでＴｘパラメータ群の値が適切と判定された物理リンクに対して、そのネゴシエーション時に設定された初期Ｔｘパラメータ群の値が、ネゴシエーションを再実行させる送受信部に設定されてもよい。この場合に設定される初期Ｔｘパラメータ群の値は、ネゴシエーションの再実行対象の送受信部以外の他の送受信部に対して過去に設定された値であってもよいし、再実行対象の送受信部自身に対して過去に設定された値であってもよい。いずれの場合でも、ネゴシエーションの再実行時におけるＴｘパラメータ群の遷移パターンが、過去にＴｘパラメータ群の値が適切と判定されたときと類似する可能性が高まり、その結果、より適切なＴｘパラメータ群が最適値として決定される可能性が高まる。
【０１５９】
（Ｓ１１３）パラメータ制御部３４０は、ステップＳ１０７で対応するＴｘパラメータ群の値が不適切と判定された物理リンク、または、ステップＳ１０８で対応するＲｘパラメータ群の値が不適切と判定された物理リンクを切り離すよう、ＳＡＳコントローラ３１ａの制御回路３５２ａに要求する。制御回路３５２ａは、切り離しが要求された物理リンクに接続する送受信部の動作を停止させ、残りの送受信部のみを動作させる。これにより、残りの送受信部に対応する物理リンクのみを用いて構成されたワイドポートによって、通信が開始される。
【０１６０】
なお、ステップＳ１１３では、パラメータ制御部３４０は、ステップＳ１０７で適切と判定されたいずれかのＴｘパラメータ群の値を、ステップＳ１０７で対応するＴｘパラメータ群の値が不適切と判定された各物理リンクに対応する送受信部に対して通知してもよい。この場合、通知されたＴｘパラメータ群の値は、対応するＴｘイコライザ３１４に設定される。そして、パラメータ制御部３４０は、物理リンク３２ａ〜３２ｄのすべてを用いて通信を開始させる。この場合でも、各送受信部でネゴシエーションによって決定されたＴｘパラメータ群の値をそのまま用いて通信を行った場合より、通信異常が発生する可能性は低くなり、通信の安定性が高まる。
【０１６１】
また、このように適切と判定されたいずれかのＴｘパラメータ群の値を、Ｔｘパラメータ群の値が不適切と判定された各物理リンクに対応する送受信部に強制的に設定する処理は、例えば、ステップＳ１０７の判定で適切と判定されたＴｘパラメータ群の数が所定数以上の場合に限定されてもよい。この場合の所定数としては、例えば、全物理リンク数の２／３以上といった値を用いることができる。このような限定を加えることで、Ｔｘパラメータ群の値が不適切と判定された各物理リンクにおいて、通信異常が発生する確率を低減することができる。
【０１６２】
図１７は、ネゴシエーションの処理の例を示すフローチャートである。図１７の処理は、図１６のステップＳ１０２〜Ｓ１０５およびステップＳ１１２で、該当する送受信部により実行される。図１７の処理の実行開始時には、パラメータ制御部３４０からの要求に応じて、該当する送受信部のＴｘイコライザ３１４に対して初期Ｔｘパラメータ群が設定されている。また、接続先の送受信部のＲｘイコライザ３１５でも初期Ｒｘパラメータ群が設定されている。以下、図１７に示す処理をステップ番号に沿って説明する。
【０１６３】
（Ｓ１２１）制御回路３２１は、パルスジェネレータ３１９にネゴシエーション用のテスト信号を出力させる。これにより、接続された物理リンクを介してテスト信号が接続先の送受信部へ送信される。
【０１６４】
（Ｓ１２２）接続先の送受信部では、Ｒｘイコライザ３１５の各Ｒｘパラメータが自動調整され、波形検出回路３２０での検出結果を基にネゴシエーションを終了するかが判断される。そして、接続先の送受信部から、その判断に基づくメッセージが該当する物理リンクを経由して送信される。制御回路３２１は、受信されたメッセージを取得する。
【０１６５】
（Ｓ１２３）制御回路３２１は、ステップＳ１２２で受信されたメッセージがネゴシエーション終了要求であるか判定する。受信したメッセージがネゴシエーション終了要求である場合、ネゴシエーション処理を終了する。受信したメッセージがネゴシエーション終了要求以外のメッセージ（すなわちパラメータ調整要求）である場合、処理をステップＳ１２４へ進める。
【０１６６】
（Ｓ１２４）制御回路３２１は、ステップＳ１２２で受信されたパラメータ調整要求に応じて、Ｔｘイコライザ３１４のＴｘパラメータ群の設定値を変更する。例えば、制御回路３２１は、受信したメッセージに含まれるメッセージコードが“０Ａｈ”の場合、パラメータＣ１をそのままにし、パラメータＣ２から“２”減算し、パラメータＣ３から“２”減算する。
【０１６７】
そして、処理をステップＳ１２１へ進める。
なお、上記の図１６の処理は、例えば、ＳＡＳコントローラ３１ａとＳＡＳコントローラ３１ｂとの間の通信リンクが切断された後に再接続されるたびに実行される。例えば、図１６の処理の実行タイミングとしては、ＣＭ３００ａの電源がオンになるタイミング、ＣＭ３００ａの電源がオンの状態で、ＤＥ２１０の電源がオフからオンになるタイミング等がある。このように、図１６の処理は、繰り返し実行され得る。
【０１６８】
そこで、ＣＭ３００ａは、次のような処理を実行してもよい。パラメータ制御部３４０は、図１６の処理を実行し、各物理リンクに設定するパラメータの値を決定するたびに、決定されたパラメータの値をパラメータ情報記憶部３３０に格納する。パラメータ制御部３４０は、図１６の処理が繰り返され、各物理リンクに実際に設定されたパラメータの値がパラメータ情報記憶部３３０に所定数だけ蓄積されると、各物理リンクに実際に設定されたパラメータの値の平均値を計算する。これ以後、パラメータ制御部３４０は、図１６の処理を実行する際に、初期パラメータ群として、対応する物理リンクについて計算された平均値を設定する。これにより、平均値の計算後では、通信品質を維持しつつも、図１６のパラメータ群設定処理に要する時間が短縮される可能性が高くなる。
【０１６９】
［第３の実施の形態］
次に、図１８〜１９を用いて、第３の実施の形態について説明する。第３の実施の形態は、第２の実施の形態におけるＳＡＳコントローラ間のネゴシエーションを用いたＴｘパラメータ群設定処理を変形したものである。以下、第３の実施の形態について、第２の実施の形態に示したハードウェアおよび処理機能と同じ符号を用いて説明する。
【０１７０】
図１８は、第３の実施の形態におけるＴｘパラメータ群の判定例を示す図である。図１８では、２つの送信用の物理リンクのみを含むワイドリンクに対するネゴシエーションを例に説明する。また、図１８の説明では、図５に示した物理リンク３２ａ〜３２ｄのうち、２つの物理リンク３２ａ，３２ｂのみでワイドポートを構成するものとする。図１８では、図１５と同様の内容については、説明を省略する。
【０１７１】
この場合、パラメータ制御部３４０は、まず、図１８上段に示すように、物理リンク３２ａに対して初期Ｔｘパラメータ群（１，２０）を設定して１回目のネゴシエーションを実行させる。また、物理リンク３２ｂに対して初期Ｔｘパラメータ群（２０，２０）を設定して１回目のネゴシエーションを実行させる。その結果、物理リンク３２ａに対してＴｘパラメータ群（８，１１）が決定され、物理リンク３２ｂに対してＴｘパラメータ群（９，１１）が決定されたとする。
【０１７２】
次に、パラメータ制御部３４０は、図１８下段に示すように、物理リンク３２ａに対して１回目とは異なる初期Ｔｘパラメータ群（１，１）を設定して２回目のネゴシエーションを実行させる。また、物理リンク３２ｂに対して１回目とは異なる初期Ｔｘパラメータ群（２０，１）を設定して２回目のネゴシエーションを実行させる。その結果、物理リンク３２ａに対してＴｘパラメータ群（８，１０）が決定され、物理リンク３２ｂに対してＴｘパラメータ群（１０，６）が決定されたとする。
【０１７３】
この場合、パラメータ制御部３４０は、１回目および２回目のネゴシエーションにより決定された各Ｔｘパラメータ群（８，１１）、（９，１１）、（８，１０）、（１０，６）の分布に基づいて、許容範囲を算出する。例えば、パラメータ制御部３４０は、一方の物理リンク３２ａについて決定されたＴｘパラメータ群と、他方の物理リンク３２ｂについて決定されたＴｘパラメータ群とのすべての組み合わせのそれぞれについて、前述の手順によりＴｘ許容範囲の位置を算出する。すなわち、Ｔｘパラメータ群（８，１１）、（９，１１）のペア、Ｔｘパラメータ群（８，１１）、（１０，６）のペア、Ｔｘパラメータ群（８，１０）、（９，１１）のペア、Ｔｘパラメータ群（８，１０）、（１０，６）のペアのそれぞれについて、Ｔｘ許容範囲が算出される。
【０１７４】
その結果、Ｔｘパラメータ群（８，１１）、（９，１１）のペアと、Ｔｘパラメータ群（８，１０）、（９，１１）のペアとから、ともにＴｘ許容範囲（８〜９，１０〜１１）が算出される。この場合、パラメータ制御部３４０は、Ｔｘパラメータ群（８，１１）またはＴｘパラメータ群（８，１０）を、物理リンク３２ａに対応する送受信部３１０ａに設定する適切なＴｘパラメータ群と判定し、いずれかのＴｘパラメータ群の値を送受信部３１０ａに設定する。また、パラメータ制御部３４０は、Ｔｘパラメータ群（９，１１）を、物理リンク３２ｂに対応する送受信部３１０ｂに設定する適切なＴｘパラメータ群と判定し、このＴｘパラメータ群の値を送受信部３１０ｂに設定する。
【０１７５】
図１８で説明したように、各物理リンクについて、初期Ｔｘパラメータ群を変更しながら複数回ネゴシエーションを実行する。そして、複数回のネゴシエーションにより、各物理リンクに対して決定されたＴｘパラメータ群の分布に基づいてＴｘ許容範囲を特定し、各物理リンクについて、決定されたＴｘパラメータ群のうち、特定したＴｘ許容範囲に収まるＴｘパラメータ群のいずれかを選択して設定するようにする。これにより、ワイドポートを構成する物理リンクの数が少ない場合でも（例えば、４つ未満であっても）、ネゴシエーション時のＴｘパラメータ群の値の遷移パターンを実質的に増やすことが可能であるため、適切な位置のＴｘ許容範囲が特定される可能性がより高くなる。よって、ネゴシエーションにより決定されたＴｘパラメータ群の適否を精度良く判定できる。
【０１７６】
図１９は、第３の実施の形態におけるＴｘパラメータ群の設定処理例を示すフローチャートである。本処理は、図１６と同様に、ＣＭ３００ａが、自装置が備えるＳＡＳコントローラ３１ａのＴｘイコライザ３１４のＴｘパラメータを設定するための処理を示す。すなわち、図１９の処理は、図１６の処理に代えて実行される。以下、図１９に示す処理をステップ番号に沿って説明する。
【０１７７】
（Ｓ２０１）パラメータ制御部３４０は、ワイドポートを構成する各物理リンクに対応する送受信部に対して、互いに異なる初期Ｔｘパラメータ群の値を通知して、対応するＴｘイコライザ３１４に設定させる。そして、パラメータ制御部３４０は、各送受信部にネゴシエーションの実行を要求する。なお、ワイドポートを構成する物理リンクの数は、特に限定されない。
【０１７８】
（Ｓ２０２）ネゴシエーションの実行が要求された各送受信部は、通知された初期Ｔｘパラメータ群が設定された状態からネゴシエーションを開始する。各送受信部でのネゴシエーション処理の詳細は、図８と同様である。各送受信部は、ネゴシエーションにより決定されたＴｘパラメータ群の値を、パラメータ制御部３４０に送信する。
【０１７９】
（Ｓ２０３）パラメータ制御部３４０は、各送受信部において決定されたＴｘパラメータ群の値を、パラメータ情報記憶部３３０に格納する。
（Ｓ２０４）パラメータ制御部３４０は、ステップＳ２０２，Ｓ２０３の処理を所定回数実行済みかを判定する。該当処理が所定回数実行済みでない場合、処理をステップＳ２０５に進める。該当処理が所定回数実行済みである場合、処理をステップＳ２０６に進める。
【０１８０】
（Ｓ２０５）パラメータ制御部３４０は、各物理リンクに対応する送受信部に対して、実行済みのネゴシエーション時とは異なる初期Ｔｘパラメータ群の値を通知し、対応するＴｘイコライザ３１４に設定させる。そして、パラメータ制御部３４０は、各送受信部に対してネゴシエーションの再実行を要求する。
【０１８１】
なお、通知される初期Ｔｘパラメータ群の値は、例えば、物理リンク毎に、実行済みのネゴシエーション時とは異なる値であってもよいし、あるいは、全物理リンクでの実行済みのネゴシエーションにおいて設定されたことのない値であってもよい。
【０１８２】
（Ｓ２０６）パラメータ制御部３４０は、パラメータ制御部３４０に格納された、設定済みのＴｘパラメータ群の中から、各物理リンクに対応するＴｘパラメータ群を１つずつ組み合わせて得られるＴｘパラメータ群の組み合わせを、すべて抽出する。パラメータ制御部３４０は、抽出されたＴｘパラメータ群の組み合わせのそれぞれについて、同じ大きさのＴｘ許容範囲の位置を特定する。Ｔｘ許容範囲の位置の特定方法は、図１６のステップＳ１０６と同様である。
【０１８３】
パラメータ制御部３４０は、Ｔｘパラメータ群の各組み合わせについて特定されたＴｘ許容範囲のうち、その範囲内に含まれるＴｘパラメータ群の数が最大のものを選択する。さらに、パラメータ制御部３４０は、選択されたＴｘ許容範囲の中から、その範囲に含まれるＴｘパラメータ群の値のうち最大値と最小値との差が最も小さいＴｘ許容範囲を選択する。そして、パラメータ制御部３４０は、選択したＴｘ許容範囲に対応するＴｘパラメータ群の組み合わせを、最も適切な組み合わせとして選択する。
【０１８４】
（Ｓ２０７）パラメータ制御部３４０は、選択された組み合わせに含まれるＴｘパラメータ群の値を、対応する送受信部のＴｘイコライザ３１４に設定し、各送受信部を用いた通信を開始させる。
【０１８５】
なお、上記の図１９では、送信先のＳＡＳコントローラ３１ｂの送受信部におけるＲｘパラメータの設定についての記載を省略した。しかし、ステップＳ２０１，Ｓ２０５では、Ｔｘパラメータと同様に、Ｒｘパラメータについても送受信部毎に異なる初期パラメータが設定されてもよい。
【０１８６】
なお、以上の第２および第３の実施の形態で説明したパラメータ群の設定処理は、ＰＣＩｅバスを介した通信にも適用可能である。例えば、図３のＰＣＩｅスイッチ３０３ａとＰＣＩｅスイッチ３０３ｂとの間の通信にも適用可能である。
【０１８７】
ＰＣＩｅでは、上記の説明における物理リンクは“レーン”と呼ばれる。また、複数のレーンを１つの論理的な通信ポートとして用いて通信する方法も規定されている。したがって、上記の説明における物理リンクをレーンに対応させることで、ＰＣＩｅバスを介した通信においても、第２および第３の実施の形態と同様のパラメータ群の設定処理が実現される。
【０１８８】
［第４の実施の形態］
次に、第４の実施の形態を説明する。前述の第２の実施の形態と共通する構成要素については同じ符号を付して示し、その説明を省略する。
【０１８９】
第４の実施の形態は、第２の実施の形態のストレージシステム１００に、通信異常が発生した際に異常箇所を特定する機能を追加したものである。ワイドポートを用いた通信では、通信異常が発生したとき、どの物理リンクで通信異常が発生したかを特定できることが多い。しかし、その物理リンクに関連するどのハードウェアで異常が発生しているかを特定することはできない。このため、異常発生箇所を判断して、その箇所のみを交換することができず、保守作業の効率を高めることができない。第４の実施の形態では、第２の実施の形態で示した技術を利用して、このような問題を解決する。
【０１９０】
図２０は、第４の実施の形態の送受信部のハードウェア構成例を示す図である。第４の実施の形態の送受信部３１０には、第２の実施の形態の送受信部３１０に信号線３２３ａ，３２３ｂが追加される。
【０１９１】
図２０において、信号線３２４ａ，３２４ｂは、Ｔｘイコライザ３１４から図示しないコネクタを介して通信相手の送受信部に信号を送信するための差動信号線である。また、信号線３２５ａ，３２５ｂは、Ｒｘイコライザ３１５が通信相手の送受信部から図示しないコネクタを介して信号を受信するための差動信号線である。信号線３２３ａ，３２３ｂは、Ｔｘイコライザ３１４の出力をＲｘイコライザ３１５の入力に接続するための信号線である。Ｔｘイコライザ３１４は、制御回路３２１からの指示に基づいて、信号線３２４ａ，３２４ｂと信号線３２３ａ，３２３ｂの一方のみに信号が流れるようにする。また、Ｒｘイコライザ３１５は、制御回路３２１からの指示に基づいて、信号線３２５ａ，３２５ｂと信号線３２３ａ，３２３ｂの一方のみに信号が流れるようにする。なお、以下の説明では、信号線３２３ａ，３２３ｂに信号が流れる状態を「ループバック状態」と記載する。
【０１９２】
送受信部３１０は、ＳＡＳコントローラの外部のＣＰＵ（例えば、ＣＭ２００ａのＣＰＵ３０１ａ）からの指示に応じて、ループバック状態でのパラメータ設定のためのネゴシエーションを行うことができる。このネゴシエーションが指示された場合、制御回路３２１は、信号線３２３ａ，３２３ｂに信号が流れるループバック状態にするようにＴｘイコライザ３１４およびＲｘイコライザ３１５に指示する。そして、第２の実施の形態での送信側のＴｘイコライザ３１４と受信側のＲｘイコライザ３１５との間のネゴシエーションと同様の手順で、同じ送受信部３１０におけるＴｘイコライザ３１４とＲｘイコライザ３１５との間でネゴシエーションが行われる。
【０１９３】
ループバック状態でのネゴシエーションでは、制御回路３２１の制御の下で、ＰＧ３１９から出力されたテスト信号がＴｘイコライザ３１４から信号線３２３ａ，３２３ｂを介してＲｘイコライザ３１５に送信される。Ｒｘイコライザ３１５は、Ｒｘパラメータを自動調整して受信波形を整形し、整形された波形が波形検出回路３２０によって検出されて、検出結果が制御回路３２１に通知される。制御回路３２１は、通知された検出結果が所定の基準を満たさない場合には、Ｔｘパラメータの設定値を変更して再度テスト信号を送信させる。制御回路３２１は、波形検出回路３２０から通知される検出結果が所定の基準を満たすまで上記処理を繰り返し、検出結果が基準を満たしたときのＴｘパラメータおよびＲｘパラメータを、決定値として外部のＣＰＵに出力する。
【０１９４】
すなわち、ループバック状態でのネゴシエーションは、第２の実施の形態で示した送信側と受信側とのネゴシエーションを同一の送受信部内で疑似的に実行するものである。ループバック状態でのネゴシエーションは、制御回路３２１によって送信側と受信側の両方の動作が制御され、図９に示したＴｘパラメータ変更のためのメッセージが送受信部間で送受信されない点で、第２の実施の形態で示した送信側と受信側とのネゴシエーションとは異なる。
【０１９５】
第４の実施の形態のストレージシステム１００においては、少なくとも、図５に示すように互いに通信するＳＡＳコントローラ３１ａ，３１ｂがそれぞれ異なる装置に搭載されている場合に、そのＳＡＳコントローラ３１ａの送受信部３１０ａ〜３１０ｄおよびＳＡＳコントローラ３１ｂの送受信部３１０ｅ〜３１０ｈは、図２０の送受信部３１０と同様の構成を有する。そして、第４の実施の形態では、そのようなＳＡＳコントローラ３１ａ，３１ｂを接続するいずれかの物理リンクにおいて通信異常が発生した場合に、異常箇所がＳＡＳコントローラ３１ａか、ＳＡＳコントローラ３１ｂか、それ以外の箇所（例えば伝送路）かを判別可能にする。
【０１９６】
以下の説明では、例として、ＣＭ３００ａのＳＡＳエクスパンダ３０６ａとＤＥ２１０２１０のＳＡＳエクスパンダ２１１ａとを、異常箇所の特定に関する説明の対象とする。具体的には、ＳＡＳコントローラ３１ａはＣＭ３００ａのＳＡＳエクスパンダ３０６ａに搭載され、ＳＡＳコントローラ３１ｂはＤＥ２１０のＳＡＳエクスパンダ２１１ａに搭載されるものとする。
【０１９７】
上記のＳＡＳコントローラ３１ａ，３１ｂの間の通信に関しては、通信開始前におけるループバックトレーニングと、通信異常発生時のループバックテストとが実行される。ループバックトレーニングでは、送受信部３１０ａ〜３１０ｈがループバック状態にされ、送受信部３１０ａ〜３１０ｈのそれぞれにおいて、パラメータ設定のためのネゴシエーションが行われる。ＣＭ３００ａは、ネゴシエーションの結果得られたＴｘパラメータおよびＲｘパラメータに基づいて、ＳＡＳコントローラ３１ａ，３１ｂのそれぞれについてのＴｘ許容範囲およびＲｘ許容範囲を特定し、これらの値を保持する。
【０１９８】
また、ＳＡＳコントローラ３１ａ，３１ｂの間で通信が開始された後、いずれかの物理リンクで通信異常が発生すると、その物理リンクに対応する送受信部についてのループバックテストが実行される。ループバックテストでは、送受信部がループバック状態にされ、ループバックトレーニングと同様の手順でパラメータ設定のためのネゴシエーションが行われる。ＣＭ３００ａは、ネゴシエーションの結果得られたＴｘパラメータおよびＲｘパラメータが、ループバックトレーニングで特定されたＴｘ許容範囲およびＲｘ許容範囲に含まれるかを判定することにより、異常箇所を特定する。
【０１９９】
図２１は、第４の実施の形態のＣＭの機能例を示すブロック図である。なお、図２１ではＣＭ３００ａについて示すが、ＣＭ３００ｂもＣＭ３００ａと同様の機能を備えていてもよい。第４の実施の形態のＣＭ３００ａには、第２の実施の形態のＣＭ３００ａにエラー処理部３５０が追加される。エラー処理部３５０は、例えば、ＣＭ３００ａが備えるＣＰＵ３０１ａが所定のプログラムを実行することで実現される。
【０２００】
また、パラメータ情報記憶部３３０には、Ｔｘトレーニングテーブル、Ｒｘトレーニングテーブル、Ｔｘ許容範囲テーブルおよびＲｘ許容範囲テーブルが追加されて記憶される。Ｔｘトレーニングテーブルには、ループバックトレーニングによって送受信部３１０ａ〜３１０ｈのそれぞれにおいて決定されたＴｘパラメータ群の値が登録される。Ｒｘトレーニングテーブルには、ループバックトレーニングによって送受信部３１０ａ〜３１０ｈのそれぞれにおいて決定されたＲｘパラメータ群の値が登録される。Ｔｘ許容範囲テーブルには、ループバックトレーニングによって決定されたＴｘパラメータ群に基づいて特定されたＴｘ許容範囲を示す情報が登録される。Ｒｘ許容範囲テーブルには、ループバックトレーニングによって決定されたＲｘパラメータ群に基づいて特定されたＴｘ許容範囲を示す情報が登録される。
【０２０１】
次に、第２の実施の形態のパラメータ制御部３４０に追加される機能を説明する。パラメータ制御部３４０は、図１６のパラメータ群設定処理を実行する前に、Ｔｘ許容範囲およびＲｘ許容範囲を決定するためのループバックトレーニングを実行する。パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄに対してループバック状態でネゴシエーションを実行するように指示する。この際、パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄに対して、互いに異なる初期Ｔｘパラメータ群および初期Ｒｘパラメータ群の値を通知する。各送受信部３１０ａ〜３１０ｄでは、ループバック状態でパラメータ設定のためのネゴシエーションが実行され、Ｔｘパラメータ群およびＲｘパラメータ群が決定される。パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄから、決定されたＴｘパラメータ群およびＲｘパラメータ群を取得する。パラメータ制御部３４０は、取得したＴｘパラメータ群をＴｘトレーニングテーブルに登録し、取得したＲｘパラメータ群をＲｘトレーニングテーブルに登録する。
【０２０２】
パラメータ制御部３４０は、Ｔｘトレーニングテーブルを参照し、各送受信部３１０ａ〜３１０ｄから取得したＴｘパラメータ群の値の分布に基づいて、Ｔｘ許容範囲の位置を特定する。Ｔｘ許容範囲は、例えば、図１３で説明したように、所定数以上のＴｘパラメータ群の値が含まれる一定の大きさの範囲として特定される。パラメータ制御部３４０は、特定したＴｘ許容範囲をＴｘ許容範囲テーブルに登録する。また、パラメータ制御部３４０は、Ｒｘトレーニングテーブルを参照し、各送受信部３１０ａ〜３１０ｄから取得したＲｘパラメータ群に基づいて、Ｒｘ許容範囲を特定する。パラメータ制御部３４０は、特定したＲｘ許容範囲をＲｘ許容範囲テーブルに登録する。
【０２０３】
ここで、ＳＡＳコントローラ３１ａとＳＡＳコントローラ３１ｂとの間で正式に通信が開始される前に、ＳＡＳコントローラ３１ｂの各送受信部３１０ｅ〜３１０ｈでも、ループバック状態でネゴシエーションが実行される。例えば、ＤＥ２１０への電源投入直後にネゴシエーションが実行される。各送受信部３１０ｅ〜３１０ｈには、ＣＰＵ２１３により、互いに異なる初期Ｔｘパラメータ群および初期Ｒｘパラメータ群の値が通知される。初期Ｔｘパラメータ群および初期Ｒｘパラメータ群は、フラッシュメモリ２１４に記憶されている。各送受信部３１０ｅ〜３１０ｈでは、ループバック状態でネゴシエーションが実行され、Ｔｘパラメータ群およびＲｘパラメータ群が決定される。パラメータ制御部３４０は、各送受信部３１０ｅ〜３１０ｈから、決定されたＴｘパラメータ群およびＲｘパラメータ群を取得する。パラメータ制御部３４０は、取得したＴｘパラメータ群をＴｘトレーニングテーブルに登録し、取得したＲｘパラメータ群をＲｘトレーニングテーブルに登録する。
【０２０４】
パラメータ制御部３４０は、Ｔｘトレーニングテーブルを参照し、各送受信部３１０ｅ〜３１０ｈから取得したＴｘパラメータ群の値の分布に基づいて、Ｔｘ許容範囲の位置を特定する。パラメータ制御部３４０は、特定したＴｘ許容範囲をＴｘ許容範囲テーブルに登録する。また、パラメータ制御部３４０は、Ｒｘトレーニングテーブルを参照し、各送受信部３１０ｅ〜３１０ｈから取得したＲｘパラメータ群に基づいて、Ｒｘ許容範囲を特定する。パラメータ制御部３４０は、特定したＲｘ許容範囲をＲｘ許容範囲テーブルに登録する。
【０２０５】
このように、Ｔｘ許容範囲テーブルには、ＣＭ側の送受信部３１０ａ〜３１０ｄに対応するＴｘ許容範囲と、ＤＥ側の送受信部３１０ｅ〜３１０ｈに対応するＴｘ許容範囲とが登録される。同様に、Ｒｘ許容範囲テーブルには、ＣＭ側の送受信部３１０ａ〜３１０ｄに対応するＲｘ許容範囲と、ＤＥ側の送受信部３１０ｅ〜３１０ｈに対応するＲｘ許容範囲とが登録される。登録されたＴｘ許容範囲およびＲｘ許容範囲は、通信異常が発生した際に、ＣＭ側の送受信部およびＤＥ側の送受信部それぞれが異常であるか否かを判定するための指標として用いられる。ここで、ＣＭ側の送受信部とＤＥ側の送受信部とでそれぞれ個別に許容範囲を特定するのは、ＣＭ側の送受信部とＤＥ側の送受信部とのベンダが異なることや、各送受信部の設置環境（例えば温度）が異なることにより、ＣＭ側の送受信部とＤＥ側の送受信部とでは許容範囲が異なると考えられるからである。
【０２０６】
エラー処理部３５０は、ＳＡＳコントローラ３１ａ，３１ｂ間の通信が開始された後、通信異常が発生している物理リンクを検知すると、管理端末１３０にワーニングを通知するとともにループバックテストを実行する。エラー処理部３５０は、通信異常が発生した物理リンクに接続しているＣＭ側の送受信部とＤＥ側の送受信部とにループバック状態でネゴシエーションを実行するように指示する。エラー処理部３５０は、ＣＭ側の送受信部とＤＥ側の送受信部から、ネゴシエーションにより決定されたＴｘパラメータ群およびＲｘパラメータ群を取得する。
【０２０７】
エラー処理部３５０は、ＣＭ側の送受信部が決定したＴｘパラメータ群がループバックトレーニングによって特定されたＣＭ側の送受信部に対応するＴｘ許容範囲に収まっていない場合、ＣＭ側の送受信部を異常箇所と判断する。また、エラー処理部３５０は、ＣＭ側の送受信部が決定したＲｘパラメータ群がループバックトレーニングによって特定されたＣＭ側の送受信部に対応するＲｘ許容範囲に収まっていない場合にも、ＣＭ側の送受信部を異常箇所と判断する。
【０２０８】
エラー処理部３５０は、ＤＥ側の送受信部が決定したＴｘパラメータ群がループバックトレーニングによって特定されたＤＥ側の送受信部に対応するＴｘ許容範囲に収まっていない場合、ＤＥ側の送受信部を異常箇所と判断する。また、エラー処理部３５０は、ＤＥ側の送受信部が決定したＲｘパラメータ群がループバックトレーニングによって特定されたＤＥ側の送受信部に対応するＲｘ許容範囲に収まっていない場合にも、ＤＥ側の送受信部を異常箇所と判断する。
【０２０９】
エラー処理部３５０は、ＣＭ側の送受信部およびＤＥ側の送受信部を異常箇所と判断しなかった場合、通信異常が発生している物理リンクの伝送路を異常箇所と判断する。エラー処理部３５０は、異常箇所を示す情報を管理端末１３０に表示させる。
【０２１０】
図２２は、Ｔｘトレーニングテーブルの例を示す図である。Ｔｘトレーニングテーブル３３３は、パラメータ情報記憶部３３０に格納される。
Ｔｘトレーニングテーブル３３３は、ワイドポートＩＤ、物理リンクＩＤ、パラメータ種別および設定値の項目を有する。ワイドポートＩＤの項目には、ワイドポートを識別するための識別子が登録される。ワイドポートＩＤは、ＳＡＳコントローラに対応付けられている。このため、Ｔｘトレーニングテーブル３３３には、互いに接続された２つのＳＡＳコントローラに対応する２つのワイドポートＩＤが、少なくとも登録される。物理リンクＩＤには、対応するワイドポートに属する物理リンクを識別するための識別子が登録される。パラメータ種別の項目には、Ｔｘパラメータの種別を示す情報が登録される。設定値の項目には、パラメータ種別に対して設定されているＴｘパラメータ群が登録される。
【０２１１】
なお、Ｒｘトレーニングテーブルは、Ｔｘトレーニングテーブル３３３と同じ項目を有するため、説明を省略する。Ｒｘトレーニングテーブルのパラメータ種別には、Ｒｘパラメータの種別を示す情報が登録される。
【０２１２】
図２３は、Ｔｘ許容範囲テーブルの例を示す図である。Ｔｘ許容範囲テーブル３３４は、パラメータ情報記憶部３３０に格納される。Ｔｘ許容範囲テーブル３３４は、ワイドポートＩＤ、パラメータ種別および範囲の項目を有する。
【０２１３】
ワイドポートＩＤの項目には、ワイドポートを識別するための識別子が登録される。パラメータ種別の項目には、Ｔｘパラメータの種別を示す情報が登録される。範囲の項目には、パラメータ種別に対応するＴｘ許容範囲を示す情報が登録される。Ｔｘ許容範囲を示す情報とは、Ｔｘ許容範囲の幅ではなく位置を示すものであり、具体的にはその範囲の下限値と上限値とを示す。
【０２１４】
なお、Ｒｘ許容範囲テーブルは、Ｔｘ許容範囲テーブル３３４と同じ項目を有するため、説明を省略する。Ｒｘ許容範囲テーブルのパラメータ種別には、Ｒｘパラメータの種別を示す情報が登録される。
【０２１５】
図２４は、ループバックトレーニングの例（その１）を示すフローチャートである。以下、図２４に示す処理をステップ番号に沿って説明する。図２４の処理は、例えば、ＣＭ３００ａが起動した直後に実行される。
【０２１６】
（Ｓ３０１）パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄに対して、互いに異なる初期Ｔｘパラメータ群の値を通知して、対応するＴｘイコライザ３１４に設定させる。また、パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄに対して、互いに異なる初期Ｒｘパラメータ群の値を通知して、対応するＲｘイコライザ３１５に設定させる。そして、パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄに対してループバック状態でネゴシエーションを実行するように指示する。
【０２１７】
（Ｓ３０２）各送受信部３１０ａ〜３１０ｄは、ステップＳ３０１で通知された初期Ｔｘパラメータ群および初期Ｒｘパラメータ群の値をＴｘイコライザ３１４およびＲｘイコライザ３１５にそれぞれ設定する。そして、各送受信部３１０ａ〜３１０ｄは、Ｔｘイコライザ３１４とＲｘイコライザ３１５との間でネゴシエーションを実行する。
【０２１８】
例えば、送受信部３１０ａは、ステップＳ３０１で通知された初期Ｔｘパラメータ群および初期Ｒｘパラメータ群の値を、送受信部３１０ａ内のＴｘイコライザ３１４およびＲｘイコライザ３１５にそれぞれに設定する。そして、送受信部３１０ａは、送受信部３１０ａ内のＴｘイコライザ３１４とＲｘイコライザ３１５との間でネゴシエーションを実行する。ネゴシエーションの手順は、図２０の箇所で説明した通りである。送受信部３１０ａは、ネゴシエーションにより、Ｔｘイコライザ３１４のＴｘパラメータ群とＲｘイコライザ３１５のＲｘパラメータ群とを決定する。送受信部３１０ｂ〜３１０ｄでも、同様にＴｘパラメータ群とＲｘパラメータ群とが決定される。
【０２１９】
各送受信部３１０ａ〜３１０ｄは、決定されたＴｘパラメータ群およびＲｘパラメータ群の値をパラメータ制御部３４０に送信する。パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄから受信したＴｘパラメータ群およびＲｘパラメータ群の値を、それぞれＴｘトレーニングテーブル３３３およびＲｘトレーニングテーブルに登録する。
【０２２０】
（Ｓ３０３）パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄから受け取ったＴｘパラメータ群の値の分布に基づいて、Ｔｘ許容範囲の位置を特定する。Ｔｘパラメータ群の値は、Ｔｘトレーニングテーブル３３３から取得される。Ｔｘ許容範囲は、例えば、図１３で説明したように、所定数以上のＴｘパラメータ群の値が含まれる一定の大きさの範囲として特定される。パラメータ制御部３４０は、特定したＴｘ許容範囲をＴｘ許容範囲テーブル３３４に登録する。
【０２２１】
また、パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄから受け取ったＲｘパラメータ群の値の分布に基づいて、Ｒｘ許容範囲の位置を特定する。Ｒｘパラメータ群の値は、Ｒｘトレーニングテーブルから取得される。Ｒｘ許容範囲も、Ｔｘ許容範囲と同様に、所定数以上のＲｘパラメータ群の値が含まれる一定の大きさの範囲として特定される。パラメータ制御部３４０は、特定したＲｘ許容範囲をＲｘ許容範囲テーブルに登録する。
【０２２２】
（Ｓ３０４）パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄから受け取ったＴｘパラメータ群のうち、ステップＳ３０３で特定したＴｘ許容範囲に収まらないＴｘパラメータ群が存在するか判定する。Ｔｘ許容範囲に収まらないＴｘパラメータ群が存在する場合、処理をステップＳ３０６へ進める。Ｔｘ許容範囲に収まらないＴｘパラメータ群が存在しない場合、処理をステップＳ３０５へ進める。
【０２２３】
（Ｓ３０５）パラメータ制御部３４０は、各送受信部３１０ａ〜３１０ｄから受け取ったＲｘパラメータ群のうち、ステップＳ３０３で特定したＲｘ許容範囲に収まらないＲｘパラメータ群が存在するか判定する。Ｒｘ許容範囲に収まらないＲｘパラメータ群が存在する場合、処理をステップＳ３０６へ進める。Ｒｘ許容範囲に収まらないＲｘパラメータ群が存在しない場合、パラメータ制御部３４０は、図１６のパラメータ群設定処理を実行する。そして、ＣＭ３００ａまたはＣＭ３００ｂとＤＥ２１０との間で通信が可能になった場合、処理をステップＳ３１１へ進める。
【０２２４】
（Ｓ３０６）パラメータ制御部３４０は、Ｔｘ許容範囲に収まらないＴｘパラメータ群またはＲｘ許容範囲に収まらないＲｘパラメータ群を送信した送受信部が異常である旨のエラー通知を管理端末１３０に行う。そして、処理を終了する。
【０２２５】
図２５は、ループバックトレーニングの例（その２）を示すフローチャートである。以下、図２５に示す処理をステップ番号に沿って説明する。
（Ｓ３１１）ＤＥ２１０では、このステップＳ３１１の実行までの期間において、ＣＰＵ２１３の制御の下で各送受信部３１０ｅ〜３１０ｈにおけるループバック状態でのネゴシエーションが実行されている。例えば、ＤＥ２１０が起動した直後にこのネゴシエーションが実行される。
【０２２６】
パラメータ制御部３４０は、ＤＥ２１０のＣＰＵ２１３に対してパラメータ送信要求を送信する。パラメータ制御部３４０は、ＤＥ２１０のＣＰＵ２１３から、各送受信部３１０ｅ〜３１０ｈで決定されたＴｘパラメータ群およびＲｘパラメータ群の値を取得する。パラメータ制御部３４０は、取得したＴｘパラメータ群およびＲｘパラメータ群の値を、それぞれＴｘトレーニングテーブル３３３およびＲｘトレーニングテーブルに登録する。
【０２２７】
（Ｓ３１２）パラメータ制御部３４０は、Ｔｘトレーニングテーブル３３３を参照し、各送受信部３１０ｅ〜３１０ｈで決定されたＴｘパラメータ群の値の分布に基づいて、Ｔｘ許容範囲の位置を特定する。パラメータ制御部３４０は、特定したＴｘ許容範囲をＴｘ許容範囲テーブル３３４に登録する。また、パラメータ制御部３４０は、Ｒｘトレーニングテーブルを参照し、各送受信部３１０ｅ〜３１０ｈで決定されたＲｘパラメータ群の値の分布に基づいて、Ｒｘ許容範囲の位置を特定する。パラメータ制御部３４０は、特定したＲｘ許容範囲をＲｘ許容範囲テーブルに登録する。
【０２２８】
（Ｓ３１３）パラメータ制御部３４０は、各送受信部３１０ｅ〜３１０ｈで決定されたＴｘパラメータ群のうち、ステップＳ３１２で特定したＴｘ許容範囲に収まらないＴｘパラメータ群が存在するか判定する。Ｔｘ許容範囲に収まらないＴｘパラメータ群が存在する場合、処理をステップＳ３１５へ進める。Ｔｘ許容範囲に収まらないＴｘパラメータ群が存在しない場合、処理をステップＳ３１４へ進める。
【０２２９】
（Ｓ３１４）パラメータ制御部３４０は、各送受信部３１０ｅ〜３１０ｈで決定されたＲｘパラメータ群のうち、ステップＳ３１２で特定したＲｘ許容範囲に収まらないＲｘパラメータ群が存在するか判定する。Ｒｘ許容範囲に収まらないＲｘパラメータ群が存在する場合、処理をステップＳ３１５へ進める。Ｒｘ許容範囲に収まらないＲｘパラメータ群が存在しない場合、処理を終了する。
【０２３０】
（Ｓ３１５）パラメータ制御部３４０は、Ｔｘ許容範囲に収まらないＴｘパラメータ群またはＲｘ許容範囲に収まらないＲｘパラメータ群が決定された送受信部が異常である旨のエラー通知を管理端末１３０に行う。そして、処理を終了する。
【０２３１】
図２４〜２５の処理によれば、ステップＳ３０６またはステップＳ３１５の処理が実行されなければ、Ｔｘ許容範囲テーブル３３４には、ＣＭ側の送受信部３１０ａ〜３１０ｄに対応するＴｘ許容範囲と、ＤＥ側の送受信部３１０ｅ〜３１０ｈに対応するＴｘ許容範囲とが登録される。これとともに、Ｒｘ許容範囲テーブルには、ＣＭ側の送受信部３１０ａ〜３１０ｄに対応するＲｘ許容範囲と、ＤＥ側の送受信部３１０ｅ〜３１０ｈに対応するＲｘ許容範囲とが登録される。
【０２３２】
図２６は、ＤＥのＳＡＳコントローラにおけるネゴシエーション処理の例を示すフローチャートである。図２６は、例えば、ＤＥ２１０が起動した直後に実行される。
（Ｓ３２１）ＤＥ２１０のＣＰＵ２１３は、各送受信部３１０ｅ〜３１０ｈに対して、互いに異なる初期Ｔｘパラメータ群の値を通知して、対応するＴｘイコライザ３１４に設定させる。また、ＣＰＵ２１３は、各送受信部３１０ｅ〜３１０ｈに対して、互いに異なる初期Ｒｘパラメータ群の値を通知して、対応するＲｘイコライザ３１５に設定させる。そして、ＣＰＵ２１３は、各送受信部３１０ｅ〜３１０ｈに対してループバック状態でネゴシエーションを実行するように指示する。
【０２３３】
（Ｓ３２２）各送受信部３１０ｅ〜３１０ｈは、ステップＳ３２１で通知された初期Ｔｘパラメータ群および初期Ｒｘパラメータ群の値をＴｘイコライザ３１４およびＲｘイコライザ３１５にそれぞれ設定する。そして、各送受信部３１０ｅ〜３１０ｈは、Ｔｘイコライザ３１４とＲｘイコライザ３１５との間でネゴシエーションを実行する。これにより、各送受信部３１０ｅ〜３１０ｈにおいて、Ｔｘパラメータ群とＲｘパラメータ群とが決定される。各送受信部３１０ｅ〜３１０ｈは、決定したＴｘパラメータ群とＲｘパラメータ群とをＣＰＵ２１３に送信する。
【０２３４】
（Ｓ３２３）ＣＰＵ２１３は、ＣＭ３００ａのパラメータ制御部３４０からパラメータ送信要求を受信したかを判定する。パラメータ送信要求を受信していない場合、ＣＰＵ２１３は、一定時間後にステップＳ３２３の処理を再度実行する。パラメータ送信要求を受信した場合、処理をステップＳ３２４に進める。なお、パラメータ送信要求は、図２５のステップＳ３１１においてパラメータ制御部３４０から送信される。
【０２３５】
（Ｓ３２４）ＣＰＵ２１３は、Ｔｘパラメータ群とＲｘパラメータ群とをパラメータ制御部３４０に送信する。
なお、例えば、上記のステップＳ３２３，Ｓ３２４および図２５のステップＳ３１２が実行される代わりに、ステップＳ３２２の後に、ＤＥ２１０のＣＰＵ２１３によって送受信部３１０ｅ〜３１０ｈに対応するＴｘ許容範囲およびＲｘ許容範囲が特定されてもよい。この場合、ＣＭ３００ａのパラメータ制御部３４０は、ＤＥ２１０において特定された送受信部３１０ｅ〜３１０ｈに対応するＴｘ許容範囲およびＲｘ許容範囲を取得して、それぞれＴｘトレーニングテーブル３３３およびＲｘトレーニングテーブルに登録する。さらに、例えば、図２５のステップＳ３１３〜Ｓ３１５の判定処理も、ＤＥ２１０のＣＰＵ２１３によって実行されてもよい。この場合、エラーと判定されなかった場合のみ、送受信部３１０ｅ〜３１０ｈに対応するＴｘ許容範囲およびＲｘ許容範囲がＤＥ２１０のＣＰＵ２１３からＣＭ３００ａのパラメータ制御部３４０に送信される。
【０２３６】
図２７は、ループバック状態でのネゴシエーションの処理の例を示すフローチャートである。図２７の処理は、図２４のステップＳ３０２や、図２６のステップＳ３２２、後述する図２８のステップＳ３４４で、該当する送受信部により実行される。なお、図２７の実行開始前に、パラメータ制御部３４０やＤＥ２１０のＣＰＵ２１３から初期Ｔｘパラメータ群および初期Ｒｘパラメータ群が指定されている場合、図２７の開始時には、指定された初期Ｔｘパラメータ群がＴｘイコライザ３１４に設定され、指定された初期Ｒｘパラメータ群がＲｘイコライザ３１５に設定される。以下、図２７に示す処理をステップ番号に沿って説明する。
【０２３７】
（Ｓ３３１）制御回路３２１は、信号線３２３ａ，３２３ｂに信号が流れるループバック状態にする。
（Ｓ３３２）制御回路３２１は、パルスジェネレータ３１９にネゴシエーション用のテスト信号を出力させる。これにより、Ｔｘイコライザ３１４からＲｘイコライザ３１５に対してテスト信号が送信される。
【０２３８】
（Ｓ３３３）Ｒｘイコライザ３１５は、Ｒｘパラメータを自動調整して受信波形を整形する。波形検出回路３２０は、整形された波形の検出結果を制御回路３２１に通知する。制御回路３２１は、波形の検出結果を受信する。
【０２３９】
（Ｓ３３４）制御回路３２１は、波形の検出結果が所定の基準を満たすかを判定する。基準を満たさない場合、処理をステップＳ３３５に進める。基準を満たした場合、この時点でＴｘイコライザ３１４およびＲｘイコライザ３１５にそれぞれ設定されているＴｘパラメータ群およびＲｘパラメータ群が、ネゴシエーションによる最適値として決定される。そして、処理を終了する。
【０２４０】
（Ｓ３３５）制御回路３２１は、波形の検出結果と基準との比較に基づいて、Ｔｘイコライザ３１４のＴｘパラメータ群の設定値を変更する。
図２８は、異常箇所を特定する処理の例（その１）を示すフローチャートである。以下、図２８に示す処理をステップ番号に沿って説明する。
【０２４１】
（Ｓ３４１）エラー処理部３５０は、通信異常が発生していることを検知する。また、エラー処理部３５０は、どの物理リンクで通信異常が発生したかも検知する。
（Ｓ３４２）エラー処理部３５０は、通信異常が発生している物理リンク以外の物理リンクによってワイドポートを構成し、当該ワイドポートで運用を継続させる。例えば、物理リンク３２ａに通信異常が発生している場合、エラー処理部３５０は、物理リンク３２ｂ〜３２ｄで運用を継続させる。以下、物理リンク３２ａに通信異常が発生したものとして説明する。
【０２４２】
（Ｓ３４３）エラー処理部３５０は、管理端末１３０にワーニングを通知する。これにより、管理者は、通信異常が発生していることを認識できる。また、エラー処理部３５０は、どの物理リンクに通信異常が発生しているかを管理端末１３０に通知してもよい。
【０２４３】
（Ｓ３４４）エラー処理部３５０は、通信異常が発生した物理リンク３２ａに接続された送受信部３１０ａ，３１０ｅに、ループバック状態でネゴシエーションを実行するように指示する。なお、送受信部３１０ｅに対するネゴシエーションの実行指示は、例えば、物理リンク３２ｂ〜３２ｄによるワイドポートを介して、ＤＥ２１０のＣＰＵ２１３に送信される。ＣＰＵ２１３は、受信した実行指示に応じて、送受信部３１０ｅにネゴシエーションの実行を指示する。
【０２４４】
送受信部３１０ａは、信号線３２３ａ，３２３ｂに信号が流れるループバック状態にし、送受信部３１０ａ内のＴｘイコライザ３１４とＲｘイコライザ３１５との間でネゴシエーションを実行する。これにより、送受信部３１０ａについてのＴｘパラメータ群とＲｘパラメータ群とが決定される。送受信部３１０ａは、決定されたＴｘパラメータ群とＲｘパラメータ群をエラー処理部３５０に送信する。
【０２４５】
送受信部３１０ｅは、信号線３２３ａ，３２３ｂに信号が流れるループバック状態にし、送受信部３１０ｅ内のＴｘイコライザ３１４とＲｘイコライザ３１５との間でネゴシエーションを実行する。これにより、送受信部３１０ｅについてのＴｘパラメータ群とＲｘパラメータ群とが決定される。送受信部３１０ｅは、Ｔｘパラメータ群とＲｘパラメータ群をＣＰＵ２１３に送信し、ＣＰＵ２１３は、受信したＴｘパラメータ群とＲｘパラメータ群をＣＭ３００ａのエラー処理部３５０に送信する。
【０２４６】
（Ｓ３４５）エラー処理部３５０は、送受信部３１０ａで決定されたＴｘパラメータ群とＲｘパラメータ群を受信する。また、エラー処理部３５０は、送受信部３１０ｅで決定されたＴｘパラメータ群とＲｘパラメータ群を受信する。そして、処理をステップＳ３５１に進める。
【０２４７】
図２９は、異常箇所を特定する処理の例（その２）を示すフローチャートである。以下、図２９に示す処理をステップ番号に沿って説明する。
（Ｓ３５１）エラー処理部３５０は、Ｔｘ許容範囲テーブル３３４を参照し、ＣＭ３００ａ側の送受信部３１０ａが決定したＴｘパラメータ群がステップＳ３０３で特定したＴｘ許容範囲に収まるか否かを判定する。Ｔｘパラメータ群がＴｘ許容範囲に収まらない場合、処理をステップＳ３５３に進める。パラメータ群が許容範囲に収まる場合、処理をステップＳ３５２に進める。
【０２４８】
（Ｓ３５２）エラー処理部３５０は、Ｒｘ許容範囲テーブルを参照し、ＣＭ３００ａ側の送受信部３１０ａのＲｘイコライザ３１５に設定されているＲｘパラメータ群がステップＳ３０３で特定したＲｘ許容範囲に収まるか否かを判定する。Ｒｘパラメータ群がＲｘ許容範囲に収まらない場合、処理をステップＳ３５３に進める。Ｒｘパラメータ群がＲｘ許容範囲に収まる場合、処理をステップＳ３５４に進める。
【０２４９】
（Ｓ３５３）エラー処理部３５０は、送受信部３１０ａを異常箇所と判断する。そして、処理をステップＳ３５９に進める。
（Ｓ３５４）エラー処理部３５０は、Ｔｘ許容範囲テーブル３３４を参照し、ＤＥ２１０側の送受信部３１０ｅが決定したＴｘパラメータ群がステップＳ３１２で特定したＴｘ許容範囲に収まるか否かを判定する。Ｔｘパラメータ群がＴｘ許容範囲に収まらない場合、処理をステップＳ３５６に進める。Ｔｘパラメータ群がＴｘ許容範囲に収まる場合、処理をステップＳ３５５に進める。
【０２５０】
（Ｓ３５５）エラー処理部３５０は、Ｒｘ許容範囲テーブルを参照し、ＤＥ２１０側の送受信部３１０ｅのＲｘイコライザ３１５に設定されているＲｘパラメータ群がステップＳ３１２で特定したＲｘ許容範囲に収まるか否かを判定する。Ｒｘパラメータ群がＲｘ許容範囲に収まらない場合、処理をステップＳ３５６に進める。Ｒｘパラメータ群がＲｘ許容範囲に収まる場合、処理をステップＳ３５７に進める。
【０２５１】
（Ｓ３５６）エラー処理部３５０は、送受信部３１０ｅを異常箇所と判断する。そして、処理をステップＳ３５９に進める。
（Ｓ３５７）エラー処理部３５０は、ステップＳ３５７を実行した回数が所定回数に達したか否かを判定する。所定回数に達した場合、処理をステップＳ３５８に進める。所定回数に達していない場合、エラー処理部３５０は、当該回数をインクリメントする。そして、処理をステップＳ３４４に進める。
【０２５２】
（Ｓ３５８）エラー処理部３５０は、送受信部３１０ａと送受信部３１０ｅとの間の伝送路を異常箇所と判断する。
（Ｓ３５９）エラー処理部３５０は、異常箇所（送受信部３１０ａ，３１０ｅ、伝送路のいずれか）を示す情報を管理端末１３０に表示させる。そして、処理を終了する。
【０２５３】
以上の処理により、エラー処理部３５０は、通信異常を起こした異常箇所を特定できる。特定された異常箇所の表示などにより、異常箇所を管理者が認識することで、管理者は、交換すべき部品を特定でき、その部品を短時間で交換することができる。従って、通信異常の発生からの修復にかかる作業時間を短縮することができる。
【０２５４】
また、通信異常が発生した物理リンクについてループバック状態でネゴシエーションが行われる際には、テスト信号の受信波形の検出結果があらかじめ決められた期待値と比較されることで、設定すべきＴｘパラメータが決定される。しかし、ＳＡＳコントローラのベンダの違いや、温度等のＳＡＳコントローラの設置環境の違いにより、固定的な期待値を基に決定されたＴｘパラメータは必ずしも通信品質を最良にする値になるとは限らない。
【０２５５】
これに対し、本実施の形態においてループバックテストの際に判定の基準となるＴｘ許容範囲は、通信の開始前のループバックトレーニングによって全物理リンクについて決定されたＴｘパラメータの設定値のすべてが含まれている一定幅の範囲として特定される。このようなＴｘ許容範囲は、ＳＡＳコントローラのベンダの違いや、温度等のＳＡＳコントローラの設置環境の違いに応じて、最適な位置になるように変動する。
【０２５６】
そのため、ループバックテストにおいてネゴシエーションにより決定されたＴｘパラメータが、上記のようなＴｘ許容範囲に含まれるかが判定されることで、ベンダや環境の違いに関係なく、通信異常が発生した物理リンクに対応する送受信部が異常であるかを正確に判定できるようになる。Ｔｘパラメータだけでなく、Ｒｘパラメータについても同様の効果が生じる。従って、異常発生箇所を正確に特定することができる。
【０２５７】
なお、送受信部３１０ａまたは送受信部３１０ｅが故障していて、ループバック状態でネゴシエーションを実行できない場合には、エラー処理部３５０は、Ｔｘパラメータ群またはＲｘパラメータ群を受信できない。エラー処理部３５０は、Ｔｘパラメータ群またはＲｘパラメータ群を受信できなかった送受信部を異常箇所と判断してもよい。
【０２５８】
また、以上の第４の実施の形態では、ＳＡＳエクスパンダ３０６ａとＳＡＳエクスパンダ２１１ａとの間の通信での異常箇所の特定機能に関して説明したが、次のような組み合わせの通信についても上記と同様の異常箇所の特定機能を適用可能である。例えば、ＳＡＳエクスパンダ３０６ｂとＳＡＳエクスパンダ２１１ｂ、ＩＯＣ３０５ａとＳＡＳエクスパンダ３０６ｂ、ＩＯＣ３０５ｂとＳＡＳエクスパンダ３０６ａに適用可能である。さらに、ＰＣＩｅスイッチ３０３ａとＰＣＩｅスイッチ３０３ｂとの間でも適用可能である。
【０２５９】
なお、前述のように、第１の実施の形態の情報処理は、情報処理装置１０にプログラムを実行させることで実現でき、第２、第３、第４の実施の形態の情報処理は、ＣＭ３００ａ，３００ｂにプログラムを実行させることで実現できる。このようなプログラムは、コンピュータ読み取り可能な記録媒体に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等を使用できる。磁気ディスクには、ＦＤ（Flexible Disk）およびＨＤＤが含まれる。光ディスクには、ＣＤ（Compact Disk）、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤ（Digital Versatile Disc）およびＤＶＤ−Ｒ／ＲＷが含まれる。
【０２６０】
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体（例えば、記録媒体３０ａ，３０ｂ）に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置（例えば、ＳＳＤ３０８ａ，３０８ｂ）に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。また、上記の情報処理の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）等の電子回路で実現することも可能である。
【符号の説明】
【０２６１】
１０  情報処理装置
１１  インタフェース部
１２  設定部
１３  判定部
２０  周辺機器
２１  インタフェース部
ＬＮ１〜ＬＮ４  物理リンク
【図１】
0006691284.tif 000002
【図２】
0006691284.tif 000003
【図３】
0006691284.tif 000004
【図４】
0006691284.tif 000005
【図５】
0006691284.tif 000006
【図６】
0006691284.tif 000007
【図７】
0006691284.tif 000008
【図８】
0006691284.tif 000009
【図９】
0006691284.tif 000010
【図１０】
0006691284.tif 000011
【図１１】
0006691284.tif 000012
【図１２】
0006691284.tif 000013
【図１３】
0006691284.tif 000014
【図１４】
0006691284.tif 000015
【図１５】
0006691284.tif 000016
【図１６】
0006691284.tif 000017
【図１７】
0006691284.tif 000018
【図１８】
0006691284.tif 000019
【図１９】
0006691284.tif 000020
【図２０】
0006691284.tif 000021
【図２１】
0006691284.tif 000022
【図２２】
0006691284.tif 000023
【図２３】
0006691284.tif 000024
【図２４】
0006691284.tif 000025
【図２５】
0006691284.tif 000026
【図２６】
0006691284.tif 000027
【図２７】
0006691284.tif 000028
【図２８】
0006691284.tif 000029
【図２９】
0006691284.tif 000030