(57)【特許請求の範囲】
【請求項１】
ファイルを構成する複数のデータと、これらデータの記録媒体における物理的格納領域及びデータの順序を特定するための第１テーブル及び第２テーブルと、ファイル名と前記複数のデータのうち先頭データの前記物理的格納領域との関連を示す複数のインデックス情報とが記憶されている記録媒体において、前記ファイルを更新するデータ更新装置であって、
ファイルの更新に伴なうインデックス情報及び第１テーブルの更新の前に、当該インデックス情報の更新後における内容と同内容のインデックス特定情報を生成して前記記録媒体に書き込むインデックス特定情報生成書き込み手段と、
ファイルの更新に伴ない、順に、前記第１テーブルの内容の更新、前記インデックス情報の内容の更新、前記第２テーブルの内容の更新を実施する更新手段と、
前記更新手段による前記第２テーブルの内容の更新が完了した後、前記インデックス特定情報を前記記録媒体より削除するインデックス特定情報削除手段と、
前記記録媒体における前記インデックス特定情報の有無を判定する更新中断発生判定手段と、
前記インデックス特定情報があると判定された場合、前記インデックス情報の内容と前記インデックス特定情報の内容とが一致するときには第２テーブルの内容を第１テーブルの内容に合わせるべく更新し、前記インデックス情報の内容と前記インデックス特定情報の内容とが一致しないときには第１テーブルの内容を第２テーブルの内容に合わせるべく更新することにより復旧するインデックス比較復旧手段とを備えることを特徴とするデータ更新装置。
【請求項２】
前記インデックス特定情報は、前記インデックス情報の前記記録媒体における所在を示すアドレス情報を含むことを特徴とする請求項１記載のデータ更新装置。
【請求項３】
ファイルを構成する複数のデータと、これらデータの記録媒体における物理的格納領域及びデータの順序を特定するための第１テーブル及び第２テーブルと、ファイル名と前記複数のデータのうち先頭データの前記物理的格納領域との関連を示す複数のインデックス情報とが記憶されている記録媒体において、前記ファイルの更新途中で処理が中断し、中断した状態から復旧するデータ復旧方法であって、
ファイルの更新に伴なうインデックス情報及び第１テーブルの更新の前に、当該インデックス情報の前記記録媒体における所在を示すアドレス情報及び当該インデックス情報の更新後における内容と同内容を含むインデックス特定情報を生成して前記記録媒体に書き込むインデックス特定情報生成書き込みステップと、
ファイルの更新に伴ない、順に、前記第１テーブルの内容の更新、前記インデックス情報の内容の更新、前記第２テーブルの内容の更新を実施する更新ステップと、
前記更新ステップによる前記第２テーブルの内容の更新が完了した後、前記インデックス特定情報を前記記録媒体より削除するインデックス特定情報削除ステップと、
前記記録媒体における前記インデックス特定情報の有無を判定する更新中断発生判定ステップと、
前記インデックス特定情報があると判定された場合、前記インデックス情報の内容と前記インデックス特定情報の内容とが一致するときには第２テーブル内容を第１テーブルの内容に合わせるべく更新し、前記インデックス情報の内容と前記インデックス特定情報の内容とが一致しないときには第１テーブルの内容を第２テーブルの内容に合わせるべく更新することにより復旧するインデックス比較復旧ステップと
を含むことを特徴とする復旧方法。
【請求項４】
ファイルを構成する複数のデータと、これらデータの記録媒体における物理的格納領域及びデータの順序を特定するための第１テーブル及び第２テーブルと、ファイル名と前記複数のデータのうち先頭データの前記物理的格納領域との関連を示す複数のインデックス情報とが記憶されている記録媒体において、前記ファイルの更新途中で処理が中断し、中断した状態から復旧するプログラムを記憶しているコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
ファイルの更新に伴なうインデックス情報及び第１テーブルの更新の前に、当該インデックス情報の前記記録媒体における所在を示すアドレス情報及び当該インデックス情報の更新後における内容と同内容を含むインデックス特定情報を生成して前記記録媒体に書き込むインデックス特定情報生成書き込みステップと、
ファイルの更新に伴ない、順に、前記第１テーブルの内容の更新、前記インデックス情報の内容の更新、前記第２テーブルの内容の更新を実施する更新ステップと、
前記更新ステップによる前記第２テーブルの内容の更新が完了した後、前記インデックス特定情報を前記記録媒体より削除するインデックス特定情報削除ステップと、
前記記録媒体における前記インデックス特定情報の有無を判定する更新中断発生判定ステップと、
前記インデックス特定情報があると判定された場合、前記インデックス情報の内容と前記インデックス特定情報の内容とが一致するときには第２テーブル内容を第１テーブルの内容に合わせるべく更新し、前記インデックス情報の内容と前記インデックス特定情報の内容とが一致しないときには第１テーブルの内容を第２テーブルの内容に合わせるべく更新することにより復旧するインデックス比較復旧ステップとを
実行させるためのプログラムが記録されているコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、半導体メモリ、磁気ディスク及び光磁気ディスク等の記録媒体にデータを書き込むデータ更新装置に関し、特に、データ書き込みの異常により発生するファイル管理情報とファイルを構成するデータの格納状態との不整合を回復する技術に関する。
【０００２】
【従来の技術】
パソコン等の情報機器において、ファイル形式によりデータをハードディスク等の記録媒体上に書き込む場合、記録媒体の連続領域に書き込むのではなく、記録媒体にクラスタ単位でデータを分割して書き込む方式のファイルシステムにあっては、分割された複数のデータが書き込まれているクラスタの位置及びこれらデータの順序などの情報が示されているＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）及びファイル名と前記データのうち先頭のデータの格納位置とを対応づけたファイルインデックスが用いられている。
【０００３】
前記情報機器は、このＦＡＴ及びファイルインデックスの情報を基に、先頭データから後のデータへと、これらデータが格納されているクラスタを順に辿ってデータを読み書きしている。
従来、このようなＦＡＴを用いたファイルシステムを採用する情報機器においてデータを更新する装置としてデータ更新装置がある。
【０００４】
図７は、従来のデータ更新装置１０００を示す機能ブロック図である。
データ更新装置１０００は、記録媒体１００１と、この記録媒体１００１へのデータの読み書きを制御するＣＰＵ１００２、書き込むデータ又は読出したデータを一時的に記憶するＲＡＭ１００３とからなり、各機能部はバスにより接続される。
【０００５】
記録媒体１００１には、ＦＡＴを２重化したものである第１ＦＡＴ１００５及び第２ＦＡＴ１００６と、ファイルインデックス１００７、１００８、１００９等と、データ１０１０、１０１１、１０１２等が格納されている。
図８は、第１ＦＡＴ１００５及び第２ＦＡＴ１００６と、ファイルインデックス１００７、１００８、１００９等と、データ１０１０、１０１１、１０１２等との関係を示す図である。
【０００６】
先ず、ファイルインデックス１００７、１００８、１００９等について説明する。
ファイルインデックス１２１０、１２２０、１２３０等は、ファイル毎に生成されるテーブルであり、そのデータ構成はどのファイルインデックスにおいても同じであるため、ここではファイルインデックス１２１０を例に挙げて説明する。
【０００７】
ファイル名欄１２１１は、ファイル名「Ｆｉｌｅ１．ｄｏｃ」が示され、エントリクラスタ番号欄１２２２は、このファイルの先頭データが格納されているクラスタの番号「２１０１」が示され、データサイズ欄１２２３は、このファイルに含まれるデータ量「９３」がキロバイト単位で示され、アトリビュート欄１２２４は、「データの書き込み可」等のデータ属性が示され、タイムスタンプ欄１２２５は、このファイルインデックスが生成又は更新された年月日及び時刻「００／１１／０２／  １１：２８」が示されている。
【０００８】
次に第１ＦＡＴ１００５及び第２ＦＡＴ１００６について説明する。
第１ＦＡＴ１００５及び第２ＦＡＴ１００６は、通常１つで足りるＦＡＴを、ＦＡＴの更新中における異常に備えて、バックアップのために２重化されたテーブルであり、そのデータは同一であるため、ここでは、第１ＦＡＴ１００５を例に挙げて説明する。
【０００９】
第１ＦＡＴ１００５は、分割されたデータ（以下、「分割データ」という。）が格納されているクラスタをデータの構成順に辿るためのものである。
このクラスタは、記録媒体上の最小使用領域であるセクタを数個まとめたものである。
クラスタ番号列１２４１は、前記クラスタを特定するための番号、即ち、クラスタ番号が示されている。
【００１０】
ポインタ列１２４２は、左欄に示されるクラスタ番号が示すクラスタ内の分割データの後に続く直近の分割データが格納されているクラスタのクラスタ番号が示されている。
なお、後に続くデータが存在しない場合には、その旨を示すＥｎｄコードが示されている。
【００１１】
次に分割データのクラスタへの格納状態について説明する。
クラスタ群１２６０は、クラスタの集まりであり、各クラスタは、第１ＦＡＴ１００６及び第２ＦＡＴ１００６で示されたクラスタ位置及び順序にしたがい分割データを格納している。
つまり、ファイル名「Ｆｉｌｅ１．ｄｏｃ」のデータを取得しようとすれば、ＣＰＵ１００２は、先ずファイル名をキーとして、ファイルインデックス１００７、１００８、１００９等を検索し、このファイル名「Ｆｉｌｅ１．ｄｏｃ」が示されたファイルインデックス１００７を取得してエントリクラスタ番号「２１０１」を得る。
【００１２】
次に、ＣＰＵ１００２は、第１ＦＡＴ１００５において、最初にエントリクラスタ番号「２１０１」を参照してポインタ「２１０６」を得、次にクラスタ番号「２１０６」を参照してポインタ「２１０８」を得、そして、クラスタ番号「２１０８」を参照して後に続くデータが存在しないことを示すＥｎｄコードを得る。
【００１３】
これにより、ファイルシステムは、ファイル名「Ｆｉｌｅ１．ｄｏｃ」のファイルのデータが、クラスタ番号「２１０１」、「２１０６」、「２１０８」が示すクラスタの順に、分割データが格納されていることを認識し、このクラスタをから分割データを順次読み出して組立てることにより上記ファイルのデータを取得できる。
【００１４】
また、データを追加又は変更する等の更新を行なう場合、ＣＰＵ１００２は、先ず、更新のために必要な新たな分割データを空いているクラスタに格納し、データサイズ等のファイルインデックスの変更を実施し、ＦＡＴのクラスタ番号とポインタの関係を実情に合うよう更新し、不要となる分割データがあればクラスタから消去する。
【００１５】
なお、ファイルを更新する場合、軽微な更新であれば、ファイルを構成するデータの全てが更新される訳ではなく、その一部、即ち、クラスタの単位で更新が実施されることとなる。
このような更新の際に、停電等により上述のような更新の処理、ＦＡＴの更新の処理が中断すると、第１ＦＡＴ１００５又は第２ＦＡＴ１００６のポインタの書き替えが中途半端な状態で終了するため更新前とも後とも異なる状態となってしまい、全ての分割データが、正常にクラスタへ格納されたとしても、ＣＰＵ１００２は、これら分割データの格納場所及び順序を正しく認識できないため、正しくファイルを読出すことができない。
【００１６】
このため、ＣＰＵ１００２は、再起動した際、復旧処理を実施する。
即ち、第１ＦＡＴ１００５、第２ＦＡＴ１００６及びファイルインデックスの更新の処理が中断した場合には、第１ＦＡＴ１００５、第２ＦＡＴ１００６ＦＡＴ、ファイルインデックス１００７、１００８、１００９等及びクラスタ間における不整合の調査を実施し、第１ＦＡＴ１００５及び第２ＦＡＴ１００６のうち、整合性のあるものを正しいＦＡＴとして採用し、これに第１ＦＡＴ１００５及び第２ＦＡＴ１００６の内容を合わせることにより復旧する。
【００１７】
なお、ファイルインデックス１００７、１００８、１００９等の各更新は、これらファイルインデックスのデータ量が１セクタ内に収まる程度に少ないため、データの書き込みは瞬時に行なわれ、データ書き込み途中での中断は生じないものとする。
ところで、近年、デジタルテレビ及びゲーム機など、映像、音声及びデータ等の情報を受信して、ハードディスク等の記録媒体に記録する家庭向けデジタル情報家電が普及している。
【００１８】
これらのデジタル情報家電にも、パソコンと同様のデータ更新装置が組み込まれている。
【００１９】
【発明が解決しようとする課題】
しかしながら、上記従来技術には次の問題点がある。
つまり、従来の復旧処理を実施すれば、第１ＦＡＴ１００５、第２ＦＡＴ１００６ＦＡＴ、ファイルインデックス１００７、１００８、１００９等及びクラスタ間における不整合の調査に時間がかかり、データの読み書きができる状態となるまでに時間がかかる。
【００２０】
そのため、特に、リアルタイムでの処理を前提としたデジタルテレビ及びゲーム機等のデジタル情報家電における利用者は苛立たしさを感じ易い。
そこで、本発明は上記問題点に鑑みてなされたものであって、復旧処理の実施の際、データの復旧時間が短縮可能なデータ更新装置を提供することを目的とし、また、上述の復旧を達成するデータ復旧方法を提供することを目的とし、さらに、データ復旧時間の短縮化を実現するためのデータを記録した記録媒体を提供することを目的とする。
【００２１】
【課題を解決するための手段】
上記の目的を達成するために、本発明に係るデータ更新装置は、ファイルを構成する複数のデータと、これらデータの記録媒体における物理的格納領域及びデータの順序を特定するための第１テーブル及び第２テーブルと、ファイル名と前記複数のデータのうち先頭データの前記物理的格納領域との関連を示す複数のインデックス情報とが記憶されている記録媒体において、前記ファイルを更新するデータ更新装置であって、ファイルの更新に伴なうインデックス情報及び第１テーブルの更新の前に、当該インデックス情報の前記記録媒体における所在を示すアドレス情報及び当該インデックス情報の更新後における内容と同内容を含むインデックス特定情報を生成して前記記録媒体に書き込むインデックス特定情報生成書き込み手段と、ファイルの更新に伴ない、順に、前記第１テーブルの内容の更新、前記インデックス情報の内容の更新、前記第２テーブルの内容の更新を実施する更新手段と、前記更新手段による前記第２テーブルの内容の更新が完了した後、前記インデックス特定情報を前記記録媒体より削除するインデックス特定情報削除手段とを備えることを特徴とする。
【００２２】
また、本発明に係るデータ更新方法は、ファイルを構成する複数のデータと、これらデータの記録媒体における物理的格納領域及びデータの順序を特定するための第１テーブル及び第２テーブルと、ファイル名と前記複数のデータのうち先頭データの前記物理的格納領域との関連を示す複数のインデックス情報とが記憶されている記録媒体において、前記ファイルを更新するデータ更新方法であって、ファイルの更新に伴なうインデックス情報及び第１テーブルの更新の前に、当該インデックス情報の前記記録媒体における所在を示すアドレス情報及び当該インデックス情報の更新後における内容と同内容を含むインデックス特定情報を生成して前記記録媒体に書き込むインデックス特定情報生成書き込みステップと、ファイルの更新に伴ない、順に、前記第１テーブルの内容の更新、前記インデックス情報の内容の更新、前記第２テーブルの内容の更新を実施する更新ステップと、前記更新ステップによる前記第２テーブルの内容の更新が完了した後、前記インデックス特定情報を前記記録媒体より削除するインデックス特定情報削除ステップとを含むことを特徴とする。
【００２３】
また、本発明に係る復旧方法は、上述のデータ更新方法により、更新がなされている途中で処理が中断し、中断した状態から復旧する復旧方法であって、前記記録媒体における前記インデックス特定情報の有無を判定する更新中断発生判定ステップと、前記インデックス特定情報があると判定された場合、前記所在を示すアドレス情報により特定されるインデックス情報を取得し、当該インデックス情報の内容と前記インデックス特定情報の内容とが一致するときには第２テーブル内容を第１テーブルの内容に合わせるべく更新し、当該インデックス情報の内容と前記インデックス特定情報の前記更新内容とが一致しないときには第１テーブルの内容を第２テーブルの内容に合わせるべく更新することにより復旧するインデックス比較復旧ステップとを含むことを特徴とする。
【００２４】
また、本発明に係るプログラムが記録されているコンピュータ読み取り可能な記録媒体は、ファイルを構成する複数のデータと、これらデータの記録媒体における物理的格納領域及びデータの順序を特定するための第１テーブル及び第２テーブルと、ファイル名と前記複数のデータのうち先頭データの前記物理的格納領域との関連を示す複数のインデックス情報とが記憶されている記録媒体において、前記ファイルを更新するプログラムを記憶しているコンピュータ読み取り可能な記録媒体であって、前記プログラムは、ファイルの更新に伴なうインデックス情報及び第１テーブルの更新の前に、当該インデックス情報の前記記録媒体における所在を示すアドレス情報及び当該インデックス情報の更新後における内容と同内容を含むインデックス特定情報を生成して前記記録媒体に書き込むインデックス特定情報生成書き込みステップと、ファイルの更新に伴ない、順に、前記第１テーブルの内容の更新、前記インデックス情報の内容の更新、前記第２テーブルの内容の更新を実施する更新ステップと、前記更新ステップによる前記第２テーブルの内容の更新が完了した後、前記インデックス特定情報を前記記録媒体より削除するインデックス特定情報削除ステップとを実行させることを特徴とする。
【００２５】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施の形態の映像記録装置について説明する。
＜データ記録装置＞
図１は、本発明の実施の形態におけるデータ記録装置１００の機能ブロック図である。
【００２６】
データ記録装置１００は、データを読み書きする装置であって、データの読み書きの制御を実施する記録制御部１０１とデータを記憶する記憶部１０２とを有し、データの更新中に処理が中断した場合に再起動後に復旧するための処理（以下、「復旧処理」という。）も実施する。
なお、本発明は、記憶部１０２内のデータの変更又は追加、即ち、データの更新を実施する場合において有効であるため、以下、記憶部１０２内のデータを更新する場合に限定して説明する。
【００２７】
記憶部１０２は、ハードディスク等の記録媒体であって、セクタ及びクラスタ単位に区切られた記憶領域を有しており、このクラスタには、その物理的位置を特定するための番号が割り当てられている。
そして、この記憶部１０２には、第１ＦＡＴ１２１と、第２ＦＡＴ１２２と、ファイルインデックス１２３、１２４、１２５等と、データ１２６、１２７、１２８等とが格納されている。
【００２８】
また、データ、第１ＦＡＴ１２１、第２ＦＡＴ１２２及びファイルインデックスに対する一連の更新処理（以下、「更新処理」という。）の実施中にのみ、記憶部１０２内にテンポラリインデックス１２９が存在する。
記録制御部１０１は、ＣＰＵ、ＲＯＭ等の記録媒体を有し、データ入出力制御部１０３と、第１ＦＡＴ更新部１０４と、第２ＦＡＴ更新部１０５と、ファイルインデックス更新部１０６と、テンポラリインデックス生成部１０７と、テンポラリインデックス消去部１０８と、データ更新部１０９と、リカバリー処理制御部１１０とからなる。
【００２９】
データ入出力制御部１０３は、データを一時的に記憶するＲＡＭ等を有し、記憶部１０２に対してデータの入出力の制御を実施するものであり、例えば、ファイル名「Ｆｉｌｅ１．ｄｏｃ」を有するファイルの更新指示及び更新するために必要なデータ（以下、「更新データ」という。）を受け取り、このファイル名を含むファイルインデックスを取得するようにファイルインデックス更新部１０６に指示し、その結果、ファイルインデックス１２３をファイルインデックス更新部１０６より取得する。
【００３０】
また、データ入出力制御部１０３は、第１ＦＡＴ１２１を取得するように第１ＦＡＴ更新部１０４に指示し、その結果、第１ＦＡＴ１２１を第１ＦＡＴ更新部１０４より取得し、このファイルインデックス１２３と第１ＦＡＴ１２１とを参照し、ファイル名「Ｆｉｌｅ１．ｄｏｃ」を有するファイルのデータが分割格納されているクラスタに割当てられた番号（以下、「クラスタ番号」という。）と、そのクラスタがポインタにより指し示された順序と、空きのあるクラスタを認識して更新データをクラスタ単位に分割して格納するのに必要なクラスタ数を算出し、空きのあるクラスタから新たにデータを格納するクラスタを割当て、データの格納順序を決定する。
【００３１】
また、データ入出力制御部１０３は、上述のクラスタの番号及びその順序（以下、「ＦＡＴ情報」という。）を第１ＦＡＴ更新部１０４に出力し、このＦＡＴ情報と更新データをデータ更新部１０９に出力し、更新指示及びＦＡＴ情報をテンポラリインデックス生成部１０７に出力する。
データ更新部１０９は、ＦＡＴ情報と更新データを受け取ると、更新データをクラスタ単位に分割し、分割したデータ、即ち、分割データを先頭のものから順にＦＡＴ情報にしたがってクラスタに格納し、全てのデータが格納された場合には、その旨を示す通知（以下、「データ書き込み完了通知」という。）をテンポラリインデックス生成部１０７に出力する。
【００３２】
また、第２ＦＡＴ更新部１０５より第２ＦＡＴ更新完了の通知（以下、「第２ＦＡＴ更新完了通知」という。）を受け取った場合、データ更新部１０９は、データ更新に伴なって不要となったデータをクラスタから消去し、データを消去した旨を示す通知、（以下、「データ消去通知」という。）をテンポラリインデックス消去部１０８に出力する。
【００３３】
テンポラリインデックス消去部１０８は、データ更新部１０９よりデータを消去した旨を示す通知、即ち、データ消去通知を受け取ると、テンポラリインデックス１２９の有無を示すテンポラリインデックス１２９に含まれるフラグを１から０に変更し、テンポラリインデックス１２９に含まれる他のデータをクリアすることによりテンポラリインデックス１２９を記憶部１０２より消去する。
【００３４】
テンポラリインデックス生成部１０７は、データ更新部１０９からデータ書き込み完了通知を受け取ると、データ入出力制御部１０３より受け取った更新指示及びＦＡＴ情報をもとに内容を更新したファイルインデックス、即ち、テンポラリインデックス１２９を生成し、生成したテンポラリインデックス１２９を、記憶部１０２内のテンポラリインデックス専用の記憶領域である１セクタ内に格納して、このテンポラリインデックス１２９を記憶部１０２に格納した旨を示す通知（以下、「格納通知」という。）を第１ＦＡＴ更新部１０４に出力する。
【００３５】
なお、１セクタ内へのデータの書き込みは瞬時に行なわれるため、１セクタ内のデータの書き込みが途中で中断する等のデータ書き込みの異常は生じない。
また、テンポラリインデックス生成部１０７は、このテンポラリインデックス１２９をファイルインデックス更新部１０６にも出力する。
第１ＦＡＴ更新部１０４は、データ入出力制御部１０３からの指示にしたがい記憶部１０２内の第１ＦＡＴ１２１を読出してデータ入出力制御部１０３に出力する。
【００３６】
また、データ入出力制御部１０３よりＦＡＴ情報を受け取り、テンポラリインデックス生成部１０７より格納通知を受け取ると、第１ＦＡＴ更新部１０４は、このＦＡＴ情報をもとに現状の第１ＦＡＴ１２１を更新して新たな第１ＦＡＴ１２１として記憶部１０２の第１ＦＡＴ専用の記憶領域に上書きして更新する。
また、第１ＦＡＴ更新部１０４は、復旧処理において第２ＦＡＴ１２２を第１ＦＡＴ１２１に上書きする指示をリカバリー処理部１１３から受けた場合に、第１ＦＡＴ更新部１０４は、第２ＦＡＴ更新部１０４を介し、記憶部１０２の第２ＦＡＴ１２２を取得し、これを第１ＦＡＴ１２１として記憶部１０２の第１ＦＡＴ専用の記憶領域に上書きして更新する。
【００３７】
そして、第１ＦＡＴ更新部１０４は、第１ＦＡＴ１２１の更新が完了した旨を示す通知（以下、「第１ＦＡＴ更新完了通知」という。）をファイルインデックス更新部１０６に出力する。
ファイルインデックス更新部１０６は、データ入出力制御部１０３からの指示にしたがい記憶部１０２内の１つのファイルインデックスを読出してデータ入出力制御部１０３に出力する。
【００３８】
そして、第１ＦＡＴ更新部１０４から第１ＦＡＴ更新完了通知を受け取ると、ファイルインデックス更新部１０６は、テンポラリインデックス生成部１０７より受け取ったテンポラリインデックスのうち、ファイルインデックスとして必要な部分、即ち、ファイル名、エントリクラスタ番号、データサイズ、アトリビュート及びタイムスタンプ（以下、「インデックス主要項目」という。）を更新し、このファイルインデックスを記憶部１０２に格納した旨を示す通知（以下、「ファイルインデックス更新完了通知」という。）を第２ＦＡＴ更新部１０４に出力する。
【００３９】
より具体的には、ファイルインデックス更新部１０６は、データを追加する場合は、記憶部１０２のファイルインデックス専用の記憶領域として割当てられている空きセクタに格納し、また、既に記録されているデータを変更する場合には、このデータに関連するファイル名を含む１セクタ内に格納されているファイルインデックスを上書きして更新する。
【００４０】
なお、１セクタ内へのデータの書き込は瞬時に行なわれるため、１セクタ内のデータの書き込みが途中で中断等のデータ書き込み中の異常は生じないことは、テンポラリインデックス生成部１０７の場合と同様である。
第２ＦＡＴ更新部１０５は、ファイルインデックス更新部１０６よりファイルインデックス更新完了通知を受け取った場合、第１ＦＡＴ更新部１０４から更新後の第１ＦＡＴ１２１を取得し、これを第２ＦＡＴ１２２として記憶部１０２の第２ＦＡＴ専用の記憶領域に上書きして更新する。
【００４１】
また、第２ＦＡＴ更新部１０５は、復旧処理において第１ＦＡＴを第２ＦＡＴを上書きする指示をリカバリー処理部１１３から受けた場合、第２ＦＡＴ更新部１０５は、第１ＦＡＴ更新部１０４を介し、記憶部１０２の第１ＦＡＴ１２１を取得し、これを第２ＦＡＴ１２２として記憶部１０２の第２ＦＡＴ専用の記憶領域に上書きして更新する。
【００４２】
そして、第２ＦＡＴ更新部１０５は、データ更新部１０９に第２ＦＡＴ１２２の更新が完了した旨を示す通知、即ち、第２ＦＡＴ更新完了通知を出力する。
以上は、記憶部１０２内のデータの変更又は追加等のデータの更新を実施する場合における機能部の動作について述べたが、データを単に読み出す場合には、データ入出力制御部１０３は、ファイルインデックス更新部１０６に読み出しのキーとなるファイル名をもとに、このファイル名が示されているファイルインデックスの読出しを指示することにより得られるファイルインデックスのエントリクラスタ番号から先頭データの格納場所を認識し、第１ＦＡＴ更新部１０４に第１ＦＡＴの読出しを指示することにより得られる第１ＦＡＴに示されているポインタを辿って順次クラスタからのデータの読出しを指示することにより目的とするファイルのデータを取得することができる。
【００４３】
リカバリー処理制御部１１０は、データの更新中に処理が中断した場合に再起動後に復旧処理を実施するものであって、ファイルインデックス比較部１１１と、ＦＡＴ比較部１１２と、リカバリー処理部１１３とからなる。
ファイルインデックス比較部１１１は、テンポラリインデックス１２９が存在するかどうかを判断する。
【００４４】
より具体的には、テンポラリインデックスに含まれるフラグ格納用として割当てられたビット（以下、「フラグビット」という。）が「１」か「０」かを検出し、フラグビットに「１」が格納されていればテンポラリインデックス１２９が存在し、フラグビットに「０」が格納されていればテンポラリインデックス１２９が存在しないと判断する。
【００４５】
そして、テンポラリインデックス１２９が存在しない場合、その旨を示す通知（以下、「不存在通知」という。）をリカバリー処理部１１３に出力する。
一方、テンポラリインデックス１２９が存在する場合、ファイルインデックス比較部１１１は、このテンポラリインデックス１２９を読出し、このテンポラリインデックス１２９に示されているセクタ番号より、このテンポラリインデックスに対応するファイルインデックス、例えば、ファイルインデックス１２３の所在を認識し、このファイルインデックス１２３を読み出して、テンポラリインデックス１２９とファイルインデックス１２３との内容が一致するかどうかを判断する。
【００４６】
そして、ファイルインデックス比較部１１１は、上述の内容が一致する場合には、その旨を示す通知（以下、「インデックス一致通知」という。）をリカバリー処理部１１３に出力し、また、上述の内容が一致しない場合には、その旨を示す通知（以下、「インデックス不一致通知」という。）をリカバリー処理部１１３に出力する。
【００４７】
ＦＡＴ比較部１１２は、リカバリー処理部１１３の指示にしたがい、第１ＦＡＴ１２１及び第２ＦＡＴ１２２を読出して比較し、この２つの内容が一致するものかどうかを判断し、この内容が一致する場合には、その旨を示す通知（以下、「ＦＡＴ一致通知」という。）をリカバリー処理部１１３に出力し、また、上述の内容が一致しない場合には、その旨を示す通知（以下、「ＦＡＴ不一致通知」という。）をリカバリー処理部１１３に出力する。
【００４８】
リカバリー処理部１１３は、ファイルインデックス比較部１１１より、インデックス一致通知又はインデックス不一致通知を受け取った場合、ＦＡＴ比較部１１２に対し、第１ＦＡＴ１２１及び第２ＦＡＴ１２２を読出して比較し、その内容が一致するものかどうかを判断してその結果を応答するように指示し、その結果、ＦＡＴ比較部１１２よりＦＡＴ一致通知又はＦＡＴ不一致通知を受け取る。
【００４９】
一方、ファイルインデックス比較部１１１より不存在通知を受け取った場合、リカバリー処理部１１３は、復旧を実施する必要がないものと判断し、復旧処理を終了する。
テンポラリインデックス１２９より不存在通知以外の通知、即ち、インデックス一致通知又はインデックス不一致通知を受け取った場合、リカバリー処理部１１３は、ＦＡＴ比較部１１２より受け取った通知がＦＡＴ一致通知及びＦＡＴ不一致通知のいずれであるかを判断し、これがＦＡＴ一致通知であれば、テンポラリインデックス消去部１０８に、テンポラリインデックス１２９を消去するように指示する。
【００５０】
また、ＦＡＴ比較部１１２より受け取った通知がＦＡＴ不一致通知であった場合、リカバリー処理部１１３は、ファイルインデックス比較部１１１より受け取った通知がインデックス一致通知及びインデックス不一致通知のいずれであるかを判断し、インデックス一致通知であれば、第１ＦＡＴ１２１を第２ＦＡＴ１２２に上書きして更新する指示を第１ＦＡＴ更新部１０４及び第２ＦＡＴ更新部１０５に指示する。
【００５１】
一方、ファイルインデックス比較部１１１より受け取った通知が、インデックス不一致通知であれば、リカバリー処理部１１３は、第２ＦＡＴ１２２を第１ＦＡＴ１２１に上書きして更新する指示を第１ＦＡＴ更新部１０４及び第２ＦＡＴ更新部１０５に指示する。
テンポラリインデックス消去部１０８は、データ更新部１０９よりデータを消去した旨を示す通知、即ち、データ消去通知を受け取ると、テンポラリインデックス１２９を記憶部１０２より消去する。
＜データ＞
以上のように構成されたデータ記録装置１００の記憶部１０２に格納されているデータについて説明する。
【００５２】
図２は、記憶部１０２に格納されているファイルインデックス１２３、１２４、１２５等、第１ＦＡＴ１２１、第２ＦＡＴ１２２及びデータ１２６、１２７、１２８等のデータ構成を示す図である。
ファイルインデックス１２３、１２４、１２５等のそれぞれは、１つのファイルについての管理情報が格納されているテーブルであり、各テーブルのデータ構成は同一であるため、ファイルインデックス１２３を例に挙げて、このテーブル内のデータ構成について説明する。
【００５３】
ファイル名欄２１１は、このファイルインデックス１２３に関連するファイル、即ち、管理対象のファイルのファイル名が示されており、このファイル名は、ファイル検索するためのキーとして用いられる。
エントリクラスタ番号欄２２２は、上記ファイルの先頭データが格納されているクラスタの所在を示すクラスタ番号が示されている。
【００５４】
データサイズ（ＫＢ）欄２２３は、上記ファイルに含まれる全てのデータを合計してデータ容量がキロバイト単位で示されている。
アトリビュート欄２２４は、上記ファイルへの書き込みを許容するかどうか等を規定するファイル属性が示されている。
タイムスタンプ欄２２５は、このファイルインデックス１２３が生成又は更新された年月日及び時刻が示されている。
【００５５】
第１ＦＡＴ１２１及び第２ＦＡＴ１２２は、ＦＡＴを２重化したテーブルであり、更新処理中及び異常発生後以外は、これらの内容は全く同一である。
ここで、第１ＦＡＴ１２１を例に挙げて、このテーブル内のデータ構成について説明する。
クラスタ番号列２４１は、クラスタに割当てられた番号、即ち、クラスタ番号が示されている。
【００５６】
ポインタ列２４２は、左欄のクラスタ番号列２４１に示されている値が示すクラスタに分割データが格納されている場合に、この分割データの後に続く分割データが格納されているクラスタに対応するクラスタ番号が示されている。
また、左欄のクラスタ番号列２４１に示されている値に対応するクラスタに分割データが格納され、この分割データの後に続く分割データがない場合には、このポインタ列２４２は、後に続く分割データが存在しない旨を示すＥｎｄコードが示されている。
【００５７】
なお、左欄のクラスタ番号列２４１に示されている値に対応するクラスタに分割データが格納されていない場合には、データとして何も格納されていない。
データ記憶領域２６０は、記憶部１０２内の記憶領域をクラスタ単位毎に割当てたものの集まりであって、各クラスタには当該記憶領域上の位置を特定するための番号、即ち、クラスタ番号が付されている。
【００５８】
これらクラスタには、第１ＦＡＴ及び第２ＦＡＴが示すクラスタの位置及び順序にしたがって、データ１２６、１２７、１２８等が格納されている。
図３は、データの更新中にのみ記憶部１０２に一時的に格納されるテンポラリインデックス１２９の論理的構成を示す図である。
このテンポラリインデックス１２９は、ファイルインデックス１２３、１２４、１２５等とほぼ同様のデータ構成からなり、更新後のファイルインデックスに相当する内容、即ち、インデックス主要項目とそれ以外の管理情報を含む。
【００５９】
このインデックス主要項目となるものを以下に示しながら、それぞれについて説明する。
ファイル名欄３０１は、更新対象後のファイルのファイル名として用いられるファイル名が示されている。
エントリクラスタ番号欄３０２は、上記ファイルの先頭データが格納されているクラスタの所在を示すクラスタ番号が示されている。
【００６０】
データサイズ欄３０５は、上記ファイルに含まれる全てのデータを合計してデータ容量がキロバイト単位で示されている。
アトリビュート欄３０６は、上記ファイルへの書き込みを許容するかどうか等を規定するファイル属性が示されている。
タイムスタンプ欄３０５は、このテンポラリインデックス１２９が記憶部１０２に記憶された年月日及び時刻が示されている。
【００６１】
以上は、更新後のファイルインデックスの内容としてそのまま使用される部分である。
続いて、インデックス主要項目以外の管理情報となるものを以下に示しながら、それぞれについて説明する。
セクタ番号欄３０６及びフラグ欄３０７は、上述の新たな管理情報を付加した部分に相当する。
【００６２】
セクタ番号欄３０６は、更新対象のファイルインデックスが記憶部１０２に存在する場合には、このファイルインデックスが格納されている記憶部１０２上のセクタの番号、即ち、セクタ番号が示されている。
なお、ファイルを新規に作成する場合、前記セクタ番号には何も格納されていない。
【００６３】
そして、フラグ欄３０７は、更新処理中であれば、更新処理中であることを示すフラグ「１」が示されており、更新処理中でなければ、フラグ欄３０７は、フラグ「０」が示されている。
なお、更新毎にテンポラリインデックス１２９が生成されて記憶部１０２に格納されるが、上述の各欄に対応するファイル名からフラグまでの情報は、記憶部１０２内の専用の記憶領域に書き込まれるため、前記フラグが格納されている記憶領域、即ち、ビットを参照することにより、テンポラリインデックス１２９の有無が判別できる。
＜更新処理＞
次に、記録制御部１０１におけるデータを更新するための処理について説明する。
【００６４】
図４は、記録制御部１０１において実施される記憶部１０２に記憶されたデータを更新するための処理を示すフローチャートである。
データ更新部１０９は、更新データをクラスタ単位に分割し、分割したデータ、即ち、分割データを先頭のものから順にＦＡＴ情報にしたがってクラスタに格納し、全てのデータが格納された場合には、その旨を示す通知、即ち、データ書き込み完了通知をテンポラリインデックス生成部１０７に出力する（ステップＳ１０１）。
【００６５】
データ書き込み完了通知を受けると、テンポラリインデックス生成部１０７は、データ入出力制御部１０３より受け取った更新指示及びＦＡＴ情報をもとにデータ更新後に対応する新たなファイルインデックス、即ち、テンポラリインデックス１２９を生成して記憶部１０２に格納し、この格納が完了した旨を示す通知、即ち、格納通知を第１ＦＡＴ更新部１０４に出力する（ステップＳ１０２）。
【００６６】
また、テンポラリインデックス生成部１０７は、テンポラリインデックス１２９による記憶部１０２への格納に伴ない、テンポラリインデックス１２９をファイルインデックス更新部１０６に出力する。
続いて、第１ＦＡＴ更新部１０４は、データ入出力制御部１０３よりＦＡＴ情報を受け取ってテンポラリインデックス生成部１０７より格納通知を受け取ると、このＦＡＴ情報をもとに現状の第１ＦＡＴ１２１を更新して新たな第１ＦＡＴ１２１として記憶部１０２の第１ＦＡＴ専用の記憶領域に上書きして更新し、第１ＦＡＴ１２１の更新が完了した旨を示す通知、即ち、第１ＦＡＴ更新完了通知をファイルインデックス更新部１０６に出力する（ステップＳ１０３）。
【００６７】
そして、第１ＦＡＴ更新部１０４から第１ＦＡＴ更新完了通知を受け取ると、ファイルインデックス更新部１０６は、テンポラリインデックス生成部１０７より受け取ったテンポラリインデックスのインデクックス主要項目を更新対象ファイルインデックスに上書きして更新し、このファイルインデックスを記憶部１０２に格納した旨を示す通知、即ち、ファイルインデックス更新完了通知を第２ＦＡＴ更新部１０５に出力する（ステップＳ１０４）。
【００６８】
ファイルインデックス更新部１０６よりファイルインデックス更新完了通知を受け取った場合、第２ＦＡＴ更新部１０５は、第１ＦＡＴ更新部１０４から更新後の状態となっている第１ＦＡＴ１２１を取得し、これを第２ＦＡＴ１２２として記憶部１０２の第２ＦＡＴ専用の記憶領域に上書きして更新し、データ更新部１０９に第２ＦＡＴ１２２の更新が完了した旨を示す通知、即ち、第２ＦＡＴ更新完了通知を出力する（ステップＳ１０５）。
【００６９】
第２ＦＡＴ更新部１０５より第２ＦＡＴ更新完了の通知、即ち、第２ＦＡＴ更新完了通知を受け取ると、データ更新部１０９は、データ更新に伴なって不要となったデータをクラスタから消去し、データの消去が完了した旨の通知、即ち、データ消去通知をテンポラリインデックス消去部１０８に出力する（ステップＳ１０６）。
【００７０】
そして、テンポラリインデックス消去部１０８は、データ更新部１０９よりデータ消去通知を受け取ると、テンポラリインデックス１２９を記憶部１０２より消去し（ステップＳ１０７）、処理を終了する。
＜復旧処理＞
上述の更新処理の途中において、停電等により処理が中断した場合に復旧するための処理について説明する。
【００７１】
図５は、記録制御部１０１において実施される復旧処理を示すフローチャートである。
ファイルインデックス比較部１１１は、再起動時及びシステムエラー発生時等において、記憶部１０２にテンポラリインデックス１２９が存在するかどうかを判断し（ステップＳ２０１）、テンポラリインデックス１２９が存在しない場合、処理を終了する。
【００７２】
一方、テンポラリインデックス１２９が存在する場合、ＦＡＴ比較部１１２は、第１ＦＡＴ１２１及び第２ＦＡＴ１２２を読出して比較し、この２つの内容が不一致かどうかを判断する（ステップＳ２０２）。
第１ＦＡＴ１２１及び第２ＦＡＴ１２２の内容が一致する場合には、テンポラリインデックス消去部１０８は、テンポラリインデックス１２９を記憶部１０２より消去し、処理を終了する。
【００７３】
第１ＦＡＴ１２１及び第２ＦＡＴ１２２の内容が不一致の場合には、
ファイルインデックス比較部１１１は、テンポラリインデックス１２９と、このテンポラリインデックス１２９に示されているセクタ番号により特定されるファイルインデックス、即ち、更新対象のファイルインデックスとを比較し（ステップＳ２０３）、これらのファイル名、エントリクラスタ番号、データサイズ、アトリビュート及びタイムスタンプ、即ち、インデクックス主要項目が一致するかどうかを判断する（ステップＳ２０４）。
【００７４】
前記インデクックス主要項目が一致する場合、第２ＦＡＴ更新部１０５は、第１ＦＡＴ１２１を新たな第２ＦＡＴ１２２として記憶部１０２の第２ＦＡＴ専用の記憶領域に上書きして更新し（ステップＳ２０５）、さらに、テンポラリインデックス消去部１０８により、テンポラリインデックス１２９を記憶部１０２より消去し（ステップＳ２０７）、処理を終了する。
【００７５】
一方、前記インデクックス主要項目が一致しない場合、第１ＦＡＴ更新部１０４は、第２ＦＡＴ１２２を新たな第１ＦＡＴ１２１として記憶部１０２の第１ＦＡＴ専用の記憶領域に上書きして更新し（ステップＳ２０６）、さらに、テンポラリインデックス消去部１０８により、テンポラリインデックス１２９を記憶部１０２より消去し（ステップＳ２０７）、処理を終了する。
【００７６】
図６は、上述のステップＳ１０１からステップＳ１０７までの各ステップにおける、データ（旧データ及び新データ）、ファイルインデックス、テンポラリインデックス、第１ＦＡＴ及び第２ＦＡＴの状態を示めす図であり、上述のステップＳ２０１から２０７までを実行することにより各ステップの状態から復旧する場合における、これらデータ等の状態の変化が矢印により示されている。
【００７７】
ステップＳ１０１からの復旧としては、これらデータ等の状態に変化はなく、データ更新のため新しく記憶されたデータ、即ち、新データはそのまま記憶された状態となる。
以上により、テンポラリインデックス１２９のフラグビットを参照することにより復旧処理の要否を簡単に判定でき、また、テンポラリインデックス１２９のセクタ番号を参照することにより、他のファイルインデックスを参照することなく更新対象のみのファイルインデックスを参照してテンポラリインデックス１２９との比較が実施でき、また、第１ＦＡＴ１２１及び第２ＦＡＴ１２２の比較結果と合わせて、第１ＦＡＴ１２１及び第２ＦＡＴ１２２とデータの格納状態とを照合することなく復旧処理の内容、即ち、更新前の状態か更新後の状態のどちらに回復するのかが一義的に決定されるため、データの復旧時間の短縮化が図られる。
【００７８】
なお、本発明の実施の形態において、記憶部１０２は、ハードディスク等の記録媒体としたが、半導体メモリ及び光磁気ディスクなどであっても構わない。
また、テンポラリインデックス１２９のセクタ番号欄３０６は、更新対象のファイルインデックスが格納されている記憶部１０２上のセクタの番号、即ち、セクタ番号が示されているとしたが、このセクタを含むクラスタに割当てられた番号でもよく、このセクタに格納されているデータに辿り付くためのディレクトリ、即ち、パス名であっても構わない。
【００７９】
なお、第１ＦＡＴ１００５及び第２ＦＡＴ１００６の内容の一致及び不一致を判断することなく、正しい方を他方に上書きすることにより、復旧処理を実施することもできる。
なお、本実施の形態に示す、データ記録装置１００は、ＦＡＴ及びファイルインデックスを用いたファイルシステムを前提としているが、ＮＴＦＳ等のＦＡＴ及びファイルインデックスに相当する他のデータベースを用いる他のファイルシステム、即ち、ファイルを構成するデータが分割格納されている記録媒体上の物理的格納領域及びその順序が示されているデータベース及びファイルの名とこのファイルの先頭データが格納されている物理的格納領域が示されているデータベースを用いるファイルシステムにおいても本発明は有効である。
【００８０】
【発明の効果】
以上の説明から明らかなように、本発明に係るデータ更新装置は、ファイルを構成する複数のデータと、これらデータの記録媒体における物理的格納領域及びデータの順序を特定するための第１テーブル及び第２テーブルと、ファイル名と前記複数のデータのうち先頭データの前記物理的格納領域との関連を示す複数のインデックス情報とが記憶されている記録媒体において、前記ファイルを更新するデータ更新装置であって、ファイルの更新に伴なうインデックス情報及び第１テーブルの更新の前に、当該インデックス情報の前記記録媒体における所在を示すアドレス情報及び当該インデックス情報の更新後における内容と同内容を含むインデックス特定情報を生成して前記記録媒体に書き込むインデックス特定情報生成書き込み手段と、ファイルの更新に伴ない、順に、前記第１テーブルの内容の更新、前記インデックス情報の内容の更新、前記第２テーブルの内容の更新を実施する更新手段と、前記更新手段による前記第２テーブルの内容の更新が完了した後、前記インデックス特定情報を前記記録媒体より削除するインデックス特定情報削除手段とを備えることを特徴とする。
【００８１】
これにより、前記インデックス特定情報が前記記録媒体に存在する場合に復旧すべきものとすれば、前記インデックス特定情報の有無を判断することにより容易に復旧の要否が判断され、早期の復旧の開始がなされ易い。
また、前記データ更新装置は、さらに、前記記録媒体における前記インデックス特定情報の有無を判定する更新中断発生判定手段と、前記インデックス特定情報があると判定された場合、前記所在を示すアドレス情報により特定されるインデックス情報を取得し、当該インデックス情報の内容と前記インデックス特定情報の内容とが一致するときには第２テーブル内容を第１テーブルの内容に合わせるべく更新し、当該インデックス情報の内容と前記インデックス特定情報の前記更新内容とが一致しないときには第１テーブルの内容を第２テーブルの内容に合わせるべく更新することにより復旧するインデックス比較復旧手段とを備えるとしてもよい。
【００８２】
これにより、前記インデックス特定情報の有無を判断することにより容易に復旧の要否が判断され、前記アドレス情報にもとづいて更新対象のインデックス情報が取得され、当該インデックス情報の内容と前記インデックス特定情報の更新内容との一致及び不一致の結果により、第１テーブルの内容及び第２テーブルの内容のいずれか一方に両テーブルの内容を合わせるので、これらテーブルとデータとの整合性を照合を行なうことなしに、第１テーブル及び第２テーブルの復旧が図られるため復旧処理の短縮化が図られる。
【００８３】
また、前記インデックス特定情報生成書き込み手段は、前記インデックス特定情報の書き込みに伴なって、前記記録媒体上の所定のビットを第１の値とし、前記インデックス特定情報削除手段は、前記インデックス特定情報の前記削除に伴なって、前記所定のビットを第１の値とは異なる第２の値とし、前記更新中断発生判定手段は、前記記録媒体における前記所定のビットの値にもとづき前記インデックス特定情報の前記有無の判定を実施するとしてもよい。
【００８４】
これにより、前記専用領域に格納された前記フラグを参照することのみで、復旧の要否が容易に判断される。
また、前記インデックス比較復旧手段は、前記復旧が完了した後に、前記インデックス特定情報を前記記憶手段より削除して前記所定のビットを第２の値とするとしてもよい。
【００８５】
これにより、２回目以降の復旧においても、前記専用領域に格納された前記フラグを参照することのみで、復旧の要否が容易に判断される。
また、前記インデックス比較復旧手段は、前記復旧が完了した後に、前記インデックス特定情報を前記記憶手段より削除するとしてもよい。
これにより、２回目以降の復旧においても、前記インデックス特定情報の有無を判断することにより容易に復旧の要否が判断される。
【００８６】
また、本発明に係るデータ更新方法は、ファイルを構成する複数のデータと、これらデータの記録媒体における物理的格納領域及びデータの順序を特定するための第１テーブル及び第２テーブルと、ファイル名と前記複数のデータのうち先頭データの前記物理的格納領域との関連を示す複数のインデックス情報とが記憶されている記録媒体において、前記ファイルを更新するデータ更新方法であって、ファイルの更新に伴なうインデックス情報及び第１テーブルの更新の前に、当該インデックス情報の前記記録媒体における所在を示すアドレス情報及び当該インデックス情報の更新後における内容と同内容を含むインデックス特定情報を生成して前記記録媒体に書き込むインデックス特定情報生成書き込みステップと、ファイルの更新に伴ない、順に、前記第１テーブルの内容の更新、前記インデックス情報の内容の更新、前記第２テーブルの内容の更新を実施する更新ステップと、前記更新ステップによる前記第２テーブルの内容の更新が完了した後、前記インデックス特定情報を前記記録媒体より削除するインデックス特定情報削除ステップとを含むことを特徴とする。
【００８７】
これにより、前記インデックス特定情報が前記記録媒体に存在する場合に復旧すべきものとすれば、前記インデックス特定情報の有無を判断することにより容易に復旧の要否が判断され、早期の復旧の開始がなされ易い。
また、本発明に係る復旧方法は、上述のデータ更新方法により、更新がなされている途中で処理が中断し、中断した状態から復旧する復旧方法であって、前記記録媒体における前記インデックス特定情報の有無を判定する更新中断発生判定ステップと、前記インデックス特定情報があると判定された場合、前記所在を示すアドレス情報により特定されるインデックス情報を取得し、当該インデックス情報の内容と前記インデックス特定情報の内容とが一致するときには第２テーブル内容を第１テーブルの内容に合わせるべく更新し、当該インデックス情報の内容と前記インデックス特定情報の前記更新内容とが一致しないときには第１テーブルの内容を第２テーブルの内容に合わせるべく更新することにより復旧するインデックス比較復旧ステップと、を含むことを特徴とする。
【００８８】
この方法により、前記インデックス特定情報の有無を判断することにより容易に復旧の要否が判断され、当該インデックス情報の内容と前記インデックス特定情報の更新内容との一致及び不一致の結果により、第１テーブルの内容及び第２テーブルの内容のいずれか一方に両テーブルの内容を合わせるので、これらテーブルとデータとの整合性を照合を行なうことなしに、第１テーブル及び第２テーブルの復旧が図られるため復旧処理の短縮化が図られる。
【００８９】
また、本発明に係るプログラムが記録されているコンピュータ読み取り可能な記録媒体は、ファイルを構成する複数のデータと、これらデータの記録媒体における物理的格納領域及びデータの順序を特定するための第１テーブル及び第２テーブルと、ファイル名と前記複数のデータのうち先頭データの前記物理的格納領域との関連を示す複数のインデックス情報とが記憶されている記録媒体において、前記ファイルを更新するプログラムを記憶しているコンピュータ読み取り可能な記録媒体であって、前記プログラムは、ファイルの更新に伴なうインデックス情報及び第１テーブルの更新の前に、当該インデックス情報の前記記録媒体における所在を示すアドレス情報及び当該インデックス情報の更新後における内容と同内容を含むインデックス特定情報を生成して前記記録媒体に書き込むインデックス特定情報生成書き込みステップと、ファイルの更新に伴ない、順に、前記第１テーブルの内容の更新、前記インデックス情報の内容の更新、前記第２テーブルの内容の更新を実施する更新ステップと、前記更新ステップによる前記第２テーブルの内容の更新が完了した後、前記インデックス特定情報を前記記録媒体より削除するインデックス特定情報削除ステップとを実行させることを特徴とする。
【００９０】
これにより、前記インデックス特定情報が前記記録媒体に存在する場合に復旧すべきものとすれば、前記インデックス特定情報の有無を判断することにより容易に復旧の要否が判断され、早期の復旧の開始がなされ易い。
【図面の簡単な説明】
【図１】本発明の実施の形態におけるデータ記録装置の機能ブロック図である。
【図２】記憶部に格納されているファイルインデックス、第１ＦＡＴ、第２ＦＡＴ及びデータの論理的構成を示す図である。
【図３】データの更新中にのみ記憶部一時的に格納されるテンポラリインデックスの論理的構成を示す図である。
【図４】記録制御部において実施される記憶部に記憶されたデータを更新するための処理を示すフローチャートである。
【図５】記憶部において実施する復旧処理を示すフローチャートである。
【図６】図４の各ステップにおける、データ、ファイルインデックス、テンポラリインデックス、第１ＦＡＴ及び第２ＦＡＴの状態を示めす図である。
【図７】従来のデータ更新装置を示す機能ブロック図である。
【図８】第１ＦＡＴ及び第２ＦＡＴと、ファイルインデックスと、データとの関係を示す図である。
【符号の説明】
１００    データ記録装置
１０１    記録制御部
１０２    記憶部
１０３    データ入出力制御部
１０４    第１ＦＡＴ更新部
１０５    第２ＦＡＴ更新部
１０６    ファイルインデックス更新部
１０７    テンポラリインデックス生成部
１０８    テンポラリインデックス消去部
１０９    データ更新部
１１０    リカバリー処理制御部
１１１    ファイルインデックス比較部
１１２    ＦＡＴ比較部
１１３    リカバリー処理部
１２１    第１ＦＡＴ
１２２    第２ＦＡＴ
１２３、１２４、１２５    ファイルインデックス
１２６、１２７、１２８    データ
１２９    テンポラリインデックス
【図１】
0003957464.tif 000002
【図２】
0003957464.tif 000003
【図３】
0003957464.tif 000004
【図４】
0003957464.tif 000005
【図５】
0003957464.tif 000006
【図６】
0003957464.tif 000007
【図７】
0003957464.tif 000008
【図８】
0003957464.tif 000009