JP2015517147A - 空間節約(spacesavings:空き容量節約)を達成するように処理をスケジューリングするためのシステム、方法及びコンピュータープログラム製品 - Google Patents

空間節約(spacesavings:空き容量節約)を達成するように処理をスケジューリングするためのシステム、方法及びコンピュータープログラム製品 Download PDF

Info

Publication number
JP2015517147A
JP2015517147A JP2015503248A JP2015503248A JP2015517147A JP 2015517147 A JP2015517147 A JP 2015517147A JP 2015503248 A JP2015503248 A JP 2015503248A JP 2015503248 A JP2015503248 A JP 2015503248A JP 2015517147 A JP2015517147 A JP 2015517147A
Authority
JP
Japan
Prior art keywords
space saving
storage
deduplication
potential
storage objects
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.)
Pending
Application number
JP2015503248A
Other languages
English (en)
Other versions
JP2015517147A5 (ja
Inventor
クマー ダガ,ヴィノッド
クマー ダガ,ヴィノッド
ジョンストン,クレイグ
ジェン,リン
Original Assignee
ネットアップ,インコーポレーテッド
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 ネットアップ,インコーポレーテッド filed Critical ネットアップ,インコーポレーテッド
Publication of JP2015517147A publication Critical patent/JP2015517147A/ja
Publication of JP2015517147A5 publication Critical patent/JP2015517147A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

ストレージハードウェアに記憶される複数のボリュームを有するシステムにおいて実行される方法。この方法は、ボリュームごとに、それぞれの空間節約ポテンシャルを経時的に反復して生成することと、ボリュームのそれぞれを空間節約ポテンシャルについて解析し、少なくとも部分的に空間節約ポテンシャルに基づいてリソースの優先度を割り当てることによって、複数のボリューム間で空間節約動作をスケジューリングすることと、を含む。【選択図】図2

Description

本明細書は、包括的には、ネットワークストレージシステムにおける空間節約動作(例えば、圧縮及び重複除去)に関し、より詳細には、重複除去プロセスにおいてボリューム間で空間節約リソースを配分するための技法に関する。
多くの企業は、ネットワークアタッチトストレージ(NAS)及びストレージエリアネットワーク(SAN)等のネットワークストレージシステムを含み、これらはクライアントコンピューティングシステムに接続され、それによってクライアントはストレージシステムによって管理されるデータにアクセスすることができる。ユーザーの(例えばクライアントの)観点から、ネットワークストレージシステムは1つ又は複数のストレージオブジェクト(記憶ボリューム)を含むことができ、これらは多くの場合に論理ボリューム又は仮想ボリュームと呼ばれる。そのようなネットワークストレージシステムは、非常に大量の重複データを記憶する場合があり、したがって、場合によっては、利用可能な記憶空間をより効率的に用いるために、重複除去を実行することが望ましい場合がある。ネットワークストレージシステムにおいてデータを重複除去することができる限り、重複データの除去は、場合によっては大きな記憶空間節約をもたらすことができ、したがって潜在的にコストが削減される。
ネットワークストレージのための幾つかの従来の技法は、仮想ボリューム内に論理的に編成される低レベルのストレージコンテナー(例えばファイル)の階層的編成を与え、基礎を成すデータを指し示すのにポインターを用いる、それぞれの仮想ボリュームに対応するファイルシステムを実装する。基礎を成すデータはデータブロックに配列される。所与のファイルは複数のブロックを指し示すことができ、ブロックは複数のファイルと関連付けることができる。さらに、所与のファイルは、別のファイルにおいて重複するデータを含む場合がある。例えば、記憶ボリュームは複数の電子メール受信箱を含み、各受信箱が特定の電子メール添付ファイルを含む場合がある。ほとんどのシナリオにおいて、電子メール添付ファイルの複数のコピーを記憶することは、記憶リソースの浪費になるので望ましくない。幾つかの従来の重複除去動作は、データの単一のコピーのみを保持して、重複コピーを単一のコピーへのポインターと置き換えることによって、1つのデータの複数のコピーを保存することを回避する。したがって、複数のファイルが同じデータと関連付けられるが、データの重複コピーは回避される。
重複除去動作は、大量の処理リソースを用いる場合がある。1つの例において、従来の重複除去プロセスは、重複除去されていないボリュームから開始する。従来の重複除去プロセスは、ストレージ(通常、ハードディスク)からデータブロックを読み出し、データブロックごとにフィンガープリントを作成し(例えば、フィンガープリントはブロック内のデータを示す小さなデータとすることができる)、このフィンガープリントを比較して、ブロックのいずれが重複である場合があるかを判断することを含む。次に、上記で説明したように、重複データはポインターによって置き換えられる。しかしながら、通常、このプロセスは、著しい量の処理力を用いる場合があり、これはユーザーの観点から、性能低下として現れる場合がある。さらに、ディスクから多数のデータブロックを読み出すには比較的長い時間がかかる場合がある。
別の従来の重複除去プロセスは、データブロックが保存されるか、(例えばバックアップ動作において)1つのボリュームから別のボリュームに転送されるときに、データブロックのフィンガープリントを生成する。これによって、上記の例とは対照的に、ボリューム全体を単一の動作で読み出して、ボリューム全体をフィンガープリンティングすることがなくなるはずである。しかしながら、フィンガープリントを互いに単に比較することは、著しい量の処理リソースを用いる場合がある。
つまり、重複除去プロセスの結果、ユーザーの観点から性能の欠陥が知覚される場合がある。これは、処理リソースが、重複除去プロセスに配分されるが、よりユーザーの目につく記憶動作及び取り出し動作の同時実行には用いられないことに起因する。ネットワークストレージシステムが、実行する様々な動作に費やす処理リソースの量が限られていることを仮定すると、最小の処理リソース量から最大の重複除去量を得るように重複除去を効率的に行うことが望ましい。
様々な実施形態が、重複除去リソースを配分する効率的な手法を提供するシステム、方法及びコンピュータープログラム製品を含む。1つの例において、複数の重複除去動作が複数のストレージオブジェクトについて実行され、それによって、受信データがストレージオブジェクトごとに時折重複除去されて既存のデータに入れられる。重複除去値が、重複除去動作の結果に基づいてストレージオブジェクトごとに計算される。重複除去値は、ストレージオブジェクトごとに経時的に達成される重複除去量を示す。この例では、ストレージオブジェクトの過去の結果が、予期される未来の性能を示し、したがって、重複除去値が重複除去節約ポテンシャルを示すと想定される。後続の重複除去動作において、より高い重複除去ポテンシャルを有するストレージオブジェクトが、より低いポテンシャルを有する他のストレージオブジェクトの前に重複除去のために選択される。経時的により高い重複除去ポテンシャルを示すストレージオブジェクトは、結果的に、優先リストに追加することができる。このようにして、空間節約のためのより高いポテンシャルを有するストレージオブジェクトが重複除去リソースに対する優先権を与えられる。
本開示のより広範な形態のうちの1つは、ストレージハードウェアに記憶される複数のストレージオブジェクトを有するシステムにおいて実行される方法であって、
前記ストレージオブジェクトごとに、それぞれの空間節約ポテンシャルを経時的に反復して生成することと、
前記ストレージオブジェクトのそれぞれを空間節約ポテンシャルについて解析し、少なくとも部分的に空間節約ポテンシャルに基づいてリソースの優先度を割り当てることによって、前記複数のストレージオブジェクト間で空間節約動作をスケジューリングすることと、
を含む、方法に関する。
本開示の別のより広範な形態は、複数のストレージオブジェクトについて空間節約を管理するためのコンピュータープログラムロジックを有形に記憶するコンピューター読み出し可能媒体を有するコンピュータープログラム製品であって、該コンピュータープログラム製品は、
前記複数のストレージオブジェクトに対し、経時的に複数の空間節約動作を行うコードと、
前記ストレージオブジェクトごとにそれぞれの空間節約値を計算するコードであって、それによって、所与のストレージオブジェクトについての各後続の空間節約動作の結果として、該所与のストレージオブジェクトについて空間節約値が反復的に再計算される、コードと、
より高いそれぞれの空間節約値を有する前記ストレージオブジェクトの部分組のための処理リソースを優先付けすることによって該処理リソースを空間節約要求に配分するコードと、
を備える、コンピュータープログラム製品に関する。
本開示の別のより広範な形態は、不揮発性記憶媒体を含むストレージサブシステムであって、該不揮発性記憶媒体は複数のストレージオブジェクトに仮想的に分割される、ストレージサブシステムと、
前記ストレージサブシステムと通信して、前記複数のストレージオブジェクト内の空間節約のための処理リソースの配分を管理するコンピューターであって、該コンピューターは、以下の動作、すなわち、
前記ストレージオブジェクトごとのそれぞれの空間節約ポテンシャルを、複数の空間節約動作にわたって反復的に計算することと、
空間節約のために前記ストレージオブジェクト間で選択することであって、それによって、第2のストレージオブジェクトの第2の空間節約ポテンシャルよりも高い第1の空間節約ポテンシャルを有する第1のストレージオブジェクトが、前記第1の空間節約ポテンシャルと前記第2の空間節約ポテンシャルとの差に少なくとも部分的に基づいて、空間節約のための前記処理リソースの配分における優先権を受けることと、
を実行するように構成される、コンピューターと、
を備える、システムに関する。
本開示は、添付の図面と合わせて読むときに以下の詳細な説明から最も良好に理解される。
様々な実施形態を実施することができるストレージオペレーティングシステムを実装する例示的なネットワークストレージシステムの図である。 1つの実施形態に従って適合された、多数のボリューム間で重複除去動作をスケジューリングする例示的な方法の図である。 1つの実施形態に従って適合された、図2に示す方法とともに動作可能な、多数のボリューム間で重複除去動作のためのリソースを配分する例示的な方法の図である。 一実施形態に従って適合された、図2に示す方法とともに動作可能な、ボリューム間で重複除去リソースを配分する例示的な方法の図である。
以下の開示は、本発明の様々な特徴を実施するための、多くの異なる実施形態又は実施例を提供する。本開示を単純にするために、構成要素及び構成の特定の例が以下で説明される。これらは当然ながら単なる例であり、限定を意図したものではない。加えて、本開示は様々な例において参照符号及び/又は文字を繰り返す場合がある。この繰り返しは単純で明確であることを目的としており、それ自体が、論考される様々な実施形態及び/又は構成間の関係を定めるものではない。
様々な実施形態を任意の種類のネットワーク環境で実施することができることが理解される。例えば、幾つかの実施形態は、複数のクライアント及び複数のサーバーを接続するTCP/IPネットワークにおいて実施することができる。他の実施形態は、ネットワークアタッチトストレージ(NAS)、ストレージエリアネットワーク(SAN)又は任意の他のネットワークストレージ構成等のより特化した環境において実施することができる。様々な実施形態は、いかなる特定のネットワークアーキテクチャにも目的にも限定されるものではなく、多岐にわたる数々の環境において用いるように適合することができる。
本明細書において開示される様々な実施形態は、所与のボリュームの計算されたポテンシャルに従って重複除去リソースを配分する技法を提供する。したがって、より高い重複除去ポテンシャルを有するボリュームは重複除去される可能性がより高いのに対し、より低い重複除去ポテンシャルを有するボリュームは、重複除去される可能性がより低い。
幾つかのシステムにおいて、重複除去のための総作業負荷は、重複除去に配分することができるシステムにおける処理リソース量よりも大きい場合がある。例えば、重複除去は、用途によっては処理集中型の場合があり、システムは、重複除去動作によって記憶及び取り出し機能が顧客の性能期待値を超えて低下しない限りにおいてのみ、これらの重複除去動作を実行することができる。したがって、ボリュームによっては、システムの有限の処理リソースに起因して重複除去を行わない場合がある。
本明細書において説明される例示的な実施形態は、有限の処理リソースの問題に対し、記憶空間節約において利益を得る可能性が最も高いボリュームにおいてこれらの処理リソースを用いることによって、解決法を提供する。1つの例において、様々なボリュームが第1のリストにおいてグループ化される。このリストは、この例においてスタンバイリストとも呼ばれる。時間が経過すると、ボリュームは重複除去することができ、ボリュームごとに、そのボリュームの重複除去ポテンシャルを示す重複除去値が計算される。幾つかの例では、重複除去値は、重複除去を通じて所与のボリュームについて節約される空間量を用いて計算される。重複除去は、受信データに対し、ボリュームごとに時折実行することができ、重複除去値は反復的に計算され、連続的な重複除去動作が、その重複除去動作によって達成される空間節約に従ってボリュームの重複除去値に影響を及ぼすようにされる。重複除去値は、過去に達成された重複除去結果(例えば空間節約)を用いて計算されるので、或る観点からは後ろ向きである。重複除去値は、この例では、過去の重複除去結果が未来の節約を示すと仮定されるので、前向きでもある。
経時的に、ボリュームは各ボリュームに関連付けられた異なる重複除去値を有することになる。上述したように、重複除去アプリケーションを実行しているデバイス(例えば、ネットワークストレージサーバー)は、より高い節約ポテンシャルを有するボリュームをより高い頻度で重複除去のために選択する。一貫して高い節約ポテンシャルを示す幾つかのボリュームは、最終的に優先リストに移すことができ、この優先リストにおいて、それらのボリュームは、スタンバイリストのボリュームの任意のボリュームが重複除去される前に重複除去される。このため、この例示的な実施形態は、ボリュームのうちの、より高い空間節約ポテンシャルを示すものを選択することによって優先リストを埋める。幾つかの例において、最も低い節約ポテンシャルを示すボリュームは、第3のリストに移すことができ、第3のリストはこれらのボリュームを重複除去の検討の対象から除外する。
同様のプロセスを、圧縮等の他の空間節約技術に用いることができる。例えば、幾つかの実施形態は、経時的に反復して圧縮のための空間節約値を計算し、その後、より高い空間節約ポテンシャルを有するボリュームが他のボリュームの前に圧縮されるように圧縮処理リソースをスケジューリングすることができる。
図1は、様々な実施形態を実施することができるストレージオペレーティングシステム(図示せず)を実装する例示的なネットワークストレージシステム100の図である。記憶サーバー102は、ネットワーク103を通じて1組のクライアント101に結合される。ネットワーク103は、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、ファイバーチャネルファブリック又はそのような相互接続の任意の組合せを含むことができる。サーバー102、プライマリストレージサブシステム104及びセカンダリストレージサブシステム106は、ファイバチャネル等の通信及びデータ転送の共通のインフラストラクチャに接続することができ、合わせてSAN又はNASを構成することができる。
クライアント101はそれぞれ、例えば、パーソナルコンピューター(PC)、従来のサーバコンピューター、ワークステーション、ハンドヘルドコンピューティング/通信デバイス又はタブレット等を含むことができる。図1は、3つのクライアント101a〜101cを示すが、実施形態の範囲は、任意の適切な数のクライアントを含むことができる。
幾つかの実施形態において、クライアント101のうちの1つ又は複数は、管理局としての機能を果たすことができる。そのようなクライアントは、ネットワークアドミニストレーターが、記憶サーバー102を構成し、プライマリストレージサブシステム104においてストレージをプロビジョニングし、バックアップのスケジューリング、ユーザーアクセス権の設定等の、記憶ネットワークに関連する他の管理機能を実行するのに用いられる管理アプリケーションソフトウェアを含むことができる。
記憶サーバー102は、プライマリストレージサブシステム104内でデータの記憶を管理する。記憶サーバー102は、クライアント101からの読み出し要求及び書き込み要求を処理する。ここで、これらの要求は、プライマリストレージサブシステム104に記憶されているか又は記憶されることになるデータを対象とする。プライマリストレージサブシステム104は、いかなる特定の記憶技術にも限定されず、現在知られているか後に開発される任意の記憶技術を用いることができる。例えば、プライマリストレージサブシステム104は、複数の不揮発性大容量記憶装置(図示せず)を有することができ、それらの不揮発性大容量記憶装置は、従来の磁気ディスク若しくは光ディスク若しくはテープドライブ、フラッシュメモリ等の不揮発性ソリッドステートメモリ、又はそれらの任意の組合せを含むことができる。1つの特定の例では、プライマリストレージサブシステム104は1つ又は複数の独立ディスクの冗長アレイ(RAID)を含むことができる。この例において、プライマリストレージサブシステム104は、ここではプライマリボリューム105によって表される複数の仮想ボリュームを含む。
同様に、記憶サーバー102はセカンダリストレージサブシステム106においてバックアップ動作を処理する。セカンダリストレージサブシステム106は、いかなる特定の記憶技術にも限定されず、従来の磁気ディスク若しくは光ディスク若しくはテープドライブ、フラッシュメモリ等の不揮発性ソリッドステートメモリ、1つ若しくは複数のRAID、又はそれらの任意の組合せを用いることができ、セカンダリボリューム107は複数の仮想ボリュームを含むことができる。
この例では、記憶サーバー102はボリューム105及び/又はボリューム107おいて重複除去動作を提供する。特に、記憶サーバー102は空間節約管理部アプリケーション110を含み、この空間節約管理部アプリケーション110は、図2〜図4の方法に従ってデータを重複除去及び/又は圧縮する(又は任意の他の空間節約技術を用いる)ための命令を実行する。
記憶サーバー102は、任意の適切なプロトコル又は記憶環境構成によるデータアクセスを可能にすることができる。1つの例では、記憶サーバー102は、NAS環境において従来から実行されているように、ファイルレベルデータアクセスサービスをクライアント101に提供する。別の例では、記憶サーバー102は、SAN環境において従来から実行されているように、ブロックレベルデータアクセスサービスを提供する。また別の例において、記憶サーバー102はファイルレベル及びブロックレベルのデータアクセスサービスをクライアント101に提供する。
幾つかの例では、記憶サーバー102は分散型アーキテクチャを有する。例えば、幾つかの実施形態では、記憶サーバー102は物理的に別個のネットワークモジュール(例えば、「Nブレード」)及びデータモジュール(例えば、「Dブレード」)として設計することができ、それらは物理的相互接続を介して互いに通信する。分散型アーキテクチャを促進するために、空間節約管理部110の1つ又は複数の機能を、セカンダリストレージサブシステム106及び/又はプライマリストレージサブシステム104においてハードウェア及び/又はソフトウェアによって実施することができる。ストレージオペレーティングシステムはサーバー102上で実行され、空間節約管理部110を提供し、様々な実施形態において、ストレージサブシステム104及び106は、空間節約を達成するために、ストレージオペレーティングシステムと互換性がある専用のハードウェア及び/又はソフトウェアを備えることができる。
システム100は例としてのみ示される。本明細書に示される特徴に従って用いるように他のタイプのハードウェア及びソフトウェア構成を適合させることができる。例えば、ネットワークベースであろうとなかろうと、複数のボリュームを有する任意のシステムにおいて様々な実施形態を実施することができる。
図2は、1つの実施形態に従って適合される例示的な方法200の図である。方法200を、図1の空間節約管理部110によって実行して、多数の記憶ボリュームを重複除去及び/又は圧縮することができる。図2は、空間節約管理部が、制御するためのボリューム(既存又は新規)を割り当てられる初期時点から空間節約プロセスにどのように取り組むことができるかを示すために提供される。図2は、他のボリュームが既に重複除去され、重複除去値を計算されている可能性を排除しない。
図2の例は、空間節約技術として重複除去に焦点を当てているが、実施形態の範囲が任意の適切な空間節約技術を含むことが理解される。例えば、幾つかの実施形態は圧縮を用いることができ、以下に説明される原理は重複除去と同様に圧縮にも当てはまる。
動作202において、空間節約管理部(この例では重複除去管理部)は、既存のボリュームのためのプロセスを開始する。例えば、既存のボリュームは、僅かではない量のデータが既に記憶されているボリュームとすることができる。
動作204において、重複除去管理部は新たなボリュームのためのプロセスを開始する。例えば、新たなボリュームは、データがほとんど又は全く記憶されていないボリュームとすることができる。既存のボリュームのためのプロセスを開始すること(動作202)と、新たなボリュームのためのプロセスを開始すること(動作204)との違いは、既存のボリュームが、フィンガープリンティング及び重複除去されるデータを既に有しているのに対し、新たなボリュームはフィンガープリンティング及び重複除去をスキップし、変更ログの作成(以下で更に説明される)に直接進むことができることである。
動作206において、重複除去管理部は既存のボリューム内のデータのフィンガープリントを生成する。上述したように、幾つかの実施形態は、データブロックと呼ばれる固定サイズの区画内のボリューム上にデータを保存することを含む。フィンガープリントを生成することの1つの例は、メッセージダイジェストアルゴリズム(MD5)等のアルゴリズムを用いてブロックをハッシュ処理し、元のデータブロックよりもビットサイズがはるかに小さいが、依然としてデータブロックの内容を示す数を生成することを含む。任意の適切なフィンガープリンティングアルゴリズムを様々な実施形態によって用いることができるので、MD5は例示にすぎない。
例えば、幾つかのフィンガープリンティングアルゴリズムは、ブロックのサイズ未満であるか又はブロックのサイズよりも大きいデータユニットについてフィンガープリントを生成することができる。実際に、幾つかのフィンガープリントアルゴリズムは、データブロック境界と異なるデータ区画に適応可能であるように可変長の機能を有する。さらに、幾つかの実施形態は強力なフィンガープリントを用い、異なるデータブロックが同じフィンガープリントを有する尤度が非常に低くなるようにすることができる。他の実施形態は、より弱いフィンガープリントを生成するのに必要な処理はより少なくすることができるというトレードオフにより、2つの異なるデータブロックが同じフィンガープリントを有するリスクが僅かに高くなることを許容して、より弱いフィンガープリントを用いることができる。実施形態の範囲は、フィンガープリントを生成するためのいかなる特定のプロセスにも限定されない。
さらに、動作206は、記憶ボリュームの基礎を成す物理的な記憶媒体からデータを読み出すことと、次にデータが読み出された後にそのデータからフィンガープリントを生成することとを含むことができる。上述したように、幾つかのシステムにおいて、物理記憶媒体からデータを読み出すことは処理集中型である場合がある。動作206は、フィンガープリントをフィンガープリントデータベースに保存することも含むことができる。
動作208において、重複除去管理部は、フィンガープリントデータベース内のフィンガープリントを用いて既存のボリュームにおいて重複除去を実行する。フィンガープリントは、基礎を成すデータのプロキシとして用いられ、互いに比較されて、重複フィンガープリントが特定される。重複フィンガープリントを特定するために、重複除去管理部は、フィンガープリントデータベースをフィンガープリントの昇順又は降順でソートすることができる。例えば、各フィンガープリントは英数字のハッシュ値(又はブールハッシュ値又は任意の他の適切なハッシュ値)を含むことができ、重複除去エンジンはハッシュ値によってソートすることができる。重複は同一のハッシュによって示され、同一のハッシュはソート後に隣接している。重複フィンガープリントが見つかった場合、重複除去管理部はボリュームから実際のデータブロックを取り出し、データブロックのバイトごとの比較を実行する。バイトごとの比較によってデータブロックが重複であることが確認された場合、重複除去エンジンは、重複データブロックの1つを除くそれぞれを、単一の保持されるコピーへのポインターと置き換える。幾つかの例において、フィンガープリントは十分に強力であるので、重複が疑わしいブロックのバイトごとの比較を省くことができ、それによって、フィンガープリントによって重複であると示されるブロックは、更なる確認なしで重複除去することができる。
動作208は、既存のボリュームの重複除去値を計算することも含むことができる。例えば、重複除去プロセスが1テラバイト(TB)のボリュームから200ギガバイト(GB)を取り除く場合、節約は最初の1TBの20パーセントとすることができる。
動作210において、重複除去エンジンは既存のボリュームをスタンバイリストに割り当て、また、新たなボリュームをスタンバイリストに割り当てる。上述したように、方法200は既に進行中の追加のボリュームを排除せず、他のボリュームを追加でスタンバイリストに割り当てることができる。また、他のボリュームは優先リストに既に割り当てられている場合もある(以下で更に説明する)。
重複除去管理部は、スタンバイリストにおいてボリュームの変更ログの作成を実行する。この例では、変更ログの作成は、特定のボリュームに記憶されるデータのフィンガープリントを、そのデータがそのボリュームに書き込まれるときに作成することを含む。変更ログは、最も近時の重複除去プロセス以降のボリュームに対するデータ変更を表す。前回の重複除去プロセス以降、データがボリュームに書き込まれるにつれ、ボリュームの変更ログは増大する。次の重複除去プロセス中、重複除去管理部は変更ログ内のフィンガープリントを変更ログ内の他のフィンガープリントと比較して、重複データが加えられたか否かを判断する。
重複除去管理部は変更ログをフィンガープリントデータベースと変更することもできる。上記で説明したように、重複フィンガープリントが見つかると、基礎を成すデータブロックは重複であると確認される場合もされない場合もあり、その後、単一の保持されるコピーのみが保たれ、残りのブロックがその単一の保持されるブロックへの参照(例えばポインター)と置き換えられる。重複フィンガープリントは削除され、変更ログの残りのフィンガープリントがフィンガープリントデータベースに加えられ、このためフィンガープリントデータベースは各重複除去動作とともに成長する。同様に、変更ログは重複除去動作間で成長するが、重複除去動作の完了時にゼロ又はほぼゼロに戻る。
動作210aは、スタンバイリスト上のボリュームごとに重複除去ポテンシャルを計算することを含む。所与のボリュームの各重複除去動作により、そのボリュームの重複除去値は、最も近時の重複除去動作によって達成される空間節約を計上するように更新される。多くの例において重複除去値のこの反復計算は、古い空間節約及び新たな空間節約についての加重平均を用いることを含む。上記の1つの例では、最初の1TBの20パーセントの重複除去値が計算された。この例を続けると、後続の重複除去動作の結果として、100GBのデータの10パーセントの空間節約がもたらされる場合、計算は10パーセントの節約を重み付けするよりも10倍多く20パーセントの節約を計算において重み付けすることができる(1TBは100GBの10倍であるため)。結果として得られる重複除去値は、1.1TBに対し19.1%である。重複除去値は、各重複除去動作についてボリュームごとに反復的に計算される。
1つの例において、重複除去管理部は、節約ポテンシャルを更新するときに、その節約ポテンシャルが適用するユーザーデータ量を記録する。後続の動作の後、重複除去管理部は古い節約ポテンシャルをその量により重み付けし、その動作によって処理されるデータ量によって重み付けされた新たな節約ポテンシャルを加える。式(1)は節約ポテンシャルを反復的に計算する1つの例示的な技法を提供する。
式(1) 新たなSP=(古いSP×古いボリュームサイズ)+(動作SP×動作によって処理されるデータ)/(古いボリュームサイズ+動作によって処理されるデータ)
式中、SPは節約ポテンシャルであり、新たなボリュームサイズはボリューム内のユーザーデータ量に等しい。空間節約管理部は、任意の適切なデータ構造を用いてそのような情報を記憶することができる。
ボリュームのそれぞれが、動作時に継続的にデータを記憶し、それに従って自身の変更ログを成長させる。1つの例において、変更ログが所定の容量閾値(例えば20パーセントフル)に到達すると、重複除去管理部はその特定のボリュームに対する重複除去要求を重複除去キューに入れる。動作210bにおいて以下で説明するように、重複除去キューにおける要求は、必ずしもそれらが入力される順序で完了しなくてもよい。代わりに、スタンバイログ内のボリュームについて上記で説明した重複除去動作は、所与のボリュームの重複除去ポテンシャルに従って配分される。
動作210bにおいて、重複除去管理部は重複除去ポテンシャルに従ってスタンバイリストボリューム間の重複除去をスケジューリングする。例えば、スタンバイリストボリュームを重複除去する前に、重複除去管理部は重複除去キュー内の要求を用いて各ボリュームの重複除去値を調べる。より高い重複除去値を有するスタンバイリストボリュームが、より低い重複除去値を有する他のスタンバイリストボリュームの前に重複除去のために選択される。一方、優先リスト上のボリュームは、スタンバイリスト上のボリュームの前に選択される。これについては図3及び図4に関して以下でより詳細に説明する。
動作212は、スタンバイリストから優先リストへ1つ又は複数のボリュームを動かすことを含む。このため、1つの態様において、幾つかのボリュームが、重複除去ポテンシャル及び利用可能なシステムリソースに従って1つのリストから別のリストに経時的に移される。この例では、スタンバイリストボリュームに対する要求の前に優先リストボリュームに対する要求が処理されるので、動作212はそれ自体、重複除去ポテンシャルによる重複除去動作のスケジューリング方法とみなすことができる。
方法200は、ボリュームの重複除去がそのボリュームの実際のデータ変更の速さに遅れずに対応できるか否かをチェックする。ボリュームの重複除去が遅れずに対応できる場合、ボリュームは優先リストの候補とすることができる。例えば、ボリュームは、その変更ログが所定の期間内にオーバーフローしていない場合、かつシステムがそのボリューム(及び優先リスト内の任意の他のボリューム)を重複除去することができることを適時に確保するのに十分な利用可能なリソースを含む場合に、スタンバイリストから優先リストに移すことができる。上記の例では、重複除去管理部は、ボリュームの変更ログが所定の容量閾値(例えば20パーセントフル)に達したときに、重複除去キュー内に重複除去要求を配置する。要求が重複除去キュー内に加わり、完了を待機しているとき、対応するボリュームの変更ログが20パーセントから、場合によっては100パーセントにまで増加し、これはオーバーフローしていると言われる。オーバーフローした変更ログは、そのボリュームのための次の重複除去動作においてクリアされる。変更ログオーバーフローは通常、変更ログがオーバーフローするときに、重複除去管理部が幾つかの重複の検出に失敗する場合があり、幾つかのフィンガープリントをフィンガープリントデータベースに追加するのに失敗する場合があるので、望ましくない場合がある。このため、実現可能な節約ポテンシャルを有するボリュームについて、変更ログオーバーフローは、提供される節約を低減する場合がある。重複除去管理部は、変更ログがオーバーフローしたときに、及びその後周期的に、重複除去管理部に送信される通知を用いること等によって任意の適切な方法で変更ログオーバーフローを通知されることができる。
より高い重複除去ポテンシャルを有するボリュームは、より頻繁に重複除去され、重複除去キューにおいてより早く動作を受け、したがって変更ログオーバーフローを有する可能性がより低いと予期することができる。したがって、幾つかの実施形態において、変更ログがオーバーフローしてからの時間を、最も良好な節約ポテンシャルを有するボリュームを特定する方法として用いることができる。
しかしながら、実施形態の範囲は、優先リストに移すボリュームを特定するためのいかなる特定の技法にも限定されない。例えば、他の実施形態は、ボリュームを優先リストに移すための判断基準を、重複除去値のみに基づかせることもできるし、所定の時間内で実行される重複除去数に基づかせることもできるし、任意の他の適切なメトリックに基づかせることもできる。
動作212は、スタンバイリストボリュームのうちの幾つかを、スタンバイリストから、ボリュームが重複除去について検討されない第3のリストに移すことも含むことができる。最も少ない量の重複除去節約ポテンシャルを有するボリュームを第3のリストに動かすことができる。1つの例示的な実施形態では、所定の時間にわたる変更ログオーバーフローを有する残されたボリュームを第3のリストに移すことができるが、実施形態の範囲は、ボリュームが第3のリストに移されるべきであると判断する任意の適切な技法を含むことができる。
様々な実施形態が方法200の動作を追加、省略、再構成又は変更することができる。例えば、幾つかの実施形態は、異なる既存のボリューム又は異なる新たなボリュームが重複除去管理部に提示されるたびに動作202、204、206、208を実行することを含む。さらに、幾つかの実施形態は、場合によって、例えばシステムリソースが減少したときに、ボリュームを優先リストからスタンバイリストに移すことも含むことができる。このため、幾つかの実施形態は、ボリュームをスタンバイリストから優先リストに移し、場合によっては再びスタンバイリストに戻すことによって、システムリソースの変動する利用可能性に適応する連続した動作を提供する。そのような実施形態は、例えば、最も低い重複除去ポテンシャルを有する1つ又は複数の優先リストボリュームを選択することを含む、スタンバイリストに移す優先リストボリュームを選択する任意の適切な技法を用いることができる。スタンバイリストに戻される優先リストボリューム数は、例えば、システムリソースが変化した量に基づくことができる。
システムリソースの変化は、システムにおける複数の異なる変化を指す場合がある。システムリソースの変化の1つのタイプは、システムに更なるディスク及び/又はプロセッサを追加することを含む。そのような追加によってシステムは更なる処理を行うことが可能になるので、これはシステムリソースの増加とみなすことができる。同様に、ディスク又はプロセッサの減少はシステムリソースの減少とみなすことができる。リソースの別の変化は、ユーザー作業負荷が増加又は減少し、この結果、残りのシステムリソースの減少又は増加が生じるときを含む。
フィンガープリンティングは重複除去に固有であり、圧縮等の他の技術はフィンガープリンティングを行わずに、代わりに全ての又はほぼ全ての追加データを圧縮することができる。さらに、圧縮を用いる例示的なシステムにおいて、システムは圧縮のための空間節約ポテンシャルを計算し、計算された空間節約ポテンシャルに従って圧縮処理リソースを配分することができる。
図3は、1つの実施形態に従って適合される、多数のボリューム間で重複除去のためのリソースを配分する例示的な方法300の図である。ここでもまた、図3は重複除去に焦点を当てているが、図3の原理は他の空間節約技術にも同様に当てはまることが理解される。方法300は、記憶サーバーにおける空間節約管理部によって、又はストレージシステムにおける任意の他の場所で実行することができる。
動作302において、重複除去管理部は重複除去要求を生成し、この要求を重複除去キューに配置する。上記の例において、重複除去管理部は、ボリュームの変更ログが20パーセントフルに達すると、重複除去キュー内にそのボリュームに対する要求を配置する。しかしながら、実施形態の範囲はその技法に制限されない。様々な実施形態が、任意の判断基準又は判断基準の組み合わせを用いて、重複除去要求を生成するときを判断することができる。
動作304において、要求が優先リスト内のボリュームに対するものであるか否かが識別される。要求が優先リスト内のボリュームに対するものである場合、動作306において、重複除去管理部は他のボリュームの前にそのボリュームに対し重複除去をスケジューリングする。動作306は、スタンバイリスト上のボリュームに対する別の要求よりも高い優先度をその要求に割り当てることを含むことができる。
要求が優先リストにないボリュームに対するものである場合、動作308において、重複除去管理部は、スタンバイリスト内の重複除去節約ポテンシャルに基づいてボリュームの重複除去をスケジューリングする。換言すれば、スタンバイリスト内の他のボリュームがより高いポテンシャルを有し、待ち状態の重複除去要求を有する場合、動作302の要求は、他の要求の後に処理されるように待機することができる。さらに、要求は、処理されるとしても、任意の優先リストボリュームが処理された後に処理される。
上記で動作308において、少なくともスタンバイリスト内の重複除去リソースを、対応するボリュームの重複除去値に従って配分することができることが留意された。しかしながら、様々な実施形態は、単に重複除去値によってボリュームをランク付けするよりも柔軟性が高く高性能の配分に取り組むことができる。1つの例において、2つ以上のボリュームが類似した重複除去値(例えばそれぞれ25パーセント及び30パーセント)を有し、それらの重複除去節約ポテンシャルも類似していることが仮定される。したがって、そのような例示的な実施形態は、いずれのボリュームが最大の変更ログを有するかに従って、これらの2つのボリューム間の関係において重複除去リソースを配分することができる。このようにして、重複除去管理部は、これらのボリュームのうちの1つが変更ログオーバーフローを有する機会を最小にするように機能する。重複除去プロセス内の効率を更に促進するために、幾つかの実施形態において用いるように他の変更及び追加を適合させることができる。
図4は、一実施形態に従って、ボリューム間で空間節約リソースを配分するように適合された、例示的な方法400の図である。図3はより概念的に示されているが、図4は、空間節約管理部が内部に多数のエントリを有する重複除去キューをトラバースするための特定の技法を説明するように意図される。したがって、図4は、より有望なボリュームにリソースを最初に配分する上記で与えられた原理に従って、キューから重複除去要求を選択する少なくとも1つの方法を示している。図4の原理は、圧縮等の他の空間節約技術を実施するシステムに適用してもよい。
動作402において、重複除去エンジンは重複除去要求キューにアクセスする。幾つかの実施形態では、重複除去動作は、或る特定の時間帯にのみ実行することができ及び/又は任意の所与の時点に実行することができる数を制限することができる。したがって、動作402は重複除去動作が開始する或る所定の時点又はイベント時に実行することができる。
動作404において、重複除去エンジンは、優先リスト内のボリュームに対する重複除去要求が存在するか否かキューを検査する。優先リストボリュームに対する要求が存在する場合、重複除去エンジンは動作406においてボリュームを重複除去する。場合によっては、キュー内の優先リストボリュームに対し、2つ以上の要求が存在する場合がある。様々な実施形態は、任意の適切な技法を用いて、優先リスト要求のうちのいずれを最初に完了させるかを判断することができる。例えば、重複除去エンジンは、要求が受信される順序、変更ログサイズ、重複除去値等の任意の数のメトリックに基づいて優先リストボリューム間で選択することができる。
優先リストボリュームに対する重複除去要求が存在しない場合、動作408において、重複除去エンジンは、スタンバイリスト内のボリュームに対する要求が存在するか否かについてキューを調べる。スタンバイリストボリュームに対する要求が存在しない場合、重複除去エンジンは動作402に戻ることもできるし、後の時点まで重複除去プロセスを単に終了することもできる。
スタンバイリストボリュームに対する少なくとも1つの重複除去要求が存在すると判断される場合、重複除去エンジンは、最も高い重複除去ポテンシャルを有するボリュームに対応する要求を選択する。
様々な実施形態は、図4の1つ又は複数の動作を追加、省略、再構成又は変更することができる。例えば、方法400は、連続して、又は或る特定の時点にのみ実行することができ、任意のイベントにおいて、重複除去動作が終わる前に複数回ループすることができる。実際に、幾つかのシステムは、任意の時間帯中に重複除去動作を可能にするが、任意の一時点における重複除去動作数を8に限定する。このように、幾つかの実施形態は、システム内で同時に実行される複数の重複除去動作を含むことができる。当然ながら、それは一例にすぎず、様々な実施形態において、重複除去動作の時間及び/又は多様性を制限する任意の適切な技法を実施することができる。
説明される実施形態は、他の技法を上回る1つ又は複数の利点を含むことができる。例えば、様々な実施形態は、空間節約ポテンシャルを計算する技法を提供し、それによって複数のボリューム間で選択するための知識をもたらす。さらに、様々な実施形態は、実質的な空間節約をもたらす尤度がより高いボリュームに対する空間節約処理を実行することを優先する。そのような優先付けは、空間節約のポテンシャルがより低いボリュームを犠牲にして行われる。したがって、そのような実施形態は、リソースがより効率的かつ効果的に用いられるところにリソースを誘導する。対照的に、幾つかの従来の重複除去システムは、単に重複除去要求が受信される順序に従って重複除去を実行する場合があり、リソースが利用可能でないとき、ボリュームのうちの幾つかは重複除去されない場合がある。しかしながら、重複除去されないボリュームのうちの幾つかは、節約に対する最大のポテンシャルを有するボリュームである場合がある。
様々な実施形態は、ストレージシステムに効率性を加えるのみでなく、信頼性も加えることができる。例えば、空間節約アプリケーションを購入する顧客は、システムにおける或る特定の量の空間節約に頼ることができることを予期する場合がある。しかしながら、従来のストレージシステムでは、最も高い重複除去ポテンシャルを有するボリュームが実際に重複除去されるか否かに依拠して、予期される空間節約が得られる場合も得られない場合もある。本開示の幾つかの実施形態は、より高い空間節約ポテンシャルを有するボリュームがまず重複除去され、それによってより一貫した空間節約が得られることを確実にする。顧客は、解放された記憶空間を用いるとき、空間節約から即座に利益を受ける。顧客は、プロビジョニング決定を行うときに一貫した節約に頼ることが可能であることによって、長期にわたって利益を受けることもできる。上記の例では、優先リストは、固定のボリューム組に優先度を与えることによって長期の利益が実現されることを可能にする。
コンピューター実行可能命令により実施されるとき、本開示の実施形態の様々な要素は、本質的に、そのような様々な要素の動作を定義するソフトウェアコードである。実行可能命令又はソフトウェアコードは、有形読み出し可能媒体(例えば、ハードドライブ媒体、光媒体、RAM、EPROM、EEPROM、テープ媒体、カートリッジ媒体、フラッシュメモリ、ROM、メモリスティック、ネットワークストレージ装置等)から取得することができる。実際に、読み出し可能媒体は、情報を記憶することができる任意の媒体を含むことができる。記憶サーバー(例えば図1のサーバー102)における1つ又は複数のプロセッサ、ストレージサブシステム(例えばサブシステム104及び106)、又はネットワークストレージシステムにおける他の部分は、そのような命令を実行して、方法200、300、400(図2〜図4)の動作のうちの1つ又は複数を提供することができる。
上記は、当業者が本開示の態様をより良好に理解することができるように幾つかの実施形態の特徴を概説している。当業者であれば、本明細書において紹介した実施形態の同じ目的を実行し及び/又は同じ利点を達成するために、他の処理及び構造を設計又は変更する基礎として本開示を容易に用いることができることを理解すべきである。また、当業者であれば、そのような等価な構造は、本開示の趣旨及び範囲から逸脱するものでなく、本開示の趣旨及び範囲から逸脱することなく本明細書において様々な変更、置換及び変形を行うことができることを理解すべきである。

Claims (21)

  1. ストレージハードウェアに記憶される複数のストレージオブジェクトを有するシステムにおいて実行される方法であって、
    前記ストレージオブジェクトごとに、それぞれの空間節約ポテンシャルを経時的に反復して生成することと、
    前記ストレージオブジェクトのそれぞれを空間節約ポテンシャルについて解析し、少なくとも部分的に空間節約ポテンシャルに基づいてリソースの優先度を割り当てることによって、前記複数のストレージオブジェクト間で空間節約動作をスケジューリングすることと、
    を含む、ストレージハードウェアに記憶される複数のストレージオブジェクトを有するシステムにおいて実行される方法。
  2. それぞれの空間節約ポテンシャルを生成することは、
    前記ストレージオブジェクトごとに、
    前回の空間節約動作以降に受信されたデータを特定することと、
    前記特定されたデータに対し空間節約動作を行うとともに、該特定されたデータについて空間節約値を計算することと、
    以前に加えられたデータの累積空間節約値を用いて前記特定されたデータの前記空間節約値の加重平均を行うことであって、前記加重平均によって前記それぞれの空間節約ポテンシャルが生成されることと、
    を含む、請求項1に記載の方法。
  3. 所与のストレージオブジェクトのそれぞれの空間節約ポテンシャルは、該所与のストレージオブジェクトの前回の空間節約結果に基づく、請求項1に記載の方法。
  4. スケジューリングすることは、
    前記ストレージオブジェクトのうちの2つ以上が類似した空間節約ポテンシャルを有することを特定することと、
    前記特定することに応答して、相対的な変更ログサイズに基づいて前記ストレージオブジェクトのうちの2つ以上の中から空間節約動作をスケジューリングすることと、
    を含む、請求項1に記載の方法。
  5. 前記複数のストレージオブジェクトを第1のリストに最初に割り当てることと、
    経時的に、それぞれの空間節約ポテンシャル及び利用可能なシステムリソースに基づいて、前記ストレージオブジェクトの第1の部分組を第2のリストに割り当てることと、
    を更に含む、請求項1に記載の方法。
  6. 前記ストレージオブジェクトの前記第1の部分組を割り当てることは、前記第1の部分組内の前記ストレージオブジェクトがデータ変更の速さに遅れずに対応する空間節約動作を有しているか否かに少なくとも部分的に基づく、請求項5に記載の方法。
  7. システムリソースの変化又は空間節約ポテンシャルの変化に応じて、前記ストレージオブジェクトの前記第1の部分組のうちのストレージオブジェクトを、前記第2のリストから前記第1のリストに再度割り当てることを更に含む、請求項5に記載の方法。
  8. 前記第2のリストは、前記ストレージオブジェクトのうちの、より高いそれぞれの空間節約ポテンシャルを有するストレージオブジェクトを含む、請求項5に記載の方法。
  9. 経時的に、前記ストレージオブジェクトの第2の部分組を、前記ストレージオブジェクトのうちの、より低いそれぞれの空間節約ポテンシャルを有する他のストレージオブジェクトを含む第3のリストに割り当てることを更に含む、請求項8に記載の方法。
  10. ネットワークストレージシステム内の記憶サーバーによって実行される、請求項1に記載の方法。
  11. 複数のストレージオブジェクトについて空間節約を管理するためのコンピュータープログラムロジックを有形に記憶するコンピューター読み出し可能媒体を有するコンピュータープログラム製品であって、該コンピュータープログラム製品は、
    前記複数のストレージオブジェクトに対し、経時的に複数の空間節約動作を行うコードと、
    前記ストレージオブジェクトごとにそれぞれの空間節約値を計算するコードであって、それによって、所与のストレージオブジェクトについての各後続の空間節約動作の結果として、該所与のストレージオブジェクトについて空間節約値が反復的に再計算される、コードと、
    より高いそれぞれの空間節約値を有する前記ストレージオブジェクトの部分組のための処理リソースを優先付けすることによって該処理リソースを空間節約要求に配分するコードと、
    を備える、コンピュータープログラム製品。
  12. 前記複数のストレージオブジェクトを第1のリストに最初に割り当てることと、
    経時的に、それぞれの空間節約ポテンシャルに基づいて、前記ストレージオブジェクトの第1の部分組を第2のリストに割り当てることと、
    を更に含む、請求項11に記載の方法。
  13. 前記ストレージオブジェクトの前記第1の部分組を割り当てることは、前記第1の部分組内の前記ボリュームがデータ変更の速さに遅れずに対応する空間節約動作を有しているか否かに少なくとも部分的に基づく、請求項12に記載の方法。
  14. システムリソースの変化又は空間節約ポテンシャルの変化に応じて、前記ストレージオブジェクトの前記第1の部分組のうちのストレージオブジェクトを、前記第2のリストから前記第1のリストに再度割り当てることを更に含む、請求項12に記載の方法。
  15. 前記第2のリストは、前記ストレージオブジェクトのうちの、より高いそれぞれの空間節約ポテンシャルを有するストレージオブジェクトを含む、請求項12に記載の方法。
  16. 不揮発性記憶媒体を含むストレージサブシステムであって、該不揮発性記憶媒体は複数のストレージオブジェクトに仮想的に分割される、ストレージサブシステムと、
    前記ストレージサブシステムと通信して、前記複数のストレージオブジェクト内の空間節約のための処理リソースの配分を管理するコンピューターであって、該コンピューターは、以下の動作、すなわち、
    前記ストレージオブジェクトごとのそれぞれの空間節約ポテンシャルを、複数の空間節約動作にわたって反復的に計算することと、
    空間節約のために前記ストレージオブジェクト間で選択することであって、それによって、第2のストレージオブジェクトの第2の空間節約ポテンシャルよりも高い第1の空間節約ポテンシャルを有する第1のストレージオブジェクトが、前記第1の空間節約ポテンシャルと前記第2の空間節約ポテンシャルとの差に少なくとも部分的に基づいて、空間節約のための前記処理リソースの配分における優先権を受けることと、
    を実行するように構成される、コンピューターと、
    を備える、システム。
  17. 前記コンピューターは、記憶ネットワークを介して前記ストレージサブシステムと通信する記憶サーバーを備える、請求項16に記載のシステム。
  18. 前記コンピューターは、以下の動作、すなわち、
    第1のグループと第2のグループとの間で前記複数のストレージオブジェクトを割り当てることであって、前記第1のグループは前記ストレージオブジェクトの第1の部分組を含み、前記第2のグループは前記ストレージオブジェクトの第2の部分組を含み、前記第1の部分組は、前記第2の部分組のそれぞれの空間節約ポテンシャルに対してより高いそれぞれの空間節約ポテンシャルを有すること、
    を実行するように更に構成される、請求項16に記載のシステム。
  19. 前記コンピューターは、以下の動作、すなわち、
    前記第1の部分組が前記第2の部分組よりも優先されるように前記空間節約のための処理リソースを配分すること、
    を実行するように更に動作可能である、請求項18に記載のシステム。
  20. 前回の空間節約動作の結果を含む加重平均を実行することによって前記それぞれの空間節約ポテンシャルが計算される、請求項16に記載のシステム。
  21. 前記それぞれの空間節約ポテンシャルは重複除去ポテンシャル及び圧縮ポテンシャルのうちの少なくとも1つを含む、請求項16に記載のシステム。
JP2015503248A 2012-03-30 2013-03-11 空間節約(spacesavings:空き容量節約)を達成するように処理をスケジューリングするためのシステム、方法及びコンピュータープログラム製品 Pending JP2015517147A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/436,554 US8812456B2 (en) 2012-03-30 2012-03-30 Systems, methods, and computer program products for scheduling processing to achieve space savings
US13/436,554 2012-03-30
PCT/US2013/030279 WO2013148143A1 (en) 2012-03-30 2013-03-11 Systems, methods, and computer program products for scheduling processing to achieve space savings

Publications (2)

Publication Number Publication Date
JP2015517147A true JP2015517147A (ja) 2015-06-18
JP2015517147A5 JP2015517147A5 (ja) 2016-07-14

Family

ID=49236410

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015503248A Pending JP2015517147A (ja) 2012-03-30 2013-03-11 空間節約(spacesavings:空き容量節約)を達成するように処理をスケジューリングするためのシステム、方法及びコンピュータープログラム製品

Country Status (4)

Country Link
US (2) US8812456B2 (ja)
JP (1) JP2015517147A (ja)
CN (1) CN104272244B (ja)
WO (1) WO2013148143A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8819208B2 (en) 2010-03-05 2014-08-26 Solidfire, Inc. Data deletion in a distributed data storage system
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9262428B2 (en) 2012-04-23 2016-02-16 International Business Machines Corporation Preserving redundancy in data deduplication systems by designation of virtual address
US9779103B2 (en) 2012-04-23 2017-10-03 International Business Machines Corporation Preserving redundancy in data deduplication systems
US8996881B2 (en) 2012-04-23 2015-03-31 International Business Machines Corporation Preserving redundancy in data deduplication systems by encryption
US10133747B2 (en) 2012-04-23 2018-11-20 International Business Machines Corporation Preserving redundancy in data deduplication systems by designation of virtual device
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
US9565250B2 (en) * 2014-05-30 2017-02-07 Microsoft Technology Licensing, Llc Data transfer service
CN105468733B (zh) * 2015-11-23 2019-04-19 上海爱数信息技术股份有限公司 一种基于源端数据重删的卷复制方法
US10929022B2 (en) * 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10318161B2 (en) * 2016-06-20 2019-06-11 Red Hat Israel, Ltd. Virtual machine initiated memory deduplication
US10664200B2 (en) * 2016-08-30 2020-05-26 International Business Machines Corporation Directing read request with disk deduplication
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets
US10255314B2 (en) * 2017-03-16 2019-04-09 International Business Machines Corporation Comparison of block based volumes with ongoing inputs and outputs
US10795861B2 (en) 2018-06-20 2020-10-06 International Business Machines Corporation Online measurement of potential deduplication efficiency
CN109005577B (zh) * 2018-06-29 2021-06-18 歌尔科技有限公司 一种数据访问方法、装置、智能穿戴设备及存储介质
US11010082B2 (en) * 2018-10-31 2021-05-18 EMC IP Holding Company LLC Mechanisms for performing accurate space accounting for volume families
US11221778B1 (en) 2019-04-02 2022-01-11 Pure Storage, Inc. Preparing data for deduplication
US11645013B2 (en) 2019-11-25 2023-05-09 International Business Machines Corporation Managing dispersed storage network background tasks
US11409667B1 (en) * 2021-04-15 2022-08-09 Dell Products, L.P. Method and apparatus for accelerating deduplication processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011099098A1 (ja) * 2010-02-10 2011-08-18 日本電気株式会社 ストレージ装置
US8095756B1 (en) * 2009-04-28 2012-01-10 Netapp, Inc. System and method for coordinating deduplication operations and backup operations of a storage volume

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5990810A (en) 1995-02-17 1999-11-23 Williams; Ross Neil Method for partitioning a block of data into subblocks and for storing and communcating such subblocks
WO2003005203A2 (en) 2001-07-03 2003-01-16 Research In Motion Limited System and method of object-oriented persistence
US8280926B2 (en) * 2003-08-05 2012-10-02 Sepaton, Inc. Scalable de-duplication mechanism
US7426617B2 (en) 2004-02-04 2008-09-16 Network Appliance, Inc. Method and system for synchronizing volumes in a continuous data protection system
US8165221B2 (en) 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US8117464B1 (en) 2008-04-30 2012-02-14 Netapp, Inc. Sub-volume level security for deduplicated data
US8112661B1 (en) 2009-02-02 2012-02-07 Netapp, Inc. Method and system for changing a protection policy for a dataset in a network storage system
US8108447B2 (en) * 2010-03-11 2012-01-31 Symantec Corporation Systems and methods for garbage collection in deduplicated data systems
CN101916171A (zh) * 2010-07-16 2010-12-15 中国科学院计算技术研究所 一种并发层次式的重复数据消除方法和系统
KR20120072909A (ko) * 2010-12-24 2012-07-04 주식회사 케이티 내용 기반 중복 방지 기능을 가지는 분산 저장 시스템 및 그 오브젝트 저장 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
US8554918B1 (en) * 2011-06-08 2013-10-08 Emc Corporation Data migration with load balancing and optimization

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095756B1 (en) * 2009-04-28 2012-01-10 Netapp, Inc. System and method for coordinating deduplication operations and backup operations of a storage volume
WO2011099098A1 (ja) * 2010-02-10 2011-08-18 日本電気株式会社 ストレージ装置

Also Published As

Publication number Publication date
CN104272244A (zh) 2015-01-07
WO2013148143A1 (en) 2013-10-03
CN104272244B (zh) 2017-09-29
US20130262404A1 (en) 2013-10-03
US9280571B2 (en) 2016-03-08
US8812456B2 (en) 2014-08-19
US20140358873A1 (en) 2014-12-04

Similar Documents

Publication Publication Date Title
JP2015517147A (ja) 空間節約(spacesavings:空き容量節約)を達成するように処理をスケジューリングするためのシステム、方法及びコンピュータープログラム製品
CN106662981B (zh) 存储设备、程序和信息处理方法
US8375180B2 (en) Storage application performance matching
US9442954B2 (en) Method and apparatus for achieving optimal resource allocation dynamically in a distributed computing environment
US8429307B1 (en) Application aware intelligent storage system
JP5500256B2 (ja) ストレージシステム
US8769225B2 (en) Optimization of data migration between storage mediums
US11182344B2 (en) File granular data de-duplication effectiveness metric for data de-duplication
EP2966562A1 (en) Method to optimize inline i/o processing in tiered distributed storage systems
US11893256B2 (en) Partitioning of deduplication domains in storage systems
US11914894B2 (en) Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system
US9122614B1 (en) Modular block-allocator for data storage systems
US10754556B2 (en) Prioritization of virtual volumes to take offline in a thin provisioning system
US10895995B2 (en) Capacity based load balancing in distributed storage systems with deduplication and compression functionalities
US20170060472A1 (en) Transparent hybrid data storage
US8499131B2 (en) Capping a number of locations referred to by chunk references
Douglis et al. Content-aware load balancing for distributed backup
US10489074B1 (en) Access rate prediction in a hybrid storage device
US10809941B2 (en) Multi-tiered storage
Cha et al. Analysis of i/o performance for optimizing software defined storage in cloud integration
US10705752B2 (en) Efficient data migration in hierarchical storage management system
US20200073554A1 (en) Applying Percentile Categories to Storage Volumes to Detect Behavioral Movement
US10809937B2 (en) Increasing the speed of data migration
TW201643755A (zh) 具有輕量級容器節點的儲存系統
US11675539B2 (en) File system operations for a storage supporting a plurality of submission queues

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20151127

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160311

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160422

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170502

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20171031