JP4964714B2 - ストレージ装置及びデータの管理方法 - Google Patents

ストレージ装置及びデータの管理方法 Download PDF

Info

Publication number
JP4964714B2
JP4964714B2 JP2007230537A JP2007230537A JP4964714B2 JP 4964714 B2 JP4964714 B2 JP 4964714B2 JP 2007230537 A JP2007230537 A JP 2007230537A JP 2007230537 A JP2007230537 A JP 2007230537A JP 4964714 B2 JP4964714 B2 JP 4964714B2
Authority
JP
Japan
Prior art keywords
journal volume
encryption key
volume
encryption
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007230537A
Other languages
English (en)
Other versions
JP2009064178A (ja
Inventor
京子 三神
伸之 大崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007230537A priority Critical patent/JP4964714B2/ja
Priority to US12/010,056 priority patent/US8098824B2/en
Priority to EP08250358A priority patent/EP1983462A3/en
Publication of JP2009064178A publication Critical patent/JP2009064178A/ja
Application granted granted Critical
Publication of JP4964714B2 publication Critical patent/JP4964714B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • G06F21/805Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors using a security table for the storage sub-system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ストレージ装置及びこれを用いたストレージデータの管理方法に関し、特に、データ暗号化/復号化機能を備えたストレージ装置間におけるジャーナルを利用したストレージデータのリモートコピー技術に関する。
コンピュータシステムにおけるストレージ装置の障害によるデータの消失を防止するため、ストレージ装置内のある論理ボリュームに格納されたデータは、通常、冗長的に構成された遠隔地のストレージ装置内の論理ボリュームにバックアップされる。例えば、「リモートコピー」(又はリモートミラーリング)は、論理ボリューム上のデータのバックアップを行う技術の一つとして知られている。具体的には、リモートコピーは、主系のストレージ装置内の論理ボリューム(主論理ボリューム)と副系のストレージ装置内の論理ボリューム(副論理ボリューム)とをペアボリュームとして定義し、主ボリューム上のデータを副ボリュームに同期あるいは非同期にコピーすることにより、データのバックアップを行うものである。これによって、主系のストレージ装置に障害が発生した場合であっても、副系のストレージ装置は、ホスト装置上のアプリケーションからのI/Oアクセス要求を引き継ぐことができるようになる。
また、データのバックアップ/リストアの高速化を図る技術として、「ジャーナリング」が知られている。ジャーナリングは、データの書き込み要求(命令)があると、書き込まれるデータ及びその時刻等のメタデータをジャーナル(更新ログ)として保存するものである。一般に、ジャーナルを保存するための論理ボリュームは、ジャーナルボリュームと呼ばれている。
下記特許文献1は、リモートコピーにおいてジャーナリング技術を利用する記憶システムを開示している。具体的には、特許文献1における第1の記憶システムは、自身のボリューム上のデータに対するライト命令を受信すると、当該ボリューム上のデータを更新するとともに、ライトデータに受信時刻を付与したジャーナルを作成し、当該作成したジャーナルを第2の記憶システムに転送する。第2の記憶システムは、転送されたジャーナルに基づいて、自身のボリューム上のデータを更新する。これにより、第2の記憶システム内には、第1の記憶システムのボリュームの複製が作成されることになる。
ところで、データセキュリティの観点から、データは、しばしば暗号化されて、ストレージ装置に格納される。しかしながら、時間が経過し古くなった暗号化されたデータは、暗号化のために使用した暗号鍵や暗号化アルゴリズムが弱体化している可能性がある。特に、政府の規制等により、電子メールといったある種のデータに対して長期的な保存が要求される昨今では、データを長期に亘り安全に保存するための技術が必要とされる。
下記特許文献2は、データの機密性を保証するために、データを暗号化して格納するストレージシステムを開示している。また、特許文献2では、暗号化データは、ストレージシステムの中でより強固な新しい暗号化基準セットに従って再暗号化される。これにより、暗号鍵や暗号化アルゴリズムの弱体化による問題を回避でき、データの機密性を維持しつつ、長期に亘り安全に保存することができる。
特開2005−18506号公報 特開2005−303981号公報
データセキュリティの観点からデータの暗号化/再暗号化を行う場合、その処理のためにプロセッサに高い負荷がかかるため、システムパフォーマンスが低下するおそれがある。一方で、リモートコピーにおいては、ストレージシステムは、ホスト装置からの書き込み要求に対して高いレスポンス性能を維持することが要求される。従って、リモートコピー時に、処理負荷の高い暗号化/再暗号化をさらに行うストレージシステムは提案されてこなかった。
特に、上述した特許文献2のストレージシステムは、ボリューム全体を再暗号化しているためプロセッサの負担が大きく、これをリモートコピー技術を採用したストレージシステムに単に適用することはできなかった。
そこで、本発明は、データセキュリティを考慮しつつ、効率的なデータのバックアップを行うことができるストレージシステム及びデータの管理方法を提案することを目的としている。
より具体的には、本発明の課題は、システム性能を低下させることなく、暗号化/復号化処理が要求されるデータをリモートコピーできるようにすることである。
また、本発明の課題は、データを格納する論理ボリュームに対する暗号鍵が更新された場合であっても、更新された暗号鍵によって暗号化されたデータを論理ボリュームに効率的に格納し、また、論理ボリュームから効率的に読み出して、復号化できるようにすることである。
上記課題を解決するため、本発明は、以下の発明特定事項を含む。
すなわち、ある観点に従えば、本発明は、ホスト装置に接続された第1のストレージ装置と、前記第1のストレージ装置に接続された第2のストレージ装置と、を備えたストレージシステムであって、前記第1のストレージ装置は、第1のコントローラと、前記第1のコントローラによって制御される、第1のデータボリューム及び第1のジャーナルボリュームを形成した、第1のディスクドライブと、を備えている。前記第1のコントローラは、前記第1のデータボリューム及び前記第1のジャーナルボリュームのそれぞれについての暗号化状態及び暗号鍵を管理する第1の暗号管理テーブルを備え、前記ホスト装置から書き込み要求を受け付けた場合に、前記書き込み要求に従うデータに基づいて更新ログを作成し、前記第1の暗号管理テーブルで管理される前記第1のジャーナルボリュームに対する暗号化状態及び暗号鍵に従って、該作成した更新ログを暗号化して、該暗号化された更新ログを前記第1のジャーナルボリュームの領域に、順次に、格納し、前記第1のジャーナルボリュームに格納された前記暗号化された更新ログを、順次に、読み出して復号化し、該復号化した更新ログを前記第2のストレージ装置に送信し、前記第1のストレージ装置に接続された管理装置から前記第1のジャーナルボリュームに対する暗号鍵更新要求を受け付けた場合に、新たなジャーナルボリュームを確保して、前記新たなジャーナルボリュームに対する新たな暗号鍵を生成し、該暗号鍵更新要求受付後に前記ホスト装置から受け付けた書き込み要求に従うデータに基づいて作成した更新ログを、前記新たな暗号鍵で暗号化して前記新たなジャーナルボリュームに格納する。
また、別の観点に従えば、本発明は、方法の発明として把握される。すなわち、本発明は、ホスト装置に接続された第1のストレージ装置と、前記第1のストレージ装置に接続された第2のストレージ装置と、を備えたストレージシステムにおけるデータの管理方法であって、前記第1のストレージ装置は、第1のコントローラと、第1のデータボリューム及び第1のジャーナルボリュームが形成された第1のディスクドライブとを有し、前記第1のコントローラは、前記第1のデータボリューム及び前記第1のジャーナルボリュームのそれぞれについての暗号化状態及び暗号鍵を管理する第1の暗号管理テーブルを有し、前記第1のコントローラが、前記ホスト装置から書き込み要求を受け付けた場合に、前記書き込み要求に従うデータに基づいて更新ログを作成するステップと、前記第1のコントローラが、前記第1の暗号管理テーブルで管理される前記第1のジャーナルボリュームについての暗号化状態及び暗号鍵に従い、該作成した更新ログを暗号化して、前記第1のジャーナルボリュームに格納するステップと、前記第1のコントローラが、前記第1の暗号管理テーブルで管理される前記第1のジャーナルボリュームについての暗号化状態及び暗号鍵に従って暗号化され前記第1のジャーナルボリュームに格納された更新ログを、順次に、復号化し、該復号化した更新ログを前記第2のストレージ装置に送信するステップと、前記第1のコントローラが、前記第1のストレージ装置に接続された管理装置から前記第1のジャーナルボリュームに対する暗号鍵更新要求を受け付けた場合に、新たなジャーナルボリュームを確保して、前記新たなジャーナルボリュームに対する新たな暗号鍵を生成するステップと、前記第1のコントローラが、該暗号鍵更新要求受付後に前記ホスト装置から受け付けた書き込み要求に従うデータに基づいて作成した更新ログを、前記新たな暗号鍵で暗号化して前記新たなジャーナルボリュームに格納するステップと、を含む。
さらに、本発明は、上記方法をストレージ装置に実行させるプログラムの発明としても把握できる。
本発明によれば、データセキュリティを確保しつつ、高いシステムパフォーマンスで、データのリモートコピーを行うことができるようになる。
また、本発明によれば、データを格納する論理ボリュームに対する暗号鍵が更新された場合に、更新された暗号鍵によって暗号化されたデータを論理ボリュームに効率的に格納し、また、論理ボリュームから効率的に読み出して、復号化することができるようになる。
次に、本発明の実施の形態について、図面を参照しつつ説明する。
[第1の実施形態]
図1は、本発明の第1の実施形態に係るコンピュータシステムの概略構成を示す図である。同図に示すように、コンピュータシステム1は、ストレージネットワーク2Aを介して相互に接続された複数のホスト装置3及び複数のストレージ装置4を含んで構成される。複数のストレージ装置4は、1つのストレージシステムSとして見ることができる。コンピュータシステム1はまた、管理ネットワーク2Bを介して複数のストレージ装置4のそれぞれに接続された管理装置5を含んでいる。コンピュータシステム1は、例えば、銀行の業務システムや航空機の座席予約業務システム等として具現化される。
ストレージネットワーク2Aは、主として、ホスト装置3とストレージ装置4との間のI/Oアクセスに基づく通信に使用されるネットワークシステムである。ストレージネットワーク2Aはまた、ストレージ装置4間のリモートコピーに基づく通信にも使用される。ストレージネットワーク2Aには、例えばLAN、インターネット、又はSAN(Storage Area Network)のいずれかを採用することができ、典型的には、ネットワークスイッチやハブ等を含んで構成される。本実施形態では、ストレージネットワーク2Aは、ファイバーチャネルプロトコルベースのSAN(FC−SAN)で構成されているものとする。
管理ネットワーク2Bは、管理装置5がホスト装置3及びストレージ装置4の管理を行う際の通信に使用されるネットワークである。本実施形態では、管理ネットワーク2Bは、IPプロトコルベースのLANで構成されているものとする。ただし、これは、ストレージネットワーク2Aと管理ネットワーク2Bとが物理的に常に別個のものとして構成されることを意味するものではない。例えば、ストレージネットワーク2AがIPプロトコルベースのネットワークで構成された場合には、両者は一つのネットワークシステム上に形成されるかも知れない。
ホスト装置3は、例えば、銀行の業務システムや航空機の座席予約業務システム等の中核をなすコンピュータである。すなわち、ホスト装置3は、プロセッサやメインメモリ、ネットワークインターフェース、ローカル入出力デバイス等のハードウェア資源を備え、また、デバイスドライバやオペレーティングシステム(OS)、アプリケーションプログラム等のソフトウェア資源を備えている。これによって、ホスト装置3は、プロセッサの制御の下、各種のプログラムを実行して、他のハードウェア資源との協働作用により、所望の処理を実現する。典型的には、ホスト装置3は、プロセッサの制御の下、OS上で業務アプリケーションプログラムを実行することにより、以下で詳述されるストレージ装置4内の論理ユニット乃至は論理ボリューム(VOL:以下、単に「ボリューム」という)にアクセスし、所望の業務システムを実現する。本例では、2台のホスト装置3a及び3bが図示され、ホスト装置3a及び3bのそれぞれは、ストレージ装置4a及び4bのそれぞれに対してアクセスするように構成されている。
ストレージ装置4は、ホスト装置3にデータストレージサービスを提供するためのサブシステムであり、このために、1つ又は複数のボリュームをホスト装置3に提供する。ストレージ装置4は、データを担持する記憶媒体を含む物理デバイス(PDEV)としての1つ又は複数のディスクドライブ41と、ディスクドライブ41に対する書き込み要求又は読み出し要求に基づくI/Oアクセスを制御するコントローラ42と、を備える。
ストレージ装置4a及び4bの内部構成は、基本的に同じであるが、運用上、異なる役割が割り当てられる。すなわち、ストレージ装置4aは、通常の運用時に稼働する主系のストレージ装置であり、ストレージ装置4bは、障害や保守作業の発生によるストレージ装置4aの停止に備えて待機する副系のストレージ装置4bである。従って、主系ストレージ装置4a及び副系ストレージ装置4b内の一対のボリューム上のデータは、後述するリモートコピー(ミラーリング)によって、その同一性が維持される。
ボリュームは、ホスト装置3上のアプリケーションプログラムが認識しうる「論理的なストレージ」である。ボリュームは、コントローラ42の制御の下、1つ又は複数のディスクドライブ41(物理デバイス)上に形成される。典型的な実装例では、ボリュームは、論理的な中間デバイスを介して物理デバイス上に形成される。具体的には、大容量化、高信頼化等の観点から、RAID(Redundant Arrays of Independence Disks)技術を用いて、いくつかの物理デバイスに基づくRAIDグループ乃至はアレイグループと呼ばれる仮想デバイスが定義される。そして、当該仮想デバイスに対して1つ又は複数の論理デバイス乃至は論理ユニットが割り当てられ、さらに、当該論理デバイスのそれぞれに対して論理ボリュームが割り当てられる。本発明の理解を容易にする目的として、本明細書では、1つの論理デバイスに対して、1つの論理ボリュームが割り当てられているものとし、また、論理的な中間デバイスを省略し、論理ボリュームは、物理デバイス上に形成されたものとして説明する。
ボリュームには、論理ユニット番号(LUN)が割り当てられ、従って、ホスト装置3は、論理ユニット番号を用いて特定のボリューム(つまり、論理デバイス)を認識することができる。また、ボリュームは、I/Oアクセスの最小単位であるブロックに分割され、各ブロックには、論理ブロックアドレス(LBA)が割り当てられる。これにより、ホスト装置3は、論理ユニット番号及び論理ブロックアドレスを含む論理アドレスをストレージ装置4に与えることにより、特定のボリュームにおける特定のブロックに格納されたデータセットに対してアクセスを行うことができる。
ストレージ装置4には、その目的・用途に応じたさまざまなボリュームが用意される。本実施形態では、ホスト装置3によるI/Oアクセスに基づくデータを格納する1つ又は複数のデータボリューム(D−VOL)と、ジャーナリングによるジャーナルエントリ(更新ログ)を格納する1つ又は複数のジャーナルボリューム(J−VOL)とが形成されている。
ジャーナリングは、当該データを高速にバックアップするためのストレージ装置4に実装された機能の一つである。ジャーナリング機能により、ストレージ装置4は、ホスト装置3による書き込み要求があると、当該書き込み要求に関わるメタデータと当該書き込み要求に従うデータとを更新ログとして、ジャーナルボリュームに格納する。メタデータは、例えば、当該書き込み要求があった時点の時刻情報(タイムスタンプ)や当該書き込み要求によって指定されるデータボリュームの識別子(論理ユニット番号)、当該データボリュームが属するグループのグループ識別子、当該グループにおける更新順序を示すシーケンシャル番号、当該書き込み要求に従うデータのサイズ、及び当該書き込み要求に従うデータを格納したジャーナルボリュームの記憶領域の論理アドレスを含む。本実施形態のジャーナルボリュームはまた、リモートコピーを行う際に、中間的なバッファとして使用される。
リモートコピーは、ストレージ装置4に実装された機能の一つであり、ペア関係が定義されたボリューム(ペアボリューム)間で、ホスト装置3を介在させることなく、同期・非同期にデータのコピーを行って、ボリューム上のデータを二重化する機能である。リモートコピー機能は、例えば、ストレージ装置4に実装されたリモートコピープログラムにより実現される。ストレージ装置4a及び4bの各ボリューム間で新たなペア関係が定義された場合には、初期コピーとして、主系のストレージ装置4aのボリュームから副系のストレージ装置4bの新たにペア関係が定義されたボリュームにデータが転送される。
同期式リモートコピーでは、ホスト装置3から書き込み要求を受領した主系のストレージ装置4aは、自身のボリュームに当該書き込み要求に従うデータを格納するとともに、ペア関係が定義された副系ストレージ装置4bのボリュームに対して当該書き込み要求に従うデータを転送し、これを受けた副系のストレージ装置4bにおいて当該データの格納が完了した時点で、ホスト装置3に当該書き込み要求に対する完了を応答する。
一方、非同期式リモートコピーでは、ホスト装置3からの書き込み要求とは独立(非同期)に、ペアボリューム間でコピーが行われる。本実施形態では、副系のストレージ装置4bが、主系のストレージ装置4aに対してリモートコピー要求を行う非同期式リモートコピーが採用されている。
また、本実施形態では、リモートコピーに際して、ジャーナリングを利用している。すなわち、主系のストレージ装置4aは、副系のストレージ装置4bからのリモートコピー要求に応じて、更新ログをストレージ装置4bに転送する。
なお、本実施形態では、ストレージ装置4aを主系のストレージ装置とし、ストレージ装置4bを副系のストレージ装置として扱っているが、ストレージ装置4内のボリューム単位で主系のボリュームと副系のボリュームとに分けてもよい。
さらに、ストレージ装置4は、ボリュームに対する暗号化/復号化機能を備える。暗号化/復号化機能は、例えば、ストレージ装置4に実装された暗号/復号プログラムにより実現される。ストレージ装置4は、暗号化状態にあるボリュームに対してデータを書き込む場合には、当該データを暗号化した上で、書き込む。
管理装置5は、ストレージ装置4を管理するためのコンピュータであって、典型的には、汎用のコンピュータが用いられる。すなわち、管理装置5は、プロセッサやメインメモリ、ネットワークインターフェース、ローカル入出力デバイス等のハードウェア資源を備え、また、デバイスドライバやOS、管理プログラム等のソフトウェア資源を備えている。管理装置5は、プロセッサの制御の下、OS上で各種の管理プログラムを実行することにより、システム管理者にストレージ装置4を管理するためのユーザインターフェースを提供し、システム管理者の操作を介して、ストレージ装置4に対する設定や実行指示、運用状況の監視といった管理を行う。例えば、管理装置4は、システム管理者の操作に基づいて、リモートコピーの設定(ペアボリュームの定義、初期コピーの実行等)や、データボリュームに対する暗号化状態の設定(暗号化機能の有効化/無効化)を行う。
図2は、本発明の一実施形態に係るストレージ装置4の構成を示す図である。上述したように、ストレージ装置4は、1つ又は複数のディスクドライブ41と、これらを制御するコントローラ42とによって構成される。ディスクドライブ41は、例えば、ハードディスクドライブやフラッシュメモリといった記憶媒体を含む物理デバイスである。ディスクドライブ41とコントローラ42とは、例えば、ディスクチャネルを介して接続される。
コントローラ42は、同図に示すように、プロセッサ421と、メモリ422と、ホストインターフェース423と、キャッシュメモリ424と、ディスクインターフェース425と、ストレージインターフェース426と、管理インターフェース427と、を備え、これらのコンポーネントは、内部データ線428を介して相互に接続されている。これらコンポーネントは、冗長化構成により、それぞれ多重化されていてもよい。
プロセッサ421は、そのメインメモリとして機能するメモリ422に記憶された各種のプログラムを実行することにより、ストレージ装置4を統括的に制御する。メモリ422には、例えば、I/O処理プログラムP100、ジャーナリングプログラムP200、リモートコピープログラムP300、及び暗号/復号プログラムP400等が記憶される。I/O処理プログラムP100は、ホスト装置3からの書き込み要求又は読み出し要求に基づくI/Oアクセスを統括的に制御して、ストレージ装置4にデータストレージサービスを実現させるプログラムである。ジャーナリングプログラムP200は、ホスト装置3からの書き込み要求があった場合に、当該書き込み要求に従うデータに基づいてジャーナルエントリ(更新ログ)を作成するプログラムである。リモートコピープログラムP300は、ストレージ装置4間のリモートコピー処理を実現するプログラムである。リモートコピープログラムP300は、リモートコピーを要求する側及び要求される側のサブプログラムを含む。暗号/復号プログラムP400は、ディスクドライブ41上のボリュームに格納されるべきデータを暗号し、暗号化され格納されたデータが読み出される際に、これを復号する。
メモリ422には、また、ペア管理テーブルT100、ジャーナルボリューム管理テーブルT200、暗号管理テーブルT300、及び暗号鍵更新管理テーブルを含むシステム構成情報並びにキャッシュディレクトリ情報等が記憶される。これらのプログラム及びテーブルの一部又は全部は、プロセッサ422の制御の下、図示しない補助記憶装置から、適宜、メモリ422にロードされ、プロセッサ51の利用に供される。また、管理装置5は、メモリ422に記憶されたシステム構成情報を取得して、その設定・変更のために、ユーザインターフェースを介して、システム管理者に提供する。
ホストインターフェース423は、プロトコルデバイス(図示せず)を備え、ストレージネットワーク2Aを介して接続されたホスト装置3との間で通信を行うためのシステム回路である。プロトコルデバイスは、個々のプロトコルに応じたプロトコル処理を行うためのプロセッサを備えている。ホストインターフェース423は、ホスト装置3から例えば書き込み要求を受け付けると、プロセッサ421の制御の下、当該書き込み要求に従うデータをキャッシュメモリ424に書き込む。
キャッシュメモリ424は、ホスト装置3とディスクドライブ41との間でやり取りされるデータを一時的に記憶(キャッシュ)するメモリモジュールである。つまり、キャッシュメモリ424は、ホストインターフェース423とディスクインターフェース425との間のデータの受け渡しに利用される。キャッシュメモリ424は、例えば、揮発性メモリとして知られるDRAMや不揮発性メモリとして知られるフラッシュRAMによって構成される。
ディスクインターフェース425は、キャッシュメモリ424に格納されたデータを取り出して、ディスクドライブ41に格納し(デステージング)、また、ディスクドライブ41からデータを読み出して、キャッシュメモリ424に書き込む(ステージング)。例えば、ホスト装置3からの読み出し要求を受け付けた場合、ディスクインターフェース425は、要求されたデータがキャッシュメモリ424に存在しない場合、必要に応じてデステージングを行ってキャッシュ領域を確保した後、キャッシュメモリ424に要求されたデータをステージングする。
ストレージインターフェース426は、ホストインターフェース423と同様、プロトコルデバイス(図示せず)を備え、ストレージネットワーク2Aを介して接続された他のストレージ装置4との間で通信を行うためのシステム回路である。例えば、ストレージ装置4間のリモートコピーでは、ストレージインターフェース426を通じてデータが転送される。
管理インターフェース427もまた、プロトコルデバイス(図示せず)を備え、管理ネットワーク2Bを介して接続された管理装置5との間で通信を行うためのシステム回路である。管理ネットワーク2BがTCP/IPベースのLANで構築されている場合、管理インターフェース427は、イーサネット(登録商標)ボードを使用することができる。
図3は、本発明の一実施形態に係るストレージ装置4におけるペア管理テーブルT100の構造を説明するための図である。ペア管理テーブルT100は、リモートコピーが行われるべきデータボリュームのペア関係を管理するテーブルである。ペア管理テーブルT100は、管理装置5を操作するシステム管理者によって、作成され、更新される。
同図に示すように、ペア管理テーブルT100の各エントリは、複製元ストレージ装置識別子欄T101欄、複製元データボリューム識別子欄T102、複製先ストレージ装置識別子欄T103、複製先データボリューム識別子欄T104、及びグループ識別子欄T105を含む。
複製元ストレージ装置識別子欄T101には、複製対象であるデータボリュームを有するストレージ装置を識別するためのストレージ装置識別子が登録される。ストレージ装置識別子は、例えば、ストレージ装置4のベンダー名や製造番号である。
複製元データボリューム識別子T102には、複製対象であるデータボリュームを識別するためのボリューム識別子が登録される。当該ボリューム識別子は、複製元ストレージ装置識別子によって識別されるストレージ装置が有するボリュームの中から特定のボリュームを一意に特定できる識別子であればよく、例えば、論理ユニット番号を用いることができる。つまり、ボリューム識別子は、ボリュームの種類(つまり、データボリュームであるかジャーナルボリュームであるか)を問わず、一意の識別子が割り当てられている。
複製先ストレージ装置識別子欄T103には、複製されたデータを格納するデータボリュームを有するストレージ装置を識別するためのストレージ装置識別子が登録される。
複製先データボリューム識別子欄T104には、複製されたデータを格納するデータボリュームを識別するボリューム識別子が登録される。複製先データボリューム識別子もまた、複製先ストレージ装置識別子によって識別されるストレージ装置が有するボリュームの中からデータボリュームを一意に特定できる識別子であればよい。
グループ識別子欄T105には、各エントリ内のデータボリュームが属するグループを識別するためのグループ識別子が登録される。グループ識別子は、ペア関係が定義されたデータ間の更新順序を保証するために、1つ又は複数のデータボリューム(及びこれとペア関係が定義された1つ又は複数のデータボリューム)をグループという単位で管理するためのものである。1つのグループには複数のデータボリュームが属することもあり、従って、この場合には、複数のデータボリュームが1つのジャーナルボリュームを共有することになる。すなわち、複製元のストレージ装置4におけるいくつかのデータボリュームに対するデータの更新順序が、リモートコピー時に、複製先のストレージ装置4における対応するデータボリュームに対しても保証されるように、1つ又は複数のデータボリュームに対してグループが定義される。同一のグループ内では、データの更新順に、一意な更新番号が割り当てられる。
図4は、本発明の一実施形態に係るストレージ装置4におけるジャーナルボリューム管理テーブルT200の構造を説明するための図である。ジャーナルボリューム管理テーブルT200は、更新ログを格納するジャーナルボリュームを管理するためのテーブルである。
同図に示すように、ジャーナルボリューム管理テーブルの各エントリは、グループ識別子欄T201、格納先ジャーナルボリューム識別子欄T202、更新ログ末尾ポインタ欄T203、読み出し元ジャーナルボリューム識別子欄T204、及び更新ログ先頭ポインタ欄T205を含む。
グループ識別子欄T201には、上述したグループを識別するためのグループ識別子が登録される。つまり、同一のグループに属する1つ又は複数のデータボリュームに対する書き込み要求に基づいて作成される更新ログは、当該グループに属するジャーナルボリュームに格納される。
格納先ジャーナルボリューム識別子欄T202には、グループ識別子によって識別されるグループに属するデータボリュームが更新される場合、その更新ログを格納するジャーナルボリュームを識別するボリューム識別子が登録される。
更新ログ末尾ポインタ欄T203には、直近に作成された更新ログを格納した記憶領域の末尾アドレスの次アドレスが登録される。つまり、更新ログ末尾ポインタは、次に更新ログが格納されるべき記憶領域の位置を示す。
読み出し元ジャーナルボリューム識別子欄T204には、更新ログの読み出し元のジャーナルボリュームを識別するボリューム識別子が登録される。更新ログ先頭ポインタ欄T205には、未だ転送されておらず、かつ、最も古い更新ログを格納する記憶領域の先頭アドレスが登録される。つまり、更新ログ先頭ポインタは、次に更新ログが読み出されるべき記憶領域の位置を示す。
図5は、本発明の一実施形態に係るストレージ装置4におけるジャーナルボリュームに対する更新ログ先頭ポインタ及び更新ログ末尾ポインタの関係を説明する図である。
すなわち、同図(A)に示すように、更新ログ先頭ポインタは、ジャーナルボリュームに格納された更新ログのうち、未転送更新ログが格納された記憶領域の先頭アドレスを示す。また、更新ログ末尾ポインタは、ジャーナルボリュームに格納された更新ログのうち、未転送更新ログが格納された記憶領域の末尾アドレスの次のアドレスを示す。
また、ジャーナルボリュームに未転送ログがない場合は、同図(B)に示すように、更新ログ先頭ポインタ及び更新ログ末尾ポインタのそれぞれが示すアドレスは一致する。従って、更新ログ先頭ポインタと更新ログ末尾ポインタとを比較することによって、ジャーナルボリューム上に未転送ログが存在するか否かを判断することができる。
更新ログは、書き込み要求があるごとに作成され、ジャーナルボリュームの先頭記憶領域から、更新ログ末尾ポインタに従って、順番に格納される。更新ログ末尾ポインタがジャーナルボリュームの記憶領域の最終アドレスまで到達した場合、更新ログ末尾ポインタは、再び、記憶領域の先頭アドレスに戻る。
図6は、本発明の一実施形態に係るストレージ装置4における暗号管理テーブルT300の構造を説明するための図である。暗号管理テーブルT300は、ストレージ装置4内のボリューム(すなわち、データボリューム及びジャーナルボリューム)の暗号化の状態を管理するテーブルである。
同図に示すように、暗号管理テーブルT300のエントリは、ボリューム識別子欄T301、暗号化状態欄T302、暗号鍵欄T303、及び鍵更新時刻欄T304を含む。
ボリューム識別子欄T301には、ボリュームを識別するためのボリューム識別子が登録される。
暗号化状態欄T302には、ボリューム識別子によって識別されるボリュームが暗号化されているか否かを示すフラグが登録される。ボリュームが暗号化されている場合には、暗号化状態は「オン」となり、暗号化されていない場合には、「オフ」となる。
暗号鍵欄T303は、暗号化状態が「オン」の場合、ボリュームを暗号化/復号化するための暗号鍵が登録される。暗号鍵は、管理装置5を操作するシステム管理者の指示に従って、更新される。暗号鍵は、所定の暗号化/復号化アルゴリズムで用いられる、例えば128ビットの数値からなる。暗号と復号とは相補関係にあり、従って、本明細書では、暗号鍵というときは、復号鍵を含む意味で用いている。また、ボリュームが暗号化されているとは、暗号鍵(復号鍵)を使用しなければ、ボリューム上のデータを意味のある形で利用できない状態をいい、典型的には、暗号鍵を使用して暗号化されたデータがボリュームに格納されている状態をいう。
なお、あるボリュームの暗号化状態が「オン」に設定されると、当該ボリュームに関連付けられたボリュームの暗号化状態が自動的に「オン」に設定されてもよい。例えば、システム管理者が、管理装置5上のユーザインターフェースを介して、データボリュームの暗号化状態を「オン」に設定すると、管理装置5の管理プログラムは、当該データボリュームに対応付けられたジャーナルボリュームを特定し、当該特定したジャーナルボリュームの暗号化状態を自動的に「オン」に設定する。
また、複数のボリュームに対して、同一の暗号鍵が使用されてもよい。例えば、同一のグループに属するデータボリュームに対して、同一の暗号鍵が使用されてもよいし、データボリュームに対応するジャーナルボリュームに対して、同一の暗号鍵が使用されてもよい。
鍵更新時刻欄T304には、暗号鍵欄T303に登録された暗号鍵が別の新しいものに更新された時刻が登録される。長期間変更されない暗号鍵を使用することは、データのセキュリティの観点から好ましくなく、従って、システム管理者は、管理装置5を操作して、新たな暗号鍵の生成を指示し、これを受けて新たな暗号鍵が生成された時刻が登録されることになる。
図7は、本発明の一実施形態に係るストレージ装置4における暗号鍵更新管理テーブルT400の構造を説明するための図である。暗号鍵更新管理テーブルT400は、ジャーナルボリュームに対して使用される暗号鍵の更新状態を管理するテーブルである。
同図に示すように、暗号鍵更新管理テーブルT400の各エントリは、ジャーナルボリューム識別子欄T401、鍵更新状態欄T402、及び切り替えポインタ欄T403を含む。
ジャーナルボリューム識別子欄T401には、ストレージ装置4内のジャーナルボリュームを識別するためのボリューム識別子が登録される。
暗号鍵更新状態欄T402には、ジャーナルボリューム識別子で識別されるジャーナルボリュームに対して使用される暗号鍵が更新された否かを示すフラグが登録される。暗号鍵が更新されたジャーナルボリュームに対しては、暗号鍵更新状態は「オン」となり、更新されていないジャーナルボリュームに対しては、暗号鍵更新状態は「オフ」となる。
切り替えポインタ欄T403には、暗号鍵更新状態が「オン」である場合に、暗号鍵の更新が指示された時点における図4に示すジャーナルボリューム管理テーブルT200における対応するエントリの更新ログ末尾ポインタ欄T203が示すアドレスが切り替えポインタとして登録される。つまり、切り替えポインタは、暗号鍵更新の指示に基づいて、ジャーナルボリュームの領域を切り替えるためのポインタである。
図8は、本発明の一実施形態に係るストレージ装置4における書き込み要求に基づく処理を説明するためのフローチャートであり、具体的には、同図は、主系のストレージ装置4aが、ホスト装置3aからデータボリュームに対する書き込みコマンドを受信した場合の、ストレージ装置4aの動作を説明している。当該書き込み要求に基づく処理は、コントローラ42内のプロセッサ421の制御の下、各コンポーネントが協働することで、遂行される。
すなわち、ストレージ装置4aのコントローラ42(これを「コントローラ42a」と呼ぶことにする。)は、ホスト装置3aから書き込みコマンドを受信すると、メモリ422に記憶されている暗号管理テーブルT300を参照して、当該書き込みコマンドで指定されたデータボリューム(D−VOL)の暗号化状態が「ON」であるか否か、すなわち、データボリュームが暗号化されているか否か、を判断する(STEP801)。
コントローラ42aは、当該データボリュームの暗号化状態が「ON」である、すなわち、当該データボリュームが暗号化されていると判断する場合(STEP801のYes)、暗号管理テーブルT300を参照して、当該データボリュームに対する暗号鍵を取得する(STEP802)。続いて、コントローラ42aは、取得した暗号鍵を使用して、所定の暗号化アルゴリズムに従って、当該書き込みコマンドに従うデータを暗号化し(STEP803)、暗号化したデータを当該データボリュームに格納する(STEP804)。より具体的なレベルで説明すれば、プロセッサ421は、暗号鍵を使用して、所定の暗号化アルゴリズムに従い、キャッシュメモリ424に書き込まれたデータを暗号化し、再び、キャッシュメモリ424に書き込む。これによって、キャッシュメモリ422上の暗号化されたデータは、適宜のタイミングで、メモリ422上のキャッシュディレクトリ情報に従って、ディスクインターフェース425によりデステージングされることになる。また、コントローラ42aは、キャッシュメモリ424上のデータをディスクドライブ41にデステージングする際に暗号化し、暗号化したデータをキャッシュメモリ424に戻さないようにしてもよい。
これに対して、コントローラ42は、当該書き込みコマンドで指定されたデータボリュームが暗号化されていないと判断する場合(STEP801のNo)、コントローラ42は、当該書き込みコマンドに従うデータを、そのままの形で(暗号化せずに)、当該データボリュームに格納する(STEP804)。
コントローラ42は、次に、ペア管理テーブルT100を参照し、当該書き込みコマンドで指定されたデータボリュームが複製元データボリュームに設定されているか否かを判断する(STEP805)。当該データボリュームが複製元データボリュームに設定されていないと判断する場合(STEP805のNo)、当該書き込みコマンドに対する処理を終了する。この場合、コントローラ42aは、当該書き込みコマンドを送信したホスト装置3aに対して完了ステータスを送信する。
これに対して、当該データボリュームが複製元データボリュームに設定されていると判断する場合(STEP805のYes)、コントローラ42aは、ジャーナル管理テーブルT200を参照して、格納先ジャーナルボリューム識別子欄T202に登録されたボリューム識別子及び更新ログ末尾ポインタ欄T203に登録された更新ログ末尾ポインタをそれぞれ取得する(STEP808)。つまり、コントローラ42aは、当該書き込みコマンドに基づく更新ログを格納すべきジャーナルボリューム及びその記憶領域の先頭アドレスを特定する。続いて、コントローラ42aは、当該書き込みコマンドに基づいて更新ログを作成する(STEP807)。更新ログは、上述したように、メタデータと書き込みデータとからなる。メタデータは、例えば、当該書き込み要求があった時点の時刻情報や当該書き込み要求によって指定されるデータボリュームのボリューム識別子、当該データボリュームが属するグループのグループ識別子、当該グループにおける更新順序を示すシーケンシャル番号、当該書き込み要求に従うデータのサイズ、及び当該書き込み要求に従う書き込みデータを格納したジャーナルボリュームの記憶領域のアドレスを含む。
さらに、コントローラ42aは、暗号管理テーブルT300を参照し、作成された更新ログを格納すべきジャーナルボリュームの暗号化状態が「ON」であるか否かを判断する(STEP808)。当該更新ログを格納すべきジャーナルボリュームの暗号化状態が「ON」であると判断する場合(STEP808のYes)、コントローラ42aは、暗号管理テーブルT300を参照して、当該ジャーナルボリュームに割り当てられている暗号鍵を取得する(STEP809)。続いて、コントローラ42aは、取得した暗号鍵を使用して、所定の暗号化アルゴリズムに従って、当該更新ログを暗号化し(STEP810)、暗号化した更新ログを当該ジャーナルボリュームに格納する(STEP811)。
これに対して、コントローラ42aが当該更新ログを格納すべきジャーナルボリュームの暗号状態が「ON」でないと判断する場合(STEP808のNo)、コントローラ42は、当該更新ログを、そのままの形で(暗号化せずに)、当該ジャーナルボリュームに格納する(STEP811)。
そして、コントローラ42aは、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ末尾ポインタ欄T203を更新する(STEP812)。つまり、コントローラ42aは、更新ログ末尾ポインタを、作成された更新ログを格納したジャーナルボリュームの領域の末尾アドレスの次アドレスにセットする。
以上により、コントローラ42aは、当該書き込みコマンドに対する処理を終了する。この場合、コントローラ42aは、典型的には、当該書き込みコマンドを送信したホスト装置3aに対して完了ステータスを送信する。
なお、図8に示したフローチャートでは、コントローラ42aは、データボリュームに対する書き込みデータの格納処理に同期して、ジャーナルボリュームに対する更新ログの格納処理を行っているが、特にこれに限定するものではない。コントローラ42aは、データボリュームに対する格納処理とジャーナルボリュームに対する格納処理とを、非同期で行ってもよい。
図9は、本発明の一実施形態に係るストレージ装置4における読み出し要求に基づく処理を説明するためのフローチャートであり、具体的には、同図は、主系のストレージ装置4aがホスト装置3aからデータボリュームに対する読み出しコマンドを受信した場合の、ストレージ装置4aの動作を説明している。当該読み出し要求に基づく処理は、コントローラ42内のプロセッサ421の制御の下、各コンポーネントが協働することで、遂行される。
すなわち、ストレージ装置4aのコントローラ42aは、ホスト装置3aからデータの読み出しコマンドを受信すると、当該読み出しコマンドで指定されたデータボリュームからデータを読み出す(STEP901)。より具体的なレベルで説明すれば、プロセッサ421は、当該読み出しコマンドが指定するデータが、キャッシュメモリ424に存在しないと判断する場合、当該データをステージングするようにディスクインターフェース42を制御する。これにより、読み出されたデータは、暗号化されたままで、キャッシュメモリ424に書き込まれることになる。あるいは、コントローラ42aは、暗号データと平文データがキャッシュメモリ424上に混在することを避けるため、ディスクドライブ41からステージングする際にデータを復号化してもよい
次に、コントローラ42aは、メモリ422に記憶されている暗号管理テーブルT300を参照して、当該当該読み出しコマンドで指定されたデータボリュームの暗号化状態が「ON]であるか否かを判断する(STEP902)。当該読み出しコマンドによって指定されたデータボリュームの暗号化状態が「ON」であると判断する場合(STEP902のYes)、コントローラ42aは、当該データボリュームに割り当てられている暗号鍵を取得する(STEP903)。続いて、コントローラ42aは、取得した暗号鍵を使用して、所定の復号化アルゴリズムに従って、当該読み出したデータを復号化する(STEP904)。これにより、コントローラ42aは、復号化されたデータを、当該読み出し要求に対する応答として、ホスト装置3aに送信し(STEP905)、処理を終了する。
これに対して、コントローラ42aは、当該読み出しコマンドで指定されたデータボリュームの暗号化状態が「ON」でないと判断する場合(STEP902のNo)、当該データボリュームから読み出したデータを、そのまま、当該読み出し要求に対する応答として、ホスト装置3aに送信し(STEP905)、処理を終了する。
図10は、本発明の一実施形態に係るストレージ装置4における暗号鍵更新処理を説明するためのフローチャートである。具体的には、同図は、ストレージ装置4aが管理装置5Aから暗号鍵更新要求(以下の「暗号鍵更新コマンド」に相当する。)を受信した場合の、ストレージ装置4aの動作を説明している。なお、ストレージ装置4bが管理装置5Bから暗号鍵更新コマンドを受信した場合も同様である。
システム管理者は、管理装置5aを操作して、ストレージ装置4aに対して暗号鍵の更新を指示すると、これを受けて、管理装置5aは、暗号鍵更新コマンドをストレージ装置4aに送信する。暗号鍵更新コマンドは、暗号鍵の更新対象であるジャーナルボリューム(これを「旧ジャーナルボリューム」と呼ぶことにする。)を識別するためのボリューム識別子及び暗号鍵更新コマンドの発行時刻を含んでいる。
ストレージ装置4aのコントローラ42aは、管理ネットワーク2Bを介して、管理装置5aから暗号鍵更新コマンドを受信すると、別の新たなジャーナルボリューム(これを「新ジャーナルボリューム」と呼ぶことにする。)をディスクドライブ41上に確保する(STEP1001)。典型的には、コントローラ42aは、ディスクドライブ41上にジャーナルボリュームを新規に作成する。新ジャーナルボリュームには新たなボリューム識別子が割り当てられる。
次に、コントローラ42aは、例えば発行時刻や乱数関数を使用して、所定の暗号鍵生成アルゴリズムに従って、新たな暗号鍵を生成し(STEP1002)、メモリ422に記憶された暗号管理テーブルT300を更新する(STEP1003)。具体的には、コントローラ42aは、暗号管理テーブルT300の対応するエントリにおける暗号化状態欄T302を「オン」にして、生成した暗号鍵を暗号鍵欄T303に登録する。
コントローラ42aは、続いて、暗号鍵更新管理テーブルT400における対応するエントリ(旧ジャーナルボリュームを含むエントリ)の暗号鍵更新状態欄T402に「オン」を設定する(STEP1004)。また、コントローラ42aは、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ末尾ポインタ欄T203に登録されているアドレスを、当該暗号鍵更新管理テーブルT400の対応するエントリにおける切り替えポインタ欄T403に登録する(STEP1005)。
さらに、コントローラ42aは、ジャーナルボリューム管理テーブルT200を参照し、格納先ジャーナルボリューム識別子欄T201が旧ジャーナルボリュームを示すエントリを抽出し、当該エントリにおける格納先ジャーナルボリューム識別子欄T201に新ジャーナルボリュームのボリューム識別子を登録する(STEP1006)。つまり、格納先ジャーナルボリュームは、旧ジャーナルボリュームから新ジャーナルボリュームに置き換わる。そして、コントローラ42は、ジャーナルボリューム管理テーブルT200における当該エントリの更新ログ末尾ポインタ欄T203に、新ジャーナルボリュームの記憶領域の先頭アドレスを登録する(STEP1007)。
例えば、図4(B)に示すように、旧ジャーナルボリュームのボリューム識別子が「003」であり、新ジャーナルボリュームのボリューム識別子に「005」が割り当てられた場合、ジャーナルボリューム管理テーブルT200の格納先ジャーナルボリューム識別子欄T202の「003」は、「005」に置き換えられ、また、更新ログ末尾ポインタ欄T203には、先頭アドレス「0」が登録される。
すなわち、暗号鍵の更新指示の直前において、旧ジャーナルボリュームが図11(A)に示される状態であったとする。そして、ストレージ装置4が管理装置5から暗号鍵更新コマンドを受信し、上述した一連の処理を実行すると、旧ジャーナルボリューム及び新ジャーナルボリュームの状態はそれぞれ、図11(B)及び(C)に示される状態になる。つまり、旧ジャーナルボリューム上の更新ログ末尾ポインタは、切り替えポインタに置き換えられ(図11(B))、新ジャーナルボリューム上に更新ログ末尾ポインタが設定される。暗号鍵更新コマンドを受信し、処理した直後であって、まだ、書き込みコマンドを受信していない状態では、更新ログ末尾ポインタは、新ジャーナルボリューム上の未使用記憶領域の先頭アドレスになる。
図12及び図13は、本発明の一実施形態に係るストレージシステムにおけるリモートコピー処理を説明するためのフローチャートである。具体的には、同図は、ストレージ装置4aがストレージ装置4bからリモートコピー要求(以下の更新ログ読み出しコマンドに相当する。)を受け付けた場合のストレージ装置4aにおける動作を説明している。
ストレージ装置4aは、通常運用時、ホスト装置4Aに対してデータストレージサービスを提供するとともに、ストレージ装置4bからのリモートコピー要求に応答して、送信側リモートコピー処理を行う。
まず、図12を参照して、ストレージ装置4aのコントローラ42aは、ペアボリュームを有するストレージ装置4bから更新ログ読み出しコマンドを受信すると、ジャーナルボリューム管理テーブルT200を参照し、更新ログ読み出しコマンドに含まれるグループ識別子に基づいて対応するエントリを抽出し、当該エントリにおける読み出し元ジャーナルボリューム識別子欄T202に登録されたボリューム識別子を抽出する(STEP1201)。つまり、コントローラ42aは、ストレージ装置4bに転送すべき更新ログを格納しているジャーナルボリューム(読み出し元ジャーナルボリューム)を特定する。コントローラ42aは、次に、当該読み出し元ジャーナルボリュームに格納された未転送の更新ログの有無をチェックするため、当該エントリにおける更新ログ末尾ポインタ欄T203に示されるアドレス(更新ログ末尾ポインタ)と更新ログ先頭ポインタ欄T205に示されるアドレス(更新ログ先頭ポインタ)とが一致しているか否かを判断する(STEP1202)。
コントローラ42aは、更新ログ末尾ポインタと更新ログ先頭ポインタとが一致している、すなわち、未転送更新ログがないと判断する場合(STEP1202のNo)、転送すべき更新ログがない旨の応答をストレージ装置4bのコントローラに送信し(STEP1208)、当該送信側リモートコピー処理を終了する。
これに対して、更新ログ末尾ポインタと更新ログ先頭ポインタとが一致しない、すなわち、未転送更新ログがあると判断する場合(STEP1202のYes)、コントローラ42aは、更新ログ先頭ポインタに従って、当該読み出し元ジャーナルボリュームの記憶領域から更新ログを、順次、読み出す(STEP1203)。
コントローラ42aは、次に、暗号管理テーブルT300を参照し、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」であるか否かを判断する(STEP1204)。コントローラ42は、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」でないと判断する場合(STEP1204のNo)、当該読み出した更新ログをそのままストレージ装置4bに送信する(STEP1207)。
これに対して、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」であると判断する場合(STEP1204のYes)、コントローラ42aは、暗号管理テーブルT300を参照して、当該読み出し元ジャーナルボリュームに割り当てられている暗号鍵を取得する(STEP1205)。続いて、コントローラ42aは、取得した暗号鍵を使用して、所定の復号アルゴリズムに従って、読み出した更新ログを復号化し(STEP1206)、復号化した更新ログをストレージ装置4bに送信する(STEP1207)。
さらに、コントローラ42aは、読み出して転送した更新ログのデータサイズに従って、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ先頭ポインタ欄を更新する(図13のSTEP1301)。つまり、更新ログ先頭ポインタ欄には、未転送更新ログを格納している当該読み出し元ジャーナルボリュームの記憶領域の先頭アドレスが登録される。
続いて、コントローラ42aは、暗号鍵更新管理テーブルT400を参照し、当該読み出し元ジャーナルボリュームの暗号鍵更新状態が「ON」であるか否かを判断する(STEP1302)。つまり、コントローラ42aは、暗号鍵が更新されることによって作成された新ジャーナルボリュームが存在するか否かを判断し、切り替えポインタの有無を確認する。コントローラ42aは、暗号鍵の更新状態が「ON」でない、すなわち、新ジャーナルボリュームが存在しないと判断する場合(STEP1302のNo)、当該送信側リモートコピー処理を終了する。コントローラ42aは、次の更新ログ読み出しコマンドを受信した場合に、更新ログ先頭ポインタで示される更新ログから、同様の処理により、転送を行う。
コントローラ42aは、暗号鍵更新状態が「ON」、つまり、新ジャーナルボリュームが存在すると判断する場合(STEP1302のYes)、さらに、暗号鍵更新管理テーブルT400における切り替えポインタ欄T403に示されるアドレス(切り替えポインタ)とジャーナルボリューム管理テーブルT200における更新ログ先頭ポインタ欄T205に示されるアドレス(更新ログ先頭ポインタ)とが一致しているか否かを判断する(STEP1303)。
コントローラ42aは、切り替えポインタと更新ログ先頭ポインタとが一致しないと判断する場合(STEP1303のNo)、本処理を終了する。
これに対して、切り替えポインタと更新ログ先頭ポインタとが一致すると判断する場合(STEP1303のYes)、コントローラ42は、暗号鍵更新管理テーブルT400の対応するエントリにおける暗号鍵更新状態欄T402を「OFF」に設定し(STEP1304)、暗号管理テーブルT300において旧ジャーナルボリュームに割り当てられている暗号鍵を削除する(STEP1305)。
そして、コントローラ42aは、ジャーナルボリューム管理テーブルT200の対応するエントリにおける読み出し元ジャーナルボリューム識別子欄T204に、格納先ジャーナルボリューム識別子欄T202に登録されたボリューム識別子を登録するとともに(STEP1306)、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ先頭ポインタ欄T205に、格納先ジャーナルボリューム識別子欄T202によって識別されるジャーナルボリュームの先頭アドレスを登録し(STEP1307)、本処理を終了する。
例えば、図4(B)に示したように、新ジャーナルボリュームのボリューム識別子が「005」であれば、図4(C)に示すように、ジャーナルボリューム管理テーブルT200の読み出し元ジャーナルボリューム識別子欄T202の「003」は、「005」に置き換えられ、また、更新ログ先頭ポインタ欄T203には、先頭アドレス「0」が登録される。
なお、本実施形態では、ストレージ装置4aは、ストレージ装置4bからの更新ログ読み出しコマンドに応じて、更新ログの転送処理を行っているが、特にこれにこだわるものでなく、例えば、ストレージ装置4aが、定期的に、更新ログの転送処理を行うようにしてもよい。あるいは、ストレージ装置4aは、ホスト装置3aからの書き込み要求があるごとに、これに伴って作成される更新ログをストレージ装置4bに転送してもよい。
また、STEP1305において、コントローラ42は、暗号管理テーブルT300の対応するエントリにおける暗号鍵を直ちに削除せずに、管理装置5aを操作するシステム管理者の指示に基づいて、これを削除するようにしてもよい。
図14は、本発明の一実施形態に係るストレージシステムにおけるリモートコピーを説明するためのフローチャートである。具体的には、同図は、ストレージ装置4bがストレージ装置4aにリモートコピー要求を送出した場合のストレージ装置4bにおける動作を説明している。
すなわち、同図に示すように、ストレージ装置4bのコントローラ42(これを「コントローラ42b」と呼ぶことにする。)は、更新ログ読み出しコマンドをストレージ装置4aに送信する(STEP1401)。コントローラ42aは、ストレージ装置4aから送信される更新ログ読み出しコマンドに対する応答を受信し(STEP1402)、当該応答が更新ログであるか否かを判断する(STEP1403)。
コントローラ42bは、当該応答が更新ログでない、すなわち、当該応答が未転送更新ログがない旨である、と判断する場合(STEP1403のNo)、そのまま処理を終了する。これに対して、当該応答が更新ログである場合(STEP1403のYes)、コントローラ42bは、ジャーナルボリューム管理テーブルT200を参照し、当該応答に含まれるグループ識別子で特定される対応するエントリの格納先ジャーナルボリューム欄T201からボリューム識別子を、更新ログ末尾ポインタ欄T203から更新ログ末尾ポインタをそれぞれ取得する(STEP1404)。つまり、コントローラ42bは、転送されてきた更新ログを格納すべき、ジャーナルボリューム及び当該ジャーナルボリュームにおける領域の先頭アドレスを特定する。次に、コントローラ42bは、暗号管理テーブルT300を参照し、作成された更新ログを格納すべきジャーナルボリュームの暗号化状態が「ON」であるか否かを判断する(STEP1405)。
当該更新ログを格納すべきジャーナルボリュームの暗号化状態が「ON」であると判断する場合(STEP1405のYes)、コントローラ42bは、暗号管理テーブルT300を参照して、当該ジャーナルボリュームに割り当てられている暗号鍵を取得する(STEP1406)。続いて、コントローラ42は、取得した暗号鍵を使用して、所定の暗号化アルゴリズムに従って、当該更新ログを暗号化し(STEP1407)、暗号化した更新ログを当該ジャーナルボリュームに格納する(STEP1408)。そして、コントローラ42bは、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ末尾ポインタ欄T203を更新する(STEP1409)。
コントローラ42bは、当該更新ログを格納すべきジャーナルボリュームの暗号化状態が「ON」でないと判断する場合(STEP1405のNo)、当該更新ログを、そのままの形で(暗号化せずに)、当該ジャーナルボリュームに格納し(STEP1408)、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ末尾ポインタ欄T203を更新する(STEP1409)。
図15及び図16は、本発明の一実施形態に係るストレージシステムにおけるリモートコピー処理を説明するためのフローチャートである。具体的には、同図は、ストレージ装置4bが、ストレージ装置4aから受信した更新ログに基づいて、データボリュームの複製を作成する処理(リストア処理)を説明する。
コントローラ42bは、ジャーナルボリューム管理テーブルT200を参照し、更新ログ読み出し元ジャーナルボリューム欄T204に登録されたボリューム識別子及び更新ログ先頭ポインタ欄T205に登録された更新ログ先頭ポインタを抽出し(STEP1501)、抽出したボリューム識別子及び更新ログ先頭ポインタで示される領域から更新ログを読み出す(STEP1502)。
コントローラ42bは、次に、暗号管理テーブルT300を参照し、当該読み出し元ジャーナルボリュームの暗号状態が「ON」であるか否かを判断する(STEP1503)。コントローラ42bは、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」であると判断する場合(STEP1503のYes)、暗号管理テーブルT300を参照し、当該読み出し元ジャーナルボリュームに割り当てられている暗号鍵を取得する(STEP1504)。続いて、コントローラ42bは、取得した暗号鍵を使用して、所定の復号アルゴリズムに従って、読み出した更新ログを復号化し(STEP1505)、復号化した更新ログからデータ(元の書き込みデータ)を取得する(STEP1506)。当該読み出し元ジャーナルボリュームの暗号化状態が「ON」でないと判断する場合(STEP1503のNo)、コントローラ42bは、読み出した更新ログから、直接、書き込みデータを取得する(STEP1506)。
コントローラ42bは、更新ログに含まれるメタデータに基づいて、ペア管理テーブルT100の対応するエントリにおける複製先データボリューム識別子欄T102に登録されたボリューム識別子を抽出し、さらに、暗号管理テーブルT300を参照し、当該ボリューム識別子で特定される複製先データボリュームの暗号化状態が「ON」であるか否かを判断する(STEP1507)。
複製先データボリュームの暗号化状態が「ON」であると判断される場合(STEP1507のYes)、コントローラ42bは、暗号管理テーブルT300から当該データボリュームに対する暗号鍵を取得する(STEP1508)。続いて、コントローラ42bは、取得した暗号鍵を使用して、所定の暗号化アルゴリズムに従って、当該書き込みコマンドに従うデータを暗号化し(STEP1509)、暗号化したデータを当該データボリュームに格納する(STEP1510)。これに対して、複製先データボリュームが暗号化されていないと判断される場合(STEP1507のNo)、コントローラ42bは、当該書き込みコマンドに従うデータを、そのままの形で(暗号化せずに)、当該データボリュームに格納する(STEP1510)。
次に、コントローラ42bは、格納した更新ログのデータサイズに従って、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ先頭ポインタ欄T205の更新ログ先頭ポインタを更新する(図16のSTEP1601)。コントローラ42bは、さらに、暗号鍵更新管理テーブルT400を参照し、当該ジャーナルボリュームの暗号鍵更新状態が「ON」であるか否かを判断する(STEP1602)。
コントローラ42bは、暗号鍵更新状態が「ON」でない、つまり、新ジャーナルボリュームが存在しないと判断する場合(STEP1602のNo)、リストア処理を終了する。コントローラ42aは、次の更新ログ読み出しコマンドを受信した場合に、更新ログ先頭ポインタで示される更新ログから、同様の処理により、転送を行う。
これに対して、コントローラ42bは、暗号鍵の更新状態が「ON」である、つまり、新ジャーナルボリュームが存在すると判断する場合(STEP1602のYes)、さらに、暗号鍵更新管理テーブルT400における切り替えポインタ欄T403に示されるアドレス(切り替えポインタ)とジャーナルボリューム管理テーブルT200における更新ログ先頭ポインタ欄に示されるアドレス(更新ログ先頭ポインタ)とが一致しているか否かを判断する(STEP1603)。つまり、コントローラ42bは、旧ジャーナルボリュームに処理すべき更新ログがあるか否かを判断する。
コントローラ42bは、切り替えポインタと更新ログ先頭ポインタとが一致していない、すなわち、旧ジャーナルボリュームに処理すべき更新ログがある、と判断する場合(STEP1603のYes)、本処理を終了する。
これに対して、コントローラ42bは、切り替えポインタと更新ログ先頭ポインタとが一致している、すなわち、旧ジャーナルボリュームに処理すべき更新ログがない、と判断する場合(STEP1603のNo)暗号鍵更新管理テーブルT400の対応するエントリにおける暗号鍵更新状態欄T402を「OFF」に設定し(STEP1604)、暗号管理テーブルT300の旧ジャーナルボリュームに割り当てられている暗号鍵を削除する(STEP1605)。
次に、コントローラ42bは、ジャーナルボリューム管理テーブルT200の対応するエントリにおける読み出し元ジャーナルボリューム識別子欄T204に、格納先ジャーナルボリューム識別子欄に登録されたボリューム識別子を登録する(STEP106)。そして、コントローラ42は、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ先頭ポインタ欄に、格納先ジャーナルボリューム識別子欄によって識別されるジャーナルボリュームの先頭アドレスを登録し(STEP107)、本処理を終了する。
以上のように、本実施形態では、ストレージ装置4は、管理装置5から暗号鍵更新コマンドを受信すると、新ジャーナルボリュームを確保し、新ジャーナルボリュームに新たに生成した暗号鍵を割り当て、これ以降に作成された更新ログを新ジャーナルボリュームに格納する。そして、ストレージ装置4は、ペア関係が定義されたボリュームを有する他のストレージ装置4からの更新ログ読み出しコマンドに従い、旧ジャーナルボリュームに旧暗号鍵で暗号化され格納された更新ログの復号化、転送が完了すると、新ジャーナルボリュームに新暗号鍵で暗号化され格納された更新ログを復号化、転送する。
[第2の実施形態]
本実施形態は、暗号鍵更新管理テーブルにおいて管理される切り替えポインタに代えて、更新ログ末尾ポインタが示すジャーナルボリュームの記憶領域に、切り替え制御コマンドを書き込んで、これによって、更新ログの格納先を新たなジャーナルボリュームの記憶領域に切り替えることを特徴としている。以下では、第1の実施形態と異なる点を中心に説明する。
図17は、本発明の一実施形態に係るストレージ装置4における暗号鍵更新処理を説明するためのフローチャートである。具体的には、同図は、ストレージ装置4aが管理装置5aから暗号鍵更新コマンドを受信した場合の、ストレージ装置4aの動作を説明している。
システム管理者は、管理装置5aを操作して、ストレージ装置4aに対して暗号鍵の更新を指示し、これを受けて管理装置5aは、暗号鍵更新コマンドをストレージ装置4aに送信する。暗号鍵更新コマンドは、暗号鍵の更新対象であるジャーナルボリューム(旧ジャーナルボリューム)を識別するためのボリューム識別子及び暗号鍵更新コマンドの発行時刻を含んでいる。
ストレージ装置4aのコントローラ42aは、管理ネットワーク2Bを介して、管理端末5Aから暗号鍵更新コマンドを受信すると、別の新たなジャーナルボリューム(新ジャーナルボリューム)をディスクドライブ41上に確保する(STEP1701)。
次に、コントローラ42は、例えば暗号鍵更新コマンドの発行時刻や乱数関数を使用して、所定の暗号鍵生成アルゴリズムに従って、新たな暗号鍵を生成し(STEP1702)、暗号管理テーブルT300を更新する(STEP1703)。具体的には、コントローラ42aは、暗号管理テーブルT300の対応するエントリにおける暗号化状態欄T302を「オン」にして、生成した暗号鍵を暗号鍵欄に登録する。
コントローラ42aは、続いて、ジャーナルボリューム管理テーブルT200を参照し、更新ログ末尾ポインタが示す記憶領域に切り替え制御コマンドを書き込む(STEP1704)。切り替え制御コマンドは、新ジャーナルボリューム識別子及び新ジャーナルボリュームの記憶領域の先頭アドレスが含まれる。
また、コントローラ42aは、ジャーナルボリューム管理テーブルT200を参照し、格納先ジャーナルボリューム識別子T202が旧ジャーナルボリュームを示すエントリを抽出し、当該エントリにおける格納先ジャーナルボリューム識別子欄T201に新ジャーナルボリュームのボリューム識別子を登録する(STEP1705)。つまり、格納先ジャーナルボリュームは、旧ジャーナルボリュームから新ジャーナルボリュームに置き換わる。そして、コントローラ42aは、ジャーナルボリューム管理テーブルT200の当該エントリにおける更新ログ末尾ポインタ欄T203に、新ジャーナルボリュームの記憶領域の先頭アドレスを登録する(STEP1706)。
すなわち、暗号鍵の更新指示の直前において、旧ジャーナルボリュームが図18(A)に示される状態であったとする。そして、ストレージ装置4が管理装置5から暗号鍵更新コマンドを受信し、上述した一連の処理を実行すると、旧ジャーナルボリューム及び新ジャーナルボリュームの状態はそれぞれ、図18(B)及び(C)に示される状態になる。つまり、旧ジャーナルボリューム上の更新ログ末尾ポインタが示す記憶領域には、切り替え制御コマンドが書き込まれ(図18(B))、新ジャーナルボリュームの記憶領域に更新ログ末尾ポインタが設定される。暗号鍵更新コマンドを受信し、処理した直後であって、まだ、書き込みコマンドを受信していない状態では、更新ログ末尾ポインタは、新ジャーナルボリューム上の未使用記憶領域の先頭アドレスになる。
図19は、本発明の一実施形態に係るストレージシステムにおけるリモートコピーを説明するためのフローチャートであり、具体的には、ストレージ装置4aがストレージ装置4bからリモートコピー要求(更新ログ読み出しコマンド)を受け付けた場合のストレージ装置4aにおける動作を説明している。
まず、図19を参照して、ストレージ装置4aのコントローラ42は、ペアボリュームを有するストレージ装置4bから更新ログ読み出しコマンドを受信すると、ジャーナルボリューム管理テーブルT200を参照し、更新ログ読み出しコマンドに含まれるグループ識別子に基づいて対応するエントリを抽出し、当該エントリにおける読み出し元ジャーナルボリューム識別子欄T204に登録されたボリューム識別子を取得する(STEP1901)。つまり、コントローラ42aは、ストレージ装置4bに転送すべき更新ログを格納しているジャーナルボリューム(読み出し元ジャーナルボリューム)を特定する。コントローラ42は、次に、当該読み出し元ジャーナルボリューム上の未転送更新ログの有無をチェックするため、当該エントリにおける更新ログ末尾ポインタ欄に示されるアドレス(更新ログ末尾ポインタ)と更新ログ先頭ポインタに示されるアドレス(更新ログ先頭ポインタ)とが一致しているか否かを判断する(STEP1902)。
コントローラ42aは、更新ログ末尾ポインタと更新ログ先頭ポインタとが一致している、すなわち、未転送更新ログがないと判断する場合(STEP1902のYes)、転送すべき更新ログがない旨の応答をストレージ装置4bのコントローラに送信し(STEP1911)、当該送信側リモートコピー処理を終了する。
これに対して、更新ログ末尾ポインタ欄に示されるアドレスと更新ログ先頭ポインタ欄に示されるアドレスとが一致しない、すなわち、未転送更新ログがあると判断する場合(STEP1902のNo)、コントローラ42aは、ジャーナルボリューム管理テーブルT200を参照し、更新ログ先頭ポインタが示す記憶領域に格納されたデータを読み出して(STEP1903)、読み出したデータが切り替え制御コマンドであるか否かを判断する(STEP1904)。
コントローラ42aは、読み出したデータが切り替え制御コマンドでないと判断する場合(STEP1904のNo)、続いて、暗号管理テーブルT300を参照し、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」であるか否かを判断する(STEP1905)。コントローラ42aは、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」でないと判断する場合(STEP1905のNo)、読み出した更新ログをそのままストレージ装置4bに転送する(STEP1908)。
これに対して、コントローラ42aは、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」であると判断する場合(STEP1905のYes)、暗号管理テーブルT300から当該読み出し元ジャーナルボリュームに割り当てられている暗号鍵を取得する(STEP1906)。続いて、コントローラ42aは、取得した暗号鍵を使用して、所定の復号アルゴリズムに従って、読み出した更新ログを復号化し(STEP1907)、復号化した更新ログをストレージ装置4bに送信する(STEP1908)。
また、コントローラ42aは、読み出したデータが切り替え制御コマンドであると判断する場合(STEP1904のYes)、当該切り替えコマンドに含まれるボリューム識別子及び更新ログ末尾ポインタを取得する(STEP1909)。当該ボリューム識別子及び更新ログ末尾ポインタは、新ジャーナルボリュームにおける更新ログが格納される記憶領域の先頭アドレスを示している。続いて、コントローラ42aは、ジャーナルボリューム管理テーブルT200の対応するエントリにおける読み出し元ジャーナルボリューム識別子欄T204に、取得したボリューム識別子を登録するとともに、更新ログ先頭ポインタ欄T205に取得した更新ログ末尾ポインタを登録する(STEP1910)。その後、コントローラ42は、S801の処理に戻る。
以上のように、本実施形態では、ストレージ装置4は、管理装置5から暗号鍵更新コマンドを受信すると、新たなジャーナルボリュームを確保して、当該確保したジャーナルボリュームに新たな暗号鍵を割り当る。ストレージ装置4はまた、旧ジャーナルボリュームの更新ログ末尾ポインタが示す記憶領域に、切り替え制御コマンドを格納し、これによって、これ以降に作成された更新ログを新ジャーナルボリュームに格納する。そして、ストレージ装置4は、ペア関係が定義されたボリュームを有する他のストレージ装置4からの更新ログ読み出しコマンドに従い、旧ジャーナルボリュームに旧暗号鍵で暗号化され格納された更新ログの復号化、転送が完了すると、切り替え制御コマンドに従って、新ジャーナルボリュームに新a号鍵で暗号化され格納された更新ログを復号化、転送する。
[第3の実施形態]
本実施形態は、暗号鍵を更新する場合、新たなジャーナルボリュームを確保せずに、既存のジャーナルボリュームに続けて更新ログを格納するメカニズムを提供する。
図20は、本発明の一実施形態に係るストレージ装置4における暗号鍵更新管理テーブルT400の構造を説明するための図である。
同図に示すように、本実施形態の暗号鍵更新管理テーブルT400’は、ジャーナルボリューム識別子欄T401、暗号鍵更新状態欄T402、切り替えポインタ欄T403、旧暗号化状態欄T404、及び旧暗号鍵欄T405を含む。つまり、図7に示した暗号鍵更新管理テーブルT400と比較して、旧暗号化状態欄T404及び旧暗号鍵欄T405が追加されている。
旧暗号化状態欄T402には、暗号鍵更新コマンドで指定されたジャーナルボリュームの暗号鍵更新コマンド受信前の暗号化状態が登録される。また、旧暗号鍵欄には、鍵更新コマンドの受信前に当該ジャーナルボリュームに割り当てられていた暗号鍵が登録される。
図21は、本発明の一実施形態に係るストレージ装置4における暗号鍵更新処理を説明するためのフローチャートである。具体的には、同図は、ストレージ装置4aが管理装置5aから暗号鍵更新コマンドを受信した場合の、ストレージ装置4aの動作を説明している。
まず、ストレージ装置4aのコントローラ42aは、管理ネットワーク2Bを介して、管理端末5Aから暗号鍵更新コマンドを受信すると、例えば発行時刻や乱数関数を使用して、所定の暗号鍵生成アルゴリズムに従って、新たな暗号鍵を生成する(STEP2101)。
続いて、コントローラ42aは、暗号鍵更新管理テーブルT400’を参照し、暗号鍵更新コマンドで指定されたジャーナルボリュームの暗号鍵状態欄T402を「オン」に設定し、切り替えポインタ欄T403に更新ログ末尾ポインタが示すアドレスを登録する(STEP2102)。
コントローラ42aはさらに、暗号鍵更新管理テーブルT400’の旧暗号化状態欄T404に、暗号管理テーブルT300の対応するエントリにおける暗号化状態T302の現在の暗号鍵更新状態を登録する。また、コントローラ42aは、当該暗号鍵更新状態が「オン」である場合には、旧暗号鍵欄T405に、暗号管理テーブルT300の対応するエントリにおける暗号鍵欄T303に登録されている暗号鍵を登録する(STEP2103)。つまり、コントローラ42aは、暗号鍵更新コマンドの受信直前のジャーナルボリュームの暗号化状態及びその暗号鍵を保存する。これにより暗号管理テーブルT300が更新された場合であっても、古い更新ログを復号化するための情報が保存されることになる。
次に、コントローラ42aは、暗号管理テーブルT300を参照し、暗号鍵更新コマンドで指定されたジャーナルボリュームの暗号化状態欄T302を「オン」にして、新たに生成した暗号鍵を暗号鍵欄に登録する(STEP2104)。
すなわち、暗号鍵の更新指示の直前において、ジャーナルボリュームが図22(a)に示される状態であったとする。そして、ストレージ装置4が管理装置5から暗号鍵更新コマンドを受信し、上述した一連の処理を実行すると、ジャーナルボリュームの状態は、同図(b)に示される状態になる。つまり、暗号鍵の更新直後は、ジャーナルボリュームの更新ログ末尾ポインタによって示される記憶領域は、同時に、切り替えポインタによって示されることになる。そして、これ以降、書き込み要求に基づいて更新ログが作成され、格納されるごとに、更新ログ末尾ポインタが示すアドレスは、更新されることになる。
図23及び図24は、本発明の一実施形態に係るストレージシステムにおけるリモートコピーを説明するためのフローチャートである。具体的には、同図は、ストレージ装置4aがストレージ装置4bからリモートコピー要求(更新ログ読み出しコマンド)を受け付けた場合のストレージ装置4aにおける動作を説明している。
図23を参照して、ストレージ装置4aのコントローラ42aは、ペアボリュームを有するストレージ装置4bから更新ログ読み出しコマンドを受信すると、ジャーナルボリューム管理テーブルT200を参照し、更新ログ読み出しコマンドに含まれるグループ識別子に基づいて、対応するエントリにおける読み出し元ジャーナルボリューム識別子欄T204に登録されたボリューム識別子を取得する(STEP2301)。つまり、コントローラ42は、ストレージ装置4bに転送すべき更新ログを格納しているジャーナルボリューム(読み出し元ジャーナルボリューム)を特定する。
コントローラ42は、次に、当該読み出し元ジャーナルボリューム上の未転送更新ログの有無をチェックするため、当該エントリにおける更新ログ末尾ポインタと更新ログ先頭ポインタとが一致しているか否かを判断する(STEP2302)。
コントローラ42aは、更新ログ末尾ポインタと更新ログ先頭ポインタとが一致している、すなわち、未転送更新ログがないと判断する場合(STEP2302のNo)、コントローラ42aは、転送すべき更新ログがない旨の応答をストレージ装置4bのコントローラに送信し(STEP2304)、当該送信側リモートコピー処理を終了する。
これに対して、更新ログ末尾ポインタと更新ログ先頭ポインタとが一致しない、すなわち、未転送更新ログがあると判断する場合(STEP2302のYes)、コントローラ42aは、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ先頭ポインタが示す記憶領域に格納されたデータを読み出す(STEP2303)。続いて、コントローラ42aは、暗号鍵更新管理テーブルT400’を参照し、読み出し元ジャーナルボリュームの暗号鍵更新状態が「OFF」であるか否かを判断する(STEP2305)。
コントローラ42は、当該読み出し元ジャーナルボリュームの暗号鍵更新状態が「OFF」であると判断する場合(STEP2305のYes)、暗号管理テーブルT300を参照し、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」であるか否かを判断する(STEP2306)。コントローラ42aは、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」でないと判断する場合(STEP2306のNo)、読み出した更新ログをそのままストレージ装置4bに送信する(STEP2312)。
これに対して、コントローラ42aは、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」であると判断する場合(STEP2306のYes)、暗号管理テーブルT300から当該読み出し元ジャーナルボリュームに割り当てられている現在の暗号鍵を取得する(STEP2307)。続いて、コントローラ42aは、取得した暗号鍵を使用して、所定の復号アルゴリズムに従って、読み出した更新ログを復号化し(STEP2308)、復号化した更新ログをストレージ装置4bに送信する(STEP2312)。
また、コントローラ42aは、当該読み出し元ジャーナルボリュームの暗号鍵更新状態が「OFF」でないと判断する場合(STEP2305のNo)、暗号管理テーブルT300を参照し、当該読み出し元ジャーナルボリュームの旧暗号化状態が「ON」であるか否かを判断する(STEP2309)。コントローラ42aは、当該旧暗号化状態が「ON」でないと判断する場合(STEP2309のNo)、読み出した更新ログをそのままストレージ装置4bに送信する(STEP2312)。
これに対して、コントローラ42は、当該読み出し元ジャーナルボリュームの旧暗号化状態が「ON」であると判断する場合(STEP2309のYes)、暗号管理テーブルT300から当該読み出し元ジャーナルボリュームに割り当てられている旧暗号鍵を取得する(STEP2310)。続いて、コントローラ42は、取得した旧暗号鍵を使用して、所定の復号アルゴリズムに従って、読み出した更新ログを復号化し(STEP2311)、復号化した更新ログをストレージ装置4bに送信する(STEP2312)。
コントローラ42aは、次に、読み出して転送した更新ログのデータサイズに従って、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ先頭ポインタ欄T205を更新する(図24のSTEP2401)。つまり、更新ログ先頭ポインタ欄には、未転送更新ログを格納している当該読み出し元ジャーナルボリュームの記憶領域の先頭アドレスが登録される。
続いて、コントローラ42aは、暗号鍵更新管理テーブルT400’を参照し、当該読み出し元ジャーナルボリュームについて暗号鍵の更新状態が「ON」であるか否かを判断する(STEP2402)。コントローラ42aは、当該読み出し元ジャーナルボリュームの暗号鍵更新状態が「ON」でないと判断する場合(STEP2402のNo)、当該送信側リモートコピー処理を終了する。この場合、更新ログが未だ残っている場合には、次の更新ログ送信コマンドに応答して、転送されることになる。
これに対して、コントローラ42aは、当該読み出し元ジャーナルボリュームの暗号鍵更新状態が「ON」であると判断する場合(STEP2402のYes)、さらに、暗号鍵更新管理テーブルT400’における切り替えポインタ欄T403に示されるアドレスとジャーナルボリューム管理テーブルT200における更新ログ先頭ポインタ欄T205に示されるアドレスとが一致しているか否かを判断する(STEP2403)。つまり、コントローラ42aは、当該読み出し元ジャーナルボリュームに旧暗号鍵で暗号化された未転送更新ログがあるか否かを判断する。
コントローラ42aは、暗号鍵更新管理テーブルT400’における切り替えポインタ欄T403に示されるアドレスとジャーナルボリューム管理テーブルT200における更新ログ先頭ポインタ欄T205に示されるアドレスとが一致していない、すなわち、当該読み出し元ジャーナルボリュームに旧暗号鍵で暗号化された未転送更新ログがある、と判断する場合(STEP2403のYes)、本処理を終了する。
これに対して、暗号鍵更新管理テーブルT400’における切り替えポインタ欄T403に示されるアドレスとジャーナルボリューム管理テーブルT200における更新ログ先頭ポインタ欄T205に示されるアドレスとが一致している、すなわち、当該読み出し元ジャーナルボリュームに旧暗号鍵で暗号化された未転送更新ログがない、と判断する場合(STEP2403のNo)、コントローラ42aは、暗号鍵更新管理テーブルT400の対応するエントリにおける暗号鍵更新状態を「OFF」に設定し(STEP2404)、暗号管理テーブルT300のジャーナルボリュームに割り当てられている暗号鍵を削除する(STEP2405)。
図25及び図26は、本発明の一実施形態に係るストレージシステムにおけるリモートコピーを説明するためのフローチャートであり、具体的には、同図は、ストレージ装置4bが、ストレージ装置4aから受信した更新ログに基づいて、データボリュームの複製を作成する処理(リストア処理)を説明する。
ストレージ装置4bのコントローラ42bは、ジャーナルボリューム管理テーブルT200を参照し、読み出し元ジャーナルボリュームのボリューム識別子及び更新ログ先頭ポインタを抽出し(STEP2501)、抽出したボリューム識別子及び更新ログ先頭ポインタで示される領域から更新ログを読み出す(STEP2502)。続いて、コントローラ42bは、暗号鍵更新管理テーブルT400’を参照し、当該ジャーナルボリュームの暗号鍵更新状態が「OFF」であるか否かを判断する(STEP2503)。
コントローラ42bは、当該ジャーナルボリュームの暗号鍵更新状態が「OFF」であると判断する場合(STEP2503のYes)、さらに、暗号管理テーブルT300を参照し、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」であるか否かを判断する(STEP2504)。
コントローラ42bは、当該読み出し元ジャーナルボリュームの暗号化状態が「ON」であると判断する場合(STEP2504のYes)、暗号管理テーブルT300から当該読み出し元ジャーナルボリュームに割り当てられている暗号鍵を取得する(STEP2505)。続いて、コントローラ42bは、取得した暗号鍵を使用して、所定の復号アルゴリズムに従って、読み出した更新ログを復号化し(STEP2506)、復号化した更新ログから書き込みデータを取得する(STEP2510)。一方、当該読み出し元ジャーナルボリュームが暗号化されていないと判断する場合(STEP2504のNo)、コントローラ42bは、読み出した更新ログから、直接、書き込みデータを取得する(STEP1910)。
また、コントローラ42bは、当該ジャーナルボリュームの鍵更新状態が「OFF」でないと判断する場合(STEP2503のNo)、暗号管理テーブルT300を参照し、当該読み出し元ジャーナルボリュームの旧暗号化状態が「ON」であるか否かを判断する(STEP2507)。
コントローラ42は、当該読み出し元ジャーナルボリュームの旧暗号化状態が「ON」であると判断する場合(STEP2507のYes)、暗号管理テーブルT300から当該読み出し元ジャーナルボリュームに割り当てられていた旧暗号鍵を取得する(STEP2508)。続いて、コントローラ42は、取得した旧暗号鍵を使用して、所定の復号アルゴリズムに従って、読み出した更新ログを復号化し(STEP2509)、復号化した更新ログから書き込みデータを取得する(STEP2510)。一方、当該読み出し元ジャーナルボリュームの旧暗号化状態が「ON」でないと判断する場合(STEP2507のNo)、コントローラ42は、読み出した更新ログから、直接、書き込みデータを取得する(STEP2510)。
次に、コントローラ42は、更新ログに含まれるメタデータに基づいて、ペア管理テーブルT100の対応するエントリにおける複製先データボリューム識別子欄に登録されたボリューム識別子を抽出し、さらに、暗号管理テーブルT300を参照し、当該ボリューム識別子で特定される複製先データボリュームが暗号化されているか否かを判断する(図26のSTEP2601)。
複製先データボリュームの暗号化状態が「ON」であると判断される場合(STEP2601のYes)、コントローラ42bは、暗号管理テーブルT300から当該データボリュームに対する暗号鍵を取得する(STEP2602)。続いて、コントローラ42bは、取得した暗号鍵を使用して、所定の暗号化アルゴリズムに従って、当該書き込みコマンドに従うデータを暗号化し(STEP2603)、暗号化したデータを当該データボリュームに格納する(STEP2604)。これに対して、複製先データボリュームの暗号化状態が「ON」でないと判断される場合(STEP2601のNo)、コントローラ42bは、当該書き込みコマンドに従うデータを、そのままの形で(暗号化せずに)、当該データボリュームに格納する(STEP2604)。
次に、コントローラ42bは、格納した更新ログのデータサイズに従って、ジャーナルボリューム管理テーブルT200の対応するエントリにおける更新ログ先頭ポインタ欄T205を更新する(STEP2605)。コントローラ42bは、さらに、暗号鍵更新管理テーブルT400'を参照し、当該ジャーナルボリュームの暗号鍵更新状態が「ON」であるか否かを判断する(STEP2606)。コントローラ42bは、暗号鍵の更新状態が「ON」でない、つまり、切り替えポインタが存在しないと判断する場合(STEP2606のNo)、リストア処理を終了する。この場合、更新ログが未だ残っている場合には、次の更新ログ送信コマンドに応答して、転送されることになる。
これに対して、コントローラ42bは、当該ジャーナルボリュームの暗号鍵更新状態が「ON」である、つまり、切り替えポインタが存在すると判断する場合(STEP2606のYes)、さらに、暗号鍵更新管理テーブルT400’における切り替えポインタ欄T403に示されるアドレスとジャーナルボリューム管理テーブルT200における更新ログ先頭ポインタ欄T205に示されるアドレスとが一致しているか否かを判断する(STEP2607)。つまり、コントローラ42bは、当該読み出し元ジャーナルボリュームに旧暗号鍵で暗号化された更新ログがまだ存在するか否かを判断する。
コントローラ42bは、暗号鍵更新管理テーブルT400’における切り替えポインタ欄T403に示されるアドレスとジャーナルボリューム管理テーブルT200における更新ログ先頭ポインタ欄T205に示されるアドレスとが一致していない、すなわち、当該ジャーナルボリュームに旧暗号鍵で暗号化された更新ログが存在する、と判断する場合(STEP2607のYes)、本処理を終了する。
これに対して、コントローラ42、暗号鍵更新管理テーブルT400における切り替えポインタ欄に示されるアドレスとジャーナルボリューム管理テーブルT200における更新ログ先頭ポインタ欄に示されるアドレスとが一致している、すなわち、当該ジャーナルボリュームに旧暗号鍵で暗号化された更新ログが存在する、と判断する場合(STEP2607のNo)暗号鍵更新管理テーブルT400’の対応するエントリにおける暗号鍵更新状態を「OFF」に設定し(STEP2608)、暗号管理テーブルT300の旧ジャーナルボリュームに割り当てられている暗号鍵を削除して(STEP2605)、処理を終了する。
以上のように、本実施形態では、ストレージ装置4は、暗号鍵更新コマンドを受信すると、更新ログ末尾ポインタが示す記憶領域に切り替えポインタを設定し、切り替えポインタより前に格納された更新ログについては古い暗号鍵で復号化し、切り替えポインタより後に格納された更新ログについて新しい暗号鍵で復号化する。そのため、ジャーナルボリュームで使用する暗号鍵を更新することができる。
本発明は、リモートコピー機能を備えるストレージ装置に広く適用することができる。
本発明の一実施形態に係るコンピュータシステムの概略構成を示す図である。 本発明の一実施形態に係るストレージ装置の構成を示す図である。 本発明の一実施形態に係るストレージ装置におけるペア管理テーブルの構造を説明するための図である。 本発明の一実施形態に係るストレージ装置におけるジャーナルボリューム管理テーブルの構造を説明するための図である。 本発明の一実施形態に係るストレージ装置におけるジャーナルボリュームに対する更新ログ先頭ポインタ及び更新ログ末尾ポインタの関係を説明する図である。 本発明の一実施形態に係るストレージ装置における暗号管理テーブルの構造を説明するための図である。 本発明の一実施形態に係るストレージ装置における暗号鍵更新管理テーブルの構造を説明するための図である。 本発明の一実施形態に係るストレージ装置における書き込み要求に基づく処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置における読み出し要求に基づく処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置における暗号鍵更新処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置における旧ジャーナルボリュームと新ジャーナルボリュームとの関係を説明するための図である。 本発明の一実施形態に係るストレージシステムの複製元ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージシステムの複製元ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージシステムの複製先ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージシステムの複製先ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージシステムの複製先ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置における暗号鍵更新処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージシステムの複製元ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージシステムの複製元ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置における暗号鍵更新管理テーブルの構造を説明するための図である。 本発明の一実施形態に係るストレージ装置における暗号鍵更新処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージ装置における更新ログが格納されるべきジャーナルボリューム上の記憶領域を説明するための図である。 本発明の一実施形態に係るストレージシステムの複製元ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージシステムの複製元ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージシステムの複製先ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。 本発明の一実施形態に係るストレージシステムの複製先ストレージ装置におけるリモートコピー処理を説明するためのフローチャートである。
符号の説明
1…コンピュータシステム
2A…ストレージネットワーク
2B…管理ネットワーク
3…ホスト装置
4…ストレージ装置
41…ディスクドライブ
42…コントローラ

Claims (18)

  1. ホスト装置に接続された第1のストレージ装置と、
    前記第1のストレージ装置に接続された第2のストレージ装置と、を備えたストレージシステムであって、
    前記第1のストレージ装置は、
    第1のコントローラと、
    前記第1のコントローラによって制御される、第1のデータボリューム及び第1のジャーナルボリュームを形成した、第1のディスクドライブと、を備え、
    前記第1のコントローラは、
    前記第1のデータボリューム及び前記第1のジャーナルボリュームのそれぞれについての暗号化状態及び暗号鍵を管理する第1の暗号管理テーブルを備え
    記ホスト装置から書き込み要求を受け付けた場合に、前記書き込み要求に従うデータに基づいて更新ログを作成し、前記第1の暗号管理テーブルで管理される前記第1のジャーナルボリュームに対する暗号化状態及び暗号鍵に従って、該作成した更新ログを暗号化して、該暗号化された更新ログを前記第1のジャーナルボリュームの領域に、順次に、格納し、
    前記第1のジャーナルボリュームに格納された前記暗号化された更新ログを、順次に、読み出して復号化し、該復号化した更新ログを前記第2のストレージ装置に送信し、
    前記第1のストレージ装置に接続された管理装置から前記第1のジャーナルボリュームに対する暗号鍵更新要求を受け付けた場合に、新たなジャーナルボリュームを確保して、前記新たなジャーナルボリュームに対する新たな暗号鍵を生成し、
    該暗号鍵更新要求受付後に前記ホスト装置から受け付けた書き込み要求に従うデータに基づいて作成した更新ログを、前記新たな暗号鍵で暗号化して前記新たなジャーナルボリュームに格納することを特徴とするストレージシステム。
  2. 前記第1のコントローラは、
    前記第1の暗号管理テーブルで管理される前記第1のデータボリュームに対する暗号化状態及び暗号鍵に従って、前記書き込み要求に従うデータを暗号化して、前記第1のデータボリュームに格納することを特徴とする請求項1記載のストレージシステム。
  3. 前記第1のコントローラは、
    前記暗号鍵更新要求に基づいて確保された前記新たなジャーナルボリューム及び前記新たなジャーナルボリュームに対する新たな暗号鍵を、前記第1の暗号管理テーブルに登録することを特徴とする請求項1又は2に記載のストレージシステム。
  4. 前記第1のコントローラは、
    所定のジャーナルボリュームにおける更新ログの格納位置及び読み出し位置を管理する第1のジャーナルボリューム管理テーブルを備え、
    前記第1のジャーナルボリューム管理テーブルに従って、前記更新ログを前記第1のジャーナルボリューム又は前記新たなジャーナルボリュームのいずれかの領域に格納することを特徴とする請求項1から3のうちのいずれか1項に記載のストレージシステム。
  5. 前記第1のコントローラは、
    前記第1のジャーナルボリュームについての暗号鍵更新状態を管理する第1の暗号鍵更新管理テーブルをさらに備え、
    前記暗号鍵更新要求に基づいて、前記第1のジャーナルボリュームに対する切り替えポインタを前記第1の暗号鍵更新管理テーブルに登録し、前記切り替えポインタに従って、前記新たなジャーナルボリュームに格納された前記更新ログを復号化し、該復号化した更新ログを前記第2のストレージ装置に送信することを特徴とする請求項1から4のうちのいずれか1項に記載のストレージシステム。
  6. 前記第1のコントローラは、
    前記暗号鍵更新要求に基づいて、前記第1のジャーナルボリュームの所定の領域に、前記新たなジャーナルボリュームの領域に切り替えるための切り替え制御コマンドを格納し、前記第1のジャーナルボリュームに格納された更新ログの復号化の後に前記切り替え制御コマンドに従って前記新たなジャーナルボリュームに格納された更新ログを復号化して前記第2のストレージ装置に送信することを特徴とする請求項1から4のうちのいずれか1項に記載のストレージシステム。
  7. 前記第2のストレージ装置は、
    第2のコントローラと、
    前記第2のコントローラによって制御される、前記第1のデータボリュームとペア関係が定義された第2のデータボリューム及び第2のジャーナルボリュームを形成した、第2のディスクドライブと、を備え、
    前記第2のコントローラは、
    前記第2のデータボリューム及び前記第2のジャーナルボリュームのそれぞれに対する暗号化状態及び暗号鍵を管理する第2の暗号管理テーブルを備え
    記第1のコントローラから送信された更新ログを、前記第2の暗号管理テーブルで管理される前記第2のジャーナルボリュームに対する暗号化状態及び暗号鍵に従って、該送信された更新ログを暗号化して、前記第2のジャーナルボリュームに格納することを特徴とする請求項1から6のうちのいずれか1項に記載のストレージシステム。
  8. 前記第2のコントローラは、
    前記第2のジャーナルボリュームに格納された前記暗号化された更新ログを、順次に、復号化し、
    前記第2の暗号管理テーブルで管理される前記第2のデータボリュームに対する暗号化状態及び暗号鍵に従って、前記復号化されたデータを暗号化して、前記第2のデータボリュームに格納することを特徴とする請求項記載のストレージシステム。
  9. 前記第2のコントローラは、
    前記第1のストレージ装置にリモートコピー要求を送信し、
    前記第1のコントローラは、前記リモートコピー要求に基づいて、前記復号化された更新ログを前記第2のストレージ装置に送信することを特徴とする請求項7又は8に記載のストレージシステム。
  10. 前記ストレージシステムは、前記第2のストレージ装置に接続された管理装置をさらに備え、
    前記第2のコントローラは、
    前記管理装置から前記第1のジャーナルボリュームに対する暗号鍵更新要求を受け付けた場合に、新たなジャーナルボリュームを確保して、前記新たなジャーナルボリュームに対する新たな暗号鍵を生成することを特徴とする請求項7から9のうちのいずれか1項に記載のストレージシステム。
  11. 前記第2のコントローラは、
    前記第2のジャーナルボリュームに対する暗号鍵更新状態を管理する第2の暗号鍵更新管理テーブルをさらに備え、
    前記暗号鍵更新要求に基づいて、前記第1の暗号鍵更新管理テーブルにおける前記第1のジャーナルボリュームに対する暗号鍵更新状態を更新することを特徴とする請求項7から10のうちのいずれか1項に記載のストレージシステム。
  12. 前記第1のコントローラは、
    前記暗号鍵更新要求に基づいて確保された前記新たなジャーナルボリューム及び前記新たなジャーナルボリュームに対する新たな暗号鍵を、前記第2の暗号管理テーブルに登録することを特徴とする請求項7から11のうちのいずれか1項に記載のストレージシステム。
  13. 前記第2のコントローラは、
    所定のジャーナルボリュームにおける更新ログの格納位置及び読み出し位置を管理する第2のジャーナルボリューム管理テーブルを備え、
    前記第2のジャーナルボリューム管理テーブルに従って、前記送信された更新ログを前記第2のジャーナルボリューム又は前記新たなジャーナルボリュームのいずれかの領域に格納することを特徴とする請求項1記載のストレージシステム。
  14. ホスト装置に接続された第1のストレージ装置と、前記第1のストレージ装置に接続された第2のストレージ装置と、を備えたストレージシステムにおけるデータの管理方法であって、
    前記第1のストレージ装置は、第1のコントローラと、第1のデータボリューム及び第1のジャーナルボリュームが形成された第1のディスクドライブとを有し、
    前記第1のコントローラは、前記第1のデータボリューム及び前記第1のジャーナルボリュームのそれぞれについての暗号化状態及び暗号鍵を管理する第1の暗号管理テーブルを有し、
    前記第1のコントローラが、前記ホスト装置から書き込み要求を受け付けた場合に、前記書き込み要求に従うデータに基づいて更新ログを作成するステップと、
    前記第1のコントローラが、前記第1の暗号管理テーブルで管理される前記第1のジャーナルボリュームについての暗号化状態及び暗号鍵に従い、該作成した更新ログを暗号化して、前記第1のジャーナルボリュームに格納するステップと、
    前記第1のコントローラが、前記第1の暗号管理テーブルで管理される前記第1のジャーナルボリュームについての暗号化状態及び暗号鍵に従って暗号化され前記第1のジャーナルボリュームに格納された更新ログを、順次に、復号化し、該復号化した更新ログを前記第2のストレージ装置に送信するステップと、
    前記第1のコントローラが、前記第1のストレージ装置に接続された管理装置から前記第1のジャーナルボリュームに対する暗号鍵更新要求を受け付けた場合に、新たなジャーナルボリュームを確保して、前記新たなジャーナルボリュームに対する新たな暗号鍵を生成するステップと、
    前記第1のコントローラが、該暗号鍵更新要求受付後に前記ホスト装置から受け付けた書き込み要求に従うデータに基づいて作成した更新ログを、前記新たな暗号鍵で暗号化して前記新たなジャーナルボリュームに格納するステップと、を含むことを特徴とするストレージシステムにおけるデータの管理方法
  15. 前記第2のストレージ装置に設けられた第2のコントローラが、第2のディスクドライブに、前記第1のデータボリュームとペア関係が定義された第2のデータボリューム及び第2のジャーナルボリュームを形成するステップと、
    前記第2のコントローラが、前記第2のデータボリューム及び前記第2のジャーナルボリュームのそれぞれについての暗号化状態及び暗号鍵を管理する第2の暗号管理テーブルに従い、前記第1のコントローラから送信された更新ログを、該送信された更新ログを暗号化して、前記第2のジャーナルボリュームに格納するステップと、をさらに含むことを特徴とする請求項1記載のストレージシステムにおけるデータの管理方法
  16. ホスト装置に接続された第1のストレージ装置と、
    前記第1のストレージ装置に接続された第2のストレージ装置と、を備えたストレージシステムであって、
    前記第1のストレージ装置は、
    第1のコントローラと、
    前記第1のコントローラによって制御される、第1のデータボリューム及び第1のジャーナルボリュームを形成した、第1のディスクドライブと、を備え、
    前記第1のコントローラは、
    前記第1のデータボリューム及び前記第1のジャーナルボリュームのそれぞれについての暗号化状態及び暗号鍵を管理する第1の暗号管理テーブルを備え、
    前記ホスト装置から書き込み要求を受け付けた場合に、前記書き込み要求に従うデータに基づいて更新ログを作成し、前記第1の暗号管理テーブルで管理される前記第1のジャーナルボリュームに対する暗号化状態及び暗号鍵に従って、該作成した更新ログを暗号化して、該暗号化された更新ログを前記第1のジャーナルボリュームの領域に、順次に、格納し、
    前記第1のジャーナルボリュームに格納された前記暗号化された更新ログを、順次に、読み出して復号化し、該復号化した更新ログを前記第2のストレージ装置に送信し、
    前記第1のジャーナルボリュームについての暗号鍵更新状態を管理する第1の暗号鍵更新管理テーブルをさらに備え、
    前記暗号鍵更新要求に基づいて新たな暗号鍵を生成し、
    前記第1の暗号鍵更新管理テーブルにおける前記第1のジャーナルボリュームに対する暗号鍵更新状態をONに更新し、
    該暗号鍵更新要求受付後に前記ホスト装置から受け付けた書き込み要求に従うデータに基づいて作成した更新ログを、前記新たな暗号鍵で暗号化して前記第1のジャーナルボリュームに格納することを特徴とするストレージシステム。
  17. 記第1のコントローラは、
    記暗号鍵更新要求を受け付けた場合に、新たな暗号鍵を生成し、該生成した新たな暗号鍵を前記暗号管理テーブルに登録するとともに、前記第1のジャーナルボリュームの所定の領域を示す切り替えポインタを前記第1の暗号鍵更新管理テーブルに登録することを特徴とする請求項16記載のストレージシステム。
  18. 前記第1のコントローラは、
    前記第1の暗号鍵更新管理テーブルにおける前記第1のジャーナルボリュームに対する暗号鍵更新状態がOFFで、かつ、前記暗号管理テーブルにおける前記第1のジャーナルボリュームに対する暗号化状態がONである場合には、新たな暗号鍵で前記第1のジャーナルボリュームに格納された前記更新ログを復号化し、該復号化した更新ログを前記第2のストレージ装置に送信することを特徴とする請求項16又は17に記載のストレージシステム。
JP2007230537A 2007-04-18 2007-09-05 ストレージ装置及びデータの管理方法 Expired - Fee Related JP4964714B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007230537A JP4964714B2 (ja) 2007-09-05 2007-09-05 ストレージ装置及びデータの管理方法
US12/010,056 US8098824B2 (en) 2007-09-05 2008-01-18 Storage apparatus and data management method
EP08250358A EP1983462A3 (en) 2007-04-18 2008-01-30 Storage apparatus and data management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007230537A JP4964714B2 (ja) 2007-09-05 2007-09-05 ストレージ装置及びデータの管理方法

Publications (2)

Publication Number Publication Date
JP2009064178A JP2009064178A (ja) 2009-03-26
JP4964714B2 true JP4964714B2 (ja) 2012-07-04

Family

ID=40407502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007230537A Expired - Fee Related JP4964714B2 (ja) 2007-04-18 2007-09-05 ストレージ装置及びデータの管理方法

Country Status (2)

Country Link
US (1) US8098824B2 (ja)
JP (1) JP4964714B2 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010220019A (ja) * 2009-03-18 2010-09-30 Panasonic Corp 鍵管理方法および鍵管理装置
US8423734B2 (en) * 2010-04-23 2013-04-16 International Business Machines Corporation Making automated use of data volume copy service targets
JP6183876B2 (ja) * 2012-03-30 2017-08-23 日本電気株式会社 レプリケーション装置、レプリケーション方法及びプログラム
JP5959917B2 (ja) * 2012-04-24 2016-08-02 日本電産サンキョー株式会社 履歴情報管理装置及び履歴情報の管理方法
US10084818B1 (en) 2012-06-07 2018-09-25 Amazon Technologies, Inc. Flexibly configurable data modification services
US10075471B2 (en) 2012-06-07 2018-09-11 Amazon Technologies, Inc. Data loss prevention techniques
US9286491B2 (en) 2012-06-07 2016-03-15 Amazon Technologies, Inc. Virtual service provider zones
US9369278B2 (en) * 2013-03-22 2016-06-14 Hitachi, Ltd. Method for maintenance or exchange of encryption function in storage system and storage device
WO2015010327A1 (zh) * 2013-07-26 2015-01-29 华为技术有限公司 数据发送方法、数据接收方法和存储设备
US9218142B2 (en) * 2013-08-22 2015-12-22 International Business Machines Corporation Log data store that stores data across a plurality of storage devices using non-disjoint layers
WO2015118630A1 (ja) * 2014-02-05 2015-08-13 株式会社日立製作所 ストレージシステムおよびストレージシステム用キャッシュ制御装置
JP6095012B2 (ja) 2014-11-26 2017-03-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation メタ情報書込方法、メタ情報読出方法、ファイル管理システム、コンピュータ・システム、プログラムおよびデータ構造
US9858427B2 (en) * 2016-02-26 2018-01-02 International Business Machines Corporation End-to-end encryption and backup in data protection environments
KR102652293B1 (ko) * 2016-03-03 2024-03-29 에스케이하이닉스 주식회사 메모리 관리방법
US11088832B2 (en) * 2020-01-09 2021-08-10 Western Digital Technologies, Inc. Secure logging of data storage device events
KR102346601B1 (ko) 2020-02-26 2022-01-03 성균관대학교산학협력단 운영체제 내 쓰기 순서 보장이 필요한 여러 쓰기 입출력의 처리 속도 향상 방법
US11349647B2 (en) * 2020-06-03 2022-05-31 Capital One Services, Llc Key broker for a network monitoring device, and applications thereof
US11483141B2 (en) * 2020-06-03 2022-10-25 Capital One Services, Llc Key broker for a network monitoring device, and applications thereof
WO2022085243A1 (ja) * 2020-10-22 2022-04-28 住友電気工業株式会社 車載装置、暗号化通信方法および暗号化通信プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004166153A (ja) * 2002-11-15 2004-06-10 Nec Corp マルチキャスト配信システムにおける鍵交換方式
US7702904B2 (en) * 2002-11-15 2010-04-20 Nec Corporation Key management system and multicast delivery system using the same
JP4124348B2 (ja) * 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
US7130975B2 (en) 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
US7162647B2 (en) * 2004-03-11 2007-01-09 Hitachi, Ltd. Method and apparatus for cryptographic conversion in a data storage system
JP2007172463A (ja) * 2005-12-26 2007-07-05 Hitachi Electronics Service Co Ltd 操作ログ保存システム、外部媒体及び操作ログ保存方法
US7734669B2 (en) * 2006-12-22 2010-06-08 Commvault Systems, Inc. Managing copies of data

Also Published As

Publication number Publication date
JP2009064178A (ja) 2009-03-26
US8098824B2 (en) 2012-01-17
US20090060195A1 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
JP4964714B2 (ja) ストレージ装置及びデータの管理方法
US9740880B1 (en) Encrypted virtual machines in a cloud
US20090172417A1 (en) Key management method for remote copying
US9722788B1 (en) Rekeying encrypted virtual machines in a cloud
US9749300B1 (en) Method and system for immediate recovery of virtual machines encrypted in the cloud
US10146961B1 (en) Encrypting replication journals in a storage system
US9792450B2 (en) Preserving redundancy in data deduplication systems by encryption
US6966001B2 (en) Computing system and data decryption method and computer system with remote copy facility
US7240197B1 (en) Method and apparatus for encryption and decryption in remote data storage systems
US7587564B2 (en) System, method and computer program product for managing data versions
KR101055918B1 (ko) 패일오버에 따른 캐시 데이터의 보존
US8631203B2 (en) Management of external memory functioning as virtual cache
US9075534B2 (en) Computer system and its data control method
AU2016203740B2 (en) Simultaneous state-based cryptographic splitting in a secure storage appliance
US8170213B1 (en) Methodology for coordinating centralized key management and encryption keys cached through proxied elements
US20100306174A1 (en) Method and apparatus for block based volume backup
JP2007507030A (ja) データを同期させるための方法、システム及びプログラム
JP2008234052A (ja) ストレージ装置
JP2008108039A (ja) 暗号化機能を備えたストレージサブシステム
US20100169661A1 (en) Simultaneous state-based cryptographic splitting in a secure storage appliance
JP2009048497A (ja) 論理ボリュームのペアを利用したデータ保存の方式を変更する機能を備えたストレージシステム
JP2012198711A (ja) ストレージシステム、ストレージ制御装置およびストレージ制御方法
JP2005135405A (ja) リモートミラーキャッシュ内の論理オブジェクトの完全性を保つシステム
JP6133396B2 (ja) 計算機システム、サーバ、及び、データ管理方法
JP2010009306A (ja) ストレージ装置及びストレージ装置のデータ処理方法

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20081222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120209

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120228

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120328

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees