(57)【要約】【課題】ディスク装置の盗難や持ち出しなどによるデータ漏えいを防止することのできるストレージ装置及びストレージ装置のデータ処理方法を提供する。【解決手段】それぞれが少なくとも１つのＲＡＩＤグループを構成するＨＤＤ５０に接続される複数のディスクアダプタ４０と、複数のＨＤＤ５０が提供する記憶領域を複数の論理記憶領域に分割して管理するとともに、複数のＲＡＩＤグループを管理するＳＶＰ２２とを備え、ＳＶＰは、ＲＡＩＤグループに属するＨＤＤ５０に接続されるディスクアダプタ４０が全て暗号化アダプタであるときに、ＲＡＩＤグループに対しデータを暗号化するか否かを示す暗号化状態を設定し、暗号化アダプタは、ＲＡＩＤグループに設定された暗号化状態に基づいて、データを暗号化してＨＤＤに格納する。【選択図】図１
2010033319.tif 000002
【特許請求の範囲】
【請求項１】
複数のディスク装置にデータを格納するストレージ装置において、
それぞれが、少なくとも１つのＲＡＩＤグループを構成する複数の前記ディスク装置に接続される複数のアダプタと、
前記複数のディスク装置が提供する記憶領域を複数の論理記憶領域に分割して管理するとともに、複数の前記ＲＡＩＤグループを管理する管理部とを備え、
前記複数のディスク装置は、それぞれ前記ディスク装置単位に前記ＲＡＩＤグループを構成しており、
前記複数のアダプタの少なくとも１つは、前記データを暗号化可能な暗号化アダプタであり、
前記管理部は、
前記ＲＡＩＤグループに属する前記ディスク装置に接続される前記アダプタが、全て前記暗号化アダプタであるときに、該ＲＡＩＤグループに対し、前記データを暗号化するか否かを示す暗号化状態を設定し、
前記暗号化アダプタは、
前記データの格納先となる前記ディスク装置が属する前記ＲＡＩＤグループに設定された前記暗号化状態に基づいて、該データを暗号化して該ディスク装置に格納する
ことを特徴とするストレージ装置。
【請求項２】
前記管理部は、
前記ＲＡＩＤグループに設定された前記暗号化状態に基づいて、該ＲＡＩＤグループに対応する前記論理記憶領域の前記暗号化状態を表示する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項３】
前記暗号化アダプタは、
不揮発性メモリを有し、
前記データを暗号化する際に用いられるデータ暗号鍵を前記不揮発性メモリにバックアップする
ことを特徴とする請求項１に記載のストレージ装置。
【請求項４】
前記暗号化アダプタを複数備え、
前記各暗号化アダプタは、
前記各不揮発性メモリにバックアップされた複数の前記データ暗号鍵のうちの１つを用いて前記データを暗号化する
ことを特徴とする請求項３に記載のストレージ装置。
【請求項５】
外部記憶装置が接続されており、
前記管理部は、
前記暗号化アダプタにおいて前記データを暗号化する際に用いられるデータ暗号鍵を前記外部記憶装置にバックアップする
ことを特徴とする請求項１に記載のストレージ装置。
【請求項６】
前記管理部は、
前記データ暗号鍵と、前記データ暗号鍵に対応するハッシュ値及び前記外部装置の識別情報のうち少なくとも一方を含む付加情報とを前記外部装置にバックアップする
ことを特徴とする請求項５に記載のストレージ装置。
【請求項７】
前記暗号化アダプタは、前記外部記憶装置から前記データ暗号鍵を受信したときに、受信した前記データ暗号鍵を用いて前記データを暗号化する
ことを特徴とする請求項５に記載のストレージ装置。
【請求項８】
前記付加情報を記憶する付加情報記憶部を備え、
前記暗号化アダプタは、
前記外部記憶装置から前記データ暗号鍵と前記付加情報とを受信したとき、前記付加情報記憶部に記憶された前記付加情報と受信された前記付加情報とが一致する場合に、受信した前記データ暗号鍵を用いて前記データを暗号化する
ことを特徴とする請求項６に記載のストレージ装置。
【請求項９】
前記管理部は、
複数の前記論理記憶領域を結合するとき、該複数の論理記憶領域に対応する前記ＲＡＩＤグループに設定された前記暗号化状態が全て同一である場合に、該複数の前記論理記憶領域を結合する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項１０】
前記管理部は、
前記暗号化アダプタを前記アダプタに交換するとき、該暗号化アダプタに接続される前記所定のディスク装置が属する前記ＲＡＩＤグループに設定された前記暗号化状態が、全て前記データを暗号化しない場合に、該暗号化アダプタを前記アダプタに交換する
ことを特徴とする請求項１に記載のストレージ装置。
【請求項１１】
複数のディスク装置にデータを格納するストレージ装置におけるデータ処理方法において、
前記ストレージ装置は、それぞれが、少なくとも１つのＲＡＩＤグループを構成する複数の前記ディスク装置に接続される複数のアダプタと、前記複数のディスク装置が提供する記憶領域を複数の論理記憶領域に分割して管理するとともに、複数の前記ＲＡＩＤグループを管理する管理部とを有し、前記複数のディスク装置は、それぞれ前記ディスク装置単位に前記ＲＡＩＤグループを構成しており、前記複数のアダプタの少なくとも１つは、前記データを暗号化可能な暗号化アダプタであり、
前記管理部が、前記ＲＡＩＤグループに属する前記ディスク装置に接続される前記アダプタが、全て前記暗号化アダプタであるときに、該ＲＡＩＤグループに対し、前記データを暗号化するか否かを示す暗号化状態を設定する第１ステップと、
前記暗号化アダプタが、前記データの格納先となる前記ディスク装置が属する前記ＲＡＩＤグループに設定された前記暗号化状態に基づいて、該データを暗号化して該ディスク装置に格納する第２ステップとを備える
ことを特徴とするストレージ装置におけるデータ処理方法。
【請求項１２】
前記第１ステップの後に、前記管理部が、前記ＲＡＩＤグループに設定された前記暗号化状態に基づいて、該ＲＡＩＤグループに対応する前記論理記憶領域の前記暗号化状態を表示する第３ステップをさらに備える
ことを特徴とする請求項１１に記載のストレージ装置におけるデータ処理方法。
【請求項１３】
前記暗号化アダプタは、不揮発性メモリを有し、
前記第２ステップの前に、前記暗号化アダプタが、前記データを暗号化する際に用いられるデータ暗号鍵を前記不揮発性メモリにバックアップする第４ステップをさらに備える
ことを特徴とする請求項１１に記載のストレージ装置におけるデータ処理方法。
【請求項１４】
前記ストレージ装置は、外部記憶装置が接続されており、
前記第２ステップの前に、前記管理部が、前記暗号化アダプタにおいて前記データを暗号化する際に用いられるデータ暗号鍵を前記外部記憶装置にバックアップする第５ステップをさらに備える
ことを特徴とする請求項１１に記載のストレージ装置におけるデータ処理方法。
【請求項１５】
前記第１ステップの後に、前記管理部が、複数の前記論理記憶領域を結合するとき、該複数の論理記憶領域に対応する前記ＲＡＩＤグループに設定された前記暗号化状態が全て同一である場合に、該複数の前記論理記憶領域を結合する第６ステップをさらに備える
ことを特徴とする請求項１１に記載のストレージ装置におけるデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のディスク装置にデータを格納するストレージ装置及びストレージ装置のデータ処理方法に関する。
【背景技術】
【０００２】
従来、この種のストレージシステムとして、サーバとの間でデータ通信が可能なストレージシステムにおいて、サーバとのインターフェースを有するチャネルＩＦ部を備え、チャネルＩＦ部内に、サーバに送信するデータを暗号化し、サーバより受信したデータを復号化する暗号処理部を設ける構成としたストレージシステムが知られている（特許文献１参照）。
【特許文献１】特開２００５−３２２２０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
一方、従来のストレージシステムにおける暗号化処理では、データを格納する装置、例えばハードディスク（以下、ＨＤＤという）を仮想的に複数に分割した論理デバイス（以下、ＬＤＥＶ（Logical Device）という）単位で暗号化するか否かを設定していた。そのため、ＨＤＤ内に暗号化領域と非暗号化領域とが混在することとなり、ＨＤＤが盗難されたり、持ち出されたりする場合に、非暗号化領域のデータが漏えいするおそれがあった。
【０００４】
本発明はこのような問題に鑑みてなされたものであり、ディスク装置の盗難や持ち出しなどによるデータ漏えいを防止することのできるストレージ装置及びストレージ装置のデータ処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明は前述の目的を達成するために、複数のディスク装置にデータを格納するストレージ装置において、それぞれが、少なくとも１つのＲＡＩＤグループを構成する複数の前記ディスク装置に接続される複数のアダプタと、前記複数のディスク装置が提供する記憶領域を複数の論理記憶領域に分割して管理するとともに、複数の前記ＲＡＩＤグループを管理する管理部とを備え、前記複数のディスク装置は、それぞれ前記ディスク装置単位に前記ＲＡＩＤグループを構成しており、前記複数のアダプタの少なくとも１つは、前記データを暗号化可能な暗号化アダプタであり、前記管理部は、前記ＲＡＩＤグループに属する前記ディスク装置に接続される前記アダプタが、全て前記暗号化アダプタであるときに、該ＲＡＩＤグループに対し、前記データを暗号化するか否かを示す暗号化状態を設定し、前記暗号化アダプタは、前記データの格納先となる前記ディスク装置が属する前記ＲＡＩＤグループに設定された前記暗号化状態に基づいて、該データを暗号化して該ディスク装置に格納するストレージ装置を提案する。
【０００６】
このストレージ装置によれば、ＲＡＩＤグループに対して暗号化状態が設定され、設定された暗号化状態に基づいてデータが暗号化されてディスク装置に格納されるので、ＲＡＩＤグループを構成するディスク装置はデータを暗号化して格納されるか、又はデータを暗号化せずに格納されるかの何れか一方のみとなり、１つのディスク装置内に暗号化されたデータが記憶される暗号化領域と、暗号されないデータが記憶される非暗号化領域とが混在することがない。
【０００７】
好ましくは、前記管理部は、前記ＲＡＩＤグループに設定された前記暗号化状態に基づいて、該ＲＡＩＤグループに対応する前記論理記憶領域の前記暗号化状態を表示する。
【０００８】
このストレージ装置によれば、ＲＡＩＤグループに設定された暗号化状態に基づいて、ＲＡＩＤグループに対応する論理記憶領域の暗号化状態が表示されるので、例えばデータマイグレーションやデータコピーなどの操作を行う際に、管理者は論理記憶領域ごとに暗号化状態を知ることができる。
【０００９】
また、本発明は前述の目的を達成するために、複数のディスク装置にデータを格納するストレージ装置におけるデータ処理方法において、前記ストレージ装置は、それぞれが、少なくとも１つのＲＡＩＤグループを構成する複数の前記ディスク装置に接続される複数のアダプタと、前記複数のディスク装置が提供する記憶領域を複数の論理記憶領域に分割して管理するとともに、複数の前記ＲＡＩＤグループを管理する管理部とを有し、前記複数のディスク装置は、それぞれ前記ディスク装置単位に前記ＲＡＩＤグループを構成しており、前記複数のアダプタの少なくとも１つは、前記データを暗号化可能な暗号化アダプタであり、前記管理部が、前記ＲＡＩＤグループに属する前記ディスク装置に接続される前記アダプタが、全て前記暗号化アダプタであるときに、該ＲＡＩＤグループに対し、前記データを暗号化するか否かを示す暗号化状態を設定する第１ステップと、前記暗号化アダプタが、前記データの格納先となる前記ディスク装置が属する前記ＲＡＩＤグループに設定された前記暗号化状態に基づいて、該データを暗号化して該ディスク装置に格納する第２ステップとを備えるストレージ装置におけるデータ処理方法を提案する。
【００１０】
このストレージ装置におけるデータ処理方法によれば、ＲＡＩＤグループに対して暗号化状態が設定され、設定された暗号化状態に基づいてデータが暗号化されてディスク装置に格納されるので、ＲＡＩＤグループを構成するディスク装置はデータを暗号化して格納されるか、又はデータを暗号化せずに格納されるかの何れか一方のみとなり、１つのディスク装置内に暗号化されたデータが記憶される暗号化領域と、暗号されないデータが記憶される非暗号化領域とが混在することがない。
【００１１】
好ましくは、前記第１ステップの後に、前記管理部が、前記ＲＡＩＤグループに設定された前記暗号化状態に基づいて、該ＲＡＩＤグループに対応する前記論理記憶領域の前記暗号化状態を表示する第３ステップをさらに備える。
【００１２】
このストレージ装置におけるデータ処理方法によれば、ＲＡＩＤグループに設定された暗号化状態に基づいて、ＲＡＩＤグループに対応する論理記憶領域の暗号化状態が表示されるので、例えばデータマイグレーションやデータコピーなどの操作を行う際に、管理者は論理記憶領域ごとに暗号化状態を知ることができる。
【発明の効果】
【００１３】
本発明によれば、ＲＡＩＤグループを構成するディスク装置はデータを暗号化して格納されるか、又はデータを暗号化せずに格納されるかの何れか一方のみとなり、１つのディスク装置内に暗号化されたデータが記憶される暗号化領域と、暗号されないデータが記憶される非暗号化領域とが混在することがない。これにより、ディスク装置の盗難や持ち出しなどによるデータ漏えいを防止することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照しながら本発明の一実施の形態を詳述する。
【００１５】
図１はストレージシステムの構成を説明するブロック図である。図１に示すように、  ストレージシステム１は、複数のホスト計算機１０（１０Ａ，１０Ｂ，１０Ｃ）と、  通信 １１を介して各ホスト計算機１０Ａ〜１０Ｃと接続されるストレージ装置２０  と、ストレージ装置２０と接続される複数のＨＤＤ（Hard Disk Drive）５０とを備  える。
【００１６】
各ホスト計算機１０Ａ〜１０Ｃは、ＣＰＵやメモリなどを備えたコンピュータ装置であり、ストレージ装置２０によって提供される記憶領域を論理的に認識し、この論理記憶領域（以下、論理ボリューム、又はＬＤＥＶという）を利用して、データベースソフトウェアなどの業務アプリケーションプログラムを実行する。なお、ホスト計算機１０は、ストレージ装置２０に対する上位装置の一例である。
【００１７】
通信ネットワーク１１は、ＬＡＮ（Local Area Network）、ＳＡＮ（Storage Area Network）、インターネット、専用回線、公衆回線などによって構成される。ホスト計算機１０とストレージ装置２０との間のデータ通信は、例えばＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）や、ファイバチャネルプロトコルに従って行われる。
【００１８】
ストレージ装置２０は、複数のチャネルアダプタ３０（３０Ａ，３０Ｂ，３０Ｃ）、複数のディスクアダプタ４０（４０Ａ，４０Ｂ，４０Ｃ）、接続部２１、ＳＶＰ（Service Processor）２２、キャッシュメモリ２３及び共有メモリ２４を備えており、ストレージ装置２０は、例えばディスクアレイサブシステムや、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成される。
【００１９】
本実施形態では、ストレージ装置２０は外部に設けられた複数のＨＤＤ５０と接続するようにしたが、これに限定されず、ストレージ装置２０内に複数のＨＤＤを内蔵するようにしてもよい。
【００２０】
各チャネルアダプタ３０Ａ〜３０Ｃは、マイクロプロセッサ（以下、ＭＰという）３１、ローカルメモリ（以下、ＬＭという）３２、及びポート３３などを備えたマイクロコンピュータであり、主としてホスト計算機１０に対するインターフェースとして機能する。ＭＰ３１はホスト計算機１０から送信されるコマンドを処理するマイクロプログラムを実行し、ＬＭ３２はこのマイクロプログラムを記憶する。ポート３３は通信ネットワーク１１を介してホスト計算機１０と接続する。
【００２１】
各ディスクアダプタ４０Ａ〜４０Ｃは、ＭＰ４１、ＬＭ４２及びポート４３などを備えたマイクロコンピュータであり、主として後述のＨＤＤ５０に対するインターフェースとして機能する。ＭＰ４１はポート４３に接続されるＨＤＤ５０を制御するマイクロプログラムを実行し、ＬＭ４２はこのマイクロプログラムなどを記憶する。なお、ＭＰ４１は１つに限定されず、複数備えるようにしてもよい。ポート４３には１つ又は複数のＨＤＤ５０が接続され、ポート４３とＨＤＤ５０との間は、ファイバーチャネルのＦＣ−ＡＬ（Fibre Channel Arbitrated Loop）、ファブリック、又はＳＡＳ（Serial Attached SCSI）などの方式によって接続される。
【００２２】
ディスクアダプタ４０は、ホスト計算機１０から送信された論理アドレス指定によるデータアクセス要求を、物理アドレス指定によるデータアクセス要求に変換する。すなわち、指定された論理記憶領域のアドレスを物理的な記憶領域の物理アドレスに読み替え、当該物理アドレスに対応するＨＤＤ５０の記憶領域に対してデータの読み書きを行う。また、ディスクアダプタ４０は、ＨＤＤ５０のＲＡＩＤ構成に応じたデータアクセスを行う。
【００２３】
各ＨＤＤ５０は、ホスト計算機１０に対して記憶領域を提供するディスク装置であり、複数のＨＤＤ５０は、それぞれＨＤＤ単位にＲＡＩＤ（Redundant Array of Inexpensive Disks）方式のディスクアレイを構成している。
【００２４】
接続部２１は、各チャネルアダプタ３０Ａ〜３０Ｃ、各ディスクアダプタ４０Ａ〜４０Ｃ、ＳＶＰ２２、キャッシュメモリ２３、及び共有メモリ２４を相互に接続する。接続部２１は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバスイッチなどの高速バスで構成される。
【００２５】
ＳＶＰ２２は、ストレージ装置２０の管理及び監視を行うプロセッサであり、複数のＨＤＤ５０が提供する記憶領域を複数の論理記憶領域に分割して管理するとともに、複数のＨＤＤ５０を複数のＲＡＩＤグループに分割して管理する。また、ＳＶＰ２２は、ネットワーク１２を介して外部の管理端末１３が接続されており、ストレージステム１の管理者は、管理端末１３を操作することによりストレージ装置２０の各種設定などを管理することができる。なお、各ディスクアダプタ４０Ａ〜４０Ｃは、それぞれが接続するＨＤＤ５０の状態を随時監視しており、この監視結果が接続部２１を介してＳＶＰ２２に送信される。
【００２６】
ネットワーク１２はＬＡＮなどによって構成され、管理端末１３はＣＰＵやメモリなどを備えたコンピュータ装置である。なお、ネットワーク１２は前述の通信ネットワーク１１と同一のネットワークであってもよい。
【００２７】
キャッシュメモリ２３及び共有メモリ２４は、接続部２１を介して各チャネルアダプタ３０Ａ〜３０Ｃ、各ディスクアダプタ４０Ａ〜４０Ｃ、及びＳＶＰ２２が共用するメモリである。キャッシュメモリ２３は、主としてデータを一時記憶するために利用される。共有メモリ２４は、主として制御情報やコマンドなどを記憶するために利用される。また、共有メモリ２４は、後述のディスクアダプタ管理テーブル２００、ＲＡＩＤグループ管理テーブル３００、暗号化管理テーブル４００、及び外部バックアップ情報テーブル５００を記憶する。
【００２８】
以下の説明では、各ディスクアダプタ４０Ａ〜４０ＣのＭＰ４１は、共有メモリ２４に記憶されたデータを共有メモリ２４に直接アクセスするようにしたが、これに限定されず、共有メモリ２４に記憶されたデータを、各ディスクアダプタ４０Ａ〜４０ＣのＬＭ４２に、定期的に、又は必要に応じてコピーしておき、ＭＰ４１はＬＭ４２にアクセスするようにしてもよい。
【００２９】
ここで、チャネルアダプタ３０及びディスクアダプタ４０の動作の概要について説明する。
【００３０】
例えばチャネルアダプタ３０が、ホスト計算機１０からリードコマンドを受信すると、リードコマンドを共有メモリ２４に格納する。ディスクアダプタ４０は共有メモリ２４を随時参照しており、未処理のリードコマンドを発見すると、ディスクアダプタ４０は、共有メモリ２４に格納されたリードコマンドに従って、ＨＤＤ５０からデータを読み出してキャッシュメモリ２３に格納する。チャネルアダプタ３０は、キャッシュメモリ２３に格納されたデータを読み出し、リードコマンドの発行元のホスト計算機１０に送信する。
【００３１】
また、チャネルアダプタ３０がホスト計算機１０からライトデータ及びライトコマンドを受信すると、ライトコマンドを共有メモリ２４に格納するとともに、ライトデータをキャッシュメモリ２３に格納する。ディスクアダプタ４０は、共有メモリ２４に格納されたライトコマンドに従って、キャッシュメモリ２３に格納された受信データをＨＤＤ５０に格納する。
【００３２】
図２は、図１に示したディスクアダプタの構成を説明するブロック図である。図２に示すように、ディスクアダプタ４０は、前述のＭＰ４１、ＬＭ４２に加え、インターフェース（Ｉ／Ｆ）４５、及びファイバーチャネルアダプターモジュール（以下、ＦＣＡという）６０を備える。ＭＰ４１、ＬＭ４２、インターフェース（Ｉ／Ｆ）４５及びＦＣＡ６０は、内部バス４６を介して相互に接続される。内部バス４６は、ＦＣＡ６０を介して所定のＨＤＤ５０に接続され、インターフェース４３を介して接続部２１に接続される。
【００３３】
ストレージ装置２０が備える複数のディスクアダプタ４０において、少なくとも１つのＦＣＡ６０は、後述する暗号化・複号化回路７０を有する。暗号化・複号化回路７０を備えるディスクアダプタ４０（以下、暗号化ディスクアダプタ４０という）は、内部バス４６に接続されるフラッシュメモリ（以下、ＦＭという）４４を備える。ＦＭ４４は、ＥＥＰＲＯＭ（Electrically Erasable programmable ROM）などから構成される不揮発媒体であり、主として後述の内部変換暗号鍵を記憶するために利用される。
【００３４】
暗号化ディスクアダプタ４０は、キャッシュメモリ２３に格納されたデータを暗号化してＨＤＤ５０に格納することが可能となる。また、暗号化ディスクアダプタ４０は、ＨＤＤ５０に記憶される暗号化されたデータを、複号化してキャッシュメモリ２３に格納することが可能となる。
【００３５】
図３は、図２に示したファイバーチャネルアダプターモジュールの構成を説明するブロック図である。図３に示すように、ＦＣＡ６０は、パラメータ制御部６１、内部コントローラ６２、キャッシュリード制御部６３、キャッシュライト制御部６４、及び複数のインターフェース６５〜６８を備える。パラメータ制御部６１、内部コントローラ６２、キャッシュリード制御部６３、キャッシュライト制御部６４、及び複数のインターフェース６５〜６８は、内部バス６９を介して相互に接続される。内部バス６９は、インターフェース６５及び内部バス４６を介してＭＰ４１に接続され、インターフェース６６及び内部バス４６を介してＬＭ４２に接続され、インターフェース６７を介して所定のＨＤＤ５０に接続され、インターフェース６８及び内部バス４６を介してキャッシュメモリ２３に接続される。
【００３６】
暗号化ディスクアダプタ４０のＦＣＡ６０では、内部バス６９に、さらに、ＦＣＡ６０に暗号化・複号化機能を付加するための暗号化・複号化回路７０が接続される。このように、暗号化・複号化機能を有しない従来のＦＣＡに、暗号化・複号化回路７０を追加することにより、ディスクアダプタを暗号化ディスクアダプタに交換（リプレース）することができる。
【００３７】
暗号化・複号化回路７０は、データ暗号鍵を用いて、キャッシュメモリ２３から入力されＨＤＤ５０に出力する前のデータを暗号化するとともに、ＨＤＤ５０から入力されキャッシュメモリ２３に出力する前のデータを複号化する。このように、例えばホスト計算機１０から送信され、キャッシュメモリ２３に格納されたライトデータが、ディスクアダプタ４０内で暗号化され、ＨＤＤ５０に格納されるので、ホスト計算機１０でライトデータを暗号化する場合と比較して、ホスト計算機１０における業務アプリケーションプログラムへの負荷を低減することができる。また、ホスト計算機１０とストレージ装置２０との間の通信ネットワーク１１でライトデータを暗号化する場合と比較して、ストレージシステム１全体のスループットを向上させることができる。
【００３８】
本実施形態では、データ暗号鍵を用いて暗号化及び復号化するようにしたが、これに限定されず、復号化する際にはデータ暗号鍵と異なるデータ復号鍵を用いるようにしてもよい。
【００３９】
内部コントローラ６２は、ＦＣＡ６０内において、キャッシュメモリ２３とＨＤＤ５０との間でデータを読み書きする動作を制御するためのものである。パラメータ制御部６１は、キャッシュメモリ２３に格納されたリードデータ及びライトデータの物理アドレスに対応するパラメータを、キャッシュリード制御部６４及びキャッシュライト制御部６３に設定するためのものである。
【００４０】
例えば、キャッシュメモリ２３からＨＤＤ５０にデータを書き込む（以下、デステージングという）際に、ＦＣＡ６０の内部コントローラ６２は、ＨＤＤ５０からデータの転送許可情報が入力されると、パラメータ制御部６１に、ＬＭ４２からパラメータを読み出すように指示する。パラメータ制御部６１は、読み出したパラメータをキャッシュリード制御部６４に出力する。
【００４１】
内部コントローラ６２は、キャッシュリード制御部６４に、このパラメータに基づいてキャッシュメモリ２３の目的とするアドレスにあるデータを読み出すように指示する。また、内部コントローラ６２は、キャッシュリード制御部６４に、キャッシュメモリ２３から読み出したデータを暗号化・複号化回路７０に出力するように指示する。
【００４２】
暗号化・複号化回路７０は、入力されたデータに対して所定の方式の暗号化アルゴリズムを実行して暗号化処理を適用し、内部コントローラ６２は、暗号化処理されたデータを、キャッシュリード制御部６４を介してＨＤＤ５０に出力するように指示する。
【００４３】
一方、ＨＤＤ５０から読み出したデータをキャッシュメモリ２３に書き込む（以下、ステージングという）際に、内部コントローラ６２は、暗号化されたデータを暗号化・複号化回路７０において複号化処理した上で、前述の場合と同様に、キャッシュライト制御部６３に、パラメータ制御部６１によってＬＭ４２から読み出されたパラメータに基づいて、復号化されたデータをキャッシュメモリ２３のアドレスに出力するように指示する。
【００４４】
図４は、図１に示したディスクアダプタ及びＨＤＤの接続例を説明するブロック図である。図４に示すように、各ディスクアダプタ４０Ａ〜４０Ｄは、例えばファイバーチャネルのＦＣ−ＡＬ６００によって複数のＨＤＤ５０と接続される。
【００４５】
各ディスクアダプタ４０Ａ〜４０Ｄは４つのポート４３を有する。例えばＨＤＤ（００〜０９）５０は、１つのＦＣ−ＡＬ６００ループによって、ポート（０）４３を介して一対のディスクアダプタ４０Ａ、４０Ｂの両方に接続される。これにより、ディスクアダプタとＨＤＤとの接続に関して冗長化が実現される。他のＨＤＤ（１０〜７９）５０も、これと同様に、一対のディスクアダプタの両方に接続されることにより、ディスクアダプタとＨＤＤとの接続に関して冗長化が実現される。
【００４６】
また図４において、例えばＲＡＩＤグループ（ＲＧ１）は、４つのＨＤＤ（００，１０，２０，３０）５０によって構成され、ＲＡＩＤグループ（ＲＧ２）は、８つのＨＤＤ（０３，１３，２３，３３，４３，５３，６３，７３）によって構成されている。すなわち、ディスクアダプタ４０Ａ、４０ＢにはＲＡＩＤグループ（ＲＧ１）及びＲＡＩＤグループ（ＲＧ２）の２つが対応し、ディスクアダプタ４０Ｃ、４０ＤにはＲＡＩＤグループ（ＲＧ２）の１つが対応する。このように、１つのディスクアダプタ４０は、少なくとも１つのＲＡＩＤグループに属する。
【００４７】
さらに、ＲＡＩＤグループに対応するディスクアダプタ４０の数は、ＲＡＩＤグループのＲＡＩＤ構成、すなわちＲＡＩＤグループを構成するＨＤＤ５０の数によって決まる。例えばＲＡＩＤグループ（ＲＧ１）のように４つのＨＤＤ５０から構成される場合は、対応するディスクアダプタはディスクアダプタ４０Ａ、４０Ｂの２つであり、ＲＡＩＤグループ（ＲＧ２）のように８つのＨＤＤ５０から構成される場合は、対応するディスクアダプタはディスクアダプタ４０Ａ〜４０Ｄの４つである。このように、１つのＲＡＩＤグループに、少なくとも１つのディスクアダプタ４０が属する。
【００４８】
図５は、図１に示したストレージ装置の記憶構造を説明するブロック図である。図５は、ストレージ装置２０にある複数のチャネルアダプタの何れかのチャネルアダプタに関連するブロック図であるとして説明する。
【００４９】
チャネルアダプタ３０のポート３３には、図１に示したように通信ネットワーク１１を介してホスト計算機１０が接続される。ホスト計算機１０からデータを受信するときに、チャネルアダプタ３０のポート３３はターゲットポートとして機能する。
【００５０】
ＬＵ（Logical Unit）１０１、１０２は、ライトコマンドやリードコマンドなどのＩ／Ｏコマンドを実行するＳＣＳＩターゲット内のエンティティであって、各ＬＵ１０１、１０２はポート３３を介してホスト計算機１０にマッピングされる。ホスト計算機１０は、複数あるＬＵのそれぞれを認識して、かつ、各ＬＵを区別して、目的とするＬＵに対してＩ／Ｏコマンドを発行する。
【００５１】
各ＰＤＥＶ（Physical Device）１１１、１１２は、ＨＤＤ５０のそれぞれに対応する。ＰＤＥＶの物理的な記憶領域とＬＵの論理的な記憶領域とを対応させる論理的記憶階層は、例えば複数の階層から構成される。
【００５２】
１つの論理的階層はＲＡＩＤグループに相当するＶＤＥＶ（Virtual Device）１２１、１２２であり、他の１つの論理的階層はＬＤＥＶ（Logical Device）１３１，１３２である。なお、図５の矢印は、矢印元の下位の階層が矢印先の上位の階層に属することを示している。
【００５３】
１つのＶＤＥＶは、ＲＡＩＤグループを構成する複数のＨＤＤ５０、すなわち複数のＰＤＥＶで構成される。ＬＤＥＶは、各ＶＥＤＶの下位の階層に設定され、例えばＶＤＥＶを固定長で分割することにより定義される。図５では、ＬＤＥＶ１４１はＶＤＥＶ１３１に、ＬＤＥＶ１４２はＶＤＥＶ１３２に、それぞれ対応付けられている。
【００５４】
なお、ホスト計算機１０がオープン系のものである場合、ＬＤＥＶはＬＵにマッピングされ、ホスト計算機１０はＬＵＮ（Logical Unit Number）と論理ブロックアドレスを指定又は特定することにより、所望のＬＤＥＶにアクセスする。図５では、ＬＤＥＶ１４１はＬＵ１０１に、ＬＤＥＶ１４２はＬＵ１０２に、それぞれマッピングされている。また、ホスト計算機１０がメインフレーム系のものである場合、ホスト計算機１０はＬＤＥＶを直接認識する。
【００５５】
各ＬＵは、少なくとも１つのＬＤＥＶを結合することができ、１つのＬＵに複数のＬＤＥＶを関連付けることにより、ＬＵの記憶領域を仮想的に拡張することができる。
【００５６】
ポート−ＬＵ−ＬＤＥＶ−ＶＤＥＶ−ＰＤＥＶ間の対応関係は、例えばネットワーク１２を介してＳＶＰ２２に接続する管理端末１３によって作成される。この対応関係は、例えば後述のＲＡＩＤグループ管理テーブル３００、暗号化管理テーブル４００として、ＳＶＰ２２によって共有メモリ２４に登録される。
【００５７】
次に、図６乃至図９を参照しながら共有メモリ２４に記憶されるテーブルについて説明する。
【００５８】
図６は、図１に示したディススクアダプタ管理テーブルの一例を説明する構成図である。ディススクアダプタ管理テーブル２００は、ストレージシステム１に備わるディスクアダプタ４０を管理するためのものである。アダプタ管理テーブル２００は、例えば後述のディスクアダプタ登録処理Ｓ１００によって各行（レコード）が登録される。また、ディススクアダプタ管理テーブル２００は、ＤＫＡ−ＩＤ欄２００Ａ及びＤＫＡ種別欄２００Ｂから構成される。
【００５９】
ＤＫＡ−ＩＤ欄２００Ａには、ストレージシステム１内でディスクアダプタ４０を一意に識別可能な識別子、例えばディスクアダプタ番号が格納される。ＤＫＡ種別欄２００Ｂには、ＤＫＡ−ＩＤ欄２００Ａに格納された識別子に対応するディスクアダプタ４０の種別、例えば暗号化・復号化回路７０を備えることを示す「暗号化対応」、又は暗号化・復号化回路７０を備えないことを示す「暗号化非対応」が格納される。
【００６０】
図７は、図１に示したＲＡＩＤグループ管理テーブルの一例を説明する構成図である。ＲＡＩＤグループ管理テーブル３００は、複数のＨＤＤ５０によって構成されるＲＡＩＤグループを管理するためのものである。ＲＡＩＤグループ管理テーブル３００は、ＲＧ−ＩＤ欄３００Ａ、ＲＧ構成欄３００Ｂ、及びＤＫＡ−ＩＤ欄３００Ｃから構成される。
【００６１】
ＲＧ−ＩＤ欄３００Ａには、ストレージシステム１内でＲＡＩＤグループを一意に識別可能な識別子、例えばＲＡＩＤグループ番号が格納される。ＲＧ構成欄３００Ｂには、ＲＧ−ＩＤ欄３００Ａに格納された識別子に対応するＲＡＩＤグループの構成種類、例えば「３Ｄ＋１Ｐ」、「２Ｄ＋２Ｄ」、「７Ｄ＋１Ｐ」などが格納される。ＤＫＡ−ＩＤ欄３００Ｃには、ＲＧ−ＩＤ欄３００Ａに格納されたＲＡＩＤグループ番号（識別子）を有するＲＡＩＤグループに属するディスクアダプタ４０について、ディスクアダプタ番号（識別子）が少なくとも１つ格納される。
【００６２】
図８は、図１に示した暗号化管理テーブルの一例を説明する構成図である。暗号化管理テーブル４００は、ＨＤＤ５０に書き込むデータを暗号化するか否かを管理するためのものである。アダプタ管理テーブル２００は、例えば後述の暗号化設定処理Ｓ６００によって各行（レコード）が登録される。また、暗号化管理テーブル４００は、ＲＧ−ＩＤ欄４００Ａ、暗号化設定欄４００Ｂ、及びＬＤＥＶ−ＩＤ欄４００Ｃから構成される。
【００６３】
ＲＧ−ＩＤ欄４００Ａには、ストレージシステム１内でＲＡＩＤグループを一意に識別可能な識別子、例えばＲＡＩＤグループ番号が格納される。暗号化設定欄４００Ｂには、ＲＧ−ＩＤ欄４００Ａに格納された識別子に対応するＲＡＩＤグループに対して、データを暗号化するか否かを示す暗号化状態、例えばデータを暗号化することを示す「ＯＮ」、又はデータを暗号化しないことを示す「ＯＦＦ」が格納される。ＬＤＥＶ−ＩＤ欄４００Ｃには、ＲＧ−ＩＤ欄４００Ａに格納されたＲＡＩＤグループ番号（識別子）を有するＲＡＩＤグループに対応するＬＤＥＶについて、ストレージシステム１内でＬＤＥＶを一意に識別可能な識別子、例えばＬＤＥＶ番号が複数格納される。なお、以下の説明において、データを暗号化することが設定される（又は設定されている）ことを、単に暗号化が設定される（又は設定されている）といい、データを暗号化しないことが設定される（又は設定されている）ことを、単に暗号化が設定されない（又は設定されていない）という。
【００６４】
図９は、図１に示した外部バックアップ情報テーブルの一例を説明する構成図である。外部バックアップ情報テーブル５００は、外部装置にバックアップされるデータ暗号鍵を含むバックアップファイルを記憶するためのものである。外部バックアップ情報テーブル５００は、例えば後述の外部バックアップ処理Ｓ３００によって各行（レコード）が登録される。また、外部バックアップ情報テーブル５００は装置製番欄５００Ａ、外部変換暗号鍵欄５００Ｂ、及びハッシュ値欄５００Ｃから構成される。
【００６５】
装置製番欄５００Ａには、データ暗号鍵のバックアップ先となる外部装置の製造番号、例えば管理端末１３の製造番号が格納される。外部変換暗号鍵欄５００Ｂには、データ暗号鍵から生成される後述の外部変換暗号鍵が格納される。ハッシュ値欄５００Ｃには、外部変換暗号鍵欄５００Ｂに格納される外部変換暗号鍵に対応するハッシュ値が格納される。
【００６６】
本実施形態では、ストレージ装置２０内に暗号化ディスクアダプタ４０が複数存在する場合でも、各暗号化ディスクアダプタ４０で１つのデータ暗号鍵を共通して用いるようにするが、これに限定されず、暗号化ディスクアダプタ４０ごとに異なるデータ暗号鍵を用いるようにしてもよいし、ストレージ装置２０を複数のパーティションに分割して使用し、パーティションごとに異なるデータ暗号鍵を用いるようにしてもよい。かかる場合には、外部バックアップ情報テーブル５００は複数の行（レコード）が登録される。
【００６７】
次に、図１０乃至図２３を参照しながらストレージ装置２０の動作について説明する。
【００６８】
図１０は、図１に示したディスクアダプタを登録する動作を説明するフローチャートである。例えばストレージ装置２０に新たにディスクアダプタ４０が搭載されると、ＳＶＰ２２は図１０に示すディスクアダプタ登録処理Ｓ１００を実行する。
【００６９】
すなわちＳＶＰ２２は、全てのディスクアダプタ４０から所定の情報を収集し、収集された所定の情報に基づいて、新たに搭載されたディスクアダプタ４０にディスクアダプタ番号（識別子）を割り当てる（Ｓ１０１）。次いで、ＳＶＰ２２は、収集された所定の情報に基づいて、新たに搭載されたディスクアダプタ４０が暗号化ディスクアダプタか否かを判定する（Ｓ１０２）。なお、ディスクアダプタ４０が暗号化・復号化回路７０を備える場合に暗号化ディスクアダプタであると判定し、ディスクアダプタ４０が暗号化・復号化回路７０を備えていない場合に暗号化ディスクアダプタでないと判定する。
【００７０】
Ｓ１０２の判定の結果、暗号化ディスクアダプタであるときに、ＳＶＰ２２は、共有メモリ２４に記憶されるディススクアダプタ管理テーブル２００において、Ｓ１０１の処理で割当てたディスクアダプタ番号（識別子）を、ＤＫＡ−ＩＤ欄２００Ａに格納するとともに、「暗号化対応」をＤＫＡ種別欄２００Ｂに格納し（Ｓ１０３）、行（レコード）を登録する。Ｓ１０３の処理後、ＳＶＰ２２はディスクアダプタ登録処理Ｓ１００を終了する。
【００７１】
一方、Ｓ１０２の判定の結果、ディスクアダプタ４０が暗号化対応でないと判定したときに、ＳＶＰ２２は、共有メモリ２４に記憶されるディススクアダプタ管理テーブル２００において、Ｓ１０１の処理で割り当てたディスクアダプタ４０のディスクアダプタ番号（識別子）をＤＫＡ−ＩＤ欄２００Ａに格納するとともに、「暗号化非対応」をＤＫＡ種別欄２００Ｂに格納し（Ｓ１０４）、行（レコード）を追加する。Ｓ１０４の処理後、ＳＶＰ２２はディスクアダプタ登録処理Ｓ１００を終了する。
【００７２】
本実施形態では、ＳＶＰ２２がディスクアダプタ４０のディスクアダプタ番号（識別子）を割り当てるようにしたが、これに限定されず、ディスクアダプタ４０のディスクアダプタ番号（識別子）を管理端末１３から入力するようにしてもよい。また、ディスクアダプタ登録処理Ｓ１００は新たにディスクアダプタ４０が搭載される場合に限定されず、ディスクアダプタ４０の初期登録時、又は既存のディスクアダプタ４０に暗号化・復号化回路７０が付加される場合に実行するようにしてもよい。
【００７３】
図１１は、データ暗号鍵をストレージ装置内にバックアップする動作を説明するフローチャートである。例えばＳＶＰ２２から暗号化対応ディスクアダプタ４０に、前述のデータ暗号鍵の生成要求が入力されると、暗号化対応ディスクアダプタ４０のＭＰ４１は図１１に示す内部バックアップ処理Ｓ２００を実行する。
【００７４】
すなわちＭＰ４１は、乱数発生機能による乱数を発生させ、当該乱数をデータ暗号鍵として生成する（Ｓ２０１）。本実施形態では、乱数発生機能による乱数を用いてデータ暗号鍵を生成したが、これに限定されず、他の方法でデータ暗号鍵を生成してもよい。
【００７５】
次にＭＰ４１は、Ｓ２０１の処理で生成したデータ暗号鍵を、ＬＭ４２に記憶される内部用暗号鍵を用いて暗号化し、内部変換暗号鍵を生成する（Ｓ２０２）。次いでＭＰ４１は、Ｓ２０２の処理で生成した内部変換暗号鍵を共有メモリ２４に格納する（Ｓ２０３）。本実施形態では、安全性を高めるために内部変換暗号鍵を生成して共有メモリ２４に格納したが、これに限定されず、データ暗号鍵をそのまま共有メモリ２４に格納してもよい。
【００７６】
これとともにＭＰ４１は、Ｓ２０２の処理で生成した内部変換暗号鍵を自己の暗号化対応ディスクアダプタ４０内のＦＭ４４に格納する（Ｓ２０４）。これにより、内部変換暗号鍵（データ暗号鍵）がストレージ装置２０内の不揮発媒体にバックアップされる。これにより、共有メモリ２４に格納された内部変換暗号鍵が失われた場合でもＦＭ４４からリストアすることができ、データの暗号化に用いるデータ暗号鍵を安全に管理することができる。
【００７７】
Ｓ２０４の処理後、ＭＰ４１は内部バックアップ処理Ｓ２００を終了する。
【００７８】
図１２は、データ暗号鍵をストレージ装置外にバックアップする動作を説明するフローチャートである。例えば管理端末１３からネットワーク１２を介し、パスワードを指定した、データ暗号鍵の外部バックアップ要求が送信されると、ＳＶＰ２２は受信した外部バックアップ要求を共有メモリ２４に格納する。暗号化ディスクアダプタ４０が共有メモリ２４を参照して未処理の外部バックアップ要求を見つけると、当該暗号化ディスクアダプタ４０のＭＰ４１は図１２に示す外部バックアップ処理Ｓ３００を実行する。
【００７９】
すなわち暗号化ディスクアダプタ４０のＭＰ４１は、共有メモリ２４に記憶された内部変換暗号鍵を取得し（Ｓ３０１）、取得した内部変換暗号鍵をＬＭ４２に記憶される内部用暗号鍵を用いてデータ暗号鍵に復号化する（Ｓ３０２）。
【００８０】
次にＭＰ４１は、指定されたパスワードから外部用暗号鍵を生成し（Ｓ３０３）、Ｓ３０２の処理で復号化したデータ暗号鍵を、Ｓ３０３の処理で生成した外部用暗号鍵を用いて暗号化し、外部変換暗号鍵を生成する（Ｓ３０４）。次いでＭＰ４１は、ハッシュ関数を用いて外部変換暗号鍵に対応するハッシュ値を算出する（Ｓ３０５）。次いでＭＰ４１は、共有メモリ２４に記憶される外部バックアップ情報テーブル５００において、外部バックアップ要求を送信した管理端末１３の製造番号を装置製番欄５００Ａに格納し、Ｓ３０４の処理で生成した外部変換暗号鍵を外部変換暗号鍵欄５００Ｂに格納し、Ｓ３０５の処理で算出したハッシュ値をハッシュ値欄５００Ｃに格納して行（レコード）を登録する（Ｓ３０６）。
【００８１】
次にＭＰ４１は、管理端末１３の製造番号、外部変換暗号鍵、及びハッシュ値を含むバックアップファイルを作成してＳＶＰ２２に出力し（Ｓ３０７）、ＭＰ４１は外部バックアップ処理Ｓ３００を終了する。ＳＶＰ２２に入力されたバックアップファイルは、ネットワーク１２を介して管理端末１３に送信される。これにより、外部変換暗号鍵（データ暗号鍵）がストレージ装置２０外の管理端末１３にバックアップされる。これにより、ストレージ装置２０内の外部変換暗号鍵が失われた場合でも外部の装置である管理端末１３からリストアすることができ、データの暗号化に用いるデータ暗号鍵を安全に管理することができる。
【００８２】
本実施形態では、安全性を高めるために外部変換暗号鍵を生成して外部バックアップ情報テーブル５００に格納するとともに、外部装置にバックアップするようにしたが、これに限定されず、データ暗号鍵をそのまま外部バックアップ情報テーブル５００に格納するとともに、外部装置にバックアップするようにしてもよい。かかる場合には、データ暗号鍵に対応するハッシュ値を算出する。また、安全性を高めるために外部変換暗号鍵に加え、管理端末１３の製造番号及びハッシュ値を外部バックアップ情報テーブル５００に格納するとともに、外部装置にバックアップするようにしたが、これに限定されず、管理端末１３の製造番号及びハッシュ値の両方ともなくてもよいし、何れか一方のみでもよい。
【００８３】
なお、ストレージ装置２０内に暗号化ディスクアダプタ４０が複数存在する場合には、共有メモリ２４を参照して未処理の外部バックアップ要求を見つけた最初の暗号化ディスクアダプタ４０のＭＰ４１が、外部バックアップ処理Ｓ３００を実行すればよい。
【００８４】
図１３は、データ暗号鍵をストレージ装置内からリストアする動作を説明するフローチャートである。一般に、共有メモリ２４は揮発性メモリであるため、バッテリなどを備えない限り、ストレージ装置２０の電源が切断されたり、停電したりすると、共有メモリ２４に記憶していたデータが消失する。そのため、ストレージ装置２０の電源が投入され起動したときに、共有メモリ２４の内部変換暗号鍵が消えているか否かを確認する必要がある。例えばストレージ装置２０が起動されると、暗号化ディスクアダプタ４０のＭＰ４１は図１３に示す内部リストア処理Ｓ４００を実行する。
【００８５】
すなわち暗号化ディスクアダプタ４０のＭＰ４１は、共有メモリ２４を参照して内部変換暗号鍵が消えているか否かを判定する（Ｓ４０１）。なお、共有メモリ２４の内部変換暗号鍵が消えているか否かは、例えばＥＣＣ（Error Check and Correct）回路などを用いてアンコレクタブルエラーが応答されるか否かに基づいて判定する。
【００８６】
Ｓ４０１の判定の結果、内部変換暗号鍵が消えている場合に、ＭＰ４１はＦＭ４２に記憶される内部変換暗号鍵を取得する（Ｓ４０２）。次いでＭＰ４１はＳ４０２で取得した内部変換暗号鍵を共有メモリ２４内の参照用領域に格納する（Ｓ４０３）。なお、ストレージ装置２０内に暗号化ディスクアダプタ４０が複数存在する場合に、Ｓ４０２及びＳ４０３の処理は全ての暗号化ディスクアダプタ４０のＭＰ４１で行う。
【００８７】
次に、何れか１つのディスクアダプタ４０のＭＰ４１は、共有メモリ２４内の参照用領域を参照し、複数の内部変換暗号鍵の中から対象となる内部変換暗号鍵を選出する（Ｓ４０４）。なお、選出方法は、多数決や内部変換暗号鍵の生成時刻が最新のものを選出するなどの方法が用いられる。また、ストレージ装置２０内に暗号化ディスクアダプタ４０が１つしか存在しない場合に、Ｓ４０４の処理は不要となる。
【００８８】
次に、ＭＰ４１はＳ４０４の処理で選出された内部変換暗号鍵を共有メモリ２４に格納する（Ｓ４０５）。これにより、ストレージ装置２０内の内部変換暗号鍵（データ暗号鍵）が共有メモリ２４にリストアされる。
【００８９】
Ｓ４０５の処理後、ＭＰ４１は内部リストア処理Ｓ４００を終了する。
【００９０】
一方、Ｓ４０１の判定の結果、内部変換暗号鍵が記憶されている場合には、内部変換暗号鍵をリストアする必要がないため、ＭＰ４１は何も行わずに内部リストア処理Ｓ４００を終了する。
【００９１】
図１４は、データ暗号鍵をストレージ装置外からリストアする動作を説明するフローチャートである。管理端末１３からネットワーク１２を介し、バックアップファイルと、パスワードを指定した、データ暗号鍵の外部リストア要求とが送信されると、ＳＶＰ２２は受信した外部リストア要求を共有メモリ２４に格納するとともに、バックアップファイルをキャッシュメモリ２３に格納する。暗号化ディスクアダプタ４０が共有メモリ２４を参照して未処理の外部リストア要求を見つけると、当該暗号化ディスクアダプタ４０のＭＰ４１は図１４に示す外部リストア処理Ｓ５００を実行する。
【００９２】
すなわち暗号化ディスクアダプタ４０のＭＰ４１は、指定されたパスワードから外部用暗号鍵を生成する（Ｓ５０１）。次いでＭＰ４１は、キャッシュメモリ２３に記憶されるバックアップファイルに含まれる外部変換暗号鍵を、Ｓ５０１の処理で生成した外部用暗号鍵を用いてデータ暗号鍵に復号化する（Ｓ５０２）。
【００９３】
次にＭＰ４１は、共有メモリ２４に記憶される外部バックアップ情報テーブル５００において、キャッシュメモリ２３に記憶されるバックアップファイルに含まれるハッシュ値と、ハッシュ値欄５００Ｃに格納された値とが一致するか否かを判定する（Ｓ５０３）。これにより、外部変換暗号鍵（データ暗号鍵）の破損を検出することができる。
【００９４】
Ｓ５０３の判定の結果、ハッシュ値が一致する場合に、キャッシュメモリ２３に記憶されるバックアップファイルに含まれる装置製番と装置製番欄５００Ａに格納された製造番号とが一致するか否かを判定する（Ｓ５０４）。これにより、リストア元となる外部装置の誤りを検出することができる。
【００９５】
Ｓ５０４の判定の結果、装置製番が一致する場合に、バックアップファイルに含まれる外部変換暗号鍵が適正であるとして、ＭＰ４１は、Ｓ５０２の処理で復号化したデータ暗号鍵を、ＬＭ４２に記憶される内部用暗号鍵で暗号化して内部変換暗号鍵を生成する（Ｓ５０５）。次いでＭＰ４１は、Ｓ５０５の処理で生成した内部変換暗号鍵を共有メモリ２４に格納する（Ｓ５０６）。これにより、ストレージ装置２０外の外部変換暗号鍵（データ暗号鍵）が共有メモリ２４にリストアされる。
【００９６】
Ｓ５０６の処理後、ＭＰ４１は正常終了をＳＶＰに出力して外部リストア処理Ｓ５００を終了する。ＳＶＰ２２は、受信した外部リストア要求の正常終了を示す応答をネットワーク１２を介して管理端末１３に送信する。
【００９７】
一方、Ｓ５０３の判定の結果、ハッシュ値が一致しない場合、又はＳ５０４の判定の結果、装置製番が一致しない場合に、ＭＰ４１は異常終了をＳＶＰに出力し（Ｓ５０７）、ＭＰ４１は外部リストア処理Ｓ５００を終了する。ＳＶＰ２２は、受信した外部リストア要求の異常終了を示す応答を、ネットワーク１２を介して管理端末１３に送信する。
【００９８】
なお、ストレージ装置２０内に暗号化ディスクアダプタ４０が複数存在する場合には、前述の外部バックアップ処理Ｓ３００と同様に、共有メモリ２４を参照して未処理の外部リストア要求を見つけた最初の暗号化ディスクアダプタ４０のＭＰ４１が、外部リストア処理Ｓ５００を実行すればよい。
【００９９】
図１５は、図１に示したディスクアダプタの暗号化状態を設定する動作を説明するフローチャートである。例えば管理端末１３からネットワーク１２を介してＲＡＩＤグループ番号（識別子）を指定した設定変更要求が送信されると、ＳＶＰ２２は図１５に示す暗号化設定処理Ｓ６００を実行する。
【０１００】
すなわち設定変更要求を受信したＳＶＰ２２は、共有メモリ２４に記憶されるＲＡＩＤグループ管理テーブル３００において、指定されたＲＡＩＤグループ番号（識別子）がＲＧ−ＩＤ欄３００Ａに格納された行（レコード）を読み出し、当該行（レコード）のＤＫＡ−ＩＤ欄３００Ｃに格納されたディスクアダプタ番号（識別子）を取得する（Ｓ６０１）。なお、ＲＡＩＤグループを構成する複数のＨＤＤ５０は少なくとも１つのディスクアダプタ４０に接続されるので、通常、Ｓ６０１の処理では複数のディスクアダプタ番号（識別子）が取得される。
【０１０１】
次にＳＶＰ２２は、共有メモリ２４に記憶されるディススクアダプタ管理テーブル２００において、Ｓ６０１の処理で取得したディスクアダプタ番号（識別子）がＤＫＡ−ＩＤ欄２００Ａに格納された行（レコード）を全て読み出し、当該行（レコード）のＤＫＡ−種別欄２００Ｂに全て「暗号化対応」が格納されているか否かを判定する（Ｓ６０２）。
【０１０２】
Ｓ６０２の判定の結果、全て「暗号化対応」が格納されている場合に、ＳＶＰ２２は、送信された設定変更要求の許可を示す応答を、ネットワーク１２を介して管理端末１３に送信する（Ｓ６０３）。
【０１０３】
設定変更要求の許可を示す応答を受信した管理端末１３は、最初に指定したＲＡＩＤグループに対する暗号化設定を「ＯＮ」又は「ＯＦＦ」に指定可能な所定の画面を表示する。管理者は当該ＲＡＩＤグループに対する暗号化状態を指定し、管理端末１３はネットワーク１２を介してＲＡＩＤグループ番号（識別子）及び暗号化設定を指定した暗号化設定要求を送信する。
【０１０４】
暗号化設定要求を受信したＳＶＰ２２は、共有メモリ２３に記憶された暗号化管理テーブル４００において、指定されたＲＡＩＤグループ番号（識別子）がＲＧ−ＩＤ欄４００Ａに格納された行（レコード）を読み出し、当該行（レコード）の暗号化設定欄４００Ｂに指定された暗号化状態、すなわち「ＯＮ」又は「ＯＦＦ」を格納して当該行（レコード）を更新し、更新された行（レコード）を共有メモリ２４に記憶される暗号化管理テーブル４００に書き込む（Ｓ６０４）。このように、ＲＡＩＤグループに対して暗号化状態が設定されるので、ＲＡＩＤグループを構成するＨＤＤ５０はデータを暗号して格納されるか、又はデータを暗号化せずに格納されるかの何れか一方のみとなり、１つのＨＤＤ５０内に暗号化されたデータが記憶される暗号化領域と、暗号されないデータが記憶される非暗号化領域とが混在することがない。これにより、ＨＤＤ５０の盗難や持ち出しなどによるデータ漏えいを防止することができる。
【０１０５】
Ｓ６０４の処理後、ＳＶＰ２２は暗号化設定処理Ｓ６００を終了する。
【０１０６】
一方、Ｓ６０２の判定の結果、少なくとも１つに「暗号化対応」が格納されていない場合に、ＳＶＰ２２は送信された設定変更要求の禁止を示す応答を、ネットワーク１２を介して管理端末１３に送信する（Ｓ６０５）。Ｓ６０５の処理後、ＳＶＰ２２は暗号化設定処理Ｓ６００を終了する。
【０１０７】
設定変更要求の禁止を示す応答を受信した管理端末１３は、最初に指定したＲＡＩＤグループに対する暗号化状態を変更不能である旨の所定の画面を表示する。
【０１０８】
暗号化設定処理Ｓ６００の終了後、ＳＶＰ２２は、ＬＤＥＶ単位に暗号化状態を表示することが可能となる。
【０１０９】
すなわち、例えばネットワーク１２を介してＬＤＥＶ番号（識別子）を指定した暗号化状態要求が管理端末１３から送信されると、ＳＶＰ２２は、共有メモリ２３に記憶された暗号化管理テーブル４００において、指定されたＬＤＥＶ番号（識別子）がＬＤＥＶ−ＩＤ欄４００Ｃに格納された行（レコード）を読み出す。次いで、ＳＶＰ２２は、当該行（レコード）の暗号化設定欄４００Ｂに格納された暗号化状態を応答として、ネットワーク１２を介して管理端末１３に送信する。管理端末１３は、指定したＬＤＥＶの暗号化状態をモニタなどに表示する。このように、ＲＡＩＤグループに設定された暗号化状態に基づいて、ＲＡＩＤグループに属するＬＤＥＶの暗号化状態が表示されるので、例えば後述のデータマイグレーションやデータコピーなどの操作を行う際に、管理者はＬＤＥＶごとに暗号化状態を知ることができる。
【０１１０】
図１６は、図１に示したディスクアダプタがＨＤＤにデータを書き込む動作を説明するフローチャートである。例えばホスト計算機１０から通信ネットワーク１１を介してライトデータ及びライトコマンドが送信されると、前述のように、チャネルアダプタ３０は受信したライトデータをキャッシュメモリ２３に格納するとともに、受信したライトコマンドを共有メモリ２４に格納する。ディスクアダプタ４０は共有メモリ２４を参照しており、共有メモリ２４に格納されたライトコマンドが自己に対するライトコマンドであるときに、すなわちライトコマンドに指定された論理アドレスを物理アドレスに変換し、変換された物理アドレスが接続されているＨＤＤ５０に対応する場合に、当該ディスクアダプタ４０のＭＰ４１は図１６に示すライト処理Ｓ７００を実行する。
【０１１１】
すなわち、ＭＰ４１は、共有メモリ２４に記憶される暗号化管理テーブル４００において、ライトコマンドに含まれるライトデータの格納先であるＬＤＥＶのＬＤＥＶ番号（識別子）が、ＬＤＥＶ−ＩＤ欄４００Ｃに格納された行（レコード）を読み出し、当該行（レコード）のＲＧ−ＩＤ欄４００Ａに格納されたＲＡＩＤグループ番号（識別子）を取得する（Ｓ７０１）。次いで、ＭＰ４１は、当該行（レコード）の暗号化設定欄４００Ｂに格納された情報に基づいて、暗号化が設定されているか否かを判定する（Ｓ７０２）。なお、暗号化設定欄４００Ｂが「ＯＮ」ならば暗号化が設定されていると判定し、暗号化設定欄４００Ｂが「ＯＦＦ」ならば暗号化が設定されていないと判定する。
【０１１２】
Ｓ７０２の判定の結果、暗号化が設定されている場合に、ＭＰ４１は共有メモリ２４に記憶される内部変換暗号鍵を取得する（Ｓ７０３）。次いでＭＰ４１は、内部変換暗号鍵を取得できたか否かを判定する（Ｓ７０４）。
【０１１３】
Ｓ７０４の判定の結果、内部変換暗号鍵を取得できた場合に、ＭＰ４１は取得した内部変換暗号鍵をＬＭ４２に記憶される内部用暗号鍵を用いてデータ暗号鍵に復号化する（Ｓ７０５）。次いでＭＰ４１は、Ｓ７０５で復号化したデータ暗号鍵をパラメータに設定し、当該パラメータをＬＭ４２に格納する（Ｓ７０６）。
【０１１４】
次に、前述したデステージングと同様に、ＦＣＡ６０内の内部コントローラ６２はパラメータ制御部６１などに指示を出力し、パラメータ制御部６１はＬＭ４２に記憶されるパラメータをキャッシュリード制御部６４に出力する。次いで内部コントローラ６２はキャッシュリード制御部６４などに指示を出力し、キャッシュリード制御部６４は、Ｓ７０７の処理で入力されたパラメータに含まれるデータ暗号鍵と、キャッシュメモリ２３に記憶されるライトデータとを、暗号化・複号化回路７０に出力する（Ｓ７０７）。
【０１１５】
暗号化・複号化回路７０は、データ暗号鍵を用いてライトデータを暗号化する（Ｓ７０８）。次いで暗号化・複号化回路７０は、暗号化されたライトデータをキャッシュリード制御部６４に出力し、キャッシュリード制御部６４は入力された暗号化されたライトデータをＨＤＤ５０に格納する（Ｓ７０９）。これにより、ＲＡＩＤグループに設定された暗号化状態に基づいて、暗号化されたデータがＨＤＤ５０に書き込まれる。
【０１１６】
Ｓ７１０の処理後、ＭＰ４１はライト処理Ｓ７００を終了する。
【０１１７】
一方、Ｓ７０２の判定の結果、暗号化が設定されていない場合に、ＭＰ４１は、所定のパラメータを設定し、当該パラメータをＬＭ４２に格納する（Ｓ７１０）。
【０１１８】
次に、前述したデステージングと同様に、ＦＣＡ６０内の内部コントローラ６２はパラメータ制御部６１などに指示を出力し、パラメータ制御部６１はＬＭ４２に記憶されるパラメータをキャッシュリード制御部６４に出力する。次いで内部コントローラ６２はキャッシュリード制御部６４などに指示を出力し、キャッシュリード制御部６４は、Ｓ７１２の処理で入力されたパラメータに基づいて、キャッシュメモリ２３に記憶されるライトデータをＨＤＤ５０に格納する（Ｓ７１１）。これにより、ＲＡＩＤグループに設定された暗号化状態に基づいて、暗号化されないデータがＨＤＤ５０に書き込まれる。
【０１１９】
Ｓ７１１の処理後、ＭＰ４１はライト処理Ｓ７００を終了する。
【０１２０】
一方、Ｓ７０４の判定の結果、内部変換暗号鍵を取得できなかった場合に、ＭＰ４１は、チャネルアダプタ３０を介し、ライトコマンドを送信したホスト計算機１０にライトエラーを応答する（Ｓ７１２）。次いでＭＰ４１は、共有メモリ２４に記憶されるＬＤＥＶを管理する情報において、Ｓ７０１で取得したＲＡＩＤグループ番号（識別子）を有するＲＡＩＤグループに属する全てのＬＤＥＶに「閉塞」を示す情報を記録する（Ｓ７１３）。これにより、ＲＡＩＤグループに属する全てのＬＤＥＶがアクセス禁止となる。
【０１２１】
Ｓ７１３の処理後、ＭＰ４１はライト処理Ｓ７００を終了する。
【０１２２】
以上の説明では、ホスト計算機１０から送信されたライトデータをＨＤＤ５０に格納する例を用いたが、これに限定されず、キャッシュメモリ２３に格納されたデータをＨＤＤ５０に書き出すデステージングの際には、ライト処理Ｓ７００が実行される。
【０１２３】
図１７は、図１に示したディスクアダプタがＨＤＤからデータを読み出す動作を説明するフローチャートである。例えばホスト計算機１０から通信ネットワーク１１を介してライトコマンドが送信されると、前述のように、チャネルアダプタ３０は受信したリードコマンドを共有メモリ２４に格納する。ディスクアダプタ４０は共有メモリ２４を参照しており、共有メモリ２４に格納されたリードコマンドが自己に対するリードコマンドであるときに、すなわちリードコマンドに指定された論理アドレスを物理アドレスに変換し、変換された物理アドレスが接続されているＨＤＤ５０に対応する場合に、当該ディスクアダプタ４０のＭＰ４１は図１７に示すリード処理Ｓ８００を実行する。
【０１２４】
すなわち、ＭＰ４１は、共有メモリ２４に記憶される暗号化管理テーブル４００において、リードコマンドに含まれる対象データの格納先であるＬＤＥＶのＬＤＥＶ番号（識別子）が、ＬＤＥＶ−ＩＤ欄４００Ｃに格納された行（レコード）を読み出し、当該行（レコード）のＲＧ−ＩＤ欄４００Ａに格納されたＲＡＩＤグループ番号（識別子）を取得する（Ｓ８０１）。次いでＭＰ４１は、当該行（レコード）の暗号化設定欄４００Ｂに格納された情報に基づいて、暗号化が設定されているか否かを判定する（Ｓ８０２）。なお、暗号化設定欄４００Ｂが「ＯＮ」ならば暗号化が設定されていると判定し、暗号化設定欄４００Ｂが「ＯＦＦ」ならば暗号化が設定されていないと判定する。
【０１２５】
Ｓ８０２の判定の結果、暗号化が設定されている場合に、ＭＰ４１は共有メモリ２４に記憶される内部変換暗号鍵を取得する（Ｓ８０３）。次いでＭＰ４１は、内部変換暗号鍵を取得できたか否かを判定する（Ｓ８０４）。
【０１２６】
Ｓ８０４の判定の結果、内部変換暗号鍵を取得できた場合に、ＭＰ４１は取得した内部変換暗号鍵をＬＭ４２に記憶される内部用暗号鍵を用いてデータ暗号鍵に復号化する（Ｓ８０５）。次いでＭＰ４１は、Ｓ８０５で復号化したデータ暗号鍵をパラメータに設定し、当該パラメータをＬＭ４２に格納する（Ｓ８０６）。
【０１２７】
次に、前述したステージングと同様に、ＦＣＡ６０内の内部コントローラ６２はパラメータ制御部６１などに指示を出力し、パラメータ制御部６１はＬＭ４２に記憶されるパラメータをキャッシュライト制御部６３に出力する。次いで内部コントローラ６２はキャッシュライト制御部６３などに指示を出力し、キャッシュリード制御部６４は、Ｓ８０７の処理で入力されたパラメータに含まれるデータ暗号鍵と、Ｓ８０７の処理で入力されたパラメータに基づいてＨＤＤ５０から読み込んだリードデータとを、暗号化・複号化回路７０に出力する（Ｓ８０７）。
【０１２８】
暗号化・複号化回路７０は、データ暗号鍵（データ復号鍵）を用いてリードデータを復号化する（Ｓ８０８）。次いで暗号化・複号化回路７０は、復号化されたリードデータをキャッシュライト制御部６３に出力し、キャッシュライト制御部６３は入力された復号化されたリードデータをキャッシュメモリ２３に出力する（Ｓ８０９）。これにより、ＲＡＩＤグループに設定された暗号化状態に基づいて、復号化されたデータがキャッシュメモリ２３に格納される。
【０１２９】
Ｓ８０９の処理後、ＭＰ４１はリード処理Ｓ８００を終了する。
【０１３０】
一方、Ｓ８０２の判定の結果、暗号化が設定されていない場合に、ＭＰ４１は、所定のパラメータを設定し、当該パラメータをＬＭ４２に格納する（Ｓ８１０）。
【０１３１】
次に、前述したステージングと同様に、ＦＣＡ６０内の内部コントローラ６２はパラメータ制御部６１などに指示を出力し、パラメータ制御部６１はＬＭ４２に記憶されるパラメータをキャッシュライト制御部６３に出力する。次いで内部コントローラ６２はキャッシュライト制御部６３などに指示を出力し、入力されたパラメータに基づいてＨＤＤ５０から読み込んだリードデータを、キャッシュメモリ２３に出力する（Ｓ８１１）。これにより、ＲＡＩＤグループに設定された暗号化状態に基づいて、暗号化されていないデータがキャッシュメモリ２３に格納される。
【０１３２】
Ｓ８１１の処理後、ＭＰ４１はリード処理Ｓ８００を終了する。
【０１３３】
一方、Ｓ８０４の判定の結果、内部変換暗号鍵を取得できなかった場合に、ＭＰ４１は、チャネルアダプタ３０を介し、リードコマンドを送信したホスト計算機１０にリードエラーを応答する（Ｓ８１２）。次いでＭＰ４１は、共有メモリ２４に記憶されるＬＤＥＶを管理する情報において、Ｓ８０１で取得したＲＡＩＤグループ番号（識別子）を有するＲＡＩＤグループに属する全てのＬＤＥＶに「閉塞」を示す情報を記録する（Ｓ８１３）。これにより、ＲＡＩＤグループに属する全てのＬＤＥＶがアクセス禁止となる。
【０１３４】
Ｓ８１３の処理後、ＭＰ４１はリード処理Ｓ８００を終了する。
【０１３５】
以上の説明では、ホスト計算機１０から送信されたリードコマンドに基づいて、ＨＤＤ５０から読み出したリードデータをキャッシュメモリ２３に格納する例を用いたが、これに限定されず、ＨＤＤ５０から読み出したデータをキャッシュメモリ２３に格納するステージングの際には、ライト処理Ｓ７００が実行される。
【０１３６】
次に、図１８及び図１９を参照しながらデータマイグレーションの動作について説明する。
【０１３７】
図１８は、データマイグレーションの流れを説明する状態遷移図である。例えばストレージ装置２０に暗号化ディスクアダプタ４０を増設した際、又は普通の（暗号化・復号化回路７０を搭載しない）ディスクアダプタ４０を暗号化ディスクアダプタ４０に交換した際に、暗号化が設定されていない第１のＲＡＩＤグループのデータを、暗号化が設定されている第２のＲＡＩＤグループにマイグレーションすることにより、第１のＲＡＩＤグループのデータを暗号化することができる。
【０１３８】
すなわち、図１８に示すように、第１のＲＡＩＤグループ１３３に属するＬＤＥＶ１４３に記憶されるデータをマイグレーションするときに（（ａ）参照）、第２のＲＡＩＤグループ１３４に新たにＬＤＥＶ１４４を増設（定義）し、又は既存のＬＤＥＶ１４４をフォーマット（初期化）する（（ｂ）参照）。
【０１３９】
次に、ＬＤＥＶ１４３、１４４間で後述するデータマイグレーション処理Ｓ９００を実行し（（ｃ）参照）、マイグレーション処理Ｓ９００の完了後にＬＤＥＶ１４３を開放する（（ｄ）参照）。なお、第１のＲＡＩＤグループにおける全てのデータを第２のＲＡＩＤグループにマイグレーションする場合、第１のＲＡＩＤグループに属する全てのＬＤＥＶについて、前述の（ａ）〜（ｄ）を繰り返すことにより、第１のＲＡＩＤグループにおける全てのデータを暗号化することができる。
【０１４０】
図１９は、図１に示したＳＶＰ及びディスクアダプタがデータをマイグレーションする動作を説明するフローチャートである。例えば管理端末１３からネットワーク１２を介して移行元ＬＤＥＶ番号及び移行先ＬＤＥＶ番号を指定したデータマイグレーション要求が送信されると、ＳＶＰ２２は図１９に示すデータマイグレーション処理Ｓ９００を実行する。
【０１４１】
すなわちデータマイグレーション要求を受信したＳＶＰ２２は、共有メモリ２４に記憶される暗号化管理テーブル４００において、指定された移行元ＬＤＥＶのＬＤＥＶ番号（識別子）が、ＬＤＥＶ−ＩＤ欄４００Ｃに格納された行（レコード）を読み出し、当該行（レコード）のＲＧ−ＩＤ欄４００Ａに格納されたＲＡＩＤグループ番号（識別子）を有するＲＡＩＤグループを移行元ＲＡＩＤグループ（移行元ＶＤＥＶ）として決定する（Ｓ９０１）。同様にして、ＳＶＰ２２は、指定された移送先ＬＤＥＶのＬＤＥＶ番号（識別子）が、ＬＤＥＶ−ＩＤ欄４００Ｃに格納された行（レコード）を読み出し、当該行（レコード）のＲＧ−ＩＤ欄４００Ａに格納されたＲＡＩＤグループ番号（識別子）を有するＲＡＩＤグループを移送先ＲＡＩＤグループ（移送先ＶＤＥＶ）として決定する（Ｓ９０２）。
【０１４２】
次にＳＶＰ２２は、キャッシュメモリ２３に移行元データ用領域及び移行先データ用領域を確保する（Ｓ９０３）。
【０１４３】
ここで、ＳＶＰ２２は、共有メモリ２４に記憶されるＲＡＩＤグループ管理テーブル３００において、移行元ＲＡＩＤグループのＲＡＩＤグループ番号（識別子）が、ＲＧ−ＩＤ欄３００Ａに格納された行（レコード）を読み出し、当該行（レコード）のＤＫＡ−ＩＤ欄３００Ｃに格納されたディスクアダプタ番号（識別子）を有するディスクアダプタ４０のＭＰ４１に対し、前述のステージングを指示する。なお、ＤＫＡ−ＩＤ欄３００Ｃに格納されたディスクアダプタ番号（識別子）が複数ある場合には、所定の順序でディスクアダプタ４０のＭＰ４１に指示を出力する。
【０１４４】
ＳＶＰ２２から指示を受けたディスクアダプタ４０のＭＰ４１は、前述のリード処理Ｓ８００と同様の処理を行い、移行元ＬＤＥＶのデータをキャッシュメモリ２３の移行元データ用領域に格納する（Ｓ９０４）。次いでＭＰ４１は、当該移行元ＬＤＥＶのデータを、キャッシュメモリ２３の移行元データ用領域から移行先データ用領域にコピーする（Ｓ９０５）。
【０１４５】
ここで、ＳＶＰ２２は、共有メモリ２４に記憶されるＲＡＩＤグループ管理テーブル３００において、移行先ＲＡＩＤグループのＲＡＩＤグループ番号（識別子）が、ＲＧ−ＩＤ欄３００Ａに格納された行（レコード）を読み出し、当該行（レコード）のＤＫＡ−ＩＤ欄３００Ｃに格納されたディスクアダプタ番号（識別子）を有するディスクアダプタ４０のＭＰ４１に対し、前述のデステージングを指示する。なお、ＤＫＡ−ＩＤ欄３００Ｃに格納されたディスクアダプタ番号（識別子）が複数ある場合には、所定の順序でディスクアダプタ４０のＭＰ４１に指示を出力する。
【０１４６】
ＳＶＰ２２から指示を受けたディスクアダプタ４０のＭＰ４１は、前述のライト処理Ｓ７００と同様の処理を行い、キャッシュメモリ２３の移行先データ用領域に記憶される移送元ＬＤＥＶのデータを、移送先ＬＤＥＶに対応するＨＤＤ５０に格納する（Ｓ９０６）。なお、移行元ＬＤＥＶのデータ量がＳ９０３の処理で確保した移行元データ用領域よりも大きい場合、移行元ＬＤＥＶのデータを所定量に分割し、所定量のデータごとにＳ９０４〜Ｓ９０６の処理を繰り返す。
【０１４７】
ＳＶＰ２２は、全てのディスクアダプタ４０のＭＰ４１に対してＳ９０４〜Ｓ９０６の処理を行った後、データマイグレーション処理Ｓ９００を終了する。
【０１４８】
このマイグレーションの開始された以降、ホスト計算機１０から、データが暗号化されない、移行元ＬＤＥＶに対して発行されたライトコマンドは、データマイグレーション処理Ｓ９００の過程で、又はマイグレーション処理Ｓ９００の終了後、移行先ＬＤＥＶに発行され、ライトデータは移行先ＬＤＥＶに格納される。
【０１４９】
図２０は、図１に示したＳＶＰがＬＤＥＶを結合する動作を説明するフローチャートである。例えばＬＵの容量を拡張するために、管理端末１３からネットワーク１２を介してＬＵに含まれる先頭のＬＤＥＶのＬＤＥＶ番号を指定した結合対象要求が送信されると、ＳＶＰ２２は図２０に示す結合対象処理Ｓ１０００を実行する。
【０１５０】
すなわち結合要求を受信したＳＶＰ２２は、共有メモリ２４に記憶される暗号化管理テーブル４００において、指定されたＬＤＥＶのＬＤＥＶ番号（識別子）が、ＬＤＥＶ−ＩＤ欄４００Ｃに格納された行（レコード）を読み出し、当該行（レコード）の暗号化設定欄４００Ｂに格納された暗号化状態を取得する（Ｓ１００１）。次いでＳＶＰ２２は、Ｓ１００１で取得した暗号化状態が、暗号化設定欄４００Ｂに格納された行（レコード）を全て読み出し、当該行（レコード）のＬＤＥＶ−ＩＤ欄４００Ｃに格納された全てのＬＤＥＶ番号（識別子）を取得する（Ｓ１００２）。
【０１５１】
次に、ＳＶＰ２２はＳ１００２で取得した全てのＬＤＥＶ番号（識別子）を結合対象要求の応答としてネットワーク１２を介して管理端末１３に送信し（Ｓ１００３）、ＳＶＰ２２は結合対象処理Ｓ１０００を終了する。
【０１５２】
図２１は、管理端末に表示するＬＤＥＶ結合画面の一例を説明するイメージ図である。結合要求の応答を受信した管理端末１３は、モニタなどに図２１に示すＬＤＥＶ結合画面Ｇ０１を表示する。ＬＤＥＶ結合画面Ｇ０１には、結合元ＬＤＥＶフィールドＧ０１Ａに、指定したＬＤＥＶのＬＤＥＶ番号が表示されるとともに、結合可能ＬＤＥＶフィールドＧ０１Ｂに受信したＬＤＥＶ番号が表示される。管理者は、追加ボタンＧ０１Ｃ又は削除ボタンＧ０１Ｄを操作することにより、結合可能ＬＤＥＶフィールドＧ０１Ｂに表示したＬＤＥＶ番号を結合対象ＬＤＥＶフィールドＧ０１Ｅに追加し、又は結合対象ＬＤＥＶフィールドＧ０１Ｅから削除することができる。
【０１５３】
結合対象のＬＤＥＶを決定後、管理者が実行ボタンＧ０５Ｆを操作することにより、結合元ＬＤＥＶフィールドＧ０１ＡのＬＤＥＶ番号と、結合対象ＬＤＥＶフィールドＧ０１Ｅの全てのＬＤＥＶ番号とを指定した結合要求がネットワーク１２を介してＳＶＰ２２に送信され、ＳＶＰ２２によってＬＤＥＶが結合される。このように、結合元となるＬＤＥＶと暗号化状態が同一のＬＤＥＶのみが結合対象のＬＤＥＶとして表示され、結合元ＬＤＥＶと結合対象ＬＤＥＶとを結合することができるので、暗号化領域と非暗号化領域とが結合されるのを防止することができる。
【０１５４】
図２２は、図１に示したディスクアダプタをリプレースする動作を説明するフローチャートである。ストレージ装置２０に備わる暗号化ディスクアダプタ４０を普通の（暗号化・復号化回路７０を搭載しない）ディスクアダプタ４０に交換する際に、例えば管理端末１３からネットワーク１２を介して、リプレース対象となる暗号化ディスクアダプタ４０のディスクアダプタ番号を指定したリプレース要求が送信されると、ＳＶＰ２２は図２２に示すディスクアダプタリプレース処理Ｓ１１００を実行する。
【０１５５】
すなわちリプレース要求を受信したＳＶＰ２２は、共有メモリ２４に記憶されるＲＡＩＤグループ管理テーブル３００において、指定された暗号化ディスクアダプタ４０のディスクアダプタ番号（識別子）が、ＤＫＡ−ＩＤ欄３００Ｃに格納された行（レコード）を読み出し、当該行（レコード）のＲＧ−ＩＤ欄３００Ａに格納されたＲＡＩＤグループのＲＡＩＤグループ番号（識別子）を取得する（Ｓ１１０１）。なお、図４に示したディスクアダプタ４０Ａ、４０Ｂのように、１つのディスクアダプタ４０が２つ以上の複数のＲＡＩＤグループに属する場合には、Ｓ１１０１の処理で取得するＲＡＩＤグループ番号（識別子）は複数となる。
【０１５６】
次にＳＶＰ２２は、共有メモリ２４に記憶される暗号化管理テーブル４００において、Ｓ１１０１の処理で取得したＲＡＩＤグループ番号（識別子）が、ＲＧ−ＩＤ欄４００Ａに格納された行（レコード）を全て読み出し、当該行（レコード）の暗号化設定欄４００Ｂに格納された暗号化状態を取得する（Ｓ１１０２）。
【０１５７】
次にＳＶＰ２２は、Ｓ１１０２で取得した暗号化状態に基づいて、全てのＲＡＩＤグループに暗号化が設定されていないか否かを判定する（Ｓ１１０３）。なお、暗号化設定欄４００Ｂが全て「ＯＦＦ」ならば全てのＲＡＩＤグループに暗号化が設定されていないと判定し、暗号化設定欄４００Ｂが１つでも「ＯＮ」ならば何れかのＲＡＩＤグループに暗号化が設定されていると判定する。
【０１５８】
Ｓ１１０３の判定の結果、何れかのＲＡＩＤグループに暗号化が設定されている場合に、ＳＶＰ２２は、指定されたディスクアダプタ４０が属するＲＡＩＤグループを削除するか否かを確認するリプレース確認要求を、ネットワーク１２を介して管理端末１３に送信する（Ｓ１１０４）。
【０１５９】
図２３は、管理端末に表示する確認画面の一例を説明するイメージ図である。リプレース確認要求を受信した管理端末１３は、モニタなどに図２３に示す確認画面Ｇ０２を表示する。確認画面Ｇ０２はリプレースを続行するか否かを問う旨のメッセージＧ０２Ａを表示し、管理者は「はい」ボタンＧ０２Ｂ又は「いいえ」ボタンＧ０２Ｃの一方を操作する。次いで管理端末１３は、「はい」ボタンＧ０２Ｂ又は「いいえ」ボタンＧ０２Ｃの一方の操作に基づくリプレース確認要求に対する応答を、ネットワーク１２を介してＳＶＰ２２に送信する。
【０１６０】
応答を受信したＳＶＰ２２は、当該応答に基づいてリプレースを続行するか否かを判定する（Ｓ１１０５）。なお、確認画面Ｇ０２で「はい」ボタンＧ０２Ｂが操作されたときはリプレースを続行すると判定し、確認画面Ｇ０２で「いいえ」ボタンＧ０２Ｃが操作されたときはリプレースを続行しない（中止する）と判定する。
【０１６１】
Ｓ１１０５の判定の結果、リプレースを続行する場合に、ＳＶＰ２２は最初に指定された応答を受信したＳＶＰ２２は、Ｓ１１０１の処理で取得したＲＡＩＤグループ番号（識別子）を有するＲＡＩＤグループを全て削除する（Ｓ１１０６）。
【０１６２】
Ｓ１１０６の処理後、ＳＶＰ２２は、暗号化ディスクアダプタ４０をディスクアダプタ４０に交換する所定のリプレース処理を行い（Ｓ１１０７）、ＳＶＰ２２はディスクアダプタリプレース処理Ｓ１１００を終了する。
【０１６３】
一方、Ｓ１１０５の判定の結果、リプレースを続行しない場合に、ＳＶＰ２２は所定のリプレース中断処理を行い（Ｓ１１０８）、ＳＶＰ２２はディスクアダプタリプレース処理Ｓ１１００を終了する。
【０１６４】
また、Ｓ１１０３の判定の結果、全てのＲＡＩＤグループに暗号化が設定されていない場合、すなわちリプレース対象のディスクアダプタ４０が接続するＨＤＤ５０に記憶されるデータが全て暗号化されていないデータの場合に、ＳＶＰ２２は、Ｓ１１０４〜Ｓ１１０６の処理を行わずに、前述の所定のリプレース処理を行い（Ｓ１１０７）、ＳＶＰ２２はディスクアダプタリプレース処理Ｓ１１００を終了する。このように、暗号化ディスクアダプタ４０に接続されるＨＤＤが属するＲＡＩＤグループに設定された暗号化状態が、全てデータを暗号化しない場合に、暗号化ディスクアダプタ４０がディスクアダプタ４０に交換されるので、暗号化されたデータが暗号化できないディスクアダプタ４０に接続されるＨＤＤ５０に格納され、１つのＨＤＤ５０内に暗号化されたデータが記憶される暗号化領域と、暗号されないデータが記憶される非暗号化領域とが混在することがない。これにより、ＨＤＤ５０の盗難や持ち出しなどによるデータ漏えいを防止することができる。
【０１６５】
なお、本発明の構成は、前述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加えてもよい。
【図面の簡単な説明】
【０１６６】
【図１】ストレージシステムの構成を説明するブロック図である。
【図２】図１に示したディスクアダプタの構成を説明するブロック図である。
【図３】図２に示したファイバーチャネルアダプターモジュールの構成を説明するブロック図である。
【図４】図１に示したディスクアダプタ及びＨＤＤの接続例を説明するブロック図である。
【図５】図１に示したストレージ装置の記憶構造を説明するブロック図である。
【図６】図１に示したディススクアダプタ管理テーブルの一例を説明する構成図である。
【図７】図１に示したＲＡＩＤグループ管理テーブルの一例を説明する構成図である。
【図８】図１に示した暗号化管理テーブルの一例を説明する構成図である。
【図９】図１に示した外部バックアップ情報テーブルの一例を説明する構成図である。
【図１０】図１に示したディスクアダプタを登録する動作を説明するフローチャートである。
【図１１】データ暗号鍵をストレージ装置内にバックアップする動作を説明するフローチャートである。
【図１２】データ暗号鍵をストレージ装置外にバックアップする動作を説明するフローチャートである。
【図１３】データ暗号鍵をストレージ装置内からリストアする動作を説明するフローチャートである。
【図１４】データ暗号鍵をストレージ装置内からリストアする動作を説明するフローチャートである。
【図１５】図１に示したディスクアダプタの暗号化状態を設定する動作を説明するフローチャートである。
【図１６】図１に示したディスクアダプタがＨＤＤにデータを書き込む動作を説明するフローチャートである。
【図１７】図１に示したディスクアダプタがＨＤＤからデータを読み出す動作を説明するフローチャートである。
【図１８】データマイグレーションの流れを説明する状態遷移図である。
【図１９】図１に示したＳＶＰ及びディスクアダプタがデータをマイグレーションする動作を説明するフローチャートである。
【図２０】図１に示したＳＶＰがＬＤＥＶを結合する動作を説明するフローチャートである。
【図２１】管理端末に表示するＬＤＥＶ結合画面の一例を説明するイメージ図である。
【図２２】図１に示したディスクアダプタをリプレースする動作を説明するフローチャートである。
【図２３】管理端末に表示する確認画面の一例を説明するイメージ図である。
【符号の説明】
【０１６７】
１…ストレージシステム、１０，１０Ａ，１０Ｂ，１０Ｃ…ホスト計算機、２０…ストレージ装置、２２…ＳＶＰ、２３…キャッシュメモリ、２４…共有メモリ、４０，４０Ａ，４０Ｂ，４０Ｃ…ディスクアダプタ、４１…ＭＰ、５０…ＨＤＤ、２００…ディスクアダプタ管理テーブル、３００…ＲＡＩＤグループ管理テーブル。
【図１】
2010033319.tif 000003
【図２】
2010033319.tif 000004
【図３】
2010033319.tif 000005
【図４】
2010033319.tif 000006
【図５】
2010033319.tif 000007
【図６】
2010033319.tif 000008
【図７】
2010033319.tif 000009
【図８】
2010033319.tif 000010
【図９】
2010033319.tif 000011
【図１０】
2010033319.tif 000012
【図１１】
2010033319.tif 000013
【図１２】
2010033319.tif 000014
【図１３】
2010033319.tif 000015
【図１４】
2010033319.tif 000016
【図１５】
2010033319.tif 000017
【図１６】
2010033319.tif 000018
【図１７】
2010033319.tif 000019
【図１８】
2010033319.tif 000020
【図１９】
2010033319.tif 000021
【図２０】
2010033319.tif 000022
【図２１】
2010033319.tif 000023
【図２２】
2010033319.tif 000024
【図２３】
2010033319.tif 000025