JP5047308B2 - データセキュリティのための不揮発性ディスクキャッシュ - Google Patents

データセキュリティのための不揮発性ディスクキャッシュ Download PDF

Info

Publication number
JP5047308B2
JP5047308B2 JP2009541469A JP2009541469A JP5047308B2 JP 5047308 B2 JP5047308 B2 JP 5047308B2 JP 2009541469 A JP2009541469 A JP 2009541469A JP 2009541469 A JP2009541469 A JP 2009541469A JP 5047308 B2 JP5047308 B2 JP 5047308B2
Authority
JP
Japan
Prior art keywords
data
backup
volatile storage
state
change
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.)
Expired - Fee Related
Application number
JP2009541469A
Other languages
English (en)
Other versions
JP2010514008A5 (ja
JP2010514008A (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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2010514008A publication Critical patent/JP2010514008A/ja
Publication of JP2010514008A5 publication Critical patent/JP2010514008A5/ja
Application granted granted Critical
Publication of JP5047308B2 publication Critical patent/JP5047308B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、データセキュリティのための不揮発性ディスクキャッシュに関する。
ハードディスクドライブには、障害が生じる可能性があり、このことが、多くのユーザーが、定期的にユーザーのデータをバックアップする、または少なくともユーザーのデータをバックアップすべき理由である。しかし、ハードディスクドライブに障害が生じた場合、システム内に単一のハードディスクドライブを有する現代のコンピューティングモデルを考えると、前回のバックアップの時点以来、このハードディスクドライブに書き込まれたデータは、失われる可能性が高い。
ディスクミラーリングの概念を含むことが可能なRAID(Redundant Arrays of Independent Disks)などのソリューションが、そのようなデータの損失を防ぐのに役立つ。しかし、そのようなソリューションは、高価であり、非効率である可能性があり、パフォーマンスを低下させる可能性があり、このため、多くのコンピューターユーザーには望ましくない。
本概要は、以下の発明の詳細な説明でさらに説明されている選択した概念を簡略化した形式で紹介するために提供するものである。本概要は、特許請求の範囲に記載されている主題事項の重要な特徴または本質的な特徴を特定することを目的とするものでも、特許請求の範囲に記載されている主題事項の範囲の決定に際して、補助として使用することを目的とするものでもない。
簡単に述べると、本明細書で説明される主題の様々な態様は、第1の不揮発性ストレージ(例えば、コンピューターハードドライブ)が、データバックアップ動作の一環として保存されたデータを含む第1のデータ状態の後に行われた変更を含む、最新状態のデータを保持する技術に向けられる。第2の不揮発性ストレージ(例えば、フラッシュメモリデバイス)が、第1の状態の後に行われたバックアップ変更を保持する。これらのバックアップ変更は、最新状態に対応する復元状態を再現するように第1の状態におけるデータと組み合わせ可能である。このため、データは、第2の不揮発性ストレージの中のバックアップ変更データを読み取ること、および保持されたバックアップデータを読み取ることによって復元されることが可能であり、このため、例えば、ハードドライブに障害が生じた場合、バックアップデータが保存された後に行われた変更は失われない。
1つの例示的な実施形態では、コンピューティングデバイスが、最新状態のデータを保持する一次不揮発性ストレージと、前に保存されたデータ状態に対応する開始点からのデータへの変更を保持する二次不揮発性ストレージとを有する。復元機構は、保存されたデータ状態のデータを、二次不揮発性ストレージの中に保持されるデータへの変更と組み合わせることによって、最新状態に対応する復元された状態を再現することができる。一次不揮発性ストレージは、第1のハードディスクドライブとすることができ、二次不揮発性ストレージは、フラッシュメモリ、バッテリーバックアップ付きRAM、別のハードディスクドライブ、スタティックRAM、EEPROMデバイス、またはネットワーク記憶場所、あるいはそれらの任意の組み合わせとすることができる。二次不揮発性ストレージを、ユニバーサルシリアルバスデバイスインタフェースを介して、カードとして、マザーボード構成要素として、有線接続によって、または無線接続によって、またはそれらの任意の組み合わせによってコンピューティングデバイスに結合することができる。
1つの例示的な実施形態では、バックアップ変更データを、このデータをストレージデバイス上の少なくとも1つのブロック(例えば、割り当て単位)に関連付けるメタデータと一緒に保持することができる。代替として、または追加として、バックアップ変更データを、このデータをストレージデバイス上のファイルの少なくとも一部に関連付けるメタデータと一緒に保持することができる。バックアップ変更をフィルターにかけ、ある書き込みだけをバックアップ変更データとして保持することができる。
さらに、1つの例示的な実施形態では、第2の不揮発性ストレージからデータを読み取ることによって、少なくとも部分的に、読み取り要求を満たすことが可能である。パフォーマンスキャッシュ(例えば、ディスクキャッシュ)は、不揮発性ストレージ上に存在することも可能である。バックアップ変更データ領域(space)は、必要に応じて、パフォーマンスキャッシュ領域に増大することができる。
他の利点は、添付の図面と併せて考慮することで、以下の詳細な説明から明白となるだろう。
本発明は、添付の図面において一例として示されるが、これに限定されない。同様の符号は、同様の要素を示す。
本発明の様々な態様を組み込むことができる汎用コンピューティング環境の説明的な例を示す図である。 書き込み要求が従来のハードディスクストレージ手段によって扱われること、およびブロック(割り当て単位)レベルでの不揮発性メモリへの安全なバックアップの例を表す図である。 書き込み要求が従来のハードディスクストレージ手段によって扱われること、およびファイルレベルでの不揮発性メモリへの安全なバックアップの例を表す図である。 書き込み、および他のイベントが時間とともに生じるにつれ、不揮発性メモリを、バックアップセキュリティセクションとパフォーマンスセクションとの間でどのように割り当てられることができるかの例を表す図である。 書き込み、および他のイベントが時間とともに生じるにつれ、不揮発性メモリを、バックアップセキュリティセクションとパフォーマンスセクションとの間でどのように割り当てられることができるかの例を表す図である。 書き込み、および他のイベントが時間とともに生じるにつれ、不揮発性メモリを、バックアップセキュリティセクションとパフォーマンスセクションとの間でどのように割り当てられることができるかの例を表す図である。 ファイルレベル変更バックアップドライバおよびパフォーマンスキャッシュドライバの例を表す図である。 不揮発性からの安全なバックアップデータ、および前回のバックアップデータを使用して、前回の完全バックアップ以来のハードディスク状態を再現する例示的な復元動作を表すブロック図である。 不揮発性メモリに書き込みデータをバックアップするように行うことができる例示的なステップを示す流れ図である。 より高いパフォーマンスのために不揮発性メモリおよびハードドライブからデータを読み取るのに行うことができる例示的なステップを示す流れ図である。 不揮発性メモリの、バックアップされたデータ、およびバックアップ変更データからデータを復元するように行うことができる例示的なステップを示す流れ図である。
本明細書で説明される技術の様々な態様は、一般に、不揮発性メモリを使用して、ハードディスクドライブバックアップの合間に変更されたデータを保存する、比較的安価で堅牢なデータセキュリティソリューションを提供することに向けられる。ハードドライブ障害の場合(またはラップトップコンピューターの場合のように、ハードドライブが盗まれた場合)、バックアップされたデータ変更を、前回のハードドライブデータバックアップと組み合わせて、データをその最新状態に復元することができる。理解されるように、本技術は、パフォーマンス向上を可能にするというさらなる利点も有する。
1つの例示的な実施形態では、変更されたデータは、そのデータをフラッシュデバイスなどの不揮発性メモリに書き込むことによって、同時にバックアップされる。しかし、理解されるように、バッテリーバックアップ付きRAM、別のハードディスクドライブ、スタティックRAM、EEPROMデバイス、ネットワーク記憶場所などを含む、任意のタイプの不揮発性メモリが、変更バックアップ媒体として十分である。さらに、様々なタイプの媒体を含む複数のバックアップ媒体を、同一のコンピューターシステム内で組み合わせることができる。
さらに、本明細書で説明されるように、バックアップされることが可能な変更されたデータの単位の例には、ファイル、ファイルの一部、またはディスク割り当て単位(例えば、本明細書でブロックと呼ばれるセクターまたはクラスター)が含まれるが、いずれかの特定の単位が使用されなければならないという要件は存在せず、実際、ファイル全体を1単位としてバックアップし、いくつかのブロックを他の単位としてバックアップするといった具合に、単位のタイプを同一のバックアップ媒体上で混ぜることができる。さらに、ディスクに書き込まれるすべての変更がバックアップされる必要はなく、例えば、ユーザーは、あるディレクトリセットに書き込まれる変更だけが、不揮発性メモリに同時にバックアップされ、その一方で、他の変更はバックアップされないようにフィルターを設定することができる。
このように、本発明は、本明細書で説明される特定の実施形態、態様、概念、構造、機能、および/または例のいずれにも限定されない。むしろ、本明細書で説明される実施形態、態様、概念、構造、機能、および/または例のいずれも非限定的であり、本発明を、コンピューティングおよびデータセキュリティ全般において利益および利点をもたらす様々な方法で使用することができる。
図1は、汎用コンピューターシステム110が、サウスブリッジチップ114に結合された不揮発性メモリ112を含み、サウスブリッジチップ114は、他の従来のコンピューターシステム構成要素に結合された、例示的なブロック図を示す。よくあるように、図1の例示的なコンピューターシステム110は、処理装置(CPU)116を含み、CPU 116は、ノースブリッジチップ118を介してRAM 120およびグラフィックス処理装置(GPU/カード)122に結合される。やはりよくあるように、サウスブリッジチップ114は、リモート接続のためにネットワークインタフェースカード(NIC)124に接続され、ハードディスクドライブ126に接続され、さらにデバイス接続のために他のポート128に接続されて示されている。
図1に破線で示されるように、不揮発性メモリ112は、代替として、ユニバーサルシリアルバス(USB)メモリデバイスインタフェースなどの、ポート128を介して接続することも可能であることに留意されたい。不揮発性メモリ112は、カード(例えば、ペリフェラルコンポーネントインターコネクト、つまりPCI、PCI express、PCMCIA)として接続することも可能であり、コンピューターシステムマザーボードに組み込まれてもよく、または、ネットワーク接続、FireWire、Bluetooth(登録商標)、赤外線、シリアルポート、パラレルポートなどを介することを含め、基本的に他のいずれの方法で結合されてもよい。さらに、前述のように、単一のコンピューターシステム内に複数のタイプの不揮発性メモリが存在することができる。
図1は、1つの例示的なアーキテクチャにすぎず、他の代替には、不揮発性メモリを、バッテリーバックアップ付きRAMの一部分などのノースブリッジ(NB)にリンクさせることが含まれることが可能であることに留意されたい。
前述のように、何らかの前に保存された状態(例えば、前のハードディスクバックアップ)以来のハードディスク書き込みに対応する変更が、不揮発性メモリ112の中に格納される。図2に表されるように、1つの例示的な代替の実施形態では、変更バックアップは、割り当て単位で、つまり、ブロックレベルで行われることが可能である。より詳細には、書き込み要求が保留中である場合、書き込み要求データ230は、いくつかのドライバを介して送られてから、ハードディスクドライブ126に実際に書き込まれる。この要求は、I/O要求パケット、もしくはドライバスタックを通過するIRPの形とすることができ、または、管理された順序で、IRPもしくは他のデータ構造を各ドライバに選択的に送り、戻されたデータを扱うドライバマネージャーアーキテクチャによって制御することができる。いずれにしても、ハードドライブ126に書き込まれるべきデータ230を、そのデータが書き込まれる前に、1つまたは複数のドライバによって処理できる。
図2の例では、周知のように、ファイルシステム232が、指定されたファイルロケーションにおけるデータに対応する書き込み要求を、ハードドライブフォーマットに対応する様々なブロック(例えば、クラスターまたはセクター)にマップし、ボリュームマネージャー234を介してファイルデータをそれらのブロックに書き込む。ファイルシステム232は、マッピングを追跡して(例えば、ファイル割り当てテーブルまたはマスタファイルテーブルの中で)、指定されたファイルロケーションにおけるデータを求める読み取り要求に関して、適切なデータが見つけられるようにする。
前回の状態(例えば、ユーティリティベースのハードドライブバックアップ)以来の変更に対応するブロックレベルの書き込みを安全にバックアップするために、ブロックレベルで動作する変更バックアップドライバ236は、書き込みデータ230を不揮発性メモリ112にコピーする。不揮発性メモリ112への各書き込みは、メタデータ240を介して追跡され、このため、メタデータに書き込まれたデータ242を、適切にリードバックすることができる。書き込まれるデータの各セットに付随するヘッダなどの、様々な技術を用いて、このような書き込みを追跡することができるが、図2は、メタデータ240が、不揮発性メモリ112の中の対応するロケーションと併せて、ハードドライブ上のブロック番号を記録する機構を例示する。
容易に理解され得るように、ブロックレベル変更バックアップの1つの利点は、そのようなバックアップにより、ハードディスクドライブが、前回の完全バックアップの時点で保存されたデータに変更を適用することによって、別のハードディスクドライブ上で正確に再現されることが基本的に可能になることである。それでも、一部の変更されたデータを選択的にコピーするが、頻繁に変更されるが、プログラムに関係のないログ、一部のメタデータなど、およびハードドライブ上に格納されたユーザーデータなどの他のデータはコピーしないことなどによって、ハードドライブを機能的に(正確にではなく)再現することも可能である。コピーされるデータの量を減らすため、ブロックレベルフィルタリングを実行して、ハードディスクを機能的に再現するのに不必要であることが知られているブロックをバックアップしないことなどができる。ユーザーモード変更バックアップソフトウェア244が、図2に示される。当該ソフトウェアは、例えば、対応するブロックがブロックレベルフィルタリングのために見つけることができる、いくつかのタイプのデータを除外するなど、設定を構成するようにユーザーにインタフェースを提供するソフトウェアなどである。ソフトウェア244は、ユーザーが、ブロックレベルバックアップ(後段で説明されるファイルレベル変更バックアップおよび閾値と対比される)を指定すること、および他の任意の変更バックアップ変数を制御する(例えば、不揮発性領域を追加、または調整する)ことをさらに可能にすることができる。
ブロックレベル変更バックアップの欠点は、たとえ比較的高度なブロックレベルフィルタリングが使用された場合でも、ユーザーが、ユーザーの特定の目的に必要とされない多くの変更をキャッシュする可能性があることである。例えば、ユーザーは、ワークファイルからのデータがバックアップされることを所望するが、記録されたテレビショー、ゲームファイルなどに対応するデータ変更がバックアップされることは所望しない可能性がある。このため、代替のデータ変更バックアップ機構は、選択されたファイル(例えば、ファイルの拡張子によって識別される)および/またはディレクトリへの変更のみバックアップされるファイルレベル変更バックアップを実行する。
図3に、書き込まれるデータ125が、ファイルシステム232に到達する前に、ファイルレベル変更バックアップドライバ336によってコピーされるファイルレベル変更バックアップの概念を例示する。周知のように、データ書き込みには、ファイルID、ファイルのオフセット、および書き込みサイズを含むメタデータが付随する。容易に理解され得るように、このファイルメタデータは、不揮発性メモリ112の中のロケーションまたはロケーションのセットにコピーされるデータ342を追跡するのに使用されるメタデータ340の基礎とすることが可能である。さらに、図3に、ユーザーモード変更バックアップソフトウェア344が示されており、当該ソフトウェアは、例えばファイルレベル取り込みフィルタリングまたはファイルレベル排除フィルタリングのためにファイル、ファイルタイプ、および/またはディレクトリを選択するようにユーザーにインタフェースを提供するソフトウェアなどである。ソフトウェア344はさらに、ユーザーが、ブロックレベル変更バックアップかファイルレベル変更バックアップかを指定すること、閾値(後段で説明される)を設定すること、他の変数を制御することなどを可能にすることができる。
不揮発性メモリ112は、変更バックアップのために排他的に使用される必要はなく、部分的に、ディスクドライブの役割をするなどの従来の目的、および新たな目的で使用されることも可能である。目的毎に領域を割り当てることが可能であり、例えば、4ギガバイトのフラッシュデバイスは、ディスクドライブのために1ギガバイトを有し、バックアップ変更ストレージのために3ギガバイトを有することが可能である。再割り当ては可能であるが、一度、領域がディスクドライブにおいて、またはバックアップ変更ストレージにおいて使用されると、その領域が解放されるまで、その領域を別の目的に再割り当てすることができず、さもなければ、その領域に対応するファイルデータまたはバックアップ変更データが失われる。
不揮発性メモリを使用する1つの新たな技術は、不揮発性メモリにディスクキャッシュの役割をさせることによってコンピューターシステムパフォーマンスを向上させることである。この目的のために、ブロック(例えば、セクター)は、書き込み要求に応じて不揮発性メモリにコピーされ、利用可能な場合、読み取り要求に応じて不揮発性メモリからリードバックされる。理解されるように、このようにすることは、従来のディスクアクセスよりはるかに速く、大幅なパフォーマンス向上をもたらす。
パフォーマンスキャッシュとバックアップ変更データとを同一のデバイス(またはデバイスのセット)上で組み合わせることに関して、バックアップ変更データを格納する必要に応じてパフォーマンスキャッシュ内の領域を解放することによって、動的再割り当てが可能である。パフォーマンスキャッシュデータは、他のいずれのキャッシュされたデータと同様に、領域が必要であり、それがディスクにフラッシュされるとき、破棄される可能性がある。バックアップされると、変更データも、不揮発性メモリ112上で読み取りアクセスのために利用可能であるので、変更データも、パフォーマンス利得のために使用される可能性があることに留意されたい。しかし、バックアップ変更データは、例えば、多数の書き込みのなかからフィルターされた場合、ユーザーの全データ書き込みのサブセットにすぎない可能性があり、このため、パフォーマンスキャッシュを保持することは、不揮発性メモリ領域が、別段、変更データバックアップのために必要とされない場合、やはり相当な価値がある。
図4A〜図4Cに、不揮発性メモリ112の空き領域の中に、またはパフォーマンスキャッシュセクション442によってそれまで使用されていた領域の中に変更バックアップデータセクション440を増大させる概念を示す。図4Aから図4Bへのセクションのサイズの変化に見られるように、より多くのバックアップ領域が変更書き込みのために必要とされるにつれ、変更バックアップセクション440は、一般に、不揮発性メモリ112の中で余地が残されていなくなるまで、パフォーマンスキャッシュセクション442が縮小するにつれて増大する(後段で説明されるように)。図4Cに表されるように、変更バックアップセクション440が、変更されたデータを格納するためにもはや必要とされなくなると、パフォーマンスキャッシュセクション442を、不揮発性メモリ112領域のより大きいセクション(例えば、全部、またはいくらかの小さい領域が変更バックアップセクション440のために常に確保される場合、ほとんど全部)に戻すことができる。いくらかの最小限の量の領域を、変更バックアップセクション440のために定義することができる。この再割り当ては、以下のように、ハードディスクの次回のユーティリティベースのバックアップ動作の後に続くことができ、または変更バックアップセクション440が別の媒体に転送された後とすることができる。
容易に理解され得るように、ブロックレベルパフォーマンスキャッシングおよびブロックレベル変更バックアップを、同一のモジュールに、例えば、同一のドライバに組み込むことが可能である。実際、ブロックレベル変更バックアップが、フィルタリング動作を全く実行しない場合、書き込みを扱う際の実質的な違いは、全く存在しない。しかし、パフォーマンスキャッシングと異なり、ハードドライブに障害が生じた場合にデータ損失を防ぐために、変更バックアップソフトウェアは、キャッシュが一杯になると、ユーザーに通知をする必要があり、このことが生じた場合、例えば、ユーティリティベースのハードドライブバックアップを実行し、不揮発性メモリ内容を別のストレージに転送し、さらなるストレージを追加し、データを圧縮する、または同種の、将来の変更を保存する措置を、ユーザーはとる必要がある。
図5に、パフォーマンスキャッシュドライバ537(ブロックレベル変更バックアップドライバも含むことが可能な)と共存するファイルレベル変更バックアップドライバ536の概念を示す。図5において、変更バックアップドライバ536は、フィルタリングを介して動作して、指定されたファイルセット、指定されたディレクトリセットなどに対応する変更だけを効率的にバックアップする。このため、すべての変更がバックアップされるわけではなく、変更バックアップセクション440(図4A、不揮発性メモリ112Aの、図5におけるメタデータ540A領域およびデータ542B領域に対応する)は、ブロックレベル変更データバックアップの場合ほど急速に増大しない。
この例では、パフォーマンスレベルキャッシングは、パフォーマンスキャッシュドライバ537を介してブロックレベルで行われる。これは、縮小することが可能な、ドライバ537の不揮発性メモリ112Bのドライバ537独自の領域540Aおよび540Bに対してとすることができる。1つの代替では、ファイルレベルでバックアップされる変更データも、パフォーマンスキャッシュに書き込まれる(対応するブロックの中のデータとして)ことに留意されたい。効率のため、変更バックアップドライバ536は、パフォーマンスキャッシュドライバ537と通信して、不揮発性メモリ112に同一のデータを2回、書き込むことを回避することができる。
不揮発性ストレージへの変更バックアップの様々な他の態様を用いて、全体的なユーザーエクスペリエンスを向上することができる。例えば、データ暗号化およびデータ復号が、バックアップドライバに透過的に、より高位のドライバレベルで起こることができる。セキュリティのため、復号鍵を、不揮発性ストレージとともにではなく、大容量バックアップデータとともに保持することができる。なぜなら、不揮発性ストレージがリムーバブルであり、紛失または盗まれた場合、ストレージ上のいずれのデータも、その暗号化されたデータに付随する鍵以外で暗号化されているためである。
また、ユーザーは、データセキュリティのレベルを判定することもできる。例えば、ユーザーは、ミラーリング技術または同様のRAID技術を使用して、複数の(安価な)不揮発性ストレージデバイスにわたって変更データを分散させることができる。また、複数の不揮発性ストレージデバイスをパフォーマンス上の理由で用いて、例えば、並行データアクセスを提供することができる。
デバイスを管理するソフトウェアが、ハードドライブバックアップを実行すること、またはバックアップ変更を別の媒体に転送することを示唆するまでに、バックアップ変更によって消費されることが可能な領域の量などの閾値を、設定することができる。より慎重なユーザー、または大きいサイズの変更を実行する傾向があるユーザーは、十分な事前警告を与える閾値警告レベルを設定することが可能である。
変更を、ユーザーごとにバックアップすることができる。例えば、あるユーザーは、変更されたファイルの所有権にかかわらず、別のユーザーの変更ではなく、そのユーザーの変更だけを不揮発性ストレージにバックアップさせることができる。現在のユーザーの変更を認識する(例えば、メタデータの一部として)フィルターを用いることができる。これによって、ユーザーは、前回のバックアップ以来のそのユーザーの変更だけを伴うハードディスク状態を再現することが可能である。代替として、不揮発性ストレージの中のメタデータを用いて、いずれのユーザーが、それらの変更の間で、より後の差別化のための変更を行ったかを保持することができる。これにより、誰か他の人が共有ファイルに(例えば、破損する)変更を行った場合に、ユーザーが、ユーザー自身の変更を復元することが可能となる。
不揮発性ストレージからのデータ復元の考察に目を向け、図6に、新たなハードドライブ670に復元することの例を示す。本例に妨げられることなく、前述のように、ユーザーのデータまたは共有データが、別のユーザーによって破損した場合などの、ハードドライブ障害が問題ではない場合、復元を、同一のハードドライブに(再フォーマットされて、またはハードドライブ上の空き領域に)対して行うことができると理解される。
復元するために、前回のハードドライブバックアップデータ672(例えば、以前のハードドライブ126の障害が生じた場合にもはや存在しない可能性がある、何らかのバックアップユーティリティ674または同種のものによって、ハードドライブ状態1で以前にバックアップされた)は、復元ユーティリティ676によって新たなハードドライブ670に書き込まれ、不揮発性メモリ112からの変更で新たなハードディスクドライブ670を更新して、前回の状態、状態2を再現するように適用される。前述のように、以上は、基本的に、正確な再現、機能的な再現、または指定されたデータ再現とすることができる。
また、図6に、存在する可能性がある1つまたは複数の増分バックアップデータセット678の概念を表す。より詳細には、例えば、不揮発性メモリがバックアップ変更で一杯になっている場合に、ユーザーは、不揮発性メモリ112の内容を、バックアップされた変更を含む増分バックアップデータセットに転送することができる。バックアップ状態1aに対応する、このデータセット、またはデータセットのグループ678は、どこに格納されてもよいが、セキュリティ目的のため、障害または損失の可能性の理由から、ハードドライブ上には格納されない(データ破損から回復する目的で、ハードドライブ上に格納される可能性があるが)。例えば、不揮発性メモリ112をネットワークストレージに自動的に転送するネットワークフラッシュを、選択することができる。当該ネットワークストレージは、前回のハードドライブバックアップデータ672を、1つまたは複数の増分バックアップセット678に関連して保持することができる。光媒体フラッシュが、別の代替であり、異なるフラッシュデバイスを挿入することも、この新たなフラッシュデバイスが、前回のハードドライブバックアップデータ672に対して直接にではなく、前の増分バックアップデータ678に対して増分されるものと理解することも可能である。
順序が保たれる限り、任意の数の増分バックアップデータセット678を保持することができる。復元時に、バックアップされたハードドライブデータ(状態1)は、任意の増分バックアップデータセット678における変更とともに、不揮発性メモリ112上の変更を書き込むことを開始する前に、状態(本明細書で順序が保たれた状態とともに1aと呼ばれる)に対応する。復元する1つの方法は、ハードドライブ内容を書き込み、次に、あらゆる増分バックアップデータセットを通して、順番に、変更が起きたのに応じて、データを上書きし、次に、不揮発性メモリ112の中の変更で終えることであることに留意されたい。復元する代替の方法は、各ブロックを、そのブロックに関して見つけることが可能な最新の変更から始めて、最後の変更を見つけるために必要に応じて時間を(新たな変更がもはや存在しない場合、状態1ハードドライブバックアップデータ672までずっと)遡り、1度、書き込むことである。各ブロックを1度、書き込む復元代替では、不揮発性メモリ112の中の変更が最初に復元されることに留意されたい。
さらに別の態様は、不揮発性ストレージデバイスが利用できない場合、例えば、ユーザーによって取り外された、または一杯である場合に、ハードドライブ自体の上に変更をキャッシュすることに言及する。その後、後に利用可能になると(例えば、再接続される、または別の媒体に転送されると)、それらのキャッシュされた変更を、不揮発性メモリに再び同期させることが可能である。このようにすることにより、完全な同期以前のハードドライブ障害またはハードドライブ損失のリスクを伴うが、それでも、利益をもたらす。
例として、ブロックレベルで、変更バックアップドライバまたは同様の構成要素は、同期される必要があることに関して、いずれのブロックが変更された(汚された(dirtied))かを、単にログ記録することが可能である。同様に、ファイルレベルで、変更バックアップドライバは、関係のある書き込みのメタデータを追跡することが可能である。不揮発性メモリが再び利用可能になると、同期は、自動的とすることが可能である。各ブロックもしくはブロックのサブセット、またはファイルの一部分もしくはいくつかの部分を別々に同期するトランザクション概念を使用することによって、完全な同期を単一のセッションにおいて完了することができない場合に、部分的同期が可能である。
ユーザーは、テキスト、グラフィックスなどを介することを含め、変更バックアップデータの状態について、様々な方法で通知を受けることができる。例えば、コンピューターによって表示されるアイコン上、または別の場所(例えば、不揮発性メモリデバイス上のLED)の緑の標識により、関係のあるすべての変更がバックアップされており、データは安全であることを示すことができる。黄色の標識により、関係のあるすべての変更がバックアップされているが、不揮発性ストレージデバイスは、領域が少なくなっており、ハードドライブバックアップまたは増分転送が実行されるべきことを示すことができる。赤の標識により、例えば、領域の限界、デバイスが取り外されていることなどのため、すべての変更がバックアップされているわけではないことを示すことができる。ただし、前述のように、これらの変更を、同期のためにハードドライブ上に保持することができる。
書き込みデータを扱うことに関する例示的な説明に目を向けると、図7は、例えば、変更バックアップドライバにおいて書き込みデータを処理するように行うことができる可能なステップを示す流れ図である。ステップ702により、書き込みデータを受け取ることを表し、ステップ704により、フィルタリングの結果、変更バックアップストレージから排除された書き込みデータの任意のデータをパフォーマンスキャッシングすることを表す。
少なくとも一部の書き込みデータが、変更としてバックアップされる場合、ステップ706により、このデータのサイズを、不揮発性メモリ上の空き領域の量と比較する。この空き領域には、ステップ708および710を介して縮小される可能性がある、任意のパフォーマンスキャッシュ領域が含まれる。さらに、ステップ706には、不揮発性ストレージが取り外されている場合が含まれ、その場合、空き領域は0である。不十分な領域の場合、変更をバックアップすることができず、ステップ720を介して、ユーザーは、データが安全ではないという通知を受ける。特に示されていないものの、前述のように、バックアップされていないデータ変更をハードドライブ上にログ記録、またはそれ以外で保存して、領域が利用可能になった/不揮発性メモリデバイスが再接続された際に、同期を後で行うことができることが理解される。
パフォーマンスキャッシュ領域のために、不揮発性メモリの中で十分な領域が利用可能であるが、バックアップセクションの中で不十分である場合、ステップ708および710により、パフォーマンスキャッシュ領域を縮小することによってバックアップセクション領域を増大させる。次に、ステップ712により、適切なデータおよびメタデータを、このバックアップセクションに書き込む。データは、直接に上書きすることによって、または新たな領域に書き込み、古い領域を解放することによって、既に存在する対応するデータ(例えば、同一のブロック、または同一のファイルセクションの中の)を上書きすることが可能であることに留意されたい。さらに、書き込みエラーなどを、周知の方法で処理することが可能であることに留意されたい。
ステップ714により、この書き込みの後に続いて、空き領域の量が、ユーザーが設定できる閾値限度に近づいているかどうかを評価する。閾値限度に近づいている場合、ユーザーは、バックアップ領域が少なくなっている、つまり、データ損失の可能性を回避するために、ハードドライブバックアップ、または増分データセットへの転送が間もなく必要とされるという警告を受ける。
図8に、読み取り要求が受け取られるステップ802で始まる、可能な場合に不揮発性メモリから読み取ることによって、読み取り要求を効率的に扱うように行うことができる例示的なステップを表す。ステップ804により、要求されるデータがバックアップセクションの中に入っているかどうかを評価する。要求されるデータは、頻繁に使用されるデータである傾向があり、このため、多くの場合、存在することに留意されたい。代替として、パフォーマンスセクションを、要求されるデータがそのセクションの中に存在するかどうかについて、先に評価することが可能である。
ステップ804で、そのデータの少なくとも一部が変更バックアップセクションの中に存在する場合、そのデータを読み取りバッファに読み込むステップ806が実行され、存在しない場合、パフォーマンスキャッシュの中で、要求されるデータを探すステップ812が実行される。ステップ806で読み取られ、ステップ808によって表されるように、要求が完全に満たされた場合、適切な成功ステータスとともに、その読み取りバッファが、ステップ824で戻される。
そのデータが全く、または一部しか、変更バックアップセクションから入手可能でなかった場合、ステップ810により、元の要求を、欠落しているデータを求める1つまたは複数の読み取り要求に修正する。ステップ812で、そのデータの少なくとも一部が、パフォーマンスセクションの中に存在する場合、ステップ812は、読み取り(または複数回の読み取り)を実行するステップ814に分岐し、存在しない場合、ステップ812は、ハードディスクドライブから読み取り(または複数回の読み取り)を実行するステップ820に分岐する。
ステップ814が実行される場合、ステップ816により、元の読み取り要求が完全に満たされたかどうかを表す。完全に満たされた場合、適切な成功ステータスとともに、その読み取りバッファが、ステップ824で戻される。完全には満たされていない場合、ステップ818により、欠落しているデータを求めてハードディスクドライブにアクセスするように1回または複数回の読み取りを調整し、ステップ820により、ハードドライブから読み取り、この読み取り要求が、通常の読み取り動作であるように要求側エンティティに見えるように、ステップ822および824が実行される。
図8のステップは、例えば、可能な限り、不揮発性ストレージからのデータを使用して読み取りバッファを構築して、ハードディスクドライブは、要求を完了するのに必要とされる最小限のデータを獲得するのに必要なだけアクセスされるようにすることによって、読み取り要求を満たす1つのやり方にすぎないことに留意されたい。一方、読み取りが、不揮発性ストレージを介して完全に満たされることが可能であるかどうかを判定し、満たされない場合、通常どおり、全部の読み取りをハードドライブから実行するなど、他の代替を実施することもできる。
図9は、復元動作を表し、ステップ902および904により、ハードドライブをバックアップすること(例えば、バックアップユーティリティを介して完全バックアップに)を表し、ステップ904により、あらゆる増分バックアップ、つまり、前回の定期的バックアップ動作以来、不揮発性ストレージから転送されたバックアップを保持することを表している。
ステップ906により、遠い将来に起こる可能性がある復元動作を待つことを表す。このように、ステップ906は、通常、プロセス内の繰り返されるループではなく、完全に別個の復元動作プロセスが始まるのを待つことを表す。
ステップ908および910により、ネットワークバックアップロケーションにおいて保持されるなどの、保持されたデータのすべてに基づいて、何らかの受け取り側媒体(例えば、新たなハードドライブ)にハードディスクドライブの状態を再現することを表す。前述のように、ハードドライブ状態は、初期バックアップデータ(バックアップ状態1)、ならびに順番に適用される(バックアップ状態1aをもたらす)他の増分バックアップデータから再現されることが可能である。
最新の状態を復元するために、ステップ910により、不揮発性ストレージのバックアップ変更データを使用することを表す。ステップ910を、独立に実行することが可能であり、または、代替として、例えば、ステップ908を実行する前に、最新の増分バックアップとなる不揮発性ストレージ内容を転送し、次に、ステップ908を実行することによって、ステップ908にマージすることができることに留意されたい。
本発明は、様々な変形および代替の構成が可能であるが、本発明の特定の例示的な実施形態が、図面に示され、上記で詳細に説明されてきた。しかし、本発明を、明細書で開示される特定の形態に限定する意図は全くなく、むしろ、本発明は、本発明の趣旨および範囲に含まれる、すべての変形、代替の構成、および同等物に及ぶことを理解されたい。

Claims (19)

  1. コンピューター実行可能な命令を有するコンピューター読み取り可能な記録媒体であって、前記コンピューター実行可能な命令が実行されるとステップを実行し、前記ステップは、
    ストレージデバイスの内容の保存されたデータに対応するバックアップデータを保持するステップであって、前記保存されたデータは、第1の状態に対応する、ステップと、
    前記ストレージデバイスの前記内容を変更することに向けられた書き込み要求を受け取るステップと、
    前記書き込み要求をフィルタリングして、前記書き込み要求を、バックアップ変更データとして書き込まれない他の書き込み要求のなかから区別するステップであって、前記フィルタリングの結果、バックアップ変更データとして書き込まれるものから排除された書き込みデータをパフォーマンスキャッシングする、ステップと、
    前記書き込み要求が、前記ストレージデバイスの前記内容を第2の状態に変更する処理を進めることを可能としながら、前記書き込み要求に対応するバックアップ変更データを、前記ストレージデバイスとは別個の不揮発性ストレージに書き込むステップと、
    前記不揮発性ストレージの中の前記バックアップ変更データを読み取ること、および前記保持されたバックアップデータを読み取ることによって、前記第2の状態における前記ストレージデバイスに対応するように受け取り側ストレージデバイスを復元するステップと
    を含み、
    前記不揮発性ストレージは、パフォーマンスキャッシュセクションにパフォーマンスキャッシュを保持し、変更バックアップセクションに前記バックアップ変更データを保持し、前記変更バックアップセクションが、当該変更バックアップセクションに変更としてバックアップすべき前記書き込み要求に対して不十分な領域を有すると判定される場合、前記パフォーマンスキャッシュセクションのサイズを縮小し、前記変更バックアップセクションのサイズを増大して前記書き込み要求に対応することを特徴とするコンピューター読み取り可能な記録媒体。
  2. 前記バックアップデータを保持するステップは、バックアップ動作を実行し、前記バックアップ動作の後に続いて、前記ストレージデバイスの前記内容に対応するデータ構造を保持するステップを含むことを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
  3. 前記バックアップデータを保持するステップは、
    バックアップ動作を実行し、前記バックアップ動作の後に続いて、前記ストレージデバイスの前記内容に対応するデータ構造を保持するステップと、
    前記バックアップ動作の後、および前記書き込み要求の前に起こった書き込み動作を追跡する少なくとも1つの増分変更バックアップデータセットを保持するステップと
    を含むことを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
  4. 前記バックアップ変更データを書き込むステップは、前記不揮発性ストレージにデータを、前記ストレージデバイスの少なくとも1つのデータブロックに前記データを関連付けるメタデータとともに書き込むステップを含むことを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
  5. 前記バックアップ変更データを書き込むステップは、前記不揮発性ストレージにデータを、前記ストレージデバイス上のファイルの少なくとも一部に前記データを関連付けるメタデータと一緒に書き込むステップを含むことを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
  6. 前記不揮発性ストレージ上の前記パフォーマンスキャッシュセクションに別の書き込み要求を書き込むステップを含むさらなるコンピューター実行可能命令を有することを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
  7. 前記変更バックアップセクションの領域を大きくし、前記パフォーマンスキャッシュセクションの領域を小さくするように前記不揮発性ストレージ内のストレージ領域を調整するステップを含むさらなるコンピューター実行可能命令を有することを特徴とする請求項6に記載のコンピューター読み取り可能な記録媒体。
  8. 前記ストレージデバイスの前記内容を読み取ることに向けられた読み取り要求を受け取るステップと、前記不揮発性ストレージから前記読み取り要求の少なくとも一部を満たすステップとを含むさらなるコンピューター実行可能命令を有することを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
  9. 前記バックアップ変更データの少なくとも一部を増分バックアップデータセットに転送することによって、前記不揮発性ストレージ内の領域を解放するステップを含むさらなるコンピューター実行可能命令を有することを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
  10. 前記バックアップ変更データを書き込むステップは、前記不揮発性ストレージが利用可能でない場合に、前記ストレージデバイスに、前記バックアップ変更データを追跡する情報を書き込むステップと、後で前記不揮発性ストレージが利用可能になると、前記情報を処理することによって前記不揮発性ストレージを同期するステップとを含むことを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
  11. 前記不揮発性ストレージが、前記第2の状態の前記ストレージデバイスに対応するように前記受け取り側ストレージデバイスを復元するのに必要とされる前記バックアップ変更データを含まない場合の1つの指示、および前記不揮発性ストレージが、前記第2の状態の前記ストレージデバイスに対応するように前記受け取り側ストレージデバイスを復元するのに必要とされる前記バックアップ変更データを含む場合の別の指示を含む、前記不揮発性ストレージの同期状態を示す指示をユーザーに提供するステップを含むさらなるコンピューター実行可能命令を有することを特徴とする請求項1に記載のコンピューター読み取り可能な記録媒体。
  12. コンピューティングデバイスを含むコンピューティング環境において、
    初期状態から変更が行われるときに、データの最新状態を保持する、前記コンピューティングデバイスに結合された一次不揮発性ストレージと、
    前記初期状態より後である保存されたデータ状態に対応する開始点から、前記データへの変更を保持する、前記一次不揮発性ストレージとは別個の二次不揮発性ストレージであって、前記二次不揮発性ストレージは、前記コンピューティングデバイスに結合され、復元機構が、前記保存されたデータ状態のデータと、二次不揮発性ストレージの中に保持される前記データへの変更とを組み合わせることによって、最新状態に対応する復元状態を再現する、二次不揮発性ストレージと、
    前記復元状態が、前記保存されたデータ状態の後の変更の選択されたサブセットによって修正された前記保存されたデータ状態を含むように、変更をフィルタリングして、前記二次不揮発性ストレージで保持すべき一部の変更のみを選択するフィルタであって、前記フィルタリングの結果、前記二次不揮発性ストレージによって保持されるものから排除された書き込みデータは、パフォーマンスキャッシングされる、フィルタと
    を備え、
    前記二次不揮発性ストレージは、パフォーマンスキャッシュセクションにパフォーマンスキャッシュを保持し、変更バックアップセクションに前記開始点からの前記データへの変更を保持し、前記変更バックアップセクションが、当該変更バックアップセクションに変更としてバックアップすべき書き込み要求に対して不十分な領域を有すると判定される場合、前記パフォーマンスキャッシュセクションのサイズを縮小し、前記変更バックアップセクションのサイズを増大して前記書き込み要求に対応することを特徴とするシステム。
  13. 前記一次不揮発性ストレージは、第1のハードディスクドライブを備え、前記二次不揮発性ストレージは、フラッシュメモリを備え、前記復元機構は、第2のハードディスクドライブに前記復元された状態を書き込むことによって前記復元された状態を再現することを特徴とする請求項12に記載のシステム。
  14. 前記二次不揮発性ストレージは、フラッシュメモリ、バッテリーバックアップ付きRAM、別のハードディスクドライブ、スタティックRAM、EEPROMデバイス、またはネットワーク記憶場所、あるいはこれらの任意の組み合わせを含むセットの1つまたは複数のアイテムを備え、前記二次不揮発性ストレージは、ユニバーサルシリアルバスデバイスインタフェースを介して、カードとして、マザーボード構成要素として、有線接続によって、または無線接続によって、あるいはこれらの任意の組み合わせによって前記コンピューティングデバイスに結合されることを特徴とする請求項12に記載のシステム。
  15. 第1の状態にバックアップされたデータを有するコンピューティングデバイスを有するコンピューティング環境において、
    第1の不揮発性ストレージの中に、前記第1の状態の後に行われた変更によって修正されるときに、前記第1の状態におけるデータを含むデータの最新状態を保持するステップと、
    前記第1の不揮発性ストレージとは別個の第2の不揮発性ストレージの変更バックアップセクション中に、前記第1の状態の後に起こる前記データへの変更をバックアップ変更として保持するステップであって、前記バックアップ変更を第1の状態にバックアップされた前記データと組み合わせ、最新状態に対応する復元状態を再現する、ステップと、
    前記復元状態が、前記第1の状態の後の変更の選択されたサブセットによって修正された前記第1の状態を含むように、変更をフィルタリングして、バックアップ変更として一部の変更のみを選択するステップであって、前記フィルタリングの結果、バックアップ変更として保持されるものから排除された前記データへの変更をパフォーマンスキャッシングする、ステップと、
    前記変更バックアップセクションが、当該変更バックアップセクションに変更としてバックアップすべき書き込み要求に対して不十分な領域を有するか判定するステップと、
    前記第2の不揮発性ストレージに保持されるパフォーマンスキャッシュセクションのサイズを縮小し、前記変更バックアップセクションのサイズを増大して前記書き込み要求に対応するステップと
    を含むことを特徴とする方法。
  16. 前記第1の状態にバックアップされた前記データは、バックアップデータのセットと、前記第1の状態の後の、ただし、前記第2の不揮発性ストレージの中の前記バックアップ変更より前のバックアップ変更データを保持する少なくとも1つの増分バックアップデータセットとを含むことを特徴とする請求項15に記載の方法。
  17. 前記バックアップ変更データを保持するステップは、前記第2の不揮発性ストレージにデータを、前記第1の不揮発性ストレージの少なくとも1つのデータブロックに前記データを関連付けるメタデータとともに書き込むステップ、または前記第2の不揮発性ストレージにデータを、前記第1の不揮発性ストレージ上のファイルの少なくとも一部に前記データを関連付けるメタデータとともに書き込むステップを含むことを特徴とする請求項15に記載の方法。
  18. 前記第1の不揮発性ストレージからの内容を読み取ることに向けられた読み取り要求を受け取るステップと、前記第2の不揮発性ストレージから前記読み取り要求の少なくとも一部を満たすステップとをさらに含むことを特徴とする請求項15に記載の方法。
  19. 前記変更バックアップセクションの空き領域の量がる閾値限度を下回るか判定するステップと、
    バックアップ領域が少ないことを示す警告を生成するステップと
    を含むことを特徴とする請求項15に記載の方法。
JP2009541469A 2006-12-14 2007-11-29 データセキュリティのための不揮発性ディスクキャッシュ Expired - Fee Related JP5047308B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/638,944 US7921258B1 (en) 2006-12-14 2006-12-14 Nonvolatile disk cache for data security
US11/638,944 2006-12-14
PCT/US2007/085910 WO2008073716A1 (en) 2006-12-14 2007-11-29 Nonvolatile disk cache for data security

Publications (3)

Publication Number Publication Date
JP2010514008A JP2010514008A (ja) 2010-04-30
JP2010514008A5 JP2010514008A5 (ja) 2011-01-27
JP5047308B2 true JP5047308B2 (ja) 2012-10-10

Family

ID=39512086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009541469A Expired - Fee Related JP5047308B2 (ja) 2006-12-14 2007-11-29 データセキュリティのための不揮発性ディスクキャッシュ

Country Status (7)

Country Link
US (1) US7921258B1 (ja)
EP (1) EP2115602B1 (ja)
JP (1) JP5047308B2 (ja)
KR (1) KR101247006B1 (ja)
CN (1) CN101583930B (ja)
ES (1) ES2385063T3 (ja)
WO (1) WO2008073716A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1939874A1 (en) * 2006-12-28 2008-07-02 Deutsche Thomson OHG Method to restore a failed HDD of a PVR
US20100131696A1 (en) * 2008-11-21 2010-05-27 Pratt Thomas L System and Method for Information Handling System Data Redundancy
US9430155B2 (en) 2010-03-25 2016-08-30 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape
US9275678B2 (en) 2010-03-25 2016-03-01 International Business Machines Corporation Primary storage media with associated secondary storage media for efficient data management
US9063666B2 (en) 2010-03-25 2015-06-23 International Business Machines Corporation File index, metadata storage, and file system management for magnetic tape
GB2492320B (en) * 2011-06-21 2020-03-25 Metaswitch Networks Ltd Process recovery method and system
US8949367B2 (en) * 2011-10-31 2015-02-03 Oracle International Corporation Cooperative storage management
CN102769658A (zh) * 2011-12-06 2012-11-07 北京安天电子设备有限公司 网络文件还原方法及装置
CN102520956A (zh) * 2011-12-19 2012-06-27 厦门游家网络有限公司 一种新型的数据存储方法及系统
US8918581B2 (en) * 2012-04-02 2014-12-23 Microsoft Corporation Enhancing the lifetime and performance of flash-based storage
CN103870208B (zh) * 2012-12-17 2017-08-25 联想(北京)有限公司 信息处理的方法及电子设备
US20140181042A1 (en) * 2012-12-26 2014-06-26 Kabushiki Kaisha Toshiba Information processor, distributed database system, and backup method
JP2014127015A (ja) * 2012-12-26 2014-07-07 Toshiba Corp 情報処理装置、分散データベースシステム、およびバックアップ方法
US20150378642A1 (en) * 2013-03-15 2015-12-31 Seagate Technology Llc File system back-up for multiple storage medium device
US20150339065A1 (en) * 2014-05-20 2015-11-26 Munif M. Farhan Enhanced data reliability using solid-state memory-enabled storage devices
WO2016095151A1 (en) * 2014-12-18 2016-06-23 Hua Zhong University Of Science Technology Storing log records in a non-volatile memory
US10083299B2 (en) * 2015-12-16 2018-09-25 Carbonite, Inc. Systems and methods for automatic snapshotting of backups based on malicious modification detection
KR20170074264A (ko) * 2015-12-21 2017-06-30 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작방법
US10509703B1 (en) 2017-10-25 2019-12-17 Gonen Ravid External backup and instant recovery system for a computer
CN108762987A (zh) * 2018-05-30 2018-11-06 上海顺舟智能科技股份有限公司 用于双备份单片机闪存的数据恢复方法及装置
US10983829B2 (en) 2019-07-12 2021-04-20 Micron Technology, Inc. Dynamic size of static SLC cache
DE102020108101A1 (de) * 2020-03-24 2021-09-30 Pilz Gmbh & Co. Kg Vorrichtung zur Speicherung von Daten in einem nichtflüchtigen Speicher

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2256735B (en) 1991-06-12 1995-06-21 Intel Corp Non-volatile disk cache
WO1993018461A1 (en) 1992-03-09 1993-09-16 Auspex Systems, Inc. High-performance non-volatile ram protected write cache accelerator system
US5241669A (en) * 1992-04-20 1993-08-31 International Business Machines Corporation Method and system for sidefile status polling in a time zero backup copy process
SE500599C2 (sv) 1992-12-08 1994-07-25 Ellemtel Utvecklings Ab Sätt att optimera minnesutrymme i en databas
US6035347A (en) 1997-12-19 2000-03-07 International Business Machines Corporation Secure store implementation on common platform storage subsystem (CPSS) by storing write data in non-volatile buffer
US6397229B1 (en) 1998-02-02 2002-05-28 International Business Machines Corporation Storage-controller-managed outboard incremental backup/restore of data
US6295577B1 (en) 1998-02-24 2001-09-25 Seagate Technology Llc Disc storage system having a non-volatile cache to store write data in the event of a power failure
JP3640802B2 (ja) 1998-06-08 2005-04-20 富士通株式会社 データバックアップ方式
US6725342B1 (en) 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
US6606694B2 (en) * 2000-12-22 2003-08-12 Bull Hn Information Systems Inc. Write logging in mirrored disk subsystems
US6848021B2 (en) * 2001-08-01 2005-01-25 International Business Machines Corporation Efficient data backup using a single side file
WO2003085677A1 (fr) 2002-04-05 2003-10-16 Renesas Technology Corp. Memoire non volatile
US6947956B2 (en) 2002-06-06 2005-09-20 International Business Machines Corporation Method and apparatus for selective caching of transactions in a computer system
JP2004046435A (ja) * 2002-07-10 2004-02-12 Hitachi Ltd バックアップ方法、その方法に用いた記憶制御装置
US6981004B2 (en) * 2002-09-16 2005-12-27 Oracle International Corporation Method and mechanism for implementing in-memory transaction logging records
US7664984B2 (en) * 2002-10-09 2010-02-16 Xpoint Technologies, Inc. Method and system for updating a software image
US6983352B2 (en) * 2003-06-19 2006-01-03 International Business Machines Corporation System and method for point in time backups
US7051223B2 (en) 2003-09-30 2006-05-23 International Business Madnine Corporation System, apparatus, and method for limiting non-volatile memory
US7412583B2 (en) * 2003-11-14 2008-08-12 International Business Machines Corporation Virtual incremental storage method
KR100605991B1 (ko) 2003-12-23 2006-07-26 삼성전자주식회사 휴대 단말의 사용자 데이터 보존 방법과 그 회로
US7644239B2 (en) 2004-05-03 2010-01-05 Microsoft Corporation Non-volatile memory cache performance improvement
JP2005332067A (ja) 2004-05-18 2005-12-02 Hitachi Ltd バックアップ取得方法及びディスクアレイ装置
US7395452B2 (en) 2004-09-24 2008-07-01 Microsoft Corporation Method and system for improved reliability in storage devices
US7480761B2 (en) * 2005-01-10 2009-01-20 Microsoft Corporation System and methods for an overlay disk and cache using portable flash memory
TW200625083A (en) 2005-01-14 2006-07-16 Farstone Tech Inc Backup/recovery system and method thereof
US20070033356A1 (en) * 2005-08-03 2007-02-08 Boris Erlikhman System for Enabling Secure and Automatic Data Backup and Instant Recovery
US20070185879A1 (en) * 2005-12-23 2007-08-09 Metacommunications, Inc. Systems and methods for archiving and retrieving digital assets

Also Published As

Publication number Publication date
EP2115602B1 (en) 2012-05-23
CN101583930A (zh) 2009-11-18
EP2115602A1 (en) 2009-11-11
JP2010514008A (ja) 2010-04-30
EP2115602A4 (en) 2011-04-20
US7921258B1 (en) 2011-04-05
CN101583930B (zh) 2012-12-12
ES2385063T3 (es) 2012-07-17
WO2008073716A1 (en) 2008-06-19
KR101247006B1 (ko) 2013-04-02
KR20090087509A (ko) 2009-08-17

Similar Documents

Publication Publication Date Title
JP5047308B2 (ja) データセキュリティのための不揮発性ディスクキャッシュ
JP2010514008A5 (ja)
US7383465B1 (en) Undoable volume using write logging
US20060277226A1 (en) System and method for controlling storage of electronic files
WO2010038558A1 (ja) 情報バックアップ/リストア処理装置、及び情報バックアップ/リストア処理システム
CN106407040A (zh) 一种远程数据复制方法及系统
US20070186066A1 (en) Fast verification of computer backup data
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
US20110173404A1 (en) Using the change-recording feature for point-in-time-copy technology to perform more effective backups
JP2006244484A (ja) ファイルシステムを用いて、ファイルを世代ファイルとして自動バックアップするシステムおよび方法
JP2006268503A (ja) 計算機システム、ディスク装置およびデータ更新制御方法
US20070033361A1 (en) Apparatus, system, and method for fastcopy target creation
JP2009282752A (ja) ストレージデバイス及びファイルシステムの記録方法
WO2004079575A1 (fr) Procede de gestion de donnees pour support a memoire flash
CN106528338A (zh) 一种远程数据复制方法、存储设备及存储系统
TW200844744A (en) Near instantaneous backup and restore of disc partitions
JP2023055998A (ja) ストレージシステム及びストレージシステムの制御方法
JP2005050073A (ja) データ復旧方法およびデータ記録装置
CN1991833B (zh) 文件系统和文件信息处理方法
JP2010026812A (ja) 磁気ディスク装置
JP2007034551A (ja) データの二重化管理方法
JP2005506632A (ja) 大容量記憶装置用セキュリティ装置
JP2006323462A (ja) ファイルコピー装置およびファイルコピー方法
KR100775141B1 (ko) 저널링이 적용된 fat 파일 시스템의 구현 방법
CN114442942B (zh) 一种数据迁移方法、系统、设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120510

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120717

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees