JP2000200207A - 階層管理ファイル装置及びこれを具備した電子機器 - Google Patents

階層管理ファイル装置及びこれを具備した電子機器

Info

Publication number
JP2000200207A
JP2000200207A JP10343433A JP34343398A JP2000200207A JP 2000200207 A JP2000200207 A JP 2000200207A JP 10343433 A JP10343433 A JP 10343433A JP 34343398 A JP34343398 A JP 34343398A JP 2000200207 A JP2000200207 A JP 2000200207A
Authority
JP
Japan
Prior art keywords
file
information
cluster
hierarchy
area
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10343433A
Other languages
English (en)
Inventor
Takuya Igarashi
卓也 五十嵐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP10343433A priority Critical patent/JP2000200207A/ja
Priority to CN 99126631 priority patent/CN1254881A/zh
Publication of JP2000200207A publication Critical patent/JP2000200207A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 連続且つ高速記録再生を要する大サイズのフ
ァイルと離散的且つ小サイズのファイルを混在して効率
よく記録再生できる階層管理ファイル装置及びこれを具
備した電子機器を提供する。 【解決手段】 情報記録媒体の記録領域を領域602〜
610のクラスタに分割し、各クラスタを領域611〜
618で示すフラグメントにより再分割し、各クラスタ
の連鎖位置関係とクラスタに属するフラグメントの使用
状況を示すクラスタFATと、各フラグメントの連結情
報を示すフラグメントFATと、クラスタFATとフラ
グメントFATを統括するディレクトリエントリテーブ
ルとを参照して、情報記録媒体に階層的にファイルを記
録再生する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は階層管理ファイル装
置及びこれを具備した電子機器に関し、さらに詳しく
は、情報記録媒体の記録領域を複数種の記録単位長によ
り階層的に分割し、各階層の分割領域が、下位の階層の
複数の分割領域で構成され、ファイルを情報記録媒体
に、各階層の分割領域の単位で管理情報により階層管理
してファイル記録領域に分割して記録し、当該情報記録
媒体より、各階層の分割領域を管理情報により階層管理
してファイルを再生する階層管理ファイル装置及びこれ
を具備した電子機器に関する。
【0002】
【従来の技術】ハードディスクや光ディスク等、2次記
録装置を持つ情報処理装置では記録装置の記録領域をフ
ァイルとして読み書きできるように管理するファイル装
置という機構が実現されている。古くから大型計算機等
でも様々なファイル装置が考案、実用化されている
が、’79年頃から出現したパーソナルコンピュータと
言われる小型のコンピュータ機器でもフロッピーディス
クやハードディスクを管理するファイル装置が使用さ
れ、FAT(File Allocation Table )と呼ばれるファイ
ル配置管理テーブルを用いてこれを実現している。FA
Tはコンピュータ機器のみならず民生用産業用機器のフ
ァイル装置としても採用され、その構造が簡単であるた
め、パーソナルコンピュータや民生産業用機器のオペレ
ーティングシステムに組み込まれ使用されている。
【0003】図33はパーソナルコンピュータに用いら
れる磁気ディスクを示したものである。ブートセクタは
オペレーティングシステムを起動するためのロードプロ
グラムや後述するルートディレクトリの番号、前述した
FATの番号などが記録される領域である。また、ルー
トディレクトリの領域には、記録されているファイルの
ファイル名、ファイルサイズなどが記録される領域であ
る。FATは前述したようにファイル配置管理テーブル
であり、所望のファイルはルートディレクトリとFAT
により記録領域から読み出したり、書き込んだりするこ
とができる。
【0004】図34、図35、図36、を参照して、F
ATによるファイル装置の概要を説明する。図34に示
すように、情報記録媒体の記録領域(以下ボリュームと
いう)は主記録単位長(以下クラスタという)で分割さ
れ、各々のクラスタにはクラスタ番号が割り振られてお
り、情報はクラスタの単位で分割され記録、再生が行わ
れる。
【0005】ここで、以下に説明を続けるにあたり、後
述するクラスタ番号と、単に図面の説明を行う上での符
号とを混同しないように記載方法を明確にしておく。す
なわち、例えば、領域300のように記載した場合、領
域とは、一つのクラスタの記録される領域、複数のクラ
スタが記録される記録領域、あるいは、クラスタの記録
領域の部分を意味し、且つ、図面によりこれら記録領域
を示し、数値300は、単に、図面上での上述の記録領
域を示す符号を意味する。また、FATエントリー30
0と記載するときは、領域300がFATの構成単位で
あるエントリーの一つを構成していることを意味する。
【0006】クラスタは通常512バイトから32キロ
バイトのサイズになっている。ここでは512バイトと
する。例えば領域102のクラスタのクラスタ番号は
2、領域103のクラスタは3となる。また、領域10
1のシステム領域には記録領域全体情報が記録されてお
り、総クラスタ数やクラスタのサイズを知ることができ
る。
【0007】ファイル装置ではディレクトリと呼ばれる
管理領域にて複数のファイルを一まとめにして管理し、
そのディレクトリに属する各々のファイルの情報、例え
ばファイル名、作成日、ファイルサイズなどの情報を記
録している。
【0008】図35にディレクトリの構造を示す。これ
らディレクトリはファイルと同様にクラスタの単位で記
録される。ディレクトリはルートディレクトリからサブ
ディレクトリを参照されることで階層的になっており、
階層的にディレクトリをたどることにより、目的のファ
イルのディレクトリエントリに到達する。
【0009】図35の領域204のFILE2.DAT
はファイル名であり、このファイルのファイルサイズは
領域206のファイルサイズで示される通り2013バ
イトであり、さらに領域205にはファイルを構成する
クラスタの最初のクラスタの番号4が記録されている。
このクラスタ番号から次々にFATのチェーンをたどる
ことによりファイルを構成するすべてのクラスタに対し
て読み書きを行うことができる。
【0010】図36にはFATの構造を示す。FATの
各エントリーは図34に示された記録領域の各クラスタ
に対応しており、図36の(2)〜(12)で示したク
ラスタ番号の順に並んでいる。各FATのエントリには
そのファイルを構成する次のクラスタの番号が記録され
ている。例えば、図35のディレクトリエントリより示
されたFILE2.DATの最初のクラスタ4(クラス
タ番号が(4)のクラスタの意味、以下同様)のFAT
エントリ305の値は7となっており、次のクラスタは
(7)であることがわかる。次にクラスタ7のFATエ
ントリ308の値は11であり、クラスタ(11)のF
ATエントリ312の値は9であり、さらにクラスタ
(9)のFATエントリ310の値は65535であ
り、65535は特別な意味をもち、最終のクラスタで
あることを示す。
【0011】これらFATエントリのチェーンにより、
FILE2.DATは図34で示されるディスク記録領
域104のクラスタ4、領域107のクラスタ7、領域
111のクラスタ11、領域109のクラスタ9の4つ
のクラスタで構成されていることがわかる。一方、領域
206によるとファイルサイズは2013であるから、
この場合は1つのクラスタは512バイトであり、最終
のクラスタは477バイトのみ使用されていることにな
る(2013−512×3=477)。また、領域30
6、領域311、領域313のFATエントリの値は0
となっており、この値はクラスタが未使用なことを示
し、それに対応する領域105、領域110、領域11
2のクラスタ5、クラスタ10、クラスタ12は、ファ
イルのサイズが増えた場合、新規のファイルの場合の記
録領域として使用される。
【0012】
【発明が解決しようとする課題】このようにFATによ
る管理は構造が簡単であるが、その一方で以下の3つの
問題がある。 (1)クラスタが連続して使用されている場合でも、F
ATエントリを個々に参照しなければならないため、ク
ラスタが多い場合には、FATエントリの参照回数が増
え、ファイルをランダムアクセスする場合など効率が悪
い。
【0013】(2)ファイルアクセスを高速に行うには
できるだけ連続したクラスタにファイルのデータを配置
する方が良いが、空きクラスタも個々のFATエントリ
に対応するために、連続した空きクラスタを探すために
個々の空きクラスタを参照することになり、FATエン
トリの参照回数が増えること、及びファイルを構成する
エクステント(連続したクラスタの単位)ができるだけ
分断(フラグメンテーション)されないように連続クラ
スタに配置するには効率が悪い。
【0014】(3)記録装置の大容量化に伴いFATの
サイズ自体が大きくなり、FATエントリを参照するた
めのCPUの処理速度、メモリ容量を多く必要とし、こ
のため、フラグメンテーションが起きない様にファイル
の配置を行おうとしてもハードウェアの使用効率が悪
い。
【0015】(4)技術の進歩によりコンピュータ機器
の扱うデータも多様になっており、ワードプロセッサの
文章など数キロバイトのファイルから、オーディオ、ビ
デオのデータを含んだ数10メガ、数メガ、さらには数
ギガの大きさのファイルまで同一の情報記録媒体に記録
する必要がでてきている。様々なサイズのファイルが存
在することはフラグメンテーションを起きやすくし、ク
ラスタのサイズを小さくすることによって記録領域を有
効に使用することができるが、ファイルが分断されて配
置された場合はデータの転送速度が低下するため、AV
データの再生、録音をリアルタイムでできないなどの影
響を与える。
【0016】図37にフラグメンテーションによるデー
タ転送の低下の例を示す。領域401、領域403、4
05、407のクラスタは分断されて配置されているた
め、データ読み出しの他に、領域402,404,40
6で示されるシークの時間が必要とされ、このシーク時
間がデータ転送の低下を引き起こす。
【0017】従来FATのエントリを32ビットにして
多くのクラスタを管理できる拡張されたFATを実装し
て、記録装置の大容量化に対応をしているが、上記
(1)、(2)、(3)、(4)の問題に関しては不充
分であり、また、クラスタのサイズを小さくすることに
より、情報記録媒体の記録領域を有効に使う工夫もなさ
れているが、逆に、この場合はAVファイル等大きなサ
イズのファイルはフラグメンテーションは起きやすくな
る。そこで、フラグメンテーションに関しては、いわゆ
るディフラグメンテーションというソフトウェアにて、
ファイルを記録後クラスタのデータを再配置、再記録す
ることによって対処している。
【0018】本発明はこのような状況を鑑みてなされた
ものであり、簡易なFATの管理方法を採用しつつ、大
きな割り当て単位のクラスタFATと、そのクラスタを
さらに分割した小さな割り当て単位のフラグメントFA
Tで階層的に記録領域を管理することにより上記
(1)、(2)、(3)、(4)の問題を解決し、フラ
グメンテーションを効率的に防ぐことができ、さまざま
なサイズのファイルを効率良く記録でき、AVデータな
どのリアルタイム性を保証する階層管理ファイル装置及
びこれを具備した電子機器を提供することを課題とす
る。
【0019】
【課題を解決するための手段】課題を達成するために、
本発明の階層管理ファイル装置及びこれを具備した電子
機器では、情報記録媒体の記録領域を複数種の記録単位
長により階層的に分割し、各階層の分割領域が、下位階
層の複数の分割領域で構成され、ファイルを情報記録媒
体に各階層の分割領域の単位で、第1の管理情報及び第
2の管理情報により階層管理してファイル記録領域に分
割記録し、各階層の分割領域を第1の管理情報及び第2
の管理情報により階層管理してファイルを情報記録媒体
より再生する階層管理ファイル装置において、各階層の
分割領域の連結情報と使用情報とを階層別に有する第1
の管理情報と、ファイルの属性、ファイルの記録再生に
使用される階層の種類及びファイルの種類、及び記録再
生の始まる最初の階層の分割領域の位置をファイル毎に
有する第2の管理情報とが記録再生される情報記録媒体
と、各階層の第1の管理情報及び第2の管理情報を参照
して、ファイルを各階層の分割領域に記録する場合は、
下位階層の第1の管理情報を参照して、下位階層の分割
領域の割り当てを行い、空いている分割領域がない場合
は、上位階層の第1の管理情報を参照し、再度、当該上
位階層に属する下位階層の第1の管理情報を検索し、フ
ァイルの分割領域への割り当てを可能とし、ファイルの
特性に応じて階層の種類を使い分けて情報記録媒体上
に、ファイルを記録再生する制御を行うソフトウェア制
御手段を具備したことを特徴とする。
【0020】また、本発明の階層管理ファイル装置の望
ましい形態としては下記(1)〜(13)である。 (1) ソフトウェア制御手段は、第1の管理情報と、
第2の管理情報と、ファイル記禄領域とを、階層別に昇
順番号を付された分割領域に記録再生し、該昇順番号に
より分割領域を識別し得るものである。
【0021】(2)ソフトウェア制御手段は、第2の管
理情報が、同一の階層の分割領域に記録再生され、第2
の管理情報が、少なくとも、ファイルの属性を示す第1
の情報と、ファイルの記録再生に使用される階層の種類
及びファイルの種類を示す第2の情報と、記録再生の始
まる最初の階層の分割領域の位置を示す第3の情報とで
構成され、ファイルを前記第2の情報により階層ファイ
ルでないと識別するとき、第3の情報と識別された階層
の第1の管理情報とを参照して、当該ファイルを記録再
生し得るものである。
【0022】(3)ソフトウェア制御手段は、第2の管
理情報が、同一の階層の分割領域に記録再生され、第2
の管理情報が、少なくとも、ファイルの属性を示す第1
の情報と、ファイルの記録再生に使用される階層の種類
及びファイルの種類を示す第2の情報と、記録再生の始
まる最初の階層の分割領域の位置を示す第3の情報とで
構成され、ファイルが第2の情報により、親ファイルと
子ファイルで構成される階層ファイルであると識別した
とき、親ファイルの階層の分割領域の最初の位置を示す
第3の情報と一致する子ファイルの第2の情報を検索し
子ファイルを識別し、子ファイルの第3の情報により、
子ファイルの記録再生の始まる最初の階層の分割領域の
位置を識別し、識別した該子ファイルの階層の第1の管
理情報を参照して、子ファイルの使用する下位階層の分
割領域は必ず親ファイルの使用する上位階層の分割領域
に含まれるように、ファイルを記録再生し得るものであ
る。
【0023】(4)ソフトウェア制御手段は、第1の管
理情報が当該階層の分割領域の前記連結情報及び使用情
報を示す第4の情報と下位階層の分割領域の使用状況を
示す第5の情報で構成され、第4の情報により、当該階
層の任意の分割領域の次にファイルを記録再生すべき分
割領域を識別して、ファイルに割り当てられた分割領域
を連続的に記録再生でき、且つ第5の情報により下位階
層の分割領域をファイルの記録領域に割り当てるか否か
を制御し得るものである。
【0024】(5)下位階層に属する第1の管理情報は
当該下位階層の分割領域間の連結情報及び使用情報と、
当該下位階層の属する上位階層の分割領域間の連結情報
及び使用情報の情報を有するものである。
【0025】(6)第1の管理情報中にファイルの終了
を示す情報を階層別に有するものである。
【0026】(7)ソフトウェア制御手段が、情報記録
媒体の初期化において、最大の記録単位長により分割さ
れた最上位階層の分割領域のみを割り当てるものであ
る。
【0027】(8)ソフトウェア制御手段が、下位階層
の分割領域に前記ファイルの連続した複数の情報単位を
割り当て得るものである。
【0028】(9)ソフトウェア制御手段は、新規の分
割領域をファイル用に確保した場合及び新規の分割領域
にファイルが記録されたときは、第1の管理情報中の、
当該階層の分割領域の連結情報及び使用情報を示す第4
の情報と下位階層の分割領域の使用状況を示す第5の情
報とを階層別に更新するものである。
【0029】(10)ソフトウェア制御手段は、新規の
分割領域をファイル用に確保した場合及び新規の分割領
域にファイルを記録したときは、ファイルの属性を示す
第1の情報と、第2の管理情報中の、ファイルの記録再
生に使用される階層の種類及びファイルの種類を示す第
2の情報と、記録再生の始まる最初の階層の分割領域の
位置を示す第3の情報とを更新するものである。
【0030】(11)ソフトウェア制御手段は、ファイ
ルの記録において、第1の管理情報と第2の管理情報を
新規の分割領域を割り当てて更新する場合、第1の管理
情報と第2の管理情報を参照し、ファイルが記録された
最新の階層の分割領域の位置を基準として、最新の階層
の分割領域が属する最上位階層の分割領域の第1の管理
情報を参照し、未使用の最上位階層の分割領域を情報記
録媒体全体にわたり検索し、次々に階層をさげ、未使用
の最上位階層の分割領域の検索と同様の検索を行い、最
新の階層の分割領域の位置に最も近い分割領域にファイ
ルの新規に割り当てられる情報を記録するものである。
【0031】(12)ソフトウェア制御手段は、階層フ
ァイルの記録において、第1の管理情報と第2の管理情
報を新規の分割領域を割り当てて更新する場合、第1の
管理情報と第2の管理情報を参照し、ファイルが記録さ
れた最新の階層の分割領域の位置を基準として、最新の
階層の分割領域が属する最上位階層の分割領域の中、親
ファイルが属する第1の管理情報を参照し、親ファイル
に属する未使用の最上位階層の分割領域を情報記録媒体
全体にわたり検索し、次々に階層をさげ、親ファイルに
属する未使用の最上位階層の分割領域の検索と同様の検
索を行い、最新の階層の分割領域の位置に最も近い分割
領域に階層ファイルの新規に割り当てられる子ファイル
の情報を記録するものである。
【0032】(13)第1の管理情報が、各階層の分割
領域の使用情報と下位階層の分割領域の使用状況を階層
別にもち、各階層の分割領域の連結情報を、第2の管理
情報、及び第1の管理情報と前記第2の管理情報とは別
の記録領域に設けられた第3の管理情報の何れか一方に
有するものである。
【0033】前述した作用について以下(1)〜(3)
までに記す。 (1)情報記録媒体の記録領域を複数の記録単位長によ
り階層的に分割し、各階層の分割領域が、下位階層の複
数の分割領域で構成され、第1の管理情報と第2の管理
情報を参照してソフトウェア制御手段によりファイルを
記録再生できるため、例えば、映像や音声のような連続
して再生する必要のあるファイルには大きな記録単位長
で分割された分割領域を割り当てることにより、分割領
域の数を少なくでき、且つ第1の管理情報の参照回数を
少なくできる。また、文章のような情報量が小さく、離
散的に再生してもよいファイルは小さな記録単位長で分
割された分割領域を割り当てることができ情報記録媒体
の記録領域を有効に利用することができる。
【0034】(2)ファイルのアクセスを高速に行うに
はできるだけ連続した分割領域にファイルの個々の情報
を配置する方が良い。情報記録媒体の記録領域を複数の
記録単位長により階層的に分割し、各階層の分割領域
が、下位階層の複数の分割領域で構成され、上位階層の
分割領域が下位階層の分割領域の使用状況を示す情報を
有していることにより、ファイルの分割領域への割り当
てに際して、未使用の分割領域を階層的に検索すること
ができ、フラグメンテーションの発生を押さえ、まとま
った分割領域にファイルを高速で記録することができ、
且つ記録されたファイルの再生も高速に行うことができ
る。
【0035】(3)映像や音声のような連続して再生す
る必要のあるファイルには大きな記録単位長で分割され
た分割領域を割り当て、文章のような情報量が小さく、
離散的に再生してもよいファイルは小さな記録単位長で
分割された分割領域を割り当てることにより、第1の管
理情報の情報量も格段少なくでき、また、(1)及び
(2)で述べたことも併せて、本発明の階層管理ファイ
ル装置を具備した電子機器に使用するハードウェア装置
の負荷を軽減することができる。
【0036】
【発明の実施の形態】以下では、本発明の階層管理ファ
イル装置及びこれを具備した電子機器の一例として、前
述のクラスタを上位階層の分割領域とし、後述するフラ
グメントを下位階層の分割領域とし、上位階層の第1の
管理情報としてクラスタFATを用い、下位階層の第1
の管理情報としてフラグメントFATを用い、第2の管
理情報として、クラスタで構成されるディレクトリエン
トリテーブルを用いた、2階層の階層管理ファイル装置
及びこれを具備した電子機器について説明するが、本発
明はこれに限るものではなく、一般の複数階層の階層管
理ファイル装置及びこれを具備した電子機器に適用可能
である。
【0037】図1に本発明の階層管理ファイル装置及び
これを具備した電子機器の実施の形態例の概略構成を示
す。CPU501はメモリ502に記録されたプログラ
ムに従ってシステムの制御を行う。メモリ502として
は高速の半導体メモリを使用してもよい。プログラムは
あらかじめ、図を省略するROM( Read Only Memory
)に記録されていてもかまわないが、2次記録装置50
3、ネットワークドライバ504を介して、また、チュ
ーナ509などからメモリ502にプログラムを転送し
て実行しても構わない。2次記録装置503はハードデ
ィスクや交換可能な光ディスクまたはFlashROM
などの不揮発性メモリが用いられる。2次記録装置50
3中の情報記録媒体に記憶されたファイルはメモリ50
2に保存されたプログラムに従って本発明の階層管理フ
ァイル装置510により管理される。請求項1に記載の
ソフトウェア制御手段はCPU501、メモリ502で
構成される。本発明の階層管理ファイル装置510は、
2次記録装置503、ソフトウェア制御手段及び情報記
録媒体で構成される。
【0038】ネットワークドライバ504は符号505
で示したIEEE1394やEthernetなどのネ
ットワークをサポートし、2次記録装置503に記録さ
れるファイルのデータの転送または2次記録装置503
から読み出されたファイルデータの転送に用いられる。
また、これらデータは一旦、メモリ502のプログラム
に従ってCPU501またはバス506に接続された特
殊なハードウェアにより圧縮、伸張などのデータ加工を
した後、ネットワークへの転送をすることも可能であ
る。
【0039】赤外線送受信装置507はユーザからのリ
モコン操作によりコマンドを受信してメモリ502に記
録されたプログラムの動作を制御して対話的な動作を行
うことが可能である。画像音声入出力装置508はテレ
ビまたはモニターなどの表示装置に接続され、メモリ5
02に保存されたプログラムに従って、グラフィカルユ
ーザインターフェース(図示せず)や2次記録装置50
3、ネットワークドライバ504から転送された画像、
音声を出力する。
【0040】また、画像音声入出力装置508はビデオ
カメラやビデオデッキなどの機器と接続され、ビデオデ
ッキからの音声映像の取り込みおよびビデオデッキへの
記録などが行える。チューナ509は衛星放送のアンテ
ナや地上波テレビ放送のアンテナと接続され、受信した
データは画像音声入出力装置508に送られ再生され
る。
【0041】また、これらデータは2次記録装置503
に保存したのち、再生することも可能である。画像音声
入出力装置508、チューナ509が扱う入出力信号は
アナログでもデジタルでも構わないが、アナログの場合
は画像音声入出力装置508,チューナ509において
デジタルデータに変換され、デジタルデータは圧縮、デ
ータ変換などが行われ、図1の本発明の階層管理ファイ
ル装置及びこれを具備した電子機器(以下システム構成
という)の中で処理される。
【0042】CPU501,メモリ502、2次記録装
置503、ネットワークドライバ504、赤外線送受信
装置507、画像音声入出力装置508、チューナ50
9はバス506に接続され、システムを構成する。な
お、図1のシステム構成は一例であって、必要に応じて
ネットワークドライバ504、赤外線送受信装置50
7、映像音声入出力装置508、チューナ509の中、
何れかがないシステム構成も可能である。例えば、2次
記録装置503もなしで、ネットワークドライバ504
などを介して遠隔のシステムに接続された2次記録装置
503にファイル装置により記録することも可能であ
る。また、用途に合わせて他のデバイスが接続されたシ
ステム構成も取りうる。
【0043】図2に本発明の階層管理ファイル装置51
0によるボリューム管理の方法を示す。従来のFATに
よるファイル装置と同様に、2次記録装置503の記録
領域であるボリュームはあるクラスタ(固定サイズ)単
位に分割して管理され、各々のクラスタには連続したク
ラスタ番号(例では2以上の整数)が割り振られる。
【0044】さらに本発明においてはクラスタは、さら
に小さなサイズのフラグメント単位に分割して管理さ
れ、クラスタ内のフラグメントには連続したフラグメン
ト番号が割り振られる。例ではクラスタのサイズを64
キロバイトとし、フラグメントのサイズを512バイト
とし、クラスタは128個のフラグメントに分割され、
フラグメント番号が0から127まで各々のフラグメン
トに割り振られている。
【0045】本発明の階層管理ファイル装置510では
クラスタを単位としたクラスタFATと、フラグメント
を単位としたフラグメントFATが用いられる。クラス
タFATにはボリュームの全クラスタ数のFATエント
リが記録される。フラグメントFATには、全クラスタ
数とクラスタ内のフラグメントの数の積の数だけのFA
Tエントリが記録される。
【0046】FATは前述したように、クラスタ番号よ
りそれに対応したクラスタエントリを容易に知ることが
できる構造を取る。FATは2次記録装置503中のク
ラスタに記録され、システム領域からその場所(クラス
タ番号)が示されている。効率化のため、FAT(1
部)はメモリ502に読み込まれ、必要に応じて2次記
録装置503に再度、書き込まれ更新される。
【0047】図3にクラスタFATのエントリ形式を示
す。クラスタFATのエントリには、対応するクラスタ
の使用方法によって、以下の6つの形式で32ビットの
値が記録される。 1)未使用のクラスタ 2)フラグメント単位で使用中のクラスタ 3)フラグメント単位で使用中のクラスタ(すべてのフ
ラグメントを使用中) 4)ファイルに割り当て済みのクラスタ 5)ファイルに割り当て済みのクラスタ(階層ファイル
にてフラグメント単位で使用中)
【0048】1)の未使用のクラスタの場合は、領域7
01の上位25ビットに識別子0の値が記録される。こ
のクラスタは使用されておらず、2)から5)の形式に
割り当て可能であることを示す。ボリュームの初期化時
にはすべてのクラスタFATのエントリは未使用の状態
に初期化される。
【0049】2)のフラグメント単位で使用中の場合
は、領域702の上位25ビットは識別子0の値が記録
され、領域703の下位7ビットにはそのクラスタ中の
使用中のフラグメント数が記録される。使用中フラグメ
ントの数により、フラグメントFATを参照することな
しに、そのクラスタの使用状況が判断でき、その情報を
もとに効率良くフラグメントをファイルに割り当てるこ
とができる。たとえば、割り当てに必要なフラグメント
が多ければ、できるだけ使用中フラグメントが多いクラ
スタを使用することにより、ファイルのフラグメントを
まとまった領域に記録することができ、データのアクセ
スを高速化できる。
【0050】3)の場合は、2)の場合で、且つ、すべ
てのフラグメントが使用されていた場合であり、領域7
04の上位25ビットには識別子1の値が記録され、下
位7ビットには識別子0が記録される。
【0051】2)、3)の場合ともファイルはフラグメ
ントを単位としてボリュームの記録領域が割り当てら
れ、ファイルを構成するすべてのフラグメントはフラグ
メントFATのFATエントリにより連結されている。
【0052】4)のファイルに割り当て済みのクラスタ
の場合は、領域706の上位25ビットにファイルを構
成する次のクラスタのクラスタ番号が記録され、領域7
07の下位7ビットには識別子0が記録される。また、
4)の場合で、且つ、次のクラスタがない(つまりファ
イルの最終クラスタ)場合は、領域706の上位25ビ
ットには、例えば、識別子33,554,431が記録
される。
【0053】4)の場合、ファイルはクラスタを単位と
してボリュームの記録領域が割り当てられており、ファ
イルを構成するすべてのクラスタはクラスタFATのF
ATエントリにより連結されている。
【0054】5)の場合は、本発明の階層管理ファイル
装置510の適用効果を最もよく示すものであり、ファ
イルはクラスタを単位にボリュームの記録領域が割り当
てられるが、その割り当てられたクラスタはフラグメン
トに分割して、さらに、他のファイルに割り当てられ
る。これを階層ファイルといい、クラスタ単位で管理さ
れるファイルを親ファイル、その親ファイルのクラスタ
中のフラグメントを単位として管理されるファイルを子
ファイルと呼ぶ。この階層ファイルを使用することによ
り、子ファイルをまとまった記録領域に効率良く記録す
ることができ、複数の子ファイルを連続して読み出し書
きこみする場合などで、アクセス時間を短縮することが
できる。
【0055】また、フラグメントの割り当て方法、たと
えば、連続する4つのフラグメントを単位にファイルに
割り当てるようにクラスタを使用し、そのクラスタのま
とまりを親ファイルとして管理するなどの方法も取るこ
とができる。
【0056】図3の領域708の上位25ビットには
4)の場合と同様に親ファイルの次のクラスタの番号が
記録され、領域709の下位7ビットにはクラスタ中の
フラグメントの使用中の数が記録される。クラスタのフ
ラグメントがすべて使用されていた場合は領域709の
下位7ビットには0の値が記録される。領域709の下
位7ビットの値が0の場合は、4の場合と同じ形式のた
め4)の場合と5)の場合を識別できないが、ディレク
トリにてそのファイルが階層ファイルであるか否かを判
断できるようになっている。また、フラグメントFAT
のエントリを調べることによりクラスタとして使用され
ているか否かが分かるため階層ファイルであるか否か判
断できる。
【0057】図4にフラグメントFATのエントリ形式
を示す。フラグメントFATのエントリには対応するフ
ラグメントの使用状態に従って、下記の3つの形式で、
32ビットの値が記録される。 1)未使用のフラグメント 2)クラスタ単位で使用中のフラグメント 3)ファイルに割り当て済みのフラグメント
【0058】1)の場合は、そのフラグメントを含むク
ラスタがフラグメント単位で使用されている、つまり、
図3のクラスタFATのエントリ形式の2),3),
5)の場合で、且つ、そのフラグメントがファイルに割
り当てられていない未使用のフラグメントであることを
示す。領域801の32ビットには識別子0が記録され
る。
【0059】2)の場合は、そのフラグメントを含むク
ラスタがフラグメント単位で使用されていなく、クラス
タを単位として使用されている場合、つまり、図3のク
ラスタFATエントリ形式の1),4)の場合で、その
クラスタはクラスタFATにより管理されていることを
示す。
【0060】領域802の上位25ビットには識別子1
が記録され、領域803の下位7ビットには識別子0が
記録される。そのクラスタに属するすべてのフラグメン
トのFATエントリは図4の2)の形式を取る。ボリュ
ームの初期化時にはすべてのクラスタはクラスタ単位で
使用されており、すべてのフラグメントFATのエント
リはクラスタ単位で使用中のフラグメントとして初期化
される。この初期化の件は請求項8を具現化した一例を
示す事例である。
【0061】3)の場合は、1)の場合と同様にクラス
タはフラグメント単位で使用されており、且つ、そのフ
ラグメントはファイルに割り当てられている場合を示
す。フラグメントFATのエントリにはファイルを構成
する次のフラグメントの位置が記録され、領域804の
上位25ビットには次のフラグメントが属するクラスタ
の番号、下位7ビットにはそのクラスタ内でのフラグメ
ントを示すフラグメント番号が記録される。
【0062】次に、上述のクラスタFAT及びフラグメ
ントFATのエントリ形式を使用して本発明の階層管理
ファイル装置510の動作の事例を図5を参照して説明
する。FATエントリの値は32ビットであり、説明の
便宜のため、上位25ビットと下位7ビットをカンマで
区切って表現し、以下、数値の後ろにhが付くことによ
り16進数で表す。
【0063】図5(a)のディレクトリには領域901
のFILE1.DAT、領域905のFILE2.DA
T、領域909のFILE3.DAT、領域913のF
ILE4.DAT,領域917のFILE5.DAT,
領域921のFILE6.DAT,領域925のFIL
E7.DAT,領域929のFILE8.DATが記録
されている。
【0064】このディレクトリはファイルと同様、ボリ
ューム内のクラスタ、または、フラグメントに記録され
ている。また、ディレクトリ内には階層ディレクトリの
下位のディレクトリ、サブディレクトリが記録され、シ
ステム領域から示されたルートディレクトリより階層デ
ィレクトリをたどることにより目的のファイルのディレ
クトリエントリを検索することができる。
【0065】ディレクトリエントリは各々のファイルに
対して、ファイル情報の属性を示すファイル名(領域9
01、905、909、913、917、921、92
5、929)、アロケーション方法(領域902、90
6、910、914、918、922、926、93
0)、最初の階層の分割領域であるファイルの最初の位
置(領域903、907、911、915、919、9
23、927、931)、ファイルサイズ(領域90
4、908、912、916、920、924、92
8、932)のフィールドなどをもつ。ファイル名のフ
ィールドには、例えば、256文字分(256バイト)
が割り当てられる。上述したファイル名及びファイルサ
イズは請求項1に記載したファイルの属性を具現化した
事例であり、ファイルの最初の位置は同具現化した最初
の階層の分割領域の位置の事例である。また、前述した
ように図5(a)のディレクトリエントリテーブルは請
求項1に記載の第2の管理情報を具現化した事例であ
る。
【0066】アロケーションの方法のフィールドには4
バイトが割り当てられる。 値が00000000hの
場合はファイルはクラスタ単位として割り当てられてい
ることを示し、値が00000001hの場合はファイ
ルはフラグメントを単位として割り当てられていること
を示す。また、値がFFFFFFFFhの場合は階層フ
ァイルの親ファイルであることを示し、上記の値以外の
場合は階層ファイルの子ファイルであることを示し、親
ファイルの開始クラスタの番号が記録される。上述の0
0000000hや00000001hによりクラスタ
単位かフラグメント単位かを示すことは請求項1に記載
の階層の種類の情報を具現化した事例である。また、上
述のFFFFFFFFhは同記載のファイルの種類の情
報を具現化した事例である。
【0067】ファイルの最初の位置のフィールドには4
バイトが割り当てられる。ファイルがクラスタ単位で割
り当てられている場合は図3の4)の形式、ファイルが
フラグメント単位で割り当てられている場合は、図4の
3)の場合の形式で、ファイルの最初の位置を示す。フ
ァイルサイズのフィールドには8バイトの値が割り振ら
れ、ファイルサイズが記録される。
【0068】図5(b)はクラスタFATの例であり、
領域933〜領域964に、それぞれのクラスタに対応
したFATエントリが記録される。領域933、領域9
34で示した領域のFATエントリは予約されており、
FATであることを示す識別子、バージョンなどが記録
される。すなわち、クラスタFATのエントリはクラス
タ番号2から始まる。上述のクラスタFAT及び後述の
フラグメントFATは、請求項1に記載の第1の管理情
報を具現化した事例である。
【0069】図5(b)の例では、図1において、2次
記録装置503のボリュームの容量を1ギガバイト、ク
ラスタサイズを64キロバイトにすると、2次記録装置
503は、16,384個のクラスタに分割される。各
クラスタエントリは32ビット(4バイト)の記録領域
を持ち、領域935のクラスタ番号2のFATエントリ
より昇順に配置され(領域935,936,937,9
38,939,940,941,の順、クラスタ番号は
この順に対応して、2,3,4,5,6,7,8とな
る)、クラスタFATは約64キロバイトのサイズとな
る。クラスタFATもファイルと同様にボリュームのク
ラスタ、またはフラグメントに記録され、その位置はシ
ステム領域から示される。
【0070】図5(c)はフラグメントFATの例であ
り、フラグメントFATのエントリは対応するクラスタ
毎にまとまって配置され、すべてのクラスタに対するフ
ラグメントFATのエントリで構成されている。図5
(c)の例では、フラグメントのサイズを512バイト
にすると、クラスタは128個のフラグメントに分割さ
れる。各エントリは、クラスタ2、フラグメント番号0
のフラグメントに対するエントリ965からクラスタF
ATと同様な昇順に配置され、最初の128個のエント
リはクラスタ2に属する。以下、昇順に各クラスタに属
するフラグメントFATエントリが配置され、16,3
84個のクラスタに対するフラグメントエントリが配置
される。各エントリは32ビットであり、フラグメント
FATは合計8メガバイトのサイズになる。フラグメン
トFATもファイルと同様、ボリューム内のクラスタ、
または、フラグメントに記録され、その位置はシステム
領域から示される。フラグメントFAT及びクラスタF
ATのエントリが昇順番号を付されている件は請求項2
に記載した件を具現化した事例である。
【0071】図5(a)の領域901のFILE1.D
AT,領域905のFILE2.DAT、領域909の
FILE3.DATはクラスタ単位でファイルに割り当
てられた例である。アロケーション方法のフィールドで
ある領域902、領域906、領域910の値が000
00000hになっていることでクラスタ単位でアロケ
ーションされていることが分かる。
【0072】領域901のFILE1.DATのディレ
クトリエントリの領域903にはファイルの最初の位
置、すなわち、ファイルを構成する最初のクラスタの場
所が記録されている。領域903で示した上位25ビッ
トの値0000002hより最初のクラスタはクラスタ
番号2であることが分かる。
【0073】次に、クラスタFATのクラスタ番号2の
領域935のFATエントリの上位25ビットの値00
00004hより、次のクラスタのクラスタ番号は4で
あることが分かる。また、クラスタ番号4の領域937
には次のクラスタのクラスタ番号5が記録されており、
クラスタ番号5の領域938には、次のクラスタのクラ
スタ番号8が記録されており、クラスタ番号8の領域9
41には次のクラスタのクラスタ番号9が記録されてい
るというようにして、領域937、938、941,9
42,943,944,945,946,947,94
8,949,950、953,954のクラスタFAT
のエントリによりFATチェーンをたどり、最後に領域
955で示したエントリの上位25ビットの値が1FF
FFFFhであることから、このクラスタがファイルを
構成する最後のクラスタであることが分かる。1FFF
FFFhは請求項7に記載したファイルの終了を示す情
報を具現化した事例である。
【0074】上記のことより、FILE1.DATはク
ラスタ2、4、5、8、9、10、11、12、13、
14,15、16、17、20、21、22の合計16
個のクラスタより構成されていることが分かる。ディレ
クトリエントリの領域904のファイルサイズの値が
1、032、091バイトであり、最後のクラスタ22
は49,051バイトのみ使用されていることが分か
る。クラスタ単位で構成されたファイルのクラスタFA
Tエントリはすべて図3の4)の場合の形式をとる。
【0075】領域905のFILE2.DAT,領域9
09のFILE3.DATの場合も同様の方式によって
クラスタFATをたどることができ、FILE2.DA
Tはクラスタ7のみで構成され、FILE3.DATは
クラスタ23、クラスタ6によって構成されていること
が分かる。
【0076】領域913のFILE4.DAT,領域9
17のFILE5.DATはフラグメント単位でファイ
ルに割り当てられた例である。アロケーション方法のフ
ィールドの領域914及び領域918の値が00000
001hであることからフラグメント単位でアロケーシ
ョンされていることが分かる。
【0077】領域913のFILE4.DATのディレ
クトリエントリの領域915にはファイルを構成する最
初のフラグメントの場所が記録されている。領域915
の上位25ビットの値0000012h、下位7ビット
00hより、最初のフラグメントはクラスタ番号18:
フラグメント番号0であることが分かる。
【0078】図5(c)の最初のフラグメントのフラグ
メントFATのエントリのための領域969は、クラス
タ番号18:フラグメント番号0であり、フラグメント
FATの2176番目(クラスタの数(18−2)×フ
ラグメント数128+1)のFATエントリである。そ
の値の上位25ビットの値が0000012h、下位7
ビットが01hであり、次のフラグメントはクラスタ番
号18、フラグメント番号1であることが分かる。
【0079】次のフラグメントのFATエントリのため
の領域970、すなわち、クラスタ番号18:フラグメ
ント番号1は上位25ビットが0000012h、下位
7ビットが02hで、次のフラグメントはクラスタ番号
18:フラグメント番号2であることが分かる。このよ
うに、下位階層の分割領域のフラグメントが自分の階層
の連結情報及び使用情報と上位階層の分割領域であるク
ラスタとの連結情報及び使用情報を有することは請求項
6を具現化した事例である。
【0080】以下、クラスタ番号18、フラグメント番
号2のFATエントリ971、クラスタ番号18:フラ
グメント番号127のFATエントリ976のFATチ
ェーンをたどり、領域976のFATエントリの上位2
5ビットが1FFFFFFhであることからこのフラグ
メントがファイルを構成する最後のフラグメントである
ことが分かる。
【0081】上記の操作よりFILE4.DATは、ク
ラスタ番号18:フラグメント番号0、クラスタ番号1
8:フラグメント番号1、クラスタ番号18:フラグメ
ント番号2、クラスタ番号18:フラグメント番号12
7の4つのフラグメントより構成されており、領域91
6のファイルサイズの値が1581であることから領域
976の最後のフラグメントは1581バイト−512
バイト×3=45バイト使用されていることが分かる。
【0082】領域917のFILE5.DATの場合も
同様の方法でフラグメントFATのチェーンをたどるこ
とができ、領域919の最初のフラグメントの値より領
域977,領域978のエントリをたどり、ファイルは
クラスタ番号18:フラグメント番号3、クラスタ番号
19:フラグメント番号1の2つのフラグメントで構成
されていることが分かる。
【0083】上記のようにクラスタ18および19はフ
ラグメント単位でファイルのアロケーションに使用され
ているが、クラスタ18のクラスタFATのエントリ9
51の上位25ビットは0000000h、下位7ビッ
トは05hであり、このエントリは図3の2)の形式を
とり、このクラスタはフラグメント単位で使用されてい
ることを示している。
【0084】また、下位7ビットの値よりクラスタ中の
5つのフラグメントが使用中であることを示している。
クラスタ19のクラスタFATのエントリ952の上位
25ビットは0000000h、下位7ビットは01h
であり、クラスタ19中1つのフラグメントを使用中で
あることを示している。上述したFILE1.DAT〜
FILE5.DATの読み出しの動作は請求項3を具現
化した事例である。
【0085】領域921のFILE6.DATのファイ
ルのアロケーション方法のフィールド922の値がFF
FFFFFFhであることからFILE6.DATは階
層ファイルの親ファイルであることが分かり、また、領
域925のFILE7.DATの領域927のファイル
の最初の位置の値と、領域926のアロケーション方法
の値と、領域929のFILE8.DATの領域930
のアロケーション方法の値とが00000018hであ
り、領域921のFILE6.DATの領域923のフ
ァイルの最初の位置の値00000018hと一致する
ことから領域925のFILE7.DAT,領域929
のFILE8.DATは領域921のFILE6.DA
Tの子ファイルであることが分かる。
【0086】階層ファイルの親ファイルのFATチェー
ンをたどる方法は、通常のクラスタ単位のファイル割り
当てのファイルの場合と同じである。領域921のFI
LE6.DATの領域923のファイルの最初の位置の
値00000018hより、最初のクラスタの番号は2
4であることが分かる。
【0087】次にクラスタ24のクラスタFATのエン
トリ957の上位25ビット0000019hより次の
クラスタの番号25であることが分かる。さらに、クラ
スタ25のクラスタFATのエントリ958の上位25
ビットの値000002Ahより次のクラスタは番号2
6であることが分かり、最後にクラスタ番号26のクラ
スタFATのエントリ959の上位25ビットの値が1
FFFFFFhであることよりこのクラスタがファイル
を構成する最後のクラスタであることが分かる。
【0088】上記の操作により領域921のFILE
6.DATはクラスタ24、25、26の3つのクラス
タより構成されていることが分かる。階層ファイルの親
ファイルではすべてのクラスタのデータを使用したと見
なされ、領域924のファイルサイズは196,608
バイトになる。また、クラスタFATのエントリ95
7、958、959の下位の7ビットの値03h、03
h、02hより、それぞれのクラスタ内のフラグメント
はそれぞれ、3個、3個、2個使用されていることが分
かる。このように、上位階層であるクラスタが、自分の
連結情報及び使用情報を示す情報だけでなく、下位階層
であるフラグメントの使用状況を識別できることは請求
項5を具現化した事例である。
【0089】領域925のFILE7.DAT、領域9
29のFILE8.DATは階層ファイルの子ファイル
であり、親ファイルの領域921のFILE6.DAT
に割り当てられたクラスタをさらにフラグメント単位で
割り当てが行われる。階層ファイルの子ファイルの場合
も、フラグメントFATのチェーンのたどる方法は、上
記の通常のフラグメント単位で割り当てられたファイル
の場合と同じ方法である。
【0090】領域925のFILE7.DATの場合
は、領域927の最初のクラスタ番号24:フラグメン
ト番号0からフラグメントFATのエントリ981、9
83,991をたどることにより、ファイルはクラスタ
番号24:フラグメント番号0、クラスタ番号24:フ
ラグメント番号2、クラスタ番号26:フラグメント番
号2の3つのフラグメントから構成されていることが分
かる。
【0091】領域929のFILE8.DATの場合
も、同様に、領域931の最初のクラスタ番号24:フ
ラグメント番号1からフラグメントFATのエントリ9
82、985、986、987、990をたどることに
より、ファイルはクラスタ番号24:フラグメント番号
1、クラスタ番号25:フラグメント番号0、クラスタ
番号25:フラグメント番号1、クラスタ番号25:フ
ラグメント番号2、クラスタ番号26:フラグメント番
号1の5つのフラグメントから構成されていることが分
かる。上述したFILE6.DAT〜FILE8.DA
Tの読み出しの動作は請求項4を具現化した事例であ
る。
【0092】次に、以上説明した本発明の階層管理ファ
イル装置の動作の詳細を下記(1)〜(14)の順で、
図6〜32のフローチャートを参照して説明する。これ
らの動作は全て請求項1に記載のソフトウェア制御手段
によりなされる。 (1)ファイルの読み込み (2)クラスタ単位での読み込み (3)フラグメント単位での読み込み (4)ファイルの書き込み (5)クラスタ単位での書き込み (6)新規クラスタの取得 (7)検索範囲から新規クラスタを取得 (8)フラグメント単位の書き込み (9)新規フラグメントの取得 (10)検索範囲より新規フラグメントを取得 (11)クラスタから新規フラグメントを取得 (12)階層ファイルの新規フラグメントを取得 (13)新規ファイルの作成 (14)新規階層ファイルの子ファイルの作成
【0093】(1)ファイルの読みこみの説明 図6及び図7に"ファイルの読みこみ"のフローチャート
を示す。"ファイルの読みこみ"はS1000より開始さ
れる。ファイルのパス名:PathName(フローチャートに
示すPathNameというパラメータがファイルのパス名であ
ることを示す。以下同様の表記を行う)、ファイル内で
の読み込み開始位置のバイトオフセット:ByteOffset、
読み込むバイト数:ByteLength を与える。バイトオフ
セットはファイルの開始位置から読み込み開始位置まで
のバイト数であり、読み込み開始位置は各クラスタの開
始位置と一致しているとは限らない。
【0094】S1001にてPathNameから階層ディレク
トリをルートディレクトリよりたどり、そのファイルの
ディレクトリエントリを検索する。S1002にてファ
イルが存在しているか検査し、検索できた場合はS10
03に進み、できなかった場合はS1004にてエラー
の処理を行う。
【0095】S1003にてファイルのディレクトリエ
ントリよりアロケーション方法:AllocType、ファイル
の最初の位置(クラスタまたはフラグメントを示す):
Location、ファイルサイズ:FileSizeを読み取りメモリ
に保存する。
【0096】S1005にてByteOffset、ByteLengthか
ら、読みこむ開始位置および終了位置がファイルサイズ
を超えていないか検査する。ファイルサイズ未満である
場合はS1006に進み、ファイルサイズ以上の場合は
S1112にてエラー処理を行う。
【0097】S1006にてアロケーションの方法を検
査し、ファイルがクラスタ単位でアロケートされている
場合 (AllocType == 0 )、または、階層ファイルの親フ
ァイル(AllocType ==FFFFFFFFh)の場合は、S100
7にて後述する(2)の"クラスタ単位の読みこみ"をお
こなう。
【0098】それ以外の場合、つまり、ファイルがフラ
グメント単位でアロケートされている場合、階層ファイ
ルの子ファイルの場合は、S1008にて後述する
(3)の"フラグメント単位の読みこみ"をおこなう。S
1007,S1008の処理が終了したらS1010に
進み"ファイルの読みこみ"を終了する。
【0099】(2)"クラスタ単位の読みこみ"の説明 図8及び図9に"クラスタ単位の読みこみ"のフローチャ
ートを示す。クラスタ単位の読みこみの場合はクラスタ
FATのFATエントリのチェーンをたどることにより
読みこみが行われる。クラスタ単位の読みこみはS11
01より開始される。ディレクトリエントリより得たフ
ァイルの最初の位置:Locationと、ファイル内での読み
こみ位置のバイトオフセット:ByteOffsetと、読み込む
バイト数:ByteLengthとを与える。
【0100】S1102にて、開始クラスタアドレス:
ClusterAddress、ファイル内での読みこみ位置のクラス
タオフセット:ClusterStart、ファイル内での読みこみ
終了位置のクラスタオフセット:ClusterEndをS110
2に示すように演算して求め、クラスタオフセットの変
数:ClusterOffset を0に初期化する。クラスタオフセ
ットの変数は整数であり、クラスタが読み込まれるにつ
れて1個ずつ変化する。Location は図3の4)の形式
にて記録されており、Location の上位25ビットの値
よりClusterAddressが求まる。クラスタサイズ:Cluste
rSize はボリューム内で固定の値であり、システムエリ
アから得ることができる。上述のクラスタアドレスは前
述したクラスタ番号に対応するもので、以下も同様であ
る。
【0101】S1103にて、ClusterOffsetが読みこ
み開始位置のクラスタオフセット:ClusterStart 以上
の場合は読み込むデータが記録されたクラスタであり、
S1104に進みクラスタデータの読みこみ処理を行
う。ClusterOffsetがClusterStart未満の場合は、S1
104の処理をおこなわず、S1105に進む。
【0102】S1104では実際のクラスタデータの読
みこみを行う。開始クラスタ:ClusterStartの読みこみ
の場合でByteOffsetがクラスタサイズの倍数でなかった
場合は、開始クラスタ内の読みこみ位置のバイトオフセ
ットはByteOffset%ClusterSizeとなる(%はByteOffset
とClusterSizeの値のモジュロ演算を示す、以下同
様)。また、最終クラスタClusterEndの場合でByteOffs
et+ByteLength がクラスタサイズの倍数でなかった場合
は、最終クラスタ内の読みこみバイト数は(ByteOffset+
ByteLength)%ClusterSize となる。それ以外の場合はク
ラスタ内のすべてのデータが読み込まれる。
【0103】S1105にて現在のクラスタオフセッ
ト:ClusterOffset が終了位置のクラスタオフセット:
ClusterEndと一致するか検査し、最終クラスタである場
合はS1106に進みクラスタ単位の読みこみを終了す
る。終了クラスタに達していない場合は、S1107に
進み現在のクラスタオフセットの値:ClusterOffset を
一つ増加させる。次にS1108に進み、クラスタFA
Tから現在のクラスタのFATエントリの値:Entryを
読み込む。
【0104】次にS1109にてEntry がファイルを構
成する最終クラスタであるか検査する。本来であれば図
6のS1005にてファイルサイズの検査をおこなって
いるため最終クラスタにはなりえないが、図3の4)、
5)の形式より上位25ビットの値が1FFFFFFh
であった場合は、S1110に進みエラー処理を行う。
【0105】最終クラスタでない場合はS1111に進
み、次のクラスタアドレスの上位25ビット:Entry.Hi
gh25Bit を現在のクラスタアドレス:ClusterAddressに
代入する。次に、再度、S1103に戻り、S1105
にて最終クラスタになるまで、上記操作によって要求し
たすべてのデータの読みこみが行われる。
【0106】(3)"フラグメント単位の読みこみ"の説
明 図10及び図11に"フラグメント単位の読みこみ"のフ
ローチャートを示す。フラグメント単位の読みこみの場
合はフラグメントFATのFATエントリのチェーンを
たどることにより読みこみが行われる。図8及び図9に
示した" クラスタ単位の読みこみ" とまったく同じ手順
にて読みこみが行われる。S1208でフラグメントF
ATが使用されることと、S1202の開始フラグメン
トアドレス(FragmentAddress)、および、S120
9、S1211のEntryが、図4の3)の形式を取る。
フラグメントアドレスは前述のフラグメント番号に対応
するものであり、以下も同様とする。
【0107】(4)"ファイルの書きこみ"の説明 図12及び図13に"ファイルの書きこみ"のフローチャ
ートを示す。ファイルの書きこみの場合は、図6及び図
7に示した"ファイルの読みこみ"の場合とほぼ同じ手順
にて行われ、後述する"クラスタ単位の書きこみ"の場
合、S1310と、後述する"フラグメント単位の書き
こみ"の場合、S1311とに分けて処理される。ま
た、ファイルのサイズの検査はおこなわれず、ファイル
の書きこみによって新たにクラスタまたはフラグメント
が割り当てられてファイルサイズ(FileSize)が大きく
なっていた場合はS1312にてディレクトリエントリ
の更新が行われる。第2の管理情報であるディレクトリ
エントリを更新することは、請求項11を具現化した事
例である。
【0108】また、システム構成によってはファイルの
書きこみ時にディレクトリエントリにファイルが存在し
ない場合は、新規にファイルを作成することも可能であ
り、その場合はS1303にて検索ができなかった場合
は、S1306にて" 新規ファイルの作成"が行われ
る。
【0109】(5)"クラスタ単位の書きこみ"の説明 図14及び図15に"クラスタ単位の書きこみ"のフロー
チャートを示す。基本的には"クラスタ単位の書きこみ"
は、図8及び図9の" クラスタ単位の読みこみ" の場合
と同じ手順であり、S1404にてクラスタへのデータ
の書きこみをおこなう。読みこみの場合と同様、開始ク
ラスタではクラスタ内でのオフセットがあり、終了クラ
スタではクラスタデータの端数がおこるが、書きこみで
はクラスタ内の書きこみを行わないデータを変えないよ
うに、クラスタ内の必要なデータだけ更新する必要があ
る。
【0110】また、書きこみでは書きこむデータがファ
イルサイズを超える場合は、新規にクラスタをアロケー
トする必要があり、S1409にて現在のクラスタがフ
ァイルを構成するクラスタの最終であった場合は、S1
410にて" 新規クラスタの取得"がおこなわれる。
【0111】フローチャートの例では必要なたびに新規
クラスタの取得を行っているが、S1402にてすべて
のデータを書きこむのに必要とするクラスタ数を知るこ
とができ、書きこみを開始するまえにあらかじめ、必要
とする新規のクラスタをアロケートしてから書きこみを
開始することもできる。その場合は書きこむデータを連
続したクラスタに配置されるように、後述する"新規ク
ラスタの取得"にて未使用のクラスタを検索する場合、
最初に必要とする個数分の連続した未使用クラスタを探
すことによって可能である。このことは、請求項9に記
載した件を具現化した事例である。
【0112】(6)"新規クラスタの取得"の説明 図16に"新規クラスタの取得"のフローチャートを示
す。新規クラスタの取得では未使用のクラスタを如何に
して検索するかが重要になる。図16ではS1502と
S1504の2回に検索範囲を分けて新規クラスタの取
得を行っている。すなわち、まず、最初にS1502に
て現在のクラスタからボリューム内の最後のクラスタま
で検索する。つぎに、S1504にてボリュームの先頭
のクラスタから現在のクラスタまで検索する。上記の操
作にて新規クラスタを取得できなかった場合はS150
6にてエラーとなる。
【0113】新規クラスタの検索の基本的な方針として
は、現在のクラスタの位置よりできるだけ離れていない
位置に未使用クラスタが見つかった方がシークタイムを
少なくすることができる。そのためS1502、S15
04の範囲をさらに細かく分割して、後ろの範囲、前の
範囲という様に順次、現在のクラスタから離れていく方
向に検索をおこなうほうが望ましい。
【0114】また、(5)で説明したように、あらかじ
め必要とするクラスタの数がわかっている場合は、一つ
一つ検索するよりは、必要な個数のクラスタの読み出し
のためのシークタイムの和が最小になるような配置場所
を探しだすことが望ましい。これを行うためにはクラス
タFATの使用状況をあらかじめ検査して、分割した範
囲に大体どのくらいの未使用のクラスタがあるかの情報
をもっていることにより行うことができる。このこと
は、請求項1及び請求項5に記載の件を具現化した事例
である。
【0115】クラスタの数が多くなると検索の処理に時
間がかかるが、本発明の階層管理ファイル装置510で
はFATを階層化してあり、クラスタサイズを大きくす
ることが可能であり、クラスタの数を少なくできるの
で、より効率的に未使用クラスタの検索が可能である。
【0116】(7)"検索範囲から新規クラスタを取得"
の説明 図17及び図18に"検索範囲から新規クラスタを取得"
のフローチャートを示す。検索はS1601より開始す
る。現在のクラスタアドレス:ClusterAddressを、検索
範囲の開始のクラスタアドレス:FindCluster に, ファ
イルの最終クラスタのアドレスを検索範囲の終了のクラ
スタアドレス(FindEnd)に与える。
【0117】まず、S1602にて検索範囲か検査す
る。FindCluster は以降、整数変数により変えて、検索
中のクラスタアドレスとして使用され、最終クラスタ:
FindEnd 以下であるかによって、FindCluster が範囲内
であるか検査する。検索範囲であればS1603に進
み、検索範囲を超えていた場合はS1611に進み、こ
の場合は検索できなかった形で検索が終了される。
【0118】S1603では、クラスタFATよりクラ
スタアドレス:FindCluster のエントリ値: Entryを読
み込む。次に、S1604にて未使用クラスタであるか
確認する。未使用クラスタの場合は図3の1)の形式を
とり、値が00000000hに等しい場合は未使用と
判断し、S1606に進む。それ以外の場合は、S16
05に進み、現在の検索クラスタアドレスを一つ増加さ
せ、S1602に戻り次のクラスタを調べる。この操作
は検索範囲の中で未使用クラスタが検索されるまで繰り
返される。
【0119】S1604にて未使用クラスタが検索され
た場合は、S1606にて新しいFATエントリの値を
設定する。常にファイルの最終クラスタを示すFATエ
ントリとなり、図3の4)の形式で、上位25ビットの
クラスタ番号が1FFFFFFhの値になる。S160
7では、上記FATエントリの値: Entryを検索された
未使用のクラスタ:FindClusterのFATエントリ値と
して書きこみ更新する。上述の未使用のクラスタが検索
された後、第1の管理情報であるクラスタFATエント
リを更新すること、及び後述する未使用フラグメントが
検索された後、フラグメントFATエントリを更新する
ことは請求項10に記載の件を具現化した事例である。
【0120】次に、S1608では現在の最終クラスタ
のFATエントリを検索された未使用クラスタを示すよ
うに設定する。図3の4)の形式にて上位25ビットの
値としてFindClusterを設定する。S1609にてクラ
スタアドレス:ClusterAddressのFATエントリに上記
Entry値を書きこみ更新する。ただし、新規ファイルの
作成の場合、一番最初のクラスタを(6)の"新規クラ
スタの取得"により行う場合は、現在のFATエントリ
の値は更新せず、ディレクトリエントリで最初の位置を
示すようになるので、S1608,S1609の操作は
行う必要がない。
【0121】S1606からS1609までの操作によ
りFATチェーンは更新され、検索されたクラスタ: F
indClusterが現在の最終クラスタになるように、S16
10で現在のクラスタアドレス: ClusterAddressに代
入し、S1611にて"検索範囲から新規クラスタの取
得"が終了する。
【0122】(8)"フラグメント単位の書きこみ" 図19及び図20に"フラグメント単位の書きこみ"のフ
ローチャートを示す。フラグメント単位の書きこみの手
順は、ほぼ、図14及び図15の" クラスタ単位の書き
こみ" と同じであり、クラスタ単位の場合はディレクト
リエントリから示されたファイルの最初の位置(クラス
タ)からクラスタFATを使用するのに対し、" フラグ
メント単位の書きこみ" の場合は、フラグメントFAT
を使用する。書きこみによりファイルサイズを増加する
場合は、S1710にて後述する"新規フラグメントの
取得"を行う。
【0123】(9)"新規フラグメントの取得"の説明 図21に"新規フラグメントの取得"のフォローチャート
を示す。"新規フラグメントの取得"の場合も、図16
の"新規クラスタの取得"と同様に、検索範囲を分けて新
規フラグメントの場所を探す。新規フラグメントの取得
はS1802にて階層ファイルの子ファイルの場合を判
断し、その場合はS1804にて後述する"階層ファイ
ルの新規フラグメントの取得"をおこなう。
【0124】通常のファイルの場合はS1803に進
み、"新規フラグメントの取得"をおこなう。" 新規フラ
グメントの取得" では、まずクラスタFATを参照し
て、各クラスタ内のフラグメントの使用状況を調べてか
ら、次にフラグメントFATより対応するクラスタの範
囲で未使用のフラグメントを探すので、後述する" 検索
範囲より新規フラグメントの取得"では、現在のフラグ
メントアドレス:FragmentAddressの上位25ビットの
値からクラスタアドレスを求め、まず、S1803にて
現在のクラスタからボリュームの最終クラスタの範囲を
探し、見つからなかった場合は、S1806にてボリュ
ームの最初のクラスタから現在のクラスタの範囲を探
す。新規フラグメントが所得できなかった場合はS18
08にてエラー処理を行う。新規フラグメントが取得で
きた場合は、S1809にて" 新規フラグメントの取
得"を終了する。
【0125】(10)"検索範囲より新規フラグメント
を取得"の説明 図22及び図23に"検索範囲より新規フラグメントの
取得"のフローチャートを示す。S1901より"検索範
囲より新規フラグメントの取得"は開始され、(9)の"
新規フラグメントの取得 "の説明で述べたように、新
規フラグメントを探す検索範囲として開始クラスタ:Fi
ndCluster, 検索範囲の終了クラスタ:FindEnd、現在の
ファイルの最終フラグメントアドレス:FragmentAddres
sを与える。FindCluster は以降、整数変数により変わ
り、検索中のクラスタを示す。新規フラグメントの検索
では、最初にクラスタFATを検査し、次に、フラグメ
ントFATを検査するという2段階で行われる。上述の
ように、上位階層のクラスタから検索を始め、下位階層
のフラグメントへと検索を進める件は請求項12の件を
具現化した事例である。
【0126】S1902にて検索中のクラスタが検索範
囲内か調べる。FindClusterがFindEnd以下であった場合
は検索範囲としてS1903に進み、それ以外の場合は
S1909に進み、新規フラグメントが取得できなかっ
たとして終了する。検索範囲であった場合は、S190
3にて検索中のクラスタ:FindCluster のクラスタFA
Tのエントリ値:ClusterEntryを読み込む。S1904
にてエントリ値が図3の1)の形式、つまり、0000
0000hであった場合は未使用クラスタであり、S1
907にすすみ、後述する" B)未使用クラスタからの
新規フラグメントの取得"をおこなう。
【0127】次にS1905にてエントリ値が図3の
2)の形式、00000100h未満の場合はそのクラ
スタに未使用フラグメントがあると判断し、S1908
に進んで、後述する"A)使用中のクラスタからの新規
フラグメントの取得"をおこなう。S1904、S19
05のいずれでもない場合は、S1906にて検索クラ
スタアドレスFindCluster を一つ増加させ、S1902
に進み、検索範囲内でS1902からS1905の操作
を繰り返す。
【0128】S1907およびS1908で新規フラグ
メントの取得がおこなわれ、S1909にて" 検索範囲
より新規フラグメントを取得" を終了する。S1907
の後述する"A)未使用クラスタから新規フラグメント
を取得 " をおこなうと、クラスタがフラグメント単位
での使用になるので、もし、ボリューム内の容量を有効
に使用したい場合は、S1904の判断を行わず、検索
範囲でS1905の判断のみをおこない、それでもなか
った場合は再度、S1904の判断にてS1907の操
作により未使用クラスタの使用をおこなうなどの方法も
とることができる。
【0129】また、S1905にてClusterEntryの下位
7ビットの使用中のフラグメントの値より、この後、新
規に取得されるフラグメントができるだけ同じクラスタ
内に配置されるように、今回の書きこみで必要とする新
規フラグメントの数を基に、未使用のフラグメントが多
い、クラスタを選択する方法などもとることができる。
未使用のフラグメントの多いクラスタを捜すことは、請
求項5に記載した件を具現化した事例である。
【0130】(11)"クラスタから新規フラグメント
の取得"の説明 図24,図25及び図26に"クラスタから新規フラグ
メントを取得"のフローチャートを示す。"クラスタから
の新規フラグメントの取得"は2つの場合に分けられ、
既にそのクラスタがフラグメント単位で使用中の場合
は" A)使用中のクラスタから新規のフラグメントを取
得"と、そのクラスタが未使用クラスタである場合は、"
B)未使用クラスタから新規フラグメントを取得"にな
る。
【0131】"A)使用中のクラスタから新規フラグメ
ントを取得"の場合はS2001より開始され、現在の
フラグメントアドレス:FragmentAddress 、検索するク
ラスタアドレス:FindCluster、検索するクラスタのF
ATエントリの値: ClusterEntryを与える。S200
2にて検索する範囲を対象のクラスタになるように、検
索範囲の開始フラグメントアドレス、終了のフラグメン
トアドレスを設定する。クラスタ内の先頭のフラグメン
トのアドレスは、上位25ビットにクラスタの値、下位
7ビットには0を代入する。クラスタには128個のフ
ラグメントがあり、終了のフラグメントのアドレスは開
始フラグメントに127を足した値になる。以降、Find
Fragmentは整数を変数として、現在検索中のフラグメン
トを示す。
【0132】S2003にて検索中のフラグメントが範
囲内かを検査し、終了クラスタ未満である場合は、S2
004に進み、そうでない場合はS2005に進みエラ
ーとなる。本来、クラスタFATのエントリ値より未使
用のフラグメントは必ず存在するので、エラーになるこ
とはない。
【0133】S2004ではフラグメントFATより検
索中のフラグメント:FindFragmentのエントリ値: Fra
gmentEntryを読み込む。S2006にて未使用のフラグ
メントかを検査し、エントリ値が図4の1)の形式、つ
まり、00000000hであった場合は、未使用クラ
スタが検索され、S2008に進む。
【0134】未使用フラグメントでなかった場合はS2
007に進み、検索中のフラグメント:FindFragmentの
値に1つ増加させ、S2003にすすみ、検索範囲の
間、S2003からS2007までの操作を繰り返す。
【0135】未使用フラグメントが発見された場合は、
そのフラグメントの存在するクラスタのFATエントリ
値:ClusterEntryを1つ増加させ、使用中のフラグメン
トの値を増やす。次にS2011にすすみ、クラスタア
ドレス:FindCluster のクラスタFATのエントリの値
をClusterEntryに更新する。
【0136】S2012ではフラグメントFATのエン
トリ値 :FragmentEntryがファイルの最終フラグメント
を示すように、図4の3)の形式、つまりFFFFFF
80hに設定し、S2013にて検索した未使用のフラ
グメントアドレス:FindFragmentのフラグメントFAT
のエントリ値:FragmentEntryを書きこみ更新する。
【0137】S2014ではフラグメントFATのエン
トリ値: FragmentEntryが、検索した未使用のフラグメ
ントアドレス:FindFragmentを示すように設定し、S2
015にて現在のファイルのフラグメントアドレス:Fr
agmentAddress のフラグメントFATのエントリ値とし
て更新する。ただし、FragmentAddress が0の場合はデ
ィレクトリエントリから示されているので更新は行わな
い。
【0138】S2012からS2015の操作にて、フ
ラグメントFATのファイルのチェーンは更新され、S
2016にて検索した未使用のフラグメントをファイル
の最終フラグメントアドレスに設定し、S2017にて
終了する。
【0139】"B)未使用のクラスタから新規フラグメ
ントを取得"はS2009より開始され、未使用のクラ
スタの場合は、そのクラスタ内のすべてのフラグメント
が未使用の状態であるので、最初のフラグメントを新規
フラグメントとする。S2010にて未使用のクラスタ
を使用中にするために、図3の1)の形式に従い下位7
ビットに1つフラグメントが使用中であるように1を代
入する。また、検索された未使用のフラグメントアドレ
スとして上位25ビットにクラスタアドレス、下位7ビ
ットは0を代入する。
【0140】以下S2011に進み、"A)使用中のク
ラスタから新規フラグメントを取得"の場合と同様に、
S2011にてクラスタFATのエントリを更新、S2
013にて検索した未使用フラグメントのフラグメント
FATのエントリの更新、S2015にてファイルの現
在のフラグメントアドレスを更新して、S2017にて
終了する。
【0141】(12)"階層ファイルの新規フラグメン
トの取得"の説明 図27及び図28に"階層ファイルの新規フラグメント
を取得"のフローチャートを示す。階層ファイルの子フ
ァイルの場合は、親ファイルに割り当て中のクラスタの
中から新規フラグメントを探す。未使用のフラグメント
がない場合は、親ファイルに新規クラスタを割り当て、
そのクラスタより未使用のフラグメントを検索する。S
2101から開始し、現在のフラグメント: FragmentA
ddress、アロケーション方法:AllocType を与える。上
述のことは、請求項13に記載の階層ファイルの新規分
割領域の検索及び割り当ての件を具現化した事例であ
る。
【0142】S2102にて、階層ファイルの子ファイ
ルの場合はディレクトリエントリのアロケーション方
法:AllocType に親ファイルの開始アドレスが設定され
ているので、それを最初の検索クラスタのアドレス:Cl
usterAddressとする。
【0143】S2103で、クラスタFATよりクラス
タアドレスClusterAddressのエントリ値:ClusterEntry
を読み込む。S2104にて、エントリ値は図4の3)
の形式をとり、そのクラスタに未使用のフラグメントが
あるかを検査する。下位7ビットの値が0以外の場合
は、S2107に進み、前述の" A)使用中のクラスタ
から新規フラグメントの取得"を行う。
【0144】S2104にて未使用フラグメントがない
場合はS2105にて最終クラスタかを検査し、エント
リ値が図3の5)の形式にてクラスタ番号が1FFFF
FFhの場合は、ファイルの最終クラスタと判断し、S
2108に進み親ファイルの前述の(6)の" 新規クラ
スタの取得"をおこなう。
【0145】S2105にてクラスタが最終クラスタで
ない場合は、S2106にてエントリ値の上位25ビッ
トを次のクラスタアドレスとして設定し、S2104に
もどり、S2104からS2106の操作を繰り返す。
S2107にて前述の "A)使用中のクラスタから新規
フラグメントを取得" が終わったならば、S2111に
進み、終了する。
【0146】S2108にて前述の(6)"新規クラス
タの取得"をおこなう。新規クラスタの取得にて親ファ
イルのディレクトリエントリを更新する必要があるた
め、S2109にて親ファイルの開始アドレス:AllocT
ype を使用して、同じディレクトリに存在する親ファイ
ルを検索して、ファイルサイズ等を更新する。S211
0にてそのクラスタから前述の" B)未使用のクラスタ
から新規フラグメントを取得"をおこない、S2111
にて終了する。
【0147】(13)"新規ファイルの作成"の説明 図29及び図30に"新規ファイルの作成"のフローチャ
ートを示す。新規ファイルの作成は図12及び図13
の"ファイルの書きこみ"の場合にファイルが存在しなか
った場合、および、新たにファイルを作成する場合に行
われる。ただし、階層ファイルの子ファイルの場合は、
親ファイルが存在していた場合のみ作成可能で、このフ
ローチャートは図31及び図32にて示す。
【0148】"新規ファイルの作成"はS2201より開
始し、作成するファイルのパス名:PathName, アロケー
ションの方法:AllocType を指定する。S2202にて
パス名:PathNameのファイルのディレクトリエントリを
作成し、S2203にてファイルが作成できたか検査
し、作成できた場合はS2204に進み、できなかった
場合はS2205に進みエラーになる。
【0149】S2204では作成するファイルが階層フ
ァイルの親ファイルかを検査し、AllocTypeがFFFFFFFFh
であった場合は、S2211に進み、親ファイルの作成
を続ける。次にS2206にてクラスタ単位の作成であ
るか検査し、AllocType が0であった場合はS2209
に進みクラスタ単位のファイルの作成を続ける。それ以
外の場合はS2207に進みフラグメント単位のファイ
ルの作成を続ける。階層ファイルの親ファイルの場合は
S2211にて前述した(6)の" 新規クラスタの取
得"を行う。ClusterAddress を0にすることによりファ
イルにはまだクラスタがないことを示す。
【0150】次にS2212にてディレクトリエントリ
の値を設定し、AllocType には階層ディレクトリの親で
あることを示すFFFFFFFFh、ファイルの最初の
位置:Locationの上位25ビットにはS2211にて新
規に取得したクラスタアドレス:ClusterAddressを設
定、ファイルサイズは0にする。
【0151】クラスタ単位のファイルの作成の場合もS
2209にて同様に前述した(6)の" 新規クラスタの
取得" を行い、S2210にてディレクトリエントリを
設定する。この場合はAllocTypeにはクラスタ単位であ
ることを示す0を設定する。
【0152】フラグメント単位のファイルの作成の場合
は、S2207にて前述した(9)の" 新規フラグメン
トの取得 "を行い、S2208にてディレクトリエント
リを設定する。この場合はAllocType はフラグメント単
位であることを示す1を設定し、ファイルの最初の位
置:Location にはS2207にて取得した新規フラグ
メントのアドレスを設定する。それぞれの場合にてディ
レクトリエントリが設定されたのち、2213にてディ
レクトリエントリの更新を行い、2214にて終了す
る。
【0153】(14)"新規に階層ファイルの子ファイ
ルを作成"の説明 図31及び図32に"新規に階層ファイルの子ファイル
を作成"のフローチャートを示す。階層ファイルのファ
イルは親ファイルと同じディレクトリに存在し、S23
01では親ファイルのパス名:ParentPathName、子ファ
イルのファイル名:FileNameを与える。ただし、例では
同じディレクトリに作成するが、交互にそのディレクト
リを参照できるようにすれば、他のディレクトリなどに
作成するなどの方法でもよい。
【0154】まず、最初に、S2302では親ファイル
のパス名より親ファイルを検索し、ディレクトリエント
リを取得する。S2303にて親ファイルが検索できた
かを検査し、できた場合はS2304に進み、できなか
った場合はS2305にてエラーとなる。次にS230
6にて階層ファイルの親かどうか確認する。ParentAllo
cType がFFFFFFFFhの場合は、S2307に進
み、それ以外の場合はS2308にてエラーとなる。
【0155】次にS2307にて同じディレクトリに子
ファイルをファイル名:FileNameにて作成する。S23
09にて作成できた場合は2310にすすみ、できなか
った場合はS2311にてエラーとなる。
【0156】S2310では現在のファイルのフラグメ
ントアドレス:FragmentAddress に0、親ファイルの最
初の位置ParentLocation をAllocTypeに指定して、前述
の(12)の"階層ファイルの新規フラグメントの取得"
をおこなう。S2312では新規に取得したフラグメン
トのアドレスFragmentAddress を子ファイルの最初の位
置:Locationに設定し、S2313にて子ファイルのデ
ィレクトリエントリを更新して、S2314にて終了す
る。
【0157】本実施の形態例では、ファイルを構成する
クラスタ、フラグメントをFATチェーンにて表現して
いるが、ボリュームの割り当てのための記録領域の使用
情報をビットマップにより管理し、ファイルの構成情報
は別の方式にて管理するような場合でも、クラスタ、フ
ラグメントの管理に各々にビットマップを用意して、ク
ラスタ単位のファイルとフラグメント単位のファイルの
割り当て管理が可能であり、同等の効果が実現できる。
【0158】また、クラスタビットマップにはそのクラ
スタの使用中のフラグメントの使用数などの情報も付加
し、上位階層の第1の管理情報にて下位階層の第1の管
理情報を分かるようにすることができる。このことは、
請求項14に記載した件を具現化した事例である。
【0159】また、本実施の形態例では、クラスタ、フ
ラグメントの2階層にて管理を行ったが、さらに、フラ
グメントをさらに小さな単位に分割して、大きなボリュ
ームに関して多層的に管理情報をもって行うことも可能
である。
【0160】また、本実施の形態例では、情報記録媒体
全体をボリュームとして扱ったが、物理的に別の情報記
録媒体を論理的に一つのボリュームとして扱う場合、1
つの情報記録媒体の中を複数のボリュームに分割して使
用するような場合でも適用可能である。
【0161】本実施の形態例では、すべてのクラスタに
対して、フラグメントFATのエントリを持つが、別に
クラスタ毎にフラグメントFATのエントリを示す管理
テーブルを設け、フラグメントFATのエントリを間接
参照することにより、フラグメント単位に利用していな
いクラスタに対しては、フラグメントFATのエントリ
を持たず、新規にクラスタをフラグメント単位に利用す
る場合のみ、新たにそのためのフラグメントFATのエ
ントリをボリューム内に作成するなどの方法を取ること
ができる。
【0162】これによりフラグメントFATのサイズを
小さくすることができ、ボリュームの容量を有効に使用
できる。また、必要とするフラグメントFATをまとめ
ることができ、参照のための2次記録装置503へのア
クセスを効率良くおこなうことができる。
【0163】本実施の形態例では、ファイルの割り当て
単位は一つのファイルでは不変であったが、クラスタF
ATのエントリよりフラグメントFATのエントリの位
置を示すことができるように、エントリ値のアドレスの
サイズを変更することにより、一つのファイル中で割り
当て単位を変えることも可能である。
【0164】本実施の形態例ではクラスタおよびフラグ
メントは一定のサイズであったが、クラスタFATのエ
ントリ、フラグメントFATのエントリに、そのクラス
タまたはフラグメント内での使用部分を記述できるよう
に、使用領域の開始オフセットおよび終了オフセットを
指定するフィールドを設けることにより、クラスタ、フ
ラグメントを可変長の記録ユニットとしてファイルを構
成することができ、ファイルのマージ、ファイル中のデ
ータ領域の削除などの編集をファイルのデータをコピー
することなく行えることができる。
【0165】本発明の階層管理ファイル装置510を具
備した電子機器として、図1に一例を示したが、本発明
の階層管理ファイル装置510はこの例に限らず、連続
して、且つ高速に記録再生する必要のあるファイルと、
離散的でも構わないファイルの混在するマルチメディア
情報を処理する電子機器一般に適用が可能である。
【0166】
【発明の効果】本発明の階層管理ファイル装置及びこれ
を具備した電子機器によれば、ファイルを複数の割り当
てられた階層別の分割領域によって管理でき、映像、音
声などのリアルタイム再生、録音を要求する場合は、連
続した大きな記録単位長で割り当てられた分割領域にフ
ァイルを記録配置することができ、フラグメンテーショ
ンによるファイルアクセスの速度の低下を防止すること
ができる。
【0167】また、小さなサイズのファイルの場合は小
さな記録単位長で分割領域の割り当てを行うことができ
るため、記録領域の容量を無駄にすることなく利用でき
る。
【0168】また、割り当て記録単位長の大きな上位階
層の第1の管理情報のデータは、すべて同一の記録単位
長で割り当てをおこなった場合よりも小さくでき、第1
の管理情報の参照のためのメモリーサイズおよびディス
クアクセス、CPUの処理などに要する負荷を低減する
ことができる。
【0169】これにより、大きな記録単位長をファイル
に割り当てる場合は、効率よく未使用の割り当て分割領
域を探すことができ、さらには、大きな範囲で第1及び
第2の管理情報を参照できるためフラグメンテーション
がおきないよう最適化も行うことが容易である。
【0170】また、割りあてられた分割領域に階層的に
第1の管理情報を持ち、上位階層の第1の管理情報には
下位階層に割り当てられた分割領域の使用状況の統計情
報を持つことにより、下位階層に割り当てられた分割領
域の単位でファイルを記録する場合でも、上位階層の第
1の管理情報を参照することにより、すべての下位階層
の第1の管理情報を参照する必要がなくなり、小さな記
録単位長で割り当てられた分割領域の単位で記録する場
合でもフラグメンテーションが起きないように効率的に
おこなうことができる。
【0171】また、階層ファイルにより、親ファイルが
関連する子ファイルの情報を大きな記録単位長で割り当
てられた分割領域にまとめることができ、当該階層ファ
イルを一括してアクセスするような場合は、アクセス速
度を速くすることができる。さらに、階層ファイルの機
構を利用して、親ファイルにディレクトリとしての属性
を持たせ、ディレクトリとして扱えば、ディレクトリ内
のファイルを大きな記録単位長で分割した分割領域内に
全てまとめることができる。このことにより、ディレク
トリ内のファイルのアクセス速度をさらに速くすること
ができ、且つディレクトリごとファイルを削除する場合
においても、大きな記録単位長の領域を開放し得るた
め、未使用の記録領域が分散してしまうことを防ぐ効果
がある。
【0172】また、階層ファイルの機構を利用すること
により、大きな記録単位長で分割された分割領域を連続
した小さな記録単位長で分割された分割領域で割り当て
る場合の方針を示すことができ、連続した小さな記録単
位長で分割された分割領域のまとまりを、新たな割り当
て単位として導入することが可能である。
【0173】また、大きな記録単位長で分割された分割
領域の場合は参照する第1の管理情報も小さいので、記
録、再生する前にファイルの読み出し、書きこみの速度
を物理的なファイルの配置位置より容易に計算すること
ができ、アクセス速度の保証できる階層管理ファイル装
置が実現できる。
【図面の簡単な説明】
【図1】本発明の実施の形態例の階層管理ファイル装置
及びこれを具備した電子機器の概略構成図である。
【図2】本発明の実施の形態例の情報記録媒体の記録領
域の構造図である。
【図3】本発明の実施の形態例のクラスタFATエント
リ形式を示す図表である。
【図4】本発明の実施の形態例のフラグメントFATエ
ントリ形式を示す図表である。
【図5】図3及び図4のクラスタFATエントリ形式及
びフラグメントFATエントリ形式を採用した本発明の
階層管理ファイル装置の実施の形態例の動作を説明する
説明図である。
【図6】本発明の実施の形態例のソフトウェア制御手段
によるファイルの読み込みを示すフローチャートの一部
である。
【図7】本発明の実施の形態例のソフトウェア制御手段
によるファイルの読み込みを示すフローチャートの他の
一部である。
【図8】本発明の実施の形態例のソフトウェア制御手段
によるクラスタ単位の読み込みを示すフローチャートの
一部である。
【図9】本発明の実施の形態例のソフトウェア制御手段
によるクラスタ単位の読み込みを示すフローチャートの
他の一部である。
【図10】本発明の実施の形態例のソフトウェア制御手
段によるフラグメント単位の読み込みを示すフローチャ
ートの一部である。
【図11】本発明の実施の形態例のソフトウェア制御手
段によるフラグメント単位の読み込みを示すフローチャ
ートの他の一部である。
【図12】本発明の実施の形態例のソフトウェア制御手
段によるファイルの書き込みを示すフローチャートの一
部である。
【図13】本発明の実施の形態例のソフトウェア制御手
段によるファイルの書き込みを示すフローチャートの他
の一部である。
【図14】本発明の実施の形態例のソフトウェア制御手
段によるクラスタ単位の書き込みを示すフローチャート
の一部である。
【図15】本発明の実施の形態例のソフトウェア制御手
段によるクラスタ単位の書き込みを示すフローチャート
の他の一部である。
【図16】本発明の実施の形態例のソフトウェア制御手
段による新規クラスタの取得を示すフローチャートであ
る。
【図17】本発明の実施の形態例のソフトウェア制御手
段による検索範囲から新規クラスタ取得を示すフローチ
ャートの一部である。
【図18】本発明の実施の形態例のソフトウェア制御手
段による検索範囲から新規クラスタ取得を示すフローチ
ャートの他の一部である。
【図19】本発明の実施の形態例のソフトウェア制御手
段によるフラグメント単位の書き込みを示すフローチャ
ートの一部である。
【図20】本発明の実施の形態例のソフトウェア制御手
段によるフラグメント単位の書き込みを示すフローチャ
ートの他の一部である。
【図21】本発明の実施の形態例のソフトウェア制御手
段による新規フラグメントの取得を示すフローチャート
である。
【図22】本発明の実施の形態例のソフトウェア制御手
段による検索範囲より新規フラグメントを取得を示すフ
ローチャートの一部である。
【図23】本発明の実施の形態例のソフトウェア制御手
段による検索範囲より新規フラグメントを取得を示すフ
ローチャートの他の一部である。
【図24】本発明の実施の形態例のソフトウェア制御手
段による使用中のクラスタから新規フラグメントを取得
を示すフローチャートの一部である。
【図25】本発明の実施の形態例のソフトウェア制御手
段による使用中のクラスタから新規フラグメントを取得
を示すフローチャートの他の一部である。
【図26】本発明の実施の形態例のソフトウェア制御手
段による使用中のクラスタから新規フラグメントを取得
を示すフローチャートのさらに他の一部である。
【図27】本発明の実施の形態例のソフトウェア制御手
段による階層ファイルの新規フラグメントを取得を示す
フローチャートの一部である。
【図28】本発明の実施の形態例のソフトウェア制御手
段による階層ファイルの新規フラグメントを取得を示す
フローチャートの他の一部である。
【図29】本発明の実施の形態例のソフトウェア制御手
段による新規ファイルを作成を示すフローチャートの一
部である。
【図30】本発明の実施の形態例のソフトウェア制御手
段による新規ファイルを作成を示すフローチャートの他
の一部である。
【図31】本発明の実施の形態例のソフトウェア制御手
段による新規に階層ファイルの子ファイルを作成を示す
フローチャートの一部である。
【図32】本発明の実施の形態例のソフトウェア制御手
段による新規に階層ファイルの子ファイルを作成を示す
フローチャートの他の一部である。
【図33】従来のパーソナルコンピュータ用の磁気ディ
スクの記録パターンを示したものである。
【図34】図33の磁気ディスクの記録パターンのクラ
スタの配置を示した配置図である。
【図35】図33の磁気ディスクのディレクトリエント
リ配置を示した配置図である。
【図36】図33の磁気ディスクのFATのエントリ配
置を示した配置図である。
【図37】従来のファイル装置のフラグメンテーション
を説明する説明図である。
【符号の説明】
501…CPU、502…メモリ、503…2次記録装
置、504…ネットワークドライバ、506…バス、5
07…赤外線送受信装置、508…画像音声入出力装
置、509…チューナ、510…階層管理ファイル装
置、601…システム領域、602〜610…クラス
タ、611〜618…フラグメント、701〜709…
クラスタFATエントリ形式、801〜805…フラグ
メントFATエントリ形式、901〜932…ディレク
トリエントリ、933〜964…クラスタFATエント
リ、965〜996…フラグメントFATエントリ(6
01,602〜610,611〜618,701〜70
9,801〜805,901〜932,933〜96
4,965〜996については領域とも記す)、S10
00〜S2314…制御ステップ

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 情報記録媒体の記録領域を複数種の記録
    単位長により階層的に分割し、各階層の分割領域が、下
    位階層の複数の分割領域で構成され、ファイルを前記情
    報記録媒体に前記各階層の分割領域の単位で、第1の管
    理情報及び第2の管理情報により階層管理してファイル
    記録領域に分割記録し、前記各階層の分割領域を前記第
    1の管理情報及び前記第2の管理情報により階層管理し
    て前記ファイルを前記情報記録媒体より再生する階層管
    理ファイル装置において、 前記各階層の分割領域の連結情報と使用情報とを階層別
    に有する前記第1の管理情報と、前記ファイルの属性、
    該ファイルの記録再生に使用される階層の種類及びファ
    イルの種類、及び記録再生の始まる最初の階層の分割領
    域の位置を前記ファイル毎に有する前記第2の管理情報
    とが記録再生される前記情報記録媒体と、 各階層の前記第1の管理情報及び前記第2の管理情報を
    参照して、前記ファイルを前記各階層の分割領域に記録
    する場合は、前記下位階層の第1の管理情報を参照し
    て、該下位階層の前記分割領域の割り当てを行い、空い
    ている分割領域がない場合は、上位階層の前記第1の管
    理情報を参照し、再度、当該上位階層に属する前記下位
    階層の前記第1の管理情報を検索し、前記ファイルの前
    記分割領域への割り当てを可能とし、前記ファイルの特
    性に応じて階層の種類を使い分けて前記情報記録媒体上
    に、前記ファイルを記録再生する制御を行うソフトウェ
    ア制御手段を具備したことを特徴とする階層管理ファイ
    ル装置。
  2. 【請求項2】 前記ソフトウェア制御手段は、前記第1
    の管理情報と、前記第2の管理情報と、前記ファイル記
    録領域とを、階層別に昇順番号を付された分割領域に記
    録再生し、該昇順番号により前記分割領域を識別し得る
    ことを特徴とする請求項1に記載の階層管理ファイル装
    置。
  3. 【請求項3】 前記ソフトウェア制御手段は、前記第2
    の管理情報が、同一の階層の分割領域に記録再生され、
    該第2の管理情報が、少なくとも、前記ファイルの属性
    を示す第1の情報と、前記ファイルの記録再生に使用さ
    れる前記階層の種類及びファイルの種類を示す第2の情
    報と、記録再生の始まる最初の階層の分割領域の位置を
    示す第3の情報とで構成され、前記ファイルを前記第2
    の情報により階層ファイルでないと識別するとき、前記
    第3の情報と識別された階層の前記第1の管理情報とを
    参照して、当該ファイルを記録再生し得ること特徴とす
    る請求項1に記載の階層管理ファイル装置。
  4. 【請求項4】 前記ソフトウェア制御手段は、前記第2
    の管理情報が、同一の階層の分割領域に記録再生され、
    該第2の管理情報が、少なくとも、前記ファイルの属性
    を示す第1の情報と、前記ファイルの記録再生に使用さ
    れる前記階層の種類及びファイルの種類を示す第2の情
    報と、記録再生の始まる最初の階層の分割領域の位置を
    示す第3の情報とで構成され、前記ファイルが前記第2
    の情報により、親ファイルと子ファイルで構成される階
    層ファイルであると識別したとき、前記親ファイルの階
    層の前記分割領域の最初の位置を示す前記第3の情報と
    一致する前記子ファイルの第2の情報を検索し該子ファ
    イルを識別し、該子ファイルの前記第3の情報により、
    該子ファイルの記録再生の始まる前記最初の階層の分割
    領域の位置を識別し、識別した該子ファイルの階層の前
    記第1の管理情報を参照して、子ファイルの使用する前
    記下位階層の分割領域は必ず前記親ファイルの使用する
    前記上位階層の分割領域に含まれるように、前記ファイ
    ルを記録再生し得ることを特徴とする請求項1に記載の
    階層管理ファイル装置。
  5. 【請求項5】 前記ソフトウェア制御手段は、前記第1
    の管理情報が当該階層の分割領域の前記連結情報及び使
    用情報を示す第4の情報と前記下位階層の分割領域の使
    用状況を示す第5の情報で構成され、前記第4の情報に
    より、前記当該階層の任意の前記分割領域の次に前記フ
    ァイルを記録再生すべき前記分割領域を識別して、前記
    ファイルに割り当てられた前記分割領域を連続的に記録
    再生でき、且つ前記第5の情報により前記下位階層の分
    割領域を前記ファイルの記録領域に割り当てるか否かを
    制御し得ることを特徴とする請求項1に記載の階層管理
    ファイル装置。
  6. 【請求項6】 前記下位階層に属する前記第1の管理情
    報は当該下位階層の分割領域間の前記連結情報及び使用
    情報と、当該下位階層の属する前記上位階層の分割領域
    間の前記連結情報及び使用情報の情報を有することを特
    徴とする請求項1に記載の階層管理ファイル装置。
  7. 【請求項7】 前記第1の管理情報中に前記ファイルの
    終了を示す情報を階層別に有することを特徴とする請求
    項1に記載の階層管理ファイル装置。
  8. 【請求項8】 前記ソフトウェア制御手段が、前記情報
    記録媒体の初期化において、最大の前記記録単位長によ
    り分割された最上位階層の前記分割領域のみを割り当て
    ることを特徴とする請求項1に記載の階層管理ファイル
    装置。
  9. 【請求項9】 前記ソフトウェア制御手段が、前記下位
    階層の分割領域に前記ファイルの連続した複数の情報単
    位を割り当て得ることを特徴とする請求項1に記載の階
    層管理ファイル装置。
  10. 【請求項10】 前記ソフトウェア制御手段は、新規の
    前記分割領域をファイル用に確保した場合及び該新規の
    前記分割領域に前記ファイルが記録されたときは、前記
    第1の管理情報中の、当該階層の分割領域の前記連結情
    報及び使用情報を示す第4の情報と下位階層の分割領域
    の使用状況を示す第5の情報とを階層別に更新すること
    を特徴とする請求項1に記載の階層管理ファイル装置。
  11. 【請求項11】 前記ソフトウェア制御手段は、新規の
    前記分割領域を前記ファイル用に確保した場合及び該新
    規の分割領域に前記ファイルを記録したときは、前記フ
    ァイルの属性を示す第1の情報と、前記第2の管理情報
    中の、前記ファイルの記録再生に使用される前記階層の
    種類及び前記ファイルの種類を示す第2の情報と、記録
    再生の始まる最初の階層の分割領域の位置を示す第3の
    情報とを更新することを特徴とする請求項1に記載の階
    層管理ファイル装置。
  12. 【請求項12】 前記ソフトウェア制御手段は、前記フ
    ァイルの記録において、前記第1の管理情報と前記第2
    の管理情報を新規の分割領域を割り当てて更新する場
    合、該第1の管理情報と該第2の管理情報を参照し、該
    ファイルが記録された最新の階層の前記分割領域の位置
    を基準として、該最新の階層の前記分割領域が属する最
    上位階層の分割領域の前記第1の管理情報を参照し、未
    使用の前記最上位階層の分割領域を前記情報記録媒体全
    体にわたり検索し、次々に階層をさげ、前記未使用の前
    記最上位階層の分割領域の検索と同様の検索を行い、前
    記最新の階層の分割領域の位置に最も近い前記分割領域
    に前記ファイルの前記新規に割り当てられる情報を記録
    することを特徴とする請求項1に記載の階層管理ファイ
    ル装置。
  13. 【請求項13】 前記ソフトウェア制御手段は、階層フ
    ァイルの記録において、前記第1の管理情報と前記第2
    の管理情報を新規の分割領域を割り当てて更新する場
    合、該第1の管理情報と該第2の管理情報を参照し、前
    記ファイルが記録された最新の階層の前記分割領域の位
    置を基準として、該最新の階層の分割領域が属する前記
    最上位階層の分割領域の中、親ファイルが属する前記第
    1の管理情報を参照し、前記親ファイルに属する未使用
    の最上位階層の分割領域を前記情報記録媒体全体にわた
    り検索し、次々に階層をさげ、前記親ファイルに属する
    未使用の最上位階層の分割領域の検索と同様の検索を行
    い、前記最新の階層の分割領域の位置に最も近い分割領
    域に前記階層ファイルの前記新規に割り当てられる子フ
    ァイルの情報を記録することを特徴とする請求項1に記
    載の階層管理ファイル装置。
  14. 【請求項14】 前記第1の管理情報が、前記各階層の
    分割領域の使用情報と前記下位階層の分割領域の使用状
    況を階層別にもち、前記各階層の分割領域の連結情報
    を、前記第2の管理情報、及び前記第1の管理情報と前
    記第2の管理情報とは別の記録領域に設けられた第3の
    管理情報の何れか一方に有することを特徴とする請求項
    1に記載の階層管理ファイル装置。
  15. 【請求項15】 請求項1に記載の階層管理ファイル装
    置を具備したことを特徴とする電子機器。
JP10343433A 1998-10-30 1998-12-02 階層管理ファイル装置及びこれを具備した電子機器 Pending JP2000200207A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10343433A JP2000200207A (ja) 1998-10-30 1998-12-02 階層管理ファイル装置及びこれを具備した電子機器
CN 99126631 CN1254881A (zh) 1998-10-30 1999-10-30 分层管理文件装置和录放方法及含该装置的电子装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP10-311182 1998-10-30
JP31118298 1998-10-30
JP10343433A JP2000200207A (ja) 1998-10-30 1998-12-02 階層管理ファイル装置及びこれを具備した電子機器

Publications (1)

Publication Number Publication Date
JP2000200207A true JP2000200207A (ja) 2000-07-18

Family

ID=26566616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10343433A Pending JP2000200207A (ja) 1998-10-30 1998-12-02 階層管理ファイル装置及びこれを具備した電子機器

Country Status (2)

Country Link
JP (1) JP2000200207A (ja)
CN (1) CN1254881A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100400546B1 (ko) * 2001-05-18 2003-10-08 엘지전자 주식회사 디지탈 파일 기록 및 액세스 방법
US7197238B2 (en) 2001-01-09 2007-03-27 Fujitsu Limited File system, storage area managing method, and storage medium thereof
US7536505B2 (en) 2004-03-29 2009-05-19 Kabushiki Kaisha Toshiba Storage system and method for controlling block rearrangement
WO2009088140A1 (en) * 2008-01-04 2009-07-16 Samsung Electronics Co., Ltd. Method of and apparatus for processing file system
WO2009122743A1 (ja) * 2008-04-04 2009-10-08 パナソニック株式会社 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
KR100944240B1 (ko) 2007-12-17 2010-02-24 주식회사 텔레칩스 파일 액세스 속도 향상 방법
CN1991833B (zh) * 2005-11-07 2010-07-28 索尼株式会社 文件系统和文件信息处理方法
KR20190061549A (ko) * 2017-11-28 2019-06-05 지인정보기술 주식회사 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7293150B2 (en) * 2002-06-28 2007-11-06 Microsoft Corporation Method and system for creating and restoring an image file
JP3912676B2 (ja) * 2003-02-27 2007-05-09 ソニー株式会社 記録装置、ファイル管理方法、ファイル管理方法のプログラム、ファイル管理方法のプログラムを記録した記録媒体
TW200504577A (en) * 2003-07-16 2005-02-01 Matsushita Electric Industrial Co Ltd Management method for data storage in data recording medium, and information processing device using the same
WO2006133597A1 (en) * 2005-06-15 2006-12-21 Intel Corporation Using transacted writes and caching mechanism to improve write performance in multi-level cell flash memoty
CN101853275A (zh) * 2010-05-05 2010-10-06 北京中星微电子有限公司 一种fat文件系统的数据管理方法和系统
CN117667951B (zh) * 2024-01-31 2024-05-03 杭州海康威视数字技术股份有限公司 用于摄像机的特征数据的数据处理方法和装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197238B2 (en) 2001-01-09 2007-03-27 Fujitsu Limited File system, storage area managing method, and storage medium thereof
KR100400546B1 (ko) * 2001-05-18 2003-10-08 엘지전자 주식회사 디지탈 파일 기록 및 액세스 방법
US7536505B2 (en) 2004-03-29 2009-05-19 Kabushiki Kaisha Toshiba Storage system and method for controlling block rearrangement
CN1991833B (zh) * 2005-11-07 2010-07-28 索尼株式会社 文件系统和文件信息处理方法
KR100944240B1 (ko) 2007-12-17 2010-02-24 주식회사 텔레칩스 파일 액세스 속도 향상 방법
WO2009088140A1 (en) * 2008-01-04 2009-07-16 Samsung Electronics Co., Ltd. Method of and apparatus for processing file system
WO2009122743A1 (ja) * 2008-04-04 2009-10-08 パナソニック株式会社 アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
JP2011138534A (ja) * 2008-04-04 2011-07-14 Panasonic Corp アクセス装置、情報記録装置、情報記録システム、ファイル管理方法、およびプログラム
US8019800B2 (en) 2008-04-04 2011-09-13 Panasonic Corporation Access device, information recording device, information recording system, file management method, and program
KR20190061549A (ko) * 2017-11-28 2019-06-05 지인정보기술 주식회사 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법
KR102094786B1 (ko) 2017-11-28 2020-03-31 지인정보기술 주식회사 파일 시스템 및 상기 파일 시스템을 이용한 파일 저장 방법

Also Published As

Publication number Publication date
CN1254881A (zh) 2000-05-31

Similar Documents

Publication Publication Date Title
JP2000200207A (ja) 階層管理ファイル装置及びこれを具備した電子機器
KR101042588B1 (ko) 플래시 메모리들에 직접 데이터 파일 저장
KR101344688B1 (ko) 플래시 메모리들에 직접 파일 데이터 프로그래밍 및 삭제
JP5485163B2 (ja) アクセスモジュール、情報記録モジュール、コントローラ、及び情報記録システム
JP5129156B2 (ja) アクセス装置、および、ライトワンス記録システム
JP7794381B2 (ja) データ圧縮方法及び装置
US20030004947A1 (en) Method, system, and program for managing files in a file system
US20030065866A1 (en) Memory controller for memory card manages file allocation table
US20070185902A1 (en) Object-based data storage device
US6697795B2 (en) Virtual file system for dynamically-generated web pages
US7415653B1 (en) Method and apparatus for vectored block-level checksum for file system data integrity
US7716445B2 (en) Method and system for storing a sparse file using fill counts
TW200805134A (en) Data operations in flash memories utilizing direct data file storage
KR20080000557A (ko) 플래시 메모리들에 직접 데이터 파일 저장 구현 기술
EP0606461A1 (en) Computer method and system for allocating and freeing memory
JPWO2009107393A1 (ja) アクセス装置、情報記録装置、コントローラ、及び情報記録システム
WO2011058700A1 (ja) アクセス装置、情報記録装置、コントローラ、リアルタイム情報記録システム、アクセス方法、および、プログラム
CN1218237C (zh) 用于访问存储介质上的数据块的系统和方法
US8412753B2 (en) File creation API
JPWO2009150810A1 (ja) アクセス装置、及び残容量算出方法
US6594674B1 (en) System and method for creating multiple files from a single source file
US20080288710A1 (en) Semiconductor Memory Device and Its Control Method
US9727588B1 (en) Applying XAM processes
US7424574B1 (en) Method and apparatus for dynamic striping
JP4502375B2 (ja) ファイルシステムおよびその制御方法