JP2012113704A - フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブのためのシステム、方法、コンピュータ・プログラム(フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブ) - Google Patents

フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブのためのシステム、方法、コンピュータ・プログラム(フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブ) Download PDF

Info

Publication number
JP2012113704A
JP2012113704A JP2011245048A JP2011245048A JP2012113704A JP 2012113704 A JP2012113704 A JP 2012113704A JP 2011245048 A JP2011245048 A JP 2011245048A JP 2011245048 A JP2011245048 A JP 2011245048A JP 2012113704 A JP2012113704 A JP 2012113704A
Authority
JP
Japan
Prior art keywords
data
compressed
storage volume
volume
flash copy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2011245048A
Other languages
English (en)
Other versions
JP5818207B2 (ja
Inventor
Mohan Gupta Rakesh
ロケシュ・モハン・グプタ
Thomas Benas Michael
マイケル・トーマス・ベナス
Yu-Cheng Hsu
ユ‐チェン・スー
Emilio Sanchez Alfred
アルフレッド・エミリオ・サンチェス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2012113704A publication Critical patent/JP2012113704A/ja
Application granted granted Critical
Publication of JP5818207B2 publication Critical patent/JP5818207B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1014Compression, i.e. RAID systems with parity using compression techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】フラッシュ・コピーおよびデータ圧縮に基づいた、記憶システムにおけるデータのアーカイブおよび検索の方法を提供する。
【解決手段】ソース・ボリュームにおいてデータのフラッシュ・コピーを生成し、このフラッシュ・コピー内のデータを圧縮する。各データ・トラックがデータ・ページ・セットに圧縮され、圧縮データ・ページをターゲット・ボリュームに記憶する。圧縮データ・エクステントのプールからデータ・エクステントをターゲット・ボリュームに割り当てる。各ストライド分のデータを圧縮してターゲット・ボリュームに記憶した後に、データをデステージして、デステージ・ペナルティを回避する。アーカイブしたデータが必要である場合は、ターゲット・ボリュームからのデータを伸張して各データ・ブロックをリストアする。データは、LZW(Lempel-Ziv-Welch)プロセスを用いて圧縮および展開する。
【選択図】図6

Description

本開示は、一般にデータ記憶システムに関し、更に具体的には記憶システムにおけるデータのアーカイブおよびリストアに関する。
多くの場合、データ記憶ディスク・システムのユーザは、使用頻度の低いデータをテープ記憶システムにオフロードまたはアーカイブする。テープ・システムの方が、データ・ユニット当たりの容量がはるかに大きくコストが低いからである。ユーザがアーカイブしたデータに再びアクセスする必要がある場合、テープ・アーカイブ・ライブラリ・システムは、アーカイブしたデータを含むテープ・カートリッジをシステムに装填し、このテープ・カートリッジからアーカイブしたデータをリストアする。かかるテープ・アーカイブ・プロセスでは、データが必要な場合にディスク記憶装置においてデータを容易に利用できないので、所望のデータにアクセスする際に遅延が生じる場合がある。
データ・ユニット当たりのディスク記憶装置のコストが低下を続けているので、ディスク記憶装置はデータ・アーカイブのための魅力的な媒体になりつつある。多くの場合、ディスクを用いる現在のデータ・アーカイブ・ソリューションはデータ圧縮および展開に関連して著しい量のメタデータを有し、これがシステム性能に影響を及ぼす。更に、メタデータによってシステムにおける記憶管理機能の実施が複雑となる。
他に使用可能な技術である「遠隔コピー」は、遠隔記憶設備においてデータを複製することによってアーカイブを行う。遠隔コピーでは、メインまたはローカル設備の記憶デバイスにデータが書き込まれるかまたは更新されるたびに、ローカル記憶設備から遠隔記憶設備にデータを転送する。しかしながら、遠隔コピーは、バックアップおよびリストア技術の実施と共に、セキュリティおよびデータ回復管理の分野において更に別の問題を生じる。
本開示は、フラッシュ・コピーおよびデータ圧縮に基づいた、記憶システムにおけるデータのアーカイブおよび検索に関する。本開示の1つの態様は、データをアーカイブするためのシステムに関する。これは、第1の(ソース)ボリュームと、第1のボリュームがオフラインである間に第1のボリュームにおいてデータのフラッシュ・コピーを生成するための論理コンポーネントと、第1のフラッシュ・コピー内の各データ・トラックを圧縮データ・ページ・セットに圧縮するための論理コンポーネントと、を含むことができる。このシステムは、圧縮データ・ページを記憶システムにおける第2の(ターゲット)ボリュームに記憶することができる。フラッシュ・コピー生成は背景動作とすることができる。
一実施形態において、このシステムは、必要に応じて圧縮データ・エクステントのプールからデータ・エクステントを第2のボリュームに割り当て、エクステントが第2のボリュームに割り当てられたことを示すようにボリューム構造を更新することができる。このシステムは更に、後にユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、第2のボリュームのフラッシュ・コピーを用いてデータを伸張することができる。
本開示の別の態様は、フラッシュ・コピー生成を用いてデータをアーカイブし検索するためのコンピュータ実施方法に関する。この方法は、記憶システム内の第1の(ソース)ボリュームがオフラインである間に、第1のボリュームにおいてデータのフラッシュ・コピーを生成することと、フラッシュ・コピー内のデータを圧縮することであって、各データ・トラックが圧縮データ・ページ・セットに圧縮される、ことと、を含む。この方法は、圧縮データ・ページを記憶システム内の第2の(ターゲット)ボリュームに記憶することができる。フラッシュ・コピーは背景プロセスにおいて生成することができる。
一実施形態において、この方法は、必要に応じて圧縮データ・エクステントのプールからデータ・エクステントを第2のボリュームに割り当て、エクステントが第2のボリュームに割り当てられたことを示すようにボリューム構造を更新することができる。この方法は更に、ユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、第2のボリュームのフラッシュ・コピーを用いてこのボリュームからのデータを伸張することによって、アーカイブしたデータをリストアすることができる。
本開示の更に別の態様は、フラッシュ・コピー生成を用いてデータをアーカイブし検索するためのコンピュータ・プログラムに関する。このコンピュータ・プログラムは、具現化されたコンピュータ読み取り可能プログラム・コードを有するコンピュータ読み取り可能記憶媒体を含む。このプログラム・コードは、記憶システムの第1の(ソース)ボリュームがオフラインである間に、第1の記憶ボリュームにおいてデータのフラッシュ・コピーを生成し、フラッシュ・コピー内のデータを圧縮し、各データ・トラックが圧縮データ・ページ・セットに圧縮されるようにコンフィギュレーションすることができる。このプログラム・コードは、更に、圧縮データ・ページを第2の(ターゲット)記憶ボリュームに記憶し、フラッシュ・コピーを背景において生成することができる。
一実施形態において、プログラムは、必要に応じて圧縮データ・エクステントのプールからデータ・エクステントを第2のボリュームに割り当て、エクステントが第2のボリュームに割り当てられたことを示すようにボリューム構造を更新するようにコンフィギュレーションされたプログラム・コードを含むことができる。更に、プログラム・コードは、ユーザまたはアプリケーションがアーカイブしたデータにアクセスすることが必要となった場合、第2のボリュームのフラッシュ・コピーを用いてこのボリュームからのデータを伸張することによって、アーカイブしたデータをリストアするようにコンフィギュレーションすることができる。
本開示の好適な実施形態の詳細は、その構造および動作の双方に関して、以下の「発明を実施するための形態」において添付図面を参照して説明する。「課題を解決するための手段」は、特許請求した主題の重要な特徴を特定することを意図しており、特許請求した主題の範囲を限定することは意図していない。
本開示の態様を提供することができるホスト・コンピュータ、ネットワーク、および記憶システムの例示的なコンフィギュレーションを示す。 本開示の態様を提供するために使用可能である代表的なデータ記憶システムのコンポーネントのブロック図を示す。 本開示の態様を提供するために使用可能であるRAID記憶装置コンフィギュレーションの一例を示す。 本開示の一実施形態に従った、ディスク・アレイ(RAID)記憶システムが提供するデータ・エクステントから割り当てられた論理データ・ボリュームの一例を示す。 記憶システムにおけるデータ記憶ボリュームの一例を示す。 本開示の例示的な実施形態に従った、ソース・ボリュームからターゲット・ボリュームにアーカイブされるデータを示す。 本開示の例示的な実施形態に従った、ソース・ボリューム・データのターゲット・ボリュームへのアーカイブに関する詳細を更に示す。 本開示の例示的な実施形態に従った、ソース・ボリュームのデータ・トラックと、ソース・ボリューム・データのフラッシュ・コピーと、ターゲット・ボリュームに記憶された圧縮データ・ページとの関係を示す。 本開示の一実施形態に従った、記憶システムにデータをアーカイブするための例示的なプロセスのフローチャートである。 本開示の一実施形態に従った、ソース・データ・ボリュームのフラッシュ・コピーからデータを圧縮するための例示的なプロセスのフローチャートである。 本開示の一実施形態に従った、圧縮データを保持するボリュームからアーカイブしたデータをリストアするための例示的なプロセスのフローチャートである。 本開示の態様を提供するためのコンピューティング環境において使用可能である代表的なコンピュータ・システムのブロック図である。
本開示の実施形態は、アーカイブするデータのフラッシュ・コピーを圧縮し、この圧縮データをターゲット・データ・ボリュームに記憶することによって、記憶システムにデータをアーカイブすることに関する。実施形態は更に、逆のプロセスにおいて圧縮データのフラッシュ・コピーを伸張することによってアーカイブしたデータをリストアすることに関する。
データ記憶システム
ここで図面、特に図1を参照すると、本開示の態様を実施可能であるコンピューティング環境の一例が示されている。図1のコンピューティング環境は、一例としてのみ提示したものであり、限定は意図していない。本明細書に開示するデータ・アーカイブ・システムおよび方法は、図1におけるコンフィギュレーションの他に、多種多様な異なるコンピュータ、サーバ、記憶システム、およびネットワーク・アーキテクチャに適用可能である。例示したコンフィギュレーションは、コンピュータ・ネットワーク11を介して1つ以上のホスト・コンピュータ12にアクセスする多数のクライアント・コンピュータ10を含むことができる。コンピュータ・ネットワーク11は、ワイド・エリア・ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)、プライベート・イントラネット、またはインターネットとすることができる。ホスト・コンピュータ12は、様々なプログラムを実行するためのCPU(中央演算処理装置)およびメモリを含み、これによって様々なコンピューティング機能をクライアント・コンピュータ10に提供する。ホスト12は、ウェブ・サービスおよびデータベース・アプリケーション等のコンピューティング・サービスを提供するためのアプリケーションを動作させるサーバを含むことができる。
ホスト・コンピュータ12は更に、記憶エリア・ネットワーク(SAN)、LAN(ローカル・エリア・ネットワーク)、ファイバ・チャネル・インタフェース、または他のホスト・インタフェース・プロトコル等のネットワーク14を介して1つ以上の記憶システム15に接続することができる。SANは、ファイバ・チャネル(FC)、ESCON(Enterprise Systems Connection)、SCSI(Small Computer Systems Interface)、インターネットSCSI(iSCSI)、SSA(Serial Storage Architecture)、HIPPI(High Performance Parallel Interface)、または同様の機能を有する他のプロトコル等、サーバと記憶リソースとの間の専用の高性能ネットワークである。データ記憶システム15は、ハード・ディスク・ドライブ、固体ドライブ、ハード・ディスク・ドライブまたは固体ドライブのアレイ、テープ・ドライブ、テープ・ライブラリ、CD−ROMライブラリ等を含むことができる。更に、データ記憶システム15は、固体記憶装置の一次レベル、ディスク記憶装置の二次レベル、およびテープ・ライブラリの三次レベル等、多数のレベルを含むことができる。
ユーザおよびコンピュータ・プログラムは、ホスト12および記憶システム15上で動作している様々なデータ処理アプリケーションおよび記憶管理ソフトウェアを用いて、記憶システム15にデータを記憶し、そこからデータを検索することができる。記憶管理ソフトウェアは、様々な機能の中でも特に、データ・ボリュームの割り当て、データ・バックアップ、リストア、コピー、回復、マイグレーション、およびデータ・アーカイブ等、記憶システム15にデータを管理するためのユーティリティを提供することができる。
図2は例示的なディスク記憶システム200を示す。これは、ホスト・コンピュータ12からのディスク(DASD)208に対するデータ読み取りおよび書き込みの要求を処理するようにコンフィギュレーションされた記憶コントローラ201を含む。記憶システム200の一例は、IBM DS8000(TM)エンタープライズ記憶システムである。DS8000(TM)は、高性能かつ大容量の記憶コントローラであり、連続的な動作をサポートするように設計されたディスク記憶装置を提供する。記憶コントローラ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システム(redundant arrays of inexpensive disks)としてコンフィギュレーションすることができる。図3は、4つのディスク・ドライブ301〜304を有する一例としてのRAID−5コンフィギュレーションを示す。RAID−5システムは、連続データをセグメント化し、これらのデータを複数のディスク・ドライブ301〜304にわたって記憶する。4ディスク・コンフィギュレーションでは、RAIDシステムは、データ・セグメント「A」、「A」、および「A」を3つの別個のディスク301〜303に記憶する。各セグメントは1つ以上のトラック305を含むが、他の分割方法も可能である。セグメントA、A2およびAのXOR演算を実行することによって、パリティ・データ「A」を計算することができる。このパリティ・データはディスク304に記憶することができる。セグメント「A」、「A」、および「A」を「ストライドA」と称する。1ストライドは、RAIDアレイがパリティを計算する対象であるトラックのセットである。ディスク301〜303の1つが故障した場合には、残りのデータおよびパリティ値を用いて、故障したディスク上のデータを再構築することができる。例えばAを含むディスク302を紛失した場合、値A、A、およびAを用いてAを再構築することができる。
RAIDシステムにコンフィギュレーションされたディスクでは、複数のドライブ301〜303から同時にデータへのアクセスが可能であるので、読み取り性能の高速化が可能となる。しかしながら一般に、アレイに書き込みを行う場合のオーバーヘッドが増大する。これは主にパリティ計算のためである。例えばAを書き込むためには、値A、A、およびAをディスク301〜304からロードする(ステージする(stage))する必要があり、値Aをディスク上で変更する必要があり、更にパリティ値Aを再計算してディスク301〜304にデステージする(destage)必要がある。書き込みプロセスには4つのディスク動作が必要である。一方、単一のディスク動作によって、パリティ値Aと共に、データの1ストライド全体(すなわちA、A、およびA)をディスク301〜304にデステージすることができる。これは、システムに1ストライドを書き込む場合にはディスク301〜304からデータ値もパリティ値もロードする必要がないからである。
データ管理
データは、直接アクセス記憶装置(DASD)または磁気テープ・デバイス等の二次記憶デバイスに記憶することができ、典型的にはデータ・ボリュームとして管理することができる。DASDボリュームは、物理的な外観、容量、および速度が様々に異なる場合があるが、実際にデータをどのように記憶サブシステム媒体に対して書き込むかには関係なく、データ記録、データ・チェック、データ・フォーマット、およびプログラミングについては同様である。1つの論理DASDボリュームのデータは複数のブロックとして書き込まれる。DASDボリューム上の各データ・ブロックは、別個の位置および一意のアドレスを有するので、広範囲にわたる検索を行うことなく、いかなるブロックも見つけることができる。ブロックは、直接または順次、記憶し検索することができる。
データ管理は、コンピュータ・システムにおける全ての情報(プログラムを含む)を整理、識別、記憶、登録、および検索するオペレーティング・システムまたは記憶管理プログラムの一部である。データ管理は以下のタスクを処理することができる。
・DASDボリューム上の空間を保留する(割り当てる)。
・登録したデータ・セットを名前で自動的に検索する。
・テープ・ドライブに磁気テープ・ボリュームを装填する。
・アプリケーション・プログラムと記憶媒体との間の論理接続を確立する。
・データに対するアクセスを制御する。
・アプリケーション・プログラムと記憶媒体との間でデータを転送する。
・データをアーカイブし、アーカイブしたデータをリストアする。
情報は、全てのDASDボリューム上において標準的なフォーマットで記録される。このフォーマットは、固定ブロック・データ、カウント・キー・データ(CKD)、または拡張カウント・キー・データ(ECKD)とすることができる。各トラックは、レコード0(トラック記述子レコードまたは容量レコードとも呼ばれる)およびデータ・レコードを含む。DASDボリュームに書き込まれるデータ・ユニットを、レコードまたはブロックと称する。データ・ブロックは更にトラックにグループ化される。データ・トラックのグループをエクステントと称する。レコードをブロックにグループ化するプロセスをブロッキングと呼ぶ。ブロックからレコードを抽出することをアンブロッキングと呼ぶ。ブロッキングまたはアンブロッキングは、アプリケーション・プログラムまたはオペレーティング・プログラムによって実行することができる。
ユーザおよびアプリケーションは一般に、論理ボリュームとしての記憶システム内の記憶領域にアクセスする。ホスト・コンピュータ12は、論理ボリュームの識別子を用いて、記憶システムからデータを読み取ったり記憶システムにデータを書き込んだりする。論理ボリュームの識別子を論理ユニット番号(「LUN」)と称する。1つの論理ボリュームは、単一の物理記憶デバイスまたは複数の記憶デバイス内にある場合がある。図5に示すように、ディスクまたはディスク・アレイ等の単一の物理記憶ユニットは、多数の論理ボリュームを有することができる。ディスク・アレイにおいては、アレイ内のどこにデータが物理的に記憶されているかには関係なく、論理ボリュームは、ディスク・アレイに記憶されたデータに対する論理インタフェースを提供する。例えば、「ストライピング(striping)」と呼ばれる技法を用いて、ディスク・アレイにおける多数のディスクにわたってデータ・ボリュームの記憶トラックを割り当てることは一般的である。この結果、データは物理的にディスク・アレイ全体に分散するが、ホスト・システムにおけるアプリケーションは、連続ディスク・ボリュームのようなボリュームにアクセスする。
記憶管理ソフトウェアは、エクステントと称されるデータ記憶ユニットからデータ・ボリュームを割り当てることができる。例えば、現在のIBM TotalStorage(TM)システムDS8000(TM)では、データ・エクステントは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を生成することによってデータ・アーカイバルを開始することができる。ボリュームのフラッシュ・コピーまたはスナップショット・コピーは、ボリュームに記憶されたデータの「ある時点での(point-in-time)」コピーであり、典型的には論理ディレクトリの形態である。論理ディレクトリは、物理位置すなわちボリュームのデータ・トラックにデータを関連付ける。
フラッシュ・コピー702は、フラッシュ・コピー702が実行された特定の時点でのソース・ボリューム701の画像、具体的にはソース・ボリューム701内のデータの配置を与える。フラッシュ・コピー702を用いて、コピーを実行した時点でのボリュームの状態を再構築するか、またはこれをボリューム内の現在のデータと比較することができる。フラッシュ・コピー702は、明確さのためにソース・ボリューム701とは別のエンティティとして図示し説明するが、これは記憶システム700におけるソース・ボリューム701の画像であり、一般に、記憶システム700においてソース・ボリューム701と異なる別の記憶領域を占有するものではない。
フラッシュ・コピー生成動作の間、ソース・ボリューム701の更新を(一般的には極めて短い時間)一時停止して、共通した時点でのソース・ボリューム・データおよびフラッシュ・コピー・データの一致したビューを与えるようにする。フラッシュ・コピー・ユーティリティは、ソース・データを含むトラックのためのポインタをソース・ボリューム701のトラック・テーブルからフラッシュ・コピー702のトラック・テーブルにコピーすることができるが、ポインタが参照する記憶デバイス上のソース・データはどれも実際には移動しない。フラッシュ・コピー生成が完了すると、ソース・ボリューム701におけるデータの更新を再開することができる。本開示の一実施形態では、ソース・ボリューム701のフラッシュ・コピー702を背景動作として実行することで、ソース・ボリュームの物理コピーの生成を可能とする。
いったんフラッシュ・コピー生成が完了すると、記憶システム700は、LZW(Lempel-Ziv-Welch)データ圧縮等のデータ圧縮技法を用いて、フラッシュ・コピー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等、または前述のもののいずれかの適切な組み合わせを含むいずれかの適切な媒体を用いて伝送することができる。
本開示の態様の動作を実行するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++等のオブジェクト指向プログラミング言語、および、「C」プログラミング言語または同様のプログラミング言語等の従来の手順プログラミング言語を含む1つ以上のプログラミング言語のいずれかの組み合わせにおいて記述することができる。プログラム・コードは、全体的にユーザのコンピュータ上で、部分的にユーザのコンピュータ上で、スタンドアロンのソフトウェア・パッケージとして、部分的にユーザのコンピュータ上でおよび部分的に遠隔コンピュータ上で、または全体的に遠隔コンピュータもしくはサーバ上で、実行することができる。後者の場合、遠隔コンピュータは、ローカル・エリア・ネットワーク(LAN)またはワイド・エリア・ネットワーク(WAN)、イーサネット、SCSI、iSCSI、ファイバ・チャネル、イーサネット上ファイバ・チャネル、およびインフィニバンドを含むいずれかのタイプのネットワークを介してユーザのコンピュータに接続することができ、または、接続は、例えばインターネット・サービス・プロバイダを用いてインターネットを介して外部コンピュータに対して行うことができる。
本開示の実施形態に従った方法、装置(システム)、およびコンピュータ・プログラムのフローチャート図またはブロック図あるいはその両方を参照して、本開示の態様について記載している。フローチャート図またはブロック図あるいはその両方の各ブロックならびにフローチャート図またはブロック図あるいはその両方におけるブロックの組み合わせは、コンピュータ・プログラム命令によって実施可能であることは理解されよう。これらのコンピュータ・プログラム命令は、汎用コンピュータ、特殊目的コンピュータ、または他のプログラマブル・データ処理装置のプロセッサに提供されて機械を生成することができ、これによって、コンピュータまたは他のプログラマブル・データ処理装置のプロセッサによって実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するための手段を生成するようになっている。
また、これらのコンピュータ・プログラム命令はコンピュータ読み取り可能媒体に記憶することができ、これによって、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスに特定の方法で機能するように指示することができ、これにより、コンピュータ読み取り可能媒体に記憶された命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施する命令手段を含む製造品を生成するようになっている。
また、コンピュータ・プログラム命令を、コンピュータ、他のプログラマブル・データ処理装置、または他のデバイスにロードして、そのコンピュータ、他のプログラマブル装置、または他のデバイス上で一連の動作ステップを実行させてコンピュータ実施プロセスを生成することができ、これによって、コンピュータまたは他のプログラマブル装置上で実行する命令が、フローチャートまたはブロック図あるいはその両方のブロックまたは複数のブロックに規定された機能/行為を実施するためのプロセスを提供するようになっている。
上述した図面におけるフローチャートおよびブロック図は、本開示の様々な実施形態に従ったシステム、方法、およびコンピュータ・プログラムにおいて可能な実施のアーキテクチャ、機能性、および動作を示す。この点で、フローチャートまたはブロック図における各ブロックは、規定された論理機能(複数の機能)を実施するための1つ以上の実行可能命令を含むコードのモジュール、セグメント、または一部を表すことができる。また、いくつかの代替的な実施において、ブロックに明記した機能は、図面に明記した順序どおりでなく発生する場合があることに留意すべきである。例えば、関与する機能性に応じて、連続して示した2つのブロックは実際には実質的に同時に実行されることがあり、またはブロックは時に逆の順序で実行される場合がある。また、ブロック図またはフローチャートあるいはその両方の各ブロック、およびブロック図またはフローチャートあるいはその両方におけるブロックの組み合わせは、特殊目的ハードウェアおよびコンピュータ命令の規定された機能もしくは行為または組み合わせを実行する特殊目的ハードウェア・ベースのシステムによって実施可能であることに留意すべきである。
上述した主題は、一例としてのみ与えたものであり、限定として解釈すべきではない。当業者によって、以下の特許請求の範囲に定義した本開示の精神および範囲から逸脱することなく、説明したコンポーネントおよび動作の様々な変更および置換を実施することができ、その範囲は、かかる変更および均等な構造を包含するように最も広い解釈を与えるものとする。当業者に認められるように、本明細書に記載したシステム、方法、および手順は、プログラマブル・コンピュータ、コンピュータ実行可能ソフトウェア、またはデジタル回路において具現化することができる。ソフトウェアはコンピュータ読み取り可能媒体に記憶することができる。例えば、コンピュータ読み取り可能媒体は、フレキシブルディスク、RAM、ROM、ハード・ディスク、着脱可能媒体、フラッシュ・メモリ、「メモリ・スティック」、光媒体、光磁気媒体、CD−ROM等を含むことができる。
10 クライアント・コンピュータ
11 ネットワーク
12 ホスト・コンピュータ
14 記憶エリア・ネットワーク
15、20 記憶システム
201 記憶コントローラ
202 ホスト・アダプタ
203 プロセッサ
204 キャッシュ
205 メモリ
206 記憶管理ソフトウェア
207 デバイス・アダプタ
301〜304 ディスク・ドライブ
305 トラック

Claims (20)

  1. データをアーカイブするためのコンピュータ実施方法であって、
    第1の記憶ボリュームがオフラインである間に、前記第1の記憶ボリュームにおいてデータの第1のフラッシュ・コピーを生成することと、
    前記第1のフラッシュ・コピー内のデータを圧縮することであって、各データ・トラックがデータ・ページ・セットに圧縮される、ことと、
    前記圧縮データ・ページ・セットを第2の記憶ボリュームに記憶することと、
    を含む、方法。
  2. 前記第1のフラッシュ・コピーが背景動作において生成される、請求項1に記載の方法。
  3. 第1のフラッシュ・コピーの生成が、
    前記第2の記憶ボリュームを書込み禁止にすることと、
    前記第2の記憶ボリュームに、圧縮データ・エクステントのプールからデータ・エクステントを割り当てることと、
    前記割り当てたデータ・エクステント内に前記圧縮データを記憶するための空き空間が存在しない場合、前記圧縮データ・エクステント・プールから新しいデータ・エクステントを割り当てることと、
    を含む、請求項1に記載の方法。
  4. 前記圧縮データ・エクステントが前記第2の記憶ボリュームに割り当てられたことを示すようにボリューム構造を更新することを更に含む、請求項3に記載の方法。
  5. 前記第1のフラッシュ・コピー内のデータが、LZW(Lempel-Ziv-Welch)圧縮を用いて圧縮される、請求項3に記載の方法。
  6. 圧縮対象のデータが前記第1のフラッシュ・コピー内に存在しない場合、前記圧縮対象のデータを前記第1の記憶ボリュームから読み出すことを更に含む、請求項1に記載の方法。
  7. いったん1ストライド分のデータが圧縮されて前記第2の記憶ボリュームに記憶されたら前記圧縮データをデステージすることを更に含む、請求項1に記載の方法。
  8. 前記第2の記憶ボリュームに割り当てた非使用のエクステントの割り当てを解除することを更に含む、請求項3に記載の方法。
  9. 前記第2の記憶ボリュームにおいてアーカイブされたデータを展開することを更に含む、請求項1に記載の方法。
  10. 展開することが、
    前記第2の記憶ボリュームにおいて圧縮データの第2のフラッシュ・コピーを生成することであって、前記第2のフラッシュ・コピーが前記圧縮データ・ページ・セットを含み、各ページ・セットが前記第1の記憶ボリュームにおける非圧縮データ・トラックに対応する、ことと、
    前記第2のフラッシュ・コピーにおける各ページ・セット内のデータを、対応する展開データ・トラックに展開することと、
    前記展開データ・トラックを前記第1の記憶ボリュームに記憶することと、
    を含む、請求項9に記載の方法。
  11. 第2のフラッシュ・コピーを生成することが、
    前記第1のボリュームを書込み禁止にすることと、
    前記第1のボリュームに、非圧縮データ・エクステントのプールからデータ・エクステントを割り当てることと、
    前記割り当てたデータ・エクステント内に前記非圧縮データを記憶するための空き空間が存在しない場合、前記非圧縮データ・エクステント・プールから新しいデータ・エクステントを割り当てることと、
    を含む、請求項10に記載の方法。
  12. 前記第1の記憶ボリュームに割り当てた非使用のエクステントの割り当てを解除することを更に含む、請求項10に記載の方法。
  13. 展開対象のデータが前記第2のフラッシュ・コピー内に存在しない場合、前記展開対象のデータを前記第2の記憶ボリュームから読み出すことを更に含む、請求項10に記載の方法。
  14. いったん1ストライド分のデータが展開されて前記第1の記憶ボリュームに記憶されたら前記展開データをデステージすることを更に含む、請求項9に記載の方法。
  15. 前記アーカイブされたデータが、LZW(Lempel-Ziv-Welch)展開を用いて展開される、請求項9に記載の方法。
  16. データをアーカイブするためのコンピュータ・プログラムであって、具現化されたコンピュータ読み取り可能プログラム・コードを有するコンピュータ読み取り可能記憶媒体を含み、前記コンピュータ読み取り可能プログラム・コードが、
    ソース(第1)・ボリュームがオフラインである間に、前記第1の記憶ボリュームにおいてデータの第1のフラッシュ・コピーを生成するようにコンフィギュレーションされたプログラム・コードと、
    前記第1のフラッシュ・コピー内のデータを圧縮するようにコンフィギュレーションされたプログラム・コードであって、各データ・トラックがデータ・ページ・セットに圧縮される、プログラム・コードと、
    前記圧縮データ・ページ・セットを第2の記憶ボリュームに記憶するようにコンフィギュレーションされたプログラム・コードと、
    を含む、コンピュータ・プログラム。
  17. 前記コンピュータ読み取り可能プログラム・コードが、
    前記第2の記憶ボリュームを書込み禁止にするようにコンフィギュレーションされたコンピュータ読み取り可能プログラム・コードと、
    前記第2の記憶ボリュームに、圧縮データ・エクステントのプールからデータ・エクステントを割り当てるようにコンフィギュレーションされたコンピュータ読み取り可能プログラム・コードと、
    前記割り当てたデータ・エクステント内に前記圧縮データを記憶するための空き空間が存在しない場合、前記圧縮データ・エクステント・プールから新しいデータ・エクステントを割り当てるようにコンフィギュレーションされたコンピュータ読み取り可能プログラム・コードと、
    を含む、請求項16に記載のコンピュータ・プログラム。
  18. 前記第2の記憶ボリュームにおいてデータの第2のフラッシュ・コピーを生成するようにコンフィギュレーションされたコンピュータ読み取り可能プログラム・コードであって、前記第2のフラッシュ・コピーが前記圧縮データ・ページ・セットを含み、各ページ・セットが前記第1のボリュームにおける非圧縮データ・トラックに対応する、コンピュータ読み取り可能プログラム・コードと、
    前記第2のフラッシュ・コピーにおける各ページ・セット内のデータを、対応する展開データ・トラックに展開するようにコンフィギュレーションされたコンピュータ読み取り可能プログラム・コードと、
    前記展開データ・トラックを前記第1の記憶ボリュームに記憶するようにコンフィギュレーションされたコンピュータ読み取り可能プログラム・コードと、
    を含む、請求項16に記載のコンピュータ・プログラム。
  19. データをアーカイブするためのシステムであって、
    アーカイブ対象のデータを有する第1の記憶ボリュームと、
    前記第1の記憶ボリュームがオフラインである間に、前記第1の記憶ボリュームにおいてデータの第1のフラッシュ・コピーを生成するようにコンフィギュレーションされた論理コンポーネントと、
    前記第1のフラッシュ・コピー内のデータを圧縮するようにコンフィギュレーションされた論理コンポーネントであって、各データ・トラックがデータ・ページ・セットに圧縮される、論理コンポーネントと、
    第2の記憶ボリュームが書き込み禁止状態である間に、前記圧縮データ・ページを前記第2の記憶ボリュームに記憶するようにコンフィギュレーションされた論理コンポーネントと、
    を含む、システム。
  20. 前記システムがディスク記憶システムである、請求項19に記載のシステム。
JP2011245048A 2010-11-19 2011-11-09 フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブのためのシステム、方法、コンピュータ・プログラム(フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブ) Expired - Fee Related JP5818207B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/950992 2010-11-19
US12/950,992 US8918607B2 (en) 2010-11-19 2010-11-19 Data archiving using data compression of a flash copy

Publications (2)

Publication Number Publication Date
JP2012113704A true JP2012113704A (ja) 2012-06-14
JP5818207B2 JP5818207B2 (ja) 2015-11-18

Family

ID=46065492

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011245048A Expired - Fee Related JP5818207B2 (ja) 2010-11-19 2011-11-09 フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブのためのシステム、方法、コンピュータ・プログラム(フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブ)

Country Status (2)

Country Link
US (2) US8918607B2 (ja)
JP (1) JP5818207B2 (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8938510B2 (en) 2010-04-26 2015-01-20 Bittan Inc. On-demand mailbox synchronization and migration system
JP2012222504A (ja) * 2011-04-06 2012-11-12 Sony Corp 情報処理装置及び方法、並びにプログラム
US10929040B1 (en) * 2011-09-28 2021-02-23 EMC IP Holding Company LLC RAID 1—half compressed data storage
US9927979B1 (en) * 2012-02-01 2018-03-27 EMC IP Holding Company LLC Data compression using constant number-of-track-groups and thin provisioning clone target
US9654436B2 (en) 2012-11-27 2017-05-16 BitTitan Inc. Systems and methods for migrating mailbox data from systems with limited or restricted remote access
US9817728B2 (en) 2013-02-01 2017-11-14 Symbolic Io Corporation Fast system state cloning
US9467294B2 (en) 2013-02-01 2016-10-11 Symbolic Io Corporation Methods and systems for storing and retrieving data
US9304703B1 (en) 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US20140223118A1 (en) * 2013-02-01 2014-08-07 Brian Ignomirello Bit Markers and Frequency Converters
US10133636B2 (en) 2013-03-12 2018-11-20 Formulus Black Corporation Data storage and retrieval mediation system and methods for using same
US9628108B2 (en) 2013-02-01 2017-04-18 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
US9262313B2 (en) 2013-03-14 2016-02-16 Microsoft Technology Licensing, Llc Provisioning in heterogenic volume of multiple tiers
US9524300B2 (en) * 2013-03-14 2016-12-20 Microsoft Technology Licensing, Llc Heterogenic volume generation and use system
CN104050200B (zh) * 2013-03-15 2017-12-08 伊姆西公司 用于数据拷贝的方法和装置
US9372643B2 (en) 2013-04-12 2016-06-21 International Business Machines Corporation Data set management
US9798494B2 (en) 2015-01-30 2017-10-24 International Business Machines Corporation Preallocating storage space for an application operation in a space efficient volume
US9804778B2 (en) 2015-01-30 2017-10-31 International Business Machines Corporation Preallocating storage space for an application operation in a space efficient volume
US20160253339A1 (en) * 2015-02-26 2016-09-01 Bittitan, Inc. Data migration systems and methods including archive migration
US10061514B2 (en) 2015-04-15 2018-08-28 Formulus Black Corporation Method and apparatus for dense hyper IO digital retention
US10257258B2 (en) * 2016-10-31 2019-04-09 International Business Machines Corporation Transferring data between block and file storage systems
US10346064B1 (en) * 2016-12-30 2019-07-09 EMC IP Holding Company LLC Managing compression based on a compression profile of host data initially residing on a source storage array
US10229052B2 (en) 2017-05-31 2019-03-12 Seagate Technology Llc Reverse map logging in physical media
US11188422B2 (en) 2017-06-02 2021-11-30 Apple Inc. Techniques for preserving clone relationships between files
US10572186B2 (en) 2017-12-18 2020-02-25 Formulus Black Corporation Random access memory (RAM)-based computer systems, devices, and methods
CN110427340B (zh) 2018-04-28 2023-08-04 伊姆西Ip控股有限责任公司 用于文件存储的方法、装置和计算机存储介质
US11138069B2 (en) 2018-06-11 2021-10-05 Seagate Technology, Llc Providing additional parity for non-standard sized parity data sets
US10896002B2 (en) 2018-06-29 2021-01-19 Seagate Technology Llc Reverse directory structure in a garbage collection unit (GCU)
WO2020142431A1 (en) 2019-01-02 2020-07-09 Formulus Black Corporation Systems and methods for memory failure prevention, management, and mitigation
US10936197B2 (en) * 2019-04-15 2021-03-02 EMC IP Holding Company LLC Performing memory copy operations by a processor by employing a compression hardware device
US11256716B2 (en) 2019-06-19 2022-02-22 International Business Machines Corporation Verifying mirroring of source data units to target data units
CN111880740B (zh) * 2020-07-29 2024-05-24 平安科技(深圳)有限公司 数据处理方法、装置、计算机系统及可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573213A (ja) * 1991-09-12 1993-03-26 Hitachi Ltd 外部記憶装置システム
JPH06309111A (ja) * 1993-04-23 1994-11-04 Fujitsu Ltd 磁気ディスク制御方法
JPH10105347A (ja) * 1996-10-02 1998-04-24 Hitachi Ltd ディスクアレイ制御システム
US20010047461A1 (en) * 1999-02-02 2001-11-29 Storage Technology Corporation Systems and methods for relocation of compressed data tracks
JP2005301989A (ja) * 2004-02-24 2005-10-27 Hitachi Ltd ディスクサブシステムにおけるメディア管理の方法と装置
JP2007293486A (ja) * 2006-04-24 2007-11-08 Fujitsu Ltd ディスク装置、ディスク制御方法及びプログラム
US20090112949A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Compressed storage management
US20090182961A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Methods, apparatuses, and computer program products for protecting pre-staged provisioned data in a storage system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623701A (en) * 1995-06-06 1997-04-22 International Business Machines Corporation Data compression method and structure for a direct access storage device
US5956733A (en) * 1996-10-01 1999-09-21 Fujitsu Limited Network archiver system and storage medium storing program to construct network archiver system
US6282643B1 (en) 1998-11-20 2001-08-28 International Business Machines Corporation Computer system having flash memory BIOS which can be accessed remotely while protected mode operating system is running
US6611901B1 (en) * 1999-07-02 2003-08-26 International Business Machines Corporation Method, system, and program for maintaining electronic data as of a point-in-time
GB0030226D0 (en) 2000-12-12 2001-01-24 Ibm A data storage system and a method of storing data including a multi-level cache
US6785771B2 (en) * 2001-12-04 2004-08-31 International Business Machines Corporation Method, system, and program for destaging data in cache
US7461100B2 (en) 2004-05-27 2008-12-02 International Business Machines Corporation Method for fast reverse restore
US7330997B1 (en) * 2004-06-03 2008-02-12 Gary Odom Selective reciprocal backup
US7257689B1 (en) * 2004-10-15 2007-08-14 Veritas Operating Corporation System and method for loosely coupled temporal storage management
US7546432B2 (en) * 2006-05-09 2009-06-09 Emc Corporation Pass-through write policies of files in distributed storage management
US8250335B2 (en) * 2007-06-07 2012-08-21 International Business Machines Corporation Method, system and computer program product for managing the storage of data
US8990528B2 (en) 2009-01-06 2015-03-24 International Business Machines Corporation Method for fast format of a fully allocated volume when copied from a space efficient volume
US8024382B2 (en) * 2009-01-20 2011-09-20 Autodesk, Inc. Dynamic manipulation of archive files
US8266325B2 (en) * 2010-02-05 2012-09-11 International Business Machines Corporation Compression on thin provisioned volumes using extent based mapping

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0573213A (ja) * 1991-09-12 1993-03-26 Hitachi Ltd 外部記憶装置システム
JPH06309111A (ja) * 1993-04-23 1994-11-04 Fujitsu Ltd 磁気ディスク制御方法
JPH10105347A (ja) * 1996-10-02 1998-04-24 Hitachi Ltd ディスクアレイ制御システム
US20010047461A1 (en) * 1999-02-02 2001-11-29 Storage Technology Corporation Systems and methods for relocation of compressed data tracks
JP2005301989A (ja) * 2004-02-24 2005-10-27 Hitachi Ltd ディスクサブシステムにおけるメディア管理の方法と装置
JP2007293486A (ja) * 2006-04-24 2007-11-08 Fujitsu Ltd ディスク装置、ディスク制御方法及びプログラム
US20090112949A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Compressed storage management
US20090182961A1 (en) * 2008-01-11 2009-07-16 International Business Machines Corporation Methods, apparatuses, and computer program products for protecting pre-staged provisioned data in a storage system

Also Published As

Publication number Publication date
US8914597B2 (en) 2014-12-16
US20120131293A1 (en) 2012-05-24
US20130205109A1 (en) 2013-08-08
US8918607B2 (en) 2014-12-23
JP5818207B2 (ja) 2015-11-18

Similar Documents

Publication Publication Date Title
JP5818207B2 (ja) フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブのためのシステム、方法、コンピュータ・プログラム(フラッシュ・コピーのデータ圧縮を用いたデータ・アーカイブ)
US10152381B1 (en) Using storage defragmentation function to facilitate system checkpoint
US10324843B1 (en) System and method for cache management
US10055420B1 (en) Method to optimize random IOS of a storage device for multiple versions of backups using incremental metadata
US7716183B2 (en) Snapshot preserved data cloning
US9733862B1 (en) Systems and methods for reverse point-in-time copy management in a storage system
US10031703B1 (en) Extent-based tiering for virtual storage using full LUNs
US7975115B2 (en) Method and apparatus for separating snapshot preserved and write data
JP6016939B2 (ja) テープ・ドライブ・システム・サーバ、それを含むテープ・アライアンス・システムおよびシステム、ならびにコンピュータ・プログラム
US8341346B2 (en) Offloading volume space reclamation operations to virtual tape systems
US8615641B2 (en) System and method for differential backup
WO2013073114A1 (en) Reading files stored on a storage system
US11347725B2 (en) Efficient handling of highly amortized metadata page updates in storage clusters with delta log-based architectures
KR101369813B1 (ko) 광 디스크 저장 시스템에 저장된 미디어에의 액세스, 압축 및 추적
KR20130083356A (ko) 메타데이터 지속성을 위한 방법
US9996426B1 (en) Sparse segment trees for high metadata churn workloads
JP2014041471A (ja) ストレージシステム、ストレージ制御方法およびストレージ制御プログラム
JP2022152549A (ja) ストレージシステム及びストレージシステムの制御方法
US10831624B2 (en) Synchronizing data writes
US20180307419A1 (en) Storage control apparatus and storage control method
US20180307427A1 (en) Storage control apparatus and storage control method
US20220221988A1 (en) Utilizing a hybrid tier which mixes solid state device storage and hard disk drive storage
US20180321858A1 (en) Maintaining correct i/o statistics in a tiered storage environment
US10691550B2 (en) Storage control apparatus and storage control method
TW201342052A (zh) 磁帶機系統伺服器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140529

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150421

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150421

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20150421

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150422

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150827

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20150827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150918

R150 Certificate of patent or registration of utility model

Ref document number: 5818207

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees