(57)【特許請求の範囲】
【請求項１】
データ列をファイルとして記録された記録媒体から該ファイルの読出を行なうファイルシステムであって、
該記録媒体における単位記録領域毎に該ファイルの読出を行なうアクセス部と、
該ファイルが記録されている該単位記録領域の位置情報を管理するファイル管理テーブルと、
該ファイル管理テーブルを参照して、該ファイルが割り当てられた該単位記録領域のうちから特定の単位記録領域を探索する単位記録領域探索部と、
該ファイル毎にそなえられ、該ファイル管理テーブルにおける該ファイルの先頭から所定間隔毎に、該ファイルの先頭からの位置情報と該当単位記録領域についての単位記録領域番号とを対応させて登録されたジャンプテーブルと、
該ジャンプテーブル中から特定の単位記録領域番号を探索するジャンプテーブル探索部とをそなえ、
ファイルアクセス時に、該ジャンプテーブル探索部が、該ジャンプテーブル中から、所望データが割り当てられている単位記録領域に対応する単位記録領域番号もしくは所望データに近い単位記録領域番号を探索し、該単位記録領域探索部が、前記探索された単位記録領域番号に基づいて該ファイル管理テーブルを参照しながら前記所望データを含む単位記録領域を探索し、該アクセス部が、該単位記録領域に記録されているデータを読み出すことを特徴とする、ファイルシステム。
【請求項２】
ファイルアクセス時に、該ジャンプテーブル探索部が、該所望データが割り当てられている前記ファイルの先頭からの位置情報から現在のアクセス位置に割り当てられている前記ファイルの先頭からの位置情報を減算し、該減算の結果が負の値の場合、又は該減算の結果が正の値であり且つ該減算の結果の絶対値が該ジャンプテーブルの間隔以上である場合に、該ジャンプテーブル中から、該所望データが割り当てられている単位記録領域に対応する単位記録領域番号もしくは該所望データが割り当てられている前記ファイルの先頭からの位置情報を越えず且つ所望データに近い単位記録領域番号を探索することを特徴とする、請求項１記載のファイルシステム。
【請求項３】
該ファイル管理テーブルが、未割当単位記録領域を管理するとともに、
該未割当単位記録領域にデータを割り当てる単位記録領域割当部をそなえ、
該単位記録領域割当部が該未割当単位記録領域に該データを割り当てた後に、該ジャンプテーブル探索部が前記所定間隔毎に該単位記録領域番号を抽出することにより該ジャンプテーブルを作成することを特徴とする、請求項１又は請求項２記載のファイルシステム。
【請求項４】
該ジャンプテーブルを該記録媒体に記録するジャンプテーブル記憶部をそなえ、
該ファイルを読み出す際に、該ジャンプテーブルが該記録媒体から読み出されることを特徴とする、請求項１〜請求項３のいずれか１項に記載のファイルシステム。
【請求項５】
該ファイルを削除する際に、該ファイルに対応する該ジャンプテーブルが該記録媒体から削除されることを特徴とする、請求項４記載のファイルシステム。
【請求項６】
該ファイルに対応する該ジャンプテーブルが存在するか否かを調べるジャンプテーブルチェック部をそなえ、
該ジャンプテーブルチェック部が該ファイルに対応する該ジャンプテーブルが存在しないと判断した場合に、該ファイル管理テーブルに基づいて該ジャンプテーブルが作成されることを特徴とする、請求項１〜請求項５のいずれか１項に記載のファイルシステム。
【請求項７】
該ファイルの更新時刻と当該ファイルに対応するジャンプテーブルの更新時刻とを比較する更新時刻チェック部をそなえ、
該更新時刻チェック部が該ファイルの更新時刻が該ジャンプテーブルの更新時刻よりも新しいと判断した場合に、該ジャンプテーブルが更新されることを特徴とする、請求項１〜請求項６のいずれか１項に記載のファイルシステム。
【請求項８】
前記ジャンプテーブルに対応するファイルが存在するか否かを調べるファイルチェック部をそなえ、
該ファイルチェック部が前記ジャンプテーブルに対応するファイルが存在しないと判断した場合に、前記対応するファイルが存在しないジャンプテーブルが削除されることを特徴とする、請求項１〜請求項７のいずれか１項に記載のファイルシステム。
【請求項９】
データ列をファイルとして記録媒体に記録するとともに、該記録媒体から該ファイルの読出を行なうファイルシステムであって、
該記録媒体における単位記録領域毎に該ファイルの記録／読出を行なうアクセス部と、
該ファイルが記録されている該単位記録領域の位置情報を管理するファイル管理テーブルと、
該ファイル管理テーブルを参照して、該ファイルが割り当てられた該単位記録領域のうちから特定の単位記録領域を探索する単位記録領域探索部と、
該ファイル毎にそなえられ、該ファイル管理テーブルにおける該ファイルの先頭から所定間隔毎に、該ファイルの先頭からの位置情報と該当単位記録領域についての単位記録領域番号とを対応させて登録されたジャンプテーブルと、
該ジャンプテーブル中から特定の単位記録領域番号を探索するジャンプテーブル探索部と、
未割当単位記録領域に該ファイルを割り当てる単位記録領域割当部と、
該記録媒体中における、該未割当単位記録領域の先頭番号と当該未割当単位記録領域から連続する未割当単位記録領域数とを対応させて登録されるとともに、該未割当単位記録領域の前記登録された情報どうしを双方向に連結する関係情報を登録された未割当単位記録領域リストと、
該未割当単位記録領域リストを参照して該未割当単位記録領域を探索する未割当単位記録領域リスト探索部とをそなえ、
該記録媒体に該ファイルを記録する際に、該単位記録領域探索部が該未割当単位記録領域リストに基づいて該未割当単位記録領域を探索し、該単位記録領域割当部が該探索された未割当単位記録領域に該ファイルのデータを割り当てるとともに、前記ファイルのデータが割り当てられた単位記録領域が未割当単位記録領域リストから除去され、
ファイルアクセス時に、該ジャンプテーブル探索部が、該ジャンプテーブル中から、所望データが割り当てられている単位記録領域に対応する単位記録領域番号もしくは所望データに近い単位記録領域番号を探索し、該単位記録領域探索部が、前記探索された単位記録領域番号に基づいて該ファイル管理テーブルを参照しながら前記所望データを含む単位記録領域を探索し、該アクセス部が、該単位記録領域に記録されているデータを読み出すことを特徴とする、ファイルシステム。
【請求項１０】
ファイルアクセス時に、該ジャンプテーブル探索部が、該所望データが割り当てられている前記ファイルの先頭からの位置情報から現在のアクセス位置に割り当てられている前記ファイルの先頭からの位置情報を減算し、該減算の結果が負の値の場合、又は該減算の結果が正の値であり且つ該減算の結果の絶対値が該ジャンプテーブルの間隔以上である場合に、該ジャンプテーブル中から、該所望データが割り当てられている単位記録領域に対応する単位記録領域番号もしくは該所望データが割り当てられている前記ファイルの先頭からの位置情報を越えず且つ所望データに近い単位記録領域番号を探索することを特徴とする、請求項９記載のファイルシステム。
【請求項１１】
電源投入時もしくは該記録媒体の挿入時に、該未割当単位記録領域リストが作成されることを特徴とする、請求項９又は請求項１０記載のファイルシステム。
【請求項１２】
該ファイルを削除した際に、新たに未割当となった単位記録領域に関する情報が該未割当単位記録領域リストに追加されることを特徴とする、請求項９〜請求項１１のいずれか１項に記載のファイルシステム。
【請求項１３】
電源切断時もしくは該記録媒体の排出時に、該未割当単位記録領域リストを該記録媒体に記憶し、電源投入時もしくは該記録媒体の挿入時に、該未割当単位記録領域リストを該記録媒体から読み出すことを特徴とする、請求項９〜請求項１２のいずれか１項に記載のファイルシステム。
【請求項１４】
電源切断時もしくは該記録媒体の排出時に、該記録媒体中のファイル名と当該ファイルの作成時刻とを対応させて登録されたファイルリストを作成し該記録媒体に記録するファイルリスト記録部と、
該記録媒体に記録されている該ファイルリストの内容と、実際に該記録媒体に記録されているファイルとを比較するファイルリスト比較部とをそなえ、
電源投入時もしくは該記録媒体の挿入時に、該記録媒体に記録されているファイルリストの内容と実際に該記録媒体に記録されているファイルとが相違すると該ファイルリスト比較部が判断した場合に、前記実際に該記録媒体に記録されているファイルの情報に基づいて該未割当単位記録領域リストが更新されることを特徴とする、請求項１３記載のファイルシステム。
【請求項１５】
同一ファイルに対して複数の処理を同時に行なう場合に、該ファイルに対する処理に先立って、該複数の処理にかかるファイル情報の同期をとるファイル情報同期部をそなえたことを特徴とする、請求項１〜請求項１４のいずれか１項に記載のファイルシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ列を、磁気記憶装置等の記録媒体にファイルとして記憶することに用いて好適な、ファイルシステムに関する。
【０００２】
【従来の技術】
映像情報の記録媒体として、ＶＴＲ等のシーケンシャルアクセスメディアが主として用いられていたが、近年では、磁気ディスクや光磁気ディスク等のランダムアクセスメディアが用いられるようになってきた。
これらのランダムアクセスメディアは、シーケンシャルアクセスメディアと比較して、記録媒体中に格納されたデータに自由にアクセスすることが可能であるという特徴を有している。そして、このランダムアクセスメディアの特徴を活かすべく、一つの記録媒体について、複数映像の同時記録，時差再生，希望する映像位置からの瞬時の再生，複数の編集作業を同時処理等、種々の処理を行なうアプリケーションが検討されている。
【０００３】
さて、これらのランダムアクセスメディアに記録した映像情報は、ファイルシステムによりそのデータ列をファイルという単位で記憶管理されている。従来、広範囲に利用されているファイルシステムとしては、例えば、主にＰＣ（Personal Computer）におけるMS-DOSやMS-Windows等のＯＳ（Operation System）で用いられる、ファイル管理テーブル（ＦＡＴ：File Allocation Table）を用いたファイルシステム（以下、ＦＡＴファイルシステムという場合がある）が知られている。
【０００４】
以下、ＦＡＴファイルシステムについて図２および図１６を用いて説明する。図２はファイルシステムを適用するホストコンピュータのハードウェア構成を示すブロック図、図１６はＦＡＴファイルシステムの機能的な構成を示すブロック図である。
ホストコンピュータ１は、ＣＰＵ１０，ＲＡＭ２０，ＲＯＭ３０，Ｉ／Ｏ（Input/Output）インターフェース４０およびバス５０をそなえて構成されており、更に、Ｉ／Ｏインターフェース４０を介して記憶装置６０に接続されている。
【０００５】
ＣＰＵ１０はＲＡＭ２０，ＲＯＭ３０，Ｉ／Ｏインターフェース４０および記憶装置６０を制御するものである。ＲＯＭ２０およびＲＡＭ３０はアプリケーションを実行するための内部記憶装置であって、ＲＡＭ２０はアプリケーションを実行する際にワークエリア等として用いられるものであり、ＲＯＭ３０にはそのアプリケーション等が予め記憶されるようになっている。
【０００６】
Ｉ／Ｏインターフェース４０は記憶装置６０やその他の外部機器との間で入出力を行なうものである。そして、これらのＣＰＵ１０，ＲＡＭ２０，ＲＯＭ３０およびＩ／Ｏインターフェース４０はバス５０を介して相互に接続されている。記憶装置６０は、磁気ディスクや光磁気ディスク等の記録媒体に種々のデータを記録するものであり、以下、その記録媒体として磁気ディスクをそなえたＨＤＤ（Hard Disk Drive：固定ディスク装置）の場合について説明する。
【０００７】
そして、ＣＰＵ１０が、記憶装置６０やＲＯＭ３０に格納されたアプリケーションを実行することにより、ファイルシステム７０′として機能するようになっている。ファイルシステム７０′はＨＤＤ等の記録媒体をクラスタという単位記録領域に区切り、各クラスタへデータ系列を記憶し、ファイルとして記憶管理している。そして、どのクラスタへデータを記憶したか、あるいは、まだデータを記憶していないクラスタはどれかといったクラスタの管理は、図１６を用いて後述するように、ファイル管理テーブル（ＦＡＴ）を用いて行なう。
【０００８】
ファイルシステム７０′は、図１６に示すように、アクセス部７１，クラスタ探索部７２，クラスタ割当部７３およびファイル管理テーブル（ＦＡＴ）７４をそなえて構成されている。
クラスタ割当部７３はデータが記録されていない（未割当の）クラスタにファイル（データ）を割り当てるものである。クラスタ探索部７２は後述するファイル管理テーブル７４を参照して特定のクラスタの探索を行なうものであって、ファイルを記憶した（割当済みの）クラスタや、未割当のクラスタ等を探索するようになっている。アクセス部７１はクラスタ探索部７２で探索した割当済みのクラスタからデータを読み出し、更に、クラスタ割当部７３により割り当てられたクラスタについてデータを書き込むものである。
【０００９】
ファイル管理テーブル７４は記憶装置６０上に記録されているファイルのデータ系列が割り当てられたクラスタを管理するものである。ファイル管理テーブル７４では、データを割当済みのクラスタの次のデータが記憶されたクラスタの番号を記憶するようになっており、データ系列を割り当てたクラスタの繋がりに関する情報を単方向連結リストとして記憶管理することにより、複数のクラスタがどのような順に繋がって１つのファイルを構成しているかを管理するようになっている。さらに、ファイル管理テーブル７４は未割当のクラスタについても管理するようになっている。
【００１０】
このような構成により、記憶装置６０の記録媒体に記録したデータを読み出す場合には、先ず、クラスタ探索部７２が、ファイル管理テーブル７４を参照して所望するデータが格納されているクラスタに到達するまでクラスタを順番に辿り、その後、アクセス部７１がこの探索したクラスタにアクセスしてデータを読み出すのである。
【００１１】
また、記憶装置６０にデータを記録する場合には、先ず、クラスタ割当部７３がクラスタ探索部７２を起動し、このクラスタ探索部７２がファイル管理テーブル７４を参照して未割当のクラスタを探索した後、クラスタ割当部７３がこの探索された未割当のクラスタにデータを割り当てる。そして、アクセス部７１がこのクラスタにデータを記録するのである。
【００１２】
【発明が解決しようとする課題】
しかしながら、このような従来のファイルシステムにおいては以下に示すような課題がある。
（１）映像の早送り／早戻しや、希望の映像位置からの再生のような、記録媒体へのランダムアクセスを伴う処理を行なう場合に、その処理に時間を要するという課題がある。
【００１３】
例えば、映像の早送りや早戻しを行なうためにはファイルを順方向や逆方向へジャンプしながらデータを読み出す必要があり、又、希望の映像位置から再生を行なうためには希望する映像が記録されているクラスタの位置へジャンプする必要がある。
しかしながら、ファイル管理テーブル７４は各クラスタの繋がりに関する情報を単方向連結リストとして管理しているので、希望するデータが格納されているクラスタに到達するまで、クラスタ探索部７２が順番にクラスタを１つ１つ辿らなければならないので処理に時間がかかる。例えば、映像の早戻し（ファイルの逆方向へのジャンプ）を行ないながらデータの読み出しを行なう場合には、逆方向へのジャンプを行なう度に、クラスタ探索部７２がファイルの先頭クラスタからジャンプ先のデータ位置までクラスタを順番に辿る必要がある。
【００１４】
従って、映像の早送り／早戻しや、希望の映像位置からの再生のようなランダムアクセスを伴う処理（ジャンプ等）を行なう場合に、クラスタの検索に時間がかかる。
（２）新しい映像を記録する場合に、データが記憶されていない（未割当）クラスタの探索に処理時間を要するという課題がある。
【００１５】
ＦＡＴファイルシステム７０′においては、クラスタにデータが割り当てられているか未割当であるかをファイル管理テーブル７４を用いて管理している。従って、未割当のクラスタを調べるためにはクラスタ探索部７２がファイル管理テーブル７４を順番に辿って検索する必要がある。特に、記録媒体における最後の方のクラスタだけが空いている（未割当）場合には、クラスタ探索部７２がファイル管理テーブル７４の先頭からほぼ全部の要素を辿る必要があるので、未割当のクラスタを見つけ出すまでに膨大な処理時間を要する。
【００１６】
（３）一般に、磁気ディスクや光磁気ディスク等の円盤状の記録媒体を回転させながら記録を行なう記憶装置であって、その回転制御方式に角速度一定のＺＣＡＶ（Zone Constant Angular Velocity）手法を用いているもの（例えばＨＤＤ等）においては、記録媒体における内周側と外周側とでは内周側の転送速度が遅いので転送性能が異なる。従って、記録媒体の外周側では十分な転送性能があり記録できた映像が、記録媒体の内周側では記録できないおそれがある。
【００１７】
この問題を解決するために、記録媒体の内周側と外周側とからそれぞれ媒体の中間部へ向かって記録を行ない、記録媒体全体として平均的な転送性能を実現して映像を記録する手法が知られているが、従来のファイルシステムでは、先頭のクラスタおよび末尾のクラスタがそれぞれ記録媒体の最内周位置もしくは最外周位置に対応するので、上述の記録手法を実現するためには、クラスタ割当部７３が一連のクラスタの先頭側と末尾側とからそれぞれ中間部分に向かってデータを割り当てなければならない。
【００１８】
しかしながら、クラスタの末尾側からデータを割り当てるためには、クラスタ探索部７２が毎回ファイル管理テーブル７４を先頭側から辿って検索する必要があるので、これによっても時間がかかる。
（４）ＦＡＴファイルシステム７０′において、同一ファイルの映像に対する記録と再生とを同時に行なう場合、すなわち、映像記録中のファイルの再生を行なう場合には、一つのファイルを映像の記録用と再生用とでそれぞれ開いて、データの書き込みと読み出しとを同時に行なう。この際、記録側における更新処理による、ファイルサイズやファイルが割り当てられたクラスタの先頭位置等の情報等の変更を再生側において認識することができないので、再生側では、記録側において変更したデータの一部にアクセスすることができない場合がある。
【００１９】
すなわち、従来のファイルシステムにおいては、上述の如きランダムアクセスメディアの特徴を活かしたアプリケーションの実現が難しいという課題があるのである。
本発明は、このような課題に鑑み創案されたもので、その構造に工夫を施すことにより、記録媒体に格納されたファイルの記録／読出を行なう際に、単位記録領域の検索を高速に行なうことができ、又、同一ファイルに対して複数の処理を同時に行なう場合においても、一つの処理により生じたファイル情報の変更が他の処理に先だって反映され、かかる一つの処理により生じる影響を低減することができるようにした、ファイルシステムを提供することを目的とする。
【００２０】
【課題を解決するための手段】
このため、本発明のファイルシステムは、データ列をファイルとして記録された記録媒体からファイルの読出を行なうファイルシステムであって、記録媒体における単位記録領域毎にファイルの読出を行なうアクセス部と、ファイルが記録されている単位記録領域の位置情報を管理するファイル管理テーブルと、ファイル管理テーブルを参照して、ファイルが割り当てられた単位記録領域のうちから特定の単位記録領域を探索する単位記録領域探索部と、ファイル毎にそなえられ、ファイル管理テーブルにおけるファイルの先頭から所定間隔毎に、ファイルの先頭からの位置情報と当単位記録領域についての単位記録領域番号とを対応させて登録されたジャンプテーブルと、ジャンプテーブル中から特定の単位記録領域番号を探索するジャンプテーブル探索部とをそなえ、ファイルアクセス時に、ジャンプテーブル探索部が、ジャンプテーブル中から、所望データが割り当てられている単位記録領域に対応する単位記録領域番号もしくは所望データに近い単位記録領域番号を探索し、単位記録領域探索部が、探索された単位記録領域番号に基づいてファイル管理テーブルを参照しながら所望データを含む単位記録領域を探索し、アクセス部が、単位記録領域に記録されているデータを読み出すことを特徴としている。
【００２１】
また、ファイルアクセス時に、ジャンプテーブル探索部が、所望データが割り当てられているファイルの先頭からの位置情報から現在のアクセス位置に割り当てられているファイルの先頭からの位置情報を減算し、減算の結果が負の値の場合、又は減算の結果が正の値であり且つ減算の結果の絶対値がジャンプテーブルの間隔以上である場合に、ジャンプテーブル中から、所望データが割り当てられている単位記録領域に対応する単位記録領域番号もしくは所望データが割り当てられているファイルの先頭からの位置情報を越えず且つ所望データに近い単位記録領域番号を探索してもよい。
さらに、ファイル管理テーブルが、未割当単位記録領域を管理するとともに、未割当単位記録領域にデータを割り当てる単位記録領域割当部をそなえ、この単位記録領域割当部が未割当単位記録領域にデータを割り当てた後に、ジャンプテーブル探索部が所定間隔毎に単位記録領域番号を抽出することによりジャンプテーブルを作成してもよい。
【００２２】
また、ジャンプテーブルを記録媒体に記録するジャンプテーブル記憶部をそなえ、ファイルを読み出す際に、ジャンプテーブルが記録媒体から読み出されてもよい。
さらに、ファイルを削除する際に、ファイルに対応するジャンプテーブルが記録媒体から削除されてもよい。
【００２３】
またさらに、ファイルに対応するジャンプテーブルが存在するか否かを調べるジャンプテーブルチェック部をそなえ、このジャンプテーブルチェック部がファイルに対応するジャンプテーブルが存在しないと判断した場合に、ファイル管理テーブルに基づいてジャンプテーブルが作成されてもよい。
さらにまた、ファイルの更新時刻とこのファイルに対応するジャンプテーブルの更新時刻とを比較する更新時刻チェック部をそなえ、この更新時刻チェック部がファイルの更新時刻がジャンプテーブルの更新時刻よりも新しいと判断した場合に、ジャンプテーブルが更新されてもよい。
【００２４】
さらに、ジャンプテーブルに対応するファイルが存在するか否かを調べるファイルチェック部をそなえ、このファイルチェック部がジャンプテーブルに対応するファイルが存在しないと判断した場合に、対応するファイルが存在しないジャンプテーブルが削除されてもよい。
【００２５】
さらに、本発明のファイルシスシムは、データ列をファイルとして記録媒体に記録するとともに、この記録媒体からファイルの読出を行なうファイルシステムであって、記録媒体における単位記録領域毎にファイルの記録／読出を行なうアクセス部と、ファイルが記録されている単位記録領域の位置情報を管理するファイル管理テーブルと、このファイル管理テーブルを参照して、ファイルが割り当てられた単位記録領域のうちから特定の単位記録領域を探索する単位記録領域探索部と、ファイル毎にそなえられ、ファイル管理テーブルにおけるファイルの先頭から所定間隔毎に、ファイルの先頭からの位置情報と該当単位記録領域についての単位記録領域番号とを対応させて登録されたジャンプテーブルと、このジャンプテーブル中から特定の単位記録領域番号を探索するジャンプテーブル探索部と、未割当単位記録領域にファイルを割り当てる単位記録領域割当部と、記録媒体中における、未割当単位記録領域の先頭番号とこの未割当単位記録領域から連続する未割当単位記録領域数とを対応させて登録されるとともに、未割当単位記録領域の登録された情報どうしを双方向に連結する関係情報を登録された未割当単位記録領域リストと、この未割当単位記録領域リストを参照して未割当単位記録領域を探索する未割当単位記録領域リスト探索部とをそなえ、記録媒体にファイルを記録する際に、単位記録領域探索部が未割当単位記録領域リストに基づいて未割当単位記録領域を探索し、単位記録領域割当部が探索された未割当単位記録領域にファイルのデータを割り当てるとともに、ファイルのデータが割り当てられた単位記録領域が未割当単位記録領域リストから除去され、ファイルアクセス時に、ジャンプテーブル探索部が、ジャンプテーブル中から、所望データが割り当てられている単位記録領域に対応する単位記録領域番号もしくは所望データに近い単位記録領域番号を探索し、単位記録領域探索部が、探索された単位記録領域番号に基づいてファイル管理テーブルを参照しながら所望データを含む単位記録領域を探索し、アクセス部が、単位記録領域に記録されているデータを読み出すことを特徴としている。
【００２６】
また、ファイルアクセス時に、ジャンプテーブル探索部が、所望データが割り当てられているファイルの先頭からの位置情報から現在のアクセス位置に割り当てられているファイルの先頭からの位置情報を減算し、減算の結果が負の値の場合、又は減算の結果が正の値であり且つ減算の結果の絶対値がジャンプテーブルの間隔以上である場合に、ジャンプテーブル中から、所望データが割り当てられている単位記録領域に対応する単位記録領域番号もしくは所望データが割り当てられているファイルの先頭からの位置情報を越えず且つ所望データに近い単位記録領域番号を探索してもよい。
さらに、電源投入時もしくは記録媒体の挿入時に、未割当単位記録領域リストが作成されてもよく、ファイルを削除した際に、新たに未割当となった単位記録領域に関する情報が未割当単位記録領域リストに追加されてもよい。
また、電源切断時もしくは記録媒体の排出時に、未割当単位記録領域リストを記録媒体に記憶し、電源投入時もしくは記録媒体の挿入時に、未割当単位記録領域リストを記録媒体から読み出してもよい。
【００２７】
さらに、電源切断時もしくは記録媒体の排出時に、記録媒体中のファイル名とこのファイルの作成時刻とを対応させて登録されたファイルリストを作成し記録媒体に記録するファイルリスト記録部と、記録媒体に記録されているファイルリストの内容と、実際に記録媒体に記録されているファイルとを比較するファイルリスト比較部とをそなえ、電源投入時もしくは記録媒体の挿入時に、記録媒体に記録されているファイルリストの内容と実際に記録媒体に記録されているファイルとが相違するとファイルリスト比較部が判断した場合に、実際に記録媒体に記録されているファイルの情報に基づいて未割当単位記録領域リストが更新されてもよい。
【００２８】
また、同一ファイルに対して複数の処理を同時に行なう場合に、ファイルに対する処理に先立って、複数の処理にかかるファイル情報の同期をとるファイル情報同期部をそなえてもよい。
【００２９】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
（Ａ）第１実施形態の説明
図１は本発明の第１実施形態としてのファイルシステムの機能的な構成を示すブロック図、図２はファイルシステムを適用するホストコンピュータのハードウェア構成を示すブロック図、図３（ａ）はファイル管理テーブルの構成を模式的に示す図、図３（ｂ）はジャンプテーブルの構成を説明するための図である。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
【００３０】
本第１実施形態としてのファイルシステム７０ａは、図１６に示したファイルシステム７０′と同様に、例えば図２に示すホストコンピュータ１に適用されるものであり、記憶装置（記録媒体）６０にファイルとして記録されたデータ列の読み出しや書き込みを行なうものである。
本第１実施形態としてのファイルシステム７０ａがファイルの読出を行なう記憶装置６０としては、例えば、磁気ディスクや光磁気ディスク等の記録媒体をそなえ、これらの記録媒体にデータを記録するものが知られており、これらの磁気ディスクや光磁気ディスク等の記録媒体においては、クラスタ（単位記録領域）単位でファイル（データ）が記録されている。
【００３１】
本第１実施形態としてのファイルシステム７０ａは、図１に示すように、アクセス部７１，クラスタ探索部（単位記録領域探索部）７２，クラスタ割当部（単位記録領域割当部）７３，ファイル管理テーブル７４，ジャンプテーブル探索部７５，ジャンプテーブル記憶部７６，チェック部（ジャンプテーブルチェック部，更新時刻チェック部，ファイルチェック部）７７およびジャンプテーブル７８をそなえて構成されている。
【００３２】
なお、実際には、本第１実施形態におけるファイルシステム７０ａを構成するこれらの各部としての機能は、ＣＰＵ１０が行なうようになっている。
ファイル管理テーブル（File Allocation Table：ＦＡＴ）７４は、ファイルが記録されているクラスタの位置情報を管理するものであり、図３（ａ）に示すように、記録媒体中のクラスタがどのような順につながって１つのファイルを構成しているかを管理するものである。なお、このファイル管理テーブル７４の各エントリは記録媒体の各クラスタと１対１に対応しており、該当するクラスタの使用状況を表わしている。
【００３３】
そして、このファイル管理テーブル７４により、ファイルを構成するクラスタの位置が記録媒体上において連続していない場合においても、ファイルを記録媒体中から読出／書込を行なうことができるようになっている。
ジャンプテーブル７８は、ファイル毎にそなえられ、ファイル管理テーブル７４におけるファイルの先頭から所定間隔毎に、ファイルの先頭からの位置情報とこのクラスタについてのクラスタ番号とを対応させて登録されたものである。
【００３４】
具体的には、ジャンプテーブル７８は、図３（ｂ）に示すように、図３（ａ）に示すファイル管理テーブル７４におけるファイルの先頭からの所定クラスタ間隔毎の、ファイルの先頭からのクラスタ数を示すクラスタオフセット（図３（ｂ）中では１６進数でＦ）と、このクラスタオフセットに対応するクラスタ番号とにより構成されている。
【００３５】
なお、図３（ａ）中において連なっている四角形はファイルのＦＡＴエントリを示している。
そして、ジャンプテーブル７８は、後述するジャンプテーブル探索部７５により作成され、ファイルの新規作成と同時に作成されるようになっている。
また、ジャンプテーブル７８におけるクラスタオフセットの間隔は希望する性能に応じて設定することができるようになっており、このクラスタオフセットの間隔が短いほどクラスタ探索に要する時間は短くなるが、ジャンプテーブル７８のサイズも大きくなる。
【００３６】
なお、図３（ｂ）中においては、ジャンプテーブル７８におけるクラスタオフセットを１６進数でＦとしているが、これに限定するものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
ジャンプテーブル記憶部７６はジャンプテーブル７８を記憶管理するものであり、ジャンプテーブル探索部７５によるジャンプテーブル７８の作成後に、このジャンプテーブル７８を記録媒体に記憶したり、又、この記録媒体からファイルを読み出す際に、ジャンプテーブル７８を記録媒体から読み出し、ＲＡＭ２０上に展開するようになっている。
【００３７】
これにより、記録媒体へのアクセスや電源投入を行なう度にジャンプテーブル探索部７５がジャンプテーブル７８を作成する必要がなく、処理を高速化することができる。
また、記録媒体からファイルを削除する際には、ジャンプテーブル記憶部７６が、削除するファイルに対応するジャンプテーブル７８をＲＡＭ２０や記録媒体から削除するようになっている。これにより、対応するファイルが存在しないジャンプテーブル７８が記録媒体に存在することがなく、記録媒体の記録領域を有効に使用することができる。
【００３８】
ジャンプテーブル探索部７５は、ジャンプテーブル７８の中から特定のクラスタを探索するものであり、ジャンプテーブル探索部７５はジャンプテーブル７８中から、所望するファイル（データ）が割り当てられているクラスタに対応するクラスタ番号、もしくは、所望するデータに近いクラスタ番号を探索するようになっている。更に、ジャンプテーブル探索部７５は、所定間隔毎にクラスタ番号を抽出することによりジャンプテーブル７８を作成するようになっている。
【００３９】
チェック部７７は、ファイルに対応するジャンプテーブル７８が存在するか否かを調べることによりファイルとジャンプテーブル７８との整合性を調べるものであり、ジャンプテーブルチェック部として機能するものである。そして、このチェック部７７がファイルに対応するジャンプテーブル７８が存在しないと判断した場合に、ジャンプテーブル探索部７５がファイル管理テーブル７４に基づいてジャンプテーブル７８を作成するようになっている。
【００４０】
なお、ファイルをＰＣによりコピーして作成した場合のように、対応するジャンプテーブル７８が存在しないことをチェック部７７が検出した場合には、クラスタ探索部７２がそのファイルのクラスタをファイル管理テーブル７４を参照しながら順番に辿っていき、クラスタオフセットがジャンプテーブル７８の間隔で割り切れる場合には、ジャンプテーブルのエントリを作成追加することもできる。
【００４１】
これにより、ＰＣ等からコピーしたファイルについてもジャンプテーブル７８を作成することができ、記憶装置６０に高速にランダムアクセスを行なうことができる。
ＰＣ等を用いて、既に記録媒体中に記憶されているファイルを編集したり削除したり、又、新たなファイルを記録媒体中にコピーして作成したりすることも可能であるが、これらのごときファイルについての編集等を行なった後、この編集後のファイルを他のシステムにおいて利用するような場合には、チェック部７７がファイルとジャンプテーブル７８との整合性を調べるようになっている。
【００４２】
本第１実施形態のファイルシステムにおけるチェック部７７のジャンプテーブルチェック部としての動作について、図７に示すフローチャート（ステップＣ１０〜Ｃ２０）に従って説明する。
チェック部７７は、ファイルに対応するジャンプテーブル７８が存在するか否かを調べ（ステップＣ１０）、ジャンプテーブル７８が存在しない場合には（ステップＣ１０のＮＯルート参照）、ジャンプテーブル探索部７５がジャンプテーブル７８を作成する（ステップＣ２０）。
【００４３】
なお、ジャンプテーブル７８が存在する場合には（ステップＣ１０のＹＥＳルート参照）、そのまま終了する。
また、チェック部７７は、ファイルの更新時刻とそのファイルに対応するジャンプテーブル７８の更新時刻とを比較する更新時刻チェック部としても機能するようになっており、例えばファイルの編集を行なった等の理由により、チェック部７７がファイルの更新時刻がジャンプテーブル７８の更新時刻よりも新しいと判断した場合には、ジャンプテーブル探索部７５がこのジャンプテーブル７８を更新するようになっている。
【００４４】
このようなチェック部７７の更新時刻チェック部としての動作について、図８に示すフローチャート（ステップＤ１０〜Ｄ２０）に従って説明する。
チェック部７７は、ファイルとそのファイルに対応するジャンプテーブル７８とのそれぞれの作成時刻を比較して（ステップＤ１０）、ファイルの方が新しい場合には（ステップ１０のＹＥＳルート参照）、ジャンプテーブル探索部７５がそのファイルに関するジャンプテーブル７８を更新する（ステップＤ２０）。
【００４５】
ここで、ファイルの方が古い場合には（ステップ１０のＮＯルート参照）、ジャンプテーブル７８を更新せずにそのまま終了する。
また、チェック部７７は、ジャンプテーブルに対応するファイルが存在するか否かを調べるファイルチェック部としても機能するようになっている。例えばＰＣ等を用いてファイルを削除した等の理由により、ジャンプテーブル７８だけが外部記憶領域６０に存在する場合には、ジャンプテーブルチェック部７７は、対応するファイルが存在しないジャンプテーブル７８を削除するようになっている。
【００４６】
このようなチェック部７７のファイルチェック部としての動作について、図９に示すフローチャート（ステップＥ１０〜Ｅ２０）に従って説明する。
チェック部７７は、図９に示すように、ジャンプテーブル７８に対応するファイルが存在するか否かを調べ（ステップＥ１０）、ファイルが存在しない場合には（ステップＥ１０のＮＯルート参照）、ジャンプテーブル７８を削除する（ステップＥ２０）。
【００４７】
なお、ファイルが存在する場合には（ステップＥ１０のＹＥＳルート参照）、そのまま終了する。
すなわち、チェック部７７が、ファイルに対応するジャンプテーブル７８の存在や、ファイルおよびそのファイルに対応するジャンプテーブル７８の各作成時刻、ジャンプテーブル７８に対応するファイルの存在をそれぞれ調べ、必要に応じて整合性をとるようになっているのである。
【００４８】
ファイル情報同期部７９は、同一ファイルに対して複数の処理を同時に行なう場合に、ファイルに対する処理に先立って、複数の処理にかかるファイル情報の同期をとるものである。
例えば、同一ファイルの映像について時差再生、すなわち、記録しながらそのファイルを再生する場合には、同時に一つのファイルを再生用と記録用とでそれぞれ別個に開き、これらに対してそれぞれアクセスして処理を行なう。このような場合に、記録用として開いたファイル（以下、記録側という）に関する最新の情報を、再生用として開いたファイル（以下、再生側という）にコピーすることにより記録側と再生側とで同期をとり、再生側において再生処理等を行なう。
【００４９】
このような場合に、ファイル情報同期部７９は、ファイルアクセスに先立って、記録側により変更された情報を再生側に複写するようになっている。
図４は本第１実施形態のファイルシステムにおけるファイル情報同期部により同期をとられるファイルの情報を示す図である。この図４に示すように、ファイルサイズ，ファイルに割り当てられたクラスタの先頭クラスタの番号およびジャンプテーブル７８等の情報を記録側から再生側にコピーすることにより、記録側と再生側との間で情報の同期をとるようになっている。
【００５０】
具体的には、再生側へコピーする情報としては、例えば、ファイルサイズやファイルが割り当てられた先頭のクラスタ番号等が用いられ、又、ジャンプテーブル７８を用いる場合においてはジャンプテーブル７８もコピーされる。
そして、再生側へこれらの情報をコピーすることにより、記録側によって更新された新たなデータに再生側からアクセスすることが可能となる。又、記録側においては、ジャンプテーブル探索部７５により作成されたジャンプテーブル７８を再生側へコピーすることにより、時差再生時に記録しながら早送り，早戻し，ジャンプ等を高速に行なうことができる。
【００５１】
このような複数の処理にかかるファイル情報の同期処理について、図５に示すフローチャート（ステップＡ１０〜Ａ４０）に従って説明する。
先ず、ファイル情報同期部７９が、記録と再生とが同時に行なわれているファイルがあるか否かを判断して（ステップＡ１０）、このようなファイルがある場合には（ステップＡ１０のＹＥＳルート参照）、これらの処理の間において、例えば、記録側の処理により変更された、ファイルサイズおよび先頭クラスタの番号を、再生側においてかかるファイルを読み出す際にコピーする（ステップＡ２０）。
【００５２】
次に、チェック部７７がジャンプテーブル７８が存在するか否かを判断して（ステップＡ３０）、ジャンプテーブル７８が存在する場合には（ステップＡ３０のＹＥＳルート参照）、ファイル情報同期部７９がこのジャンプテーブル７８を記録側から再生側に対してコピーしてから（ステップＡ４０）、処理を終了する。
【００５３】
なお、記録と再生とを同時に行なっているファイルが無い場合（ステップＡ１０のＮＯルート参照）や、ジャンプテーブル７８が存在しない場合には（ステップＡ３０のＮＯルート参照）、そのまま処理を終了する。
このような構成により、記録媒体に記録されたデータを読み出す場合には、先ず、クラスタ探索部７２がジャンプテーブル探索部７５を呼び出す。そして、ジャンプテーブル探索部７５はジャンプテーブル記憶部７６が記憶管理しているジャンプテーブル７８を参照して、希望の位置に最も近いクラスタを探索するのである。
【００５４】
次に、本第１実施形態のファイルシステムにおけるジャンプテーブル探索部７５によるジャンプテーブル７８の探索方法について、図６に示すフローチャート（ステップＢ１０〜Ｂ７０）に従って説明する。
先ず、チェック部７７がジャンプテーブル７８が存在するか否かを確認する（ステップＢ１０）。ここで、ジャンプテーブル７８が存在しない場合には（ステップＢ１０のＮＯルート参照）、クラスタ探索部７２がファイル管理テーブル７４を順番に辿り、所望データが割り当てられているクラスタを検索し（ステップＢ７０）、処理を終了する。
【００５５】
一方、ジャンプテーブル７８が存在する場合には（ステップＢ１０のＹＥＳルート参照）、ジャンプテーブル探索部７５が、ジャンプテーブル７８を参照してクラスタの探索を行なう。ここで、ジャンプテーブル探索部７５は、（希望のクラスタオフセット）−（現在のクラスタオフセット）を計算して、現在のクラスタオフセットからアクセスしたいクラスタオフセットまでのクラスタ数を算出する（ステップＢ２０）。
【００５６】
例えば、図３（ｂ）に示すように、現在のアクセス位置がクラスタオフセット１ＥＦにあり、クラスタオフセット１７の特定のクラスタ（例えば、クラスタ２Ａ）に記録されているデータにアクセスする場合には、１７−１ＥＦ＝−１Ｄ８を計算する。
次に、ジャンプテーブル探索部７５は、この計算結果が負であるか否かを判断して（ステップＢ３０）、計算結果が負ならば（ステップＢ３０ＹＥＳルート参照）、ジャンプテーブル７８を参照して希望のクラスタオフセットを越えないクラスタオフセットを有するエントリを抽出する（ステップＢ５０）。
【００５７】
例えば、図３（ａ），（ｂ）中においては、その計算結果は負（−１Ｄ８）であるので、ジャンプテーブル探索部７５はジャンプテーブル７８を参照して、希望のクラスタオフセット１７を越えないジャンプテーブル７８の要素を求めることにより、クラスタオフセットＦ，クラスタ番号１１を得る。
なお、ここでクラスタオフセット１７を越えないジャンプテーブル７８の要素を求めたのは、ファイル管理テーブル７４が単方向の連結リストであるために、逆方向（クラスタが小さくなる方向）へ辿ることができないからである。
【００５８】
その後、ジャンプテーブル７８から求めたクラスタ番号（図３（ｂ）中では１１）から、実際にアクセスしたいクラスタ（図３（ｂ）中では２Ａ）までをクラスタ探索部７２がファイル管理テーブル７４を参照して順番に辿り（ステップＢ６０）、希望のデータを得る。
一方、計算結果が正の場合には（ステップＢ３０のＮＯルート参照）、次に、ジャンプテーブル探索部７５は、計算結果の絶対値が、ジャンプテーブル７８の間隔、すなわちクラスタオフセットの間隔（図３中においてはＦ）以上であるか否かを判断する（ステップＢ４０）。
【００５９】
そして、計算結果の絶対値が、クラスタオフセットの間隔より小さい場合には（ステップＢ４０のＮＯルート参照）、クラスタ探索部７２がファイル管理テーブル７４を順番に辿って検索して（ステップＢ７０）処理を終了する。
また、計算結果の絶対値が、ジャンプテーブル７８の間隔以上の場合には（ステップＢ４０のＹＥＳルート参照）、ステップＢ５０を行なう。すなわち、順方向へのアクセスであっても、計算結果の絶対値がジャンプテーブル７８の間隔以上の場合にはジャンプテーブル７８を用いるのである。
【００６０】
そして、クラスタ探索部７２が、ジャンプテーブル探索部７５がジャンプテーブル７８から求めたクラスタ番号１１に基づいて、実施にアクセスしたいクラスタ２Ａまでをファイル管理テーブル７４を用いて順番に辿り（ステップＢ６０）、希望のデータを得る。
その後、ジャンプテーブル探索部７５は、探索したクラスタをクラスタ探索部７２へ返し、クラスタ探索部７２が、ジャンプテーブル探索部７５から回答されたクラスタを起点にファイル管理テーブル７４を参照して希望の位置までクラスタを辿り、この探索したクラスタをアクセス部７１が読み出す。
【００６１】
このように、本発明の第１実施形態としてのファイルシステム７０ａによれば、記録媒体からファイルの読出を行なう際に、ジャンプテーブル探索部７５が、ジャンプテーブル７８から、所望のデータが割り当てられているクラスタに対応するクラスタ番号、もしくは、所望データが割り当てられているクラスタに近いクラスタ番号を検索するので、所望のデータを高速に検索することができ、特に、単位記録領域番号を遡るような検索を行なう場合においてその検索速度を向上させることができる。
【００６２】
なお、この際、ジャンプテーブル探索部７５によるファイル管理テーブル７４における逆方向へのアクセスであっても、ジャンプテーブル７８を用いることにより、クラスタの探索を高速に行なうことができる。又、ジャンプテーブル探索部７５によるファイル管理テーブル７４における順方向へのアクセスであっても、計算結果の絶対値がジャンプテーブル７８の間隔であるよりも大きい場合にはジャンプテーブル７８を用いることにより、クラスタの探索を高速に行なうことができる。
【００６３】
また、ファイル管理テーブル７４が未割当クラスタを管理するとともに、クラスタ割当部７３が未割当クラスタにデータを割り当てた後に、ジャンプテーブル探索部７５が所定間隔毎にクラスタ番号を抽出することによってジャンプテーブル７８を作成することにより、実際の未割当クラスタと整合したジャンプテーブル７８を容易に作成することができる。
【００６４】
さらに、ジャンプテーブル７８を記録媒体に記録し、ファイルを読み出す際にこのジャンプテーブル７８を記録媒体から読み出すことにより、ファイルを読み出す度にジャンプテーブル７８を作成する必要がなく、処理を高速化することができる。
また、ファイルを読み出す際に、ジャンプテーブル７８を記録媒体から読み出すことにより、ファイルの読み出しを行なう度にジャンプテーブル７８を作成する必要がない。
【００６５】
さらに、ファイルを削除する際に、ファイルに対応するジャンプテーブル７８を記録媒体から削除することにより記録媒体を効率的に使用することができる。また、チェック部７７がジャンプテーブル７８に対応するファイルが存在しないと判断した場合に、対応するファイルが存在しないジャンプテーブル７８を削除することによっても記録媒体を効率的に使用することができる。
【００６６】
さらに、チェック部７７がファイルに対応するジャンプテーブル７８が存在しないと判断した場合に、ファイル管理テーブル７４に基づいてジャンプテーブル７８を作成することにより、例えば、ＰＣ等を用いてコピーすることにより作成したファイルでありジャンプテーブル７８が存在しないファイルについてもジャンプテーブル７８が作成されるので高速にランダムアクセスすることが可能である。
【００６７】
またさらに、チェック部７７がファイルの更新時刻がジャンプテーブル７８の更新時刻よりも新しいと判断した場合に、ジャンプテーブル７８を更新することにより、常にファイルとジャンプテーブル７８とが整合するので信頼性が向上する。
さらに、同一ファイルに対して複数の処理を同時に行なう場合に、ファイル情報同期部７９が、ファイルに対する処理に先立って、複数の処理にかかるファイル情報の同期をとることにより、記録側の処理により生じたファイル情報の変更が再生側の処理に先だって反映され、かかる記録側の処理により生じる影響を低減することができる。
【００６８】
（Ｂ）第２実施形態の説明
図１０は本発明の第２実施形態としてのファイルシステムの機能的な構成を示すブロック図、図１１（ａ）はファイル管理テーブル７４の構成を模式的に示す図、図１１（ｂ）は更新前の未割当クラスタリストを示す図、図１１（ｃ）は更新後の未割当クラスタリストを示す図である。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
【００６９】
本第２実施形態としてのファイルシステム７０ｂも、図１６に示した従来のファイルシステム７０′と同様に、例えば図２に示すホストコンピュータに適用されるものであり、例えば、記憶装置（記録媒体）６０に対してデータ列をファイルとして記録するものである。
本第２実施形態としてのファイルシステム７０ｂがファイルの記録を行なう記憶装置６０としては、例えば、磁気ディスクや光磁気ディスク等の記録媒体をそなえ、これらの記録媒体にデータを記録するものが知られており、これらの磁気ディスクや光磁気ディスク等の記録媒体においては、クラスタ（単位記録領域）単位でファイル（データ）を記録するようになっている。
【００７０】
本第２実施形態としてのファイルシステム７０ｂは、図１０に示すように、アクセス部７１，クラスタ探索部（単位記録領域探索部）７２，クラスタ割当部（単位記録領域割当部）７３，ファイル管理テーブル７４，未割当クラスタリスト探索部（未割当単位記録領域リスト探索部）８０，未割当クラスタリスト記憶部（未割当単位記録領域リスト記憶部）８１，未割当クラスタリスト（未割当単位記録領域リスト）８２，未割当クラスタリストチェック部（未割当単位記録領域リストチェック部）８３，ファイルリスト記録部８４およびファイルリスト比較部８５をそなえて構成されている。
【００７１】
なお、実際には、本第２実施形態におけるファイルシステム７０ａを構成するこれらの各部としての機能は、ＣＰＵ１０が行なうようになっている。
未割当クラスタリスト８２は、図１１（ｂ），（ｃ）に示すように、記録媒体中における、未割当クラスタ（未割当単位記録領域）の先頭番号とこの未割当クラスタから連続する未割当クラスタ数とを対応させて登録されるとともに、各未割当クラスタの登録された情報どうしを双方向に連結する関係情報を登録されたものである。
【００７２】
なお、この未割当クラスタリスト８２中における連続する未割当クラスタの数には、先頭の未割当クラスタも含まれるようになっている。又、未割当クラスタリスト８２の各要素は、双方向連結リスト（図示省略）によって連結されており、この双方向連結リストにより、前方／後方のいずれの方向についても辿ることができるようになっている。
【００７３】
そして、この未割当クラスタリスト８２は、後述する未割当クラスタリスト記憶部８１により記録管理されるようになっている。
アクセス部７１は、記憶装置６０の記録媒体におけるクラスタ毎にファイルの記録を行なうものであり、又、記憶装置６０に書き込みを行なう際に、割り当てを行なうクラスタ数を指定してクラスタ割当部７３から呼び出すようになっている。又、アクセス部７１は、一旦割り当てられたクラスタへデータを記録した後、更に、残りの割り当てを行なうクラスタ数分のデータを記録するために、クラスタ割当部７３を呼び出すようになっている。
【００７４】
クラスタ割当部７３は、未割当のクラスタにデータを割り当てるものであって、又、クラスタ探索部７２を呼び出したり、クラスタ探索部７２を介して未割当クラスタリスト探索部８０を呼び出したりするようになっている。又、このクラスタ割当部７３は、未割当クラスタリスト８２を参照して、ファイル管理テーブル７４において、割り当てたクラスタに関する情報を割り当て済みに変更するようになっている。
【００７５】
クラスタ検索部７２は、未割当クラスタリスト８２が存在しない場合には、従来のファイルシステム７０′と同様に、ファイル管理テーブル７４を先頭から辿って未割当のクラスタを検索するようになっている。
未割当クラスタリスト記憶部８１は、未割当クラスタリスト８２を記憶管理するものである。
【００７６】
図１４（ａ）は電源切断時もしくは記録媒体排出時における各部の処理を説明するための図、図１４（ｂ）は電源投入時もしくは記録媒体挿入時における各部の処理を説明するための図であり、未割当クラスタリスト記憶部８１は、図１４（ａ）に示すように、電源切断時もしくは記録媒体排出時に未割当クラスタリスト８２を記録媒体に記憶し、又、電源投入時もしくは記録媒体挿入時には未割当クラスタリスト８２を記録媒体から読み出すようになっている。
【００７７】
未割当クラスタリストチェック部８３は、ＲＡＭ２０や記録媒体中に未割当クラスタリストが存在するか否かを調べるものである。
ファイルリスト記録部８４は、電源切断時もしくは記録媒体排出時に、記録媒体中のファイル名とこのファイルの作成時刻とを対応させて登録されたファイルリスト（図１４（ａ）参照）を作成して記録媒体に記録するものである。
【００７８】
例えば、図１４（ａ）に示すように、記録媒体にファイルＡ，Ｂ，Ｃの３つのファイルが存在している場合には、ファイルリスト記録部８４は、電源切断時もしくは記録媒体排出時に、記録媒体中のファイル名（ファイルＡ〜Ｃ）とこのファイルの作成時刻とをそれぞれ対応させて登録されたファイルリスト８７を作成して記録媒体に記録する。
【００７９】
ファイルリスト比較部８５は、記録媒体に記録されているファイルリストの内容と、実際に記録媒体に記録されているファイルとを比較するものであり、電源投入時もしくは記録媒体の挿入時に、記録媒体に記録されているファイルリスト８７の内容と、実際に記録媒体に記録されているファイルとが相違すると判断した場合に、その旨を未割当クラスタリスト探索部８０に通知するようになっている。
【００８０】
また、この通知を受けた未割当クラスタリスト探索部８０は、実際に記録媒体に記録されているファイルの情報に基づいて未割当クラスタリスト８２を更新するようになっている。
未割当クラスタリストチェック部８３は、データを書き込む記録媒体の未割当クラスタリスト８２が存在するか否かを調べるものであり、未割当クラスタリスト８２が存在する場合には、その旨を未割当クラスタリスト探索部８０に通知するようになっている。
【００８１】
未割当クラスタリスト探索部８０は、未割当クラスタリスト８２を参照して未割当クラスタを探索するものである。又、この未割当クラスタリスト探索部８０は、未割当クラスタリスト８２を作成するほか、ファイルが割り当てられたクラスタを未割当クラスタリスト８２から除去したり、後述するごとく記録媒体からファイルを削除する際に、新たに未割当となったクラスタに関する情報を未割当クラスタリスト８２に追加する等の更新処理も行なうようになっている。
【００８２】
さらに、未割当クラスタリスト探索部８０は、電源投入時や記録媒体挿入時に、後述するファイルリスト比較部８５が記憶装置６０の記録媒体に記録されているファイルリストの内容と実際に記憶装置６０に記録されているファイルとが相違する場合に、実際に記憶装置６０に記録されているファイルの情報に基づいて未割当クラスタリスト８２を更新するようになっている。
【００８３】
例えば、図１４（ｂ）中においては、電源切断後もしくは記録媒体排出後においてＰＣ等により記録媒体からファイルＣが削除されたことにより、記録媒体に記録されているファイルリスト８７の情報と実際に記録媒体に記録されているファイルに関する情報（ファイル名）とが一致していない。
このような場合において、ファイルリスト比較部８５は、これらの相違を検出することにより、ファイルＣが削除されたことを判断し、未割当クラスタリスト探索部８０が新たに作成した未割当クラスタリストを用いることができ、記録媒体中に記録されている整合性がとれていない未割当クラスタリストを使用することがない。
【００８４】
このような構成により、本第２実施形態のファイルシステム７０ｂにおいて、ファイルにデータを書き込む場合には、クラスタ割当部７３がクラスタ探索部７２を呼び出し、更に、このクラスタ探索部７２が未割当クラスタリスト探索部８０を呼び出す。
そして、未割クラスタリスト探索部８０は、未割当クラスタリスト記憶部８１が記憶管理している未割当クラスタリスト８２から未割当のクラスタを探し、この未割当のクラスタに対してクラスタ割当部７３がデータを割り当て、アクセス部７１がデータを書き込むのである。
【００８５】
本第２実施形態のファイルシステムにおけるクラスタリスト探索部８０によるクラスタへのデータの割当方法について、図１２に示すフローチャート（ステップF１０〜Ｆ７０）に従って説明する。
先ず、未割当クラスタリストチェック部８３が、未割当クラスタリスト８２が存在するか否かを判断して（ステップＦ１０）、未割当クラスタリスト８２が存在しない場合には（ステップＦ１０のＮＯルート参照）、クラスタリスト探索部７２がファイル管理テーブルを順番に辿って未割当クラスタを検索する（ステップＦ７０）。
【００８６】
未割当クラスタリスト８２が存在する場合には（ステップＦ１０のＹＥＳルート参照）、未割当クラスタリスト探索部８０は、未割当クラスタリスト８２の先頭の要素を参照する（ステップＦ２０）。そして、未割当クラスタリスト探索部８０は、（未割当クラスタの連続数）−（割当を希望するデータのクラスタ数）を計算して、この計算結果の正負を判断する（ステップＦ３０）。
【００８７】
例えば、図１１（ａ），（ｂ）に示す状態にある記録媒体にクラスタ数１４を占めるデータを記録する場合について説明すると、図１１（ｂ）に示す未割当クラスタリスト８２の先頭の要素から、先頭番号００から連続してクラスタ数１８の未割当クラスタが存在していることがわかる。ここでは、１８−１４＝４であり計算結果は正である。
【００８８】
この計算結果が正である場合（ステップＦ３０のＹＥＳルート参照）、すなわち、割り当てを希望するデータのクラスタ数が、未割当クラスタリスト８２における未割当クラスタの先頭要素から連続する一連の未割当クラスタ数よりも小さい場合には、割り当てを希望する全てのデータを未割当クラスタリスト８２の先頭の要素によって示される一連の未割当クラスタに割り当て（ステップＦ４０）、更に、この割り当て後の情報を反映させるように未割当クラスタリスト８２を更新する（ステップＦ６０）。
【００８９】
例えば、図１１（ａ）中示すファイル管理テーブル７４において斜線で示すように、連続するクラスタ数が１４であるデータを先頭番号００のクラスタから記録した後は、先頭番号０Ｅのクラスタから連続する４クラスタが新たな未割当クラスタとなり、このような状態を表わすように図１１（ｃ）に示すクラスタリスト８２を更新するのである。
【００９０】
一方、計算結果が負である場合（ステップＦ３０のＮＯルート参照）、すなわち、割り当てを希望するデータのクラスタ数が、未割当クラスタリスト８２における未割当クラスタの先頭要素から連続する一連の未割当クラスタ数よりも大きい場合には、未割当クラスタリスト探索部８０は、未割当クラスタリスト８２中において示されている連続する未割当クラスタ数分だけ、データをその先頭クラスタ番号から順番に割り当てる。
【００９１】
そして、未割当クラスタリスト探索部８０は、その割り当て結果をアクセス部７１に通知した後（ステップＦ５０）、未割当クラスタリスト８２を更新する（ステップＦ６０）。その後、残りのデータを同様にして未割当クラスタに割り当てるのである。
次に、ＨＤＤ等の、磁気ディスクや光磁気ディスク等の円盤状の記録媒体を回転させながら記録を行なう記憶装置であって、その回転制御方式に角速度一定のＺＣＡＶ（Zone Constant Angular Velocity）手法を用いているものにおいて、記録媒体の内周側と外周側とから分散して記録を行ない、転送性能の平均化を行なう場合について説明する。なお、クラスタの先頭が記録媒体の内周側、クラスタの終端が記録媒体の外周側にそれぞれ対応しているものとする。
【００９２】
記録媒体の内側から記録する場合、すなわち、クラスタの先頭から記録する場合には、前述のごとく、未割当クラスタリスト探索部８０が未割当クラスタリスト８２を参照しながら未割当クラスタにデータを割り当てる。
一方、記録媒体の外周側から記録する場合、すなわち、クラスタの終端側から記録する場合には、未割当クラスタリスト探索部８０が未割当クラスタリスト８２を参照してその終端の要素を求め、この終端の要素に示されている未割当クラスタの先頭クラスタ番号からデータを割り当てる。
【００９３】
ここで、割り当てを行なうデータに要するクラスタ数が、未割当クラスタリスト８２の終端要素に示されている未割当クラスタ数以下である場合には、クラスタ割当部７３は、割り当てを行なうデータに対してその連続する全未割当クラスタを割り当てる。
また、割り当てを行なうデータが要するクラスタ数が、未割当クラスタリスト８２の終端要素に示されている未割当クラスタ数よりも大きい場合には、クラスタ割当部７３は、そのデータに対して連続している未割当クラスタ数分だけ割り当て、そのアクセス部７１に通知する。
【００９４】
そして、未割当クラスタリスト探索部８０は、未割当クラスタリスト８２を更新して、割り当てられたクラスタを未割当クラスタリスト８２中から除外する。
なお、未割当クラスタリスト８２は、未割当クラスタリストの登録された情報（先頭番号）どうしを双方向に連結する関係情報を登録されているので、未割当クラスタリスト探索部８０が未割当クラスタリスト８２の先頭から順番に辿ることなく未割当クラスタリスト８２を更新することができる。
【００９５】
次に、記録媒体からファイルを削除する場合について説明する。図１３（ａ）はファイル管理テーブルの構成を模式的に示す図、図１３（ｂ）は更新前の未割当クラスタリストを示す図、図１３（ｃ）は更新後の未割当クラスタリストを示す図である。
クラスタ探索部７２は、削除対象のファイルが使用しているクラスタをファイル管理テーブル７４から求め、このファイルに該当するクラスタを未割当クラスタリスト８２に追加し、その後、このファイルを記録媒体から削除してファイル管理テーブル７４を更新する。
【００９６】
ここで、未割当クラスタリスト８２に新たに要素を追加する場合には、既に未割当クラスタリスト８２に登録済みのクラスタと新たに追加する要素とが連続していないかを調る。そして、これらのクラスタが連続している場合には、未割当クラスタリスト８２に登録されているクラスタ数に、新たに追加するクラスタ数を加算する。
【００９７】
例えば、図１３（ａ），（ｂ）に示すような状態にある記録媒体から、クラスタ番号５３〜５９のクラスタに記録されているファイルを削除すると、削除後のファイル管理テーブル７４においては、クラスタ番号５３〜５９のクラスタが未割当になるのでクラスタ番号４６〜５Ｆのクラスタが連続して未割当になる。そこで、クラスタ探索部７２は、図１３（ｃ）に示すように、未割当クラスタリスト８２におけるクラスタの先頭番号が４６の要素に対応するクラスタ数（図１３（ｂ）中では１２）に、新たに未割当クラスタが追加されたことにより連続することになったクラスタ数（図１３（ｃ）では２６）に修正する。
【００９８】
一方、既に未割当クラスタリスト８２に登録済みのクラスタと新たに追加する要素とが連続していない場合には、未割当クラスタリスト８２に、新たに追加する要素の先頭のクラスタ番号とそのクラスタ番号から連続する未割当なクラスタの数とを対応させて登録する。
例えば、図１３（ａ），（ｂ）に示すような状態にある記録媒体から、クラスタ番号７０〜７３のクラスタに記録されているファイルを削除すると、クラスタ番号７０〜７３のクラスタが未割当になるのでこれらのクラスタ番号７０〜７３のクラスタが連続して未割当になる。そこで、クラスタ探索部７２は、図１３（ｃ）に示すように、未割当クラスタリスト８２にクラスタの先頭番号が７０であり連続する未割当クラスタ数が４である要素を追加する。
【００９９】
このように、本発明の第２実施形態としてのファイルシステム７０ｂによれば、記録媒体中における、未割当クラスタの先頭番号とこの未割当クラスタから連続する未割当クラスタ数とを対応させて登録されるとともに、この未割当クラスタの登録された情報（先頭番号）どうしを双方向に連結する関係情報を登録された未割当クラスタリスト８２を用いて、未割当クラスタリスト検索部８０が未割当クラスタを検索するので、未割当クラスタを割り当てる際に、ファイル管理テーブル７４の探索に要する処理時間を短縮することができ、未割当クラスタを高速に検索することができる。
【０１００】
特に、ファイル管理テーブル７４を逆方向（クラスタが小さくなる方向）へ辿る検索を行なう場合においても高速に未割当クラスタを検索することができ、例えば、記録媒体の外周側、すなわち、クラスタの終端側から記録する場合においても、高速に未割当クラスタを探索することができる。従って、記録媒体の内周側と外周側との両方から分散して記録する場合においても、ファイル管理テーブル７４を先頭から辿る必要がないので、高速に処理することができる。
【０１０１】
また、クラスタ探索部７５が、未割当クラスタリスト８２に基づいて未割当クラスタを探索し、クラスタ割当部８１が探索された未割当クラスタにファイルのデータを割り当てるとともに、このファイルのデータが割り当てられたクラスタを未割当クラスタリスト８２から除去することにより、実際の未割当クラスタと整合した未割当クラスタリスト８２を作成することができる。
【０１０２】
さらに、未割当クラスタリスト探索部８０が、電源投入時もしくは記録媒体の挿入時に未割当クラスタリスト８２を作成することにより、電源投入時もしくは記録媒体の挿入時に、常に、記録媒体におけるデータが割り当てられていないクラスタと未割当クラスタリスト８２とが整合するので信頼性が向上する。
またさらに、ファイルを削除した際に、新たに未割当となったクラスタに関する情報を未割当クラスタリスト８２に追加することにより、新たにデータが未割当となったクラスタも含めて記録媒体の全ての未割当クラスタをデータの記録に使用することができる。
【０１０３】
さらにまた、電源切断時もしくは記録媒体の排出時に、未割当クラスタリスト８２を記録媒体に記憶し、電源投入時もしくは記録媒体の挿入時に、この未割当クラスタリスト８２を記録媒体から読み出すことにより、電源切断もしくは記録媒体の排出後にファイルを読み出す度に未割当単位記録領域リストを作成する必要がなく、処理を高速化することができる。
【０１０４】
また、電源投入時もしくは記録媒体の挿入時に、ファイルリスト比較部８５が、記録媒体に記録されているファイルリスト８７の内容と実際に記録媒体に記録されているファイルとが相違すると判断した場合に、実際に記録媒体に記録されているファイルの情報に基づいて未割当クラスタリスト８２を更新することにより、電源投入時もしくは記録媒体の挿入時に、常に記録媒体に記録されているファイルと未割当単位記録領域リストとが整合するので信頼性が向上する。
【０１０５】
さらに、システムの電源切断時や媒体排出時に、ファイルリスト比較部８５が、媒体中に記録されたファイルのファイル名と作成時刻とからなるファイルリスト８７を記録媒体に記録するので、これにより、ＰＣ等で媒体の内容を変更する場合においても、記録媒体中に実際に記録されているファイルの内容と記録媒体中に記録した未割当クラスタリスト８２の内容とが一致する。
【０１０６】
（Ｃ）その他
なお、上述した実施形態に関わらず、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、図１５は本発明の他の実施形態としてのファイルシステム７０ｃの機能的な構成を示すブロック図であるが、この図１５に示すように、上述の第１実施形態としてのファイルシステム７０ａと第２実施形態としてのファイルシステム７０ｂとの双方の機能を備えて構成してもよい。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
【０１０７】
なお、このファイルシステム７０ｃにおいて、アクセス部７１が記録媒体にデータを書き込む場合に、クラスタ割当部７３が未割当のクラスタを割り当てる際に、新規ファイルのクラスタオフセットがジャンプテーブル７８におけるクラスタオフセットの間隔で割り切れる場合には、ジャンプテーブル７８のエントリを作成追加することにより、ファイルを作成しながらジャンプテーブル７８をも作成することができ、これにより、ファイルの作成中においてもファイルへ高速にランダムアクセスすることができる。
【０１０８】
また、電源投入時もしくは記録媒体の挿入時に、未割当クラスタリスト８２が作成されるので、電源投入時もしくは記録媒体の挿入時に、常に記録媒体に記録されているファイルと未割当クラスタリスト８２とが整合するので信頼性が向上する。
また、上記実施形態においては、ジャンプテーブル探索部７５がジャンプテーブル７８の作成／更新を行なっているがそれに限定するものではなく、例えばジャンプテーブル記憶部７６等の他の部分がこれらの処理を行なってもよい。
【０１０９】
さらに、上記実施形態においては、未割当クラスタリスト探索部８０が未割当クラスタリスト８２の作成／更新を行なっているがそれに限定するものではなく、例えば未割当クラスタリスト記憶部８１等の他の部分がこれらの処理を行なってもよい。
また、上記実施形態においては、記録媒体における単位記録領域としてクラスタを適用して説明しているが、それに限定するものではなく、単位記録領域として他の単位を用いてもよい。
【０１１０】
なお、本発明の各実施形態が開示されていれば、当業者によって製造することが可能である。
【０１１１】
【発明の効果】
以上詳述したように、本発明のファイルシステムによれば、以下の効果ないし利点がある。
（１）記録媒体からファイルの読出を行なう際に、ジャンプテーブル中から、所望のデータが割り当てられている単位記録領域に対応する単位記録領域番号、もしくは、所望データに近い単位記録領域番号を検索するので、所望のデータを高速に検索することができ、特に、単位記録領域番号を遡るような検索を行なう場合においてその検索速度を向上させることができる。
【０１１２】
（２）実際の未割当単位領域と整合したジャンプテーブルを作成することができる。
（３）ジャンプテーブルを記録媒体に記録し、ファイルを読み出す際にこのジャンプテーブルを記録媒体から読み出すことにより、ファイルを読み出す度にジャンプテーブルを作成する必要がなく、処理を高速化することができる。
【０１１３】
（４）記録媒体を効率的に使用することができる。
（５）ファイルに対応するジャンプテーブルを調べ、ファイルに対応するジャンプテーブルが存在しないと判断した場合に、ファイル管理テーブルに基づいてジャンプテーブルを作成することにより、ファイルに対応するジャンプテーブルがそなえられるので、ジャンプテーブルを用いた単位記録領域の検索を迅速に行なうことができる。
【０１１４】
（６）ファイルの更新時刻とこのファイルに対応するジャンプテーブルの更新時刻とを比較し、ファイルの更新時刻がジャンプテーブルの更新時刻よりも新しいと判断した場合にジャンプテーブルを更新することにより、常にファイルとジャンプテーブルとが整合するので信頼性が向上する。
（７）記録媒体にファイルを記録する際に、未割当単位記録領域リストに基づいて未割当単位記録領域を探索することにより、未割当単位記録領域を高速に検索することができる。
【０１１５】
（８）電源切断時もしくは記録媒体の排出時に、未割当単位記録領域リストを記録媒体に記憶し、電源投入時もしくは該記録媒体の挿入時に、未割当単位記録領域リストを記録媒体から読み出すことにより、電源切断もしくは記録媒体の排出後にファイルを読み出す度に未割当単位記録領域リストを作成する必要がなく、処理を高速化することができる。
【０１１６】
（９）電源投入時もしくは記録媒体の挿入時に、常に記録媒体に記録されているファイルと未割当単位記録領域リストとが整合するので信頼性が向上する。
（１０）同一ファイルに対して複数の処理を同時に行なう場合に、ファイルに対する処理に先立って、複数の処理にかかるファイル情報の同期をとることにより、一の処理により生じたファイル情報の変更が他の処理に先だって反映され、かかる一の処理により生じる影響を低減することができる。
【図面の簡単な説明】
【図１】本発明の第１実施形態としてのファイルシステムの機能的な構成を示すブロック図である。
【図２】ファイルシステムを適用するホストコンピュータのハードウェア構成を示すブロック図である。
【図３】（ａ）はファイル管理テーブルの構成を模式的に示す図、（ｂ）はジャンプテーブルの構成を説明するための図である。
【図４】本発明の第１実施形態のファイルシステムにおけるファイル情報同期部により同期をとられるファイルの情報を示す図である。
【図５】本発明の第１実施形態のファイルシステムにおける複数の処理にかかるファイル情報の同期処理について説明するためのフローチャートである。
【図６】本発明の第１実施形態のファイルシステムにおけるジャンプテーブル探索部によるジャンプテーブルの探索方法を説明するためのフローチャートである。
【図７】本発明の第１実施形態のファイルシステムにおけるチェック部のジャンプテーブルチェック部としての動作について説明するためのフローチャートである。
【図８】本発明の第１実施形態のファイルシステムにおけるチェック部の更新時刻チェック部としての動作を説明するためのフローチャートである。
【図９】本発明の第１実施形態のファイルシステムにおけるチェック部のファイルチェック部としての動作を説明するためのフローチャートである。
【図１０】本発明の第２実施形態としてのファイルシステムの機能的な構成を示すブロック図である。
【図１１】（ａ）はファイル管理テーブルの構成を模式的に示す図、（ｂ）は更新前の未割当クラスタリストを示す図、（ｃ）は更新後の未割当クラスタリストを示す図である。
【図１２】本発明の第２実施形態のファイルシステムにおけるクラスタリスト探索部によるクラスタへのデータの割当方法を説明するためのフローチャートである。
【図１３】（ａ）はファイル管理テーブルの構成を模式的に示す図、（ｂ）は更新前の未割当クラスタリストを示す図、（ｃ）は更新後の未割当クラスタリストを示す図である。
【図１４】（ａ）は電源切断時もしくは記録媒体排出時における各部の処理を説明するための図、（ｂ）は電源投入時もしくは記録媒体挿入時における各部の処理を説明するための図である。
【図１５】本発明の他の実施形態としてのファイルシステムの機能的な構成を示すブロック図である。
【図１６】ＦＡＴファイルシステムの機能的な構成を示すブロック図である。
【符号の説明】
１  ホストコンピュータ
２０  ＲＡＭ
３０  ＲＯＭ
４０  Ｉ／Ｏインターフェース
５０  バス
６０  記憶装置
７０ａ，７０ｂ  ファイルシステム
７１  アクセス部
７２  クラスタ探索部（単位記録領域探索部）
７３  クラスタ割当部（単位記録領域割当部）
７４  ＦＡＴ（ファイル管理テーブル）
７５  ジャンプテーブル探索部
７６  ジャンプテーブル記憶部
７７  ジャンプテーブルチェック部
７８  ジャンプテーブル
７９  ファイル情報同期部
８０  未割当クラスタリスト探索部（未割当単位記録領域リスト探索部）
８１  未割当クラスタリスト記憶部（未割当単位記録領域リスト記憶部）
８２  未割当クラスタリスト（未割当単位記録領域リスト）
８３  未割当クラスタリストチェック部（未割当単位記録領域リストチェック部）
８４  ファイルリスト記録部
８５  ファイルリスト比較部
【図１】
0004452363.tif 000002
【図２】
0004452363.tif 000003
【図３】
0004452363.tif 000004
【図４】
0004452363.tif 000005
【図５】
0004452363.tif 000006
【図６】
0004452363.tif 000007
【図７】
0004452363.tif 000008
【図８】
0004452363.tif 000009
【図９】
0004452363.tif 000010
【図１０】
0004452363.tif 000011
【図１１】
0004452363.tif 000012
【図１２】
0004452363.tif 000013
【図１３】
0004452363.tif 000014
【図１４】
0004452363.tif 000015
【図１５】
0004452363.tif 000016
【図１６】
0004452363.tif 000017