(57)【要約】【課題】写真処理装置に内蔵されているフラッシュメモリのデータ更新中にアクシデントが発生してもデータが全てなくなることがない、フラッシュメモリのデータ更新方法を提供することを目的とする。【解決手段】フラッシュメモリのデータ更新方法であって、データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索し、前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較し、前記比較結果に基づいて、第１または第２記憶領域を決定し、前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新することを特徴とする。【選択図】図２
2008276492.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリのデータ更新方法であって、
前記フラッシュメモリの格納領域を、第１、第２管理領域と、当該第１、第２管理領域のそれぞれに対応する第１、第２記憶領域とを有するように割り当て、当該第１管理領域を分割して第１１、第１２分割管理領域とし、第２管理領域を分割して、第２１、第２２分割管理領域とするように構成し、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索し、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較し、
前記比較結果に基づいて、第１または第２記憶領域を決定し、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新することを特徴とするフラッシュメモリのデータ更新方法。
【請求項２】
前記更新されるデータを検索する場合に、第１および／または第２管理領域に記憶されているデータ番号を検索するように構成することを特徴とする請求項１に記載のフラッシュメモリのデータ更新方法。
【請求項３】
前記管理情報を比較して、第１または第２記憶領域を決定する場合に、更新されるデータが第１、第２記憶領域の両方に存在する場合、データ書込み終了時刻の古い方を決定し、
更新されるデータが第１、第２記憶領域のいずれか一方に存在する場合、その他方の記憶領域を決定するように構成することを特徴とする請求項１または２に記載のフラッシュメモリのデータ更新方法。
【請求項４】
前記決定された記憶領域にデータ更新を実行する場合に、一方の分割管理領域に対して、データ書き込み前の管理情報を登録し、他方の分割管理領域に対して、データ書き込み後の管理情報を登録するように構成することを特徴とする請求項１〜３のいずれか１項に記載のフラッシュメモリのデータ更新方法。
【請求項５】
格納領域を、第１、第２管理領域と、当該第１、第２管理領域のそれぞれに対応する第１、第２記憶領域とを有するように割り当て、当該第１管理領域を分割して第１１、第１２分割管理領域とし、第２管理領域を分割して、第２１、第２２分割管理領域とするように構成されているフラッシュメモリのデータ更新プログラムであって、
コンピュータに、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索するステップと、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較するステップと、
前記比較結果に基づいて、第１または第２記憶領域を決定するステップと、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新するステップと、
記憶領域のデータ更新を実行するステップと、
他方の分割管理領域の管理情報を更新するステップと、を実行させるためのフラッシュメモリのデータ更新プログラム。
【請求項６】
フラッシュメモリにデータを書込むデータ書込み装置であって、
前記フラッシュメモリの格納領域を、第１、第２管理領域と、当該第１、第２管理領域のそれぞれに対応する第１、第２記憶領域とを有するように割り当て、当該第１管理領域を分割して第１１、第１２分割管理領域とし、第２管理領域を分割して、第２１、第２２分割管理領域とするように構成し、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索する検索部と、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較する比較部と、
前記比較結果に基づいて、第１または第２記憶領域を決定する決定部と、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新するデータ更新部と、備えるデータ書込み装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フラッシュメモリのデータ更新方法、そのデータ更新プログラム、およびデータ書込み装置に関する。特に、写真プリント処理を行う写真処理装置に内蔵されているフラッシュメモリに対するデータ更新に有用である。
【背景技術】
【０００２】
写真処理装置の基本動作を制御するためのマイコン基板には、各種制御プログラム、各種設定値等を格納するためにフラッシュメモリ（別名としてフラッシュＲＯＭ）が実装されている場合がある。基本動作としては、例えば起動時のセットアップ処理がある。ここでのセットアップとは、例えば、イエロー、マゼンタ、シアンの色合い（色味）の調整を行うことである。例えば、セットアップ用画像（テスト画像）を写真処理装置でセットアッププリントする。その後セットアッププリントのテスト画像に対して濃度の測定を行う。この測定された結果をもとに適正な仕上がりか否かが判断され、適正な仕上がりでない場合、光源の印加電圧、露光ヘッドの移動速度等を制御し、光量調整や露光調整を行い、セットアッププリントを繰り返す（特許文献１）。
【０００３】
写真処理装置は、ユーザからの要求、機能拡張、バージョンアップ等のために制御プログラム、各種設定値等を更新する場合がある。このような場合において、一般的には、例えばＲＯＭライターと呼ばれるデータ書込み装置、あるいはデータ書込みソフトウェアがインストールされたパソコン等を用いてフラッシュメモリのデータ更新が行なわれる。
【０００４】
しかしながら、データ更新中に何らかのアクシデントによって、更新データが飛んでしまい、更新前のデータも同時に読み取れなくなる場合があった。例えば、ＲＯＭライターでデータ更新中に、写真処理装置本体の電源がＯＦＦされた場合等に、フラッシュメモリのデータが工場出荷時の設定値に戻ってしまったり、最悪の場合、データ読み出しが行なえない場合があった。
【０００５】
また、不揮発性メモリのデータ更新方法として以下の構成が知られている（特許文献２）。対象データの記憶領域を２重化し、データ書き込みの際に、この二つの記憶領域を交互に更新することにより、最新データに加えて、一つ前の世代のデータがバックアップデータとして常に記憶領域に残るように書き込み制御が行われている。そして、更新の際は、最新のデータを残して、バックアップデータの領域に更新データを書き込んでこれを最新のデータとし、これまでの最新データをバックアップデータとする。またデータのバージョンを表す更新番号をデータとともに管理領域に書き込むことで、どちらが最新のデータか識別可能になっている。
【０００６】
【特許文献１】特開２００１−５１３５４号公報
【特許文献２】特開２０００−３５７２１６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記特許文献２のデータ更新方法の場合、管理領域のデータを更新中にアクシデントが発生すると、データが飛んでしまい、修復作業ができず、結局のところ工場出荷時の値に戻ってしまう。その後の修復作業には数時間必要であり、この間に写真プリント処理が行なえないと店舗としては大変な損失であり、このような状況はなんとしても避ける必要がある。
【０００８】
本発明は上記実情に鑑みてなされたものであり、写真処理装置に内蔵されているフラッシュメモリのデータ更新中にアクシデントが発生してもデータが全てなくなることがない、フラッシュメモリのデータ更新方法を提供することを目的とする。また、そのデータ更新プログラムおよびデータ書込み装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため本発明に係るフラッシュメモリのデータ更新方法は、
前記フラッシュメモリの格納領域を、第１、第２管理領域と、当該第１、第２管理領域のそれぞれに対応する第１、第２記憶領域とを有するように割り当て、当該第１管理領域を分割して第１１、第１２分割管理領域とし、第２管理領域を分割して、第２１、第２２分割管理領域とするように構成し、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索し、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較し、
前記比較結果に基づいて、第１または第２記憶領域を決定し、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新することを特徴とする。
【００１０】
この構成によれば、フラッシュメモリは、その格納領域を、第１、第２管理領域と、当該第１、第２管理領域のそれぞれに対応する第１、第２記憶領域とを有して割り当てられている。さらに、第１管理領域を分割して第１１、第１２分割管理領域とし、第２管理領域を分割して、第２１、第２２分割管理領域とするように構成されている。そして、データ更新の際に、更新されるデータが記憶されている記憶領域を管理領域から検索する。この検索結果に基づいて、管理領域に記憶されている管理情報を比較する。この比較結果に基づいて、第１または第２記憶領域を決定する。この決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域（決定された記憶領域に対応する管理領域の分割管理領域）の管理情報を更新し、次いで、決定された記憶領域にデータ更新を実行し、その他方の分割管理領域の管理情報を更新するように構成されている。よって、データ更新中にフラッシュメモリの供給電源がＯＦＦされても、全てのデータがなくなることはなく、更新前のデータを読み出すことができる。また、工場出荷時の設定データに戻ることがなく、メンテナンスコストの削減や、ＭＴＢＦ（平均故障間隔）の向上となる。また、２つのデータ領域を交互に更新するので、フラッシュメモリの書込み寿命が１データあたり、通常の書込みに比べ２倍になる。
【００１１】
また、本発明の好適な実施形態の一例として、更新されるデータを検索する場合に、第１および／または第２管理領域に記憶されているデータ番号を検索するように構成することを特徴とする。データ番号は、管理情報に含まれている。
【００１２】
この構成によれば、更新されるデータを識別するためのデータ番号（識別情報）を検索するだけで、データの記憶領域を検索できる。
【００１３】
また、本発明の好適な実施形態の一例として、管理情報を比較して、第１または第２記憶領域を決定する場合に、更新されるデータが第１、第２記憶領域の両方に存在する場合、データ書込み終了時刻の古い方を決定し、
更新されるデータが第１、第２記憶領域のいずれか一方に存在する場合、その他方の記憶領域を決定するように構成することを特徴とする。データ書込み終了時刻は、管理情報に含まれている。
【００１４】
この構成によれば、管理領域に記憶されているデータ書込み終了時刻を比較することで、データの古い方を簡単に決定できる。また、更新されるデータが一方の記憶領域にのみ記憶されている場合には、他方の記憶領域に記憶させることで、旧データと新データを共に記憶させておくことができ、いずれのデータをも読み出すことができる。
【００１５】
また、本発明の好適な実施形態の一例として、決定された記憶領域にデータ更新を実行する場合に、一方の分割管理領域に対して、データ書き込み前の管理情報を登録し、他方の分割管理領域に対して、データ書き込み後の管理情報を登録するように構成することを特徴とする。
【００１６】
この構成によれば、管理領域を２重持ちし、一方をデータ書込み前の管理情報を登録し、他方をデータ書込み後の管理情報を登録することで、データ書込みの前後の管理情報を記憶しておける。
【００１７】
また、他の本発明のフラッシュメモリのデータ更新プログラムは、
格納領域を、第１、第２管理領域と、当該第１、第２管理領域のそれぞれに対応する第１、第２記憶領域とを有するように割り当て、当該第１管理領域を分割して第１１、第１２分割管理領域とし、第２管理領域を分割して、第２１、第２２分割管理領域とするように構成されているフラッシュメモリのデータ更新プログラムであって、
コンピュータに、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索するステップと、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較するステップと、
前記比較結果に基づいて、第１または第２記憶領域を決定するステップと、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新するステップと、
記憶領域のデータ更新を実行するステップと、
他方の分割管理領域の管理情報を更新するステップと、を実行させるためのフラッシュメモリのデータ更新プログラムである。
【００１８】
この構成の作用効果は、上記に記載した内容と同様である。
【００１９】
また、他の本発明のフラッシュメモリにデータを書込むデータ書込み装置は、
前記フラッシュメモリの格納領域を、第１、第２管理領域と、当該第１、第２管理領域のそれぞれに対応する第１、第２記憶領域とを有するように割り当て、当該第１管理領域を分割して第１１、第１２分割管理領域とし、第２管理領域を分割して、第２１、第２２分割管理領域とするように構成し、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索する検索部と、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較する比較部と、
前記比較結果に基づいて、第１または第２記憶領域を決定する決定部と、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新するデータ更新部と、備えている。
【００２０】
この構成の作用効果は、上記に記載した内容と同様である。
【発明を実施するための最良の形態】
【００２１】
（実施形態１）
本発明に係るフラッシュメモリを内蔵するマイコン基板を備えた写真処理装置の一例の構成について、図面を用いて説明する。
＜システムの全体構成＞
図１は、写真処理装置を備えたプリント処理システムの全体構成の一例を示す模式図である。本実施形態では、写真処理装置２が、ＬＡＮなどのネットワークを介してコントローラ端末１（パソコン等で構成）と接続されている。また、本システムにおいては、ネットワークを介して、記録媒体読み取り装置、写真プリント注文におけるオンラインプリント注文サーバ、注文者ＰＣ等と接続され、さらに図示していないが、受付端末、ネット受付端末が接続されている。なお、受付端末、記録媒体読み取り装置及びネット受付端末の設置台数は、それぞれ１台に限定されず、必要に応じて複数台を設置することができる。また、現像済みネガフィルムから画像データを読み取るためのスキャナー（不図示）もネットワークを介して接続される構成である。
【００２２】
コントローラ端末１は、パソコン等の情報処理装置で構成され、ネットワークを介して接続された写真処理装置２とデータ通信可能に構成され、写真処理装置２に対する動作命令、各種設定命令、写真プリント処理に関する画像データを写真処理装置２側に送信する機能を有している。
【００２３】
写真処理装置２は、コントローラ端末１から送信された画像データ（またはプリント作成用画像データ）に基づいて、写真プリントを作成する機能を有している。画像データとしては、スキャナーから取得される現像済みネガフィルムのコマ画像の画像データや、受付端末で受け付けた画像データ、ネットワーク経由で送信されてくる画像データなどが挙げられる。これら画像データは、プレジャッジ処理等の補正データによって画像処理され、プリント作成用画像データとして写真処理装置２側に提供され、写真処理装置２側では、そのデータに基づいて後述の露光処理を行う。本システムにおいて、写真処理装置２は複数設置されていてもよい。本発明の特徴点については後述する。
【００２４】
受付端末は、例えば店頭に設置され、デジタルカメラの記録メディアやその他の記録メディアに格納された画像データを受け付けることができる。受付端末は、主として顧客により操作されるものであり、顧客が持参した記録メディアを挿入して、写真プリントの作成対象となる画像データを選択したり、プリント枚数などを設定したりすることができる。記録媒体読み取り装置は、記録メディアから画像データを読み込む機能のほかに、コントローラ端末１から送信されてきた画像データ、注文データ等を記録メディアに書き込む機能も有している。
【００２５】
ネット受付端末はパソコンにより構成され、インターネットを経由したオンラインでのプリント注文を受け付ける機能を有する。かかるプリント注文の受け付けは、インターネット上に設置されたオンラインプリント注文サーバを介して行われる。即ち、プリント注文に係る画像データは、注文者ＰＣから上記サーバにアップロードされ、適当なタイミングでネット受付端末にダウンロードされてプリント処理に用いられる。このようにオンラインでプリント注文を受け付けるシステムは公知である。
【００２６】
＜プリント処理システムの機能ブロック構成＞
先ず、コントローラ端末１の主な機能について以下に説明する。
【００２７】
コントローラ端末１は、スキャナー、受付端末、記録媒体読み取り装置及びネット受付端末等から写真プリント注文に係る画像データおよび注文データからなるオーダー情報を受信するデータ受信部と、この受信したオーダー情報を保存するオーダー情報保存部と、このオーダー情報を管理制御する管理制御部と、オーダー情報の中の画像データを画像処理するための画像処理基板と、当該画像処理基板で画像処理されたプリント作成用画像データをオーダー単位に写真処理装置２側に送信するデータ送信部と、を有している。なお、画像処理基板は写真処理装置２側に設置し、コントローラ端末１から、画像処理されていない画像データと補正データを送信するように構成することもできる。
【００２８】
また、オーダー情報の画像データに対し、プレジャッジ処理を行ない、オーダー情報に当該プレジャッジの補正データを関連づけてオーダー情報保存部に保存するプレジャッジ処理部を有していてもよい。また、スキャナーまたは受付端末等から受信された画像データは、プレジャッジ処理後のものであってもよい。
【００２９】
本発明において、プレジャッジ処理は、画像データに基づいて写真プリントを作成する前に、適切な画質の写真プリントが作成されるか否かを判定するものであり、画像データに対する判定をオペレータが行なうための機能を提供し、かかる機能は主としてソフトウェアにより提供される。なお、プレジャッジ処理は必ず行なわなければならないものではなく、プレジャッジ処理を省略してプリント処理を行うことも可能である。
【００３０】
プレジャッジ処理部は、具体的には、色や濃度を補正するための補正データを入力する機能を提供するものであり、かかる補正データの入力は必要に応じて設定される。その他の補正データの設定としては、赤目補正、逆光補正などの特殊補正の設定が例としてあげられる。
【００３１】
また、プリント枚数の設定としては、スキャナーから取得した画像データに関してはデフォルトで１が設定されているが、オペレータの入力操作により変更することができる。
【００３２】
また、コントローラ端末１は、各種設定、操作指示入力等のための入力操作部と、各種設定操作指示表示等のためにモニターとを備えている。入力操作部は、キーボードやマウス等により構成される。
【００３３】
管理制御部は、写真プリント処理に関する画像データをオーダー単位に写真処理装置２側に送信するように制御している。
【００３４】
次に、写真処理装置２の機能構成について説明する。写真処理装置２は、コントローラ端末１からプリント作成用画像データを受信するデータ受信部と、受信されたプリント用作成画像データを保存するデータ保存部と、当該プリント作成用画像データをマガジンから繰り出され所定のプリントサイズに切断された印画紙Ｐに露光処理するための露光部２５と、露光処理された印画紙Ｐを現像処理するための現像部２６と、現像処理された印画紙Ｐを乾燥処理するための乾燥部２７と、乾燥処理された印画紙Ｐを仕分け処理しながら排出する仕分け排出部（不図示）と、を有して構成されている。また、写真処理装置２の全体的な動作を制御するための制御部を備えている。なお、コントローラ端末１から、画像データと補正データを受信する構成の場合、写真処理装置２側にプリント作成用画像データを作成するための画像処理基板が備えられている構成でもよい。
【００３５】
画像処理基板は、例えば、入力メモリ、画像処理回路部、展開メモリにより構成され、画像処理回路部において所定の画像処理が行なわれる。具体的には、プレジャッジ処理等の補正データに基づく色・濃度の補正、設定されたプリントサイズに従ったデータの拡縮処理などである。
【００３６】
制御部は、安価な構成のマイコン基板２０で実現される。このマイコン基板２０には、本発明に係るフラッシュメモリ２０１が組み込まれている。表示制御部は、ＬＣＤモジュール２１に対する表示制御を行う機能である。例えば、各種コマンド、データ等を送信することで、ＬＣＤドライバがその送信されたコマンド等に従い、表示データをＬＣＤパネルに文字パターンのドットとして展開し、表示する。
【００３７】
ＬＣＤモジュール２１は、ＬＣＤパネルと、バックライト、ＬＣＤドライバとを基本構成としている。ＬＣＤドライバは、例えば、キャラクタ・ジェネレータＲＯＭ（ＣＧＲＯＭ）、ユーザ定義用メモリ（ＣＧＲＡＭ）、表示データＲＡＭ等のメモリと、Ｉ／Ｏバッファ、コマンドレジスタ、データレジスタ、アドレスカウンタ、コマンド実行回路、タイミング生成回路、表示制御回路等を具備している。キャラクタ・ジェネレータＲＯＭには、英数字、カタカナ文字が格納されている。ユーザ定義用メモリ（ＣＧＲＡＭ）には、ユーザが所望する任意の外字を登録し格納することができる。
【００３８】
マイコン基板２０は、不図示のＣＰＵ（中央演算処理装置）、フラッシュメモリ２０１、その他のメモリ、バス、入出力インターフェース等のハードウエア資源で構成されている。各種機能を実現するために、フラッシュメモリ２０１には各種機能を実現するためのソフトウエアプログラム、設定値等が格納されている。例えば、表示制御部、制御部の動作手順はソフトウエアプログラムで構成されている。フラッシュメモリ２０１に記憶されているデータは、適時、バージョンアップされる。詳細は後述する。
【００３９】
（フラッシュメモリの構成）
本発明のフラッシュメモリ２０１は、不揮発性記録媒体であり、フラッシュＲＯＭとも称される。その基本回路構成としては、ＮＯＲ型、ＮＡＮＤ型の２種類があり、本発明においてはいずれのものを適用できる。本発明におけるフラッシュメモリ２０１は、例えば、５１２ｂｙｔｅ等の小さなデータサイズごとに管理できるように構成されている。大きなデータを扱かう場合、５１２Ｂｙｔｅ単位を複数の束として管理できるように構成している。
【００４０】
図３に格納領域の割り当ての概念を模式的に示す。図３に示すように、例えば、全体の格納領域の容量が８ＭＢｙｔｅである場合、データの管理情報を記憶している管理領域として、第１管理領域Ａ（１ＭＢｙｔｅ）、第２管理領域Ｂ（１ＭＢｙｔｅ）が割り当てられている。そして、第１管理領域Ａに対応するデータ記憶領域として、第１記憶領域Ａ（３ＭＢｙｔｅ）が割り当てられ、第２管理領域Ｂに対応するデータ記憶領域として、第２記憶領域Ｂ（３ＭＢｙｔｅ）が割り当てられている。さらに、第１管理領域Ａは、第１１分割管理領域Ａ１、第１２分割管理領域Ａ２に分割されている。第２管理領域Ｂは、第２１分割管理領域Ｂ１、第２２分割管理領域Ｂ２に分割されている。図３の場合、各第１、第２記憶領域の管理サイズは５１２Ｂｙｔｅであるが、他のサイズでもよい。
【００４１】
管理領域の管理情報は、管理サイズ単位に分割されたデータ領域と対であり、論理的に同一の配列番号（番地、アドレス）で紐付けされている。例えば、管理情報の総数が８１８８個の場合、データ領域の総数も８１８８個となる。管理情報の総数（８１８８個）は、具体的には、（管理領域＋予備領域）のサイズを１セクターである１２８Ｋで割って求めることができる。また、データ領域数が８１８８個なので、記憶領域が３Ｍｂｙｔｅの場合、管理サイズは、３ＭＢｙｔｅ／８１８８の値を求め、さらに使用しやすい２のｎ乗の数値にすると、５１２Ｂｙｔｅとなる。
【００４２】
管理領域の管理情報は、例えば、データ番号、指定データのサムチェック値、指定データの有効サイズ、指定データの書込み終了時刻等のデータを含んでいる。データ番号は、データが意味する機能ごとに定義された番号であり、例えば、電源ＯＮ時の動作処理機能、セットアップ処理機能、プロセッサ駆動制御機能等の機能単位に定義されている。このようにデータ番号が機能ごとに識別できるため、記憶領域に格納する場合に、連続番地で格納しなくともよくなる。例えば、バージョンアップ時にデータ量が増えた場合、増えたデータをバージョンアップ前の記憶された番地とは連続していない番地に格納することが可能になる。指定データのサムチェック値は、管理されている５１２Ｂｙｔｅのサムチェック値である。指定データの有効サイズは、管理されているデータの有効サイズを意味している。指定データの書込み終了時刻は、管理されているデータが書き込まれた時刻を意味している。管理領域は、２つに分割され、例えば、第１管理領域Ａは、第１１分割管理領域Ａ１と第２分割管理領域Ａ２からなり、第１１分割管理領域Ａ１に、記憶領域にデータを登録する前の管理情報を登録し、第１２分割管理領域Ａ２に、記憶領域にデータを登録した後の管理情報を登録するように構成されている。
【００４３】
５１２Ｂｙｔｅ以上のデータを扱う場合、一つのデータ領域（５１２Ｂｙｔｅ）に記憶できない。この場合、２以上のデータ領域に分けて記憶させる（連続番地もあるし、不連続番地もある）。この場合、２以上のデータ領域を管理する（紐付けされた）管理領域の管理情報のデータ番号の値は、すべて同一の番号をとる。２以上のデータ領域にまたがるデータを読み込む場合には、データ領域の番地を昇順に読み込み、読み込んだデータを結合して最終的にひとまとまりのデータとして扱うことができる。データ領域ごとに読み込む場合、５１２Ｂｙｔｅごとにチェックサムを実行し、エラー判定を行なうことができる。
【００４４】
データ書込み装置３は、データ送受信に用いられるＩ／Ｏバッファ３１、装置の基本動作を制御する制御部３２、データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索する検索部３３と、検索結果に基づいて、それぞれの管理領域に記憶されている管理情報を比較する比較部３４と、比較結果に基づいて、第１または第２記憶領域を決定する決定部３５と、決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新するデータ更新部３６の機能を有して構成されている。また、ハードウエア構成として、主に、ＣＰＵ、ＲＯＭ、ＲＡＭ、データバス、制御バス、表示装置、入力装置等を具備し、ＲＯＭには、上記各機能を実現するためのソフトウエアプログラムが格納されている。なお、上記各機能要素を専用回路で構成することもできる。
【００４５】
検索部３３は、更新されるデータを検索する場合に、第１および／または第２管理領域に記憶されているデータ番号を検索することができる。
【００４６】
比較部３４は、更新されるデータが第１、第２記憶領域の両方に存在する場合、データ書込み終了時刻を比較することができる。また、比較部３４は、更新されるデータが第１、第２記憶領域のいずれか一方に存在するか否かを比較判断できる。
【００４７】
決定部３５は、第１または第２記憶領域を決定する場合に、更新されるデータが第１、第２記憶領域の両方に存在する場合、データ書込み終了時刻が古い方を決定することができる。また、決定部３５は、更新されるデータが第１、第２記憶領域のいずれか一方に存在する場合、その他方の記憶領域を決定することができる。
【００４８】
データ更新部３６は、決定された記憶領域にデータ更新を実行する場合に、一方の分割管理領域に対して、記憶領域にデータを書き込む前の管理情報を登録し、他方の分割管理領域に対して、記憶領域にデータを書き込んだ後の管理情報を登録することができる。
【００４９】
データ書込み装置３は、フラッシュメモリ２０１に直接にデータを書込むこともでき、マイコン基板２０のＣＰＵを介して書込むこともできる。
【００５０】
（データ書込み動作）
図４は、データの書込み動作を説明するためのフローチャートである。データ書込み装置３をマイコン基板２０にセットし、データ通信可能状態にする。データ書込み装置３の操作画面にしたがって、「データ番号」を指定し、更新するデータを特定する（Ｓ１）。以下において、「データ番号：０１」を指定したものとして、データ登録処理（データ更新処理）について説明する。
【００５１】
「データ番号：０１」をキーに第１管理領域Ａを検索し、次いで第２管理領域Ｂを検索する（Ｓ２、Ｓ３）。なお、ここでの検索順番は、逆であってもよい。次いで、第１、第２管理領域Ａ、Ｂの両方でヒットした場合、第１、第２記憶領域Ａ，Ｂの両方に古いバージョンのデータが格納されていると判断される（Ｓ４）。この場合、ステップＳ５において、データ書込み終了時刻の古い方を指定する（Ｓ５）。新しい方のデータを記憶させておくほうがよいからである。
【００５２】
いずれか一方の管理領域でヒットした場合（Ｓ６）、以下の手順となる。第１記憶領域Ａにデータが登録されている場合（第１管理領域Ａでヒットした状態）、第２記憶領域Ｂを指定する（Ｓ７−１）。第２記憶領域Ｂにデータが登録されている場合（第２管理領域Ｂでヒットした状態）、第１記憶領域Ａを指定する（Ｓ７−１）。これは、旧バージョンのデータを記憶しておけば、新バージョンのデータの書き込みまたは読み込みエラー時に対応できるからである。いずれの管理領域でもヒットしなかった場合、第１記憶領域Ａまたは第２記憶領域Ｂのいずれか一方を指定するようにしてもよい。
【００５３】
ステップＳ５、Ｓ７−１、Ｓ７−２のいずれかで指定された記憶領域にデータを登録することになる。以下では、便宜上、第１記憶領域Ａが指定されたものとして説明する。
【００５４】
第１１分割管理領域Ａ１に、現状の管理領域の内容（管理情報の内容）を登録する（Ｓ９）。現状の管理領域の内容（管理情報の内容）は、例えば、旧バージョンデータの管理情報である。第１１分割管理領域Ａ１には、常に、データ書込み前の現状の管理情報を登録し、第１２分割管理領域Ａ２には、常に、データ書込み後の管理情報を登録しておく。このような構成の場合、データ更新される際に、例えば、第１２分割管理領域Ａ２の管理情報の内容が、第１１分割管理領域Ａ１に登録される。
【００５５】
次いで、第１記憶領域Ａにデータ領域を確保する（Ｓ９）。旧バージョンのデータと新バージョンのデータ量が同じであれば、同一のデータ領域を確保すればよい。データ量が増えている場合には、新たにデータ領域を確保する必要がある。確保不可能で有る場合、容量不足の旨を返す（Ｓ９−１）。
【００５６】
次いで、確保されたデータ領域に、データを登録する（Ｓ１０）。それぞれのデータ領域ごとにデータを登録し、チェックサムを行い、データ書込み終了時刻をタイマーから取得する。そして、第１２分割管理領域Ａ２に、それぞれのデータ領域に対応する管理情報を個別に登録する（Ｓ１１）。登録される管理情報としては、データ番号、サムチェック値、データの有効サイズ、書込み終了時刻である。書込み終了時刻は、最後のデータ領域にデータを書き込んだ際の書込み終了時刻に統一してもよい。
【００５７】
以上の実施形態によれば、２重持ちの記憶領域に対応するように管理情報を２重持ちにし、さらにデータ登録前の管理情報と、データ登録後の管理情報とを共に管理情報として記憶しておくことができる。これによって、管理領域が書き込み中に飛んだとしても、いずれかの管理情報は生き残ることができる。
【００５８】
また、以上の実施形態では、データ更新に際し、古い方のデータを更新するように動作していたが、別の実施形態として、壊れているデータが存在する場合、壊れている方のデータを先に更新するように構成できる。データが壊れているか否かは公知の方法で判断できる。
【００５９】
（データ読み込み動作）
図５は、データの読み込み動作を説明するためのフローチャートである。データ番号が指定され（Ｓ２１）、データ番号をキーに第１管理領域Ａが検索され、第２管理領域Ｂが検索される（Ｓ２２，Ｓ２３）。第１、第２管理領域Ａ，Ｂの両方がヒットした場合（Ｓ２４）、データ書込み終了時刻を比較し、新しい方を指定する（Ｓ２５）。データ領域単位にチェックサムを確認し（Ｓ２６）、エラーが発生しない場合（Ｓ２７）、読み込みが正常に完了したことになる（Ｓ２８）。エラーが発生した場合（Ｓ２７）、ステップＳ２５で書込み終了時刻を比較した際の古い方を指定する（Ｓ２９）。次いで、データ領域単位にチェックサムを確認し（Ｓ３０）、エラーが発生しなかった場合（Ｓ３１）、読み込みが正常に完了したことになる（Ｓ３２）。エラーが発生した場合（Ｓ３１）、エラーとする。
【００６０】
ステップＳ２４で、いずれか一方がヒットした場合、ヒットした方に対応する第１記憶領域Ａまたは第２記憶領域Ｂが指定される（Ｓ２４−１）。これ以降の動作は、ステップＳ３０からＳ３２までと同様である。
【００６１】
（実施形態２）
本発明の実施形態は、ソフトウェアとハードウエア（ＣＰＵ、メモリ等）との協働作用によって実現でき、専用回路、ファームウエア等で、またはそれらの組み合わせで実現することもできる。
【００６２】
ソフトウェアで実現する場合、そのプログラムは以下のようになる。このプログラムは、記録媒体に記録され、記録媒体として提供可能であり、また、通信回線を介して提供（ダウンロード提供）されてもよい。通信回線を介して提供される場合、その一部の機能のみが提供されてもよく、他の一部がサーバ装置に残っていてもよく、全体の機能として本発明の機能が発揮されていれば本発明の技術的範囲に含まれる。
【００６３】
本発明のソフトウエアプログラムは、コンピュータに、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索するステップと、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較するステップと、
前記比較結果に基づいて、第１または第２記憶領域を決定するステップと、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新するステップと、
記憶領域のデータ更新を実行するステップと、
他方の分割管理領域の管理情報を更新するステップと、を実行させるためのフラッシュメモリのデータ更新プログラムである。
【図面の簡単な説明】
【００６４】
【図１】写真プリント処理システムの機能構成を説明するための図
【図２】データ書込み装置の機能構成を説明するための図
【図３】フラッシュメモリの格納領域の一例を説明するための図
【図４】データ書込み動作を説明するためのフローチャート
【図５】データ読み込み動作を説明するためのフローチャート
【符号の説明】
【００６５】
１    コントローラ端末
２    写真処理装置
３    データ書込み装置
２０  マイコン基板
２０１    フラッシュメモリ
３１    Ｉ／Ｏバッファ
３２    制御部
３３    検索部
３４    比較部
３５    決定部
３６    データ更新部
【図１】
2008276492.tif 000003
【図２】
2008276492.tif 000004
【図３】
2008276492.tif 000005
【図４】
2008276492.tif 000006
【図５】
2008276492.tif 000007