説明

フラッシュメモリのデータ更新方法、そのデータ更新プログラム、およびデータ書込み装置

【課題】写真処理装置に内蔵されているフラッシュメモリのデータ更新中にアクシデントが発生してもデータが全てなくなることがない、フラッシュメモリのデータ更新方法を提供することを目的とする。
【解決手段】フラッシュメモリのデータ更新方法であって、データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索し、前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較し、前記比較結果に基づいて、第1または第2記憶領域を決定し、前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新することを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、フラッシュメモリのデータ更新方法、そのデータ更新プログラム、およびデータ書込み装置に関する。特に、写真プリント処理を行う写真処理装置に内蔵されているフラッシュメモリに対するデータ更新に有用である。
【背景技術】
【0002】
写真処理装置の基本動作を制御するためのマイコン基板には、各種制御プログラム、各種設定値等を格納するためにフラッシュメモリ(別名としてフラッシュROM)が実装されている場合がある。基本動作としては、例えば起動時のセットアップ処理がある。ここでのセットアップとは、例えば、イエロー、マゼンタ、シアンの色合い(色味)の調整を行うことである。例えば、セットアップ用画像(テスト画像)を写真処理装置でセットアッププリントする。その後セットアッププリントのテスト画像に対して濃度の測定を行う。この測定された結果をもとに適正な仕上がりか否かが判断され、適正な仕上がりでない場合、光源の印加電圧、露光ヘッドの移動速度等を制御し、光量調整や露光調整を行い、セットアッププリントを繰り返す(特許文献1)。
【0003】
写真処理装置は、ユーザからの要求、機能拡張、バージョンアップ等のために制御プログラム、各種設定値等を更新する場合がある。このような場合において、一般的には、例えばROMライターと呼ばれるデータ書込み装置、あるいはデータ書込みソフトウェアがインストールされたパソコン等を用いてフラッシュメモリのデータ更新が行なわれる。
【0004】
しかしながら、データ更新中に何らかのアクシデントによって、更新データが飛んでしまい、更新前のデータも同時に読み取れなくなる場合があった。例えば、ROMライターでデータ更新中に、写真処理装置本体の電源がOFFされた場合等に、フラッシュメモリのデータが工場出荷時の設定値に戻ってしまったり、最悪の場合、データ読み出しが行なえない場合があった。
【0005】
また、不揮発性メモリのデータ更新方法として以下の構成が知られている(特許文献2)。対象データの記憶領域を2重化し、データ書き込みの際に、この二つの記憶領域を交互に更新することにより、最新データに加えて、一つ前の世代のデータがバックアップデータとして常に記憶領域に残るように書き込み制御が行われている。そして、更新の際は、最新のデータを残して、バックアップデータの領域に更新データを書き込んでこれを最新のデータとし、これまでの最新データをバックアップデータとする。またデータのバージョンを表す更新番号をデータとともに管理領域に書き込むことで、どちらが最新のデータか識別可能になっている。
【0006】
【特許文献1】特開2001−51354号公報
【特許文献2】特開2000−357216号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかしながら、上記特許文献2のデータ更新方法の場合、管理領域のデータを更新中にアクシデントが発生すると、データが飛んでしまい、修復作業ができず、結局のところ工場出荷時の値に戻ってしまう。その後の修復作業には数時間必要であり、この間に写真プリント処理が行なえないと店舗としては大変な損失であり、このような状況はなんとしても避ける必要がある。
【0008】
本発明は上記実情に鑑みてなされたものであり、写真処理装置に内蔵されているフラッシュメモリのデータ更新中にアクシデントが発生してもデータが全てなくなることがない、フラッシュメモリのデータ更新方法を提供することを目的とする。また、そのデータ更新プログラムおよびデータ書込み装置を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題を解決するため本発明に係るフラッシュメモリのデータ更新方法は、
前記フラッシュメモリの格納領域を、第1、第2管理領域と、当該第1、第2管理領域のそれぞれに対応する第1、第2記憶領域とを有するように割り当て、当該第1管理領域を分割して第11、第12分割管理領域とし、第2管理領域を分割して、第21、第22分割管理領域とするように構成し、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索し、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較し、
前記比較結果に基づいて、第1または第2記憶領域を決定し、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新することを特徴とする。
【0010】
この構成によれば、フラッシュメモリは、その格納領域を、第1、第2管理領域と、当該第1、第2管理領域のそれぞれに対応する第1、第2記憶領域とを有して割り当てられている。さらに、第1管理領域を分割して第11、第12分割管理領域とし、第2管理領域を分割して、第21、第22分割管理領域とするように構成されている。そして、データ更新の際に、更新されるデータが記憶されている記憶領域を管理領域から検索する。この検索結果に基づいて、管理領域に記憶されている管理情報を比較する。この比較結果に基づいて、第1または第2記憶領域を決定する。この決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域(決定された記憶領域に対応する管理領域の分割管理領域)の管理情報を更新し、次いで、決定された記憶領域にデータ更新を実行し、その他方の分割管理領域の管理情報を更新するように構成されている。よって、データ更新中にフラッシュメモリの供給電源がOFFされても、全てのデータがなくなることはなく、更新前のデータを読み出すことができる。また、工場出荷時の設定データに戻ることがなく、メンテナンスコストの削減や、MTBF(平均故障間隔)の向上となる。また、2つのデータ領域を交互に更新するので、フラッシュメモリの書込み寿命が1データあたり、通常の書込みに比べ2倍になる。
【0011】
また、本発明の好適な実施形態の一例として、更新されるデータを検索する場合に、第1および/または第2管理領域に記憶されているデータ番号を検索するように構成することを特徴とする。データ番号は、管理情報に含まれている。
【0012】
この構成によれば、更新されるデータを識別するためのデータ番号(識別情報)を検索するだけで、データの記憶領域を検索できる。
【0013】
また、本発明の好適な実施形態の一例として、管理情報を比較して、第1または第2記憶領域を決定する場合に、更新されるデータが第1、第2記憶領域の両方に存在する場合、データ書込み終了時刻の古い方を決定し、
更新されるデータが第1、第2記憶領域のいずれか一方に存在する場合、その他方の記憶領域を決定するように構成することを特徴とする。データ書込み終了時刻は、管理情報に含まれている。
【0014】
この構成によれば、管理領域に記憶されているデータ書込み終了時刻を比較することで、データの古い方を簡単に決定できる。また、更新されるデータが一方の記憶領域にのみ記憶されている場合には、他方の記憶領域に記憶させることで、旧データと新データを共に記憶させておくことができ、いずれのデータをも読み出すことができる。
【0015】
また、本発明の好適な実施形態の一例として、決定された記憶領域にデータ更新を実行する場合に、一方の分割管理領域に対して、データ書き込み前の管理情報を登録し、他方の分割管理領域に対して、データ書き込み後の管理情報を登録するように構成することを特徴とする。
【0016】
この構成によれば、管理領域を2重持ちし、一方をデータ書込み前の管理情報を登録し、他方をデータ書込み後の管理情報を登録することで、データ書込みの前後の管理情報を記憶しておける。
【0017】
また、他の本発明のフラッシュメモリのデータ更新プログラムは、
格納領域を、第1、第2管理領域と、当該第1、第2管理領域のそれぞれに対応する第1、第2記憶領域とを有するように割り当て、当該第1管理領域を分割して第11、第12分割管理領域とし、第2管理領域を分割して、第21、第22分割管理領域とするように構成されているフラッシュメモリのデータ更新プログラムであって、
コンピュータに、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索するステップと、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較するステップと、
前記比較結果に基づいて、第1または第2記憶領域を決定するステップと、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新するステップと、
記憶領域のデータ更新を実行するステップと、
他方の分割管理領域の管理情報を更新するステップと、を実行させるためのフラッシュメモリのデータ更新プログラムである。
【0018】
この構成の作用効果は、上記に記載した内容と同様である。
【0019】
また、他の本発明のフラッシュメモリにデータを書込むデータ書込み装置は、
前記フラッシュメモリの格納領域を、第1、第2管理領域と、当該第1、第2管理領域のそれぞれに対応する第1、第2記憶領域とを有するように割り当て、当該第1管理領域を分割して第11、第12分割管理領域とし、第2管理領域を分割して、第21、第22分割管理領域とするように構成し、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索する検索部と、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較する比較部と、
前記比較結果に基づいて、第1または第2記憶領域を決定する決定部と、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新するデータ更新部と、備えている。
【0020】
この構成の作用効果は、上記に記載した内容と同様である。
【発明を実施するための最良の形態】
【0021】
(実施形態1)
本発明に係るフラッシュメモリを内蔵するマイコン基板を備えた写真処理装置の一例の構成について、図面を用いて説明する。
<システムの全体構成>
図1は、写真処理装置を備えたプリント処理システムの全体構成の一例を示す模式図である。本実施形態では、写真処理装置2が、LANなどのネットワークを介してコントローラ端末1(パソコン等で構成)と接続されている。また、本システムにおいては、ネットワークを介して、記録媒体読み取り装置、写真プリント注文におけるオンラインプリント注文サーバ、注文者PC等と接続され、さらに図示していないが、受付端末、ネット受付端末が接続されている。なお、受付端末、記録媒体読み取り装置及びネット受付端末の設置台数は、それぞれ1台に限定されず、必要に応じて複数台を設置することができる。また、現像済みネガフィルムから画像データを読み取るためのスキャナー(不図示)もネットワークを介して接続される構成である。
【0022】
コントローラ端末1は、パソコン等の情報処理装置で構成され、ネットワークを介して接続された写真処理装置2とデータ通信可能に構成され、写真処理装置2に対する動作命令、各種設定命令、写真プリント処理に関する画像データを写真処理装置2側に送信する機能を有している。
【0023】
写真処理装置2は、コントローラ端末1から送信された画像データ(またはプリント作成用画像データ)に基づいて、写真プリントを作成する機能を有している。画像データとしては、スキャナーから取得される現像済みネガフィルムのコマ画像の画像データや、受付端末で受け付けた画像データ、ネットワーク経由で送信されてくる画像データなどが挙げられる。これら画像データは、プレジャッジ処理等の補正データによって画像処理され、プリント作成用画像データとして写真処理装置2側に提供され、写真処理装置2側では、そのデータに基づいて後述の露光処理を行う。本システムにおいて、写真処理装置2は複数設置されていてもよい。本発明の特徴点については後述する。
【0024】
受付端末は、例えば店頭に設置され、デジタルカメラの記録メディアやその他の記録メディアに格納された画像データを受け付けることができる。受付端末は、主として顧客により操作されるものであり、顧客が持参した記録メディアを挿入して、写真プリントの作成対象となる画像データを選択したり、プリント枚数などを設定したりすることができる。記録媒体読み取り装置は、記録メディアから画像データを読み込む機能のほかに、コントローラ端末1から送信されてきた画像データ、注文データ等を記録メディアに書き込む機能も有している。
【0025】
ネット受付端末はパソコンにより構成され、インターネットを経由したオンラインでのプリント注文を受け付ける機能を有する。かかるプリント注文の受け付けは、インターネット上に設置されたオンラインプリント注文サーバを介して行われる。即ち、プリント注文に係る画像データは、注文者PCから上記サーバにアップロードされ、適当なタイミングでネット受付端末にダウンロードされてプリント処理に用いられる。このようにオンラインでプリント注文を受け付けるシステムは公知である。
【0026】
<プリント処理システムの機能ブロック構成>
先ず、コントローラ端末1の主な機能について以下に説明する。
【0027】
コントローラ端末1は、スキャナー、受付端末、記録媒体読み取り装置及びネット受付端末等から写真プリント注文に係る画像データおよび注文データからなるオーダー情報を受信するデータ受信部と、この受信したオーダー情報を保存するオーダー情報保存部と、このオーダー情報を管理制御する管理制御部と、オーダー情報の中の画像データを画像処理するための画像処理基板と、当該画像処理基板で画像処理されたプリント作成用画像データをオーダー単位に写真処理装置2側に送信するデータ送信部と、を有している。なお、画像処理基板は写真処理装置2側に設置し、コントローラ端末1から、画像処理されていない画像データと補正データを送信するように構成することもできる。
【0028】
また、オーダー情報の画像データに対し、プレジャッジ処理を行ない、オーダー情報に当該プレジャッジの補正データを関連づけてオーダー情報保存部に保存するプレジャッジ処理部を有していてもよい。また、スキャナーまたは受付端末等から受信された画像データは、プレジャッジ処理後のものであってもよい。
【0029】
本発明において、プレジャッジ処理は、画像データに基づいて写真プリントを作成する前に、適切な画質の写真プリントが作成されるか否かを判定するものであり、画像データに対する判定をオペレータが行なうための機能を提供し、かかる機能は主としてソフトウェアにより提供される。なお、プレジャッジ処理は必ず行なわなければならないものではなく、プレジャッジ処理を省略してプリント処理を行うことも可能である。
【0030】
プレジャッジ処理部は、具体的には、色や濃度を補正するための補正データを入力する機能を提供するものであり、かかる補正データの入力は必要に応じて設定される。その他の補正データの設定としては、赤目補正、逆光補正などの特殊補正の設定が例としてあげられる。
【0031】
また、プリント枚数の設定としては、スキャナーから取得した画像データに関してはデフォルトで1が設定されているが、オペレータの入力操作により変更することができる。
【0032】
また、コントローラ端末1は、各種設定、操作指示入力等のための入力操作部と、各種設定操作指示表示等のためにモニターとを備えている。入力操作部は、キーボードやマウス等により構成される。
【0033】
管理制御部は、写真プリント処理に関する画像データをオーダー単位に写真処理装置2側に送信するように制御している。
【0034】
次に、写真処理装置2の機能構成について説明する。写真処理装置2は、コントローラ端末1からプリント作成用画像データを受信するデータ受信部と、受信されたプリント用作成画像データを保存するデータ保存部と、当該プリント作成用画像データをマガジンから繰り出され所定のプリントサイズに切断された印画紙Pに露光処理するための露光部25と、露光処理された印画紙Pを現像処理するための現像部26と、現像処理された印画紙Pを乾燥処理するための乾燥部27と、乾燥処理された印画紙Pを仕分け処理しながら排出する仕分け排出部(不図示)と、を有して構成されている。また、写真処理装置2の全体的な動作を制御するための制御部を備えている。なお、コントローラ端末1から、画像データと補正データを受信する構成の場合、写真処理装置2側にプリント作成用画像データを作成するための画像処理基板が備えられている構成でもよい。
【0035】
画像処理基板は、例えば、入力メモリ、画像処理回路部、展開メモリにより構成され、画像処理回路部において所定の画像処理が行なわれる。具体的には、プレジャッジ処理等の補正データに基づく色・濃度の補正、設定されたプリントサイズに従ったデータの拡縮処理などである。
【0036】
制御部は、安価な構成のマイコン基板20で実現される。このマイコン基板20には、本発明に係るフラッシュメモリ201が組み込まれている。表示制御部は、LCDモジュール21に対する表示制御を行う機能である。例えば、各種コマンド、データ等を送信することで、LCDドライバがその送信されたコマンド等に従い、表示データをLCDパネルに文字パターンのドットとして展開し、表示する。
【0037】
LCDモジュール21は、LCDパネルと、バックライト、LCDドライバとを基本構成としている。LCDドライバは、例えば、キャラクタ・ジェネレータROM(CGROM)、ユーザ定義用メモリ(CGRAM)、表示データRAM等のメモリと、I/Oバッファ、コマンドレジスタ、データレジスタ、アドレスカウンタ、コマンド実行回路、タイミング生成回路、表示制御回路等を具備している。キャラクタ・ジェネレータROMには、英数字、カタカナ文字が格納されている。ユーザ定義用メモリ(CGRAM)には、ユーザが所望する任意の外字を登録し格納することができる。
【0038】
マイコン基板20は、不図示のCPU(中央演算処理装置)、フラッシュメモリ201、その他のメモリ、バス、入出力インターフェース等のハードウエア資源で構成されている。各種機能を実現するために、フラッシュメモリ201には各種機能を実現するためのソフトウエアプログラム、設定値等が格納されている。例えば、表示制御部、制御部の動作手順はソフトウエアプログラムで構成されている。フラッシュメモリ201に記憶されているデータは、適時、バージョンアップされる。詳細は後述する。
【0039】
(フラッシュメモリの構成)
本発明のフラッシュメモリ201は、不揮発性記録媒体であり、フラッシュROMとも称される。その基本回路構成としては、NOR型、NAND型の2種類があり、本発明においてはいずれのものを適用できる。本発明におけるフラッシュメモリ201は、例えば、512byte等の小さなデータサイズごとに管理できるように構成されている。大きなデータを扱かう場合、512Byte単位を複数の束として管理できるように構成している。
【0040】
図3に格納領域の割り当ての概念を模式的に示す。図3に示すように、例えば、全体の格納領域の容量が8MByteである場合、データの管理情報を記憶している管理領域として、第1管理領域A(1MByte)、第2管理領域B(1MByte)が割り当てられている。そして、第1管理領域Aに対応するデータ記憶領域として、第1記憶領域A(3MByte)が割り当てられ、第2管理領域Bに対応するデータ記憶領域として、第2記憶領域B(3MByte)が割り当てられている。さらに、第1管理領域Aは、第11分割管理領域A1、第12分割管理領域A2に分割されている。第2管理領域Bは、第21分割管理領域B1、第22分割管理領域B2に分割されている。図3の場合、各第1、第2記憶領域の管理サイズは512Byteであるが、他のサイズでもよい。
【0041】
管理領域の管理情報は、管理サイズ単位に分割されたデータ領域と対であり、論理的に同一の配列番号(番地、アドレス)で紐付けされている。例えば、管理情報の総数が8188個の場合、データ領域の総数も8188個となる。管理情報の総数(8188個)は、具体的には、(管理領域+予備領域)のサイズを1セクターである128Kで割って求めることができる。また、データ領域数が8188個なので、記憶領域が3Mbyteの場合、管理サイズは、3MByte/8188の値を求め、さらに使用しやすい2のn乗の数値にすると、512Byteとなる。
【0042】
管理領域の管理情報は、例えば、データ番号、指定データのサムチェック値、指定データの有効サイズ、指定データの書込み終了時刻等のデータを含んでいる。データ番号は、データが意味する機能ごとに定義された番号であり、例えば、電源ON時の動作処理機能、セットアップ処理機能、プロセッサ駆動制御機能等の機能単位に定義されている。このようにデータ番号が機能ごとに識別できるため、記憶領域に格納する場合に、連続番地で格納しなくともよくなる。例えば、バージョンアップ時にデータ量が増えた場合、増えたデータをバージョンアップ前の記憶された番地とは連続していない番地に格納することが可能になる。指定データのサムチェック値は、管理されている512Byteのサムチェック値である。指定データの有効サイズは、管理されているデータの有効サイズを意味している。指定データの書込み終了時刻は、管理されているデータが書き込まれた時刻を意味している。管理領域は、2つに分割され、例えば、第1管理領域Aは、第11分割管理領域A1と第2分割管理領域A2からなり、第11分割管理領域A1に、記憶領域にデータを登録する前の管理情報を登録し、第12分割管理領域A2に、記憶領域にデータを登録した後の管理情報を登録するように構成されている。
【0043】
512Byte以上のデータを扱う場合、一つのデータ領域(512Byte)に記憶できない。この場合、2以上のデータ領域に分けて記憶させる(連続番地もあるし、不連続番地もある)。この場合、2以上のデータ領域を管理する(紐付けされた)管理領域の管理情報のデータ番号の値は、すべて同一の番号をとる。2以上のデータ領域にまたがるデータを読み込む場合には、データ領域の番地を昇順に読み込み、読み込んだデータを結合して最終的にひとまとまりのデータとして扱うことができる。データ領域ごとに読み込む場合、512Byteごとにチェックサムを実行し、エラー判定を行なうことができる。
【0044】
データ書込み装置3は、データ送受信に用いられるI/Oバッファ31、装置の基本動作を制御する制御部32、データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索する検索部33と、検索結果に基づいて、それぞれの管理領域に記憶されている管理情報を比較する比較部34と、比較結果に基づいて、第1または第2記憶領域を決定する決定部35と、決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新するデータ更新部36の機能を有して構成されている。また、ハードウエア構成として、主に、CPU、ROM、RAM、データバス、制御バス、表示装置、入力装置等を具備し、ROMには、上記各機能を実現するためのソフトウエアプログラムが格納されている。なお、上記各機能要素を専用回路で構成することもできる。
【0045】
検索部33は、更新されるデータを検索する場合に、第1および/または第2管理領域に記憶されているデータ番号を検索することができる。
【0046】
比較部34は、更新されるデータが第1、第2記憶領域の両方に存在する場合、データ書込み終了時刻を比較することができる。また、比較部34は、更新されるデータが第1、第2記憶領域のいずれか一方に存在するか否かを比較判断できる。
【0047】
決定部35は、第1または第2記憶領域を決定する場合に、更新されるデータが第1、第2記憶領域の両方に存在する場合、データ書込み終了時刻が古い方を決定することができる。また、決定部35は、更新されるデータが第1、第2記憶領域のいずれか一方に存在する場合、その他方の記憶領域を決定することができる。
【0048】
データ更新部36は、決定された記憶領域にデータ更新を実行する場合に、一方の分割管理領域に対して、記憶領域にデータを書き込む前の管理情報を登録し、他方の分割管理領域に対して、記憶領域にデータを書き込んだ後の管理情報を登録することができる。
【0049】
データ書込み装置3は、フラッシュメモリ201に直接にデータを書込むこともでき、マイコン基板20のCPUを介して書込むこともできる。
【0050】
(データ書込み動作)
図4は、データの書込み動作を説明するためのフローチャートである。データ書込み装置3をマイコン基板20にセットし、データ通信可能状態にする。データ書込み装置3の操作画面にしたがって、「データ番号」を指定し、更新するデータを特定する(S1)。以下において、「データ番号:01」を指定したものとして、データ登録処理(データ更新処理)について説明する。
【0051】
「データ番号:01」をキーに第1管理領域Aを検索し、次いで第2管理領域Bを検索する(S2、S3)。なお、ここでの検索順番は、逆であってもよい。次いで、第1、第2管理領域A、Bの両方でヒットした場合、第1、第2記憶領域A,Bの両方に古いバージョンのデータが格納されていると判断される(S4)。この場合、ステップS5において、データ書込み終了時刻の古い方を指定する(S5)。新しい方のデータを記憶させておくほうがよいからである。
【0052】
いずれか一方の管理領域でヒットした場合(S6)、以下の手順となる。第1記憶領域Aにデータが登録されている場合(第1管理領域Aでヒットした状態)、第2記憶領域Bを指定する(S7−1)。第2記憶領域Bにデータが登録されている場合(第2管理領域Bでヒットした状態)、第1記憶領域Aを指定する(S7−1)。これは、旧バージョンのデータを記憶しておけば、新バージョンのデータの書き込みまたは読み込みエラー時に対応できるからである。いずれの管理領域でもヒットしなかった場合、第1記憶領域Aまたは第2記憶領域Bのいずれか一方を指定するようにしてもよい。
【0053】
ステップS5、S7−1、S7−2のいずれかで指定された記憶領域にデータを登録することになる。以下では、便宜上、第1記憶領域Aが指定されたものとして説明する。
【0054】
第11分割管理領域A1に、現状の管理領域の内容(管理情報の内容)を登録する(S9)。現状の管理領域の内容(管理情報の内容)は、例えば、旧バージョンデータの管理情報である。第11分割管理領域A1には、常に、データ書込み前の現状の管理情報を登録し、第12分割管理領域A2には、常に、データ書込み後の管理情報を登録しておく。このような構成の場合、データ更新される際に、例えば、第12分割管理領域A2の管理情報の内容が、第11分割管理領域A1に登録される。
【0055】
次いで、第1記憶領域Aにデータ領域を確保する(S9)。旧バージョンのデータと新バージョンのデータ量が同じであれば、同一のデータ領域を確保すればよい。データ量が増えている場合には、新たにデータ領域を確保する必要がある。確保不可能で有る場合、容量不足の旨を返す(S9−1)。
【0056】
次いで、確保されたデータ領域に、データを登録する(S10)。それぞれのデータ領域ごとにデータを登録し、チェックサムを行い、データ書込み終了時刻をタイマーから取得する。そして、第12分割管理領域A2に、それぞれのデータ領域に対応する管理情報を個別に登録する(S11)。登録される管理情報としては、データ番号、サムチェック値、データの有効サイズ、書込み終了時刻である。書込み終了時刻は、最後のデータ領域にデータを書き込んだ際の書込み終了時刻に統一してもよい。
【0057】
以上の実施形態によれば、2重持ちの記憶領域に対応するように管理情報を2重持ちにし、さらにデータ登録前の管理情報と、データ登録後の管理情報とを共に管理情報として記憶しておくことができる。これによって、管理領域が書き込み中に飛んだとしても、いずれかの管理情報は生き残ることができる。
【0058】
また、以上の実施形態では、データ更新に際し、古い方のデータを更新するように動作していたが、別の実施形態として、壊れているデータが存在する場合、壊れている方のデータを先に更新するように構成できる。データが壊れているか否かは公知の方法で判断できる。
【0059】
(データ読み込み動作)
図5は、データの読み込み動作を説明するためのフローチャートである。データ番号が指定され(S21)、データ番号をキーに第1管理領域Aが検索され、第2管理領域Bが検索される(S22,S23)。第1、第2管理領域A,Bの両方がヒットした場合(S24)、データ書込み終了時刻を比較し、新しい方を指定する(S25)。データ領域単位にチェックサムを確認し(S26)、エラーが発生しない場合(S27)、読み込みが正常に完了したことになる(S28)。エラーが発生した場合(S27)、ステップS25で書込み終了時刻を比較した際の古い方を指定する(S29)。次いで、データ領域単位にチェックサムを確認し(S30)、エラーが発生しなかった場合(S31)、読み込みが正常に完了したことになる(S32)。エラーが発生した場合(S31)、エラーとする。
【0060】
ステップS24で、いずれか一方がヒットした場合、ヒットした方に対応する第1記憶領域Aまたは第2記憶領域Bが指定される(S24−1)。これ以降の動作は、ステップS30からS32までと同様である。
【0061】
(実施形態2)
本発明の実施形態は、ソフトウェアとハードウエア(CPU、メモリ等)との協働作用によって実現でき、専用回路、ファームウエア等で、またはそれらの組み合わせで実現することもできる。
【0062】
ソフトウェアで実現する場合、そのプログラムは以下のようになる。このプログラムは、記録媒体に記録され、記録媒体として提供可能であり、また、通信回線を介して提供(ダウンロード提供)されてもよい。通信回線を介して提供される場合、その一部の機能のみが提供されてもよく、他の一部がサーバ装置に残っていてもよく、全体の機能として本発明の機能が発揮されていれば本発明の技術的範囲に含まれる。
【0063】
本発明のソフトウエアプログラムは、コンピュータに、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索するステップと、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較するステップと、
前記比較結果に基づいて、第1または第2記憶領域を決定するステップと、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新するステップと、
記憶領域のデータ更新を実行するステップと、
他方の分割管理領域の管理情報を更新するステップと、を実行させるためのフラッシュメモリのデータ更新プログラムである。
【図面の簡単な説明】
【0064】
【図1】写真プリント処理システムの機能構成を説明するための図
【図2】データ書込み装置の機能構成を説明するための図
【図3】フラッシュメモリの格納領域の一例を説明するための図
【図4】データ書込み動作を説明するためのフローチャート
【図5】データ読み込み動作を説明するためのフローチャート
【符号の説明】
【0065】
1 コントローラ端末
2 写真処理装置
3 データ書込み装置
20 マイコン基板
201 フラッシュメモリ
31 I/Oバッファ
32 制御部
33 検索部
34 比較部
35 決定部
36 データ更新部

【特許請求の範囲】
【請求項1】
フラッシュメモリのデータ更新方法であって、
前記フラッシュメモリの格納領域を、第1、第2管理領域と、当該第1、第2管理領域のそれぞれに対応する第1、第2記憶領域とを有するように割り当て、当該第1管理領域を分割して第11、第12分割管理領域とし、第2管理領域を分割して、第21、第22分割管理領域とするように構成し、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索し、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較し、
前記比較結果に基づいて、第1または第2記憶領域を決定し、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新することを特徴とするフラッシュメモリのデータ更新方法。
【請求項2】
前記更新されるデータを検索する場合に、第1および/または第2管理領域に記憶されているデータ番号を検索するように構成することを特徴とする請求項1に記載のフラッシュメモリのデータ更新方法。
【請求項3】
前記管理情報を比較して、第1または第2記憶領域を決定する場合に、更新されるデータが第1、第2記憶領域の両方に存在する場合、データ書込み終了時刻の古い方を決定し、
更新されるデータが第1、第2記憶領域のいずれか一方に存在する場合、その他方の記憶領域を決定するように構成することを特徴とする請求項1または2に記載のフラッシュメモリのデータ更新方法。
【請求項4】
前記決定された記憶領域にデータ更新を実行する場合に、一方の分割管理領域に対して、データ書き込み前の管理情報を登録し、他方の分割管理領域に対して、データ書き込み後の管理情報を登録するように構成することを特徴とする請求項1〜3のいずれか1項に記載のフラッシュメモリのデータ更新方法。
【請求項5】
格納領域を、第1、第2管理領域と、当該第1、第2管理領域のそれぞれに対応する第1、第2記憶領域とを有するように割り当て、当該第1管理領域を分割して第11、第12分割管理領域とし、第2管理領域を分割して、第21、第22分割管理領域とするように構成されているフラッシュメモリのデータ更新プログラムであって、
コンピュータに、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索するステップと、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較するステップと、
前記比較結果に基づいて、第1または第2記憶領域を決定するステップと、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新するステップと、
記憶領域のデータ更新を実行するステップと、
他方の分割管理領域の管理情報を更新するステップと、を実行させるためのフラッシュメモリのデータ更新プログラム。
【請求項6】
フラッシュメモリにデータを書込むデータ書込み装置であって、
前記フラッシュメモリの格納領域を、第1、第2管理領域と、当該第1、第2管理領域のそれぞれに対応する第1、第2記憶領域とを有するように割り当て、当該第1管理領域を分割して第11、第12分割管理領域とし、第2管理領域を分割して、第21、第22分割管理領域とするように構成し、
データ更新の際に、更新されるデータが記憶されている記憶領域を前記管理領域から検索する検索部と、
前記検索結果に基づいて、前記管理領域に記憶されている管理情報を比較する比較部と、
前記比較結果に基づいて、第1または第2記憶領域を決定する決定部と、
前記決定された記憶領域にデータ更新を実行する場合に、先ず、一方の分割管理領域の管理情報を更新し、次いで、記憶領域のデータ更新を実行し、他方の分割管理領域の管理情報を更新するデータ更新部と、備えるデータ書込み装置。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2008−276492(P2008−276492A)
【公開日】平成20年11月13日(2008.11.13)
【国際特許分類】
【出願番号】特願2007−119027(P2007−119027)
【出願日】平成19年4月27日(2007.4.27)
【出願人】(000135313)ノーリツ鋼機株式会社 (1,824)
【Fターム(参考)】