(57)【要約】【課題】スペアドライブの冗長化の構成を実現し、スペアドライブにデータを連続して書き込むことで、効率的な管理を可能とするストレージシステム及びデータ退避方法を提案しようとするものである。【解決手段】複数のデータドライブと、複数のデータドライブのうち少なくとも１つのデータドライブ内に格納されるデータを退避対象データとして格納する複数のスペアドライブと、複数のデータドライブから構成される１以上のレイドグループと、１以上のレイドグループと関連付けられ、複数のスペアドライブから構成される１以上のスペア用レイドグループと、少なくとも１つのデータドライブから退避対象データを読み出した順に１以上のスペア用レイドグループを構成する複数のスペアドライブに書き込む書き込み部と、を備えることを特徴とする。【選択図】図１
2009252114.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータドライブと、
前記複数のデータドライブのうち少なくとも１つのデータドライブ内に格納されるデータを退避対象データとして格納する複数のスペアドライブと、
前記複数のデータドライブから構成される１以上のレイドグループと、
前記１以上のレイドグループと関連付けられ、前記複数のスペアドライブから構成される１以上のスペア用レイドグループと、
前記少なくとも１つのデータドライブから前記退避対象データを読み出した順に、前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに前記退避対象データを書き込む書き込み部と、
を備えることを特徴とするストレージシステム。
【請求項２】
前記少なくとも１つのデータドライブから前記退避対象データを読み出した順に前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに書き込むための退避対象データの関連情報を付与する付与部をさらに備える、
ことを特徴とする請求項１記載のストレージシステム。
【請求項３】
複数のレイドグループは、
１つのスペア用レイドグループと関連付けられるように管理される
ことを特徴とする請求項１記載のストレージシステム。
【請求項４】
前記退避対象データの関連情報は、
前記退避対象データを前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに書き込む日時を記録するログ情報を含む
ことを特徴とする請求項２記載のストレージシステム。
【請求項５】
前記退避対象データの関連情報は、
前記少なくとも１つのデータドライブから読み出した前記退避対象データの新旧データを識別する識別情報を含む
ことを特徴とする請求項２記載のストレージシステム。
【請求項６】
前記退避対象データが前記メモリ内の領域の閾値以上格納されると、前記少なくとも１つのデータドライブから前記退避対象データを読み出した順に前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに書き込む
ことを特徴とする請求項１記載のストレージシステム。
【請求項７】
前記少なくとも１つのデータドライブから前記退避対象データを読み出した順に前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに書き込む際に、前記退避対象データの上書きデータを受信した場合には、前記退避対象データが書き込まれた後に連続して書き込む
ことを特徴とする請求項１記載のストレージシステム。
【請求項８】
前記複数のスペアドライブに格納された前記退避対象データを交換後のデータドライブに書き戻す場合には、前記退避対象データの関連情報に基づいて古い退避対象データから前記交換後のデータドライブに書き戻す
ことを特徴とする請求項１記載のストレージシステム。
【請求項９】
複数のデータドライブから１以上のレイドグループを構成するステップと、
前記複数のデータドライブのうち少なくとも１つのデータドライブ内に格納されるデータを退避対象データとして複数のスペアドライブに格納するステップと、
前記１以上のレイドグループと関連付けられ、前記複数のスペアドライブから構成される１以上のスペア用レイドグループと、
前記少なくとも１つのデータドライブから前記退避対象データを読み出した順に、前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに前記退避対象データを書き込む書き込みステップと、
こと備えることを特徴とするデータ退避方法。
【請求項１０】
前記少なくとも１つのデータドライブから前記退避対象データを読み出した順に前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに書き込むための退避対象データの関連情報を付与するステップをさらに備える、
ことを特徴とする請求項９記載のデータ退避方法。
【請求項１１】
複数のレイドグループと１つのスペア用レイドグループと、を関連付けて管理するステップをさらに備える
ことを特徴とする請求項９記載のデータ退避方法。
【請求項１２】
前記退避対象データの関連情報は、
前記退避対象データを前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに書き込む日時を記録するログ情報を含む
ことを特徴とする請求項１０記載のデータ退避方法。
【請求項１３】
前記退避対象データの関連情報は、
前記少なくとも１つのデータドライブから読み出した前記退避対象データの新旧データを識別する識別情報を含む
ことを特徴とする請求項１０記載のデータ退避方法。
【請求項１４】
前記退避対象データが前記メモリ内の領域の閾値以上格納されると、前記少なくとも１つのデータドライブから前記退避対象データを読み出した順に前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに書き込むステップ、をさらに備える
ことを特徴とする請求項９記載のデータ退避方法。
【請求項１５】
前記少なくとも１つのデータドライブから前記退避対象データを読み出した順に前記１以上のスペア用レイドグループを構成する前記複数のスペアドライブに書き込む際に、前記退避対象データの上書きデータを受信した場合には、前記退避対象データが書き込まれた後に連続して書き込むステップ、をさらに備える
ことを特徴とする請求項９記載のデータ退避方法。
【請求項１６】
前記複数のスペアドライブに格納された前記退避対象データを交換後のデータドライブに書き戻す場合には、前記退避対象データの関連情報に基づいて古い退避対象データから前記交換後のデータドライブに書き戻すステップ、をさらに備える
ことを特徴とする請求項９記載のデータ退避方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びデータ退避方法に関する。特に、データを交替用のドライブに書き込む技術について適用する。
【背景技術】
【０００２】
従来、ストレージシステムのストレージ装置には、複数のハードディスクドライブが実装されている。この複数のハードディスクドライブをＲＡＩＤ方式で管理することで、ストレージシステムの信頼性が向上している。
【０００３】
複数のハードディスクドライブのうち、いずれかのハードディスクドライブに障害が発生した場合には、障害が発生したハードディスクドライブ（以下、データドライブという）に格納されるデータを、ストレージ装置に予め実装されている交替用のハードディスクドライブ（以下、スペアドライブという）に退避させる方法が知られている。しかし、このスペアドライブは、障害が発生したデータドライブ内のデータを復元させるために構成されるレイドグループに対して、１台しか用いられない。このため、スペアドライブにデータドライブ内のデータを退避させる際の時間がかかり、スペアドライブに退避させていたデータを交換後のデータドライブに書き込む際の時間もかかってしまう。また、スペアドライブの容量不足から、障害が発生したデータドライブ内のデータをスペアドライブに全て書き込むことができず、障害が発生したデータドライブ内データを復元させることができない、ということも生じている。
【０００４】
特許文献１には、スペアドライブを複数台実装し、複数台のスペアドライブから構成されるプール領域に、障害が発生したデータドライブ内のデータを退避させる技術が開示されている。
【特許文献１】特開２００５−１４９３７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示される技術によれば、スペアドライブの物理的な容量を考慮する必要はないが、スペアドライブを冗長化できる構成ではない。またスペアドライブの物理的な容量を考慮していないため、物理的なスペアドライブにデータを連続して書き込むことはできない。このため冗長化の構成を実現し、スペアドライブにデータを連続して書き込むために必要となる、スペア用のレイドグループに書き込まれるデータの具体的な管理方法や、書き込まれるデータ容量及びプール領域の容量の具体的な管理方法等、については記載されていない。
【０００６】
そこで、本発明は、スペアドライブの冗長化の構成を実現し、スペアドライブにデータを連続して書き込むことで効率的な管理を可能とするストレージシステム及びデータ退避方法を提案しようとするものである。
【課題を解決するための手段】
【０００７】
かかる課題を解決するため、本発明は、複数のデータドライブと、複数のデータドライブのうち少なくとも１つのデータドライブ内に格納されるデータを退避対象データとして格納する複数のスペアドライブと、複数のデータドライブから構成される１以上のレイドグループと、１以上のレイドグループと関連付けられ、複数のスペアドライブから構成される１以上のスペア用レイドグループと、少なくとも１つのデータドライブから退避対象データを読み出した順に１以上のスペア用レイドグループを構成する複数のスペアドライブに書き込む書き込み部と、を備えることを特徴とする。
【０００８】
その結果、複数のスペアドライブをレイド構成にすることで、スペアドライブの冗長化を実現することができる。また、退避対象データを読み出した順に複数のスペアドライブに連続して書き込むことができるため、ストレージシステムの性能が向上する。
【０００９】
また、本発明においては、複数のデータドライブから１以上のレイドグループを構成するステップと、複数のデータドライブのうち少なくとも１つのデータドライブ内に格納されるデータを退避対象データとして複数のスペアドライブに格納するステップと、１以上のレイドグループと関連付けられ、複数のスペアドライブから構成される１以上のスペア用レイドグループと、少なくとも１つのデータドライブから退避対象データを読み出した順に１以上のスペア用レイドグループを構成する複数のスペアドライブに書き込む書き込みステップと、を備えることを特徴とする。
【００１０】
その結果、複数のスペアドライブをレイド構成にすることで、スペアドライブの冗長化を実現することができる。また、退避対象データを読み出した順に複数のスペアドライブに連続して書き込むことができるため、ストレージシステムの性能が向上する。
【発明の効果】
【００１１】
本発明によれば、スペアドライブの冗長化の構成を実現し、スペアドライブにデータを連続して書き込むことで、ストレージシステムを効率的に管理することができる。
【００１２】
また、複数のデータドライブから構成される複数のレイドグループが１つのスペアドライブを共有することができるので、ストレージシステムを効率的に管理することができる。
【発明を実施するための最良の形態】
【００１３】
以下図面について、本発明の一実施の形態を詳述する。
【００１４】
（１）本実施の形態によるストレージシステムの構成
図１において、１は全体として本実施の形態によるストレージシステム１を示す。このストレージシステム１１は、ホスト装置２がネットワーク３を介してストレージ装置４と接続され、ストレージ装置４が管理端末７と接続される構成である。
【００１５】
ホスト装置２は、ＣＰＵ６５やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション、メインフレームなどから構成される。またホスト装置２２は、キーボード、スイッチ等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００１６】
ネットワーク３は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。例えばネットワーク３がＳＡＮの場合には、ファイバチャネルプロトコルに従って行われ、ネットワーク３がＬＡＮの場合には、ＴＣＰ／ＩＰプロトコルに従って行われる。本実施の形態では、ホスト装置２とストレージ装置４とを接続するネットワーク３には、ＳＡＮを使用する。
【００１７】
ストレージ装置４は、複数のハードディスクドライブＨＤＤからなるディスク部５と、複数のハードディスクをＲＡＩＤ方式で管理するコントローラ部６と、を備えて構成される。
【００１８】
ハードディスクドライブＨＤＤは、例えばＳＣＳＩディスク等のアクセス性能の高い高価なディスクや、ＳＡＴＡディスクや光ディスク等のアクセス性能の低い安価なディスク等から構成される。
【００１９】
ハードディスクドライブＨＤＤには、ホスト装置２からのデータ及びデータのパリティデータを格納するためのデータドライブＤ−ＨＤＤと、障害が発生したデータドライブＤ−ＨＤＤに格納するデータ（パリティデータも含む）を退避させるためのスペアドライブＳ−ＨＤＤと、がある。
【００２０】
そして、ディスク部５は、複数のデータドライブＤ−ＨＤＤからデータ用のレイドグループＲＧ（以下、データ用レイドグループＲＧという）を構成し、複数のスペアドライブＳ−ＨＤＤからスペア用のレイドグループＳ−ＲＧ（以下、スペア用レイドグループＳ−ＲＧという）を構成してなる。
【００２１】
ここで、データ用レイドグループＲＧとは、ストレージ装置４がＲＡＩＤ方式で管理するグループであって、障害が発生したデータドライブＤ−ＨＤＤ内のデータを復旧できるグループをいい、グループを構成するデータドライブＤ−ＨＤＤの台数は特定しない。
【００２２】
また、スペア用レイドグループＳ−ＲＧとは、ストレージ装置４がＲＡＩＤ方式で管理するグループであって、２台以上のスペアドライブＳ−ＨＤＤから構成されるグループをいう。スペア用レイドグループＳ−ＲＧを構成する２台以上のスペアドライブＳ−ＨＤＤに、障害が発生したデータドライブＤ−ＨＤＤ内のデータが、分散されて格納される。
【００２３】
なお、レイドレベルは、データを連続して書き込めることのできるレイド３やレイド４のレベルが最適であるが、このレベルには限られない。
【００２４】
そして、１つのデータ用レイドグループＲＧが提供する記憶領域上に、１又は複数の論理ボリューム（図示しない）が定義される。
【００２５】
論理ボリュームには、固有の識別子ＬＵＮ（Logical Block Number）が割り当てられる。データの入出力は、この識別子及び論理ボリューム内を論理的に分割したブロックに割り当てられる固有の番号ＬＢＡ（Logical Block Addressing）を組み合わせたアドレスを、指定して行われる。
【００２６】
また、この１つのスペア用レイドグループＳ−ＲＧが提供する記憶領域をプール領域と呼ぶ。
【００２７】
コントローラ部６は、チャネル制御部６１、接続部６２、キャッシュメモリ６３、ディスク制御部６４、ＣＰＵ６５、及びメインメモリ６６を備えて構成される。
【００２８】
チャネル制御部６１は、ホスト装置２との間のインタフェースとして機能し、当該ホスト装置２との間で各種コマンドやデータを送受する。また、チャネル制御部６１は、ホスト装置２から送信される各種コマンドを解釈して、必要な処理を実行する。
【００２９】
接続部６２は、例えば相互接続可能なスイッチ又はバス等で構成される。チャネル制御部６１、ディスク制御部６４、キャッシュメモリ６３、メインメモリ６６及びＣＰＵ６５間のデータやコマンドの授受は、この接続部６２を介して行われる。
【００３０】
ディスク制御部６４は、ディスク部５との通信時におけるプロトコル制御を行うインタフェースとして機能する。ディスク制御部６４は、例えばファイバチャネルケーブルを介して対応するディスク部５と接続されており、ファイバチャネルプロトコルに従ってディスク部５との間のデータの授受を行う。
【００３１】
キャッシュメモリ６３は、チャネル制御部６１及びディスク制御部６４により共有される記憶メモリである。キャッシュメモリ６３は、主にストレージ装置４に入出力されるデータを一時的に記憶するために利用される。
【００３２】
メインメモリ６６も、チャネル制御部６１及びディスク制御部６４により共有される記憶メモリである。メインメモリ６６は、主にシステム構成情報及び各種制御プログラムや、ホスト装置２からのコマンドなどを記憶するために利用される。また、メインメモリ６６には、図２に示すように、ドライブ管理情報テーブル１０、データドライブ管理情報テーブル１１、スペアドライブ管理情報テーブル１２、ログテーブル１３、データ用レイドグループＲＧを追加又は削除した場合に設定を変更する変更プログラム１４、障害が発生したデータドライブＤ−ＨＤＤ内のデータをスペアドライブＳ−ＨＤＤに書き込むための書き込みプログラム１５、交換後のデータドライブＤ−ＨＤＤにデータを書き戻すために必要な再構成時間の設定する再構成時間プログラム１６、及び、スペアドライブＳ−ＨＤＤから交換後のデータドライブＤ−ＨＤＤにデータを書き戻すコピーバックプログラム１７が格納される。なお、メインメモリ６６に格納される各種テーブルについては、後述で説明する。
【００３３】
図１に戻り、ＣＰＵ６５は、メインメモリ６６上にあるプログラムを読み込み、解釈し、その結果に従ってデータの移動等を行う中央処理部である。チャネル制御部６１、ディスク制御部６４、キャッシュメモリ６３、及びメインメモリ６６と直接または接続部６２を介して接続され、データやプログラムのやり取りを行う。
【００３４】
管理端末７は、ストレージ装置４の管理のために操作されるコンピュータ装置であり、例えばパーソナルコンピュータから構成される。管理端末７は、データ用レイドグループＲＧとスペア用レイドグループＳ−ＲＧとの関連づけの管理や、交換後のデータドライブＤ−ＨＤＤにデータを書き戻すために必要な再構成時間の設定等を行う。また、管理端末７は、このような管理処理や設定処理を行うための管理画面７１を備える。
【００３５】
（２）テーブルの構成
それでは次に、メインメモリ６６に格納されるドライブ管理情報テーブル１０、データドライブ管理情報テーブル１１、スペアドライブ管理情報テーブル１２、及びログテーブル１３のそれぞれの構成について説明する。
【００３６】
（２−１）ドライブ管理情報テーブル
ドライブ管理情報テーブル１０は、ストレージ装置４がデータドライブＤ−ＨＤＤ及びスペアドライブＳ−ＨＤＤとしてハードディスクドライブＨＤＤを制御する上で必要な情報を管理するテーブルである。
【００３７】
図３に示すように、ドライブ管理情報テーブル１０は、「ドライブ管理番号」欄１００、「ドライブ種別」欄１０１、「ドライブ容量」欄１０２、「ＲＧ割り当て」欄１０３、「ＲＧ番号」欄１０４、「スペア割り当て」欄１０５、及び「スペアＲＧ番号」欄１０６から構成されている。
【００３８】
「ドライブ管理番号」欄１００には、ハードディスクドライブＨＤＤをデータドライブＤ−ＨＤＤ又はスペアドライブＳ−ＨＤＤとして用いるために、ストレージ装置４に実装される全てのハードディスクドライブＨＤＤの識別番号が格納される。
【００３９】
「ドライブ種別」欄１０１には、コントローラ部６とハードディスクドライブＨＤＤとの通信インタフェースの違いにより分類されるドライブの種別情報が格納される。例えば、「ドライブ種別」欄１０１には、ＳＡＳディスクには「２」、ＳＡＴＡディスクには「１」、ＦＣディスクには「０」が格納される。
【００４０】
「ドライブ容量」欄１０２には、１台分のハードディスクドライブＨＤＤの容量が格納される。
【００４１】
「ＲＧ割り当て」欄１０３には、ハードディスクドライブＨＤＤがデータドライブＤ−ＨＤＤとして使用され、当該ハードディスクドライブＨＤＤがデータ用レイドグループＲＧに所属されているか否かの情報が格納される。例えば、ハードディスクドライブＨＤＤがデータ用レイドグループＲＧに所属されている場合には、ハードディスクドライブＨＤＤがレイドグループに割り当て済みであるとして「１」が格納される。一方、ハードディスクドライブＨＤＤがデータ用レイドグループＲＧに所属されていない場合には、ハードディスクドライブＨＤＤがレイドグループに未割り当てであるとして「０」が格納される。
【００４２】
「ＲＧ番号」欄１０４には、ハードディスクドライブＨＤＤがデータドライブＤ−ＨＤＤとして使用される場合に、所属するデータ用レイドグループ番号が格納される。したがって、ハードディスクドライブＨＤＤがデータ用レイドグループＲＧに所属されていない場合には、データ用レイドグループ番号は付与されない（図中「−」で表記）。
【００４３】
「スペア割り当て」欄１０５には、ハードディスクドライブＨＤＤがスペアドライブＳ−ＨＤＤとして使用され、当該ハードディスクドライブＨＤＤがスペア用レイドグループＳ−ＲＧに所属されているか否かの情報が格納される。例えば、ハードディスクドライブＨＤＤがスペア用レイドグループＳ−ＲＧに所属されている場合には、ハードディスクドライブＨＤＤがレイドグループに割り当て済みであるとして「１」が格納される。一方、ハードディスクドライブＨＤＤがスペア用レイドグループＳ−ＲＧに所属されていない場合には、ハードディスクドライブＨＤＤがレイドグループに未割り当てであるとして「０」が格納される。
【００４４】
「スペアＲＧ番号」欄１０６には、ハードディスクドライブＨＤＤがスペアドライブＳ−ＨＤＤとして使用される場合に、所属するスペア用のレイドグループ番号が格納される。したがって、ハードディスクドライブＨＤＤがスペア用レイドグループＳ−ＲＧに所属されていない場合には、スペア用のレイドグループ番号は付与されない（図中「−」で表記）。
【００４５】
（２−２）データドライブ管理情報テーブル
データドライブ管理情報テーブル１１は、データドライブＤ−ＨＤＤをデータ用レイドグループＲＧ毎に管理するテーブルであって、データ用レイドグループＲＧとスペア用レイドグループＳ−ＲＧとを関連付けるためのテーブルである。データ用レイドグループＲＧに所属するデータドライブＤ−ＨＤＤに障害が発生すると、障害が発生したデータドライブＤ−ＨＤＤ内のデータは、このデータドライブ管理情報テーブル１１で関連付けられたスペア用レイドグループＳ−ＲＧに所属するスペアドライブＳ−ＨＤＤに退避される。
【００４６】
図４に示すように、データドライブ管理情報テーブル１１は、データ用レイドグループ番号を示す「ＲＧ番号」欄１１０、データ用レイドグループＲＧと関連付けられるスペア用のレイドグループ番号を示す「スペアＲＧ番号」欄１１１、及び、「状態」欄１１２から構成される。
【００４７】
「状態」欄１１２は、そのデータ用レイドグループＲＧに所属したデータドライブＤ−ＨＤＤの状態の情報が格納される。例えば、そのデータ用レイドグループＲＧに所属したデータドライブＤ−ＨＤＤが、正常に動作している場合には「０」、障害が発生した場合には「１」、関連付けられるスペア用レイドグループＳ−ＲＧに所属するスペアドライブＳ−ＨＤＤにデータを退避している場合には「２」が格納される。また、データドライブＤ−ＨＤＤ内のデータの退避を完了した場合には「３」、障害が発生したため新しいデータドライブＤ−ＨＤＤに交換した場合には「４」、スペアドライブＳ−ＨＤＤから交換後のデータドライブＤ−ＨＤＤにデータを書き戻している場合には「５」が格納される。
【００４８】
（２−３）スペアドライブ管理情報テーブル
スペアドライブ管理情報テーブル１２は、スペアドライブＳ−ＨＤＤをデータ用レイドグループＲＧ毎に管理するテーブルであって、スペア用レイドグループＳ−ＲＧとデータ用レイドグループＲＧとを関連付けるためのテーブルである。
【００４９】
図５に示すように、スペアドライブ管理情報テーブル１２は、スペア用のレイドグループ番号を示す「スペアＲＧ番号」欄１２０、スペア用レイドグループＳ−ＲＧを構成するスペアドライブＳ−ＨＤＤの全記憶領域を示す「プール容量」欄１２１、スペア用レイドグループＳ−ＲＧと関連付けられているデータ用レイドグループ番号を示す「割り当て済みＲＧ番号」欄１２２、スペア用レイドグループＳ−ＲＧを構成するスペアドライブＳ−ＨＤＤの未使用の記憶領域を示す「残り容量」欄１２３、及び、スペア用のレイドレベルを示す「ＲＡＩＤレベル」欄１２４から構成される。
【００５０】
（２−４）ログテーブル
ログテーブル１３は、スペアドライブＳ−ＨＤＤに書き込まれる退避対象のデータを管理するためのテーブルである。障害が発生したデータドライブＤ−ＨＤＤから退避対象のデータがメインメモリ６６に送られてくる順番にログテーブル１３で管理される。
【００５１】
図６に示すように、ログテーブル１３は、データ用レイドグループ番号を示す「ＲＧ番号」欄１３０、退避対象のデータをスペアドライブＳ−ＨＤＤに書き込む日時を記録したログ情報を示す「タイムスタンプ」欄１３１、退避対象のデータがデータドライブＤ−ＨＤＤに格納される位置を示す「アドレス」欄１３２、及び退避対象のデータの内容を示す「実データ」欄１３３とから構成される。
【００５２】
ログテーブル１３は、レイドグループ番号情報、タイムスタンプ情報、及びアドレス情報（データの関連情報Ｒ）と、データとを関連づけて管理している。データの関連情報とは、メモリに読み上げられた順にスペアドライブに書き込めることができる退避対象データの識別情報をいう。
【００５３】
本実施の形態においては、退避対象のデータをスペアドライブＳ−ＨＤＤに書き込む日時で管理するというログ方式を採用しているが、レイドグループに所属する退避対象のデータのうち、メモリに読み上げられた順にスペアドライブに書き込めることができる識別子であればよく、タイムスタンプに限られない。
【００５４】
例えば、「タイムスタンプ」欄１３１の代わりに、「通し番号」欄を設けてもよい。「通し番号」欄には、データドライブＤ−ＨＤＤから読み出した退避対象データの新旧データを識別する識別情報を格納する。具体的には、ＣＰＵ６５が退避対象のデータを最初にスペアドライブＳ−ＨＤＤに書き込むデータ群には通し番号「０」を付与する。そして、退避対象データをスペアドライブＳ−ＨＤＤに書き込んでいる最中に、ホスト装置２から上書きデータ群が送信された場合には、ＣＰＵ６５が上書きデータ群に通り番号「１」を付与する。このように新しいデータに付与する通し番号の番号を上げることで、古いデータと新しいデータとを管理することができる。
【００５５】
（３）準備
それでは次に、退避対象データをスペアドライブＳ−ＨＤＤに書き込むための事前準備について説明する。
【００５６】
まず、管理者が管理端末７の管理画面７１から、メインメモリ６６に格納されるドライブ管理情報テーブル１０、データドライブ管理情報テーブル１１、スペアドライブ管理情報テーブル１２に登録される各種情報を設定する。
【００５７】
具体的には、管理者はスペアドライブＳ−ＨＤＤをレイド構成に設定する。そして管理者はデータ用レイドグループＲＧとスペア用レイドグループＳ−ＲＧとの関連付けを設定する。このとき、複数のデータ用レイドグループＲＧが１つのスペア用レイドグループＳ−ＲＧを共有するように設定することができる。また、管理者はレイドレベルを設定してもよい。
【００５８】
設定方法としては、管理者がデータ用レイドグループＲＧやスペア用レイドグループＳ−ＲＧを手動で設定する方法や、管理者がデータ用レイドグループＲＧとして割り当てられなかったハードディスクドライブＨＤＤを自動的にスペア用レイドグループＳ−ＲＧとして設定する方法がある。また、ハードディスクドライブＨＤＤの物理的な格納位置を管理画面７１に表示して、表示されたハードディスクドライブＨＤＤの中から管理者がデータ用レイドグループＲＧやスペア用レイドグループＳ−ＲＧを設定する方法等がある。
【００５９】
（４）変更処理
上述の初期設定後に、レイドグループの構成を変更する変更処理について説明する。特に、ハードディスクドライブＨＤＤを追加することでレイドグループの構成を変更する場合について説明する。変更処理は、ＣＰＵ６５が変更プログラム１４に基づいて実行する。
【００６０】
図７に示すように、まずＣＰＵ６５は、ハードディスクドライブＨＤＤを追加することでデータ用レイドグループＲＧの構成を変更すると変更処理を開始する（Ｓ０）。
【００６１】
次にＣＰＵ６５は、変更したデータ用レイドグループＲＧが必要とするスペア用レイドグループＳ−ＲＧの容量（以下、スペアプール容量という）を算出する（Ｓ１）。本実施の形態によれば、退避対象のデータはデータの関連情報ＲとともにスペアドライブＳ−ＨＤＤに書き込まれるので、スペアプール容量としては、退避対象のデータより多いデータ量が書き込めるだけの容量を確保する必要がある。例えばＣＰＵ６５は、データ関連情報を格納するために、退避対象のデータの格納に必要な容量に１０％上乗せした容量をスペアプール容量とする。
【００６２】
ＣＰＵ６５は、スペアドライブ管理情報テーブル１２を参照し、算出したスペアプール容量に合致したスペア用のレイドグループ番号があるか否かを判断する（Ｓ２）。
【００６３】
算出したスペアプール容量に合致したスペア用のレイドグループ番号がある場合には（Ｓ２：ＹＥＳ）、ＣＰＵ６５は、さらにこのスペア用のレイドグループ番号が複数あるか否かを判断する（Ｓ３）。
【００６４】
そして、算出したスペアプール容量に合致したスペア用のレイドグループ番号が複数ある場合には（Ｓ３：ＹＥＳ）、ＣＰＵ６５は、スペア用レイドグループＳ−ＲＧを構成するスペアドライブＳ−ＨＤＤの数が多いスペア用レイドグループＳ−ＲＧを選択して（Ｓ４）、変更処理を終了する（Ｓ７）。
【００６５】
一方、算出したスペアプール容量に合致したスペア用のレイドグループ番号が複数ない場合には（Ｓ３：ＮＯ）、ＣＰＵ６５は、合致したスペア用レイドグループＳ−ＲＧを、変更したデータ用レイドグループＲＧのスペア用レイドグループＳ−ＲＧとして割り当てて（Ｓ５）、変更処理を終了する（Ｓ７）。
【００６６】
ステップＳ２において、算出したスペアプール容量に合致したスペア用のレイドグループ番号がない場合には（Ｓ２：ＮＯ）、ＣＰＵ６５は、その旨のメッセージを管理端末７に送信して管理者に通知し（Ｓ６）、変更処理を終了する（Ｓ７）。
【００６７】
なお、上述の変更処理では、データの関連情報ＲをスペアドライブＳ−ＨＤＤに書き込む場合について説明したが、データの関連情報Ｒをメモリ上に残す場合には、退避対象のデータを格納できるだけのスペアプール容量を確保すればよい。
【００６８】
（５）書き込み処理
それでは次に、退避対象データをスペアドライブＳ−ＨＤＤに書き込む処理について説明する。
【００６９】
（５−１）従来の書き込み処理
まず、本実施の形態の書き込み処理を説明する前に、図８を用いて従来の書き込み処理について説明する。
【００７０】
具体的には、まずＣＰＵ６５は、データドライブＤ−ＨＤＤのドライブ障害を検出すると、書き込み処理を開始する（Ｓ１０）。そして、ＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤが、どのレイドグループ番号に所属しているのかを確認する（Ｓ１１）。
【００７１】
ＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤが所属するレイドグループであって、障害が発生していないデータドライブＤ−ＨＤＤに格納されるデータ及びパリティデータをメインメモリ６６に読み出す（Ｓ１２）。その後、ＣＰＵ６５は、読み出したデータ及びパリティデータに基づいて障害が発生したデータドライブＤ−ＨＤＤ内のデータを算出し、障害が発生したデータドライブＤ−ＨＤＤ内のデータを復元する（Ｓ１３）。
【００７２】
そしてＣＰＵ６５は、復元したデータをスペアドライブＳ−ＨＤＤに書き込み（Ｓ１４）、障害が発生したデータドライブＤ−ＨＤＤ内の全てのデータを復元するまで書き込み処理を実行する（Ｓ１５：ＮＯ）。
【００７３】
ＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤ内の全てのデータを復元し、スペアドライブＳ−ＨＤＤへ書き込むと（Ｓ１５：ＹＥＳ）、書き込み処理を終了する（Ｓ１６）。なお、復元したデータが書き込まれるスペアドライブＳ−ＨＤＤは、障害が発生したデータドライブＤ−ＨＤＤが所属するレイドグループに関連付けられたスペアドライブＳ−ＨＤＤである。
【００７４】
以上の処理が、従来の書き込み処理の手順である。
【００７５】
（５−２）書き込み処理
それでは次に、本実施の形態において、退避対象データをスペアドライブＳ−ＨＤＤに書き込む処理について説明する。書き込み処理は、ＣＰＵ６５が書き込みプログラム１５に基づいて実行する。
【００７６】
図９に示すように、ＣＰＵ６５は、ステップＳ２０からステップＳ２２までの処理をステップＳ１０からステップＳ１２と同様の処理手順で実行する。
【００７７】
その後、ＣＰＵ６５は、読み出したデータ及びパリティデータに基づいて障害が発生したデータドライブＤ−ＨＤＤ内のデータを算出し、障害が発生したデータドライブＤ−ＨＤＤ内のデータを復元する（Ｓ２３）。読み出したデータ及びパリティデータの順番で、復元した退避対象データがメインメモリ６６に格納される。
【００７８】
そしてＣＰＵ６５は、復元した退避対象データにデータの関連情報Ｒを関連付けて、ログテーブル１３に登録する（Ｓ２４）。このとき例えば、図１０に示すように、スペア用レイドグループＳ−ＲＧ「０」をデータ用レイドグループＲＧ「０」、「１」、「２」が共有し、データ用レイドグループＲＧ「０」、「１」のそれぞれに所属するデータドライブＤ−ＨＤＤの１つに障害が発生している場合に、ステップＳ１４において、ＣＰＵ６５が読み出したデータ及びパリティデータの順番で、退避対象データＤにデータの関連情報Ｒを関連付ける。
【００７９】
その後、登録されたログテーブル１３の行情報Ｉ１〜Ｉ４の情報量がメモリ領域の閾値以上になると、ＣＰＵ６５はログテーブル１３の行情報Ｉ１〜Ｉ４を、スペアドライブＳ−ＨＤＤに連続して書き込む（Ｓ２５）。ＣＰＵ６５が、データドライブ管理情報テーブル１１、スペアドライブ管理情報テーブル１２を参照することで、書き込まれるスペアドライブＳ−ＨＤＤが決定する。
【００８０】
メモリ領域の閾値設定は、管理者が管理端末７から設定し、例えば、登録されたログテーブル１３の行情報Ｉ１〜Ｉ４の情報量がメモリ領域の５０％以上になると、ログテーブル１３の行情報Ｉ１〜Ｉ４がスペアドライブＳ−ＨＤＤに書き込まれるように設定する。この場合には、ログテーブル１３の行情報が全てスペアドライブＳ−ＨＤＤに書き込まれるので、メモリ領域の圧迫を防止することができる。
【００８１】
そしてＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤ内の全てのデータを復元し、するまで書き込み処理を実行する（Ｓ２６：ＮＯ）。
【００８２】
ＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤ内の全てのデータを復元し、データの関連情報Ｒを関連付けた退避対象データをスペアドライブＳ−ＨＤＤへ書き込むと（Ｓ２６：ＹＥＳ）、書き込み処理を終了する（Ｓ２７）。
【００８３】
本実施の形態においては、ログテーブル１３の行情報をそのままスペアドライブＳ−ＨＤＤに書き込んだが、ＲＧ番号情報、タイムスタンプ情報、及びアドレス情報（データの関連情報Ｒ）は、メインメモリ６６上に残し、実データのみをスペアドライブＳ−ＨＤＤに書き込んでも良い。この場合には、データの関連情報ＲがＣＰＵ６５の近くに保存されるので、ＣＰＵ６５がデータの関連情報Ｒにアクセスする速度が速くなる。また関連情報がメモリ上に保存されるので、ハードディスクドライブＨＤＤより処理速度が速くなる。
【００８４】
また、本実施の形態におけるログテーブル１３はメインメモリ６６内に格納されているが、キャッシュメモリ６３内に格納されていても良く、メモリの格納場所は制限されない。
【００８５】
このように、ＣＰＵ６５が、メモリ上に読み出したデータ順に、ある程度まとまった情報量を、連続してスペアドライブＳ−ＨＤＤに書き込むことができるため、書き込む際に磁気ヘッドを移動させる必要がなくなり、ストレージシステム１の処理速度を向上させることができる。
【００８６】
（５−３）再構成時間の設定処理
書き込み処理を実行する前提として、障害が発生してから、復元したデータを交換後のデータドライブＤ−ＨＤＤに書き戻すまでの再構成時間を設定することもできる。その際の再構成時間の設定処理について説明する。再構成時間の設定処理は、ＣＰＵ６５が再構成時間プログラム１６に基づいて実行する。
【００８７】
まず、図１１に示すように、管理者が管理端末７の管理画面７１から再構成に必要な許容時間の設定指示をストレージ装置４に送信し、ストレージ装置４が当該設定指示を受信すると再構成時間の設定処理を開始する（Ｓ３０）。
【００８８】
次にＣＰＵ６５は、管理者からの指示に従って、再構成に必要な許容時間を設定する（Ｓ３１）。ＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤを検出すると（Ｓ３２）、ドライブ管理情報テーブル１０を参照して、このデータドライブＤ−ＨＤＤのドライブ容量を抽出する（Ｓ３３）。
【００８９】
そして引き続き、ＣＰＵ６５は、データドライブ管理情報テーブル１１及びスペアドライブＳ−ＨＤＤ管理情報を参照して、未使用のスペアプール容量を抽出する（Ｓ３４）。未使用のスペアプール容量とは、障害が発生したデータドライブＤ−ＨＤＤが所属するデータ用レイドグループＲＧと関連付けられたスペア用レイドグループＳ−ＲＧの未使用容量であって、このスペア用レイドグループＳ−ＲＧに所属する全てのスペアドライブＳ−ＨＤＤの未使用容量をいう。
【００９０】
ＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤを再構成するのに許容される時間、障害が発生したデータドライブＤ−ＨＤＤ容量、及び現時点で関連付けられた未使用のスペアプール容量から、許容される時間内で復旧するためのスペアドライブＳ−ＨＤＤ容量を算出する（Ｓ３５）。
【００９１】
ＣＰＵ６５は、算出したスペアドライブＳ−ＨＤＤ容量が現時点で関連付けられた未使用のスペアプール容量で足りるか否かを判断し（Ｓ３６）、未使用のスペアプール容量で足りる場合には（Ｓ３６：ＹＥＳ）書き込み処理を実行後に（Ｓ４２）再構成時間の設定処理を終了する（Ｓ４３）。
【００９２】
一方、算出したスペアドライブＳ−ＨＤＤ容量が現時点で関連付けられた未使用のスペアプール容量で足りない場合には（Ｓ３６：ＮＯ）、次にＣＰＵ６５は、追加できるスペアドライブＳ−ＨＤＤが有り、未使用のスペアプール容量を増やせるか否かを判断する（Ｓ３７）。ＣＰＵ６５は、ドライブ管理情報テーブル１０を参照して、データ用レイドグループＲＧ及びスペア用レイドグループＳ−ＲＧのいずれにも割り当てられていないハードディスクドライブＨＤＤがあれば、追加できるスペアドライブＳ−ＨＤＤがあると判断する。
【００９３】
追加できるスペアドライブＳ−ＨＤＤが有ると判断すると（Ｓ３７：ＹＥＳ）、ＣＰＵ６５はスペアドライブＳ−ＨＤＤを追加して、未使用のスペアプール容量を増やす（Ｓ３８）。このとき、スペア用レイドグループＳ−ＲＧを再設定するために、ＣＰＵ６５はドライブ管理情報テーブル１０及びスペアドライブ管理情報テーブル１２の登録を更新する。その後ＣＰＵ６５は、書き込み処理を実行後に（Ｓ４２）、再構成時間の設定処理を終了する（Ｓ４３）。
【００９４】
追加できるスペアドライブＳ−ＨＤＤが無いと判断すると（Ｓ３７：ＮＯ）、ＣＰＵ６５は、現時点で関連付けられた未使用のスペアプール容量では管理者が指示をした許容時間をオーバーする旨のメッセージを管理端末７に送信して管理者に通知する（Ｓ３９）。
【００９５】
そしてＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤ容量、及び現時点で関連付けられた未使用のスペアプール容量から、再構成するためにかかる再構成時間を改めて算出すると（Ｓ４０）、算出した再構成時間を管理端末７に送信して管理者に通知する（Ｓ４１）。その後ＣＰＵ６５は、書き込み処理を実行後に（Ｓ４２）、再構成時間の設定処理を終了する（Ｓ４３）。
【００９６】
なお、ステップＳ４２における書き込み処理は、ＣＰＵ６５が上述したステップＳ２０からステップＳ２６までの処理を実行するため、説明を省略する。
【００９７】
このように、再構成時間処理では、管理者が希望する再構成時間内でデータを復元できるか否かをストレージ装置４側で判断することができるため、より高性能なストレージシステム１を実現することができる。
【００９８】
（５−４）書き込み更新処理
書き込み処理の実行中に、ホスト装置２から送信された更新データをスペアドライブＳ−ＨＤＤに退避させる書き込み更新処理について説明する。この書き込み更新処理は、ＣＰＵ６５が書き込みプログラム１５に基づいて実行する。
【００９９】
具体的には、図１２及び図１３に示すように、ＣＰＵ６５が、退避対象データをスペアドライブＳ−ＨＤＤに書き込み中に、ストレージ装置４が、ホスト装置２から障害が発生したデータドライブＤ−ＨＤＤ内のデータに対する上書き指示を受信すると、ＣＰＵ６５は書き込み更新処理を開始する（Ｓ５０）。
【０１００】
次に、ＣＰＵ６５は、データドライブ管理情報テーブル１１を参照して、障害が発生したデータドライブＤ−ＨＤＤ内のデータを上書きする上書きデータＤ´を受信したか否かを判定する（Ｓ５１）。
【０１０１】
障害が発生したデータドライブＤ−ＨＤＤ内の上書きデータＤ´を受信した場合には（Ｓ５１：ＹＥＳ）、ログテーブル１３のタイムスタンプ情報を更新して、ログテーブル１３の最後の行に登録する（Ｓ５２）。
【０１０２】
その後、ＣＰＵ６５は、上書きデータＤ´及び上書きデータの関連情報Ｒを、書き込み中の最後尾データＩＮとしてスペアドライブＳ−ＨＤＤに書き込む（Ｓ５３）。
【０１０３】
そしてＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤ内の全てのデータを復元するまで書き込み処理を実行する（Ｓ５４：ＮＯ）。
【０１０４】
ＣＰＵ６５は、障害が発生したデータドライブＤ−ＨＤＤ内の全てのデータを復元し、データの関連情報Ｒを関連付けた退避対象データをスペアドライブＳ−ＨＤＤへ書き込むと（Ｓ５４：ＹＥＳ）、書き込み処理を終了する（Ｓ５５）。
【０１０５】
このように、ＣＰＵ６５が、上書きデータＤ´をログテーブル１３の最後の行に登録するため、上書き指示をホスト装置２から受信した場合であっても、メモリ上に読み出したデータ順に、ある程度まとまった情報量を連続してスペアドライブＳ−ＨＤＤに書き込むことができる。このため、書き込む際に磁気ヘッドを移動させる必要がなくなり、ストレージシステム１の処理速度を向上させることができる。
【０１０６】
（６）コピーバック処理
では、次に退避対象データを交換後のデータドライブＤ−ＨＤＤに書き戻すコピーバック処理について説明する。コピーバック処理は、ＣＰＵ６５がコピーバックプログラム１７に基づいて実行する。
【０１０７】
図１４及び図１５に示すように、管理者が、障害が発生したデータドライブＤ−ＨＤＤを新しいデータドライブＤ−ＨＤＤに交換後、ディスク制御部６４からデータドライブＤ−ＨＤＤを交換した旨の通知を受信することで、ＣＰＵ６５はコピーバック処理を開始する（Ｓ６０）。
【０１０８】
ＣＰＵ６５は、退避したデータが保存されているスペア用レイドグループＳ−ＲＧから、退避したデータＤとデータの関連情報Ｒとの行情報Ｉ１〜ＩＮを連続してメインメモリ６６上に読み出す（Ｓ６１）。
【０１０９】
その後ＣＰＵ６５は、ドライブ管理情報テーブル１０及びデータの関連情報Ｒのうちのレイドグループ番号情報を参照して、交換後のデータドライブＤ−ＨＤＤに書き戻すためのデータ用レイドグループＲＧを決定する（Ｓ６２）。このとき、メインメモリ６６上に読み上げたデータＤ及びデータの関連情報Ｒはレイドグループ毎にまとまっていないので、ＣＰＵ６５は、レイドグループ番号を参照して、決定したレイドグループに該当するデータ及びデータの関連情報Ｒを拾い上げる。
【０１１０】
そして、ＣＰＵ６５は、書き戻すデータ用レイドグループＲＧに所属する退避したデータを、タイムスタンプ情報及びアドレス情報を参照して、古いデータから順に指定されたデータドライブＤ−ＨＤＤのアドレスに書き戻すと（Ｓ６３）。コピーバック処理を終了する（Ｓ６４）。
【０１１１】
このように、古いデータから先にデータドライブＤ−ＨＤＤに書き戻すことで、必然的に新しいデータが上書きされながらデータドライブＤ−ＨＤＤ内のデータを再構成することができる。
【０１１２】
（７）本実施の形態の効果
本実施の形態によれば、スペアドライブの冗長化の構成を実現し、スペアドライブにデータを連続して書き込むことで、スペア用のレイドグループに書き込まれるデータを具体的に管理し、データ容量及びプール領域の容量に関して具体的な管理を行うことができる。このため、障害が発生したデータドライブ内のデータを連続してスペアドライブに書き込めることができるので、ストレージシステムを効率的に管理することができる。
【０１１３】
また、複数のデータドライブから構成される複数のレイドグループが１つのスペアドライブを共有することができるので、ストレージシステムを効率的に管理することができる。
【産業上の利用可能性】
【０１１４】
本発明は、複数のストレージシステムや、その他の形態のストレージシステムに広く適用することができる。
【図面の簡単な説明】
【０１１５】
【図１】本実施の形態におけるストレージシステムの構成を示すブロック図である。
【図２】本実施の形態におけるメインメモリの内容を示す図表である。
【図３】本実施の形態におけるドライブ管理情報テーブルを示す図表である。
【図４】本実施の形態におけるデータドライブ管理情報テーブルを示す図表である。
【図５】本実施の形態におけるスペアドライブ管理情報テーブルを示す図表である。
【図６】本実施の形態におけるログテーブルを示す図表である。
【図７】本実施の形態における変更処理を示すフローチャートである。
【図８】従来の書き込み処理を示すフローチャートである。
【図９】本実施の形態における書き込み処理を示すフローチャートである。
【図１０】本実施の形態の書き込み処理を示す概念図である。
【図１１】本実施の形態における再構成時間の設定処理を示すフローチャートである。
【図１２】本実施の形態における書き込み更新処理を示すフローチャートである。
【図１３】本実施の形態の書き込み更新処理を示す概念図である。
【図１４】本実施の形態におけるコピーバック処理を示すフローチャートである。
【図１５】本実施の形態のコピーバック処理を示す概念図である。
【符号の説明】
【０１１６】
１……ストレージシステム、２……ホスト装置、３……ネットワーク、４……ストレージ装置、５……ディスク部、６……コントローラ部、６１……チャネル制御部６１、６２……接続部、６３……メインメモリ、６４……ディスク制御部、６５……ＣＰＵ、６６……メインメモリ、７……管理端末、７１……管理画面、ＨＤＤ……ハードディスクドライブ、Ｄ−ＨＤＤ……データドライブ、Ｓ−ＨＤＤ……スペアドライブ、ＲＧ……データ用のレイドグループ、Ｓ−ＲＧ……スペア用のレイドグループ、１０……ドライブ管理情報テーブル、１１……データドライブ管理情報テーブル、１２……スペアドライブ管理情報テーブル、１３……ログテーブル、１４……変更プログラム、１５……書き込みプログラム、１６……再構成時間プログラム、１７……コピーバックプログラム。
【図１】
2009252114.tif 000003
【図２】
2009252114.tif 000004
【図３】
2009252114.tif 000005
【図４】
2009252114.tif 000006
【図５】
2009252114.tif 000007
【図６】
2009252114.tif 000008
【図７】
2009252114.tif 000009
【図８】
2009252114.tif 000010
【図９】
2009252114.tif 000011
【図１０】
2009252114.tif 000012
【図１１】
2009252114.tif 000013
【図１２】
2009252114.tif 000014
【図１３】
2009252114.tif 000015
【図１４】
2009252114.tif 000016
【図１５】
2009252114.tif 000017