(57)【特許請求の範囲】
【請求項１】
第１ストレージシステムと、
前記第１ストレージシステムに通信ネットワークを介して接続された第２ストレージシステムと
を有し、
前記第１ストレージシステムは、
第１論理ボリュームの基になる複数の第１記憶デバイスで構成された第１ＲＡＩＤグループと、
前記第１ＲＡＩＤグループに接続された第１コントローラと
を有し、
前記第２ストレージシステムは、
第２論理ボリュームの基になる複数の第２記憶デバイスで構成された第２ＲＡＩＤグループと、
前記第１コントローラ及び前記第２ＲＡＩＤグループに接続された第２コントローラと
を有し、
前記第１ＲＡＩＤグループのＲＡＩＤ構成と前記第２ＲＡＩＤグループのＲＡＩＤ構成は同じであり、
前記第１ＲＡＩＤグループを構成する各第１記憶デバイスは、ライト対象のデータを圧縮する及びリード対象の圧縮済みデータを伸長する第１圧縮／伸長機能を有しており、
前記第２ＲＡＩＤグループを構成する各第２記憶デバイスは、ライト対象のデータを圧縮する及びリード対象の圧縮済みデータを伸長する第２圧縮／伸長機能を有しており、
前記第１圧縮／伸長機能の種類と前記第２圧縮／伸長機能は同じであり、
前記第１論理ボリュームから前記第２論理ボリュームへのデータのリモートコピーである第１のリモートコピーにおいて、
（Ａ）前記第１コントローラが、前記第１論理ボリューム内のデータについて、前記第１ＲＡＩＤグループを構成する各第１記憶デバイスに、圧縮済みデータを伸長することなく読み出すことのリード要求を送信することにより、各第１記憶デバイスから圧縮済みデータが読み出され、
（Ｂ）前記第１記憶デバイス毎に、読み出された圧縮済みデータが、前記通信ネットワークを介して前記第２コントローラに転送され、前記第２コントローラが、第１記憶デバイスのＲＡＩＤ位置と前記第２ＲＡＩＤグループにおいて同じＲＡＩＤ位置にある第２記憶デバイスに、圧縮済みデータを圧縮することなく書き込むことのライト要求を送信することにより、その第２記憶デバイスの、前記第２論理ボリュームに対応した領域に、圧縮済みデータが書き込まれ、
前記ＲＡＩＤ位置は、ＲＡＩＤグループにおける記憶デバイスの位置である、
リモートコピーシステム。
【請求項２】
請求項１記載のリモートコピーシステムであって、
圧縮済みデータの転送先の記憶デバイスのアドレスが前記（Ｂ）で前記第２のコントローラに指定される、又は、圧縮済みデータの転送元である第１記憶デバイスのアドレスが前記（Ａ）で前記第１コントローラに指定されることにより、前記（Ａ）及び前記（Ｂ）が実行される、
リモートコピーシステム。
【請求項３】
請求項２記載のリモートコピーシステムであって、
第３論理ボリュームの基になる複数の第３記憶デバイスで構成された第３ＲＡＩＤグループを有し、
各第３記憶デバイスは、圧縮／伸長機能を有しておらず、圧縮されていないデータである非圧縮データを記憶しており、
前記第１ＲＡＩＤグループのＲＡＩＤ構成と前記第３ＲＡＩＤグループのＲＡＩＤ構成は同じであり、
前記第３論理ボリュームから前記第１論理ボリュームへのデータのリモートコピーである第２のリモートコピーにおいて、
（Ｆ）前記第３論理ボリューム内のデータについて、前記第３ＲＡＩＤグループを構成する各第３記憶デバイスから非圧縮データが読み出され、
（Ｇ）前記第３記憶デバイス毎に、読み出された非圧縮データが、第３記憶デバイスのＲＡＩＤ位置と前記第１ＲＡＩＤグループにおいて同じＲＡＩＤ位置にある第１記憶デバイスの、前記第１論理ボリュームに対応した領域に、転送され、
前記第２のリモートコピーの後に、前記第１のリモートコピーが行われる、
リモートコピーシステム。
【請求項４】
請求項３記載のリモートコピーシステムであって、
前記第１ストレージシステムが前記第１ＲＡＩＤグループの他に前記第３ＲＡＩＤグループを有し、
前記第１コントローラに前記第３ＲＡＩＤグループが接続されている、
リモートコピーシステム。
【請求項５】
請求項１記載のリモートコピーシステムであって、
管理システムを更に有し、
前記第１及び第２ストレージシステムは、それぞれ、複数のＲＡＩＤグループを有し、
（Ｐ）前記管理システムは、ユーザ所望の経由論理ボリューム及び転送先論理ボリュームの指定を受け付け、
前記管理システムは、前記（Ｐ）において、
（ｐ１）下記情報（ｘ）及び（ｙ）；
（ｘ）前記第１ストレージシステムが有する各ＲＡＩＤグループについて、ＲＡＩＤ構成と、圧縮／伸長機能の有無と、圧縮／伸長機能の種類とを表す情報、及び
（ｙ）前記第２ストレージシステムが有する各ＲＡＩＤグループについて、ＲＡＩＤ構成と、圧縮／伸長機能の有無と、圧縮／伸長機能の種類とを表す情報
を参照して、前記第１ストレージシステムの複数のＲＡＩＤグループの中から、第３ＲＡＩＤグループのＲＡＩＤ構成と同じＲＡＩＤ構成のＲＡＩＤグループに基づく１以上の論理ボリュームを特定し、
（ｐ２）前記（ｐ１）で特定した１以上の論理ボリュームに関する情報を表示し、
（ｐ３）前記（ｐ２）で表示した情報が表す１以上の論理ボリュームのうちのユーザ所望の論理ボリュームとして前記経由論理ボリュームの指定を受け、
（ｐ４）前記（ｘ）及び（ｙ）の情報を参照して、前記第２ストレージシステムが有する複数のＲＡＩＤグループの中から、下記条件（ｃ１）及び（ｃ２）；
（ｃ１）前記第１ＲＡＩＤグループのＲＡＩＤ構成と同じＲＡＩＤ構成のＲＡＩＤグループ、
（ｃ２）前記第１ＲＡＩＤグループを構成する各第１記憶デバイスが有する圧縮／伸長機能の種類と同じ種類の圧縮／伸長機能を有する複数の記憶デバイスで構成されたＲＡＩＤグループ、
を満たすＲＡＩＤグループに基づく１以上の論理ボリュームを特定し、
（ｐ５）前記（ｐ４）で特定した１以上の論理ボリュームに関する情報を表示し、
（ｐ６）前記（ｐ５）で表示した情報が表す１以上の論理ボリュームのうちのユーザ所望の論理ボリュームとして前記転送先論理ボリュームの指定を受け、
前記転送先論理ボリュームは、前記第２論理ボリュームである、
リモートコピーシステム。
【請求項６】
請求項５記載のリモートコピーシステムであって、
各第２記憶デバイスは、フラッシュメモリデバイスである、
リモートコピーシステム。
【請求項７】
請求項１記載のリモートコピーシステムであって、
前記第１及び第２ストレージシステムに接続された１以上の第３ストレージシステムを有し、
前記第３ストレージシステムが、１以上の第３論理ボリュームを有し、
前記第１のリモートコピーにおいて、
前記（Ａ）で前記複数の第１記憶デバイスからそれぞれ読み出された複数の圧縮済みデータが、前記１以上の第３論理ボリュームに一時保管され、前記１以上の第３論理ボリュームから前記複数の圧縮済みデータが読み出され、前記複数の圧縮済みデータが前記（Ｂ）で前記複数の第２記憶デバイスに転送される、
リモートコピーシステム。
【請求項８】
請求項１記載のリモートコピーシステムであって、
管理システムを更に有し、
前記第２ストレージシステムは、複数のＲＡＩＤグループを有し、
（Ｐ）前記管理システムは、ユーザ所望の転送先の論理ボリュームの指定を受け付け、
前記管理システムは、前記（Ｐ）において、
（ｐ１）下記情報（ｘ）及び（ｙ）；
（ｘ）前記第１ＲＡＩＤグループのＲＡＩＤ構成と前記第１ＲＡＩＤグループを構成する各第１記憶デバイスの圧縮／伸長機能の種類とを表す情報、及び
（ｙ）前記第２ストレージシステムが有する各ＲＡＩＤグループについて、ＲＡＩＤ構成と、圧縮／伸長機能の有無と、圧縮／伸長機能の種類とを表す情報
を参照して、前記複数のＲＡＩＤグループの中から、下記条件（ｃ１）及び（ｃ２）；
（ｃ１）前記第１ＲＡＩＤグループのＲＡＩＤ構成と同じＲＡＩＤ構成のＲＡＩＤグループ、
（ｃ２）前記第１ＲＡＩＤグループを構成する各第１記憶デバイスが有する圧縮／伸長機能の種類と同じ種類の圧縮／伸長機能を有する複数の記憶デバイスで構成されたＲＡＩＤグループ、
を満たすＲＡＩＤグループに基づく１以上の論理ボリュームを特定し、
（ｐ２）前記（ｐ１）で特定した１以上の論理ボリュームに関する情報を表示し、
（ｐ３）前記（ｐ２）で表示した情報が表す１以上の論理ボリュームのうちのユーザ所望の論理ボリュームを前記転送先の論理ボリュームとして指定を受け、
前記転送先の論理ボリュームが、前記第２論理ボリュームである、
リモートコピーシステム。
【請求項９】
第１ストレージシステムと、前記第１ストレージシステムに通信ネットワークを介して接続された第２ストレージシステムとを含むリモートコピーシステムで実現されるリモートコピー方法であって、
前記第１ストレージシステムは、第１論理ボリュームの基になる複数の第１記憶デバイスで構成された第１ＲＡＩＤグループを有し、
前記第２ストレージシステムは、第２論理ボリュームの基になる複数の第２記憶デバイスで構成された第２ＲＡＩＤグループを有し、
前記第１ＲＡＩＤグループのＲＡＩＤ構成と前記第２ＲＡＩＤグループのＲＡＩＤ構成は同じであり、
前記第１ＲＡＩＤグループを構成する各第１記憶デバイスは、ライト対象のデータを圧縮する及びリード対象の圧縮済みデータを伸長する第１圧縮／伸長機能を有しており、
前記第２ＲＡＩＤグループを構成する各第２記憶デバイスは、ライト対象のデータを圧縮する及びリード対象の圧縮済みデータを伸長する第２圧縮／伸長機能を有しており、
前記第１圧縮／伸長機能の種類と前記第２圧縮／伸長機能は同じであり、
（Ａ）前記第１論理ボリューム内のデータについて、前記第１ＲＡＩＤグループを構成する各第１記憶デバイスに、圧縮済みデータを伸長することなく読み出すことのリード要求を送信することにより、各第１記憶デバイスから圧縮済みデータを読み出し、
（Ｂ）前記第１記憶デバイス毎に、読み出された圧縮済みデータを、前記通信ネットワークを介して転送し、その圧縮済みデータを、第１記憶デバイスのＲＡＩＤ位置と前記第２ＲＡＩＤグループにおいて同じＲＡＩＤ位置にある第２記憶デバイスの、前記第２論理ボリュームに対応した領域に、書き込み、
前記ＲＡＩＤ位置は、ＲＡＩＤグループにおける記憶デバイスの位置である、
リモートコピー方法。
【請求項１０】
第２ストレージシステムに通信ネットワークを介して接続される第１のストレージシステムであって、
第１論理ボリュームの基になる複数の第１記憶デバイスで構成された第１ＲＡＩＤグループと、
前記第１ＲＡＩＤグループに接続された第１コントローラと
を有し、
前記第２ストレージシステムは、
第２論理ボリュームの基になる複数の第２記憶デバイスで構成された第２ＲＡＩＤグループと、
前記第１コントローラ及び前記第２ＲＡＩＤグループに接続された第２コントローラと
を有し、
前記第１ＲＡＩＤグループのＲＡＩＤ構成と前記第２ＲＡＩＤグループのＲＡＩＤ構成は同じであり、
前記第１ＲＡＩＤグループを構成する各第１記憶デバイスは、ライト対象のデータを圧縮する及びリード対象の圧縮済みデータを伸長する第１圧縮／伸長機能を有しており、
前記第２ＲＡＩＤグループを構成する各第２記憶デバイスは、ライト対象のデータを圧縮する及びリード対象の圧縮済みデータを伸長する第２圧縮／伸長機能を有しており、
前記第１圧縮／伸長機能の種類と前記第２圧縮／伸長機能は同じであり、
前記第１論理ボリュームから前記第２論理ボリュームへのデータのリモートコピーである第１のリモートコピーにおいて、
（Ａ）前記第１コントローラが、前記第１論理ボリューム内のデータについて、前記第１ＲＡＩＤグループを構成する各第１記憶デバイスに、圧縮済みデータを伸長することなく読み出すことのリード要求を送信することにより、各第１記憶デバイスから圧縮済みデータが読み出され、
（Ｂ）前記第１コントローラが、前記第１記憶デバイス毎に、読み出された圧縮済みデータの転送先を指定した格納指示を、前記通信ネットワークを介して前記第２コントローラに転送し、
前記格納指示は、第１記憶デバイスのＲＡＩＤ位置と前記第２ＲＡＩＤグループにおいて同じＲＡＩＤ位置にある第２記憶デバイスの格納先のアドレスを表す情報を含む、
ストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム間で行われるリモートコピーの技術に関する。
【背景技術】
【０００２】
リモートコピーの運用では、通信業者が管理する回線（例えば、ＷＡＮ（World  Area  Network）回線）を借りその借りた回線を介してストレージシステム間でリモートコピーが行われことがある。そのため、ストレージシステム間で送受信するデータの量が多くなると、その分、通信費が高くなってしまう。この通信費は、リモートコピーシステムの運用にかかる費用の大きな割合を占めることがある。従って、ストレージシステム間で送受信されるデータの量は少ない方が良い。
【０００３】
通信費を削減するための方法として、一方のストレージシステムから他方のストレージシステムへデータを圧縮して送信する方法がある。しかし、データの圧縮機能を有さないストレージシステムでは、データを圧縮して送信するためのアプライアンス（専用機）をストレージシステムとは別に購入及び設置する必要があり、コストと手間がかかるという問題がある。
【０００４】
また、アプライアンスを購入及び設置しても、送信するデータを期待以上に圧縮できない（つまりデータ量をあまり削減できない）という問題もある。それは、データ量をどの程度圧縮できるかは、送信するデータの種類に依存し、実際に運用してみないと、扱われるデータの種類は特定できないためである。例えば、送信するデータがＪＰＥＧ（Joint  Photographic  Experts  Group）データの場合、ＪＰＥＧデータは既に圧縮されているため、あまり圧縮することはできない。
【０００５】
他方で、データの圧縮機能を有する記憶デバイス（例えば、ＳＳＤ（Solid  State  Drive）を採用したストレージシステムがある。ＳＳＤは、ライト対象のデータを圧縮し、圧縮したデータを、読み書きの単位であるページの大きさを基に分割し、ライト先のページ毎に、分割したデータを保証コード（例えば、ＥＣＣ(Error  Correcting  Code)）と共にページにライトする（特許文献１）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１０−８６１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、ＳＳＤは、圧縮したデータをＦＭチップからリードした場合、そのデータを復元（伸長）して出力する。このため、ストレージシステムの記憶デバイスとしてＳＳＤが採用されても、ストレージシステム間で送受信されるデータの量を削減することができない。
この問題は、ＳＤＤに限らず、データ圧縮機能を有する他種の記憶デバイス（例えば、ＨＤＤ（Hard  Disk  Drive））が採用された場合にも起こり得る。
【０００８】
従って、本発明の目的は、データ圧縮機能を有する記憶デバイスがストレージシステムの記憶デバイスとして採用されても、ストレージシステム間で送受信されるデータの量を削減できるようにすることにある。
【課題を解決するための手段】
【０００９】
第１ストレージシステムと、第１ストレージシステムに通信ネットワークを介して接続された第２ストレージシステムとを有するリモートコピーシステムにおいて、第１ストレージシステムは、第１論理ボリュームの基になる複数の第１記憶デバイスで構成された第１ＲＡＩＤグループと、第１ＲＡＩＤグループに接続された１コントローラとを有する。第２ストレージシステムは、第２論理ボリュームの基になる複数の第２記憶デバイスで構成された第２ＲＡＩＤグループと、第１コントローラ及び第２ＲＡＩＤグループに接続された第２コントローラとを有する。
【００１０】
第１ＲＡＩＤグループのＲＡＩＤ構成と第２ＲＡＩＤグループのＲＡＩＤ構成は同じであり、第１ＲＡＩＤグループを構成する各第１記憶デバイスは、ライト対象のデータを圧縮する及びリード対象の圧縮済みデータを伸長する第１圧縮／伸長機能を有しており、第２ＲＡＩＤグループを構成する各第２記憶デバイスは、ライト対象のデータを圧縮する及びリード対象の圧縮済みデータを伸長する第２圧縮／伸長機能を有している。第１圧縮／身長機能の種類と前記第２圧縮／伸長機能は同じである。
【００１１】
第１論理ボリュームから第２論理ボリュームへのデータのリモートコピーである第１のリモートコピーする場合、
（Ａ）第１コントローラが、第１論理ボリューム内のデータについて、第１ＲＡＩＤグループを構成する各第１記憶デバイスに、圧縮済みデータを伸長することなく読み出すことのリード要求を送信することにより、各第１記憶デバイスから圧縮済みデータが読み出され、
（Ｂ）第１記憶デバイス毎に、読み出された圧縮済みデータが、通信ネットワークを介して２コントローラに転送され、第２コントローラが、第１記憶デバイスのＲＡＩＤ位置と第２ＲＡＩＤグループにおいて同じＲＡＩＤ位置にある第２記憶デバイスに、圧縮済みデータを圧縮することなく書き込むことのライト要求を送信することにより、その第２記憶デバイスの、第２論理ボリュームに対応した領域に、圧縮済みデータが書き込まれる。
【００１２】
ＲＡＩＤ内位置は、ＲＡＩＤグループにおける記憶デバイスの位置である。
【図面の簡単な説明】
【００１３】
【図１】図１は、実施例１に係るリモートコピーシステムを含んだ計算機システムの構成の一例を示す。
【図２】図２は、ストレージシステム２０の構成の一例を示す。
【図３】図３は、フラッシュパッケージ２９Ａの構成の一例を示す。
【図４】図４は、ホスト計算機１０の構成の一例を示す。
【図５】図５は、物理的な記憶デバイスと論理的な記憶デバイスとの関係の一例を示す。
【図６】図６は、フラッシュパッケージ２９におけるデータのライト処理の概要を示す。
【図７】図７は、フラッシュパッケージ２９Ａが圧縮データを伸長してコントローラ２７に送信する処理の概要を示す。
【図８】図８は、フラッシュパッケージ２９Ａが圧縮データを伸長しないでコントローラ２７に送信する処理の概要を示す。
【図９】図９は、メモリ２２に記憶されるプログラム及び情報の一例を示す。
【図１０】図１０は、ＶＯＬ情報テーブル９３の一例を示す。
【図１１】図１１は、ＲＡＩＤグループ情報テーブル９４の一例を示す。
【図１２】図１２は、ＲＡＩＤグループ構成情報テーブル９５の一例を示す。
【図１３】図１３は、記憶デバイス情報テーブル９６の一例を示す。
【図１４】図１４は、メモリ１６に記憶されるプログラム及び情報の一例を示す。
【図１５】図１５は、ＶＯＬ情報管理テーブル１４３の一例を示す。
【図１６】図１６は、メモリ３２に記憶されるプログラム及び情報の一例を示す。
【図１７】図１７は、フラッシュパッケージ情報管理テーブル１６３の一例を示す。
【図１８】図１８は、記憶領域管理テーブル１６４の一例を示す。
【図１９】図１９は、コントローラ２７においてＶＯＬ管理プログラム９１が行う処理フローの一例を示す。
【図２０】図２０は、フラッシュパッケージ２９Ａにおいてリクエスト処理プログラム１６１が行う処理フローの一例を示す。
【図２１】図２１は、フラッシュパッケージ２９Ａにおいて記憶領域管理プログラム１６２が行う処理フローの一例を示す。
【図２２】図２２は、実施例１に係るリモートコピーシステムの処理の概略を示す。
【図２３】図２３は、ユーザ設定画面２３０の一例を示す。
【図２４】図２４は、管理システム１４においてデータ転送指示プログラム１４２が行う処理フローの一例を示す。
【図２５】図２５は、コントローラ２７においてデータ転送プログラム９２が行う処理のフローの一例を示す。
【図２６】図２６は、フラッシュパッケージ２９Ａにおいてリクエスト処理プログラム１６１が行うリード要求に対する処理のフローの一例を示す。
【図２７】図２７は、ストレージシステム間で転送されるデータの一例を示す。
【図２８】図２８は、実施例２に係るリモートコピーシステムの処理の概略を示す。
【図２９】図２９は、ユーザ設定画面２９０の一例を示す。
【図３０】図３０は、管理システム１４においてデータ転送指示プログラム１４２が行う処理のフローの一例を示す。
【図３１】図３１は、コントローラ２７においてデータ転送プログラム９２が行う処理のフローの一例を示す。
【図３２】図３２は、実施例３に係るリモートコピーシステムの処理の概略を示す。
【図３３】図３３は、ユーザ設定画面３３０の一例を示す。
【図３４】図３４は、メモリ２２に記憶されるプログラム及び情報の一例を示す。
【図３５】図３５は、保管ＶＯＬ情報テーブル３４７の構成の一例を示す。
【図３６】図３６は、データ保管先情報テーブル３４８の一例を示す。
【図３７】図３７は、コントローラ２７においてデータ転送プログラム９２が行う処理のフローの一例を示す。
【図３８】図３８は、ユーザ設定画面３８０の一例を示す。
【図３９】図３９は、コントローラ２７においてデータ転送プログラム９２の処理の一例を示す。
【発明を実施するための形態】
【００１４】
幾つかの実施例を説明する。なお、本発明の技術的範囲が各実施例に限定されない。
【００１５】
なお、以後の説明では、「＊＊＊テーブル」の表現にて各種情報を説明することがあるが、各種情報は、テーブル以外のデータ構造で表現されていてもよい。データ構造に依存しないことを示すために「＊＊＊テーブル」を「＊＊＊情報」と呼ぶことができる。
【００１６】
また、以後の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Central  Processing  Unit））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び通信制御装置（例えば通信ポート）を用いながら行うため、処理の主語がプロセッサとされてもよい。また、プログラムを主語として説明された処理は、管理システムが行う処理としても良い。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。このため、プログラムを主語として説明された処理は、コントローラが行う処理としても良い。コントローラは、プロセッサと、プロセッサに実行されるコンピュータプログラムを記憶する記憶資源とを含んでも良いし、上記の専用ハードウェアを含んでも良い。また、コンピュータプログラムは、プログラムソースから各計算機にインストールされても良い。プログラムソースは、例えば、プログラム配布サーバ又は記憶メディアであっても良い。
【００１７】
また、以下の説明では、管理システムは、一以上の計算機、例えば、管理計算機、又は、管理計算機と表示用計算機との組み合わせである。具体的には、例えば、管理計算機が表示用情報を表示する場合は、管理計算機が管理システムである。また、処理の高速化や高信頼化のために、複数の計算機で管理計算機と同等の機能が実現されてもよく、この場合は、当該複数の計算機（表示を表示用計算機が行う場合は表示用計算機を含んで良い）が、管理システムである。
【実施例１】
【００１８】
図１は、実施例１に係る計算機システムの構成の一例を示す。
計算機システムは、ホスト計算機１０及びリモートコピーシステムを有する。リモートコピーシステムは、管理システム１４、及び複数のストレージシステム２０を有する。ホスト計算機１０と各ストレージシステム２０とは、第１の通信ネットワーク、例えば、ＳＡＮ（Storage  Area  Network）１２を介して接続されている。各ストレージシステム２０と管理システム１４とは、第２の通信ネットワーク、例えば、ＩＰネットワーク（ＩＰ（Internet  Protocol）で通信がされる通信ネットワーク）１３を介して接続されている。
【００１９】
管理システム１４は、通信インタフェースデバイス１７、記憶デバイス及びそれらに接続された制御デバイスを有する。通信インタフェースデバイスを、「Ｉ／Ｆ」と示す。記憶デバイスは、例えばメモリ１６である。制御デバイスは、例えばＣＰＵ（Central  Processing  Unit））１５である。管理システム１４は、Ｉ／Ｆ１７を介して第２の通信ネットワーク１３と接続される。メモリ１６には、ストレージシステム２０を管理するためのプログラム及び各種情報が記憶される。ＣＰＵ１５は、メモリ１６に記憶されているプログラムを実行することにより各種機能を実現させる。なお、制御デバイスは、ＣＰＵ１５のようなプロセッサの他に、所定の処理（例えば圧縮、伸長、暗号化又は復号化）を行う専用ハードウェア回路を含んでも良い。
【００２０】
図２は、ストレージシステム２０の構成の一例を示す。
【００２１】
ストレージシステム２０は、コントローラ２７、及び、コントローラ２７に接続された記憶デバイス群を有する。記憶デバイス群は、異種の記憶媒体を含んで構成されても良いし、同種の記憶媒体より構成されても良い。
【００２２】
コントローラ２７は、通信インタフェースデバイス、記憶デバイス及びそれらに接続された制御デバイスを有する。通信インタフェースデバイスとして、例えば、Ｉ／Ｆ２４、２５及びディスクＩ／Ｆ２６がある。記憶デバイスとして、例えば、メモリ２２及びキャッシュメモリ２３がある。制御デバイスとして、例えば、ＣＰＵ２１がある。制御デバイスは、ＣＰＵ２１のようなプロセッサの他に、所定の処理（例えば圧縮、伸長、暗号化又は復号化）を行う専用ハードウェア回路を含んでも良い。
【００２３】
Ｉ／Ｆ２４は、ＳＡＮ１１に接続される。Ｉ／Ｆ２５は、ＩＰネットワーク１２に接続される。ディスクＩ／Ｆ２６は、記憶デバイス群に接続される。
【００２４】
メモリ２２には、コントローラ２７がストレージシステム２０を管理するための各種プログラム、及び情報が記憶される。ＣＰＵ２１は、メモリ２２に記憶された情報に基づき、プログラムを実行することにより各種機能を実現させる。
【００２５】
キャッシュメモリ２３は、通常ＤＲＡＭ（Dynamic  Random  Access  Memory）等の揮発メモリである。キャッシュメモリ２３は、記憶デバイス群のいずれかにライトされるデータ、及び記憶デバイス群からリードされたデータを一時的に格納する。例えば、コントローラ２７は、ホスト計算機１０からライト要求を受け付け、そのライト要求に従うデータをキャッシュメモリ２３に書き込み、そのライト要求を完了させる（例えば、ライト要求に対する完了報告をホスト計算機１０に送信する）。
【００２６】
記憶デバイス群は、複数のＲＡＩＤ（Redundant  Array  of  Independent(or  Inexpensive)Disks)）グループを有する。ＲＡＩＤグループには、所定のＲＡＩＤレベルに従ってデータが格納される。ＲＡＩＤグループの記憶空間を基に、論理ボリューム（以下、単にＶＯＬと言う）が作成される。ＶＯＬは、ホスト計算機１０に提供される種類のＶＯＬもあれば、そうではない種類のＶＯＬもある。前者のＶＯＬは、ホスト計算機１０からのＩ／Ｏ要求で指定される。後者のＶＯＬは、例えば、ホスト計算機１０に提供される仮想的なＶＯＬ（Thin  Provisioningに従うＶＯＬ）に割り当てられる記憶領域を含んだプールの構成要素となる。
ＲＡＩＤグループとして、例えば、１以上の第１ＲＡＩＤグループ２８と、１以上の第２ＲＡＩＤグループ２９とがある。第１ＲＡＩＤグループ２８は、複数の第１種の記憶デバイス、例えばＨＤＤ（Hard  Disk  Drive）２８Ａで構成される。第２ＲＡＩＤグループ２９は、複数のフラッシュパッケージ２９Ａで構成される。第１ＲＡＩＤグループ２８と同様にして、この複数のフラッシュパッケージ２９Ａで、所定レベルのＲＡＩＤグループが構成されて良い。後述するが、フラッシュパッケージ２９Ａは、複数のＦＭ（Flash  Memory）チップ３７を有する。
【００２７】
なお、本実施例では、ＨＤＤ２８Ａは、データを圧縮及び伸長する機能を有しておらず、フラッシュパッケージ２９Ａは、データを圧縮及び伸長する機能を有している。しかし、ＨＤＤ２８Ａは、データを圧縮及び伸長する機能を有していても良い。
【００２８】
図３は、フラッシュパッケージ２９Ａの構成の一例を示す。
【００２９】
フラッシュパッケージ２９Ａは、複数のＦＭチップ３７と、それらに接続されたＦＭコントローラとを有する。
【００３０】
ＦＭチップ３７は、例えば、複数の物理ブロックで構成されている。各物理ブロックは複数の物理ページで構成されている。ＦＭチップ３７は、例えば、ＮＡＮＤ型のフラッシュメモリである。ＦＭチップ３７の各セルは、ＳＬＣ（Single  Level  Cell）でもＭＬＣ（Multi  Level  Cell）でも良い。
【００３１】
ＦＭコントローラは、通信インタフェースデバイスと、記憶デバイスと、それらに接続された制御デバイスを有する。通信インタフェースデバイスとしては、例えば、ディスクＩ／Ｆ３５及びフラッシュメモリＩ／Ｆ３６がある。記憶デバイスとしては、例えば、メモリ３２及びバッファ３３がある。制御デバイスは、例えば、ＣＰＵ３１及びデータ圧縮／伸長ユニット３４を有する。
【００３２】
メモリ３２には、フラッシュパッケージ２９Ａを管理するための各種プログラム、及び情報が記憶される。ＣＰＵ３１は、メモリ３２に記憶された情報に基づき、プログラムを実行することにより各種機能を実現させる。
【００３３】
バッファ３３は、コントローラ２７からＦＭチップ３７にライトするデータ、及びＦＭチップ３７からコントローラ２７にリードするデータを一時的に格納するための領域である。バッファ３３は、１以上のＦＭチップ３７の一部分であっても良い。
【００３４】
データ圧縮／伸長ユニット３４は、例えばハードウェア回路であり、コントローラ２７からバッファ３３に格納したデータを圧縮する機能、及び、ＦＭチップ３７からバッファ３３に格納した圧縮データ（圧縮されているデータ）を伸長する機能を有する。
【００３５】
ディスクＩ／Ｆ３５は、コントローラ２７のディスクＩ／Ｆ２６に接続される。
【００３６】
フラッシュメモリＩ／Ｆ３６は、複数のバスを介して複数のＦＭチップ３７に接続される。フラッシュメモリＩ／Ｆ３６は、ＣＥ（Chip  Enable）信号を用いて、同一バスに接続された複数のＦＭチップ３７を独立して制御する。
【００３７】
フラッシュメモリＩ／Ｆ３６は、ＣＰＵ３１からのリード／ライト要求に応じて動作する。そのリード／ライト要求では、リード元或いはライト先の領域の物理アドレス（ＰＢＡ（Physical  Block  Address））が指定されている。フラッシュメモリＩ／Ｆ３６は、このＰＢＡから、リード元或いはライト先の物理ブロック及び物理ページを算出し、算出した物理ブロック及び物理ページについてリード／ライト処理を行う。
【００３８】
また、フラッシュメモリＩ／Ｆ３６には、ＥＣＣ（Error  Correction  Code）生成回路、及びＥＣＣ訂正回路が備えられている。ライト時には、バッファ３３で、ＥＣＣ生成回路が圧縮データに対してＥＣＣを生成し、ＦＭチップ３７に圧縮データがＥＣＣと共にライトされる。また、リード時には、バッファ３３で、ＦＭチップ３７からの圧縮データ（リードデータ）をＥＣＣ訂正回路が検査し、データ損失が検出された場合には、バッファ３３で、ＥＣＣ訂正回路により、圧縮データの訂正が行われる。
【００３９】
図４は、ホスト計算機１０の構成の一例を示す。
【００４０】
ホスト計算機１０は、通信インタフェースデバイス、記憶デバイス及びそれらに接続された制御デバイスを有する。通信インタフェースデバイスとしては、Ｉ／Ｆ４４及び４５がある。記憶デバイスとしては、メモリ４２と補助記憶デバイス４３とがある。制御デバイスは、ＣＰＵ（Central  Processing  Unit））を有する。
【００４１】
メモリ４２には、ホスト計算機１０を管理するための各種プログラム、及び情報が記憶される。ＣＰＵ４１は、メモリ４２に記憶された情報に基づき、プログラムを実行することにより各種機能を実現させる。
【００４２】
補助記憶デバイス４３は、物理的な不揮発性の記憶デバイス（例えば、ＨＤＤ）である。補助記憶デバイス４３には、例えば、ストレージシステム２０にライトするデータ、及び、ストレージシステム２０からリードされたデータが記憶される。
【００４３】
図５は、物理的な記憶デバイスと論理的な記憶デバイスとの関係の一例を示す。
【００４４】
図では、物理的な記憶デバイスとして、第２ＲＡＩＤグループ２９の構成要素であるフラッシュパッケージが例として採用されている。例えば、或る第２ＲＡＩＤグループ２９は、３つのフラッシュパッケージ２９Ａ、２９Ｂ、２９Ｃで構成される。第２ＲＡＩＤグループ２９の記憶空間から、２つのＶＯＬ５１、５２が作成されている。作成された２つのＶＯＬ５１及び５２は、それぞれ、例えば、ホスト計算機１０に提供されたり、或いは、前述したプールの構成要素とされたりする。
【００４５】
図の例で言えば、コントローラ２７が、ＶＯＬ５１又は５２にライトされるデータを基に３つのデータユニットを生成し、その３つのデータユニットを、第２ＲＡＩＤグループ２９を構成する３つのフラッシュパッケージ２９Ａにそれぞれ送信する。データユニットは、ＶＯＬ５１又は５２にライトされるデータの一部分（或いは、そのデータを基に生成されたパリティ）である。フラッシュパッケージ２９Ａは、データユニットを受信し、データ圧縮／伸長ユニット３４が、そのデータユニットを圧縮し、圧縮されたデータ（圧縮データ）が、複数のＦＭチップ３７における、ＶＯＬ５１又は５２におけるライト先領域に対応した領域に、ライトされる。
【００４６】
図６は、フラッシュパッケージ２９におけるデータのライト処理の概要を示す。
【００４７】
ＣＰＵ３１は、コントローラ２７から、ライト対象のデータユニット（図示のライト受領データ）とライト先の論理アドレス（ＬＢＡ（Logical  Block  Address））を指定したライトコマンドとを受信する。
【００４８】
ＣＰＵ３１は、そのライトコマンドで指定されたＬＢＡに対応するＦＭチップ３７のＰＢＡ（Physical  Block  Address）を特定し、特定したＰＢＡに対応する記憶領域にデータをライトする。
【００４９】
具体的には、例えば、ＣＰＵ３１（ディスクＩ／Ｆ３５）は、受信したデータユニット６０１をバッファ３３に一時的にライトし、そのデータをデータ圧縮／伸長ユニット３４により圧縮させすることにより、圧縮データ６０２を生成する。そして、ＣＰＵ３１（ディスクＩ／Ｆ３５）は、バッファ３３にて、圧縮データ６０２をページ６０５の大きさに合わせて分割（以後、分割圧縮データと言う）し、各分割圧縮データ６０３に対する保証コード（図では、ＥＣＣ）６０４を生成する。その後、ＣＰＵ３１は、分割圧縮データ６０３を保証コード６０４と共に物理ページ６０５にライトする。
【００５０】
後述するが、コントローラ２７が、圧縮データ６０２を伸長せずに、そのままＦＭチップ３７（物理ページ６０５）からリードする場合、まず、コントローラ２７は、リードするデータ６０１のＬＢＡ（Logical  Block  Address）を指定したリードコマンドを、フラッシュパッケージ２９Ａに送信する。そして、フラッシュパッケージ２９ＡのＣＰＵ３１（ディスクＩ／Ｆ３５）が、リードコマンドを受信し、そのリードコマンドで指定されたＬＢＡに対応するＰＢＡに従う物理ページ６０５から、分割圧縮データ６０３をＥＣＣ６０４と共にリードし、リードした分割圧縮データ６０３及びＥＣＣ６０４をバッファ３３にライトする。そして、ＣＰＵ３１は、フラッシュメモリＩ／Ｆ３６内のＥＣＣ訂正回路に、リードした各分割圧縮データ６０３の検査を、各分割圧縮データ６０３に対応するＥＣＣ６０４に基づいて行わせ、リードした各分割圧縮データ６０３に障害が発生していなければ、ＥＣＣ６０３を取り除いた圧縮データ６０２を生成する。生成された圧縮データ６０２のデータ長は、典型的には、圧縮データを伸長することにより得られるデータユニットのデータ長より短い。
【００５１】
なお、本実施例におけるフラッシュパッケージ２９Ａは、圧縮データを伸長してコントローラ２７に送信することもできるし、圧縮データを伸長することなくそのままコントローラ２７に送信することもできる。図７及び８は、圧縮データを伸長して送信するか伸長せずに送信するかを選択的に切り替える方法の一例を示す図である。具体的には、圧縮データを伸長するか伸長しないかは、コントローラ２７からのリード要求に含めることができる「圧縮データ送信フラグ（以下、圧縮フラグと言う）」がＯＮであるかＯＦＦであるかによって決まる。圧縮フラグがＯＦＦであれば、フラッシュパッケージ２９Ａは、圧縮データを伸長してコントローラ２７に送信し、圧縮フラグがＯＮであれば、フラッシュパッケージ２９Ａは、圧縮データを伸長しないでコントローラ２７に送信する。
【００５２】
図７は、フラッシュパッケージ２９Ａが圧縮データを伸長してコントローラ２７に送信する処理の概要を示す。
「：ＯＦＦ」が含まれていれば、圧縮データを伸長してコントローラ２７に送信する。その結果、図に示す例では、１００ＫＢの圧縮データが、伸長され、２００ＫＢのデータとなってコントローラ２７に送信される。
【００５３】
図８は、フラッシュパッケージ２９Ａが圧縮データを伸長しないでコントローラ２７に送信する処理の概要を示す。
「：ＯＮ」が含まれていれば、圧縮データを伸長せずにそのままコントローラ２７に送信する。その結果、図に示す例では、１００ＫＢの圧縮データが、伸長されず、１００ＫＢのデータとしてコントローラ２７に送信される。
【００５４】
図９は、メモリ２２に記憶されるプログラム及び情報の一例を示す。
【００５５】
メモリ２２には、ＶＯＬ管理プログラム９１、データ転送プログラム９２、ＶＯＬ情報テーブル９３、ＲＡＩＤグループ情報テーブル９４、ＲＡＩＤグループ構成情報テーブル９５、及び記憶デバイス情報テーブル９６が記憶される。
【００５６】
ＶＯＬ管理プログラム９１は、ストレージシステム２０が有するＶＯＬを管理するためのプログラムである。
【００５７】
データ転送プログラム９２は、ストレージシステム２０に接続されている他のストレージシステムにデータを送信するためのプログラムである。
【００５８】
ＶＯＬ情報テーブル９３は、ＶＯＬに関する情報を管理するためのテーブルである。
【００５９】
ＲＡＩＤグループ情報テーブル９４は、ＲＡＩＤグループに関する情報を管理するためのテーブルである。
【００６０】
ＲＡＩＤグループ構成情報テーブル９５は、ＲＡＩＤグループの構成に関する情報を管理するためのテーブルである。
【００６１】
記憶デバイス情報テーブル９６は、ＲＡＩＤグループを構成している記憶デバイスに関する情報を管理するためのテーブルである。
【００６２】
図１０は、ＶＯＬ情報テーブル９３の一例を示す。
【００６３】
ＶＯＬ情報テーブル９３は、ＶＯＬ毎に、ＶＯＬＩＤ１０１、容量１０２、使用容量１０３、ＲＡＩＤグループＩＤ１０４、開始アドレス１０５、及びデータ長１０６を関連付けて記憶する。
【００６４】
ＶＯＬＩＤ１０１は、ＶＯＬを識別するための情報である。
【００６５】
容量１０２は、ＶＯＬの容量を示す情報である。
【００６６】
使用容量１０７は、ＶＯＬに格納されているデータの総量を示す情報である。
【００６７】
実使用容量１０３は、ＶＯＬに格納されているデータを、記憶デバイスが格納するために実際に使用している物理デバイスの総量を示す情報である。
【００６８】
ＲＡＩＤグループＩＤ１０４は、ＶＯＬの基となっているＲＡＩＤグループを識別するための情報である。
【００６９】
開始アドレス１０５は、ＲＡＩＤグループの記憶空間における、ＶＯＬの開始アドレスを示す情報である。
【００７０】
データ長１０６は、ＲＡＩＤグループの記憶空間における、ＶＯＬのデータの長さを示す情報である。ＶＯＬは、ＲＡＩＤグループの記憶空間の一部分から切り出されることもある。従って、ＲＡＩＤグループの記憶空間における、ＶＯＬの位置、は、開始アドレス１０５及びデータ長１０６からわかる。なお、データ長１０６は実質的に容量１０２と同じであるから、データ長１０６及び容量１０２の一方は無くても良い。
【００７１】
図１１は、ＲＡＩＤグループ情報テーブル９４の一例を示す。
【００７２】
ＲＡＩＤグループ情報テーブル９４は、ＲＡＩＤグループ１０４毎に、ＲＡＩＤグループＩＤ１１１、ＲＡＩＤレベル１１２、容量１１３、記憶デバイス数１１４、データ圧縮／伸長ユニット状態１１５、圧縮／伸長アルゴリズム１１６、及びＲＡＩＤグループ構成情報ＩＤ１１７を関連付けて記憶する。
【００７３】
ＲＡＩＤグループＩＤ１１１は、ＲＡＩＤグループを識別するための情報である。
【００７４】
ＲＡＩＤレベル１１２は、ＲＡＩＤグループのＲＡＩＤレベルを示す情報である。
【００７５】
容量１１３は、ＲＡＩＤグループの容量を示す情報である。
【００７６】
記憶デバイス数１１４は、ＲＡＩＤグループを構成している記憶デバイスの数を示す情報である。
【００７７】
データ圧縮／伸長ユニット状態１１５は、ＲＡＩＤグループを構成する各記憶デバイスが有するデータ圧縮／伸長ユニット３４が、作動しているか否かを示す情報である。「ＯＮ」は、データ圧縮／伸長ユニットが作動している状態を示す。また、「Ｎ／Ａ」は、データ圧縮／伸長ユニット３４が作動していない状態、或いは、記憶デバイスが、データ圧縮／伸長ユニット３４を有していない状態を示す。
【００７８】
圧縮／伸長アルゴリズム１１６は、データ圧縮／伸長ユニットが有するデータ圧縮、及び伸長プログラムのアルゴリズムを示す。同じ文字列が登録されている場合には、圧縮／伸長アルゴリズムが同じ（或いは互換性があることから実質的に同じ）であることを示す。
【００７９】
ＲＡＩＤグループ構成情報ＩＤ１１７は、ＲＡＩＤグループ構成情報を識別するための情報である。このＩＤ１１７を用いて、ＲＡＩＤグループ構成情報テーブル９５の行を特定することができる。
【００８０】
図１２は、ＲＡＩＤグループ構成情報テーブル９５の一例を示す。
【００８１】
ＲＡＩＤグループ構成情報テーブル９５は、ＲＡＩＤグループ構成情報毎に、ＲＡＩＤグループ構成情報ＩＤ１２１、ＲＡＩＤ内位置１２２、及び記憶デバイスＩＤ１２３を関連付けて記憶する。
【００８２】
ＲＡＩＤグループ構成情報ＩＤ１２１は、ＲＡＩＤグループ構成情報を識別するための情報である。
【００８３】
ＲＡＩＤ内位置１２２は、ＲＡＩＤグループを構成している各記憶デバイス１２３の、ＲＡＩＤグループでの位置を示す番号である。その番号とＲＡＩＤレベルに従って、ＲＡＩＤグループに、複数のデータユニットが格納される。
【００８４】
図１３は、記憶デバイス情報テーブル９６の一例を示す。
【００８５】
記憶デバイス情報テーブル９６は、記憶デバイス毎に、記憶デバイスＩＤ１３１、記憶デバイスタイプ１３２、容量１３３、圧縮／伸長ユニット状態１３４、及び圧縮／伸長アルゴリズム１３５を関連付けて記憶する。
【００８６】
記憶デバイスＩＤ１３１は、記憶デバイスを識別するための情報である。
【００８７】
記憶デバイスタイプ１３２は、記憶デバイスのタイプを示す情報である。記憶デバイスのタイプとして、例えば、ＦＰＫ（Flash  PacKage）、ＳＡＳ（Serial  Attached  SCSI）−ＨＤＤ、ＳＳＤ等がある。
【００８８】
容量１３３は、記憶デバイスの容量を示す情報である。
【００８９】
圧縮／伸長ユニット状態１３４は、各記憶デバイスが有している圧縮／伸長ユニット状態の作動状態を示す。図に示す例では、記憶デバイスタイプ１３２がＦＰＫ（Flash  PacKage）の記憶デバイスのみが、データ圧縮／伸長ユニットを有している。「ＯＮ」は、データ圧縮／伸長ユニットが作動している状態を示す。また、「Ｎ／Ａ」は、データ圧縮／伸長ユニット３４が作動していない状態、或いは、記憶デバイスが、データ圧縮／伸長ユニット３４を有していない状態を示す。
【００９０】
圧縮／伸長アルゴリズム１３５は、データ圧縮／伸長ユニットが有するデータ圧縮、及び伸長プログラムのアルゴリズムを示す。
【００９１】
なお、データ圧縮／伸長ユニットの状態の収集、及びデータ圧縮／伸長ユニットの「ＯＮ」及び「Ｎ/Ａ」の切り替えは、例えば、ＳＣＳＩ（Small  Computer  System  Interface）のコマンド「Ｍｏｄｅ  Ｓｅｎｓｅ」、或いは「Ｍｏｄｅ  Ｓｅｌｅｃｔ」を拡張することで実施することができる。
【００９２】
図１４は、メモリ１６に記憶されるプログラム及び情報の一例を示す。
【００９３】
メモリ１６には、ストレージ情報収集プログラム１４１、データ転送指示プログラム１４２、ＶＯＬ情報管理テーブル１４３、ＲＡＩＤグループ情報管理テーブル１４４、ＲＡＩＤグループ構成情報管理テーブル１４５、及び記憶デバイス情報管理テーブル１４６が記憶される。
【００９４】
ストレージ情報収集プログラム１４１は、ストレージシステム２０の情報（各種テーブル９３〜９６が有する情報）を収集するためのプログラムである。
【００９５】
データ転送指示プログラム１４２は、ストレージシステム２０間でデータを転送させるためのプログラムである。例えば、データ転送指示プログラム１４２は、データ転送に必要なＧＵＩ（Graphical  User  Interface）画面（例えば、図２３参照）を表示する。そして、データ転送指示プログラム１４２は、管理者から入力デバイスを通じてデータ転送の指示を受け付けた場合、その指示に従い、データの転送元（及び／又は、データの転送先）のストレージシステム２０に、データ転送の指示を送信する。
【００９６】
ＶＯＬ情報管理テーブル１４３は、ストレージシステム２０が有するＶＯＬに関する情報を管理するためのテーブルである。
【００９７】
ＲＡＩＤグループ情報管理テーブル１４４は、ストレージシステム２０が有するＲＡＩＤグループに関する情報を管理するためのテーブルである。
【００９８】
ＲＡＩＤグループ構成情報管理テーブル１４５は、ストレージシステム２０有するＲＡＩＤグループに関する構成情報を管理するためのテーブルである。
【００９９】
記憶デバイス情報管理テーブル１４６は、記憶デバイスに関する情報を管理するためのテーブルである。
【０１００】
上述の各種プログラム及び情報のうち、テーブル１４３〜１４６の構成は、メモリ２２に記憶されているテーブル９３〜９６と、実質的に同じである。すなわち、テーブル１４３〜１４６は、各ストレージジスステムから収集された、テーブル９３〜９６が有する情報と、情報の収集元のストレージシステムのＩＤとを有する。具体的には、例えば、図１５に示すように、テーブル１４３は、テーブル９３が有する情報の他に、情報の収集元のストレージシステム（ＶＯＬを有するストレージシステム）のＩＤを有する。
【０１０１】
図１６は、メモリ３２に記憶されるプログラム及び情報の一例を示す。
【０１０２】
メモリ３２には、リクエスト処理プログラム１６１、記憶領域管理プログラム１６２、フラッシュパッケージ情報管理テーブル１６３、及び記憶領域管理テーブル１６４が記憶される。
【０１０３】
リクエスト処理プログラム１６１は、ストレージシステム２０からの各種指示を受け付けるためのプログラムである。
【０１０４】
記憶領域管理プログラム１６２は、記憶領域管理テーブル１６４にＬＢＡとＰＢＡの対応関係を記憶するためのプログラムである。
【０１０５】
フラッシュパッケージ情報管理テーブル１６３は、各フラッシュパケージについての情報を管理するためのテーブルである。
【０１０６】
記憶領域管理テーブル１６４は、ホスト計算機１０から指定されるＬＢＡと、記憶デバイスでのＰＢＡとの対応関係等を管理するためのテーブルである。
【０１０７】
図１７は、フラッシュパッケージ情報管理テーブル１６３の一例を示す。
【０１０８】
フラッシュパッケージ情報管理テーブル１６３は、フラッシュパッケージ毎に、記憶デバイスＩＤ１７１、圧縮/伸長ユニット状態１７２、圧縮/伸長アルゴリズム１７３、利用可能容量１７４、及び使用容量１７５を関連付けて記憶する。
【０１０９】
記憶デバイスＩＤ１７１は、フラッシュパッケージを識別するための情報である。
【０１１０】
圧縮/伸長ユニット状態１７２は、フラッシュパッケージが有するデータ圧縮/伸長ユニットの状態を示す情報である。
【０１１１】
圧縮/伸長アルゴリズム１７３は、データ圧縮/伸長ユニットが有するデータ圧縮/伸長プログラムのアルゴリズムを示す情報である。
【０１１２】
利用可能容量１７４は、フラッシュパッケージの容量のうち、使用できる全ての容量を示す情報である。
【０１１３】
実使用容量１７５は、フラッシュパッケージの実際に使用されている容量を示す情報である。
【０１１４】
なお、フラッシュパッケージ２９Ａは、これらの情報（１７１〜１７５）を、例えば、ＳＣＳＩのコマンド「Ｍｏｄｅ  Ｓｅｎｓｅ」を拡張することで取得することができる。
【０１１５】
図１８は、記憶領域管理テーブル１６４の一例を示す。
【０１１６】
記憶領域管理テーブル１６４は、ＬＢＡ毎に、ＬＢＡ１８１、ＰＢＡ１８２、圧縮ＯＮ/ＯＦ１８３、格納データ長１８４、及びオフセット１８５を関連付けて記憶する。
【０１１７】
ＬＢＡ１８１は、ホスト計算機１０から指定されるアドレスを示す情報である。
【０１１８】
ＰＢＡ１８２は、ＬＢＡによって特定されたデータが、フラッシュパッケージ２９Ａにてライトされる物理的な領域を示す情報である。
【０１１９】
圧縮ＯＮ/ＯＦ１８３は、フラッシュパッケージ２９Ａにライトされるデータが圧縮されているか否かを示す情報である。「ＯＮ」は圧縮されている状態を示す。「ＯＦＦ」は圧縮されていない状態を示す。
【０１２０】
格納データ長１８４は、ホスト計算機１０から送信されたデータのフラッシュパッケージ２９Ａでのデータの長さを示す情報である。圧縮ＯＮ/ＯＦ１８３が「ＯＮ」の場合、格納データ長１８４には、圧縮後のデータ長が記憶される。典型的には、ＬＢＡによって指定されるデータのデータ長より、格納データ長１８４の方が短い。
【０１２１】
オフセット１８５は、ＬＢＡによって特定されるデータがフラッシュパッケージ２９Ａにライトされる際のページ内でのオフセット量を示す情報である。ＬＢＡにより指定されるデータは、フラッシュパッケージ２９Ａを構成する物理ページにライトされるが、その物理ページの先頭からライトされないこともある。オフセット１８５、例えば、ページ内のセル毎のライトの頻度を平準化する処理に用いられる情報である。
【０１２２】
図１９は、コントローラ２７においてＶＯＬ管理プログラム９１が行う処理フローの一例を示す。
【０１２３】
データを実際に圧縮しないと、ＶＯＬの実使用容量（ＶＯＬに基づく記憶デバイスに書き込まれたデータの量）は分からないため、ＶＯＬ管理プログラム９１による下記処理が必要となる。ＶＯＬ管理プログラム９１は、所定のイベントが発生した場合（例えば、管理者から指示を受けた場合、及び／又は、図２０の処理を最近実行してから一定期間が経過した場合）、ＶＯＬ情報テーブル９３の実使用容量１０３を、ＶＯＬ毎にアップデートする。以下、或る１つのＶＯＬを例に採って説明する。
【０１２４】
ＶＯＬ管理プログラム９１は、ＲＡＩＤグループ情報テーブル９４、ＲＡＩＤグループ構成情報テーブル９５、及び記憶デバイス情報テーブル９６を参照し、ＶＯＬの基になっている記憶デバイスを特定する（Ｓ１９１）。
【０１２５】
ＶＯＬ管理プログラム９１は、Ｓ１９１で特定した記憶デバイスが、データを圧縮する機能を有しているか否かをチェックする（Ｓ１９２）。
【０１２６】
記憶デバイスが圧縮機能を有している場合（Ｓ１９２：Ｙｅｓ）、ＶＯＬ管理プログラム９１は、開始アドレス（ＲＡＩＤグループ）１０５を、記憶デバイスでの開始アドレス（ＰＢＡ）に変換する（Ｓ１９３）。変換後の開始アドレスは、記憶デバイスの記憶領域のうちの、ＶＯＬに対応する記憶領域部分の開始アドレスとなる。
【０１２７】
ＶＯＬ管理プログラム９１は、ＲＡＩＤグループを構成する記憶デバイス毎に、記憶デバイスでの開始アドレス（Ｓ１９３での変換後の開始アドレス）とデータ長とを指定した、実使用容量の問合せを送信する（Ｓ１９４）。ここで指定された開始アドレス及びデータ長が表す記憶領域部分が、ＶＯＬに対応する部分である。
【０１２８】
ＶＯＬ管理プログラム９１は、Ｓ１９４の問合せに応答して各記憶デバイスから取得した実使用容量に基づいて、ＶＯＬの実使用容量を計算する（Ｓ１９５）。典型的には、複数の実使用容量を合計することにより、ＶＯＬの実使用容量が得られる。
【０１２９】
ＶＯＬ管理プログラム９１は、Ｓ１９５で計算した実使用容量を、ＶＯＬに対応する実使用容量１０３としてテーブル９３に書き込む（Ｓ１９６）。
【０１３０】
一方、記憶デバイスが圧縮機能を有していない場合（Ｓ１９２：Ｎｏ）、ＶＯＬ管理プログラム９１は、実使用容量１０３として、使用容量１０７と同じ値を格納する（Ｓ１９７）。
【０１３１】
図２０は、フラッシュパッケージ２９Ａにおいてリクエスト処理プログラム１６１が行う処理フローの一例を示す。
【０１３２】
リクエスト処理プログラム１６１は、ＶＯＬ管理プログラム９１からＳ１９４で送信された、実使用容量の問合せを受けて、下記処理をする。
【０１３３】
リクエスト処理プログラム１６１は、記憶領域管理プログラム１６２を実行する（Ｓ２０１）。
【０１３４】
リクエスト処理プログラム１６１は、記憶領域管理プログラム１６２により算出された実使用容量を、ＶＯＬ管理プログラム９１に送信する（Ｓ２０２）。
【０１３５】
図２１は、フラッシュパッケージ２９Ａにおいて記憶領域管理プログラム１６２が行う処理フローの一例を示す。
【０１３６】
記憶領域管理プログラム１６２は、このフラッシュパッケージのＬＢＡ範囲のうちの、上記問合せが含む開始アドレス及びデータ長に対応するＬＢＡ範囲を特定する（Ｓ２１１）。
【０１３７】
記憶領域管理プログラム１６２は、記憶領域管理テーブル（図１８）から、Ｓ２１１で特定したＬＢＡ範囲に属する複数のＬＢＡにそれぞれ対応する複数の格納データ長１８４を取得する（Ｓ２１２）。
【０１３８】
記憶領域管理プログラム１６２は、Ｓ２１２にて取得した複数の格納データ長１８４の総和を計算する（Ｓ２１３）。
【０１３９】
記憶領域管理プログラム１６２は、Ｓ２１３で算出された値を実使用容量１７５としてリクエスト処理プログラム１６１に提供する（Ｓ２１４）。
【０１４０】
図２２は、実施例１に係るリモートコピーシステムの処理の概略を示す。
【０１４１】
実施例１では、第１のストレージシステム２０内の圧縮データが伸長されることなくそのまま第２のストレージシステム２０へ転送される。第１のストレージシステム２０から第２のストレージシステム２０へは、圧縮データが転送されるので、非圧縮データ（典型的に圧縮データが伸長されたデータ）を転送した場合と比較して、ストレージシステム間のデータ転送量を削減することができる。
【０１４２】
図に示す例では、第１のストレージシステム２２１が、第１フラッシュパッケージ２９Ａ、第２フラッシュパッケージ２９Ｂ、及び第３フラッシュパッケージ２９Ｃで構成されたＲＡＩＤグループ＃１を有している。そして、このＲＡＩＤグループ＃１が形成する記憶空間から第１ＶＯＬが形成されている。
【０１４３】
第１フラッシュパッケージ２９ＡのＲＡＩＤ＃１グループにおけるＲＡＩＤ内位置は「０」で、第２フラッシュパッケージ２９ＢのＲＡＩＤグループ＃１におけるＲＡＩＤ内位置は「１」で、第３フラッシュパッケージ２９ＣのＲＡＩＤグループ＃１におけるＲＡＩＤ内位置は「２」である。各フラッシュパッケージのＲＡＩＤ内位置は、ＲＡＩＤ構成情報テーブル９５にて管理されている。なお、「ＲＡＩＤ内位置」は、物理的な位置では無く、論理的な位置を示す。例えば、ＲＡＩＤ５のＲＡＩＤグループを構成する場合、複数のデータユニット（データ及びパリティ）がフラッシュパッケージに分散して格納されるが、「ＲＡＩＤ内位置」により、複数のデータユニットの複数のフラッシュパッケージ２９Ａ〜２９Ｃに対する分散性が担保される。
【０１４４】
また、第２のストレージシステム２２２は、第４フラッシュパッケージ２９Ｄ、第５フラッシュパッケージ２９Ｅ及び第６フラッシュパッケージ２９Ｆで構成されたＲＡＩＤグループ＃２を有しており、このＲＡＩＤグループ＃２が形成する記憶空間から第２ＶＯＬが形成されている。第４フラッシュパッケージ２９ＤのＲＡＩＤグループ＃２におけるＲＡＩＤ内位置は「０」で、第５フラッシュパッケージ２９ＥのＲＡＩＤグループ＃２におけるＲＡＩＤ内位置は「１」で、第６フラッシュパッケージ２９ＦのＲＡＩＤグループ＃２におけるＲＡＩＤ内位置は「２」である。
【０１４５】
第１のストレージシステム２２１から第２のストレージシステム２２２へ圧縮データをリモートコピーする際は、ＲＡＩＤ内位置が等しいフラッシュパッケージ間で行う必要がある。ＲＡＩＤ内位置が等しくないフラッシュパッケージ間でリモートコピーを行うと、複数のデータユニットのＲＡＩＤグループにおける複数のフラッシュパッケージに対する分散性が崩れ、データを復元することができなくなるからである。
【０１４６】
図に示す例では、第１のフラッシュパッケージ２９Ａから第４のフラッシュパッケージ２９Ｄへ、第２のフラッシュパッケージ２９Ｂから第５のフラッシュパッケージ２９Ｅへ、第３のフラッシュパッケージ２９Ｃから第６のフラッシュパッケージ２９Ｆへ、圧縮データが転送される。これにより、転送先でも、複数のデータユニットのＲＡＩＤグループにおける複数のフラッシュパッケージに対する分散性が担保される。
【０１４７】
実施例１に係るリモートコピーでは、下記の条件の全て、
（条件１）第１ＶＯＬ（転送元ＶＯＬ）の基になっているＲＡＩＤグループ（以下、「転送元ＲＡＩＤグループ」と言うことがある）のＲＡＩＤ構成（ＲＡＩＤレベル及び記憶デバイス数）と第２ＶＯＬ（転送先ＶＯＬ）の基になっているＲＡＩＤグループ（以下、「転送先ＲＡＩＤグループ」と言うことがある）のＲＡＩＤ構成が同じであること、
（条件２）転送元記憶デバイス（データの転送元の記憶デバイス）の転送元ＲＡＩＤグループにおけるＲＡＩＤ内位置と転送先記憶デバイス（データの転送先の記憶デバイス）の転送先ＲＡＩＤグループにおけるＲＡＩＤ内位置が同じであること、
（条件３）転送元記憶デバイスが有する圧縮/伸長ユニットの種類（例えばアルゴリズム）と転送先記憶デバイスが有する圧縮／伸長ユニットの種類が同じであること、
（条件４）転送元ＶＯＬからのデータの読出し、及び、転送先ＶＯＬへのデータの書き込みが発生しないコピーであること、すなわち、転送元ＲＡＩＤグループにおける各転送元記憶デバイスから転送先ＲＡＩＤグループにおける各転送先記憶デバイスへの直接的なデータコピーであること、
を満たす必要がある。
【０１４８】
図２３は、ユーザ設定画面２３０の一例を示す。
【０１４９】
ユーザ設定画面２３０は、管理システム１４の表示デバイス（図示せず）に表示される画面（例えばＧＵＩ画面）である。ユーザは、入力デバイス（図示せず）を操作して、ユーザ設定画面２３０に対し、転送元となる第１ＶＯＬ及び転送先となる第２ＶＯＬを指定する。
【０１５０】
ユーザ設定画面２３０は、第１ＶＯＬを指定する第１ＶＯＬ指定領域２３１と、第２ＶＯＬを指定する第２ＶＯＬ指定領域２３３とを含む。ユーザ設定画面２３０は、例えば、データ転送プログラム９２が表示する。
【０１５１】
第１ＶＯＬ指定画面２３１に、ストレージシステムＩＤ及びＶＯＬＩＤが指定されると、指定されたＩＤに対応するＶＯＬに関する情報が第１ＶＯＬ指定領域２３１に表示される。ＶＯＬに関する情報として、使用容量（１０７）、ＲＡＩＤレベル（１１２）、圧縮／伸長ユニット（１１６）の種類、及び実使用容量（１０３）が表示される。
【０１５２】
第１ＶＯＬが指定された場合、第２ＶＯＬ指定領域２３３には、転送先として選択可能な第２ＶＯＬの候補（例えば容量が第１ＶＯＬの容量と同じＶＯＬ）が例えば一覧でプルダウンメニューに表示される。この時、チェックボックス２３４にチェックを入れておくと、データ削減効果のあるＶＯＬのみが第２ＶＯＬ指定領域２３３に選択可能に表示される。ここで、「データ削減効果のあるＶＯＬ」とは、上述した（条件１）〜（条件４）を満たすＶＯＬ、例えば、下記の全ての条件を満たすＶＯＬ、
（ａ）第１ＶＯＬの基になっている転送元ＲＡＩＤグループの各転送元記憶デバイスから圧縮データを受信し格納できる各記憶デバイスで構成されたＲＡＩＤグループが基になっているＶＯＬ、
（ｂ）（ａ）で述べたＲＡＩＤグループを構成する各記憶デバイスが、圧縮データを伸長することができる、
である。
【０１５３】
データ削減効果のあるＶＯＬが第２ＶＯＬ指定領域２３３に表示される場合、参照符号２３２で示す通り、その削減効果の程度が表示される。図では、「データ転送量削減効果７０％」と表示され、圧縮しないでデータを転送する場合と比較して、７０パーセントのデータ量が削減されていることを示している。図の例では、使用容量が１０ＧＢであるが実使用容量が３ＧＢなので、データ転送量削減効果は７０％となる。なお、「データ量削減効果」としては、転送に使うパスの帯域（ＭＢ/ｓｅｃなど）を記憶しておき、データ転送速度として表示しても良い。
【０１５４】
ＯＫボタン２３５が押されると、転送元ＲＡＩＤグループ（ユーザ設定画面２３０で指定されている第１ＶＯＬの基になっているＲＡＩＤグループ）から転送先ＲＡＩＤグループ（ユーザ設定画面２３０で指定されている第２ＶＯＬの基になっているＲＡＩＤグループ）へ圧縮データのリモートコピーが行われる。一方、Ｃａｎｃｅｌボタン２３６が押されると、ユーザ設定画面２３０に表示されている第１ＶＯＬ（転送元）及び第２ＶＯＬ（転送先）の指定が解除される。
【０１５５】
図２４は、管理システム１４においてデータ転送指示プログラム１４２が行う処理フローの一例を示す。
【０１５６】
データ転送指示プログラム１４２は、ユーザ設定画面２３０においてチェックボックス２３４にチェックが入力された場合に、この処理フローを実行する。
【０１５７】
データ転送指示プログラム１４２は、ＶＯＬ情報テーブル９３から全てのＶＯＬの情報を取得する（Ｓ２４１）。
【０１５８】
データ転送指示プログラム１４２は、判定していないＶＯＬがあるか否かを判定する（Ｓ２４２）。ここで、判定とは、ＶＯＬが、データ削減効果の期待できる転送先のＶＯＬとして適しているか否かの判定を示す。
【０１５９】
データ転送指示プログラム１４２は、判定していないＶＯＬが無い場合（Ｓ２４２：Ｎｏ）、処理を終了する。
【０１６０】
データ転送指示プログラム１４２は、判定していないＶＯＬがある場合（Ｓ２４２：Ｙｅｓ）、判定しない１以上のＶＯＬから１つのＶＯＬを選択し、そのＶＯＬ（図２４の説明において「判定対象ＶＯＬ」）の基になっているＲＡＩＤグループのＲＡＩＤ構成（ここではＲＡＩＤレベル１１２）が、第１ＶＯＬの基になっているＲＡＩＤグループのＲＡＩＤ構成（ＲＡＩＤレベル１１２）と同じか否かを、ＲＡＩＤグループ情報テーブル９４（ＲＡＩＤレベル１１２）を参照して、チェックする（Ｓ２４３）。
【０１６１】
ＲＡＩＤレベルが同じで無い場合（Ｓ２４３：Ｎｏ）、データ転送指示プログラム１４２は、判定してないＶＯＬについてＳ２４２の処理をする。
【０１６２】
ＲＡＩＤレベルが同じである場合（Ｓ２４３：Ｙｅｓ）、データ転送指示プログラム１４２は、判定対象ＶＯＬの容量が、第１ＶＯＬの容量以上か否かを、ＶＯＬ情報テーブル９３（容量１０２）を参照してチェックする（Ｓ２４４）。
【０１６３】
判定対象ＶＯＬの容量が、第１ＶＯＬの容量以上で無い場合（Ｓ２４４：Ｎｏ）、データ転送指示プログラム１４２は、判定してないＶＯＬについてＳ２４２の処理をする。
【０１６４】
判定対象ＶＯＬの容量が、第１ＶＯＬの容量以上である場合（Ｓ２４４：Ｙｅｓ）、データ転送指示プログラム１４２は、判定対象ＶＯＬの基になっているＲＡＩＤグループのデータ圧縮/伸長ユニットがＯＮになっているか否かを、ＲＡＩＤグループ情報テーブル９４（圧縮/伸長ユニット状態１１５）を参照してチェックする（Ｓ２４５）。
【０１６５】
データ圧縮/伸長ユニットがＯＮになっていない場合（Ｓ２４５：Ｎｏ）、データ転送指示プログラム１４２は、判定してないＶＯＬについてＳ２４２の処理をする。なお、データ圧縮/伸長ユニットがＯＮになっていない場合（Ｓ２４５：Ｎｏ）、例えば、データ転送プログラム１４２がＶＯＬ管理プログラム９１に指示し、データ圧縮/伸長ユニットをＯＮとすることもできる。
【０１６６】
データ圧縮/伸長ユニットがＯＮになっている場合、（Ｓ２４５：Ｙｅｓ）、或いはＯＮとした場合、データ転送指示プログラム１４２は、第１ＶＯＬの基になっているＲＡＩＤグループと判定対象ＶＯＬの基になっているＲＡＩＤグループとが、同じデータ圧縮/伸長ユニットを有しているかを、ＲＡＩＤグループ情報テーブル９４（圧縮/伸長アルゴリズム１１６）を参照してチェックする（Ｓ２４６）。
【０１６７】
同じデータ圧縮/伸長ユニットを有していない場合（Ｓ２４６：Ｎｏ）、データ転送指示プログラム１４２は、判定してないＶＯＬについてＳ２４２の処理をする。
【０１６８】
同じデータ圧縮/伸長ユニットを有している場合（Ｓ２４６：Ｙｅｓ）、データ転送指示プログラム１４２は、判定対象ＶＯＬを転送先のＶＯＬ候補として保持する（Ｓ２４７）。
【０１６９】
データ転送指示プログラム１４２は、Ｓ２４７で保持した転送先ＶＯＬ候補に関する情報を、第２ＶＯＬ指定領域２３３に表示する。
【０１７０】
図２５は、コントローラ２７においてデータ転送プログラム９２が行う処理のフローの一例を示す。
【０１７１】
データ転送プログラム９２は、ユーザ設定画面２３０におけるＯＫボタン２３５が押された場合に、データ転送指示プログラム１４２から指示を受け、その指示に従って、この処理フローを開始する。データ転送プログラム９２が行うこの処理フローにより、異なるストレージシステムのＲＡＩＤグループ間で、圧縮データのリモートコピーが実現される。
【０１７２】
データ転送プログラム９２は、ＲＡＩＤグループ情報テーブル９４、ＲＡＩＤグループ構成情報テーブル９５、及び記憶デバイス情報テーブル９６を参照して、第１ＶＯＬ（転送元のＶＯＬ）の基になっているＲＡＩＤグループを構成する各記憶デバイスと第２ＶＯＬ（転送先のＶＯＬ）の基になっているＲＡＩＤグループを構成する各記憶デバイスを特定する（Ｓ２５１）。
【０１７３】
データ転送プログラム９２は、第１ＶＯＬ及び第２ＶＯＬの両方について、開始アドレス１０５（ＲＡＩＤグループ）を記憶デバイスの開始アドレスに変換する（Ｓ２５２）。
【０１７４】
データ転送プログラム９２は、データが未転送の記憶デバイスがあるか否かをチェックする（Ｓ２５３）。
【０１７５】
データが未転送の記憶デバイスが無い場合（Ｓ２５３：Ｎｏ）、データ転送プログラム９２は、処理を終了する。ＲＡＩＤグループ間でのデータコピーが終了しているためである。
【０１７６】
データが未転送の記憶デバイスがある場合（Ｓ２５３：Ｙｅｓ）、データ転送プログラム９２は、その未転送の記憶デバイスに、記憶デバイスでの開始アドレス及びデータ長を指定したリード要求（圧縮フラグ：ＯＮを含んだコマンド）を送信し、それにより、その記憶デバイスから、圧縮データを取得する（Ｓ２５４）。
【０１７７】
データ転送プログラム９２は、ＲＡＩＤ内位置１２２と、開始アドレス（ＲＡＩＤグループ）１０５と、記憶デバイスから取得した圧縮データとを、第２ＶＯＬを有するストレージシステムのコントローラ（以下、図２５の説明において「第２コントローラ」）に転送する（Ｓ２５５）。Ｓ２５５で転送されるデータ群は、図２７に例示する通りである。すなわち、転送されるデータ群２７０は、ＲＡIＤ内位置２７１、開始アドレス（ＲＡＩＤグループ）２７２及び圧縮データ２７３を含む。データ群に含まれるデータの種類は、これに限定されない。
【０１７８】
データ転送プログラム９２は、第２コントローラに、Ｓ２５５で転送したＲＡＩＤ内位置１２２に対応する記憶デバイスのＳ２５５で転送した開始アドレスに、Ｓ２５５で転送した圧縮データを書き込むことを指示する（Ｓ２５６）。第２コントローラが、その指示を受けて、Ｓ２５５で通知したＲＡＩＤ内位置１２２に対応する記憶デバイスのＳ２５５で通知した開始アドレスに、Ｓ２５５で送信した圧縮データを書き込む。なお、第２コントローラは、記憶デバイスに圧縮データを書くために、圧縮データをライト対象としたライト要求を記憶デバイスに送信するが、ライト対象を圧縮するか非圧縮とするかを制御することができる。例えば、ライト要求が、圧縮フラグを含み、圧縮フラグがＯＮかＯＦＦかによって、記憶デバイス内のコントローラが、圧縮/伸長ユニットでライト対象を圧縮するか否かを制御する。例えば、第２コントローラは、圧縮データを記憶デバイスに書き込む場合、その記憶デバイスに、圧縮フラグをＯＦＦとしたライト要求を送信する。それにより、圧縮データが圧縮されることなく（つまり圧縮データのまま）記憶デバイスに格納される。
【０１７９】
図２５に示した一連の処理フローにより、異なるストレージシステムのＲＡＩＤグループ間での圧縮データのリモートコピーが行われる。ホスト計算機は、第１ＶＯＬについて指定するＬＢＡと同じＬＢＡを第２ＶＯＬについて指定したリード要求を第２ＶＯＬを有するストレージシステムに送信すれば、第１ＶＯＬについて同じＬＢＡを指定して読み出されるデータと同じデータを第２ＶＯＬから読み出すことができる。なぜなら、第２ＶＯＬのＬＢＡとＲＡＩＤグループでの位置との関係は、第１ＶＯＬのＬＢＡとＲＡＩＤグループでの位置との関係と同じためである。
【０１８０】
図２６は、フラッシュパッケージ２９Ａにおいてリクエスト処理プログラム１６１が行うリード要求に対する処理のフローの一例を示す。
【０１８１】
フラッシュパッケージ２９Ａは、データのリード要求を受信すると、リード要求に含まれている圧縮フラグが「ＯＮ」が否かをチェックする（Ｓ２６１）。
【０１８２】
圧縮フラグが「ＯＮ」の場合（Ｓ２６１：Ｙｅｓ）、フラッシュパッケージ２９Ａは、圧縮データを伸長しないでそのまま送信する（Ｓ２６２）。
【０１８３】
圧縮フラグが「ＯＦＦ」の場合（Ｓ２６１：Ｎｏ）、フラッシュパッケージ２９Ａは、圧縮/伸長ユニットにより、圧縮データを伸長して送信する（Ｓ２６３）。
【実施例２】
【０１８４】
以下、実施例２を説明する。その際、実施例１との相違点を主に説明し、実施例１との共通点については説明を省略或いは簡略する。
【０１８５】
図２８は、実施例２に係るリモートコピーシステムの処理の概略を示す。
【０１８６】
実施例２では、第１ＶＯＬの基になっているＲＡＩＤグループから第２ＶＯＬの基になっているＲＡＩＤグループへ転送されるデータは、第３ＶＯＬを経由する。本実施例では、第１のストレーシステム２８１が有する第１ＶＯＬの基になっているＲＡＩＤグループは、圧縮/伸張ユニットを有していない。そうすると、第１ＶＯＬから第２ＶＯＬへはデータが圧縮されないまま転送されることになってしまう。
【０１８７】
そこで、本実施例では、第２ＶＯＬを有する第２ストレージシステム２０へのデータの転送量を削減するために、圧縮/伸張ユニットを有するＲＡＩＤグループが基になっている第３ＶＯＬが、そのデータの中継点となる。第３ＶＯＬの基になっているＲＡＩＤグループでデータを圧縮した後に、そのＲＡＩＤグループから第２ＶＯＬの基になっているＲＡＩＤグループへ圧縮データが転送される。つまり、本実施例では、第３のＶＯＬが転送先にも転送元にもなる。
【０１８８】
本実施例は、例えば、第１ＶＯＬと第３ＶＯＬとが第１ストレージシステム２０に含まれ、第１ストレージステム２０と第２ＶＯＬを有する第２ストレージシステム２０とが通信ネットワーク（例えばＷＡＮ（Wide  Area  Network））で接続されている場合、第１ストレージシステム２０から第２ストレージシステム２０へのデータの転送量を削減することができる。
【０１８９】
図に示す例では、第１のストレージシステム２８１は、第１フラッシュパッケージ２９Ａ、第２フラッシュパッケージ２９Ｂ、及び第３フラッシュパッケージ２９Ｃで構成されたＲＡＩＤグループ＃１を有する。そして、このＲＡＩＤグループ＃１を基に第１ＶＯＬが形成されている。
【０１９０】
第１フラッシュパッケージ２９ＡのＲＡＩＤグループ＃１におけるＲＡＩＤ内位置は「０」で、第２フラッシュパッケージ２９ＢのＲＡＩＤグループ＃１におけるＲＡＩＤ内位置は「１」で、第３フラッシュパッケージ２９ＣのＲＡＩＤグループ＃１におけるＲＡＩＤ内位置は「２」である。
【０１９１】
上記の様に、ＲＡＩＤグループ＃１を構成するフラッシュパッケージ２９Ａ〜２９Ｃは、それぞれ、圧縮/伸張ユニットを有していない。このため、フラッシュパッケージ２９Ａ〜２９Ｃには、圧縮されていないデータ（以下、非圧縮データ）が格納されている。
【０１９２】
第２のストレージシステム２８２は、第４フラッシュパッケージ２９Ｄ、第５フラッシュパッケージ２９Ｅ、及び第６フラッシュパッケージ２９Ｆで構成されたＲＡＩＤグループ＃２を有する。ＲＡＩＤグループ＃２を基に第２ＶＯＬが形成されている。第４フラッシュパッケージ２９ＤのＲＡＩＤグループ＃２におけるＲＡＩＤ内位置は「０」で、第５フラッシュパッケージ２９ＥのＲＡＩＤグループ＃２におけるＲＡＩＤ内位置は「１」で、第６フラッシュパッケージ２９ＦのＲＡＩＤグループ＃２におけるＲＡＩＤ内位置は「２」である。フラッシュパッケージ２９Ｄ〜２９Ｆは、圧縮/伸張ユニットを有している。
【０１９３】
第３のストレージシステム２８３は、第７フラッシュパッケージ２９Ｇ、第８フラッシュパッケージ２９Ｈ、及び第８フラッシュパッケージ２９Ｉで構成されたＲＡＩＤグループ＃３を有する。ＲＡＩＤグループ＃３を基に第３ＶＯＬが形成されている。第７フラッシュパッケージ２９ＧのＲＡＩＤグループ＃３におけるＲＡＩＤ内位置は「０」で、第８フラッシュパッケージ２９ＨのＲＡＩＤグループ＃３におけるＲＡＩＤ内位置は「１」で、第９フラッシュパッケージ２９Ｉの第３ＲＡＩＤグループにおけるＲＡＩＤ内位置は「２」である。フラッシュパッケージ２９Ｇ〜２９Ｉは、圧縮/伸張ユニットを有している。
【０１９４】
次に、本実施例におけるリモートコピーシステムでの処理の流れを説明する。上述の様に、本実施例では、第１のストレージシステム２８１から第２のストレージシステム２８２へデータをリモートコピーする際、上記の様に、一旦、第３のストレージシステム２８３を経由させる。
【０１９５】
第１ＶＯＬ、第２ＶＯＬ及び第３ＶＯＬは、同じＲＡＩＤ構成のＲＡＩＤグループに基づくＶＯＬである必要がある。また、第２ＶＯＬの基になっているＲＡＩＤグループと第３ＶＯＬの基になっているＲＡＩＤグループは、同じ種類の圧縮/伸長ユニットを有している必要がある。
【０１９６】
まず、ＲＡＩＤ内位置が同じフラッシュパッケージ間で非圧縮データが転送される。すなわち、第１のフラッシュパッケージ２９Ａから第７のフラッシュパッケージ２９Ｇへ、第２のフラッシュパッケージ２９Ｂから第８のフラッシュパッケージ２９Ｈへ、第３のフラッシュパッケージ２９Ｃから第９のフラッシュパッケージ２９Ｉへ、それぞれ非圧縮データが転送される。フラッシュパッケージ２９Ｇ〜２９Ｉは、それぞれ、転送されて来た非圧縮データを圧縮/伸長ユニットで圧縮することにより圧縮データを作成し、圧縮データを格納する。
【０１９７】
次に、ＲＡＩＤ内位置が同じフラッシュパッケージ間で圧縮データが転送される。すなわち、第７のフラッシュパッケージ２９Ｇから第４のフラッシュパッケージ２９Ｄへ、第８のフラッシュパッケージ２９Ｈから第５のフラッシュパッケージ２９Ｅへ、第９のフラッシュパッケージ２９Ｉから第６のフラッシュパッケージ２９Ｆへ、圧縮データが転送される。
【０１９８】
以上の処理により、第１ＶＯＬの基になっているＲＡＩＤグループから第３ＶＯＬの基になっているＲＡＩＤグループを経由して第２ＶＯＬの基になっているＲＡＩＤグループへデータがリモートコピーされる。前述したように、第３ＶＯＬと第２ＶＯＬが異なるストレージシステムに存在している場合、ストレージシステム間で転送されるデータは圧縮データなので、ストレージシステム間で転送されるデータの量を削減することができる。
【０１９９】
図２９は、ユーザ設定画面２９０の一例を示す。
【０２００】
ユーザは、ユーザ設定画面２９０に、第１〜第３ＶＯＬを指定することができる。ユーザ設定画面２９０は、第１ＶＯＬ指定領域２９１及び第２ＶＯＬ指定領域２９７の他に、第３ＶＯＬを指定するための第３ＶＯＬ指定領域２９４を有する。ユーザ設定画面２９０は、データ転送プログラム９２によって管理システムの表示デバイス（図示せず）に表示される。
【０２０１】
第１ＶＯＬ指定領域２９１は、実施例１に係る第１ＶＯＬ指定領域２３１と同様である。
【０２０２】
第１ＶＯＬが指定され、チェックボックス２９２（「圧縮機能のあるＶＯＬを経由して転送データを削減」）にチェックが入れられると、第３ＶＯＬ指定領域２９４には、経由先となり得るＶＯＬ（第３ＶＯＬの候補）に関する情報が表示される。この時、チェックボックス２９２にチェックが入れられると、矢印２９５及び第２ＶＯＬ指定領域２９７が表示される。
【０２０３】
第３ＶＯＬ指定領域２９４には、経由先となる第３ＶＯＬが指定される。具体的には、第３ＶＯＬのストレージシステムＩＤ及びＶＯＬＩＤが指定される。第３ＶＯＬに関する情報として、ＲＡＩＤレベル、圧縮／伸長ユニットの種類、及び推定使用容量が表示されている。第３ＶＯＬの基になっているＲＡＩＤグループは、圧縮/伸長ユニットを有するため、推定使用容量には、第１ＶＯＬから送信された非圧縮データの圧縮後のデータサイズが表示される。図に示す例では、第１ＶＯＬから送信された１０ＧＢの非圧縮データが、第３ＶＯＬでは３ＧＢに圧縮されると推定されている。
【０２０４】
第２ＶＯＬ指定領域２９７では、第３ＶＯＬから圧縮データを転送する転送先となる第２ＶＯＬが選択される。具体的には、第２ＶＯＬのストレージシステムＩＤ及びＶＯＬＩＤが指定される。このとき、チェックボックス２９６にチェックを入れておくと、第２ＶＯＬ指定領域２９７では、「転送データ削減効果のあるＶＯＬ」しか選択できなくなる。つまり、第３ＶＯＬ指定領域２９４は、第２ＶＯＬの転送元のＶＯＬの指定領域であり、実施例１で言う第１ＶＯＬ指定領域に相当する。第２ＶＯＬになり得るＶＯＬは、第２ＶＯＬの転送元のＶＯＬに関する属性（転送元ＶＯＬの基になるＲＡＩＤグループのＲＡＩＤ構成及び圧縮/伸長ユニット種類）によって決まる。更に言えば、実施例２でも、実施例１で述べた（条件１）〜（条件４）の全てが満たされている必要があり、転送元ＶＯＬは第３ＶＯＬで、転送先ＶＯＬは第２ＶＯＬである。
【０２０５】
図３０は、管理システム１４におけるデータ転送指示プログラム１４２が行う処理のフローの一例を示す。
【０２０６】
データ転送指示プログラム１４２は、ユーザ設定画面２９０においてチェックボックス２９２にチェックが入力された場合に、この処理フローを実行する。この処理フローによれば、第３ＶＯＬになり得るＶＯＬに関する情報が第３ＶＯＬ指定領域２９４に表示される。
【０２０７】
データ転送指示プログラム１４２は、ＶＯＬ情報テーブル９３から全てのＶＯＬの情報を取得する（Ｓ３０１）。
【０２０８】
データ転送指示プログラム１４２は、判定していないＶＯＬがあるか否かを判定する（Ｓ３０２）。ここで、判定とは、第１ＶＯＬから圧縮前データの転送先となり得るＶＯＬであるか否かの判定を示す。
【０２０９】
データ転送指示プログラム１４２は、判定していないＶＯＬが無い場合（Ｓ３０２：Ｎｏ）、処理を終了する。
【０２１０】
データ転送指示プログラム１４２は、判定していないＶＯＬがある場合（Ｓ３０２：Ｙｅｓ）、判定しない１以上のＶＯＬから１つのＶＯＬを選択し、そのＶＯＬ（以下、図３０の説明において「判定対象のＶＯＬ」）の基になっているＲＡＩＤグループのＲＡＩＤ構成（ここではＲＡＩＤレベル１１２）が、第１ＶＯＬの基になっているＲＡＩＤグループのＲＡＩＤ構成（ＲＡＩＤレベル１１２）と同じか否かを、ＲＡＩＤグループ情報テーブル９４を参照して、チェックする（Ｓ３０３）。
【０２１１】
ＲＡＩＤレベルが同じで無い場合（Ｓ３０３：Ｎｏ）、データ転送指示プログラム１４２は、判定してないＶＯＬについてＳ３０２の処理をする。
【０２１２】
ＲＡＩＤレベルが同じである場合（Ｓ３０３：Ｙｅｓ）、データ転送指示プログラム１４２は、判定対象ＶＯＬの容量が、第１ＶＯＬの容量以上か否かを、ＶＯＬ情報テーブル９３（容量１０２）を参照してチェックする（Ｓ３０４）。
【０２１３】
判定対象ＶＯＬの容量が、第１ＶＯＬの容量以上で無い場合（Ｓ３０４：Ｎｏ）、データ転送指示プログラム１４２は、判定してないＶＯＬについてＳ３０２の処理をする。
【０２１４】
判定対象ＶＯＬの容量が、第１ＶＯＬの容量以上である場合（Ｓ３０４：Ｙｅｓ）、データ転送指示プログラム１４２は、判定対象ＶＯＬの基になっているＲＡＩＤグループのデータ圧縮/伸長ユニットがＯＮになっているか否かを、ＲＡＩＤグループ情報テーブル９４（圧縮/伸長ユニット状態１１５）を参照してチェックする（Ｓ３０５）。
【０２１５】
データ圧縮/伸長ユニットがＯＮになっていない場合（Ｓ３０５：Ｎｏ）、データ転送指示プログラム１４２は、判定してないＶＯＬについてＳ３０２の処理をする。
【０２１６】
データ圧縮/伸長ユニットがＯＮになっている場合（Ｓ３０５：Ｙｅｓ）、データ転送指示プログラム１４２は、判定対象ＶＯＬを第３ＶＯＬの候補として保持する（Ｓ３０６）。
【０２１７】
データ転送指示プログラム１４２は、Ｓ３０６で保持した転送先ＶＯＬ候補に関する情報を、第３ＶＯＬ指定領域２９４に表示する。
【０２１８】
図３１は、コントローラ２７においてデータ転送プログラム９２が行う処理のフローの一例を示す。
【０２１９】
データ転送プログラム９２は、ユーザ設定画面２９０におけるＯＫボタン２９８が押された場合に、データ転送指示プログラム１４２から指示を受け、その指示に従って、この処理フローを開始する。データ転送プログラム９２が行うこの処理フローにより、圧縮/伸長ユニットを有さないＲＡＩＤグループ（第１ＶＯＬの基になっているＲＡＩＤグループ）から圧縮/伸長ユニットを有するＲＡＩＤグループ（第３ＶＯＬの基になっているＲＡＩＤグループ）を経由して圧縮/伸長ユニットを有するＲＡＩＤグループ（第２ＶＯＬの基になっているＲＡＩＤグループ）へのデータのリモートコピーが実現される。
【０２２０】
データ転送プログラム９２は、ＲＡＩＤグループ情報テーブル９４、ＲＡＩＤグループ構成情報テーブル９５、及び記憶デバイス情報テーブル９６を参照して、第１ＶＯＬ（転送元のＶＯＬ）、第２ＶＯＬ（転送先のＶＯＬ）、第３ＶＯＬ（経由ＶＯＬ）について、それぞれ、ＶＯＬの基になっているＲＡＩＤグループを構成している各記憶デバイスを特定する（Ｓ３１１）。
【０２２１】
データ転送プログラム９２は、第１ＶＯＬ及び第３ＶＯＬについて、開始アドレス１０５（ＲＡＩＤグループ）を記憶デバイスのアドレスに変換する（Ｓ３１２）。
【０２２２】
データ転送プログラム９２は、データが未転送の記憶デバイスがあるか否かをチェックする（Ｓ３１３）。ここでは、第１ＶＯＬから第３ＶＯＬへ転送されていないデータがあるか否かがチェックされる。
【０２２３】
データが未転送の記憶デバイスがある場合（Ｓ３１３：Ｙｅｓ）、データ転送プログラム９２は、記憶デバイスでの開始アドレス及びデータ長を指定したリード要求を、第１ＶＯＬの基になっているＲＡＩＤグループを構成する各記憶デバイスに送信することにより、第３ＶＯＬの基になっているＲＡＩＤグループの各記憶デバイスへ転送する非圧縮データを取得する（Ｓ３１４）。
【０２２４】
データ転送プログラム９２は、ＲＡＩＤ内位置１２２と、開始アドレス（ＲＡＩＤグループ）１０５と共に、記憶デバイスから取得した非圧縮データを、第３ＶＯＬを有するストレージシステムのコントローラ（以下、図３１の説明において「第３コントローラ」）に転送する（Ｓ３１５）。
【０２２５】
データ転送プログラム９２は、第３コントローラに、Ｓ３１５で転送したＲＡＩＤ内位置１２２に対応する記憶デバイスのＳ３１５で転送した開始アドレスに、Ｓ３１５で転送した非圧縮データを書き込むことを指示する（Ｓ３１６）。
【０２２６】
データが未転送の記憶デバイスが無い場合（Ｓ３１３：Ｎｏ）、データ転送プログラム９２は、圧縮データを第３ＶＯＬの基になっている各記憶デバイスから第２ＶＯＬの基になっている各記憶デバイスへ転送する（Ｓ３１７）。第３ＶＯＬの基になっているＲＡＩＤグループから第２ＶＯＬの基になっているＲＡＩＤグループへのデータの転送は、実施例１で述べた、第１ＶＯＬの基になっているＲＡＩＤグループから第２ＶＯＬの基になっているＲＡＩＤグループへのデータの転送と同様である。
【０２２７】
また、本処理フローは、第１ＶＯＬと第３ＶＯＬを有するストレージシステムが異なるケースが例として採用されているが、第１ＶＯＬと第３ＶＯＬが１つのストレージシステムに存在する場合、Ｓ３１５及びＳ３１６では、コントローラが、第１ＶＯＬの基になっている各記憶デバイスからのデータの読み出しと、第３ＶＯＬの基になっている各記憶デバイスへのデータの書き込みとを行う。
【実施例３】
【０２２８】
以下、実施例３を説明する。その際、実施例１との相違点を主に説明し、実施例１との共通点については説明を省略或いは簡略する。なお、実施例３は、実施例２に適用することも可能である。
【０２２９】
図３２は、実施例３に係るリモートコピーシステムの処理の概略を示す。
【０２３０】
実施例３では、第１ＶＯＬ（転送元）から第２ＶＯＬ（転送先）へ転送される圧縮データは、第３ＶＯＬ（保管先）に一時保管され、その後に、第３ＶＯＬから第２ＶＯＬの基になっているＲＡＩＤグループへ圧縮データが送信される。具体的には、例えば、第１ＶＯＬの基になっている各フラッシュパッケージ２９Ａ、２９Ｂ、２９Ｃから第３ＶＯＬに圧縮データが転送される。
【０２３１】
実施例３では、圧縮データは、実際には第３ＶＯＬを介することなく第３ＶＯＬの基になっているＲＡＩＤグループ内の記憶デバイスに格納されても良い。具体的には、実施例１では、第１ＶＯＬの基になっているＲＡＩＤグループ＃１から第２ＶＯＬの基になっているＲＡＩＤグループ＃２に圧縮データがリモートコピーされるが、その際の第２ＶＯＬが本実施例では第３ＶＯＬになっていても良い。
【０２３２】
しかし、実施例３では、第３ＶＯＬが、圧縮データの格納先とされても良い。すなわち、第３ＶＯＬの基になっているＲＡＩＤグループのＲＡＩＤレベルに従って圧縮データが分散してそのＲＡＩＤグループを構成する複数の記憶デバイスに格納されても良い。このような工夫がされることで、第１ＶＯＬを有するストレージシステム３２１と第２ＶＯＬを有するストレージシステム３２３との間の物理的な距離が実施例１よりも離れていても、第１ＶＯＬの基になっている各記憶デバイスの圧縮データを第２ＶＯＬの基になっている各記憶デバイスにリモートコピーすることができる。
【０２３３】
なお、データの転送先がＶＯＬである場合には、そのＶＯＬを有するストレージシステムのコントローラは、データのライト先情報として、ＶＯＬのＩＤ（例えばＬＵＮ（Logical  Unit  Number））を含む情報を受ける。一方、データの転送先がＶＯＬではなく記憶デバイスである場合には、その記憶デバイスを有するストレージシステムのコントローラは、データのライト先情報として、記憶デバイスのＲＡＩＤ内位置及びデータ長を受ける。このように、データの転送先がＶＯＬであるか記憶デバイスであるかによって、ライト先情報が含む情報の種類が異なる。転送されるデータは、例えば、本実施例であれば圧縮データであるが、実施例２では、圧縮データ又は非圧縮データである。
【０２３４】
次に、第３ＶＯＬから第２ＶＯＬへ圧縮データの転送が行われる。この時、データの分散性を担保するため、第１フラッシュパッケージ２９Ａから転送された圧縮データは第４フラッシュパッケージ２９Ｄに転送され、第２フラッシュパッケージ２９Ｂから転送された圧縮データは第５フラッシュパッケージ２９Ｅに転送され、且つ、第３フラッシュパッケージ２９Ｃから転送された圧縮データは第６フラッシュパッケージ２９Ｅに転送される。
【０２３５】
つまり、第１ＶＯＬから第３ＶＯＬへ圧縮データを転送する場合には、第３ＶＯＬの基になっているＲＡＩＤグループのＲＡＩＤ構成、ＲＡＩＤ内位置及びＲＡＩＤ内位置及び圧縮/伸長ユニット種類等を考慮する必要は無いが、第３ＶＯＬから第２ＶＯＬへ圧縮データを転送する場合には、第１ＶＯＬ及び第２ＶＯＬについて、実施例１で述べた（条件１）〜（条件４）の全てが満たされている必要がある。
【０２３６】
図３３は、ユーザ設定画面３３０の一例を示す。
【０２３７】
ユーザ設定画面３３０は、第１ＶＯＬ指定領域３３１の他に、保管先となる第３ＶＯＬを指定するための第３ＶＯＬ指定領域３３３を有する。ユーザ設定画面３３０は、データ転送プログラム９２によって管理システムの表示デバイス（図示せず）に表示される。
【０２３８】
第１ＶＯＬが指定されると、第３ＶＯＬ指定領域３３３には、保管先ＶＯＬとなり得るＶＯＬが表示される。前述したように、第３ＶＯＬの基になる各記憶デバイスは、圧縮/伸長ユニットを有していてもいなくても良い。
【０２３９】
なお、チェックボックス３３５「圧縮したまま保管」にチェックが入れられると、第３ＶＯＬ指定領域３３３で指定されたＶＯＬには、第１ＶＯＬからの圧縮データが保管されるものの、その圧縮データは第２ＶＯＬには転送され無い。これは、例えば、以下の条件のいずれか、
（＊）第１ＶＯＬの基になっているＲＡＩＤグループの圧縮/伸長ユニットと同じ種類の圧縮/伸長ユニットを持っているＲＡＩＤグループの基になっているＶＯＬが無い、
（＊）第１ＶＯＬの基になっているＲＡＩＤグループのＲＡＩＤと同じＲＡＩＤ構成を持っているＲＡＩＤグループの基になっているＶＯＬが無い、
が満たされることにより、データ転送量の削減効果が期待できないためである。
【０２４０】
チェックボックス３３５がチェックされず、且つＯＫボタン３３６が押されると、第１ＶＯＬの基になっているＲＡＩＤグループを構成している各記憶デバイスから第３ＶＯＬに圧縮データがリモートコピーされる。一方、Ｃａｎｃｅｌボタン３３７が押されると、第１ＶＯＬ（転送元）及び第３ＶＯＬ（保管先）の指定が解除される。
【０２４１】
図３４は、メモリ２２に記憶されるプログラム及び情報の一例を示す。
【０２４２】
メモリ２２には、実施例１で説明したプログラム及び情報（９１〜９６）に加えて、保管ＶＯＬ情報テーブル３４７及びデータ保管先情報テーブル３４８が記憶される。
【０２４３】
図３５は、保管ＶＯＬ情報テーブル３４７の構成の一例を示す。
【０２４４】
保管ＶＯＬ情報テーブル３４７は、保管先ＶＯＬ毎に、保管先ＶＯＬＩＤ３５１、容量３５２、使用容量３５３、ＲＡＩＤレベル３５４、圧縮/伸長アルゴリズム３５５、及びデータ保管先ＩＤ３５６を関連付けて記憶する。
【０２４５】
保管先ＶＯＬＩＤ３５１は、保管先ＶＯＬ（第３ＶＯＬ）を識別するための情報である。
【０２４６】
容量３５２は、保管先ＶＯＬの容量を示す情報である。
【０２４７】
使用容量３５７は、保管先ＶＯＬに格納されているデータの総量を示す情報である。
【０２４８】
実使用容量３５３は、保管先ＶＯＬに格納されているデータの実際に１以上の記憶デバイスに格納されているデータの量を示す情報である。
【０２４９】
ＲＡＩＤレベル３５４は、保管先ＶＯＬの基になっているＲＡＩＤグループのＲＡＩＤレベルを示す情報である。
【０２５０】
圧縮/伸長アルゴリズム３５５は、保管先ＶＯＬの基になっているＲＡＩＤグループが有している圧縮/伸長ユニットのプログラムのアルゴリズムを示す情報である。
【０２５１】
データ保管先ＩＤ３５６は、データ保管先情報テーブル３４８の行を識別するための情報である。
【０２５２】
図３６は、データ保管先情報テーブル３４８の構成の一例を示す。
【０２５３】
データ保管先情報テーブル３４８は、圧縮データセット毎に、データ保管先ＩＤ３６１、ＲＡＩＤレベル３６２、ＲＡＩＤ内位置３６３、保管先ＶＯＬＩＤ３６４、開始アドレス３６５及びデータ長３６６を関連付けて記憶する。ここで、圧縮データセットとは、ＲＡＩＤグループの１つのストライプに格納された複数の圧縮データである。それら複数の圧縮データがそれぞれ伸長されたデータを基に、ＶＯＬからのリード対象のデータが復元される。
【０２５４】
データ保管先ＩＤ３６１は、圧縮データセットを識別するための情報である。
【０２５５】
ＲＡＩＤレベル３６２は、圧縮データセットが格納されていたＲＡＩＤグループのＲＡＩＤレベルを示す情報である。
【０２５６】
ＲＡＩＤ内位置３６３は、圧縮データセットが格納されていたＲＡＩＤグループを構成する各フラッシュパッケージのＲＡＩＤグループでの位置を示す情報である。
【０２５７】
保管先ＶＯＬＩＤ３６４は、圧縮データセットに含まれる圧縮データ毎に、圧縮データを保管しているＶＯＬを識別するための情報である。
【０２５８】
開始アドレス３６５は、圧縮データセットに含まれる圧縮データ毎に、保管先ＶＯＬに格納されている圧縮データの、ＲＡＩＤグループにおける格納先の開始アドレス、を示す情報である。
【０２５９】
データ長３６６は、圧縮データセットに含まれる圧縮データ毎に、圧縮データの長さを示す情報である。
【０２６０】
図３６の例によれば、１つの圧縮データセットを構成する複数の圧縮データが必ずしも同一のＶＯＬに保管されなくても良い。例えば、それら複数の圧縮データが異なる保管先ＶＯＬに格納されても良い。保管先が何であっても、圧縮データセットの転送先ＲＡＩＤグループに影響しない。
【０２６１】
図３７は、コントローラ２７においてデータ転送プログラム９２が行う処理のフローの一例を示す。
【０２６２】
データ転送プログラム９２は、ユーザ設定画面３３０において、チェックボックス３３５「圧縮したまま保管」にチェックが入力され、且つＯＫボタン３３６が押された場合に、データ転送指示プログラム１４２から指示を受け、その指示に従って、この処理フローを開始する。このデータ転送プログラム９２が行うこの処理フローにより、転送元のＶＯＬ（第１ＶＯＬ）の基になっているＲＡＩＤグループから保管先のＶＯＬ（第３ＶＯＬ）へ、圧縮データが転送される。
【０２６３】
データ転送プログラム９２は、ＲＡＩＤグループ情報テーブル９４、ＲＡＩＤグループ構成情報テーブル９５、及び記憶デバイス情報テーブル９６を参照して、第１ＶＯＬ（転送元のＶＯＬ）の基になっている各記憶デバイスを特定し、保管ＶＯＬ情報テーブル３４７を参照して、第３ＶＯＬ（保管先のＶＯＬ）を特定する（Ｓ３７１）。
【０２６４】
データ転送プログラム９２は、第１ＶＯＬについて、開始アドレス１０５（ＲＡＩＤグループ）を記憶デバイスのアドレスに変換する（Ｓ３７２）。
【０２６５】
データ転送プログラム９２は、データが未転送の記憶デバイスがあるか否かをチェックする（Ｓ３７３）。ここでは、具体的に、第１ＶＯＬから第３ＶＯＬへ転送されていないデータがあるか否かがチェックされる。
【０２６６】
データが未転送の記憶デバイスが無い場合（Ｓ３７３：Ｎｏ）、データ転送プログラム９２は、処理を終了する。
【０２６７】
データが未転送の記憶デバイスがある場合（Ｓ３７３：Ｙｅｓ）、データ転送プログラム９２は、記憶デバイスでの開始アドレス及びデータ長を指定したリード要求を、第１ＶＯＬの基になっている各記憶デバイスから、第３ＶＯＬへ転送する圧縮データを取得する（Ｓ３７４）。
【０２６８】
データ転送プログラム９２は、ＲＡＩＤ内位置１２２と開始アドレス（ＲＡＩＤグループ）１０５と共に、記憶デバイスから取得した圧縮データを、第３ＶＯＬを有するストレージシステムのコントローラ（図３７の説明において「第３コントローラ」）に転送する（Ｓ３７５）。このＳ３７５では、圧縮データをライト対象とし第３ＶＯＬをライト先としたライト要求が第３コントローラに送信されて良い。
【０２６９】
データ転送プログラム９２は、データ保管先情報テーブル３４８に、圧縮データのＳ３７５での転送先のＶＯＬのＩＤを、保管先のＶＯＬのＩＤ３６４として登録する（Ｓ３７６）。Ｓ３７６では、Ｓ３７５で転送された圧縮データについて、開始アドレス３６５及び３６６も格納される。
【０２７０】
図３８は、ユーザ設定画面３８０の一例を示す。
【０２７１】
ユーザ設定画面３８０は、第３ＶＯＬを指定するための第３ＶＯＬ指定領域３８１と、転送先となる第２ＶＯＬを指定するための第２ＶＯＬ指定領域３８２とを有する。ユーザ設定画面３８０は、例えば、データ転送プログラム９２により管理システム１４の表示デバイス（図示せず）に表示される。
【０２７２】
第３ＶＯＬ指定領域３８１において、ユーザ所望の保管先ＶＯＬのストレージシステムＩＤ及びＶＯＬＩＤが指定されると、指定された保管先ＶＯＬに関する情報（例えば、容量、ＲＡＩＤレベル、圧縮／伸長ユニット種類、及び実使用容量）が表示される。
【０２７３】
保管先ＶＯＬが指定されると、第２ＶＯＬ指定領域３８２には、保管先ＶＯＬ内の圧縮データの転送元のＶＯＬにとっての転送先となる第２ＶＯＬに関する情報が表示される。
【０２７４】
ＯＫボタン３８３が押されると、ユーザ設定画面３８０で指定されている第３ＶＯＬから第２ＶＯＬの基になっている各記憶デバイスに、圧縮データがリモートコピーされる。
【０２７５】
図３９は、データ転送プログラム９２の処理の一例を示す。
【０２７６】
データ転送プログラム９２は、データ転送指示プログラム１４２からの指示により、下記処理を実行する。この処理により、第３ＶＯＬから第２ＶＯＬの基になっている各記憶デバイスへの圧縮データの転送が行われる。
【０２７７】
データ転送プログラム９２は、保管ＶＯＬ情報テーブル３４７、及びデータ保管先情報テーブル３４８（３５１、３６１）から、圧縮データセットを構成する各圧縮データの保管先ＶＯＬ及び保管先ＶＯＬ内での保管先を特定する（Ｓ３９１）。
【０２７８】
データ転送プログラム９２は、保管先ＶＯＬの基になっているＲＡＩＤグループから、圧縮データを取得する（Ｓ３９２）。
【０２７９】
データ転送プログラム９２は、第３ＶＯＬに未転送の圧縮データセットがあるか否かをチェックする（Ｓ３９３）。
【０２８０】
未転送の圧縮データセットが無い場合（Ｓ３９３：Ｎｏ）、データ転送プログラム９２は処理を終了する。
【０２８１】
一方、未転送の圧縮データセットがある場合（Ｓ３９３：Ｙｅｓ）、データ転送プログラム９２は、Ｓ３９２にて取得した圧縮データセットを構成する各圧縮データについて、圧縮データに対応するＲＡＩＤ内位置にある記憶デバイスにその圧縮データを格納する指示を、第２ＶＯＬを有するストレージシステムのコントローラに送信する（Ｓ３９４）。
【０２８２】
以上、幾つかの実施例を説明したが、本発明はこれらに限定されない。
【０２８３】
例えば、圧縮及び／又は伸長は、圧縮/伸長ユニットにより行われることに代えて、コンピュータプログラムを実行するＣＰＵによって行われても良い。つまり、圧縮機能及び／又は伸長機能は、専用ハードウェア回路で実現されることに代えて、コンピュータプログラムを実行することにより実現されても良い。
【０２８４】
また、例えば、転送元ＶＯＬ及び転送先ＶＯＬの少なくとも一方として、Ｔｈｉｎ  Ｐｒｏｖｉｓｉｏｎｉｎｇ技術に従う仮想的なＶＯＬ（以下、ＶＶＯＬ）を採用することもできる。その場合、１以上のＶＯＬで構成されたプールが用意される。プールを構成する各ＶＯＬは、複数の記憶領域（以下、セグメント）に分割される。各セグメントは、ＲＡＩＤグループを構成する複数の記憶デバイスに基づいている。ＶＶＯＬにおけるライト先の領域にセグメントが割り当てられる。異なるストレージシステムのＲＡＩＤグループ間の圧縮データのリモートコピーは、セグメント単位で行われる。すなわち、例えば、転送元領域の基になっているＲＡＩＤグループのＲＡＩＤ構成及び圧縮/伸長ユニット種類と転送先領域の基になっているＲＡＩＤグループのＲＡＩＤ構成及び圧縮/伸長ユニット種類が同じであれば、転送元領域から転送先領域への圧縮データが転送され、転送元領域及び転送先領域の少なくとも一方がセグメントである。
【０２８５】
また、例えば、ストレージ内の内部バスの転送データ量を削減することを目的として、本発明が用いられても良い。この場合、転送元ＶＯＬと転送先ＶＯＬは、同一のストレージ内に存在する。つまりこの場合、本発明は、同一のストレージ内でのコピー機能として使用される。
【符号の説明】
【０２８６】
１０…ホスト計算機、１４…管理システム、２０…ストレージシステム、２９Ａ…フラッシュパッケージ、３７…ＦＭチップ
【図１】
0005722500.tif 000002
【図２】
0005722500.tif 000003
【図３】
0005722500.tif 000004
【図４】
0005722500.tif 000005
【図５】
0005722500.tif 000006
【図６】
0005722500.tif 000007
【図７】
0005722500.tif 000008
【図８】
0005722500.tif 000009
【図９】
0005722500.tif 000010
【図１０】
0005722500.tif 000011
【図１１】
0005722500.tif 000012
【図１２】
0005722500.tif 000013
【図１３】
0005722500.tif 000014
【図１４】
0005722500.tif 000015
【図１５】
0005722500.tif 000016
【図１６】
0005722500.tif 000017
【図１７】
0005722500.tif 000018
【図１８】
0005722500.tif 000019
【図１９】
0005722500.tif 000020
【図２０】
0005722500.tif 000021
【図２１】
0005722500.tif 000022
【図２２】
0005722500.tif 000023
【図２３】
0005722500.tif 000024
【図２４】
0005722500.tif 000025
【図２５】
0005722500.tif 000026
【図２６】
0005722500.tif 000027
【図２７】
0005722500.tif 000028
【図２８】
0005722500.tif 000029
【図２９】
0005722500.tif 000030
【図３０】
0005722500.tif 000031
【図３１】
0005722500.tif 000032
【図３２】
0005722500.tif 000033
【図３３】
0005722500.tif 000034
【図３４】
0005722500.tif 000035
【図３５】
0005722500.tif 000036
【図３６】
0005722500.tif 000037
【図３７】
0005722500.tif 000038
【図３８】
0005722500.tif 000039
【図３９】
0005722500.tif 000040