JP2003288250A - ファイル管理方法 - Google Patents

ファイル管理方法

Info

Publication number
JP2003288250A
JP2003288250A JP2002090794A JP2002090794A JP2003288250A JP 2003288250 A JP2003288250 A JP 2003288250A JP 2002090794 A JP2002090794 A JP 2002090794A JP 2002090794 A JP2002090794 A JP 2002090794A JP 2003288250 A JP2003288250 A JP 2003288250A
Authority
JP
Japan
Prior art keywords
file
log
data
block
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002090794A
Other languages
English (en)
Inventor
Megumi Makino
恵 牧野
Yoshihiro Hori
吉宏 堀
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sanyo Electric Co Ltd
Original Assignee
Sanyo Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sanyo Electric Co Ltd filed Critical Sanyo Electric Co Ltd
Priority to JP2002090794A priority Critical patent/JP2003288250A/ja
Publication of JP2003288250A publication Critical patent/JP2003288250A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)

Abstract

(57)【要約】 【課題】 ファイル操作時のログを利用して効率的なフ
ァイル復旧とログ記録によるアクセ速度の低減を抑えた
ファイル管理方法を提供する 【解決手段】 FAT、ディレクトリ等を記録するシス
テム領域と、データを記録するためのデータ領域の他
に、各ファイルの操作状態を示すログ領域を新たに割り
当てる。また、ファイルデータの書き込みをファイルデ
ータブロック301と、これに連続する経過ログブロッ
ク302から構成されるアロケーションブロック300
の単位で行い、ファイルデータとともにファイルデータ
ブロックのリンク情報を記した経過ログブロックの記録
を同時に行うとともに、記憶領域にログ領域102を設
け操作したファイル情報と経過ログブロックへのリンク
情報を記録する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ランダムアクセス
可能な記憶装置に対するファイル記録管理方法に関す
る。
【0002】
【従来の技術】ハードディスクに代表されるようなラン
ダムアクセス可能な記憶装置では、記憶領域を管理する
ためにファイルシステムと呼ばれる記憶装置上のデータ
を管理する仕組みをもっており、一定容量の複数ブロッ
クに区切り、そのブロックにアドレスをつけアクセス・
管理を行っている。
【0003】FAT(File Allocation
Table)型ファイルシステムでは、記憶領域をデ
ータ領域とシステム領域に分けファイル管理を行ってい
る。
【0004】データ領域には、ファイルを構成するデー
タ(以下ファイルデータと呼ぶ)を記録する。システム
領域には、ファイル名や記録日時及びファイルデータへ
のアドレス等を記録したディレクトリ、ファイルデータ
のリンク情報を記述したファイルアロケーションテーブ
ル等を記録する。
【0005】幾つかに分割されたファイルデータは、フ
ァイルアロケーションテーブルにより正しく繋ぎ合わさ
れ、ファイルアクセスを行う仕組みとなっている。
【0006】FAT型ファイルフォーマットに従うファ
イル管理システムでは、ファイルのアクセススピードを
高めるため、頻繁に更新されるファイルアロケーション
テーブルやディレクトリをメモリ上にキャッシュし、一
定周期や任意のタイミングでディスクに更新する手法が
一般的に用いられている。
【0007】しかしそのような場合、不意の電源ダウン
や記憶装置の離脱等により、メモリ上のファイルアロケ
ーションテーブルの内容が記憶装置に正しく更新されな
かった時には、システム領域とデータ領域の整合性が保
たれなくなってしまう。
【0008】
【発明が解決しようとする課題】整合性の取れなくなっ
たファイルの復旧方法としては、全データサーチを行う
ディスクの再構築の方法とログファイルによる復旧方法
が用いられている。
【0009】前者は、ディスク再構築による方法では記
憶装置の大容量化に伴い復旧時間が増大するという問題
がある。
【0010】後者は、データ書き込み時に、アロケート
したデータブロックのリンク情報等を記憶したログファ
イルを用い、このファイルを辿ってファイルの再構築を
行うものである。
【0011】ログファイルの書き込みに際しては、シー
ク等の処理が発生し、データのアクセススピードが低下
するという問題がある。特に、映像コンテンツをデータ
ファイルとして記録する場合には、1つのデータファイ
ルが大容量であり、かつ、高いアクセススピードを求め
られるため上記の問題は特に顕著となる。
【0012】また、リムーバブルメディアにおいては、
既存ファイルシステムとの相互運用性の確保が重要な課
題となる。
【0013】そこで本発明は、かかる問題点を解決し、
かつ、既存のファイルシステムと相互運用可能なファイ
ル管理方法を提案する。
【0014】すなわち、既存のファイルシステムに対し
て機能を追加することで、相互運用性を確保しつつ、ア
クセススピードの低下を最小限に抑え、かつ、障害発生
時には効率的なデータの復旧を可能とするファイル管理
方法を提案する。
【0015】
【課題を解決するための手段】上記課題に鑑み、本発明
はそれぞれ以下の特徴を有する。
【0016】請求項1の発明は、複数のデータブロック
をファイルとして管理するファイル管理方法において、
前記ファイルの操作状態を書き込むログ領域と、前記各
データブロック内に配されると共にブロック間のリンク
情報と当該ブロックの開始アドレスとを含む経過ログを
書き込む経過ログとを配し、前記ログ領域に書き込まれ
た操作状態情報に基づいて前記ファイルの障害状態を判
別すると共に、前記リンク情報によって各データブロッ
クの経過ログを参照して、当該ファイルの復元を行うこ
とを特徴とする。
【0017】請求項2の発明は、請求項1に記載のファ
イル管理方法において、前記経過ログは、前記データブ
ロック内のファイルデータと対応しており、かつ、前記
ファイルデータと連続した領域に配されることを特徴と
する。
【0018】請求項3の発明は、請求項1または2に記
載のファイル管理方法において、前記ログ領域には、フ
ァイルが適正にクローズされたか否かを示すフラグ情報
がファイル毎に書き込まれることを特徴とする。
【0019】請求項4の発明は、複数のデータブロック
からなるデータ領域と、各データブロックの開始アドレ
スやデータブロック間のリンク情報を含む管理情報を記
憶するシステム領域とを有し、前記リンク情報によって
前記データブロックをリンクすることによって1つのデ
ータファイルを構成するファイルシステムを管理するフ
ァイル管理方法において、前記ファイルの操作状態に関
する情報を書き込むログファイルと、前記各データブロ
ック内に配されると共に当該ブロックの管理情報を含む
経過ログを書き込むための経過ログ領域とを新たに割り
当て、さらに、前記経過ログには同一ファイル中に存在
する経過ログをリンクさせるためのリンク情報を含めて
おき、前記ログファイルを参照して当該ファイルの障害
状態を判別し、当該ファイルに障害があると判断した場
合には、前記経過ログファイルのリンク情報に基づいて
当該ファイルの経過ログを順番に辿り各データブロック
の管理情報を取得し、当該取得した管理情報によって前
記システム領域の管理情報を復旧することを特徴とす
る。
【0020】請求項5の発明は、請求項4に記載のファ
イル管理方法において、前記ログファイルの操作状態情
報は、前記システム領域に対し前記管理情報が適正に書
き込み若しくは更新されたかを示す識別情報が含まれる
ことを特徴とする。
【0021】請求項6の発明は、請求項4または5に記
載のファイル管理方法において、前記ログファイルは、
ファイルデータを媒体に記憶する際に作成されて媒体に
書き込まれると共に、ファイルデータの記憶が終了し、
且つ、前記システム領域に当該ファイルの管理情報が書
き込まれた後に、前期媒体から消去されることを特徴と
する。
【0022】請求項7の発明は、請求項6に記載のファ
イル管理方法において、前記識別情報は、前記媒体に対
するファイルデータの記憶が完了したことを示す第1の
状態と、当該記憶の完了後、当該ファイルの管理情報が
前記システム領域に書き込まれたことを示す第2の状態
とを表示することを特徴とする。
【0023】
【発明の実施の形態】図1に、本発明を実装するデータ
記録装置10の概略構成図を示す。
【0024】データ記録装置10は、マイクロコンピュ
ータ11と、メモリ12とメディアインタフェース13
とメディア14によって構成される。
【0025】例えばメディア14は、固定ディスク記憶
装置、メモリ12、光磁気ディスク(MO)、DVD−
RAMといったリームバブルな追記型メディアである。
【0026】また、メディアインタフェース13は、メ
ディア14が、固定ディスク記憶装置やメモリカードの
ように記録媒体とドライブとを一体としたメディアであ
れば、マイクロコンピュータ11とメディア14との間
でデータの授受を仲介するインタフェースであり、メデ
ィア14が、MOやDVD―RAMのように記録媒体が
単体のメディアであれば、記録媒体に対してデータを書
込/読出するドライブと、マイクロコンピュータ11と
トライブとの間でデータの授受を仲介するインタフェー
スを一体としたものである。以下では、メディア14
は、固定ディスク記憶装置であり、メディアインタフェ
ース13はATA(AT Attachment)イン
タフェースであるとする。
【0027】[メディア上の構造]図2に、本発明のフ
ァイル管理方法によってフォーマットされた固定ディス
ク記憶装置14の記録構造を示す。
【0028】FAT型ファイルシステムに対して、本発
明によるファイル操作ログを用いたファイル管理機能を
追加して、データの保護を図るための構造である。な
お、FAT型ファイルシステムについては、本発明に関
わる部分についてのみ概略の説明を行い、詳細な説明は
行わない。
【0029】図2を参照して、メディア上の領域は、シ
ステム領域101、ログ領域102、データ領域103
とに区別される。
【0030】システム領域101およびデータ領域10
3は、FAT型ファイルシステムを構成する領域であ
る。システム領域101は、FAT型ファイルシステム
のメディアの記録形式を規定、データ領域の使用状況、
記録されたファイルやディレクトリ(サブディレクト
リ)の情報管理などに関する情報が記録される領域であ
り、FAT型ファイルシステムでは、記録される情報、
記録位置が予め定められている。具体的には、メディア
の記録形式が記載されるBPB(BIOS param
eter Block)、使用状況を示すテーブル情報
であるFAT(File Allocation Ta
ble)1、FAT2、および、ファイルやディレクト
リの情報管理を行うためのルートディレクトリがシステ
ム領域101に記録される。
【0031】BPB、FAT1、FAT2およびルート
ディレクトリについては、FAT型ファイルシステムに
よって規定される構成であるため、ここでは詳細に説明
は行わない。また、FAT2は、FAT1の複製であ
り、同一情報であることを鑑み、FAT1およびFAT
2を、総じてFATと称することとする。たとえば、F
ATの更新するとは、FAT1を更新し、FAT2へ複
製することである。
【0032】ログ領域102は、データファイルの新規
または追記によるデータ記録の経過情報を記録するファ
イル操作ログの一部であり、データファイルの新規また
は追記によってデータ記録を開始するにあたって記録す
るオープンログを記録する領域である。
【0033】オープンログについては、後で詳細に説明
する。
【0034】このログ領域102は、他のファイルシス
テムにおいても確保され保証されるようにする必要があ
る。したがって、フォーマット時に、システム領域10
1内のFAT内にログ領域102に相当する部分に割り
当て済みを指定しておく必要がある。
【0035】データ領域103は、データファイルおよ
び追加のディレクトリであるサブディレクトリが記録さ
れる。
【0036】データファイルは、ルートあるいはサブデ
ィレィトリ、および、FATに記載された情報に従っ
て、データ領域103に記録されたデータを結合した構
造である。
【0037】また、データ領域103ではクラスタと呼
ばれる単位によって管理され、クラスタ毎に論理アドレ
スが付与されている。この論理アドレスを指定すること
で、データの書込/読出が行われる構成になっている。
詳細には、固定ディスク記憶装置14には、固有の最小
記録単位と、その最小記録単位毎に付与されたメディア
上の位置を示す物理アドレスが存在する。しかし、FA
T型ファイルシステムでは、ファイル管理の都合上、最
小記録単位毎での管理を行わず、データ領域103をF
ATに適した数のクラスタに分割して管理を行う。
【0038】クラスタは、FAT型ファイルシステムに
よって論理アドレスが付与された連続する固定ディスク
記憶装置固有の最小記録単位を複数(通常は2のべき
乗)個を1つにした単位であり、クラスタに付与された
論理アドレスを指示すれば、FAT型ファイルシステム
によってクラスタを構成する最初の記録ブロックを示す
メディアの論理あるいは物理アドレスと連続するブロッ
ク数に一意に変換され、ATAインタフェース13に指
示することで、固定ディスク記憶装置14に対してデー
タの書込/読出が行われる。
【0039】以下では、ルートディレクトリおよびサブ
ディレクトリを総称して、ディレクトリと称する。ま
た、クラスタ毎に付与された論理アドレスをアドレスと
称するものとする。
【0040】[オープンログ]オープンログは、FAT
型ファイルシステムにおいて、データファイルの記録開
始に先だって、メディアに記録される情報である。
【0041】オープンログは、処理のためにメモリ12
上に展開されたFATやディレクトリが、データファイ
ルの記録後、固定ディスク記憶装置14に記録されてい
るFATやディレクトリに上書きされて更新されるまで
の間に操作した履歴であるファイル操作ログの一部であ
って、データファイルの記録処理中に障害が発生した場
合、障害の発生の確認と、障害からのデータファイルの
復旧に活用するものである。
【0042】なお、ファイル操作ログは、オープンログ
と複数の経過ログによって構成される。経過ログについ
ては、後で詳細に説明する。
【0043】図3に、ログ領域102に記録されている
オープンログの一例を示す。
【0044】1つのオープンログには、記録するデータ
ファイルに対して一意に付けられ名称であるファイル名
が含まれる。ファイル名は、FAT型ファイルシステム
において、正常にデータファイルの記録が終了した場合
に、ディレクトリに記録されるファイル名と同一であ
る。
【0045】さらに、オープンログは、オープンログ自
身を含む1つのデータファイルに対するファイル操作ロ
グに対して一意に割り当てられる識別子であるファイル
IDと、データファイルの記録が、新規記録であるか、
追記記録であるかを示す追記フラグと、データファイル
の開始と記録終了を示す状態フラグとを含む。
【0046】追記フラグは、データファイルの記録が新
規の場合を“0”、データファイルの記録が追記の場合
を“1”によって示す。
【0047】状態フラグは、データファイルの記録処理
中を“Open”、記録の終了を“Close”によっ
て示す。
【0048】さらに、オープンログは、最初の経過ログ
を記録したクラスタのアドレスとオープンログが記録さ
れた日時を示す記録開始日時と、データファイルの記録
終了、即ち、状態フラグを“Open”から、“Clo
se”に変更した日時を示す記録終了日時と、データフ
ァイルのデータ長とを含む。
【0049】オープンログを新規に記録する際には、状
態フラグは“Open”、記録終了日時とデータ長は、
領域のみが確保(たとえば、全て“0”を記録)された
状態でオープンログが記録される。そして、オープンロ
グを記録するとデータファイルの記録が開始される。
【0050】次いで、データファイルの記録が終了する
と状態フラグを“Open”から“Close”に変更
する。この時、同時に記録終了日時とデータ長が書き込
まれる。そして、FATおよびディレクトリ更新を行
い、更新終了後、オープンログは消去される。
【0051】したがって、オープンログの存在は、デー
タファイルの記録中に障害が発生した可能性を示してお
り、具体的には、状態フラグが“Open”であるオー
プンログは、データファイルの記録中に障害が発生した
データファイルの存在を、状態フラグが“Close”
であるオープンログは、データファイルの記録終了後、
FATおよびディレクトリ更新終了前に障害が発生した
ことを示している。
【0052】[経過ログ]高速に書き込み/読み出しを
必要とするデータファイルは、通常、クラスタよりも大
きな単位のファイルデータブロックに分割して、ブロッ
ク毎に記録を行う。経過ログは、このファイルデータブ
ロックの記録履歴の記録である。図4は、データファイ
ルの構成、および経過ログの構成を、図5は、一記録単
位の構成を示す図である。
【0053】データファイルは、n個(nは自然数)の
ファイルデータブロック301.i(1≦i≦n、iは
自然数)に分割される。そして、各ファイルデータブロ
ック301.iに対して、それぞれ経過ログブロック3
02.iが対として、アロケーションブロック300.
iと呼ばれる一つの記録単位として記録される。そし
て、1つのデータファイルに対する経過ログブロック3
02.iを集めて、1つの経過ログファイルを構成す
る。
【0054】図5を参照して、ファイルデータブロック
301.iと経過ログブロック302.iは、アロケー
ションブロック300.iとよばれる固定ディスク記憶
装置14の記録媒体上に連続して配置される記録単位
毎、即ち、連続したアドレスによって指定されるブロッ
クとして記録される領域を構成した上で、アロケーショ
ンブロック300.i毎に、固定ディスク記憶装置14
に書き込まれる。
【0055】データファイルブロック301.iは、ク
ラスタの自然数倍のデータ長を持つブロックである。経
過ログブロック302.iは、データブロック301.
iに連続した1つのクラスタに記録される管理情報であ
る。同一のアロケーションブロック300.iに含まれ
るデータブロック301.iに対する経過ログを記録す
るブロックである。
【0056】したがって、データファイルの記録時に
は、データファイルブロック301.iに対する経過ロ
グ302.iを付加したアロケーションブロック30
0.i単位で、連続したアドレスで指定される固定ディ
スク記憶装置14に対して書き込みを行う。
【0057】経過ログとして、ファイルIDと、経過ロ
グブロックの管理情報である経過ログID、経過ログの
最終ブロックか否を示すフラグ“EOF”を記録する。
なお、経過ログIDは、これによって、同一のファイル
IDを格納した経過ログブロックの記録順序が特定でき
るものであれば何であっても良いが、ここでは、経過ロ
グブロック302.iにおける経過ログIDは、iであ
るとする。
【0058】さらに、経過ログとして、自身が記録され
る経過ログブロック302.iの記録アドレスと、自身
が含まれるアロケーションブロック300.iの先頭が
記録されるクラスタのアドレスである開始アドレスと、
ファイルデータブロック301.i内に含まれる有効な
データの長さを示す有効データ長と、後続のアロケーシ
ョンブロック300.i+1に含まれる経過ログブロッ
ク302.i+1の記録アドレスと、直前のアロケーシ
ョンブロック300.i−1に含まれる経過ログブロッ
ク302.i−1の記録アドレスを記録する。
【0059】ただし、先頭のアロケーションブロック3
00.1においては、直前の経過ログブロックが、最後
のアロケーションブロック300.nにおいては、後続
の経過ログブロックが存在しないため、各記録アドレス
には“0”を記録する。
【0060】このようにアロケーションブロック30
0.iを構成して、データファイルブロック301.i
と経過ログブロック302.iを一括して記録すること
で、固有領域を用いることなくデータ領域内でファイル
データのリンクを辿ることができる。
【0061】さらに、アロケーションブロック300を
1つの記録単位とすることで、1命令によって固定ディ
スク記憶装置14に、データファイルブロック301
と、そのデータファイルブロック301に対する経過ロ
グ302を書き込むことができる。
【0062】したがって、固定ディスク記録装置14に
おいて、磁気ヘッドのシーク等のオーバヘッド処理をと
もなわないでデータブロック301.iと経過ログブロ
ック302.iを記録することとなり、経過ログブロッ
ク302.iの確実な記録と、経過ログブロック30
2.iの記録にともなう記録処理の低速化を防ぐことが
可能となる。
【0063】[書込手順]データファイルを記録する書
込手順についてフローチャートを参照しつつ、詳細に説
明する。
【0064】図6、図7および図8は、データファイル
を記録するためのフローチャートである。データファイ
ルの記録手順は、オープンフェーズ、記録フェーズ、ク
ローズフェーズの3つのフェーズからなる。図6はオー
プンフェーズ、図7は記録フェーズ、図8はクローズフ
ェーズに対するフローチャートである。
【0065】オープンフェーズ以前に固定ディスク装置
14のシステム領域101のFATがメモリ12上にコ
ピーされている。また、データファイルのファイル名お
よびそのデータファイルを格納するディレクトリが指定
され、指定されたディレクトリもメモリ12上コピーさ
れている。
【0066】次にユーザからファイルオープンの指示が
あるとオープンフェーズ、すなわち、図6のフローチャ
ートに示すようなオープンログの生成処理を行う。
【0067】オープン指示が追記モードならば、ディレ
クトリとFATから指定ファイルの最終データ記録アド
レスを取得(S112)し、メモリ12上のファイルデ
ータブロックに最終ファイルデータブロックの内容をデ
ィスクより読み出す(S113)。尚、このデータブロ
ックは、後述の記録フェーズにおいて用いられる。
【0068】次に、経過ログファイルの最終記録アドレ
スを取得(S114)し、メモリ12上の経過ログブロ
ックに最終経過ログブロックの内容を固定ディスク装置
14より読み出す(S115)。
【0069】次に、メモリ12上にオープンログを展開
し、当該ファイルのオープンログを追記した後、これを
固定ディスク装置14に記録する(S116)。
【0070】当該ファイルのオープンログには、図3に
示すように指定されたファイル名、指定されたファイル
であることを示すファイルID、記録開始日時、追記フ
ラグを“1”、状態フラグを“open”とし、先頭経
過ログアドレスには、最終経過ログブロックの記録アド
レス、ファイルデータ長と最終操作日時には“0”を書
き込んでおく。
【0071】追記モードでなければ、指定されたファイ
ルの先頭アロケーションブロックの記録領域を固定ディ
スク記録装置14上にアロケートし(S102)、メモ
リ12上の経過ログブロックに、指定されたファイルの
経過ログであることを示すファイルIDと、経過ログI
Dと、自身の記録アドレスとを記録し、更に有効データ
長と直前経過ログブロックの記録アドレスと次経過ログ
ブロックの記録アドレスには“0”を記録する(S10
3)。
【0072】メモリ12上にあるFATを,上記S10
2でアロケートした内容に合わせて更新する(S10
4)。
【0073】次に、メモリ12上に展開したオープンロ
グに、当該ファイルのオープンログを追記する(S10
5)。 すなわち、図3に示すようにファイル名とファ
イルID、記録開始日時、先頭経過ログブロックの記録
アドレス、それに状態フラグに“Open”を書き込
む。追記フラグ、ファイル長と最終操作日時には、
“0”を書き込む。
【0074】そして、最後にメモリ12上のオープンロ
グの内容をログ領域102に書き込んで(S106)オ
ープンフェーズを終了する。尚、オープンログは、オー
プンフェーズ終了後も、メモリ12上に展開しておく。
【0075】オープンログは、ファイル書き込み時に生
成されるものであり、オープンフェーズについては、ラ
イトモードにおけるファイル操作を行った場合の処理で
ある。
【0076】なお、リードモードにおけるオープンフェ
ーズの処理に関しては、FAT型ファイルフォーマット
と同様の操作手段であるので説明を割愛する。
【0077】次に記録フェーズへ移行する。記録フェー
ズは、データファイルおよび経過ログの書き込み、すな
わち、アロケーションブロックの記録を行うフェーズで
ある。図7を参照して記録フェーズについて説明する。
【0078】始めにメモリ12上のファイルデータブロ
ックに、ファイルデータブロックの終端まで、もしく
は、データ長分の書き込みデータの読み込みを行う(S
201)。
【0079】ライト指示されたデータの全読み込みが終
了したのであれば、メモリ12上の経過ログブロックの
有効データ長とEOFフラグに“1”を書き込み(S2
13)、メモリ12上のアロケーションブロックを固定
ディスク記憶装置14に書き込んで、ライト処理を終了
する。
【0080】もし、データの読み込み中にファイルデー
タブロックの終端に達したならば、次のアロケーション
ブロックを固定ディスク装置14上にアロケートし(S
203)、メモリ上の経過ログブロックに有効データ長
としてファイルデータブロック長と次経過ログブロック
の記録アドレスを記述し(S204)、メモリ12上の
FATを更新(S205)する。
【0081】その後、メモリ12上のアロケーションブ
ロックを固定ディスク装置14に書き込む(S20
6)。固定ディスク装置14への書き込みポインタを次
アロケーションブロックの記録アドレスへ変更し(S2
07)、S201からS207の手順を繰り返し、全フ
ァイルデータのライト処理を行う。
【0082】記録フェーズが終了するとクローズフェー
ズへ移行する。オープンログの終了処理とFATおよび
ディレクトリの書き換え処理を行うフェーズである。図
8を参照してクローズフェーズを説明する。
【0083】メモリ12上に展開されている当該ファイ
ルのオープンログの状態フラグを“Close”にセッ
トすると共に、ファイル長と最終操作日時をセットし
(S301)、固定ディスク装置14へ書き込みを行う
(S302)。
【0084】次に、メモリ12上のFATにファイルエ
ンド“EOF”をセットし、ディレクトリに記録したフ
ァイルのリンク情報を更新(S303)し、固定ディス
ク装置14へ書き込みを行う(S304)。メモリ上の
オープンログからファイル情報を削除し(S305)、
そのオープンログの内容を固定ディスク装置14へ書き
込み(S306)、クローズフェーズを終了する。
【0085】クローズフェーズについては、ライトモー
ドでオープンしたファイルに関する処理である。なお、
リードモードでオープンしたファイルについては、及び
ファイルの読み出しに関しては、FAT型ファイルフォ
ーマットと同様の操作手段であるので説明を割愛する。
【0086】データファイルの書込手順が正常に終了す
ると、FAT型ファイルシステムに管理される2つのフ
ァイルが生成される。1つはデータファイルそのもので
あり、もう一つはデータファイルブロックのリンク情報
を記録順に連ねた経過ログファイルである。
【0087】図9(a)は、オープンログの状態フラグ
を“Close”に変更した後のアロケーションブロッ
クのリンク状態、(b)は、FATおよびディレクトリ
が更新され、オープンログが消去された後のリンク状態
を示す図である。
【0088】はじめに、同図(a)のファイルアクセス
手順を説明する。
【0089】オープンログよりファイルの先頭経過ログ
ブロック302−1の記録アドレスを取得し、先頭経過
ログブロック302−1の読み出しを行う。経過ログブ
ロック302−1に書かれているファイルデータブロッ
ク301−1の先頭記録アドレスを取得し、ファイルデ
ータブロック301−1の読み出しを行う。
【0090】次に、経過ログブロック302−1内に記
録されている次経過ログブロック302−2の記録アド
レスを取得し、経過ログブロック302−2を読み出
し、ファイルデータブロック301−2の先頭記録アド
レスを取得して、ファイルデータブロック301−2の
読み出しを行う。上記手順を繰り返す事により最終ファ
イルデータブロック301−nのファイルデータの読み
込みが可能である。
【0091】図9(b)のファイルアクセス手順を説明
する前に、図11を参照してFATの基本的なファイル
アクセス手順を説明する。
【0092】ディレクトリより始点となる先頭ブロック
番号“15”を取得すると、FAT内のFAT項目番号
が“15”のFAT項目値“10”を参照する。次にF
AT項目番号“10”のFAT項目値を参照する。この
ようにして、FAT項目番号とFAT項目値を参照する
ことによりファイルのリンク情報を辿ることが可能であ
る。尚、ファイルの終端ブロックにはファイルエンドを
示す“EOF”が記録されている。
【0093】上記手順に従って(b)のファイルアクセ
スを説明する。
【0094】ディレクトリよりファイルの先頭記録アド
レスを取得し、ファイルデータのリンク情報の始点とな
るアドレスを得る。次にFAT内のリンク情報を辿りフ
ァイルデータブロック301−1の読み出し、次ファイ
ルデータブロック301−2の読み出しを行い最終ファ
イルブロック301−nのファイルデータの読み込みを
行う。
【0095】同様の手順で、経過ログファイルについて
もファイルデータの読み出しが可能である。
【0096】なお、上記ファイルアクセス手順は、Fi
leAがルートディレクトリに存在している場合の例で
ある。
【0097】したがって、FATに障害が発生した場合
にも、経過ログファイルを活用することによって、デー
タ領域103に記録される経過ログでファイルデータの
リンクを辿る事が可能となる。そのため、データ領域1
03からFATの再構築も可能である。
【0098】なお、経過ログファイルもFAT型ファイ
ルシステムにて管理されるファイルデータの1つである
ことから、上記ファイル管理方法を採用しない、従来の
FAT型ファイルシステムが実装された装置において、
固定ディスク記憶装置14が利用されても、経過ログフ
ァイルが誤って消去されてしまうことはない。
【0099】また、一般的なデフラグ等のツールを用い
てデータの再配置が行われた場合に、経過ログの内容を
更新しないとファイルデータとの整合性が保てなくなっ
てしまうが、整合性が保てているかどうかについては、
自身の記録アドレスを記録することにより再配置が行わ
れたかどうかが判断できる構成となっている。したがっ
て、再配置によって誤った再配置が行われることを回避
できる。
【0100】また、経過ログとして、さらに、ファイル
名、記録日時、帰属ディレクトリ名等の情報を記述する
ことも可能であり、より正確なデータ復旧のために用い
ることもできる。
【0101】このように、上記ファイル管理方法を採用
しない、従来のFAT型ファイルシステムにおいて、デ
ータファイルの記録が行われた場合においても、矛盾が
生じることはない。
【0102】[復旧手順]次に、障害が発生した場合の
復旧処理について、図10を用いて説明する。障害が発
生するタイミングは、様々考えられるがオープンログに
より障害の発生ポイントを絞り込む事が可能となる。こ
の復旧手順は、システム起動時に毎回行うものである。
【0103】同図のフローチャートに従って、まず、障
害発生箇所の絞り込みが行われる。
【0104】オープンログにFATおよびディレクトリ
の更新まで済んでいないファイル情報が残っていない
か、すなわち、オープンログの記録が残っているか否か
を確認する(S401)。
【0105】残っていれば、直前の電源ダウン時には何
らかの障害が発生した事が考えられる。残っていなけれ
ば、正常に書き込み手順が終了していて、復旧処理の必
要がないため、復旧処理を終了する(S432)。
【0106】次に、そのデータファイルが書き込み中で
あったのか、書き込み終了後のFATの更新待ちであっ
たのかを状態フラグから判断する(S402)。
【0107】状態フラグが“Close”の場合、すな
わち、ディレクトリおよびFATの更新待ちの場合、そ
のオープンログで示されるデータファイルに関するリン
ク情報が、ディレクトリおよびシステム領域101のF
ATに保存されているかどうか、すなわち、データファ
イル記録時のディレクトリおよびFATの更新が終了し
ているか否かを確認する(S413)。
【0108】かかる確認は、ディレクトリ内のそのファ
イルに関するリンク情報とファイル長を対比することに
よって行う。
【0109】この時、更新が終了していれば、オープン
ログに対応するデータファイルの書き込み終了後、オー
プンログを削除する前に障害が発生したと推測し、ログ
領域102のオープンログを削除し、その内容を固定デ
ィスク装置14に書き込み(S431)、復旧処理を終
了する(S432)。
【0110】更新が終了していなければ、データ書き込
み中もしくは、固定ディスク装置14上のディレクトリ
およびFAT更新以前に障害が発生し、復旧処理が必要
であると判断され、復旧処理に移行する。
【0111】まず、オープンログ内に記述されているフ
ァイルの先頭経過ログブロックの記録アドレスを取得し
(S403)、固定ディスク装置14に記録されている
経過ログの内容を読み込む(S404)。
【0112】経過ログ内のファイルIDとオープンログ
にあるファイルIDの一致、経過ログを示す経過ログI
Dの確認、自身の記録アドレスの一致などを確認し、経
過ログが有効かどうかの判断する(S405)。
【0113】経過ログの有効性が判断できたならば、経
過ログより、開始アドレスと有効データ長を取得して、
メモリ12上のFATを更新する(S406)。そし
て、フラグEOFの取得を確認する(S407)。フラ
グEOFが、ファイルエンドを示していなければ、次の
経過ログブロックの記録アドレスを取得(S408)
し、S404へ移行して、次の経過ログの解析処理を行
う。
【0114】ファイルエンドを確認したならば、全ファ
イルデータの解析処理が終了し、メモリ12上のFAT
内には復旧したファイルデータおよび経過ログファイル
のリンク情報が更新されているので、それぞれの最終リ
ンク先に、ファイルエンドを記録し、ディレクトリに復
旧したファイルデータおよび経過ログファイルのファイ
ルエントリを追加(S429)する。メモリ12上のF
ATおよびディレクトリを固定ディスク装置14へ書き
込みを行う(S430)。
【0115】これでシステム領域101およびサブディ
レクトリの復旧処理が終了したので、オープンログを削
除し、固定ディスク装置14へ書き込みを行い(S43
1)、復旧処理を終了する(S432)。
【0116】経過ログが途中で正しくないと判断された
場合には、ユーザにその情報を知らせ、ユーザの指示待
つ(S426)。ユーザが書き込み中のファイルの削除
を指示した場合には、メモリ12上のFATおよびディ
レクトリにそのファイルの情報があればファイル情報を
削除する(S438)。
【0117】ユーザが書き込み中のファイルの保存を指
示したならば、正しいと判断された経過ログまでのファ
イルデータのリンク情報をメモリ上のFATに更新し、
ディレクトリファイルにファイルエントリを追加する
(S428)。その後、固定ディスク装置14上のFA
Tおよびディレクトリを更新(S430)する。ログ領
域102のオープンログを削除し、固定ディスク装置1
4上に書き込み(S431)、復旧処理を終了する(S
432)。
【0118】図10では、オープンログを参照した復旧
処理について説明したが、オープンログの残らない、即
ち、記録手順外において、ディレィトリやFATに障害
が発生した場合においても、データファイルの復旧を行
うことも可能である。ディレクトリのアクセスが可能で
あれば、ディレクトリより経過ログファイルの先頭の記
録アドレスを取得して、先頭の経過ログブロックを特定
して、図10のS404へ進むことで、ファイルデータ
のリンクを復元し、FATを復旧することができる。
【0119】また、ディレクトリのアクセスができない
場合には、経過ログブロックに格納されているファイル
IDや経過ログIDなどに基づいて固定ディスク装置1
4に記録された先頭の経過ログブロックを検索して抽出
した後、図10のS405に進むことで、ファイルデー
タのリンクを復元し、FATを復旧することができる。
【0120】ここでは、書き込み中のファイル復旧に関
しては復旧処理中でユーザに指示を仰ぐ方法をとった
が、あらかじめその場合の処理方法をシステムに設定す
るような手段としても良い。
【0121】以上の説明において、オープンログを記録
するための専用の領域であるログ領域102を設けた
が、必ずしも専用の領域を設ける必要はない。
【0122】オープンログを記録する、FAT型ファイ
ルシステムによって管理される専用のオープンログファ
イルであってもよい。この場合、オープンログファイル
のファイル名は予め予約されている。また、オープンロ
グ記録直後に、メモリ12上のFATおよびディレクト
リは更新され、固定ディスク装置14に記録されたFA
Tおよびディレクトリを書き換える必要がある。
【0123】また、記録時の不具合からの復旧のみを行
うのであれば、経過ログブロックのリンクをFATおよ
びディレクトィリに登録する必要はない。この場合、図
10のフローチャートに従った復旧処理のみが実現でき
る。
【0124】
【発明の効果】以上の説明から明らかなように、上記フ
ァイル管理方法によれば、容易に復旧箇所の特定ができ
るとともにログ領域とデータ領域内の経過ログによりデ
ィレクトリやFATを用いずにファイルアクセスが可能
であり、書き込み途中であったデータの復旧も可能とな
る。
【0125】また、経過ログはファイルデータと同時に
書き込みを行うため、ログ記録によるアクセス速度の低
下は、最小限に抑えられる。
【図面の簡単な説明】
【図1】 本発明の一実施例の概略構成ブロック図
【図2】 記憶メディア14の構成を示す概念図
【図3】 ログ領域102の構成を示す図
【図4】 本発明の一実施例におけるファイルの構成図
【図5】 アロケーションブロック300の構成を示す
【図6】 ファイルオープンフェーズのフローチャート
【図7】 ファイルライトフェーズのフローチャート
【図8】 ファイルクローズフェーズのフローチャート
【図9】 本発明のファイルアクセス手順を示す図
【図10】 ファイル復旧時のフローチャート
【図11】 FATの記録内容を説明する図
フロントページの続き Fターム(参考) 5B065 BA01 CC01 EA21 EA25 ZA15 5B082 DC02 5D044 AB02 BC01 BC04 BC06 CC04 DE48 DE54 DE57 DE91 GK12 5D110 AA13 AA17 AA19 AA29 BB01 DA01 DA09 DA12 DB03 DD13 DF05

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータブロックをファイルとして
    管理するファイル管理方法において、 前記ファイルの操作状態を書き込むログ領域と、前記各
    データブロック内に配されると共にブロック間のリンク
    情報と当該ブロックの開始アドレスとを含む経過ログを
    書き込む経過ログとを配し、 前記ログ領域に書き込まれた操作状態情報に基づいて前
    記ファイルの障害状態を判別すると共に、前記リンク情
    報によって各データブロックの経過ログを参照して、当
    該ファイルの復元を行う、 ことを特徴とするファイル管理方法。
  2. 【請求項2】 請求項1において、前記経過ログは、前
    記データブロック内のファイルデータと対応しており、
    かつ、前記ファイルデータと連続した領域に配されるこ
    とを特徴とするファイル管理方法。
  3. 【請求項3】 請求項1または2において、前記ログ領
    域には、ファイルが適正にクローズされたか否かを示す
    フラグ情報がファイル毎に書き込まれることを特徴とす
    るファイル管理方法。
  4. 【請求項4】 複数のデータブロックからなるデータ領
    域と、各データブロックの開始アドレスやデータブロッ
    ク間のリンク情報を含む管理情報を記憶するシステム領
    域とを有し、前記リンク情報によって前記データブロッ
    クをリンクすることによって1つのデータファイルを構
    成するファイルシステムを管理するファイル管理方法に
    おいて、 前記ファイルの操作状態に関する情報を書き込むログフ
    ァイルと、前記各データブロック内に配されると共に当
    該ブロックの管理情報を含む経過ログを書き込むための
    経過ログ領域とを新たに割り当て、さらに、前記経過ロ
    グには同一ファイル中に存在する経過ログをリンクさせ
    るためのリンク情報を含めておき、 前記ログファイルを参照して当該ファイルの障害状態を
    判別し、 当該ファイルに障害があると判断した場合には、前記経
    過ログファイルのリンク情報に基づいて当該ファイルの
    経過ログを順番に辿り各データブロックの管理情報を取
    得し、 当該取得した管理情報によって前記システム領域の管理
    情報を復旧する、ことを特徴とするファイル管理方法。
  5. 【請求項5】 請求項4において、前記ログファイルの
    操作状態情報は、前記システム領域に対し前記管理情報
    が適正に書き込み若しくは更新されたかを示す識別情報
    が含まれる、ことを特徴とするファイル管理方法。
  6. 【請求項6】 請求項4または5において、前記ログフ
    ァイルは、ファイルデータを媒体に記憶する際に作成さ
    れて媒体に書き込まれると共に、ファイルデータの記憶
    が終了し、且つ、前記システム領域に当該ファイルの管
    理情報が書き込まれた後に、前記媒体から消去されるこ
    とを特徴とするファイル管理方法。
  7. 【請求項7】 請求項6において、前記識別情報は、前
    記媒体に対するファイルデータの記憶が完了したことを
    示す第1の状態と、当該記憶の完了後、当該ファイルの
    管理情報が前記システム領域に書き込まれたことを示す
    第2の状態とを表示することを特徴とするファイル管理
    方法。
JP2002090794A 2002-03-28 2002-03-28 ファイル管理方法 Pending JP2003288250A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002090794A JP2003288250A (ja) 2002-03-28 2002-03-28 ファイル管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002090794A JP2003288250A (ja) 2002-03-28 2002-03-28 ファイル管理方法

Publications (1)

Publication Number Publication Date
JP2003288250A true JP2003288250A (ja) 2003-10-10

Family

ID=29236046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002090794A Pending JP2003288250A (ja) 2002-03-28 2002-03-28 ファイル管理方法

Country Status (1)

Country Link
JP (1) JP2003288250A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244410A (ja) * 2005-03-07 2006-09-14 Toshiba Corp 医用機器における監査ログ管理システム
KR100678926B1 (ko) 2006-01-05 2007-02-06 삼성전자주식회사 로그 정보 관리 시스템 및 방법
JP2012243385A (ja) * 2011-05-23 2012-12-10 Hgst Netherlands B V 直列のアドレス間接参照メタデータ記憶を備えた記憶装置
JP2014530393A (ja) * 2011-09-12 2014-11-17 マイクロソフト コーポレーション 不揮発性媒体のダーティー領域追跡
CN111400267A (zh) * 2019-11-19 2020-07-10 杭州海康威视系统技术有限公司 记录日志的方法和装置
CN112166427A (zh) * 2018-05-30 2021-01-01 日本电信电话株式会社 保护装置及保护方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006244410A (ja) * 2005-03-07 2006-09-14 Toshiba Corp 医用機器における監査ログ管理システム
KR100678926B1 (ko) 2006-01-05 2007-02-06 삼성전자주식회사 로그 정보 관리 시스템 및 방법
JP2012243385A (ja) * 2011-05-23 2012-12-10 Hgst Netherlands B V 直列のアドレス間接参照メタデータ記憶を備えた記憶装置
JP2014530393A (ja) * 2011-09-12 2014-11-17 マイクロソフト コーポレーション 不揮発性媒体のダーティー領域追跡
CN112166427A (zh) * 2018-05-30 2021-01-01 日本电信电话株式会社 保护装置及保护方法
CN111400267A (zh) * 2019-11-19 2020-07-10 杭州海康威视系统技术有限公司 记录日志的方法和装置
CN111400267B (zh) * 2019-11-19 2023-09-01 杭州海康威视系统技术有限公司 记录日志的方法和装置

Similar Documents

Publication Publication Date Title
Gait The optical file cabinet: a random-access file system for write-once optical disks
US8255371B2 (en) Methods and apparatuses for data protection
US8296265B2 (en) Method and apparatus for synchronizing applications for data recovery using storage based journaling
US8738845B2 (en) Transaction-safe fat file system improvements
JP4206688B2 (ja) データ処理装置及びデータ処理方法
JP4550541B2 (ja) ストレージシステム
EP1744246B1 (en) File system having deferred verification of data integrity
US20100049754A1 (en) Storage system and data management method
EP1744247B1 (en) Optimized startup verification of file system integrity
CZ9701859A3 (cs) Ukládání počítačových dat
CA2549917A1 (en) File system storing transaction records in a storage media
JP2003196142A (ja) ライトワンス型メモリ装置及びファイル管理方法
US6922759B1 (en) Method, system and apparatus for playing songs directly from a hard drive
JP2007233638A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
KR20010037155A (ko) 플래시 파일 시스템
JP2005346564A (ja) ディスク装置及びディスク装置の制御方法並びに改竄検出方法
CN113419897B (zh) 一种文件处理方法、装置、电子设备及其存储介质
JP2003288250A (ja) ファイル管理方法
JP2007128448A (ja) ファイルシステム及びファイル情報処理方法
JP2006031446A (ja) データ記憶装置、データ記憶方法およびデータ記憶プログラム
JP4127461B2 (ja) ディスク共用ファイルシステムにおけるバックアップシステムおよび方法
JP3797864B2 (ja) オペレーティングシステムとの関連でデータを回復および再生する方法、ソフトウェア、および装置
JP3957464B2 (ja) データ更新装置
JP2006040065A (ja) データ記憶装置およびデータ記憶方法
US7401191B1 (en) System and method for performing disk write operations by writing to a data depot prior to an in-place write