(57)【要約】【課題】記録媒体に効率よくアクセスし、いかなるファイル操作中に電源遮断等が発生してもファイルシステム破壊を防ぐ。【解決手段】クラスタ単位で管理し、クラスタの配置情報が記録されるＦＡＴと、ファイルとクラスタとを関連付けるファイルエントリとを含む管理情報を有するファイルシステムによって記録媒体に記録を行い、ファイル操作に伴う管理情報の更新を主記憶に保持してまとめて処理するに際し、ファイルエントリの変更内容を主記憶に蓄え、確保すべきＦＡＴエントリを主記憶上のＦＡＴに反映し、解放すべきＦＡＴエントリを解放予約リストに登録し、確保すべきＦＡＴエントリが反映された主記憶上のＦＡＴを記録媒体に記録し、解放予約リストに登録されているＦＡＴエントリを主記憶上のＦＡＴから解放し、主記憶に蓄積されたファイルエントリを記録媒体に記録し、解放すべきＦＡＴエントリが反映された主記憶上のＦＡＴを記録媒体に記録する。【選択図】図１
2008269520.tif 000002
【特許請求の範囲】
【請求項１】
記録されるデータをファイルとしてクラスタ単位で管理し、前記ファイルが記録されるクラスタの配置情報が記録されるＦＡＴと、前記ファイルと前記ファイルが記録されるクラスタとを関連付ける情報が記録されるファイルエントリとを含む管理情報を有するファイルシステムによって、記録媒体にデータの記録を行う記録装置であって、
ファイル操作に伴う前記管理情報の更新処理を主記憶にバッファリングしておき所定のタイミングでまとめて実行するに際し、
前記ファイル操作に伴って変更すべきファイルエントリの内容を主記憶に蓄え、
確保すべきＦＡＴエントリを前記主記憶上のＦＡＴのコピーに反映し、
解放すべきＦＡＴエントリを解放予約リストに登録し、
前記確保すべきＦＡＴエントリが反映された主記憶上のＦＡＴのコピーの内容を前記記録媒体上のＦＡＴに記録し、
前記解放予約リストに登録されている前記ＦＡＴエントリを前記主記憶上のＦＡＴのコピーから解放し、
前記主記憶に蓄積された前記変更すべきファイルエントリを前記記録媒体上の前記ファイルエントリに記録し、
前記解放すべきＦＡＴエントリが反映された主記憶上のＦＡＴのコピーの内容を前記記録媒体上のＦＡＴに記録する、
記録装置。
【請求項２】
前記主記憶上にバッファリングした更新処理をまとめて実行する際には、ファイル操作を一時的に禁止することを特徴とする請求項１に記載の記録装置。
【請求項３】
記録されるデータをファイルとしてクラスタ単位で管理し、前記ファイルが記録されるクラスタの配置情報が記録されるＦＡＴと、前記ファイルと前記ファイルが記録されるクラスタとを関連付ける情報が記録されるファイルエントリとを含む管理情報を有するファイルシステムによって、記録媒体にデータの記録を行う記録方法であって、
ファイル操作に伴う前記管理情報の更新処理を主記憶にバッファリングしておき所定のタイミングでまとめて実行するに際し、
前記ファイル操作に伴って変更すべきファイルエントリの内容を主記憶に蓄積するステップと、
確保すべきＦＡＴエントリを前記主記憶上のＦＡＴのコピーに対して反映するステップと、
解放すべきＦＡＴエントリを解放予約リストに登録するステップと、
前記確保すべきＦＡＴエントリが反映された主記憶上のＦＡＴのコピーの内容を前記記録媒体上のＦＡＴに書き込むステップと、
前記解放予約リストに登録されている前記ＦＡＴエントリを前記主記憶上のＦＡＴのコピーから解放するステップと、
前記主記憶に蓄積された前記変更すべきファイルエントリを前記記録媒体上の前記ファイルエントリに書き込むステップと、
前記解放すべきＦＡＴエントリが反映された主記憶上のＦＡＴのコピーの内容を前記記録媒体上のＦＡＴに書き込むステップと、
を有する、記録方法。
【請求項４】
前記主記憶上にバッファリングした更新処理をまとめて実行する際には、ファイル操作を一時的に禁止することを特徴とする請求項３に記載の記録方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記録媒体に対してファイルを記録する装置及び記録方法に関する。
【背景技術】
【０００２】
近年、光ディスクや、半導体メモリなどの記録媒体に、映像信号等をファイル化して記録する装置が一般的になっている。記録媒体に記録された映像等の情報は、一般にファイルシステムによってファイルとして管理されている。ファイルシステムは、個々のファイルのサイズや記録された日時、クラスタやセクタなどの記録領域の使用状況や空き状況などを管理し、これらのファイル管理情報を、映像データと共に記録媒体に記録する。記録した映像がファイルとして認識され、正しく再生されるためには、映像のデータだけでなく、そのファイル管理情報も正しく記録媒体に記録されている必要がある。
【０００３】
ここで、記録媒体に映像を記録する場合の一例について説明する。記録媒体をビデオカメラレコーダ等の記録装置に挿入し、映像を記録しているとする。映像を記録している最中は、ファイル管理情報が時々刻々と変化する。例えば、ファイル管理情報のうち、記録中の映像ファイルのサイズは徐々に増加していく。さらに映像のファイルに割り当てた記録領域に関する情報も変化していく。
【０００４】
映像記録の途中に装置の電源が突然切れたり、記録媒体を装置から抜き取ったりすると、ファイル管理情報が記録媒体に記録されないままになってしまう。このような記録媒体を他の記録再生装置へ挿入しても、記録した映像に関するファイル管理情報が正しく媒体に記録されていない。従って、その記録媒体の映像ファイルの再生や削除等のファイル操作を試みても、ファイルが存在しない、または、ファイルが存在しても中身のデータが壊れていてエラーが発生する等、ファイルやファイルシステムの破壊が生じてしまう。
【０００５】
このような記録途中の電源遮断等の問題を解決する従来例として、特許文献１に示す方法が知られている。
【０００６】
以下、特許文献１について説明する。まず、特許文献１で採用されているＦＡＴファイルシステムについて、図７〜９を用いて説明する。通常、ＩＳＯ／ＩＥＣ９２９２に規定されたＦＡＴファイルシステムでは、ファイルシステムの管理情報とユーザデータ領域は記録媒体の論理ボリューム上で図７に示したように配置されている。図７において、図の最上部は論理セクタ０番を表している。
【０００７】
論理セクタ０番には、ブートセクタが記録されている。ブートセクタには、ボリューム全体に関する情報と、ユーザデータ領域に書かれたファイルを読み出すために必要となるＦＡＴやルートディレクトリエントリといった管理情報の所在に関する情報が記録されている。ＦＡＴファイルシステムの一具体例であるＦＡＴ１６ファイルシステムにおいて、ブートセクタに記述されるべき情報としてＩＳＯ／ＩＥＣ９２９３で定められたものを図９に示す。
【０００８】
ユーザデータ領域は、一つもしくは複数の連続したセクタをまとめた、クラスタと呼ばれる単位で管理され、全てのクラスタには先頭から順に通し番号が振られている。
【０００９】
ユーザデータ領域におけるファイルの配置情報を記述するＦＡＴとブートセクタとの間には予約領域が設けられていることがある。予約領域のセクタ数は、ブートセクタに記述される。
【００１０】
また、ＦＡＴファイルシステムにおいてはしばしば複数のＦＡＴを記録することが許されているが、ＦＡＴの数とＦＡＴ一つ当たりのセクタ数はブートセクタに記述されている。
【００１１】
一つあるいは複数のＦＡＴの直後のセクタ以降には、ルートディレクトリに記録されたディレクトリやファイルに関する情報が列挙され、ルートディレクトリエントリの直後のセクタ以降が、ユーザデータ領域となる。
【００１２】
ディレクトリに関する情報はディレクトリエントリ、ファイルに関する情報はファイルエントリと呼ぶ。ディレクトリエントリの中には、ディレクトリ名、ディレクトリ作成日時、クラスタ番号が記録されている。ディレクトリエントリのクラスタ番号に相当するユーザデータ領域には、そのディレクトリに所属するディレクトリエントリやファイルエントリが記録される。ファイルエントリの中には、ファイル名、ファイル作成時刻、ファイルサイズ、ファイルが保存されている最初のクラスタ番号が記録されている。
【００１３】
ＦＡＴの中には、それぞれのクラスタに対応したＦＡＴエントリが用意されている。以下に、ユーザデータ領域へファイルを記録する方法を、図８を用いて説明する。
【００１４】
記録するファイル８０１がユーザデータ領域で４クラスタ分に相当するサイズを持っている例を考える。この場合、まず、記録先のディレクトリのディレクトリエントリ８０２にＦｉｌｅ１のファイルエントリ８０３を作成する。次に、ファイルシステムはＦＡＴのエントリの中から、未割り当てを表す特殊なビット列（ＦＡＴ１６ファイルシステムの場合は０ｘ００）が記録されているものを４つ探し出す。仮にＡ番目、Ｂ番目、Ｃ番目、Ｄ番目の４つのクラスタに対応するＦＡＴエントリ（８０４〜８０７）に未割り当てのビット列が記録されているのが見つかった場合、ファイルシステムは、ファイルをユーザデータ領域のこの４クラスタに分割して記録する。さらに、ファイルエントリと４クラスタの関係を記録するために、ファイルエントリ８０３の先頭クラスタ番号の欄に番号Ａを記録して、ＦＡＴのクラスタＡに対応するエントリ８０４内には、ファイルが記録されている次のクラスタの番号、すなわち番号Ｂを記録する。同様にして、クラスタＢに対応するＦＡＴエントリ８０５には番号Ｃを記録し、クラスタＣに対応するＦＡＴエントリ８０６には番号Ｄを記録する。ファイルが記録された最後のクラスタ（本例ではクラスタＤ）に対応するＦＡＴエントリ８０７には、ファイル終端を表す特殊なビット列（ＦＡＴ１６ファイルシステムでは０ｘＦＦ）を記録する。ユーザデータ領域からファイルを読み出す場合は、このクラスタの繋がりをたどることによってファイル終端まで到達することができる。ＦＡＴエントリ一つ当たりに１２ビット使用するファイルシステムをＦＡＴ１２ファイルシステム、１６ビット使用するものをＦＡＴ１６ファイルシステム、３２ビット使用するものをＦＡＴ３２ファイルシステムと呼ぶ。
【００１５】
続いて、特許文献１のファイル上書き操作について、図１０，１１を用いて説明する。図１０（ａ）は、上書き操作前のファイルＦｉｌｅ１の状態を示している。このＦｉｌｅ１のクラスタＡ〜Ｃに相当するデータを上書きする場合、まず新しいデータを記録するクラスタ１０〜１２を確保してデータを媒体に記録する（図１０（ｂ））。次に、クラスタ１０、クラスタ１１、クラスタ１２、クラスタＤという順番にデータがつながるように、クラスタ１０〜１２に相当するＦＡＴエントリの値を入れて媒体に記録する（図１０（ｃ））。続いて、Ｆｉｌｅ１のファイルエントリがクラスタ１０を指すように先頭クラスタ番号を変更して媒体に記録する（図１０（ｄ））。最後に、クラスタＡ〜Ｃを削除するために、クラスタＡ〜Ｃのエントリに未割り当てビット列を入れて媒体に記録する（図１０（ｅ））。
【００１６】
こうすることで、図１０（ａ）〜（ｅ）のどのタイミングで電源遮断等が発生しても、上書きされるＦｉｌｅ１が壊れることもなく、また、ファイルエントリが指すクラスタが未割り当てになっている等のファイルシステム異常状態も起こらない。
【００１７】
ここで、ファイル操作中の電源遮断におけるファイルシステム異常状態について説明する。図１２（ａ）は、ディレクトリ１にファイルＦｉｌｅ１が記録されており、Ｆｉｌｅ１のファイルエントリが指すクラスタＡが未割り当てになっている状態を示している。この状態は、ファイルを新規に作成する際にＦｉｌｅ１のファイルエントリが先に媒体に記録されて、クラスタＡのＦＡＴエントリを媒体に記録する前に電源遮断が発生した場合に起こりえる。もしくは、Ｆｉｌｅ１を削除する際に未割り当てビットを入れたクラスタＡのＦＡＴエントリが先に媒体に記録されて、Ｆｉｌｅ１のファイルエントリを媒体から削除する前に電源遮断が発生した場合にも起こる可能性がある。図１２（ａ）の状態で新たにＦｉｌｅ２をディレクトリ１に記録すると、未割り当てクラスタのクラスタＡが使われる可能性があるため、図１２（ｂ）のようにＦｉｌｅ２のエントリもクラスタＡを指すという二重参照になる可能性がある。二重参照状態になると、Ｆｉｌｅ１のデータを書き換えるとＦｉｌｅ２のデータも変わってしまう等のファイルシステム異常状態に陥る。
【００１８】
このファイルシステム異常状態を防ぐためには、ファイル作成のようなＦＡＴエントリを新たに確保する場合は、確保したＦＡＴエントリを媒体に記録してから新たに作成したファイルエントリを媒体に記録するという順番を守り、ファイル削除のようなＦＡＴエントリを解放する場合は、先頭クラスタ番号の変更や削除というファイルエントリの変更を先に媒体に記録してその後で解放したＦＡＴエントリを媒体に記録するという順番を守る必要がある。
【００１９】
上記ファイル上書き操作においては、１つのファイル操作にＦＡＴエントリの確保とＦＡＴエントリの解放とファイルエントリの変更が伴うが、前述のようにＦＡＴエントリの確保、ファイルエントリの変更、ＦＡＴエントリの解放という順番が守られている。
【００２０】
また、特許文献１では上書きが伴うファイル移動操作における安全な処理方法についても記載されている。図１１（ａ）は、特許文献１におけるファイル移動操作前のディレクトリ１、ディレクトリ１に記録されているファイルＦｉｌｅ１、ディレクトリ２、ディレクトリ２に記録されているＦｉｌｅ２の状態を示している。Ｆｉｌｅ１をＦｉｌｅ２と同じファイル名にしてディレクトリ２に移動する場合、まずＦｉｌｅ２のファイルエントリの中にあるファイル名を変更すると共に、そのファイルエントリの先頭クラスタ番号をＦｉｌｅ１の先頭クラスタ番号Ａに変更して媒体に記録する（図１１（ｂ））。次に、Ｆｉｌｅ１のファイルエントリをディレクトリ１のディレクトリエントリから削除して媒体に記録する。（図１１（ｃ））。最後に、元のＦｉｌｅ２のデータが記録されていたクラスタ１０〜１２を削除するために、クラスタ１０〜１２のエントリに未割り当てビット列を入れて媒体に記録する（図１１（ｄ））。
【００２１】
上記方法により、ファイルエントリの変更、ＦＡＴエントリの解放という安全な記録順番となっているため、図１１（ａ）〜（ｄ）のどのタイミングで電源遮断等が発生しても、移動するＦｉｌｅ１が壊されることもなくファイルシステム異常状態も起こらない。
【００２２】
しかしながら、特許文献１では１つのファイルに対する操作においても頻繁に媒体に記録動作を行うため非効率である。特に、映像信号のようなリアルタイム性を要求されるデータの記録には高い記録転送速度が必要となるが、ファイル管理情報が変更される度に媒体にアクセスすると、転送速度が低下して映像データが記録できなくなる可能性がある。
【００２３】
この問題を解決する従来例として、例えば特許文献２に示す方法がある。この従来例では、ファイル管理情報を主記憶にバッファリングしておき、ファイル記録終了時にファイル管理情報を媒体に記録するという方法をとっている。こうすることで、記録媒体へのアクセス頻度を減らすことができ、さらに記録中に電源遮断が発生しても完全な状態のファイルやファイル管理情報しか記録媒体に残らないため、ファイルやファイルシステムの異常状態が発生しない。
【特許文献１】特開２００６−１８４９７９号公報
【特許文献２】特開２００４−２７２６０８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２４】
しかし、特許文献２の方法では途中まで記録したはずのデータを再生することができないという課題がある。例えば、ビデオカメラレコーダ等の記録装置はニュース素材の撮影等に利用されるが、持ち運び可能にするために電源をバッテリから供給するようになっている。バッテリが切れる直前にスクープ映像を撮影して記録途中で電源が切れてしまうと、特許文献２の方法ではせっかく記録したはずの重要な映像が記録媒体に残らない。
【００２５】
この課題を解決するために、特許文献２のバッファリング方法を用いつつ、特許文献１のファイル管理情報記録方法を行うことが考えられるが、複数のファイル操作が混在した場合には管理情報の記録の順番に矛盾が起こる可能性がある。前述のように、ＦＡＴエントリの確保が伴う操作とＦＡＴエントリの解放が伴う操作では、ＦＡＴエントリやファイルエントリの媒体への安全な記録順番が互いに逆になっているためである。
【００２６】
本発明は、上記の課題に鑑み、記録媒体の転送速度を損なうことなく効率よくアクセスし、いかなるファイル操作の最中に電源遮断や記録媒体の取り出しが発生しても、ファイルやファイルシステム破壊を防ぐ記録装置および記録方法を提供することを目的とする。
【課題を解決するための手段】
【００２７】
本発明は、記録されるデータをファイルとしてクラスタ単位で管理し、ファイルが記録されるクラスタの配置情報が記録されるＦＡＴと、ファイルとファイルが記録されるクラスタとを関連付ける情報が記録されるファイルエントリとを含む管理情報を有するファイルシステムによって、記録媒体にデータの記録を行う記録装置であって、ファイル操作に伴う管理情報の更新処理を主記憶にバッファリングしておき所定のタイミングでまとめて実行するに際し、ファイル操作に伴って変更すべきファイルエントリの内容を主記憶に蓄えて、確保すべきＦＡＴエントリを、主記憶上のＦＡＴのコピーに反映して、解放すべきＦＡＴエントリを解放予約リストに登録し、確保すべきＦＡＴエントリが反映された主記憶上のＦＡＴのコピーの内容を記録媒体上のＦＡＴに記録し、解放予約リストに登録されているＦＡＴエントリを主記憶上のＦＡＴのコピーから解放し、主記憶に蓄積された変更すべきファイルエントリを記録媒体上のファイルエントリに記録し、解放すべきＦＡＴエントリが反映された主記憶上のＦＡＴのコピーの内容を記録媒体上のＦＡＴに記録することを主要な特徴とする。
【発明の効果】
【００２８】
本発明の記録装置では、記録媒体に対していかなるファイル操作を行っている最中に電源遮断や記録媒体の取り出しが発生しても、ファイルシステムの破壊を防ぐことができる。また、ファイル管理情報をバッファリングしているため、頻繁に記録媒体にアクセスする必要がなく効率的にファイル操作が行えて、リアルタイムファイルのような高い転送レートが必要なファイルの記録を高速に行うことができる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の実施の形態について図面を用いて説明する。
【００３０】
図１は、本発明の実施の形態の映像記録再生装置１００の構成を示すブロック図である。この記録再生装置１００は、システム制御部１０１と、Ｉ／Ｏバス１２０と、着脱可能な記録メモリ１１１と、記録メモリと接続する記録メモリＩ／Ｆ部１１０と、ユーザによるファイルの記録や再生の指示を受け付ける入力手段１３０と、映像信号を入力する映像入力手段１３２と、映像信号の符号化を行う映像エンコーダ１３１と、映像信号を復号化する映像デコーダ１３３と、復号化された映像信号を出力する映像出力手段１３４とを含む。
【００３１】
システム制御部１０１は、例えば、ＣＰＵと主記憶メモリとを含むコンピュータによって実現される。このシステム制御部１０１は、映像ファイル処理手段１０２、記録メモリ処理手段１０３、ファイルシステム１０４、ファイルシステム用メモリ１０５、記録バッファメモリ１０６、再生バッファメモリ１０７を備えている。システム制御部１０１に含まれる各手段は、ＣＰＵで各種のプログラムを実行することによって実現される。システム制御部１０１に含まれる各メモリは、例えば、それぞれの用途についてそれぞれメモリを用いてもよく、また、単一のメモリを用途ごとに領域を分けて使うことによって実現してもよい。
【００３２】
記録メモリ１１１は、例えばＰＣＭＣＩＡの形状で脱着可能な構成となっている。この場合、記録メモリＩ／Ｆ部１１０はカードバス規格に準拠したものとする。記録メモリ１１１は、例えば記録再生装置１００に設けられた記録媒体装着部としてのカードスロットに挿入することにより、記録メモリＩ／Ｆ部１１０と接続される。
【００３３】
記録メモリ１１１は、例えばフラッシュメモリを記録素子として備える半導体メモリとし、ＦＡＴ１６等のファイルシステムでフォーマットされている。記録メモリ１１１へのファイルの書き込みは、システム制御部１０１内のファイルシステム１０４によりファイル管理情報の更新と、記録メモリ１１１へのデータ書き込み動作により行われる。
【００３４】
記録メモリ１１１の空き容量は、記録メモリ処理手段１０３によってファイルシステム１０４を介して確認することにより認識している。
【００３５】
ここで、本発明にかかる記録方法について図２〜７を用いて説明する。図２はＦＡＴエントリの確保時における、解放予約リスト、ファイルシステム用メモリ１０５にバッファリングされているＦＡＴ（以降、主記憶上のＦＡＴと呼ぶ）、記録メモリ１１１上のＦＡＴの一例を表したものである。但し、図２では終端ビット列をＦＦとし、未割り当てビット列が書き込まれているエントリを空欄にしている。ファイル作成のように新たにＦＡＴエントリの確保を行う場合、ファイルシステム１０４はまず未割り当てのＦＡＴエントリを探す。未割り当てエントリである番号３のＦＡＴエントリを見つけると、そのエントリの値に終端ビット列を主記憶上のＦＡＴに書き込む。この時、解放予約リストに対する処理は何も発生しない。図２（ａ）のように、主記憶上のＦＡＴには番号３のエントリに終端ビット列が書き込まれているが、この段階では記録メモリ１１１上のＦＡＴには反映されない。記録メモリ１１１に反映されるのは、ファイルシステム１０４が管理情報記録処理を実行した時であり、図２（ｂ）のように記録メモリ１１１上のＦＡＴにも番号３のエントリが確保されたことが記録される。なお、管理情報記録処理の詳細については後述する。
【００３６】
図３はＦＡＴエントリの解放時における、解放予約リスト、主記憶上のＦＡＴ、記録メモリ１１１上のＦＡＴの一例を示したものである。ファイル削除のように既に確保されているＦＡＴエントリを解放する時には、まず解放するエントリの番号を解放予約リストへ登録する。図３（ａ）では番号８と９のエントリの解放処理の例を示しているが、この時点では解放予約リストに登録しているだけで、主記憶上のＦＡＴや記録メモリ１１１上のＦＡＴに対して未割り当てビット列を書き込むという実際の解放処理は行わない。
【００３７】
ここで、ＦＡＴエントリの解放処理を図５のフローチャートを用いて説明する。ＦＡＴエントリの解放処理では、まず解放するＦＡＴエントリの番号が解放予約リストに登録されているかを確認する（Ｓ５０１）。登録されている場合は何もせず終了する。登録されていない場合は、予約リストに解放するＦＡＴエントリの番号を登録して終了する（Ｓ５０２）。以上のように、本発明にかかるＦＡＴエントリ解放処理では主記憶上のＦＡＴの変更を行わない。代わりに、解放予約リストに解放すべきＦＡＴエントリの番号を登録する。
【００３８】
本発明において主記憶上のＦＡＴに対する解放処理は、ファイルシステム１０４が管理情報記録処理を実行する際に反映される。管理情報記録処理では、まず解放予約リストを確認してクラスタ番号が入っていれば、その番号にあたる主記憶上のＦＡＴのエントリに未割り当てビット列を書き込む。図３（ａ）にて予約リストに番号８，９が入っているので、上記記録処理の結果、図３（ｂ）のように主記憶上のＦＡＴの番号８，９のエントリを解放する。その後、主記憶上のＦＡＴの内容が記録メモリ１１１上のＦＡＴへ記録される。よって、図３（ｃ）のように記録メモリ１１１上のＦＡＴでも番号８，９のＦＡＴエントリの解放情報が反映される。
【００３９】
図４はＦＡＴエントリの確保処理と解放処理が、主記憶上のＦＡＴに混在してバッファリングされた時の一例である。図４（ａ）では番号３のエントリの確保と、番号８，９のエントリの解放の例を示している。前述のようにＦＡＴエントリの確保処理では、主記憶上のＦＡＴに番号３のエントリ値に終端ビット列を書き込み、一方ＦＡＴエントリの解放処理では、解放するエントリの番号８，９を解放予約リストに登録する。
【００４０】
この状態から管理情報記録処理が行われた結果を図４（ｂ）に示す。管理情報記録処理では、まず主記憶上のＦＡＴを記録メモリ１１１へ記録する。この時点では番号３のエントリの確保情報のみが記録メモリ１１１に記録され、番号８，９のエントリの解放情報はまだ反映されない。次に、解放予約リストを見て登録されている番号８，９の主記憶上のエントリに、未割り当てビット列を書き込んで、管理情報記録処理を終了する。つまり、ＦＡＴエントリの確保処理と解放処理が混在してバッファリングされていても、記録メモリ１１１のＦＡＴには同時には反映されず、解放処理が管理情報記録処理１回分だけ後になる。図４（ｂ）の状態から次の管理情報記録処理を実行すると、図４（ｃ）のように番号８，９のエントリが記録メモリ１１１上のＦＡＴで解放されることになる。
【００４１】
ここで、管理情報記録処理の詳細について図６のフローチャートを用いて説明する。管理情報記録処理は、まずファイルシステム用メモリ１０５上にバッファリンクされているディレクトリエントリやファイルエントリ（以降、主記憶上のファイルエントリと呼ぶ）と、主記憶上のＦＡＴの他の処理からのアクセスを禁止する（Ｓ６０１）。アクセス禁止方法としては、セマフォ等の排他機構を用いる。次に、主記憶上のＦＡＴを記録メモリ１１１に記録して、主記憶上にバッファリングされた内容を記録メモリ１１１へ反映する（Ｓ６０２）。続いて、解放予約リストにＦＡＴエントリの番号が登録されているかどうか確認する（Ｓ６０３）。解放予約リストにエントリの番号が登録されている場合は、予約リストに登録されているすべてのエントリが解放状態になるように主記憶上のＦＡＴに未割り当てビット列を書き込む（Ｓ６０４）。Ｓ６０４の後、もしくは、Ｓ６０３にて予約リストが空であった場合には、主記憶上のファイルエントリを記録メモリ１１１へ記録する（Ｓ６０５）。本処理の最後に、主記憶上のＦＡＴとファイルエントリへのアクセス禁止を解除して終了する（Ｓ６０６）。
【００４２】
以上より、本発明にかかる管理情報記録処理ではＦＡＴエントリの確保情報は記録メモリ１１１に反映され、ＦＡＴエントリの解放情報は解放予約リストによって記録メモリ１１１ではなく主記憶上のＦＡＴにのみ反映される。また、管理情報記録処理ではＦＡＴの更新を行った後に、主記憶上のファイルエントリの内容を記録メモリ１１１に記録する。こうすることで、ＦＡＴエントリの確保と解放が伴うファイル操作が混在してバッファリングされても、ＦＡＴエントリを確保した時の管理情報の安全な記録順番と、ＦＡＴエントリを解放した時の安全な順番を矛盾なく守ることが可能になる。
【００４３】
なお、上記管理情報記録処理を実行するタイミングは、記録するデータのビットレート、記録媒体の転送速度、記録媒体の書き換え寿命、ファイルシステム用メモリサイズ等を考慮して設計する。例えば、記録データのレートに比べて記録媒体の転送速度に十分余裕があり記録媒体の書き換え寿命が無限にある場合は、ファイル操作の度に管理情報記録処理を実行してもよい。また、ファイルシステム用メモリが限られており、管理情報をすべて保持することができない場合には、一般的に管理情報の一部をキャッシュする手法が取られるが、キャッシュをフラッシュする処理として管理情報記録処理を実行してもよい。また、複数のビットレートの異なるデータを同期させながら記録している場合は、ビットレートの低いデータが所定量に達して記録媒体に転送された後に、管理情報記録処理を実行してもよい。ここで所定量とは、例えば映像データ１フレーム分といったデータとして意味をなす単位である。
【００４４】
以下、本発明にかかる記録方法での各ファイル操作の例を述べて、すべてのファイル操作に対して管理情報の安全な記録順番を守れることを説明する。
【００４５】
（ファイル作成）
ファイル作成では、ファイルエントリの作成とＦＡＴエントリの確保が発生する。ファイルシステム１０４はファイル作成命令を受けると、まずファイルを作成するディレクトリの主記憶上の記録領域にファイルエントリを作成する。次に、主記憶上のＦＡＴから未割り当てＦＡＴエントリを必要な数だけ確保し、クラスタ番号や終端ビット列を主記憶上のＦＡＴに書き込む。最後に、主記憶上のファイルエントリの中の先頭クラスタ番号に、確保した最初のＦＡＴエントリに相当するクラスタの番号を記録する。
【００４６】
以上より、ファイル作成処理の結果、主記憶上にファイルエントリの変更（作成）とＦＡＴエントリの確保がバッファリングされる。この状態で管理情報記録処理を実行すると、ＦＡＴエントリ確保情報が先に記録メモリ１１１に反映され、その後でファイルエントリの変更情報が記録されるため、ＦＡＴエントリ確保時の安全な記録順番を守ることができる。
【００４７】
（ファイル追記）
ファイル追記では、ファイルエントリの変更とＦＡＴエントリの確保が発生する。但し、ファイルエントリはファイルサイズが変わるだけで先頭クラスタ番号に変化がないため、電源遮断等によるファイルシステム破壊は発生しない。
【００４８】
（ファイル削除）
ファイル削除では、ファイルエントリの削除とＦＡＴエントリの解放が発生する。ファイルシステム１０４はファイル削除命令を受けると、まず削除するファイルが存在するディレクトリの主記憶上の領域から、そのファイルのファイルエントリを削除する。続いて、削除するファイルに属する主記憶上のＦＡＴエントリすべてに未割り当てビット列を書き込んでエントリを解放する。
【００４９】
以上より、ファイル削除の結果、主記憶上にファイルエントリの変更（削除）とＦＡＴエントリの解放がバッファリングされる。この状態で管理情報記録処理を実行すると、その処理の中では主記憶のＦＡＴに対してのみ解放処理が行われて記録メモリ１１１には反映されず、その後でファイルエントリの変更情報が記録されるため、先にファイルエントリの反映が行われることになり、ＦＡＴエントリ解放時の安全な記録順番を守ることができる。
【００５０】
（ファイル上書き）
ファイル上書きでは前述の従来例のように、ファイルエントリの変更とＦＡＴエントリの確保とＦＡＴエントリの解放が発生する。図１０の例で説明すると、本発明ではクラスタ１０〜１２の確保情報とＦｉｌｅ１のファイルエントリの変更内容は主記憶上にバッファリングされ、一方クラスタＡ〜Ｃの解放情報は主記憶上のＦＡＴには書き込まれずに、解放予約リストにクラスタ番号Ａ〜Ｃが登録される。
【００５１】
ここでファイルシステム１０４が管理情報記録処理を行うと、最初にクラスタ１０〜１２の確保情報を記録メモリ１１１に反映し、次に解放予約リストに登録されているクラスタＡ〜ＣのＦＡＴエントリを主記憶上で解放して、Ｆｉｌｅ１のファイルエントリの変更内容が記録メモリ１１１に記録される。よって、この記録処理の時点ではＦＡＴエントリの確保、ファイルエントリの変更という安全な順番になり、次の管理情報記録処理において主記憶上のＦＡＴが反映された時点でＦＡＴエントリの解放が行われるため、ファイルエントリの変更、ＦＡＴエントリの解放という安全な順番になる。
【００５２】
（ファイル移動）
ファイル移動では、その命令内容によって３種類存在する。１種類目は、移動元のディレクトリから移動先のディレクトリに単純に移動するという操作である。この場合は、移動するファイルのファイルエントリが、移動元のディレクトリの記録領域から移動先のディレクトリの領域に移動するだけで、ＦＡＴエントリの確保・解放は発生しない。当然ながら、移動の際にファイル名を変える操作をしても、電源遮断等に関してファイルシステム破壊にはつながらない。
【００５３】
２種類目は、移動元と移動先のディレクトリが同じでファイル名だけを変える、つまりファイル名の変更である。この場合も電源遮断等に関してファイルシステム破壊には無関係である。
【００５４】
３種類目は、前述の従来例にも記載されている上書きを伴うファイル移動である。図１１の例を用いて説明すると、Ｆｉｌｅ１とＦｉｌｅ２のファイルエントリの変更内容が主記憶上にバッファリングされ、一方クラスタ１０〜１２の解放処理は主記憶上のＦＡＴには反映されず、解放予約リストにクラスタ番号１０〜１２が登録される。この状態で管理情報記録処理を実行すると、ＦＡＴエントリ解放の反映はファイルエントリよりも後回しになるので、安全な記録順番が守られる。
【００５５】
（複数のファイル操作）
ここでは、前述のファイル上書き操作と、上書きを伴うファイル移動操作が混在して主記憶上にバッファリングされた場合を説明する。上記２つのファイル操作は前述の通り複雑で、ファイル作成や削除の要素をあわせ持つ操作なので、この組み合わせで安全な記録順番が守られることが証明できれば、その他の組み合わせでも安全であることは明らかとなる。
【００５６】
前述の通り、ファイル上書きではファイルエントリの変更とＦＡＴエントリの確保とＦＡＴエントリの解放が発生し、ファイル移動ではファイルエントリの変更とＦＡＴエントリの確保が発生する。ＦＡＴエントリの解放は主記憶には反映されず解放予約リストに登録されるため、主記憶上のＦＡＴやファイルエントリにバッファリングされているのは、上書き操作におけるＦＡＴエントリの確保と、上書きと移動操作におけるそれぞれのファイルのファイルエントリの変更である。よって、ここでファイルシステム１０４が管理情報記録処理を行うと、ＦＡＴエントリの確保、ファイルエントリの変更、という安全な順番で記録メモリ１１１に記録される。ＦＡＴエントリの解放は管理情報記録処理にてファイルエントリの変更より後回しになるため、次の管理情報記録処理の時に記録メモリ１１１へ反映されることとなる。よって、ファイルエントリの変更、ＦＡＴエントリの解放というＦＡＴエントリ解放時の安全な記録順番となる。
【００５７】
以上より、本発明では記録媒体に対していかなるファイル操作中に電源遮断等が発生しても、ファイルやファイルシステムの破壊を防ぐことができる。
【００５８】
また、ファイル管理情報を主記憶メモリにバッファリングしているため、管理情報を変更する度に記録媒体にアクセスする必要がない。
【００５９】
なお、本実施の形態におけるファイル管理情報のバッファリング方法は、単純にコピーを主記憶上に保持する方法でもよく、ＬＲＵ（最長不使用）アルゴリズム等を用いてもよい。
【００６０】
なお、本実施の形態では記録するデータを映像信号としたが、音声信号やテキスト等のデータであってもよい。
【００６１】
なお、本実施の形態では記録媒体として半導体メモリを例として説明したが、光ディスクやハードディスク等の書き換え可能な記録媒体であってもよい。
【００６２】
なお、本実施の形態において前述した各ステップを、コンピュータに実行させる記録プログラムとしてもよい。さらに、この記録プログラムをコンピュータ読み取り可能な記録媒体に記録してもよい。記録媒体としてはメモリカード等の半導体メモリ、ＣＤ−Ｒ、ＤＶＤ等の光記録媒体、ＭＯ等の光磁気記録媒体、フレキシブルディスク等の磁気記録媒体等のいずれであってもよい。上記のようにコンピュータに実行させる記録プログラム及び該記録プログラムを記録した記録媒体から記録プログラムを読み出して実行することによって、コンピュータを記録装置の制御部として駆動させることができる。
【産業上の利用可能性】
【００６３】
本発明にかかる記録再生装置及び記録再生方法は、記録媒体に対していかなるファイル操作を行っている最中に電源遮断や記録媒体の取り出しが発生しても、ファイルシステムの破壊を防ぐことができ、かつ、効率的にファイル操作が行えるため、特に、ビデオカメラレコーダ等のバッテリ駆動で交換記録媒体を採用して高いレートで媒体に記録する装置等に有用である。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態の映像記録再生装置の構成を示す図
【図２】本発明の実施の形態のＦＡＴエントリの確保時の記録処理の一例を示す図
【図３】本発明の実施の形態のＦＡＴエントリの解放時の記録処理の一例を示す図
【図４】本発明の実施の形態のＦＡＴエントリの確保と解放がバッファリングされたときの記録処理の一例を示す図
【図５】本発明の実施の形態にかかるＦＡＴエントリ解放方法のフローチャート
【図６】本発明の実施の形態にかかる管理情報記録方法のフローチャート
【図７】ＦＡＴファイルシステムにおける記録媒体の記録フォーマットを示す図
【図８】ＦＡＴファイルシステムにおけるファイルとファイル管理情報の関係とファイル記録方法を示す図
【図９】ＩＳＯ／ＩＥＣ９２９２で定められたＦＡＴファイルシステムのブートセクタの構成を示す図
【図１０】特許文献１のファイル上書き操作方法の一例を示す図
【図１１】特許文献１のファイル移動操作方法の一例を示す図
【図１２】ファイル操作中の電源遮断等におけるファイルシステム異常状態を示す図
【符号の説明】
【００６５】
１００  記録再生装置
１０１  システム制御部
１０２  映像ファイル処理手段
１０３  記録メモリ処理手段
１０４  ファイルシステム
１０５  ファイルシステム用メモリ
１０６  記録バッファメモリ
１０７  再生バッファメモリ
１１０  記録メモリＩ／Ｆ
１１１  記録メモリ
１２０  Ｉ／Ｏバス
１３０  入力手段
１３１  映像エンコーダ
１３２  映像入力手段
１３３  映像デコーダ
１３４  映像出力手段
８０１  ユーザデータ領域に書き込むファイルＦｉｌｅ１
８０２  Ｆｉｌｅ１を記録するディレクトリのディレクトリエントリ
８０３  Ｆｉｌｅ１のファイルエントリ
８０４  Ａ番目のクラスタに対応するＦＡＴエントリ
８０５  Ｂ番目のクラスタに対応するＦＡＴエントリ
８０６  Ｃ番目のクラスタに対応するＦＡＴエントリ
８０７  Ｄ番目のクラスタに対応するＦＡＴエントリ
【図１】
2008269520.tif 000003
【図２】
2008269520.tif 000004
【図３】
2008269520.tif 000005
【図４】
2008269520.tif 000006
【図５】
2008269520.tif 000007
【図６】
2008269520.tif 000008
【図７】
2008269520.tif 000009
【図８】
2008269520.tif 000010
【図９】
2008269520.tif 000011
【図１０】
2008269520.tif 000012
【図１１】
2008269520.tif 000013
【図１２】
2008269520.tif 000014