(57)【特許請求の範囲】
【請求項１】
診断対象経路上の送受信デバイスからデータ伝送路の特性によって設定されるデータ伝送変数を採取する採取部と、
採取された前記データ伝送変数に基づき、データ伝送変数の値と良否判定情報とを対応付けて構成された診断基準情報を参照することで、前記診断対象経路の診断を行なう診断部と、
前記送受信デバイスに接続されている通信ケーブルに関するケーブル情報を取得する取得部と、
記憶装置に格納された複数の診断基準情報の中から、前記取得部によって取得された前記ケーブル情報に対応する診断基準情報を選択する選択部と
を備え、
前記診断部が、前記選択部によって選択された前記診断基準情報を用いて前記診断対象経路の診断を行なう
ことを特徴とする、診断装置。
【請求項２】
前記送受信デバイスに対して前記データ伝送変数の設定指示を行なう指示部を備え、
前記採取部が、前記送受信デバイスが前記設定指示に従って設定した前記データ伝送変数を採取する
ことを特徴とする、請求項１記載の診断装置。
【請求項３】
プロセッサが、
診断対象経路上の送受信デバイスからデータ伝送路の特性によって設定されるデータ伝送変数を採取する処理と、
採取された前記データ伝送変数に基づき、データ伝送変数の値と良否判定情報とを対応付けて構成された診断基準情報を参照することで、前記診断対象経路の診断を行なう処理と、
前記送受信デバイスに接続されている通信ケーブルに関するケーブル情報を取得する処理と、
記憶装置に格納された複数の診断基準情報の中から、取得された前記ケーブル情報に対応する診断基準情報を選択する処理と、
選択された前記診断基準情報を用いて前記診断対象経路の診断を行なう処理と
を備えることを特徴とする、診断方法。
【請求項４】
診断対象経路上の送受信デバイスからデータ伝送路の特性によって設定されるデータ伝送変数を採取し、
採取された前記データ伝送変数に基づき、データ伝送変数の値と良否判定情報とを対応付けて構成された診断基準情報を参照することで、前記診断対象経路の診断し、
前記送受信デバイスに接続されている通信ケーブルに関するケーブル情報を取得し、
記憶装置に格納された複数の診断基準情報の中から、取得された前記ケーブル情報に対応する診断基準情報を選択し、
選択された前記診断基準情報を用いて前記診断対象経路の診断を行なう
処理をコンピュータに実行させる、診断プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、診断装置、診断方法および診断プログラムに関する。
【背景技術】
【０００２】
ストレージシステムにおいて、ディスクコントローラとディスクエンクロージャとをケーブルによって接続することで構成されるものが知られている。
例えば、ディスクコントローラに形成されたメス・コネクタに、ケーブルの一端に形成されたオス・コネクタを挿入し、ディスクエンクロージャに形成されたメス・コネクタに、ケーブルの他端に形成されたオス・コネクタを挿入することで、ディスクコントローラとディスクエンクロージャとがケーブルを介して接続される。
【０００３】
このような従来のストレージシステムにおいては、コネクタの挿抜等によるケーブルの破損や、ケーブルの経時劣化に伴う伝送信号品質劣化が生じ、ケーブルを原因とする故障（以下、ケーブル故障という）が生じる場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００９−５４０４３６号公報
【特許文献２】特開２００４−２０７８７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のストレージシステムにおいては、ケーブル故障の発生をデータの転送異常を検出することで判断しており、業務等のシステムの運用に影響を与えることなく経路診断を行なうことができないという課題がある。
１つの側面では、本発明は、システム運用に影響を与えることなく経路診断を行なうことができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
このため、この診断装置は、診断対象経路上の送受信デバイスからデータ伝送路の特性によって設定されるデータ伝送変数を採取する採取部と、採取された前記データ伝送変数に基づき、データ伝送変数の値と良否判定情報とを対応付けて構成された診断基準情報を参照することで、前記診断対象経路の診断を行なう診断部と、前記送受信デバイスに接続されている通信ケーブルに関するケーブル情報を取得する取得部と、記憶装置に格納された複数の診断基準情報の中から、前記取得部によって取得された前記ケーブル情報に対応する診断基準情報を選択する選択部とを備え、前記診断部が、前記選択部によって選択された前記診断基準情報を用いて前記診断対象経路の診断を行なう。
【発明の効果】
【０００７】
一実施形態によれば、システム運用に影響を与えることなく経路診断を行なうことができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態の一例としてのストレージシステムの構成を模式的に示す図である。
【図２】実施形態の一例としてのストレージシステムのコントローラおよびＩＯモジュールのハードウェア構成を示す図である。
【図３】実施形態の一例としてのストレージシステムのコントローラおよびＩＯモジュールの機能構成図である。
【図４】実施形態の一例としてのストレージシステムにおいて用いられる診断基準情報を例示する図である。
【図５】実施形態の一例としてのストレージシステムのエキスパンダチップにおける通信ケーブルのケーブル情報の取得処理を説明するフローチャートである。
【図６】実施形態の一例としてのストレージシステムの診断情報採取部による診断情報採取処理を説明するためのフローチャートである。
【図７】実施形態の一例としてのストレージシステムの診断部による経路診断処理を説明するためのフローチャートである。
【図８】実施形態の一例としてのストレージシステムにおける診断情報採取処理および経路診断処理の実行タイミングを示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本診断装置、診断方法および診断プログラムに係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
【００１０】
（Ａ）構成
図１は実施形態の一例としてのストレージシステム１の構成を模式的に示す図、図２はそのコントローラ１０およびＩＯ（Input Output）モジュール２０のハードウェア構成を示す図、図３はその機能構成図である。
図１に示すように、ストレージシステム１は、１つ以上（図１に示す例では２つ）のコントローラ１０−１，１０−２，１つ以上（図１に示す例では４つ）のＩＯモジュール２０−１〜２０−４および１つ以上（図１に示す例では２つ）の記憶装置３０を備える。
【００１１】
以下、コントローラを示す符号としては、複数のコントローラのうち１つを特定する必要があるときには符号１０−１，１０−２を用いるが、任意のコントローラを指すときには符号１０を用いる。
同様に、以下、ＩＯモジュールを示す符号としては、複数のＩＯモジュールのうち１つを特定する必要があるときには符号２０−１，２０−２，２０−３，２０−４を用いるが、任意のＩＯモジュールを指すときには符号２０を用いる。
【００１２】
本ストレージシステム１は、記憶装置３０を仮想化して、仮想ストレージ環境を形成する。そしてストレージシステム１は、仮想ボリュームを上位装置であるホスト装置（図示省略）に提供する。
そして、本ストレージシステム１は、ホスト装置からボリュームに対して行なわれる入出力要求（例えば、リードコマンドやライトコマンド）に応じて、このボリュームに対応する記憶装置３０に対して、データの読み出しや書き込み等の処理を行なう。なお、ホスト装置からの入出力要求のことをＩＯコマンドもしくはＩＯ要求という場合がある。
【００１３】
記憶装置３０は、ハードディスクドライブ（Hard Disk Drive：ＨＤＤ）、ＳＳＤ（Solid State Drive）等の記憶装置であって、種々のデータを格納するものである。なお、複数の記憶装置３０を用いてＲＡＩＤ（Redundant Arrays of Inexpensive Disks）を構成してもよい。
コントローラ１０−１はＩＯモジュール２０−１に接続され、このＩＯモジュール２０−１はＩＯモジュール２０−２に接続されている。また、ＩＯモジュール２０−２は２つの記憶装置３０のそれぞれに接続されている。すなわち、コントローラ１０−１はＩＯモジュール２０−１，２０−２および記憶装置３０とカスケード接続（多段接続）されている。
【００１４】
同様に、コントローラ１０−２はＩＯモジュール２０−３に接続され、このＩＯモジュール２０−３はＩＯモジュール２０−４に接続されている。また、ＩＯモジュール２０−４は２つのＨＤＤ３０のそれぞれに接続されている。すなわち、コントローラ１０−２はＩＯモジュール２０−３，２０−４およびＨＤＤ３０とカスケード接続されている。
コントローラ１０−１，１０−２は互いに同様の構成を有している。
【００１５】
各コントローラ１０はエキスパンダチップ１４ａを備える一方、各ＩＯモジュール２０はエキスパンダチップ１４ｂをそれぞれ備え、これらのエキスパンダチップ１４ａとエキスパンダチップ１４ｂとの間およびエキスパンダチップ１４ｂとエキスパンダチップ１４ｂとの間は、それぞれ通信ケーブル４０を介して接続されている。
通信ケーブル４０は、例えば、ＳＡＳ（Serial Attached Small computer system interface）の規格に従って作成されたＳＡＳ通信ケーブルである。
【００１６】
通信ケーブル４０の両端に形成された図示しないコネクタには、それぞれ同一のケーブル情報が格納されたＲＯＭ（Read Only Memory）が搭載されている（図示省略）。コントローラ１０やＩＯモジュール２０は、このＲＯＭから通信ケーブル４０のケーブル情報を読み出して確認することができる。
通信ケーブル４０のケーブル情報は、様々な種類の通信ケーブルにおいて、同一の機能、仕様の部品型格の中で、個体識別を行なうための識別情報として用いられる固有情報である。ケーブル情報は、通信ケーブル４０のケーブル長や太さ，種類，仕様等の伝送特性を特定できる情報（仕様情報，種別情報；固有情報）である。ケーブル情報としては、例えば、シリアルナンバーが用いられる。ケーブル情報を固有情報またはシリアルナンバーと表現してもよい。
【００１７】
（Ａ−１）コントローラ
コントローラ１０は、ストレージシステム１内の動作を制御する制御装置（ストレージ制御装置，情報処理装置）であり、図示しないホスト装置から送信されるＩＯコマンドに従って、記憶装置３０のデータアクセス制御等、各種制御を行なう。
コントローラ１０は、１つ以上（図１に示す例では２つ）のＩＯモジュール２０を介して記憶装置３０とデータの送受信を行なう。従って、コントローラ１０はＩＯモジュール２０との間でデータの送受信を行なう。
【００１８】
そして、コントローラ１０は、ＩＯモジュール２０との間でデータの送受信を行なうデータ伝送路（診断対象経路）を診断する診断機能を備える。すなわち、コントローラ１０は、診断対象経路を診断する診断装置として機能する。
図中、同一の符号は同一もしくは略同一の部分を示しているので、以下、その詳細な説明は省略する。
【００１９】
コントローラ１０は、図２に示すように、ＭＰＵ（Micro-processor Unit）１１ａ，メモリ１２ａ，不揮発性メモリ１３ａおよびエキスパンダチップ１４ａを備える。
メモリ１２ａはＲＯＭ及びＲＡＭを含む記憶メモリである。メモリ１２ａのＲＯＭには、例えば、ストレージ制御やデータ送受信制御に係るソフトウェアプログラムやこのプログラム用のデータ類が書き込まれている。また、ＲＯＭにはデータ伝送路の診断機能に係るソフトウェアプログラム（診断プログラム）やこのプログラム用のデータ類も書き込まれている。
【００２０】
メモリ１２ａ上のソフトウェアプログラムは、後述するＭＰＵ１１ａに適宜読み込まれて実行される。又、メモリ１２ａのＲＡＭは、種々のデータやプログラムを一時的に格納する記憶装置であり、図示しないメモリ領域とキャッシュ領域とをそなえる。キャッシュ領域は、ホスト装置から受信したデータや、ホスト装置に対して送信するデータを一時的に格納する。メモリ領域には、ＭＰＵ１１ａがプログラムを実行する際に、データやプログラムを一時的に格納・展開して用いる。
【００２１】
また、ＲＡＭには、後述する診断情報採取部１１３が採取したイコライザ変数の値がイコライザ値１２１として格納される。
不揮発性メモリ１３ａは、ＭＰＵ１１ａが実行するプログラムや種々のデータ等を格納する記憶装置である。不揮発性メモリ１３ａには、後述する診断基準情報１２２が格納されている。
【００２２】
エキスパンダチップ（ＥＸＥ）１４ａは、コントローラ１０とＩＯモジュール２０とを中継する中継装置であり、ホストＩＯに基づくデータ転送を行なう。
例えば、エキスパンダチップ１４ａはＳＡＳの規格に従ってデータの送受信を行なう。
エキスパンダチップ１４ａは、図２に示すように、送受信デバイス１６ａおよびレジスタ１５ａを備える。
【００２３】
送受信デバイス１６ａには、図示しないコネクタに挿入された通信ケーブル４０が接続される。送受信デバイス１６ａは、この通信ケーブル４０を介してデータの送受信を行なうものであり、送信（ＴＸ）イコライザ１７ａと受信（ＲＸ）イコライザ１８ａとを備える回路装置として構成される。
本実施形態において、送信イコライザ１７ａは、例えば、タップ数が３（３ｔａｐ）のＦＩＲ（Finite Impulse Responce）型のデジタルフィルタ（ＦＩＲフィルタ）である。
【００２４】
また、受信イコライザ１８ａは、タップ数ｎ（n-tap）のＦＩＲフィルタである。
コントローラ１０は、ＩＯモジュール２０に対して、エキスパンダチップ１４ａを介してアクセスする。コントローラ１０に対して、１つ以上のＩＯモジュール２０がこのエキスパンダチップ１４ａを介して数珠つなぎに接続される。
エキスパンダチップ１４ａは、コネクタに接続された通信ケーブル４０のＲＯＭからケーブル情報を読み出す機能を有する。また、エキスパンダチップ１４ａは、この読み出した通信ケーブル４０の固有情報（ケーブル情報）を、後述するＭＰＵ１１ａ（ケーブル情報取得部１１１）に通知する。
【００２５】
例えば、エキスパンダチップ１４ａは、ＭＰＵ１１ａからケーブル情報の送信要求を受信すると、通信ケーブル４０のＲＯＭから読み出したケーブル情報を、当該コネクタを識別する情報とともに、ＭＰＵ１１ａに送信する。なお、エキスパンダチップ１４ａは、通信ケーブル４０のＲＯＭから読み出したケーブル情報をレジスタ１５ａ等の記憶装置に格納し、ＭＰＵ１１ａからこのケーブル情報を読み出し可能な状態に設定することで、ＭＰＵ１１ａにケーブル情報を通知してもよい。
【００２６】
すなわち、エキスパンダチップ１４ａは、後述するＭＰＵ１１ａ（ケーブル情報取得部１１１）に通信ケーブル４０のケーブル情報を通知するケーブル情報通知部１４１としての機能を有する。
また、エキスパンダチップ１４ａは、送受信デバイス１６ａの送信イコライザ１７ａの変数（イコライザ変数）を、データ伝送路の特性に応じて設定する機能を有する。以下、イコライザ変数の値をイコライザ値という場合がある。また、イコライザ変数を設定する処理を、送信イコライザの変数決定処理という場合がある。イコライザ値は、データ伝送路の特性によって設定されるデータ伝送変数に相当する。
【００２７】
送信イコライザの変数決定処理は、送受信デバイス１６ａのリンク初期化処理において決定される。リンク初期化処理は、例えば、装置の電源投入時や通信ケーブル４０の抜挿時に行なわれる。
以下、送信イコライザの変数決定処理を、リンクトレーニングもしくはイコライザトレーニングという場合がある。
【００２８】
リンクトレーニングは、コントローラ１０の送受信デバイス１６ａと通信先のＩＯモジュール２０の送受信デバイス１６ｂとの間で波形を相互に送信することにより行なわれる。受信側の送受信デバイス１６ａ（１６ｂ）は受信した波形形状に応じて、送信側の送受信デバイス１６ｂ（１６ａ）へ、波形形状を変化するよう送信イコライザ変数の値の増減を指示する。
【００２９】
これを一定時間継続して実行することで、最終的に送受信デバイス１６ａ，１６ｂの伝送路特性に応じて送信側イコライザ変数が決定される。これにより、送受信デバイス１６ａ，１６ｂ間の通信経路において、一定の波形品質を維持した状態での通信が実現される。
なお、受信側の送受信デバイス１６ａ，１６ｂの受信イコライザ１８ａ，１８ｂのイコライザ変数は、受信するデータパターンに応じて決定され、データＩＯ中に常時変動する。
【００３０】
リンクトレーニングにより設定されたイコライザ変数は、エキスパンダチップ１４ａに備えられたレジスタ１５ａに格納される。
上述したエキスパンダチップ１４ａにおけるリンクトレーニングは、既知の手法で実行することができ、その詳細な説明は省略する。
また、エキスパンダチップ１４ａは、後述するＭＰＵ１１ａの診断情報採取部１１３からリンクトレーニングの実行指示（トレーニング指示）を受信した場合にもリンクトレーニングを行なう。診断情報採取部１１３からの指示でリンクトレーニングを行なったエキスパンダチップ１４ａは、リンクトレーニングにより設定されたイコライザ変数をＭＰＵ１１ａ（診断情報採取部１１３）に応答する。
【００３１】
このように、エキスパンダチップ１４ａは、送受信デバイス１６ａの伝送特性に応じたイコライザ変数（データ伝送変数）を設定するデータ伝送変数設定部１４２としての機能を有する。
ＭＰＵ１１ａは、コントローラ１０全体を制御する処理装置である。ＭＰＵ１１ａは、マルチプロセッサであってもよい。ＭＰＵ１１ａに代えて、処理装置として、例えばＣＰＵ（Central Processing Unit），ＤＳＰ（Digital Signal Processor），ＡＳＩＣ（Application Specific Integrated Circuit），ＰＬＤ（Programmable Logic Device），ＦＰＧＡ（Field Programmable Gate Array）のいずれか一つであってもよい。また、ＭＰＵ１１ａに代えて、ＣＰＵ，ＭＰＵ，ＤＳＰ，ＡＳＩＣ，ＰＬＤ，ＦＰＧＡのうちの２種類以上の要素の組み合わせであってもよい。
【００３２】
ＭＰＵ１１ａは、不揮発性メモリ１３ａやメモリ１２ａ等に格納されたＯＳやプログラムを実行することにより、種々の機能を実現する。
ＭＰＵ１１ａは、診断プログラムを実行することで、図３に示すように、ケーブル情報取得部１１１，診断基準選択部１１２，診断情報採取部１１３および診断部１１４として機能する。
【００３３】
ケーブル情報取得部１１１は、接続された通信ケーブル４０の固有情報（ケーブル情報）を取得する。例えば、ケーブル情報取得部１１１は、エキスパンダチップ１４ａに対して、接続された通信ケーブル４０のケーブル情報を送信するよう要求する。ケーブル情報取得部１１１は、この送信要求に対してエキスパンダチップ１４ａから応答されたケーブル情報をメモリ１２ａ等の所定の領域に格納する。
【００３４】
なお、ケーブル情報取得部１１１は、エキスパンダチップ１４ａのレジスタ１５ａの値を直接もしくは間接に読み出すことで通信ケーブル４０のケーブル情報を取得してもよく、適宜変形して実施することができる。
診断基準選択部１１２は、ケーブル情報取得部１１１によって取得された通信ケーブル４０のケーブル情報に基づき、不揮発性メモリ１３ａ等に格納された複数の診断基準情報１２２の中から、当該通信ケーブル４０に対応する診断基準情報１２２を選択する。
【００３５】
図４は実施形態の一例としてのストレージシステム１において用いられる診断基準情報１２２を例示する図である。
診断基準情報１２２は、図４に示すように、２つのイコライザ変数の値を組合せたマトリクス状の各位置に対して“正常状態”，“予防交換要”および“交換要”の３つ種類の状態のうち、いずれかの状態（良否状態情報）を対応付けて構成されている。
【００３６】
上述の如く、本実施形態においては、送信イコライザ１７ａは、タップ数が３のＦＩＲ型のデジタルフィルタであり、３つの変数（Ｖ１，Ｖ２，Ｖ３）の内２つの独立変数（Ｖ１，Ｖ３）によりイコライザ特性が決定される。
すなわち、図４に例示するように、変数Ｖ１，Ｖ２，Ｖ３のうち、変数Ｖ１，Ｖ３の組み合わせにより、“正常状態”，“予防交換要”および“交換要”の３つ種類の状態のうち、いずれかの状態（良否状態情報）が表される。これらの状態が診断対象経路の状態を表す。
【００３７】
なお、図４に示す例においては、|Ｖ１|＋|Ｖ２|＋|Ｖ３|＝６４，Ｖ１≦０，Ｖ２≧０，Ｖ３≦０であるものとする。
ここで、“正常状態”とは正常な状態であり、保守作業が不要な状態である（良状態）。“交換要”は、何らかの異常が発生しており、保守作業が必要な状態である（故障状態）。“予防交換要”は、異常は発生していないが、経験則により近い将来に故障が発生するおそれがあると判断される（故障予兆）状態である（故障予兆状態）。従って、この“予防交換要”においては、予防保守の観点から、保守作業を行なうことが望ましいと考えられる状態である。
【００３８】
このように、診断基準情報１２２は、送信イコライザ１７ａのイコライザ変数Ｖ１，Ｖ３の組み合わせに対応する各座標位置に、良否判定（良，故障，故障予兆状態）を表すいずれかの情報を規定することにより構成されている。
そして、診断部１１４は、診断基準情報１２２において、エキスパンダチップ１４ａから取得した２つのイコライザ変数Ｖ１，Ｖ３の組み合わせに対応する位置に設定されている良否状態情報を取得することで、経路診断を行なう。
【００３９】
例えば、図４に示す例において、Ｖ１＝６，Ｖ３＝６の場合には良状態であると判断され、Ｖ１＝３，Ｖ３＝２の場合には故障予兆状態であると判断される。また、Ｖ１＝１，Ｖ３＝０の場合には故障状態であると判断される。
診断基準情報１２２におけるこれらの良否状態情報は、例えば経験則によって設定されることが望ましい。
【００４０】
また、診断基準情報１２２は、予め通信ケーブル４０の種類毎に用意される。すなわち、不揮発性メモリ１３ａには、本ストレージシステム１において用いられる可能性がある複数種類の通信ケーブル４０のケーブル情報にそれぞれ対応させて複数種類の診断基準情報１２２が格納されている。
診断基準情報１２２は、ケーブル情報取得部１１１によって取得されたケーブル情報に基づいて、不揮発性メモリ１３ａに格納された複数種類の診断基準情報１２２の中から、このケーブル情報に対応する診断基準情報１２２を選択する。
【００４１】
診断情報採取部１１３は、エキスパンダチップ１４ａから送信イコライザ１７ａおよび受信イコライザ１８ａの各イコライザ変数（イコライザ値）を採取する。
例えば、診断情報採取部１１３は、エキスパンダチップ１４ａに対してリンクトレーニングの実行指示を送信する。エキスパンダチップ１４ａは、このリンクトレーニングの実行指示に従って行なったリンクトレーニングにより設定されたイコライザ変数を診断情報採取部１１３に応答する。
【００４２】
診断情報採取部１１３は、エキスパンダチップ１４ａから採取したイコライザ変数の値を、メモリ１２ａにイコライザ値１２１として格納する。
なお、以下、診断情報採取部１１３がエキスパンダチップ１４ａから送信イコライザ１７ａおよび受信イコライザ１８ａの各イコライザ変数（イコライザ値）を採取することを、診断情報採取処理という場合がある。
【００４３】
診断部１１４は、診断情報採取部１１３によってエキスパンダチップ１４ａから採取されたイコライザ値１２１（イコライザ変数Ｖ１，Ｖ３）を用いて、前述した診断基準選択部１１２によって選択された診断基準情報１２２を参照する。そして、採取されたイコライザ変数Ｖ１，Ｖ３の組み合わせが、“正常状態”，“予防交換要”および“交換要”の３つ種類の状態のうち、いずれかの状態に該当するかを判定する。すなわち、診断部１１４は、診断対象経路を診断する経路診断処理を行なう。
【００４４】
この判定結果は、例えば、図示しない表示装置等に出力される。例えば、判定結果が
“正常状態”である場合には、正常である旨の通知がオペレータに対して行なわれる。
また、判定結果が“交換要”である場合には、故障が発生し保守作業が必要である旨の通知がオペレータに対して行なわれる。この際、故障部位の特定を行ない、特定された故障発生部位を併せて通知することが望ましい。なお、故障部位の特定は既知の種々の手法で実現することができ、その説明は省略する。
【００４５】
判定結果が“予防交換要”である場合には、故障が発生する可能性が高く保守作業を行うことが望ましい旨の通知（故障予兆通知）がオペレータに対して行なわれる。この際、故障が発生する可能性が高い部位の特定を行ない、特定された故障発生予想部位を併せて通知することが望ましい。なお、故障予測部位の特定は既知の種々の手法で実現するこができ、その説明は省略する。
【００４６】
また、オペレータへの各種通知は、例えば、図示しない表示装置にメッセージを表示したり、通知内容に対応する各種音声を出力すること等により行なわれる。
以下、診断部１１４がイコライザ値１２１を用いて診断基準情報１２２を参照し、採取されたイコライザ変数Ｖ１，Ｖ３の組み合わせが、“正常状態”，“予防交換要”および“交換要”の３つ種類の状態のうち、いずれかの状態に該当するか判定することを、経路診断処理という場合がある。
【００４７】
（Ａ−２）ＩＯモジュール
ＩＯモジュール２０は、外部装置を接続して機能拡張を行なうための装置であり、例えば、ストレージ装置やＩＯ機器を内部に搭載するデバイスエンクロージャである。ＩＯモジュール２０は、コントローラ１０や他のＩＯモジュール２０と通信ケーブル４０を介して接続され、これらのコントローラ１０や他のＩＯモジュール２０との間でデータの送受信を行なう。
【００４８】
ＩＯモジュール２０−１〜２０−４は互いに同様の構成を有している。
ＩＯモジュール２０は、図１に示すように、ＭＰＵ１１ｂ，メモリ１２ｂ，不揮発性メモリ１３ｂおよびエキスパンダチップ１４ｂを備える。
これらのＭＰＵ１１ｂ，メモリ１２ｂ，不揮発性メモリ１３ｂおよびエキスパンダチップ１４ｂは、それぞれコントローラ１０のＭＰＵ１１ａ，メモリ１２ａ，不揮発性メモリ１３ａおよびエキスパンダチップ１４ａと同様の構成を備える。
【００４９】
すなわち、例えば、不揮発性メモリ１３ｂには、不揮発性メモリ１３ａと同様に診断基準情報１２２が格納される。
また、エキスパンダチップ１４ｂは、図２に示すように、送受信デバイス１６ｂおよびレジスタ１５ｂを備える。これらの送受信デバイス１６ｂおよびレジスタ１５ｂは、コントローラ１０のエキスパンダチップ１４ａに備えられる送受信デバイス１６ａおよびレジスタ１５ａと同様の機能を有する。
【００５０】
すなわち、エキスパンダチップ１４ａは、リンクトレーニングを実現する機能等を有する他、ケーブル情報通知部１４１およびデータ伝送変数設定部１４２としての機能を有する。
また、メモリ１２ｂには、イコライザ値１２１が格納され、不揮発性メモリ１３ｂには、本ストレージシステム１において用いられる可能性がある複数種類の通信ケーブル４０のケーブル情報にそれぞれ対応させて複数種類の診断基準情報１２２が格納されている。
【００５１】
さらに、ＭＰＵ１１ｂは、ＭＰＵ１１ａと同様に、制御プログラムを実行することで、図３に示すように、ケーブル情報取得部１１１，診断基準選択部１１２，診断情報採取部１１３および診断部１１４として機能する。
（Ｂ）動作
以下においては、コントローラ１０においてＩＯモジュール２０との通信経路に対して経路診断処理を行なう例について示す。
【００５２】
先ず、上述の如く構成された実施形態の一例としてのストレージシステム１のエキスパンダチップ１４における通信ケーブル４０のケーブル情報の取得処理を、図５に示すフローチャート（ステップＡ１〜Ａ３）に従って説明する。
本処理は、例えば、装置ＤＣ−ＯＮによる電源投入や、通信ケーブル４０の交換処理に伴う通信ケーブル４０のコネクタの抜挿をきっかけに開始される。
【００５３】
ステップＡ１において、エキスパンダチップ１４は送受信デバイス１６のコネクタに通信ケーブル４０のコネクタが挿入された状態を検出する。
ステップＡ２において、エキスパンダチップ１４は通信ケーブル４０のＲＯＭからケーブル情報（シリアルナンバー）を読み出すことで取得する。
ステップＡ３において、エキスパンダチップ１４（ケーブル情報通知部１４１）は、コントローラ１０（ケーブル情報取得部１１１）に、通信ケーブル４０のケーブル情報を通知し、処理を終了する。
【００５４】
次に、実施形態の一例としてのストレージシステム１の診断情報採取部１１３によるイコライザ変数の採取処理（診断情報採取処理）を、図６に示すフローチャート（ステップＢ１〜Ｂ４）に従って説明する。
ステップＢ１において、診断情報採取部１１３は、エキスパンダチップ１４（データ伝送変数設定部１４２）に対してリンクトレーニングの実行指示を送信する。
【００５５】
ステップＢ２において、エキスパンダチップ１４（データ伝送変数設定部１４２）は、リンクトレーニングを行なう。リンクトレーニングにおいて、送信イコライザ１７および受信イコライザ１８のイコライザ変数を初期化した後、コントローラ１０の送受信デバイス１６ａと通信先のＩＯモジュール２０の送受信デバイス１６ｂとの間で波形を相互に送信することにより、伝送路特性に応じて送信側イコライザ変数が決定される。
【００５６】
ステップＢ３において、コントローラ１０（診断情報採取部１１３）は、送受信デバイス１６の送信イコライザ１７および受信イコライザ１８のイコライザ変数を取得する。
ステップＢ４において、診断情報採取部１１３は、取得したイコライザ変数をメモリ１２ａの所定の領域にイコライザ値１２１として格納し、処理を終了する。
このように、診断情報採取部１１３によって採取されたイコライザ変数は、診断部１１４による経路診断処理に用いられる。
【００５７】
図７は、実施形態の一例としてのストレージシステム１の診断部１１４による経路診断処理を説明するためのフローチャート（ステップＤ１〜Ｄ７）である。
ステップＤ１において、診断部１１４はメモリ１２に格納されたイコライザ値１２１を読み出す。また、診断部１１４は、不揮発性メモリ１３から、ケーブル情報取得部１１１によって取得された通信ケーブル４０のケーブル情報に対応付けられた診断基準情報１２２を読み出す。
【００５８】
そして、診断部１１４は、イコライザ値１２１の変数Ｖ１と変数Ｖ２との組み合わせに基づき診断基準情報１２２を参照し、変数Ｖ１と変数Ｖ２との組み合わせが、“正常状態”，“予防交換要”および“交換要”のいずれかの状態に相当するかを確認する。
確認の結果、変数Ｖ１と変数Ｖ２との組み合わせが“正常状態”に相当する場合には（ステップＤ１の“正常状態”ルート参照）、ステップＤ２に移行する。
【００５９】
ステップＤ２においては通信路は正常であると判定され、ステップＤ３として本ストレージシステム１の動作は継続して動作し、処理を終了する。
また、確認の結果、変数Ｖ１と変数Ｖ２との組み合わせが“交換要”に相当する場合には（ステップＤ１の“交換要”ルート参照）、ステップＤ４に移行する。
ステップＤ４においては通信路においてなんらかの故障が生じていると判定され、ステップＤ５として、オペレータに対して故障部位が通知される。その後、処理を終了する。
【００６０】
また、確認の結果、変数Ｖ１と変数Ｖ２との組み合わせが“予防交換要”に相当する場合には（ステップＤ１の“予防交換要”ルート参照）、ステップＤ６に移行する。
ステップＤ６においては、通信路において異常は発生していないが、経験則により近い将来に故障が発生するおそれがあると判断される（故障予兆）の状態である。ステップＤ７において、オペレータに対して故障が発生すると考えられる部位が通知される。その後、処理を終了する。
【００６１】
次に、上述した図６に示した診断情報採取処理および図７に示した経路診断処理が、本ストレージシステム１においてどのようなタイミングで行なわれるかを、図８に示すフローチャート（ステップＣ１〜Ｃ６）に従って説明する。
本ストレージシステム１の電源投入が行なわれると（装置パワーオン）、ステップＣ１において、ケーブル情報取得部１１１が、エキスパンダチップ１４から接続されている通信ケーブル４０のケーブル情報を取得する。
【００６２】
そして、ステップＣ２において、診断情報採取部１１３は、装置（コントローラ１０）とＩＯモジュール２０とが通信ケーブル４０により接続された状態（オンライン状態）であるかを確認する。確認の結果、オンライン状態である場合には（ステップＣ２のＹＥＳルート）、ステップＣ３に移行する。
ステップＣ３において、診断情報採取部１１３は、前回、診断部１１４が経路診断処理を行なってから所定の時間（監視周期）が経過したかを確認する。
【００６３】
監視周期が経過した場合には（ステップＣ３のＹＥＳルート参照）、ステップＣ４に移行する。
ステップＣ４においては、診断情報採取部１１３は、ＩＯモジュール２０へのアクセス経路に冗長経路があるかを確認する。
ＩＯモジュール２０へのアクセス経路に冗長経路がない場合には（ステップＣ４のＮＯルート参照）、ステップＣ６に移行する。
【００６４】
ステップＣ６においては、診断対象経路に対するＩＯコマンドバッファ数が所定の閾値以下であるかを確認する。
確認の結果、診断対象経路に対するＩＯコマンドバッファ数が所定の閾値以下である場合に（ステップＣ６のＹＥＳルート参照）、診断情報採取処理（図６参照）および経路診断処理（図７参照）が行なわれる。経路診断処理によるＩＯ処理への影響を少なくするためである。
【００６５】
診断対象経路に対するＩＯコマンドバッファ数が所定の閾値以下でない場合には（ステップＣ６のＮＯルート参照）、ステップＣ２に戻る。
また、ステップＣ２における確認の結果、オンライン状態でない場合（ステップＣ２のＮＯルート）や、ステップＣ３における確認の結果、監視周期が経過していない場合（ステップＣ３のＮＯルート参照）においても、ステップＣ２に戻る。
【００６６】
ステップＣ４における確認の結果、ＩＯモジュール２０へのアクセス経路に冗長経路がある場合には（ステップＣ４のＹＥＳルート参照）、ステップＣ５において、コントローラ１０は、診断対象経路へのＩＯ処理を、その冗長経路を通過するように切り替える。すなわち、コントローラ１０は、ＩＯ処理を冗長系を通過させることで、診断対象経路のＩＯ処理を無くす。これにより、ＩＯ処理への影響を与えることなく経路診断処理を行なうことができる。
【００６７】
その後、ＩＯ処理が無くなった診断対象経路に対して、診断情報採取処理（図６参照）および経路診断処理（図７参照）が行なわれる。
（Ｃ）効果
このように、実施形態の一例としてのストレージシステム１によれば、診断情報採取部１１３が診断対象経路上の送受信デバイス１６（エキスパンダチップ１４）から送信イコライザ１７および受信イコライザ１８のイコライザ変数を取得し、診断部１１４が、この取得したイコライザ変数を用いて経路診断処理を行なう。
【００６８】
これにより、オンライン状態においてＩＯ処理を実行しながら、経路診断を行なうことができる。すなわち、業務等のシステム運用に影響を与えることなく経路診断を行なうことができる。
また、診断部１１４が、送受信デバイス１６から取得したイコライザ変数に基づき、診断基準情報１２２を参照することで、診断対象経路が“正常状態”，“予防交換要”および“交換要”の３つ種類の状態のうち、いずれかの状態に該当するかを判定することができる。
【００６９】
また、診断部１１４が、“正常状態”か“交換要”かを判定するだけでなく、“予防交換要”であるかも判定することができる。これにより、故障予兆を判断する、すなわち故障発生を予測することができ、利便性が高い。
故障予兆を判断することで、例えば、故障が実際に発生する前に、所定のタイミングで保守作業を行なうことで、故障の発生を未然に阻止することができ、信頼性を向上させることができる。
【００７０】
また、通信ケーブル４０の種類毎に診断基準情報１２２を用意し、診断基準選択部１１２が、ケーブル情報取得部１１１が取得した通信ケーブル４０のケーブル情報に基づき、通信ケーブル４０に応じた診断基準情報１２２を選択する。これにより、診断部１１４が、通信経路に合った最適な診断基準情報１２２を用いて経路診断を行なうことができ、経路診断の精度を向上させることができる。
【００７１】
（Ｄ）その他
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上述した実施形態においては、コントローラ１０においてＩＯモジュール２０との通信経路に対して経路診断処理を行なう例について示したが、これに限定されるものではない。すなわち、ＩＯモジュール２０が、他のＩＯモジュール２０との通信経路に対しても同様に経路診断処理を行なってもよい。
【００７２】
また、コントローラ１０やＩＯモジュール２０の数や構成は、図１に示した例に限定されるものではなく、適宜変更して実施することができる。
また、上述した実施形態においては、エキスパンダチップ１４ａが送信イコライザ１７の変数決定処理を行ない、診断部１１４が送信イコライザ１７のイコライザ変数を用いて診断基準情報１２２を参照することで経路診断処理を行なっているが、これに限定されるものではない。
【００７３】
例えば、エキスパンダチップ１４は、リンクトレーニングによって受信イコライザ１８のイコライザ変数を設定し、診断部１１４は、受信イコライザ１８のイコライザ変数を用いて経路診断処理を行なってもよい。
受信イコライザ１８は、前述の如く、タップ数ｎ（ｎ−ｔａｐ）のＦＩＲフィルタである。すなわち、受信イコライザ１８は、ｎ個（ｎは整数）の変数を有し、これらの各変数が取りうる値の組み合わせ毎に、良否判定情報を情報テーブルに格納しておく。
【００７４】
上述した実施形態においては、コントローラ１０がＩＯモジュール２０と接続されたデータ伝送路を診断する診断装置として機能する例について示しているが、これに限定されるものではない。
すなわち、ＩＯモジュール２０が同様の処理を行なうことで、コントローラ１０や他のＩＯモジュール２０と接続されたデータ伝送路を診断する診断装置として機能してもよい。
【００７５】
また、上述した開示により本実施形態を当業者によって実施・製造することが可能である。
診断基準情報１２２は、図４に例示したイコライザ変数Ｖ１，Ｖ３の組合せに限定されるものではなく、種々変更して実施することができる。例えば、診断部１１４は、エキスパンダチップ１４ａ，１４ｂから取得した３つ以上のイコライザ変数を用いて良否判定を行なってもよい。
【００７６】
（Ｅ）付記
（付記１）
診断対象経路上の送受信デバイスからデータ伝送路の特性によって設定されるデータ伝送変数を採取する採取部と、
採取された前記データ伝送変数に基づき、データ伝送変数の値と良否判定情報とを対応付けて構成された診断基準情報を参照することで、前記診断対象経路の診断を行なう診断部と
を備えることを特徴とする、診断装置。
【００７７】
（付記２）
前記送受信デバイスに接続されている前記通信ケーブルに関するケーブル情報を取得する取得部と、
記憶装置に格納された複数の診断基準情報の中から、前記取得部によって取得された前記ケーブル情報に対応する診断基準情報を選択する選択部と
を備え、
前記診断部が、前記選択部によって選択された前記診断基準情報を用いて前記診断対象経路の診断を行なう
ことを特徴とする、付記１記載の診断装置。
【００７８】
（付記３）
前記送受信デバイスに対して前記データ伝送変数の設定指示を行なう指示部を備え、
前記採取部が、前記送受信デバイスが前記設定指示に従って設定した前記データ伝送変数を採取する
ことを特徴とする、付記１または２記載の診断装置。
【００７９】
（付記４）
診断対象経路上の送受信デバイスからデータ伝送路の特性によって設定されるデータ伝送変数を採取する処理と、
採取された前記データ伝送変数に基づき、データ伝送変数の値と良否判定情報とを対応付けて構成された診断基準情報を参照することで、前記診断対象経路の診断を行なう処理と
を備えることを特徴とする、診断方法。
【００８０】
（付記５）
前記送受信デバイスに接続されている前記通信ケーブルに関するケーブル情報を取得する処理と、
記憶装置に格納された複数の診断基準情報の中から、取得された前記ケーブル情報に対応する診断基準情報を選択する処理と
を備え、
選択された前記診断基準情報を用いて前記診断対象経路の診断を行なう
ことを特徴とする、付記４記載の診断方法。
【００８１】
（付記６）
前記送受信デバイスに対して前記データ伝送変数の設定指示を行なう処理と、
前記送受信デバイスが前記設定指示に従って設定した前記データ伝送変数を採取する処理と
を備えることを特徴とする、付記４または５記載の診断方法。
【００８２】
（付記７）
診断対象経路上の送受信デバイスからデータ伝送路の特性によって設定されるデータ伝送変数を採取し、
採取された前記データ伝送変数に基づき、データ伝送変数の値と良否判定情報とを対応付けて構成された診断基準情報を参照することで、前記診断対象経路の診断する
処理をコンピュータに実行させる、診断プログラム。
【００８３】
（付記８）
前記送受信デバイスに接続されている前記通信ケーブルに関するケーブル情報を取得し、
記憶装置に格納された複数の診断基準情報の中から、取得された前記ケーブル情報に対応する診断基準情報を選択し、
選択された前記診断基準情報を用いて前記診断対象経路の診断を行なう
処理を、前記コンピュータに実行させる、付記７記載の診断プログラム。
【００８４】
（付記９）
前記送受信デバイスに対して前記データ伝送変数の設定指示を行ない、
前記送受信デバイスが前記設定指示に従って設定した前記データ伝送変数を採取する
処理を前記コンピュータに実行させる、付記７または８記載の診断プログラム。
【符号の説明】
【００８５】
１    ストレージシステム１
１０    コントローラ
１１ａ，１１ｂ，１１    ＭＰＵ
１１１    ケーブル情報取得部
１１２    診断基準選択部
１１３    診断情報採取部
１１４    診断部
１２ａ，１２ｂ，１２    メモリ
１２１    イコライザ値
１２２    診断基準情報
１３ａ，１３ｂ，１３    不揮発性メモリ
１４ａ，１４ｂ，１４    エキスパンダチップ
１４１    ケーブル情報通知部
１４２    データ伝送変数設定部
１５ａ，１５ｂ，１５    レジスタ
１６ａ，１６ｂ，１６    送受信デバイス
１７ａ，１７ｂ，１７    送信イコライザ
１８ａ，１８ｂ，１８    受信イコライザ
２０    ＩＯモジュール
４０    通信ケーブル
【図１】
0006686459.tif 000002
【図２】
0006686459.tif 000003
【図３】
0006686459.tif 000004
【図４】
0006686459.tif 000005
【図５】
0006686459.tif 000006
【図６】
0006686459.tif 000007
【図７】
0006686459.tif 000008
【図８】
0006686459.tif 000009