(57)【要約】【課題】異なる暗号鍵で暗号化されたジャーナルを同じジャーナルボリュームに混在させて管理する。【解決手段】ホスト計算機と、ホスト計算機に接続される第１のストレージシステムと、を備える計算機システムであって、第１のストレージシステムは、第１のコントローラと、第１のボリュームと、第２のボリュームと、を備え、第１のコントローラは、ホスト計算機から書き込み要求を受け付けた場合に、書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、第２のボリュームに格納されるデータの暗号化状態及び第１のボリュームに対応して第２のボリュームに格納されるデータを暗号化する暗号鍵に基づいて書き込みデータを暗号化し、作成された更新情報及び暗号化された書き込みデータを第２のボリュームに格納する。【選択図】図１
2009157584.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と、前記ホスト計算機に接続される第１のストレージシステムと、を備える計算機システムであって、
前記第１のストレージシステムは、
前記第１のストレージシステムを制御する第１のコントローラと、
前記ホスト計算機によって書き込まれたデータを格納する第１のボリュームと、
前記第１のボリュームに格納されているデータが更新される場合に、前記更新されるデータを格納する第２のボリュームと、を備え、
前記第１のコントローラは、
前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、
前記第２のボリュームに格納されるデータの暗号化状態及び前記第２のボリュームに格納されるデータを暗号化する暗号鍵に基づいて、前記書き込みデータを暗号化し、
前記作成された更新情報及び前記暗号化された書き込みデータを前記第２のボリュームに格納することを特徴とする計算機システム。
【請求項２】
前記第１のコントローラは、前記第１のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、前記第１のボリュームに格納されるデータを暗号化する暗号鍵、前記第２のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、及び前記第２のボリュームに格納されるデータを暗号化する暗号鍵を含む暗号管理情報を管理することを特徴とする請求項１に記載の計算機システム。
【請求項３】
前記計算機システムは、前記第１のストレージシステムに接続される第２のストレージシステムを備え、
前記第１のコントローラは、
前記第２のボリュームに格納された前記更新情報及び前記書き込みデータを読み出し、
前記読み出された書き込みデータの暗号化状態、及び前記読み出された書き込みデータを復号化する暗号鍵に基づいて、前記書き込みデータを復号化し、
前記更新情報及び前記復号化された書き込みデータを前記第２のストレージシステムに送信することを特徴とする請求項１に記載の計算機システム。
【請求項４】
前記第２のストレージシステムは、
前記第２のストレージシステムを制御する第２のコントローラと、
前記第１のボリュームのデータの複製が格納される第３のボリュームと、
前記第３のボリュームに格納されているデータが更新されるときに、前記更新されるデータを格納する第４のボリュームと、を備え、
前記第２のコントローラは、
前記送信された更新情報及び書き込みデータが格納される前記第４のボリュームを特定し、
前記第４のボリュームに格納されたデータの暗号化状態に基づいて、前記書き込みデータを暗号化するか否かを判定し、
前記書き込みデータを暗号化する場合、前記第４のボリュームに格納されるデータを暗号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記送信された書き込みデータを暗号化し、
前記更新情報及び前記暗号化された書き込みデータを前記特定された第４のボリュームに格納することを特徴とする請求項３に記載の計算機システム。
【請求項５】
前記第２のコントローラは、
前記特定された第４のボリュームから前記更新情報及び前記書き込みデータを読み出し、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定し、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを復号化し、
前記復号化された書き込みデータを前記第３のボリュームに格納することを特徴とする請求項４に記載の計算機システム。
【請求項６】
前記第２のコントローラは、
前記特定された第４のボリュームから前記更新情報及び前記書き込みデータを読み出し、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定し、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを復号化し、
前記第３のボリュームに格納されるデータが暗号化されているか否かを判定し、
前記第３のボリュームに格納されるデータが暗号化されている場合、前記第３のボリュームに格納されるデータを暗号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化し、
前記暗号化された書き込みデータを前記第３のボリュームに格納することを特徴とする請求項４に記載の計算機システム。
【請求項７】
ストレージシステムを制御するコントローラと、
ホスト計算機によって書き込まれたデータを格納する第１のボリュームと、
前記第１のボリュームに格納されているデータが更新される場合に、前記更新されるデータを格納する第２のボリュームと、を備えるストレージシステムであって、
前記コントローラは、
前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、
前記第２のボリュームに格納されるデータの暗号化状態及び前記第２のボリュームに格納されるデータを暗号化する暗号化鍵に基づいて、前記書き込みデータを暗号化し、
前記作成された更新情報及び前記暗号化された書き込みデータを前記第２のボリュームに格納することを特徴とするストレージシステム。
【請求項８】
前記ストレージシステムは、スナップショットが作成された時点の前記第１のボリュームのデータが格納される第３のボリュームを備え、
前記コントローラは、
前記第２のボリュームに格納されているデータのうち、前記スナップショットが作成された時点以降に更新されたデータがあるか否かを判定し、
前記スナップショットが作成された時点以降に更新されたデータがある場合、前記スナップショットが作成された時点以降に前記第２のボリュームに格納された更新情報及び書き込みデータを読み出し、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定し、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを復号化し、
前記復号化された書き込みデータを前記第３のボリュームに格納することを特徴とする請求項７に記載のストレージシステム。
【請求項９】
前記コントローラは、
前記第３のボリュームに格納されるデータが暗号化されているか否か判定し、
前記第３のボリュームに格納されるデータが暗号化されている場合、前記第３のボリュームに格納されるデータを暗号化する暗号鍵を取得し、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化し、
前記暗号化した書き込みデータを前記第３のボリュームに格納することを特徴とする請求項８に記載のストレージシステム。
【請求項１０】
ホスト計算機と、前記ホスト計算機に接続される第１のストレージシステムと、を備える計算機システムで実行されるリモートコピー方法であって、
前記第１のストレージシステムは、
前記ホスト計算機によって書き込まれたデータを格納する第１のボリュームと、
前記第１のボリュームに格納されているデータが更新されるときに、前記更新されるデータを格納する第２のボリュームと、を備え、
前記リモートコピー方法は、
前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成するステップと、
前記第２のボリュームに格納されるデータの暗号化状態及び前記第２のボリュームに格納されるデータを暗号化する暗号鍵に基づいて、前記書き込みデータを暗号化するステップと、
前記作成された更新情報及び前記暗号化された書き込みデータを前記第２のボリュームに格納するステップと、を含むことを特徴とするリモートコピー方法。
【請求項１１】
前記第１のストレージシステムは、前記第１のストレージシステムを制御する第１のコントローラを備え、
前記第１のコントローラは、前記第１のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、前記第１のボリュームに格納されるデータを暗号化する暗号鍵、前記第２のボリュームに格納されるデータが暗号化されているか否かを示す暗号化状態、及び前記第２のボリュームに格納されるデータを暗号化する暗号鍵を含む暗号管理情報を管理することを特徴とする請求項１０に記載のリモートコピー方法。
【請求項１２】
前記計算機システムは、前記第１のストレージシステムに接続される第２のストレージシステムを備え、
リモートコピー方法は、
前記第２のボリュームに格納された前記更新情報及び前記書き込みデータを読み出し、
前記読み出された書き込みデータの暗号化状態、及び前記読み出された書き込みデータを復号化する暗号鍵に基づいて、前記書き込みデータを復号化するステップと、
前記更新情報及び前記復号化された書き込みデータを前記第２のストレージシステムに送信するステップと、を含むことを特徴とする請求項１０に記載のリモートコピー方法。
【請求項１３】
前記第２のストレージシステムは、
前記第１のボリュームのデータの複製が格納される第３のボリュームと、
前記第３のボリュームに格納されているデータが更新されるときに、前記更新されるデータを格納する第４のボリュームと、を備え、
前記リモートコピー方法は、
前記送信された更新情報及び書き込みデータが格納される前記第４のボリュームを特定するステップと、
前記第４のボリュームに格納されたデータの暗号化状態に基づいて、前記書き込みデータを暗号化するか否かを判定するステップと、
前記書き込みデータを暗号化する場合、前記第４のボリュームに格納されるデータを暗号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記送信された書き込みデータを暗号化するステップと、
前記更新情報及び前記暗号化された書き込みデータを前記特定された第４のボリュームに格納するステップと、を含むことを特徴とする請求項１２に記載のリモートコピー方法。
【請求項１４】
前記リモートコピー方法は、
前記特定された第４のボリュームから前記更新情報及び前記書き込みデータを読み出すステップと、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定するステップと、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを復号化するステップと、
前記復号化された書き込みデータを前記第３のボリュームに格納するステップと、を含むことを特徴とする請求項１３に記載のリモートコピー方法。
【請求項１５】
前記リモートコピー方法は、
前記特定された第４のボリュームから前記更新情報及び前記書き込みデータを読み出すステップと、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定するステップと、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを復号化するステップと、
前記第３のボリュームに格納されるデータが暗号化されているか否かを判定するステップと、
前記第３のボリュームに格納されるデータが暗号化されている場合、前記第３のボリュームに格納されるデータを暗号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化するステップと、
前記暗号化された書き込みデータを前記第３のボリュームに格納するステップと、を含むことを特徴とする請求項１３に記載のリモートコピー方法。
【請求項１６】
前記第１のストレージシステムは、スナップショットが作成された時点の前記第１のボリュームのデータが格納される第５のボリュームを備え、
前記リモートコピー方法は、
前記第２のボリュームに格納されているデータのうち、前記スナップショットが作成された時点以降に更新されたデータがあるか否かを判定するステップと、
前記スナップショットが作成された時点以降に更新されたデータがある場合、前記スナップショットが作成された時点以降に前記第２のボリュームに格納された更新情報及び書き込みデータを読み出すステップと、
前記読み出された更新情報に基づいて、前記書き込みデータが暗号化されているか否かを判定するステップと、
前記書き込みデータが暗号化されている場合、前記書き込みデータを復号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを復号化するステップと、
前記復号化された書き込みデータを前記第５のボリュームに格納するステップと、を含むことを特徴とする請求項１０に記載のリモートコピー方法。
【請求項１７】
前記リモートコピー方法は、
前記第５のボリュームに格納されるデータが暗号化されているか否か判定するステップと、
前記第５のボリュームに格納されるデータが暗号化されている場合、前記第５のボリュームに格納されるデータを暗号化する暗号鍵を取得するステップと、
前記取得した暗号鍵を用いて前記書き込みデータを暗号化するステップと、を含み、
前記第５のボリュームに格納するステップでは、前記暗号化した書き込みデータを前記第５のボリュームに格納することを特徴とする請求項１６に記載のリモートコピー方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システムに関し、特に、ストレージ装置間におけるデータのリモートコピーに関する。
【背景技術】
【０００２】
コンピュータシステムで発生するストレージ装置の障害によるデータの消失を防止するため、ストレージ装置の論理ボリュームに格納されたデータは、冗長的に構成された遠隔地のストレージ装置の論理ボリュームにバックアップされる。例えば、リモートコピー（又はリモートミラーリング）は、論理ボリュームに格納されたデータのバックアップを行う技術として知られている。
【０００３】
具体的には、リモートコピーは、主系のストレージ装置の論理ボリューム（主論理ボリューム）と副系のストレージ装置の論理ボリューム（副論理ボリューム）との一組のボリュームをペアボリュームとして定義し、主論理ボリュームに格納されたデータを同期又は非同期に副論理ボリュームにコピーすることによって、データをバックアップする。よって、主系のストレージ装置に障害が発生した場合でも、副系のストレージ装置は、主系のストレージ装置から引き継いで、ホスト計算機からＩ／Ｏアクセスを受け付けることができる。
【０００４】
また、データのバックアップ及びデータのリストアを高速に行なう技術として、ジャーナリングが知られている。ジャーナリングは、ホスト計算機からデータの書き込み要求（命令）を受け付けると、書き込まれるデータと書き込み要求を受け付けた時刻等を含む更新情報とをジャーナルとして論理ボリュームに格納する。なお、ジャーナルを格納する論理ボリュームは、ジャーナルボリュームと呼ばれる。
【０００５】
特許文献１には、リモートコピーにジャーナリングの技術を用いる記憶システムが開示されている。具体的には、特許文献１に開示されている第１の記憶システムは、自身のボリュームに格納されたデータに対するライト命令（書き込み要求）を受け付けると、ライト命令を受け付けたボリュームに格納されたデータを更新するとともに、ライトデータにライト命令の受信時刻等が付加されたジャーナルを作成し、作成したジャーナルを第２の記憶システムに転送する。第２の記憶システムは、転送されたジャーナルに基づいて、自身のボリュームに格納されたデータを更新する。よって、第２の記憶システムのボリュームに、第１の記憶システムのボリュームの複製が作成される。
【０００６】
また、データを格納する複数のボリューム（データボリューム）がジャーナルボリュームを共有することによって、複製元のデータボリュームが更新される順序と複製先のデータボリュームが更新される順序とを一致させることができる。
【０００７】
また、セキュリティを保護するため、データは暗号化されてストレージ装置に格納される。データが暗号化されることによって、データの機密性が保証される。
【０００８】
特許文献２には、記憶領域に格納されるデータを暗号化する場合、同じ暗号鍵を用いて暗号化されたデータの増加を防止する記憶システムが開示されている。具体的には、ボリュームミラー機能及びスナップショット機能を用いて、異なる記憶領域の間でデータを共有する記憶システムにおいて、複製元の記憶領域に格納されているデータが暗号化されている場合には、複製元の記憶領域に割り当てられている暗号鍵を用いて、暗号化されているデータを復号化する。そして、複製元の記憶領域とは異なる記憶領域に割り当てられている暗号鍵を用いてデータを暗号化し、複製先の記憶領域に暗号化されたデータを格納する。
【特許文献１】特開２００５−０１８５０６号公報
【特許文献２】特開２００７−０２８５０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
異なる管理者が管理するデータボリュームには、異なる暗号鍵が割り当てられる場合がある。一方、管理ボリューム（例えば、ジャーナルボリューム）は、管理者間で共有される場合がある。ジャーナルボリュームが管理者間で共有される場合、ジャーナルボリュームに異なる暗号鍵で暗号化されたジャーナルが混在する。しかし、従来技術では、異なる暗号鍵で暗号化されたジャーナルを同じジャーナルボリュームに混在させて管理することは考慮されていない。
【課題を解決するための手段】
【００１０】
本発明の代表的な一例を示せば以下の通りである。すなわち、ホスト計算機と、前記ホスト計算機に接続される第１のストレージシステムと、を備える計算機システムであって、前記第１のストレージシステムは、前記第１のストレージシステムを制御する第１のコントローラと、前記ホスト計算機によって書き込まれたデータを格納する第１のボリュームと、前記第１のボリュームに格納されているデータが更新される場合に、前記更新されるデータを格納する第２のボリュームと、を備え、前記第１のコントローラは、前記ホスト計算機から書き込み要求を受け付けた場合に、前記書き込み要求に含まれる書き込みデータに基づいて更新情報を作成し、前記第２のボリュームに格納されるデータの暗号化状態及び前記第２のボリュームに格納されるデータを暗号化する暗号鍵に基づいて、前記書き込みデータを暗号化し、前記作成された更新情報及び前記暗号化された書き込みデータを前記第２のボリュームに格納することを特徴とする。
【発明の効果】
【００１１】
本発明の一実施形態によれば、異なる暗号鍵で暗号化されたジャーナルが同じジャーナルボリュームに混在する場合でも、適切な暗号鍵でジャーナルを復号化し、リモートコピーを実現することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１３】
＜第１の実施形態＞
図１は、本発明の第１の実施の形態のコンピュータシステム１の構成図を示す。
【００１４】
図１に示すように、コンピュータシステム１は、ホスト計算機３（３Ａ、３Ｂ）、ストレージ装置４（４Ａ、４Ｂ）、及び管理計算機５（５Ａ、５Ｂ）を備える。以下、３Ａ、３Ｂを区別しない場合には、単に３と説明することもある。また、４Ａ、４Ｂを区別しない場合には、単に４と説明することもある。また、５Ａ、５Ｂを区別しない場合には、単に５と説明することもある。
【００１５】
ホスト計算機３及びストレージ装置４は、ストレージネットワーク２Ａを介して相互に接続される。また、ストレージ装置４及び管理計算機５は、管理ネットワーク２Ｂを介して相互に接続される。コンピュータシステム１は、例えば、銀行の業務システム及び航空機の座席予約業務システム等として実現することができる。
【００１６】
ストレージネットワーク２Ａは、ホスト計算機３とストレージ装置４との間のＩ／Ｏアクセスに基づいた通信に用いられるネットワークシステムである。また、ストレージネットワーク２Ａは、ストレージ装置４Ａとストレージ装置４Ｂとの間のリモートコピーに基づいた通信に用いられる。
【００１７】
ストレージネットワーク２Ａは、例えば、ＬＡＮ及びＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）のいずれかによって構成することができる。なお、ストレージネットワーク２Ａは、ネットワークスイッチ及びハブ等を備える。本実施の形態では、ストレージネットワーク２Ａは、ファイバーチャネルプロトコルベースのＳＡＮ（ＦＣ−ＳＡＮ）によって構成される。
【００１８】
管理ネットワーク２Ｂは、管理計算機５がホスト計算機３及びストレージ装置４を管理する際の通信に用いられるネットワークである。
【００１９】
管理ネットワーク２Ｂは、例えば、ＬＡＮ及びＳＡＮのいずれかによって構成することができる。なお、管理ネットワーク２Ｂは、ネットワークスイッチ及びハブ等を備える。本実施の形態では、管理ネットワーク２Ｂは、ＩＰプロトコルベースのＬＡＮによって構成される。
【００２０】
なお、ストレージネットワーク２Ａ及び管理ネットワーク２Ｂは、物理的に別のネットワークとして構成されていなくてもよい。例えば、ストレージネットワーク２ＡがＩＰプロトコルベースのＳＡＮによって構成される場合には、ストレージネットワーク２Ａ及び管理ネットワーク２Ｂは、一つのネットワークシステムとして構成することができる。
【００２１】
ホスト計算機３は、ストレージネットワーク２Ａを介してストレージ装置４にＩ／Ｏアクセスの要求を送信し、その結果を受信する。ホスト計算機３は、例えば、銀行の業務システム及び航空機の座席予約業務システム等のコンピュータに用いることができる。
【００２２】
また、ホスト計算機３は、プロセッサ、メモリ、ネットワークインターフェース、及びローカル入出力デバイス等のハードウェア資源を備え、デバイスドライバ、オペレーティングシステム（ＯＳ）、及びアプリケーションプログラム等のソフトウェア資源を備える。
【００２３】
ホスト計算機３は、プロセッサの制御の下、各種のプログラムを実行して、他のハードウェア資源との協働作用によって、所望の処理を実現する。例えば、ホスト計算機３は、プロセッサが、ＯＳ上で業務アプリケーションプログラムを実行することによって、ストレージ装置４のボリュームにアクセスし、所望の業務システムを実現することができる。
【００２４】
図１に示す例では、２台のホスト計算機３Ａ及びホスト計算機３Ｂは、ストレージ装置４Ａ及びストレージ装置４Ｂのそれぞれにアクセスする。
【００２５】
ストレージ装置４は、ホスト計算機３にデータストレージサービスを提供するサブシステムであり、一つ又は複数のボリュームに格納されるデータのＩ／Ｏアクセスをホスト計算機３に提供する。また、ストレージ装置４は、データを保持する記憶媒体を含む物理デバイスである一つ又は複数のディスクドライブ４１と、ディスクドライブ４１に対する書き込み要求又は読み出し要求を含むＩ／Ｏアクセスを制御するコントローラ４２と、を備える。
【００２６】
ストレージ装置４Ａの構成とストレージ装置４Ｂの構成とは同じであるが、運用上、異なる役割が割り当てられる。例えば、ストレージ装置４Ａは、通常の運用時に稼働する主系のストレージ装置４Ａであり、ストレージ装置４Ｂは、障害や保守作業の発生によってストレージ装置４Ａが停止した場合に備えて待機する副系のストレージ装置４Ｂであってもよい。よって、主系のストレージ装置４Ａ及び副系のストレージ装置４Ｂに定義される一組のペアボリュームには、後述するリモートコピー（リモートミラーリング）によって、それぞれ同じデータが格納される。
【００２７】
ディスクドライブ４１の記憶領域は、複数のボリュームに分割又は結合される。各ボリュームは、ホスト計算機３上のアプリケーションプログラムが一つの論理的なディスク装置として認識する記憶領域である。ディスクドライブ４１に含まれる任意の容量の物理的な記憶領域が、各ボリュームに割り当てられる。
【００２８】
また、複数のボリュームが分割又は結合されることによって、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｃｅ  Ｄｉｓｋｓ）が構成されてもよい。
【００２９】
各ボリュームには、ボリューム番号が割り当てられる。よって、ホスト計算機３は、ボリューム番号を用いて特定のボリュームを認識する。ボリューム番号には、ポート番号及びロジカルユニット番号（ＬＵＮ：Ｌｏｇｉｃａｌ  Ｕｎｉｔ  Ｎｕｍｂｅｒ）が用いられる。また、ボリュームは、Ｉ／Ｏアクセスの最小単位であるブロックに分割され、各ブロックには、アドレス（論理アドレス）が割り当てられる。ホスト計算機３は、ボリューム番号及びアドレス（論理アドレス）を指定することによって、特定のボリュームにおける特定のブロックに格納されたデータにアクセスすることができる。
【００３０】
ストレージ装置４は、目的及び用途に応じてボリュームを備える。本実施の形態では、ストレージ装置４は、ホスト計算機３からのＩ／Ｏアクセスに基づいてデータを格納する一つ又は複数のデータボリューム（Ｄ−ＶＯＬ）と、ジャーナリング機能を用いて生成されるジャーナルを格納する一つ又は複数のジャーナルボリューム（Ｊ−ＶＯＬ）とを備える。
【００３１】
また、ストレージ装置４は、ＲＣ／ＪＮＬ機能及び暗号／復号化機能を備える。
【００３２】
ＲＣ／ＪＮＬ機能は、リモートコピーにジャーナリング機能が用いられる。具体的には、主系のストレージ装置４Ａは、副系のストレージ装置４Ｂからリモートコピーの要求を受け付けると、ジャーナルボリュームに格納されているジャーナルをストレージ装置４Ｂに転送する。ストレージ装置４Ｂは、受信したジャーナルをストレージ装置４Ｂのジャーナルボリュームに格納し、格納されているジャーナルに基づいて定期的に副系のストレージ装置４Ｂのデータボリュームを更新する。
【００３３】
ジャーナリング機能は、データボリュームに格納されたデータを高速にバックアップする機能であり、ストレージ装置４に実装される。ホスト計算機３から書き込み要求を受け付けた場合に、ストレージ装置４は、ジャーナリング機能によって、受け付けた書き込み要求に含まれるライトデータと、書き込み要求に基づいて作成される更新情報とをジャーナルとして、ジャーナルボリュームに格納する。ライトデータは、書き込み要求に含まれる書き込みデータであって、これから書き込まれるデータである。
【００３４】
更新情報は、ライトデータを管理する情報であり、ライト命令（書き込み要求）を受信した時刻（タイムスタンプ）、データボリュームが属するジャーナルグループのジャーナルグループ番号、ジャーナルグループに属するデータボリュームに格納されるデータの更新順序を示すシーケンシャル番号、書き込み要求によって指定されたデータボリュームのボリューム番号及びアドレス、書き込み要求に含まれるライトデータのサイズ（容量）、及び、書き込み要求に含まれるライトデータを格納したジャーナルボリュームのボリューム番号及びアドレス等を含む。
【００３５】
図８は、本発明の第１の実施の形態の更新情報の構造を示す。図８に示した項目以外に、ライトデータの暗号化状態及びライトデータを暗号化するために用いられるジャーナル用暗号鍵を識別する識別子等を含んでもよい。なお、ジャーナル用暗号鍵を識別する情報を用いる場合には、各暗号鍵に識別情報が割り当てられる必要がある。なお、ライトデータの暗号化状態は、ライトデータが暗号化されているか否かを示す情報である。
【００３６】
また、図５に示すように、ジャーナルボリュームは、一つのボリュームを、更新情報を格納する記憶領域（更新情報領域）とライトデータを格納する記憶領域（ライトデータ領域）とに分ける。更新情報は、更新情報領域の先頭から、更新番号（シーケンシャル番号）の順に格納され、更新情報領域の終端まで格納されると、更新情報領域の先頭から格納される。ライトデータは、ライトデータ領域の先頭から格納され、ライトデータ領域の終端まで格納されると、ライトデータ領域の先頭から格納される。本実施の形態のジャーナルボリュームは、リモートコピーに用いられるジャーナルをストレージ装置４Ｂに転送する際の中間的なバッファとして、主系ストレージ装置４Ａ及び副系ストレージ装置４Ｂにそれぞれ備わる。
【００３７】
なお、本実施の形態では、ジャーナルボリュームの記憶領域が、更新情報を格納する記憶領域（更新情報領域）とライトデータを格納する記憶領域（ライトデータ領域）とに分かれているが、更新情報を格納するボリュームとライトデータを格納するボリュームとが別々にディスクドライブ４１に備わっていてもよい。また、ジャーナルボリュームの記憶領域が、更新情報領域とライトデータ領域とに分かれずに、更新情報とライトデータとが交互に格納されてもよい。
【００３８】
リモートコピーは、ストレージ装置４に実装される機能であり、ペア関係が定義されたボリューム（ペアボリューム）間で、ホスト計算機３からの書き込み要求と同期又は非同期にデータが複製され、一方のボリュームに格納されたデータを二重化する。リモートコピーは、例えば、ストレージ装置４に備わるプロセッサが、メモリに格納されたリモートコピープログラムを実行することによって実現することができる。ストレージ装置４Ａ及びストレージ装置４Ｂの各ボリューム間で新たなペア関係が定義された場合には、初期コピーとして、主系のストレージ装置４Ａのボリュームから、新たにペア関係が定義された副系のストレージ装置４Ｂのボリュームにデータが複製される。
【００３９】
書き込み要求と同期してデータをコピーするリモートコピーでは、ホスト計算機３から書き込み要求を受け付けた主系のストレージ装置４Ａは、書き込み要求に含まれるライトデータを自身のボリュームに格納するとともに、ペア関係が定義された副系のストレージ装置４Ｂのボリュームに、書き込み要求に含まれるライトデータを転送する。副系のストレージ装置４Ｂは、ペア関係が定義されたボリュームに転送されたライトデータを格納した時点で、ホスト計算機３に書き込み要求の完了を応答する。
【００４０】
一方、書き込み要求と非同期にデータをコピーするリモートコピーでは、ホスト計算機３からの書き込み要求とは独立（非同期）に、ペアボリューム間でコピーが行われる。すなわち、ストレージ装置４Ａは、書き込み要求に含まれるライトデータを自身のボリュームに格納した時点で、ホスト計算機３に書き込み要求の完了を応答する。本実施の形態では、副系のストレージ装置４Ｂが、主系のストレージ装置４Ａにリモートコピーを要求する非同期のリモートコピーが用いられる。
【００４１】
暗号化／復号化機能は、ストレージ装置４のプロセッサが、メモリに格納された暗号／復号プログラムを実行することによって実現される。なお、暗号化／復号化機能は、ハードウェアが実装されることによって実現されていてもよい。ストレージ装置４は、暗号化状態にあるボリュームにデータを格納する場合には、暗号化／復号化機能によってデータを暗号化して格納する。なお、暗号化状態にあるボリュームとは、ボリュームに格納されるデータが暗号化されていることである。
【００４２】
管理計算機５は、ストレージ装置４を管理するコンピュータであり、例えば、汎用のコンピュータを用いることができる。
【００４３】
管理計算機５は、プロセッサ、メモリ、ネットワークインターフェース、及びローカル入出力デバイス等のハードウェア資源を備え、デバイスドライバ、ＯＳ、及び管理プログラム等のソフトウェア資源を備える。また、管理計算機５は、ＲＣ／ＪＮＬ機能及び暗号化／復号化機能を備える。
【００４４】
管理計算機５は、プロセッサの制御の下、各種のプログラムを実行して、他のハードウェア資源との協働作用によって、所望の処理を実現する。具体的には、プロセッサが、ＯＳ上で管理プログラムを実行することによって、システム管理者にストレージ装置４を管理するユーザインターフェースを提供し、システム管理者の操作を介して、ストレージ装置４の設定、実行指示、及び運用状況の監視等を管理する。例えば、管理計算機５は、システム管理者の操作に基づいて、リモートコピーの設定（ペアボリュームの定義及び初期コピーの実行等）、及び、データボリュームの暗号化状態を設定（暗号化機能の有効化／無効化）することができる。
【００４５】
なお、本実施の形態では、ストレージ装置４Ａを主系のストレージ装置とし、ストレージ装置４Ｂを副系のストレージ装置としているが、ストレージ装置４のボリューム単位で主系のボリュームと副系のボリュームとに分けて、主系のボリュームに格納されているデータを副系のボリュームに複製（リモートコピー）してもよい。
【００４６】
図２は、本発明の第１の実施の形態のストレージ装置４の構成図を示す。
【００４７】
ストレージ装置４は、ディスクドライブ４１、及びコントローラ４２を備える。ディスクドライブ４１は、記憶媒体（例えば、ハードディスクドライブ及びフラッシュメモリ等）を含む物理デバイスである。ディスクドライブ４１及びコントローラ４２は、例えば、ディスクチャネルを介して相互に接続することができる。
【００４８】
コントローラ４２は、プロセッサ４２１、メモリ４２２、ホストインターフェース４２３、キャッシュメモリ４２４、ディスクインターフェース４２５、ストレージインターフェース４２６、及び管理インターフェース４２７を備える。各構成は、内部データ線４２８を介して相互に接続される。また、各構成を複数備えることによって、冗長化してもよい。
【００４９】
プロセッサ４２１は、メモリ４２２に格納された各種のプログラムを実行することによって、ストレージ装置４の全体を制御する。
【００５０】
メモリ４２２は、Ｉ／Ｏ処理プログラムＰ１００、ジャーナリングプログラムＰ２００、リモートコピープログラムＰ３００、及び暗号／復号プログラムＰ４００等を格納する。
【００５１】
Ｉ／Ｏ処理プログラムＰ１００は、ホスト計算機３からの書き込み要求又は読み出し要求に基づいたＩ／Ｏアクセスを制御し、ホスト計算機３にデータストレージサービスを提供する。
【００５２】
ジャーナリングプログラムＰ２００は、ホスト計算機３から書き込み要求を受け付けた場合に、受け付けた書き込み要求に含まれるライトデータに基づいてジャーナルエントリ（ジャーナル）を作成する。
【００５３】
リモートコピープログラムＰ３００は、複数のストレージ装置４の間（ストレージ装置４Ａとストレージ装置４Ｂとの間）のリモートコピーの処理を実行する。なお、リモートコピープログラムＰ３００は、リモートコピーを要求するサブプログラム及びリモートコピーが要求されるサブプログラムを含む。
【００５４】
暗号／復号プログラムＰ４００は、ディスクドライブ４１上のボリュームに格納されるデータを暗号化して格納する。また、格納されたデータを読み出す際に復号化する。
【００５５】
また、メモリ４２２は、ペア管理テーブルＴ１００、ジャーナルグループ管理テーブルＴ２００、ジャーナルボリューム管理テーブルＴ３００、及び暗号管理テーブルＴ４００を含むシステム構成情報及びキャッシュディレクトリ情報等を格納する。
【００５６】
ペア管理テーブルＴ１００は、リモートコピーが行われるデータボリュームのペア関係を管理する。なお、ペア管理テーブルＴ１００は、図３を用いて後述する。
【００５７】
ジャーナルグループ管理テーブルＴ２００は、ジャーナルを格納するジャーナルボリュームをジャーナルグループ単位で管理する。なお、ジャーナルグループ管理テーブルＴ２００は、図４を用いて後述する。
【００５８】
ジャーナルボリューム管理テーブルＴ３００は、ジャーナルグループのジャーナルボリュームを管理する。なお、ジャーナルボリューム管理テーブルＴ３００は、図６を用いて後述する。
【００５９】
暗号管理テーブルＴ４００は、ストレージ装置４内のデータボリューム及びデータボリュームに格納されるジャーナルの暗号化の状態を管理する。なお、暗号管理テーブルＴ４００は、図７を用いて後述する。
【００６０】
各プログラム及び各テーブルの一部又は全部は、補助記憶装置（図示省略）から読み出され、メモリ４２２に格納される。また、システム管理者がシステム構成情報を設定及び変更する場合、管理計算機５は、メモリ４２２に格納されたシステム構成情報を取得し、ユーザインターフェースを介して、取得したシステム構成情報をシステム管理者に提供する。
【００６１】
ホストインターフェース４２３は、プロトコルデバイス（図示省略）を備え、ストレージネットワーク２Ａを介して接続されたホスト計算機３との間で通信する。なお、プロトコルデバイスは、各プロトコルに応じたプロトコル処理を行うプロセッサを備える。
【００６２】
ホストインターフェース４２３が、ホスト計算機３から書き込み要求を受け付けると、プロセッサ４２１は、受け付けた書き込み要求に含まれるライトデータをキャッシュメモリ４２４に書き込む。
【００６３】
キャッシュメモリ４２４は、ホスト計算機３とディスクドライブ４１との間で入出力されるデータを一時的に格納（キャッシュ）する。すなわち、キャッシュメモリ４２４は、ホストインターフェース４２３とディスクインターフェース４２５との間のデータの受け渡すために用いられる。キャッシュメモリ４２４は、例えば、揮発性メモリ（例えば、ＤＲＡＭ）及び不揮発性メモリ（例えば、フラッシュＲＡＭ）等によって構成することができる。
【００６４】
ディスクインターフェース４２５は、キャッシュメモリ４２４に格納されたデータを読み出し、読み出したデータをディスクドライブ４１に格納する（デステージング）。また、ディスクインターフェース４２５は、ディスクドライブ４１からデータを読み出し、読み出したデータをキャッシュメモリ４２４に格納する（ステージング）。例えば、ホスト計算機３から読み出し要求を受け付けた場合、ディスクインターフェース４２５は、要求されたデータがキャッシュメモリ４２４に存在するか否かを判断してもよい。要求されたデータがキャッシュメモリ４２４に存在しない場合、ディスクインターフェース４２５は、必要に応じてデステージングを行なうことによって、キャッシュ領域を確保した後、要求されたデータをキャッシュメモリ４２４にステージングする。
【００６５】
ストレージインターフェース４２６は、ホストインターフェース４２３と同様に、プロトコルデバイス（図示省略）を備え、ストレージネットワーク２Ａを介して接続された他のストレージ装置４との間で通信する。複数のストレージ装置４の間（ストレージ装置４Ａとストレージ装置４Ｂとの間）でリモートコピーが行われる場合、ストレージインターフェース４２６を介してデータが転送される。
【００６６】
管理インターフェース４２７は、プロトコルデバイス（図示省略）を備え、管理ネットワーク２Ｂを介して接続された管理計算機５との間で通信する。例えば、管理ネットワーク２ＢがＴＣＰ／ＩＰベースのＬＡＮで構成されている場合、管理インターフェース４２７は、イーサネット（登録商標）ボードを用いることができる。
【００６７】
図３は、本発明の第１の実施の形態のペア管理テーブルＴ１００を示す。なお、ペア管理テーブルＴ１００は、管理計算機５を操作するシステム管理者によって、作成及び更新される。
【００６８】
図３に示すように、ペア管理テーブルＴ１００は、複製元ストレージ装置番号Ｔ１０１、複製元データボリューム番号Ｔ１０２、複製先ストレージ装置番号Ｔ１０３、複製先データボリューム番号Ｔ１０４、及びジャーナルグループ番号Ｔ１０５を含む。
【００６９】
複製元ストレージ装置番号Ｔ１０１には、リモートコピーによって複製されるデータボリュームを備えるストレージ装置４を識別するストレージ装置番号が登録される。ストレージ装置番号は、例えば、ストレージ装置４のベンダー名及び製造番号であってもよい。
【００７０】
複製元データボリューム番号Ｔ１０２には、リモートコピーによって複製されるデータボリュームを識別するボリューム番号が登録される。登録されるボリューム番号は、複製元ストレージ装置番号Ｔ１０１によって識別されるストレージ装置４が備えるボリュームから特定のボリュームを一意に特定できる番号であればよい。すなわち、ボリューム番号は、ボリュームの種類（ボリュームがデータボリューム又はジャーナルボリュームであるか否か）に関わらず、一意の番号が割り当てられる。
【００７１】
複製先ストレージ装置番号Ｔ１０３には、複製されたデータを格納するデータボリュームを備えるストレージ装置４を識別するストレージ装置番号が登録される。
【００７２】
複製先データボリューム番号Ｔ１０４には、複製されたデータを格納するデータボリュームを識別するボリューム番号が登録される。複製先データボリューム番号Ｔ１０４は、複製先ストレージ装置番号Ｔ１０３によって識別されるストレージ装置４が備えるボリュームからデータボリュームを一意に特定できる番号であればよい。
【００７３】
ジャーナルグループ番号Ｔ１０５には、各エントリのデータボリュームが属するジャーナルグループを識別するジャーナルグループの番号が登録される。ジャーナルグループ番号Ｔ１０５は、ペア関係が定義されたボリューム間のデータの更新順序を保証するために、一つ又は複数のデータボリューム（及び、これとペア関係が定義された一つ又は複数のデータボリューム）をジャーナルグループという単位で管理する。
【００７４】
一つのジャーナルグループには、複数のデータボリュームが属してもよい。一つのジャーナルグループに複数のデータボリュームが属する場合には、複数のデータボリュームが、一つのジャーナルボリュームを共有する。すなわち、リモートコピーする場合には、複製元のストレージ装置４に備わる複数のデータボリュームに格納されているデータの更新順序が、複製先のストレージ装置４に備わるデータボリュームに格納されているデータの更新順序と同じになるように、一つ又は複数のデータボリュームにジャーナルグループが定義される。同じジャーナルグループ内では、データの更新順に、一意な更新番号（シーケンシャル番号）が割り当てられる。
【００７５】
図４は、本発明の第１の実施の形態のジャーナルグループ管理テーブルＴ２００を示す。
【００７６】
図４に示すように、ジャーナルグループ管理テーブルＴ２００は、ジャーナルグループ番号Ｔ２０１、更新情報末尾ポインタＴ２０２、ライトデータ末尾ポインタＴ２０３、更新情報先頭ポインタＴ２０４、ライトデータ先頭ポインタＴ２０５、及びライトデータ領域先頭ポインタＴ２０６を含む。
【００７７】
ジャーナルグループ番号Ｔ２０１には、ジャーナルグループを識別する番号が登録される。すなわち、一つ又は複数のデータボリュームに対する書き込み要求に基づいて作成されるジャーナルは、書き込み要求を受け付けたデータボリュームが属するジャーナルグループのジャーナルボリュームに格納される。
【００７８】
更新情報末尾ポインタＴ２０２には、ジャーナルグループ番号Ｔ２０１によって識別されるジャーナルグループに属するデータボリュームに格納されるデータが更新されたときに、更新情報が格納されるジャーナルボリュームのボリューム番号、及び、更新情報が格納される記憶領域のアドレスが登録される。アドレスには、直近に作成された更新情報が格納された記憶領域の末尾アドレスの次のアドレスが登録される。
【００７９】
ライトデータ末尾ポインタＴ２０３には、ジャーナルグループ番号Ｔ２０１によって識別されるジャーナルグループに属するデータボリュームに格納されるデータが更新されたときに、ライトデータが格納されるジャーナルボリュームのボリューム番号、及び、ライトデータが格納される記憶領域のアドレスが登録される。アドレスには、最も新しく作成されたライトデータが格納された記憶領域の末尾アドレスの次のアドレスが登録される。
【００８０】
更新情報先頭ポインタＴ２０４には、図１０を用いて後述するジャーナル転送処理が実行される時に、ストレージ装置４Ａが次にストレージ装置４Ｂに転送する更新情報が格納されているジャーナルボリュームのボリューム番号及び転送する更新情報が格納される記憶領域のアドレスが登録される。
【００８１】
ライトデータ先頭ポインタＴ２０５には、図１０を用いて後述するジャーナル転送処理が実行される時に、ストレージ装置４Ａが次にストレージ装置４Ｂに転送するライトデータが格納されているジャーナルボリュームのボリューム番号及び転送するライトデータが格納される記憶領域のアドレスが登録される。
【００８２】
ライトデータ領域先頭ポインタＴ２０６には、ジャーナルボリュームの記憶領域のうち、ライトデータを格納する記憶領域（ライトデータ領域）と更新情報を格納する記憶領域（更新情報領域）の境界を示すアドレスが登録される。
【００８３】
図４及び図５に示す例では、更新情報領域は、ジャーナルボリューム＃００３の記憶領域の先頭から「６９９」のアドレスまでであり、ライトデータ領域は、ジャーナルボリューム＃００３の記憶領域の「７００」のアドレスから「２９９９」のアドレスまでである。更新情報は、ジャーナルボリューム＃００３の記憶領域の「２００」のアドレスから「３９９」のアドレスまで格納されており、次の更新情報は、ジャーナルボリューム＃００３の記憶領域の「４００」のアドレスから格納される。ジャーナルのライトデータは、ジャーナルボリューム＃００３の記憶領域の「１８００」のアドレスから「２５９９」のアドレスまで格納されており、次のライトデータは、ジャーナルボリューム＃００３の記憶領域の「２６００」のアドレスから格納される。
【００８４】
図６は、本発明の第１の実施の形態のジャーナルボリューム管理テーブルＴ３００を示す。
【００８５】
図６に示すように、ジャーナルボリューム管理テーブルＴ３００は、ジャーナルグループ番号Ｔ３０１、ジャーナルボリューム番号Ｔ３０２、及び使用順序Ｔ３０３を含む。
【００８６】
ジャーナルグループ番号Ｔ３０１には、ジャーナルグループを識別する番号が登録される。
【００８７】
ジャーナルボリューム番号Ｔ３０２には、ジャーナルグループに対応するジャーナルボリュームの識別子が登録される。
【００８８】
使用順序Ｔ３０３には、ジャーナルグループに対応するジャーナルボリュームを用いる順序の値が登録される。具体的には、図６に示すジャーナルボリューム管理テーブルＴ３００の場合、ジャーナルグループ番号Ｔ３０１が「１」であるジャーナルグループに対応するジャーナルボリューム００３、ジャーナルボリューム００４、及びジャーナルボリューム００５は、ジャーナルボリューム００３、ジャーナルボリューム００４、ジャーナルボリューム００５の順番にジャーナルが格納される。ジャーナルボリューム００５にジャーナルが格納された後は、ジャーナルボリューム００３に戻り、循環して各ジャーナルボリュームにジャーナルが格納される。
【００８９】
図７は、本発明の第１の実施の形態の暗号管理テーブルＴ４００を示す。
【００９０】
図７に示すように、暗号管理テーブルＴ４００は、データボリューム番号Ｔ４０１、データボリューム暗号化状態Ｔ４０２、データボリューム用暗号鍵Ｔ４０３、ジャーナル暗号化状態Ｔ４０４、及びジャーナル用暗号鍵Ｔ４０５を含む。
【００９１】
データボリューム番号Ｔ４０１には、データボリュームを識別する識別子が登録される。識別子には、前述したように、ボリューム番号等が用いられる。
【００９２】
データボリューム暗号化状態Ｔ４０２には、データボリューム番号Ｔ４０１によって識別されるデータボリュームが暗号化されているか否かを示すフラグが登録される。データボリュームが暗号化されている場合には、暗号化状態は「オン」であり、暗号化されていない場合には、暗号化状態は「オフ」である。
【００９３】
データボリューム用暗号鍵Ｔ４０３には、データボリュームを暗号化又は復号化するための暗号鍵が登録される。暗号鍵は、所定の暗号化／復号化アルゴリズムが用いられる。例えば、暗号鍵の長さが１２８ビットである暗号鍵が用いられてもよい。暗号化と復号化とは、相補関係であり、本実施の形態でいう暗号鍵は、復号鍵を含む。また、ボリュームが暗号化されているとは、暗号鍵（復号鍵）を用いなければ、ボリュームに格納されたデータにアクセス（データの書き込み及びデータの読み込み）することができない状態であり、暗号鍵を用いて暗号化されたデータがボリュームに格納されている状態である。
【００９４】
ジャーナル暗号化状態Ｔ４０４には、データボリュームが更新されたときに作成されるジャーナルが暗号化されているか否かを示すフラグが登録される。ジャーナルが暗号化されている場合には、暗号化状態は「オン」であり、暗号化されていない場合には、暗号化状態は「オフ」である。
【００９５】
ジャーナル用暗号鍵Ｔ４０５には、ジャーナルボリュームに格納するライトデータを暗号化又は復号化する暗号鍵が登録される。
【００９６】
なお、複数のデータボリュームに、同じ暗号鍵が割り当てられてもよい。例えば、同じ管理者が管理するデータボリュームには、同じ暗号鍵を割り当てられてもよい。また、ジャーナルボリュームに格納されるライトデータを暗号化又は復号化する暗号鍵は、データボリュームを暗号化又は復号化する暗号鍵と同じであってもよい。また、本実施の形態では、一つのデータボリュームに、一つのジャーナル用暗号鍵Ｔ４０５が割り当てられているが、暗号鍵を更新する時には、一つのデータボリュームに二つ以上のジャーナル用暗号鍵Ｔ４０５が割り当てられる場合がある。
【００９７】
なお、データボリュームを暗号化又は復号化する暗号鍵は、データボリューム暗号化状態Ｔ４０２が「オン」に切り替えられたタイミングで生成されてもよい。また、データボリューム暗号化状態Ｔ４０２が「オン」に切り替えられたタイミングと同じタイミングでジャーナル用暗号鍵Ｔ４０５が生成されてもよい。また、データボリューム用暗号鍵Ｔ４０３が更新されるタイミングと同じタイミングでジャーナル用暗号鍵Ｔ４０５が更新されてもよい。
【００９８】
なお、ジャーナル用暗号鍵Ｔ４０５に登録された内容を削除する場合には、データボリュームに定義されているペア関係が解除されていることを確認してから削除する。
【００９９】
図９は、本発明の第１の実施の形態のライト命令処理のフローチャートであり、具体的には、主系のストレージ装置４Ａが、ホスト計算機３Ａからデータボリュームに対する書き込み要求を受け付けた場合の処理を説明する。
【０１００】
コントローラ４２のプロセッサ４２１がメモリ４２２に格納されている各プログラムを実行することによって、図９に示すライト命令処理が実行される。
【０１０１】
まず、ストレージ装置４Ａのコントローラ４２（以下、コントローラ４２Ａとして説明する）は、ホスト計算機３Ａから書き込み要求を受け付けると、メモリ４２２に格納されている暗号管理テーブルＴ４００を参照し、受け付けた書き込み要求によって指定されたデータボリューム（Ｄ−ＶＯＬ）の暗号化状態が「オン」であるか否か、すなわち、データボリュームが暗号化されているか否かを判断する（ＳＴＥＰ９０１）。
【０１０２】
データボリュームが暗号化されている場合、書き込み要求に含まれるライトデータを暗号化するため、処理はＳＴＥＰ９０２に進む。一方、データボリュームが暗号化されていない場合、処理はＳＴＥＰ９０４に進む。
【０１０３】
次に、コントローラ４２Ａは、暗号管理テーブルＴ４００を参照し、暗号化されていると判断されたデータボリュームに割り当てられたデータボリューム用暗号鍵Ｔ４０３を取得する（ＳＴＥＰ９０２）。
【０１０４】
次に、コントローラ４２Ａは、ＳＴＥＰ９０２で取得した暗号鍵を用いて、受け付けた書き込み要求に含まれるライトデータを暗号化する（ＳＴＥＰ９０３）。具体的には、プロセッサ４２１は、キャッシュメモリ４２４に格納されたデータをディスクドライブ４１にデステージングする際に、ＳＴＥＰ９０２で取得した暗号鍵を用いてライトデータを暗号化する。また、キャッシュメモリ４２４に格納されたライトデータを暗号化し、再び、キャッシュメモリ４２４に格納してもよい。この場合、キャッシュメモリ４２４に格納される暗号化されたライトデータは、所定のタイミングで、メモリ４２２のキャッシュディレクトリ情報に従って、ディスクインターフェース４２５によってデステージングされる。また、ホスト計算機３から書き込み要求を受け付けて、書き込み要求に含まれるライトデータをキャッシュメモリ４２４に格納する前に暗号化してもよい。
【０１０５】
次に、コントローラ４２Ａは、ライトデータをデータボリュームに格納する（ＳＴＥＰ９０４）。
【０１０６】
次に、コントローラ４２Ａは、ペア管理テーブルＴ１００を参照し、受け付けた書き込み要求によって指定されたデータボリュームが複製元データボリューム番号Ｔ１０２に設定されているか否かを判断する（ＳＴＥＰ９０５）。
【０１０７】
指定されたデータボリュームが複製元データボリューム番号Ｔ１０２に設定されている場合、書き込み要求に基づいて作成されるジャーナルの格納先（ジャーナルが格納されるジャーナルボリューム）を特定するため、処理はＳＴＥＰ９０６に進む。
【０１０８】
一方、指定されたデータボリュームが複製元データボリューム番号Ｔ１０２に設定されていない場合、処理は終了する。この場合、コントローラ４２Ａは、受け付けた書き込み要求を送信したホスト計算機３Ａに、処理が完了したことを通知する。
【０１０９】
次に、コントローラ４２Ａは、ジャーナル管理テーブルＴ２００を参照し、更新情報末尾ポインタＴ２０２に登録されたボリューム番号及びアドレスと、ライトデータ末尾ポインタＴ２０３に登録されたボリューム番号及びアドレスとをそれぞれ取得する（ＳＴＥＰ９０６）。すなわち、コントローラ４２Ａは、受け付けた書き込み要求に基づいて、ジャーナル（更新情報及びライトデータ）を格納するジャーナルボリュームの記憶領域を特定する。
【０１１０】
次に、コントローラ４２Ａは、受け付けた書き込み要求に基づいて更新情報を作成する（ＳＴＥＰ９０７）。
【０１１１】
次に、コントローラ４２Ａは、暗号管理テーブルＴ４００を参照し、複製元のデータボリュームに対応するジャーナルの暗号化状態が「オン」であるか否かを判断する（ＳＴＥＰ９０８）。
【０１１２】
ジャーナルの暗号化状態が「オン」である場合、ライトデータを暗号化するため、処理はＳＴＥＰ９０９に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はＳＴＥＰ９１１に進む。
【０１１３】
次に、コントローラ４２Ａは、暗号管理テーブルＴ４００を参照し、複製元のデータボリュームに割り当てられているジャーナル用暗号鍵Ｔ４０５を取得する（ＳＴＥＰ９０９）。
【０１１４】
次に、コントローラ４２Ａは、ＳＴＥＰ９０９で取得したジャーナル用暗号鍵Ｔ４０５を用いて、ライトデータを暗号化する（ＳＴＥＰ９１０）。
【０１１５】
次に、コントローラ４２Ａは、更新情報及びライトデータをジャーナルとしてＳＴＥＰ９０６で特定されたジャーナルボリュームに格納する（ＳＴＥＰ９１１）。
【０１１６】
次に、コントローラ４２Ａは、ジャーナルグループ管理テーブルＴ２００の更新情報末尾ポインタＴ２０２及びライトデータ末尾ポインタＴ２０３を更新する（ＳＴＥＰ９１２）。具体的には、コントローラ４２Ａは、更新情報を格納した記憶領域の末尾アドレスの次のアドレスを更新情報末尾ポインタＴ２０２に登録し、ライトデータを格納した記憶領域の末尾アドレスの次のアドレスをライトデータ末尾ポインタＴ２０３に登録する。
【０１１７】
そして、処理は終了する。この場合、コントローラ４２Ａは、受け付けた書き込み要求を送信したホスト計算機３Ａに処理が完了したことを通知する。
【０１１８】
なお、図９に示すフローチャートでは、コントローラ４２Ａは、ＳＴＥＰ９０４でデータボリュームにライトデータを格納する処理を実行した後、ＳＴＥＰ９１１でジャーナルボリュームにジャーナルを格納する処理を実行しているが、この順序で処理を実行しなくてもよい。すなわち、コントローラ４２Ａは、データボリュームにライトデータを格納する処理とジャーナルボリュームにジャーナルを格納する処理とを、非同期に実行してもよい。
【０１１９】
図１０は、本発明の第１の実施の形態のジャーナル転送処理のフローチャートであり、具体的には、ストレージ装置４Ａがストレージ装置４Ｂからリモートコピー要求（以下、ジャーナル読み出し要求として説明する）を受け付けた場合の処理を説明する。
【０１２０】
コントローラ４２Ａのプロセッサ４２１がメモリ４２２に格納されている各プログラムを実行することによって図１０に示すジャーナル転送処理が実行される。
【０１２１】
ストレージ装置４Ａは、通常の運用時、ホスト計算機３Ａにデータストレージサービスを提供するとともに、ストレージ装置４Ｂからのジャーナル読み出し要求に応じて、送信側としてリモートコピー処理を行なう。
【０１２２】
まず、コントローラ４２Ａは、ストレージ装置４Ａのデータボリュームとペア関係が定義されているデータボリュームを備えるストレージ装置４Ｂからジャーナル読み出し要求を受け付けると、ジャーナルグループ管理テーブルＴ２００を参照し、ジャーナル読み出し要求に含まれるジャーナルグループ番号Ｔ２０１に対応するエントリを抽出し、抽出したエントリの更新情報末尾ポインタＴ２０２に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタＴ２０４に登録されたボリューム番号及びアドレスとをそれぞれ取得する（ＳＴＥＰ１００１）。
【０１２３】
次に、コントローラ４２Ａは、ストレージ装置４Ｂに転送されていないジャーナルがあるか否かを判断する（ＳＴＥＰ１００２）。具体的には、ＳＴＥＰ１００１で抽出したエントリの更新情報末尾ポインタＴ２０２に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタＴ２０４に登録されたボリューム番号及びアドレスとが一致しているか否かを判断する。
【０１２４】
転送されていないジャーナルがある、すなわち、更新情報末尾ポインタＴ２０２に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタＴ２０４に登録されたボリューム番号及びアドレスとが一致しない場合、転送されていないジャーナルを読み出すため、処理はＳＴＥＰ１００３に進む。
【０１２５】
一方、転送されていないジャーナルがない、すなわち、更新情報末尾ポインタＴ２０２に登録されたボリューム番号及びアドレスと、更新情報先頭ポインタＴ２０４に登録されたボリューム番号及びアドレスとが一致している場合、処理はＳＴＥＰ１００９に進む。
【０１２６】
次に、コントローラ４２Ａは、更新情報先頭ポインタＴ２０４及びライトデータ先頭ポインタＴ２０５に登録されたボリューム番号及びアドレスに基づいて、ジャーナルボリュームに格納されたジャーナルのうち、転送されていないジャーナルの最も古い更新情報及び更新情報に対応するライトデータを読み出す（ＳＴＥＰ１００３）。
【０１２７】
次に、コントローラ４２Ａは、暗号管理テーブルＴ４００を参照し、更新情報に含まれるデータボリュームのボリューム番号に基づいて、ジャーナルの暗号化状態が「オン」であるか否かを判断する（ＳＴＥＰ１００４）。
【０１２８】
ジャーナルの暗号化状態が「オン」である場合、暗号化されているライトデータを復号化するため、処理はＳＴＥＰ１００５に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はＳＴＥＰ１００７に進む。
【０１２９】
次に、コントローラ４２Ａは、暗号管理テーブルＴ４００を参照し、更新情報に含まれるボリューム番号によって識別されるデータボリュームに割り当てられているジャーナル用暗号鍵Ｔ４０５を取得する（ＳＴＥＰ１００５）。
【０１３０】
次に、コントローラ４２Ａは、ＳＴＥＰ１００５で取得したジャーナル用暗号鍵Ｔ４０５を用いて、ＳＴＥＰ１００３で読み出したライトデータを復号化する（ＳＴＥＰ１００６）。
【０１３１】
次に、コントローラ４２Ａは、ジャーナル（更新情報及びライトデータ）をストレージ装置４Ｂに送信する（ＳＴＥＰ１００７）。
【０１３２】
次に、コントローラ４２Ａは、ＳＴＥＰ１００７で送信した更新情報及びライトデータの容量に基づいて、ジャーナルグループ管理テーブルＴ２００の対応するエントリの更新情報先頭ポインタＴ２０４及びライトデータ先頭ポインタＴ２０５を更新する（ＳＴＥＰ１００８）。具体的には、コントローラ４２Ａは、転送されていないジャーナルの更新情報を格納している記憶領域の先頭アドレスを更新情報先頭ポインタＴ２０４のアドレスに登録し、転送されていないジャーナルのライトデータを格納している記憶領域の先頭アドレスをライトデータ先頭ポインタＴ２０５に登録する。そして、処理は終了する。
【０１３３】
ＳＴＥＰ１００９では、コントローラ４２Ａは、転送されていないジャーナルがないことを示す応答をストレージ装置４Ｂのコントローラ４２に送信する（ＳＴＥＰ１００９）。そして、処理は終了する。
【０１３４】
なお、本実施の形態では、ストレージ装置４Ａは、ストレージ装置４Ｂからのジャーナル読み出し要求に応じて、ジャーナルを転送しているが、ストレージ装置４Ａが、定期的に、ジャーナルをストレージ装置４Ｂに転送してもよい。また、ストレージ装置４Ａは、ホスト計算機３Ａから書き込み要求を受け付けるとともに、書き込み要求に基づいて作成されるジャーナルをストレージ装置４Ｂに転送してもよい。
【０１３５】
また、更新情報がジャーナルの暗号化状態を示すフラグを含み、ＳＴＥＰ１００４のジャーナルの暗号化状態を判断する処理で、更新情報に含まれるフラグを参照することによってジャーナルの暗号化状態を判断してもよい。また、更新情報がジャーナルの暗号鍵を示す識別子を含み、ＳＴＥＰ１００５の暗号鍵を取得する処理で、更新情報に含まれる識別子を参照することによって、ジャーナルの暗号鍵を取得してもよい。
【０１３６】
図１１は、本発明の第１の実施の形態のジャーナルリード命令処理のフローチャートであり、具体的には、ストレージ装置４Ｂがストレージ装置４Ａにジャーナル読み出し要求を送信する場合の処理を説明する。
【０１３７】
コントローラ４２のプロセッサ４２１がメモリ４２２に格納されている各プログラムを実行することによって図１１に示すジャーナルリード命令処理が実行される。
【０１３８】
まず、ストレージ装置４Ｂのコントローラ４２（以下、コントローラ４２Ｂとして説明する）は、ジャーナル読み出し要求をストレージ装置４Ａに送信する（ＳＴＥＰ１１０１）。
【０１３９】
次に、コントローラ４２Ｂは、ストレージ装置４Ａから送信されたジャーナル読み出し要求の応答を受信する（ＳＴＥＰ１１０２）。
【０１４０】
次に、コントローラ４２Ｂは、ＳＴＥＰ１１０２で受信した応答がジャーナルであるか否かを判断する（ＳＴＥＰ１１０３）。
【０１４１】
受信した応答がジャーナルである場合、処理はＳＴＥＰ１１０４に進む。一方、受信した応答がジャーナルでない、すなわち、受信した応答が転送されていないジャーナルがない通知である場合、処理は終了する。
【０１４２】
次に、コントローラ４２Ｂは、ジャーナルグループ管理テーブルＴ２００を参照し、受信したジャーナルの更新情報に含まれる書き込み要求のアドレスに基づいて、受信したジャーナルが格納されるジャーナルボリュームのボリューム番号及びアドレスを取得し、ジャーナルの格納先（ジャーナルが格納されるジャーナルボリューム）を特定する（ＳＴＥＰ１１０４）。
【０１４３】
次に、コントローラ４２Ｂは、暗号管理テーブルＴ４００を参照し、複製先のボリュームに対応するジャーナルの暗号化状態が「オン」であるか否かを判断する（ＳＴＥＰ１１０５）。
【０１４４】
ジャーナルの暗号化状態が「オン」である場合、受信したジャーナルのライトデータを暗号化するため、処理はＳＴＥＰ１１０６に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はＳＴＥＰ１１０８に進む。
【０１４５】
次に、コントローラ４２Ｂは、暗号管理テーブルＴ４００を参照し、更新情報に含まれるボリューム番号によって識別されるデータボリュームに割り当てられているジャーナル用暗号鍵Ｔ４０５を取得する（ＳＴＥＰ１１０６）。
【０１４６】
次に、コントローラ４２Ｂは、ＳＴＥＰ１１０６で取得したジャーナル用暗号鍵Ｔ４０５を用いて、受信したジャーナルのライトデータを暗号化する（ＳＴＥＰ１１０７）。
【０１４７】
次に、コントローラ４２Ｂは、ジャーナル（更新情報及びライトデータ）をＳＴＥＰ１１０４で特定したジャーナルボリュームに格納する（ＳＴＥＰ１１０８）。
【０１４８】
次に、コントローラ４２Ｂは、ジャーナルグループ管理テーブルＴ２００の対応するエントリの更新情報末尾ポインタＴ２０２及びライトデータ末尾ポインタＴ２０３を更新する（ＳＴＥＰ１１０９）。具体的には、コントローラ４２Ｂは、更新情報を格納した記憶領域の末尾アドレスの次のアドレスを更新情報末尾ポインタＴ２０２に登録し、ライトデータを格納した記憶領域の末尾アドレスの次のアドレスをライトデータ末尾ポインタＴ２０３に登録する。そして、処理は終了する。
【０１４９】
なお、更新情報がジャーナルの暗号化状態を示すフラグを含み、ＳＴＥＰ１１０５のジャーナルの暗号化状態を判断する処理で、更新情報に含まれるフラグを参照することによってジャーナルの暗号化状態を判断してもよい。また、更新情報がジャーナルの暗号鍵を示す識別子を含み、ＳＴＥＰ１１０６の暗号鍵を取得する処理で、更新情報に含まれる識別子を参照することによって、ジャーナルの暗号鍵を取得してもよい。
【０１５０】
図１２は、本発明の第１の実施の形態のリストア処理のフローチャートであり、具体的には、ストレージ装置４Ｂが、ストレージ装置４Ａから受信したジャーナルに基づいて、データボリュームの複製を作成する処理を説明する。
【０１５１】
コントローラ４２Ｂのプロセッサ４２１がメモリ４２２に格納されている各プログラムを実行することによって図１２に示すリストア処理が実行される。
【０１５２】
まず、コントローラ４２Ｂは、ジャーナルグループ管理テーブルＴ２００を参照し、更新情報先頭ポインタＴ２０４に登録されたボリューム番号及びアドレスと、ライトデータ先頭ポインタＴ２０５に登録されたボリューム番号及びアドレスとを抽出し、ジャーナルを読み出すジャーナルボリュームを特定する（ＳＴＥＰ１２０１）。
【０１５３】
次に、ＳＴＥＰ１２０１で抽出したボリューム番号及びアドレスによって示される記憶領域から更新情報及びライトデータを読み出す（ＳＴＥＰ１２０２）。
【０１５４】
次に、コントローラ４２Ｂは、暗号管理テーブルＴ４００を参照し、ジャーナルの更新情報に含まれる書き込み要求のアドレスに基づいて、複製先のデータボリュームに対応するジャーナルの暗号化状態が「オン」であるか否かを判断する（ＳＴＥＰ１２０３）。
【０１５５】
ジャーナルの暗号化状態が「オン」である場合、ジャーナルのライトデータを復号化するため、処理はＳＴＥＰ１２０４に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はＳＴＥＰ１２０６に進む。
【０１５６】
次に、コントローラ４２Ｂは、暗号管理テーブルＴ４００を参照し、複製先のデータボリュームに割り当てられているジャーナル用暗号鍵Ｔ４０５を取得する（ＳＴＥＰ１２０４）。
【０１５７】
次に、コントローラ４２Ｂは、ＳＴＥＰ１２０４で取得したジャーナル用暗号鍵Ｔ４０５を用いて、暗号化されたライトデータを復号化する（ＳＴＥＰ１２０５）。
【０１５８】
次に、コントローラ４２Ｂは、暗号管理テーブルＴ４００を参照し、複製先のデータボリュームの暗号化状態が「オン」であるか否かを判断する（ＳＴＥＰ１２０６）。
【０１５９】
複製先のデータボリュームの暗号化状態が「オン」である場合、データボリュームに格納するライトデータを暗号化するため、処理はＳＴＥＰ１２０７に進む。一方、複製先のデータボリュームの暗号化状態が「オフ」である場合、処理はＳＴＥＰ１２０９に進む。
【０１６０】
次に、コントローラ４２Ｂは、暗号管理テーブルＴ４００を参照し、複製先のデータボリュームに割り当てられているデータボリューム用暗号鍵Ｔ４０３を取得する（ＳＴＥＰ１２０７）。
【０１６１】
次に、コントローラ４２Ｂは、ＳＴＥＰ１２０７で取得したデータボリューム用暗号鍵Ｔ４０３を用いて、ライトデータを暗号化する（ＳＴＥＰ１２０８）。
【０１６２】
次に、コントローラ４２Ｂは、複製先のデータボリュームにライトデータを格納する（ＳＴＥＰ１２０９）。
【０１６３】
次に、コントローラ４２Ｂは、更新情報及びライトデータの容量に基づいて、ジャーナルグループ管理テーブルＴ２００の対応するエントリの更新情報先頭ポインタＴ２０４及びライトデータ先頭ポインタＴ２０５を更新する（ＳＴＥＰ１２１０）。具体的には、コントローラ４２Ｂは、更新情報を格納している記憶領域の先頭アドレスを更新情報先頭ポインタＴ２０４のアドレスに登録し、ライトデータを格納している記憶領域の先頭アドレスをライトデータ先頭ポインタＴ２０５に登録する。そして、処理は終了する。
【０１６４】
本発明の第１の実施形態では、リモートコピーにおけるジャーナル転送処理の時に、更新情報に含まれるボリューム番号に基づいて、暗号管理テーブルＴ４００を参照し、ジャーナルの暗号化状態、及び、ライトデータの暗号化に用いるジャーナル用暗号鍵を取得し、復号化したジャーナルを複製先のストレージ装置４に転送する。よって、異なる暗号鍵で暗号化されたジャーナルが同じジャーナルボリュームに混在する場合でも、適切な暗号鍵でジャーナルを復号化し、リモートコピーを実現することができる。
【０１６５】
また、第１の実施の形態では、ジャーナルの暗号鍵を管理するリストを作成する場合に、データボリュームに対応してジャーナルの暗号鍵を管理するリストを作成することによって、ジャーナルの暗号鍵を管理するリストの容量が増加することを抑制することができる。
【０１６６】
＜第２の実施形態＞
本発明の第２の実施の形態におけるストレージ装置４は、継続的データ保護機能（Ｃｏｎｔｉｎｕｏｕｓ  Ｄａｔａ  Ｐｒｏｔｅｃｔｉｏｎ）と呼ばれる、ジャーナリング機能を用いたバックアップ機能を提供する。継続データ保護機能とは、データボリュームを特定の時点のデータボリュームに復元する機能であり、特定の時点のデータボリュームのスナップショットと、スナップショットを作成した時点以降に受信した書き込み要求に基づいて作成されるジャーナルとを保持し、スナップショットを作成した時点にデータボリュームに格納されているデータに、書き込み要求を受信した順序でジャーナルを適用することによって実現される。
【０１６７】
また、スナップショットを作成した時点以前の書き込み要求に基づいて作成されるジャーナルを保持し、作成したスナップショットから、ジャーナルを書き戻すことによって、スナップショットを作成した時点以前の任意時点の状態に復元することもできる。
【０１６８】
以下、第１の実施の形態と異なる点を中心に説明する。
【０１６９】
図１３は、本発明の第２の実施の形態のコンピュータシステムの構成図を示す。
【０１７０】
第２の実施の形態のストレージ装置４は、スナップショットが作成される特定の時点のデータボリュームのデータを格納する基底ボリューム（Ｂ−ＶＯＬ）を備える。また、メモリ４２６は、スナップショットを管理するスナップショットプログラムＰ５００を格納する。また、メモリ４２６は、第１の実施の形態のペア管理テーブルＴ１００の代わりに、複製対象管理テーブルＴ５００を格納する。
【０１７１】
図１４は、本発明の第２の実施の形態の複製対象管理テーブルＴ５００を示す。
【０１７２】
複製対象管理テーブルＴ５００は、バックアップが行われるデータボリュームと、バックアップが行われるデータボリュームが属するジャーナルグループと、スナップショットが作成される特定の時点のデータボリュームのデータを格納する基底ボリュームと、スナップショットを作成した時刻とを管理する。なお、複製対象管理テーブルＴ５００は、管理計算機５を操作するシステム管理者によって、作成又は更新される。
【０１７３】
図１４に示すように、複製対象管理テーブルＴ５００は、複製対象データボリューム番号Ｔ５０１、ジャーナルグループ番号Ｔ５０２、基底ボリューム番号Ｔ５０３、及びスナップショット取得時刻Ｔ５０４を含む。
【０１７４】
複製対象データボリューム番号Ｔ５０１には、バックアップが行われるデータボリュームを識別するボリューム番号が登録される。登録されるボリューム番号は、ストレージ装置４が備えるボリュームから特定のボリュームを一意に特定できる番号であればよい。
【０１７５】
ジャーナルグループ番号Ｔ５０２には、各エントリのデータボリュームが属するジャーナルグループを識別するジャーナルグループの番号が登録される。
【０１７６】
基底ボリューム番号Ｔ５０３には、スナップショットが作成される特定の時点のデータボリュームのデータが格納される基底ボリュームのボリューム番号が登録される。
【０１７７】
スナップショット取得時刻Ｔ５０４には、基底ボリュームに格納されるデータのスナップショットが作成された時刻が登録される。
【０１７８】
なお、バックアップが行われるデータボリュームに複数の基底ボリュームを対応させて、異なる時点で作成された複数のスナップショットがそれぞれ各基底ボリュームに格納されてもよい。
【０１７９】
図１５は、本発明の第２の実施の形態の暗号管理テーブルＴ４００を示す。第２の実施の形態の暗号管理テーブルＴ４００は、ストレージ装置４に備わるデータボリューム、ジャーナルボリューム、及び基底ボリュームの暗号化状態及び暗号鍵を管理する。
【０１８０】
図１５に示すように、第２の実施の形態の暗号管理テーブルＴ４００は、データボリューム番号Ｔ４０１、データボリューム暗号化状態Ｔ４０２、データボリューム用暗号鍵Ｔ４０３、基底ボリューム暗号化状態Ｔ４０６、基底ボリューム用暗号鍵Ｔ４０７、ジャーナル暗号化状態Ｔ４０４、及びジャーナル用暗号鍵Ｔ４０５を含む。
【０１８１】
データボリューム番号Ｔ４０１、データボリューム暗号化状態Ｔ４０２、ジャーナル暗号化状態Ｔ４０４、及びジャーナル用暗号鍵Ｔ４０５は、第１の実施の形態の暗号管理テーブルＴ４００と同じであるため説明を省略する。
【０１８２】
基底ボリューム暗号化状態Ｔ４０６には、複製対象管理テーブルＴ５００の基底ボリューム番号Ｔ５０３によって識別される基底ボリュームが暗号化されているか否かを示すフラグが登録される。
【０１８３】
基底ボリューム用暗号鍵Ｔ４０７には、基底ボリュームの暗号化状態が「オン」である場合、基底ボリュームに格納されるデータを暗号化又は復号化する暗号鍵が登録される。
【０１８４】
図１６は、本発明の第２の実施の形態の復元処理のフローチャートであり、具体的には、ストレージ装置４が、管理計算機５からデータボリュームの復元要求を受け付けた場合の処理を説明する。
【０１８５】
なお、復元要求とは、特定の時点のデータボリュームを復元する要求であり、復元を要求する時点を指定する所望ポインタが含まれる。
【０１８６】
コントローラ４２のプロセッサ４２１がメモリ４２２に格納されている各プログラムを実行することによって図１６に示す復元処理が実行される。
【０１８７】
まず、コントローラ４２は、更新ポインタを初期化する（ＳＴＥＰ１６０１）。具体的には、更新ポインタには、スナップショットに適用されていないジャーナルのうち、最も古いジャーナルが格納されているジャーナルボリュームのボリューム番号及びアドレスが設定される。
【０１８８】
次に、コントローラ４２は、更新ポインタと更新情報末尾ポインタＴ２０２とが一致しているか否かを判断する、すなわち、スナップショットに適用されていないジャーナルがジャーナルボリュームにあるか否かを判断する（ＳＴＥＰ１６０２）。
【０１８９】
更新ポインタと更新情報末尾ポインタＴ２０２が一致していない、すなわち、スナップショットに適用されていないジャーナルがジャーナルボリュームにある場合、処理はＳＴＥＰ１６０３に進む。一方、更新ポインタと更新情報末尾ポインタＴ２０２が一致している、すなわち、スナップショットに適用されていないジャーナルがない場合、処理は終了する。
【０１９０】
次に、コントローラ４２は、更新ポインタが示す記憶領域からジャーナル（更新情報及びライトデータ）を読み出す（ＳＴＥＰ１６０３）。
【０１９１】
次に、コントローラ４２は、ＳＴＥＰ１６０３で読み出したジャーナルが復元要求に含まれる所望ポインタによって指定された時点以前に生成されたジャーナルであるか否かを判断する（ＳＴＥＰ１６０４）。
【０１９２】
読み出したジャーナルが所望ポインタによって指定された時点以前に生成されたジャーナルである場合、処理はＳＴＥＰ１６０５に進む。一方、読み出したジャーナルが所望ポインタによって指定された時点以前に生成されたジャーナルでない場合、すなわち、所望ポインタによって指定された時点のデータボリュームの復元が完了している場合、処理は終了する。
【０１９３】
次に、コントローラ４２は、暗号管理テーブルＴ４００を参照し、更新情報に含まれるデータボリューム番号Ｔ４０１に基づいて、ジャーナルの暗号化状態が「オン」であるか否かを判断する（ＳＴＥＰ１６０５）。
【０１９４】
ジャーナルの暗号化状態が「オン」である場合、ライトデータを復号化するため、処理はＳＴＥＰ１６０６に進む。一方、ジャーナルの暗号化状態が「オフ」である場合、処理はＳＴＥＰ１２０６に進む。
【０１９５】
次に、コントローラ４２は、暗号管理テーブルＴ４００を参照し、データボリュームに割り当てられているジャーナル用暗号鍵Ｔ４０５を取得する（ＳＴＥＰ１６０６）。
【０１９６】
次に、コントローラ４２は、ＳＴＥＰ１６０６で取得したジャーナル用暗号鍵Ｔ４０５を用いて、暗号化されたライトデータを復号化する（ＳＴＥＰ１６０７）。
【０１９７】
次に、コントローラ４２は、複製対象管理テーブルＴ５００を参照し、更新情報に含まれるデータボリューム番号Ｔ４０１に基づいて、ジャーナルを適用する基底ボリュームの暗号化状態が「オン」であるか否かを判断する（ＳＴＥＰ１６０８）。
【０１９８】
基底ボリュームの暗号化状態が「オン」である場合、ライトデータを暗号化するため、処理はＳＴＥＰ１６０９に進む。一方、基底ボリュームの暗号化状態が「オフ」である場合、処理はＳＴＥＰ１６１１に進む。
【０１９９】
次に、コントローラ４２は、暗号状態管理テーブルＴ４００を参照し、基底ボリュームに割り当てられている基底ボリューム用暗号鍵Ｔ４０７を取得する（ＳＴＥＰ１６０９）。
【０２００】
次に、コントローラ４２は、ＳＴＥＰ１６０９で取得した基底ボリューム用暗号鍵Ｔ４０７を用いて、ライトデータを暗号化する（ＳＴＥＰ１６１０）。
【０２０１】
次に、コントローラ４２は、基底ボリュームにライトデータを格納することによって、スナップショットにジャーナルを適用する（ＳＴＥＰ１６１１）。
【０２０２】
次に、コントローラ４２は、更新ポインタを更新する（ＳＴＥＰ１６１２）。具体的には、コントローラ４２は、更新ポインタに、スナップショットに適用されていないジャーナルのうち、最も古いジャーナルが格納されているジャーナルボリュームのボリューム番号及びアドレスを新たに設定する。そして、処理はＳＴＥＰ１６０２に戻る。
【０２０３】
本発明の第２の実施の形態では、継続的データ保護機能を用いたジャーナリング機能において、更新情報に含まれるボリューム番号に基づいて、ジャーナルの暗号化状態、及び、ライトデータの暗号化に用いるジャーナル用暗号鍵を取得し、適切な暗号鍵で復号化する。よって、異なる暗号鍵で暗号化されたジャーナルが同じジャーナルボリュームに混在する場合でも、適切な暗号鍵でジャーナルを復号化し、継続的データ保護機能を実現することができる。
【図面の簡単な説明】
【０２０４】
【図１】本発明の第１の実施の形態のコンピュータシステムの構成図を示す。
【図２】本発明の第１の実施の形態のストレージ装置の構成図を示す。
【図３】本発明の第１の実施の形態のペア管理テーブルを示す図を示す。
【図４】本発明の第１の実施の形態のジャーナルグループ管理テーブルを示す。
【図５】本発明の第１の実施の形態のジャーナルボリュームの構造を示す。
【図６】本発明の第１の実施の形態のジャーナルボリューム管理テーブルを示す。
【図７】本発明の第１の実施の形態の暗号管理テーブルを示す。
【図８】本発明の第１の実施の形態の更新情報の構造を示す。
【図９】本発明の第１の実施の形態のライト命令処理のフローチャートを示す。
【図１０】本発明の第１の実施の形態のジャーナル転送処理のフローチャートを示す。
【図１１】本発明の第１の実施の形態のジャーナルリード命令処理のフローチャートを示す。
【図１２】本発明の第１の実施の形態のリストア処理のフローチャートを示す。
【図１３】本発明の第２の実施の形態のコンピュータシステムの構成図を示す。
【図１４】本発明の第２の実施の形態の複製対象管理テーブルを示す。
【図１５】本発明の第２の実施の形態の暗号管理テーブルを示す。
【図１６】本発明の第２の実施の形態の復元処理のフローチャートを示す。
【符号の説明】
【０２０５】
１  コンピュータシステム
２Ａ  ストレージネットワーク
２Ｂ  管理ネットワーク
３  ホスト計算機
４  ストレージ装置
４１  ディスクドライブ
４２  コントローラ
【図１】
2009157584.tif 000003
【図２】
2009157584.tif 000004
【図３】
2009157584.tif 000005
【図４】
2009157584.tif 000006
【図５】
2009157584.tif 000007
【図６】
2009157584.tif 000008
【図７】
2009157584.tif 000009
【図８】
2009157584.tif 000010
【図９】
2009157584.tif 000011
【図１０】
2009157584.tif 000012
【図１１】
2009157584.tif 000013
【図１２】
2009157584.tif 000014
【図１３】
2009157584.tif 000015
【図１４】
2009157584.tif 000016
【図１５】
2009157584.tif 000017
【図１６】
2009157584.tif 000018