JP6109293B2 - コンピューティング環境におけるデータ重複排除システム中でデータ冗長性を維持するための方法、システム、およびコンピュータ・プログラム - Google Patents

コンピューティング環境におけるデータ重複排除システム中でデータ冗長性を維持するための方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP6109293B2
JP6109293B2 JP2015506079A JP2015506079A JP6109293B2 JP 6109293 B2 JP6109293 B2 JP 6109293B2 JP 2015506079 A JP2015506079 A JP 2015506079A JP 2015506079 A JP2015506079 A JP 2015506079A JP 6109293 B2 JP6109293 B2 JP 6109293B2
Authority
JP
Japan
Prior art keywords
data
data segment
selected data
deduplication
encrypted
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.)
Active
Application number
JP2015506079A
Other languages
English (en)
Other versions
JP2015515216A (ja
Inventor
フィスケ、ラフル、エム
ジョーンズ、カール、エヴァン
ロイ、サブホジット
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 JP2015515216A publication Critical patent/JP2015515216A/ja
Application granted granted Critical
Publication of JP6109293B2 publication Critical patent/JP6109293B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control 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
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computational Linguistics (AREA)
  • Storage Device Security (AREA)

Description

本発明は、一般にコンピュータに関し、より詳細には、データ重複排除システム(datadeduplication system)が組み込まれたコンピューティング環境で冗長性および他のデータ・セキュリティ特性を維持するための方法、システム、およびコンピュータ・プログラムに関する。
コンピュータおよびコンピュータ・システムは、今日の社会において様々な場に見出される。コンピューティング環境およびネットワークは、家庭、職場、学校、政治、および他の場に見出すことができる。コンピューティング環境はますますデータを1つまたは複数の記憶環境で記憶しているが、これらの記憶環境は、多くの場合、ユーザに提示されるローカル・インタフェースから離れている。
これらのコンピューティング記憶環境は、ディスク・ドライブなど、しばしば共同で働く多くの記憶デバイスを使用して、多量のデータの記憶、取出し、および更新を行うことができ、次いでこのデータを、データの要求元または送信元であるホスト・コンピュータに提供することができる。場合によっては、いくつかのデータ記憶サブシステムが、単一のデータ記憶システムとして一括管理される。これらのサブシステムは、ホスト「シスプレックス(sysplex)」(システム・コンプレックス)構成によって管理されてよく、これらの構成は、いくつかの処理ユニットを、または処理ユニットのクラスタを結合する。このようにすれば、様々なタイプの記憶デバイスをしばしば含む多層/多システム・コンピューティング環境を使用して、大量のデータを整理および処理することができる。
多くの多層/多システム・コンピューティング環境は、データ重複排除技術を実装して、記憶デバイスにまたがる複製される記憶域の量を削減することによって記憶性能を向上させる。データ重複排除システムは、データを記憶するのに必要とされる物理記憶域の総量を削減するのに役立つので、ますます利用されつつある。この削減は、重複するデータが複数回にわたって記憶されることが確実にないようにすることによって達成される。そうではなく、例えば、データ・チャンクが、既に記憶済みのデータ・チャンクと一致する場合は、新しいデータ・チャンクに新しい物理記憶空間を割り振るのではなく、元のデータへのポインタを仮想記憶マップに記憶する。
しかし、状況によっては、重複排除の挙動は、例えばホストされるアプリケーションの冗長性要件、または記憶ポリシ、または他の要件に反する場合がある。冗長性要件を有するデータが保護され、しかもなお、そのような要件を有さない残りのデータには重複排除を行えるようにすることによって、重複排除システムの利益が減少しないメカニズムが必要とされている。
以上に鑑みて、データ重複排除システム中でデータ冗長性を維持するための様々な実施形態を開示する。一実施形態では、単なる例として、このような維持の方法を開示する。データ重複排除システムを介して書き込まれることになる選択されたデータ・セグメントが重複排除操作を受けないように、選択されたデータ・セグメントが暗号化される。
前述の例示的な実施形態に加えて、様々なシステムおよびコンピュータ・プログラム実施形態も提供され、これらは、関連する利点をもたらす。
本発明の利点が容易に理解されるように、上に簡単に述べた本発明に関するより詳しい記述を、添付の図面に示す特定の実施形態を参照することにより提供する。これらの図面は本発明の典型的な実施形態のみを示し、したがって本発明の範囲を限定するものと見なすべきでないことを理解した上で、添付の図面を使用してさらに具体的かつ詳細に本発明について記述および説明する。
本発明の態様を実装できる例示的なコンピューティング環境を示すブロック図である。 やはり本発明の態様をその中で実装できる、データ記憶システムのハードウェア構造を示すブロック図である。 本発明の態様をその中で実装できる、例示的なデータ・セグメントのブロック図である。 暗号化された書込みデータを得るための、暗号化モジュールを介した例示的なデータ書込みプロセスのブロック図である。 暗号化された書込みデータを、データ重複排除エンジンおよびキャッシュを介して物理記憶域に書き込む例示的なプロセスの関連ブロック図である。 本発明による、データ重複排除システム中で冗長性を保証するための例示的な方法の図である。 本発明の態様をその中で実装できる例示的なデータ処理方法の図である。 やはり本発明の態様をその中で実装できる、追加の例示的なデータ処理方法の図である。
記憶コントローラにおけるデータ重複排除は、通常はアプリケーションの「陰で」働き、また、重複排除操作がアプリケーションのニーズに反して実施されるときにアプリケーションの利益とは逆に作用することがある。この状況は、アプリケーションが、同じデータの複数のコピーを書き込んで複数の物理コピーを保持しようとするが、重複排除サブシステム(重複排除エンジン)がこれらの一致するコピーを見つけ、コピーの重複を排除してデータを記憶してしまう場合に、生じることがある。このことは、アプリケーションにとって不利益である可能性があり、そのアプリケーションは、様々な場所で複数のコピーを見出すことを予期し、またそのようにしたと記憶サブシステムによって思わされるが、実際にはデータの単一のコピーしか書き込まれていない。
次の例を考えてみる。ファイル・システムは普通、「スーパーブロック」すなわち、ブロックベースの記憶デバイス上のファイル・システムを記述するメタデータのセグメント(または他のメタデータ情報)の、複数の物理コピーを仮想ディスクに書き込んで、冗長性を保証することを好む。スーパーブロックの内容は同じなので、データ重複排除の結果、スーパーブロックの単一の物理コピーが保持されることになり、同じ物理ブロックへ複数の仮想アドレスがポイントされることになる。この状況は、きわめて不得策である。というのは、スーパーブロックの冗長コピーがないので、スーパーブロックの物理コピー上の単一ブロックが損失すれば、ファイル・システムが完全に使用不可能になるからである。従来、データ重複排除システムにおけるこの問題に直接に対処する既存の方法はない。
様々な間接的な方法を利用して、この問題への対処を試みることはできる。一例では、データ重複排除サブシステムが物理記憶域を切り分ける元となる記憶域プールを、ミラーリングすることができる(すなわち、同じデータのコピーを2つまたは3つ含む)。よって、重複排除にもかかわらず、複数の冗長コピーを生み出すことができる。しかしこれは、次の理由で、アプリケーションに対する保護として不十分である。第1に、アプリケーションは、同じデータのコピーを、例えば10個保持したい場合がある。しかし、記憶域プールが2方向ミラーリングされる場合、記憶域プールは、最大2つのコピーしか保持できない。第2に、データ重複排除は、大量の記憶域および複数のファイル・システムにわたる物理記憶域プールを切り分けるので、複数のアプリケーションおよびファイル・システムが、同じ物理記憶域プールを共有する可能性が高い。よって、データ(スーパーブロックのような)の、いくつかのクリティカルなコピーが、同じディスク上に物理的に配置される可能性がある。重複排除は、同じデータの複数のコピーが複数の物理位置に書き込まれないようにすることになるので、クリティカルなデータのコピーの数が減少し、これらのコピーは、複数のファイル・システムについて同じ物理ディスク上に配置される可能性がある。これにより、単一の障害が致命的になるリスクが増大する。
例証する実施形態は、上に論じた問題に対処するための複数のメカニズムを提供する。これらのメカニズムの目標の1つは、記憶コントローラ中の(またはどこに位置しようと)重複排除サブシステムが、クリティカルなデータの複数のコピーを物理的に割り振るアプリケーション要件に対して、データのコピー数を削減する利益のバランスをとることを保証することである。後続の例証する実施形態で述べる各方法は、様々な状況で使用されてよく、これらの状況に特有の付随する利益を有することができる。
このような一実施形態では、選択されたデータ・セグメント(ブロックなど)を、所有元アプリケーションによって暗号化することができ、それにより、データ重複排除システムを「騙して」、選択されたデータが複製でない新しいデータであり新しい記憶空間に割り振られなければならないと思わせることができる。例えば、所有元アプリケーションが同一データの複数の物理コピーを記憶しなければならないデータ・ブロックの場合、アプリケーションは、データ・ブロックの開始論理ブロック・アドレス(LBA)(または別法として、コピー番号など、追加のメタデータ記憶空間を必要としない、データ・ブロックに対する何らかの他のよく知られた鍵(例えば、第1のコピーは鍵1で暗号化され、第2のコピーは鍵2で暗号化される等))でデータを暗号化することができる。同一のコピーを異なる鍵で暗号化することにより、これらのコピーは、調べている重複排除エンジンの目には「異なって」見えることになり、したがって、重複排除エンジンを組み込んだ記憶コントローラまたは他の記憶管理デバイスがブロックの重複を排除しないことが保証される。
前述の暗号化技法は、記憶コントローラ(またはやはり、任意の記憶管理デバイス)が所望の特性を実装するために何も変更する必要がないという利点を有する。所有元アプリケーションもやはり、単純な技法を使用して記憶コントローラを「騙し」または「かつぎ」、これを、余分なオーバヘッドも、かなりの処理またはリソース割振りも被ることなく行う(例えば、当業者なら理解するように、追加のメタデータ記憶オーバヘッドを被るが、追加のリソースを維持する)。
述べた実施形態に鑑みて、書込みが暗号化されなければならないかどうかをアプリケーションが指示する(かつ、それにより、どのデータの重複排除を見送るかを決定する)ことができるようにすることによって、アプリケーションには、アプリケーションが生成するデータに関連する記憶ポリシを実施するためのフレキシビリティが与えられる。このようにして、アプリケーションは、選択されたデータ・ブロックが同一であってもなお別々の物理位置になければならないかどうか判定するのに、重複排除システムよりも優位な立場にある。加えて、記憶コントローラ(または他の記憶管理デバイス)は、重複排除によるデータ削減というその役割を実施し続けると同時に、必要時には重複排除を除外するためにアプリケーションに対する十分な制御が与えられる。
選択されたデータ・チャンクを、暗号化されるものとして指定することによって、非常にきめの細かい制御がアプリケーションに提供され、実装のフレキシビリティがもたらされるがなお、重複排除機能の利点は保持され、重要なデータについては冗長性が保持される。
後続の記述では、本明細書の一部をなし本発明のいくつかの実施形態を示す添付の図面を参照する。本発明の範囲を逸脱することなく、他の実施形態を利用してもよいこと、ならびに、構造上および動作上の変更を加えてもよいことを理解されたい。
図1に目を向けると、本発明の態様をその中で実現できる例示的なコンピュータ・システム10が描かれている。コンピュータ・システム10は中央処理装置(CPU)12を含み、CPU12は、大容量記憶デバイス(複数可)14およびメモリ・デバイス16に接続される。大容量記憶デバイスは、ハード・ディスク・ドライブ(HDD)デバイスを含んでよく、HDDデバイスは、独立ディスク冗長アレイ(RAID)に構成されてよい。後述するように本発明の態様をその中で実装できるデータ管理操作は、システム10中にまたは他の場所に位置するデバイス(複数可)14に対して実行されてよい。メモリ・デバイス16は、電気的消去可能プログラム可能な読取専用メモリ(EEPROM)などのメモリ、または多数の関連デバイスを含んでよい。
メモリ16は、アプリケーション・プログラム15およびアプリケーション・プログラム17を含んで示され、アプリケーション・プログラム17中では、ファイル・システム19ならびに暗号化モジュール21が動作する。アプリケーション15およびアプリケーション17は、データ・チャンクやデータ・ブロックなど、大容量記憶デバイス14などのデバイスに物理的に記憶されたデータのセグメントを、作成、削除、または他の方法で管理することができる。ファイル・システム19は、データの記憶、取出し、および更新を行うための、ならびにデータを含むデバイス(複数可)上の利用可能空間を管理するための手順を提供することによって、アプリケーション・プログラム17が終了した後も保持されることが予期されるデータを整理する手段を提供する。ファイル・システム19は、データを効率的な方式で整理し、デバイス(コンピュータ10またはメモリ16あるいはその両方など)に特有の特性に合わせて調整される。一実施形態では、アプリケーション17はオペレーティング・システム(OS)17とすることができ、ファイル・システム19は、OS17とファイル・システム19との間の密な結合を保持する。ファイル・システム19は、データおよびメタデータへのアクセスを制御するためのメカニズムを提供することができ、また、当業者なら理解するように、本発明のいくつかの態様を促進するのに必要なものなど、データ信頼性を保証するためのメカニズムを含むことができる。ファイル・システム19は、複数のアプリケーション・プログラム15、17がほぼ同時点で同じファイル中のデータを更新するための手段を提供することができる。
暗号化モジュール21を、アプリケーション15、アプリケーション17、ファイル・システム19、または他のコンピューティング・ハードウェアもしくはソフトウェア・コンポーネントと共に使用して、本発明の目的を達成することができる。一実施形態では、例えば、暗号化モジュール21は、重複排除を見送るように指定された選択されたデータ・チャンクを処理して、データ・チャンクの少なくとも一部を、弱いセキュリティ鍵で暗号化する(やはり、かなりの処理またはリソース割振りオーバヘッドあるいはその両方を被るのを避けるために)。当業者なら理解するであろうが、暗号化メカニズムの実装は様々である場合があり、暗号化メカニズム自体も、特定の実装形態に従って様々である場合がある。一実施形態では、暗号化メカニズムの目標は、可能な限り最小量のリソースおよびオーバヘッド割振りしか必要とせずに、データが「新しい」データであると重複排除エンジンが思うのに足りるだけデータの特性を「変更する」ことである。
例証する実施形態では、メモリ・デバイス16および大容量記憶デバイス14は、信号担持媒体を介してCPU12に接続される。加えて、CPU12は、通信ポート18を介して通信ネットワーク20に接続され、通信ネットワーク20は、付属する追加の複数のコンピュータ・システム22および24を有する。コンピュータ・システム10は、コンピュータ・システム10の個別コンポーネントの各々が本明細書に記載の各動作を実行および実施して本発明の目的を達成するために、1つまたは複数のプロセッサ・デバイス(例えばCPU12)および追加のメモリ・デバイス16を含んでよい。
図2は、本発明による、コンピュータ・システム中のデータ記憶システムのハードウェア構造を示す例示的なブロック図200である。ホスト・コンピュータ210、220、225が示されており、各ホスト・コンピュータは、データ記憶システム200の一部としてデータ処理を実施するための中央処理装置としての役割を果たす。ホスト(物理または仮想デバイス)210、220、および225は、データ記憶システム中の、本発明の目的を達成するための1つまたは複数の新しい物理デバイスまたは論理デバイスとすることができる。一実施形態では、単なる例として、データ記憶システム200は、IBM(R)System Storage(TM)DS8000(TM)として実装することができる。ネットワーク接続260は、ファイバ・チャネル・ファブリック、ファイバ・チャネル・ポイント・ツー・ポイント・リンク、ファイバ・チャネル・オーバ・イーサネット(R)・ファブリックもしくはポイント・ツー・ポイント・リンク、FICONもしくはESCON I/Oインタフェース、他の任意のI/Oインタフェース・タイプ、ワイヤレス・ネットワーク、有線ネットワーク、LAN、WAN、異質、同質、公衆(すなわちインターネット)、私設、またはこれらの任意の組合せとすることができる。ホスト210、220、および225は、1つまたは複数の位置間で、ローカルであっても分散してもよく、ホスト210、220、および225には、ファイバ・チャネル、FICON、ESCON、イーサネット(R)、光ファイバ、ワイヤレス、または同軸アダプタなど、記憶コントローラ240への任意のタイプのファブリック(もしくはファブリック・チャネル)(図2には示さず)またはネットワーク・アダプタ260が装備されてよい。したがって、データ記憶システム200には、通信するための適切なファブリック(図2には示さず)またはネットワーク・アダプタ260が装備される。図2では、データ記憶システム200は、記憶コントローラ240および記憶装置230を備えて描かれている。
本明細書に述べる方法のより明確な理解を容易にするために、図2では、記憶コントローラ240は、マイクロプロセッサ242とシステム・メモリ243と不揮発性記憶装置(NVS)216とを含む単一の処理ユニットとして示されており、これらについては後でより詳細に述べる。いくつかの実施形態では、記憶コントローラ240は複数の処理ユニットからなり、各処理ユニットは、それ自体のプロセッサ・コンプレックスおよびシステム・メモリを有し、データ記憶システム200内の専用ネットワークによって相互接続されることに留意されたい。記憶装置230は、ストレージ・アレイなど、1つまたは複数の記憶デバイスからなるものとすることができ、これらの記憶デバイスは、ストレージ・ネットワークによって記憶コントローラ240に接続される。
いくつかの実施形態では、記憶装置230に含まれるデバイスは、ループ・アーキテクチャで接続されてよい。記憶コントローラ240は、記憶装置230を管理し、記憶装置230に向けられた書込み要求および読出し要求の処理を容易にする。記憶コントローラ240のシステム・メモリ243は、記憶装置230の管理に関連する機能を実行するためにプロセッサ242がアクセスする可能性のあるプログラム命令およびデータを記憶する。一実施形態では、システム・メモリ243は、オペレーション・ソフトウェア250を含む、またはそれに関連付けられる、またはそれと通信し、本発明の機能を達成するように部分的に構成される。図2に示すように、システム・メモリ243はまた、「書込みデータ」および「読出しデータ」をバッファリングするために、記憶装置230のためのキャッシュ245(本明細書では「キャッシュ・メモリ」とも呼ばれる)を含んでも、またはそれと通信してもよく、「書込みデータ」および「読出しデータ」とはそれぞれ、書込み/読出し要求およびそれらの関連データを指す。一実施形態では、キャッシュ245は、システム・メモリ243の外部のデバイス中で割り振られるが、なおマイクロプロセッサ242によってアクセス可能なままであり、本明細書に述べる動作を実施することに加えて、データ損失に対する追加のセキュリティを提供するのに役立つことができる。
いくつかの実施形態では、キャッシュ245は、揮発性メモリおよび不揮発性メモリによって実装され、データ記憶システム200の性能向上のために、ローカル・バス(図2には示さず)を介してマイクロプロセッサ242に結合される。データ記憶コントローラに含まれるNVS216は、マイクロプロセッサ242によってアクセス可能であり、他の図に記載のような本発明の動作および実行のための、追加のサポートを提供するのに役立つ。NVS216は、「永続」キャッシュまたは「キャッシュ・メモリ」と呼ばれることもあり、内部に記憶されたデータを保持するために外部電力を利用する場合と利用しない場合のある不揮発性メモリによって実装される。NVSは、本発明の目的を達成するのに適した任意の目的で、キャッシュ245に記憶されることおよびキャッシュ245によって記憶されることが可能である。いくつかの実施形態では、データ記憶システム200に対する停電の場合に、バッテリなどのバックアップ電源(図2には示さず)が、NVS216に記憶されたデータを保持するのに十分な電力をNVS216に供給する。ある実施形態では、NVS216の容量は、キャッシュ245の総容量以下である。
記憶装置230は、ストレージ・アレイなど、1つまたは複数の記憶デバイスで物理的に構成されてよい。ストレージ・アレイは、ハード・ディスクなどの個別の記憶デバイスの論理的グループ化である。ある実施形態では、記憶装置230は、JBOD(Just a Bunch of Disks)アレイまたはRAID(RedundantArray of Independent Disks)アレイからなる。物理ストレージ・アレイの集まりをさらに結合して、ランクを形成することができ、ランクは、物理記憶域を論理構成から切り離す。ランク中の記憶空間は、論理ボリュームに割り振ることができ、論理ボリュームは、書込み/読出し要求の中で指定される記憶位置を定義する。
一実施形態では、単なる例として、図2に示すような記憶システムは、論理ボリュームまたは単に「ボリューム」を含んでよく、様々な種類の割振りを有する場合がある。記憶装置230a、230b、および230nは、データ記憶システム200中のランクとして示されており、本明細書では、ランク230a、230b、および230nと呼ばれる。ランクは、データ記憶システム200に対してローカルであってもよく、または、物理的にリモートの場所に位置してもよい。言い換えれば、ローカル記憶コントローラが、リモート記憶コントローラと接続し、リモート位置の記憶域を管理することができる。ランク230aは、2つの全体的ボリューム234および236、ならびに1つの部分的ボリューム232aで構成されて示される。ランク230bは、別の部分的ボリューム232bで構成されて示される。このように、ボリューム232は、ランク230aと230bとにまたがって割り振られる。ランク230nは、ボリューム238に完全に割り振られて示される。すなわち、ランク230nは、ボリューム238に対する物理記憶域全体を指す。上記の例から、ランクは、1つまたは複数の部分的または全体的あるいはその両方のボリュームを含むように構成されてよいことは理解されるであろう。ボリュームおよびランクはさらに、「トラック」と呼ばれるものに分割することができ、トラックは、記憶域の固定ブロックを表す。したがって、トラックは所与のボリュームに関連し、トラックには所与のランクが与えられてよい。
記憶コントローラ240は、ホスト・コンピュータ210、220、225へのファイバ・チャネル・プロトコルを制御するための制御スイッチ241と;記憶コントローラ240の全てを制御するためのマイクロプロセッサ242と;記憶コントローラ240の動作を制御するためのマイクロプログラム(オペレーション・ソフトウェア)250と制御のためのデータと後述する各テーブルとを記憶するための不揮発性制御メモリ243と;データを一時的に記憶(バッファリング)するためのキャッシュ245と;キャッシュ245がデータの読出しおよび書込みを行うのを補助するためのバッファ244と;記憶デバイス230との間のデータ転送を制御するプロトコルを制御し;データ重複排除モジュールまたはエンジン255、情報を設定するデータ259および暗号化鍵257とを含むことができる。本発明を用いて複数のバッファ244を実装して、本明細書に述べる動作を補助することができる。
一実施形態では、ホスト・コンピュータ、すなわち1つもしくは複数の物理もしくは仮想デバイス210、220、225と、記憶コントローラ240とは、インタフェースとしてのネットワーク・アダプタ(ファイバ・チャネルとすることができる)260を介して、すなわち、「ファブリック」と呼ばれる少なくとも1つのスイッチを介して接続される。一実施形態で、図2に示すシステムの動作について述べる。マイクロプロセッサ242は、メモリ243を制御して、ホスト・デバイス(物理または仮想)210からのコマンド情報と、ホスト・デバイス(物理または仮想)210を識別するための情報とを記憶する。制御スイッチ241、バッファ244、キャッシュ245、オペレーティング・ソフトウェア250、マイクロプロセッサ242、メモリ243、NVS216、データ重複排除モジュールまたはエンジン255、およびデータ259および暗号化鍵257は相互と通信し、これらは、別々のコンポーネントまたは1つの個別コンポーネントとすることができる。また、オペレーション・ソフトウェア250など、全てのとは言わないまでもいくつかのコンポーネントは、メモリ243と共に含まれてもよい。図示のデバイス内の各コンポーネントは、本発明に適合する目的で、共にリンクされてよく、相互と通信することができる。
記憶コントローラ240は、データ重複排除エンジン255を含んで示され、データ重複排除エンジン255中で、いくつかの書込みデータ259が処理される。データ重複排除エンジン255は、構造上、1つの完全なモジュールであってもよく、あるいは、他の個別モジュールに関連する、もしくは他の個別モジュール内に組み込まれる、またはその両方であってもよい。データ重複排除エンジン255は、マイクロプロセッサ242など、記憶コントローラ240の他のコンポーネントと共に、記憶コントローラ240を介して記憶装置230に渡される書込みデータ259に対してデータ重複排除操作を実施するように構成される。
前に示したように、記憶コントローラ240は、キャッシュ(または全体的にキャッシュ・システムと呼ばれることがあるもの)245を含み、ホスト210、220、および225、または類似のデバイスから書込みデータを受け入れ、次いで書込みデータは、キャッシュ・メモリ245中に配置される。次いで、データ重複排除エンジン255は、キャッシュ・メモリ245中で書込みデータを重複があるかテストする。アプリケーション17(図1)が重複排除操作から保護したい書込みデータ259は、図示のように暗号化鍵257で暗号化される(暗号化済みデータ257)。データ重複排除エンジン255の中を通される書込みデータ259のうちの、暗号化鍵257を有するデータは、これらが「新しい」データでありしたがって重複排除操作(例えば、既に記憶装置230中に配置された既存のデータへのポインタで置き換えられる)を受けないことを、データ重複排除エンジン255に対して示す。
一実施形態では、アプリケーション17/ファイル・システム19は最初に、所与のデータ・ブロックが複数回にわたって物理記憶域に記憶されなければならないかどうか判定する。このデータ・ブロックは、例えば、ファイル・システム19自体に関連するスーパーブロック・メタデータ、または他の関連するファイル・システム情報とすることができる。次いでアプリケーション17は、書込みが発せられる前に、この仮想デバイスについての固有の鍵でこれらのデータ・ブロックを暗号化する。続くステップとして、アプリケーションは、暗号化済みデータ257と共に、基礎をなすディスク(デバイス)ドライバへの書込み要求を開始することができ、アプリケーションは実質的に、たとえ暗号化前のブロックが、前に書き込まれたデータ・ブロックと同一であっても、このデータ・ブロックが「新しい」ものであり重複排除されてはならないことを示す。暗号化は、所有元アプリケーションによって、このブロックのLBAを弱い暗号化鍵として使用してディスク・ブロック単位で実施することができる。
ここでもやはり、選択される暗号化方法(暗号化鍵を含む)は、基礎をなす記憶コントローラまたは記憶管理デバイスから後で鍵が読み戻されたときに鍵の推定が単純であるように、選ばれる。暗号化鍵の例としては、(1)選択されたデータ・ブロックの開始LBA、(2)ファイル内におけるデータ・ブロックのオフセット、および、当業者なら熟知しているであろう他の類似の暗号化メカニズムを含めることができる。暗号化鍵は、弱く、かつ予測可能であるべきである(すなわち、所有元アプリケーションは、鍵をどこにも記憶せずに、特定のメタブロックに対する暗号化鍵がどんなものであるかがわかることになる)。
続くステップで、ディスク・ドライバは、記憶コントローラ240への、スモール・コンピュータ・システムズ・インタフェース(SCSI)コマンドなどの書込みコマンドを準備する。記憶コントローラ240は、指定された暗号化済みデータ・ブロックを受け取ると、たとえ同一データのより前のインスタンスが記憶コントローラ240に記憶されている可能性があっても、データ重複排除エンジン255を介して、当業者なら理解するようなフィンガプリント生成やマッチングなどの重複排除ステップをスキップし、選択されたデータ・ブロックを新しい物理ディスク位置に直接書き込む。後でこれらのデータ・ブロック(アプリケーションにはよくわかっている)が次に読み出されるとき、アプリケーションは、よく知られた単純な鍵(例えば、弱い鍵/暗号化メカニズム)を使用してデータを暗号化解除する。本明細書で使用される暗号化技法は必ずしもデータ・セキュリティのためのものではないので、このような技法を実施するためのどんなオーバヘッドも、可能な限り、効率的に最小限に抑えることができる。
好ましい一実施形態では、結果的なデータのサイズが改変されないままとなるような、暗号化またはデータ変換機能が選ばれるべきである。例えば、512バイトのデータが変換されることになる状況では、512バイトの結果的な暗号化済みデータが生成される。
一実施形態では、所有元アプリケーションは、1つのユニットとして書かれた複数のデータ・ブロックを暗号化することを選ぶことができる。データ変換機能(暗号化機能)は、個別ブロックの各々を暗号化解除すればこのブロックの元のデータが返されるようなものであるべきである。別法として、アプリケーションは、これらの複数ブロック・ユニットをデータ・チャンクとして読み出し、これらのデータ・チャンクを1つのユニットとして暗号化解除すべきである。
次に図3に移ると、例証する実施形態の様々な態様を組み込むことのできる、例示的なデータ・セグメント259(すなわちブロック)のブロック図300が示されている。データ・セグメント259は、弱い暗号化鍵302(現コピー1、2、3など)を含み、この弱い暗号化鍵302は、図示のようにブロックAの一部として付加される。
図4に、例示的なフローとして描かれた、本発明の様々な機能的態様のブロック図400を示す。具体的には、データ重複排除エンジンを介して書き込まれることになるがまだどんな重複排除操作によっても処理されていないデータ402が、まず、記憶コントローラに対して書込みコマンドが発せられる前に、暗号化モジュール21(図1)の中を通され、暗号化モジュール21において、選択されたデータに弱い暗号化が適用され、図示のように、暗号化された書込みデータ404が生成される。
図5に進み、ブロック図406に、やはり例示的なフローとして描かれた、本発明の様々な追加の機能的態様を示す。具体的には、暗号化された書込みデータ408は、記憶装置230(やはり図2)に書き込まれるように記憶コントローラに渡される。暗号化された書込みデータは、図示のようにデータ重複排除エンジン255の中を通され、データ重複排除エンジン255において、暗号化済みデータ259は、重複する可能性のある既存データに対して、新しいデータと考えられる。したがって、データ重複排除エンジンは、暗号化済みデータを、書込み要求410と共に、キャッシュ・システム245などの、記憶コントローラの他の部分に渡し、暗号化済みデータには記憶装置230中の新しい空間が割り振られ、暗号化済みデータは最終的にここに書き込まれる。
以上に鑑みて、続く図6は、例証する実施形態の態様をその中で実現することのできる、データ重複排除システムを有する記憶サブシステム中でデータ冗長性を保証するための例示的な方法500である。方法500は開始し(ステップ502)、データ重複排除システムを介して書き込まれることになる選択されたデータ・セグメントが重複排除操作を受けないように、選択されたデータ・セグメントが暗号化される(ステップ504)。次いで方法500は終了する(ステップ506)。
続く図7には、ここでもやはり本発明の様々な態様をその中で実現することのできる例示的なデータ処理方法600が示されている。方法600は開始し(ステップ602)、重複排除を見送るように所有元アプリケーションによって選ばれたデータ・セグメントに関連付けられることになる固有の暗号化鍵が、所有元アプリケーションによって選択される(ステップ604)。次いで、所有元アプリケーションまたはファイル・システムあるいはその両方は、選択されたデータ・セグメントを固有の暗号化鍵で暗号化する(ステップ606)。
続くステップとして、暗号化済みの選択されたデータ・セグメントと共に、書込み要求が記憶コントローラに提供される(ステップ608)。次いで、暗号化済みデータ・セグメントは重複排除エンジンを介して処理され、その結果、選択されたデータ・セグメントは重複排除エンジンによって「新しい」データとして認識される/扱われるので、暗号化済みデータに対する重複排除操作の実施が控えられる(ステップ610)。
ステップ612で、暗号化済みデータ・セグメントは、新たに割り振られた物理記憶位置に書き込まれる。後で暗号化データが次に読み出される際、次いで暗号化済みデータは、所有元アプリケーションまたはファイル・システムあるいはその両方に返される(ステップ614)。次いで、暗号化済みデータ・セグメントは、アプリケーションまたはファイル・システムあるいはその両方によって、関連の暗号化アルゴリズムを使用して暗号化解除され(ステップ616)、関連の暗号化アルゴリズムはやはり、当業者なら理解するように、特定の適用例に従って様々である場合があるが、オーバヘッドおよび帯域幅を最小限に抑えるように選択されてよい。次いで方法600は終了する(ステップ618)。
続く図8は、ここでもやはり本発明の様々な態様を組み込んだ、関連する例示的なデータ処理方法700である。方法700は開始し(ステップ702)、書込み要求が、書き込まれることになる付随するデータと共に、記憶コントローラ/データ重複排除エンジンによって処理のために受け取られる(ステップ704)。
ステップ706で、方法700は、付随するデータが暗号化されているかどうか照会する(ステップ706)。暗号化されている場合は、重複排除エンジン/記憶コントローラは、データ重複排除操作の実施を見送り(ステップ708)、暗号化済みデータは、新たに割り振られた物理記憶位置に書き込まれる(ステップ710)。「方法」700では、説明のために、データが暗号化されているかどうか照会するという言い方をすることに留意されたい。しかし実際には、データ重複排除システムは、データが暗号化されているか否かを理解せず照会しない。前に説明したように、暗号化により、データ・ブロックは、所有元アプリケーションによって前に書き込まれたその重複コピーと一致しないことになる。よって、重複排除システムは、このデータ・ブロックを「新しい」データ・ブロックとして扱うことになり、このブロックを物理記憶域に書き込むことになる。ステップ706に戻り、付随するデータが暗号化されていない場合は、重複排除エンジン/記憶コントローラは、データに対して様々な重複排除操作を実施する(ステップ712)。次いで方法700は終了する(ステップ714)。
当業者には理解されるであろうが、本発明の態様は、システム、方法、またはコンピュータ・プログラムとして具体化することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態(ファームウェア、常駐ソフトウェア、マイクロコードなどを含む)、または、ソフトウェアとハードウェアの態様を組み合わせた実施形態の形をとることができ、本明細書ではこれらを全て「回路」、「モジュール」、「プロセス」、または「システム」と一般に呼ぶ場合がある。さらに、本発明の態様は、コンピュータ可読プログラム・コードが組み入れられた1つまたは複数のコンピュータ可読媒体において具体化されるコンピュータ・プログラムの形をとることもできる。
1つまたは複数のコンピュータ可読媒体の、任意の組合せを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁、赤外線、もしくは半導体の、システム、装置、もしくはデバイス、またはこれらの任意の適切な組合せとすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅的なリスト)は、1つもしくは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラム可能な読取専用メモリ(EPROMもしくはフラッシュ・メモリ)、光ファイバ、ポータブル・コンパクト・ディスク読取専用メモリ(CD−ROM)、光学記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組合せを含むことになる。この文書のコンテキストでは、コンピュータ可読記憶媒体は、命令実行システム、装置、またはデバイスによって使用される、またはそれらに関連して使用されるプログラムを、収録または記憶することのできる、任意の有形媒体とすることができる。
コンピュータ可読媒体上で具体化されるプログラム・コードは、ワイヤレス、有線、光ファイバ・ケーブル、RFなど、またはこれらの任意の適切な組合せを含むがこれらに限定されない、任意の適切な媒体を使用して伝送することができる。本発明の態様に関する動作を実施するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、「C」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含めた、1つまたは複数のプログラミング言語の任意の組合せで書かれてよい。プログラム・コードは、完全にユーザのコンピュータ上で実行されるか、部分的にユーザのコンピュータ上で実行されるか、または完全にリモート・コンピュータもしくはサーバ上で実行されてよい。最後のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、または、接続は、外部コンピュータに対して(例えばインターネット・サービス・プロバイダを使用してインターネットを介して)行われてもよい。
本発明の態様を、本発明の実施形態による方法、装置(システム)、およびコンピュータ・プログラムのフローチャート説明またはブロック図あるいはその両方に関して以上に述べた。フローチャート説明またはブロック図あるいはその両方の各ブロック、ならびに、フローチャート説明またはブロック図あるいはその両方の中のブロックの組合せを、コンピュータ・プログラム命令によって実装できることは理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、マシンを生み出すことができ、したがって、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令は、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実装する手段をもたらす。
これらのコンピュータ・プログラム命令はまた、コンピュータ可読媒体に記憶されてよく、このコンピュータ可読媒体は、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに、特定の方式で機能するよう指示することができ、したがって、コンピュータ可読媒体に記憶された命令は、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実装する命令を含む製造品を生み出す。コンピュータ・プログラム命令はまた、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてよく、それにより、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップが実施されて、コンピュータ実装プロセスが生み出され、したがって、コンピュータまたは他のプログラム可能装置上で実行される命令は、フローチャートまたはブロック図あるいはその両方の1つまたは複数のブロック中で指定される機能/行為を実装するためのプロセスを提供する。
上記の図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラムの可能な実装形態の、アーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図中の各ブロックは、モジュール、セグメント、またはコード部分を表すことができ、これは、指定される論理機能(複数可)を実現するための1つまたは複数の実行可能命令を備える。また、いくつかの代替実装形態では、ブロック中で示される機能は、図中で示される順序とは異なる順序で生じる場合があることにも留意されたい。例えば、関連する機能に応じて、連続して示される2つのブロックが実際にはほぼ同時に実行される場合もあり、またはこれらのブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート説明あるいはその両方の各ブロック、および、ブロック図またはフローチャート説明あるいはその両方の中のブロックの組合せは、指定される機能もしくは行為を実施する専用ハードウェアベースのシステムによって、または、専用ハードウェアとコンピュータ命令との組合せによって、実装されてよいことにも留意されたい。
本発明の1つまたは複数の実施形態を詳細に例証したが、添付の特許請求の範囲に示す本発明の範囲を逸脱することなく、これらの実施形態に対する変更および適合を行うことができることを、当業者なら理解するであろう。

Claims (14)

  1. プロセッサによってコンピューティング環境において、複数のデータ・セグメントのコピーを複数の物理記憶位置に割り当てるためのアプリケーション要件を実行するためにデータ重複排除システム中でデータ冗長性を維持する方法であって、
    データ重複排除から除外されるべき前記複数のデータ・セグメントのコピーを判定及び識別すること、
    重複排除操作を見送るためにデータ・セグメントと関連付けられた固有の暗号鍵を選択すること、
    前記データ重複排除システムを介して書き込まれることになる選択されたデータ・セグメントが重複排除操作を受けないように、前記選択されたデータ・セグメントを前記アプリケーションにより前記固有の暗号化鍵で前記暗号化すること、
    フィンガプリント生成及びマッチングを含む前記重複排除操作のステップをスキップすることによって、前記暗号化済みの選択されたデータ・セグメントが以前書かれた同一データとマッチしないことを特徴とし、前記暗号化済みの選択されたデータ・セグメントを新しい非重複排除データとして認識させて、前記重複排除システムを騙すること、
    たとえ同一データについて、前記記憶コントローラに保管されている前記暗号化済みの選択されたデータ・セグメントのより前のインスタンスが存在しても、前記選択されたデータ・セグメントを新しい物理記憶位置に直接書き込むこと、を含む方法。
  2. 前記選択されたデータ・セグメントに対する前記重複排除操作の実施が控えられるように、前記コンピューティング環境を介して前記暗号化済みの選択されたデータ・セグメントを処理するステップをさらに含む、請求項1に記載の方法。
  3. 前記選択されたデータ・セグメントを暗号化することが、基礎をなす記憶コントローラ・デバイスに書込み要求を発する前に、関連する仮想デバイスについての固有の暗号化鍵で前記選択されたデータ・セグメントを暗号化することをさらに含む、請求項2に記載の方法。
  4. 前記選択されたデータ・セグメントを前記固有の鍵で暗号化することが、前記選択されたデータ・セグメントについての論理ブロック・アドレス(LBA)の開始と、ファイル内における前記選択されたデータ・セグメントのオフセットとのうちの一方に関連するように前記暗号化鍵を選択することをさらに含み、暗号化機能が、前記暗号化機能を介して処理された暗号化済みデータのサイズを保持するように選ばれる、請求項3に記載の方法。
  5. 前記選択されたデータ・セグメントを暗号化することが、ユニットとして書かれた複数の選択されたデータ・セグメントを選ぶことを含み、それにより、前記複数の選択されたデータ・セグメントの各々を暗号化解除すると各セグメントごとの元のデータが返されることと、前記複数の選択されたデータ・セグメントの各々が前記ユニットとして暗号化解除されることとのうちの一方となる、請求項4に記載の方法。
  6. 前記暗号化済みの選択されたデータ・セグメントを処理することが、前記コンピューティング環境における記憶コントローラ中の重複排除エンジンを介して、前記暗号化済みの選択されたデータ・セグメントに対する書込み要求を発することを含む、請求項2に記載の方法。
  7. 前記暗号化済みの選択されたデータ・セグメントに対する前記書込み要求の実行中に、前記データ重複排除エンジンが、前記暗号化済みの選択されたデータ・セグメントを新しいデータ・セグメントとして認識し、前記重複排除操作の実施を控える、請求項6に記載の方法。
  8. 前記選択されたデータ・セグメントの後続の読出し操作時に前記選択されたデータ・セグメントを暗号化解除することをさらに含む、請求項1に記載の方法。
  9. 前記選択されたデータ・セグメントを暗号化解除することが、弱い固有の予測可能な暗号化鍵で前記選択されたデータ・セグメントを暗号化解除することを含む、請求項8に記載の方法。
  10. コンピューティング環境におけるデータ重複排除システム中でデータ冗長性を維持するためのシステムであって、
    ファイル・システム・モジュールと、
    前記ファイル・システム・モジュールと動作可能に通信する記憶コントローラとを備え、
    複数のデータ・セグメントのコピーを複数の物理記憶位置に割り当てるためのアプリケーション要件を実行するために、前記ファイル・システム・モジュールが、
    データ重複排除から除外されるべき前記複数のデータ・セグメントのコピーを判定及び識別すること、
    重複排除操作を見送るためにデータ・セグメントと関連付けられた固有の暗号鍵を選択すること、
    前記データ重複排除システムを介して書き込まれることになる選択されたデータ・セグメントが重複排除操作を受けないように、前記選択されたデータ・セグメントを前記アプリケーションにより前記固有の暗号化鍵で前記暗号化すること、
    フィンガプリント生成及びマッチングを含む前記重複排除操作のステップをスキップすることによって、前記暗号化済みの選択されたデータ・セグメントが以前書かれた同一データとマッチしないことを特徴とし、前記暗号化済みの選択されたデータ・セグメントを新しい非重複排除データとして認識させて、前記重複排除システムを騙すること、
    たとえ同一データについて、前記記憶コントローラに保管されている前記暗号化済みの選択されたデータ・セグメントのより前のインスタンスが存在しても、前記選択されたデータ・セグメントを新しい物理記憶位置に直接書き込むこと、を実行するように構成された、システム。
  11. 前記記憶コントローラが、前記選択されたデータ・セグメントに対する前記重複排除操作の実施が控えられるように、前記コンピューティング環境を介して前記暗号化済みの選択されたデータ・セグメントを処理するように構成された、請求項10に記載のシステム。
  12. 前記ファイル・システム・モジュールが、前記記憶コントローラに書込み要求を発する前に、関連する仮想デバイスについての固有の鍵で前記選択されたデータ・セグメントを暗号化するようにさらに構成された、請求項11に記載のシステム。
  13. 前記暗号化鍵が、前記選択されたデータ・セグメントについての論理ブロック・アドレス(LBA)の開始と、ファイル内における前記選択されたデータ・セグメントのオフセットとのうちの一方に関連するように選択され、暗号化機能が、前記暗号化機能を介して処理された暗号化済みデータのサイズを保持するように選ばれる、請求項12に記載のシステム。
  14. プロセッサによってコンピューティング環境におけるデータ重複排除システム中でデータ冗長性を維持するためのコンピュータ・プログラムであって、
    複数のデータ・セグメントのコピーを複数の物理記憶位置に割り当てるためのアプリケーション要件を実行するために、
    データ重複排除から除外されるべき前記複数のデータ・セグメントのコピーを判定及び識別すること、
    重複排除操作を見送るためにデータ・セグメントと関連付けられた固有の暗号鍵を選択すること、
    前記データ重複排除システムを介して書き込まれることになる選択されたデータ・セグメントが重複排除操作を受けないように、前記選択されたデータ・セグメントを前記アプリケーションにより前記固有の暗号化鍵で前記暗号化すること、
    フィンガプリント生成及びマッチングを含む前記重複排除操作のステップをスキップすることによって、前記暗号化済みの選択されたデータ・セグメントが以前書かれた同一データとマッチしないことを特徴とし、前記暗号化済みの選択されたデータ・セグメントを新しい非重複排除データとして認識させて、前記重複排除システムを騙すること、
    たとえ同一データについて、前記記憶コントローラに保管されている前記暗号化済みの選択されたデータ・セグメントのより前のインスタンスが存在しても、前記選択されたデータ・セグメントを新しい物理記憶位置に直接書き込むことを、前記プロセッサに実行させるコンピュータ・プログラム。
JP2015506079A 2012-04-23 2013-01-14 コンピューティング環境におけるデータ重複排除システム中でデータ冗長性を維持するための方法、システム、およびコンピュータ・プログラム Active JP6109293B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/453,259 US8996881B2 (en) 2012-04-23 2012-04-23 Preserving redundancy in data deduplication systems by encryption
US13/453,259 2012-04-23
PCT/CN2013/070416 WO2013159582A1 (en) 2012-04-23 2013-01-14 Preserving redundancy in data deduplication systems by encryption

Publications (2)

Publication Number Publication Date
JP2015515216A JP2015515216A (ja) 2015-05-21
JP6109293B2 true JP6109293B2 (ja) 2017-04-05

Family

ID=49381276

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015506079A Active JP6109293B2 (ja) 2012-04-23 2013-01-14 コンピューティング環境におけるデータ重複排除システム中でデータ冗長性を維持するための方法、システム、およびコンピュータ・プログラム

Country Status (7)

Country Link
US (4) US8996881B2 (ja)
EP (1) EP2842063A4 (ja)
JP (1) JP6109293B2 (ja)
KR (1) KR20140128403A (ja)
CN (1) CN104272300B (ja)
IN (1) IN2014CN04774A (ja)
WO (1) WO2013159582A1 (ja)

Families Citing this family (142)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11614893B2 (en) 2010-09-15 2023-03-28 Pure Storage, Inc. Optimizing storage device access based on latency
US8589655B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US8468318B2 (en) 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
US11275509B1 (en) 2010-09-15 2022-03-15 Pure Storage, Inc. Intelligently sizing high latency I/O requests in a storage environment
US8732426B2 (en) 2010-09-15 2014-05-20 Pure Storage, Inc. Scheduling of reactive I/O operations in a storage environment
US8589625B2 (en) 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
US8775868B2 (en) 2010-09-28 2014-07-08 Pure Storage, Inc. Adaptive RAID for an SSD environment
US9244769B2 (en) 2010-09-28 2016-01-26 Pure Storage, Inc. Offset protection data in a RAID array
US11636031B2 (en) 2011-08-11 2023-04-25 Pure Storage, Inc. Optimized inline deduplication
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8719540B1 (en) 2012-03-15 2014-05-06 Pure Storage, Inc. Fractal layout of data blocks across multiple devices
US11032259B1 (en) 2012-09-26 2021-06-08 Pure Storage, Inc. Data protection in a storage system
US8745415B2 (en) 2012-09-26 2014-06-03 Pure Storage, Inc. Multi-drive cooperation to generate an encryption key
US10623386B1 (en) 2012-09-26 2020-04-14 Pure Storage, Inc. Secret sharing data protection in a storage system
US9442954B2 (en) * 2012-11-12 2016-09-13 Datawise Systems Method and apparatus for achieving optimal resource allocation dynamically in a distributed computing environment
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
US9063967B2 (en) 2013-01-10 2015-06-23 Pure Storage, Inc. Performing copies in a storage system
US11768623B2 (en) 2013-01-10 2023-09-26 Pure Storage, Inc. Optimizing generalized transfers between storage systems
US10263770B2 (en) 2013-11-06 2019-04-16 Pure Storage, Inc. Data protection in a storage system using external secrets
US11128448B1 (en) 2013-11-06 2021-09-21 Pure Storage, Inc. Quorum-aware secret sharing
US10365858B2 (en) 2013-11-06 2019-07-30 Pure Storage, Inc. Thin provisioning in a storage device
US9208086B1 (en) 2014-01-09 2015-12-08 Pure Storage, Inc. Using frequency domain to prioritize storage of metadata in a cache
US9792063B2 (en) * 2014-01-15 2017-10-17 Intel Corporation Deduplication-based data security
US20150242640A1 (en) * 2014-02-24 2015-08-27 Western Digital Technologies, Inc. Encryption key selection
US10656864B2 (en) 2014-03-20 2020-05-19 Pure Storage, Inc. Data replication within a flash storage array
US10374807B2 (en) 2014-04-04 2019-08-06 Hewlett Packard Enterprise Development Lp Storing and retrieving ciphertext in data storage
US9779268B1 (en) * 2014-06-03 2017-10-03 Pure Storage, Inc. Utilizing a non-repeating identifier to encrypt data
US9218244B1 (en) 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes
US11399063B2 (en) 2014-06-04 2022-07-26 Pure Storage, Inc. Network authentication for a storage system
US9218407B1 (en) 2014-06-25 2015-12-22 Pure Storage, Inc. Replication and intermediate read-write state for mediums
US10496556B1 (en) 2014-06-25 2019-12-03 Pure Storage, Inc. Dynamic data protection within a flash storage system
US10296469B1 (en) 2014-07-24 2019-05-21 Pure Storage, Inc. Access control in a flash storage system
US9495255B2 (en) 2014-08-07 2016-11-15 Pure Storage, Inc. Error recovery in a storage cluster
US9558069B2 (en) 2014-08-07 2017-01-31 Pure Storage, Inc. Failure mapping in a storage array
US9864761B1 (en) 2014-08-08 2018-01-09 Pure Storage, Inc. Read optimization operations in a storage system
US9397832B2 (en) * 2014-08-27 2016-07-19 International Business Machines Corporation Shared data encryption and confidentiality
US10430079B2 (en) 2014-09-08 2019-10-01 Pure Storage, Inc. Adjusting storage capacity in a computing system
WO2016048331A1 (en) 2014-09-25 2016-03-31 Hewlett Packard Enterprise Development Lp Storage of a data chunk with a colliding fingerprint
US10164841B2 (en) 2014-10-02 2018-12-25 Pure Storage, Inc. Cloud assist for storage systems
US9489132B2 (en) 2014-10-07 2016-11-08 Pure Storage, Inc. Utilizing unmapped and unknown states in a replicated storage system
US10430282B2 (en) 2014-10-07 2019-10-01 Pure Storage, Inc. Optimizing replication by distinguishing user and system write activity
US9727485B1 (en) 2014-11-24 2017-08-08 Pure Storage, Inc. Metadata rewrite and flatten optimization
US9773007B1 (en) 2014-12-01 2017-09-26 Pure Storage, Inc. Performance improvements in a storage system
US9588842B1 (en) 2014-12-11 2017-03-07 Pure Storage, Inc. Drive rebuild
US9552248B2 (en) 2014-12-11 2017-01-24 Pure Storage, Inc. Cloud alert to replica
US9864769B2 (en) 2014-12-12 2018-01-09 Pure Storage, Inc. Storing data utilizing repeating pattern detection
US10545987B2 (en) 2014-12-19 2020-01-28 Pure Storage, Inc. Replication to the cloud
US11947968B2 (en) 2015-01-21 2024-04-02 Pure Storage, Inc. Efficient use of zone in a storage device
US10296354B1 (en) 2015-01-21 2019-05-21 Pure Storage, Inc. Optimized boot operations within a flash storage array
US9710165B1 (en) 2015-02-18 2017-07-18 Pure Storage, Inc. Identifying volume candidates for space reclamation
US10082985B2 (en) 2015-03-27 2018-09-25 Pure Storage, Inc. Data striping across storage nodes that are assigned to multiple logical arrays
US10178169B2 (en) 2015-04-09 2019-01-08 Pure Storage, Inc. Point to point based backend communication layer for storage processing
US10140149B1 (en) 2015-05-19 2018-11-27 Pure Storage, Inc. Transactional commits with hardware assists in remote memory
JP6666540B2 (ja) * 2015-06-15 2020-03-18 富士通株式会社 ストレージ制御装置、及びプログラム
US10310740B2 (en) 2015-06-23 2019-06-04 Pure Storage, Inc. Aligning memory access operations to a geometry of a storage device
US9547441B1 (en) 2015-06-23 2017-01-17 Pure Storage, Inc. Exposing a geometry of a storage device
US10009243B2 (en) 2015-08-27 2018-06-26 International Business Machines Corporation Cross-tenant analysis of similar storage environments to recommend storage policy changes
US11341136B2 (en) 2015-09-04 2022-05-24 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
US11269884B2 (en) 2015-09-04 2022-03-08 Pure Storage, Inc. Dynamically resizable structures for approximate membership queries
KR20170028825A (ko) 2015-09-04 2017-03-14 퓨어 스토리지, 아이앤씨. 압축된 인덱스들을 사용한 해시 테이블들에서의 메모리 효율적인 스토리지 및 탐색
US9843453B2 (en) 2015-10-23 2017-12-12 Pure Storage, Inc. Authorizing I/O commands with I/O tokens
US10089024B2 (en) * 2015-11-19 2018-10-02 Red Hat Israel, Ltd. Memory deduplication protection for memory pages
US20170220295A1 (en) * 2016-02-02 2017-08-03 Intel Corporation Technologies for reducing duplication of stored data
US10157153B2 (en) * 2016-02-03 2018-12-18 Qualcomm Incorporated Inline cryptographic engine (ICE) for peripheral component interconnect express (PCIe) systems
US10452297B1 (en) 2016-05-02 2019-10-22 Pure Storage, Inc. Generating and optimizing summary index levels in a deduplication storage system
US10133503B1 (en) 2016-05-02 2018-11-20 Pure Storage, Inc. Selecting a deduplication process based on a difference between performance metrics
US10203903B2 (en) 2016-07-26 2019-02-12 Pure Storage, Inc. Geometry based, space aware shelf/writegroup evacuation
US10235396B2 (en) 2016-08-29 2019-03-19 International Business Machines Corporation Workload optimized data deduplication using ghost fingerprints
US10756816B1 (en) 2016-10-04 2020-08-25 Pure Storage, Inc. Optimized fibre channel and non-volatile memory express access
US10191662B2 (en) 2016-10-04 2019-01-29 Pure Storage, Inc. Dynamic allocation of segments in a flash storage system
US10162523B2 (en) 2016-10-04 2018-12-25 Pure Storage, Inc. Migrating data between volumes using virtual copy operation
US10545861B2 (en) 2016-10-04 2020-01-28 Pure Storage, Inc. Distributed integrated high-speed solid-state non-volatile random-access memory
US10481798B2 (en) 2016-10-28 2019-11-19 Pure Storage, Inc. Efficient flash management for multiple controllers
US10185505B1 (en) 2016-10-28 2019-01-22 Pure Storage, Inc. Reading a portion of data to replicate a volume based on sequence numbers
US10359942B2 (en) 2016-10-31 2019-07-23 Pure Storage, Inc. Deduplication aware scalable content placement
US11550481B2 (en) 2016-12-19 2023-01-10 Pure Storage, Inc. Efficiently writing data in a zoned drive storage system
US10452290B2 (en) 2016-12-19 2019-10-22 Pure Storage, Inc. Block consolidation in a direct-mapped flash storage system
US11093146B2 (en) 2017-01-12 2021-08-17 Pure Storage, Inc. Automatic load rebalancing of a write group
US10528488B1 (en) 2017-03-30 2020-01-07 Pure Storage, Inc. Efficient name coding
US11403019B2 (en) 2017-04-21 2022-08-02 Pure Storage, Inc. Deduplication-aware per-tenant encryption
US10944671B2 (en) 2017-04-27 2021-03-09 Pure Storage, Inc. Efficient data forwarding in a networked device
US10402266B1 (en) 2017-07-31 2019-09-03 Pure Storage, Inc. Redundant array of independent disks in a direct-mapped flash storage system
US10831935B2 (en) 2017-08-31 2020-11-10 Pure Storage, Inc. Encryption management with host-side data reduction
US10776202B1 (en) 2017-09-22 2020-09-15 Pure Storage, Inc. Drive, blade, or data shard decommission via RAID geometry shrinkage
US10789211B1 (en) 2017-10-04 2020-09-29 Pure Storage, Inc. Feature-based deduplication
US10884919B2 (en) 2017-10-31 2021-01-05 Pure Storage, Inc. Memory management in a storage system
US10860475B1 (en) 2017-11-17 2020-12-08 Pure Storage, Inc. Hybrid flash translation layer
US10970395B1 (en) 2018-01-18 2021-04-06 Pure Storage, Inc Security threat monitoring for a storage system
US11144638B1 (en) 2018-01-18 2021-10-12 Pure Storage, Inc. Method for storage system detection and alerting on potential malicious action
US11010233B1 (en) 2018-01-18 2021-05-18 Pure Storage, Inc Hardware-based system monitoring
US10467527B1 (en) 2018-01-31 2019-11-05 Pure Storage, Inc. Method and apparatus for artificial intelligence acceleration
US11036596B1 (en) 2018-02-18 2021-06-15 Pure Storage, Inc. System for delaying acknowledgements on open NAND locations until durability has been confirmed
US11494109B1 (en) 2018-02-22 2022-11-08 Pure Storage, Inc. Erase block trimming for heterogenous flash memory storage devices
US11934322B1 (en) 2018-04-05 2024-03-19 Pure Storage, Inc. Multiple encryption keys on storage drives
US11995336B2 (en) 2018-04-25 2024-05-28 Pure Storage, Inc. Bucket views
US10678433B1 (en) 2018-04-27 2020-06-09 Pure Storage, Inc. Resource-preserving system upgrade
US11385792B2 (en) 2018-04-27 2022-07-12 Pure Storage, Inc. High availability controller pair transitioning
JP7109992B2 (ja) * 2018-05-22 2022-08-01 キオクシア株式会社 メモリシステムおよび制御方法
JP7048411B2 (ja) * 2018-05-22 2022-04-05 キオクシア株式会社 メモリシステムおよび制御方法
US10678436B1 (en) 2018-05-29 2020-06-09 Pure Storage, Inc. Using a PID controller to opportunistically compress more data during garbage collection
US11436023B2 (en) 2018-05-31 2022-09-06 Pure Storage, Inc. Mechanism for updating host file system and flash translation layer based on underlying NAND technology
US10776046B1 (en) 2018-06-08 2020-09-15 Pure Storage, Inc. Optimized non-uniform memory access
US11281577B1 (en) 2018-06-19 2022-03-22 Pure Storage, Inc. Garbage collection tuning for low drive wear
US10795861B2 (en) * 2018-06-20 2020-10-06 International Business Machines Corporation Online measurement of potential deduplication efficiency
US11869586B2 (en) 2018-07-11 2024-01-09 Pure Storage, Inc. Increased data protection by recovering data from partially-failed solid-state devices
US11194759B2 (en) 2018-09-06 2021-12-07 Pure Storage, Inc. Optimizing local data relocation operations of a storage device of a storage system
US11133076B2 (en) 2018-09-06 2021-09-28 Pure Storage, Inc. Efficient relocation of data between storage devices of a storage system
US10846216B2 (en) 2018-10-25 2020-11-24 Pure Storage, Inc. Scalable garbage collection
US11113409B2 (en) 2018-10-26 2021-09-07 Pure Storage, Inc. Efficient rekey in a transparent decrypting storage array
US11194473B1 (en) 2019-01-23 2021-12-07 Pure Storage, Inc. Programming frequently read data to low latency portions of a solid-state storage array
US11588633B1 (en) 2019-03-15 2023-02-21 Pure Storage, Inc. Decommissioning keys in a decryption storage system
US11334254B2 (en) 2019-03-29 2022-05-17 Pure Storage, Inc. Reliability based flash page sizing
US11397674B1 (en) 2019-04-03 2022-07-26 Pure Storage, Inc. Optimizing garbage collection across heterogeneous flash devices
US11775189B2 (en) 2019-04-03 2023-10-03 Pure Storage, Inc. Segment level heterogeneity
US10990480B1 (en) 2019-04-05 2021-04-27 Pure Storage, Inc. Performance of RAID rebuild operations by a storage group controller of a storage system
US11099986B2 (en) 2019-04-12 2021-08-24 Pure Storage, Inc. Efficient transfer of memory contents
US11487665B2 (en) 2019-06-05 2022-11-01 Pure Storage, Inc. Tiered caching of data in a storage system
US11281394B2 (en) 2019-06-24 2022-03-22 Pure Storage, Inc. Replication across partitioning schemes in a distributed storage system
US10929046B2 (en) 2019-07-09 2021-02-23 Pure Storage, Inc. Identifying and relocating hot data to a cache determined with read velocity based on a threshold stored at a storage device
US11422751B2 (en) 2019-07-18 2022-08-23 Pure Storage, Inc. Creating a virtual storage system
US11086713B1 (en) 2019-07-23 2021-08-10 Pure Storage, Inc. Optimized end-to-end integrity storage system
US11963321B2 (en) 2019-09-11 2024-04-16 Pure Storage, Inc. Low profile latching mechanism
US11403043B2 (en) 2019-10-15 2022-08-02 Pure Storage, Inc. Efficient data compression by grouping similar data within a data segment
US11226942B2 (en) * 2019-10-16 2022-01-18 International Business Machines Corporation Controlling deduplication in a storage pool
US11720714B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Inter-I/O relationship based detection of a security threat to a storage system
US11341236B2 (en) 2019-11-22 2022-05-24 Pure Storage, Inc. Traffic-based detection of a security threat to a storage system
US11625481B2 (en) 2019-11-22 2023-04-11 Pure Storage, Inc. Selective throttling of operations potentially related to a security threat to a storage system
US11657155B2 (en) 2019-11-22 2023-05-23 Pure Storage, Inc Snapshot delta metric based determination of a possible ransomware attack against data maintained by a storage system
US11651075B2 (en) 2019-11-22 2023-05-16 Pure Storage, Inc. Extensible attack monitoring by a storage system
US11645162B2 (en) 2019-11-22 2023-05-09 Pure Storage, Inc. Recovery point determination for data restoration in a storage system
US11615185B2 (en) 2019-11-22 2023-03-28 Pure Storage, Inc. Multi-layer security threat detection for a storage system
US11520907B1 (en) 2019-11-22 2022-12-06 Pure Storage, Inc. Storage system snapshot retention based on encrypted data
US11500788B2 (en) 2019-11-22 2022-11-15 Pure Storage, Inc. Logical address based authorization of operations with respect to a storage system
US11675898B2 (en) 2019-11-22 2023-06-13 Pure Storage, Inc. Recovery dataset management for security threat monitoring
US11720692B2 (en) 2019-11-22 2023-08-08 Pure Storage, Inc. Hardware token based management of recovery datasets for a storage system
US11687418B2 (en) 2019-11-22 2023-06-27 Pure Storage, Inc. Automatic generation of recovery plans specific to individual storage elements
US11941116B2 (en) 2019-11-22 2024-03-26 Pure Storage, Inc. Ransomware-based data protection parameter modification
US11755751B2 (en) 2019-11-22 2023-09-12 Pure Storage, Inc. Modify access restrictions in response to a possible attack against data stored by a storage system
CN111338572B (zh) * 2020-02-18 2021-09-14 电子科技大学 一种可调节加密重复数据删除方法
US11573929B2 (en) 2020-04-09 2023-02-07 Kyndryl, Inc. Deduplication of encrypted data using multiple keys
US11803648B2 (en) 2020-12-09 2023-10-31 International Business Machines Corporation Key in lockbox encrypted data deduplication

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE354128T1 (de) * 1999-12-20 2007-03-15 Dainippon Printing Co Ltd Verteilte datenarchivierungsvorrichtung und system
AU2002229972A1 (en) * 2001-02-14 2002-08-28 Scientific Generics Limited Cryptographic key generation apparatus and method
EP1271951A1 (en) * 2001-06-22 2003-01-02 Octalis S.A. Conditional access system for digital data by key decryption and re-encryption
US7287047B2 (en) 2001-11-23 2007-10-23 Commvault Systems, Inc. Selective data replication system and method
US20030115447A1 (en) * 2001-12-18 2003-06-19 Duc Pham Network media access architecture and methods for secure storage
WO2004023715A1 (en) * 2002-09-03 2004-03-18 The Regents Of The University Of California Block cipher mode of operation for constructing a wide-blocksize block cipher from a conventional block cipher
US8010498B2 (en) 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
JP4620518B2 (ja) * 2005-04-26 2011-01-26 株式会社ケンウッド 音声データベース製造装置、音片復元装置、音声データベース製造方法、音片復元方法及びプログラム
US20070168350A1 (en) * 2006-01-17 2007-07-19 Tom Utiger Management of non-traditional content repositories
US9465823B2 (en) 2006-10-19 2016-10-11 Oracle International Corporation System and method for data de-duplication
US7873809B2 (en) 2007-03-29 2011-01-18 Hitachi, Ltd. Method and apparatus for de-duplication after mirror operation
JP5060876B2 (ja) 2007-08-30 2012-10-31 株式会社日立製作所 ストレージシステム及びストレージシステムの消費電力低減方法
US8209506B2 (en) 2007-09-05 2012-06-26 Emc Corporation De-duplication in a virtualized storage environment
JP5026213B2 (ja) 2007-09-28 2012-09-12 株式会社日立製作所 ストレージ装置及びデータ重複排除方法
US8245101B2 (en) 2007-12-27 2012-08-14 Sandisk Enterprise Ip Llc Patrol function used in flash storage controller to detect data errors
US7979670B2 (en) 2008-01-24 2011-07-12 Quantum Corporation Methods and systems for vectored data de-duplication
US7814074B2 (en) 2008-03-14 2010-10-12 International Business Machines Corporation Method and system for assuring integrity of deduplicated data
US7567188B1 (en) 2008-04-10 2009-07-28 International Business Machines Corporation Policy based tiered data deduplication strategy
US8346730B2 (en) 2008-04-25 2013-01-01 Netapp. Inc. Deduplication of data on disk devices based on a threshold number of sequential blocks
US20090319772A1 (en) * 2008-04-25 2009-12-24 Netapp, Inc. In-line content based security for data at rest in a network storage system
US9395929B2 (en) 2008-04-25 2016-07-19 Netapp, Inc. Network storage server with integrated encryption, compression and deduplication capability
US7908436B1 (en) 2008-04-25 2011-03-15 Netapp, Inc. Deduplication of data on disk devices using low-latency random read memory
US8117464B1 (en) * 2008-04-30 2012-02-14 Netapp, Inc. Sub-volume level security for deduplicated data
US8219524B2 (en) * 2008-06-24 2012-07-10 Commvault Systems, Inc. Application-aware and remote single instance data management
US8392791B2 (en) 2008-08-08 2013-03-05 George Saliba Unified data protection and data de-duplication in a storage system
US8086799B2 (en) 2008-08-12 2011-12-27 Netapp, Inc. Scalable deduplication of stored data
US8074049B2 (en) 2008-08-26 2011-12-06 Nine Technology, Llc Online backup system with global two staged deduplication without using an indexing database
US8290915B2 (en) * 2008-09-15 2012-10-16 International Business Machines Corporation Retrieval and recovery of data chunks from alternate data stores in a deduplicating system
US8190823B2 (en) 2008-09-18 2012-05-29 Lenovo (Singapore) Pte. Ltd. Apparatus, system and method for storage cache deduplication
US8131687B2 (en) 2008-11-13 2012-03-06 International Business Machines Corporation File system with internal deduplication and management of data blocks
US9058118B1 (en) * 2008-12-31 2015-06-16 Symantec Corporation Techniques for synchronizing and/or consolidating storage areas
WO2010103569A1 (en) 2009-03-11 2010-09-16 Hitachi, Ltd. Storage system and control method for the same, and program
US8140491B2 (en) 2009-03-26 2012-03-20 International Business Machines Corporation Storage management through adaptive deduplication
US8401996B2 (en) * 2009-03-30 2013-03-19 Commvault Systems, Inc. Storing a variable number of instances of data objects
US8218759B2 (en) * 2009-04-17 2012-07-10 Oracle America, Inc. System and method for encrypting data
US8412848B2 (en) * 2009-05-29 2013-04-02 Exagrid Systems, Inc. Method and apparatus for content-aware and adaptive deduplication
US8731190B2 (en) 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
US8401181B2 (en) 2009-06-09 2013-03-19 Emc Corporation Segment deduplication system with encryption of segments
US8285681B2 (en) * 2009-06-30 2012-10-09 Commvault Systems, Inc. Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites
GB2472072B (en) 2009-07-24 2013-10-16 Hewlett Packard Development Co Deduplication of encoded data
CN101656720B (zh) * 2009-08-12 2012-10-17 北京握奇数据系统有限公司 对信息系统中访问对象信息统一维护的方法及装置
US8200641B2 (en) 2009-09-11 2012-06-12 Dell Products L.P. Dictionary for data deduplication
JP5303038B2 (ja) * 2009-09-18 2013-10-02 株式会社日立製作所 重複したデータを排除するストレージシステム
FR2952778B1 (fr) 2009-11-17 2011-12-23 Thales Sa Procede de transmission de donnees securise et systeme de chiffrement et de dechiffrement permettant une telle transmission
US9239843B2 (en) 2009-12-15 2016-01-19 Symantec Corporation Scalable de-duplication for storage systems
US8660994B2 (en) 2010-01-28 2014-02-25 Hewlett-Packard Development Company, L.P. Selective data deduplication
US8108447B2 (en) * 2010-03-11 2012-01-31 Symantec Corporation Systems and methods for garbage collection in deduplicated data systems
JP5434705B2 (ja) 2010-03-12 2014-03-05 富士通株式会社 ストレージ装置、ストレージ装置制御プログラムおよびストレージ装置制御方法
JP4892072B2 (ja) 2010-03-24 2012-03-07 株式会社東芝 ホスト装置と連携して重複データを排除するストレージ装置、同ストレージ装置を備えたストレージシステム、及び同システムにおける重複排除方法
US8453031B2 (en) 2010-03-24 2013-05-28 International Business Machines Corporation Data deduplication using CRC-seed differentiation between data and stubs
US8442942B2 (en) 2010-03-25 2013-05-14 Andrew C. Leppard Combining hash-based duplication with sub-block differencing to deduplicate data
US8954669B2 (en) 2010-07-07 2015-02-10 Nexenta System, Inc Method and system for heterogeneous data volume
US8886613B2 (en) 2010-10-12 2014-11-11 Don Doerner Prioritizing data deduplication
US20120095968A1 (en) 2010-10-17 2012-04-19 Stephen Gold Storage tiers for different backup types
US8380681B2 (en) 2010-12-16 2013-02-19 Microsoft Corporation Extensible pipeline for data deduplication
US8539148B1 (en) 2010-12-22 2013-09-17 Emc Corporation Deduplication efficiency
CN102156727A (zh) 2011-04-01 2011-08-17 华中科技大学 一种采用双指纹哈希校验的重复数据删除方法
CN102281320A (zh) 2011-04-25 2011-12-14 程旭 控制云存储中数据冗余的方法及装置
US20120317084A1 (en) 2011-06-13 2012-12-13 Beijing Z&W Technology Consulting Co., Ltd. Method and system for achieving data de-duplication on a block-level storage virtualization device
CN102221982B (zh) 2011-06-13 2013-09-11 北京卓微天成科技咨询有限公司 块级虚拟化存储设备上实现重复数据删除的方法及系统
US8930307B2 (en) 2011-09-30 2015-01-06 Pure Storage, Inc. Method for removing duplicate data from a storage array
US8527544B1 (en) 2011-08-11 2013-09-03 Pure Storage Inc. Garbage collection in a storage system
US8589640B2 (en) 2011-10-14 2013-11-19 Pure Storage, Inc. Method for maintaining multiple fingerprint tables in a deduplicating storage system
US8468138B1 (en) 2011-12-02 2013-06-18 International Business Machines Corporation Managing redundant immutable files using deduplication in storage clouds
US9904565B2 (en) 2012-02-01 2018-02-27 Veritas Technologies Llc Subsequent operation input reduction systems and methods for virtual machines
US8712976B1 (en) 2012-03-28 2014-04-29 Emc Corporation Managing deduplication density
US8812456B2 (en) 2012-03-30 2014-08-19 Netapp Inc. Systems, methods, and computer program products for scheduling processing to achieve space savings

Also Published As

Publication number Publication date
WO2013159582A1 (en) 2013-10-31
US20150154410A1 (en) 2015-06-04
US20130283058A1 (en) 2013-10-24
US8996881B2 (en) 2015-03-31
CN104272300A (zh) 2015-01-07
CN104272300B (zh) 2018-12-21
EP2842063A1 (en) 2015-03-04
US20150154411A1 (en) 2015-06-04
US9824228B2 (en) 2017-11-21
EP2842063A4 (en) 2015-05-06
US8990581B2 (en) 2015-03-24
JP2015515216A (ja) 2015-05-21
US9792450B2 (en) 2017-10-17
US20130283062A1 (en) 2013-10-24
KR20140128403A (ko) 2014-11-05
IN2014CN04774A (ja) 2015-09-18

Similar Documents

Publication Publication Date Title
JP6109293B2 (ja) コンピューティング環境におけるデータ重複排除システム中でデータ冗長性を維持するための方法、システム、およびコンピュータ・プログラム
US10691670B2 (en) Preserving redundancy in data deduplication systems by indicator
US10268599B2 (en) Enhancing data caching performance
US9495294B2 (en) Enhancing data processing performance by cache management of fingerprint index
JP6568212B2 (ja) 重複排除システムのハッシュ・ベース・マルチテナンシ
US7975115B2 (en) Method and apparatus for separating snapshot preserved and write data
KR101769883B1 (ko) 저장부 할당 장치, 시스템, 및 방법
US8935304B2 (en) Efficient garbage collection in a compressed journal file
US20130219124A1 (en) Efficient discard scans
JP2018142314A (ja) データを暗号化するための分散データ方法
US9767029B2 (en) Data decompression using a construction area
US20150324301A1 (en) Storage control apparatus and computer-readable storage medium storing computer program
US9785667B2 (en) Fast creation of a master GFS2 file system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170130

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: 20170214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170307

R150 Certificate of patent or registration of utility model

Ref document number: 6109293

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150