データをアーカイブするためのコンピュータ実施方法であって、第1の記憶ボリュームがオフラインである間に、前記第1の記憶ボリュームにおいてデータの第1のフラッシュコピーを生成することと、前記第1のフラッシュコピー内のデータを圧縮することであって、各データトラックがデータページセットに圧縮される、ことと、前記圧縮データページセットを第2の記憶ボリュームに記憶することと、を含む、方法。前記第1のフラッシュコピーが背景動作において生成される、請求項1に記載の方法。第1のフラッシュコピーの生成が、前記第2の記憶ボリュームを書込み禁止にすることと、前記第2の記憶ボリュームに、圧縮データエクステントのプールからデータエクステントを割り当てることと、前記割り当てたデータエクステント内に前記圧縮データを記憶するための空き空間が存在しない場合、前記圧縮データエクステントプールから新しいデータエクステントを割り当てることと、を含む、請求項1に記載の方法。前記圧縮データエクステントが前記第2の記憶ボリュームに割り当てられたことを示すようにボリューム構造を更新することを更に含む、請求項3に記載の方法。前記第1のフラッシュコピー内のデータが、LZWLempelZivWelch圧縮を用いて圧縮される、請求項3に記載の方法。圧縮対象のデータが前記第1のフラッシュコピー内に存在しない場合、前記圧縮対象のデータを前記第1の記憶ボリュームから読み出すことを更に含む、請求項1に記載の方法。いったん1ストライド分のデータが圧縮されて前記第2の記憶ボリュームに記憶されたら前記圧縮データをデステージすることを更に含む、請求項1に記載の方法。前記第2の記憶ボリュームに割り当てた非使用のエクステントの割り当てを解除することを更に含む、請求項3に記載の方法。前記第2の記憶ボリュームにおいてアーカイブされたデータを展開することを更に含む、請求項1に記載の方法。展開することが、前記第2の記憶ボリュームにおいて圧縮データの第2のフラッシュコピーを生成することであって、前記第2のフラッシュコピーが前記圧縮データページセットを含み、各ページセットが前記第1の記憶ボリュームにおける非圧縮データトラックに対応する、ことと、前記第2のフラッシュコピーにおける各ページセット内のデータを、対応する展開データトラックに展開することと、前記展開データトラックを前記第1の記憶ボリュームに記憶することと、を含む、請求項9に記載の方法。第2のフラッシュコピーを生成することが、前記第1のボリュームを書込み禁止にすることと、前記第1のボリュームに、非圧縮データエクステントのプールからデータエクステントを割り当てることと、前記割り当てたデータエクステント内に前記非圧縮データを記憶するための空き空間が存在しない場合、前記非圧縮データエクステントプールから新しいデータエクステントを割り当てることと、を含む、請求項10に記載の方法。前記第1の記憶ボリュームに割り当てた非使用のエクステントの割り当てを解除することを更に含む、請求項10に記載の方法。展開対象のデータが前記第2のフラッシュコピー内に存在しない場合、前記展開対象のデータを前記第2の記憶ボリュームから読み出すことを更に含む、請求項10に記載の方法。いったん1ストライド分のデータが展開されて前記第1の記憶ボリュームに記憶されたら前記展開データをデステージすることを更に含む、請求項9に記載の方法。前記アーカイブされたデータが、LZWLempelZivWelch展開を用いて展開される、請求項9に記載の方法。データをアーカイブするためのコンピュータプログラムであって、具現化されたコンピュータ読み取り可能プログラムコードを有するコンピュータ読み取り可能記憶媒体を含み、前記コンピュータ読み取り可能プログラムコードが、ソース第1ボリュームがオフラインである間に、前記第1の記憶ボリュームにおいてデータの第1のフラッシュコピーを生成するようにコンフィギュレーションされたプログラムコードと、前記第1のフラッシュコピー内のデータを圧縮するようにコンフィギュレーションされたプログラムコードであって、各データトラックがデータページセットに圧縮される、プログラムコードと、前記圧縮データページセットを第2の記憶ボリュームに記憶するようにコンフィギュレーションされたプログラムコードと、を含む、コンピュータプログラム。前記コンピュータ読み取り可能プログラムコードが、前記第2の記憶ボリュームを書込み禁止にするようにコンフィギュレーションされたコンピュータ読み取り可能プログラムコードと、前記第2の記憶ボリュームに、圧縮データエクステントのプールからデータエクステントを割り当てるようにコンフィギュレーションされたコンピュータ読み取り可能プログラムコードと、前記割り当てたデータエクステント内に前記圧縮データを記憶するための空き空間が存在しない場合、前記圧縮データエクステントプールから新しいデータエクステントを割り当てるようにコンフィギュレーションされたコンピュータ読み取り可能プログラムコードと、を含む、請求項16に記載のコンピュータプログラム。前記第2の記憶ボリュームにおいてデータの第2のフラッシュコピーを生成するようにコンフィギュレーションされたコンピュータ読み取り可能プログラムコードであって、前記第2のフラッシュコピーが前記圧縮データページセットを含み、各ページセットが前記第1のボリュームにおける非圧縮データトラックに対応する、コンピュータ読み取り可能プログラムコードと、前記第2のフラッシュコピーにおける各ページセット内のデータを、対応する展開データトラックに展開するようにコンフィギュレーションされたコンピュータ読み取り可能プログラムコードと、前記展開データトラックを前記第1の記憶ボリュームに記憶するようにコンフィギュレーションされたコンピュータ読み取り可能プログラムコードと、を含む、請求項16に記載のコンピュータプログラム。データをアーカイブするためのシステムであって、アーカイブ対象のデータを有する第1の記憶ボリュームと、前記第1の記憶ボリュームがオフラインである間に、前記第1の記憶ボリュームにおいてデータの第1のフラッシュコピーを生成するようにコンフィギュレーションされた論理コンポーネントと、前記第1のフラッシュコピー内のデータを圧縮するようにコンフィギュレーションされた論理コンポーネントであって、各データトラックがデータページセットに圧縮される、論理コンポーネントと、第2の記憶ボリュームが書き込み禁止状態である間に、前記圧縮データページを前記第2の記憶ボリュームに記憶するようにコンフィギュレーションされた論理コンポーネントと、を含む、システム。前記システムがディスク記憶システムである、請求項19に記載のシステム。データユニット当たりのディスク記憶装置のコストが低下を続けているので、ディスク記憶装置はデータアーカイブのための魅力的な媒体になりつつある。多くの場合、ディスクを用いる現在のデータアーカイブソリューションはデータ圧縮および展開に関連して著しい量のメタデータを有し、これがシステム性能に影響を及ぼす。更に、メタデータによってシステムにおける記憶管理機能の実施が複雑となる。他に使用可能な技術である遠隔コピーは、遠隔記憶設備においてデータを複製することによってアーカイブを行う。遠隔コピーでは、メインまたはローカル設備の記憶デバイスにデータが書き込まれるかまたは更新されるたびに、ローカル記憶設備から遠隔記憶設備にデータを転送する。しかしながら、遠隔コピーは、バックアップおよびリストア技術の実施と共に、セキュリティおよびデータ回復管理の分野において更に別の問題を生じる。本開示は、フラッシュコピーおよびデータ圧縮に基づいた、記憶システムにおけるデータのアーカイブおよび検索に関する。本開示の1つの態様は、データをアーカイブするためのシステムに関する。これは、第1のソースボリュームと、第1のボリュームがオフラインである間に第1のボリュームにおいてデータのフラッシュコピーを生成するための論理コンポーネントと、第1のフラッシュコピー内の各データトラックを圧縮データページセットに圧縮するための論理コンポーネントと、を含むことができる。このシステムは、圧縮データページを記憶システムにおける第2のターゲットボリュームに記憶することができる。フラッシュコピー生成は背景動作とすることができる。一実施形態において、このシステムは、必要に応じて圧縮データエクステントのプールからデータエクステントを第2のボリュームに割り当て、エクステントが第2のボリュームに割り当てられたことを示すようにボリューム構造を更新することができる。このシステムは更に、後にユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、第2のボリュームのフラッシュコピーを用いてデータを伸張することができる。本開示の別の態様は、フラッシュコピー生成を用いてデータをアーカイブし検索するためのコンピュータ実施方法に関する。この方法は、記憶システム内の第1のソースボリュームがオフラインである間に、第1のボリュームにおいてデータのフラッシュコピーを生成することと、フラッシュコピー内のデータを圧縮することであって、各データトラックが圧縮データページセットに圧縮される、ことと、を含む。この方法は、圧縮データページを記憶システム内の第2のターゲットボリュームに記憶することができる。フラッシュコピーは背景プロセスにおいて生成することができる。一実施形態において、この方法は、必要に応じて圧縮データエクステントのプールからデータエクステントを第2のボリュームに割り当て、エクステントが第2のボリュームに割り当てられたことを示すようにボリューム構造を更新することができる。この方法は更に、ユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、第2のボリュームのフラッシュコピーを用いてこのボリュームからのデータを伸張することによって、アーカイブしたデータをリストアすることができる。本開示の更に別の態様は、フラッシュコピー生成を用いてデータをアーカイブし検索するためのコンピュータプログラムに関する。このコンピュータプログラムは、具現化されたコンピュータ読み取り可能プログラムコードを有するコンピュータ読み取り可能記憶媒体を含む。このプログラムコードは、記憶システムの第1のソースボリュームがオフラインである間に、第1の記憶ボリュームにおいてデータのフラッシュコピーを生成し、フラッシュコピー内のデータを圧縮し、各データトラックが圧縮データページセットに圧縮されるようにコンフィギュレーションすることができる。このプログラムコードは、更に、圧縮データページを第2のターゲット記憶ボリュームに記憶し、フラッシュコピーを背景において生成することができる。一実施形態において、プログラムは、必要に応じて圧縮データエクステントのプールからデータエクステントを第2のボリュームに割り当て、エクステントが第2のボリュームに割り当てられたことを示すようにボリューム構造を更新するようにコンフィギュレーションされたプログラムコードを含むことができる。更に、プログラムコードは、ユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、第2のボリュームのフラッシュコピーを用いてこのボリュームからのデータを伸張することによって、アーカイブしたデータをリストアするようにコンフィギュレーションすることができる。本開示の好適な実施形態の詳細は、その構造および動作の双方に関して、以下の発明を実施するための形態において添付図面を参照して説明する。課題を解決するための手段は、特許請求した主題の重要な特徴を特定することを意図しており、特許請求した主題の範囲を限定することは意図していない。本開示の実施形態は、アーカイブするデータのフラッシュコピーを圧縮し、この圧縮データをターゲットデータボリュームに記憶することによって、記憶システムにデータをアーカイブすることに関する。実施形態は更に、逆のプロセスにおいて圧縮データのフラッシュコピーを伸張することによってアーカイブしたデータをリストアすることに関する。データ記憶システムここで図面、特に図1を参照すると、本開示の態様を実施可能であるコンピューティング環境の一例が示されている。図1のコンピューティング環境は、一例としてのみ提示したものであり、限定は意図していない。本明細書に開示するデータアーカイブシステムおよび方法は、図1におけるコンフィギュレーションの他に、多種多様な異なるコンピュータ、サーバ、記憶システム、およびネットワークアーキテクチャに適用可能である。例示したコンフィギュレーションは、コンピュータネットワーク11を介して1つ以上のホストコンピュータ12にアクセスする多数のクライアントコンピュータ10を含むことができる。コンピュータネットワーク11は、ワイドエリアネットワークWAN、ローカルエリアネットワークLAN、プライベートイントラネット、またはインターネットとすることができる。ホストコンピュータ12は、様々なプログラムを実行するためのCPU中央演算処理装置およびメモリを含み、これによって様々なコンピューティング機能をクライアントコンピュータ10に提供する。ホスト12は、ウェブサービスおよびデータベースアプリケーション等のコンピューティングサービスを提供するためのアプリケーションを動作させるサーバを含むことができる。ホストコンピュータ12は更に、記憶エリアネットワークSAN、LANローカルエリアネットワーク、ファイバチャネルインタフェース、または他のホストインタフェースプロトコル等のネットワーク14を介して1つ以上の記憶システム15に接続することができる。SANは、ファイバチャネルFC、ESCONEnterpriseSystemsConnection、SCSISmallComputerSystemsInterface、インターネットSCSIiSCSI、SSASerialStorageArchitecture、HIPPIHighPerformanceParallelInterface、または同様の機能を有する他のプロトコル等、サーバと記憶リソースとの間の専用の高性能ネットワークである。データ記憶システム15は、ハードディスクドライブ、固体ドライブ、ハードディスクドライブまたは固体ドライブのアレイ、テープドライブ、テープライブラリ、CD-ROMライブラリ等を含むことができる。更に、データ記憶システム15は、固体記憶装置の一次レベル、ディスク記憶装置の二次レベル、およびテープライブラリの三次レベル等、多数のレベルを含むことができる。ユーザおよびコンピュータプログラムは、ホスト12および記憶システム15上で動作している様々なデータ処理アプリケーションおよび記憶管理ソフトウェアを用いて、記憶システム15にデータを記憶し、そこからデータを検索することができる。記憶管理ソフトウェアは、様々な機能の中でも特に、データボリュームの割り当て、データバックアップ、リストア、コピー、回復、マイグレーション、およびデータアーカイブ等、記憶システム15にデータを管理するためのユーティリティを提供することができる。図2は例示的なディスク記憶システム200を示す。これは、ホストコンピュータ12からのディスクDASD208に対するデータ読み取りおよび書き込みの要求を処理するようにコンフィギュレーションされた記憶コントローラ201を含む。記憶システム200の一例は、IBMDS8000TMエンタープライズ記憶システムである。DS8000TMは、高性能かつ大容量の記憶コントローラであり、連続的な動作をサポートするように設計されたディスク記憶装置を提供する。記憶コントローラ201は、ホストコンピュータ12とインタフェースするホストアダプタ202と、ディスク208等の接続された記憶デバイスとインタフェースするデバイスアダプタ207と、を含むことができる。ホストアダプタ202は、ファイバチャネルFC、ファイバチャネルアービトレーションループFC-AL、iSCSI等の様々なホスト-デバイスインタフェースプロトコルをサポートすることができる。記憶コントローラ201は、コントローラ201の動作を制御するためおよびコントローラにおいてデータを操作するための1つ以上のプロセッサ203と、データを一時的に記憶するための1つ以上のキャッシュメモリ204と、プログラムおよびデータを保持するための1つ以上のメモリ205と、を用いることができる。かかるコンピュータプログラムは、記憶システム200においてデータを管理するため、ならびにホストコンピュータ12およびデータ記憶デバイス208と対話するための記憶管理ソフトウェア206を含むことができる。記憶管理ソフトウェア206のデバイスインタフェースソフトウェアは、記憶ディスク208内の論理データボリュームに対する読み取りおよび書き込みの要求を管理することができる。記憶コントローラ201は、記憶装置仮想化実施の一部として、物理記憶ディスク208に記憶されたローカルデータにマッピングされている仮想ディスクボリュームのために内部メモリ205を用いることができる。データの完全性を向上させるため、ディスク記憶システムは、RAIDシステムredundantarraysofinexpensivedisksとしてコンフィギュレーションすることができる。図3は、4つのディスクドライブ301~304を有する一例としてのRAID-5コンフィギュレーションを示す。RAID-5システムは、連続データをセグメント化し、これらのデータを複数のディスクドライブ301~304にわたって記憶する。4ディスクコンフィギュレーションでは、RAIDシステムは、データセグメントA1、A2、およびA3を3つの別個のディスク301~303に記憶する。各セグメントは1つ以上のトラック305を含むが、他の分割方法も可能である。セグメントA1、A22およびA3のXOR演算を実行することによって、パリティデータApを計算することができる。このパリティデータはディスク304に記憶することができる。セグメントA1、A2、およびA3をストライドAと称する。1ストライドは、RAIDアレイがパリティを計算する対象であるトラックのセットである。ディスク301~303の1つが故障した場合には、残りのデータおよびパリティ値を用いて、故障したディスク上のデータを再構築することができる。例えばA2を含むディスク302を紛失した場合、値A1、A3、およびApを用いてA2を再構築することができる。RAIDシステムにコンフィギュレーションされたディスクでは、複数のドライブ301~303から同時にデータへのアクセスが可能であるので、読み取り性能の高速化が可能となる。しかしながら一般に、アレイに書き込みを行う場合のオーバーヘッドが増大する。これは主にパリティ計算のためである。例えばA1を書き込むためには、値A2、A3、およびApをディスク301~304からロードするステージするstageする必要があり、値A1をディスク上で変更する必要があり、更にパリティ値Apを再計算してディスク301~304にデステージするdestage必要がある。書き込みプロセスには4つのディスク動作が必要である。一方、単一のディスク動作によって、パリティ値Apと共に、データの1ストライド全体すなわちA1、A2、およびA3をディスク301~304にデステージすることができる。これは、システムに1ストライドを書き込む場合にはディスク301~304からデータ値もパリティ値もロードする必要がないからである。データ管理データは、直接アクセス記憶装置DASDまたは磁気テープデバイス等の二次記憶デバイスに記憶することができ、典型的にはデータボリュームとして管理することができる。DASDボリュームは、物理的な外観、容量、および速度が様々に異なる場合があるが、実際にデータをどのように記憶サブシステム媒体に対して書き込むかには関係なく、データ記録、データチェック、データフォーマット、およびプログラミングについては同様である。1つの論理DASDボリュームのデータは複数のブロックとして書き込まれる。DASDボリューム上の各データブロックは、別個の位置および一意のアドレスを有するので、広範囲にわたる検索を行うことなく、いかなるブロックも見つけることができる。ブロックは、直接または順次、記憶し検索することができる。データ管理は、コンピュータシステムにおける全ての情報プログラムを含むを整理、識別、記憶、登録、および検索するオペレーティングシステムまたは記憶管理プログラムの一部である。データ管理は以下のタスクを処理することができる。DASDボリューム上の空間を保留する割り当てる。登録したデータセットを名前で自動的に検索する。テープドライブに磁気テープボリュームを装填する。アプリケーションプログラムと記憶媒体との間の論理接続を確立する。データに対するアクセスを制御する。アプリケーションプログラムと記憶媒体との間でデータを転送する。データをアーカイブし、アーカイブしたデータをリストアする。情報は、全てのDASDボリューム上において標準的なフォーマットで記録される。このフォーマットは、固定ブロックデータ、カウントキーデータCKD、または拡張カウントキーデータECKDとすることができる。各トラックは、レコード0トラック記述子レコードまたは容量レコードとも呼ばれるおよびデータレコードを含む。DASDボリュームに書き込まれるデータユニットを、レコードまたはブロックと称する。データブロックは更にトラックにグループ化される。データトラックのグループをエクステントと称する。レコードをブロックにグループ化するプロセスをブロッキングと呼ぶ。ブロックからレコードを抽出することをアンブロッキングと呼ぶ。ブロッキングまたはアンブロッキングは、アプリケーションプログラムまたはオペレーティングプログラムによって実行することができる。ユーザおよびアプリケーションは一般に、論理ボリュームとしての記憶システム内の記憶領域にアクセスする。ホストコンピュータ12は、論理ボリュームの識別子を用いて、記憶システムからデータを読み取ったり記憶システムにデータを書き込んだりする。論理ボリュームの識別子を論理ユニット番号LUNと称する。1つの論理ボリュームは、単一の物理記憶デバイスまたは複数の記憶デバイス内にある場合がある。図5に示すように、ディスクまたはディスクアレイ等の単一の物理記憶ユニットは、多数の論理ボリュームを有することができる。ディスクアレイにおいては、アレイ内のどこにデータが物理的に記憶されているかには関係なく、論理ボリュームは、ディスクアレイに記憶されたデータに対する論理インタフェースを提供する。例えば、ストライピングstripingと呼ばれる技法を用いて、ディスクアレイにおける多数のディスクにわたってデータボリュームの記憶トラックを割り当てることは一般的である。この結果、データは物理的にディスクアレイ全体に分散するが、ホストシステムにおけるアプリケーションは、連続ディスクボリュームのようなボリュームにアクセスする。記憶管理ソフトウェアは、エクステントと称されるデータ記憶ユニットからデータボリュームを割り当てることができる。例えば、現在のIBMTotalStorageTMシステムDS8000TMでは、データエクステントは1ギガバイト1GBのサイズである。図4は、RAIDシステム401のデータエクステント404から割り当てた一例としての論理ボリューム405を示す。図3を参照して説明したように、RAIDシステム401は、ディスク402のグループを用いてコンフィギュレーションすることができる。記憶管理ソフトウェアは、エクステントプール403において利用可能な未割り当てのエクステント404を維持することができ、ここからエクステント403のグループを論理ボリューム405に割り当てることができる。この割り当てを実行することができるのは、ユーザまたはアプリケーションがボリューム識別子およびボリュームサイズを用いてボリューム405を割り当てるためのコマンドを発した場合である。例えば、ユーザは、30ギガバイトのデータの論理ボリューム405を割り当てることができ、このためには、各々が1ギガバイトの記憶空間である30のエクステント404をボリュームに割り当てる必要がある。記憶仮想化環境においては、この30ギガバイトの記憶領域は仮想記憶装置すなわち記憶システムメモリ内にある場合があり、必ずしもRAIDシステム401における実際の記憶装置の30ギガバイトを占めるものではない。データアーカイブデータアーカイブとは、データ記憶階層における1つの記憶層から別の記憶層にデータを移す動作のことである。アーカイブしたデータを保持する記憶層は通例、データがアーカイブされた層よりも下位の階層レベルにあって、応答時間が遅く、データユニット当たりのコストが低く、容量が大きい。例えばデータセンタにおいて、データアーカイバルにより、使用頻度の低いデータをディスク記憶システムからテープライブラリに移すことができる。データは一般にボリューム単位でアーカイブされ、アーカイバルは遠隔位置または同一データセンタ内のサブシステムに対して行うことができる。図5は、本開示の実施形態を用いてアーカイブおよび検索することができる記憶システム501内のデータ記憶ボリューム502~503の一例を示す。図6は、本開示の実施形態に従ったデータアーカイブ動作の高レベルの図を示す。アーカイブされるデータを保持する元のデータボリュームをソースボリュームと称し、アーカイブしたデータを保持するボリュームをターゲットボリュームと称する。図6に示すように、アーカイブしたターゲットボリューム604は、典型的にはソースボリューム602と同一の記憶システム601内にあるが、別の記憶システム内にある場合もある。例示した実施形態において、ターゲットボリューム604は、例えばディスク記憶レベル等のソースボリューム602と同一の記憶レベルとして、ディスク記憶デバイスが提供する性能の利点を生かすことができる。アーカイブされたデータは圧縮フォーマットであり、このため元の非圧縮データよりも占有する記憶空間が著しく小さい。図7は、本開示の例示的な実施形態に従ったデータアーカイブ動作を更に詳細に示す。図示した例では、ソースボリューム701およびターゲットボリューム703は同一の記憶システム700上にあるものとして示されているが、異なる記憶システム上にある場合もある。記憶システム700は、ソースボリューム701においてデータのフラッシュコピー702を生成することによってデータアーカイバルを開始することができる。ボリュームのフラッシュコピーまたはスナップショットコピーは、ボリュームに記憶されたデータのある時点でのpointintimeコピーであり、典型的には論理ディレクトリの形態である。論理ディレクトリは、物理位置すなわちボリュームのデータトラックにデータを関連付ける。フラッシュコピー702は、フラッシュコピー702が実行された特定の時点でのソースボリューム701の画像、具体的にはソースボリューム701内のデータの配置を与える。フラッシュコピー702を用いて、コピーを実行した時点でのボリュームの状態を再構築するか、またはこれをボリューム内の現在のデータと比較することができる。フラッシュコピー702は、明確さのためにソースボリューム701とは別のエンティティとして図示し説明するが、これは記憶システム700におけるソースボリューム701の画像であり、一般に、記憶システム700においてソースボリューム701と異なる別の記憶領域を占有するものではない。フラッシュコピー生成動作の間、ソースボリューム701の更新を一般的には極めて短い時間一時停止して、共通した時点でのソースボリュームデータおよびフラッシュコピーデータの一致したビューを与えるようにする。フラッシュコピーユーティリティは、ソースデータを含むトラックのためのポインタをソースボリューム701のトラックテーブルからフラッシュコピー702のトラックテーブルにコピーすることができるが、ポインタが参照する記憶デバイス上のソースデータはどれも実際には移動しない。フラッシュコピー生成が完了すると、ソースボリューム701におけるデータの更新を再開することができる。本開示の一実施形態では、ソースボリューム701のフラッシュコピー702を背景動作として実行することで、ソースボリュームの物理コピーの生成を可能とする。いったんフラッシュコピー生成が完了すると、記憶システム700は、LZWLempelZivWelchデータ圧縮等のデータ圧縮技法を用いて、フラッシュコピー702内の各データトラックを圧縮データページセット704に圧縮することができる。例えば記憶システム700は、64Kバイトのデータトラックを、各々が4Kバイトのサイズを有する2データページに圧縮することができる。フラッシュコピー702からの各データトラックの結果として生じた圧縮データページセット704は、ターゲットボリューム703に記憶される。図8はデータ圧縮の一例を更に詳細を示す。本開示の実施形態において、記憶システム700は最初に、データエクステントを割り当てていない薄く供給した圧縮データボリュームとしてターゲットボリュームを生成することができる。記憶システム700は更に、ソースボリュームをオフラインで取得して、ソースボリュームデータのアーカイブの間はソースボリュームに対する通常のデータ読み取りおよび書き込み動作を一時停止することができる。記憶システム700は、まずターゲットボリューム703の最初から最後までこのボリューム内のデータトラックを読み取ることから、データ圧縮を実行することができる。読み取っているデータトラックがターゲットボリューム703にコピーされていない場合、そのデータのソースボリューム701が読み取り動作の対象となる。記憶システム700は、LZW圧縮エンジン等の圧縮エンジンを用いて、読み取ったデータトラックをデータページセットに圧縮することができる。次いで記憶システム700は、圧縮エンジンからの圧縮データページをターゲットボリューム703に記憶する。本開示の一実施形態においては、フラッシュコピー702内の1ストライド分のデータの全トラックが圧縮されるまでフラッシュコピー702のデータ圧縮を継続し、その後で記憶システムのメモリから圧縮データトラックをデステージする。各データトラックの圧縮後ではなく1つのストライド全体をデステージすることによって、記憶システム700の性能に及ぼす影響を最小限に抑える。1つのストライド全体をデステージすることにより、RAIDシステムは1ストライド全体から新しいパリティを計算することができる。さもなければ、RAIDシステムは新しいパリティを計算するために古いデータおよび古いパリティの双方を必要とすることになる。このため、1ストライド全体のデステージでは、部分的なストライドのデステージに比べて必要なドライブ動作が少ない。部分的なストライドに必要である余分なドライブ動作をデステージペナルティと称する。いったん記憶システム700がソースボリューム701内の全てのデータを圧縮し、この圧縮データをターゲットボリューム704に記憶すると、記憶システム700はソースボリューム701のための非圧縮データエクステントの割り当てを解除することができる。図8は、ソースボリュームデータトラックと、フラッシュコピーからの圧縮データと、圧縮データの結果得られたページとの関係を示す。後に、ユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、記憶システム700は、逆のプロセスにおいてターゲットボリューム703から圧縮データページ704を検索し、これらを元のトラックへと展開することができる。システム700は、例えばLZWデータ圧縮のような、システムがデータ圧縮のために以前に用いたものと同一の圧縮技法を用いて、元のデータトラックに対応する各圧縮データページセット704を元のトラックへと展開することができる。圧縮プロセスと同様に、記憶システム700は、1つのストライド内の全データトラックを展開した後で、記憶システムのメモリからこのストライドのデータをデステージすることができる。この1ストライド全体のデステージによって、記憶システム700の性能に及ぼす影響を最小限に抑える。次いで記憶システム700は展開したデータトラックをソースボリューム701に記憶する。データ圧縮およびデータ展開に関して更に詳しくは、図9から図11のフローチャートを参照して以下で説明する。図8は、本開示の例示的な実施形態に従った、アーカイブするソースボリュームからのデータトラックと、フラッシュコピー内のデータと、ターゲットアーカイブボリューム内の圧縮データページとの関係を示す。一例として図8は、ソースボリューム801からのNデータトラック802~803を示し、これらはそれぞれデータトラック805および806としてフラッシュコピー804にコピーされる。記憶システム700は、フラッシュコピー804からの各データトラックを圧縮してデータページセットとし、これがターゲットボリューム807に記憶される。例えば、フラッシュコピー804からのトラック1データ805を、ターゲットボリューム807内のセット1データページ808に圧縮することができる等となっており、これはトラックNデータ806をターゲットボリューム807内のセットNデータページ809に圧縮するまで続く。図8は更に、セット1からセットNのデータページが圧縮データエクステント810に収まることを示す。例えば、ソースボリューム801から圧縮された全てのデータページを保持するためにMデータエクステントまでの追加の圧縮記憶空間が必要である場合、記憶システム700は、図4を参照して前述したように、圧縮エクステントプールから追加のエクステントを割り当てる。図9は、本開示の例示的な実施形態に従った、ソースデータボリューム内のデータをアーカイブするためのプロセスのフローチャートを示す。このプロセスはステップ900において開始することができ、ここで記憶システム700は、ユーザまたは記憶管理プログラムからアーカイブコマンドを受信する。例示した実施形態において、記憶システム700は、ステップ901においてソースボリューム701をオフラインで取得することによってこれに対するアクティビティを一時停止し、ステップ902においてターゲットボリューム703に書き込み禁止とマークして、アーカイブプロセスの間はターゲットボリュームに対するデータ更新を一時停止することができる。ステップ903において、記憶システム703は、図7を参照して説明したようにソースボリュームのフラッシュコピーを生成することができる。フラッシュコピー生成を背景プロセスとすることで、ソースボリュームの物理コピー生成を可能とすることができる。記憶システム700は、ステップ904に従って、圧縮データを保持するために圧縮エクステントプールからのデータエクステントをターゲットボリュームに割り当てることができる。また、ステップ905において、現在のアーカイバル動作でターゲットボリューム703に割り当てられている圧縮エクステントを示すようにボリューム構造を更新することができる。ステップ906において、記憶システム700は、ソースボリュームのフラッシュコピー702内の各データトラックを圧縮して圧縮データページセットとし、この圧縮データページをターゲットボリュームに記憶することができるステップ907。ブロック908からブロック906へのループバックによって示すように、圧縮は1ストライド分のデータを圧縮するまで継続することができ、その後でシステムはデータをデステージして、デステージペナルティを回避する。記憶システム700は、フラッシュコピーからの1ストライド分のデータを圧縮した後、ステップ909に従ってこの圧縮データストライドをシステムのメモリからデステージすることができる。圧縮プロセスの間、記憶システム700は、フラッシュコピーからの圧縮データを全て収容するために必要に応じて圧縮エクステントプールから追加のエクステントを割り当てることができる。いったんフラッシュコピーの全データが圧縮されて記憶システムのメモリからデステージされると、記憶システム700は、ステップ910に従って、ソースボリュームに関連付けた非圧縮データエクステントの割り当てを解除し、これらのエクステントを非圧縮データエクステントプールに戻すことができる。図10は、本開示の例示的な実施形態による、図9のステップ906に従った、ソースボリュームのフラッシュコピーからデータを圧縮するためのプロセスのフローチャートを示す。このプロセスはステップ101において開始することができ、ここで記憶システム700は、フラッシュコピー804から圧縮エンジンに1つのデータトラック805を渡す。一例として、各データトラックは64Kバイトのサイズであり、圧縮エンジンはLZW圧縮エンジンとすることができる。ステップ102に従って、LZW圧縮エンジンは各データトラックを2ページに圧縮することができ、ここで各ページは4Kバイトの圧縮データを含む。次いでステップ103において、記憶システム700は圧縮データページをターゲットボリュームにコピーすることができる。ステップ104において判定されるように、いったん1ストライド分のソースボリュームデータが圧縮されてターゲットボリュームに記憶されると、記憶システム700はステップ105に従って、システムのメモリからこのストライドの圧縮データをデステージする。さもなければ、ステップ102までのループバックによって、ストライド内のトラックデータ圧縮が継続する。いったん1つのストライドがデステージされると、ステップ106に従って、記憶システム700は次のストライドのデータトラックを圧縮することができる。フラッシュコピーによって取り込まれたソースボリュームデータが全て圧縮されてターゲットボリュームに記憶されるまで、データ圧縮プロセスは継続する。図11は、圧縮データを保持するボリュームからアーカイブしたデータをリストアするためのプロセスの例示的な実施形態を示す。図示したプロセスは、記憶管理ソフトウェアの一部として動作することができる。データリストアプロセスにおいて、アーカイブしたデータを保持するボリュームをソースボリュームと称し、リストアし展開したデータを保持するボリュームをターゲットボリュームと称する。このプロセスはステップ111において、オペレータまたは記憶管理ソフトウェアが、図6~図10を参照して上述したアーカイブプロセスに従って以前にアーカイブされたデータボリュームをリストアするためのコマンドを発することで開始することができる。リストア動作の間、記憶システム700は圧縮データを保持するソースボリュームをオンライン状態に保持することができるが、ステップ112で示すように、背景コピー生成によってボリュームからの読み取りおよびボリュームへの書き込みを可能とするだけである。これによって背景コピー生成を実行することができるが、復元動作の間にホストがソースボリューム上のデータを変更することを防止する。ステップ113において、記憶システム700は、展開データを保持することになるターゲットボリュームを書き込み禁止とマークして、復元動作の間はターゲットボリュームに対する全てのデータ更新を一時停止することができる。ステップ114において、記憶システム700は、圧縮データを保持しているソースボリュームのフラッシュコピーを生成することができる。フラッシュコピー生成を背景プロセスとして、ソースボリュームの物理コピーの生成を可能とすることができる。フラッシュコピー生成は、ステップ115に従って非圧縮エクステントプールから復元データを保持することになるターゲットボリュームへとデータエクステントを割り当てること、および、ステップ116に従ってターゲットボリュームに割り当てたエクステントを示すエクステントリストを更新することを含むことができる。次いでステップ117において、記憶システム700はフラッシュコピー内の各ページセットを展開することができ、これは元のデータトラックまで戻ると元のトラックからの圧縮データを含む。このデータ展開は、展開エンジンによってLZW展開技法に基づいて実行することができる。記憶システム700は、展開したデータトラックをターゲットボリュームに記憶してステップ118、フラッシュコピーから次の圧縮データページセットを処理することができる。デステージペナルティを最小限に抑えるため、記憶システム700は、ステップ119において判定を行いステップ117にループバックすることによってソースボリュームからの1ストライド分のデータの展開を続け、その後でストライド内の展開データをデステージすることができるステップ120。いったんソースボリューム内の全ての圧縮データページセットが展開されてターゲットボリュームに記憶されると、記憶システム700はステップ121に従って、圧縮データを保持するデータエクステントの割り当てを解除し、それらをシステムに戻すことができる。図12は、本開示の態様を与えるために、図1のコンピューティング環境において使用可能である代表的なコンピュータシステムのブロック図を示す。データ処理システム130は、プロセッサユニット131、メモリユニット132、永続記憶装置133、通信ユニット134、入出力ユニット135、ディスプレイ136、およびシステムバス137を含む。コンピュータプログラムは、メモリユニット132で動作しているオペレーティングシステム図示せずによる実行のために必要となるまで、典型的に永続記憶装置133に記憶されている。その際には、プログラムはメモリユニット132に呼び出されて、プロセッサユニット131によって直接アクセスすることが可能となる。プロセッサユニット131は、読み取りまたは書き込みあるいはその両方の要求と共にプロセッサ131がメモリ132に与えるアドレスを用いて、読み取りまたは書き込みあるいはその両方のためにメモリユニット132の一部を選択する。通常、あるアドレスにおける符号化命令の読み取りおよび解釈によって、プロセッサ131は、以降のアドレスまたは何らかの他のアドレスのいずれかで、それに続く命令をフェッチする。プロセッサユニット131、メモリユニット132、永続記憶装置133、通信ユニット134、入出力ユニット135、およびディスプレイ136は、システムバス137を介して相互にインタフェースする。当業者には認められるであろうが、本開示の態様は、方法、システム、またはコンピュータプログラムとして具現化することができる。従って、本開示の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態ファームウェア、常駐ソフトウェア、マイクロコード等を含む、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態を取ることができ、それらは全て本明細書において、回路、モジュール、またはシステムと一般的に称することができる。更に、本発明の態様は、具現化されたコンピュータ使用可能プログラムコードを有する1つ以上のコンピュータ読み取り可能媒体において具現化されるコンピュータプログラムの形態を取ることも可能である。1つ以上のコンピュータ読み取り可能媒体のあらゆる組み合わせを利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は例えば、限定ではないが、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、または前述のもののいずれかの適切な組み合わせとすることができる。コンピュータ読み取り可能記憶媒体の更に具体的な例非網羅的な列挙は、以下を含む。すなわち、1本以上のワイヤを含む電気的接続、携帯型コンピュータディスケット、ハードディスク、ランダムアクセスメモリRAM、読み取り専用メモリROM、電気的プログラマブル読み取り専用メモリEPROMまたはフラッシュメモリ、光ファイバ、携帯型コンパクトディスク読み取り専用メモリCD-ROM、光記憶デバイス、磁気記憶デバイス、または前述のもののいずれかの適切な組み合わせである。この文書の文脈において、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを含有または記憶することが可能ないずれかのタンジブルな媒体とすることができる。コンピュータ読み取り可能信号媒体は、例えばベースバンドにおいてまたは搬送波の一部として、具現化されたコンピュータ読み取り可能プログラムコードを有する伝播データ信号を含むことができる。かかる伝播信号は様々な形態のいずれかを取ることができ、それらは限定ではないが、電磁、光、またはそれらのいずれかの適切な組み合わせを含む。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体でないが、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを伝達、伝播、または転送することが可能ないずれかのコンピュータ読み取り可能媒体とすることができる。コンピュータ読み取り可能媒体上で具現化されるプログラムコードは、限定ではないが、無線、有線、光ファイバケーブル、RF等、または前述のもののいずれかの適切な組み合わせを含むいずれかの適切な媒体を用いて伝送することができる。本開示の態様の動作を実行するためのコンピュータプログラムコードは、JavaR、SmalltalkR、C等のオブジェクト指向プログラミング言語、および、Cプログラミング言語または同様のプログラミング言語等の従来の手順プログラミング言語を含む1つ以上のプログラミング言語のいずれかの組み合わせにおいて記述することができる。プログラムコードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェアパッケージとして、部分的にユーザのコンピュータ上でおよび部分的に遠隔コンピュータ上で、または全体的に遠隔コンピュータもしくはサーバ上で、実行することができる。後者の場合、遠隔コンピュータは、ローカルエリアネットワークLANまたはワイドエリアネットワークWAN、イーサネット、SCSI、iSCSI、ファイバチャネル、イーサネット上ファイバチャネル、およびインフィニバンドを含むいずれかのタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、例えばインターネットサービスプロバイダを用いてインターネットを介して外部コンピュータに対して行うことができる。本開示の実施形態に従った方法、装置システム、およびコンピュータプログラムのフローチャート図またはブロック図あるいはその両方を参照して、本開示の態様について記載している。フローチャート図またはブロック図あるいはその両方の各ブロックならびにフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせは、コンピュータプログラム命令によって実施可能であることは理解されよう。これらのコンピュータプログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供されて機械を生成することができ、これによって、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するための手段を生成するようになっている。また、これらのコンピュータプログラム命令はコンピュータ読み取り可能媒体に記憶することができ、これによって、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスに特定の方法で機能するように指示することができ、これにより、コンピュータ読み取り可能媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施する命令手段を含む製造品を生成するようになっている。また、コンピュータプログラム命令を、コンピュータ、他のプログラマブルデータ処理装置、または他のデバイスにロードして、そのコンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することができ、これによって、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するためのプロセスを提供するようになっている。上述した図面におけるフローチャートおよびブロック図は、本開示の様々な実施形態に従ったシステム、方法、およびコンピュータプログラムにおいて可能な実施のアーキテクチャ、機能性、および動作を示す。この点で、フローチャートまたはブロック図における各ブロックは、規定された論理機能複数の機能を実施するための1つ以上の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。また、いくつかの代替的な実施において、ブロックに明記した機能は、図面に明記した順序どおりでなく発生する場合があることに留意すべきである。例えば、関与する機能性に応じて、連続して示した2つのブロックは実際には実質的に同時に実行されることがあり、またはブロックは時に逆の順序で実行される場合がある。また、ブロック図またはフローチャートあるいはその両方の各ブロック、およびブロック図またはフローチャートあるいはその両方におけるブロックの組み合わせは、特殊目的ハードウェアおよびコンピュータ命令の規定された機能もしくは行為または組み合わせを実行する特殊目的ハードウェアベースのシステムによって実施可能であることに留意すべきである。上述した主題は、一例としてのみ与えたものであり、限定として解釈すべきではない。当業者によって、以下の特許請求の範囲に定義した本開示の精神および範囲から逸脱することなく、説明したコンポーネントおよび動作の様々な変更および置換を実施することができ、その範囲は、かかる変更および均等な構造を包含するように最も広い解釈を与えるものとする。当業者に認められるように、本明細書に記載したシステム、方法、および手順は、プログラマブルコンピュータ、コンピュータ実行可能ソフトウェア、またはデジタル回路において具現化することができる。ソフトウェアはコンピュータ読み取り可能媒体に記憶することができる。例えば、コンピュータ読み取り可能媒体は、フレキシブルディスク、RAM、ROM、ハードディスク、着脱可能媒体、フラッシュメモリ、メモリスティック、光媒体、光磁気媒体、CD-ROM等を含むことができる。