(57)【要約】【課題】  ファイルの生成・書き込みと消去を繰り返しても、ファイルの記録領域の分断化が起こり難いファイル管理方式を提供することを目的とする。【解決手段】  未使用セクタのうち、所定の閾値以上の連続セクタのみを使用可能とする手順を含むファイル管理システムにおけるセクタ管理方法等、を提供する。【選択図】  図１
2006172119.tif 000002
【特許請求の範囲】
【請求項１】
ファイル管理システムにおけるセクタ管理方法であって、
未使用セクタのうち、所定の閾値以上連続した連続セクタを検出する工程と、
これら連続セクタの使用を可能とする工程とを含むことを特徴とするセクタ管理方法。
【請求項２】
前記未使用セクタを、所定の閾値より大きな連続セクタのみを含む第１の未使用セクタチェインと、それ以外の未使用セクタのみを含む第２の未使用セクタチェインとを用いて管理し、前記第１の未使用セクタチェインに含まれるセクタのみを使用可能とすることを特徴とする請求項１に記載のセクタ管理方法。
【請求項３】
ファイルが削除されたことにより未使用セクタとなったセクタを、削除時にソートして管理する工程を含むことを特徴とする請求項２に記載のセクタ管理方法。
【請求項４】
ファイルが削除されたことにより未使用セクタとなったセクタを、前記第２の未使用セクタチェインに結合する工程と、
当該第２の未使用セクタチェインに含まれる前記所定の閾値より大きな連続したセクタチェインのみを、前記第１の未使用セクタチェインに移動する工程とを含むことを特徴とする請求項２に記載のセクタ管理方法。
【請求項５】
ファイル管理システムにおけるセクタ管理方法をコンピュータに実行させるコンピュータプログラムであって、
未使用セクタのうち、所定の閾値以上の連続セクタのみを使用可能とする工程をコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項６】
前記未使用セクタを、所定の閾値より大きな連続セクタのみを含む第１の未使用セクタチェインと、それ以外の未使用セクタのみを含む第２の未使用セクタチェインとを用いて管理し、前記第１の未使用セクタチェインに含まれるセクタのみを使用可能とする工程をコンピュータに実行させることを特徴とする請求項５に記載のコンピュータプログラム。
【請求項７】
ファイルが削除されたことにより未使用セクタとなったセクタを、削除時にソートして管理する工程をコンピュータに実行させることを特徴とする請求項６に記載のコンピュータプログラム。
【請求項８】
ファイルが削除されたことにより未使用セクタとなったセクタを、前記第２の未使用セクタチェインに結合する工程と、
当該第２の未使用セクタチェインに含まれる前記所定の閾値より大きな連続したセクタチェインのみを、前記第１の未使用セクタチェインに移動する工程とを含むことを特徴とする請求項６に記載のコンピュータプログラム。
【請求項９】
請求項５〜８の何れか１項に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理システムにおけるセクタ管理方法およびセクタ管理プログラムならびにセクタ管理プログラムを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
近年、磁気テープ媒体を使用する家庭用ＶＴＲの代替として、ハード・ディスク・ドライブを使用した映像音声記録再生装置、所謂ハードディスクレコーダが製品化され、急激にその市場を伸ばしている。
ところで、大容量のハード・ディスク・ドライブにデータを記録し、その記録したデータを読み出す為には、ハードディスクレコーダに代表される組込型機器においても、Ｗｉｎｄｏｗｓ（登録商標）、ＵＮＩＸ（登録商標）等の汎用ＯＳで用いられているものと同等のファイルシステムが欠かせなくなってきている。
【０００３】
ファイルシステムの代表的なものとして、ＤＯＳやＷｉｎｄｏｗｓ（登録商標）で用いられるＦＡＴファイルシステムや、ＵＮＩＸ（登録商標）等で用いられているｉノードを使用したファイルシステム等があるが、組込型機器においては、その実装の容易さから、ＦＡＴファイルシステムを採用する事が多かった。
ＦＡＴファイルシステムとは、ディレクトリ、ファイル配置テーブル（以下、「ＦＡＴ」という）、およびクラスタによりファイルの管理を行うファイル管理方法である。ＦＡＴファイルシステムにおいて、１つのファイルを新しく作成する場合には、ディレクトリ番号の小さい順にディレクトリをサーチして、未使用のディレクトリを見つけることにより、新しく作成するファイルに使用するためのディレクトリを割り当てている。また、ＦＡＴについても同様になっており、ＦＡＴ番号の小さい順にＦＡＴをサーチして未使用のＦＡＴを見つけることにより、新しく作成ファイルに使用するためのＦＡＴを割り当てている。
【０００４】
しかしながら、ＦＡＴファイルシステムには、以下に挙げるような課題があった。
（１）ファイル名によるファイルの検索に要する時間が長く、かつ不均一である。
（２）ファイルの生成、消去に要する時間が長く、かつ不均一である。
（３）ファイル配置の均一化に不利である。
（４）ファイルの逆方向からの読み出しが困難である。
（５）ファイルを記録することが可能な領域が分断してしまい、ファイルの書き込みに要する時間が不均一、かつ長くなる。
（６）分断した記録領域にファイルが分割されて記録された場合、ファイルの読み出しに
要する時間が不均一、かつ長くなる。
これらの課題に対しては、多くの改善提案がなされており、例えば、下記の特許文献等にその一例を見る事が出来る。
【０００５】
【特許文献１】特開２００３−２２６６３号公報
【特許文献２】特開２００３−５８４００号公報
【特許文献３】特開平１１−２３２００１号公報
【特許文献４】特開平４−１３９５４３号公報
【特許文献５】特開２００４−７８７０４号公報
【非特許文献１】三洋電機技報ＶＯＬ．３５、ＮＯ．１、２００３、通巻７２号"ハードディスク一体型ビデオ＜ＶＺ−ＨＤ１Ｇ＞"
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明はこのような状況に鑑みてなされたものであり、"ハード・ディスク・ドライブは、大容量で高速な記録装置であるが、ランダムなヘッドシーク動作が頻発すると、データ転送速度が急激に低下するという特性により発生する、前記課題の（５）と（６）を解決することを目的とする。
より具体的には、ファイルの生成・書き込みと消去を繰り返しても、ファイルの記録領域の分断化が起こり難いセクタ管理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
前記課題を解決するために本発明は、未使用セクタのうち、所定の閾値以上の連続セクタのみを使用可能とする手順を含むファイル管理システムにおけるセクタ管理方法等、を提供する。
【発明の効果】
【０００８】
本発明によれば、記録セクタの分断化を低減し、高速なファイルアクセスを実現できる。また、従来のＦＡＴファイルシステムに比べ、ほんの僅かなオーバーヘッドで実現可能なため、十分に高速なＣＰＵを使用できない環境下においても高速なファイル管理を実現できる。
【発明を実施するための最良の形態】
【０００９】
次に、本発明の一実施形態について図面を参照しつつ説明する。
図１７は、本実施形態におけるディレクトリエリアの一例を示す図である。
図１７において、ディレクトリ１７００は、ディレクトリ番号１７０１と、ファイル名１７０２と、拡張子１７０３と、属性１７０４と、先頭ＦＡＴポインタ１７０５とから１つのレコードが構成されている。以下、説明の都合上、ディレクトリ番号１７０１が「ｘ」であるレコードのディレクトリを「Ｄ（ｘ）」と表すこととする。また、先頭ＦＡＴポインタ１７０５は、ディレクトリＤ（ｘ）が使用しているＦＡＴのチェインのうちの先頭のＦＡＴのＦＡＴ番号を示すためのポインタである。
【００１０】
なお、図１７では、使用中のディレクトリに関しては、ファイル名１７０２として、例えば「Ｆｉｌｅ１」などの文字列を記入しており、末使用のディレクトリに関しては、ファイル名１７０２として、先頭１バイトに「０ｘ００」（○ｘ○○は１６進数を現す）を記入している。
【００１１】
図５は、本実施形態におけるＦＡＴ構造の一例を示す図である。
図５において、ＦＡＴ５００は、ＦＡＴ番号５０１と、ＦＡＴのチェインを表現するクラスタであるＦＡＴポインタ５０２とから１つのレコードが構成されている。以下、説明の都合上、ＦＡＴ番号５０１が「ｘ」であるＦＡＴを「Ｆ（ｘ）」と表すこととする。
なお、図面では、使用中のＦＡＴに関しては、ＦＡＴのチェインを示すために、ＦＡＴポインタ５０２に次のＦＡＴのＦＡＴ番号が記入されている。さらに、１つのディレクトリに対応付けられている複数のＦＡＴのうち、チェインの最終のＦＡＴに関しては、ＦＡＴポインタ５０２に「Ｅｎｄマーク」の値が記入されている。「Ｅｎｄマーク」には、ＦＡＴポインタ５０２として使用されることのない値、例えば−１（１６進数の０ｘＦＦＦＦＦＦＦＦ）が使用される。
【００１２】
５０３は「使用可未使用ＦＡＴ先頭ポインタ」、５０４は「使用不可未使用ＦＡＴ先頭ポインタ」であり、双方ともに、（図示しない）ＦＡＴのヘッダ情報部分に含まれる特別なポインタである。
使用可未使用ＦＡＴ先頭ポインタ５０３は、十分に連続した領域が空いている未使用のＦＡＴのみをリンクした使用可能な未使用ＦＡＴのチェインの先頭ＦＡＴのＦＡＴ番号を示している。また、使用不可末使用ＦＡＴ先頭ポインタ５０４は、十分に連続領域が空いていない未使用のＦＡＴのみをリンクした使用出来ない末使用ＦＡＴのチェインの先頭ＦＡＴのＦＡＴ番号を示している。
【００１３】
図６は、図５に示したＦＡＴチェインのうちの使用済みＦＡＴチェインのみを示した図である。同様に、図７は、図５に示したＦＡＴチェインのうちの使用可未使用ＦＡＴチェインを示した図である。さらに、図８は、図５に示したＦＡＴチェインのうちの使用不可未使用ＦＡＴチェインを示した図である。
図３６は、本実施形態において用いられるセクタ構造の一例を示す図である。
図３６において、セクタ３６００は、セクタ番号３６０１と、セクタエリア３６０２とから構成されている。以下、説明の都合上、セクタ番号３６０１が「ｘ」であるセクタを「Ｓ（ｘ）」と表すこととする。また、セクタエリア３６０２は、実際にファイルのデータを格納するエリアが示されている（図３６においては、具体例を記入していない）。
【００１４】
さらに、セクタ３６００とＦＡＴ５００とは一対一で対応しており、Ｆ（ｘ）にはＳ（ｘ）が対応している。従って、ディレクトリＤ（ｘ）から始まるＦＡＴチェインの各ＦＡＴポインタに対応しているセクタは使用中セクタである。また、使用可未使用ＦＡＴ先頭ポインタ５０３から始まるＦＡＴチェインの各ＦＡＴポインタに対応しているセクタは、一定以上のセクタが連続している為に使用可能な未使用セクタである。さらに、使用不可未使用ＦＡＴ先頭ポインタ５０４から始まるＦＡＴチェインの各ＦＡＴポインタに対応しているセクタは、一定以上のセクタが連続していない為に使用出来ない未使用セクタである。
【００１５】
以上のようになっているので、ディレクトリ構造、ＦＡＴ構造およびセクタ構造のそれぞれが、図１７、図５、図３６に示すようになっている場合には、Ｆｉｌｅ１は図１８に、Ｆｉｌｅ２は図１９に、Ｆｉｌｅ３は図２０に、ＦｉｌｅＸは図２１に、使用可未使用ＦＡＴは図２２に、使用不可未使用ＦＡＴは図２３に、それぞれ示したＦＡＴチェイン構造となっている。
例えば、図１８に示したように、Ｄ（１）で示されるファイル「Ｆｉｌｅ１」のデータは、Ｓ（１）、Ｓ（２）、Ｓ（３）、Ｓ（９）、Ｓ（１７）が示すセクタエリア３６０２内のデータをあわせたものとなる。
【００１６】
ここで、Ｄ（１）を使用しているファイル「Ｆｉｌｅ１」を削除すると、ディレクトリ番号１７０２が「１」であるディレクトリのファイル名の先頭１バイトを「０ｘ００」としてディレクトリが削除されたことを示す。
次いで、Ｄ（１）に対応付けられている使用中ＦＡＴのチェイン（Ｆ（１）→Ｆ（２）→Ｆ（３）→Ｆ（９）→Ｆ（１７））を、使用不可未使用ＦＡＴ先頭ポインタ５０４から始まるＦＡＴチェインにＦＡＴ番号が昇順となるようにソートして結合する。結合後の使用不可未使用ＦＡＴのチェインは、「Ｆ（１）→Ｆ（２）→Ｆ（３）→Ｆ（８）→Ｆ（９）→Ｆ（１４）→Ｆ（１５）→Ｆ（ｔ）→Ｆ（ｔ＋１）・・・」となる。すなわち、Ｄ（１）の先頭ＦＡＴポインタが「０ｘ００」になるとともに、使用不可未使用ＦＡＴ先頭ポインタ５０４は「１」となる。
【００１７】
次いで、使用不可未使用ＦＡＴ先頭ポインタ５０４から始まるＦＡＴチェインのうち、「一定以上のセクタ」が連続している領域、すなわちＦＡＴ番号が連続している領域を、使用可未使用ＦＡＴ先頭ポインタ５０３から始まるＦＡＴチェインに結合し、使用不可未使用ＦＡＴ先頭ポインタ５０４から始まるＦＡＴチェインから削除する。
【００１８】
図２４は、Ｄ（１）を使用しているファイル「Ｆｉｌｅ１」を削除した後のディレクトリ構造を示した図であり、図９は、例えば上記「一定以上のセクタ」の値が８であるとした場合の図２４に対応したＦＡＴチェインの構造を示した図である。図１０は、図９に示したＦＡＴチェインのうちの使用済みＦＡＴチェインのみを示した図である。同様に、図１１は、図９に示したＦＡＴチェインのうちの使用可未使用ＦＡＴチェインを示した図である。図１２は、図９に示したＦＡＴチェインのうちの使用不可未使用ＦＡＴチェインを示した図である。また、図２８は、図１１の使用可未使用ＦＡＴチェインに対応したセクタを示した図である。同様に、図２９は、図１２の使用不可未使用ＦＡＴチェインに対応したセクタを示した図である。
【００１９】
更に、Ｄ（３）を使用している「Ｆｉｌｅ２」を削除した後のディレクトリ構造を図３０に、それに対応したＦＡＴチェインを図１３〜１６に示す。図１４は、図１３に示したＦＡＴチェインのうちの使用済みＦＡＴチェインのみを示した図である。同様に、図１５は、図１３に示したＦＡＴチェインのうちの使用可未使用ＦＡＴチェインを示した図である。図１６は、図１３に示したＦＡＴチェインのうちの使用不可未使用ＦＡＴチェインを示した図である。また、図３３は、図１５の使用可未使用ＦＡＴチェインに対応したセクタを示した図である。同様に、図３４は、図１６の使用不可未使用ＦＡＴチェインに対応したセクタを示した図である。
【００２０】
次に、２つのセクタを使用するデータ量をもつ１つの新しいファイル「Ｎｅｗ．ＤＡＴ」を作成すると、この新しいファイルに使用するためのディレクトリを、ディレクトリ１７００から探し出して割り当てる。ここでは、ディレクトリ番号が「１」になっているディレクトリを割り当てることとする。
【００２１】
そして、使用可未使用ＦＡＴ先頭ポインタ５０３を参照して、現在未使用のＦＡＴを先頭から２つ（即ち、「Ｆ（１）→Ｆ（２）」を）使用することになるので、ディレクトリ１７００のＤ（１）の先頭ＦＡＴポインタ１７０５には「１」を、Ｆ（１）のＦＡＴポインタ５０２には「２」が、Ｆ（２）のＦＡＴポインタ５０２には「Ｅｎｄマーク（０ｘＦＦＦＦＦＦＦＦ）」を入れることにより、使用中ＦＡＴのチェインに加える。そして、使用可未使用ＦＡＴ先頭ポインタ５０３は「３」となる（図２５、図２６、図２７、図３１、図３２、図３７、図３８および図３９を参照）。
【００２２】
本実施形態のファイル管理システムにおけるセクタ管理方法は、このような手順で実施されるので、新しいファイルに割り当てられるＦＡＴは、常に一定以上のセクタが連続している事が保証でき、ハード・ディスク・ドライブのヘッドシークに伴う転送速度の低下を防止することができる。
【００２３】
次いで、上記で説明した本実施形態のファイル管理システムにおけるセクタ管理方法に基づきファイルを作成した場合の処理手順について、図面を参照しつつ説明する。
図１は、ファイルを削除した場合の処理手順の一例を示すフローチャートである。
なお、この処理手順は、ファイル管理システムを構成する記録媒体に記録されているプログラムを用いて実行されるものである。
【００２４】
まず、ステップＳ１０１において、要求された削除ファイルに対するディレクトリ情報、即ち、図１７に示すファイル名と削除ファイル名の一致を検索する。
ステップＳ１０１において、削除ファイル名に一致するファイルが存在すると、そのディレクトリ番号の値が変数Ｄに格納される。もし一致するファイルが存在しない場合は、値「−１」が変数Ｄに格納される。
【００２５】
ついで、ステップＳ１０２において、ステップＳ１０１において得られたディレクトリ番号が有効なものであるか否かを、変数Ｄの値を確認することにより行う。変数Ｄの値が−１以外の値であった場合、すなわち削除ファイルが存在する場合は、ステップＳ１０３に進み、変数Ｄの値が−１であった場合は削除ファイルが存在しないので、ステップＳ１０７のエラー処理へと進む。
ステップＳ１０７のエラー処理の詳細は述べないが、後述する表示部を介して、エラーメッセージ等を表示する。
【００２６】
ステップＳ１０３では、ディレクトリ１７００より、変数Ｄの値をディレクトリ番号とする先頭ＦＡＴポインタ１７０５の値を、変数ＰＡに格納する。
ステップＳ１０４においては、前述の使用不可未使用ＦＡＴ先頭ポインタ５０４の値を、変数ＰＢに格納する。
次いで、ステップＳ１０５において、後述の『二つのＦＡＴチェインを昇順で結合する処理ルーチン』を実行することにより、削除ファイルのＦＡＴチェインを使用不可未使用ＦＡＴチェインに結合する。前記『二つのＦＡＴチェインを昇順で結合する処理ルーチン』では、処理後、結合後のＦＡＴチェインのＦＡＴ先頭ポインタを、変数ＰＢに格納しているので、ステップＳ１０６において、その値を使用不可未使用ＦＡＴ先頭ポインタ５０４に格納する。
【００２７】
次いで、前述の『二つのＦＡＴチェインを昇順で結合する処理ルーチン』の処理手順について説明する。
図２は、『二つのＦＡＴチェインを昇順で結合する処理ルーチン』の処理手順を示すフローチャートである。
本処理ルーチンは、二つの入力変数と、一つの出力変数を使用する。
入力変数の一方は、ＦＡＴ先頭ポインタを格納した変数ＰＡであり、もう一方は、同様にＦＡＴ先頭ポインタを格納した変数ＰＢである。出力変数は、一方の入力変数ＰＢと兼用であり、二つのＦＡＴチェインを結合した後の、ＦＡＴ先頭ポインタが、その値として格納される。
【００２８】
ステップＳ２０１において、変数ＰＡの値を変数Ｐ１に格納する。ステップＳ２０２においては、変数Ｐ１に格納された値をＦＡＴ番号５０１とするＦＡＴポインタ５０２の値を変数Ｐ３に格納する。
ステップＳ２０３においては、変数ＰＢの値を変数Ｐ２に格納する。
ステップＳ２０４において、変数Ｐ１の値と変数Ｐ２の値を比較し、変数Ｐ１が大きければステップＳ２０５に進み、変数Ｐ２の値が大きければステップＳ２１３に進む。
【００２９】
ステップＳ２０５においては、変数Ｐ２に格納された値をＦＡＴ番号５０１とするＦＡＴポインタ５０２の値を変数Ｐ４に格納する。
ステップＳ２０６においては、変数Ｐ４の値が前述のＥｎｄマークか否かを確認し、Ｅｎｄマークであった場合は、ステップＳ２１５に進み、それ以外の値であった場合は、ステップＳ２０７に進む。
ステップＳ２０７においては、変数Ｐ４の値と変数Ｐ１の値の大小比較を行い、変数Ｐ１の値の方が大きい場合はステップＳ２１２に、変数Ｐ４の値の方が大きい場合は、ステップＳ２０８に進む。
【００３０】
ステップＳ２１２においては、変数Ｐ４の値を変数Ｐ２に格納し、ステップＳ２０５へと進む。
ステップＳ２０８においては、変数Ｐ１の値を変数Ｐ２の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２に格納し、ステップＳ２０９へと進む。
ステップＳ２０９においては、変数Ｐ４の値を変数Ｐ１の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２に格納し、ステップＳ２１０へと進む。
ステップＳ２１０においては、変数Ｐ３の値がＥｎｄマークか否かを確認し、Ｅｎｄマークであった場合は、ステップＳ２１７へと進み、本処理ルーチンにおける処理を終了する。変数Ｐ３の値が、Ｅｎｄマーク以外の値であった場合は、ステップＳ２１１へと進む。
ステップＳ２１１においては、変数Ｐ３の値を変数Ｐ１に格納し、ステップＳ２０２へと進む。
【００３１】
ステップＳ２１３においては、変数Ｐ２の値を、変数Ｐ１の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２に格納し、ステップＳ２１４へと進む。
ステップＳ２１４においては、変数Ｐ１の値を、変数ＰＢへと格納し、ステップＳ２１０へと進む。
ステップＳ２１５においては、変数Ｐ１の値を、変数Ｐ２の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２に格納し、ステップＳ２１６へと進む。
ステップＳ２１６においては、値「Ｅｎｄマーク」を、変数Ｐ１の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２に格納し、ステップＳ２１０へと進む。
【００３２】
以上、図１および図２を用いて説明した処理を行うことで、削除ファイルの使用していたＦＡＴチェインを、使用不可未使用ＦＡＴ先頭ポインタ５０４から始まるＦＡＴチェインと結合し、昇順に並べる事ができる。
例えば、図１７に示したディレクトリ構造において、Ｆｉｌｅ１を削除した場合、すなわちそのディレクトリ構造が図１７から図２４へと変化した場合、ＦＡＴ５００は、図５から図９に示したものに変化する。
【００３３】
次いで、図３および図４を用いて、一定以上の連続した未使用ＦＡＴチェインを、使用不可未使用ＦＡＴチェインから使用可未使用ＦＡＴチェインへＦＡＴチェインを移動する処理手順について説明する。
【００３４】
図４は、『使用不可未使用ＦＡＴチェインから使用可未使用ＦＡＴチェインへの移動処理』の処理手順の一例を説明するフローチャートである。図３は、前記『使用不可未使用ＦＡＴチェインから使用可未使用ＦＡＴチェインへの移動処理』ルーチンにおいて使用している『使用可未使用ＦＡＴチェインと接しているか否かを調べる処理』ルーチンの処理手順の一例を説明するフローチャートである。
【００３５】
図４のステップＳ４０１において、使用不可未使用ＦＡＴ先頭ポインタ５０４の値を変数ＰＳへ格納し、ステップＳ４０２に進む。
ステップＳ４０２においては、変数ＰＳの値を変数Ｐ１へも格納する。
ステップＳ４０３においては、変数Ｐ１の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２の値を、変数Ｐ２に格納しステップＳ４０４へと進む。
【００３６】
ステップＳ４０４においては、変数ＣＮＴに値「１」を格納する。
ステップＳ４０５においては、変数Ｐ２の値がＥｎｄマークか否か比較を行い、Ｅｎｄマークであった場合はステップＳ４１０へと進み、Ｅｎｄマーク以外の値であった場合は、ステップＳ４０６へと進む。
ステップＳ４０６においては、変数Ｐ２の値と、変数Ｐ１の値に１を加えた値の大小比較を行う。その結果が等しい場合はステップＳ４０７へと進み、異なる場合はステップＳ４１０へと進む。
【００３７】
ステップＳ４０７においては、変数ＣＮＴの値に１を加えて、再び変数ＣＮＴに格納し、ステップＳ４０８に進む。
ステップＳ４０８においては、変数Ｐ２の値を変数Ｐ１に格納し、ステップＳ４０９へと進む。
ステップＳ４０９においては、変数Ｐ１の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２の値を変数Ｐ２に格納し、ステップＳ４０５へと進む。
【００３８】
ステップＳ４１０においては、変数Ｐ１の値を変数ＰＥへと格納し、ステップＳ４１１へと進む
ステップＳ４１１においては、変数ＣＮＴの値と値「８」の大小比較を行い、変数ＣＮＴの値の方が大きい場合はステップＳ４１４へ進み、変数ＣＮＴの値が７以下である場合は、ステップＳ４１２へと進む。
ステップＳ４１２では、後述の『ＦＡＴチェインが使用可未使用領域と接しているか否かを調べる処理』ルーチンを実行し、ステップＳ４１３へと進む。
【００３９】
ステップＳ４１３では、ステップＳ４１２で実行された『ＦＡＴチェインが使用可未使用領域と接しているか否かを調べる処理』ルーチンの実行結果を格納している変数Ｔの値が値「１」であるか否かを調べる。変数Ｔの値が「１」である場合は、ＦＡＴチェインが使用可未使用ＦＡＴチェインと接している事を示しており、ステップＳ４１４へ進む。それ以外の値の場合は、ＦＡＴチェインは使用可未使用ＦＡＴチェインと接しておらず孤立したＦＡＴチェインであり、ステップＳ４１８へ進む。
【００４０】
ステップＳ４１４においては、変数ＰＳの値を変数ＰＡに格納し、ステップＳ４１５へ進む。ステップＳ４１５においては、使用不可未使用ＦＡＴ先頭ポインタ５０４の値を変数ＰＢへ格納し、ステップＳ４０２に進む。
ステップＳ４１６においては、変数Ｐ１の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２に、値「Ｅｎｄマーク」を格納し、ステップＳ４１７へ進む。
【００４１】
ステップＳ４１７においては、図２を用いて説明した、前述の『二つのＦＡＴチェインを昇順で結合する処理ルーチン』を実行し、ステップＳ４１８へ進む。
ステップＳ４１８では、変数Ｐ２の値がＥｎｄマークか否かを調べ、Ｅｎｄマークであった場合は、ステップＳ４１９へと進み、本処理ルーチンの処理を終了する。一方、変数Ｐ２の値がＥｎｄマーク以外であった場合は、ステップＳ４２０へ進む。
ステップＳ４２０では、変数Ｐ１の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２に、変数Ｐ２の値を格納し、ステップＳ４２１へ進む。
ステップＳ４２１においては、変数Ｐ２の値を変数ＰＳへ格納し、ステップＳ４０２へ進む。
【００４２】
つぎに、『ＦＡＴチェインが使用可未使用領域と接しているか否かを調べる処理』ルーチンの処理手順の一例を、図３を用いて説明する。
本処理ルーチンは、二つの入力変数と、一つの出力変数を使用する。
入力変数の一方は、ＦＡＴチェインの先頭ポインタを格納した変数ＰＳであり、もう一方は、ＦＡＴチェインの終了ポインタを格納した変数ＰＥである。出力変数Ｔは、結果を格納する変数であり、変数ＰＳの値から始まり変数ＰＥで終了するＦＡＴチェインが、使用可未使用ＦＡＴ先頭ポインタで始まるＦＡＴチェインに接している場合には値「１」が、接していない場合には値「０」が格納される。
ここで、ＦＡＴチェインが接しているとは、二つのＦＡＴチェインが連続領域を成すことを示す。
【００４３】
図３において、ステップＳ３０１においては、値「０」を変数Ｔに格納する。
ステップＳ３０２においては、使用可未使用ＦＡＴ先頭ポインタの値をＦＡＴ番号５０１とするＦＡＴポインタ５０２の値を、変数Ｐ１に格納し、ステップＳ３０３へ進む。
ステップＳ３０３においては、変数Ｐ１の値がＥｎｄマークであるか否かを確認する。変数Ｐ１の値がＥｎｄマークであった場合は、ステップＳ３０９へと進み、本処理ルーチンの処理を終了する。一方、変数Ｐ１の値がＥｎｄマーク以外の値であった場合は、ステップＳ３０４へ進む。
【００４４】
ステップＳ３０４では、変数ＰＳの値と変数Ｐ１の値の大小比較を行い、変数ＰＳの値が変数Ｐ１の値より大きい場合はステップＳ３０５へ進み、変数ＰＳの値が変数Ｐ１の値より小さい場合は、ステップＳ３０７へと進む。
ステップＳ３０５においては、変数ＰＳの値と、変数Ｐ１の値に１を加えた値の大小比較を行い、その値が等しい場合にはステップＳ３０８へ進み、異なる場合はステップ３０６へと進む。
ステップＳ３０６においては、変数Ｐ１の値をＦＡＴ番号５０１とするＦＡＴポインタ５０２の値を変数Ｐ１に格納し、ステップＳ３０３へと進む。
【００４５】
ステップＳ３０７においては、変数ＰＥの値と変数Ｐ１の値に１を減じた値の大小比較を行い、その値が等しい場合にはステップＳ３０８へ進み、異なる場合はステップ３０９へと進み、本処理ルーチンの処理を終了する。
ステップＳ３０８においては、変数Ｔに値「１」を格納し、ステップＳ３０９へと進み、本処理ルーチンの処理を終了する。
【００４６】
以上、図３および図４用いて説明した処理を行うことで、一定以上連続した使用不可未使用ＦＡＴチェイン（前記説明では８セクタ以上連続したＦＡＴチェイン）を、使用可未使用ＦＡＴチェインへの移動する事ができる。
例えば、図２４に示したディレクトリ構造において、Ｆｉｌｅ２を削除した場合、すなわちそのディレクトリ構造が図２４から図３９へと変化した場合、ＦＡＴ５００は、図９から図１３に示したものに変化する。
なお、以上説明した例において、一定以上連続したセクタ数を決定する閾値が８以外の値でも良いのは言うまでもない。
【００４７】
最後に、図１、図２、図３および図４に示すセクタ管理方法を実行する際に使用されるファイル管理システムの構成の一例について、図面を参照しつつ説明する。
図３５は、図１、図２、図３および図４に示すセクタ管理方法を実行する際に使用されるファイル管理システムの構成の一例を示す図である。
図３５において、ＣＰＵ３５０１が、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３５０３内に存在するプログラムを実行することにより、外部Ｉ／〇（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）３５０５へのアクセスを実行し、必要に応じて記録媒体３５０６に対してデータの格納および削除の処理を行い、ファイル管理を行う。この際、本実施形態のセクタ管理方法を行うために必要な使用可未使用ＦＡＴ先頭ポインタと使用不可未使用ＦＡＴとのワークは、ＲＡＭ３５０４に記憶される。さらに、このファイル管理システムは、本実施形態のセクタ管理方法で管理したデータの管理経過や結果を表示するための表示部３５０２を有している。
【００４８】
以上説明したファイル管理システムは、セクタ管理処理を機能させるためのプログラムを用いて実現されている。
発明の対象とするのは、このプログラムそのものであってもよいし、このプログラムがコンピュータで読み取り可能な記録媒体に格納されているものであってもよい。
本発明では、この記録媒体として、図３５に示されているＣＰＵ３５０１で処理が行なわれるために必要なメモリ、例えばＲＯＭ３５０３がプログラムメディアであってもよいし、また、図示していない外部記億装置としてプログラム読み取り装置が設けられ、そこに記録媒体を挿入することで読み取り可能なプログラムメディアであってもよい。いずれの場合においても、格納されているプログラムはマイクロコンピュータがアクセスして実行させる構成であってもよいし、あるいはいずれの場合もプログラムを読み出し、読み出されたプログラムは、マイクロコンピュータの図示しないプログラム記憶エリアにロードされて、そのプログラムが実行される方式であってもよい。このロード用のプログラムは予めシステム本体内に格納されているものとする。
【００４９】
ここで、上記プログラムメディアは、本体と分離可能に構成される記録媒体であり、磁気テープやカセットテープ等のテープ系、ＦＤ（フレキシブルディスク）やＨＤ（ハードディスク）等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ等の光ディスク系、ＩＣカード（メモリカードを含む）／光力ード等のカード系、あるいはマスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭ等による半導体メモリを含めた固定的にプログラムを担持する媒体であってもよい。
【００５０】
また、本発明においては、インターネットを含む通信ネットワークと接続可能なシステム構成とした場合には、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。なお、このように通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予めシステム本体内に格納しておくか、あるいは別の記録媒体からインストールされるものであってもよい。なお、記録媒体に格納されている内容としてはプログラムに限定されず、データであってもよい。
【００５１】
さらに、本発明では、プログラム自体として、図３５に示されているＣＰＵ３５０１で実行される処理そのものであってもよいし、あるいはインターネットを含む通信ネットワークとアクセスすることで取り込める、あるいは取り込めたものであってもよいし、こちらから送り出すものであってもよい。さらには、この取り込んだプログラムに基づいて、上記ファイル管理システム内で処理された結果、つまり生成されたものであってもよい。あるいは、こちらから送り出す際に上記ファイル管理システム内で処理された結果、つまり生成されたものであってもよい。なお、これらのものはプログラムに限定されず、データであってもよい。
【００５２】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００５３】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５４】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００５５】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００５６】
【図１】本発明の実施形態を示し、ファイル削除処理の一例を説明するフローチャートである。
【図２】本発明の実施形態を示し、二つのＦＡＴチェインを昇順で結合する処理の一例を説明するフローチャートである。
【図３】本発明の実施形態を示し、ＦＡＴチェインが使用可能な未使用ＦＡＴチェインと接しているか否かを調べる処理の一例を説明するフローチャートである。
【図４】本発明の実施形態を示し、一定以上の連続領域を占める使用不可未使用ＦＡＴチェインを使用可未使用ＦＡＴチェインへ移動する処理の一例を説明するフローチャートである。
【図５】本発明の実施形態を示し、４つのファイル（Ｆｉｌｅ１、Ｆｉｌｅ２、Ｆｉｌｅ３、ＦｉｌｅＸ）を有するＦＡＴ構造の一例を示す図である。
【図６】本発明の実施形態を示し、図５に示したＦＡＴのうちの使用済みＦＡＴを示した図である。
【図７】本発明の実施形態を示し、図５に示したＦＡＴのうちの使用可未使用ＦＡＴ（連続領域）を示した図である。
【図８】本発明の実施形態を示し、図５に示したＦＡＴのうちの使用不可未使用ＦＡＴ（孤立領域）を示した図である。
【図９】本発明の実施形態を示し、図５に示したＦＡＴからＦｉｌｅ１を削除した後のＦＡＴ構造の一例を示した図である。
【図１０】本発明の実施形態を示し、図９に示したＦＡＴのうちの使用済みＦＡＴを示した図である。
【図１１】本発明の実施形態を示し、図９に示したＦＡＴのうちの使用可未使用ＦＡＴ（連続領域）を示した図である。
【図１２】本発明の実施形態を示し、図９に示したＦＡＴのうちの使用不可未使用ＦＡＴ（孤立領域）を示した図である。
【図１３】本発明の実施形態を示し、図９に示したＦＡＴからＦｉｌｅ２を削除した後のＦＡＴ構造の一例を示す図である。
【図１４】本発明の実施形態を示し、図１３に示したＦＡＴのうちの使用済みＦＡＴを示した図である。
【図１５】本発明の実施形態を示し、図１３に示したＦＡＴのうちの使用可未使用ＦＡＴ（連続領域）を示した図である。
【図１６】本発明の実施形態を示し、図１３に示したＦＡＴのうちの使用可未使用ＦＡＴ（孤立領域）を示した図である。
【図１７】本発明の実施形態を示し、ディレクトリエリアの一例を示す図である。
【図１８】本発明の実施形態を示し、Ｆｉｌｅ１のＦＡＴチェイン構造の一例を示す図である。
【図１９】本発明の実施形態を示し、Ｆｉｌｅ２のＦＡＴチェイン構造の一例を示す図である。
【図２０】本発明の実施形態を示し、Ｆｉｌｅ３のＦＡＴチェイン構造の一例を示す図である。
【図２１】本発明の実施形態を示し、ＦｉｌｅＸのＦＡＴチェイン構造の一例を示す図である。
【図２２】本発明の実施形態を示し、図５に示したＦＡＴの使用可未使用ＦＡＴチェイン構造の一例を示す図である。
【図２３】本発明の実施形態を示し、図５に示したＦＡＴの使用不可未使用ＦＡＴチェイン構造の一例を示す図である。
【図２４】本発明の実施形態を示し、「Ｆｉｌｅ１」を削除した後のディレクトリエリアを示した図である。
【図２５】本発明の実施形態を示し、図１３に示したＦＡＴにＮｅｗを追加した後のＦＡＴ構造の一例を示す図である。
【図２６】本発明の実施形態を示し、図２５に示したＦＡＴのうちの使用済みＦＡＴを示した図である。
【図２７】本発明の実施形態を示し、図２５に示したＦＡＴのうちの使用可未使用ＦＡＴ（連続領域）を示した図である。
【図２８】本発明の実施形態を示し、図１１に示した使用可未使用ＦＡＴチェインに対応したセクタを示した図である。
【図２９】本発明の実施形態を示し、図１２に示した使用不可未使用ＦＡＴチェインに対応したセクタを示した図である。
【図３０】本発明の実施形態を示し、「Ｆｉｌｅ２」を削除した後のディレクトリエリアを示した図である。
【図３１】本発明の実施形態を示し、図２５に示したＦＡＴのうちの使用不可未使用ＦＡＴ（孤立領域）を示す図である。
【図３２】本発明の実施形態を示し、Ｎｅｗを追加した後のディレクトリエリアを示した図である。
【図３３】本発明の実施形態を示し、図１５に示した使用可未使用ＦＡＴに対応したセクタを示した図である。
【図３４】本発明の実施形態を示し、図１６に示した使用不可未使用ＦＡＴチェインに対応したセクタを示した図である。
【図３５】本発明の実施形態を示し、ファイル管理システムの構成の一例を示す図である。
【図３６】本発明の実施形態を示し、セクタ構造の一例を示す図である。
【図３７】本発明の実施形態を示し、図２５に示した使用可未使用ＦＡＴチェインに対応したセクタを示した図である。
【図３８】本発明の実施形態を示し、図２５に示した使用不可未使用ＦＡＴチェインに対応したセクタを示した図である。
【図３９】本発明の実施形態を示し、Ｎｅｗを追加した後のＦＡＴチェイン構造の一例を示す図である。
【符号の説明】
【００５７】
５００  ＦＡＴ
５０１  ＦＡＴ番号
５０２  ＦＡＴポインタ
５０３  使用可未使用ＦＡＴ先頭ポインタ
５０４  使用不可未使用ＦＡＴ先頭ポインタ
１７００  ディレクトリ
１７０１  ディレクトリ番号
１７０２  ファイル名
１７０３  拡張子
１７０４  属性
１７０５  先頭ＦＡＴポインタ
３５０１  ＣＰＵ
３５０２  表示部
３５０３  ＲＯＭ
３５０４  ＲＡＭ
３５０５  外部Ｉ／Ｏ
３５０６  記録媒体
３６００  セクタ
３６０１  セクタ番号
３６０２  セクタエリア
【図１】
2006172119.tif 000003
【図２】
2006172119.tif 000004
【図３】
2006172119.tif 000005
【図４】
2006172119.tif 000006
【図５】
2006172119.tif 000007
【図６】
2006172119.tif 000008
【図７】
2006172119.tif 000009
【図８】
2006172119.tif 000010
【図９】
2006172119.tif 000011
【図１０】
2006172119.tif 000012
【図１１】
2006172119.tif 000013
【図１２】
2006172119.tif 000014
【図１３】
2006172119.tif 000015
【図１４】
2006172119.tif 000016
【図１５】
2006172119.tif 000017
【図１６】
2006172119.tif 000018
【図１７】
2006172119.tif 000019
【図１８】
2006172119.tif 000020
【図１９】
2006172119.tif 000021
【図２０】
2006172119.tif 000022
【図２１】
2006172119.tif 000023
【図２２】
2006172119.tif 000024
【図２３】
2006172119.tif 000025
【図２４】
2006172119.tif 000026
【図２５】
2006172119.tif 000027
【図２６】
2006172119.tif 000028
【図２７】
2006172119.tif 000029
【図２８】
2006172119.tif 000030
【図２９】
2006172119.tif 000031
【図３０】
2006172119.tif 000032
【図３１】
2006172119.tif 000033
【図３２】
2006172119.tif 000034
【図３３】
2006172119.tif 000035
【図３４】
2006172119.tif 000036
【図３５】
2006172119.tif 000037
【図３６】
2006172119.tif 000038
【図３７】
2006172119.tif 000039
【図３８】
2006172119.tif 000040
【図３９】
2006172119.tif 000041