説明

情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

【課題】ファイルシステム情報などの記録エラーを最小限としたデータ記録処理を実現する装置、方法を提供する。
【解決手段】情報記録媒体に対する情報書き込みモードとして、(a)ファイルシステム情報の優先記録処理を実行しない通常書き込みモードと、(b)ファイルシステム情報の優先記録処理を実行する即時書き込みモードと、これら(a)(b)の2つのモードを、予め設定された条件に従って切り替え、ファイルシステム情報の逐次記録処理を実行する。例えば、通常書き込みモード開始からのデータ記録命令回数カウント値、または、通常書き込みモード開始からの経過時間を計測するタイマ値の少なくともいずれかの値に基づいてモード変更を実行してファイルシステム情報の逐次記録処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、ハードディスクなどの情報記録媒体に対するファイルシステム情報の記録処理を、より確実に実行し、例えば電源遮断時などにおける記録エラーを最小限にすることを可能とする情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【0002】
例えばデジタルビデオカメラやその他の情報処理機器において、ハードディスクなどのメディア(情報記録媒体)に対して情報記録を行なう場合、記録データファイルの管理情報、例えばFAT(File Allocation Table)やディレクトリエントリなどのファイルシステム情報についても書き込み、更新処理を行なうことが必要となる。
【0003】
FATには、例えばFAT16、FAT32などがある。これらのファイルシステムは、メディア(情報記録媒体)に対して記録されるデータファイル各々についての記録位置情報、記録位置連鎖情報等を管理する。なお、FATの利用構成については、例えば特許文献1に記載されている。ディレクトリエントリは、情報記録媒体に記録される各ファイルの名前(ファイル名)、作成日時、アクセスに適用するための先頭クラスタ番号情報など、ファイルの属性情報である。
【0004】
昨今、ハードディスクの小型化により、デジタルビデオカメラやその他の情報処理機器において、ハードディスクをデータの記録手段としているものが多くなっているが、例えば機器の落下が発生すると、ハードディスクのヘッドや磁気ディスクが損傷しデータの読み出しが不可能になる。このような事態を防止するため、一般にハードディスクを搭載した携帯機器は、加速度センサなどの落下検出部を備え、落下を検出した場合、ハードディスクに対する電源遮断を行いヘッドを退避状態に設定する構成としている。
【0005】
この処理によって、ハードディスクの損傷は防止され、データの読み出しが不可能になるといった事態を回避することができる。しかし、このような電源遮断処理は緊急処理として実行され、データの記録時に行なわれると、情報記録媒体に対するデータ記録エラーが発生することがある。このような書き込みエラーに対して、実データに対する対応策はいくつか提案されているが、FAT情報やディレクトリエントリなどのファイルシステム情報についての書き込みエラーに対する対策は十分でないというのが現状である。
【特許文献1】特開2005−141335号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、上述の問題点に鑑みてなされたものであり、例えばハードディスクなどの情報記録媒体に対するファイルシステム情報の記録処理を、より確実に実行し、例えば電源遮断時などにおける記録エラーを最小限にすることを可能とした情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の第1の側面は、
情報処理装置であり、
情報記録媒体に対する情報記録、および記録情報の格納ファイルに対応するファイルシステム情報の記録制御を実行する記録制御部を有し、
前記記録制御部は、
情報記録媒体に対する情報書き込みモードとして、
(a)ファイルシステム情報の優先記録処理を実行しない通常書き込みモードと、
(b)ファイルシステム情報の優先記録処理を実行する即時書き込みモードと、
これら(a)(b)の2つのモードを、予め設定された条件に従って切り替え、ファイルシステム情報の逐次記録処理を実行する構成を有することを特徴とする情報処理装置にある。
【0008】
さらに、本発明の情報処理装置の一実施態様において、前記記録制御部は、通常書き込みモード開始からのデータ記録命令回数カウント値、または、通常書き込みモード開始からの経過時間を計測するタイマ値の少なくともいずれかの値に基づいて、通常書き込みモードから即時書き込みモードへのモード変更を実行してファイルシステム情報の逐次記録処理を実行する構成を有することを特徴とする。
【0009】
さらに、本発明の情報処理装置の一実施態様において、前記記録制御部は、情報記録媒体に対する記録情報の種類に応じて設定された異なる閾値と、前記カウント値、または、前記タイマ値の少なくともいずれかの値との比較を実行して、該比較結果に応じて、通常書き込みモードから即時書き込みモードへのモード変更を実行する構成を有することを特徴とする。
【0010】
さらに、本発明の情報処理装置の一実施態様において、前記記録制御部は、前記即時書き込みモードにおいて、ファイルシステム情報の情報記録媒体に対する書き込み処理制御を実行するとともに、情報記録媒体駆動部内のキャッシュ格納情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を実行する構成であることを特徴とする。
【0011】
さらに、本発明の情報処理装置の一実施態様において、前記記録制御部は、前記即時書き込みモードにおけるファイルシステム情報の情報記録媒体に対する書き込み処理、および前記キャッシュフラッシュ処理の完了後、通常書き込みモードへのモード変更処理を実行する構成であることを特徴とする。
【0012】
さらに、本発明の情報処理装置の一実施態様において、前記記録制御部は、前記即時書き込みモードにおいて、ファイルアロケーションテーブルおよびディレクトリエントリを含むファイルシステム情報の情報記録媒体に対する書き込み処理を実行する構成であることを特徴とする。
【0013】
さらに、本発明の情報処理装置の一実施態様において、前記記録制御部は、情報記録媒体に対する書き込みの完了したファイルサイズ情報を保持し、情報書き込み処理中断発生後の情報書き込み再開時に、前記中断発生前の最後の即時書き込みモードの完了時における前記ファイルサイズ情報に基づいて、ファイルシークを実行し、情報書き込み位置の連続性を保持する制御を実行する構成であることを特徴とする。
【0014】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、情報記録媒体に対する記録データを一時的に格納するバッファを有し、前記情報記録媒体に対する情報記録処理の実行命令を出力するアプリケーション実行部は、前記バッファ格納データに対応するポインタとして、前記即時書き込みモードの完了時における記録処理完了データ位置を示すポインタを保持し、情報書き込み処理中断発生後の情報書き込み再開時に、前記ポインタを書き込み開始位置とした処理を実行する構成であることを特徴とする。
【0015】
さらに、本発明の情報処理装置の一実施態様において、前記記録制御部は、管理情報の情報記録媒体に対する書き込み処理において、前記即時書き込みモードを適用した情報記録を実行する構成であることを特徴とする。
【0016】
さらに、本発明の情報処理装置の一実施態様において、前記記録制御部は、情報記録ファイルのオープン時に即時書き込みモードの設定処理において実行し、ファイルクローズ処理の実行時に、情報記録媒体駆動部内のキャッシュ格納情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を実行する構成であることを特徴とする。
【0017】
さらに、本発明の情報処理装置の一実施態様において、前記記録制御部は、情報記録ファイルのオープン時に即時書き込みモードの設定処理において実行するとともに、情報記録媒体駆動部内のキャッシュ使用を禁止する設定を実行し、情報記録に際して、前記キャッシュを使用しない情報書き込み処理を実行する制御を行う構成であることを特徴とする。
【0018】
さらに、本発明の第2の側面は、
情報処理方法であり、
情報記録媒体に対する情報記録、および記録情報の格納ファイルに対応するファイルシステム情報の記録制御を実行する記録制御ステップを有し、
前記記録制御ステップは、
情報記録媒体に対する情報書き込みモードとして、
(a)ファイルシステム情報の優先記録処理を実行しない通常書き込みモードと、
(b)ファイルシステム情報の優先記録処理を実行する即時書き込みモードと、
これら(a)(b)の2つのモードを、予め設定された条件に従って切り替え、ファイルシステム情報の逐次記録処理を実行するステップであることを特徴とする情報処理方法にある。
【0019】
さらに、本発明の情報処理方法の一実施態様において、前記記録制御ステップは、通常書き込みモード開始からのデータ記録命令回数カウント値、または、通常書き込みモード開始からの経過時間を計測するタイマ値の少なくともいずれかの値に基づいて、通常書き込みモードから即時書き込みモードへのモード変更を実行してファイルシステム情報の逐次記録処理を実行するステップを含むことを特徴とする。
【0020】
さらに、本発明の情報処理方法の一実施態様において、前記記録制御ステップは、情報記録媒体に対する記録情報の種類に応じて設定された異なる閾値と、前記カウント値、または、前記タイマ値の少なくともいずれかの値との比較を実行して、該比較結果に応じて、通常書き込みモードから即時書き込みモードへのモード変更を実行するステップを含むことを特徴とする。
【0021】
さらに、本発明の情報処理方法の一実施態様において、前記記録制御ステップは、前記即時書き込みモードにおいて、ファイルシステム情報の情報記録媒体に対する書き込み処理制御を実行するとともに、情報記録媒体駆動部内のキャッシュ格納情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を実行するステップを含むことを特徴とする。
【0022】
さらに、本発明の情報処理方法の一実施態様において、前記記録制御ステップは、前記即時書き込みモードにおけるファイルシステム情報の情報記録媒体に対する書き込み処理、および前記キャッシュフラッシュ処理の完了後、通常書き込みモードへのモード変更処理を実行するステップを含むことを特徴とする。
【0023】
さらに、本発明の情報処理方法の一実施態様において、前記記録制御ステップは、前記即時書き込みモードにおいて、ファイルアロケーションテーブルおよびディレクトリエントリを含むファイルシステム情報の情報記録媒体に対する書き込み処理を実行するステップを含むことを特徴とする。
【0024】
さらに、本発明の情報処理方法の一実施態様において、前記記録制御ステップは、情報記録媒体に対する書き込みの完了したファイルサイズ情報を保持し、情報書き込み処理中断発生後の情報書き込み再開時に、前記中断発生前の最後の即時書き込みモードの完了時における前記ファイルサイズ情報に基づいて、ファイルシークを実行し、情報書き込み位置の連続性を保持する制御を実行するステップを含むことを特徴とする。
【0025】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、情報記録媒体に対する記録データを一時的に格納するバッファに対応するポインタとして、前記即時書き込みモードの完了時における記録処理完了データ位置を示すポインタを保持するステップと、情報書き込み処理中断発生後の情報書き込み再開時に、前記ポインタを書き込み開始位置とした処理を実行するステップと、を有することを特徴とする。
【0026】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、管理情報の情報記録媒体に対する書き込み処理において、前記即時書き込みモードを適用した情報記録を実行するステップを有することを特徴とする。
【0027】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、情報記録ファイルのオープン時に即時書き込みモードの設定処理において実行し、ファイルクローズ処理の実行時に、情報記録媒体駆動部内のキャッシュ格納情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を実行するステップを有することを特徴とする。
【0028】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、情報記録ファイルのオープン時に即時書き込みモードの設定処理において実行するとともに、情報記録媒体駆動部内のキャッシュ使用を禁止する設定を実行し、情報記録に際して、前記キャッシュを使用しない情報書き込み処理を実行するステップを有することを特徴とする。
【0029】
さらに、本発明の第3の側面は、
情報処理装置において情報記録処理制御を実行させるコンピュータ・プログラムであり、
情報記録媒体に対する情報記録、および記録情報の格納ファイルに対応するファイルシステム情報の記録制御を実行する記録制御ステップを有し、
前記記録制御ステップは、
情報記録媒体に対する情報書き込みモードとして、
(a)ファイルシステム情報の優先記録処理を実行しない通常書き込みモードと、
(b)ファイルシステム情報の優先記録処理を実行する即時書き込みモードと、
これら(a)(b)の2つのモードを、予め設定された条件に従って切り替え、ファイルシステム情報の逐次記録処理を実行するステップとして設定されていることを特徴とするコンピュータ・プログラムにある。
【0030】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0031】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【0032】
本発明の一実施例構成によれば、情報記録媒体に対する情報書き込みモードとして、
(a)ファイルシステム情報の優先記録処理を実行しない通常書き込みモードと、
(b)ファイルシステム情報の優先記録処理を実行する即時書き込みモードと、
これら(a)(b)の2つのモードを、予め設定された条件に従って切り替え、ファイルシステム情報の逐次記録処理を実行する構成とした。例えば、通常書き込みモード開始からのデータ記録命令回数カウント値、または、通常書き込みモード開始からの経過時間を計測するタイマ値の少なくともいずれかの値に基づいて、通常書き込みモードから即時書き込みモードへのモード変更を実行してファイルシステム情報の逐次記録処理を実行する。本構成によれば、例えば、装置の落下などに基づく電源遮断の発生時などにおいても、FATやディレクトリエントリなどのファイルシステム情報が全く書き込まれていないといった事態を防ぐことが可能となり、記録エラーを最小限としたデータ記録処理を実現することができる。
【発明を実施するための最良の形態】
【0033】
以下、図面を参照しながら、本発明の情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。説明は、以下の各項目に従って行なう。
1.ファイルシステムの概要
2.情報処理装置のシステム構成
3.情報処理装置の情報記録処理の詳細
(3.1)一般的な従来型の情報記録処理
(3.2)本発明の情報処理装置における情報記録処理
4.情報処理装置の構成例
【0034】
[1.ファイルシステムの概要]
前述したように、例えばデジタルビデオカメラやPC、その他の情報処理機器において、ハードディスクなどのメディア(情報記録媒体)に対して情報記録を行なう場合、記録データファイルの管理情報、例えばFAT(File Allocation Table)を適用した処理が行なわれる。FATには、例えばFAT16、FAT32などがあり、これらのファイルシステムは、メディア(情報記録媒体)に対して記録されるデータファイル各々についての記録位置情報、記録位置連鎖情報等を管理する。なお、FAT16/32の詳細については、例えば、「Microsoft Extensible Firmware Initiative FAT32 File System Specification」などに説明がある。
【0035】
図1を参照して、ハードディスクにパーティションを1つ設け、FAT16およびFAT32でフォーマットした場合のデータ構造について説明する。図1(a)がFAT16、(b)がFAT32によるフォーマットを示している。
【0036】
FAT16のデータ構造は、図1(a)に示すように、先頭セクタ(LBA=0)から順に、マスターブートレコード(MBR)、パーティションブートレコード(PBR)に続き、ファイルアロケーションテーブル1(FAT1)と、ファイルアロケーションテーブル2(FAT2)が記録され、さらにルートディレクトリエントリに続いて、データ領域としてのクラスタが複数設定される。
【0037】
FAT32のデータ構造は、図1(b)に示すように、先頭セクタ(LBA=0)から順に、マスターブートレコード(MBR)、パーティションブートレコード(PBR)、ファイルシステム情報(FSinfo)に続いて、ファイルアロケーションテーブル1(FAT1)と、ファイルアロケーションテーブル2(FAT2)が記録され、その後、データ領域としてのクラスタが複数設定される。
【0038】
マスターブートレコード(MBR)は、図2(a)に示すように、起動情報と、パーティション情報、すなわち、各パーティションの開始アドレスとサイズ情報を含むパーティションテーブルを保持している。なお、図1に示すFAT16,FAT32のデータ構造では、パーティションを1つのみとした例を示しているが、ハードディスクなどの記録媒体を複数のパーティションに区切って管理することが可能であり、この場合には、図2に示すように、複数のパーティションの各パーティションの開始アドレスとサイズ情報が含まれるパーティションテーブルが設定される。
【0039】
起動時においては、まず、MBRの起動コード領域から起動コード(プログラム)が読み出される。この読み出されたMBRの起動コードは、図2(a)に示す起動コードの直後に形成されるパーティションテーブル領域のパーティションテーブルを参照し、目的とするパーティションのブートセクタの情報を読み出し、このブートセクタのコード(プログラム)によって、OS(Operating System)が起動される。
【0040】
パーティションテーブルは複数個(例えば4個)設けることができるようにされる。各パーティションテーブルは、上述したように、例えばハードディスクの記録領域を分割して形成される各パーティション領域の位置(開始アドレス)と大きさ(パーティションサイズ)を示す情報を保持する。なお、パーティションテーブル領域に続く2バイト(0E,0F)には、パーティションテーブルに対する署名が付与される。
【0041】
16バイト(128ビット)データ長のパーティションテーブルのデータ構造を図2(b)に示す。0バイト目から7バイト目までの8バイト分のエリアがCHS方式でアドレスを指定する場合に用いる情報の格納エリアであり、8バイト目から15バイト目までの8バイト分のエリアがLBA方式でアドレスを指定する場合に用いる情報の格納エリアである。
【0042】
CHS方式は、シリンダ(Cylinder)、ヘッド(Head)、セクタ(Sector)の3つのパラメータを1組として用いて、記録媒体(ハードディスク)上のアドレス(位置)を指定するようにするものである。また、LBA方式は、ハードディスクの記録領域上のアクセス可能な単位ブロック(例えば、1セクタ単位)それぞれについて、例えば0番から順番に数字(ブロックアドレス(論理アドレス))を割り当てておき、その数字を指定することにより、ハードディスクの記録領域上のアドレス(位置)を指定するようにするものである。
【0043】
図2(b)に示すように、CHS方式でアクセスする場合に用いる情報の格納エリアは、0バイト目がアクティブフラグ情報(以下、単にフラグ情報という。)の格納エリア、1バイト目から3バイト目までの3バイト分がCHS方式でアクセスする場合に用いる開始セクタ情報の格納アリア、4バイト目がパーティションタイプ情報(以下、単にタイプ情報という。)の格納エリア、5バイト目から7バイト目までの3バイト分がCHS方式でアクセスする場合に用いる終了セクタ情報の格納エリアである。
【0044】
また、図2(b)に示すように、LBA方式でアクセスする場合に用いる情報の格納エリアは、8バイト目から11バイト目までの4バイト分がLBA方式で用いられる開始セクタ情報の格納エリア、12バイト目から15バイト目までの4バイト分がLBA方式で用いられるパーティションサイズの格納エリアである。
【0045】
なお、CHS方式は、ハードディスクの物理的構造をそのまま流用しており、シリンダ、ヘッド、セクタというアドレス指定のためのパラメータが3つあることから、ソフトウェア的な処理が複雑になってしまう。これに対し、LBA方式の場合には、ブロックアドレスという単一のパラメータで指定するので、アクセス時のアドレス指定が極めて簡単である。このため、ハードディスクにおけるアドレス指定方式としてはLBA方式が主流になっており、その他の記録媒体、例えば、いわゆるリムーバブルメディアとして広く用いられるようになってきている種々のメモリーカードなどにおいても、LBA方式でアドレス指定ができるものが多くなってきている。なお、本発明の情報処理装置において適用する方式は、CHS方式、LBA方式いずれでもよい。
【0046】
情報記録媒体に記録される各ファイルには、ファイル名や記録日時などの管理情報が設定される。図3に各パーティションに設けられるディレクトリに格納される情報であって、ファイル毎に形成されるディレクトリエントリの情報構造を示す。このディレクトリエントリは、パーティション内にファイルが形成された場合に、その形成されたファイルに応じてディレクトリに形成される情報であり、形成されたファイルの詳細情報を管理するものである。
【0047】
各ファイルのディレクトリエントリは、図3に示すように、名前(ファイル名)欄、拡張名欄、属性欄、予約欄、作成時刻欄、作成日欄、最終アクセス日付欄、先頭クラスタ番号の指示情報(High)欄、記録時刻欄、記録日付欄、先頭クラスタ番号の指示情報(Low)欄、ファイルサイズ欄を備え、それぞれ対応する情報、すなわち、ファイル名、拡張名、属性、作成時刻、作成日、最終アクセス日付、先頭クラスタ番号(High)、記録時刻、記録日付、先頭クラスタ番号(Low)、ファイルサイズを管理する。このディレクトリエントリの情報を用いることにより、ファイル名によって特定されるファイルは、(1)どのような属性のものであり、(2)開始クラスタはどこで、(3)どの位の大きさのファイルであり、(4)いつ作成され、(5)最終アクセスはいつで、(6)データの記録はいつ行われたか等について管理することができる。
【0048】
開始クラスタ番号は、ファイルのデータ記録が開始されたパーティションのデータ領域のクラスタ単位の記憶領域を特定する情報である。換言すれば、開始クラスタ番号は、当該パーティションのデータ領域をクラスタ単位に分割した各記憶領域の内の何番目の記憶領域から当該ファイルのデータの記録が行われたかを示している。そして、この例の場合には、図3に示すように、先頭クラスタ番号は、上位側(high側)の2バイトと、下位側(Low側)の2バイトとに分けて管理される。
【0049】
クラスタは、図1に示すように、データ領域に含まれ、FATにおけるデータを管理できる最小単位であり、複数のセクタをまとめた、1ファイル当たりの最小記録単位を意味する。1クラスタは、セクタ(ハードディスクの場合、セクタサイズ=512バイト)をn個(n=1,2,4,・・・64,128)集めた構成になる。ハードディスクの最小単位であるセクタは、ファイルを管理するための単位としては小さすぎるので、複数のセクタをまとめたクラスタという単位領域を用いることによって、ファイルの管理が容易となるようにしている。クラスタの具体的な大きさは、例えば、FAT16の場合には32キロバイト、FAT32の場合には4キロバイトである。
【0050】
図1に示すFATのデータ構造には、図2を参照して説明したマスターブートレコード(MBR)に続いて、パーティションに対応する起動コードを含むパーティションブートレコード(PBR)が設定され、その後、ファイルアロケーションテーブル1(FAT1)と、ファイルアロケーションテーブル2(FAT2)が格納される。ファイルアロケーションテーブル2(FAT2)は、ファイルアロケーションテーブル1(FAT1)の予備データとして利用される。
【0051】
一般的なファイルアロケーションテーブル(FAT)のデータ構成例について、図4を参照して説明する。ファイルアロケーションテーブル(FAT)は、メディア(情報記録媒体)に対して記録されるデータファイル各々についての記録位置情報、記録位置連鎖情報を管理するテーブルである。
【0052】
前述したように、各データファイルの構成データは、1つ以上のクラスタに分散されて情報記録媒体に記録される。ファイルアロケーションテーブル(FAT)は、各ファイルの構成データを格納したクラスタのクラスタ番号の連鎖情報を格納している。
【0053】
図4に示すFATは、2つに分割して示してある。2重線で示す項目は、インデックスであり、データエントリとして、
[00000000h]〜[0000000Fh]
[00000010h]〜[0000001Fh]
[00000020h]〜[0000002Fh]
[00000030h]〜[0000003Fh]
のクラスタ番号を示している。なお、図に示すテーブルでは[h]を省略しているが、上記[h]は前の8桁の0〜Fの数値で示されるクラスタ番号が16進数表記であることを示している。
【0054】
各ファイルの構成データを格納したクラスタ番号の位置に、ファイル構成データの次のデータを格納したクラスタ番号が記録され、最終クラスタ番号の位置にはEOF(エンドオブファイル)を示すコード[0FFFFFFFh]が記録される。先頭クラスタ番号は、図3を参照して説明した各ファイルのディレクトリエントリに記録されている。
【0055】
例えば、各ファイルのディレクトリエントリに記録された先頭クラスタ番号を、
第1ファイル:00000007h
第2ファイル:0000000Ah
第3ファイル:0000001Bh
第4ファイル:0000002Ch
とする。
【0056】
第1ファイルの先頭クラスタ番号は、[00000007h]であるので、まず、クラスタ番号[00000007h]のクラスタを読み取ることで、第1ファイルの最初のデータが取得できる。第1ファイルの次の構成データの記録されたクラスタ番号は、図4に示すFATのクラスタ番号[00000007h]の位置の記録情報に基づいて知ることができる。図4に示すFATのクラスタ番号[00000007h]の位置にはクラスタ番号[00000008h]が記録され、第1ファイルの次の構成データの記録されたクラスタ番号は[00000008h]であることが判明し、クラスタ番号[00000008h]のクラスタからデータを読み取ることができる。
【0057】
さらに、第1ファイルの次の構成データの記録されたクラスタ番号は、図4に示すFATのクラスタ番号[00000008h]の位置に記録されている。図4に示すFATのクラスタ番号[00000008h]の位置にはクラスタ番号[00000009h]が記録され、第1ファイルの次の構成データの記録されたクラスタ番号は[00000009h]であることが判明し、クラスタ番号[00000009h]のクラスタからデータを読み取ることができる。さらに、次の構成データの記録されたクラスタ番号を取得するため、FATのクラスタ番号[00000009h]の位置の記録情報を参照すると、EOF(エンドオブファイル)の対応コード[0FFFFFFFh]が記録されており、後続データはないことが判明する。
【0058】
結果として、第1ファイルは、
クラスタ番号:[00000007h]→[00000008h]→[00000009h]によって指定されるクラスタに格納されていることが判明する。
【0059】
同様に、
第2ファイルは、
クラスタ番号:[0000000Ah]→[0000001Fh]→[00000025h]→[00000031h]→[00000030h]
第3ファイルは、
クラスタ番号:[0000001Bh]→[00000011h]→[00000012h]→[00000013h]→[00000014h]→[00000003h]
第4ファイルは、
クラスタ番号:[0000002Ch]→[0000002Dh]→[0000002Eh]→[0000002Fh]→[00000038h]→[00000039h]→[0000003Ah]→[0000003Bh]
によって指定されるクラスタに格納されていることが判明し、これらのクラスタからデータを取得することが可能となる。
【0060】
なお、図4に示すFATは、FAT32に対応するデータ例である。FAT32では、EOF(エンドオブファイル)の対応コードは[0FFFFFFFh]であるが、FAT16では、EOF(エンドオブファイル)の対応コードは[FFFFh]である。このEOF(エンドオブファイル)の対応コードを検出することで、ファイル構成データが終了することを判別することができる。
【0061】
このように、情報記録媒体に記録される各ファイルは、
(a)ファイル名や作成日時、ファイルサイズなどを保持する「ディレクトリエントリ」
(b)クラスタの連鎖情報を保持する「FAT」
(c)クラスタ単位で記録されている「データ(ファイルの実体)」
の3要素を有し、これらがハードディスクなどの情報記録媒体上に記録され、「ディレクトリエントリ」と、「FAT」に基づいて、各ファイルの構成クラスタを識別して、データを読み取ることができる。
【0062】
[2.情報処理装置のシステム構成]
次に、上述した処理を実行する情報処理装置のシステム構成について説明する。上述した情報記録媒体に対するデータ記録および情報記録媒体からのデータ取得、再生処理は、例えばデジタルビデオカメラ、PCなどの情報処理装置のCPUによる所定のデータ処理プログラムの実行によって行なわれる。
【0063】
すなわち、図5に示すように、ハードディスク等の情報記録媒体104に対してデータを記録したり、記録媒体に記録されているデータを読み出して利用したりする場合には、ユーザとの窓口となるアプリケーションプログラム101の下層に情報記録媒体104上のファイルを管理するためのファイルシステム(ファイル管理プログラム)102とファイルシステムからの情報に基づいて情報記録媒体104を制御するデバイスドライバ103とが存在する。
【0064】
情報記録媒体104に対してデータを記録、または情報記録媒体104からデータを再生する場合には、ファイルシステム102、デバイスドライバ103の機能によりデータの書き込み、再生が実行される。従来と同様の処理によって、ファイルシステム⇔デバイスドライバ⇔記録媒体(ハードディスク)といった構成で処理は行なわれる。
【0065】
データ記録を行なう場合に、複数の異なるファイルを継続記録ファイルとして適用する場合は、ファイルシステムによって適用されるファイルアロケーションテーブル(FAT)に対する特殊コードの記録を行なう。また、データ再生を実行する場合に複数の異なるファイルを継続記録ファイルとして適用する場合は、FATからの特殊コードの検出を条件として、ファイルの切り替えを実行する。
【0066】
図5に示すシステム構成中のファイルシステムをさらに詳細に示した構成図を図6に示す。図6に示す構成は、図5と同様、情報記録媒体に対するデータ記録および情報記録媒体からのデータ取得、再生処理を実行する情報処理装置のシステム構成を示す図であり、ハードディスク等の情報記録媒体205に対してデータを記録したり、記録媒体に記録されているデータを読み出して利用する処理を実行する情報処理装置のシステム構成を示しており、ユーザとの窓口となるアプリケーションプログラム201の下層に情報記録媒体205上のファイルを管理するためのファイルシステム(ファイル管理プログラム)が設定される。ファイルシステムはファイルシステム(インタフェース)202と、ファイルシステム(コア)203とから構成される。
【0067】
ファイルシステム(コア)203は、ファイルシステム(インタフェース)202を介してアプリケーション201とのデータ、コマンド送受信を実行する。ファイルシステム(コア)203は、アプリケーション201やファイルシステム(インタフェース)202からの情報に基づいてデバイスドライバ204を制御して、情報記録媒体205に対するデータやファイルシステム情報の書き込み、更新、あるいは読み取り処理を実行する。
【0068】
アプリケーション201、ファイルシステム(インタフェース)202、ファイルシステム(コア)203、デバイスドライバ204は、各構成部の処理に必要なプログラムやパラメータの格納、データ処理におけるワーク領域としてメモリ341をアクセスして利用する。
【0069】
ファイルシステム(コア)203は、記録媒体の種別やフォーマット情報などを含むマウントドライブ情報311を保持し、ドライブ情報311に従って、データ記録、再生制御を実行する。ファイルシステム(コア)203は、データ記録再生制御を実行する記録再生制御部320と、メディア制御を実行するメディア制御部330を有する。
【0070】
記録再生制御部320は、ファイルアロケーションテーブル(FAT)の記録、参照処理を実行するFAT制御部321と、データ記録位置情報としてのクラスタの決定処理、クラスタ番号に基づく再生位置決定処理を実行するクラスタ制御部322と、ファイルに対応する情報を格納したディレクトリエントリ(図3参照)を生成、または参照する処理を実行するディレクトリエントリ制御部323を有する。ディレクトリエントリ制御部323は、アプリケーション201からの指示に基づいて特定のファイルに対応するディレクトリエントリを取得し、例えばファイル再生の場合は、ディレクトリエントリから先頭クラスタ番号を取得し、クラスタ制御部322に提供する。
【0071】
メディア制御部330は、位置算出部331を有し、クラスタ制御部322の決定するクラスタ情報やFATのクラスタ連鎖情報に基づいて、デバイスドライバ204を制御し、クラスタ番号によってデータ記録、またはデータ再生を実行するディスクの位置を決定し、決定した位置情報に従って、デバイスドライバ204を介してデータ記録、または当該ディスク位置からのデータ再生を実行する。
【0072】
[3.情報処理装置の情報記録処理の詳細]
次に、図6に示す構成において情報記録媒体に対するデータ記録処理を実行する際のシーケンスについて説明する。本発明の情報処理装置におけるデータ記録処理シーケンスについて説明する前に、まず、一般的な従来のデータ記録処理シーケンスについて、図7、図8を参照して説明する。その後、図9以下を参照して本発明の情報処理装置におけるデータ記録処理の詳細について説明する。
【0073】
(3.1)一般的な従来型の情報記録処理
図7、図8のシーケンス図は、左からアプリケーション201、ファイルシステム(インタフェース)202、ファイルシステム(コア)203、デバイスドライバ204を示し、各構成部間でのコマンドやデータなどの通知シーケンスを時系列に示してある。
【0074】
まず、データ記録を行なう場合は、ステップS101において、アプリケーション201から、ファイルシステム(インタフェース)202に対して、ファイルオープン指示が出力され、さらに、指示はファイルシステム(コア)203に伝達される。ファイルシステム(コア)203は、デバイスドライバ204を適用して空きクラスタの検索を行い、新規ファイルのためのディレクトリエントリ(DE)を作成する。ディレクトリエントリ(DE)は先に図3を参照して説明したように、ファイル名や先頭クラスタ番号などが記録される。
【0075】
これらの処理が終了すると処理完了通知がアプリケーション201まで通知され、ステップS102において、ファイルオープン処理が完了する。次に、アプリケーション201は、ステップS103において、設定されたファイルに対するデータ書き込み、すなわちファイルライト処理を開始する。ファイルライトについても、アプリケーション201から、ファイルシステム(インタフェース)202に対してファイルライト指示が出力され、さらに、指示はファイルシステム(コア)203に伝達される。ファイルシステム(コア)203は、デバイスドライバ204を適用して設定されたファイルに対するデータ書き込み、すなわちファイルライト処理を実行し、完了通知がアプリケーション201まで通知され、ステップS104において、1つのデータ書き込み単位についてのファイルライト処理が終了する。
【0076】
その後、継続してデータ書き込みが実行され、ファイルに対するデータ書き込みが終了すると、図8のステップS111において、アプリケーションはファイルクローズ処理を開始する。ファイルクローズ処理では、最後の実データ書き込みの完了後、ファイルシステム(コア)203の制御の下にステップS112において、FATの書き込み処理が実行される。FATは、先に図4、図5を参照して説明したようにファイルの構成データの書き込まれたクラスタ番号の連鎖情報が書き込まれたデータとして構成される。
【0077】
さらに、ステップS113において、ディレクトリエントリ(DE)の書き込みを実行する。これらは、データ書き込みの実行されたファイルに対応するFATデータおよびディレクトリエントリであり図3を参照して説明したファイルに対応する各種属性情報を持つディレクトリエントリの書き込み処理である。
【0078】
ステップS114において、これらの処理完了が、ファイルシステム(インタフェース)202を介してアプリケーション201に通知され、ファイルクローズ処理が完了する。
【0079】
図7、図8に示すシーケンス図から理解されるように設定されたファイルに対する実データの書き込み処理は、逐次的に、すなわち複数回の書き込み処理を繰り返して実行される。また、ファイルシステム情報としてのFATは、実データの複数回の書き込み毎に、例えば実データの一時的な格納領域として設定されるバッファに対する格納データの容量が予め定めた要領を超えたタイミング毎などに情報記録媒体に対して書き込みが実行される。さらに、ファイルシステム情報としてのディレクトリエントリ(DE)は、ファイルクローズ処理に際して、情報記録媒体に対する書き込みが実行される。
【0080】
情報記録媒体としてハードディスクを利用する場合などには、装置が落下していることを検出した場合などにおいて、ハードディスクのヘッドやディスクの損傷を防止するため、緊急措置として、ハードディスクに対する電源遮断を実行して、ヘッドを退避させることがある。
【0081】
図7、図8を参照して説明したデータ書き込みシーケンスの実行中に、例えば記録メディアであるハードディスクに対する電源遮断が行なわれると、情報記録媒体には、電源遮断前に書き込まれたある程度の実データを含むファイルが生成されるが、このファイルに対応するファイルシステム情報としてのFATや、ディレクトリエントリは、ファイルに含まれる実データを反映しない管理情報となってしまう場合がある。特に、ディレクトリエントリは、ファイルクローズ処理の実行時に情報記録媒体に対する書き込みを行なうシーケンスであるので、ディレクトリエントリが設定されていないファイルが生成されることになり、ファイルサイズや、先頭クラスタなどの情報が得られないという問題が発生することになる。
【0082】
FAT情報は、間欠的に情報記録媒体に対して記録されるが、ディレクトリエントリが情報を持たないため、結果として、FATに書き込まれたクラスタ連鎖情報は利用できず、FATに記録されたクラスタに対して書き込まれた実データは読み取りのできないクラスタ、いわゆる「みなしごクラスタ」として設定されてしまうことになる。すなわち、読み取りのできないデータが多数発生することになる。
【0083】
このような読み取りのできないデータの発生を防止するため、本発明の情報処理装置では、上述した図7、図8を参照して説明したデータ記録シーケンスとは異なるシーケンスでデータ記録処理を実行する。
【0084】
(3.2)本発明の情報処理装置における情報記録処理
以下、本発明の情報処理装置における情報記録処理の詳細について説明する。
本発明の情報処理装置においては、データ記録モードとして、
(a)通常書き込みモード
(b)即時書き込みモード
これらの2つのモードを設定し、ファイルシステム(インタフェース)202が、所定の条件を満たすごとに、ファイルシステム(コア)203を「即時書き込みモード」へ切り替える処理を実行する。通常書き込みモードは、図7、図8の処理シーケンスと同様の記録処理である。「即時書き込みモード」は、ファイルシステム情報の書き込みを実行するモードであり、通常書き込みモードから即時書き込みモードへの切り替えが発生すると、FAT情報およびディレクトリエントリの書き込みを実行する。
【0085】
ファイルシステム(コア)203は、「即時書き込みモード」へ切り替えられると、ファイルシステム情報の情報記録媒体への書き込み処理を実行する。すなわち、その時点で最新の情報を持つ更新されたFAT情報およびディレクトリエントリを情報記録媒体へ書き込む処理を実行する。
【0086】
さらに、「即時書き込みモード」において、ファイルシステム情報を情報記録媒体へ書き込み後、例えばHDDなどの情報記録媒体駆動部内に設定された内部キャッシュをフラッシュ、すなわち情報記録媒体に設定された内部キャッシュに記録された情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を行なうことにより、情報記録媒体(メディア)へのFATやディレクトリエントリ(DE)情報の確実な反映を行う。
【0087】
このように、本発明の情報処理装置では、ファイルシステム(インタフェース)202が、所定の条件を満たす度に、ファイルシステム(コア)203を「即時書き込みモード」へ切り替え、FATやディレクトリエントリ等のファイルシステム情報を逐次書き込む処理を実行する。
【0088】
所定の条件とは、例えば、
(a)通常書き込みモードでのデータ記録処理開始からアプリケーション201の発行する書き込み要求の回数をカウントしたカウンタ値が、予め定めた閾値カウンタ値以上となった場合、
(b)通常書き込みモードでのデータ記録処理開始からの経過時間が、予め定めた閾値時間以上となった場合、
これらの状態をファイルシステム(インタフェース)202が検出する。ファイルシステム(インタフェース)202が、上記(a)または(b)の状態になったことを検出した場合、ファイルシステム(コア)203を「即時書き込みモード」へ切り替え、FATやディレクトリエントリ等のファイルシステム情報を逐次書き込む処理を実行する。
【0089】
図9を参照して、本発明の情報処理装置において、通常書き込みモードから、即時書き込みモードへ切り替えを実行する条件の設定例について説明する。本発明の情報処理装置では、図9に示すように、記録データの種類に応じてモード切り替えに異なる閾値(カウンタ閾値、タイマ閾値)を適用する。
【0090】
図9には、2つの異なる閾値設定テーブル例を示している。図9(A)は、所定単位のデータ記録時間毎にモード切り替えを行なう場合の閾値設定例であり、図9(B)は、所定単位のデータ記録サイズ毎にモード切り替えを実行する場合の閾値設定テーブルである。通常書き込みモードから、即時書き込みモードへ切り替えを実行する条件は、このように様々な設定が可能である。
【0091】
例えば、所定単位のデータ記録時間毎にモード切り替えを行なう場合、図9(A)に示す閾値に従って通常書き込みモードから、即時書き込みモードへ切り替えを実行する。静止画記録処理においては、カウンタ閾値、タイマ閾値ともに0であり、静止画記録処理においては、常に即時書き込みモードでの処理を実行する。また、動画記録処理においては、記録動画のビットレートに応じて閾値が設定される。1Mbpsの動画記録処理においては、通常書き込みモードの開始時点からのカウンタ値が19以上となった場合、またはタイマ閾値として設定された8秒が経過した場合に、通常書き込みモードから即時書き込みモードに切り替えられる。
【0092】
即時書き込みモードにおいて、FATやディレクトリエントリなどのファイルシステム情報の情報記録媒体に対する書き込みが終了すると、再度、カウンタ値や、タイマ値がリセットされ、通常書き込みモードに復帰して、実データ等のデータ記録が実行され、通常書き込みモードの開始時点からのカウンタ値が19以上となった場合、またはタイマ閾値として設定された8秒が経過した場合に、通常書き込みモードから即時書き込みモードに切り替えられる。これらの処理が繰り返し実行される。
【0093】
ビットレートの高い動画記録の場合は、カウンタ閾値が大きく設定される。10Mbpsの動画記録処理においては、通常書き込みモードの開始時点からのカウンタ値が199以上となった場合、またはタイマ閾値として設定された8秒が経過した場合に、通常書き込みモードから即時書き込みモードに切り替えられる。これは、ビットレートが高い動画記録に際しては、アプリケーションからの書き込み要求が頻繁に実行されることになるからである。すなわち、所定単位のデータ記録時間毎にモード切り替えを行なう場合には、ビットレートの高い動画記録の場合は、カウンタ閾値を大きく設定して、予め定めた時間毎に確実に即時書き込み処理を実行してFATやディレクトリエントリを書き込む。
【0094】
タイマ閾値は、ビットレートに対して不変な設定としてある。本例では、基本的には、カウンタ値に基づく処理制御を実行し、データ記録要求がアプリケーション201から発生しない場合においても所定タイミング毎にファイルシステム情報の書き込みを行なう設定としている。また、動画データや静止画データ等の実データ以外の、管理情報ファイル(例えば、記録済みの各ファイルのインデックス情報などを保持)の記録に際しても、同様にFATやディレクトリエントリを書き込む処理が発生し、これらのファイル書き込み処理の場合は、静止画記録と同様、カウンタ閾値、タイマ閾値ともに0であり、静止画記録処理においては、常に即時書き込みモードでの処理を実行する。
【0095】
図9(B)に示す閾値設定テーブルは、所定単位のデータ記録サイズ毎にモード切り替えを実行する場合の閾値設定テーブルである。静止画記録処理の閾値設定と、管理情報ファイル(例えば、記録済みの各ファイルのインデックス情報などを保持)の記録におれる閾値設定は、図9(A)に示す閾値設定と同様、カウンタ閾値、タイマ閾値ともに0であり、常に即時書き込みモードでの処理を実行する。
【0096】
図9(B)に示す閾値設定例において、ビットレートの高い動画記録の場合は、カウンタ閾値が小さく設定される。図9(B)に示す閾値設定例では、所定単位のデータ記録サイズ毎に即時書き込み処理を実行する閾値設定であり、一定量のデータサイズの記録毎に即時書き込み処理を実行してFATやディレクトリエントリを書き込む設定である。ビットレートが低い動画記録では、記録データが予め定めた所定データサイズに達するまで、アプリケーションからの書き込み要求回数が多く必要となり、ビットレートが高い動画記録では、予め定めた所定データ量に達するまでのアプリケーションからの書き込み要求回数は少なくなる。図9(B)に示す閾値設定テーブルでは、所定単位のデータ記録サイズ毎にモード切り替えを実行する設定であり、ビットレートが高い場合にカウンタ閾値を小さくする設定としてある。
【0097】
なお、図9(B)に示す閾値設定例においても、図9(A)に示す設定と同様、タイマ閾値は、ビットレートに対して不変な設定とし、基本的にはカウンタ値に基づく処理制御を実行し、データ記録要求がアプリケーション201から発生しない場合においても所定タイミング毎にファイルシステム情報の書き込みを行なう設定としている。通常書き込みモードの開始時点からのカウンタ値が閾値以上となった場合、またはタイマ閾値として設定された8秒が経過した場合に、通常書き込みモードから即時書き込みモードに切り替えられる。
【0098】
即時書き込みモードにおいて、FATやディレクトリエントリなどのファイルシステム情報の情報記録媒体に対する書き込みが終了すると、再度、カウンタ値や、タイマ値がリセットされ、通常書き込みモードに復帰して、実データ等のデータ記録が実行され、通常書き込みモードの開始時点からのカウンタ値が閾値以上となった場合、またはタイマ閾値として設定された8秒が経過した場合に、通常書き込みモードから即時書き込みモードに切り替えられる。これらの処理が繰り返し実行される。
【0099】
このような処理によって、FATや、ディレクトリエントリの記録が逐次、実行されることになり、ハードディスクなどの情報記録媒体に対する電源が遮断され、データ記録が停止された場合でも、FATやディレクトリエントリ等のファイルシステム情報の書き込みエラーデータ量が削減され、先に説明したみなしごクラスタの発生を最小限にすることができる。
【0100】
本発明の情報処理装置におけるデータ記録シーケンスについて、まず、
(a)ファイルオープン時の処理
(b)カウンタのみに基づく記録モード切り替え処理
(c)カウンタおよびタイマを併用した記録モード切り替え処理
これらの処理の各々について、フローチャートを参照して説明する。
【0101】
まず、(a)ファイルオープン時の処理について、図10に示すフローチャートを参照して説明する。本発明の情報処理装置では、データ記録に際しての記録データの書き込みファイルをオープンする際、ファイルシステム(インタフェース)202は、図10に示す処理を実行する。まず、ステップS301において、現在の記録モードを参照する。記録モード情報は、ファイルシステム(インタフェース)202の参照可能なメモリに設定される。ファイルシステム(インタフェース)202は、モードの変更に際して、モードの変更に応じたモード情報をメモリに記録する。
【0102】
ステップS302において、ファイルシステム(インタフェース)202は、ファイルシステム(インタフェース)202の参照可能なカウンタのカウンタ値をリセットする。このカウンタは、前述したように、通常書き込みモードでのデータ記録処理開始からアプリケーション201の発行する書き込み要求の回数をカウントするカウンタである。
【0103】
ステップS303において、ファイルシステム(インタフェース)202は、通常書き込みモードをセットし、通常書き込みモードでのデータ記録処理を開始する。
【0104】
次に、図11を参照して、カウンタのみに基づく記録モード切り替え処理のシーケンスについて説明する。この処理は、図10に示すファイルオープンの後に実行される。まず、ステップS401において、ファイルシステム(インタフェース)202は、通常書き込みモードでデータ記録処理を開始後のアプリケーション201の発行する書き込み要求の回数をカウントする。
【0105】
ステップS402において、ファイルシステム(インタフェース)202は、カウンタのカウント値と、予め定めたカウンタ閾値を比較する。すなわち先に図9を参照して説明した閾値データである。これらの閾値テータは、ファイルシステム(インタフェース)202の参照可能なメモリに格納されている。
【0106】
ステップS402において、カウンタのカウント値が、予め定めたカウンタ閾値未満である場合は、ステップS411に進み、通常書き込みモードのまま、データ書き込み処理、すなわちファイルライトを実行する。
【0107】
ステップS402において、カウンタのカウント値が、予め定めたカウンタ閾値以上であると判定した場合は、ステップS403に進み、ファイルシステム(インタフェース)202は、ファイルシステム(コア)203を「即時書き込みモード」へ切り替え、ステップS404において、カウンタのカウント値をリセットし、ステップS405において、FATやディレクトリエントリ等のファイルシステム情報の書き込む処理としてのファイルライトをファイルシステム(コア)203に対して実行させる。
【0108】
次に、ステップS406において、ファイルシステム(インタフェース)202は、例えばHDDなどの情報記録媒体駆動部内に設定された内部キャッシュをフラッシュ、すなわち情報記録媒体に設定された内部キャッシュに記録された情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を行なう。この処理により、情報記録媒体(メディア)へのFATやディレクトリエントリ(DE)情報の確実な反映を行う。
【0109】
次に、ステップS406において、ファイルシステム(インタフェース)202は、書き込みモードを即時書き込みモードから通常書き込みモードへ復帰させる処理を実行する。ファイルシステム(インタフェース)202は、オープンしたファイルに対する書き込みデータが存在する限り、この図11に示す処理を繰り返し実行することになる。
【0110】
次に、図12に示す処理フローを参照して、カウンタのみならずタイマを適用した記録モード切り替え処理のシーケンスについて説明する。図12に示す処理フローにおいて、図11と同様の処理については同一のステップ番号を示している。この処理は、図10に示すファイルオープンの後に実行される。まず、ステップS401において、ファイルシステム(インタフェース)202は、通常書き込みモードでデータ記録処理を開始後のアプリケーション201の発行する書き込み要求の回数をカウントする。
【0111】
ステップS402において、ファイルシステム(インタフェース)202は、カウンタのカウント値と、予め定めたカウンタ閾値を比較する。すなわち先に図9を参照して説明した閾値データである。これらの閾値テータは、ファイルシステム(インタフェース)202の参照可能なメモリに格納されている。
【0112】
ステップS402において、カウンタのカウント値が、予め定めたカウンタ閾値未満である場合は、ステップS421に進み、ファイルシステム(インタフェース)202は、タイマ値を参照する。タイマは、通常書き込みモードでデータ記録処理を開始後の経過時間を計測するタイマである。さらに、ステップS422に進み、タイマ値と、予め定めたタイマ閾値とを比較する。すなわち先に図9を参照して説明した閾値データである。タイマ値が予め定めたタイマ閾値未満である場合は、ステップS411に進み、通常書き込みモードのまま、データ書き込み処理、すなわちファイルライトを実行する。
【0113】
ステップS402において、カウンタのカウント値が、予め定めたカウンタ閾値以上であると判定した場合、または、ステップS422において、タイマ値が、予め定めたタイマ閾値以上であると判定した場合は、ステップS403に進み、ファイルシステム(インタフェース)202は、ファイルシステム(コア)203を「即時書き込みモード」へ切り替え、ステップS404において、カウンタのカウント値をリセットし、ステップS405において、FATやディレクトリエントリ等のファイルシステム情報の書き込む処理としてのファイルライトをファイルシステム(コア)203に対して実行させる。
【0114】
次に、ステップS406において、ファイルシステム(インタフェース)202は、例えばHDDなどの情報記録媒体駆動部内に設定された内部キャッシュをフラッシュ、すなわち情報記録媒体に設定された内部キャッシュに記録された情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を行なう。この処理により、情報記録媒体(メディア)へのFATやディレクトリエントリ(DE)情報の確実な反映を行う。
【0115】
次に、ステップS406において、ファイルシステム(インタフェース)202は、書き込みモードを即時書き込みモードから通常書き込みモードへ復帰させる処理を実行する。ファイルシステム(インタフェース)202は、オープンしたファイルに対する書き込みデータが存在する限り、この図12に示す処理を繰り返し実行することになる。
【0116】
本発明における情報処理装置は、図11または図12、いずれかの処理フローに従ってデータ記録を実行する。本発明の情報処理装置において実行するデータ記録の全体的な処理シーケンスについて、図13〜図15を参照して説明する
【0117】
図13〜図15のシーケンス図は、左からアプリケーション201、ファイルシステム(インタフェース)202、ファイルシステム(コア)203、デバイスドライバ204を示し、各構成部間でのコマンドやデータなどの通知シーケンスを時系列に示してある。
【0118】
まず、データ記録を行なう場合は、ステップS501において、アプリケーション201から、ファイルシステム(インタフェース)202に対して、ファイルオープン指示が出力され、さらに、指示はファイルシステム(コア)203に伝達される。ファイルシステム(コア)203は、デバイスドライバ204を適用して空きクラスタの検索を行い、新規ファイルのためのディレクトリエントリ(DE)を作成する。ディレクトリエントリ(DE)は先に図3を参照して説明したように、ファイル名や先頭クラスタ番号などが記録される。
【0119】
これらの処理が終了すると処理完了通知がアプリケーション201まで通知され、ステップS502において、ファイルオープン処理が完了する。次に、アプリケーション201は、ステップS503において、設定されたファイルに対するデータ書き込み、すなわちファイルライト処理を開始する。ファイルライトについても、アプリケーション201から、ファイルシステム(インタフェース)202に対してファイルライト指示が出力され、さらに、指示はファイルシステム(コア)203に伝達される。ファイルシステム(コア)203は、デバイスドライバ204を適用して設定されたファイルに対するデータ書き込み、すなわちファイルライト処理を実行し、完了通知がアプリケーション201まで通知され、ステップS504において、1つのデータ書き込み単位についてのファイルライト処理が終了する。なお、この際、ファイルシステム(インタフェース)202はカウンタを1つインクリメントする。すなわち図11または図12の処理フローにおけるステップS401の処理を実行する。
【0120】
その後、継続してデータ書き込みが実行され、ステップS511において、ファイルシステム(インタフェース)202は、カウンタ値またはタイマ値に基づいて、書き込みモードの切り替え処理を実行する。このモード切り替えは、先に図11または図12を参照して説明したフローに従った閾値との比較判定処理を伴う処理である。この処理に際して、ファイルシステム(インタフェース)202はカウンタをクリアする。
【0121】
この即時書き込みモードの切り替えにおいて、ファイルシステム(インタフェース)202によって、ファイルシステム(コア)203は、「即時書き込みモード」へ切り替えられる。ファイルシステム(コア)203は、「即時書き込みモード」において、ステップS512において、実データの書き込み処理を行なった後、図14に示すステップS522およびステップS523においてファイルシステム情報の情報記録媒体への書き込み処理を実行する。すなわち、その時点で最新の情報を持つ更新されたFAT情報(S522)およびディレクトリエントリ(S523)を情報記録媒体へ書き込む処理を実行する。
【0122】
これらのファイルシステム情報の書き込み処理実行後、処理完了通知がファイルシステム(インタフェース)202に伝えられると、ファイルシステム(インタフェース)202は、ステップS524において、メディア内部キャッシュフラッシュ処理を実行する。すなわち情報記録媒体に設定された内部キャッシュに記録された情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を行なう。この処理により、情報記録媒体(メディア)へのFATやディレクトリエントリ(DE)情報の確実な反映を行うことができる。
【0123】
この処理の完了後に、ファイルシステム(インタフェース)202は、ステップS525において、即時書き込みモードから通常書き込みモードへのモード変更を実行し、さらに実データ書き込みを継続する。なおこのモード切り替え時には、カウンタおよびタイマのリセットが実行される。
【0124】
さらに、通常書き込みモードでのデータ書き込みが継続した後、図15に示すステップS526において、再度、カウンタ値またはタイマ値に基づいて、書き込みモードの切り替え処理を実行し即時書き込みモードへ切り替えを実行し、FATやディレクトリエントリの書き込み処理、およびメディアライブキャッシュフラッシュ処理を実行し、その後、通常書き込みモードへ復帰する。このように、本発明の情報処理装置では、通常書き込みモードと即時書き込みモードを交互に繰り返しながらデータ記録を進行させる。
【0125】
このような処理によって、FATや、ディレクトリエントリの記録が逐次、実行されることになり、ハードディスクなどの情報記録媒体に対する電源が遮断され、データ記録が停止された場合でも、FATやディレクトリエントリ等のファイルシステム情報の書き込みエラーデータ量が削減され、先に説明したみなしごクラスタ、すなわちファイルの構成データとして情報記録媒体に記録されているにも関わらず再生できないクラスタデータの発生を最小限にすることができる。
【0126】
本発明の情報処理装置は、例えばハードディスクなどの情報記録媒体に対する電源が遮断された場合のデータ記録エラーを最小限にする構成である。ハードディスクなどの情報記録媒体に対する電源の遮断処理シーケンスの一例について図16のフローチャートを参照して説明する。
【0127】
一般にハードディスクを搭載した携帯機器は、加速度センサなどの落下検出部を備え、落下を検出した場合、ハードディスクに対する電源遮断を行いヘッドを退避状態に設定する構成としている。この処理によって、ハードディスクの損傷は防止され、データの読み出しが不可能になるといった事態を回避することができる。このような処理を実行する情報処理装置は、例えば図16に示すフローに従った処理を実行する。まず、ステップS551において、加速度センサの検出値を取得し、ステップS552において、取得センサ値と予め落下判定閾値として保持した閾値とを比較し、取得センサ値が閾値以上であれ落下と判定された場合、ステップS553に進み、情報記録媒体駆動部(HDD)の電源を遮断する。電源遮断処理によって、即時パワーオフまたはスタンバイ状態を経由したパワーオフ処理がなされ、これらの処理過程で、ヘッドの退避処理が実行され、ヘッドとディスクの衝突を回避する。
【0128】
本発明の情報処理装置では、このような緊急的に実行される電源遮断が発生した場合でも、FATやディレクトリエントリなどのファイルシステム情報が一定の周期で情報記録媒体に記録され、記録データの読み取り不可能なみなしごクラスタを最小限にすることが可能となる。
【0129】
次に、電源遮断などによって、データ記録が中止された後、データ記録を再開する場合の処理シーケンスについて図17以下を参照して説明する。
【0130】
動画や静止画を記録するアプリケーション201は、図17に示すようなポインタを管理することによって、動画(または静止画)としてエンコードされたデータをバッファに蓄積している。図17は、記録予定のエンコードデータを格納したバッファの蓄積データを示している。
【0131】
ライトポインタは、エンコード結果と同期してインクリメントされるポインタであり、リードポインタ1は、ファイルライトと同期してインクリメントされるポインタである。リードポインタ2は、ファイルシステム(インタフェース)202において即時書き込みモードの実行によって情報記録媒体へのファイルシステム情報の書き込み、キャッシュフラッシュ処理が完了した位置を示すポインタである。例えば電源遮断などによるデータ記録の中断後、データ記録処理を再開する場合は、アプリケーション201は、このリードポインタ2が示す位置からファイルシステムへのライト指示をやり直す。
【0132】
また、ファイルシステム(インタフェース)202は、最新の即時書き込みモードの終了時において情報記録媒体に書き込み済みのファイルサイズ情報[X]を保持する。記録再開時に、ファイルシステム(インタフェース)202は、ファイルシステム(コア)203に対して、ファイルクローズ→ファイルオープン→Xの位置までファイルシーク、といった処理を指示することによって、記録再開の準備OKとする。この処理によって、即時書き込みモードの終了時までに情報記録媒体に書き込まれたデータと記録再開後に書き込まれるデータの連続性が保持される。
【0133】
図18、図19を参照して、電源遮断などによって、データ記録が中止された後、データ記録を再開する場合の処理シーケンスについて説明する。まず、データ記録処理の再開に際して、ステップS601において、アプリケーション201から、ファイルシステム(インタフェース)202に対して、ファイルオープン指示が出力され、さらに、指示はファイルシステム(コア)203に伝達される。ファイルシステム(コア)203は、デバイスドライバ204を適用して空きクラスタの検索を行い、新規ファイルのためのディレクトリエントリ(DE)を作成する。ディレクトリエントリ(DE)は先に図3を参照して説明したように、ファイル名や先頭クラスタ番号などが記録される。
【0134】
これらの処理が終了すると処理完了通知がアプリケーション201まで通知され、ステップS602において、ファイルオープン処理が完了する。次に、アプリケーション201は、ステップS603において、設定されたファイルに対するデータ書き込み、すなわちファイルライト処理を開始する。ファイルライトについても、アプリケーション201から、ファイルシステム(インタフェース)202に対してファイルライト指示が出力され、さらに、指示はファイルシステム(コア)203に伝達される。ファイルシステム(コア)203は、デバイスドライバ204を適用して設定されたファイルに対するデータ書き込み、すなわちファイルライト処理を実行し、完了通知がアプリケーション201まで通知され、1つのデータ書き込み単位についてのファイルライト処理が終了する。
【0135】
このファイルライト処理の際、ファイルシステム(インタフェース)202は、ステップS604において、カウンタを1つインクリメントする。すなわち図11または図12の処理フローにおけるステップS401の処理を実行する。また、アプリケーション201は、ステップS605において、図17を参照して説明したファイルライト完了リードポインタ1をインクリメントする。
【0136】
その後、継続してデータ書き込みが実行され、ステップS606において、ファイルシステム(インタフェース)202は、カウンタ値またはタイマ値に基づいて、書き込みモードの切り替え処理を実行する。このモード切り替えは、先に図11または図12を参照して説明したフローに従った閾値との比較判定処理を伴う処理である。この処理に際して、ファイルシステム(インタフェース)202はステップS607においてカウンタをクリアする。
【0137】
この即時書き込みモードの切り替えにおいて、ファイルシステム(インタフェース)202によって、ファイルシステム(コア)203は、「即時書き込みモード」へ切り替えられ、FATやディレクトリエントリの書き込みを行い、ファイルシステム(インタフェース)202は、「即時書き込みモード」において、ステップS611において、メディア内部キャッシュフラッシュ処理を実行する。すなわち情報記録媒体に設定された内部キャッシュに記録された情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を行なう。
【0138】
さらに、ファイルシステム(インタフェース)202は、ステップS612において、即時書き込みモードの終了時において情報記録媒体に書き込み済みのファイルサイズ情報[X]を更新し保持する。次に、ステップS613において、通常書き込みモードへの切り替えを実行する。また、アプリケーション201は、ステップS614において、図17を参照して説明したファイルライト完了リードポインタ1をインクリメントする。
【0139】
この処理の後、ステップS615において、通常書き込みモードの実行中に、装置の落下などに起因する電源遮断が発生し、ステップS621において記録再開を行なうものとする。まず、データ記録再開に伴い、ファイルシステム(インタフェース)202は、ステップS622において、カウンタをクリアした後、ファイルシステム(コア)203に対して、ファイルクローズ処理を実行させ、その後ファイルオープン処理を実行させ、さらに、ステップS623において、電源遮断前の最後の即時書き込みモードの終了時において情報記録媒体に書き込み済みのファイルサイズ情報[X]を参照し、Xの位置までファイルシークを実行させる。
【0140】
一方、アプリケーション201は、ステップS624において、リードポインタ2の位置からのデータ記録を再開する。リードポインタ2は、先に図17を参照して説明したように、ファイルシステム(インタフェース)202において即時書き込みモードの実行によって情報記録媒体へのファイルシステム情報の書き込み、キャッシュフラッシュ処理が完了した位置を示すポインタである。この処理によって、即時書き込みモードの終了時までに情報記録媒体に書き込まれたデータと記録再開後に書き込まれるデータの連続性が保持される。
【0141】
以上、本発明の情報処理装置において実行されるデータ記録処理の詳細について説明した。この記録シーケンスは、動画や静止画などの実データの記録処理に伴うFATやディレクトリエントリなどのファイルシステム情報の書き込みにおいて適用されるばかりでなく、例えば、動画データや静止画データに付属する参照情報などを保持する管理情報ファイルなどの記録に際しても同様に適用可能である。このような管理情報ファイルの書き込みの際の処理シーケンスについて、図20以下を参照して説明する。
【0142】
まず、記録済みファイルのインデックス情報などの管理情報の記録処理に際して、本発明の情報処理装置のファイルシステム(インタフェース)202の実行するファイルオープンおよびファイルクローズ処理の処理手順について、図20、図21を参照して説明する。図20、図21は、本発明の情報処理装置において実行され得る2つの処理例としてのファイルオープンおよびファイルクローズ処理例をそれぞれ示している。
【0143】
まず、図20を参照して処理例1としての(a)ファイルオープンおよび(b)ファイルクローズ処理について説明する。本発明の情報処理装置では、記録済みファイルのインデックス情報などの管理情報ファイルのデータ記録に際して、ファイルをオープンする際、ファイルシステム(インタフェース)202は、図20(a)に示す処理を実行する。まず、ステップS801において、ファイルオープンをファイルシステム(コア)203へ指示する。その後、ステップS802において、即時書き込みモードをセットする。
【0144】
これらの処理の後、管理データの書き込み(ファイルライト)が実行される。すなわち、この処理例では、管理情報は、すべて即時書き込みモードで処理が実行され、管理情報の書き込みに続いて、FATやディレクトリエントリが確実に書き込まれることになる。
【0145】
図20(b)を参照してファイルクローズ処理について説明する。ステップS811において、ファイルシステム(インタフェース)202は、ファイルクローズをファイルシステム(コア)203へ指示する。その後、ステップS812において、メディア内部のキャッシュフラッシュの実行をデバイスドライバ204に指示する。その後、ステップS813において、通常書き込みモードへのモード変更を実行する。
【0146】
この処理例は、ファイルクローズに際して情報記録媒体に設定された内部キャッシュに記録された情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を行なうことにより、情報記録媒体(メディア)へのFATやディレクトリエントリ(DE)情報の確実な反映を行う処理例である。
【0147】
次に、第2の処理例における管理情報記録ファイルのファイルオープンおよびクローズ処理について、図21を参照して説明する。まず、(a)ファイルオープン処理について説明する。まず、ステップS851において、ファイルオープンをファイルシステム(コア)203へ指示する。その後、ステップS852において、即時書き込みモードをセットし、ステップS853において、メディア内部キャッシュ使用をオフにする。
【0148】
これらの処理の後、管理データの書き込み(ファイルライト)が実行される。すなわち、この処理例では、管理情報は、メディア内部のキャッシュを使用することのないデータ書き込みが実行され、電源遮断に際して、メディア内部のキャッシュのデータが消失することによる書き込みエラーの発生が防止される。
【0149】
次に、図21(b)を参照してこの処理例におけるファイルクローズ処理について説明する。ステップS861において、ファイルシステム(インタフェース)202は、ファイルクローズをファイルシステム(コア)203へ指示する。その後、ステップS862において、メディア内部のキャッシュフラッシュの使用をオンに復帰させる。その後、ステップS863において、通常書き込みモードへのモード変更を実行する。この処理によって通常書き込みモードでは、メディア内部のキャッシュフラッシュを使用した通常の書き込みが実行される。
【0150】
本発明の情報処理装置では、記録済みファイルのインデックス情報などの管理情報の書き込みに際しては、図20または図21を参照して説明した処理シーケンスに従って処理が実行される。
【0151】
記録済みファイルのインデックス情報などの管理情報の書き込みの全体シーケンスについて、図22、図23のシーケンス図を参照して説明する。この処理は、図20を参照して説明したファイルオープン、ファイルクローズを実行する場合の全体処理を説明するシーケンス図である。
【0152】
まず、記録済みファイルのインデックス情報などの管理情報の書き込み処理の前に、ステップS901において、アプリケーション201は、動画/静止画ファイルのクローズ処理を実行する。その後、ステップS902において管理情報ファイルのオープン処理を実行するこの処理は、図20(a)のフローに従った処理として実行され、ファイルシステム(インタフェース)202は、即時書き込みモードへ切り替え処理を実行し、ステップS903において、処理完了通知をアプリケーション201が受領して管理情報ファイルのオープン処理が完了する。
【0153】
次に、ステップS904においてファイルに対する管理情報書き込みが開始される。この処理は、即時書き込みモードで実行される。すなわち、ファイルシステム(インタフェース)202は、ファイルライトの指示をシステムインタフェース(コア)203に指示すると、「即時書き込みモード」に設定されているファイルシステム(コア)203は、「即時書き込みモード」において、ステップS905において、管理情報データの書き込み処理を行なった後、ステップS906およびステップS907においてファイルシステム情報の情報記録媒体への書き込み処理を実行する。すなわち、その時点で最新の情報を持つ更新されたFAT情報(S906)およびディレクトリエントリ(S907)を情報記録媒体へ書き込む処理を実行する。
【0154】
これらのファイルシステム情報の書き込み処理実行後、処理完了通知がファイルシステム(インタフェース)202に伝えられると、ファイルシステム(インタフェース)202は、図23に示すステップS911において、メディア内部キャッシュフラッシュ処理を実行する。すなわち情報記録媒体に設定された内部キャッシュに記録された情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を行なう。この処理により、情報記録媒体(メディア)へのFATやディレクトリエントリ(DE)情報の確実な反映を行うことができる。
【0155】
その後、管理情報の書き込みが、即時書き込みモードを継続したまま実行し、全ての管理情報の記録が完了する時点で、すなわちステップS911において、アプリケーションは、管理情報ファイルのクローズ処理を実行する。このクローズ処理は、図20(b)のフローに従って実行される。
【0156】
ファイルシステム(インタフェース)202は、ファイルクローズの指示をシステムインタフェース(コア)203に指示すると、ファイルシステム(コア)203は、管理情報データの書き込み処理を行なった後、ファイルシステム情報の情報記録媒体への書き込み処理を実行する。その後、図23に示すステップS913において、メディア内部キャッシュフラッシュ処理を実行し、ステップS914において通常書き込みモードへ変更した後、処理完了通知をアプリケーション201に通知する。アプリケーション201は、この通知受領に基づいて管理情報のファイルクローズ処理を完了する。
【0157】
このように、本処理例は、ファイルクローズに際して情報記録媒体に設定された内部キャッシュに記録された情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を行なうことにより、情報記録媒体(メディア)へのFATやディレクトリエントリ(DE)情報の確実な反映を行う処理例である。なお、先に、図21を参照して説明したように、管理情報の書き込みに際して、メディア内部のキャッシュを使用することのないデータ書き込みを実行する構成として、電源遮断に際して、メディア内部のキャッシュのデータが消失しない設定として書き込みエラーの発生を防止する処理構成としてもよい。
【0158】
[4.情報処理装置の構成例]
次に、上述した処理を実行する情報処理装置の構成例として、デジタルビデオカメラと、PCの装置構成例について、図24、図25を参照して説明する。
【0159】
まず、図24を参照してデジタルビデオカメラの構成例について説明する。デジタルビデオカメラは、画像を撮像して、撮像することにより得た画像データをドライブ432を介して磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の各種情報記録媒体に記録する撮像モードと、画像入出力部414や音声入出力部416あるいは通信部431を通じて供給を受けたデータを記録媒体に記録したり、記録媒体に記録されているデータを再生したりするVTRモードとを備えたものである。
【0160】
撮像モードは、動画を撮像すると共に、これと同時に収音するようにした音声とを記録媒体に記録する動画撮像モードと、静止画を撮像する静止画撮像モードとを備えている。また、VTRモード時においては、記録ボタンスイッチなどによって構成される操作入力部420を操作することにより供給されるデータの記録が行われるようにされ、再生ボタンスイッチを操作することにより記録媒体に記録されている目的とするデータを再生することができる。
【0161】
図24に示すように、デジタルビデオカメラは、光学レンズ部411、光電変換部412、カメラ機能制御部402、画像信号処理部413、画像入出力部414、液晶ディスプレイ415、音声入出力部416、音声信号処理部417、通信部431、制御部(CPU)401、内蔵メモリ(RAM)418、内蔵メモリ(ROM)419、操作入力部420、情報記録媒体に対するドライブ432、さらに、各構成部に対する電力供給を行なう電源441を備えたものである。
【0162】
制御部(CPU)401は、ROM419に格納された各種の処理プログラムに従って処理を実行する。RAM418は、各処理において途中結果を一時記憶するなど、主に作業領域として用いられる。
【0163】
操作入力部401は、動画撮影モード、静止画撮影モード、VTRモードなどの動作モードを切り換えるモード切り換えキー、静止画の撮影のためのシャッターキー、動画を撮影するための撮影開始キー、録画キー、再生キー、停止キー、早送りキー、早戻しキーなどの種々の操作キーや機能キーなどを備え、ユーザからの操作入力を受け付けて、受け付けた操作入力に応じた電気信号を制御部(CPU)401に供給する。
【0164】
制御部(CPU)401は、ユーザからの操作入力に応じて、目的とする処理を行うためのプログラムをROM419から読み出して実行し、各部を制御することによって、ユーザからの指示に応じた処理の制御を行う。デジタルビデオカメラは、情報記録媒体として、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリ等の各種情報記録媒体を装着可能であり、これらの情報記録媒体にドライブ432を介して各種の情報を記録し、また、これらの情報記録媒体に記録された情報を再生する。
【0165】
次に、図25を参照して、上述した処理を実行する情報処理装置の一例としてのPCのハードウェア構成例について説明する。CPU(Central Processing Unit)501は、OS(Operating System)に対応する処理や、上述の実施例において説明した異なるファイルを利用したデータ記録、あるいはデータ再生処理などを実行するデータ処理部として機能する。これらの処理は、情報処理装置のROM、ハードディスクなどのデータ記憶部に格納されたコンピュータ・プログラムに従って実行される。
【0166】
ROM(Read Only Memory)502は、CPU501が使用するプログラムや演算パラメータ等を格納する。RAM(Random Access Memory)503は、CPU501の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を格納する。これらはCPUバスなどから構成されるホストバス504により相互に接続されている。
【0167】
ホストバス504は、ブリッジ505を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス506に接続されている。
【0168】
キーボード508、ポインティングデバイス509は、ユーザにより操作される入力デバイスである。ディスプレイ510は、液晶表示装置またはCRT(Cathode Ray Tube)などから成り、各種情報をテキストやイメージで表示する。
【0169】
HDD(Hard Disk Drive)511は、ハードディスクを内蔵し、ハードディスクを駆動し、CPU501によって実行するプログラムや情報を記録または再生させる。ハードディスクは、例えば、画像データファイルの格納領域として利用されるとともに、データ処理プログラム等、各種コンピュータ・プログラムが格納される。
【0170】
ドライブ512は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体521に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、インタフェース507、外部バス506、ブリッジ505、およびホストバス504を介して接続されているRAM503に供給する。
【0171】
接続ポート514は、外部接続機器522を接続するポートであり、USB,IEEE1394等の接続部を持つ。接続ポート514は、インタフェース507、および外部バス506、ブリッジ505、ホストバス504等を介してCPU501等に接続されている。通信部515は、ネットワークに接続され、その他の情報処理装置との通信を実行する。
【0172】
なお、図24、図25に示す情報処理装置の構成例は、装置の一例であり、情報処理装置は、図24、図25に示す構成に限らず、上述した実施例において説明した処理を実行可能な構成であればよい。
【0173】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0174】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0175】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0176】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0177】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【0178】
以上、説明したように、本発明の一実施例構成によれば、情報記録媒体に対する情報書き込みモードとして、
(a)ファイルシステム情報の優先記録処理を実行しない通常書き込みモードと、
(b)ファイルシステム情報の優先記録処理を実行する即時書き込みモードと、
これら(a)(b)の2つのモードを、予め設定された条件に従って切り替え、ファイルシステム情報の逐次記録処理を実行する構成とした。例えば、通常書き込みモード開始からのデータ記録命令回数カウント値、または、通常書き込みモード開始からの経過時間を計測するタイマ値の少なくともいずれかの値に基づいて、通常書き込みモードから即時書き込みモードへのモード変更を実行してファイルシステム情報の逐次記録処理を実行する。本構成によれば、例えば、装置の落下などに基づく電源遮断の発生時などにおいても、FATやディレクトリエントリなどのファイルシステム情報が全く書き込まれていないといった事態を防ぐことが可能となり、記録エラーを最小限としたデータ記録処理を実現することができる。
【図面の簡単な説明】
【0179】
【図1】FAT16およびFAT32でフォーマットした場合のデータ構造について説明する図である。
【図2】マスターブートレコード(MBR)のデータ構成について説明する図である。
【図3】ファイル毎に形成されるディレクトリエントリの情報構造を説明する図である。
【図4】一般的なファイルアロケーションテーブル(FAT)のデータ構成例について説明する図である。
【図5】本発明の一実施例に係る情報処理装置のシステム構成について説明する図である。
【図6】本発明の一実施例に係る情報処理装置のシステム構成について説明する図である。
【図7】一般的な情報記録処理シーケンスについて説明する図である。
【図8】一般的な情報記録処理シーケンスについて説明する図である。
【図9】本発明の情報処理装置における情報記録処理において書き込みモード変更の際に適用する閾値について説明する図である。
【図10】本発明の情報処理装置における情報記録処理において実行するファイルオープン処理について説明するフローチャートを示す図である。
【図11】本発明の情報処理装置における情報記録処理において実行するモード切り替え処理について説明するフローチャートを示す図である。
【図12】本発明の情報処理装置における情報記録処理において実行するモード切り替え処理について説明するフローチャートを示す図である。
【図13】本発明の情報処理装置における情報記録処理シーケンスについて説明する図である。
【図14】本発明の情報処理装置における情報記録処理シーケンスについて説明する図である。
【図15】本発明の情報処理装置における情報記録処理シーケンスについて説明する図である。
【図16】情報処理装置における情報記録媒体駆動部の電源遮断処理シーケンスについて説明するフローチャートを示す図である。
【図17】本発明の情報処理装置における記録データのポインタ設定例について説明する図である。
【図18】本発明の情報処理装置における情報記録処理シーケンスについて説明する図である。
【図19】本発明の情報処理装置における情報記録処理シーケンスについて説明する図である。
【図20】本発明の情報処理装置における管理情報記録処理において実行するファイルオープンおよびクローズ処理について説明するフローチャートを示す図である。
【図21】本発明の情報処理装置における管理情報記録処理において実行するファイルオープンおよびクローズ処理について説明するフローチャートを示す図である。
【図22】本発明の情報処理装置における管理情報記録処理シーケンスについて説明する図である。
【図23】本発明の情報処理装置における管理情報記録処理シーケンスについて説明する図である。
【図24】本発明の情報処理装置の一実施例としてのデジタルビデオカメラの構成例について説明する図である。
【図25】本発明の情報処理装置の一実施例としてのPCの構成例について説明する図である。
【符号の説明】
【0180】
101 アプリケーション
102 ファイルシステム
103 デバイスドライバ
104 情報記録媒体
201 アプリケーション
202 ファイルシステム(インタフェース)
203 ファイルシステム(コア)
204 デバイスドライバ
205 情報記録媒体
311 マウントドライブ情報
320 記録再生制御部
321 FAT制御部
322 クラスタ制御部
323 ディレクトリエントリ制御部
330 メディア制御部
331 位置算出部
341 メモリ
401 制御部(CPU)
402 カメラ機能制御部
411 光学レンズ部
412 光電変換部
413 画像信号処理部
414 画像入出力部
415 液晶ディスプレイ
416 音声入出力部
417 音声処理部
418 内蔵メモリ(RAM)
419 内蔵メモリ(ROM)
420 操作入力部
431 通信部
432 ドライブ
441 電源
501 CPU(Central Processing Unit)
502 ROM(Read-Only-Memory)
503 RAM(Random Access Memory)
504 ホストバス
505 ブリッジ
506 外部バス
507 インタフェース
508 キーボード
509 ポインティングデバイス
510 ディスプレイ
511 HDD(Hard Disk Drive)
512 ドライブ
514 接続ポート
515 通信部
521 リムーバブル記録媒体
522 外部接続機器

【特許請求の範囲】
【請求項1】
情報処理装置であり、
情報記録媒体に対する情報記録、および記録情報の格納ファイルに対応するファイルシステム情報の記録制御を実行する記録制御部を有し、
前記記録制御部は、
情報記録媒体に対する情報書き込みモードとして、
(a)ファイルシステム情報の優先記録処理を実行しない通常書き込みモードと、
(b)ファイルシステム情報の優先記録処理を実行する即時書き込みモードと、
これら(a)(b)の2つのモードを、予め設定された条件に従って切り替え、ファイルシステム情報の逐次記録処理を実行する構成を有することを特徴とする情報処理装置。
【請求項2】
前記記録制御部は、
通常書き込みモード開始からのデータ記録命令回数カウント値、または、通常書き込みモード開始からの経過時間を計測するタイマ値の少なくともいずれかの値に基づいて、通常書き込みモードから即時書き込みモードへのモード変更を実行してファイルシステム情報の逐次記録処理を実行する構成を有することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記記録制御部は、
情報記録媒体に対する記録情報の種類に応じて設定された異なる閾値と、前記カウント値、または、前記タイマ値の少なくともいずれかの値との比較を実行して、該比較結果に応じて、通常書き込みモードから即時書き込みモードへのモード変更を実行する構成を有することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記記録制御部は、
前記即時書き込みモードにおいて、
ファイルシステム情報の情報記録媒体に対する書き込み処理制御を実行するとともに、情報記録媒体駆動部内のキャッシュ格納情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記記録制御部は、
前記即時書き込みモードにおけるファイルシステム情報の情報記録媒体に対する書き込み処理、および前記キャッシュフラッシュ処理の完了後、通常書き込みモードへのモード変更処理を実行する構成であることを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記記録制御部は、
前記即時書き込みモードにおいて、
ファイルアロケーションテーブルおよびディレクトリエントリを含むファイルシステム情報の情報記録媒体に対する書き込み処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記記録制御部は、
情報記録媒体に対する書き込みの完了したファイルサイズ情報を保持し、
情報書き込み処理中断発生後の情報書き込み再開時に、前記中断発生前の最後の即時書き込みモードの完了時における前記ファイルサイズ情報に基づいて、ファイルシークを実行し、情報書き込み位置の連続性を保持する制御を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項8】
前記情報処理装置は、
情報記録媒体に対する記録データを一時的に格納するバッファを有し、
前記情報記録媒体に対する情報記録処理の実行命令を出力するアプリケーション実行部は、
前記バッファ格納データに対応するポインタとして、前記即時書き込みモードの完了時における記録処理完了データ位置を示すポインタを保持し、情報書き込み処理中断発生後の情報書き込み再開時に、前記ポインタを書き込み開始位置とした処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項9】
前記記録制御部は、
管理情報の情報記録媒体に対する書き込み処理において、前記即時書き込みモードを適用した情報記録を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項10】
前記記録制御部は、
情報記録ファイルのオープン時に即時書き込みモードの設定処理において実行し、ファイルクローズ処理の実行時に、情報記録媒体駆動部内のキャッシュ格納情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項11】
前記記録制御部は、
情報記録ファイルのオープン時に即時書き込みモードの設定処理において実行するとともに、情報記録媒体駆動部内のキャッシュ使用を禁止する設定を実行し、情報記録に際して、前記キャッシュを使用しない情報書き込み処理を実行する制御を行う構成であることを特徴とする請求項1に記載の情報処理装置。
【請求項12】
情報処理方法であり、
情報記録媒体に対する情報記録、および記録情報の格納ファイルに対応するファイルシステム情報の記録制御を実行する記録制御ステップを有し、
前記記録制御ステップは、
情報記録媒体に対する情報書き込みモードとして、
(a)ファイルシステム情報の優先記録処理を実行しない通常書き込みモードと、
(b)ファイルシステム情報の優先記録処理を実行する即時書き込みモードと、
これら(a)(b)の2つのモードを、予め設定された条件に従って切り替え、ファイルシステム情報の逐次記録処理を実行するステップであることを特徴とする情報処理方法。
【請求項13】
前記記録制御ステップは、
通常書き込みモード開始からのデータ記録命令回数カウント値、または、通常書き込みモード開始からの経過時間を計測するタイマ値の少なくともいずれかの値に基づいて、通常書き込みモードから即時書き込みモードへのモード変更を実行してファイルシステム情報の逐次記録処理を実行するステップを含むことを特徴とする請求項12に記載の情報処理方法。
【請求項14】
前記記録制御ステップは、
情報記録媒体に対する記録情報の種類に応じて設定された異なる閾値と、前記カウント値、または、前記タイマ値の少なくともいずれかの値との比較を実行して、該比較結果に応じて、通常書き込みモードから即時書き込みモードへのモード変更を実行するステップを含むことを特徴とする請求項13に記載の情報処理方法。
【請求項15】
前記記録制御ステップは、
前記即時書き込みモードにおいて、
ファイルシステム情報の情報記録媒体に対する書き込み処理制御を実行するとともに、情報記録媒体駆動部内のキャッシュ格納情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を実行するステップを含むことを特徴とする請求項12に記載の情報処理方法。
【請求項16】
前記記録制御ステップは、
前記即時書き込みモードにおけるファイルシステム情報の情報記録媒体に対する書き込み処理、および前記キャッシュフラッシュ処理の完了後、通常書き込みモードへのモード変更処理を実行するステップを含むことを特徴とする請求項15に記載の情報処理方法。
【請求項17】
前記記録制御ステップは、
前記即時書き込みモードにおいて、
ファイルアロケーションテーブルおよびディレクトリエントリを含むファイルシステム情報の情報記録媒体に対する書き込み処理を実行するステップを含むことを特徴とする請求項12に記載の情報処理方法。
【請求項18】
前記記録制御ステップは、
情報記録媒体に対する書き込みの完了したファイルサイズ情報を保持し、
情報書き込み処理中断発生後の情報書き込み再開時に、前記中断発生前の最後の即時書き込みモードの完了時における前記ファイルサイズ情報に基づいて、ファイルシークを実行し、情報書き込み位置の連続性を保持する制御を実行するステップを含むことを特徴とする請求項12に記載の情報処理方法。
【請求項19】
前記情報処理方法は、さらに、
情報記録媒体に対する記録データを一時的に格納するバッファに対応するポインタとして、前記即時書き込みモードの完了時における記録処理完了データ位置を示すポインタを保持するステップと、
情報書き込み処理中断発生後の情報書き込み再開時に、前記ポインタを書き込み開始位置とした処理を実行するステップと、
を有することを特徴とする請求項12に記載の情報処理方法。
【請求項20】
前記情報処理方法は、さらに、
管理情報の情報記録媒体に対する書き込み処理において、前記即時書き込みモードを適用した情報記録を実行するステップを有することを特徴とする請求項12に記載の情報処理方法。
【請求項21】
前記情報処理方法は、さらに、
情報記録ファイルのオープン時に即時書き込みモードの設定処理において実行し、ファイルクローズ処理の実行時に、情報記録媒体駆動部内のキャッシュ格納情報の情報記録媒体に対する書き込みを完了させるキャッシュフラッシュ処理を実行するステップを有することを特徴とする請求項12に記載の情報処理方法。
【請求項22】
前記情報処理方法は、さらに、
情報記録ファイルのオープン時に即時書き込みモードの設定処理において実行するとともに、情報記録媒体駆動部内のキャッシュ使用を禁止する設定を実行し、情報記録に際して、前記キャッシュを使用しない情報書き込み処理を実行するステップを有することを特徴とする請求項12に記載の情報処理方法。
【請求項23】
情報処理装置において情報記録処理制御を実行させるコンピュータ・プログラムであり、
情報記録媒体に対する情報記録、および記録情報の格納ファイルに対応するファイルシステム情報の記録制御を実行する記録制御ステップを有し、
前記記録制御ステップは、
情報記録媒体に対する情報書き込みモードとして、
(a)ファイルシステム情報の優先記録処理を実行しない通常書き込みモードと、
(b)ファイルシステム情報の優先記録処理を実行する即時書き込みモードと、
これら(a)(b)の2つのモードを、予め設定された条件に従って切り替え、ファイルシステム情報の逐次記録処理を実行するステップとして設定されていることを特徴とするコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate