(57)【特許請求の範囲】
【請求項１】
FAT方式でフォーマットされた情報記録媒体にデータファイルを記録する記録装置において、
前記情報記録媒体のFATを所定のサイズ毎に分割して複数の部分テーブルを設定し、前記部分テーブルにそれぞれ対応して、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在するか否かを示すフラグを少なくとも含む制御情報を生成する生成手段と、
前記生成手段によって生成された前記制御情報に含まれる前記フラグに基づき、前記情報記録媒体から、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在する前記部分テーブルを読み出す読み出し手段と、
前記読み出し手段によって読み出された前記部分テーブルを保持する保持手段と、
保持されている前記部分テーブルを参照して、前記情報記録媒体の空いている単位記録領域を検出し、検出した前記単位記録領域に前記データファイルを記録する記録手段と、
前記記録手段の処理に対応して、前記保持手段によって保持された前記部分テーブルを更新する更新手段と、
保持されている更新された前記部分テーブルを用いて、前記情報記録媒体の前記FATを部分的に上書きする上書き手段とを含み、
前記記録手段による前記データファイルの記録によって、保持されている前記部分テーブルに対応する前記情報記録媒体の空いている単位記録領域がなくなった場合、
前記読み出し手段は、前記前記制御情報に含まれる前記フラグに基づき、保持されている前記部分テーブルとは異なる、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを前記情報記録媒体から新たに読み出し、
前記保持手段は、新たに読み出された前記部分テーブルを保持する
ことを特徴とする記録装置。
【請求項２】
前記上書き手段は、保持されている更新された前記部分テーブルの全体を、前記情報記録媒体の前記FATの対応する部分に上書きする
ことを特徴とする請求項１に記載の記録装置。
【請求項３】
前記制御情報には、前記フラグの他、対応する前記部分テーブルを特定する情報、対応する前記部分テーブルが示す空き状態の単位記録領域の数、前記空き状態の単位領域の合計容量、および、対応する前記部分テーブルが示す最初の空き状態の単位記録領域のアドレスのうち、少なくとも１つが含まれる
ことを特徴とする請求項１に記載の記録装置。
【請求項４】
前記情報記録媒体は、着脱換装可能である
ことを特徴とする請求項１に記載の記録装置。
【請求項５】
前記情報記録媒体は、マイクロドライブ（登録商標）である
ことを特徴とする請求項１に記載の記録装置。
【請求項６】
前記部分テーブルのサイズは、前記保持手段の容量に対応して決定される
ことを特徴とする請求項１に記載の記録装置。
【請求項７】
前記上書き手段は、更新された前記部分テーブルの更新されていない箇所を含めた全体を、前記情報記録媒体に記録されている前記FATの対応する部分に上書きする
ことを特徴とする請求項１に記載の記録装置。
【請求項８】
FAT方式でフォーマットされた情報記録媒体にデータファイルを記録する記録装置の記録方法において、
前記情報記録媒体のFATを所定のサイズ毎に分割して複数の部分テーブルを設定し、前記部分テーブルにそれぞれ対応して、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在するか否かを示すフラグを少なくとも含む制御情報を生成する生成ステップと、
前記生成ステップの処理で生成された前記制御情報に含まれる前記フラグに基づき、前記情報記録媒体から、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在する前記部分テーブルを読み出す第１の読み出しステップと、
前記第１の読み出しステップの処理で読み出された前記部分テーブルを保持する第１の保持ステップと、
保持されている前記部分テーブルを参照して、前記情報記録媒体の空いている単位記録領域を検出し、検出した前記単位記録領域に前記データファイルを記録する記録ステップと、
前記記録ステップの処理に対応して、保持された前記部分テーブルを更新する更新ステップと、
保持されている更新された前記部分テーブルを用いて、前記情報記録媒体の前記FATを部分的に上書きする上書きステップと、
前記記録ステップによる前記データファイルの記録によって、保持されている前記部分テーブルに対応する前記情報記録媒体の空いている単位記録領域がなくなった場合、前記前記制御情報に含まれる前記フラグに基づき、保持されている前記部分テーブルとは異なる、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを前記情報記録媒体から新たに読み出す第２の読み出しステップと、
新たに読み出された前記部分テーブルを保持する第２の保持ステップと
を含むことを特徴とする記録方法。
【請求項９】
FAT方式でフォーマットされた情報記録媒体にデータファイルを記録する記録装置のプログラムであって、
前記情報記録媒体のFATを所定のサイズ毎に分割して複数の部分テーブルを設定し、前記部分テーブルにそれぞれ対応して、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在するか否かを示すフラグを少なくとも含む制御情報を生成する生成ステップと、
前記生成ステップの処理で生成された前記制御情報に含まれる前記フラグに基づき、前記情報記録媒体から、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在する前記部分テーブルを読み出す第１の読み出しステップと、
前記第１の読み出しステップの処理で読み出された前記部分テーブルを保持する第１の保持ステップと、
保持されている前記部分テーブルを参照して、前記情報記録媒体の空いている単位記録領域を検出し、検出した前記単位記録領域に前記データファイルを記録する記録ステップと、
前記記録ステップの処理に対応して、保持された前記部分テーブルを更新する更新ステップと、
保持されている更新された前記部分テーブルを用いて、前記情報記録媒体の前記FATを部分的に上書きする上書きステップと、
前記記録ステップによる前記データファイルの記録によって、保持されている前記部分テーブルに対応する前記情報記録媒体の空いている単位記録領域がなくなった場合、前記前記制御情報に含まれる前記フラグに基づき、保持されている前記部分テーブルとは異なる、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを前記情報記録媒体から新たに読み出す第２の読み出しステップと、
新たに読み出された前記部分テーブルを保持する第２の保持ステップと
を含む処理を記録装置のコンピュータに実行させるプログラムが記録されていることを特徴とする記録媒体。
【請求項１０】
FAT方式でフォーマットされた情報記録媒体にデータファイルを記録する記録装置を制御するプログラムであって、
前記情報記録媒体のFATを所定のサイズ毎に分割して複数の部分テーブルを設定し、前記部分テーブルにそれぞれ対応して、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在するか否かを示すフラグを少なくとも含む制御情報を生成する生成ステップと、
前記生成ステップの処理で生成された前記制御情報に含まれる前記フラグに基づき、前記情報記録媒体から、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在する前記部分テーブルを読み出す第１の読み出しステップと、
前記第１の読み出しステップの処理で読み出された前記部分テーブルを保持する第１の保持ステップと、
保持されている前記部分テーブルを参照して、前記情報記録媒体の空いている単位記録領域を検出し、検出した前記単位記録領域に前記データファイルを記録する記録ステップと、
前記記録ステップの処理に対応して、保持された前記部分テーブルを更新する更新ステップと、
保持されている更新された前記部分テーブルを用いて、前記情報記録媒体の前記FATを部分的に上書きする上書きステップと、
前記記録ステップによる前記データファイルの記録によって、保持されている前記部分テーブルに対応する前記情報記録媒体の空いている単位記録領域がなくなった場合、前記前記制御情報に含まれる前記フラグに基づき、保持されている前記部分テーブルとは異なる、対応する前記情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを前記情報記録媒体から新たに読み出す第２の読み出しステップと、
新たに読み出された前記部分テーブルを保持する第２の保持ステップと
を含む処理を記録装置のコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記録装置および方法、記録媒体、並びにプログラムに関し、特に、FAT(File Allocation Table)方式に従ってデータファイルを情報記録媒体に記録する場合に用いて好適な記録装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
従来、ハードディスクなどの情報記録媒体にデータファイルを記録し、また再生するためのフォーマットとして、FAT方式が知られている。FAT方式は、MS-DOS、WINDOWS（登録商標）などのＯＳ(Operating System)を搭載しているパーソナルコンピュータによって標準でサポートされているので、最も普及しているファイルフォーマット方式であるということができる。
【０００３】
FAT方式について説明する。図１に示すように、FAT方式でフォーマットされた情報記録媒体の記録領域は、セクタと称される物理的記録単位に分割されている。各セクタは、所定の容量（例えば、５１２バイト）を有し、それぞれにセクタアドレスが付与されている。情報記録媒体に対するアクセスはセクタ単位で行われる。
【０００４】
また、FAT方式でフォーマットされた情報記録媒体の記録領域は、所定の数のセクタ（例えば、６４セクタ）から構成されるクラスタと称される論理的記録単位に分割されている。各クラスタには、それぞれクラスタアドレスが付与されている。情報記録媒体に対するファイルの読み書きの管理は、クラスタ単位で行われる。
【０００５】
すなわち、記録するファイルのサイズが１個のクラスタの容量よりも大きい場合、ファイルは複数のクラスタに分割して記録される。反対に、記録するファイルのサイズが１個のクラスタの容量以下である場合、１個のクラスタに、当該ファイルだけが記録される。
【０００６】
情報記録媒体の所定の記録領域には、ファイルを記録したり読み出したりするときに参照され、また更新されるファイルアロケーションテーブル（以下、FATと記述する）、およびディレクトリエントリが記録されている。
【０００７】
FATには、情報記録媒体の全てのクラスタにそれぞれに対応するスペースが設けられている。したがって、情報記録媒体の容量が大きくなればなるほど、FATのサイズも大きくなる。FATの各スペースには、それぞれFATアドレスが付与されている。
【０００８】
FATアドレス０のスペースには、クラスタアドレスＣＬ０のクラスタが空いているか、または使用済であるかを示す情報が記録されている。使用済であることを示す情報としては、クラスタアドレスＣＬ０のクラスタに記録されているデータに継続するデータが存在する場合、継続するデータが記録されているクラスタのクラスタアドレスが記録される。クラスタアドレスＣＬ０のクラスタに記録されているデータに継続するデータが存在しない場合（すなわち、クラスタアドレスＣＬ０のクラスタに記録されているデータでファイルが終結する場合）、EOF(End Of File)が記録されている。
【０００９】
同様に、FATアドレス１，２，３…のスペースには、それぞれ、クラスタアドレスＣＬ１，２，３…のクラスタが空いているか、または使用済であるかを示す情報が記録されている。
【００１０】
ディレクトリエントリには、各ファイルについて、ファイル名、拡張子、属性、予約情報、ファイル作成時刻、ファイル作成日、最終アクセス日、更新日時、当該ファイルの先頭部分のデータが記録されているクラスタのクラスタアドレス（以下、開始クラスタアドレスと記述する）、およびファイルサイズが記録されている。
【００１１】
なお、FATが記録されているクラスタのクラスタアドレス、およびディレクトリエントリが記録されているクラスタのクラスタアドレスは、情報記録媒体の先頭の１セクタに記録されている管理情報に含まれている。管理情報には、情報記録媒体の容量、１クラスタが何セクタで構成されているかを示す情報も含まれる。
【００１２】
ディレクトリエントリおよびFATについて具体的に説明する。例えば、図２に示すように、ファイルＡがファイルＡ−１乃至Ａ−１８に分割され、それぞれが、情報記録媒体のクラスタアドレスＣＬ１，ＣＬ２，ＣＬ３，ＣＬ５，ＣＬ６，ＣＬ１１０，ＣＬ１１２，ＣＬ１１３，ＣＬ１１４，ＣＬ１１５，ＣＬ１１６，ＣＬ１１９，ＣＬ３２０，ＣＬ３２３，ＣＬ３２４，ＣＬ３２８，ＣＬ３２９，ＣＬ３３０のクラスタに記録されたとする。
【００１３】
この場合、ディレクトリエントリには、ファイルＡの開始クラスタアドレスとして、クラスタアドレスＣＬ１が記録される。
【００１４】
一方、FATには、図３に示すように、FATアドレス１のスペースに、クラスタアドレスＣＬ２が記録され、FATアドレス２のスペースに、クラスタアドレスＣＬ３が記録され、FATアドレス３のスペースに、クラスタアドレスＣＬ５が記録される。以下、記述は省略するが、最終的に、FATアドレス３３０のスペースに、EOFが記録される。なお、図３において、例えば、FATアドレス０、FATアドレス４、FATアドレス７等の空白のスペースには、対応するクラスタが空いていることを示す情報が記録されているものとする。すなわち、図３に示されたFATによれば、クラスタアドレスＣＬ０，ＣＬ４，ＣＬ７等のクラスタは空きクラスタである。
【００１５】
このようして、情報記録媒体に対してファイルが記録される毎に更新されるFATおよびディレクトリエントリは、ファイルが読み出されるときに使用される。
【００１６】
例えば、情報記録媒体からファイルＡが読み出される処理について説明する。まず始めに、情報記録媒体に記録されているディレクトリエントリとFATが、再生装置の内蔵メモリ（DRAM(Dynamic Random Access Memory)等）にコピーされる。そして、内蔵メモリのディレクトリエントリが参照されて、ファイルＡの開始クラスタ（いまの場合、クラスタアドレスＣＬ１）が読み出され、クラスタアドレスＣＬ１のクラスタから、ファイルＡ−１が読み出される。
【００１７】
次に、内蔵メモリのFATが参照されて、クラスタアドレスＣＬ１に対応するFATアドレス１のスペースから、次のクラスタアドレスＣＬ２が読み出され、クラスタアドレスＣＬ２のクラスタから、ファイルＡ−２が読み出される。次に、内蔵メモリのFATが参照されて、クラスタアドレスＣＬ２に対応するFATアドレス２のスペースから、次のクラスタアドレスＣＬ３が読み出され、クラスタアドレスＣＬ１２のクラスタから、ファイルＡ−３が読み出される。
【００１８】
これ以降同様にして、順次、ファイルＡ−４乃至Ａ−１８が読み出され、最終的にクラスタアドレスＣＬ３３０に対応するFATアドレス３３０から、EOFが読み出されることによって、ファイルを終端まで読み出したことが認識され、読み出しが終了される。
【００１９】
次に、図２に示された状態の情報記録媒体に対して、４クラスタ分程のサイズのファイルＢを記録する処理について説明する。まず始めに、情報記録媒体に記録されているディレクトリエントリと、図３に示された状態のFATが、記録装置の内蔵メモリにコピーされる。
【００２０】
そして、内蔵メモリのFATが参照されて、空きクラスタとしてクラスタアドレスＣＬ０が検出され、クラスタアドレスＣＬ０の空きクラスタに、ファイルＢの先頭から１番目の１クラスタ分のデータであるファイルＢ−１が記録され、次の空きクラスタとしてクラスタアドレスＣＬ４が検出される。これに伴って、クラスタアドレスＣＬ０に対応するFATのFATアドレス０のスペースに、クラスタアドレスＣＬ４が書き込まれる。
【００２１】
次に、クラスタアドレスＣＬ４の空きクラスタに、ファイルＢの先頭から２番目の１クラスタ分のデータであるファイルＢ−２が記録され、次の空きクラスタとしてクラスタアドレスＣＬ７が検出される。これに伴って、クラスタアドレスＣＬ４に対応するFATのFATアドレス４のスペースに、クラスタアドレスＣＬ７が書き込まれる。
【００２２】
次に、クラスタアドレスＣＬ７の空きクラスタに、ファイルＢの先頭から３番目の１クラスタ分のデータであるファイルＢ−３が記録され、次の空きクラスタとしてクラスタアドレスＣＬ８が検出される。これに伴って、クラスタアドレスＣＬ７に対応するFATのFATアドレス７のスペースに、クラスタアドレスＣＬ８が書き込まれる。
【００２３】
次に、クラスタアドレスＣＬ８の空きクラスタに、ファイルＢの先頭から４番目のデータであるファイルＢ−４が記録され、これでファイルＢが終端まで記録されたので、クラスタアドレスＣＬ８に対応するFATのFATアドレス８のスペースに、EOFが書き込まれる。
【００２４】
この後、内蔵メモリのディレクトリエントリが更新され（ファイルＢのファイルネーム、開始クラスタドレスＣＬ０などが記録され）、内蔵メモリのディレクトリエントリとFATが、情報記録媒体のディレクトリエントリとFATに上書きされて、ファイルＢの記録が完了する。ここまでの処理により、情報記録媒体には、図４に示すように、ファイルＢがファイルＢ−１乃至Ｂ−４に分割されて記録される。また、情報記録媒体に記録されているFATは、図５に示す状態に更新される。
【００２５】
以上説明したように、FAT方式に従ってファイルを読み書きする場合においては、情報記録媒体から内蔵メモリにFATをコピーして、内蔵メモリのFATを参照するようにしている。これは、例えば、情報記録媒体のFATを参照してクラスタアドレスを検出した後、検出されたクラスタアドレスのクラスタにデータを読み書きしていたのでは、情報記録媒体のヘッド、ピックアップの移動に時間を費やしてしまい、データの読み書きに遅延が生じ得るからである。この読み書きするデータが、例えば、ＡＶ(Audio and Video)データである場合、再生される映像や音声に途切れや落ちが生じてしまうことになる。
【００２６】
情報記録媒体から内蔵メモリにFATをコピーするためには、内蔵メモリの容量が少なくとも、FATのサイズよりも大きくなければならない。
【００２７】
ここで、情報記録媒体の容量に比例するFATのサイズについて考察する。例えば、情報記録媒体の容量が８ギガバイトであり、１セクタが５１２バイトであって、１クラスタが６４セクタで構成される場合、情報記録媒体には、約２５万のクラスタが存在する。よって、FATの１スペースと４バイトとすれば、FATのサイズは、約１メガバイトとなる。
【００２８】
したがって、８ギガバイトの情報記録媒体を扱う記録装置や再生装置の内蔵メモリには、少なくとも１メガバイト以上の容量を持たせればよいことになる。
【００２９】
【発明が解決しようとする課題】
ところで、最近、ハードディスクのような情報記録媒体の大容量化および小型化が著しい。また、例えば、マイクロドライブ（登録商標）のように、小型、大容量であって、さらに、着脱換装可能な情報記録媒体が存在する。
【００３０】
このような着脱換装可能な情報記録媒体を、FAT方式にしたがってファイルを読み書きする装置に適用することを考えた場合、着脱換装可能な情報記録媒体の容量は、現状でも様々な種類があり、今後においても一層の大容量化が進むと思われるので、FATのコピー先となる内蔵メモリの容量を一意的に決めることができないという課題があった。
【００３１】
ただし、着脱換装可能な情報記録媒体の容量の上限値を想定して、内蔵メモリの容量を決めることは可能ではある。しがしながら、そのようにした場合、無駄に大きなメモリを内蔵することになるので、コストの面で非効率的であるだけでなく、さらに、容量が想定した上限値を上回る着脱換装可能な情報記録媒体が出現した場合、それを利用することができないという課題がある。
【００３２】
本発明はこのような状況に鑑みてなされたものであり、内蔵メモリの容量を無駄に大きくすることなく、あらゆる容量の情報記録媒体に対しても、FAT方式に従ってファイルを記録できるようにすることを目的とする。
【００３３】
【課題を解決するための手段】
本発明の記録装置は、情報記録媒体のFATを所定のサイズ毎に分割して複数の部分テーブルを設定し、部分テーブルにそれぞれ対応して、対応する情報記録媒体の領域に空き状態の単位記録領域が存在するか否かを示すフラグを少なくとも含む制御情報を生成する生成手段と、生成手段によって生成された制御情報に含まれるフラグに基づき、情報記録媒体から、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを読み出す読み出し手段と、読み出し手段によって読み出された部分テーブルを保持する保持手段と、保持されている部分テーブルを参照して、情報記録媒体の空いている単位記録領域を検出し、検出した単位記録領域にデータファイルを記録する記録手段と、記録手段の処理に対応して、保持手段によって保持された部分テーブルを更新する更新手段と、保持されている更新された部分テーブルを用いて、情報記録媒体のFATを部分的に上書きする上書き手段とを含み、記録手段によるデータファイルの記録によって、保持されている部分テーブルに対応する情報記録媒体の空いている単位記録領域がなくなった場合、読み出し手段は、制御情報に含まれるフラグに基づき、保持されている部分テーブルとは異なる、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを情報記録媒体から新たに読み出し、保持手段は、新たに読み出された部分テーブルを保持することを特徴とする。
前記上書き手段は、保持されている更新された前記部分テーブルの全体を、前記情報記録媒体の前記FATの対応する部分に上書きするようにすることができる。
【００３４】
前記制御情報には、フラグの他、対応する部分テーブルを特定する情報、対応する部分テーブルが示す空き状態の単位記録領域の数、空き状態の単位領域の合計容量、および、対応する部分テーブルが示す最初の空き状態の単位記録領域のアドレスのうち、少なくとも１つが含まれるようにすることができる。
【００３５】
前記情報記録媒体は、着脱換装可能であるようにすることができる。
【００３６】
前記情報記録媒体は、マイクロドライブ（登録商標）であるようにすることができる。
【００３７】
前記部分テーブルのサイズは、保持手段の容量に対応して決定されるようにすることができる。
【００３８】
前記上書き手段は、更新された部分テーブルの更新されていない箇所を含めた全体を、情報記録媒体に記録されている前FATの対応する部分に上書きするようにすることができる。
【００３９】
本発明の記録方法は、情報記録媒体のFATを所定のサイズ毎に分割して複数の部分テーブルを設定し、部分テーブルにそれぞれ対応して、対応する情報記録媒体の領域に空き状態の単位記録領域が存在するか否かを示すフラグを少なくとも含む制御情報を生成する生成ステップと、生成ステップの処理で生成された制御情報に含まれるフラグに基づき、情報記録媒体から、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを読み出す第１の読み出しステップと、第１の読み出しステップの処理で読み出された部分テーブルを保持する第１の保持ステップと、保持されている部分テーブルを参照して、情報記録媒体の空いている単位記録領域を検出し、検出した単位記録領域にデータファイルを記録する記録ステップと、記録ステップの処理に対応して、保持された部分テーブルを更新する更新ステップと、保持されている更新された部分テーブルを用いて、情報記録媒体のFATを部分的に上書きする上書きステップと、記録ステップによるデータファイルの記録によって、保持されている部分テーブルに対応する情報記録媒体の空いている単位記録領域がなくなった場合、制御情報に含まれるフラグに基づき、保持されている部分テーブルとは異なる、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを情報記録媒体から新たに読み出す第２の読み出しステップと、新たに読み出された部分テーブルを保持する第２の保持ステップとを含むことを特徴とする。
【００４０】
本発明の記録媒体のプログラムは、情報記録媒体のFATを所定のサイズ毎に分割して複数の部分テーブルを設定し、部分テーブルにそれぞれ対応して、対応する情報記録媒体の領域に空き状態の単位記録領域が存在するか否かを示すフラグを少なくとも含む制御情報を生成する生成ステップと、生成ステップの処理で生成された制御情報に含まれるフラグに基づき、情報記録媒体から、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを読み出す第１の読み出しステップと、第１の読み出しステップの処理で読み出された部分テーブルを保持する第１の保持ステップと、保持されている部分テーブルを参照して、情報記録媒体の空いている単位記録領域を検出し、検出した単位記録領域にデータファイルを記録する記録ステップと、記録ステップの処理に対応して、保持された部分テーブルを更新する更新ステップと、保持されている更新された部分テーブルを用いて、情報記録媒体のFATを部分的に上書きする上書きステップと、記録ステップによるデータファイルの記録によって、保持されている部分テーブルに対応する情報記録媒体の空いている単位記録領域がなくなった場合、制御情報に含まれるフラグに基づき、保持されている部分テーブルとは異なる、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを情報記録媒体から新たに読み出す第２の読み出しステップと、新たに読み出された部分テーブルを保持する第２の保持ステップとを含む処理を記録装置のコンピュータに実行させることを特徴とする。
【００４１】
本発明のプログラムは、情報記録媒体のFATを所定のサイズ毎に分割して複数の部分テーブルを設定し、部分テーブルにそれぞれ対応して、対応する情報記録媒体の領域に空き状態の単位記録領域が存在するか否かを示すフラグを少なくとも含む制御情報を生成する生成ステップと、生成ステップの処理で生成された制御情報に含まれるフラグに基づき、情報記録媒体から、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを読み出す第１の読み出しステップと、第１の読み出しステップの処理で読み出された部分テーブルを保持する第１の保持ステップと、保持されている部分テーブルを参照して、情報記録媒体の空いている単位記録領域を検出し、検出した単位記録領域にデータファイルを記録する記録ステップと、記録ステップの処理に対応して、保持された部分テーブルを更新する更新ステップと、保持されている更新された部分テーブルを用いて、情報記録媒体のFATを部分的に上書きする上書きステップと、記録ステップによるデータファイルの記録によって、保持されている部分テーブルに対応する情報記録媒体の空いている単位記録領域がなくなった場合、制御情報に含まれるフラグに基づき、保持されている部分テーブルとは異なる、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルを情報記録媒体から新たに読み出す第２の読み出しステップと、新たに読み出された部分テーブルを保持する第２の保持ステップとを含む処理を記録装置のコンピュータに実行させることを特徴とする。
【００４２】
本発明の記録装置および方法、並びにプログラムにおいては、情報記録媒体のFATを所定のサイズ毎に分割した部分テーブルに対応して、対応する情報記録媒体の領域に空き状態の単位記録領域が存在するか否かを示すフラグを少なくとも含む制御情報が生成され、生成された制御情報に含まれるフラグに基づき、情報記録媒体から、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルが読み出されて保持される。そして、保持されている部分テーブルが参照されて、情報記録媒体の空いている単位記録領域が検出され、検出された単位記録領域にデータファイルが記録される。さらに、その記録の処理に対応して、保持された部分テーブルが更新され、保持されている更新された部分テーブルを用いて、情報記録媒体のFATが部分的に上書きされる。また、データファイルの記録によって、保持されている部分テーブルに対応する情報記録媒体の空いている単位記録領域がなくなった場合、制御情報に含まれるフラグに基づき、保持されている部分テーブルとは異なる、対応する情報記録媒体の領域に空き状態の単位記録領域が存在する部分テーブルが情報記録媒体から新たに読み出され、新たに読み出された部分テーブルが保持される。
【００４３】
記録装置は、独立した装置であってもよいし、記録再生装置の記録を実行するブロックであってもよい。
【００４４】
【発明の実施の形態】
以下、図面を参照して本発明の一実施の形態である録画装置について説明する。
【００４５】
当該録画装置は、情報記録媒体に記録されているFATを内蔵メモリにコピーするとき、FATの全体をコピーするのではなく、FATを所定のサイズに分割したFATブロックをコピーするようにすることにより、内蔵メモリの容量を無駄に大きくすることなく、あらゆる容量の情報記録媒体に対しても、FAT方式に従ってファイルを記録できるようになされている。
【００４６】
図６は、当該録画装置の構成例を示している。CPU１は、CPUバス１６を介してドライブ３を制御し、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどよりなる記録媒体４に記憶されている制御用プログラムを読み出し、読み出した制御用プログラム、および操作入力部５からCPUバス１６を介して入力されるユーザの操作情報に対応し、当該録画装置の各部の動作開始および終了を制御する。また、特に、CPU１は、CPUバス１６を介して情報記録媒体インタフェース(I/F)１４を制御し、情報記録媒体１５に対するデータの読み書きを制御する。さらに、CPU１は、FATブロック用SDRAM６に順次コピーされるFATブロックに対応してコントロールデータを生成する。
【００４７】
CPU１に内蔵されるRAM２には、CPU１によって生成されるコントロールデータが記憶される。なお、RAM２は、CPU１の外部にあってもよい。
【００４８】
操作入力部５は、操作ボタンなどのユーザインタフェースからなり、ユーザが入力する操作（録画開始を指示する操作、録画終了を指示する操作等）を受け付け、操作情報としてCPUバス１６を介してCPU１に出力する。
【００４９】
揮発性のFATブロック用SDRAM６には、CPU１の制御により、図７に示すように、情報記録媒体１５に記録されているFATから、FATブロック用SDRAM６の容量に対応するFATブロックがコピーされる。FATブロック用SDRAM６にコピーされたFATブロックは、空きクラスタを検出するためにCPU１によって参照され、更新された後、情報記録媒体１５に上書きされる。
【００５０】
なお、FATブロック用SDRAM６の容量は、特に大きな容量とする必要はなく、例えば、３２キロバイトまたは２５６キロバイトとする。ただし、他の容量であってもかなわない。
【００５１】
ビデオカメラ７は、被写体を撮影し、得られる映像信号をビデオエンコーダ８に順次出力する。ビデオエンコーダ８は、ビデオカメラ７から順次入力される映像信号を、所定の方式（MPEG(Moving Picture Experts Group)２方式等）に従ってエンコードし、得られる符号化ビデオデータを、ミキサ(MUX)１１に出力する。マイクロフォン９は、集音した音声信号をオーディオエンコーダ１０に順次出力する。オーディオエンコーダ１０は、マイクロフォン９から順次入力される音声信号を、所定の方式に従ってエンコードし、得られる符号化オーディオデータを、ミキサ１１に出力する。ミキサ１１は、ビデオエンコーダ８から入力される符号化ビデオデータと、オーディオエンコーダ１０から入力される符号化オーディオデータを多重化して、プログラムストリームを生成し、バッファコントローラ１２に出力する。
【００５２】
バッファコントローラ１２は、ミキサ１１から入力されるプログラムストリームのデータをデータバッファ１３にバッファリングし、データバッファ１３にプログラムストリームのデータが１クラスタ分だけ溜まる毎、CPU１に対して書き込みを要求し、さらに、溜まったデータを情報記録媒体I/F１４に出力する。なお、データバッファ１３に溜まっているプログラムストリームのデータは、情報記録媒体１５に対する書き込みが成功するまで保持される。
【００５３】
情報記録媒体I/F１４は、CPU１からの制御に基づき、情報記録媒体１５に記録されているデータ（ディレクトリエントリ、FATブロック等）を読み出す。また、情報記録媒体I/F１４は、CPU１からの制御に基づき、バッファコントローラ１２から入力されるプログラムストリームのデータを、CPU１から指定されるクラスタアドレスに記録する。また、情報記録媒体I/F１４は、CPU１からの制御に基づき、FATブロック用SDRAM６上で更新されたFATブロックを情報記録媒体１５に上書きする。
【００５４】
情報記録媒体１５は、例えば、マイクロドライブ（登録商標）などからなり、情報記録媒体I/F１４に対して着脱換装可能なものである。情報記録媒体１５の容量が８ギガバイトであり、ミキサ１１から出力されるプログラムストリームが９メガビットパーセカンド(bps)である場合、約２時間分のＡＶ信号を記録することができる。この場合、データバッファ１３の容量は、データの書き込みエラーの発生なども考慮して８メガバイト程度とする。
【００５５】
また、８メガバイトの情報記録媒体１５の１セクタが５１２バイトであって、１クラスタが６４セクタで構成される場合、約２５×１０4のクラスタが存在することになる。よって、FATの１スペースを４バイトとすれば、FATのサイズは、約１メガバイトとなる。
【００５６】
ここで、FATを構成する各FATブロックに対応して、CPU１が生成するコントロールデータについて説明する。このコントロールデータは、情報記録媒体１５にファイル（プログラムストリーム）を記録する前に予め生成されるものであり、主に、ファイルを記録するときに用いられる。
【００５７】
例えば、８メガバイトの情報記録媒体１５に記録されているFATが１メガバイトであり、FATブロック用SDRAM６の容量が３２キロバイトである場合、FATブロックのサイズは、３２キロバイトとされるので、FATブロックの数は、３２（＝１×１０6／３２×１０3）となる。この場合、３２個のコントロールデータが生成され、CPU１が内蔵するRAM２に記録されることになる。
【００５８】
また例えば、８メガバイトの情報記録媒体１５に記録されているFATが１メガバイトであり、FATブロック用SDRAM６の容量が２５６キロバイトである場合、FATブロックのサイズは、２５６キロバイトとされるので、FATブロックの数は、４（＝１×１０6／２５６×１０3）となる。この場合、４個のコントロールデータが生成され、CPU１が内蔵するRAM２に記録されることになる。
【００５９】
コントロールデータには、対応するFATブロックを特定するための情報であるブロック番号（例えば、１８×２ビット）、対応するFATブロックに対する複数のクラスタのうちの空きクラスタの数（例えば、１８ビット）、空きクラスタを合計した容量（例えば、３３ビット）、記録時において、対応するFATブロックをFATブロック用SDRAM６にコピーするか否かを示すロード可／不可フラグ（例えば、１ビット）、および対応するFATブロックに存在する空きクラスタのうちの最初のクラスタアドレス（例えば、１８ビット）が記録される。
【００６０】
ブロック番号には、対応するFATブロックの先頭と終端のFATアドレスが用いられる。ロード可／不可フラグは、空きクラスタ数が１以上である場合、ロード可を示すフラグに設定される。反対に、空きクラスタ数が０である場合、ロード不可を示すフラグに設定される。
【００６１】
例えば、３２個のコントロールデータが生成される場合、コントロールデータの総サイズは、４９２バイト＝３３９２（＝（１８×２＋１８＋３３＋１＋１８）×３２）ビットである。また、４個のコントロールデータが生成される場合、コントロールデータのサイズは、５３バイト＝４２４（＝（１８×２＋１８＋３３＋１＋１８）×４）ビットである。
【００６２】
次に、コントロールデータ生成処理について、図８のフローチャートを参照して説明する。このコントロールデータ生成処理は、当該録画装置の電源がオンとされたときに開始される。
【００６３】
ステップＳ１において、CPU１は、CPUバス１６を介して、情報記録媒体I/F１４を制御し、情報記録媒体１５に記録されているFATのうち、先頭側から順に、FATブロック用SDRAM６の容量に対するサイズ（いまの場合、３２キロバイトとする）に対応するFATブロックを、FATブロック用SDRAM６にコピーさせる。
【００６４】
ステップＳ２において、CPU１は、FATブロック用SDRAM６のFATブロックに対応して、RAM２上に生成するコントロールデータに、ブロック番号として当該FATブロックの先頭と終端のFATアドレスを記録する。
【００６５】
ステップＳ３において、CPU１は、FATブロック用SDRAM６のFATブロックを参照して、対応する複数のクラスタのうちの空きクラスタの数をカウントする。ステップＳ４において、CPU１は、空きクラスタの数に基づき、当該FATブロックに対する複数のクラスタの中に空きクラスタがあるか否かを判定する。空きクラスタがあると判定された場合、処理はステップＳ５に進む。
【００６６】
ステップＳ５において、CPU１は、RAM２上のコントロールデータに、当該FATブロックの空きクラスタの数と、その合計容量を記録する。ステップＳ６において、CPU１は、RAM２上のコントロールデータに、当該FATブロックの最初の空きクラスタのクラスタアドレスを記録する。ステップＳ７において、CPU１は、RAM２上のコントロールデータに、可に設定したロード可／不可フラグを記録する。
【００６７】
なお、ステップＳ４において、当該FATブロックに対する複数のクラスタの中に空きクラスタがないと判定された場合、処理はステップＳ８に進む。ステップＳ８において、CPU１は、RAM２上のコントロールデータに、不可に設定したロード可／不可フラグを記録する。
【００６８】
ここまでの処理により、FATブロック用SDRAM６のFATブロックに対応する１個のコントロールデータがRAM２上に生成されたことになる。
【００６９】
ステップＳ９において、CPU１は、全てのFATブロックにそれぞれ対応してコントロールデータを生成したか否か（すなわち、いまの場合、３２個のコントロールデータを生成したか否か）を判定する。全てのFATブロックにそれぞれ対応してコントロールデータを生成していないと判定された場合、ステップＳ１に戻り、それ以降の処理が繰り返される。
【００７０】
その後、ステップＳ９において、全てのFATブロックにそれぞれ対応してコントロールデータを生成した（すなわち、いまの場合、３２個のコントロールデータを生成した）と判定された場合、このコントロールデータ生成処理は終了され、これ以降、後述する録画処理が実行可能となる。
【００７１】
次に、録画処理について、図９のフローチャートを参照して説明する。この録画処理は、ユーザによって録画開始を指示する操作が行われ、それに対応して、CPU１が当該録画装置の各部に録画開始を指示し、各部がそれぞれの動作を開始したとき（例えば、ビデオカメラ７が映像信号を出力し、ビデオエンコーダ８が符号化ビデオデータを出力し、ミキサ１がプログラムストリームを出力し、データバッファ１３にデータが溜まり始めたとき）に開始される。
【００７２】
ステップＳ２１において、CPU１は、RAM２上の複数のコントロールデータからロード可／不可フラグが可に設定されているものブロック番号順に１つ検索し、ブロック番号と最初の空きクラスタのクラスタアドレスを取得する。
【００７３】
ステップＳ２２において、CPU１は、CPUバス１６を介して、情報記録媒体I/F１４を制御し、情報記録媒体１５に記録されているFATのうち、取得したブロック番号に対応するFATブロックを読み出させて、FATブロック用SDRAM６にコピーさせる。ここでFATブロック用SDRAM６にコピーされたFATブロックに対する複数のクラスタには、少なくとも１つ以上の必ず空きクラスタが存在する。
【００７４】
ステップＳ２３において、CPU１は、バッファコントローラ１２から書き込み要求が行われるまで待機し、バッファコントローラ１２から書き込み要求が行われた場合、取得している空きクラスタのクラスタアドレスとライトコマンドを、CPUバス１６を介して情報記録媒体I/F１４に出力し、情報記録媒体I/F１４にバッファコントローラ１２から入力されているプログラムストリームのデータを記録させる。
【００７５】
ステップＳ２４において、CPU１は、FATブロック用SDRAM６のFATブロックを参照して、このFATブロックに対応する複数のクラスタに空きクラスタが残っているか否かを判定し、空きクラスタが残っていると判定した場合、処理はステップＳ２５に進む。
【００７６】
ステップＳ２５において、CPU１は、FATブロック用SDRAM６のFATブロックから、次の空きクラスタのクラスタアドレスを取得する。ステップＳ２６において、CPU１は、ステップＳ２３の処理に対応して、FATブロック用SDRAM６のFATブロックを更新する。具体的には、ステップＳ２３の処理において、データを記録した空きクラスタに対応するFATブロックのスペースに、ステップＳ２５の処理で取得した次の空きクラスタのクラスタアドレスを記録する。処理は、ステップＳ２３に戻り、それ以降処理が繰り返される。この繰り返しの処理により、FATブロック用SDRAM６のFATブロックに対応する複数のクラスタのうちの空きクラスタにデータが書き込まれることになる。
【００７７】
その後、ステップＳ２４において、FATブロック用SDRAM６のFATブロックに対応する複数のクラスタに、空きクラスタが残っていないと判定された場合、処理はステップＳ２７に進む。
【００７８】
ステップＳ２７において、CPU１は、RAM２上の複数のコントロールデータからロード可／不可フラグが可に設定されているものをブロック番号順に１つ検索し、ブロック番号と最初の空きクラスタのクラスタアドレスを取得する。
【００７９】
ステップＳ２８において、CPU１は、ステップＳ２３の処理に対応して、FATブロック用SDRAM６のFATブロックを更新する。具体的には、ステップＳ２３の処理において、データを記録した空きクラスタに対応するFATブロックのスペースに、ステップＳ２７の処理で取得した、次にFATブロック用SDRAM６にコピーするFATブロックの最初の空きクラスタのクラスタアドレスを記録する。
【００８０】
ステップＳ２９において、CPU１は、CPUバス１６を介して情報記録媒体１４を制御し、FATブロック用SDRAM６上の更新されたFATブロックを、情報記録媒体１５に記録されているFATに上書きさせる。
【００８１】
ステップＳ２９の処理について、図１０および図１１を参照して説明する。例えば、図１０は、ステップＳ２２の処理で、情報記録媒体１５からFATブロック用SDRAM６にコピーされた状態のFATブロックであるとする。したがって、ステップＳ２９の処理が実行される前の情報記録媒体１５にも、図１０に示されたFATブロックが記録されているものとする。
【００８２】
図１１は、ステップＳ２８の処理が実行された後のFATブロック用SDRAM６上の更新されたFATブロックであるとする。
【００８３】
つまり、ステップＳ２９の処理においては、図１０に示された状態のFATブロックを、図１１に示された状態のFATブロックを用いて上書きするが、この上書きは、例えば、FATブロックのうちの更新されているFATアドレスCL A,CL B,CL C,CL F,CLH,CL Iのスペースだけを上書きするのではなく、このFATブロックの全て、すなわち、更新されていないFATアドレスCL D,CL E,CL G,CL Zも含む先頭のFATアドレスCL Aから終端のFATアドレスCL Zまでを上書きするようにする。
【００８４】
このように、FATブロックの全てを上書きする処理は、更新されている箇所だけを上書きする処理に比較して、書き込むデータ量は多くなるが、連続して書き込むことができるので、書き込みに要する時間を短くすることができる。
【００８５】
図９に戻る。ステップＳ２９の処理が実行された後には、ステップＳ２２に戻り、次のFATブロックがFATブロック用SDRAM６にコピーされて、それ以降、同様の処理が繰り返されることになる。
【００８６】
なお、この録画処理は、ユーザによって録画終了を指示する操作が行われたときに終了される。具体的には、録画終了が指示された時点までのプログラムストリームのデータが空きクラスタに記録され、データの終端が記録されたクラスタに対するFATブロックのスペースにEOFが記録されることによって、FATブロック用SDRAM６のFATブロックが更新され、更新されたFATブロックが、情報記録媒体１５に上書きされる。さらに、情報記録媒体１５のディレクトリエントリが更新される。この後、再び上述したコントロールデータ生成処理が実行される。
【００８７】
図１２は、録画処理におけるFATブロックをFATブロック用SDRAM６にコピーする処理（ステップＳ２２の処理）、FATブロック用SDRAM６のFATブロックに対する複数のクラスタのうちの空きクラスタのデータを書き込む処理（ステップＳ２３の処理）、および更新されたFATブロックをFATブロック用SDRAM６から情報記録媒体１５に上書きする処理（ステップＳ２９の処理）のタイミングを示している。
【００８８】
同図に示すように、更新されたFATブロックをFATブロック用SDRAM６から情報記録媒体１５に上書きする処理が行われている間、およびFATブロックをFATブロック用SDRAM６にコピーする処理が行われている間においては、空きクラスタのデータを書き込む処理は待機される。この待機の間にも、プログラムストリームは生成され続けているが、データバッファ１３に蓄積されるので、記録落ちが生じることはない。
【００８９】
ただし、情報記録媒体１５に対するデータの記録は通常、時間的に等間隔で行われるが、更新されたFATブロックをFATブロック用SDRAM６から情報記録媒体１５に上書きする処理、およびFATブロックをFATブロック用SDRAM６にコピーする処理が行われた直後には、データバッファ１３の蓄積量が増加しているので、記録の時間的な間隔が短くなる。以上で、録画処理の説明を終了する。
【００９０】
以上のように、本発明を適用した録画装置によれば、あらゆる容量の情報記録媒体に対して、プログラムストリームのような連続するデータを記録することが可能となる。
【００９１】
また、本発明を適用した録画装置によってデータストリームが記録された情報記録媒体は、通常のFATフォーマットに完全に従っているものであるので、この情報記録媒体に対して、汎用のパーソナルコンピュータ等が直接アクセスすることができる。
【００９２】
なお、本発明は、本実施の形態のように、ＡＶ信号を記録する録画装置だけでなく、任意のデータを、FAT方式でフォーマットされた情報記録媒体に記録する装置に適用することが可能である。
【００９３】
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ（例えば、図６のCPU１）、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体（例えば、図６の記録媒体４）からインストールされる。
【００９４】
この記録媒体は、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMやハードディスクなどで構成される。
【００９５】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【００９６】
【発明の効果】
以上のように、本発明によれば、情報記録媒体の容量に拘わらず、内蔵メモリの容量を無駄に大きくすることなく、FAT方式に従ってデータファイルを記録することが可能となる。
【００９７】
また、本発明によれば、着脱換装可能なあらゆる容量の情報記録媒体に対して、FAT方式に従ってデータファイルを記録することが可能となる。
【図面の簡単な説明】
【図１】情報記録媒体の物理的記録単位であるセクタと論理的記録単位であるクラスタを示す図である。
【図２】ファイルが複数のクラスタに分割して記録された状態を示す図である。
【図３】図２に示された状態に対応するFATの一例を示す図である。
【図４】図２に示された状態にさらにファイルが記録された状態を示す図である。
【図５】図４に示された状態に対応するFATの一例を示す図である。
【図６】  FATブロックを説明するための図である。
【図７】本発明の一実施の形態である録画装置の構成例を示すブロック図である。
【図８】コントロールデータ生成処理を説明するフローチャートである。
【図９】録画処理を説明するフローチャートである。
【図１０】更新される前のFATブロックの一例を示す図である。
【図１１】更新された後のFATブロックの一例を示す図である。
【図１２】図９の録画処理のタイミングを説明する図である。
【符号の説明】
１  CPU，  ２  RAM，  ４  記録媒体，  ５  操作入力部，  ６  FATブロック用SDRAM，  １２  バッファコントローラ，  １３  データバッファ，  １４
情報記録媒体I/F，  １５  情報記録媒体
【図１】
0004036056.tif 000002
【図２】
0004036056.tif 000003
【図３】
0004036056.tif 000004
【図４】
0004036056.tif 000005
【図５】
0004036056.tif 000006
【図６】
0004036056.tif 000007
【図７】
0004036056.tif 000008
【図８】
0004036056.tif 000009
【図９】
0004036056.tif 000010
【図１０】
0004036056.tif 000011
【図１１】
0004036056.tif 000012
【図１２】
0004036056.tif 000013