JP3548529B2 - イメージ形成中のコンピュータ・パーティション操作 - Google Patents

イメージ形成中のコンピュータ・パーティション操作 Download PDF

Info

Publication number
JP3548529B2
JP3548529B2 JP2000510104A JP2000510104A JP3548529B2 JP 3548529 B2 JP3548529 B2 JP 3548529B2 JP 2000510104 A JP2000510104 A JP 2000510104A JP 2000510104 A JP2000510104 A JP 2000510104A JP 3548529 B2 JP3548529 B2 JP 3548529B2
Authority
JP
Japan
Prior art keywords
partition
file
data
source
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2000510104A
Other languages
English (en)
Other versions
JP2001516090A (ja
Inventor
ローレンス,アンディ・ブイ
レイモンド,ロバート・エス
ラフ,エリック・ジェイ
Original Assignee
パワークエスト・コーポレーション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by パワークエスト・コーポレーション filed Critical パワークエスト・コーポレーション
Publication of JP2001516090A publication Critical patent/JP2001516090A/ja
Application granted granted Critical
Publication of JP3548529B2 publication Critical patent/JP3548529B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
(発明の分野)
本発明は、コンピュータ記憶デバイス・パーティションのオンザフライ操作に関するものであり、詳細には、本来ならパーティションを複製する間のパーティションのセクタ・カウントおよび/またはクラスタ・サイズの変更に関するものである。
【0002】
(発明の技術的背景)
用語について
コンピュータ・ハード・ディスクおよび他のコンピュータ記憶デバイスは、ビジネス、個人、政府機関、およびその他が使用する数値、名前、日付、テキスト、画像、音声、および他の情報を表すデジタル・データを保持する。データの編成を援助するため、および技術的理由により、多数のコンピュータが、データをドライブ、パーティション、ディレクトリ、およびファイルに分割する。用語「ファイル」および「ディレクトリ」は、ほとんどのコンピュータ・ユーザが使い慣れているものであり、文書上の定義の詳細は色々あるが、ほとんどの人がその意味について合意している。
【0003】
ただし、用語「パーティション」および「ドライブ」は、コンテキストがコンピュータに限定されているときでさえ、異なる意味を持つ。いくつかの定義に従うと、パーティションは必ず1つの記憶デバイスに限定されるが、「ファイル・システム」は、1つまたは複数のディスク上の1つまたは複数のパーティションを含むことができる。単一ディスク上に多数のパーティションが常駐するが、あるものは、ボリューム・セット、ストライプ・セット、ミラー・セット、または他の手法を使用して、単一パーティションのデータを1つ以上のディスク上に格納する。
【0004】
この明細書で使用されるように、「パーティション」とは、1つまたは複数のファイルまたはディレクトリを入れるためにフォーマットされる(またはできる)、1つまたは複数の記憶デバイス上の領域である。パーティションは、空である場合がある。またパーティションは、ディレクトリ、ファイル割り付けテーブル、ビットマップ、または同様のファイル・システム構造体なしでも、生データのストリームまたはブロックを保持する場合は、使用することができる。フォーマットされた各パーティションは、Macintoshファイル・システム、SunOSファイル・システム、Windows NTファイル・システム(「NTFS」)、NetWareファイル・システム、またはMS−DOS/FATファイル・システムの1つ(MACINTOSHは、Apple Computer,Inc.の商標である。SUNOSは、Sun Microsystems,Inc.の商標である。WINDOWS NTおよびMS−DOSは、Microsoft Corporationの商標である。NETWAREは、Novell,Inc.の商標である)などの特定のタイプのファイル・システムに適合される。パーティション操作は、パーティション内のファイル・システム・データの操作を含む。ファイル・システムは、パーティション内のすべてのセクタがファイル・システムにより使用されるという意味でも、またはパーティション内のすべてのセクタがファイル・システムにより存在すると認識されるという意味でも、それを保持するパーティションを一杯にする必要はない。
【0005】
「ドライブ」は、場合によっては、特に論理ドライブC:またはいわゆるWintelマシン上のオペレーティング・システムを保持する他の論理ドライブを参照するときに、「パーティション」と交換可能であるように使用される。しかし「ドライブ」は、磁気ハード・ディスクまたはCD−ROMドライブなどの単一の物理的記憶デバイスを指す場合もある。混乱を避けるために、「ドライブ」は、この明細書では通常記憶デバイスだけを指し、パーティションは意味しない。以上より、パーティションはしばしば単一ドライブ上に常駐するが、複数のドライブに広がることもあり、また、1つのドライブは1つまたは複数のパーティションを保持することができることに注意されたい。
【0006】
一般的なパーティション操作
パーティションの作成、削除、移動、コピー、サイズの変更、パーティションのファイル・システムで使用されるクラスタ・サイズの変更、およびその他の操作の実行により、パーティションを操作することが有効である。パーティションを操作する多数のツールが市販されており、FDISKプログラムおよびPartitionMagic(登録商標)プログラム(PARTITIONMAGICは、PowerQuest Corporationの登録商標)を含む。パーティション操作の詳細は、米国特許第5,675,769号および米国特許第5,706,472号に記載され、参照により本発明書に組み込む。
【0007】
一般的なディスク・イメージ形成;第1のイメージ形成方法
パーティションをグループにしてコピーすることも、アーカイブ・コピーの作成のため、または追加の記憶デバイスの編成のために有効である。たとえば、パーティション内のあらゆるファイル、パーティション・グループ内のあらゆるファイル、またはディスク上のあらゆるセクタ(使用、または非使用)を、同じコンピュータ、またはファイル・サーバなどの接続されているコンピュータ上の、二次ディスクまたはテープ・ドライブなどの別の記憶デバイスにコピーするために、バックアップ・プログラムが長い間使用されてきた。
【0008】
ソース・ディスク・ドライブに格納されたパーティションのグループをコピーすなわち「イメージ形成」するために、各種のプログラムが使用可能である。一般にイメージ形成プログラムは、複数のパーティションをコピーする操作が可能である。使用される、第1の、そして最も単純なイメージ形成方法(「方法A」)は、「ファイル単位」手法であり、1つまたは複数のソース・パーティションで検出されたすべての単一ファイルのコピーを作成する。コピーは、一時記憶に「イメージ・ファイル」として格納されるか、または中間格納ステップが容易に省かれ、イメージ形成が直接実行されて別のディスク・イメージを(1つまたは複数のハード・ドライブ上に、同時に、または順次いで)作成する。
【0009】
コピーがイメージ・ファイルに格納される場合、格納の前に任意で圧縮し、新しいディスク・イメージを作成する間の適切な段階で解凍できる。圧縮では格納されるデータを処理して、たとえばランレングス符号化により冗長性を減少させる。イメージ・ファイルは、クラスタ、圧縮データ、またはこの両方をパッキングする。イメージ・ファイルはパーティションとは異なり、従来のファイル・システム・ソフトウェアでは認識できない形式でデータを格納する。たとえば、ユーザ・データ・クラスタがパッキングされるため、イメージ・ファイルのファイル・システム構造体内のクラスタ番号または他のポインタは、必ずしも該当のデータ・クラスタの現在の(パッキングされている)位置を指すわけではない。イメージ・ファイルからのデータがターゲット・ディスクにコピーされ、そこにパーティションを作成したとき、クラスタはパッキング解除され、それらの予想された相対的位置に復元される。「ターゲット」および「宛先」の使い方は、この明細書では交換可能である。
【0010】
新しいイメージが作成されるとき、宛先パーティションのパーティション・サイズが決定され、宛先パーティションは適切なファイル・システム用に、選択されたサイズで迅速にフォーマットされる。次いで、各ファイルが一度に1つずつ新しいイメージにコピーされる。各ファイルがコピーされるときに、すべてのディレクトリおよび他のシステムの更新が実行される。この方法の実装におけるオプションで、ディスク更新をグループ化してディスク・ヘッド移動を減少させるために、任意のタイプのディスク・キャッシング・スキームが使用でき(また、使用するべきであり)、これによって操作の完了に要する時間が短縮される。
【0011】
ただし、キャッシングを用いても、少なくとも次いで示す2つの理由により、ファイル単位コピーはディスク・ヘッドの大きな移動を必要とすることが多い。第1に、多くの場合ディスク・ヘッドは所定のファイルを読み取りながら、セクタの1つの連続するグループから次の連続するグループに移動しなければならない。このヘッドの移動は、所定のファイルの複数の読み取りを、ファイルのデフラグにより最小化できるが、一般にデフラグ自体でも、ヘッドの移動とデータの移動が必要である。第2に、多くの場合、1つのファイルの終わりが次のファイルの先頭に連続していないことが多いため、新しいファイルが読み取りのために開かれるたびにディスク・ヘッドは移動する。さらに、ファイル単位コピー・プログラムでは、ファイル名などの情報を含むディレクトリとファイル内容を保持するユーザ・データ領域との間をディスク・ヘッドがジャンプして行き来する。
【0012】
したがって、ディスク・イメージ形成プログラムによっては、ユーザ・データをファイル単位でコピーせず、データをクラスタ単位、またはセクタ単位でコピーするものがある。場合によっては、すべてのクラスタまたはセクタがコピーされ、また使用クラスタまたはセクタのみがコピーされる場合もある。後述するように、クラスタ単位およびセクタ単位の手法は、ファイル単位の手法より必要なヘッド移動が少ないが、従来のシステムではイメージ形成およびパーティション操作(パーティション・サイズ変更またはクラスタ・サイズ変更など)は分離され、順次的であり、時間を要するステップであることが多い。
【0013】
第2のディスク・イメージ形成方法によるパーティション操作
ディスク・イメージ形成の第2の方法(「方法B」)は、方法Aより実装は難しい点があるが、セクタ単位の手法を用いる。方法Bの1つのバージョンでは、ソース・ハード・ディスク・パーティションのすべての使用セクタをコピーする。コピーは、1つまたは複数のディスクに格納されるイメージ・ファイルの形態で一時記憶に格納するか、または中間格納ステップが省かれ、イメージ形成が直接実行されて別のディスク・イメージを1つまたは複数のハード・ドライブ上に、同時に、または順次に作成する。
【0014】
転送されるデータの量を減らすために、より少ないセクタをコピーする、方法Bのバージョンを使用できる。これは、可能な場合には使用セクタのみをコピーすることにより実装できる。場合によっては、非使用のある種のセクタのコピーを防ぐことが容易ではないことがある。このような重要ではないセクタのデータは保存する必要はないが、それらはデータを含むセクタに接近しているので、それらのコピーを防ぐより、コピーする方が容易であり、速い場合がある。
【0015】
いずれにせよ、新しいイメージを作成するときに、各コピーされるセクタがパーティションの先頭と相対してどの位置に所属するかを決定するために、ビットマップ、使用セクタ・リスト、ファイル割り付けテーブル、または同等の構造体も格納しなければならない。セクタはソース・パーティション内の位置と同じ相対的位置に置かれる代わりに、イメージ・ファイルにパッキングされる。場合によっては(NTFSビットマップなどでは)、適切な情報がファイルシステム構造体自体にすでに継承され、追加テーブルまたはリストまたはマップを、作成または格納する必要がない。
【0016】
新しいイメージが作成されるとき、宛先パーティションのパーティション・サイズが決定される。方法Aのように新しいイメージを宛先にフォーマットするのではなく、ソース・セクタが宛先パーティション上のそれらの相対的位置にコピーされる。必要に応じて、パーティションの先頭と相対してセクタをどこに配置すべきかを示す格納されたテーブル、リスト、またはマップを参考にできる。
【0017】
宛先パーティションがソースと全く同じサイズであり、また宛先ドライブのハードディスク・ジオメトリもソースのそれと同一の場合は、新しいイメージを作成し、すべての必要なシステムおよびデータ・セクタがコピーされると、操作は完了する。その他の場合は、パーティションを要求されたサイズにサイズ変更(収縮または拡張)し、またシリンダ境界に揃えるなど、技術的に周知の標準パーティション・サイジングの取り決めに適切に準拠することを保証するため、個別の(時には複雑な)パーティション・サイズ変更・ステップが必要である。
【0018】
方法Aと方法Bの比較
方法Aに勝る方法Bの主な利点は、宛先ディスク上のイメージ形成処理におけるディスクヘッドの移動が減少することである。ほとんどの場合、データがディスクに書き込まれるときの、1回のスムースな連続的「上昇」シークのみに減少する。宛先パーティションでサイズ変更が不要の場合は、この方法はほとんど常に方法Aより速くなる。方法Aでは、コピーされるファイルの2倍または3倍のヘッド・シークが必要である。たとえば、ファイル単位の方法Aにより各ファイルが書き込まれるためには、データを書き込む位置へのシーク、更新するディレクトリへの別のシーク、および更新するファイル割り付けテーブルまたはビットマップへの別のシークがある。適切なディスク・キャッシングは実質的にこの時間を短縮できるが、ヘッド・シーク・オーバヘッドを完全に除去することはできない点に注意されたい。
【0019】
5,000ファイルに渡り500MBのデータが含まれるパーティションのイメージ形成処理、およびシーク・タイムが10msであり、またデータ・スループット速度が1秒当り4MBであるハード・ディスク(およびソース・イメージのコピーを作成する時間、およびそのソースを記憶から取り出すために要する時間はすべて無視する)を想定すると、方法Aではデータを新しいイメージに書き込むために125秒、さらにディスク・シーク・タイムに最大150秒(5,000ファイル×ファイルあたり3シーク×0.01秒)、すなわち最大275秒かかる。方法Bでは、合計で125秒にトラック単位のシーク・タイムにかかる数秒を加えた時間だけ必要である。
【0020】
ただし、方法Bには少なくとも2つの主な欠陥がある。第1は、この方法ではすべてのシステム・セクタおよびデータ・セクタをコピーする必要がある。部分的セクタのコピーはこの方法を複雑にするので、実行されない(部分的セクタのコピーは実装できるが、複雑であるために努力に見合うほどの節約にならない)。単にセクタ全体がコピーされるため(また、簡素化されたモデルでは、完全に使用されるか否かに関わらず、時にはクラスタ全体、またはセクタのグループがコピーされるので)、余分なデータもコピーされ、その結果方法Aより多くのデータの転送が必要となるのはほとんど明らかである。これはイメージ書き込み時間を増加させ、毎回イメージ・ファイルを使用するときの格納サイズが大きくなることはほとんど確実である。
【0021】
方法Bのもう1つの主要な欠点は、多くの場合ある種のパーティションのサイズ変更が必要になる点である。サイズ変更は迅速に実行できる。しかし、場合によってはサイズ変更に重要なシステム構造体の主要な再構築と調整が含まれ、多数のディスクヘッド・シークおよび非連続的な読み取りと書き込みを実行する時間が実質的に必要となる。最悪の場合は、サイズ変更処理が必要な方法Bでは、方法Aの数倍の時間を要する。本発明は、宛先パーティションを最初に作成し、次いでサイズ変更する必要性を除去することにより、この欠点に対処するものである。
【0022】
一般的ディスク・イメージ形成およびパーティション処理
方法Bを使用する周知のイメージ形成プログラムは、パーティション・サイズを変更する柔軟性と効率を大きく制限する。方法Aまたは方法Bのいずれかを使用する多数のイメージ形成プログラムは、ソース・パーティションと同じサイズ(セクタまたは他の割り付け単位が同数)であるターゲット・パーティションを作成するだけである。イメージ形成プログラムによっては、パーティション・サイズを変更するものもあるが、非常に限られた方法でのみである。たとえば、ある種のプログラムは追加セクタを追加することにより、ターゲット・パーティションをソース・パーティションより大きくし、それによって、追加セクタがないときはそうならない場合に、ターゲット・パーティションの縁部がディスク・シリンダ境界上にくるようにする。これらの手法は、ターゲット格納媒体がソース格納媒体よりきわめて大きいときに、価値を限定してきた。なぜなら、ターゲット上にパーティション内のファイル・システムが使用できる、新しく使用可能な空間を作成しないためである。
【0023】
より大きなパーティションを作成する1つの手法には、比較的高速のディスク・イメージ形成プログラムを使用して、実質的にソース・パーティションと同じサイズのターゲット・パーティションを作成し、次いでPartitionMagicプログラムまたは同様のツールを使用してターゲット・パーティションを実質的により大きくすることが含まれる。代替方法として、ソース・パーティションをイメージ形成前にサイズ変更し(空間が使用でき、ソースが読み取り専用ではない場合)、次いで実質的により大きなソース・パーティションをイメージ形成ツールによりそのまま直接コピーする。
【0024】
別の種類のイメージ形成プログラムでは、ソース・パーティションより実質的に大きな空のターゲット・パーティションを作成できる。「実質的により大きい」とは、単に次のシリンダ境界まで増やすのではなく、ターゲット・パーティションの縁部をシリンダ境界を超えた位置に置くことによりさらに増やすことを意味する。「実質的により小さい」とは、ファイル・システムまたはオペレーティング・システム要件により課せられた、シリンダ境界上または他の隣接する境界上に取り付けることと同じ意味である。ユーザ・データは次いでファイル単位でソース・パーティションから実質的により大きなターゲット・パーティションにコピーされる。これにより、イメージ形成後の別個のサイズ変更は不要となるが、不利な点もある。
【0025】
第1に、パーティション・サイズにより異なるクラスタ・サイズ、FATテーブル・サイズとフォーマット、および他のファイル・システム固有の特性を、増加したパーティション・サイズに合わせることが常に考慮されるわけではない。このためプログラムによっては非標準パーティションを作成し、パーティション・テーブルが大きなパーティションを示し、パーティション内部のファイル・システム構造体が、いくつかの点またはすべての点でより小さなパーティションを想定する。このような不一致は、どうみても不便である。最悪の場合は、ファイル・システム状態に関する指示の不一致は、データの予想位置と実際の位置が異なるため、ユーザ・データを破壊または消失の危険に晒すことになる。
【0026】
第2に、ファイル単位でユーザ・データをコピーする手法は、一般に大きなディスク・ヘッドの移動が必要である。各ファイルを順に配置するために、ディレクトリまたはFATテーブルまたは他のファイル・システム構造体に戻るための繰り返しの移動が必要である。ファイルは一般に断片化されているため、ファイル内容を読み取るためにも繰り返しの移動が必要であることが多い。すなわち、各ファイルは一般に複数の位置に格納され、それらはファイルの内容を保持しない記憶媒体の領域により分離される。ファイルのコピーの前に、ファイルでデフラグ・プログラムを実行することにより、断片化を緩和する、または除去することさえ可能である。
【0027】
ただし、すべてのファイルがデフラグされる場合でも(記憶媒体の1つの連続する領域に格納される)、各ファイルのディレクトリに戻る必要性は残る。各ファイルが連続している場合でも、ファイルはパーティションを一方の端から他方に向かってスキャンするときに現れる順と同じ順序で必ずしもアクセスされるわけではない。ある意味では、ファイルがパーティション内の他のファイルに対して相対的に分散されるので、パーティション自体も断片化される。中間イメージ・ファイルを使用してデータを1つのパーティションから別のパーティションにコピーするときは、これらの多数の考慮事項が依然適用される。
【0028】
まとめると、次のツールが現在使用可能である。
・ ファイル・デフラグ・ツール
・ パーティション・サイズの実質的な変更ができない、比較的高速のセクタ単位ディスク・イメージ形成ツール
・ ターゲット・パーティション・サイズをソース・パーティション・サイズと実質的に異なる大きさにできる、かなり低速のファイル単位ディスク・イメージ形成ツール
・ イメージ形成の前または後に、パーティションまたはクラスタを所定の位置でサイズ変更するツール
【0029】
上記のように、イメージ形成中にパーティションを操作する、新しいシステム、デバイス、および方法を提供することが、さらに使い易く、また所望の操作がより速く、より柔軟性を持つための改良となる。このような改良が、下記に開示され、特許請求される。
【0030】
(発明の概要)
本発明は、ハードディスク・パーティションのイメージ形成のための新しい方法、システム、およびデバイスを提供する。例として、2つのパーティションS1およびS2を有するソース・ディスクを想定し、これらは変更されてターゲット・ディスクTにイメージ形成される。ユーザは、S1から特定のファイルを削除して、ターゲット上にS2の増加した空間のために空き部分を作成し、またS1をデフラグすることによりファイル・アクセスをより効率的にする。たとえば、ユーザはいくつかの新しいアプリケーション・プログラム用の空間を作るために、古いアーカイブ・コピー、一時ファイル、および先送りされたプロジェクトに関連するファイルを除去する。従来のシステムでは、これは次いでまとめた一連の操作により実行される。
(S1−>削除−>S1’−>デフラグ−>S1”−>縮小−>S1”’;S2−>拡張−>S2’)−>イメージ形成−>T
【0031】
すなわち、ユーザは選択されたファイルをS1から削除し、ソース・ディスク上にS1’を作成し、S1’をデフラグしてS1”を作成し、PartitionMagic(登録商標)などのパーティション・リサイザ・プログラムを使用してS1”を縮小してS1”’を形成し、パーティション・リサイザを使用してS2を拡張してS2’を形成し、最後にS1”’およびS2’をターゲット・ディスクにコピーする。この手法は重要な欠点を有し、ユーザから見て複雑であり、ソース・パーティションを変更するという要件を含む。他の欠点は、Tに対して追加操作が必要になる可能性があることである。たとえば、TはSより大きい場合があり、そのためにT上のS2’のイメージを、Sで可能なものよりさらに拡張しなければならない。
【0032】
さらに、データの所定のブロックを数回移動する(ディスク上で、またはディスクとメモリの間で)場合がある。たとえば、削除ルーチン、デフラガ、およびパーティション・リサイザは、それぞれディレクトリ情報の独自のコピーを作成する。同様に、デフラガおよびパーティション・リサイザは、ディスク上で同じデータ・ブロックのいくつかを移動する場合がある。
【0033】
対照的に、本発明では次のような手法が可能である。
(S1,S2)−>S1ファイルの削除、S1のデフラグ、S1の縮小、S2の拡張、イメージ形成−>T
【0034】
すなわち、ファイル削除、デフラグ、およびパーティション・サイズ変更は、イメージ形成の作動中に実行される。これにはいくつかの長所がある。操作のセット全体が、たとえば「ウィザード」または他の単純化するインターフェイスを用いて、ユーザには単一操作として提示される。ソース・パーティションを変更する必要はない。S2はソース・ディスクがターゲットより小さいか否かに関わらず、可能な限りの完全な範囲まで拡張される。最後に、デフラグするソース・ファイルを集めるときに、場合によっては大きなヘッド移動がまだ発生するが、重複するデータ移動が避けられることが多い。
【0035】
1つの実施態様では、本発明は最初に使用可能な空き空間の境界を検出する。次いで、すべての使用ソース・セクタのビットマップを取得し、おそらくソース内のファイル・システム構造体の保持に使用されているすべてのセクタのビットマップも取得する。使用ソース・セクタの総計サイズが計算され、空き空間のサイズと比較される。ファイル削除およびクラスタ・サイズ変更などのオプションが、必要に応じて検討される。ファイル・システム構造体をメモリに読み取り、操作の速度を速めることができる。
【0036】
十分な空間が使用可能である場合、ターゲット・パーティションの外側に出ずにコピーできる、すべての使用ソース・セクタをそのまま直接コピーすることにより、イメージ形成が開始される。次いで他のセクタが空き空間に入れられる。最後にファイル・システム構造体が更新される。これは、構造体を配置する前にメモリ内で実行するか、またはターゲットから構造体を読み取り、それらを調整し、再度書き込むことにより実行できる。パーティション・テーブルも最初に配置されるか、または読み取り、調整、再書き込みが実施され、ソースとターゲット間のパーティション・サイズ又はディスク・ジオメトリの相違を反映させる。
【0037】
本発明は、ドライブ上のすべてのパーティションまたはソース・ドライブの選択されたパーティションが、イメージ形成されるときに使用できる。新しいディスク・イメージは、格納されているイメージ・ファイルから作成されるか、またはソース・ハード・ドライブから直接作成され、従来の手法における速度より実質的に高速で実施できる。
【0038】
「技術的背景」で説明した方法Bの主な弱点は、データがコピーされた後のパーティションのサイズ変更にこの方法が依存するため、最悪の場合はイメージ形成とパーティション・サイズ変更に要する総計時間が実質的に増加する点である。本発明では、コピーされるパーティションの「仮想サイズ変更」により、この欠点が除去される。システムおよびディレクトリ・セクタが、ディスクに書き込まれる前にメモリ内で更新される。
【0039】
最後に、いくつかの実施態様では、すべてのディレクトリおよびシステム・セクタおよび位置の完全なコピーを作成する。これは、ソース読み取り処理中に実行され、情報がパーティション・コピーにより格納されるか、または格納されたセクタにより継承されたシステムおよびディレクトリの情報を行き来して、格納されたパーティションがコピーされるたびにオンザフライに実行されるかのいずれかである。好ましい方法は、ソース・セクタが初めて読み込まれ、記憶にコピーされる時点で、このファイル・システム構造体情報を格納する方法である。これにより、新しいパーティション・イメージが宛先ドライブ上に作成されるたびに、直ちに情報にアクセス可能となり、またディスク・イメージ形成の特性により多数のイメージが1つのソースから作成可能であるため、各新イメージ形成のための時間のかかるステップが除去される。
【0040】
元のソース・パーティションおよび宛先パーティションの両方のサイズがわかっているため、データおよびシステム・セクタのコピーの前に、各データおよびシステム・セクタを宛先ドライブ上に作成される新しいイメージ内のどの場所に配置すべきかを正確に決定することができる。イメージ形成処理中に参考にする変換マップを作成でき、セクタの各グループについて適切な「仮想サイズ変更」位置を迅速に決定できる。変換マップは各データ・セクタの元の位置および最終(仮想サイズ変更または他のオンザフライ操作後)の位置を示すか、または少なくとも再配置された各セクタの最終位置を示す。変換マップは、FATフォーマット、NTFSフォーマット、または他のファイル・システム構造体フォーマットで配置されるなど、パーティションで使用されるファイル・システムの特性および要件に合わせることができる。
【0041】
まとめると、本発明は、ファイル・システム構造体をメモリ内およびイメージ・ファイル内に、明確にはサイズ変更および他のオンザフライ操作のための、統合されたパーティション操作コードを含むイメージ形成プログラムによるアクセスのために配置して編成することにより、ディスク・イメージ形成をより柔軟にまたより効率的にする。また、読み取り専用ソース・パーティションから、本来は小さすぎるターゲットへのイメージ形成も可能にする。本発明の他の特徴および利点は、以下の説明によりさらに十分に明確になるであろう。
【0042】
本発明の利点および特徴を説明するために、添付の図面を参照にして本発明のさらに詳細な説明がなされる。これらの図面は本発明の選択された態様を説明するものであり、本発明の範囲を制限するものではない。図面は次の通りである。
【0043】
(好ましい実施形態の詳細な説明)
本発明は、ディスク・イメージ形成と共に実行される「オンザフライの」パーティション操作に関する。パーティション操作およびデータ複製のシステムおよび方法が、明確にはFAT、NTFS、およびHPFSファイル・システムに注目しながら、米国特許第5,675,769号および米国特許第5,706,472号、ならびに米国特許出願第08/834,004号で一般的に説明されている。これらの説明は、ここに参照により組み込む。関連する用語はそれらの中およびここで定義される。対立する場合は、この出願の組み込まれない部分が優先する。
【0044】
用語について
ユーザは、時に1つの位置から別の位置にパーティションをコピーする必要がある。ユーザとは、人物、あるいはソフトウェア・タスクまたは代理人または人物に代わって正規に実行する他のコンピュータ処理とすることができる。2つの位置とは、同じディスク上、同じコンピュータに接続された異なるディスク上、または2つの別のコンピュータに接続された異なるディスク上とすることができる。後者では、関係する2つのコンピュータは、ネットワークまたはダイアルアップ・リンク、赤外線リンクなどの携帯リンクまたは下記に定義する他の「回線」、および/または様々なフォーマットの中間ファイルを含む、他の通信リンクを介して通信できる。ネットワークは、LANまたはWANまたはインターネットの一部またはイントラネットを含む他のネットワークに、ゲートウェイまたは同様の機構を介して接続可能である。
【0045】
ネットワークは、ネットワーク信号回線により1つまたは複数のネットワーク・クライアントに接続される、1つまたは複数のサーバを含むことができる。サーバおよびクライアントは、ユニプロセッサ、マルチプロセッサ、またはクラスタ化されたプロセッサ・マシンとすることができる。サーバおよびクライアントは、それぞれアドレス付け可能な記憶媒体、たとえばランダム・アクセス・メモリおよび/または磁気または光ディスク、ROM、バブルまたはフラッシュ・メモリなどの不揮発性記憶媒体を含む。
【0046】
適切なネットワーク・クライアントは、制限なしに、ラップトップ、ページャ、セル・フォーン、パーソナル・デジタル・アシスタント、および他のモバイル・デバイスなどのパーソナル・コンピュータおよびワークステーションを含む。信号回線は、ツイスト・ペア、同軸、または光ファイバ・ケーブル、電話回線、衛星、マイクロウェーブ・リレー、変調AC電力線、RF接続、および/または当業者には周知の他のデータ伝送「回線」を含む。
【0047】
サーバおよび多数のネットワーク・クライアントは、フロッピー・ドライブ、テープ・ドライブ、光ドライブまたは記憶媒体を読み取る他の手段をしばしば使用できる。適切な記憶媒体には、磁気、光、または特定の物理構成を備える他のコンピュータが読み取り可能な記憶デバイスが含まれる。適切な記憶デバイスには、フロッピー・ディスク、ハード・ディスク、テープ、CD−ROM、PROM、ランダム・アクセス・メモリ、ROM、フラッシュ・メモリ、および他のコンピュータ・システム記憶デバイスが含まれる。これらのデバイスのいくつかはシリンダ境界を備え、他は備えない。シリンダ境界を備えないデバイスは、それにも関わらず互換性の理由によりこれらの境界をエミュレートする。
【0048】
物理構成は、データおよび/またはコンピュータ・システムを、ここで説明する特定の事前定義された方法で動作させる命令を表す。このように、媒体は、実質的にここで説明するようなイメージ形成中のパーティション操作をサポートする、サーバおよび/またはネットワーク・クライアント・コンピュータにより実行可能なプログラム、データ、関数、および/または命令を現実に記録する。本発明に従った適切なソフトウェアおよびハードウェア実装は、ここで示す説明およびプログラミング言語およびツール、たとえばJava、Pascal、C++、C、アセンブリ、ファームウェア、マイクロコード、PROMS、および/または他の言語、回路、またはツールなどを使用して、当業者により容易に提供される。
【0049】
一般的なパーティション・イメージ形成および操作の状態
図1から図3は、ユーザがソース・パーティション100をソース位置から宛先位置にコピーするときに発生する、一般的な3つの状態を示す。第1の状態では、宛先でソース・パーティション100のコピーを受け取るために使用可能な空き空間の領域102が、図1に示すようにソース・パーティション100より大きい。第2の状態では、空き空間の領域202は図2に示すようにソース・パーティション100と同じサイズである。図3に示すように、第3の状態では空き空間の領域302はソース・パーティション100より小さい。一般に、ソースと宛先は同じドライブ上、同じコンピュータの異なるドライブ上、または異なるコンピュータ上の異なるドライブ上にある。
【0050】
下記に説明するように、図1から図3は、ソース・パーティション100内で使用空間がどのように分布するか、ソース・パーティション100内でどのファイル・システムが使用されているか、およびその他の要因により、それぞれ複数の特定の状態を表す。ただし、最初に可能性のある状態を、これら3つの図で示された3つのグループに分類することが有効である。
【0051】
図1に示すような状態の多くにおいて、ユーザはソース・パーティション100と同じサイズの新しいパーティションの作成だけが必要である。このような新しいパーティションは、使用セクタをソース・パーティションからそのまま直接空き空間に「直接コピー」することにより作成できる。空き空間がパーティションとしてオペレーティング・システムに見えることが必要な場合は、パーティション・テーブルも更新される。
【0052】
「直接コピー」(「そのまま直接」コピーするとも言う)において、ソース・パーティション100のオフセットNに配置されたユーザ・データのセクタは、空き空間102の同じオフセットNに配置されたセクタにコピーされる。したがって、直接コピー後にソース・パーティション100および(以前は空きであった)空間102の新しいパーティションをスキャンする場合、すべての使用セクタは、各パーティションで同じ順序で、使用セクタ間がすべて同じ間隙(同じオフセット、同じランレングス)で現れる。このような直接コピー機能は、PoweQuest Corporation of Orem、UtahのPartitionMagic(登録商標)およびDriveCopyプログラムが提供する(PARTITIONMAGICはPoweQuest Corporationの登録商標であり、DRIVECOPYは同じく商標である)。
【0053】
直接コピーの変形例では、空き空間102の不良セクタを識別し、ソース・パーティション100を直接コピーする前に、ソース・パーティション100内の任意の使用セクタを再配置する。これにより、実装ソフトウェアが使用セクタを不良セクタ上にコピーすることを防ぐことができる。ファイル・システム構造体(FATテーブルは不良クラスタ番号に印をつけ、他のファイル・システムは他のリスト形式を使用する)を読み取ることにより、および/またはサーフェイス・テスト(あらゆるセクタの読み取り、またはあらゆるセクタの読み書き検証)の実行により、不良セクタが識別できる。
【0054】
ただし、図1に示すようないくつかの状態では、ソース・パーティション100より大きな新しいパーティションを作成することが有効である。たとえば、ソース・パーティション100が1ギガバイト・ディスク・ドライブ上にあり、空き空間102が4ギガバイト・ディスク・ドライブ上にある場合、ソース・パーティション100より3または4倍大きな新しいパーティションを作成し、新しいパーティション内での後のユーザ・データの量の増大を収容するために追加の空き空間を使用可能にすると有効である。これを実行する1つの方法では、直接コピーを使用してソース・パーティション100と同じサイズの新しいパーティションを作成し、次いでPartitonMagicプログラムを使用し、新しいパーティションを所定の位置でサイズ変更して追加の空き空間を含むようにする。
【0055】
本発明は代替方法を提供し、そこではソース・パーティションを変更せずに「オンザフライ」に新しいパーティションをサイズ変更するので、空き空間102に作成される新しいパーティションは、すでに作成時点で追加の空き空間を含んでいる。このように、ソース・パーティション100より実質的に大きな新しいパーティションを作成するために、その後のサイズ変更が要求されない。このようなオンザフライのパーティション増設は、一般にオンザフライのパーティション縮小に多くの点で似ているが、これより容易である。したがって、この説明では、多くの部分をオンザフライのパーティション縮小に当てている。
【0056】
図2に示すような状態について検討すると、一見しただけで、関連ステップだけを直接コピーして、新しいパーティションをソース・パーティション100と同じサイズにしなければならないことが分かる。ただし、ソース・パーティション100より小さな新しいパーティションを作成することが可能である。たとえば、ソース・パーティション100に非使用セクタが十分ある場合、ユーザは従来のファイル・デフラグ・ツール(「デフラグメンタ」または「デフラガ」と呼ばれる)を使用して、各ファイルの使用セクタ間の間隙を埋め、次いでPartitonMagicプログラムを使用してソース・パーティション100をサイズ変更すると、ソース・パーティションは前より小さくなる。PartitionMagicプログラムは、クラスタをパッキングする、すなわち必ずしも同じファイルに属するわけではない使用セクタ間の間隙を埋めることによりパーティションをコンパクションする。ただし、デフラグもクラスタ・パッキングの他の形態も、従来はその後のイメージ形成に備えたソース・パーティションの所定の位置での変更を含んでいる。
【0057】
当業者は、デフラグとクラスタ・パッキングが関連はするが全く同じプロセスではないことを理解されるであろう。デフラグは、クラスタ・パッキングの特定の種類であり、所定のファイル内の少なくともいくつかのクラスタが、連続実行されるようにパッキングされて昇順のシーケンスになる。一般にクラスタ・パッキングは単一ファイルではなく全体としてのパーティションに関連し、単にクラスタを空き空間にパッキングしてパーティションの縮小を可能にする。一般にファイルは、必ずしもパッキングによりデフラグされるわけではなく、このようなパッキングはファイルの断片化を増加させる場合すらある。
【0058】
パーティション境界がシリンダ境界上にこなければならない場合、デフラグまたはコンパクションによりパーティションが縮小される前に、少なくとも1シリンダ分の非使用セクタが存在しなければならない。クラスタ・サイズ変更でも空き空間を作成できる。デフラグされた、および/またはコンパクションされたソース・パーティション100が縮小された場合、直接コピーにより元のソース・パーティション100より小さな新しいパーティションが作成される。
【0059】
本発明は代替方法を提供する。そこでは新しいパーティションに対して「オンザフライ」にデフラグ、および/またはコンパクション、およびサイズ変更も実行するので、空き空間102に作成される新しいパーティションは、すでに作成時点でソース・パーティションより実質的に小さい。ユーザの観点からは、単一パーティション・イメージ形成ステップが、一般に個々のデフラグ、コンパクション、サイズ変更、および直接コピー・ステップに置き換えられた。
【0060】
パーティションのサイズ変更(拡張または縮小)、デフラグ、およびコンパクションに加えて、他のパーティションまたはファイル・システム操作も、本発明に従ってイメージ形成の間オンザフライに実行できる。このような操作には、特に不要データの除去、データ圧縮および解凍、データ暗号化および復号化、CHKDSKツールで実行されるようなファイル・システム保全性チェック、ターゲット上の不良セクタを避けるためのセクタの再配置、および1つのファイル・システムから別のものへの変換が含まれる。イメージ形成の間のオンザフライのパーティション操作の実行は、実質的に個別ステップの実行より効率的である。なぜなら、データ移動、ディスク・ヘッド移動、不要なユーザ介入、および他の時間のかかるステップが大きく削減されるためである。
【0061】
次いで、図3で示すような状態では、空間302がソース・パーティション100より小さいので、一見、新しいパーティションは使用可能な空間302に作成できないように見える。ただし、上記のように、ソース・パーティション100より小さな新しいパーティションの作成が可能である。従来の手法には、ユーザが識別したファイルを削除するファイル・マネージャまたは同様のオペレーティング・システム・ツールの使用、ソース・パーティション100をデフラグするスタンドアロン・デフラグメンタの使用、ソース・パーティション100をより小さくサイズ変更するPartitionMagicプログラムの使用、およびその後のソース・パーティション100(十分小さくなっていると想定する)の空き空間302への直接コピーが含まれる。上記のように、本発明は代替方法を提供し、そこではファイル削除、ファイル・デフラグ、パーティション縮小、およびパーティション・コピーが(ユーザの観点と短縮されたディスク・アクセスに関しての両方から)単一の強化されたイメージ形成ステップにより置き換えられる。
【0062】
上記の概念および方法のいくつかは、図4から図8でさらに説明される。図3のような状態が図4から図8に示されるが、本発明は図1および図2に示すような状態にも適用されることを、当業者は理解されるであろう。
【0063】
図4は、空き空間402より大きなソース・パーティション400を示す。ソース・パーティション400は、上記で説明したソース・パーティション100の1例であり、示すように使用セクタが配置されている。特に、ソース・パーティション400は連続する使用セクタの第1の領域404、および連続する使用セクタの第2の領域406を含む。使用セクタの第2の領域406は、非使用セクタ408により第1の領域404およびパーティション400の終端から離れている。404、406のいずれの領域も、完全に連続するのではなく間隙を含むこと、使用セクタの他の領域が存在可能であること、または領域404、406の1つまたは他方が、他のパーティション400の中には存在しない可能性のあることが明らかであろう。さらに一般的には、所定の様々なパーティションおよび空き空間の例は説明のためにのみ与えられ、本発明の実施が可能である他の多数の状態を除外しない。
【0064】
図5に示すように、パーティション400および空き空間402が内部的に構成され、相互に相対的にサイズが決められ、ソース・パーティション400からの直接コピーにより新しいパーティションが作成される。デフラグ、コンパクション、またはファイル削除が可能であるが、これらは新しいパーティションの作成に要求されない。
【0065】
比較のため、ソース・パーティション400の受け入れに使用可能な空き空間が空き空間402ではなく、図6に示す、それより小さな空き空間602である場合を想定する。上記に説明し、図7に示すように、パーティション400は従来の方法でデフラグでき、領域406を領域404と連続させ、次いでパーティション400を周知のツールを使用してサイズ変更し、その後周知のイメージ形成技術を使用して空き空間602において直接コピーを実施することができる。ただし図8に示すように、本発明のオンザフライ最適化イメージ形成は、小さくパッキングされ、恐らくデフラグされてもいる新しいパーティションを、(a)ユーザには単一の統合されたサイズ変更およびイメージ形成ステップのように見え、(b)従来の手法より効率的であり、(c)ソース・パーティションに対する変更を要求しない、ステップで作成する。
【0066】
一般的なオンザフライ・サイズ変更の方法
図9に、本発明の強化されたイメージ形成方法を一般的に示す。収集するステップ900では、本発明を実装するソフトウェアがソース・パーティションおよびそのコンテキストに関する情報を収集する。この情報は、一般にシステム情報、ディスク・ジオメトリ、および不良セクタ・リストの3つに分類できる。
【0067】
システム情報は、パーティション・テーブル・コンテンツ、ソース・パーティションがブート可能か否かの指示、ソース・パーティションが非表示か否かの指示、検証されたマスタ・ブート・レコード(「MBR」)のコピー、およびロックまたはソース・パーティションおよびパーティション・テーブルへの排他アクセスの他の保証などのオペレーティング・システム情報を含む。システム情報は、ソース・パーティション内で使用されるファイル・システムのタイプ(FAT12、FAT16、FAT32、NTFS、HPFS、Linux、および多数の他のファイル・システムがその例である)などのファイル・システム情報、またファイル割り付けテーブル、ビットマップ、あるいはどのセクタまたはクラスタが使用されているかを示す他の「割り付けマップ」の中の情報のコピーも含む。
【0068】
ディスク・ジオメトリは、バイト単位のセクタ・サイズ、トラック当りのセクタ数、ヘッド数(シリンダ当りのトラック)、およびシリンダ数を含む。ストライピングまたはミラーリングまたは他のフォールト・トレランスの手法が使用される場合、複数のディスクが指定できる。ジオメトリは、システム呼び出しにより取り出すことができる。ディスク以外の記憶デバイス、たとえばRAM、ROM、またはフラッシュ・メモリなどが使用されている場合、ジオメトリはそれを指定し、ページまたは他のブロック・サイズおよびブロック数およびそれらのアドレス付け特性を示す。電池付きのRAM、ROM、またはフラッシュ・メモリは、「ディスク」として編成できる。したがってシーク時間はあまり考慮しなくてよいが、このようなディスクは、ほかにも本発明に従ったパーティション操作およびイメージ形成のために、光または磁気ディスクに交換可能である。
【0069】
不良セクタ・リストは、ソース・パーティション内の不良セクタを識別する。不良セクタは、信頼性のあるデータ保持ができないことがわかっている、またはその疑いのあるセクタである。不良セクタ「リスト」は、リンク・リスト、ビットマップ、FATテーブル・エントリの集合、または不良セクタを識別するその他のデータ構造体である。これは、ファイル・システム構造体により取得されるか、もしくはオペレーティング・システムまたは記憶デバイス・コントローラを呼び出して取得される。また、媒体がオペレーティング・システムまたはファイル・システムの援助なしに受け入れ可能な信頼性を備える場合は、これを省略できる。これは、たとえば不良セクタへのアクセスの試みを識別し、アクセスを試みたシステム呼び出しに通知せずにそれらを内部的に良いセクタにリマップするディスク・コントローラを介して接続されるディスクの場合などである。
【0070】
識別するステップ902では、ソース・パーティションで使用されているセクタが識別される。図4から図8および他で説明されたものを含む多くの場合に、記憶媒体上の空間がパーティションに割り付けられるが、これはパーティション内のファイル・システムが現在使用してはいない。このような状態で、実装するソフトウェアはファイル・システム・データ構造体を使用して、パーティション内のどのセクタが、ユーザ・データまたはシステム・データの保持に使用されているか、およびどれが使用されていないかを決定する。
【0071】
ファイル・システムはビットマップ、ファイル割り付けテーブル、および他の「割り付けマップ」データ構造体を使用して、どのセクタがどのファイルにより使用され、またどのセクタが空いているかを追跡する。空きセクタは、リストまたはテーブル内で明示的に識別できるか、またはパーティション境界内にあるが割り付けマップでは使用中として表示されていないということから暗黙的に識別できる。
【0072】
割り付けマップは、ファイル・システムがファイル空間を一度に1セクタずつ割り付けるときに、セクタ単位ベースで使用セクタを追跡するが、多数のファイル・システムが複数のセクタの連続するブロック、またはクラスタであるファイル・システム割り付け単位を使用する。クラスタ当りのバイト数(またはクラスタ当りの、512バイトのセクタの数の場合もある)が「クラスタ・サイズ」である。ここで使用されるように、「クラスタ」は一般にファイル割り付け単位を表すので、FATまたはNTFSファイル・システムに限定されるものではない。
【0073】
NTFSなどのある種のファイル・システムでは、すべての割り付け(常に割り付けられるブート・セクタおよびバックアップ・ブート・セクタを除く)が同じサイズのクラスタに実施される。FAT12およびFAT16などの他のファイル・システムでは、大きなシステム領域が確保され、ユーザ・データの格納が位置合わせされたクラスタに割り当てられ、またシステム領域境界はクラスタに位置合わせされているが、システム領域内の構造体(空のファイルの数が潜在的に多い割り付けテーブル・エントリなど)は、クラスタに位置合わせされていない。後者の場合、本発明ではクラスタ粒度ではなくセクタ粒度の割り付けマップが、少なくともシステム・セクタについて使用される。
【0074】
一般に、FATファイル・システムのファイル割り付けテーブル、NTFSのビットマップ、および他のファイル・システム構造体については、ベンダにより十分に文書化されているので、当分野の技術の1つでシステム構造体のコピーを検討することにより、どのファイルによりどのセクタが使用されているかを決定できる。したがって、識別するステップ902は、どのファイル・システムがソース・パーティションに存在するかを判別し、ファイル・システム構造体を見つけ出し、それらを読み取ってソース・パーティション内でどのセクタが使用中であるかを識別する。ユーザがオンザフライにファイルを削除するオプション、すなわち1つまたは複数のファイルを新しいパーティションにコピーしないオプションを与えられていない限り、特定のセクタを特定のファイルに結び付ける必要はない。
【0075】
判断するステップ904では、宛先の使用可能な空き空間のサイズが決定される。宛先の空き空間とは、現在使用可能な空間、潜在的に使用可能な空間、またはこれら2つの組み合わせである。現在使用可能な空間とは、新しいパーティションを保持するために十分なサイズの連続する空間であり、まだ何もパーティションが割り付けられていない。潜在的に使用可能な空き空間とは、パーティションの外側であるが連続していないもの、またはパーティションのファイル・システムが使用していないパーティション内部の空間である。潜在的に使用可能な空間を、現在使用可能な空間にするには、パーティションの移動またはサイズ変更が必要である。サイズ変更には、パーティション境界を移動する前のデフラグまたはコンパクションが含まれる。
【0076】
1つの実施形態では、判断するステップ904でディスクまたは他の記憶媒体が領域に分割される。領域のリストが実装するソフトウェアに単独で格納され、そのソフトウェアで内部的に使用される。領域境界が、既存のパーティションの縁部、およびディスクまたは他の媒体の物理的縁部で決められる。各領域には、関連付けられた空き空間のサイズおよび領域がパーティションに割り付けられるか否かを指示するラベルが付けられる。まだパーティションに割り付けられていない領域内の空き空間の量が、領域全体のサイズである。パーティションに割り付けられる領域内の空き空間の量は、ファイル・システムが使用しない空間の量であり、パーティションの最小サイズに関する制限を受ける。領域は順に格納でき、現在使用可能な最大の空間が先頭で、次いで他の現在使用可能な空間がサイズの大きい順に続き、その後潜在的に使用可能な空き空間の最大のもの、次いで他の潜在的に使用可能な空き空間がサイズの大きい順に続く。
【0077】
判断するステップ904は宛先のジオメトリも判断する。これにはソース・パーティションのジオメトリの発見に使用される技術と同様の技術を使用する。すなわちコントローラ・ハードウェアまたはオペレーティング・システムに問い合わせ、システム構成ファイルをチェックし、また(使用の容易さが減少するので、完全に最後の手段として)ユーザに問い合わせる。宛先のジオメトリがソースのものと異なる場合、セクタ・コピー操作において物理(シリンダ、トラック、セクタ)アドレスではなく論理セクタ・アドレスを使用することが可能である。ジオメトリが異なると、新しいパーティションがシリンダ境界上で終わるか、さもなければある種のFATパーティションに課された1024個のシリンダ制限などの、オペレーティング・システム制約を満足するように、後ろに付く空き空間の削除または追加が必要となる場合がある。
【0078】
判断するステップ904は、選択されたおよび/または潜在的な空き空間領域のセクタが不良であるか否かも判断する。これは、ハードウェアに問い合わせる、またはファイル・システム構造体で構成され、ファイル・システムを含むパーティションが移動または削除されたときも維持されているリストをチェックして実施できる。またこれは、各セクタを書き込み操作でテストする、または書き込み後に検証のための読み取り操作でテストしても実施できる。これらの後者の手法は時間がきわめてかかるため、多くの場合任意選択性である。代替方法として、媒体が十分信頼できる場合は、不良セクタ・テストを省略できる。
【0079】
選択するステップ906では、実装ソフトウェアおよび/またはユーザは、パーティション・イメージ形成方法を選択する。この選択は、いくつかの決定を含む。どの空き空間領域を宛先とするか、ファイル削除、ファイル・デフラグ、パーティション移動、およびパーティション・サイズ変更を実行する場合は、どの組み合わせを使用して、ソース・パーティションより大きいまたは小さい空間に新しいパーティションを適合させるか、圧縮、暗号化、または他のユーザ・データ変形を実行する場合は、どの組み合わせをオンザフライに使用するか、他のどのシステム・データ操作をオンザフライに実行するか、およびどの保全性チェックを実行するかなどである。
【0080】
作成するステップ908では、ソース・パーティションからのデータを使用する処理を、新しいパーティションを作成するように誘導する変換マップが作成される。直接コピーの場合、ソース・パーティションのオフセットNのセクタは、常に新しいパーティションの同じオフセットNのセクタにコピーされるので、変換マップはあらゆるマッピングをリストに記載する必要はない。
【0081】
デフラグされるか、さもなければオンザフライにパッキングされる、図8その他のパーティション400などのパーティションの場合、宛先の空き空間の境界は、ソース・パーティションの境界のコピー上に重ね合わされる。重ね合わされた宛先の中に入るソース・パーティション・セクタは、直接コピーされる。直接コピーされた場合に宛先空き空間の外側に出るソース・パーティション・セクタは、宛先内のオフセットに置かれた非使用のセクタにマップされる。変換は、本来なら不良セクタにマップされるセクタもリマップする。
【0082】
セクタをコピーするステップ910では、セクタがソース・パーティションから空き空間にコピーされ、新しいパーティションが形成される。ユーザが特定のファイルを省略するように指定しない限り、ユーザ・データを含むすべてのセクタがコピーされる。省略が指定された場合、これらのファイルのセクタはコピーされない。システム・データを変更するオンザフライ操作が実行されていない限り、すべてのシステム・データ・セクタがコピーされる。たとえば、オンザフライのクラスタ・サイズ変更はFATファイル割り付けテーブルのクラスタ番号を変更し、またファイル・システム変換はシステム構造体を1つのファイル・システム・フォーマットから別のものに変更する。このような場合、操作の結果得られるファイル・システム構造体は、実装ソフトウェアにより処理され、ソース・パーティションの対応するファイル・システム構造体に代わって新しいパーティション内に配置される。
【0083】
更新するステップ912では、新しいパーティション、および、サイズ変更、削除、または新しいパーティション用の空き領域を作成する他の操作を含む、オンザフライになされた変更を示すように、パーティション・テーブルが更新される。パーティション・テーブル・フォーマットは周知のものであり、説明したパーティション・テーブル更新は、PartitionMagicプログラムおよび他の市販されているツールで実行される。わかっている不良セクタも、不良セクタ・リストまたは新しいパーティションで使用される他のファイル・システム構造体に入れられ、不良セクタが記録される。
【0084】
オンザフライ縮小の例
本発明の1つの実施形態では、次のように、イメージ形成中に制限されたパーティション縮小が可能である。通常、パーティションは左縁と右縁を有すると考えられ(いくつかのツールではこれらをユーザ・インターフェイスの中で上端および下端、またはこの逆として表す)、左縁は右縁より小さいアドレス(論理セクタ番号など)を有す。本発明の実装では、ソース・パーティション内で使用されているファイル・システム・タイプが判断され、次いで最右端のファイル・システム構造体、たとえばFATテーブル、NTFSマスタ・ファイル・テーブル、または他のファイル・システム構造体の最右端境界が識別される。ターゲット・パーティション用に使用可能な空間が、ソース・パーティションの左縁からこの最右端のファイル・システム構造体の境界までの距離より小さい場合、ユーザはパーティションが適合するように縮小できず、イメージ形成が実行されないことを通知される。すなわち、ファイル・システム構造体を再配置する試みは実施されない。この手法は、ある種の適合のための縮小機能を備えながら、実装の複雑さを軽減する。
【0085】
さらに複雑な実装では、必要に応じてファイル・システム構造体を再配置し、現在のソース・パーティション内でファイル・システム(システム・データおよびユーザ・データ)により使用されている空間がターゲットの空き空間内に適合しないときのみ、図3の状態でのイメージ形成の試みを拒否する。NTFSなどのある種のファイル・システムでは、ファイル・システム構造体はシステム・ファイル内に配置されるので、それらの再配置にはシステム・ファイルの再配置が含まれる。この手法の変形形態では、システム構造体の再配置によってもターゲットの空き空間が小さすぎるときにユーザに通知し、ユーザにイメージ形成処理から省く(選択されたファイルのオンザフライの削除)ファイルを識別するオプションを与える。
【0086】
別の例では、クラスタがサイズ変更された場合にターゲットの空き空間が十分大きくなるか否かを判断する。すなわち、使用可能な空間がすべての使用クラスタを保持しないが、すべての使用セクタを保持し、クラスタ・サイズ変更が意図されたターゲット・パーティション・サイズ(ファイル・システム・ソフトウェアは、通常所定のパーティション・サイズについて特定のクラスタ・サイズのみを予想、または受け入れる)と互換性があるという、めったに発生しないが識別できる状態がある。この例は、データを使用可能な空き空間に適合させる方法が唯一オンザフライによるクラスタ・サイズ変更である場合、これを実行する。
【0087】
ビットマップおよび「上昇シーク」に関する注釈
ファイル単位のイメージ形成ツールに関する本発明の重要な利点の1つは、ディスク・ヘッド移動の減少およびそれに起因する速度の増加である。本発明の1つの手法は、使用セクタのビットマップまたは他の割り付けマップの取得から始まる。割り付けマップでは、使用可能な空き空間サイズと使用セクタの総計サイズとを比較でき、イメージ形成中のサイズ変更、イメージ形成中の削除、および/またはイメージ形成中のクラスタ・サイズ変更が必要か否かを決定する。割り付けマップはまた、コピーしなければならないセクタ(ファイル・システムが使用するセクタ)、および効率性または利便性の理由によりコピーできるが、ユーザ・データ(非使用セクタ)を保存するためにコピーする必要はないセクタを識別する。
【0088】
NTFSビットマップなどの割り付けマップは、少なくともどのクラスタが使用するために割り付けられているかを示すことにより、パーティションの割り付け状態を表す。また割り付けマップは、ファイル・システムまたはユーザのいずれが使用するのかを示す。FATファイル割り付けテーブル、および開始位置と割り付けられたクラスタの実行の長さを指定する実行マップは、割り付けマップの他の2例である。
【0089】
本発明に従って使用する割り付けマップ用のコードは、ファイル・システムにより異なる。たとえば、NTFSファイル・システムが含むビットマップは、本発明の実装に単に渡すだけでよいが、FATファイル・システムのためには、FATファイル割り付けテーブルから(直接的な方法で)ビットマップを構築しなければならない。
【0090】
状態が図4に示すような場合、または図6に示すような場合でも、多くの場合システム構造体は再配置する必要がない。実装はここでソース・パーティションを通る1つのパスを作成し、使用セクタを読み取ってこれを中間ファイルまたはターゲット・パーティションにコピーする。使用セクタが中間ファイルにコピーされる場合、それらは一緒にパッキングされる。使用セクタが別のディスク上のターゲットの空き空間にコピーされる場合、それらはソース・パーティション内と同じオフセットにそのまま直接コピーされる。セクタ単位のコピーは、ファイル単位のコピーよりずっと迅速である。なぜなら、ディスク・ヘッドはディレクトリに戻ったり、ファイル断片の間や1つのファイルの終端からいくらか離れた次のファイルの先頭まで移動したりするためにジャンプする必要がないからである。この代わりに、ヘッドはいわゆる「上昇シーク」を実行する。ディスク(または他の記憶媒体)を通る「パス」は、1つまたは複数のアクセスの左から右(または右から左)のシーケンス、または昇順(または降順)のセクタ・アドレスの順に実行される(不良セクタを避けるためのコントローラ・リマップを除く)アクセスのシーケンスである。
【0091】
1つの実装では、データ読み取りのいくつかが必要ない場合でも連続読み取りを実行することにより、イメージ形成の速度を上げる。これは、所望のデータをディスク・ヘッドの下(または上)まで運ぶディスク回転を待つ時間を短縮する。ビットマップまたは他の割り付けマップが検索され、連続する使用セクタの「実行」が識別される。第1のバッファがディスクからのデータの第1の読み取りを受信する。この第1のバッファは、非使用セクタが実行の間にあり、実行とそこに介在する非使用セクタが共にバッファ内に適合する場合、非使用セクタと使用セクタを保持できる。次いで使用セクタのみが第2のバッファにコピーされ、これがパッキングされた中間ファイルに書き込まれる。多くの場合、第1の実行を読み取り、ディスク回転を待ち、次の実行を読み取るというように進めるより、2つの(またはそれ以上の)実行を連続的に読み取ることができるように非使用の介在セクタも読み込むほうがより速くなる。同様に、ターゲットが別のディスクであり、コピーが中間ファイルではなく別のパーティションに直接実行される場合は、使用セクタだけ書き込むより、第1のバッファ(第2のバッファは不要)から非使用データを書き込む方が速くなる。もちろん、先のバッファへの埋め込みの最後の実行と次の実行との間の非使用セクタは、現行の埋め込みでバッファの先頭に配置されるが、読み取りまたは書き込みは不要である。
【0092】
状態が図6に示すような場合、次いで実装はソース・パーティションを通る1つのパスとターゲット・パーティションを通る2つのパスを作成する。直接コピーがターゲット・パーティションの外側に使用セクタを配置するオフセットの個所に、ソースを通るパスが到達するまで、直接コピーが実行される。これは、ターゲット・パーティションを通る第1のパスの最後の印を付ける。ターゲットを通る第2の部分的パスの間、ソース内の残りの使用セクタが次いでターゲット内の使用セクタの間の空き空間にコピーされる。これは、図8に示すような状態である。部分的第2のパスは、ターゲット・パーティション全体を移動する必要はない。その代わりに、1つの実施形態では、最左端の空き空間から始まり、最後に再配置された使用セクタ(ブロック406内のセクタなど)がターゲットの空き空間に入れられたときに終了する。次いで、FATまたは他のファイル・システム構造体をこのような再配置されたセクタの個々のオフセットで更新するために、追加のヘッド移動が必要となる。ただし、これでもほとんどの場合、必要なヘッド移動はファイル単位のコピーより十分少ない。
【0093】
別の実装は、2つの割り付けマップをファイルシステムに依存するコードから取得する。1つの割り付けマップは、上記のように使用セクタを識別する。第2の割り付けマップは、ユーザ・データ・セクタとは対照的に、システム・データ・セクタを識別する。システム・データ・セクタ(「システム・セクタ」とも呼ばれる)とは、たとえばFATファイル割り付けテーブル、NTFSマスタ・ファイル・テーブル、HPFSビットマップ、各種のファイル・システムのブート・セクタなどのファイル・システム・データに割り付けられたセクタである。ユーザ・データ・セクタとは、オペレーティング・システムとそのファイル、アプリケーション・プログラムとそのデータ、グラフィック・イメージ、およびファイル・システムに要求されない他のデータを保持するために割り付けられたセクタである。代替実施形態に従うと、第1の割り付けマップはユーザ・データに割り付けられたクラスタを識別し、第2のマップはファイル・システム・クラスタを識別する。割り付けマップは、不良クラスタ、空きクラスタ、および/またはファイル・システムの外側にあるにも関わらずパーティションの内部にあるクラスタも識別する。
【0094】
いずれにせよ、ソース・パーティションを通る第1のパスでは、使用システム・セクタは直接ターゲットにコピーされるのではなく、メモリに格納される。メモリ内のファイル・システム構造体が、次いで必要に応じて使用データ・セクタ再配置、クラスタ・サイズ変更、デフラグ、または他のオンザフライ操作を反映するように調整される。
【0095】
ファイル・システムが、FATファイル・システムのように周知の位置に連続するグループ内のシステム構造体で編成される場合、次いでシステム構造体をメモリに読み取るには、要求されるヘッド移動が非常に小さく、変更されたファイル・システム構造体およびユーザ・データはきわめて少ないパスでターゲット媒体上に配置できる。ファイル・システム構造体が分散されている場合は、それらを識別してシステム構造体割り付けマップを構築するためにいくらかのヘッド移動が必要であるが、いったんそれらの位置がわかると、ソース・パーティションを通る1つのパスでメモリに読み取ることができる。次いでそれらは必要に応じて、イメージ形成中に実行されたパーティション操作を反映するようにメモリで変更される。
【0096】
第2のパスは、ソース・パーティションからユーザ・データ・セクタを読み取る。使用可能なメモリ、使用されるファイル・システム、およびオンザフライに実行されるパーティション操作により、ターゲットを通る1つまたは2つのパスが、変更されたシステム構造体とユーザ・データをすべて配置することが多い。たとえば、すべてのシステム構造体が同時にメモリに常駐し、パーティション操作がクラスタ・サイズ縮小またはパーティション・サイズ変更であり、この操作でユーザ・データ・クラスタの相対的順序が変更しない場合、いくつかのデータの相対的位置が変更された場合でも、変更されたシステム構造体およびユーザ・データは単一パスで配置できる。
【0097】
対照的に、クラスタ・サイズがオンザフライに増加され、データ・セクタの相対的順序が変更するようにセクタの移動が必要であると想定する。このような場合、ターゲットを通るパスがさらに必要である。ただし、ソースからのユーザ・データを受け取る読み取りバッファの内容を操作することにより、ある種の相対的順序の移動がオンザフライに実行できることに注意されたい。
【0098】
すべてのユーザ・ファイルがデフラグ状態でイメージ・ファイルに格納され、どのユーザ・ファイルも他のユーザ・ファイルに対して相対的に再シーケンス化されない場合(たとえいくつかのファイルが削除されても)、クラスタ・サイズが変更されたか否かに関わらず、変更されたシステム構造体およびユーザ・データは単一パスで配置できる。
【0099】
1つの実施形態は、ターゲットを通る3つのパスを作成する。1つは、そのまま直接コピーできるユーザ・データ・セクタを配置し、第2の部分的パスは空き空間に入れられる再配置されたユーザ・データ・セクタを配置し、また第3のパスはセクタ再配置および他の操作を反映する変更されたファイル・システム構造体を配置する。ターゲットを通るパスが3つ必要な場合でも、本発明に従ったオンザフライ操作を使用すると、従来の手法よりより高速かつ/またはより柔軟であることが多い。
【0100】
イメージ・ファイル
オンザフライによるサイズ変更は、ファイルシステムが認識するパーティションをターゲット上に直ちに作成する方法で、ソースからターゲットにコピーしているときに実行できるが、中間ファイル(「イメージ・ファイル」)が作成されるときも実行できる。イメージ・ファイルはアーカイブされ、破壊的なシステム障害のイベント時にコンピュータ・システムの状態を容易に回復できること(「システム回復」)の保証として以外は使用されない。代替方法として、新しいシステムの編成にイメージ・ファイルを使用できる。イメージ・ファイルを使用したシステム回復の場合、ソース・ディスクとターゲット・ディスクは、時には同じものであり、また中間ファイルが通常必要である。日常的なシステムの初期化および編成の場合は、ターゲットは更新されたシステム内のディスクか、または相手先商標による製造会社、付加価値販売業者、システム・コンサルタント、IS部門要員、または同様のエンティティが使用するために最初に用意された、新しいまたは改造されたシステム内のディスクである。
【0101】
図10および図11は、本発明に従った使用に適したイメージ・ファイル・フォーマットを示す。図10は、ヘッダ1002、ビットマップ1004、および存在しないかまたは1つ以上のデータ・セクタ1006の集合を含むイメージ・ファイル1000を示す。ヘッダ1002は、パーティション・サイズ、クラスタ・サイズ、およびファイル・システム・タイプなどのパーティション情報を含む。この情報により、本発明の実施形態はターゲット・ディスク上でパーティション・テーブルの作成または更新が可能である。ヘッダ1002はタイムスタンプ、ユーザ名、およびイメージ・ファイル1000自体の作成または変更に関する他の情報も含む。最後に、ヘッダ1002は、暗号キー、トークン、またはイメージ・ファイル1000の内容へのアクセスの制限に使用される他のアクセス制御情報も含む。
【0102】
ビットマップ1004は、ビットマップ、実行マップ、リスト、または他の割り付けマップである。これは、ソース・パーティションのどのセクタが使用されるかを示す。これは、データ・セクタ1006をターゲットにコピーするときに、それらを正しい相対位置に復元するために必要である。図示するビットマップ1004は、システム・セクタとユーザ・セクタとの区別をせず、またセクタの2つのタイプは、ソース・パーティション内のそれらの配置に従い、データ部分1006に混合配置される。図10に示すフォーマットのイメージ・ファイル1000は市販用に使用されてきたが、発明者の知る範囲では、ここで説明し特許請求する仮想サイズ変更および他のオンザフライ操作と関連して使用されることは以前はなかった。
【0103】
対照的に、図11に示すイメージ・ファイル1100のフォーマットは、オンザフライにサイズ変更を容易にするために、ユーザとシステムのセクタ(またはクラスタ)を区別する点が新しい。ヘッダ1102は、ヘッダ1002と同じ情報を含み、ビットマップが1つではなく2つ存在することを示すフラグまたはバージョン番号または他の指示を備える。これは、代わりにイメージ・ファイル名前付け規則により示すこともできる。
【0104】
2つのビットマップまたは他の割り付けマップは、好ましくは図11に示す順に配置され、どのセクタまたはクラスタがファイル・システム構造体に割り付けられるかを示すシステム・ビットマップ1104が、使用セクタまたはクラスタの残りを示すユーザ・ビットマップ1106の前に置かれる。同様に、好ましくはファイル・システム・データのコピー1108がユーザ・データのコピー1110の前に置かれる。この順序は、特にイメージ・ファイル1100が磁気テープなどの線形媒体またはリムーバブル・ディスクの順序付けられたシーケンスなどの準線形媒体上に格納されるときに、オンザフライのシステム構造体の操作を支援する。
【0105】
イメージ・ファイルからの選択的復元
図11に示す二重割り付けマップ・フォーマットの有益な使用方法の1つは、パーティション内のどのファイルをイメージ・ファイル1100から復元またはコピーするかを指定するイメージ編集である。1つの方法は、図12に示すように進行する。
【0106】
システム情報を読み取るステップ1200では、イメージ編集ソフトウェアがヘッダ1102、システム・ビットマップ1104、ユーザ・ビットマップ1106、およびシステム・データ1108をメモリに読み取る。これによって、グラフィカル・ユーザ・インターフェイスまたは他の周知のインターフェイスを用いたステップ1202において、ユーザにファイルのリストを提示する十分な情報が提供される。メモリでオンザフライに操作されるシステム・データは、ディスク・パーティションからのすべてのシステム・データのビット状態のコピー、またはすべてのデータが必要ではない場合は、ディスク・パーティションからの選択されたシステム・データのビット状態のコピーである。
【0107】
代替方法として、メモリ内のシステム・データはビット状態のコピーではなく、代わりにディスク上の構造体とは異なる形態であり、同じ情報または同じ情報の一部を含むが、それらの情報を従来のファイル・システム・ソフトウェアでは認識されない構造体に編成したものである。適切な代替形態は、所定のクラスタを迅速に探し出すのに便利なようにクラスタを並べるものであるが、参照により本発明書の一部となる、共通に所有される同時係属の1998年7月27日提出、米国特許出願第60/094,327号に記述される。
【0108】
取得するステップ1204では、ソフトウェアがユーザから、復元するファイルのリストまたは他の指定を取得する。これは、ユーザにファイルを明示的に指定させるか、またはユーザにどのファイルを復元しないかを指定させて実行できる。指定は、個々のファイルに関して、もしくはディレクトリまたはディレクトリ・サブツリーに関して取得できる。取得するステップ1204は、キーワード検索、ファイル名のワイルドカード、および他の周知のファイル・システム・インターフェイス技術をサポートする実行コードを含む。
【0109】
決定するステップ1206では、メモリ内のファイル・システム構造体を参照し、イメージ・ファイル1100から復元する必要のあるクラスタまたはセクタを決定する。参照されるファイル・システム構造体は、ファイル・システム・ドライバの技術分野の当事者に周知の方法でディスクからメモリに読み取られるか、またはイメージ・ファイル1100の(一般に連続する)セクタから類似の方法で読み取られる。復元されるクラスタまたはセクタ番号が順にソートされる。復元ビットマップが作成され、ユーザ・データ1110の当該の相対位置にあるクラスタをターゲット・ディスクにコピーすべき場合のみ、ビットがオンになる。
【0110】
ユーザ・データを復元するステップ1208では、選択されたファイルに属するクラスタが、イメージ・ファイル1110からターゲット・ディスクにコピーされる。イメージ・ファイル・データ1110を通る1つのパスだけを作成する必要がある。なぜなら、必要なクラスタは以前のステップで識別され、順に並べられており、またユーザ・データ・セクタはイメージ・ファイル1100に順に格納されているためである。これは、イメージ・ファイル1100が複数のリムーバル媒体に格納されている場合、ユーザが第1のリムーバル・ディスクを装着し、次いで第2のリムーバル・ディスクを装着し、次いで第1のリムーバル・ディスクを戻して装着するというように進める必要性を除去するため、特に有益である。
【0111】
最後にステップ1210で、対応するパーティション情報およびファイル・システム情報がターゲットに格納される。ファイル・システム情報は、イメージ・ファイル1100内の情報1108の一部であり、すべてのファイルまたはディレクトリがコピーされたわけではないことを反映する。パーティション情報は、ヘッダ1102に格納されたパーティション情報と同じである。代替方法として、パーティションはオンザフライにサイズ変更され、小さいファイルの存在を反映してサイズを縮小するか、または本来はターゲット・パーティション内のファイル・システムが直ちに使用できない、ターゲット上の使用可能な空き空間に対応してサイズを増大させる。いずれにせよ、必要な情報はイメージ・ファイル1100の中にあり、また好ましくはステップ1200の結果としてメモリ内にもある。
【0112】
1つの実施形態では、ソース・パーティション・ファイル・システム構造体はイメージ・ファイル1100または物理的にターゲットとは区別される他のソースからも、およびターゲット上にパーティションを配置する前のターゲットからも読み取られる。ソース・ファイル・システム構造体からの情報は、ターゲットの以前の内容に単に上書きするのではなく、ターゲット構造体にマージされる。同様に、ユーザ・データはターゲット上の完全に新しいパーティションに配置されるのではなく、既存のパーティションにマージできる。2つの位置からのユーザ・データおよび/またはシステム・データのオンザフライのマージにより、本発明の実施形態がバックアップとして使用されているイメージ・ファイルからの選択的ファイル復元などの操作をサポートすることが可能になる。個々のファイルを既存のファイル・システムにマージする適切なマージ技術は、従来のファイル・システム・ドライバで使用される技術を利用する。
【0113】
イメージ・ファイルからの復元中の他の操作
図11に示す二重割り付けマップ・フォーマットの他の有益な使用方法も、図13に示すように可能である。ステップ1200と同様またはまったく同じ、システム情報を読み取るステップ1300では、本発明を実施するシステムがヘッダ1102、システム・ビットマップ1104、ユーザ・ビットマップ1106、およびシステム・データ1108をコンピュータ・メモリ(RAM)に読み取る。
【0114】
実行するステップ1302では、ソフトウェアが選択されたファイルについてシステム情報の1つまたは複数のオンザフライ操作をメモリで実行する。パーティション全体またはファイルの特定の部分が操作のために選択される。適切な操作のステップは、セクタ・カウント(またはクラスタ・カウント)を変更し、それによって選択されたパーティション内のファイル・システムのサイズを変更する、パーティション・サイズ変更・ステップ1304、クラスタ・サイズを変更するパーティション・サイズ変更・ステップ1306、ファイル・デフラグ・ステップ1308、クラスタ・パッキング・ステップ1310、ファイル内の少なくとも1つのセクタを再配置する、またはバックアップ・ブート・セクタなどのシステム・セクタを再配置するファイル・再配置・ステップ1312、一貫性および保全性検証ステップ1314、および選択的ファイル削除または復元ステップ1316を含む。
【0115】
これらのステップ1304からステップ1316の各々は、少なくともある種の形態で周知の技術である。たとえば、PowerQuest PartitionMagic(登録商標)プログラムはセクタ・カウントの変更および/またはクラスタ・サイズの変更を行うパーティション・サイズ変更を実行し、またクラスタ・パッキングも実行する。ただし、これらの操作はディスクのイメージ形成のコンテキストの中で実行するのではない。代わりに、PartitonMagic(登録商標)プログラムは一度に1つのパーティションを操作する。ファイル・デフラグ・プログラムおよびファイル・システム変換プログラムも周知の技術である。ChkDsk、ScanDisk、PartitionMagic(登録商標)プログラム、および他の周知のツールが、検証するステップ1314に適切な一貫性および保全性の検証を実行する。ただし、本発明に従って、検証するステップ1314および他のステップは、システム構造体のメモリに常駐するコピーを使用して実行されることに注意されたい。ファイル削除およびファイル・コピーまたは復元は、従来のシステムおよび方法により様々なやり方で実行される。ファイル再配置は、たとえばHPFSパーティションがサイズ変更され、中央ディレクトリ帯がより大きなまたはより小さなパーティションの新しい中央に移動したときに発生する。
【0116】
ただし、これらの操作のすでに周知の実施形態では、関係するファイル構造体はすでにメモリ常駐であるか、またはイメージ・ファイル1100にパッキングされていると想定していない。さらに、以前の手法はこれらのステップを、イメージ形成中のオンザフライ操作の一部とするのではなく、ディスク・イメージ形成と独立した個別の順次ステップとして使用する。ステップ1304からステップ1316は、ユーザにはイメージ形成および他のステップが単一の操作のように見えるという点からも、また統合されたステップで以前の手法よりもデータ移動が少なくて済むという点からも、本発明のディスク・イメージ形成にしっかり統合される。
【0117】
ユーザ・データを復元するステップ1318では、選択されたファイルに属するクラスタが、イメージ・ファイル1100からターゲット・ディスクにコピーされる。イメージ・ファイル・データ1110を通る1つのパスだけを作成する必要がある。なぜなら、以前のステップで必要なクラスタは識別され、順に並んでいるからである。最後に対応するパーティションおよび操作されたファイル・システム情報が、ステップ1320でターゲットに格納される。
【0118】
その他の実装のヒント
本発明の様々な実装に関連して記述すべき、いくつかの他の注意点がある。
【0119】
使用セクタのビットマップ、およびシステム・セクタのビットマップ(システム・ビットマップが存在する場合)は、イメージ・ファイルの最前部近くに格納すると都合がよい。最後の(最右端)使用セクタのオフセット、および最後のファイル・システム構造体セクタのオフセットも、イメージ・ファイルの最前部近くに格納する。
【0120】
イメージ・ファイルがターゲット・パーティションの多数のコピーの作成に使用される場合、パーティション操作は、イメージ・ファイルからターゲットの段階の間複数回実行するのではなく、ソースからイメージ・ファイルへの段階において一度だけ実行するのが最適である。
【0121】
使用セクタはイメージ・ファイルにパッキングできるので、必ずしもファイル・システム構造体で示されたオフセットにある必要はない。それらは、ターゲットにコピーされるときにパッキング解除される。
【0122】
ディスク・ジオメトリ制約は、無視するか、またはイメージ・ファイルで対処できる。イメージ・ファイルはシリンダ境界で終わる必要はない。イメージ・ファイルはZipディスク(ZipはIomega Corp.の商標である)などのリムーバル・ディスク上に格納されたときなど、複数のディスクに渡ることができる。
【0123】
転送速度と、ユーザ・インターフェイス内の更新の円滑な進行との間の平衡を取るときに、兼ね合いが必要である。一般にバッファが大きいと転送速度が速くなるが、またこれでは、バッファが一杯になったとき、メモリ内の操作が完了したとき、またはオンザフライ操作における他の標識的段階にきたときにのみ進行中であることがユーザに通知される場合、ユーザに対する通知の回数が減少する。
【0124】
パーティションは、データ破壊または消失を防ぐために、本来ならばオンザフライ操作において得られるアクセスからロックまたは除外されるべきである。
【0125】
ファイル・システムを調整するときに、PartitionMagicプログラムおよびその他のツールが守るべき意味論的制約は、オンザフライ操作ツールによっても一般的に守られるべきである。たとえば、FATファイル・クラスタ境界を考慮するべきである。
【0126】
セクタ、バイト、クラスタ、または他のコピーされる単位のカウントを、システム・クロックの呼び出しと関連して保持することにより、転送速度が監視できる。
【0127】
ターゲット・パーティションが作成された後で、新しいパーティションがDOSおよびWindowsオペレーティング・システムで有効なドライブ文字を受け取れるように、リブートする必要がある。HPFSの「ダーティ・フラグ」およびWindows NTのドライブ文字指定状態などの、他のファイル・システムまたはオペレーティング・システムの特性を守るべきである。
【0128】
代替実施形態についてのいくつかの注意
本発明の範囲にある製品は、コンピュータが読み取り可能な記憶媒体の回路基板の特定の物理構成と組み合わせた、コンピュータが読み取り可能な記憶媒体を含む。基板構成は、この明細書で説明された特定の事前定義された方法でコンピュータを動作させるデータおよび命令を表す。適切な記憶デバイスは、フロッピー・ディスク、ハード・ディスク、テープ、CD−ROM、RAM、および1つまたは複数のコンピュータが読み取り可能な他の媒体を含む。このような各媒体は、マシンによりこの明細書で説明されたように実質的に実行可能なプログラム、関数、および/または命令を明確に実施する。
【0129】
説明を容易にするために、方法のステップは特許請求された方法のいくつかで省略されている場合でも、図中に示されている。実施においては、この詳細な説明の中でステップが任意選択として明示的に記述されているか否かに関わらず、関連する請求項目の中で要求されない限り、ステップは省略できる。
【0130】
同様に、1つのステップの結果が別のステップで要求されるときを除き、他の順序または同時に実行できる場合でも、ステップは特定の順序で図示される。たとえば、ソースおよび宛先に関する情報は、一般に図示された順序で、反対の順序で、またはオーバラップする(同時の)方法で取得できる。同様に、ステップ1304からステップ1306は、様々な順序と組み合わせで実行できる。
【0131】
またステップは、繰り返しが明示されていない場合でも、繰り返すことができる。たとえば、複数コピーは、コピーするステップ910を繰り返すことにより作成でき、また検証するステップ1314は、図示された他のステップのいくつか、または個々のステップの前後に実行できる。
【0132】
さらに、1つのステップに関連してなされた説明が他のステップにも関連するので、説明を明示的に繰り返すことが不要であることを、当業者は理解されるであろう。たとえば、不良セクタは、様々な特許請求された方法の中で、ステップ900、904、912、1306、1308、1310、1312、および1318に関係しないか、またはこのいくつかに関係する。
【0133】
ステップは、別の名前をつけることができる。最後に、方法ステップに関する上記の注意点に類似する注意点が、システムまたは記憶媒体の特許請求項目の要素に適用される。
【0134】
この明細書の中で、本発明を実施する特定の方法を明確に図示し説明したが、本発明の方法に従って装置および製品の実施形態を形成できることが理解されるであろう。したがって、特に明示的に示さない限り、ここに記載された本発明の方法の説明は、対応する装置および製品に拡張され、本発明の装置および製品の説明は、同様に対応する方法に拡張する。特に記述のない限り、含まれる項目のリストは例として示すものであり、他の項目を除外するものではない。「含む」とは、「からなる」ではなく「備える」を意味する。「FAT」は、FAT12、FAT16、FAT32、FAT32X、およびそれらの派生的ファイル・システムである。
【0135】
本発明は、その本質的な特性から逸脱せずに、他の特定の形態において実施できる。説明された実施形態は、すべての点において説明するものにすぎず、制限するものではないと見なされる。本発明で使用される特定の原理のここでなされた説明は、説明のためにすぎない。したがって、本発明の範囲は、前述の説明ではなく、添付の特許請求の範囲により示される。特許請求の範囲と同等な意味および範囲に入るすべての変更が、範囲の中に包含される。
【0136】
特許請求され、特許により保護されることが望ましいものは、次のとおりである。
【図面の簡単な説明】
【図1】ソース・パーティションおよび空き空間領域の相対的サイズを示す図であり、空き空間は、ソース内のユーザ・データおよび対応するファイル・システム構造体を共に含むターゲット・パーティションを受け取る。
【図2】ソース・パーティションおよび空き空間が実質的に同じサイズである場合を示す、図1に類似する図である。
【図3】ソース・パーティションが使用可能な空き空間より実質的に大きい、前出の2つの図に類似する図である。
【図4】ソース・パーティション内のファイル・システムによる使用空間と空き空間の割り付けに特に注目した、図3に示す種類の1つの状態をさらに示す図である。
【図5】図4の使用空間を空き空間にそのまま直接コピーしてターゲット・パーティションを作成した後の結果を示す図である。
【図6】使用空間をそのまま直接コピーすると、空き空間の外側、したがってターゲット・パーティションの外側に置かれるために消失してしまう点が図4で示された場合とは異なる、図3で示された種類の状態を示す図である。
【図7】ユーザ・データを消失せずに使用可能な空き空間内にターゲット・パーティションを作成する、デフラグ、またはその他の場合はソース・パーティションのパッキング、ソース・パーティションの所定の位置でのサイズ変更、次いで小さくなったソース・パーティションの空き空間へのそのまま直接のイメージ形成を含む、図6の状態に対する従来の手法を示す図である。
【図8】オンザフライのパーティション・パッキング、およびイメージ形成中のサイズ変更を含み、これによってユーザ・データの消失なしに使用可能な空き空間内にターゲット・パーティションを作成し、一方でまた不要なデータ移動を防ぎ、ソース・パーティションに手を付けずに残す、図6の状態に対する本発明の手法を示す図である。
【図9】本発明の一般的方法を示す流れ図である。
【図10】以前も使用されていたが、本発明の新しい方法およびシステムでの使用にも適するイメージ・ファイル・フォーマットを示す図である。
【図11】新しいイメージ・ファイル・フォーマットを示す図である。
【図12】選択されたファイルのイメージ形成のための、本発明の方法を示す流れ図である。
【図13】イメージ・ファイルからのデータを使用したパーティション操作のための、本発明の方法を示す流れ図である。

Claims (7)

  1. セクタ単位のディスク・イメージ形成およびオンザフライによるサイズ変更の方法であって、
    ソース内のユーザ・データを選択するステップと、
    前記ソースからファイル・システム構造体を読み取るステップと、
    ターゲットを選択するステップと、
    前記ターゲットの空き空間を、現在使用可能な空間及び潜在的に使用可能な空間に基づき決定するステップと、
    前記ソースの空間と前記ターゲットの空き空間との間のサイズ変更関係を判断するステップと、
    いずれも前記サイズ変更関係に基づき実行される、ファイル削除処理、ファイル・デフラグ処理、パーティション移動処理及びパーティション・サイズ変更処理の少なくとも1つの処理を使用するイメージ形成方法を選択するステップと、
    前記選択されたイメージ形成方法の下でサイズ変更中に前記ソースから前記ターゲットにデータをコピーするステップと
    を含み、前記サイズ変更が前記イメージ形成と統合されてデータ移動を減少させる方法。
  2. 前記イメージ形成方法を選択するステップの後に、前記ソースのデータを前記ターゲットの空間に作成するための変換マップを作成するステップを含む請求項1記載の方法。
  3. 前記サイズ変更処理は、オンザフライのクラスタ・サイズの変更を含む請求項1記載の方法。
  4. パーティションの少なくとも一部についてのイメージ形成中、オンザフライ前記パーティションを操作する方法であって、
    前記パーティションの、ヘッダ、ビットマップ及びデータ・セクタを含むシステム・データをコンピュータ・メモリ内にコピーするステップと、
    前記システム・データについて少なくとも1つのパーティション操作を実行するステップであって、前記コンピュータ・メモリ内にコピーされたシステム・データに基づきユーザに操作可能なファイルのリストを提示して、該ユーザによるシステム・データの操作を可能にするステップと、
    操作されたシステム・データをターゲットにコピーするステップと
    を含む方法。
  5. 前記システム・データはヘッダ、システム・ビットマップ、ユーザ・ビットマップ、システム・データ・セクタ、およびユーザ・データ・セクタを含み、前記コンピュータメモリにコピーされるデータはヘッダ、システム・ビットマップ、ユーザ・ビットマップ及びシステム・データ・セクタである請求項4記載の方法
  6. 前記パーティション操作は、セクタ・カウントをサイズ変更する操作、クラスタをサイズ変更する操作、少なくとも1つのファイルをデフラグする操作、クラスタをパッキングする操作、少なくとも1つのファイルを再配置する操作、保全性を検証する操作、選択された少なくとも1つのファイルを削除する操作の内の少なくとも1つを含むとともに、これらのいずれの操作も前記コンピュータ・メモリ内で実行される請求項4記載の方法。
  7. オンザフライパーティションを操作するコンピュータ・システムであって、
    ソース内のユーザ・データを選択する手段と、
    前記ソースからファイル・システム構造体を読み取る手段と、
    ターゲットを選択する手段と、
    前記ターゲットの空き空間を、現在使用可能な空間及び潜在的に使用可能な空間に基づき決定する手段と、
    前記ソースの空間と前記ターゲットの空き空間との間のサイズ変更関係を判断する手段と、
    いずれも前記サイズ変更関係に基づき実行される、ファイル削除処理、ファイル・デフラグ処理、パーティション移動処理及びパーティション・サイズ変更処理の少なくとも1つの処理を使用するイメージ形成方法を選択する手段と、
    前記選択されたイメージ形成方法の下でサイズ変更中に前記ソースから前記ターゲットにデータをコピーする手段
    を含み、前記サイズ変更が前記イメージ形成と統合されたシステム。
JP2000510104A 1997-08-20 1998-08-15 イメージ形成中のコンピュータ・パーティション操作 Expired - Fee Related JP3548529B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US5661697P 1997-08-20 1997-08-20
US60/056,616 1997-08-20
US8745298P 1998-06-01 1998-06-01
US60/087,452 1998-06-01
PCT/US1998/016992 WO1999009513A2 (en) 1997-08-20 1998-08-15 Computer partition manipulation during imaging

Publications (2)

Publication Number Publication Date
JP2001516090A JP2001516090A (ja) 2001-09-25
JP3548529B2 true JP3548529B2 (ja) 2004-07-28

Family

ID=26735522

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000510104A Expired - Fee Related JP3548529B2 (ja) 1997-08-20 1998-08-15 イメージ形成中のコンピュータ・パーティション操作

Country Status (5)

Country Link
US (1) US6253300B1 (ja)
EP (1) EP1025534B1 (ja)
JP (1) JP3548529B2 (ja)
DE (1) DE69842184D1 (ja)
WO (1) WO1999009513A2 (ja)

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6574578B1 (en) * 1999-02-04 2003-06-03 International Business Machines Corporation Server system for coordinating utilization of an integrated test environment for component testing
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US6466952B2 (en) * 1999-04-08 2002-10-15 Hewlett-Packard Company Method for transferring and indexing data from old media to new media
US20010034728A1 (en) * 1999-04-14 2001-10-25 Mcbride Stephen Larry Method and apparatus for automatically synchronizing data to electronic devices across a communications network
US6804689B1 (en) * 1999-04-14 2004-10-12 Iomega Corporation Method and apparatus for automatically synchronizing data to destination media
US20020174329A1 (en) * 1999-04-28 2002-11-21 Bowler Richard A. Method and system for automatically transitioning files among computer systems
GB2353611B (en) * 1999-08-24 2004-03-17 Ibm Disk image backup/restore with data preparation phase
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
JP4114318B2 (ja) * 2000-12-26 2008-07-09 ソニー株式会社 データ記録方法、データ記録装置及び記録媒体
CN1404587A (zh) * 2001-01-05 2003-03-19 美威股份有限公司 使用虚拟驱动的分区的再生成方法、数据处理装置和数据存储装置
JP3629216B2 (ja) * 2001-03-08 2005-03-16 株式会社東芝 デフラグメンテーション機能を有するディスク記憶システム、及び同システムにおけるデフラグメンテーション方法
US7028054B2 (en) * 2001-07-02 2006-04-11 International Business Machines Corporation Random sampling as a built-in function for database administration and replication
US7024401B2 (en) * 2001-07-02 2006-04-04 International Business Machines Corporation Partition boundary determination using random sampling on very large databases
US20030018759A1 (en) * 2001-07-17 2003-01-23 International Business Machines Corporation Method and system for performing computer system cloning
GB0119503D0 (en) * 2001-08-10 2001-10-03 Ritchie Gordon System and method for copying data
US7107299B2 (en) * 2001-08-14 2006-09-12 Hewlett-Packard Development Company, L.P. Method and apparatus for managing large numbers of objects having the same property
US20030046372A1 (en) * 2001-08-31 2003-03-06 Traxler Jonathan M. System, apparatus, and method to configure a server in the field
AU2002326226B2 (en) 2001-09-28 2008-06-12 High Density Devices As Method and device for encryption/decryption of data on mass storage device
MXPA01012371A (es) * 2001-11-30 2003-06-05 Fernando Mejias Butron Manuel Metodo para optimizar el desempe°o de una computadora y medio principal de almacenamiento no volatil optimizado con secciones de proposito especifico.
US6792429B2 (en) * 2001-12-19 2004-09-14 Hewlett-Packard Development Company, L.P. Method for fault tolerant modification of data representation in a large database
US7580991B2 (en) * 2002-01-07 2009-08-25 Sun Microsystems, Inc. Methods and apparatuses to configure and deploy servers
US7565517B1 (en) 2002-04-03 2009-07-21 Symantec Corporation Retargeting a captured image to new hardware while in a pre-boot environment
AU2003226220A1 (en) * 2002-04-03 2003-10-20 Powerquest Corporation Using disassociated images for computer and storage resource management
CN100334566C (zh) * 2002-09-06 2007-08-29 联想(北京)有限公司 在文件系统中访问硬盘任意扇区的方法
US7024581B1 (en) 2002-10-09 2006-04-04 Xpoint Technologies, Inc. Data processing recovery system and method spanning multiple operating system
US8336044B2 (en) * 2002-10-09 2012-12-18 Rpx Corporation Method and system for deploying a software image
US6857011B2 (en) 2002-10-31 2005-02-15 Paragon Development Systems, Inc. Method of remote imaging
US20040141246A1 (en) * 2003-01-17 2004-07-22 Gateway, Inc. Hard disk drive host protected area duplication
DE10301969A1 (de) * 2003-01-20 2004-08-05 Giesecke & Devrient Gmbh Speicherdefragmentierung, insbesondere bei einem tragbaren Datenträger
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7117304B2 (en) * 2003-06-03 2006-10-03 Sun Microsystems, Inc. System and method for determining a file system layout
US7401092B2 (en) * 2003-06-26 2008-07-15 Standbysoft Llc Method and apparatus for exchanging sub-hierarchical structures within a hierarchical file system
US20050132357A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Ensuring that a software update may be installed or run only on a specific device or class of devices
US7614051B2 (en) * 2003-12-16 2009-11-03 Microsoft Corporation Creating file systems within a file in a storage technology-abstracted manner
US7568195B2 (en) * 2003-12-16 2009-07-28 Microsoft Corporation Determining a maximal set of dependent software updates valid for installation
US8818950B2 (en) * 2004-01-22 2014-08-26 Symantec Corporation Method and apparatus for localized protected imaging of a file system
US20050165856A1 (en) * 2004-01-27 2005-07-28 International Business Machines Corporation System and method for autonomic performance enhancement of storage media
TWI253014B (en) * 2004-02-10 2006-04-11 Intervideo Digital Technology Architecture for sharing application programs between operation systems with power-saving effect and method thereof
US7757228B1 (en) * 2004-02-26 2010-07-13 Landesk Software Limited Systems and methods for writing an image to a computer system
US8086572B2 (en) 2004-03-30 2011-12-27 International Business Machines Corporation Method, system, and program for restoring data to a file
US7788460B2 (en) * 2004-04-13 2010-08-31 Intel Corporation Defragmenting objects in a storage medium
US7188212B2 (en) * 2004-05-06 2007-03-06 International Business Machines Corporation Method and system for storing data in an array of storage devices with additional and autonomic protection
US7613889B2 (en) * 2004-06-10 2009-11-03 International Business Machines Corporation System, method, and program for determining if write data overlaps source data within a data migration scheme
US7093157B2 (en) * 2004-06-17 2006-08-15 International Business Machines Corporation Method and system for autonomic protection against data strip loss
US7246216B2 (en) * 2004-07-14 2007-07-17 Lsi Corporation Dynamic partitioning of storage media for mixed applications
TWI265413B (en) * 2004-11-03 2006-11-01 Benq Corp Method and apparatus for partitioning a memory
US7873782B2 (en) * 2004-11-05 2011-01-18 Data Robotics, Inc. Filesystem-aware block storage system, apparatus, and method
EP1815337B1 (en) * 2004-11-05 2013-05-15 Data Robotics, Inc. Storage system condition indicator and method
US20080243955A1 (en) * 2004-12-09 2008-10-02 New Technologies Armor, Inc. Bit Stream Backup Incorporating Parallel Processes
US9639554B2 (en) * 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US8606830B2 (en) * 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US7873596B2 (en) * 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
TW200627157A (en) * 2005-01-26 2006-08-01 Mitac Int Corp Duplication method for one-to-many data storage medium
US7805629B2 (en) * 2005-03-04 2010-09-28 Netapp, Inc. Protecting data transactions on an integrated circuit bus
US8090810B1 (en) 2005-03-04 2012-01-03 Netapp, Inc. Configuring a remote management module in a processing system
US8291063B2 (en) * 2005-03-04 2012-10-16 Netapp, Inc. Method and apparatus for communicating between an agent and a remote management module in a processing system
US7899680B2 (en) * 2005-03-04 2011-03-01 Netapp, Inc. Storage of administrative data on a remote management device
US8010498B2 (en) * 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
US7512833B1 (en) 2005-05-09 2009-03-31 Adam C. Murphy Universal imaging utility program
JP2006338756A (ja) * 2005-05-31 2006-12-14 Toshiba Corp 情報記録装置と情報記録装置の初期化方法
US7991850B2 (en) * 2005-07-28 2011-08-02 Advanced Micro Devices, Inc. Resilient system partition for personal internet communicator
GB0517305D0 (en) * 2005-08-24 2005-10-05 Ibm Method and apparatus for the defragmentation of a file system
US20070064557A1 (en) * 2005-09-19 2007-03-22 Cyberlink Corp. Distributed copying method and system
US20070064324A1 (en) * 2005-09-19 2007-03-22 Cyberlink Corp. Discontinuous copying method and system
US7587573B2 (en) * 2006-01-18 2009-09-08 International Business Machines Corporation System and computer program product for shrinking a file system
US7752391B2 (en) * 2006-01-20 2010-07-06 Apple Inc. Variable caching policy system and method
US20070234000A1 (en) * 2006-03-31 2007-10-04 Dell Products L.P. Method and system for dynamic management of a utility partition in a pre-operating system environment
CN100418319C (zh) * 2006-05-18 2008-09-10 清华大学 透明计算系统中端设备间数据的传送方法
US7818557B2 (en) * 2006-05-24 2010-10-19 Absolute Software Corporation Method for re-imaging a computer system
US8234359B2 (en) 2006-05-24 2012-07-31 Absolute Software Corp. System and method for remotely re-imaging a computer system
US7797696B1 (en) * 2006-06-30 2010-09-14 American Megatrends, Inc. Dynamically updating a computer system and firmware image utilizing an option read only memory (OPROM) data structure
US9395968B1 (en) 2006-06-30 2016-07-19 American Megatrends, Inc. Uniquely identifying and validating computer system firmware
US7590835B1 (en) 2006-06-30 2009-09-15 American Megatrends, Inc. Dynamically updating a computer system firmware image
US7925809B2 (en) * 2006-10-24 2011-04-12 Apple Inc. Systems and methods for storage management in a data processing device
US20080172448A1 (en) * 2007-01-16 2008-07-17 Microsoft Corporation Packetized boot service broadcasting
US7747664B2 (en) * 2007-01-16 2010-06-29 Microsoft Corporation Storage system format for transaction safe file system
US9513892B2 (en) 2007-01-25 2016-12-06 Hewlett-Packard Development Company, L.P. Capturing and deploying an operating system in a computer environment
US20080183988A1 (en) * 2007-01-30 2008-07-31 Yanling Qi Application Integrated Storage System Volume Copy and Remote Volume Mirror
US7797500B1 (en) * 2007-03-21 2010-09-14 Emc Corporation Geometry adaptation using data redistribution
US7769725B2 (en) * 2007-04-23 2010-08-03 International Business Machines Corporation File profiling to minimize fragmentation
WO2009009170A1 (en) * 2007-07-11 2009-01-15 Aderra Inc. Method and device for producing recordings on storage devices
US8683458B2 (en) * 2007-11-30 2014-03-25 Red Hat, Inc. Automatic full install upgrade of a network appliance
US8073884B2 (en) * 2007-12-20 2011-12-06 Hewlett-Packard Development Company, L.P. System and method to derive high level file system information by passively monitoring low level operations on a FAT file system
US8090767B2 (en) 2008-01-07 2012-01-03 Apple Inc. Pairing and storage access scheme between a handheld device and a computing system
WO2009109877A1 (en) * 2008-03-04 2009-09-11 Nxp B.V. Mobile communication device and method for implementing mifare memory multiple sectors mechanisms
US8526278B2 (en) 2008-05-20 2013-09-03 Sharp Kabushiki Kaisha Recording method, recording device, optical disc, optical disc manufacturing method, and optical disc drive device
US8418164B2 (en) 2008-05-29 2013-04-09 Red Hat, Inc. Image install of a network appliance
US8170991B1 (en) * 2008-09-15 2012-05-01 Symantec Corporation Method and apparatus for managing image data on a sequential storage device
US8285680B2 (en) * 2009-01-08 2012-10-09 International Business Machines Corporation Individual object restore
US8204854B2 (en) 2009-03-06 2012-06-19 International Business Machines Corporation Dynamically redirecting a target location during a file I/O operation
TWI389001B (zh) * 2009-06-01 2013-03-11 Mstar Semiconductor Inc 檔案系統及檔案系統轉換方法
US8271771B1 (en) * 2009-06-17 2012-09-18 Symantec Corporation Systems and methods for restoring an image to a software encrypted disk or volume
KR101078289B1 (ko) * 2009-08-25 2011-10-31 한국전자통신연구원 파티션 복구 방법 및 장치
US20110082989A1 (en) * 2009-10-01 2011-04-07 Solid State System Co., Ltd. Structure and method for making a storage card
US8190574B2 (en) * 2010-03-02 2012-05-29 Storagecraft Technology Corporation Systems, methods, and computer-readable media for backup and restoration of computer information
US8954690B2 (en) 2011-02-12 2015-02-10 Andy Vincent Lawrence Systems and methods for managing unstructured data
US20120260049A1 (en) * 2011-04-08 2012-10-11 Nti Corporation Cloning method and system
US8874935B2 (en) * 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US8886963B2 (en) * 2011-09-15 2014-11-11 Apple Inc. Secure relocation of encrypted files
US9852139B1 (en) * 2012-07-02 2017-12-26 Veritas Technologies Llc Directory partitioning with concurrent directory access
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US10013217B1 (en) * 2013-06-28 2018-07-03 EMC IP Holding Company LLC Upper deck file system shrink for directly and thinly provisioned lower deck file system in which upper deck file system is stored in a volume file within lower deck file system where both upper deck file system and lower deck file system resides in storage processor memory
US20160012235A1 (en) * 2014-02-10 2016-01-14 Vivo Security Inc. Analysis and display of cybersecurity risks for enterprise data
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US10048865B2 (en) * 2014-10-24 2018-08-14 Microsoft Technology Licensing, Llc Disk partition stitching and rebalancing using a partition table
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
CN105843631B (zh) * 2015-01-12 2019-02-15 芋头科技(杭州)有限公司 一种提高系统固件烧写速度的方法
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US10055343B2 (en) 2015-12-29 2018-08-21 Memory Technologies Llc Memory storage windows in a memory system
US11372571B2 (en) * 2018-05-07 2022-06-28 Sap Se System and methods for providing a memory slice data structure for use with diverse memory and storage media
US10929359B2 (en) * 2018-08-24 2021-02-23 Ca, Inc. Dynamically reorganizing a dataset using online migration while allowing concurrent user access to data in the dataset
CN111176580B (zh) * 2019-12-30 2023-04-07 成都易我科技开发有限责任公司 分区数据无损移动的方法、装置及可读存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2014799A1 (en) 1989-05-08 1990-11-08 John W. Whisler System and method for reading and writing disks formatted for an operating system foreign to the host computer
US5438671A (en) 1991-07-19 1995-08-01 Dell U.S.A., L.P. Method and system for transferring compressed bytes of information between separate hard disk drive units
ATE166984T1 (de) 1992-10-12 1998-06-15 Leunig Gmbh Einrichtung für die wahlweise datenübertragung und dateiübertragung
JP3554045B2 (ja) 1994-10-28 2004-08-11 富士通株式会社 補助記憶装置の記録内容復元装置および記録復元装置
US5659614A (en) 1994-11-28 1997-08-19 Bailey, Iii; John E. Method and system for creating and storing a backup copy of file data stored on a computer
US5706472A (en) 1995-02-23 1998-01-06 Powerquest Corporation Method for manipulating disk partitions
US5675769A (en) 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
US5758165A (en) 1995-07-07 1998-05-26 Sun Microsystems, Inc. Local area network and network operating system for formatting a client disk and installing a client operating system
US5907672A (en) 1995-10-04 1999-05-25 Stac, Inc. System for backing up computer disk volumes with error remapping of flawed memory addresses

Also Published As

Publication number Publication date
EP1025534A4 (en) 2003-01-22
JP2001516090A (ja) 2001-09-25
WO1999009513A2 (en) 1999-02-25
EP1025534A2 (en) 2000-08-09
EP1025534B1 (en) 2011-03-16
US6253300B1 (en) 2001-06-26
DE69842184D1 (de) 2011-04-28
WO1999009513A3 (en) 1999-07-08

Similar Documents

Publication Publication Date Title
JP3548529B2 (ja) イメージ形成中のコンピュータ・パーティション操作
US6615365B1 (en) Storing a computer disk image within an imaged partition
US6453383B1 (en) Manipulation of computer volume segments
US6108759A (en) Manipulation of partitions holding advanced file systems
US6185575B1 (en) In-place disk partition canonization and storage optimization
US6185666B1 (en) Merging computer partitions
JP4199993B2 (ja) スナップショット取得方法
US6377958B1 (en) File system conversion
US5930831A (en) Partition manipulation architecture supporting multiple file systems
US6173291B1 (en) Method and apparatus for recovering data from damaged or corrupted file storage media
US7293133B1 (en) Performing operations without requiring split mirrors in a multi-class file system
US7831789B1 (en) Method and system for fast incremental backup using comparison of descriptors
US8019925B1 (en) Methods and structure for dynamically mapped mass storage device
US8650168B2 (en) Methods of processing files in a multiple quality of service system
EP0415346B1 (en) Method and system for dynamic volume tracking in an installable file system
US7620772B1 (en) Methods and structure for dynamic data density in a dynamically mapped mass storage device
US8818950B2 (en) Method and apparatus for localized protected imaging of a file system
US20150301758A1 (en) Metadata for data storage array
JPH1069408A (ja) ホールを利用するファイルシステムレベルでのデータ格納方法及びデータ格納装置
KR20000022716A (ko) 로그 구조화 목표 저장장치를 사전에 구성하여 볼륨을 효율적으로 복사하는 방법 및 장치
JP2000298608A (ja) コンピュータデータ記憶媒体及びメモリ管理方法
JP2004013276A (ja) ファイルシステム及び記録媒体
JP4221959B2 (ja) ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体
Currier The Flash-Friendly File System (F2FS)
PARTITION J enevein et ai.

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040206

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040416

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20090423

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100423

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110423

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130423

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20140423

Year of fee payment: 10

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees