(57)【要約】【課題】ＲＡＩＤ構成の論理記憶装置に、ライトペナルティなくジャーナルをリストア可能なストレージシステムを提供する。【解決手段】制御部と、データを格納する第１記憶装置と、第１記憶装置に格納されたデータのジャーナルを格納する第２記憶装置とを備えるストレージシステムで、第１記憶装置は、パリティデータを複数の記憶装置に分散して記録するＲＡＩＤ構成であり、制御部は、データの更新指示を受け付けたとき、更新指示に含まれる更新後のデータに基づいて更新後のパリティデータを作成し、更新後のデータと更新後のパリティデータとを第１記憶装置に格納し、更新後のデータ及びパリティデータを含むジャーナルを第２記憶装置に記録し、第１記憶装置に格納されたデータの復元指示を受け付けたとき、ジャーナルを記録された順に読み出し、読み出されたジャーナルに含まれる更新後のデータと更新後のパリティデータとを第１記憶装置に書き込む。【選択図】図２
2008225616.tif 000002
【特許請求の範囲】
【請求項１】
計算機に接続されるストレージシステムであって、
前記計算機から送信されるアクセス要求を処理する制御部と、前記計算機によってアクセスされるデータを格納する第１の記憶装置と、前記第１の記憶装置に格納されるデータの更新内容をジャーナルとして格納する第２の記憶装置と、を備え、
前記第１の記憶装置は、パリティデータを複数の物理的な記憶装置に分散して記録するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成であり、
前記制御部は、
前記第１の記憶装置に格納されたデータに対する更新指示を受け付けたとき、
更新後のデータに基づいて更新後のパリティデータを作成し、
前記更新後のデータと、前記更新後のパリティデータと、を前記第１の記憶装置に格納し、
前記更新後のデータと、前記更新後のパリティデータと、を含むジャーナルを作成して、前記第２の記憶装置に記録し、
前記第１の記憶装置に格納されたデータの、復元ポイントを含むデータ復元指示を受け付けたとき、
前記復元ポイント以前に前記第２の記憶装置に記録されたジャーナルを記録された順に読み出し、
前記読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第１の記憶装置に書き込むことを特徴とするストレージシステム。
【請求項２】
前記制御部は、
所定の指示を受け付けたとき、前記第１の記憶装置に格納されたデータを前記第１の記憶装置以外の記憶装置に複製し、
前記復元ポイントを含むデータ復元指示を受け付けたとき、
前記復元ポイント直前に前記所定の指示を受け付けて複製されたデータを、前記第１の記憶装置に復元し、
前記復元されたデータを複製した時点から前記復元ポイントまでに前記第２の記憶装置に記録されたジャーナルを用いて、前記第１の記憶装置に格納されたデータを復元することを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記制御部は、
前記更新指示を受け付けたとき、前記第２の記憶装置に記録される前記ジャーナルに前記更新後のパリティデータを含めるか否かを設定する入力を受け付けるインタフェースを提供し、
前記入力に基づいて、前記ジャーナルに前記更新後のパリティデータを含めるか否かを設定することを特徴とする請求項１に記載のストレージシステム。
【請求項４】
前記制御部は、前記第２の記憶装置に格納された前記更新後のパリティデータによって使用される記憶容量を通知することを特徴とする請求項１に記載のストレージシステム。
【請求項５】
前記ジャーナルは、前記更新後のパリティデータを含むか否かを示す情報を含み、
前記制御部は、前記ジャーナルに前記更新後のパリティデータが含まれるか否かを示す情報を設定し、前記設定された情報に基づいて前記ジャーナルを作成することを特徴とする請求項１に記載のストレージシステム。
【請求項６】
前記制御部は、前記データ復元指示を受け付けたとき、前記ジャーナルに設定された前記更新後のパリティデータが含まれるか否かを示す情報に基づいて、
前記第２の記憶装置から読み出したジャーナルに前記更新後のパリティデータが含まれる場合には、前記ジャーナルに含まれる更新後のデータと更新後のパリティデータとを前記第１の記憶装置に書き込み、
前記第２の記憶装置から読み出したジャーナルに前記更新後のパリティデータが含まれない場合には、
前記ジャーナルに含まれる更新後のデータの更新前のデータと、前記更新前のデータに対応する更新前のパリティデータと、を前記第１の記憶装置から読み出し、
前記更新前のパリティデータと前記更新前のデータと前記更新後のデータとから更新後のパリティデータを作成し、前記更新後のデータと前記作成された更新後のパリティデータとを前記第１の記憶装置に書き込むことを特徴とする請求項５に記載のストレージシステム。
【請求項７】
前記ストレージシステムは、第３の記憶装置をさらに含み、
前記制御部は、
所定の指示を受け付けたとき、前記第１の記憶装置に格納されたデータを、前記第１の記憶装置以外の記憶装置に複製し、
前記第３の記憶装置に、復元ポイントにおける前記第１の記憶装置に格納されたデータのデータ復元指示を受け付けたとき、前記第３の記憶装置が、前記第１の記憶装置と同じＲＡＩＤ構成である場合には、
前記復元ポイント直前に前記所定の指示を受け付けて複製されたデータを、前記第３の記憶装置に復元し、
前記第２の記憶装置から読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第３の記憶装置に書き込むことを特徴とする請求項１に記載のストレージシステム。
【請求項８】
計算機に接続される第１のストレージシステムと、前記第１のストレージシステムに接続される第２のストレージシステムと、を備え、前記第１のストレージシステムに書き込まれるデータを、前記第２のストレージシステムに複製するリモートコピーシステムであって、
前記第１のストレージシステムは、前記計算機によってアクセスされるデータを格納する第１の記憶装置を備え、
前記第１の記憶装置は、パリティデータを複数の物理的な記憶装置に分散して記録するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成であり、
前記第２のストレージシステムは、前記第１の記憶装置に格納されるデータの複製を格納する第２の記憶装置を備え、
前記第２の記憶装置は、前記第１の記憶装置と同じＲＡＩＤ構成であり、
前記第１のストレージシステムは、
前記第１の記憶装置に格納されたデータに対する更新指示を受け付けたとき、
更新後のデータに基づいて更新後のパリティデータを作成し、
前記作成された更新後のパリティデータと、前記更新後のデータと、を含むジャーナルを作成して、前記第２のストレージシステムに転送し、
前記第２のストレージシステムは、
前記転送された前記ジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記ジャーナルが作成された順に前記第２の記憶装置に格納することを特徴とするリモートコピーシステム。
【請求項９】
前記第１のストレージシステムは、
前記更新指示を受け付けたとき、前記更新後のパリティデータを含むジャーナルを作成するか否かを設定する入力を受け付けるインタフェースを提供し、
前記入力に基づいて、前記更新後のパリティデータを含むジャーナルを作成するか否かを設定することを特徴とする請求項８に記載のリモートコピーシステム。
【請求項１０】
前記ジャーナルは、前記更新後のパリティデータを含むか否かを示す情報を含み、
前記第１のストレージシステムは、前記ジャーナルに前記更新後のパリティデータが含まれるか否かを示す情報を設定し、前記設定された情報に基づいて前記ジャーナルを作成することを特徴とする請求項８に記載のリモートコピーシステム。
【請求項１１】
前記第２のストレージシステムは、前記ジャーナルに設定された前記更新後のパリティデータが含まれるか否かを示す情報に基づいて、
前記転送されたジャーナルに前記更新後のパリティデータが含まれるように設定されている場合には、前記転送されたジャーナルに含まれる更新後のデータと更新後のパリティデータとを前記第２の記憶装置に格納し、
前記転送されたジャーナルに前記更新後のパリティデータが含まれないように設定されている場合には、前記転送されたジャーナルに含まれる更新後のデータの更新前のデータと、前記更新前のデータに対応する更新前のパリティデータと、を前記第２の記憶装置から読み出し、前記更新前のパリティデータと前記更新前のデータと前記更新後のデータとに基づいて、更新後のパリティデータを作成し、前記更新後のデータと前記作成された更新後のパリティデータとを前記第２の記憶装置に格納することを特徴とする請求項１０に記載のリモートコピーシステム。
【請求項１２】
計算機に接続され、前記計算機によってアクセスされるデータを格納する第１の記憶装置と、前記第１の記憶装置に格納されるデータに対する更新内容をジャーナルとして格納する第２の記憶装置と、を備えるストレージシステムにおけるデータ復元方法であって、
前記第１の記憶装置は、冗長性データであるパリティデータを複数の物理的な記憶装置に分散して記録するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成であり、
前記ストレージシステムは、
前記第１の記憶装置に格納されたデータに対する更新指示を受け付けたとき、
更新後のデータに基づいて更新後のパリティデータを作成し、
前記更新後のデータと、前記更新後のパリティデータと、を前記第１の記憶装置に格納し、
前記更新後のデータと、前記更新後のパリティデータと、を含むジャーナルを作成して、前記第２の記憶装置に記録し、
前記第１の記憶装置に格納されたデータの、復元ポイントを含むデータ復元指示を受け付けたとき、
前記復元ポイント以前に前記第２の記憶装置に記録されたジャーナルを記録された順に読み出し、
前記読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第１の記憶装置に書き込むことを特徴とするデータ復元方法。
【請求項１３】
前記ストレージシステムは、
所定の指示を受け付けたとき、前記第１の記憶装置に格納されたデータを前記第１の記憶装置以外の記憶装置に複製し、
前記復元ポイントを含むデータ復元指示を受け付けたとき、
前記復元ポイント直前に前記所定の指示を受け付けて複製されたデータを、前記第１の記憶装置に復元し、
前記復元されたデータを複製した時点から前記復元ポイントまでに前記第２の記憶装置に記録されたジャーナルを用いて、前記第１の記憶装置に格納されたデータを復元することを特徴とする請求項１２に記載のデータ復元方法。
【請求項１４】
前記ストレージシステムは、
前記更新指示を受け付けた場合には、前記第２の記憶装置に記録される前記ジャーナルに前記更新後のパリティデータを含めるか否かを設定する入力を受け付けるインタフェースを提供し、
前記入力に基づいて、前記ジャーナルに前記更新後のパリティデータを含めるか否かを設定することを特徴とする請求項１２に記載のデータ復元方法。
【請求項１５】
前記ストレージシステムは、前記第２の記憶装置に格納された前記更新後のパリティデータによって使用される記憶容量を通知することを特徴とする請求項１２に記載のデータ復元方法。
【請求項１６】
前記ジャーナルは、前記更新後のパリティデータを含むか否かを示す情報を含み、
前記ストレージシステムは、前記ジャーナルに前記更新後のパリティデータが含まれるか否かを示す情報を設定し、前記設定された情報に基づいて前記ジャーナルを作成することを特徴とする請求項１２に記載のデータ復元方法。
【請求項１７】
前記ストレージシステムは、前記データ復元指示を受け付けたとき、前記ジャーナルに設定された前記更新後のパリティデータが含まれるか否かを示す情報に基づいて、
前記第２の記憶装置から読み出したジャーナルに前記更新後のパリティデータが含まれる場合には、前記ジャーナルに含まれる更新後のデータと更新後のパリティデータとを前記第１の記憶装置に書き込み、
前記第２の記憶装置から読み出したジャーナルに前記更新後のパリティデータが含まれない場合には、
前記ジャーナルに含まれる更新後のデータの更新前のデータと、前記更新前のデータに対応する更新前のパリティデータと、を前記第１の記憶装置から読み出し、
前記更新前のパリティデータと前記更新前のデータと前記更新後のデータとから更新後のパリティデータを作成し、前記更新後のデータと前記作成された更新後のパリティデータとを前記第１の記憶装置に書き込むことを特徴とする請求項１６に記載のデータ復元方法。
【請求項１８】
前記ストレージシステムには、第３の記憶装置がさらに含まれ、
前記ストレージシステムは、
所定の指示を受け付けたとき、前記第１の記憶装置に格納されたデータを、前記第１の記憶装置以外の記憶装置に複製し、
前記第３の記憶装置に、復元ポイントにおける前記第１の記憶装置に格納されたデータのデータ復元指示を受け付けたとき、前記第３の記憶装置が、前記第１の記憶装置と同じＲＡＩＤ構成である場合には、
前記復元ポイント直前に前記所定の指示を受け付けて複製されたデータを前記第３の記憶装置に復元し、
前記第２の記憶装置から読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第３の記憶装置に書き込むことを特徴とする請求項１２に記載のデータ復元方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムに格納されたデータのリストア技術に関する。
【背景技術】
【０００２】
情報処理システムで処理されるオンライン処理及びバッチ処理では、プログラムのバグ又は情報処理システムの障害などによって、これらの処理が異常終了し、ストレージシステムに格納されたデータが矛盾した状態になってしまうことがある。また、人為的ミスによって、ストレージシステムに格納されたデータが消去されてしまうこともある。
【０００３】
このような状態になったストレージシステムに格納されたデータを復元するための技術の一つとして、データの更新履歴（以下、「ジャーナル」）を常時記録するジャーナリング技術がある。
【０００４】
ジャーナリング技術に関する従来技術の一つが、特許文献１に開示されている。特許文献１に開示されている技術では、ストレージシステムは、ストレージシステム内の記憶装置に格納されたデータに更新指示を受け付けるごとに、ジャーナルを作成して別の記憶装置に記録する。そして、記録したジャーナルを用いて、最新又は過去の時点のデータを復元（以下、「リストア」）する技術が開示されている。
【特許文献１】特開２００４−２５２６８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されている、ジャーナリング技術を有するストレージシステムにおいて、冗長性データであるパリティデータを複数の物理記憶装置に分散して記録するＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成の論理記憶装置、例えばＲＡＩＤ５構成の論理記憶装置へ更新後のデータを含むジャーナルをリストアする場合、パリティデータを再作成するためにＲＡＩＤ５特有のライトペナルティ（更新前のデータのリード、更新前のパリティデータのリード）は避けられず、リストア時間の増大を招く。
【０００６】
本発明は、通常のジャーナル作成に、更新後のパリティデータを更新後のデータと共にジャーナルとして記憶し、ジャーナル・リストア時に、前記ジャーナルを読み出しライトペナルティを発生させずに前記ジャーナルに含まれるデータをリストアすることで、ＲＡＩＤ構成の論理記憶装置へのジャーナル・リストア処理を高速化できるストレージシステムを提供する。
【課題を解決するための手段】
【０００７】
本発明の代表的な一形態では、計算機に接続されるストレージシステムであって、前記計算機から送信されるアクセス要求を処理する制御部と、前記計算機によってアクセスされるデータを格納する第１の記憶装置と、前記第１の記憶装置に格納されるデータの更新内容をジャーナルとして格納する第２の記憶装置と、を備え、前記第１の記憶装置は、パリティデータを複数の物理的な記憶装置に分散して記録するＲＡＩＤ構成であり、前記制御部は、前記第１の記憶装置に格納されたデータに対する更新指示を受け付けたとき、前記更新指示に含まれる更新後のデータに基づいて更新後のパリティデータを作成し、前記更新後のデータと、前記更新後のパリティデータと、を前記第１の記憶装置に格納し、前記更新後のデータと、前記更新後のパリティデータと、を含むジャーナルを作成して、前記第２の記憶装置に記録し、前記第１の記憶装置に格納されたデータの、復元ポイントを含むデータ復元指示を受け付けたとき、前記復元ポイント以前に前記第２の記憶装置に記録されたジャーナルを記録された順に読み出し、前記読み出されたジャーナルに含まれる前記更新後のデータと前記更新後のパリティデータとを、前記第１の記憶装置に書き込む。
【発明の効果】
【０００８】
本発明の一形態によれば、更新後のパリティデータを更新後のデータと共にジャーナルとして作成し、データ復元時に更新後のパリティデータを含むジャーナルを読み出すことによって、更新後のパリティデータを再作成することなく、データを高速に復元することができる。
【発明を実施するための最良の形態】
【０００９】
以下に図面を参照しながら本発明の実施の形態を説明する。
【００１０】
（第１の実施の形態）
図１は、本発明の第１の実施の形態のストレージシステムを含む情報処理システムのハードウェア構成図である。図１の情報処理システムは、ホスト１、ストレージシステム２、管理端末３、ネットワーク４、及びネットワーク５を備える。
【００１１】
ホスト１は、パーソナルコンピュータ、ワークステーション、メインフレームなどの計算機である。ホスト１では、その計算機の種類に応じたオペレーティングシステム（以下、「ＯＳ」）と、様々な業務又は用途に対応したアプリケーションプログラム（以下、「ＡＰ」）、例えば、データベース管理システム（以下、「ＤＢＭＳ」）などが動作する。
【００１２】
ホスト１は、プロセッサ１０、メモリ１１、ローカル記憶装置１２、ホストバスアダプタ１３、及びネットワークアダプタ１４を備える。
【００１３】
プロセッサ１０は、所定のプログラムを実行する。メモリ１１は、プロセッサ１０によって実行されるＯＳ、ＡＰ、及びＡＰが使用するデータを一時的に格納する。
【００１４】
ローカル記憶装置１２は、ＯＳ、ＡＰ、及びＡＰが使用するデータを格納する。ホストバスアダプタ１３は、ネットワーク４とホスト１とを接続する。ネットワークアダプタ１４は、ネットワーク５とホスト１とを接続する。
【００１５】
なお、本発明の第１の実施の形態では、簡単のため、ホスト１を１つ記載しているが、ネットワーク４及びネットワーク５に接続されるホスト１はいくつあってもよい。また、ホスト１は、冗長性確保のため、プロセッサ１０などの構成を複数備えていてもよい。
【００１６】
ストレージシステム２は、ディスク装置などの記憶装置、又は、ディスクアレイなどのように複数の記憶装置を備えるシステムである。また、ストレージシステム２は、ホスト１が使用するデータ及びプログラムを格納する。そして、ホスト１からの入出力（以下、「Ｉ／Ｏ」）処理を受信し、Ｉ／Ｏ処理要求に対応した処理を実行し、処理結果をホスト１に送信する。
【００１７】
ストレージシステム２は、制御装置２０、接続インタフェース２７、及び物理記憶装置２８を備える。接続インタフェース２７は、物理記憶装置２８と制御装置２０とを相互に接続する。
【００１８】
制御装置２０は、ホスト１からのＩ／Ｏ処理要求の処理、及び物理記憶装置２８の制御を実行する。制御装置２０は、プロセッサ２１、不揮発性メモリ２４、キャッシュメモリ２６、物理記憶装置アダプタ２５、ネットワークアダプタ２２、及びネットワークアダプタ２３を備える。
【００１９】
プロセッサ２１は、所定のプログラムを実行する。不揮発性メモリ２４は、プロセッサによって実行されるプログラム、プログラムの実行に必要な情報、ストレージシステム２の設定情報及び構成情報を格納する。キャッシュメモリ２６は、ストレージシステム２にホスト１から入力されるデータ、又は、ストレージシステム２からホスト１に転送されるデータを一時的に格納する。
【００２０】
物理記憶装置アダプタ２５は、接続インタフェース２７を介して物理記憶装置２８と接続する。ネットワークアダプタ２２は、ストレージシステム２とネットワーク４とを接続する。ネットワークアダプタ２３は、ストレージシステム２とネットワーク５とを接続する。
【００２１】
物理記憶装置２８は、ホスト１によって使用されるデータを格納する。物理記憶装置２８は、不揮発性の記憶媒体であって、例えば磁気ディスクによって構成されるハードディスクなどである。
【００２２】
なお、ストレージシステム２は、制御装置２０を複数備えていてもよい。また、ストレージシステム２は、冗長性を確保するために、不揮発性メモリ２４、キャッシュメモリ２６、物理記憶装置アダプタ２５、及び接続インタフェース２７などのシステム内の各構成を、２重化された冗長構成になっていてもよい。
【００２３】
管理端末３は、ストレージシステム２の保守、構成、及び性能情報などの管理、さらに、ホスト１を設定するために使用される計算機である。情報処理システムの管理者は、例えば、ストレージシステム２に論理的な記憶装置を設定する場合など、ストレージシステム２の保守及び管理する場合に、管理端末３に設定情報を入力する。管理端末３は、ネットワーク５を介してストレージシステム２及びホスト１に管理者が入力した内容を送信する。
【００２４】
ネットワーク４は、ホスト１とストレージシステム２とを接続し、ホスト１からストレージシステム２にＩ／Ｏの処理要求などを伝送するために使用される。ネットワーク４には、光ファイバ及び銅線などが用いられる。また、ネットワーク４では、ファイバチャネル、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）などの通信プロトコルが使用される。
【００２５】
ネットワーク５は、ホスト１、ストレージシステム２、及び管理端末３を接続する。ネットワーク５は、ストレージシステム２、ホスト１及び管理端末３の間で、ストレージシステム２の保守、構成、及び性能などの管理情報を通信するために使用される。ネットワーク５に使用されるケーブル及び通信プロトコルは、ネットワーク４と同一であっても異なっていてもよい。
【００２６】
図２は、本発明の第１の実施の形態のストレージシステム２が有するプログラム構成、及びシステムの論理的構成を示す図である。
【００２７】
ストレージシステム２は、単数又は複数の物理記憶装置２８（図２では点線で表示）を組み合わせ、冗長性を有するパリティグループ３０を構成する。パリティグループ３０は、データを格納する物理記憶装置２８、及び、格納されたデータから作成される冗長性データであるパリティデータが格納される物理記憶装置２８の組である。ストレージシステム２は、パリティグループ３０を構成することによって、物理記憶装置２８に障害が発生してもデータを復元可能なＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）構成を実現する。
【００２８】
また、ストレージシステム２は、ホスト１に対して、パリティグループ３０を構成する複数の物理記憶装置２８によって作成される記憶領域空間から、論理的な記憶領域を論理記憶装置（ジャーナル取得記憶装置３１、ジャーナル記憶装置３２、記憶装置３３）として提供する。ホスト１は、論理記憶装置３１〜３３の存在を認識する。
【００２９】
制御装置２０は、ストレージシステム２の処理を制御するために、Ｉ／Ｏ処理プログラム４０、デバイス構成管理プログラム５０、ジャーナル制御プログラム６０、スナップショット制御プログラム７０及びバックアップ・リストア制御プログラム８０の各プログラムを不揮発性メモリ２４に有する。制御装置２０は、これらのプログラムをプロセッサ２１で実行することによって、以下に説明する処理を制御する。
【００３０】
Ｉ／Ｏ処理プログラム４０は、コマンド処理プログラム４１及びリードライト処理プログラム４２によって構成される。制御装置２０は、ホスト１からのＩ／Ｏ処理要求を、ネットワークアダプタ２２を経由して受信すると、コマンド処理プログラム４１を実行し、受信したＩ／Ｏ処理要求の内容を解析する。制御装置２０は、解析の結果、Ｉ／Ｏ処理要求の内容がデータの読み出しＩ／Ｏ（以下「リードＩ／Ｏ」）処理要求又はデータの書き込みＩ／Ｏ（以下「ライトＩ／Ｏ」）処理要求であれば、リードライト処理プログラム４２を実行する。
【００３１】
制御装置２０は、ライトＩ／Ｏ処理要求を受信した場合には、ホスト１からのライトＩ／Ｏ処理要求に対する応答処理を実行する。応答処理では、実際にホスト１から転送されるデータを受信できる状態にあるか否かについて応答する。続いて、制御装置２０は、転送される更新用のデータ（以下「ライトデータ」）をキャッシュメモリ２６又は物理記憶装置２８の所定の領域に書き込む処理、又は、キャッシュメモリ２６に格納されたライトデータを物理記憶装置２８に書き込む処理などを実行する。
【００３２】
制御装置２０は、リードＩ／Ｏ処理要求を受信した場合には、リードＩ／Ｏ処理要求に対応するデータ（以下、「リードデータ」）を、キャッシュメモリ２６又は物理記憶装置２８の所定の領域から読み出してホスト１に転送する処理、又は、物理記憶装置２８からリードデータを読み出してキャッシュメモリ２６に格納する処理を実行する。
【００３３】
制御装置２０は、ライトＩ／Ｏ又はリードＩ／Ｏ以外の処理要求を受信した場合には、コマンド処理プログラム４１を実行することによって、要求された処理を実行する。具体的には、ＳＣＳＩのＩｎｑｕｉｒｙコマンド（デバイスサーチを指示するコマンド）などである。
【００３４】
デバイス構成管理プログラム５０は、デバイス管理情報５１及びデバイス管理プログラム５２によって構成される。
【００３５】
デバイス管理情報５１は、マッピング管理テーブル２００、パリティグループ管理テーブル２１０、論理記憶装置管理テーブル２２０を含む。
【００３６】
マッピング管理テーブル２００は、論理記憶装置のアドレスと物理記憶装置２８のアドレスとの対応関係を示す。マッピング管理テーブル２００の詳細は、図４にて後述する。
【００３７】
パリティグループ管理テーブル２１０は、パリティグループ３０を構成する物理記憶装置２８に関する情報を格納する。パリティグループ管理テーブル２１０の詳細は、図５にて後述する。
【００３８】
論理記憶装置管理テーブル２２０は、ジャーナル取得対象情報などを格納する。ここでジャーナルとは、ジャーナル取得設定を行った論理記憶装置に格納されるデータの更新履歴である。論理記憶装置管理テーブル２２０の詳細は、図６にて後述する。また、ジャーナルについては、図１３にて後述する。
【００３９】
デバイス管理プログラム５２は、制御装置２０がデバイス管理情報５１を管理するために実行されるプログラムである。制御装置２０は、デバイス管理プログラム５２を実行することによって、管理端末３などによって入力される論理記憶装置の定義及びスナップショットが格納される対象となる論理記憶装置の設定、ジャーナル取得対象情報の登録などを実行する。
【００４０】
制御装置２０は、データのリードライトＩ／Ｏ処理を実行するために、デバイス管理プログラム５２を実行する。制御装置２０は、デバイス管理プログラム５２を実行することによって、リードライトＩ／Ｏ処理要求が指定するリードデータ又はライトデータを読み出す。また、制御装置２０は、リードライトＩ／Ｏ処理要求が指定する領域の論理記憶装置のアドレスに対応する物理記憶装置２８のアドレスを計算し、当該結果に基づいて、物理記憶装置２８にアクセスする。
【００４１】
ジャーナル制御プログラム６０は、ジャーナル作成プログラム６１、ジャーナル読出しプログラム６２、ジャーナル管理情報６３、及びジャーナル管理プログラム６４によって構成される。
【００４２】
制御装置２０は、ジャーナルを作成するためにジャーナル作成プログラム６１を実行する。また、作成されたジャーナルを読み出すためにジャーナル読出しプログラム６２を実行する。
【００４３】
ジャーナル管理情報６３は、作成されたジャーナルに関する情報などを保持するテーブルである。ジャーナル管理情報６３の詳細は、図７にて後述する。制御装置２０は、ジャーナル管理情報６３の設定などを行うためにジャーナル管理プログラム６４を実行する。
【００４４】
制御装置２０は、論理記憶装置にジャーナル取得設定を行うために、デバイス管理プログラム５２、ジャーナル管理プログラム６４、及びコピー制御管理プログラム７２を実行する。このとき、制御装置２０は、管理端末３などによって入力されるジャーナル設定に基づいて、取得されるジャーナルにパリティデータを含めるか否かを設定する。
【００４５】
ここで、ジャーナル取得記憶装置３１は、ジャーナル取得設定の対象となる論理記憶装置である。また、ジャーナル記憶装置３２は、ジャーナル取得記憶装置３１のジャーナルが格納される論理記憶装置である。
【００４６】
制御装置２０は、ジャーナル取得記憶装置３１にホスト１からライトＩ／Ｏ処理要求を受信した場合には、リードライト処理プログラム４２、デバイス管理プログラム５２、及びジャーナル作成プログラム６１を実行する。制御装置２０は、ライトデータをキャッシュメモリ２６に書き込むとともに、ライトデータの格納される領域に存在しているデータ（以下「ライト前データ」）及びパリティグループ３０内の対応するパリティデータ（以下「ライト前パリティデータ」）を読み出す。制御装置２０は、ライトデータと、読み出したライト前データ及びライト前パリティデータから、新たにライトするパリティデータ（以下「ライトパリティデータ」）を計算し、再作成する。制御装置２０は、ライトデータとライトパリティデータとをジャーナルとしてキャッシュメモリ２６の確保された領域に書き込む。なお、キャッシュメモリ２６に格納されたジャーナルは、ジャーナル記憶装置３２に格納される。
【００４７】
また、制御装置２０は、リストアプログラム８１及びジャーナル読出しプログラム６２を実行することによって、ジャーナル記憶装置３２に格納されたジャーナルを順次読み出す。そして、制御装置２０は、読み出したジャーナル内のアドレスで示されるリストア先となる論理記憶装置を構成する物理記憶装置２８の記憶領域に、ジャーナルに含まれるライトデータとライトパリティデータとを上書きする。
【００４８】
スナップショット制御プログラム７０は、スナップショット管理情報７１及びコピー制御管理プログラム７２によって構成される。スナップショット管理情報７１は、論理記憶装置に作成されたスナップショットに関する情報を保持するテーブルである。スナップショット管理情報７１の詳細は、図８にて後述する。
【００４９】
コピー制御管理プログラム７２は、スナップショット管理情報７１の管理、及びデータのコピーのために実行されるプログラムである。制御装置２０は、コピー制御管理プログラム７２を実行することによって、管理端末３などから送信された指示に従って、ある論理記憶装置に格納されたデータを別の論理記憶装置にコピーしてスナップショットを作成し、スナップショット管理情報７１に登録する。また、制御装置２０は、リストアプログラム８１及びコピー制御管理プログラム７２を実行し、作成されたスナップショットをリストア先となる論理記憶装置にコピーする。
【００５０】
バックアップ・リストア制御プログラム８０は、リストアプログラム８１及びバックアッププログラム８２によって構成される。制御装置２０は、リストアプログラム８１を実行することによって、管理端末３などから受信したリストア指示に基づいて、指定された論理記憶装置のデータをリストアする。また、制御装置２０は、バックアッププログラム８２を実行することによって、管理端末３などから受信した指示に基づいて、論理記憶装置に格納されたデータの複製を作成したり、ストレージシステム２のデータをテープ装置などの他の記憶装置に転送したりする。
【００５１】
図３は、本発明の第１の実施の形態のジャーナル取得記憶装置３１のＲＡＩＤ構成を示す図である。
【００５２】
ジャーナル取得記憶装置３１は、３つの物理記憶装置２８によって構成されるＲＡＩＤ５構成となっている。また、ジャーナル取得記憶装置３１は、ＲＡＩＤ５の２Ｄ＋１Ｐ構成である。具体的には、３つの物理記憶装置２８のうち１つにパリティデータ９１、残り２つの物理記憶装置２８にデータ９０を格納する。物理記憶装置２８は、ストライプと呼ばれるブロックに分割される。データ９０及びパリティデータ９１は、ストライプごとに物理記憶装置に分散して配置される。
【００５３】
ジャーナル取得記憶装置３１は、１つの物理記憶装置２８が故障した場合であっても、故障していない残りの物理記憶装置２８に格納されたデータ９０及びパリティデータ９１によって、障害が発生した物理記憶装置２８に格納されたデータを復元することができる。
【００５４】
また、ＲＡＩＤ５構成のリードＩ／Ｏ処理は、複数の物理記憶装置２８に同時にアクセスするため、処理速度を向上させることができる。例えば、ジャーナル取得記憶装置３１のデータ「Ａ」「Ｂ」を読み出す場合には、制御装置２０は、２つの物理記憶装置２８に同時にアクセスしてデータ「Ａ」とデータ「Ｂ」をそれぞれ読み出すことができる。
【００５５】
一方、ＲＡＩＤ５構成のライトＩ／Ｏ処理は、物理記憶装置２８に対する書き込み処理の他に、パリティデータを再作成及び作成されたパリティデータの書き込み処理を実行する必要がある。
【００５６】
パリティデータは、パリティグループ３０内の１ストライプの部分の複数のデータから作成されるため、データが更新されるたびに再作成しなければならない。また、パリティデータは、例えば、「ライトパリティデータ＝（ライト前データ  ＸＯＲ  ライトデータ）  ＸＯＲ  ライト前パリティデータ」といった計算式で算出される。なお、ＸＯＲは、論理演算の一つであって、排他的論理和と呼ばれる。
【００５７】
前述した計算式では、パリティデータの再作成には、ライト前データ、ライト前パリティデータ、及びライトデータが必要となる。したがって、パリティデータを再作成するためには、ライト前データとライト前パリティデータを読み出す処理が必要となる。この読み出し処理によるライトＩ／Ｏ処理の遅延は、ライトペナルティと呼ばれる。
【００５８】
よって、ライトＩ／Ｏ処理は、ライトペナルティを伴うため、連続したデータでは問題とならないが、小さいランダムなデータのライトＩ／Ｏ処理性能は低下してしまう。具体的には、ジャーナル取得記憶装置３１のデータ「Ａ」の位置にライトデータ「Ａ’」を書き込む場合に、制御装置２０は、２つの物理記憶装置２８にアクセスしてライト前データ「Ａ」と対応するライト前パリティデータ「（Ａ−Ｂ）Ｐ」とを、それぞれキャッシュメモリ２６の確保された領域に読み出す。続いて、制御装置２０は、ライト前データ「Ａ」とライト前パリティデータ「（Ａ−Ｂ）Ｐ」とライトデータ「Ａ’」とから、新たにライトパリティデータ「（Ａ−Ｂ）Ｐ’」を再作成する。さらに、制御装置２０は、ライトデータ「Ａ’」とライトパリティデータ「（Ａ−Ｂ）Ｐ’」とをキャッシュメモリ２６又は物理記憶装置２８に書きこむ。
【００５９】
なお、ジャーナル取得記憶装置３１は、４つ以上の物理記憶装置から構成されるＲＡＩＤ５構成であってもよい。また、ジャーナル取得記憶装置３１は、４つ以上の物理記憶装置から構成され、その中でそれぞれ独立した２つの物理記憶装置をパリティデータ保存用として使用し、残りの物理記憶装置にデータを分散して書き込むＲＡＩＤ６構成であってもよい。
【００６０】
図４は、本発明の第１の実施の形態のデバイス管理情報５１に含まれるマッピング管理テーブル２００を示す図である。マッピング管理テーブル２００は、論理記憶装置番号２０１、論理記憶装置内アドレス２０２、パリティグループ番号２０３、物理記憶装置番号２０４、及び物理記憶装置内アドレス２０５を含む。
【００６１】
マッピング管理テーブル２００のレコードは、論理記憶装置番号２０１及び論理記憶装置内アドレス２０２によって特定される論理的な記憶領域と、物理記憶装置番号２０４及び物理記憶装置内アドレス２０５によって特定される物理的な記憶領域との対応関係を格納する。
【００６２】
論理記憶装置番号２０１は、ホスト１に提供される論理的な記憶領域を識別する番号である。論理記憶装置内アドレス２０２は、論理記憶装置番号２０１によって特定される論理記憶装置内のアドレスを示す。
【００６３】
パリティグループ番号２０３は、論理記憶装置が属するパリティグループを識別する番号である。
【００６４】
物理記憶装置番号２０４は、論理記憶装置番号２０１及び論理記憶装置内アドレス２０２によって特定される論理的な記憶領域が作成される物理記憶装置２８を識別する番号が格納される。物理記憶装置内アドレス２０５は、論理的な記憶領域が作成される物理記憶装置２８内のアドレスが格納される。
【００６５】
図５は、本発明の第１の実施の形態のデバイス管理情報５１に含まれるパリティグループ管理テーブル２１０を示す図である。パリティグループ管理テーブル２１０は、一つのパリティグループにつき１レコードが作成される。
【００６６】
パリティグループ管理テーブル２１０は、パリティグループ番号２１１、ＲＡＩＤレベル・構成２１２、ストライプサイズ２１３、論理記憶装置番号２１４、及び物理記憶装置番号２１５を含む。
【００６７】
パリティグループ番号２１１は、パリティグループ３０を識別する識別子を格納する。ＲＡＩＤレベル・構成２１２は、ＲＡＩＤレベル及び構成が格納される。例えば、図５に示す「５，２Ｄ＋１Ｐ」は、ＲＡＩＤ５構成であって、二台の物理記憶装置２８にデータが格納され、一台の物理記憶装置２８にパリティデータが格納されることを示す。ストライプサイズ２１３は、パリティグループ内でデータ及びパリティデータを分散して配置する単位容量である。
【００６８】
論理記憶装置番号２１４は、パリティグループに属する論理記憶装置を識別する識別子である。物理記憶装置番号２１５は、パリティグループを構成する物理記憶装置２８を識別する識別子である。
【００６９】
図６は、本発明の第１の実施の形態のデバイス構成管理プログラム５０のデバイス管理情報５１に含まれる論理記憶装置管理テーブル２２０を示す図である。論理記憶装置管理テーブル２２０は、一つの論理記憶装置につき１レコードが作成される。
【００７０】
論理記憶装置管理テーブル２２０は、論理記憶装置番号２２１、パリティグループ番号２２２、サイズ２２３、ジャーナル取得対象２２４、ジャーナル格納用論理記憶装置番号２２５、及びジャーナル内パリティ有無２２６を含む。
【００７１】
論理記憶装置番号２２１は、論理記憶装置を識別する識別子である。パリティグループ番号２２２は、論理記憶装置が作成されたパリティグループ３０を識別する識別子である。サイズ２２３は、論理記憶装置の記憶容量である。
【００７２】
ジャーナル取得対象２２４は、論理記憶装置がジャーナルを取得する対象であるか否かを指定する。具体的には、論理記憶装置がジャーナル取得対象である場合には、「ＯＮ」が格納される。一方、論理記憶装置がジャーナル取得対象でない場合には、「ＯＦＦ」が格納される。
【００７３】
ジャーナル格納用論理記憶装置番号２２５は、論理記憶装置のジャーナルが記録される論理記憶装置を識別する識別子が格納される。ジャーナル内パリティ有無２２６は、ジャーナルにパリティデータを含めるか否かを指定する。
【００７４】
図７は、本発明の第１の実施の形態のジャーナル制御プログラム６０に含まれるジャーナル管理情報６３の一例を示す図である。ジャーナル管理情報６３は、スナップショットを作成した後、当該スナップショットの作成対象となったジャーナル取得対象論理記憶装置に関するジャーナルを初めて作成する場合に１レコードが作成される。
【００７５】
ジャーナル管理情報６３は、スナップショット処理順序番号２４０、処理時刻２４１、ジャーナル取得対象論理記憶装置番号２４２、及びジャーナル格納用論理記憶装置番号・アドレス２４３を含む。
【００７６】
スナップショット処理順序番号２４０は、スナップショットが作成された順に付与され、作成されたスナップショットを識別する。処理時刻２４１は、スナップショットの作成対象となったジャーナル取得対象論理記憶装置に関する最初のジャーナルが作成された時刻である。
【００７７】
ジャーナル取得対象論理記憶装置番号２４２は、当該ジャーナルの作成対象となったジャーナル取得対象論理記憶装置を識別する識別子が格納される。ジャーナル格納用論理記憶装置番号・アドレス２４３は、当該ジャーナルが格納される論理記憶装置を識別する識別子と当該論理装置のアドレスが格納される。
【００７８】
図８は、本発明の第１の実施の形態のスナップショット制御プログラム７０に含まれるスナップショット管理情報７１の一例を示す図である。
【００７９】
スナップショット管理情報７１は、処理順序番号２３０、処理時刻２３１、スナップショット対象論理記憶装置番号・サイズ２３２、及びスナップショット格納用論理記憶装置番号・アドレス２３３を含む。
【００８０】
処理順序番号２３０は、スナップショットの作成順に付与される識別番号である。処理時刻２３１は、スナップショットが作成された時刻である。
【００８１】
スナップショット対象論理記憶装置番号・サイズ２３２は、スナップショットを取得する対象の論理記憶装置を識別する識別子、及び取得する対象の記憶領域のサイズが格納される。
【００８２】
スナップショット格納用論理記憶装置番号・アドレス２３３は、作成されたスナップショットを格納する論理記憶装置を識別する識別子、及び当該スナップショットが記憶されている領域の開始アドレスが格納される。
【００８３】
以上が本発明の第１の実施の形態の構成である。以下、本発明の第１の実施の形態の処理について説明する。
【００８４】
まず、本発明の第１の実施の形態の処理概要について説明する。
【００８５】
ストレージシステム２の制御装置２０は、ジャーナル取得記憶装置３１へのライトＩ／Ｏ処理要求を受け付けると、ライトデータをキャッシュメモリ２６に書き込む。そして、制御装置２０は、ライト前データ及びライト前パリティデータを読み出し、ライトパリティデータを再作成する。
【００８６】
制御装置２０は、ライトデータとライトパリティデータとをキャッシュメモリ２６又は物理記憶装置２８に書き込むとともに、ライトデータとライトパリティデータとを含むジャーナルを作成し、キャッシュメモリ２６又はジャーナル記憶装置３２を構成する物理記憶装置２８に書き込む。
【００８７】
制御装置２０は、リストアポイントを含むジャーナル取得記憶装置３１のリストア指示を受信すると、予め作成されたジャーナル取得記憶装置３１のスナップショットをリストアする。そして、制御装置２０は、スナップショット作成時点からリストアポイントまでにジャーナル記憶装置３２に記録されたジャーナルを順次読み出す。制御装置２０は、読み出したジャーナルに含まれるライトデータとライトパリティデータとを、リストア先の論理記憶装置を構成する物理記憶装置２８の記憶領域に上書きする。
【００８８】
このようにして、ストレージシステム２は、ライトペナルティを発生させずに、ジャーナル取得記憶装置３１に格納されたデータを高速に復元することができる。
【００８９】
以下、本発明の第１の実施の形態の処理の詳細を説明する。
【００９０】
図９は、本発明の第１の実施の形態のジャーナル取得開始処理の手順を示すフローチャートである。本処理は、管理端末３又はホスト１が、ストレージシステム２に対してジャーナル取得開始指示を送信し、ストレージシステム２がジャーナル取得開始指示を受信したときに実行される。
【００９１】
第１の実施の形態では、ホスト１のＡＰによって使用されるデータが格納された論理記憶装置がジャーナル取得記憶装置３１として指定される。
【００９２】
ジャーナル取得開始指示は、ジャーナル取得設定を行うジャーナル取得記憶装置３１の識別情報、当該ジャーナル取得開始指示を受信した瞬間のジャーナル取得記憶装置３１に格納されたデータのスナップショットを格納する論理記憶装置の識別情報、及びジャーナル取得記憶装置３１に関するジャーナルを格納するジャーナル記憶装置３２の識別情報を含む。また、ジャーナル取得開始指示は、取得するジャーナルにパリティデータを含めるか否かの設定情報を含む。
【００９３】
なお、スナップショットを格納する論理記憶装置とジャーナル記憶装置３２は同じであってもよい。
【００９４】
ストレージシステム２の制御装置２０は、まず、管理端末３又はホスト１からジャーナル取得開始指示を受信する（ステップ１００）。
【００９５】
制御装置２０は、受信したジャーナル取得開始指示に基づいて、指定されたジャーナル記憶装置３２を設定する（ステップ１０１）。具体的には、まず、ジャーナル取得開始指示に含まれているジャーナル記憶装置３２の識別情報に基づいて、デバイス管理情報５１を参照し、使用可能な論理記憶装置であるかを確認する。論理記憶装置が使用可能であるか否かの判定は、例えば、指定された論理記憶装置が存在するか否か、及び指定された論理記憶装置が既に他の処理で使用されているか否かなどを確認する。
【００９６】
次に、制御装置２０は、指定されたジャーナル記憶装置３２が使用可能な場合には、指定されたジャーナル記憶装置３２に関する情報をデバイス管理情報５１に登録する。具体的には、指定されたジャーナル記憶装置３２にジャーナル取得記憶装置３１のジャーナルを格納するようにデバイス管理情報５１の論理記憶装置管理テーブル２２０に登録する。さらに、ジャーナルにパリティデータを含めるか否かの設定情報を論理記憶装置管理テーブル２２０のジャーナル内パリティ有無２２６に登録する。
【００９７】
制御装置２０は、受信したジャーナル取得開始指示に基づいて、スナップショットを作成する（ステップ１０２）。具体的には、まず、ジャーナル取得開始指示に含まれているスナップショット格納用の論理記憶装置の識別情報に基づいて、デバイス管理情報５１を参照し、使用可能な論理記憶装置であるかを確認する。
【００９８】
次に、制御装置２０は、指定された論理記憶装置が使用可能な場合には、スナップショット作成処理を実行する。制御装置２０は、ジャーナル取得開始指示を受信した時点でジャーナル取得記憶装置３１に格納されていたデータを、スナップショット格納用の論理記憶装置に順次コピーする。
【００９９】
制御装置２０は、スナップショットの作成が終了すると、作成されたスナップショットに関する情報をスナップショット管理情報７１に登録する。
【０１００】
制御装置２０は、ジャーナル取得開始処理が完了すると、ジャーナル取得開始指示を発行した管理端末３又はホスト１に通知する（ステップ１０３）。
【０１０１】
なお、スナップショット作成処理は、ジャーナル取得開始指示とは別の指示、例えば、次に説明する図５のスナップショット作成指示に基づいて、予め実行されていてもよい。
【０１０２】
図１０は、本発明の第１の実施の形態のスナップショット作成処理の手順を示すフローチャートである。本処理は、管理端末３又はホスト１が、ストレージシステム２に対してスナップショット作成指示を送信し、ストレージシステム２がスナップショット作成指示を受信したときに実行される。
【０１０３】
本発明の第１の実施の形態では、ホスト１のＡＰによって使用されるデータが格納された論理記憶装置がコピー元の論理記憶装置として指定される。また、スナップショット作成指示は、コピー元となる論理記憶装置の識別情報、コピー元の論理記憶装置に格納されたデータのスナップショットを格納するコピー先の論理記憶装置の識別情報を含む。
【０１０４】
ストレージシステム２の制御装置２０は、まず、管理端末３又はホスト１からスナップショット作成指示を受信する（ステップ１０５）。
【０１０５】
次に、制御装置２０は、スナップショットを作成する（ステップ１０６）。詳細には、まず、スナップショット作成指示に含まれているスナップショット格納用の論理記憶装置の識別情報を用いて、デバイス管理情報５１を参照し、使用可能な論理記憶装置であるかを確認する。
【０１０６】
制御装置２０は、指定された論理記憶装置が使用できる場合には、スナップショット作成処理を実行する。具体的には、制御装置２０は、スナップショット作成指示の受信時にコピー元の論理記憶装置に格納されていたデータを、スナップショット格納用の論理記憶装置に順次コピーする。制御装置２０は、スナップショットの作成が終了したら、作成したスナップショットに関する情報をスナップショット管理情報７１に登録する。
【０１０７】
制御装置２０は、スナップショット作成処理が完了すると、スナップショット作成指示を発行した管理端末３又はホスト１にその旨通知する（ステップ１０７）。
【０１０８】
なお、スナップショット作成処理は、スナップショット取得対象の論理記憶装置にジャーナル取得設定が行われた後も、任意のタイミングで実行されてよい。
【０１０９】
図１１は、本発明の第１の実施の形態のリードライトＩ／Ｏ処理手順を示すフローチャートである。本処理は、ストレージシステム２がホスト１又は管理端末３からリードライトＩ／Ｏ処理要求を受信したときに実行される。
【０１１０】
制御装置２０は、ホスト１よりリードＩ／Ｏ処理要求又はライトＩ／Ｏ処理要求を受信すると（ステップ１１０）、受信した処理要求がライトＩ／Ｏ処理要求であるか否かを判定する（ステップ１１１）。
【０１１１】
制御装置２０は、ライトＩ／Ｏ処理要求でない場合には（ステップ１１１の結果が「Ｎ」）、デバイス管理情報５１を参照し、リードＩ／Ｏ処理要求の対象となっているリードデータを、対応する物理記憶装置２８又はキャッシュメモリ２６から読み出してネットワークアダプタ２２を介してホスト１に転送する（ステップ１２０）。
【０１１２】
制御装置２０は、受信した処理要求がライトＩ／Ｏ処理要求である場合には（ステップ１１１の結果が「Ｙ」）、デバイス管理情報５１を参照し、ライトＩ／Ｏ処理要求で指定される論理記憶装置がジャーナル取得記憶装置３１であるか否かを判定する（ステップ１１２）。
【０１１３】
制御装置２０は、ライトＩ／Ｏ処理要求で指定される論理記憶装置がジャーナル取得記憶装置３１でない場合には（ステップ１１２の結果が「Ｎ」）、キャッシュメモリ２６にライトＩ／Ｏ処理要求に伴うライトデータを格納する領域を確保する（ステップ１３０）。そして、制御装置２０は、ライトデータをキャッシュメモリ２６の確保された領域に格納して、ライトＩ／Ｏ処理が終了したことをホスト１に通知する（ステップ１３１）。
【０１１４】
なお、制御装置２０は、キャッシュメモリ２６から物理記憶装置２８にデータを格納した後にライトＩ／Ｏ処理の終了をホスト１に通知してもよい。また、キャッシュメモリ２６を介さずに、ライトデータを直接物理記憶装置２８に格納してもよい。
【０１１５】
制御装置２０は、ライトＩ／Ｏ処理要求で指定される論理記憶装置がジャーナル取得記憶装置３１であった場合には（ステップ１１２の結果が「Ｙ」）、ライトデータを格納するための領域をキャッシュメモリ２６に確保し（ステップ１１３）、ホスト１から送信されるライトデータを当該領域に格納する（ステップ１１４）。
【０１１６】
なお、制御装置２０は、通常の論理記憶装置に対するライトデータの書き込みとは異なり、ジャーナル取得記憶装置３１の同じアドレスが指定されるライトデータの連続した書き込みの場合には、各ライトデータをキャッシュメモリ２６の異なる領域に格納する。
【０１１７】
制御装置２０は、ジャーナル作成処理を実行し、ライトＩ／Ｏ処理の終了をホスト１に通知する（ステップ１１５）。
【０１１８】
なお、制御装置２０は、ジャーナル作成処理の終了を待たずにライトＩ／Ｏ処理の終了をホスト１に通知してもよい。また、制御装置２０は、ステップ１１４のライトデータをキャッシュメモリ２６に格納してからライトＩ／Ｏ処理の終了をホスト１に通知した後に、ジャーナル作成処理を非同期に実行してもよい。
【０１１９】
図１２は、本発明の第１の実施の形態のジャーナル作成処理の手順を示すフローチャートである。本処理は、図１１のステップ１１５の処理に該当する。
【０１２０】
制御装置２０は、ライトデータをキャッシュメモリ２６に格納した後、ライトデータの格納されている領域に存在しているライト前データ、及びパリティグループ３０内の対応するライト前パリティデータをキャッシュメモリ２６又は物理記憶装置２８から読み出す（ステップ１４０）。
【０１２１】
制御装置２０は、ライトデータと、読み出したライト前データ及びライト前パリティデータから、新たにライトするライトパリティデータをキャッシュメモリ２６の領域に再作成する（ステップ１４１）。
【０１２２】
さらに、制御装置２０は、ジャーナルを格納するための領域をキャッシュメモリ２６に確保する（ステップ１４２）。なお、制御装置２０は、デバイス管理情報５１を参照して、作成するジャーナルにパリティデータを含めるか否かを確認し、パリティデータの有無に応じたジャーナル格納用の領域をキャッシュメモリ２６に確保する。
【０１２３】
制御装置２０は、プロセッサ２１が処理を実行するごとに付与する処理順序番号、及びライトＩ／Ｏ処理を受け付けた処理時刻を、キャッシュメモリ２６に確保されたジャーナル格納用の領域に書き込む（ステップ１４３）。
【０１２４】
制御装置２０は、キャッシュメモリ２６に格納されているライトデータを、キャッシュメモリ２６に確保されたジャーナル格納用の領域にコピーする（ステップ１４４）。
【０１２５】
制御装置２０は、デバイス管理情報５１を参照し、作成するジャーナルにパリティデータを含めるか否かを判定する（ステップ１４５）。
【０１２６】
制御装置２０は、パリティデータを含めない場合には（ステップ１４５の結果が「Ｎ」）、パリティデータを含むか否かを示すパリティ有無フラグを無効として、キャッシュメモリ２６に確保されたジャーナル格納用の領域に書き込み、処理を終了する（ステップ１５０）。
【０１２７】
制御装置２０は、パリティデータを含める場合には（ステップ１４５の結果が「Ｙ」）、キャッシュメモリ２６に再作成したライトパリティデータを、キャッシュメモリ２６に確保されたジャーナル格納用の領域にコピーする（ステップ１４６）。
【０１２８】
そして、制御装置２０は、パリティ有無フラグを有効として、キャッシュメモリ２６に確保されたジャーナル格納用の領域に書き込み、処理を終了する（ステップ１４７）。
【０１２９】
なお、キャッシュメモリ２６に格納されたライトデータ、ライトパリティデータ、及びジャーナルは、キャッシュメモリ２６にそれらデータが格納されるのとは非同期に、キャッシュメモリ２６から物理記憶装置２８に書き込まれる。
【０１３０】
また、制御装置２０は、ジャーナル取得記憶装置３１のスナップショットを作成した後はじめてジャーナル取得記憶装置３１に関するジャーナルを作成する場合には、作成するジャーナルに関する情報をジャーナル管理情報６３に登録する。
【０１３１】
図１３は、本発明の第１の実施の形態のジャーナルのデータ形式を表す図である。
【０１３２】
ジャーナルは、図１１及び図１２にて説明したように、ストレージシステム２がジャーナル取得記憶装置３１に対するライトＩ／Ｏ処理要求を処理するたびにキャッシュメモリ２６上に作成され、その後、物理記憶装置２８に格納される。
【０１３３】
ジャーナルは、処理順序番号１６０、処理時刻１６１、パリティ有無フラグ１６２、書き込み先アドレス１６３、データ長１６４、ライトデータ１６５及びパリティデータ１６６を含む。
【０１３４】
処理順序番号１６０は、ジャーナルが作成されるたびに順次付与される番号である。処理順序番号１６０は、ジャーナルを識別する。処理時刻１６１は、ライトデータ１６５が書き込まれた時刻が格納される。パリティ有無フラグ１６２は、ジャーナルにパリティデータを含むか否かを識別するフラグが格納される。
【０１３５】
書き込み先アドレス１６３は、ライトデータ１６５が格納される論理記憶装置番号及び論理記憶装置内アドレスを格納する。データ長１６４は、ライトデータ１６５のデータ長を格納する。ライトデータ１６５は、ライトＩ／Ｏ処理要求に伴うライトデータそのものである。パリティデータ１６６は、ライトデータ１６５に対応する再作成したライトパリティデータである。
【０１３６】
図１４は、本発明の第１の実施の形態のリストア処理の手順を示すフローチャートである。本処理は、管理端末３又はホスト１からリストア指示を受信したストレージシステム２にて実行される。
【０１３７】
本発明の第１の実施の形態では、ＡＰのバグ又は管理者のオペレーションミスなどによって、ジャーナル取得記憶装置３１に格納されたデータに論理的不整合などが生じた場合のリストア処理について説明する。
【０１３８】
管理者は、まず、ＡＰのログ情報などを参照し、論理的不整合が起きた時点を解析することによって、データを復元させるリストアポイントを決定する。そして、管理端末３又はホスト１から、ストレージシステム２に対してリストア指示を送信する。リストア指示は、リストア対象となるデータを格納していた論理記憶装置の識別情報、リストア先となる論理記憶装置の識別情報、及びリストアポイントなどを含む。
【０１３９】
本発明の第１の実施の形態では、リストア対象となるデータを格納していた論理記憶装置としてジャーナル取得記憶装置３１を、リストア先となる論理記憶装置として同じくジャーナル取得記憶装置３１を指定する。
【０１４０】
ストレージシステム２の制御装置２０は、管理端末３又はホスト１からリストア指示を受信すると（ステップ１７０）、リストア指示に含まれているリストア先として指定された論理記憶装置の識別情報に基づいて、デバイス管理情報５１を参照する。そして、指定された論理記憶装置がリストア先として使用可能な論理記憶装置であるか否かを確認する（ステップ１７１）。このとき、制御装置２０は、リストア先の論理記憶装置と、リストア対象となるデータを格納していた論理記憶装置とが同じＲＡＩＤ構成であるか否かを確認する。
【０１４１】
また、制御装置２０は、リストア指示に含まれるリストア対象となるデータを格納していた論理記憶装置の識別情報に基づいて、スナップショット管理情報７１及びジャーナル管理情報６３を参照し、指示されたデータをリストア可能であるか否かを確認する。そして、制御装置２０は、リストア指示に含まれるリストアポイントとスナップショット管理情報７１とを比較し、リストア対象の論理記憶装置のスナップショットのうち、リストアポイントよりも前の時点で最も新しいスナップショットを確認する。
【０１４２】
なお、制御装置２０は、前述の確認の結果、何らかの障害がある場合には、障害によって処理が続行できない旨を、リストア指示を発行した管理端末３又はホスト１に通知し、処理を中止する。
【０１４３】
制御装置２０は、リストアポイント直前に作成されたリストア対象の論理記憶装置のスナップショットを、当該スナップショットが格納されていた論理記憶装置から読み出して、リストア先の論理記憶装置にコピーする（ステップ１７２）。本発明の第１の実施の形態では、リストアポイント直前に作成されたジャーナル取得記憶装置３１のスナップショットを、ジャーナル取得記憶装置３１にリストアする。なお、スナップショットを格納していた論理記憶装置がリストア先として指定された場合は、本コピー処理は不要である。
【０１４４】
制御装置２０は、キャッシュメモリ２６にデータ格納領域を確保する。そして、制御装置２０は、ジャーナル管理情報６３を参照し、リストアされたスナップショットの作成直後に作成したジャーナル取得記憶装置３１のジャーナルの格納先アドレスを取得する。制御装置２０は、取得されたジャーナルの格納先アドレスから、処理順序番号順に順次ジャーナルをキャッシュメモリ２６に確保された領域に読み出す（ステップ１７３）。
【０１４５】
制御装置２０は、読み出したジャーナルに含まれる処理時刻が、リストアポイントよりも後の時間であるか否かを判定する（ステップ１７４）。
【０１４６】
制御装置２０は、読み出したジャーナルの処理時刻がリストアポイントより後でない場合には（ステップ１７４の結果が「Ｎ」）、読み出したジャーナルが、指定されたリストア対象であるジャーナル取得記憶装置３１に関するジャーナルであるか否かを判定する（ステップ１７５）。
【０１４７】
制御装置２０は、読み出したジャーナルがリストア対象として指定されたジャーナル取得記憶装置３１に関するジャーナルでない場合には（ステップ１７５の結果が「Ｎ」）、ステップ１７３の処理に戻る。
【０１４８】
制御装置２０は、読み出したジャーナルがリストア対象として指定されたジャーナル取得記憶装置３１に関するジャーナルである場合には（ステップ１７５の結果が「Ｙ」）、ジャーナルに含まれるパリティ有無フラグが有効であるか否かを判定する（ステップ１７６）。
【０１４９】
制御装置２０は、ジャーナルに含まれるパリティ有無フラグが有効であった場合には（ステップ１７５の結果が「Ｙ」）、ジャーナルに含まれるライトデータとライトパリティデータとをキャッシュメモリ２６又は物理記憶装置２８に書き込む（ステップ１７９）。
【０１５０】
制御装置２０は、ジャーナルに含まれるパリティ有無フラグが有効でない場合には（ステップ１７５の結果が「Ｎ」）、ジャーナルに含まれるライトデータの格納される領域に存在しているライト前データ、及びパリティグループ３０内の対応するライト前パリティデータをキャッシュメモリ２６又は物理記憶装置２８から読み出す（ステップ１７７）。
【０１５１】
制御装置２０は、ジャーナルに含まれるライトデータと、読み出したライト前データ及びライト前パリティデータから、新たにライトするライトパリティデータをキャッシュメモリ２６の領域に再作成する（ステップ１７８）。
【０１５２】
その後、制御装置２０は、ジャーナルに含まれるライトデータと、再作成したライトパリティデータとをキャッシュメモリ２６又は物理記憶装置２８に書き込む（ステップ１７９）。
【０１５３】
制御装置２０は、ステップ１７９の処理が完了すると、ステップ１７３に戻り、次のジャーナルを読み出す。制御装置２０は、ステップ１７３からステップ１７９の処理を繰り返すことによって、指定されたリストアポイントまでジャーナルを適用し、データを復元させる。
【０１５４】
制御装置２０は、読み出したジャーナルの処理時刻がリストアポイントより後であった場合には（ステップ１７４の結果が「Ｙ」）、リストアすべきデータをすべてリストア先のジャーナル取得記憶装置３１に書き込んだものと判断し、リストア指示を発行した管理端末３又はホスト１にリストア処理の完了を通知する。
【０１５５】
なお、制御装置２０は、ジャーナルに含まれるライトデータをキャッシュメモリ２６に格納した後に、ステップ１７７及びステップ１７８の処理を非同期に行ってもよい。また、キャッシュメモリ２６に格納されたライトデータ、及びライトパリティデータは、キャッシュメモリ２６にそれらデータが格納されるのとは非同期に、キャッシュメモリ２６から物理記憶装置２８に書き込まれる。
【０１５６】
図１５は、本発明の第１の実施の形態のジャーナル構成オプションの設定画面の一例を示す図である。ジャーナル構成オプションの設定画面は、ジャーナルにパリティデータを含めるか否かを設定するユーザインタフェースである。ジャーナル構成オプションの設定画面は、制御装置２０によって、管理端末３又はホスト１などに表示される。
【０１５７】
管理者は、特定のジャーナル取得記憶装置３１に対して、ジャーナルにパリティデータを含めるか否かを設定することができる。具体的には、チェックボックス１９１を選択し、設定対象のジャーナル取得記憶装置３１の識別番号を文字入力領域１９３に入力し、「ＯＫ」ボタンを操作することによって、ストレージシステム２に設定が反映される。
【０１５８】
一方、管理者は、チェックボックス１９０を選択すれば、ジャーナルにパリティデータが含まれないように設定できる。なお、制御装置２０は、ジャーナルにパリティデータが含まれるように設定した場合には、表示部１９２に、機能又は効果を示すメッセージを表示してもよい。例えば、図１５に示すように、リストアを高速化できるが、ジャーナルの記憶に必要な容量が増える旨を表示することができる。
【０１５９】
また、ジャーナル構成オプションの設定画面には、ジャーナル取得設定済みの論理記憶装置に関するジャーナル設定情報１９９を表示してもよい。
【０１６０】
ジャーナル設定情報１９９は、ジャーナル取得設定済論理記憶装置番号１９４、ジャーナル記憶用論理記憶装置番号１９５、ジャーナル記憶用論理記憶装置容量１９６、パリティデータ含１９７及びパリティデータ割合１９８を含む。
【０１６１】
ジャーナル取得設定済論理記憶装置番号１９４は、ジャーナルが取得される論理記憶装置を識別する論理記憶装置番号が格納される。ジャーナル記憶用論理記憶装置番号１９５は、ジャーナル取得設定済論理記憶装置番号１９４によって識別される論理記憶装置について、作成されたジャーナルが格納される論理記憶装置を識別する論理記憶装置番号が格納される。ジャーナル記憶用論理記憶装置容量１９６は、ジャーナル記憶用論理記憶装置番号１９５によって識別される論理記憶装置の記憶容量が格納される。
【０１６２】
パリティデータ含１９７は、ジャーナルにパリティデータが含まれるか否かを識別する情報が格納される。パリティデータ割合１９８は、ジャーナル記憶用論理記憶装置容量１９６に含まれるパリティデータの割合である。
【０１６３】
本発明の第１の実施の形態によれば、ライトデータとライトパリティデータとを含めてジャーナルを作成することによって、ジャーナル取得記憶装置３１に格納されたデータをライトペナルティなく高速に復元できる。特に、ＤＢＭＳのように、小さいランダムなライトＩ／Ｏ処理要求が多いＡＰに有効である。
【０１６４】
さらに、本発明の第１の実施の形態によれば、ライトＩ／Ｏ処理の延長でライトパリティデータをジャーナルに含めて作成するため、ストレージシステム２に対する負荷を小さくすることができる。
【０１６５】
（第２の実施の形態）
第１の実施の形態では、一台のストレージシステムに本発明を適用する実施の形態について説明したが、第２の実施の形態では、リモートコピーシステムに適用する実施の形態について説明する。なお、第１の実施の形態と同様の機能を果たす構成には同一の符号を付して重複する説明を適宜省略する。
【０１６６】
図１６は、本発明の第２の実施の形態のリモートコピーシステムのハードウェア構成及びシステムの論理的構成を示す図である。
【０１６７】
本発明の第２の実施の形態のリモートコピーシステムは、第１の実施の形態と同じく、ホスト１、ストレージシステム２、管理端末３、ネットワーク４、及びネットワーク５を含み、さらに、ストレージシステム３００及びネットワーク３０１を備える。
【０１６８】
本発明の第２の実施の形態のリモートコピーシステムは、ストレージシステム２に格納されるデータを、ネットワーク３０１を介してストレージシステム３００に転送し、複製するシステムである。
【０１６９】
ストレージシステム２のハードウェア構成は、第１の実施の形態の構成に加え、ストレージシステム２とネットワーク３０１とを接続する専用のネットワークアダプタを制御装置２０に備える。
【０１７０】
ストレージシステム３００のハードウェア構成は、ストレージシステム２と同様であって、第１の実施の形態のストレージシステム２のハードウェア構成に加え、ストレージシステム３００とネットワーク３０１とを接続する専用のネットワークアダプタを制御装置３２０に備える。
【０１７１】
ネットワーク３０１は、ストレージシステム２とストレージシステム３００とを接続し、ストレージシステム２からストレージシステム３００にリモートコピーの処理要求などを伝送するために使用される。
【０１７２】
ネットワーク３０１に使用されるケーブルには、光ファイバ及び銅線などが用いられる。また、ネットワーク３０１に使用される通信プロトコルは、ファイバチャネル、ＳＣＳＩ、ＴＣＰ／ＩＰなどの通信プロトコルが使用される。なお、ネットワーク３０１は、ネットワーク４及びネットワーク５と同一であっても異なっていてもよい。
【０１７３】
ストレージシステム２の論理的構成は、第１の実施形態とほぼ同様である。以下、相違する点を説明する。
【０１７４】
ストレージシステム２は、パリティグループ３０を構成する複数の物理記憶装置２８によって作成される記憶領域空間から、論理的な記憶領域を論理記憶装置（正記憶装置３１０、記憶装置３３）としてホスト１に提供する。
【０１７５】
正記憶装置３１０は、リモートコピー処理のコピー元対象として設定された論理記憶装置である。
【０１７６】
制御装置２０は、リモートコピー処理を制御するために、リモートコピー制御プログラム３１１を不揮発性メモリ２４に有する。制御装置２０は、リモートコピー制御プログラム３１１をプロセッサ２１によって実行することで、リモートコピー開始準備処理又はリモートコピー処理を実行する。
【０１７７】
ストレージシステム３００の論理的構成は、ストレージシステム２の論理的構成とほぼ同じである。
【０１７８】
ストレージシステム３００は、パリティグループ３３０を構成する複数の物理記憶装置３２１によって作成される記憶領域空間から、論理的な記憶領域を論理記憶装置（副記憶装置３３１、記憶装置３３２）として提供する。
【０１７９】
副記憶装置３３１は、リモートコピー処理のコピー先として設定された論理記憶装置である。
【０１８０】
制御装置３２０は、ストレージシステム３００内の処理を制御するために、Ｉ／Ｏ処理プログラム３４０、デバイス構成管理プログラム３４１、ジャーナル制御プログラム３４２、スナップショット制御プログラム３４３、及びバックアップ・リストア制御プログラム３４４の各プログラムを制御装置３２０内の不揮発性メモリに記憶する。
【０１８１】
さらに、制御装置３２０は、リモートコピー処理を制御するために、リモートコピー制御プログラム３４５を制御装置３２０内の不揮発性メモリに記憶する。
【０１８２】
制御装置３２０は、これらのプログラムをプロセッサ２１で実行することによって、ストレージシステム３００内の処理及びリモートコピー処理を制御する。
【０１８３】
管理端末３などからリモートコピー開始準備指示を受け付けると、制御装置２０は、リモートコピー制御プログラム３１１、デバイス構成管理プログラム５０、ジャーナル制御プログラム６０、及びスナップショット制御プログラム７０を実行する。同じく、制御装置３２０は、リモートコピー制御プログラム３４５、デバイス構成管理プログラム３４１、ジャーナル制御プログラム３４２、及びスナップショット制御プログラム３４３を実行する。
【０１８４】
制御装置２０は、リモートコピー処理のコピー元対象の論理記憶装置として正記憶装置３１０を設定する。制御装置３２０は、リモートコピー処理のコピー先の論理記憶装置として副記憶装置３３１を設定する。
【０１８５】
なお、このとき制御装置２０は、管理端末３などから入力されるリモートコピー用の転送ジャーナル設定に従って、取得するジャーナルにパリティデータを含めるか否かを設定する。
【０１８６】
続いて、制御装置２０は、正記憶装置３１０のスナップショットを作成し、ストレージシステム３００に転送する。制御装置３２０は、転送されたスナップショットを副記憶装置３３１に順次書き込む。
【０１８７】
制御装置２０は、正記憶装置３１０にホスト１からライトＩ／Ｏ処理要求を受信した場合には、リードライト処理プログラム４２、デバイス管理プログラム５２、ジャーナル作成プログラム６１、及びリモートコピー制御プログラム３１１を実行する。
【０１８８】
制御装置２０は、ライトデータをキャッシュメモリ２６に書き込むとともに、ライトデータの格納される領域に存在しているライト前データ及びパリティグループ３０内の対応するライト前パリティデータを読み出す。
【０１８９】
制御装置２０は、ライトデータと、読み出されたライト前データ及びライト前パリティデータに基づいて、新たに書き込むライトパリティデータを再作成する。
【０１９０】
制御装置２０は、ライトデータとライトパリティデータとをジャーナルとしてキャッシュメモリ２６の確保された領域に書き込む。
【０１９１】
制御装置２０は、キャッシュメモリ２６上に作成されたジャーナルをストレージシステム３００に転送し、転送するジャーナルを副記憶装置３３１にリストアするよう指示を送信する。
【０１９２】
制御装置３２０は、転送されたジャーナルのリストア指示を受信すると、バックアップ・リストア制御プログラム３４４、ジャーナル制御プログラム３４２、及びリモートコピー制御プログラム３４５を実行する。
【０１９３】
制御装置３２０は、副記憶装置３３１を構成する物理記憶装置３２１の記憶領域に、ジャーナルに含まれるライトデータとライトパリティデータとを上書きする。
【０１９４】
なお、ストレージシステム２は、転送するジャーナルを一時的にキャッシュメモリ２６から記憶装置３３に書き込んでもよい。同様に、ストレージシステム３００は、転送されたジャーナルを一時的にキャッシュメモリから記憶装置３３２に書き込んでもよい。
【０１９５】
以上、説明した構成に基づいて、本発明の第２の実施の形態の処理概要を説明する。
【０１９６】
ストレージシステム２の制御装置２０は、正記憶装置３１０に対するライトＩ／Ｏ処理要求を受け付けると、ライトデータをキャッシュメモリ２６に書き込む。そして、制御装置２０は、ライト前データ及びライト前パリティデータを読み出し、ライトパリティデータを再作成する。
【０１９７】
制御装置２０は、ライトデータとライトパリティデータとをキャッシュメモリ２６又は物理記憶装置２８に書き込むとともに、ライトデータとライトパリティデータとを含むジャーナルを作成し、キャッシュメモリ２６に書き込む。キャッシュメモリ２６上のジャーナルをストレージシステム３００に転送し、副記憶装置３３１にリストアするよう指示する。
【０１９８】
ストレージシステム３００の制御装置３２０は、転送されたジャーナルのリストア指示を受信すると、予め作成された、正記憶装置３１０の複製である副記憶装置３３１を構成する物理記憶装置３２１の記憶領域に、転送されたジャーナルに含まれるライトデータとライトパリティデータとを上書きする。
【０１９９】
こうすることによって、本実施形態のリモートコピーシステムは、正記憶装置３１０に格納されたデータを副記憶装置３３１にライトペナルティなく高速に復元できる。
【０２００】
以下、各処理について詳細を説明する。
【０２０１】
図１７は、本発明の第２の実施の形態のリモートコピー開始準備処理の手順を示すフローチャートである。
【０２０２】
管理端末３は、まず、正記憶装置３１０を含むストレージシステム２及び副記憶装置３３１を含むストレージシステム３００に、リモートコピー開始準備指示を送信する（ステップ４０１）。
【０２０３】
ストレージシステム２の制御装置２０は、リモートコピー開始準備指示を受信すると（ステップ４１１）、正記憶装置３１０を設定する（ステップ４１２）。そして、正記憶装置３１０の設定が完了すると、制御装置２０は、管理端末３に正記憶装置３１０の設定が完了した旨を通知する（ステップ４１３）。同じく、ストレージシステム３００の制御装置３２０は、リモートコピー開始準備指示を受信すると（ステップ４２１）、副記憶装置３３１を設定する（ステップ４２２）。そして、副記憶装置３３１の設定が完了すると、制御装置３２０は、管理端末３に副記憶装置３３１の設定が完了した応答を送信する（ステップ４２３）。
【０２０４】
このとき、副記憶装置３３１のＲＡＩＤ構成が正記憶装置３１０のＲＡＩＤ構成と同じであるか否かを確認しておく。同じである場合でも異なる場合でも以下の処理は続行される。正記憶装置３１０のＲＡＩＤ構成と副記憶装置３３１のＲＡＩＤ構成が同じであるか否かを制御装置内に記憶しておくと、リモートコピー実行時に利用することができる。
【０２０５】
管理端末３は、ストレージシステム２及びストレージシステム３００から正副の記憶装置の設定が完了した旨の通知を受信すると（ステップ４０２）、正記憶装置３１０を含むストレージシステム２にスナップショットの作成・転送指示を送信する（ステップ４０３）。
【０２０６】
ストレージシステム２の制御装置２０は、管理端末３によって送信されたスナップショット作成・転送指示を受信すると（ステップ４１４）、指示に従って正記憶装置３１０に格納されたデータのスナップショットを作成し、ストレージシステム３００に転送する（ステップ４１５）。
【０２０７】
ストレージシステム３００の制御装置３２０は、ストレージシステム２から転送されたスナップショットデータを副記憶装置３３１に書き込む（ステップ４２４）。スナップショットデータの書き込みが完了すると、制御装置３２０は、管理端末３に完了応答を送信する。
【０２０８】
管理端末３は、ストレージシステム３００からスナップショットデータの書き込み完了応答を受信し（ステップ４０４）、本処理を終了する。
【０２０９】
図１８は、本発明の第２の実施の形態のリモートコピー処理の手順を示すフローチャートである。
【０２１０】
ストレージシステム２の制御装置２０は、正記憶装置３１０に対するライトＩ／Ｏ処理要求を受信すると（ステップ４３１）、受信したＩ／Ｏ処理要求に応じた処理を実行する（ステップ４３２）。ステップ４３２の処理は、図１１において説明した処理と同じである。
【０２１１】
具体的には、制御装置２０は、正記憶装置３１０に対するライトＩ／Ｏ処理要求を受信すると、ライトデータをキャッシュメモリ２６に格納する。そして、制御装置２０は、ジャーナル作成処理を実行する。
【０２１２】
ジャーナル作成処理では、制御装置２０は、ライト前データ及びライト前パリティデータを読み出し、ライトパリティデータを再作成する。さらに、制御装置２０は、ライトデータとライトパリティデータとをキャッシュメモリ２６又は物理記憶装置２８に書き込むとともに、ジャーナルにパリティデータを含めるか否かの設定に応じてジャーナルを作成しキャッシュメモリ２６に格納する。
【０２１３】
ジャーナルにパリティデータを含める設定の場合、制御装置２０は、パリティ有無フラグを有効として、ライトデータとライトパリティデータとを含むジャーナルを作成する。ジャーナルにパリティデータを含めない設定の場合、制御装置２０は、パリティ有無フラグを無効として、ライトデータを含むジャーナルを作成する。
【０２１４】
なお、制御装置２０は、ジャーナル作成処理の終了を待たずにライトＩ／Ｏ処理の終了をホスト１に通知してもよい。
【０２１５】
制御装置２０は、ジャーナル作成処理によって、キャッシュメモリに格納されたジャーナルをストレージシステム３００に転送し、かつ転送されるジャーナルのリストア指示を送信する（ステップ４３４）。なお、制御装置２０は、ストレージシステム２からストレージシステム３００へのジャーナルの転送処理を非同期に実行してもよい。
【０２１６】
ストレージシステム３００の制御装置３２０は、転送されたジャーナルのリストア指示を受信すると（ステップ４４１）、リストア先の副記憶装置３３１が正記憶装置３１０と同じＲＡＩＤ構成であるか否かを判定する（ステップ４４２）。
【０２１７】
制御装置３２０は、副記憶装置３３１と正記憶装置３１０とが同じＲＡＩＤ構成の場合には（ステップ４４２の結果が「Ｙ」）、転送されたジャーナルに含まれるパリティ有無フラグの値が有効であるか否かを判定する（ステップ４４３）。転送されたジャーナルに含まれるパリティ有無フラグの値が有効である場合（ステップ４４３の結果が「Ｙ」）、後述するステップ４４６に進む。
【０２１８】
制御装置３２０は、副記憶装置３３１と正記憶装置３１０とが異なるＲＡＩＤ構成の場合（ステップ４４２の結果が「Ｎ」）、又は、転送されたジャーナルに含まれるパリティ有無フラグの値が無効である場合（ステップ４４３の結果が「Ｎ」）、パリティデータを再作成する。
【０２１９】
具体的には、制御装置３２０は、まず、ジャーナルに含まれるライトデータのライト前データと対応するライト前パリティデータとを読み出す（ステップ４４４）。次に、ジャーナルに含まれるライトデータと、読み出したライト前データ及びライト前パリティデータとに基づいて、ライトパリティデータを再作成する（ステップ４４５）。
【０２２０】
制御装置３２０は、ジャーナルに含まれるパリティデータ又は再作成されたパリティデータを、ライトデータとともに、キャッシュメモリ又は副記憶装置３３１を構成する物理記憶装置３２１に書き込む（ステップ４４６）。そして、ストレージシステム２にジャーナルのリストア完了応答を送信する（ステップ４４７）。なお、制御装置３２０は、ステップ４４２からステップ４４６までの、転送されたジャーナルのリストア処理を非同期に実行してもよい。
【０２２１】
ストレージシステム２の制御装置２０は、ストレージシステム３００からジャーナルのリストア完了応答を受信すると（ステップ４３５）、その後処理を終了する。
【０２２２】
図１９は、本発明の第２の実施の形態のリモートコピー用ジャーナルの構成オプションの設定画面の一例を説明する図である。
【０２２３】
リモートコピー用ジャーナル構成オプションの設定画面は、ジャーナルにパリティデータを含めるか否かを設定するユーザインタフェースである。リモートコピー用ジャーナル構成オプションの設定画面は、制御装置２０によって、管理端末３又はホスト１などに表示される。
【０２２４】
管理者は、リモートコピーを取得する記憶装置に対して、ジャーナルにパリティデータを含めるか否かを設定することができる。具体的には、チェックボックス４５１を選択し、リモートコピーを取得する記憶装置の識別番号を文字入力領域４５３に入力し、「ＯＫ」ボタンを操作することによって、ストレージシステム２に設定が反映される。
【０２２５】
一方、管理者は、チェックボックス４５０を選択すれば、ジャーナルにパリティデータを含めないように設定できる。なお、制御装置２０は、ジャーナルにパリティデータを含めるよう設定した場合には、表示部４５２に、機能又は効果を示すメッセージを表示してもよい。例えば、図１９に示すように、リストアを高速化できるが、転送するジャーナルの容量が増える旨を表示することができる。
【０２２６】
本発明の第２の実施の形態によれば、ライトデータとライトパリティデータとを含めてジャーナルを作成して転送することによって、ライトペナルティ発生させずに正記憶装置３１０に格納されたデータを副記憶装置３３１に高速に復元できる。特に、ＤＢＭＳのように、小さいランダムなライトＩ／Ｏ処理要求が多いＡＰに有効である。
【０２２７】
さらに、本発明の第２の実施の形態によれば、ライトＩ／Ｏ処理の延長でライトパリティデータをジャーナルに含めて作成するため、ストレージシステム２に対して小さな負荷で本発明を実施することができる。
【図面の簡単な説明】
【０２２８】
【図１】本発明の第１の実施の形態のストレージシステムを含む情報処理システムのハードウェア構成図である。
【図２】本発明の第１の実施の形態のストレージシステムが有するプログラム構成、及びシステムの論理的構成を示す図である。
【図３】本発明の第１の実施の形態のジャーナル取得記憶装置のＲＡＩＤ構成を示す図である。
【図４】本発明の第１の実施の形態のデバイス管理情報に含まれるマッピング管理テーブルを示す図である。
【図５】本発明の第１の実施の形態のデバイス管理情報に含まれるパリティグループ管理テーブルを示す図である。
【図６】本発明の第１の実施の形態のデバイス管理情報に含まれる論理記憶装置管理テーブルを示す図である。
【図７】本発明の第１の実施の形態のジャーナル制御プログラムに含まれるジャーナル管理情報の一例を示す図である。
【図８】本発明の第１の実施の形態のスナップショット制御プログラムに含まれるスナップショット管理情報の一例を示す図である。
【図９】本発明の第１の実施の形態のジャーナル取得開始処理の手順を示すフローチャートである。
【図１０】本発明の第１の実施の形態のスナップショット作成処理の手順を示すフローチャートである。
【図１１】本発明の第１の実施の形態のリードライトＩ／Ｏ処理手順を示すフローチャートである。
【図１２】本発明の第１の実施の形態のジャーナル作成処理の手順を示すフローチャートである。
【図１３】本発明の第１の実施の形態のジャーナルのデータ形式を表す図である。
【図１４】本発明の第１の実施の形態のリストア処理の手順を示すフローチャートである。
【図１５】本発明の第１の実施の形態のジャーナル構成オプションの設定画面の一例を示す図である。
【図１６】本発明の第２の実施の形態のリモートコピーシステムのハードウェア構成及びシステムの論理的構成を示す図である。
【図１７】本発明の第２の実施の形態のリモートコピー開始準備処理の手順を示すフローチャートである。
【図１８】本発明の第２の実施の形態のリモートコピー処理の手順を示すフローチャートである。
【図１９】本発明の第２の実施の形態のリモートコピー用ジャーナルの構成オプションの設定画面の一例を説明する図である。
【符号の説明】
【０２２９】
１      ホスト
２、３００    ストレージシステム
４、５、３０１    ネットワーク
２０、３２０    制御装置
２８、３２１    物理記憶装置
３０、３３０    パリティグループ
３１    ジャーナル取得記憶装置
３２    ジャーナル記憶装置
３３、３３２    記憶装置
４０、３４０    Ｉ／Ｏ処理プログラム
５０、３４１    デバイス構成管理プログラム
５１    デバイス管理情報
６０、３４２    ジャーナル制御プログラム
６３    ジャーナル管理情報
７０、３４３    スナップショット制御プログラム
７１    スナップショット管理情報
８０、３４４    バックアップ・リストア制御プログラム
３１１、３４５    リモートコピー制御プログラム
２００    マッピング管理テーブル
２１０    パリティグループ管理テーブル
２２０    論理記憶装置管理テーブル
３１０    正記憶装置
３３１    副記憶装置
【図１】
2008225616.tif 000003
【図２】
2008225616.tif 000004
【図３】
2008225616.tif 000005
【図４】
2008225616.tif 000006
【図５】
2008225616.tif 000007
【図６】
2008225616.tif 000008
【図７】
2008225616.tif 000009
【図８】
2008225616.tif 000010
【図９】
2008225616.tif 000011
【図１０】
2008225616.tif 000012
【図１１】
2008225616.tif 000013
【図１２】
2008225616.tif 000014
【図１３】
2008225616.tif 000015
【図１４】
2008225616.tif 000016
【図１５】
2008225616.tif 000017
【図１６】
2008225616.tif 000018
【図１７】
2008225616.tif 000019
【図１８】
2008225616.tif 000020
【図１９】
2008225616.tif 000021