(57)【要約】【課題】ストレージ装置に暗号化機能を持たせても、ストレージ装置を利用するユーザが暗号文と平文との使い分けることができるようにした、ストレージ装置を提供する。【解決手段】記憶デバイスに対するデータの送受信を制御するアダプタに暗号化処理機能を持たせることにより、暗号化処理を必要としないデータを、暗号化処理機能を持たないアダプタに送信し、暗号化処理を必要とするデータを、暗号化処理機能を持つアダプタに送信して、ストレージ装置のユーザが暗号文と平文とを使い分けることができるようにした。【選択図】図３
2010009306.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機と記憶デバイスとの間における情報の伝達を制御するストレージ装置において、
前記ホスト計算機との間でのデータの伝達を制御する第１のアダプタと、
前記記憶デバイスとの間での前記データの伝達を制御する、複数の第２のアダプタと、
前記第１のアダプタと前記第２のアダプタとを接続する接続回路と、
前記第１のアダプタと前記第２のアダプタとの間での前記データの伝達を制御するコントローラと、
を備え、
前記複数ある前記第２のアダプタの少なくとも１つは、前記データを暗号化処理する暗号化モジュールを備える暗号化対応アダプタであり、当該暗号化対応アダプタは、暗号化処理されたデータを前記記憶デバイスに格納する、ストレージ装置。
【請求項２】
複数ある前記第２のアダプタの少なくとも１つは前記暗号化モジュールを備えないか、備えていてもその暗号化機能がオフされた暗号化非対応アダプタであり、当該暗号化非対応アダプタは、前記データを暗号化処理することなく前記記憶デバイスに格納する、請求項１記載のストレージ装置。
【請求項３】
前記コントローラは、暗号化処理を必要するデータを前記暗号化対応アダプタに転送し、暗号化処理を必要としないデータを前記暗号化非対応アダプタに転送する、請求項２記載のストレージ装置。
【請求項４】
前記暗号化対応アダプタは、前記暗号化モジュールの暗号化機能がオンされたものである、請求項１記載のストレージ装置。
【請求項５】
前記記憶デバイスを複数備え、
さらに、管理装置を備え、
前記管理装置は、
当該複数の記憶デバイスから構成される記憶領域を分割して管理し、
前記分割された各記憶領域について、前記データを暗号化することの要否を設定できる、
請求項１記載のストレージ装置。
【請求項６】
前記管理装置は、
前記複数の記憶デバイスを複数のＲＡＩＤグループに分割して管理し、
各ＲＡＩＤグループについて、前記データを暗号化することの要否を設定できる、
請求項５記載のストレージ装置。
【請求項７】
前記管理装置は、前記ＲＡＩＤグループに属する前記複数の記憶デバイスにそれぞれ接続される前記複数の第２のアダプタが全て暗号化対応アダプタであることを判定した際に、前記ＲＡＩＤグループに対して、前記暗号化することを要と設定する、請求項６記載のストレージ装置。
【請求項８】
前記暗号化非対応アダプタが前記暗号化対応アダプタに、前記暗号化非対応アダプタが前記記憶デバイスに備えるデータをマイグレーションする過程で、当該データが前記暗号化対応アダプタによって暗号化される、請求項２記載のストレージ装置。
【請求項９】
前記暗号化対応アダプタが接続する前記記憶デバイスを、当該暗号化対応アダプタが暗号化されたフォーマットデータでフォーマット処理する、請求項２記載のストレージ装置。
【請求項１０】
ホスト計算機と記憶デバイスの間の情報の伝達を制御するストレージ装置が実行する、データ処理方法において、
前記ストレージ装置は、
前記ホスト計算機から送信されるデータに暗号化を必要とするか否かを判定する第１の工程と、
前記データに暗号化が必要であると判定した際に、当該データを、前記記憶デバイスに対する第１のインターフェース制御部であって、暗号化処理機能を備えた当該第１のインターフェース制御に送信する第２の工程と、
前記データに暗号化が必要でないと判定すると、当該データを、前記記憶デバイスに対する第２のインターフェース制御部であって、前記暗号化処理機能を有しない第２のインターフェース制御部に送信する第３の工程と、
を備えるストレージ装置のデータ処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホスト計算機と記憶デバイスとの間における、データやコマンドの交換を制御するストレージ装置に係わり、詳しくは、前記データを暗号化して記憶デバイスに格納することができるストレージ装置に関する。
【背景技術】
【０００２】
情報通信社会の拡大に伴って、情報処理システムが取り扱うデータ容量が飛躍的に増大している。そこで、ストレージ装置をサーバやホスト計算機から独立させて、データを集中管理するストレージシステムが発展してきている。このストレージシステムでは、ストレージ装置とホスト計算機がＳＡＮなどの通信ネットワークによって接続される。
【０００３】
ところで、ｉＳＣＳＩによって、ストレージ装置はサーバ・ホストとＩＰネットワークを介してデータの送受信が可能であり、さらに、ストレージ装置の記憶デバイスの盗難やデータ漏洩への懸念から、ストレージ装置が扱うデータを暗号化することへの重要性が高まっている。この観点から、ストレージ装置は、暗号化処理されたデータをハードディスクドライブに格納している。
【０００４】
ストレージ装置に格納されるデータを暗号化処理する方法には、いくつかのパターンがある。第１に、ホスト計算機側で暗号化することがあげられる。第２に、ホスト計算機とストレージ装置の間に暗号化スイッチなど暗号化装置を設けることである。第３に、ストレージ装置にデータを暗号化処理できる機能を持たせることである。
【０００５】
特開２００５−３２２２０１号公報には、サーバとのインターフェースを有するチャネルインターフェース（ＩＦ）部、ハードディスク群とのインターフェースを有するディスクＩＦ部と、サーバあるいはハードディスク群との間でリード／ライトされるデータを格納するメモリ部と、スイッチ部と、ハードディスク群からストレージシステムを構成し、チャネルＩＦ部及びディスクＩＦ部とメモリ部の間をスイッチ部で互いに接続する構成とし、チャネルＩＦ部内において、ホストＩＦと転送制御部の間に暗号処理部を設ける構成を備えた、暗号処理を行うストレージシステムが開示されている。
【特許文献１】特開２００５−３２２２０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記第1のパターンによる暗号化処理では、ホスト計算機の制御資源が暗号化処理に費やされてしまうという問題がある。第２のパターンによる暗号化処理では、ストレージ装置のＩＯ処理性能が暗号化装置によって影響を受けてしまう問題がある。
【０００７】
第３のパターンによる暗号化処理では、この種の問題はないものの、特開２００５−３２２２０１号公報のように、ホスト計算機に接続するポートを備えるチャネルインターフェース部に暗号化処理機能を持たせると、チャネルインターフェース部からディスクインターフェース部に送られるデータが、全て暗号化されてしまい、記憶デバイスのデータを利用するユーザは、暗号文と平文を使い分けることができなかった。
【０００８】
そこで、この発明は、ストレージ装置に暗号化機能を持たせても、ストレージ装置を利用するユーザが暗号文と平文との使い分けを可能とした、ストレージ装置を提供することを目的とするものである。
【課題を解決するための手段】
【０００９】
この目的を達成するために、本発明に係わるストレージ装置は、それぞれ、記憶デバイスに対するデータの送受信を制御する、複数のアダプタの一部のアダプタに暗号化処理機能を持たせることにより、暗号化処理を必要としないデータを、暗号化処理機能を持たない、他のアダプタに送信し、暗号化処理を必要とするデータを、暗号化処理機能を持つアダプタに送信して、ストレージ装置のユーザが暗号文と平文とを使い分けることができるようにしたものである。
【発明の効果】
【００１０】
以上説明したように、本発明によれば、ストレージ装置に暗号化機能を持たせても、ストレージ装置を利用するユーザが暗号文と平文との使い分けを可能とした、ストレージ装置を提供することができる。
【発明を実施するための最良の形態】
【００１１】
次に本発明の実施形態について説明する。図１は、ストレージ装置１０と、複数のホスト計算機１２（１２Ａ，１２Ｂ，１２Ｃ）と、を備えたストレージシステムのブロック図を示したものである。なお、ホスト計算機１２は、ストレージ装置に対する上位装置の一例である。ホスト計算機１２とストレージ装置１０とはネットワーク１４を介して接続されている。
【００１２】
ホスト計算機１２は、ＣＰＵやメモリ等の情報処理資源を備えたコンピュータ装置であり、サーバ、パーソナルコンピュータ、ワークステーション、メインフレームとして機能する。ホスト計算機１２は、キーボードスイッチやポインティングデバイス、マイクロフォン等の情報入力装置と、モニタディスプレイやスピーカー等の情報出力装置と、を備える。
【００１３】
さらに、ホスト計算機１２は、ストレージ装置１０から提供される記憶領域を論理的に認識し、この論理的記憶領域を利用して、データベースソフトウェアなどの業務アプリケーションプログラムを実行する。
【００１４】
ストレージ装置１０は、ホスト計算機１２に対するインターフェース制御部となる、複数のチャネルアダプタ１６（１６Ａ，１６Ｂ，１６Ｃ）を備えている。各チャネルアダプタはポート１８を有しており、このポート１８が通信ネットワーク１４に接続されることを介して、各チャネルアダプタはホスト計算機と接続されている。
【００１５】
図１では、ホスト計算機１２Ａがチャネルアダ１６Ａに、ホスト計算機１２Ｂがチャネルアダプタ１６Ｂに、ホスト計算機１２Ｃがチャネルアダプタ１６Ｃにそれぞれ接続されるように、ホスト計算機と各チャネルアダプタとの間のパスが制御される。
【００１６】
通信ネットワーク１４は、ＬＡＮ、ＳＡＮ、インターネット、専用回線、公衆回線等などによって構成される。ホスト計算機１２とストレージ装置１０との間のＬＡＮを介するデータ通信は、例えば、TCP/IP（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００１７】
ホスト計算機１２がＬＡＮを介してストレージ装置１０に接続されていると、ホスト計算機は、ファイル名を指定してファイル単位でのデータ入出力をストレージ装置に要求する。
【００１８】
一方、ホスト計算機１２がＳＡＮを介してストレージ装置１０に接続されていると、ホスト計算機は、ファイバチャネルプロトコルに従って、ストレージ装置により提供される、ＨＤＤの記憶領域のデータ管理単位であるブロックを基準としてデータの入出力をストレージ装置に要求する。
【００１９】
ストレージ装置１０は、例えば、ディスクアレイサブシステムとして構成される。但し、これに限らず、ストレージ装置１０を、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成することもできる。
【００２０】
ストレージ装置１０は、記憶媒体・記憶デバイスとして複数のＨＤＤ（Hard Disk Drive）３０と、ＨＤＤとの間のデータ転送を制御するディスクアダプタ２８（２８Ａ，２８Ｂ，２８Ｃ）を複数有している。
【００２１】
各ディスクアダプタ２８は、複数のＨＤＤ３０が接続されるポート２９を有している。チャネルアダプタ１６がホスト計算機１２に対するインターフェース制御部として動作するのに対して、ディスクアダプタは、ＨＤＤに対するインターフェース制御部として機能する。ポート２９と複数のＨＤＤ３０との間は、ファイバーチャネルのＦＣ−ＡＬやファブリック、またはＳＡＳなどによって接続される。
【００２２】
チャネルアダプタ１６とディスクアダプタ２８は、接続部（接続回路）２４を介して互いに接続されている。また、接続部２４には共有メモリ２２とキャッシュメモリ２６が接続されている。チャネルアダプタ１６、ディスクアダプタ２８にはそれぞれマイクロプロセッサ（ＭＰ）とこれと対になるローカルメモリ（ＬＭ）が搭載されている。
【００２３】
チャネルアダプタ１６のマイクロプロセッサは、ホスト計算機１２から送られてくるコマンドを処理するマイクロプログラムを実行する。このマイクロプログラムはチャネルアダプタのローカルメモリＬＭに存在する。
【００２４】
ディスクアダプタ２８のマイクロプロセッサＭＰは、複数台のＨＤＤ３０を制御するマイクロプログラムを実行する。マイクロプログラムは、ディスクアダプタのローカルメモリに格納されている。
【００２５】
複数あるチャネルアダプタ１６および複数あるディスクアダプタ２８の間で、連携した処理を行うために、それぞれが共有すべき制御情報が共有メモリ２２に存在する。チャネルアダプタ１６及びディスクアダプタ２８のマイクロプロセッサＭＰは、接続部２４を通して共有メモリ中の制御情報にアクセスする。
【００２６】
チャネルアダプタ１６は、ホスト計算機１２から、データの読み書き等を要求するコマンド及びデータを受信し、各種コマンドを解釈して実行する。
【００２７】
複数あるチャネルアダプタ１６のそれぞれにはネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割り当てられている。チャネルアダプタ１６は、それぞれが個別にＮＡＳ（Network Attached Storage）として振る舞う機能を持ってもよい。
【００２８】
チャネルアダプタ１６は、ホスト計算機１２からデータの読出しあるいは書き込みコマンドを受信すると、コマンドを共有メモリ２２に記憶する。ディスアダプタ２８は、共有メモリ２２を随時参照しており、未処理の読み出しコマンドを発見すると、記憶デバイスであるＨＤＤ３０からデータを読み出して、キャッシュメモリ２６に記憶させる。
【００２９】
チャネルアダプタ１６は、キャッシュメモリ２６に移されたデータを読み出し、コマンド発行元のホスト計算機１２に送信する。
【００３０】
チャネルアダプタ１６が、ホスト計算機１２からデータの書込み要求を受信すると、書込みコマンドを共有メモリ２２に記憶させると共に、受信データをキャッシュメモリ２６に記憶させる。
【００３１】
ディスクアダプタ２８は、共有メモリ２２に記憶されたコマンドに従って、キャッシュメモリ２６に記憶されたデータを所定の記憶デバイス３０に記憶する。
【００３２】
各ディスクアダプタ２８は、記憶デバイス３０との間でデータ入出力を行う際、ホスト計算機からのコマンドに付帯した論理的なアドレスと、ＨＤＤの物理的なアドレスとの間で変換を行う。各ディスクアダプタ２８は、記憶デバイス３０のＲＡＩＤ構成に応じたデータアクセスを行う。
【００３３】
各ディスクアダプタ２８は、記憶デバイス３０の状態を随時監視しており、この監視結果は接続部２４につながれたＬＡＮインターレース３４を介してＳＶＰ（サービスプロセッサ）３２に送信される。
【００３４】
ＳＶＰ３２は、ストレージ装置１０の管理及び監視を行うコンピュータ装置(管理装置)である。ＳＶＰ３２は、接続部２４を介して各チャネルアダプタ１６及びディスクアダプタ２８等から各種の環境情報や性能情報等を収集する。
【００３５】
共有メモリ２２には、ワーク領域が設定されるほか、後述する管理テーブルも格納される。なお、ＨＤＤ３０のいずれか１つあるいは複数を、キャッシュ用のディスクとして使用してもよい。
【００３６】
接続部２４は、各チャネルアダプタ１６，各ディスクアダプタ２８，キャッシュメモリ２６，共有メモリ２２を相互に接続させる。接続部２４は、例えば、高速スイッチング動作によってデータ伝送を行う超高速クロスバスイッチ等のような高速バスとして構成することができる。
【００３７】
図２にディスクアダプタのブロック図を示す。符号４１は内部バスを示し、これに、ディスクアダプタを制御するためのマイクロプログラムが記憶された、既述のローカルメモリ（ＬＭ）４２と、ローカルメモリに記録されたマイクロプログラムに基づいて、ディスクアダプタ２８の制御を実行する、既述のマイクロプロセッサ（ＭＰ）４４が接続している。
【００３８】
バス４１はファイバーチャネルアダプターモジュール（ＦＣＡ）４０を介してＨＤＤ３０に接続し、インターフェース４３を介して接続部４４に繋がっている。ストレージ装置１０に存在する、複数のディスクアダプタ２８の少なくとも一つのＦＣＡは、暗号化・複号化モジュールを備えている。
【００３９】
この暗号化・複号化機能を備えるディスクアダプタ２８は、ホスト計算機からのライトデータを暗号化してＨＤＤ３０に記憶する。また、ホスト計算機からのリード命令に対して、ディスクアダプタ２８は、暗号化したデータを複号化してホスト計算機に送信する。
【００４０】
図３はアダプターモジュール４０のブロック構成を示している。アダプターモジュール４０はバス５０を備え、パラメータ制御部５２、内部コントローラ５４、キャッシュリード制御部５８、キャッシュライト制御部５６がバス５０に接続している。暗号化処理機能を持たせるディスクアダプタのアダプターモジュール４０では、バス５０に、さらに、アダプターモジュールに暗号化・複号化機能を付加するための暗号化・複号化回路６０が接続されている。
【００４１】
符号６８はバス５０とＨＤＤ３０とを接続するインターフェースであり、符号６６はバス５０とマイクロプロセッサ４４とを接続するインターフェースであり、符号６２はローカルメモリ４２とバス５０を接続するインターフェースであり、符号６４はバス５０とキャッシュメモリ２６とを接続するインターフェースである。
【００４２】
内部コントローラ５４は、アダプターモジュール４０内において、キャッシュメモリ２６とＨＤＤ３０との間でデータを交換する上での制御動作を司るものであり、パラメータ制御部５２は、キャッシュリード制御部５８及びキャッシュライト制御部５６に、リードまたはライトすべきデータのキャッシュメモリ上のアドレスに対応するパラメータを設定するものである。
【００４３】
暗号化・複号化回路６０はキャッシュメモリ２６から受領してＨＤＤ３０に転送する前のデータを暗号化し、一方、ＨＤＤ３０から受領してキャッシュメモリ２６へ転送する前のデータを複号化する。
【００４４】
なお、暗号化・複号化機能を有しないアダプターモジュール４０は、この回路６０を備えないか、この回路の機能がオフに設定される。暗号化・複号化機能を有しない、従前のアダプターモジュール４０に少なくとも暗号化・複号化モジュール６０を追加することにより、ディスクアダプタに暗号化機能を新たに持たせることができる。
【００４５】
今、キャッシュメモリ２６からデータをＨＤＤ３０にデステージする際、アダプターモジュール４０の内部コントローラ５４は、ＨＤＤ３０からデータの転送許可情報を受領すると、パラメータ制御部５２に、ローカルメモリ４２からパラメータの読み込みを指示する。パラメータ制御部５２は、読み込んだパラメータをキャッシュリード制御部５８に転送する。
【００４６】
内部コントローラ５４は、キャッシュリード制御部５８を、このパラメータに基づいてキャッシュメモリの目的とするアドレスにあるデータにアクセスさせる。内部コントローラ５４は、キャッシュリード制御部５８にキャッシュメモリ２６から読み込んだデータを暗号化・複号化回路６０まで転送させる。
【００４７】
暗号化・複号化回路６０は、キャッシュメモリ２６から読み込んだデータに対して所定の方式の暗号化アルゴリズムを実行して暗号化処理を適用し、内部コントローラ５４は、暗号化処理されたデータを、キャッシュリード制御部５８を介してＨＤＤ３０に転送させる。
【００４８】
一方、アダプターモジュール４０が、ＨＤＤ３０から読み出したデータをキャッシュメモリ２６にステージする際は、内部コントローラ５４は、キャッシュライト制御部５６が、パラメータ制御部５２によって指定されたパラメータに係る、キャッシュメモリ２６のアドレスに、暗号化されたデータを複号化処理した上でキャッシュメモリ２６に転送するようにさせる。
【００４９】
図４は、複数のＨＤＤ３０によって構成されるＲＡＩＤグループと、ディスクアダプタ２８との接続関係を示すブロック図である。複数のディスクアダプタ２８Ａ，２８Ｂ，２８Ｃ，２８Ｄのそれぞれは、複数のＨＤＤ３０とファイバーチャネルのＦＣ−ＡＬ４００によって接続されている。
【００５０】
各ディスクアダプタ２８は４つのポート２９を有している。１つのＦＣ−ＡＬループに接続しているＨＤＤ（００〜０９）は一対のディスクアダプタ（ディスクアダプタ２８Ａ及び２８Ｂ）の両方に接続していることにより、ディスクアダプタとＨＤＤとの接続に関して、冗長化が実現されている。他のＨＤＤ及びディスクアダプタ２８Ｃ及び２８Ｄについても同様である。
【００５１】
図４において、例えば、ＲＡＩＤグループ（ＲＧ）１は、ＨＤＤ００，ＨＤＤ１０、ＨＤＤ２０、及びＨＤＤ３０によって構成され、ＲＧ２は、ＨＤＤ４１，ＨＤＤ５１、ＨＤＤ６１、及びＨＤＤ７１によって構成され、ＲＧ３は、ＨＤＤ０３、ＨＤＤ１３、・・・・ＨＤＤ７３によって構成されていることを示している。
【００５２】
ＲＡＩＤグループのＲＡＩＤ構成、すなわち、ＲＡＩＤグループを構成するＨＤＤの数によって、ＨＤＤの制御を担当するＤＫＡ（ディスクアダプタ）の数が決まる。ＲＡＩＤグループが４つのＨＤＤから構成される場合は、担当するＤＫＡは２８Ａ及び２８Ｂ、又は、２８Ｃ及び２８Ｄの二つであり、ＲＡＩＤグループを構成するＨＤＤ数が“８”である場合には、２８Ａ〜２８Ｄの４つのＤＫＡがＨＤＤに接続されている。
【００５３】
ストレージ装置１０はキャッシュメモリ２６からのデータをＲＡＩＤグループ毎に暗号化することができる。図５は、複数あるＤＫＡのそれぞれについて暗号化対応の有無を管理するＤＫＡ管理テーブルである。
【００５４】
管理装置の３２の管理プログラムは、管理クライアントに対して、ＤＫＡが暗号化対応のものか、そうでないかの情報を提供する。この管理プログラムは、例えばＤＫＡの増設時に、ＤＫＡのレジスタ(例えば、図３に示すローカルメモリ４２)に記録されたＬＳＩのレビジョン情報を参照して、複数のＤＫＡ毎に暗号化が可能か、否かの表示などの情報を管理クライアントに提供する。保守員が管理クライアントを用いて、増設するＤＫＡのパッケージ種別(暗号化対応ＤＫＡ又は暗号化非対応ＤＫＡ)を指定すると、管理プログラムはこの指定に基づく入力情報を参照して、図５のテーブルにパッケージ種別として暗号化対応（enable）、暗号化非対応（disable）を登録する。
【００５５】
なお、管理クライアントのユーザである保守員が、暗号化ＤＫＡに対して非暗号化ＤＫＡと、或いはその逆であると、管理プログラムは、入力情報とレジスタの情報とを比較して、エラー情報をユーザに報告する。ＳＶＰは、ＤＫＡ暗号化テーブルを共有メモリ２２に登録する。
【００５６】
また、なお、他の実施例として、ストレージ装置１０の起動時、複数あるチャネルアダプタ１６の少なくとも１つのマイクロプロセッサＭＰは、複数あるディスクアダプタ２８から、ベンダー名、装置製番などを読み込んで、ＳＶＰ３２の管理クライアントに提供することでもよい。管理クライアントのユーザは、クライアント装置の管理画面上で、複数ある各ディスクアダプタ２８について、ベンダ名、装置製番などを確認し、複数のＤＫＡ２８のそれぞれが暗号化対応になっているかを判定し、入力用のＧＵＩに、暗号化対応（enable）、暗号化非対応（disable）を入力すると、ＤＫＡ管理化テーブルに複数のＤＫＡのＩＤ毎に入力情報が図５に示すように登録される。
【００５７】
図６はＲＡＩＤグループと、ＲＡＩＤグループを構成するＤＫＡと、ＲＡＩＤグループに対する暗号化をオン／オフ設定することとの関係を表す管理テーブル（ＲＡＩＤグループ管理テーブル）である。
【００５８】
ＳＶＰ３２に接続する管理クライアントは、この管理テーブルを作成するためにＧＵＩをユーザに提供する。ユーザは、ＲＡＩＤグループのエントリ（ＲＧ ＩＤ）毎に、ＲＡＩＤの構成（ＲＧ構成）、ＲＡＩＤグループを構成するＤＫＡ（ＤＫＡＩＤ）、ＲＡＩＤグループに対して、データの暗号化を設定するか否かのオン／オフを決定し、これを管理クライアント端末に入力する。管理クライアントは、ＤＫＡＩＤを図５の管理テーブルを参照することによって認識することができる。
【００５９】
ＳＶＰ３２の管理プログラムは、この入力を受けて、図５の管理テーブルを参照し、暗号化がオン/又はオフに設定されたＲＡＩＤグループＩＤに対して決定された複数のＤＫＡの全てが暗号化対応であるか否かを判定し、少なくとも１つのＤＫＡが暗号化非対応であると、暗号化のステイタスに関して“ＯＦＦ”を設定する。
【００６０】
ＳＶＰ３２の管理プログラムは、全てのＤＫＡが暗号化対応であると判定すると、ユーザからの入力に基づいて暗号化について“ＯＮ”又は“ＯＦＦ”を設定する。この場合の“ＯＦＦ”とは、ＲＡＩＤグループが暗号化機能を有するものの、暗号化機能を休止状態にすることをいう。
【００６１】
図５において、ＲＡＩＤグループ４（ＲＡＩＤ＝４）は、ＤＫＡＩＤ＝１からＤＫＡＩＤ＝４までの４つのＤＫＡによって構成され、図５に示すように、これらＤＫＡはいずれも暗号化対応機能を有する(Enable)ことから、暗号化設定欄には“ＯＮ”」が設定されている。
【００６２】
一方、ＲＡＩＤグループ２は、同じ複数のＤＫＡによって構成されているものの、ユーザからの入力に応じて暗号化に関する設定欄には“ＯＦＦ”が登録されている。
【００６３】
一方、ＲＡＩＤグループ９はＤＫＡＩＤ＝５からＤＫＡＩＤ＝８までのＤＫＡによって構成されるが、ＩＤ＝７とＩＤ＝８のＤＫＡは、暗号化非対応(Disable)であるため、管理プログラムは、暗号化設定欄にユーザの入力に関係なく“ＯＦＦ”を強制設定する。
【００６４】
図７は、ストレージ装置１０の記憶構造を示すブロック図である。複数あるチャネルアダプタの何れかのチャネルアダプタ１６に関連するブロック図であるとして、以下説明する。
【００６５】
チャネルアダプタ１６のターゲットポート１８には、通信ネットワーク１４を介してホスト計算機１２が接続されている。
【００６６】
ＬＵ（Logical Unit）１００,１０２は、Ｉ/Ｏコマンドを実行するＳＣＳＩターゲット内のエンティティであって、各ＬＵはターゲットポート１８を介してホスト計算機１２にマッピングされている。ホスト計算機は、複数あるＬＵのそれぞれを認識して、かつ、各ＬＵを区別して、目的とするＬＵにデータを発行する。
【００６７】
ＰＤＥＶ（Physical Device）１０５，１０７はハードディスクドライブ３０に該当する。ＰＤＥＶの物理的な記憶領域とＬＵとを対応させる論理的記憶階層は、例えば、複数の階層から構成される。
【００６８】
一つの論理的階層は、ＲＡＩＤグループに相当するＶＤＥＶ（Virtual Device）１０８，１１０である。他の一つの論理的階層は、ＬＤＥＶ（Logical Device）１０４，１０６である。
【００６９】
ＰＤＥＶで括られたグループに属するＨＤＤが集合して、１つのＲＡＩＤグループ（ＶＤＥＶ）になっている。ＬＤＥＶ１０４はＶＤＥＶ１１０に、ＬＤＥＶ１０６はＶＤＥＶ１０８に対してそれぞれ対応付けされている。ＬＤＥＶは各ＲＡＩＤグループの下の階層に設定され、ＶＤＥＶを固定長で分割することにより構成される、
ホスト計算機１０がオープン系のものであると、ＬＤＥＶがＬＵにマッピングされる。オープン系のホストは、ＬＵＮ（Logical Unit Number）と論理ブロックアドレスを指定或いは特定することにより、所望のＬＤＥＶにアクセスする。なお、メインフレーム系ホストの場合は、ＬＤＥＶを直接認識する。
【００７０】
複数ある各ＬＵには、少なくとも一つ以上のＬＤＥＶを関連付けることができる。一つのＬＵに複数のＬＤＥＶを関連付けることにより、ＬＵサイズを仮想的に拡張することができる。
【００７１】
ホスト計算機１０からのデータが、暗号化設定がされたＲＡＩＤグループ（ＶＤＥＶ）に属するＬＤＥＶに対して発行されることにより、このデータが暗号化機能を備えたＤＫＡで暗号化されＨＤＤに格納される。
【００７２】
ホスト計算機のクライアントがデータの暗号化を欲する際は、暗号化対応のＬＤＥＶがマッピングされたＬＵにアクセスすればよい。
【００７３】
一方、ホスト計算機のクライアントがデータを暗号化しないことを欲する場合は、暗号化非対応のＬＤＥＶがマッピングされたＬＵにアクセスすればよい。
【００７４】
ポート-ＬＵ-ＬＤＥＶ-ＶＤＥＶ-ＰＤＥＶ間の対応関係は、ＳＶＰに接続する管理クライアントによって作成される。この対応関係は管理テーブルとして、共有メモリ２２に登録されている。
【００７５】
図８は、ＲＡＩＤグループ（ＶＤＥＶ）とＬＤＥＶとの対応関係の一例を示すＬＤＥＶ管理テーブルである。管理クライアントがＲＡＩＤグループ対してＬＤＥＶを作成する際、ＳＶＰの管理プログラムがこの管理テーブルに各種情報を登録する。１つのＲＡＩＤグループに複数のＬＤＥＶを設定することができる。ＬＤＥＶが閉塞された場合には、“Status”に“閉塞”が設定される。この管理テーブルはＳＶＰによって、共有メモリ２２に格納されている。
【００７６】
図９は、ＲＡＩＤグループと、ＲＡＩＤグループを構成するＨＤＤとの対応関係を示すテーブルである。ＲＡＩＤの種別・構成によって、図４等に示すように、ＲＡＩＤグループを構成するＨＤＤの数が異なってくる。図８の“容量”にはＬＤＥＶに対して設定された論理的な記憶容量が登録される。図９の“容量”にはＨＤＤの物理的な記憶容量が設定される。“回転数”にはＨＤＤの最高回転速度が登録される。
【００７７】
図１０は、ＳＶＰの管理プログラムが実行する、ＤＫＡが暗号化機能を有しているか否かの制御情報を設定するためのフローチャートである。このフローチャートは、ストレージ装置１０にＤＫＡを搭載した時にスタートして、管理プログラムは、管理クライアントから入力された情報により、あるいは、ストレージ装置１０が、全てのＤＫＡから所定の情報を収集することにより、各ＤＫＡについてＩＤを割り振り、そして各ＤＫＡについて暗号化対応の有無を判定する。
【００７８】
管理プログラムは、この情報に基づいて各ＤＫＡについて、暗号化対応（Enable），暗号化非対応（Disable）を判定し(１０００)、ＤＫＡが暗号化非対応のものと判定すると、そのＤＫＡに対する判定結果として、図５に示す管理テーブルに“Disable”登録する(１００２)。
【００７９】
一方、ＤＫＡが暗号化対応のものと判定すると、そのＤＫＡに対する判定結果として、図５に示す管理テーブルに“Enable”を登録する(１００４)。
【００８０】
次に、管理プログラムは、共有メモリ２２を参照して暗号鍵が存在するか否かを判定し(１００６)、暗号鍵が存在すればフローチャートを終了する。
一方、暗号鍵が存在しない場合には、ＳＶＰ３２が暗号鍵を生成し、次いで、生成した暗号鍵を暗号化し共有メモリ２２に格納して（１０１０）、フローチャートを終了する。
【００８１】
なお、暗号化されたデータの複号のためのコードは、ＤＫＡの既述のレジスタに設定されている。暗号化コードはＳＶＰからＤＫＡのローカルメモリに設定しても、あるいは、ＳＶＰからユーザが見えないようにして、レジスタに設定されるためのものでもよい。
【００８２】
図１１はＲＡＩＤグループに暗号化処理に対するオン又はオフを設定する処理に係るフローチャートである。ＳＶＰの管理プログラムは、図４に示す、複数のＤＫＡと、複数のＨＤＤと、各ＤＫＡと複数のＨＤＤとの接続関係を認識し、管理クライアントからの入力に基づいてＲＡＩＤグループを作成する（１１００）。
【００８３】
管理プログラムは、管理クライアントからの入力に基づいて、ＲＡＩＤグループ毎にＩＤを与え、各ＲＡＩＤグループについてＲＡＩＤ構成を設定し、そのＲＡＩＤ構成を実現するＤＫＡのＩＤを決定することによって、ＲＡＩＤグループを作成する。
【００８４】
次に、管理プログラムは、管理クライアントからの入力に基づいて、暗号化のオン又はオフを設定すべき対象となるＲＡＩＤグループを選択する（１１０２）。
【００８５】
次に、管理プログラムは、選択したＲＡＩＤグループを構成する複数のＤＫＡのＩＤについて(図６参照)、図５に示すＤＫＡ管理テーブルを参照して、全てのＩＤに係るＤＫＡが暗号化対応“Enable”であるか否かを判定する(１１０４)。
【００８６】
管理プログラムがこの判定を否定すると、図５の管理テーブルの暗号化ＯＮ／ＯＦＦ設定欄に暗号化をすべきＤＫＡではないことを示す制御記号“ＯＦＦ”を登録して処理を終了する(１１０６)。
【００８７】
一方、全てのＩＤに係るＤＫＡが暗号化対応のものであれば、管理クライアントに、ＲＡＩＤグループに暗号化の設定を行うか否かの入力を求める(１１０８)。管理プログラムが管理クライアントからの入力が暗号化設定を“ＯＦＦ”するというものであれば、既述のステップ１１０６に移行する。
【００８８】
一方、暗号化設定をオンするというものであれば、管理プログラムは暗号鍵が存在するか否かをチェックし(１１１０)、暗号鍵が存在すれば、ＲＡＩＤ管理テーブルの暗号化ＯＮ／ＯＦＦ設定欄にオンを設定する。反対に、暗号鍵が壊れるなど、暗号鍵が存在しない状態では、管理プログラムは、暗号鍵の生成或いは復旧を管理クライアントに促すために、管理クライアント又はホスト計算機に暗号化についてオンが設定できない旨を通知して処理を終了する(１１１４)。
【００８９】
次に、ホスト計算機からストレージ装置へのライト処理を図１２に基づいて説明する。ホスト計算機がライトコマンドを発行したこととは非同期に、複数のＤＫＡ２８はそれぞれ共有メモリ２２を参照する。
【００９０】
自身に対するライトコマンドを見つけたＤＫＡ２８のＭＰ（マイクロプロセッサ）は、キャッシュメモリ２６のダーティデータをＨＤＤにデステージ処理することを開始する（１２００）。
【００９１】
ＭＰは、ライトコマンドに含まれているライトデータの格納先であるＬＤＥＶの識別番号に基づいてＬＤＥＶ番号を決定する。そして、図８の管理テーブルを参照して、ＬＤＥＶ番号からＬＤＥＶが存在するＲＡＩＤグループＩＤを特定する(１２０２)。
【００９２】
ＤＫＡのＭＰは、ＲＡＩＤ管理テーブル（図６）の暗号化設定欄を参照して、ＲＡＩＤグループＩＤに対する制御情報をチェックする（１２０４）。ＭＰが制御情報として“ＯＦＦ”を検出すると、内部コントローラ５４（図３）に、キャッシュメモリ２６からデータを読み込んで暗号化することなくＨＤＤに転送すべき制御命令と、データを読み出すべき、キャッシュメモリのアドレス等に関連する転送パラメータをローカルメモリ４２に格納する（１２０６）。
【００９３】
この制御命令を、内部コントローラ５４が参照すると、内部コントローラはパラメータ制御部５２に対して、ローカルメモリを参照してパラメータをキャッシュリード制御部５８に転送する。
【００９４】
キャッシュリード制御部は、パラメータを参照してキャッシュメモリ２６からデータを読み出し、暗号化・複号化回路６０にデータを転送することなく、データをＨＤＤ３０に転送する(１２２４)。
【００９５】
ＭＰが暗号化に係る設定がオンであることを検出すると、共有メモリ２２から暗号化された暗号鍵を取得することをこころみる(１２０８)。取得が成功すると(１２０８)、ＭＰは、暗号鍵を複号し（１２１６）、転送パラメータに複号した暗号鍵を設定して(１２１８)、ローカルメモリ４２にこのパラメータを格納する。内部コントローラ５４はローカルメモリ４２を参照して、暗号鍵の情報を含んだパラメータのキャッシュリード制御部５８への転送をパラメータ制御部５２に命令する。
【００９６】
このパラメータを受領したキャッシュリード制御部５８は、暗号鍵とキャッシュメモリからのデータを暗号化・複号化回路６０に転送する(１２２０)。暗号化・複号化回路６０は、暗号鍵を用いてデータを暗号化し(１２２２)、暗号化処理したデータをキャッシュリード制御部５８に転送する。キャッシュリード制御部は暗号化されたデータをＨＤＤ３０に転送する（１２３４）。
【００９７】
一方、ＭＰが暗号鍵の取得に失敗した場合は、ＭＰはＳＶＰ又はホスト計算機にライトエラーの報告を行い（１２１２）、ＭＰはＲＡＩＤグループに属する全てのＬＤＥＶを閉塞し、閉塞したＬＤＥＶ管理テーブル（図８）のStatusに“閉塞”を意味する制御情報を登録する。
【００９８】
図１３は、ＤＫＡがホスト計算機からのリード命令を実行するフローチャートを示している。ＤＫＡのＭＰが共有メモリ２２を参照して、ホスト計算機からのリード命令を受領すると(１３００)、リード命令の対象となったＬＤＥＶが属するＲＡＩＤグループについて暗号化に対する設定がオン又はオフであるかをチェックする（１３０２、１３０４）。
【００９９】
ＭＰがその設定がオフであると判定すると、リード命令に含まれた、ＬＤＥＶの論理アドレスからＨＤＤの物理アドレスを求め、内部コントローラ５４は、パラメータ制御部５２に、この物理アドレスに対応するパラメータをローカルメモリ４２に設定する（１３０６）ように指示する。
【０１００】
内部コントローラ５４は、パラメータ制御部５２に、ローカルメモリ４２に設定されたパラメータをキャッシュライト制御部５６が転送するように指示する。
【０１０１】
キャッシュライト制御部５６に、パラメータに基づいて、ローカルメモリのＨＤＤ３０に格納されている、目的とする、平文であるリードデータを取得し、暗号化・複号化鍵化回路６０でリードデータを複号化処理することなくキャッシュメモリ２６に転送する（１３２４）。
【０１０２】
一方、ＲＡＩＤグループに暗号化のオンが設定されていると、図１２と同様に、キャッシュライト制御部５６は、複号化した暗号鍵（複号鍵）と、ＨＤＤから読んだ暗号化処理されたデータとを、暗号化・複号化回路６０に転送し、暗号化処理されたデータを複号鍵で平文に複号し、平文になったデータをキャッシュメモリ６０に転送する（１３０８〜１３２４）。
【０１０３】
ステップ１３１４で、ＭＰが暗号鍵の取得に失敗すると、図１２と同様にエラー報告(１３１０)、全ＬＤＥＶの閉塞(１３１２)を行う。以上でリード処理を終了する。
【０１０４】
本実施形態に係わるストレージ装置は、ＲＡＩＤグループ間でデータのマイグレーションが可能である。例えば、ストレージ装置に暗号化対応のＤＫＡを増設した際、あるいは暗号化非対応のＤＫＡを暗号化対応のＤＫＡに交換した際に、第１のＲＡＩＤグループのデータを暗号化の設定がなされた第２のＲＡＩＤグループにマイグレーションすることによって、第１のＲＡＩＤグループのデータを暗号化処理することができる。このマイグレーションはマイグレーション元のＲＡＩＤグループとマイグレーション先のＲＡＩＤグループ間で、ＲＡＩＤグループ毎に実行すること、又は、ＬＤＥＶ毎にで実行することのいずれでも可能である。
【０１０５】
この第１のＲＡＩＤグループに属するデータを第２のＲＡＩＤグループにマイグレーションする際、マイグレーション先である第２のＲＡＩＤグループ全体の記憶領域、又は、データ移行先ＬＤＥＶを暗号化フォーマットする必要がある。
【０１０６】
図１４は暗号化フォーマットを説明するフローチャートである。先ず、ＳＶＰ３２は、管理クライアントからフォーマット要求を受領すると（１４００）、ＳＶＰは、ＲＡＩＤグループ管理テーブル（図６）を参照して、管理クライアントに、ＲＡＩＤグループの一覧を表示する。
【０１０７】
ＳＶＰは、管理クライアントからの入力に基づいて、フォーマット対象のＲＡＩＤグループを決定する（１４０２）。
【０１０８】
次いで、ＳＶＰの管理プログラムは、フォーマット対象のＲＡＩＤグループについて、管理テーブルを参照して、暗号化オン／オフ設定欄を調べ（１４０４）、オフが設定されていた場合はＲＡＩＤグループを暗号化フォーマットすることができないと判定して処理を終了する。
【０１０９】
一方、オンが設定されていることをＳＶＰが判定すると、暗号化フォーマットのための処理を継続する。なお、オフが設定されていても、ＳＶＰが、ＲＡＩＤグループを構成する全てのＤＫＡについて、図５の管理テーブルを参照して、“Enable”が設定されている場合は、ＲＡＩＤグループについて暗号化フォーマットが実質的には可能であるので、処理を終了することなく継続するようにしてもよい。
【０１１０】
次いで、ＳＶＰ３２は共有メモリ２２を参照して暗号鍵があるか否かをチェックし（１４０６）、暗号鍵が無い場合には、暗号化フォーマットが不可能であるとして処理を終了する。なお、暗号鍵を生成させて、再度暗号化フォーマット処理を実行してもよい。
【０１１１】
次いで，ＳＶＰは、図８に示すＬＤＥＶ管理テーブルを参照して、マイグレーション移行先のＲＡＩＤグループに属する、データ移行先ＬＤＥＶについてStatusをチェックし（１４０８）、当該ＬＤＥＶが閉塞状態でない場合には、ＳＶＰは処理を終了する。
【０１１２】
一方、このＬＤＥＶが閉塞されている場合には、ＳＶＰは、このマイグレーション先ＲＡＩＤグループを構成する複数あるＤＫＡの各ＤＫＡのＭＰにＬＤＥＶフォーマット処理を実行することを命令する。
【０１１３】
各ＤＫＡのＭＰは、ローカルメモリ４２のＬＤＥＶフォーマットプログラムを起動させ（１４１０）、共有メモリから暗号化された暗号鍵を取得する（１４１２）。少なくとも１つのＭＰが、暗号鍵の取得に失敗すると（１４１４）、このＭＰはＳＶＰ３２、又は、ＳＶＰ及びホスト計算機１２に暗号化フォーマットが失敗したことを報告する（１４１６）。
【０１１４】
ＳＶＰは、暗号鍵が共有メモリ２２に存在するものの、暗号鍵が取得できないとして、マイグレーション先ＲＡＩＤグループに属するＬＤＥＶの全てを図８の管理テーブルを参照して特定し、これを閉塞処理する（１４１８）。
【０１１５】
全てのＭＰが暗号鍵の取得に成功すると、各ＭＰは暗号鍵に設定されている暗号を複号化して（１４２０）、ローカルメモリ４２に暗号鍵の情報を含むパラメータを設定する（１４２２）。各ＭＰは、共有メモリ２２の論理アドレス−物理アドレスの変換テーブルを参照して、マイグレーション先ＬＤＥＶに対応する物理アドレスをローカルメモリ４２に格納する。
【０１１６】
マイグレーション先となるＬＤＥＶが属するＲＡＩＤグループを構成する関連ＤＫＡのＦＣＡの内部コントローラは、暗号化・複号化回路がローカルメモリを参照して暗号鍵を取得するようにし、物理アドレスで特定される、ＨＤＤの記憶領域に取得した暗号鍵で暗号化処理したゼロデータを書き込むようにすることにより、暗号化フォーマット処理を完了するようにする（１４２４）。
【０１１７】
なお、ＨＤＤ側でフォーマットする高速フォーマットでは暗号化フォーマットが不可能であるため、管理クライアントが高速フォーマットを選択しても、暗号化フォーマットが行われる過程では、ＤＫＡからＨＤＤをフォーマットする標準フォーマットが強制的に実行される。
【０１１８】
また、暗号鍵を複号化するのを、関連ＤＫＡの一つが行い、複号化した暗号鍵を他の関連ＤＫＡに接続部を介して転送してもよい。
【０１１９】
次に、暗号化フォーマットが終了した後に行われるマイグレーションでの処理を図１５に示すフローチャートを用いて説明する。
【０１２０】
ＳＶＰ３２は、管理クライアントからのマイグレーション要求と、データマイグレーション元のＬＤＥＶと、データマイグレーション先ＬＤＥＶと、を設定する要求を認識すると、マイグレーション元ＬＤＥＶが属するＲＡＩＤグループを図８のＬＤＥＶ管理テーブルを参照して求める。
【０１２１】
ＳＶＰはこのＲＡＩＤグループを構成するＨＤＤ（ＰＤＥＶ）を、図９のＨＤＤ管理テーブルを参照して決定する（１５００）。ＳＶＰはマイグレーション先となるＨＤＤを同様にして決定する（１５０２）。
【０１２２】
ＳＶＰが管理クライアントからマイグレーションを実行する指示を受けると（１５０４）、マイグレーション元のＨＤＤが接続された複数のＤＫＡのそれぞれのＭＰが、ＬＤＥＶに対応する、複数のＨＤＤの物理アドレスから目的デーを読み出して、これをキャッシュメモリ２６にステージ処理する（１５０６）。
【０１２３】
次いで、マイグレーション先のＨＤＤが接続された複数のＤＫＡはそれぞれ、
マイグレーション先のＬＤＥＶが属するＲＡＩＤグループについて暗号化がオンされているかをＲＡＩＤグループ管理テーブルおよびＬＤＥＶ管理テーブルを参照して判定する（１５０８）。
【０１２４】
ＤＫＡが、オンが設定されている、と判定すると、キャッシュメモリから目的のデータを順次リードしながら暗号化処理を行い（１５１０）、暗号化処理されたデータを転送先ＬＤＥＶに対応する、複数のＨＤＤに順次コピーする（１５１２）。
【０１２５】
一方、ＲＡＩＤグループに対して暗号化がオフに設定されていると、ＤＫＡは、平文を暗号文にマイグレーションを利用して変換する処理が出来ない旨の通知を、ＳＶＰを介して管理クライアントに送信する。この通知を受けたＳＶＰは管理クライアントに対して、マイグレーション処理を継続するか否かを問い合わせる。
【０１２６】
管理クライアントが、マイグレーションの継続を選択すると、その選択結果をＤＫＡが受信して、暗号化を伴うことなくキャッシュメモリから読み出したデータをＨＤＤに順にコピーする。
【０１２７】
一方、マイグレーションの中止を管理クライアントが選択すると、ＳＶＰはマイグレーションを終了する。
【０１２８】
このマイグレーションの開始された以降、ホスト計算機から、データが暗号化されない、転送元ＬＤＥＶに対して発行されたライトコマンドは、マイグレーションの過程で、或いはマイグレーションの終了後、転送先ＬＤＥＶに発行され、ライトデータは暗号化されて転送先ＬＤＥＶに格納される。
【０１２９】
前記暗号化・複号化回路６０は、例えば図１６のように構成されて、暗号化と複号化とを関連させて行い、データの保障を行っている。図１６において、暗号化・複号化回路は、データを暗号化する暗号部６００と、暗号化されたデータを複号化する複号部６０２と、暗号化前の平文データからＣＲＣ３２チェックサム（保障コード）を生成する第１のＣＲＣ３２ジェネレータ６０４と、複号化された平文データからＣＲＣサックサムを生成する第２のＣＲＣジェネレータ６０６と、第１のジェネレータによって生成されたＣＲＣ３２チェックサムと第２のジェネレータで生成されたＣＲＣ３２チェックサムとを比較する比較回路６０８とを備えている。
【０１３０】
データの暗号時では、暗号化・複号化回路は、データを暗号器６００で暗号化しながら、平文を第１のジェネレータ６０４に供給してＣＲＣ３２を生成する。
【０１３１】
暗号化・複号化回路は、暗号部で暗号化されたデータを複号器６０２で複号化しながら得られた平文データを第２のジェネレータ６０６に供給する。そして、比較回路６０８は、第１のジェネレータ６０４と第２のジェネレータ６０４からそれぞれ冗長データを取得し、これらを比較する。この比較の結果、両者が一致しない場合には、その旨を内部コントローラ５４に通知する。
【０１３２】
この通知を受けた内部コントローラはＭＰ４４を介して管理装置に報告する。管理装置はこの旨をユーザに通知する。
【０１３３】
一方、データの複号時は、データの暗号時とは逆であり、前記暗号化器６００が複号化器として機能し、前記複号化器６０２が暗号化器として機能する。
暗号化・複号化回路は、暗号文を複号化しながら複号前の暗号データからＣＲＣ３２を生成する。そして、複号化されたデータを暗号化し、暗号化されたデータからＣＲＣ３２を生成する。これら二つのＣＲＣ３２を比較する。
【０１３４】
図１６記載の暗号化・複合化装置は、データを暗号化する暗号化部と、暗号化後のデータを複号化する複号化部と、第１の保障コードを生成する第１の保障コード生成部と、第２の保障コードを生成する第２の保障コード生成部と、前記第１の保障コードと前記第２の保障コードとを比較する比較部と、を備え、データを暗号化する際、前記第１の保障コード生成部が暗号化前のデータから前記第１の保障コードを生成し、当該データが前記暗号化部で暗号化された後、当該暗号化されたデータを前記複号化部で複号化し、次いで前記第２の保障コード生成部が複号化されたデータから前記第２の保障コードを生成し、前記比較部が当該第１の保障コードと前記第２の保障コードとを比較し、データを複号化する際、前記第１の保障コード生成部が複号化前のデータから前記第１の保障コードを生成し、当該データが前記複号化部で複号化された後、当該複号化されたデータを前記暗号化部で暗号化し、次いで前記第２の保障コード生成部が当該暗号化されたデータから前記第２の保障コードを生成し、前記比較部が当該第１の保障コードと前記第２の保障コードとを比較することを特徴とする。
【０１３５】
したがって、図１６に記載のデータの暗号化・複号化装置は、データを暗号化しながら、暗号化前のデータと暗号化後のデータとの整合性を保障し、また、暗号化後のデータを復号化しながら復号化前のデータと復号化後のデータとの整合性を保障することができる。
【０１３６】
既述の実施形態では、暗号鍵の生成をＳＶＰが行うことを説明したが、暗号化対応のＤＫＡが暗号鍵を生成してローカルメモリに格納するようにしてもよい。また、暗号化対応のＤＫＡが複数存在する場合には、代表のＤＫＡが暗号鍵を生成して、他のＤＫＡに暗号鍵を転送してもよい。
【図面の簡単な説明】
【０１３７】
【図１】ストレージ装置と、複数のホスト計算機と、を備えたストレージシステムのブロック図である。
【図２】ディスクアダプタのブロック図である。
【図３】アダプターモジュールのブロック構成を示す図である。
【図４】複数のＨＤＤによって構成されるＲＡＩＤグループと、ディスクアダプタとの接続関係を示すブロック図である。
【図５】複数あるＤＫＡのそれぞれについて暗号化対応の有無を管理するＤＫＡ管理テーブルである。
【図６】ＲＡＩＤグループと、ＲＡＩＤグループを構成するＤＫＡと、ＲＡＩＤグループに対する暗号化をオン／オフ設定することとの関係を表す管理テーブル（ＲＡＩＤグループ管理テーブル）である。
【図７】ストレージ装置の記憶構造を示すブロック図である。
【図８】ＲＡＩＤグループ（ＶＤＥＶ）とＬＤＥＶとの対応関係の一例を示すＬＤＥＶ管理テーブルである。
【図９】ＲＡＩＤグループと、ＲＡＩＤグループを構成するＨＤＤとの対応関係を示すテーブルである。
【図１０】ＳＶＰの管理プログラムが実行する、ＤＫＡが暗号化機能を有しているか否かの制御情報を設定するためのフローチャートである。
【図１１】ＲＡＩＤグループに暗号化処理に対するオン又はオフを設定する処理に係るフローチャートである。
【図１２】ホスト計算機からストレージ装置へのライト処理を示すフローチャートである。
【図１３】ＤＫＡがホスト計算機からのリード命令を実行するフローチャートである。
【図１４】暗号化フォーマットを説明するフローチャートである。
【図１５】暗号化フォーマットが終了した後行われるマイグレーションでの処理を示すフローチャートである。
【図１６】暗号化・複号化回路の一例の機能ブロック図である。
【符号の説明】
【０１３８】
１０  ストレージ装置、１２  ホスト計算機、１４  通信ネットワーク、１６  チャネルアダプタ、１８  ディスクアダプタ、３０  ハードディスクドライブ。
【図１】
2010009306.tif 000003
【図２】
2010009306.tif 000004
【図３】
2010009306.tif 000005
【図４】
2010009306.tif 000006
【図５】
2010009306.tif 000007
【図６】
2010009306.tif 000008
【図７】
2010009306.tif 000009
【図８】
2010009306.tif 000010
【図９】
2010009306.tif 000011
【図１０】
2010009306.tif 000012
【図１１】
2010009306.tif 000013
【図１２】
2010009306.tif 000014
【図１３】
2010009306.tif 000015
【図１４】
2010009306.tif 000016
【図１５】
2010009306.tif 000017
【図１６】
2010009306.tif 000018