(57)【要約】【課題】フラッシュメモリに対するデータ書き込み処理において発生する無効データ領域の削減、確実なデータ保持を可能とする構成を提供する。【解決手段】フラッシュメモリにデータ一次記憶領域と、データ格納領域とを設定し、逐次的に発生する記録データのデータ記録処理をデータ一次記憶領域を適用して実行し、データ一次記憶領域におけるデータ記録状態を検出して、データ記録状態が予め定めた規定状態に至ったことを条件として、データ一次記憶領域の記録データの連結処理を実行し連結データをデータ格納領域に書き込む。さらに、データ一次記憶領域とデータ格納領域の状態値を保持更新しながら処理を行なう。【選択図】図３
2007140628.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリに対するデータ記録処理を実行する情報処理装置であり、
データ一次記憶領域と、データ格納領域とを有するフラッシュメモリと、
前記データ一次記憶領域におけるデータ記録状態を検出し、前記データ記録状態が予め定めた規定状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記規定状態は、前記データ一次記憶領域に記録可能なページが存在しない状態であり、
前記制御部は、
前記データ一次記憶領域において、前記フラッシュメモリのデータ記録単位であるページについて、記録可能なページが存在しない状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記規定状態は、前記データ一次記憶領域に記録済みのデータと、記録予定のデータの総量が、前記フラッシュメモリのデータ記録単位であるページのデータ量を超える状態であり、
前記制御部は、
前記データ一次記憶領域に記録済みのデータと、記録予定のデータの総量が、前記フラッシュメモリのデータ記録単位であるページのデータ量を超える状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記制御部は、
前記データ一次記憶領域、および前記データ格納領域の状態値として、データ移動の開始状態と終了状態を示す状態値を保持し、前記データ一次記憶領域に記録されたデータの連結処理、および連結データの前記データ格納領域に書き込む処理の実行時に、前記状態値の更新処理を行なう構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記制御部は、
前記データ一次記憶領域の記録データをワークエリアにコピーする処理を実行する前に、前記データ一次記憶領域の前記状態値を移動開始状態値に設定し、
前記ワークエリアにおいて生成した連結データを前記データ格納領域に書き込む処理を実行する前に前記データ格納領域の前記状態値を移動開始状態値に設定し、
前記ワークエリアにおいて生成した連結データを前記データ格納領域に書き込む処理が完了したことを条件として、前記データ一次記憶領域、および前記データ格納領域の状態値を移動終了状態値に設定する処理を実行する構成であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
撮像装置であり、
動画像または静止画像を撮影するカメラ部と、
データ一次記憶領域と、データ格納領域とを有するフラッシュメモリと、
前記データ一次記憶領域におけるデータ記録状態を検出し、前記データ記録状態が予め定めた規定状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する制御部と、
を有することを特徴とする撮像装置。
【請求項７】
フラッシュメモリに対するデータ記録処理を実行する情報処理方法であり、
前記フラッシュメモリは、データ一次記憶領域と、データ格納領域とを有し、
前記データ一次記憶領域に対するデータ記録処理を実行するデータ記録ステップと、
前記データ一次記憶領域におけるデータ記録状態を検出し、前記データ記録状態が予め定めた規定状態に至ったか否かを判定する状態判定ステップと、
前記データ記録状態が前記規定状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する連結再書き込み処理実行ステップと、
を有することを特徴とする情報処理方法。
【請求項８】
前記状態判定ステップは、
前記規定状態に至ったか否かの判定処理として、前記データ一次記憶領域において、前記フラッシュメモリのデータ記録単位であるページについて、記録可能なページが存在しない状態に至ったか否かを判定する処理を実行するステップであり、
前記連結再書き込み処理実行ステップは、
前記データ一次記憶領域に記録可能なページが存在しない状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記状態判定ステップは、
前記規定状態に至ったか否かの判定処理として、前記データ一次記憶領域に記録済みのデータと、記録予定のデータの総量が、前記フラッシュメモリのデータ記録単位であるページのデータ量を超える状態に至ったか否かを判定する処理を実行するステップであり、
前記連結再書き込み処理実行ステップは、
前記データ一次記憶領域に記録済みのデータと、記録予定のデータの総量が、前記フラッシュメモリのデータ記録単位であるページのデータ量を超える状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行することを特徴とする請求項７に記載の情報処理方法。
【請求項１０】
前記情報処理方法は、さらに、
前記データ一次記憶領域、および前記データ格納領域の状態値として、データ移動の開始状態と終了状態を示す状態値を保持し、前記データ一次記憶領域に記録されたデータの連結処理、および連結データの前記データ格納領域に書き込む処理の実行時に、前記状態値の更新処理を行なう状態値更新ステップを有することを特徴とする請求項７に記載の情報処理方法。
【請求項１１】
前記状態値更新ステップは、
前記データ一次記憶領域の記録データをワークエリアにコピーする処理を実行する前に、前記データ一次記憶領域の前記状態値を移動開始状態値に設定し、
前記ワークエリアにおいて生成した連結データを前記データ格納領域に書き込む処理を実行する前に前記データ格納領域の前記状態値を移動開始状態値に設定し、
前記ワークエリアにおいて生成した連結データを前記データ格納領域に書き込む処理が完了したことを条件として、前記データ一次記憶領域、および前記データ格納領域の状態値を移動終了状態値に設定する処理を実行するステップであることを特徴とする請求項１０に記載の情報処理方法。
【請求項１２】
情報処理装置において、フラッシュメモリに対するデータ記録処理を実行させるコンピュータ・プログラムであり、
前記フラッシュメモリは、データ一次記憶領域と、データ格納領域とを有し、
前記データ一次記憶領域に対するデータ記録処理を実行するデータ記録ステップと、
前記データ一次記憶領域におけるデータ記録状態を検出し、前記データ記録状態が予め定めた規定状態に至ったか否かを判定する状態判定ステップと、
前記データ記録状態が前記規定状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する連結再書き込み処理実行ステップと、
を有することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、フラッシュメモリなどの不揮発性メモリに対するデータ書き込み処理において発生する無効データ領域の削減、確実なデータの保持を可能とする情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
昨今、ＰＣ（パーソナルコンピュータ）、データ記録または再生装置、ＰＤＡ、ビデオカメラ等、各種の電子機器におけるデータ記憶装置としてフラッシュメモリが多く利用されている。データの書き込みおよび消去が容易なフラッシュメモリは、小型、軽量、高速性、低消費電力といった特性を有し、例えば画像データ、音声データ、テキストファイル、プログラム等の記憶媒体として利用される。
【０００３】
特に、フラッシュメモリを電子機器に対して着脱自在な構成としたメモリカードが盛んに利用されており、例えばビデオカメラで取得した画像データを蓄積したメモリカードをＰＣに装着して再生したり、あるいはＰＣにおいてインターネットを介して、あるいはＣＤ、ＤＶＤ、ＭＤ等の記憶媒体から取得した音楽データをメモリカードに格納し、携帯プレーヤにメモリカードを装着して再生するなどの利用がなされる。
【０００４】
図１に示すように、フラッシュメモリには、データの消去処理単位としてのブロック１１０、および、データの読み出し、書き込み単位としてのページ１２０が規定されている。フラッシュメモリは、複数のブロックを有し、１ブロックは複数ページによって構成される。１ページは、例えば５１２Ｂｙｔｅのデータ格納領域１２１と、パリティーデータなどを書き込む１６Ｂｙｔｅの拡張領域（Ｅｘｔｒａ領域）１２２とから構成される。なお、データ格納領域、拡張領域のデータサイズはフラッシュメモリに応じて様々である。例えば、２０４８Ｂｙｔｅのデータ格納領域１２１と、６４Ｂｙｔｅの拡張領域（Ｅｘｔｒａ領域）１２２との組み合わせ等もある。
【０００５】
フラッシュメモリは、昨今、高速化・大容量化が進み、データ記録の最小単位（ページ）や消去の最小単位（ブロック）のサイズが共に大きくなる傾向にある。しかし、フラッシュメモリに記憶させたいデータ、すなわち１回の記録処理辺りのデータサイズは，フラッシュメモリに規定されたページサイズに比べて非常に小さい場合がある。これらをそのまま記録した場合には，ページ内に無効なデータ領域が広く存在し、結果としてフラッシュメモリ全体に書き込まれる有効データの量が小さくなる。
【０００６】
このような、無効データ領域の発生を抑制させるための手法として提案されている構成としては以下の２つの構成がある。
【０００７】
第１の構成は、例えば、書き込む必要があるデータがページサイズ分たまるまで書き込み処理を行わずに装置内のＲＡＭなどの揮発性メモリに保存し、フラッシュメモリに規定されたページサイズ分のデータが蓄積された時点で、フラッシュメモリに書き込む構成である。この構成によれば、フラッシュメモリの無効領域を削減することができる。
【０００８】
第２の構成は、フラッシュメモリに対するデータ書き込みは逐次実行し、その後、デフラグ処理によって、データ書き込み済みのフラッシュメモリのページ内の無効領域が少なくなるように複数のページ内の有効データを読み取り、連結して、再度、新たに書き込みを実行する構成である。この手法によってもフラッシュメモリの無効領域を削減することができる。
【０００９】
しかし、上述した第１の構成では、フラッシュメモリに対するデータ書き込みは、ＲＡＭ等の揮発性メモリの蓄積データがページサイズになるまで行われないので、例えば、ビデオカメラによって撮影記録処理を実行中など、情報処理装置におけるデータ記録処理を実行中に突然電源が遮断されたような場合には、ＲＡＭ等の揮発性メモリの蓄積データが消失することになり、最大、フラッシュメモリのページサイズ分のデータが失われる可能性があるという問題がある。
【００１０】
また、第２の構成では、フラッシュメモリに書き込み済みのデータを、読み込んで、これらを連結して再書き込みを実行する必要があり、連結・再書き込み前のページ間のチェイン構造を管理しておき、連結・再書き込み時にチェイン構造の情報と不揮発メモリ上のデータレイアウトを加味して再書き込みを実行することが必要であり、複雑な処理を行うことが要求される。また、このための管理用のデータを格納することが必要であり、管理データの格納領域を要し、さらに、連結・再書き込み用のプログラムサイズが大きくなるという問題がある。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
本発明は、上述の問題点に鑑みてなされたものであり、フラッシュメモリをデータ記録媒体として利用する情報処理装置において、フラッシュメモリにおいてデータ記録の最小単位として規定されるページサイズ以下のデータであっても突然の電源遮断により消去されることなく、また、複雑な有効データ間のチェイン構造の情報を保持することなく、単純な処理によって、連結再書き込みを行なうことで、フラッシュメモリの無効領域を削減し、さらに確実なデータの保持を可能とする情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明の第１の側面は、
フラッシュメモリに対するデータ記録処理を実行する情報処理装置であり、
データ一次記憶領域と、データ格納領域とを有するフラッシュメモリと、
前記データ一次記憶領域におけるデータ記録状態を検出し、前記データ記録状態が予め定めた規定状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する制御部と、
を有することを特徴とする情報処理装置にある。
【００１３】
さらに、本発明の情報処理装置の一実施態様において、前記規定状態は、前記データ一次記憶領域において、前記フラッシュメモリのデータ記録単位であるページについて、記録可能なページが存在しない状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する構成であることを特徴とする。
【００１４】
さらに、本発明の情報処理装置の一実施態様において、前記規定状態は、前記データ一次記憶領域に記録済みのデータと、記録予定のデータの総量が、前記フラッシュメモリのデータ記録単位であるページのデータ量を超える状態であり、前記制御部は、前記データ一次記憶領域に記録済みのデータと、記録予定のデータの総量が、前記フラッシュメモリのデータ記録単位であるページのデータ量を超える状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する構成であることを特徴とする。
【００１５】
さらに、本発明の情報処理装置の一実施態様において、前記制御部は、前記データ一次記憶領域、および前記データ格納領域の状態値として、データ移動の開始状態と終了状態を示す状態値を保持し、前記データ一次記憶領域に記録されたデータの連結処理、および連結データの前記データ格納領域に書き込む処理の実行時に、前記状態値の更新処理を行なう構成であることを特徴とする。
【００１６】
さらに、本発明の情報処理装置の一実施態様において、前記制御部は、前記データ一次記憶領域の記録データをワークエリアにコピーする処理を実行する前に、前記データ一次記憶領域の前記状態値を移動開始状態値に設定し、前記ワークエリアにおいて生成した連結データを前記データ格納領域に書き込む処理を実行する前に前記データ格納領域の前記状態値を移動開始状態値に設定し、前記ワークエリアにおいて生成した連結データを前記データ格納領域に書き込む処理が完了したことを条件として、前記データ一次記憶領域、および前記データ格納領域の状態値を移動終了状態値に設定する処理を実行する構成であることを特徴とする。
【００１７】
さらに、本発明の第２の側面は、
撮像装置であり、
動画像または静止画像を撮影するカメラ部と、
データ一次記憶領域と、データ格納領域とを有するフラッシュメモリと、
前記データ一次記憶領域におけるデータ記録状態を検出し、前記データ記録状態が予め定めた規定状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する制御部と、
を有することを特徴とする撮像装置にある。
【００１８】
さらに、本発明の第３の側面は、
フラッシュメモリに対するデータ記録処理を実行する情報処理方法であり、
前記フラッシュメモリは、データ一次記憶領域と、データ格納領域とを有し、
前記データ一次記憶領域に対するデータ記録処理を実行するデータ記録ステップと、
前記データ一次記憶領域におけるデータ記録状態を検出し、前記データ記録状態が予め定めた規定状態に至ったか否かを判定する状態判定ステップと、
前記データ記録状態が前記規定状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する連結再書き込み処理実行ステップと、
を有することを特徴とする情報処理方法にある。
【００１９】
さらに、本発明の情報処理方法の一実施態様において、前記状態判定ステップは、前記規定状態に至ったか否かの判定処理として、前記データ一次記憶領域において、前記フラッシュメモリのデータ記録単位であるページについて、記録可能なページが存在しない状態に至ったか否かを判定する処理を実行するステップであり、前記連結再書き込み処理実行ステップは、前記データ一次記憶領域に記録可能なページが存在しない状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行することを特徴とする。
【００２０】
さらに、本発明の情報処理方法の一実施態様において、前記状態判定ステップは、前記規定状態に至ったか否かの判定処理として、前記データ一次記憶領域に記録済みのデータと、記録予定のデータの総量が、前記フラッシュメモリのデータ記録単位であるページのデータ量を超える状態に至ったか否かを判定する処理を実行するステップであり、前記連結再書き込み処理実行ステップは、前記データ一次記憶領域に記録済みのデータと、記録予定のデータの総量が、前記フラッシュメモリのデータ記録単位であるページのデータ量を超える状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行することを特徴とする。
【００２１】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、前記データ一次記憶領域、および前記データ格納領域の状態値として、データ移動の開始状態と終了状態を示す状態値を保持し、前記データ一次記憶領域に記録されたデータの連結処理、および連結データの前記データ格納領域に書き込む処理の実行時に、前記状態値の更新処理を行なう状態値更新ステップを有することを特徴とする。
【００２２】
さらに、本発明の情報処理方法の一実施態様において、前記状態値更新ステップは、前記データ一次記憶領域の記録データをワークエリアにコピーする処理を実行する前に、前記データ一次記憶領域の前記状態値を移動開始状態値に設定し、前記ワークエリアにおいて生成した連結データを前記データ格納領域に書き込む処理を実行する前に前記データ格納領域の前記状態値を移動開始状態値に設定し、前記ワークエリアにおいて生成した連結データを前記データ格納領域に書き込む処理が完了したことを条件として、前記データ一次記憶領域、および前記データ格納領域の状態値を移動終了状態値に設定する処理を実行するステップであることを特徴とする。
【００２３】
さらに、本発明の第４の側面は、
情報処理装置において、フラッシュメモリに対するデータ記録処理を実行させるコンピュータ・プログラムであり、
前記フラッシュメモリは、データ一次記憶領域と、データ格納領域とを有し、
前記データ一次記憶領域に対するデータ記録処理を実行するデータ記録ステップと、
前記データ一次記憶領域におけるデータ記録状態を検出し、前記データ記録状態が予め定めた規定状態に至ったか否かを判定する状態判定ステップと、
前記データ記録状態が前記規定状態に至ったことを条件として、前記データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データを前記データ格納領域に書き込む処理を実行する連結再書き込み処理実行ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【００２４】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００２５】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２６】
本発明の一実施例構成によれば、データ記録を実行するフラッシュメモリに、データ一次記憶領域と、データ格納領域とを設定し、逐次的に発生する記録データのデータ記録処理をデータ一次記憶領域を適用して実行し、データ一次記憶領域におけるデータ記録状態を検出して、データ記録状態が予め定めた規定状態に至ったか否かを判定し、規定状態に至ったことを条件として、データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データをデータ格納領域に書き込む処理を実行する構成としたので、フラッシュメモリに対するデータ書き込み処理において発生する無効データ領域の削減が可能となる。
【００２７】
また、本発明の一実施例構成によれば、データ一次記憶領域からデータ格納領域へのデータ連結再書き込み処理に際して、データ一次記憶領域とデータ格納領域の処理状態を示す状態値を保持し、更新する処理を行なう構成としたので、例えば処理の実行中に電源遮断が発生した場合においても、電源復帰後、多々示威処理の再開を行なうことが可能となる。
【発明を実施するための最良の形態】
【００２８】
以下、図面を参照しながら、本発明の情報処理装置、撮像装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【００２９】
まず、本発明の情報処理装置の一例である撮像装置の構成について、図２を参照して説明する。図２に示す撮像装置２００は、装置において実行されるデータ記録およびデータ再生処理に関する制御を行う制御部として機能するＣＰＵ（中央演算処理装置）２０１を有している。
【００３０】
ＣＰＵ２０１において、データ記録処理、データ再生処理等の各種プログラムが実行される。これらのデータ処理プログラムの実行のための一時的な作業領域（ワークエリア）２１０は、ＲＡＭなどの揮発性メモリ２０２によって提供される。
【００３１】
撮像装置２００は、例えばＤＶＤやハードディスクなどによって構成される記録媒体２０３に対するデータ記録処理、データ再生処理を実行する記憶装置２０４を有する。
【００３２】
さらに、データ記録・再生等に必要な情報、例えばＦＡＴ（ファイルアロケーションテーブル）や、再生制御情報などのメタデータなどの管理情報等のバックアップデータを記録するフラッシュメモリ３００を有する。このフラッシュメモリ３００には、例えば撮像装置２００において撮影された動画像データのデータファイルに対するＦＡＴなどの管理情報がバックアップデータとして記録される。動画像データが記録媒体２０３に対して記録される際、フラッシュメモリ３００には、その記録動画像データに対応する管理情報としてのバックアップデータが記録、または更新される。
【００３３】
フラッシュメモリ３００には、図に示すように、バックアップデータ一次記憶領域３１０と、バックアップデータ格納領域３２０を有する。本発明の情報処理装置では、これらの各領域を利用して、連結再書き込みを行なうことで、フラッシュメモリの無効領域を削減し、さらに確実なデータの保持を可能とする。これらの処理の詳細については、後段で説明する。
【００３４】
さらに、撮像装置２００は、記録データの再生表示、あるいはユーザが操作を行うためのインタフェースとしての表示画面として適用される表示部２０５と、ユーザからの操作を受け付ける入力部２０６と、撮影画像を電気信号に変換するカメラ部２０７とを備えている。
【００３５】
フラッシュメモリ３００は、上述したように、バックアップデータを一時的に保持するためのバックアップデータ一次記憶領域３１０と、バックアップデータ格納領域３２０を有する。フラッシュメモリ３００に対する書き込みデータが発生した場合、これらは、一旦、バックアップデータ一次記憶領域３１０に記録され、その後、これらがバックアップデータ格納領域３２０に再書き込みされる。
【００３６】
この再書き込みの際には、ＲＡＭ等の揮発性メモリ２０１のワークエリア２１０が利用される。すなわち、バックアップデータ一次記憶領域３１０に記録されたデータを読み出して連結し、バックアップデータ格納領域３２０に再書き込みを実行するデータ処理用の作業領域として揮発性メモリ２０１のワークエリア２１０が使用される。
【００３７】
次に、図３を参照して、フラッシュメモリ３００内のバックアップデータ一次記憶領域３１０に一時的に記録されたバックアップデータを、バックアップデータ格納領域３２０に再書き込みする処理の詳細について説明する。
【００３８】
フラッシュメモリ３００に対する書き込みデータが発生した場合、これらは、一旦、バックアップデータ一次記憶領域３１０の各ページに順次記録される。その後、これらがバックアップデータ格納領域３２０に再書き込みされる。この再書き込み時には、バックアップデータ一次記憶領域３１０の各ページに散在して書き込まれたデータを読み出して、ＲＡＭ等の揮発性メモリ２０２のワークエリア２１０において、連結処理を実行し、バックアップデータ格納領域３２０に再書き込みを行なう。
【００３９】
データの連結処理は、フラッシュメモリ３００に規定されたページのデータ量を超えない範囲で実行され、連結されたデータは、フラッシュメモリ３００のバックアップデータ格納領域３２０のページに書き込まれる。
【００４０】
図３に示すように、バックアップデータ一次記憶領域３１０には、逐次バックアップデータが書き込まれるが、それぞれの書き込み処理発生ごとに、１つのページを使用した書き込み処理が実行される。複数回のデータ書き込み処理が実行されると、図３に示すバックアップデータ一次記憶領域３１０に示す様に、バックアップデータ一次記憶領域３１０の複数のページｎ〜ｎ＋ｍに少量の有効データが格納され、各ページｎ〜ｎ＋ｍには大きな無効データ領域が発生することになる。例えば図３に示すバックアップデータ一次記憶領域３１０のページｎには、有効データ４０１が記録されるが、その他の領域は、無効データ４０２によって占有されることになる。その他のページについても同様であり、各ページには、わずかの有効データのみが記録されることになる。
【００４１】
ＣＰＵ２０１は、バックアップデータ一次記憶領域３１０内に記録されるデータの書き込み状況を監視し、バックアップデータ一次記憶領域３１０内の記録データが予め定めた条件を満たすと、バックアップデータ一次記憶領域３１０内の有効データをワークエリア２１０にコピーし、連結処理を実行する。さらに、ワークエリア２１０において生成された連結データをバックアップデータ格納領域３２０に書き込む処理を実行する。
【００４２】
データの連結処理は、前述したように、フラッシュメモリ３００に規定されたページの容量を超えない範囲で実行され、連結されたデータは、フラッシュメモリ３００のバックアップデータ格納領域３２０の１つのページに書き込まれる。図に示す例は、ワークエリア２１０において連結されたデータを、フラッシュメモリ３００のバックアップデータ格納領域３２０のページｐに書き込む処理例を示している。
【００４３】
このような再書き込み処理を実行することで、フラッシュメモリ３００のバックアップデータ格納領域３２０の各ページの有効データ占有率が上昇し、無効データ領域が削減される。
【００４４】
本発明の情報処理装置におけるフラッシュメモリに対するデータ記録処理シーケンスについて、図４以下のフローチャートを参照して説明する。図４は、バックアップの要求、すなわち、ＦＡＴやメタデータなどの管理情報の書き込み要求が発生する毎に実行する処理であり、ＣＰＵ２０１の制御の下に実行される処理である。
【００４５】
バックアップデータ書き込み要求が発生すると、ステップＳ１０１において、バックアップデータ一次記憶領域３１０のページが全て使用済みか否かが判定される。全てのページが使用済みである場合は、ステップＳ２００に進む。ステップＳ２００では、図３を参照して説明したデータの連結再書き込み処理、すなわち、バックアップデータ一次記憶領域３１０内の有効データを連結して、バックアップデータ格納領域３２０に再書き込みする処理が実行される。この処理シーケンスについては、図５に示すフローを参照して後段で説明する。
【００４６】
ステップＳ１０１において、バックアップデータ一次記憶領域３１０のページが全て使用済みでないと判定された場合は、ステップＳ１０２に進み、バックアップデータ一次記憶領域３１０に記録された有効データと記録予定のバックアップデータを加算した総データ量がフラッシュメモリ３００に規定されたページサイズを超えるか否かが判定される。これは、すでにバックアップデータ一次記憶領域３１０に記録済みの有効データと、新たに発生した記録予定のバックアップデータを加算した総データ量についてページサイズを超えるか否かを判定する処理として実行される。
【００４７】
バックアップデータ一次記憶領域３１０に記録された有効データと記録予定のバックアップデータを加算した総データ量がフラッシュメモリ３００に規定されたページサイズを超えると判定された場合は、ステップＳ２００に進み図３を参照して説明した再書き込み処理が実行される。
【００４８】
ステップＳ１０１において、バックアップデータ一次記憶領域３１０のページが全て使用済みでないと判定され、ステップＳ１０２において、バックアップデータ一次記憶領域３１０に記録された有効データと記録予定のバックアップデータを加算した総データ量がフラッシュメモリ３００に規定されたページサイズを超えないと判定された場合は、ステップＳ１０３に進み、記録予定のバックアップデータをバックアップデータ一次記憶領域３１０の利用可能なページに記録する処理を実行する。
【００４９】
また、ステップＳ１０１において、バックアップデータ一次記憶領域３１０のページが全て使用済みであると判定された場合、あるいはステップＳ１０２において、バックアップデータ一次記憶領域３１０に記録された有効データと記録予定のバックアップデータを加算した総データ量がフラッシュメモリ３００に規定されたページサイズを超えると判定された場合は、ステップＳ２００において、バックアップデータ一次記憶領域３１０に記録された有効データを、連結してバックアップデータ格納領域３２０に再書き込みを実行した後、バックアップデータ一次記憶領域３１０のデータを消去（フラッシュ）した後、ステップＳ１０３に進み、記録予定のバックアップデータをバックアップデータ一次記憶領域３１０の利用可能なページに記録する処理を実行する。
【００５０】
次に、図４に示すステップＳ２００のデータ再書き込み処理の詳細シーケンスについて、図５に示すフローチャートを参照して説明する。図５に示す処理は、図４に示すステップＳ１０１において、バックアップデータ一次記憶領域３１０のページが全て使用済みであると判定された場合、あるいはステップＳ１０２において、バックアップデータ一次記憶領域３１０に記録された有効データと記録予定のバックアップデータを加算した総データ量がフラッシュメモリ３００に規定されたページサイズを超えると判定された場合に制御部としてのＣＰＵ２０１の制御の下に実行される処理である。
【００５１】
このデータ連結・再書き込み処理では、バックアップデータ一次記憶領域３１０と、バックアップデータ格納領域３２０の状態値を設定し、状態値に応じて処理を実行する。状態値は、
（ａ）移動開始状態
（ｂ）移動終了状態
これらの２つの状態に対応する状態値の管理が実行されることになる。図６に、データ連結・再書き込み処理の実行時に、ＣＰＵ２０１において管理される各領域の状態値の時間的遷移を示す。なお、これらの状態値は、例えばフラッシュメモリ３００内の記憶領域を利用して記録する設定としてもよいし、別途ＥＥＰＲＯＭなどを実装してＥＥＰＲＯＭ内に状態値を設定する構成としてもよい。
【００５２】
図６に示す状態値遷移を参照しなから、図５に示すフローチャートの各ステップの処理について説明する。まず、ステップＳ２０１において、バックアップデータ一次記憶領域３１０を［移動開始］状態に設定する。図６に示す状態（１）である。なお、初期状態は、バックアップデータ一次記憶領域３１０、バックアップデータ格納領域３２０のいずれも［移動終了］状態とされている。
【００５３】
次に、ステップＳ２０２において、バックアップデータ一次記憶領域３１０に記録済みの有効データを読み取り、揮発性メモリ２０２のワークエリア２１０にコピーし、これらのコピーデータを連結する処理を実行する。これは、図３を参照して説明した処理である。
【００５４】
次に、ステップＳ２０３において、バックアップデータ格納領域３２０を［移動開始］状態に設定する。図６に示す状態（２）である。
【００５５】
次に、ステップＳ２０４において、ワークエリア２１０において連結したデータをバックアップデータ格納領域３２０に書き込む処理を実行する。データ書き込み処理は、バックアップデータ格納領域３２０から利用可能なページを選択し、その選択ページに対するデータ書き込み処理として実行される。例えば図３を参照して説明したバックアップデータ格納領域３２０のページｐに対するデータ書き込み処理に相当する。
【００５６】
次に、ステップＳ２０５において、バックアップデータ格納領域３２０を［移動終了］状態に設定する。図６に示す状態（３）である。次に、ステップＳ２０６において、バックアップデータ一次記憶領域３１０を［移動終了］状態に設定する。図６に示す状態（４）である。
【００５７】
これらの処理によって、再書き込み処理、すなわち、バックアップデータ一次記憶領域３１０内の有効データをワークエリア２１０において連結し、バックアップデータ格納領域３２０へ書き込みする処理が終了する。
【００５８】
図６に示す状態値の遷移について説明する。制御部としてのＣＰＵ２０１は、バックアップデータ一次記憶領域３１０に記録されたバックアップデータをワークエリア２１０にコピーする処理を実行する前に、バックアップデータ一次記憶領域３１０の状態値を移動開始状態値［１］に設定する。さらに、ワークエリア２１０において生成した連結データをバックアップデータ格納領域３２０に書き込む処理を実行する前にパックアップデータ格納領域３２０の状態値を移動開始状態値［１］に設定する。その後、ワークエリア２１０において生成した連結データをバックアップデータ格納領域３２０に書き込む処理が完了したことを条件として、バックアップデータ一次記憶領域３１０、およびバックアップデータ格納領域３２０の状態値を移動終了状態値［０］に設定する処理を実行する。これらの状態値更新処理により、例えば処理過程で電源遮断が発生した場合であっても、処理状態を判別することが可能となり、電源復帰後の処理を誤りなく実行することが可能となる。
【００５９】
なお、図５に示すフローに従ったデータの連結再書き込み処理が実行された後、図４に示すフローのステップＳ１０３の処理、すなわち、バックアップデータ一次記憶領域３１０に対して、新たに発生したバックアップデータの書き込み処理が実行されることになる。新たなバックアップデータの書き込みが行なわれる前に、バックアップデータ一次記憶領域３１０は、ブロック単位のデータ消去が行なわれ、利用可能なページ領域が新たに設定される。新たなバックアップデータの書き込みは、フラッシュ処理がなされ書き込み可能に設定されたページに対して実行されることになる。
【００６０】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【００６１】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【００６２】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【００６３】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【００６４】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【００６５】
以上、説明したように、本発明の一実施例構成によれば、データ記録を実行するフラッシュメモリに、データ一次記憶領域と、データ格納領域とを設定し、逐次的に発生する記録データのデータ記録処理をデータ一次記憶領域を適用して実行し、データ一次記憶領域におけるデータ記録状態を検出して、データ記録状態が予め定めた規定状態に至ったか否かを判定し、規定状態に至ったことを条件として、データ一次記憶領域に記録されたデータの連結処理を実行し、該連結処理によって生成した連結データをデータ格納領域に書き込む処理を実行する構成としたので、フラッシュメモリに対するデータ書き込み処理において発生する無効データ領域の削減が可能となる。
【００６６】
また、本発明の一実施例構成によれば、データ一次記憶領域からデータ格納領域へのデータ連結再書き込み処理に際して、データ一次記憶領域とデータ格納領域の処理状態を示す状態値を保持し、更新する処理を行なう構成としたので、例えば処理の実行中に電源遮断が発生した場合においても、電源復帰後、多々示威処理の再開を行なうことが可能となる。
【図面の簡単な説明】
【００６７】
【図１】フラッシュメモリのデータ記録処理単位について説明する図である。
【図２】本発明の一実施例の情報処理装置としての撮像装置の構成について説明する図である。
【図３】本発明の情報処理装置におけるデータの再書き込み処理の概要を説明する図である。
【図４】本発明の情報処理装置におけるデータの書き込み処理シーケンスについて説明するフローチャートを示す図である。
【図５】本発明の情報処理装置におけるデータの連結、再書き込み処理シーケンスについて説明するフローチャートを示す図である。
【図６】本発明の情報処理装置におけるデータの連結、再書き込み処理の実行しにおける各領域の状態値遷移について説明する図である。
【符号の説明】
【００６８】
１１０  ブロック
１２０  ページ
１２１  データ格納領域
１２２  拡張領域（Ｅｘｔｒａ領域）
２００  撮像装置
２０１  ＣＰＵ
２０２  揮発性メモリ
２０３  記録媒体
２０４  記憶装置
２０５  表示部
２０６  入力部
２０７  カメラ部
３００  フラッシュメモリ
３１０  バックアップデータ一次記憶領域
３２０  バックアップデータ格納領域
【図１】
2007140628.tif 000003
【図２】
2007140628.tif 000004
【図３】
2007140628.tif 000005
【図４】
2007140628.tif 000006
【図５】
2007140628.tif 000007
【図６】
2007140628.tif 000008