(57)【要約】【課題】伝送データにノイズが乗った場合であっても、伝送エラーが生じ難く通信品質を向上させる。【解決手段】第１通信インタフェース２６に関する通信設定値を変更しながら、第１通信インタフェース２６と第２通信インタフェースとの間の通信路にテストパターンデータを送出し、テストパターンデータの送出に関するエラー情報を取得し、通信設定値とエラー情報とを関連付けたエラー管理情報２５７を管理し、エラー管理情報２５７に基づき、連続する複数の通信設定値によって構成される通信設定値群に含まれる通信設定値の全ての通信設定値でエラーが未検出の通信設定値群を検出し、通信設定値群の中から抽出した通信設定値を第１通信インタフェース２６に設定する。【選択図】図３
2018005376.tif 000002
【特許請求の範囲】
【請求項１】
第１通信インタフェースを有する第１装置と、第２通信インタフェースを有する第２装置とを備える通信システムであって、
前記第１通信インタフェースに関する通信設定値を変更しながら、前記第１通信インタフェースと前記第２通信インタフェースとの間の通信路にテストパターンデータを送出し、
前記テストパターンデータの送出に関するエラー情報を取得し、前記通信設定値と前記エラー情報とを関連付けたエラー管理情報を管理し、
前記エラー管理情報に基づき、連続する複数の通信設定値によって構成される通信設定値群に含まれる前記通信設定値の全ての通信設定値でエラーが未検出の前記通信設定値群を検出し、該通信設定値群の中から抽出した通信設定値を前記第１通信インタフェースに設定する
処理を実行する通信システム。
【請求項２】
前記通信設定値が、複数種類の伝送パラメータの各パラメータ値の組み合わせで表わされ、
前記通信設定値群が、複数種類の伝送パラメータの各パラメータ値を組み合わせたマトリクスにおいて連続するｎ×ｎ個（ｎは奇数の整数）の複数の通信設定値により構成され、
前記ｎ×ｎ個の複数の通信設定値の中心に位置する通信設定値が、前記第１通信インタフェースに設定される請求項１記載の通信システム。
【請求項３】
第１通信インタフェースを有し、電子装置の第２通信インタフェースと前記第１インタフェースを介して通信可能に接続される制御装置であって、
前記第１通信インタフェースに関する通信設定値を変更しながら、前記第１通信インタフェースと前記第２通信インタフェースとの間の通信路にテストパターンデータを送出し、
前記テストパターンデータの送出に関するエラー情報を取得し、前記通信設定値と前記エラー情報とを関連付けたエラー管理情報を管理し、
前記エラー管理情報に基づき、連続する複数の通信設定値によって構成される通信設定値群に含まれる前記通信設定値の全ての通信設定値でエラーが未検出の前記通信設定値群を検出し、該通信設定値群の中から抽出した通信設定値を前記第１通信インタフェースに設定する
処理を実行する制御装置。
【請求項４】
第１通信インタフェースを有し、電子装置の第２通信インタフェースと前記第１インタフェースを介して通信可能に接続される制御装置のプロセッサに、
前記第１通信インタフェースに関する通信設定値を変更しながら、前記第１通信インタフェースと前記第２通信インタフェースとの間の通信路にテストパターンデータを送出し、
前記テストパターンデータの送出に関するエラー情報を取得し、前記通信設定値と前記エラー情報とを関連付けたエラー管理情報を管理し、
前記エラー管理情報に基づき、連続する複数の通信設定値によって構成される通信設定値群に含まれる前記通信設定値の全ての通信設定値でエラーが未検出の前記通信設定値群を検出し、該通信設定値群の中から抽出した通信設定値を前記第１通信インタフェースに設定する
処理を実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム，制御装置および制御プログラムに関する。
【背景技術】
【０００２】
近年のチップセットの多くでは高速なデータ伝送のためにPCIe（Peripheral Component Interconnect Express）バスを有している。また、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置は複数のユニットで構成されることが多く、ユニット間はミッドプレーンやバックプレーン，ケーブルにて接続される。
【０００３】
中でも筐体間の接続には主にケーブルが用いられる。筐体間の接続に用いるケーブルの種類や長さは、装置のスケールアウト数や、設置個所等の様々な条件に応じて柔軟に変更、選択されることが望ましい。
【０００４】
一方でケーブルの材質や長さ、種類などによる特性の違いは、データの伝送品質に多大な影響を与える。そのため、PCIeスイッチの入出力設定、ケーブルの伝送特性との組み合わせを検証し、最適な組み合わせをあらかじめ選択しておく必要がある。最適な値を選択しなければ、通信エラーが起きる可能性が高まってしまう。
【０００５】
また、PCIe Gen3をサポートするデバイス（PCIe スイッチ等）においては、一般的に伝送波形に関わる設定値（波形調整値）を自動調整（オートチューニング）する機能を有している。この自動調整はデバイス間で相互に行なわれる。
【０００６】
このような自動調整においては、エラーレートの規定値内に収まる値であって、PCIeがリンクアップ可能な値が設定値として選択される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平９−３３１３７２号公報
【特許文献１】特開２００８−４２８５１号公報
【特許文献２】特開２０１４−２６３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述の如き従来のPCIeデバイスにおける入出力設定値の自動設定方法においては、自動設定により決められる設定値は、エラーレートが規定値内に収まってさえいればよい。すなわち、エラーレートが規定値ギリギリの設定値であっても、伝送品質に問題はないと判断して採用され、装置において接続が確立される。
【０００９】
したがって、温度や電圧などの環境条件が変化した際に、規定値ギリギリの設定では環境変化に耐えられず、通信エラーに発展することがあるという課題がある。
【００１０】
このため、デバイス間の接続に使用するケーブルを限定し、当該ケーブルに合わせて固有値として用意した設定値を設定することも行なわれている。しかしながら、使用できるケーブルが限定されることで、隣接するデバイスどうしの接続にもかかわらず長いケーブルを使用しなければならない等、通信ケーブルを用いた構成の自由度が低く不便であるという課題がある。
【００１１】
１つの側面では、本発明は、伝送エラーが生じ難く通信品質を向上させることができる通信設定値を設定することを目的とする。
【課題を解決するための手段】
【００１２】
このため、この通信システムは、第１通信インタフェースを有する第１装置と、第２通信インタフェースを有する第２装置とを備える通信システムであって、前記第１通信インタフェースに関する通信設定値を変更しながら、前記第１通信インタフェースと前記第２通信インタフェースとの間の通信路にテストパターンデータを送出し、前記テストパターンデータの送出に関するエラー情報を取得し、前記通信設定値と前記エラー情報とを関連付けたエラー管理情報を管理し、前記エラー管理情報に基づき、連続する複数の通信設定値によって構成される通信設定値群に含まれる前記通信設定値の全ての通信設定値でエラーが未検出の前記通信設定値群を検出し、該通信設定値群の中から抽出した通信設定値を前記第１通信インタフェースに設定する。
【発明の効果】
【００１３】
一実施形態によれば、伝送エラーが生じ難く通信品質を向上させることができる通信設定値を設定することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態の一例としてのストレージ装置におけるケーブル接続構成を例示する図である。
【図２】実施形態の一例としてのストレージ装置における設定値マトリクスを例示する図である。
【図３】実施形態の一例としてのストレージ装置におけるＣＭの監視デバイスの機能構成を例示する図である。
【図４】実施形態の一例としてのストレージ装置におけるＳＶＣの監視デバイスの機能構成を例示する図である。
【図５】実施形態の一例としてのストレージ装置の装置起動時における波形設定値の設定方法を説明するためのフローチャートである。
【図６】実施形態の一例としてのストレージ装置の装置起動時における波形設定値の設定方法を説明するためのフローチャートである。
【図７】実施形態の一例としてのストレージ装置の装置起動時における波形設定値の設定方法を説明するためのフローチャートである。
【図８】実施形態の一例としてのストレージ装置の装置起動時における波形設定値の設定方法を説明するためのフローチャートである。
【図９】実施形態の一例としてのストレージ装置の装置起動時における波形設定値の設定方法を説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本通信システム，制御装置および制御プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１６】
（ａ）構成
図１は実施形態の一例としてのストレージ装置１におけるケーブル接続構成を例示する図である。
【００１７】
この図１に示す例においては、ストレージ装置１は、サービスコントローラ（Service Controller：以下ＳＶＣと記す）３，ミッドプレーン５，複数（図１には２つを図示）のコントローラモジュール（Controller Module：以下ＣＭと記す）２−１，２−２及び複数（図１には２つを図示）のフロントエンドルータ（Front-End Router：以下ＦＲＴと記す）４−１，４−２を備える。
【００１８】
これらのＳＶＣ３，各ＣＭ２およびＦＲＴ４は相互に通信可能な通信システムを構成している。
【００１９】
以下、このようなストレージ装置１において複数のＣＭ２−１，２−２とＦＲＴ４−１，４−２との間をPCIeの通信ケーブル８によって接続する例について示す。通信ケーブル８として、例えば、光ケーブルや銅（Ｃｕ）ケーブル等、種々のケーブルを用いることができる。
【００２０】
ミッドプレーン５は、装置間のデータ通信を行なう回路基板装置であり、図示しない複数のコネクタを備え、これらのコネクタに接続された機器間でバス通信を行なう。
【００２１】
図１に示す例においては、ミッドプレーン５に、ＳＶＣ３と２つのＦＲＴ４−１，４−２が接続されている。
【００２２】
ＦＲＴ４−１，４−２は、複数のＣＭ２−１，２−２間の通信（ＣＭ−ＣＭ間通信）を実現する通信装置である。ＦＲＴ４−１，４−２は互いに同様の構成を有している。
【００２３】
なお、以下、ＦＲＴ４−１をＦＲＴ＃０という場合がある。同様に、ＦＲＴ４−２をＦＲＴ＃１という場合がある。
【００２４】
以下、ＦＲＴを示す符号としては、複数のＦＲＴのうち１つを特定する必要があるときには符号４−１，４−２，＃０，＃１を用いるが、任意のＦＲＴを指すときには符号４を用いる。
【００２５】
なお、以下、ＣＭ２−１をＣＭ＃０という場合がある。同様に、ＣＭ２−２をＣＭ＃１という場合がある。
【００２６】
また、以下、ＣＭを示す符号としては、複数のＣＭのうち１つを特定する必要があるときには符号２−１，２−２，＃０，＃１を用いるが、任意のＣＭを指すときには符号２を用いる。
【００２７】
［１］ＦＲＴ
ＦＲＴ４は、PCIeスイッチ（PCIe SW）４２，複数（例えば２４個）のコネクタ（第１コネクタ）４１およびElectrically Erasable Programmable Read-Only Memory（ＥＥＰＲＯＭ）４３を備える。なお、図１中においては、便宜上、各ＦＲＴ４における一部のコネクタ４１のみを図示している。
【００２８】
コネクタ４１には、PCIe通信ケーブル（以下、単に通信ケーブルという）８の一端に取り付けられたコネクタ（図示省略）が脱着可能に実装される。例えば、通信ケーブル８のコネクタがオスコネクタである場合には、コネクタ４１はメスコネクタである。
【００２９】
また、通信ケーブル８の他端に取り付けられたコネクタ（図示省略）は、後述するＣＭ２−１，２−２のコネクタ２１に実装される。
【００３０】
以下、コネクタ４１やコネクタ２１に通信ケーブル８のコネクタが取り付けられることを実装（マウント）という場合がある。
【００３１】
各ＦＲＴ４は、全てのＣＭ２と通信ケーブル８によって接続される。すなわち、各ＣＭ２は、全てのＦＲＴ４とそれぞれ通信ケーブル８を介して接続される。
【００３２】
通信ケーブル８の両端のコネクタには、それぞれ同一のシリアルナンバー（Ｓ／Ｎ）やケーブル種類に関する情報が識別情報として格納されたＲＯＭ（Read Only Memory）が搭載されている。ＦＲＴ４やＣＭ２は、このＲＯＭからシリアルナンバーやケーブル種類に関する情報を読み出して確認することができる。なお、ケーブル種類に関する情報についての詳細は後述する。
【００３３】
以下、実装の有無のことをマウント状態もしくは実装状態という場合がある。また、コネクタ４１における通信ケーブル８のマウント状態を示す情報のことを、マウント状態情報または実装状態情報という場合がある。
【００３４】
PCIeスイッチ４２は、データの通信経路を切り替える回路装置（第２通信インタフェース）であり、コネクタ４１に入力されたデータを、そのデータの送信先（通信相手）に応じて他のコネクタ４１等から出力させる。
【００３５】
PCIeスイッチ４２は、図示しないレジスタを備え、このレジスタに、通信ケーブル８を介して行なった通信においてエラーが生じた回数（Error数）が格納される。すなわち、PCIeスイッチ４２は、通信ケーブル８を介して行なったデータ通信において発生したエラー数を計数するカウンタ（Error数）としての機能を備える。
【００３６】
ＥＥＰＲＯＭ４３は、不揮発性のメモリであって、PCIeスイッチ４２を機能させる設定値が格納される。そして、後述するＳＶＣ３の監視デバイス３０（設定値判定部３５８）によって設定される波形調整値（通信設定値；以下、単に設定値という場合がある）はこのＥＥＰＲＯＭ４３に格納される。
【００３７】
また、PCIeスイッチ４２は、図示しないメモリを備え、このメモリにＥＥＰＲＯＭ４３から読み出された波形調整値（通信設定値）が格納される。なお、この波形調整値については後述する。
【００３８】
また、各ＦＲＴ４は、データバス９及びミッドプレーン５を介して、ＳＶＣ３と接続されている。以下、これらのデータバス９及びミッドプレーン５によって各ＦＲＴ４とＳＶＣ３とを接続するデータ通信路を第１データバス９０という場合がある。
【００３９】
［２］ＣＭ
ＣＭ２は、ストレージ装置１における種々の制御を行なうものであり、図示しないホスト装置からのストレージアクセス要求に従って、図示しないＨＤＤ（Hard Disk Drive）等の記憶装置へのアクセス制御等、各種制御を行なう。また、各ＣＭ２は互いに同様の構成を有している。各ＣＭ２はコントローラエンクロージャ（Controller Enclosure：ＣＥ）２０１に収納される。
【００４０】
さらにＣＭ２は、後述するＳＶＣ３と協働して、ＦＲＴ４との間を接続する通信ケーブル８に対応する波形調整値（設定値）の設定を行なうケーブル調整機能（波形調整機能）を実現する。
【００４１】
図１に例示するＣＭ２は、ＣＰＵ２２，コネクタ２４，監視デバイス２５，ＥＥＰＲＯＭ２８を備えるとともに、複数（図１に示す例では２つ）の、コネクタ２１，PCIeスイッチ２６およびＥＥＰＲＯＭ２７を備える。
【００４２】
コネクタ２１には、通信ケーブル８の一端のコネクタが脱着可能に実装される。例えば、通信ケーブル８のコネクタがオスコネクタである場合には、コネクタ２１はメスコネクタである。
【００４３】
また、通信ケーブル８の他端のコネクタは、前述したＦＲＴ４のコネクタ４１に実装される。各ＣＭ２はそれぞれ全てのＦＲＴ４と通信ケーブル８によって接続される。
【００４４】
コネクタ２４には、監視用インタフェースケーブル７０の一端が着脱可能に実装される。監視用インタフェースケーブル７０の他端は、後述するＳＶＣ３に備えられたコネクタ３１に実装され、これにより、ＣＭ２は監視用インタフェースケーブル７０を介してＳＶＣ３と通信可能に接続される。
【００４５】
各コネクタ２１には、それぞれPCIeスイッチ２６が接続されている。PCIeスイッチ２６は、複数のホスト装置からの要求を１つのホスト装置からの要求に見せかけることができるNon-Transparent Bridgeを備えるNT PCIeスイッチであってもよい。
【００４６】
各PCIeスイッチ２６にはＥＥＰＲＯＭ２７が備えられている。ＥＥＰＲＯＭ２７は不揮発性のメモリであって、これらのＥＥＰＲＯＭ２７にPCIeスイッチ２６を機能させる設定値が格納される。そして、後述するＣＭ２の監視デバイス２５（設定値判定部２５８）によって設定される波形調整値（通信設定情報，設定値）はこれらのＥＥＰＲＯＭ２７に格納される。ＥＥＰＲＯＭ２７は、外部ＥＥＰＲＯＭ２７と呼ばれる場合もある。
【００４７】
通信ケーブル８の性能を発揮するためには、通信ケーブル８の、例えば、ケーブル種やケーブル長に応じた波形調整を行なう必要がある。波形調整値は波形調整を行なうための設定値であり、例えば、出力電圧，出力プリエンファシスおよび入力イコライザの各制御用値が対応付けられている。
【００４８】
出力電圧，出力プリエンファシスおよび入力イコライザの各値を適宜調整することで、通信ケーブル８を用いて減衰等のない高品質な通信を実現することができる。
【００４９】
なお、波形調整値においては、例えば、出力電圧，出力プリエンファシスおよび入力イコライザのそれぞれに対して１６進で表す数値がそれぞれ登録されている。これらの各値は、図示しないレジスタ等の他の記憶領域の格納位置（例えばアドレス）を示すものであり、出力電圧，出力プリエンファシスおよび入力イコライザとしての実際の設定値（波形調整値）は、この記憶領域に登録されている。
【００５０】
波形調整値は、本ストレージ装置１の起動時にオートチューニング機能により設定される。なお、このオートチューニング機能による波形調整値の設定は既知の手法により実現され、その説明は省略する。
【００５１】
また、波形調整値は、上述した情報に限定されることなく、種々変形して実施することができる。例えば、波形調整値には、上述した出力電圧，出力プリエンファシスおよび入力イコライザ以外の情報を格納してもよく、また、これらの一部を除去してもよい。さらに、波形調整値には、図示しない他の記憶領域における格納位置に代えて波形調整値を直接格納してもよい。
【００５２】
また、ＥＥＰＲＯＭ２７に格納した波形調整値をPCIeスイッチ２６の動作に反映させるためには、ＥＥＰＲＯＭ２７に波形調整値を格納（更新）した後に、PCIeスイッチ２６のポートのリセットを行なう。
【００５３】
PCIeスイッチ２６もPCIeスイッチ４２と同様に、図示しないレジスタを備え、このレジスタに、通信ケーブル８を介して行なった通信においてエラーが生じた回数（Error数）が格納される。すなわち、PCIeスイッチ４２は、通信ケーブル８を介して行なったデータ通信において発生したエラー数を計数するカウンタ（Error数）としての機能を備える。
【００５４】
ＥＥＰＲＯＭ２８は、不揮発性のメモリであって、このＥＥＰＲＯＭ２８には、ＣＭ２とＦＲＴ４との間の通信路の伝送品質を調査するために、ＣＭ２からＦＲＴ４へ通信ケーブル８を介して送信されるテストパターンデータ（テストパターン）が格納される。なお、このテストパターンには、伝送経路のテストに用いられる種々のテストデータを用いることができる。ＥＥＰＲＯＭ２８は、外部ＥＥＰＲＯＭ２８と呼ばれる場合もある。
【００５５】
ＣＰＵ２２は、種々の制御や演算を行なう処理装置であり、図示しないメモリに格納されたＯＳやプログラムを実行することにより、ＲＡＩＤの管理や実現、記憶装置へのデータアクセス制御等、ＣＭ２としての種々の機能を実現する。
【００５６】
監視デバイス２５は、同一ＣＭ２内のＣＰＵ２２とデータバスを介して接続され、各コネクタ２１における通信ケーブル８の接続状態の監視や、接続された通信ケーブル８のＲＯＭから通信ケーブル８の識別情報やケーブル種類に関する情報の読み出しを行なう。
【００５７】
監視デバイス２５は、本ストレージ装置１に接続される通信ケーブル８に対する設定値を決定する設定値決定機能を実現する。
【００５８】
この設定値決定機能の実現に際して、監視デバイス２５は、通信ケーブル８を介した通信路にテストパターン（テストデータ）を送信する通信路テストを行なう。
【００５９】
通信路テストにおいては、ＣＭ２とＦＲＴ４との間において、PCIeスイッチ２６とPCIeスイッチ４２との各設定値をそれぞれ変更しながら、テストパターンを相互に送受信することで、エラーのログ（エラー数、エラーレート）を蓄積する。
エラーのログは、ＣＭ２の監視デバイス２５とＳＶＣ３の監視デバイス３０との双方において、テストパターンの送受信に用いられたPCIeスイッチ２６およびPCIeスイッチ４２の各設定値とともに記録・管理される。
【００６０】
ＣＭ２からＦＲＴ４へのデータの送信方向（以下、“ＣＭ−＞ＦＲＴ”と表す場合がある）についての通信路テストを行なう場合には、ＣＭ２において監視デバイス２５は、PCIeスイッチ２６の送信側の設定値を変更しながらテストパターンを繰り返し送信する。
【００６１】
具体的には、監視デバイス２５は、PCIeスイッチ２６に、図２に示す設定値のマトリクス（設定値マトリクス１００ｂ）によって表される各設定値を順次設定して、テストパターンの送信を行なう。このように、監視デバイス２５は通信路テスト機能を備える。
【００６２】
また、ＦＲＴ４からＣＭ２へのデータの送信方向（以下、“ＦＲＴ−＞ＣＭ”と表す場合がある）についての通信路テストを行なう場合には、ＣＭ２において監視デバイス２５は、PCIeスイッチ２６の受信側の設定値を変更しながらテストパターンを繰り返し受信する。
【００６３】
具体的には、監視デバイス２５は、PCIeスイッチ２６に、図２に示す設定値のマトリクス（設定値マトリクス１００ａ）によって表される各設定値を順次設定して、テストパターンの受信を行なう。
【００６４】
一方、ＦＲＴ４においては、ＣＭ２からＦＲＴ４へのデータの送信方向（ＣＭ−＞ＦＲＴ）についての通信路テストを行なう場合には、監視デバイス３０が、PCIeスイッチ４２の受信側の設定値を変更しながらテストパターンを繰り返し受信する。
【００６５】
具体的には、監視デバイス３０は、PCIeスイッチ４２に、図２に示す設定値のマトリクス（設定値マトリクス１００ａ：図２参照）によって表される各設定値を順次設定して、テストパターンの受信を行なう。
【００６６】
また、ＦＲＴ４からＣＭ２へのデータの送信方向（ＦＲＴ−＞ＣＭ）についての通信路テストを行なう場合には、監視デバイス３０が、PCIeスイッチ４２の送信側の設定値を変更しながらテストパターンを繰り返し送信する。
【００６７】
具体的には、監視デバイス３０は、PCIeスイッチ４２に、図２に示す設定値のマトリクス（設定値マトリクス１００ｂ：図２参照）によって表される各設定値を順次設定して、テストパターンの送信を行なう。
【００６８】
また、監視デバイス２５は、通信路テストの結果、PCIeスイッチ２６およびPCIeスイッチ４２のそれぞれにおいて検出されたエラーのエラー数を確認するエラー確認機能を備える。
【００６９】
後述するＳＶＣ３の監視デバイス３０は、通信路テストにおいてＦＲＴ４のPCIeスイッチ４２がテストパターンを受信する際に検出したエラー数を、そのPCIeスイッチ４２の受信側に設定された設定値とともにＣＭ２の監視デバイス２５に通知する。
【００７０】
また、監視デバイス３０は、通信路テストにおいてＦＲＴ４のPCIeスイッチ４２がテストパターンを送信する際に用いたPCIeスイッチ４２の設定値を、ＣＭ２の監視デバイス２５に通知する。
【００７１】
監視デバイス２５は、ＣＭ２からＦＲＴ４へのデータの送信方向（ＣＭ−＞ＦＲＴ）についての通信路テストに関して、PCIeスイッチ２６に設定した送信側の設定値を、監視デバイス３０から通知されたPCIeスイッチ４２の受信側の設定値およびエラー数と対応付けて、後述するPCIeスイッチ設定値判定テーブル２５７にエラー管理情報として記録する。
【００７２】
また、監視デバイス２５は、ＦＲＴ４からＣＭ２へのデータの送信方向（ＦＲＴ−＞ＣＭ）についての通信路テストに関して、PCIeスイッチ２６に設定した受信側の設定値および検出したエラー数を、監視デバイス３０から通知されたPCIeスイッチ４２の送信側の設定値と対応付けて、PCIeスイッチ設定値判定テーブル２５７に記録する。
【００７３】
このように、監視デバイス２５は、通信路テストの対象の通信路を構成するPCIeスイッチ２６とPCIeスイッチ４２との各組合せのそれぞれについて、順次変更される送信側の設定値と受信側の設定値との各組合せに対応させて、テストパターンの送受信において検出されたエラー数を記録する（通信路テストログ収集機能）。
【００７４】
さらに、監視デバイス２５は、設定値のマトリクス（設定値マトリクス１００ａ，１００ｂ）の中からエラーの無い設定値が連続する所定の範囲（無エラー設定値群）を特定する。そして、監視デバイス２５は、この無エラー設定値群の中心の値（中心値）を設定値として選択する。すなわち、監視デバイス２５は、設定値を決定する設定値決定機能を備える。
【００７５】
図２は実施形態の一例としてのストレージ装置１における設定値マトリクスを例示する図である。図２中において、符号（Ａ）はデータ受信時に用いる設定値マトリクス１００ａを示し、符号（Ｂ）はデータ送信時に用いる設定値マトリクス１００ｂを示す。
【００７６】
設定値マトリクス１００ａは、図２中において符号（Ａ）で示すように、段階的に変化する複数のＤＦＥ（Decision Feedback Equalizer）の値（伝送パラメータ）と、段階的に変化する複数のＣＴＬＥ（Continuous Time Linear Equalizer）の値（伝送パラメータ）との組合せにより構成されている。つまり、図２に示す設定値マトリクス１００ａにおいては、横方向に並んだＣＴＬＥと、縦方向に並んだＤＦＲとの組合せで構成される個々のマスがそれぞれ設定値を表す。
【００７７】
なお、設定値マトリクス１００ａにおいて、横方向のＣＴＬＥのきざみ幅と、縦方向のＤＦＲのきざみ幅は、それぞれ適宜変更して実施することができる。
【００７８】
図２に例示する設定値マトリクス１００ａは、左下位置を原点として、横軸方向に１５種類のＣＴＬＥの値を昇順に並べるとともに、縦軸方向に１５種類のＤＦＥの値を昇順に並べて構成されている。
【００７９】
PCIe Gen3をサポートするデバイスは、一般に、高速伝送に伴う信号品質の劣化（減衰）を補償するために、受信側と出力側とにそれぞれイコライザブロックを備える。
【００８０】
ＤＦＥは、データパターンに応じて波形の歪みを補償するイコライザであり、一般的にＣＴＬＥの後段に配置される。また、ＣＴＬＥは、データ伝送路で減衰した信号強度を補償するために信号を増幅するイコライザであり、一般的にＤＦＥの前段に配置される。
【００８１】
受信側においては、これらのＤＦＥおよびＣＴＬＥの各パラメータを調整することで波形調整が行なわれ、これらのＤＦＥとＣＴＬＥとの組合せが設定値（波形調整値）として用いられる。
【００８２】
本ストレージ装置１においては、図２に符号（Ａ）で示すように、複数種類のＤＦＥの値と複数種類のＣＴＬＥ値とをマトリクス状に配置し、設定値判定部２５８（図３参照）は、このマトリクスの中から、設定値として用いられるＤＦＥとＣＴＬＥとの組合せを選択する。
【００８３】
具体的には、監視デバイス２５は、図２に符号（Ａ）にマトリクス状に示したＤＦＥとＣＴＬＥとの各組合せを、それぞれ実際の設定値としてPCIeスイッチ２６に設定して、予めテストパターンを実際に受信する通信路テストを行なう。
【００８４】
PCIeスイッチ２６においては、ＦＲＴ４からのデータ受信時や、ＦＲＴ４へのデータ送信時にエラーが生じると、図示しないレジスタにその結果（エラー数；エラー情報）が格納される。
【００８５】
以下、PCIeスイッチ２６やPCIeスイッチ４２に対して設定値（波形調整値）を設定した状態でデータ通信を行なった際に検出されるエラー数を、設定値のエラー数と表現する場合がある。例えば、PCIeスイッチ２６にある設定値を設定してテストパターンの送受信を行なった結果、エラーが検出されなかった場合には、設定値のエラー数＝０であると表現する場合がある。
【００８６】
本ストレージ装置１におけるエラー確認機能においては、PCIeスイッチ２６およびPCIeスイッチ４２の各レジスタから通信路テストの結果としてのエラー数を収集して、各設定値でのエラーの有無（エラー数）が判定され、後述するPCIeスイッチ設定値判定テーブル２５７（図３参照）に登録される。
【００８７】
PCIeスイッチ設定値判定テーブル２５７は、設定値マトリクスを構成する各設定値に対して、通信路テストによるテストパターンの送信時における、当該設定値で検出されたエラー数を対応付けて管理する管理情報（エラー管理情報）である。
【００８８】
PCIeスイッチ設定値判定テーブル２５７は、例えば、通信路を構成するPCIeスイッチ２６とPCIeスイッチ４２との組合せ毎に、ＦＲＴ−＞ＣＭ方向とＣＭ−＞ＦＲＴ方向とのそれぞれについて、送信側のPCIeスイッチ２６（４２）の設定値と受信側のPCIeスイッチ４２（２６）の設定値と検出されたエラー数とを対応付ける。
【００８９】
テスト制御部２５４は、ＣＭ２からＦＲＴ４へのデータの送信方向（ＣＭ−＞ＦＲＴ）についての通信路テストに関して、PCIeスイッチ設定値インタフェース２５３を介して取得したPCIeスイッチ２６の送信側の設定値と、監視デバイス３０から通知されたPCIeスイッチ４２の受信側の設定値およびエラー数とを対応付けて、PCIeスイッチ設定値判定テーブル２５７に記録する。
【００９０】
また、テスト制御部２５４は、ＦＲＴ４からＣＭ２へのデータの送信方向（ＦＲＴ−＞ＣＭ）についての通信路テストに関して、PCIeスイッチ設定値インタフェース２５３を介して取得したPCIeスイッチ２６の受信側の設定値と、PCIeスイッチ２６のレジスタから読み出したエラー数と、監視デバイス３０から通知されたPCIeスイッチ４２の送信側の設定値とを対応付けて、PCIeスイッチ設定値判定テーブル２５７に記録する。
なお、このような管理情報は必ずしもデータをテーブル状に対応付けて管理する必要はなく、適宜変更して実施することができる。
【００９１】
設定値決定機能においては、PCIeスイッチ設定値判定テーブル２５７を参照して、設定値マトリクス１００ａ中において、エラーが未検出（エラー数＝０）のｎ×ｎ（ｎは奇数）の連続する矩形領域（無エラー領域）を探す。
【００９２】
この無エラー領域においては、当該領域を構成する設定値（ＤＦＥとＣＴＬＥとの各組合せ）の全てにおいて、それらの設定値でのテストパターンの送受信においてエラーが未検出である。
【００９３】
そして、設定値決定機能においては、この矩形領域の中央位置に相当するＤＦＥとＣＴＬＥとの組合せを設定値と決定する。
【００９４】
図２に示す例においては、設定値マトリクス１００ａ中に、５×５（ｎ＝５）の無エラー領域が示されており（符号Ｐ１参照）、その中央位置（符号Ｐ２参照）に相当するＤＦＥとＣＴＬＥとの組合せが設定値として選択される。
【００９５】
送信側においても、同様にして設定値が決定される。
【００９６】
設定値マトリクス１００ｂは、図２中において符号（Ｂ）で示すように、段階的に変化する複数のＰｒｅｓｈｏｏｔの値（パラメータ）と、段階的に変化する複数のＤｅ−ｅｍｐｈａｓｉｓの値（パラメータ）との組合せにより構成されている。つまり、図２に示す設定値マトリクス１００ｂにおいては、横方向に並んだＤｅ−ｅｍｐｈａｓｉｓと、縦方向に並んだＰｒｅｓｈｏｏｔとの組合せで構成される個々のマスがそれぞれ設定値を表す。
【００９７】
なお、設定値マトリクス１００ｂにおいて、横方向のＤｅ−ｅｍｐｈａｓｉｓのきざみ幅と、縦方向のＰｒｅｓｈｏｏｔのきざみ幅は、それぞれ適宜変更して実施することができる。
【００９８】
図２に例示する設定値マトリクス１００ｂは、左下位置を原点として、横軸方向に１５種類のＤｅ−ｅｍｐｈａｓｉｓの値を昇順に並べるとともに、縦軸方向に１５種類のＰｒｅｓｈｏｏｔの値を昇順に並べて構成されている。
【００９９】
Ｐｒｅｓｈｏｏｔは、出力信号の立ち下がり部分の振幅レベルを調整するイコライザである。また、Ｄｅ−ｅｍｐｈａｓｉｓは、出力信号の立ち上がり部分の振幅レベルを調整するイコライザである。
【０１００】
送信側においては、これらのＰｒｅｓｈｏｏｔおよびＤｅ−ｅｍｐｈａｓｉｓの各パラメータを調整することで波形調整が行なわれ、これらのＰｒｅｓｈｏｏｔとＤｅ−ｅｍｐｈａｓｉｓとの組合せが設定値（波形調整値）として用いられる。
【０１０１】
本ストレージ装置１においては、図２に符号（Ｂ）で示すように、複数種類のＰｒｅｓｈｏｏｔの値と複数種類のＤｅ−ｅｍｐｈａｓｉｓの値とをマトリクス状に配置し、設定値決定機能においては、このマトリクスの中から、設定値として用いられるＰｒｅｓｈｏｏｔとＤｅ−ｅｍｐｈａｓｉｓとの組合せを選択する。
【０１０２】
具体的には、通信路テスト機能において、図２に符号（Ｂ）にマトリクス状に示したＰｒｅｓｈｏｏｔとＤｅ−ｅｍｐｈａｓｉｓとの各組合せをそれぞれ実際の設定値としてPCIeスイッチ２６に設定して、予めテストパターンを実際に受信する通信路テストを行なう。
【０１０３】
PCIeスイッチ２６においては、データ送信時にエラーが生じると、図示しないレジスタにその結果（エラー数；エラー情報）が格納される。
【０１０４】
また、監視デバイス２５は、設定値決定機能を実現するに際して、設定値マトリクスにおいて、無エラー設定値群として、縦方向に７マス×横方向に７マスの７×７の矩形エリア（第１の判定エリア）を構成する各設定値が全てエラー数＝０である領域（無エラー領域）があれば、その中心値を設定値とする。
【０１０５】
また、監視デバイス２５は、設定値マトリクスにおいて、７×７マスのエリアを構成する設定値の全てがエラー数＝０となる第１の判定エリアがない場合に、無エラー設定値群として、縦方向に５マス×横方向に５マスの５×５の矩形エリア（第２の判定エリア）を構成する各設定値が全てエラー数＝０であるエリアがあれば、その中心値を設定値とする。
【０１０６】
このように、設定値マトリクス１００ａ，１００ｂにおいて第１の判定エリアを検出できない場合に、第１の判定エリアよりも小さい第２の判定エリアを探すことで、判定エリアの検出確率を高くすることができる。
【０１０７】
なお、以下、設定値マトリクスを示す符号としては、複数の設定値マトリクスのうち１つを特定する必要があるときには符号１００ａ，１００ｂを用いるが、任意の設定値マトリクスを指すときには符号１００を用いる。
【０１０８】
図３は実施形態の一例としてのストレージ装置１におけるＣＭ２の監視デバイス２５の機能構成を例示する図、図４はＳＶＣ３の監視デバイス３０の機能構成を例示する図である。
【０１０９】
これらの図３，図４中においては、各機能構成部間で授受される信号を矢印で示しているが、便宜上、一部の信号の授受の図示を省略している。
【０１１０】
図３に示す例において、監視デバイス２５は、外部ＥＥＰＲＯＭ通信インタフェース（Interface：ＩＦ）２５１，ＣＰＵ通信インタフェース（ＩＦ）２５２，PCIeスイッチ（ＳＷ）設定値インタフェース（ＩＦ）２５３，テスト制御部２５４，テストタイマ２５５，エラー判定部２５６，PCIeスイッチ（ＳＷ）設定値判定テーブル２５７，設定値判定部２５８，PCIeスイッチ（ＳＷ）設定値一覧テーブル２５９およびＳＶＣ通信インタフェース（ＩＦ）２６０としての機能を備える。
【０１１１】
外部ＥＥＰＲＯＭ通信インタフェース２５１は、外部ＥＥＰＲＯＭ２８との通信を行なう。外部ＥＥＰＲＯＭ通信インタフェース２５１は、ＣＭ２からＦＲＴ４へ送信されるテストデータをＥＥＰＲＯＭ２８から取得し、テスト制御部２５４に渡す。
【０１１２】
ＳＶＣ通信インタフェース２６０は、ＳＶＣ３との間でデータ通信を行なう。ＳＶＣ通信インタフェース２６０は、テスト制御部２５４から出力されるテストフラグやＣＭ−ＦＲＴ間のエラー情報を監視用インタフェースケーブル７０を介してＳＶＣ３に送信する（図３および図４の符号i，vi参照）。
【０１１３】
また、ＳＶＣ通信インタフェース２６０は、ＳＶＣ３から出力されるテスト完了通知，設定変更通知，テストパターン送出通知およびタイマ満了通知を、監視用インタフェースケーブル７０を介して受信し、テスト制御部２５４に入力する（図３および図４の符号ii，iii，iv，v参照）。
【０１１４】
また、テスト制御部２５４から出力されるテスト完了通知等は、このＳＶＣ通信インタフェース２６０を介してＳＶＣ３の監視デバイス３０に送信される。
【０１１５】
テストタイマ２５５は、計時を行なう。このテストタイマ２５５は、テスト制御部２５４からの計時指示（カウント指示）に従って計時を開始し、所定時間（例えば１０分）の経過を検出した場合に、ＣＰＵ通信インタフェース２５２にタイマ満了通知を送信する。
【０１１６】
テスト制御部２５４は、ＣＭ２からＦＲＴ４へのデータ送信に関する通信路テストを実行するための各種制御を行なう。
【０１１７】
例えば、テスト制御部２５４は、外部ＥＥＰＲＯＭ通信インタフェース２５１を介して、ＥＥＰＲＯＭ２８からテストパターン（ＣＭ−＞ＦＲＴ）を読み出す（ＣＭ−＞ＦＲＴ方向のテストパターン情報取得）。
【０１１８】
テスト制御部２５４は、ＣＰＵ２２に対して、テストパターンをＦＲＴ４に送出させる指示（テストパターン送出通知）を送信する。すなわち、テスト制御部２５４は、ＣＭ２からＦＲＴ４に対するテストパターンの送出を制御する。
【０１１９】
テスト制御部２５４は、ＣＭ２のＣＰＵ２２およびＳＶＣ３の監視デバイス３０に対して、設定値の変更を指示する設定値変更通知を送信する。
【０１２０】
この設定値変更通知を受信したＣＭ２およびＳＶＣ３は、後述する設定値マトリクス１００に基づいて、PCIeスイッチ２６やPCIeスイッチ４２の設定値を他の値に変更する。
【０１２１】
また、テスト制御部２５４には、ＳＶＣ３からＳＶＣ通信インタフェース２６０を介して設定値変更通知が入力される。
【０１２２】
この設定値変更通知が入力されると、後述する設定値判定部２５８が、PCIeスイッチ設定値判定テーブル２５７に基づいて、PCIeスイッチ２６の設定値を変更する。
【０１２３】
また、テスト制御部２５４には、ＳＶＣ３からＳＶＣ通信インタフェース２６０を介してテストパターン送出通知が入力される。テスト制御部２５４は、テストパターン送出通知が入力されると、通信路テストを開始する。すなわち、外部ＥＥＰＲＯＭ２８から読み出したテストパターンをPCIeスイッチ２６を介して送出する。
【０１２４】
テスト制御部２５４は、通信路テストの実行中は、通信路テストを実行中であることを示すテストフラグをＳＶＣ通信インタフェース２６０を介してＳＶＣ３に出力する。
【０１２５】
テスト制御部２５４は、通信路テストが完了すると、通信路テストが完了した旨の通知（テスト完了通知）を、ＣＭ２のＣＰＵ２２およびＳＶＣ３の監視デバイス３０に送信する。
【０１２６】
例えば、テスト制御部２５４は、テストパターンの送出を開始してから所定のテストパターン送出時間（例えば、１０分）が経過すると、ＣＭ２のＣＰＵ２２およびＳＶＣ３の監視デバイス３０に対してテスト完了通知を送信する。
【０１２７】
このテスト完了通知を受信したＣＭ２やＳＶＣ３は、PCIeスイッチ２６やPCIeスイッチ４２のレジスタに格納されたエラー情報を採取し、テスト完了通知の送信元の監視デバイス２５に送信する。
【０１２８】
また、テスト制御部２５４には、ＳＶＣ３からＳＶＣ通信インタフェース２６０を介してタイマ満了通知が入力される。
【０１２９】
このタイマ満了通知は、ＦＲＴ＞ＣＭ方向のテストパターンの送出を開始してからの経過時間（テストパターン送出時間）が、規定時間（例えば１０分）を超えた場合に、ＳＶＣ３の監視デバイス３０からＣＭ２の監視デバイス２５に通知されるものである。
【０１３０】
テスト制御部２５４は、通信路テストにおいて、テストタイマ２５５に対して計時指示（カウント指示）を出力する。
【０１３１】
また、テスト制御部２５４は、設定値判定部２５８に対して、通信路テストを実行中（テスト状態）であるか否かを示す通知を行なう。
【０１３２】
テスト制御部２５４は、ＣＰＵ２２に対して、このテストパターンをＦＲＴ４に送出させる指示（テストパターン送出通知）を送信する。テスト制御部２５４は、ＣＰＵ通信インタフェース２５２を介してＣＰＵ２２にテストパターン送出通知を送信する。
【０１３３】
すなわち、テスト制御部２５４は、ＣＭ２からＦＲＴ４に対するテストパターンの送出を制御する。
【０１３４】
また、テスト制御部２５４は、ＳＶＣ３の監視デバイス３０に対して、テストパターンをＣＭ２に送出させる指示（テストパターン送出通知）を送信する。テスト制御部２５４は、ＳＶＣ通信インタフェース２６０を介してＳＶＣ３にテストパターン送出通知を送信する。
【０１３５】
すなわち、テスト制御部２５４は、ＦＲＴ４からＣＭ２に対するテストパターンの送出を制御する。
【０１３６】
テスト制御部２５４は、ＳＶＣ通信インタフェース２６０を介して、ＳＶＣ３に、各ＦＲＴ４に備えられた各PCIeスイッチ４２のレジスタから、ＣＭ２からＦＲＴ４に対して行なったテストパターンの送出についてのエラー数を送信させる（ＣＭ−ＦＲＴ間のエラー情報）。
【０１３７】
また、テスト制御部２５４は、後述の如くＦＲＴ４からＣＭ２へのテストパターンの送出についての通信結果（エラー数）を収集する。
【０１３８】
すなわち、テスト制御部２５４は、ＣＰＵ通信インタフェース２５２を介して、ＣＰＵ２２に、自身が搭載されたＣＭ２（以下、自ＣＭ２という場合がある）の各PCIeスイッチ２６のレジスタから、ＦＲＴ４からＣＭ２に送信されたテストパターンについてのエラー数を読み出させる。
【０１３９】
また、テスト制御部２５４は、設定値判定部２５８に対して、通信路テストを実行中の状態（テスト状態）であるかを通知する機能を有する。例えば、テスト制御部２５４は、図示しないレジスタ等の所定の記憶領域に、通信路テストの実行中であるか否かを示すフラグを設定することで、設定値判定部２５８に通信路テストの実行中であるかを通知する（テスト状態かどうかの通知）。
【０１４０】
テスト制御部２５４は、ＰＣＩｅスイッチ２６の設定値の変更を指示する通知（設定変更通知）をＣＰＵ２２に通知する。また、テスト制御部２５４は、PCIeスイッチ４２の設定値の変更を指示する通知（設定変更通知）をＳＶＣ３の監視デバイス３０に通知する。
【０１４１】
設定変更通知を受信したＣＰＵ２２は、PCIeスイッチ設定値一覧テーブル２５９に格納された設定パラメータ情報に基づき、ＥＥＰＲＯＭ２７に格納されたPCIeスイッチ２６の設定値を変更する。
【０１４２】
また、設定変更通知を受信した監視デバイス３０は、PCIeスイッチ設定値一覧テーブル３５９に格納された設定パラメータ情報に基づき、ＥＥＰＲＯＭ４３に格納されたPCIeスイッチ４２の設定値を変更する。
【０１４３】
テスト制御部２５４には、後述する設定値判定部２５８から、ＥＥＰＲＯＭ２７に格納されたPCIeスイッチ２６の設定値を変更したことの通知が入力される。
【０１４４】
また、テスト制御部２５４には、設定値判定部２５８によって行なわれる設定値の良否判断の結果が入力される（設定値の良否通知）。
【０１４５】
テスト制御部２５４には、ＳＶＣ３からＳＶＣ通信インタフェース２６０を介して、通信路テストが完了した旨の通知が入力される（テスト完了通知）。
【０１４６】
テスト制御部２５４には、ＳＶＣ３からＳＶＣ通信インタフェース２６０を介して、ＦＲＴ４のＰＣＩｅスイッチ４２において設定値が変更されてことを示す通知が入力される（設定変更通知）。
【０１４７】
テスト制御部２５４には、ＳＶＣ３からＳＶＣ通信インタフェース２６０を介して、ＦＲＴ４からＣＭ２に対してテストパターンが送出されることを示す通知が入力される（テストパターン送出通知）。
【０１４８】
テスト制御部２５４には、ＳＶＣ３からＳＶＣ通信インタフェース２６０を介して、テストタイマ３０４による所定時間（例えば１０分）の経過が検出された場合にタイマ満了通知が入力される。
【０１４９】
テスト制御部２５４は、通信路テストが完了すると、通信路テストが完了した旨の通知（テスト完了通知）を、ＣＰＵ通信インタフェース２５２やＳＶＣ通信インタフェース２６０を介してＣＭ２のＣＰＵ２２や、ＳＶＣ３に通知する。このテスト完了通知が送信されることで、次の処理、すなわち、エラー確認機能の実行が開始される。
【０１５０】
例えば、テスト制御部２５４は、通信路テストにおいて、テストパターンの送出を開始してから所定時間（例えば１０分）が経過すると、ＣＰＵ２２やＳＶＣ３の監視デバイス３０に対して、テスト完了通知を送信する。なお、テスト完了通知を受信した、ＣＰＵ２２や監視デバイス３０は、PCIeスイッチ２６やPCIeスイッチ４２のレジスタからエラー情報を採取して、監視デバイス２５に通知する。
【０１５１】
また、テスト制御部２５４には、現在どこの通信路テスト（処理）が実施されているかを通知するテストフラグ（テストフラグ  ｆｏｒ  ＦＲＴ，テストフラグ  ｆｏｒ  ＣＭ）が入力される。例えば、ＦＲＴ４の通信路テストが行なわれている場合にはテストフラグ  ｆｏｒ  ＦＲＴが入力され、ＣＭ２の通信路テストが行なわれている場合にはテストフラグ  ｆｏｒ  ＣＭが入力される。テスト制御部２５４においては、図示しないレジスタ等の所定の記憶領域に、入力されたテストフラグの値が格納される。
【０１５２】
また、テスト制御部２５４は、ＦＲＴ−＞ＣＭ方向の通信路テストにおいて、テストパターンの受信において検知されたエラーの情報（エラー数）をＳＶＣ３の監視デバイス３０に通知する。
【０１５３】
テスト制御部２５４は、ＣＰＵ通信インタフェース２５２を介して各PCIeスイッチ２６のレジスタからエラーの情報（エラー情報；本実施形態においてはエラー数）を読み出し、ＳＶＣ通信インタフェース２６０を介してＳＶＣ３に送信する（ＣＭ−ＦＲＴ間のエラー情報）。
【０１５４】
ＣＰＵ通信インタフェース２５２は、ＣＰＵ２２との通信を行なう。例えば、ＣＰＵ通信インタフェース２５２は、ＣＰＵ２２にPCIeスイッチ２６，４２のエラー数を取得させる。
【０１５５】
ＣＰＵ２２は、自身が搭載されたＣＭ２（以下、自ＣＭ２という場合がある）の各PCIeスイッチ２６のレジスタから、ＦＲＴ４からＣＭ２に送信されたテストパターンについてのエラー数を読み出す。
【０１５６】
そして、ＣＰＵ通信インタフェース２５２は、ＣＰＵ２２によって取得されたエラーの情報（ＣＭ−ＦＲＴ間のエラー情報）をテスト制御部２５４やエラー判定部２５６に通知する。
【０１５７】
ＣＰＵ通信インタフェース２５２は、テスト制御部２５４からテスト完了通知を受信すると、ＣＰＵ２２にこのテスト完了通知を送信する。
【０１５８】
また、ＣＰＵ通信インタフェース２５２は、テスト制御部２５４から設定変更通知を受信すると、ＣＰＵ２２にこの設定変更通知を送信する。
【０１５９】
また、ＣＰＵ通信インタフェース２５２は、テスト制御部２５４からテストパターン送出通知を受信すると、ＣＰＵ２２に対してこのテストパターン送出通知を送信する。
【０１６０】
ＣＰＵ通信インタフェース２５２は、PCIeスイッチ設定値インタフェース２５３に対して、ＣＭ２の各ＥＥＰＲＯＭ２７から、各PCIeスイッチ２６に設定されている現在の設定値を読み出させる指示（設定値取得指示）を通知して、設定値を取得させる。
【０１６１】
PCIeスイッチ設定値インタフェース２５３は、ＥＥＰＲＯＭ２７に格納された設定値の読み出しや書き換えを行なう。
【０１６２】
例えば、PCIeスイッチ設定値インタフェース２５３は、ＥＥＰＲＯＭ２７から現在の設定値（送信側，受信側）を読み出す。この読み出したPCIeスイッチ２６の現在の設定値は、PCIeスイッチ設定値判定テーブル２５７に格納される。PCIeスイッチ設定値インタフェース２５３は、ＣＰＵ通信インタフェース２５２から設定値取得指示が入力されると、ＥＥＰＲＯＭ２７から設定値の読み出しを行なう。
【０１６３】
PCIeスイッチ設定値インタフェース２５３は、設定値判定部２５８によって決定された設定値を、ＥＥＰＲＯＭ２７に格納することで、ＥＥＰＲＯＭ２７に格納された設定値を書き換える。
【０１６４】
また、PCIeスイッチ設定値インタフェース２５３は、ＥＥＰＲＯＭ２７に格納した設定値をPCIeスイッチ２６に反映させるために、PCIeスイッチ２６の再起動（リセット）も行なわせる。PCIeスイッチ２６のリセットは、例えば、PCIeスイッチ２６に対してリセットを指示命令を発行してもよく、また、PCIeスイッチ２６に備えられた図示しないリセット端子に所定の信号を入力することによって行なってもよく、種々変形して実施することができる。
【０１６５】
エラー判定部２５６は、各ＰＣＩｅスイッチ２６，４２のそれぞれから読み出されたエラー数が０であるか否かを判定する。エラー判定部２５６は、判定の結果（０か否か：0 or Notのいずれかを示す情報）をPCIeスイッチ設定値判定テーブル２５７に、その時点での設定値（現設定値）と対応付けて格納させる。
【０１６６】
これにより、PCIeスイッチ設定値判定テーブル２５７においては、設定値とエラー数（０か否か）とが紐付けられる。
【０１６７】
PCIeスイッチ設定値一覧テーブル２５９は、図２に例示するような、本ストレージ装置１において設定しうる全ての設定値（設定値マトリクス１００，設定パラメータ情報）を管理する。本実施形態においては、PCIeスイッチ設定値一覧テーブル２５９は、設定値をテーブルとして管理する例について示す。
【０１６８】
すなわち、PCIeスイッチ設定値一覧テーブル２５９は、図２においてマトリクス状に示された各設定値をテーブルとして管理する。
【０１６９】
例えば、設定値決定機能においては、このPCIeスイッチ設定値一覧テーブル２５９を参照することで、PCIeスイッチ２６に設定する設定値を順次切り換える。
【０１７０】
設定値判定部２５８は、PCIeスイッチ２６に設定する設定値を決定する。設定値判定部２５８は、PCIeスイッチ設定値判定テーブル２５７を参照して、設定値マトリクス１００ｂ中において、エラーのない（エラー数＝０）設定値によって構成される、ｎ×ｎ（ｎは奇数の整数が望ましい）の連続する矩形の無エラー領域を探す。
【０１７１】
そして、設定値判定部２５８は、この無エラー領域の中央に位置する設定値（中心値）を、PCIeスイッチ２６に設定する設定値と決定するのである。
【０１７２】
図２に示す例においては、例えば、設定値マトリクス１００ｂ中に、５×５（ｎ＝５）の無エラー領域が示されており（符号Ｐ３参照）、その中央位置（符号Ｐ４参照）に相当するＰｒｅｓｈｏｏｔとＤｅ−ｅｍｐｈａｓｉｓとの組合せが送信側の設定値として選択される。
【０１７３】
同様に、図２に示す例においては、例えば、設定値マトリクス１００ａ中に、５×５（ｎ＝５）の無エラー領域が示されており（符号Ｐ１参照）、その中央位置（符号Ｐ２参照）に相当するＤＦＥとＣＴＬＥとの組合せが受信側の設定値として選択される。
【０１７４】
そして、外部ＥＥＰＲＯＭ通信インタフェース２５１，ＳＶＣ通信インタフェース２６０，テスト制御部２５４，テストタイマ２５５，PCIeスイッチ設定値インタフェース２５３および設定値判定部２５８が、上述した通信路テスト機能を実現する。
【０１７５】
また、ＳＶＣ通信インタフェース２６０，エラーレート判定部２５６，PCIeスイッチ設定値判定テーブル２５７，PCIeスイッチ設定値一覧テーブル２５９および設定値判定部２５８が、上述したエラー確認機能を実現する。
【０１７６】
さらに、PCIeスイッチ設定値判定テーブル２５７，PCIeスイッチ設定値一覧テーブル２５９，PCIeスイッチ設定値インタフェース２５３および設定値判定部２５８が、設定値決定機能を実現する。
【０１７７】
なお、図示しないメモリ等の記憶装置に、PCIeスイッチ設定値判定テーブル２５７およびPCIeスイッチ設定値一覧テーブル２５９が格納される。
【０１７８】
また、監視デバイス２５は、例えばＭＰＵ（Micro-Processing Unit）やＣＰＵ等のプロセッサやＦＰＧＡ（Field Programmable Gate Array）を備え（いずれも図示省略）、これらのＭＰＵやＦＰＧＡにより、上述した外部ＥＥＰＲＯＭ通信インタフェース２５１，ＣＰＵ通信インタフェース２５２，PCIeスイッチ設定値インタフェース２５３，テスト制御部２５４，テストタイマ２５５，エラー判定部２５６，設定値判定部２５８およびＳＶＣ通信インタフェース２６０としての機能が適宜実現される。
【０１７９】
これらの各部の機能は、ソフトウェアもしくはハードウェアのいずれにより実現してもよい。
【０１８０】
例えば、図示しないプロセッサが、図示しないメモリに格納されたプログラムを実行することにより、上述した、エラー判定部２５６，外部ＥＥＰＲＯＭ通信インタフェース２５１，ＣＰＵ通信インタフェース２５２，PCIeスイッチ設定値インタフェース２５３，テスト制御部２５４，テストタイマ２５５，設定値判定部２５８およびＳＶＣ通信インタフェース２６０として機能する。
【０１８１】
なお、これらのエラー判定部２５６，外部ＥＥＰＲＯＭ通信インタフェース２５１，ＣＰＵ通信インタフェース２５２，PCIeスイッチ設定値インタフェース２５３，テスト制御部２５４，テストタイマ２５５，設定値判定部２５８およびＳＶＣ通信インタフェース２６０としての機能を実現するためのプログラム（制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【０１８２】
エラー判定部２５６，外部ＥＥＰＲＯＭ通信インタフェース２５１，ＣＰＵ通信インタフェース２５２，PCIeスイッチ設定値インタフェース２５３，テスト制御部２５４，テストタイマ２５５，設定値判定部２５８およびＳＶＣ通信インタフェース２６０としての機能を実現する際には、内部記憶装置（本実施形態では監視デバイス２５のメモリ）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではプロセッサ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【０１８３】
［３］ＳＶＣ
ＳＶＣ３は、本ストレージ装置１における各種監視を行なう監視装置である。
【０１８４】
ＳＶＣ３は、ＣＭ２とＦＲＴ４との通信を管理する管理装置としても機能し、後述の如くＣＭ２と協働して、ＦＲＴ４の各ＰＣＩｅスイッチ４２に設定値を設定する。
【０１８５】
ＳＶＣ３は、図１に示すように、監視デバイス３０と複数（図１に示す例では２つを図示）のコネクタ（ＣＮ）３１を備える。コネクタ３１には、監視用インタフェースケーブル７０の一端のコネクタ（図示省略）が着脱可能に実装される。監視用インタフェースケーブル７０の他端のコネクタ（図示省略）は、ＣＭ２に備えられたコネクタ（ＣＮ）２４に実装され、これにより、ＳＶＣ３は監視用インタフェースケーブル７０を介して各ＣＭ２と通信可能に接続され、これらのＣＭ２を監視する。
【０１８６】
図１に示す例においては、便宜上、２つのＣＭ２及び２つのコネクタ３１を図示しているが、３つ以上（例えば２４個）のＣＭ２及びコネクタ３１を備えてもよく、種々変形して実施することができる。
【０１８７】
監視デバイス３０は、各ＦＲＴ４のPCIeスイッチ４２と第１データバス９０を介して接続され、各ＦＲＴ４のコネクタ４１における通信ケーブル８の接続状態の監視や、各PCIeスイッチ４２の設定値の設定を行なう。
【０１８８】
監視デバイス３０は、監視デバイス２５と同様に、本ストレージ装置１に接続される通信ケーブル８に対する設定値を決定する設定値決定機能を実現する。
【０１８９】
この設定値決定機能の実現に際して、監視デバイス３０は、通信ケーブル８を介した通信路にテストパターンデータ（テストデータ）を送信する通信路テストを行なう。
【０１９０】
通信路テストにおいては、監視デバイス３０は、ＣＭ−＞ＦＲＴ方向の通信路テストにおいては、ＣＭ２から繰り返し送信されるテストパターンをPCIeスイッチ４２によって受信することでエラーのログ（エラーレート）を蓄積する。
【０１９１】
エラーのログは、監視デバイス３０においても、テストパターンの送受信に用いられたPCIeスイッチ２６およびPCIeスイッチ４２の各設定値とともに記録・管理される。
【０１９２】
前述の如く、ＦＲＴ４からＣＭ２へのデータの送信方向（ＦＲＴ−＞ＣＭ）についての通信路テストを行なう場合には、監視デバイス３０は、PCIeスイッチ４２の送信側の設定値を変更しながらテストパターンを繰り返し送信する。
【０１９３】
具体的には、監視デバイス３０は、PCIeスイッチ４２に、図２に示す設定値のマトリクス（設定値マトリクス１００ｂ）によって表される各設定値を順次設定して、テストパターンの送信を行なう。このように、監視デバイス３０は通信路テスト機能を備える。
【０１９４】
また、前述の如く、ＣＭ２からＦＲＴ４へのデータの送信方向（ＣＭ−＞ＦＲＴ）についての通信路テストを行なう場合には、監視デバイス３０は、PCIeスイッチ４２の受信側の設定値を変更しながらテストパターンを繰り返し受信する。
【０１９５】
具体的には、監視デバイス３０は、PCIeスイッチ４２に、図２に示す設定値のマトリクス（設定値マトリクス１００ａ）によって表される各設定値を順次設定して、テストパターンの受信を行なう。
【０１９６】
また、監視デバイス３０は、通信路テストの結果、PCIeスイッチ２６およびPCIeスイッチ４２のそれぞれにおいて検出されたエラーのエラー数を確認するエラー確認機能を備える。
【０１９７】
前述の如く、ＣＭ２の監視デバイス２５は、通信路テストにおいてPCIeスイッチ２６がテストパターンを受信する際に検出したエラー数を、そのPCIeスイッチ２６の受信側に設定された設定値とともに監視デバイス３０に通知する。
【０１９８】
また、監視デバイス２５は、通信路テストにおいてPCIeスイッチ２６がテストパターンを送信する際に用いたPCIeスイッチ２６の設定値を、監視デバイス３０に通知する。
【０１９９】
監視デバイス３０は、ＦＲＴ４からＣＭ２へのデータの送信方向（ＦＲＴ−＞ＣＭ）についての通信路テストに関して、PCIeスイッチ４２に設定した送信側の設定値を、監視デバイス２５から通知されたPCIeスイッチ２６の受信側の設定値およびエラー数と対応付けて、後述するPCIeスイッチ設定値判定テーブル３５７にエラー管理情報として記録する。
【０２００】
また、監視デバイス３０は、ＣＭ２からＦＲＴ４へのデータの送信方向（ＣＭ−＞ＦＲＴ）についての通信路テストに関して、PCIeスイッチ４２に設定した受信側の設定値および検出したエラー数を、監視デバイス２５から通知されたPCIeスイッチ２６の送信側の設定値と対応付けて、PCIeスイッチ設定値判定テーブル３５７に記録する。
【０２０１】
このように、監視デバイス３０は、ＣＭ２の監視デバイス２５と同様に、通信路テストの対象の通信路を構成するPCIeスイッチ２６とPCIeスイッチ４２との各組合せのそれぞれについて、順次変更される送信側の設定値と受信側の設定値との各組合せに対応させて、テストパターンの送受信において検出されたエラー数を記録する機能（通信路テストログ収集機能）を有する。
【０２０２】
さらに、監視デバイス３０は、設定値のマトリクス（設定値マトリクス：図２参照）の中からエラーの無い設定値が連続する所定の範囲（無エラー設定値群）を特定する。そして、監視デバイス３０は、この無エラー設定値群の中心の値（中心値）を設定値として選択する。すなわち、監視デバイス２５は、設定値を決定する設定値決定機能を備える。
【０２０３】
すなわち、監視デバイス３０は、ＣＭ２の監視デバイス２５と同様に、本ストレージ装置１に接続される通信ケーブル８に対する設定値を決定する設定値決定機能を実現する。
【０２０４】
かかる設定値決定機能の実現に際して、監視デバイス３０は、通信ケーブル８を介した通信路にテストパターン（テストデータ）を送信する通信路テストを行なう。
【０２０５】
そして、監視デバイス３０は、この通信路テストの結果に基づき、通信ケーブル８に対する設定値を決定する。監視デバイス３０は上述した監視デバイス２５と同様の構成を有する。
【０２０６】
図４に示す例において、監視デバイス３０は、外部ＥＥＰＲＯＭ通信インタフェース（ＩＦ）３５１，ＳＶＣ通信インタフェース（ＩＦ）３５２，PCIeスイッチ（ＳＷ）設定値インタフェース（ＩＦ）３５３，テスト制御部３５４，テストタイマ３５５，エラー判定部３５６，PCIeスイッチ（ＳＷ）設定値判定テーブル３５７，設定値判定部３５８およびPCIeスイッチ（ＳＷ）設定値一覧テーブル３５９としての機能を備える。
【０２０７】
PCIeスイッチ４２においては、データ受信時にエラーが生じると、図示しないレジスタにその結果（エラー数；エラー情報）が格納される。
【０２０８】
本ストレージ装置１におけるエラー確認機能においては、PCIeスイッチ２６およびPCIeスイッチ４２の各レジスタから通信路テストの結果としてのエラー数を収集して、各設定値でのエラーの有無（エラー数）が判定され、後述するPCIeスイッチ設定値判定テーブル３５７に登録される。
【０２０９】
PCIeスイッチ設定値判定テーブル３５７は、設定値マトリクスを構成する各設定値に対して、通信路テストによるテストパターンの送信時における、当該設定値で検出されたエラー数を対応付けて管理する管理情報（エラー管理情報）である。このPCIeスイッチ設定値判定テーブル３５７は、PCIeスイッチ設定値判定テーブル２５７と同様の構成を備える。
【０２１０】
なお、このような管理情報は必ずしもデータをテーブル状に対応付けて管理する必要はなく、適宜変更して実施することができる。
【０２１１】
また、例えば、ＣＭ２の監視デバイス２５は、監視デバイス３０に対して、作成したPCIeスイッチ設定値判定テーブル２５７を送信してもよく、監視デバイス３０は、監視デバイス２５から取得したPCIeスイッチ設定値判定テーブル２５７をPCIeスイッチ設定値判定テーブル３５７として保持してもよい。
【０２１２】
また、例えば、ＳＶＣ３の監視デバイス３０が、監視デバイス２５に対して、作成したPCIeスイッチ設定値判定テーブル３５７を送信してもよく、監視デバイス２５は、監視デバイス３０から取得したPCIeスイッチ設定値判定テーブル３５７をPCIeスイッチ設定値判定テーブル２５７として保持してもよい。
【０２１３】
設定値決定機能においては、PCIeスイッチ設定値判定テーブル３５７を参照して、設定値マトリクス１００ａ中において、エラーが未検出（エラー数＝０）の設定値によって構成される、ｎ×ｎ（ｎは奇数の整数が望ましい）の連続する矩形領域（無エラー領域）を探す。
【０２１４】
そして、設定値決定機能においては、この矩形領域の中央に位置する設定値（中心値）を、PCIeスイッチ４２に設定する設定値と決定する。
【０２１５】
本ストレージ装置１においては、図２に符号（Ｂ）で示すように、複数種類のＰｒｅｓｈｏｏｔの値と複数種類のＤｅ−ｅｍｐｈａｓｉｓの値とをマトリクス状に配置し、設定値決定機能においては、このマトリクスの中から、設定値として用いられるＰｒｅｓｈｏｏｔとＤｅ−ｅｍｐｈａｓｉｓとの組合せを選択する。
【０２１６】
具体的には、通信路テスト機能において、図２に符号（Ｂ）にマトリクス状に示したＰｒｅｓｈｏｏｔとＤｅ−ｅｍｐｈａｓｉｓとの各組合せのそれぞれ実際に設定値としてPCIeスイッチ４２に設定して、予めテストパターンを実際に受信する通信路テストを行なう。
【０２１７】
PCIeスイッチ４２においては、ＣＭ２からのデータ受信時や、ＣＭ２へのデータ送信時にエラーが生じると、図示しないレジスタにその結果（エラー数；エラー情報）が格納される。
【０２１８】
また、監視デバイス３０は、設定値決定機能を実現するに際して、設定値マトリクスにおいて、無エラー設定値群として、縦方向に５マス×横方向に５マスの５×５の矩形エリア（第１の判定エリア）を構成する各設定値が全てエラー数＝０である領域（無エラー領域）があれば、その中心値を設定値とする。
【０２１９】
また、監視デバイス３０は、設定値マトリクスにおいて、５×５マスのエリアを構成する設定値の全てがエラー数＝０となる第１の判定エリアがない場合に、無エラー設定値群として、縦方向に３マス×横方向に３マスの３×３の矩形エリア（第２の判定エリア）を構成する各設定値が全てエラー数＝０であるエリアがあれば、その中心値を設定値とする。
【０２２０】
図４に示す例において、監視デバイス３０は、外部ＥＥＰＲＯＭ通信インタフェース３５１，ＳＶＣ通信インタフェース３５２，PCIeスイッチ設定値インタフェース３５３，テスト制御部３５４，テストタイマ３５５，エラー判定部３５６，PCIeスイッチ（ＳＷ）設定値判定テーブル３５７，設定値判定部３５８およびPCIeスイッチ設定値一覧テーブル３５９としての機能を備える。
【０２２１】
外部ＥＥＰＲＯＭ通信インタフェース３５１は、外部ＥＥＰＲＯＭ３２との通信を行なう。外部ＥＥＰＲＯＭ通信インタフェース３５１は、ＦＲＴ４からＣＭ２へ送信されるテストデータをＥＥＰＲＯＭ３２から取得し、テスト制御部３５４に渡す。
【０２２２】
ＳＶＣ通信インタフェース３５２は、ＣＭ２との間でデータ通信を行なう。ＳＶＣ通信インタフェース３５２は、ＣＭ２から送信されるテストフラグやＣＭ−ＦＲＴ間のエラー情報を監視用インタフェースケーブル７０を介し受信する（図３および図４の符号i，vi参照）。これらの受信したテストフラグやＣＭ−ＦＲＴ間のエラー情報は、テスト制御部３５４に入力される。
【０２２３】
また、ＳＶＣ通信インタフェース３５２は、テスト制御部３５４から出力されるテスト完了通知，設定変更通知，テストパターン送出通知およびタイマ満了通知を、監視用インタフェースケーブル７０を介してＣＭ２に送信する（図３および図４の符号ii，iii，iv，v参照）。
【０２２４】
ＣＭ２のテスト制御部２５４から送信されるテスト完了通知等は、ＳＶＣ３の監視デバイス３０において、このＳＶＣ通信インタフェース３５２によって受信される。
【０２２５】
テストタイマ３５５は、計時を行なう。このテストタイマ３５５は、テスト制御部３５４からの計時指示（カウント指示）に従って計時を開始し、所定時間（例えば１０分）の経過を検出した場合に、ＳＶＣ通信インタフェース３５２にタイマ満了通知を送信する。
【０２２６】
テスト制御部３５４は、ＦＲＴ４からＣＭ２へのデータ送信に関する通信路テストを実行するための各種制御を行なう。
【０２２７】
例えば、テスト制御部３５４は、外部ＥＥＰＲＯＭ通信インタフェース３５１を介して、ＥＥＰＲＯＭ３２からテストパターン（ＦＲＴ−＞ＣＭ）を読み出す（ＦＲＴ−＞ＣＭ方向のテストパターン情報取得）。
【０２２８】
テスト制御部３５４は、ＳＶＣ通信インタフェース３５２およびPCIeスイッチ設定値インタフェース３５３を介して、ＦＲＴ４にテストパターンをＣＭ２に送出させる指示（テストパターン送出指示，テストパターン送出通知）を送信する。すなわち、テスト制御部３５４は、ＦＲＴ４からＣＭ２に対するテストパターンの送出を制御する。
【０２２９】
ＦＲＴ４は、このテストパターン送出通知に従って通信路テストを開始する。すなわち、外部ＥＥＰＲＯＭ４３から読み出したテストパターンをPCIeスイッチ４２を介してＣＭ２に対して送出する。
【０２３０】
テスト制御部３５４は、ＣＭ２の監視デバイス２５に対して、設定値の変更を指示する設定値変更通知を送信する。
【０２３１】
この設定値変更通知を受信したＣＭ２は、設定値マトリクス１００に基づいて、PCIeスイッチ２６の設定値を他の値に変更する。
【０２３２】
テスト制御部３５４は、ＣＭ２に対して、ＳＶＣ通信インタフェース３５２を介して設定値変更通知を出力する。
【０２３３】
また、テスト制御部３５４には、ＣＭ２からＳＶＣ通信インタフェース３５２を介して設定値変更通知が入力される。
【０２３４】
この設定値変更通知が入力されると、設定値判定部３５８が、PCIeスイッチ設定値判定テーブル３５７に基づいて、PCIeスイッチ４２の設定値を変更する。
【０２３５】
また、テスト制御部３５４は、ＳＶＣ通信インタフェース３５２を介してＣＭ２へテストパターン送出通知を出力する。
【０２３６】
テスト制御部３５４は、通信路テストの実行中（テストパターンの送信中）は、通信路テストを実行中であることを示すテストフラグをＳＶＣ通信インタフェース３５２を介してＣＭ２に出力する。
【０２３７】
また、テスト制御部３５４には、通信路テストの実行中（テストパターンの受信中）は、通信路テストを実行中であることを示すテストフラグがＳＶＣ通信インタフェース３５２を介して入力される。
【０２３８】
テスト制御部３５４は、通信路テストが完了すると、通信路テストが完了した旨の通知（テスト完了通知）を、ＣＭ２のＣＰＵ２２に送信する。
【０２３９】
例えば、テスト制御部３５４は、テストパターンの送出を開始してから所定のテストパターン送出時間（例えば、１０分）が経過すると、ＣＭ２に対して、ＳＶＣ通信インタフェース３５２を介してテスト完了通知を送信する。
【０２４０】
このテスト完了通知を受信したＣＭ２は、PCIeスイッチ２６やPCIeスイッチ４２のレジスタに格納されたエラー情報を採取し、テスト完了通知の送信元の監視デバイス２５に送信する。
【０２４１】
また、テスト制御部３５４は、ＦＲＴ４からＣＭ２への通信路テストが完了すると、通信路テストが完了した旨の通知（テスト完了通知）を、ＳＶＣ通信インタフェース３５２を介してＣＭ２に出力する。
【０２４２】
また、テスト制御部３５４には、ＳＶＣ３からＳＶＣ通信インタフェース３５２を介してタイマ満了通知が入力される。
【０２４３】
テスト制御部３５４は、通信路テストにおいて、テストタイマ３５５に対して計時指示（カウント指示）を出力する。
【０２４４】
また、テスト制御部３５４は、設定値判定部３５８に対して、通信路テストを実行中（テスト状態）であるか否かを示す通知を行なう。
【０２４５】
テスト制御部３５４は、ＳＶＣ通信インタフェース３５２を介して、ＣＭ２に、各PCIeスイッチ２６のレジスタから、ＦＲＴ４からＣＭ２に対して行なったテストパターンの送出についてのエラー数を送信させる（ＣＭ−ＦＲＴ間のエラー情報）。
【０２４６】
また、テスト制御部３５４は、ＦＲＴ４からＣＭ２へのテストパターンの送出についての通信結果（エラー数）を収集する。
【０２４７】
すなわち、テスト制御部３５４は、ＳＶＣ通信インタフェース３５２を介して、各ＣＭ２の各PCIeスイッチ２６のレジスタから、ＦＲＴ４からＣＭ２に送信されたテストパターンについてのエラー数を読み出させる。
【０２４８】
また、テスト制御部３５４は、設定値判定部３５８に対して、通信路テストを実行中の状態（テスト状態）であるかを通知する機能を有する。例えば、テスト制御部３５４は、図示しないレジスタ等の所定の記憶領域に、通信路テストの実行中であるか否かを示すフラグを設定することで、設定値判定部３５８に通信路テストの実行中であるかを通知する（テスト状態かどうかの通知）。
【０２４９】
また、テスト制御部３５４には、PCIeスイッチ４２の設定値の変更を指示する通知（設定変更通知）がＣＭ２から通知される。
【０２５０】
設定変更通知を受信した監視デバイス３０においては、設定値判定部３５８が、PCIeスイッチ設定値一覧テーブル３５９に格納された設定パラメータ情報に基づき、ＥＥＰＲＯＭ４３に格納されたPCIeスイッチ４２の設定値を変更する。
【０２５１】
テスト制御部３５４には、後述する設定値判定部３５８から、ＥＥＰＲＯＭ４３に格納されたPCIeスイッチ４２の設定値を変更したことの通知が入力される。
【０２５２】
また、テスト制御部３５４は、設定値判定部３５８によって行なわれる設定値の良否判断の結果が入力される（設定値の良否通知）。
【０２５３】
テスト制御部３５４は、ＣＭ２に対してＳＶＣ通信インタフェース３５２を介して、通信路テストが完了した旨の通知（テスト完了通知）を出力する。
【０２５４】
テスト制御部３５４は、ＣＭ２に対してＳＶＣ通信インタフェース３５２を介して、ＦＲＴ４のＰＣＩｅスイッチ４２において設定値が変更されてことを示す通知を出力する（設定変更通知）。
【０２５５】
テスト制御部３５４は、ＣＭ２に対してＳＶＣ通信インタフェース３５２を介して、ＦＲＴ４からＣＭ２に対してテストパターンが送出されることを示す通知を出力する（テストパターン送出通知）。
【０２５６】
テストタイマ３０４による所定時間（例えば１０分）の経過が検出された場合に、ＣＭ２に対してＳＶＣ通信インタフェース３５２を介してタイマ満了通知が入力され、このタイマ満了通知はテスト制御部２５４に入力される。
【０２５７】
テスト制御部３５４は、通信路テストが完了すると、通信路テストが完了した旨の通知（テスト完了通知）を、ＳＶＣ通信インタフェース３５２を介してＣＭ２のＣＰＵ２２に通知する。このテスト完了通知が送信されることで、次の処理、すなわち、エラー確認機能の実行が開始される。
【０２５８】
例えば、テスト制御部３５４は、通信路テストにおいて、テストパターンの送出を開始してから所定時間（例えば１０分）が経過すると、ＳＶＣ３の監視デバイス３０に対して、テスト完了通知を送信する。なお、テスト完了通知を受信した、ＣＭ２のＣＰＵ２２は、PCIeスイッチ２６のレジスタからエラー情報を採取して、エラー判定部３５６に通知する。
【０２５９】
また、PCIeスイッチ設定値インタフェース３５３は、ＦＲＴ４からＣＭ２への通信路テストが完了すると、PCIeスイッチ４２のレジスタからエラー情報を採取して、エラー判定部３５６に通知する。
【０２６０】
また、テスト制御部３５４には、現在どこの通信路テスト（処理）が実施されているかを通知するテストフラグが入力される。テスト制御部３５４においては、図示しないレジスタ等の所定の記憶領域に、入力されたテストフラグの値が格納される。
【０２６１】
また、テスト制御部３５４は、ＣＭ−＞ＦＲＴ方向の通信路テストにおいて、テストパターンの受信において検知されたエラーの情報（エラー情報；本実施形態においてはエラー数）をＣＭ２の監視デバイス２５に通知する。
【０２６２】
テスト制御部３５４は、各PCIeスイッチ４２のレジスタからエラー数を読み出し、ＳＶＣ通信インタフェース３５２を介して、ＣＭ２の監視デバイス２５に送信する（ＣＭ−ＦＲＴ間のエラー情報）。
【０２６３】
PCIeスイッチ設定値インタフェース３５３は、ＥＥＰＲＯＭ４３に格納された設定値の読み出しや書き換えを行なう。
【０２６４】
例えば、PCIeスイッチ設定値インタフェース３５３は、ＥＥＰＲＯＭ４３から現在の設定値を読み出す。この読み出したPCIeスイッチ４２の現在の設定値は、PCIeスイッチ設定値判定テーブル３５７に格納される。PCIeスイッチ設定値インタフェース３５３は、ＳＶＣ通信インタフェース３５２から設定値取得指示が入力されると、ＥＥＰＲＯＭ４３から設定値の読み出しを行なう。
【０２６５】
PCIeスイッチ設定値インタフェース３５３は、設定値判定部３５８によって決定された設定値を、ＥＥＰＲＯＭ４３に格納することで、ＥＥＰＲＯＭ４３に格納された設定値を書き換える。
【０２６６】
また、PCIeスイッチ設定値インタフェース３５３は、ＥＥＰＲＯＭ４３に格納した設定値をPCIeスイッチ４２に反映させるために、PCIeスイッチ４２の再起動（リセット）も行なわせる。PCIeスイッチ４２のリセットは、例えば、PCIeスイッチ４２に対してリセットを指示命令を発行してもよく、また、PCIeスイッチ４２に備えられた図示しないリセット端子に所定の信号を入力することによって行なってもよく、種々変形して実施することができる。
【０２６７】
エラー判定部３５６は、各ＰＣＩｅスイッチ２６，４２のそれぞれから読み出されたエラー数が０であるか否かを判定する。エラー判定部３５６は、判定の結果（０か否か：0 or Notのいずれかを示す情報）をPCIeスイッチ設定値判定テーブル３５７に、その時点での設定値（現設定値）と対応付けて格納させる。
【０２６８】
これにより、PCIeスイッチ設定値判定テーブル３５７においては、設定値とエラー数（０か否か）とが紐付けられる。
【０２６９】
PCIeスイッチ設定値一覧テーブル３５９は、PCIeスイッチ設定値一覧テーブル２５９と同様に、図２に例示するような、本ストレージ装置１において設定しうる全ての設定値（設定値マトリクス１００，設定パラメータ情報）を管理する。
【０２７０】
例えば、設定値決定機能においては、このPCIeスイッチ設定値一覧テーブル３５９を参照することで、PCIeスイッチ４２に設定する設定値が順次切り換えられる。
【０２７１】
なお、PCIeスイッチ設定値一覧テーブル３５９はPCIeスイッチ設定値一覧テーブル２５９と同様であるので、その詳細な説明は省略する。
【０２７２】
設定値判定部３５８は、設定値判定部２５８と同様に、PCIeスイッチ４２に設定する設定値を決定する。設定値判定部３５８は、PCIeスイッチ設定値判定テーブル３５７を参照して、設定値マトリクス１００ｂ中において、エラーのない（エラー数＝０）設定値によって構成されるｎ×ｎ（ｎは奇数の整数）の連続する矩形の無エラー領域を探す。
【０２７３】
そして、設定値判定部３５８は、この無エラー領域の中央に位置する設定値（中心値）をPCIeスイッチ４２に設定する設定値と決定するのである。
【０２７４】
そして、外部ＥＥＰＲＯＭ通信インタフェース３５１，ＳＶＣ通信インタフェース３５２，テスト制御部３５４，テストタイマ３５５，PCIeスイッチ設定値インタフェース３５３および設定値判定部３５８が、通信路テスト機能を実現する。
【０２７５】
また、ＳＶＣ通信インタフェース３５２，エラーレート判定部３５６，PCIeスイッチ設定値判定テーブル３５７，PCIeスイッチ設定値一覧テーブル３５９および設定値判定部３５８が、上述したエラー確認機能を実現する。
【０２７６】
さらに、PCIeスイッチ設定値判定テーブル３５７，PCIeスイッチ設定値一覧テーブル３５９，PCIeスイッチ設定値インタフェース３５３および設定値判定部３５８が、設定値決定機能を実現する。
【０２７７】
なお、図示しないメモリ等の記憶装置に、PCIeスイッチ設定値判定テーブル３５７およびPCIeスイッチ設定値一覧テーブル３５９が格納される。
【０２７８】
また、監視デバイス３０は、例えばＭＰＵ（Micro-Processing Unit）やＣＰＵ等のプロセッサやＦＰＧＡ（Field Programmable Gate Array）を備え（いずれも図示省略）、これらのＭＰＵやＦＰＧＡにより、上述した外部ＥＥＰＲＯＭ通信インタフェース３５１，ＳＶＣ通信インタフェース３５２，PCIeスイッチ設定値インタフェース３５３，テスト制御部３５４，テストタイマ３５５，エラー判定部３５６および設定値判定部３５８としての機能が適宜実現される。
【０２７９】
これらの各部の機能は、ソフトウェアもしくはハードウェアのいずれにより実現してもよい。
【０２８０】
例えば、図示しないプロセッサが、図示しないメモリに格納されたプログラムを実行することにより、上述した、外部ＥＥＰＲＯＭ通信インタフェース３５１，ＳＶＣ通信インタフェース３５２，PCIeスイッチ設定値インタフェース３５３，テスト制御部３５４，テストタイマ３５５，エラー判定部３５６および設定値判定部３５８として機能する。
【０２８１】
なお、これらの外部ＥＥＰＲＯＭ通信インタフェース３５１，ＳＶＣ通信インタフェース３５２，PCIeスイッチ設定値インタフェース３５３，テスト制御部３５４，テストタイマ３５５，エラー判定部３５６および設定値判定部３５８としての機能を実現するためのプログラム（制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ，ＨＤ  ＤＶＤ等），ブルーレイディスク，磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【０２８２】
外部ＥＥＰＲＯＭ通信インタフェース３５１，ＳＶＣ通信インタフェース３５２，PCIeスイッチ設定値インタフェース３５３，テスト制御部３５４，テストタイマ３５５，エラー判定部３５６および設定値判定部３５８としての機能を実現する際には、内部記憶装置（本実施形態では監視デバイス３０のメモリ）に格納されたプログラムがコンピュータのマイクロプロセッサ（本実施形態ではプロセッサ）によって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
【０２８３】
（ｂ）動作
上述の如く構成された実施形態の一例としてのストレージ装置１の装置起動時における波形設定値の設定方法を、図５〜図９に示すフローチャート（ステップＳ１〜Ｓ４５）に従って説明する。なお、図５はステップＳ１〜Ｓ１０を、図６はステップＳ１１〜Ｓ１８を、図７はステップＳ１９〜Ｓ２６を、図８はステップＳ２７〜Ｓ３６を、図９はステップＳ３７〜Ｓ４５を、それぞれ示す。
【０２８４】
以下の処理は、ＣＭ２とＳＶＣ３とが、監視用インタフェースケーブル７０を介して既に通信可能な状態となっている事を前提としている。
【０２８５】
ステップＳ１において、本ストレージ装置１に電源が投入されると、ＣＭ２，ＳＶＣ３およびＦＲＴ４のそれぞれが起動される。すなわち、ＣＭ２，ＳＶＣ３およびＦＲＴ４のそれぞれに電力が供給され、各ＣＭ２２の各PCIeスイッチ２６や各ＦＲＴ４の各PCIeスイッチ４２にも電源が投入される。
【０２８６】
ステップＳ２において、各ＣＭ２の各PCIeスイッチ２６と各ＦＲＴ４の各PCIeスイッチ４２とが、既知のオートチューニング機能により伝送パラメータ（設定値）を設定する。
【０２８７】
具体的には、各ＣＭ２の各PCIeスイッチ２６と各ＦＲＴ４の各PCIeスイッチ４２とが、エラー数の規定値内に収まる値であって、PCIeがリンクアップ可能な値を設定値としてそれぞれ選択する。設定された設定値は、ＥＥＰＲＯＭ２７，４３にそれぞれ格納される。
【０２８８】
なお、かかるオートチューニングによる設定値の設定は、本ストレージ装置１の初回起動時にのみ行なうことが望ましい。ＥＥＰＲＯＭ２７，４３に、既に伝送設定値が格納されている場合には、その伝送設定値を用いることで、本ステップＳ２の処理を省略してもよい。これにより、オートチューニングよる設定値の設定に要する時間を短縮することができる。
【０２８９】
ステップＳ３において、各ＣＭ２の監視デバイス２５が、ＣＰＵ２２とＳＶＣ３の監視デバイス３０に対して、各PCIeスイッチ２６，４２のリンクアップ制御指示を発行する。
【０２９０】
ステップＳ４において、各ＣＭ２の監視デバイス２５が、ＥＥＰＲＯＭ２８に格納されているテストパターンを読み出し、ＣＭ２からＦＲＴ４に対して、ＣＭ−＞ＦＲＴ方向のテストパターン送出を行なう。
【０２９１】
また、ＳＶＣ３２の監視デバイス３０が、ＥＥＰＲＯＭ３２に格納されているテストパターンを読み出し、ＦＲＴ４からＣＭ２に対して、ＦＲＴ−＞ＣＭ方向のテストパターン送出を行なう。
【０２９２】
これらにより、ＣＭ２とＦＲＴ４との間において通信路テストが行なわれ、双方向でテストパターンの送出が行なわれる。
【０２９３】
一般的に、PCIeスイッチは、テストパターンを自発的に送出するテストモード機能を有している。しかしながら、このテストモード機能においては、単にデータをデバイス間でループバックし、送出元だけでエラー有無を判定するため、エラーが発生した伝送経路（方向）を明確に判断することができない。
【０２９４】
本ストレージ装置１においては、あらかじめ外部ＥＥＰＲＯＭ２７，４３に格納したテストパターンを双方向に送出するのである。
【０２９５】
ステップＳ５において、各ＣＭ２の監視デバイス２５のテスト制御部２５４が、テストタイマ２５５を起動させて、テストパターンの送出時間（例えば１０分間）の監視を開始する。
【０２９６】
同様に、ＳＶＣ３の監視デバイス３０のテスト制御部３５４が、テストタイマ３５５を起動させて、テストパターンの送出時間（例えば１０分間）の監視を開始する。
【０２９７】
なお、本実施形態においては、テストパターンの送出時間が１０分間である例を示しているが、これに限定されるものではなく、本ストレージ装置１における各部の負荷等を考慮して適宜変更して実施することができる。
【０２９８】
テストパターンの送出時間（１０分間）が経過していない場合には（ステップＳ５の“１０分未満”ルート参照）、ステップＳ４に戻り、テストパターンの送信を継続して行なう。すなわち、テストパターンの送出時間が経過するまでの間、ＣＭ２とＦＲＴ４との間でテストパターンが繰り返し双方向で送受信される。
【０２９９】
テストパターンの送出時間（１０分間）が経過すると（ステップＳ５の“１０分経過”ルート参照）、ステップＳ６に移行する。
【０３００】
ステップＳ６において、各ＣＭ２のテスト制御部２５４は、各PCIeスイッチ２６のレジスタに格納されているエラー情報を、ＳＶＣ３の監視デバイス３０に送信する（ＣＭ−ＦＲＴ間のエラー情報）。また、この際、テスト制御部２５４は、PCIeスイッチ２６の受信側の設定値も監視デバイス３０に送信する。
【０３０１】
また、ＳＶＣ３のテスト制御部３５４は、各ＦＲＴ４の各PCIeスイッチ４２のレジスタに格納されているエラー情報を、各PCIeスイッチ４２の通信相手のＣＭ２の監視デバイス２５に送信する（ＣＭ−ＦＲＴ間のエラー情報）。また、この際、テスト制御部３５４は、PCIeスイッチ４２の受信側の設定値も監視デバイス２５に送信する。
【０３０２】
各ＣＭ２の監視デバイス２５において、ＦＲＴ−＞ＣＭ方向の通信路テストに関しては、エラー判定部２５６が通信路テストにおいて検出されたエラー数を収集し、また、PCIeスイッチ設定値インタフェース２５３を介して、各PCIeスイッチ２６のＥＥＰＲＯＭ２７から受信側の設定値が読み出される。また、ＳＶＣ３の監視デバイス３０から、テストパターンの送信に用いたPCIeスイッチ４２の送信側の設定値が送信される。
【０３０３】
監視デバイス２５においては、PCIeスイッチ設定値判定テーブル２５７に、各PCIeスイッチ２６に関して、送信側の設定値と受信側の設定値と、これらの設定値で行なわれた通信路テストにおいて検出されたエラー数とが登録される。
【０３０４】
また、各ＣＭ２の監視デバイス２５において、ＣＭ−＞ＦＲＴ方向の通信路テストに関しては、PCIeスイッチ設定値インタフェース２５３を介して、各PCIeスイッチ２６のＥＥＰＲＯＭ２７から送信側の設定値が読み出される。また、ＳＶＣ３の監視デバイス３０から、PCIeスイッチ４２から読み出された通信路テストにおいて検出されたエラー数と、テストパターンの受信に用いたPCIeスイッチ４２の受信側の設定値とが送信される。
【０３０５】
監視デバイス２５においては、PCIeスイッチ設定値判定テーブル２５７に、各PCIeスイッチ２６に関して、送信側の設定値と受信側の設定値と、これらの設定値で行なわれた通信路テストにおいて検出されたエラー数とが登録される。
【０３０６】
ＳＶＣ３の監視デバイス３０においても、ＣＭ２の監視デバイス２５と同様に通信路テストログ収集が行なわれる。
【０３０７】
すなわち、監視デバイス３０において、ＣＭ−＞ＦＲＴ方向の通信路テストに関しては、エラー判定部３５６が通信路テストにおいて検出されたエラー数を収集し、また、PCIeスイッチ設定値インタフェース３５３を介して、各PCIeスイッチ４２のＥＥＰＲＯＭ２７から受信側の設定値が読み出される。また、ＣＭ２の監視デバイス２５から、テストパターンの送信に用いたPCIeスイッチ２６の送信側の設定値が送信される。
【０３０８】
監視デバイス３０においては、PCIeスイッチ設定値判定テーブル３５７に、各PCIeスイッチ４２に関して、送信側の設定値と受信側の設定値と、これらの設定値で行なわれた通信路テストにおいて検出されたエラー数とが登録される。
【０３０９】
また、監視デバイス３０において、ＦＲＴ−＞ＣＭ方向の通信路テストに関しては、PCIeスイッチ設定値インタフェース３５３を介して、各PCIeスイッチ４２のＥＥＰＲＯＭ４３から送信側の設定値が読み出される。また、ＣＭ２の監視デバイス２５から、PCIeスイッチ２６から読み出された通信路テストにおいて検出されたエラー数と、テストパターンの受信に用いたPCIeスイッチ２６の受信側の設定値とが送信される。
【０３１０】
監視デバイス３０においては、PCIeスイッチ設定値判定テーブル３５７に、各PCIeスイッチ４２に関して、送信側の設定値と受信側の設定値と、これらの設定値で行なわれた通信路テストにおいて検出されたエラー数とが登録される。
【０３１１】
ステップＳ７において、ＣＭ２の設定値判定部２５８が、各PCIeスイッチ２６，４２について、通信路テストにおいて検出されたエラー数に基づき設定値の良否を判定する。すなわち、設定値判定部２５８は、現在設定中の設定値での通信路テストを行なった結果において、当該ＣＭ２の各PCIeスイッチ２６のエラー数および、ＦＲＴ４の各PCIeスイッチ４２のエラー数を確認する。
【０３１２】
確認の結果、エラー数が１以上であるPCIeスイッチ２６，４２については、（ステップＳ７の“Error数＝１回以上”ルート参照）、図５のステップＳ８以降の処理が行なわれる。
【０３１３】
ステップＳ８において、設定値判定部２５８は、設定値マトリクス１００における全ての設定値について、通信路テストによるエラー数の確認（検証）が行なわれたかを確認する。
【０３１４】
すなわち、ＣＭ−＞ＦＲＴ方向の通信路テストにおいて、PCIeスイッチ２６に設定値マトリクス１００ｂを構成する全ての設定値を順次設定し、PCIeスイッチ４２に設定値マトリクス１００ａを構成する各設定値を順次設定し、これらの全ての組合せでテストパターンの送信を所定回数以上行なわれ、エラー数の確認を行なわれたかを確認する。
【０３１５】
同様に、ＦＲＴ−＞ＣＭ方向の通信路テストにおいて、PCIeスイッチ２６に設定値マトリクス１００ａを構成する全ての設定値を順次設定し、PCIeスイッチ４２に設定値マトリクス１００ｂを構成する各設定値を順次設定し、これらの全ての組合せでテストパターンの送信を所定回数以上行なわれ、エラー数の確認を行なわれたかを確認する。
【０３１６】
なお、送信側のPCIeスイッチ２６、４２に対しては、設定値マトリクス１００ｂから選択される設定値が設定され、受信側のPCIeスイッチ２６，４２に対しては、設定値マトリクス１００ａから選択される設定値が用いられる。
【０３１７】
PCIeスイッチ２６，４２において、送信側と受信側とで設定値マトリクス１００の全ての設定値の組み合わせについてエラー数の検証が行なわれた場合には（ステップＳ８の“検証している”ルート参照）、PCIeスイッチ２６，４２に設定する好適な設定値がないことを表す。そこで、図５のステップＳ１０において、ケーブル不良であるとの判定（異常判定）が行なわれ、エラーが検出されたPCIeスイッチ２６，４２の連結に用いられた通信ケーブル８がケーブル不良として交換される。
【０３１８】
例えば、監視デバイス２５は、図示しないディスプレイ装置等に、当該通信ケーブル８を交換させる旨のメッセージを表示させることで、ケーブル交換をシステム管理者等に指示し、処理を終了する。
【０３１９】
PCIeスイッチ２６，４２において、送信側と受信側とで設定値マトリクス１００の全ての設定値の組み合わせについてエラー数の検証が行なわれていない設定値がある場合には（ステップＳ８の“検証していない”ルート参照）、図５のステップＳ９に移行する。
【０３２０】
ステップＳ９において、ＣＭ２の設定値判定部２５８は、設定値マトリクス１００における未検証の設定値を選択し、この選択した設定値をPCIeスイッチ設定値インタフェース２５３によりＥＥＰＲＯＭ２７に格納させる。
【０３２１】
そして、設定値判定部２５８は、PCIeスイッチ設定値インタフェース２５３に、PCIeスイッチ２６を個別に再起動（リセット）させ、ＥＥＰＲＯＭ２７に格納した設定値をPCIeスイッチ２６に読み込ませる。
【０３２２】
また、ＣＭ２のテスト制御部２５４は、ＳＶＣ３の監視デバイス３０に対して、ＳＶＣ通信インタフェース２６０を介して、選択した設定値を通知し、この通知した設定値を設定値をＦＲＴ４のPCIeスイッチ４２に設定させる。
【０３２３】
ＳＶＣ３の監視デバイス３０において、PCIeスイッチ設定値インタフェース３５３が、設定値マトリクス１００における未検証の設定値をＥＥＰＲＯＭ４３に格納する。そして、PCIeスイッチ設定値インタフェース３５３は、PCIeスイッチ２６を個別に再起動（リセット）させ、ＥＥＰＲＯＭ２７に格納した設定値をPCIeスイッチ２６に読み込ませる。
【０３２４】
なお、送信側のPCIeスイッチ２６，４２に対しては、設定値マトリクス１００ｂから選択する設定値を用い、受信側のPCIeスイッチ２６，４２に対しては、設定値マトリクス１００ａから選択する設定値を用いる。
【０３２５】
PCIeスイッチ２６，４２に新たな設定値を反映させた後、処理はステップＳ３に戻る。
【０３２６】
ステップＳ７における確認の結果、エラー数が０の場合に（ステップＳ７の“Error数＝０”ルート参照）、図６のステップＳ１１に移行する。この時点で、PCIeスイッチ２６，４２には、通信路テストによるエラーが生じない設定値が選択されていることになる。
【０３２７】
本例においては、以下のステップＳ１１〜Ｓ１５の処理において、先ず、ＣＭ２側のＦＲＴ−＞ＣＭ方向での設定値の設定を行なう。
【０３２８】
ステップＳ１１において、設定値判定部２５８は、設定値マトリクス１００において、現在の設定値を中心に、縦方向および横方向にそれぞれ２マスずつ拡張した、５×５の２５マスの矩形の判定エリア（第１の判定エリア）の各位置に対応する設定値をそれぞれ取得する。
【０３２９】
そして、設定値判定部２５８は、PCIeスイッチ設定値判定テーブル２５７を参照して、通信路テストにおける、これらの各設定値でのエラー数をそれぞれ確認する。
【０３３０】
図６のステップＳ１２において、設定値判定部２５８は、第１の判定エリアに含まれる設定値において通信路テストにおいて１回以上エラーが検出されたものがあるかを確認する。
【０３３１】
確認の結果、第１の判定エリアにおいてエラー数＝１以上の設定値が存在しない場合には（ステップＳ１２の“なし”ルート参照）、現在PCIeスイッチ２６に設定されている設定値（現設定値）が最適な判定エリアに存在すると考えられる。
【０３３２】
図６のステップＳ１３において、設定値判定部２５８は、上述した第１判定エリアを構成する５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ２６に設定させる。
【０３３３】
すなわち、設定値判定部２５８は、PCIeスイッチ設定値インタフェース２５３により、新たな設定値をＥＥＰＲＯＭ２７に格納させた後、PCIeスイッチ２６を再起動させて、ＥＥＰＲＯＭ２７に格納した設定値をPCIeスイッチ２６に読み込ませる。
【０３３４】
このようにしてPCIeスイッチ２６に設定された設定値（現設定値）は、通信路テストにおいてエラーが検出されなかったことが検証されたものである。また、この現設定値と、設定値マトリクス１００上において近似する判定エリア内の他の設定値についても通信路テストにおいてエラーが検出されなかったことが検証されている。これにより、設定値に安全率を持たせたことと同様の効果を得ることができる。従って、例えば、通信ケーブル８の品質にばらつきがある場合や、温度や電圧などの環境条件が変化した場合であっても、伝送エラーが生じ難く通信品質を向上させることができるのである。
【０３３５】
その後、処理は図８のステップＳ２７に移行し、ＦＲＴ４側のＣＭ−＞ＦＲＴ方向での設定値の設定を行なう。
【０３３６】
一方、ステップＳ１２における確認の結果、第１の判定エリアにエラー数＝１以上の設定値が存在する場合には（ステップＳ１２の“あり”ルート参照）、図６のステップＳ１４に移行する。
【０３３７】
ステップＳ１４において、設定値判定部２５８は、PCIeスイッチ設定値判定テーブル２５７およびPCIeスイッチ設定値一覧テーブル２５９を参照して、設定値マトリクス１００を構成する各設定値について、通信路テストにおけるエラー数を確認する。
【０３３８】
図６のステップＳ１５において、設定値判定部２５８は、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全て、エラー数＝０である領域（第１の判定エリア）があるかを判断する。
【０３３９】
ステップＳ１５における確認の結果、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第１の判定エリア）がある場合には（ステップＳ１５の“あり”ルート参照）、ステップＳ１３に移行する。
【０３４０】
ステップＳ１３においては、設定値判定部２５８が、５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ２６に設定させる。その後、図８のステップＳ２７に移行する。
【０３４１】
また、ステップＳ１５における確認の結果、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第１の判定エリア）がない場合には（ステップＳ１５の“なし”ルート参照）、図６のステップＳ１６に移行する。
【０３４２】
ステップＳ１６においては、設定値判定部２５８は、設定値マトリクス１００において、縦方向３マス×横方向３マスの連続する９マスの各位置に対応する設定値が全て、エラー数＝０である領域（第２の判定エリア）があるかを判断する。
【０３４３】
ステップＳ１６における確認の結果、設定値マトリクス１００において、縦方向３マス×横方向３マスの連続する９マスの各位置に対応する設定値が全てエラー数＝０である領域がある場合には（ステップＳ１６の“あり”ルート参照）、図６のステップＳ１７に移行する。
【０３４４】
ステップＳ１７においては、設定値判定部２５８が、５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ２６に設定させる。その後、図７のステップＳ１９に移行する。
【０３４５】
また、ステップＳ１６における確認の結果、設定値マトリクス１００において、縦方向３マス×横方向３マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第２の判定エリア）がない場合には（ステップＳ１６の“なし”ルート参照）、図６のステップＳ１８に移行する。
【０３４６】
ステップＳ１８においては、設定値判定部２５８は、前述したステップＳ６の時点での設定値を、PCIeスイッチ２６に設定させる。すなわち、通信路テスト終了時点での設定値に戻す。その後、図７のステップＳ１９に移行する。
【０３４７】
ＣＭ２側においてPCIeスイッチ２６の設定値の最適値を決定できなかったので、ステップＳ１９において、ＦＲＴ４側のPCIeスイッチ４２の設定値の調整に移行する。
【０３４８】
以下のステップＳ２０〜Ｓ２６の処理においては、ＦＲＴ４側のＦＲＴ−＞ＣＭ方向での設定値の設定値を行なう。
【０３４９】
図７のステップＳ２０において、ＳＶＣ３の監視デバイス３０は、PCIeスイッチ４２の設定値の確認を行なう。すなわち、監視デバイス３０のテスト制御部３５４は、PCIeスイッチ設定値インタフェース３５３にＦＲＴ４のＥＥＰＲＯＭ４３からPCIeスイッチ４２の設定値を読み出させる。
【０３５０】
図７のステップＳ２１において、設定値判定部３５８は、設定値マトリクス１００において、現在の設定値を中心に、縦方向および横方向にそれぞれ２マスずつ拡張した、５×５の２５マスの矩形の判定エリア（第３の判定エリア）の各位置に対応する設定値をそれぞれ取得する。
【０３５１】
そして、設定値判定部３５８は、PCIeスイッチ設定値判定テーブル３５７を参照して、通信路テストにおける、これらの各設定値でのエラー数をそれぞれ確認する。
【０３５２】
図７のステップＳ２２において、設定値判定部３５８は、５×５マスの第３の判定エリアに含まれる設定値において、通信路テストにおいて１回以上エラーが検出されたものがあるかを確認する。
【０３５３】
確認の結果、第３の判定エリアにおいてエラー数＝１以上の設定値が存在しない場合には（ステップＳ２２の“なし”ルート参照）、現在PCIeスイッチ４２に設定されている設定値（現設定値）が最適な判定エリアに存在すると考えられる。
【０３５４】
図７のステップＳ２３において、設定値判定部３５８は、上述した５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ４２に設定させる。
【０３５５】
すなわち、設定値判定部３５８は、PCIeスイッチ設定値インタフェース３５３により、新たな設定値をＥＥＰＲＯＭ４３に格納させた後、PCIeスイッチ４２を再起動させて、ＥＥＰＲＯＭ４３に格納した設定値をPCIeスイッチ４２に読み込ませる。
【０３５６】
このようにしてPCIeスイッチ４２に設定された設定値（現設定値）は、通信路テストにおいてエラーが検出されなかったことが検証されたものである。また、この現設定値と、設定値マトリクス１００上において近似する判定エリア内の他の設定値についても通信路テストにおいてエラーが検出されなかったことが検証されている。これにより、設定値に安全率を持たせたことと同様の効果を得ることができる。従って、例えば、通信ケーブル８の品質にばらつきがある場合や、温度や電圧などの環境条件が変化した場合であっても、伝送エラーが生じ難く通信品質を向上させることができるのである。
【０３５７】
その後、処理は図８のステップＳ２７に移行する。
【０３５８】
一方、ステップＳ２２における確認の結果、周囲設定値にエラー数＝１以上の設定値が存在する場合には（ステップＳ２２の“あり”ルート参照）、図７のステップＳ２４に移行する。
【０３５９】
ステップＳ２４において、設定値判定部３５８は、PCIeスイッチ設定値判定テーブル３５７およびPCIeスイッチ設定値一覧テーブル３５９を参照して、設定値マトリクス１００を構成する各設定値について、通信路テストにおけるエラー数を確認する。
【０３６０】
図７のステップＳ２５において、設定値判定部３５８は、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全て、エラー数＝０である領域（第３の判定エリア）があるかを判断する。
【０３６１】
ステップＳ２５における確認の結果、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第３の判定エリア）がある場合には（ステップＳ２５の“あり”ルート参照）、ステップＳ２３に移行する。
【０３６２】
ステップＳ２３においては、設定値判定部３５８が、５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ４２に設定させる。その後、図８のステップＳ２７に移行する。
【０３６３】
一方、ステップＳ２５における確認の結果、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第３の判定エリア）がない場合には（ステップＳ２５の“なし”ルート参照）、PCIeスイッチ４２に設定する好適な設定値がないことを表す。
【０３６４】
すなわち、そこで図７のステップＳ２６において、ケーブル不良であるとの判定（異常判定）が行なわれ、エラーが検出されたPCIeスイッチ４２の連結に用いられた通信ケーブル８がケーブル不良として交換される。その後、処理を終了する。
【０３６５】
その後、図８のステップＳ２７において、設定値の調整を行なう伝送方向を変更する。
【０３６６】
ステップＳ２７〜Ｓ３６の処理においては、ＦＲＴ４側のＣＭ−＞ＦＲＴ方向での設定値の設定を行なう。
【０３６７】
図８のステップＳ２８において、設定値判定部３５８は、設定値マトリクス１００において、現在の設定値を中心に、縦方向および横方向にそれぞれ２マスずつ拡張した、５×５の２５マスの矩形の判定エリア（第１の判定エリア）の各位置に対応する設定値をそれぞれ取得する。
【０３６８】
そして、設定値判定部３５８は、PCIeスイッチ設定値判定テーブル３５７を参照して、通信路テストにおける、これらの各設定値でのエラー数をそれぞれ確認する。
【０３６９】
図８のステップＳ２９において、設定値判定部３５８は、第１の判定エリアに含まれる設定値において通信路テストにおいて１回以上エラーが検出されたものがあるかを確認する。
【０３７０】
確認の結果、第１の判定エリアにおいてエラー数＝１以上の設定値が存在しない場合には（ステップＳ２９の“なし”ルート参照）、現在PCIeスイッチ４２に設定されている設定値（現設定値）が最適な判定エリアに存在すると考えられる。
【０３７１】
図８のステップＳ３０において、設定値判定部３５８は、上述した第１判定エリアを構成する５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ４２に設定させる。
【０３７２】
すなわち、設定値判定部３５８は、PCIeスイッチ設定値インタフェース３５３により、新たな設定値をＥＥＰＲＯＭ４３に格納させた後、PCIeスイッチ４２を再起動させて、ＥＥＰＲＯＭ４３に格納した設定値をPCIeスイッチ４２に読み込ませる。
【０３７３】
このようにしてPCIeスイッチ４２に設定された設定値（現設定値）は、通信路テストにおいてエラーが検出されなかったことが検証されたものである。また、この現設定値と、設定値マトリクス１００上において近似する判定エリア内の他の設定値についても通信路テストにおいてエラーが検出されなかったことが検証されている。これにより、設定値に安全率を持たせたことと同様の効果を得ることができる。従って、例えば、通信ケーブル８の品質にばらつきがある場合や、伝送データにノイズが乗った場合であっても、伝送エラーが生じ難く通信品質を向上させることができるのである。
【０３７４】
以上の処理により、PCIeスイッチ２６，４２には、最適な設定値が設定され、本ストレージ装置１の運用が開始される（図８のステップＳ３１）。
【０３７５】
一方、ステップＳ２９における確認の結果、第１の判定エリアにエラー数＝１以上の設定値が存在する場合には（ステップＳ２９の“あり”ルート参照）、図８のステップＳ３２に移行する。
【０３７６】
ステップＳ３２において、設定値判定部３５８は、PCIeスイッチ設定値判定テーブル３５７およびPCIeスイッチ設定値一覧テーブル３５９を参照して、設定値マトリクス１００を構成する各設定値について、通信路テストにおけるエラー数を確認する。
【０３７７】
図８のステップＳ３３において、設定値判定部３５８は、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全て、エラー数＝０である領域（第１の判定エリア）があるかを判断する。
【０３７８】
ステップＳ３３における確認の結果、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第１の判定エリア）がある場合には（ステップＳ３３の“あり”ルート参照）、ステップＳ３０に移行する。
【０３７９】
ステップＳ３０においては、設定値判定部３５８が、５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ４２に設定させる。
【０３８０】
また、ステップＳ３３における確認の結果、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第１の判定エリア）がない場合には（ステップＳ３３の“なし”ルート参照）、図６のステップＳ３４に移行する。
【０３８１】
ステップＳ３４においては、設定値判定部３５８は、設定値マトリクス１００において、縦方向３マス×横方向３マスの連続する９マスの各位置に対応する設定値が全て、エラー数＝０である領域（第２の判定エリア）があるかを判断する。
【０３８２】
ステップＳ３４における確認の結果、設定値マトリクス１００において、縦方向３マス×横方向３マスの連続する９マスの各位置に対応する設定値が全てエラー数＝０である領域がある場合には（ステップＳ３４の“あり”ルート参照）、図８のステップＳ３５に移行する。
【０３８３】
ステップＳ３５においては、設定値判定部３５８が、５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ４２に設定させる。その後、図９のステップＳ３７に移行する。
【０３８４】
また、ステップＳ３４における確認の結果、設定値マトリクス１００において、縦方向３マス×横方向３マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第２の判定エリア）がない場合には（ステップＳ３４の“なし”ルート参照）、図８のステップＳ３６に移行する。
【０３８５】
ステップＳ３６においては、設定値判定部３５８は、前述したステップＳ６の時点での設定値を、PCIeスイッチ４２に設定させる。すなわち、通信路テスト終了時点での設定値に戻す。その後、図９のステップＳ３７に移行する。
【０３８６】
ＦＲＴ４側においてPCIeスイッチ４２の設定値の最適値を決定できなかったので、ステップＳ３７において、ＣＭ２側のPCIeスイッチ２６の設定値の調整に移行する。
【０３８７】
以下のステップＳ３８〜Ｓ４５の処理においては、ＣＭ２側において、ＣＭ−＞ＦＲＴ方向での設定値の設定値を行なう。
【０３８８】
図９のステップＳ３８において、ＣＭ２の監視デバイス２５は、PCIeスイッチ２６の設定値の確認を行なう。すなわち、監視デバイス２５のテスト制御部２５４は、PCIeスイッチ設定値インタフェース２５３にＣＭ２のＥＥＰＲＯＭ２７からPCIeスイッチ２６の設定値を読み出させる。
【０３８９】
図９のステップＳ３９において、設定値判定部２５８は、設定値マトリクス１００において、現在の設定値を中心に、縦方向および横方向にそれぞれ２マスずつ拡張した、５×５の２５マスの矩形の判定エリア（第３の判定エリア）の各位置に対応する設定値をそれぞれ取得する。
【０３９０】
そして、設定値判定部２５８は、PCIeスイッチ設定値判定テーブル２５７を参照して、通信路テストにおける、これらの各設定値でのエラー数をそれぞれ確認する。
【０３９１】
図９のステップＳ４０において、設定値判定部２５８は、５×５マスの第３の判定エリアに含まれる設定値において、通信路テストにおいて１回以上エラーが検出されたものがあるかを確認する。
【０３９２】
確認の結果、第３の判定エリアにおいてエラー数＝１以上の設定値が存在しない場合には（ステップＳ４０の“なし”ルート参照）、現在PCIeスイッチ２６に設定されている設定値（現設定値）が最適な判定エリアに存在すると考えられる。
【０３９３】
図９のステップＳ４１において、設定値判定部２５８は、上述した５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ２６に設定させる。
【０３９４】
すなわち、設定値判定部２５８は、PCIeスイッチ設定値インタフェース２５３により、新たな設定値をＥＥＰＲＯＭ２７に格納させた後、PCIeスイッチ２６を再起動させて、ＥＥＰＲＯＭ２７に格納した設定値をPCIeスイッチ２６に読み込ませる。
【０３９５】
このようにしてPCIeスイッチ２６に設定された設定値（現設定値）は、通信路テストにおいてエラーが検出されなかったことが検証されたものである。また、この現設定値と、設定値マトリクス１００上において近似する判定エリア内の他の設定値についても通信路テストにおいてエラーが検出されなかったことが検証されている。これにより、設定値に安全率を持たせたことと同様の効果を得ることができる。従って、例えば、通信ケーブル８の品質にばらつきがある場合や、伝送データにノイズが乗った場合であっても、伝送エラーが生じ難く通信品質を向上させることができるのである。
【０３９６】
以上の処理により、PCIeスイッチ２６，４２には、最適な設定値が設定され、本ストレージ装置１の運用が開始され（図９のステップＳ４２）、本処理を終了する。
【０３９７】
一方、ステップＳ４０における確認の結果、周囲設定値にエラー数＝１以上の設定値が存在する場合には（ステップＳ４０の“あり”ルート参照）、図９のステップＳ４３に移行する。
【０３９８】
ステップＳ４３において、設定値判定部２５８は、PCIeスイッチ設定値判定テーブル２５７およびPCIeスイッチ設定値一覧テーブル２５９を参照して、設定値マトリクス１００を構成する各設定値について、通信路テストにおけるエラー数を確認する。
【０３９９】
図９のステップＳ４４において、設定値判定部２５８は、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全て、エラー数＝０である領域（第３の判定エリア）があるかを判断する。
【０４００】
ステップＳ４４における確認の結果、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第１の判定エリア）がある場合には（ステップＳ４４の“あり”ルート参照）、ステップＳ４１に移行する。
【０４０１】
ステップＳ４１においては、設定値判定部２５８が、５×５の２５マスの矩形の判定エリアの中心位置に対応する設定値を、PCIeスイッチ２６に設定させる。その後、ステップＳ４２に移行する。
【０４０２】
一方、ステップＳ４４における確認の結果、設定値マトリクス１００において、縦方向５マス×横方向５マスの連続する２５マスの各位置に対応する設定値が全てエラー数＝０である領域（第３の判定エリア）がない場合には（ステップＳ４４の“なし”ルート参照）、PCIeスイッチ２６に設定する好適な設定値がないことを表す。
【０４０３】
すなわち、そこで図９のステップＳ４５において、ケーブル不良であるとの判定（異常判定）が行なわれ、エラーが検出されたPCIeスイッチ２６の連結に用いられた通信ケーブル８がケーブル不良として交換される。その後、処理を終了する。
【０４０４】
（ｃ）効果
このように、実施形態の一例としてのストレージ装置１によれば、ＣＭ２とＦＲＴ４との間でテストパターンを送受信する通信路テストを行ない、この通信路テストにおいてエラーが検出されない設定値を選択してPCIeスイッチ２６，４２に設定する。これにより、PCIeスイッチ２６，４２に対して、通信ケーブル８に最適な設定値を設定することができる。
【０４０５】
また、使用する通信ケーブル８に応じた最適な波形設定値が自律的にNT PCIeスイッチ２６、４２に設定され、安定信号品質で通信を行なうことができる。
【０４０６】
通信ケーブル８においてその特性にばらつきがあった場合であっても、その都度挿入されるケーブルに合った最適な設定値が設定されるので、これにより、通信ケーブル８の特性のばらつきによる影響を最小限に抑えることができ、通信エラーを低減することができる。
【０４０７】
また、設定値判定部２５８，３５８が、設定値マトリクス１００において、通信路テストにおいてエラーが検出されなかった設定値のみによって構成されるｎ×ｎ（ｎは奇数）の連続する矩形領域（無エラー領域）を探し、その中心位置の設定値をPCIeスイッチ２６，４２に設定する。
【０４０８】
これにより、PCIeスイッチ２６，４２に設定された設定値は、安全率を持たせたことと同様の効果を得ることができ、例えば、通信ケーブル８の品質にばらつきがある場合や、伝送データにノイズが乗った場合であっても、伝送エラーが生じ難くすることができる。これにより、通信品質を向上させることができる。
【０４０９】
（ｄ）その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
【０４１０】
例えば、本ストレージ装置１に備えられるＣＭ２の数やＦＲＴ４の数は、上述した各実施形態に限定されるものではなく種々変形して実施することができる。
【０４１１】
また、ＣＭ２に備えられるコネクタ２１PCIeスイッチ２６の数やＦＲＴ４に備えられるコネクタ４１やPCIeスイッチ４２の数も同様に、上述した各実施形態に限定されるものではなく種々変形して実施することができる。
【０４１２】
さらに、上述した各実施形態においては、通信ケーブル８がPCIeケーブルであり、ＣＭ２とＦＲＴ４との間でPCIeによる通信を行なう例を示しているが、これに限定されるものではなく、PCIe以外の規格による通信に適用してもよい。
【０４１３】
また、上述した各実施形態においては、ストレージ装置１のＣＭ２とＦＲＴ４とを結線する通信ケーブル８に関する例を示しているが、これに限定されるものではない。例えば、複数の情報処理装置を相互に接続するコンピュータシステム等に適用してもよく、種々変形して実施することができる。
【０４１４】
上述した実施形態においては、波形調整値として、ＣＴＬＥとＤＦＲとを伝送パラメータとして組み合わせた設定値マトリクス１００ａや、Ｄｅ−ｅｍｐｈａｓｉｓとＰｒｅｓｈｏｏｔとを伝送パラメータとして組み合わせた設定値マトリクス１００ｂを用いた例を示しているが、これに限定されるものではない。
【０４１５】
また、設定値マトリクス１００として３種類以上の伝送パラメータを組みあわてもよく、種々変形して実施することができる。
【０４１６】
また、上述した実施形態において、矩形領域（無エラー領域）としてｎ×ｎ（ｎは奇数の整数であることが望ましい）を用いているが、これに限定されるものではない。例えば、ｎは偶数であってもよく、また、ｎ×ｎに代えて、ｎ×ｍ（ｍはｎ以外の整数）であってもよい。
【０４１７】
なお、ｎやｍが偶数である場合には、選択される設定値は、この矩形領域の中央値に限定されるものではない。例えば、矩形領域を構成する各設定値の平均値等を用いてもよく、種々変形して実施することができる。
【０４１８】
また、上述した実施形態において、エラー判定部２５６，３５６等が通信路テストにおけるエラー数が１以上であるか否かを判断しているが、これに限定されるものではない。例えば、エラーの発生比率（レート）等に基づいて判断してもよく、種々変形して実施することができる。
【０４１９】
上述した開示により本実施形態を当業者によって実施・製造することが可能である。
【０４２０】
（ｅ）付記
（付記１）
第１通信インタフェースを有する第１装置と、第２通信インタフェースを有する第２装置とを備える通信システムであって、
前記第１通信インタフェースに関する通信設定値を変更しながら、前記第１通信インタフェースと前記第２通信インタフェースとの間の通信路にテストパターンデータを送出し、
前記テストパターンデータの送出に関するエラー情報を取得し、前記通信設定値と前記エラー情報とを関連付けたエラー管理情報を管理し、
前記エラー管理情報に基づき、連続する複数の通信設定値によって構成される通信設定値群に含まれる前記通信設定値の全ての通信設定値でエラーが未検出の前記通信設定値群を検出し、該通信設定値群の中から抽出した通信設定値を前記第１通信インタフェースに設定する
処理を実行する通信システム。
【０４２１】
（付記２）
前記通信設定値が、複数種類の伝送パラメータの各パラメータ値の組み合わせで表わされ、
前記通信設定値群が、複数種類の伝送パラメータの各パラメータ値を組み合わせたマトリクスにおいて連続するｎ×ｎ個（ｎは奇数の整数）の複数の通信設定値により構成され、
前記ｎ×ｎ個の複数の通信設定値の中心に位置する通信設定値が、前記第１通信インタフェースに設定される付記１記載の通信システム。
【０４２２】
（付記３）
第１通信インタフェースを有し、電子装置の第２通信インタフェースと前記第１インタフェースを介して通信可能に接続される制御装置であって、
前記第１通信インタフェースに関する通信設定値を変更しながら、前記第１通信インタフェースと前記第２通信インタフェースとの間の通信路にテストパターンデータを送出し、
前記テストパターンデータの送出に関するエラー情報を取得し、前記通信設定値と前記エラー情報とを関連付けたエラー管理情報を管理し、
前記エラー管理情報に基づき、連続する複数の通信設定値によって構成される通信設定値群に含まれる前記通信設定値の全ての通信設定値でエラーが未検出の前記通信設定値群を検出し、該通信設定値群の中から抽出した通信設定値を前記第１通信インタフェースに設定する
処理を実行する制御装置。
【０４２３】
（付記４）
前記通信設定値が、複数種類の伝送パラメータの各パラメータ値の組み合わせで表わされ、
前記通信設定値群が、複数種類の伝送パラメータの各パラメータ値を組み合わせたマトリクスにおいて連続するｎ×ｎ個（ｎは奇数の整数）の複数の通信設定値により構成され、
前記ｎ×ｎ個の複数の通信設定値の中心に位置する通信設定値が、前記第１通信インタフェースに設定される、付記３記載の制御装置。
【０４２４】
（付記５）
第１通信インタフェースを有し、電子装置の第２通信インタフェースと前記第１インタフェースを介して通信可能に接続される制御装置のプロセッサに、
前記第１通信インタフェースに関する通信設定値を変更しながら、前記第１通信インタフェースと前記第２通信インタフェースとの間の通信路にテストパターンデータを送出し、
前記テストパターンデータの送出に関するエラー情報を取得し、前記通信設定値と前記エラー情報とを関連付けたエラー管理情報を管理し、
前記エラー管理情報に基づき、連続する複数の通信設定値によって構成される通信設定値群に含まれる前記通信設定値の全ての通信設定値でエラーが未検出の前記通信設定値群を検出し、該通信設定値群の中から抽出した通信設定値を前記第１通信インタフェースに設定する
処理を実行させる制御プログラム。
【０４２５】
（付記６）
前記通信設定値が、複数種類の伝送パラメータの各パラメータ値の組み合わせで表わされ、
前記通信設定値群が、複数種類の伝送パラメータの各パラメータ値を組み合わせたマトリクスにおいて連続するｎ×ｎ個（ｎは奇数の整数）の複数の通信設定値により構成され、
前記ｎ×ｎ個の複数の通信設定値の中心に位置する通信設定値が、前記第１通信インタフェースに設定される
処理を前記プロセッサに実行させる付記５記載の制御プログラム。
【符号の説明】
【０４２６】
１    ストレージ装置
２−１，２−２，２    ＣＭ
２１、２４，４１，３１    コネクタ
２５，３０    監視デバイス
２６，４２    PCIeスイッチ
２７，２８，４３    ＥＥＰＲＯＭ
３    ＳＶＣ
４−１，４−２，４    ＦＲＴ
５    ミッドプレーン
８    通信ケーブル
９    データバス
７０    監視用インタフェースケーブル
９０    第１データバス
１００ａ，１００ｂ，１００    設定値マトリクス
２０１    ＣＥ
２５１，３５１    外部ＥＥＰＲＯＭ通信インタフェース
２５２    ＣＰＵ通信インタフェース
２５３，３５３    PCIeスイッチ設定値インタフェース
２５４，３５４    テスト制御部
２５５，３５５    テストタイマ
２５６，３５６    エラー判定部
２５７，３５７    PCIeスイッチ設定値判定テーブル
２５８，３５８    設定値判定部
２５９，３５９    PCIeスイッチ設定値一覧テーブル
２６０，３５２    ＳＶＣ通信インタフェース
【図１】
2018005376.tif 000003
【図２】
2018005376.tif 000004
【図３】
2018005376.tif 000005
【図４】
2018005376.tif 000006
【図５】
2018005376.tif 000007
【図６】
2018005376.tif 000008
【図７】
2018005376.tif 000009
【図８】
2018005376.tif 000010
【図９】
2018005376.tif 000011