(57)【要約】  起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部と、を備える。
2012108040.tif 000002
【特許請求の範囲】
【請求項１】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部と、
を備えることを特徴とするストレージ制御装置。
【請求項２】
前記ストレージ装置は、前記起動中の第１ディスクに記憶され、且つ、前記停止中の第２ディスクに記憶されていないデータを保持するキャッシュ部を有し、
前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記制御部はさらに、前記読み出し要求に対するデータの読み出しを指示するキャッシュデータ読み出し命令を、前記ストレージ装置に送信するように前記通信部を制御して、前記キャッシュ部からデータを読み出すことを特徴とする請求項１に記載のストレージ制御装置。
【請求項３】
前記読み出し要求に対応したデータが前記キャッシュ部に保持されておらず、且つ、前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記制御部は、前記回転の開始により起動中の前記第２ディスクからデータを読み出すように前記通信部を制御して、前記第２ディスクからデータを読み出すことを特徴とする請求項２に記載のストレージ制御装置。
【請求項４】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、前記第１ディスク又は前記第２ディスクから前記読み出し要求又は書き込み要求に対する応答を受信する通信手段と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転指示手段と、
を備えることを特徴とするストレージ制御装置。
【請求項５】
前記起動中の第１ディスクに記憶され、且つ、前記停止中の第２ディスクに記憶されていないデータを保持するキャッシュ手段と、
前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記読み出し要求に対応したデータをキャッシュ手段から読み出すキャッシュ管理手段と、をさらに備えることを特徴とする請求項４に記載のストレージ制御装置。
【請求項６】
前記読み出し要求に対応したデータが前記キャッシュ手段に保持されておらず、且つ、前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記回転の開始により起動中の前記第２ディスクからデータを読み出すデータ読み出し手段をさらに備えることを特徴とする請求項５に記載のストレージ制御装置。
【請求項７】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、前記第１ディスク又は前記第２ディスクから前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する制御部と、
を備えることを特徴とするストレージ制御装置。
【請求項８】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置と、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部、及び、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部を、を有するストレージ制御装置と、
を備えることを特徴とするストレージシステム。
【請求項９】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置の制御方法であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する、
ことを特徴とする制御方法。
【請求項１０】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するためのプログラムであって、コンピュータに、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信する処理と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する処理と、
を実行させることを特徴とするプログラム。
【請求項１１】
前記ストレージ装置は、前記起動中の第１ディスクに記憶され、且つ、前記停止中の第２ディスクに記憶されていないデータを保持するキャッシュ部を有し、
前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記読み出し要求に対するデータの読み出しを指示するキャッシュデータ読み出し命令を、前記ストレージ装置に送信するように通信部を制御して、前記キャッシュ部からデータを読み出す処理を、制御部に実行させることを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記読み出し要求に対応したデータが前記キャッシュ部に保持されておらず、且つ、前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記回転の開始により起動中の前記第２ディスクからデータを読み出すように通信部を制御して、前記第２ディスクからデータを読み出す処理を、制御部に実行させることを特徴とする請求項１１に記載のプログラム。
【請求項１３】
起動中の第１ディスクと停止中の第２ディスクと制御部とを含むストレージを制御するためのプログラムであって、前記制御部に、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信する処理と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する応答を、前記第１ディスクから受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する処理と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、ストレージ装置、ストレージシステム、ストレージ制御方法、及び、そのプログラムに関する。
【背景技術】
【０００２】
使用していないハードディスク装置のディスクの回転を停止し、ストレージ装置の消費電力を削減する技術がある。この技術は、一定時間Ｉ／Ｏ（Input/Output）要求の無いディスクの回転を停止し、回転停止中のディスクに対してＩ／Ｏ要求が発生すると、ディスクの回転を再開しＩ／Ｏを行える状態にするものである。【０００３】
ただし、回転停止中のディスクに対してＩ／Ｏを行うと、ディスクの回転再開からディスクの回転が安定するまで、最大数分Ｉ／Ｏの応答が返却されない。そのため、従来は、オンライン業務システムに使用するディスクのようなＩ／Ｏ頻度の高いディスクに対しては、ディスク回転の停止を行なわず、バックアップ等のバッチ業務を行なうＩ／Ｏ頻度の低いディスクに対しては、ディスク回転の停止を行なってきた。これにより、バックアップ中以外はＩ／Ｏの発生しないバックアップ先ディスクの回転を止めて電力消費を削減し、回転を停止したディスクへのＩ／Ｏは、バッチ業務を行うことで、Ｉ／Ｏの待ち時間の影響を隠蔽していた。【０００４】
一方、オンライン業務システムに使用するディスクのようなＩ／Ｏ頻度の高いディスクに対して電力削減を行う技術がある。そのような技術は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）などにより冗長化したディスクの一部の回転を停止し、他のディスクを使用するというものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１８７４５０号公報
【特許文献２】特開２００９−２３８１５９号公報
【特許文献３】特開２００９−０４８３６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以後、説明のために、通常運用で使用するディスクを「アクティブディスク」と呼び、回転を停止するディスクを「スタンバイディスク」と呼ぶ。また、スタンバイディスク停止中に一時的に書き込みデータを溜め込む不揮発媒体を「キャッシュ」と呼ぶ。【０００７】
冗長化構成された一方のアクティブディスクに故障が生じた場合、冗長化構成されたスタンバイディスクからデータを読み込むにためには、スタンバイディスクを回転し、キャッシュに書き込まれたデータを、スタンバイディスクに反映し、データを読み出す。しかしながら、スタンバイディスクの回転が安定するまでに時間がかかるため、データの読み出し再開まで時間がかかる。【０００８】
１つの側面では、本発明は、アクティブディスク故障後のスタンバイディスク起動による応答遅延の低減を図ることを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御する。ストレージ制御装置は、前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部と、を備える。
【発明の効果】
【００１０】
アクティブディスク故障後のスタンバイディスク起動による応答遅延を減らすことができる。
【図面の簡単な説明】
【００１１】
【図１】ストレージシステムのハードウェア構成を説明する図である。
【図２】ストレージ制御装置の記憶部のメモリマップの一例を示す図である。
【図３】マッピングテーブルの一例を示す図である。
【図４】ストレージ制御装置とストレージ装置との間のデータ通信のシーケンスの一例を示すシーケンス図である。
【図５】読み出し要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。
【図６】書き込み要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。
【図７】ストレージ制御装置が有する機能構成の一例を示す図である。
【図８】ディスク制御情報の一例を示す図である。
【図９】ディスク状態管理情報の一例を示す図である。
【図１０】データマップ管理情報の一例を示す図である。
【図１１】Ｂ木のデータ構造を有するデータマップ管理情報の一例を示す図である。
【図１２】スタンバイキャッシュ状態管理情報の一例を示す図である。
【図１３】書き込み要求に従ってデータディスクにデータを追加又は更新する処理の一例を示すフローチャートである。
【図１４】キャッシュ反映情報の一例を示す図である。
【図１５】キャッシュ反映処理の一例を示すフローチャートである。
【図１６】データディスクの設定例を示す図である。
【図１７】読み出し要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。
【図１８】書き込み要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。
【図１９】ストレージ装置の変形例を示す図である。
【発明を実施するための形態】
【００１２】
以下に説明するストレージ制御装置は、複数のディスクを含むストレージ装置を制御する。ストレージ制御装置は、オンライン業務システムのようなＩ／Ｏ要求頻度の高い外部システムからＩＯ要求を受け取り、ＩＯ要求に対するストレージ装置のアクティブディスクの応答が遅延すると、スタンバイディスクの回転を開始するように動作する。
【００１３】
以下に、〔１〕ストレージシステムのハードウェア構成、〔２〕ストレージ制御装置とストレージ装置との間のデータ通信のシーケンス、〔３〕ストレージ制御装置のスタンバイディスク制御、〔４〕ストレージ制御装置の機能、〔５〕ストレージ制御装置の処理フロー、及び〔６〕ストレージ装置の変形例の順に説明する。
【００１４】
〔１〕ストレージシステムのハードウェア構成
図１は、ストレージシステムのハードウェア構成を説明する図である。図１に示すストレージシステム３００は、ストレージ装置１００、及びストレージ制御装置２００を含む。なお、ストレージシステム３００に含まれるストレージ装置は、ストレージ装置１００に限定されず、１００Ａ〜Ｃで示されるストレージ装置１００と同じ機能を有する複数のストレージ装置を含むことができる。ストレージ制御装置２００は、イーサネット（登録商標）ケーブル等のネットワークケーブル５を介して外部システム１０と接続するとともに、ＦＣ-ＡＬ（Fibre Channel Arbitrated Loop）等のネットワークケーブル１５を介してストレージ装置１００、及び、１００Ａ〜Ｃと接続する。ストレージ装置１００Ａ〜Ｃに関しては、ストレージ装置１００と同じ機能を有するため、以下におけるストレージ装置１００の説明は、ストレージ装置１００Ａ〜Ｃについても同じである。
【００１５】
ストレージ装置１００と、ストレージ制御装置２００とは、ｉＳＣＳＩ（Internet Small Computer System Interface）プロトコル等に従って互いにデータ通信する。ストレージ制御装置２００と外部システム１０も、ｉＳＣＳＩプロトコル等に従って互いにデータ通信する。
【００１６】
〔１．１〕外部システム
外部システム１０は、オンライン業務システムのように、ストレージ装置１００に対するＩ／Ｏ要求頻度の高いシステムである。外部システム１０は、アクセス対象となるデータを、ＬＵＮ（Logical Unit Number）及び論理アドレスをそれぞれ特定した「読み出し要求」又は「書き込み要求」を、ｉＳＣＳＩプロトコル等に従うメッセージとして、ストレージ制御装置２００に送信する。なお、以下において「読み出し要求」及び「書き込み要求」は、「アクセス要求」と呼び、「読み出し」及び「書き込み」を、「アクセス」と呼ぶ。
【００１７】
〔１．２〕ストレージ制御装置
ストレージ制御装置２００は、補助記憶部２１０、ドライブ部２３０、通信部２４０、記憶部２５０、及び制御部２６０を有する。ストレージ制御装置２００に含まれる各ユニットは、バス接続されている。
【００１８】
記憶部２５０は、データやプログラムを記憶する。記憶部２５０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）である。図２は、ストレージ制御装置の記憶部のメモリマップの一例を示す図である。記憶部２５０は、マッピングテーブル２５５、ディスク制御情報３１０、ディスク制御情報３１０、キャッシュ反映情報３２０、ディスク状態管理情報３３０、及びスタンバイキャッシュ状態管理情報３４０、及びプログラム９９０を格納する。
【００１９】
マッピングテーブル２５５の説明は、図３を用いて後述する。また、制御部２６０がプログラム９９０を実行することで有する入出力制御機能、キャッシュ管理機能、及び、キャッシュ反映機能を有する。また、これらの機能については、図７を用いて後述する。ディスク制御情報３１０、キャッシュ反映情報３２０、ディスク状態管理情報３３０、及びスタンバイキャッシュ状態管理情報３４０については、図８、図１４、図９、及び図１２を用いてそれぞれ後述する。
【００２０】
制御部２６０は、記憶部２５０内に格納されるプログラムを実行することで、各ユニットを制御する。制御部２６０は、例えば、ＣＰＵ（Central Processing Unit）である。
【００２１】
補助記憶部２１０は、電源供給が無くても情報を保持可能であり、記憶部２５０に格納されるプログラム及びデータを記憶する非揮発性の装置である。補助記憶部２１０は、磁気ディスクを用いたディスクアレイ、又は、フラッシュメモリを用いたＳＳＤ（Solid State Drive）等である。
【００２２】
ドライブ部２３０は、例えば、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ（Digital Versatile Disc）などの記録媒体５９０を読み書きする装置である。ドライブ部２３０は、記録媒体５９０を回転させるモータや記録媒体５９０上でデータを読み書きするヘッド等を含む。なお、記録媒体５９０は、プログラム９９０を格納することができる。ドライブ部２３０は、ドライブ部２３０にセットされた記録媒体５９０からプログラム９９０を読み出す。制御部２６０は、ドライブ部２３０により読み出されたプログラム９９０を、記憶部２５０又は補助記憶部２１０に格納する。
【００２３】
通信部２４０は、インターネットプロトコルにおける特定の物理層およびデータリンク層の規格、又は、ファイバーチャネル規格を用いて通信する回路である。通信部２４０がインターネットプロトコルを使用する場合は、通信部２４０には、ＭＡＣアドレス（Media Access Control address）が割り当てられる。また、通信部２４０がファイバーチャネルを用いて通信を行う場合には、通信部２４０には、ＷＷＮ（World Wide Name）が割り当てられる。
【００２４】
ストレージ制御装置２００は、ストレージ装置の仮想化を行う装置である。ストレージの仮想化とは、複数のストレージ装置１００及び１００Ａ〜Ｃをあたかも単一のストレージ装置があるように、実際のボリュームとは異なる仮想的なボリュームを外部システム１０に対して見せる。例えば、ストレージ装置１００Ａに対する読み出し要求も、ストレージ装置１００Ｂに対する読み出し要求も、外部システム１０は、ストレージ制御装置２００を一つのストレージ装置と認識して、ＬＵＮと論理アドレスによるアクセスを行なうことができる。ストレージ装置の仮想化によって、既存のストレージ装置の容量が不足した際の拡張や、異機種のストレージ装置を組み合わせた利用が可能になる。
【００２５】
ストレージ制御装置２００は、外部システム１０にみせる仮想的なボリュームと、ストレージ装置１００上の実際のボリュームとの間でデータの位置についての関連付けを行うためのマッピングテーブル２５５を、記憶部２５０に格納する。ストレージ制御装置２００は、マッピングテーブル２５５を参照して、ストレージ装置１００の物理的なＬＵＮと、外部システム１０に見せる仮想的なＬＵＮとの間のＬＵＮ変換処理を行う。
【００２６】
図３は、マッピングテーブルの一例を示す図である。マッピングテーブル２５５は、ＬＵＮにより特定される仮想ディスクＬＵＮ情報と、ＬＵＮ及びＷＷＮより特定される物理ディスクＬＵＮ情報との対応関係を規定するテーブルである。ＷＷＮは、ストレージ装置を識別するので、マッピングテーブル２５５を参照することで、仮想ディスクＬＵＮ情報のＬＵＮと、物理ディスクＬＵＮ情報のＬＵＮ及びストレージ装置とを対応させることができる。そのため、ストレージ制御装置２００は、マッピングテーブル２５５を参照することで、仮想的なボリュームと、ストレージ装置１００上の実際のボリュームとの間のデータ位置についての関連付けを行うことができる。
【００２７】
例えば、仮想ディスクＬＵＮ情報ＬＵＮ「１」は、物理ディスクＬＵＮ情報「ＸＸＸ００００１」であるストレージ装置１００ＡのＬＵＮ「１」に対応する。仮想ディスクＬＵＮ情報ＬＵＮ「２」は、物理ディスクＬＵＮ情報「ＸＸＸ００００２」であるストレージ装置１００ＢのＬＵＮ「１」に対応する。ストレージ制御装置２００は、外部システム１０がＬＵＮ「１」を対象とするアクセス要求は、ストレージ装置１００ＡのＬＵＮ「１」を対象とするアクセス要求として、ストレージ装置１００Ａに転送する。また、外部システム１０がＬＵＮ「２」を対象とするアクセス要求は、ストレージ装置１００ＢのＬＵＮ「１」を対象とするアクセス要求として、ストレージ装置１００Ｂに転送する。
【００２８】
〔１．３  ストレージ装置〕
ストレージ装置１００は、ディスクアレイ部１０５、ドライブ部１２０、スタンバイキャッシュ１３０、通信部１４０、記憶部１５０、及び制御部１６０を有する。ストレージ装置１００に含まれる各ユニットは、バス接続されており、制御部１６０は、記憶部１５０内に格納されるプログラムを実行することで、各ユニットを制御する。
【００２９】
記憶部１５０は、データやプログラムを記憶する。記憶部２５０は、例えば、ＤＲＡＭである。記憶部１５０は、記録媒体５９０から読み出されたプログラム９９０を格納する。記録媒体５９０から読み出されたプログラム９９０は、ストレージ制御装置２００の入出力制御機能、キャッシュ管理機能、及び、キャッシュ反映機能を、ストレージ制御装置２００又はストレージ装置１００が実現するためのプログラムである。
【００３０】
ストレージ装置１００がプログラム９９０を実行する場合は、ストレージシステム３００において、ストレージ制御装置２００が存在せず、外部システム１０とストレージ装置１００が直接接続する場合である。その場合、ストレージシステム３００がストレージ制御装置２００を含まない例においては、ストレージ装置１００が上記機能を実現する。当該ケースのストレージシステムのハードウェア構成は、図１９を用いて後述する。
【００３１】
制御部１６０は、記憶部１５０内に格納されるプログラムを実行することで、各ユニットを制御する。制御部１６０は、例えば、ＣＰＵである。制御部１６０は、後述するように、ディスクアレイ部１０５のディスク、又は、スタンバイキャッシュ１３０のディスクに異常が生じ、異常が通知されると、異常信号をストレージ制御装置２００に送信するように通信部１４０を制御する。
【００３２】
ドライブ部２３０は、例えば、ＣＤ−ＲＯＭ、ＤＶＤなどの記録媒体５９０を読み書きする装置である。ドライブ部２３０は、記録媒体５９０を回転させるモータや記録媒体５９０上でデータを読み書きするヘッド等を含む。ドライブ部１２０は、ドライブ部１２０にセットされた記録媒体５９０からプログラムを読み出す。制御部１６０は、ドライブ部１２０により読み出されたプログラムを、記憶部１５０に格納する。
【００３３】
ディスクアレイ部１０５に含まれる各ディスクの位置は、ＲＡＩＤ番号及びディスク番号により識別される。ディスク番号は、ＲＡＩＤを構成するディスクに割り当てられる通番である。ディスク内のデータは、論理アドレスにより識別される。なお、ディスクアレイ部１０５は、ＲＡＩＤコントローラを含み、ＲＡＩＤコントローラが、パリティ演算や、ＲＡＩＤ構成に応じて各ディスクにデータを振り分けるディスクデータ管理を行なう。また、ＲＡＩＤコントローラは、ディスクに異常が生じると、異常を制御部１６０に通知する。
【００３４】
ディスクアレイ部１０５に含まれる各ディスクは、ＲＡＩＤを構成する。図１においては、ＲＡＩＤを構成する複数のディスクを、ＲＡＩＤ−１〜ＲＡＩＤ−５で示している。ＬＵＮは、ＲＡＩＤを構成する複数のディスク毎に割り振られることなく、複数のＲＡＩＤに対して割り当て、又は、ＲＡＩＤを構成する複数のディスクの一部に対して割り当てることも可能である。以下では、説明のために、ＬＵＮは、ＲＡＩＤ−１〜ＲＡＩＤ−５の各々を識別するように、割り当てられているものとする。
【００３５】
ＲＡＩＤを構成する複数のディスクのうちの１つはスタンバイディスクであり、他のディスクはアクティブディスクである。アクティブディスクの数は、ＲＡＩＤの方式により変わる。アクティブディスク数とスタンバイディスク数の比率は、ストレージシステム３００の利用者によって選択できる。ただし、ＲＡＩＤ内のアクティブディスク数は、ＲＡＩＤレベルにより異なる。下記に示す表１は、ＲＡＩＤレベルと、１つのスタンバイディスクに対するアクティブディスク数との対応関係を定義した表である。
【表１】
2012108040.tif 000003
【００３６】
表１に示すように、ＲＡＩＤレベルが１、つまり、ディスクがミラーリングされている場合、１つのスタンバイディスクに対して、アクディブディスクの数は１つとなる。ＲＡＩＤレベルが５の場合、ＲＡＩＤを構成するディスクの「構成台数−１」がアクディブディスク数になる。ＲＡＩＤレベルが６の場合、ＲＡＩＤを構成するディスクの「構成台数−２」がアクディブディスク数になる。このように、ＲＡＩＤのレベルに従って、１つのスタンバイディスクに対するアクティブディスクの数は変わる。スタンバイディスクの数が多いほど、省電力の効果は高いので、ＲＡＩＤレベル１のとき、最も省電力の効果が高い。
【００３７】
スタンバイキャッシュ１３０は、スタンバイディスクに書き込むべきデータをキャッシュするディスクである。スタンバイキャッシュ１３０は、ディスクに異常が生じると、異常を制御部１６０に通知する。スタンバイディスクが停止中に、アクディブディスクにデータの書き込みが行なわれると、スタンバイディスクとアクティブディスクの格納データが互いに相違する。スタンバイディスク停止中にアクティブディスクに書き込まれたデータは、スタンバイキャッシュ１３０に保持され、スタンバイディスクの記憶量が制限に達する等の一定条件が成立した場合、スタンバイキャッシュ１３０で保持されたデータはスタンバイディスクに反映される。なお、ストレージ制御装置２００は、スタンバイキャッシュ１３０に格納されたデータを、スタンバイディスクに反映する条件を規定したキャッシュ反映情報３２０を参照して、ストレージ装置１００に、キャッシュ反映指示を送信する。キャッシュ反映情報３２０の詳細は、図１４を用いて後述する。
【００３８】
スタンバイキャッシュ１３０は、データディスク１３２と、メタディスク１３４とを含む。データディスク１３２は、スタンバイディスクに反映すべきデータを保持する。データディスク１３２は、スタンバイディスクのデータを全て格納せずに、定期的にスタンバイディスクにデータを反映することで、スタンバイディスクと同じ容量ではなく、データディスク１３２の記憶容量を少なくすることができる。
【００３９】
なおデータディスクへの格納データは可変長である。これは、固定長でデータを保持した場合、管理単位（固定長）未満の書き込み要求があった場合、アクティブディスクに格納されるデータの一部を変更した後、キャッシュへ全データを書き込む必要があるためである。キャッシュ内のデータを可変長とすると、アクティブディスク内のデータの一部を変更した場合、変更部分だけをデータディスクに記憶すればよい。そのため、格納データを固定長として場合と比して、データディスクからスタンバイディスクへのデータ反映の回数の減少、反映データ量の削減、データディスクの記憶容量の削減が可能になる。
【００４０】
また、スタンバイキャッシュ１３０内に格納されるデータは、１世代とする。複数世代とならないように、データキャッシュに格納されるデータは、スタンバイディスクに反映される。
【００４１】
データディスク１３２は、スタンバイディスクに書き込むべきデータを、循環バッファ方式で保持する。メタディスク１３４は、データディスク１３２内の論理アドレスと、スタンバイディスクとの論理アドレスの対応関係を規定するデータマップ管理情報を格納する。
【００４２】
ストレージ制御装置２００は、データマップ管理情報２６１を参照することで、スタンバイディスクに反映すべきデータが、スタンバイキャッシュ１３０のどこに格納されているかを判別することができる。
【００４３】
〔２〕ストレージ制御装置とストレージ装置との間のデータ通信のシーケンス
図４は、ストレージ制御装置とストレージ装置との間のデータ通信のシーケンスの一例を示すシーケンス図である。
【００４４】
ストレージ制御装置２００は、外部システム１０から、ＬＵＮ及び論理アドレスを含むアクセス要求を受信する（Ｓ１１１）。ストレージ制御装置２００は、アクセス要求に含まれるＬＵＮを、ストレージ装置１００のＬＵＮに変換する（Ｓ１１２）。ストレージ制御装置２００は、ストレージ装置１００のＬＵＮを含むアクセス要求を、ストレージ装置１００に送信する（Ｓ１１３）。ストレージ制御装置２００は、アクセス要求の転送から応答の受信までの応答時間の遅延を示す応答遅延時間より、アクティブディスクによる応答時間が長い場合、スタンバイディスクの回転の開始を指示する開始指示命令をストレージ装置１００に送信する（Ｓ１１５）。
【００４５】
Ａ．読み出し要求
アクセス要求が、読み出し要求である場合、ストレージ制御装置２００は、キャッシュデータ取得要求をストレージ装置１００に送信して（Ｓ１２１）、回転を開始したスタンバイストレージが利用可能になるのを待つこと無く、データの取得が可能になる。ストレージ装置１００は、キャッシュデータ取得要求の応答をストレージ制御装置２００に送信する（Ｓ１２２）。
【００４６】
Ｂ．書き込み要求
アクセス要求が、書き込み要求である場合、ストレージ制御装置２００は、キャッシュ書き込み要求をストレージ装置１００に送信して（Ｓ１３１）、回転を開始したスタンバイストレージが利用可能になるのを待つこと無く、データの書き込みが可能になる。ストレージ装置１００は、キャッシュデータ取得要求の応答をストレージ制御装置２００に送信する（Ｓ１３２）。
【００４７】
Ｃ．スタンバイキャッシュ異常
スタンバイキャッシュ１３０のディスク等に異常が生じる場合、ストレージ装置１００は、異常信号をストレージ制御装置２００に送信する（Ｓ１４１）。ストレージ制御装置２００は、書き込み要求をストレージ装置１００に送信して、回転を開始して起動したスタンバイキャッシュに対してデータの書き込みを行なう（Ｓ１４２）。このように、スタンバイキャッシュ１３０の異常が生じても、データの書き込みは可能である。
【００４８】
応答（Ｓ１２２又はＳ１３２又はＳ１４３）を受信したストレージ制御装置２００は、応答を外部システム１０に転送する（Ｓ１５１）。
【００４９】
〔３〕ストレージ制御装置のスタンバイディスク制御
図５は、読み出し要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。チャート４０１は、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるケースを示す。Ｃ１は、外部システム１０からのアクセス要求に対するアクティブディスクの応答時間を示す。時間Ｔ１は、応答異常を判別するための閾値を示すアクティブディスク異常時間である。アクティブディスク異常時間は、後述のディスク制御情報３１０に登録されている。したがって、ストレージ制御装置２００は、ディスク制御情報３１０のアクティブディスク異常時間を参照することで、応答異常を判別することができる。Ｃ２は、スタンバイディスクの回転を開始し、定常回転に至る時間を示す。Ｃ２経過後、スタンバイディスクからの応答が開始される。チャート４０１では、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるために、外部システム１０への応答に対して遅延時間Ｔ２が生じる。
【００５０】
図５に示すチャート４０２は、アクティブディスクの応答が遅延した場合、応答異常の判断時間の経過を待たずに、スタンバイディスクを回転するとともに、スタンバイキャッシュ１３０から対象データを読み出すケースを示す。時間Ｔ３は、アクティブディスクの応答が遅延しているか否かを判別するための閾値となるアクティブディスク応答遅延時間である。アクティブディスク応答遅延時間も、後述のディスク制御情報３１０に登録されている。したがって、ストレージ制御装置２００は、ディスク制御情報３１０のアクティブディスク応答遅延時間を参照することで、応答遅延を判別することができる。ストレージ制御装置２００は、時間Ｔ３以内にアクティブディスクの応答がストレージ装置１００から無い場合、時間Ｔ３経過後、応答異常の判断時間の経過を待たずに、スタンバイディスクの回転をストレージ装置１００に指示する。
【００５１】
Ｃ４は、スタンバイディスクの回転を開始して、回転が安定し、読み出し可能になるまでの処理時間である。ストレージ制御装置２００は、スタンバイディスクの回転を開始した後に、スタンバイキャッシュ１３０内に対象データが存在するか否か判断する。Ｃ３は、スタンバイキャッシュ１３０内にデータがあるか否か判断する判断処理の時間である。チャート４０２では、スタンバイキャッシュ１３０内に要求データがあるケースを示し、ストレージ制御装置２００は、アクティブディスクの異常が判明すれば、スタンバイキャッシュ１３０からデータを読み出す。
【００５２】
図５に示すチャート４０３は、スタンバイキャッシュ１３０に要求対象データが無いため、スタンバイディスクからデータを読み出す。チャート４０３では、アクティブディスクの応答が遅延した場合、ストレージ制御装置２００は、応答異常の判断時間の経過を待たずに、スタンバイディスクを回転するとともに、アクティブディスクの異常が判明すれば、スタンバイディスクから対象データを読み出すケースを示す。Ｃ４は、スタンバイディスクの回転を開始して、回転が安定し、読み出し可能になるまでの処理時間である。
【００５３】
このように、チャート４０２及び４０３では、外部システム１０からのアクセス要求に対するアクティブディスクからの応答が遅延すると、スタンバイディスクの回転を開始することで、アクティブディスク故障後のスタンバイディスク起動による応答遅延を減らすことができる。
【００５４】
図６は、書き込み要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。
チャート４１１は、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるケースを示す。Ｃ１は、外部システム１０からのアクセス要求に対するアクティブディスクの応答時間を示す。時間Ｔ１は、応答異常を判別するための閾値となる時間である。Ｃ２は、スタンバイディスクの回転を開始し、定常回転に至る時間を示す。Ｃ２経過後、スタンバイディスクからの応答が開始される。チャート４１１では、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるために、外部システム１０への応答に対して遅延時間Ｔ２が生じる。
【００５５】
チャート４１２は、アクティブディスクの応答が遅延した場合、応答異常の判断時間の経過を待たずに、スタンバイディスクを回転するとともに、スタンバイキャッシュ１３０に対象データを書き込むケースを示す。時間Ｔ３は、アクティブディスクの応答が遅延しているか否かを判別するための閾値となる時間である。Ｃ６は、スタンバイキャッシュ１３０内にデータを書き込む時間である。ストレージ制御装置２００は、時間Ｔ３以内にアクティブディスクの応答がストレージ装置１００から無い場合、時間Ｔ３経過後、応答異常の判断時間の経過を待たずに、スタンバイディスクの回転をストレージ装置に指示する。
【００５６】
ストレージ制御装置２００は、スタンバイディスクの回転を開始した後に、スタンバイキャッシュ１３０内に対象データが存在するか否か判断する。Ｃ５は、スタンバイディスクの回転を開始して、回転が安定し、書き込み可能になるまでの処理時間である。チャート４１２では、ストレージ制御装置２００は、アクティブディスクの異常が判明すれば、スタンバイディスクにデータを書き込む。
【００５７】
このように、チャート４１２では、外部システム１０からのアクセス要求に対するアクティブディスクからの応答が遅延すると、スタンバイディスクの回転を開始することで、アクティブディスク故障後のスタンバイディスク起動による応答遅延を減らすことができる。
【００５８】
〔４〕ストレージ制御装置の機能
図５及び図６を用いて説明したストレージ制御装置の動作を実現するストレージ制御装置の機能について説明する。図７は、ストレージ制御装置が有する機能構成の一例を示す図である。図７には、入出力制御機能２０１、キャッシュ管理機能２０２、及びキャッシュ反映機能２０３が示される。入出力制御機能２０１、キャッシュ管理機能２０２、及びキャッシュ反映機能２０３は、ハードウェア的には、制御部２６０による演算や、制御部２６０による通信部２４０又は記憶部２５０に対する制御に相当する。したがって、各機能は、ストレージ制御装置２００のハードウェアに相当するため、図７に示される各機能と、外部システム１０及びストレージ装置１００との間の通信は、ストレージ制御装置２００と、外部システム１０及びストレージ装置１００との間のデータ通信に相当する。
【００５９】
また、入出力制御機能２０１、キャッシュ管理機能２０２、及びキャッシュ反映機能２０３は、ソフトウェア的には、制御部２６０がプログラム９９０を実行することで生成するプロセス又はスレッドに相当する。したがって、各機能間のデータのやり取りは、プロセス又はスレッド間のメッセージの送受信に相当する。以下、各機能について説明する。
【００６０】
Ａ．入出力制御機能
入出力制御機能は、上記したストレージの仮想化機能に加えて、マッピングテーブル２５５を参照して、外部システム１０から送信されたディスクへの読み出し要求又は書き込み要求を処理する機能である。入出力制御機能は、ディスクの応答時間を監視する監視機能、図５及び図６を用いて説明したスタンバイディスクの回転の開始を指示する回転制御機能、データ読み込み機能、及びデータ書き込み機能とを含む。
【００６１】
監視機能は、アクディブディスクによる読み出し要求又は書き込み要求の送信から応答の受信までの応答時間を監視する。回転制御機能は、ディスク制御情報３１０を参照する。
【００６２】
図８は、ディスク制御情報の一例を示す図である。ディスク制御情報３１０は、アクディブディスク異常時間と、アクディブディスク応答遅延時間とを含む。回転指示機能、ディスク制御情報３１０を参照して、応答時間が、アクティブディスク応答遅延時間より長い場合、スタンバイディスクの回転の開始を指示する。
【００６３】
図８に示す例ではアクディブディスク応答遅延時間が「５秒」であるので、ストレージ制御装置２００の回転制御機能は、アクティブディスクからの応答が「５秒」以上遅延すると、図５及び図６を用いて説明したように、スタンバイディスクの回転を開始する。図８に示す例ではアクディブディスク異常時間が「３０秒」であるので、ストレージ制御装置２００の回転制御機能は、アクティブディスクからの応答が「３０秒」以上遅延すると、アクティブディスクは「異常」であると判断する。そして、ストレージ制御装置２００は、後述するディスク制御情報３１０のアクディブディスクの状態を「異常」にして、アクディブディスクへのアクセスを停止する。
【００６４】
データ読み込み機能は、外部システム１０から、ＬＵＮ及び論理アドレスを含む読み出し要求を受け取ると、マッピングテーブル２５５を参照して、読み出し要求先のストレージ装置及びＬＵＮを識別する。データ読み込み機能は、識別したストレージ装置に読み出し要求を送信する。データ読み込み機能は、ストレージ装置１００から読み出しデータを受け取ると、読み出しデータを、応答として外部システム１０に送信する。
【００６５】
データ書き込み機能は、外部システム１０から書き込みデータと、ＬＵＮ及び論理アドレスを含む書き込み要求とを受け取ると、マッピングテーブル２５５を参照し、書き込み要求先のストレージ装置及びＬＵＮを識別する。データ書き込み機能は、識別したストレージ装置に書き込みデータと、ＬＵＮ及び論理アドレスを含む書き込み要求を送信する。
【００６６】
入出力制御機能２０１はさらに、書き込み要求、読み出し要求、及び、無効化要求をキャッシュ管理機能に出力する。なお、無効化要求とは、アクティブディスクが故障したために、スタンバイディスク及びデータディスク１３２にデータを書き込む処理を行った後に、データディスク１３２に書き込んだデータのエントリを無効化する要求である。
【００６７】
また、入出力制御機能２０１は、記憶部２５０に格納されたディスク状態管理情報３３０を参照して、故障が生じたディスクへのアクセスを回避するとともに、停止中のスタンバイディスクの回転を開始する。
【００６８】
図９は、ディスク状態管理情報の一例を示す図である。図９に示されるディスク状態管理情報３３０は、ＲＡＩＤ番号で識別されるＲＡＩＤを構成するアクディブディスク及びスタンバイディスクの状態が、「正常」又は「異常」であるかを規定する。ディスク状態管理情報３３０は、ＲＡＩＤ番号３３１、アクティブディスク３３２、スタンバイディスクＡの状態情報３３３列及びスタンバイディスクＢの状態情報３３４を、エントリ（行）毎に定義する。例えば、ＲＡＩＤ番号が「１」であるＲＡＩＤを構成するアクディブディスクと、スタンバイディスクＡは、「正常」である。ＲＡＩＤ番号が「２」であるＲＡＩＤを構成するアクディブディスクは「異常」であり、スタンバイディスクＡ及びＢは、「正常」である。ＲＡＩＤ番号が「１」であるＲＡＩＤを構成するアクディブディスクと、スタンバイディスクＡは、「正常」である。
【００６９】
図９に示す例では、ＲＡＩＤ番号「２」のエントリのアクディブディスクの状態が「異常」であるので、ディスク状態管理情報３３０を参照した入出力制御機能２０１は、スタンバイディスクＢの回転を開始して、スタンバイディスクＢを起動する。
【００７０】
Ｂ．キャッシュ管理機能
キャッシュ管理機能２０２は、スタンバイキャッシュ１３０内に保持されるデータを、スタンバイディスクと対応付けて、データマップ管理情報２６１で管理する。キャッシュ管理機能２０２は、データマップ管理情報２６１を参照することで、読み出し要求及び書き込み要求の対象となるデータが、データディスク１３２内にあるかどうかを判別する。
【００７１】
図１０は、データマップ管理情報の一例を示す図である。データマップ管理情報２６１は、データディスク内の論理アドレスと、スタンバイディスク内の論理アドレスとの対応関係を規定する。図１０に示されるように、データマップ管理情報２６１には、格納番号２６２毎に、データのエントリを有する。各エントリには、データディスクの開始アドレス２６３、ＲＡＩＤグループ番号２６４と、スタンバイディスク番号２６５、スタンバイディスクの開始アドレス２６６、及びデータ長２６７の各データが入力される。
【００７２】
格納番号２６２とは、データを格納した順番を示す。データディスクの開始アドレス２６３とは、データディスク１３２にデータを格納した際のデータディスク内論理アドレスである。ＲＡＩＤグループ番号１３６は、スタンバイディスクが属するＲＡＩＤグループ番号である。スタンバイディスク番号２６５は、ＲＡＩＤグループ内のスタンバイディスクに付加した通番である。スタンバイディスクの開始アドレス２６６は、スタンバイディスクへ格納すべきであったデータの開始アドレスである。データ長２６７は、スタンバイディスクへ格納すべきであったデータのデータ長である。
【００７３】
キャッシュ管理機能２０２は、データマップ管理情報２６１を参照して、書き込み要求で指定された論理アドレスのデータがデータディスク１３２に未格納であるか否か判別する。書き込み要求で指定された論理アドレスのデータがデータディスク１３２に未格納である場合、キャッシュ管理機能２０２は、データディスク１３２にデータを追加して、メタディスク１３４内のデータマップ管理情報２６１を追加したデータのメタ情報で更新する。
【００７４】
キャッシュ管理機能２０２は、データマップ管理情報２６１を参照して、書き込み要求で指定された論理アドレスのデータがデータディスク１３２に格納済みであるか否か判別する。新たに書き込むデータが、指定されたアドレスが格納されている領域内であれば、キャッシュ管理機能２０２は、同じ領域に書き込みデータを上書きし、データマップ管理情報２６１は変更しない。
【００７５】
データディスク１３２の領域を超える場合は、既存データのデータを指すメタ情報を無効化し、新たなデータでデータマップ管理情報２６１を更新する。
【００７６】
読み出し要求で指定された論理アドレスのデータがデータディスク１３２内に格納済みである場合、キャッシュ管理機能２０２は、メタディスク１３４から、データディスク１３２の論理アドレス、データ長を取得し、該当データをデータディスク１３２から読み込む。
【００７７】
キャッシュ管理機能２０２は、スタンバイディスクの論理アドレスからデータディスク１３２内の論理アドレスを検索することができる。
【００７８】
データマップ管理情報２６１は、データディスクの論理アドレスからスタンバイディスクの論理アドレスの検索時間、又は、スタンバイディスクの論理アドレスからデータディスクの論理アドレスの検索時間を減らすために高速検索可能なデータ構造としてもよい。
【００７９】
図１１は、木のデータ構造を有するデータマップ管理情報の一例を示す図である。図１１に示すデータマップ管理情報２６１は、枝でつながる複数のノードで構成される。２１１は、ＲＡＩＤ番号「１」及びディスク番号「１」のノードを示す。ノード２１２は、スタンバイディスクの開始アドレスを示し、ノード２１３は格納番号１の論理アドレスを示す。このように、データマップ管理情報２６１の全てについて一致検索する必要が無いので、データマップ管理情報２６１をＢ木のデータ構造とすることで、検索量を減らし、スタンバイディスクへのアクセス遅延をなくすことができる。
【００８０】
キャッシュ管理機能２０２は、指定されたＲＡＩＤ上の論理アドレスへの無効化要求を受け付けた際には、データマップ管理情報２６１から、無効化要求の対象となるエントリを無効化する。この処理はアクティブディスクが故障した場合に直接スタンバイディスクに書き込んだデータがデータディスクに残っていた場合に、該当データのエントリを無効化するのに使用する。キャッシュ反映機能から読み出し要求を受けた場合、メタディスクに保持している情報をすべて取り出し、順番にデータを返却する。
【００８１】
キャッシュ管理機能２０２はさらに、スタンバイキャッシュ状態管理情報３４０を参照して、異常のあるデータディスクにはデータを格納しないように動作する。
【００８２】
図１２は、スタンバイキャッシュ状態管理情報の一例を示す図である。図１２に示されるスタンバイキャッシュ状態管理情報３４０は、データディスク番号で識別されるデータディスクの状態が、「正常」又は「異常」であるかを規定する。キャッシュ管理機能２０２は、状態が「異常」であるデータディスクにはアクセスしないように動作する。
【００８３】
図１３は、書き込み要求に従ってデータディスクにデータを追加又は更新する処理の一例を示すフローチャートである。ストレージ制御装置２００は、外部システム１０から書き込み要求とともに書き込みデータを受け取ると、書き込み要求の論理アドレスに対応するエントリを、データマップ管理情報２６１から取得する（Ｓ１００１）。ストレージ制御装置２００は、データマップ管理情報２６１において、書き込み要求の論理アドレスに対応するエントリがある場合（Ｓ１００２  Ｙｅｓ）、データディスク１３２に書き込みデータを格納する記憶領域があるか否か判断する（Ｓ１００３）。記憶領域がある場合（Ｓ１００３  Ｙｅｓ）、ストレージ制御装置２００は、データディスク１３２に書き込みデータを記憶するとともに、当該書き込みデータでデータマップ管理情報２６１を更新する（Ｓ１００４）。
【００８４】
記憶領域が無い場合（Ｓ１００３  Ｎｏ）、データディスク１３２内において書き込み要求の論理アドレスに対応するデータを削除し、データマップ管理情報２６１から対応するエントリを削除する（Ｓ１００５）。書き込み要求の論理アドレスに対応するエントリが無い場合（Ｓ１００２  Ｎｏ）、又は、Ｓ１００５の後、データディスク１３２に書き込みデータを追加する（Ｓ１００６）。ストレージ制御装置２００は、書き込み要求でデータマップ管理情報２６１を追加して（Ｓ１００７）、スタンバイキャッシュ１３０へのデータの書き込み処理を終了する。
【００８５】
Ｃ．キャッシュ反映機能
キャッシュ反映機能２０３は、一定の条件に合致した場合、キャッシュ管理機能から得たスタンバイキャッシュ１３０の内容の一部または全部をスタンバイディスクに反映する機能である。キャッシュ反映機能２０３は、キャッシュ反映情報３２０にしたがって、スタンバイキャッシュ１３０内のデータを、スタンバイディスクに反映する。
【００８６】
図１４は、キャッシュ反映情報の一例を示す図である。キャッシュ反映情報３２０は、スタンバイディスクのＲＡＩＤグループ番号３２１と、スタンバイディスク番号３２２、スタンバイディスクの上限容量３２３、ＩＯ時間３２４、及び、通信時間帯３２５の各データが、エントリ毎に入力される。上限容量３２３、ＩＯ時間３２４、及び、通信時間帯３２５は、キャッシュ反映を行なう条件をそれぞれ示す。
【００８７】
上限容量３２３は、スタンバイキャッシュ１３０からスタンバイディスクへのデータ反映を開始する記憶量の上限閾値である。ＩＯ時間３２４は、スタンバイキャッシュ１３０のＩ／Ｏがない時間帯を示す。ＩＯ時間３２４は、スタンバイキャッシュ１３０が停止中と予め決められている時間である。通信時間帯３２５は、外部システム１０とストレージ制御装置２００との間の通信経路の負荷が軽い時間帯である。
【００８８】
キャッシュ反映機能２０３は、データディスクの記憶容量が上限容量３２３の値「５０％」を超え、ＩＯ時間３２４に示される時間帯であり、通信時間帯３２５に示す時間帯である等の条件を満たすか判断する。キャッシュ反映機能２０３は、全条件、又は、何れかの条件が満たされる場合、該当するＲＡＩＤグループのディスクに対して、スタンバイキャッシュ１３０の保持データを、スタンバイディスクに反映する。
【００８９】
図１５は、キャッシュ反映処理の一例を示すフローチャートである。キャッシュ反映処理は、アクティブディスクが正常に動作しており、且つスタンバイディスクが停止している場合と、アクティブディスクに異常になり、且つスタンバイディスクが動作している場合に、実行される処理である。キャッシュ反映処理が行われることで、スタンバイキャッシュ１３０内に保持され、スタンバイディスクに無い同一論理アドレスのデータが、スタンバイディスクに反映されることになる。
【００９０】
ストレージ制御装置２００は、スタンバイキャッシュ１３０がキャッシュ反映情報３２０に含まれる条件を満たすか否かを判断する（Ｓ１０２１）。キャッシュ反映情報３２０の条件を満たす場合（Ｓ１０２１  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイディスクが起動しているか否かを判断する（Ｓ１０２２）。スタンバイディスクが起動していない場合（Ｓ１０２２  Ｎｏ）、データを反映するために、スタンバイディスクの回転を開始する（Ｓ１０２３）。スタンバイディスクが起動中であると（Ｓ１０２２  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイキャッシュ１３０へ書き込み済み全データをスタンバイディスクに反映するように、ストレージ装置１００を制御する（Ｓ１０２４）。スタンバイディスクへのスタンバイキャッシュ１３０の格納データの反映が終わると、ストレージ制御装置２００は、アクティブディスク又はスタンバイキャッシュ１３０は異常であるかどうか判断する（Ｓ１０２５）。アクディブディスク及びスタンバイキャッシュ１３０が異常ではない場合（Ｓ１０２５  Ｎｏ）、スタンバイディスクを停止して（Ｓ１０２６）、キャッシュ反映処理を終了する。アクディブディスク又はスタンバイキャッシュ１３０が異常ではある場合（Ｓ１０２５  Ｙｅｓ）、スタンバイディスクを停止せずに、キャッシュ反映処理を終了する。
【００９１】
図１６は、データディスクの設定例を示す図である。図１６には、ディスクアレイ部１０５と、データディスク１３２とが示される。ディスクアレイ部の可用性を維持するため、データディスク１３２のディスク数は、各ＲＡＩＤを構成するスタンバイディスク数のうち最大のスタンバイディスク数にする。図１６に示す例では、ＲＡＩＤレベル６のＲＡＩＤグループ３のスタンバイディスク数が「２」であるので、データディスク１３２の数も「２」となる。このようにすることで、起動が必要なスタンバイディスクにデータを反映する際に、各スタンバイディスクが対応するデータディスクからデータの反映を行うことができるので、スタンバイディスクのデータ反映時間を短縮することができる。また、データディスクの容量は、蓄積させるデータ量と、反映処理が動作中のライト量により設定される。
【００９２】
〔５〕ストレージ制御装置の処理フロー
図１７は、読み出し要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。まず、ストレージ制御装置２００は、外部システム１０から受け取った読み出し要求を、ストレージ装置１００に送信する（Ｓ１１０１）。ストレージ制御装置２００は、アクティブディスクからの応答が遅延しているか否かを判断する（Ｓ１１０２）。応答が遅延している場合（Ｓ１１０２  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイディスクの回転の開始を、ストレージ装置１００に指示する（Ｓ１１０３）。応答が遅延していない場合（Ｓ１１０２  Ｎｏ）、又は、スタンバイディスク回転開始（Ｓ１１０３）後、ストレージ制御装置２００は、アクティブディスクにエラーが生じているか否か判断する（Ｓ１１０４）。アクティブディスクにエラーが生じている場合（Ｓ１１０４  Ｙｅｓ）、スタンバイキャッシュ１３０が正常か否かを判断する（Ｓ１１０５）。スタンバイキャッシュ１３０にエラーが生じている場合（Ｓ１１０５  Ｎｏ）、ストレージ制御装置２００は、ＩＯエラーを外部システム１０に通知して（Ｓ１１２１）、処理を終了する。スタンバイキャッシュ１３０が正常である場合（Ｓ１１０５  Ｙｅｓ）、ストレージ制御装置２００は、ディスク状態管理情報３３０のアクティブディスクの状態を「異常」とし、スタンバイディスクの状態を「正常」とする（Ｓ１１０６）。
【００９３】
ストレージ制御装置２００は、スタンバイキャッシュ１３０に読み出し要求の対象となるデータがあるか否か判断する（Ｓ１１０７）。スタンバイキャッシュ１３０にデータがある場合（Ｓ１１０７  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイキャッシュ１３０からデータを読み込む（Ｓ１１０８）。ストレージ制御装置２００は、読み込んだデータを外部システム１０に送信して（Ｓ１１０９）、処理を終了する。
【００９４】
スタンバイディスクからではなく、スタンバイキャッシュ１３０からデータを読み出すことで、スタンバイディスクの回転が安定する前に、外部システム１０に応答することができる。
【００９５】
スタンバイキャッシュ１３０にデータが無い場合（Ｓ１１０７  Ｎｏ）、ストレージ制御装置２００は、スタンバイディスクの起動を待って（Ｓ１１１１）、スタンバイディスクからデータを読み込む（Ｓ１１１２）。ストレージ制御装置２００は、読み込んだデータを外部システム１０に送信して（Ｓ１１０９）、処理を終了する。
【００９６】
アクティブディスクにエラーが生じなかった場合（Ｓ１１０４  Ｎｏ）、ストレージ制御装置２００は、アクディブディスクからデータを読み込み（Ｓ１１３１）、電力の消費を防ぐために、スタンバイディスクを停止する（Ｓ１１３２）。次に、ストレージ制御装置２００は、読み込んだデータを外部システム１０に送信して（Ｓ１１０９）、処理を終了する。
【００９７】
図１８は、書き込み要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。まず、ストレージ制御装置２００は、外部システム１０から受け取った書き込み要求を、ストレージ装置１００のアクティブディスクに送信する（Ｓ１２０１）。ストレージ制御装置２００は、アクティブディスクからの応答が遅延しているか否かを判断する（Ｓ１２０２）。応答が遅延している場合（Ｓ１２０２  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイディスクの回転の開始を、ストレージ装置１００に指示する（Ｓ１２０３）。応答が遅延していない場合（Ｓ１２０２  Ｎｏ）、又は、スタンバイディスク回転開始（Ｓ１２０３）後、ストレージ制御装置２００は、アクティブディスクにエラーが生じているか否か判断する（Ｓ１２０４）。
【００９８】
アクティブディスクにエラーが生じている場合（Ｓ１２０４  Ｙｅｓ）、スタンバイキャッシュ１３０が正常か否かを判断する（Ｓ１２０５）。スタンバイキャッシュ１３０にエラーが生じている場合（Ｓ１２０５  Ｎｏ）、ストレージ制御装置２００は、ＩＯエラーを外部システム１０に通知する（Ｓ１２２１）。そして、ストレージ制御装置２００は、スタンバイディスクにデータを書き込んで（Ｓ１２０７）、処理を終了する。
【００９９】
アクディブディスクにエラーが生じており（Ｓ１２０４  Ｙｅｓ）且つスタンバイディスクが正常である場合（Ｓ１２０５  Ｙｅｓ）、ストレージ制御装置２００は、ディスク状態管理情報３３０のアクティブディスクの状態を「異常」とし、スタンバイディスクの状態を「正常」とする（Ｓ１２０６）。そして、ストレージ制御装置２００は、スタンバイディスクにデータを書き込んで（Ｓ１２０７）、処理を終了する。
【０１００】
アクティブディスクが正常である場合（Ｓ１２０４  Ｎｏ）、ストレージ制御装置２００は、スタンバイキャッシュ１３０が正常か否かを判断する（Ｓ１２１１）。スタンバイキャッシュ１３０にエラーが生じている場合（Ｓ１２１１  Ｎｏ）、ストレージ制御装置２００は、バックグラウンドでスタンバイディスクにスタンバイキャッシュ１３０のデータを反映する（Ｓ１２１２）。ストレージ制御装置２００は、アクティブディスクにデータを書き込んで（Ｓ１２１３）、処理を終了する。
【０１０１】
アクディブディスクが正常で（Ｓ１２０４  Ｎｏ）且つスタンバイディスクが正常である場合（Ｓ１２１１  Ｙｅｓ）、ストレージ制御装置２００は、消費電力削減のためにスタンバイディスクを停止して（Ｓ１２４１）、アクティブディスクにデータを書き込んで（Ｓ１２１３）、処理を終了する。
【０１０２】
〔６〕ストレージ装置の変形例
図１９は、ストレージ装置の変形例を示す図である。図１９に示す変形例のストレージ装置１００Ｄは、ストレージ制御装置２００を介さずに、外部システム１０から書き込み要求と読み出し要求を直接受け取る。ストレージ装置１００Ｄは、記録媒体５９０Ａに格納されるプログラム９９０Ａをドライブ部１２０から読み込み、記憶部１５０に格納する。記憶部１５０に格納されたプログラム９９０Ａを制御部１６０が実行することで、ストレージ装置１００Ｄは、図７で説明したストレージ仮想化機能を除く入出力制御機能、キャッシュ管理機能、キャッシュ反映機能を実現し、図６及び図７で説明したような、スタンバイディスクのディスク回転制御を実行する。
【符号の説明】
【０１０３】
１０    外部システム
１００    ストレージ装置
１０５    ディスクアレイ部
１３０    スタンバイキャッシュ
１３２    データディスク
１３４    メタディスク
１５０    記憶部
１６０    制御部
２００    ストレージ制御装置
２０１    入出力制御機能
２０２    キャッシュ管理機能
２０３    キャッシュ反映機能
２５０    記憶部
２５５    マッピングテーブル
２６０    制御部
２６１    データマップ管理情報
３００    ストレージシステム
３１０    ディスク制御情報
３２０    キャッシュ反映情報
３３０    ディスク状態管理情報
３４０    スタンバイキャッシュ状態管理情報
５９０    記録媒体
９９０    プログラム
【図１】
2012108040.tif 000004
【図２】
2012108040.tif 000005
【図３】
2012108040.tif 000006
【図４】
2012108040.tif 000007
【図５】
2012108040.tif 000008
【図６】
2012108040.tif 000009
【図７】
2012108040.tif 000010
【図８】
2012108040.tif 000011
【図９】
2012108040.tif 000012
【図１０】
2012108040.tif 000013
【図１１】
2012108040.tif 000014
【図１２】
2012108040.tif 000015
【図１３】
2012108040.tif 000016
【図１４】
2012108040.tif 000017
【図１５】
2012108040.tif 000018
【図１６】
2012108040.tif 000019
【図１７】
2012108040.tif 000020
【図１８】
2012108040.tif 000021
【図１９】
2012108040.tif 000022
【手続補正書】
【提出日】平成25年8月9日(2013.8.9)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、及び、そのプログラムに関する。
【背景技術】
【０００２】
使用していないハードディスク装置のディスクの回転を停止し、ストレージ装置の消費電力を削減する技術がある。この技術は、一定時間Ｉ／Ｏ（Input/Output）要求の無いディスクの回転を停止し、回転停止中のディスクに対してＩ／Ｏ要求が発生すると、ディスクの回転を再開しＩ／Ｏを行える状態にするものである。
【０００３】
ただし、回転停止中のディスクに対してＩ／Ｏを行うと、ディスクの回転再開からディスクの回転が安定するまで、最大数分Ｉ／Ｏの応答が返却されない。そのため、従来は、オンライン業務システムに使用するディスクのようなＩ／Ｏ頻度の高いディスクに対しては、ディスク回転の停止を行なわず、バックアップ等のバッチ業務を行なうＩ／Ｏ頻度の低いディスクに対しては、ディスク回転の停止を行なってきた。これにより、バックアップ中以外はＩ／Ｏの発生しないバックアップ先ディスクの回転を止めて電力消費を削減し、回転を停止したディスクへのＩ／Ｏは、バッチ業務を行うことで、Ｉ／Ｏの待ち時間の影響を隠蔽していた。
【０００４】
一方、オンライン業務システムに使用するディスクのようなＩ／Ｏ頻度の高いディスクに対して電力削減を行う技術がある。そのような技術は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）などにより冗長化したディスクの一部の回転を停止し、他のディスクを使用するというものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１８７４５０号公報
【特許文献２】特開２００９−２３８１５９号公報
【特許文献３】特開２００９−０４８３６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
以後、説明のために、通常運用で使用するディスクを「アクティブディスク」と呼び、回転を停止するディスクを「スタンバイディスク」と呼ぶ。また、スタンバイディスク停止中に一時的に書き込みデータを溜め込む不揮発媒体を「キャッシュ」と呼ぶ。
【０００７】
冗長化構成された一方のアクティブディスクに故障が生じた場合、冗長化構成されたスタンバイディスクからデータを読み込むにためには、スタンバイディスクを回転し、キャッシュに書き込まれたデータを、スタンバイディスクに反映し、データを読み出す。しかしながら、スタンバイディスクの回転が安定するまでに時間がかかるため、データの読み出し再開まで時間がかかる。
【０００８】
１つの側面では、本発明は、アクティブディスク故障後のスタンバイディスク起動による応答遅延の低減を図ることを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御する。ストレージ制御装置は、前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部と、を備える。
【発明の効果】
【００１０】
アクティブディスク故障後のスタンバイディスク起動による応答遅延を減らすことができる。
【図面の簡単な説明】
【００１１】
【図１】ストレージシステムのハードウェア構成を説明する図である。
【図２】ストレージ制御装置の記憶部のメモリマップの一例を示す図である。
【図３】マッピングテーブルの一例を示す図である。
【図４】ストレージ制御装置とストレージ装置との間のデータ通信のシーケンスの一例を示すシーケンス図である。
【図５】読み出し要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。
【図６】書き込み要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。
【図７】ストレージ制御装置が有する機能構成の一例を示す図である。
【図８】ディスク制御情報の一例を示す図である。
【図９】ディスク状態管理情報の一例を示す図である。
【図１０】データマップ管理情報の一例を示す図である。
【図１１】Ｂ木のデータ構造を有するデータマップ管理情報の一例を示す図である。
【図１２】スタンバイキャッシュ状態管理情報の一例を示す図である。
【図１３】書き込み要求に従ってデータディスクにデータを追加又は更新する処理の一例を示すフローチャートである。
【図１４】キャッシュ反映情報の一例を示す図である。
【図１５】キャッシュ反映処理の一例を示すフローチャートである。
【図１６】データディスクの設定例を示す図である。
【図１７】読み出し要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。
【図１８】書き込み要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。
【図１９】ストレージ装置の変形例を示す図である。
【発明を実施するための形態】
【００１２】
以下に説明するストレージ制御装置は、複数のディスクを含むストレージ装置を制御する。ストレージ制御装置は、オンライン業務システムのようなＩ／Ｏ要求頻度の高い外部システムからＩＯ要求を受け取り、ＩＯ要求に対するストレージ装置のアクティブディスクの応答が遅延すると、スタンバイディスクの回転を開始するように動作する。
【００１３】
以下に、〔１〕ストレージシステムのハードウェア構成、〔２〕ストレージ制御装置とストレージ装置との間のデータ通信のシーケンス、〔３〕ストレージ制御装置のスタンバイディスク制御、〔４〕ストレージ制御装置の機能、〔５〕ストレージ制御装置の処理フロー、及び〔６〕ストレージ装置の変形例の順に説明する。
【００１４】
〔１〕ストレージシステムのハードウェア構成
図１は、ストレージシステムのハードウェア構成を説明する図である。図１に示すストレージシステム３００は、ストレージ装置１００、及びストレージ制御装置２００を含む。なお、ストレージシステム３００に含まれるストレージ装置は、ストレージ装置１００に限定されず、１００Ａ〜Ｃで示されるストレージ装置１００と同じ機能を有する複数のストレージ装置を含むことができる。ストレージ制御装置２００は、イーサネット（登録商標）ケーブル等のネットワークケーブル５を介して外部システム１０と接続するとともに、ＦＣ-ＡＬ（Fibre Channel Arbitrated Loop）等のネットワークケーブル１５を介してストレージ装置１００、及び、１００Ａ〜Ｃと接続する。ストレージ装置１００Ａ〜Ｃに関しては、ストレージ装置１００と同じ機能を有するため、以下におけるストレージ装置１００の説明は、ストレージ装置１００Ａ〜Ｃについても同じである。
【００１５】
ストレージ装置１００と、ストレージ制御装置２００とは、ｉＳＣＳＩ（Internet Small Computer System Interface）プロトコル等に従って互いにデータ通信する。ストレージ制御装置２００と外部システム１０も、ｉＳＣＳＩプロトコル等に従って互いにデータ通信する。
【００１６】
〔１．１〕外部システム
外部システム１０は、オンライン業務システムのように、ストレージ装置１００に対するＩ／Ｏ要求頻度の高いシステムである。外部システム１０は、アクセス対象となるデータを、ＬＵＮ（Logical Unit Number）及び論理アドレスをそれぞれ特定した「読み出し要求」又は「書き込み要求」を、ｉＳＣＳＩプロトコル等に従うメッセージとして、ストレージ制御装置２００に送信する。なお、以下において「読み出し要求」及び「書き込み要求」は、「アクセス要求」と呼び、「読み出し」及び「書き込み」を、「アクセス」と呼ぶ。
【００１７】
〔１．２〕ストレージ制御装置
ストレージ制御装置２００は、補助記憶部２１０、ドライブ部２３０、通信部２４０、記憶部２５０、及び制御部２６０を有する。ストレージ制御装置２００に含まれる各ユニットは、バス接続されている。
【００１８】
記憶部２５０は、データやプログラムを記憶する。記憶部２５０は、例えば、ＤＲＡＭ（Dynamic Random Access Memory）である。図２は、ストレージ制御装置の記憶部のメモリマップの一例を示す図である。記憶部２５０は、マッピングテーブル２５５、ディスク制御情報３１０、キャッシュ反映情報３２０、ディスク状態管理情報３３０、及びスタンバイキャッシュ状態管理情報３４０、及びプログラム９９０を格納する。
【００１９】
マッピングテーブル２５５の説明は、図３を用いて後述する。また、制御部２６０がプログラム９９０を実行することで有する入出力制御機能、キャッシュ管理機能、及び、キャッシュ反映機能を有する。また、これらの機能については、図７を用いて後述する。ディスク制御情報３１０、キャッシュ反映情報３２０、ディスク状態管理情報３３０、及びスタンバイキャッシュ状態管理情報３４０については、図８、図１４、図９、及び図１２を用いてそれぞれ後述する。
【００２０】
制御部２６０は、記憶部２５０内に格納されるプログラムを実行することで、各ユニットを制御する。制御部２６０は、例えば、ＣＰＵ（Central Processing Unit）である。
【００２１】
補助記憶部２１０は、電源供給が無くても情報を保持可能であり、記憶部２５０に格納されるプログラム及びデータを記憶する非揮発性の装置である。補助記憶部２１０は、磁気ディスクを用いたディスクアレイ、又は、フラッシュメモリを用いたＳＳＤ（Solid State Drive）等である。
【００２２】
ドライブ部２３０は、例えば、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＤＶＤ（Digital Versatile Disc）などの記録媒体５９０を読み書きする装置である。ドライブ部２３０は、記録媒体５９０を回転させるモータや記録媒体５９０上でデータを読み書きするヘッド等を含む。なお、記録媒体５９０は、プログラム９９０を格納することができる。ドライブ部２３０は、ドライブ部２３０にセットされた記録媒体５９０からプログラム９９０を読み出す。制御部２６０は、ドライブ部２３０により読み出されたプログラム９９０を、記憶部２５０又は補助記憶部２１０に格納する。
【００２３】
通信部２４０は、インターネットプロトコルにおける特定の物理層およびデータリンク層の規格、又は、ファイバーチャネル規格を用いて通信する回路である。通信部２４０がインターネットプロトコルを使用する場合は、通信部２４０には、ＭＡＣアドレス（Media Access Control address）が割り当てられる。また、通信部２４０がファイバーチャネルを用いて通信を行う場合には、通信部２４０には、ＷＷＮ（World Wide Name）が割り当てられる。
【００２４】
ストレージ制御装置２００は、ストレージ装置の仮想化を行う装置である。ストレージの仮想化とは、複数のストレージ装置１００及び１００Ａ〜Ｃをあたかも単一のストレージ装置があるように、実際のボリュームとは異なる仮想的なボリュームを外部システム１０に対して見せる。例えば、ストレージ装置１００Ａに対する読み出し要求も、ストレージ装置１００Ｂに対する読み出し要求も、外部システム１０は、ストレージ制御装置２００を一つのストレージ装置と認識して、ＬＵＮと論理アドレスによるアクセスを行なうことができる。ストレージ装置の仮想化によって、既存のストレージ装置の容量が不足した際の拡張や、異機種のストレージ装置を組み合わせた利用が可能になる。
【００２５】
ストレージ制御装置２００は、外部システム１０にみせる仮想的なボリュームと、ストレージ装置１００上の実際のボリュームとの間でデータの位置についての関連付けを行うためのマッピングテーブル２５５を、記憶部２５０に格納する。ストレージ制御装置２００は、マッピングテーブル２５５を参照して、ストレージ装置１００の物理的なＬＵＮと、外部システム１０に見せる仮想的なＬＵＮとの間のＬＵＮ変換処理を行う。
【００２６】
図３は、マッピングテーブルの一例を示す図である。マッピングテーブル２５５は、ＬＵＮにより特定される仮想ディスクＬＵＮ情報と、ＬＵＮ及びＷＷＮより特定される物理ディスクＬＵＮ情報との対応関係を規定するテーブルである。ＷＷＮは、ストレージ装置を識別するので、マッピングテーブル２５５を参照することで、仮想ディスクＬＵＮ情報のＬＵＮと、物理ディスクＬＵＮ情報のＬＵＮ及びストレージ装置とを対応させることができる。そのため、ストレージ制御装置２００は、マッピングテーブル２５５を参照することで、仮想的なボリュームと、ストレージ装置１００上の実際のボリュームとの間のデータ位置についての関連付けを行うことができる。
【００２７】
例えば、仮想ディスクＬＵＮ情報ＬＵＮ「１」は、物理ディスクＬＵＮ情報「ＸＸＸ００００１」であるストレージ装置１００ＡのＬＵＮ「１」に対応する。仮想ディスクＬＵＮ情報ＬＵＮ「２」は、物理ディスクＬＵＮ情報「ＸＸＸ００００２」であるストレージ装置１００ＢのＬＵＮ「１」に対応する。ストレージ制御装置２００は、外部システム１０がＬＵＮ「１」を対象とするアクセス要求は、ストレージ装置１００ＡのＬＵＮ「１」を対象とするアクセス要求として、ストレージ装置１００Ａに転送する。また、外部システム１０がＬＵＮ「２」を対象とするアクセス要求は、ストレージ装置１００ＢのＬＵＮ「１」を対象とするアクセス要求として、ストレージ装置１００Ｂに転送する。
【００２８】
〔１．３  ストレージ装置〕
ストレージ装置１００は、ディスクアレイ部１０５、ドライブ部１２０、スタンバイキャッシュ１３０、通信部１４０、記憶部１５０、及び制御部１６０を有する。ストレージ装置１００に含まれる各ユニットは、バス接続されており、制御部１６０は、記憶部１５０内に格納されるプログラムを実行することで、各ユニットを制御する。
【００２９】
記憶部１５０は、データやプログラムを記憶する。記憶部２５０は、例えば、ＤＲＡＭである。記憶部１５０は、記録媒体５９０から読み出されたプログラム９９０を格納する。記録媒体５９０から読み出されたプログラム９９０は、ストレージ制御装置２００の入出力制御機能、キャッシュ管理機能、及び、キャッシュ反映機能を、ストレージ制御装置２００又はストレージ装置１００が実現するためのプログラムである。
【００３０】
ストレージ装置１００がプログラム９９０を実行する場合は、ストレージシステム３００において、ストレージ制御装置２００が存在せず、外部システム１０とストレージ装置１００が直接接続する場合である。その場合、ストレージシステム３００がストレージ制御装置２００を含まない例においては、ストレージ装置１００が上記機能を実現する。当該ケースのストレージシステムのハードウェア構成は、図１９を用いて後述する。
【００３１】
制御部１６０は、記憶部１５０内に格納されるプログラムを実行することで、各ユニットを制御する。制御部１６０は、例えば、ＣＰＵである。制御部１６０は、後述するように、ディスクアレイ部１０５のディスク、又は、スタンバイキャッシュ１３０のディスクに異常が生じ、異常が通知されると、異常信号をストレージ制御装置２００に送信するように通信部１４０を制御する。
【００３２】
ドライブ部２３０は、例えば、ＣＤ−ＲＯＭ、ＤＶＤなどの記録媒体５９０を読み書きする装置である。ドライブ部２３０は、記録媒体５９０を回転させるモータや記録媒体５９０上でデータを読み書きするヘッド等を含む。ドライブ部１２０は、ドライブ部１２０にセットされた記録媒体５９０からプログラムを読み出す。制御部１６０は、ドライブ部１２０により読み出されたプログラムを、記憶部１５０に格納する。
【００３３】
ディスクアレイ部１０５に含まれる各ディスクの位置は、ＲＡＩＤ番号及びディスク番号により識別される。ディスク番号は、ＲＡＩＤを構成するディスクに割り当てられる通番である。ディスク内のデータは、論理アドレスにより識別される。なお、ディスクアレイ部１０５は、ＲＡＩＤコントローラを含み、ＲＡＩＤコントローラが、パリティ演算や、ＲＡＩＤ構成に応じて各ディスクにデータを振り分けるディスクデータ管理を行なう。また、ＲＡＩＤコントローラは、ディスクに異常が生じると、異常を制御部１６０に通知する。
【００３４】
ディスクアレイ部１０５に含まれる各ディスクは、ＲＡＩＤを構成する。図１においては、ＲＡＩＤを構成する複数のディスクを、ＲＡＩＤ−１〜ＲＡＩＤ−５で示している。ＬＵＮは、ＲＡＩＤを構成する複数のディスク毎に割り振られることなく、複数のＲＡＩＤに対して割り当て、又は、ＲＡＩＤを構成する複数のディスクの一部に対して割り当てることも可能である。以下では、説明のために、ＬＵＮは、ＲＡＩＤ−１〜ＲＡＩＤ−５の各々を識別するように、割り当てられているものとする。
【００３５】
ＲＡＩＤを構成する複数のディスクのうちの１つはスタンバイディスクであり、他のディスクはアクティブディスクである。アクティブディスクの数は、ＲＡＩＤの方式により変わる。アクティブディスク数とスタンバイディスク数の比率は、ストレージシステム３００の利用者によって選択できる。ただし、ＲＡＩＤ内のアクティブディスク数は、ＲＡＩＤレベルにより異なる。下記に示す表１は、ＲＡＩＤレベルと、１つのスタンバイディスクに対するアクティブディスク数との対応関係を定義した表である。
【表１】
2012108040.tif 000023
【００３６】
表１に示すように、ＲＡＩＤレベルが１、つまり、ディスクがミラーリングされている場合、１つのスタンバイディスクに対して、アクディブディスクの数は１つとなる。ＲＡＩＤレベルが５の場合、ＲＡＩＤを構成するディスクの「構成台数−１」がアクディブディスク数になる。ＲＡＩＤレベルが６の場合、ＲＡＩＤを構成するディスクの「構成台数−２」がアクディブディスク数になる。このように、ＲＡＩＤのレベルに従って、１つのスタンバイディスクに対するアクティブディスクの数は変わる。スタンバイディスクの数が多いほど、省電力の効果は高いので、ＲＡＩＤレベル１のとき、最も省電力の効果が高い。
【００３７】
スタンバイキャッシュ１３０は、スタンバイディスクに書き込むべきデータをキャッシュするディスクである。スタンバイキャッシュ１３０は、ディスクに異常が生じると、異常を制御部１６０に通知する。スタンバイディスクが停止中に、アクディブディスクにデータの書き込みが行なわれると、スタンバイディスクとアクティブディスクの格納データが互いに相違する。スタンバイディスク停止中にアクティブディスクに書き込まれたデータは、スタンバイキャッシュ１３０に保持され、スタンバイディスクの記憶量が制限に達する等の一定条件が成立した場合、スタンバイキャッシュ１３０で保持されたデータはスタンバイディスクに反映される。なお、ストレージ制御装置２００は、スタンバイキャッシュ１３０に格納されたデータを、スタンバイディスクに反映する条件を規定したキャッシュ反映情報３２０を参照して、ストレージ装置１００に、キャッシュ反映指示を送信する。キャッシュ反映情報３２０の詳細は、図１４を用いて後述する。
【００３８】
スタンバイキャッシュ１３０は、データディスク１３２と、メタディスク１３４とを含む。データディスク１３２は、スタンバイディスクに反映すべきデータを保持する。データディスク１３２は、スタンバイディスクのデータを全て格納せずに、定期的にスタンバイディスクにデータを反映することで、スタンバイディスクと同じ容量ではなく、データディスク１３２の記憶容量を少なくすることができる。
【００３９】
なおデータディスクへの格納データは可変長である。これは、固定長でデータを保持した場合、管理単位（固定長）未満の書き込み要求があった場合、アクティブディスクに格納されるデータの一部を変更した後、キャッシュへ全データを書き込む必要があるためである。キャッシュ内のデータを可変長とすると、アクティブディスク内のデータの一部を変更した場合、変更部分だけをデータディスクに記憶すればよい。そのため、格納データを固定長として場合と比して、データディスクからスタンバイディスクへのデータ反映の回数の減少、反映データ量の削減、データディスクの記憶容量の削減が可能になる。
【００４０】
また、スタンバイキャッシュ１３０内に格納されるデータは、１世代とする。複数世代とならないように、データキャッシュに格納されるデータは、スタンバイディスクに反映される。
【００４１】
データディスク１３２は、スタンバイディスクに書き込むべきデータを、循環バッファ方式で保持する。メタディスク１３４は、データディスク１３２内の論理アドレスと、スタンバイディスクとの論理アドレスの対応関係を規定するデータマップ管理情報を格納する。
【００４２】
ストレージ制御装置２００は、データマップ管理情報２６１を参照することで、スタンバイディスクに反映すべきデータが、スタンバイキャッシュ１３０のどこに格納されているかを判別することができる。
【００４３】
〔２〕ストレージ制御装置とストレージ装置との間のデータ通信のシーケンス
図４は、ストレージ制御装置とストレージ装置との間のデータ通信のシーケンスの一例を示すシーケンス図である。
【００４４】
ストレージ制御装置２００は、外部システム１０から、ＬＵＮ及び論理アドレスを含むアクセス要求を受信する（Ｓ１１１）。ストレージ制御装置２００は、アクセス要求に含まれるＬＵＮを、ストレージ装置１００のＬＵＮに変換する（Ｓ１１２）。ストレージ制御装置２００は、ストレージ装置１００のＬＵＮを含むアクセス要求を、ストレージ装置１００に送信する（Ｓ１１３）。ストレージ制御装置２００は、アクセス要求の転送から応答の受信までの応答時間の遅延を示す応答遅延時間より、アクティブディスクによる応答時間が長い場合、スタンバイディスクの回転の開始を指示する開始指示命令をストレージ装置１００に送信する（Ｓ１１５）。
【００４５】
Ａ．読み出し要求
アクセス要求が、読み出し要求である場合、ストレージ制御装置２００は、キャッシュデータ取得要求をストレージ装置１００に送信して（Ｓ１２１）、回転を開始したスタンバイストレージが利用可能になるのを待つこと無く、データの取得が可能になる。ストレージ装置１００は、キャッシュデータ取得要求の応答をストレージ制御装置２００に送信する（Ｓ１２２）。
【００４６】
Ｂ．書き込み要求
アクセス要求が、書き込み要求である場合、ストレージ制御装置２００は、キャッシュ書き込み要求をストレージ装置１００に送信して（Ｓ１３１）、回転を開始したスタンバイストレージが利用可能になるのを待つこと無く、データの書き込みが可能になる。ストレージ装置１００は、キャッシュ書き込み要求の応答をストレージ制御装置２００に送信する（Ｓ１３２）。
【００４７】
Ｃ．スタンバイキャッシュ異常
スタンバイキャッシュ１３０のディスク等に異常が生じる場合、ストレージ装置１００は、異常信号をストレージ制御装置２００に送信する（Ｓ１４１）。ストレージ制御装置２００は、書き込み要求をストレージ装置１００に送信して、回転を開始して起動したスタンバイキャッシュに対してデータの書き込みを行なう（Ｓ１４２）。このように、スタンバイキャッシュ１３０の異常が生じても、データの書き込みは可能である。
【００４８】
応答（Ｓ１２２又はＳ１３２又はＳ１４３）を受信したストレージ制御装置２００は、応答を外部システム１０に転送する（Ｓ１５１）。
【００４９】
〔３〕ストレージ制御装置のスタンバイディスク制御
図５は、読み出し要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。チャート４０１は、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるケースを示す。Ｃ１は、外部システム１０からのアクセス要求に対するアクティブディスクの応答時間を示す。時間Ｔ１は、応答異常を判別するための閾値を示すアクティブディスク異常時間である。アクティブディスク異常時間は、後述のディスク制御情報３１０に登録されている。したがって、ストレージ制御装置２００は、ディスク制御情報３１０のアクティブディスク異常時間を参照することで、応答異常を判別することができる。Ｃ２は、スタンバイディスクの回転を開始し、定常回転に至る時間を示す。Ｃ２経過後、スタンバイディスクからの応答が開始される。チャート４０１では、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるために、外部システム１０への応答に対して遅延時間Ｔ２が生じる。
【００５０】
図５に示すチャート４０２は、アクティブディスクの応答が遅延した場合、応答異常の判断時間の経過を待たずに、スタンバイディスクを回転するとともに、スタンバイキャッシュ１３０から対象データを読み出すケースを示す。時間Ｔ３は、アクティブディスクの応答が遅延しているか否かを判別するための閾値となるアクティブディスク応答遅延時間である。アクティブディスク応答遅延時間も、後述のディスク制御情報３１０に登録されている。したがって、ストレージ制御装置２００は、ディスク制御情報３１０のアクティブディスク応答遅延時間を参照することで、応答遅延を判別することができる。ストレージ制御装置２００は、時間Ｔ３以内にアクティブディスクの応答がストレージ装置１００から無い場合、時間Ｔ３経過後、応答異常の判断時間の経過を待たずに、スタンバイディスクの回転をストレージ装置１００に指示する。
【００５１】
Ｃ４は、スタンバイディスクの回転を開始して、回転が安定し、読み出し可能になるまでの処理時間である。ストレージ制御装置２００は、スタンバイディスクの回転を開始した後に、スタンバイキャッシュ１３０内に対象データが存在するか否か判断する。Ｃ３は、スタンバイキャッシュ１３０内にデータがあるか否か判断する判断処理の時間である。チャート４０２では、スタンバイキャッシュ１３０内に要求データがあるケースを示し、ストレージ制御装置２００は、アクティブディスクの異常が判明すれば、スタンバイキャッシュ１３０からデータを読み出す。
【００５２】
図５に示すチャート４０３は、スタンバイキャッシュ１３０に要求対象データが無いため、スタンバイディスクからデータを読み出す。チャート４０３では、アクティブディスクの応答が遅延した場合、ストレージ制御装置２００は、応答異常の判断時間の経過を待たずに、スタンバイディスクを回転するとともに、アクティブディスクの異常が判明すれば、スタンバイディスクから対象データを読み出すケースを示す。Ｃ４は、スタンバイディスクの回転を開始して、回転が安定し、読み出し可能になるまでの処理時間である。
【００５３】
このように、チャート４０２及び４０３では、外部システム１０からのアクセス要求に対するアクティブディスクからの応答が遅延すると、スタンバイディスクの回転を開始することで、アクティブディスク故障後のスタンバイディスク起動による応答遅延を減らすことができる。
【００５４】
図６は、書き込み要求に対するスタンバイディスクのディスク回転制御の一例を示すタイムチャートである。
チャート４１１は、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるケースを示す。Ｃ１は、外部システム１０からのアクセス要求に対するアクティブディスクの応答時間を示す。時間Ｔ１は、応答異常を判別するための閾値となる時間である。Ｃ２は、スタンバイディスクの回転を開始し、定常回転に至る時間を示す。Ｃ２経過後、スタンバイディスクからの応答が開始される。チャート４１１では、アクティブディスクのエラー検出後にスタンバイディスクの回転を始めるために、外部システム１０への応答に対して遅延時間Ｔ２が生じる。
【００５５】
チャート４１２は、アクティブディスクの応答が遅延した場合、応答異常の判断時間の経過を待たずに、スタンバイディスクを回転するとともに、スタンバイキャッシュ１３０に対象データを書き込むケースを示す。時間Ｔ３は、アクティブディスクの応答が遅延しているか否かを判別するための閾値となる時間である。Ｃ６は、スタンバイキャッシュ１３０内にデータを書き込む時間である。ストレージ制御装置２００は、時間Ｔ３以内にアクティブディスクの応答がストレージ装置１００から無い場合、時間Ｔ３経過後、応答異常の判断時間の経過を待たずに、スタンバイディスクの回転をストレージ装置に指示する。
【００５６】
ストレージ制御装置２００は、スタンバイディスクの回転を開始した後に、スタンバイキャッシュ１３０内に対象データが存在するか否か判断する。Ｃ５は、スタンバイディスクの回転を開始して、回転が安定し、書き込み可能になるまでの処理時間である。チャート４１２では、ストレージ制御装置２００は、アクティブディスクの異常が判明すれば、スタンバイディスクにデータを書き込む。
【００５７】
このように、チャート４１２では、外部システム１０からのアクセス要求に対するアクティブディスクからの応答が遅延すると、スタンバイディスクの回転を開始することで、アクティブディスク故障後のスタンバイディスク起動による応答遅延を減らすことができる。
【００５８】
〔４〕ストレージ制御装置の機能
図５及び図６を用いて説明したストレージ制御装置の動作を実現するストレージ制御装置の機能について説明する。図７は、ストレージ制御装置が有する機能構成の一例を示す図である。図７には、入出力制御機能２０１、キャッシュ管理機能２０２、及びキャッシュ反映機能２０３が示される。入出力制御機能２０１、キャッシュ管理機能２０２、及びキャッシュ反映機能２０３は、ハードウェア的には、制御部２６０による演算や、制御部２６０による通信部２４０又は記憶部２５０に対する制御に相当する。したがって、各機能は、ストレージ制御装置２００のハードウェアに相当するため、図７に示される各機能と、外部システム１０及びストレージ装置１００との間の通信は、ストレージ制御装置２００と、外部システム１０及びストレージ装置１００との間のデータ通信に相当する。
【００５９】
また、入出力制御機能２０１、キャッシュ管理機能２０２、及びキャッシュ反映機能２０３は、ソフトウェア的には、制御部２６０がプログラム９９０を実行することで生成するプロセス又はスレッドに相当する。したがって、各機能間のデータのやり取りは、プロセス又はスレッド間のメッセージの送受信に相当する。以下、各機能について説明する。
【００６０】
Ａ．入出力制御機能
入出力制御機能は、上記したストレージの仮想化機能に加えて、マッピングテーブル２５５を参照して、外部システム１０から送信されたディスクへの読み出し要求又は書き込み要求を処理する機能である。入出力制御機能は、ディスクの応答時間を監視する監視機能、図５及び図６を用いて説明したスタンバイディスクの回転の開始を指示する回転制御機能、データ読み込み機能、及びデータ書き込み機能とを含む。
【００６１】
監視機能は、アクディブディスクによる読み出し要求又は書き込み要求の送信から応答の受信までの応答時間を監視する。回転制御機能は、ディスク制御情報３１０を参照する。
【００６２】
図８は、ディスク制御情報の一例を示す図である。ディスク制御情報３１０は、アクディブディスク異常時間と、アクディブディスク応答遅延時間とを含む。回転指示機能は、ディスク制御情報３１０を参照して、応答時間が、アクティブディスク応答遅延時間より長い場合、スタンバイディスクの回転の開始を指示する。
【００６３】
図８に示す例ではアクディブディスク応答遅延時間が「５秒」であるので、ストレージ制御装置２００の回転制御機能は、アクティブディスクからの応答が「５秒」以上遅延すると、図５及び図６を用いて説明したように、スタンバイディスクの回転を開始する。図８に示す例ではアクディブディスク異常時間が「３０秒」であるので、ストレージ制御装置２００の回転制御機能は、アクティブディスクからの応答が「３０秒」以上遅延すると、アクティブディスクは「異常」であると判断する。そして、ストレージ制御装置２００は、後述するディスク制御情報３１０のアクディブディスクの状態を「異常」にして、アクディブディスクへのアクセスを停止する。
【００６４】
データ読み込み機能は、外部システム１０から、ＬＵＮ及び論理アドレスを含む読み出し要求を受け取ると、マッピングテーブル２５５を参照して、読み出し要求先のストレージ装置及びＬＵＮを識別する。データ読み込み機能は、識別したストレージ装置に読み出し要求を送信する。データ読み込み機能は、ストレージ装置１００から読み出しデータを受け取ると、読み出しデータを、応答として外部システム１０に送信する。
【００６５】
データ書き込み機能は、外部システム１０から書き込みデータと、ＬＵＮ及び論理アドレスを含む書き込み要求とを受け取ると、マッピングテーブル２５５を参照し、書き込み要求先のストレージ装置及びＬＵＮを識別する。データ書き込み機能は、識別したストレージ装置に書き込みデータと、ＬＵＮ及び論理アドレスを含む書き込み要求を送信する。
【００６６】
入出力制御機能２０１はさらに、書き込み要求、読み出し要求、及び、無効化要求をキャッシュ管理機能に出力する。なお、無効化要求とは、アクティブディスクが故障したために、スタンバイディスク及びデータディスク１３２にデータを書き込む処理を行った後に、データディスク１３２に書き込んだデータのエントリを無効化する要求である。
【００６７】
また、入出力制御機能２０１は、記憶部２５０に格納されたディスク状態管理情報３３０を参照して、故障が生じたディスクへのアクセスを回避するとともに、停止中のスタンバイディスクの回転を開始する。
【００６８】
図９は、ディスク状態管理情報の一例を示す図である。図９に示されるディスク状態管理情報３３０は、ＲＡＩＤ番号で識別されるＲＡＩＤを構成するアクディブディスク及びスタンバイディスクの状態が、「正常」又は「異常」であるかを規定する。ディスク状態管理情報３３０は、ＲＡＩＤ番号３３１、アクティブディスク状態情報３３２、スタンバイディスクＡの状態情報３３３列及びスタンバイディスクＢの状態情報３３４を、エントリ（行）毎に定義する。例えば、ＲＡＩＤ番号が「１」であるＲＡＩＤを構成するアクディブディスクと、スタンバイディスクＡは、「正常」である。ＲＡＩＤ番号が「２」であるＲＡＩＤを構成するアクディブディスクは「異常」であり、スタンバイディスクＡ及びＢは、「正常」である。ＲＡＩＤ番号が「３」であるＲＡＩＤを構成するアクディブディスクと、スタンバイディスクＡは、「正常」である。
【００６９】
図９に示す例では、ＲＡＩＤ番号「２」のエントリのアクディブディスクの状態が「異常」であるので、ディスク状態管理情報３３０を参照した入出力制御機能２０１は、スタンバイディスクＢの回転を開始して、スタンバイディスクＢを起動する。
【００７０】
Ｂ．キャッシュ管理機能
キャッシュ管理機能２０２は、スタンバイキャッシュ１３０内に保持されるデータを、スタンバイディスクと対応付けて、データマップ管理情報２６１で管理する。キャッシュ管理機能２０２は、データマップ管理情報２６１を参照することで、読み出し要求及び書き込み要求の対象となるデータが、データディスク１３２内にあるかどうかを判別する。
【００７１】
図１０は、データマップ管理情報の一例を示す図である。データマップ管理情報２６１は、データディスク内の論理アドレスと、スタンバイディスク内の論理アドレスとの対応関係を規定する。図１０に示されるように、データマップ管理情報２６１には、格納番号２６２毎に、データのエントリを有する。各エントリには、データディスクの開始アドレス２６３、ＲＡＩＤグループ番号２６４と、スタンバイディスク番号２６５、スタンバイディスクの開始アドレス２６６、及びデータ長２６７の各データが入力される。
【００７２】
格納番号２６２とは、データを格納した順番を示す。データディスクの開始アドレス２６３とは、データディスク１３２にデータを格納した際のデータディスク内論理アドレスである。ＲＡＩＤグループ番号１３６は、スタンバイディスクが属するＲＡＩＤグループ番号である。スタンバイディスク番号２６５は、ＲＡＩＤグループ内のスタンバイディスクに付加した通番である。スタンバイディスクの開始アドレス２６６は、スタンバイディスクへ格納すべきであったデータの開始アドレスである。データ長２６７は、スタンバイディスクへ格納すべきであったデータのデータ長である。
【００７３】
キャッシュ管理機能２０２は、データマップ管理情報２６１を参照して、書き込み要求で指定された論理アドレスのデータがデータディスク１３２に未格納であるか否か判別する。書き込み要求で指定された論理アドレスのデータがデータディスク１３２に未格納である場合、キャッシュ管理機能２０２は、データディスク１３２にデータを追加して、メタディスク１３４内のデータマップ管理情報２６１を追加したデータのメタ情報で更新する。
【００７４】
キャッシュ管理機能２０２は、データマップ管理情報２６１を参照して、書き込み要求で指定された論理アドレスのデータがデータディスク１３２に格納済みであるか否か判別する。新たに書き込むデータが、指定されたアドレスが格納されている領域内であれば、キャッシュ管理機能２０２は、同じ領域に書き込みデータを上書きし、データマップ管理情報２６１は変更しない。
【００７５】
データディスク１３２の領域を超える場合は、既存データのデータを指すメタ情報を無効化し、新たなデータでデータマップ管理情報２６１を更新する。
【００７６】
読み出し要求で指定された論理アドレスのデータがデータディスク１３２内に格納済みである場合、キャッシュ管理機能２０２は、メタディスク１３４から、データディスク１３２の論理アドレス、データ長を取得し、該当データをデータディスク１３２から読み込む。
【００７７】
キャッシュ管理機能２０２は、スタンバイディスクの論理アドレスからデータディスク１３２内の論理アドレスを検索することができる。
【００７８】
データマップ管理情報２６１は、データディスクの論理アドレス基づくスタンバイディスクの論理アドレスの検索時間、又は、スタンバイディスクの論理アドレスに基づくデータディスクの論理アドレスの検索時間を減らすために高速検索可能なデータ構造としてもよい。
【００７９】
図１１は、木のデータ構造を有するデータマップ管理情報の一例を示す図である。図１１に示すデータマップ管理情報２６１は、枝でつながる複数のノードで構成される。２１１は、ＲＡＩＤ番号「１」及びディスク番号「１」のノードを示す。ノード２１２は、スタンバイディスクの開始アドレスを示し、ノード２１３は格納番号１の論理アドレスを示す。このように、データマップ管理情報２６１の全てについて一致検索する必要が無いので、データマップ管理情報２６１をＢ木のデータ構造とすることで、検索量を減らし、スタンバイディスクへのアクセス遅延をなくすことができる。
【００８０】
キャッシュ管理機能２０２は、指定されたＲＡＩＤ上の論理アドレスへの無効化要求を受け付けた際には、データマップ管理情報２６１から、無効化要求の対象となるエントリを無効化する。この処理はアクティブディスクが故障した場合に直接スタンバイディスクに書き込んだデータがデータディスクに残っていた場合に、該当データのエントリを無効化するのに使用する。キャッシュ反映機能から読み出し要求を受けた場合、メタディスクに保持している情報をすべて取り出し、順番にデータを返却する。
【００８１】
キャッシュ管理機能２０２はさらに、スタンバイキャッシュ状態管理情報３４０を参照して、異常のあるデータディスクにはデータを格納しないように動作する。
【００８２】
図１２は、スタンバイキャッシュ状態管理情報の一例を示す図である。図１２に示されるスタンバイキャッシュ状態管理情報３４０は、データディスク番号で識別されるデータディスクの状態が、「正常」又は「異常」であるかを規定する。キャッシュ管理機能２０２は、状態が「異常」であるデータディスクにはアクセスしないように動作する。
【００８３】
図１３は、書き込み要求に従ってデータディスクにデータを追加又は更新する処理の一例を示すフローチャートである。ストレージ制御装置２００は、外部システム１０から書き込み要求とともに書き込みデータを受け取ると、書き込み要求の論理アドレスに対応するエントリを、データマップ管理情報２６１から取得する（Ｓ１００１）。ストレージ制御装置２００は、データマップ管理情報２６１において、書き込み要求の論理アドレスに対応するエントリがある場合（Ｓ１００２  Ｙｅｓ）、データディスク１３２に書き込みデータを格納する記憶領域があるか否か判断する（Ｓ１００３）。記憶領域がある場合（Ｓ１００３  Ｙｅｓ）、ストレージ制御装置２００は、データディスク１３２に書き込みデータを記憶するとともに、当該書き込みデータでデータマップ管理情報２６１を更新する（Ｓ１００４）。
【００８４】
記憶領域が無い場合（Ｓ１００３  Ｎｏ）、データディスク１３２内において書き込み要求の論理アドレスに対応するデータを削除し、データマップ管理情報２６１から対応するエントリを削除する（Ｓ１００５）。書き込み要求の論理アドレスに対応するエントリが無い場合（Ｓ１００２  Ｎｏ）、又は、Ｓ１００５の後、データディスク１３２に書き込みデータを追加する（Ｓ１００６）。ストレージ制御装置２００は、書き込み要求でデータマップ管理情報２６１を追加して（Ｓ１００７）、スタンバイキャッシュ１３０へのデータの書き込み処理を終了する。
【００８５】
Ｃ．キャッシュ反映機能
キャッシュ反映機能２０３は、一定の条件に合致した場合、キャッシュ管理機能から得たスタンバイキャッシュ１３０の内容の一部または全部をスタンバイディスクに反映する機能である。キャッシュ反映機能２０３は、キャッシュ反映情報３２０にしたがって、スタンバイキャッシュ１３０内のデータを、スタンバイディスクに反映する。
【００８６】
図１４は、キャッシュ反映情報の一例を示す図である。キャッシュ反映情報３２０は、スタンバイディスクのＲＡＩＤグループ番号３２１と、スタンバイディスク番号３２２、スタンバイディスクの上限容量３２３、ＩＯ時間３２４、及び、通信時間帯３２５の各データが、エントリ毎に入力される。上限容量３２３、ＩＯ時間３２４、及び、通信時間帯３２５は、キャッシュ反映を行なう条件をそれぞれ示す。
【００８７】
上限容量３２３は、スタンバイキャッシュ１３０からスタンバイディスクへのデータ反映を開始する記憶量の上限閾値である。ＩＯ時間３２４は、スタンバイキャッシュ１３０のＩ／Ｏがない時間帯を示す。ＩＯ時間３２４は、スタンバイキャッシュ１３０が停止中と予め決められている時間である。通信時間帯３２５は、外部システム１０とストレージ制御装置２００との間の通信経路の負荷が軽い時間帯である。
【００８８】
キャッシュ反映機能２０３は、データディスクの記憶容量が上限容量３２３の値「５０％」を超え、ＩＯ時間３２４に示される時間帯であり、通信時間帯３２５に示す時間帯である等の条件を満たすか判断する。キャッシュ反映機能２０３は、全条件、又は、何れかの条件が満たされる場合、該当するＲＡＩＤグループのディスクに対して、スタンバイキャッシュ１３０の保持データを、スタンバイディスクに反映する。
【００８９】
図１５は、キャッシュ反映処理の一例を示すフローチャートである。キャッシュ反映処理は、アクティブディスクが正常に動作しており、且つスタンバイディスクが停止している場合と、アクティブディスクに異常になり、且つスタンバイディスクが動作している場合に、実行される処理である。キャッシュ反映処理が行われることで、スタンバイキャッシュ１３０内に保持され、スタンバイディスクに無い同一論理アドレスのデータが、スタンバイディスクに反映されることになる。
【００９０】
ストレージ制御装置２００は、スタンバイキャッシュ１３０がキャッシュ反映情報３２０に含まれる条件を満たすか否かを判断する（Ｓ１０２１）。キャッシュ反映情報３２０の条件を満たす場合（Ｓ１０２１  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイディスクが起動しているか否かを判断する（Ｓ１０２２）。スタンバイディスクが起動していない場合（Ｓ１０２２  Ｎｏ）、データを反映するために、スタンバイディスクの回転を開始する（Ｓ１０２３）。スタンバイディスクが起動中であると（Ｓ１０２２  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイキャッシュ１３０へ書き込み済み全データをスタンバイディスクに反映するように、ストレージ装置１００を制御する（Ｓ１０２４）。スタンバイディスクへのスタンバイキャッシュ１３０の格納データの反映が終わると、ストレージ制御装置２００は、アクティブディスク又はスタンバイキャッシュ１３０は異常であるかどうか判断する（Ｓ１０２５）。アクディブディスク及びスタンバイキャッシュ１３０が異常ではない場合（Ｓ１０２５  Ｎｏ）、スタンバイディスクを停止して（Ｓ１０２６）、キャッシュ反映処理を終了する。アクディブディスク又はスタンバイキャッシュ１３０が異常である場合（Ｓ１０２５  Ｙｅｓ）、スタンバイディスクを停止せずに、キャッシュ反映処理を終了する。
【００９１】
図１６は、データディスクの設定例を示す図である。図１６には、ディスクアレイ部１０５と、データディスク１３２とが示される。ディスクアレイ部の可用性を維持するため、データディスク１３２のディスク数は、各ＲＡＩＤを構成するスタンバイディスク数のうち最大のスタンバイディスク数にする。図１６に示す例では、ＲＡＩＤレベル６のＲＡＩＤグループ３のスタンバイディスク数が「２」であるので、データディスク１３２の数も「２」となる。このようにすることで、起動が必要なスタンバイディスクにデータを反映する際に、各スタンバイディスクが対応するデータディスクからデータの反映を行うことができるので、スタンバイディスクのデータ反映時間を短縮することができる。また、データディスクの容量は、蓄積させるデータ量と、反映処理が動作中のライト量により設定される。
【００９２】
〔５〕ストレージ制御装置の処理フロー
図１７は、読み出し要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。まず、ストレージ制御装置２００は、外部システム１０から受け取った読み出し要求を、ストレージ装置１００に送信する（Ｓ１１０１）。ストレージ制御装置２００は、アクティブディスクからの応答が遅延しているか否かを判断する（Ｓ１１０２）。応答が遅延している場合（Ｓ１１０２  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイディスクの回転の開始を、ストレージ装置１００に指示する（Ｓ１１０３）。応答が遅延していない場合（Ｓ１１０２  Ｎｏ）、又は、スタンバイディスク回転開始（Ｓ１１０３）後、ストレージ制御装置２００は、アクティブディスクにエラーが生じているか否か判断する（Ｓ１１０４）。アクティブディスクにエラーが生じている場合（Ｓ１１０４  Ｙｅｓ）、スタンバイキャッシュ１３０が正常か否かを判断する（Ｓ１１０５）。スタンバイキャッシュ１３０にエラーが生じている場合（Ｓ１１０５  Ｎｏ）、ストレージ制御装置２００は、ＩＯエラーを外部システム１０に通知して（Ｓ１１２１）、処理を終了する。スタンバイキャッシュ１３０が正常である場合（Ｓ１１０５  Ｙｅｓ）、ストレージ制御装置２００は、ディスク状態管理情報３３０のアクティブディスクの状態を「異常」とし、スタンバイディスクの状態を「正常」とする（Ｓ１１０６）。
【００９３】
ストレージ制御装置２００は、スタンバイキャッシュ１３０に読み出し要求の対象となるデータがあるか否か判断する（Ｓ１１０７）。スタンバイキャッシュ１３０にデータがある場合（Ｓ１１０７  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイキャッシュ１３０からデータを読み込む（Ｓ１１０８）。ストレージ制御装置２００は、読み込んだデータを外部システム１０に送信して（Ｓ１１０９）、処理を終了する。
【００９４】
スタンバイディスクからではなく、スタンバイキャッシュ１３０からデータを読み出すことで、スタンバイディスクの回転が安定する前に、外部システム１０に応答することができる。
【００９５】
スタンバイキャッシュ１３０にデータが無い場合（Ｓ１１０７  Ｎｏ）、ストレージ制御装置２００は、スタンバイディスクの起動を待って（Ｓ１１１１）、スタンバイディスクからデータを読み込む（Ｓ１１１２）。ストレージ制御装置２００は、読み込んだデータを外部システム１０に送信して（Ｓ１１０９）、処理を終了する。
【００９６】
アクティブディスクにエラーが生じなかった場合（Ｓ１１０４  Ｎｏ）、ストレージ制御装置２００は、アクディブディスクからデータを読み込み（Ｓ１１３１）、電力の消費を防ぐために、スタンバイディスクを停止する（Ｓ１１３２）。次に、ストレージ制御装置２００は、読み込んだデータを外部システム１０に送信して（Ｓ１１０９）、処理を終了する。
【００９７】
図１８は、書き込み要求動作中にアクティブディスクでの故障が生じた場合の動作処理の一例を示すフローチャートである。まず、ストレージ制御装置２００は、外部システム１０から受け取った書き込み要求を、ストレージ装置１００のアクティブディスクに送信する（Ｓ１２０１）。ストレージ制御装置２００は、アクティブディスクからの応答が遅延しているか否かを判断する（Ｓ１２０２）。応答が遅延している場合（Ｓ１２０２  Ｙｅｓ）、ストレージ制御装置２００は、スタンバイディスクの回転の開始を、ストレージ装置１００に指示する（Ｓ１２０３）。応答が遅延していない場合（Ｓ１２０２  Ｎｏ）、又は、スタンバイディスク回転開始（Ｓ１２０３）後、ストレージ制御装置２００は、アクティブディスクにエラーが生じているか否か判断する（Ｓ１２０４）。
【００９８】
アクティブディスクにエラーが生じている場合（Ｓ１２０４  Ｙｅｓ）、スタンバイキャッシュ１３０が正常か否かを判断する（Ｓ１２０５）。スタンバイキャッシュ１３０にエラーが生じている場合（Ｓ１２０５  Ｎｏ）、ストレージ制御装置２００は、ＩＯエラーを外部システム１０に通知する（Ｓ１２２１）。そして、ストレージ制御装置２００は、スタンバイディスクにデータを書き込んで（Ｓ１２０７）、処理を終了する。
【００９９】
アクディブディスクにエラーが生じており（Ｓ１２０４  Ｙｅｓ）且つスタンバイディスクが正常である場合（Ｓ１２０５  Ｙｅｓ）、ストレージ制御装置２００は、ディスク状態管理情報３３０のアクティブディスクの状態を「異常」とし、スタンバイディスクの状態を「正常」とする（Ｓ１２０６）。そして、ストレージ制御装置２００は、スタンバイディスクにデータを書き込んで（Ｓ１２０７）、処理を終了する。
【０１００】
アクティブディスクが正常である場合（Ｓ１２０４  Ｎｏ）、ストレージ制御装置２００は、スタンバイキャッシュ１３０が正常か否かを判断する（Ｓ１２１１）。スタンバイキャッシュ１３０にエラーが生じている場合（Ｓ１２１１  Ｎｏ）、ストレージ制御装置２００は、バックグラウンドでスタンバイディスクにスタンバイキャッシュ１３０のデータを反映する（Ｓ１２１２）。ストレージ制御装置２００は、アクティブディスクにデータを書き込んで（Ｓ１２１３）、処理を終了する。
【０１０１】
アクディブディスクが正常で（Ｓ１２０４  Ｎｏ）且つスタンバイディスクが正常である場合（Ｓ１２１１  Ｙｅｓ）、ストレージ制御装置２００は、消費電力削減のためにスタンバイディスクを停止して（Ｓ１２４１）、アクティブディスクにデータを書き込んで（Ｓ１２１３）、処理を終了する。
【０１０２】
〔６〕ストレージ装置の変形例
図１９は、ストレージ装置の変形例を示す図である。図１９に示す変形例のストレージ装置１００Ｄは、ストレージ制御装置２００を介さずに、外部システム１０から書き込み要求と読み出し要求を直接受け取る。ストレージ装置１００Ｄは、記録媒体５９０Ａに格納されるプログラム９９０Ａをドライブ部１２０から読み込み、記憶部１５０に格納する。記憶部１５０に格納されたプログラム９９０Ａを制御部１６０が実行することで、ストレージ装置１００Ｄは、図７で説明したストレージ仮想化機能を除く入出力制御機能、キャッシュ管理機能、キャッシュ反映機能を実現し、図６及び図７で説明したような、スタンバイディスクのディスク回転制御を実行する。
【０１０３】
以上の実施例を含む実施形態に関し、さらに、以下の付記を開示する。
(付記１）
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部と、
を備えることを特徴とするストレージ制御装置。
【０１０４】
(付記２）
前記ストレージ装置は、前記起動中の第１ディスクに記憶され、且つ、前記停止中の第２ディスクに記憶されていないデータを保持するキャッシュ部を有し、
前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、応答遅延時間より長い場合、前記制御部はさらに、前記読み出し要求に対するデータの読み出しを指示するキャッシュデータ読み出し命令を、前記ストレージ装置に送信するように前記通信部を制御して、前記キャッシュ部からデータを読み出すことを特徴とする付記１に記載のストレージ制御装置。
【０１０５】
(付記３）
前記読み出し要求に対応したデータが前記キャッシュ部に保持されておらず、且つ、前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記制御部は、前記回転の開始により起動中の前記第２ディスクからデータを読み出すように前記通信部を制御して、前記第２ディスクからデータを読み出すことを特徴とする付記２に記載のストレージ制御装置。
【０１０６】
(付記４）
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、前記第１ディスク又は前記第２ディスクから前記読み出し要求又は書き込み要求に対する応答を受信する通信手段と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転指示手段と、
を備えることを特徴とするストレージ制御装置。
【０１０７】
(付記５）
前記起動中の第１ディスクに記憶され、且つ、前記停止中の第２ディスクに記憶されていないデータを保持するキャッシュ手段と、
前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、応答遅延時間より長い場合、前記読み出し要求に対応したデータをキャッシュ手段から読み出すキャッシュ管理手段と、をさらに備えることを特徴とする付記４に記載のストレージ制御装置。
【０１０８】
(付記６）
前記読み出し要求に対応したデータが前記キャッシュ手段に保持されておらず、且つ、前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記回転の開始により起動中の前記第２ディスクからデータを読み出すデータ読み出し手段をさらに備えることを特徴とする付記５に記載のストレージ制御装置。
【０１０９】
(付記７）
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、前記第１ディスク又は前記第２ディスクから前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する制御部と、
を備えることを特徴とするストレージ制御装置。
【０１１０】
(付記８）
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置と、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部、及び、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部を、を有するストレージ制御装置と、
を備えることを特徴とするストレージシステム。
【０１１１】
(付記９）
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置の制御方法であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する、
ことを特徴とする制御方法。
【０１１２】
(付記１０）
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するためのプログラムであって、コンピュータに、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信する処理と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する処理と、
を実行させることを特徴とするプログラム。
【０１１３】
(付記１１）
前記ストレージ装置は、前記起動中の第１ディスクに記憶され、且つ、前記停止中の第２ディスクに記憶されていないデータを保持するキャッシュ部を有し、
前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、応答遅延時間より長い場合、前記読み出し要求に対するデータの読み出しを指示するキャッシュデータ読み出し命令を、前記ストレージ装置に送信するように通信部を制御して、前記キャッシュ部からデータを読み出す処理を、制御部に実行させることを特徴とする付記１０に記載のプログラム。
【０１１４】
(付記１２）
前記読み出し要求に対応したデータが前記キャッシュ部に保持されておらず、且つ、前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記回転の開始により起動中の前記第２ディスクからデータを読み出すように通信部を制御して、前記第２ディスクからデータを読み出す処理を、制御部に実行させることを特徴とする付記１１に記載のプログラム。
【０１１５】
(付記１３）
起動中の第１ディスクと停止中の第２ディスクと制御部とを含むストレージを制御するためのプログラムであって、前記制御部に、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信する処理と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する応答を、前記第１ディスクから受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する処理と、
を実行させることを特徴とするプログラム。
【符号の説明】
【０１１６】
１０    外部システム
１００    ストレージ装置
１０５    ディスクアレイ部
１３０    スタンバイキャッシュ
１３２    データディスク
１３４    メタディスク
１５０    記憶部
１６０    制御部
２００    ストレージ制御装置
２０１    入出力制御機能
２０２    キャッシュ管理機能
２０３    キャッシュ反映機能
２５０    記憶部
２５５    マッピングテーブル
２６０    制御部
２６１    データマップ管理情報
３００    ストレージシステム
３１０    ディスク制御情報
３２０    キャッシュ反映情報
３３０    ディスク状態管理情報
３４０    スタンバイキャッシュ状態管理情報
５９０    記録媒体
９９０    プログラム
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、該ストレージ装置から前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転開始命令を前記ストレージ装置に送信するように前記通信部を制御する制御部と、
を備えることを特徴とするストレージ制御装置。
【請求項２】
前記ストレージ装置は、前記起動中の第１ディスクに記憶され、且つ、前記停止中の第２ディスクに記憶されていないデータを保持するキャッシュ部を有し、
前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、応答遅延時間より長い場合、前記制御部はさらに、前記読み出し要求に対するデータの読み出しを指示するキャッシュデータ読み出し命令を、前記ストレージ装置に送信するように前記通信部を制御して、前記キャッシュ部からデータを読み出すことを特徴とする請求項１に記載のストレージ制御装置。
【請求項３】
前記読み出し要求に対応したデータが前記キャッシュ部に保持されておらず、且つ、前記起動中の第１ディスクへの前記読み出し要求に対する前記応答を受信するまでの時間が、前記応答遅延時間より長い場合、前記制御部は、前記回転の開始により起動中の前記第２ディスクからデータを読み出すように前記通信部を制御して、前記第２ディスクからデータを読み出すことを特徴とする請求項２に記載のストレージ制御装置。
【請求項４】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、前記第１ディスク又は前記第２ディスクから前記読み出し要求又は書き込み要求に対する応答を受信する通信手段と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する回転指示手段と、
を備えることを特徴とするストレージ制御装置。
【請求項５】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するストレージ制御装置であって、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信し、前記第１ディスク又は前記第２ディスクから前記読み出し要求又は書き込み要求に対する応答を受信する通信部と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する前記応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する制御部と、
を備えることを特徴とするストレージ制御装置。
【請求項６】
起動中の第１ディスクと停止中の第２ディスクとを含むストレージ装置を制御するためのプログラムであって、コンピュータに、
前記ストレージ装置に対して読み出し要求又は書き込み要求を送信する処理と、
前記起動中の第１ディスクへの前記読み出し要求又は書き込み要求に対する応答を受信するまでの時間が、所定の閾値より長い場合、前記第２ディスクの回転の開始を指示する処理と、
を実行させることを特徴とするプログラム。
【国際調査報告】
2012108040.tif 000024
2012108040.tif 000025