(57)【要約】【課題】複数のディスク記憶デバイスを制御するコントローラを有するストレージシステムに関し、複数のディスクデバイスと伝送経路との異常を切り分ける。【解決手段】複数のディスク記憶デバイス（１−１〜１−４）を制御する一対のコントローラ（４−１〜４−４）の一のコントローラ（４−１）が、該当ディスクドライブへのアクセスにおいて、エラーを検出した場合に、その伝送経路（２−１）と異なる他の伝送経路（２−２）に接続されたコントローラ（４−２）から該当ディスクドライブにダミーアクセスする。又は、その伝送経路（２−１）の他のイニシエーター（４−３）から、その伝送経路（２−１）を介しアクセスする。そして、その結果から、障害の被疑箇所を特定するため、障害の被疑箇所が、伝送経路か、ディスクドライブかを切り分けることができる。【選択図】図１
2007206766.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する複数のディスク記憶デバイスと、
前記複数のディスク記憶デバイスに各々異なる一対の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有し、
一の前記コントローラは、
一の前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、
他の前記コントローラに、他の前記伝送経路を介する前記アクセスしたディスク記憶デバイスのアクセスを依頼し、他の前記コントローラによる前記ディスク記憶デバイスの応答結果を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定する
ことを特徴とするデータストレージシステム。
【請求項２】
データを記憶する複数のディスク記憶デバイスと、
前記複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有し、
一の前記コントローラは、
前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、
前記伝送経路を介し他の前記コントローラにアクセスし、他の前記コントローラによる応答を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定する
ことを特徴とするデータストレージシステム。
【請求項３】
データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有し、
一の前記コントローラは、
一の前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、
他の前記コントローラに、他の前記伝送経路を介する前記アクセスしたディスク記憶デバイスのアクセスを依頼し、他の前記コントローラによる前記ディスク記憶デバイスの応答結果を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定する
ことを特徴とするデータストレージ制御装置。
【請求項４】
データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するストレージシステムの障害箇所診断方法において、
一のコントローラにより、一の前記伝送経路を介して、アクセスした前記ディスク記憶デバイスからの応答結果からエラーを検出し、診断処理を開始するステップと、
前記一のコントローラから他のコントローラに、他の伝送経路を介する前記アクセスしたディスク記憶デバイスのアクセスを依頼するステップと、
前記他の前記コントローラによる前記ディスク記憶デバイスの応答結果を受けるステップと、前記応答結果から、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定するステップとを有する
ことを特徴とするデータストレージシステムの障害箇所診断方法。
【請求項５】
データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラを有するデータストレージシステムの障害箇所診断方法において、
一の前記コントローラは、前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出し、診断処理を開始するステップと、
前記一のコントローラが、前記伝送経路を介し他の前記コントローラにアクセスし、他の前記コントローラによる応答を受けるステップと、
前記応答結果から、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定するステップとを有する
ことを特徴とするデータストレージシステムの障害箇所診断方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータの外部記憶装置として用いられるデータストレージシステム、データストレージ制御装置及びその障害箇所診断方法に関し、特に、多数のディスクデバイスと制御装置とが、伝送路で接続されたデータストレージシステム、データストレージ制御装置及びその障害箇所診断方法に関する。
【背景技術】
【０００２】
近年、様々なデータが電子化され、コンピュータ上で扱われるのに従い、データの処理を実行するホストコンピュータとは独立して、大量のデータを効率よく、高い信頼性で格納することのできるデータストレージ装置（外部記憶装置）の重要性が増加している。
【０００３】
このデータストレージ装置として、大量のディスクデバイス（例えば、磁気ディスクや光ディスク）と、これら大量のディスクデバイスを制御するディスクコントローラとから構成されるディスクアレイ装置が利用されている。このディスクアレイ装置は、同時に複数のホストコンピュータからのディスクアクセス要求を受け付けて、大量のディスクに対する制御を行なうことができる。
【０００４】
このようなディスクアレイ装置は、ディスクのキャッシュの役割を果たすメモリを内蔵する。これにより、ホストコンピュータからリード要求及びライト要求を受信した際の、データへのアクセス時間を短縮し、高性能化を実現できる。
【０００５】
一般に、ディスクアレイ装置は、複数の主要ユニット、即ち、ホストコンピュータとの接続部分であるチャネルアダプタ，ディスクドライブとの接続部分であるディスクアダプタ，キャッシュメモリ，キャッシュメモリの制御を担当するキャッシュ制御部及び大量のディスクドライブから構成される。
【０００６】
このような複雑なシステムにおいて、いずれかのユニットが障害を発生した場合に、その障害箇所を特定する必要がある。
【０００７】
図１０は、従来技術の説明図である。図１０に示すディスクアレイ装置１１０は、一対の制御ユニット１１２，１１４を備える。各制御ユニット１１２，１１４は、キャッシュマネージャ（キャッシュメモリとキャッシュ制御部）１２２と、これに接続されたチャネルアダプタ１２０及びディスクアダプタ１２４とを有する。
【０００８】
また、２つのキャッシュマネージャ１２２は、互いに通信可能に直接接続されている。チャネルアダプタ１２０は、ファイバチャネルもしくはEthernet（登録商標）によって、ホストコンピュータ１００に接続される。ディスクアダプタ１２４は、例えば、ファイバチャネルのＦＣループ１４０，１４２によって、ディスクエンクロージャ内の各ディスクドライブ１３０−１〜１３０−４の各々に接続される。
【０００９】
即ち、第１の制御ユニット１１２のディスクアダプタ１２４は、第１のＦＣループ１４０を介し各ディスクドライブ１３０−１〜１３０−４をアクセスし、第２の制御ユニット１１４のディスクアダプタ１２４は、第２のＦＣループ１４２を介し各ディスクドライブ１３０−１〜１３０−４をアクセスする。これにより、制御ユニットと接続パスの２重化構成を実現している。
【００１０】
このような構成において、制御ユニット１１２のキャッシュマネージ１２２が、チャネルアダプタ１２０を介するホスト１００からの依頼に基づいて、ディスクアダプタ１２４を介し、ファイバチャネル等の伝送路１４０を経て、ディスクドライブ１３０−３を、リード又はライトアクセスを実施する。
【００１１】
この時、ディスクドライブ１３０−３又はディスクアダプタ１２４で、エラーを検出した場合(例えば、ＣＲＣ Ｅｒｒｏｒ等)には、従来、ＦＣループ１４０上のディスクドライブの障害と見なし、診断を開始する。即ち、ＦＣループ１４０と、各ディスクドライブとの接断、接続を順次繰り返し、障害のあったディスクドライブを特定していた（例えば、特許文献１参照）。
【特許文献１】特開２００１−３０６２６２号公報（図２）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、近年のストレージシステムには、冗長性の他に、いかなる部分で障害が生じても、動作を継続することが要求されている。この従来技術では、ディスクドライブ１３０−３が不良であるか、ＦＣループ１４０の経路（ディスクアダプタ１２４も含む）が不良であるかを特定することが困難である。
【００１３】
このため、即座に、対応する処置、例えば、ＦＣループ１４０が不良なら、他方のコントローラ（制御ユニット）１１４からＦＣループ１４２を介しディスクドライブ１３０−３をアクセスする等、をとることができず、動作の継続が困難となる。
【００１４】
従って、本発明の目的は、コントローラとディスクドライブ群とを伝送経路で接続した構成において、エラー検出時に、エラー発生箇所が、ディスクドライブ群と、伝送経路とのいずれであるかを特定するためのデータストレージシステム、データストレージ制御装置及びその障害箇所診断方法を提供することにある。
【００１５】
又、本発明の他の目的は、エラー検出時に、簡易に、障害箇所が、ディスクドライブ群と、伝送経路とのいずれであるかを特定するためのデータストレージシステム、データストレージ制御装置及びその障害箇所診断方法を提供することにある。
【００１６】
更に、本発明の更に他の目的は、エラー検出時に、障害箇所が、ディスクドライブ群と、伝送経路とのいずれかを特定し、早期に代換処理して、動作を継続するためのデータストレージシステム、データストレージ制御装置及びその障害箇所診断方法を提供することにある。
【課題を解決するための手段】
【００１７】
この目的の達成のため、本発明のデータストレージシステムは、データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに各々異なる一対の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有し、一の前記コントローラは、一の前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、他の前記コントローラに、他の前記伝送経路を介する前記アクセスしたディスク記憶デバイスのアクセスを依頼し、他の前記コントローラによる前記ディスク記憶デバイスの応答結果を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定する。
【００１８】
又、本発明の他のデータストレージシステムは、データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有し、一の前記コントローラは、前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、前記伝送経路を介し他の前記コントローラにアクセスし、他の前記コントローラによる応答を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定する。
【００１９】
本発明のデータストレージ制御装置は、データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有し、一の前記コントローラは、一の前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、他の前記コントローラに、他の前記伝送経路を介する前記アクセスしたディスク記憶デバイスのアクセスを依頼し、他の前記コントローラによる前記ディスク記憶デバイスの応答結果を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定する。
【００２０】
又、本発明のデータストレージ制御装置は、データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラを有し、一の前記コントローラは、前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、前記伝送経路を介し他の前記コントローラにアクセスし、他の前記コントローラによる応答を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定する。
【００２１】
本発明の障害箇所診断方法は、データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するストレージシステムの障害箇所診断方法であって、一のコントローラにより、一の前記伝送経路を介して、アクセスした前記ディスク記憶デバイスからの応答結果からエラーを検出し、診断処理を開始するステップと、前記一のコントローラから他のコントローラに、他の伝送経路を介する前記アクセスしたディスク記憶デバイスのアクセスを依頼するステップと、前記他の前記コントローラによる前記ディスク記憶デバイスの応答結果を受けるステップと、前記応答結果から、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定するステップとを有する。
【００２２】
又、本発明の障害箇所診断方法は、データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有するデータストレージシステムの障害箇所診断方法において、一の前記コントローラは、前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出し、診断処理を開始するステップと、前記一のコントローラが、前記伝送経路を介し他の前記コントローラにアクセスし、他の前記コントローラによる応答を受けるステップと、前記応答結果から、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定するステップとを有する。
【００２３】
更に、本発明では、好ましくは、前記コントローラの各々は、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第１のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第２のインターフェース部とを有し、前記第２のインターフェース部が、前記伝送経路により前記複数のディスク記憶デバイスと接続する。
【００２４】
更に、本発明では、好ましくは、前記コントローラは、前記ディスク記憶デバイスの応答結果のエラーとして、ＣＲＣエラーを検出する。
【００２５】
更に、本発明では、好ましくは、前記制御ユニットは、前記第１のインターフェース部が受けた前記上位からのリードアクセスに応じて、前記第２のインターフェース部を介し、前記リードアクセスの対象ディスク記憶デバイスをアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出する。
【００２６】
更に、本発明では、好ましくは、前記制御ユニットは、前記第１のインターフェース部が受けた前記上位からのライトアクセスに応じて、前記第２のインターフェース部を介し、前記ライトアクセスの対象ディスク記憶デバイスをアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出する。
【００２７】
更に、本発明では、好ましくは、前記少なくとも一対のコントローラは、前記複数のディスク記憶デバイスに一の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する一対のコントローラと、前記複数のディスク記憶デバイスに他の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する他の一対のコントローラとを有し、前記一のコントローラは、前記一の伝送経路を介する前記ディスク記憶デバイスのアクセス結果でエラーを検出した場合に、前記他の伝送経路が異常であることを検出して、前記一の伝送経路を介する前記他のコントローラのアクセスを実行する。
【発明の効果】
【００２８】
本発明では、該当ディスクドライブへのアクセスにおいて、エラーを検出した場合に、その伝送経路と異なる他の伝送経路に接続されたコントローラから該当ディスクドライブにダミーアクセスする。又は、その伝送経路の他のイニシエーターに、その伝送経路を介しアクセスする。そして、その結果から、障害の被疑箇所を特定するため、障害の被疑箇所が、伝送経路か、ディスクドライブかを切り分けることができる。
【００２９】
又、伝送経路内のディスクドライブ又はイニシエーターにダミーアクセスして、その結果から、障害の被疑箇所を特定するため、早期に且つ簡単に、障害の被疑箇所を特定できる。このため、即座に代変え処理を実行でき、動作を継続できる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の実施の形態を、データストレージシステムの構成、データストレージシステムの障害箇所診断処理の第１の実施の形態、障害箇所診断処理の第２の実施の形態、他の実施の形態の順で説明する。
【００３１】
＊＊データストレージシステムの構成＊＊
図１は、本発明の一実施の形態のデータストレージ装置の構成図である。図１は、ストレージコントローラに、２台のコントローラ（制御ユニット）を搭載した例を示す。
【００３２】
図１に示すように、ストレージコントローラ４は、一対のコントローラ４−１，４−２を有する。各コントローラ４−１，４−２は、キャッシュマネージャ４０、チャネルアダプタ４１及びディスクアダプタ４２を有する。また、２つのコントローラ４−１，４−２は、互いに通信可能に直接接続されている。チャネルアダプタ４１は、ファイバチャネルもしくはEthernet（登録商標）によって、ホストコンピュータ３に接続される。ディスクアダプタ４２は、例えば、ファイバチャネルのＦＣループ２−１，２−２によって、ディスクエンクロージャ（後述する）内の各ディスクドライブ１−１〜１−４に接続される。
【００３３】
即ち、第１のコントローラ４−１のディスクアダプタ４２は、第１のＦＣループ２−１を介し各ディスクドライブ１−１〜１−ｎをアクセスし、第２のコントローラ４−２のディスクアダプタ４２は、第２のＦＣループ２−２を介し各ディスクドライブ１−１〜１−ｎをアクセスする。これにより、制御ユニットと接続パスの２重化構成を実現している。
【００３４】
図２は、図１のコントローラ（コントロール）モジュール４−１，４−２の構成図、図３は、図１のＦＣループとディスクドライブ群の構成図、図４は、図１のＦＣループテーブルの構成図、図５は、図１のペア情報テーブルの構成図である。
【００３５】
図２に示すように、コントロールモジュール４−１，４−２（以下、記号４で示す）のそれぞれは、キャッシュマネージャ４０と、チャネルアダプタ（第１インターフェース部；以下、ＣＡという）４１と、ディスクアダプタ（第２インターフェース部；以下、ＤＡという）４２ａ，４２ｂと、ＤＭＡ（Direct Memory Access）エンジン（通信部；以下、ＤＭＡという）４３とを有する。
【００３６】
キャッシュマネージャ４０は、ホストコンピュータ３からの処理要求（リード要求もしくはライト要求）に基づいて、リード／ライト処理を行なうものであり、メモリ４１０と処理ユニット４００と、メモリコントローラ４２０とを備える。
【００３７】
メモリ４１０は、図３で説明するディスクエンクロージャ２０、２２の複数のディスクドライブに保持されたデータの一部を保持する、所謂、複数のディスクに対するキャッシュの役割を果たすキャッシュ領域４１２と、ＦＣループテーブル４１４と、その他のワーク領域４１６とを有する。
【００３８】
処理ユニット４００は、メモリ４１０，チャネルアダプタ４１、デバイスアダプタ４２、ＤＭＡ４３の制御を行う。このため、１つ又は複数（図では、１つ）のＣＰＵ４００と、メモリコントローラ４２０とを有する。メモリコントローラ４２０は、メモリ４１０のリード／ライトを制御し、且つパスの切り替えを行う。
【００３９】
メモリコントローラ４２０は、メモリバス４３２を介しメモリ４１０と接続し、ＣＰＵバス４３０を介しＣＰＵ４００と接続し、更に、メモリコントローラ４２０は、４レーンの高速シリアルバス（例えば、ＰＣＩ−Ｅｘｐｒｅｓｓ）４４０を介しディスクアダプタ４２に接続する。
【００４０】
同様に、メモリコントローラ４２０は、４レーンの高速シリアルバス（例えば、ＰＣＩ−Ｅｘｐｒｅｓｓ）４４３，４４４，４４５，４４６を介しチャネルアダプタ４１（ここでは、４つのチャネルアダプタ４１ａ，４１ｂ、４１ｃ，４１ｄ）に接続し、４レーンの高速シリアルバス（例えば、ＰＣＩ−Ｅｘｐｒｅｓｓ）４４８を介しＤＭＡ４３に接続する。
【００４１】
このＰＣＩ−Ｅｘｐｅｓｓ等の高速シリアルバスは、パケットで通信し、且つシリアルバスを複数レーン設けることにより、信号線本線を減らしても、遅延の少ない、速い応答速度で、所謂、低レンテンシで通信することができる。
【００４２】
チャネルアダプタ４１ａ〜４１ｄは、ホストコンピュータに対するインターフェースであり、チャネルアダプタ４１ａ〜４１ｄは、それぞれ異なるホストコンピュータと接続される。また、チャネルアダプタ４１ａ〜４１ｄは、それぞれ対応するホストコンピュータのインターフェース部に、バス、例えば、ファイバチャネル（Fiber Channel）やEthernet（登録商標）によって接続されることが好ましく、この場合、バスとしては、光ファイバや同軸ケーブルが用いられる。
【００４３】
さらに、これらチャネルアダプタ４１ａ〜４１ｄそれぞれは、各コントロールモジュール４の一部として構成されている。このチャネルアダプタ４１ａ〜４１ｄが、対応するホストコンピュータとキャッシュマネージャ４０とのインターフェース部として、複数のプロトコルをサポートする。
【００４４】
又、対応するホストコンピュータによって実装すべきプロトコルが同一ではないため、各チャネルアダプタ４１ａ〜４１ｄを必要に応じて容易に交換できるように、キャッシュマネージャ４０とは、別のプリント基板に実装されている。
【００４５】
例えば、チャネルアダプタ４１ａ〜４１ｄがサポートすべきホストコンピュータとの間のプロトコルとしては、上述のように、ファイバチャネルや、Ethernet（登録商標）に対応するｉＳＣＳＩ（Internet Small Computer System Interface）等がある。
【００４６】
更に、各チャネルアダプタ４１ａ〜４１ｄは、前述のように、ＰＣＩ−Ｅｘｐｒｅｓｓバスのように，ＬＳＩ（Large Scale Integration）やプリント基板の間を接続するために設計されたバス４４３〜４４６によって、キャッシュマネージャ４０と直接結合される。これにより、各チャネルアダプタ４１ａ〜４１ｄとコントローラ４０と間に要求される高いスループットを実現することができる。
【００４７】
次に、ディスクアダプタ４２は、ディスクエンクロージャの各ディスクドライブに対するインターフェースであり、ここでは、４つのＦＣ(Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ)ポートを有する。
【００４８】
又、ディスクアダプタ４２は、前述のように、ＰＣＩ−Ｅｘｐｒｅｓｓバスのように，ＬＳＩ（Large Scale Integration）やプリント基板の間を接続するために設計されたバスによって、キャッシュマネージャ４０と直接結合されている。これにより、ディスクアダプタ４２とキャッシュマネージャ４０と間に要求される高いスループットを実現することができる。
【００４９】
図２に示すように、ＤＭＡエンジン４３は、各キャッシュマネージャ４０間で相互に通信を行うものであり、例えば、ミラーリング処理に使用される。
【００５０】
図３により、伝送経路及びディスクドライブ群を説明する。図３では、４つのＦＣポートを有するディスクアダプタ４２を、２分割して示す。図３に示すように、ディスクエンクロージャ１０は、一対のファイバーチャネルアッセンブリ２０，２２と、複数の磁気ディスク装置（ディスクドライブ）１−１〜１−ｎを有する。
【００５１】
複数の磁気ディスク装置１−１〜１−ｎの各々は、一対のファイバーチャネルループ１２，１４に、ファイバースイッチ２６により接続される。ファイバーチャネルループ１２は、ファイバーチャネルコネクタ２４とファイバーケーブル２−２により、コントローラのデバイスアダプタ４２に接続され、ファイバーチャネルループ１４は、ファイバーチャネルコネクタ２４とファイバーケーブル２−１により、コントローラの他方のデバイスアダプタ４２に接続される。
【００５２】
前述のように、両ディスクアダプタ４２は、キャッシュマネージャ４０に接続されるため、キャッシュマネージャ４０は、各磁気ディスク装置１−１〜１−ｎに、ディスクアダプタ４２、ファイバーチャネルループ１２を介する一方のルート（ａルート）と、ディスクアダプタ４２、ファイバーチャネルループ１４を介する他方のルート（ｂルート）との両方からアクセスできる。
【００５３】
両ファイバーチャネルアッセンブリ２０，２２には、切り離し制御部２８が設けられている。一方の切り離し制御部２８は、ファイバーチャネルループ１２の各ファイバースイッチ２６の切り離し（バイパス）制御を行い、他方の切り離し制御部２８は、ファイバーチャネルループ１４の各ファイバースイッチ２６の切り離し（バイパス）制御を行う。
【００５４】
例えば、図３に示すように、磁気ディスク装置１−２のファイバーチャネルループ１４側のａポートがアクセス不能である時には、切り離し制御部２８は、磁気ディスク装置１−２のａポート側のファイバースイッチ２６を、図３に示すように、バイパス状態に切り替え、磁気ディスク装置１−２を、ファイバーチャネルループ１４から切り離す。これにより、ファイバーチャネルループ１４は、正常に機能し、磁気ディスク装置１−２は、ファイバーチャネルループ１２側のｂポートからアクセスすることができる。
【００５５】
各磁気ディスク装置１−１〜１−ｎは、ａポート、ｂポートと各々接続するための一対のＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｅｌ）チップと、制御回路と、ディスクドライブ機構とを有する。このＦＣチップは、ＣＲＣチエック機能を有する。
【００５６】
ここで、図１のディスクドライブ１−１〜１−４が、図３の磁気ディスク装置１−１〜１−ｎに対応し、伝送経路２−１，２−２が、ファイバーケーブル２−１，２−２と、ファイバーチャネルアッセンブリ２０，２２に対応する。
【００５７】
図４に示すように、ファイバーチャネルループテーブル４１４は、各ファイバチャネル経路２−１，２−２のマップテーブル４１４−１〜４１４−ｍを有する。各マップテーブル４１４−１〜４１４−ｍは、そのファイバーチャネルループに接続された磁気ディスク装置のＷＷＮ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｎａｍｅ）と、磁気ディスク装置が収容されたディスクエンクロージャ１０のＩＤ番号と、ディスクエンクロージャ１０内の磁気ディスク装置の収容位置を示すスロット番号と、ファイバーチャネルループのＩＤ番号とを格納する。
【００５８】
図５は、メモリ４１０に作成されるペア情報テーブル４１６の構成図であり、ペアとなるコントローラの番号と、ペアとなるポート（ここでは、ペアループ）の状態を収容する。
【００５９】
＊＊第１の実施の形態＊＊
次に、図１を参照して、障害箇所診断処理の第１の実施の形態を説明する。先ず、第１のコントローラ４−１が、ホスト３からの依頼に基づいて、ディスクアダプタ４２を介し、ファイバチャネル等の伝送路４−１を経て、ディスクドライブ１−３を、リード又はライトアクセスを実施する。
【００６０】
第１のコントローラ４−１が、エラーを検出した事をトリガーに、診断を開始し、第２のコントローラ４−２から、ディスクアダプタ４２を介しペア側の経路２−２から、当該ディスクドライブ１−３に対して、ダミーのアクセス（リードなら、ディスクリードアクセス）を行う。
【００６１】
第２のコントローラ４−２は、その応答結果を、第１のコントローラ４−１に通知する。第１のコントローラ４−１は、応答結果から、ＣＲＣエラーが検出されない場合で、正常にリードアクセスが終了した場合には、コントローラ４−１の一部（例えば、ディスクアダプタ４２）及びＦＣループ２−１の経路の故障と判定する。即ち、ディスクドライブ１−３は、正常である。
【００６２】
一方、第１のコントローラ４−１は、該当ディスクドライブ１−３のＣＲＣエラーを検出した場合には、該当ディスクドライブ１−３の故障と特定する。コントローラ４−１の一部（例えば、ディスクアダプタ４２）及びＦＣループ２−１の経路は、正常と判定する。
【００６３】
図１を用いて、この診断処理を説明する。
【００６４】
（１）ホスト３が、第１のコントローラ４−１のチャネルアダプタ４１を介しキャッシュマネージャ４０にディスクアクセスを要求する。
【００６５】
（２）キャッシュマネージャ４０のバックエンド処理５０は、デバイスアダプタ４２、ＦＣループ２−１を介しディスクドライブ１−３に対して、ディスクアクセスを実施する。
【００６６】
（３）このディスクアクセスにおいて、エラーが検出される。例えば、ディスクドライブ１−３又はディスクアダプタ４２が、ＣＲＣエラーを検出する。
【００６７】
（４）キャッシュマネージャ４０のバックエンド処理５０は、ディスク情報が格納されているテーブル４１４を確認し、該当ディスクドライブ１−３が接続された他のＦＣループ２−２の状態と、そのコントローラ４−２の情報を取り出す。
【００６８】
（５）第１のコントローラ４−１のキャッシュマネージャ４０は、第２のコントローラ４−２にダミーアクセスを依頼する。第２のコントローラ４−２のキャッシュマネージャ４０のバックエンド処理５０は、デバイスアダプタ４２、他のＦＣループ２−２を介しディスクドライブ１−３に対して、ダミーアクセス(Ｒｅａｄ)を実施する。
【００６９】
（６）第２のコントローラ４−２は、ディスクドライブ１−３からのＦＣループ２−２、ディスクアダプタ４２を介する応答結果を受け、これの応答結果を、第１のコントローラ４−１のキャッシュマネージャ４０に通知する。キャッシュマネージャ４０は、前述のＣＲＣエラーの有無判定により、被疑個所を特定する。
【００７０】
このように、コントローラ４−１は、該当ディスクドライブへのアクセスにおいて、エラーを検出した場合に、その伝送経路と異なる伝送経路から、該当ディスクドライブにダミーアクセスして、その結果から、障害の被疑箇所を特定するため、障害の被疑箇所が、伝送経路か、ディスクドライブかを切り分けることができる。
【００７１】
又、他の伝送経路から、ディスクドライブにダミーアクセスして、その結果から、障害の被疑箇所を特定するため、早期に且つ簡単に、障害の被疑箇所を特定できる。このため、即座に代変え処理を実行でき、動作を継続できる。
【００７２】
例えば、コントローラ４−１の一部（例えば、ディスクアダプタ４２）及びＦＣループ２−１の経路の故障と判定すると、他のディスクアダプタ４２やＦＣループ２−２を使用して、ディスクドライブ１−３へアクセスする。又は、ディスクドライブ１−３が、障害と判定すると、ＲＡＩＤ構成なら、他のディスクドライブの冗長データにアクセスする。
【００７３】
次に、図１乃至図５のデータストレージシステムの障害箇所診断処理を、リードアクセスを例に説明する。図６は、本発明の一実施の形態の障害箇所診断処理フロー図である。
【００７４】
（Ｓ１０）キャッシュマネージャ４０は、ホストコンピュータから対応するチャネルアダプタ４１ａ〜４１ｄを介してリード要求を受け取った場合、当該リード要求の対象データをキャッシュメモリ４１０が保持していれば、キャッシュメモリ４１０に保持された当該対象データを、チャネルアダプタ４１ａ〜４１ｄを介してホストコンピュータに送る。
【００７５】
（Ｓ１２）一方、当該対象データがキャッシュメモリ４１０に保持されていなければ、キャッシュマネージャ４０のＣＰＵ４００は、当該対象データを保持しているディスクドライブ（図１の例では、１−３）に対し、ディスクアダプタ４２、ＦＣケーブル２−１、ＦＣチャネルアッセンブリー２２を介し、ディスクアクセス（リードアクセス）を指示する。例えば、ＣＰＵ４００は、ディスクアダプタ４２に対し、ＤＭＡ転送を指示する。即ち、キャッシュマネージャ４０のＣＰＵ４００は、メモリ４１０のディスクリプタ領域に、ＦＣヘッダとディスクリプタを作成する。ディスクリプタは、データ転送回路に対して、データ転送を要求する命令であり、ＦＣヘッダのメモリ上のアドレス、転送を受けるデータのキャッシュ領域４１２上でのアドレスとデータバイト数、データ転送対象のディスクの論理アドレスを含む。そして、ＣＰＵ４００は、ディスクアダプタ４２のデータ転送回路を起動する。ディスクアダプタ４２内の起動されたデータ転送回路は、メモリ４１０からディスクリプタを読み出す。ディスクアダプタ４２の起動されたデータ転送回路は、メモリ４１０からＦＣヘッダとディスクリプタを読み出し、ディスクリプタを解読し、要求ディスク、先頭アドレス、バイト数を得て、ＦＣヘッダを、ファイバチャネル２−１を介し、ファイバチャネルアッセンブリー２２により、対象ディスクドライブ１−３に転送する。
【００７６】
（Ｓ１４）ディスクドライブ１−３は、ディスクから要求された対象データを読み出し、ファイバーループ１４、ファイバケーブル２−１を介し、ディスクアダプタ４２のデータ転送回路に送信する。ディスクアダプタ４２では、送信された対象データのＣＲＣをチエックし、ディスクアクセスエラーか（ＣＲＣチエックでエラー検出したか）を判定する。
【００７７】
ディスクアクセスエラーを検出しないと、ディスクアダプタ４２の起動されたデータ転送回路は、ディスクアダプタ４２のメモリからリードデータを読み出し、メモリ４１０のキャッシュ領域４１４に格納する。データ転送回路は、リード転送が完了すると、キャッシュマネージャ４０に、割り込みによる完了通知を行う。次に、キャッシュマネージャ４０は、チャネルアダプタ４１のＤＭＡ転送回路を起動し、キャッシュ領域４１４のリードデータをＤＭＡ転送で、読み出し、要求のあったホスト３へ転送する。
【００７８】
（Ｓ１６）逆に、ディスクアダプタ４２は、ＣＲＣチエックエラーを検出すると、キャッシュマネージャ４０は、障害箇所の診断処理を実行する。即ち、キャッシュマネージャ４０は、図４のＦＣループテーブル４１４を参照し、該当ディスクドライブ１−３が存在するＦＣループ２−１と、該当ディスクドライブ１−３の情報（ＷＷＮ）を取り出す。
【００７９】
次に、ＣＰＵ４００は、メモリ４１０のペアポート情報テーブル４１６（図５参照）を参照して、ペアＣＭと、ペアポート（ペアＦＣループ）の状態を確認する。ＣＰＵ４００は、ペアＣＭとペアポートの状態から、ペアポートが使用可能かを判定する。ＣＰＵ４００は、ペアポートが使用可能でない場合には、異常を通知し、終了する。
【００８０】
一方、ＣＰＵ４００は、ペアポートが正常と判定すると、ペアＣＭ（ここでは、コントローラ４−２のＣＰＵ４００）に、該当ディスクドライブ１−３のダミーアクセスを依頼する。依頼されたコントローラ４−２は、ディスクアダプタ４２を介し、第２のＦＣループ２−２から、ディスクドライブ１−３に対して、ダミーアクセス(Ｒｅａｄ)を実施する。このリードアクセスは、ステップＳ１２と同様のアクセスである。
【００８１】
（Ｓ１８）ディスクドライブ１−３は、要求された対象データを読み出し、ファイバーループ１２、ファイバーケーブル２−２を介し、ディスクアダプタ４２のデータ転送回路に送信する。ディスクアダプタ４２では、各ディスクドライブから送信された対象データのＣＲＣをチエックし、ディスクアクセスエラーか（ＣＲＣチエックでエラー検出したか）を判定する。そして、コントローラ４−２は、コントローラ４−１のＣＰＵ４００に判定結果を通知する。
【００８２】
コントローラ４−１のＣＰＵ４００は、判定結果から被疑箇所を判定する。即ち、ＣＰＵ４００は、ディスクドライブ１−３の応答結果が、アクセス失敗（例えば、ＣＲＣエラー検出）であると、被疑個所は、そのディスクドライブ１−３と特定する。一方、ＣＰＵ４００は、ディスクドライブ１−３の応答結果が、アクセス成功（例えば、ＣＲＣエラー検出無し）であると、被疑個所は、コントローラ４−１のディスクアダプタ４２又は伝送経路（ファイバーケーブル２−１、ファイバーチャネルアッセンブリ２２）と特定する。
【００８３】
このようにして、該当ディスクドライブへのアクセスにおいて、エラーを検出した場合に、他のペア伝送経路からディスクドライブにダミーアクセスして、その結果から、障害の被疑箇所を特定するため、障害の被疑箇所が、伝送経路か、ディスクドライブかを切り分けることができる。
【００８４】
又、他の正常な伝送経路から、ディスクドライブにダミーアクセスして、その結果から、障害の被疑箇所を特定するため、早期に且つ簡単に、障害の被疑箇所を特定できる。このため、即座に代変え処理を実行でき、動作を継続できる。
【００８５】
次に、ライトアクセスも同様である。この場合に、コントローラ４０が、ディスクアダプタ４２を介し対象ディスクドライブ１−３に、ライトアクセスを行い、対象ディスクドライブ１−３が、ＣＲＣエラーを検出して、ディスクアダプタ４２に、ＣＲＣエラー応答を通知する。これにより、被疑箇所の診断が開始し、リードアクセスと同様に、他のペア伝送経路からディスクドライブにダミーライトアクセスして、そのライト応答結果から、障害の被疑箇所を特定する。
【００８６】
例えば、伝送経路の障害としては、ディスクアダプタ４２のＦＣチップの発光部、受光部の異常、ＦＣケーブル２−１の異常、ファイバーチャネルアッセンブリ２２の異常等である。一方、ディスクドライブ１−３の異常としては、ディスクドライブ１−３の接続不良、ＦＣチップの異常等である。
【００８７】
＊＊第２の実施の形態＊＊
図７は、本発明の第２の実施の形態のストレージシステムの構成図である。図７において、図１乃至図３で示したものと同一のものは、同一の記号で示してある。図７において、ストレージコントローラ４は、一対のペアコントローラが、一対設けられている。即ち、各々異なるＦＣループ２−１，２−２の一端に接続する一対のコントローラ４−１，４−２と、各々異なるＦＣループ２−１，２−２の他端に接続する一対のコントローラ４−３，４−４とで、ストレージコントローラ４を構成する。
【００８８】
各コントローラ４−１，４−２，４−３，４−４は、キャッシュマネージャ４０、チャネルアダプタ４１及びディスクアダプタ４２を有する。また、４つのコントローラ４−１，４−２，４−３，４−４は、互いに通信可能に直接接続されている。チャネルアダプタ４１は、ファイバチャネルもしくはEthernet（登録商標）によって、ホストコンピュータ３に接続される。
【００８９】
第１のコントローラ４−１と第３のコントローラ４−３とのディスクアダプタ４２は、第１のＦＣループ２−１を介し各ディスクドライブ１−１〜１−ｎをアクセスし、第２のコントローラ４−２と第４のコントローラ４−４とのディスクアダプタ４２は、第２のＦＣループ２−２を介し各ディスクドライブ１−１〜１−ｎをアクセスする。これにより、制御ユニットと接続パスの２重化構成を実現するとともに、１接続パスに２重アクセスを実現している。即ち、パスに対するマルチイニシエーター構成を採用している。
【００９０】
次に、図７を参照して、障害箇所診断処理の第２の実施の形態を説明する。
【００９１】
（１）ホスト３が、第１のコントローラ４−１のチャネルアダプタ４１を介しキャッシュマネージャ４０にディスクアクセスを要求する。
【００９２】
（２）キャッシュマネージャ４０のバックエンド処理５０は、デバイスアダプタ４２、ＦＣループ２−１を介しディスクドライブ１−３に対して、ディスクアクセスを実施する。
【００９３】
（３）このディスクアクセスにおいて、エラーが検出される。例えば、ディスクドライブ１−３又はディスクアダプタ４２が、ＣＲＣエラーを検出する。
【００９４】
（４）キャッシュマネージャ４０のバックエンド処理５０は、構成情報が格納されている構成テーブル４１８（図９で後述する）を確認し、該当ディスクドライブ１−３が接続された他のＦＣループ２−２の状態と、アクセスしたＦＣループ２−１のペアポートの状態、そのペアポートのコントローラ４−３の情報を取り出す。
【００９５】
（５）第１のコントローラ４−１のキャッシュマネージャ４０は、他のＦＣループ２−２が正常でなく、ペアポートの状態が正常である場合には、第３のコントローラ４−３にパトロールコマンドを、発行する。即ち、第１のコントローラ４−１のキャッシュマネージャ４０のバックエンド処理５０は、デバイスアダプタ４２、ＦＣループ２−１を介し第３のコントローラ４−３のディスクアダプタ４２に、第３のコントローラ４−３のキャッシュマネージャ４０のメモリ４１０のデータをリードするパトロールコマンドを発行する。
【００９６】
（６）これにより、第３のコントローラ４−３は、メモリ４１０のデータを、ディスクアダプタ４２からＦＣループ２−１を介し、第１のコントローラ４−１のディスクアダプタ４２に送信する。第１のコントローラ４−１のディスクアダプタ４２は、受け取ったリードデータのＣＲＣチエックを実行する。第１のコントローラ４−１のキャッシュマネージャ４０は、前述のＣＲＣエラーの有無判定により、被疑個所を特定する。
【００９７】
即ち、ＣＲＣエラーが検出されない場合で、正常にリードアクセスが終了した場合には、コントローラ４−１の一部（例えば、ディスクアダプタ４２）及びＦＣループ２−１の経路は、正常と判定する。即ち、ディスクドライブ１−３は、故障である。
【００９８】
一方、第１のコントローラ４−１は、ＣＲＣエラーを検出した場合には、該当ディスクドライブ１−３は正常と判定する。即ち、コントローラ４−１の一部（例えば、ディスクアダプタ４２）及びＦＣループ２−１の経路は、故障と判定する。
【００９９】
このように、マルチイニシエーター構成においては、コントローラ４−１は、該当ディスクドライブへのアクセスにおいて、エラーを検出した場合に、その伝送経路から、ペアポートのコントローラ４−３に、パトロールコマンドを発行し、その結果から、障害の被疑箇所を特定するため、障害の被疑箇所が、伝送経路か、ディスクドライブかを切り分けることができる。
【０１００】
又、同一伝送経路から、ペアポートのコントローラにダミーアクセスして、その結果から、障害の被疑箇所を特定するため、他の伝送経路が異常であっても、早期に且つ簡単に、障害の被疑箇所を特定できる。このため、即座に代変え処理を実行でき、動作を継続できる。
【０１０１】
次に、図７のデータストレージシステムの障害箇所診断処理を、リードアクセスを例に説明する。図８は、本発明の第２の実施の形態の障害箇所診断処理フロー図、図９は、図７の構成テーブルの説明図である。
【０１０２】
（Ｓ２０）キャッシュマネージャ４０は、ホストコンピュータから対応するチャネルアダプタ４１ａ〜４１ｄを介してリード要求を受け取った場合、当該リード要求の対象データをキャッシュメモリ４１０が保持していれば、キャッシュメモリ４１０に保持された当該対象データを、チャネルアダプタ４１ａ〜４１ｄを介してホストコンピュータに送る。
【０１０３】
（Ｓ２２）一方、当該対象データがキャッシュメモリ４１０に保持されていなければ、キャッシュマネージャ４０のＣＰＵ４００は、当該対象データを保持しているディスクドライブ（図７の例では、１−３）に対し、ディスクアダプタ４２、ＦＣケーブル２−１、ＦＣチャネルアッセンブリー２２を介し、ディスクアクセス（リードアクセス）を指示する。
【０１０４】
例えば、ＣＰＵ４００は、ディスクアダプタ４２に対し、ＤＭＡ転送を指示する。即ち、キャッシュマネージャ４０のＣＰＵ４００は、メモリ４１０のディスクリプタ領域に、ＦＣヘッダとディスクリプタを作成する。ディスクリプタは、データ転送回路に対して、データ転送を要求する命令であり、ＦＣヘッダのメモリ上のアドレス、転送を受けるデータのキャッシュ領域４１２上でのアドレスとデータバイト数、データ転送対象のディスクの論理アドレスを含む。そして、ＣＰＵ４００は、ディスクアダプタ４２のデータ転送回路を起動する。
【０１０５】
ディスクアダプタ４２内の起動されたデータ転送回路は、メモリ４１０からディスクリプタを読み出す。ディスクアダプタ４２の起動されたデータ転送回路は、メモリ４１０からＦＣヘッダとディスクリプタを読み出し、ディスクリプタを解読し、要求ディスク、先頭アドレス、バイト数を得て、ＦＣヘッダを、ファイバーチャネル２−１を介し、ファイバーチャネルアッセンブリー２２により、対象ディスクドライブ１−３に転送する。
【０１０６】
（Ｓ２４）ディスクドライブ１−３は、ディスクから要求された対象データを読み出し、ファイバーループ１４、ファイバーケーブル２−１を介し、ディスクアダプタ４２のデータ転送回路に送信する。ディスクアダプタ４２では、送信された対象データのＣＲＣをチエックし、ディスクアクセスエラーか（ＣＲＣチエックでエラー検出したか）を判定する。
【０１０７】
ディスクアクセスエラーを検出しないと、ディスクアダプタ４２の起動されたデータ転送回路は、ディスクアダプタ４２のメモリからリードデータを読み出し、メモリ４１０のキャッシュ領域４１４に格納する。データ転送回路は、リード転送が完了すると、キャッシュマネージャ４０に、割り込みによる完了通知を行う。次に、キャッシュマネージャ４０は、チャネルアダプタ４１のＤＭＡ転送回路を起動し、キャッシュ領域４１４のリードデータをＤＭＡ転送で、読み出し、要求のあったホスト３へ転送する。
【０１０８】
（Ｓ２６）逆に、ディスクアダプタ４２は、ＣＲＣチエックエラーを検出すると、キャッシュマネージャ４０は、障害箇所の診断処理を実行する。即ち、キャッシュマネージャ４０は、図９の構成テーブル４１８を参照する。図９の構成テーブル４１８は、マルチイニシエーター構成であるか否かの情報と、ＦＣループ２−１，２−２の状態と、ＦＣポートのペアポートの状態と、ペアのイニシエーターＣＭ番号とを格納する。
【０１０９】
キャッシュマネージャ４０は、ＦＣループの状態を調べる。ここでは、図７で説明したように、ＦＣループ２−２（２）が異常であることを示しているから、第２のコントローラ４−２による、第１の実施の形態の障害箇所診断処理ができない。このため、キャッシュマネージャ４０は、診断前に、正常とされているＦＣループ２−１（２）を使用して、障害箇所診断処理を実行する。
【０１１０】
キャッシュマネージャ４０は、マルチイニシエーター構成かを調べ、マルチイニシエーター構成であると、該当ディスクドライブ１−３が接続されたペアポートのコントローラ４−３の状態を調べる。
【０１１１】
第１のコントローラ４−１のキャッシュマネージャ４０は、他のＦＣループ２−２が正常でなく、ペアポートの状態が正常である場合には、第１のコントローラ４−１のキャッシュマネージャ４０のバックエンド処理５０は、デバイスアダプタ４２、ＦＣループ２−１を介し第３のコントローラ４−３のディスクアダプタ４２に、第３のコントローラ４−３のキャッシュマネージャ４０のメモリ４１０のデータをリードするパトロールコマンドを発行する。
【０１１２】
（Ｓ２８）これにより、第３のコントローラ４−３は、メモリ４１０のデータを、ディスクアダプタ４２からＦＣループ２−１を介し、第１のコントローラ４−１のディスクアダプタ４２に送信する。第１のコントローラ４−１のディスクアダプタ４２は、受け取ったリードデータのＣＲＣチエックを実行する。第１のコントローラ４−１のキャッシュマネージャ４０は、前述のＣＲＣエラーの有無判定により、被疑個所を特定する。
【０１１３】
即ち、キャッシュマネージャ４０のＣＰＵ４００は、ペアポート（ペアＣＭ）４−３からの応答結果が、アクセス失敗（例えば、ＣＲＣエラー検出）であると、被疑個所は、コントローラ４−１のディスクアダプタ４２又は伝送経路（ファイバーケーブル２−１、ファイバーチャネルアッセンブリ２２）と特定する。一方、ＣＰＵ４００は、ペアポート（ペアＣＭ）４−３からの応答結果が、アクセス成功（例えば、ＣＲＣエラー検出無し）であると、被疑個所は、ディスクドライブ１−３と特定する。
【０１１４】
このようにして、該当ディスクドライブへのアクセスにおいて、エラーを検出した場合に、その伝送経路からペアイニシエーターにアクセスして、その結果から、障害の被疑箇所を特定するため、障害の被疑箇所が、伝送経路か、ディスクドライブかを切り分けることができる。
【０１１５】
又、その伝送経路から、ペアイニシエーターにアクセスして、その結果から、障害の被疑箇所を特定するため、他の伝送経路が異常であっても、早期に且つ簡単に、障害の被疑箇所を特定できる。このため、即座に代変え処理を実行でき、動作を継続できる。
【０１１６】
次に、ライトアクセスも同様である。この場合に、コントローラ４０が、ディスクアダプタ４２を介し対象ディスクドライブ１−３に、ライトアクセスを行い、対象ディスクドライブ１−３が、ＣＲＣエラーを検出して、ディスクアダプタ４２に、ＣＲＣエラー応答を通知する。これにより、被疑箇所の診断が開始し、リードアクセスと同様に、当該伝送経路からペアイニシエーター４−３にダミーライトアクセスして、そのライト応答結果から、障害の被疑箇所を特定する。
【０１１７】
例えば、伝送経路の障害としては、ディスクアダプタ４２のＦＣチップの発光部、受光部の異常、ＦＣケーブル２−１の異常、ファイバーチャネルアッセンブリ２２の異常等である。一方、ディスクドライブ１−３の異常としては、ディスクドライブ１−３の接続不良、ＦＣチップの異常等である。
【０１１８】
＊＊他の実施の形態＊＊
前述の実施の形態では、アクセスの応答エラーを、ＣＲＣエラーで説明したが、他の応答エラー、例えば、一定時間応答なし、受信エラー等であっても良い。又、コントロールモジュール内のチャネルアダプタやディスクアダプタの数は、必要に応じて、増減できる。同様に、第１の実施の形態では、２台のコントローラ４−１，４−２で説明したが、２台以上のコントローラ構成にも適用できる。しかも、第２の実施の形態を、第１の実施の形態で診断できない場合に実施する例で説明したが、第１の実施の形態の診断処理の可否判断を省き、単独で実施するようにしても良い。
【０１１９】
更に、ディスクドライブとしては、ハードディスクドライブ、光ディスクドライブ、光磁気ディスクドライブ等の記憶デバイスを適用できる。しかも、ストレージシステムやコントローラ（制御モジュール）の構成は、図１、図２、図３、図７の構成のみならず、他の構成にも適用できる。
【０１２０】
以上、本発明を実施の形態により説明したが、本発明の趣旨の範囲内において、本発明は、種々の変形が可能であり、本発明の範囲からこれらを排除するものではない。
【０１２１】
（付記１）データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに各々異なる一対の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有し、一の前記コントローラは、一の前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、他の前記コントローラに、他の前記伝送経路を介する前記アクセスしたディスク記憶デバイスのアクセスを依頼し、他の前記コントローラによる前記ディスク記憶デバイスの応答結果を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定することを特徴とするデータストレージシステム。
【０１２２】
（付記２）前記コントローラの各々は、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第１のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第２のインターフェース部とを有し、前記第２のインターフェース部が、前記伝送経路により前記複数のディスク記憶デバイスと接続することを特徴とする付記１のデータストレージシステム。
【０１２３】
（付記３）前記コントローラは、前記ディスク記憶デバイスの応答結果のエラーとして、ＣＲＣエラーを検出することを特徴とする付記１のデータストレージシステム。
【０１２４】
（付記４）前記制御ユニットは、前記第１のインターフェース部が受けた前記上位からのリードアクセスに応じて、前記第２のインターフェース部を介し、前記リードアクセスの対象ディスク記憶デバイスをアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出することを特徴とする付記２のデータストレージシステム。
【０１２５】
（付記５）前記制御ユニットは、前記第１のインターフェース部が受けた前記上位からのライトアクセスに応じて、前記第２のインターフェース部を介し、前記ライトアクセスの対象ディスク記憶デバイスをアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出することを特徴とする付記２のデータストレージシステム。
【０１２６】
（付記６）データを記憶する複数のディスク記憶デバイスと、前記複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有し、一の前記コントローラは、前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、前記伝送経路を介し他の前記コントローラにアクセスし、他の前記コントローラによる応答を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定することを特徴とするデータストレージシステム。
【０１２７】
（付記７）前記少なくとも一対のコントローラは、前記複数のディスク記憶デバイスに一の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する一対のコントローラと、前記複数のディスク記憶デバイスに他の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する他の一対のコントローラとを有し、前記一のコントローラは、前記一の伝送経路を介する前記ディスク記憶デバイスのアクセス結果でエラーを検出した場合に、前記他の伝送経路が異常であることを検出して、前記一の伝送経路を介する前記他のコントローラのアクセスを実行することを特徴とする付記６のデータストレージシステム。
【０１２８】
（付記８）データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラを有し、一の前記コントローラは、一の前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、他の前記コントローラに、他の前記伝送経路を介する前記アクセスしたディスク記憶デバイスのアクセスを依頼し、他の前記コントローラによる前記ディスク記憶デバイスの応答結果を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定することを特徴とするデータストレージ制御装置。
【０１２９】
（付記９）前記コントローラの各々は、前記アクセス制御を行う制御ユニットと、前記上位とのインターフェース制御を行う第１のインターフェース部と、前記複数のディスク記憶デバイスとのインターフェース制御を行う第２のインターフェース部とを有し、前記第２のインターフェース部が、前記伝送経路により前記複数のディスク記憶デバイスと接続することを特徴とする付記８のデータストレージ制御装置。
【０１３０】
（付記１０）前記コントローラは、前記ディスク記憶デバイスの応答結果のエラーとして、ＣＲＣエラーを検出することを特徴とする付記８のデータストレージ制御装置。
【０１３１】
（付記１１）前記制御ユニットは、前記第１のインターフェース部が受けた前記上位からのリードアクセスに応じて、前記第２のインターフェース部を介し、前記リードアクセスの対象ディスク記憶デバイスをアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出することを特徴とする付記９のデータストレージ制御装置。
【０１３２】
（付記１２）前記制御ユニットは、前記第１のインターフェース部が受けた前記上位からのライトアクセスに応じて、前記第２のインターフェース部を介し、前記ライトアクセスの対象ディスク記憶デバイスをアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出することを特徴とする付記９のデータストレージ制御装置。
【０１３３】
（付記１３）データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラを有し、一の前記コントローラは、前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出したことに応じて、診断処理を開始し、前記伝送経路を介し他の前記コントローラにアクセスし、他の前記コントローラによる応答を受け、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定することを特徴とするデータストレージ制御装置。
【０１３４】
（付記１４）前記少なくとも一対のコントローラは、前記複数のディスク記憶デバイスに一の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する一対のコントローラと、前記複数のディスク記憶デバイスに他の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する他の一対のコントローラとを有し、前記一のコントローラは、前記一の伝送経路を介する前記ディスク記憶デバイスのアクセス結果でエラーを検出した場合に、前記他の伝送経路が異常であることを検出して、前記一の伝送経路を介する前記他のコントローラのアクセスを実行することを特徴とする付記１３のデータストレージ制御装置。
【０１３５】
（付記１５）データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御するストレージシステムの障害箇所診断方法において、一のコントローラにより、一の前記伝送経路を介して、アクセスした前記ディスク記憶デバイスからの応答結果からエラーを検出し、診断処理を開始するステップと、前記一のコントローラから他のコントローラに、他の伝送経路を介する前記アクセスしたディスク記憶デバイスのアクセスを依頼するステップと、前記他の前記コントローラによる前記ディスク記憶デバイスの応答結果を受けるステップと、前記応答結果から、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定するステップとを有することを特徴とするデータストレージシステムの障害箇所診断方法。
【０１３６】
（付記１６）前記特定ステップは、前記ディスク記憶デバイスの応答結果のエラーとして、ＣＲＣエラーを検出するステップを有することを特徴とする付記１５のデータストレージシステムの障害箇所診断方法。
【０１３７】
（付記１７）前記エラー検出ステップは、前記上位からのリードアクセスに応じて、前記一の伝送経路を介し、前記リードアクセスの対象ディスク記憶デバイスをアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出するステップからなることを特徴とする付記１５のデータストレージシステムの障害箇所診断方法。
【０１３８】
（付記１８）前記エラー検出ステップは、前記上位からのライトアクセスに応じて、前記一の伝送経路を介し、前記ライトアクセスの対象ディスク記憶デバイスをアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出するステップからなることを特徴とする付記１５のデータストレージシステムの障害箇所診断方法。
【０１３９】
（付記１９）データを記憶する複数のディスク記憶デバイスに伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する少なくとも一対のコントローラとを有するデータストレージシステムの障害箇所診断方法において、一の前記コントローラは、前記伝送経路を介し、前記ディスク記憶デバイスにアクセスして、前記ディスク記憶デバイスからの応答結果からエラーを検出し、診断処理を開始するステップと、前記一のコントローラが、前記伝送経路を介し他の前記コントローラにアクセスし、他の前記コントローラによる応答を受けるステップと、前記応答結果から、被疑箇所が、前記ディスク記憶デバイス又は前記伝送経路のいずれかであることを特定するステップとを有することを特徴とするデータストレージシステムの障害箇所診断方法。
【０１４０】
（付記２０）前記診断処理開始ステップは、前記複数のディスク記憶デバイスに一の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する一対のコントローラと、前記複数のディスク記憶デバイスに他の伝送経路を介し接続され、上位からのアクセス指示に応じて、前記ディスク記憶デバイスをアクセス制御する他の一対のコントローラとで構成されたデータストレージシステムにおける、前記一の伝送経路を介する前記ディスク記憶デバイスのアクセス結果でエラーを検出した場合に、前記他の伝送経路が異常であることを検出して、前記一の伝送経路を介する前記他のコントローラのアクセスを開始するステップであることを特徴とする付記１９のデータストレージシステムの障害箇所診断方法。
【産業上の利用可能性】
【０１４１】
該当ディスクドライブへのアクセスにおいて、エラーを検出した場合に、その伝送経路と異なる他の伝送経路に接続されたコントローラから該当ディスクドライブにダミーアクセスする。又は、その伝送経路の他のイニシエーターに、その伝送経路を介しアクセスする。そして、その結果から、障害の被疑箇所を特定するため、障害の被疑箇所が、伝送経路か、ディスクドライブかを切り分けることができる。
【０１４２】
又、伝送経路内のディスクドライブ又はイニシエーターにダミーアクセスして、その結果から、障害の被疑箇所を特定するため、早期に且つ簡単に、障害の被疑箇所を特定できる。このため、即座に代変え処理を実行でき、動作を継続できる。
【図面の簡単な説明】
【０１４３】
【図１】本発明の一実施の形態のデータストレージシステムの構成図である。
【図２】図１のコントローラの構成図である。
【図３】図１の伝送経路とディスクエンクロージャの構成図である。
【図４】図１及び図２のＦＣループテーブルの構成図である。
【図５】図１及び図２のペア情報テーブルの説明図である。
【図６】本発明の一実施の形態の障害箇所診断処理フロー図である。
【図７】本発明の他の実施の形態のデータストレージシステムの構成図である。
【図８】本発明の他の実施の形態の障害箇所診断処理フロー図である。
【図９】図７及び図８の構成情報テーブルの説明図である。
【図１０】従来のストレージシステムの構成図である。
【符号の説明】
【０１４４】
１−１，１−２，１−３，１−４，１−ｎ  ディスクドライブ
２−１、２−２  ＦＣループ
３  ホスト
４  ストレージ制御装置
４−１、４−２、４−３、４−４  コントローラ
４０  キャッシュマネージャ（制御ユニット）
４００  ＣＰＵ
４１０  メモリ
４１  チャネルアダプタ
４２  デバイスアダプタ
４３  通信ユニット（DMAエンジン）
【図１】
2007206766.tif 000003
【図２】
2007206766.tif 000004
【図３】
2007206766.tif 000005
【図４】
2007206766.tif 000006
【図５】
2007206766.tif 000007
【図６】
2007206766.tif 000008
【図７】
2007206766.tif 000009
【図８】
2007206766.tif 000010
【図９】
2007206766.tif 000011
【図１０】
2007206766.tif 000012