(57)【要約】【課題】複数のファイルの更新又は記録中に中断が生じた場合に、再起動時において、復旧処理を行うことなく、複数ファイル間の整合性を保った状態で、各ファイルへのアクセスを可能とするデータ記録装置及びデータ記録方法を提供することを目的とする。【解決手段】記録媒体１０７を備えるデータ記録装置であって、ファイルを構成するファイルデータを複数のファイル単位で受け取り、受け取ったファイルデータを記録媒体１０７に記録するファイルデータリスト管理部１０１と、複数のファイル単位で受け取ったファイルデータの記録媒体１０７への記録が完了した場合に、受け取った複数のファイルの特定情報を作成し、作成した格納先特定情報を記録媒体１０７に記録するファイルインデックスリスト管理部１０３とを備える。【選択図】図１
2005222531.tif 000002
【特許請求の範囲】
【請求項１】
記録媒体を備え、ファイルの格納先を特定するための特定情報を参照して、当該ファイルへのアクセスが可能なデータ記録装置であって、
ファイルを構成するファイルデータを複数のファイル単位で受け取
るデータ受取手段と、
受け取ったファイルデータを前記記録媒体に記録するデータ記録手
段と、
複数のファイル単位で受け取ったファイルデータの前記記録媒体への
記録が完了した場合に、受け取った複数のファイルの特定情報を作成し、作成した特定情報を前記記録媒体に記録する特定情報記録手段と
を備えることを特徴とするデータ記録装置。
【請求項２】
前記記録媒体には、複数のファイル単位で受け取ったファイルの更新前のファイルを構成する更新前ファイルデータと更新前のファイルの特定情報が記録され、
前記特定情報記録手段は、既に記録されている特定情報の参照を無効にし、複数のファイル単位で受け取ったファイルデータの前記記録媒体への記録完了後に作成した特定情報の参照を有効にする
ことを特徴とする請求項１記載のデータ記録装置。
【請求項３】
前記データ記録装置はさらに、受け取ったファイルについて、ファイルデータの記録が完了する毎に、当該ファイルへのアクセス時に参照される、当該ファイルの格納先を示す格納先情報を作成して前記記録媒体に記録するデータ格納先情報記録手段を備え、
前記特定情報は、各ファイルの格納先情報の格納先を特定し、
前記特定情報記録手段は、受け取った全てのファイルについて、格納先情報の前記記録媒体への記録が完了した場合に、前記特定情報を作成する
ことを特徴とする請求項２記載のデータ記録装置。
【請求項４】
前記記録媒体は、複数のクラスタから構成されるファ
イルデータ記録領域とクラスタの使用状態を示すクラスタ使用テーブルを記録しているテーブル記録領域を含み、
前記データ記録手段は、
前記クラスタ使用テーブルを参照して、受け取ったファイルデータを記録するための未使用状態のクラスタを特定するクラスタ特定手段と、
特定した前記クラスタに受け取ったファイルデータを記録するクラスタ記録手段と、
前記クラスタ使用テーブルにおいて、特定したクラスタの使用状態を
更新した、更新後のクラスタ使用テーブルを作成する更新テーブル作成
手段と、
受け取った全てのファイルについて、格納先情報の前記記録媒体への
記録が完了した場合に、作成した更新後のクラスタ使用テーブルを前記
記録媒体に記録するテーブル更新手段と
を有することを特徴とする請求項３記載のデータ記録装置。
【請求項５】
前記データ記録装置はさらに、一括して更新すべき複数
のファイルを指定するグループファイル指定手段を備え、
前記データ受取手段は、指定された複数のファイル単位でファイルデ
ータを受け取る
ことを特徴とする請求項４記載のデータ記録装置。
【請求項６】
記録媒体を備え、ファイルの格納先を特定するための特定情報を参照して、当該ファイルへのアクセスが可能なデータ記録装置に用いるデータ記録方法であって、
前記データ記録方法は、
ファイルを構成するファイルデータを複数のファイル単位で受け取るデータ受取ステップと、
受け取ったファイルデータを前記記録媒体に記録するデータ記録ス
テップと、
複数のファイル単位で受け取ったファイルデータの前記記録媒体への
記録が完了した場合に、受け取った複数のファイルの特定情報を作成し、作成した特定情報を前記記録媒体に記録する特定情報記録ステップと
を含むことを特徴とするデータ記録方法。
【請求項７】
記録媒体を備え、ファイルの格納先を特定するための特定情報を参照して、当該ファイルへのアクセスが可能なデータ記録装置にデータ記録処理を実行させるプログラムであって、
前記データ記録処理は、
ファイルを構成するファイルデータを複数のファイル単位で受け取るデータ受取ステップと、
受け取ったファイルデータを前記記録媒体に記録するデータ記録ス
テップと、
複数のファイル単位で受け取ったファイルデータの前記記録媒体への
記録が完了した場合に、受け取った複数のファイルの特定情報を作成し、作成した特定情報を前記記録媒体に記録する特定情報記録ステップと
を含むことを特徴とするプログラム。
【請求項８】
記録媒体を備え、ファイルの格納先を特定するための特定情報を参照して、当該ファイルへのアクセスが可能なデータ記録装置にデータ記録処理を実行させるプログラムを記録したコンピュータ読取可能な記録媒体であって、
前記データ記録処理は、
ファイルを構成するファイルデータを複数のファイル単位で受け取るデータ受取ステップと、
受け取ったファイルデータを前記記録媒体に記録するデータ記録ステップと、
複数のファイル単位で受け取ったファイルデータの前記記録媒体への記録が完了した場合に、受け取った複数のファイルの特定情報を作成し、作成した特定情報を前記記録媒体に記録する特定情報記録ステップと
を含むことを特徴とするコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体メモリ、磁気ディスク及び光磁気ディスク等の記録媒体にデータを書き込むデータ記録装置、データ記録方法、及びこれらに係るプログラムに関し、特にデータ書き込み時の異常発生により生じやすい、ファイル管理情報の示すファイルのデータ格納状態と実際のデータ格納状態との不整合を防止する技術に関する。
【背景技術】
【０００２】
パソコン等の情報機器において、ファイル形式によりデータをハードディスク等の記録媒体に書き込む場合、記録媒体の連続領域に書き込むのではなく、記録媒体にクラスタ単位でデータを分割して書き込む方式のファイルシステムにあっては、分割された複数のデータが書き込まれているクラスタの位置及びこれらデータの順序などの情報が示されているＦＡＴ（Ｆｉｌｅ Ａｌｌｏｃａｔｉｏｎ Ｔａｂｌｅ）及びファイル名と前記データのうち先頭のデータの格納位置とを対応づけたファイルインデックスが用いられている（非特許文献参照）。
【０００３】
ＦＡＴ及びファイルインデックスを用いたファイルシステムを採用している上記情報機器においては、ファイルのデータの書き込み時に停電等の異常が発生すると、再起動時にＦＡＴの示す情報とファイルインデックスの示す情報との間に不整合が生じやすいため、上記情報機器の中には、このような不整合を解消するための復旧処理を行う機能を有するものがある（特許文献参照）。
【０００４】
図９は、上記復旧処理を行う機能を有するデータ記録装置８００の構成を示す機能ブロック図である。
以下、図９を参照してデータ記録装置８００の行うデータの書込処理及び停電等により書込処理が中断された場合における復旧処理について説明する。
（書込処理）
データ記録装置８００は、第１ＦＡＴ更新部８０１、第２ＦＡＴ更新部８０２、ファイルインデックス更新部８０３、テンポラリインデックス生成部８０４、テンポラリインデックス消去部８０５、データ更新部８０６、リカバリー処理部８０７、ＦＡＴ比較部８０８、ファイルインデックス比較部８０９、記録媒体８０から構成され、記録媒体８０には、第１ＦＡＴ８１０、第２ＦＡＴ８１１、ファイルインデックス８１２、テンポラリインデックス８１３、データクラスタ８１４が格納されている。
ここで、第１ＦＡＴ８１０及び第２ＦＡＴ８１１は、書込処理中及び異常発生後以外は、同一内容を示すＦＡＴであり、後述する復旧処理において、書込処理中のどの処理の段階で異常が発生したかを判定するために用いられる。
【０００５】
テンポラリインデックス生成部８０４は、記録媒体８０に記録されている１つのファイルのデータがデータ更新部８０６によって更新されると、当該データに対応するファイルインデックス８１２を更新する前に、当該データに対応するテンポラリインデックス８１３を生成して記録媒体８０に書き込む。
次に、第１ＦＡＴ更新部８０１は、第１ＦＡＴの内容を、ファイルインデックス更新部８０３は、ファイルインデックス８１２を、それぞれデータの更新を反映するように更新する。
【０００６】
さらに、第２ＦＡＴ更新部８０２は、第２ＦＡＴ８１１の内容を先に更新された第１ＦＡＴの内容に更新し、最後にテンポラリインデックス消去部８０５は、記録媒体８０に書き込まれているテンポラリインデックス８１３を消去する。
（復旧処理）
ファイルインデックス比較部８０９は、書込処理の中断後の再起動時において、記録媒体８０にテンポラリインデックス８１３が存在するかどうかを判断し、テンポラリインデックス８１３が存在しない場合、再起動前の中断が、ＦＡＴ及びファイルインデックス８１２の更新処理前又は更新処理完了後の中断であると判断され、復旧処理は、終了する。
【０００７】
テンポラリインデックス８１３が存在する場合、ＦＡＴ比較部８０８は、第１ＦＡＴ８１０及び第２ＦＡＴ８１１を読出して比較し、この２つのＦＡＴの内容が不一致かどうかを判断し、一致する場合には、再起動前の中断が、ＦＡＴ及びファイルインデックス８１２の更新処理後の中断であると判断され、テンポラリインデックス消去部８０５は、テンポラリインデックス８１３を記録媒体８０より消去し、復旧処理は、終了する。
【０００８】
ＦＡＴの内容が不一致の場合には、ファイルインデックス比較部８０９は、テンポラリインデックス８１３と、ファイルインデックス８１２とを比較し、これらの内容が一致するかどうかを判断する。
インデックスの内容が一致する場合、再起動前の中断が、第２ＦＡＴ８１１の更新処理前の中断であると判断され、第２ＦＡＴ更新部８０２は、第１ＦＡＴ８１０を新たな第２ＦＡＴ８１１として記録媒体８０の第２ＦＡＴ専用の記録領域に上書きして更新し、第２ＦＡＴ８１１とファイルインデックス８１２との不整合を解消し、さらに、テンポラリインデックス消去部８０５により、テンポラリインデックス８１３が記録媒体８０より消去され、復旧処理は終了する。
【０００９】
一方、インデックスの内容が一致しない場合、再起動前の中断が、第１ＦＡＴ８１０の更新処理終了後、ファイルインデックス８１２の更新処理前の中断であると判断され、第１ＦＡＴ更新部８０１は、第２ＦＡＴ８１１を新たな第１ＦＡＴ８１０として記録媒体８０の第１ＦＡＴ専用の記録領域に上書きして更新して第１ＦＡＴ８１０とファイルインデックス８１２との不整合を解消し、さらに、テンポラリインデックス消去部８０５により、テンポラリインデックス８１３を記録媒体８０より消去され、復旧処理は終了する。
【非特許文献１】ＪＩＳ  Ｘ  ０６０５−１９９０ 「情報交換用ディスクカートリッジのボリューム及びファイル構成」
【特許文献１】特開2002-063057号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記において説明したデータ記録装置８００の復旧処理の技術は、更新されるファイルが単独の場合には、中断が起こった時に生じ得るＦＡＴとファイルインデックスとの不整合の解消に適用できるが、互いに関連する複数のファイルを同時に更新するような場合においては適用することができない。
例えば、音楽データファイルと楽譜データファイルやホームページを構成する複数のファイルの更新のように、複数のファイルが一体化されて初めて意味のある情報が構成される場合には、データファイル毎に不整合が解消されても、両者間の更新関係が一致していない場合には、複数のファイルの一部のみ更新後のデータが読み出され、他の部分は、更新前のデータが読み出されることになり、複数のファイル全体として意味のある情報を再生することができないという不都合が生じる。
【００１１】
さらに、データ記録装置８００においては、中断が起こった時に生じ得るＦＡＴとファイルインデックスの不整合を解消するための復旧処理を、再起動時に実行する必要があるため、その分だけ余分な処理負荷がかかってしまうという不都合が生じる。
上記の問題点に鑑み、本発明は、複数のファイルの更新又は記録中に中断が生じた場合に、再起動時において、復旧処理を行うことなく、複数ファイル間の整合性を保った状態で、各ファイルへのアクセスを可能とするデータ記録装置及びデータ記録方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明は、記録媒体を備え、ファイルの格納先を特定するための特定情報を参照して、当該ファイルへのアクセスが可能なデータ記録装置であって、ファイルを構成するファイルデータを複数のファイル単位で受け取るデータ受取手段と、受け取ったファイルデータを前記記録媒体に記録するデータ記録手段と、複数のファイル単位で受け取ったファイルデータの前記記録媒体への記録が完了した場合に、受け取った複数のファイルの特定情報を作成し、作成した特定情報を前記記録媒体に記録する特定情報記録手段とを備える。
【００１３】
又、本発明は、記録媒体を備え、ファイルの格納先を特定するための特定情報を参照して、当該ファイルへのアクセスが可能なデータ記録装置に用いるデータ記録方法であって、前記データ記録方法は、ファイルを構成するファイルデータを複数のファイル単位で受け取るデータ受取ステップと、受け取ったファイルデータを前記記録媒体に記録するデータ記録ステップと、複数のファイル単位で受け取ったファイルデータの前記記録媒体への記録が完了した場合に、受け取った複数のファイルの特定情報を作成し、作成した特定情報を前記記録媒体に記録する特定情報記録ステップとを含むこととしてもよい。
【００１４】
又、本発明は、記録媒体を備え、ファイルの格納先を特定するための特定情報を参照して、当該ファイルへのアクセスが可能なデータ記録装置にデータ記録処理を実行させるプログラムであって、前記データ記録処理は、ファイルを構成するファイルデータを複数のファイル単位で受け取るデータ受取ステップと、受け取ったファイルデータを前記記録媒体に記録するデータ記録ステップと、複数のファイル単位で受け取ったファイルデータの前記記録媒体への記録が完了した場合に、受け取った複数のファイルの特定情報を作成し、作成した特定情報を前記記録媒体に記録する特定情報記録ステップとを含むこととしてもよい。
【００１５】
又、本発明は、記録媒体を備え、ファイルの格納先を特定するための特定情報を参照して、当該ファイルへのアクセスが可能なデータ記録装置にデータ記録処理を実行させるプログラムを記録したコンピュータ読取可能な記録媒体であって、前記データ記録処理は、ファイルを構成するファイルデータを複数のファイル単位で受け取るデータ受取ステップと、受け取ったファイルデータを前記記録媒体に記録するデータ記録ステップと、複数のファイル単位で受け取ったファイルデータの前記記録媒体への記録が完了した場合に、受け取った複数のファイルの特定情報を作成し、作成した特定情報を前記記録媒体に記録する特定情報記録ステップとを含むこととしてもよい。
【発明の効果】
【００１６】
本発明は、上記の構成を備えることにより、複数のファイルの記録中に中断が生じた場合に、再起動時において、復旧処理を行うことなく、複数ファイル間の整合性を保った状態で、各ファイルへのアクセスを可能とすることができる。
ここで、前記記録媒体には、複数のファイル単位で受け取ったファイルの更新前のファイルを構成する更新前ファイルデータと更新前のファイルの特定情報が記録され、前記特定情報記録手段は、既に記録されている特定情報の参照を無効にし、複数のファイル単位で受け取ったファイルデータの前記記録媒体への記録完了後に作成した特定情報の参照を有効にすることとしてもよい。
【００１７】
又、前記データ記録装置はさらに、受け取ったファイルについて、ファイルデータの記録が完了する毎に、当該ファイルへのアクセス時に参照される、当該ファイルの格納先を示す格納先情報を作成して前記記録媒体に記録するデータ格納先情報記録手段を備え、前記特定情報は、各ファイルの格納先情報の格納先を特定し、前記特定情報記録手段は、受け取った全てのファイルについて、格納先情報の前記記録媒体への記録が完了した場合に、前記特定情報を作成することとしてもよい。
【００１８】
これにより、複数のファイルの更新中に中断が生じた場合に、再起動時において、復旧処理を行うことなく、複数ファイル間の更新関係の整合性を保った状態で、各ファイルへのアクセスを可能とすることができる。
ここで、前記記録媒体は、複数のクラスタから構成されるファイルデータ記録領域とクラスタの使用状態を示すクラスタ使用テーブルを記録しているテーブル記録領域を含み、前記データ記録手段は、前記クラスタ使用テーブルを参照して、受け取ったファイルデータを記録するための未使用状態のクラスタを特定するクラスタ特定手段と、特定した前記クラスタに受け取ったファイルデータを記録するクラスタ記録手段と、前記クラスタ使用テーブルにおいて、特定したクラスタの使用状態を更新した、更新後のクラスタ使用テーブルを作成する更新テーブル作成手段と、受け取った全てのファイルについて、格納先情報の前記記録媒体への記録が完了した場合に、作成した更新後のクラスタ使用テーブルを前記記録媒体に記録するテーブル更新手段とを有することとしてもよい。
【００１９】
これにより、更新後のクラスタ使用テーブルが全てのファイルのファイルデータの記録後に記録媒体に記録されるので、ファイルデータの記録が完了していない時点において中断が生じた場合においても、再起動後に更新前のファイルの更新をやり直す場合に、更新後のクラスタ使用テーブルが参照されて、例えば、本来、未使用状態であるべきクラスタにファイルデータを記録することができないというような不具合が生じるのを防止することができる。
【００２０】
ここで、前記データ記録装置はさらに、一括して更新すべき複数のファイルを指定するグループファイル指定手段を備え、前記データ受取手段は、指定
された複数のファイル単位でファイルデータを受け取ることとしてもよい。
これにより、一括して更新処理を行いたい複数のファイルグループを必要に応じて自由に選択することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態について、図面を参照しながら説明する。
（実施形態）
＜構成＞
図１は、本実施形態におけるデータ記録装置１００の構成を示す機能ブロック図である。データ記録装置１００は、ファイルデータリスト管理部１０１、ファイルインデックス管理部１０２、ファイルインデックスリスト管理部１０３、ファイルシステム情報管理部１０４、ファイル更新制御部１０５、ファイルグループ指示部１０６、記録媒体１０７から構成される。
【００２２】
データ記録装置１００は、ハードウェアとしてはＣＰＵ、ＲＯＭ、ＲＡＭ、ハードディスクその他の記録媒体（例えば、メモリカードなどのフラッシュメモリ、ＤＶＤ（Digital Video Disk）などの光磁気ディスク）等から構成され、ＲＯＭ又は上記ハードディスクには、データ記録装置１００の機能を実現するためのコンピュータプログラムが記憶され、上記ＣＰＵが、上記コンピュータプログラムに従って動作することにより、上記装置は、その機能を達成する。
【００２３】
又、ＲＯＭ又は上記ハードディスクには、複数のアプリケーションプログラムやシステムプログラムが格納されている。
ファイルデータリスト管理部１０１は、ファイル更新制御部１０５からのファイルデータリスト読出指示に応じて記録媒体１０７からファイルデータリスト１１４を読み出し、ファイル更新制御部１０５に出力し、ファイル更新制御部１０５からのファイルデータリスト更新指示に応じて、ファイルデータリスト１１４を更新する。
【００２４】
具体的には、ファイルデータリスト管理部１０１は、ファイル更新制御部１０５から入力されたファイルデータを割り当てるための未使用上状態のクラスタのクラスタ番号を、タイムスタンプが最新に更新されたことを示すファイルデータリスト１１４を参照して特定し、特定したクラスタにファイルデータを格納し、ファイルデータリスト１１４において、特定したクラスタ番号の使用状態を使用中に更新し、さらに、更新指示の際、不要となったクラスタのクラスタ番号がファイル更新制御部１０５から通知されると、ファイルデータリスト１１４において、当該クラスタ番号の使用状態を使用中から未使用に更新する。
【００２５】
なお、ファイルデータリスト１１４、タイムスタンプ、及びクラスタの詳細については、後述する。
又、ファイルデータリスト管理部１０１は、ファイル更新制御部１０５からのファイルデータリスト記録指示に応じて、記録媒体１０７に記録されている、タイムスタンプの示す更新時期が古い方のファイルデータリスト１１４を更新したファイルデータリスト１１４に書き換え、更新したファイルデータリスト１１４のタイムスタンプを最新の更新時期を示す値に書き換える。
【００２６】
ここで、「ファイルデータリスト」とは、クラスタの使用状態を示すテーブルのことをいい、本実施の形態においては、２つのファイルデータリスト１１４が記録媒体１０７に記録され、２つのファイルデータリスト１１４は、ファイルデータリスト管理部１０１によって交互に更新され、更新される毎に更新されたファイルデータリスト１１４の更新時期をあらわすタイムスタンプが当該ファイルデータリスト１１４に設定される。
【００２７】
タイムスタンプは、例えば、現在時刻を示す値であってもよいし、各ファイルデータリスト１１４の更新時期の新旧がわかるように、更新毎に直前に更新されたファイルデータリスト１１４に設定されているタイムスタンプの値に所定数インクリメント或いは、デクリメントした値を設定する（更新時期が新しい方に古いものより大きい値のタイムスタンプを設定する場合には、記録媒体１０７に記録されているファイルデータリスト１１４のタイムスタンプの値の大きい方を直前に更新されたファイルデータリスト１１４と判定し、当該ファイルデータリスト１１４のタイムスタンプの値に所定数インクリメントとした値をその後に更新されたファイルデータリスト１１４のタイムスタンプに設定し、更新時期が新しい方に古いものより小さい値のタイムスタンプを設定する場合には、記録媒体１０７に記録されているファイルデータリスト１１４のタイムスタンプの値の小さい方を直前に更新されたファイルデータリスト１１４と判定し、当該ファイルデータリスト１１４のタイムスタンプの値に所定数デクリメントとした値をその後に更新されたファイルデータリスト１１４のタイムスタンプに設定する）こととしてもよい。
【００２８】
なお、タイムスタンプは、後述するファイルインデックスリスト１１１に設定するタイムスタンプについても、ファイルデータリスト１１４におけるタイムスタンプの設定に用いた上記の何れかの方法と同一の方法により、新旧の各リストが同一のタイムスタンプの値となるように（更新時期が新しいもの同士のタイムスタンプの値が同一で、更新時期が古いもの同士のタイムスタンプの値が同一となるように）設定されることとする。
【００２９】
又、「クラスタ」とは、記録媒体１０７の記録領域において、データを記録するためのデータ記録領域を均等に分割した分割記録領域の１単位のことをいい、１クラスタは、１ないし複数個の連続するセクタから構成される。
「セクタ」は、記録媒体１０７のデータ記録領域を除く記録領域において、読出し及び書き込みのためのアクセスの単位となる記録領域であり、記録媒体１０７の各セクタには、データ記録領域を含め、通し番号が付与され、データ記録領域を除く、記録媒体１０７における記録領域への読出し及び書き込みのためのアクセスは、各セクタに付与されたセクタ番号を指定することにより行われる。例えば、ＰＣのハードディスク等においては、各５１２バイトの記録領域が1セクタに割り当てられている。
【００３０】
図２（Ａ）及び（Ｂ）は、それぞれ、ファイルデータリスト１１４の具体例を示す。図２（Ａ）のタイムスタンプの値が大きいファイルデータリスト１１４（２０１で示す）の方が最新に更新されたファイルデータリスト１１４であることを示し、図２（Ａ）及び図２（Ｂ）の各ファイルデータリスト１１４には、タイムスタンプの値と、各クラスタの記録媒体１０７におけるアドレスを示すクラスタ番号と当該クラスタの使用状態との対応関係とが記録されている。
【００３１】
ここで、使用状態が「使用中」を示すクラスタ番号のクラスタには、ファイルを構成するファイルデータが格納されていることを示し、使用状態が「未使用」を示すクラスタ番号のクラスタには、ファイルデータが格納されていないことを示す。
ファイルインデックス管理部１０２は、ファイル更新制御部１０５からのファイルインデックス読出指示に応じて、記録媒体１０７からファイルインデックス１１２を読出し、ファイル更新制御部１０５に出力し、ファイル更新制御部１０５からのファイルインデックス更新指示に応じて、ファイルインデックス１１２を更新して記録媒体１０７に記録する。
【００３２】
ここで、「ファイルインデックス」は、ファイルが新たに作成されるか、又は更新される毎に作成される、作成又は更新されたファイルを構成する各ファイルデータのクラスタ単位での接続順序と、各ファイルデータを格納するクラスタ（以下、「データクラスタ１１３」という。）の記録媒体１０７におけるアドレス（データラスタ番号で示されるアドレス）とを示すテーブルのことをいい、テーブルには、ファイルデータによって構成されるファイルを特定するためのファイル名が付加されている。
【００３３】
図４（Ａ）は、ファイル名が「FILE1」のファイルの更新前のファイルインデックス１１２（４０１で示す）の具体例を示し、図４（Ｂ）は、図４（Ａ）のファイルインデックス１１２の更新後のファイルインデックス１１２（４０２で示す。）の具体例を示し、図４（Ｃ）は、ファイル名が「FILE2」のファイルの更新前のファイルインデックス１１２（４０３で示す）を示し、図４（Ｄ）は、図４（Ｃ）のファイルインデックス１１２の更新後のファイルインデックス１１２（４０４で示す）を示す。
【００３４】
又、図４（Ａ）〜（Ｄ）の各ファイルインデックス１１２の左上端に記載されている数字は、それぞれ、当該ファイルインデックス１１２が格納されているセクタ番号を示し、「FILE1」のファイルの更新前と更新後のファイルインデックス１１２の４０１と４０２、「FILE2」のファイルの更新前と更新後のファイルインデックス１１２の４０３と４０４とが、それぞれ、記録媒体１０７における異なるセクタ番号のアドレスに格納されていることを示す。
【００３５】
又、ファイルインデックス１１２の４０１〜４０４の各ファイルインデックス１１２に含まれるデータクラスタ番号は、データクラスタ１１３の接続順序を示し、データクラスタ番号に対応付けられている数値は、当該データクラスタ１１３の記録媒体１０７のデータ記録領域におけるアドレスを示すクラスタ番号を示す。
ファイルインデックスリスト管理部１０３は、ファイル更新制御部１０５からのファイルインデックスリスト読出指示に応じて、記録媒体１０７からファイルインデックスリスト１１１を読出し、ファイル更新制御部１０５に出力し、ファイル更新制御部１０５からのファイルインデックスリスト更新指示に応じて、ファイルインデックスリスト１１１を更新して記録媒体１０７に記録する。
【００３６】
ここで、「ファイルインデックスリスト」とは、各ファイルインデックス１１２の記録媒体１０７におけるアドレス（セクタ番号で示されるアドレス）を示すテーブルのことをいい、本実施の形態においては、２つのファイルインデックスリスト１１１が記録媒体１０７に記録され、２つのファイルインデックスリスト１１１は、ファイルインデックスリスト管理部１０３によって交互に更新され、更新される毎に更新されたファイルインデックスリスト１１１の更新時期をあらわすタイムスタンプが当該ファイルインデックスリスト１１１に設定される。
【００３７】
なお、タイムスタンプは、ファイルデータリスト１１４の場合と同様にして設定される。
上記のファイル更新制御部１０５からのファイルインデックスリスト更新指示に応じてされる更新されたファイルインデックスリスト１１１の記録媒体１０７への記録は、記録媒体１０７に記録されている、タイムスタンプの示す更新時期が古い方のファイルインデックスリスト１１１を更新したファイルインデックスリスト１１１に書き換え、更新したファイルインデックスリスト１１１のタイムスタンプを最新の更新時期を示す値に書き換えることによって行われる。
【００３８】
図３（Ａ）及び（Ｂ）は、それぞれ、ファイルインデックスリスト１１１の具体例を示す。図３（Ａ）の３０１で示す、タイムスタンプの値が大きいファイルインデックスリスト１１１の方が最新に更新されたファイルインデックスリスト１１１であることを示し、図３（Ａ）と図３（Ｂ）に示す各ファイルインデックスリスト１１１には、タイムスタンプの値と、各ファイルインデックス１１２の記録媒体１０７におけるアドレスを示すセクタ番号とが記録されている。
【００３９】
ファイルシステム情報管理部１０４は、ファイル更新制御部１０５からのファイルシステム情報読出指示に応じて、記録媒体１０７からファイルシステム情報１１０を読出す。
ここで、「ファイルシステム情報」とは、各ファイルインデックスリスト１１１とファイルデータリスト１１４の記録媒体１０７におけるアドレス（セクタ番号で示されるアドレス）を示すテーブルのことをいう。
【００４０】
図６は、ファイルシステム情報１１０の具体例を示す。
ファイル更新制御部１０５は、電源が供給されている間、情報を一時記憶し、電源が切れると、記憶した情報を失うメモリ、例えばＲＡＭを備え、以下に説明するファイル更新準備処理とファイル更新制御処理を行う。
１．ファイル更新準備処理
ファイル更新制御部１０５は、データ記録装置１００が起動されると、ファイルシステム情報管理部１０４にファイルシステム情報読出指示を出力してファイルシステム情報管理部１０４よりファイルシステム情報１１０を受け取り、ＲＡＭに書き込み、当該ファイルシステム情報１１０に基づいて、２つのファイルインデックスリスト１１１及び２つのファイルデータリスト１１４の各アドレスを特定する。
【００４１】
次に、ファイル更新制御部１０５は、特定したファイルデータリスト１１４のアドレスをファイルデータリスト管理部１０１に通知し、さらにファイルデータリスト読出指示を出力してファイルデータスリスト管理部１０１より２つのファイルデータリスト１１４を受け取り、ＲＡＭに書き込み、書き込まれた２つのファイルデータリスト１１４のタイムスタンプを参照して、更新時期が最新のファイルデータリスト１１４を有効なファイルデータリストとして決定し、決定したファイルデータリスト１１４をファイルデータリスト管理部１０１に通知する。
【００４２】
次に、ファイル更新制御部１０５は、特定したファイルインデックスリスト１１１のアドレスをファイルインデックスリスト管理部１０３に通知し、さらにファイルインデックスリスト読出指示を出力してファイルインデックスリスト管理部１０３より各ファイルインデックスリスト１１１を受け取り、ＲＡＭに書き込み、有効なファイルインデックスリスト１１１の決定処理を行う。
【００４３】
具体的には、ＲＡＭに書き込まれた２つのファイルインデックスリスト１１１のタイムスタンプを参照して、更新時期が最新のファイルインデックスリスト１１１を特定し、さらにＲＡＭに書き込まれた２つのファイルデータスリストのタイムスタンプを参照して、特定したファイルインデックスリスト１１１のタイムスタンプの値がファイルデータリスト１１４のタイムスタンプの値の何れかと一致するか否かを判定し、一致する場合、特定したファイルインデックスリスト１１１と対応するファイルデータリスト１１４が記録媒体１０７に記録されていると判断し、特定したファイルインデックスリスト１１１を有効なファイルインデックスリスト１１１として決定し、一致しない場合、特定したファイルインデックスリスト１１１と対応するファイルデータリスト１１４が記録媒体１０７に記録されていないと判断し、更新時期が最新でないもう一方のファイルインデックスリスト１１１を有効なファイルインデックスリスト１１１として決定し、決定したファイルインデックスリスト１１１をファイルインデックスリスト管理部１０３に通知する。
【００４４】
次にファイル更新制御部１０５は、決定したファイルインデックスリスト１１１を参照して、各ファイルインデックス１１２のアドレスを特定し、特定した各ファイルインデックス１１２のアドレスと各ファイルインデックス１１２の読出指示をファイルインデックス管理部１０２に出力してファイルインデックス管理部１０２より各ファイルインデックス１１２を受け取り、ＲＡＭに書き込む。
【００４５】
２．ファイル更新制御処理
次に、ファイル更新制御部１０５は、ファイルグループ指示部１０６より、グループとして更新すべき複数のファイルの更新指示と各ファイルの更新ファイルデータとを受け取ると、更新すべき複数のファイル毎に、当該ファイルの更新ファイルデータをクラスタの単位に分割し、分割した各更新ファイルデータをファイルデータリスト管理部１０１に出力してファイルデータの更新を指示し、当該更新ファイルデータを格納するクラスタを割り当てさせ、ＲＡＭに書き込まれたファイルデータリスト１１４において、割り当てられたクラスタのクラスタ番号の使用状態を使用中に更新させる。
【００４６】
この際、ファイル更新制御部１０５は、ファイルの更新により、不要となるクラスタがある場合には、そのクラスタ番号をファイルデータリスト管理部１０１に通知し、ＲＡＭに書き込んだファイルデータリスト１１４において、当該クラスタ番号のクラスタの使用状態を未使用状態に更新させる。
ファイル更新制御部１０５は、ファイルデータリスト管理部１０１より更新ファイルデータに割り当てられた各クラスタ番号を受け取り、当該更新ファイルデータの属するファイルのファイルインデックス１１２を参照して割り当てられた各クラスタ番号の接続順序を決定し、受け取った各クラスタ番号とその接続順序と更新ファイル名を、不要となったクラスタがある場合には、そのクラスタ番号と受け取った各クラスタ番号とその接続順序と更新ファイル名をファイルインデックス管理部１０２に通知してファイルインデックス１１２の更新を指示し、当該ファイル名のファイルインデックス１１２を更新させる。
【００４７】
さらに、ファイル更新制御部１０５は、更新すべき複数の全てのファイルについて、ファイルインデックス１１２が更新されると、ファイルインデックス管理部１０２から更新されたファイルインデックス１１２の格納位置のセクタ番号と当該ファイルインデックス１１２の更新前のファイルインデックス１１２のセクタ番号とを受け取り、ファイルインデックスリスト管理部１０３に通知してファイルインデックスリスト１１１の更新を指示し、有効なファイルインデックスリスト１１１として決定したファイルインデックスリスト１１１の該当するセクタ番号を更新したファイルインデックスリスト１１１を作成させ、更新後のファイルインデックスリスト１１１を記録媒体１０７に記録させることにより、ファイルインデックスリスト１１１を更新させるとともに、ファイルデータリスト管理部１０１に、ＲＡＭに書き込んだ、更新されたファイルデータリスト１１４を記録媒体１０７に記録させてファイルデータリスト１１４を更新させる。
【００４８】
ファイルグループ指示部１０６は、グループとして更新すべき複数のファイルの更新指示と各ファイルの更新ファイルデータとをファイル更新制御部１０５に出力する。
ここで、グループとして更新すべきファイルと各ファイルの更新ファイルデータの内容は、例えば、ユーザ操作を介して決定されてもよいし、アプリケーションプログラムを介して決定されてもよい。
【００４９】
記録媒体１０７は、電源が切れても記録した内容を保持することが可能な記録媒体（例えば、ハードディスクなどの磁気ディスク、ＤＶＤなどの光磁気ディスク、メモリカードなどのフラッシュメモリ）から構成され、ファイルシステム情報１１０、ファイルインデックスリスト１１１、ファイルインデックス１１２、データクラスタ１１３、ファイルデータリスト１１４を記録している。
＜動作＞
次に、ファイル更新制御部１０５の行うファイル更新準備処理の動作について説明する。
【００５０】
図８は、上記動作を示すフローチャートである。以下、図８を参照して上記動作について説明する。
ファイル更新制御部１０５は、データ記録装置１００が起動されると、ファイルシステム情報管理部１０４にファイルシステム情報読出指示を出力してファイルシステム情報管理部１０４よりファイルシステム情報１１０を受け取り、ＲＡＭに書き込み（ステップＳ８０１）、当該ファイルシステム情報１１０に基づいて、２つのファイルインデックスリスト１１１及び２つのファイルデータリスト１１４の各アドレスを特定し、特定したファイルデータリスト１１４のアドレスをファイルデータリスト管理部１０１に通知し、さらにファイルデータリスト読出指示を出力してファイルデータスリスト管理部１０１より２つのファイルデータリスト１１４を受け取り、ＲＡＭに書き込み（ステップＳ８０２）、書き込まれた２つのファイルデータリスト１１４のタイムスタンプを参照して、更新時期が最新のファイルデータリスト１１４を有効なファイルデータリスト１１４として決定し（ステップＳ８０３）、有効なファイルデータリスト１１４をファイルデータリスト管理部１０１に通知する。
【００５１】
次に、ファイル更新制御部１０５は、特定したファイルインデックスリスト１１１のアドレスをファイルインデックスリスト管理部１０３に通知し、さらにファイルインデックスリスト読出指示を出力してファイルインデックスリスト管理部１０３より各ファイルインデックスリスト１１１を受け取り、ＲＡＭに書き込み（ステップＳ８０４）、ＲＡＭに書き込まれた２つのファイルインデックスリスト１１１のタイムスタンプを参照して、更新時期が最新のファイルインデックスリスト１１１を特定し（ステップＳ８０５）さらにＲＡＭに書き込まれた２つのファイルデータスリストのタイムスタンプを参照して、特定したファイルインデックスリスト１１１のタイムスタンプの値がファイルデータリスト１１４のタイムスタンプの値の何れかと一致するか否かを判定する（ステップＳ８０６）。
【００５２】
一致する場合（ステップＳ８０６：Ｙ）、特定したファイルインデックスリスト１１１と対応するファイルデータリスト１１４が記録媒体１０７に記録されていると判断し、特定したファイルインデックスリスト１１１を有効なファイルインデックスリスト１１１として決定し（ステップＳ８０７）、一致しない場合、特定したファイルインデックスリスト１１１と対応するファイルデータリスト１１４が記録媒体１０７に記録されていないと判断し、更新時期が最新でないもう一方のファイルインデックスリスト１１１を有効なファイルインデックスリスト１１１として決定し（ステップＳ８０８）、有効なファイルインデックスリスト１１１をファイルインデックスリスト管理部１０３に通知する。
【００５３】
次にファイル更新制御部１０５は、決定したファイルインデックスリスト１１１を参照して、各ファイルインデックス１１２のアドレスを特定し、特定した各ファイルインデックス１１２のアドレスと各ファイルインデックス１１２の読出指示をファイルインデックス管理部１０２に出力してファイルインデックス管理部１０２より各ファイルインデックス１１２を受け取り、ＲＡＭに書き込む（ステップＳ８０９）。
【００５４】
次に、データ記録装置１００の行うファイル更新処理の動作について説明する。
図５は、上記動作を示すフローチャートである。以下、図５を参照して上記動作について説明する。
更新制御部１０５は、ファイル更新準備処理後、ファイルグループ指示部１０６より、グループとして更新すべき複数のファイル（以下、「グループファイル」という。）の更新指示と各ファイルの更新ファイルデータとを受け取ると（ステップＳ５０１）、グループファイルのファイル毎に、当該ファイルの更新ファイルデータをクラスタの単位に分割し、分割した各更新ファイルデータをファイルデータリスト管理部１０１に出力してファイルデータの更新を指示し（ステップＳ５０２）、ファイルの更新により不要となるクラスタがある場合には、さらにそのクラスタ番号を通知する。
【００５５】
ファイルデータリスト管理部１０１は、ファイル更新制御部１０５より、ファイルデータの更新指示を受け取ると、ＲＡＭに書き込まれた有効なファイルデータリスト１１４を参照して、分割された各更新ファイルデータの数に相当する分だけ、使用状態が未使用を示す空きクラスタのクラスタ番号を特定し（ステップＳ５０３）、分割された各更新ファイルデータに特定したクラスタ番号の空きクラスタを１つずつ、クラスタ番号が重複しないように割当て、割当てた空きクラスタに各更新ファイルデータを書き込み（ステップＳ５０４）、特定したファイルデータリスト１１４において、割当てた空きクラスタのクラスタ番号の使用状態を使用中に更新し、不要となるクラスタのクラスタ番号が通知された場合には、さらに通知されたクラスタ番号の使用状態を未使用に更新し（ステップＳ５０５）、割当てた空きクラスタのクラスタ番号をデータクラスタ番号としてファイル更新制御部１０５に通知する。
【００５６】
ファイル更新制御部１０５は、ファイルデータリスト管理部１０１より各データクラスタ番号を受け取り、ＲＡＭに書き込まれた、更新されたファイルのファイルインデックス１１２を参照して各データクラスタ番号の接続順序を決定し、受け取った各データクラスタ番号とその接続順序と更新ファイル名を、不要となったクラスタがある場合には、そのクラスタ番号と受け取った各データクラスタ番号とその接続順序と更新ファイル名をファイルインデックス管理部１０２に通知してファイルインデックス１１２の更新を指示する（ステップＳ５０６）。
【００５７】
ファイルインデックス管理部１０２は、ファイル更新制御部１０５から通知された更新ファイル名に基づいて、ＲＡＭに書き込まれたファイルインデックス１１２の中から更新対象となるファイルインデックス１１２を特定し、特定したファイルインデックス１１２に、通知された各データクラスタ番号の接続順序に従って通知された各データクラスタ番号を書き込み、さらに、不要となったクラスタ番号が通知された場合には、特定したファイルインデックス１１２から当該クラスタ番号に相当するデータクラスタ番号を削除し、特定したファイルインデックス１１２を更新し、更新したファイルインデックス１１２を記録媒体１０７に追加記録する（ステップＳ５０７）。
【００５８】
次にファイル更新制御部１０５は、ファイルグループ指示部１０６より更新指示されたグループファイルの全てのファイルについて更新が完了したか否かを判定する（ステップＳ５０８）。
グループファイルの全てのファイルについて更新が完了した場合（ステップＳ５０８：Ｙ）、ファイル更新制御部１０５は、ファイルインデックス管理部１０２から更新された各ファイルインデックス１１２の格納位置のセクタ番号と当該ファイルインデックス１１２の更新前のファイルインデックス１１２のセクタ番号とを受け取り、ファイルインデックスリスト管理部１０３に通知してファイルインデックスリスト１１１の更新を指示するとともに、ファイルデータリスト管理部１０１にファイルデータリスト１１４の更新を指示する（ステップＳ５０９）。
【００５９】
ファイルインデックスリスト管理部１０３は、ファイル更新制御部１０５からファイルインデックスリスト１１１の更新指示と更新された各ファイルインデックス１１２のセクタ番号と当該ファイルインデックス１１２の更新前のファイルインデックスのセクタ番号とを受け取ると、ＲＡＭに書き込まれた有効なファイルインデックスリスト１１１において、受け取った更新前のファイルインデックス１１２のセクタ番号に対応するセクタ番号を、更新されたファイルインデックスのセクタ番号に書き換え、特定したファイルインデックスリスト１１１を更新し、更新後のファイルインデックスリスト１１１の更新時期が最新となるようにタイムスタンプの値を書き換え（例えば、タイムスタンプの値をインクリメントする。）、書き換え後のファイルインデックスリスト１１１を、記録媒体１０７に記録されている、有効なファイルインデックスリスト１１１として決定されなかったファイルインデックスリスト１１１に書き換えて記録する（ステップＳ５１０）。
【００６０】
ステップＳ５０８において、グループファイルの全てのファイルについて更新が完了していない場合（ステップＳ５０８：Ｎ）、ステップＳ５０３の処理に戻る。
次に、ファイルデータ管理部１０１は、ファイル更新制御部１０５からファイルデータリスト更新指示を受け取ると、ＲＡＭに書き込まれている、ステップＳ５０５において更新したファイルデータリスト１１４のタイムスタンプの値を、書き換え後のファイルデータリスト１１４の更新時期が最新となるように書き換え（例えば、タイムスタンプの値を所定数インクリメントする。）、書き換え後のファイルデータリスト１１４を、記録媒体１０７に記録されている、ファイルデータリスト１１４の更新時期が古いほうのファイルデータリスト１１４に書き換えて記録する（ステップＳ５１１）。
【００６１】
次に、上記ファイル更新処理中に中断が生じた後におけるデータ記録装置１００の再起動時に、ファイル更新制御部１０５の行うファイル更新準備処理の動作について説明する。
ここで、説明を明確にするため、具体例に基づいて上記動作について説明する。
上記ファイル更新処理が行われる前には、記録媒体１０７には、図６に示すファイルシステム情報１１０と、図３（Ａ）及び図３（Ｂ）の３０１と３０２で示すファイルインデックスリスト１１１（タイムスタンプの値が大きい３０１の方を更新時期が最新のファイルインデックスリスト１１１とする。）と、図２の２０１と２０２で示すファイルデータリスト１１４（タイムスタンプの値が大きい２０１の方を更新時期が最新のファイルデータリスト１１４とする。）と、図４（Ａ）の４０１と図４（Ｃ）の４０３で示すファイルインデックス１１２と、４０１と４０３によって対応付けられているデータクラスタ１１３（以下、４０１に対応付けられているデータクラスタ１１３の集合を「更新前ファイル１」と、４０３によって対応付けられているデータクラスタ１１３の集合を「更新前ファイル２」と呼ぶ。）とが記録されているものとする。
【００６２】
又、上記ファイル更新処理完了後の記録媒体１０７には、図３（Ａ）及び図３（Ｃ）の３０１と３０３（３０２と書き換えられた更新後のファイルインデックスリスト１１１）で示すファイルインデックスリスト１１１と、図２（Ａ）及び図２（Ｃ）の２０１と２０３（２０２と書き換えられた更新後のファイルデータリスト１１４）で示すファイルデータリスト１１４と、図４（Ａ）の４０１、図４（Ｂ）の４０２（４０１の更新後ファイルインデックス１１２）、図４（Ｃ）の４０３、図４（Ｄ）の４０４（４０３の更新後ファイルインデックス１１２）で示すファイルインデックス１１２と、４０１〜４０４によって対応付けられているデータクラスタ１１３（４０２によって対応付けられているデータクラスタ１１３の集合を「更新後ファイル１」、４０４によって対応付けられているデータクラスタ１１３の集合を「更新後ファイル２」と呼ぶ）とが記録されているものとする。
【００６３】
以下、上記ファイル更新処理において、更新前ファイル１、更新前ファイル２の順にファイル更新処理が行われるものとしてファイル更新準備処理の動作について説明する。
１．ファイル更新処理の中断が処理開始後からステップＳ５０３の処理終了までに生じた中断後の再起動時の動作
この場合には、上記ファイル更新処理において、記録媒体１０７への記録は行われないので、ファイル更新制御部１０５は、ファイル更新準備処理において、図６に示すファイルシステム情報１１０と、図３（Ａ）の３０１と図３（Ｂ）の３０２で示すファイルインデックスリスト１１１と、図２（Ａ）の２０１と図２（Ｂ）の２０２で示すファイルデータリスト１１４と、図４（Ａ）の４０１と図４（Ｃ）の４０３で示すファイルインデックス１１２とを書き込み、ファイルインデックスリスト１１１の３０１を有効なファイルインデックス１１２とし、ファイルデータリスト１１４の２０１を有効なファイルデータリスト１１４とする。
【００６４】
従って、再起動後に参照されるファイルインデックス１１２は、更新前ファイル１、更新前ファイル２に対応付けられている４０１と４０３となるため、再起動後にアクセスされる各ファイル間の更新関係の整合性が保たれる。
２．ファイル更新処理の中断がステップＳ５０４の処理終了からステップＳ５０６の各１回目の処理終了までに生じた中断後の再起動時の動作
上記ファイル更新処理において、上記中断までに記録媒体１０７へは、更新後ファイル１が追加されているが、更新後ファイル１に対応付けられている、図４（Ｂ）の４０２で示すファイルインデックス１１２は、記録媒体１０７に記録されていないため、ファイル更新制御部１０５は、再起動時に、１の場合と同じファイル更新準備処理を行う。
従って、再起動後に参照されるファイルインデックス１１２は、更新前ファイル１、更新前ファイル２に対応付けられている４０１と４０３となるため、更新後ファイル１が参照されることはなく、再起動後にアクセスされる各ファイル間の更新関係の整合性が保たれる。
【００６５】
３．ファイル更新処理の中断がステップＳ５０７の処理終了からステップＳ５０８の各１回目の処理終了までに生じた中断後の再起動時の動作
上記ファイル更新処理において、上記中断までに記録媒体１０７へは、更新後ファイル１及び更新後ファイル１に対応付けられている、図４（Ｂ）の４０２で示すファイルインデックス１１２が追加されているが、４０２に対応付けられている、図３（Ｃ）の３０３で示すファイルインデックスリスト１１１は、記録媒体１０７に記録されていないので、ファイル更新制御部１０５は、再起動時のファイル更新準備処理において、ＲＡＭに書き込んだファイルインデックスリスト１１１からファイルインデックス１１２の４０２のアドレスを特定することができず、１の場合と同じファイル更新準備処理を行う。
【００６６】
従って、再起動後に参照されるファイルインデックス１１２は、更新前ファイル１、更新前ファイル２に対応付けられている４０１と４０３となるため、更新後ファイル１が参照されることはなく、再起動後にアクセスされる各ファイル間の更新関係の整合性が保たれる。
４．ファイル更新処理の中断がステップＳ５０４の処理終了からステップＳ５０６の各２回目の処理終了までに生じた中断後の再起動時の動作
上記ファイル更新処理において、上記中断までに記録媒体１０７へは、更新後ファイル１、更新後ファイル１に対応付けられている、図４（Ｂ）の４０２で示すファイルインデックス１１２、及び更新後ファイル２が追加されているが、４０２に対応付けられている、図３（Ｃ）の３０３で示すファイルインデックスリスト１１１、更新後ファイル２に対応付けられている、図４（Ｄ）の４０４で示すファイルインデックス１１２は、記録媒体１０７に記録されていないため、ファイル更新制御部１０５は、再起動時のファイル更新準備処理において、１の場合と同じファイル更新準備処理を行う。
従って、再起動後に参照されるファイルインデックス１１２は、更新前ファイル１、更新前ファイル２にそれぞれ対応付けられているファイルインデックス１１２の４０１と４０３となるため、再起動後にアクセスされる各ファイル間の更新関係の整合性が保たれる。
【００６７】
５．ファイル更新処理の中断がステップＳ５０７の処理終了からステップＳ５０８の各２回目の処理終了まで、又は、ステップＳ５０９の処理終了までに生じた中断後の再起動時の動作
上記ファイル更新処理において、上記中断までに記録媒体１０７へは、更新後ファイル１、更新後ファイル１に対応付けられている、図４（Ｂ）の４０２で示すファイルインデックス１１２、更新後ファイル２、及び更新後ファイル２に対応付けられている、図４（Ｄ）の４０４で示すファイルインデックス１１２が追加されているが、４０２及び４０４に対応付けられている、図３（Ｃ）の３０３で示すファイルインデックスリスト１１１は、記録媒体１０７に記録されていないため、ファイル更新制御部１０５は、再起動時のファイル更新準備処理において、ＲＡＭに書き込んだファイルインデックスリスト１１１からファイルインデックス１１２の４０２及び４０４のアドレスを特定することができず、１の場合と同じファイル更新準備処理を行う。
【００６８】
従って、再起動後に参照されるファイルインデックス１１２は、更新前ファイル１、更新前ファイル２に対応付けられている４０１と４０３となるため、再起動後にアクセスされる各ファイル間の更新関係の整合性が保たれる。
６．ファイル更新処理の中断がステップＳ５１０の処理終了後に生じた中断後の再起動時の動作
上記ファイル更新処理において、上記中断までに記録媒体１０７へは、更新後ファイル１、更新後ファイル１に対応付けられている、図４（Ｂ）の４０２で示すファイルインデックス１１２、更新後ファイル２、及び更新後ファイル２に対応付けられている、図４（Ｄ）の４０４で示すファイルインデックス１１２が追加され、４０２及び４０４に対応付けられている、図３（Ｃ）に示すファイルインデックスリスト１１１の３０３が、図３（Ｂ）に示すファイルインデックスリスト１１１の３０２に替えて記録されているので、ファイル更新制御部１０５は、再起動時のファイル更新準備処理において、図６に示すファイルシステム情報１１０と、図３（Ａ）の３０１及び図３（Ｃ）の３０３で示すファイルインデックスリスト１１１と、図２（Ａ）の２０１及び図２（Ｂ）の２０２で示すファイルデータリスト１１４と、図４（Ａ）の４０１及び図４（Ｃ）の４０３で示すファイルインデックス１１２とを書き込む。
【００６９】
この場合、ＲＡＭに書き込まれたファイルインデックスリスト１１１の３０３は、そのタイムスタンプの値が、ＲＡＭに書き込まれたファイルデータリスト１１４の何れ（２０１と２０２）のタイムスタンプの値とも一致しないため、再起動後のファイル更新準備処理において、ファイルインデックスリスト１１１の３０３は、有効なファイルインデックスリスト１１１として決定されず、更新前の３０１のファイルインデックスリスト１１１が有効なファイルインデックスリスト１１１として決定されるため、参照されるファイルインデックス１１２は、更新前ファイル１、更新前ファイル２にそれぞれ対応付けられている４０１と４０３となるため、再起動後にアクセスされる各ファイル間の更新関係の整合性が保たれる。
【００７０】
７．ファイル更新処理の中断がステップＳ５１１の処理終了後に生じた中断後の再起動時の動作
上記ファイル更新処理において、上記中断までに記録媒体１０７へは、更新後ファイル１、更新後ファイル１に対応付けられている、図４（Ｂ）の４０２で示すファイルインデックス１１２、更新後ファイル２、及び更新後ファイル２に対応付けられている、図４（Ｄ）の４０４で示すファイルインデックス１１２が追加され、４０２及び４０４に対応付けられている、図３（Ｃ）に示すファイルインデックスリスト１１１の３０３が、図３（Ｂ）に示すファイルインデックスリスト１１１の３０２に替えて記録され、さらに、図２（Ｂ）の２０２で示すファイルデータリスト１１４に替えて図２（Ｃ）の２０３で示すファイルデータリスト１１４が記録されているので、ファイル更新制御部１０５は、再起動時のファイル更新準備処理において、図６に示すファイルシステム情報１１０と、図３（Ａ）の３０１及び図３（Ｃ）の３０３で示すファイルインデックスリスト１１１と、図２（Ａ）の２０１及び図２（Ｃ）の２０３で示すファイルデータリスト１１４と、図４（Ａ）の４０１及び図４（Ｃ）の４０３で示すファイルインデックス１１２を書き込み、ファイルインデックスリスト１１１の３０３を有効なファイルインデックスリスト１１１とし、ファイルデータリスト１１４の２０３を有効なファイルデータリスト１１４とする。
【００７１】
従って、再起動後に参照されるファイルインデックス１１２は、更新後ファイル１、更新後ファイル２に対応付けられている４０２と４０４となるため、再起動後にアクセスされる各ファイル間の更新関係の整合性が保たれる。
図７は、図５に示すファイル更新処理が各ステップにおいて中断された場合の再起動時において、記録媒体１０７にそれぞれ記録されているファイル、ファイルインデックス１１２及びファイルインデックスリスト１１１、再起動後にそれぞれ有効となっているファイルインデックスリスト１１１及びファイルデータリスト１１４を示すテーブルである。
【００７２】
このように、本実施形態によるファイル更新処理においては、ファイル更新処理中の何れの段階において中断が生じた場合においても、再起動後にいかなる復旧処理も実行することなく、アクセスされる複数の各ファイル間の更新関係の整合性を保つことが可能となる。
＜補足＞
以上、本発明に係るデータ記録装置１００について、実施の形態に基づいて説明したが、本発明はこれら実施の形態に限られないことは勿論である。
（１）例えば、本実施形態におけるファイル更新処理の方法は、ファイル更新時に限らず、新しく複数の関連するファイルを新たに作成する場合においても同様に適用することができる。
【００７３】
これにより、新たに作成すべき複数のファイル全てのファイルデータが記録されていない時に、中断が生じた場合においても、再起動時における複数のファイル間の整合性を保つことができる。
（２）又、本実施形態においては、ファイルデータリスト管理部１０１は、クラスタ単位で、ファイルデータの記録領域を管理することとしたが、アドレスが連続する複数のクラスタグループ単位で管理することとしてもよい。
【００７４】
これにより、ファイルデータリスト１１４の記録に要する記憶容量を少なくすることができる。
（３）本実施形態におけるファイル更新処理は、例えば、映像ストリームデータを記録したファイルとその管理情報を記録したファイルの更新処理やメールの内容を記録したファイルとメールのインデックス情報を記録したファイルの更新処理やホームページを構成する複数のファイルの更新処理のように、一部のファイルのみが更新された状態が生じた場合に、不具合を生じる関係にある複数ファイルの更新処理に利用することができる。
（４）又、本実施形態におけるファイルインデックス１１２には、ファイルのデータサイズ、記録日時などのファイルの属性情報やファイルインデックス１１２そのもののデータサイズなどの情報を含めることとしてもよい。
【図面の簡単な説明】
【００７５】
【図１】データ記録装置１００の構成を示す機能ブロック図である。
【図２】ファイルデータリスト１１４の具体例を示す。
【図３】ファイルインデックスリスト１１１の具体例を示す。
【図４】ファイルインデックス１１２の具体例を示す。
【図５】データ記録装置１００の行うファイル更新処理の動作を示すフローチャートである。
【図６】ファイルシステム情報１１０の具体例を示す。
【図７】図５に示すファイル更新処理が各ステップにおいて中断された場合の再起動後において、記録媒体１０７にそれぞれ記録されているファイル、ファイルインデックス１１２及びファイルインデックスリスト１１１、再起動後にそれぞれ有効となっているファイルインデックスリスト１１１及びファイルデータリスト１１４を示すテーブルである。
【図８】ファイル更新制御部１０５の行うファイル更新準備処理の動作を示すフローチャートである。
【図９】従来のデータ記録装置８００の構成を示す機能ブロック図である。
【符号の説明】
【００７６】
８０、１０７  記録媒体
１００、８００  データ記録装置
１０１  ファイルデータリスト管理部
１０２  ファイルインデックス管理部
１０３  ファイルインデックスリスト管理部
１０４  ファイル情報管理部
１０５  ファイル更新制御部
１０６  ファイルグループ指示部
１１０  ファイルシステム情報
１１１  ファイルインデックスリスト
１１２  ファイルインデックス
１１３  データクラスタ
１１４  ファイルデータリスト
８０１  第１ＦＡＴ更新部
８０２  第２ＦＡＴ更新部
８０３  ファイルインデックス更新部
８０４  テンポラリインデックス生成部
８０５  テンポラリインデックス消去部
８０６  データ更新部
８０７  リカバリー処理部
８０８  ＦＡＴ比較部
８０９  ファイルインデックス比較部
８１０  第１ＦＡＴ
８１１  第２ＦＡＴ
８１２  ファイルインデックス
８１３  テンポラリインデックス
８１４  データクラスタ
【図１】
2005222531.tif 000003
【図２】
2005222531.tif 000004
【図３】
2005222531.tif 000005
【図４】
2005222531.tif 000006
【図５】
2005222531.tif 000007
【図６】
2005222531.tif 000008
【図７】
2005222531.tif 000009
【図８】
2005222531.tif 000010
【図９】
2005222531.tif 000011