JPH08511367A - ライトエニウエアファイルシステムレイアウト - Google Patents

ライトエニウエアファイルシステムレイアウト

Info

Publication number
JPH08511367A
JPH08511367A JP7501999A JP50199995A JPH08511367A JP H08511367 A JPH08511367 A JP H08511367A JP 7501999 A JP7501999 A JP 7501999A JP 50199995 A JP50199995 A JP 50199995A JP H08511367 A JPH08511367 A JP H08511367A
Authority
JP
Japan
Prior art keywords
file
inode
block
file system
disk
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7501999A
Other languages
English (en)
Other versions
JP3751018B2 (ja
Inventor
ヒッツ、デイビッド
マルコム、マイケル
ラウ、ジェイムズ
ラキチス、バイロン
Original Assignee
ネットワーク・アプライアンス・コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22102650&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH08511367(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ネットワーク・アプライアンス・コーポレイション filed Critical ネットワーク・アプライアンス・コーポレイション
Publication of JPH08511367A publication Critical patent/JPH08511367A/ja
Application granted granted Critical
Publication of JP3751018B2 publication Critical patent/JP3751018B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Abstract

(57)【要約】 本発明は、整合性のある状態にファイルシステムを維持し、かつ、ファイルシステムの読出し専用コピーを作成する方法を提供する。ファイルシステムに対する変更は、つよく制御されている。このファイルシステムは、1つの整合状態から別の整合状態へ進む。ルートiノードによってルートされるディスク上の自己整合性ブロックの集合は、整合点と呼ばれる。整合点を実施するために、新しいデータは、常に、ディスク上の割り当てられていないブロックに書き込まれる。ファイルシステム情報ブロック(2440)がiノードファイル(1210)のための新しいルートiノードをディスク上に書込むことにより更新されるとき、新しい整合点が生じる。このように、ルートiノードが更新されない限り、ディスク上に存在するファイルシステムの状態は変化しない。また、本発明は、ファイルシステムの読出し専用コピーであるスナップショット(図22)をも作成する。初めて作成される時は、スナップショットは、ディスク空間を使用しない。それは、同じファイルシステムに対して、多くの異なるスナップショットが作成できるように設計される。従来のファイルシステムでは、全体のiノードファイルと全間接ブロックとを複製することによりクローンを作るが、これと異なり、本発明は、iノードファイルを記述するiノードのみを複製する。多ビットフリーブロックマップファイル(1630)が、ディスク上での上書きを防止するために用いられる。

Description

【発明の詳細な説明】 ライトエニウエアファイルシステムレイアウト発明の背景 1.発明の分野 本発明は、整合性のある(consistent)ファイルシステムを維持し、かつ、こ のファイルシステムの読出し専用コピーを作成する方法及びその装置の分野に関 する。 2.背景技術 全てのファイルシステムは、システムが故障した場合でも、整合性を維持する 必要がある。この目的のために、現在までにいくつかの異なる整合性維持技法が 、従来技術において用いられて来た。 どのようなファイルサーバの管理においても、最も難しく時間のかかる問題点 の1つは、ファイルデータのバックアップを作成することにある。伝統的な解決 方法は、データをテープまたは他のオフライン媒体にコピーすることであった。 あるファイルシステムでは、バックアップが完全に整合性があることを確認する ために、バックアップ処理中に、ファイルサーバをオフラインにする必要がある 。最近のバックアップにおける進歩により、迅速にファイルシステムのクローン (clone)を作り(即ち、ディスク上にファイルシステムの読出し専用のコピー を作る従来技術の方法)、アクティブ(active)なファイルシステムからではな く、このクローンからバックアップを行うことができる。このタイプのファイル システムでは、バックアップの間ファイルサーバをオンラインに保持できる。 ファイルシステムの整合性 従来技術によるファイルシステムが、Chutani等によるエピソードファ イルシステム(The Episode File System)と題する論文(USENIX、19 92年ウィンタ号、43〜59頁)に開示されている。この論文は、メタデータ (即ち、iノードテーブル、ディレクトリ、ビットマップ、間接ブロック)等を 用いるファイルシステムであるエピソードファイルシステムについて述べている 。それは、スタンドアローンのファイルシステムとして、または、分散ファイル システムとして使用できる。エピソードファイルシステムは、複数の別々のファ イルシステム階層構造をサポートし、また、複数のファイルシステムについて、 一括して「集合体」として言及している。特に、エピソードシステムは、除々に データを変化させるため、各フアイルシステムのクローンを備える。エピソード システムでは、各ロジカルファイルシステムは、「アノード(anode)テーブル 」を含む。アノードテーブルは、バークレ・ファスト・ファイル・システム(Be rkeley Fast File System)等のファイルシステムで用いられるiノードテーブ ルに相当する。アノードテーブルは、252バイトの構造を有している。アノー ドは、エピソードファイルシステムのメタデータだけではなく、全ての使用者デ ータを記憶するのに用いられる。アノードは、補助ファイルとディレクトリを含 むファイルシステムのルートディレクトリを記述する。エピソードの各々のこの 様なファイルシステムは、「ファイル集合」と呼ばれる。ファイル集合内の全デ ータは、アノードテーブルをとおして反復し、各ファイルを順に処理することに より、探し出すことができる。エピソードシステムは、ファイルシステムの読出 し専用コピー(ここではクローンという)を作成して、コピー・オン・ライト( Copy-On-Write)(COW)技術を用いて、アクティブなファイルシステムとデ ータを共有する。 エピソードシステムは、システムのクラッシュの後、ファイルシステムを回復 させるのに、ロギング技術を用いている。ロギング技術は、ファイルシステムの メタデータが整合的であるかどうかを確認する。ビットマップテーブルは、ファ イルシステム内の各ブロックが割り当てられているか否かについての情報を含む 。また、ビットマップテーブルは、各ブロックがログ(記録)されているか否か をも示す。全ての最新のメタデータは、集合体の処理(transaction)ログを記 憶しているログ「コンテナ」(container)に記憶される。ログは、ディスクブ ロックの循環バッファとして処理される。エピソードシステムの処理ロギングは 、ファイルシステムの整合性を確認するために、元来データベースのために開発 された ロギング技法を用いる。この技法は、注意深く順序づけられた書込み(write) と回復(recovery)プログラム(その中のデータベース技法によって補われる) を用いる。 IBMのJFS及びベリタス社(Veritas Corporation)のVxFSを含む他 の先行技術システムは、回復処理を早めるために各形態の処理ロギングを用いて いるが、未だ回復処理を必要としている。 もう1つの従来技術方法は、「オーダードライト」(ordered write)技法と 呼ばれ、それは、一連の関係する書込みを行っている間にシステムの故障が生じ た時に損害を最小とするため、全てのディレクトリブロックに、注意深く決めら れた順序で書き込む。この従来技術では、発生した不整合性が無害のものである ことを確認することを試みる。たとえば、少数の使用されていないブロックまた はiノードは、割り当てられたものとしてマークされる。この技法の主な短所は 、それがディスクのオーダに与える制限の為に、高性能を達成することが困難に なることである。 他の従来技術システムは、「回復を伴うオーダードライト(ordered write wi th recovery)」技法と呼ばれる上記の第2の従来技術の改良方法である。この 方法では、不整合性は、潜在的に有害となり得る。しかし、書込みのオーダは、 回復プログラムで不整合が発見され処理されるように制限される。この方法の例 としては、元のUNIXファイルシステムと、バークレイファストファイルシス テム(FFS)がある。この技法では、ディスクオーダリング(ordering)の性 能上の減点を充分除く様にディスクオーダリングを減じている。もう1つの不利 な点は、回復プロセスが、時間がかかる点である。それは、典型的には、ファイ ルシステムのサイズに比例している。そのため、たとえば5GBのFFSファイ ルシステムを回復するには、1時間以上を必要とする。ファイルシステムのクローン 図1は、ファイル集合のクローンを作成するためのコピー・オン・ライト(C OW)技術の使用を示すエピソードファイルシステムの従来技術の図である。ア ノード110は、セットされたCOWビットを有する第1のポインタ110Aか らなる。ポインタ110Aは直接データブロック114を参照する。アノード1 10は、クリアされたCOWビットを有する第2のポインタ110Bからなる。 アノードのポインタ110Bは、間接ブロック112を参照する。間接ブロック 112は、直接データブロック124を参照するポインタ112Aからなる。ポ インタ112AのCOWビットは、セットされている。間接ブロック112は、 データブロック126を参照する第2のポインタ112Bからなる。ポインタ1 12BのCOWビットはクリアされる。 クローンアノード120は、データブロック114を参照する第1のポインタ 120Aからなる。ポインタ120AのCOWビットは、クリアされる。クロー ンアノード120の第2のポインタ120Bは間接ブロック122を参照する。 ポインタ120BのCOWビットはクリアされる。次に、間接ブロック122は 、データブロック124を参照するポインタ122Aからなる。ポインタ122 AのCOWビットはクリアされる。 図1に示すように、エピソードファイルシステムの各直接ポインタ110A、 112A〜112B、120Aおよび122A、および、間接ポインタ110B と120Bは、COWビットを含む。変更されていないブロックは、アクティブ ファイルシステムとクローンの両方に含まれ、COWビットをセットする(1) 。ポインタにより参照されるブロックが変更された時にCOWビットはクリアさ れ(0)、そのため、アクティブなファイルシステムの1部であるが、クローン ではない。 図1に示すように、コピー・オン・ライトブロックが変更されると、新たに、 ブロックが割り当てられ更新される。次に、この新しいブロックへのポインタ内 のCOWフラグがセットされる。元のアノード110のポインタ110AのCO Wビットは、クリアされる。 こうして、クローンアノード120が作られると、クローンアノード120の ポインタ120Aは、データブロック114も参照する。元のアノード110も クローンアノード120も共に、データブロック114を参照する。また、デー タブロック124も、元の間接ブロック112内のポインタ112Aのクリアさ れたCOWビットにより示される様に、変更される。このように、クローンアノ ードが作られるとき、間接ブロック122が作られる。間接ブロック122のポ インタ122Aは、データブロック124を参照し、ポインタ122AのCOW ビットがクリアされる。元のアノード110の間接ブロック122と、クローン アノード120の間接ブロック122は、共に、データブロック124を参照す る。 図1は、単一ファイル用にクローンアノード120を作るためのアノードのコ ピー動作を示す。ただし、クローンアノードは、ファイルシステム中で変更した データブロックを有する各ファイルに対して作成する必要がある。クローンの場 合には、全てのiノードをコピーしなければならない。ファイルシステム中です べての変更されたファイルに対してクローンアノードを作ることにより、かなり の量のディスクスペースを消費することになる。さらに、エピソードシステムは 、各ポインタが唯一のCOWビットしか有していないので、多数のクローンをサ ポートできない。単一のCOWは、1以上のクローンを区別することができない 。1以上のクローンに対しては、セットできる第2のCOWがない。 ファイル集合の「クローン」は、アクティブなファイル集合が読出し、また、 書込める、アクティブなファイル集合の読出し専用コピーである。クローンは、 COW技術を用いて実施され、ブロック毎に、アクティブなファイル集合とデー タブロックを共有する。エピソードシステムは、ファイル集合に記憶されている 各アノードをコピーしてクローン化を実施する。初めにクローンを作るときは、 アクティブなファイル集合の書込み可能アノードもクローンされたアノードと共 に、同じデータブロックを指す。しかし、元のアノード中の直接ブロックおよび 間接ブロックのディスクアドレスは、COWとしてタグ(tag)される。そのた め、書込み可能のファイル集合を更新してもクローンに影響を与えない。COW ブロックが変更されると、新しいブロックがファイルシステム内で割り当てられ 、その変更に伴って更新される。この新しいブロックに対するポインタのCOW フラグはクリアされる。 従来のエピソードシステムは、ファイルシステム内の全体のiノードファイル と全ての間接ブロックを複製するクローンを作成する。エピソードシステムは、 アクティブなファイルシステムとクローンの両方によって使われるブロックに対 する全ポインタにコピー・オン・ライト(COW)ビットをセットできるように 全てのiノード及び間接ブロックを複製する。エピソードシステムでは、アクテ ィブなファイルシステムに書き込まれた新しいデータが、クローンの1部で、そ のために変更してはならない「古い」データを上書きしないように、これらのブ ロックを確認することが重要である。 この従来技術でクローンを作成するには、IGBディスクで32MBまでを使 用する。また、この従来技術では、ファイルシステムの8個のクローンを維持す るのに、IGBディスクで(4KBのブロックに対して)256MBのディスク 空間を使用する。このように、先行技術では、データの損失を防止するのに多数 のクローンを使用できない。そのかわりに、テープバックアップ装置のような、 ディスクドライブ以外の補助記憶手段がファイルシステムのバックアップを行う のを容易にするために用いられる。クローンは、クローンが作成された瞬間に整 合性のある状態でファイルシステムをバックアップするのに用いられる。ファイ ルシステムのクローンを作ることにより、クローンは、アクティブなファイルシ ステムをシャットダウンし、使用者がファイルシステムを用いることを妨げるこ となしに補助記憶手段に対してバックアップ可能となる。このようにして、クロ ーンは、ファイルシステムが整合性を有するようにバックアップされる間、使用 者がアクティブファイルシステムにアクセスを続けることを可能とする。次いで 、バックアップが1度で完了すると、クローンは削除される。エピソードシステ ムは、各ポインタが1つのCOWビットしか有していないので、多数のクローン をサポートできない。単一のCOWビットは、1つ以上のクローンを区別できな い。1より多いクローンに対してセットできる第2のCOWビットはない。 ファイルシステムのクローンを作成するこの先行技術システムの1つの短所は 、それがファイルシステム中の全てのiノードと全ての間接ブロックの複製を必 要とすることである。多くの小さなファイルを有するシステムでは、iノードだ けでも、ファイルシステム中の全ディスク空間のかなりの割合を使用する。たと え ば、4KBのファイルで満たされた1GBのファイルシステムは、32MBのi ノードを有している。このように、エピソードクローンを作成することは、かな りのディスク空間を使い、多量の(即ち、多くのメガバイトの)ディスクトラフ ィック(traffic)を生じる。この条件の結果として、ファイルシステムのクロ ーンを作成するには、完成までにかなりの時間を必要とする。 この先行技術システムのもう1つの短所は、同じファイルシステムの多数のク ローンを作成するのが難しいという点である。この結果、クローンは、ファイル システムをテープでバックアップする等の短い期間の操作に対して、1時に一つ 使用され、次に消去されるという傾向になっている。発明の概要 本発明は、整合性のある状態にファイルシステムを維持し、かつ、ファイルシ ステムの読出し専用コピーを作成する方法を提供する。ファイルシステムを整合 性のある状態に維持するために、ファイルシステムに対する変更は、きびしく制 御されている。このファイルシステムは、1つの自己整合状態から別の自己整合 状態へ進む。ルートiノードによってルート(root)されるディスク上の自己整 合性ブロックの集合は、整合点(CP)と呼ばれる。整合点を実施するために、 WAFLは、常に、ディスク上の割り当てられていないブロックに新しいデータ を書くが、決して現存のデータを上書きすることはない。ファイルシステム情報 (fsinfo)ブロックがiノードファイルのための新しいルートiノードをその中 に書込むことにより更新されるとき、新しい整合点が生じる。このように、ルー トiノードが更新されない限り、ディスク上に存在するファイルシステムの状態 は変化しない。 また、本発明は、ファイルシステムの仮想読出し専用コピーであるスナップシ ョット(snapshot)をも作成する。初めて作成される時は、スナップショットは 、ディスク空間を使用しない。それは、同じファイルシステムに対して、多くの 異なるスナップショットが作成できるように設計される。従来のファイルシステ ムでは、全体のiノードファイルと全ての間接ブロックを複製することにより、 クローンを作るが、これと異なり、本発明は、iノードファイルを記述するiノ ー ドのみを複製する。こうして、スナップショットに必要な実際のディスク空間は 複製iノードを格納するのに用いる128バイトにすぎない。スナップショット に必要な本発明の128バイトは、従来技術のクローンに用いられる数メガバイ トよりかなり少ない。 本発明は、アクティブなファイルシステムに書き込まれた新しいデータが、ス ナップショット(1以上)の1部である「古い」データを上書きするのを防止す る。古いデータは、それがスナップショットの1部である限り、上書きされない ことが必要である。これは、多重ビットのフリーブロックのマップを用いること により達成される。大部分の従来技術のファイルシステムは、ブロックが割り当 てられているか否かを示すために、ブロック毎に単一ビットを有するフリーブロ ックマップを用いる。本発明は、32ビットエントリを有するブロックマップを 用いる。第1ビットは、ブロックが、アクティブなファイルシステムにより使用 されるか否かを示し、残りの20ビットは、20個のスナップショットまで用い られるが、31ビットの内のいくつかのビットは、他の目的に用いてもよい。図面の簡単な説明 図1は、ファイルシステムの従来技術の「クローン」を示すブロック図である 。 図2は、汚れバッフアを有するiノードのリストを示す図である。 図3は、WAFLのオン・ディスクiノードを示す図である。 図4A〜図4Dは、異なるレベルの間接度(indirection)を有するWAFL のオン・ディスクiノードを示す図である。 図5は、整合点を生成する方法を示す流れ図である。 図6は、整合点を生成する図5のステップ530を示す流れ図である。 図7は、スナップショットを作成するための図5のステップ530を示す流れ 図である。 図8は、本発明によるWAFLのメモリ内(incore)iノードを示す図である 。 図9A〜図9Dは、本発明による、異なるレベルの間接度を有するWAFLの メモリ内のiノードを示す図である。 図10は、ファイル用のメモリ内iノード1020を示す図である。 図11A〜図11Dは、本発明によるブロックマップファイルを示す図である 。 図12は、本発明によるiノードファイルを示す図である。 図13A〜図13Bは、本発明によるiノードマップファイルを示す図である 。 図14は、本発明によるディレクトリを示す図である。 図15は、ファイルシステム情報構造を示す図である。 図16は、WAFLファイルシステムを示す図である。 図17A〜図17Lは、整合点の生成を示す図である。 図18A〜図18Cは、スナップショットの生成を示す図である。 図19は、iノードファイルへの変更を示す図である。 図20は、ファイルシステムを整合状態に維持するために用いられるファイル システム情報ブロックを示す図である。 図21A〜図21Fは、スナップショットの生成を示す詳細な図である。 図22は、それぞれ共通ファイルを参照する3つのスナップショットを有する アクティブなWAFLファイルシステムを示す図である。 図23A〜図23Bは、aタイムの更新を示す図である。発明の詳細な説明 ファイルシステムにおける読出し専用コピー作成システムについて述べる。本 発明に関する記述の全体を通して、より詳しく説明するために、ディスク(複数 )の番号や性質、ディスクブロックサイズ等に関して、以下に詳細に説明する。 しかし、明らかに、このような詳細な説明は無くても、当該技術に関する熟練者 であれば、本発明を実施することは可能である。たとえば、本発明が不明瞭にな るのを避けるために、公知の特徴については詳細には説明していない。ライトエニウエアファイルシステムレイアウト 本発明は、ライトエニウエア(writeanywhere)(どこでも書込みできる)フ ァイルシステムレイアウト(WAFL)を用いる。このディスクフォーマットシ ステムは、ブロックベース(つまり、断片的部分を含まない4KBのブロック) であり、ファイルを表すのにiノードを用い、単純に特別にフォーマットされた ファイルからなるディレクトリを含む。WAFLは、ファイルシステムのレイア ウトを記述するメタデータを保存するためのファイル(複数)を用いる。WAF Lのメタデータファイルは、iノードファイル、ブロックマップ(blkmap)ファ イルおよびiノードマップ(inomap)ファイルを含む。iノードファイルは、フ ィルシステム用のiノードテーブルを含む。ブロックマップファイルは、どのデ ィスクブロックが割り当てられているかを示す。iノードマップは、どのiノー ドが割り当てられているかを示す。オンディスク及びメモリ内(incore)のWA FLのiノードについては、後に述べる。オンディスクWAFLiノード WAFLのiノードは従来のiノードとは異なる。オンディスク(ディスク上 )WAFLiノードは、それぞれ、同レベルの間接度(indirection)を有する 16個のブロックを指す。ブロック番号は4ビット長である。一つのiノード中 の同レベルの間接度を有するブロック番号を使用することで、ファイルの再帰プ ロセスをより容易にしている。図3は、オンディスクiノード310を表すブロ ック図である。オンディスクiノード310は、標準iノード情報310Aと同 レベルの間接度を有する16個のブロック番号エントリ310Bとからなる。i ノ ード情報310Aは、ファイルの所有者、許可、ファイルサイズ、アクセスタイ ム等に関する情報からなるが、これらは当業者にとって公知のことである。オン ディスクiノード310は、異なるレベルの間接度を有する複数個のブロック番 号からなる従来のiノードとは異なる。一つのiノード310に含まれるすべて のブロック番号エントリ310Bの間接度を同レベルに保つことによって、ファ イルシステムを単純にできる。 64バイト以下の小さいファイルに関しては、16個のブロック番号ではなく 、iノード自体に直接データが保存される。図4Aは、図3に示されたiノード 310に類似した、レベル0のiノード410を表す。しかし、iノード410 は16個のブロック番号310Bの代わりに、64バイトのデータ410Bから なる。したがって、非常に小さいファイルについては、ディスクブロックを割り 当てる必要が無い。 64KB以下の大きさのファイルに関しては、16個のブロック番号のそれぞ れが直接4KBのデータブロックを参照する。図4Bは、16ブロック番号31 0Bからなるレベル1のiノード310を表す。ブロック番号エントリ0〜15 は、対応する4KBのデータブロック420A〜420Cを指す。 64KB以上かつ64MB以下の大きさのファイルに関しては、16ブロック 番号のそれぞれが単独間接ブロックを参照する。この場合、4KBの単独間接ブ ロックは、4KBのデータブロックを参照する1024個のブロック番号からな る。図4Cは、16個の単独間接ブロック430A〜430Cを参照する16個 のブロック番号310Bからなるレベル2のiノード310を表す。図4Cに示 すように、ブロック番号エントリ0は、単独間接ブロック430Aを指す。単独 間接ブロック430Aは、4KBのデータブロック440A〜440Cを参照す る1024個のブロック番号からなる。同様に、各単独間接ブロック430B〜 430Cは、1024個までのデータブロックをアドレスできる。 64MB以上の大きさのファイルに関しては、iノード中の16個のブロック 番号が、2重間接ブロックを参照する。それぞれ4KBの2重間接ブロックは、 対応する単独間接ブロックを指す1024個のブロック番号からなる。この場合 、 各単独間接ブロックは、4KBデータブロックを指す1024個のブロック番号 からなる。このようにして、64GBまでのアドレスが可能である。図4Dは、 ブロック番号エントリ0、1および15が、2重間接ブロック470A,470 Bおよび470Cをそれぞれ参照する16個のブロック番号310Bからなるレ ベル3のiノード310を表す。2重間接ブロック470Aは、単独間接ブロッ ク480A〜480Bを指す1024個のブロック番号エントリ0〜1023か らなる。各単独間接ブロック480A〜480Bは、この場合、1024個のデ ータブロックを参照する。図4Dに示すように、単独間接ブロック480Aは1 024個のデータブロック490A〜490Cを参照し、単独間接ブロック48 0Bは、1024個のデータブロック490C〜490Fを参照する。メモリ内のWAFLiノード 図8は、メモリ内(in core)のWAFLiノード820を表すブロック図で ある。メモリ内のiノード820は、(図3に示す)オンディスクiノード31 0の情報、WAFLバッファデータ構造820Aおよび16個のバッファポイン タ820Bからなる。メモリ内のWAFLiノードは300バイトの大きさを有 する。WAFLバッファは、ディスクに保存されている4KBブロックに相当す るメモリ内の4KBである。メモリ内のiノード820は、異なる間接度レベル を有するバッファを参照する従来のiノードとは異なる。各のメモリ内のWAF Liノード820は、同一の間接度レベルを有する16個のバッファを指す。バ ッファポインタは、4バイト長である。一つのiノード820に含まれる全バッ ファポインタ820Bを同一の間接度レベルに保つことにより、ファイルシステ ムを簡単にできる。メモリ内のiノード820は、また、リンクリスト用のポイ ンタ、整合点中(in-consistency)(IN_CP)フラグおよび汚れフラグから なるメモリ内情報820Cを含む。汚れフラグは、iノード自体が変更されてい ること、または、汚れフラグが参照しているバッファが変更されたものであるこ とを示している。IN_CPフラグはiノードが整合点(後で説明する)の中に あることをマークするために用いられる。リンクリスト用ポインタについて、以 下に述べる。 図10は、WAFLiノード1010が参照するファイルを表す。このファイ ルは、間接WAFLバッファ1020〜1024及び直接WAFLバッファ10 30〜1034からなる。WAFLのメモリ内のiノード1010は、標準iノ ード情報1010A(汚れバッファの計数値を含む)、WAFLバッファデータ 構造1010B、16個のバッファポインタ1010Cおよび標準オンディスク iノード1010Dからなる。メモリ内のWAFLiノード1010は、およそ 300バイトの大きさを有する。オンディスクiノードは128バイトの大きさ である。WAFLバッファデータ構造1010Bは、16個のバッファポインタ 1010Cを参照する第1ポインタと、オンディスクブロック番号1010Dを 参照する第2ポインタとからなる。 各iノード1010は、参照する汚れバッファの計数値を持っている。iノー ド1010は、汚れiノードのリストおよび/または汚れバッファを有するiノ ードのリストに入れられる。一つのiノードが参照する汚れバッファの全てがデ ィスクへの書込みが予定されているか、または、実際に書込まれている場合には 、iノード1010に対する汚れバッファの計数値が0にセットされる。そして 、iノード1010は、そのフラグ(つまり、汚れバッファがないこと)に従っ て、ふたたびキューされる。このiノード1010は、次のiノードが処理され る前に、クリアされる。さらに、iノードが整合点中にあることを示すiノード のフラグがクリアされる。iノード1010自体が整合点においてディスクに書 き込まれる。 WAFLバッファ構造は、間接WAFLバッファ1020によって表される。 WAFLバッファ1020は、WAFLバッファデータ構造1020Aと、10 24個のWAFLバッファポインタからなる4KBバッファ1020Bと、10 24個のオンディスクブロック番号からなる4KBバッファ1020Cからなる 。WAFLバッファデータ構造は56バイトの大きさを有するとともに、2つの ポインタからなる。WAFLバッファデータ構造1020Aのポインタの一つは 、4KBバッファ1020Bを参照し、もう一つのポインタはバッファ1020 Cを参照する。図10において、WAFLiノード1010の16個のバッファ ポ インタ1010Cは、16個の単独間接WAFLバッファ1020〜1024を 指す。一方、WAFLバッファ1020は、1024個の直接WAFLバッファ 構造1030〜1034を参照する。WAFLバッファ1030は、直接WAF Lバッファを代表している。 直接WAFLバッファ1030は、WAFLバッファデータ構造1030Aと 、対応するオンディスク4KBデータブロックのキャッシュバージョンを含む4 KB直接バッファ1030Bとからなる。直接WAFLバッファ1030は、間 接WAFLバッファ1020のような4KBバッファを有しない。WAFLバッ ファデータ構造1030Aの第2バッファポインタは、0にされ、第2の4KB バッファを指さない。これにより、メモリの非効率な使用を防止して、メモリ空 間が使われていないバッファに割り当てられないようにする。 図10に示すように、WAFLファイルシステムにおいて、WAFLのメモリ 内のiノード構造1010は、WAFLバッファ構造1020〜1024および 1030〜1034のツリーを参照する。これは、間接ブロックおよび/または 直接ブロックを指すブロック番号からなる標準iノードによって参照される、デ ィスク上のブロックツリーに類似している。このように、WAFLiノード10 10は、16個のボリュームブロック番号からなるオンディスクiノード101 0DおよびWAFLバッファ構造1020〜1024および1030〜1034 を指す16個のバッファポインタ1010Cからなる。WAFLバッファ103 0〜1034は、ボリュームブロック番号によって参照されたブロックのキャッ シュ成分を含む。 WAFLインコード(in-code)iノード1010は16個のバッファポイン タ1010Cを含む。次に、16個のバッファポインタ1010Cは、WAFL バッファ1020〜1024および1030〜1034のツリーのルートである WAFLバッファ構造1010Bによって参照される。このように、各WAFL iノード1010は、iノード1010中の16個のバッファポインタ1010 Cを指すWAFLバッファ構造1010Bを含む。これにより、再帰的に実行さ れるバッファのツリーを処理するアルゴリズムが容易になる。仮にiノード10 10中の16個のバッファポインタ1010CがWAFLバッファ構造1010 Bによって表されないとしたら、バッファ1020〜1024及び1030〜1 034のツリー全体を操作するための再帰的アルゴリズムの実施が困難になる。 図9A〜図9Dは、異なるレベルの間接度を有するiノードを表す。図9A〜 図9Dに、間接度を示すために、簡単化された間接及び直接のWAFLバッファ が表される。しかし、図9のWAFLバッファは、対応する図10の間接及び直 接のバッファを表すと理解されるべきである。64バイト以下の小さなファイル に関しては、データは、16個のバッファポインタの代わりにiノード中に直接 に保存される。図9Aは、図8に示されるiノード820が16個のバッファポ インタ820Bの代わりに64バイトのデータ920Bからなるという点を除い て、レベル0のiノード820はこのiノード820と同一であることを表す。 それゆえ、追加のバッファが、非常に小さいファイルに対して割り当てられるこ とがない。 64KBより小さいファイルに関しては、16個のバッファポインタの各々が 、直接4KBの直接WAFLバッファを参照する。図9Bは16個のバッファポ インタ820Bからなるレベル1のiノード820を表す。バッファポインタP TR0〜PTR15は、対応する4KBの直接WAFLバッファ922A〜92 2Cを指す。 64KB以上かつ64MB以下の大きさのファイルに関しては、16個のバッ ファポインタの各々が、単独間接WAFLバッファを参照する。この場合、各4 KBの単独間接WAFLバッファは、4KB直接WAFLバッファを参照する1 024個のバッファポインタからなる。図9Cは、16個の単独間接WAFLバ ッファ930A〜930Cを参照する16個のバッファポインタ820Bからな るレベル2のiノード820を表す。図9Cに示すように、バッファポインタP TR0は、単独間接WAFLバッファ930Aを指す。単独間接WAFLバッフ ァ930Aは、4KB直接WAFLバッファ940A〜940Cを参照する10 24個のポインタからなる。同様に、単独間接WAFLバッファ930B〜93 0Cは、それぞれ、1024個までの直接WAFLバッファをアドレスできる。 64MB以上の大きなファイルに関しては、iノードの16個のバッファポイ ンタが2重間接WAFLバッファを参照する。各4KB2重間接WAFLバッフ ァは、対応する単独間接WAFLバッファを指す1024個のポインタからなる 。この場合、各単独間接WAFLバッファは、4KB直接WAFLバッファを指 す1024のポインタからなる。このように、64GBまでがアドレスできる。 図9Dは、ポインタPTR0、PTR1およびPTR15が、2重間接WAFL バッファ970A、970Bおよび970Cをそれぞれ参照する16個のポイン タ820Bを有するレベル3のiノード820を表す。2重間接WAFLバッフ ァ970Aは、1024個の単独間接WAFLバッファ980A〜980Bを指 す1024個のポインタよりなる。次に、各単独間接WAFLバッファ980A 〜980Bは、1024個の直接WAFLバッファを参照する。図9Dに示すよ うに、単独間接WAFLバッファ980Aは、1024個の直接WAFLバッフ ァ990A〜990Cを参照する。そして、単独間接WAFLバッファ980B は、1024個の直接WAFLバッファ990D〜990Fを参照する。ディレクトリ WAFLシステムにおけるディレクトリは、二つの区分に分かれる4KBブロ ックに保存される。図14は、本発明におけるディレクトリブロック1410を 説明する。各ディレクトリブロック1410は、固定長ディレクトリエントリ構 造1412〜1414からなる第1区分1410Aと、実際のディレクトリ名1 416〜1418を含む第2区分1410Bとからなる。各ディレクトリエント リは、ファイルID(id)および作成(generation)を含む。この情報は、当業 界で周知であるので、図14には示されない。ディレクトリブロックの第1区分 1410A中の各エントリ1412〜1414は、第2区分1410B中に含ま れているその名を指すポインタを有している。さらに、各エントリ1412〜1 414は、第2区分中に含まれているその名に依存するハッシュ値を含んでおり 、ハッシュがヒット(ハッシュマッチ)した時に限りその名前が検査される。例 えば、第1区分1410Aのエントリ1412は、ハッシュ値1412A及びポ インタ1412Bからなる。ハッシュ値1412Aは、第2区分1410Bの可 変 長エントリ1416に保存されているディレクトリ名「DIRECTORY_A BC」に依存する値である。エントリ1410のポインタ1412Bは、第2区 分1410Bの可変長エントリ1416を指す。第1区分1410A中の固定長 ディレクトリエントリ1412〜1414を用いることによって、名前ルックア ップ処理が迅速になる。ディレクトリブロック1410中の、次のエントリを見 付け出すための操作は不要である。さらに、第1区分1410A中のエントリ1 412〜1414を小さく保持することにより、ラインフィルデータキャッシュ を有するファイルシステムのヒット速度が改善される。メタデータ WAFLは、メタデータとして知られている、ファイル中にファイルシステム を記述する情報を保持している。メタデータは、iノードファイル、iノードマ ップファイルおよびブロックマップファイルからなる。WAFLは、メタデータ を、ディスクの任意の場所に(anywhere)書込まれる可能性のあるファイルに保 存する。全てのWAFLメタデータは、ファイルの中に保持されているので、正 にファイルシステム中の他のファイルと同様に、任意の場所に書込むことができ る。 第1のメタデータファイルは、ファイルシステムにおける他の全てのファイル を記述するiノードを含む「iノードファイル」である。図12は、iノードフ ァイル1210を表した図である。iノードファイル1210は、ディスクの定 められた場所に「iノードテーブル」を書き込む従来のシステムとは異なり、デ ィスクの任意の場所に書込むことが出来る。iノードファイル1210は、iノ ードファイル1210自体を除いて、ファイルシステム中の各ファイルに対する iノード1210A〜1210Fを含む。iノードファイル1210は、「ルー トiノード」として参照されるiノードによって指される。ルートiノードは、 後述するファイルシステム情報(fsinfo)ブロックとして参照されるディ スク上の定められた場所に保持される。iノードファイル1210自体は、ディ スク上の4KBブロック(またはメモリ中の4KBバッファ)中に保存される。 図12は、iノード1210A〜1210Cが4KBバッファ1220中に保存 されていることを表している。128バイトの大きさを有するオンディスクiノ ー ドに関しては、4KBバッファ(またはブロック)は、32個のiノードよりな る。メモリ内のiノードファイル1210は、WAFLバッファ1220からな る。一つのメモリ内のiノード(つまり1210A)がロードされた時には、メ モリ内iノード1210Aのオンディスクiノード部分が、iノードファイル1 210のバッファ1220のためにコピーされる。バッファデータ自体は、ディ スクからロードされる。逆の順番で、ディスクにデータが書き込まれる。オンデ ィスクiノードのコピーであるメモリ内のiノード1210Aが、iノードファ イル1210の対応バッファ1220にコピーされる。そして、iノードファイ ル1210が、書き込み割り当てされると共に、iノードファイル1210のバ ッファ1220中にデータが保存される。 他のメタデータファイルは、「ブロックマップ」(blkmap)ファイルで ある。図11Aは、一つのブロックマップファイル1110を表す。ブロックマ ップファイル1110は、ディスクシステム中の各4KBブロックに対する32 ビットエントリ1110A〜1110Cを含む。これは、また、フリーブロック マップファイルとして用いられる。ブロックマップファイル1110は、一つの ディスクブロックが割り当てられたか否かを示す。図11Bは、ブロックマップ ファイル1110(図11Aに示す)の一ブロックエントリ1110Aの図であ る。図11Bに示すように、エントリ1110Aは、32ビット(ビット0〜ビ ット31)からなる。エントリ1110Aのビット0は、アクティブなファイル システムビット(FSビット)である。エントリ1110AのFSビットは、対 応するブロックがアクティブなファイルシステムの一部であるか否かを示す。エ ントリ1110Aのビット1〜20は、ブロックが対応するスナップショット1 〜20の一部であるか否かを示すビットである。次の上位10ビット(ビット2 1〜ビット30)は予約されている。ビット31は、エントリ1110Aの整合 点ビット(CPビット)である。 ブロック用の32ビットエントリ1110A中の全てのビット(ビット0〜ビ ット31)がクリアになっている(0の値に設定される)時には、そのファイル システムにおいて、一つのブロックがフリーブロックとして有効である。図11 C は、ディスクブロックがフリーであることを示す図11Aのエントリ1110A を表す。このように、ビット0〜31の全てがゼロの値を有する時は、ブロック マップファイル1110のエントリ1110Aによって参照されたブロックはフ リーである。図11Dは、アクティブなファイルシステムにおける割り当てられ たブロックの全てを示す図11Aのエントリ1110Aを表す。FSビットとし て参照されるビット0が1の値に設定されている時は、ブロックマップファイル 1110のエントリ1110Aは、アクティブなファイルシステムの一部である ブロックを示している。ビット1〜ビット20は、もし在る場合には、ブロック を参照する対応スナップショットを示すために用いる。スナップショットについ ては、後で詳細に述べる。仮にビット0が0の値に設定されても、必ずしもブロ ックが割り当て可能であること示すものではない。ブロックを割り当てるために は、全スナップショットビットがゼロでなければならない。しかし、整合点の一 部として記録すべくメモリビット31にロードされた時には、エントリ1110 Aのビット31は、常にディスク上のビット0と同じ状態を有する。 その他のメタデータファイルは、フリーiノードマップとして利用される「i ノードマップ」(inomap)である。図13Aは、一つのiノードマップフ ァイル1310を表す。iノードマップファイル1310は、図12に示される iノードファイル1210中の各ブロック用の8ビットエントリ1310A〜1 310Cを含む。各エントリ1310A〜1310Cは、iノードファイル12 10の対応ブロック中の割り当てられたiノードの計数値である。図13Aは、 エントリ1310A〜1310C中の、それぞれの値32、5および0を示す。 iノードファイル1210は、まだ、ブロック中のどのiノードがフリーである かを調べなければならない。しかし、多数のランダムブロックをディスクからメ モリにロードする必要はない。iノードファイル1210の各4KBブロック1 220は、32個のiノードを保持する。それゆえに、iノードファイル121 0の各ブロック用の8ビットのiノードマップエントリ1310A〜1310C は、0から32の範囲の値を有することができる。iノードファイル1210の ブロック1220が、使用中のiノードを有しない時は、そのiノードマップフ ァイル 1310中のエントリ1310A〜1310Cはゼロである。ブロック1220 のiノードファイル1210中の全てのiノードが使用中である時には、iノー ドマップファイル1310のエントリ1310A〜1310Cは、値32を有す る。 図13Bは、iノードファイル1340の4KBブロック1340A〜134 0Cを参照するiノードマップファイル1350を表す。例えば、iノードファ イル1340は、3個の4KBブロック1340A〜1340C中に、37個の iノードを保存する。iノードファイル1340のブロック1340A〜134 0Cは、それぞれ32、5および0の使用されたiノードを含む。ブロックマッ プファイル1350のエントリ1350A〜1350Cは、それぞれ、iノード ファイル1340のブロック1340A〜1340Cを参照する。このように、 iノードマップファイルのエントリ1350A〜1350Cは、iノードファイ ル1340のブロック1340A〜1340C用として、それぞれ、32、5お よび0の値を有している。一方、iノードマップファイルのエントリ1350A 〜1350Cは、それぞれ、iノードファイル1340のブロック1340A〜 1340Cの0、27および32のフリーのiノードを示している。 図13に示すように、計数値の代わりにiノードマップファイル1310のエ ントリ1310A〜1310C用のビットマップを用いることは、不利である。 何故ならば、iノードファイル1210(図12に示す)のブロック1220用 のエントリ1310A〜1310C当たり、1バイトでは無く4バイトが必要で あるからである。iノードファイル1210のブロック1220中のフリーiノ ードは、iノードマップファイル1310中に示す必要がない。なぜならば、i ノード自体がそのような情報を含んでいるからである。 図15は、ファイルシステム情報(fsinfo)構造1510を表す。ファイルシ ステムのルートiノード1510Bは、ディスク上の定められた場所に保持され て、ファイルシステムのブート中に位置が分かるようにされている。ファイルシ ステム情報ブロックは、メタデータではないが、WAFLシステムの一部である 。ルートiノード1510Bは、iノード1210を参照するiノードである。 そ れは、ファイルシステム中のブロックの番号、ファイルシステムの作成時間等を 含む情報1510Aを含むファイルシステム情報構造の一部である。この種々の 情報1510Aは、さらに、チェックサム1510C(後に述べる)からなる。 別の実施例において、ルートiノード1510B自体を除いて、この情報151 0Aは、メタデータファイル中に保持することができる。ファイルシステム情報 構造1510の2つの同一コピーは、ディスク上の定められた場所に保持される 。 図16は、ディスク上で整合状態にあるWAFLファイルシステム1670を 表し、このファイルシステムは、二つのファイルシステム情報ブロック1610 および1612、iノードファイル1620、ブロックマップファイル1630 、iノードマップファイル1640、ルートディレクトリ1650および典型的 なファイル(またはディレクトリ)1660からなる。iノードファイル162 0は、ファイルシステム1670中の他のファイル1630〜1660を参照す る複数のiノード1620A〜1620Dからなる。iノードファイル1620 のiノード1620Aは、ブロックマップファイル1630を参照する。iノー ド1620Bは、iノードマップファイル1640を参照する。iノード162 0Cは、ルートディレクトリ1650を参照する。iノード1620Dは、典型 的なファイル(またはディレクトリ)1660を参照する。このように、iノー ドファイルは、ファイルシステム情報ブロック1610および1612を除くフ ァイルシステム1670中の全てのファイル1630〜1660を指す。ファイ ルシステム情報ブロック1610および1612は、それぞれ、iノードファイ ル1620のiノードのコピー1610Bおよび1612Bを含む。ファイルシ ステム情報ブロック1610及び1612のルートiノード1610Bおよび1 612Bは、全メタデータ1630〜1640を含むファイルシステム1670 中の残りのファイル1630〜1660を記述するiノードファイル1620を 記述している。したがって、ルートiノード1610Bおよび1612Bは、ブ ロックのツリーのルートとみなされる。WAFLシステム1670は、このツリ ー構造をその更新方法(整合点)用に、そしてスナップショットを実行するため に用いる。これらについては後述する。汚れブロックを有するiノードのリスト WAFLファイルシステムのメモリ内のiノード(すなわち、図10に示すW AFLiノード1010)は、それぞれの状態に応じた異なるリンクリストに保 持されている。iノードには、図2に示すように、汚れブロックを参照するiノ ードが、汚れiノードリストに保持されている。汚れていないバリッドデータを 含むiノードは、別のリストに保持される。そして、非バリッドデータを有する iノードは、別に保持される。これらは、当業界において公知である。本発明は 、汚れデータブロックを有するiノードのリストを利用して、実行すべき書き込 み割り当てを必要とする全てのiノードを見つけることを容易にする。 図2は、本発明による汚れiノードのリスト210を表す。汚れiノードのリ スト210は、WAFLのメモリ内のiノード220〜1750からなる。図1 7に示すように、WAFLのメモリ内の各iノード220〜250は、それぞれ 、リンクリスト中の他のiノードを指すポインタ220A〜250Aからなる。 たとえば、WAFLiノード220〜250は、それぞれ、メモリ中の位置20 48、2152、2878、3448および3712に保存される。このように して、iノード220のポインタ220Aはアドレス2152を含む。したがっ て、WAFLiノード222が指される。次に、WAFLiノード222は、ア ドレス2878を用いるWAFLiノードを指す。WAFLiノード230は、 WAFLiノード240を指す。WAFLiノード240は、iノード1750 を指す。WAFLiノード250のポインタ250Aはヌル値を含み、したがっ て、他のiノードを指さない。このように、それは、汚れiノードのリスト21 0中の最後のiノードである。リスト210中の各iノードは、図10に描かれ たように、バッファツリーからなるファイルを表している。各iノード220〜 250によって参照されるブロックの少なくとも一つは、汚れバッファである。 汚れバッファは、WAFLシステムにおいて、新しいディスクの位置に書き込ま ねばならない変更されたデータを含んでいる。WAFLは、常に汚れバッファを ディスク上の新しい位置に書き込む。整合点 今まで説明してきたWAFLディスク構造は、静的である。本発明において、 ファイルシステム1670への変化は、ファイルシステム1670を整合状態に 保つために、強く制御される。ファイルシステム1670は、1つの自己整合状 態から他の自己整合状態へ進む。ルートiノード1510Bによりルートされる ディスク上の自己整合ブロックの集合(またはツリー)は、整合点(CP)とい う。整合点を提供するため、WAFLは、常に、新しいデータをディスク上の割 り当てられていないブロックに書く。WAFLは、存在しているデータを上書き することはない。こうして、ルートiノード1510Bが更新されないかぎり、 ディスクで表されるファイルシステム1670の日付は変わらない。しかし、フ ァイルシステム1670が有用であるためには、ファイルシステムは、常に、新 しく書込まれたデータを参照せねばならず、したがって、新しい整合点が書込ま れねばならない。 図16を参照すると、新しい整合点は、まずすべてのファイルシステムブロッ ク(iノードファイル1620、ブロックマップファイル1630、iノードマ ップファイル1640などのメタデータファイルにおけるブロックを含む)をデ ィスク上の新しい位置にフラッシュ(flush)することにより、書込まれる。フ ァイルシステム1670のための新しいルートiノード1610B、1612B は、次に、ディスクに書込まれる。ファイルシステムを原子的に更新するこの方 法を用いると、オンディスクファイルシステムは、決して整合的でない。このオ ンディスクファイルシステム1670は、ルートiノード1610B、1612 Bが書込まれるまで、古い整合点を反映する。ルートiノード1610B、16 12Bが書込まれた後にすぐに、ファイルシステム1670は新しい整合点を反 映する。ファイルシステム1670のデータ構造は、任意の順序に更新でき、ル ートiノード1610B、1612Bが更新される前にファイルシステム167 0内の全ブロックがディスクに書込まれねばならないという1つの条件を除いて 、ディスクへのデータの書込みについて順序の条件はない。 新しい整合点に変換するため、ルートiノード1610B、1612Bは、信 頼できるようにまた原子的に更新されねばならない。ルートiノード1610B 、1612Bを含むファイルシステム情報構造1610、1612の2つの同一 のコピーを保持することにより、WAFLは、これを実行する。ルートiノード 1610B、1612Bを更新する間、ファイルシステム情報構造1610の第 1のコピーは、ディスクに書込まれ、次に、ファイルシステム情報構造1612 の第2のコピーが書込まれる。ファイルシステム情報構造1610、1612に おけるチェックサム1610C、1612Cは、それぞれ、ディスクに書込まれ るとき、iノードのコピーをそれぞれ含むファイルシステム情報構造1610、 1612のコピーの1つを破壊するシステムクラッシュの発生を検知するために 使用される。通常は、この2つのファイルシステム情報構造1610、1612 は同一である。整合点を作成するアルゴリズム 図5は、整合点を作成する方法を説明する。ステップ510において、システ ムにおけるすべての「汚れ」iノード(変更されたデータを含む新しいブロック を指すiノード)は、その内容が、またその内容のみがディスクに書込まれる整 合点にあるとしてマークされる。これらの書込みが完全であるときにのみ、他の iノードからの書込みがディスクに達することを許される。さらに、汚い書込み が発生している間、新しい変更は、整合点にあるiノードに対して行うことがで きない。 整合点の1部であるすべての汚れiノードに整合点フラグを立てることに加え て、グローバル整合点フラグが、使用者が要求する変化が強く制御された形で起 こるように立てられる。グローバル整合点フラグが立てられると、使用者が要求 する変化は、整合点にあるiノードに影響することを許されない。さらに、整合 点フラグが立てられたiノードのみが、その汚れブロックに対してディスク空間 を割り当てられる。その結果、ファイルシステムの状態は、整合点が始まるとき に存在したように、ディスクに正確にフラッシュされる。 ステップ520において、正規の(regular)ファイルがディスクにフラッシ ュされる。この正規のファイルのフラッシュは、正規のファイルの中の汚れブロ ッ クのためのディスク空間を割り当てるステップと、対応するWAFLバッファを ディスクに書込むステップからなる。iノードそれ自体は、次にiノードファイ ルにフラッシュ(コピー)される。書込まれることが必要なすべてのiノードが 、汚れバッファを有するiノードのリスト、または、汚いiノードであるが汚れ バッファを有しないiノードのリストのいずれかに存在する。ステップ520が 終わったとき、整合点には通常のiノードはもはや存在せず、入ってくるすべて のI/O要求は、ディスクI/O操作のためになおロックされているバッファを 使用しないなら、これらの要求はうまくいく。 ステップ530において、特別なファイルがディスクにフラッシュされる。こ の特別なファイルのフラッシュは、2つの特別なファイル、iノードファイルと ブロックマップファイル、における汚れブロックに対してディスク空間を割り当 てるステップ、整合点を更新してブロックマップファイルにおける各エントリに 対しアクティブなファイルシステムビット(FSビット)を調和させるステップ 、および、ブロックをディスクに書込むステップからなる。iノードファイルと ブロックマップファイルを割り当てる書込みは、それらを割り当てる書込みの過 程がそれらのファイル自体を変化するので、複雑である。そうして、ステップ5 30において、変化が終わる前にディスクI/O操作において重要なブロックが ロックされるのを防止するために、これらのファイルを変える間は、書込みは、 ディスエーブルにされる。 また、ステップ530において、ファイルシステム情報ブロックを除いて、フ ァイルシステムが完全に自己整合性がありディスクに書込まれようとする唯一の 時点であるので、スナップショットの作成と除去(後で説明する)がおこなわれ る。同じスナップショットiノードが1つのパスで使用できるように、1つのス ナップショットは、新しいものが作成される前に、ファイルシステムから除去さ れる。 図6は、ステップ530に含まれるステップを示す流れ図である。ステップ5 30は、ディスク空間をブロックマップファイルとiノードファイルに割り当て 、ブロックマップファイルにおける各エントリに対してアクティブなFSビット をCPビットにコピーする。ステップ610において、ブロックマップファイル の ためのiノードは、iノードファイルにあらかじめフラッシュされる。このこと は、ブロックマップファイルのiノードを含むiノードファイルにおけるブロッ クが汚くてステップ620がそのブロックにディスク空間を割り当てることを保 証する。 ステップ620において、ディスク空間は、iノードとブロックマップファイ ルにおけるすべての汚れブロックに対して割り当てられる。この汚れブロックは 、ブロックマップファイルの汚れiノードを含むiノードファイルにおけるブロ ックを含む。 ステップ630において、ブロックマップファイルのためのiノードがふたた びフラッシュされるが、しかし、今回は、実際のiノードが、iノードファイル における前記のまえもってフラッシュされたブロックに書込まれる。ステップ6 10は、ブロックマップファイルのiノードを含むiノードファイルのブロック をすでに汚くしている。こうして、ステップ620におけるように、もう1つの 書込み割り当ては、スケジュールされる必要がない。 ステップ640において、ブロックマップファイルにおける各ブロックのため のエントリが更新される。各エントリは、ブロックマップファイルにおける汚れ ブロックにおける全エントリに対してアクティブなFSビットをCPビットにコ ピーする(すなわち、ビット0をビット31にコピーする)ことにより、更新さ れる。 ステップ650において、ブロックマップとiノードファイルにおけるすべて の汚れブロックは、ディスクに書込まれる。 ブロックマップファイルの汚れブロックにおけるエントリのみが、ステップ6 40において、アクティブなファイルシステムビット(FSビット)を整合点ビ ット(CPビット)にコピーさせる必要がある。整合点のすぐ後で、すべてのブ ロックマップエントリがアクティブなFSビットとCPビットの両方について同 じ値を有する。時間が進むにつれ、ファイルシステムのブロックマップファイル エントリのいくつかのアクティブなFSビットがクリアされるか、セットされる 。変化されたFSビットを含むブロックマップファイルのブロックは、したがっ て、 汚いとマークされる。次の整合点の間、クリーンであるブロックは、ふたたびコ ピーされる必要がない。クリーンなブロックは、前の整合点で汚くなく、また、 それらのブロック内においてそれ以後何も変わっていないので、コピーされない 。こうして、すべてのブロックマップエントリにおいて同じ値を有するアクティ ブなFSビットとCPビットとともにファイルシステムが始めに生成されるかぎ り、汚れブロックを有するエントリのみが各整合点において更新される必要があ る。 図5を参照して、ステップ540において、ファイルシステム情報(fsinfo) ブロックが更新され、次に、ディスクにフラッシュされる。ファイルシステム情 報ブロックは、iノードファイルについての新しいルートiノードを書くことに より更新される。ファイルシステム情報ブロックは、2度書込まれる。はじめに 1つの位置に書込まれ、次に、第2の位置に書込まれる。この2つの書込みは、 システムクラッシュが書込みの間に起きたときに自己整合的なファイルシステム がディスク上に存在するように、行われる。したがって、もし第2のファイルシ ステム情報ブロックを書いている間にシステムがクラッシュしたならば、新しい 整合点が存在し、または、もし第1のファイルシステム情報ブロックが故障した なら、(最近の整合点が始まる前のディスク上の)前の整合点が存在する。ファ イルの故障の後でファイルシステムが再スタートされるとき、正しいチェックサ ム値を有するファイルシステム情報ブロックにおける整合点のための最高の作成 (generation)計数値が使用される。これは後で詳細に説明される。 ステップ550において、整合点が完成される。このことは、汚れiノードが 整合点の1部でなかったために遅延された当該整合点がふたたびキューされるこ とを要求する。整合点の間に状態が変化されたiノードは、整合点ウエイト(C P_WAIT)キューにある。CP_WAITキューは、ステップ540が終わ る前で、かつ、整合点がスタートしたステップ510の後で変化したiノードを 保持する。整合点が終わると、CP_WAITキューにおけるiノードは、汚れ バッファを有するiノードの通常のリストと、汚れバッファを持たない汚れiノ ードのリストにおいて、ふたたびキューされる。整合性の単一の順序づけの条件 図20A〜図20Cに示されるように、本発明は、単一の順序づけの条件を有 する。この単一の順序づけの条件は、すべての他のブロックがディスクに書込ま れた後でのみファイルシステム情報ブロック1810がディスクに書込まれると いうことである。ファイルシステム情報ブロック1810の書込みは、原子的で あり、そうでないと、全体のファイルシステム1830は、失われるであろう。 こうして、WAFLファイルシステムは、ファイルシステム情報ブロック181 0が1度に、整合状態においてでなく書込まれることを要求する。図15に示す ように、各ファイルシステム情報ブロック1810(1510)は、チェックサ ム1510Cと作成計数値1510Dを含む。 図20Aは、ファイルシステム情報ブロック1810、1870の作成計数値 1810D、1870Dの更新を説明する。整合点(またはスナップショット) が行われるたびに、ファイルシステム情報ブロックの作成計数値が更新される。 図20Aは、ファイルシステムの整合点を示す同じ値Nをそれぞれ有する作成計 数値1810D、1870Dを有する2つのファイルシステム情報ブロック18 10、1870を示します。2つのファイルシステム情報ブロックは、前の整合 点(ディスク上の古いファイルシステム)1830を参照する。ファイルシステ ムの新しいバージョンは、ディスク上に存在し、新しい整合点1831として参 照される。作成計数値は、整合点ごとにインクリメントされる。 図20Bにおいて、第1のファイルシステム情報ブロック1810の作成計数 値1810Dは更新され、N+1の値を与えられる。これは、次にディスクに書 込まれる。図20Bは、ファイルシステム情報ブロック1810の作成計数値1 810Dの値N+1を示すが、第2のファイルシステム情報ブロック1870の 作成計数値1870Dは、値Nを有する。ファイルシステム情報ブロック181 0は、新しい整合点1831を参照するが、これに対し、ファイルシステム情報 ブロック1870は、古い整合点1830を参照する。次に、図20Cに示すよ うに、ファイルシステム情報ブロック1870の作成計数値1870Dが更新さ れ、ディスクに書込まれる。図20Cにおいて、ファイルシステム情報ブロック 1870の作成計数値1870Dは、値N+1を有する。したがって、この2つ のファイルシステム情報ブロック1810と1870は、同じ作成計数値N+1 を有する。 システムクラッシュがファイルシステム情報ブロックの更新(複数)の間で起 こるとき、ファイルシステム情報ブロック1810と1870の各コピーは、自 己整合チェックサム(図示しない)を有するが、作成計数値1810Dと187 0Dの一方がより大きい値を有する。システムクラッシュは、ファイルシステム が図20Bに示す状態にあるときに起こる。たとえば、図20Bに示すように本 発明の好ましい実施例において、ファイルシステム情報ブロック1810の作成 計数値1810Dは、第2のファイルシステム情報ブロック1870の前に更新 される。したがって、作成計数値1810D(値1)は、ファイルシステム情報 ブロック1870の作成計数値1870Dより大きい。第1のファイルシステム 情報ブロック1810の作成計数値がより高いので、それは、システムクラッシ ュの後でファイルシステムを回復するために選択される。これは、第1のファイ ルシステム情報ブロック1810がその作成計数値1810Dにより示されるよ うにより新しいデータを含むためである。第1のファイルシステム情報ブロック が更新中にシステムクラッシュが起こったために壊れた場合は、ファイルシステ ム情報ブロックの他のコピー1870が、ファイルシステム1830を整合状態 に回復するために使用される。 2つのファイル空間情報ブロック1810と1870を本発明において同時に 更新することはできない。したがって、ファイル空間情報ブロック1810と1 870の少なくとも1つのコピーがファイルシステムにおいて存在する。このこ とは、システムが常に整合状態に回復されることを可能にする。 WAFLは、特殊な再生過程を必要としない。これは、ロギング、オーダード ライト(順序だてられた書込み)、および、多くは、回復を伴うオーダードライ トを用いる従来技術と異なる。これは、RAIDにより保護されるデータ破壊ま たはソフトウエアのみがWAFLファイルシステムを破壊できるからである。シ ステムが故障したときにデータを失うことを避けるために、WAFLは、最新の 整合点の後で行われたすべての操作の非破壊トランザクションのログを保持でき る。このログは、WAFLディスクフォーマットと完全に独立であり、操作がシ ステムクラッシュの間に失われるのを防ぐためにのみ必要である。しかし、ファ イルシステムの整合性を維持するために必要ではない。整合点の作成 先に説明したように、WAFLファイルシステムへの変化は、ファイルシステ ムを整合状態に維持するために強く制御される。図17A〜図17Hは、WAF Lファイルシステムに対しての整合点の作成を示す。整合点の作成は、図5と図 6を参照して説明される。 図17A〜図17Hにおいて、変更されなかったバッファは、その側にアスタ リスクを有しない。したがって、バッファは、オンディスクブロックに対応する のと同じデータを含む。こうして、ブロックは、メモリにロードできるが、その オンディスクバージョンに関して変化されていない。1つのアスタリスク(*) を側に持つバッファは、メモリにおける汚れバッファを指す(そのデータが変更 される)。2重のアスタリスク(**)を側に持つバッファは、ディスク空間に割 り当てられている汚れバッファを指す。最後に、3重のアスタリスク(***)を 側に持つバッファは、ディスク上の新しいブロックに書込まれる汚れバッファで ある。バッファの状態を表すこの方法は、図21A〜図21Eにおいても用いら れる。 図17Aは、iノード2306Aと2306Bからなる汚れバッファを持つi ノードのリスト2390を示す。iノード2306Aと2306Bは、バッファ のツリー(複数)を参照する。ここで、各ツリーの少なくとも1つのバッファは 変更されている。初めに、iノード2306Aと2306Bの整合点フラグ23 91と2392がクリアされる(0)。本システムについての汚れバッファを持 つiノードのリスト2390が示されるが、当業者に明らかであるが、iノード の他のリスト(複数)もメモリに存在してもよい。たとえば、汚れiノードであ るが、汚れバッファを持たないiノードのリストがメモリに維持される。また、 これらのiノードは、整合点にあるとしてマークされねばならない。これらは、 汚れiノードが汚れブロックを参照しないけれども、iノードファイルの汚れコ ンテンツをディスクに書くために、ディスクに対しフラッシュされねばならない 。これは、図5のステップ520でなされる。 図17Bは、ファイルシステム情報ブロック2302、iノードファイル23 46、ブロックマップファイル2344およびファイル2340、2342から なる前の整合点のWAFLファイルシステムを表す。ファイル2340は、それ ぞれデータ「A」、「B」、「C」を含むブロック2310〜2314からなる 。ファイル2342は、それぞれデータ「D」、「E」、「F」を含むブロック 2316〜2320からなる。ブロックマップファイル2344はブロック23 24からなる。iノードファイル2346は、2つの4KBブロック2304と 2306からなる。第2のブロック2306は、ファイル2340、ファイル2 342およびブロックマップファイル2344をそれぞれ参照するiノードファ イル2306A〜2306Cからなる。これは、iノードにおけるファイル番号 をリストすることによりブロック2306において示される。ファイルシステム 情報ブロック2302は、ルートiノードからなる。このルートiノードは、i ノードファイル2346のブロック2304と2306を参照する。こうして、 図17Bは、ルートiノードを含むファイルシステム情報ブロック2302によ りルートされるファイルシステムにおけるバッファのツリーを示す。 図17Cは、メモリにおけるブロック2314と2322のための2つの変更 されたバッファを説明する。アクティブなファイルシステムは、データ「C」を 含むブロック2314がファイル2340から除去されるように、変更される。 また、ブロック2320に格納されるデータ「F」は、「Fプライム」に変更さ れ、ディスクブロック2322のためのバッファに格納される。ディスクブロッ ク2314と2322のためのバッファに含まれる変更されるデータは、この時 点でメモリにおいてのみ存在する。図17Cにおけるアクティブなファイルシス テムにおける全ての他のブロックは、変更されず、したがって、そのそばにアス タリスクを持たない。しかし、これらのブロックのいくつか、または、全ては、 メモリにおいて対応するきれいなバッファを持ってもよい。 図17Dは、メモリにおけるブロックマップファイル2344のエントリ23 24A〜2324Mを説明する。エントリ2324A〜2324Mは、ブロック マップファイル2344の4KBブロック2324のためのバッファに含まれる 。前に説明したように、ビット0とビット31は、それぞれ、FSビットとCP ビットである。整合点ビット(CPビット)は、1つの整合点が始まったが終わ っていないときに対応するブロックが変更されないことを保証するために、整合 点の間、セットされる。ビット1は、第1スナップショットビット(後で説明す る)である。ブロックマップエントリ2324Aと2324Bは、図17Bに示 すように、iノードファイル2346の4KBブロック2304と2306がア クティブなファイルシステムにあり(FSビット=1)、整合点にある(CPビ ット=1)を示す。同様に、他のブロック2310〜2312と2316〜23 20と2324は、アクティブなファイルシステムにあり、整合点にあることを 示す。しかし、ブロック2308、2322および2326〜2328は、(ビ ット0とビット31にそれぞれ示すように)アクティブなファイルシステムにも 整合点にもない。除去されたブロック2314のためのエントリは、FSビット に値0を持ち、アクティブなファイルシステムから除かれたことを示す。 図5のステップ510において、システムにおけるすべての「汚れ」ブロック は、整合点にあるとしてマークされる。汚れiノードは、汚れiノードと、汚れ バッファを参照するiノードの両方を含む。図171は、汚れバッファを持つi ノードのリストを示す。ここで、iノード2306Aと2306Bの整合点フラ グ2391と2392はセットされる(1)。iノード2306Aは、アクティ ブなファイルシステムから除去されるべきファイル2340のデータ「C」を含 むブロック2314を参照する。iノードファイル2342のブロック2306 のiノード2306Aは、ファイル2342を参照する。データ「F」を含むブ ロック2320は、変更されており、データ「F」を含む新しいブロックが割り 当てられねばならない。ステップ510において、汚れiノード2306Aと2 306Bは、ブロック2308のためのバッファにコピーされる。ブロック23 06のためのバッファは、続いてディスクに書込まれる(ステップ530)。こ れは、図17Eに示される。変更されたデータは、メモリにおいてのみ存在し、 バッファ2308は汚いとマークされる。iノード2306Aと2306Bの整 合点フラグ2391と2392は、図17Aに示すように、クリアされる(0) 。これは、これらのiノードを他のプロセスによる使用のために解放する。 ステップ520において、正規のファイルはディスクにフラッシュされる。こ うして、ブロック2322はディスク空間に割り当てられる。ファイル2340 のブロック2314は、削除され、したがって、整合点が終わるまでこのブロッ クに対してなにも起こらない。ブロック2322は、ステップ520において、 ディスクに書込まれる。これらは、図17Fにおいて示され、ここで、ブロック 2322と2314のためのバッファはディスクに書込まれる(***によりマー クされる)。ディスク空間の中間的割り当て(**)は示されない。iノードファ イル2346のブロック2308のiノード2308Aと2308Bは、iノー ドファイルにフラッシュされる。ブロック2308のiノード2308Aは、フ ァイル2346のブロック2310と2312を参照する。iノード2308B は、ファイル2342のためのブロック2316、2318、2322を参照す る。図17Fに示すように、ディスク空間は、iノード2346のブロック23 08と、ファイル2342のための直接ファイル2322について割り当てられ る。しかし、ファイルシステムそれ自体は、更新されない。こうして、ファイル システムは整合状態にとどまる。 ステップ530において、ブロックマップファイル2344は、ディスクにフ ラッシュされる。これは図17Gに示され、ここで、ブロックマップファイル2 344はアスタリスクにより汚いとして示される。 図6のステップ610において、ブロックマップファイルのためのiノードは 、図17Hに示されるように、iノードファイルにまえもってフラッシュされる 。iノード2308Cは、iノードファイル2346のブロック2306Bにフ ラッシュされている。しかし、iノード2308Cはなおブロック2324を参 照する。ステップ620において、ディスク空間は、ブロックマップファイル2 344とiノードファイル2346のために割り当てられる。ブロック2308 は、iノードファイル2346のために割り当てられ、ブロック2326は、ブ ロッ クマップファイル2344のために割り当てられる。上に説明したように、iノ ードファイル2346のブロック2308は、ブロックマップファイル2644 のためのまえもってフラッシュされたブロック2308Cを含む。ステップ63 0において、ブロックマップファイル2344のためのiノードは、iノード2 346における上記のまえもってフラッシュされたブロック2308Cに書込ま れる。こうして、メモリ内のiノード2308Cは更新されて、ステップ620 においてブロック2324を参照し、ブロック2308に書込まれるべきブロッ ク2306を含むメモリ内のバッファにコピーされる。これは、図17Hに示さ れ、ここで、iノード2308Cはブロック2326を参照する。 ステップ640において、ブロックマップファイル2344における各ブロッ ク2304〜2326のためのエントリ2326A〜2326Lは、図17Jに おいて更新される。図17Bで整合点が始まってから変更していないブロックは 、それらのエントリにおいて同じ値を有する。エントリは、ビット0(FSビッ ト)を整合点ビット(ビット31)にコピーすることにより、更新される。ブロ ック2306は、アクティブなファイルシステムの1部ではない。したがって、 ビット0は0に等しい(ビット0は、ステップ620でiノードファイルのその 部分に新しいデータを保持するようにブロック2308が割り当てらたときにオ フにされる)。これは、図17Jにおいてエントリ2326Bについて示される 。同様に、ファイル2340のブロック2314のためのエントリ2326Fは 0に等しいビット0とビット31を有する。ファイル2342のブロック232 0とブロックマップファイル2344のブロック2324は、同様に、エントリ 2361と2326Kに示すように取り扱われる。ステップ650において、i ノードファイル2346の汚れブロック2308とブロックマップファイル23 44の汚れブロック2326は、ディスクに書込まれる。これは、図17Kにお いて、ブロック2308と2326の側の3重アスタリスクにより示される。 図5を参照して、ステップ540において、ファイルシステム情報ブロック2 302はディスクにフラッシュされ、これは2度行われる。こうして、図17L において、ファイルスペース(fs)情報ブロック2302は、汚くされ、次に、 (3 重アスタリスクにより示すように)ディスクに書込まれる。図17Lにおいて、 単独のファイルスペース情報ブロック2302が示される。図に示すように、フ ァイルスペース情報ブロック2302は、いま、iノードファイル2346のブ ロック2304と2308を参照する。図17Lにおいて、ブロック2306は 、もはやアクティブなファイル空間におけるiノードファイル2346の1部で はない。同様に、iノードファイル2346のiノード2308Aにより参照さ れるファイル2340は、ブロック2310と2312からなる。ブロック23 14は、もはやこの整合点におけるファイル2340の1部ではない。ファイル 2342は、この新しい整合点においてブロック2316、2318および23 22からなるが、ブロック2320はファイル2342の1部ではない。さらに 、iノードファイル2346のブロック2308は、ブロック2326からなる 新しいブロックマップファイル2344を参照する。 図17Lに示すように、1つの整合点において、アクティブなファイルシステ ムは、新しいファイル2346のiノードをファイルスペース情報ブロック23 02にコピーすることにより、更新される。しかし、前の整合点のブロック23 14、2320、2324および2306はディスク上に残っている。これらの ブロックは、古い整合点1830と新しい整合点1831の両方が図20におい てステップ540の間に存在することを保証するために、ファイルシステムを更 新するときに決して上書きされない。スナップショット WAFLシステムは、スナップショットをサポートしている。スナップショッ トは、スナップショットが作成(generate)される瞬間の全ファイルシステムの 読出し専用コピーである。新たに作成されるスナップショットは、アクティブな ファイルシステムが指すものと同じディスクブロックを指す。したがって、それ は短時間に作成され、追加のディスク空間を消費することはない。アクティブな ファイルシステムにおけるデータブロックが変更されディスク上の新たな位置に 書き込まれる時にのみ、スナップショットは追加の空間を使用し始める。 WAFLは、1から20まで番号付けされた20個までの異なるスナップショ ットをサポートする。したがって、WAFLは、同一ファイルシステムの多重の 「クローン」の作成を可能にする。各スナップショットは、アクティブなファイ ルシステムがルートiノードにより表わされるのと同様に、スナップショットi ノードにより表わされる。スナップショットは、ファイルシステムのルートデー タ構造を複製することにより作成される。好ましい実施例において、ルートデー タ構造はルートiノードである。しかし、全ファイルシステムを表わすどのよう なデータ構造も使用することができる。スナップショットiノードは、iノード ファイル中の固定位置に存在する。スナップショットの20個の限界は、ブロッ クマップエントリの大きさにより決定されている。WAFLは、新たなスナップ ショットNの作成に2つのステップを必要とする。すなわち、ルートiノードを スナップショットN用のiノードにコピーし、ビット0をブロックマップファイ ルにある各ブロックマップエントリのビットNにコピーする。ビット0は、ルー トiノードの下のツリーが指すブロックを示す。 その結果は、ルートiノードと全く同じディスクブロックを示すスナップショ ットiノードNによって確立された新たなファイルシステムツリーである。スナ ップショットにある各ブロックのブロックマップに対応するビットを設定すれば 、アクティブなファイルがスナップショットブロックを使用しなくなっても、ス ナップショットブロックの解放が防止される。WAFLは新たなデータを未使用 のディスク位置に常に書き込むので、アクティブなファイルシステムが変わって も、ス ナップショットツリーは変わらない。新たに作成されたスナップショットツリー は、ルートiノードと全く同じブロックを参照するので、新たなディスク空間は 使用されない。時間が経過すると、スナップショットは、別途解放されたディス クブロックを参照する。したがって、時間が経過すると、スナップショットとア クティブなファイルシステムが共有するブロックは徐々に少なくなり、スナップ ショットが使用する空間は増大する。スナップショットは、それが許容できない 数のディスクブロックを使用するようになると削除することができる。 アクティブなスナップショットのリストはスナップショットの名前とともに、 スナップショットディレクトリと呼ばれるメタデータファイルに格納される。デ ィスクの状態は上に記したように更新される。他の全ての変更とともに、ある整 合点より別の整合点に自動的に進むことにより、更新は行われる。変更されたブ ロックはディスク上の未使用位置に書き込まれ、その後に、更新されたファイル システムを記載した新たなルートiノードが書き込まれる。スナップショットの概観 図18Aは、スナップショットが取り出される前のファイルシステム1830 を示し、WAFLファイルシステムの概観をより簡単にするため、間接性のレベ ルは除かれている。ファイルシステム1830は、図16のファイルシステム1 690を示している。ファイルシステム1830はブロック1812〜1820 からなる。iノードファイルのiノードは、ファイルシステム情報ブロック18 10に含まれる。ファイルシステム情報ブロック1810の一つのコピーしか図 18Aには示されていないが、ファイルシステム情報ブロックの第2のコピーも ディスク上にあるものと解釈すべきである。ファイルシステム情報ブロック18 10に含まれたiノード1810Aは、同一の間接性レベルの16のブロックを 指す16のポインタを有している。図18Aのブロック1812〜1820は、 直接ブロック、間接ブロック等を含むファイルシステム1830内の全てのブロ ックを示している。5個のブロック1812〜1820しか示されていないが、 各ブロックは他のブロックを指してもよい。 図18Bは、スナップショットの作成を示す。スナップショットは、全ファイ ルシステム1830用に、ファイルシステム情報ブロック1810に格納されて いるiノードファイルのiノード1810Aをスナップショットiノード182 2に単にコピーすることにより作成される。iノードファイルのiノード181 0Aをコピーすることにより、アクティブなファイルシステムと同じファイルシ ステムを示すiノードの新たなファイルが作成される。iノードファイルそれ自 体のiノード1810Aがコピーされるので、他のブロック1812〜1820 は2重にされる必要はない。コピーされたiノードまたはスナップショットiノ ード1822は、次に、iノードファイルにコピーされ、iノードファイルのブ ロックを汚す。一つまたはそれ以上の間接性レベルからなるiノードファイルに 対し、各間接ブロックが順に汚される。ブロックを汚すこのプロセスは、全ての 間接性レベルを通して進む。ディスク上のiノードファイルの各4キロバイトブ ロックは、32のiノードを含み、各iノードは128バイトの長さである。 図18Bの新しいスナップショットiノード1822は、スナップショット1 822が取り出されると、iノードファイルのiノード1810Aにより参照さ れる最高レベルの間接性のブロック1812〜1820を指す。iノードファイ ルそれ自体は、ファイルシステム1830のスナップショットを含んでいるので 、再帰的構造である。各スナップショット1822は、iノードファイルにコピ ーされるiノードファイルのiノード1810Aのコピーである。 図18Cは、スナップショット1822が取り出された後、アクティブなファ イルシステム1830に変化が発生する時のアクティブなファイルシステム18 30とスナップショット1822を示す。この図に示されるように、データ「D 」を有するブロック1818は、スナップショット1822が取り出された後に 変更されるので(図18B)、データ「Dprime」を含む新たなブロック182 4は、アクティブなファイルシステム1830用として割り当てられる。したが って、アクティブなファイルシステム1830はブロック1812〜1816と 1820〜1824とを有するが、データ「D」を含むブロック1818を含ま ない。しかし、WAFLシステムはディスク上のブロックに上書きしないので、 データ「D」を含むブロック1818は上書きされない。ブロック1818は、 ブ ロック1818用のブロックマップエントリに設定されているスナップショット ビットにより上書きされないよう保護されている。したがって、スナップショッ ト1822はなお、ブロック1812〜1816と1820と同様、未変更のブ ロック1818を指している。本発明は、図18A〜図18Cに示されるように 、ファイルシステムの「クローン」を作成しクローンがディスク上のiノードフ ァイルの全てのブロックのコピーである従来のシステムとは異なる。したがって 、従来技術のiノードファイルの全内容が2重にされるので、ディスクI/O操 作にかなりの時間を必要とするばかりでなく、かなりの量(MB)のディスク空 間を必要とする。 図18Cにおいてアクティブなファイルシステム1830は変更されるとき、 ブロック1812〜1820を有するファイルシステムは上書きされないので、 アクティブなファイルシステムはより多くのディスク空間を使用する。図18C において、ブロック1818は直接ブロックとして示されている。しかし、実際 のファイルシステムにおいては、同様に間接ブロックによりブロック1818を 指してもよい。したがって、ブロック1818が変更され、ブロック1824と して新たなディスク位置に格納されると、対応する直接ブロックおよび間接ブロ ックもまたコピーされ、アクティブなファイルシステム1830に割り当てられ る。 図19は、図18Cのブロック1824に発生する変化を示す。図18Cのブ ロック1824は、図19において破線1824の内側に示されている。図19 は、図18Cのブロック1824に対するいくつかの間接性レベルを示している 。図18Cのディスクに書き込まれる新たなブロック1910は、図19におい て1910の符号が付されている。ブロック1824は、2重間接性により参照 される変更データを含むデータブロック1910を有しているので、二つの他の ブロック1918と1926も変更される。単独間接ブロック1918のポイン タ1924は新しいブロック1910を示すので、ブロック1918もディスク の新たな位置に書き込む必要がある。同様に、間接ブロック1926のポインタ 1928はブロック1918を指すので、変更される。したがって、図19に示 されるように、データブロック1910を変更することにより、いくつかの間接 ブ ロック1918と1926も変更を生じさせることができる。これはまた、ディ スクの新たな位置へのブロック1918と1926の書込みを必要とする。 図18Cのデータブロック1824の直接および間接のブロック1910、1 918、1926は変えられ、新たな位置に書き込まれるので、iノードファイ ルのiノードは新たなブロックに書き込まれる。iノードファイルの変更された ブロックは、データが上書きされないので、ディスク上の新たなブロックが割り 当てられる。 図19に示されるように、ブロック1910は間接ブロック1926、191 8によってそれぞれ指し示される。したがって、ブロック1910が変更され、 新たなディスク位置に格納されると、対応する直接および間接のブロックもまた コピーされ、アクティブなファイルシステムに割り当てられる。したがって、多 くのデータ構造が更新される必要がある。直接ブロック1910および間接ブロ ック1918、1926を変えると、ブロックマップファイルが変更される。 スナップショット用キーデータ構造はブロックマップエントリであり、各エン トリは一つのスナップショットに対し多重のビットを有する。これは、複数のス ナップショットの作成を可能とする。スナップショットは、ファイルシステム( 図18の1830)であるブロックのツリーのピクチャである。新しいデータが スナップショットのブロック上に書き込まれないかぎり、スナップショットによ り表わされるファイルシステムは変わらない。スナップショットは整合点と類似 している。 本発明のファイルシステムは、ファイルシステム情報ブロック1810、18 70が書き込まれた時点で完全に整合性がある。したがって、システムへの給電 が妨げられても、再始動のときに、ファイルシステム1830は整合状態に達す る。IGBファイルシステムの従来の典型的な「クローン」では8〜32MBの ディスク空間が使用されているので、クローンは、本発明のように整合点または スナップショットに導かない。 図22を参照すると、ディスク上に既に二つのスナップショット2110Aと 2110Bが存在する。三つ目のスナップショットが作成される瞬間に、アクテ ィ ブなファイルシステムを指すルートiノードは、iノードファイル2110の第 3のスナップショットのためにiノードエントリ2110Cにコピーされる。同 時に、通過する整合点において、スナップショット3が作成されたことをフラグ が示す。全ファイルシステムは、ブロックマップファイルにおける各エントリご とにビット0がセットされるか(1)、あるいは、クリアされるか(0)をチェ ックすることにより処理される。各ブロックマップエントリの全てのビット0の 値はスナップショット3のためのプレーンにコピーされる。終了すると、ファイ ルシステムの各アクティブブロック2110〜2116と1207は、それが取 り出される瞬間にスナップショットに存在する。 所定時間連続してディスク上に存在したブロックも、第3のスナップショット 2110Cの前の対応するスナップショット2110A〜2110Bに存在する 。あるブロックが十分長い時間ファイルシステムに存在したならば、それはすべ てのスナップショットに存在する。ブロック1207はそのようなブロックであ る。図22に示されるように、ブロック1207は、アクティブなiノードファ イルのiノード2210Gにより示されるとともに、スナップショット1、2、 3により間接的に示される。 スナップショットの順番は、ファイルシステムコピーの時間順を必ずしも示す わけではない。ファイルシステムの個々のスナップショットは任意の時に削除す ることができ、こうすることによりエントリをさらに使用することが可能となる 。アクティブなファイルシステムを参照するブロックマップエントリのビット0 がクリアされ(ブロックのアクティブなファイルシステムからの削除を示す)、 いずれかのスナップショット参照ビットが設定されると、ブロックは再使用でき ない。これは、ブロックが、なお使用されているスナップショットの一部だから である。ブロックは、ブロックマップエントリの全てのビットが0に設定される 時にのみ再使用できる。スナップショットを作成するアルゴリズム スナップショットの作成は、図5に示されるような規則的整合点の作成にほぼ 完全に類似している。ステップ510において、全ての汚れiノードは、整合点 にあるものとしてマークが付けられる。ステップ520において、全ての正規の ファイルはディスクに対しフラッシュされる。ステップ530において、特別な ファイル(すなわち、iノードファイルとブロックマップファイル)は、ディス クに対しフラッシュされる。ステップ540において、ファイルシステム情報ブ ロックはディスクにフラッシュされる。ステップ550において、整合点にない 全てのiノードは処理される。図5については詳細に先に説明している。実際、 スナップショットの作成は、整合点の作成の一部として行われる。スナップショ ットの作成と整合点の作成における基本的な違いは、ブロックマップファイルの すべてのエントリが、スナップショットビットにコピーされたアクティブなFS ビットを有していることである。スナップショットビットは、スナップショット のブロックが上書きされることのないよう保護するために、対応するスナップシ ョットを示している。スナップショットの作成および削除は、ステップ530で 行われるが、これは、ファイルシステムが完全に自己整合性があり、ディスクに まさに移る唯一の点だからである。 異なるステップ(複数)が、新たなスナップショットが作成される時の整合点 のために図6に示されているステップ530において行われる。ステップは、正 規の整合点のステップと非常に類似している。図7は、スナップショットを作成 するためにステップ530が有するステップを示す流れ図である。上述したよう に、ステップ530は、ディスク空間をブロックマップファイルとiノードファ イル用に割り当てるとともに、対応するスナップショットを示すスナップショッ トビットにアクティブFSビットをコピーし、スナップショットのブロックが上 書きされないよう保護する。 ステップ710において、ブロックマップファイルのiノードと作成されてい るスナップショットはディスクに前もってフラッシュされる。ブロックマップフ ァイルのiノードのiノードファイルのブロックへのフラッシュ(整合点に対す る図6のステップ610のように)に加えて、作成されているスナップショット のiノードもまた、iノードファイルのブロックにフラッシュされる。その結果 、スナップショットのiノードを含むiノードファイルのブロックは汚れること に なる。 ステップ720において、ブロックマップファイルの各ブロックマップは汚れ ている。ステップ760(後で記載する)において、ブロックマップファイルの すべてのエントリは、汚れブロックのエントリの代わりに更新される。したがっ て、ブロックマップファイルのすべてのブロックはここで汚れているとのマーク を付ける必要があり、ステップ730はディスク空間をそれに書き込み割り当て る。 ステップ730において、ディスク空間は、iノードとブロックマップファイ ルのすべての汚れブロックに割り当てられる。汚れブロックには、汚れブロック マップファイルのiノードを含むiノードファイルのブロックと新たなスナップ ショット用iノードを含むブロックとが含まれる。 ステップ740において、ファイルシステム用ルートiノードの内容は、iノ ードファイルのスナップショットのiノードにコピーされる。この時、新たな整 合点の一部でありディスクに書き込まれる各ブロックには、それに割り当てられ るディスク空間がある。したがって、ルートiノードをスナップショットiノー ドに2重化すると、アクティブな全ファイルシステムが効率的にコピーされる。 スナップショットに存在する実際のブロックは、アクティブなファイルシステム の同じブロックである。 ステップ750において、ブロックマップファイルとスナップショットのiノ ードは、iノードファイルにコピーされる。 ステップ760において、ブロックマップファイルのエントリは更新される。 アクティブなFSビットのエントリのためのCPビットへのコピーに加えて、ア クティブなFSビットも、新たなスナップショットに対応するスナップショット ビットにコピーされる。 ステップ770において、ブロックマップとiノードファイルとの中のすべて の汚れブロックはディスクに書き込まれる。 最後に、ある時点で、スナップショットそれ自体が、ステップ760において ファイルシステムから削除される。スナップショットは、アクティブなファイル システムのiノードファイルの中におけるそのスナップショットiノードエント リをクリアし、ブロックマップファイルの各エントリにおけるスナップショット 番号に対応する各ビットをクリアすることにより、ファイルシステムより削除さ れる。また、設定値からクリアされる全てのブロックマップエントリの中のスナ ップショットの各ビットの計数が行われ、これにより、スナップショットを削除 することにより解放されるブロックの計数値(解放されるディスク空間の大きさ に相当する量)が得られる。このシステムは、最も古いスナップショットに基づ いて削除すべきスナップショットを決定する。使用者もまた、特定のスナップシ ョットの削除を手動で選択できる。 本発明は、スナップショットの総数を限定するとともに、エピソードのように COWビットを有するポインタを使用する代わりに、スナップショットを追跡す るための複数のビットを有するエントリを持つブロックマップファイルを維持す る。未使用ブロックは、そのブロックマップファイルエントリにおけるビットが すべて0である。時間が経過すると、アクティブなファイルシステムビット0( ビット0)は、一般にある時点で1となる。ビット0を設定することにより、対 応するブロックを、アクティブなファイルシステムにおいて割り当てられたもの として、同定する。上述したように、全てのスナップショットビットは、まず0 に設定される。いずれかのスナップショットビットが設定される前にアクティブ なファイルのビットがクリアされると、ディスク上に格納されたどのスナップシ ョットにもブロックは存在しない。それ故、ブロックは再割り当てのためにすぐ に使用でき、スナップショットから続いて回復できない。スナップショットの作成 前述したように、スナップショットは整合点に非常に類似している。それ故、 スナップショットの作成を、これと、図17A〜図17Lに示される整合点の作 成との間の相違を参照して説明する。図21A〜図21Fは、スナップショット 作成の相違を示している。 図17A〜図17Dは、スナップショット開始時のWAFLファイルシステム の状態を示している。すべての汚れiノードは、ステップ510において整合点 にあるものとしてマークされており、正規のファイルは、ステップ520におい てディスクにフラッシュされる。したがって、スナップショットの最初の処理は 、整合点のものと同一である。スナップショットのための処理は、ステップ53 0において整合点のものと相違している。図7によるスナップショットの処理を 以下に説明する。 以下の説明は、WAFLファイルシステムの第2のスナップショット用のもの である。第1のスナップショットは、図17Cのブロックマップエントリに記録 されている。エントリ2324A〜2324Mに示されているように、ブロック 2304〜2306、2310〜2320、2324は、第1スナップショット に含まれている。他の全てのスナップショットビット(ビット1〜ビット20) は、対応するスナップショットがディスク上にないことを示す0の値を持ってい るものとする。図21Aは、ステップ510とステップ520が終了した後のフ ァイルシステムを示している。 ステップ710において、スナップショット2のiノード2308Cと230 8Dとブロックマップファイル2344はディスクに対しあらかじめフラッシュ される。その結果、スナップショット2のiノードを包含しつつあるiノードフ ァイルのブロックが汚いことを保証する。図21Bにおいて、iノード2308 Cと2308Dは、スナップショット2に対し、かつ、ブロックマップファイル 2344に対し、あらかじめフラッシュされる。 ステップ720において、全ブロックマップファイル2344は汚されている 。その結果、ステップ730において、全体のブロックマップファイル2344 がディスク空間に割り当てられる。ステップ730において、ディスク空間は、 図21Cに示されるように、汚れブロック2308と2326およびiノードフ ァイル2346とブロックマップファイル2344に対し割り当てられる。この ことは、ブロック2308と2326の横に三重アスタリスク(***)で示され ている。これは、図6のステップ620においてブロックマップファイル234 4で変化したエントリを有するブロックにのみディスク空間が割り当てられる整 合点の作成とは異なる。図21Cのブロックマップファイル2344は単一ブロ ッ ク2324を有している。しかし、ブロックマップファイル2344が1より多 いブロックを有すると、ディスク空間はステップ730において全ブロックに割 り当てられる。 ステップ740において、新しいファイルシステムのルートiノードは、スナ ップショット2のiノード2308Dにコピーされる。ステップ750において 、ブロックマップファイル2344とスナップショット2のiノード2308C と2308Dは、図21Dに示されるようにディスクにフラッシュされる。図は 、スナップショット2のiノード2308Dがブロック2306ではなく、ブロ ック2304と2308を参照することを示している。 ステップ760において、ブロックマップファイル2344のブロック232 6におけるエントリ2326A〜2326Lは図21Eに示されるように更新さ れる。図21Eは、スナップショット2のビット(ビット2)が、各エントリ2 326A〜2326LのFSビットとCPビットと同様に更新されることを示し ている。したがって、ブロック2304、2308〜2312、2316〜23 18、2322、2326はスナップショット2に含まれるのに対し、ブロック 2306、2314、2320、2324は含まれない。ステップ770におい て、汚れブロック2308と2326はディスクに書き込まれる。 スナップショット2の次の処理は、図5に示される整合点の作成のものと同一 である。ステップ540において、二つのファイルシステム情報ブロックはディ スクにフラッシュされる。したがって、図21Fは、このステップの後の整合状 態にあるWAFLファイルシステムを示している。ステップ540が終了した後 の、整合性のあるファイルシステムのファイル2340、2342、2344、 2346は、図21Fの破線の内側に示される。ステップ550において、整合 点は、この整合点になかったiノードを処理することにより終了する。アクセスタイム上書き UNIXファイルシステムは、各iノードにおいて「アクセスタイム」(aタ イム(atime))を維持する必要がある。aタイムは、ファイルが読み出された最 後の時間を示している。それは、ファイルがアクセスされるたびに更新される。 その結果、ファイルが読出されると、iノードファイルにおいてiノードを含む ブロックは書き換えられ、iノードを更新する。これは、結果として、ファイル の読出しによりディスク空間を使い尽くす可能性があるので、スナップショット の作成には不利である。さらに、ファイルシステムのすべてのファイルの読出し により、全iノードファイルの2重化を惹き起す。本発明は、この問題を解決す る。 aタイムにより、iノードを変更するとiノードファイル用の新たなブロック がディスクに書き込まれるので、読出しはディスク空間を消費する可能性がある 。さらに、ファイルシステムが一杯となるようなファイルシステムにとって異常 な事態が発生すると、読出し動作は失敗に終わる可能性がある。 一般に、ディスク上のデータは、ディスクに格納されたデータを保護するよう に、WAFLファイルシステムに上書きされることはない。この規則の唯一の例 外は、図23A〜図23Bに示されるように、iノードに対するaタイム上書き である。「aタイム上書き」が発生すると、iノードファイルのブロックで変更 される唯一のデータは、それに含まれる一つあるいはそれ以上のiノードのaタ イムであり、ブロックは同じ位置で書き換えられる。これはWAFLシステムに おける唯一の例外であり、他の場合は、新しいデータは常に新しいディスク位置 に書き込まれる。 図23Aは、古いWAFLiノードファイルブロック2420のiノード24 22のaタイム2423と、ブロック2420を示すスナップショットiノード 2432のaタイム2433を示す。ブロック2420のiノード2422は直 接ブロック2410を参照する。iノード2422のaタイム2423は、「4 /30 9:15PM」であるのに対し、スナップショットiノード2432の aタイム2433は「5/1 10:00AM」である。図23Aは、直接バッ ファ2410がアクセスされる前のファイルシステムを示している。 図23Bは、直接ブロック2410がアクセスされた後の直接ブロック241 0のiノード2422を示す。図に示されるように、iノード2422のアクセ スタイム2423は、それを示すスナップショット2432のアクセスタイム2 433とともに上書きされる。したがって、直接ブロック2410のiノード2 422のアクセスタイム2423は「5/1 11:23AM」である。 新しいaタイムでiノードファイルブロックを上書きすると、スナップショッ トにおいてわずかな非整合が発生する。スナップショットのファイルのaタイム は、実際には、スナップショットが作成された時間より後のはずである。ユーザ がこの非整合を発見しないように、WAFLは、スナップショットの全てのファ イルのaタイムをファイルが最後にアクセスされた時間の代わりにスナップショ ットが実際に作成された時間に調節する。このスナップショットタイムは、スナ ップショットを全体として記載しているiノードに格納される。したがって、ス ナップショットを介してアクセスすると、iノード2422のアクセスタイム2 423は、常に「5/1 10:00AM」として報告される。これは、「4/ 30 9:15PM」であると予想される更新前と、「5/1 11:23AM 」であると予想される更新後の両方で発生する。アクティブなファイルシステム を介してアクセスすると、時間は更新前と更新後においてそれぞれ「4/30 9:15PM」と「5/1 11:23AM」として報告される。 このように、ファイルシステムを整合状態に維持し、ファイルシステムの読出 し専用コピーを作成する方法が開示された。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マルコム、マイケル アメリカ合衆国カリフォルニア州94022、 ロス・アルトス、サウス・アバロン・ドラ イブ48番 (72)発明者 ラウ、ジェイムズ アメリカ合衆国カリフォルニア州95014、 カパチノ、アップランド・ウェイ11570番 (72)発明者 ラキチス、バイロン アメリカ合衆国カリフォルニア州94043、 マウンテン・ビュー、ノース・ウィッシマ ン・ナンバー130、100番

Claims (1)

  1. 【特許請求の範囲】 1.ファイルシステムにある複数の変更されたブロックを指す複数のiノードを 整合点にあるものとしてマークを付けるステップ、 正規ファイルを記憶手段に対しフラッシュし、特殊なファイルを上記の記憶手 段にフラッシュするステップ、 ファイルシステム情報の少なくとも一つのブロックを上記の記憶手段にフラッ シュするステップ、および、 上記の整合点の一部ではなかった汚れiノードを再キューするステップ からなる整合点の作成方法。 2.請求項1の方法において、上記の特殊なファイルを上記の記憶手段に送る上 記のステップは、さらに、 ブロックマップファイル用のiノードをiノードファイルに予めフラッシュす るステップ、 上記のiノードと上記のブロックマップファイルにあるすべての汚れブロック とに上記の記憶手段における空間を割当てるステップ、 上記のブロックマップファイル用の上記のiノードを再びフラッシュするステ ップ、 上記のブロックマップファイルにある複数のエントリ(この複数のエントリの 各々は上記の記憶手段上のブロックを示す)を更新するステップ、および、 上記のブロックマップファイルと上記のiノードファイルにある全ての汚れブ ロックを上記の記憶手段に書込むステップ からなる方法。
JP50199995A 1993-06-03 1994-06-02 ライトエニウエアファイルシステムレイアウト Expired - Lifetime JP3751018B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7164393A 1993-06-03 1993-06-03
US071,643 1993-06-03
PCT/US1994/006320 WO1994029807A1 (en) 1993-06-03 1994-06-02 Write anywhere file-system layout

Publications (2)

Publication Number Publication Date
JPH08511367A true JPH08511367A (ja) 1996-11-26
JP3751018B2 JP3751018B2 (ja) 2006-03-01

Family

ID=22102650

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50199995A Expired - Lifetime JP3751018B2 (ja) 1993-06-03 1994-06-02 ライトエニウエアファイルシステムレイアウト

Country Status (8)

Country Link
US (1) US5819292A (ja)
EP (2) EP1003103B1 (ja)
JP (1) JP3751018B2 (ja)
AT (2) ATE409907T1 (ja)
DE (2) DE69435146D1 (ja)
DK (1) DK0702815T3 (ja)
HK (2) HK1027876A1 (ja)
WO (1) WO1994029807A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004512585A (ja) * 2000-09-29 2004-04-22 オラクル・コーポレイション きめの細かい一時的なデータベースへのアクセスを提供するためのシステムおよび方法
JP2009015849A (ja) * 2007-06-29 2009-01-22 Symantec Corp スケーラブル・ファイル・システムの回復のためのリソース管理
US7747799B2 (en) 2005-03-16 2010-06-29 Hitachi, Ltd. Storage system
US8135677B2 (en) 2008-07-29 2012-03-13 Hitachi, Ltd. File management system and method
JP2013073557A (ja) * 2011-09-29 2013-04-22 Hitachi Solutions Ltd 情報検索システム、検索サーバ及びプログラム
JP2014506345A (ja) * 2010-11-22 2014-03-13 ヒタチ データ システムズ エンジニアリング ユーケー リミテッド データストレージシステムにおける、ファイルのクローニング及びデクローニング

Families Citing this family (693)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
WO1994029795A1 (en) 1993-06-04 1994-12-22 Network Appliance Corporation A method for providing parity in a raid sub-system using a non-volatile memory
WO1997011426A1 (en) 1995-09-18 1997-03-27 Cyberstorage Systems, Inc. Universal storage management system
DE69621214T2 (de) * 1996-01-31 2002-12-05 Toshiba Kawasaki Kk Ein-Ausgabekontrollverfahren mit Wiederherstellungsfunktion
WO1998027506A2 (en) * 1996-12-17 1998-06-25 Inca Technology, Inc. Ndc consistency reconnect mechanism
US8621101B1 (en) 2000-09-29 2013-12-31 Alacritech, Inc. Intelligent network storage interface device
US5941969A (en) 1997-10-22 1999-08-24 Auspex Systems, Inc. Bridge for direct data storage device access
JP4363676B2 (ja) * 1997-10-31 2009-11-11 株式会社東芝 コンピュータシステム
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6081883A (en) * 1997-12-05 2000-06-27 Auspex Systems, Incorporated Processing system with dynamically allocatable buffer memory
US6175900B1 (en) * 1998-02-09 2001-01-16 Microsoft Corporation Hierarchical bitmap-based memory manager
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6574591B1 (en) * 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6119244A (en) * 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6549988B1 (en) 1999-01-22 2003-04-15 Ilya Gertner Data storage system comprising a network of PCs and method using same
US8225002B2 (en) 1999-01-22 2012-07-17 Network Disk, Inc. Data storage and data sharing in a network of heterogeneous computers
JP4294142B2 (ja) 1999-02-02 2009-07-08 株式会社日立製作所 ディスクサブシステム
US6438714B1 (en) * 1999-03-31 2002-08-20 International Business Machines Corporation Method and apparatus for testing large arrays of storage devices
US8335775B1 (en) * 1999-08-05 2012-12-18 Oracle International Corporation Versioning in internet file system
US7734591B1 (en) 1999-08-16 2010-06-08 Netapp, Inc. Coherent device to device data replication
US6961749B1 (en) 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
WO2001028179A2 (en) 1999-10-14 2001-04-19 Bluearc Uk Limited Apparatus and method for hardware implementation or acceleration of operating system functions
US7337360B2 (en) * 1999-10-19 2008-02-26 Idocrase Investments Llc Stored memory recovery system
US6594780B1 (en) 1999-10-19 2003-07-15 Inasoft, Inc. Operating system and data protection
JP2001142773A (ja) * 1999-11-17 2001-05-25 Fujitsu Ltd 交換システムのデータ管理装置及び記録媒体
US6883120B1 (en) 1999-12-03 2005-04-19 Network Appliance, Inc. Computer assisted automatic error detection and diagnosis of file servers
US6715034B1 (en) 1999-12-13 2004-03-30 Network Appliance, Inc. Switching file system request in a mass storage system
US6418449B1 (en) * 2000-01-06 2002-07-09 Inventec Corporation Method of cloning the file system of a window web operating system by using a bitmap file
US6484186B1 (en) * 2000-02-15 2002-11-19 Novell, Inc. Method for backing up consistent versions of open files
US6473775B1 (en) * 2000-02-16 2002-10-29 Microsoft Corporation System and method for growing differential file on a base volume of a snapshot
US6647473B1 (en) 2000-02-16 2003-11-11 Microsoft Corporation Kernel-based crash-consistency coordinator
US7150018B2 (en) 2000-02-16 2006-12-12 Microsoft Corporation Method and system for deterministic ordering of software modules
US7490092B2 (en) 2000-07-06 2009-02-10 Streamsage, Inc. Method and system for indexing and searching timed media information based upon relevance intervals
US20020078445A1 (en) * 2000-07-11 2002-06-20 Imran Sharif Internet appliance for interactive audio/video display using a remote control unit for user input
US7245291B2 (en) 2000-07-11 2007-07-17 Imran Sharif System and method for internet appliance data entry and navigation
US6980313B2 (en) * 2000-07-11 2005-12-27 Imran Sharif Fax-compatible internet appliance
US20030115167A1 (en) * 2000-07-11 2003-06-19 Imran Sharif Web browser implemented in an Internet appliance
US6728897B1 (en) 2000-07-25 2004-04-27 Network Appliance, Inc. Negotiating takeover in high availability cluster
US6640233B1 (en) * 2000-08-18 2003-10-28 Network Appliance, Inc. Reserving file system blocks
US6751635B1 (en) * 2000-08-18 2004-06-15 Network Appliance, Inc. File deletion and truncation using a zombie file space
US6728922B1 (en) 2000-08-18 2004-04-27 Network Appliance, Inc. Dynamic data space
US7072916B1 (en) * 2000-08-18 2006-07-04 Network Appliance, Inc. Instant snapshot
US6636879B1 (en) * 2000-08-18 2003-10-21 Network Appliance, Inc. Space allocation in a write anywhere file system
US6732125B1 (en) 2000-09-08 2004-05-04 Storage Technology Corporation Self archiving log structured volume with intrinsic data protection
US7296073B1 (en) 2000-09-13 2007-11-13 Network Appliance, Inc. Mechanism to survive server failures when using the CIFS protocol
US8019901B2 (en) 2000-09-29 2011-09-13 Alacritech, Inc. Intelligent network storage interface system
US6654912B1 (en) * 2000-10-04 2003-11-25 Network Appliance, Inc. Recovery of file system data in file servers mirrored file system volumes
US6952797B1 (en) 2000-10-25 2005-10-04 Andy Kahn Block-appended checksums
US20020051019A1 (en) * 2000-10-31 2002-05-02 De Vorchik David G. Operating system user interface for staged write media
US6618794B1 (en) * 2000-10-31 2003-09-09 Hewlett-Packard Development Company, L.P. System for generating a point-in-time copy of data in a data storage system
DE10058391C2 (de) * 2000-11-24 2003-06-18 Siemens Ag Vorrichtung zur Objektbearbeitung
US7778981B2 (en) * 2000-12-01 2010-08-17 Netapp, Inc. Policy engine to control the servicing of requests received by a storage server
US7346928B1 (en) * 2000-12-01 2008-03-18 Network Appliance, Inc. Decentralized appliance virus scanning
US6993523B1 (en) 2000-12-05 2006-01-31 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency in a data base page
US6751636B1 (en) 2000-12-05 2004-06-15 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency across multiple instances of a database
US6721739B1 (en) * 2000-12-05 2004-04-13 Silicon Graphics, Inc. System and method for maintaining and recovering data consistency across multiple pages
US6629198B2 (en) * 2000-12-08 2003-09-30 Sun Microsystems, Inc. Data storage system and method employing a write-ahead hash log
US6745285B2 (en) 2000-12-18 2004-06-01 Sun Microsystems, Inc. System and method for synchronizing mirrored and striped disk writes
US6931450B2 (en) 2000-12-18 2005-08-16 Sun Microsystems, Inc. Direct access from client to storage device
US7730213B2 (en) 2000-12-18 2010-06-01 Oracle America, Inc. Object-based storage device with improved reliability and fast crash recovery
US6636878B1 (en) * 2001-01-16 2003-10-21 Sun Microsystems, Inc. Mechanism for replicating and maintaining files in a spaced-efficient manner
US6990547B2 (en) * 2001-01-29 2006-01-24 Adaptec, Inc. Replacing file system processors by hot swapping
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US7054927B2 (en) 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US20020165942A1 (en) * 2001-01-29 2002-11-07 Ulrich Thomas R. Data path accelerator with variable parity, variable length, and variable extent parity groups
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US6618736B1 (en) 2001-03-09 2003-09-09 Ensim Corporation Template-based creation and archival of file systems
US6728735B1 (en) 2001-03-12 2004-04-27 Network Appliance, Inc. Restartable dump that produces a consistent filesystem on tapes
US6889228B1 (en) 2001-03-29 2005-05-03 Network Appliance, Inc. Cascading support for mirrored volumes
US6668264B1 (en) 2001-04-03 2003-12-23 Network Appliance, Inc. Resynchronization of a target volume with a source volume
US7178137B1 (en) 2001-04-05 2007-02-13 Network Appliance, Inc. Automatic verification of scheduling domain consistency
US7694302B1 (en) 2001-04-05 2010-04-06 Network Appliance, Inc. Symmetric multiprocessor synchronization using migrating scheduling domains
US8171414B2 (en) * 2001-05-22 2012-05-01 Netapp, Inc. System and method for consolidated reporting of characteristics for a group of file systems
US7739614B1 (en) 2001-05-22 2010-06-15 Netapp, Inc. System and method for consolidated reporting of characteristics for a group of directories
US7139817B1 (en) 2001-06-12 2006-11-21 Network Appliance, Inc. Managing configuration information for multiple devices
US7945688B1 (en) 2001-06-12 2011-05-17 Netapp, Inc. Methods and apparatus for reducing streaming media data traffic bursts
US6643654B1 (en) 2001-06-25 2003-11-04 Network Appliance, Inc. System and method for representing named data streams within an on-disk structure of a file system
US7469295B1 (en) 2001-06-25 2008-12-23 Network Appliance, Inc. Modified round robin load balancing technique based on IP identifier
US7249150B1 (en) 2001-07-03 2007-07-24 Network Appliance, Inc. System and method for parallelized replay of an NVRAM log in a storage appliance
US7194513B2 (en) * 2001-07-08 2007-03-20 Imran Sharif System and method for using an internet appliance to send/receive digital content files as E-mail attachments
US6944785B2 (en) * 2001-07-23 2005-09-13 Network Appliance, Inc. High-availability cluster virtual server system
US6757695B1 (en) 2001-08-09 2004-06-29 Network Appliance, Inc. System and method for mounting and unmounting storage volumes in a network storage environment
US6851070B1 (en) 2001-08-13 2005-02-01 Network Appliance, Inc. System and method for managing time-limited long-running operations in a data storage system
US6965989B1 (en) 2001-08-14 2005-11-15 Network Appliance, Inc. System and method for fast reboot of a file server
US6920579B1 (en) 2001-08-20 2005-07-19 Network Appliance, Inc. Operator initiated graceful takeover in a node cluster
US7043493B2 (en) * 2001-09-17 2006-05-09 Fujitsu Limited Hierarchical file system and anti-tearing algorithm for a limited-resource computer such as a smart card
US20030149762A1 (en) * 2001-10-05 2003-08-07 Knight Gregory John Storage area network methods and apparatus with history maintenance and removal
US6668336B2 (en) 2001-11-08 2003-12-23 M-Systems Flash Disk Pioneers Ltd. Ruggedized block device driver
US6883114B2 (en) * 2001-11-08 2005-04-19 M-Systems Flash Disk Pioneers Ltd. Block device driver enabling a ruggedized file system
US7346831B1 (en) 2001-11-13 2008-03-18 Network Appliance, Inc. Parity assignment technique for parity declustering in a parity array of a storage system
US6851082B1 (en) 2001-11-13 2005-02-01 Network Appliance, Inc. Concentrated parity technique for handling double failures and enabling storage of more than one parity block per stripe on a storage device of a storage array
US6871317B1 (en) 2001-11-13 2005-03-22 Network Appliance, Inc. Technique for efficiently organizing and distributing parity blocks among storage devices of a storage array
US7730153B1 (en) 2001-12-04 2010-06-01 Netapp, Inc. Efficient use of NVRAM during takeover in a node cluster
US7159080B1 (en) * 2001-12-20 2007-01-02 Network Appliance, Inc. System and method for storing storage operating system data in switch ports
US7146522B1 (en) 2001-12-21 2006-12-05 Network Appliance, Inc. System and method for allocating spare disks in networked storage
US7650412B2 (en) 2001-12-21 2010-01-19 Netapp, Inc. Systems and method of implementing disk ownership in networked storage
US6836832B1 (en) 2001-12-21 2004-12-28 Network Appliance, Inc. System and method for pre-selecting candidate disks based on validity for volume
US6978283B1 (en) * 2001-12-21 2005-12-20 Network Appliance, Inc. File system defragmentation technique via write allocation
US7296068B1 (en) * 2001-12-21 2007-11-13 Network Appliance, Inc. System and method for transfering volume ownership in net-worked storage
US8402346B2 (en) * 2001-12-28 2013-03-19 Netapp, Inc. N-way parity technique for enabling recovery from up to N storage device failures
US7640484B2 (en) * 2001-12-28 2009-12-29 Netapp, Inc. Triple parity technique for enabling efficient recovery from triple failures in a storage array
US7360034B1 (en) * 2001-12-28 2008-04-15 Network Appliance, Inc. Architecture for creating and maintaining virtual filers on a filer
US6895429B2 (en) 2001-12-28 2005-05-17 Network Appliance, Inc. Technique for enabling multiple virtual filers on a single filer to participate in multiple address spaces with overlapping network addresses
US7073115B2 (en) * 2001-12-28 2006-07-04 Network Appliance, Inc. Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
US6993701B2 (en) * 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
US7036043B2 (en) 2001-12-28 2006-04-25 Storage Technology Corporation Data management with virtual recovery mapping and backward moves
US7613984B2 (en) * 2001-12-28 2009-11-03 Netapp, Inc. System and method for symmetric triple parity for failing storage devices
US7206970B1 (en) 2002-02-07 2007-04-17 Network Appliance, Inc. System and method for diagnostics execution and data capture in a storage system using nonvolatile memory
US7562208B1 (en) 2002-02-07 2009-07-14 Network Appliance, Inc. Method and system to quarantine system software and configuration
US7216135B2 (en) 2002-02-15 2007-05-08 International Business Machines Corporation File system for providing access to a snapshot dataset where disk address in the inode is equal to a ditto address for indicating that the disk address is invalid disk address
US6748504B2 (en) 2002-02-15 2004-06-08 International Business Machines Corporation Deferred copy-on-write of a snapshot
US7085785B2 (en) 2002-02-15 2006-08-01 International Business Machines Corporation Writable file system snapshot with ditto address feature
US6829617B2 (en) 2002-02-15 2004-12-07 International Business Machines Corporation Providing a snapshot of a subset of a file system
US7043503B2 (en) 2002-02-15 2006-05-09 International Business Machines Corporation Ditto address indicating true disk address for actual data blocks stored in one of an inode of the file system and subsequent snapshot
US6959310B2 (en) 2002-02-15 2005-10-25 International Business Machines Corporation Generating data set of the first file system by determining a set of changes between data stored in first snapshot of the first file system, and data stored in second snapshot of the first file system
US6836820B1 (en) 2002-02-25 2004-12-28 Network Appliance, Inc. Flexible disabling of disk sets
US6968345B1 (en) 2002-02-27 2005-11-22 Network Appliance, Inc. Technique to enable support for symbolic link access by windows clients
US7389315B1 (en) 2002-02-28 2008-06-17 Network Appliance, Inc. System and method for byte swapping file access data structures
US7039828B1 (en) 2002-02-28 2006-05-02 Network Appliance, Inc. System and method for clustered failover without network support
US6748510B1 (en) 2002-02-28 2004-06-08 Network Appliance, Inc. System and method for verifying disk configuration
US7373364B1 (en) 2002-03-05 2008-05-13 Network Appliance, Inc. System and method for creating a point-in-time restoration of a database file
US7210068B1 (en) 2002-03-06 2007-04-24 Network Appliance, Inc. System and method for multipath I/O support for fibre channel devices
US7143307B1 (en) 2002-03-15 2006-11-28 Network Appliance, Inc. Remote disaster recovery and data migration using virtual appliance migration
US7194519B1 (en) 2002-03-15 2007-03-20 Network Appliance, Inc. System and method for administering a filer having a plurality of virtual filers
US7007046B2 (en) * 2002-03-19 2006-02-28 Network Appliance, Inc. Format for transmission file system information between a source and a destination
US7039663B1 (en) 2002-04-19 2006-05-02 Network Appliance, Inc. System and method for checkpointing and restarting an asynchronous transfer of data between a source and destination snapshot
US7467167B2 (en) * 2002-03-19 2008-12-16 Network Appliance, Inc. System and method for coalescing a plurality of snapshots
DE60334752D1 (de) * 2002-03-19 2010-12-16 Network Appliance Inc System und Verfahren zur Bestimmung und Übertragung von Änderungen in Schnappschüssen
US7475098B2 (en) * 2002-03-19 2009-01-06 Network Appliance, Inc. System and method for managing a plurality of snapshots
US7051050B2 (en) * 2002-03-19 2006-05-23 Netwrok Appliance, Inc. System and method for restoring a single file from a snapshot
US6993539B2 (en) 2002-03-19 2006-01-31 Network Appliance, Inc. System and method for determining changes in two snapshots and for transmitting changes to destination snapshot
US7043485B2 (en) 2002-03-19 2006-05-09 Network Appliance, Inc. System and method for storage of snapshot metadata in a remote file
US7010553B2 (en) 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
US7225204B2 (en) * 2002-03-19 2007-05-29 Network Appliance, Inc. System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping
US7254813B2 (en) * 2002-03-21 2007-08-07 Network Appliance, Inc. Method and apparatus for resource allocation in a raid system
US7200715B2 (en) 2002-03-21 2007-04-03 Network Appliance, Inc. Method for writing contiguous arrays of stripes in a RAID storage system using mapped block writes
US7437727B2 (en) * 2002-03-21 2008-10-14 Network Appliance, Inc. Method and apparatus for runtime resource deadlock avoidance in a raid system
US7539991B2 (en) 2002-03-21 2009-05-26 Netapp, Inc. Method and apparatus for decomposing I/O tasks in a raid system
US6976189B1 (en) 2002-03-22 2005-12-13 Network Appliance, Inc. Persistent context-based behavior injection or testing of a computing system
US7072910B2 (en) * 2002-03-22 2006-07-04 Network Appliance, Inc. File folding technique
US7418500B1 (en) 2002-03-25 2008-08-26 Network Appliance, Inc. Mechanism for controlled sharing of files in a clustered application environment
US7155458B1 (en) 2002-04-05 2006-12-26 Network Appliance, Inc. Mechanism for distributed atomic creation of client-private files
US7113945B1 (en) * 2002-04-10 2006-09-26 Emc Corporation Virtual storage device that uses volatile memory
US7340489B2 (en) * 2002-04-10 2008-03-04 Emc Corporation Virtual storage devices
US7464125B1 (en) * 2002-04-15 2008-12-09 Ibrix Inc. Checking the validity of blocks and backup duplicates of blocks during block reads
US7707263B1 (en) 2002-05-03 2010-04-27 Netapp, Inc. System and method for associating a network address with a storage device
US7181581B2 (en) * 2002-05-09 2007-02-20 Xiotech Corporation Method and apparatus for mirroring data stored in a mass storage system
JP2003330782A (ja) * 2002-05-10 2003-11-21 Hitachi Ltd 計算機システム
US7546364B2 (en) * 2002-05-16 2009-06-09 Emc Corporation Replication of remote copy data for internet protocol (IP) transmission
US6976146B1 (en) 2002-05-21 2005-12-13 Network Appliance, Inc. System and method for emulating block appended checksums on storage devices by sector stealing
US6857001B2 (en) 2002-06-07 2005-02-15 Network Appliance, Inc. Multiple concurrent active file systems
US7783787B1 (en) 2002-06-13 2010-08-24 Netapp, Inc. System and method for reprioritizing high-latency input/output operations
US7024586B2 (en) 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7386546B1 (en) 2002-07-09 2008-06-10 Network Appliance, Inc. Metadirectory namespace and method for use of the same
US7844577B2 (en) 2002-07-15 2010-11-30 Symantec Corporation System and method for maintaining a backup storage system for a computer system
AU2003265335A1 (en) * 2002-07-30 2004-02-16 Deepfile Corporation Method and apparatus for managing file systems and file-based data storage
US8417678B2 (en) * 2002-07-30 2013-04-09 Storediq, Inc. System, method and apparatus for enterprise policy management
US7801894B1 (en) 2004-10-28 2010-09-21 Stored IQ Method and apparatus for harvesting file system metadata
US8612404B2 (en) * 2002-07-30 2013-12-17 Stored Iq, Inc. Harvesting file system metsdata
US6792518B2 (en) 2002-08-06 2004-09-14 Emc Corporation Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies
US6957362B2 (en) * 2002-08-06 2005-10-18 Emc Corporation Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US6934822B2 (en) * 2002-08-06 2005-08-23 Emc Corporation Organization of multiple snapshot copies in a data storage system
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7873700B2 (en) * 2002-08-09 2011-01-18 Netapp, Inc. Multi-protocol storage appliance that provides integrated support for file and block access protocols
US7711539B1 (en) 2002-08-12 2010-05-04 Netapp, Inc. System and method for emulating SCSI reservations using network file access protocols
US6983296B1 (en) 2002-08-12 2006-01-03 Network Appliance, Inc. System and method for tracking modified files in a file system
US7165156B1 (en) 2002-09-06 2007-01-16 3Pardata, Inc. Read-write snapshots
US7100089B1 (en) 2002-09-06 2006-08-29 3Pardata, Inc. Determining differences between snapshots
US7191304B1 (en) 2002-09-06 2007-03-13 3Pardata, Inc. Efficient and reliable virtual volume mapping
US7743031B1 (en) 2002-09-06 2010-06-22 3Par, Inc. Time and space efficient technique for creating virtual volume copies
US6938134B2 (en) * 2002-09-19 2005-08-30 Sun Microsystems, Inc. System for storing block allocation information on multiple snapshots
US7426576B1 (en) 2002-09-20 2008-09-16 Network Appliance, Inc. Highly available DNS resolver and method for use of the same
US7103597B2 (en) * 2002-10-03 2006-09-05 Mcgoveran David O Adaptive transaction manager for complex transactions and business process
US7707184B1 (en) 2002-10-09 2010-04-27 Netapp, Inc. System and method for snapshot full backup and hard recovery of a database
US7340486B1 (en) * 2002-10-10 2008-03-04 Network Appliance, Inc. System and method for file system snapshot of a virtual logical disk
US7152069B1 (en) 2002-10-15 2006-12-19 Network Appliance, Inc. Zero copy writes through use of mbufs
US7171452B1 (en) 2002-10-31 2007-01-30 Network Appliance, Inc. System and method for monitoring cluster partner boot status over a cluster interconnect
US7457822B1 (en) * 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
JP4199993B2 (ja) * 2002-11-27 2008-12-24 株式会社日立製作所 スナップショット取得方法
US7284016B2 (en) 2002-12-03 2007-10-16 Emc Corporation Client-server protocol for directory access of snapshot file systems in a storage system
US7069307B1 (en) 2002-12-20 2006-06-27 Network Appliance, Inc. System and method for inband management of a virtual disk
US8041761B1 (en) 2002-12-23 2011-10-18 Netapp, Inc. Virtual filer and IP space based IT configuration transitioning framework
US8015266B1 (en) * 2003-02-07 2011-09-06 Netapp, Inc. System and method for providing persistent node names
US7809693B2 (en) * 2003-02-10 2010-10-05 Netapp, Inc. System and method for restoring data on demand for instant volume restoration
US7197490B1 (en) 2003-02-10 2007-03-27 Network Appliance, Inc. System and method for lazy-copy sub-volume load balancing in a network attached storage pool
US7991905B1 (en) 2003-02-12 2011-08-02 Netapp, Inc. Adaptively selecting timeouts for streaming media
US7231489B1 (en) 2003-03-03 2007-06-12 Network Appliance, Inc. System and method for coordinating cluster state information
US7117303B1 (en) 2003-03-14 2006-10-03 Network Appliance, Inc. Efficient, robust file handle invalidation
US7155460B2 (en) * 2003-03-18 2006-12-26 Network Appliance, Inc. Write-once-read-many storage system and method for implementing the same
US7266654B2 (en) * 2003-03-18 2007-09-04 Hitachi, Ltd. Storage system, server apparatus, and method for creating a plurality of snapshots
JP4292882B2 (ja) 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
US7231409B1 (en) * 2003-03-21 2007-06-12 Network Appliance, Inc. System and method for reallocating blocks in checkpointing bitmap-based file systems
US7328364B1 (en) 2003-03-21 2008-02-05 Network Appliance, Inc. Technique for coherent suspension of I/O operations in a RAID subsystem
US7143235B1 (en) 2003-03-21 2006-11-28 Network Appliance, Inc. Proposed configuration management behaviors in a raid subsystem
US7111021B1 (en) 2003-03-21 2006-09-19 Network Appliance, Inc. System and method for efficient space accounting in a file system with snapshots
US7111194B1 (en) 2003-03-21 2006-09-19 Network Appliance, Inc. Mirror split brain avoidance
US7664913B2 (en) * 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7111147B1 (en) * 2003-03-21 2006-09-19 Network Appliance, Inc. Location-independent RAID group virtual block management
US7249286B1 (en) 2003-03-24 2007-07-24 Network Appliance, Inc. System and method for automatically diagnosing protocol errors from packet traces
US7457982B2 (en) * 2003-04-11 2008-11-25 Network Appliance, Inc. Writable virtual disk of read-only snapshot file objects
US7383378B1 (en) * 2003-04-11 2008-06-03 Network Appliance, Inc. System and method for supporting file and block access to storage object on a storage appliance
US7191437B1 (en) 2003-04-23 2007-03-13 Network Appliance, Inc. System and method for reliable disk firmware update within a networked storage fabric
US7293203B1 (en) 2003-04-23 2007-11-06 Network Appliance, Inc. System and method for logging disk failure analysis in disk nonvolatile memory
US7260737B1 (en) 2003-04-23 2007-08-21 Network Appliance, Inc. System and method for transport-level failover of FCP devices in a cluster
US7739543B1 (en) 2003-04-23 2010-06-15 Netapp, Inc. System and method for transport-level failover for loosely coupled iSCSI target devices
US7293152B1 (en) 2003-04-23 2007-11-06 Network Appliance, Inc. Consistent logical naming of initiator groups
US7437530B1 (en) 2003-04-24 2008-10-14 Network Appliance, Inc. System and method for mapping file block numbers to logical block addresses
US7275179B1 (en) 2003-04-24 2007-09-25 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
US7577692B1 (en) 2003-04-25 2009-08-18 Netapp, Inc. System and method for reserving space to guarantee file writability in a file system supporting persistent consistency point images
US7437523B1 (en) 2003-04-25 2008-10-14 Network Appliance, Inc. System and method for on-the-fly file folding in a replicated storage system
US7603553B1 (en) 2003-04-25 2009-10-13 Netapp, Inc. System and method to make file handles opaque to clients
US7330862B1 (en) 2003-04-25 2008-02-12 Network Appliance, Inc. Zero copy write datapath
US7181439B1 (en) * 2003-04-25 2007-02-20 Network Appliance, Inc. System and method for transparently accessing a virtual disk using a file-based protocol
US7296043B2 (en) * 2003-05-30 2007-11-13 Microsoft Corporation Memory file size adjustment
US7136974B2 (en) * 2003-06-19 2006-11-14 Pillar Data Systems, Inc. Systems and methods of data migration in snapshot operations
US7451168B1 (en) 2003-06-30 2008-11-11 Data Domain, Inc. Incremental garbage collection of data in a secondary storage
US7424498B1 (en) 2003-06-30 2008-09-09 Data Domain, Inc. Probabilistic summary data structure based encoding for garbage collection
US7379954B2 (en) * 2003-07-08 2008-05-27 Pillar Data Systems, Inc. Management of file system snapshots
US7836029B2 (en) 2003-07-08 2010-11-16 Pillar Data Systems, Inc. Systems and methods of searching for and determining modified blocks in a file system
US6959313B2 (en) * 2003-07-08 2005-10-25 Pillar Data Systems, Inc. Snapshots of file systems in data storage systems
US7756844B2 (en) * 2003-07-08 2010-07-13 Pillar Data Systems, Inc. Methods of determining and searching for modified blocks in a file system
US20050010592A1 (en) * 2003-07-08 2005-01-13 John Guthrie Method and system for taking a data snapshot
US7523201B2 (en) * 2003-07-14 2009-04-21 Network Appliance, Inc. System and method for optimized lun masking
US7593996B2 (en) 2003-07-18 2009-09-22 Netapp, Inc. System and method for establishing a peer connection using reliable RDMA primitives
US7716323B2 (en) * 2003-07-18 2010-05-11 Netapp, Inc. System and method for reliable peer communication in a clustered storage system
US7246211B1 (en) 2003-07-22 2007-07-17 Swsoft Holdings, Ltd. System and method for using file system snapshots for online data backup
US8856927B1 (en) 2003-07-22 2014-10-07 Acronis International Gmbh System and method for using snapshots for rootkit detection
US8074035B1 (en) 2003-07-22 2011-12-06 Acronis, Inc. System and method for using multivolume snapshots for online data backup
US7047380B2 (en) 2003-07-22 2006-05-16 Acronis Inc. System and method for using file system snapshots for online data backup
US8473693B1 (en) 2003-07-29 2013-06-25 Netapp, Inc. Managing ownership of memory buffers (mbufs)
US7373640B1 (en) 2003-07-31 2008-05-13 Network Appliance, Inc. Technique for dynamically restricting thread concurrency without rewriting thread code
US7055014B1 (en) 2003-08-11 2006-05-30 Network Applicance, Inc. User interface system for a multi-protocol storage appliance
US7953819B2 (en) * 2003-08-22 2011-05-31 Emc Corporation Multi-protocol sharable virtual storage objects
US7555504B2 (en) * 2003-09-23 2009-06-30 Emc Corporation Maintenance of a file version set including read-only and read-write snapshot copies of a production file
US7865485B2 (en) * 2003-09-23 2011-01-04 Emc Corporation Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server
US7035881B2 (en) * 2003-09-23 2006-04-25 Emc Corporation Organization of read-write snapshot copies in a data storage system
US7590807B2 (en) 2003-11-03 2009-09-15 Netapp, Inc. System and method for record retention date in a write once read many storage system
US7783611B1 (en) * 2003-11-10 2010-08-24 Netapp, Inc. System and method for managing file metadata during consistency points
US7721062B1 (en) 2003-11-10 2010-05-18 Netapp, Inc. Method for detecting leaked buffer writes across file system consistency points
US7401093B1 (en) 2003-11-10 2008-07-15 Network Appliance, Inc. System and method for managing file data during consistency points
US7225210B2 (en) * 2003-11-20 2007-05-29 Overland Storage, Inc. Block level data snapshot system and method
US7647451B1 (en) 2003-11-24 2010-01-12 Netapp, Inc. Data placement technique for striping data containers across volumes of a storage system cluster
US7428558B2 (en) * 2003-11-24 2008-09-23 Emc Corporation Persistent restore of virtual devices
US7333993B2 (en) * 2003-11-25 2008-02-19 Network Appliance, Inc. Adaptive file readahead technique for multiple read streams
US7243089B2 (en) * 2003-11-25 2007-07-10 International Business Machines Corporation System, method, and service for federating and optionally migrating a local file system into a distributed file system while preserving local access to existing data
US20070297349A1 (en) * 2003-11-28 2007-12-27 Ofir Arkin Method and System for Collecting Information Relating to a Communication Network
US7409497B1 (en) 2003-12-02 2008-08-05 Network Appliance, Inc. System and method for efficiently guaranteeing data consistency to clients of a storage system cluster
US7698289B2 (en) * 2003-12-02 2010-04-13 Netapp, Inc. Storage system architecture for striping data container content across volumes of a cluster
EP1695220B1 (en) 2003-12-19 2013-02-20 Network Appliance, Inc. System and method for supporting asynchronous data replication with very short update intervals
JP4354268B2 (ja) * 2003-12-22 2009-10-28 株式会社河合楽器製作所 信号処理装置
US7478101B1 (en) 2003-12-23 2009-01-13 Networks Appliance, Inc. System-independent data format in a mirrored storage system environment and method for using the same
US7921110B1 (en) 2003-12-23 2011-04-05 Netapp, Inc. System and method for comparing data sets
US7162662B1 (en) * 2003-12-23 2007-01-09 Network Appliance, Inc. System and method for fault-tolerant synchronization of replica updates for fixed persistent consistency point image consumption
US7437360B1 (en) 2003-12-23 2008-10-14 Network Appliance, Inc. System and method for communication and synchronization of application-level dependencies and ownership of persistent consistency point images
US7249227B1 (en) * 2003-12-29 2007-07-24 Network Appliance, Inc. System and method for zero copy block protocol write operations
US7039661B1 (en) 2003-12-29 2006-05-02 Veritas Operating Corporation Coordinated dirty block tracking
US7487381B1 (en) 2004-01-08 2009-02-03 Network Appliance, Inc. Technique for verifying a configuration of a storage environment
US7631148B2 (en) * 2004-01-08 2009-12-08 Netapp, Inc. Adaptive file readahead based on multiple factors
US7529836B1 (en) 2004-01-08 2009-05-05 Network Appliance, Inc. Technique for throttling data access requests
US7340639B1 (en) 2004-01-08 2008-03-04 Network Appliance, Inc. System and method for proxying data access commands in a clustered storage system
US7321982B2 (en) 2004-01-26 2008-01-22 Network Appliance, Inc. System and method for takeover of partner resources in conjunction with coredump
US7266717B2 (en) 2004-01-26 2007-09-04 Network Appliance, Inc. System and method of selection and communication of a disk for storage of a coredump
US8171480B2 (en) 2004-01-27 2012-05-01 Network Appliance, Inc. Method and apparatus for allocating shared resources to process domains according to current processor utilization in a shared resource processor
US7293195B1 (en) 2004-01-29 2007-11-06 Network Appliance, Inc. System and method for coordinated bringup of a storage appliance in a cluster configuration
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US8041888B2 (en) 2004-02-05 2011-10-18 Netapp, Inc. System and method for LUN cloning
US7440966B2 (en) * 2004-02-12 2008-10-21 International Business Machines Corporation Method and apparatus for file system snapshot persistence
US7313720B1 (en) 2004-02-12 2007-12-25 Network Appliance, Inc. Technique for increasing the number of persistent consistency point images in a file system
US7966293B1 (en) 2004-03-09 2011-06-21 Netapp, Inc. System and method for indexing a backup using persistent consistency point images
US7428560B1 (en) 2004-03-12 2008-09-23 Sun Microsystems, Inc. Age segregation for garbage collector
US7340494B1 (en) 2004-03-12 2008-03-04 Sun Microsystems, Inc. Garbage-first garbage collection
US7599951B1 (en) 2004-03-25 2009-10-06 Emc Corporation Continuous data backup
US8086572B2 (en) * 2004-03-30 2011-12-27 International Business Machines Corporation Method, system, and program for restoring data to a file
US8230085B2 (en) * 2004-04-12 2012-07-24 Netapp, Inc. System and method for supporting block-based protocols on a virtual storage appliance executing within a physical storage appliance
US7603568B1 (en) 2004-04-21 2009-10-13 Sun Microsystems, Inc. Method and apparatus for self-validating checksums in a file system
US7415653B1 (en) 2004-04-21 2008-08-19 Sun Microsystems, Inc. Method and apparatus for vectored block-level checksum for file system data integrity
US7424574B1 (en) 2004-04-21 2008-09-09 Sun Microsystems, Inc. Method and apparatus for dynamic striping
US8621029B1 (en) 2004-04-28 2013-12-31 Netapp, Inc. System and method for providing remote direct memory access over a transport medium that does not natively support remote direct memory access operations
US7328144B1 (en) 2004-04-28 2008-02-05 Network Appliance, Inc. System and method for simulating a software protocol stack using an emulated protocol over an emulated network
US7409511B2 (en) * 2004-04-30 2008-08-05 Network Appliance, Inc. Cloning technique for efficiently creating a copy of a volume in a storage system
US7409494B2 (en) 2004-04-30 2008-08-05 Network Appliance, Inc. Extension of write anywhere file system layout
US7430571B2 (en) * 2004-04-30 2008-09-30 Network Appliance, Inc. Extension of write anywhere file layout write allocation
US7334095B1 (en) * 2004-04-30 2008-02-19 Network Appliance, Inc. Writable clone of read-only volume
US7251663B1 (en) 2004-04-30 2007-07-31 Network Appliance, Inc. Method and apparatus for determining if stored memory range overlaps key memory ranges where the memory address space is organized in a tree form and partition elements for storing key memory ranges
US7334094B2 (en) * 2004-04-30 2008-02-19 Network Appliance, Inc. Online clone volume splitting technique
US8996455B2 (en) * 2004-04-30 2015-03-31 Netapp, Inc. System and method for configuring a storage network utilizing a multi-protocol storage appliance
US7526622B1 (en) 2004-05-26 2009-04-28 Sun Microsystems, Inc. Method and system for detecting and correcting data errors using checksums and replication
US7281188B1 (en) 2004-05-26 2007-10-09 Sun Microsystems, Inc. Method and system for detecting and correcting data errors using data permutations
US7412450B1 (en) 2004-05-26 2008-08-12 Sun Microsystems, Inc. Method and apparatus for identifying tampering of data in a file system
US7496586B1 (en) 2004-05-26 2009-02-24 Sun Microsystems, Inc. Method and apparatus for compressing data in a file system
US7562101B1 (en) * 2004-05-28 2009-07-14 Network Appliance, Inc. Block allocation testing
US7533225B1 (en) 2004-08-17 2009-05-12 Sun Microsystems, Inc. Method and apparatus for enabling adaptive endianness
US7437528B1 (en) 2004-08-17 2008-10-14 Sun Microsystems, Inc. Gang blocks
US7194595B1 (en) 2004-09-27 2007-03-20 Network Appliance, Inc. Technique for translating a hybrid virtual volume file system into a pure virtual file system data stream
US20060075281A1 (en) * 2004-09-27 2006-04-06 Kimmel Jeffrey S Use of application-level context information to detect corrupted data in a storage system
US7243207B1 (en) 2004-09-27 2007-07-10 Network Appliance, Inc. Technique for translating a pure virtual file system data stream into a hybrid virtual volume
US7730277B1 (en) 2004-10-25 2010-06-01 Netapp, Inc. System and method for using pvbn placeholders in a flexible volume of a storage system
US7984085B1 (en) * 2004-10-25 2011-07-19 Network Appliance, Inc. Rate of change of data using on-the-fly accounting
US7752325B1 (en) 2004-10-26 2010-07-06 Netapp, Inc. Method and apparatus to efficiently transmit streaming media
US7844582B1 (en) 2004-10-28 2010-11-30 Stored IQ System and method for involving users in object management
US8510331B1 (en) 2004-10-28 2013-08-13 Storediq, Inc. System and method for a desktop agent for use in managing file systems
US8959299B2 (en) 2004-11-15 2015-02-17 Commvault Systems, Inc. Using a snapshot as a data source
US7636744B1 (en) 2004-11-17 2009-12-22 Netapp, Inc. System and method for flexible space reservations in a file system supporting persistent consistency point images
US7523286B2 (en) * 2004-11-19 2009-04-21 Network Appliance, Inc. System and method for real-time balancing of user workload across multiple storage systems with shared back end storage
KR100694069B1 (ko) * 2004-11-29 2007-03-12 삼성전자주식회사 상이한 크기를 가지는 복수 개의 데이터 블록들을포함하는 저장 장치 및 이를 이용한 파일 관리 방법 및이를 포함하는 인쇄 장치
US20060143412A1 (en) * 2004-12-28 2006-06-29 Philippe Armangau Snapshot copy facility maintaining read performance and write performance
US8180855B2 (en) * 2005-01-27 2012-05-15 Netapp, Inc. Coordinated shared storage architecture
US8019842B1 (en) 2005-01-27 2011-09-13 Netapp, Inc. System and method for distributing enclosure services data to coordinate shared storage
US7424497B1 (en) * 2005-01-27 2008-09-09 Network Appliance, Inc. Technique for accelerating the creation of a point in time prepresentation of a virtual file system
JP2006209636A (ja) * 2005-01-31 2006-08-10 Hitachi Ltd スナップショット維持方法
US7574464B2 (en) * 2005-02-14 2009-08-11 Netapp, Inc. System and method for enabling a storage system to support multiple volume formats simultaneously
US7747836B2 (en) 2005-03-08 2010-06-29 Netapp, Inc. Integrated storage virtualization and switch system
US7757056B1 (en) 2005-03-16 2010-07-13 Netapp, Inc. System and method for efficiently calculating storage required to split a clone volume
WO2006116203A1 (en) 2005-04-25 2006-11-02 Network Appliance, Inc. System and method for caching network file systems
US7689609B2 (en) * 2005-04-25 2010-03-30 Netapp, Inc. Architecture for supporting sparse volumes
US8073899B2 (en) * 2005-04-29 2011-12-06 Netapp, Inc. System and method for proxying data access commands in a storage system cluster
US8224777B2 (en) * 2005-04-29 2012-07-17 Netapp, Inc. System and method for generating consistent images of a set of data objects
US7743210B1 (en) 2005-04-29 2010-06-22 Netapp, Inc. System and method for implementing atomic cross-stripe write operations in a striped volume set
US7904649B2 (en) 2005-04-29 2011-03-08 Netapp, Inc. System and method for restriping data across a plurality of volumes
US7617370B2 (en) * 2005-04-29 2009-11-10 Netapp, Inc. Data allocation within a storage system architecture
US7962689B1 (en) 2005-04-29 2011-06-14 Netapp, Inc. System and method for performing transactional processing in a striped volume set
US7698334B2 (en) * 2005-04-29 2010-04-13 Netapp, Inc. System and method for multi-tiered meta-data caching and distribution in a clustered computer environment
US7698501B1 (en) 2005-04-29 2010-04-13 Netapp, Inc. System and method for utilizing sparse data containers in a striped volume set
US7496678B2 (en) * 2005-05-11 2009-02-24 Netapp, Inc. Method and system for unified caching of media content
US7634760B1 (en) 2005-05-23 2009-12-15 Netapp, Inc. System and method for remote execution of a debugging utility using a remote management module
US7613743B1 (en) * 2005-06-10 2009-11-03 Apple Inc. Methods and apparatuses for data protection
US7739318B2 (en) * 2005-06-20 2010-06-15 Netapp, Inc. System and method for maintaining mappings from data containers to their parent directories
JP4799936B2 (ja) * 2005-07-11 2011-10-26 株式会社日立製作所 条件別スナップショット取得方法及びシステム
US7516285B1 (en) 2005-07-22 2009-04-07 Network Appliance, Inc. Server side API for fencing cluster hosts via export access rights
US20070022314A1 (en) * 2005-07-22 2007-01-25 Pranoop Erasani Architecture and method for configuring a simplified cluster over a network with fencing and quorum
US7653682B2 (en) * 2005-07-22 2010-01-26 Netapp, Inc. Client failure fencing mechanism for fencing network file system data in a host-cluster environment
US7657571B2 (en) * 2005-08-30 2010-02-02 Microsoft Corporation Electronic data snapshot generator
US7426618B2 (en) 2005-09-06 2008-09-16 Dot Hill Systems Corp. Snapshot restore method and apparatus
US20070061699A1 (en) * 2005-09-09 2007-03-15 Microsoft Corporation Named object view of electronic data report
US20110145689A1 (en) * 2005-09-09 2011-06-16 Microsoft Corporation Named object view over multiple files
US7650366B1 (en) * 2005-09-09 2010-01-19 Netapp, Inc. System and method for generating a crash consistent persistent consistency point image set
US7805600B2 (en) * 2005-09-15 2010-09-28 Sas Institute Inc. Computer-implemented systems and methods for managing images
US7707193B2 (en) * 2005-09-22 2010-04-27 Netapp, Inc. System and method for verifying and restoring the consistency of inode to pathname mappings in a filesystem
US20070088917A1 (en) * 2005-10-14 2007-04-19 Ranaweera Samantha L System and method for creating and maintaining a logical serial attached SCSI communication channel among a plurality of storage systems
US8347293B2 (en) 2005-10-20 2013-01-01 Network Appliance, Inc. Mutual exclusion domains to perform file system processes on stripes
US8484365B1 (en) 2005-10-20 2013-07-09 Netapp, Inc. System and method for providing a unified iSCSI target with a plurality of loosely coupled iSCSI front ends
US7467276B1 (en) 2005-10-25 2008-12-16 Network Appliance, Inc. System and method for automatic root volume creation
US7664791B1 (en) 2005-10-26 2010-02-16 Netapp, Inc. Concurrent creation of persistent point-in-time images of multiple independent file systems
EP1949214B1 (en) * 2005-10-28 2012-12-19 Network Appliance, Inc. System and method for optimizing multi-pathing support in a distributed storage system environment
US7325111B1 (en) * 2005-11-01 2008-01-29 Network Appliance, Inc. Method and system for single pass volume scanning for multiple destination mirroring
US7376796B2 (en) 2005-11-01 2008-05-20 Network Appliance, Inc. Lightweight coherency control protocol for clustered storage system
US7730258B1 (en) 2005-11-01 2010-06-01 Netapp, Inc. System and method for managing hard and soft lock state information in a distributed storage system environment
US8255425B1 (en) 2005-11-01 2012-08-28 Netapp, Inc. System and method for event notification using an event routing table
US8938594B2 (en) * 2005-11-04 2015-01-20 Oracle America, Inc. Method and system for metadata-based resilvering
US8495010B2 (en) * 2005-11-04 2013-07-23 Oracle America, Inc. Method and system for adaptive metadata replication
US7716519B2 (en) * 2005-11-04 2010-05-11 Oracle America, Inc. Method and system for repairing partially damaged blocks
US7480684B2 (en) * 2005-11-04 2009-01-20 Sun Microsystems, Inc. Method and system for object allocation using fill counts
US8549051B2 (en) * 2005-11-04 2013-10-01 Oracle America, Inc. Unlimited file system snapshots and clones
US7877554B2 (en) * 2005-11-04 2011-01-25 Oracle America, Inc. Method and system for block reallocation
US7716445B2 (en) * 2005-11-04 2010-05-11 Oracle America, Inc. Method and system for storing a sparse file using fill counts
US7743225B2 (en) * 2005-11-04 2010-06-22 Oracle America, Inc. Ditto blocks
US20070112895A1 (en) * 2005-11-04 2007-05-17 Sun Microsystems, Inc. Block-based incremental backup
US8635190B2 (en) * 2005-11-04 2014-01-21 Oracle America, Inc. Method and system for pruned resilvering using a dirty time log
US7873799B2 (en) * 2005-11-04 2011-01-18 Oracle America, Inc. Method and system supporting per-file and per-block replication
US7865673B2 (en) * 2005-11-04 2011-01-04 Oracle America, Inc. Multiple replication levels with pooled devices
US7490096B2 (en) * 2005-11-04 2009-02-10 Sun Microsystems, Inc. Automatic intent log testing
US7899989B2 (en) * 2005-11-04 2011-03-01 Oracle America, Inc. Method and system for using a block allocation policy
US7925827B2 (en) * 2005-11-04 2011-04-12 Oracle America, Inc. Method and system for dirty time logging
US7930495B2 (en) * 2005-11-04 2011-04-19 Oracle America, Inc. Method and system for dirty time log directed resilvering
US7596739B2 (en) * 2005-11-04 2009-09-29 Sun Microsystems, Inc. Method and system for data replication
US7689877B2 (en) * 2005-11-04 2010-03-30 Sun Microsystems, Inc. Method and system using checksums to repair data
US20070106868A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Method and system for latency-directed block allocation
US7668884B2 (en) 2005-11-28 2010-02-23 Commvault Systems, Inc. Systems and methods for classifying and transferring information in a storage network
US7797570B2 (en) 2005-11-29 2010-09-14 Netapp, Inc. System and method for failover of iSCSI target portal groups in a cluster environment
US8549252B2 (en) * 2005-12-13 2013-10-01 Emc Corporation File based volumes and file systems
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7464116B2 (en) * 2005-12-28 2008-12-09 Network Appliance, Inc. Method and apparatus for cloning filesystems across computing systems
US7693864B1 (en) 2006-01-03 2010-04-06 Netapp, Inc. System and method for quickly determining changed metadata using persistent consistency point image differencing
US7725436B1 (en) 2006-01-12 2010-05-25 Network Appliance, Inc, Method and system for reducing the number of read-only, persistent point-in-time images on a storage server
US7734603B1 (en) 2006-01-26 2010-06-08 Netapp, Inc. Content addressable storage array element
US8560503B1 (en) 2006-01-26 2013-10-15 Netapp, Inc. Content addressable storage system
EP1816563B1 (en) * 2006-01-26 2016-04-27 Infortrend Technology, Inc. Method of managing data snapshot images in a storage system
US8990153B2 (en) 2006-02-07 2015-03-24 Dot Hill Systems Corporation Pull data replication model
US7472242B1 (en) 2006-02-14 2008-12-30 Network Appliance, Inc. Eliminating duplicate blocks during backup writes
US7788456B1 (en) 2006-02-16 2010-08-31 Network Appliance, Inc. Use of data images to allow release of unneeded data storage
US7912815B1 (en) 2006-03-01 2011-03-22 Netapp, Inc. Method and system of automatically monitoring a storage server
US7734951B1 (en) 2006-03-20 2010-06-08 Netapp, Inc. System and method for data protection management in a logical namespace of a storage system environment
US8285817B1 (en) 2006-03-20 2012-10-09 Netapp, Inc. Migration engine for use in a logical namespace of a storage system environment
US7590660B1 (en) 2006-03-21 2009-09-15 Network Appliance, Inc. Method and system for efficient database cloning
US7926049B1 (en) 2006-03-23 2011-04-12 Netapp, Inc. System and method for determining differences between software configurations
US7565519B1 (en) 2006-03-23 2009-07-21 Netapp, Inc. System and method for automatically upgrading/reverting configurations across a plurality of product release lines
US7783850B2 (en) 2006-03-28 2010-08-24 Dot Hill Systems Corporation Method and apparatus for master volume access during volume copy
US8260831B2 (en) * 2006-03-31 2012-09-04 Netapp, Inc. System and method for implementing a flexible storage manager with threshold control
US20070233868A1 (en) * 2006-03-31 2007-10-04 Tyrrell John C System and method for intelligent provisioning of storage across a plurality of storage systems
US7836020B1 (en) * 2006-04-03 2010-11-16 Network Appliance, Inc. Method and apparatus to improve server performance associated with takeover and giveback procedures
US8090908B1 (en) 2006-04-26 2012-01-03 Netapp, Inc. Single nodename cluster system for fibre channel
US8788685B1 (en) 2006-04-27 2014-07-22 Netapp, Inc. System and method for testing multi-protocol storage systems
US8131667B1 (en) 2006-04-28 2012-03-06 Netapp, Inc. System and method for generating synthetic clients
US7734666B2 (en) * 2006-04-28 2010-06-08 Sap Ag Method and system for inspecting memory leaks and analyzing contents of garbage collection files
US7716420B2 (en) 2006-04-28 2010-05-11 Network Appliance, Inc. Methods of converting traditional volumes into flexible volumes
US7769723B2 (en) * 2006-04-28 2010-08-03 Netapp, Inc. System and method for providing continuous data protection
US7464238B1 (en) 2006-04-28 2008-12-09 Network Appliance, Inc. System and method for verifying the consistency of mirrored data sets
US8793289B2 (en) * 2006-04-28 2014-07-29 Sap Ag Method and system for detecting memory leaks and copying garbage collection files
US8229979B2 (en) * 2006-04-28 2012-07-24 Sap Ag Method and system for inspecting memory leaks
US7840969B2 (en) * 2006-04-28 2010-11-23 Netapp, Inc. System and method for management of jobs in a cluster environment
US8165221B2 (en) * 2006-04-28 2012-04-24 Netapp, Inc. System and method for sampling based elimination of duplicate data
US9026495B1 (en) 2006-05-26 2015-05-05 Netapp, Inc. System and method for creating and accessing a host-accessible storage entity
US7613750B2 (en) * 2006-05-29 2009-11-03 Microsoft Corporation Creating frequent application-consistent backups efficiently
US7783686B2 (en) * 2006-06-16 2010-08-24 Microsoft Corporation Application program interface to manage media files
US7603387B2 (en) * 2006-06-16 2009-10-13 Microsoft Corporation Techniques to manage media files
US7558913B2 (en) * 2006-06-20 2009-07-07 Microsoft Corporation Atomic commit of cache transfer with staging area
US7844584B1 (en) 2006-06-23 2010-11-30 Netapp, Inc. System and method for persistently storing lock state information
US7921077B2 (en) * 2006-06-29 2011-04-05 Netapp, Inc. System and method for managing data deduplication of storage systems utilizing persistent consistency point images
US8412682B2 (en) 2006-06-29 2013-04-02 Netapp, Inc. System and method for retrieving and using block fingerprints for data deduplication
GB2439578B (en) 2006-06-30 2011-11-09 Data Equation Ltd Data processing
GB2439752B (en) * 2006-06-30 2011-11-02 Data Equation Ltd Storing and Modifying Data
GB2439576B (en) 2006-06-30 2011-05-04 Data Equation Ltd Storing related data fragments in the same block
GB2440357B (en) 2006-06-30 2011-12-07 Data Equation Ltd Data processing
GB2439577B (en) 2006-06-30 2011-12-14 Data Equation Ltd Data processing
US8010509B1 (en) 2006-06-30 2011-08-30 Netapp, Inc. System and method for verifying and correcting the consistency of mirrored data sets
US7587563B1 (en) 2006-07-11 2009-09-08 Network Appliance, Inc. Method and system to make a read-only file system appear to be writeable
US7809688B2 (en) * 2006-08-04 2010-10-05 Apple Inc. Managing backup of content
US7853566B2 (en) 2006-08-04 2010-12-14 Apple Inc. Navigation of electronic backups
US8166415B2 (en) 2006-08-04 2012-04-24 Apple Inc. User interface for backup management
US7809687B2 (en) * 2006-08-04 2010-10-05 Apple Inc. Searching a backup archive
US8311988B2 (en) 2006-08-04 2012-11-13 Apple Inc. Consistent back up of electronic information
US7853567B2 (en) * 2006-08-04 2010-12-14 Apple Inc. Conflict resolution in recovery of electronic data
US8370853B2 (en) 2006-08-04 2013-02-05 Apple Inc. Event notification management
US9009115B2 (en) 2006-08-04 2015-04-14 Apple Inc. Restoring electronic information
US7856424B2 (en) 2006-08-04 2010-12-21 Apple Inc. User interface for backup management
US7860839B2 (en) 2006-08-04 2010-12-28 Apple Inc. Application-based backup-restore of electronic information
US7747584B1 (en) 2006-08-22 2010-06-29 Netapp, Inc. System and method for enabling de-duplication in a storage system architecture
US7979701B1 (en) 2006-09-15 2011-07-12 Netapp, Inc. Cross mapping graphical interface to show encryption relationships between hosts and storage devices
US7739546B1 (en) 2006-10-20 2010-06-15 Netapp, Inc. System and method for storing and retrieving file system log information in a clustered computer system
US7783847B2 (en) 2006-10-31 2010-08-24 Oracle America Inc. Method and system for reallocating blocks in a storage pool
US7840657B2 (en) * 2006-10-31 2010-11-23 Oracle America, Inc. Method and apparatus for power-managing storage devices in a storage pool
US7827366B1 (en) 2006-10-31 2010-11-02 Network Appliance, Inc. Method and system for providing continuous and long-term data protection for a dataset in a storage system
US7685178B2 (en) 2006-10-31 2010-03-23 Netapp, Inc. System and method for examining client generated content stored on a data container exported by a storage system
US7822921B2 (en) 2006-10-31 2010-10-26 Netapp, Inc. System and method for optimizing write operations in storage systems
US7720889B1 (en) * 2006-10-31 2010-05-18 Netapp, Inc. System and method for nearly in-band search indexing
US7584229B2 (en) * 2006-10-31 2009-09-01 Sun Microsystems, Inc. Method and system for priority-based allocation in a storage pool
US7822728B1 (en) * 2006-11-08 2010-10-26 Emc Corporation Metadata pipelining and optimization in a file server
US7593973B2 (en) 2006-11-15 2009-09-22 Dot Hill Systems Corp. Method and apparatus for transferring snapshot data
US7933921B2 (en) 2006-11-29 2011-04-26 Netapp, Inc. Referent-controlled location resolution of resources in a federated distributed system
US7613947B1 (en) 2006-11-30 2009-11-03 Netapp, Inc. System and method for storage takeover
US7647526B1 (en) 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
US7620669B1 (en) 2006-12-15 2009-11-17 Netapp, Inc. System and method for enhancing log performance
US7921267B1 (en) 2006-12-20 2011-04-05 Network Appliance, Inc. Method and system for fixing a mirror of a dataset
US7676510B1 (en) 2006-12-22 2010-03-09 Network Appliance, Inc. Space reservation monitoring in a fractionally reserved data storage system
US8301673B2 (en) * 2006-12-29 2012-10-30 Netapp, Inc. System and method for performing distributed consistency verification of a clustered file system
US8489811B1 (en) 2006-12-29 2013-07-16 Netapp, Inc. System and method for addressing data containers using data set identifiers
US8751467B2 (en) 2007-01-18 2014-06-10 Dot Hill Systems Corporation Method and apparatus for quickly accessing backing store metadata
US7831565B2 (en) 2007-01-18 2010-11-09 Dot Hill Systems Corporation Deletion of rollback snapshot partition
US7853750B2 (en) * 2007-01-30 2010-12-14 Netapp, Inc. Method and an apparatus to store data patterns
US8190641B2 (en) 2007-02-13 2012-05-29 Netapp, Inc. System and method for administration of virtual servers
US8868495B2 (en) * 2007-02-21 2014-10-21 Netapp, Inc. System and method for indexing user data on storage systems
US7870356B1 (en) 2007-02-22 2011-01-11 Emc Corporation Creation of snapshot copies using a sparse file for keeping a record of changed blocks
US8312046B1 (en) 2007-02-28 2012-11-13 Netapp, Inc. System and method for enabling a data container to appear in a plurality of locations in a super-namespace
US8219821B2 (en) * 2007-03-27 2012-07-10 Netapp, Inc. System and method for signature based data container recognition
US8312214B1 (en) 2007-03-28 2012-11-13 Netapp, Inc. System and method for pausing disk drives in an aggregate
US7653612B1 (en) 2007-03-28 2010-01-26 Emc Corporation Data protection services offload using shallow files
US8510524B1 (en) 2007-03-29 2013-08-13 Netapp, Inc. File system capable of generating snapshots and providing fast sequential read access
US8533410B1 (en) * 2007-03-29 2013-09-10 Netapp, Inc. Maintaining snapshot and active file system metadata in an on-disk structure of a file system
US7849057B1 (en) * 2007-03-30 2010-12-07 Netapp, Inc. Identifying snapshot membership for blocks based on snapid
US7716435B1 (en) 2007-03-30 2010-05-11 Emc Corporation Protection of point-in-time application data using snapshot copies of a logical volume
US7975115B2 (en) 2007-04-11 2011-07-05 Dot Hill Systems Corporation Method and apparatus for separating snapshot preserved and write data
US7716183B2 (en) 2007-04-11 2010-05-11 Dot Hill Systems Corporation Snapshot preserved data cloning
US8209587B1 (en) 2007-04-12 2012-06-26 Netapp, Inc. System and method for eliminating zeroing of disk drives in RAID arrays
US7734947B1 (en) 2007-04-17 2010-06-08 Netapp, Inc. System and method for virtual interface failover within a cluster
US9134921B1 (en) 2007-04-23 2015-09-15 Netapp, Inc. Uniquely naming storage devices in a global storage environment
US8412896B1 (en) 2007-04-27 2013-04-02 Netapp, Inc. Method and system for transparent restore of junction file types
US8086652B1 (en) 2007-04-27 2011-12-27 Netapp, Inc. Storage system-based hole punching for reclaiming unused space from a data container
US7827350B1 (en) 2007-04-27 2010-11-02 Netapp, Inc. Method and system for promoting a snapshot in a distributed file system
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US8898536B2 (en) 2007-04-27 2014-11-25 Netapp, Inc. Multi-core engine for detecting bit errors
US7840837B2 (en) * 2007-04-27 2010-11-23 Netapp, Inc. System and method for protecting memory during system initialization
US7987383B1 (en) 2007-04-27 2011-07-26 Netapp, Inc. System and method for rapid indentification of coredump disks during simultaneous take over
US8219749B2 (en) * 2007-04-27 2012-07-10 Netapp, Inc. System and method for efficient updates of sequential block storage
US7958385B1 (en) 2007-04-30 2011-06-07 Netapp, Inc. System and method for verification and enforcement of virtual interface failover within a cluster
US8001345B2 (en) 2007-05-10 2011-08-16 Dot Hill Systems Corporation Automatic triggering of backing store re-initialization
US7783603B2 (en) 2007-05-10 2010-08-24 Dot Hill Systems Corporation Backing store re-initialization method and apparatus
US7836331B1 (en) 2007-05-15 2010-11-16 Netapp, Inc. System and method for protecting the contents of memory during error conditions
US7702662B2 (en) * 2007-05-16 2010-04-20 International Business Machines Corporation Method and system for handling reallocated blocks in a file system
US8762345B2 (en) * 2007-05-31 2014-06-24 Netapp, Inc. System and method for accelerating anchor point detection
US8429368B2 (en) * 2007-06-01 2013-04-23 Netapp, Inc. Providing an administrative path for accessing a writeable master storage volume in a mirrored storage environment
US7797489B1 (en) 2007-06-01 2010-09-14 Netapp, Inc. System and method for providing space availability notification in a distributed striped volume set
US8307004B2 (en) 2007-06-08 2012-11-06 Apple Inc. Manipulating electronic backups
US8099392B2 (en) 2007-06-08 2012-01-17 Apple Inc. Electronic backup of applications
US8725965B2 (en) 2007-06-08 2014-05-13 Apple Inc. System setup for electronic backup
US8468136B2 (en) 2007-06-08 2013-06-18 Apple Inc. Efficient data backup
US8745523B2 (en) 2007-06-08 2014-06-03 Apple Inc. Deletion in electronic backups
US20080307017A1 (en) 2007-06-08 2008-12-11 Apple Inc. Searching and Restoring of Backups
US8010900B2 (en) 2007-06-08 2011-08-30 Apple Inc. User interface for electronic backup
US8429425B2 (en) 2007-06-08 2013-04-23 Apple Inc. Electronic backup and restoration of encrypted data
EP2168041B1 (en) * 2007-06-08 2011-08-03 Apple Inc. Application-based backup-restore of electronic information
US8204858B2 (en) 2007-06-25 2012-06-19 Dot Hill Systems Corporation Snapshot reset method and apparatus
JP4907605B2 (ja) * 2007-06-25 2012-04-04 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. inodeの割り当て及び割り当て解除の方法及びコンピュータプログラム
US8301791B2 (en) * 2007-07-26 2012-10-30 Netapp, Inc. System and method for non-disruptive check of a mirror
US7975102B1 (en) 2007-08-06 2011-07-05 Netapp, Inc. Technique to avoid cascaded hot spotting
US7941406B2 (en) * 2007-08-20 2011-05-10 Novell, Inc. Techniques for snapshotting
US8346952B2 (en) * 2007-08-21 2013-01-01 Netapp, Inc. De-centralization of group administration authority within a network storage architecture
US8793226B1 (en) 2007-08-28 2014-07-29 Netapp, Inc. System and method for estimating duplicate data
US8799595B1 (en) * 2007-08-30 2014-08-05 American Megatrends, Inc. Eliminating duplicate data in storage systems with boot consolidation
US7958325B2 (en) * 2007-09-11 2011-06-07 International Business Machines Corporation Handling temporary files in a file system with snapshots
US7865475B1 (en) 2007-09-12 2011-01-04 Netapp, Inc. Mechanism for converting one type of mirror to another type of mirror on a storage system without transferring data
US7783666B1 (en) 2007-09-26 2010-08-24 Netapp, Inc. Controlling access to storage resources by using access pattern based quotas
US7792882B2 (en) * 2007-09-27 2010-09-07 Oracle America, Inc. Method and system for block allocation for hybrid drives
US8112465B2 (en) 2007-10-12 2012-02-07 Bluearc Uk Limited System, device, and method for validating data structures in a storage system
US8504904B2 (en) * 2008-01-16 2013-08-06 Hitachi Data Systems Engineering UK Limited Validating objects in a data storage system
US9767120B2 (en) * 2008-01-16 2017-09-19 Hitachi Data Systems Engineering UK Limited Multi-way checkpoints in a data storage system
EP2212812B1 (en) * 2007-10-12 2017-05-10 Hitachi Data Systems Engineering UK Limited Multi-way checkpoints in a data storage system
US10248483B2 (en) * 2007-10-19 2019-04-02 Oracle International Corporation Data recovery advisor
US8352431B1 (en) 2007-10-31 2013-01-08 Emc Corporation Fine-grain policy-based snapshots
US9817832B1 (en) 2007-10-31 2017-11-14 EMC IP Holding Company LLC Unified framework for policy-based metadata-driven storage services
US7996636B1 (en) 2007-11-06 2011-08-09 Netapp, Inc. Uniquely identifying block context signatures in a storage volume hierarchy
US7809776B1 (en) 2007-11-30 2010-10-05 Netapp, Inc. System and method for supporting change notify watches for virtualized storage systems
US7984259B1 (en) 2007-12-17 2011-07-19 Netapp, Inc. Reducing load imbalance in a storage system
US8473526B2 (en) * 2008-01-08 2013-06-25 International Business Machines Corporation System, method and computer program product for managing a group of copies of a data entity
US7996607B1 (en) 2008-01-28 2011-08-09 Netapp, Inc. Distributing lookup operations in a striped storage system
US8296301B2 (en) 2008-01-30 2012-10-23 Commvault Systems, Inc. Systems and methods for probabilistic data classification
US8549222B1 (en) 2008-02-12 2013-10-01 Netapp, Inc. Cache-based storage system architecture
CA2714745A1 (en) * 2008-02-12 2009-08-20 Netapp, Inc. Hybrid media storage system architecture
US8055629B2 (en) * 2008-03-05 2011-11-08 International Business Machines Corporation Transitioning an archived file to write-once-read-many
US8725986B1 (en) 2008-04-18 2014-05-13 Netapp, Inc. System and method for volume block number to disk block number mapping
US8095728B2 (en) * 2008-04-18 2012-01-10 Oracle America, Inc. Method and system for power aware I/O scheduling
WO2009132261A1 (en) 2008-04-25 2009-10-29 Vmware, Inc. Updating a file using differences and file format therefor
US8219564B1 (en) 2008-04-29 2012-07-10 Netapp, Inc. Two-dimensional indexes for quick multiple attribute search in a catalog system
US8799429B1 (en) 2008-05-06 2014-08-05 American Megatrends, Inc. Boot acceleration by consolidating client-specific boot data in a data storage system
US8037279B2 (en) * 2008-06-12 2011-10-11 Oracle America, Inc. Method and system for cross-domain data sharing
US9215066B2 (en) * 2008-06-25 2015-12-15 Oracle America, Inc. Method and system for making information in a data set of a copy-on-write file system inaccessible
US7979401B2 (en) * 2008-06-26 2011-07-12 International Business Macines Corporation Time based file system for continuous data protection
US8135907B2 (en) * 2008-06-30 2012-03-13 Oracle America, Inc. Method and system for managing wear-level aware file systems
US8099571B1 (en) 2008-08-06 2012-01-17 Netapp, Inc. Logical block replication with deduplication
US8250043B2 (en) * 2008-08-19 2012-08-21 Netapp, Inc. System and method for compression of partially ordered data sets
US8099572B1 (en) 2008-09-30 2012-01-17 Emc Corporation Efficient backup and restore of storage objects in a version set
US8151069B1 (en) 2008-10-29 2012-04-03 Emc Corporation Multiprotection for snapsnots
US7992055B1 (en) 2008-11-07 2011-08-02 Netapp, Inc. System and method for providing autosupport for a security system
US9158579B1 (en) 2008-11-10 2015-10-13 Netapp, Inc. System having operation queues corresponding to operation execution time
US9442933B2 (en) 2008-12-24 2016-09-13 Comcast Interactive Media, Llc Identification of segments within audio, video, and multimedia items
US8713016B2 (en) 2008-12-24 2014-04-29 Comcast Interactive Media, Llc Method and apparatus for organizing segments of media assets and determining relevance of segments to a query
US11531668B2 (en) 2008-12-29 2022-12-20 Comcast Interactive Media, Llc Merging of multiple data sets
US8285680B2 (en) * 2009-01-08 2012-10-09 International Business Machines Corporation Individual object restore
US8495417B2 (en) * 2009-01-09 2013-07-23 Netapp, Inc. System and method for redundancy-protected aggregates
US8566362B2 (en) * 2009-01-23 2013-10-22 Nasuni Corporation Method and system for versioned file system using structured data representations
US20100211616A1 (en) * 2009-02-16 2010-08-19 Rajesh Khandelwal Performance by Avoiding Disk I/O for Deduplicated File Blocks
WO2010095275A1 (en) * 2009-02-23 2010-08-26 Hitachi, Ltd. Storage system and method using snapshots involving little metadata
US8176043B2 (en) 2009-03-12 2012-05-08 Comcast Interactive Media, Llc Ranking search results
US20100250614A1 (en) * 2009-03-31 2010-09-30 Comcast Cable Holdings, Llc Storing and searching encoded data
US8688798B1 (en) 2009-04-03 2014-04-01 Netapp, Inc. System and method for a shared write address protocol over a remote direct memory access connection
US8266136B1 (en) 2009-04-13 2012-09-11 Netapp, Inc. Mechanism for performing fast directory lookup in a server system
US8392481B2 (en) 2009-04-22 2013-03-05 International Business Machines Corporation Accessing snapshots of a time based file system
US8321645B2 (en) * 2009-04-29 2012-11-27 Netapp, Inc. Mechanisms for moving data in a hybrid aggregate
US8117388B2 (en) * 2009-04-30 2012-02-14 Netapp, Inc. Data distribution through capacity leveling in a striped file system
US8321380B1 (en) 2009-04-30 2012-11-27 Netapp, Inc. Unordered idempotent replication operations
US20100281207A1 (en) * 2009-04-30 2010-11-04 Miller Steven C Flash-based data archive storage system
US8655848B1 (en) 2009-04-30 2014-02-18 Netapp, Inc. Unordered idempotent logical replication operations
US8533223B2 (en) 2009-05-12 2013-09-10 Comcast Interactive Media, LLC. Disambiguation and tagging of entities
US8667246B2 (en) 2009-05-13 2014-03-04 Hewlett-Packard Development Company, L.P. System for virtual disks version control
US9213697B1 (en) * 2009-05-20 2015-12-15 Acronis International Gmbh System and method for restoration of MS exchange server mail
US8280858B2 (en) * 2009-06-29 2012-10-02 Oracle America, Inc. Storage pool scrubbing with concurrent snapshots
US9892730B2 (en) 2009-07-01 2018-02-13 Comcast Interactive Media, Llc Generating topic-specific language models
US9092500B2 (en) 2009-09-03 2015-07-28 Commvault Systems, Inc. Utilizing snapshots for access to databases and other applications
US8433682B2 (en) 2009-12-31 2013-04-30 Commvault Systems, Inc. Systems and methods for analyzing snapshots
US8671072B1 (en) 2009-09-14 2014-03-11 Netapp, Inc. System and method for hijacking inodes based on replication operations received in an arbitrary order
US8595191B2 (en) 2009-12-31 2013-11-26 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US8161077B2 (en) 2009-10-21 2012-04-17 Delphix Corp. Datacenter workflow automation scenarios using virtual databases
US8150808B2 (en) 2009-10-21 2012-04-03 Delphix Corp. Virtual database system
US8799367B1 (en) 2009-10-30 2014-08-05 Netapp, Inc. Using logical block addresses with generation numbers as data fingerprints for network deduplication
US8473690B1 (en) 2009-10-30 2013-06-25 Netapp, Inc. Using logical block addresses with generation numbers as data fingerprints to provide cache coherency
US9003110B2 (en) * 2010-01-13 2015-04-07 International Business Machines Corporation Dividing incoming data into multiple data streams and transforming the data for storage in a logical data object
US8683152B2 (en) * 2010-03-10 2014-03-25 Netapp, Inc. Fast migration of virtual storage partition data across storage systems
US8996563B2 (en) 2010-04-06 2015-03-31 Tokutek, Inc. High-performance streaming dictionary
US8627331B1 (en) 2010-04-30 2014-01-07 Netapp, Inc. Multi-level parallelism of process execution in a mutual exclusion domain of a processing system
US8321481B2 (en) 2010-05-13 2012-11-27 Assa Abloy Ab Method for incremental anti-tear garbage collection
US9742564B2 (en) 2010-05-14 2017-08-22 Oracle International Corporation Method and system for encrypting data
US8224780B2 (en) * 2010-06-15 2012-07-17 Microsoft Corporation Checkpoints for a file system
US11726955B2 (en) 2010-06-19 2023-08-15 Hewlett Packard Enterprise Development Lp Methods and apparatus for efficient container location database snapshot operation
US9323775B2 (en) 2010-06-19 2016-04-26 Mapr Technologies, Inc. Map-reduce ready distributed file system
US8548944B2 (en) 2010-07-15 2013-10-01 Delphix Corp. De-duplication based backup of file systems
US8799231B2 (en) 2010-08-30 2014-08-05 Nasuni Corporation Versioned file system with fast restore
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US8990526B2 (en) 2010-10-06 2015-03-24 Quantum Corporation Merging data volumes and derivative versions of the data volumes
FR2965952B1 (fr) * 2010-10-06 2013-06-21 Commissariat Energie Atomique Procede de mise a jour d'un index inverse et serveur mettant en oeuvre ce procede
EP2628100A4 (en) 2010-10-12 2016-12-21 Nasuni Corp SHARED VERSION FILE SYSTEM
US8843489B2 (en) 2010-11-16 2014-09-23 Actifio, Inc. System and method for managing deduplicated copies of data using temporal relationships among copies
US9858155B2 (en) 2010-11-16 2018-01-02 Actifio, Inc. System and method for managing data with service level agreements that may specify non-uniform copying of data
US8417674B2 (en) 2010-11-16 2013-04-09 Actifio, Inc. System and method for creating deduplicated copies of data by sending difference data between near-neighbor temporal states
US8402004B2 (en) 2010-11-16 2013-03-19 Actifio, Inc. System and method for creating deduplicated copies of data by tracking temporal relationships among copies and by ingesting difference data
US8904126B2 (en) 2010-11-16 2014-12-02 Actifio, Inc. System and method for performing a plurality of prescribed data management functions in a manner that reduces redundant access operations to primary storage
US8468174B1 (en) 2010-11-30 2013-06-18 Jedidiah Yueh Interfacing with a virtual database system
US8396832B2 (en) 2010-12-08 2013-03-12 International Business Machines Corporation Independent fileset generations in a clustered redirect-on-write filesystem
US8626713B2 (en) * 2010-12-08 2014-01-07 International Business Machines Corporation Multiple contexts in a redirect on write file system
US8904006B2 (en) 2010-12-08 2014-12-02 International Business Machines Corporation In-flight block map for a clustered redirect-on-write filesystem
US8458181B2 (en) 2010-12-08 2013-06-04 International Business Machines Corporation Distributed free block map for a clustered redirect-on-write file system
US8818966B1 (en) 2010-12-30 2014-08-26 Emc Corporation Continuous file defragmentation during file over-writes
US8984029B2 (en) 2011-01-14 2015-03-17 Apple Inc. File system management
US8943026B2 (en) 2011-01-14 2015-01-27 Apple Inc. Visual representation of a local backup
US10210169B2 (en) 2011-03-31 2019-02-19 EMC IP Holding Company LLC System and method for verifying consistent points in file systems
US9996540B2 (en) * 2011-03-31 2018-06-12 EMC IP Holding Company LLC System and method for maintaining consistent points in file systems using a prime dependency list
US8832394B2 (en) 2011-03-31 2014-09-09 Emc Corporation System and method for maintaining consistent points in file systems
US8706703B2 (en) * 2011-06-27 2014-04-22 International Business Machines Corporation Efficient file system object-based deduplication
US9244967B2 (en) 2011-08-01 2016-01-26 Actifio, Inc. Incremental copy performance between data stores
US9336222B2 (en) * 2011-08-05 2016-05-10 Netapp, Inc. Creation and access of quota trees in a file system
US9514154B2 (en) 2011-10-27 2016-12-06 International Business Machines Corporation Virtual file system interface for communicating changes of metadata in a data storage system
US9053083B2 (en) 2011-11-04 2015-06-09 Microsoft Technology Licensing, Llc Interaction between web gadgets and spreadsheets
US9098452B2 (en) 2011-12-19 2015-08-04 International Business Machines Corporation Selecting files to backup in a block level backup
US9171099B2 (en) 2012-01-26 2015-10-27 Microsoft Technology Licensing, Llc System and method for providing calculation web services for online documents
US9298715B2 (en) 2012-03-07 2016-03-29 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9471578B2 (en) 2012-03-07 2016-10-18 Commvault Systems, Inc. Data storage system utilizing proxy device for storage operations
US9319274B1 (en) * 2012-03-29 2016-04-19 Emc Corporation Method and system for dynamic provisioning using server dormant mode for virtual server dormancy
US9342537B2 (en) 2012-04-23 2016-05-17 Commvault Systems, Inc. Integrated snapshot interface for a data storage system
US9659077B2 (en) 2012-06-18 2017-05-23 Actifio, Inc. System and method for efficient database record replication using different replication strategies based on the database records
US9146684B2 (en) 2012-09-28 2015-09-29 Netapp, Inc. Storage architecture for server flash and storage array operation
US8788461B2 (en) 2012-10-04 2014-07-22 Delphix Corp. Creating validated database snapshots for provisioning virtual databases
US10346369B2 (en) 2012-10-11 2019-07-09 Delphix Corp. Retrieving point-in-time copies of a source database for creating virtual databases
US8832024B2 (en) 2012-10-26 2014-09-09 Netapp, Inc. Simplified copy offload
US9208168B2 (en) 2012-11-19 2015-12-08 Netapp, Inc. Inter-protocol copy offload
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
US9886346B2 (en) 2013-01-11 2018-02-06 Commvault Systems, Inc. Single snapshot for multiple agents
US9582213B2 (en) * 2013-02-21 2017-02-28 Netapp, Inc. Object store architecture for distributed data processing system
US9934230B1 (en) 2013-02-28 2018-04-03 Netapp, Inc. Delegations for non-regular files
US9582219B2 (en) 2013-03-12 2017-02-28 Netapp, Inc. Technique for rapidly converting between storage representations in a virtualized computing environment
US9229864B1 (en) * 2013-03-15 2016-01-05 Emc Corporation Managing metadata synchronization for reducing host system latency in a storage system
US10180951B2 (en) 2013-03-15 2019-01-15 Amazon Technologies, Inc. Place snapshots
JP2016524220A (ja) 2013-05-14 2016-08-12 アクテフィオ,インク. 効率的なデータ複製及びガベージコレクション予測
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
JP6050917B2 (ja) 2013-07-09 2016-12-21 デルフィクス コーポレーション 仮想データベースの巻き戻し
US9436556B2 (en) 2013-07-09 2016-09-06 Delphix Corp. Customizable storage system for virtual databases
US10108685B2 (en) 2013-07-09 2018-10-23 Delphix Corp. Remote provisioning of virtual databases
US11132300B2 (en) * 2013-07-11 2021-09-28 Advanced Micro Devices, Inc. Memory hierarchy using page-based compression
US9477605B2 (en) 2013-07-11 2016-10-25 Advanced Micro Devices, Inc. Memory hierarchy using row-based compression
JP5650826B2 (ja) * 2013-10-04 2015-01-07 日本電信電話株式会社 検索インデックス生成装置及び検索インデックス構築方法及び検索インデックス構築プログラム
US20150142750A1 (en) 2013-11-18 2015-05-21 Actifio, Inc. Data management virtualization
WO2015094329A1 (en) * 2013-12-20 2015-06-25 Hitachi Data Systems Engineering UK Limited System for queue based object cloning
US9842026B2 (en) 2013-12-31 2017-12-12 Netapp, Inc. Snapshot-protected consistency checking file systems
US9753812B2 (en) 2014-01-24 2017-09-05 Commvault Systems, Inc. Generating mapping information for single snapshot for multiple applications
US9632874B2 (en) 2014-01-24 2017-04-25 Commvault Systems, Inc. Database application backup in single snapshot for multiple applications
US9495251B2 (en) 2014-01-24 2016-11-15 Commvault Systems, Inc. Snapshot readiness checking and reporting
US9639426B2 (en) 2014-01-24 2017-05-02 Commvault Systems, Inc. Single snapshot for multiple applications
US9720778B2 (en) 2014-02-14 2017-08-01 Actifio, Inc. Local area network free data movement
US9645766B1 (en) 2014-03-28 2017-05-09 EMC IP Holding Company LLC Tape emulation alternate data path
US10037204B2 (en) 2014-04-22 2018-07-31 Delphix Corp. Version control of applications
US9710478B2 (en) 2014-05-02 2017-07-18 Netapp, Inc. System and method for adaptive data placement within a distributed file system
US9792187B2 (en) 2014-05-06 2017-10-17 Actifio, Inc. Facilitating test failover using a thin provisioned virtual machine created from a snapshot
US9841991B2 (en) 2014-05-12 2017-12-12 Netapp, Inc. Techniques for virtual machine migration
US10216531B2 (en) 2014-05-12 2019-02-26 Netapp, Inc. Techniques for virtual machine shifting
US9477683B2 (en) * 2014-05-30 2016-10-25 International Business Machines Corporation Techniques for enabling coarse-grained volume snapshots for virtual machine backup and restore
WO2015195834A1 (en) 2014-06-17 2015-12-23 Rangasamy Govind Resiliency director
US9921769B2 (en) 2014-06-19 2018-03-20 Cohesity, Inc. Making more active use of a secondary storage system
US10977134B2 (en) 2014-08-19 2021-04-13 Netapp Inc. Restoration process to restore corrupted data of a volume
US10042716B2 (en) 2014-09-03 2018-08-07 Commvault Systems, Inc. Consolidated processing of storage-array commands using a forwarder media agent in conjunction with a snapshot-control media agent
US9774672B2 (en) 2014-09-03 2017-09-26 Commvault Systems, Inc. Consolidated processing of storage-array commands by a snapshot-control media agent
US10379963B2 (en) 2014-09-16 2019-08-13 Actifio, Inc. Methods and apparatus for managing a large-scale environment of copy data management appliances
US10248510B2 (en) 2014-09-16 2019-04-02 Actifio, Inc. Guardrails for copy data storage
US9811428B2 (en) 2014-09-22 2017-11-07 Netapp Inc. System and method for handling multi-node failures in a disaster recovery cluster
US9959335B2 (en) 2014-09-22 2018-05-01 Netapp, Inc. System and method for avoiding object identifier collisions in a peered cluster environment
US9916325B2 (en) 2014-09-30 2018-03-13 International Business Machines Corporation Quick initialization of data regions in a distributed storage system
US9904688B2 (en) 2014-09-30 2018-02-27 International Business Machines Corporation Buffering and replicating data written to a distributed storage system
US9648105B2 (en) 2014-11-14 2017-05-09 Commvault Systems, Inc. Unified snapshot storage management, using an enhanced storage manager and enhanced media agents
US9448731B2 (en) 2014-11-14 2016-09-20 Commvault Systems, Inc. Unified snapshot storage management
EP3224744A4 (en) 2014-11-28 2018-08-01 Nasuni Corporation Versioned file system with global lock
US10445187B2 (en) 2014-12-12 2019-10-15 Actifio, Inc. Searching and indexing of backup data sets
US10055300B2 (en) 2015-01-12 2018-08-21 Actifio, Inc. Disk group based backup
US9600193B2 (en) 2015-02-04 2017-03-21 Delphix Corporation Replicating snapshots from a source storage system to a target storage system
US10083196B2 (en) 2015-02-04 2018-09-25 Delphix Corporation Creating secure virtual databases storing masked data
US9990366B2 (en) 2015-03-13 2018-06-05 Delphix Corporation Virtual partitions in virtual databases
US10311150B2 (en) 2015-04-10 2019-06-04 Commvault Systems, Inc. Using a Unix-based file system to manage and serve clones to windows-based computing clients
US10282201B2 (en) 2015-04-30 2019-05-07 Actifo, Inc. Data provisioning techniques
WO2016186617A1 (en) * 2015-05-15 2016-11-24 Hewlett-Packard Development Company, L.P. Data copying
US10691659B2 (en) 2015-07-01 2020-06-23 Actifio, Inc. Integrating copy data tokens with source code repositories
US10613938B2 (en) 2015-07-01 2020-04-07 Actifio, Inc. Data virtualization using copy data tokens
US9952797B2 (en) 2015-07-31 2018-04-24 Netapp, Inc. Systems, methods and devices for addressing data blocks in mass storage filing systems
US10257273B2 (en) 2015-07-31 2019-04-09 Netapp, Inc. Systems, methods and devices for RDMA read/write operations
US9715348B2 (en) 2015-09-09 2017-07-25 Netapp, Inc. Systems, methods and devices for block sharing across volumes in data storage systems
US10503753B2 (en) 2016-03-10 2019-12-10 Commvault Systems, Inc. Snapshot replication operations based on incremental block change tracking
JP6585283B2 (ja) 2016-03-28 2019-10-02 株式会社日立製作所 データ処理システム及びデータ処理方法
US9817592B1 (en) 2016-04-27 2017-11-14 Netapp, Inc. Using an intermediate virtual disk format for virtual disk conversion
US10445298B2 (en) 2016-05-18 2019-10-15 Actifio, Inc. Vault to object store
US10476955B2 (en) 2016-06-02 2019-11-12 Actifio, Inc. Streaming and sequential data replication
US10983951B1 (en) * 2016-09-29 2021-04-20 EMC IP Holding Company LLC Recovery processing for persistent file data cache to reduce data loss
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10822132B2 (en) 2017-02-10 2020-11-03 R.E.D. Stamp, Inc. High speed stamp applicator
US10855554B2 (en) 2017-04-28 2020-12-01 Actifio, Inc. Systems and methods for determining service level agreement compliance
US11403178B2 (en) 2017-09-29 2022-08-02 Google Llc Incremental vault to object store
EP3736705A4 (en) * 2018-02-05 2020-12-23 Huawei Technologies Co., Ltd. DATA INQUIRY METHOD AND DEVICE
US10740022B2 (en) 2018-02-14 2020-08-11 Commvault Systems, Inc. Block-level live browsing and private writable backup copies using an ISCSI server
US11176001B2 (en) 2018-06-08 2021-11-16 Google Llc Automated backup and restore of a disk group
US10719401B2 (en) 2018-09-12 2020-07-21 International Business Machines Corporation Increasing data recoverability during central inode list loss
US11803303B1 (en) * 2022-04-08 2023-10-31 International Business Machines Corporation Intelligent layer control of redundant content in container images

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4075691A (en) * 1975-11-06 1978-02-21 Bunker Ramo Corporation Communication control unit
US4156907A (en) * 1977-03-02 1979-05-29 Burroughs Corporation Data communications subsystem
US4399503A (en) * 1978-06-30 1983-08-16 Bunker Ramo Corporation Dynamic disk buffer control unit
US4377843A (en) * 1979-04-19 1983-03-22 Wescom Switching, Inc. Data distribution interface
US4333144A (en) * 1980-02-05 1982-06-01 The Bendix Corporation Task communicator for multiple computer system
US4488231A (en) * 1980-09-29 1984-12-11 Honeywell Information Systems Inc. Communication multiplexer having dual microprocessors
FR2500659B1 (fr) * 1981-02-25 1986-02-28 Philips Ind Commerciale Dispositif pour l'allocation dynamique des taches d'un ordinateur multiprocesseur
US4456957A (en) * 1981-09-28 1984-06-26 Ncr Corporation Apparatus using a decision table for routing data among terminals and a host system
US4685125A (en) * 1982-06-28 1987-08-04 American Telephone And Telegraph Company Computer system with tasking
US4550368A (en) * 1982-07-02 1985-10-29 Sun Microsystems, Inc. High-speed memory and memory management system
US4527232A (en) * 1982-07-02 1985-07-02 Sun Microsystems, Inc. High-speed memory and memory management system
US4710868A (en) * 1984-06-29 1987-12-01 International Business Machines Corporation Interconnect scheme for shared memory local networks
US4814971A (en) * 1985-09-11 1989-03-21 Texas Instruments Incorporated Virtual memory recovery system using persistent roots for selective garbage collection and sibling page timestamping for defining checkpoint state
US4719569A (en) * 1985-10-11 1988-01-12 Sun Microsystems, Inc. Arbitrator for allocating access to data processing resources
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4742447A (en) * 1986-01-16 1988-05-03 International Business Machines Corporation Method to control I/O accesses in a multi-tasking virtual memory virtual machine type data processing system
US5043871A (en) * 1986-03-26 1991-08-27 Hitachi, Ltd. Method and apparatus for database update/recovery
US4761785B1 (en) * 1986-06-12 1996-03-12 Ibm Parity spreading to enhance storage access
US4803621A (en) * 1986-07-24 1989-02-07 Sun Microsystems, Inc. Memory access system
US4780821A (en) * 1986-07-29 1988-10-25 International Business Machines Corp. Method for multiple programs management within a network having a server computer and a plurality of remote computers
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
US4783730A (en) * 1986-09-19 1988-11-08 Datapoint Corporation Input/output control technique utilizing multilevel memory structure for processor and I/O communication
US4766534A (en) * 1986-10-16 1988-08-23 American Telephone And Telegraph Company, At&T Bell Laboratories Parallel processing network and method
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US4897781A (en) * 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
US4875159A (en) * 1987-12-22 1989-10-17 Amdahl Corporation Version management system using plural control fields for synchronizing two versions of files in a multiprocessor system
US4914583A (en) * 1988-04-13 1990-04-03 Motorola, Inc. Method of indicating processes resident within a cell of a data processing system
US5043876A (en) * 1988-05-27 1991-08-27 International Business Machines Corporation N-level file shadowing and recovery in a shared file system
US5065354A (en) * 1988-09-16 1991-11-12 Compaq Computer Corporation Queued posted-write disk write method with improved error handling
US5218696A (en) * 1989-07-24 1993-06-08 International Business Machines Corporation Method for dynamically expanding and rapidly accessing file directories
US5163148A (en) * 1989-08-11 1992-11-10 Digital Equipment Corporation File backup system for producing a backup copy of a file which may be updated during backup
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5218695A (en) * 1990-02-05 1993-06-08 Epoch Systems, Inc. File server system having high-speed write execution
US5134619A (en) * 1990-04-06 1992-07-28 Sf2 Corporation Failure-tolerant mass storage system
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5230047A (en) * 1990-04-16 1993-07-20 International Business Machines Corporation Method for balancing of distributed tree file structures in parallel computing systems to enable recovery after a failure
CA2045799C (en) * 1990-07-11 1999-03-23 Kenneth L. Thompson File system with read/write and read only storage
US5274807A (en) * 1990-11-01 1993-12-28 At&T Bell Laboratories Method for reducing magnetic storage volume for computer disk image backup
US5255270A (en) * 1990-11-07 1993-10-19 Emc Corporation Method of assuring data write integrity on a data storage device
US5155835A (en) * 1990-11-19 1992-10-13 Storage Technology Corporation Multilevel, hierarchical, dynamically mapped data storage subsystem
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5235601A (en) * 1990-12-21 1993-08-10 Array Technology Corporation On-line restoration of redundancy information in a redundant array system
US5274799A (en) * 1991-01-04 1993-12-28 Array Technology Corporation Storage device array architecture with copyback cache
US5276840A (en) * 1991-03-22 1994-01-04 Acer Incorporated Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
US5313626A (en) * 1991-12-17 1994-05-17 Jones Craig S Disk drive array with efficient background rebuilding
US5305326A (en) * 1992-03-06 1994-04-19 Data General Corporation High availability disk arrays
US5315602A (en) * 1992-08-12 1994-05-24 Digital Equipment Corporation Optimized stripe detection for redundant arrays of disk drives

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004512585A (ja) * 2000-09-29 2004-04-22 オラクル・コーポレイション きめの細かい一時的なデータベースへのアクセスを提供するためのシステムおよび方法
US7747799B2 (en) 2005-03-16 2010-06-29 Hitachi, Ltd. Storage system
JP2009015849A (ja) * 2007-06-29 2009-01-22 Symantec Corp スケーラブル・ファイル・システムの回復のためのリソース管理
US8135677B2 (en) 2008-07-29 2012-03-13 Hitachi, Ltd. File management system and method
JP2014506345A (ja) * 2010-11-22 2014-03-13 ヒタチ データ システムズ エンジニアリング ユーケー リミテッド データストレージシステムにおける、ファイルのクローニング及びデクローニング
JP2013073557A (ja) * 2011-09-29 2013-04-22 Hitachi Solutions Ltd 情報検索システム、検索サーバ及びプログラム

Also Published As

Publication number Publication date
HK1027876A1 (en) 2001-01-23
DK0702815T3 (da) 2000-12-18
JP3751018B2 (ja) 2006-03-01
DE69425658D1 (de) 2000-09-28
ATE195825T1 (de) 2000-09-15
EP1003103A2 (en) 2000-05-24
EP0702815A4 (en) 1998-08-12
DE69435146D1 (de) 2008-11-13
WO1994029807A1 (en) 1994-12-22
HK1013697A1 (en) 1999-09-03
EP1003103A3 (en) 2007-08-15
DE69425658T2 (de) 2001-04-19
EP1003103B1 (en) 2008-10-01
ATE409907T1 (de) 2008-10-15
US5819292A (en) 1998-10-06
EP0702815B1 (en) 2000-08-23
EP0702815A1 (en) 1996-03-27

Similar Documents

Publication Publication Date Title
JP3751018B2 (ja) ライトエニウエアファイルシステムレイアウト
US5963962A (en) Write anywhere file-system layout
US8099572B1 (en) Efficient backup and restore of storage objects in a version set
US6023710A (en) System and method for long-term administration of archival storage
US7650341B1 (en) Data backup/recovery
EP1461700B1 (en) Appliance for management of data replication
US7962531B2 (en) Multiple concurrent active file systems
US7036043B2 (en) Data management with virtual recovery mapping and backward moves
US7243197B2 (en) Method and apparatus for backup and recovery using storage based journaling
US6898688B2 (en) Data management appliance
US8868507B2 (en) Method and apparatus for data recovery using storage based journaling
US6665815B1 (en) Physical incremental backup using snapshots
US8135678B1 (en) System and method for restoring a single data stream file from a snapshot
US8533189B2 (en) Method and system for synthetic backup and restore
JP3410899B2 (ja) 多重ボリューム・データ・セットを回復する方法
EP2983093A1 (en) Apparatus and method for a hardware-based file system
US20040186900A1 (en) Method of maintaining a plurality of snapshots, server apparatus and storage apparatus
US20070106706A1 (en) Unlimited file system snapshots and clones
US6629203B1 (en) Alternating shadow directories in pairs of storage spaces for data storage
US20230237020A1 (en) Container-based erasure coding
Theaker et al. File Management

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040316

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040615

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040916

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051206

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091216

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091216

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101216

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111216

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121216

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121216

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131216

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term