(57)【特許請求の範囲】
【請求項１】
複数の磁気ディスクドライブを備える磁気ディスク装置と、前記磁気ディスク装置内の磁気ディスクドライブへのアクセスを制御する制御装置とを有するストレージシステムにおいて、
前記磁気ディスク装置は、自装置内のスピンダウンした磁気ディスクドライブをスピンアップさせる第１のスピンアップ制御部を有し、
前記制御装置は、
前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブをスピンアップさせる第２のスピンアップ制御部と、
前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が所定のしきい値に達した場合に、前記磁気ディスク装置を使用不許可にし、一定時間後に前記磁気ディスク装置の使用を許可する切り離し制御部と、
を有することを特徴とするストレージシステム。
【請求項２】
前記第１のスピンアップ制御部は、自装置内の磁気ディスクドライブに供給される電源の電圧が所定のしきい値電圧未満から前記しきい値電圧以上に上昇したことを検出した場合に、自装置内の磁気ディスクドライブに対してスピンアップを要求することを特徴とする請求項１記載のストレージシステム。
【請求項３】
前記切り離し制御部は、前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が前記しきい値に達した場合に、前記磁気ディスク装置が備える、前記制御装置と通信するインタフェース回路を使用不許可にすることを特徴とする請求項１または２記載のストレージシステム。
【請求項４】
前記第２のスピンアップ制御部は、前記磁気ディスク装置内の磁気ディスクドライブへのアクセスに対する応答に基づいて、アクセス先の磁気ディスクドライブがスピンダウンしていると判定した場合に、アクセス先の磁気ディスクドライブをスピンアップさせ、
前記切り離し制御部は、前記第２のスピンアップ制御部によってスピンダウンしていると判定された磁気ディスクドライブの数が前記しきい値に達した場合に、前記磁気ディスク装置を使用不許可にする、
ことを特徴とする請求項１〜３のいずれか１項に記載のストレージシステム。
【請求項５】
前記制御装置には、それぞれ複数の磁気ディスクドライブと前記第１のスピンアップ制御部とを備える複数の磁気ディスク装置が、直列に連結されており、
前記切り離し制御部は、前記複数の磁気ディスク装置におけるスピンダウンした磁気ディスクドライブの数が前記しきい値に達したとき、前記複数の磁気ディスク装置の中のスピンダウンした磁気ディスクドライブを備える磁気ディスク装置のうち、最も前記制御装置に近い磁気ディスク装置を使用不許可にする、
ことを特徴とする請求項１または２記載のストレージシステム。
【請求項６】
前記切り離し制御部は、前記複数の磁気ディスク装置におけるスピンダウンした磁気ディスクドライブの数が前記しきい値に達したとき、前記複数の磁気ディスク装置の中のスピンダウンした磁気ディスクドライブを備える磁気ディスク装置のうち、最も前記制御装置に近い磁気ディスク装置が備える、前記制御装置と通信するインタフェース回路を使用不許可にすることを特徴とする請求項５記載のストレージシステム。
【請求項７】
複数の磁気ディスクドライブを備える磁気ディスク装置に接続し、前記磁気ディスク装置内の磁気ディスクドライブへのアクセスを制御するストレージ制御装置において、
前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブをスピンアップさせるスピンアップ制御部と、
前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が所定のしきい値に達した場合に、前記磁気ディスク装置を切り離し、切り離された前記磁気ディスク装置が自装置内のスピンダウンした磁気ディスクドライブをスピンアップさせるのに要する時間以上の所定時間が経過した後に、前記磁気ディスク装置の再組み込みを行う切り離し制御部と、
を有することを特徴とするストレージ制御装置。
【請求項８】
複数の磁気ディスクドライブを備える磁気ディスク装置と、前記磁気ディスク装置内の磁気ディスクドライブへのアクセスを制御する制御装置とを有するストレージシステムにおけるストレージ制御方法であって、
前記制御装置が、前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブをスピンアップさせ、
前記制御装置が、前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が所定のしきい値に達した場合に、前記磁気ディスク装置を切り離し、切り離された前記磁気ディスク装置が自装置内のスピンダウンした磁気ディスクドライブをスピンアップさせるのに要する時間以上の所定時間が経過した後に、前記磁気ディスク装置の再組み込みを行う、
ことを特徴とするストレージ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム、ストレージ制御装置およびストレージ制御方法に関する。
【背景技術】
【０００２】
ＨＤＤ（Hard Disk Drive）は、長時間アクセスがないときや、電源の供給が一時的に断絶したときには、磁気ディスクの回転を停止した「スピンダウン」の状態になる。ＨＤＤがスピンダウンしたときには、制御装置がＨＤＤに対して「スピンアップ」を要求するコマンドを送信することで、ＨＤＤの動作を復旧させることができる。
【０００３】
一方、ＨＤＤなどの記憶装置における異常発生時の制御技術としては、次のようなものがある。例えば、複数のＨＤＤおよびＨＤＤへの電源ラインの電圧監視機能を備える記憶装置に接続し、電源ラインの電圧低下が検出されると、記憶装置とのデータラインを一時的に切断し、電圧復旧後にＨＤＤへ起動コマンドを送信する制御装置がある。
【０００４】
また、他の例として、ＨＤＤに供給されるＤＣ電圧の低下を検出すると、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）構成情報に電源不具合情報を記憶するとともにＨＤＤに対する読み書きを中断し、ＤＣ電圧の復帰を検出すると、ＲＡＩＤ構成情報から電源不具合情報を解除するとともにＨＤＤに対する読み書きを再開する制御装置がある。
【０００５】
さらに、他の例として、ＲＡＩＤ装置内でＲＡＩＤ閉塞可否を判定すべき事象が発生するたびに、閉塞判定対象となるＲＡＩＤグループごとに、そのＲＡＩＤグループに属する各ディスクを複数のカテゴリに分類し、分類単位ごとに該当するディスクの数の集計結果を基にＲＡＩＤグループを閉塞させるかを判定する制御装置がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−１３３９２６号公報
【特許文献２】特開２００７−１２２２６３号公報
【特許文献３】特開２００７−３０４７２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、ストレージシステムにおいては、制御装置に対して多数のＨＤＤが接続される場合がある。多数のＨＤＤを備えるストレージシステムにおいて、スピンダウンしたＨＤＤを制御装置の制御によって復旧させるように構成した場合、多数のＨＤＤが一度にスピンダウンしてしまうと、ＨＤＤの復旧処理のために制御装置の処理負荷が増大してしまう。スピンダウンしたＨＤＤの復旧処理のために制御装置の処理負荷が増大すると、スピンダウンしていないＨＤＤへのアクセス処理が停滞する、あるいは、スピンダウンしたＨＤＤのそれぞれが復旧するまでに要する時間が長くなるなどの問題が生じる。
【０００８】
本発明はこのような課題に鑑みてなされたものであり、多数のＨＤＤがスピンダウンした場合の制御装置の処理負荷を軽減できるようにしたストレージシステム、ストレージ制御装置およびストレージ制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、複数の磁気ディスクドライブを備える磁気ディスク装置と、磁気ディスク装置内の磁気ディスクドライブへのアクセスを制御する制御装置とを有するストレージシステムが提供される。このストレージシステムにおいて、磁気ディスク装置は、自装置内のスピンダウンした磁気ディスクドライブをスピンアップさせる第１のスピンアップ制御部を有する。また、制御装置は、磁気ディスク装置内のスピンダウンした磁気ディスクドライブをスピンアップさせる第２のスピンアップ制御部と、磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が所定のしきい値に達した場合に、磁気ディスク装置を使用不許可にし、一定時間後に磁気ディスク装置の使用を許可する切り離し制御部と、を有する。
【００１０】
また、上記目的を達成するために、上記の制御装置と同様の処理を実行するストレージ制御装置およびストレージ制御方法が提供される。
【発明の効果】
【００１１】
上記のストレージシステムおよびストレージ制御方法によれば、多数の磁気ディスクドライブがスピンダウンしたときの制御装置の処理負荷を軽減できる。
また、上記のストレージ制御装置によれば、多数の磁気ディスクドライブがスピンダウンしたときのストレージ制御装置の処理負荷を軽減できる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係るストレージシステムの構成例を示す図である。
【図２】第２の実施の形態に係るストレージシステムのシステム構成例を示す図である。
【図３】ＣＭのハードウェア構成例を示す図である。
【図４】ＤＥのハードウェア構成例を示す図である。
【図５】ＤＥループの構成例を示す図である。
【図６】デバイス管理テーブルに登録される情報の例を示す図である。
【図７】ＲＡＩＤ管理テーブルに登録される情報の例を示す図である。
【図８】ＣＭが備える処理機能の例を示すブロック図である。
【図９】ＨＤＤリカバリ制御部の内部構成例を示す図である。
【図１０】ＰＳＵにおける入力電圧と出力電圧の関係について示す図である。
【図１１】ＰＳＵごとの限界時間について示す図である。
【図１２】自動スピンアップ処理について示す図である。
【図１３】ＤＥリカバリ制御部の内部構成例を示す図である。
【図１４】切り離し制御部による処理の一例を示す図である。
【図１５】ＨＤＤリカバリ制御部のリカバリ処理部の処理手順の例を示すフローチャートである。
【図１６】割り込み発生時におけるリカバリタスクの処理手順の例を示すフローチャートである。
【図１７】ＤＥリカバリ制御部のカウント部の処理手順の例を示すフローチャートである。
【図１８】ＤＥリカバリ制御部の切り離し制御部の処理手順の例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、実施の形態について図面を参照して詳細に説明する。
〔第１の実施の形態〕
図１は、第１の実施の形態に係るストレージシステムの構成例を示す図である。
【００１４】
図１に示すストレージシステム１は、制御装置１０と、複数のＨＤＤ１１ａ〜１１ｅを備える磁気ディスク装置１０と、磁気ディスク装置１０内のＨＤＤ１１ａ〜１１ｅに対するアクセスを制御する制御装置２０とを含む。なお、磁気ディスク装置１０が備えるＨＤＤの数は、図１のように５台に限るものではない。
【００１５】
磁気ディスク装置１０は、スピンアップ制御部１２を備える。スピンアップ制御部１２は、磁気ディスク装置１０内のスピンダウンしたＨＤＤをスピンアップさせる。スピンアップ制御部１２は、例えば、ＨＤＤ１１ａ〜１１ｅに供給される電源の電圧が所定のしきい値電圧未満からそのしきい値電圧以上に上昇したときに、磁気ディスク装置１０内のＨＤＤにスピンアップを要求する。この場合、スピンアップ制御部１２は、磁気ディスク装置１０内のＨＤＤ１１ａ〜１１ｅのすべてに対して、スピンアップを要求してもよい。
【００１６】
一方、制御装置２０は、スピンアップ制御部２１および切り離し制御部２２を備える。スピンアップ制御部２１および切り離し制御部２２の処理は、例えば、制御装置２０が備えるＣＰＵ（Central Processing Unit）が所定のプログラムを実行することで実現される。
【００１７】
スピンアップ制御部２１は、磁気ディスク装置１０内のスピンダウンしたＨＤＤをスピンアップさせる。スピンアップ制御部２１は、例えば、磁気ディスク装置１０内のＨＤＤへのアクセスに対する応答に基づいて、アクセス先のＨＤＤがスピンダウンしていると判定した場合に、アクセス先のＨＤＤに対してスピンアップを要求する。例えば、磁気ディスク装置１０内のＨＤＤ１１ｃにアクセスしたときに、ＨＤＤ１１ｃがスピンダウンしていると判定した場合に、図１中の点線矢印で示すように、ＨＤＤ１１ｃに対してスピンアップを要求する。
【００１８】
切り離し制御部２２は、磁気ディスク装置１０内のスピンダウンしたＨＤＤの数が所定のしきい値に達した場合に、磁気ディスク装置１０を使用不許可にし、その一定時間後に、磁気ディスク装置１０の使用を許可する。ここで、磁気ディスク装置１０を使用不許可にしている間、スピンアップ制御部２１はＨＤＤに対してスピンアップを要求できなくなるものの、磁気ディスク装置１０内のスピンアップ制御部１２の処理によって、スピンダウンしたＨＤＤがスピンアップする。切り離し制御部２２が磁気ディスク装置１０を使用不許可にする時間は、磁気ディスク装置１０のスピンアップ制御部１２の制御によってＨＤＤがスピンアップするまでの時間以上とされる。これにより、切り離し制御部２２は、磁気ディスク装置１０の使用を再度許可した後、制御装置２０は、磁気ディスク装置１０内のＨＤＤ１１ａ〜１１ｅに対してすぐにアクセスできる。
【００１９】
仮に、磁気ディスク装置１０内の多数のＨＤＤがスピンダウンした場合、制御装置２０のスピンアップ制御部２１は、スピンダウンしたＨＤＤのそれぞれに対してスピンアップを要求する。このため、スピンダウンしたＨＤＤの数が多くなるほど、制御装置２０の処理負荷が高くなる。制御装置２０の処理負荷が高くなった場合、例えば、スピンダウンしたＨＤＤの１台当たりのスピンアップに要する時間が長くなる可能性がある。また、制御装置２０において実行される、ＨＤＤをスピンアップさせる処理以外の処理が停滞してしまう可能性もある。
【００２０】
これに対して、切り離し制御部２２の処理によれば、一定数以上のＨＤＤがスピンダウンした場合には、制御装置２０のスピンアップ制御部２１ではなく、磁気ディスク装置１０のスピンアップ制御部１２の処理によって、ＨＤＤがスピンアップされる。これにより、多数のＨＤＤがスピンダウンした場合における制御装置２０の処理負荷が軽減される。
【００２１】
なお、前述のように、磁気ディスク装置１０のスピンアップ制御部１２は、ＨＤＤ１１ａ〜１１ｅに供給される電源の電圧が所定のしきい値電圧未満からそのしきい値電圧以上に上昇したときに、磁気ディスク装置１０内のＨＤＤにスピンアップを要求してもよい。この場合、例えば、磁気ディスク装置１０に供給される電源の電圧が一時的に低下したことなどによって、磁気ディスク装置１０内の多数のＨＤＤがスピンダウンした場合に、制御装置２０の処理負荷を増大させることなく、多数のＨＤＤをスピンアップさせることができる。
【００２２】
一方、制御装置２０のスピンアップ制御部２１は、前述のように、磁気ディスク装置１０内のＨＤＤへのアクセスに対する応答に基づいて、アクセス先のＨＤＤがスピンダウンしていると判定した場合に、アクセス先のＨＤＤにスピンアップを要求してもよい。さらに、切り離し制御部２２は、このようなスピンアップ制御部２１によってスピンダウンしていると判定されたＨＤＤの数が、所定のしきい値に達した場合に、磁気ディスク装置１０を使用不許可にしてもよい。このようなスピンアップ制御部２１および切り離し制御部２２の各処理によれば、例えば、深刻でない一時的な異常などによって少数のＨＤＤがスピンダウンしたような場合に、磁気ディスク装置１０全体が使用可能な状態に保たれ、磁気ディスク装置１０内のスピンアップしているＨＤＤへのアクセス処理を継続できる。
【００２３】
また、切り離し制御部２２は、例えば、磁気ディスク装置１０内のスピンダウンしたＨＤＤの数が所定のしきい値に達した場合に、磁気ディスク装置１０が備える、制御装置２０と通信する通信インタフェース回路を使用不許可にしてもよい。このような処理によれば、スピンダウンしたＨＤＤの数が多いとき、制御装置２０は、磁気ディスク装置１０内のインタフェース回路を使用不許可にするという簡単な処理によって、スピンダウンした多数のＨＤＤをスピンアップさせることができる。
【００２４】
〔第２の実施の形態〕
図２は、第２の実施の形態に係るストレージシステムのシステム構成例を示す図である。図２に示すストレージシステム１００は、ＣＥ（Controller Enclosure）２００と、ＤＥ（Drive Enclosure）３００ａ〜３００ｆと、ホスト装置４００とを含む。
【００２５】
ＣＥ２００は、ＣＭ（Controller Module）３００ａ，３００ｂと、ＰＳＵ（Power Supply Unit）２０２とを備える。
ＣＭ３００ａ，３００ｂのそれぞれは、ホスト装置４００からの要求に応じて、ＤＥ３００ａ〜３００ｆ内のＨＤＤに対するデータの読み書きを行う。ＣＭ３００ａ，３００ｂは、ＤＥ３００ａ〜３００ｆ内のＨＤＤによって実現される物理記憶領域をＲＡＩＤによって管理し、これらの物理記憶領域に対するアクセスを制御する。
【００２６】
なお、ＣＭは、ＣＥ２００内に１つのみ設けられてもよいし、３つ以上設けられてもよい。ただし、ＣＭが複数設けられることで、ＤＥ３００ａ〜３００ｆに対するアクセス制御系統が冗長化され、アクセス制御処理の信頼性が向上する。
【００２７】
ＰＳＵ２０２は、ＣＭ２０１ａ，２０１ｂに対して電源を供給する。本実施の形態では例として、ＰＳＵ２０２は、ＣＭ２０１ａ，２０１ｂに対して５Ｖの直流電源を供給する。
【００２８】
ＤＥ３００ａ〜３００ｆのそれぞれは、ＣＭ２０１ａ，２０１ｂからのアクセス制御対象となる複数の記憶装置を備える。本実施の形態では、ＤＥ３００ａ〜３００ｆのそれぞれは、記憶装置としてＨＤＤを備えるディスクアレイ装置である。なお、ＤＥ３００ａ〜３００ｆが備える記憶装置としては、ＳＳＤ（Solid State Drive）などの他の種類の不揮発性記憶装置を使用することもできる。
【００２９】
ＤＥ３００ａ〜３００ｆ内のＨＤＤと、ＣＭ２０１ａ，２０１ｂとは、例えば、ＳＡＳ（Serial Attached SCSI，SCSI：Small Computer System Interface）規格に従って通信する。ここで、ＤＥ３００ａ〜３００ｃ、およびＤＥ３００ｄ〜３００ｆは、それぞれ１つの「ＤＥループ（DE Loop）」を構成する。「ＤＥループ」とは、ＣＭ２０１ａ，２０１ｂのそれぞれに対して直列に連結されたＤＥの一群である。このＤＥループとＣＭとの接続関係については、後の図５で説明する。
【００３０】
なお、本実施の形態では、例として、それぞれ６台のＨＤＤを備える６台のＤＥが設けられるとともに、３台のＤＥで構成されるＤＥループが２つ存在するものとするが、ＤＥ内のＨＤＤの台数、ＤＥが設けられる数、ＤＥループに含まれるＤＥの台数、および、ＤＥループの数は、さらに多くてもよい。例えば、１つのＤＥに搭載されるＨＤＤの最大数が２４台、ストレージシステムに設けられるＤＥの最大数が４０台、ＤＥループに含まれるＤＥの最大数が１０台とされてもよい。この場合、ストレージシステムには、９６０台のＨＤＤが接続されることになる。
【００３１】
ホスト装置４００は、ユーザの操作に応じて、ＣＭ２０１ａ，２０１ｂに対して、ＤＥ３００ａ〜３００ｆ内のＨＤＤへのアクセスを要求する。なお、ホスト装置４００とＣＭ２０１ａ，２０１ｂとは、例えば、ＦＣ（Fibre Channel）ケーブルを介して接続されている。
【００３２】
図３は、ＣＭのハードウェア構成例を示す図である。なお、ＣＭ２０１ａ，２０１ｂは同様のハードウェア構成を有するので、以下の説明では、主にＣＭ２０１ａの構成についてのみ説明する。
【００３３】
ＣＭ２０１ａは、ＣＰＵ２１１によって装置全体が制御されている。ＣＰＵ２１１には、ＲＡＭ２１２および複数の周辺機器が接続されている。ＲＡＭ２１２は、ＣＭ２０１ａの主記憶装置として使用され、ＣＰＵ２１１に実行させるプログラムの少なくとも一部や、このプログラムによる処理に必要な各種データを一時的に記憶する。
【００３４】
ＣＰＵ２１１には、周辺機器の例として、フラッシュメモリ２１３、ＣＡ（Channel Adapter）２１４およびＩＯＣ（In/Out Controller）２１５が接続されている。フラッシュメモリ２１３は、例えば、図示しないＰＣＨ（Platform Controller Hub）を介してＣＰＵ２１１と接続される。また、ＣＡ２１４およびＩＯＣ２１５は、例えば、ＰＣＩ（Peripheral Component Interconnect）スイッチ２１６を通じてＣＰＵ２１１と接続されている。
【００３５】
フラッシュメモリ２１３は、ＣＭ２０１ａの二次記憶装置として使用され、ＣＰＵ２１１によって実行されるプログラムやその実行に必要な各種のデータなどを記憶する。なお、二次記憶装置としては、例えば、ＨＤＤなどの他の種類の不揮発性記憶装置が使用されてもよい。
【００３６】
ＣＡ２１４は、ホスト装置４００とＣＭ２０１ａとの間でデータを送受信するインタフェース処理を実行する。
ＩＯＣ２１５は、ＳＡＳインタフェース処理を実行する回路である。ＣＭ２０１ａのＩＯＣ２１５は、ＣＭ２０１ａに設けられたＳＡＳエクスパンダ２１７と、ＣＭ２０１ｂに設けられたＳＡＳエクスパンダ２１７の両方に接続されている。ＣＭ２０１ｂのＩＯＣ２１５も同様に、ＣＭ２０１ａに設けられたＳＡＳエクスパンダ２１７と、ＣＭ２０１ｂに設けられたＳＡＳエクスパンダ２１７の両方に接続されている。ＣＭ２０１ａのＳＡＳエクスパンダ２１７と、ＣＭ２０１ｂのＳＡＳエクスパンダ２１７は、ともに、ＤＥループを構成するＤＥのうちの１つに接続されている。
【００３７】
なお、ＣＭ２０１ａのＰＣＩスイッチ２１６は、他方のＣＭ２０１ｂのＰＣＩスイッチ２１６と接続されている。ＣＭ２０１ａのＣＰＵ２１１と、ＣＭ２０１ｂのＣＰＵ２１１とは、ＣＭ２０１ａのＰＣＩスイッチ２１６とＣＭ２０１ｂのＰＣＩスイッチ２１６とを接続する通信経路を通じて、互いにデータを送受信できるようになっている。
【００３８】
図４は、ＤＥのハードウェア構成例を示す図である。なお、ＤＥ３００ａ〜３００ｆは同様のハードウェア構成を有するので、図４では、代表してＤＥ３００ａの構成について説明する。
【００３９】
ＤＥ３００ａは、ＩＯＭ（In/Out Module）３１０，３２０、ＨＤＤ３３１〜３３６およびＰＳＵ３５１，３５２を備えている。
ＩＯＭ３１０，３２０は、ＤＥ３００ａを統括的に制御するとともに、ＳＡＳエクスパンダとしての処理を実行する。ＩＯＭ３１０は、中継部３１１、電源監視部３１２および制御部３１３を備える。ＩＯＭ３２０は、中継部３２１、電源監視部３２２および制御部３２３を備える。
【００４０】
ＩＯＭ３１０において、中継部３１１は、ＣＭ２０１ａのＳＡＳエクスパンダ２１７、ＤＥ３００ａ内部のＨＤＤ３３１〜３３６、および、ＤＥ３００ａと同一のＤＥループに属する他の１つのＤＥ（ＤＥ３００ｂ）の中継部と接続され、接続されたこれらの機器の間でデータを中継する。
【００４１】
電源監視部３１２は、ＰＳＵ３５２がＤＥ３００ａ内のＨＤＤ３３１〜３３６に供給する電源の電圧を監視し、電源供給の瞬断（すなわち、電源供給が停止し、一定時間以内に復旧する現象）を検出すると、その旨を制御部３１３に通知する。
【００４２】
制御部３１３は、ＤＥ３００ａ全体を制御する処理と、中継部３１１での中継動作を制御する処理とを実行する。制御部３１３は、ＤＥ３００ａ全体の制御処理の１つとして、電源監視部３１２によって電源供給の瞬断が検出されたとき、ＤＥ３００ａ内のＨＤＤ３３１〜３３６に対してスピンアップを要求する「自動スピンアップ処理」を実行する。
【００４３】
ＩＯＭ３２０の中継部３２１、電源監視部３２２および制御部３２３は、それぞれ、ＩＯＭ３１０の中継部３１１、電源監視部３１２および制御部３１３と同様の処理を実行する。中継部３２１は、ＣＭ２０１ｂのＳＡＳエクスパンダ２１７、ＤＥ３００ａ内部のＨＤＤ３３１〜３３６、および、ＤＥ３００ａと同一のＤＥループに属する他の１つのＤＥ（ＤＥ３００ｂ）の中継部と接続されている。電源監視部３２２と、制御部３２３によるＤＥ３００ａの制御機能とは、例えば、ＩＯＭ３１０が運用系として正常動作中であるとき、待機系となる。
【００４４】
ＨＤＤ３３１〜３３６のそれぞれは、ＳＡＳインタフェース処理を実行するコントローラ回路３４１〜３４６をそれぞれ備える。コントローラ回路３４１〜３４６は、アクセス元（ＣＭ２０１ａまたはＣＭ２０１ｂ）から受信したコマンドに応じて、ＨＤＤの内部を制御するとともに、コマンドに対する応答を返す。
【００４５】
ＰＳＵ３５１は、ＩＯＭ３１０，３２０に対して、例えば５Ｖの直流電源を供給する。ＰＳＵ３５２は、ＨＤＤ３３１〜３３６に対して、例えば１２Ｖの直流電源を供給する。ＰＳＵ３５２は、ＨＤＤ３３１〜３３６が備えるモータを駆動するために、ＰＳＵ３５１より大きな電源電圧を出力する。
【００４６】
ここで、図５は、ＤＥループの構成例を示す図である。
前述のように、本実施の形態のストレージシステム１００では、複数のＤＥがＤＥループを構成する。ＤＥループは、ＣＭ２０１ａ，２０１ｂのそれぞれに対して直列に連結されたＤＥの一群であり、図２に示したように、ＤＥ３００ａ〜３００ｃおよびＤＥ３００ｄ〜３００ｆがそれぞれ個別のＤＥループを構成する。
【００４７】
図５では例として、ＤＥ３００ａ〜３００ｃで構成されるＤＥループの接続関係を示している。ＤＥ３００ａのＩＯＭ３１０は、ＣＭ２０１ａのＳＡＳエクスパンダ２１７に接続され、ＤＥ３００ａのＩＯＭ３２０は、ＣＭ２０１ｂのＳＡＳエクスパンダ２１７と接続されている。
【００４８】
ＤＥ３００ｂのＩＯＭ３１０は、ＤＥ３００ａのＩＯＭ３１０を介して、ＣＭ２０１ａのＳＡＳエクスパンダ２１７と接続されている。また、ＤＥ３００ｂのＩＯＭ３２０は、ＤＥ３００ａのＩＯＭ３２０を介して、ＣＭ２０１ｂのＳＡＳエクスパンダ２１７と接続されている。
【００４９】
ＤＥ３００ｃのＩＯＭ３１０は、ＤＥ３００ｂのＩＯＭ３１０と、ＤＥ３００ａのＩＯＭ３１０とを介して、ＣＭ２０１ａのＳＡＳエクスパンダ２１７と接続されている。また、ＤＥ３００ｂのＩＯＭ３２０は、ＤＥ３００ｂのＩＯＭ３１０と、ＤＥ３００ａのＩＯＭ３２０とを介して、ＣＭ２０１ｂのＳＡＳエクスパンダ２１７と接続されている。
【００５０】
このように、ＤＥループを構成するＤＥは、ＣＭに対してシリアルな伝送路を通じて接続されている。
なお、ＣＭ２０１ａのＩＯＣ２１５は、ＣＭ２０１ａのＳＡＳエクスパンダ２１７を通じて、ＤＥ３００ａ，３００ｂ，３００ｃのそれぞれが備えるＨＤＤにアクセスできるとともに、他方のＣＭ２０１ｂのＳＡＳエクスパンダ２１７を通じて、ＤＥ３００ａ，３００ｂ，３００ｃのそれぞれが備えるＨＤＤにアクセスすることもできる。このように、ＣＭ２０１ａと、ＤＥループを構成するＤＥとを接続する伝送路が冗長化されることで、ＣＭ２０１ａからＤＥループ内の各ＨＤＤへのアクセス処理の信頼性が向上する。
【００５１】
また、ＣＭ２０１ｂについても同様に、ＣＭ２０１ｂのＩＯＣ２１５と、ＤＥループ内の各ＤＥとを接続する伝送路は、ＣＭ２０１ｂのＳＡＳエクスパンダ２１７を通る経路と、他方のＣＭ２０１ａのＳＡＳエクスパンダ２１７を通る経路とに冗長化されている。これにより、ＣＭ２０１ｂからＤＥループ内の各ＨＤＤへのアクセス処理の信頼性が向上する。
【００５２】
次に、ＣＭ２０１ａが保持する情報について説明する。ＣＭ２０１ａが備えるフラッシュメモリ２１３には、デバイス管理テーブルおよびＲＡＩＤ管理テーブルが格納される。
図６は、デバイス管理テーブルに登録される情報の例を示す図である。
【００５３】
デバイス管理テーブル２２０は、ＣＭ２０１ａに接続されたデバイスの状態を示す情報を保持するテーブルである。デバイス管理テーブル２２０には、デバイスを識別する「デバイス名」に対応付けて、「デバイスステータス」が登録される。
【００５４】
「デバイス名」に登録されるデバイスとしては、ＣＭ２０１ａに接続されたＤＥ内のＩＯＭおよびＨＤＤがある。デバイス管理テーブル２２０において、ＩＯＭおよびＨＤＤはＤＥごとに分類され、さらに、ＤＥはＤＥループごとに分類されている。例えば、図６中の「ＤＥ＃００」「ＤＥ＃０１」「ＤＥ＃０２」は、それぞれ図２中のＤＥ３００ａ，３００ｂ，３００ｃに対応し、１つのＤＥループを構成する。また、図６中の「ＩＯＭ＃０００」「ＩＯＭ＃００１」「Ｄｉｓｋ＃０００」は、それぞれＤＥ３００ａ内のＩＯＭ３１０、ＩＯＭ３２０、ＨＤＤ３４１に対応する。
【００５５】
「デバイスステータス」は、対応するデバイスが使用可能な状態か否かを示すフラグ情報である。対応するデバイスが使用可能である場合、「デバイスステータス」は「１」である一方、対応するデバイスが使用不可能な状態である場合、「デバイスステータス」は「０」である。ＣＭ２０１ａは、「デバイスステータス」を「１」から「０」にすることで、対応するデバイスをＣＭ２０１ａから切り離す。逆に、ＣＭ２０１ａは、「デバイスステータス」を「０」から「１」にすることで、対応するデバイスをＣＭ２０１ａに組み込む。
【００５６】
なお、図６のような情報が登録されるデバイス管理テーブル２２０は、ＣＭ２０１ｂも保持している。ＣＭ２０１ａとＣＭ２０１ｂとは、例えば、それぞれ個別の情報が登録されたデバイス管理テーブル２２０を保持してもよい。あるいは、ＣＭ２０１ａが保持するデバイス管理テーブル２２０と、ＣＭ２０１ｂが保持するデバイス管理テーブル２２０とが、同期されるようにしてもよい。
【００５７】
図７は、ＲＡＩＤ管理テーブルに登録される情報の例を示す図である。
ＲＡＩＤ管理テーブル２３０は、ＲＡＩＤに関する情報を保持するテーブルである。ＲＡＩＤ管理テーブル２３０には、ＲＡＩＤグループを識別する「ＲＡＩＤグループ番号」に対応付けて、「ＲＡＩＤレベル」、「使用ディスク」、「デバイスステータス」、「冗長性ステータス」、「運用可否ステータス」および「論理ボリューム情報」が登録される。
【００５８】
「ＲＡＩＤレベル」には、ＲＡＩＤグループに設定されたＲＡＩＤレベルが登録される。
「使用ディスク」には、ＤＥ３００ａ〜３００ｆ内のＨＤＤのうち、ＲＡＩＤグループで使用されるＨＤＤを識別する情報が登録される。「使用ディスク」には、通常、１つのＲＡＩＤグループに対して複数のＨＤＤが登録される。
【００５９】
「デバイスステータス」は、「使用ディスク」が示すＨＤＤの状態を示すフラグである。「デバイスステータス」に登録される値は、デバイス管理テーブル２２０において同じＨＤＤに対応付けられた「デバイスステータス」と同じになる。
【００６０】
「冗長性ステータス」は、ＲＡＩＤグループにおいてデータに冗長性があるか否かを示す。データに冗長性がある場合、「冗長性ステータス」は「１」である一方、データに冗長性がない場合、「冗長性ステータス」は「０」である。「データに冗長性がある」とは、ＲＡＩＤグループの物理領域を構成する複数のＨＤＤのいずれか１つが使用不能の場合でも、データの復元が可能である状態を言う。例えば、ＲＡＩＤ管理テーブル２３０において、「ＲＡＩＤレベル」にＲＡＩＤ１，４，５のいずれかが設定されたＲＡＩＤグループに対応付けられた複数のＨＤＤのうち、１つでも「デバイスステータス」が「０」であれば、データに冗長性はない。
【００６１】
「運用可否ステータス」は、ＲＡＩＤグループの運用が可能か否かを示す。ＲＡＩＤグループの運用が可能である場合、「運用可否ステータス」は「１」である一方、ＲＡＩＤグループの運用が不可能である場合、「運用可否ステータス」は「０」である。ＲＡＩＤグループの運用が可能か否かは、基本的に、ＲＡＩＤグループを構成するＨＤＤのうち「デバイスステータス」が「０」であるＨＤＤの数によって決まる。例えば、ＲＡＩＤ管理テーブル２３０において、「ＲＡＩＤレベル」にＲＡＩＤ１，４，５のいずれかが設定されたＲＡＩＤグループに対応付けられた複数のＨＤＤのうち、２つ以上のＨＤＤについて「デバイスステータス」が「０」である場合は、ＲＡＩＤグループの運用は不可能である。
【００６２】
なお、「ＲＡＩＤレベル」にＲＡＩＤ１，４，５のいずれかが設定されたＲＡＩＤグループでは、「デバイスステータス」が「０」であるＨＤＤが１つのみの場合、「冗長性ステータス」は「０」になるものの、「運用可否ステータス」は「１」になる。この場合、データに冗長性がない状態のまま、ＲＡＩＤグループの運用を続行可能である。
【００６３】
「論理ボリューム情報」には、ＲＡＩＤグループに対して設定された論理ボリュームに関する情報が登録される。論理ボリュームに関する情報としては、例えば、設定された論理ボリュームの番号、論理ボリュームとして使用されるＨＤＤ上の物理領域の位置情報などがある。
【００６４】
次に、図８は、ＣＭが備える処理機能の例を示すブロック図である。なお、ＣＭ２０１ａとＣＭ２０１ｂは、ともに同様の処理を実行可能であるので、以下、代表してＣＭ２０１ａについて説明する。
【００６５】
ＣＭ２０１ａは、アクセス制御部２４０、ＨＤＤリカバリ制御部２５０およびＤＥリカバリ制御部２６０を備える。アクセス制御部２４０、ＨＤＤリカバリ制御部２５０およびＤＥリカバリ制御部２６０の処理は、例えば、ＣＭ２０１ａのＣＰＵ２１１が所定のプログラムを実行することで実現される。
【００６６】
アクセス制御部２４０は、ホスト装置４００からの要求に応じて、ＤＥ３００ａ〜３００ｆ内のＨＤＤにアクセスする。アクセス制御部２４０は、ＲＡＩＤ管理テーブル２３０に設定された論理ボリュームに含まれるデータに対するアクセス要求をホスト装置４００から受け付け、ＲＡＩＤ管理テーブル２３０の「論理ボリューム情報」に登録された情報を基に、アクセスを要求されたデータにアクセスする。
【００６７】
また、アクセス制御部２４０は、ＲＡＩＤ管理テーブル２３０の情報に基づいて、ＤＥ３００ａ〜３００ｆ内のＨＤＤに記録するデータをＲＡＩＤによって管理する。アクセス制御部２４０は、データのアクセス要求を受けた場合、ＲＡＩＤ管理テーブル２３０内の「デバイスステータス」、「冗長性ステータス」および「運用可否ステータス」を基に、ＨＤＤへのアクセスを制御する。
【００６８】
例えば、「ＲＡＩＤレベル」にＲＡＩＤ４，５のいずれかが設定されている場合のデータ読み出し処理は、次のように行われる。なお、アクセス制御部２４０は、「運用可否ステータス」が「１」である場合にのみ、ＲＡＩＤグループに含まれる論理ボリューム内のデータにアクセスすることができる。
【００６９】
「使用ディスク」が示すすべてのＨＤＤの「デバイスステータス」が「１」であり、「冗長性ステータス」および「運用可否ステータス」がともに「１」である場合、アクセス制御部２４０は、「使用ディスク」が示すいずれかのＨＤＤからデータを読み出す。
【００７０】
「使用ディスク」が示すＨＤＤのうち１つのＨＤＤの「デバイスステータス」が「０」であり、「冗長性ステータス」が「０」、「運用可否ステータス」が「１」である場合、アクセス制御部２４０は、次のいずれかの読み出し処理を行う。アクセス制御部２４０は、「使用ディスク」が示すＨＤＤのうち「デバイスステータス」が「１」であるいずれかのＨＤＤからデータを読み出す。あるいは、アクセス制御部２４０は、「使用ディスク」が示すＨＤＤのうち「デバイスステータス」が「１」であるすべてのＨＤＤからデータおよびパリティを読み出し、読み出したデータおよびパリティを基に読み出し対象のデータを復元する。
【００７１】
また、アクセス制御部２４０は、書き込みや読み出しなどを要求するコマンドをＨＤＤに送信したとき、ＨＤＤから返信されたセンス情報から、ＨＤＤがスピンダウンしたと判定すると、スピンダウンしたＨＤＤの識別情報をＨＤＤリカバリ制御部２５０に通知する。なお、アクセス制御部２４０は、例えば、ＨＤＤから返信されたセンス情報を構成するＳＫ（Sense Key）／ＡＳＣ（Additional Sense Code）／ＡＳＣＱ（Additional Sense Code Qualifier）の組合せが、「０２ｈ／０４ｈ／０１ｈ」または「０２ｈ／０４ｈ／０２ｈ」（「ｈ」は１６進数表記を示す）のとき、ＨＤＤがスピンダウンしたと判定する。
【００７２】
ＨＤＤリカバリ制御部２５０およびＤＥリカバリ制御部２６０は、ともに、スピンダウンしたＨＤＤを復旧させる処理を実行する。ＨＤＤリカバリ制御部２５０は、前述したスピンダウンリカバリ処理を実行することで、スピンダウンしたＨＤＤを復旧させる。スピンダウンリカバリ処理では、ＨＤＤの切り離しや、ＨＤＤに対するスピンアップ要求、ＨＤＤの再組み込みなどの処理が、スピンダウンしたＨＤＤごとに個別に行われる。一方、ＤＥリカバリ制御部２６０は、スピンダウンしたＨＤＤをＤＥ単位で復旧させる。ＤＥリカバリ制御部２６０は、スピンダウンしたＨＤＤを所定数以上含むＤＥ群を一定時間切り離す。ＤＥリカバリ制御部２６０によってＤＥ群が一定時間切り離されている間、切り離されたＤＥ内のＨＤＤは、ＩＯＭによる自動スピンアップ処理によってスピンアップされる。
【００７３】
図９は、ＨＤＤリカバリ制御部の内部構成例を示す図である。ＨＤＤリカバリ制御部２５０は、スピンダウン検知部２５１と、リカバリ処理部２５２とを備える。
ＨＤＤリカバリ制御部２５０は、ＣＭ２０１ａのＲＡＭ２１２内にスピンダウンリスト２５３を生成する。ＨＤＤリカバリ制御部２５０は、アクセス制御部２４０からスピンダウンしたＨＤＤの識別情報が通知されると、スピンダウンしたＨＤＤの識別情報をスピンダウンリスト２５３に登録する。
【００７４】
リカバリ処理部２５２は、スピンダウンリスト２５３に登録されたＨＤＤのそれぞれについて、前述したスピンダウンリカバリ処理を実行する。リカバリ処理部２５２は、スピンダウンリスト２５３にＨＤＤが登録されるたびに、登録されたＨＤＤに対応するリカバリタスク２５２ａを起動する。また、リカバリ処理部２５２は、ＣＭ２０１ａのＲＡＭ２１２に、起動したリカバリタスク２５２ａにそれぞれ対応するワークエリア２５４を確保し、リカバリタスク２５２ａの実行に必要な各種データを、実行するリカバリタスク２５２ａに対応するワークエリア２５４に格納する。
【００７５】
リカバリタスク２５２ａは、処理対象のＨＤＤを切り離す処理、処理対象のＨＤＤにスピンアップを要求するコマンドを発行する処理、および、処理対象のＨＤＤを再度組み込む処理を含む。これらの処理のうち、ＨＤＤを切り離す処理では、デバイス管理テーブル２２０において、処理対象のＨＤＤに対応する「デバイスステータス」が「１」から「０」に更新されるとともに、ＲＡＩＤ管理テーブル２３０において、処理対象のＨＤＤに対応する「デバイスステータス」も同様に「１」から「０」に更新される。さらに、ＲＡＩＤ管理テーブル２３０において、処理対象のＨＤＤが属するＲＡＩＤグループに対応する「冗長性ステータス」および「運用可否ステータス」も、必要に応じて更新される。
【００７６】
ここで、スピンダウンしたＨＤＤを切り離しても「運用可否ステータス」が「１」のままである場合には、切り離したＨＤＤが属するＲＡＩＤグループの運用を続行できる。すなわち、スピンダウンリカバリ処理は、ＲＡＩＤグループの運用をできる限り継続しながら、スピンダウンしたＨＤＤを復旧させることを可能にする処理である。
【００７７】
なお、リカバリ処理部２５２は、ＤＥリカバリ制御部２６０から、割り込みを受け付ける場合がある。後述するように、ＤＥリカバリ制御部２６０は、割り込みを発生する際には、ＤＥループを識別する情報をリカバリ処理部２５２に通知する。リカバリ処理部２５２は、割り込みを受け付けたとき、ＤＥリカバリ制御部２６０から通知されたＤＥループに設けられたＨＤＤについてのリカバリタスク２５２ａを実行中である場合には、そのリカバリタスク２５２ａの実行を中断する。
【００７８】
なお、ＣＭ２０１ａのＤＥリカバリ制御部２６０の詳細については、後の図１３において説明する。
次に、ストレージシステム１００内のＰＳＵの動作について説明する。図１０は、ＰＳＵにおける入力電圧と出力電圧の関係について示す図である。
【００７９】
ＣＥ２００が備えるＰＳＵ２０２、および、ＤＥ３００ａ〜３００ｆがそれぞれ備えるＰＳＵ３５１，３５２は、外部から供給される直流または交流電源を、それぞれ所定の電圧の直流電源に変換する。前述のように、ＰＳＵ２０２，３５１は５Ｖの直流電源を出力し、ＰＳＵ３５２は１２Ｖの直流電源を出力する。
【００８０】
また、ＰＳＵに入力される電源は、例えば雷などの影響によって、瞬断する（すなわち、電源電圧が一時的に低下する）ことがある。各ＰＳＵは、外部から入力される電源が瞬断した場合でも、電源電圧が所定値以下である時間が所定時間以内であれば、出力電圧を一定値に維持することができる。例えば、時刻Ｔ１にＰＳＵへの入力電圧が所定値以下に低下したとすると、図１０中の「ケース１」のように、電圧が所定値以下である時間が限界時間ｔ０以下の場合は、ＰＳＵからの出力電圧は変化しない。しかし、図１０中の「ケース２」「ケース３」のように、電圧が所定値以下である時間が限界時間ｔ０を超えた場合には、ＰＳＵからの出力電圧も低下する。ただし、「ケース２」のように、電圧が所定値以下である時間が限界時間ｔ０にある程度近い場合には、ＰＳＵからの出力電圧は一時的に低下するものの、元の電圧に戻る。逆に、「ケース３」のように、電圧が所定値以下である時間が限界時間ｔ０よりはるかに長い場合には、ＰＳＵからの出力電圧は低下したままになる。この「ケース３」は、例えば停電時などに相当する。
【００８１】
図１１は、ＰＳＵごとの限界時間について示す図である。
５Ｖ出力のＰＳＵ２０２，３５１と、１２Ｖ出力のＰＳＵ３５２とは、出力電圧を一定値に維持可能な、入力電圧が低下する限界時間が、それぞれ異なる。ＰＳＵ２０２，３５１の限界時間ｔ１は、ＰＳＵ３５２の限界時間ｔ２より長い。
【００８２】
ここで、ＰＳＵ２０２，３５１，３５２のそれぞれに対する入力電圧が、時刻Ｔ２から時間ｔだけ所定値以下に低下した場合を考える。入力電圧が所定値以下に低下した時間ｔが、ＰＳＵ２０２，３５１の限界時間ｔ１以下であるが、ＰＳＵ３５２の限界時間ｔ２より長い場合（ｔ≦ｔ１かつｔ＞ｔ２）には、図１１に示すように、ＰＳＵ２０２，３５１のそれぞれからの出力電圧は変化しないものの、ＰＳＵ３５２からの出力電圧は一時的に低下する。
【００８３】
ＰＳＵ３５２からの出力電圧が一時的に低下すると、その電圧低下時間によっては、ＰＳＵ３５２から供給される電源によって動作するＨＤＤはスピンダウンする場合がある。あるＤＥ内のＰＳＵ３５２からの出力電圧が一時的に低下すると、そのＤＥ内の複数のＨＤＤがスピンダウンすることもあり得る。一方、図１１のようなケースでは、ＰＳＵ３５２からの出力電圧は低下しないので、ＰＳＵ３５２から供給される電源によって動作するＩＯＭは、正常に動作し続ける。同様に、図１１のようなケースでは、ＰＳＵ２０２からの出力電圧も低下しないので、ＰＳＵ２０２から供給される電源によって動作するＣＭも、正常に動作し続ける。
【００８４】
この図１１のようなケースでは、ＣＭからＩＯＭを通じてＨＤＤにコマンドを送信できるものの、コマンド送信先のＨＤＤがスピンダウンしていることがあり得る。コマンド送信先のＨＤＤがスピンダウンしている場合、コマンド送信先のＨＤＤのコントローラ回路は、コマンド送信元のＣＭに対して、スピンダウンしていることを判定可能なセンス情報を返信する。図８に示したアクセス制御部２４０は、ＨＤＤから受信したセンス情報からＨＤＤがスピンダウンしていることを判定すると、その旨をＨＤＤリカバリ制御部２５０に通知する。通知を受けたＨＤＤリカバリ制御部２５０は、前述のスピンダウンリカバリ処理を実行することで、スピンダウンしたＨＤＤを復旧させる。
【００８５】
ところで、ＤＥ内のＩＯＭも、同じＤＥ内のＨＤＤをスピンアップさせる「自動スピンアップ処理」を実行可能である。ＩＯＭは、ＰＳＵ３５２からＨＤＤの電源供給が停止状態から復旧したときに、自動スピンアップ処理を実行する。
【００８６】
図１２は、自動スピンアップ処理について示す図である。この図１２では、例としてＤＥ３００ａでの自動スピンアップ処理について示す。
ＤＥ３００ａにおいて、ＩＯＭ３１０の電源監視部３１２は、ＰＳＵ３５２からＨＤＤ３３１〜３３６に対して供給されている電源の電圧が、所定のしきい値未満の状態からしきい値以上に上昇したことを検出すると、ＨＤＤへの電源供給が回復したことを制御部３１３に通知する。
【００８７】
制御部３１３は、電源監視部３１２から電源供給回復の通知を受けると、ＤＥ３００ａ内のＨＤＤ３３１〜３３６のすべてに対して、スピンアップを要求するコマンドを送信する。なお、スピンアップを要求するためのＳＣＳＩコマンドは、コード「１Ｂｈ」のコマンドである。
【００８８】
ここで、電源監視部３１２が電源供給回復を検出するケースとしては、図１１に示したように、外部からＰＳＵ３５２への電源供給が瞬断したことにより、ＰＳＵ３５２からの出力電圧が一時的に低下した場合を含む。また、停電などから復旧したことによりＰＳＵ３５１からの電源供給が再開された場合も含む。これらいずれの場合でも、ＤＥ３００ａ内のＨＤＤ３３１〜３３６のうちスピンダウンしたＨＤＤは、ＣＭからのコマンドを受けることなく、ＩＯＭ３１０からのコマンドに応じてスピンアップすることができる。
【００８９】
次に、ＣＭ２０１ａにおいてＨＤＤのスピンダウンが検出された場合の処理について説明する。
図９で説明したように、ＣＭ２０１ａのアクセス制御部２４０がＨＤＤにアクセスしたときに、アクセス先のＨＤＤがスピンダウンしていることが検出された場合、ＨＤＤリカバリ制御部２５０は、スピンダウンしたＨＤＤに対するスピンダウンリカバリ処理を実行する。複数のＨＤＤのスピンダウンが検出された場合には、スピンダウンリスト２５３に複数のＨＤＤが登録され、登録されたＨＤＤのそれぞれについてリカバリタスク２５２ａが起動する。
【００９０】
このようなＨＤＤリカバリ制御部２５０の処理では、スピンダウンしたＨＤＤが多くなるほど、多数のリカバリタスク２５２ａが起動するため、ＣＭ２０１ａのＣＰＵ２１１の処理負荷が高くなるという問題がある。ＣＭ２０１ａのＣＰＵ２１１の処理負荷が高くなると、アクセス制御部２４０によるアクセス処理速度が著しく低下する、あるいは、スピンダウンしたＨＤＤ１台当たりの復旧に要する時間が長くなるといった事態を招く。
【００９１】
また、起動するリカバリタスク２５２ａが多くなるほど、ＲＡＭ２１２に多くのワークエリア２５４が確保される。ＲＡＭ２１２の容量が足りなくなってワークエリア２５４が確保できない場合には、スピンダウンリカバリ処理が停滞してしまう可能性がある。さらに、アクセス制御部２４０によるアクセス処理など、スピンダウンリカバリ処理以外の処理を実行できなくなる場合もあり得る。
【００９２】
ここで、例えば、ＨＤＤのスピンダウンの原因が、そのＨＤＤに対するＰＳＵ３５２からの電源の瞬断にある場合には、そのＨＤＤが搭載されたＤＥ内の多数のＨＤＤがスピンダウンしている可能性が高い。このような場合、アクセス制御部２４０によって多数のＨＤＤのスピンダウンが検出され、ＨＤＤリカバリ制御部２５０によって多数のリカバリタスク２５２ａが起動してしまう。
【００９３】
特に、図１１に示したように、ＩＯＭへの電源電圧は低下しなかったものの、同じＤＥ内のＨＤＤへの電源電圧は瞬断したケースでは、アクセス制御部２４０は、正常に動作し続けているＩＯＭを通じて、ＨＤＤへのアクセスが可能になってしまう。このため、アクセス制御部２４０は、アクセスに対する応答から多数のＨＤＤがスピンダウンしていることを検出してしまう可能性が高い。
【００９４】
そこで、ＣＭ２０１ａのＤＥリカバリ制御部２６０は、スピンダウンしているＨＤＤをＤＥループ単位でカウントし、カウント値が所定数に達した場合に、ＤＥループ内のＤＥのうちＨＤＤがスピンダウンしているＨＤＤを含むＤＥを一定時間切り離す。ＤＥを切り離している間、切り離されたＤＥでは、ＩＯＭによって前述の自動スピンアップ処理が実行される。すなわち、スピンダウンしている多数のＨＤＤをＤＥ側の処理によって復旧させることで、ＣＭ２０１ａの処理負荷を高めることなく、多数のＨＤＤを復旧させることができるようにする。
【００９５】
図１３は、ＤＥリカバリ制御部の内部構成例を示す図である。ＤＥリカバリ制御部２６０は、カウント部２６１と、切り離し制御部２６２とを備える。
カウント部２６１は、デバイス管理テーブル２２０を参照しながら、スピンダウンしているＨＤＤの数を、ＤＥループごとにカウントする。カウント部２６１は、スピンダウンしているＨＤＤの数を、スピンダウンリスト２５３に登録されたＨＤＤの数をカウントすることによって判定する。本実施の形態では、カウント部２６１は、ＤＥ３００ａ〜３００ｃを含むＤＥループについてのカウント値Ｃ０と、ＤＥ３００ｄ〜３００ｆを含むＤＥループについてのカウント値Ｃ１とをカウントする。カウント値Ｃ０，Ｃ１は、例えば、ＣＭ２０１ａのＲＡＭ２１２に記憶される。
【００９６】
切り離し制御部２６２は、カウント部２６１によるカウント値が所定数に達した場合に、そのカウント値に対応するＤＥループに含まれるＤＥのうち、スピンダウンしたＨＤＤを含むＤＥを、ＣＭ２０１ａから切り離す。このとき、切り離し制御部２６２は、スピンダウンしたＨＤＤを含むＤＥのうち最もＣＭ２０１ａに近いＤＥのＩＯＭのみを切り離す。また、切り離し制御部２６２は、ＨＤＤリカバリ制御部２５０のリカバリ処理部２５２に対して割り込みを行い、切り離したＤＥに含まれるＨＤＤについてのリカバリタスク２５２ａを中断させる。
【００９７】
切り離し制御部２６２は、カウント値が所定数に達してから一定時間が経過すると、切り離したＤＥの再組み込みを行う。このとき、切り離し制御部２６２は、リカバリタスク２５２ａを中断させたＨＤＤについて、ＲＡＩＤのリビルドを行うように、ＨＤＤリカバリ制御部２５０のリカバリ処理部２５２に要求する。また、切り離し制御部２６２は、再組み込みを行ったＤＥに含まれるＨＤＤを、スピンダウンリスト２５３から消去する。
【００９８】
ここで、図１４は、切り離し制御部による処理の一例を示す図である。
図１４では、ＤＥループを構成するＤＥ３００ａ〜３００ｃ内のＨＤＤのうち、スピンダウンしたＨＤＤが所定のしきい値に達した場合の状態を示している。図１４では例として、ＤＥ３００ｂ内のＨＤＤ３３１〜３３３と、ＤＥ３００ｃ内のＨＤＤ３３１，３３２とがスピンダウンしているものとする。
【００９９】
このとき、ＣＭ２０１ａの切り離し制御部２６２は、スピンダウンしているＨＤＤが搭載されたＤＥのうち、最もＣＭ２０１ａに近いＤＥ３００ｂに設けられたＩＯＭ３１０，３２０を切り離す。これにより、ＤＥ３００ｂ，３００ｃは使用不許可状態になるが、ＣＭ２０１ａ，２０１ｂからＤＥ３００ａのＨＤＤへのアクセスは可能になり、ストレージシステム１００の運用をできる限り継続させることができる。
【０１００】
次に、ＣＭ２０１ａのＨＤＤリカバリ制御部２５０およびＤＥリカバリ制御部２６０の処理について、フローチャートを用いて説明する。まず、図１５は、ＨＤＤリカバリ制御部のリカバリ処理部の処理手順の例を示すフローチャートである。
【０１０１】
［ステップＳ１１］ＣＭ２０１ａのスピンダウン検知部２５１によって、スピンダウンリスト２５３に新たなＨＤＤが登録されると、ＣＭ２０１ａのリカバリ処理部２５２は、スピンダウンリスト２５３に新たに登録されたＨＤＤを選択する。リカバリ処理部２５２は、選択したＨＤＤについてのリカバリタスク２５２ａ（ステップＳ１２〜Ｓ１８の処理）を実行する。
【０１０２】
［ステップＳ１２］リカバリ処理部２５２は、ＣＭ２０１ａのＲＡＭ２１２にワークエリア２５４を確保する。リカバリ処理部２５２は、次のステップＳ１３以降の処理を、確保したワークエリア２５４を利用して実行する。
【０１０３】
［ステップＳ１３］リカバリ処理部２５２は、デバイス管理テーブル２２０において、ステップＳ１１で選択したＨＤＤに対応付けられた「デバイスステータス」を、「１」から「０」に更新することで、ＨＤＤを切り離す。また、リカバリ処理部２５２は、ＲＡＩＤ管理テーブル２３０において、切り離したＨＤＤに対応付けられた「デバイスステータス」を、「１」から「０」に更新する。このとき、リカバリ処理部２５２は、切り離したＨＤＤが属するＲＡＩＤグループに対応付けられた「ＲＡＩＤレベル」と、このＲＡＩＤグループに属する他のＨＤＤについての「デバイスステータス」とに基づいて、このＲＡＩＤグループに対応付けられた「冗長性ステータス」および「運用可否ステータス」を必要に応じて更新する。
【０１０４】
例えば、「ＲＡＩＤレベル」がＲＡＩＤ１，４，５のいずれかであるとき、リカバリ処理部２５２は、切り離したＨＤＤと同じＲＡＩＤグループに属する他のＨＤＤのすべてについて、「デバイスステータス」が「１」である場合には、「冗長性ステータス」を「０」に更新するものの、「運用可否ステータス」を「１」のままにする。これにより、切り離したＨＤＤを使用しない状態でＲＡＩＤグループの運用が継続される。
【０１０５】
また、「デバイスステータス」を「０」に更新したＨＤＤと同じＲＡＩＤグループに属する他のＨＤＤのうち、１つでも「デバイスステータス」が「０」であるＨＤＤがある場合には、「運用可否ステータス」を「１」から「０」に更新する。これにより、ＲＡＩＤグループの運用は停止される。なお、「運用可否ステータス」がすでに「０」であれば、リカバリ処理部２５２は「運用可否ステータス」を「０」のまま更新しない。
【０１０６】
［ステップＳ１４］リカバリ処理部２５２は、ステップＳ１３で切り離したＨＤＤに対して、スピンアップを要求するコマンドを送信する。これにより、切り離されたＨＤＤがスピンアップする。
【０１０７】
［ステップＳ１５］リカバリ処理部２５２は、デバイス管理テーブル２２０において、ステップＳ１３で切り離したＨＤＤに対応付けられた「デバイスステータス」を「０」から「１」に更新することで、切り離したＨＤＤの再組み込みを行う。また、リカバリ処理部２５２は、ＲＡＩＤ管理テーブル２３０において、ステップＳ１３で切り離したＨＤＤに対応付けられた「デバイスステータス」を「０」から「１」に更新する。
【０１０８】
［ステップＳ１６］ステップＳ１５におけるＲＡＩＤ管理テーブル２２０内の「デバイスステータス」の更新処理により、再組み込みを行ったＨＤＤが属するＲＡＩＤグループにおいて、データに冗長性がない状態から冗長性がある状態に移行できる場合、リカバリ処理部２５２は、リビルド処理を実行する。リビルド処理は、ＲＡＩＤグループに属する論理ボリューム内のデータについて、データのコピーやパリティの再計算などを行うことで、論理ボリューム内の最新の記録データに冗長性を持たせるようにする処理である。なお、リビルド処理は、少なくとも、再組み込みを行ったＨＤＤが属するＲＡＩＤグループに対応付けられた「冗長性ステータス」および「運用可否ステータス」が、それぞれ「０」「１」である場合に実行される。
【０１０９】
例えば、ＲＡＩＤ１の場合、リビルド処理では、組み込み済みであった一方のＨＤＤから、再組み込みされたＨＤＤに対してデータのコピーが行われる。また、ＲＡＩＤ４，５の場合、リビルド処理では、パリティの再計算およびデータの再配置が行われる。リカバリ処理部２５２は、リビルド処理が完了すると、ＲＡＩＤ管理テーブル２３０において、再組み込みを行ったＨＤＤが属するＲＡＩＤグループに対応付けられた「冗長性ステータス」を、「０」から「１」に更新する。
【０１１０】
なお、ステップＳ１５においてＨＤＤの再組み込みを行ったことにより、データに冗長性がない状態でＲＡＩＤグループの運用を再開できる場合には、リカバリ処理部２５２は、ＲＡＩＤ管理テーブル２３０において、再組み込みを行ったＨＤＤが属するＲＡＩＤグループに対応付けられた「運用可否ステータス」を、「０」から「１」に更新する。このとき、同じＲＡＩＤグループに対応付けられた「冗長性ステータス」は「０」のままになる。
【０１１１】
また、ステップＳ１５においてＨＤＤの再組み込みを行っても、再組み込みを行ったＨＤＤが属するＲＡＩＤグループにおいてデータに冗長性を持たせられない場合には、ステップＳ１６の処理はスキップされる。この場合、再組み込みを行ったＨＤＤが属するＲＡＩＤグループに対応付けられた「冗長性ステータス」および「運用可否ステータス」は、ともに「０」のままになる。
【０１１２】
［ステップＳ１７］リカバリ処理部２５２は、再組み込みを行ったＨＤＤを、スピンダウンリスト２５３から消去する。
［ステップＳ１８］リカバリ処理部２５２は、ステップＳ１２で確保したワークエリア２５４を解放し、リカバリタスク２５２ａを終了する。
【０１１３】
なお、ＤＥリカバリ制御部２６０の切り離し制御部２６２から、ＨＤＤリカバリ制御部２５０に対して割り込みが発生した場合、リカバリ処理部２５２は、リカバリタスクの実行を中断する。
【０１１４】
ここで、図１６は、割り込み発生時におけるリカバリタスクの処理手順の例を示すフローチャートである。なお、図１６の処理は、リカバリタスク２５２ａの実行対象であるＨＤＤごとに実行される。
【０１１５】
［ステップＳ３１］リカバリ処理部２５２は、ある１つのＨＤＤを処理対象としたリカバリタスク２５２ａの実行中に、その処理対象のＨＤＤが属するＤＥループを指定した割り込みを切り離し制御部２６２から受信すると、リカバリタスク２５２ａの実行を中断する。
【０１１６】
［ステップＳ３２］リカバリ処理部２５２は、切り離し制御部２６２からのリビルド要求を監視する。リビルド要求は、割り込みの解除を通知する情報である。リカバリ処理部２５２は、ステップＳ３１での処理対象のＨＤＤが属するＤＥループを指定したリビルド要求を受信すると（Ｓ３２：Ｙｅｓ）、ステップＳ３３の処理を実行する。
【０１１７】
［ステップＳ３３〜Ｓ３５］ステップＳ３３〜Ｓ３５の処理は、中断したリカバリタスク２５２ａにおける残りの処理である。ステップＳ３３，Ｓ３４，Ｓ３５の処理は、それぞれ図１５のステップＳ１５，Ｓ１６，Ｓ１８の処理と同様である。ただし、割り込みを受信したタイミングによっては、ステップＳ３３〜Ｓ３５の処理は適宜スキップされる。
【０１１８】
例えば、図１５のステップＳ１２の実行前に割り込みを受信した場合、ステップＳ３３〜Ｓ３５の処理はスキップされる。図１５のステップＳ１２まで実行された段階で割り込みを受信した場合、ステップＳ３３，Ｓ３４の処理はスキップされる。図１５のステップＳ１３まで実行された段階で割り込みを受信した場合、ステップＳ３３〜Ｓ３５の処理はスキップされずに実行される。
【０１１９】
次に、図１７は、ＤＥリカバリ制御部のカウント部の処理手順の例を示すフローチャートである。
［ステップＳ５１］ＣＭ２０１ａのカウント部２６１は、スピンダウンリスト２５３に対して新たなＨＤＤが登録されたことを検知すると、ステップＳ５２の処理を実行する。
【０１２０】
［ステップＳ５２］カウント部２６１は、デバイス管理テーブル２２０に基づき、ステップＳ５１でスピンダウンリスト２５３に新たに登録されたＨＤＤが搭載されたＤＥを特定する。カウント部２６１はさらに、デバイス管理テーブル２２０に基づき、特定したＤＥが属するＤＥループを特定する。
【０１２１】
［ステップＳ５３］カウント部２６１は、ステップＳ５２で特定したＤＥループに対応するカウント値を「１」だけカウントアップする。カウント部２６１は、ステップＳ５２で特定したＤＥループがＤＥ３００ａ〜３００ｃを含むものである場合、図１３のカウント値Ｃ０をカウントアップする。一方、カウント部２６１は、ステップＳ５２で特定したＤＥループがＤＥ３００ｄ〜３００ｆを含むものである場合、図１３のカウント値Ｃ１をカウントアップする。
【０１２２】
図１８は、ＤＥリカバリ制御部の切り離し制御部の処理手順の例を示すフローチャートである。なお、図１８の処理は、カウント値Ｃ０，Ｃ１のそれぞれについて実行される。
［ステップＳ７１］ＣＭ２０１ａの切り離し制御部２６２は、監視対象のカウント値（例えばカウント値Ｃ０）が、しきい値ｎに達したことを検知すると、ステップＳ７２の処理を実行する。
【０１２３】
［ステップＳ７２］切り離し制御部２６２は、監視対象のカウント値に対応するＤＥループに属するＤＥの中から、スピンダウンしたＨＤＤが搭載されたＤＥを特定し、特定したＤＥのうちＣＭ２０１ａに最も近いＤＥ内のＩＯＭを切り離す。この処理は、例えば次のように行われる。
【０１２４】
切り離し制御部２６２は、デバイス管理テーブル２２０に基づき、スピンダウンリスト２５３に登録されたＨＤＤの中から、監視対象のカウント値に対応するＤＥループ内のＨＤＤを特定する。この処理では、切り離し制御部２６２は、スピンダウンリスト２５３に登録されたＨＤＤを１つずつ読み込み、デバイス管理テーブル２２０に基づいて、読み込んだＨＤＤが搭載されたＤＥを特定し、さらに、特定したＤＥが属するＤＥループを特定する。切り離し制御部２６２は、特定したＤＥループが監視対象のカウント値に対応するかを判別する。
【０１２５】
次に、切り離し制御部２６２は、デバイス管理テーブル２２０に基づき、特定したＨＤＤが搭載されたＤＥの中から、ＣＭ２０１ａに最も近いＤＥを特定する。例えば、特定したＨＤＤが搭載されたＤＥのうち、デバイス管理テーブル２２０において最も上段に登録されたＤＥが、ＣＭ２０１ａに最も近いＤＥとなる。
【０１２６】
次に、切り離し制御部２６２は、デバイス管理テーブル２２０において、特定したＤＥ内のＩＯＭに対応付けられた「デバイスステータス」を、「１」から「０」に更新する。これにより、特定したＤＥ内のＩＯＭが切り離され、アクセス制御部２４０は、切り離されたＩＯＭが搭載されたＤＥ内のＨＤＤ、および、切り離されたＩＯＭの配下に直列に接続されたＤＥ内のＨＤＤに対して、アクセスできなくなる。
【０１２７】
［ステップＳ７３］切り離し制御部２６２は、リカバリ処理部２５２に対して、監視対象のカウント値に対応するＤＥループを指定した割り込みを行う。図１６で説明したように、割り込みを受信したリカバリ処理部２５２は、指定されたＤＥループ内のＨＤＤについてのリカバリタスク２５２ａを実行中であった場合には、このリカバリタスク２５２ａの実行を中断する。
【０１２８】
［ステップＳ７４］切り離し制御部２６２は、監視対象のカウント値を「０」にリセットする。
［ステップＳ７５］切り離し制御部２６２は、スピンダウンリスト２５３に登録されたＨＤＤのうち、監視対象のカウント値に対応するＤＥループ内のＨＤＤを、スピンダウンリスト２５３から消去する。このとき、スピンダウンリスト２５３からはｎ個のＨＤＤが消去される。
【０１２９】
［ステップＳ７６］切り離し制御部２６２は、ステップＳ７１でカウント値がしきい値ｎに達したことを検知してから、所定時間が経過するまで待ち状態となる。そして、所定時間が経過したとき（Ｓ７６：Ｙｅｓ）、切り離し制御部２６２は、ステップＳ７７の処理を実行する。
【０１３０】
このステップＳ７６において監視する経過時間は、ＤＥのＩＯＭが、ＨＤＤに対する供給電圧の復帰を検出してから自動スピンアップ処理が完了するまでの時間以上の長さとされる。切り離し制御部２６２が待ち状態の間、ステップＳ７２で切り離したＩＯＭと、このＩＯＭの配下に直列に接続されたＤＥ内のＩＯＭとが、それぞれ自動スピンアップ処理を実行する。同じＤＥループ内の複数のＤＥにおいてＨＤＤがスピンダウンした場合には、複数のＤＥのそれぞれが備えるＩＯＭが、自動スピンアップ処理を並列に実行することになる。そして、ステップＳ７６で所定時間が経過したと判定されたとき、ステップＳ７２で切り離したＩＯＭと同じＤＥ内のすべてのＨＤＤと、切り離したＩＯＭの配下に直列に接続されたＤＥ内のすべてのＨＤＤとが、スピンアップした状態になる。
【０１３１】
［ステップＳ７７］切り離し制御部２６２は、デバイス管理テーブル２２０において、ステップＳ７２で切り離したＩＯＭについての「デバイスステータス」を「０」から「１」に更新することで、切り離したＩＯＭの再組み込みを行う。
【０１３２】
なお、上記のステップＳ７４，Ｓ７５の処理は、ステップＳ７１でカウント値がしきい値ｎに達したことを検知してから、ステップＳ７７の再組み込み処理の実行を開始する前までの期間であれば、どのタイミングで実行されてもよい。
【０１３３】
［ステップＳ７８］切り離し制御部２６２は、リカバリ処理部２５２に対して、監視対象のカウント値に対応するＤＥループを指定したリビルドを要求して、割り込みを解除する。リビルド要求を受けた切り離し制御部２６２は、図１６のステップＳ３３〜Ｓ３５に示した処理を実行する。これにより、リカバリタスク２５２ａの実行開始によって切り離されていたＨＤＤの再組み込みが行われる。ＨＤＤの再組み込みが行われることにより、「冗長性ステータス」が「０」のまま運用されていたＲＡＩＤグループにおいて、データに冗長性を持たせることができる場合や、運用を停止していたＲＡＩＤグループの運用を再開できる場合がある。
【０１３４】
以上説明したストレージシステム１００では、電源供給の断絶などによって多数のＨＤＤがスピンダウンした場合に、ＣＭ側でなく、スピンダウンしたＨＤＤと同じＤＥに搭載されたＩＯＭの処理によって、ＨＤＤをスピンアップさせることができる。また、多数のＨＤＤがスピンダウンした場合、ＣＭは主に、ＩＯＭの切り離しおよび再組み込み（具体的には「デバイスステータス」の更新）という簡単な処理を実行する。
【０１３５】
このため、多数のＨＤＤがスピンダウンした場合でも、ＣＭの処理負荷が極端に高くなることなく、ＨＤＤをスピンアップさせることができる。ＨＤＤをスピンアップさせるためのＣＭの処理負荷が軽減することで、ＨＤＤを復旧させながら、切り離されていないＤＥ内のＨＤＤに対するアクセス制御部２４０によるアクセス処理を継続できるようになり、システムの運用継続性が向上する。また、ＨＤＤがスピンアップし、スピンアップしたＨＤＤを用いてＲＡＩＤグループの運用を再開できるようになるまでの時間を短縮できる。
【０１３６】
一方、スピンダウンしたＨＤＤの数が少ない場合には、ＣＭのリカバリ処理部２５２の処理によって、ＨＤＤ単位で復旧処理が行われる。ＤＥリカバリ制御部２６０による復旧処理では、ＤＥ単位で切り離しが発生するため、スピンダウンしていないＨＤＤに対してもアクセスできなくなる場合がある。これに対して、リカバリ処理部２５２はＨＤＤ単位で復旧処理を行うことから、例えば、個々のＨＤＤでの小規模な異常によってＨＤＤが一時的にスピンダウンしたような場合には、ＲＡＩＤの運用を継続しながら、スピンダウンしたＨＤＤを復旧させることができる。
【０１３７】
なお、上記のストレージシステム１００では、例えば、停電などによって比較的長時間にわたってシステム全体に対する電源供給が断絶した後に、電源供給が復活した場合でも、ＤＥ３００ａ〜３００ｆ内のＨＤＤを、ＣＭの処理負荷を増大させることなく短時間で復旧させることができる。
【０１３８】
以上の各実施の形態に関し、さらに以下の付記を開示する。
（付記１）  複数の磁気ディスクドライブを備える磁気ディスク装置と、前記磁気ディスク装置内の磁気ディスクドライブへのアクセスを制御する制御装置とを有するストレージシステムにおいて、
前記磁気ディスク装置は、自装置内のスピンダウンした磁気ディスクドライブをスピンアップさせる第１のスピンアップ制御部を有し、
前記制御装置は、
前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブをスピンアップさせる第２のスピンアップ制御部と、
前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が所定のしきい値に達した場合に、前記磁気ディスク装置を使用不許可にし、一定時間後に前記磁気ディスク装置の使用を許可する切り離し制御部と、
を有することを特徴とするストレージシステム。
【０１３９】
（付記２）  前記第１のスピンアップ制御部は、自装置内の磁気ディスクドライブに供給される電源の電圧が所定のしきい値電圧未満から前記しきい値電圧以上に上昇したことを検出した場合に、自装置内の磁気ディスクドライブに対してスピンアップを要求することを特徴とする付記１記載のストレージシステム。
【０１４０】
（付記３）  前記切り離し制御部は、前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が前記しきい値に達した場合に、前記磁気ディスク装置が備える、前記制御装置と通信するインタフェース回路を使用不許可にすることを特徴とする付記１または２記載のストレージシステム。
【０１４１】
（付記４）  前記第２のスピンアップ制御部は、前記磁気ディスク装置内の磁気ディスクドライブへのアクセスに対する応答に基づいて、アクセス先の磁気ディスクドライブがスピンダウンしていると判定した場合に、アクセス先の磁気ディスクドライブをスピンアップさせ、
前記切り離し制御部は、前記第２のスピンアップ制御部によってスピンダウンしていると判定された磁気ディスクドライブの数が前記しきい値に達した場合に、前記磁気ディスク装置を使用不許可にする、
ことを特徴とする付記１〜３のいずれか１つに記載のストレージシステム。
【０１４２】
（付記５）  前記制御装置には、それぞれ複数の磁気ディスクドライブと前記第１のスピンアップ制御部とを備える複数の磁気ディスク装置が、直列に連結されており、
前記切り離し制御部は、前記複数の磁気ディスク装置におけるスピンダウンした磁気ディスクドライブの数が前記しきい値に達したとき、前記複数の磁気ディスク装置の中のスピンダウンした磁気ディスクドライブを備える磁気ディスク装置のうち、最も前記制御装置に近い磁気ディスク装置を使用不許可にする、
ことを特徴とする付記１または２記載のストレージシステム。
【０１４３】
（付記６）  前記切り離し制御部は、前記複数の磁気ディスク装置におけるスピンダウンした磁気ディスクドライブの数が前記しきい値に達したとき、前記複数の磁気ディスク装置の中のスピンダウンした磁気ディスクドライブを備える磁気ディスク装置のうち、最も前記制御装置に近い磁気ディスク装置が備える、前記制御装置と通信するインタフェース回路を使用不許可にすることを特徴とする付記５記載のストレージシステム。
【０１４４】
（付記７）  複数の磁気ディスクドライブを備える磁気ディスク装置に接続し、前記磁気ディスク装置内の磁気ディスクドライブへのアクセスを制御するストレージ制御装置において、
前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブをスピンアップさせるスピンアップ制御部と、
前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が所定のしきい値に達した場合に、前記磁気ディスク装置を使用不許可にし、前記磁気ディスク装置が自装置内のスピンダウンした磁気ディスクドライブをスピンアップさせるのに要する時間以上の所定時間が経過した後に、前記磁気ディスク装置の使用を許可する切り離し制御部と、
を有することを特徴とするストレージ制御装置。
【０１４５】
（付記８）  前記切り離し制御部は、前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が前記しきい値に達した場合に、前記磁気ディスク装置が備える、前記制御装置と通信するインタフェース回路を使用不許可にすることを特徴とする付記７記載のストレージ制御装置。
【０１４６】
（付記９）  前記スピンアップ制御部は、前記磁気ディスク装置内の磁気ディスクドライブへのアクセスに対する応答に基づいて、アクセス先の磁気ディスクドライブがスピンダウンしていると判定した場合に、アクセス先の磁気ディスクドライブをスピンアップさせ、
前記切り離し制御部は、前記スピンアップ制御部によってスピンダウンしていると判定された磁気ディスクドライブの数が前記しきい値に達した場合に、前記磁気ディスク装置を使用不許可にする、
ことを特徴とする付記７または８記載のストレージ制御装置。
【０１４７】
（付記１０）  前記ストレージ制御装置には、それぞれ複数の磁気ディスクドライブを備える複数の磁気ディスク装置が直列に連結されており、
前記切り離し制御部は、前記複数の磁気ディスク装置におけるスピンダウンした磁気ディスクドライブの数が前記しきい値に達したとき、前記複数の磁気ディスク装置の中のスピンダウンした磁気ディスクドライブを備える磁気ディスク装置のうち、最も前記ストレージ制御装置に近い磁気ディスク装置を使用不許可にする、
ことを特徴とする付記７記載のストレージ制御装置。
【０１４８】
（付記１１）  前記切り離し制御部は、前記複数の磁気ディスク装置におけるスピンダウンした磁気ディスクドライブの数が前記しきい値に達したとき、前記複数の磁気ディスク装置の中のスピンダウンした磁気ディスクドライブを備える磁気ディスク装置のうち、最も前記ストレージ制御装置に近い磁気ディスク装置が備える、前記ストレージ制御装置と通信するインタフェース回路を使用不許可にすることを特徴とする付記１０記載のストレージ制御装置。
【０１４９】
（付記１２）  複数の磁気ディスクドライブを備える磁気ディスク装置と、前記磁気ディスク装置内の磁気ディスクドライブへのアクセスを制御する制御装置とを有するストレージシステムにおけるストレージ制御方法であって、
前記制御装置が、前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブをスピンアップさせ、
前記磁気ディスク装置が、自装置内のスピンダウンした磁気ディスクドライブをスピンアップさせ、
前記制御装置が、前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が所定のしきい値に達した場合に、前記磁気ディスク装置を使用不許可にし、一定時間後に前記磁気ディスク装置の使用を許可する、
ことを特徴とするストレージ制御方法。
【０１５０】
（付記１３）  前記磁気ディスク装置は、自装置内の磁気ディスクドライブに供給される電源の電圧が所定のしきい値電圧未満から前記しきい値電圧以上に上昇したことを検出した場合に、自装置内の磁気ディスクドライブに対してスピンアップを要求することを特徴とする付記１２記載のストレージ制御方法。
【０１５１】
（付記１４）  前記制御装置は、前記磁気ディスク装置内のスピンダウンした磁気ディスクドライブの数が前記しきい値に達した場合、前記磁気ディスク装置が備える、前記制御装置と通信するインタフェース回路を使用不許可にすることを特徴とする付記１２または１３記載のストレージ制御方法。
【０１５２】
（付記１５）  前記制御装置は、
前記磁気ディスク装置内の磁気ディスクドライブへのアクセスに対する応答に基づいて、アクセス先の磁気ディスクドライブがスピンダウンしていると判定した場合に、アクセス先の磁気ディスクドライブをスピンアップさせ、
前記応答に基づいてスピンダウンしていると判定された磁気ディスクドライブの数が前記しきい値に達した場合に、前記磁気ディスク装置を使用不許可にする、
ことを特徴とする付記１２〜１４のいずれか１つに記載のストレージ制御方法。
【０１５３】
（付記１６）  前記制御装置には、それぞれ複数の磁気ディスクドライブを備える複数の磁気ディスク装置が直列に連結されており、
前記制御装置は、前記複数の磁気ディスク装置におけるスピンダウンした磁気ディスクドライブの数が前記しきい値に達したとき、前記複数の磁気ディスク装置の中のスピンダウンした磁気ディスクドライブを備える磁気ディスク装置のうち、最も前記制御装置に近い磁気ディスク装置を使用不許可にする、
ことを特徴とする付記１２または１３記載のストレージ制御方法。
【０１５４】
（付記１７）  前記制御装置は、前記複数の磁気ディスク装置におけるスピンダウンした磁気ディスクドライブの数が前記しきい値に達したとき、前記複数の磁気ディスク装置の中のスピンダウンした磁気ディスクドライブを備える磁気ディスク装置のうち、最も前記制御装置に近い磁気ディスク装置が備える、前記制御装置と通信するインタフェース回路を使用不許可にすることを特徴とする付記１６記載のストレージ制御方法。
【符号の説明】
【０１５５】
１  ストレージシステム
１０  磁気ディスク装置
１１ａ〜１１ｅ  ＨＤＤ
１２，２１  スピンアップ制御部
２０  制御装置
２２  切り離し制御部
【図１】
0005729084.tif 000002
【図２】
0005729084.tif 000003
【図３】
0005729084.tif 000004
【図４】
0005729084.tif 000005
【図５】
0005729084.tif 000006
【図６】
0005729084.tif 000007
【図７】
0005729084.tif 000008
【図８】
0005729084.tif 000009
【図９】
0005729084.tif 000010
【図１０】
0005729084.tif 000011
【図１１】
0005729084.tif 000012
【図１２】
0005729084.tif 000013
【図１３】
0005729084.tif 000014
【図１４】
0005729084.tif 000015
【図１５】
0005729084.tif 000016
【図１６】
0005729084.tif 000017
【図１７】
0005729084.tif 000018
【図１８】
0005729084.tif 000019