(57)【特許請求の範囲】
【請求項１】
ディスクアレイ装置であって、
ディスクアレイ装置筐体と、
前記ディスクアレイ装置筐体内に格納された複数のディスク装置と、
前記ディスクアレイ装置筐体内に格納され、前記ディスク装置へのデータの読み書きを制御するコントローラと、
前記各ディスク装置およびコントローラを接続するケーブルとを有し、
前記ディスク装置は、第１のディスク装置と、前記第１のディスク装置のインタフェースと異なるインタフェースを有する第２のディスク装置を有し、
前記コントローラが、前記第１のディスク装置の故障を判断した場合に、前記第２のディスク装置を用いてスペアリングを行い、
前記コントローラは、
前記各ディスク装置の読み書き時に生じるエラー回数に基づいて、該ディスク装置を閉塞するか否かを判断する判断部と、
閉塞すると判断した時に、該閉塞されるディスク装置のスペアとして、前記複数のディスク装置の一部を割り当てるスペアリング処理を制御するスペアリング制御部と、
該閉塞の発生を、所定の通知タイミングで、予め設定された連絡先に通知する異常通知部とを備え、
該異常通知部は、同一種類のディスク装置間で前記スペアリング処理が行われる場合の通知タイミングよりも、異種のディスク装置間で前記スペアリング処理が行われる場合の通知タイミングの方が早くなるよう、前記通知タイミングを設定することを特徴とするディスクアレイ装置。
【請求項２】
請求項１に記載のディスクアレイ装置であって、
前記第１のディスク装置のインタフェースはファイバチャネルインタフェースであり、
前記第２のディスク装置のインタフェースはシリアルインタフェースであることを特徴とするディスクアレイ装置。
【請求項３】
請求項１記載のディスクアレイ装置であって、
前記スペアリング制御部は、前記同一種類のディスク装置間でのスペアリング処理を、前記異種のディスク装置間でのスペアリング処理よりも優先して実行するディスクアレイ装置。
【請求項４】
請求項１記載のディスクアレイ装置であって、
前記異常通知部は、更に、閉塞されたディスク装置の台数、および前記スペアリング処理で割り当て可能なディスク装置の台数の少なくとも一方に基づいて、前記通知タイミングを設定するディスクアレイ装置。
【請求項５】
請求項１記載のディスクアレイ装置であって、
前記異常通知部は、前記ディスクアレイ装置について、前記閉塞以外の支障も通知可能であり、前記通知タイミングに至る前に該支障が生じた場合には、前記支障の通知と併せて前記閉塞の通知を行うディスクアレイ装置。
【請求項６】
請求項１記載のディスクアレイ装置であって、
前記スペアリング制御部は、前記異種のディスク装置間でのスペアリング処理時に、前記種類間の特性の差違を補償するようディスク装置の割り当てを制御するディスクアレイ装置。
【請求項７】
請求項６記載のディスクアレイ装置であって、
前記ディスク装置には、ファイバチャネルインタフェースを有するファイバチャネルディスク装置と、シリアルインタフェースを有するシリアルディスク装置の２種類が含まれ、
前記スペアリング制御部は、前記ファイバチャネルディスク装置を閉塞させる場合には、前記複数のシリアルディスク装置を並列的に割り当てるディスクアレイ装置。
【請求項８】
請求項６記載のディスクアレイ装置であって、
前記ディスク装置には、ファイバチャネルインタフェースを有するファイバチャネルディスク装置と、シリアルインタフェースを有するシリアルディスク装置の２種類が含まれ、
前記スペアリング制御部は、前記シリアルディスク装置を閉塞させる場合には、前記複数のファイバチャネルディスク装置を直列的に割り当てるディスクアレイ装置。
【請求項９】
請求項１記載のディスクアレイ装置であって、
前記ディスク装置には、ファイバチャネルインタフェースを有するファイバチャネルディスク装置と、シリアルインタフェースを有するシリアルディスク装置の２種類が含まれ、
前記ケーブルは、ファイバチャネルであり、
前記シリアルディスク装置は、前記シリアルインタフェースを前記ファイバチャネルインタフェースに変換するための変換器を介して前記ファイバチャネルに接続されるディスクアレイ装置。
【請求項１０】
請求項９記載のディスクアレイ装置であって、
前記コントローラを複数有し、
各コントローラは前記ファイバチャネルケーブルによって相互に接続されるとともに、個別に各ディスク装置と接続されることで、複数のファイバチャネルループを構成し、前記各シリアルディスク装置と前記複数のファイバチャネルケーブルとの間に介在し、前記シリアルディスク装置の接続先を前記複数のファイバチャネルループ間で切り換える切換器とを有するディスクアレイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異種類のディスク装置が混在しているディスクアレイ装置に関する。例えば、ディスク装置の一部に異常が生じた場合に、異種類のディスクを用いてスペアリングを行うことが可能なディスクアレイ装置及びそのスペアリング方法に関する。
【背景技術】
【０００２】
ディスクアレイ装置には、多数のディスク装置が格納されている。これらのディスク装置の一部に支障が生じると、ディスクアレイ装置の動作は保証されない恐れがある。ディスクアレイ装置の耐障害性を向上させるための一つの手段として、スペアリングが挙げられる。スペアリングとは、予めディスクアレイ装置内にスペアのディスク装置を用意しておき、障害が検出されると、速やかにそのディスク装置を閉塞して、スペアのディスク装置を使用する技術を言う。スペアリングが行われると、管理者に異常通知が発信され、保守作業が行われる。このようにしてスペアのディスク装置を使用しつつ、支障が生じたディスク装置を正常なディスク装置に交換することで、ディスクアレイ装置の運用を停止することなく、保守することが可能となる。
【０００３】
特許文献１では、ディスク装置のアクセスエラー回数が所定値を超えた時点で、障害が発生する前に予防的にそのディスク装置を閉塞し、スペアのディスク装置に置換する技術が開示されている。特許文献２は、障害発生時には、閉塞されたディスク装置のデータを、複数のスペアのディスク装置に分割して記憶する技術が開示されている。
【０００４】
【特許文献１】特開平５−１００８０１号公報
【０００５】
【特許文献２】特開２００２−２９７３２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ディスク装置には、ファイバチャネルインタフェースを有するファイバチャネルディスク装置（以下、「ＦＣディスク装置」と称する）、シリアルインタフェースを有するシリアルディスク装置（以下、「ＳＡＴＡディスク装置」と称する）など、特性の異なる種々の種類が存在する。ディスクアレイ装置において、複数種類のディスク装置を混在して用いれば、各ディスク装置の特徴を活かすとともに、短所を補償し合うことが可能となる。かかるディスクアレイ装置において、スペアリングを行うためには、それぞれの種類ごとにスペアのディスク装置を用意しておくことが望ましい。
【０００７】
しかし、ディスクアレイ装置に格納可能なディスク装置の数には限界がある。従って、それぞれの種類ごとにスペアのディスク装置を用意すれば、一つ一つの種類について使用可能なスペアの数を十分に確保することができないという課題を招く。スペアの数が不十分な状態では、わずかな台数のディスク装置に支障が生じた時点で、スペアのディスク装置の残台数が少なくなるため、頻繁に保守を行う必要が生じ、保守に要する負荷が大きくなるという弊害を招く。本発明は、こうした背景に鑑み、異種のディスク装置を混在させたディスクアレイ装置において、保守負荷の極端な増大を招くことなく、スペアリングを可能とすることを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、ディスクアレイ装置筐体内に、複数のディスク装置と、ディスク装置へのデータの読み書きを制御するコントローラとが格納され、相互にケーブルで接続されたディスクアレイ装置を対象とする。このディスク装置には、特性の異なる複数種類のディスク装置が混在している。かかるディスクアレイ装置において、本発明では、コントローラが、各ディスク装置の読み書き時に生じるエラー回数に基づいて、ディスク装置を閉塞するか否かを判断する。そして、ディスク装置を閉塞すると判断した時には、閉塞されるディスク装置のスペアとして、複数のディスク装置の一部を割り当てるスペアリング処理を実行する。スペアリングに使用されるディスク装置は、閉塞されるディスク装置と同一種類であっても、異なる種類であってもよい。
【０００９】
例えば、本発明に係るディスクアレイ装置は、ディスクアレイ装置筐体と、前記ディスクアレイ装置筐体内に格納された複数のディスク装置と、前記ディスクアレイ装置筐体内に格納され、前記ディスク装置へのデータの読み書きを制御するコントローラと、前記各ディスク装置およびコントローラを接続するケーブルとを有し、前記ディスク装置は、第１のディスク装置と、前記第１のディスク装置のインタフェースと異なるインタフェースを有する第２のディスク装置を有し、  前記コントローラが、前記第１のディスク装置の故障を判断した場合に、前記第２のディスク装置を用いてスペアリングを行うことを特徴とするディスクアレイ装置である。
【００１０】
閉塞に伴い、コントローラは、閉塞の発生を、所定の通知タイミングで、予め設定された連絡先に通知する。本発明では、通知タイミングは、スペアリングが、同一種類のディスク装置間で行われる場合よりも、異種のディスク装置間で行われる場合の方が早くなるよう設定される。一例として、スペアリングが、異種のディスク装置間で行われた場合には、即時に異常を通知し、同種のディスク装置間で行われた場合には、一定期間、通知を保留するようにしてもよい。
【００１１】
本発明によれば、異種のディスク装置間でのスペアリングを許容することにより、スペアとして使用可能なディスク装置の数を十分に確保することができ、保守の間隔が短くなることを抑制できる。但し、異種のディスク装置間でスペアリングが行われた場合、ディスク装置の特性の差違により、十分な性能が確保されない恐れがある。本発明では、このような影響を考慮し、異種のディスク装置間でのスペアリング時には通知タイミングを早めることにより、ディスクアレイ装置の性能低下を抑制することができる。
【００１２】
本発明においては、同一種類のディスク装置間でのスペアリング処理を、異種のディスク装置間でのスペアリング処理よりも優先して実行することが好ましい。こうすることで、スペアリング処理に伴うディスクアレイ装置の性能低下を抑制することができる。
【００１３】
本発明において、通知タイミングは、更に、閉塞されたディスク装置の台数（以下、「閉塞台数」と称する）、およびスペアのディスク装置の残り台数（以下、「スペア台数」と称する）の少なくとも一方に基づいて、設定してもよい。例えば、閉塞台数が所定数以上となった場合や、スペア台数が所定数以下となった時点で、異常を通知するようにしてもよい。こうすることで、通知遅れによって、ディスクアレイ装置の運用が停止せざるを得ない状態を招く可能性を抑制できる。
【００１４】
本発明では、ディスクアレイ装置について、閉塞以外の支障を通知可能としてもよい。かかる場合、通知タイミングに至る前に、この支障が生じた場合には、支障の通知と併せて閉塞の通知を行うようにしてもよい。こうすれば、種々の支障に関する保守を同時期に行うことが可能となり、保守に要する負荷を軽減することができる。
【００１５】
本発明において、異種のディスク装置間でのスペアリングが行われる場合には、種類間の特性の差違を補償するようディスク装置の割り当てを制御してもよい。例えば、ＦＣディスク装置とＳＡＴＡディスク装置間のスペアリングの場合、ＦＣディスク装置を閉塞させる時は複数のＳＡＴＡディスク装置を並列的に割り当てる方法を採ってもよい。並列的とは、複数のディスク装置に並行してアクセスが行われる態様を意味する。一般にＳＡＴＡディスク装置はＦＣディスク装置よりもアクセス速度が低い。このように並列的に割り当てることにより、アクセス速度の低下を抑制することができる。
【００１６】
逆に、シリアルディスク装置を閉塞させる時は複数のファイバチャネルディスク装置を直列的に割り当てる方法を採ってもよい。一般にＦＣディスク装置はＳＡＴＡディスク装置よりも低容量である。このように直列的に割り当てることにより、容量の低下を抑制することができる。
【００１７】
本発明は、種々のディスクアレイ装置、例えば、ＦＣディスク装置と、ＳＡＴＡディスク装置が混在しているディスクアレイ装置に適用可能である。この構成では、ＳＡＴＡディスク装置に対応づけて、シリアルインタフェースをファイバチャネルインタフェースに変換するための変換器を備えることが好ましい。こうすることで、各ディスク装置のインタフェースをファイバチャネルに統一することができる。
【００１８】
更に、ディスクアレイ装置の耐障害性を向上させるためデュアルパス化してもよい。即ち、コントローラを複数有し、各コントローラをファイバチャネルケーブルによって相互に接続するとともに、個別に各ディスク装置と接続することで複数のファイバチャネルループを構成してもよい。ＳＡＴＡディスク装置については、その接続先を複数のファイバチャネルループ間で切り換える切換器を設けることで、デュアルパス化することができる。
【００１９】
本発明は、ディスクアレイ装置としてのみならず、ディスクアレイ装置における異常通知の制御方法として構成することもできる。例えば、ディスクアレイ装置における異常発生時の通知を制御する異常通知制御方法であって、ディスクアレイ装置筐体と、前記ディスクアレイ装置筐体内に格納された複数のディスク装置と、前記ディスクアレイ装置筐体内に格納され、前記ディスク装置へのデータの読み書きを制御するコントローラとを有し、前記ディスク装置には、特性の異なる複数種類のディスク装置が混在しており、前記コントローラが実行する工程として、前記各ディスク装置の読み書き時に生じるエラーを評価し、該ディスク装置を閉塞するか否かを判断する判断工程と、閉塞すると判断した時に、該閉塞されるディスク装置のスペアとして、前記複数のディスク装置の一部を割り当てるスペアリング処理を制御するスペアリング制御工程と、該閉塞の発生を、所定の通知タイミングで、予め設定された連絡先に通知する異常通知工程とを備え、  該異常通知工程は、同一種類のディスク装置間で前記スペアリング処理が行われる場合の通知タイミングよりも、異種のディスク装置間で前記スペアリング処理が行われる場合の通知タイミングの方が早くなるよう、前記通知タイミングが設定されている異常通知制御方法としてもよい。
【００２０】
また、本発明は、かかる制御を実現するためのコンピュータプログラム、およびこのコンピュータプログラムを記録したコンピュータ読み取り可能な記録媒体として構成してもよい。記録媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置等、コンピュータが読取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００２１】
本発明の実施例について以下の順序で説明する。
【００２２】
Ａ．システム構成：
Ｂ．ディスク種別管理処理：
Ｃ．スペアリング処理：
Ｃ１．障害管理テーブル：
Ｃ２．スペアリング処理：
Ｃ３．障害通知処理：
Ａ．システム構成：
図１は実施例としての情報処理システムの概略構成を示す説明図である。情報処理システムは、ストレージ装置１０００と、ホストコンピュータＨＣとは、ＳＡＮ（Storage Area Network）で接続される。各コンピュータＨＣは、ストレージ装置１０００にアクセスして、種々の情報処理を実現することができる。ローカルエリアネットワークＬＡＮ（Local Area Network）には、管理装置１０が接続されている。管理装置１０は、ネットワーク通信機能を有する汎用のパーソナルコンピュータなどを利用することができ、管理ツール１１、即ちストレージ装置１０００の動作設定をしたり、ストレージ装置１０００の動作状態を監視したりするためのアプリケーションプログラムがインストールされている。
【００２３】
ストレージ装置１０００の内部には、ストレージ装置筐体の内部に複数のディスク装置筐体２００、コントローラ筐体３００が格納されている。ディスク装置筐体２００は、後述する通り、内部に多数のディスク装置（以下、「ＨＤＤ」と呼ぶこともある）を格納している。ディスク装置は、パーソナルコンピュータなどで採用されている３．５インチの汎用的なものを利用可能である。コントローラ筐体３００は、ディスク装置へのデータの読み書きを制御するためのコントローラを格納している。コントローラ筐体３００は、ストレージエリアネットワークＳＡＮを介してホストコンピュータＨＣとデータ授受を行い、ローカルエリアネットワークＬＡＮを介して管理装置１０とデータ授受を行うこともできる。コントローラ筐体３００と、各ディスク装置筐体２００は、背面側において、ファ
イバチャネル用のケーブル（以下、「ＥＮＣケーブル」と呼ぶ）で相互に接続されている。
【００２４】
図示を省略したが、ストレージ装置筐体には、この他、ＡＣ／ＤＣ電源、冷却ファンユニット、バッテリーユニットが設けられている。バッテリーユニットは二次電池を内蔵しており、停電時に電力を供給するバックアップ電源として機能する。
【００２５】
図２はディスク装置筐体２００の斜視図である。前面には、ルーバ２１０が取り付けられており、その内部には、複数のディスク装置２２０が配列されている。各ディスク装置２２０は、前面に引き出すことで着脱、交換可能である。図の上方には、背面側の接続パネルの様子を示した。本実施例では、ディスク装置２２０は、二つのＥＮＣユニット２０２に分けて格納されている。各ＥＮＣユニットには、ＥＮＣケーブルのＩＮ側コネクタ２０３、ＯＵＴ側コネクタ２０５がそれぞれ２つずつ設けられている。２つのＥＮＣユニット２０２が格納される結果、ディスク装置筐体２００には、合計４つのＩＮ側コネクタ２０３、ＯＵＴ側コネクタ２０５、即ち４本のパス（以下、「ＦＣ−ＡＬループ」とも称する）に対応したコネクタが設けられることになる。各コネクタには、上方にＬＥＤ２０４が設けられている。但し、図の煩雑化を回避するため、ＬＡＮ２０４の符号は、コネクタ２０３［１］についてのみ付した。ＥＮＣユニット２０２には、ＬＡＮケーブルを接続するためのＬＡＮ用コネクタ２０６、通信状態を示すためのＬＥＤ２０７を設けても良い。
【００２６】
図３はディスク装置筐体２００の内部構造を模式的に示す説明図である。本実施例では、２種類のインタフェースを有するディスク装置２２０を利用可能とした。一つは、ファイバチャネル用のインタフェースを有するディスク装置２２０Ｆ（以下、「ＦＣディスク装置」と称する）であり、もう一つは、シリアルインタフェースを有するディスク装置２２０Ｓ（以下、「ＳＡＴＡディスク装置」と称する）である。異なるインタフェースを併用可能とするための回路構成については後述する。以下、単に「ディスク装置２２０」という場合には、インタフェースの種類を問わない総称を意味し、インタフェースごとに区別する場合には、ＦＣディスク装置２２０Ｆ、ＳＡＴＡディスク装置２２０Ｓを用いるものとする。
【００２７】
上記２種類のディスク装置は、次の特徴を有している。ＦＣディスク装置２２０Ｆは、デュアルポート化されており、２つのパスからの読み書きが可能である。また、ＳＣＳＩ３（Small Computer System Interface  ３）規格に規定されるＳＥＳ（ＳＣＳＩ Enclosure Service）やＥＳＩ(Enclosure Service I/F)の機能を備えている。ＳＡＴＡディスク装置２２０Ｓは、本実施例では、シングルポートであり、ＳＥＳやＥＳＩの機能を有していないものとする。但し、これらの機能を有するＳＡＴＡディスク装置２２０Ｓの適用を排除するものではない。
【００２８】
図の下方に、各ディスク装置２２０Ｆ、２２０Ｓの側面図を示した。それぞれ、ディスク装置筐体２００への着脱に利用されるハンドル２２２Ｆ、２２２Ｓと、コネクタ２２１Ｆ、２２１Ｓが設けられている。コネクタ２２１Ｆ、２２１Ｓは、上下方向位置をずらして設けられている。
【００２９】
図の中央に示す通り、ディスク装置筐体２００の背面には、ディスク装置２２０を装着するためのコネクタ２３１Ｆ、２３１Ｓが配列されたバックボード２３０が取り付けられている。コネクタ２３１ＦはＦＣディスク装置２２０Ｆ用であり、コネクタ２２１ＳはＳＡＴＡディスク装置２２０Ｓ用である。コネクタ２３１Ｆ、２３１Ｓは、上下一組にして、ディスク装置２２０の装着位置に対応して左右方向に配列されている。各ディスク装置２２０Ｆ、２２０Ｓをディスク装置筐体２００の前面から引き出し式に挿入すると、ディスク装置のコネクタ２２１Ｆ、２２１Ｓは、その種類に応じて、バックボード２３０のコネクタ２３１Ｆ、２３１Ｓのいずれか一方に装着される。ディスク装置２２０の種類によって装着されるコネクタを変えることで、後述する通り、インタフェースの差違を補償するための回路の使い分けが実現される。また、コネクタの相違は、各ディスク装置２２０の種類の判別にも利用することができる。更に、格納されているディスク装置の種類が外部から認識可能としてもよい。例えば、格納されているディスク装置または格納すべきディスク装置の種類に応じて、表示ランプの色などを変えるようにしてもよい。
【００３０】
コネクタに接続されると、各ディスク装置２２０は、ディスク装置筐体２００の４本のパスＰａｔｈ０〜Ｐａｔｈ３にそれぞれ接続される。本実施例では、各ディスク装置２２０は、Ｐａｔｈ０、３に接続されるものと、Ｐａｔｈ１、２に接続されるものを交互に配置した構成とした。こうすることで、各ディスク装置２２０については、４本のパスのうち、２本を介してアクセス可能なデュアルパス構成が実現される。図３に示した構成は、一例に過ぎず、ディスク装置筐体２００内部のパス数、ディスク装置２２０との対応関係は、種々の態様を採ることが可能である。
【００３１】
図４はストレージ装置１０００の内部構造を模式的に示す説明図である。コントローラ筐体３００に内蔵されるコントローラ３１０の内部構造、およびディスク装置筐体２００の内部構造を模式的に示した。コントローラ３１０は、内部にＣＰＵ３１２、ＲＡＭやＲＯＭなどのメモリ等を備えている。コントローラ３１０は、ホストコンピュータＨＣとの通信インタフェースであるホストＩ／Ｆ３１１、ディスク装置筐体２００との通信インタフェースであるドライブＩ／Ｆ３１５を有している。ホストＩ／Ｆ３１１は、ファイバチャネル規格に準拠した通信機能を提供する。ドライブＩ／Ｆ３１５は、ＳＣＳＩ規格やファイバチャネル規格の通信機能を提供する。これらのインタフェースは、複数ポート設けられていても良い。
【００３２】
メモリとしては、ディスク装置２２０への書き込みデータや読み出しデータが記憶されるキャッシュメモリ３１３、および制御用の種々のソフトウェアを記憶するためのＦＬＡＳＨメモリ３１４（共有メモリと呼ぶこともある）などが含まれる。コントローラ３１０には、ＡＣ／ＤＣ電源の状態監視、ディスク装置２２０の状態監視、表示パネル上の表示デバイスの制御、筐体各部の温度監視などを行う回路が実装されているが、これらについては図示を省略した。
【００３３】
本実施例では、２つのコントローラ３１０［０］、３１０［１］によって、先に図３に示した４つのループＰａｔｈ０〜Ｐａｔｈ３が形成される。図４中では、図示の煩雑化を回避するため、これらのうちＰａｔｈ０、３またはＰａｔｈ１、２の組み合わせに相当する２つのループを例示した。各コントローラ３１０［０］、３１０［１］は、破線で示すようにパスの切換が可能である。従って、例えば、コントローラ３１０［０］は、図中の矢印ａ、ｂに示すように２つのループのいずれを経由しても各ディスク装置２２０にアクセスすることが可能である。コントローラ３１０［１］についても同様である。
【００３４】
ディスク装置筐体２００には、先に説明した通り、複数のディスク装置２２０が接続される。ＦＣディスク装置２２０Ｆは、ＰＢＣ（Port Bypass Circuit）２５１、２５２を介して、２つのＦＣ−ＡＬループにそれぞれ接続される。
【００３５】
一方、ＳＡＴＡディスク装置２２０Ｓは、ＤＰＡ（Dual Port Apparatus）２３２、インターフェース接続装置（例えばＳＡＴＡマスター装置、SATA Master Deviceなど）２３３、２３４およびＰＢＣ２５１、２５２を介して、２つのＦＣ−ＡＬループにそれぞれ接続される。ＤＰＡ２３２は、単一ポートのＳＡＴＡディスク装置２２０Ｓを、デュアルポート化するための回路である。ＤＰＡ２３２を用いることにより、ＳＡＴＡディスク装置２２０Ｓは、ＦＣディスク装置２２０Ｆと同様、いずれのＦＣ−ＡＬループからのアクセスも受け入れ可能となる。
【００３６】
インターフェース接続装置２３３、２３４は、ＳＡＴＡディスク装置２２０Ｓのシリアルインタフェースと、ファイバチャネルインタフェースとの変換を行うための回路である。この変換には、例えば、ＳＡＴＡディスク装置２２０Ｓにアクセスするために用いられるプロトコルおよびコマンドと、ファイバチャネルで用いられるＳＣＳＩプロトコルおよびコマンドとの変換が含まれる。
【００３７】
先に説明した通り、ＦＣディスク装置２２０Ｆは、ＳＥＳ機能を備えているのに対し、ＳＡＴＡディスク装置２２０Ｓは、この機能を備えていない。ディスク装置筐体２００には、この差違を補償するため、筐体管理部２４１、２４２が設けられている。筐体管理部２４１、２４２は、内部にＣＰＵ、メモリ、キャッシュメモリなどを備えたマイクロコンピュータであり、ディスク装置筐体２００内部の各ディスク装置２２０からディスク種別、アドレス、動作状態その他の管理情報を収集する。筐体管理部２４１、２４２はＰＢＣ２５１、２５２を介して２つのＦＣ−ＡＬループに接続されており、収集した情報を、コントローラ３１０からのＳＥＳコマンドに応じて、コントローラ３１０に提供する。本実施例では、コントローラ３１０がディスク装置２２０の種別に関わらず統一的な方法で管
理情報を取得可能とするため、筐体管理部２４１、２４２は、ＳＡＴＡディスク装置２２０ＳのみならずＦＣディスク装置２２０Ｆについても管理情報の収集を行うものとした。
【００３８】
ＰＢＣ２５１は、ＦＣ−ＡＬループに接続される３つの装置、ＦＣディスク装置２２０Ｆ、インターフェース接続装置２３３、および筐体管理部２４１の間で、ＦＣ−ＡＬループの切り換えを行う。即ち、ＰＢＣ２５１は、コントローラ３１０からのコマンドに応じて、ＦＣディスク装置２２０Ｆ、インターフェース接続装置２３３、および筐体管理部２４１の一つを選択してＦＣ−ＡＬループに接続し、他の２つを切り離す。同様にして、ＰＢＣ２５２は、ＦＣ−ＡＬループに接続される３つの装置、ＦＣディスク装置２２０Ｆ、インターフェース接続装置２３４、および筐体管理部２４２の間で、ＦＣ−ＡＬループの切り換えを行う。
【００３９】
以上で説明した構造により、本実施例のストレージ装置１０００は、次の特徴を有する。第１に、インターフェース接続装置２３３、２３４の機能により、各ディスク装置筐体２００の内部に、ＦＣディスク装置２２０Ｆ、ＳＡＴＡディスク装置２２０Ｓという２種類のディスク装置を混在して格納することができる。第２に、ＤＰＡ２３２の機能により、ＳＡＴＡディスク装置２２０Ｓについてもデュアルポート化が実現される。第３に、筐体管理部２４１、２４２の機能により、コントローラ３１０は、ＳＡＴＡディスク装置２２０Ｓについても管理情報の収集が容易となる。これらの特徴は、図１〜４で説明した構成に基づくものであり、本実施例に必須という訳ではない。本実施例は、上述のストレージ装置１０００以外にも、上記特徴の一部を有しない構造も含め、種々の構造からなるストレージ装置を適用可能である。
Ｂ．ディスク種別管理処理：
図５はディスク種別管理処理のフローチャートである。コントローラ３１０が、各ディスク装置２２０の種別、即ちＦＣディスク装置２２０ＦであるかＳＡＴＡディスク装置２２０Ｓであるかを把握、管理するための処理である。左側に、コントローラ３１０が実行する処理を示し、右側に筐体管理部２４１、２４２が実行する処理を示した。
【００４０】
この処理が開始されると、コントローラ３１０は、ディスク種別の確認指示を入力する（ステップＳ１０）。確認指示は、例えば、ユーザがコントローラ３１０の操作、管理装置１０からのコマンドによって明示的に行うものとしてもよいし、ストレージ装置１０００の起動を確認指示とみなすようにしてもよい。
【００４１】
コントローラ３１０は、確認指示に応じて、ディスク装置筐体２００ごとに、そこに格納されているディスク装置２２０の種別を、筐体管理部２４１、２４２に問い合わせる。筐体管理部２４１、２４２は、この問い合わせを入力すると（ステップＳ２０）、各ディスク装置２２０が接続されているコネクタに基づいて、種別を確認する（ステップＳ２２）。つまり、ディスク装置２２０が、先に図３で示したコネクタ２３１Ｆに接続されている場合には「ＦＣディスク装置」であり、コネクタ２３１Ｓに接続されている場合には「ＳＡＴＡディスク装置」であると認識する。筐体管理部２４１、２４２は、こうして得られた確認結果を、コントローラ３１０に通知する（ステップＳ２４）。
【００４２】
上述の処理は、筐体管理部２４１、２４２のうち、コントローラ３１０からの問い合わせを受けたいずれか一方のみが行えばよい。また、筐体管理部２４１、２４２は、ディスク装置の種別を予め確認・保存しておき、この結果を問い合わせに応じてコントローラ３１０に通知するようにしてもよい。
【００４３】
コントローラ３１０は、筐体管理部２４１、２４２からの通知を受けると、その結果をディスク種別管理テーブルに格納する（ステップＳ１４）。ディスク種別管理テーブルは、各ディスク装置２２０の種別を管理するために、コントローラ３１０のＦＬＡＳＨメモリに格納されるテーブルである。図中にディスク種別管理テーブルの内容を例示した。ディスク装置２２０は、ディスク装置筐体２００の番号、ＥＮＣユニット２０２の番号、各ポートに固有のアドレスの組み合わせで特定される。例えば、図中の最上段のレコードは、ディスク装置筐体「＃００」番のＥＮＣユニット「０」番に格納された、アドレス「＃００」のディスク装置２２０が、「ＦＣディスク装置」であることを意味している。
【００４４】
コントローラ３１０は、全ディスク装置筐体について、以上の処理を繰り返し実行することにより（ステップＳ１８）、各ディスク装置２２０の種別を確認することができる。以上で説明した実施例のストレージ装置１０００によれば、ＦＣディスク装置２２０ＦとＳＡＴＡディスク装置２２０Ｓが、各ディスク装置筐体２００の内部に混在して格納されている場合でも、コントローラ３１０は、その種別を容易に確認、管理することができる。従って、コントローラ３１０は、ＦＣディスク装置２２０Ｆ、ＳＡＴＡディスク装置２２０Ｓの特性を活かし、データの読み書きの制御等を行うことが可能となる。
Ｄ．スペアリング処理：
上述した種々の手法で確認されたディスク装置の種別は、ストレージ装置１０００の運用管理に活用される。ディスク装置の種別の管理情報を活用して行う処理の一つとしてスペリングが挙げられる。スペアリングとは、各ディスク装置へのアクセス時に生じるエラーを監視し、故障の前兆が現れているディスク装置については、アクセスが不能となる前に、予め用意されたスペアのディスク装置に切り換える処理である。スペアリングが行われると、コントローラ３１０は、ディスク装置の保守を促すため、所定のタイミングで管理装置１０に、障害通知を行う。
【００４５】
スペアリングを行うため、ストレージ装置１０００に格納されたディスク装置は、平時のＲＡＩＤ制御で使用するものと、平時は使用せずスペアとして使用するものに予め区分されている。ＲＡＩＤ用、スペア用の区分は、コントローラ３１０のＦＬＡＳＨメモリ内に保持される「障害管理テーブル」に記憶されている。障害管理テーブルは、各ディスク装置のエラー回数やスペアリングが行われているか否かの区別なども併せて管理する。
Ｄ１．障害管理テーブル：
図６は障害管理テーブルの構成例を示す説明図である。このテーブルは、各ディスク装置（ＨＤＤ）に対して、スペアリングに関する種々の情報を記録する。図の上方に示す通り、ディスク装置は、各ディスク装置筐体（ＤＩＳＫ＃００〜＃ｍ）内に複数格納されているから、障害管理テーブルでは、各ディスク装置を、２次元配列（筐体番号、筐体内でのシリアル番号）で表すものとする。図示する通り、ディスク装置筐体ＤＩＳＫ＃００に格納される各ディスク装置は、（０，０）〜（０，ｎ）と表されることになる。
【００４６】
障害管理テーブルに記録される情報について説明する。「Ｉ／Ｆ」とは、各ディスク装置のインタフェースの種別、即ち、各ディスク装置がＦＣディスク装置か、ＳＡＴＡディスク装置かを示している。「障害回数」は、アクセス時のエラー回数である。この数が５０回を超えると、スペアリングの対象と判断される。「５０回」という回数は一例に過ぎず、この判断には種々の設定が可能である。
【００４７】
「状態」とは、ディスク装置の稼働状態を、「正常」、「閉塞」、「疑似閉塞」の３区分で表している。「閉塞」とはスペアリングで他のディスク装置に切り換えられることによって、使用されなくなった状態を意味する。「疑似閉塞」も同様に、スペアリングの結果、使用されなくなった状態を意味する。但し、「閉塞」状態では障害通知が即時に行われ、「疑似閉塞」では障害通知が保留される点で相違する。本実施例では、インタフェースが同種のディスク装置間でスペアリングが行われた場合は「疑似閉塞」とし、異種のディスク装置間でスペアリングが行われた場合は「閉塞」とした。
【００４８】
「スペアリング」は、異常と判断されたディスク装置に対するスペアリングの結果を示している。「完了」は正常にスペアリングが完了したことを意味し、「不可」はスペアのディスク装置が存在しないなどの理由によりスペアリングが行えないことを表している。
【００４９】
「スペア」欄において、「ＹＥＳ」はディスク装置がスペアとして使用可能であることを示し、「−」はスペアでないこと、即ちＲＡＩＤで通常に使用されることを表している。「スペア使用」が「ＯＮ」となっているディスク装置は、スペアリングで使用されていることを表している。「元ＨＤＤ」は、異常が発見され、スペアリングで割り当てられた元のディスク装置を表している。
【００５０】
図の例では、ディスク装置（０，２）は、障害回数が５０回に至ったため、スペアリングが行われ、ディスク装置（０，５）に切り換えられている。ディスク装置（０，２）、（０，５）は、いずれもＦＣディスク装置であるため、ディスク装置（０，２）の状態は「疑似閉塞」となる。一方、ディスク装置（ｍ、ｎ−１）は、障害回数が５０回に至ったため、スペアリングが行われ、２つのディスク装置（ｍ、ｎ−２）、（ｍ，ｎ）に切り換えられている。２つを使用する理由については、後述する。このスペアリングは、異種間で行われているため、ディスク装置（ｍ、ｎ−１）の状態は「閉塞」となる。また、ディスク装置（０，４）は、障害回数が１００回に至っているが、スペアが存在しないため、スペアリングは「不可」とされている。
【００５１】
このようにコントローラ３１０は、障害管理テーブルを用いて、各ディスク装置の稼働状況を監視し、スペアリングを実行する。以下、コントローラ３１０が実行する処理内容についてフローチャートで説明する。
Ｄ２．スペアリング処理：
図７はスペアリング処理のフローチャートである。この処理は、コントローラ３１０によってストレージ装置１０００の運転中、繰り返し実行される。
【００５２】
この処理では、コントローラ３１０は、各ディスク装置２２０の閉塞要因、即ちアクセス時のエラー回数を監視する（ステップＳ４０）。このエラー回数が所定数、例えば５０回を超える場合に、そのディスク装置２２０には故障の前兆が現れており「閉塞要因有り」と判断される。閉塞要因の監視は、ディスク装置ごとに行われる。
【００５３】
コントローラ３１０は、いずれかのディスク装置について閉塞要因を見いだした場合、スペアリングが必要と判断し（ステップＳ４２）、スペアとして使用可能なディスク装置が存在するか否かを判断する（ステップＳ４４）。この判断は、先に説明した障害管理テーブルを参照することで行うことができる。複数のディスク装置からなるＲＡＩＤグループは同じ種類のインタフェースを有するディスク装置で構成することが望ましい。従って、ディスク装置に故障が生じてスペアリングの必要がある場合には、その故障ディスクが所属するＲＡＩＤグループ（ＥＣＣグループと呼ぶこともある）のディスク装置のインタフェースを確認することが好ましい。この確認結果および残存しているスペアの種類によって、スペアの有無は、以下の３ケースに別れる。
【００５４】
ケース１：閉塞要因が見いだされたディスク装置と同一種類のスペアが有る場合；
ケース２：同一種類のスペアは存在しないが、異種のスペアは存在する場合；
ケース３：スペアが一切存在しない場合
上記分類に従えば、異種のディスク装置へのスペアリングが許容されるが、同種のディスク装置へのスペアリングが優先的に行われることになる。コントローラ３１０は、ケース１に該当する場合は、同種のスペアのいずれかを選択してスペアリングを行うとともに（ステップＳ４６）、障害管理テーブルの内容を更新する（ステップＳ４８）。この場合は、障害が見いだされたディスク装置は、「疑似閉塞」とされる。
【００５５】
ケース２に該当する場合には、異種スペアリング処理として、異種のスペアの中のいずれかを選択してスペアリングを行う（ステップＳ５０）。異種スペアリング処理については、ＦＣディスク装置からＳＡＴＡディスク装置への切り換え時と、その逆で処理内容が異なるため、処理の詳細については後述する。
【００５６】
ケース３に該当する場合には、スペアリングは行わずに、障害管理テーブルを更新する（ステップＳ４８）。ケース３の場合は、障害が見いだされたディスク装置は、スペアリング「不可」とされる。コントローラ３１０は、以上の処理が完了すると、その結果に応じて、障害通知処理、即ち管理装置１０に障害通知を行う処理を実行して（ステップＳ６０）、スペアリング処理を完了する。
【００５７】
図８は異種スペアリング処理のフローチャートである。図７のステップＳ５０に対応する処理であり、ＦＣディスク装置とＳＡＴＡディスク装置の間でスペアリングを実行するための処理である。コントローラ３１０は、この処理が開始されると、障害が生じたディスクの種別を判断する（ステップＳ５２）。なお、異なるインタフェースを有するディスク装置でスペアリングを行わないように、予めユーザ、保守員が障害管理テーブル等に設定をしてもよい。かかる設定がなされている場合には、同種類のスペアディスクが存在しない場合は異種スペアリングは行われない。
【００５８】
ＦＣディスク装置で障害が生じている場合には（ステップＳ５２）、コントローラ３１０は、複数のＳＡＴＡディスク装置を並列に割り当てることでスペアリングを実行する（ステップＳ５４）。図中に、このスペアリングの様子を模式的に示した。ＦＣディスク装置がＲＡＩＤを構成し、ＳＡＴＡディスク装置がスペアとして残っているとする。この状態で、ＦＣディスク装置のひとつに障害が生じた場合、コントローラは２つのＳＡＴＡディスク装置を並列的に割り当てる。並列に割り当てるとは、これらのＳＡＴＡディスク装置へのアクセスがほぼ並行して行われるように、データを両者に分散させて格納することを意味する。ＦＣディスク装置に対して３台以上のＳＡＴＡディスク装置を割り当ててもよい。
【００５９】
一般に、アクセス速度は、ＳＡＴＡディスク装置の方がＦＣディスク装置よりも遅い。従って、一台のＦＣディスク装置に対して複数のＳＡＴＡディスク装置を並列に割り当てることにより、アクセス速度の差違を補償し、スペアリング時におけるストレージ装置１０００の性能低下を抑制することができる。また、ＳＡＴＡディスク装置はＦＣディスク装置に比べて信頼性が劣ることがある。従って、ＦＣディスク装置をＳＡＴＡディスク装置でスペアリングする場合には、ＦＣディスク装置の同じデータを複数のＳＡＴＡディスク装置にコピーしてもよい。即ち、ＦＣディスク装置をＳＡＴＡディスク装置でスペアリングする場合には、スペア用のＳＡＴＡディスク装置を他のＳＡＴＡディスク装置でミラーリングしてもよい。
【００６０】
一方、ＳＡＴＡディスク装置に障害が生じている場合には（ステップＳ５２）、コントローラ３１０は、複数のＦＣディスク装置を直列に割り当てることでスペアリングを実行する（ステップＳ５６）。図中に、このスペアリングの様子を模式的に示した。ＳＡＴＡディスク装置がＲＡＩＤを構成し、ＦＣディスク装置がスペアとして残っているとする。この状態で、ＳＡＴＡディスク装置のひとつに障害が生じた場合、コントローラは２つのＦＣディスク装置を直列的に割り当てる。直列に割り当てるとは、１つのＦＣディスク装置の容量が一杯になった後、２台目のＦＣディスク装置を使用することを意味する。ＳＡＴＡディスク装置に対して３台以上のＦＣディスク装置を割り当ててもよい。
【００６１】
一般に、ディスク容量は、ＦＣディスク装置の方がＳＡＴＡディスク装置よりも小さい。従って、一台のＳＡＴＡディスク装置に対して複数のＦＣディスク装置を直列に割り当てることにより、容量の差違を補償し、スペアリング時におけるストレージ装置１０００の性能低下を抑制することができる。
【００６２】
コントローラ３１０は、以上の手順で異種間のスペアリングを実行すると、その結果に応じて、障害管理テーブルを更新し（ステップＳ５８）、異種スペアリング処理を完了する。この処理では、障害が見いだされたディスク装置は、「閉塞」状態とされる。
Ｄ３．障害通知処理：
図９は障害通知処理のフローチャートである。図７のステップＳ６０に相当する処理であり、コントローラ３１０が障害の発生状況に応じて、管理装置１０への障害通知のタイミングを制御する処理である。
【００６３】
この処理では、コントローラ３１０は、まず、「閉塞」状態となっているディスク装置の有無を判断する（ステップＳ６１）。閉塞状態のディスク装置が存在する場合には、コントローラ３１０は、即時に障害通知を行う（ステップＳ６７）。閉塞状態は、先に説明した通り、異種ディスク装置間でスペアリングを行った場合に対応する。かかるスペアリングでは、図８に示したように複数台のスペアを割り当てたとしても、必ずしも十分にディスク装置間の性能の差違を補償できるとは限らない。従って、コントローラ３１０から直ちに障害通知を行い、保守を促すことにより、ストレージ装置１０００の性能低下を極力回避可能となる。
【００６４】
閉塞状態のディスク装置が存在しない場合（ステップＳ６１）、コントローラ３１０は、次に「疑似閉塞」状態となっているディスク装置の有無を判断する（ステップＳ６２）。かかるディスク装置が存在しない場合には、コントローラ３１０は障害通知の必要は無いと判断し、この処理を完了する。
【００６５】
疑似閉塞のディスク装置が存在する場合には（ステップＳ６２）、一定の条件が満足されるまで障害通知を保留する。先に説明した通り、疑似閉塞は、同種のディスク装置間でスペアリングを行った場合に対応する。かかるスペアリングでは、通常、ストレージ装置１０００の性能は保証されるため、障害通知を保留しても実質的な支障は生じない。本実施例では、かかる状況での障害通知を保留することにより、保守に要する負荷軽減を図っている。
【００６６】
疑似閉塞時においても、コントローラ３１０は、他に通知すべき障害が存在する場合（ステップＳ６３）には、それと併せて障害通知を行う（ステップＳ６７）。また、予め決められた定期的な通知タイミングに至った場合（ステップＳ６４）も障害通知を行う（ステップＳ６７）。更に、疑似閉塞の台数が所定値Ｔｈ１台を超えた時（ステップＳ６５）、およびスペアの残り台数が所定値Ｔｈ２を下回った時（ステップＳ６６）のいずれかが満たされる時も、障害通知を行う（ステップＳ６７）。これらの条件を考慮することで、疑似閉塞が生じた場合の障害通知が過度に遅れることを回避することができる。
【００６７】
以上で説明した実施例のストレージ装置１０００によれば、異種のディスク装置間でスペアリングを許容することにより、スペアを有効活用することができる。この結果、スペアの不足による稼働停止を回避することができる。また、障害が発生したディスク装置の状態を、閉塞、疑似閉塞に区分し、この区分に応じて、障害通知の発行タイミングを制御することによって、ストレージ装置１０００の性能低下を回避しつつ、保守の負荷を抑制することができる。なお、異なる種類のディスク装置でスペアリングされている場合には、ユーザまたは保守員がディスク装置を交換または追加するときに、閉塞したディスク装置と同一種類のディスク装置で再びスペアリングするようにしてもよい。例えば、ＲＡＩＤグループがＦＣディスク装置で構成され、そのＦＣディスク装置の一部が故障してＳＡ
ＴＡディスク装置でスペアリングされている場合に、ユーザまたは保守員がその故障（閉塞）したＦＣディスク装置を取り替える、またはＦＣディスク装置を追加した場合に、ＳＡＴＡディスク装置を再び取り替えられたＦＣディスク装置でスペアリングする。この動作は、ＦＣディスク装置を取り替えまたはＦＣディスク装置の追加をストレージ装置が認識した後に自動的に行うようにしてもよいし、手動で行っても良い。更に、異なる種類のディスク装置でスペアリングされている状態がある場合は、その状態をディスプレイまたはディスク装置筐体外部等から認識できるようにすることが望ましい。
【００６８】
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。例えば、ＳＡＴＡディスク装置をＦＣ−ＡＬに接続するための回路、図４に示したＤＰＡ２３２やインターフェース接続装置２３３，２３４は、ディスク装置筐体２２０側に備えてもよい。実施例では、閉塞状態については、即時に障害通知を行う場合を例示したが（図９のステップ６１）、このタイミングは「即時」である必要はなく、疑似閉塞時の通知タイミングよりも短い範囲で任意に設定可能である。
【図面の簡単な説明】
【００６９】
【図１】実施例としての情報処理システムの概略構成を示す説明図である。
【図２】ディスク装置筐体２００の斜視図である。
【図３】ディスク装置筐体２００の内部構造を模式的に示す説明図である。
【図４】ストレージ装置１０００の内部構造を模式的に示す説明図である。
【図５】ディスク種別管理処理のフローチャートである。
【図６】障害管理テーブルの構成例を示す説明図である。
【図７】スペアリング処理のフローチャートである。
【図８】異種スペアリング処理のフローチャートである。
【図９】障害通知処理のフローチャートである。
【符号の説明】
【００７０】
１０...管理装置
１１...管理ツール
２００、２００Ａ、２００Ｂ...ディスク装置筐体
２１０...ルーバ
２２０...ディスク装置
２２０Ｆ...ＦＣディスク装置
２２０Ｓ...ＳＡＴＡディスク装置
２２１Ｆ、２２１Ｓ、２３１Ｆ、２３１Ｓ...コネクタ
２２２Ｆ、２２２Ｓ...ハンドル
２３０...バックボード
２３２...ＤＰＡ
２３３、２３４...インターフェース接続装置
２４１、２４２...筐体管理部
２５１、２５２...ＰＢＣ
３００...コントローラ筐体
３１０...コントローラ
３１３...キャッシュメモリ
４００...搭載ユニット
４０１...本体
４０２、４０３...ガイド
４１０...基板
４１１、４２１、４１３...テーパピン
４１５、４１６...コネクタ
４２０、４２０Ｆ、４２０Ｓ...ディスク装置
４２１...コネクタ
４３０...キャリー
４３０ａ...突起
４３０ｃ...コネクタ孔
４３０ｓ...スリット
４３１、４３２...レール
４３１ａ、４３１ｂ...ネジ穴
４３３...ハンドル
４３４...ラッチ
４３６、４３７、４３８...孔
４３９...蓋
４４０...板
４４１...端部
４５０、４５０Ａ...アダプタ
４５１、４５１Ａ...本体
４５２、４５２Ａ...基板
４５３、４５３Ａ、４５４、４５４Ａ...コネクタ
４５５...サブ基板
４５６、４５７...コネクタ
４５８...スペーサ
４５９...ネジ
１０００...ストレージ装置
【図１】
0004634049.tif 000002
【図２】
0004634049.tif 000003
【図３】
0004634049.tif 000004
【図４】
0004634049.tif 000005
【図５】
0004634049.tif 000006
【図６】
0004634049.tif 000007
【図７】
0004634049.tif 000008
【図８】
0004634049.tif 000009
【図９】
0004634049.tif 000010