(57)【要約】【課題】ファイルアクセスの高速化【解決手段】通常のＦＡＴファイルシステムによるファイル管理とともに、ファイルのセグメントごとの先頭セクタ(LBA)及びサイズを示す情報を格納するLBA管理情報を作成して、このLBA管理情報によってもファイル管理が行えるようにする。ファイルアクセス時において、LBA管理情報が存在するファイルについては、ＦＡＴ領域を参照するのではなく、LBA管理情報が示す先頭セクタ(LBA)及びサイズに従ってセグメント単位でデータを読み出すことでファイルデータの読み出しを実現する。【選択図】図１２
2006178632.tif 000002
【特許請求の範囲】
【請求項１】
記憶媒体に対してデータを書き込む書込手段と、
１以上の所定のデータ書込単位が連続する上記記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部を管理する情報であり、少なくとも、記憶領域上におけるデータ単位部が書き込まれた位置を特定するための情報項目として、データ単位部の開始位置を示し得る情報項目と、データ単位部の終了位置とを示し得る情報項目を格納して形成されるデータ単位部管理情報を、上記書込手段によるデータ単位部の書き込み結果に応じて形成し、所定の情報記憶領域に保持させるデータ単位部管理手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
上記データ単位部管理手段は、１以上の上記データ単位部を連結して形成される独立データ単位を管理するために、１つの独立データ単位を形成する複数の上記データ単位部に対応するデータ単位部管理情報について、その独立データ単位内での連結順が示されるための所定の態様による連結順対応管理を行うようにされている、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
上記データ単位部管理手段は、上記連結順対応管理として、上記情報記憶領域において、独立データ単位内でのデータ単位部の連結順に応じた配列順により、上記複数のデータ単位部管理情報を配列して保持させる、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
１以上の上記データ単位部を連結して形成される独立データ単位を管理するもので、１つの独立データ単位に対してアクセスするための起点となる所定の情報を格納したエントリ情報を有する独立データ単位管理手段をさらに備える、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
上記データ単位部管理手段は、
上記独立データ単位管理手段が対応するよりも下位の処理階層であって、記憶媒体に対する直接的なデータ書き込みを実行する処理階層が対応する下位のデータ書込単位により、少なくとも、上記データ単位部管理情報に格納される上記開始位置を示し得る情報項目を管理するようにされている、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
上記独立データ単位管理手段は、上記エントリ情報における所定位置に対して、同じ独立データ単位に対応するデータ単位部管理情報が保持されている状態にあるか否かを示す保持状態情報を格納するようにされている、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項７】
上記独立データ単位管理手段は、１つの独立データ単位に対応する所定の情報記憶領域における先頭に対して上記エントリ情報を配置し、
上記データ単位部管理手段は、１つの独立データ単位を形成する１以上の上記データ単位部に対応する１以上のデータ単位部管理情報を、同じ独立データ単位に対応する情報記憶領域において、エントリ情報に後続させるようにして配置するようにされている、
ことを特徴とする請求項４に記載の情報処理装置。
【請求項８】
上記独立データ単位管理手段及び上記データ単位部管理手段は、
上記１つの独立データ単位に対応する所定の情報記憶領域について、上記独立データ単位管理手段が対応する上記データ書込単位としている、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
上記データ単位部管理手段は、
上記データ単位部管理情報について、上記エントリ情報と同じサイズとしたうえで、上記エントリ情報としては消去済みであることが示されるようにして形成する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
記憶媒体に対してデータを書き込む書込手順と、
１以上の所定のデータ書込単位が連続する上記記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部を管理する情報であり、少なくとも、記憶領域上におけるデータ単位部が書き込まれた位置を特定するための情報項目として、データ単位部の開始位置を示し得る情報項目と、データ単位部の終了位置とを示し得る情報項目を格納して形成されるデータ単位部管理情報を、上記書込手順によるデータ単位部の書き込み結果に応じて形成し、所定の情報記憶領域に保持させるデータ単位部管理手順と、
を実行することを特徴とする情報処理方法。
【請求項１１】
記憶媒体に対してデータを書き込む書込手順と、
１以上の所定のデータ書込単位が連続する上記記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部を管理する情報であり、少なくとも、記憶領域上におけるデータ単位部が書き込まれた位置を特定するための情報項目として、データ単位部の開始位置を示し得る情報項目と、データ単位部の終了位置とを示し得る情報項目を格納して形成されるデータ単位部管理情報を、上記書込手順によるデータ単位部の書き込み結果に応じて形成し、所定の情報記憶領域に保持させるデータ単位部管理手順と、
を情報処理装置に実行させるプログラム。
【請求項１２】
記憶媒体に記憶されているデータを、１つの独立したデータ単位である独立データ単位として管理するもので、所定のデータ書込単位の連結により独立データ単位が形成されるものとして管理するための独立データ単位管理情報を備える独立データ単位管理手段と、
記憶媒体に記憶されているデータを、１以上の所定のデータ書込単位が連続する上記記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部として管理するためのデータ単位部管理情報を備えるとともに、上記独立データ単位については、独立データ単位を形成するデータ単位部に対応する上記データ単位部管理情報を使用することに基づいて、１以上のデータ単位部の連結として形成されるものとして管理するようにされたデータ単位部管理手段と、
記憶媒体からの読み出し対象となる上記独立データ単位である読出対象独立データ単位について、上記独立データ単位管理手段のみによる単一管理がされているか、上記独立データ単位管理手段及び上記データ単位部管理手段による双方管理が行われているかについて判別する判別手段と、
上記判別手段により上記双方管理が行われているとの判別結果が得られた場合には、上記データ単位部管理手段が備える、読出対象独立データ単位に対応するデータ単位部管理情報に基づいてデータ単位部ごとの読み出し処理を実行することで、この読出対象独立データ単位についての読み出し処理を実行する読み出し手段と、
を備えることを特徴とする情報処理装置。
【請求項１３】
記憶媒体に記憶されているデータを、１つの独立したデータ単位である独立データ単位として管理するもので、所定のデータ書込単位の連結により独立データ単位が形成されるものとして管理するための独立データ単位管理情報を処理するようにされる独立データ単位管理手順と、
記憶媒体に記憶されているデータを、１以上の所定のデータ書込単位が連続する上記記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部として管理するためのデータ単位部管理情報を処理するようにされているとともに、上記独立データ単位については、独立データ単位を形成するデータ単位部に対応する上記データ単位部管理情報を使用することに基づいて、１以上のデータ単位部の連結として形成されるものとして管理するようにされたデータ単位部管理手順と、
記憶媒体からの読み出し対象となる上記独立データ単位である読出対象独立データ単位について、上記独立データ単位管理手順のみによる単一管理がされているか、上記独立データ単位管理手順及び上記データ単位部管理手順による双方管理が行われているかについて判別する判別手順と、
上記判別手順により上記双方管理が行われているとの判別結果が得られた場合には、上記データ単位部管理手順が処理する、読出対象独立データ単位に対応するデータ単位部管理情報に基づいてデータ単位部ごとの読み出し処理を実行することで、この読出対象独立データ単位についての読み出し処理を実行する読み出し手順と、
を実行することを特徴とする情報処理方法。
【請求項１４】
記憶媒体に記憶されているデータを、１つの独立したデータ単位である独立データ単位として管理するもので、所定のデータ書込単位の連結により独立データ単位が形成されるものとして管理するための独立データ単位管理情報を処理するようにされる独立データ単位管理手順と、
記憶媒体に記憶されているデータを、１以上の所定のデータ書込単位が連続する上記記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部として管理するためのデータ単位部管理情報を処理するようにされているとともに、上記独立データ単位については、独立データ単位を形成するデータ単位部に対応する上記データ単位部管理情報を使用することに基づいて、１以上のデータ単位部の連結として形成されるものとして管理するようにされたデータ単位部管理手順と、
記憶媒体からの読み出し対象となる上記独立データ単位である読出対象独立データ単位について、上記独立データ単位管理手順のみによる単一管理がされているか、上記独立データ単位管理手順及び上記データ単位部管理手順による双方管理が行われているかについて判別する判別手順と、
上記判別手順により上記双方管理が行われているとの判別結果が得られた場合には、上記データ単位部管理手順が処理する、読出対象独立データ単位に対応するデータ単位部管理情報に基づいてデータ単位部ごとの読み出し処理を実行することで、この読出対象独立データ単位についての読み出し処理を実行する読み出し手順と、
を実行情報処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばファイルなどの単位によりデータの記録再生が行われる記憶媒体に対応する情報処理装置と、その方法に関する。また、このような情報処理装置が実行するプログラムに関する。
【背景技術】
【０００２】
メディア（記憶媒体、記憶装置）に記憶されるデータを管理するのにあたり、ファイルシステムを採用してファイル単位により管理することが広く行われおり、このようなファイルシステムの１フォーマットとしてＦＡＴファイルシステムが知られている。ＦＡＴファイルシステムでは、周知のようにして、ファイルとしての記憶データの実体を管理するために、ディレクトリエントリと、ＦＡＴ(File Allocation Table)領域を備える。
【０００３】
ＦＡＴファイルシステムの下で、ファイル再生などを目的としてメディアに記憶されているファイルにアクセスするためには、先ず、アクセス対象のファイルに対応するディレクトリエントリにアクセスするようにされる。ディレクトリエントリには、ファイルとしての実データが記憶されているメディア上の記録開始位置がクラスタ番号（先頭クラスタ番号）により示されている。ちなみに、クラスタとは、ファイルシステムの処理階層におけるメディアに対する最小のデータ書込／読出単位となる。ファイルシステムより下位となるデバイスドライバの処理階層では、セクタがメディアに対する最小のデータ書込／読出単位となる。クラスタは、セクタを所定数連続させた領域として形成される。
【０００４】
また、ＦＡＴ領域は、メディアにおける全クラスタに対して個々に対応するＦＡＴエントリの集合によるテーブル構造を有しており、ＦＡＴエントリに対して次に連結すべきクラスタ番号を格納することで、ファイルをクラスタ単位の連結（クラスタチェイン）により管理している。そこで、上記ディレクトリエントリにおいて示される先頭クラスタ番号が示すＦＡＴ領域のＦＡＴエントリを参照して、ここに格納されている次のチェイン先となるクラスタ番号を取得し、この次のクラスタ番号に対応するＦＡＴエントリを参照する。以降、同様にしてＦＡＴエントリに格納されるチェイン先のクラスタ番号に従ってＦＡＴエントリを辿っていくことで、アクセス対象のファイルを形成するクラスタチェインが認識されることになる。そして、この認識したクラスタチェインに従って、実際にメディアにアクセスしてデータの読み込みを実行し、例えばファイルシステムより上位層のアプリケーションなどにデータを転送するようにされる。アプリケーションでは、転送されたデータを受け取ってファイルデータを構築して、所定のファイル対応のデータ処理を実行する。
【０００５】
このようにして、ＦＡＴファイルシステムでは、クラスタチェインから成るものとしてファイルを管理するようにしている。これにより、例えば１つのファイルデータが、クラスタ番号的に連続せずに離散的に記録され、フラグメント（断片化）を生じているとしても、これらの断片化しているデータ部分をクラスタチェインにより連結して、適正に１つのファイルとして管理できるようになっている。
【０００６】
しかしながら、ファイルデータをクラスタチェインにより管理しているということは、上記したファイルアクセスの手順として述べたように、ＦＡＴ領域のＦＡＴエントリを、クラスタのチェイン順に対応して順次辿って参照していく処理が必要になる。以前から、この処理負担に起因するオーバーヘッドが生じて、ファイルアクセスについての処理速度が低下するなどのデメリットを生じる可能性があることが指摘されている。
【０００７】
そこで、例えばＦＡＴファイルシステムを採用すること前提としたうえで、ファイルを管理するための管理情報として、基本的となるディレクトリエントリとＦＡＴ領域に加えて、ファイルごとのクラスタのチェイン情報（リンク情報）のみを有するクラスタリンクテーブル、あるいは、メディア上の空き領域を示す空き情報テーブルを、ディレクトリエントリ及びＦＡＴ領域の情報を参照して構築して保持させておくようにした構成が特許文献１に示されている。特許文献１では、例えばファイルアクセスやファイルデータの記録にあたって、これらのテーブル情報を参照することで、ディレクトリエントリ及びＦＡＴ領域のみを参照する基本的なアクセス手順と比較して、メディアへのアクセスがより効率的に行われるようにされている。
【０００８】
【特許文献１】特開２００４−８６８２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明としても、メディアへの記憶領域に対するアクセスが、従来と比較してより効率的に行われるようにすることを目的とする。また、効率的なメディアアクセスを実現するのにあたって、そのための仕組みとしてはできるだけ簡易なものとなるようにして、管理情報のメンテナンスなどの処理についてもできるだけ軽いものとなるべきことを目指す。
【課題を解決するための手段】
【００１０】
そこで本発明は上記した課題を考慮して、情報処理装置として次のように構成する。
つまり、記憶媒体に対してデータを書き込む書込手段と、１以上の所定のデータ書込単位が連続する記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部を管理する情報であり、少なくとも、記憶領域上におけるデータ単位部が書き込まれた位置を特定するための情報項目として、データ単位部の開始位置を示し得る情報項目と、データ単位部の終了位置とを示し得る情報項目を格納して形成されるデータ単位部管理情報を、書込手段によるデータ単位部の書き込み結果に応じて形成し、所定の情報記憶領域に保持させるデータ単位部管理手段とを備えて構成する。
【００１１】
また、情報処理方法として、記憶媒体に対してデータを書き込む書込手順と、１以上の所定のデータ書込単位が連続する記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部を管理する情報であり、少なくとも、記憶領域上におけるデータ単位部が書き込まれた位置を特定するための情報項目として、データ単位部の開始位置を示し得る情報項目と、データ単位部の終了位置とを示し得る情報項目を格納して形成されるデータ単位部管理情報を、上記書込手順によるデータ単位部の書き込み結果に応じて形成し、所定の情報記憶領域に保持させるデータ単位部管理手順とを実行するように構成することとした。
【００１２】
また、上記情報処理方法としての手順を情報処理装置に実行させるようにしてプログラムを構成することとした。
【００１３】
また、情報処理装置として次のようにも構成することとした。
つまり、記憶媒体に記憶されているデータを、１つの独立したデータ単位である独立データ単位として管理するもので、所定のデータ書込単位の連結により独立データ単位が形成されるものとして管理するための独立データ単位管理情報を備える独立データ単位管理手段と、記憶媒体に記憶されているデータを、１以上の所定のデータ書込単位が連続する上記記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部として管理するためのデータ単位部管理情報を備えるとともに、独立データ単位については、独立データ単位を形成するデータ単位部に対応するデータ単位部管理情報を使用することに基づいて、１以上のデータ単位部の連結として形成されるものとして管理するようにされたデータ単位部管理手段と、記憶媒体からの読み出し対象となる独立データ単位である読出対象独立データ単位について、独立データ単位管理手段のみによる単一管理がされているか、独立データ単位管理手段及びデータ単位部管理手段による双方管理が行われているかについて判別する判別手段と、この判別手段により双方管理が行われているとの判別結果が得られた場合には、データ単位部管理手段が備える、読出対象独立データ単位に対応するデータ単位部管理情報に基づいてデータ単位部ごとの読み出し処理を実行することで、この読出対象独立データ単位についての読み出し処理を実行する読み出し手段とを備えることとした。
【００１４】
また、上記情報処理装置に対応する情報処理方法として、記憶媒体に記憶されているデータを、１つの独立したデータ単位である独立データ単位として管理するもので、所定のデータ書込単位の連結により独立データ単位が形成されるものとして管理するための独立データ単位管理情報を処理するようにされる独立データ単位管理手順と、記憶媒体に記憶されているデータを、１以上の所定のデータ書込単位が連続する記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部として管理するためのデータ単位部管理情報を処理するようにされているとともに、独立データ単位については、独立データ単位を形成するデータ単位部に対応するデータ単位部管理情報を使用することに基づいて、１以上のデータ単位部の連結として形成されるものとして管理するようにされたデータ単位部管理手順と、記憶媒体からの読み出し対象となる独立データ単位である読出対象独立データ単位について、独立データ単位管理手順のみによる単一管理がされているか、独立データ単位管理手順及びデータ単位部管理手順による双方管理が行われているかについて判別する判別手順と、この判別手順により双方管理が行われているとの判別結果が得られた場合には、データ単位部管理手順が処理する、読出対象独立データ単位に対応するデータ単位部管理情報に基づいてデータ単位部ごとの読み出し処理を実行することで、この読出対象独立データ単位についての読み出し処理を実行する読み出し手順とを実行するように構成することとした。
【００１５】
また、上記情報処理方法としての手順を情報処理装置に実行させるようにしてプログラムを構成することとした。
【００１６】
上記各構成によれば、記憶媒体に記録したデータについては、所定のデータ書込単位が連続する記憶媒体上の記憶領域にデータを書き込んで形成されるデータ単位部ごとに管理するようにされている。そして、データ単位部を管理するためのデータ単位部管理情報において、対応するデータ単位部についての記憶媒体上での記憶位置を示すのにあたっては、データ単位部の開始位置と終了位置とをそれぞれ示し得る情報項目を格納することとしている。
このようなデータ管理が行われる記憶媒体からデータを読み出すときには、読み出し対象データに対応するデータ単位部のデータ単位部管理情報における上記情報項目を参照して、そのデータ単位部の開始位置と終了位置を認識するようにされる。そして、記憶媒体に対するデータの読み出しを、上記開始位置として認識した位置から開始して、そのデータの読み出しを、上記終了位置として認識した位置まで実行することで、目的とするデータ単位部を成すデータの読み出しが適正に行われることになる。
つまり、本発明では、既存のファイルシステムのようにして、例えばクラスタといわれるデータ書込単位によるチェインを辿りながら、記憶媒体に記憶されるデータに対するアクセスを逐次実行していくのではない。かわりに、データ単位部について、一旦その開始位置と終了位置を認識したのであれば、あとは、そのデータ単位部の開始位置から終了位置までを、管理情報を参照することなく一度に読み出すことができる。
【発明の効果】
【００１７】
このようにして本発明では、例えば既存のファイルシステムに基づく場合と比較して、記憶媒体へのアクセスを効率的なものとすることができる。そのうえで、アクセスに使用するデータ単位部管理情報は、対応するデータ単位部の開始位置と終了位置を示す情報項目が必須であるから、複雑な構造とすることが避けられる。したがって、作成、メンテナンスなどのための処理も煩雑にはならずに、簡易なものとすることが可能である。
【発明を実施するための最良の形態】
【００１８】
以下、本発明を実施するための最良の形態（以下、実施の形態という）について説明する。本実施の形態としては、本発明としての情報処理装置の構成をデジタルビデオカメラに適用した場合を例に挙げることとする。
【００１９】
図１は、本実施の形態としてのデジタルビデオカメラ１の構成例を示すブロック図である。
この図に示すデジタルビデオカメラ１において、光学系部２は、撮像レンズ、絞りなどを備えて成り、入射された光を撮像光として、光電変換部３に結像させる。また、光学系部２においては、フォーカス（焦点）調整のためのフォーカス調整機構や、絞り値に応じて絞りを可変する絞り可変機構などを備えているものとされ、このような機構部の駆動は、カメラ機能部６から出力される駆動信号によって行われる。カメラ機能部６は、ＣＰＵ１０の制御に応じて、しかるべきフォーカス状態や絞りの状態等が得られるように所要の駆動信号を出力するようにされている。
また、例えば光学ズーム機能を与えることとした場合には、光学系部２においてズームレンズを移動させるズーム機構を設けると共に、上記と同様にして、ＣＰＵ１０の制御に応じて上記ズーム機構を移動させる駆動部を設けるようにすればよい。さらに、カメラ機能部６として、ストロボを設けたうえで、ストロボ発光機能を与えるように構成することもできる。
【００２０】
光電変換部３は、例えば光電変換素子であるＣＣＤ(Charge Coupled Device)を備えて構成され、光学系部２から入射されて受光面にて結像された撮像光を光電変換することで撮像信号を生成してビデオ信号処理部４に出力する。撮影時においては、例えば露出設定結果に応じて決定されるシャッター速度の指示が、ＣＰＵ１０からビデオ信号処理部４に通知される。ビデオ信号処理部４では、通知されたシャッター速度に対応する走査タイミング信号を光電変換部３に出力する。光電変換部３は、この走査タイミング信号に応じて走査を行うようにして、光電変換処理を実行して映像信号を出力するようにされる。
【００２１】
ビデオ信号処理部４は、光電変換部３から入力されたアナログのビデオ信号（撮像画像信号）について、例えばゲイン調整、サンプルホールド処理を施すことによって波形整形を行ったうえで、Ａ／Ｄ変換を行うことで、デジタルとしてのビデオ信号データに変換する。そして、この変換処理によって得られたデジタルビデオ信号について、例えば、表示用輝度データの生成処理などをはじめ、表示部７にて表示が行われるようにするためのビデオ信号処理を実行する。これに伴い、ビデオ信号処理部４では、ＣＰＵ１０の制御に応じてキャラクタ画像なども撮像画像に重畳して表示可能なように、いわゆるオンスクリーンディスプレイのための信号処理も実行可能とされている。
表示部７として採用される実際のディスプレイデバイスについては特に限定されるべきものではないが、現状においては、広く液晶ディスプレイパネルが採用されている。
【００２２】
また、ビデオ信号処理部４は、光電変換部３から入力されたアナログビデオ信号を変換して得たデジタルビデオ信号について、例えば所定方式による圧縮符号化処理を施して、圧縮ビデオデータを生成することが可能とされている。
また、本実施の形態のデジタルビデオカメラは、スチルカメラ機能も備える。つまり、撮像画像信号について、写真としての所定形式による静止画データファイルを生成することが可能とされているが、このような画像処理も、ビデオ信号処理部４によって行われる。
【００２３】
また、ビデオ信号処理部４では、光電変換部３から入力された画像（映像）信号や、後述するメディアから読み出されたＡＶ(Audio Video)データのファイル（ＡＶファイル）などを、所定方式のアナログビデオ信号又はデジタルビデオ信号に変換して、画像入出力部５を介して外部機器などに出力可能とされている。
画像入出力部５は、外部から所定方式のビデオ信号を入力可能ともされており、この入力したビデオ信号をビデオ信号処理部４の処理を経て表示部７に表示させることが可能とされる。また、ビデオ信号処理部４は、画像入出力部５が入力したビデオ信号について、光電変換部３から入力されたアナログビデオ信号と同様にして、記録用データに変換してメディアコントローラ１３に転送することもできる。
これに対応して、画像入出力部５は、例えば所定方式に従った映像（画像）信号出力端子／映像信号入力端子を備える。
【００２４】
また、本実施の形態のデジタルビデオカメラ１は、音声処理部８及び音声入出力部９を備えることで、音声信号の入出力も可能とされている。
先ず、音声入力については、音声入出力部９としてマイクロフォンなどを備え、外部音声の収音を行って音声信号に変換して音声を入力するようにされる。そして、このようにして入力した音声信号を音声処理部８に出力する。音声処理部８は、例えば、撮像画像の圧縮符号化に対応する音声圧縮符号化方式により符号化された圧縮オーディオデータに変換するなどの音声信号処理を施す。
【００２５】
ＣＰＵ１０は、ビデオ信号処理部４により得られた撮像画像についての圧縮ビデオデータと、音声処理部８により得られた収音音声についての圧縮オーディオデータとにより、所定形式のＡＶファイルを形成するための制御処理を実行するようにされる。このＡＶファイルは、圧縮ビデオデータを再生して出力される動画像に対して、圧縮オーディオデータを再生して出力される音声の再生時間軸が同期したものとなっている。なお、実際にＡＶファイルを形成するための構成としては、ＣＰＵ１０がプログラムを実行して得られるデジタル信号処理となるソフトウェア構成とされてもよいし、あるいは、ＡＶファイルを形成するためのハードウェアを備えるとともに、ＣＰＵ１０がこのハードウェアについての動作を制御する構成としてもよい。
上記ＡＶファイルとしてのデータは、記録用データとして、例えばＣＰＵ１０の制御によってメディアコントローラ１３に転送される。また、ＣＰＵ１０は、ビデオ信号処理部４によって生成された写真画像としての所定形式の静止画データファイルについても、記録用データとしてメディアコントローラ１３に転送することができる。
【００２６】
音声入出力部９としては、音声信号入力端子などを備えて外部のオーディオ機器などからオーディオ信号を入力するようにも構成することができる。上記音声信号入力端子から入力されたオーディオ信号については、音声処理部８は、所定形式によるデジタルオーディオデータファイルに変換するようにされる。ＣＰＵ１０は、このようなデジタルオーディオデータファイルのデータについても、記録用データとしてメディアコントローラ１３に転送することができる。
【００２７】
メディアコントローラ１３は、ＣＰＵ１０との連携により、所定の異なる種別の外部のメディア（記憶媒体）、外部記憶デバイス（記憶装置）に対応して、これらのメディアに対するデータ処理に関する制御処理を実行可能に構成される。ここでいうメディアに対するデータ処理とは、メディアのフォーマット処理や、メディアの記憶領域に対するファイル及びファイル管理のための情報（ファイル管理情報）などの書き込み／読み出し処理など、メディアに記憶されるべきデータに関連する何らかの処理をいう。
【００２８】
本実施の形態では、メディアコントローラ１３に対しては、先ず、ハードディスクドライブ（ＨＤＤ）が接続されている。ＨＤＤは、周知のようにしてハードディスクといわれる、記憶媒体として磁気ディスクを備える記憶デバイスであり、現状においては、比較的低コストでギガバイトクラスの大容量が得られる。また、周知のようにして、記憶媒体である磁気ディスクに対する物理的なデータの読み出し／書き込みは、磁気ヘッドにより、磁気ディスク上に形成されるトラックをトレースしながら磁界印加、磁界検出を行うことによって実現される。
また、この場合のＨＤＤとしては、例えばデジタルビデオカメラ１に固定的に内蔵されるものとしてもよいし、デジタルビデオカメラ１（ホスト）に対して装脱可能な、所定の規格に従ったリムーバブル形態とされてもよい。
【００２９】
また、この図では、メディアコントローラ１３は、所定方式の光ディスク、光磁気ディスク、及び半導体メモリ素子を備える記憶デバイスである半導体記憶装置などにも対応してデータ処理が可能であることとされている。
光ディスク及び光磁気ディスクなどに対応する場合の実際としては、これらの記録（記憶）媒体に対応してデータの書き込み／読み出しが可能に構成されたドライブとしてのデバイスを備え、これらのデバイスとメディアコントローラ１３とを接続することになる。
また、半導体記憶装置に対応する場合は、半導体記憶装置の実際の規格に従って、この半導体記憶装置が装脱されるスロットを、デジタルビデオカメラ１の本体に備える。このスロットに対して半導体記憶装置が適正に装填されると、半導体記憶装置のピン端子がスロットのコネクタ部位の電極と接続され、これにより、半導体記憶装置は、メディアコントローラ１３との間で通信が可能に接続されることになる。
【００３０】
メディアコントローラ１３は、先に説明したようにして、記録用データが転送されてくるのに応じて、この記録用データを、メディアコントローラ１３と接続されているメディア（記憶媒体、記憶装置）のうちから対象として選択されているメディアに対してさらに転送する。データが転送されたメディアでは、メディアコントローラ１３側からの指示に応じて記憶領域に対してデータを書き込んで記憶させる。このようにしてメディアに記憶されるデータがファイルとして記憶管理されることになる。なお、メディアに記憶されるファイルの管理は所定方式のファイルシステムによって行われる。
【００３１】
また、例えばメディアに記憶されているファイルについての再生として、ＡＶファイルを再生するときには、ＣＰＵ１０及びメディアコントローラ１３は、指定されたＡＶファイルにアクセスして読み出しを行う。このようにして読み出されるＡＶファイルは、例えばＣＰＵ１０の処理により、圧縮ビデオデータと圧縮オーディオデータとに分離され、圧縮ビデオデータについてはビデオ信号処理部４に受け渡し、圧縮オーディオ信号については、音声処理部８に受け渡すようにされる。
この場合のビデオ信号処理部４及び音声処理部８は、それぞれ、上記のようにして転送されてきた圧縮ビデオデータ、圧縮オーディオデータについて、復調処理を含む所要の再生信号処理を実行する。これにより、圧縮ビデオデータを再生した画像を表示部７にて表示するとともに、この画像の再生時間に同期して、圧縮オーディオデータを再生して得られる音声信号を、音声入出力部９が有するとされるスピーカにより音声として出力させたり、ヘッドフォン端子から出力させることができる。
【００３２】
また、例えばメディアから再生されたオーディオデータファイルは、音声処理部８の音声信号処理を経た後に、音声入出力部９を介して、外部に対して所定形式のオーディオ信号、オーディオデータとして出力することも可能とされている。この場合、音声入出力部９としては、音声処理部８から出力される所定のオーディオ信号、オーディオデータの形式に対応するオーディオ出力端子を備えることになる。
【００３３】
ＣＰＵ(Central Processing Unit)１０は、プログラムを実行することでデジタルビデオカメラ１についての各種制御処理を実行する。ＲＯＭ１１は、ＣＰＵ１０が実行する各種プログラムのほか、ＣＰＵ１０が処理を実行するのに使用する各種設定情報などが記憶されている。ＲＡＭ１２は、ＣＰＵ１０がプログラムに従った処理を実行するときの作業領域として使用されるもので、各種の演算処理結果などのデータが保持される。
また、不揮発性メモリ１２ａは、例えばフラッシュメモリなどをはじめとした、電源供給が停止しても記憶内容が消去されない性質のメモリ素子により形成され、ＣＰＵ１０の制御によって、データの書き込み／読み出しが実行される。この不揮発性メモリ１２ａに記憶されるべきデータ（情報）としては、適宜内容の変更が行われる設定情報などが一般的であるが、特に限定されるものではなく、実際のデジタルビデオカメラ１の仕様などに応じて所要の各種の情報を記憶することとされればよい。
【００３４】
この場合の操作入力部１５は、デジタルビデオカメラ１に備えられる各種操作子を一括して示しているものとされる。例えば、この操作入力部１５における操作子としては、写真撮影時に操作されるシャッターボタン、撮影モードなどを選択する操作子、パラメータのアップ／ダウンを行うための操作子などが含まれる。
さらに、この場合の操作入力部１５としては、例えば表示部７の表示画面を利用したＧＵＩとしての入力操作を実現するための構成を備える。
【００３５】
通信部１６は、ＣＰＵ１０の制御に応じて、所定のデータ通信方式により外部デバイスと通信を行うためのハードウェア、ソフトウェアを実装して構成される部位である。この通信部１６が対応するデータ通信方式としては、有線、無線を問わず特に限定されるべきものではなく、また、対応するデータ通信方式の数も限定されるべきものでない。現状であれば、データ通信方式としては、有線ではEthernet（商標）などのネットワーク、USB(Universal Serial Bus)、IEEE(the Institute of Electrical and Electronic Engineers)1394などのデータバス規格などを挙げることができる。また、無線であれば、Bluetooth（商標）などのデバイス間近距離無線通信、IEEE802.11a/b/gなどの無線ＬＡＮ(Local Area Network)規格を挙げることができる。
【００３６】
電源部１７は、デジタルビデオカメラ１における各種のハードウェアデバイスに対して動作電源を供給するもので、例えばバッテリや電源アダプタからの電力供給を受けて動作する電源回路などを備えて構成される。
【００３７】
上記のようにして、本実施の形態のデジタルビデオカメラ１では、主としては、撮像／収音により得られるＡＶファイルを、ＨＤＤ、各種光学ディスク状記録媒体（光磁気ディスクを含む）、半導体記憶装置などのメディア（記憶媒体）に対して記憶させることができるようになっている。
上記のようにしてメディアに記憶されるファイルは、通常は、所定フォーマットによるファイルシステムにより管理されることになるのであるが、本実施の形態としては、ＦＡＴ(File Allocation Table)ファイルシステムにより管理されるものとしている。ＦＡＴファイルシステムは、周知のようにして、ツリー型のディレクトリ構造によりファイルを管理するようにされており、また、データの書き込み／読み出しについては、クラスタといわれる論理的な最小データ管理単位により行うものとされている。クラスタは、メディアにおける物理的なデータ書き込み／読み出しの最小単位であるセクタを所定数にまとめたものが１単位となる。
【００３８】
図２は、ＦＡＴファイルシステムの一般的なシステム構成を階層モデルにより示している。
先ず、この階層モデルとしては、ソフトウェア層と、その下層となるハードウェア層に大別される。
ソフトウェア層は、この場合には、メディアに対してホスト（実施の形態ではデジタルビデオカメラ１）となるデバイスにおいて、ＣＰＵが実行するプログラム、及び各種ファームウェア、ミドルウェアなどにより実現されるソフトウェア処理が対応するものとされる。この場合のソフトウェア層は、図示するように、上層から下層にかけて、アプリケーション１００、ファイルシステム１０１、デバイスドライバ１０２の各層が位置する。
ハードウェア層には、メディアそのものの物理的な記憶領域が位置するものとして考えることができる。
【００３９】
アプリケーション１００は、例えばファイルの記録／再生機能などを有して、メディアを使用するアプリケーションソフトウェアが対応し、ファイルレベルでのアクセス要求をファイルシステム１０１に対して行う。
【００４０】
ファイルシステム１０１は、ファイルシステムとしての機能を実現するソフトウェアが対応する。本実施の形態では、ＦＡＴファイルシステムを採用することとしているので、ファイルシステム１０１の機能を提供するソフトウェアとしても、ＦＡＴファイルシステムに対応して構成されるものとなる。
このファイルシステム１０１では、アプリケーション１００からのファイルレベルによるアクセス要求を、ＦＡＴファイルシステムのフォーマットにおけるデータの管理単位となるクラスタのレベルに変換して、デバイスドライバ１０２に対してアクセス要求を行う。
【００４１】
デバイスドライバ１０２は、コントロール対象のデバイスとなるメディアをコントロールするためのソフトウェアが対応し、上記ファイルシステム１０１からのＦＡＴファイルシステムフォーマットに従ったクラスタレベルによるアクセス要求を、メディア１０３上におけるデータの記録再生単位であるセクタのレベルに変換して、メディア１０３へのアクセス要求を行う。
【００４２】
この場合のメディア１０３は、論理的にはＦＡＴファイルシステムに従ってフォーマット（初期化）されたものとなる。図１では、ＨＤＤ、光学ディスク状記録媒体、半導体記憶装置など、メディアコントローラ１３と接続されている記憶媒体、記憶装置がここでのメディア１０３に相当する。そして、メディア１０３は、デバイスドライバ１０２からのセクタレベルのアクセス要求に応答して、指定されたセクタアドレスからデータを読み出して、デバイスドライバ１０２に返す。つまり、セクタレベルでのアクセス応答を実行する。
デバイスドライバ１０２は、メディア１０３からのセクタレベルでのアクセス応答、つまりセクタ単位でのデータの受け取りを行い、この受け取ったデータについて、クラスタ単位によるデータとして扱ってファイルシステム１０１に受け渡す（クラスタレベルでのアクセス応答）。
ファイルシステム１０１は、デバイスドライバ１０２から受け取ったデータを、ファイルレベルのデータとしてアプリケーション１００に受け渡すようにされる。アプリケーション１００は、ファイルとして受け取ったデータについて、例えばユーザによる操作入力などに応じたアプリケーションレベルでの所要の処理を実行する。
【００４３】
また、ＦＡＴファイルシステムは、記憶ファイルをツリー型のディレクトリ構造により管理し、また、ファイルをクラスタ単位の集合として管理するようにされている。このようなファイル管理、データ管理は、周知のようにしてディレクトリエントリ、及びＦＡＴといわれるテーブル情報を備えることにより実現されるものとなる。ディレクトリエントリは、メディア上におけるファイル、ディレクトリ（サブディレクトリ）の所在をクラスタレベルで示す情報であり、ＦＡＴは、ディレクトリ、ファイルを成すクラスタレベルでのチェイン（リンク、連結）を示す情報である。
【００４４】
図３は、ＦＡＴの規格に従ったメディアのフォーマット構造を示している。
ＦＡＴの形式としては複数が規定されているのであるが、ここでは、ＦＡＴ１６及びＦＡＴ３２の各形式に対応するフォーマット構造を示すこととする。
先ず、図３の左側に示されるＦＡＴ１６に対応するフォーマット構造から説明する。
この図に示す構造は、ＬＢＡ(Logical Block Addressing)に従った論理的なものとなっている。つまり、最も上を先頭セクタ（LBA=0）として、以降、下に向かってブロック（セクタ）の番号が進んでいくものとなる。
また、ＦＡＴのファイルシステムでは、１つの物理的記憶領域を複数のパーティションに分割可能とされているが、ここでは説明の便宜上、１パーティションとした場合のフォーマット構造を示している。
【００４５】
先ず、LBA=0として表される先頭セクタは、ＭＢＲ(Master Boot Recorder) といわれる、ブート領域となっている。
【００４６】
ＭＢＲの構造を図４（ａ）に示す。
１セクタは５１２バイトのサイズであり、従って、ＭＢＲとしても５１２バイトとなる。図４（ａ）では、このＭＢＲの領域における５１２バイトについて、先頭から最終のバイト位置を、0000h〜01FFhまでの１６進法による番号を振って表現したうえで、１６バイト単位を１列として配列して示している。なお、１６進法の表記を行うのにあたっては、上記0000h、或いは01FFhのようにして、数値の最後尾に１６進法表記であることを示すhを付すこととする。
先ず、バイト位置0000h〜01BDhまでの４４６バイトの領域は、ＯＳ(Operating System)起動用のメディアとして使用される場合において、その起動（ブート：boot）のためのコード（起動コード）が格納される領域である。
【００４７】
ＭＢＲにおけるバイト位置01BEh〜01FDhまでの６４バイトの領域は、パーティションテーブルとされており、起動時において必要とされるパーティションごとに関する所定の情報が格納される。このパーティションテーブルの領域は、さらに１６バイト単位で４つの領域に分割されることになっており、これらの４分割された領域は、先頭から順に、パーティション１、パーティション２、パーティション３、パーティション４に対応する領域となっている。これらのこれらのパーティションごとに対応する各領域は、パーティションごとのエントリの領域となる。
【００４８】
また、ＭＢＲにおける最終の２バイトの領域には、現セクタがＭＢＲであることの識別子として55AAhが格納される。
【００４９】
上記パーティションのエントリは、図４（ｂ）に示す構造を有するものとされる。先ず、最上位のバイト位置00hは、該当パーティションについての、起動ドライブとしての指定の有無を示すフラグを格納する領域とされる。
また、続くバイト位置01h〜03hによる３バイトの領域は、該当パーティションの開始セクタをＣＨＳ（Cylinder/Head/Sector）により表現した値が格納される。バイト位置05h〜07hから成る３バイトの領域により、該当パーティションの終了セクタをＣＨＳにより表現した値が格納される。
また、バイト位置08h〜0Bhによる４バイトの領域により、該当パーティションの開始セクタをＬＢＡにより示す値を格納することとしている。
【００５０】
バイト位置0Ch〜0Fhから成る４バイトの領域は、該当パーティションのデータサイズ（パーティションサイズ）を示す値を格納する。
【００５１】
バイト位置04hが示す１バイトの領域は、システム識別子ともいわれる、該当パーティションが対応するプラットフォーム、ファイルシステムなどのタイプを示す値を格納する。
【００５２】
説明を図３に戻す。
ＭＢＲとしての先頭セクタに続けては所定セクタ数による空き領域を設けることとしている。そして、この空き領域より後となるセクタ領域により、パーティション単位の領域を形成する。
【００５３】
１パーティション内における先頭セクタから所定のバイト数までによる領域は、システム関連の情報を格納するシステム領域となる。
このシステム領域において先頭セクタから開始される所定バイト数の領域は、ＢＰＢ(BIOS Parameter Block/Boot Parameter Block)とされ、ここでは現パーティションに関して、例えばホスト側のＢＩＯＳ(Basic Input/Output System)などのように、ブロックデバイスコントロールのためのプログラムが利用すべき所要のデータが格納される。ＢＰＢに格納する情報においては、次に説明するＦＡＴ領域の数、メインのＦＡＴ領域の開始セクタ、ＦＡＴ領域のセクタ数などの情報を含む。
【００５４】
ＢＰＢに続けてはＦＡＴ１、ＦＡＴ２のＦＡＴ領域が順に配置される。通常は、ＦＡＴ１，２のいずれか一方の領域がメインのＦＡＴ領域として使用される。他方のＦＡＴ領域は、一般的には、メインのＦＡＴ領域の内容をコピーしたミラー領域として使用するなど、例えばメインのＦＡＴ領域の予備領域、バックアップ用領域として使用される。
【００５５】
これらのＦＡＴ領域は、ＦＡＴエントリが、データ領域内のクラスタ番号順に配列されて形成される領域とされる。ＦＡＴエントリと、データ領域内のクラスタとは１対１で対応しており、ＦＡＴエントリには、ディレクトリ、ファイルの記憶結果に応じて、該当クラスタについての情報として、例えば、未使用、該当ファイルにおいて現クラスタの次にチェインされるクラスタ番号、不良クラスタ、EOF(End Of File：ファイルにおける最終クラスタ)などのうちから、何れかを示す情報が格納される。
ＦＡＴ１６フォーマットでは、クラスタ番号を２バイト（１６ビット）により表すこととしており、これに応じて、ＦＡＴエントリの個々のサイズも２バイトとされている。
【００５６】
ＦＡＴ１，ＦＡＴ２の領域に続けては、所定サイズのルートディレクトリエントリが配置される。このルートディレクトリエントリには、ルートディレクトリにおけるディレクトリ、ファイルなどについてのディレクトリエントリが格納される。
【００５７】
ルートディレクトリより下位のセクタ領域が、データ領域となる。このデータ領域に対するデータの書き込み／読み出しは、ＦＡＴファイルシステムにより管理される。従って、図示するようにして、ファイルシステムのフォーマット構造としては、１以上の所定数のセクタの連続から成るクラスタ単位によりデータ領域を管理することになる。上記もしたように、ＦＡＴ領域は、原則として、このデータ領域を形成する全クラスタに対応するＦＡＴエントリを有して形成されるものとなる。
【００５８】
続いては図３の右側に示されるＦＡＴ３２に対応するフォーマット構造について説明する。
ＦＡＴ３２対応のフォーマット構造としても、LBA=0で表される先頭セクタにＭＢＲを配置している。そして、このＭＢＲに続けて配置する所定セクタ数の空き領域に続けて、パーティション単位の領域を配置していくようにされる。
【００５９】
ＦＡＴ３２対応のフォーマット構造のパーティション領域にけるシステム領域としては、ＢＰＢに続けてＦＳｉｎｆｏの領域を設けることとしている。
ＦＳｉｎｆｏは、該当パーティションにおける空き容量を計算するのに利用する所定の情報を格納する領域である。ＦＡＴ１，ＦＡＴ２のＦＡＴ領域は、ＦＳｉｎｆｏに続けて順次配置される。
【００６０】
ＦＡＴ３２のフォーマットの場合のＦＡＴ領域も、クラスタと１対１で対応するＦＡＴエントリがクラスタ番号順に配列されて形成され、ＦＡＴエントリには、ディレクトリ、ファイルの記憶結果に応じて、該当クラスタについての所定の情報が格納される。ただし、ＦＡＴ３２のフォーマットでは、クラスタ番号を４バイト（３２ビット）で表現することから、ＦＡＴエントリの個々のサイズも４バイトで区切られることになる。
【００６１】
また、ＦＡＴ３２のフォーマット構造では、ＦＡＴ１６のフォーマット構造においてシステム領域内に設けられていたルートディレクトリエントリの領域が省略されている。
ＦＡＴ３２のフォーマット構造では、ルートディレクトリはデータ領域内におかれることなっている。データ領域におけるルートディレクトリの開始クラスタ番号は、ＢＰＢにおける所定領域（RootClus）に格納される値により示されており、ルートディレクトリにアクセスするときには、上記RootClusを参照して認識したクラスタ番号にアクセスするようにされる。RootClusが示すルートディレクトリの開始クラスタ番号は、通常、２である。
【００６２】
データ領域は、この場合においても、ＦＡＴ３２のファイルシステムによりクラスタ単位でデータの書き込み／読み出しが管理される領域となる。
【００６３】
図５に、ＦＡＴのファイルシステムにおいて規定されるディレクトリエントリの構造を示す。なお、ここでは、ＦＡＴ３２に対応するディレクトリエントリの構造を示している。
この場合、ディレクトリエントリは３２バイトとされている。この図においては、上位バイトから下位バイトまでの各バイト位置を、0h〜1Fhまでの値により示している。
ディレクトリエントリを形成する３２バイトにおいて、最上位のバイト位置0hからバイト位置7hまでの８バイトの領域は、現ディレクトリエントリが示す現ファイル又は現ディレクトリの名称を格納する。
続く下位のバイト位置8hからバイト位置Ahまでの３バイトの領域は、現ファイルのファイル形式に応じた拡張子が格納される。
【００６４】
続く下位のバイト位置Bhには、現ファイル／現ディレクトリについての属性を示す値が格納される。
バイト位置Chは、ここでは予約領域とされている。
バイト位置Dh〜Fhまでの３バイトの領域は、現ファイル／現ディレクトリの作成時刻を示す値を格納する。
バイト位置10h−11hによる２バイトの領域は、現ファイル／現ディレクトリの作成日付を示す値を格納する。
バイト位置12h−13hによる２バイトの領域は、現ファイル／現ディレクトリに対するアクセスが最後に行われた日（最終アクセス日付）を示す値を格納する。
【００６５】
また、バイト位置14h−15hによる２バイト領域とバイト位置1Ah−1Bhによる２バイト領域との計４バイトの領域によっては、現ファイル／現ディレクトリが記憶されるメディア上の先頭位置をクラスタ番号により示すようにされる。つまり、この計４バイトの領域には現ファイル／現ディレクトリについての先頭クラスタ番号の値が格納される。バイト位置14h−15hによる２バイト領域に対しては、先頭クラスタ番号についての上位４バイトの値を格納する。バイト位置1Ah−1Bhによる２バイト領域に対しては、先頭クラスタ番号についての下位４バイトの値を格納する。
【００６６】
バイト位置16h−17hによる２バイト領域は、現ファイル／現ディレクトリについての記録（最後の更新）が実行された時刻（記録時刻）を示す値を格納する。
バイト位置18h−19hによる２バイト領域は、現ファイル／現ディレクトリについての記録（最後の更新）が実行された日付（記録日付）を示す値を格納する。
バイト位置1Ch〜1Fhまでの４バイトの領域は、現ファイル／現ディレクトリについてのサイズ（容量）を示す値を格納する。
【００６７】
図６は、ＦＡＴファイルシステムによるファイル管理例を示している。なお、この図においては、ＦＡＴ３２に従ってフォーマットされた場合を示している。
ここでは、データ領域において、少なくともファイルＡ、ファイルＢ、ファイルＣ、ファイルＤが記憶されているものとしたうえで、ファイルＡ，Ｂ，Ｃ，Ｄのディレクトリエントリを、それぞれ図６（ａ）（ｂ）（ｃ）（ｄ）に示す。なお、この図における説明としては、ディレクトリエントリにおける先頭クラスタ番号(バイト位置14h-15h/1Ah-1Bh)
の情報が主要であることから、他の領域の情報については省略している箇所がある。
【００６８】
また、図６（ｅ）は、ＦＡＴ領域の一部を示すもので、ファイルＡ，Ｂ，Ｃ，Ｄの記憶結果に対応するＦＡＴエントリの内容を有している。なお、この図６（ｅ）においては、図示が簡略でわかりやすくなることを考慮して、ほぼファイルＡ，Ｂ，Ｃ，Ｄのみに対応したＦＡＴエントリ内容のみを抜き出したものとなっている。なお、前述もしたように、ＦＡＴ３２では、個々のＦＡＴエントリは３２ビットのサイズを有する。
また、この図６（ｅ）に示すＦＡＴ領域におけるＦＡＴエントリは、00000000h、00000010h、00000020h、00000030h・・・として示されるように、ＦＡＴエントリに対応するクラスタ番号の値が１桁ごとにインクリメントされる行と、各行が示すクラスタ番号の値に対して足し合わせる最下位桁の値である、＋00h〜＋0Fhが示される列とのマトリクスにより配列されている。例えば、00000000hの行と＋07hの列が交差する位置のＦＡＴエントリは、クラスタ番号00000007hに対応する。
【００６９】
ＦＡＴファイルシステムにおいては、クラスタ番号00000000h、00000001hで表される先頭クラスタとこれに続く２番目のクラスタの２クラスタは予約領域（RSV）となる。これに応じて、クラスタ番号00000000h、00000001hに対応する各ＦＡＴエントリも予約領域として規定されている。
そして、上記ＦＡＴエントリに格納する値として、現クラスタの次にチェインするクラスタ番号は、00000002h〜0FFFFFF6hで表すこととしている。また、EOF（該当クラスタを含むファイルにおける最終クラスタ（ファイルの終端クラスタ））については、EOF＝0FFFFFFFhにより表すこととしている。また、図６（ｅ）においては、未使用クラスタであることを「−」で示しているが、例えば実際には00000000hの値により表すこととしている。
【００７０】
ファイルＡにアクセスするためには、先ず、図６（ａ）に示すファイルＡのディレクトリエントリにアクセスすることになるが、このファイルＡのディレクトリエントリそのものに対するアクセスは例えば次のようにして行われる。
ファイルアクセスのコマンドが絶対パスによるものである場合を例に挙げると、ファイルＡのディレクトリエントリに対するアクセスのためには、先ず、ルートディレクトリにアクセスし、ここからパスに従ってディレクトリエントリをたどっていくようにされる。また、ディレクトリエントリを辿っていく過程において、或るカレントディレクトリのサブディレクトリを辿ることになる場合があるが、周知のようにして、親ディレクトリと子ディレクトリの親子関係についても、ディレクトリエントリにより表現される。このためには、例えば親ディレクトリ側のディレクトリエントリには、名称として子ディレクトリを示すものを設けておき、この親ディレクトリ側のディレクトリエントリにより示される子ディレクトリのディレクトリエントリには、親ディレクトリが存在することを示す情報を名称の領域に格納したディレクトリエントリを設けるようにされる。これにより、親から子、及び子から親の両方向に対してディレクトリを辿っていくことができる。
そして、上記のようにしてパスに従ってディレクトリエントリをたどる結果、アクセス先として、最終的にはファイルＡのディレクトリエントリに到達することになる。
【００７１】
ファイルＡのディレクトリエントリへのアクセスが行われると、続いては、このファイルＡのディレクトリエントリを起点として、ファイルＡそのものへのアクセスが行われることになる。
ファイルＡそのものへのアクセスとしては、概念的には次のようなものとなる。
ファイルＡにアクセスするためには、ファイルＡのディレクトリエントリにおける先頭（開始）クラスタ番号を取得する。この先頭クラスタ番号は、データ領域においてファイルＡのデータが記憶される開始クラスタ番号を示しており、この場合には、図６（ａ）に示すようにして00000007hとなっている。つまり、この段階で、ファイルＡの開始クラスタ番号が00000007hであることが認識される。
そこで、ファイルシステムは、図６（ｅ）に示すＦＡＴ領域において、クラスタ番号00000007hに対応するＦＡＴエントリにアクセスして、このＦＡＴエントリに格納される値を参照する。この場合、クラスタ番号00000007hに対応するＦＡＴエントリには、00000008hを格納している。これにより、ファイルシステムは、ファイルＡのデータは、クラスタ番号00000007hのクラスタのデータに続けて、クラスタ番号00000008hのクラスタのデータが連結されていることを認識する。そこで、次にクラスタ番号00000008hに対応するＦＡＴエントリにアクセスして参照すると、ここには、00000009hが格納されているので、ファイルＡのデータは、さらにクラスタ番号00000008hのクラスタのデータに続けて、クラスタ番号00000009hのクラスタのデータを連結することが認識される。そこでまた、クラスタ番号00000009hのＦＡＴエントリを参照すると、ここにはEOFを示す値が格納されているので、ファイルＡは、クラスタ番号00000009hのクラスタが終端であることが認識される。
このことから、ファイルＡは、図６（ｆ）のクラスタチェインに示すようにして、クラスタ番号00000007h-00000008h-00000009hの順によるクラスタのデータの連結により形成されることが認識されることになる。ファイルシステムは、クラスタ番号00000007h-00000008h-00000009hのクラスタにアクセスしていくようにされ、これにより、ファイルＡに対するアクセスが行われることになる。
【００７２】
上記説明から分かるように、データ領域に記憶されるファイルのデータの位置は、ディレクトリエントリに格納される先頭クラスタ番号と、この先頭クラスタ番号を起点として参照するＦＡＴ領域のＦＡＴエントリの内容によって示されており、これらの情報を参照することで、ファイルへのアクセスが可能となっている。
また、データ領域に記憶されるファイルについての、ツリー型ディレクトリ構造による管理は、ディレクトリエントリにより表現されているものであることも分かる。
【００７３】
そして、残るファイルＢ，Ｃ，Ｄの記憶位置については、上記ディレクトリエントリ及びＦＡＴ領域から成るファイル管理情報により、次のようにして管理されている。
先ず、ファイルＢについては、図６（ｂ）のディレクトリエントリに示すようにして、ファイルの先頭（開始）クラスタのクラスタ番号が0000000Ahであることが示されている。そこで、図６（ｅ）に示すＦＡＴ領域のクラスタ番号0000000Ahに対応するＦＡＴエントリを参照すると、次のクラスタを示すチェイン情報としてクラスタ番号0000001Fhが示されている。そこで、さらにＦＡＴエントリを辿って、クラスタ番号0000001Fhに対応するＦＡＴエントリを参照すると、チェイン情報としてクラスタ番号00000025hが格納されている。クラスタ番号00000025hに対応するＦＡＴエントリには、クラスタ番号00000031hが格納されている。クラスタ番号00000031hに対応するＦＡＴエントリにはクラスタ番号00000030hが格納されている。クラスタ番号00000030hに対応するＦＡＴエントリにはEOFであることを示す値が格納されている。
このようにして、ファイルＢは、ディレクトリエントリ及びＦＡＴ領域により、図６（ｇ）に示すようにして、クラスタ番号0000000Ah-0000001Fh-00000025h-00000031h-00000030hの順に従ったクラスタに記憶されるデータの連結により形成されることが表現される。
【００７４】
また、ファイルＣについては、図６（ｃ）に示すようにして、先ず、ファイルＣのディレクトリエントリにおいて、ファイルの先頭（開始）クラスタとしてクラスタ番号0000001Bhが示されている。このことに基づき、図６（ｅ）に示すＦＡＴ領域におけるクラスタ番号0000001BのＦＡＴエントリを起点として参照した内容によっては、ファイルＣは、図６（ｈ）に示すように、クラスタ番号0000001Bh-00000011h-00000012h-00000013h-00000014h-00000003hの順に従ったクラスタに記憶されるデータの連結により形成される。
【００７５】
ファイルＤについては、図６（ｄ）に示すファイルＤのディレクトリエントリにおいて、ファイルの先頭（開始）クラスタとしてクラスタ番号0000002Chが示されている。これに基づいて、図６（ｅ）に示すＦＡＴ領域におけるクラスタ番号0000002CのＦＡＴエントリを起点として参照した内容としては、ファイルＤは、図６（ｉ）に示すように、クラスタ番号0000002Ch-0000002Dh-0000002Eh-0000002Fh-00000038h-00000039h-0000003Ah-0000003Bhの順に従ったクラスタに記憶されるデータの連結により形成される。
【００７６】
これまでに説明したＦＡＴファイルシステムのフォーマット内容をふまえて、先ず、本発明に至った事情について、図７を参照して説明しておく。
ここで、メディアにおいてファイルＡ，Ｂ，Ｃの３つのファイル（独立データ単位）が記録済みとされていることとして、これらファイルＡ，Ｂ，Ｃについてのメディアへの記録状態例を図７（ａ）に示す。
【００７７】
図７（ａ）では、ＦＡＴファイルシステム（ここではＦＡＴ３２とする）の下でフォーマットされたメディアにおけるデータ領域の一部を、クラスタ単位（データ書込単位）により模式的に示している。この図に示されているクラスタａ〜クラスタｏまでの１５クラスタは、実際においては、クラスタ番号的に昇順となるようにして連続するクラスタ群である。
先ず、この図に示すクラスタ領域において先頭となっているクラスタａは、ディレクトリエントリを格納するディレクトリエントリ格納クラスタとして使用されている。ＦＡＴ３２の通常の規定では、ディレクトリエントリ格納クラスタとして使用されるクラスタには、そのクラスタサイズに応じて格納可能なだけの数のディレクトリエントリを格納してよいこととなっている。
クラスタは、通常、セクタ（下位のデータ書込単位）のサイズを２のべき乗（１，２，４・・・・６４，１２８・・・）個により連続させて形成される。一例として、５１２バイトのセクタサイズを基としてクラスタサイズが３２ＫＢであるとすると、ディレクトリエントリは３２バイトであるから、最大で１０２４個のディレクトリエントリを、１つのディレクトリエントリに格納できることになる。
そして、この場合のディレクトリエントリ格納クラスタにおいては、図７（ｂ）に示すようにして、ファイルＡ，Ｂ，Ｃのそれぞれに対応する、計３つのディレクトリエントリが先頭から３２バイトずつ詰め込まれていくようにして格納されているものとする。
【００７８】
ファイルＡは、図７（ａ）に示されるようにして、セグメント１，２，３の３つのセグメント（データ単位部）に断片化された状態で記録された状態となっている。なお、ここでのセグメントとは、メディア（パーティション内）において１以上のクラスタ（データ書込単位）を使用して連続して記録された１まとまりのデータ部をいう。
セグメント１は、クラスタｂ，ｃ，ｄの連続する３クラスタを使用して記録される領域である。セグメント２は、クラスタｇ，ｈの連続する２クラスタの領域を使用して記録されている。セグメント３は、クラスタｍ，ｎ，ｏの連続する３クラスタの領域を使用して記録されている。なお、この場合のファイルＡのファイルデータは、セグメント番号順にセグメント内のデータを連結して形成されるものとする。
また、ファイルＢは、クラスタｅ，ｆの連続する２クラスタを使用して１セグメントとして完結するようにして記録されている。
ファイルＣは、クラスタｉ，ｊ，ｋ，ｌの連続する４クラスタを使用して１セグメントとして完結するようにして記録されている。
【００７９】
このようにしてメディアに記録されるファイルを再生などするためにファイルデータにアクセスする手順としては、次のようになる。ここではファイルＡを例に説明を行うこととするが、以下説明する手順は、１セグメントから成るファイルＢ，Ｃでも同様であり、ＦＡＴファイルシステムの下でのファイルアクセス手順としては、一般的なものである。
【００８０】
ファイルＡに対してアクセスするためには、先ず、クラスタａに記録されてるファイルＡのディレクトリエントリにアクセスして、先頭クラスタ番号を取得する。この場合、先頭クラスタ番号は、クラスタｂを示している。そこで、先頭クラスタ番号が示すクラスタｂにアクセスすることで、ファイルＡの先頭クラスタ分の実データを読み出すことができる。
以降において、ファイルＡの実データを読み出すためには、クラスタａ以降においてチェインされているクラスタを認識する必要があることになる。このために、図６（ｅ）に示したＦＡＴ領域を参照することになる。このための最初のＦＡＴ領域に対するアクセスとしては、ディレクトリエントリに格納された先頭クラスタ番号に対応するＦＡＴエントリを検索して、例えばＲＡＭ１２に確保したＦＡＴ領域用のワークＲＡＭの領域に読み込む。なお、このときには、対象である先頭クラスタ番号に対応するＦＡＴエントリだけではなく、ＦＡＴ領域用ワークＲＡＭとして設定したサイズに応じて、対象の前後のＦＡＴエントリ領域をまとめてＦＡＴ領域用のワークＲＡＭ領域に読み込んで保持させることができる。そして、例えばＦＡＴ領域用のワークＲＡＭ領域に保持しているＦＡＴエントリのうちから、先ず、先頭クラスタ番号に対応するＦＡＴエントリのチェイン先のクラスタ番号を認識する。つまり、ファイルＡとして２番目のクラスタとなるクラスタ番号を認識する。そして、この認識した番号のクラスタにアクセスしてデータの読み出しを実行することで、２番目のクラスタの実データの読み出しが行われたことになる。
【００８１】
以降、ＦＡＴ領域用ワークＲＡＭ領域に保持されるＦＡＴエントリを対象として、上記のようにして、次のチェイン先クラスタ番号の情報を参照してクラスタチェインを辿っていきながら、メディアのクラスタにアクセスしてファイルＡの実データを読み込んでいく。この過程において、ＦＡＴ領域用ワークＲＡＭ領域に保持されているＦＡＴエントリを対象とするクラスタチェインのトレースがこれ以上できなくなったとする。つまり、或るＦＡＴエントリの次のチェイン先のクラスタ番号を認識した段階で、このチェイン先のクラスタ番号に対応するＦＡＴエントリが、ＦＡＴ領域用ワークＲＡＭ領域に保持されてはいない状態になったとする。この場合には、これまでＦＡＴ領域用ワークＲＡＭ領域に保持していたＦＡＴエントリを破棄してメディア上のＦＡＴ領域にアクセスし、最後に認識したクラスタ番号のＦＡＴエントリを検索して、このＦＡＴエントリを含むＦＡＴ領域部分を読み出してＦＡＴ領域用ワークＲＡＭ領域に保持させる。そのうえで、上記の世にしてＦＡＴエントリに格納される次のチェイン先クラスタ番号を参照しながら、クラスタチェインの順に従って、クラスタの単位により、ファイルの実データを読み込んでいく。
そして、このような手順を繰り返し実行していき、最終的に、次のチェイン先クラスタ番号としてEOFが示されるＦＡＴエントリに対応するクラスタの実データの読み込みを終了した段階で、ファイル再生などのためのファイルＡに対するアクセスが終了することになる。なお、例えばこのようにしてファイルシステムレベルで読み出しが行われたファイルＡのファイルデータは、例えばファイルシステムに対して上位処理層となるファイル再生のためのアプリケーションなどに渡され、このアプリケーションによってファイル再生のためのデコード処理、所定の態様による再生出力処理などが施されることになる。
【００８２】
このようにして、ＦＡＴファイルシステムの下でのファイルデータに対するアクセスが実行されるのではあるが、上記手順によると、１つのファイルへのアクセスを完了させるまでに、メディア上のＦＡＴ領域に対してアクセスして、目的とするＦＡＴエントリを検索してワークＲＡＭに読み込む、という手順が複数回実行される可能性があることが分かる。
このようなＦＡＴ領域へのアクセスは、ＣＰＵにとっては相応に高負荷な処理とされ、したがって、ＦＡＴ領域へのアクセス動作についての単位時間あたりの実行回数が増加していくのに応じて、オーバーヘッドが顕著となってファイル再生などのためのデータ処理速度が低下してくるなどの問題が無視できなくなってくる可能性がある。
また、単位時間あたりのＦＡＴ領域へのアクセス動作の実行回数は、ファイルサイズが大きくなって使用クラスタ数が増加することに応じて増加し、また、ＦＡＴ領域用のワークＲＡＭ領域の割り当て可能サイズが小さいほど増加する傾向となるといえる。
【００８３】
サイズの大きなファイルとして、現状であれば動画像のファイルを挙げることができるが、動画像のファイルは時系列性を有しており、再生にあたり、リアルタイム性や高データレートが要求される。例えば、このような動画像ファイルの再生時において、ＦＡＴ領域へのアクセスに起因するオーバーヘッドとして一定以上の処理時間の遅延が生じると、例えばメディアからの読み出しが間に合わなくなり、再生用のバッファなどがアンダーフローの状態となって適正な再生動作が得られなくなる可能性が高くなってくる。
【００８４】
また、ＦＡＴ領域用のワークＲＡＭ領域の割り当て可能サイズの観点からは、次のようなことがいえる。例えばパーソナルコンピュータなどでは、もとから相応のサイズのＲＡＭを実装することで、ＦＡＴ領域用のワークＲＡＭ領域についても相応のサイズを割り当てることが可能であり、また、ＲＡＭ容量を増設して、ＦＡＴ領域用のワークＲＡＭ領域についても増加できるようにすることが可能である。
これに対して、予め機器内に対して固定的にＲＡＭが組み込まれているような機器では、コストやデジタルビデオカメラ１として要求される全般的な性能とのバランスでＲＡＭ容量を決定することになる。しかしながら、実際に設定されるＲＡＭの容量としては相応に少なく、したがってＦＡＴ領域用のワークＲＡＭ領域に割り当て可能なサイズも少なくなる。
このことから、ＦＡＴ領域へのアクセスに起因するデータ処理速度の低下の問題は、ＲＡＭなどが固定的に組み込まれる機器において、動画像ファイルなどの大きなサイズで高データレートのリアルタイム性が要求されるファイルを処理する機器について顕著である、ということがいえる。ちなみに、本実施の形態のデジタルビデオカメラ１も、このような機器の１つとして挙げられる。
【００８５】
そこで本実施の形態では、ＦＡＴ領域に対するアクセスを必須的に必要とする場合に比較して、より高速なデータ処理速度が得られるようなファイルアクセスの動作が得られるように構成する。以下、この点について説明していく。
【００８６】
図８は、本実施の形態のもとでのメディアの記録内容例を示している。この図８においても、図７との比較を分かりやすいものとするために、メディアには、図７と同じ内容のファイルＡ，Ｂ，Ｃの３つのファイルが記録済みとされている状態を示す。
この場合も、図８（ａ）は、ＦＡＴ３２の下でフォーマットされたメディアにおけるデータ領域の一部をクラスタ単位により模式的に示している。つまり、本実施の形態としても、先ず、ファイルシステムの処理階層としてＦＡＴファイルシステムが採用されていることを基本とする。
図８（ａ）では、クラスタａ−１、ａ−２、ａ−３、ｂ〜ｏまでの１７クラスタが示されている。実際においては、これらクラスタａ−１、ａ−２、ａ−３、ｂ〜ｏの列順で、クラスタ番号的に昇順となるように連続する領域となっている。これをLBA（セクタ）としてみた場合にも、クラスタａ−１、ａ−２、ａ−３、ｂ〜ｏの列順を前提としてLBAの値（セクタ番号）がインクリメントされていくことになる。
【００８７】
図８（ａ）に示されるファイルＡ，Ｂ，Ｃのメディアへの記録状態としては、図７と同様となっている。つまり、ファイルＡは、セグメント１，２，３の３つに断片化されており、セグメント番号順にセグメント内のデータを連結することで、ファイルＡのファイルデータが形成される。セグメント１は、クラスタｂ，ｃ，ｄの連続する３クラスタを使用して記録され、セグメント２は、クラスタｇ，ｈの連続する２クラスタを使用して記録され、セグメント３は、クラスタｍ，ｎ，ｏの連続する３クラスタを使用して記録されている。またファイルＡのファイルデータは、セグメント番号順にセグメント内のデータを連結して形成される。
ファイルＢは、クラスタｅ，ｆの連続する２クラスタを使用して１セグメントで完結するようにして記録されている。
ファイルＣは、クラスタｉ，ｊ，ｋ，ｌの連続する４クラスタを使用して１セグメントで完結するようにして記録されている。
【００８８】
そのうえで、本実施の形態としては、図８（ａ）のクラスタａ−１，ａ−２，ａ−３として示すように、ディレクトリエントリ格納クラスタ（情報記憶領域）として、３クラスタ分が設けられている。クラスタａ−１はファイルＡに対応するディレクトリエントリ格納クラスタであり、クラスタａ−２，ａ−３は、それぞれファイルＢ，Ｃに対応するディレクトリエントリ格納クラスタである。つまり、本実施の形態では、１ファイルごとに１クラスタ分のディレクトリエントリ格納クラスタを形成するようにされる。
【００８９】
ファイルＡに対応するディレクトリエントリ格納クラスタ（ａ−１）の構造を図８（ｂ）に示す。
この図に示すようにして、ファイルＡに対応するディレクトリエントリ格納クラスタにいて、先ず、先頭の３２バイトの領域に対しては、ファイルＡに対応するディレクトリエントリ（エントリ情報）を格納する。つまり、１ファイルに対応するディレクトリエントリ格納クラスタの先頭には、そのファイルに対応するディレクトリエントリを置くこととしている。
そのうえで、このファイルＡの場合には、ディレクトリエントリに続けて、順次空き領域を埋めていくようにして、LBAアクセス情報（データ単位部管理情報）１，２，３を配置する。
【００９０】
LBAアクセス情報の構造については後述するが、１つのLBAアクセス情報は、１セグメントに対応するもので、ディレクトリエントリと同じ３２バイトのサイズを有する。ファイルＡの場合はセグメント１，２，３の３つのセグメントから成るので、LBAアクセス情報としても、これらセグメント１，２，３にそれぞれ対応してLBAアクセス情報１，２，３が設けられることになる。
また、ファイルＡがセグメント１，２，３の順でデータを連結して形成されることに応じて、LBAアクセス情報としても、LBAアクセス情報１，２，３の配列順によりディレクトリエントリ格納クラスタ（ａ−１）に格納するようにされる。つまり、LBAアクセス情報としては、ファイルを形成するセグメントの順に対応した配列順により置かれる。
【００９１】
また、ファイルＢに対応するディレクトリエントリ格納クラスタａ−２の内部としては、図８（ｃ）に示すように、先ず、先頭の３２バイトに対してファイルＢに対応するディレクトリエントリを格納する。この場合のファイルＢは、クラスタｅ，ｆの２クラスタから成る１つのセグメントで完結していることから、LBAアクセス情報としては１つでよいことになる。そこで、ディレクトリエントリ続く３２バイトに対して、上記クラスタｅ，ｆの２クラスタから成る１セグメントに対応する１つのLBAアクセス情報として、ファイルＢのLBAアクセス情報１を置くようにされる。
【００９２】
ファイルＣに対応するディレクトリエントリ格納クラスタａ−３は、図８（ｄ）に示される。この場合にも、先ず、ディレクトリエントリ格納クラスタａ−３における先頭の３２バイトに対しては、ファイルＣに対応するディレクトリエントリを格納するようにされる。また、この場合のファイルＣも、クラスタｉ，ｊ，ｋ，ｌの４クラスタから成る１セグメントで完結している。そこで、そこで、ディレクトリエントリ続く３２バイトに対して、上記クラスタｉ，ｊ，ｋ，ｌの４クラスタから成る１セグメントに対応する、ファイルＣのLBAアクセス情報１を置くことになる。
【００９３】
先に図５を参照して説明したように、ディレクトリエントリにおけるバイト位置Chとしての１バイト（８ビット）は予約領域とされているが、本実施の形態では、この予約領域において、図９に示すようにして、LBAフラグ（保持状態情報）を格納する領域を定義する。
図９には、ディレクトリエントリのバイト位置Chの領域を、ビット位置０〜ビット位置７までの８ビットによるビット列構造により示している。そして、ここでは、LBAフラグのためのビット領域として、ビット位置７の１ビットを割り当てることとしている。
【００９４】
LBAフラグは、現ディレクトリエントリを格納する現ディレクトリエントリ格納領域において、LBAアクセス情報を格納しているか否かを示すフラグとされる。LBAフラグとして０のビット値を格納している場合には、現ディレクトリエントリ格納領域にはLBAアクセス情報を格納していないことを示す。これに対して、LBAフラグとして１のビット値を格納している場合には、現ディレクトリエントリ格納領域にLBAアクセス情報を格納していることを示す。
なお、ディレクトリエントリの予約領域において、デフラグ用予約領域確保フラグを格納するための領域としては、ビット位置７以外のビット位置とされてもよい。
また、ここでは説明の便宜上、ディレクトリエントリのバイト位置Chの予約領域における、残りのビット位置０〜ビット位置６までの７ビットの領域は未定義とされて、それぞれ０のビット値を格納しているものとする。
【００９５】
図１０は、LBAアクセス情報の構造例を示している。
前述もしたように、LBAアクセス情報はディレクトリエントリと同じ３２バイトのサイズを有する。そのうえで、図示するようにして、先頭のバイト位置0hに対してはE5hの値を格納する。ＦＡＴファイルシステムでは、３２バイトの情報単位の先頭バイトに対してE5hを格納した場合に、削除済みのディレクトリエントリであることを示すものとして規定されている。したがって、既存のＦＡＴファイルシステムとしては、LBAアクセス情報を削除済みのディレクトリエントリとして扱って処理することになる。これにより、本実施の形態に対応する以外の情報処理装置によりメディアに対するファイルアクセスを実行するときに、LBAアクセス情報が記憶されていることによる障害が発生しないようにされている。既存のＦＡＴファイルシステムでは、ディレクトリエントリとＦＡＴ領域とを使用して、従来通りのファイルアクセスを実行することになる。つまり、既存のＦＡＴファイルシステムとの互換性が得られるように配慮されている。
【００９６】
続く下位のバイト位置1h−2hによる２バイトの領域は、該当ファイルに対応する範囲内で現LBAアクセス情報に付した番号の値が示される。
バイト位置3h−4hによる２バイトの領域は、該当ファイルに対応する範囲内におけるLBAアクセス情報の総数を示している。
【００９７】
バイト位置5h〜8hまでの４バイトの領域は、現LBAアクセス情報が対応するセグメントのメディア上における記録開始位置（先頭位置）を示す、先頭LBAの値を格納する。つまり、メディアに記録されているデータの開始位置について、ＦＡＴファイルシステムが本来対応するクラスタにより表現するのではなく、これより下位の処理層であるデバイスドライバが対応するセクタレベルにより表現している。
バイト位置9h〜Chまでの４バイトの領域は、現LBAアクセス情報が対応するセグメントのサイズを示す値を格納する。ここでのサイズの表現の仕方としては、上記先頭LBAにより、セグメントの開始位置をセクタレベルで表現していることに対応して、サイズの表現としては、セクタ数によるものとする。
残る下位のバイト位置Dh〜1Fまでの１９バイトの領域は予約領域としておく。
【００９８】
上記図９及び図１０によるLBAフラグ及びLBAアクセス情報の説明をふまえて、本実施の形態におけるファイル管理について、再度、図８を参照して説明する。
先ず、ファイルＡについて説明する。
ファイルＡのディレクトリエントリにおいては、LBAフラグ＝１をセットすることで、LBAアクセス情報が存在することを示すようにされる。
【００９９】
ここで留意すべきことは、本実施の形態のディレクトリエントリとしては、LBAフラグの領域が規定される以外は、図５により説明した基本構造を採るということである。
したがって、ファイルＡのディレクトリエントリの予約領域(バイト位置Ch)以外の各領域には、ファイルシステムレベルでの処理により、実際のファイルＡの内容等に応じてしかるべき値が格納されている。例えば、先頭クラスタ番号(バイト位置14h-15h,1Ah-1Bh)には、クラスタｂとしての実際のクラスタ番号が格納され、サイズ(バイト位置1Ch〜1Fh)には、ファイルＡ全体としてのファイルデータの有効データサイズが示される。
そのうえで、図８（ａ）では図示していないが、メディアにはＦＡＴ領域も設けられており、ファイルシステムとしての処理により、ファイル処理結果に応じてメンテナンスされている。
【０１００】
このことは、本実施の形態においては、通常のＦＡＴファイルシステムによっても、ファイルの記録再生が可能であることを意味している。つまり、ファイルアクセスに関すれば、図６により説明したのと同様の手順により実行することが可能である。また、前述したように、LBAアクセス情報については、先頭にE5hを格納しており、これにより、通常のＦＡＴファイルシステムによるファイルアクセスの際には、LBAアクセス情報は削除済みのディレクトリエントリとして扱われ、正規のディレクトリエントリであると誤認されて使用されることはない。
また、本実施の形態の場合、図８（ｂ）（ｃ）（ｄ）に示されるようにして、ディレクトリエントリとしてみた場合には、ファイルごとに異なるクラスタに離散して記録されることになる。しかしながら、周知とされているディレクトリエントリへのアクセスのアルゴリズムによれば、ディレクトリエントリがファイルごとに異なるクラスタに離散して記録されることに関しては、何らアクセスの障害となるものではない。これまでのＦＡＴファイルシステム（ＦＡＴ３２）としても、複数のディレクトリエントリが、それぞれ異なるクラスタに格納されることは許可されている。
【０１０１】
前述したように、ファイルＡのディレクトリエントリにおいて、LBAフラグ＝１がセットされていることに応じて、図８（ｂ）に示すようにして、ディレクトリエントリ格納クラスタには、ディレクトリエントリに続けてLBAアクセス情報が設けられる。ファイルＡの場合には、セグメント１，２，３の３つのセグメントに断片化した状態でメディアに記録されていることに応じて、LBAアクセス情報１，２，３の３つが順次配列されることになる。
【０１０２】
ファイルＡのLBAアクセス情報１の内容は次のようになる。
先ず、先頭バイト（バイト位置0h）には、E5hを格納する。前述したように、LBAアクセス情報については、全て先頭バイトにE5hを格納する。
LBAアクセス情報番号の領域（バイト位置1h−2h）には、ファイルＡに対応するLBAアクセス情報として１番であることを示す値を格納する。
LBAアクセス情報の総数の領域（バイト位置3h−4h）には、ファイルＡに対応するLBAアクセス情報の総数を示す値を格納する。ファイルＡに対応するLBAアクセス情報数は３であるから、この３を示す値を格納することになる。
先頭LBAの領域（バイト位置5h〜8h）には、ファイルＡのセグメント１の先頭（開始位置）となっているセクタのLBA値（セクタ番号）を格納する。つまり、クラスタｂの先頭にあるセクタのLBA値を格納する。
サイズの領域（バイト位置9h〜Ch）は、ファイルＡのセグメント１のサイズとして、使用クラスタ数をセクタ数により示す値を格納する。この場合のセグメント１はクラスタｂ，ｃ，ｄの３クラスタを使用しているので、３クラスタをセクタ数により表現した値を格納することになる。
【０１０３】
また、ファイルＡのLBAアクセス情報２の内容については次のようになる。
先ず、先頭バイト（バイト位置0h）にE5hを格納し、LBAアクセス情報番号の領域（バイト位置1h−2h）には、ファイルＡに対応するLBAアクセス情報として２番であることを示す値を格納する。LBAアクセス情報の総数の領域（バイト位置3h−4h）には、LBAアクセス情報１と同じく３を示す値を格納する。LBAアクセス情報の総数の値に関しては、同じファイルに対応するLBAアクセス情報には、全て同じ値が格納される。
先頭LBAの領域（バイト位置5h〜8h）には、ファイルＡのセグメント２の先頭である、クラスタｇの開始セクタのLBA値（セクタ番号）を格納する。
サイズの領域（バイト位置9h〜Ch）は、ファイルＡのセグメント２のサイズ（使用クラスタ数＝２）を、セクタ数により示す値を格納する。
【０１０４】
ファイルＡのLBAアクセス情報３の内容は次のようになる。
先頭バイト（バイト位置0h）にE5hを格納したうえで、LBAアクセス情報番号の領域（バイト位置1h−2h）には、ファイルＡに対応するLBAアクセス情報として３番であることを示す値を格納する。LBAアクセス情報の総数の領域（バイト位置3h−4h）には、LBAアクセス情報１、２と同じく３を示す値を格納する。
先頭LBAの領域（バイト位置5h〜8h）には、ファイルＡのセグメント３の先頭であるクラスタｍの開始セクタのLBA値（セクタ番号）を格納する。
サイズの領域（バイト位置9h〜Ch）は、ファイルＡのセグメント３のサイズ（使用クラスタ数＝３）を、セクタ数により示す値を格納する。
【０１０５】
ファイルＢ，Ｃは１セグメントから成るので、これらファイルＢ，Ｃに対応するLBAアクセス情報としては、それぞれLBAアクセス情報１のみが配置される。
ファイルＢ，ＣのLBAアクセス情報１としても先頭バイト（バイト位置0h）にE5hを格納したうえで、LBAアクセス情報番号の領域（バイト位置1h−2h）には、１番であることを示す値を格納する。LBAアクセス情報の総数の領域（バイト位置3h−4h）としては１を示す値を格納することになる。
先頭LBAの領域（バイト位置5h〜8h）については、ファイルＢはクラスタｅの開始セクタのLBA値（セクタ番号）を格納し、ファイルＣは、クラスタｉの開始セクタのLBA値（セクタ番号）を格納する。
サイズの領域（バイト位置9h〜Ch）については、ファイルＢは２クラスタ（クラスタｅ，ｆ）のサイズをセクタ数により示す値を格納し、ファイルＣは、４クラスタ（クラスタｉ，ｊ，ｋ，ｌ）のサイズをセクタ数により示す値を格納する。
【０１０６】
このようにしてディレクトリエントリ格納クラスタが構築されることで、本実施の形態としては、通常のＦＡＴファイルシステムとしての処理によるファイルアクセスの他に、LBAアクセス情報を参照してのファイルアクセスが可能となる。LBAアクセス情報を利用するファイルアクセスの概念について、図８のファイルＡを例に説明する。
【０１０７】
先ず、LBAアクセス情報１には、ファイルＡのセグメント１についての開始位置が先頭LBAによって示され、また、セグメント１のサイズが示されている。したがって、これらの情報項目を使用することで、セグメント１の開始位置から終端までの領域に対するアクセスを実行してデータを読み込むことが可能である。つまり、ファイルＡにおけるセグメント１の部分のデータ読み込みを完結させることが可能である。また、上記したことに基づけば、LBAアクセス情報におけるサイズの情報は、セグメントについての終端位置を示す情報であるということがいえる。
同様にして、LBAアクセス情報２には、ファイルＡのセグメント２についての先頭LBA、及びサイズが示されているので、セグメント２の開始位置から終端までに対するアクセスを実行してして、セグメント２のデータを読み込むことが可能である。
また、LBAアクセス情報３に格納される先頭LBA、及びサイズに従って、ファイルＡのセグメント３の開始位置から終端までに対するアクセスを実行して、セグメント３のデータを読み込むことができる。
そして、上記のようにして読み込んだファイルＡのセグメント１，２，３のデータを、セグメント番号順にしたがって論理的に連結すれば、ファイルＡのファイルデータが得られることになる。
ちなみに、ファイルＢ，Ｃについては、最初のLBAアクセス情報１に従ったデータの読み込みを完了した段階で、ファイルデータが得られることになる。
【０１０８】
図１１のフローチャートは、メディアに記録されたファイルを再生するためのファイルアクセスの処理を実現するために、ＣＰＵ１０が実行するものとされる処理を示している。この図に示す処理は、例えばＣＰＵ１０が、ＲＯＭ１１（あるいはＨＤＤなどのメディア）にインストールされるようにして記憶されるＯＳ(Operating System)や所定のアプリケーション１００などのプログラムを実行することで実現されるもので、メディアに対するデータ処理などのメディア制御に関しては、図２に示したＦＡＴファイルシステム階層構造の下での処理となる。この点については、以降において説明するフローチャートとしての図に関しても同様である。
【０１０９】
本実施の形態に対応してメディアに記録されるファイルについては、後述するファイル記録時の処理からも理解されるように、通常のＦＡＴファイルシステムによるファイル管理を必須としたうえで、ＦＡＴファイルシステムによってのみ管理することもできるし、また、ＦＡＴファイルシステム及びLBAアクセス情報の何れによっても管理することができる。
【０１１０】
このことに対応して、ファイルアクセスを開始するのにあたっては、先ず、通常のＦＡＴファイルシステムのファイルアクセス手順と同じく、ステップＳ１０１に示すようにして、メディア上に記録されたアクセス対象ファイルのディレクトリエントリにアクセスして読み込みを実行する。例えば読み込みを実行したディレクトリエントリは、ワークＲＡＭに保持するようにされる。
【０１１１】
次のステップＳ１０２においては、読み込みを行ったディレクトリエントリのバイト位置Chの領域におけるLBAフラグを参照して、LBAフラグについて１のビット値がセットされているか否かについて判別する。
ここで、LBAフラグについて０のビット値がセットされているとして否定の判別結果が得られた場合には、アクセス対象ファイルに対応するLBAアクセス情報は格納されていないということになる。したがって、LBAアクセス情報を使用したファイルアクセスは実行できない。そこで、この場合には、ステップＳ１１１に進んで、通常のＦＡＴファイルシステムに従ってのファイルアクセスのためのデータの読み出し処理を実行することになる。ステップＳ１１１としてのデータ読み出し（ファイルアクセス）のための処理は、図６に説明した手順を、例えばファイルシステム１０１としての処理階層によって実行することで実現されるものとなる。また、このステップＳ１１１としての処理を実行しているのにあたっては、LBAアクセス情報は、先頭にE5hを格納していることで削除済みのディレクトリエントリとして扱われることで、通常のファイルアクセスに支障を来さないことは、先に説明したとおりである。
【０１１２】
これに対して、ステップＳ１０２においてLBAフラグについて１のビット値がセットされているとして肯定の判別結果が得られた場合には、ステップＳ１０３以降による、LBAアクセス情報を使用したファイルアクセスのための処理に移行する。
【０１１３】
LBAアクセス情報を使用したファイルアクセス処理としては、先ず、ステップＳ１０３において、LBAアクセス情報の番号を示す変数ＮについてＮ＝１をセットしたうえで、ステップＳ１０４によりLBAアクセス情報Ｎを参照する。したがって、この場合には、LBAアクセス情報１を参照することになる。このためには、ステップＳ１０１にてアクセスしたディレクトリエントリに続く３２バイトの領域を参照するようにされる。
【０１１４】
ステップＳ１０５においては、再生対象のファイルに対応するLBAアクセス情報が１つのみであるか否かについて判別する。このためには、上記ステップＳ１０４により参照したLBAアクセス情報における、LBAアクセス情報の総数の領域（バイト位置3h−4h）に格納される値について、１であるか否かを判別すればよい。
ステップＳ１０５において、再生対象のファイルに対応するLBAアクセス情報が１つのみであるとして肯定の判別結果が得られた場合には、ステップＳ１０６〜Ｓ１０９の処理をスキップするようにして、ステップＳ１１０の処理に移行する。LBAアクセス情報が１つのみである場合とは、該当ファイルが１セグメントから成る構造であることに対応する。
【０１１５】
これに対して、ステップＳ１０５において、再生対象のファイルに対応するLBAアクセス情報は２以上であるとして否定の判別結果が得られた場合には、ステップＳ１０６〜Ｓ１０９の処理を実行することになる。なお、ステップＳ１０５において否定の判別結果が得られたということは、再生対象ファイルは、複数のセグメントから成る構造であるということを示す。
ステップＳ１０６においては、現在参照対象としているLBAアクセス情報Ｎが格納している先頭LBA（バイト位置5h〜8h）とサイズ（バイト位置9h〜Ch）の値に基づいて、メディアにアクセスしてデータの読み出しを実行する。
このステップＳ１０６において参照対象としているLBAアクセス情報Ｎとしては、ステップＳ１０６の処理がステップＳ１０４の処理を経て最初に実行されたものである場合には、LBAアクセス情報１（Ｎ＝１）であることになる。
また、LBAアクセス情報Ｎに格納される先頭LBA（バイト位置5h〜8h）とサイズ（バイト位置9h〜Ch）に基づいたデータの読み出しとしては、先ず、上記先頭LBA（バイト位置5h〜8h）として示されるLBA（セクタ番号）に対してアクセスする。そして、このアクセスしたLBAをデータ読み出しの開始位置として、以降、LBA順に従って、サイズ（バイト位置9h〜Ch）が示す分のデータについての読み出しを実行する。なお、このステップＳ１０６の読み出し処理にあたっては、その中途において、例えばＦＡＴエントリなどのファイル管理情報に改めてアクセスすることはしていない。あくまでも、現在参照対象となっているLBAアクセス情報Ｎに格納される先頭LBA（バイト位置5h〜8h）及びサイズ（バイト位置9h〜Ch）に基づいて、読み出し開始位置からサイズ分に相当する終端位置までの連続した記憶領域に記録されているデータを一度に読み出して行くようにされる。
そして、このようにして読み出したデータを、一旦ワークＲＡＭに保持させたうえで、例えばファイル再生のアプリケーションなどの上位処理層に対して受け渡すようにして転送する。
このステップＳ１０６の処理の完了を以て、ファイルを形成する複数のセグメントのうち、この段階で参照対象としているLBAアクセス情報Ｎに対応するセグメントのデータについての読み込みが完了したことになる。
【０１１６】
ステップＳ１０７では、LBAアクセス情報の番号を示す変数Ｎについて１インクリメントしたうえで、ステップＳ１０８により、LBAアクセス情報Ｎを参照するようにされる。これにより、ステップＳ１０８では、最後のステップＳ１０６にて処理したセグメントに続くセグメントに対応するLBAアクセス情報を参照することになる。
【０１１７】
ステップＳ１０９では、上記ステップＳ１０８の処理により、現在において参照対象となっているLBAアクセス情報が、最終のものであるか否かについて判別する。この判別のためには、現在において参照対象となっているLBAアクセス情報において、番号の領域（バイト位置1h〜2h）に格納される値と、総数（バイト位置3h−4h）に格納される値とを比較して、同じ値であるか否かについて判別すればよい。
【０１１８】
ステップＳ１０９において、最終のLBAアクセス情報ではないとして否定の判別結果が得られた場合には、未だ読み出し処理を実行していないセグメントが残っているということになる。そこで、この場合には、ステップＳ１０６の処理に戻ることで、現在において参照対象となっているLBAアクセス情報が示す先頭LBA（バイト位置5h〜8h）及びサイズ（バイト位置9h〜Ch）に基づいてメディアからデータを読み出し、上位処理層に転送する。つまり、先のステップＳ１０６にて処理したセグメントに続くセグメントについての処理を実行する。
このようにして、ファイルが複数のセグメントから成る状態で記録されている場合には、そのセグメント数に応じて、ステップＳ１０６の処理が繰り返されるようになっている。そして、最終の１つ前のセグメントについてステップＳ１０６による処理を実行した後において、ステップＳ１０７、Ｓ１０８の処理を経ることで、ステップＳ１０９において肯定の判別結果が得られて、ステップＳ１１０の処理に進むことになる。
【０１１９】
上記のように、アクセス対象のファイルが複数のセグメントから成る構造であることでステップＳ１０９にて肯定結果が得られて、最後のセグメントを処理すべき段階となった場合、あるいは、アクセス対象のファイルデータがフラグメントを生じていない状態で連続的に記録されていることでステップＳ１０５において肯定の判別結果が得られた場合に、ステップＳ１１０に至ることになる。
ステップＳ１１０としても、最後のセグメント、あるいは１つのファイルデータが連続的に記録された記憶領域を対象として、ステップＳ１０６と同様にして、最後のセグメントに対応するLBAアクセス情報、あるいはアクセス対象ファイルに対応して１つのみ格納されているLBAアクセス情報に格納される先頭LBA（バイト位置5h〜8h）及びサイズ（バイト位置9h〜Ch）に基づいて、読み出し開始位置からサイズ分に相当する終端位置までの連続した記憶領域に記録されているデータを一度に読み出して行く処理を実行する。
【０１２０】
ただし、このステップＳ１１０の処理段階においては、読み出しデータについてファイルの終端を含むことになる。
周知のようにして、ファイルデータの終端位置を含むクラスタ（ファイルの最終クラスタ）においては、そのファイルデータのサイズが、ちょうどクラスタサイズの整数倍である場合を除いて、ファイルデータの終端からクラスタ終端までを占有する無効データを含むことになる。例えば、図８（ａ）においても、ファイルＡ，Ｂ，Ｃの各最終クラスタにおいて、ファイルデータの終端以降が無効データにより埋められている状態が示されている。
【０１２１】
しかしながら、LBAアクセス情報に格納されるサイズの情報としては、セグメント（あるいは１セグメントにより形成されるファイルデータ）が使用するクラスタ数をセクタ数に換算したものであることから、実質的にはクラスタ数を指し示すものとなっている。
このために、ステップＳ１１０の処理によって読み出しを実行してワークＲＡＭに保持させたデータにおいては、ファイルデータの終端に続く無効データを含んでいる場合があることになる。ちなみに、ステップＳ１０６の処理により読み出しが実行されるセグメントは、最終セグメントではないので、使用クラスタを完全に埋めるようにしてファイルデータが書き込まれており、無効データを含まない。
【０１２２】
そこで、ステップＳ１１０においては、上位処理層に読み出しデータを転送するのにあたって、この無効データを破棄して有効なファイルデータのみを転送するようにされる。このためには、ステップＳ１０１によりアクセスしたディレクトリエントリにおいて示されるファイルのサイズを使用する。このディレクトリエントリにおいて示されるサイズの情報は、ファイルデータ（実データ）としてのサイズを示している。そこで、本実施の形態としては、例えば、このサイズが示す値について、クラスタサイズにより除算したときの剰余の値を求めるようにされる。これにより、ワークＲＡＭに保持している読み出しデータにおける終端の無効データのサイズが認識できることになる。そこで、ワークＲＡＭに保持している読み出しデータのサイズからこの無効データのサイズを減算して得られたサイズ分のデータを先頭から読み出して、上位処理層に転送するようにされる。これにより、有効データのみが転送されることになる。
なお、この図においては示していないが、例えばファイル再生のためのアプリケーションなどとされる上位処理層では、図１１により転送されてきたデータを順次連結するようにしてファイルデータを構築し、このファイルデータを対象として所要の処理を実行する。
【０１２３】
このようにして、本実施の形態では、LBAアクセス情報を使用してファイルにアクセスすることが可能とされている。
このLBAアクセス情報を使用するファイルアクセスでは、１つのLBAアクセス情報を参照することにより、１セグメント分のデータ、つまり、連続するクラスタ領域を使用して書き込まれている全データに対して一度にアクセスして読み込みを実行することが可能である。換言すれば、１つのセグメントに対するアクセスに関しては、通常のＦＡＴファイルシステムに従ったファイルアクセスのように、ＦＡＴ領域へのアクセスを繰り返し実行してＦＡＴエントリを検索する必要がない。
【０１２４】
分かりやすい例では、１ファイルを形成するデータがフラグメントすることなく連続的にメディアに記録されている状態であれば、LBAアクセス情報を使用するファイルアクセスでは、そのデータサイズがどんなに大きくとも、ＦＡＴ領域へのアクセスを途中に挟むことなく、ファイルデータの開始位置から終端までの領域を一度にアクセスして読み出しを実行できる。つまり、LBAアクセス情報を使用するファイルアクセスでは、同じサイズのファイルデータの読み出しを実行するのにあたり、ＦＡＴ領域へのアクセスが実行されない分、通常のＦＡＴファイルシステムに従ったファイルアクセスの場合よりも、高速なファイルデータの読み出しを実行できることになる。また、これにより、読み出しデータの転送レートとしても一定以上を容易に維持できることとなって、特に動画ファイルなどを再生する場合に有利となる。
このことは、図８のファイルＡのようにして、複数のセグメントに分割された状態で記録されているファイルであっても、同様である。つまり、１セグメント分の領域に対しては、ＦＡＴ領域へのアクセスが途中で実行されることなく、一度にアクセスしてデータの読み出しが行える。したがって、フラグメントが生じているファイルについては、ファイルデータの読み込みの完了までに、そのフラグメント数に応じた回数だけLBAアクセス情報にアクセスすればよく、ＦＡＴ領域に対するアクセスを実行する場合と比較すれば、管理情報領域へのアクセス回数は非常に少ないものとなる。
【０１２５】
また、本実施の形態のLBAアクセス情報は、３２バイトの固定長であり、ディレクトリエントリ格納クラスタにおいて先頭のディレクトリエントリに続けるようにして、ファイルのセグメント順に対応する順序で配置するものと規定している。
このことを前提とすれば、LBAアクセス情報について、ファイルを形成するセグメント順にアクセスできるようにするためには、ディレクトリエントリに続けて３２バイトごとに読み込みを行うようにした簡易で単純なアルゴリズムにより実現することが可能であり、アクセスのための処理負担は、ＦＡＴ領域に対するアクセスの場合と比較して大幅に軽減される。
つまり、LBAアクセス情報は、LBAアクセス情報番号の情報を格納することによっても、ファイル内でのセグメントの連結順に対応する順序を管理しているが、ディレクトリエントリ格納クラスタにおける格納領域内における配列順によっても、ファイル内でのセグメントの連結順に対応する順序を管理するようにされている。
【０１２６】
また、本実施の形態では、LBAアクセス情報は、ディレクトリエントリ格納クラスタに対してディレクトリエントリと共に格納される。つまり、１クラスタ分の領域に対して同じファイルに対応するディレクトリエントリとLBAアクセス情報が格納される。ＦＡＴファイルシステムを採用していることで、ファイルシステムにおけるデータ処理はクラスタレベルとなるものであり、このことを前提として、例えばワークＲＡＭ領域としては、クラスタの整数倍によるサイズを設定することがある。このことからすると、本実施の形態では、メディア上のディレクトリエントリ格納クラスタにアクセスして読み込みを実行することで、ディレクトリエントリと共に、LBAアクセス情報も同時的に取得できることになる。この場合、ディレクトリエントリを取得して以降のLBAアクセス情報の参照処理は、メディアへのアクセスは必要ではなく、ワークＲＡＭに対するアクセスとなるものであり、より高速な処理とすることができる。
【０１２７】
このようにして、本実施の形態におけるLBAアクセス情報によるファイルアクセスは、ＦＡＴ領域へのアクセスを排除することで、これまでよりも高速なファイル処理速度が得られるようにされている。
また、このための管理情報（LBAアクセス情報）の仕組みなどについて簡易なものとなっていることで、上記したように、ファイルアクセスに伴う処理も軽いものとなって、上記したファイル処理速度の高速化を助長できることにもなる。また、LBAアクセス情報そのものとしても、図１０に例示したように簡易な情報項目を備えて形成されるものであるから、例えばファイルの更新などに伴うメンテナンスとしても軽い処理ですませることができる。
【０１２８】
そして、上記のようにしてLBAアクセス情報を使用したファイルアクセスを実行可能とするためには、先ず、メディアに対してファイルが新規に記録されるのに応じて、ファイル管理のための各種情報について、図８〜図１０により説明した内容が得られるようにしてメンテナンスされる必要がある。
そこで、図１２のフローチャートにより、メディアに対する新規ファイルの記録と、この新規ファイルの記録に応じたファイル管理情報のメンテナンスのためにＣＰＵ１０が実行する処理動作を示す。なお、ここでいうファイル管理情報とは、通常のＦＡＴファイルシステムに対応するファイル管理情報であるディレクトリエントリ及びＦＡＴ領域と、LBAアクセスに対応するファイル管理情報となるLBAアクセス情報とを指す。
【０１２９】
先ず、新規ファイルをメディアに書き込んで記憶（記録）させるための処理を開始すべきタイミングに至ったとされると、ＣＰＵ１０は、ステップＳ２０１により、今回の新規記録対象ファイルがLBAアクセス対応ファイルであるか否かについて判別する。ここでいうLBAアクセス対応ファイルとは、LBAアクセス情報を使用してアクセス可能なように管理されるファイルをいう。
本実施の形態としては、メディアに記録する全てのファイルについて一律に、LBAアクセス情報を使用してアクセス可能なファイルとして管理されるようにしてもよいのであるが、ここでは、メディアに記録するファイルの種別などに応じて、通常のＦＡＴフィルシステムのみにより管理されるファイルと、LBAアクセス情報を使用してアクセス可能にも管理されるファイルとを区別することとしている。
【０１３０】
具体的に、例えば比較的ファイルサイズが小さく、またリアルタイム性が要求されないような静止画、テキストなどの形式のファイルについては、通常のＦＡＴフィルシステムのみにより管理するようにする。
これらのファイルは、通常にＦＡＴファイルシステムによりアクセスを行っても、ＦＡＴ領域へのアクセス回数は少なくて済むので、このことによるオーバーヘッドについてはほとんど問題にはならない。
また、通常のＦＡＴファイルシステムのみによりファイル管理を行うこととした場合に、そのファイルに対応するディレクトリエントリとしては、図８（ｂ）（ｃ）（ｄ）などのようにして、１クラスタ単位を使用する必要はなく、図７（ｂ）に示すようにして、１クラスタに詰め込んでいくことができるので、その分、クラスタ消費が抑えられて記憶可能容量が節約できることにもなる。
これに対して、動画形式のファイルなどに代表される、比較的大きなファイルイサイズであり、また、比較的に高いとされるデータレートが要求される種別のファイルについては、LBAアクセス対応ファイルとして扱うようにして、ファイルアクセスに対応するデータ処理速度の高速化などのほうを優先させる。
【０１３１】
ステップＳ２０１において、新規記録対象ファイルがLBAアクセス対応ファイルであるか否かを判別するための手法としては、いくつか考えられる。例えば、予め、LBAアクセス対応ファイルとすべきファイル形式を決めておき、新規記録対象ファイルのファイル形式について判別するように構成することが考えられる。この場合には、例えばファイル識別子として拡張子を備えるものであれば、この拡張子を参照することで判別を行うようにすることが可能である。また、例えばファイルサイズ、データレートなどの情報に基づいて判別するように構成することも考えられる。
【０１３２】
ステップＳ２０１において、新規記録対象ファイルがLBAアクセス対応ファイルではないとして、否定の判別結果が得られた場合には、ステップＳ２１７の処理に進む。ステップＳ２１７においては、ＦＡＴファイルシステムのみにしたがった、通常のファイルデータの記録処理を実行する。なお、この通常のＦＡＴファイルシステムのみにしたがってのファイルデータの記録処理については、既に周知の技術であることから、ここでの説明は省略する。
【０１３３】
これに対して、ステップＳ２０１において、新規記録対象ファイルがLBAアクセス対応ファイルであるとして肯定の判別結果が得られた場合には、ステップＳ２０２〜Ｓ２１６の処理シーケンスに移行する。この処理シーケンスは、以降説明するようにして、ＦＡＴファイルシステムによるファイル管理とLBAアクセス情報によるファイル管理の両者によるファイル管理が行われるかたちで新規記録対象ファイルがメディアに記憶されるようにするための処理となる。
【０１３４】
先ず、ステップＳ２０２においては、ＦＡＴ領域を参照するなどして、現段階において未使用とされているクラスタのうちから１つのクラスタを、ディレクトリエントリ格納クラスタとして確保する。
次のステップＳ２０３においては、上記のように確保したクラスタに対して、新規記録対象ファイルに対応するディレクトリエントリを作成する。このための処理としては、先ず、ディレクトリエントリ格納クラスタとして確保したクラスタの先頭３２バイトを、さらにディレクトリエントリの領域として確保したうえで、ディレクトリエントリ内の各情報項目について、実際の新規記録対象ファイルに対応するしかるべき値を格納していくようにされる。なお、ディレクトリエントリ内の各情報項目の内容は、新規記録対象ファイルをどのクラスタから記録開始するのか（先頭クラスタ番号）ということを含め、この段階において既に確定しているものとされる。
また、同じステップＳ２０３では、上記のようにしてディレクトリエントリを確保したうえで、さらに、ディレクトリエントリ格納クラスタにおいて、LBAアクセス情報の先頭バイト（バイト位置0h）となるバイト位置に対して予めE5hをセットしておく処理も実行する。つまり、ディレクトリエントリ格納クラスタが第０バイトからはじまるものとして考えた場合に、ディレクトリエントリ格納クラスタの第３２×ｎ（ｎは自然数）バイトごとに対して、順次、E5hをセットしていくようにされる。これにより、このディレクトリエントリ格納クラスタを通常のＦＡＴファイルシステムにより処理する場合には、先頭３２バイトの領域のみが有効なディレクトリエントリとして認識され、残る領域は消去済みのディレクトリエントリが詰められているものとして認識されることになる。
【０１３５】
ステップＳ２０４においては、連続クラスタ数を示す変数ｍについてｍ＝１をセットし、LBAアクセス情報の番号を示す変数ＮについてＮ＝１をセットして保持しておくようにされる。
【０１３６】
ステップＳ２０５においては、新規記録対象ファイルの実データ（ファイルデータ）を格納するためのクラスタである実データ格納クラスタを１つ確保する。
この場合において、最初のステップＳ２０５の処理のときには、実データ格納クラスタとして、新規記録対象ファイルのファイルデータを格納する先頭クラスタを確保することになる。前述もしたように、先頭クラスタについては、ステップＳ２０３の処理を実行する段階において既に決定が行われて確定されている。なお、先頭クラスタを決定する際には、例えばＦＡＴ領域を参照して、そのときの段階において未使用となっているクラスタのうちから所定規則に従って１つのクラスタを選択するようにされる。
また、２回目以降のステップＳ２０５の処理のときには、実データ格納クラスタとして、前回のステップＳ２０５によって実データ格納クラスタとして確保されたクラスタにチェインさせるべきクラスタを、ＦＡＴ領域を参照するなどして検索した未使用のクラスタのうちから所定規則によって選択するようにされる。
【０１３７】
ステップＳ２０６においては、最後（今回）の上記ステップＳ２０５により確保した実データ格納クラスタが新規記録対象ファイルの先頭クラスタであるか、あるいは、最後の上記ステップＳ２０５により確保した実データ格納クラスタのクラスタ番号が、前回のステップＳ２０５により確保した実データ格納クラスタのクラスタ番号に対して不連続であるか否かについて判別する。
今回のステップＳ２０６が、ステップＳ２０５の処理を最初に実行した次のステップである場合には、今回確保した実データ格納クラスタが先頭クラスタということになって、ステップＳ２０６として肯定の判別結果が得られることになる。
また、今回確保した実データ格納クラスタのクラスタ番号が、前回確保した実データ格納クラスタのクラスタ番号に対して１インクリメントした値ではなく、不連続なものとなっている場合にも、ステップＳ２０６において肯定の判別結果が得られることになる。なお、今回確保した実データ格納クラスタのクラスタ番号が、前回確保した実データ格納クラスタのクラスタ番号に対して不連続であるということは、今回確保した実データ格納クラスタが、２番目以降のセグメントの先頭クラスタであるということに対応する。本実施の形態では、メディア上でフラグメントを生じていないファイルについて、１セグメントにより完結して形成されているものとして考えるので、ステップＳ２０６において肯定結果が得られる場合とは、今回確保した実データ格納クラスタがセグメントの先頭クラスタである場合となる。
これに対して、今回確保した実データ格納クラスタが、ファイルの先頭クラスタではなく、かつ、セグメントの先頭クラスタでもない場合に、ステップＳ２０６により否定の判別結果が得られることになる。
【０１３８】
ステップＳ２０６において肯定の判別結果が得られた場合には、ステップＳ２１１に進む。
ステップＳ２１１においては、現段階にて保持している連続クラスタ数を示す変数ｍについて、ｍ＝１であるか否かについて判別する。ｍ＝１であるとして肯定の判別結果が得られた場合には、今回確保した実データ格納クラスタは、１番目のセグメントの先頭クラスタである、ということになるが、この場合にはステップＳ２１２、Ｓ２１３の処理をスキップして、ステップＳ２１４の処理を実行する。ステップＳ２１４の処理については後述する。
【０１３９】
一方、ステップＳ２１１においてｍ＝１ではないとして否定の判別結果が得られた場合には、今回確保した実データ格納クラスタは、ファイルを形成する複数のセグメントのうちで２番目以降となるセグメントの先頭クラスタである、ということになる。この場合には、ステップＳ２１２、Ｓ２１３の処理を実行した後に、ステップＳ２１４に進む。
【０１４０】
ステップＳ２１２においては、現在保持している変数Ｎに対応するLBAアクセス情報Ｎを作成する。このステップＳ２１２にて作成されるLBAアクセス情報は、今回確保した実データ格納クラスタを含むセグメントに対して、連結順的に１つ前となるセグメントに対応するものとなる。
ここでのLBAアクセス情報Ｎの作成の処理としては、次のようになる。
先ず、クラスタをバイト単位で区切った場合に、先頭の１バイトを第０バイトとして扱うこととする。そのうえで、ステップＳ２１２においては、ステップＳ２０２にて確保したディレクトリエントリ格納クラスタにおいて、第（３２×Ｎ）バイトを先頭とする３２バイトの領域を、LBAアクセス情報Ｎの領域として確保する。例えば、LBAアクセス情報１（Ｎ＝１）であれば、ディレクトリエントリ格納クラスタにおける第３２バイトを先頭として、第６３バイトまでの３２バイトの領域をLBAアクセス情報１の領域として確保する。LBAアクセス情報２（Ｎ＝２）であれば、ディレクトリエントリ格納クラスタにおける第６４バイトを先頭として、第９５バイトまでの３２バイトの領域をLBAアクセス情報２の領域として確保する。なお、確認のために述べておくと、ステップＳ２０３の処理によって、各LBAアクセス情報の先頭となる第３２バイト、第６４バイト、第９６バイト・・・の位置には、E5hが格納済みの状態となっている。
このような処理によって、LBAアクセス情報としては、ディレクトリエントリ格納クラスタにおけるディレクトリエントリに続けて、その番号順に従って３２バイトづつ埋め込まれるようにして格納されるようになっている。
【０１４１】
そのうえで、ステップＳ２１２では、上記のようにして確保したLBAアクセス情報において、各情報項目に対応するバイト領域に対して、しかるべき値を格納していくようにされる。まず、番号（バイト位置1h−2h）については、現在保持している変数Ｎと同じ値を格納する。LBAアクセス情報の総数（バイト位置3h−4h）については、この段階では確定されないので、特に値を格納することは行わない。若しくは、所定の暫定値を格納するようにしてもよい。
先頭LBA(バイト位置5h〜8h)には、最後のステップＳ２１４の処理により現在まで保持している先頭LBAの値を格納する。
サイズ（バイト位置9h〜Ch）の領域には、現LBAアクセス情報が対応するとされるセグメントのサイズを格納する。このサイズは、本実施の形態では、前述もしたように、セグメントの使用クラスタ数をセクタ数に換算したものである。したがって、現在保持している連続クラスタ数ｍに対して１クラスタあたりのセクタ数とを乗算することで得ることができる。
【０１４２】
ステップＳ２１３においては、連続クラスタ数を示す変数ｍについて、ｍ＝１にリセットし、LBAアクセス情報の番号を示す変数Ｎについて、１インクリメントした値とする。これにより、LBAアクセス情報番号Ｎとしては、今回確保した実データ格納クラスタを含むセグメントに対応することになる。
【０１４３】
ステップＳ２１４においては、今回確保した実データ格納クラスタにおいて先頭となるセクタのLBA値（セクタ番号）を、先頭LBAの情報として取得して、これを保持する。ここで保持する先頭LBAは、今回確保した実データ格納クラスタを含むセグメントの先頭LBAとしての意味を持つ。また、ここでの先頭LBAとしてのセクタ番号を取得するのにあたっては、例えば該当パーティションにおけるシステム領域が占有するセクタ数と、今回確保した実データ格納クラスタのクラスタ番号を使用した、先頭LBAを求めるための所定の演算式を用いて演算処理を行って演算結果を得るようにすればよい。
ステップＳ２１４の処理を終了した後は、ステップＳ２０８の処理に進む。
【０１４４】
今回確保した実データ格納クラスタがセグメントにおける２番目以降のクラスタであることに対応して、先のステップＳ２０６において否定結果が得られた場合には、ステップＳ２０７に進み、連続クラスタ数を示す変数ｍについて１インクリメントしたうえでステップＳ２０８に進むことになる。
【０１４５】
ステップＳ２０８においては、最後のステップＳ２０５により確保した実データ格納クラスタに対して、ファイルの実データを書き込んで記録するための処理を実行する。また、このときに記録した実データのサイズ（例えばバイト単位）を保持する。
ステップＳ２０９においては、上記ステップＳ２０８によるクラスタへのデータ書込結果が反映されるようにして、必要に応じて、ＦＡＴ領域の内容を更新するための処理を実行する。具体的には、例えばステップＳ２０８でのデータ書込対象となったクラスタについてのクラスタチェインが示されるように、しかるべきＦＡＴエントリに対して所要値をセットする。あるいは、ファイルデータ終端までを書き込んだとする場合には、今回確保した実データ格納クラスタに対応するFATエントリにおいてEOFを示す値を格納する処理を実行する。
ステップＳ２１０においては、ステップＳ２０８によるクラスタへのデータ書込結果に応じて、必要な情報項目を更新する。このステップＳ２１０において更新される情報項目としては、サイズを挙げることができる。つまり、これまで格納していたサイズについて、ステップＳ２０８により保持した実データの書込サイズを加算するようにしてインクリメントした値に更新する。
【０１４６】
ところで、新規記録対象ファイルが１セグメントから成り、かつ、１クラスタのみを使用して記録されるものであるとする。この場合には、ステップＳ２０１〜Ｓ２０４からステップＳ２０５→Ｓ２０６→Ｓ２１４→Ｓ２０８〜Ｓ２１０の処理シーケンスを経て、次に述べるステップＳ２１５に至り、ここで直ちに肯定の判別結果が得られることになる。
【０１４７】
ステップＳ２１５においては、ファイルデータの記録終了の段階であるか否かについて判別する。この判別にあたっては、最後のステップＳ２０８により記録した実データの終端が、ファイルデータの終端と一致するものであるか否かについて判断すればよい。そして、ステップＳ２１５において、記録終了ではないとして否定の判別結果が得られたのであれば、ステップＳ２０５の処理に戻るようにされる。これにより、以降において、ファイルデータの終端までのデータ書込が終了するまで、実データ格納クラスタを逐一選択（確保）してファイルの実データをクラスタ単位でメディアに書き込むとともに、その書込結果に応じて、ＦＡＴ領域及びディレクトリエントリを更新する処理が繰り返し実行される。また、実データ格納クラスタを確保していく過程において、新規に次のセグメントにデータを記録することとなった場合には、これに対応して、これまでにデータ書込を行ったとされるセグメントに対応するLBAアクセス情報の作成が行われるようにされる。
【０１４８】
そして、ファイルデータの終端までのメディアへの記録を完了して、ステップＳ２１５において肯定の判別結果が得られたとされると、ステップＳ２１６に進む。
ステップＳ２１６においては、現在保持している変数Ｎに対応する、LBAアクセス情報Ｎを作成する。LBAアクセス情報の作成そのものについては、ステップＳ２１２におけるLBAアクセス情報の作成処理と同様でよい。
ただし、ここでは、これまでに作成してディレクトリエントリ格納クラスタに格納されている全てのLBAアクセス情報における、LBAアクセス情報の総数（バイト位置3h−4h）についての管理を行う。つまり、ステップＳ２１６は、ファイルデータの記録が終了したことに応じて実行する処理であり、LBAアクセス情報の総数は、ファイルデータの記録を終了した段階に至って初めて確定される。そこで、ステップＳ２１６では、同じステップＳ２１６により作成したLBAアクセス情報も含めて、ディレクトリエントリ格納クラスタに格納されている全LBAアクセス情報の総数（バイト位置3h−4h）の領域に対して、確定されたLBAアクセス情報の総数を示す値を格納する。
【０１４９】
参考として、図２に示したファイルシステム階層モデルにおいて、ファイルシステム１０１の内部機能についてより詳細に示した構成例を、図１３に示しておくこととする。なお、この図においては、図２と同様に、アプリケーション１００、ファイルシステム１０１、デバイスドライバ１０２、及びメディア１０３によるシステム階層モデル全体を示している。また、この図に示す構成は、通常のＦＡＴファイルシステムのみに対応したものとなる。
【０１５０】
この図に示すようにして、ファイルシステム１０１としてソフトウェアが実行する処理を機能ブロックとしてみた場合には、記録制御部２００及びメディア制御部２１０を備えて構成されるものとみることができる。
【０１５１】
記録制御部２００は、メディアに対するデータの記録（書き込み）及び読み出しに関する各種制御処理を実行するもので、ディレクトリエントリ制御部２０１、ＦＡＴ制御部２０２、及びクラスタ制御部２０３を備える。また、メディア制御部２１０は、ファイルシステムがメディアに対するコントロールを行うために、デバイスドライバ１０２側とデータの授受を行うことが可能な機能部位として位置算出部２１１を備える。
【０１５２】
記録制御部２００内のディレクトリエントリ制御部２０１は、例えばメディアに対するファイルの書き込み、消去などのデータ処理結果に応じてディレクトリエントリを作成、削除、更新するなど、ディレクトリエントリについての各種所要の制御処理を実行する。ＦＡＴ制御部２０２は、メディアに対するファイルデータ処理結果に応じてＦＡＴ領域における所定のＦＡＴエントリについての書き換えを実行するなど、ＦＡＴ領域についての各種所要の制御処理を実行する。クラスタ制御部２０３は、ファイルシステム内での処理がクラスタレベルで実行されるようにするための各種制御処理を実行する。
例えばメディア１０３に書き込むためのデータが、ファイル単位の処理としてアプリケーション１００から渡されてきたとすると、クラスタ制御部２０３は、このファイルレベルのデータをクラスタレベルによるデータに変換する。そして、このクラスタレベルによるメディア１０３へのデータ書き込みを、メディア制御部２１０の位置算出部２１１に指示する。
位置算出部２１１では、ＦＡＴ制御部２０２により管理しているＦＡＴ領域の内容を参照して認識されるメディアの未使用領域のうちから、ファイルのデータを書き込むべきクラスタの位置（クラスタ番号）を算出する。そして、デバイスドライバ１０２に対して、書き込むべきクラスタ単位のデータを受け渡すと共に、このデータを書き込むべきクラスタ番号を指示する。デバイスドライバ１０２は、指示されたクラスタ番号について最終的には、メディア上の記憶領域の物理セクタのアドレス（LBA）に変換して、セクタレベルによりメディアへのデータの書き込みを実行するようにされる。
【０１５３】
また、これとともに、ファイルシステムでは、上記のようにしてメディアに書き込まれて記憶されるファイルがＦＡＴファイルシステム上で適正に管理されるように、ディレクトリエントリ及びＦＡＴ領域についての書き換え（更新）を行う。
例えば先ず、ディレクトリエントリ制御部２０１により今回記録するファイルについてのディレクトリエントリを作成する。このときには、ＦＡＴ制御部２０２と連携して、ＦＡＴ領域における空き領域から、ファイルを記録すべきクラスタを決定する。これに伴い、ディレクトリエントリにおける開始クラスタに格納する値も決まることになる。また、ファイルを記録すべきクラスタが決定されるのに応じて、ＦＡＴ制御部２０２は、ＦＡＴ領域において、このファイルについてのクラスタチェインなどの内容が示されるように、所要のクラスタ番号のＦＡＴエントリの値を書き換える。
そして、このようにして作成したディレクトリエントリ、及びＦＡＴ領域の書き換え内容を、先の説明と同様にして、クラスタ制御部２０３及びメディア制御部２１０（位置算出部２１１）の処理によって、メディアの所定領域に書き込んで記憶させる。
【０１５４】
図１４としても、図２に示したファイルシステム階層モデルにおいて、ファイルシステム１０１の内部機能についてのより詳細な構成を示している。ただし、この図に示す構成は、本実施の形態としての構成に対応する。つまり、通常のＦＡＴファイルシステムによるファイル管理に対応するとともに、LBAアクセス情報によるファイル管理にも対応した構成となっている。なお、この図において図１３と同一部分には同一符号を付して説明を省略する。
【０１５５】
図１４では、記録制御部２００内のディレクトリエントリ制御部２０１についても、メディア制御部２１０内の位置算出部２１１と連携した処理を実行するように構成されている点が、図１３の構成と異なっている。
つまり、本実施の形態では、ディレクトリエントリ制御部２０１の処理機能に、LBAアクセス情報の作成、管理などのメンテナンス機能を含めることとしている。LBAアクセス情報には、セグメントの先頭位置を示す先頭LBAを格納し、また、サイズの情報をセクタ数により表現した値を格納することとしているが、この先頭LBAとサイズの情報を取得するために、ディレクトリエントリ制御部２０１は、位置算出部２１１におけるクラスタ−セクタの変換機能を使用する。先頭LBAを取得する処理を例に挙げると、先ず、ディレクトリエントリ制御部２０１は、セグメントの先頭クラスタ番号を位置算出部２１１に通知するようにされる。すると、位置算出部２１１では、通知されたセグメントの先頭位置をセクタ番号に変換するための演算処理を実行して、演算結果としてのセクタ番号をディレクトリエントリ制御部２０１に返す。ディレクトリエントリ制御部２０１では、受け取ったセクタ番号を先頭LBAの値として扱う。
【０１５６】
また、LBAアクセス情報を使用してファイルアクセスを実行するときには、ディレクトリエントリ制御部２０１が、ディレクトリエントリ格納クラスタから所要のLBAアクセス情報を読み出して、先頭LBAと、セクタ数によるサイズの情報を位置算出部２１１に対して直接的に受け渡すようにして、メディア１０３へのアクセスを指示するようにされる。データ読み出しの指示を受けた位置算出部２１１では、指定された先頭LBA（セクタ番号）を読み出し開始位置として、指定されたセクタ数（サイズ）分のデータがメディア１０３から連続的に読み出されるように、デバイスドライバ１０２をコントロールする。
なお、上記のようにしてLBAアクセス情報を使用してメディア１０３から読み出されたデータについては、通常のＦＡＴファイルシステムと同様の処理によってアプリケーション側に渡される。つまり、デバイスドライバ１０２としては、この場合にも、セクタレベルによりメディア１０３にアクセスしてデータを読み出し、位置算出部２１１に受け渡す。位置算出部２１１では、受け渡されたデータについて、クラスタ単位のデータとして管理されるように変換を行って、例えばクラスタ制御部２０３に渡す。クラスタ制御部２０３では、位置算出部２１１から受け渡されたクラスタ単位のデータから、例えばファイルとしての実データを抽出して、しかるべきアプリケーション１００に対してファイルデータとして受け渡すようにされる。
【０１５７】
なお、これまでの説明では、セグメント単位のファイル管理について、LBAアクセス情報数において先頭LBAを格納し、また、サイズをセクタ数により表現していることから分かるように、セクタ（LBA）レベルであることを基としている。しかしながら、本発明の概念としては、セクタレベルではなく、例えばＦＡＴファイルシステムと同様のクラスタレベルによりセグメント単位のファイル管理を行うようにされてかまわない。つまり、図５に例示したアクセス情報の構造において、先頭LBAを先頭クラスタとして、サイズについては、セグメントの使用クラスタ数により表現したものを用いる。このような構造のアクセス情報であっても、セグメント単位のデータの読み出しを実行するのにあたって、ＦＡＴ領域にアクセスする必要はないことから、実施の形態の場合と同じく、データ処理速度の向上が達成される。この場合には、例えば処理階層のモデル構成としては、図１３でよいことになる。
ただし、図１４から分かるように、セグメント単位のファイル管理をセクタレベルで実行した場合、ディレクトリエントリ制御部２０１と位置算出部２１１との間で直接的に連携した処理が行われるように構成することになるので、その分、データアクセスのためのファイルシステム内の処理について効率的なものとすることが可能となる。
【０１５８】
また、LBAアクセス情報（データ単位部管理情報）を使用したセグメント単位によるファイル管理を行うためのメディアフォーマットとしても、図８〜図１０により説明した内容に限定されるべきではなく、他にも各種考えられる。例えば、図８の説明では、LBAアクセス情報は、セグメントごとに完結した３２バイト構造のデータとされているが、例えば１ファイルを形成する複数セグメントについての情報を所定構造によりまとめて格納した、１単位のデータとして形成することも考えられる。
【０１５９】
また、実施の形態におけるファイル管理についてはＦＡＴファイルシステムを採用することを前提としているが、例えば、ファイルについて必ず１セグメントで完結する状態でメディアに記録されることを保証しているような記録フォーマットを前提とするような場合には、本発明に基づいたセグメント単位でのファイル管理の方式のみを採用したファイル管理システムとすることも考えられる。
【０１６０】
また、セグメント単位でのファイル管理と併用されるファイルシステムとしても、実施の形態において説明したＦＡＴファイルシステムに限定されるものではなく、例えばＨＳＦ(Hierarchical File System)などをはじめとする他のファイルシステムとされてもよいものであり、特に限定されるべきものではない。
また、本発明に基づいたセグメント単位のファイル管理は、例えば前述もしているように、動画像形式のファイルに適用して有効であるが、本発明が対象とするファイルの形式、種別としては、特に限定されるべきではない。
また、ファイルとして扱われないような形式の単位データについても、本発明の適用は可能である。
【０１６１】
また、本発明によるデータ処理速度向上などの効果は、例えば図１においてメディアコントローラ１３と接続されているもののうちであれば、ＨＤＤ、光ディスク、光磁気ディスクなど、アクセス時においてヘッドとデータ記録面との相対位置が物理的に移動するタイプのメディアにて顕著に得られるということがいえる。なぜならば、ＦＡＴ領域に対するアクセスにあたり、ヘッドを物理的に移動させるシーク動作が伴うことで、このシーク動作に要する時間（シーク時間）がオーバーヘッドの最大要因の１つとなるからである。しかしながら、例えば半導体記憶装置などについても、論理的、物理的に離れたアドレスのデータにアクセスする場合に、アドレス変換の処理が重くなるなどのオーバーヘッドが生じて、データ処理速度が低下する可能性があるといえる。このことを考えれば、本発明としては、ヘッドによるアクセスが行われるタイプ以外のメディアを対象としてファイルを更新する場合にも適用可能であることになる。
【０１６２】
また、メディアとホスト側機器との関係としては、例えばケーブル、コネクタなどの物理的接続手段を用いて接続されるメディアの他、Bluetooth、無線ＬＡＮ(Local Area Network)などにより、ホストと無線により接続されるメディアを対象とすることも考えられる。
また、本発明の情報処理装置としても、実施の形態に挙げたデジタルビデオカメラに限定されるべきものではなく、例えば、デジタルスチルカメラ、テレビジョン放送番組の予約録画機器など、各種の記憶媒体に対応してデータ書き込み／読み出しなどのデータ処理が可能な機器であれば、本発明が適用できる。また、特に本発明は、ＲＡＭが固定的に組み込まれているなどの事情で、ＦＡＴ領域のためのワークＲＡＭについて充分なサイズを確保できないような機器について非常に有効であると述べたが、本発明の概念は、このような機器に限定されることなく、例えばパーソナルコンピュータをはじめ、これに準じた拡張性を有する各種情報処理機器などにも適用されるべきものである。
【図面の簡単な説明】
【０１６３】
【図１】本発明の実施の形態のデジタルビデオカメラの構成例を示すブロック図である。
【図２】ＦＡＴファイルシステムのシステム構成を階層モデルにより示す図である。
【図３】ＦＡＴファイルシステムにおけるメディアのフォーマット構造を示す図である。
【図４】ＦＡＴファイルシステムにおけるＭＢＲの構造を示す図である。
【図５】ＦＡＴファイルシステムにおけるディレクトリエントリの構造を示す図である。
【図６】ＦＡＴファイルシステムによるファイル記録位置の管理例を示す図である。
【図７】通常のＦＡＴファイルシステムによるファイル管理に対応するメディアの記録内容例を示す図である。
【図８】通常のＦＡＴファイルシステムによるファイル管理とともに、LBAアクセス情報を使用したセグメント単位によるファイル管理に対応するメディアの記録内容例を示す図である。
【図９】本実施の形態における、LBAフラグの定義例を示す図である。
【図１０】本実施の形態におけるLBAアクセス情報の構造例を示す図である。
【図１１】本実施の形態に対応するファイル再生（ファイルアクセス）のための処理を示すフローチャートである。
【図１２】本実施の形態に対応するファイル記録のための処理を示すフローチャートである。
【図１３】ファイルシステムの階層における処理機能として、ＦＡＴファイルシステムのみによりファイル管理を行う場合に対応する構成を示す図である。
【図１４】ファイルシステムの階層における処理機能として、ＦＡＴファイルシステム及びLBAアクセス情報を使用したセグメント単位によるファイル管理を行う場合に対応する構成を示す図である。
【符号の説明】
【０１６４】
１  デジタルビデオカメラ、２  光学系部、３  光電変換部、４  ビデオ信号処理部、５  画像入出力部、６  カメラ機能部、７  表示部、８  音声処理部、９  音声入出力部、１０  ＣＰＵ、１１  ＲＯＭ、１２  ＲＡＭ、１２ａ  不揮発性メモリ、１３  メディアコントローラ、１５  操作入力部、１６  通信部、１００  アプリケーション、１０１  ファイルシステム、１０２  デバイスドライバ、２００  記録制御部、２０１  ディレクトリエントリ、２０２  ＦＡＴ制御部、２０３  クラスタ制御部、２１０  メディア制御部、２１１  位置算出部
【図１】
2006178632.tif 000003
【図２】
2006178632.tif 000004
【図３】
2006178632.tif 000005
【図４】
2006178632.tif 000006
【図５】
2006178632.tif 000007
【図６】
2006178632.tif 000008
【図７】
2006178632.tif 000009
【図８】
2006178632.tif 000010
【図９】
2006178632.tif 000011
【図１０】
2006178632.tif 000012
【図１１】
2006178632.tif 000013
【図１２】
2006178632.tif 000014
【図１３】
2006178632.tif 000015
【図１４】
2006178632.tif 000016