JPH10512379A - ディスク・パーティションをマニピレートする方法 - Google Patents

ディスク・パーティションをマニピレートする方法

Info

Publication number
JPH10512379A
JPH10512379A JP8525762A JP52576296A JPH10512379A JP H10512379 A JPH10512379 A JP H10512379A JP 8525762 A JP8525762 A JP 8525762A JP 52576296 A JP52576296 A JP 52576296A JP H10512379 A JPH10512379 A JP H10512379A
Authority
JP
Japan
Prior art keywords
partition
disk
data
cluster
sector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP8525762A
Other languages
English (en)
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
Priority claimed from US08/393,805 external-priority patent/US5675769A/en
Application filed by パワークエスト コーポレイション filed Critical パワークエスト コーポレイション
Publication of JPH10512379A publication Critical patent/JPH10512379A/ja
Pending legal-status Critical Current

Links

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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Closing And Opening Devices For Wings, And Checks For Wings (AREA)
  • Making Paper Articles (AREA)
  • Vessels And Coating Films For Discharge Lamps (AREA)
  • Investigating Or Analysing Biological Materials (AREA)
  • Manufacture, Treatment Of Glass Fibers (AREA)
  • Percussion Or Vibration Massage (AREA)
  • Toys (AREA)

Abstract

(57)【要約】 方法は、IBM−コンパチブル・パーティション・テーブル(32)によって定義されたディスク・パーティションの非破壊的マニピレーションを許容する。ディスク・パーティションは、一つ以上のディスク・ドライブ(4)に装着された一つ以上のディスク(2)に配置されうる。割り込まれたマニピレーションは、割込みの点に近いマニピレーションの進行の点で再開されうる。利用可能なマニピレーションは、パーティションのファイル・システム構成の完全性を検証すること;パーティションについての情報を表示すること;異なる位置にパーティションを移動すること;パーティションをサイズ変更すること;及びファイル・システム・クラスタをサイズ変更することを含む。サイズ変更段階は、ファイル割当てテーブルを用いるファイル・システムを特に参照して説明される。これらのマニピレーションを実行するために必要な詳細は、ユーザからの一般的なディレクションだけを必要とするインプリメンティング・プログラムによって行われる。それゆえに、本発明は、技術的複雑性に不慣れなユーザに、拡張パーティション及び論理パーティションを含んでいる、IBM−コンパチブル・ディスク・パーティションを容易にマニピレートさせる。

Description

【発明の詳細な説明】 ディスク・パーティションをマニピレートする方法発明の分野 本発明は、コンピュータ・ディスク・ドライブの選択したパーティションのマ ニピレーション(操作)を許容する。より特定的には、本発明は、ハード・ディ スク・パーティションを安全に縮小し、拡張し、移動し、かつ複写し及びFAT パーティションにおけるクラスタ・サイズを安全に変更する方法に関する。発明の背景 コンピュータは、データを記憶するために多種多様なディスクを用いる。ディ スクは、“光”ディスクが“磁気”ディスクから区別される場合のように、採り 入れられる記憶媒体によって分類される。ディスクは、また、“フロッピー”ま たは“ハード”としても分類される。ハード・ディスクは、一般的に、フロッピ ー・ディスク(“フロッピー”)よりも大きい記憶容量、高速なデータ・アクセ ス時間、及び長い耐用寿命を有する。しかしながら、ハード・ディスクとは異な り、フロッピーは、“取り外し可能”である。即ち、フロッピーは、ディスクの データへのアクセスをコンピュータに供給するディスク・ドライブから容易にリ リースされ、かつディスク・ドライブに再装着される。 図1は、ディスク・ドライブ4に装着されたディスク2を示す。ディスク・ド ライブ4は、ディスク・ドライブ4の読取り及び書込み要求を行うコンピュータ ・システム6と信号通信にある。コンピュータ・システム6は、メモリ10とデ ィジタル信号通信にある少なくとも一つのプロセッサ(“CPU”)8を備えて いる。適当なメモリ10は、ランダム・アクセス・メモリ、リード−オンリー・ メモリ、及びこれら二つのメモリ型の組合せを含む。 コンピュータ・システム6は、また、少なくとも一つのプログラム記憶媒体を 備えることができる。適当な記憶媒体12は、特定の物理的基板構成を有してい る磁気、光、または他のコンピューター読取り可能記憶デバイスを含む。適当な 記憶デバイスは、フロッピー・ディスク、ハード・ディスク、テープ、CD−R OMs、PROMs、RAM、及び他のコンピュータ・システム記憶デバイスを 含む。 基板構成は、コンピュータ・システムをここに説明したような特定及び所定の 方法で動作させる命令及びデータを表す。そこで、媒体12は、本発明によるデ ィスクパーティション操作段階を実行すべくプロセッサ8によって実行可能であ るプログラム、機能、及び/又は命令を有体的に組み込む。本発明によるある実 施例では、命令は、操作されるディスクパーティションも含む媒体12に記憶さ れる。他の実施例では、命令は、媒体12の1インスタンスに記憶されかつ一つ 以上の他の媒体12のディスクパーティションが操作される。 ディスク2は、フロッピー及びハード・ディスクの両方の物理的特性を示す。 ディスク2は、シリンダ14のような多数の同心データシリンダを含む。シリン ダ14は、セクタ16及び18を含んでいる、多数のデータ・セクタを含む。セ クタ16及び18は、ディスク2の上面20に位置決めされる;さらなるセクタ は、ディスク2の下面22に位置決めされうる。ディスク2の面20、22は、 プラッタ24を定義する。フロッピー・ディスクは、一つのプラッタだけを含み 、それゆえに片面または両面のいずれかである。説明の明瞭化のために一つのプ ラッタ24だけが図1に示されるが、ハード・ディスクは、しばしば多数のプラ ッタを含み、それゆえに一つ、二つ、またはそれ以上の面を含みうる。 ディスク2の上面は、ドライブ4に固定されたアーム28に取り付けられたヘ ッド26によってアクセスされる。ディスク2の異なるシリンダをアクセスする ために、アーム28は、所望のシリンダの位置に従ってヘッド26をディスク2 の中心に向けてまたはディスク2の周縁に向けて動かす。シリンダ内の異なるセ クタをアクセスするために、ドライブ4は、軸30の回りにディスク2を回転さ せ、それによりヘッド26の近傍に所望のセクタを回転する。更なるプラッタの 面を含んでいる、ディスクの更なる面は、更なるディスク・ドライブ・ヘッドに よって同様な方法でアクセスされうる。ディスクの各面が対応しているディスク ・ドライブ・ヘッドによってアクセスされるので、ヘッドの数は、ドライブにア クセス可能であるディスクの面の数を示すためにときどき用いられる。例えば、 両面ディスクは、ダブル・ヘッド型ドライブでアクセスされる。 ディスク2の所与のセクタは、ヘッド、シリンダ、及びシリンダ内のセクタを 特定することによって識別されうる。ヘッドは、ゼロから始まって、下方へ向か うドライブの最上部から一般的に番号付けられる。シリンダは、ゼロから始まっ て、内側に向かうプラッタの外縁(outside edge)から一般的に番号付けられる。 シリンダ内のセクタは、ディスク・ドライブのディスク回転の方向によって、か つ1で始まる、時計回りまたは反時計回りのいずれかに向かうディスク媒体のマ ーカーから一般的に番号付けられる。この方法でヘッド番号、シリンダ番号、及 びセクタ番号を特定しているトリプレットは、“物理セクタ・アドレス”として 知られている。例えば、図1において16としてラベル付けられたセクタは、( ヘッド0、シリンダ7、セクタ2)の物理セクタ・アドレス、またはより正確に は、(0、7、2)の物理アドレスを有しうる。用語“アドレス”及び“ポイン タ”は、ここでは、区別なく用いられている。 代替的に、所与のセクタは、“論理セクタ・アドレス”によって識別されうる 。各論理セクタ・アドレスは、トリプレット(三重項)の数よりも単一の数であ る。セクタの論理アドレスは、順番に全ての利用可能なセクタを横切るある特定 の経路に沿ったディスク2の“第1の”セクタとアドレス指定されたセクタとの 間のセクタ数に対応する。“セクタ・ゼロ”として知られる、第1のセクタは、 (0,0,1)の物理セクタ・アドレスにしばしば配置される。一つの一般的な 横断経路は、論理セクタ・ゼロで始まり、ヘッド・ゼロのシリンダ・ゼロにおけ るセクタを横断し、ヘッド1のシリンダ・ゼロのセクタを横断し、それゆえに各 後続ヘッドのシリンダ・ゼロを通って進み、ヘッド・ゼロのシリンダ1のセクタ に進み、カツ同様な方法で継続する。しかしながら、他のディスク横断経路も用 いられる。 (セクタ16、18によって例示された)セクタは、ディスク・ドライブ4に よって認識された個別にアドレス可能なディスク記憶の最小単位である。いずれ かのセクタ内の個別ビットは、セクタ全体をメモリ・バッファに読取り、問題の ビットを上書きし、そしてディスク2にセクタ全体を戻して書込むことによって のみ変更することができる。 しかしながら、プロセッサ8で実しているソフトウェアは、個別のセクタで常 に動作しない。特に、ディスク2のデータを編成するために用いるフォーマット を定義することを支援する“ファイル・システム”ソフトウェア、及びそのデー タを読取りかつ書込むべくディスク・ドライブ4を起動するファイル・システム “ドライバーズ”は、最小アドレス可能記憶単位としてセクタを扱う必要はない 。一つの一般的に用いられるファイル・システム、ファイル・アロケーション・ テーブル(File Allocation Table)(“FAT”)ファイル・システムは、それ ぞれ一つ以上のセクタの“クラスタ”にセクタを割り当てるように構成されてい る。各クラスタは、2nセクタを含み、ここでnは、ゼロからMaxまでの範囲 にありかつMaxは、64Kバイトのクラスタ・サイズを与える。ディスク2が 最初にフォーマットされる場合に、nの値は、固定され、かつディスク2の使用 中に一般的に変化しない。クラスタ・サイズは、ディスク2をリフォーマットす ることによって通常のツールで変更することができるが、しかし、そのようなリ フォーマッティングは、リフォーマットされた領域に記憶された全てのユーザ・ データへのアクセスを破壊するように、破壊的である。 ファイル・システムは、ディスク上のデータの物理編成を定義するために“パ ーティション”との組合せで一般的に用いられる。パーティションは、ディスク 2に配置される“パーティション・テーブル”の内容によってしばしば定義され る。例えば、MACINTOSH(Apple Computer,Inc.の登録商標)(マッキ ントッシュ)コンピュータは、MACINTOSHオペレーティング・システム 用に特に構成されたコンポジションを有しているパーティション・テーブルを用 いる。多くのSUN(Sun Microsystems,Inc.の登録商標)ワークステーション ・コンピュータは、SunOS(Sun Microsystems,Inc.の登録商標)ファイル ・システム用に特に構成されたパーティション・テーブル・コンポジションを用 いる。他の例は、たくさんある; 異なるパーティション・テーブル・コンポジ ションは、異なるオペレーティング・システム及び異なるファイル・システムの ようにほとんど一般的であり、その数は、数百に及ぶ。 残念ながら、異なるパーティション・テーブル・コンポジションは、通常、互 換性がない。第1のパーティション・テーブルの内容を正確に変更する詳細な方 法は、第1及び第2のテーブルが異なるコンポジション規則を用いるならば、第 2のパーティション・テーブルの内容をしばしばスクランブルする。MACIN TOSHパーティションにおけるディスク・セクタの数を低減するための詳細な 方法は、例えば、SunOSパーティションを縮小することにおいてほとんど援 助にならないだろうし、かつSunOSパーティション・テーブルに適用された ならばデータ損失をもたらすであろう。 “IBM−コンパチブル”パーティション・テーブルとしてここに示された、 一つのパーティション・テーブル・コンポジションは、多くのIBM(Internat ional Business Machines Corporation の登録商標)パーソナル・コンピュータ 及びIBM−コンパチブル・コンピュータに用いられるディスクに見出される。 IBM−コンパチブル・パーティション・テーブルは、フロッピー及びハード・ ディスクの両方で用いられうるし、かつそれらは、磁気ディスク、光ディスク、 及び他の記憶媒体を採り入れているディスクで用いられうる。IBM−コンパチ ブル・パーティション・テーブルは、上述した経路とは異なる横断経路を採り入 れているスキーム及びディスクの各パーティションに対してゼロで再び最初から やり直す論理セクタ・アドレスを割り当てるスキームを制限なしで含んでいる各 種のディスク・セクタ・アドレス指定スキームでも用いられうる。 図2に示すように、IBM−コンパチブル・パーティション・テーブル32は 、初期プログラム・ローダ(Initial Program Loader)(“IPL”)識別子34 、4つの主要パーティション識別子36、及びブート識別子38を含む。図3に 示すように、各パーティション識別子36は、問題のパーティションがブート可 能であるかどうかを示すブート・インジケータ40を含む。パーティション・テ ーブル32によって定義された一組のパーティションのせいぜい一つのパーティ ションは、あらゆる所与の時間でブート可能である。 また、各パーティション識別子36は、問題のパーティションにおける最初の セクタの物理セクタ・アドレスである、開始アドレス42、及び パーティショ ンの最後のセクタの物理セクタ・アドレスである、終了アドレス44も含む。セ クタ・カウント46は、パーティションにおけるディスク・セクタの合計数を保 持する。ブート・セクタ・アドレス48は、物理開始アドレス42に対応してい る論理セクタ・アドレスを保持する。1024シリンダ以上を有しているディス クでは、開始アドレス42及び終了アドレス44は、実際の値がパーティション ・テーブル32に与えられた空間に記憶するにはあまりにも大きいならば、所定 の最大値を含む;実際の値は、セクタ・カウント46及びブート・セクタ・アド レス48から導くことができる。 あるIBM−コンパチブル・コンピュータ・システムは、“論理パーティショ ン”と共にちょうど説明した主要パーティションを許容する。全ての論理パーテ ィションは、一つの主要パーティション内に含まれる;論理パーティションを含 む主要パーティションは、また、“拡張パーティション”としても知られている 。論理パーティションは、パーティション識別子36の一つ以上のリストによっ て表される。各リストは、パーティション識別子P1、P2、P3、またはP4 の一つに通常のファッションで装着される。それゆえに、IBM−コンパチブル ・パーティション・テーブルによって定義された一組のパーティションは、その 主要パーティションが拡張パーティションであるかどうかに係わりなく、あらゆ る定義された主要パーティションを含み、かつパーティション識別子36によっ て定義されるあらゆる論理パーティションも含む。 各パーティション識別子36は、また、システム・インジケータ50も含む。 システム・インジケータ50は、パーティションに含まれたファイル・システム の型を識別し、次いでディスク2(図1)のパーティションに記憶されるデータ の物理構成(物理配列)を定義する。システム・インジケータ50は、種々のフ ァイル・システムを指定するために所定の定数値を用いる。例えば、定数値01 Hは、MS−DOS(Microsoft Corporation の登録商標)オペレーティング・ システムによって最初に用いられた型の12−ビットFATファイル・システム を示す。他の値は、CP/M−86(Novell,Inc.の登録商標)ファイル・シス テム、XENIX(Microsoft Corporation の登録商標)ファイル・システム、 NOVELL(Novell,Inc.の登録商標)ファイル・システム、MS−DOSオ ペレーティング・システムの16−ビットFATファイル・システム、及びPC IXファイル・システムを含んでいる、他のファイル・システムを指定する。特 定のオペレーティング・システムによって認識されない値は、未知のファイル・ システムを指定しているものとして扱われる。 システム・インジケータ50は、MS−DOSのような、特定のオペレーティ ング・システムと共に最も広く用いられている、12−ビットFATファイル・ システムのような、ファイル・システムを指定しうる。しかしながら、オペレー ティング・システム及びファイル・システムは、コンピュータの異なるコンポー ネント(構成部分)である。ディスク2(図1)の特定のパーティションに関連 付けられたファイル・システムは、データがパーティションに記憶される、フォ ーマット、具体的には、問題のパーティションの開始アドレス42及び終了アド レス44によって区切られたディスク2の部分におけるファイル・システム構造 及びユーザ・データの物理構成(物理配列)を決定する。あらゆる所与の時間に 、各パーティションは、それゆえに、せいぜい一つの型のファイル・システムを 含む。 オペレーティング・システムは、ディスク2へのアクセスだけでなく、他のコ ンピュータ資源へのアクセスも同様に管理する。オペレーティング・システムに よって一般に管理された資源は、一つ以上のディスク及びディスク・ドライブ、 メモリ(RAM及び/又はROM)、マイクロプロセッサ、及びキーボード、マ ウス、スクリーン、プリンタ、テープ・ドライブ、モデム、シリアル・ポート、 パラレル・ポート、またはネットワーク・ポートのようなI/Oデバイスを含む 。 オペレーティング・システムは、ファイル・システム・ドライバを介して部分 的にディスク2をアクセスする。これらのドライバは、ファイル・ネーム及び読 取り/書込み要求のようなより抽象的な情報を、セクタ・アドレス及び物理ディ スク・アクセスのようなより詳細な情報に変換すべくファイル・システムについ ての内部ファイル・システム・データ及び仮定を用いる。ファイル・システム・ ドライバの適切な使用により、単一のオペレーティング・システムは、異なるフ ァイル・システムに従って記憶されたファイルをアクセスすることができる。例 えば、OS/2(International Business Machines Corporation の登録商標) オペレーティング・システムは、FATファイル及び高性能ファイル・システム (High Performance File System)(“HPFS”)ファイルの両方をアクセスす ることができる。ファイル・システム・ドライバは、パーティションに含まれる ファイル・システムの型を変更しない。ファイル・システム・ドライバは、パー ティションのサイズ、ディスク2(図1)のパーティションの位置、またはFAT パーティションのクラスタ・サイズのような特性も変更しない。 IBM−コンパチブル・パーティション・テーブルの内容を変更することは、 時として望ましい。例えば、コンピュータを用いている人は、更なるデータをそ のパーティション内のファイルに記憶させるべく特定のパーティションを拡張す ることを望むであろう。逆に、ユーザは、より少ないディスク・セクターをパー ティションに割り当てるべく特定のパーティションを縮小することを望むであろ う。パーティションに割り当てられたディスク・セクターの数を実質的にまたは 正確に保存すると同時に、ディスクの異なる位置にパーティションを移動するこ とは、また、都合がよいかまたは必要であろう。 IBM−コンパチブル・パーティション・テーブルの変更への一つの通常のア プローチは、ディスク外の全ての必要なユーザ及びシステム・データをテープま たは別のディスクのような一時的な記憶位置にコピーすることによって開始する 。コピーされたデータは、テキスト的文書(textual documents)及びスプレッド シートのようなユーザによって生成されたファイルの内容、ワード・プロセッサ のようなアプリケーション、及びディレクトリ情報のようなシステム・データを 走らせるために必要なファイルの内容を制限なしで含む。セクター割当てマップ のようなある内部ファイル・システム・データは、必ずしもコピーされることを 必要としないが、それでもしばしばコピーされる。次いで、慣用のディスク・ユ ーティリティFDISKは、IBM−コンパチブル・パーティション・テーブル を更新するために用いられる。新たに特定されたパーティションは、次いで、慣 用のディスク・ユーティリティFORMATまたは同様なユーティリティでフォ ーマットされる。そして、データは、ディスクの新しいパーティションに戻され てコピーされる。この複写処理の間中にファイル・システム・コピー・ユーティ リティは、ディスクのデータの現行位置を反映している適切な新しいファイル・ システム構造を生成する。 パーティション・マニピレーション(操作)に対するこのアプローチは、複数 の欠点を有する。適当な記憶容量を有する一時的記憶デバイスは、情況により容 易に利用可能または入手可能ではないであろう。一時的記憶が利用可能であって も、大量のデータをディスクから一時的記憶にコピーし、そして再び戻すことは 、かなりの期間(substantial period of time)を要する。 更に、このような方法でIBM−コンパチブル・パーティション・テーブルを マニピレート(操作)することは、間違えるしかつ多くのコンピュータ・ユーザ に対して危険である。FDISKユーティリティは、ユーティリティがIBM− コンパチブル・パーティション・テーブル、物理ディスク・アドレス、論理パー ティション、拡張パーティション、パーティションに関するオペレーティング・ システム仮定、クラスタ・サイズ、ファイル割当てテーブル、及び関連する事項 の複雑性に慣れているということを想定する。これらの技術的な詳細に不慣れな ユーザは、データを容易にかつ不注意に破壊するであろう。 ユーザが新しいパーティションの正しいサイズまたは位置を間違って算出した ならば、あまり重大ではないがしかしそれにもかかわらず望ましくない情況も起 こるであろう。例えば、パーティションが一時的記憶から全てのデータを受け取 るにはあまりにも小さくなされたならば、再びリフォーマットすべく、FDIS Kでパーティション・テーブルを再び変更し、かつ一時的記憶からリフォーマッ トされたパーティションに全てのデータを再びコピーすることが必要になる。最 初に全てが望み通りに作動したとしても、パーティション変更に対するこのアプ ローチは、非常に時間を消費するものである。数百メガバイトのデータを保持し ている一般的なディスクでは、処理は、成功裏に完了するために数時間を必要と する。 一つのファイル・システムから別のファイル・システムにパーティションを変 換することは、時には望ましい。例えば、一つの既知のアプローチは、FATパ ーティションをHPFSパーティションに変換する。しかしながら、変換は、所 定の位置で行われる。即ち、FATファイル・システム構造が対応HPFSファ イル・システム構造に変換される間、ユーザ・データは、ディスクの同じセクタ ーに実質的に残されたままである。このアプローチは、HPFSファイル・シス テム構造を保持すべく十分な更なるディスク空間についてだけを必要とするとい う利点を有する。 しかしながら、事実上、全変換動作の間中、パーティションは、ノー・シング ル(no single)の既知のファイル・システムに一致するハイブリッド状態にある 。それゆえに、ファイル・システム変換が割り込まれたならばユーザ・データは 、損失されるに違いない。特に、コンピュータに対するパワーが変換中に一瞬で も割り込まれるならば、データは、損失されるであろう。更に、このアプローチ は、パーティションを縮小し、拡張し、かつ移動するための手段と、または変換 の前後におけるファイル・システムの完全性及び自己一貫性を検査するための効 率的手段と統合されない。 ある通常のパーティション・マニピレーション・アプローチは、パーティショ ンを縮小することに限られる。それらは、パーティションのサイズを保存してい る間に、パーティションを拡張するかまたはディスクの新しい位置にパーティシ ョンを移動するためのケイパビリティを供給しない。更に、パーティション縮小 オペレーションの間中にコンピュータへのパワーが割り込まれたならば、既知の アプローチは、ユーザ・データを損失させる。 更に、FATパーティションにおけるクラスタをサイズ変更すること(resizin g clusters)に対する唯一の先に既知のアプローチは、ディスク・パーティショ ンの破壊的リフォーマッティングである。 更に、パーティション・サイズ変更に対する既知のアプローチは、オペレーシ ョン前後のファイル・システムの完全性及び自己一貫性を検査する手段と統合さ れない。一つのパーティション・サイズ変更アプローチは、全てのクラスタの位 置におけるシフトを必要とし、それにより、サイズ変更が割り込まれたならばサ イズ変更するために必要な時間だけでなくデータ破損の危険性をかなり増大する 。更に、悪いセクターがディスク・パーティションに存在するならば、そのよう なアプローチは、データを損失する。そして、ある既知のパーティション・サイ ズ変更オペレーションは、サイズ変更の結果としてファイル・システム構造にお いてしばしば起こる条件(conditions)を適切に扱わない。発明の目的および概要 それゆえに、技術的な複雑さに不慣れなユーザにユーザ・データを破壊するこ となくIBM−コンパチブル・ディスク・パーティションを容易にサイズ変更さ せかつ再構成させる方法を提供することは、この技術分野における進歩であろう 。 望むように、FATクラスタ・サイズを増大するかまたは減少するような方法 を提供することも進歩であろう。 パーティションのマニピレーションの間の電源故障のような割込みによっても たらされたデータ損失を防ぐような方法を提供することは、更なる進歩であろう 。 論理パーティション及び拡張パーティションを適切にサイズ変更しかつ再構成 するような方法を提供することも進歩であろう。 パーティション内のファイル・システム・データの完全性及び一貫性を効率的 に検査するような方法を提供することは、更なる進歩であろう。 ディスク・パーティションをマニピレートするそのような方法がここに開示さ れかつクレームされる。 本発明は、IBM−コンパチブル・パーティション・テーブルによって定義さ れたディスクパーティションをマニピレートする方法を提供する。ディスクパー ティションは、一つ以上のディスク・ドライブに装着された一つ以上のディスク に配置されうる。各パーティションは、12−ビットFAT、16−ビットFA T、またはHPFSのような、関連ファイル・システム・タイプを有する。 本方法によれば、パーティション・テーブルは、ディスクから最初に読み取ら れる。テーブル内容は、パーティション・マニピレーションにおける先の試みが 電源故障によって割り込まれたということを示す、RPIシステム・インジケー タを含みうる。RPIがディスクに存在するならば、通知段階は、割り込まれた マニピレーションは、再開されているということをユーザに知らせる。さもなけ れば、段階は、要求したパーティション・マニピレーションを妨げる他の処理を ロックアウトすべくなされる。チェックマーキングまたはジャーナリングの よ うなデータ回復方法は、また、割込み点の近くで方法のリザンプションを許容す るために用いられる。 利用可能なマニピレーションは、制限なしに:パーティションのファイル・シ ステム構成の完全性及び内部一貫性をチェック(検査)することまたは検証する こと; その位置、大きさ、及び関連ファイル・システム・タイプのようなパー ティションに関する情報を表示すること;パーティションを現在保持しているデ ィスクの異なる位置または別のディスクにパーティションを移動すること;パー ティション内に異なる数のディスク・セクタを含むべくパーティションをモルド (成形)することまたはサイズ変更すること;FATパーティションのクラスタ をサイズ変更すること、を含む。 段階は、ファイル・システム・データ構造における不一致性(不整合性)また は選択したパーティションの完全における他のブリーチ(不履行・違反)を検出 すべくマニピレーションの一つ以上の点でなされる。エラーが検出されたならば 、ユーザは、知らされる。本方法によって変更されたディスクの条件(状態)は 、次いで、可能な程度に復元されかつ制御は、呼び出し環境に戻される。 サイズ変更段階は、HPFSファイル・システム及びFATファイル・システ ムを特に参照して説明されるが、種々の他のファイル・システムを保持するパー ティションをリシェープすることにおいても有用である。バウンド決定段階の間 に、所望の変更パーティションの最大及び最小サイズが決定される。エッジ決定 段階は、変更パーティションを生成するために選択したパーティションのどのエ ッジが移動されるかにより適切なアクションを取る。大きさ決定段階は、変更パ ーティションの開始及び終了物理アドレスを特定することによって変更パーティ ションの正確な大きさを決定する。 選択したパーティションが拡張されるならば、大きさ決定段階の後にある更な る段階がなされる。追加されるディスク・セクタは、ブロッキング段階中に悪い セクタを捜し出しかつブロック・アウトすべくまずテストされうる。生成段階の 間、復元セクタは、マニピレーションが割り込まれる場合にデータ復元を許可す るために提案した変更パーティションの最後のセクタに生成される。調整段階の 間に、パーティション・テーブルの内容は、変更パーティションの大きいサイズ を反映すべく調整されかつRPIは、ディスクに配置されて、パーティションを MS−DOS、OS/2、及び他の慣用オペレーティング・システムに対して認 識不能にする。ビットマップス、セクタ割り当て構成、またはファイル割り当て テーブル・エントリは、ディスクの新たな領域に対して必要であれば生成される 。 パーティションが縮減されるかまたは拡張されるかに係わりなく、大きさ決定 段階は、変更パーティションのファイル・システム構成のサイズ及び位置を決定 する。調整段階は、次いで、選択パーティションと変更パーティションの間の相 違を反映するために必要なようにファイル・システム構成のサイズ、位置、及び 内容を調整する。エキジッティング段階(exiting step)は、一時的に割り当てら れたディスク空間を解放し、ディスクからRPIを除去し、一般的に清掃(クリ ーン・アップ)し、そしてそれを呼び出したソフトウェアに制御を戻す。ある場 合にはエキジッティング段階は、パーティション・テーブルまたはファイル・シ ステム構成における変化がオペレーティング・システムによって検出されるよう にコンピュータをリブートするように付勢する。 移動/複写段階は、種々の慣用または未知のファイル・システムを用いてパー ティションを複製することにおいて有用である。位置決定段階は、変更パーティ ションのエッジの位置を決定する。本方法は、第1のディスク・ドライブに装着 された第1のディスクにある第1の位置から、第2の位置へパーティションを移 動しかつ複写するケイパビリティを提供する。第2の位置もまた第1のディスク にあるか、またはそれは、第2のディスク・ドライブに装着された第2のディス クにありうる。 生成段階の間中、第1のリストが選択パーティションの内側の全ての悪いセク タからなる。テスト段階の間中、提案した変更パーティションによって追加され た全てのセクタがテストされ、かつ見出された悪いセクタは、第2のリストに配 置される。生成段階の間中、全ての悪いセクタの複合リストは、ちょうど説明し た第1及び第2のリストから生成される。さもなければ変更パーティションの悪 いセクタに複写される選択パーティションのディスク・セクタを占有しているデ ータまたはシステム情報は、それらが変更パーティションの良いセクタに代わり に複写されるように再配置される。 選択パーティションの内容は、次いで複製される。変更パーティションに対す る悪いセクタ・リストは、更新され、かつエキジッティング段階は、清掃(クリ ーン・アップ)し、ディスクからRPIを除去し、かつ適切なような、呼出し環 境へ、またはリブートへ戻るように出る。代替方法は、外部(foreign)または未 知のパーティションの移動及び複製を許容する。 これらのマニピレーションを実行するために必要な詳細は、ユーザからの一般 的な指図だけを必要とするプログラムをインプリメントすることによってなされ る。そこで、本発明は、技術的複雑性に不慣れなユーザに、論理及び拡張パーテ ィションを含んでいる、IBM−コンパチブル・ディスク・パーティションを容 易にサイズ変更させかつ再構成させる方法を提供する。また、本方法は、パーテ ィションのマニピレーションの間中に電源故障のような割り込みによってもたら されたデータ損失を防ぐためにRPI及びデータ復元段階も用いる。方法は、ま た、マニピレーションの間中に種々の点におけるパーティション内のファイル・ システム・データの完全性及び一貫性を効率的にテストする。 本発明の特徴及び利点(効果)は、添付した図面と共に以下の説明及び請求の 範囲を通してより完全に明らかになるであろう。図面の簡単な説明 本発明の利点(効果)及び特徴が得られる方法を説明するために、上記に概説 された本発明のより特定な記述は、添付した図面を参照することによって行われ る。これらの図面は、本発明の選択した実施例を供給するだけであり従ってその 範疇を限定するものであると考えるべきではないということを理解することによ り、本発明は、以下に説明する添付した図面の使用を通して更なる特異性(限定 性)及び詳細で記述されかつ説明されるであろう: 図1は、コンピュータ・ディスク・ドライブの部分断面図である。 図2は、IBM−コンパチブル・パーティション・テーブルを説明している図 である。 図3は、図2に示したパーティション・テーブルの一部を更に説明している図 である。 図4は、本発明の好ましい方法を説明しているフローチャートの最初の部分で ある。 図5は、図4に示したフローチャートの更なる部分である。 図6は、本発明のコンピュータ−ベースド・インプリメンテーションに対する グラフィカル・ユーザ・インターフェイスを説明しているコンピュータ画面の正 面図である。 図7は、図5に示したパーティション・マニピレーティング段階を更に説明し ているフローチャートである。 図8は、FATファイル・システムを採用しているパーティションに関して図 7に示したパーティション・サイズ変更段階を更に説明しているフローチャート である。 図9は、HPFSファイル・システムを採用しているパーティションに関して 図7に示したパーティション・サイズ変更段階を更に説明しているフローチャー トである。 図10は、FATファイル・システムを採用しているパーティションに関して 図7に示したクラスタ・サイズ変更段階を更に説明しているフローチャートであ る。 図11は、FATファイル・システムを採用しているパーティションに関して 図7に示したクラスタ・サイズ変更段階を更に説明しているフローチャートであ る。 図12は、図7に示したパーティション移動/複写段階を更に説明しているフ ローチャートである。実施例 同様な部分が同じ番号によって参照されるような図をここで参照する。本発明 は、ディスク・パーティションを物理的にマニピレートする方法に関する。本発 明は、パーティション・サイズ変更、クラスタ・サイズ変更、パーティション移 動、複製、及び他の段階を備えている。 上記したように、各パーティションは、12−ビットFAT、16−ビットF AT、FAT−コンパチブル、CP/M−86、XENIX、NOVELL、P CIX、またはHPFSのような、関連ファイル・システム・タイプを有する。 本発明は、IBM−コンパチブル・パーティション・テーブルによってディスク 2(図1)の主要パーティションとして定義されたHPFS及びFATパーティ ションを参照して説明される。本発明は、また、FATパーティション・サイズ 変更及びFATクラスタ・サイズ変更に関しても説明される。しかしながら、当 業者は、本発明の範疇が多種多様な一つ以上のディスクの主要及び論理パーティ ションの両方のマニピレーションを含むということを理解するであろう。 当業者は、ディスク2、ディスク4、及びディスク2かつコンピュータ・メモ リの内部ファイル・システム構造の作業知識(working knowledge)を有する。彼 らは、また、一般に、ファイル・システム及びオペレーティング・システムの理 解も有する。HPFSファイル・システムに関して、HPFSファイル・システ ムの構成を記述する“HIGH PERFORMANCE FILE SYSTEM”に対してJames G.Letwi nに発行された米国特許公報第5,371,885 号のそれらの部分は、ここに参考文献 として採り入れる。FATファイル・システムに関して、FATファイル・シス テムの構成を記述する、Ray Duncanによる“Advanced MS-DOS: The Microsoftgu ide for Assembly Language and C programmers”,ISBN 0-914845-77-2,1986 の第8章は、ここに参考文献として採り入れる。ディスク・パーティション・マニピレーションの概要 ディスク・パーティションをマニピレートする本発明の好ましい方法は、図4 及び図5のフローチャートによって説明される。モルディング・ディスク・パー ティションにおいてユーザを支援するために本発明のこのフローチャート及び/ 又は他の教示をインプリメントするコンピュータ・プログラムは、ここでは、“ インプリメンティング・プログラム”と称される。当業者は、CまたはC++の ようなコンピュータ言語、通常のコンパイラ及びリンカ、並びにコンピュータ・ プログラマに慣用な他のツールを用いることによって本発明による適切なインプ リメンティング・プログラムを容易に生成する。インプリメンティング・プログ ラムは、制限なしでIBM−コンパチブル・パーソナル・コンピュータを含んで いる、通常のディジタル・コンピュータ上で実行しうる。 ディスク更新を含んでいるもののような、インプリメンティング・プログラム の全ての重要な部分は、データ復元方法の適切な利用によって保護されるのが好 ましい。チェックマーキング・データ復元方法は、ディスク書込みの最中に故障 が発生しない限り、データ損失を防ぐ。チェックマーキングは、選択パーティシ ョン内のディスクにプログレス・マーカーを記憶する。プログレス・マーカーは 、 選択パーティションの変更の増加的に増大する部分に対応し、それによって、デ ィスク・ドライブへのエレクトリック・パワーの流れが一時的に割り込まれた後 で変更が再開されるならば再びそれらの部分の全てを繰り返す必要性を除去する 。ジャーナリング・データ復元方法は、一般に、チェックマーキング方法よりも 速くかつディスク書込み最中にパワーが故障してもデータ損失を防ぐ。ジャーナ リングは、パーティション変更の間中いつでもディスクに全てのユーザ・データ の少なくとも一つのコピーを保存し、それによって、変更が一時的に割り込まれ たならばユーザ・データの損失の危険性を低減する。本発明の代替の方法によれ ば、当業者に慣用なデータ復元方法もまた採り入れられうる。 配置段階100では、IBM−コンパチブル・パーティション・テーブル(図 2及び図3)は、ディスク2に配置される。パーティション・テーブルのIPL 34(図2)は、一般的に、その論理アドレスがゼロであるディスク・セクタの 始めに配置される;パーティション・テーブルの他の部分は、ここに記述された パーティション・テーブル・コンポジション及び当業者に慣用な内容を後続する 。 次いで、パーティション・テーブルは、読み取り段階102によってディスク 2から読み取られる。読み取りは、インプリメンティング・プログラムによって 指図された一つ以上の通常のディスク・セクタ読取りオペレーションによって達 成される。多重読み取りオペレーションは、論理パーティションを定義するパー ティション識別子36(図3)の内容を得るために要求されうる。そのように得 られたテーブル内容のコピーは、それらがディスク2で配置されていたようなコ ンピュータ・メモリの同じ相対位置に残されうる。代替的に、メモリのテーブル 内容は、方法の後続段階における使用にさらに都合がよいデータ構造に再構成さ れうる。当業者は、ここにおける教示により適切なデータ構造を容易に決定しう る。 本発明のこの好ましい方法では、テーブル内容は、パーティション・マニピレ ーションにおけるに先の試みが割り込まれたという表示を含みうる。そのような 割込みの一つの原因は、コンピュータへのエレクトリック・パワーの流れの一時 的割込みである。また、割込みは、ソフト・リセット、ハード・リセット、不良 ハードウェア、または他の情況の結果としても生じうる。 そのような割込みからの結果として生ずる不完全パーティション・マニピレー ションがパーティション・テーブルにおけるパーティション識別子36(図3) のシステム・インジケータ50(図3)における独自の“復元パーティション識 別子(recovery partition identifier)”(“RPI”)の存在によって示され るということは、現在好ましい。RPIは、パーティションが“復元パーティシ ョン”であるということ、具体的には、パーティションがHPFSまたは特定の FATファイル・システムのような既知のファイル・システムに関連付けられた 条件にあるのではなく、本方法の割込みに対応している遷移的(過渡的)状態にあ るということを示す。そこで、先に知られたファイル・システムに対応しておら ずかつシステム・インジケータ50に割り当てられた空間における表現が可能で あるような値は、許容RPI値である。一つの現在適切なRPI値は、3C16 進数;他の適切な値は、慣用なオペレーティング・システム及びファイル・シス テムによって用いられた値を調査することによって識別されうる。 従って、識別段階104は、パーティション・テーブルによって定義された各 パーティションに関連付けられたファイル・システムを識別する。識別段階10 4は、テーブル・ルックアップによって、ケースまたはスイッチ・ステートメン トによって、または本発明のRPIを認識する別の慣用手段によって、インプリ メントされうる。次いで、問い合わせ段階106は、RPIがパーティション識 別子36のいずれかにおいて見出されたかどうかを決定すべく識別段階104の 結果をチェックする。 問い合わせ段階106が、パーティション・マニピレーションが割り込まれた ということを決定するならば、通知段階108は、割り込まれたマニピレーショ ンが再開されているということをユーザに知らせる。次いで、方法は、パーティ ション・ロック保証段階110へ進む。他方、問い合わせ段階106が、不完全 マニピレーションが全く保留されていないということを決定するならば、表示段 階112は、ユーザにパーティション・テーブル内容の少なくとも一部を表示す る。表示段階112は、現行パーティション構成に関するフィードバック(帰還) をユーザに供給すべくインプリメンティング・プログラムにおいてグラフィカル ・ユーザ・インターフェイス(“GUI”)と、その構成をモルドするためのコ マンド・インターフェイスとを用いるのが好ましい。 一つの適切なGUI114は、図6に示される。GUI114は、表示段階1 12(図4)によってコンピュータ画面116上に表示される。示されたGUI 114は、発明の態様をインプリメントしかつユタ州オレム(Orem)のPowerQuest Corporationから市販されているPartitionMagicプログラムの部分である。Part itionMagic及びPowerQuestは、PowerQuest Corporationの登録商標である。 GUI114は、ドライブ・ネームを含んでいる、コンピュータに装着された 物理ディスク・ドライブに関する情報をユーザに供給するドライブ・グループ・ ボックス118を含む。ドライブに対応しているアイコンは、パーティション情 報が現在表示されているドライブまたはドライブズを示すべく強調されるかまた はさもなければ外観上変更されるのが好ましい。 パーティション・グラフ120は、パーティションのネーム、相対位置、及び ファイル・システム・タイプを含んでいる、パーティション・テーブルによって 現在定義されたパーティションに関する情報を供給する。パーティション・グラ フ120の左端(left end)122は、最も低い物理アドレス(一般的に(0,0 ,1))におけるディスク・セクタに対応し、パーティション・グラフ120の 右端は、問題の特定ディスクの最も高い物理アドレスにおけるディスク・セクタ に対応する。 カラーまたはグラフィカル・パターンは、パーティション・グラフ120に用 いられうる。カラーまたはパターンは、ファイル・システム・タイプに、パーテ ィションによってクレームされていない自由空間に、及び“拡張された(extende d)”または“他の(other)”(認識されないシステム識別子)のようなパーティ ション特性にカラーを一致させる凡例(legend)126から選択される。図6に示 した例では、パーティションE:及びF:は、それらが論理パーティションであ るということを示すべくボックス128によって包囲される。パーティションC :は、包囲ボックスの欠如によって示されたように、主要パーティションである 。 また、パーティションC:は、現行“選択パーティション”、具体的には、情 報が求められているかまたはそれによりマニピレーション・オペレーションが実 行されるかまたは間もなく実行されるであろうパーティションである。パーティ ションに関する更なる情報は、好ましくは強調されたかまたはさもなければ外観 上変更された現行選択パーティション(パーティションC:)に関する詳細13 2が、パーティション・リスト130に供給される。 オプション・ボックス134は、本方法のこのインプリメンテーションを通し て利用可能であるパーティション・マニピレーション・オペレーションをリスト する。ここに説明するにように、これらのマニピレーションは、パーティション のファイル・システム構成の完全性及び内部一貫性をチェックすることまたは検 証すること;その位置、サイズ、及びFATクラスタ・サイズのような関連ファ イル−システム−特定詳細のようなパーティションに関する情報を表示すること ;パーティションを現在保持するディスクの異なる位置または別のディスクにパ ーティションを移動すること;パーティション内のより小さいかまたはさらに大 きい数のディスク・セクタを含むべくパーティションをサイズ変更すること;及 び一つのファイル・システム構成から別のファイル・システム構成にパーティシ ョンを変換すること、を含む。ここで用いられたように、“ファイル・システム 構成(file system configuration)”は、特定のファイル・システム(例えば、 HPFS、12−ビットFAT)と共に、FATクラスタ・サイズのような基本 ファイル・システム・パラメータを含む。 図4から図6を参照すると、ユーザは、GUI114のようなインターフェイ スを通してかつマウス、キーボード(いずれも図示省略)、または他の慣用入力デ バイスを通してインプリメンティング・プログラムと対話する。取得段階136 の間中、ユーザ対話は、パーティションの選択及びマニピレーション・オペレー ションの選択を結果として生ずる。選択は、当業者に慣用な手段によって通信さ れかつ肯定応答される。 次いで、ロック保証段階110の間中、選択パーティション(図6のパーティ ションC:)のロックされた状態は、保証(確保)される。そこで、ロック保証段 階110が段階108によって到達されるならば、マニピレーションは、割込み の後で再開されかつ選択パーティションは、RPIによって既にロックされうる であろう。しかしながら、割り込みが全く発生しないならば、即ち、段階110 が段階112及び136によって到達されるならば、ロッキング(施錠)は、オ ペレーティング−システム−レベル・ロックによって、他の処理を停止すること によって、RPIを配置することによって、またはこれらの段階のある組合せに よって、確保(保証)される。 それが本発明によりマニピレートされると同時に、パーティションをアクセス することからインプリメンティング・プログラム以外の処理を防ぐために選択パ ーティションをロック(施錠)することが必要である。当業者は、他の処理によ るそのような期待していないアクセスがかなりのデータ損失をもたらしうるとい うことを理解するであろう。 ロッキング(施錠)は、一つ以上の方法によって達成されうる。アクセスは、 ある一定のオペレーティング・システムに供給されるようなオペレーティング− システム−レベル・パーティション・ロックを嵌合することによって防げるとい うことが現在好ましい。例えば、OS/2オペレーティング・システムは、ドラ イブ・レターによって識別されたように、論理ドライブをロックするケイパビリ ティと共に、物理ドライブ全体を施錠するためにケイパビリティを供給する。 オペレーティング−システム−レベル・パーティション・ロックは、あるコン ピュータでは利用可能でない。そのようなコンピュータでパーティションをマニ ピレートすることにおいて、ユーザは、実行することから全ての非インプリメン ティング・プログラム処理、タスク、TSRs、等を停止すべく命令されるのが 好ましい。即ち、ユーザは、インプリメンティング・プログラムだけが、選択パ ーティション及び提案された変更パーティションを保持するディスクへのアクセ スを有するということを保証(確保)しなければならない。 パワー故障またはコンピュータをリブートさせる他の条件は、オペレーティン グ−システム−レベル・パーティション・ロックを不能にしうるか、及び/又は 選択パーティション及び提案した変更パーティションを保持するディスクをアク セスすることができる非−インプリメンティング・プログラム処理を再開始しう る。従って、施錠(ロッキング)は、また、ここに説明したようにRPIの使用 を通しても供給されるということが好ましい。 ディスクへのRPIの配置によって施錠することは、以下の段階を具備するの が好ましい。まず、フリー・ディスク・セクタは、ディスク2の選択パーティシ ョン内に配置される。ディスク・セクタは、ファイル割り当てテーブルまたは類 似構造を更新することによって割り当てられ、かつ選択パーティションに対する 現行システム・インジケータ50(図3)値は、新たに割り当てられたセクタの ディスク2に記憶される。 次いで、ディスク2のシステム・インジケータ50は、選択パーティションに 対応しているパーティション識別子36がRPIを含むように上書きされる。業 界慣習によれば、オペレーティング・システムは、オペレーティング・システム に対して未知なファイル・システムに関連付けられるパーティションを認識する ことを拒否する。定義により、RPIは、既知のファイル・システムに全く対応 しないので、RPIによって通常のシステム・インジケータを置換することは、 選択パーティションをアクセスすることからオペレーティング・システムによっ て定義された制約内で走るオペレーティング・システム及び処理を防ぐ。本発明 のインプリメンティング・プログラムは、そこで制約されない。 それゆえに、本方法の終了前にパワーが故障したならば、オペレーティング・ システムは、選択パーティションを取付けることを一般に拒否しそれゆえに選択 パーティションを自動的に“固定する”ことを試みるのを防ぐ。しかしながら、 インプリメンティング・プログラムは、RPIの存在によって割込みを検出する 。次いで、インプリメンティング・プログラムは、マニピレーションを適切に終 了するか、またはそれが可能でないならば、インプリメンティング・プログラム は、出る前にさらに一貫的かつ通常の条件に選択パーティションを配置すること を試みる。極端な場合には、インプリメンティング・プログラムは、別の記憶媒 体に複写するために選択ファイルをユーザに抽出させるべくデーター救済段階を とりうる。 ここに説明した好ましい方法では、ファイル・システム・データ構造における 不整合性(不一致性)または選択パーティションの完全性における他のブリーチ を検出するためにかなりの注意がとられる。そこで、検証段階138は、パーテ ィション・マニピレーティング段階140に先行し、かつ再検証段階142は、 マニピレーティング段階140に続く。段階138及び142は、ここで“検証 段階”と集合的に呼ばれる。説明した方法では、検証段階138及び再検証段階 142は、異なる時間にファイル・システムで実質的に同じテストを実行する。 本発明による代替の方法では、検証段階138及び142は、それぞれ異なるテ ストを実行しうる。本発明のある方法は、検証段階138及び142のいずれか または両方を省略する。 検証段階138及び142の間に実行されたテストは、パーティションに関連 付けられる特定ファイル・システムに依存する;ファイル・システムは、識別段 階104の間に識別された。データ損失を防ぐために、テストは、未知のファイ ル・システムで実行されない。しかしながら、ディスク読取りは、“悪いセクタ (bad sectors)”、具体的には、ディスク媒体における欠陥によりまたは(しば しば)ディスク・ドライブ・ハードウェア問題により信頼性がないディスク・セ クタ、に対する未知のファイル・システムに関連付けられたパーティションをテ ストするために用いられうる。 FATファイル・システムの完全性をテストすることにおいて検証段階138 及び142は、損失したクラスタ、ブート・セクタの不当値(illegal value)、 または(複製コピーが存在するならば)ファイル割り当てテーブルのコピー間の 不整合性(不一致性)を検索しうる。手短に言うと、検証段階は、MS−DOS ディスク・ユーティリティ・プログラムCHKDSKによって概して実行される それらのチェックを一般的に実行しうる。HPFSファイル・システムの完全性 をテストすることにおいて、検証段階138及び142は、Fnodes間の不 整合(不一致)リンク及びSuperBlockまたはSpareBlockに おける不正値を検査しうるし、かつOS/2ディスク・ユーティリティ・プログ ラムCHKDSKによって概して実行されるそれらのチェックを一般的に実行し うる。FAT、HPFS、または他のファイル・システムに関して、検証段階は 、当業者に慣用な方法でまたはここの教示と共同する新規な方法によって実行さ れうる。本方法は、合成変更パーティションが重大なエラーなしで業界標準CH KDKSプログラムをパスするように選択パーティションをサイズ変更するのが 好ましい。これを達成するための規則のあるものをここに示す;他のものは、 当業者によって容易に決定される。 エラーが検証段階138または再検証段階142によって検出されたならば、 ユーザは、対応する通知段階144及び146によって知らされる。本方法によ って変更されたディスク2の条件は、次いで可能な程度に復元されかつ方法は、 対応するエキジッティング段階148及び150の間にディスク2及びCPUの 制御を放棄する。ファイル・システム・データ構造エラーが全く検出されなかっ たならば、選択パーティションは、エキジッティング段階152の間に解錠され 、それによって、インプリメンティング・プログラム以外の処理によるアクセス に対してディスク2をオープンする。本方法によって変更されたディスク2の他 の条件も、また、エキジッティング段階152の間に、そのような復元がマニピ レーティング段階140の所望の結果に一致する程度まで復元される。代替の方 法では、エキジッティング段階152の間に実行されたアクションのあるものま たは全ては、また、実行されるか、またはこの後に説明されるようにマニピレー ティング段階140の終りで、代わりに実行される。 当業者は、特定のオペレーティング・システムが、インプリメンティング・プ ログラムによってなされたパーティション・テーブルまたはファイル・システム 構造における変化を検出することに失敗しうるということがわかるであろう。そ のような場合には、(段階148、150、152、178、204、282、 304、及び322のような)問題のエキジッティング段階は、そのような変化 がオペレーティング・システムによって検出されるようにすぐにリブートするこ とをコンピュータに付勢する。含まれるオペレーティング・システムにより、そ のような変化は、また、リブートよりもシステム・コールを通してオペレーティ ング・システムに知られるようになる。 図7を参照すると、パーティション・マニピレーティング段階140は、パー ティション−サイズ変更段階154、移動/複写段階156、及びクラスタ−サ イズ変更段階158を含む。パーティション−サイズ変更段階154は、より少 ないかまたはさらに多くの数のディスク・セクタを含むべく選択パーティション をサイズ変更するケイパビリティを供給する。移動/複写段階156は、ディス ク2の異なる位置にまたはドライブ4(図1)以外の異なるディスク・ドライブ に装着されたディスクに選択パーティションを移動するかまたは複写するケイパ ビリティを供給する。クラスタ−サイズ変更段階158は、FATファイル・シ ステムで用いたクラスタ・サイズを変更するケイパビリティを供給する。好まし い実施例では、クラスタ・サイズは、減少または増加することができる。FATサイズ変更 パーティション−サイズ変更段階154を達成するための一つの方法を示して いるフローチャートが図8に示される。上示したように、段階は、パーティショ ン・サイズ変更が割り込まれる場合におけるデータ損失を防ぐためにとられるの が好ましい。適切な段階は、パーティション−サイズ変更段階と共にチェックマ ーキングまたはジャーナリングのようなディスク復元方法の使用を含む。 バウンド決定段階160の間中、“変更パーティション”及び対応“変更クラ スタ・サイズ”の最大及び最小サイズが決定される。ここで用いられたように、 “変更パーティション”は、マニピレーティング段階140(図5)によって選 択パーティションから生成されるパーティションである。“変更クラスタ・サイ ズ”は、FATファイル・システムを用いる変更パーティションにおける各クラ スタのサイズである。パーティション・サイズ変更及びクラスタ・サイズ変更は 、互いに独立に、または組合せて、選択パーティションで実行されうる。 他のパーティションのように、変更パーティションは、変更パーティションに おけるあらゆるセクタの最も低いセクタ・アドレスを有するディスク・セクタに 対応している“左(left)”エッジ と、変更パーティションにおけるあらゆるセ クタの最も高いセクタ・アドレスを有するディスク・セクタに対応している“右 (right)”エッジとを有する。変更パーティションは、近隣のパーティション・ バウンダリ(境界)または物理ディスク・バウンダリ(境界)のいずれかを越え てその左エッジまたはその右エッジのいずれかを押すために安全に拡張すること ができない。他のパーティション及びディスク2(図2)のエッジは、それゆえ に、変更パーティションの最大サイズを拘束する。 変更パーティションの最小サイズは、少なくとも現行パーティションに記憶さ れたデータのサイズ+そのデータを編成するために必要なシステム構造のサイズ +変更パーティション内のあらゆる悪いセクタの合計サイズである。FATパー ティションの最小変更パーティション・サイズは、ルート・ディレクトリによっ て、及びファイル割り当てテーブルによって消費されたディスク空間、及びユー ザ・データによる。本発明は、変更パーティションに現れるべきデータとして現 行パーティションにおける全てのユーザ・データを扱う。しかしながら、ユーザ は、サイズ変更する前に記憶されたデータのサイズを低減するためにファイルを 削除することを決めうる。 また、変更パーティションのサイズは、特定のファイル・システムまたはオペ レーティング・システムによって拘束される。例えば、現行FATファイル・シ ステムは、クラスタ・サイズに基づく最大サイズを有する。他の可能な拘束ファ クタは、選択パーティションに現在割り当てられた全てのファイル及びディレク トリの合計サイズ、選択パーティションにおけるサブディレクトリの数、変更パ ーティションにおいて必要な最小自由空間、変更パーティションにおけるファイ ル・システム構成によって消費されうるディスク空間、及び予想されるファイル 成長に対するさらなるファイル・システム割り当てセクタの生成を許容する安全 ファクタを含む。 最小変更クラスタ・サイズは、以下の表1に示す関係により変更パーティショ ンのサイズによって決定される。表1の値は、バイトで示される;1K=102 4バイト、1M=10242バイト。また、クラスタ・サイズは、クラスタ毎の セクタの数により特定されうる。簡略化のために、FATファイル・システムの ここでの説明は、FATパーティション内側の512バイト論理セクタ・サイズ 及びディスク2(図1)の512バイト物理セクタ・サイズを想定する。しかし ながら、当業者は、他のセクタ・サイズを有する本発明を容易に用いる。 また、変更クラスタ・サイズの最小値は、変更パーティションにおける自由空 間の欠如によっても限定される。変更クラスタ・サイズが半分にされる場合、フ ァイル割り当てテーブルの1コピーを保持するために必要な空間は、ファイル割 り当てテーブルが二倍のクラスタ数を保持するために十分に大きくなければなら ないので、二倍である。しかし、一般に、ファイル割り当てテーブルの拡張に必 要な自由空間の量は、パーティション・サイズと比較して比較的小さい。 また、最大変更クラスタ・サイズは、ディスク2の自由空間の量によっても拘 束されうる。クラスタ・サイズの増加は、平均して、各ファイルに、更なる半分 のクラスタを消費させる。そこで、パーティションが100ファイルを含むなら ば、現行クラスタ・サイズは、2Kであり、所望の変更クラスタ・サイズは、4 Kであり、かつディスク2は、自由空間の150Kを有するだけであり、クラス タ・サイズ変更は、試みれば失敗する。不十分な自由空間による失敗の明らかな 危険性が存在するようなこの及び他の情況では、インプリメンティング・プログ ラムは、要求オペレーションを実行することを拒否するのが好ましい。代わりに 、インプリメンティング・プログラムは、ユーザに情況を説明しかつ不要なファ イルがさらなるディスク空間の特定量を解放すべく削除されるということを提案 する。インプリメンテーションが特定のクラスタ・サイズ変更オペレーション または他のオペレーションを試みるべきでない場合、そのようにするならば、ユ ーザ・データを危険な状態にする。 パーティション−サイズ変更段階154は、選択パーティションの左側エッジ を移動することによって、その右側エッジを移動することによって、または両方 のエッジを移動することによって実行できる。移動すべきエッジの選択は、GU 114(図6)を通してユーザによってまたはインプリメンティング・プログラ ムにおけるデフォルトによって特定されうる。エッジ決定段階162は、移動さ れるエッジにより適切なアクションを行う。右側エッジが移動されるならば、既 存システム及びディレクトリ構成の内側のセクタ・アドレスを全く変更する必要 がない。パーティション−サイズ変更段階154を実行すべく右側エッジを移動 することは、最も簡単なアプローチでありかつそれゆえに好ましいデフォルトで ある。 サイズ変更が左側エッジを移動することによってまたは両方のエッジを移動す ることによって達成されるべきであるならば、全てのディレクトリ及び他のファ イル・システム構成にリストされた全てのセクタ・アドレスは、それによって選 択パーティションの左側エッジが移動されるディスク・セクタの数に等しい定数 Nleft edge shiftによって調整されなければならない。左側エッジが左に移 動されるならば、Nleft edge shiftは、各セクタ・アドレスに加えられなけ ればならない;左側エッジが右に移動されるならば、Nleft edge shiftは、 各セクタ・アドレスから減算されなければならない。Nleft edge shiftによ るこの調整は、ここに説明したようにディスク2へのRPIの配置によってパー ティションが復元パーティション・タイプに変更されたときにだけ安全に実行で きる。さもなければ、インプリメンティング・プログラムが調整中に割り込まれ るならば、パーティションのファイル・システム完全性は、妥協されるであろう しかつデータが失われうる。 パーティションの左側エッジが右側エッジの近くに移動されるならば、現行左 側エッジ位置と新たな位置の間の全てのデータ及びファイル・システム構成は、 左側エッジが再配置される前に再び位置決め(relocate)されなければならない。 さらに、変更パーティション内の所定のオフセットに配置されなければならない 重要なブート・セクタ及び他のファイル・システム構成を移動することは、一般 的に必要である。従って、“復元セクタ(recovery sector)”は、以下に説明す るように生成され、かつブート・セクタ及び他の構成は、パーティションの左側 エッジを移動する前に復元セクタに記録された位置でディスクに保存される。 提案された変更FATパーティションの第1のディスク・セクタのいずれか一 つが悪いセクタでありかつこれらのセクタが変更パーティション内の所定のオフ セットに配置されなければならない構成を受け取るならば、提案された左側エッ ジは、用いることができない、ということがわかるであろう。さもなければ、主 要ブート・セクタ及び他の必要な構成がそれらの悪いセクタ内に少なくとも部分 的に存在するので、変更パーティションの完全性は、かなり妥協されるであろう ということがわかるであろう。そこで、サイズ決定段階164に進む前に、許容 可能な左側エッジ位置を見出すために、二度以上、段階160及び162を繰り 返すことが必要であろう。 サイズ決定段階164は、変更パーティションの開始及び終了物理アドレスを 特定することによって変更パーティションの正確なサイズを決定する。これらの 物理アドレスは、ユーザによって特定された位置に正確に対応しうるか、または それらは、複数のクラスタ・サイズであるパーティション・サイズを達成するた めの調整を反映しうる。サイズ決定段階164の終結で、インプリメンティング ・プログラムは、変更パーティションの所望サイズに対する確定値(definite va lue)、及び選択パーティションをサイズ変更するためにどのエッジが移動されな ければならないかという表示(indication)を有する。 選択パーティションは、パーティション−サイズ変更段階154の間中に低減 または拡張されうる。パーティションが低減されるならば、選択パーティション のバウンダリの外側のディスク・セクタは、変更パーティションを生成するため に加えられない。選択パーティションが拡張されるならば、選択パーティション の左側エッジの左またはその右側エッジの右にあるディスク・セクタは、変更パ ーティションに含まれる。問い合わせ段階166は、低減及び拡張の間を選択す る。 選択パーティションが拡張されているならば、追加されるディスク・セクタは 、 ブロッキング段階168中に悪いセクタを捜し出しかつ締め出すためにまずテス トされうる。変更パーティションを生成すべく選択パーティションに加えられる ディスク領域(“新たな領域”)は、次に示すように悪いセクタに対してテスト されうる。まず、新たな領域の第1のセクタから最後のセクタまで順番に各セク タに既知のパターンを書込む。これは、テスト結果をさもなければ無効にしうる あらゆるソフトウェアまたはハードウェア・ディスク・キャッシュをフラッシュ する効果を有する。そして、ちょうど書き込まれたセクタを読み取る。 フラッシング(flushing)は、かなり時間を消費しうるので、テストされるべき セクタがコンピュータのメモリにまだ存在していないということをさもなければ 保証する方法が存在するならば省くべきである。多くのコンピュータ・システム では、まだ選択パーティションの内側にないセクタは、メモリに読み取られてい そうにないので、フラッシングは、要求されない。 次に、フラッシング及び後続の読取りの間に識別された悪いセクタのアドレス のリストまたはテーブルを保守する。悪いセクタは、セクタ書き込みが失敗した ということを示しているインプリメンティング・プログラムにディスク・ドライ ブからエラー・コードによってそのように識別される。ディスク・ドライブ・ヘ ッド26(図1)を移動するのに費やした時間の量を低減するために、ディスク ・セクタは、この技術分野で知られるように、通し(consecutive order)でアク セスされるのが好ましい。セクタ・アクセス(読取りまたは書込み)が失敗した セクタのアドレスは、悪いセクタのリストに加えられる。結果は、ディスク2の 新たな領域における全ての悪いセクタのコンピュータ・メモリにおける完全なリ ストまたはテーブルである。 本発明の一つの代替の方法によれば、“高速フォーマット(fast format)”フ ラグが設定されたならば、新たなディスク領域における悪いセクタに対するテス トは、省略される。当業者は、この省略が選択パーティションを拡張するために 必要な時間を実質的に減少する傾向にあると同時に、テストを省略することは、 また、ファイル・システム構成が一つ以上の悪いディスク・セクタにおける記憶 位置を割り当てられるという可能性も導入するということがわかるであろう。そ のようなアプローチは、信頼性がなくかつファイル・システムの完全性を危険な 状態にする。従って、妥協は、安全性とスピードの間である。 多くの最新のディスクは、悪いセクタがあまりないかまたは全くないほぼ完全 な媒体(flawless media)を有し、かつ多くのディスク・ドライブは、オペレーテ ィング・システムによるかまたはファイル・システム・ドライブによる直接介入 なしで悪いセクタを再方向変換する(revectoring)ために内部ハードウェア支援 を供給する。そのようなシステムでは悪いセクタに対するテストを省くことから のデータ損失の危険性は、非常に小さい。しかしながら、インプリメンティング ・プログラムは、ディスク・ドライブ4のエージまたは再方向変換ケイパビリテ ィを決定するためにDIPスイッチ設定、メモリ−マップ型ディスク・ドライブ ・レジスタ、または他のハードウェアをアクセスすることができないであろう。 従って、全ての悪いセクタに対するテストを実行することが一般的に好ましい。 最小において、ファイル・システム構成を保持することを標的にされるディスク 2の新たな位置は、悪いセクタを識別しかつ回避することができるようにテスト されるということが好ましい。 生成段階170の間、復元セクタは、提案した変更パーティションの最後のセ クタに生成される。完成した復元セクタは、選択パーティションのシステム・イ ンジケータ50(図3)、(“右側エッジを左側エッジの方向に移動することに よって200メガバイトから127メガバイトにパーティションを縮減する”よ うな)実行されるパーティション・マニピレーションの表示、及びユーザのデー タを保護するために用いられるデータ復元方法のタイプ(型)の情報を含む。パ ーティション・マニピレートの間中、更なる情報は、パワー故障または別の割り 込みの後に方法内の適切な点において方法の再開(resumption)を許容すべく復元 防止方法によって要求されるように復元セクタに記憶される。 変更パーティションの最後のセクタが選択パーティションによって占有される ということが決定されるならば、その最後のセクタのデータは、復元セクタに対 する空間を形成するために別の自由なセクタに移動される。この決定は、どの構 成またはファイルがこの最後のセクタを用いるのかを決定するために全てのファ イル・システム構成及びディレクトリを走査することによってなされる。一度、 最後のセクタを用いている内部ファイル・システム構成が識別されたならば、セ クタは、いずれかに複写されかつ新たな位置を反映すべく適切なファイル・シス テム構成が更新される。これは、用いられるデータ復元方法に協調して達成され るのが好ましい。 調整段階172の間に、パーティション・テーブル32(図2)の内容は、選 択パーティションが拡張されているならば、変更パーティションの大きなサイズ を反映すべく調整される。パーティション・システム・インジケータ50(図3) は、RPIで置換され、MS−DOS、OS/2、及び他の慣用オペレーティン グ・システムに対してパーティションを認識不能にする。パーティション・テー ブルが選択パーティションの左側エッジの近くに配置されるならば、パーティシ ョン・テーブル32は、変更パーティションの左側エッジの近くのその新たな位 置に同時に移動される。次いで、ブート・セクタは、拡張されたパーティション ・サイズを反映すべくディスク2で更新される。 特性決定段階174は、変更パーティションにおけるファイル・システム構成 のサイズ及び位置を決定すべく実行される。FATパーティションのサイズ変更 に使用するように構成される、本発明の一つに方法によれば、この段階174は 、クラスタ・サイズ変更段階158(図7)に関連する全ての内部FATファイ ル・システム構成の新たなサイズ及び位置を決定することを含む。 選択パーティションのFAT構成によって提示された変換基準は、変更パーテ ィション・サイズの見地から可能な程度に従わされる。そこで、変更パーティシ ョン・バウンダリ内に既にある各システム構成は、その構成が変更パーティショ ン内の要求オフセットに配置されない限り、ディスク2の同じ位置に残されるの が好ましい。例えば、ファイル内のほとんどのしかし一般的に全てではないクラ スタは、クラスタ・サイズが増大されるときにその場所に置き去りにされる。 調整段階176は、選択パーティションと変更パーティションの間の相違を反 映するために必要なようにファイル・システム構成のサイズ、位置、及び内容を 調整する。クラスタ・サイズが変更される場合にFATシステム構成をサイズ変 更するための一つの方法は、以下に図10と共に詳細に説明される。 反復型アプローチは、調整段階176の間に用いられるのが好ましい。最初の 試みは、変更パーティションのバウンド(境界)及び問題のファイル・システム の要求事項に一致(整合)する方法で全てのシステム構成を再配置するために行 われる。この最初の試みは、構成の古い位置と新たな位置の間のオーバーラップ によりまたは構成を受け取るのに十分に大きいパーティションにおける連続的な 自由でかつ良いセクタの欠如により失敗しうる。 そのような失敗の場合、移動することができるディスク2のデータ及び他の構 成は、ファイル・システム構成に対して適切で自由な位置を供給すべく移動され 、その後でファイル・システム構成を移動しかつ調整する別の試みがなされる。 再配置されるべき全てのファイル・システム構成を含むために必要なディスク領 域のサイズは、ここの教示の視点から当業者に慣用な技術によって決定される。 次いで、ユーザ・データ領域の内側の一つ以上の連続的領域は、当業者によって 容易に決定される技術を用いてデータを適切にかつ安全に再配置することによっ て選択されかつデータを“クリア”する。サイズ決定、クリアリング、及び調整 段階は、新たにクリアされた領域にファイル・システム構成を再配置することを 終了するために必要なだけ繰り返される。選択パーティションが低減されたなら ば、全てのファイル、ディレクトリ、及び他の構成は、短縮された領域から変更 パーティション内の自由な領域に移動される。これは、マニピレーションの最も 時間を消費する部分ではまれにない。 選択パーティションが拡張されたならば、多くのシステム構成がサイズ変更ま たは移動される必要がないということが可能である。更に、パーティションが低 減されるかまたは拡張されるか(に係わりなく)、ある一定のファイル・システ ム構成が当業者によって容易に決定される技術によって所定の位置でサイズ変更 されうるということがわかるであろう。ファイル・システムの完全性を妥協する ことなく所定の位置に残すことができるシステム構成は、所定の位置に残すのが 好ましい。 エキジッティング段階178は、調整段階176に続く。エキジッティング段 階178が選択パーティションの拡張に続くならば、インプリメンティング・プ ログラムのこのパーティションは、(a)一時的に割り当てられたディスク空間 を解放し、かつ(b)適切に、他の処理が実行できる前にそれを呼び出したかまた はリブートを付勢するソフトウェアに制御を戻す。エキジッティング段階178 がパーティション・サイズにおける低減に続くならば、低減された変更パーティ ションを越えるデータ領域への全てのファイル割り当てテーブル参照は、除去さ れる。パーティション・テーブル32(図2)は、より小さなパーティション・ サイズを反映すべく調整される。 選択パーティションが低減されるかまたは拡張されるかに係わりなく、システ ム・インジケータ50(図3)は、エキジッティング段階178の間に置換され る。FATパーティションでは、システム・インジケータ50の初期値は、変更 パーティションに対応する値によって置換され、それは、初期値と同じである必 要はない。例えば、選択パーティションが12ビットFATパーティションであ りかつ変更パーティションがサイズにおいて32メガバイトより小さい16ビッ トFATパーティションであるならば、12ビットFATファイル・システムの システム・インジケータ50は、サイズにおいて32メガバイトよりも小さい1 6ビットFATファイル・システムのシステム・インジケータ50によって置換 される。 パーティションが低減されるような場合におけるエキジッティング段階178 のクリーン・アップの一部として、本発明によるある方法は、悪いセクタではな くかつまだ割り当てられるパーティションの短縮された領域におけるあらゆるセ クタをチェックする。そのようなセクタが見出されたならば、インプリメンティ ング・プログラムは、パーティション・テーブル32(図2)を変更しない。代 わりに、ユーザは、選択パーティションが低減できないということを知らされ、 かつ制御は、呼出し環境に戻される。この情況は、選択パーティションの自由空 間の全てまたはほとんどが低減によって自由にされる場合または選択パーティシ ョンに多くの悪いセクタが存在する場合に生じうる。HPFSサイズ変更 パーティション−サイズ変更段階154を達成するための別の方法を説明して いるフローチャートが図9に示される。方法の部分は、HPFSファイル・シス テムに特に適用し、方法の他の部分は、種々のファイル・システムのいずれかを 用いるパーティションをサイズ変更することにおいて有用である。 再構築されているパーティションに含まれたファイル・システムのタイプに係 わりなく、段階は、サイズ変更が割り込まれる場合のデータ損失を防ぐためにな されるのが好ましい。これらの段階は、サイズ変更段階154と共にデータ復元 方法の使用を含みうる。 バウンド決定段階260の間中に、変更パーティションの最大及び最小サイズ が決定される。他のパーティション及びディスク2(図1)のエッジは、変更パ ーティションの最大サイズを拘束する。更に、OS/2オペレーティング・シス テムは、シリンダ番号1023を越えて拡張しないパーティションからだけ安全 にブートすることができる。これら及び他の限定は、当業者に慣用である。 決定段階260の間中の最小変更パーティション・サイズの決定は、あるもの が変更パーティションに含まれたファイル・システムのタイプに依存するような 、複数のファクター(要因)を考慮に入れる。考慮したファクターは、選択パー ティションに現在割り当てられた全てのファイル及びディレクトリの合計サイズ 、選択パーティションにおけるサブディレクトリの数、変更パーティションに必 要な最小自由空間、変更パーティションにおいてファイル・システム構成によっ て消費されるであろうディスク空間、及び安全ファクターを一般的に含む。 安全ファクターは、さらなるファイル・システム割り当てセクタの生成を許容 すべく供給される。HPFSパーティションに対する安全ファクターを決定する 一つの方法は、次の段階を備えている。インプリメンティング・プログラムは、 ユーザに質問することによってかまたはインプリメンティング・プログラムのデ フォルトを通して所望の安全ファクターを決定する。ユーザは、予想されるファ イル成長に対する更なる空間を許容すべく増大した安全性ファクターを特定しう る。逆に、ファイル成長に対する空間を許容する必要性がないならば、安全性フ ァクターは、他のパーティションによる使用に対して利用可能なようにディスク ・セクタを自由のままにすべく減少されうる。 インプリメンティング・プログラムは、また、最小受容可能安全性ファクター も決定する。HPFSパーティションに対する最小受容可能安全性ファクターは 、大きさが100メガバイト以下のパーティションに対して合計パーティション ・サイズの少なくとも2%でありかつ大きいパーティションに対して少なくも2 メ ガバイトである。小さな安全性ファクターを用いることは、安全性ファクターに ついてOS/2オペレーティング・システムによってなされた想定に矛盾しかつ データ損失を結果として生じうる。 更に、インプリメンティング・プログラムは、選択パーティションのビットマ ップの全てを試験しかつ自由ディスク・セクタの総数それゆえに現行自由空間( セクタ毎にバイトによって乗算された自由セクタの数)を取得すべく全てのセッ ト・ビット(set bits)(その値が1に等しいそれぞれのビット)を計数する。そ して、インプリメンティング・プログラムは、安全性ファクターとして最小受容 安全性ファクター及び所望の安全性ファクターの最大を用いる。 エッジ決定段階262は、移動されるエッジにより適切なアクションを取る。 右側エッジが移動されるならば、既存システム及びディレクトリ構成の内側のセ クタ・アドレスは、全く変更される必要がない。サイズ変更段階154を実行す るために右側エッジを移動することは、最も易しいアプローチでありそれゆえに 好ましいデフォルトである。 サイズ変更が左側エッジを移動することによってかまたは両方のエッジを移動 することによって達成されるならば、全てのディレクトリ及び他のファイル・シ ステム構成にリストされる全てのセクタ・アドレスは、先に説明した定数Nleft edge shift によって調整されなければならない。 HPFSパーティションでは、左側エッジが右側エッジの近くに移動されるな らば、現行左側エッジ位置と新たな位置の間の全てのデータ及びファイル・シス テム構成は、左側エッジが再配置される前に再位置決めされなければならない。 全ての場合において、重要ブート・セクタ、SuperBlock及びSpareBlockが全ての HPFSパーティションの前方に位置決めされるので、以下に説明するように、 復元セクタが生成され、かつブート・セクタ、SuperBlock、及びSpareBlockがパ ーティションの左側エッジを移動する前に復元セクタに記録された位置でディス クに保存される。非HPFSファイル・システムで本発明を実行する場合、変更 パーティション内の所定のオフセットに配置されなければならないファイル・シ ステム構成は、HPFSブート・セクタ、SuperBlock及びSpareBlockの扱いと同 様な方法で扱われる。 提案した変更HPFSパーティションの最初の20ディスク・セクタのいずれ か一つが悪いセクタであったならば、提案した左側エッジは、用いることができ ないということがわかるであろう。さもなければ、変更パーティションの完全性 は、主要ブート・セクタ、SuperBlock、及びSpareBlockがそれらの最初の20セ クタ内に存在しなければならないので、かなり妥協されるであろう。それゆえに 、サイズ決定段階264へ進む前に受容可能な左側エッジ位置を見出すために二 度以上、段階260及び262を繰り返すことが必要であろう。そのような繰り 返しは、また、変更パーティション内の所定のオフセットに配置されなければな らない構成を含む非HPFSパーティションに対しても必要であろう。 サイズ決定段階264は、変更パーティションの開始及び終了物理アドレスを 特定することによって変更パーティションの正確のサイズを決定する。これらの 物理アドレスは、ユーザによって特定された位置に正確に対応しうるか、または それらは、トラック毎のセクタ数のような多数のあるファイル−システム−特定 またハードウェア−特定ファクターであるパーティション・サイズを達成するた めに調整を反映しうる。パーティションが一つよりも大きいある整数の正確な倍 数であるセクタ数を含むファイル・システム要求事項は、“クラスタリング”要 求事項とここで表す。サイズ決定段階264の結論では、インプリメンティング ・プログラムは、変更パーティションの所望のサイズに対するある一定の値、及 び選択パーティションをサイズ変更するためにどのエッジが移動されなければな らないかという表示を有する。 それが含むファイル・システムのタイプに係わりなく、選択パーティションは 、サイズ変更段階154の間中に低減または拡張されうる。問い合わせ段階26 6は、低減と拡張の間を選択し、それゆえに、図9において268から276で ラベル付けされた、ある一定の更なる段階が、サイズ決定段階264の後になさ れたかどうかを決定する。 選択パーティションが拡張されるならば、追加されるディスク・セクタは、ブ ロッキング段階268の間中に悪いセクタを捜し出しかつ締め出すためにまずテ ストされるであろう。変更パーティションを生成すべく追加された新しいディス ク領域は、段階168に関して上述したように悪いセクタに対してテストされう る。 HPFSパーティション用に構成された本発明の一つの代替方法によれば、Sp areBlockの内側のFAST FORMATフラグが設定されたならば、新たなディスク領域 における悪いセクタに対するテストは、省かれる。上述したように、類似のフラ グは、他のファイル・システム用に構成された代替方法で用いられうるし、かつ トレードオフは、安全性とスピードとの間である。 生成段階270の間中、復元セクタは、提案した変更パーティションの最後の セクタで生成される。復元セクタは、特定のファイル・システム(HPFS及び FAT)に関して説明されるが、当業者は、どのような類似の復元セクタが他の ファイル・システムに対して生成されるがわかるであろう。終了した復元セクタ は、選択パーティションのシステム・インジケータ50(図3)を含み、かつパ ーティション・マニピレーションの表示は、(“右側エッジを左側エッジの方向 に移動することによってパーティションを200メガバイトから127メガバイ トに縮減すること”のように)実行され、かつデータ復元方法のタイプに情報は 、ユーザのデータを保護するために用いられる。パーティション・マニピレート の間中、さらなる情報は、パワー故障または別の割り込みの後で方法内の適切な 点における方法の再開を許容すべく復元予防方法によって要求されるように復元 セクタに記憶される。HPFS復元セクタは、また、SuperBlock及びSpareBlock システム・セクタのアドレスも保持する。 変更パーティションの最後のセクタが選択パーティションによって占有される ということが決定されたならば、復元セクタに対する空間を作るためにその最後 のセクタのデータは、別の自由なセクタに移動される。この決定は、この構成ま たはファイル・システムがこの最後のセクタを用いるかを決定するために全ての ファイル・システム構成及びディレクトリを走査することによってなされる。一 度最後のセクタを用いて内部ファイル・システム構成が識別されたならば、セク タは、どこかに複写されかつ適切なファイル・システム構成が新たな位置を反映 すべく更新される。これは、用いられるデータ復元方法と協同して達成されるの が好ましい。 調整段階272の間中、パーティション・テーブル32(図2)の内容は、変 更パーティションの大きなサイズを反映すべく調整される。同時に、パーティシ ョン・システム・インジケータ50(図3)は、RPIによって置換され、パー ティションをMS−DOS、OS/2、及び他の慣用オペレーティング・システ ムに対して認識不能にする。パーティション・テーブルが選択パーティションの 左側エッジの近くに配置されるならば、パーティション・テーブル32は、変更 パーティションの左側エッジに近いその新たな位置へ同時に移動される。パーテ ィションがHPFSファイル・システムを含むならば、ブート・セクタ及び他の HPFS構成は、まだ調整されない。 ビットマップ生成段階274の間中、ビットマップまたは類似セクタ割り当て 構成は、変更パーティションのファイル・システムとコンパチブルな構成で、デ ィスク2の新たな領域に対して必要により生成される。これらのビットマップは 、変更パーティションのどのディスク・セクタが自由であり、かつどれが割り当 てられるか、を識別する。選択パーティションの左側エッジが移動されたならば 、本発明の一つの代替方法は、また、それらがそれらの対応データ・バンド(dat a bands)の最初または最後のセクタのいずれかに存在するまで、HPFSビット マップもシフトする。 HPFSパーティションでは、新たなビットマップ位置は、間接リストに加え られ、かつリストは、ディスク2で更新される。選択パーティションが低減され るならば、それらがディスクの重要なデータまたは他のファイル・システム構成 をポイントしうるので、超過ビットマップは、まだ除去されない。次いで、Supe rBlock及びブート・セクタは、更新段階276の間中に拡張されたパーティショ ン・サイズを反映するためにディスク2で更新される。 サイズ決定段階278は、変更パーティションにおけるファイル・システム構 成のサイズ及び位置を決定すべく実行される。HPFSパーティションのサイズ 変更用に構成される、本発明の一方法によれば、この段階278は、全ての内部 HPFSシステム構成の新たなサイズ及び位置を決定することを含む。選択パー ティションにおけるHPFS構成によって示された配置規則(placement convent ions)は、変更パーティション・サイズの視点から可能な程度に従われる。それ ゆえに、変更パーティション・バウンダリ内に既にある各システム構成 は、ディスク2の同じ位置にそのまま残されるのが好ましい。 調整段階280は、選択パーティションと変更パーティションの間の相違を反 映するために必要なようにファイル・システム構成のサイズ、位置、及び内容を 調整する。選択パーティションにおいて見出されたファイル・システムのタイプ に係わりなく、反復的アプローチは、この調整段階280の間中に用いられうる 。最初の試みは、問題のファイル・システム及び変更パーティションのバウンド と一致(整合)する方法で全てのシステム構成を配置変更するためになされる。 この最初の試みは、構成の古い位置と新たな位置の間のオーバーラップによりま たは構成を受け取るために十分に大きいインプリメンテーションパーティション における連続的自由空間の欠如により失敗しうる。そのような失敗の場合には、 移動することができるディスク2のデータ及び他の構成は、ファイル・システム 構成に対して適切な自由位置を供給すべく移動され、その後、別の試みがファイ ル・システム構成を移動しかつ調整するために行われる。 選択パーティションが拡張されたならば、多くのHPFSシステム構成が再構 成または移動される必要がない。更に、パーティションが低減されるかまたは拡 張されるか(に係わらず)、それは、当業者によって容易に決定された技術によ ってある一定のHPFS構成がその場所でサイズ変更されうるということがわか るであろう。同様に、非HPFSファイル・システムに対して、ファイル・シス テムの完全性を妥協することなくその場所に残すことができるシステム構成は、 その場所に残されるのが好ましい。 調整段階280中に、まず最も大きい構成で開始するのが一般的にベストであ る。HPFSシステム構成をサイズ変更する一つの方法は、次の段階を備えてい る。最初に、その現行サイズ及び位置が受容可能でないかぎり、現行ディレクト リ・バンドを調整する。現行バンド・サイズが低減されなければならないならば 、ディレクトリ・バンドに割り当てられたセクタの数を低減する。ディレクトリ ・ブロックによって占有されておらずかつ悪いセクタ・リストにリストされてい ない解放部分におけるセクタを自由にする。これらのセクタは、両方のセクタ・ ビットマップ及びディレクトリ・バンド・マップにおける適切なビットをクリア することによって自由にされる。新たにサイズされたディレクトリ・バンドが、 H PFS構成配列規則に従ってディレクトリ2のその現行位置に残ることができる ならば、ディレクトリ・バンドのサイズ変更が達成された。 さもなければ、ディレクトリ・バンドに対して十分に大きい変更パーティショ ンのどこかに自由位置が存在するならば、新たな空間が割り当てられかつバンド 全体がその位置に複写される。SuperBlockのディレクトリ・バンド・ポインタは 、よって調整される。古い位置は、悪いセクタ・リストにリストされたセクタ以 外には自由とマークされ、かつ問題のバンドのサイズ変更は、終了する。 自由な位置がなければ、HPFSディレクトリ・バンドは、現行最終ディレク トリ・ブロックに対応している単一ディレクトリ・ブロックに低減される。次い で、ディレクトリ・バンドを保持するために適切な領域は、変更パーティション におけるディスク2の別の部分から自由にされる。低減されたバンドは、自由に された領域において再構築されかつ可能な限りに多くのディレクトリ・ブロック がそれに複写される。 ディレクトリ・バンドは、拡張されなければならないならば、初期チェックは 、バンドがその場所で拡張することができるどうかを決定すべくなされる。適切 な連続空間が利用可能であれば、バンドは、その場所で拡張される。適切な空間 が利用可能でないならば、拡張を収容するために十分に大きな領域は、現行ディ レクトリ・バンド位置に対して連続なディスク・セクタからデータまたはシステ ム構成を適切にかつ安全に除去することによって自由にされ、かつバンドは、そ の領域に拡張される。代替的に、バンド全体は、変更パーティション・バウンダ リ内の適切なサイズの新たな領域にコピーされ、その後にバンドがその場所で適 切に拡張される。 次に、HPFSスペア・ディレクトリ・ブロック・リストがチェックされる。 パーティション・サイズ変更オペレーションによって変更パーティションの外側 に残されたスペア・ディレクトリ・ブロックに対する変更パーティション内の位 置を取得することが可能でありうる。必要であれば、ユーザ・データは、変更パ ーティション内の十分に大きな連続的空間を自由にすべく移動されうる。 次いで、ホット−フィックス(hot-fix)・セクタのHPFSリストが試験され る。選択パーティションが拡張されるならば、さらなるセクタが拡張によって加 えられた新たな領域のセクタのプールから必要により割り当てられる。選択パー ティションが低減されるならば、エントリは、リストのテール・エンドから除去 されかつ変更パーティションのバウンダリの外側のホット・フィックス・セクタ は、配置変更される。 そして、他のHPFSファイル・システム構成が調整される。最後のビットマ ップは、クラスタリング要求事項を充たすために必要であれば、移動される。選 択パーティションが低減されるならば、余分なビットマップは、まだ除去されな い。しかしながら、変更パーティションの部分でない悪いセクタは、悪いセクタ ・リストから除去される。 上記段階の間中または非HPFSファイル・システムに対して実行された類似 の段階中にファイル・システム構成が適切な位置に位置変更されなかったならば 、含まれるファイル・システムのタイプに係わりなく、次の段階が行われる。位 置変更されるべき全てのファイル・システム構成を含むために必要なディスク領 域のサイズは、決定され、かつユーザ・データ領域の内側の一つ以上の連続領域 が選択されかつ上述したようにデータがクリアされる。サイズ決定、クリアリン グ、及び調整段階は、新たにクリアされた領域にファイル・システム構成を配置 変更することを終了するために必要なように繰り返される。選択パーティション が低減されるならば、全てのファイル、ディレクトリ、及び他の構成は、短縮さ れた領域から変更パーティション内の自由な領域に移動される。 エキジッティング段階282は、調整段階280の後に続く。エキジッティン グ段階282が選択パーティションの拡張の後に続くならば、インプリメンティ ング・プログラムのこの部分は、適当に、(a)一時的に割り当てられたディス ク空間を解放し、かつ(b)他の処理が実行できる前にそれを呼出すかまたはリ ブートを付勢(強制)するソフトウェアに制御を戻す。エキジッティング段階2 82がパーティション・サイズにおける低減の後に続くならば、低減された変更 パーティションを越えたデータ領域に対する全てのビットマップは、ビットマッ プ・リストから除去される。パーティション・テーブル32(図2)は、小さい パーティション・サイズを反映すべく調整される。HPFSパーティションの低 減の場合には、SuperBlock及びブート・セクタは、変更パーティション・サイ ズを反映すべく同時に調整される。 選択パーティションが低減されたかまたは拡張されたかに係わりなく、システ ム・インジケータ50(図3)は、HPFSファイル・システムに対応する値の ような、その初期値にエキジッティング段階282の間中に復元される。ディレ クトリ及び他のファイル・システム構成に対するHPFSバック・ポインタにお いて延期された調整は、また、このときに行われるのが好ましい。 パーティションが低減されるべき場合におけるエキジッティング段階282の クリーン・アップ部分の一部として、本発明によるある方法は、悪いセクタでな くかつまだ割り当てられている選択されたがまだ低減されていない(selected-bu t-not-yet-reduced)パーティションにおけるセクタをチェックする。そのような セクタが見出されたならば、インプリメンティング・プログラムは、パーティシ ョン・テーブル32(図2)を変更しないが、代わりに、ユーザに知らせてかつ 呼び出している環境に制御を戻す。この情況は、選択パーティションにおける自 由空間の全てまたはほとんどが低減によって自由にされた場合かまたは多くの悪 いセクタが選択パーティションに存在する場合に発生しうる。FATクラスタ・サイズ変更 当業者は、パーティション・サイズ変更なしでクラスタ・サイズ変更する一つ の方法が段階162における選択パーティションの位置への変更及び段階172 におけるパーティション・テーブル32への対応する変更を省くということがわ かるであろう。図10は、図7に示したパーティション−サイズ変更段階154 のコンテキストに用いられうる、クラスタ−サイズ変更段階158を達成する別 の方法を示す。 特性決定段階182の間中、ファイル割り当てテーブルの各クラスタ番号によ って占有される記憶空間のサイズ(一般的に現行FATファイル・システムにお ける12ビットまたは16ビット)、変更パーティションのサイズ、変更パーテ ィション・ブート領域のサイズ、変更パーティション・ルート・ディレクトリの サイズを含んでいる、変更FATパーティションのある一定の特性が決定される 。ファイル割り当てテーブル、ブート・セクタ、及びルート・ディレクトリによ っ て占有される空間は、“システム領域”である。“データ・クラスタ領域”は、 システム領域の外側の変更パーティションにおけるディスク2の残りの空間であ る。データ・クラスタ領域は、現在使用されていないが将来の成長のためにリ確 保されたディスク領域を含みうる。 FATパーティションのシステム構成のサイズは、通常、35セクタ(一つの ブート・セクタ、一つのセクタ毎にファイル割り当てテーブルの二つのコピー、 及び32セクタを要求している512エントリ・ルート・ディレクトリと想定す る)から545セクタ(一つのブート・セクタ、それぞれ256セクタの最大サ イズにおけるファイル割り当てテーブルの二つのコピー、及び32セクタを要求 している512エントリ・ルート・ディレクトと想定する)の範囲である。しか しながら、より大きなルート・ディレクトリ、より大きなブート領域、またはフ ァイル割り当てテーブルの三つ以上のコピーの選択パーティションにおける存在 により、FATシステム構成のサイズは、さらに大きいであろう。従って、イン プリメンティング・プログラムは、ユーザにおおよそ280Kプラス、変更パー ティションに対する自由空間においてディスク2の一つのクラスタのサイズを常 に有することを必要としうる。そのような安全バッファは、選択パーティション がサイズ変更される場合にシステム領域をサイズ変更するための空間を供給する 。 オペレーティング・システムからの支援、またはその知識なしにFATファイ ル・システムをマニピレートする場合にFATファイル・システム・パーティシ ョンにおけるディスク空間を確保するために、本方法は、この後に示すクラスタ 確保方法を用いうる。その“固定することができる(fixable)”クラスタ確保方 法は、ある一定のクラスタ・エントリを値ゼロよりも値1に設定する。 変更パーティション全体における及びそのデータ領域におけるデータ・クラス タの数は、段階182及び後続パラメータ決定段階184の間中に決定される。 データ・クラスタの合計数(全てのシステム構成のサイズが段階182、184 の間中に決定された後に計算された)が4085クラスタよりも大きいならば、 各クラスタ・エントリは、各ファイル割り当てテーブルにおいて2バイトの空間 を必要とする。さもなければ、各クラスタ・エントリは、各コピーにおいて1. 5バイトの空間を必要とする。 一般的に、一つのブート・セクタは、FATファイル・システムによって確保 される。本方法は、その値がなんであれ、選択パーティションと同じ数の確保さ れたセクタを有している変更パーティションを生成する。FATシステム構成が 低減または拡張されることを必要とするならば、全てのファイル・システム構成 に割り当てられたセクタの合計数は、クラスタ・サイズの整数倍によってのみ調 整されなければならない。この規則に従うことは、あるシステム構成をパッディ ングすることまたは確保された領域またはルート・ディレクトリを縮減すること を必要としうるが、しかし、そのような変更のサイズは、ディスク空間の1クラ スタ未満に限定される。この規則は、ディスク2(図1)の現行クラスタ位置合 わせを保守することを望みことから生起されそして全ての使用データ・クラスタ の主要再構成を防ぐ。クラスタ位置合わせを保存するためにパッディングが要求 される場合、確保されたブート・セクタ領域よりもルート・ディレクトリがパッ ドされるということが好ましい。ある古いFAT−特定ディスク・ユーティリテ ィは、一つのブート・セクタだけが確保されるということを想定する;さらなる ブート・セクタを確保することは、そのようなユーティリティがその後に続いて 用いられるならば、データ損失の原因になりうる。 変更パーティションのルート・ディレクトリの(セクタにおける)最小サイズ 及びそのルート・ディレクトリの最小所望サイズは、また、特定決定段階182 の間中に決定される。所望のサイズは、最小サイズ以上でなければならない。標 準MS−DOSユーティリティによってフォーマットされたほとんどのFATパ ーティションは、32の512バイト・ディスク・セクタを正確に充填している 、512ディレクトリ・エントリを含む。 しかしながら、本方法の下では、ルート・ディレクトリは、32セクタを越え て拡張されうる。同様に、選択FATパーティションのルート・ディレクトリは 、32よりも多いディスク・セクタをカバーしかつそのエンド・セクタのあるも のは使用されないで、それは、より少ないセクタをカバーすべく低減されうる。 ルート・ディレクトリのセクタの数は、一般的に用いられるオペレーティング・ システムをテストすることによって確立されたバウンド内に維持されるべきであ る。例えば、ルート・ディレクトリ・セクタの数は、OS/2オペレーティング ・シ ステムの下では32から64セクタの範囲にあるのが好ましく、かつDOSオペ レーティング・システムの下では32から96セクタの範囲にあるのが好ましい 。あるユーザは、32セクタを最小値にすることを欲しうる。 パラメータ決定段階184の間中に、ファイル割り当てテーブルの各コピーを 保持するために必要なセクタの数が決定される。各ファイル割り当てテーブルは 、全てのクラスタ・エントリを保持するために正確に十分なセクタを含むのが好 ましい。あまりにも少ないセクタが割り当てられたならば、データは、失われる 。あまりにも多くのセクタが割り当てられたならば、変更パーティションは、O S/2または別のオペレーティング・システムによって使用不能なようにされう る。 段階182、184の間中になされた決定を達成する一つの方法は、当業者に よって容易に理解される形式で以下に示す。全ての計算は、特に指定の無い限り 、各段階で整数短縮されるべきである: I. ファイル割り当てテーブル・セクタ毎のクラスタ・エントリの数 を決定する。512バイト・セクタに対して、16ビット・ファイル割り当てテ ーブルは、セクタ毎に256エントリを保持し(16BIT CLUST EN TSは、256である)、かつ12ビット・ファイル割り当てテーブルは、セク タ毎に341と1/3エントリを保持する(12BIT CLUST ENTS は、341と1/3である)。全てのファイル割り当てテーブルに対する最初の 二つのクラスタ・エントリは、システムによって常に用いられかつ確保されると いうことに注目する。 II. OLD FIRST DATA SECTを選択パーティション の最初のデータ・セクタの論理セクタ・アドレスに設定する。 III. TOTAL SECTSを特性決定段階182または174で決 定されたように変更パーティションのセクタの合計数に設定する。 IV. BOOT_SECTSを特性決定段階182または174で決定 されたように確保されたブート・セクタの数に設定する。 V. ROOT SECTSを特性決定段階182または174で決定 されたように変更パーティションのルート−ディレクトリ・セクタの数に設定す る。 VI. FAT_SECTSをゼロに設定する。 VII. SECTS PER CLUSTを選択パーティションのクラス タ・サイズに設定する。 VIII.NUM FATSをディスクで保守されたファイル割り当てテー ブルのコピーの数に設定する。 IX. FAT SECTS、NUM CLUSTS、及びNEW FI RST DATA SECTを計算するために次のループを4回続ける。適切な 値への収束は、ループの第2の反復の終りによってしばしば生ずるが、特別な場 合は、適切な収束をテストするために第3のループ反復を必要とし、かつ第4の ループ反復は、全ての場合において収束を保証する。ループの各反復の終りで、 FAT_SECTS、NUM_CLUSTERS、及びNEW FIRST D ATA SECTの値を記録する。 A. NEW FIRST DATA SECT=BOOT SECTS +ROOT SECTS+(FAT SECTS×NUM FATS)。次のよ うにNEW FIRST DATA SECTを現行クラスタ・アライメントに 位置合わせする(これは、ルート・ディレクトリを潜在的に拡張する効果を有す る): 1. NEW FIRST DATA SECTがOLD FIRST DATA SECTよりも大きいならば: a) DIFF=NEW FIRST DATA SECT −OL D FIRST DATA SECT. b) (SECTS PER CLUST − (DIFF/SEC TS PER CLUSTの残り))をNEW FIRST DATA SEC Tに加える。 2. Else NEW FIRST DATA SECTがOLD_ FIRST DATA SECTよりも小さいならば: a) DIFF=OLD FIRST DATA SECT −NE W FIRST DATA SECT. b) (DIFF/SECTS PER CLUSTの残りをNEW FIRST DATA SECTに加える。 B. DATA SECTS=TOTAL SECTS NEW FIR ST DATA SECT. C. NUM CLUSTERS=DATA SECTS/SECTS PER CLUST. D. FAT SECTSに対する新たな値を決定する。この計算に対し て、部分セクタがファイル割り当てテーブルに対して割り当てられなければなら ないので、数字は、切り上げられなければならない。次のようにこれを行う: 1. NUM CLUSTERSが4085より大きいならば、FAT SECTS=(NUM CLUSTERS+2+16BIT CLUST_E NTS−1)/16BIT CLUST ENTS. 2. NUM CLUSTERSが4085より小さいかまたは等しい ならば、FAT SECTS=(NUM CLUSTERS+2+12BIT CLUST ENTS−1)/12BIT CLUST ENTS. E. 段階IXの最初の部分に関して上記したようにFAT SECTS 、NUM CLUSTERS、及びNEW FIRST DATA SECTに 対する値を記録する。 X. 段階IXループが終了する場合、第4の反復からのFAT SE CTSの値を第3の反復からのFAT SECTSの値と比較する。 A. 値が等しいか、または第4の反復の値が二つの値の低い方であれば FAT_SECTS、NUM CLUSTERS、及びNEW FIRST D ATA SECTの第4の反復値を用いる; B. さもなければ、段階IXループの第3の反復の終りでそれらの対応 値をこれらの変数に割り当てる。 XI. ROOT_SECTS=NEW FIRST DATA SEC T−(BOOT SECTS+(FAT SECTS×NUM FATS)).N UM CLUSTERSクラスタが選択パーティションからの全てのユー ザ・データを保持しないならば、ユーザに通知しかつ出る。ディスクに対してフ ァイル・システム・パラメータ変更がまだ完遂されていないということに注目す る。説明した段階は、コンピュータのRAMにおいて実行された。 チェッキング段階186は、悪いセクタとして先に識別されたセクタが提案し た変更パーティションのシステム領域内に存在しないということを保証する(ブ ート・セクタ、ルート・ディレクトリ、及びファイル割り当てテーブル)。選択 パーティションの悪いセクタ・リストにおけるその存在によってかまたはブロッ キング段階168の間中のディスク・ドライブ4(図1)からのエラー・コード の存在によって、提案した変更FATパーティションのシステム領域内のNEW FIRST DATA SECTの前にアドレスを有しているセクタが悪いと 識別されたならば、インプリメンティング・プログラムは、選択パーティション を著しく変更せずにユーザに警告しかつ出るべきである。 選択段階188は、クラスタ・サイズにおける増加とクラスタ・サイズにおけ る減少の間で選択する。クラスタ・サイズに対する変更は、表1によって、ファ イル・システム完全性を保存することの必要性によって、及び本発明の教示によ って拘束される。 クラスタ・サイズが増加されるならば、クラスタを隣接しているクラスタと連 続にするために、適切な位置合わせ(アライメント)を達成するために、及び/ 又は小さなクラスタが安全に拡張することができるように十分な自由空間を得る ために、位置合わせ段階190の間中にディスク2についてクラスタを移動する ことは、必要でありうる。クラスタを移動する方法の説明は、ここのどこかに供 給される。 位置合わせ段階190の間中に、選択パーティションの各“クラスタ・チェー ン”は、4つの条件に準拠すべく調整される。“クラスタ・チェーン”は、所与 のファイルまたはサブディレクトリに属する全てのクラスタの一組である。Nが 選択パーティション・クラスタ・サイズによって分割された変更パーティション ・クラスタ・サイズを表すならば、各クラスタ・チェーンは、次の拘束に一致す べく位置合わせされる: 1.チェーンの最初のクラスタから開始して、Nクラスタの各グループは、上 昇する順番に逐次番号付けられる。 2.チェーンの最初のクラスタから開始して、Nクラスタの各グループは、デ ィスク2に連続的に記憶される。 3.Nクラスタの各グループの開始は、変更クラスタ・サイズの正確な倍数で あるデータ・クラスタ領域の開始からのオフセットに位置決めされる。 4.チェーンにおけるクラスタの最後のグループは、Nクラスタよりも少なく 含みうる。しかしながら、この最後のグループは、また、上記拘束1−3におけ る番号付け、記憶、及び位置の要求事項も満足する。 例えば、選択パーティション・クラスタ・サイズが2Kでありかつ変更パーテ ィション・クラスタ・サイズが4Kであるならば、2Kクラスタのペアは、残り のクラスタまたはクラスタ・チェーンの終りに到達するまで、4Kクラスタを形 成すべく、ファイルまたはサブディレクトリの始めから逐次開始されて、組み合 わされる。 悪いセクタの存在により“悪い”と現在マークされる選択パーティションのク ラスタは、また、更新段階192の間中に変更パーティションにおいても悪いと マークされる。これは、ここに開示された方法により当業者によって容易に達成 される。 クラスタ・サイズが低減されるならば、新たな小さいクラスタは、既に適切に 位置合わせされかつ一般的に移動される必要がない。しかしながら、変更パーテ ィションの拡張ファイル割り当てテーブルまたはルート・ディレクトリによって オーバーレイされるであろうクラスタは、移動段階194の間中に移動される。 移動は、ここで説明しかつ識別された方法により達成される。 拡張段階196の間中に、さらなるクラスタがファイル割り当てテーブルに加 えられかつ、大きな選択パーティション・クラスタを小さな変更パーティション ・クラスタに分割することによってテーブルに及びデータ・クラスタ領域に生成 されたさらなるクラスタを収容するために起動される。各ファイル割り当てテー ブルのサイズは、先に説明したように段階182、184の間中に決定される。 クラスタ番号は、変換段階200に関して以下に説明される変換に特に配慮して 、 ファイル・システムによってかつ本発明によって課せられた拘束によりファイル 割り当てテーブルに設置される。 クラスタ・サイズにおける変更によって生成されかつユーザまたはシステム・ データを含まないクラスタは、自由にする段階(freeing step)198の間中に自 由(フリー)としてマークされる。多くの場合に、ファイルまたはサブディレク トリ・クラスタ・チェーンの終りにおいて新たに定義されかつより小さいデータ ・クラスタは、有効データを保持しない。従って、クラスタ・サイズを低減する ことは、ディスク2のかなりの量の空間を自由にする。例えば、100バイトだ けの有意味なデータを含むファイルは、8Kクラスタが用いられる場合に8Kを 占有するが、1Kのクラスタが用いられる場合には1Kだけを占有する。クラス タ・サイズが低減される場合、最初の8Kクラスタの先に形成された部分である 他の7つの小さなクラスタは、当業者に慣用な技術によって自由にできるしかつ 自由にされるべきである。 クラスタ・サイズが低減されるかまたは増大されるかに係わりなく、変換段階 200の間中にファイル割り当てテーブルで用いられた最初のクラスタ番号は、 クラスタ・サイズにおける変更を反映する新らたなクラスタ番号によって置換さ れる。 全てのディレクトリ構成及びファイル割り当てテーブルにリストされた全ての クラスタのクラスタ番号は、変更クラスタ・サイズが選択クラスタ・サイズとは 異なる場合に以下に説明するように調整される。変更クラスタ・サイズが選択ク ラスタ・サイズよりも小さいならば、あるファイルの最終クラスタは、そのクラ スタに記憶されたデータのサイズ、選択クラスタ・サイズ、及び変更クラスタ・ サイズにより、使用されたクラスタ及び使用されていないクラスタに分割されう る。例えば、選択クラスタ・サイズが4Kであり、変更クラスタ・サイズが1K であり、かつ最終クラスタが1バイトのデータだけを保持するならば、その最終 クラスタは、一つの使用した1Kクラスタ及び3つの使用していない1Kクラス タに分割する。そのような情況に効果的に対処するために、ファイル割り当てテ ーブル・エントリの調整をディレクトリ・エントリの調整に協調させることが現 在好ましい。これらの調整は、また、上記したように復元パーティション・イン ジケータの使用と共にのみ実行されるのが好ましい。 (C−スタイル擬似コードで示された)次のオペレーションは、セクタ番号を クラスタ番号に変換する: SECTOR−=(ROOT_SECTS+(FAT_SECTS*NUM F ATS)+RESERVED SECTORS) SECTOR/=クラスタ毎のセクタ CLUSTER=SECTOR+2 次のオペレーションは、クラスタ番号をセクタ番号に変換する: CLUSTER−=2 CLUSTER*=クラスタ毎のセクタ SECTOR= CLUSTER+ROOT SECTS+(FAT SECTS*NUM FA TS)+RESERVED SECTORS 古い(選択パーティション)クラスタ番号を新たな(変更パーティション)ク ラスタ番号に変換するために、まず、上記方法及び選択パーティションのパラメ ータ(ROOT SECTS、FAT SECTS、NUM FATS、RES ERVED SECTORS)を用いて古いクラスタ番号をセクタ番号に変換す る。次いで、変更パーティションのパラメータを用いて合成セクタ番号をクラス タ番号に変換する。 ファイル割り当てテーブルを変更することにおいて、全てのファイル割り当て テーブル・エントリは、値1を有するあらゆるエントリを識別するために最初に 詳細に調べられかつそれゆえに先に説明したように固定可能な方法で一時的に確 保される;全てのそのようなエントリは、ゼロにされる。新たなファイル割り当 てテーブルを保持するために十分に大きいバッファNEW FATは、全てゼロ エントリを含むべく割り当てられかつ初期化される。表記上の都合に対して、選 択パーティションの既存のファイル割り当てテーブルは、OLD FATで示さ れる。ディレクトリ構成がトラバース(走査)され、かつ次の段階が各ファイル 及びディレクトリに対して繰り返される: I. FACTORに、クラスタ・サイズを減少する場合に各選択クラス タが分割されるより小さい変更クラスタの数、またはクラスタ・サ イズを増大する場合に単一の変更クラスタを形成すべく併合される より小さい選択クラスタの数を表わさせる。 II. 現行クラスタ・チェーンの終りの前に各クラスタ(OLD CLU ST)に対して、次のことを行う: A.上述した変換方法を用いて古いクラスタ番号OLD CLUS Tを新たなクラスタ番号NEW_CLUSTに変換する。 B.クラスタ・サイズが低減されるならば、次を(FACTOR− 1)回繰り返す: NEW FAT[NEW CLUST]=NEW CLUST +1 NEW CLUST+=1 C.クラスタ・サイズが増大されるならば、OLD CLUSTに (FACTOR−1)を加える D.OLD NEXT CLUST=OLD FAT[OLD C LUST] E.上記方法を用いてOLD NEXT CLUSTをNEW N EXT CLUSTに変換する F.NEW FAT[NEW CLUST]=NEW NEXT_ CLUST III.チェーンの最後のクラスタに対して、次のことを行う: A.上述した変換方法を用いて古いクラスタ番号OLD CLUS Tを新たなクラスタ番号NEW CLUSTに変換する。 B.クラスタ・サイズが低減されるならば: 1. チェーンがファイルに属するならば、 BYTES IN CLUST=FILE SIZE mod(古いクラスタ・サイズ) 2. チェーンがディレクトリに属するならば、 BYTES IN CLUSTは、最後のクラスタを走 査しかつ用いたエントリの数を計数することによって決 定される 3. BYTES IN CLUST+=(新たなクラスタ・ サイズ−1) 4. USED CLUSTS=BYTES IN CLUS T/(新たなクラスタ・サイズ) 5. 次を(USED CLUSTS−1)回繰り返す: NEW FAT[NEW CLUST]=NEW CL UST+1 NEW CLUST+=1 C.NEW FAT[NEW CLUST]=−1(チェーンの終 りマーカー) IV. ディレクトリ・エントリの開始クラスタを新たな開始クラスタに変 換する。 保存段階202の間中、システム構成は、次いで、ディスク2に書き込まれる 。保存すべきFATファイル・システム構成は、ルート・ディレクトリ、ファイ ル割り当てテーブル、及びブート・セクタを含む。ジャーナリングは、パワー故 障からシステム・データを保護するためにここで説明したように用いられるのが 好ましい。 次いで、エキジッティング段階204が実行される。ある一定のファイルは、 バイト・オフセットではなくクラスタ・オフセットにファイル位置を記憶する、 OS/2“EA DATA.SF”ファイルのような、クラスタ・サイズに依存 する内部構成を有する。クラスタ・サイズ変更オペレーションを終了するために 、そのようなファイルの内部構成は、変更クラスタ・サイズを反映すべく変更さ れる。 次に、ブート・セクタは、変更FATパーティションのサイズ、変更パーティ ションのファイル位置テーブル及びルート・ディレクトリのサイズ、及びここに おける教示に共同して当業者によって容易に決定される他のパラメータを反映す べく更新される。 復元セクタが変更パーティションの終りでディスク2に設置されたならば、復 元セクタの内容は、変更パーティションのシステム領域に適切に設置されなけれ ばならずかつパーティション・タイプは、FATパーティションの適切なタイプ に復元されなければならない。選択パーティションが拡張されたならば、パーテ ィション・サイズは、既に復元されている。選択パーティションが低減されたな らば、適切な変更は、変更パーティションのバウンダリー及びサイズを反映すべ くディスク2のパーティション・テーブル32(図2)においてこのときになさ れる。 図3を参照すると、変更パーティションのパーティション識別子36における システム・インジケータ50によって示されたパーティション・タイプは、認定 された(recognized)非RPIタイプの変更パーティションを反映しなければなら ない。選択パーティションが“隠れ(hidden)”タイプであれば、変更パーティシ ョンは、対応隠れタイプのものとして識別されるべきである。当業者は、システ ム・インジケータ50の値によって示されたように、FATパーティションのタ イプ値として次のものを認識するであろう(他のFAT−コンパチブル・ファイ ル・システムは、他のタイプ値を用いうる): a) タイプ1(即ち、システム・インジケータが1に等しい)は、12 ビットFAT(4085クラスタまたはそれより小さい)である。タイプ11 16進は、その隠れカウンタパートである。 b) タイプ4は、32メガバイトより小さい16ビットFAT(408 5クラスタまたはそれより大きい)である。タイプ14 16進は、その隠れカ ウンタパートである。 c) タイプ6は、32メガバイト以上の16ビットFATである。タイ プ16 16進は、その隠れカウンタパートである。 エキジッティング段階204の間中、インプリメンティング・プログラムは、 完璧な完全性を保証(確実に)すべくもう一度FATパーティションをチェック しうる。ディレクトリ及び他のシステム構成に対するポインタを戻すために必要 な調整も、また、クラスタを移動する場合にそれらの更新が省かれるならば、実 行されうる。気付くように、コンピュータで用いられたオペレーティング・シス テムがシステム・コールまたは他の手段を通して動的パーティション再同期(dyn amic partition resynchronization)を支援しないならばリブーテイング(reboot ing)の後までパーティションを施錠したままにすることも必要である。代替FATサイズ変更 パーティション−サイズ変更段階154を達成する代替方法を示しているフロ ーチャートは、図11に示されている。当業者は、FATファイル・システムに 特に適用する方法の部分を容易に識別するであろう。そのような者は、方法の他 の部分が、限定なしでHPFS及びFATファイル・システムを含んでいる、種 々のファイル・システムをサイズ変更することにおいて有用であるということも 認識するであろう。 バウンド決定段階284の間中、変更パーティションの最大及び最小サイズは 、先に説明したバウンド決定段階260(図9)に従って実質的に決定される。 しかしながら、当業者は、FATパーティションの最小変更パーティション・サ イズがルート・ディレクトリによって及びファイル割り当てテーブルによって消 費されたディスク空間に部分的に依存するということがわかるであろう。 簡略化のために、特にFATファイル・システムに関する本発明のそれらの形 態のここにおける説明は、FATパーティション内側の512バイト論理セクタ ・サイズ及びディスク2(図1)の512バイト物理セクタ・サイズを想定する 。しかしながら、本方法は、当業者によって他のセクタ・サイズ用に容易に適合 される。 エッジ決定段階286は、先に説明したエッジ決定段階262(図9)に従っ て実質的に、移動される選択パーティションのエッジにより適切なアクションを 行う。サイズ決定段階288は、変更パーティションのサイズを決定しかつ先に 説明したサイズ決定段階264(図9)及び含まれたファイル・システムの詳細 に従って実質的に変更パーティションにおける論理セクタの数を決定する。 図9の問い合わせ段階266に実質的に類似する、問い合わせ段階290は、 選択パーティションが拡張されるかどうかを決定する。拡張が必要ならば、選択 パーティションに追加されるディスク・セクタは、ブロッキング段階268(図 9)に実質的に類似するブロッキング段階292の間中に悪いセクタを捜し出し かつ締め出すためにまずテストされうる。代替的に、そのようなテスティングの あるものまたは全ては、省かれうるし、それによって時間をセーブするが先に説 明したようにデータ損失の危険性を潜在的に増大する。 特性決定段階294の間中、ブート・セクタのサイズ、各ファイル割り当てテ ーブルの所望のサイズ及びルート・ディレクトリのサイズ(集合的に、“システ ム領域”)を含んでいる、変更FATパーティションのある一定の特性が決定さ れる。システム領域の外側の変更パーティションにおけるデータ・クラスタ領域 は、現在使用されていないが将来の成長のために確保されるディスク領域を含み うる。各ファイル・システム構成のサイズは、クラスタが全く再位置合わせされ る必要がないように決定されるのが好ましく、それによって、全ての用いたデー タ・セクタの物理的再位置合わせを回避することによって選択パーティションを サイズ変更するために必要な時間を実質的に低減する。 本方法は、合成変更パーティションが重大なエラーなしで業界標準CHKDS Kプログラムをパスするように選択FATパーティションをサイズ変更するのが 好ましい。これを達成するために、以下に示されるある一定の規則が後続しなけ ればならない。 本発明の現在の好ましい方法によれば、変更パーティションにおけるクラスタ 毎のセクタの数(“クラスタ・サイズ”)は、選択パーティションのクラスタ・サ イズに等しい。代替方法は、クラスタ・サイズが常に2の正の整数のべき数であ るようにして、クラスタ・サイズを低減または増大さる:1、2、4、8、16 、等は、許容可能なクラスタ・サイズである。これらの代替方法は、インプリメ ンティング・プログラムの柔軟性を増大するが、しかしまた、FATパーティシ ョンをサイズ変更ために必要な時間も増大する。 クラスタ・サイズが低減されたならば、新たな小さいクラスタは、既に適切に 位置合わせされかつそれらが変更パーティションの拡張ファイル割り当てテーブ ルまたはルート・ディレクトリによってオーバーレイされない限り移動する必要 がない。しかしながら、ファイルの終りにおける小さなデータ・クラスタは、で あれば、それらがもはやデータを保持することを必要としないならば自由にされ るべきである。従って、小さなクラスタに対する変更は、ディスク2のかなりの 量の空間を自由にしうる。例えば、100バイトの有意味なデータだけを含むフ ァイルは、8キロバイトのクラスタが用いられる場合に8キロバイトを占有する が、しかし1キロバイト・クラスタが用いられる場合に1キロバイトを占有する だけである。クラスタ・サイズが低減される場合、最初の8キロバイト・クラス タの部分を先に形成した他の7つの小さなクラスタは、当業者に慣用な技術によ って自由にすることができかつ自由にされるべきである。 クラスタ・サイズが増大されるならば、それらを隣接クラスタと連続的にする ために、適切な位置合わせを達成するために、及び/又はその中で小さなクラス タが安全に拡張できるように十分な自由空間を得るために、ディスク2について クラスタを移動することが必要でありうる。クラスタ・サイズが低減されるかま たは増大されるかに係わりなく、ファイル割り当てテーブルで用いられた最初の クラスタ番号は、クラスタ・サイズにおける変化を反映する新たなクラスタ番号 によって置換されなければならない。 FATシステム構成が低減または拡張されることが必要であれば、全てのファ イル・システム構成に割り当てられたセクタの合計数は、クラスタ・サイズの整 数倍によってのみ調整されなければならない。この規則に従うことは、あるシス テム構成をパッドすることまたは確保された領域またはルート・ディレクトリを 縮減することを必要としうるが、そのような変更のサイズは、ディスク空間の1 クラスタより少なく限定される。この規則は、ディスク2の現行のクラスタ位置 合わせを維持することを望むことから生起されそれゆえに全ての使用したデータ クラスタの主要な再構成を防ぐ。本発明の代替方法は、クラスタ再構成及び再位 置合わせを収容するためにセクタの定数だけ全てのデータ・クラスタを移行(シ フト)する。しかしながら、この代替は、選択パーティションをサイズ変更する ためにかなり多くの時間を必要とし、かつ方法の複雑性も多少加える。 確保されたブート・セクタの数は、また、特性決定段階294の間中に決定さ れる。一般的に、一つのブート・セクタがFATファイル・システムによって確 保される。本方法は、その値がどのようなものでも、選択パーティションと同数 の確保されたセクタを有している変更パーティションを生成する。クラスタ位置 合わせを保存するためにパッディングが要求される場合、ある古いFAT特定デ ィスク・ユーティリティが一つのセクタだけが確保されるということを想定する ように、確保されたブート・セクタ領域は、パッドされないことが好ましい;そ のようなユーティリティが続いて用いられるならば、さらなるブート・セクタを 確保することは、データ損失をもたらしうる。 また、変更パーティションのルート・ディレクトリの(セクタにおける)最小 サイズ及びそのルート・ディレクトリの最小所望サイズも特性決定段階294の 間中に決定される。所望サイズは、最小サイズより大きいかまたは等しくなけれ ばならない。標準MS−DOSユーティリティによってフォーマットされたほと んどのFATパーティションは、512ディレクトリ・エントリを含み、32の 512バイト・ディスク・セクタを正確に充填する。しかしながら、本方法下で は、ルート・ディレクトリは、32セクタを越えて拡張されうる。同様に、選択 FATパーティションのルート・ディレクトリが32ディスク・セクタよりも多 くをカバーしかつそのエンド・セクタのいずれかが使用されないならば、それは 、より少ないセクタをカバーすべく低減されうる。少なくとも一つのセクタが存 在しかつ変更パーティションが選択パーティションのルート・ディレクトリの内 容を保持するために十分なセクタを含むならば、ルート・ディレクトリのセクタ の数は、FATファイル・システムの完全性に影響を与えない。しかしながら、 あるユーザは、32セクタを最小値にすることを望みうる。 特性決定段階294の間中、また、ファイル割り当てテーブルの各コピーを保 持するために必要なセクタの数も決定される。各ファイル割り当てテーブルは、 全てのクラスタ・エントリを保持するために正確に十分なセクタを含まなければ ならない。あまりにも少ないセクタが割り当てられたならば、データは、損失さ れるであろう。あまりにも多くのセクタが割り当てられたならば、変更パーティ ションは、OS/2または別のオペレーティング・システムによって使用不能に されうる。 また、変更パーティションにおけるデータ・クラスタの数も決定される。(全 てのシステム構成のサイズが決定された後に計算された)データ・クラスタの合 計数が4085クラスタよりも大きいならば、各クラスタ・エントリは、各ファ イル割り当てテーブルにおいて2バイトの空間を必要とする。さもなければ、各 クラスタ・エントリは、各コピーにおいて1.5バイトの空間を必要とする。 これらの決定を達成する一つの方法は、上記した。しかしながら、本コンテキ ストでは段階III−Vは、段階182及び174を参照するよりも段階288 及び294を参照し、かつ段階XIは、次のようである: XI. ROOT SECTS=NEW FIRST DATA SECT −(BOOT SECTS+(FAT_SECTS×NUM FATS)). 上述したように特性決定段階294の間中にファイル割り当てテーブルに関し て決定を行なうことにより、本方法は、調整段階296を次に実行する。調整段 階296は、悪いセクタとして先に識別されたセクタが全く提案した変更パーテ ィションのシステム領域内にないということを保証する(ブート・セクタ、ルー ト・ディレクトリ、及びファイル割り当てテーブル)。ブロッキング段階292 の間中に選択パーティションの悪いセクタ・リストにおけるその存在によってま たはディスク・ドライブ4(図1)からのエラー・コードの存在によって、提案 した変更FATパーティションのシステム領域内のNEW FIRST DAT A SECTの前にアドレスを有しているセクタが悪いと識別されたならば、イ ンプリメンティング・プログラムは、ユーザを警告すべきでありかつ選択パーテ ィションを著しく変更しないで出るべきである。 さもなければ、提案した変更パーティションのデータ・クラスタ領域内にない 選択パーティションにおける全てのデータ領域は、識別段階298の間中に識別 される。これらの領域内の全てのデータは、当業者に慣用なデータ保存技術によ って、変更パーティションのデータ・クラスタ領域のバウンダリの内側の位置に 安全に移動されることによってクリアされなければならない。 変更パーティション終了アドレスが選択パーティション終了アドレスよりも選 択パーティション開始アドレスに近いならば、選択パーティション終了アドレス と変更パーティション終了アドレスの間の領域における全てのデータ・クラスタ は、走査されなければならないし、かつ割り当てられたクラスタは、その領域か ら移動されなければならない。更に、変更パーティション・システム領域は、常 にチェックされなければならない;それが選択パーティションの第1のクラスタ にオーバーラップするならばそれらの影響を及ぼされたデータ・クラスタもまた 移動されなければならない。 FATパーティションにおけるシステム構成のサイズは、通常、35セクタ( 1ブート・セクタ、それぞれについて1セクタにおけるファイル割り当てテーブ ルの二つのコピー、及び32セクタを必要とする512エントリ・ルート・ディ レクトリを想定する)から545セクタ(1ブート・セクタ、それぞれについて 256セクタの最大サイズにおけるファイル割り当てテーブルの二つのコピー、 及び32セクタを必要とする512エントリ・ルート・ディレクトリを想定する )の範囲である。しかしながら、FATシステム構成のサイズは、より大きなル ート・ディレクトリ、より大きなブート領域、または二つのコピーよりも多いフ ァイル割り当てテーブルの選択パーティションにおける存在によりさらに大きい であろう。従って、インプリメンティング・プログラムは、ユーザに、変更パー ティションに対するディスク2の自由空間に1クラスタのサイズ+おおよそ28 0キロバイトを常に有することを要求しうる。そのような安全バッファは、選択 パーティションがサイズ変更される場合にシステム領域をサイズ変更するための 空間を供給する。 データークラスタ領域の終了(高アドレス)部分及び開始(低アドレス)部分 の両方が移動されなければならない場合の情況が存在する。データが他の領域か ら移動されるときに一つの領域から移動されたデータを損傷させることを回避す べく注意が払われなければならない。本方法によれば、割り当てられたクラスタ のチェーンは、FATパーティション・サイズ変更の間中にデータの安全移動を 達成することにおいて支援すべくマークされかつ確保されうる。 オペレーティング・システムからの支援または、その知識なしでFATファイ ル・システムをマニピレートする場合にFATファイル・システム・パーティシ ョンにディスク空間を確保するために、本方法は、“固定可能な(fixable)”方 法でクラスタ・チェーンを一時的に確保するケイパビリティを供給する。即ち、 クラスタ・チェーンは、(a)電源異常の場合にファイル・システム構成一貫性 がCHKDSKプログラムによって常にかつ容易に復元されることができ、かつ (b)インプリメンティング・プログラム以外のオペレーティング・システム及 びディスク・ユーティリティがこれら同じクラスタを割り当てかつ使用すること を試みることから防止されるような方法でインプリメンティング・プログラムに よって割り当てられうる。そのような“固定可能な”確保は、ディスク区間の永 続的割り当てが必要でなく、かつ予期せずにパワーが故障したならばディスクを “固定する”ためにユーザがCHKDSKを用いることが受容されるような情況 で用いられうる。この方法によれば、失われたクラスタに対するファイル・エン トリを生成するためにディレクトリ・エントリを必要とせずかつCHKDSKプ ログラムを必要としない方法で一つ以上のFATクラスタが一致にチェーンされ うる。それゆえに、CHKDSKは、全てのそのようにマークされかつ/または チェーンされたクラスタを汎用(general usage)にすぐに戻すことができる。 クラスタ確保方法は、次のように進行する。最初に、第1の適当な割り当てさ れていないクラスタがゼロ値を有しているクラスタ・エントリに対するファイル 割り当てテーブルの有効範囲を検索することによって識別される。クラスタを一 時記憶割り当ての確保された部分としてマークすべくゼロの代わりに1が入力さ れる。一時記憶の全ての後続割り当ては、各先の割り当てから昇順にあるべきで ある。この順番が維持されるならば、“チェーン”は、単に、その値が1である 全てのクラスタの逐次リストである。 当業者は、16ビットFATファイル割り当てテーブルにおける各クラスタ・ エントリに対して65,536の固有の可能な値が存在するということがわかる であろう。1より大きいあらゆる値が潜在的に有効として解釈されうるので、C HKDSKプログラムは、“損失クラスタ(lost cluster)”として1より上の値 を含んでいる各クラスタをリストすることを試みる。FATパーティションを“ 固定(fix)”するために、CHKDSKプログラムは、各損失クラスタ・チェー ンにクラスタを保持するためにルート・ディレクトリにおいてフリー・ディレク トリ・エントリを見出さなければならない。フリー・エントリが存在しないなら ば、CHKDSKは、クラスタを自由にすることを失敗する。他方、値が1であ れが、CHKDSKは、“無効クラスタ・エントリ”としてクラスタを扱いかつ 汎用可用性(general availability)にそのクラスタをすぐに戻す。それゆえに、 ここにおける教示により値1でマークされたクラスタは、パーティションをマニ ピレートすることに用いるために一時的に割り当てられるが、後続の使用から除 去されない。 選択パーティション終了バウンダリーが選択パーティションを拡張すべく変更 されるならば、さもなければ変更パーティションの拡張システム領域によって上 書きされる選択パーティションの前方のデータ・クラスタ領域の一部をクリアす ることが必要でありうる。選択パーティションの拡張がシステム構成を成長させ るならば領域はクリアされなければならないが、たった少量による拡張は、必ず しもシステム構成のサイズを増大しないであろう。 選択パーティション終了バウンダリーが低減された変更パーティションを形成 すべく移動されるならば、選択パーティションのハイ・エンド(high end)におけ るデータ・クラスタ領域の部分は、クリアされなければならない。変更パーティ ションの外側に部分的にまたは全体的にある全てのデータ・クラスタは、変更パ ーティション内にある他のクラスタ位置へ再位置決めされなければならない。 特別な場合は、注目に値する: クラスタ・サイズがサイズ変更の一部として 低減されるならば、パーティションのデータ記憶領域が低減されても、システム 領域は、パーティションにマップされるべきクラスタの合計数における増大によ り成長しうる。この場合には、変更パーティションの拡張システム領域によって カバーされる選択パーティションのロー・エンド(low end)におけるデータ・ク ラスタ領域の部分も、また、クリアされなければならない。 移動段階300の間中、識別段階298の間中に識別されたデータ・クラスタ 領域は、データをディスク2の安全な位置に移動することによってクリアされる 。ディスク・ディフラグメンテーション(defragmentation)及びディスク復元ユ ーティリティによって採り入れられる、パーティションのクラスタを移動する通 常の方法は、移動されなければならない各クラスタに対する次の段階を繰り返す と同時に、採り入れられうる: 移動されなければならない領域からのクラスタ を識別する。変更パーティションのデータ・クラスタ領域内のフリー・クを見出 す。識別されたクラスタからフリー・クラスタにデータをコピーする。フリー・ クラスタを使用済みとしてマークしかつディスク2のファイル割り当てテーブル を更新する。データの新たな位置を示すべく古いクラスタ位置に対する全ての参 照を 調整する。そのような参照は、ファイル割り当てテーブル及び/又はディレクト リ・エントリで発生しうる。ディレクトリ・バック及び自己ポインタの更新は、 この時に実行されうるか、またはそのような更新は、後続パーティション完全性 が段階を検証するかまたは再検証するまで延期されうる。次に、ディスク2(図 1)に更新された構成をセーブする。最終的に、フリーとして(またはそれを確 保すべく1の値で)古いクラスタをマークし、そしてもう一度ディスク2にファ イル割り当てテーブルをセーブする。 調整段階302は、必要に応じてファイル・システム構成、ブート・セクタ、 及びパーティション・テーブル32(図2)を調整する。ファイル・システム構 成は、通常、選択パーティションよりも大きいかまたは小さい変更パーティショ ンを収容すべくサイズ変更されることが必要である。FATパーティションのシ ステム構成をサイズ変更することにおいて、変更パーティションの新たな第1の クラスタは、選択パーティションの第1のクラスタと同じでありうるか、または それは、その最初の第1のクラスタに物理的に先行しうるか、それは、選択パー ティションの第2、第3、第4、等のクラスタとしてディスク2の同じ場所に配 置されうる。 以下の規則は、選択パーティション開始バウンダリー、終了バウンダリー、ま たは両方が移動されるかどうかに係わりなく後続されるのが好ましい。選択パー ティションは、上述したように適切なパーティション識別子(図3において36) のシステム・インジケータ(図3において50)のディスク2にRPIを設置す ることによって復元パーティションに変更されるべきである。更に、選択パーテ ィションがその終了バウンダリーを移動したことによって拡張されるならば、パ ーティション・サイズ・エントリ44及び46は、同時に変更されるべきである 。選択パーティションがパーティション・テーブル32(図2)を含みかつ選択 パーティションの開始バウンダリーが拡張されるならば、パーティション・テー ブル32は、また、変更パーティションにおける安全かつ適切な新たな位置へ同 時に移動されなければならない。 FAT復元セクタは、生成段階270(図9)に関して先に説明した方法で変 更パーティションの最後のセクタで生成されるのが好ましい。変更パーティショ ンの最後のセクタは、この点でしばしばフリーである;(パーティションを縮減 する場合に生じうるように)それが選択パーティションの使用されたクラスタに よって占有されるならば、それは、段階298及び300に関して上述したよう に別のフリー・セクタにそのデータを移動することによってまずクリアされなけ ればならない。 FATパーティションにおいて調整段階302を実行することにおいて、選択 パーティションの全てのディレクトリ構成にリストされた全てのクラスタの全て のクラスタ番号は、定数因子(constant factor)FAT SHIFT によって 調整される。整数因子(integer factor)FAT SHIFTは、それによって変 更パーティションの第1のクラスタが選択パーティションの第1のクラスタから オフセットされるクラスタの数に等しい。この調整は、ここの説明したようにデ ィスク2へのRPIの配置によってパーティションが復元パーティションに変更 された場合にのみ安全に実行することができる。 FAT SHIFTがノン−ゼロであれば、インプリメンティング・プログラ ムは、ディレクトリ構成をトラバースしかつ全てのファイルについてかつ(自己 及び親に対する)全てのディレクトリ・クラスタ・ポインタについて開始クラス タ・ポインタを調整する。変更パーティションの開始クラスタがパーティション の選択パーティションの開始クラスタに物理的に先行するならば、各クラスタ・ ポインタにFAT SHIFTを追加する;逆の順番が保持されるならば、各ク ラスタ・ポインタからFAT SHIFTを減算する。この調整は、電源故障の 場合に完全性を保存するためにデータ復元方法と協調して達成されるのが好まし い。 次に、ブート・セクタは、変更FATパーティションのサイズ、変更パーティ ションのファイル割り当てテーブル及びルート・ディレクトリのサイズ、及びこ この教示と協調して当業者によって容易に決定される他のパラメータを反映する ために更新される。 ファイル割り当てテーブルは、次いで変更されかつディスク2(図1)にセー ブされる。これは、次のように達成される。FATの各クラスタ・エントリの内 側の値は、値FAT SHIFTによって物理的に移動されかつ論理的に変更さ れなければならない。しかしながら、クラスタがシフトされていないならば(即 ち、FAT SHIFTがゼロに等しいならば)、これらの段階は省かれる。 ファイル割り当てテーブルを変更することにおいて、全てのファイル割り当て テーブル・エントリは、値1を有するエントリを識別すべく最初に検査され、そ れゆえに先に説明したように固定可能な方法で一時的に確保される;全てのその ようなエントリは、ゼロにされる。新たなファイル割り当てテーブルを保持する ために十分に大きいバッファNewFatEntryは、全てゼロのエントリを 含むべく割り当てられかつ初期化される。注記都合について、選択パーティショ ンの既存ファイル割り当てテーブルは、OldFatEntryで表される。 ファイル割り当てテーブルにおける各ノン・ゼロ・エントリは、ファイル割り 当てテーブルの物理的にシフトされたFAT SHIFT位置でなければならず 、かつ悪いクラスタ・エントリ、エンド−オブ−チェーン・エントリ、及び一時 的に割り当てられた固定可能なエントリを除く全てのエントリも、また、次のよ うに因子FAT SHIFTによって調整されなければならない。変更パーティ ション開始クラスタが選択パーティション開始クラスタに物理的に先行するなら ば、選択パーティション・ファイル割り当てテーブルからの各エントリにFAT SHIFTを追加しそしてその後のFAT SHIFT位置である変更パーテ ィション・ファイル割り当てテーブル・エントリにその値を記憶(格納)する。 例えば、OldFatEntry[ThisOne]が悪いクラスタ・エントリ またはエンド−オブ−チェーン・エントリであるならば、NewFatEntr y[ThisOne+FAT SHIFT]=OldFatEntry[Thi sOne]を行う;さもなければ、NewFatEntry[ThisOne+ FAT SHIFT]=OldFatEntry[ThisOne]+FAT SHIFTを行う。変更パーティション開始クラスタが選択パーティション開始 クラスタに物理的に先行するならば、類似する方法でFAT SHIFTを減算 する: OldFatEntry[ThisOne]が悪い−クラスタ・エント リまたはエンド−オブ−チェーン・エントリであるならば、NewFatEnt ry[ThisOne−FAT SHIFT]=OldFatEntry[Th isOne]を行う;さもなければ、NewFatEntry[ThisOne −FAT SHIFT]=OldFatEntry[ThisOne]−FAT SHIFTを行う。これらの調整が終了した場合、ディスク2の変更パーティ ションにおける適切な位置にファイル割り当てテーブルのNUM FATSコピ ーを書き込む。 この地点で、FATパーティションの内側のほとんど全ての変更は、終了する 。復元セクタが変更パーティションの終りでディスク2に配置されるならば、復 元セクタの内容は、変更パーティションのシステム領域に適切に配置されなけれ ばならずかつパーティション・タイプは、FATパーティションの適切なタイプ に復元されなければならない。選択パーティションが拡張されたならば、パーテ ィション・サイズは、既に復元されている。選択パーティションが低減されたな らば、変更パーティションのバウンダリー及びサイズを反映すべく適切な変更が ディスク2のパーティション・テーブル32(図2)においてこのときに行われ る。 図3を参照すると、変更パーティションのパーティション識別子36のシステ ム・インジケータ50によって示されたパーティション・タイプは、段階204 に関して上述したように、変更パーティションの認識された非RPIタイプを反 映しなければならない。 エキジッティング段階304の間中、インプリメンティング・プログラムは、 完璧な完全性を保証すべくもう一度FATパーティションをチェックしうる。デ ィレクトリ及び他のシステム構成に対するポインタをバックするために必要な調 整は、クラスタを移動する場合にそれらの更新が省かれても実行されうる。気付 いたように、コンピュータで用いられるオペレーティング・システムがシステム ・コールまたは他の手段を通して動的パーティション再同期を支援しないならば リブーティングの後までパーティションが施錠されたままにすることも必要であ る。ディスク・パーティションを移動しかつ複写すること 図7を参照すると、移動/複写段階156は、GUI 114(図6)との対 話によって示されたようなユーティリティの希望により、パーティションを移動 することかまたはパーティションを複写することを具備する。移動/複写段階 156は、制限なしにHPFS及びFATファイル・システムを含んでいる、種 々の慣用ファイル・システムのいずれかを含んでいるパーティションでここに教 示されたように実行されうる。 変更パーティションが選択パーティションとは全く異なるディスク・セクタを 含みかつ選択パーティションが選択パーティションのユーザ・データのコピーを 含むようにした後でディスク2をそのままにしておくならば、選択パーティショ ンは、複写される。対照的に、変更及び選択パーティションが共通のディスク・ セクタを有するならば(選択及び変更パーティションに対してディスク2の特異 なパーティションとして同時に存在させることが不可能である)、または、ユー ザ・データを保持している選択パーティション・ディスク・セクタがフリーにさ れるならば、選択パーティションは、移動される。しかしながら、当業者は、以 下に説明する段階がさもなければ実質的に移動に対するのと複写に対するの同じ であるということがわかるであろう。用語“複製する(replicate)”は、移動す ること及び/又は複写することを示すためにここで用いられる。 パーティション複製オペレーションの後、ディスク2に定義されたパーティシ ョンは、そのオペレーションの前に選択パーティションがそうであったようにロ バストかつ安全であるべきである。これは、ファイル・システムの悪いセクタ・ リスト及びファイル・システムの他の構成を保守しかつ管理するためにインプリ メンティング・プログラムを選択パーティションのファイル・システムによって 用いられた戦略の詳細及び含意に調和(一致)させることによって達成されうる 。 図12に示したように、移動/複写段階156は、変更パーティションのエッ ジの位置を決定する位置決定段階310を含む。別のパーティションによって現 在クレームされていない提案した位置に十分なフリー・ディスク空間が存在する ならば、選択パーティションは、コンピュータに装着されたあらゆるドライブに おけるあらゆるディスクのあらゆる位置に移動することができる。提案した変更 パーティションが選択パーティションをオーバーラップする場合に、選択パーテ ィションをオーバーラップしない変更パーティションの部分を収容するために十 分なフリー・スペース(自由空間)が存在しなければならない。 本方法は、一つのディスク・ドライブに装着された第1のディスク(“ソース ・ディスク”)から異なるディスク・ドライブに装着された第2のディスク(“ ターゲット・ディスク”)までパーティションを移動及び複写することのケイパ ビリティを提供する。この場合、ソース・ディスク及びターゲット・ディスクは 、それぞれトラック毎に同じ数のシリンダ、側面、及びセクタを有するというこ とが好ましい。さもなければ、変更パーティションが、ファイル・システム(も しあれば)のクラスタリング要求事項を満足する方法でターゲット・ディスクの フリー・スペースに調和(一致)すべく安全にサイズ変更することができ、かつ 対応する変更をブート・セクタ及び変更パーティションの他のファイル・システ ム構成において行うことができるならば、移動または複写は、安全に達成するこ ができる。 生成段階312の間中に、悪いとマークされたかまたは選択パーティションの ファイル・システムによって使用不能な選択パーティションの内側の全てのディ スク・セクタの第1のリストまたはマップが生成される。テスティング段階31 4の間中に、ターゲット・ディスクの提案したパーティション領域の全てのセク タは、悪いディスク・セクタを識別するために読取りオペレーション、書込みオ ペレーション、または両方でテストされる。見出された悪いセクタのアドレスは 、悪いセクタの第2のリストまたはマップに配置される。選択パーティション内 にもある変更パーティションのセクタは、テストされる必要がない。しかしなが ら、選択パーティションに対する悪いセクタ・リストは、両方のパーティション にある悪いセクタを識別すべく検査される。各そのような悪いセクタに対して、 その論理セクタ・アドレスは、変更パーティションの開始に関する論理セクタ・ アドレスに変換される。変換された論理アドレスは、次いで第2の悪いセクタ・ リストに加えられる。 生成段階316の間中、全ての悪いセクタの合成リストは、ちょうど説明した 第1及び第2のリストから生成される。合成リストは、選択パーティションの内 側の全ての悪いセクタの論理アドレスの全体リスト及び提案した変更パーティシ ョンに存在する悪いセクタの論理アドレスの全体リストの両方を含む。この合成 リストにおいて識別された全ての悪いセクタは、次いで、これらのセクタを現在 占有しうるデータまたはファイル・システム構成を新たに割り当てられた良いセ クタに移動した後で、選択パーティションの内側で悪いとしてマークされる。こ の生成段階316は、電源故障の場合にパーティション完全性を保存すべくデー タ復元方法に協調して実行されるのが好ましい。 この点で、パーティションを施錠する。次いで、移動/複写段階318の間中 に選択パーティションを移動または複写することは、安全である。変更パーティ ションの悪いセクタをオーバーレイする選択パーティションの全ての良いセクタ は、変更パーティションに移動された全てのデータがディスク2の良いセクタに 書き込まれるように、締め出された。データは、それがいま選択パーティション で占有する変更パーティション内の同じ相対位置に書き込まれることによって複 製される。 データは、次の規則により複製される。まず、データを含んでいるディスク・ セクタだけまたはファイル・システム使用のために確保されるディスク・セクタ だけが複製される。かなりの時間は、フリー・セクタまたは悪いセクタを複製し ないことによってセーブされうるしかつ変更パーティションの完全性は、この時 間セービング測定(測度)によって妥協されない。この規則に従わないならば、 複製は、長くかかるであろう。さらに重要なことは、悪いセクタを複製すること を試みる間中に複製が失敗しうる。 第2に、ディスク・セクタ複写バッファが用いられる。バッファ・サイズは、 利用可能なコンピュータ・メモリの量、及びセクタ毎のバイト数×選択パーティ ションの開始セクタと変更パーティションの開始セクタの間のセクタ数との積、 の小さい方である。 第3に、変更パーティションの物理的開始アドレスが、選択パーティションの 開始アドレス(の右側)よりも大きくかつ選択パーティションが提案した変更パ ーティションをオーバーラップするならば、選択パーティションは、右から左に (高いアドレスを有しているセクタから低いアドレスを有しているもの)複製さ れなければならない。さもなければ、選択パーティションは、左から右へ複製さ れなければならない。この規則に従うことは、選択パーティションのまだ複製さ れていない部分の上書きを防ぐ。 ジャーナリング、チェックマーキング、または通常のデータ復元方法のような 適切なデータ復元方法は、移動/複写段階318の間中に用いられるのが好まし い。それゆえに、この処理の完全なる終了の前に電源が故障したならば、処理は 、非同期されかつ終了されるか、または望ましいならばユーザによって反転(リ バース)することができる。チェックマーキングは、システム構成を更新する必 要がないバルク複製が実行されるようなところが好ましい。 この点で、変更パーティションは、実質的に最初の選択パーティションのコピ ーである。変更パーティションの外側にある第1の悪いセクタ・リストの選択パ ーティションで識別された悪いセクタは、合成リストにおいて悪いとまだマーク されるがいまフリーさせることができる。これらのセクタは、第1のリストにお いて識別された各悪いセクタに対して次のことを行う更新段階320の間中にフ リーにされる。最初、悪いセクタの論理アドレスが、また、悪いセクタの合成リ ストにリストされるかどうかを決定すべくチェックされる。そうであれば、調整 は、行われない;そのような同時に起こるリスティングは、変更パーティション における完璧な完全性を保守すべく識別されなければならない。セクタが両方の リストにないならば、セクタの論理アドレスは、悪いセクタの合成リスト(変更 パーティション悪いセクタのリスト)から除去されかつセクタは、ファイル・シ ステムによる割り当てに対して利用可能になる。 エキジッティング段階322は、次いで、本方法によってなされた他の変更を クリーン・アップ(清掃)し、最初のシステム・インジケータ50(図3)を復 元し、かつ再検証段階142を行うために図4及び5に示す主要ルーチンに出戻 る。 本発明の代替方法は、システム・インジケータ50(図3)の認識されない値 によって示される、異質または未知のパーティションの移動及び複写を許容する 。選択パーティションがソース・ディスクとは異なるシリンダ、側面、またはト ラック毎のセクタの数を有しているターゲット・ディスクへ複写されるべきであ るならば、マニピレーションは、実行されない。インプリメンティング・プログ ラムは、ユーザに問題を単に説明しそして出る。 さもなければ、選択パーティションの内側のセクタの範囲全体が、提案した変 更パーティションのセクタの範囲全体と同様に、悪いセクタに対してテストされ る。このテストは、変更及び選択パーティションがオーバーラップするような場 合に一度だけ各セクタをテストするために最適化することができる。悪いセクタ がいずれかのテストで識別されたならば、マニピレーションは、実行されない。 インプリメンティング・プログラムは、要求された移動または複写オペレーショ ンが安全でないということをユーザに単に説明しそして出る。 悪いセクタが見出されずかつ未知のファイル・システムによって記憶された全 てのセクタ・アドレスが物理的であるよりも(産業標準であるように、パーティ ション開始アドレスに関して)論理的であるならば、ファイル・システムに対し て調整を行う必要はない。それゆえに、未知のファイル・システムの密接な知識 は、複写または移動を実行するために必要なくかつ複製は、ここにおける教示に より選択パーティション内容全体で変更パーティション・ディスク領域を単にオ ーバーレイする。ディスク2にデータを置くためにファイル・システムによって 用いられた物理的構成の知識なしでどれが使用中でありどれがフリーであるかを 知る方法が存在しないので、全てのセクタは、コピーされなければならない。まとめ 纏めると、本発明は、技術的複雑性に不慣れなユーザに、IBM−コンパチブ ル・ディスク・パーティションを容易にサイズ変更させ、再構成させ、かつ複製 させる非破壊方法を提供する。ファイル・システム構成、クラスタ位置合わせ、 悪いセクタ・マップ、パーティション・テーブル構成及び値、及び多数の他の詳 細の知識は、GUIの後ろに隠されかつユーザの汎用指図によりインプリメンテ ィング・プログラムによって処理される。特に、方法は、FATパーティション においてクラスタ・サイズを安全に変更する手段を供給する。クラスタ・サイズ 変更は、他のパーティション・マニピレーションと、完全性チェックと、及び復 元方法と、種々の方法で利点的に組み合わせられる。 本発明は、その精神または本質的特性から逸脱することなく他の特定の形式で 実施されうる。記述した実施例は、全ての態様において説明のためだけであり限 定するものではないと考慮されるべきである。特に、説明した段階は、一つお段 階が別の段階の結果に依存しないかぎり異なる順序で実行されうる。従って、本 発明の範疇は、先に説明によるよりも請求の範囲によって示される。請求の範囲 の同等物の意味及び範囲内にある全ての変更は、それらの範疇内に含まれるべき である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),AU,DE,DK,GB,J P 【要約の続き】 ーティションを含んでいる、IBM−コンパチブル・デ ィスク・パーティションを容易にマニピレートさせる。

Claims (1)

  1. 【特許請求の範囲】 1.ディスク・パーティションをマニピレートするコンピュータ−インプリメン ト式方法であって: ディスクに配置されたIBM−コンパチブル・パーティションを選択し、 該パーティションは、左側エッジ及び右側エッジを有し、該ディスクは、電 源に連通しているディスク・ドライブに装着され、該ディスクは、複数のセクタ を有し;かつ ユーザ・ディスクを破壊することなく選択パーティションとは異なる数のデ ィスク・セクタを有している変更パーティションを生成すべくその場所で該選択 パーティションをサイズ変更することによって変更パーティションを生成すべく 該選択パーティションを変更する段階を具備することを特徴とする方法。 2.ディスク・パーティションをマニピレートするコンピュータ−インプリメン ト式方法であって: ディスクに配置されたIBM−コンパチブル・パーティションを選択し、 該パーティションは、左側エッジ及び右側エッジを有し、該ディスクは、電 源に連通しているディスク・ドライブに装着され、該ディスクは、複数のセクタ を有し;かつ ユーザ・ディスクを破壊することなく選択パーティションとは異なる数のク ラスタ・サイズを有している変更パーティションを生成すべく該選択パーティシ ョンの該クラスタをサイズ変更することによって変更パーティションを生成すべ く該選択パーティションを変更する段階を具備することを特徴とする方法。 3.ディスク・パーティションをマニピレートするコンピュータ−インプリメン ト式方法であって: ディスクに配置されたIBM−コンパチブル・パーティションを選択し、 該パーティションは、左側エッジ及び右側エッジを有し、該ディスクは、電 源に連通しているディスク・ドライブに装着され、該ディスクは、複数のセクタ を有し;かつ ユーザ・データを破壊することなく選択パーティションに含まれた少なくと も一つのトラックを締め出す変更パーティションを生成すべく該選択パーティシ ョンを複製することによって該変更パーティションを生成すべく該選択パーティ ションを変更する段階を具備することを特徴とする方法。 4.前記ディスクに復元パーティション・インジケータを配置する段階を更に具 備することを特徴とする請求項1、2、または3に記載の方法。 5.前記変更段階の前に前記選択パーティションを施錠する段階を更に具備する ことを特徴とする請求項1、2、または3に記載の方法。 6.前記変更段階の後にリブートする段階を更に具備することを特徴とする請求 項1、2、または3に記載の方法。 7.前記変更段階は、前記変更パーティションの前記サイズの限度を決定するこ とを具備することを特徴とする請求項1、2、または3に記載の方法。 8.前記変更段階は、前記選択パーティションの前記左側エッジを移動しかつ完 全性を保守すべくファイル・システム構成を調整することを具備することを特徴 とする請求項1、2、または3に記載の方法。 9.前記変更パーティションの前記クラスタ・サイズは、前記選択パーティショ ンの前記クラスタ・サイズよりも大きくかつ前記変更段階は、新たに生成したク ラスタを位置合わせする段階を具備することを特徴とする請求項1、2、または 3に記載の方法。 10.前記変更パーティションの前記クラスタ・サイズは、前記選択パーティショ ンの前記クラスタ・サイズよりも小さくかつ前記変更段階は、新たに生成された 未使用クラスタをフリーにする段階を具備することを特徴とする請求項1、2、 または3に記載の方法。 11.前記変更段階は、ファイル・システム構成を調整する段階を具備することを 特徴とする請求項1、2、または3に記載の方法。 12.前記調整段階は、ファイル割り当てテーブルの前記サイズを調整することを 具備することを特徴とする請求項11に記載の方法。 13.前記選択パーティション、前記変更パーティション、または両方のパーティ ションの内部ファイル・システム・データの完全性及び一貫性を検証する段階を 更に具備することを特徴とする請求項1、2、または3に記載の方法。 14.前記変更段階は、当該変更段階の間中、常に前記ディスクの全てのユーザ・ データの少なくとも一つのコピーを保存し、それにより前記ディスク・ドライブ の電源との連通が該変更段階の間中に一時的に割り込まれたならば該ユーザ・デ ータの損失の危険性を低減することを具備することを特徴とする請求項1、2、 または3に記載の方法。 15.前記変更段階は、データ復元方法を採り入れることを具備することを特徴と する請求項1、2、または3に記載の方法。 16.前記変更段階は、前記変更パーティションの悪いセクタのリストを更新する ことを具備することを特徴とする請求項1、2、または3に記載の方法。 17.前記変更段階は、(a)前記変更パーティションのシステム領域のファイル ・システム構成の前記サイズを決定し、(b)前記変更パーティションの前記デ ータ領域内にないが代わりに該変更パーティションのファイル・システム構成に 割り当てられる前記選択パーティションのデータ領域を識別し、かつ(c)前記 変更パーティションの前記データ領域内にある前記選択パーティションの使用済 みデータ・セクタの物理的再配置を回避すると同時に、前記変更パーティション の前記データ領域にそれを物理的に再配置することによって前記識別されたデー タ領域からの前記データをクリアすることを具備することを特徴とする請求項1 、2、または3に記載の方法。
JP8525762A 1995-02-23 1996-02-12 ディスク・パーティションをマニピレートする方法 Pending JPH10512379A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US08/393,805 US5675769A (en) 1995-02-23 1995-02-23 Method for manipulating disk partitions
US08/554,828 US5706472A (en) 1995-02-23 1995-11-07 Method for manipulating disk partitions
US08/393,805 1995-11-07
US08/554,828 1995-11-07
PCT/US1996/002152 WO1996026487A1 (en) 1995-02-23 1996-02-12 Method for manipulating disk partitions

Publications (1)

Publication Number Publication Date
JPH10512379A true JPH10512379A (ja) 1998-11-24

Family

ID=27014455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8525762A Pending JPH10512379A (ja) 1995-02-23 1996-02-12 ディスク・パーティションをマニピレートする方法

Country Status (7)

Country Link
US (2) US5706472A (ja)
EP (1) EP0811196B1 (ja)
JP (1) JPH10512379A (ja)
AT (1) ATE208923T1 (ja)
AU (1) AU4986196A (ja)
DE (2) DE19681257T1 (ja)
WO (1) WO1996026487A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008545202A (ja) * 2005-06-29 2008-12-11 サンディスク コーポレイション 記憶装置内のパーティションを管理する方法およびシステム

Families Citing this family (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100205539B1 (ko) * 1996-07-19 1999-07-01 윤종용 하드디스크의 중첩 분할 방법
KR100191269B1 (ko) * 1996-08-23 1999-06-15 윤종용 하드 디스크를 이용한 컴퓨터 시스템의 검사 방법
US6185575B1 (en) 1996-09-19 2001-02-06 Powerquest Corporation In-place disk partition canonization and storage optimization
US5966732A (en) * 1996-12-02 1999-10-12 Gateway 2000, Inc. Method and apparatus for adding to the reserve area of a disk drive
US5956745A (en) * 1997-04-23 1999-09-21 Novell, Inc. System and method for automatically resizing a disk drive volume
US6154791A (en) * 1997-06-10 2000-11-28 International Business Machines Corporation Communication system for an array of direct access storage devices (DASD) that provides for bypassing one or multiple DASD
US6088356A (en) 1997-06-30 2000-07-11 Sun Microsystems, Inc. System and method for a multi-layer network element
US6044087A (en) * 1997-06-30 2000-03-28 Sun Microsystems, Inc. Interface for a highly integrated ethernet network element
US6044418A (en) * 1997-06-30 2000-03-28 Sun Microsystems, Inc. Method and apparatus for dynamically resizing queues utilizing programmable partition pointers
US6052738A (en) * 1997-06-30 2000-04-18 Sun Microsystems, Inc. Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory
US6081512A (en) 1997-06-30 2000-06-27 Sun Microsystems, Inc. Spanning tree support in a high performance network device
US6094435A (en) 1997-06-30 2000-07-25 Sun Microsystems, Inc. System and method for a quality of service in a multi-layer network element
US6119196A (en) * 1997-06-30 2000-09-12 Sun Microsystems, Inc. System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates
US6014380A (en) * 1997-06-30 2000-01-11 Sun Microsystems, Inc. Mechanism for packet field replacement in a multi-layer distributed network element
US6128666A (en) * 1997-06-30 2000-10-03 Sun Microsystems, Inc. Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine
US5920566A (en) * 1997-06-30 1999-07-06 Sun Microsystems, Inc. Routing in a multi-layer distributed network element
US5938736A (en) * 1997-06-30 1999-08-17 Sun Microsystems, Inc. Search engine architecture for a high performance multi-layer switch element
US6246680B1 (en) 1997-06-30 2001-06-12 Sun Microsystems, Inc. Highly integrated multi-layer switch element architecture
US6049528A (en) * 1997-06-30 2000-04-11 Sun Microsystems, Inc. Trunking ethernet-compatible networks
US6081522A (en) 1997-06-30 2000-06-27 Sun Microsystems, Inc. System and method for a multi-layer network element
US6016310A (en) * 1997-06-30 2000-01-18 Sun Microsystems, Inc. Trunking support in a high performance network device
US5960446A (en) * 1997-07-11 1999-09-28 International Business Machines Corporation Parallel file system and method with allocation map
JP3548529B2 (ja) 1997-08-20 2004-07-28 パワークエスト・コーポレーション イメージ形成中のコンピュータ・パーティション操作
US6012130A (en) * 1997-09-04 2000-01-04 Siemens Information And Communication Networks, Inc. Method and apparatus for automated disk drive upgrades
US5987479A (en) * 1997-09-24 1999-11-16 Sony Corporation, Inc. Large block allocation for disk-based file systems
US6108697A (en) * 1997-10-06 2000-08-22 Powerquest Corporation One-to-many disk imaging transfer over a network
US6029237A (en) * 1997-10-08 2000-02-22 Dell Usa, L.P. Method for simulating the presence of a diskette drive in a NetPC computer that contains only a hard disk drive
US6351850B1 (en) 1997-11-14 2002-02-26 Frank Van Gilluwe Computer operating system installation
US6041395A (en) * 1997-12-03 2000-03-21 Dell Usa, L.P. System and method for changing partition mappings to logical drives in a computer memory
WO1999057641A1 (en) 1998-05-01 1999-11-11 Powerquest Corporation Manipulation of virtual and live computer storage device partitions
GB9812836D0 (en) * 1998-06-16 1998-08-12 Ncr Int Inc Data security arrangement
AU4321799A (en) 1998-06-22 2000-01-10 Colin Constable Virtual data storage (vds) system
US6377958B1 (en) 1998-07-15 2002-04-23 Powerquest Corporation File system conversion
US6665786B2 (en) * 1998-09-21 2003-12-16 Microsoft Corporation Dynamic disk partition management
US6219828B1 (en) * 1998-09-30 2001-04-17 International Business Machines Corporation Method for using two copies of open firmware for self debug capability
US6205558B1 (en) * 1998-10-07 2001-03-20 Symantec Corporation Recovery of file systems after modification failure
US6732303B1 (en) 1998-10-22 2004-05-04 Matsushita Electric Industrial Co., Ltd. Information recording medium, and method and apparatus for managing defect thereof
KR100433606B1 (ko) 1998-10-22 2004-05-31 마쯔시다덴기산교 가부시키가이샤 정보 기록 매체, 및 이의 결함을 관리하는 방법 및 장치
US6279093B1 (en) * 1998-11-24 2001-08-21 Dell Usa, L.P. Computer system and method for preparing a computer-readable medium
US6470434B1 (en) * 1998-11-24 2002-10-22 Dell Usa, L.P. Computer system and method for accessing a computer-readable medium
US6346954B1 (en) * 1998-12-21 2002-02-12 International Business Machines Corporation User interface for configuring and managing a multi-drive data storage system
US6272611B1 (en) * 1999-02-09 2001-08-07 Yu-Te Wu Computer data storage medium having a virtual disk drive and memory management method therefor
WO2000055735A1 (en) * 1999-03-15 2000-09-21 Powerquest Corporation Manipulation of computer volume segments
US6467023B1 (en) * 1999-03-23 2002-10-15 Lsi Logic Corporation Method for logical unit creation with immediate availability in a raid storage environment
US6526493B1 (en) * 1999-03-30 2003-02-25 Adaptec, Inc. Method and apparatus for partitioning and formatting a storage media without rebooting by creating a logical device control block (DCB) on-the-fly
ATE210854T1 (de) * 1999-04-10 2001-12-15 Basis Gmbh Edv Vertriebs Ges Datenträger mit wiederherstellbarem basisdatengrundzustand und verfahren zu dessen herstellung
US6532517B1 (en) * 1999-04-13 2003-03-11 Webtv Networks, Inc. System and method for reducing disk chatter from disk-based data storage systems
US6609187B1 (en) 1999-07-06 2003-08-19 Dell Products L.P. Method and apparatus for supporting resizing of file system partitions
US6449705B1 (en) * 1999-09-09 2002-09-10 International Business Machines Corporation Method and apparatus for improving performance of drive linking through use of hash tables
US6185666B1 (en) 1999-09-11 2001-02-06 Powerquest Corporation Merging computer partitions
US6681325B1 (en) 1999-09-15 2004-01-20 Powerquest Corporation Providing disk layout information to an operating system for booting after disk repartitioning
US6530077B1 (en) 1999-09-15 2003-03-04 Powerquest Corporation Device and method for releasing an in-memory executable image from its dependence on a backing store
US6598069B1 (en) * 1999-09-28 2003-07-22 International Business Machines Corporation Method and apparatus for assigning resources to logical partition clusters
US6532476B1 (en) * 1999-11-13 2003-03-11 Precision Solutions, Inc. Software based methodology for the storage and retrieval of diverse information
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
US6615365B1 (en) 2000-03-11 2003-09-02 Powerquest Corporation Storing a computer disk image within an imaged partition
US7216251B2 (en) * 2000-02-19 2007-05-08 Powerquest Corporation Computer imaging recovery without a working partition or a secondary medium
US6473655B1 (en) * 2000-05-02 2002-10-29 International Business Machines Corporation Data processing system and method for creating a virtual partition within an existing partition in a hard disk drive
WO2001095331A2 (en) * 2000-06-09 2001-12-13 Koninklijke Philips Electronics N.V. Method of implicit partitioning the storage space available on a storage medium
US6829678B1 (en) * 2000-07-18 2004-12-07 International Business Machines Corporation System for determining the order and frequency in which space is allocated on individual storage devices
US6701332B1 (en) * 2000-07-31 2004-03-02 Hewlett-Packard Development Company, L.P. Cluster file system multi-volume root support
US6901497B2 (en) * 2000-10-27 2005-05-31 Sony Computer Entertainment Inc. Partition creating method and deleting method
US6681307B1 (en) * 2000-11-27 2004-01-20 Lsi Logic Corporation Method and system for expanding volume capacity
US6678787B2 (en) * 2000-12-21 2004-01-13 International Business Machines Corporation DASD-free non-volatile updates
US6920555B1 (en) 2001-03-10 2005-07-19 Powerquest Corporation Method for deploying an image into other partition on a computer system by using an imaging tool and coordinating migration of user profile to the imaged computer system
CN1147795C (zh) * 2001-04-29 2004-04-28 北京瑞星科技股份有限公司 检测和清除已知及未知计算机病毒的方法、系统
US20030023807A1 (en) * 2001-06-13 2003-01-30 Youichi Yamamoto Disk drive device and control device thereof
US20030037279A1 (en) * 2001-08-14 2003-02-20 Jui-Min Laio HDD data backup and recovery method
CN1421854A (zh) * 2001-11-28 2003-06-04 劲永国际股份有限公司 用于硬盘及固态盘上对资料加密保护资料安全性的方法
PL351779A1 (en) * 2002-01-18 2003-07-28 Advanced Digital Broadcast Ltd Apparatus for storing data and method of subdividing te data storage area
US7565517B1 (en) 2002-04-03 2009-07-21 Symantec Corporation Retargeting a captured image to new hardware while in a pre-boot environment
EP1490771A4 (en) * 2002-04-03 2007-11-21 Powerquest Corp USING DISSOCIATED PICTURES TO THE COMPUTER? AND MEMORY MANAGEMENT
US6910116B2 (en) * 2002-05-23 2005-06-21 Microsoft Corporation Game disk layout
US7117294B1 (en) * 2002-05-28 2006-10-03 Oracle International Corporation Method and system for archiving and compacting data in a data storage array
US6779109B2 (en) * 2002-07-23 2004-08-17 Phoenix Technologies Ltd. Systems, software and methods for allocating additional mass storage media space from free media space available in the host protected area
US6892284B2 (en) * 2002-09-11 2005-05-10 Intel Corporation Dynamic memory allocation for assigning partitions to a logical port from two groups of un-assigned partitions based on two threshold values
US6857011B2 (en) 2002-10-31 2005-02-15 Paragon Development Systems, Inc. Method of remote imaging
JP2004178337A (ja) * 2002-11-28 2004-06-24 Hitachi Ltd 記憶装置システム、記憶装置、計算機およびプログラム
US20040243494A1 (en) * 2003-05-28 2004-12-02 Integrated Data Control, Inc. Financial transaction information capturing and indexing system
US7117304B2 (en) * 2003-06-03 2006-10-03 Sun Microsystems, Inc. System and method for determining a file system layout
JP4766826B2 (ja) * 2003-06-19 2011-09-07 アルパイン株式会社 データの復元装置および方法
US7181586B2 (en) * 2004-04-05 2007-02-20 Hewlett-Packard Development Company, L.P. Formatting a data storage medium to a desired block format
US7788460B2 (en) * 2004-04-13 2010-08-31 Intel Corporation Defragmenting objects in a storage medium
KR100619016B1 (ko) * 2004-05-06 2006-08-31 삼성전자주식회사 광 기록 정보 저장 매체, 기록/재생 장치 및 호스트 장치
US7702948B1 (en) * 2004-07-13 2010-04-20 Adaptec, Inc. Auto-configuration of RAID systems
US7246216B2 (en) * 2004-07-14 2007-07-17 Lsi Corporation Dynamic partitioning of storage media for mixed applications
US20060044934A1 (en) 2004-09-02 2006-03-02 Micron Technology, Inc. Cluster based non-volatile memory translation layer
JP2006133989A (ja) * 2004-11-04 2006-05-25 Hitachi Ltd ストレージシステムの管理方法、及び装置
KR100694069B1 (ko) * 2004-11-29 2007-03-12 삼성전자주식회사 상이한 크기를 가지는 복수 개의 데이터 블록들을포함하는 저장 장치 및 이를 이용한 파일 관리 방법 및이를 포함하는 인쇄 장치
US8010498B2 (en) * 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
US20060253674A1 (en) * 2005-05-06 2006-11-09 Xiv Ltd. Automatic disk healing
US7836105B2 (en) * 2005-11-14 2010-11-16 Apple Inc. Converting file-systems that organize and store data for computing systems
US7409523B2 (en) * 2005-12-16 2008-08-05 Microsoft Corporation Online storage volume shrink
US7587573B2 (en) * 2006-01-18 2009-09-08 International Business Machines Corporation System and computer program product for shrinking a file system
US7685398B2 (en) 2006-05-18 2010-03-23 Dell Products L.P. Intelligent system for determination of optimal partition size in a build to order environment
US7890796B2 (en) * 2006-10-04 2011-02-15 Emc Corporation Automatic media error correction in a file server
US7979604B2 (en) * 2008-01-07 2011-07-12 Hitachi, Ltd. Methods and apparatus for assigning performance to data volumes on data storage systems
US7711622B2 (en) * 2008-03-05 2010-05-04 Stephen M Marceau Financial statement and transaction image delivery and access system
JP5787616B2 (ja) * 2011-05-20 2015-09-30 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びプログラム
US10834877B2 (en) * 2016-10-07 2020-11-17 Mont Andrew Handley Plant growing systems and methods, and methods of making such systems
CN107861790B (zh) * 2017-10-27 2020-05-15 新华三云计算技术有限公司 虚拟机磁盘空间扩展方法、装置、宿主机及可读存储介质
CN110704237B (zh) * 2018-07-10 2023-07-07 Emc Ip控股有限公司 用于无代理程序的分区备份的方法、设备和数据处理系统
CN112596678B (zh) * 2020-12-24 2024-01-16 得一微电子股份有限公司 一种存储设备及其固件设置方法、重新分区方法
US20230315316A1 (en) * 2022-03-30 2023-10-05 Micron Technology, Inc. Reading a master boot record for a namespace after reformatting the namespace

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04148248A (ja) * 1990-10-08 1992-05-21 Matsushita Electric Ind Co Ltd 情報処理装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4722048A (en) * 1985-04-03 1988-01-26 Honeywell Bull Inc. Microcomputer system with independent operating systems
US5062042A (en) * 1986-04-28 1991-10-29 Xerox Corporation System for managing data which is accessible by file address or disk address via a disk track map
US4819159A (en) * 1986-08-29 1989-04-04 Tolerant Systems, Inc. Distributed multiprocess transaction processing system and method
JPS63174122A (ja) * 1987-01-05 1988-07-18 コンピュータ・エツクス・インコーポレーテツド コンピユーターヒューマンインタフエース
US4994963A (en) * 1988-11-01 1991-02-19 Icon Systems International, Inc. System and method for sharing resources of a host computer among a plurality of remote computers
US4982324A (en) * 1988-12-19 1991-01-01 International Business Machines Corporation Method of and system for using device drivers to couple the communication and data storage of remote computer systems
CA1323448C (en) * 1989-02-24 1993-10-19 Terrence C. Miller Method and apparatus for translucent file system
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
US5371885A (en) * 1989-08-29 1994-12-06 Microsoft Corporation High performance file system
US5363487A (en) * 1989-08-29 1994-11-08 Microsoft Corporation Method and system for dynamic volume tracking in an installable file system
US5307497A (en) * 1990-06-25 1994-04-26 International Business Machines Corp. Disk operating system loadable from read only memory using installable file system interface
US5166936A (en) * 1990-07-20 1992-11-24 Compaq Computer Corporation Automatic hard disk bad sector remapping
US5214695A (en) * 1990-07-23 1993-05-25 International Business Machines Corporation Apparatus and method for loading a system reference diskette image from a system partition in a personal computer system
JPH04137126A (ja) * 1990-09-28 1992-05-12 Nec Corp ハードディスクのパーティション変更方式
US5136711A (en) * 1990-10-17 1992-08-04 Ast Research System for multiple access hard disk partitioning
KR920010963B1 (ko) * 1990-11-29 1992-12-26 현대전자산업 주식회사 하드 디스크의 포맷자동화 방법
US5469571A (en) * 1991-07-15 1995-11-21 Lynx Real-Time Systems, Inc. Operating system architecture using multiple priority light weight kernel task based interrupt handling
US5291585A (en) * 1991-07-29 1994-03-01 Dell Usa, L.P. Computer system having system feature extension software containing a self-describing feature table for accessing I/O devices according to machine-independent format
US5359725A (en) * 1991-10-15 1994-10-25 Time Warner Interactive Group, Inc. Method of creating CD-ROM image of files of different format with proper directories to be read by respective operating systems
US5528261A (en) * 1992-06-09 1996-06-18 Apple Computer, Inc. Operating system software architecture and methods for supporting color processing
US5361358A (en) * 1992-08-07 1994-11-01 International Business Machines Corporation System and method for installing program code for operation from multiple bootable operating systems
ATE166984T1 (de) * 1992-10-12 1998-06-15 Leunig Gmbh Einrichtung für die wahlweise datenübertragung und dateiübertragung
US5457778A (en) * 1993-12-02 1995-10-10 Minnesota Mining And Manufacturing Company Imaging apparatus using reusable software architecture and method of providing software control for a plurality of imaging products
US5574903A (en) * 1994-05-13 1996-11-12 Apple Computer, Inc. Method and apparatus for handling request regarding information stored in a file system
US5577186A (en) * 1994-08-01 1996-11-19 Mann, Ii; S. Edward Apparatus and method for providing a generic computerized multimedia tutorial interface for training a user on multiple applications
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
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04148248A (ja) * 1990-10-08 1992-05-21 Matsushita Electric Ind Co Ltd 情報処理装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008545202A (ja) * 2005-06-29 2008-12-11 サンディスク コーポレイション 記憶装置内のパーティションを管理する方法およびシステム
JP2013012212A (ja) * 2005-06-29 2013-01-17 Sandisk Corp 記憶装置内のパーティションを管理する方法およびシステム

Also Published As

Publication number Publication date
EP0811196A4 (en) 1999-05-19
EP0811196B1 (en) 2001-11-14
WO1996026487A1 (en) 1996-08-29
AU4986196A (en) 1996-09-11
DE69616987T2 (de) 2002-04-18
US6088778A (en) 2000-07-11
US5706472A (en) 1998-01-06
DE19681257T1 (de) 1998-02-26
DE69616987D1 (de) 2001-12-20
EP0811196A1 (en) 1997-12-10
ATE208923T1 (de) 2001-11-15

Similar Documents

Publication Publication Date Title
JPH10512379A (ja) ディスク・パーティションをマニピレートする方法
US5675769A (en) Method for manipulating disk partitions
US5956745A (en) System and method for automatically resizing a disk drive volume
US6792518B2 (en) Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies
US8738845B2 (en) Transaction-safe fat file system improvements
US6957362B2 (en) Instantaneous restoration of a production copy from a snapshot copy in a data storage system
US6185666B1 (en) Merging computer partitions
JP3548529B2 (ja) イメージ形成中のコンピュータ・パーティション操作
US8180956B2 (en) Method for controlling memory card and method for controlling nonvolatile semiconductor memory
JP3505093B2 (ja) ファイル管理システム
US6185575B1 (en) In-place disk partition canonization and storage optimization
JP4199993B2 (ja) スナップショット取得方法
US6934822B2 (en) Organization of multiple snapshot copies in a data storage system
US8156165B2 (en) Transaction-safe FAT files system
US8028006B2 (en) Method and apparatus for exchanging sub-hierarchical structures within a hierarchical file system
US5367671A (en) System for accessing extended object attribute (EA) data through file name or EA handle linkages in path tables
US5435004A (en) Computerized system and method for data backup
US6453383B1 (en) Manipulation of computer volume segments
US7620772B1 (en) Methods and structure for dynamic data density in a dynamically mapped mass storage device
US20030014585A1 (en) Method for regenerating partition using virtual drive, data processor and data storage device
JP3917612B2 (ja) 圧縮システムをオペレーティング・システムと統合する方法およびコンピュータ・システム
US5623651A (en) Method and system for repairing cross-linked clusters and reattaching lost directories on a storage device
JP2004062376A (ja) Raidディスクリードエラー処理方式、方法及びプログラム
JP2008123104A (ja) データアクセス装置
JPH06110759A (ja) ファイルシステム