(57)【要約】【課題】  キャッシュデータの更新、記憶媒体への書き出しの一連の動作を改善して、複数のファイルの消去にかかる時間を短縮させること。【解決手段】  消去対象のファイルが複数選択されたかどうかを判定する（１００１）。ここで複数の消去対象のファイルが選択された場合、当該複数の消去対象のファイルについてそれぞれ、キャッシュメモリにおけるファイル管理情報のキャッシュデータの更新処理を行い（１００２）、更新された各キャッシュデータを一括してメモリカードに書き出すことで上記複数の消去対象ファイルの消去処理を行う（１００４）。【選択図】  図１０
2005215896.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを記憶する第１のメモリと、
前記第１のメモリのキャッシュとして使用する第２のメモリと、
前記第１のメモリに記憶されているファイルから消去対象のファイルを選択する選択手段と、
前記選択手段により複数の消去対象のファイルが選択された場合、当該複数の消去対象のファイルについてそれぞれ、前記第２のメモリにおけるファイル管理情報のキャッシュデータの更新処理を行う更新手段と、
前記更新手段により更新された各キャッシュデータを一括して前記第１のメモリに書き出すことで前記複数の消去対象ファイルの消去処理を行う消去手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記ファイル管理情報のキャッシュデータは、ＦＡＴ（File Allocation Table）キャッシュを含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ファイル管理情報のキャッシュデータは、ディレクトリエントリのキャッシュを含むことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
第１のメモリに記憶されているファイルから消去対象のファイルを選択する選択ステップと、
前記選択ステップにより複数の消去対象のファイルが選択された場合、当該複数の消去対象のファイルについてそれぞれ、キャッシュメモリとして機能する第２のメモリにおけるファイル管理情報のキャッシュデータの更新処理を行う更新ステップと、
前記更新ステップにより更新された各キャッシュデータを一括して前記第１のメモリに書き出すことで前記複数の消去対象ファイルの消去処理を行う消去ステップと、
を有することを特徴とする情報処理方法。
【請求項５】
前記ファイル管理情報のキャッシュデータは、ＦＡＴ（File Allocation Table）キャッシュを含むことを特徴とする請求項４に記載の情報処理方法。
【請求項６】
前記ファイル管理情報のキャッシュデータは、ディレクトリエントリのキャッシュを含むことを特徴とする請求項４または５に記載の情報処理方法。
【請求項７】
コンピュータにより実行されるプログラムであって、
第１のメモリに記憶されているファイルから消去対象のファイルを選択する選択ステップのコードと、
前記選択ステップにより複数の消去対象のファイルが選択された場合、当該複数の消去対象のファイルについてそれぞれ、キャッシュメモリとして機能する第２のメモリにおけるファイル管理情報のキャッシュデータの更新処理を行う更新ステップのコードと、
前記更新ステップにより更新された各キャッシュデータを一括して前記第１のメモリに書き出すことで前記複数の消去対象ファイルの消去処理を行う消去ステップのコードと、
を含むことを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを格納したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および方法に関し、特に、キャッシュメモリを利用した効率的なファイル管理の技術に関する。
【背景技術】
【０００２】
ファイルシステムとは、ファイルの実体、パスなどのディレクトリ情報、ファイルの実体の格納場所などを管理するプログラムである。ファイルシステムには様々な種類があり、ＲＯＭ／ＲＡＭファイルシステム、ディスクファイルシステム、フラッシュファイルシステムなどが知られている。
【０００３】
ファイルシステムで、メモリカード等の記憶媒体に対して記録再生されるデータは、多くの場合、キャッシュメモリを一時的に経由するようにされている。過去に記憶媒体から読み込んだデータをキャッシュに保持しておき、記憶媒体からのデータ読出し要求が発生した場合に、キャッシュ内のデータにヒットすることで記憶媒体の読み書きを不要とし、要求に対する応答性を高速化させることが目的である。
【０００４】
このようなキャッシュメモリに格納されたデータを記憶媒体に書き出す処理をフラッシュと呼ぶ。キャッシュメモリに対するアクセスに比べ、記憶媒体にキャッシュデータを書き出すフラッシュ処理は、その実行に多くの時間がかかる。
【０００５】
従来、キャッシュのフラッシュは、（１）ファイルのクローズ時、（２）キャッシュメモリが不足した時、（３）ファイルの消去時、に毎回行っていた。
【０００６】
例えば、ファイルの消去を行う際には、まずキャッシュ内のデータを読み込み、読み込んだキャッシュデータを更新し、その後キャッシュのフラッシュにより記憶媒体に書き出す、という一連の動作を行っていた。
【０００７】
ところで、デジタルカメラやデジタル録音再生装置等の情報処理装置は一般に、選択した複数のファイルを一括して消去する一括消去機能を有する（例えば、特許文献１を参照。）。
【０００８】
【特許文献１】特開平１１−３３１７３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来のファイルの一括消去は、その実行に長時間を要することが問題となっている。これついては、上記したようなキャッシュデータの更新、記憶媒体への書き出しの一連の動作を、より効率的に行う余地があると考えられる。
【００１０】
そこで本発明は、キャッシュデータの更新、記憶媒体への書き出しの一連の動作を改善して、複数のファイルの消去にかかる時間を短縮させることを目的とする。
【課題を解決するための手段】
【００１１】
上記課題は本発明の情報処理装置および方法によって解決される。本発明の一側面に係る情報処理装置は、ファイルを記憶する第１のメモリと、前記第１のメモリのキャッシュとして使用する第２のメモリと、前記第１のメモリに記憶されているファイルから消去対象のファイルを選択する選択手段と、前記選択手段により複数の消去対象のファイルが選択された場合、当該複数の消去対象のファイルについてそれぞれ、前記第２のメモリにおけるファイル管理情報のキャッシュデータの更新処理を行う更新手段と、前記更新手段により更新された各キャッシュデータを一括して前記第１のメモリに書き出すことで前記複数の消去対象ファイルの消去処理を行う消去手段とを有することを特徴とする。
【００１２】
また、本発明の別の側面に係る情報処理方法は、第１のメモリに記憶されているファイルから消去対象のファイルを選択する選択ステップと、前記選択ステップにより複数の消去対象のファイルが選択された場合、当該複数の消去対象のファイルについてそれぞれ、キャッシュメモリとして機能する第２のメモリにおけるファイル管理情報のキャッシュデータの更新処理を行う更新ステップと、前記更新ステップにより更新された各キャッシュデータを一括して前記第１のメモリに書き出すことで前記複数の消去対象ファイルの消去処理を行う消去ステップとを有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、キャッシュデータの更新、記憶媒体への書き出しの一連の動作が改善され、複数のファイルの消去にかかる時間を短縮させることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。以下では、本発明の一実施形態として、デジタルカメラについて説明するが、本発明はデジタルカメラに限らず、デジタル録音再生装置、デジタル録画再生装置、あるいはパーソナルコンピュータ等の、ファイルシステムを実現する情報処理装置に適用することができるものである。
【００１５】
図１は、本実施形態におけるデジタルカメラの一構成例を示したブロック図である。
【００１６】
１００はデジタルカメラ本体を示す。制御部１０１には、撮像部１０２、操作部１０３、メインスイッチ１０４、シャッタースイッチ１０５及び１０６、モード切替スイッチ１０７、カード・インタフェース（Ｉ／Ｆ）１０９、カバー開閉検出部１１２、電源制御部１１３、通信Ｉ／Ｆ１１６、からそれぞれ信号が入力される。また制御部１０１からは、表示部１０８、カードＩ／Ｆ１０９、電源制御部１１３に対して出力がなされる。また、制御部１０１はＲＯＭ１１４及びＤＲＡＭ１１５にも接続されている。
【００１７】
撮像部１０２は、複数のレンズ及び絞り、更に光学フィルタを介して被写体の光学的画像を撮像素子上に結像させ、その画像信号に所定の演算処理を行いデジタル信号に変換し、制御部１０１に入力する。
【００１８】
操作部１０３、メインスイッチ１０４、シャッタースイッチ１０５及び１０６、モード切替スイッチ１０７は、制御部１０１の各種の動作指示を入力するための操作手段であり、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。各種操作手段の操作により、操作信号を制御部１０１に指示することができる。
【００１９】
メインスイッチ１０４は、デジタルカメラの電源オン、電源オフの切り替え設定を指示するスイッチである。１０５のシャッタースイッチＳＷ１は、ＡＦ（オートフォーカス）処理、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＥＦ（フラッシュプリ発光）処理等の動作開始を指示するスイッチである。
【００２０】
１０６のシャッタースイッチＳＷ２は、撮像部１０２から読み出したデジタル信号を制御部１０１を介してカードＩ／Ｆ１０９に送り、カードスロット１１０に挿入されている記憶媒体としてのメモリカード１１７に画像データを書き込むという一連の処理の動作開始を指示するスイッチである。
【００２１】
モード切替スイッチ１０７は、デジタルカメラの撮影モード、再生モード、通信モード等の各機能モードのいずれかに切り替えるためのスイッチである。
【００２２】
各種ボタンやダイアル、タッチパネル等からなる操作部１０３は、メニューボタン、撮影・再生・通信の各モードで機能を実行する際に、各種機能の選択及び切り替えを設定する選択／切り替えスイッチ、各種機能やユーザ設定、画像に対するプロパティ設定などの決定及び実行を行う決定/実行スイッチ等がある。
【００２３】
表示部１０８は、文字、画像、音声等を用いて動作状態やメッセージ等を表示する液晶表示装置、スピーカー等の表示部であり、デジタルカメラの操作部近辺の視認し易い位置に単数或いは複数個所設置される。例えば、ＬＣＤや光学ファインダ、ＬＥＤ、発音素子等の組み合わせにより構成される。撮影時には、デジタルカメラのファインダであるとともに、再生時にはディスプレイとなる。
【００２４】
表示部１０８の表示内容の一例として、デジタルカメラ設定の各種情報表示、メニュー表示、エラー表示、カードのライトプロテクト表示、カードの着脱状態表示、スロットカバーの開閉状態表示、アプリケーション動作表示、通信Ｉ／Ｆ動作表示、日付・時刻表示、カードに保存されている画像ファイルの表示、バッテリー状態表示、外部コンピュータとの接続状態を示す表示、等がある。
【００２５】
カードＩ／Ｆ１０９は、制御部１０１とメモリカード１１７との間でデータの通信を行うためのインタフェースである。
【００２６】
１１０は、メモリカード１１７を格納するためのカードスロットである。カードスロット１１０には、カード保護、データ保全のためのスロットカバー１１１が付いている。さらに、スロットカバー１１１には、カバー開閉検出部１１２が付いており、これによりスロットカバーの開閉状態を検出する。
【００２７】
電源制御部１１３は、電池検出回路、ＤＣ−ＤＣコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されており、電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及び制御部の指示に基づいてＤＣ−ＤＣコンバータを制御し、必要な電圧を必要な期間、記憶媒体を含む各部へ供給する。
【００２８】
電源１１８はアルカリ電池やリチウム電池等の一次電池やＮｉＣｄ電池やＮｉＭＨ電池、Ｌｉ−ｉｏｎ電池等の二次電池、ＡＣアダプター等からなる電源手段である。
【００２９】
ＲＯＭ１１４は、制御部動作用の定数、変数、プログラム、各種リソースをはじめ、後述するファイルシステムを実現するためのファイルシステム・ドライバ１１４ａが記憶されている。また、ＤＲＡＭ１１５は、制御プログラムが使用するワーク領域やデータ領域である。ＳＲＡＭ１１５ａは、制御部１０１内部に設けられたキャッシュメモリである。キャッシュメモリにデータを保持しておくことにより、メインメモリであるＤＲＡＭ１１５へのアクセスを減らし、処理を高速化する。
【００３０】
通信Ｉ／Ｆ１１６は、ＲＳ２３２ＣやＵＳＢ（Universal Serial Bus）、ＩＥＥＥ１３９４、モデム、ＬＡＮ（Local Area Network）などの有線通信や無線通信、ＩｒＤＡ（Infrared Data Association）などの赤外線通信、光通信等の各種通信機能のいずれかを備える構成である。また、各種通信機能のうちの複数を備える構成でもよい。
【００３１】
図２は、図１に示したメモリカード１１７に記録される画像ファイルシステムの階層構造を示す概念図であり、例えば階層Ｌ１〜Ｌ４で構成される。
【００３２】
図２において、最上位の階層Ｌ１はユーザアプリケーションで、デジタルカメラ内部で起動するソフトウェアであり、ファイルをファイル名でオープンして読み書きした後、クローズする。階層Ｌ２は、ファイルシステムＡＰＩ層で、ユーザアプリケーションからファンクションコールによって呼び出される。階層Ｌ２がドライブ名とファイルシステムを関連付けて管理している。各ドライブ毎にファイルシステムアーキテクチャ層（階層Ｌ３）をマウントするように構成しているため、複数のファイルシステムアーキテクチャ（例えばＦＡＴ、ＨＰ−ＦＳ、ＮＦＳ、ＮＴＦＳ等）の混在が可能となっている。なお、ファイルシステムアーキテクチャ層Ｌ３が実際のファイル管理を行う部分である。最下位の階層Ｌ４がブロックデバイス層である。
【００３３】
ファイルシステムアーキテクチャ層Ｌ３がブロックデバイス層Ｌ４の提供するサービスを利用してファイル入出力を実現している。なお、ブロックデバイス層Ｌ４では、データを例えば５１２バイト等のセクタという単位で管理している。このブロックデバイス層Ｌ４でデバイス毎の入出力制御の違いと、ヘッドやシリンダ等のパラメータの違いを吸収している。これにより、同時に複数の種類のデバイスを混在させたカメラシステムを構築することが出来る。
【００３４】
本実施形態におけるカメラシステムでは、メモリカード１１７のブロックデバイスがファイルシステムへ提供するサービスは、論理的なセクタ番号で指定したセクタからのデータの読み出し、ならびに論理的なセクタ番号で指定したセクタへのデータの書き込みである。
【００３５】
ここで、一般的な記憶媒体のデータ構造及びＦＡＴ（File Allocation Table）ファイルシステムについて説明する。図３は、一般的な記憶媒体のデータ構造を示している。同図において、３０１はＭＢＲ（Master Boot Record）であり、記憶媒体の先頭から５１２バイトのデータサイズを占め、図４に示す構造を持っている。この記憶媒体が起動可能な記憶媒体である場合は、４０１のブートストラップローダ及び、この記憶媒体の起動プログラムを所持している。起動可能ではない場合は、ブートストラップローダを持っていない。ブートストラップローダ４０１は、ＭＢＲ３０１の先頭から４４６バイトまでを占める。４０２はパーティションテーブルであり、この記憶媒体のパーティション３０２〜３０N（図３を参照）の情報が収められ、ＭＢＲ３０１の４４７バイト目から６４バイト、５１０バイト目までに格納されている。
【００３６】
パーティションとは、記憶媒体の区分けを意味し、一つのパーティションは、一つのファイルシステムにより管理される。一つの記憶媒体は、少なくとも一つ以上のパーティションによって構成される。パーティションテーブル４０２には、各パーティションの物理的な開始位置、終了位置、論理的な開始位置、総セクタ数が収められている。例外的にパーティションが一つの場合、ＭＢＲを持たないことがある。その場合は、記憶媒体全体を一つのパーティションとみなす。
【００３７】
続いて、ＦＡＴファイルシステムで論理フォーマットされたパーティションのデータ構造を説明する。図５は、ＦＡＴ１６ファイルシステムによりフォーマットした場合のデータ構造を示している。５０１はＰＢＲ（Partition Boot Record）で、具体的には図６に示す構造を持っている。図６の６０１はジャンプ命令で、ＩＰＬ（Initial Program Loader）６０３へのジャンプ命令が格納されている。６０２はＢＰＢ（BIOS Parameter Block）でファイルシステムが扱うこのパーティションに特化した情報が記録されている。図７はＢＰＢに含まれるパラメータを示している。６０３はＩＰＬで、このパーティションの起動プログラムが収められている。
【００３８】
図５の５０２及び５０３はＦＡＴで、ユーザデータ領域５０５に格納されているファイルの配置情報が収められている。ＦＡＴファイルシステムは、ＦＡＴ５０２及び５０３により、パーティションに格納されているファイルの配置情報を取得する。そのため、ユーザデータ領域５０５にファイルが格納されていても、ＦＡＴ５０２及び５０３にファイルの配置情報が格納されていなければ、ファイルとして認識されない。ＦＡＴ５０２及び５０３には、全く同じデータが収められており、一方はバックアップとして利用する。５０４はルートディレクトリエントリで、ルートディレクトリに格納されたファイルの項目管理情報が収められている。５０５はユーザデータ領域でファイルの本体が格納されている。
【００３９】
本実施形態におけるメモリカード１１７は、図３の３０１に示したようなＭＢＲを持たず、データ領域全体が一つのパーティションを構成し、このパーティションは、ＦＡＴ１６ファイルシステムによりフォーマットされ、管理されている。以下、このメモリカード１１７に対するファイルの書き込み、読み出し動作について説明する。
【００４０】
メモリカード１１７内のファイルが、図８に示す状態になっているものとする。図８において、８０１はルートディレクトリである。８０２はディレクトリ、８０３、８０４、８０５、８０６、８０７はファイルである。ディレクトリ８０２、ファイル８０６及び８０７は、ルートディレクトリ８０１に格納されている。また、ファイル８０３、８０４、８０５は、ディレクトリ８０２に格納されている。
【００４１】
このときのメモリカード１１７内のデータ構造を、図９に示す。図９において、図８と同一のものは、同じ番号を振っている。ただし、ディレクトリはデータ構造においてはディレクトリエントリと呼ぶ。９０１、９０２、及び９０３は、エントリアイテムであり、ルートディレクトリ８０１内に格納されているディレクトリ８０２及びファイル８０６、８０７の格納場所を示している。同じくエントリアイテム９０４は、ディレクトリ８０２に格納されているファイル８０３の格納場所を示している。エントリアイテム９０５、９０６も、ディレクトリ８０２に格納されているファイル８０４、８０５等の格納場所を示しているが、ここでは図示しない。
【００４２】
ディレクトリエントリ及びファイルには、図６の６０２に示したＢＰＢ内のパラメータであるクラスタサイズ（図７の７０３）が示すサイズが、例えば８KB等の単位で格納されている。ディレクトリエントリ及びファイルは、１クラスタ以上のデータ量を持つ場合は、複数のクラスタにまたがって格納される。クラスタの使用状況、及びクラスタ同士のリンク情報は、ＦＡＴ（図５を参照）に格納されている。
【００４３】
ファイル８０３は、クラスタ９１１及び９１２にまたがって格納されている。連続したクラスタに格納されるか、不連続のクラスタに格納されるかは、メモリカード１１７内のクラスタ使用状況によって決定される。
【００４４】
以下、本実施形態におけるファイル消去処理について説明する。ここで、デジタルカメラに挿入されているメモリカード１１７には、１枚以上の画像が含まれているとする。
【００４５】
図１０は、本実施形態におけるファイル消去処理を示すフローチャートである。このフローチャートに対応するプログラムはＲＯＭ１１４に記憶されているファイルシステム・ドライバ１１４ａに含まれ、ＤＲＡＭ１１５にロードされて制御部１０１によって実行される。まず、ステップ１００１で、ユーザによる消去ファイル選択操作に基づいて、消去対象となるファイルが複数であるかどうかを調べる。
【００４６】
消去ファイル選択操作について、図１３、図１４を用いて説明する。図１３は、消去しようとする画像ファイル（消去対象ファイル）を１枚だけ選択する際のデジタルカメラの操作例、図１４は、メモリカード１１７における全画像ファイルを消去対象ファイルとして選択する際のデジタルカメラの操作例を示している。図１３において、デジタルカメラのＬＣＤに所望の１枚の画像が表示されている状態で、操作部１０３を介した操作により、表示されている画像の消去（Ｅｒａｓｅ）アイコンを選択する。これにより、その１枚の画像のみが消去されることになる。一方、図１４において、メニュー画面から全消去（Ｅｒａｓｅ  ａｌｌ）を選択し、そこでＯＫアイコンを選択する。これにより、メモリカード１１７内の全画像ファイルが消去されることになる。もちろんこの他に、全画像ファイルではなく、任意の２枚以上の画像ファイルを選択して、それら選択したファイルを消去させることも可能である。
【００４７】
説明を図１０に戻す。
【００４８】
ステップ１００１において、消去対象ファイルが複数であればステップ１００２へ、消去対象ファイルが１ファイルのみであればステップ１００５へ進む。ステップ１００２では、対象となるファイルのうちの１ファイルに対して、消去のためのキャッシュデータ更新処理を実行する。このキャッシュデータ更新処理の詳細については後述する。次のステップ１００３で、すべての消去対象ファイルに対してキャッシュデータ更新処理を実行したかどうかを調べる。すべての消去対象ファイルに対してキャッシュデータ更新処理が完了していなければ、ステップ１００２に戻り、消去対象ファイルのうちの次のファイルについてキャッシュデータ更新処理を実行する。すべての消去対象ファイルに対するキャッシュデータ更新処理が完了すると、ステップ１００４に移り、フラッシュ処理を実行し、処理終了となる。フラッシュ処理の詳細については後述する。一方、ステップ１００１において、消去対象ファイルが１ファイルのみであればステップ１００５へ進み、当該ファイルについて消去のためのキャッシュデータ更新処理を行う。なお、このステップ１００５におけるキャッシュデータ更新処理の内容はステップ１００２における処理と実質的に同等である。その後、ステップ１００４に進み、後述するフラッシュ処理を実行し、処理を終了する。
【００４９】
図１１は、上記したステップ１００１またはステップ１００５におけるキャッシュデータ更新処理の詳細を示すフローチャートである。ここでは一例として、ディレクトリ８０２におけるファイル８０３を消去対象ファイルとして消去する場合の動作を説明する。データの読み出し／書き込み命令は、全てファイルシステムドライバが、論理的なセクタ番号で指定したセクタからのデータの読み出し、ならびに論理的なセクタ番号で指定したセクタへのデータの書き込みを利用して行う。ただし、ディレクトリ８０２のディレクトリエントリが格納されているクラスタ番号は既知であるとする。
【００５０】
まず、ステップ１１０１で、ディレクトリ８０２のクラスタをカレントクラスタとし、ステップ１１０２で、カレントクラスタの先頭から、ファイル８０３のエントリアイテムを検索する。続いて、ステップ１１０３で、エントリアイテムを発見したか否かを判断し、発見できなかった場合はステップ１１０４に進み、カレントクラスタのリンク情報をＦＡＴから取得する。このリンク情報を基に、ステップ１１０５で、カレントクラスタがリンクされているかを判断する。リンクされていた場合はステップ１１０６に進み、リンク先クラスタを新たなカレントクラスタとしてステップ１１０２へ戻り、処理を繰り返す。一方、ステップ１１０５でクラスタがリンクされていなかった場合は、ファイルが存在しないと判断し、エラー終了する。ステップ１１０３で、ファイル８０３のエントリアイテムを発見した場合はステップ１１０７に進み、そのエントリアイテムに無効データを書き込み、ディレクトリエントリのキャッシュを更新する。次にステップ１１０８で、ＦＡＴを更新し、ファイル８０３が使用していたクラスタ全てを未使用領域にし、ＦＡＴキャッシュを更新する。その後、ステップ１１０９で、キャッシュメモリに書き込み要求フラグを立て、正常終了する。
【００５１】
次に、ステップ１００４のフラッシュ処理について、図１２のフローチャートを用いて説明する。まず、ステップ１２０１で、ステップ１１０９（図１１）でキャッシュメモリに立てた書き込み要求フラグの検索を行う。続いて、ステップ１２０２で、キャッシュメモリ全域に渡って検索を終了したかどうかを判断し、検索が終了していない場合は、ステップ１２０１に戻り、処理を繰り返す。検索が終了した場合は、ステップ１２０３を実行し、書き込み要求されたキャッシュデータをメモリカード１１７に書き出す。ここでいうキャッシュデータとは、ディレクトリエントリのキャッシュ及びＦＡＴのキャッシュのことを指す。
【００５２】
先述したように、従来の複数ファイルの一括消去は、その実行に長時間を要することが問題となっていた。これは、１ファイルごとに、キャッシュデータの更新と記憶媒体へのアクセスを伴うフラッシュとを行い、これを全ての対象ファイルについて繰り返していたためである。
【００５３】
これに対し、本実施形態におけるファイル消去処理では、消去対象ファイルが複数ある場合には、消去対象ファイルのすべてについてまとめてキャッシュデータ更新処理を行い（ステップ１００２，１００３）、その後に、更新後のキャッシュデータのフラッシュを一括して行うようにした（ステップ１００４）ので、記憶媒体へのアクセスは１回で済み、ファイル消去処理にかかる時間を短縮させることができる。とりわけ、消去対象ファイルが大量であるほどその効果は大きいものとなる。
【００５４】
（他の実施形態）
以上、本発明の実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００５５】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータがその供給されたプログラムコードを読み出して実行することによっても達成される。その場合、プログラムの機能を有していれば、その形態はプログラムである必要はない。
【００５６】
従って、本発明の機能処理をコンピュータで実現するために、そのコンピュータにインストールされるプログラムコード自体およびそのプログラムを格納した記憶媒体も本発明を構成することになる。つまり、本発明の特許請求の範囲には、本発明の機能処理を実現するためのコンピュータプログラム自体、およびそのプログラムを格納した記憶媒体も含まれる。
【００５７】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００５８】
プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００５９】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、そのホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００６０】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６１】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００６２】
さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６３】
【図１】本発明の実施形態におけるデジタルカメラの構成を示すブロック図である。
【図２】メモリカードに構成されるファイルシステムの階層構造を示す概念図である。
【図３】メモリカードの一般的な内部データ構造を示すブロック図である。
【図４】図３におけるＭＢＲの内部データ構造を示すブロック図である。
【図５】図３におけるパーティションをＦＡＴファイルシステムでフォーマットした場合の内部データ構造を示すブロック図である。
【図６】図５におけるＰＢＲの内部データ構造を示すブロック図である。
【図７】図６におけるＢＰＢに含まれるパラメータを示すテーブルである。
【図８】実施形態におけるメモリカードのファイル構造例を示す模式図である。
【図９】図８の状態におけるメモリカードのデータ構造を示す図である。
【図１０】実施形態におけるファイル消去処理を示すフローチャートである。
【図１１】実施形態におけるキャッシュデータ更新処理を示すフローチャートである。
【図１２】実施形態におけるフラッシュ処理を示すフローチャートである。
【図１３】消去対象ファイルを１枚だけ選択する際のデジタルカメラの操作例を示す図である。
【図１４】メモリカード内の全画像ファイルを消去対象ファイルとして選択する際のデジタルカメラの操作例を示す図である。
【符号の説明】
【００６４】
１００：デジタルカメラ本体
１０１：制御部
１０２：撮像部
１０３：操作部
１０４：メインスイッチ
１０５：シャッタースイッチSW1
１０６：シャッタースイッチSW2
１０７：モード切替スイッチ
１０８：表示部
１０９：カードＩ／Ｆ
１１０：カードスロット
１１１：スロットカバー
１１２：カバー開閉検出部
１１３：電源制御部
１１４：ＲＯＭ
１１４a：ファイルシステム・ドライバ
１１５：ＤＲＡＭ
１１５ａ：ＳＲＡＭ
１１６：通信Ｉ／Ｆ
１１７：メモリカード
１１８：電源
３０１：ＭＢＲ
３０２：パーティション
４０１：ブートストラップローダ
４０２：パーティションテーブル
４０３：シグニチャ
５０１：ＰＢＲ
５０２：ＦＡＴ
５０３：ＦＡＴ
５０４：ディレクトリエントリ
５０５：ユーザデータ領域
６０１：ジャンプ命令
６０２：ＢＰＢ
６０３：ＩＰＬ
６０４：シグニチャ
７０１：ＯＥＭ名
７０２：セクタサイズ
７０３：クラスタサイズ
７０４：リザーブセクタ数
７０５：ＦＡＴの数
７０６：ルートディレクトリエントリ数
７０７：総セクタ数
７０８：メディアＤｅｓｃｒｉｐｔｅｒ
７０９：ＦＡＴサイズ
７１０：トラックサイズ
７１１：ヘッド数
７１２：Ｈｉｄｄｅｎセクタ数
７１３：３２Ｂｉｔセクタ数
７１４：ドライブＩＤ
７１５：Ｒｅｓｅｒｖｅ
７１６：ブートシグニチャ
７１７：シリアル番号
７１８：ボリューム名
７１９：ファイルシステムタイプ
８０１：ルートディレクトリ
８０２：ディレクトリ
８０３〜８０７：ファイル
９０１〜９０６：エントリアイテム
９１１〜９１２：クラスタ
【図１】
2005215896.tif 000003
【図２】
2005215896.tif 000004
【図３】
2005215896.tif 000005
【図４】
2005215896.tif 000006
【図５】
2005215896.tif 000007
【図６】
2005215896.tif 000008
【図７】
2005215896.tif 000009
【図８】
2005215896.tif 000010
【図９】
2005215896.tif 000011
【図１０】
2005215896.tif 000012
【図１１】
2005215896.tif 000013
【図１２】
2005215896.tif 000014
【図１３】
2005215896.tif 000015
【図１４】
2005215896.tif 000016