JPH07262059A - ファイル管理方法 - Google Patents
ファイル管理方法Info
- Publication number
- JPH07262059A JPH07262059A JP6055376A JP5537694A JPH07262059A JP H07262059 A JPH07262059 A JP H07262059A JP 6055376 A JP6055376 A JP 6055376A JP 5537694 A JP5537694 A JP 5537694A JP H07262059 A JPH07262059 A JP H07262059A
- Authority
- JP
- Japan
- Prior art keywords
- index
- file
- page
- recorded
- data
- 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.)
- Withdrawn
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Abstract
(57)【要約】
【目的】 文字入力手段を持たない機器においても、小
さなメモリ容量で、高速なファイルアクセスを可能にす
る。 【構成】 データ記録媒体のクラスタを32セクタによ
り構成し、4セクタにより1つの割当ブロックを構成す
る。ファイルを割当ブロックを最小単位として記録する
ようにする。また、記録媒体には、ビットマップセクタ
とインデックスセクタを設け、ビットマップセクタによ
り、割当ブロックの使用状態を管理する。インデックス
セクタには、インデックスブロックを記録し、各インデ
ックスブロックには、グループタグ、属性コード、タイ
ムスタンプ、ファイルサイズ、エクステント記述子(割
当ブロック数および開始割当ブロック番号)を記録す
る。
さなメモリ容量で、高速なファイルアクセスを可能にす
る。 【構成】 データ記録媒体のクラスタを32セクタによ
り構成し、4セクタにより1つの割当ブロックを構成す
る。ファイルを割当ブロックを最小単位として記録する
ようにする。また、記録媒体には、ビットマップセクタ
とインデックスセクタを設け、ビットマップセクタによ
り、割当ブロックの使用状態を管理する。インデックス
セクタには、インデックスブロックを記録し、各インデ
ックスブロックには、グループタグ、属性コード、タイ
ムスタンプ、ファイルサイズ、エクステント記述子(割
当ブロック数および開始割当ブロック番号)を記録す
る。
Description
【0001】
【産業上の利用分野】本発明は、例えば、デジタルスチ
ルカメラ等において、記録したデータ(ファイル)を管
理する場合に用いて好適なファイル管理方法に関するも
のである。
ルカメラ等において、記録したデータ(ファイル)を管
理する場合に用いて好適なファイル管理方法に関するも
のである。
【0002】
【従来の技術】図32は、従来のファイル管理方法を適
用したデータ記録再生装置の構成例を示す。データ記録
媒体1は、例えば磁気ディスク、光磁気ディスク、IC
メモリカード等により構成される。媒体駆動部2は、例
えば上記光磁気ディスクに対しては、スピンドルモー
タ、光ピックアップ、サーボ回路、変復調回路等より構
成されるディスクドライブ装置である。
用したデータ記録再生装置の構成例を示す。データ記録
媒体1は、例えば磁気ディスク、光磁気ディスク、IC
メモリカード等により構成される。媒体駆動部2は、例
えば上記光磁気ディスクに対しては、スピンドルモー
タ、光ピックアップ、サーボ回路、変復調回路等より構
成されるディスクドライブ装置である。
【0003】メモリ3は、データの記録、再生時におい
て、一時的にデータを記憶するバッファや、各種管理情
報等のワークエリアとして使用される。CPU4は、内
蔵するプログラムに従って、媒体駆動部2の制御、メモ
リ3上の管理情報の操作、データ転送等を実行する。
て、一時的にデータを記憶するバッファや、各種管理情
報等のワークエリアとして使用される。CPU4は、内
蔵するプログラムに従って、媒体駆動部2の制御、メモ
リ3上の管理情報の操作、データ転送等を実行する。
【0004】データ入力部5は、例えばデジタルインタ
ーフェース、キーボード、A/Dコンバータ等により構
成される。データ出力部6は、例えばデジタルインター
フェース、CRTディスプレイ、D/Aコンバータ等に
より構成される。
ーフェース、キーボード、A/Dコンバータ等により構
成される。データ出力部6は、例えばデジタルインター
フェース、CRTディスプレイ、D/Aコンバータ等に
より構成される。
【0005】データの記録時においては、データ入力部
5より入力されたデータは、CPU4の働きにより、一
旦メモリ3の所定の領域に転送される。次に、CPU4
の制御により、媒体駆動部2が動作し、メモリ3上のデ
ータを、データ記録媒体1に記録する。
5より入力されたデータは、CPU4の働きにより、一
旦メモリ3の所定の領域に転送される。次に、CPU4
の制御により、媒体駆動部2が動作し、メモリ3上のデ
ータを、データ記録媒体1に記録する。
【0006】データの再生時においては、CPU4の制
御により、媒体駆動部2が動作し、データ記録媒体1に
記録されているデータが、メモリ3の所定の領域に一旦
転送される。次に、CPU4の働きにより、メモリ3上
のデータを読み出し、データ出力部6により、出力装置
(図示せず)に出力する。
御により、媒体駆動部2が動作し、データ記録媒体1に
記録されているデータが、メモリ3の所定の領域に一旦
転送される。次に、CPU4の働きにより、メモリ3上
のデータを読み出し、データ出力部6により、出力装置
(図示せず)に出力する。
【0007】このデータ記録再生装置は、データ記録媒
体1に対し、例えば音楽データであれば複数の曲、静止
画データであれば複数枚の画像など、複数のデータを自
由に記録し、再生し、消去するものである。この機能を
実現するため、このデータ記録再生装置上に、ファイル
システムという機構を設けるのが一般的である。
体1に対し、例えば音楽データであれば複数の曲、静止
画データであれば複数枚の画像など、複数のデータを自
由に記録し、再生し、消去するものである。この機能を
実現するため、このデータ記録再生装置上に、ファイル
システムという機構を設けるのが一般的である。
【0008】ファイルシステムの代表的な役割は、以下
のとおりである。 1.データ記録媒体1の空き領域を管理し、ファイルの
記録に際して、重ね書きによるデータの喪失を防止す
る。 2.データ記録媒体1の記録済領域を管理し、ファイル
の再生に際して、そのファイルのデータの記録場所を知
る。 3.ファイル識別子を管理し、ファイル識別子によるフ
ァイル(データ)へのアクセスを実現する。
のとおりである。 1.データ記録媒体1の空き領域を管理し、ファイルの
記録に際して、重ね書きによるデータの喪失を防止す
る。 2.データ記録媒体1の記録済領域を管理し、ファイル
の再生に際して、そのファイルのデータの記録場所を知
る。 3.ファイル識別子を管理し、ファイル識別子によるフ
ァイル(データ)へのアクセスを実現する。
【0009】このようなデータ記録再生装置のファイル
システムの代表例として、コンピュータシステムにおけ
るディスク装置上のファイルシステムがある。
システムの代表例として、コンピュータシステムにおけ
るディスク装置上のファイルシステムがある。
【0010】図33は、MS−DOS(商標)のファイ
ルシステムの構成を略化して表している。MS−DOS
におけるデータ記録媒体1は、ファイルアロケーション
テーブル(以下、FATと表す)領域11、ルートディ
レクトリ領域12、およびデータ領域13で構成されて
いる。
ルシステムの構成を略化して表している。MS−DOS
におけるデータ記録媒体1は、ファイルアロケーション
テーブル(以下、FATと表す)領域11、ルートディ
レクトリ領域12、およびデータ領域13で構成されて
いる。
【0011】データ領域13は、1024バイトよりな
る、2乃至N+1のN個のクラスタにより構成されてい
る。例えば、データ領域13が1M(メガ)バイトのデ
ータ記録媒体1は、クラスタ2乃至1025クラスタの
1024個のクラスタで構成されている。
る、2乃至N+1のN個のクラスタにより構成されてい
る。例えば、データ領域13が1M(メガ)バイトのデ
ータ記録媒体1は、クラスタ2乃至1025クラスタの
1024個のクラスタで構成されている。
【0012】FAT領域11にはFATが形成され、こ
のFATは、2乃至N+1のN個のFATエントリで構
成されており、1個のFATエントリ(12ビット)
は、1個のクラスタに対している。以下に、FATの内
容を示す。
のFATは、2乃至N+1のN個のFATエントリで構
成されており、1個のFATエントリ(12ビット)
は、1個のクラスタに対している。以下に、FATの内
容を示す。
【0013】(1)FATエントリの000は、そのク
ラスタが使用可能であることを示す。 (2)FATエントリの002乃至FF6は、そのクラ
スタにはファイル(データ)が記録されており、そのフ
ァイルは、その番号が示す次のクラスタに続いているこ
とを表す。 (3)FATエントリのFF8乃至FFFは、そのクラ
スタにはファイル(データ)が記録されており、それが
ファイルの最終クラスタであることを示す。 (4)FATエントリのFF7は、そのクラスタが不良
であることを示す。
ラスタが使用可能であることを示す。 (2)FATエントリの002乃至FF6は、そのクラ
スタにはファイル(データ)が記録されており、そのフ
ァイルは、その番号が示す次のクラスタに続いているこ
とを表す。 (3)FATエントリのFF8乃至FFFは、そのクラ
スタにはファイル(データ)が記録されており、それが
ファイルの最終クラスタであることを示す。 (4)FATエントリのFF7は、そのクラスタが不良
であることを示す。
【0014】上記ルールに従えば、図33の例において
は、クラスタ2,4,6よりなる1個のファイルと、ク
ラスタ3よりなる1個のファイルが、データ記録媒体1
に記録されており、クラスタ5およびクラスタ7乃至N
+1は、空きとなっている。
は、クラスタ2,4,6よりなる1個のファイルと、ク
ラスタ3よりなる1個のファイルが、データ記録媒体1
に記録されており、クラスタ5およびクラスタ7乃至N
+1は、空きとなっている。
【0015】図34は、ルートディレクトリ領域12に
形成されているルートディレクトリの構成図である。ル
ートディレクトリは、それぞれ32バイトよりなる、0
乃至M−1のM個のディレクトリエントリで構成されて
おり、典型的なMの値は112である。各ディレクトリ
エントリには、ファイル名、ファイル属性、更新日時、
開始クラスタ、ファイルサイズが記録されている。
形成されているルートディレクトリの構成図である。ル
ートディレクトリは、それぞれ32バイトよりなる、0
乃至M−1のM個のディレクトリエントリで構成されて
おり、典型的なMの値は112である。各ディレクトリ
エントリには、ファイル名、ファイル属性、更新日時、
開始クラスタ、ファイルサイズが記録されている。
【0016】ファイル名の第1バイトの00またはE5
は、そのディレクトリエントリが空いていることを表
す。このディレクトリエントリには、ファイル属性とし
て、ディレクトリ属性をなす、特別なファイルを登録す
ることができ、これをディレクトリファイルと呼ぶ(こ
のファイル(データ)自体は、データ領域13に記録さ
れる)。
は、そのディレクトリエントリが空いていることを表
す。このディレクトリエントリには、ファイル属性とし
て、ディレクトリ属性をなす、特別なファイルを登録す
ることができ、これをディレクトリファイルと呼ぶ(こ
のファイル(データ)自体は、データ領域13に記録さ
れる)。
【0017】図35は、ディレクトリファイルによる、
階層的なファイル管理の例を表している。ルートディレ
クトリにおいては、第1のエントリに、”FILE1”
のファイル名と、そのデータがクラスタ2(データ領域
13)に記録されていることが登録されている。第2の
エントリには、”FILE2”のファイル名と、そのデ
ータがクラスタ3(データ領域13)に記録されている
ことが登録されている。第3のエントリには、”DIR
1”のファイル名と、そのデータがクラスタ4(データ
領域13)に記録されていることが登録されている。ま
た、ファイル属性として、ディレクトリ属性が記録され
ており、クラスタ4の内容が、ディレクトリファイル
(サブディレクトリ)であることが示されている。
階層的なファイル管理の例を表している。ルートディレ
クトリにおいては、第1のエントリに、”FILE1”
のファイル名と、そのデータがクラスタ2(データ領域
13)に記録されていることが登録されている。第2の
エントリには、”FILE2”のファイル名と、そのデ
ータがクラスタ3(データ領域13)に記録されている
ことが登録されている。第3のエントリには、”DIR
1”のファイル名と、そのデータがクラスタ4(データ
領域13)に記録されていることが登録されている。ま
た、ファイル属性として、ディレクトリ属性が記録され
ており、クラスタ4の内容が、ディレクトリファイル
(サブディレクトリ)であることが示されている。
【0018】クラスタ4(データ領域13)のディレク
トリファイルにおいては、第1のエントリに、”FIL
E3”のファイル名と、そのデータがクラスタ5(デー
タ領域13)に記録されていることが登録されている。
第2のエントリには、”FILE4”のファイル名と、
そのデータがクラスタ6(データ領域13)に記録され
ていることが登録されている。
トリファイルにおいては、第1のエントリに、”FIL
E3”のファイル名と、そのデータがクラスタ5(デー
タ領域13)に記録されていることが登録されている。
第2のエントリには、”FILE4”のファイル名と、
そのデータがクラスタ6(データ領域13)に記録され
ていることが登録されている。
【0019】上記構成によるファイルシステムにデータ
を記録するときは、図36のフローチャートに示す手順
で行う。
を記録するときは、図36のフローチャートに示す手順
で行う。
【0020】ステップS301で、FATを走査し、値
が000(使用可能)のFATエントリを、必要個数見
つけ出す。次にステップS302で、見つかったFAT
エントリに対応する各クラスタに、データを記録する。
さらにステップS303では、データを記録したクラス
タに対応する各FATエントリに、次のクラスタ番号ま
たはFFFを記録し、データが記録されていることを示
す。
が000(使用可能)のFATエントリを、必要個数見
つけ出す。次にステップS302で、見つかったFAT
エントリに対応する各クラスタに、データを記録する。
さらにステップS303では、データを記録したクラス
タに対応する各FATエントリに、次のクラスタ番号ま
たはFFFを記録し、データが記録されていることを示
す。
【0021】次にステップS304で、ルートディレク
トリ(またはディレクトリファイル)を走査し、空いて
いるディレクトリエントリを見つけ出す。そしてステッ
プS305で、見つかったそのディレクトリエントリ
に、ファイル名、ファイル属性、更新日時とともに、上
記ステップS302で記録した最初のクラスタ番号を記
録し、さらにファイルサイズを記録する。
トリ(またはディレクトリファイル)を走査し、空いて
いるディレクトリエントリを見つけ出す。そしてステッ
プS305で、見つかったそのディレクトリエントリ
に、ファイル名、ファイル属性、更新日時とともに、上
記ステップS302で記録した最初のクラスタ番号を記
録し、さらにファイルサイズを記録する。
【0022】上記構成によるファイルシステムからデー
タを再生するときは、図37のフローチャートに示す手
順で行う。
タを再生するときは、図37のフローチャートに示す手
順で行う。
【0023】最初に、ステップS321で、ルートディ
レクトリ(またはディレクトリファイル)を走査し、目
的の(再生対象とされる)ファイル名と一致するディレ
クトリエントリをみつける。次にステップS322で、
見つかったディレクトリエントリに記録されている開始
クラスタ番号(図34)を読み、そのクラスタからデー
タを読み出す。ステップS323では、いまデータを読
み出したクラスタに対応するFATエントリを読み、ス
テップS324で、その値を判定する。その値が002
乃至FF6(次のクラスタの番号)ならば、ステップS
325で、次のクラスタからデータを読み出し、ステッ
プS323に戻り、同様の処理を繰り返す。
レクトリ(またはディレクトリファイル)を走査し、目
的の(再生対象とされる)ファイル名と一致するディレ
クトリエントリをみつける。次にステップS322で、
見つかったディレクトリエントリに記録されている開始
クラスタ番号(図34)を読み、そのクラスタからデー
タを読み出す。ステップS323では、いまデータを読
み出したクラスタに対応するFATエントリを読み、ス
テップS324で、その値を判定する。その値が002
乃至FF6(次のクラスタの番号)ならば、ステップS
325で、次のクラスタからデータを読み出し、ステッ
プS323に戻り、同様の処理を繰り返す。
【0024】FATエントリの値が、002乃至FF6
でないとき、ステップS326で、FF8乃至FFF
(最終クラスタ)か否かを判定し、そうならば、終了す
る。そうでない場合、ステップS327で、エラー処理
を行い、終了する。
でないとき、ステップS326で、FF8乃至FFF
(最終クラスタ)か否かを判定し、そうならば、終了す
る。そうでない場合、ステップS327で、エラー処理
を行い、終了する。
【0025】上記構成によるファイルシステムからデー
タを消去するときは、図38のフローチャートに示す手
順で行う。
タを消去するときは、図38のフローチャートに示す手
順で行う。
【0026】最初に、ステップS341で、ルートディ
レクトリ(またはディレクトリファイル)を走査し、目
的の(消去対象とされる)ファイル名と一致するディレ
クトリエントリをみつける。次にステップS342で、
見つかったディレクトリエントリに記録されている開始
クラスタ番号を読み、対応するFATエントリの値を得
る。
レクトリ(またはディレクトリファイル)を走査し、目
的の(消去対象とされる)ファイル名と一致するディレ
クトリエントリをみつける。次にステップS342で、
見つかったディレクトリエントリに記録されている開始
クラスタ番号を読み、対応するFATエントリの値を得
る。
【0027】ステップS343では、そのFATエント
リに000(使用可能)を記録し、そのクラスタを使用
可能とする。また、ステップS344では、ステップS
342で読み取ったFATエントリの値が002乃至F
F6(次のクラスタ有)か否かを判定し、次のクラスタ
が存在するのであれば、ステップS345に進み、次の
FATエントリの値を得て、ステップS343に戻り、
それ以降の処理を繰り返す。
リに000(使用可能)を記録し、そのクラスタを使用
可能とする。また、ステップS344では、ステップS
342で読み取ったFATエントリの値が002乃至F
F6(次のクラスタ有)か否かを判定し、次のクラスタ
が存在するのであれば、ステップS345に進み、次の
FATエントリの値を得て、ステップS343に戻り、
それ以降の処理を繰り返す。
【0028】FATエントリの値が、002乃至FF6
ではないとき(次のクラスタが存在しないとき)、ステ
ップS346に進み、FF8乃至FFF(最終クラス
タ)であるか否かを判定し、そうであったら、ステップ
S347へ移行する。ステップS347では、ステップ
S341で見つけたディレクトリエントリにおいて、フ
ァイル名の第1バイトにE5(空き)を記録して、その
エントリを消去する。FATエントリの値が、002乃
至FF6でもないときは、ステップS348に進み、エ
ラー処理を実行する。
ではないとき(次のクラスタが存在しないとき)、ステ
ップS346に進み、FF8乃至FFF(最終クラス
タ)であるか否かを判定し、そうであったら、ステップ
S347へ移行する。ステップS347では、ステップ
S341で見つけたディレクトリエントリにおいて、フ
ァイル名の第1バイトにE5(空き)を記録して、その
エントリを消去する。FATエントリの値が、002乃
至FF6でもないときは、ステップS348に進み、エ
ラー処理を実行する。
【0029】次に、コンピュータのOSのもう1つの代
表例であるUNIX(商標)のファイルシステムについ
て説明する。UNIXのファイルシステムは非常に複雑
なので、簡略化したモデルにより説明する。
表例であるUNIX(商標)のファイルシステムについ
て説明する。UNIXのファイルシステムは非常に複雑
なので、簡略化したモデルにより説明する。
【0030】図39は、UNIXのファイルシステムの
構成を表している。UNIXにおいては、データ記録媒
体1に、ビットマップ領域21、iノードリスト領域2
2、およびデータ領域23が形成されている。
構成を表している。UNIXにおいては、データ記録媒
体1に、ビットマップ領域21、iノードリスト領域2
2、およびデータ領域23が形成されている。
【0031】データ領域23は、それぞれ1024バイ
トよりなる、0乃至N−1のN個の論理ブロックで構成
されている。例えば、データ領域23が1Mバイトのと
き、0乃至1023の1024個の論理ブロックで構成
されている。
トよりなる、0乃至N−1のN個の論理ブロックで構成
されている。例えば、データ領域23が1Mバイトのと
き、0乃至1023の1024個の論理ブロックで構成
されている。
【0032】ビットマップ領域21に形成されるビット
マップは、各論理ブロックにつき各1ビットよりなる、
Nビットのフラグにより構成されており、以下の内容を
示す。
マップは、各論理ブロックにつき各1ビットよりなる、
Nビットのフラグにより構成されており、以下の内容を
示す。
【0033】(1)フラグの1は、その論理ブロックが
使用可能であることを表す。 (2)フラグの0は、その論理ブロックにデータが記録
されているか、不良ブロックであることを表す。
使用可能であることを表す。 (2)フラグの0は、その論理ブロックにデータが記録
されているか、不良ブロックであることを表す。
【0034】図40は、iノードリスト領域22に形成
されるiノードリストの構成を表している。iノードリ
ストは、2乃至M+1のM個のiノードで構成される。
このうち、iノード2は、ルートディレクトリのために
確保されている。上記iノードは、ファイルのモード
(属性など)、タイムスタンプ、ファイルサイズ、参照
フラグ、直接ポインタ、間接ポインタにより構成されて
いる。
されるiノードリストの構成を表している。iノードリ
ストは、2乃至M+1のM個のiノードで構成される。
このうち、iノード2は、ルートディレクトリのために
確保されている。上記iノードは、ファイルのモード
(属性など)、タイムスタンプ、ファイルサイズ、参照
フラグ、直接ポインタ、間接ポインタにより構成されて
いる。
【0035】参照フラグが1のとき、そのiノードが使
用されていることを示し、0のとき、空きであることを
示す。
用されていることを示し、0のとき、空きであることを
示す。
【0036】直接ポインタには、データが記録された論
理ブロック番号(0乃至N−1)が記録される。図40
の例では、0が記録されており、論理ブロック0(直接
ブロック)に、ファイルをなす第1のデータが記録され
ていることを示している。間接ポインタには、間接ブロ
ック番号が記録され、間接ブロックには、データが記録
された論理ブロック番号が記録される。図40の例で
は、1が記録されており、論理ブロック1が間接ブロッ
クであることを示している。
理ブロック番号(0乃至N−1)が記録される。図40
の例では、0が記録されており、論理ブロック0(直接
ブロック)に、ファイルをなす第1のデータが記録され
ていることを示している。間接ポインタには、間接ブロ
ック番号が記録され、間接ブロックには、データが記録
された論理ブロック番号が記録される。図40の例で
は、1が記録されており、論理ブロック1が間接ブロッ
クであることを示している。
【0037】図40において、間接ブロック(論理ブロ
ック1)には、3個の直接ポインタが記録されており、
第1の直接ポインタは、論理ブロック2にファイルをな
す第2のデータが記録されていることを示し、第2の直
接ポインタは、論理ブロック3にファイルをなす第3の
データが記録されていることを示し、第3の直接ポイン
タは、論理ブロック4にファイルをなす第4のデータが
記録されていることを示している。
ック1)には、3個の直接ポインタが記録されており、
第1の直接ポインタは、論理ブロック2にファイルをな
す第2のデータが記録されていることを示し、第2の直
接ポインタは、論理ブロック3にファイルをなす第3の
データが記録されていることを示し、第3の直接ポイン
タは、論理ブロック4にファイルをなす第4のデータが
記録されていることを示している。
【0038】UNIXにおいては、ディレクトリもファ
イルの一種(ディレクトリファイル)とされ、データ領
域23に記録される。図41は、このディレクトリファ
イルの構成を表している。ディレクトリファイルは、複
数のディレクトリエントリより構成されており、各ディ
レクトリエントリは、エントリの大きさ、ファイル名の
長さ、iノード番号、ファイル名より構成されている。
イルの一種(ディレクトリファイル)とされ、データ領
域23に記録される。図41は、このディレクトリファ
イルの構成を表している。ディレクトリファイルは、複
数のディレクトリエントリより構成されており、各ディ
レクトリエントリは、エントリの大きさ、ファイル名の
長さ、iノード番号、ファイル名より構成されている。
【0039】この例では、第1のエントリに、ファイ
ル”FILE1”が登録されており、そのファイルの諸
情報は、iノード3に記録されていることが示されてい
る。第2のエントリには、ファイル”FILE2”が登
録されており、そのファイルの諸情報は、iノード4に
記録されていることが示されている。第3のエントリに
は、ファイル”DIR1”が登録されており、そのファ
イルの諸情報は、iノード5に記録されていることが示
されている。
ル”FILE1”が登録されており、そのファイルの諸
情報は、iノード3に記録されていることが示されてい
る。第2のエントリには、ファイル”FILE2”が登
録されており、そのファイルの諸情報は、iノード4に
記録されていることが示されている。第3のエントリに
は、ファイル”DIR1”が登録されており、そのファ
イルの諸情報は、iノード5に記録されていることが示
されている。
【0040】これを受けて、iノード3には、直接ポイ
ンタにより、FILE1のデータが論理ブロック5に記
録されていることが示されている。また、iノード4に
は、直接ポインタにより、FILE2のデータが論理ブ
ロック6に記録されていることが示されている。さら
に、iノード5には、直接ポインタにより、DIR1の
データが論理ブロック7に記録されていることが示され
ている。また、iノード5のモードは、ファイル”DI
R1”がディレクトリファイルであることを示してい
る。
ンタにより、FILE1のデータが論理ブロック5に記
録されていることが示されている。また、iノード4に
は、直接ポインタにより、FILE2のデータが論理ブ
ロック6に記録されていることが示されている。さら
に、iノード5には、直接ポインタにより、DIR1の
データが論理ブロック7に記録されていることが示され
ている。また、iノード5のモードは、ファイル”DI
R1”がディレクトリファイルであることを示してい
る。
【0041】論理ブロック7には、DIR1の内容(サ
ブディレクトリ)が記録されており、この例では、2つ
のエントリが登録されている。第1のエントリには、フ
ァイル”FILE3”が登録されており、そのファイル
の諸情報は、iノード6に記録されていることが示され
ている。第2のエントリには、ファイル”FILE4”
が登録されており、そのファイルの諸情報は、iノード
7に記録されていることが示されている。
ブディレクトリ)が記録されており、この例では、2つ
のエントリが登録されている。第1のエントリには、フ
ァイル”FILE3”が登録されており、そのファイル
の諸情報は、iノード6に記録されていることが示され
ている。第2のエントリには、ファイル”FILE4”
が登録されており、そのファイルの諸情報は、iノード
7に記録されていることが示されている。
【0042】これを受けて、iノード6には、直接ポイ
ンタにより、FILE1のデータが論理ブロック8に記
録されていることが示されている。また、iノード7に
は、直接ポインタにより、FILE2のデータが論理ブ
ロック9に記録されていることが示されている。
ンタにより、FILE1のデータが論理ブロック8に記
録されていることが示されている。また、iノード7に
は、直接ポインタにより、FILE2のデータが論理ブ
ロック9に記録されていることが示されている。
【0043】iノードによるファイルシステムにデータ
を記録するときは、図42と図43のフローチャートに
示す手順で行う。
を記録するときは、図42と図43のフローチャートに
示す手順で行う。
【0044】最初にステップS361で、iノードリス
トを走査し、参照フラグ(図40)が0の未使用iノー
ドを得る。次にステップS362で、そのiノードに、
ファイルのモード、タイムスタンプ、ファイルサイズを
記録し、参照フラグを1(使用済)とする。さらにステ
ップS363で、ビットマップを走査し、ビットが1の
未使用論理ブロックを得る。
トを走査し、参照フラグ(図40)が0の未使用iノー
ドを得る。次にステップS362で、そのiノードに、
ファイルのモード、タイムスタンプ、ファイルサイズを
記録し、参照フラグを1(使用済)とする。さらにステ
ップS363で、ビットマップを走査し、ビットが1の
未使用論理ブロックを得る。
【0045】ステップS364では、その論理ブロック
に対応するビットマップのビットを0(使用済)にし、
ステップS363で確保した論理ブロックの番号を、ス
テップS361で得たiノードの直接ポインタに記録す
る。ステップS365で、さらに論理ブロックが必要と
判定されたときは、ステップS366で、ビットマップ
を走査し、ビットが1の未使用論理ブロックをさらに得
る。次にステップS367で、そのビットマップのビッ
トを0(使用済)にし、ステップS366で確保した論
理ブロックの番号を、ステップS361で得たiノード
の間接ポインタに記録し、間接ブロックとする。
に対応するビットマップのビットを0(使用済)にし、
ステップS363で確保した論理ブロックの番号を、ス
テップS361で得たiノードの直接ポインタに記録す
る。ステップS365で、さらに論理ブロックが必要と
判定されたときは、ステップS366で、ビットマップ
を走査し、ビットが1の未使用論理ブロックをさらに得
る。次にステップS367で、そのビットマップのビッ
トを0(使用済)にし、ステップS366で確保した論
理ブロックの番号を、ステップS361で得たiノード
の間接ポインタに記録し、間接ブロックとする。
【0046】ステップS368では、ビットマップを走
査し、ビットが1の未使用論理ブロックを得る。次にス
テップS369で、そのビットマップのビットを0(使
用済)にし、ステップS368で確保した論理ブロック
の番号を、ステップS367で得た間接ブロックに記録
する。
査し、ビットが1の未使用論理ブロックを得る。次にス
テップS369で、そのビットマップのビットを0(使
用済)にし、ステップS368で確保した論理ブロック
の番号を、ステップS367で得た間接ブロックに記録
する。
【0047】ステップS370で、さらに論理ブロック
が必要と判定されたときは、ステップS368に戻り、
必要な数の未使用論理ブロックを得るまで、ステップS
368とステップS369を繰り返す。
が必要と判定されたときは、ステップS368に戻り、
必要な数の未使用論理ブロックを得るまで、ステップS
368とステップS369を繰り返す。
【0048】ステップS365あるいはステップS37
0で、必要な数の論理ブロックが得られたら、ステップ
S371に進み、確保した各論理ブロックに、データを
記録する。さらにステップS372に進み、ディレクト
リファイルのエントリに、ファイル名とiノード番号を
記録する。このディレクトリファイルの記録は、ステッ
プS361乃至S371と同様の処理により行う。
0で、必要な数の論理ブロックが得られたら、ステップ
S371に進み、確保した各論理ブロックに、データを
記録する。さらにステップS372に進み、ディレクト
リファイルのエントリに、ファイル名とiノード番号を
記録する。このディレクトリファイルの記録は、ステッ
プS361乃至S371と同様の処理により行う。
【0049】iノードによるファイルシステムからデー
タを再生するときは、図44のフローチャートに示す手
順で行う。
タを再生するときは、図44のフローチャートに示す手
順で行う。
【0050】ステップS381では、ディレクトリファ
イル(図41)を走査し、目的のファイル名と一致する
ディレクトリエントリを見つける。次にステップS38
2で、見つかったディレクトリエントリからiノード番
号を得、iノードリストからそのiノードを読み出す。
イル(図41)を走査し、目的のファイル名と一致する
ディレクトリエントリを見つける。次にステップS38
2で、見つかったディレクトリエントリからiノード番
号を得、iノードリストからそのiノードを読み出す。
【0051】さらにステップS383で、そのiノード
の直接ポインタから、ブロック番号を得、その番号の論
理ブロックからデータを読み出す。次にステップS38
4で、間接ポインタから、ブロック番号を得、その番号
の論理ブロック(間接ブロック)を読み出す。ステップ
S385では、その間接ブロックに記述されている直接
ポインタから、ブロック番号を得、その番号の論理ブロ
ックからデータを読み出す。
の直接ポインタから、ブロック番号を得、その番号の論
理ブロックからデータを読み出す。次にステップS38
4で、間接ポインタから、ブロック番号を得、その番号
の論理ブロック(間接ブロック)を読み出す。ステップ
S385では、その間接ブロックに記述されている直接
ポインタから、ブロック番号を得、その番号の論理ブロ
ックからデータを読み出す。
【0052】iノードによるファイルシステムからデー
タを消去するときは、図45と図46のフローチャート
に示す手順で行う。
タを消去するときは、図45と図46のフローチャート
に示す手順で行う。
【0053】ステップS401では、ディレクトリファ
イルを走査し、目的のファイル名と一致するディレクト
リエントリを見つける。ステップS402では、見つか
ったディレクトリエントリからiノード番号を得、iノ
ードリストからそのiノードを読み出す。
イルを走査し、目的のファイル名と一致するディレクト
リエントリを見つける。ステップS402では、見つか
ったディレクトリエントリからiノード番号を得、iノ
ードリストからそのiノードを読み出す。
【0054】次にステップS403で、そのiノードの
直接ポインタから、ブロック番号を得、ビットマップの
そのビットを1(空き)にする。ステップS404で
は、そのiノードの間接ポインタから、ブロック番号を
得、その論理ブロック(間接ブロック)を読み出す。ス
テップS405では、間接ブロックから、ブロック番号
を得、ビットマップのそのビットを1(空き)にする。
さらにステップS406で、間接ブロックに対応する、
ビットマップのビットを1(空き)にする。
直接ポインタから、ブロック番号を得、ビットマップの
そのビットを1(空き)にする。ステップS404で
は、そのiノードの間接ポインタから、ブロック番号を
得、その論理ブロック(間接ブロック)を読み出す。ス
テップS405では、間接ブロックから、ブロック番号
を得、ビットマップのそのビットを1(空き)にする。
さらにステップS406で、間接ブロックに対応する、
ビットマップのビットを1(空き)にする。
【0055】次にステップS407で、iノードの参照
フラグを0(未使用)にする。さらにステップS408
で、ディレクトリファイルから、そのディレクトリエン
トリを削除する。
フラグを0(未使用)にする。さらにステップS408
で、ディレクトリファイルから、そのディレクトリエン
トリを削除する。
【0056】実際のUNIXファイルシステムでは、論
理ブロックをさらに小さいフラグメントに分割したり、
iノードに2重間接、3重間接のポインタを設けるな
ど、さらに複雑な構成としているが、ここでは省略す
る。
理ブロックをさらに小さいフラグメントに分割したり、
iノードに2重間接、3重間接のポインタを設けるな
ど、さらに複雑な構成としているが、ここでは省略す
る。
【0057】次に、第3の従来技術の例として、近年オ
ーディオ用として実用化されたMD(ミニディスク)の
構成を説明する。
ーディオ用として実用化されたMD(ミニディスク)の
構成を説明する。
【0058】MDに記録されるデータは、トラックとい
う概念で管理され、これは、前記2例のファイルに相当
する。トラックは、必ずしも連続領域に記録する必要は
なく、複数の連続領域の集まりでもよい。この各連続領
域をパーツと呼ぶ。
う概念で管理され、これは、前記2例のファイルに相当
する。トラックは、必ずしも連続領域に記録する必要は
なく、複数の連続領域の集まりでもよい。この各連続領
域をパーツと呼ぶ。
【0059】図47は、MDのデータ記録媒体であるM
Dディスクの構成を表している。MDディスクは、それ
ぞれ74752バイトよりなる、0乃至N−1のN個の
クラスタで構成され、さらに各クラスタは、2336バ
イトよりなる32個のセクタで構成されている。尚、上
記クラスタ数におけるNの典型的な値は、約2200で
ある。
Dディスクの構成を表している。MDディスクは、それ
ぞれ74752バイトよりなる、0乃至N−1のN個の
クラスタで構成され、さらに各クラスタは、2336バ
イトよりなる32個のセクタで構成されている。尚、上
記クラスタ数におけるNの典型的な値は、約2200で
ある。
【0060】上記クラスタのうち、クラスタ3乃至クラ
スタ49は、UTOC領域とされ、特にクラスタ3のセ
クタ0は、ディスク管理情報が記録される領域とされ、
UTOCセクタ0と称される。また、クラスタ50以降
はユーザー記録領域であり、各ファイルのデータは、こ
の領域に記録される。
スタ49は、UTOC領域とされ、特にクラスタ3のセ
クタ0は、ディスク管理情報が記録される領域とされ、
UTOCセクタ0と称される。また、クラスタ50以降
はユーザー記録領域であり、各ファイルのデータは、こ
の領域に記録される。
【0061】図48は、UTOCセクタ0の構成を表し
ている。このセクタは、FirstTNO、LastT
NO、P−Empty、P−FRA、P−TNO1乃至
255、パーツディスクリプタ1乃至255により構成
される。
ている。このセクタは、FirstTNO、LastT
NO、P−Empty、P−FRA、P−TNO1乃至
255、パーツディスクリプタ1乃至255により構成
される。
【0062】FirstTNOには、P−TNOのう
ち、使用済の最も小さいP−TNO番号を記録し、La
stTNOには、使用済の最も大きいP−TNO番号を
記録している。但し、使用済のP−TNOがないとき
は、FirstTNO、LastTNOともに、0が記
録される。
ち、使用済の最も小さいP−TNO番号を記録し、La
stTNOには、使用済の最も大きいP−TNO番号を
記録している。但し、使用済のP−TNOがないとき
は、FirstTNO、LastTNOともに、0が記
録される。
【0063】P−Emptyには、使用されていないパ
ーツディスクリプタ番号のうちの最初の1つが記録さ
れ、後述の方法(Link−P)により、使用されてい
ない全てのパーツディスクリプタは、P−Emptyに
連結される。
ーツディスクリプタ番号のうちの最初の1つが記録さ
れ、後述の方法(Link−P)により、使用されてい
ない全てのパーツディスクリプタは、P−Emptyに
連結される。
【0064】P−FRAには、記録されていない領域
(パーツ)を指すパーツディスクリプタ番号のうちの最
初の1つが記録され、後述の方法(Link−P)によ
り、使用されていない領域を指す全てのパーツディスク
リプタは、P−FRAに連結される。
(パーツ)を指すパーツディスクリプタ番号のうちの最
初の1つが記録され、後述の方法(Link−P)によ
り、使用されていない領域を指す全てのパーツディスク
リプタは、P−FRAに連結される。
【0065】各P−TNOには、トラック(ファイル)
のデータが記録された領域を指すパーツディスクリプタ
のうち、最初のパーツディスクリプタ番号が記録され、
後述の方法(Link−P)により、そのトラックのデ
ータが記録された領域を指す全てのパーツディスクリプ
タは、各P−TNOに連結される。
のデータが記録された領域を指すパーツディスクリプタ
のうち、最初のパーツディスクリプタ番号が記録され、
後述の方法(Link−P)により、そのトラックのデ
ータが記録された領域を指す全てのパーツディスクリプ
タは、各P−TNOに連結される。
【0066】パーツディスクリプタは、開始アドレス、
終了アドレス、トラックモード、Link−Pで構成さ
れている。
終了アドレス、トラックモード、Link−Pで構成さ
れている。
【0067】開始アドレスには、データが記録されたパ
ーツの最初のセクタのアドレスが記録され、終了アドレ
スには、そのパーツの最後のセクタのアドレスが記録さ
れる。トラックモードには、書込禁止/許可、モノラル
/ステレオ等の、データの種別情報が記録される。ま
た、Link−Pには、トラックが複数パーツで構成さ
れた場合の、次のパーツディスクリプタ番号が記録さ
れ、もしトラックの最終パーツならば、0が記録され
る。
ーツの最初のセクタのアドレスが記録され、終了アドレ
スには、そのパーツの最後のセクタのアドレスが記録さ
れる。トラックモードには、書込禁止/許可、モノラル
/ステレオ等の、データの種別情報が記録される。ま
た、Link−Pには、トラックが複数パーツで構成さ
れた場合の、次のパーツディスクリプタ番号が記録さ
れ、もしトラックの最終パーツならば、0が記録され
る。
【0068】上記構成によるMDにデータを記録すると
きは、図49のフローチャートに示す手順で行う。
きは、図49のフローチャートに示す手順で行う。
【0069】最初にステップS421で、P−FRAに
リンクされたパーツから、未記録パーツを得る。即ち、
P−FRAに記録されている第1のパーツディスクリプ
タを得、そのLink−Pの値(次の空きパーツのパー
ツディスクリプタ番号)をP−FRAに記録することに
より、1つの未記録パーツを得る。この処理は、ステッ
プS422で、必要な容量が得られたと判定されるまで
繰り返される。
リンクされたパーツから、未記録パーツを得る。即ち、
P−FRAに記録されている第1のパーツディスクリプ
タを得、そのLink−Pの値(次の空きパーツのパー
ツディスクリプタ番号)をP−FRAに記録することに
より、1つの未記録パーツを得る。この処理は、ステッ
プS422で、必要な容量が得られたと判定されるまで
繰り返される。
【0070】ステップS423では、確保されたパーツ
のうちの最後のパーツが、必要サイズより大きいか否か
を判定し、YESのとき、ステップS424に進み、パ
ーツを分割する。即ち、P−Emptyに記録されてい
る第1の(空きの)パーツディスクリプタを得、そのL
ink−Pの値(次の空きパーツディスクリプタ番号)
をP−Emptyに記録することにより、未使用パーツ
ディスクリプタを得、最後のパーツを分割して新たに得
られたパーツのアドレス(開始アドレスと終了アドレ
ス)を、このパーツディスクリプタに記録する。そし
て、最後のパーツ(分割して残されたパーツ)のパーツ
ディスクリプタの終了アドレスを所定値に変更する。
のうちの最後のパーツが、必要サイズより大きいか否か
を判定し、YESのとき、ステップS424に進み、パ
ーツを分割する。即ち、P−Emptyに記録されてい
る第1の(空きの)パーツディスクリプタを得、そのL
ink−Pの値(次の空きパーツディスクリプタ番号)
をP−Emptyに記録することにより、未使用パーツ
ディスクリプタを得、最後のパーツを分割して新たに得
られたパーツのアドレス(開始アドレスと終了アドレ
ス)を、このパーツディスクリプタに記録する。そし
て、最後のパーツ(分割して残されたパーツ)のパーツ
ディスクリプタの終了アドレスを所定値に変更する。
【0071】次にステップS425で、LastTNO
を1増加し、得られたトラック番号のP−TNOに、ス
テップS421で得られた未記録パーツを連結する。そ
してステップS426に進み、そのパーツに、データを
記録する。
を1増加し、得られたトラック番号のP−TNOに、ス
テップS421で得られた未記録パーツを連結する。そ
してステップS426に進み、そのパーツに、データを
記録する。
【0072】ステップS423で、パーツが必要サイズ
より大きくないと判定された場合、ステップS424,
S425の処理は、スキップされる。
より大きくないと判定された場合、ステップS424,
S425の処理は、スキップされる。
【0073】上記構成によるMDからデータを再生する
ときは、図50のフローチャートに示す手順で行う。
ときは、図50のフローチャートに示す手順で行う。
【0074】最初にステップS441で、指定されたト
ラック番号のP−TNOから、第1のパーツディスクリ
プタを得、そこに記録されている開始アドレスから終了
アドレスまでを再生する。次にステップS442で、そ
のパーツディスクリプタのLink−Pが0か否かを判
定し、0でなければ、ステップS443に進み、次のパ
ーツディスクリプタに記録されている開始アドレスから
終了アドレスまでを再生する。以上の処理を繰り返し、
ステップS442で、link−Pが0と判定されたと
き、処理を終了する。
ラック番号のP−TNOから、第1のパーツディスクリ
プタを得、そこに記録されている開始アドレスから終了
アドレスまでを再生する。次にステップS442で、そ
のパーツディスクリプタのLink−Pが0か否かを判
定し、0でなければ、ステップS443に進み、次のパ
ーツディスクリプタに記録されている開始アドレスから
終了アドレスまでを再生する。以上の処理を繰り返し、
ステップS442で、link−Pが0と判定されたと
き、処理を終了する。
【0075】上記構成によるMDからデータを消去する
ときは、図51のフローチャートに示す手順で行う。
ときは、図51のフローチャートに示す手順で行う。
【0076】最初にステップS461で、指定されたト
ラック番号のP−TNOから、パーツディスクリプタを
得る。次にステップS462に進み、得られたパーツデ
ィスクリプタに記録されているパーツを、P−FRAに
連結する。即ち、P−FRAに連結されている各パーツ
ディスクリプタを走査し、最後のパーツディスクリプタ
のLink−Pに、ステップS461で得たパーツディ
スクリプタ番号を記録し、連結されたパーツディスクリ
プタのLink−Pは0とする。
ラック番号のP−TNOから、パーツディスクリプタを
得る。次にステップS462に進み、得られたパーツデ
ィスクリプタに記録されているパーツを、P−FRAに
連結する。即ち、P−FRAに連結されている各パーツ
ディスクリプタを走査し、最後のパーツディスクリプタ
のLink−Pに、ステップS461で得たパーツディ
スクリプタ番号を記録し、連結されたパーツディスクリ
プタのLink−Pは0とする。
【0077】そのトラックに連結されていたパーツを全
てP−FRAに連結したとステップS463で判定され
るまで、ステップS461,S462の処理を繰り返し
た後、ステップS464に進み、その(消去対対象とさ
れる)P−TNOより後の全てのP−TNOを1つ前に
移動して、そのP−TNOを消去し、LastTNOを
1減じる。
てP−FRAに連結したとステップS463で判定され
るまで、ステップS461,S462の処理を繰り返し
た後、ステップS464に進み、その(消去対対象とさ
れる)P−TNOより後の全てのP−TNOを1つ前に
移動して、そのP−TNOを消去し、LastTNOを
1減じる。
【0078】
【発明が解決しようとする課題】ところで、上述した従
来技術には、以下のような問題点があった。
来技術には、以下のような問題点があった。
【0079】前記第1の従来例のMS−DOS及び第2
の従来例のUNIXでは、次のような問題点がある。
の従来例のUNIXでは、次のような問題点がある。
【0080】(1)各データの記録に際し、ファイル名
が定義されることを前提にしているため、デジタルスチ
ルカメラなど、キーボードを持たない機器への適用が困
難である。
が定義されることを前提にしているため、デジタルスチ
ルカメラなど、キーボードを持たない機器への適用が困
難である。
【0081】(2)ファイルの階層的管理のためにディ
レクトリファイルを必要とするなど、管理情報が大き
く、メモリ容量に余裕のない機器への適用が困難であ
る。
レクトリファイルを必要とするなど、管理情報が大き
く、メモリ容量に余裕のない機器への適用が困難であ
る。
【0082】(3)ディレクトリファイルがデータ記録
領域に記録され、またUNIXにおいては、iノードの
間接ブロックもデータ記録領域に記録されるなど、ファ
イル管理情報がデータ記録領域に散在することになり、
シークの遅いディスク等では、速度低下の問題が生じ
る。
領域に記録され、またUNIXにおいては、iノードの
間接ブロックもデータ記録領域に記録されるなど、ファ
イル管理情報がデータ記録領域に散在することになり、
シークの遅いディスク等では、速度低下の問題が生じ
る。
【0083】(4)ファイルの生成や消去に伴って、デ
ィレクトリファイルの更新や拡張が必要となり、速度低
下の問題が生じる。
ィレクトリファイルの更新や拡張が必要となり、速度低
下の問題が生じる。
【0084】一方、第3の従来例のMDにおいては、フ
ァイル名が不要なため、上記(1)の問題はなく、また
管理情報が小さいため、上記(2)乃至(4)の問題点
もない。しかしながら、以下のような問題点があった。
ァイル名が不要なため、上記(1)の問題はなく、また
管理情報が小さいため、上記(2)乃至(4)の問題点
もない。しかしながら、以下のような問題点があった。
【0085】(5)ファイルを階層的に管理する機構が
ない。
ない。
【0086】(6)パーツ数が、255個に限られてお
り、多数のファイルを管理できない。
り、多数のファイルを管理できない。
【0087】(7)本来は各トラックごとの情報である
トラックモードが、全てのパーツディスクリプタに記録
されるなど、管理情報の効率が悪い。
トラックモードが、全てのパーツディスクリプタに記録
されるなど、管理情報の効率が悪い。
【0088】本発明はこのような状況に鑑みてなされた
ものであり、これらの問題点を解消することができるよ
うにするものである。
ものであり、これらの問題点を解消することができるよ
うにするものである。
【0089】
【課題を解決するための手段】本発明のファイル管理方
法は、多数のブロックに区分した領域にファイルを記録
し、再生するようにした記録媒体のファイルを管理する
ファイル管理方法において、記録媒体に、ブロックの使
用状態を表す使用情報を記録するブロック管理領域(例
えば図2のビットマップセクタ0乃至3)を形成すると
ともに、ファイルの記録に使用されたブロックに関する
インデックス情報を記録するインデックス領域(例えば
図2のインデックスセクタ0乃至250)とを形成し、
インデックス領域に、ファイルを関連づける関連情報を
記録することを特徴とする。
法は、多数のブロックに区分した領域にファイルを記録
し、再生するようにした記録媒体のファイルを管理する
ファイル管理方法において、記録媒体に、ブロックの使
用状態を表す使用情報を記録するブロック管理領域(例
えば図2のビットマップセクタ0乃至3)を形成すると
ともに、ファイルの記録に使用されたブロックに関する
インデックス情報を記録するインデックス領域(例えば
図2のインデックスセクタ0乃至250)とを形成し、
インデックス領域に、ファイルを関連づける関連情報を
記録することを特徴とする。
【0090】この関連情報は、ファイルをグループに分
類して管理するグループタグ、親のファイルを特定する
番号を記録するインデックスタグ、あるいは、連続する
インデックス領域を特定する情報を記録するリンクタグ
を含むようにすることができる。
類して管理するグループタグ、親のファイルを特定する
番号を記録するインデックスタグ、あるいは、連続する
インデックス領域を特定する情報を記録するリンクタグ
を含むようにすることができる。
【0091】リンクタグに連続するインデックス領域を
特定する情報が記録されているか否かを表すリンクフラ
グをさらに関連情報に含ませることもできる。さらに、
1つのファイルを管理する複数のインデックス領域のう
ち、先頭のインデックス領域であるか否かを表す拡張フ
ラグを含ませることもできる。
特定する情報が記録されているか否かを表すリンクフラ
グをさらに関連情報に含ませることもできる。さらに、
1つのファイルを管理する複数のインデックス領域のう
ち、先頭のインデックス領域であるか否かを表す拡張フ
ラグを含ませることもできる。
【0092】また、複数のインデックス領域に記録され
た情報によりインデックスページを形成し、インデック
スページの1ページ分の情報を記憶することができるペ
ージバッファメモリを複数ページ分設け、ページバッフ
ァメモリを管理する情報を記憶するページタグを形成
し、ページタグに、インデックスページを特定する番
号、ページバッファメモリを指定するポインタ、ページ
バッファメモリの内容が更新されたか否かを表す更新情
報の少なくとも1つを記録するようにすることができ
る。
た情報によりインデックスページを形成し、インデック
スページの1ページ分の情報を記憶することができるペ
ージバッファメモリを複数ページ分設け、ページバッフ
ァメモリを管理する情報を記憶するページタグを形成
し、ページタグに、インデックスページを特定する番
号、ページバッファメモリを指定するポインタ、ページ
バッファメモリの内容が更新されたか否かを表す更新情
報の少なくとも1つを記録するようにすることができ
る。
【0093】また、記録媒体に、インデックスページに
おける未使用インデックス領域の数を表すページアカウ
ントを記録するページアカウント領域を形成することが
できる。この場合、記録媒体のページアカウント領域よ
り読み出したページアカウントを記憶するページアカウ
ントテーブルをメモリに形成するようにすることができ
る。
おける未使用インデックス領域の数を表すページアカウ
ントを記録するページアカウント領域を形成することが
できる。この場合、記録媒体のページアカウント領域よ
り読み出したページアカウントを記憶するページアカウ
ントテーブルをメモリに形成するようにすることができ
る。
【0094】さらに、インデックスブロックには、属性
コードとして、ディレクトリファイルであるか否かを表
すコードを記録し、ディレクトリファイルのデータとし
て子ファイルのインデックス番号を記録し、子ファイル
のインデックスブロックには、インデックスタグとし
て、ディレクトリファイルのインデックス番号を記録す
ることができる。
コードとして、ディレクトリファイルであるか否かを表
すコードを記録し、ディレクトリファイルのデータとし
て子ファイルのインデックス番号を記録し、子ファイル
のインデックスブロックには、インデックスタグとし
て、ディレクトリファイルのインデックス番号を記録す
ることができる。
【0095】また、ディレクトリファイルのデータとし
て、子ファイルのインデックス番号とともに、子ファイ
ルの名称を記録したり、属性コードを、複数の種類のデ
ィレクトリファイルのいずれかを表す複数ビットのコー
ドで構成することができる。
て、子ファイルのインデックス番号とともに、子ファイ
ルの名称を記録したり、属性コードを、複数の種類のデ
ィレクトリファイルのいずれかを表す複数ビットのコー
ドで構成することができる。
【0096】
【作用】上記構成のファイル管理方法においては、イン
デックス領域にファイルを関連付ける関連情報が記録さ
れる。従って、ファイル名がなくとも、多数のファイル
を階層的に管理することが可能になる。また、管理情報
の効率化を図ることができる。
デックス領域にファイルを関連付ける関連情報が記録さ
れる。従って、ファイル名がなくとも、多数のファイル
を階層的に管理することが可能になる。また、管理情報
の効率化を図ることができる。
【0097】
〈実施例1〉以下、図面を参照し、本発明の実施例につ
いて説明する。
いて説明する。
【0098】尚、本発明のファイル管理方法が適用され
るデータ記録再生装置は、図32に示した従来の場合と
基本的に同様の構成を有しているので、その説明は省略
するが、ファイル管理の仕方が従来の場合と異なってい
る。
るデータ記録再生装置は、図32に示した従来の場合と
基本的に同様の構成を有しているので、その説明は省略
するが、ファイル管理の仕方が従来の場合と異なってい
る。
【0099】図1は、本実施例で使用するデータ記録媒
体(MDディスク(データ))1(以下、必要に応じ、
単にMDデータと記す)の物理的な構成図(フォーマッ
ト)を表している。MDデータは、65536バイトよ
りなる0乃至N−1のN個のクラスタで構成されてい
る。現時点における、Nの典型的な値は約2200であ
り、また、将来にわたってさらなる大容量化が期待でき
る。上記各クラスタは、それぞれ2048バイトよりな
る0乃至31の32個のセクタで構成されている。
体(MDディスク(データ))1(以下、必要に応じ、
単にMDデータと記す)の物理的な構成図(フォーマッ
ト)を表している。MDデータは、65536バイトよ
りなる0乃至N−1のN個のクラスタで構成されてい
る。現時点における、Nの典型的な値は約2200であ
り、また、将来にわたってさらなる大容量化が期待でき
る。上記各クラスタは、それぞれ2048バイトよりな
る0乃至31の32個のセクタで構成されている。
【0100】このMDデータに対する書き込みは、クラ
スタを最小単位として行う必要があり、読み出しは、セ
クタを最小単位として行う必要がある。
スタを最小単位として行う必要があり、読み出しは、セ
クタを最小単位として行う必要がある。
【0101】本実施例においては、ファイルへの領域割
当の最小単位をセクタ4個(勿論、それ以上、またはそ
れ以下とすることも可能である)により構成し、割当ブ
ロックと名付ける。また、全クラスタ0乃至N−1にお
ける割当ブロックに通し番号を付け、割当ブロック番号
とする。
当の最小単位をセクタ4個(勿論、それ以上、またはそ
れ以下とすることも可能である)により構成し、割当ブ
ロックと名付ける。また、全クラスタ0乃至N−1にお
ける割当ブロックに通し番号を付け、割当ブロック番号
とする。
【0102】図2は、MDデータの論理的な構成図であ
る。クラスタ0,2,4,6,8,10,12,14の
計8クラスタは、管理クラスタとされ、ファイルの管理
情報を記録する。また、クラスタ1,3,5,7,9,
11,13,15は予備管理クラスタとされ、管理クラ
スタと同一の情報を記録し、万一のデータ喪失に備え
る。残りのクラスタ16乃至N−1は、全てデータの記
録領域として使用する。
る。クラスタ0,2,4,6,8,10,12,14の
計8クラスタは、管理クラスタとされ、ファイルの管理
情報を記録する。また、クラスタ1,3,5,7,9,
11,13,15は予備管理クラスタとされ、管理クラ
スタと同一の情報を記録し、万一のデータ喪失に備え
る。残りのクラスタ16乃至N−1は、全てデータの記
録領域として使用する。
【0103】管理クラスタ0乃至7を構成する各セクタ
を管理セクタと称する。管理セクタ0は、ボリューム情
報セクタとされ、割当ブロックサイズ、ディスク容量等
の、各種パラメータが記録される。
を管理セクタと称する。管理セクタ0は、ボリューム情
報セクタとされ、割当ブロックサイズ、ディスク容量等
の、各種パラメータが記録される。
【0104】管理セクタ1,2,3,4は、ビットマッ
プセクタ(ビットマップセクタ0乃至3)とされ、アロ
ケーションマップが記録される。アロケーションマップ
は、各割当ブロックにつき各1ビットよりなる、全65
536ビット(=2048バイト×4)で構成され、ビ
ットが0のとき、その割当ブロックが使用可能であり、
ビットが1のとき、使用済であることを表す。従って、
65536個の割当ブロック、即ち、8192クラスタ
(=512M(メガ)バイト)まで管理可能である。但
し、数値$FFFFは、空き判定等に使用するため、ブ
ロック番号としての使用が禁止される。その結果、管理
可能な最大割当ブロック数は、65535個となる。
プセクタ(ビットマップセクタ0乃至3)とされ、アロ
ケーションマップが記録される。アロケーションマップ
は、各割当ブロックにつき各1ビットよりなる、全65
536ビット(=2048バイト×4)で構成され、ビ
ットが0のとき、その割当ブロックが使用可能であり、
ビットが1のとき、使用済であることを表す。従って、
65536個の割当ブロック、即ち、8192クラスタ
(=512M(メガ)バイト)まで管理可能である。但
し、数値$FFFFは、空き判定等に使用するため、ブ
ロック番号としての使用が禁止される。その結果、管理
可能な最大割当ブロック数は、65535個となる。
【0105】管理セクタ5乃至31,64乃至95,1
28乃至159,・・・は、インデックスセクタ0乃至
250とされ(管理セクタ37乃至63,96乃至12
7,・・・は、予備のインデックスセクタ0乃至250
とされ)、各ファイルの管理情報を記録する。
28乃至159,・・・は、インデックスセクタ0乃至
250とされ(管理セクタ37乃至63,96乃至12
7,・・・は、予備のインデックスセクタ0乃至250
とされ)、各ファイルの管理情報を記録する。
【0106】各インデックスセクタは、各16バイトよ
りなる128個のインデックスブロック(以下、IBと
呼ぶ)により構成される。インデックスセクタ0乃至2
50における計32128個のIBには、0乃至321
27のIB番号が付けられる。
りなる128個のインデックスブロック(以下、IBと
呼ぶ)により構成される。インデックスセクタ0乃至2
50における計32128個のIBには、0乃至321
27のIB番号が付けられる。
【0107】図3は、IBの構成例を示している。その
第1の要素は、グループタグであり、2バイトで構成さ
れる。このグループタグの値が$FFFFのとき、IB
が空きであることを示す。第2の要素は属性コードであ
り、2バイトで構成される。第3の要素は更新日時等の
タイムスタンプであり、4バイトで構成される。第4の
要素はファイルサイズであり、4バイトで構成される。
第5の要素はデータの位置を示すエクステント記述子で
あり、4バイトで構成される。
第1の要素は、グループタグであり、2バイトで構成さ
れる。このグループタグの値が$FFFFのとき、IB
が空きであることを示す。第2の要素は属性コードであ
り、2バイトで構成される。第3の要素は更新日時等の
タイムスタンプであり、4バイトで構成される。第4の
要素はファイルサイズであり、4バイトで構成される。
第5の要素はデータの位置を示すエクステント記述子で
あり、4バイトで構成される。
【0108】エクステント記述子は、割当ブロック数と
開始割当ブロック番号により構成される。2バイトで示
される割当ブロック数は、ファイルデータが記録された
領域の大きさを割当ブロックの数で示し、2バイトの開
始割当ブロック番号は、ファイルデータの記録開始位置
(ファイルの先頭の割当ブロックの番号)を示す。
開始割当ブロック番号により構成される。2バイトで示
される割当ブロック数は、ファイルデータが記録された
領域の大きさを割当ブロックの数で示し、2バイトの開
始割当ブロック番号は、ファイルデータの記録開始位置
(ファイルの先頭の割当ブロックの番号)を示す。
【0109】上述したMS−DOSにおけるディレクト
リエントリのうち、ファイル名を除く全ての要素を、1
6バイトのIBに保持することができる。
リエントリのうち、ファイル名を除く全ての要素を、1
6バイトのIBに保持することができる。
【0110】このようなMDデータに、データを記録す
るときは、図4と図5のフローチャートに示す手順で行
なう。
るときは、図4と図5のフローチャートに示す手順で行
なう。
【0111】最初にステップS1で、記録媒体1上の管
理クラスタ0乃至7(図2)の内容を、メモリ3上に読
み込む。次にステップS2で、メモリ3上のインデック
スセクタ0乃至250を走査し、ステップS3で、空き
IB(グループタグ=$FFFFのIB)があるか否か
を判定し、あると判定されたら、ステップS5に進み、
グループタグ(例えば、その属するグループの番号)と
属性コード(例えば、ディレクトリ属性なら1、データ
属性なら0)を記録して、IBを確保する。空きIBが
なければ、ステップS4に進み、エラーとして終了す
る。
理クラスタ0乃至7(図2)の内容を、メモリ3上に読
み込む。次にステップS2で、メモリ3上のインデック
スセクタ0乃至250を走査し、ステップS3で、空き
IB(グループタグ=$FFFFのIB)があるか否か
を判定し、あると判定されたら、ステップS5に進み、
グループタグ(例えば、その属するグループの番号)と
属性コード(例えば、ディレクトリ属性なら1、データ
属性なら0)を記録して、IBを確保する。空きIBが
なければ、ステップS4に進み、エラーとして終了す
る。
【0112】次にステップS6で、メモリ3上のアロケ
ーションマップ(ビットマップセクタ0乃至3)(図
2)を走査し、ステップS7で、必要な個数の連続する
空き(グループタグ=$FFFFの)割当ブロックを見
つけたか否か判定し、見つかったら、ステップS8に進
み、そのビットを1(使用済)にして、確保する。見つ
からなければ、ステップS4に進み、エラーとして終了
する。
ーションマップ(ビットマップセクタ0乃至3)(図
2)を走査し、ステップS7で、必要な個数の連続する
空き(グループタグ=$FFFFの)割当ブロックを見
つけたか否か判定し、見つかったら、ステップS8に進
み、そのビットを1(使用済)にして、確保する。見つ
からなければ、ステップS4に進み、エラーとして終了
する。
【0113】次にステップS9に進み、ステップS8で
確保したIBに、ステップS7で確保した割当ブロック
の個数と、そのうちの開始割当ブロックの番号を記録す
る。さらにステップS10に進み、ステップS8で確保
した記録媒体1の領域(割当ブロック)に、データを記
録する。次にステップS11に進み、ステップS5で確
保したメモリ3上のIBに、タイムスタンプとファイル
サイズを記録する。また、ステップS12において、メ
モリ3上の管理クラスタ0乃至7の内容を、記録媒体1
上の管理クラスタ0乃至7と、予備管理クラスタ0乃至
7に書き込む。
確保したIBに、ステップS7で確保した割当ブロック
の個数と、そのうちの開始割当ブロックの番号を記録す
る。さらにステップS10に進み、ステップS8で確保
した記録媒体1の領域(割当ブロック)に、データを記
録する。次にステップS11に進み、ステップS5で確
保したメモリ3上のIBに、タイムスタンプとファイル
サイズを記録する。また、ステップS12において、メ
モリ3上の管理クラスタ0乃至7の内容を、記録媒体1
上の管理クラスタ0乃至7と、予備管理クラスタ0乃至
7に書き込む。
【0114】このようにしてファイルが記録されると、
以後、IB番号が、記録したデータのファイル識別子と
される。
以後、IB番号が、記録したデータのファイル識別子と
される。
【0115】次に、データを再生するとき、図6のフロ
ーチャートに示す手順で行なう。
ーチャートに示す手順で行なう。
【0116】最初にステップS31で、再生するファイ
ルのIB番号を含むインデックスセクタを、記録媒体1
からメモリ3上に読み込む。次にステップS32で、そ
のIBより、開始割当ブロック番号と割当ブロックの個
数を得る。そして、ステップS33で、記録媒体1上の
その開始割当ブロックから所定の個数の割当ブロックの
データを再生する。
ルのIB番号を含むインデックスセクタを、記録媒体1
からメモリ3上に読み込む。次にステップS32で、そ
のIBより、開始割当ブロック番号と割当ブロックの個
数を得る。そして、ステップS33で、記録媒体1上の
その開始割当ブロックから所定の個数の割当ブロックの
データを再生する。
【0117】また、データを消去するとき、図7のフロ
ーチャートに示す手順で行なう。
ーチャートに示す手順で行なう。
【0118】最初にステップS51で、記録媒体1上の
管理クラスタ0乃至7を、メモリ3上に読み込む。次に
ステップS52で、消去するファイルのIBを得、開始
割当ブロック番号と割当ブロックの個数を得る。そし
て、ステップS53で、メモリ3上のアロケーションマ
ップにおいて、その割当ブロックに相当するビット列を
0(使用可能)にし、領域を解放する。
管理クラスタ0乃至7を、メモリ3上に読み込む。次に
ステップS52で、消去するファイルのIBを得、開始
割当ブロック番号と割当ブロックの個数を得る。そし
て、ステップS53で、メモリ3上のアロケーションマ
ップにおいて、その割当ブロックに相当するビット列を
0(使用可能)にし、領域を解放する。
【0119】さらに、ステップS54で、IBのグルー
プタグに$FFFFを書き、空きIBとし、ステップS
55で、メモリ3上の管理クラスタ0乃至7の内容を、
記録媒体1上の管理クラスタ0乃至7と、予備管理クラ
スタ0乃至7に書き込む。
プタグに$FFFFを書き、空きIBとし、ステップS
55で、メモリ3上の管理クラスタ0乃至7の内容を、
記録媒体1上の管理クラスタ0乃至7と、予備管理クラ
スタ0乃至7に書き込む。
【0120】以上のようにして、インデックスセクタ0
乃至250により作成されたインデックステーブルの例
を、図8に示す。図8では、以下の説明に関係しない要
素について、−で表し、記述を省略している。
乃至250により作成されたインデックステーブルの例
を、図8に示す。図8では、以下の説明に関係しない要
素について、−で表し、記述を省略している。
【0121】図8に示すように、IB番号0のファイル
は、グループ0(グループタグ=0)に属し、6553
6(64k)バイトのデータよりなる。このデータは、
割当ブロック0乃至7の8個の割当ブロックに記録され
ている。
は、グループ0(グループタグ=0)に属し、6553
6(64k)バイトのデータよりなる。このデータは、
割当ブロック0乃至7の8個の割当ブロックに記録され
ている。
【0122】IB番号1のファイルは、グループ0に属
し、131072(128k)バイトのデータよりな
る。このデータは、割当ブロック8乃至23の16個の
割当ブロックに記録されている。
し、131072(128k)バイトのデータよりな
る。このデータは、割当ブロック8乃至23の16個の
割当ブロックに記録されている。
【0123】IB番号2のファイルは、グループ1に属
し、8192(8k)バイトのデータよりなる。このデ
ータは、割当ブロック24の1個の割当ブロックに記録
されている。
し、8192(8k)バイトのデータよりなる。このデ
ータは、割当ブロック24の1個の割当ブロックに記録
されている。
【0124】IB番号3のファイルは、グループ2に属
し、131072(128k)バイトのデータよりな
る。このデータは、割当ブロック25乃至40の16個
の割当ブロックに記録されている。
し、131072(128k)バイトのデータよりな
る。このデータは、割当ブロック25乃至40の16個
の割当ブロックに記録されている。
【0125】IB番号4のファイルは、グループ1に属
し、1048576(1024k)バイトのデータより
なる。このデータは、割当ブロック41乃至168の1
28個の割当ブロックに記録されている。
し、1048576(1024k)バイトのデータより
なる。このデータは、割当ブロック41乃至168の1
28個の割当ブロックに記録されている。
【0126】IB番号5のファイルは、グループ1に属
し、8192(8k)バイトのデータよりなる。このデ
ータは、割当ブロック169の1個の割当ブロックに記
録されている。
し、8192(8k)バイトのデータよりなる。このデ
ータは、割当ブロック169の1個の割当ブロックに記
録されている。
【0127】IB番号6以降のIBは、すべて空きIB
であり、グループタグには、$FFFFが記録されてい
る。
であり、グループタグには、$FFFFが記録されてい
る。
【0128】上記グループタグにより、 グループ0=ファイル0(IB番号0)、ファイル1
(IB番号1) グループ1=ファイル2(IB番号2)、ファイル4
(IB番号4)、ファイル5(IB番号5) グループ2=ファイル3(IB番号3) のように、各ファイルをグループに分類して記録するこ
とが実現できる。
(IB番号1) グループ1=ファイル2(IB番号2)、ファイル4
(IB番号4)、ファイル5(IB番号5) グループ2=ファイル3(IB番号3) のように、各ファイルをグループに分類して記録するこ
とが実現できる。
【0129】次に、図9に、上記グループタグをインデ
ックスタグに代え、インデックスタグに他のIB番号を
記録して、階層的管理を行うようにしたインデックステ
ーブルの例を示す。
ックスタグに代え、インデックスタグに他のIB番号を
記録して、階層的管理を行うようにしたインデックステ
ーブルの例を示す。
【0130】図9に示すように、IB0には、インデッ
クスタグに0(自分自身)が記録されており、ルートデ
ィレクトリであることが表されている。また、ファイル
属性には1が記録されており、ディレクトリ属性である
ことが表されている。また、ファイルサイズには0が記
録されており、ファイルの実体データがないことが表さ
れている。
クスタグに0(自分自身)が記録されており、ルートデ
ィレクトリであることが表されている。また、ファイル
属性には1が記録されており、ディレクトリ属性である
ことが表されている。また、ファイルサイズには0が記
録されており、ファイルの実体データがないことが表さ
れている。
【0131】IB1には、インデックスタグに0が記録
されており、IB0を親ディレクトリとするファイルで
あることが表されている。また、ファイル属性には0が
記録されており、データ属性のファイルであることが表
されている。また、ファイルサイズは131072バイ
トとされ、また、そのデータが割当ブロック0から、1
6個の割当ブロックにわたって記録されていることがわ
かる。
されており、IB0を親ディレクトリとするファイルで
あることが表されている。また、ファイル属性には0が
記録されており、データ属性のファイルであることが表
されている。また、ファイルサイズは131072バイ
トとされ、また、そのデータが割当ブロック0から、1
6個の割当ブロックにわたって記録されていることがわ
かる。
【0132】IB3には、インデックスタグに0、ファ
イル属性に1が記録されており、IB0を親ディレクト
リとするサブディレクトリファイルであることが表され
ている。また、ファイルサイズには0が記録されてお
り、ファイルの実体データがないことが表されている。
イル属性に1が記録されており、IB0を親ディレクト
リとするサブディレクトリファイルであることが表され
ている。また、ファイルサイズには0が記録されてお
り、ファイルの実体データがないことが表されている。
【0133】IB4には、インデックスタグに3、ファ
イル属性に0が記録されており、IB3を親ディレクト
リとするデータファイルであることが表されている。ま
た、ファイルサイズは8192バイトであり、そのデー
タが割当ブロック24に記録されていることがわかる。
イル属性に0が記録されており、IB3を親ディレクト
リとするデータファイルであることが表されている。ま
た、ファイルサイズは8192バイトであり、そのデー
タが割当ブロック24に記録されていることがわかる。
【0134】IB番号6以降のIBは、すべて空きIB
であり、インデックスタグには$FFFFが記録されて
いる。
であり、インデックスタグには$FFFFが記録されて
いる。
【0135】このように、インデックスタグに親ディレ
クトリを記述することにより、図10に示すように、フ
ァイル(IB)を階層構造で管理することができる。こ
のように、親ディレクトリを記述しておくと、そのファ
イルを作成したとき、親ディレクトリの更新が不要とな
る。
クトリを記述することにより、図10に示すように、フ
ァイル(IB)を階層構造で管理することができる。こ
のように、親ディレクトリを記述しておくと、そのファ
イルを作成したとき、親ディレクトリの更新が不要とな
る。
【0136】尚、図9の例では、ディレクトリファイル
のサイズを0としたが、ディレクトリファイルはデータ
を持ってもよく、これを利用して、複数キーワードを許
すデータベースを記録するなど、従来のファイルシステ
ムにはない高度な管理構造を実現することもできる。
のサイズを0としたが、ディレクトリファイルはデータ
を持ってもよく、これを利用して、複数キーワードを許
すデータベースを記録するなど、従来のファイルシステ
ムにはない高度な管理構造を実現することもできる。
【0137】〈実施例2〉上記実施例1におけるIBの
構成は、各IBについて、1つのエクステント記述子し
か記録できない。然るに、一般のデータ記録再生装置に
おいて、可変長データの記録、消去、追記などを繰り返
すと、1つのファイルが複数の記録領域(割当ブロッ
ク)により構成される可能性がある。
構成は、各IBについて、1つのエクステント記述子し
か記録できない。然るに、一般のデータ記録再生装置に
おいて、可変長データの記録、消去、追記などを繰り返
すと、1つのファイルが複数の記録領域(割当ブロッ
ク)により構成される可能性がある。
【0138】そこで、実施例1のアロケーションマップ
による領域管理に代えて、上述したMS−DOSの場合
と同様に、FATによる領域管理を採用し、エクステン
ト記述子として、開始割当ブロック番号を記録すること
が考えられる。
による領域管理に代えて、上述したMS−DOSの場合
と同様に、FATによる領域管理を採用し、エクステン
ト記述子として、開始割当ブロック番号を記録すること
が考えられる。
【0139】しかしながら、そのようにすると、実施例
1におけるアロケーションマップのサイズが、4セクタ
=8192バイトであったのに対し、同等のFATを構
成するには、131070バイト必要であり、必要メモ
リ量が大きくなってしまう。
1におけるアロケーションマップのサイズが、4セクタ
=8192バイトであったのに対し、同等のFATを構
成するには、131070バイト必要であり、必要メモ
リ量が大きくなってしまう。
【0140】そこで、さらに別の解決法として、上述し
たUNIXの例にならい、間接ブロックを用いて複数の
エクステント記述子を記録することが考えられる。
たUNIXの例にならい、間接ブロックを用いて複数の
エクステント記述子を記録することが考えられる。
【0141】しかしながら、そのようにすると、例え
ば、新たに得たエクステント記述子が1個(4バイト)
であったとしても、1つの割当ブロック=8192バイ
トを消費するため、容量効率が悪くなり、またエクステ
ント記述子がデータ記録領域に散在する可能性が高いた
め、シーク動作の遅いディスク装置等では速度低下の問
題がある。
ば、新たに得たエクステント記述子が1個(4バイト)
であったとしても、1つの割当ブロック=8192バイ
トを消費するため、容量効率が悪くなり、またエクステ
ント記述子がデータ記録領域に散在する可能性が高いた
め、シーク動作の遅いディスク装置等では速度低下の問
題がある。
【0142】このようなことから、実施例2において
は、実施例1におけるIBに、以下の拡張を施す。
は、実施例1におけるIBに、以下の拡張を施す。
【0143】図11は、IBの基本型を表す。第1の要
素は拡張フラグであり、1ビットで構成される。拡張フ
ラグが1であることにより、基本型のIBであることを
示し、0であることにより、拡張型のIB(図12)で
あることを示す。
素は拡張フラグであり、1ビットで構成される。拡張フ
ラグが1であることにより、基本型のIBであることを
示し、0であることにより、拡張型のIB(図12)で
あることを示す。
【0144】第2の要素はインデックスタグであり、1
5ビットで構成される。第3の要素は属性コードであ
り、16ビットで構成される。第4の要素は更新日時の
タイムスタンプであり、4バイトで構成される。第5の
要素はファイルサイズであり、4バイトで構成される。
5ビットで構成される。第3の要素は属性コードであ
り、16ビットで構成される。第4の要素は更新日時の
タイムスタンプであり、4バイトで構成される。第5の
要素はファイルサイズであり、4バイトで構成される。
【0145】第6の要素はリンクフラグであり、1ビッ
トで構成される。リンクフラグが0のとき、第7の要素
はエクステント記述子であり、31ビットで構成され
る。リンクフラグが1のとき、第7の要素はリンクタグ
であり、15ビットで構成され、余白の16ビットは保
留として0を記録する。
トで構成される。リンクフラグが0のとき、第7の要素
はエクステント記述子であり、31ビットで構成され
る。リンクフラグが1のとき、第7の要素はリンクタグ
であり、15ビットで構成され、余白の16ビットは保
留として0を記録する。
【0146】図12は、IBの拡張型を表す。第1の要
素は拡張フラグであり、1ビットで構成される。拡張フ
ラグが0であることにより、拡張型のIBであることを
示す。第2の要素はエクステント記述子であり、31ビ
ットで構成される。
素は拡張フラグであり、1ビットで構成される。拡張フ
ラグが0であることにより、拡張型のIBであることを
示す。第2の要素はエクステント記述子であり、31ビ
ットで構成される。
【0147】第3の要素は保留ビットであり、0が記録
される。第4の要素はエクステント記述子であり、31
ビットで構成される。
される。第4の要素はエクステント記述子であり、31
ビットで構成される。
【0148】第5の要素は保留ビットであり、0が記録
される。第6の要素はエクステント記述子であり、31
ビットで構成される。
される。第6の要素はエクステント記述子であり、31
ビットで構成される。
【0149】第7の要素はリンクフラグであり、1ビッ
トで構成される。リンクフラグが0のとき、第8の要素
はエクステント記述子であり、31ビットで構成され
る。リンクフラグが1のとき、第8の要素はリンクタグ
であり、15ビットで構成され、余白の16ビットは保
留として0を記録する。
トで構成される。リンクフラグが0のとき、第8の要素
はエクステント記述子であり、31ビットで構成され
る。リンクフラグが1のとき、第8の要素はリンクタグ
であり、15ビットで構成され、余白の16ビットは保
留として0を記録する。
【0150】図13は、エクステント記述子の構成例を
示す。15ビットで示される割当ブロック数により、フ
ァイルデータが記録された領域の大きさを示し、16ビ
ットの開始割当ブロック番号により、ファイルデータの
記録開始位置を示す。
示す。15ビットで示される割当ブロック数により、フ
ァイルデータが記録された領域の大きさを示し、16ビ
ットの開始割当ブロック番号により、ファイルデータの
記録開始位置を示す。
【0151】この図13に示したIBの構成により、I
Bを拡張した例を、図14に示す。この図は、ファイル
識別子(IB)=4として記録されたファイルの例を表
している。
Bを拡張した例を、図14に示す。この図は、ファイル
識別子(IB)=4として記録されたファイルの例を表
している。
【0152】IB4の拡張フラグは1であり、IB4が
基本型IBであることを表している。インデックスタグ
は3であり、IB=3のディレクトリを親とするファイ
ルであることを表す。ファイル属性は0であり、データ
ファイルであることを表す。
基本型IBであることを表している。インデックスタグ
は3であり、IB=3のディレクトリを親とするファイ
ルであることを表す。ファイル属性は0であり、データ
ファイルであることを表す。
【0153】ファイルサイズは581632であり、5
68kバイト=71割当ブロックのサイズであることを
表す。リンクフラグは1であり、他のIBに拡張された
ことを表す。リンクタグは6であり、拡張された次のI
Bは、IB6であることを表す。
68kバイト=71割当ブロックのサイズであることを
表す。リンクフラグは1であり、他のIBに拡張された
ことを表す。リンクタグは6であり、拡張された次のI
Bは、IB6であることを表す。
【0154】拡張された、IB6の拡張フラグは0であ
り、IB6が拡張型IBであることを表している。第1
のエクステント記述子は、割当ブロック80から、8ブ
ロックにわたってファイルデータが記録されていること
を表す。第2のエクステント記述子は、割当ブロック1
04から、16ブロックにわたってファイルデータが記
録されていることを表す。第3のエクステント記述子
は、割当ブロック176から、8ブロックにわたってフ
ァイルデータが記録されていることを表す。リンクフラ
グは1であり、IB4が、IB6からさらに他のIBに
拡張されたことを表す。リンクタグは13であり、拡張
された次のIBは、IB13であることを表す。
り、IB6が拡張型IBであることを表している。第1
のエクステント記述子は、割当ブロック80から、8ブ
ロックにわたってファイルデータが記録されていること
を表す。第2のエクステント記述子は、割当ブロック1
04から、16ブロックにわたってファイルデータが記
録されていることを表す。第3のエクステント記述子
は、割当ブロック176から、8ブロックにわたってフ
ァイルデータが記録されていることを表す。リンクフラ
グは1であり、IB4が、IB6からさらに他のIBに
拡張されたことを表す。リンクタグは13であり、拡張
された次のIBは、IB13であることを表す。
【0155】拡張された、IB13の拡張フラグは0で
あり、IB13が拡張型IBであることを表している。
第1のエクステント記述子は、割当ブロック216か
ら、24ブロックにわたってファイルデータが記録され
ていることを表す。第2のエクステント記述子は、割当
ブロック248から、15ブロックにわたってファイル
データが記録されていることを表す。リンクフラグは0
であり、ファイル4は、このIBで終結することを表
す。
あり、IB13が拡張型IBであることを表している。
第1のエクステント記述子は、割当ブロック216か
ら、24ブロックにわたってファイルデータが記録され
ていることを表す。第2のエクステント記述子は、割当
ブロック248から、15ブロックにわたってファイル
データが記録されていることを表す。リンクフラグは0
であり、ファイル4は、このIBで終結することを表
す。
【0156】以上説明したように、拡張フラグ、リンク
フラグおよびリンクタグを用いれば、空きIBがあるか
ぎり、ファイルにおけるエクステント記述子の個数を自
由に拡張することができる。
フラグおよびリンクタグを用いれば、空きIBがあるか
ぎり、ファイルにおけるエクステント記述子の個数を自
由に拡張することができる。
【0157】〈実施例3〉ところで、実施例1におい
て、データの記録、再生、消去の動作を行うには、上述
したように、クラスタ0,2,4,6,8,10,1
2,14の内容(管理クラスタ0乃至7の内容)をメモ
リ3上に持つ必要があり、512kバイトもの大量のメ
モリを消費することになる。
て、データの記録、再生、消去の動作を行うには、上述
したように、クラスタ0,2,4,6,8,10,1
2,14の内容(管理クラスタ0乃至7の内容)をメモ
リ3上に持つ必要があり、512kバイトもの大量のメ
モリを消費することになる。
【0158】この問題を解決するため、実施例3におい
ては、以下のようにして、図15に示すようなIBキャ
ッシュシステムを設ける。
ては、以下のようにして、図15に示すようなIBキャ
ッシュシステムを設ける。
【0159】(1)記録媒体1上のインデックステーブ
ルを、128個のIBよりなるインデックスページによ
り構成する。即ち、1管理セクタをもって1インデック
スページとし、251インデックスページによりインデ
ックステーブルを構成する(図2)。
ルを、128個のIBよりなるインデックスページによ
り構成する。即ち、1管理セクタをもって1インデック
スページとし、251インデックスページによりインデ
ックステーブルを構成する(図2)。
【0160】(2)メモリ3上に、各インデックスペー
ジにつき1バイトのページアカウントよりなる、251
バイトで構成されるページアカウントテーブルを設け
る。各ページアカウントには、そのインデックスページ
中の、空きIBの個数が記録される。ページアカウント
テーブルの内容は、記録媒体1上において、ボリューム
情報の1つとして、管理セクタ0に記録される(図
2)。
ジにつき1バイトのページアカウントよりなる、251
バイトで構成されるページアカウントテーブルを設け
る。各ページアカウントには、そのインデックスページ
中の、空きIBの個数が記録される。ページアカウント
テーブルの内容は、記録媒体1上において、ボリューム
情報の1つとして、管理セクタ0に記録される(図
2)。
【0161】(3)メモリ3上に、それぞれインデック
スページ1個分を保持できる、4個のページバッファメ
モリを設ける。
スページ1個分を保持できる、4個のページバッファメ
モリを設ける。
【0162】(4)メモリ3上に、インデックスページ
番号、ページバッファメモリを指すポインタ、およびペ
ージバッファメモリの内容が更新されたことを示す更新
フラグにより、ページタグを構成し、ページタグ4個に
より、ページタグテーブルを構成する。
番号、ページバッファメモリを指すポインタ、およびペ
ージバッファメモリの内容が更新されたことを示す更新
フラグにより、ページタグを構成し、ページタグ4個に
より、ページタグテーブルを構成する。
【0163】(5)メモリ3上に、65536バイト
(1クラスタサイズ)よりなる書き込みバッファを設け
る。
(1クラスタサイズ)よりなる書き込みバッファを設け
る。
【0164】図16は、ページタグテーブルの構成例を
示す。ページタグテーブルは、0乃至3の4つのページ
タグで構成され、各ページタグは、1バイトよりなる更
新フラグ(この更新フラグは、記録媒体1からメモリ3
(ページバッファメモリ)に読み出したデータが、メモ
リ3上において更新されたとき、1とされ、更新されな
いとき(記録媒体1のデータと同一のデータであると
き)、0とされる)と、1バイトよりなるインデックス
ページ番号と、4バイトよりなるページバッファポイン
タで構成される。
示す。ページタグテーブルは、0乃至3の4つのページ
タグで構成され、各ページタグは、1バイトよりなる更
新フラグ(この更新フラグは、記録媒体1からメモリ3
(ページバッファメモリ)に読み出したデータが、メモ
リ3上において更新されたとき、1とされ、更新されな
いとき(記録媒体1のデータと同一のデータであると
き)、0とされる)と、1バイトよりなるインデックス
ページ番号と、4バイトよりなるページバッファポイン
タで構成される。
【0165】上記構成において、記録媒体1上のインデ
ックスページNの内容を、メモリ3上のページバッファ
メモリに読み出すには、図17のフローチャートに示す
手順で行なう。
ックスページNの内容を、メモリ3上のページバッファ
メモリに読み出すには、図17のフローチャートに示す
手順で行なう。
【0166】最初にステップS91で、変数iに0を初
期設定した後、ステップS92で、ページタグ0のイン
デックスページ番号を読み出し、ステップS93で、そ
の値を判定する。その値がNと判定されたとき、インデ
ックスページNがページバッファメモリ0に既に読み込
まれているので、処理を終了する。インデックスページ
番号がNでないとき、ステップS94で、$FF(未使
用)か否かを判定し、YESならば、ステップS95に
進み、ページタグ0のインデックスページ番号にNを書
き込み、そのページバッファポインタの指すページバッ
ファメモリに、記録媒体1上のインデックスページNを
読み出し、処理を終了する。
期設定した後、ステップS92で、ページタグ0のイン
デックスページ番号を読み出し、ステップS93で、そ
の値を判定する。その値がNと判定されたとき、インデ
ックスページNがページバッファメモリ0に既に読み込
まれているので、処理を終了する。インデックスページ
番号がNでないとき、ステップS94で、$FF(未使
用)か否かを判定し、YESならば、ステップS95に
進み、ページタグ0のインデックスページ番号にNを書
き込み、そのページバッファポインタの指すページバッ
ファメモリに、記録媒体1上のインデックスページNを
読み出し、処理を終了する。
【0167】ステップS94で、インデックスページ番
号が$FFではない(使用済)と判定されたとき、ステ
ップS96で、変数iを判定し、変数iが3でないと判
定されれば、ステップS97で、変数iを1だけインク
リメントし(i=1とし)、ステップS98で、ページ
タグ0とページタグi(いまの場合、i=1)を交換す
る。
号が$FFではない(使用済)と判定されたとき、ステ
ップS96で、変数iを判定し、変数iが3でないと判
定されれば、ステップS97で、変数iを1だけインク
リメントし(i=1とし)、ステップS98で、ページ
タグ0とページタグi(いまの場合、i=1)を交換す
る。
【0168】そして、ステップS92に戻り、交換した
ページタグ0のインデックスページ番号を読み出し、ス
テップS93でNと判定されたら終了する。番号がNで
なければ、ステップS94で$FF(未使用)か否かを
判定し、ページタグ0のインデックスページ番号が$F
F(未使用)ならば、ステップS95に進み、そのイン
デックスページ番号にNを書き込み、そのページバッフ
ァポインタの指すページバッファに、記録媒体1上のイ
ンデックスページNを読み出し、処理を終了する。
ページタグ0のインデックスページ番号を読み出し、ス
テップS93でNと判定されたら終了する。番号がNで
なければ、ステップS94で$FF(未使用)か否かを
判定し、ページタグ0のインデックスページ番号が$F
F(未使用)ならば、ステップS95に進み、そのイン
デックスページ番号にNを書き込み、そのページバッフ
ァポインタの指すページバッファに、記録媒体1上のイ
ンデックスページNを読み出し、処理を終了する。
【0169】インデックスページ番号が$FFでないと
き(使用済のとき)、ステップS96で、i=3でなけ
れば(いまの場合、i=1)、ステップS97で、iを
1だけインクリメントして、i=2とした後、ステップ
S98で、ページタグ0とページタグi(いまの場合、
i=2)を交換する。
き(使用済のとき)、ステップS96で、i=3でなけ
れば(いまの場合、i=1)、ステップS97で、iを
1だけインクリメントして、i=2とした後、ステップ
S98で、ページタグ0とページタグi(いまの場合、
i=2)を交換する。
【0170】再びステップS92に戻り、交換したペー
ジタグ0のインデックスページ番号を読み出し、Nなら
ば、処理を終了する。また、ステップS94で、ページ
タグ0のインデックスページ番号が$FF(未使用)と
判定されたならば、ステップS95で、そのインデック
スページ番号にNを書き込み、そのページバッファポイ
ンタの指すページバッファメモリに、記録媒体1上のイ
ンデックスページNを読み出し、処理を終了する。
ジタグ0のインデックスページ番号を読み出し、Nなら
ば、処理を終了する。また、ステップS94で、ページ
タグ0のインデックスページ番号が$FF(未使用)と
判定されたならば、ステップS95で、そのインデック
スページ番号にNを書き込み、そのページバッファポイ
ンタの指すページバッファメモリに、記録媒体1上のイ
ンデックスページNを読み出し、処理を終了する。
【0171】さらに、インデックスページ番号が$FF
ではなく(使用済であり)、iが3でなければ(いまの
場合、i=2)、iを1だけインクリメントして、i=
3とし、ページタグ0とページタグi(いまの場合、i
=3)を交換する。
ではなく(使用済であり)、iが3でなければ(いまの
場合、i=2)、iを1だけインクリメントして、i=
3とし、ページタグ0とページタグi(いまの場合、i
=3)を交換する。
【0172】ステップS92で、再び読み取ったページ
タグ0のインデックスページ番号がNならば、処理を終
了する。そのページタグ0のインデックスページ番号が
$FF(未使用)ならば、ステップS95で、そのイン
デックスページ番号にNを書き込み、そのページバッフ
ァポインタの指すページバッファメモリに、記録媒体1
上のインデックスページNを読み出し、処理を終了す
る。
タグ0のインデックスページ番号がNならば、処理を終
了する。そのページタグ0のインデックスページ番号が
$FF(未使用)ならば、ステップS95で、そのイン
デックスページ番号にNを書き込み、そのページバッフ
ァポインタの指すページバッファメモリに、記録媒体1
上のインデックスページNを読み出し、処理を終了す
る。
【0173】ステップS94とステップS96で、イン
デックスページ番号が$FFではなく(使用済であ
り)、かつ、i=3と判定されたとき、結局、ページバ
ッファ0乃至3の4個が全て使用済であることになる。
この場合、ステップS99に進み、ページタグ0の更新
フラグが1(対応するページバッファメモリのデータを
更新した)か否か判定し、1ならば、ステップS100
に進み、ページタグ0のページバッファポインタの指す
ページバッファメモリのデータ(更新データ)を、その
インデックスページ番号の示すインデックスページ(記
録媒体1)に書き込み、その更新フラグを0にする。即
ち、更新データを保存する。
デックスページ番号が$FFではなく(使用済であ
り)、かつ、i=3と判定されたとき、結局、ページバ
ッファ0乃至3の4個が全て使用済であることになる。
この場合、ステップS99に進み、ページタグ0の更新
フラグが1(対応するページバッファメモリのデータを
更新した)か否か判定し、1ならば、ステップS100
に進み、ページタグ0のページバッファポインタの指す
ページバッファメモリのデータ(更新データ)を、その
インデックスページ番号の示すインデックスページ(記
録媒体1)に書き込み、その更新フラグを0にする。即
ち、更新データを保存する。
【0174】次にステップS101に進み、ページタグ
0のインデックスページ番号にNを書き込み、そのペー
ジバッファポインタの指すページバッファメモリに、記
録媒体1上のインデックスページNの内容を読み出し、
処理を終了する。
0のインデックスページ番号にNを書き込み、そのペー
ジバッファポインタの指すページバッファメモリに、記
録媒体1上のインデックスページNの内容を読み出し、
処理を終了する。
【0175】ステップS99で、更新フラグが0(デー
タを更新していない)と判定されたとき、保存処理は不
要となるので、ステップS100の処理はスキップさ
れ、ステップS101の処理が直ちに実行される。
タを更新していない)と判定されたとき、保存処理は不
要となるので、ステップS100の処理はスキップさ
れ、ステップS101の処理が直ちに実行される。
【0176】この手順による具体例として、図18およ
び図19を参照し、ページタグテーブルの動作につい
て、さらに説明する。
び図19を参照し、ページタグテーブルの動作につい
て、さらに説明する。
【0177】図18(a)は、ページタグテーブルの初
期状態を示す。メモリ3上には、4つのページバッファ
メモリが、それぞれアドレス$10000,$1080
0,$11000,$11800に置かれており、各ペ
ージタグのページバッファポインタは、この各アドレス
を指している。また、各インデックスページ番号は、$
FFであり、未使用ページタグであることを示す。
期状態を示す。メモリ3上には、4つのページバッファ
メモリが、それぞれアドレス$10000,$1080
0,$11000,$11800に置かれており、各ペ
ージタグのページバッファポインタは、この各アドレス
を指している。また、各インデックスページ番号は、$
FFであり、未使用ページタグであることを示す。
【0178】図18(b)は、インデックスページ0を
読み出した状態を表している。ページタグ0のインデッ
クスページ番号には0が書かれ、メモリ3上のアドレス
$10000(ページバッファメモリ0)に、記録媒体
1からインデックスページ0の内容が読み込まれる。
読み出した状態を表している。ページタグ0のインデッ
クスページ番号には0が書かれ、メモリ3上のアドレス
$10000(ページバッファメモリ0)に、記録媒体
1からインデックスページ0の内容が読み込まれる。
【0179】図18(c)は、さらに、インデックスペ
ージ1を読み出した状態を表している。ページタグ0と
ページタグ1が交換され、ページタグ0のインデックス
ページ番号には1が書かれ、メモリ3上のアドレス$1
0800(ページバッファメモリ1)に、インデックス
ページ1の内容が読み込まれる。
ージ1を読み出した状態を表している。ページタグ0と
ページタグ1が交換され、ページタグ0のインデックス
ページ番号には1が書かれ、メモリ3上のアドレス$1
0800(ページバッファメモリ1)に、インデックス
ページ1の内容が読み込まれる。
【0180】図18(d)は、同様にして、インデック
スページ2および3を読み出した状態を表している。同
図に示すように、若いページタグには、より新しいイン
デックスページが順次記録される。
スページ2および3を読み出した状態を表している。同
図に示すように、若いページタグには、より新しいイン
デックスページが順次記録される。
【0181】図19(a)は、ページタグ3と1の更新
フラグが1であり、インデックスページ0と2の内容が
更新された状態を表している。
フラグが1であり、インデックスページ0と2の内容が
更新された状態を表している。
【0182】図19(b)は、インデックスページ4を
読み込む途中(図18(c)に至るまでの途中)経過を
表している。最も古いページタグ3(図18(a))を
ページタグ0に移し、そのインデックスページ0の内容
(更新されている)を記録媒体1に書き込んで、更新フ
ラグをクリアする。このとき、後の書き込み動作を節約
するため、同一クラスタに属するインデックスページ2
も、同時に書き込み、更新フラグをクリアする。
読み込む途中(図18(c)に至るまでの途中)経過を
表している。最も古いページタグ3(図18(a))を
ページタグ0に移し、そのインデックスページ0の内容
(更新されている)を記録媒体1に書き込んで、更新フ
ラグをクリアする。このとき、後の書き込み動作を節約
するため、同一クラスタに属するインデックスページ2
も、同時に書き込み、更新フラグをクリアする。
【0183】図19(c)は、インデックスページ4を
読み込んだ状態を表している。ページタグ0のインデッ
クスページ番号には4が書かれ、メモリ3のアドレス$
10000に、インデックスページ4の内容が読み込ま
れる。
読み込んだ状態を表している。ページタグ0のインデッ
クスページ番号には4が書かれ、メモリ3のアドレス$
10000に、インデックスページ4の内容が読み込ま
れる。
【0184】図19(d)は、再びインデックスページ
2を読み出した状態を表している。既にページバッファ
メモリに読み出されているため、実際の読み出し動作は
行なわれず、最新にアクセスされたページとして、ペー
ジタグ2がページタグ0に移されるだけであり、高速に
動作する。
2を読み出した状態を表している。既にページバッファ
メモリに読み出されているため、実際の読み出し動作は
行なわれず、最新にアクセスされたページとして、ペー
ジタグ2がページタグ0に移されるだけであり、高速に
動作する。
【0185】図17のステップS100において、ペー
ジタグ0のページバッファポインタが指すページバッフ
ァメモリのデータを、そのインデックスページ番号の示
すインデックスページ(記録媒体1)に書き込むとき、
図20のフローチャートに示す手順で行なう。
ジタグ0のページバッファポインタが指すページバッフ
ァメモリのデータを、そのインデックスページ番号の示
すインデックスページ(記録媒体1)に書き込むとき、
図20のフローチャートに示す手順で行なう。
【0186】最初にステップS121で、ページタグ0
のインデックスページ番号(0乃至250)から、クラ
スタ番号C0とセクタ番号S0を求める。即ち、この実
施例の場合、1インデックスページを1セクタとしてい
るため、インデックスページ番号は、インデックスセク
タ番号(0乃至250)と等しい。このインデックスペ
ージ番号をNとすると、ボリューム情報セクタとビット
マップセクタ0乃至3の合計5セクタを加味して、クラ
スタ番号C0は、(N+5)÷32の商を、2倍して
(予備管理クラスタのため)得られる。また。(N+
5)÷32の余りが、セクタ番号S0となる。
のインデックスページ番号(0乃至250)から、クラ
スタ番号C0とセクタ番号S0を求める。即ち、この実
施例の場合、1インデックスページを1セクタとしてい
るため、インデックスページ番号は、インデックスセク
タ番号(0乃至250)と等しい。このインデックスペ
ージ番号をNとすると、ボリューム情報セクタとビット
マップセクタ0乃至3の合計5セクタを加味して、クラ
スタ番号C0は、(N+5)÷32の商を、2倍して
(予備管理クラスタのため)得られる。また。(N+
5)÷32の余りが、セクタ番号S0となる。
【0187】例えば、インデックスページ27は、(2
7+5)÷32=1(余り0)であり、クラスタ番号=
2、セクタ番号=0となる。
7+5)÷32=1(余り0)であり、クラスタ番号=
2、セクタ番号=0となる。
【0188】次にステップS122で、記録媒体1上の
クラスタC0のデータを、メモリ3上の書き込みバッフ
ァメモリ(1クラスタサイズ)に読み込む。そしてステ
ップS123で、書き込みバッファ中のS0×2048
バイトの位置へ、ページタグ0のページバッファポイン
タが指すページバッファメモリの内容(1セクタ分)を
コピーする(図17における場合と同様の処理が行われ
る)。
クラスタC0のデータを、メモリ3上の書き込みバッフ
ァメモリ(1クラスタサイズ)に読み込む。そしてステ
ップS123で、書き込みバッファ中のS0×2048
バイトの位置へ、ページタグ0のページバッファポイン
タが指すページバッファメモリの内容(1セクタ分)を
コピーする(図17における場合と同様の処理が行われ
る)。
【0189】次にステップS124で、変数iを1に初
期設定し、ステップS125で、ページタグi(いまの
場合、i=1)のインデックスページ番号から、上述し
た場合と同様にして、クラスタ番号C1とセクタ番号S
1を求める。さらにステップS126で、クラスタ番号
Ci(いまの場合、Ci=C1)がクラスタ番号C0と
等しいか否か、即ち、同一クラスタC0に含まれるか否
かを判定し、Ci=C0(同一クラスタ)ならば、ステ
ップS127に進み、書き込みバッファメモリ中のSi
×2048(いまの場合、Si=S1)バイトの位置
へ、ページタグi(いまの場合、i=1)のページバッ
ファポインタが指すページバッファメモリの内容をコピ
ーする。
期設定し、ステップS125で、ページタグi(いまの
場合、i=1)のインデックスページ番号から、上述し
た場合と同様にして、クラスタ番号C1とセクタ番号S
1を求める。さらにステップS126で、クラスタ番号
Ci(いまの場合、Ci=C1)がクラスタ番号C0と
等しいか否か、即ち、同一クラスタC0に含まれるか否
かを判定し、Ci=C0(同一クラスタ)ならば、ステ
ップS127に進み、書き込みバッファメモリ中のSi
×2048(いまの場合、Si=S1)バイトの位置
へ、ページタグi(いまの場合、i=1)のページバッ
ファポインタが指すページバッファメモリの内容をコピ
ーする。
【0190】Ci=C0ではない場合(異なるクラスタ
の場合)、またはステップS127のコピーが完了した
とき、ステップS128に進み、変数iが3でなけれ
ば、さらにステップS129に進み、変数iを1だけイ
ンクリメントして、i=2とする。
の場合)、またはステップS127のコピーが完了した
とき、ステップS128に進み、変数iが3でなけれ
ば、さらにステップS129に進み、変数iを1だけイ
ンクリメントして、i=2とする。
【0191】そして、再びステップS125に戻り、ペ
ージタグi(i=2)のインデックスページ番号から、
クラスタ番号Ci(=C2)と、セクタ番号Si(=S
2)を求める。
ージタグi(i=2)のインデックスページ番号から、
クラスタ番号Ci(=C2)と、セクタ番号Si(=S
2)を求める。
【0192】そして、C2=C0ならば、書き込みバッ
ファ中のS2×2048バイトの位置へ、ページタグ2
のページバッファポインタが指すページバッファメモリ
の内容をコピーする。
ファ中のS2×2048バイトの位置へ、ページタグ2
のページバッファポインタが指すページバッファメモリ
の内容をコピーする。
【0193】同様に、iをインクリメントして、i=3
とし、ページタグ3のインデックスページ番号から、ク
ラスタ番号C3とセクタ番号S3を求める。そして、C
3=C0ならば、書き込みバッファ中のS3×2048
バイトの位置へ、ページタグ3のページバッファポイン
タが指すページバッファメモリの内容をコピーする。
とし、ページタグ3のインデックスページ番号から、ク
ラスタ番号C3とセクタ番号S3を求める。そして、C
3=C0ならば、書き込みバッファ中のS3×2048
バイトの位置へ、ページタグ3のページバッファポイン
タが指すページバッファメモリの内容をコピーする。
【0194】ステップS128において、i=3と判定
されたとき(ページバッファ0乃至3の全ての内容が書
き込みバッファメモリに書き込まれたとき)、ステップ
S130に進み、書き込みバッファメモリのデータを、
記録媒体1上のクラスタC0に記録する。
されたとき(ページバッファ0乃至3の全ての内容が書
き込みバッファメモリに書き込まれたとき)、ステップ
S130に進み、書き込みバッファメモリのデータを、
記録媒体1上のクラスタC0に記録する。
【0195】このようにして、図15に示すように、記
録媒体1から書き込みバッファメモリに1クラスタ分の
データが読み込まれ、ページタグの指すページバッファ
メモリのデータが書き込みバッファメモリの所定のセク
タ位置に移され、書き込みバッファメモリの内容が記録
媒体1の元のクラスタに書き込まれる。
録媒体1から書き込みバッファメモリに1クラスタ分の
データが読み込まれ、ページタグの指すページバッファ
メモリのデータが書き込みバッファメモリの所定のセク
タ位置に移され、書き込みバッファメモリの内容が記録
媒体1の元のクラスタに書き込まれる。
【0196】ところで、上記構成のIBキャッシュシス
テムにおいて、空きIBを見つけるために、インデック
スページを0から順にメモリ3上に読み出して調べるよ
うにすると、速度低下の原因となる。これをさけるた
め、この実施例においては、各インデックスページにお
ける空きIBの個数を記録するページアカウントテーブ
ルが、記録媒体1のボリューム情報セクタ内に設けられ
ている。
テムにおいて、空きIBを見つけるために、インデック
スページを0から順にメモリ3上に読み出して調べるよ
うにすると、速度低下の原因となる。これをさけるた
め、この実施例においては、各インデックスページにお
ける空きIBの個数を記録するページアカウントテーブ
ルが、記録媒体1のボリューム情報セクタ内に設けられ
ている。
【0197】図21は、ページアカウントテーブルの例
である。同図に示すように、インデックスページ0のペ
ージアカウントは0であり、空きIBがないことを表し
ている。また、インデックスページ1のページアカウン
トは1であり、空きIBが1個あることを表している。
また、インデックスページ2のページアカウントは71
であり、空きIBが71個あることを表している。さら
に、インデックスページ250のページアカウントは1
28であり、全てのIBが空きであることを表してい
る。
である。同図に示すように、インデックスページ0のペ
ージアカウントは0であり、空きIBがないことを表し
ている。また、インデックスページ1のページアカウン
トは1であり、空きIBが1個あることを表している。
また、インデックスページ2のページアカウントは71
であり、空きIBが71個あることを表している。さら
に、インデックスページ250のページアカウントは1
28であり、全てのIBが空きであることを表してい
る。
【0198】基本型IB(図11)を記録するために空
きIBを求める場合は、ページアカウントが2以上のイ
ンデックスページを読み込む。なぜなら、基本型IBは
エクステント記述子が1個しか記録できないため、すぐ
に次の空きIBが必要になる可能性が高いが、この場
合、そのIBが同一ページ(同一のインデックスセク
タ)にあれば、高速化が期待できるからである。
きIBを求める場合は、ページアカウントが2以上のイ
ンデックスページを読み込む。なぜなら、基本型IBは
エクステント記述子が1個しか記録できないため、すぐ
に次の空きIBが必要になる可能性が高いが、この場
合、そのIBが同一ページ(同一のインデックスセク
タ)にあれば、高速化が期待できるからである。
【0199】また、拡張型IB(図12)を記録するた
めに空きIBを求める場合は、1つ前の拡張型IBまた
は基本型IBが属するインデックスページのページアカ
ウントから昇順に走査する。なぜなら、それより前に空
きIBがあったとしても、それは他のファイルが消去さ
れた結果であるため、ランダムな位置にあり、距離が遠
くなって、IBキャッシュの効果が減少するからであ
る。
めに空きIBを求める場合は、1つ前の拡張型IBまた
は基本型IBが属するインデックスページのページアカ
ウントから昇順に走査する。なぜなら、それより前に空
きIBがあったとしても、それは他のファイルが消去さ
れた結果であるため、ランダムな位置にあり、距離が遠
くなって、IBキャッシュの効果が減少するからであ
る。
【0200】以上のIBキャッシュシステムにおいて、
データを記録するには、図22と図23のフローチャー
トに示す手順で行う。
データを記録するには、図22と図23のフローチャー
トに示す手順で行う。
【0201】最初にステップS151で、記録媒体1上
のページアカウントテーブル(図21)を走査し、ステ
ップS152で、ページアカウントが2以上のインデッ
クスページNが見つかったか否かを判定し、見つからな
ければ、エラーとして処理を終了する。見つかったとき
は、ステップS153に進み、記録媒体1上のインデッ
クスページNのデータ(1セクタ分のデータ)を、ペー
ジタグ0のポインタが指定するページバッファメモリに
読み込む。
のページアカウントテーブル(図21)を走査し、ステ
ップS152で、ページアカウントが2以上のインデッ
クスページNが見つかったか否かを判定し、見つからな
ければ、エラーとして処理を終了する。見つかったとき
は、ステップS153に進み、記録媒体1上のインデッ
クスページNのデータ(1セクタ分のデータ)を、ペー
ジタグ0のポインタが指定するページバッファメモリに
読み込む。
【0202】次にステップS154で、そのページバッ
ファメモリを走査して空きIB(インデックスタグ=$
FFFFのIB)を得、そのインデックスタグに、例え
ば、その上位のIB番号を記録するとともに、属性コー
ドに、ディレクトリ属性なら1、データ属性なら0を記
録して、IBを確保し、ページタグ0の更新フラグを1
(更新)にする。また、そのページアカウントを1減ら
す。さらにステップS155で、記録媒体1上のアロケ
ーションマップを走査し、必要な個数の連続する空き
(ビットが0の)割当ブロックを見つけ、対応するアロ
ケーションマップのビットを1(使用済)にして、その
割当ブロックを確保する。
ファメモリを走査して空きIB(インデックスタグ=$
FFFFのIB)を得、そのインデックスタグに、例え
ば、その上位のIB番号を記録するとともに、属性コー
ドに、ディレクトリ属性なら1、データ属性なら0を記
録して、IBを確保し、ページタグ0の更新フラグを1
(更新)にする。また、そのページアカウントを1減ら
す。さらにステップS155で、記録媒体1上のアロケ
ーションマップを走査し、必要な個数の連続する空き
(ビットが0の)割当ブロックを見つけ、対応するアロ
ケーションマップのビットを1(使用済)にして、その
割当ブロックを確保する。
【0203】ステップS156では、ステップS154
で確保したIBに、エクステント記述子として、ステッ
プS155で確保した開始割当ブロック番号と割当ブロ
ックの個数を記録する。ステップS157では、ステッ
プS155で確保した領域(割当ブロック)に、データ
を記録する(図20に示した場合と同様の処理が行われ
る)。また、ステップS158で、メモリ3のIBに、
タイムスタンプとファイルサイズを記録する。このメモ
リ3上のIBは、メモリ3上のその記憶領域を他の目的
のために使用するとき、装置の電源をオフするとき、記
録媒体1をイジェクトするときなど、所定のタイミング
で、さらに記録媒体1に記録される。
で確保したIBに、エクステント記述子として、ステッ
プS155で確保した開始割当ブロック番号と割当ブロ
ックの個数を記録する。ステップS157では、ステッ
プS155で確保した領域(割当ブロック)に、データ
を記録する(図20に示した場合と同様の処理が行われ
る)。また、ステップS158で、メモリ3のIBに、
タイムスタンプとファイルサイズを記録する。このメモ
リ3上のIBは、メモリ3上のその記憶領域を他の目的
のために使用するとき、装置の電源をオフするとき、記
録媒体1をイジェクトするときなど、所定のタイミング
で、さらに記録媒体1に記録される。
【0204】尚、以後、このIB番号を、記録したデー
タのファイル識別子とする。
タのファイル識別子とする。
【0205】IBキャッシュシステムにおいて、データ
を再生するには、図24と図25のフローチャートに示
す手順で行う。
を再生するには、図24と図25のフローチャートに示
す手順で行う。
【0206】最初にステップS171で、再生するファ
イルのIB番号を128(ページバッファメモリに記憶
される1ページ分のインデックスページのIBの個数)
で割り、その商の整数部から、インデックスページ番号
を得る。ステップS172では、そのインデックスペー
ジのデータを、ページバッファに読み込む(図17に示
した場合と同様の処理が行われる)。そしてステップS
173では、ページバッファメモリ中のそのIBから、
ファイルサイズを得る。
イルのIB番号を128(ページバッファメモリに記憶
される1ページ分のインデックスページのIBの個数)
で割り、その商の整数部から、インデックスページ番号
を得る。ステップS172では、そのインデックスペー
ジのデータを、ページバッファに読み込む(図17に示
した場合と同様の処理が行われる)。そしてステップS
173では、ページバッファメモリ中のそのIBから、
ファイルサイズを得る。
【0207】次にステップS174において、ファイル
サイズを判定し、0ならば、終了する。
サイズを判定し、0ならば、終了する。
【0208】次にステップS175において、リンクフ
ラグを判定し、リンクフラグが0なら、ステップS17
6に進み、そのエクステント記述子から開始割当ブロッ
クを得、ステップS177において、その開始割当ブロ
ックから上記したファイルサイズのデータを再生し、終
了する。ステップS175において、リンクフラグが1
なら、ステップS178に進む。
ラグを判定し、リンクフラグが0なら、ステップS17
6に進み、そのエクステント記述子から開始割当ブロッ
クを得、ステップS177において、その開始割当ブロ
ックから上記したファイルサイズのデータを再生し、終
了する。ステップS175において、リンクフラグが1
なら、ステップS178に進む。
【0209】ステップS178において、リンクタグよ
り次の拡張IB番号を得る。
り次の拡張IB番号を得る。
【0210】次にステップS179で、拡張IB番号を
128で割り、その商の整数部から、インデックスペー
ジ番号を得る。そしてステップS180で、そのインデ
ックスページのデータを、ページバッファに読み込む
(図17に示した場合と同様の処理が行われる)。
128で割り、その商の整数部から、インデックスペー
ジ番号を得る。そしてステップS180で、そのインデ
ックスページのデータを、ページバッファに読み込む
(図17に示した場合と同様の処理が行われる)。
【0211】次にステップS181で、変数iに0を初
期設定する。
期設定する。
【0212】次にステップS182において、第i(い
まの場合、第0)のエクステント記述子から、割当ブロ
ック数と開始割当ブロック番号を得る。
まの場合、第0)のエクステント記述子から、割当ブロ
ック数と開始割当ブロック番号を得る。
【0213】次にステップS183において、ファイル
サイズとエクステントサイズ、即ち、割当ブロック数×
割当ブロックサイズを比較し、エクステントサイズの方
が大きいか等しければ、ステップS185に進み、開始
割当ブロックから上記ファイルサイズのデータを再生
し、終了する。
サイズとエクステントサイズ、即ち、割当ブロック数×
割当ブロックサイズを比較し、エクステントサイズの方
が大きいか等しければ、ステップS185に進み、開始
割当ブロックから上記ファイルサイズのデータを再生
し、終了する。
【0214】ステップS183において、ファイルサイ
ズの方が大きければ、ステップS184に進み、開始割
当ブロックから上記エクステントサイズのデータを再生
する。
ズの方が大きければ、ステップS184に進み、開始割
当ブロックから上記エクステントサイズのデータを再生
する。
【0215】次にステップS186において、ファイル
サイズから上記エクステントサイズ、即ち、割当ブロッ
ク数×割当ブロックサイズを減じ、また変数iをインク
リメントして、i=1とする。そしてステップS187
で、i=4でないことを確認し、次にステップS188
で第i(いまの場合、第1)のエクステント記述子の最
上位ビット(リンクフラグ)を判定し、リンクフラグが
0ならば、ステップS182に戻って、次のエクステン
トを再生し、リンクフラグが1ならば、ステップS17
8に戻って、次の拡張IBを得る。
サイズから上記エクステントサイズ、即ち、割当ブロッ
ク数×割当ブロックサイズを減じ、また変数iをインク
リメントして、i=1とする。そしてステップS187
で、i=4でないことを確認し、次にステップS188
で第i(いまの場合、第1)のエクステント記述子の最
上位ビット(リンクフラグ)を判定し、リンクフラグが
0ならば、ステップS182に戻って、次のエクステン
トを再生し、リンクフラグが1ならば、ステップS17
8に戻って、次の拡張IBを得る。
【0216】ステップS187において、i=4のと
き、ファイルサイズが0でないのに次の拡張IBがない
ことを意味するので、エラーであり、エラー処理を行
う。
き、ファイルサイズが0でないのに次の拡張IBがない
ことを意味するので、エラーであり、エラー処理を行
う。
【0217】さらに、IBキャッシュシステムにおい
て、データを消去するには、図26乃至図28のフロー
チャートに示す手順で行う。
て、データを消去するには、図26乃至図28のフロー
チャートに示す手順で行う。
【0218】最初にステップS201で、消去するファ
イルのIB番号を128で割り、その商の整数部から、
インデックスページ番号を得る。そしてステップS20
2において、そのインデックスページのデータを、ペー
ジバッファに読み込む(図17に示した場合と同様の処
理を行う)。次にステップS203で、ページバッファ
メモリ中のそのIBから、ファイルサイズを得、ステッ
プS204で、そのファイルサイズを判定し、0なら
ば、ステップS205以降のデータ領域の解放処理をス
キップし、ステップS208に進む。
イルのIB番号を128で割り、その商の整数部から、
インデックスページ番号を得る。そしてステップS20
2において、そのインデックスページのデータを、ペー
ジバッファに読み込む(図17に示した場合と同様の処
理を行う)。次にステップS203で、ページバッファ
メモリ中のそのIBから、ファイルサイズを得、ステッ
プS204で、そのファイルサイズを判定し、0なら
ば、ステップS205以降のデータ領域の解放処理をス
キップし、ステップS208に進む。
【0219】ファイルサイズが0でなければ、ステップ
S205において、リンクフラグを判定し、リンクフラ
グが0なら、ステップS206で、そのエクステント記
述子から割当ブロック数と開始割当ブロック番号を得、
次にステップS207で、アロケーションマップにおい
て、上記開始割当ブロック番号のビット位置から、割当
ブロック数分のビットを0にして、データ領域を解放す
る。
S205において、リンクフラグを判定し、リンクフラ
グが0なら、ステップS206で、そのエクステント記
述子から割当ブロック数と開始割当ブロック番号を得、
次にステップS207で、アロケーションマップにおい
て、上記開始割当ブロック番号のビット位置から、割当
ブロック数分のビットを0にして、データ領域を解放す
る。
【0220】次にステップS208において、そのIB
のインデックスタグに$FFFFを記録して未使用IB
とし、ステップS209において、そのIBが属するペ
ージバッファを指すページタグの更新フラグをセット
し、ステップS210において、そのインデックスペー
ジのページアカウントをインクリメントし、終了する。
のインデックスタグに$FFFFを記録して未使用IB
とし、ステップS209において、そのIBが属するペ
ージバッファを指すページタグの更新フラグをセット
し、ステップS210において、そのインデックスペー
ジのページアカウントをインクリメントし、終了する。
【0221】ステップS205において、リンクフラグ
が1(次のIBがある)なら、ステップS211に進
み、そのリンクタグより次の拡張IB番号を得、次にス
テップS212で、いまのIBのインデックスタグに$
FFFFを記録して未使用IBとし、ステップS213
において、そのIBが属するページバッファを指すペー
ジタグの更新フラグをセットし、ステップS214にお
いて、そのインデックスページのページアカウントをイ
ンクリメントする。
が1(次のIBがある)なら、ステップS211に進
み、そのリンクタグより次の拡張IB番号を得、次にス
テップS212で、いまのIBのインデックスタグに$
FFFFを記録して未使用IBとし、ステップS213
において、そのIBが属するページバッファを指すペー
ジタグの更新フラグをセットし、ステップS214にお
いて、そのインデックスページのページアカウントをイ
ンクリメントする。
【0222】次にステップS215において、拡張IB
番号を128で割り、インデックスページ番号を得る。
そしてステップS216で、そのインデックスページの
データを、ページバッファに読み込み(図17に示した
場合と同様の処理を行う)、次にステップS217で、
変数iを0で初期化する。
番号を128で割り、インデックスページ番号を得る。
そしてステップS216で、そのインデックスページの
データを、ページバッファに読み込み(図17に示した
場合と同様の処理を行う)、次にステップS217で、
変数iを0で初期化する。
【0223】次にステップS218で、第i(いまの場
合、第0)のエクステント記述子を得て、割当ブロック
数と開始割当ブロック番号を得る。次にステップS21
9で、アロケーションマップにおいて、上記開始割当ブ
ロック番号のビット位置から、割当ブロック数分のビッ
トを0にして、データ領域を解放する。
合、第0)のエクステント記述子を得て、割当ブロック
数と開始割当ブロック番号を得る。次にステップS21
9で、アロケーションマップにおいて、上記開始割当ブ
ロック番号のビット位置から、割当ブロック数分のビッ
トを0にして、データ領域を解放する。
【0224】次にステップS220において、ファイル
サイズからエクステントサイズ、即ち、割当ブロック数
×割当ブロックサイズを引くとともに、変数iをインク
リメントする。
サイズからエクステントサイズ、即ち、割当ブロック数
×割当ブロックサイズを引くとともに、変数iをインク
リメントする。
【0225】次にステップS221において、ファイル
サイズを判定し、0または負ならば、ステップS224
で、そのIBのインデックスタグに$FFFFを記録し
て未使用IBとし、ステップS225において、そのI
Bが属するページバッファを指すページタグの更新フラ
グをセットし、ステップS226において、そのインデ
ックスページのページアカウントをインクリメントし、
終了する。
サイズを判定し、0または負ならば、ステップS224
で、そのIBのインデックスタグに$FFFFを記録し
て未使用IBとし、ステップS225において、そのI
Bが属するページバッファを指すページタグの更新フラ
グをセットし、ステップS226において、そのインデ
ックスページのページアカウントをインクリメントし、
終了する。
【0226】ステップS221で、ファイルサイズが正
ならば、ステップS222で、i=4でないことを確認
し、次にステップS223で第i(いまの場合、第1)
のエクステント記述子の最上位ビット(リンクフラグ)
を判定し、リンクフラグが0ならば、ステップS218
に戻って、次のエクステントを解放し、リンクフラグが
1ならば、ステップS211に戻って、次の拡張IBを
得る。
ならば、ステップS222で、i=4でないことを確認
し、次にステップS223で第i(いまの場合、第1)
のエクステント記述子の最上位ビット(リンクフラグ)
を判定し、リンクフラグが0ならば、ステップS218
に戻って、次のエクステントを解放し、リンクフラグが
1ならば、ステップS211に戻って、次の拡張IBを
得る。
【0227】ステップS222において、i=4のと
き、ファイルサイズが正であるのに次の拡張IBがない
ことを意味するので、エラーであり、エラー処理を行
う。
き、ファイルサイズが正であるのに次の拡張IBがない
ことを意味するので、エラーであり、エラー処理を行
う。
【0228】〈実施例4〉実施例1の説明におけるイン
デックスタグの説明(図9)において、ディレクトリ属
性のIBのファイルサイズを0としたが、ディレクトリ
ファイルに実体のデータを持たせることもできる。この
ようにした場合、より高度なファイル管理方法を実現す
ることができる。図29は、その実施例を表している。
デックスタグの説明(図9)において、ディレクトリ属
性のIBのファイルサイズを0としたが、ディレクトリ
ファイルに実体のデータを持たせることもできる。この
ようにした場合、より高度なファイル管理方法を実現す
ることができる。図29は、その実施例を表している。
【0229】即ち、この実施例においては、IB=3、
IB=4、IB=5が、いずれも、最初の拡張フラグが
1とされ、基本型IBとされている。IB=3のインデ
ックスタグは0とされ、ルートディレクトリ直下のファ
イルであることが示されている。また、属性コードは1
とされ、ディレクトリ属性のファイルとされている。フ
ァイルサイズは4バイトとされ、割当ブロック24か
ら、1割当ブロックの領域が割り当てられている。IB
=4のインデックスタグは3とされ、IB=3のディレ
クトリ直下のファイルとされている。また、属性コード
は0とされ、データ属性のファイルとされている。さら
に、ファイルサイズは212バイトとされ、割当ブロッ
ク25から、1割当ブロックの領域が割り当てられてい
る。IB=5のインデックスタグは3とされ、IB=3
のディレクトリ直下のファイルとされている。また、属
性コードは0とされ、データ属性のファイルとされてい
る。さらに、ファイルサイズは180バイトとされ、割
当ブロック26から、1割当ブロックの領域が割り当て
られている。
IB=4、IB=5が、いずれも、最初の拡張フラグが
1とされ、基本型IBとされている。IB=3のインデ
ックスタグは0とされ、ルートディレクトリ直下のファ
イルであることが示されている。また、属性コードは1
とされ、ディレクトリ属性のファイルとされている。フ
ァイルサイズは4バイトとされ、割当ブロック24か
ら、1割当ブロックの領域が割り当てられている。IB
=4のインデックスタグは3とされ、IB=3のディレ
クトリ直下のファイルとされている。また、属性コード
は0とされ、データ属性のファイルとされている。さら
に、ファイルサイズは212バイトとされ、割当ブロッ
ク25から、1割当ブロックの領域が割り当てられてい
る。IB=5のインデックスタグは3とされ、IB=3
のディレクトリ直下のファイルとされている。また、属
性コードは0とされ、データ属性のファイルとされてい
る。さらに、ファイルサイズは180バイトとされ、割
当ブロック26から、1割当ブロックの領域が割り当て
られている。
【0230】図29に示すように、この実施例の場合、
IB=3の割当ブロック24は、各2バイトからなるI
B番号のリストで構成され、そこに子ファイルのIB番
号が記録される。即ち、この実施例では、IB=4とI
B=5の2つのIB番号が記録されている。
IB=3の割当ブロック24は、各2バイトからなるI
B番号のリストで構成され、そこに子ファイルのIB番
号が記録される。即ち、この実施例では、IB=4とI
B=5の2つのIB番号が記録されている。
【0231】前述のインデックスタグのみによるファイ
ルの階層的管理方法においては、新しいファイルの記録
や、IB番号がわかっているファイルの再生は、高速に
行うことが可能であるが、同一のディレクトリに属する
子ファイルを検索する場合、インデックステーブルをす
べて走査する必要があるため、時間がかかることにな
る。しかしながら、この実施例のようにすれば、ディレ
クトリファイルから子ファイルを検索することができ、
子ファイルの検索が高速化される。
ルの階層的管理方法においては、新しいファイルの記録
や、IB番号がわかっているファイルの再生は、高速に
行うことが可能であるが、同一のディレクトリに属する
子ファイルを検索する場合、インデックステーブルをす
べて走査する必要があるため、時間がかかることにな
る。しかしながら、この実施例のようにすれば、ディレ
クトリファイルから子ファイルを検索することができ、
子ファイルの検索が高速化される。
【0232】〈実施例5〉図30は、他の実施例を表し
ている。図29の実施例と異なり、この実施例において
は、IB=3のファイルサイズが32バイトとされ、割
当ブロック24のエントリは、16バイトとされ、そこ
にはIB番号(2バイト)だけでなく、ファイル名(1
4バイト)も記録されるようになされている。
ている。図29の実施例と異なり、この実施例において
は、IB=3のファイルサイズが32バイトとされ、割
当ブロック24のエントリは、16バイトとされ、そこ
にはIB番号(2バイト)だけでなく、ファイル名(1
4バイト)も記録されるようになされている。
【0233】図30の実施例においては、IB=3のデ
ィレクトリの下に、割当ブロック24に、”CONFI
G.SYS”および”AUTOEXEC.BAT”とい
う2つのファイルが記録されている。勿論、IB=3の
ディレクトリファイル自身にも、ファイル名を付けるこ
とができ、そのファイル名は、IB=0のルートディレ
クトリファイルに記録される。
ィレクトリの下に、割当ブロック24に、”CONFI
G.SYS”および”AUTOEXEC.BAT”とい
う2つのファイルが記録されている。勿論、IB=3の
ディレクトリファイル自身にも、ファイル名を付けるこ
とができ、そのファイル名は、IB=0のルートディレ
クトリファイルに記録される。
【0234】上記の構成により、各IBに登録されたフ
ァイルは、ファイル名を持つことができ、コンピュータ
のOSのように、ファイル名を必要とする、従来のファ
イルシステムにも容易に適用することができる。
ァイルは、ファイル名を持つことができ、コンピュータ
のOSのように、ファイル名を必要とする、従来のファ
イルシステムにも容易に適用することができる。
【0235】尚、図30においては、簡単のため、ディ
レクトリファイルの構成を、IB番号と固定長のファイ
ル名のみとしたが、次のようにすることも可能である。
レクトリファイルの構成を、IB番号と固定長のファイ
ル名のみとしたが、次のようにすることも可能である。
【0236】(1)ファイル名の長さ、各エントリの長
さを記録し、可変長にする。 (2)ファイル名のみならず、記録者名や著作権表示等
を記録したり、ウインドウシステムで使用するアイコン
データを記録するなど、ファイル固有の諸情報を、合わ
せて記録する。 (3)ファイル名をキーとして、2分木、Bツリー、ハ
ッシュ表等の構成とし、子ファイルが多数の場合のファ
イル名検索を高速化する。 (4)各エントリ中に、再生順序の番号を記録するな
ど、子ファイルの順番を管理する手段を設ける。
さを記録し、可変長にする。 (2)ファイル名のみならず、記録者名や著作権表示等
を記録したり、ウインドウシステムで使用するアイコン
データを記録するなど、ファイル固有の諸情報を、合わ
せて記録する。 (3)ファイル名をキーとして、2分木、Bツリー、ハ
ッシュ表等の構成とし、子ファイルが多数の場合のファ
イル名検索を高速化する。 (4)各エントリ中に、再生順序の番号を記録するな
ど、子ファイルの順番を管理する手段を設ける。
【0237】〈実施例6〉前記実施例4と実施例5の説
明において、属性コードは、0をデータ属性、1をディ
レクトリ属性としたが、属性コードを複数ビットにより
構成し、前記ディレクトリファイルの構成方法を、用途
に応じて複数種類持つようにすることができる。図31
は、その実施例を表している。
明において、属性コードは、0をデータ属性、1をディ
レクトリ属性としたが、属性コードを複数ビットにより
構成し、前記ディレクトリファイルの構成方法を、用途
に応じて複数種類持つようにすることができる。図31
は、その実施例を表している。
【0238】図31において、IB=0のルートディレ
クトリの子ファイルとして、IB=1、IB=2、IB
=3と、3つのIBが示されている。
クトリの子ファイルとして、IB=1、IB=2、IB
=3と、3つのIBが示されている。
【0239】IB=1の属性コードは0とされ、データ
属性のファイルとされている。そして、そのデータは、
割当ブロック10に記録されている。IB=2の属性コ
ードは1とされ、第1の種類のディレクトリファイルと
されている。図31においては、第1の種類のディレク
トリファイルとして、前記実施例4に準じ、IB=2で
指定される割当ブロック11に、子ファイルのIB番号
リストが記録されている。IB=3の属性コードは2と
され、第2の種類のディレクトリファイルとされてい
る。この図においては、第2の種類のディレクトリファ
イルとして、前記実施例5に準じ、IB=3で指定され
る割当ブロック12に、子ファイルのIB番号とファイ
ル名のリストが記録されている。
属性のファイルとされている。そして、そのデータは、
割当ブロック10に記録されている。IB=2の属性コ
ードは1とされ、第1の種類のディレクトリファイルと
されている。図31においては、第1の種類のディレク
トリファイルとして、前記実施例4に準じ、IB=2で
指定される割当ブロック11に、子ファイルのIB番号
リストが記録されている。IB=3の属性コードは2と
され、第2の種類のディレクトリファイルとされてい
る。この図においては、第2の種類のディレクトリファ
イルとして、前記実施例5に準じ、IB=3で指定され
る割当ブロック12に、子ファイルのIB番号とファイ
ル名のリストが記録されている。
【0240】同様にして、用途に応じた多数の種類のデ
ィレクトリファイルを、同一ファイルシステム上に混在
させることができる。このように、ディレクトリファイ
ルの種類が多くなると、応用機器によっては、すべての
種類をサポートできない場合があると思われる。しか
し、前記実施例1において説明したように、ファイルの
階層構造に関する情報は、IB中のインデックスタグに
も記録されているため、そのような場合においても、フ
ァイルの階層構造を簡単に知ることができる。
ィレクトリファイルを、同一ファイルシステム上に混在
させることができる。このように、ディレクトリファイ
ルの種類が多くなると、応用機器によっては、すべての
種類をサポートできない場合があると思われる。しか
し、前記実施例1において説明したように、ファイルの
階層構造に関する情報は、IB中のインデックスタグに
も記録されているため、そのような場合においても、フ
ァイルの階層構造を簡単に知ることができる。
【0241】尚、本発明はこの実施例にのみ限定される
ものではなく、例えば、次のような変形が可能である。
ものではなく、例えば、次のような変形が可能である。
【0242】(1)割当ブロックの管理をアロケーショ
ンマップ(ビットマップ)ではなく、FATで行なう。
ンマップ(ビットマップ)ではなく、FATで行なう。
【0243】この場合、エクステント記述子を、割当ブ
ロック数と開始割当ブロック番号ではなく、FATの開
始クラスタで表すことができる。
ロック数と開始割当ブロック番号ではなく、FATの開
始クラスタで表すことができる。
【0244】(2)割当ブロックの管理をアロケーショ
ンマップ(ビットマップ)ではなく、例えば、本出願人
が特願平5−114863号の実施例3として先に提案
したような、空きの割当ブロックの番号を直接記録した
ノードマップまたはノードリストで行なう。
ンマップ(ビットマップ)ではなく、例えば、本出願人
が特願平5−114863号の実施例3として先に提案
したような、空きの割当ブロックの番号を直接記録した
ノードマップまたはノードリストで行なう。
【0245】この場合、エクステント記述子を、割当ブ
ロック数と開始割当ブロック番号ではなく、ノード番号
で表すことができる。
ロック数と開始割当ブロック番号ではなく、ノード番号
で表すことができる。
【0246】(3)IBのサイズを16バイトではな
く、他のサイズにし、基本型IBにおける要素の一部
(属性コード、タイムスタンプ)を省略するか、または
他の要素(ファイル名、ユーザーIDなど)を記録す
る。
く、他のサイズにし、基本型IBにおける要素の一部
(属性コード、タイムスタンプ)を省略するか、または
他の要素(ファイル名、ユーザーIDなど)を記録す
る。
【0247】
【発明の効果】以上説明したように、本発明によれば、
ファイルの階層的管理に必要な情報を、全てインデック
ス領域に集中したことにより、文字入力手段を持たない
機器においても、従来に比較して、小さなメモリ容量
で、高速なファイルアクセスが実現できる。
ファイルの階層的管理に必要な情報を、全てインデック
ス領域に集中したことにより、文字入力手段を持たない
機器においても、従来に比較して、小さなメモリ容量
で、高速なファイルアクセスが実現できる。
【0248】また、上記インデックステーブルをページ
単位で管理できる機構にすることにより、より少量のメ
モリでより高速なファイルアクセスが実現できる。
単位で管理できる機構にすることにより、より少量のメ
モリでより高速なファイルアクセスが実現できる。
【図1】本発明のファイル管理方法を適用したデータ記
録媒体のフォーマットを説明する図である。
録媒体のフォーマットを説明する図である。
【図2】図1の実施例をさらに具体化したフォーマット
を説明する図である。
を説明する図である。
【図3】インデックスブロックの構成を説明する図であ
る。
る。
【図4】本発明の実施例1におけるデータ記録処理を説
明するフローチャートである。
明するフローチャートである。
【図5】図4に続くフローチャートである。
【図6】実施例1における再生処理を説明するフローチ
ャートである。
ャートである。
【図7】実施例1における消去処理を説明するフローチ
ャートである。
ャートである。
【図8】グループタグによるインデックステーブルを説
明する図である。
明する図である。
【図9】インデックスタグによるインデックステーブル
を説明する図である。
を説明する図である。
【図10】インデックスタグによる階層構造を説明する
図である。
図である。
【図11】インデックスブロックの基本型の構成を説明
する図である。
する図である。
【図12】インデックスブロックの拡張型の構成を説明
する図である。
する図である。
【図13】エクステント記述子の構成を説明する図であ
る。
る。
【図14】インデックスブロックの拡張を説明する図で
ある。
ある。
【図15】インデックスブロックのキャッシュシステム
を説明する図である。
を説明する図である。
【図16】ページタグテーブルを説明する図である。
【図17】ページバッファへの読み出し処理を説明する
フローチャートである。
フローチャートである。
【図18】ページタグテーブルの動作を説明する図であ
る。
る。
【図19】ページタグテーブルの他の動作を説明する図
である。
である。
【図20】ページバッファの書き込み処理を説明する図
である。
である。
【図21】ページアカウントテーブルの具体例を説明す
る図である。
る図である。
【図22】インデックスブロックのキャッシュシステム
における記録処理を説明するフローチャートである。
における記録処理を説明するフローチャートである。
【図23】図22に続くフローチャートである。
【図24】インデックスブロックのキャッシュシステム
における再生処理を説明するフローチャートである。
における再生処理を説明するフローチャートである。
【図25】図24に続くフローチャートである。
【図26】インデックスブロックのキャッシュシステム
における消去処理を説明するフローチャートである。
における消去処理を説明するフローチャートである。
【図27】図26に続くフローチャートである。
【図28】図27に続くフローチャートである。
【図29】実施例4の構成を説明する図である。
【図30】実施例5の構成を説明する図である。
【図31】実施例6の構成を説明する図である。
【図32】従来のファイル管理方法を適用したデータ記
録再生装置の構成例を示すブロック図である。
録再生装置の構成例を示すブロック図である。
【図33】MS−DOSファイルシステムを説明する図
である。
である。
【図34】MS−DOSのルートディレクトリを説明す
る図である。
る図である。
【図35】MS−DOSの階層的ファイル管理を説明す
る図である。
る図である。
【図36】MS−DOSにおける記録処理を説明するフ
ローチャートである。
ローチャートである。
【図37】MS−DOSにおける再生処理を説明するフ
ローチャートである。
ローチャートである。
【図38】MS−DOSにおける消去処理を説明するフ
ローチャートである。
ローチャートである。
【図39】UNIXファイルシステムの構成例を示す図
である。
である。
【図40】iノードリストを説明する図である。
【図41】UNIXにおける階層的ファイル管理を説明
する図である。
する図である。
【図42】iノードにおける記録処理を説明するフロー
チャートである。
チャートである。
【図43】図42に続くフローチャートである。
【図44】iノードにおける再生処理を説明するフロー
チャートである。
チャートである。
【図45】iノードにおける消去処理を説明するフロー
チャートである。
チャートである。
【図46】図45に続くフローチャートである。
【図47】ミニディスクの構成を説明する図である。
【図48】ミニディスクにおけるUTOCセクタ0を説
明する図である。
明する図である。
【図49】ミニディスクにおける記録処理を説明するフ
ローチャートである。
ローチャートである。
【図50】ミニディスクにおける再生処理を説明するフ
ローチャートである。
ローチャートである。
【図51】ミニディスクにおける消去処理を説明するフ
ローチャートである。
ローチャートである。
1 データ記録媒体 2 媒体駆動部 3 メモリ 4 CPU 5 データ入力部 6 データ出力部
Claims (17)
- 【請求項1】 多数のブロックに区分した領域にファイ
ルを記録し、再生するようにした記録媒体のファイルを
管理するファイル管理方法において、 前記記録媒体に、前記ブロックの使用状態を表す使用情
報を記録するブロック管理領域を形成するとともに、前
記ファイルの記録に使用された前記ブロックに関するイ
ンデックス情報を記録するインデックス領域とを形成
し、 前記インデックス領域に、前記ファイルを関連づける関
連情報を記録することを特徴とするファイル管理方法。 - 【請求項2】 前記関連情報は、前記ファイルをグルー
プに分類して管理するグループタグを含むことを特徴と
する請求項1に記載のファイル管理方法。 - 【請求項3】 前記関連情報は、親の前記ファイルを特
定する番号を記録するインデックスタグを含むことを特
徴とする請求項1に記載のファイル管理方法。 - 【請求項4】 前記関連情報は、連続する前記インデッ
クス領域を特定する情報を記録するリンクタグを含むこ
とを特徴とする請求項1または3に記載のファイル管理
方法。 - 【請求項5】 前記関連情報は、前記リンクタグに連続
する前記インデックス領域を特定する情報が記録されて
いるか否かを表すリンクフラグをさらに含むことを特徴
とする請求項4に記載のファイル管理方法。 - 【請求項6】 前記関連情報は、1つの前記ファイルを
管理する複数の前記インデックス領域のうち、先頭のイ
ンデックス領域であるか否かを表す拡張フラグをさらに
含むことを特徴とする請求項1,3または4に記載のフ
ァイル管理方法。 - 【請求項7】 複数の前記インデックス領域に記録され
た情報によりインデックスページを形成し、 前記インデックスページの1ページ分の情報を記憶する
ことができるページバッファメモリを複数ページ分設
け、 前記ページバッファメモリを管理する情報を記憶するペ
ージタグを形成し、 前記ページタグに、前記インデックスページを特定する
番号、前記ページバッファメモリを指定するポインタ、
前記ページバッファメモリの内容が更新されたか否かを
表す更新情報の少なくとも1つを記録することを特徴と
する請求項1,4または5に記載のファイル管理方法。 - 【請求項8】 前記記録媒体に、前記インデックスペー
ジにおける未使用インデックス領域の数を表すページア
カウントを記録するページアカウント領域を形成するこ
とを特徴とする請求項7に記載のファイル管理方法。 - 【請求項9】 前記記録媒体のページアカウント領域よ
り読み出した前記ページアカウントを記憶するページア
カウントテーブルをメモリに形成することを特徴とする
請求項8に記載のファイル管理方法。 - 【請求項10】 前記インデックス領域には、グループ
タグ、インデックスタグ、属性コード、タイムスタン
プ、ファイルサイズおよびエクステント記述子の少なく
とも1つを有するインデックスブロックを記録すること
を特徴とする請求項1に記載のファイル管理方法。 - 【請求項11】 前記インデックスブロックは、リンク
された一連の前記インデックスブロックの先頭の前記イ
ンデックスブロックに適用される基本型フォーマット
と、他の前記インデックスブロックに続く前記インデッ
クスブロックに適用される拡張型フォーマットとにより
構成されていることを特徴とする請求項10に記載のフ
ァイル管理方法。 - 【請求項12】 複数の前記インデックスブロックによ
りインデックスページを形成し、 前記記録媒体に、前記インデックスページにおける未使
用の前記インデックスブロックの数を表すページアカウ
ントを記録するページアカウント領域を形成することを
特徴とする請求項11に記載のファイル管理方法。 - 【請求項13】 前記基本型フォーマットのインデック
スブロックは、前記ページアカウントから検索した2以
上の未使用インデックスブロックが存在する前記インデ
ックスページに記録することを特徴とする請求項12に
記載のファイル管理方法。 - 【請求項14】 前記拡張型フォーマットのインデック
スブロックを記録する前記インデックスページは、1つ
前の前記拡張型フォーマットのインデックスブロックま
たは基本型フォーマットの前記インデックスブロックが
属する前記インデックスページの前記ページアカウント
から昇順に検索することを特徴とする請求項12または
13に記載のファイル管理方法。 - 【請求項15】 前記インデックスブロックには、前記
属性コードとして、ディレクトリファイルであるか否か
を表すコードを記録し、 前記ディレクトリファイルのデータとして子ファイルの
インデックス番号を記録し、 前記子ファイルの前記インデックスブロックには、前記
インデックスタグとして、前記ディレクトリファイルの
インデックス番号を記録することを特徴とする請求項1
0に記載のファイル管理方法。 - 【請求項16】 前記ディレクトリファイルのデータと
して、前記子ファイルのインデックス番号とともに、前
記子ファイルの名称を記録することを特徴とする請求項
15に記載のファイル管理方法。 - 【請求項17】 前記属性コードは、複数の種類の前記
ディレクトリファイルのいずれかを表す複数ビットのコ
ードであることを特徴とする請求項15または16に記
載のファイル管理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6055376A JPH07262059A (ja) | 1994-03-25 | 1994-03-25 | ファイル管理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP6055376A JPH07262059A (ja) | 1994-03-25 | 1994-03-25 | ファイル管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07262059A true JPH07262059A (ja) | 1995-10-13 |
Family
ID=12996776
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP6055376A Withdrawn JPH07262059A (ja) | 1994-03-25 | 1994-03-25 | ファイル管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH07262059A (ja) |
Cited By (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001011626A1 (en) * | 1999-08-03 | 2001-02-15 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for av data recording, and disk recorded by the method and apparatus |
| WO2005031610A1 (ja) * | 2003-09-25 | 2005-04-07 | Sony Corporation | 記録装置、再生装置、ファイル管理方法、ファイル管理方法のプログラム及びファイル管理方法のプログラムを記録した記録媒体 |
| KR100497365B1 (ko) * | 2002-09-17 | 2005-06-23 | 삼성전자주식회사 | 개선된 파일 시스템, 이에 적합한 기록 매체 및 파일액세스 방법 |
| JP2005267207A (ja) * | 2004-03-18 | 2005-09-29 | Ricoh Printing Systems Ltd | 固定ディスク装置のファイル制御におけるプログラム制御方法 |
| WO2007010826A1 (ja) * | 2005-07-15 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd. | データ記録装置、データ記録方法、データ記録プログラム、及びデータ記録プログラムを格納した記録媒体 |
| JP2010152440A (ja) * | 2008-12-24 | 2010-07-08 | Yokogawa Electric Corp | データ管理装置及び波形測定装置 |
| JP2011070687A (ja) * | 2005-08-26 | 2011-04-07 | Panasonic Corp | データ記録システム、データ記録方法およびデータ記録プログラム |
| US8738842B2 (en) | 2007-07-19 | 2014-05-27 | Samsung Electronics Co., Ltd. | Solid state disk controller and data processing method thereof |
| KR102278321B1 (ko) * | 2021-04-07 | 2021-07-16 | 김교봉 | Scada 소프트웨어에서 실시간 태그 데이터를 관리하는 장치 및 그 방법 |
| JP2023532567A (ja) * | 2020-06-30 | 2023-07-28 | 京▲東▼科技信息技▲術▼有限公司 | データ読み書き方法及び装置 |
-
1994
- 1994-03-25 JP JP6055376A patent/JPH07262059A/ja not_active Withdrawn
Cited By (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7327946B2 (en) | 1999-08-03 | 2008-02-05 | Matsushita Electric Industrial Co., Ltd. | AV data recording apparatus and method, and disk recorded by the same |
| US6873789B1 (en) | 1999-08-03 | 2005-03-29 | Matsushita Electric Industrial Co., Ltd. | AV data recording apparatus and method, and disk recorded by the same |
| WO2001011626A1 (en) * | 1999-08-03 | 2001-02-15 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for av data recording, and disk recorded by the method and apparatus |
| US7218844B2 (en) | 1999-08-03 | 2007-05-15 | Matsushita Electric Industrial Co., Ltd. | AV data recording apparatus and method, and disk recorded by the same |
| US7260317B2 (en) | 1999-08-03 | 2007-08-21 | Matsushita Electric Industrial Co., Ltd. | AV data recording apparatus and method, and disk recorded by the same |
| US7305175B2 (en) | 1999-08-03 | 2007-12-04 | Matsushita Electric Industrial Co., Ltd. | AV data recording apparatus and method, and disk recorded by the same |
| US7324740B2 (en) | 1999-08-03 | 2008-01-29 | Matsushita Electric Industrial Co., Ltd. | AV data recording apparatus and method, and disk recorded by the same |
| KR100497365B1 (ko) * | 2002-09-17 | 2005-06-23 | 삼성전자주식회사 | 개선된 파일 시스템, 이에 적합한 기록 매체 및 파일액세스 방법 |
| WO2005031610A1 (ja) * | 2003-09-25 | 2005-04-07 | Sony Corporation | 記録装置、再生装置、ファイル管理方法、ファイル管理方法のプログラム及びファイル管理方法のプログラムを記録した記録媒体 |
| JP2005267207A (ja) * | 2004-03-18 | 2005-09-29 | Ricoh Printing Systems Ltd | 固定ディスク装置のファイル制御におけるプログラム制御方法 |
| WO2007010826A1 (ja) * | 2005-07-15 | 2007-01-25 | Matsushita Electric Industrial Co., Ltd. | データ記録装置、データ記録方法、データ記録プログラム、及びデータ記録プログラムを格納した記録媒体 |
| JP2011070687A (ja) * | 2005-08-26 | 2011-04-07 | Panasonic Corp | データ記録システム、データ記録方法およびデータ記録プログラム |
| JP2011070688A (ja) * | 2005-08-26 | 2011-04-07 | Panasonic Corp | データ記録システム、データ記録方法およびデータ記録プログラム |
| US8028004B2 (en) | 2005-08-26 | 2011-09-27 | Panasonic Corporation | Data recording system, data recording method and data recording program |
| JP2012142020A (ja) * | 2005-08-26 | 2012-07-26 | Panasonic Corp | データ記録システム、データ記録方法およびデータ記録プログラム |
| US8732210B2 (en) | 2005-08-26 | 2014-05-20 | Panasonic Corporation | Data recording system, data recording method and data recording program |
| US8738842B2 (en) | 2007-07-19 | 2014-05-27 | Samsung Electronics Co., Ltd. | Solid state disk controller and data processing method thereof |
| JP2010152440A (ja) * | 2008-12-24 | 2010-07-08 | Yokogawa Electric Corp | データ管理装置及び波形測定装置 |
| JP2023532567A (ja) * | 2020-06-30 | 2023-07-28 | 京▲東▼科技信息技▲術▼有限公司 | データ読み書き方法及び装置 |
| US12189992B2 (en) | 2020-06-30 | 2025-01-07 | Jingdong Technology Information Technology Co., Ltd. | Method and apparatus for reading and writing data |
| KR102278321B1 (ko) * | 2021-04-07 | 2021-07-16 | 김교봉 | Scada 소프트웨어에서 실시간 태그 데이터를 관리하는 장치 및 그 방법 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| KR100704998B1 (ko) | 기록방법, 관리방법 및 기록장치 | |
| AU676063B2 (en) | Recording medium management method | |
| CN100456261C (zh) | 文件管理装置、文件管理方法 | |
| JP3355333B2 (ja) | コンパクトディスク記録装置とその方法 | |
| JPH05313980A (ja) | 情報記録方法 | |
| US20040107223A1 (en) | File management method | |
| JPH04141867A (ja) | ファイル管理方法 | |
| JPH07262059A (ja) | ファイル管理方法 | |
| JP4310120B2 (ja) | ユニバーサルディスクフォーマットファイルシステムのための情報制御ブロック追跡ストリームのためのシステムおよび方法 | |
| WO2001065374A1 (en) | File managing method and data recorder using the same, data reproducing apparatus, data recording/reproducing apparatus, and disk recorded by the file managing method | |
| JP4300669B2 (ja) | 記録方法および装置、ならびに、記録媒体 | |
| JP3762203B2 (ja) | コンパクトディスクメディアのデータの読み書き方法 | |
| JP4221959B2 (ja) | ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体 | |
| US6961812B2 (en) | Universal disk format volumes with variable size | |
| JPH11232838A (ja) | 光ディスク、光ディスク記録装置、及び光ディスク読取装置 | |
| KR20030019605A (ko) | 기록 방법, 기록 장치 및 기록 매체 | |
| JP2000021087A (ja) | データ記録方法 | |
| JP2001243102A (ja) | 記録装置および方法、ならびに、記録媒体 | |
| CN100370544C (zh) | 文件管理装置和文件管理方法 | |
| JP3521165B2 (ja) | ファイル管理システム及び方法 | |
| JP2774691B2 (ja) | ファイルシステム | |
| EP0927934A1 (en) | File managing device, file managing method, and recording medium stored with file managing program | |
| JPWO2004023483A1 (ja) | アクセス方法、アクセス装置および情報記録媒体 | |
| JP2001110169A (ja) | データ管理方法 | |
| JP2612589B2 (ja) | ディレクトリ検索方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20010605 |