(57)【要約】【課題】  記憶媒体をフォーマットする際の操作者の利便性を向上させる。【解決手段】  複数のクラスタを持つ第一のボリュームのフォーマットを行い、第一のボリュームをマウントし、その完了後、第一のボリュームよりも多い数のクラスタを持つ第二のボリュームのフォーマットを行い、その後、第一のボリュームをアンマウントして、第二のボリュームをマウントする。【選択図】  図９
2006155132.tif 000002
【特許請求の範囲】
【請求項１】
所定のファイルシステムに従い記録媒体のフォーマットを行うことが可能な記録制御装置であって、
複数のクラスタを持つ第一のボリュームのフォーマットを行い、第一のボリュームをマウントする第一のフォーマット手段と、
前記第一のフォーマット手段によるフォーマットの完了後、第一のボリュームよりも多い数のクラスタを持つ第二のボリュームのフォーマットを行う第二のフォーマット手段と、
第二のフォーマット手段によるフォーマットの完了後、第一のボリュームをアンマウントして、第二のボリュームをマウントするボリューム変換手段と、
を備えることを特徴とする記録制御装置。
【請求項２】
第一のボリュームと第二のボリュームが同じクラスタサイズでフォーマットされることを特徴とする請求項１記載の記録制御装置。
【請求項３】
第一のボリュームのクラスタ境界と第二のボリュームのクラスタ境界が一致していることを特徴とする請求項１記載の記録制御装置。
【請求項４】
第二のボリュームが第一のボリュームの領域を包含するように配置することを特徴とする請求項１記載の記録制御装置。
【請求項５】
記録媒体が所定のサイズより大きいか否かを判定する判定手段をさらに備え、前記判定手段によって所定サイズよりも大きいと判定された場合のみ、前記第一のフォーマット手段によるフォーマットおよび前記ボリューム変換手段によるマウントを行うことを特徴とする請求項１〜４のいずれかに記載の記録制御装置。
【請求項６】
所定のファイルシステムに従い記録媒体のフォーマットを行うフォーマット方法であって、
複数のクラスタを持つ第一のボリュームのフォーマットを行い、第一のボリュームをマウントする第一のフォーマット工程と、
前記第一のフォーマット工程によるフォーマットの完了後、第一のボリュームよりも多い数のクラスタを持つ第二のボリュームのフォーマットを行う第二のフォーマット工程と、
第二のフォーマット工程によるフォーマットの完了後、第一のボリュームをアンマウントして、第二のボリュームをマウントするボリューム変換工程と、
を備えることを特徴とするフォーマット方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のファイルシステムに従い記録媒体のフォーマットを行う記録制御装置及びフォーマット方法に関する。
【背景技術】
【０００２】
デジタルカメラや携帯情報端末の記録媒体として、コンパクトフラッシュ（登録商標）やＳＤカードといった小型のメモリーカードが普及している。最近では、これらの小型メモリーカードにおいてディスク容量の大容量化が進んでいる。このようなメモリーカードは、メモリーカード内のデータを所定サイズ（通常は５１２バイト）を１ブロックとしてブロック単位でデータの読み書きが行われるため、ブロックデバイスと呼ばれる。メモリーカードがファイルシステムによって用いて論理ボリュームとして使用されるために、カードの先頭ブロックにＭＢＲ（マスターブートレコード）が配置される。図２はＭＢＲの構成を示している。ＭＢＲはブートストラップローダ２０１、パーティションテーブル２０２、シグネチャ２０３から構成されている。パーティションテーブル２０２は最大４つまでの複数のパーティションエントリで構成される。
【０００３】
図３にパーティションエントリの構造を示す。おのおののパーティションエントリには対応するパーティション内に構成される論理ボリュームの開始ブロック、終了ブロック、パーティションタイプ、等の情報が記録されている。メモリーカードに対するファイルの読み書きは、ファイルシステムに応じてフォーマットされた論理ボリュームをファイルシステムに対してマウントすることによって可能となる。一般に広く用いられているＦＡＴファイルシステムにおいては、論理ボリューム内に、ＢＰＢ（バイオスパラメータブロック）を含むＰＢＲ（パーティションブートレコード）、ファイルアロケーションテーブル（ＦＡＴ）、データ領域、に分かれてフォーマットされる。ＰＢＲの構成を図４に示す。ＢＰＢは図１０の表に示すようなファイルシステムの属性情報が記録されている。ＦＡＴファイルシステムにおいては、ブロックデバイスのデータの単位である１ブロックを１セクタと呼び、少なくとも１つ以上のセクタを束ねたデータの単位をクラスタと呼び、ファイルに対する読み書きはこのクラスタを最小単位として行われる。
【０００４】
ファイルアロケーションテーブル（ＦＡＴ）は、クラスタ単位でファイルのデータを管理するための管理テーブルで、データ領域に割り当てられるクラスタの数だけクラスタの配置情報を管理する。データ領域は、クラスタ単位で記録が行われ、ディレクトリやファイルのエントリを示すディレクトリエントリと、ファイルのデータが記録されるためのデータ部として使用される。ＦＡＴファイルシステムには、ＦＡＴ１２、ＦＡＴ１６、ＦＡＴ３２と言う３つのタイプがあり、各タイプによって、ＦＡＴテーブルの１エントリのビット長が１２ビット、１６ビット、３２ビット、となっている。この１エントリのビット長の違いにより、各タイプごとに扱える１ボリュームにおけるクラスタ数の上限が異なり、クラスタサイズの上限との組み合わせにより、各ＦＡＴタイプで扱える最大ボリュームサイズが決まる。論理ボリュームの初期化は、ＢＰＢやファイルアロケーションテーブルを初期状態にし、場合によってはデータ領域を全消去することによって行われる。このような操作を通常ディスクのフォーマットと呼ばれている。デジタルカメラや携帯情報端末は、記録媒体としてメモリーカードを使用するために、ファイルシステムを搭載し、ファイルシステムによってメモリーカードをディスクのフォーマットを行う機能を持っている。また、特許文献１のように、ディスクのフォーマットの高速化のための技術も知られている。
【特許文献１】特開２００１−２３６７３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、最近では、ＧＢ（ギガバイト）単位の大容量のメモリーカードの普及により、デジタルカメラのような携帯情報機器においても、大容量メモリーカードを扱う機会が出てきた。
【０００６】
しかしながら、大容量のメモリーカードをフォーマットする場合には、ファイルアロケーションテーブルの初期化処理に長い時間がかかってしまう。たとえば、１ＧＢのメモリーカードをＦＡＴ３２ファイルシステムでフォーマットする場合においては、クラスタ数が最大２０００００Ｈ（２０９７１５２）となり、その場合のファイルアロケーションテーブルのサイズは８０００００Ｈ（８３８８６０８）バイト（８ＭＢ）となり、書き込み速度が５００ｋＢ／Ｓｅｃと仮定するとファイルアロケーションテーブルの初期化には１６秒以上の時間を要することになる。
【０００７】
メモリーカードのディスクフォーマットを行っている間は、そのメモリーカードに対してファイルを書き込むことができないために、デジタルカメラの場合においてはフォーマット期間中、撮影画像を記録する媒体が使用できなくなり、使用者は撮影ができないと言う問題があった。特に、速写性が求められるデジタルカメラにおいて、大容量のメモリーカードをフォーマットしている最中に長時間にわたって撮影ができないと言うことは使用者にとって大きな問題であった。
【０００８】
本発明は上述した問題点を解決するためのものであり、記憶媒体をフォーマットする際の操作者の利便性を向上させた記録制御装置及びフォーマット方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明の記録制御装置は、所定のファイルシステムに従い記録媒体のフォーマットを行うことが可能な記録制御装置であって、複数のクラスタを持つ第一のボリュームのフォーマットを行い、第一のボリュームをマウントする第一のフォーマット手段と、前記第一のフォーマット手段によるフォーマットの完了後、第一のボリュームよりも多い数のクラスタを持つ第二のボリュームのフォーマットを行う第二のフォーマット手段と、第二のフォーマット手段によるフォーマットの完了後、第一のボリュームをアンマウントして、第二のボリュームをマウントするボリューム変換手段と、を備えることを特徴とする。
【００１０】
また、本発明のフォーマット方法は、所定のファイルシステムに従い記録媒体のフォーマットを行うフォーマット方法であって、複数のクラスタを持つ第一のボリュームのフォーマットを行い、第一のボリュームをマウントする第一のフォーマット工程と、前記第一のフォーマット工程によるフォーマットの完了後、第一のボリュームよりも多い数のクラスタを持つ第二のボリュームのフォーマットを行う第二のフォーマット工程と、第二のフォーマット工程によるフォーマットの完了後、第一のボリュームをアンマウントして、第二のボリュームをマウントするボリューム変換工程と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、デジタルカメラのような携帯情報機器において、大容量メモリーカードをフォーマットするときに長時間メモリーカードが使用できなくなるということがなくなる。
【発明を実施するための最良の形態】
【００１２】
以下、図面を参照して本発明の実施の形態を説明する。
【００１３】
図５は本発明の実施形態の構成を示す図である。本実施形態においては、撮像装置、具体的にはデジタルカメラを用いてその構成を説明する。
【００１４】
図５においては、撮像装置１００、ＣＦカードＡＴＡ規格に準拠したカード２００で構成されている。撮像装置１００はＣＦカードソケットを備えたデジタルカメラである。入出力部１１０は、シャッターボタン、画像及びＧＵＩの表示のための液晶表示部、操作用キーパッド、等を有している。カメラ制御１２０は、具体的にはＣＰＵ及びＲＯＭ・ＲＡＭ等の主記憶装置で構成され、撮像装置１００のカメラ動作全般を制御する。ＣＦカードＡＴＡ  Ｉ／Ｆ１３０は、ＡＴＡプロトコルに準拠したＣＦカードに対して、データの読み書きを行うためのプロトコルＩ／Ｆ部である。撮像部１４０はレンズ、絞り、シャッター、撮像素子、画像信号処理部、等を有している。画像処理部１５０は撮像部１４０にある撮像素子で撮像した画像の取り込み、現像、ホワイトバランス処理、圧縮、といった画像処理を行う。画像バッファ１６０は、画像処理部１５０から出力される画像データをＣＦカードに書き込むまでの間一旦保持するためのバッファである。ＣＦカード２００は撮影画像を格納するための記憶領域として使用され、撮像装置１００に対してＣＦソケット１７０を介して挿抜可能構造となっている。
【００１５】
次に、ＣＦカード２００をファイルシステムによってアクセス可能にするための一連の動作（マウント動作）について説明する。図６に示したフローチャートはカメラ制御１２０におけるＣＦカードマウント動作シーケンスを表している。
【００１６】
ＣＦカード２００がＣＦソケット１７０に挿入されると、ＣＦカードＡＴＡ  Ｉ／Ｆ１３０はカードディテクト信号を検出し（Ｓ６０１）、カードが挿入されたことをカメラ制御１２０に通知する。カメラ制御１２０はＣＦカードＡＴＡ  Ｉ／Ｆ１３０を介してＣＩＳと呼ばれるカードの属性情報を読み出し、解析を行う（Ｓ６０２）。ＣＩＳ情報の解析の結果Ｓ６０３においてメモリーカードであると判定された場合は、Ｓ６０４のカードコンフィグレーションを行う。Ｓ６０３においてメモリーカードではないと判定された場合は、カードをマウントせずに終了する（Ｓ６１２）。
【００１７】
Ｓ６０４のカードコンフィグレーションにおいては、ＣＦカード２００をＡＴＡプロトコルに準拠しＣＦＡＴＡカードとしてコンフィグレーションを行う。次に、Ｓ６０５においてＣＦカード２００の先頭のセクタであるゼロセクタを読み込み、解析を行う。ゼロセクタ解析において、先頭セクタがＭＢＲであると判定された場合は（Ｓ６０６）、Ｓ６０７の第一パーティション解析に移る。先頭セクタがＭＢＲではないと判定された場合は（Ｓ６０６）、Ｓ６０７の第一パーティション解析は省略し、ＣＦカード２００の先頭のセクタがボリュームのブートセクタであるとしてＳ６０８のＢＰＢ解析に移る。
【００１８】
Ｓ６０７の第一パーティション解析で第一パーティションが見つかったら、そのパーティションの先頭セクタをブートセクタとして、ＢＰＢ解析（Ｓ６０８）に移る。Ｓ６０８のＢＰＢ解析においては、ブートセクタのシグネチャをチェックし、表Ａに示される各ＢＰＢの項目が妥当かどうかをチェックし、妥当であると判断された場合は、ＣＦカード２００が有効なファイルシステムであると判定し（Ｓ６０９）、撮像装置１００で使用するファイルシステムとしてマウントする。ＣＦカード２００が有効なファイルシステムではないと判定された場合は（Ｓ６０９）、カードをマウントせずに終了する（Ｓ６１２）。
【００１９】
次に、撮影時の画像ファイル生成までの一連の動作について説明する。図７に示したフローチャートはカメラ制御１２０における撮影時の画像ファイル生成シーケンスを表している。
【００２０】
使用者によって入出力部１１０にある不図示のシャッターボタンが押下されたことを検知すると（Ｓ７０１）、カメラ制御１２０はＣＦカード２００に撮影画像を格納するだけの空き容量があるか否かの検査を開始する（Ｓ７０２）。この空き容量検査は、カメラ制御１２０がカード２００をＡＴＡストレージカードと見なしてＣＦカードＡＴＡＩ／Ｆ１３０を介してアクセスを行い、ファイルシステムの空きクラスタ情報を読み出すことにより行われる。
【００２１】
空き容量検査で撮影画像を格納するだけの空き容量があると判定されると、カメラ制御１２０は撮像部１４０に対して撮影開始を指示する（Ｓ７０３）。カメラ制御１２０は、撮像部１４０が、撮影が終了したことを検知すると（Ｓ７０４）、画像処理部１５０に対して、撮影した画像データ取り込み、現像、ホワイトバランス、ＪＰＥＧ圧縮、等の画像処理を行わせる。
【００２２】
画像処理の終わった画像データは一旦画像バッファ１６０に格納され、カメラ制御１２０は画像バッファ１６０に格納された画像データをＥｘｉｆ規格のフォーマットに則って整形し画像ファイルを生成する（Ｓ７０６）。カメラ制御１２０はＣＦカードＡＴＡＩ／Ｆ１３０を介してファイルシステム上へ生成した画像ファイルの書き込みを指示する（Ｓ７０７）。ＣＦカードＡＴＡＩ／Ｆ１３０は、書き込みを行う画像ファイルをセクタ単位で、ＡＴＡコマンドプロトコル上のデータに変換し、ＣＦソケット１７０を介してカード２００に対して書き込みを行う。
【００２３】
次に、ＣＦカードを初期化するためのフォーマット処理における一連の操作について入出力部１１０の一構成例を用いて説明する。図８は入出力部１１０の一構成例であり、デジタルカメラを背面から俯瞰した図である。
【００２４】
図８においては、撮像装置１００は、入出力部として、シャッターボタン８０１、電源ＯＮ／ＯＦＦスイッチ８０２、光学ビューファインダー８０３、合焦ランプ８０４、ストロボ発行準備ランプ８０５、画像及びＧＵＩの表示のための液晶表示部８０６、メニューボタン８０７、表示ボタン８０８、ファンクションボタン８０９、上矢印ボタン８１０、左矢印ボタン８１１、下矢印ボタン８１２、右矢印ボタン８１３、セットボタン８１４、を具備している。
【００２５】
使用者によって、８０７のメニューボタンが押されると、液晶表示部８０６上に図１３に示されるメニュー画面１３１０が表示される。メニュー画面１３１０が表示されている最中に、使用者によって下矢印ボタン８１２を用いて、“カードの初期化”メニューが選択され（１３２０）、セットボタン８１４が押されると、カードの初期化画面１３３０が表示される。ここで、下矢印ボタン８１２を用いて、“ＯＫ”が選択され（１３４０）、セットボタン８１４が押されると、ＣＦカードのフォーマット処理が開始される。
【００２６】
次にＣＦカードフォーマット処理について図９および図１０を用いて説明する。図９はＣＦカードのフォーマット処理の流れを表したフローチャートである。図１０はＣＦカードのフォーマット処理の流れにおいて、メディア内部の論理マップを表す図である。
【００２７】
フォーマット処理が開始されると、まずＣＦカードの総容量を取得し、総容量からＦＡＴタイプを決定し、トータルボリュームのクラスタ数、クラスタサイズを求める（Ｓ９０１）。ＣＦカードの総容量は、ＡＴＡコマンドを用いてアイデンティファイ情報から得る。ＦＡＴタイプの決定は、次の表に示すテーブルを元に一意的に決定される。
【００２８】
【表１】
2006155132.tif 000003
【００２９】
トータルボリュームのクラスタ数、クラスタサイズは、ボリュームのサイズとＦＡＴタイプから決定される。たとえば、２ＧＢの容量を持つＣＦカードの場合ＦＡＴタイプはＦＡＴ３２となり、クラスタ数の上限は４１７７９１７であるので、最小クラスタサイズは１０２４となりクラスタ数は２０９７１５２となる。本実施形態においては、クラスタサイズはディスクの使用効率を考慮してできるだけ小さいサイズを採用するようにしたが、クラスタサイズは必ずしも最小のものを採用しなくても良い。
【００３０】
図１の１００１においてはトータルボリュームのクラスタ数をｎとし、クラスタ１からクラスタｎまでがトータルボリュームのデータ領域を表している。また、ＭＢＲはＣＦカードのマスターブートレコードを表している。ＰＢＲ＿Ａはトータルボリュームの先頭セクタであるブートセクタを表している。なおＦＡＴ３２の場合はＰＢＲ＿Ａの後に配置されるＲｅｓｅｒｖｅｄ領域にＢｉｇＦａｔＦｓＩｎｆｏおよびブートセクタとＢｉｇＦａｔＦｓＩｎｆｏのコピーが配置される。ＢｉｇＦａｔＦｓＩｎｆｏには空きクラスタ数、空きクラスタの検索の開始位置、等の情報が格納される。ＦＡＴｓ＿Ａはトータルボリュームのクラスタ数に応じたＦＡＴ領域である。
【００３１】
次に、Ｓ９０２ではテンポラリボリュームを作成するか否かの判定を行う。テンポラリボリュームを作成するか否かの判定は、ＦＡＴ領域のサイズが所定値ＦＡＴ＿ＴＨＲＥＳＨを超えるか否かによって行われる。すなわち、ＦＡＴ領域が所定値ＦＡＴ＿ＴＨＲＥＳＨよりも大きければ、ＦＡＴ領域の初期化のためのディスクアクセスに時間がかかることになり、すなわちフォーマットに時間がかかると言うことになるので、テンポラリボリュームを作成した後にトータルボリュームを作成することにするという判定を行う。
【００３２】
本実施形態においては、ＦＡＴ＿ＴＨＲＥＳＨを５ＭＢとしＦＡＴ領域のサイズがこの値を超える場合に、テンポラリボリュームを作成すると判定することとする。上記例においては、２ＧＢカードの場合クラスタ数は２０９７１５２となるので、ＦＡＴ領域は
２、０９７、１５２エントリ×４バイト＝８Ｍバイト
となり、テンポラリボリュームを作成すると判定される。なお、テンポラリボリュームを作成すると判定されなかった場合は、通常のファイルシステムフォーマットを行い、フォーマット処理（Ｓ９２１）を行い、処理を終了する。
【００３３】
次にテンポラリボリュームのサイズを決定する（Ｓ９０３）。テンポラリボリュームのサイズは、テンポラリボリュームのＦＡＴ領域のサイズの上限から求める。テンポラリボリュームのＦＡＴの上限はテンポラリボリュームのフォーマットにかかる時間を考慮して所定値を設定しておく。本実施形態においては、テンポラリボリュームのＦＡＴのサイズの上限ＴＶＯＬ＿ＦＡＴ＿ＭＡＸを１２８ｋＢとしておく。
【００３４】
なお、ＦＡＴ＿ＴＨＲＥＳＨ、及び、ＴＶＯＬ＿ＦＡＴ＿ＭＡＸの値は、使用するメディアのリード、ライトにおけるディスクアクセススピードの応じて動的に切り替えることもできる。ＴＶＯＬ＿ＦＡＴ＿ＭＡＸを１２８ｋＢとすると、
１２８ｋＢ／４バイト＝３２ｋエントリ
となり、３２ｋ個のクラスタを持つことができる。上記例においては、１クラスタあたり１０２４バイトであるので、
３２ｋ×１０２４＝３２ＭＢ
が、テンポラリボリュームの容量となる。なお、デジタルカメラにおいて、本実施形態を適用する場合においてはテンポラリボリュームのサイズは少なくとも十数枚以上の画像ファイルが格納できるサイズが望ましい。
【００３５】
テンポラリボリュームのサイズが決定したら、テンポラリボリュームに割り振るデータ領域の位置を決定する。ここではテンポラリボリュームのデータ領域のクラスタ境界がトータルボリュームのデータ領域のクラスタ境界と一致するように配置する。図１の１００２においては、テンポラリボリュームに割り振るクラスタ数をｍとし、テンポラリボリュームに割り振るクラスタ領域をクラスタｎ−ｍからクラスタｎまでとした。
【００３６】
上述の例ではｎ＝２Ｍ個、ｍ＝３２ｋ個となる。なお、テンポラリボリュームのデータ領域に割り振るクラスタ領域の位置は、作成されるテンポラリボリューム全体がトータルボリュームのデータ領域（クラスタ１からクラスタｎの領域）に収まる事が出来るのであればどこでも良い。
【００３７】
次にテンポラリボリュームのＦＡＴのサイズ、位置を決定する（Ｓ９０４）。テンポラリボリュームのＦＡＴのサイズはｍ×４バイトで表される。また、通常ＦＡＴは複製をあわせて２つ作成するのでＦＡＴ領域のサイズはｍ×４バイト×２テーブルで表される。上述の例では、
３２ｋ×４×２＝２５６ｋバイト
となる（＝ＴＶＯＬ＿ＦＡＴ＿ＭＡＸ×２）。ＦＡＴ領域はデータ領域の直前に配置しなければならないので、１００３０のＦＡＴｓ＿Ｂの位置にテンポラリボリュームのＦＡＴ領域を配置する。
【００３８】
次にテンポラリボリュームのブートセクタの位置を決定する（Ｓ９０６）。テンポラリボリュームのブートセクタの位置はＦＡＴｓ＿Ｂの前の適当な位置に配置する。１００３０においてはＰＢＲ＿Ｂの位置にテンポラリボリュームのブートセクタを配置している。ＰＢＲ＿ＢとＦＡＴｓ＿Ｂの間に未使用領域が配置される場合はＲｅｓｅｒｖｅｄ領域としておく。
【００３９】
ＭＢＲの第一パーティションをテンポラリボリュームに設定する（Ｓ９０７）。パーティションの設定はＭＢＲの第一パーティションのパーティションエントリにＰＢＲ＿Ｂのセクタ番号（ＬＢＡ）を設定する。
【００４０】
ここまでの処理によって、テンポラリボリューム配置が決定したので、テンポラリボリュームのフォーマットを行う。テンポラリボリュームのフォーマットは、まずテンポラリボリュームのＦＡＴ領域ＦＡＴｓ＿Ｂを初期化する（Ｓ９０８）。ＦＡＴの初期化は、すべてのクラスタを未使用クラスタに設定すること、すなわち０をセットすることによって行われる。次にテンポラリボリュームのブートセクタ（ＰＢＲ＿Ｂ）内にあるＢＰＢのパラメータを書き込みＢＰＢを初期化する（Ｓ９０９）。ここまでの処理で、テンポラリボリュームが、正式なＦＡＴファイルシステムのボリュームとしてフォーマットされたことになる。
【００４１】
次に、撮像装置１００はフォーマットされたテンポラリボリュームをファイルシステムにマウントする。（Ｓ９１０）。ファイルシステムにマウントされた時点でテンポラリボリュームはファイルアクセスが可能となるので、この時点でカメラはＣＦカードに対して撮影画像が書き込める状態となり、トータルボリュームすべてのフォーマットが終わらなくても撮影を許可することが出来る。
【００４２】
Ｓ９１１では、カメラは撮影を許可する。次に、トータルボリュームのフォーマット処理を行う（Ｓ９３１）。トータルボリュームのフォーマット処理は、まずトータルボリュームのＦＡＴ領域ＦＡＴｓ＿Ａを初期化する。ＦＡＴの初期化は、すべてのクラスタを未使用クラスタに設定すること、すなわち０をセットすることによって行われる。
【００４３】
次にトータルボリュームのブートセクタ（ＰＢＲ＿Ａ）内にあるＢＰＢのパラメータを書き込み、さらにＢｉｇＦａｔＦｓＩｎｆｏが存在する場合はＢｉｇＦａｔＦｓＩｎｆｏのパラメータを書き込んで、ＢＰＢを初期化する。（Ｓ９３２）。
【００４４】
この時点で、トータルボリュームの初期化処理は完了しているが、Ｓ９１１において既に撮影を許可しているので、テンポラリボリュームに画像ファイルが書き込まれている可能性がある。Ｓ９３３において、テンポラリボリュームに画像ファイルが格納されているか否かの判定を行い、画像が格納されていると判定された場合には、ＦＡＴおよびディレクトリエントリの情報をトータルボリュームに移す（Ｓ９３４）。この処理は後述する。
【００４５】
以上までの処理で、トータルボリュームのフォーマットおよび、テンポラリボリュームに画像が格納されていた場合のファイル移行処理が完了したので、ＭＢＲの第一パーティションをトータルボリュームに設定する（Ｓ９３６）。そして、図１の１００５のように、パーティションの設定はＭＢＲの第一パーティションのパーティションエントリにＰＢＲ＿Ａのセクタ番号（ＬＢＡ）を設定する。
【００４６】
次に、ファイルシステムにマウント済みのテンポラリボリュームをアンマウントとし（Ｓ９３７）、トータルボリュームをファイルシステムにマウントし（Ｓ９３８）、ＣＦカードへの書き込みを許可し（Ｓ９３９）、一連のフォーマット処理を終了する。
【００４７】
上記トータルボリュームのフォーマット処理においては、ＦＡＴの初期化処理（ＳＸ６３１０）にＦＡＴｓ＿Ａにすべて０を書き込むため長い時間がかかるということになる。このことはすなわち、フォーマット途中に電源を抜かれるといったことが起きる可能性があることとなる。しかしながら、本実施形態のように、あらかじめテンポラリボリュームを作成してからトータルボリュームをフォーマットすることにより、万が一トータルボリュームの初期化処理の最中に電源断等が発生したとしても、テンポラリボリュームが正常にフォーマットされたメディアとしてＣＦカードが扱われるので再度カメラやＰＣに挿入したときにテンポラリボリュームのファイルに正しくアクセスできる可能性が高いというメリットがる。
【００４８】
次に上述のステップＳ９３４で示した、テンポラリボリュームにファイルが格納されていた場合の、テンポラリボリュームのＦＡＴとディレクトリエントリの情報をトータルボリュームへ移す処理をより詳細に述べる。図１１はテンポラリボリュームに格納されているファイルのディレクトリエントリおよびＦＡＴテーブルの情報をトータルボリューム移行させる処理である。
【００４９】
Ｓ１１０１では、テンポラリボリューム上のルートディレクトリにあるディレクトリエントリをトータルボリュームのディレクトリエントリにコピーする。Ｓ１１０２で、ルートディレクトリから順に全ディレクトリをなぞるようにディレクトリエントリの検索を開始する。有効なディレクトリエントリを見つけた場合は（Ｓ１１０３）、そのディレクトリエントリのクラスタ番号を修正する（Ｓ１１０４）。具体的には、図１２に書かれているディレクトリエントリの中の１４、１５、１Ａ、１Ｂバイト目に格納されている開始クラスタ番号の値にテンポラリボリュームとトータルボリュームのクラスタ数の差分をオフセットとして加える。これにより、ディレクトリエントリに書かれた開始クラスタ番号はトータルボリューム上のクラスタ番号を指し示すようになる。Ｓ１１０２からＳ１１０４までの処理をループ処理として繰り返し、全ディレクトリのなぞりが終了したら、Ｓ１１０５に移る。
【００５０】
Ｓ１１０５では、テンポラリボリュームのＦＡＴテーブルをトータルボリュームのＦＡＴのオフセットした位置にコピーする。このときのオフセット値はテンポラリボリュームとトータルボリュームのクラスタ数の差分の値を使用する。ＦＡＴのコピーが完了すると次にコピー先であるトータルボリュームのＦＡＴの各項目の値にオフセットを加える処理を行う。
【００５１】
Ｓ１１０６では、トータルボリュームのＦＡＴをコピーされた先頭から順番にＦＡＴ項目に示されるクラスタ番号が有効なクラスタ番号か否かの判定を行う。具体的には、ＦＡＴ項目の値が最小有効クラスタ番号から最大有効クラスタ番号の間であれば、有効なＦＡＴ項目と判定する。それ以外の場合は、空きクラスタ、欠陥クラスタ、ファイルの最終クラスタ、等であると認識し無効ＦＡＴ項目と判定する（Ｓ１１０７）。
【００５２】
有効クラスタ番号であると認識されたＦＡＴ項目においてはクラスタ番号にオフセット値を加える（Ｓ１１０８）。このときのオフセット値はテンポラリボリュームとトータルボリュームのクラスタ数の差分の値を使用する。
【００５３】
Ｓ１１０９でＦＡＴの末尾までＦＡＴ項目の検索が完了した場合は処理を終了する。Ｓ１１０９でＦＡＴの末尾まで達していない場合は、Ｓ１１０６からＳ１１０８までの処理を繰り返す。
【００５４】
以上の処理により、テンポラリボリュームにあったファイルのディレクトリエントリ情報、およびＦＡＴ情報がトータルボリュームのクラスタ番号としてトータルボリュームに移行されたことになる。
【００５５】
（他の実施形態）
上記実施形態では、記憶媒体としてＣＦカードを使用した例を説明したが、本発明はこれに限るものではなく、ＳＤカードやマイクロドライブ等、他の記憶媒体を利用する場合においても適用可能である。
【００５６】
また、本発明は、撮像装置において適用されるものと限定されるものではなく、携帯電話やパーソナルコンピュータ等、他の機器においても適用可能なものである。
【図面の簡単な説明】
【００５７】
【図１】ＣＦカードのフォーマット処理における記憶領域の変化の流れを示す図である。
【図２】ＭＢＲの構成を示す図である。
【図３】パーティションエントリの構成を示す図である。
【図４】ＰＢＲの構成を示す図である。
【図５】撮像装置の構成を示すブロック図である。
【図６】ＣＦカードのファイルシステムのマウント処理を示すフローチャートである。
【図７】撮影時の画像ファイル生成シーケンスを示すフローチャートである。
【図８】撮像装置の入出力部を示す図である。
【図９】フォーマット処理を示すフローチャートである。
【図１０】ＢＰＢの構成を示す表である。
【図１１】ＦＡＴおよびディレクトリエントリの情報を移行する処理のフローチャートである。
【図１２】ディレクトリエントリの構成を示す図である。
【図１３】フォーマットメニューの画面遷移を表す図である。
【符号の説明】
【００５８】
１００  撮像装置
２００  ＣＦカード
１００１  記憶領域
【図１】
2006155132.tif 000004
【図２】
2006155132.tif 000005
【図３】
2006155132.tif 000006
【図４】
2006155132.tif 000007
【図５】
2006155132.tif 000008
【図６】
2006155132.tif 000009
【図７】
2006155132.tif 000010
【図８】
2006155132.tif 000011
【図９】
2006155132.tif 000012
【図１０】
2006155132.tif 000013
【図１１】
2006155132.tif 000014
【図１２】
2006155132.tif 000015
【図１３】
2006155132.tif 000016