(57)【要約】【課題】暗号化機能を有したストレージ仮想化装置の負荷を軽減する。【解決手段】ストレージ仮想化装置に、判定部を備える。判定部は、上位装置から受信したライト要求で指定されている外部論理ボリュームを有する外部ストレージサブシステムに暗号化機能が有るか否かの判定を行う。ストレージ仮想化装置は、その判定の結果が否定的であれば、ライト要求に従うデータを自身の暗号化機能によって暗号化してから外部ストレージサブシステムに送信するが、判定の結果が肯定的であれば、ライト要求に従うデータを自身の暗号化機能によって暗号化することなくそのまま外部ストレージサブシステムに送信する。【選択図】図１
2008250393.tif 000002
【特許請求の範囲】
【請求項１】
外部に存在する第一のストレージサブシステムである第一の外部ストレージサブシステムが有する第一の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供するストレージ仮想化部と、
データを暗号化する暗号処理部と、
キャッシュ領域と、
上位装置に対するインタフェースであって、前記上位装置からデータのライト要求を受信する上位インタフェース部と、
外部ストレージサブシステムに対するインタフェースである外部インタフェース部と、
前記上位インタフェース部及び／又は前記外部インタフェース部で受信したデータを前記キャッシュ領域に記憶させるキャッシュ部と、
前記受信したライト要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行う判定部と、
前記第一の判定の結果が肯定的であれば、前記キャッシュ領域上のデータを前記暗号処理部に暗号化させることなく、そのデータを前記第一の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第一の外部ストレージサブシステムに送信し、一方、前記第一の判定の結果が否定的であれば、前記キャッシュ領域上のデータを前記暗号処理部に暗号化させることで暗号データを生成させ、その暗号データを前記第一の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第一の外部ストレージサブシステムに送信するＩ／Ｏ処理部と
を備えるストレージ仮想化装置。
【請求項２】
前記暗号処理部がデータの暗号化に使用した電子的な鍵である暗号鍵を記憶領域に登録する暗号鍵登録部、を更に備えた、
請求項１記載のストレージ仮想化装置。
【請求項３】
前記記憶領域に記憶されている暗号鍵が変更されたことを契機として、前記第一の外部論理ボリュームに記憶されているデータを第二の外部論理ボリュームにコピーするコピー処理を実行するコピー処理部、を更に備え、
前記ストレージ仮想化部は、少なくとも前記コピー処理の完了した後、前記第二の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供する、
請求項２記載のストレージ仮想化装置。
【請求項４】
外部に存在する第二のストレージサブシステムであり第二の外部論理ボリュームを有した第二の外部ストレージサブシステムがあり、
前記第一の外部論理ボリュームに記憶されているデータを前記第二の外部論理ボリュームにコピーするコピー処理を実行するコピー処理部、を更に備え、
前記ストレージ仮想化部は、少なくとも前記コピー処理の完了した後、前記第二の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供する、
請求項２記載のストレージ仮想化装置。
【請求項５】
前記判定部は、前記第二の外部ストレージサブシステムが第二の暗号化機能を有するか否かの第二の判定を行い、
前記コピー処理部は、前記第二の判定の結果が肯定的であるか否定的であるかに基づいて、前記コピー処理を制御する、
請求項４記載のストレージ仮想化装置。
【請求項６】
前記コピー処理部は、前記第一の外部ストレージサブシステムに前記第一の暗号化機能が有る場合には、前記第一の外部論理ボリュームに記憶されている暗号データが前記第一の暗号化機能によって復号化されたことにより得られたデータを前記第一の外部ストレージサブシステムから受信し、一方、前記第一の外部ストレージサブシステムに前記第一の暗号化機能が無い場合には、前記第一の外部論理ボリュームに記憶されている暗号データを前記第一の外部ストレージサブシステムから受信し、前記記憶領域に記憶されている暗号鍵を用いて該暗号データを復号化することを前記暗号処理部に実行させる、
請求項４記載のストレージ仮想化装置。
【請求項７】
前記コピー処理部は、前記第二の外部ストレージサブシステムに前記第二の暗号化機能が有る場合には、前記第一の外部論理ボリュームの暗号データが復号化されることにより得られたデータを、前記暗号処理部に暗号化させることなく前記第二の外部ストレージサブシステムに送信し、一方、前記第二の外部ストレージサブシステムに前記第二の暗号化機能が無い場合には、前記第一の外部論理ボリュームの暗号データが復号化されることにより得られたデータを、前記暗号処理部に暗号化させ、該暗号化により得られた暗号データを、前記第二の外部ストレージサブシステムに送信する、
請求項４記載のストレージ仮想化装置。
【請求項８】
前記コピー処理部は、前記第二の外部ストレージサブシステムに第二の暗号化機能が無く、且つ、前記第一の外部論理ボリュームに記憶されているデータが、前記暗号処理部によって暗号化されたデータである暗号データであるならば、その暗号データを前記第一の外部論理ボリュームからリードし、前記記憶領域に記憶されている暗号鍵を用いてその暗号データを復号化することと、該復号化により得られたデータを暗号鍵を用いて暗号化することとを前記暗号処理部に実行させ、該暗号化により得られた暗号データを前記第二の外部論理ボリュームに書込むことのライト要求を、前記外部インタフェース部を通じて前記第二の外部ストレージサブシステムに送信する、
請求項４記載のストレージ仮想化装置。
【請求項９】
前記復号化に用いられる第一の暗号鍵と、前記復号化後の前記暗号化に用いられる第二の暗号鍵とが異なり、
前記暗号鍵登録部が、前記記憶領域に記憶されている前記第一の暗号鍵を、前記暗号化に用いられる第二の暗号鍵に更新する、
請求項８記載のストレージ仮想化装置。
【請求項１０】
前記暗号鍵登録部が、前記第一の外部論理ボリュームに記憶されているデータが、前記第一の暗号化機能によって暗号化されたデータである暗号データであるならば、前記第一の暗号化機能によるその暗号化に用いられた、前記第一の外部ストレージサブシステムに記憶されている暗号鍵を取得し、該取得した暗号鍵を前記記憶領域に登録する、
請求項４記載のストレージ仮想化装置。
【請求項１１】
前記コピー処理部が、前記第二の外部ストレージサブシステムに第二の暗号化機能が無い場合、前記第一の外部論理ボリュームに記憶されている暗号データを、前記第一の暗号化機能によって復号化させることなくそのまま前記第一の外部論理ボリュームから読出し、該暗号データを、前記暗号処理部によって暗号化させることなくそのまま前記第二の外部論理ボリュームに書込む、
請求項１０記載のストレージ仮想化装置。
【請求項１２】
前記コピー処理部が、前記第二の外部ストレージサブシステムに第二の暗号化機能が無い場合、前記第一の外部論理ボリュームに記憶されている暗号データが前記第一の暗号化機能によって復号化されたことにより得られたデータを前記第一の外部ストレージサブシステムから前記外部インタフェース部を通じて受信し、前記記憶領域に登録された暗号鍵とは別の暗号鍵を用いてその受信したデータを暗号化することを前記暗号処理部に実行させ、該暗号化によって得られた暗号データを、前記第二の外部論理ボリュームに書込み、
前記暗号鍵登録部が、前記記憶領域に記憶されている暗号鍵を、前記別の暗号鍵に更新する、
請求項１０記載のストレージ仮想化装置。
【請求項１３】
前記上位インタフェース部が、前記第一の外部論理ボリュームに記憶されている暗号データが前記第二の外部論理ボリュームに前記コピー処理によりコピーされた後、前記第二の外部論理ボリュームを指定したリード要求を受信し、
前記判定部が、前記第一の判定として、前記受信したリード要求で指定されている前記第二の外部論理ボリュームを有する前記第二の外部ストレージサブシステムに第二の暗号化機能が有るか否かの判定を行い、
前記Ｉ／Ｏ処理部が、前記第二の外部ストレージサブシステムに第二の暗号化機能が無いならば、前記リード要求に応答して、前記第二の外部論理ボリュームから暗号データを読み出すことのリード要求を前記第二の外部ストレージサブシステムに送信し、前記第二の外部論理ボリュームから読み出された暗号データを前記外部インタフェース部が受信し前記キャッシュ部がその暗号データを前記キャッシュ領域に記憶させた後、前記記憶領域に登録された暗号鍵を用いて前記キャッシュ領域上の暗号データを復号化することを前記暗号処理部に実行させ、該復号化により得られたデータを、前記上位インタフェース部を通じて前記上位装置に送信する、
請求項１０記載のストレージ仮想化装置。
【請求項１４】
前記上位インタフェース部が、前記第一の外部論理ボリュームに記憶されている暗号データが前記第二の外部論理ボリュームに前記コピー処理によりコピーされた後、前記第二の外部論理ボリュームを指定したライト要求を受信し、
前記判定部が、前記第一の判定として、前記受信したライト要求で指定されている前記第二の外部論理ボリュームを有する前記第二の外部ストレージサブシステムに第二の暗号化機能が有るか否かの判定を行い、
前記Ｉ／Ｏ処理部が、前記第一の判定の結果が否定的であれば、前記キャッシュ領域上のデータを前記記憶領域に登録されている暗号鍵を用いて暗号化することを前記暗号処理部に実行させ、その暗号化により得られた暗号データを前記第二の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第二の外部ストレージサブシステムに送信する、
請求項１０記載のストレージ仮想化装置。
【請求項１５】
前記第一の外部論理ボリュームの暗号データがそのまま前記ストレージ仮想化装置を経由することなく前記第二の外部論理ボリュームに書込まれる、
請求項１０記載のストレージ仮想化装置。
【請求項１６】
前記記憶領域に記憶されている暗号鍵を定期的に又は不定的に変更する暗号鍵変更部、を更に備える、
請求項３記載のストレージ仮想化装置。
【請求項１７】
前記上位インタフェース部が、前記上位装置からデータのリード要求を受信し、
前記判定部が、前記受信したリード要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行い、
前記Ｉ／Ｏ処理部が、前記リード要求に応答して、前記第一の外部論理ボリュームからデータを読み出すことのリード要求を前記第一の外部ストレージサブシステムに送信し、前記外部インタフェース部が前記第一の外部ストレージサブシステムからデータを受信し前記キャッシュ部がそのデータを前記キャッシュ領域に記憶させた後、前記第一の判定の結果が肯定的であれば、前記キャッシュ領域上のデータをそのまま前記上位インタフェース部を通じて前記上位装置に送信し、一方、前記第一の判定の結果が否定的であれば、前記キャッシュ領域上の暗号データを前記暗号処理部に復号化させ、該復号化により得られたデータを前記上位インタフェース部を通じて前記上位装置に送信する、
請求項１記載のストレージ仮想化装置。
【請求項１８】
前記暗号鍵登録部は、コピー先である前記第二の外部ストレージサブシステムに第二の暗号化機能が有るならば、前記取得した暗号鍵を、その第二の外部ストレージサブシステムに送信する、
請求項１０記載のストレージ仮想化装置。
【請求項１９】
ストレージ仮想化装置と、
第一の外部論理ボリュームを有する第一の外部ストレージサブシステムと
を備え、
前記ストレージ仮想化装置が、
前記第一の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供するストレージ仮想化部と、
データを暗号化する暗号処理部と、
キャッシュ領域と、
上位装置に対するインタフェースであって、前記上位装置からデータのライト要求を受信する上位インタフェース部と、
外部ストレージサブシステムに対するインタフェースである外部インタフェース部と、
前記上位インタフェース部及び／又は前記外部インタフェース部で受信したデータを前記キャッシュ領域に記憶させるキャッシュ部と、
前記受信したライト要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行う判定部と、
前記第一の判定の結果が肯定的であれば、前記キャッシュ領域上のデータを前記暗号処理部に暗号化させることなく、そのデータを前記第一の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第一の外部ストレージサブシステムに送信し、一方、前記第一の判定の結果が否定的であれば、前記キャッシュ領域上のデータを前記暗号処理部に暗号化させることで暗号データを生成させ、その暗号データを前記第一の外部論理ボリュームに書込むことのライト要求を前記外部インタフェース部を通じて前記第一の外部ストレージサブシステムに送信するＩ／Ｏ処理部と
備える、
ストレージシステム。
【請求項２０】
外部に存在する第一のストレージサブシステムである第一の外部ストレージサブシステムが有する第一の外部論理ボリュームがストレージ仮想化装置の論理ボリュームとして上位装置に提供されるストレージシステムでの記憶制御方法であって、
上位装置からストレージ仮想化装置が受信したライト要求に従うデータをキャッシュ領域に記憶させ、
前記受信したライト要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行い、
前記第一の判定の結果が肯定的であれば、前記キャッシュ領域上のデータを前記ストレージ仮想化装置の暗号化機能で暗号化すること無く前記ストレージ仮想化装置から前記前記第一の外部ストレージサブシステムに送信し、
前記第一の判定の結果が否定的であれば、前記キャッシュ領域上のデータを前記ストレージ仮想化装置の暗号化機能で暗号化し、その暗号化により得られた暗号データを、前記ストレージ仮想化装置から前記第一の外部ストレージサブシステムに送信する、
記憶制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージサブシステムに記憶されるデータの暗号化に関する。
【背景技術】
【０００２】
例えば、企業等の組織では、多量のデータを管理するために、ホスト計算機（以下「ホスト」）とは別に構成されたストレージサブシステムが用いられる。このようなストレージサブシステムは、例えば、ハードディスクドライブ（ＨＤＤ）等の記憶装置を多数個と、コントローラとを内蔵しており、コントローラにより、大容量の記憶領域をホストに提供することができる。
【０００３】
ストレージサブシステムには、例えば、個人の住所及び氏名等の個人情報や信用状態に関する情報等のような各種の重要な情報が記憶される。従って、重要情報を秘密に管理して、不正なアクセス等を防止するための技術が求められている。
【０００４】
データを保護するために、暗号化技術を用いる場合がある。ホストの内部でデータを暗号化して、この暗号化されたデータをストレージサブシステムに送信して記憶させることにより、暗号化されたデータの第三者による不正な使用を防止することができる。
【０００５】
しかし、ホストの内部でデータを暗号化すると、ホストのデータ処理負荷が大きくなってしまい、ホスト上で動作しているアプリケーションプログラムの性能等にも悪影響を与えることになる。
【０００６】
そこで、例えば特許文献１（特開２００５−３２２２０１号）に、ストレージサブシステムの内部でデータの暗号化を行うことができるようにした技術が提案されている。
【０００７】
また、企業等の組織で取り扱われるデータ量の増加に伴い、複数台のストレージサブシステムで構成されたストレージシステムを運用管理する組織が増えてきている。そのためストレージサブシステムの管理コストの増大が問題視されている。管理コスト増大を抑制するため、ストレージ仮想化装置に一以上のストレージサブシステム（以下、そのストレージサブシステムを「外部ストレージサブシステム」と呼ぶ）を接続し、ストレージ仮想化装置が一以上の外部ストレージサブシステムの記憶資源を、仮想的に、ストレージサブシステムの記憶資源であるかのように、ホストに対して提供する技術が存在する。この技術による機能は、ストレージ仮想化機能（あるいは外部接続機能）と呼ばれ、例えば特許文献２（特開２００５−１０７６４５号）に開示されている。
【０００８】
【特許文献１】特開２００５−３２２２０１号公報
【特許文献２】特開２００５−１０７６４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
一以上の外部ストレージサブシステムがストレージ仮想化装置に接続されている環境において、特許文献１に開示の暗号化機能を適用する場合、まず、ストレージ仮想化装置に暗号化機能が適用される形態が自然であると考えられる。しかし、ストレージ仮想化装置が常に暗号化や復号化を実行すると、そのストレージ仮想化装置の性能がボトルネックになることが考えられる。
【００１０】
従って、本発明の目的は、暗号化機能を有したストレージ仮想化装置の負荷を軽減することにある。
【００１１】
本発明の更なる目的は、後の記載から明らかになるであろう。
【課題を解決するための手段】
【００１２】
ストレージ仮想化装置に、判定部を備える。判定部は、上位装置から受信したライト要求で指定されているライト先の外部論理ボリュームを有する外部ストレージサブシステムに暗号化機能が有るか否かの判定を行う。ストレージ仮想化装置は、その判定の結果が否定的、すなわち、その外部ストレージサブシステムに暗号化機能が無いとの判定になれば、ライト要求に従うデータを自身の暗号化機能によって暗号化してから外部ストレージサブシステムにその暗号化されたデータを送信する。しかし、上記の判定の結果が肯定的、すなわち、その外部ストレージサブシステムに暗号化機能が有る場合には、ストレージ仮想化装置は、ライト要求に従うデータを自身の暗号化機能によって暗号化することなくそのまま外部ストレージサブシステムに送信することで、そのデータをその外部ストレージサブシステムの暗号化機能によって暗号化されるようにする。
【発明を実施するための最良の形態】
【００１３】
一つの実施形態では、ストレージ仮想化装置のストレージ仮想化部は、外部に存在する第一のストレージサブシステムである第一の外部ストレージサブシステムが有する第一の外部論理ボリュームをそのストレージ仮想化装置の論理ボリュームとして上位装置に提供する。ストレージ仮想化装置は、データを暗号化する暗号処理部（つまり暗号化機能）と、キャッシュ領域と、上位装置からデータのライト要求を受信する上位インタフェース部（例えば。通信ポート、或いは通信ポートを有したインタフェース回路）と、外部ストレージサブシステムに対するインタフェースである外部インタフェース部（例えば、通信ポート、或いは通信ポートを有したインタフェース回路）と、上位インタフェース部及び／又は外部インタフェース部で受信したデータをキャッシュ領域に記憶させるキャッシュ部と、判定部と、Ｉ／Ｏ処理部とを備えることができる。
【００１４】
判定部は、上位装置から受信したライト要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行うことができる。具体的には、例えば、上位装置から指定される論理ボリュームＩＤと外部論理ボリュームＩＤとの対応付けや、どの外部論理ボリュームを有する外部ストレージサブシステムに暗号化機能が有るか否かを表す暗号化有無情報を表す管理情報が、予め、ストレージ仮想化装置の記憶資源に記憶することができる。判定部は、上記受信したライト要求で指定されている論理ボリュームＩＤに対応した外部論理ボリュームＩＤをその管理情報から特定し、且つ、その外部論理ボリュームＩＤに対応した外部論理ボリュームを有する外部ストレージサブシステムが暗号化機能を有するか否かもその管理情報から特定することができる。
【００１５】
Ｉ／Ｏ処理部は、第一の判定の結果が肯定的であれば、キャッシュ領域上のデータを暗号処理部に暗号化させることなく、そのデータを第一の外部論理ボリュームに書込むことのライト要求を外部インタフェース部を通じて第一の外部ストレージサブシステムに送信することができる。一方、Ｉ／Ｏ処理部は、第一の判定の結果が否定的であれば、キャッシュ領域上のデータを暗号処理部に暗号化させることで暗号データを生成させ、その暗号データを第一の外部論理ボリュームに書込むことのライト要求を外部インタフェース部を通じて第一の外部ストレージサブシステムに送信することができる。
【００１６】
一つの実施形態では、ストレージ仮想化装置は、暗号処理部がデータの暗号化に使用した電子的な鍵である暗号鍵を記憶領域に登録する暗号鍵登録部を更に備えることができる。暗号鍵は、その記憶領域において、論理ボリューム毎に対応付けられても良いし、それとは異なる単位（例えば、論理ボリュームを複数のサブボリュームに区切った場合のサブボリューム単位）で対応付けられても良い。
【００１７】
一つの実施形態では、ストレージ仮想化装置は、コピー処理部をさらに備えることができる。このコピー処理部は、記憶領域に記憶されている暗号鍵が変更されたことを契機として、第一の外部論理ボリュームに記憶されているデータを第二の外部論理ボリュームにコピーするコピー処理を実行することができる。この場合、ストレージ仮想化部は、少なくともコピー処理の完了した後に、第一の外部論理ボリュームに代えて又は加えて、第二の外部論理ボリュームを自分の論理ボリュームとして上位装置に提供することができる。なお、この実施形態では、第二の外部論理ボリュームは、第一の外部ストレージサブシステムに存在しても良いし、それとは別の外部ストレージサブシステムに存在しても良い。また、コピー処理とは、第一の外部論理ボリュームに記憶されているデータを第二の外部論理ボリュームに書くことであり、第一の外部論理ボリュームからコピー対象のデータが削除されるか或いはそのデータが残されるかはどちらでもよい。削除される場合には、コピー処理はマイグレーション処理とみなすことができ、残される場合には、コピー処理はリプリケーション処理とみなすことができる。
【００１８】
一つの実施形態では、ストレージ仮想化装置の外部に存在する第二のストレージサブシステムであり第二の外部論理ボリュームを有した第二の外部ストレージサブシステムがある。この実施形態では、コピー処理部は、暗号鍵の変更の有無に関係無く、前述したコピー処理を実行することができる。
【００１９】
一つの実施形態では、判定部は、コピー処理の際に、第二の外部ストレージサブシステムが第二の暗号化機能を有するか否かの第二の判定を行うことができる。コピー処理部は、第二の判定の結果が肯定的であるか否定的であるかに基づいて、コピー処理を制御することができる。
【００２０】
具体的には、例えば、第二の判定の結果が否定的である場合、第一のストレージサブシステムに第一の暗号化機能が有るならば、コピー処理部は、第一の外部論理ボリュームの暗号データを第一のストレージサブシステムの第一の暗号化機能により復号化させ、ストレージ仮想化装置の暗号処理部で、その復号化されたデータを暗号化して、第二の外部論理ボリュームに書込んでも良い。また、例えば、第二の判定の結果が否定的である場合、第一のストレージサブシステムに第一の暗号化機能が無いならば、コピー処理部は、第一の外部論理ボリュームの暗号データを、そのまま、或いは、復号化且つ更なる暗号化をストレージ仮想化装置の暗号処理部に実行させて、第二の外部論理ボリュームに書込んでも良い。
【００２１】
また、例えば、第二の判定の結果が肯定的である場合、第一のストレージサブシステムに第一の暗号化機能が有るならば、コピー処理部は、第一の外部論理ボリュームの暗号データを第一のストレージサブシステムの第一の暗号化機能により復号化させ、その復号化されたデータをそのまま、第二の外部ストレージサブシステムに送信してもよい。また、例えば、第二の判定の結果が肯定的である場合、第一のストレージサブシステムに第一の暗号化機能が無いならば、コピー処理部は、第一の外部論理ボリュームの暗号データをストレージ仮想化装置の暗号処理部に復号化させ、復号化により得られたデータを、そのまま第二の外部ストレージサブシステムに送信しても良い。これらの場合、送信されたデータは、第二のストレージサブシステムにおいて、第二の暗号化機能によって暗号化され、暗号化されたデータが、第二の外部論理ボリュームに書かれる。
【００２２】
一つの実施形態では、コピー処理部は、第一の外部ストレージサブシステムに第一の暗号化機能が有る場合には、第一の外部論理ボリュームに記憶されている暗号データが第一の暗号化機能によって復号化されたことにより得られたデータを第一の外部ストレージサブシステムから受信することができる。一方、コピー処理部は、第一の外部ストレージサブシステムに第一の暗号化機能が無い場合には、第一の外部論理ボリュームに記憶されている暗号データを第一の外部ストレージサブシステムから受信し、記憶領域に記憶されている暗号鍵を用いて該暗号データを復号化することを暗号処理部に実行させることができる。
【００２３】
一つの実施形態では、コピー処理部は、第二の外部ストレージサブシステムに第二の暗号化機能が有る場合には、第一の外部論理ボリュームの暗号データが復号化されることにより得られたデータを、暗号処理部に暗号化させることなく第二の外部ストレージサブシステムに送信することができる。一方、コピー処理部は、第二の外部ストレージサブシステムに第二の暗号化機能が無い場合には、第一の外部論理ボリュームの暗号データが復号化されることにより得られたデータを、暗号処理部に暗号化させ、該暗号化により得られた暗号データを、第二の外部ストレージサブシステムに送信することができる。
【００２４】
一つの実施形態では、コピー処理部は、第二の外部ストレージサブシステムに第二の暗号化機能が無く、且つ、第一の外部論理ボリュームに記憶されているデータが、暗号処理部によって暗号化されたデータである暗号データであるならば、その暗号データを第一の外部論理ボリュームからリードし、記憶領域に記憶されている暗号鍵を用いてその暗号データを復号化することと、該復号化により得られたデータを暗号鍵を用いて暗号化することとを暗号処理部に実行させ、該暗号化により得られた暗号データを第二の外部論理ボリュームに書込むことのライト要求を、外部インタフェース部を通じて第二の外部ストレージサブシステムに送信することができる。
【００２５】
一つの実施形態では、復号化に用いられる暗号鍵（第一の暗号鍵）と、復号化後の暗号化に用いられる暗号鍵（第二の暗号鍵）とが異なってもよい。暗号鍵登録部が、記憶領域に記憶されている第一の暗号鍵を、暗号化に用いられる第二の暗号鍵に更新することができる。この暗号鍵の変更は、管理者からの手動によって行われても良いし、所定のアルゴリズムにより自動で行われても良い。
【００２６】
一つの実施形態では、暗号鍵登録部が、第一の外部論理ボリュームに記憶されているデータが、第一の暗号化機能によって暗号化されたデータである暗号データであるならば、第一の暗号化機能によるその暗号化に用いられた、第一の外部ストレージサブシステムに記憶されている暗号鍵を取得し、該取得した暗号鍵を記憶領域に登録することができる。この暗号鍵は、第一の外部ストレージサブシステムから直接取得されても良いし、所定のサーバや管理装置などを経由して取得されてもよい。
【００２７】
一つの実施形態では、コピー処理部が、第二の外部ストレージサブシステムに第二の暗号化機能が無い場合、第一の外部論理ボリュームに記憶されている暗号データを、第一の暗号化機能によって復号化させることなくそのまま前記第一の外部論理ボリュームから読出し、該暗号データを、前記暗号処理部によって暗号化させることなくそのまま第二の外部論理ボリュームに書込むことができる。
【００２８】
一つの実施形態では、コピー処理部が、第二の外部ストレージサブシステムに第二の暗号化機能が無い場合、第一の外部論理ボリュームに記憶されている暗号データが第一の暗号化機能によって復号化されたことにより得られたデータを第一の外部ストレージサブシステムから外部インタフェース部を通じて受信し、記憶領域に登録された暗号鍵とは別の暗号鍵を用いてその受信したデータを暗号化することを暗号処理部に実行させ、該暗号化によって得られた暗号データを、第二の外部論理ボリュームに書込みことができる。暗号鍵登録部が、記憶領域に記憶されている暗号鍵を、前記別の暗号鍵に更新することができる。
【００２９】
一つの実施形態では、上位インタフェース部が、第一の外部論理ボリュームに記憶されている暗号データが前記第二の外部論理ボリュームに前記コピー処理によりコピーされた後、第二の外部論理ボリュームを指定したリード要求を受信することができる。判定部が、第一の判定として、受信したリード要求で指定されている第二の外部論理ボリュームを有する前記第二の外部ストレージサブシステムに第二の暗号化機能が有るか否かの判定を行うことができる。Ｉ／Ｏ処理部が、第二の外部ストレージサブシステムに第二の暗号化機能が無いならば、上記受信したリード要求に応答して、第二の外部論理ボリュームから暗号データを読み出すことのリード要求を第二の外部ストレージサブシステムに送信し、その送信されたリード要求に応答して、第二の外部論理ボリュームから読み出された暗号データを外部インタフェース部が受信しキャッシュ部がその暗号データをキャッシュ領域に記憶させた後、記憶領域に登録された暗号鍵を用いてキャッシュ領域上の暗号データを復号化することを暗号処理部に実行させ、該復号化により得られたデータを、前記上位インタフェース部を通じて上位装置に送信することができる。
【００３０】
一つの実施形態では、上位インタフェース部が、第一の外部論理ボリュームに記憶されている暗号データが第二の外部論理ボリュームにコピー処理によりコピーされた後、第二の外部論理ボリュームを指定したライト要求を受信することができる。判定部が、第一の判定として、受信したライト要求で指定されている第二の外部論理ボリュームを有する第二の外部ストレージサブシステムに第二の暗号化機能が有るか否かの判定を行うことができる。Ｉ／Ｏ処理部が、第一の判定の結果が否定的であれば、キャッシュ領域上のデータを記憶領域に登録されている暗号鍵を用いて暗号化することを暗号処理部に実行させ、その暗号化により得られた暗号データを第二の外部論理ボリュームに書込むことのライト要求を、外部インタフェース部を通じて第二の外部ストレージサブシステムに送信することができる。
【００３１】
一つの実施形態では、第一の外部論理ボリュームの暗号データがそのまま前記ストレージ仮想化装置を経由することなく第二の外部論理ボリュームに書込まれてよい。
【００３２】
一つの実施形態では、ストレージ仮想化装置が、記憶領域に記憶されている暗号鍵を定期的に又は不定的に変更する暗号鍵変更部を更に備えることができる。
【００３３】
一つの実施形態では、上位インタフェース部が、上位装置からデータのリード要求を受信することができる。判定部が、受信したリード要求で指定されている第一の外部論理ボリュームを有する第一の外部ストレージサブシステムに第一の暗号化機能が有るか否かの第一の判定を行うことができる。Ｉ／Ｏ処理部が、そのリード要求に応答して、第一の外部論理ボリュームからデータを読み出すことのリード要求を第一の外部ストレージサブシステムに送信し、外部インタフェース部が第一の外部ストレージサブシステムからデータを受信しキャッシュ部がそのデータをキャッシュ領域に記憶させた後、上述の第一の判定の結果が肯定的であれば、キャッシュ領域上のデータをそのまま上位インタフェース部を通じて上位装置に送信することができる。一方、Ｉ／Ｏ処理部は、第一の判定の結果が否定的であれば、キャッシュ領域上の暗号データを暗号処理部に復号化させ、その復号化により得られたデータを、上位インタフェース部を通じて上位装置に送信することができる。
【００３４】
一つの実施形態では、上位装置を、第二の外部ストレージサブシステムであるとすることができる。また、ストレージ仮想化装置は、複数の物理的な記憶装置（例えばＨＤＤ）を基に形成された複数の論理ボリュームを有するストレージサブシステムであっても良いし、スイッチ装置であっても良い。
【００３５】
一つの実施形態では、コピー処理が実行される場合に、ストレージ仮想化装置の暗号鍵登録部が、コピー元（例えば移行元）である第一の外部ストレージサブシステムから、コピー元である第一の外部論理ボリュームに対応する暗号鍵を取得し、コピー先（例えば移行先）である第二の外部ストレージサブシステムに第二の暗号化機能があるならば、その取得した暗号鍵を、第二の外部ストレージサブシステムに送信することができる。第二の外部ストレージサブシステムは、その暗号鍵を、コピー先である第二の外部論理ボリュームに対応付けてメモリ等で管理することができる。このため、例えば、第二の外部ストレージサブシステムは、第二の外部論理ボリュームを指定したＩ／Ｏ要求を受信した場合には、Ｉ／Ｏ要求の対象となるデータを、第二の暗号化機能により、そのメモリ等に記憶された、ストレージ仮想化装置からの暗号鍵で暗号化或いは復号化することができる。もし、第二の外部ストレージサブシステムに第二の暗号化機能が無い場合には、ストレージ仮想化装置の暗号処理部が、コピー元である第一の外部ストレージサブシステムから取得した暗号鍵を使って、第二の外部論理ボリュームに書込まれるデータの暗号化や、第二の外部論理ボリュームから読み出されたデータの復号化を実行することができる。
【００３６】
上述した各部（例えば、ストレージ仮想化部、各インタフェース部、暗号処理部、Ｉ／Ｏ処理部、コピー処理部、暗号鍵登録部、暗号鍵変更部）は、ハードウェア、コンピュータプログラム又はそれらの組み合わせ（例えば一部をコンピュータプログラムにより実現し残りをハードウェアで実現すること）により構築することができる。コンピュータプログラムは、所定のプロセッサに読み込まれて実行される。また、コンピュータプログラムがプロセッサに読み込まれて行われる情報処理の際、適宜に、メモリ等のハードウェア資源上に存在する記憶域が使用されてもよい。また、コンピュータプログラムは、CD-ROM等の記録媒体から計算機にインストールされてもよいし、通信ネットワークを介して計算機にダウンロードされてもよい。
【００３７】
以下、図面を参照して本発明の幾つかの実施形態を詳細に説明する。
【００３８】
＜第一の実施形態＞。
【００３９】
図１は、本発明の第一の実施形態に係る計算機システムの物理的な構成例を示す。
【００４０】
複数のFC（Fibre
Channel）スイッチ５、５´により、SAN（Storage Area Network）が構築されている。FCスイッチ５に、複数（又は一つ）のホスト計算機（以下、ホスト）４と、ストレージサブシステム１のホストアダプタ１１とが、ファイバチャネルケーブルにより接続され、ホスト４がストレージサブシステム１に対してデータのI/O要求（例えばリード要求やライト要求）を送信することができる。図１では、FCスイッチ５とFCスイッチ５´とが接続されているが、この接続は無くても良い。またFCスイッチ５´には、ストレージサブシステム１の外部アダプタ１２と、外部ストレージサブシステム２、２’とがファイバチャネルケーブルで接続されており、ストレージサブシステム１は外部アダプタ１２を介して外部ストレージサブシステム２、２’と通信することができる。
【００４１】
ストレージサブシステム１は、例えば、アレイ状に配列された多数のＨＤＤ１６を備えるRAID（Redundant Arrays of Independent （or Inexpensive） Disks）システムとすることができる。但し、これに限らず、ストレージサブシステム１を、通信ネットワークを構成するスイッチ、例えば、高機能化されたインテリジェント型のファイバチャネルスイッチとして構成することもできる。また、例えば、ストレージサブシステム１の後述のCHA１１、１２や、ディスクアダプタ１３や、内部スイッチ１５の機能が、FCスイッチ５に搭載され、それにより、FCスイッチ５と複数のＨＤＤ１６の組み合わせによりストレージサブシステム１が実現されても良い。
【００４２】
ストレージサブシステム１は、自分の外部に存在するストレージサブシステム（以下、外部ストレージサブシステム）２、２´の記憶資源を仮想的に自分の記憶資源としてホスト４に提供するストレージ仮想化機能を有している。ストレージサブシステム１は、例えば、コントローラとして、ＣHＡ１１、１２、ディスクアダプタ１３、キャッシュ／制御メモリ１４及び内部スイッチ１５を備え、コントローラによって、ＨＤＤ１６へのアクセスが制御される。
【００４３】
CHA１１、１２は、外部の装置（例えばホスト或いは他のストレージサブシステム）と通信可能に接続される一又は複数のI/F（例えば、通信ポート或いは通信ポートを備えた通信制御回路）１１３、１２３を有し、外部の装置との間のデータ通信を行うものである。本実施形態では、CHA１１は、ホスト計算機１４と通信するアダプタということで、「ホストアダプタ」と呼ぶ。CHA１２は、外部ストレージサブシステム２ということで、「外部アダプタ」と呼ぶ。ホストアダプタ１１や外部アダプタ１２は、CPU１１１、１２１やメモリ１１２、１２２等を備えたマイクロコンピュータシステム（例えば回路基盤）として構成されている。ホストアダプタ１１及び外部アダプタ１２は、一体になっていてもよい。
【００４４】
外部アダプタ１２のI/F１２３には、この外部アダプタ１２に入力されたデータの暗号化及び復号化を行う暗号処理部１２４が設けられる。暗号処理部１２４は、例えば、ストレージサブシステム１の内部（例えば内部スイッチ１５）から入力されたデータを暗号化したり、ストレージサブシステム１の外部（例えばFCスイッチ５´）から入力されたデータを復号化したりするように構成されている。
【００４５】
本実施形態では、ホスト計算機と通信するためのホストアダプタ１１と、外部ストレージサブシステム２、２’と通信するための外部アダプタ１２とが異なるハードウェアであるとして記述しているが、ホストアダプタ１１と、外部アダプタ１２とが同じハードウェア構成、例えば、ホストアダプタ１１のI/F１１３の背後に暗号処理部が配置されるものであっても良い。その際、ホストアダプタ１１に、該ホストアダプタ１１に入出力されるデータを暗号化/復号化しないような設定をしておく（例えば、メモリ１１２或いは暗号処理部に所定のフラグをセットする）ことで、ホストアダプタ１１の該暗号処理部に、該ホストアダプタ１１に入出力されるデータを暗号化及び復号化しないようにすることができる。
【００４６】
ディスクアダプタ（DKA）１３は、各ＨＤＤ１６に接続するための通信ポート（例えばFCポート）１３３を有し、その通信ポート１３３を介して、ＨＤＤ１６と通信することができる。DKA１３は、CPU１３１やメモリ１３２等を備えたマイクロコンピュータシステム（例えば回路基盤）として構成されている。DKA２２は、CHA１１、１２からキャッシュ/制御メモリ１４のキャッシュ領域に書かれたデータをＨＤＤ１６に書込んだり、ＨＤＤ１６から読み出したデータをキャッシュ領域に書込んだりすることができる。また、外部アダプタ１２と同様に、ポート１３３と内部スイッチ１５の間に暗号処理部１３４があり、キャッシュ領域からＨＤＤ１６に書き込まれるデータを暗号化する、あるいはＨＤＤ１６からキャッシュ領域に読み出されるデータを復号化する役割を担う。
【００４７】
キャッシュ/制御メモリ１４は、例えば揮発性又は不揮発性のメモリである。キャッシュ/制御メモリ１４は、キャッシュ領域と制御領域とを有したメモリである。キャッシュ領域を有したメモリと制御領域を有したメモリとに分離していても良い。キャッシュ領域には、外部の装置（例えばホスト４や外部ストレージサブシステム２など）から受信したデータや、ＨＤＤ１６から読出されたデータが一時的に格納される。制御領域には、ストレージサブシステム１での制御に関する情報（以下、制御情報）が格納される。制御情報には、後述する各種テーブルがある。
【００４８】
内部スイッチ１５は、例えばクロスバスイッチであり、CHA１１、１２、DKA１３、キャッシュ/制御メモリ１４を相互に接続させる。内部スイッチ１５に代えて、バスなどの他種の接続部が採用されても良い。
【００４９】
内部スイッチ１５には、例えば管理端末６が接続される。管理端末６は、ストレージサブシステム１を管理するための計算機である。管理端末６は、例えば、キャッシュ/制御メモリ１４の制御領域に、後述する各種テーブルを格納することができる。なお、管理端末６が行う機能は、ホスト４に搭載されても良い。すなわち、ホスト４から、後述する各種テーブルを格納しても良い。
【００５０】
また、管理端末７,７’はそれぞれ、外部ストレージサブシステム２、２’を管理するための計算機であるが、それに限らず、例えば、管理端末６で外部ストレージサブシステム２、２’をも管理してもよい。管理端末６、７、７’はLAN（別種の通信ネットワークでも良い）８によって相互接続されている。
【００５１】
以上が、本発明の第一実施形態に係る計算機システムの物理的な構成例の説明である。なお、上記の説明は一例であり、この計算機システムの構成に限定する必要は無い。例えば、コントローラは、もっと簡易な構成、例えば、一つの回路基盤にCPUとメモリを備えた構成となっていても良い。
【００５２】
図２は、本発明の第一実施形態に係る計算機システムの論理的な構成例を示す。
【００５３】
ホストアダプタ１１には、CPU１１１に実行されるコンピュータプログラムとして、例えば、コマンド処理部９０１が例えばメモリ１１２に記憶される。DKA１３には、CPU１３１に実行されるコンピュータプログラムとして、例えば、ディスクI/O処理部９０２、コピー処理部９０３及び論理物理変換部９０４が例えばメモリ１２２に記憶される。外部アダプタ１２には、CPU１２１に実行されるコンピュータプログラムとして、例えば、外部I/O処理部９０２’とコピー処理部９０３’が例えばメモリ１３２に記憶される。以下、コンピュータプログラムを主語として記述している説明文は、実際にはそのコンピュータプログラムを実行するCPUによって処理が行われることを意味するものとして記述する。各コンピュータプログラムの動作については後に詳述する。
【００５４】
図３は、複数のＨＤＤ１６と論理ボリュームとの関係性の一例を示す図である。
【００５５】
複数（例えば４台）のＨＤＤ１６−１、１６−２、１６−３及び１６−４により一つのRAIDグループが構成される。この例では、３つのデータが３つのＨＤＤ１６に格納され、それら３つのデータを基に生成されたパリティデータが、他の１つのＨＤＤ１６に格納される。
【００５６】
このRAIDグループにより提供される記憶空間（各ＨＤＤ１６の記憶空間の集合）を、本実施形態では、Virtual Deviceを略して「VDEV」と呼ぶ。このVDEVを区切ることにより得られた複数のVDEV部分の各々が、本実施形態で言う論理ボリュームである。論理ボリュームは、ホスト４から指定され、ストレージサブシステム１内部でも識別される。そこで、以下、ホスト４から指定される論理ボリュームを、「LU」（Logical Unit）と称し、ストレージサブシステム１内部で識別される論理ボリュームを、「LDEV」（Logical Device）と呼ぶ場合がある。この図の例では、１つのVDEVから３つのLDEVが形成されているが、LDEVの数は、それより多くても少なくても良い（例えば、１つのVDEVに１つのLDEVでも良い）。
【００５７】
本実施形態では、前述したストレージ仮想化機能により、データの書込み先及び読出し元を、ＨＤＤ１６ではなく、外部ストレージサブシステム２にすることが出来る。ストレージ仮想化機能に関する技術としては、例えば、特開２００５−１０７６４５号公報（US出願番号１０/７６９８０５号、US出願番号１１/４７１５５６号）に開示の技術を援用することができる。
【００５８】
以下、図４〜図８を参照して、キャッシュ/制御メモリ１４に格納される制御情報に含まれる種々のテーブルを説明する。
【００５９】
図４は、RAID構成テーブルの構成例を示す。
【００６０】
RAID構成テーブル４００は、各VDEVのRAID構成を管理するためのテーブルである。具体的には、例えば、このテーブル４００には、VDEVの識別番号が書かれるカラム４０１と、HDDの識別番号が書かれるカラム４０２と、RAIDレベルが書かれるカラム４０３と、ストライプサイズが書かれるカラム４０４とがある。すなわち、このテーブル４００には、VDEV毎に、VDEVの識別番号と、該VDEVを構成する複数のHDDの識別番号と、該VDEVのRAIDレベルと、ストライプサイズとが書かれる。
【００６１】
図５は、VDEV構成テーブルの構成例を示す。
【００６２】
VDEV構成テーブル５００は、VDEVの構成を管理するためのテーブルである。具体的には、例えば、このテーブル５００には、VDEVの識別番号が書かれるカラム５０１と、LDEVの識別番号が書かれるカラム５０２と、LDEVのVDEVにおける論理アドレス範囲の先頭アドレスが書かれるカラム５０３と、LDEVのVDEVにおける論理アドレス範囲の終端アドレスが書かれるカラム５０４とがある。すなわち、このテーブル５００には、どのVDEVのどの論理アドレス範囲にどんな識別番号のLDEVが存在するかが書かれる。
【００６３】
図６は、LU構成テーブルの構成例を示す。
【００６４】
LU構成テーブル６００は、各LUの構成を管理するためのテーブルである。具体的には、例えば、このテーブル６００には、LDEVの識別番号が書かれるカラム６０１と、WWN（World Wide Name）が書かれるカラム６０２と、LUＮ（Logical Unit Number）が書かれるカラム６０３と、LDEVの記憶容量が書かれるカラム６０４と、暗号鍵が書かれるカラム６０５とがある。すなわち、このテーブル６００には、各LU毎に、LDEVの識別番号と、該LDEVに対応付けられたWWN及びLUＮと、そのLDEVの記憶容量と、そのLDEVに対応付けられている暗号鍵とが書かれる。各LDEV内のデータが暗号化される場合には、カラム605に暗号鍵が記録され、当該LDEV内データが暗号化されない。すなわち暗号化対象としない場合には、カラム605には暗号鍵が記録されない（０が記録される）。
【００６５】
この実施形態では、前述したように、ホスト４から指定される論理ボリュームを「LU」と言うが、具体的には、例えば、Fibre ChannelプロトコルでのWWN及びLUＮが対応付けられた論理ボリュームをLUと言う。なお、例えば、メインフレームでは、WWN及びLUＮのカラム６０２及び６０３は設けられなくても良い。
【００６６】
図７は、ポート構成テーブルの構成例を示す。
【００６７】
ポート構成テーブル５４００は、各I/F１１３、１２３の通信ポートの構成を管理するためのテーブルである。具体的には、例えば、このテーブル５４００には、通信ポートの識別子（例えばWWN）が書かれるカラム５４０１と、通信ポートのステータスが書かれるカラム５４０２とがある。ステータス"TARGET"とは、ホストアダプタ１１のI/F１１３にある通信ポートを表す。すなわち当該ポートはホストからのI/O要求を受け付けるために使用されることを意味する。ステータス"EXTERNAL"とは、外部アダプタ１２のI/F１２３にある通信ポートを表す。すなわち当該ポートはストレージ仮想化機能により、外部ストレージサブシステム２などのストレージサブシステムに対してI/O要求を出すために使用されることを意味する。一つのアダプタ１１、１２に、I/F１１３、１２３は、複数個存在しても良く、１つのアダプタ１１、１２内の複数のポートのステータスはそれぞれ異なっていても良い。また、一つのI/F １１３、１２３に、通信ポートは複数個存在しても良い。
【００６８】
また、もし、ホストアダプタ１１のI/F１１３に暗号処理部がある場合には、そのI/F１１３の通信ポートのステータスが"TARGET"になっているならば、該暗号処理部に暗号化及び復号化を実行させないようにすることができる。例えば、該暗号処理部の記憶域に、暗号化及び復号化の実行を禁止するためのフラグを設定しておくことで、該暗号処理部に暗号化及び復号化を実行させないようにすることができる。
【００６９】
図８は、EDEV情報テーブルの構成例を示す。
【００７０】
ここで、EDEVとは、External Deviceの略であり、外部ストレージサブシステム２
に存在する一又は複数のHDDにより提供される記憶空間である。ストレージ仮想化機能によって、ストレージサブシステム１は、自らがホスト計算機であるかのように働き、外部ストレージサブシステム２ないし２’の提供する記憶空間に対してリード・ライト処理を行う。本実施形態では、ストレージサブシステム１と外部ストレージサブシステム２ないし２’は、SCSI-FCPプロトコル（Fibre Channelプロトコル上にSCSIコマンドを流すことを規定するプロトコル）に従って通信するため、ストレージサブシステム１は外部ストレージサブシステム２ないし２’の記憶領域を、Fibre ChannelプロトコルにおけるWWNとLUNで一意に定まるLUとして認識し、アクセスする。そのため、EDEVは、外部ストレージサブシステム２ないし２’に存在するLUに相当する。そして、ストレージサブシステム１内では、各EDEVを１つのLDEVと同様のものとして取り扱う。すなわち、ストレージサブシステム１においては、EDEVを分割して複数のLDEVとして取り扱うことはしない。この点は、１つないし複数のＨＤＤ１６から構成されるVDEVとは異なるが、EDEVから構成されるこの１つのLDEVに対してWWNとLUNを付与することで、ホスト４からアクセスできるようにしているホストにはＨＤＤ１６から構成されたLDEVと外部ストレージサブシステム２ないし２’から構成されたLDEVとの差が見えないようになっている。一変形例として、ＨＤＤ１６から構成されるVDEVのように、外部ストレージサブシステム２ないし２’のEDEVを複数の連続領域に分割して、複数のLDEVが１つのEDEVに存在するような取り扱いをすることも可能であるが、これ以降の説明では、１つのEDEVは１つのLDEVとして動作することを前提として説明する。
【００７１】
EDEV情報テーブル２５０は、各EDEVに関する情報を管理するためのテーブルであり、１つの行が１つのEDEVの情報をあらわす。具体的には、例えば、このテーブル２５０には、EDEVの識別番号が書かれるカラム２５１と、EDEVに付与されているWWN（外部ストレージサブシステム２ないし２’のポートに付与されているWWN）及びLUNがそれぞれ書かれるカラム２５２及び２５３とがある。カラム２５４ LDEVは、当該EDEVに対応するLDEV番号が入る。また、カラム２５５ Cipherには０ないし１の値が入る。カラム２５５ Cipherの値が１の場合には、当該行のEDEVは外部ストレージサブシステム２ないし２’が持つ暗号化機能で暗号化・復号化が実施されることを意味し、０の場合には当該カラム２５２,２５３で指定されるLUは外部ストレージサブシステム２ないし２’で暗号化及び復号化は実施されない。すなわち、もし外部ストレージサブシステム２ないし２’に暗号化機能が無い場合には、カラム２５５の値は０になる。カラム２５５の値は、ユーザが管理端末６を介して手入力することで設定される形態と、ストレージサブシステム１がI/F １２３を介して、あるいは管理端末管理端末６、７、７’経由で外部ストレージサブシステム２ないし２’が暗号化機能を有しているか否かを、外部ストレージサブシステム２、２’に問い合わせることで自動的に値が設定される形態とがありえる。なお、外部ストレージサブシステム２ないし２’が暗号化機能を持つとは、外部ストレージサブシステム２ないし２’のコントローラ（例えばＣＨＡ及びＤＫＡの少なくとも一つ）及び／又はＨＤＤに、前述した暗号処理部と同様の暗号処理部が備えられていることである。
【００７２】
以上が、各種テーブルについての説明である。以下、本実施形態で行われる種々の処理の流れを説明する。
【００７３】
図９は、ストレージサブシステム１のLDEVをホスト４から使用できる状態にする処理の流れを示す。具体的には、LDEVにWWN, LUNを付与して、ホスト４から当該LDEVが認識・アクセスできるような状態にする処理である。これ以降、この処理のことをLU作成と呼ぶ。なお、図９の処理は、LDEVは作成済みの状態から開始する。すなわち、図９の処理に入る前に、ストレージサブシステム１内のＨＤＤ１６については、ＨＤＤ１６からRAIDの形成、VDEV作成が為され、さらにVDEVを分割して複数のLDEVを作成してVDEV構成テーブル５００にその内容を登録する処理が完了していること、また外部ストレージサブシステムについては、外部ストレージサブシステム２、２’内のLUをストレージサブシステム１でEDEVとして認識し、それをLDEVとしてEDEV情報テーブルに登録する処理は完了していることとする。
【００７４】
ステップ１０００１で、ユーザは管理端末６を介して、未使用のLDEVの一つ、すなわちWWN, LUNが付与されていないLDEVの一つを特定する。続いて、ユーザは、管理端末６を操作して、当該LDEVに付与するWWN, LUNを指定する（ステップ１０００２）。
【００７５】
ステップ１０００２において、WWNの指定は、WWNを直接指定するわけではなく、一般にI/F １１３などのホストI/FにはWWNがあらかじめ付与されているので、ホスト４がアクセスするときに使用するI/F １１３を管理端末上のGUIから特定することで、WWNを指定するのと同じことが実現できる。
【００７６】
ステップ１０００１、１０００２の処理を受けて、ステップ１０００３で、ストレージサブシステム１は、LU構成テーブル６００に当該LDEVのエントリを作成し、LDEV番号（カラム６０１）、WWN（カラム６０２）、LUN（カラム６０３）、capacity （カラム６０４）の値を入力する。
【００７７】
ステップ１０００４で、ユーザは、ステップ１０００１、１０００２で指定したLDEV内データを暗号化するか否かを選択する。この選択は、管理端末６を介して実施される。暗号化する場合には、ステップ１０００５に進み、暗号化しない場合には、この処理は終了する。
【００７８】
ステップ１０００５では、ストレージサブシステム１は、指定されたLDEVがストレージサブシステム１内のＨＤＤ１６から構成されるLDEVか（即ちVDEVの一部から構成される内部LDEVか）、あるいは外部ストレージサブシステム２ないし２’のボリュームから構成されるLDEVか（即ちEDEVに相当する外部LDEVか）を判定する。もしも、EDEVに相当する外部LDEVの場合には、ステップ１０００６に進み、内部LDEVである場合には、ステップ１００１１に進む。以下、その指定されたＬＤＥＶを、「当該ＬＤＥＶ」と呼ぶことがある。
【００７９】
ステップ１００１１では、ストレージサブシステム１は当該LDEVを暗号化する際に使用する暗号鍵を生成する。暗号鍵の生成は乱数アルゴリズム等を使用して自動生成する方法と、ユーザに管理端末６を介して指定させる方法などがある。ステップ１００１１が完了すると、ステップ１０００９に移り、ストレージサブシステム１はステップ１００１１で生成された暗号鍵をLU構成テーブル６００の当該LDEVに対応する行に登録して、LU作成処理は終了する。
【００８０】
ステップ１０００６では、ストレージサブシステム１は、当該EDEV（外部LDEV）を有する外部ストレージサブシステムが暗号化機能を有するか否かを判定する。この判定は、EDEV情報テーブルのカラム２５５（Cipher）を参照することで実現される。暗号化機能を有している場合には、ステップ１０００７に進み、有していない場合には、ステップ１００１１に進む。
【００８１】
ステップ１０００７では、ストレージサブシステム１は、当該EDEV（外部LDEV）を有する外部ストレージサブシステム２又は２´に対して、当該EDEVを暗号化ボリュームとして設定するように指示する。この指示は、管理端末６から管理端末７,７’を介して指示する形態と、あるいは外部アダプタ１２のI/F１２３を介して外部ストレージサブシステム２、２’に直接指示する形態とがありえる。
【００８２】
ステップ１０００８では、ストレージサブシステム１は、外部ストレージサブシステム２、２’から、当該EDEV（つまり、ステップ１００５で指定されたＥＤＥＶ）を暗号化する際に使用する暗号鍵を取得する。ステップ１０００９で取得した暗号鍵をLU構成テーブル６００に記録して、LU作成処理は終了する。
【００８３】
なお、当該EDEVのある外部ストレージサブシステム２ないし２’に暗号化機能が有る場合、本実施形態では暗号化処理自体は外部ストレージサブシステム２ないし２’で実施されるため、ステップ１０００８の暗号鍵取得はここでは必ずしも必要ではない。ただし、後述するデータ移行処理などで、EDEVの対応する暗号鍵が必要になる場合があるので、ステップ１０００８では、暗号鍵を取得してLU構成テーブル６００に保存している。一変形例として、ステップ１０００８をスキップしてこの時点では暗号鍵を取得せず、後述するデータ移行処理などで暗号鍵が必要になった時点で、ストレージサブシステム１から外部ストレージサブシステム２ないし２’に暗号鍵の取得要求を出すという方法もありえる。
【００８４】
図１０は、ストレージサブシステム１がホスト４からI/O（リードないしライト）要求を受けた際のコマンド処理部９０１の処理の流れを示す。
【００８５】
ホスト４は、LUにアクセスする際、LUに付与されているWWNとLUN、そして、リードないしライト対象のアドレス（LBA：Logical Block Address）を指定したＩ／Ｏ要求を、ストレージサブシステム１に対して発行する。コマンド処理部９０１は、そのＩ／Ｏ要求を受けたことに応答して、LU構成テーブル６００を参照し、LUNとWWNに対応するLDEVの識別番号（LDEV番号）を割り出す（ステップ１００１）。続いて、コマンド処理部９０１は、ホスト４からのI/O要求がライト要求であるか否かを判定する（ステップ１００２）。ライト要求の場合には、ステップ１００３に進み、そうでない場合（リード要求）には、ステップ１００５へと進む。
【００８６】
ステップ１００３では、コマンド処理部９０１は、キャッシュ/制御メモリ１４のキャッシュ領域の未使用領域にライトデータ（Ｉ／Ｏ要求に従うライト対象のデータ）を格納し、ステップ１００４で、ホスト４に対して、当該ライト処理が完了したことを通知する。ステップ１００４の処理は、これよりも後、例えばステップ１００５の後に行っても良い。ステップ１００４の時点ではＨＤＤ１６ないし外部ストレージサブシステムシステム２、２’へのデータ書き込みは完了していないが、キャッシュ領域にライトデータが格納された時点で、ホスト４に対して処理完了を通知することで、ライト処理の応答時間を高速化することが出来る。
【００８７】
ステップ１００５では、コマンド処理部９０１は、ステップ１００１で割り出されたLDEV番号の付与されたLDEVに対するリードないしライト処理を実施する。ステップ１００５の処理は、図１１以降で詳述する。
【００８８】
ステップ１００６で、コマンド処理部９０１は、受信したＩ／Ｏ要求がリード要求であるかを判定する。当該要求がリード要求である場合、前述のステップ1005の処理によって、ＨＤＤ１６から、あるいは外部ストレージサブシステム２ないし２’からのリードデータ（リード要求に従うリード対象のデータ）がキャッシュ領域に格納されているので、コマンド処理部９０１は、キャッシュ領域上のリードデータをホスト４に対して返送する（ステップ１００７）。ステップ１００６で、当該要求がリード要求ではないと判断された場合には、本処理は終了する。
【００８９】
図１１は、コマンド処理部９０１が実施する、LDEVに対するI/O処理の流れ、すなわち図１０のステップ１００５の処理の詳細を示す。
【００９０】
本処理は、ライト処理の場合には、キャッシュ領域上のライトデータがＨＤＤ１６或いは外部ストレージサブシステム２、２’へ転送され、リード処理の場合には、ＨＤＤ１６或いは外部ストレージサブシステム２、２’からリードデータがキャッシュ領域上まで転送される処理である。本処理は、ホスト４からのI/O要求によって実行される場合と、後述するデータ移行処理などの過程で実行される場合とがある。
【００９１】
コマンド処理部９０１は、ステップ１１０１で、VDEV構成テーブル５００とEDEV構成テーブル６５０とを参照し、指定されたLDEVが内部LDEVか外部LDEVかを識別する。もし、内部LDEVであれば、ステップ１１０３に進み、コマンド処理部９０１は、ディスクアダプタ１３で実行されるディスクI/O処理部９０２を呼び出してそれ以降の処理を実施させる。外部LDEVの場合には、ステップ１１０２に進み、コマンド処理部９０１は、外部I/O処理部９０２’を呼び出して、外部ストレージサブシステム２ないし２’へのI/O処理を実行させる。ステップ１１０２,１１０３の処理は、それぞれ図１６、図１２ないし図１３で詳述される。
【００９２】
図１２と図１３は、それぞれ、内部LDEV I/O処理の流れの一例を示す。図１２は、内部LDEVが、RAID-５で構成されたVDEVに含まれている場合の例を示し、図１３は、内部LDEVが、RAID-１で構成されたVDEVに含まれている場合の例を示す。
【００９３】
図１２の説明では、当該内部LDEVを「対象内部LDEV」と言い、当該VDEVに属する各HDDを「対象HDD」と言い、ホスト４からのI/O要求で指定されているLBAで特定されるボリューム領域が対応付けられるHDD上のアドレスを「対象物理アドレス」と呼ぶ。
【００９４】
ステップ１２０１では、ホスト４からのI/O要求で指定されているLBAが対象物理アドレスに変換される。具体的には、例えば、コマンド処理部９０１が、DKA１３に、ホスト４からのI/O要求で指定されているLBAを含んだI/O要求を出し、DKA１３内のディスクI/O処理部９０２が、そのI/O要求を受ける。そのＩ／Ｏ要求は、キャッシュ/制御メモリ１４の制御領域に書かれても良いし、内部スイッチ１５を介してDKA１３に送信されても良い。I/O要求を受けるDKA１３は、各対象ＨＤＤ１６に接続されたDKA１３である。該DKA１３のディスクI/O処理部９０２が、受けたI/O要求中のLBAを対象物理アドレスに変換する。
【００９５】
ステップ１２０２では、ディスクI/O処理部９０２が、受けたI/O要求が、ライト要求であるかリード要求であるかを判断する。ライト要求である場合には、ステップ１２０３に進み、リード要求である場合には、ステップ１２０６に進む。なお、このステップ１２０２は、ステップ１２０１が終了する前に完了されても良い。
【００９６】
ステップ１２０３では、ディスクI/O処理部９０２が、キャッシュ領域上に置かれた対象内部LDEVへのライト対象データ（新規データ）と、新規データに対応する対象LDEVに現在書かれているデータ及びパリティ（旧データ及び旧パリティ）とを用いて、新規パリティを生成する。
【００９７】
ステップ１２０４では、ディスクI/O処理部９０２が、対象物理アドレスを指定した、新規データ及び新規パリティのライト要求を、各対象ＨＤＤ１６に送信することにより、新規データ及び新規パリティを書込む。この処理は図１４で詳述する。
【００９８】
ステップ１２１１では、ディスクI/O処理部９０２が、各対象ＨＤＤ１６に、対象物理アドレスを指定したリード要求を送信する。これにより、各対象ＨＤＤ１６から、暗号文が平文に変換されて読み出され、キャッシュ領域に格納する。この処理の詳細は、図１５で説明される。
【００９９】
続いて、図１３で、内部LDEVがRAID１のVDEVに含まれている場合のI/O処理の流れを説明する。図１２との相違は、図１２のステップ１２０３、１２０４が、図１３ではステップ１２０３’、１２０４’に変更されている点だけである。ステップ１２０３’ではパリティを作成する代わりに、ライト対象データのミラーコピーを作成してキャッシュ領域に格納する。ステップ１２０４’では、ライト対象データとそのミラーコピーとをそれぞれのＨＤＤ１６に送信する。ミラーコピーは元のライトデータの複製でありデータ内容は変わらないため、ステップ１２０３’の処理は必須ではなく、ステップ１２０３’でミラーコピーを作成せずに、ステップ１２０４’でライトデータを格納するＨＤＤ１６とミラーコピーを格納するＨＤＤ１６の双方に、キャッシュ領域上に格納しているライト対象データを送信することでも同様の処理が実現できる。
【０１００】
図１４は、ディスクI/O処理部902がＨＤＤ１６に対して行う、データ書込み処理の一例を示す。
【０１０１】
ステップ２００１では、ディスクI/O処理部９０２が、ライト要求で指定されている対象物理アドレスから、ライト対象LDEVとそのアドレスへと逆変換し、逆変換されて算出されたライト対象LDEVが暗号化対象であるか否かを、LU構成テーブル６００を参照して判定する。ライト対象LDEVが暗号化対象であれば、ステップ２００２にすすみ、暗号化範囲でなければ、ステップ２００３にすすむ。
【０１０２】
ステップ２００２では、ディスクI/O処理部９０２が、暗号処理部１３４にライト対象LDEVに対応する暗号鍵を渡し、暗号化処理の指示をする。この処理により、次のステップ２００３で実施されるＨＤＤ１６へのデータ転送処理において、転送データは暗号処理部１３４で暗号化される。
【０１０３】
ステップ２００３では、ディスクI/O処理部９０２が、各対象ＨＤＤ１６に対してキャッシュ領域からデータを転送する。ステップ２００２で暗号化処理の指示が行われていると、データ転送の過程で転送データは暗号処理部で暗号化されてＨＤＤ１６に書き込まれる。
【０１０４】
図１５は、ディスクI/O処理部902による、ＨＤＤ１６からのデータ読出し処理の一例を示す。
【０１０５】
ステップ２１０１では、ステップ２００１と同様、ディスクI/O処理部９０２が、リード要求で指定されている対象物理アドレス（LBA）が、どのLDEVに相当するか逆変換処理を行うことで対象LDEVを特定し、対象LDEVが暗号化対象であるか否か、LU構成テーブルを参照して判定する。対象LDEVが暗号化対象であれば、ステップ２１０２にすすみ、暗号化対象でなければ、ステップ２１０３にすすむ。
【０１０６】
ステップ２１０２では、ステップ２００２と類似の処理が行われる。具体的には、ディスクI/O処理部９０２が、暗号処理部１３４に、リード対象LDEVに対応する暗号鍵を渡して、復号化処理の指示をする。この処理により、次のステップ２１０３で実施されるＨＤＤ１６からキャッシュ領域へのデータ転送処理において、転送データは暗号処理部１３４で復号化される。
【０１０７】
ステップ２１０３では、ディスクI/O処理部９０２は、対象ＨＤＤ１６からデータを読み出す。ステップ２１０２で復号化処理の指示が行われていると、データ転送の過程で転送データは暗号処理部１３４で復号化されてキャッシュ領域に格納される。
【０１０８】
図１６は、外部LDEV I/O処理の流れの一例を示す。この図１６の説明では、アクセス先となる外部LDEVを「対象外部LDEV」と言い、対象外部LDEVを含むEDEVを「対象EDEV」と言い、ホスト４からのI/O要求で指定されているLBAから算出される、対象EDEVにおけるアドレスを「対象EDEVアドレス」と言う。
【０１０９】
ステップ１３０１では、ホスト４からのI/O要求で指定されているLBAが対象EDEVアドレスに変換される。具体的には、例えば、コマンド処理部９０１が、ホスト４からのI/O要求で指定されているLUＮ、WWN及びLBAを基に、対象EDEVアドレスとして、外部ストレージサブシステム２に対するI/O要求で指定するLUＮ、WWN及びLBAを求める。このアドレス変換は、例えば、前述した特開２００５−１０７６４５号公報（US出願番号１０/７６９８０５号、US出願番号１１/４７１５５６号）に開示の方法で行うことができる。
【０１１０】
ステップ１３０２では、外部I/O処理部９０２’が、受けたI/O要求が、ライト要求であるかリード要求であるかを判断する。ライト要求である場合には、ステップ１３０３に進み、リード要求である場合には、ステップ１３１１に進む。
【０１１１】
ステップ１３０３では、外部I/O処理部９０２’がLU構成テーブル600内の対象LDEVに相当するカラム605の値を確認することで、対象外部LDEVが暗号化対象であるか判定する。暗号化対象である場合にはステップ１３０４に進み、そうでない場合にはステップ１３０６へ進む。
【０１１２】
ステップ１３０４では、外部I/O処理部９０２’が、対象外部LDEVの存在する外部ストレージサブシステム２ないし２’が暗号化機能を有するか否かを、ＥＤＥＶ情報テーブル２５０を参照することにより、判定する。暗号化機能が有る場合には、暗号化処理が外部ストレージサブシステム２ないし２’で実施されるため、ストレージサブシステム１内での暗号化処理は実施しない。そのためステップ１３０６へと進む。暗号化機能が無い場合にはステップ１３０５へ進む。
【０１１３】
ステップ１３０５では、外部I/O処理部９０２’が、対象外部LDEVに対応する暗号鍵をLU構成テーブル６００から特定し、特定した暗号鍵を、暗号処理部１２４に通知する。これにより、ステップ１３０６で、外部ストレージサブシステム２ないし２’へライトデータを転送する過程で、暗号処理部１２４において平文（転送対象のライトデータ）が暗号化される。
【０１１４】
ステップ１３０６では、キャッシュ領域に格納された平文（ライトデータ）が、外部ストレージサブシステム２へ転送される過程で、暗号処理部１２４によって暗号文にされ、該暗号文が、外部I/O処理部９０２’により、対象外部ＬＤＥＶを有する外部ストレージサブシステム２又は２´に格納される。
【０１１５】
ステップ１３１１では、ステップ１３０３と同様、対象外部LDEVが暗号化対象であるかが判定される。暗号化対象である場合にはステップ１３１２へ進み、暗号化対象で無い場合にはステップ１３１４へ進む。
【０１１６】
ステップ１３１２では、ステップ１３０４と同様の処理で、対象外部LDEVの存在する外部ストレージサブシステム２又は２’が暗号化機能を有するか判定する。暗号化機能が有る場合には、ステップ１３１４へと進み、暗号化機能が無い場合にはステップ１３１３へ進む。
【０１１７】
ステップ１３１３は、ステップ１３０５と同様の処理で、暗号処理部１２４に暗号鍵が設定される。ステップ１３１４では、外部ストレージサブシステム２又は２’からのデータリードが実行される。具体的には、例えば、外部I/O処理部９０２´が、対象EDEVアドレスと共に外部ストレージサブシステム２に対してリード要求を発行する。そのリード要求に応答して、外部アダプタ１２のI/F１２３は、外部ストレージサブシステム２から暗号文を受信し、その暗号文が、キャッシュ領域へと格納される。ステップ１３１３で暗号鍵が設定されて、復号化が行われるべき状態の場合には、キャッシュ領域に格納される過程で暗号処理部１２４により、上記設定された暗号鍵を用いた復号化が実行され、キャッシュ領域には平文が格納される。
【０１１８】
次に、本実施形態におけるボリューム移行、鍵変更処理について、図１７から図２０を用いて説明する。
【０１１９】
ボリューム移行処理は、例えば、データの用途及び／又は利用頻度の変更や、ストレージサブシステムの入れ替え（リプレース）に伴って、データ位置を変更する際に使用される。例えば、ＨＤＤ１６で構成される内部LDEVにあるデータの利用頻度が低下したことに伴い、外部ストレージサブシステム２ないし２’の外部LDEVにデータを移行する、あるいは、外部ストレージサブシステム２を廃棄する場合、これまで外部ストレージサブシステム２内の外部LDEVにあったデータを外部ストレージサブシステム２’ないしはＨＤＤ１６へと移動する場合などがある。
【０１２０】
また、本実施形態では、セキュリティの向上のために、暗号鍵を定期的に又は不定期的に変更するという処理が実行される。この処理を、本実施形態の説明において「鍵変更処理」と呼ぶ。鍵変更処理が実行される場合、一旦、暗号文を平文に直し、これまでの暗号鍵とは異なる暗号鍵を用いて再暗号化し、再暗号化された結果（暗号文）を別のＬＤＥＶへと書き出す処理が実行される。ボリューム移行と同時に鍵変更処理を行うこともあるが、以下、本実施形態の説明においては、ボリューム移行と鍵変更とを区別して説明する。
【０１２１】
図１７を用いて、ボリューム移行処理と鍵変更処理とを含んだ一連の処理である移行／鍵変更処理の概要を説明する。
【０１２２】
移行／鍵変更処理では、ユーザは、管理端末６を介して、移行元のLDEVと移行先のLDEVとをストレージサブシステム１に指定し、移行処理を実行させる。移行元のLDEVはLDEV番号を指定する形態でも良いし、あるいは移行元LDEVに付与されているWWN, LUNを指定する形態でもよい。移行先LDEVは、データを移行したいLDEV番号を指定する。あるいは管理端末６ないしストレージサブシステム１において、現在使用していないLDEVを自動的に選択するという形態もある。移行の指示は、ユーザが管理端末６を介して指示する形態のほかに、ホスト４上にストレージサブシステム１の管理ソフトウェアがインストールされている場合には、その管理ソフトウェアを介して実施することも出来る。また定期的にデータを移行する、あるいは鍵変更処理を行う形態もあり、その場合には、ユーザは管理端末６を介して、データ移行あるいは鍵変更の周期（６ヶ月単位など）を指定するだけで、それ以降の処理はストレージサブシステム１内で自動的に実施されるという形態もありえる。
【０１２３】
移行／鍵変更処理は、主として、ストレージサブシステム１のコピー処理部９０３あるいは９０３’で実行される。以下、コピー処理部９０３及び／又は９０３’で実施される処理を中心に説明する。
【０１２４】
まず、ステップ３００１で、コピー処理部９０３及び／又は９０３’は、移行元ＬＤＥＶのＬＤＥＶ番号、移行先LDEVのLDEV番号、鍵変更の要否を管理端末６から受信する。ステップ３００２では、コピー処理部９０３及び／又は９０３’は、鍵変更が指示されたか否かを判定し、鍵変更が指示されている場合にはス、テップ３０１１に進み、そうでない場合にはステップ３００３に進む。
【０１２５】
ステップ３００３では、コピー処理部９０３及び／又は９０３’は、移行先LDEVに格納されるデータが移行元LDEVと同一鍵で暗号化されるように、LU構成テーブル６００内の設定内容を変更する。具体的には、コピー処理部９０３及び／又は９０３’は、LU構成テーブル６００から、移行元LDEV番号に対応する行を検索し、移行元LDEV番号に対応付けられている暗号鍵、すなわち、検索された行とカラム６０５（Key）とが交わる領域（以下、鍵登録欄）に記憶されている暗号鍵を、そのまま、移行先LDEV番号に対応する行の鍵登録欄に入力する。また移行先LDEVが外部LDEVである場合には、コピー処理部９０３及び／又は９０３’は、当該外部LDEVが存在する外部ストレージサブシステム２ないし２’に対して、ストレージサブシステム１から移行元LDEVに対応付けられている暗号鍵を送信して外部ストレージサブシステム２ないし２’で暗号鍵を設定させる必要がある。この処理については、図１８で詳述する。
【０１２６】
一方、ステップ３０１１に進んだ場合には、暗号鍵を変更するので、コピー処理部９０３及び／又は９０３’は、移行先LDEVが移行元LDEVとは異なる暗号鍵で暗号化されるように、移行元LDEV番号に対応する行の鍵登録欄に記憶されている暗号鍵と異なる暗号鍵を生成し、移行先LDEV番号に対応する行の鍵登録欄に、その生成した暗号鍵を登録する。暗号鍵の生成方法の一例として、乱数アルゴリズムを使用する方法があるが、それ以外には、ユーザから暗号鍵を直接指定させる、あるいはユーザから簡単な文字列などを管理端末６に入力させ、それを基にしてストレージサブシステム１でハッシュアルゴリズム等を用いて新たな暗号鍵を生成するなどの方法を取ることも可能である。ステップ３００３あるいは３０１１の処理が完了したら、ステップ３００４に進む。
【０１２７】
ステップ３００４では、コピー処理部９０３及び／又は９０３’は、移行元LDEVから移行先LDEVへデータをコピーする処理（コピー処理）を行う。コピー処理の詳細は図１９で詳述する。
【０１２８】
コピー処理が完了すると、これ以降、ホスト４が移行先LDEVにアクセスするように設定が切り替えられる。具体的には、コピー処理部９０３及び／又は９０３’は、LU構成テーブル６００上で、これまで移行元LDEVに付与されていたWWN,LUNを、移行先LDEVに付与するように、LU構成テーブル６００の内容を更新する。LU構成テーブル６００の内容が更新されると、それ以降のホスト４からのI/O処理は、移行元LDEVではなく移行先LDEVに対して行われることになる。なお、コマンド処理部９０１は、ステップ３００５の処理中にホスト４から受け付けたI/O要求に対しては、ステップ３００５の処理が完了するまで処理を中断し、ステップ３００５の処理が完了した時点で、処理を再開することができる。
【０１２９】
図１８は、ステップ３００３ないし３０１１の処理、すなわち移行先LDEVに鍵を設定する処理を示す。
【０１３０】
ステップ３５０１では、コピー処理部９０３及び／又は９０３’は、LU構成テーブル６００における、移行先LDEV番号に対応する行の鍵登録欄に、暗号鍵を登録する。移行元LDEVと同一暗号鍵となる場合には、移行元LDEV番号に対応する暗号鍵と同じ暗号鍵が登録され、鍵変更処理の場合には、移行元LDEV番号に対応する暗号鍵と異なる暗号鍵が登録される。
【０１３１】
もし、移行元LDEVが外部LDEV、すなわち外部ストレージサブシステム２ないし２’に属するLDEVで、外部ストレージサブシステム２ないし２’に暗号化機能が有る場合には、この時点で、当該外部LDEVの暗号鍵がLU構成テーブル６００に登録されていないこともありえる（図９のLU作成処理のステップ１０００８で暗号鍵を取得しなかった場合）。その場合には、ステップ３５０１で、コピー処理部９０３´が、外部ストレージサブシステム２ないし２’に対し、当該外部LDEVの暗号鍵を取得する要求を送信する。外部ストレージサブシステム２、２´が、その要求に応答して、当該外部ＬＤＥＶに対応付けられている暗号鍵を、自分が管理するＬＵ構成テーブルから取得し、取得した暗号鍵を、ストレージサブシステム１に送信する。ストレージサブシステム１のコピー処理部９０３´は、外部ストレージサブシステム２ないし２’から暗号鍵を受信し、LU構成テーブル６００上の移行元LDEV番号に対応する行の鍵登録欄に、その受信した暗号鍵を登録し、引き続き、移行先LDEV番号に対応する行の鍵登録欄に、それと同じ暗号鍵を登録する。
【０１３２】
ステップ３５０２, ３５０３では、コピー処理部９０３及び／又は９０３’が、移行先LDEVが外部LDEVか否か、かつ、外部LDEVのある外部ストレージサブシステム２、２´は暗号化機能を有しているかを判定する。移行先LDEVが外部LDEVでない場合、または、移行先LDEVが外部LDEVであっても外部LDEVのある外部ストレージサブシステム２、２´に暗号化機能がない場合には、本処理は終了する。移行先LDEVが外部LDEVで、かつ、当該外部LDEVのある外部ストレージサブシステム２、２´が暗号化機能を有している場合には、ステップ３５０４に進む。
【０１３３】
ステップ３５０４で、コピー処理部９０３及び／又は９０３’は、当該外部LDEVのある外部ストレージサブシステム２、２’に対して、当該外部LDEVへの暗号鍵設定を指示する。外部ストレージサブシステム２ないし２’への暗号鍵設定の方法としては、例えば、外部アダプタ１２からファイバチャネルケーブルを介して外部ストレージサブシステム２ないし２’に指示を出す方法と、管理端末６を介して外部ストレージサブシステム２ないし２’の各管理端末７ないし７’に指示を出す方法とがある。その指示に応答して、外部ストレージサブシステム２、２´では、その外部ＬＤＥＶに対応する暗号鍵が、例えば、その外部ストレージサブシステム２、２´でのＬＵ管理テーブルに登録される。
【０１３４】
図１９は、図１７のステップ３００４における、移行元LDEVから移行先LDEVへデータのコピー処理の流れを示している。コピー処理は、移行元LDEVの先頭アドレスのデータから最後尾アドレスのデータまでを順に移行先LDEVへとコピーする処理である。
【０１３５】
まず、コピー処理部９０３及び／又は９０３’は、データを順にコピーするための制御用カウント値をキャッシュ／制御メモリ１４に記録する。本処理では、そのカウント値を“A”とする。
【０１３６】
ステップ３１０１で、コピー処理部９０３及び／又は９０３’は、当該カウント値Aを０にセットする。ステップ３１０２では、コピー処理部９０３及び／又は９０３’は、移行元LDEVのアドレスA（カウント値Ａと同じ値のアドレス）のデータを読み出す。移行元LDEVのデータ読み出しの処理は、図１１から図１６を参照して説明した処理とすることができる。ステップ３１０３では、コピー処理部９０３及び／又は９０３’は、ステップ３１０２で読み出したデータを、移行先LDEVのアドレスAに書き込む。具体的な処理は、ステップ３１０２と同様に、図１１から図１６を参照して説明した処理とすることができる。
【０１３７】
ステップ３１０４で、コピー処理部９０３及び／又は９０３’は、カウント値Aの値を１増加し、ステップ３１０５で、そのカウント値Aの値を参照して、カウント値Aが移行元LDEVの最後尾アドレスを超えたか判定する。カウント値Aが移行元LDEVの最後尾アドレスを超えた場合には、コピー処理部９０３及び／又は９０３’は、全てのデータが移行先LDEVにコピーされたことを示すため、本処理は終了する。そうでない場合には、ステップ３１０２に戻り、コピー処理を繰り返す。
【０１３８】
なお、図１９に説明の処理では、カウント値Aは１ずつ増加している、即ちデータコピーが１ブロック（セクタ）単位で実施される例を示しているが、それ以外に、１ブロックよりも大きい単位、例えば１トラック、１シリンダ単位でのデータコピー、あるいは一定連続領域（１MBなど）単位でのコピーを行う方法を取ることが可能である。
【０１３９】
図１７から図１９を参照して説明した移行／鍵変更処理は、ホスト４から移行元LDEVに対してI/O要求を受け付けながら実行することが可能である。
【０１４０】
図２０は、移行／鍵変更処理を実行途中にホスト４からI/O要求を受信した場合の処理の流れを示す。本処理は、前述の図１１の処理に入れ替わるもので、移行／鍵変更処理の実行中、移行元LDEVに対するI/O要求がきた場合には、図１１の代わりに図２０が実施されることになる。
【０１４１】
ステップ３２０１で、コマンド処理部９０１が、受信したI/O要求で指定されているアドレスと、図１９のコピー処理で使用中のカウント値Aの値とを比較し、当該I/O要求で指定されたアドレスとカウント値Aが等しいか否かを判定する。もし等しい場合には、一定時間（例えば１ミリ秒など）待ち、再びステップ３２０１に戻る。
【０１４２】
ステップ３２０２では、コマンド処理部９０１が、移行元LDEVへのI/O処理、すなわちリードないしライト処理を実施する。このステップは、図１１に記載の処理が実行される。
【０１４３】
ステップ３２０３では、コマンド処理部９０１が、当該I/O要求がライト要求であるか判定する。もしもライト要求である場合には、ステップ３２０４に進み、そうでない場合、すなわちリード要求の場合には、ここで処理が終了する。
【０１４４】
ステップ３２０４では、コマンド処理部９０１が、受信したI/O要求で指定されているアドレスがカウント値Aよりも小さいか否かを判定する。もしも、そのアドレスがカウント値Aよりも大きい場合、ステップ３２０２で移行元LDEVに書かれた当該アドレス上のデータは、まもなく図１８のコピー処理で移行先LDEVにコピーされることになるため、何もせずに本処理を終了してもよい。しかし、該I/O要求で指定されているアドレスが、カウント値Aより小さい場合には、当該アドレスのデータは、図１９のコピー処理でコピー済みのため、当該アドレスのデータが再びコピーされることは無い。そのため、今回の処理で書き込まれたデータを移行先LDEVにコピーする必要があり、ステップ３２０５で、コマンド処理部９０１が、必要に応じて外部I/O処理部９０２’を呼び出して、移行先LDEVのアドレスAにライトデータを書き込みさせる。この書き込み処理を実施するためには、ステップ３２０２と同様、図１１で記載の処理が実行される。
【０１４５】
以上が、第一の実施形態についての説明である。
【０１４６】
なお、この第一の実施形態では、外部ストレージサブシステム２、２´の少なくとも一つは、ストレージサブシステム１と同様の構成であっても良い。また、暗号処理部１３４は、ＤＫＡ１３に代えて又は加えて、ＨＤＤ１６に搭載されていても良い。その場合、図１４のステップ２００２や図１５のステップ２１０２において、暗号鍵の渡し先や指示の宛先となるのは、ＨＤＤ１６にある暗号処理部となる。
【０１４７】
＜第二の実施形態＞。
【０１４８】
次に、本発明の第二の実施形態を説明する。第二の実施形態における計算機システムの構成は第一の実施形態とほぼ同じである。ただし、ストレージサブシステム１内で管理する情報と機能に若干の相違点があり、以降ではその相違点を中心に説明する。
【０１４９】
図２１は、第二の実施形態におけるストレージサブシステム１の管理するEDEV情報テーブル２５０’の構成例を示す。
【０１５０】
第一の実施形態におけるEDEV情報テーブル２５０との相違は、カラム２５６のフラグ情報が追加されている点である。当該欄の値“１”は、当該EDEVのある外部ストレージサブシステム（２ないし２’）が、暗号化されたままのデータ（暗号文）を読み出す機能や、ストレージサブシステム１から受信したデータ（例えば暗号文）を何も加工しないまま（暗号化・復号化しないまま）、自分が有する外部LDEVへと当該データを格納する機能を備えていることを意味する。一方、値“０”は、当該EDEVのある外部ストレージサブシステム（２ないし２’）が、それらの機能を備えていないことを意味する。これらの機能については後述する。
【０１５１】
また、カラム２５６への情報設定は、ユーザが管理端末６を介してストレージサブシステム１に対して入力する。すなわちユーザは、ストレージサブシステム１に接続される外部ストレージサブシステム２ないし２’に当該機能があるかないかを判断し、当該機能がある場合にはカラム２５６に１を入力する。また、そのほかの方法として、ストレージサブシステム１が管理端末６,７,７’を介して、あるいはI/F １２３を介して、外部ストレージサブシステム２ないし２’に当該機能の有無の情報を取得し、カラム２５６にその結果を反映する方法もありえる。
【０１５２】
第一の実施形態におけるボリューム移行処理では、移行元LDEVのデータをいったんキャッシュ領域に読み出す際には、必ず平文に復号化してからキャッシュ領域上に格納され、移行先LDEVへの書き込みの際に暗号化される。しかし、第二の実施形態では、暗号鍵変更が発生しないボリューム移行処理では、移行元LDEV内の暗号文がそのまま復号化されることなく移行先LDEVにコピーされる。
【０１５３】
図２２は、図１７のステップ３００４における、移行元LDEVから移行先LDEVへのデータのコピー処理の流れを示す。この処理は第一の実施形態における、図１９のコピー処理と共通部分が多いため、相違点について中心に説明する。
【０１５４】
移行元LDEVからのデータ読み出し（ステップ３１０１以降）の前に、本処理でのコピーが可能か否かを判定する。まず、ステップ５００１で、コピー処理部９０３及び／又は９０３´が、移行元LDEVが外部LDEVであるか否かを判定する。外部LDEVであれば、ステップ５００２に進み、そうでなければ、ステップ５００３に進む。
【０１５５】
ステップ５００２で、コピー処理部９０３及び／又は９０３´が、移行元LDEVを有する外部ストレージサブシステム２、２´から復号化されていない状態（暗号化のまま）のデータ（暗号文）を読み出すことが可能かを判定する。もし、不可能との判定になれば、図１９のステップ３１０１以降の処理を行う。
【０１５６】
続いて、ステップ５００３以降で、移行先LDEVに関する条件が判定される。
【０１５７】
具体的には、ステップ５００３で、コピー処理部９０３及び／又は９０３´が、移行先LDEVが内部LDEVか否かを判定する。内部LDEVの場合には、ステップ５００４に進み、移行先LDEVのRAID構成がRAID-５などのパリティを作成する形態のRAID構成であるかを判定する。RAID-５などのようにパリティを作成する形態の場合には、図２２の処理は使用できず、図１９の処理で移行処理を実施する。
【０１５８】
ステップ５００３で移行先LDEVが外部LDEVと判定された場合、ステップ５００５に進み、コピー処理部９０３及び／又は９０３´が、移行先LDEVのある外部ストレージサブシステム２、２´が、暗号文をそのまま書き込むことが可能であるかを判定する。可能な場合にはステップ３１０１に進み、不可能な場合には、図１９におけるステップ３００１以降の処理を実施する。
【０１５９】
図２２のステップ３１０１以降の処理は、図１９におけるステップ３１０１以降の処理と殆ど同じである。図１９のステップ３１０２が、図２２ではステップ３１０２’にかわり、コピー処理部９０３及び／又は９０３´が、移行元LDEVからのデータ読み出し時に復号化を実施せずに読み出しを実施する。この結果、移行元LDEVから読み出されたデータは暗号文である。また、図１９のステップ３１０３は、ステップ３１０３’に変わり、コピー処理部９０３及び／又は９０３´が、移行先LDEVへのデータ書き込み時に、ステップ３１０２’で読み出した暗号文を途中で暗号化せずに書き込むようにする。
【０１６０】
ステップ５００２ないし５００５の判定は、図２１のEDEV情報テーブル２５０’内のカラム２５６の値を基に行われる。カラム２５６の値が１であれば、移行元LDEVのある装置から復号化されていない状態（暗号化のまま）のデータを読み出すことが可能、また移行先LDEVのある装置は、暗号化データをそのまま書き込むことが可能であることを意味する。
【０１６１】
ステップ５００４の処理で、移行先LDEVのRAID構成により処理が変わる理由は、ストレージサブシステム１で、暗号文を元にパリティを生成すると、本来作成されるべきパリティと異なる値になるためである。ストレージサブシステム１では、ＨＤＤ１６に書き込む直前に暗号化処理を実施するため、通常は、平文を元にしたパリティを生成し、ＨＤＤ１６に格納する直前に暗号化を行う。すなわちＨＤＤ１６に書かれるパリティは、平文から生成されたパリティを暗号化したものである。しかし、図２２の処理のように、暗号文がキャッシュ領域上にある場合には、暗号文を元にしたパリティが生成されるため、平文から生成されたパリティとは異なり、故に、図２２のステップ５００４では、移行先LDEVが内部LDEVの場合に、RAID構成においてパリティを生成しないRAIDレベル（RAID０, １,
０+１など）に限定される。しかし、ストレージサブシステム１内における暗号処理部の位置が、DKA１３ではない位置、例えばCHA１１に暗号処理部が存在して、ホストからキャッシュ領域にデータが格納される際に暗号化処理が実行される形態の場合には、このような制約は不要、すなわち、ステップ５００４における判定処理は不要となる。
【０１６２】
ステップ３１０２’ないし３１０３’は、原則として、図１１から図１６に開示の、LDEVに対するI/O処理とほぼ同様の処理を実行することで処理される。ただし、ステップ３１０２’で、暗号化されてLDEV内に格納されているデータ（暗号文）を復号化せずにリードする、またステップ３１０３’では、ステップ３１０２’で読み出されたデータをストレージサブシステム１で暗号化せずにＨＤＤ１６あるいは外部ストレージサブシステム２ないし２’に送信するため、図１４から図１６の処理が若干異なる。
【０１６３】
ステップ３１０２’のリード処理において、リード対象が内部LDEVの場合、図１５のステップ２１０１,２１０２を実施せずに、ＨＤＤ１６からキャッシュ領域へデータがリードされる。
【０１６４】
また、外部LDEVに対するI/O処理の流れを図２３に示す。この処理は、図１６と類似しているが、図１６のステップ１３０３, １３０４, １３０５,１３１１,１３１２,１３１３が無い。
【０１６５】
また、図１６のステップ１３０６は、ステップ１３０６’に変更になり、ステップ１３０６’のライト要求送出時に、外部ストレージサブシステム２、２´に対して、ライトデータを暗号化せずに書き込むことの要求（以下、暗号化不要ライト要求）が送信される。
【０１６６】
また、図１６のステップ１３１４は、ステップ１３１４’に変更になる。ステップ１３１４’のリード要求送出時に、例えば、外部ストレージサブシステム２、２´に対して、復号化されていないデータ（暗号文）をそのままリードすることの要求（以下、復号化不要リード要求）が送信される。
【０１６７】
復号化されていないデータ（暗号文）をリードする、あるいは、データ（暗号文）を外部ストレージサブシステム２、２´内で暗号化せずに書き込むためには、例えば、外部ストレージサブシステム２ないし２’が、暗号化不要ライト要求や復号化不要リード要求をストレージサブシステム１から受けて、復号化されていないデータを返却する、ないし、暗号化処理を実施せずにデータを格納する機能を備えていることが必要となる。具体的な方法の一つとして、例えばSCSI-FCPプロトコルで規定されているREAD/WRITEコマンドではなく、新たに定義された特殊なコマンドをストレージサブシステム１から外部ストレージサブシステム２ないし２’に対して発行する方法がありえる。
【０１６８】
また、例えば、復号化されていないデータ（暗号文）をリードする、あるいは、データ（暗号文）を外部ストレージサブシステム２、２´内で暗号化せずに書き込むための方法として、外部Ｉ／Ｏ処理部９０２´が、外部ストレージサブシステム２、２´に対し、アクセス先となる外部ＬＤＥＶが暗号化対象ではないことを通知しても良い。この通知を受けた外部ストレージサブシステム２、２´は、例えば、外部ストレージサブシステム２、２´での図１４又は図１５の処理において、ステップ２００１でＮＯ、或いは、ステップ２１０１でＮＯとなってもよい。
【０１６９】
以上が、第二の実施形態についての説明である。
【０１７０】
なお、この第二の実施形態では、外部ストレージサブシステム２、２´の少なくとも一つは、ストレージサブシステム１と同様の構成であっても良い。この場合、例えば、外部ストレージサブシステム２、２´では、コマンド処理部が、暗号文をライト対象とした暗号化不要ライト要求を受けたならば、ディスクＩ／Ｏ処理部に対して、該暗号化不要ライト要求で指定されている外部ＬＤＥＶにその暗号文を書込むことのライト要求を送る。そのライト要求には、例えば、その外部ＬＤＥＶは暗号化対象でないことを示す暗号化非対象情報が設定される。ディスクＩ／Ｏ処理部は、コマンド処理部からライト要求を受け、そのライト要求に、暗号化非対象情報が設定されているならば、そのライト要求に従う暗号文をそのままＨＤＤ（外部ＬＤＥＶの基になっているＨＤＤ）へデータ転送する。また、例えば、外部ストレージサブシステム２、２´では、コマンド処理部が、暗号文をリード対象とした復号化不要リード要求を受けたならば、ディスクＩ／Ｏ処理部に対して、該復号化不要リード要求で指定されている外部ＬＤＥＶからその暗号文を読み出すことのリード要求を送る。そのリード要求には、例えば、その外部ＬＤＥＶは暗号化対象でないことを示す暗号化非対象情報が設定される。ディスクＩ／Ｏ処理部は、コマンド処理部からリード要求を受け、そのリード要求に、暗号化非対象情報が設定されているならば、そのリード要求に従う暗号文をそのままＨＤＤ（外部ＬＤＥＶの基になっているＨＤＤ）から読出しキャッシュ領域にデータ転送する。
【０１７１】
＜第三の実施形態＞。
【０１７２】
第三の実施形態では、外部ストレージサブシステム２から外部ストレージサブシステム２´へのデータ移行が、ストレージサブシステム１を経由することなく行われる。このデータ移行は、移行元外部ＬＤＥＶに対応付けられている暗号鍵が変更されない場合に行うことができる。
【０１７３】
例えば、管理端末７が、外部ストレージサブシステム２の第一の外部ＬＤＥＶから、外部ストレージサブシステム２´の第二の外部ＬＤＥＶに暗号文のままデータ移行することのデータ移行指示を、外部ストレージサブシステム２に送信する。これに応答して、外部ストレージサブシステム２（例えばコマンド処理部）が、そのデータ移行指示で指定されている第一の外部ＬＤＥＶ内の暗号文をライト対象とし第二の外部ＬＤＥＶを指定したライト要求を、外部ストレージサブシステム２´に送信する。もし、外部ストレージサブシステム２´に暗号化機能がある場合には、管理端末７或いは外部ストレージサブシステム２が、第二の外部ＬＤＥＶに書込むデータについては暗号化を不要とすることを、外部ストレージサブシステム２´に指示する。これにより、外部ストレージサブシステム２´は、外部ストレージサブシステム２からのライト要求に従う暗号文を、暗号化することなく、第二の外部ＬＤＥＶに書込む。
【０１７４】
また、外部ストレージサブシステム２或いは管理端末７は、第一の外部ＬＤＥＶ内のデータ（暗号文）が第二の外部ＬＤＥＶに移行したことをストレージサブシステム１或いは管理端末６に通知する。その通知に応答して、ストレージサブシステム１或いは管理端末６は、ＥＤＥＶ情報テーブル２５０において、第一の外部ＬＤＥＶに対応した情報を、第二の外部ＬＤＥＶに対応した情報に更新する。これにより、ストレージサブシステム１は、ホスト４から、第一の外部ＬＤＥＶを指定したＩ／Ｏ要求を受けた場合には、第二の外部ＬＤＥＶに対するＩ／Ｏを実行することができる。
【０１７５】
以上、本発明の幾つかの実施形態を説明したが、これらの実施形態は本発明の説明のための例示にすぎず、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。本発明は、その要旨を逸脱することなく、その他の様々な態様でも実施することができる。例えば、暗号鍵は、ＬＤＥＶ単位ではなく、ＬＤＥＶを構成するサブ領域単位であっても良いし、ＨＤＤ単位であっても良い。
【図面の簡単な説明】
【０１７６】
【図１】本発明の第一実施形態に係る計算機システムの物理的な構成例を示す。
【図２】本発明の第一実施形態に係る計算機システムの論理的な構成例を示す。
【図３】複数のＨＤＤ１６と論理ボリュームとの関係性の一例を示す図である。
【図４】RAID構成テーブルの構成例を示す。
【図５】VDEV構成テーブルの構成例を示す。
【図６】LU構成テーブルの構成例を示す。
【図７】ポート構成テーブルの構成例を示す。
【図８】EDEV情報テーブルの構成例を示す。
【図９】本発明のストレージサブシステム１におけるLU作成の処理の流れを示す。
【図１０】ホストアダプタがホストからI/O要求を受信した場合に実行される処理の流れの一例を示す。
【図１１】ストレージサブシステムにおける、LDEVに対するI/O要求の処理の流れを示す。
【図１２】内部LDEVに対するI/O要求の処理の流れの一例を示す。
【図１３】内部LDEVに対するI/O要求の処理の流れの一例を示す。
【図１４】ＨＤＤに対する書込み処理の一例を示す。
【図１５】ＨＤＤに対する書込み処理の一例を示す。
【図１６】外部LDEVに対するI/O要求の処理の流れの一例を示す。
【図１７】移行／鍵変更処理の流れを示す。
【図１８】鍵設定処理の流れを示す。
【図１９】図１６のステップ３００４における、移行元LDEVから移行先LDEVへのデータのコピー処理の流れを示す。
【図２０】移行／鍵変更処理の実行中にホストからI/O要求を受けたストレージサブシステムの処理の流れを示す。
【図２１】本発明の第二の実施形態におけるストレージサブシステムの管理するEDEV情報テーブルの構成例を示す。
【図２２】第二の実施形態における、移行元LDEVから移行先LDEVへのデータのコピー処理の流れを示す。
【図２３】図２２の移行元LDEVから移行先LDEVへのデータのコピー処理において、外部LDEVからのデータリードや、外部LDEVへのデータライトが行われる場合の、外部LDEVに対するI/O処理の流れを示す。
【符号の説明】
【０１７７】
１…ストレージサブシステム  ２、２´…外部ストレージサブシステム  ４…ホスト計算機  ５…ファイバチャネルスイッチ  ６、７、７´…管理端末  １１…ホストアダプタ  １２…外部アダプタ  １３…ディスクアダプタ  １４…キャッシュ/制御メモリ  １５…内部スイッチ  １６…HDD
【図１】
2008250393.tif 000003
【図２】
2008250393.tif 000004
【図３】
2008250393.tif 000005
【図４】
2008250393.tif 000006
【図５】
2008250393.tif 000007
【図６】
2008250393.tif 000008
【図７】
2008250393.tif 000009
【図８】
2008250393.tif 000010
【図９】
2008250393.tif 000011
【図１０】
2008250393.tif 000012
【図１１】
2008250393.tif 000013
【図１２】
2008250393.tif 000014
【図１３】
2008250393.tif 000015
【図１４】
2008250393.tif 000016
【図１５】
2008250393.tif 000017
【図１６】
2008250393.tif 000018
【図１７】
2008250393.tif 000019
【図１８】
2008250393.tif 000020
【図１９】
2008250393.tif 000021
【図２０】
2008250393.tif 000022
【図２１】
2008250393.tif 000023
【図２２】
2008250393.tif 000024
【図２３】
2008250393.tif 000025