(57)【特許請求の範囲】
【請求項１】
ＲＡＩＤ−５コンフィギュレーションを利用する記憶システム中のデータをアーカイブするためのコンピュータ実施方法であって、
第１の記憶ボリュームがオフラインである間に、前記第１の記憶ボリュームにおいてデータの第１のフラッシュ・コピーを生成するステップであって、前記第１のフラッシュ・コピーは、データの１以上のトラックを含む１ストライド分のデータを含み、前記データは古いパリティを含む、前記生成するステップと、
前記１ストライド分の前記データの全トラックを圧縮するステップであって、前記全トラックがデータ・ページ・セットに圧縮される、前記圧縮するステップと、
前記圧縮された１スライド分の前記データの全トラックをデステージするステップと、
前記データ及び前記古いパリティを使用すること無しに、前記圧縮された１スライド分の前記データの全トラックから新しいパリティを計算するステップと、
前記圧縮データ・ページ・セットを第２の記憶ボリュームに記憶するステップと、
前記第２の記憶ボリューム内の前記記憶された前記圧縮されたデータ・ページ・セットを元のトラックへと展開するステップであって、
前記第２の記憶ボリュームにおいて圧縮データの第２のフラッシュ・コピーを生成するステップであって、前記第２のフラッシュ・コピーが前記圧縮データ・ページ・セットを含み、各ページ・セットが前記第１の記憶ボリュームにおける非圧縮データ・トラックに対応する、前記生成するステップと、
前記第２のフラッシュ・コピーにおける各ページ・セット内のデータを、対応する展開データ・トラックに展開するステップと、
前記展開データ・トラックを前記１スライド分の前記データの全トラックとして前記第１の記憶ボリュームにデステージして、記憶するステップと
を含む、前記展開するステップと
を含む、前記方法。
【請求項２】
前記第１のフラッシュ・コピーが背景動作において生成される、請求項１に記載の方法。
【請求項３】
第１のフラッシュ・コピーを生成するステップが、
前記第２の記憶ボリュームを書込み禁止にするステップと、
前記第２の記憶ボリュームに、圧縮データ・エクステントのプールからデータ・エクステントを割り当てるステップと、
前記割り当てられたデータ・エクステント内に前記圧縮データを記憶するための空き空間が存在しない場合、前記圧縮データ・エクステント・プールから新しいデータ・エクステントを割り当てるステップと
を含む、請求項１又は２に記載の方法。
【請求項４】
前記圧縮データ・エクステントが前記第２の記憶ボリュームに割り当てられたことを示すようにボリューム構造を更新するステップを更に含む、請求項３に記載の方法。
【請求項５】
前記第１のフラッシュ・コピー内のデータが、ＬＺＷ（Lempel-Ziv-Welch）圧縮を用いて圧縮され、前記アーカイブされたデータが、ＬＺＷ（Lempel-Ziv-Welch）展開を用いて展開される、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
圧縮対象のデータが前記第１のフラッシュ・コピー内に存在しない場合、前記圧縮対象のデータを前記第１の記憶ボリュームから読み出すステップを更に含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
前記第２の記憶ボリュームに割り当てた非使用のエクステントの割り当てを解除するステップを更に含む、請求項３に記載の方法。
【請求項８】
前記第２のフラッシュ・コピーを生成するステップが、
前記第１のボリュームを書込み禁止にするステップと、
前記第１のボリュームに、非圧縮データ・エクステントのプールからデータ・エクステントを割り当てるステップと、
前記割り当てたデータ・エクステント内に前記非圧縮データを記憶するための空き空間が存在しない場合、前記非圧縮データ・エクステント・プールから新しいデータ・エクステントを割り当てるステップと
を含む、請求項１〜７のいずれか一項に記載の方法。
【請求項９】
前記第１の記憶ボリュームに割り当てた非使用のエクステントの割り当てを解除するステップを更に含む、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
展開対象のデータが前記第２のフラッシュ・コピー内に存在しない場合、前記展開対象のデータを前記第２の記憶ボリュームから読み出すステップを更に含む、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
ＲＡＩＤ−５コンフィギュレーションを利用してデータをアーカイブするためのシステムであって、
アーカイブ対象のデータを有する第１の記憶ボリュームと、
前記第１の記憶ボリュームがオフラインである間に、前記第１の記憶ボリュームにおいてデータの第１のフラッシュ・コピーを生成するようにコンフィギュレーションされた第１の論理コンポーネントであって、前記第１のフラッシュ・コピーは、データの１以上のトラックを含む１ストライド分のデータを含み、前記データは古いパリティを含む、前記第１の論理コンポーネントと、
前記１ストライド分の前記データの全トラックを圧縮するようにコンフィギュレーションされた第２の論理コンポーネントであって、前記全トラックがデータ・ページ・セットに圧縮される、前記第２の論理コンポーネントと、
前記圧縮された１スライド分の前記データの全トラックをデステージするようにコンフィギュレーションされた第３の論理コンポーネントと、
前記データ及び前記古いパリティを使用すること無しに、前記圧縮された１スライド分の前記データの全トラックから新しいパリティを計算するようにコンフィギュレーションされた第４の論理コンポーネントと、
前記圧縮データ・ページ・セットを第２の記憶ボリュームに記憶するようにコンフィギュレーションされた第５の論理コンポーネントと、
前記第２の記憶ボリューム内の前記記憶された前記圧縮されたデータ・ページ・セットを元のトラックへと展開するようにコンフィギュレーションされた第６の論理コンポーネントであって、
前記第２の記憶ボリュームにおいて圧縮データの第２のフラッシュ・コピーを生成するようにコンフィギュレーションされた第７の論理コンポーネントであって、前記第２のフラッシュ・コピーが前記圧縮データ・ページ・セットを含み、各ページ・セットが前記第１の記憶ボリュームにおける非圧縮データ・トラックに対応する、前記第７の論理コンポーネントと、
前記第２のフラッシュ・コピーにおける各ページ・セット内のデータを、対応する展開データ・トラックに展開するようにコンフィギュレーションされた第８の論理コンポーネントと、
前記展開データ・トラックを前記１スライド分の前記データの全トラックとして前記第１の記憶ボリュームにデステージして、記憶するようにコンフィギュレーションされた第８の論理コンポーネントステップと
を含む、前記第６の論理コンポーネントと
を含む、前記システム。
【請求項１２】
第１のフラッシュ・コピーを生成するようにコンフィギュレーションされた第１の論理コンポーネントが、
前記第２の記憶ボリュームを書込み禁止にするようにコンフィギュレーションされた第９の論理コンポーネントと、
前記第２の記憶ボリュームに、圧縮データ・エクステントのプールからデータ・エクステントを割り当てるようにコンフィギュレーションされた第１０の論理コンポーネントと、
前記割り当てられたデータ・エクステント内に前記圧縮データを記憶するための空き空間が存在しない場合、前記圧縮データ・エクステント・プールから新しいデータ・エクステントを割り当てるようにコンフィギュレーションされた第１１の論理コンポーネントと
を含む、請求項１１に記載のシステム。
【請求項１３】
前記圧縮データ・エクステントが前記第２の記憶ボリュームに割り当てられたことを示すようにボリューム構造を更新するようにコンフィギュレーションされた第１２の論理コンポーネントを更に含む、請求項１２に記載のシステム。
【請求項１４】
前記第１のフラッシュ・コピー内のデータが、ＬＺＷ（Lempel-Ziv-Welch）圧縮を用いて圧縮され、前記アーカイブされたデータが、ＬＺＷ（Lempel-Ziv-Welch）展開を用いて展開される、請求項１１〜１３のいずれか一項に記載のシステム。
【請求項１５】
圧縮対象のデータが前記第１のフラッシュ・コピー内に存在しない場合、前記圧縮対象のデータを前記第１の記憶ボリュームから読み出すようにコンフィギュレーションされた第１３の論理コンポーネントを更に含む、請求項１１〜１４のいずれか一項に記載のシステム。
【請求項１６】
前記第２の記憶ボリュームに割り当てた非使用のエクステントの割り当てを解除するようにコンフィギュレーションされた第１４の論理コンポーネントを更に含む、請求項１２に記載のシステム。
【請求項１７】
前記第２のフラッシュ・コピーを生成するようにコンフィギュレーションされた第７の論理コンポーネントが、
前記第１のボリュームを書込み禁止にするようにコンフィギュレーションされた第１５の論理コンポーネントと、
前記第１のボリュームに、非圧縮データ・エクステントのプールからデータ・エクステントを割り当てるようにコンフィギュレーションされた第１６の論理コンポーネントと、
前記割り当てたデータ・エクステント内に前記非圧縮データを記憶するための空き空間が存在しない場合、前記非圧縮データ・エクステント・プールから新しいデータ・エクステントを割り当てるようにコンフィギュレーションされた第１７の論理コンポーネントと
を含む、請求項１１〜１６のいずれか一項に記載のシステム。
【請求項１８】
前記第１の記憶ボリュームに割り当てた非使用のエクステントの割り当てを解除するようにコンフィギュレーションされた第１８の論理コンポーネントを更に含む、請求項１１〜１７のいずれか一項に記載のシステム。
【請求項１９】
展開対象のデータが前記第２のフラッシュ・コピー内に存在しない場合、前記展開対象のデータを前記第２の記憶ボリュームから読み出すようにコンフィギュレーションされた第１９の論理コンポーネントを更に含む、請求項１１〜１８のいずれか一項に記載のシステム。
【請求項２０】
ＲＡＩＤ−５コンフィギュレーションを利用する記憶システム中のデータをアーカイブするためのコンピュータ・プログラムであって、コンピュータに、請求項１〜１０のいずれか一項に記載の方法の各ステップを実行させる、前記コンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般にデータ記憶システムに関し、更に具体的には記憶システムにおけるデータのアーカイブおよびリストアに関する。
【背景技術】
【０００２】
多くの場合、データ記憶ディスク・システムのユーザは、使用頻度の低いデータをテープ記憶システムにオフロードまたはアーカイブする。テープ・システムの方が、データ・ユニット当たりの容量がはるかに大きくコストが低いからである。ユーザがアーカイブしたデータに再びアクセスする必要がある場合、テープ・アーカイブ・ライブラリ・システムは、アーカイブしたデータを含むテープ・カートリッジをシステムに装填し、このテープ・カートリッジからアーカイブしたデータをリストアする。かかるテープ・アーカイブ・プロセスでは、データが必要な場合にディスク記憶装置においてデータを容易に利用できないので、所望のデータにアクセスする際に遅延が生じる場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
データ・ユニット当たりのディスク記憶装置のコストが低下を続けているので、ディスク記憶装置はデータ・アーカイブのための魅力的な媒体になりつつある。多くの場合、ディスクを用いる現在のデータ・アーカイブ・ソリューションはデータ圧縮および展開に関連して著しい量のメタデータを有し、これがシステム性能に影響を及ぼす。更に、メタデータによってシステムにおける記憶管理機能の実施が複雑となる。
【０００４】
他に使用可能な技術である「遠隔コピー」は、遠隔記憶設備においてデータを複製することによってアーカイブを行う。遠隔コピーでは、メインまたはローカル設備の記憶デバイスにデータが書き込まれるかまたは更新されるたびに、ローカル記憶設備から遠隔記憶設備にデータを転送する。しかしながら、遠隔コピーは、バックアップおよびリストア技術の実施と共に、セキュリティおよびデータ回復管理の分野において更に別の問題を生じる。
【課題を解決するための手段】
【０００５】
本開示は、フラッシュ・コピーおよびデータ圧縮に基づいた、記憶システムにおけるデータのアーカイブおよび検索に関する。本開示の１つの態様は、データをアーカイブするためのシステムに関する。これは、第１の（ソース）ボリュームと、第１のボリュームがオフラインである間に第１のボリュームにおいてデータのフラッシュ・コピーを生成するための論理コンポーネントと、第１のフラッシュ・コピー内の各データ・トラックを圧縮データ・ページ・セットに圧縮するための論理コンポーネントと、を含むことができる。このシステムは、圧縮データ・ページを記憶システムにおける第２の（ターゲット）ボリュームに記憶することができる。フラッシュ・コピー生成は背景動作とすることができる。
【０００６】
一実施形態において、このシステムは、必要に応じて圧縮データ・エクステントのプールからデータ・エクステントを第２のボリュームに割り当て、エクステントが第２のボリュームに割り当てられたことを示すようにボリューム構造を更新することができる。このシステムは更に、後にユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、第２のボリュームのフラッシュ・コピーを用いてデータを伸張することができる。
【０００７】
本開示の別の態様は、フラッシュ・コピー生成を用いてデータをアーカイブし検索するためのコンピュータ実施方法に関する。この方法は、記憶システム内の第１の（ソース）ボリュームがオフラインである間に、第１のボリュームにおいてデータのフラッシュ・コピーを生成することと、フラッシュ・コピー内のデータを圧縮することであって、各データ・トラックが圧縮データ・ページ・セットに圧縮される、ことと、を含む。この方法は、圧縮データ・ページを記憶システム内の第２の（ターゲット）ボリュームに記憶することができる。フラッシュ・コピーは背景プロセスにおいて生成することができる。
【０００８】
一実施形態において、この方法は、必要に応じて圧縮データ・エクステントのプールからデータ・エクステントを第２のボリュームに割り当て、エクステントが第２のボリュームに割り当てられたことを示すようにボリューム構造を更新することができる。この方法は更に、ユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、第２のボリュームのフラッシュ・コピーを用いてこのボリュームからのデータを伸張することによって、アーカイブしたデータをリストアすることができる。
【０００９】
本開示の更に別の態様は、フラッシュ・コピー生成を用いてデータをアーカイブし検索するためのコンピュータ・プログラムに関する。このコンピュータ・プログラムは、具現化されたコンピュータ読み取り可能プログラム・コードを有するコンピュータ読み取り可能記憶媒体を含む。このプログラム・コードは、記憶システムの第１の（ソース）ボリュームがオフラインである間に、第１の記憶ボリュームにおいてデータのフラッシュ・コピーを生成し、フラッシュ・コピー内のデータを圧縮し、各データ・トラックが圧縮データ・ページ・セットに圧縮されるようにコンフィギュレーションすることができる。このプログラム・コードは、更に、圧縮データ・ページを第２の（ターゲット）記憶ボリュームに記憶し、フラッシュ・コピーを背景において生成することができる。
【００１０】
一実施形態において、プログラムは、必要に応じて圧縮データ・エクステントのプールからデータ・エクステントを第２のボリュームに割り当て、エクステントが第２のボリュームに割り当てられたことを示すようにボリューム構造を更新するようにコンフィギュレーションされたプログラム・コードを含むことができる。更に、プログラム・コードは、ユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、第２のボリュームのフラッシュ・コピーを用いてこのボリュームからのデータを伸張することによって、アーカイブしたデータをリストアするようにコンフィギュレーションすることができる。
【００１１】
本開示の好適な実施形態の詳細は、その構造および動作の双方に関して、以下の「発明を実施するための形態」において添付図面を参照して説明する。「課題を解決するための手段」は、特許請求した主題の重要な特徴を特定することを意図しており、特許請求した主題の範囲を限定することは意図していない。
【図面の簡単な説明】
【００１２】
【図１】本開示の態様を提供することができるホスト・コンピュータ、ネットワーク、および記憶システムの例示的なコンフィギュレーションを示す。
【図２】本開示の態様を提供するために使用可能である代表的なデータ記憶システムのコンポーネントのブロック図を示す。
【図３】本開示の態様を提供するために使用可能であるＲＡＩＤ記憶装置コンフィギュレーションの一例を示す。
【図４】本開示の一実施形態に従った、ディスク・アレイ（ＲＡＩＤ）記憶システムが提供するデータ・エクステントから割り当てられた論理データ・ボリュームの一例を示す。
【図５】記憶システムにおけるデータ記憶ボリュームの一例を示す。
【図６】本開示の例示的な実施形態に従った、ソース・ボリュームからターゲット・ボリュームにアーカイブされるデータを示す。
【図７】本開示の例示的な実施形態に従った、ソース・ボリューム・データのターゲット・ボリュームへのアーカイブに関する詳細を更に示す。
【図８】本開示の例示的な実施形態に従った、ソース・ボリュームのデータ・トラックと、ソース・ボリューム・データのフラッシュ・コピーと、ターゲット・ボリュームに記憶された圧縮データ・ページとの関係を示す。
【図９】本開示の一実施形態に従った、記憶システムにデータをアーカイブするための例示的なプロセスのフローチャートである。
【図１０】本開示の一実施形態に従った、ソース・データ・ボリュームのフラッシュ・コピーからデータを圧縮するための例示的なプロセスのフローチャートである。
【図１１】本開示の一実施形態に従った、圧縮データを保持するボリュームからアーカイブしたデータをリストアするための例示的なプロセスのフローチャートである。
【図１２】本開示の態様を提供するためのコンピューティング環境において使用可能である代表的なコンピュータ・システムのブロック図である。
【発明を実施するための形態】
【００１３】
本開示の実施形態は、アーカイブするデータのフラッシュ・コピーを圧縮し、この圧縮データをターゲット・データ・ボリュームに記憶することによって、記憶システムにデータをアーカイブすることに関する。実施形態は更に、逆のプロセスにおいて圧縮データのフラッシュ・コピーを伸張することによってアーカイブしたデータをリストアすることに関する。
【００１４】
データ記憶システム
ここで図面、特に図１を参照すると、本開示の態様を実施可能であるコンピューティング環境の一例が示されている。図１のコンピューティング環境は、一例としてのみ提示したものであり、限定は意図していない。本明細書に開示するデータ・アーカイブ・システムおよび方法は、図１におけるコンフィギュレーションの他に、多種多様な異なるコンピュータ、サーバ、記憶システム、およびネットワーク・アーキテクチャに適用可能である。例示したコンフィギュレーションは、コンピュータ・ネットワーク１１を介して１つ以上のホスト・コンピュータ１２にアクセスする多数のクライアント・コンピュータ１０を含むことができる。コンピュータ・ネットワーク１１は、ワイド・エリア・ネットワーク（ＷＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、プライベート・イントラネット、またはインターネットとすることができる。ホスト・コンピュータ１２は、様々なプログラムを実行するためのＣＰＵ（中央演算処理装置）およびメモリを含み、これによって様々なコンピューティング機能をクライアント・コンピュータ１０に提供する。ホスト１２は、ウェブ・サービスおよびデータベース・アプリケーション等のコンピューティング・サービスを提供するためのアプリケーションを動作させるサーバを含むことができる。
【００１５】
ホスト・コンピュータ１２は更に、記憶エリア・ネットワーク（ＳＡＮ）、ＬＡＮ（ローカル・エリア・ネットワーク）、ファイバ・チャネル・インタフェース、または他のホスト・インタフェース・プロトコル等のネットワーク１４を介して１つ以上の記憶システム１５に接続することができる。ＳＡＮは、ファイバ・チャネル（ＦＣ）、ＥＳＣＯＮ（Enterprise Systems Connection）、ＳＣＳＩ（Small Computer Systems Interface）、インターネットＳＣＳＩ（ｉＳＣＳＩ）、ＳＳＡ（Serial Storage Architecture）、ＨＩＰＰＩ（High Performance Parallel Interface）、または同様の機能を有する他のプロトコル等、サーバと記憶リソースとの間の専用の高性能ネットワークである。データ記憶システム１５は、ハード・ディスク・ドライブ、固体ドライブ、ハード・ディスク・ドライブまたは固体ドライブのアレイ、テープ・ドライブ、テープ・ライブラリ、ＣＤ−ＲＯＭライブラリ等を含むことができる。更に、データ記憶システム１５は、固体記憶装置の一次レベル、ディスク記憶装置の二次レベル、およびテープ・ライブラリの三次レベル等、多数のレベルを含むことができる。
【００１６】
ユーザおよびコンピュータ・プログラムは、ホスト１２および記憶システム１５上で動作している様々なデータ処理アプリケーションおよび記憶管理ソフトウェアを用いて、記憶システム１５にデータを記憶し、そこからデータを検索することができる。記憶管理ソフトウェアは、様々な機能の中でも特に、データ・ボリュームの割り当て、データ・バックアップ、リストア、コピー、回復、マイグレーション、およびデータ・アーカイブ等、記憶システム１５にデータを管理するためのユーティリティを提供することができる。
【００１７】
図２は例示的なディスク記憶システム２００を示す。これは、ホスト・コンピュータ１２からのディスク（ＤＡＳＤ）２０８に対するデータ読み取りおよび書き込みの要求を処理するようにコンフィギュレーションされた記憶コントローラ２０１を含む。記憶システム２００の一例は、ＩＢＭ  ＤＳ８０００（ＴＭ）エンタープライズ記憶システムである。ＤＳ８０００（ＴＭ）は、高性能かつ大容量の記憶コントローラであり、連続的な動作をサポートするように設計されたディスク記憶装置を提供する。記憶コントローラ２０１は、ホスト・コンピュータ１２とインタフェースするホスト・アダプタ２０２と、ディスク２０８等の接続された記憶デバイスとインタフェースするデバイス・アダプタ２０７と、を含むことができる。ホスト・アダプタ２０２は、ファイバ・チャネル（ＦＣ）、ファイバ・チャネル・アービトレーション・ループ（ＦＣ−ＡＬ）、ｉＳＣＳＩ等の様々なホスト−デバイス・インタフェース・プロトコルをサポートすることができる。
【００１８】
記憶コントローラ２０１は、コントローラ２０１の動作を制御するためおよびコントローラにおいてデータを操作するための１つ以上のプロセッサ２０３と、データを一時的に記憶するための１つ以上のキャッシュ・メモリ２０４と、プログラムおよびデータを保持するための１つ以上のメモリ２０５と、を用いることができる。かかるコンピュータ・プログラムは、記憶システム２００においてデータを管理するため、ならびにホスト・コンピュータ１２およびデータ記憶デバイス２０８と対話するための記憶管理ソフトウェア２０６を含むことができる。記憶管理ソフトウェア２０６のデバイス・インタフェース・ソフトウェアは、記憶ディスク２０８内の論理データ・ボリュームに対する読み取りおよび書き込みの要求を管理することができる。記憶コントローラ２０１は、記憶装置仮想化実施の一部として、物理記憶ディスク２０８に記憶されたローカル・データにマッピングされている仮想ディスク・ボリュームのために内部メモリ２０５を用いることができる。
【００１９】
データの完全性を向上させるため、ディスク記憶システムは、ＲＡＩＤシステム（redundant arrays of inexpensive disks）としてコンフィギュレーションすることができる。図３は、４つのディスク・ドライブ３０１〜３０４を有する一例としてのＲＡＩＤ−５コンフィギュレーションを示す。ＲＡＩＤ−５システムは、連続データをセグメント化し、これらのデータを複数のディスク・ドライブ３０１〜３０４にわたって記憶する。４ディスク・コンフィギュレーションでは、ＲＡＩＤシステムは、データ・セグメント「Ａ１」、「Ａ２」、および「Ａ３」を３つの別個のディスク３０１〜３０３に記憶する。各セグメントは１つ以上のトラック３０５を含むが、他の分割方法も可能である。セグメントＡ１、Ａ２、およびＡ３のＸＯＲ演算を実行することによって、パリティ・データ「Ａｐ」を計算することができる。このパリティ・データはディスク３０４に記憶することができる。セグメント「Ａ１」、「Ａ２」、および「Ａ３」を「ストライドＡ」と称する。１ストライドは、ＲＡＩＤアレイがパリティを計算する対象であるトラックのセットである。ディスク３０１〜３０３の１つが故障した場合には、残りのデータおよびパリティ値を用いて、故障したディスク上のデータを再構築することができる。例えばＡ２を含むディスク３０２を紛失した場合、値Ａ１、Ａ３、およびＡｐを用いてＡ２を再構築することができる。
【００２０】
ＲＡＩＤシステムにコンフィギュレーションされたディスクでは、複数のドライブ３０１〜３０３から同時にデータへのアクセスが可能であるので、読み取り性能の高速化が可能となる。しかしながら一般に、アレイに書き込みを行う場合のオーバーヘッドが増大する。これは主にパリティ計算のためである。例えばＡ１を書き込むためには、値Ａ２、Ａ３、およびＡｐをディスク３０１〜３０４からロードする（ステージする（stage））必要があり、値Ａ１をディスク上で変更する必要があり、更にパリティ値Ａｐを再計算してディスク３０１〜３０４にデステージする（destage）必要がある。書き込みプロセスには４つのディスク動作が必要である。一方、単一のディスク動作によって、パリティ値Ａｐと共に、データの１ストライド全体（すなわちＡ１、Ａ２、およびＡ３）をディスク３０１〜３０４にデステージすることができる。これは、システムに１ストライドを書き込む場合にはディスク３０１〜３０４からデータ値もパリティ値もロードする必要がないからである。
【００２１】
データ管理
データは、直接アクセス記憶装置（ＤＡＳＤ）または磁気テープ・デバイス等の二次記憶デバイスに記憶することができ、典型的にはデータ・ボリュームとして管理することができる。ＤＡＳＤボリュームは、物理的な外観、容量、および速度が様々に異なる場合があるが、実際にデータをどのように記憶サブシステム媒体に対して書き込むかには関係なく、データ記録、データ・チェック、データ・フォーマット、およびプログラミングについては同様である。１つの論理ＤＡＳＤボリュームのデータは複数のブロックとして書き込まれる。ＤＡＳＤボリューム上の各データ・ブロックは、別個の位置および一意のアドレスを有するので、広範囲にわたる検索を行うことなく、いかなるブロックも見つけることができる。ブロックは、直接または順次、記憶し検索することができる。
【００２２】
データ管理は、コンピュータ・システムにおける全ての情報（プログラムを含む）を整理、識別、記憶、登録、および検索するオペレーティング・システムまたは記憶管理プログラムの一部である。データ管理は以下のタスクを処理することができる。
・ＤＡＳＤボリューム上の空間を保留する（割り当てる）。
・登録したデータ・セットを名前で自動的に検索する。
・テープ・ドライブに磁気テープ・ボリュームを装填する。
・アプリケーション・プログラムと記憶媒体との間の論理接続を確立する。
・データに対するアクセスを制御する。
・アプリケーション・プログラムと記憶媒体との間でデータを転送する。
・データをアーカイブし、アーカイブしたデータをリストアする。
【００２３】
情報は、全てのＤＡＳＤボリューム上において標準的なフォーマットで記録される。このフォーマットは、固定ブロック・データ、カウント・キー・データ（ＣＫＤ）、または拡張カウント・キー・データ（ＥＣＫＤ）とすることができる。各トラックは、レコード０（トラック記述子レコードまたは容量レコードとも呼ばれる）およびデータ・レコードを含む。ＤＡＳＤボリュームに書き込まれるデータ・ユニットを、レコードまたはブロックと称する。データ・ブロックは更にトラックにグループ化される。データ・トラックのグループをエクステントと称する。レコードをブロックにグループ化するプロセスをブロッキングと呼ぶ。ブロックからレコードを抽出することをアンブロッキングと呼ぶ。ブロッキングまたはアンブロッキングは、アプリケーション・プログラムまたはオペレーティング・プログラムによって実行することができる。
【００２４】
ユーザおよびアプリケーションは一般に、論理ボリュームとしての記憶システム内の記憶領域にアクセスする。ホスト・コンピュータ１２は、論理ボリュームの識別子を用いて、記憶システムからデータを読み取ったり記憶システムにデータを書き込んだりする。論理ボリュームの識別子を論理ユニット番号（「ＬＵＮ」）と称する。１つの論理ボリュームは、単一の物理記憶デバイスまたは複数の記憶デバイス内にある場合がある。図５に示すように、ディスクまたはディスク・アレイ等の単一の物理記憶ユニットは、多数の論理ボリュームを有することができる。ディスク・アレイにおいては、アレイ内のどこにデータが物理的に記憶されているかには関係なく、論理ボリュームは、ディスク・アレイに記憶されたデータに対する論理インタフェースを提供する。例えば、「ストライピング（striping）」と呼ばれる技法を用いて、ディスク・アレイにおける多数のディスクにわたってデータ・ボリュームの記憶トラックを割り当てることは一般的である。この結果、データは物理的にディスク・アレイ全体に分散するが、ホスト・システムにおけるアプリケーションは、連続ディスク・ボリュームのようなボリュームにアクセスする。
【００２５】
記憶管理ソフトウェアは、エクステントと称されるデータ記憶ユニットからデータ・ボリュームを割り当てることができる。例えば、現在のＩＢＭ  ＴｏｔａｌＳｔｏｒａｇｅ（ＴＭ）システムＤＳ８０００（ＴＭ）では、データ・エクステントは１ギガバイト（１ＧＢ）のサイズである。図４は、ＲＡＩＤシステム４０１のデータ・エクステント４０４から割り当てた一例としての論理ボリューム４０５を示す。図３を参照して説明したように、ＲＡＩＤシステム４０１は、ディスク４０２のグループを用いてコンフィギュレーションすることができる。記憶管理ソフトウェアは、エクステント・プール４０３において利用可能な（未割り当ての）エクステント４０４を維持することができ、ここからエクステント４０３のグループを論理ボリューム４０５に割り当てることができる。この割り当てを実行することができるのは、ユーザまたはアプリケーションがボリューム識別子およびボリューム・サイズを用いてボリューム４０５を割り当てるためのコマンドを発した場合である。例えば、ユーザは、３０ギガバイトのデータの論理ボリューム４０５を割り当てることができ、このためには、各々が１ギガバイトの記憶空間である３０のエクステント４０４をボリュームに割り当てる必要がある。記憶仮想化環境においては、この３０ギガバイトの記憶領域は仮想記憶装置すなわち記憶システム・メモリ内にある場合があり、必ずしもＲＡＩＤシステム４０１における実際の記憶装置の３０ギガバイトを占めるものではない。
【００２６】
データ・アーカイブ
データ・アーカイブとは、データ記憶階層における１つの記憶層から別の記憶層にデータを移す動作のことである。アーカイブしたデータを保持する記憶層は通例、データがアーカイブされた層よりも下位の階層レベルにあって、応答時間が遅く、データ・ユニット当たりのコストが低く、容量が大きい。例えばデータ・センタにおいて、データ・アーカイバルにより、使用頻度の低いデータをディスク記憶システムからテープ・ライブラリに移すことができる。データは一般にボリューム単位でアーカイブされ、アーカイバルは遠隔位置または同一データ・センタ内のサブシステムに対して行うことができる。図５は、本開示の実施形態を用いてアーカイブおよび検索することができる記憶システム５０１内のデータ記憶ボリューム５０２〜５０３の一例を示す。
【００２７】
図６は、本開示の実施形態に従ったデータ・アーカイブ動作の高レベルの図を示す。アーカイブされるデータを保持する元のデータ・ボリュームをソース・ボリュームと称し、アーカイブしたデータを保持するボリュームをターゲット・ボリュームと称する。図６に示すように、アーカイブしたターゲット・ボリューム６０４は、典型的にはソース・ボリューム６０２と同一の記憶システム６０１内にあるが、別の記憶システム内にある場合もある。例示した実施形態において、ターゲット・ボリューム６０４は、例えばディスク記憶レベル等のソース・ボリューム６０２と同一の記憶レベルとして、ディスク記憶デバイスが提供する性能の利点を生かすことができる。アーカイブされたデータは圧縮フォーマットであり、このため元の非圧縮データよりも占有する記憶空間が著しく小さい。
【００２８】
図７は、本開示の例示的な実施形態に従ったデータ・アーカイブ動作を更に詳細に示す。図示した例では、ソース・ボリューム７０１およびターゲット・ボリューム７０３は同一の記憶システム７００上にあるものとして示されているが、異なる記憶システム上にある場合もある。記憶システム７００は、ソース・ボリューム７０１においてデータのフラッシュ・コピー７０２を生成することによってデータ・アーカイバルを開始することができる。ボリュームのフラッシュ・コピーまたはスナップショット・コピーは、ボリュームに記憶されたデータの「ある時点での（point-in-time）」コピーであり、典型的には論理ディレクトリの形態である。論理ディレクトリは、物理位置すなわちボリュームのデータ・トラックにデータを関連付ける。
【００２９】
フラッシュ・コピー７０２は、フラッシュ・コピー７０２が実行された特定の時点でのソース・ボリューム７０１の画像、具体的にはソース・ボリューム７０１内のデータの配置を与える。フラッシュ・コピー７０２を用いて、コピーを実行した時点でのボリュームの状態を再構築するか、またはこれをボリューム内の現在のデータと比較することができる。フラッシュ・コピー７０２は、明確さのためにソース・ボリューム７０１とは別のエンティティとして図示し説明するが、これは記憶システム７００におけるソース・ボリューム７０１の画像であり、一般に、記憶システム７００においてソース・ボリューム７０１と異なる別の記憶領域を占有するものではない。
【００３０】
フラッシュ・コピー生成動作の間、ソース・ボリューム７０１の更新を（一般的には極めて短い時間）一時停止して、共通した時点でのソース・ボリューム・データおよびフラッシュ・コピー・データの一致したビューを与えるようにする。フラッシュ・コピー・ユーティリティは、ソース・データを含むトラックのためのポインタをソース・ボリューム７０１のトラック・テーブルからフラッシュ・コピー７０２のトラック・テーブルにコピーすることができるが、ポインタが参照する記憶デバイス上のソース・データはどれも実際には移動しない。フラッシュ・コピー生成が完了すると、ソース・ボリューム７０１におけるデータの更新を再開することができる。本開示の一実施形態では、ソース・ボリューム７０１のフラッシュ・コピー７０２を背景動作として実行することで、ソース・ボリュームの物理コピーの生成を可能とする。
【００３１】
いったんフラッシュ・コピー生成が完了すると、記憶システム７００は、ＬＺＷ（Lempel-Ziv-Welch）データ圧縮等のデータ圧縮技法を用いて、フラッシュ・コピー７０２内の各データ・トラックを圧縮データ・ページ・セット７０４に圧縮することができる。例えば記憶システム７００は、６４Ｋバイトのデータ・トラックを、各々が４Ｋバイトのサイズを有する２データ・ページに圧縮することができる。フラッシュ・コピー７０２からの各データ・トラックの結果として生じた圧縮データ・ページ・セット７０４は、ターゲット・ボリューム７０３に記憶される。図８はデータ圧縮の一例を更に詳細を示す。本開示の実施形態において、記憶システム７００は最初に、データ・エクステントを割り当てていない薄く供給した圧縮データ・ボリュームとしてターゲット・ボリュームを生成することができる。記憶システム７００は更に、ソース・ボリュームをオフラインで取得して、ソース・ボリューム・データのアーカイブの間はソース・ボリュームに対する通常のデータ読み取りおよび書き込み動作を一時停止することができる。
【００３２】
記憶システム７００は、まずターゲット・ボリューム７０３の最初から最後までこのボリューム内のデータ・トラックを読み取ることから、データ圧縮を実行することができる。読み取っているデータ・トラックがターゲット・ボリューム７０３にコピーされていない場合、そのデータのソース・ボリューム７０１が読み取り動作の対象となる。記憶システム７００は、ＬＺＷ圧縮エンジン等の圧縮エンジンを用いて、読み取ったデータ・トラックをデータ・ページ・セットに圧縮することができる。次いで記憶システム７００は、圧縮エンジンからの圧縮データ・ページをターゲット・ボリューム７０３に記憶する。
【００３３】
本開示の一実施形態においては、フラッシュ・コピー７０２内の１ストライド分のデータの全トラックが圧縮されるまでフラッシュ・コピー７０２のデータ圧縮を継続し、その後で記憶システムのメモリから圧縮データ・トラックをデステージする。各データ・トラックの圧縮後ではなく１つのストライド全体をデステージすることによって、記憶システム７００の性能に及ぼす影響を最小限に抑える。
【００３４】
１つのストライド全体をデステージすることにより、ＲＡＩＤシステムは１ストライド全体から新しいパリティを計算することができる。さもなければ、ＲＡＩＤシステムは新しいパリティを計算するために古いデータおよび古いパリティの双方を必要とすることになる。このため、１ストライド全体のデステージでは、部分的なストライドのデステージに比べて必要なドライブ動作が少ない。部分的なストライドに必要である余分なドライブ動作をデステージ・ペナルティと称する。いったん記憶システム７００がソース・ボリューム７０１内の全てのデータを圧縮し、この圧縮データをターゲット・ボリューム７０４に記憶すると、記憶システム７００はソース・ボリューム７０１のための非圧縮データ・エクステントの割り当てを解除することができる。図８は、ソース・ボリューム・データ・トラックと、フラッシュ・コピーからの圧縮データと、圧縮データの結果得られたページとの関係を示す。
【００３５】
後に、ユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、記憶システム７００は、逆のプロセスにおいてターゲット・ボリューム７０３から圧縮データ・ページ７０４を検索し、これらを元のトラックへと展開することができる。システム７００は、例えばＬＺＷデータ圧縮のような、システムがデータ圧縮のために以前に用いたものと同一の圧縮技法を用いて、元のデータ・トラックに対応する各圧縮データ・ページ・セット７０４を元のトラックへと展開することができる。圧縮プロセスと同様に、記憶システム７００は、１つのストライド内の全データ・トラックを展開した後で、記憶システムのメモリからこのストライドのデータをデステージすることができる。この１ストライド全体のデステージによって、記憶システム７００の性能に及ぼす影響を最小限に抑える。次いで記憶システム７００は展開したデータ・トラックをソース・ボリューム７０１に記憶する。データ圧縮およびデータ展開に関して更に詳しくは、図９から図１１のフローチャートを参照して以下で説明する。
【００３６】
図８は、本開示の例示的な実施形態に従った、アーカイブするソース・ボリュームからのデータ・トラックと、フラッシュ・コピー内のデータと、ターゲット・アーカイブ・ボリューム内の圧縮データ・ページとの関係を示す。一例として図８は、ソース・ボリューム８０１からのＮデータ・トラック８０２〜８０３を示し、これらはそれぞれデータ・トラック８０５および８０６としてフラッシュ・コピー８０４にコピーされる。記憶システム７００は、フラッシュ・コピー８０４からの各データ・トラックを圧縮してデータ・ページ・セットとし、これがターゲット・ボリューム８０７に記憶される。例えば、フラッシュ・コピー８０４からのトラック１データ８０５を、ターゲット・ボリューム８０７内のセット１データ・ページ８０８に圧縮することができる等となっており、これはトラックＮデータ８０６をターゲット・ボリューム８０７内のセットＮデータ・ページ８０９に圧縮するまで続く。図８は更に、セット１からセットＮのデータ・ページが圧縮データ・エクステント８１０に収まることを示す。例えば、ソース・ボリューム８０１から圧縮された全てのデータ・ページを保持するためにＭデータ・エクステントまでの追加の圧縮記憶空間が必要である場合、記憶システム７００は、図４を参照して前述したように、圧縮エクステント・プールから追加のエクステントを割り当てる。
【００３７】
図９は、本開示の例示的な実施形態に従った、ソース・データ・ボリューム内のデータをアーカイブするためのプロセスのフローチャートを示す。このプロセスはステップ９００において開始することができ、ここで記憶システム７００は、ユーザまたは記憶管理プログラムからアーカイブ・コマンドを受信する。例示した実施形態において、記憶システム７００は、ステップ９０１においてソース・ボリューム７０１をオフラインで取得することによってこれに対するアクティビティを一時停止し、ステップ９０２においてターゲット・ボリューム７０３に「書き込み禁止」とマークして、アーカイブ・プロセスの間はターゲット・ボリュームに対するデータ更新を一時停止することができる。ステップ９０３において、記憶システム７０３は、図７を参照して説明したようにソース・ボリュームのフラッシュ・コピーを生成することができる。フラッシュ・コピー生成を背景プロセスとすることで、ソース・ボリュームの物理コピー生成を可能とすることができる。記憶システム７００は、ステップ９０４に従って、圧縮データを保持するために圧縮エクステント・プールからのデータ・エクステントをターゲット・ボリュームに割り当てることができる。また、ステップ９０５において、現在のアーカイバル動作でターゲット・ボリューム７０３に割り当てられている圧縮エクステントを示すようにボリューム構造を更新することができる。
【００３８】
ステップ９０６において、記憶システム７００は、ソース・ボリュームのフラッシュ・コピー７０２内の各データ・トラックを圧縮して圧縮データ・ページ・セットとし、この圧縮データ・ページをターゲット・ボリュームに記憶することができる（ステップ９０７）。ブロック９０８からブロック９０６へのループ・バックによって示すように、圧縮は１ストライド分のデータを圧縮するまで継続することができ、その後でシステムはデータをデステージして、デステージ・ペナルティを回避する。記憶システム７００は、フラッシュ・コピーからの１ストライド分のデータを圧縮した後、ステップ９０９に従ってこの圧縮データ・ストライドをシステムのメモリからデステージすることができる。圧縮プロセスの間、記憶システム７００は、フラッシュ・コピーからの圧縮データを全て収容するために必要に応じて圧縮エクステント・プールから追加のエクステントを割り当てることができる。いったんフラッシュ・コピーの全データが圧縮されて記憶システムのメモリからデステージされると、記憶システム７００は、ステップ９１０に従って、ソース・ボリュームに関連付けた非圧縮データ・エクステントの割り当てを解除し、これらのエクステントを非圧縮データ・エクステント・プールに戻すことができる。
【００３９】
図１０は、本開示の例示的な実施形態による、図９のステップ９０６に従った、ソース・ボリュームのフラッシュ・コピーからデータを圧縮するためのプロセスのフローチャートを示す。このプロセスはステップ１０１において開始することができ、ここで記憶システム７００は、フラッシュ・コピー８０４から圧縮エンジンに１つのデータ・トラック８０５を渡す。一例として、各データ・トラックは６４Ｋバイトのサイズであり、圧縮エンジンはＬＺＷ圧縮エンジンとすることができる。ステップ１０２に従って、ＬＺＷ圧縮エンジンは各データ・トラックを２ページに圧縮することができ、ここで各ページは４Ｋバイトの圧縮データを含む。次いでステップ１０３において、記憶システム７００は圧縮データ・ページをターゲット・ボリュームにコピーすることができる。ステップ１０４において判定されるように、いったん１ストライド分のソース・ボリューム・データが圧縮されてターゲット・ボリュームに記憶されると、記憶システム７００はステップ１０５に従って、システムのメモリからこのストライドの圧縮データをデステージする。さもなければ、ステップ１０２までのループ・バックによって、ストライド内のトラック・データ圧縮が継続する。いったん１つのストライドがデステージされると、ステップ１０６に従って、記憶システム７００は次のストライドのデータ・トラックを圧縮することができる。フラッシュ・コピーによって取り込まれたソース・ボリューム・データが全て圧縮されてターゲット・ボリュームに記憶されるまで、データ圧縮プロセスは継続する。
【００４０】
図１１は、圧縮データを保持するボリュームからアーカイブしたデータをリストアするためのプロセスの例示的な実施形態を示す。図示したプロセスは、記憶管理ソフトウェアの一部として動作することができる。データ・リストア・プロセスにおいて、アーカイブしたデータを保持するボリュームをソース・ボリュームと称し、リストアし展開したデータを保持するボリュームをターゲット・ボリュームと称する。このプロセスはステップ１１１において、オペレータまたは記憶管理ソフトウェアが、図６〜図１０を参照して上述したアーカイブ・プロセスに従って以前にアーカイブされたデータ・ボリュームをリストアするためのコマンドを発することで開始することができる。リストア動作の間、記憶システム７００は圧縮データを保持するソース・ボリュームをオンライン状態に保持することができるが、ステップ１１２で示すように、背景コピー生成によってボリュームからの読み取りおよびボリュームへの書き込みを可能とするだけである。これによって背景コピー生成を実行することができるが、復元動作の間にホストがソース・ボリューム上のデータを変更することを防止する。
【００４１】
ステップ１１３において、記憶システム７００は、展開データを保持することになるターゲット・ボリュームを書き込み禁止とマークして、復元動作の間はターゲット・ボリュームに対する全てのデータ更新を一時停止することができる。ステップ１１４において、記憶システム７００は、圧縮データを保持しているソース・ボリュームのフラッシュ・コピーを生成することができる。フラッシュ・コピー生成を背景プロセスとして、ソース・ボリュームの物理コピーの生成を可能とすることができる。フラッシュ・コピー生成は、ステップ１１５に従って非圧縮エクステント・プールから復元データを保持することになるターゲット・ボリュームへとデータ・エクステントを割り当てること、および、ステップ１１６に従ってターゲット・ボリュームに割り当てたエクステントを示すエクステント・リストを更新することを含むことができる。次いでステップ１１７において、記憶システム７００はフラッシュ・コピー内の各ページ・セットを展開することができ、これは元のデータ・トラックまで戻ると元のトラックからの圧縮データを含む。このデータ展開は、展開エンジンによってＬＺＷ展開技法に基づいて実行することができる。記憶システム７００は、展開したデータ・トラックをターゲット・ボリュームに記憶して（ステップ１１８）、フラッシュ・コピーから次の圧縮データ・ページ・セットを処理することができる。
【００４２】
デステージ・ペナルティを最小限に抑えるため、記憶システム７００は、ステップ１１９において判定を行いステップ１１７にループ・バックすることによってソース・ボリュームからの１ストライド分のデータの展開を続け、その後でストライド内の展開データをデステージすることができる（ステップ１２０）。いったんソース・ボリューム内の全ての圧縮データ・ページ・セットが展開されてターゲット・ボリュームに記憶されると、記憶システム７００はステップ１２１に従って、圧縮データを保持するデータ・エクステントの割り当てを解除し、それらをシステムに戻すことができる。
【００４３】
図１２は、本開示の態様を与えるために、図１のコンピューティング環境において使用可能である代表的なコンピュータ・システムのブロック図を示す。データ処理システム１３０は、プロセッサ・ユニット１３１、メモリ・ユニット１３２、永続記憶装置１３３、通信ユニット１３４、入出力ユニット１３５、ディスプレイ１３６、およびシステム・バス１３７を含む。コンピュータ・プログラムは、メモリ・ユニット１３２で動作しているオペレーティング・システム（図示せず）による実行のために必要となるまで、典型的に永続記憶装置１３３に記憶されている。その際には、プログラムはメモリ・ユニット１３２に呼び出されて、プロセッサ・ユニット１３１によって直接アクセスすることが可能となる。プロセッサ・ユニット１３１は、読み取りまたは書き込みあるいはその両方の要求と共にプロセッサ１３１がメモリ１３２に与えるアドレスを用いて、読み取りまたは書き込みあるいはその両方のためにメモリ・ユニット１３２の一部を選択する。通常、あるアドレスにおける符号化命令の読み取りおよび解釈によって、プロセッサ１３１は、以降のアドレスまたは何らかの他のアドレスのいずれかで、それに続く命令をフェッチする。プロセッサ・ユニット１３１、メモリ・ユニット１３２、永続記憶装置１３３、通信ユニット１３４、入出力ユニット１３５、およびディスプレイ１３６は、システム・バス１３７を介して相互にインタフェースする。
【００４４】
当業者には認められるであろうが、本開示の態様は、方法、システム、またはコンピュータ・プログラムとして具現化することができる。従って、本開示の態様は、全体的にハードウェアの実施形態、全体的にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコード等を含む）、または、ソフトウェアおよびハードウェアの態様を組み合わせた実施形態という形態を取ることができ、それらは全て本明細書において、「回路」、「モジュール」、または「システム」と一般的に称することができる。更に、本発明の態様は、具現化されたコンピュータ使用可能プログラム・コードを有する１つ以上のコンピュータ読み取り可能媒体において具現化されるコンピュータ・プログラムの形態を取ることも可能である。
【００４５】
１つ以上のコンピュータ読み取り可能媒体のあらゆる組み合わせを利用することができる。コンピュータ読み取り可能媒体は、コンピュータ読み取り可能信号媒体またはコンピュータ読み取り可能記憶媒体とすることができる。コンピュータ読み取り可能記憶媒体は例えば、限定ではないが、電子、磁気、光、電磁、赤外線、または半導体のシステム、装置、デバイス、または前述のもののいずれかの適切な組み合わせとすることができる。コンピュータ読み取り可能記憶媒体の更に具体的な例（非網羅的な列挙）は、以下を含む。すなわち、１本以上のワイヤを含む電気的接続、携帯型コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）、電気的プログラマブル読み取り専用メモリ（ＥＰＲＯＭまたはフラッシュ・メモリ）、光ファイバ、携帯型コンパクト・ディスク読み取り専用メモリ（ＣＤ−ＲＯＭ）、光記憶デバイス、磁気記憶デバイス、または前述のもののいずれかの適切な組み合わせである。この文書の文脈において、コンピュータ読み取り可能記憶媒体は、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを含有または記憶することが可能ないずれかのタンジブルな媒体とすることができる。
【００４６】
コンピュータ読み取り可能信号媒体は、例えばベースバンドにおいてまたは搬送波の一部として、具現化されたコンピュータ読み取り可能プログラム・コードを有する伝播データ信号を含むことができる。かかる伝播信号は様々な形態のいずれかを取ることができ、それらは限定ではないが、電磁、光、またはそれらのいずれかの適切な組み合わせを含む。コンピュータ読み取り可能信号媒体は、コンピュータ読み取り可能記憶媒体でないが、命令実行システム、装置、またはデバイスによってまたはそれと接続して用いるためにプログラムを伝達、伝播、または転送することが可能ないずれかのコンピュータ読み取り可能媒体とすることができる。
【００４７】
コンピュータ読み取り可能媒体上で具現化されるプログラム・コードは、限定ではないが、無線、有線、光ファイバ・ケーブル、ＲＦ等、または前述のもののいずれかの適切な組み合わせを含むいずれかの適切な媒体を用いて伝送することができる。
【００４８】
本開示の態様の動作を実行するためのコンピュータ・プログラム・コードは、Ｊａｖａ（Ｒ）、Ｓｍａｌｌｔａｌｋ（Ｒ）、Ｃ＋＋等のオブジェクト指向プログラミング言語、および、「Ｃ」プログラミング言語または同様のプログラミング言語等の従来の手順プログラミング言語を含む１つ以上のプログラミング言語のいずれかの組み合わせにおいて記述することができる。プログラム・コードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的に遠隔コンピュータ上で、または全体的に遠隔コンピュータもしくはサーバ上で、実行することができる。後者の場合、遠隔コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）またはワイド・エリア・ネットワーク（ＷＡＮ）、イーサネット、ＳＣＳＩ、ｉＳＣＳＩ、ファイバ・チャネル、イーサネット上ファイバ・チャネル、およびインフィニバンドを含むいずれかのタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、例えばインターネット・サービス・プロバイダを用いてインターネットを介して外部コンピュータに対して行うことができる。
【００４９】
本開示の実施形態に従った方法、装置（システム）、およびコンピュータ・プログラムのフローチャート図またはブロック図あるいはその両方を参照して、本開示の態様について記載している。フローチャート図またはブロック図あるいはその両方の各ブロックならびにフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実施可能であることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を生成することができ、これによって、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能／行為を実施するための手段を生成するようになっている。
【００５０】
また、これらのコンピュータ・プログラム命令はコンピュータ読み取り可能媒体に記憶することができ、これによって、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の方法で機能するように指示することができ、これにより、コンピュータ読み取り可能媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能／行為を実施する命令手段を含む製造品を生成するようになっている。
【００５１】
また、コンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードして、そのコンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することができ、これによって、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能／行為を実施するためのプロセスを提供するようになっている。
【００５２】
上述した図面におけるフローチャートおよびブロック図は、本開示の様々な実施形態に従ったシステム、方法、およびコンピュータ・プログラムにおいて可能な実施のアーキテクチャ、機能性、および動作を示す。この点で、フローチャートまたはブロック図における各ブロックは、規定された論理機能（複数の機能）を実施するための１つ以上の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。また、いくつかの代替的な実施において、ブロックに明記した機能は、図面に明記した順序どおりでなく発生する場合があることに留意すべきである。例えば、関与する機能性に応じて、連続して示した２つのブロックは実際には実質的に同時に実行されることがあり、またはブロックは時に逆の順序で実行される場合がある。また、ブロック図またはフローチャートあるいはその両方の各ブロック、およびブロック図またはフローチャートあるいはその両方におけるブロックの組み合わせは、特殊目的ハードウェアおよびコンピュータ命令の規定された機能もしくは行為または組み合わせを実行する特殊目的ハードウェア・ベースのシステムによって実施可能であることに留意すべきである。
【００５３】
上述した主題は、一例としてのみ与えたものであり、限定として解釈すべきではない。当業者によって、以下の特許請求の範囲に定義した本開示の精神および範囲から逸脱することなく、説明したコンポーネントおよび動作の様々な変更および置換を実施することができ、その範囲は、かかる変更および均等な構造を包含するように最も広い解釈を与えるものとする。当業者に認められるように、本明細書に記載したシステム、方法、および手順は、プログラマブル・コンピュータ、コンピュータ実行可能ソフトウェア、またはデジタル回路において具現化することができる。ソフトウェアはコンピュータ読み取り可能媒体に記憶することができる。例えば、コンピュータ読み取り可能媒体は、フレキシブルディスク、ＲＡＭ、ＲＯＭ、ハード・ディスク、着脱可能媒体、フラッシュ・メモリ、「メモリ・スティック」、光媒体、光磁気媒体、ＣＤ−ＲＯＭ等を含むことができる。
【符号の説明】
【００５４】
１０    クライアント・コンピュータ
１１    ネットワーク
１２    ホスト・コンピュータ
１４    記憶エリア・ネットワーク
１５、２０  記憶システム
２０１  記憶コントローラ
２０２  ホスト・アダプタ
２０３  プロセッサ
２０４  キャッシュ
２０５  メモリ
２０６  記憶管理ソフトウェア
２０７  デバイス・アダプタ
３０１〜３０４  ディスク・ドライブ
３０５  トラック
【図１】
0005818207.tif 000002
【図２】
0005818207.tif 000003
【図３】
0005818207.tif 000004
【図４】
0005818207.tif 000005
【図５】
0005818207.tif 000006
【図６】
0005818207.tif 000007
【図７】
0005818207.tif 000008
【図８】
0005818207.tif 000009
【図９】
0005818207.tif 000010
【図１０】
0005818207.tif 000011
【図１１】
0005818207.tif 000012
【図１２】
0005818207.tif 000013