(57)【特許請求の範囲】
【請求項１】
実データが記録される第１の実データ領域と、前記第１の実データ領域に記録された前記実データを更新するための更新データを含む更新情報が記録される第１の履歴領域とを有する揮発性のメモリーと、
複数のブロックを有し、前記実データの書き込み時に前記ブロック単位で初期化が行われ、前記ブロックごとに、前記実データが記録される第２の実データ領域を有する不揮発性半導体メモリーと、
前記第１の履歴領域に記録された前記更新情報が書き写される第２の履歴領域を有する記憶部と、
前記第１の実データ領域内の前記実データを前記更新データで更新するとき、対応する更新情報を前記第１の履歴領域に記録し、
特定のタイミングで、前記第１の履歴領域に記録されている前記更新情報をまとめ、前記まとめた更新情報を前記第２の履歴領域に書き写し、書き写し後、前記第１の履歴領域を初期化し、
前記第２の履歴領域が一杯になったとき、前記第１の実データ領域内の前記実データを対応する前記第２の実データ領域に書き写し、書き写し後、前記第１の履歴領域および前記第２の履歴領域を初期化する
プロセッサーと
を備えた情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記更新情報は、
更新する前記実データを識別するデータ識別子を含み、
前記プロセッサーは、
前記まとめた更新情報を複数のページの前記第２の履歴領域に書き写す際に、前記書き写す更新情報に含まれるデータ識別子と、前記書き写しが行われる第２の履歴領域に既に記録されている更新情報に含まれるデータ識別子とが一致するとき、
前記データ識別子が一致した、書き写す更新情報により、前記書き写しが行われる第２の履歴領域に既に記録されている、前記データ識別子が一致した更新情報を上書きする
情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置であって、
前記記憶部は、ハードディスクドライブである
情報処理装置。
【請求項４】
実データが記録される第１の実データ領域と、前記第１の実データ領域に記録された前記実データを更新するための更新データを含む更新情報が記録される第１の履歴領域とを有する揮発性のメモリー上の前記第１の実データ領域内の前記実データを前記更新データで更新するとき、対応する更新情報を前記第１の履歴領域に記録し、
特定のタイミングで、前記第１の履歴領域に記録されている前記更新情報をまとめ、前記まとめた更新情報を、前記第１の履歴領域に記録された前記更新情報が書き写される第２の履歴領域を有する記憶部上の前記第２の履歴領域に書き写し、書き写した後、前記第１の履歴領域を初期化し、
前記第２の履歴領域が一杯になったとき、前記第１の実データ領域内の前記実データを、複数のブロックを有し、前記実データの書き込み時に前記ブロック単位で初期化が行われ、前記ブロックごとに、前記実データが記録される第２の実データ領域を有する不揮発性半導体メモリー上の、対応する前記第２の実データ領域に書き写し、書き写し後、前記第１の履歴領域および前記第２の履歴領域を初期化する
手順をコンピューターに実行させるメモリー管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、書き込み回数に上限がある不揮発性半導体メモリーを備えた情報処理装置および当該情報処理装置で動作するメモリー管理プログラムに関する。
【背景技術】
【０００２】
情報処理装置、特に組込み機器や画像形成装置（ＭＰＦ、Multifunction Peripheral）では、機器や装置で利用する少量のデータを、電源断の状態でも保持するために、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）が用いられてきた。
【０００３】
ＥＥＰＲＯＭは、ＤＲＡＭ（Dynamic Random Access Memory）などにより構成された揮発性メモリー上にある少量のデータを待避させるための不揮発性半導体メモリーとして使われることが多い。
【０００４】
例えば、揮発性メモリーから不揮発性半導体メモリーへデータを書き込む制御の最適化技術として、特許文献１に開示された技術では、データを書き込みタイミングごとにグループ化し、特定のタイミングで書き込むべきデータのみを不揮発性半導体メモリーに書き込むことで、書き込みに要する時間の短縮化を図っている。
【０００５】
また、不揮発性半導体メモリーでは、ページ単位でのデータの書き込みに先だって、ブロック単位でのデータの消去（初期化）が行われる。初期化の回数（書き込みの回数）にはメモリーの構造上上限があるため、特定のブロックに書き込みが集中しないように均等な書き込みを行うためのウェアレベリングの技術が開発されてきている。
【０００６】
例えば、ＮＡＮＤ型フラッシュメモリー（登録商標）の特性に最適化された、ジャーナル機能を有しウェアレベリングを行うファイルシステムとして、ＪＦＦＳ２（Journaling Flash File System, version 2）がある。ＪＦＦＳ２はＬｉｎｕｘ（登録商標）用のファイルシステムであり、組込み機器に多く使われている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０００−３５９２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したようにウェアレベリングの技術は開発されてきているが、まだ充分とは言えなかった。
【０００９】
以上のような事情に鑑み、本発明の目的は、不揮発性半導体メモリーへの書き込み量を削減することにより書き込み回数を低減させ、不揮発性半導体メモリーを長寿命化できる情報処理装置および当該情報処理装置で動作するメモリー管理プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の一形態に係る情報処理装置は、実データが記録される第１の実データ領域と、前記第１の実データ領域に記録された前記実データを更新するための更新データを含む更新情報が記録される第１の履歴領域とを有する揮発性のメモリーと、複数のブロックを有し、前記実データの書き込み時に前記ブロック単位で初期化が行われ、前記ブロックごとに、前記実データが記録される第２の実データ領域を有する不揮発性半導体メモリーと、前記第１の履歴領域に記録された前記更新情報が書き写される第２の履歴領域を有する記憶部と、前記第１の実データ領域内の前記実データを前記更新データで更新するとき、対応する更新情報を前記第１の履歴領域に記録し、特定のタイミングで、前記第１の履歴領域に記録されている前記更新情報をまとめ、前記まとめた更新情報を前記第２の履歴領域に書き写し、書き写し後、前記第１の履歴領域を初期化し、前記第２の履歴領域が一杯になったとき、前記第１の実データ領域内の前記実データを対応する前記第２の実データ領域に書き写し、書き写し後、前記第１の履歴領域および前記第２の履歴領域を初期化するプロセッサーとを備える。そのため、不揮発性半導体メモリーへの書き込み量を削減することにより書き込み回数を低減させ、不揮発性半導体メモリーを長寿命化できる。
【００１１】
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記更新情報は、更新する前記実データを識別するデータ識別子を含み、前記プロセッサーは、前記まとめた更新情報を複数のページの前記第２の履歴領域に書き写す際に、前記書き写す更新情報に含まれるデータ識別子と、前記書き写しが行われる第２の履歴領域に既に記録されている更新情報に含まれるデータ識別子とが一致するとき、前記データ識別子が一致した、書き写す更新情報により、前記書き写しが行われる第２の履歴領域に既に記録されている、前記データ識別子が一致した更新情報を上書きする構成でもよい。
【００１２】
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記記憶部は、ハードディスクドライブであってもよい。
【００１３】
上記目的を達成するため、本発明の一形態に係るメモリー管理プログラムは、実データが記録される第１の実データ領域と、前記第１の実データ領域に記録された前記実データを更新するための更新データを含む更新情報が記録される第１の履歴領域とを有する揮発性のメモリー上の前記第１の実データ領域内の前記実データを前記更新データで更新するとき、対応する更新情報を前記第１の履歴領域に記録し、特定のタイミングで、前記第１の履歴領域に記録されている前記更新情報をまとめ、前記まとめた更新情報を、前記第１の履歴領域に記録された前記更新情報が書き写される第２の履歴領域を有する記憶部上の前記第２の履歴領域に書き写し、書き写した後、前記第１の履歴領域を初期化し、前記第２の履歴領域が一杯になったとき、前記第１の実データ領域内の前記実データを、複数のブロックを有し、前記実データの書き込み時に前記ブロック単位で初期化が行われ、前記ブロックごとに、前記実データが記録される第２の実データ領域を有する不揮発性半導体メモリー上の、対応する前記第２の実データ領域に書き写し、書き写し後、前記第１の履歴領域および前記第２の履歴領域を初期化する手順をコンピューターに実行させる。
【発明の効果】
【００１４】
以上のように、本発明によれば、不揮発性半導体メモリーへの書き込み量を削減することにより書き込み回数を低減させ、不揮発性半導体メモリーを長寿命化できる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態にかかる画像形成装置１０の構成図である。
【図２】制御部１１の構成図である。
【図３】ＲＡＭ３３の構成例を示す構成図である。
【図４】履歴記録領域に記録される更新情報の構成例を示す図である。
【図５】ＥＥＰＲＯＭ３４の構成例を示す構成図である。
【図６】記憶部２１の構成例を示す構成図である。
【図７】画像形成装置１０を起動した際の、ＥＥＰＲＯＭ３４、記憶部２１、およびＲＡＭ３３間でのデータ処理の流れを説明する図である。
【図８】ＲＡＭ３３上にある実データをＣＰＵ３１が更新する際の処理の流れについて説明する図である。
【図９】特定のタイミングでＲＡＭ３３上にあるデータを記憶部２１へ記憶させる際の処理の流れについて説明するための図である。
【図１０】リフレッシュ処理の流れを説明するための図である。
【図１１】追記する更新情報が多いと１つの履歴記録領域２１ａには書き込みきれず、次の履歴記録領域２１ｂにも書き込まなければならない様子を示す図である。
【図１２】書き込みカウンターを参照することにより、最新の更新情報のみを抽出して記憶部２１に書き込む様子を示す図である。
【図１３】１つ目の履歴記録領域２１ａでは足りず、２つ目の履歴記録領域２１ｂにも更新情報の追記が行われる様子を示す図である。
【図１４】データＩＤが一致した更新情報を上書きする様子を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、本発明の実施形態を説明する。なお、以下の説明では、本発明にかかる情報処理装置の例として、画像形成装置の制御部を用いて説明する。また、本実施形態では、書き込み回数に上限があり、ブロック単位で初期化が行われる不揮発性半導体メモリーの例として、ＥＥＰＲＯＭを主に想定している。以下の説明では、この不揮発性半導体メモリーをＥＥＰＲＯＭとして示し、説明する。
【００１７】
＜第１の実施形態＞
［画像形成装置の構成］
最初に、本発明の一実施形態にかかる画像形成装置の構成について説明する。図１は、本発明の一実施形態にかかる画像形成装置１０の構成図である。
【００１８】
画像形成装置１０は、制御部１１（情報処理装置）を備える。制御部１１は、画像形成装置１０の全体的な動作制御を司る。制御部１１の構成については後述する。
【００１９】
制御部１１は、画像読取部１２、画像処理部１３、画像メモリー１４、画像形成部１５、操作部１８、ファクシミリ通信部１９、ネットワークインターフェイス部２０、記憶部２１等と接続されている。制御部１１は、接続されている上記各部（ブロック）の動作制御や、各ブロックとの間での信号又はデータの送受信を行う。
【００２０】
制御部１１は、ユーザーから、操作部１８またはネッワーク接続されたＰＣ等を通じて入力されるジョブの実行指示に従って、スキャナー機能、印刷機能、コピー機能、およびファクシミリ送受信機能などの各機能についての動作制御を実行するために必要な機構の駆動及び処理を制御する。
【００２１】
画像読取部１２は、原稿から画像を読み取る。
【００２２】
画像処理部１３は、画像読取部１２で読み取られた画像の画像データを必要に応じて画像処理する。例えば、画像処理部１３は、画像読取部１２により読み取られた画像が画像形成された後の品質を向上させるために、シェーディング補正等の画像処理を行う。
【００２３】
画像メモリー１４は、画像読取部１２による読み取りで得られた原稿画像のデータを一時的に記憶したり、画像形成部１５での印刷対象となるデータを一時的に記憶したりする領域である。
【００２４】
画像形成部１５は、画像読取部１２で読み取られた画像データ等の画像形成を行う。
【００２５】
操作部１８は、画像形成装置１０が実行可能な各種動作及び処理についてユーザーからの指示を受け付けるタッチパネル部および操作キー部を備える。タッチパネル部は、タッチパネルが設けられたＬＣＤ（Liquid Crystal Display）等の表示部１８ａを備えている。
【００２６】
ファクシミリ通信部１９は、図示しない符号化／復号化部、変復調部、およびＮＣＵ（Network Control Unit）を備え、公衆電話回線網を用いてのファクシミリの送信を行う。
【００２７】
ネットワークインターフェイス部２０は、ＬＡＮボード等の通信モジュールから構成され、ネットワークインターフェイス部２０に接続されたＬＡＮ等を介して、ローカルエリア内の装置(サーバー、ＰＣ等の外部機器)と種々のデータの送受信を行う。
【００２８】
記憶部２１は、画像読取部１２によって読み取られた原稿画像等を記憶したり、後述する更新情報を記憶する領域として利用されたりする。記憶部２１は、ＨＤＤ（Hard Disk Drive）またはＳＳＤ（Solid State Drive）などの大容量の記憶装置である。本実施形態では、書き込み回数の制限がないＨＤＤを主に想定している。
【００２９】
以上、本発明の一実施形態にかかる画像形成装置１０の構成を説明した。
【００３０】
［制御部の構成］
次に、上述した制御部１１の構成について説明する。図２は、制御部１１の構成図である。
【００３１】
図２に示すように、制御部１１は、ＣＰＵ(Central Processing Unit)３１、ＲＯＭ（Read Only Memory）３２、ＲＡＭ（Random Access Memory、揮発性のメモリー）３３、およびＥＥＰＲＯＭ３４を有し、これら各ブロックがバス３５を介して接続されている。ＲＡＭ３３およびＥＥＰＲＯＭ３４の内部構成については後述する。
【００３２】
ＲＯＭ３２は、各種の処理を実行するためのファームウェア等の複数のプログラムやデータを固定的に記憶する。ＲＡＭ３３は、ＣＰＵ３１の作業用領域として用いられ、ＯＳ（Operating System）、実行中の各種アプリケーション、処理中の各種データを一時的に保持する。
【００３３】
ＥＥＰＲＯＭ３４は、データの書き込みに先だって、ブロック単位での初期化が必要であり、かつ初期化の回数に上限がある不揮発性半導体メモリーである。
【００３４】
ＣＰＵ３１は、ＲＯＭ３２や記憶部２１に記憶されたプログラムにしたがって、各部を適宜制御するプロセッサーである。
【００３５】
以上、制御部１１の構成について説明した。
【００３６】
［ＲＡＭの構成］
次に、ＲＡＭ３３の構成について説明する。図３は、ＲＡＭ３３の構成例を示す構成図である。
【００３７】
図３に示すように、ＲＡＭ３３は、ＣＰＵ３１で実行されるプログラムを展開したり、プログラム実行時のワーキングメモリーとしたりするプログラム展開領域３３ｐと、プログラムで用いる変数の値を保持する実データ記録領域３３ａ、３３ｂ、および３３ｃ（第１の実データ領域）と、履歴記録領域３３ｄ（第１の履歴領域、後述）とに分けられている。領域の分割は、論理的に行われてもよいし、物理的に行われてもよい。
【００３８】
なお、実データ記録領域は３つの領域から構成されているが、これはあくまで例であり、幾つの領域から構成されていてもよい。
【００３９】
例えば、画像形成装置１０で印刷した枚数をカウントするための印刷カウンターの変数名をＰＣＮＴとし、実データ記録領域３３ａが、ＰＣＮＴの値を保持するために使用されるとし、これまでに１００枚の印刷が行われているとすると、実データ記録領域３３ａには値「１００」が保持されている。
【００４０】
そして、画像形成装置１０で紙２枚の印刷が行われ、実データ記録領域３３ａの印刷カウンターＰＣＮＴの値が、「１００」から「１０２」に変更されると、ＣＰＵ３１は、履歴記録領域３３ｄに、例えば、「ＰＣＮＴ，１０２，１」のような更新情報が記録される。
【００４１】
履歴記録領域３３ｄに記録される更新情報は、更新に用いられた更新データ（上記では「１０２」）を含んで、データＩＤ、更新データ、書き込みカウントの３項目から構成されている。書き込みカウントとは、リフレッシュ処理（後述）が行われてから何回目のデータ更新が行われたかを示すカウンターである。
【００４２】
ＣＰＵ３１は、履歴記録領域３３ｄのデータＩＤ「ＰＣＮＴ」の更新情報が複数あった場合でも、書き込みカウンターの値が最も大きい物を選択することにより、変数ＰＣＮＴの最新の更新の値を知ることが出来る。
【００４３】
例えば、画像形成装置１０において、さらに３枚の印刷が行われたとすると、実データ記録領域３３ａの印刷カウンターＰＣＮＴの値が、「１０２」から「１０５」に変更され、履歴記録領域３３ｄでは、１行目の「ＰＣＮＴ，１０２，１」のエントリーの次に、「ＰＣＮＴ，１０５，２」のエントリーが書き加えられる（図４参照）。
【００４４】
なお、図４では、３行目のエントリーとして、例えば実データ記録領域３３ｃに保持される、画像形成装置１０の状態を表す変数ＳＴＡＴに、「ＯＫ」の値が、１回目の更新データとして書き込まれたことも示している。
【００４５】
なお、上記の説明では、説明を分かり易くするために、１つの実データ記録領域３３ａに１つの変数印刷カウンターＰＣＮＴの値だけが保持されるとしたが、実際には、この構成に限らず、１つの実データ記録領域に複数の変数の値が保持されていてもよい。
【００４６】
また、本発明にかかる情報処理装置は、組込み機器などの制御部を想定しており、カウンターなどの各変数の名前（データＩＤ）や、そのデータ長、保持されるメモリーアドレスなどは、予め機器の設計者に把握され、決められていることが好ましい。
【００４７】
なお、プログラム展開領域３３ｐは、本発明のポイントではないので、以下の説明では、この部分を省略して図示する。
【００４８】
以上、ＲＡＭ３３の構成について説明した。
【００４９】
［ＥＥＰＲＯＭ３４の構成について］
次に、ＥＥＰＲＯＭ３４の構成について説明する。図５は、ＥＥＰＲＯＭ３４の構成例を示す構成図である。
【００５０】
図５の例では、ＥＥＰＲＯＭ３４は、３つのブロック３４ａ、３４ｂ、および３４ｃから構成されている。ＥＥＰＲＯＭ３４へのデータ書き込みの際には、書き込みに先立って、ブロック単位での初期化が必要である。また、初期化回数には上限がある。
【００５１】
ブロック３４ａには、実データ記録領域３４１ａ（第２の実データ領域）が設けられている。
【００５２】
ブロック３４ｂには、実データ記録領域３４１ｂ（第２の実データ領域）が設けられている。
【００５３】
ブロック３４ｃには、実データ記録領域３４１ｃ（第２の実データ領域）が設けられている。
【００５４】
上記３つの領域の分割は、論理的に行われてもよいし、物理的に行われてもよい。
【００５５】
実データ記録領域３３ａの内容に対応するものが、実データ記録領域３４１ａに記録されている。
【００５６】
また、実データ記録領域３３ｂの内容に対応するものが、実データ記録領域３４１ｂに記録されており、実データ記録領域３３ｃの内容に対応するものが、実データ記録領域３４１ｃに記録されている。
【００５７】
すなわち、実データ記録領域３３ａ、実データ記録領域３３ｂ、および実データ記録領域３３ｃの容量と、実データ記録領域３４１ａ、実データ記録領域３４１ｂ、および実データ記録領域３４１ｃの容量は、同一であってもよい。
【００５８】
以上、ＥＥＰＲＯＭ３４の構成について説明した。
【００５９】
［記憶部２１の構成］
次に、記憶部２１の構成について説明する。図６は、記憶部２１の構成例を示す構成図である。なお、記憶部２１には、上述したとおり、様々な情報を記憶させることが出来るが、ここでは、更新情報を記憶する領域に関してのみ説明する。
記憶部２１には、更新情報を記憶する領域として、履歴記録領域２１ａ、２１ｂ、および２１ｃ（第２の履歴領域）が設けられている。
【００６０】
履歴記録領域２１ａ、２１ｂ、および２１ｃには、図４に示したものと同様に更新情報が記録される。履歴記録領域２１ａ、２１ｂ、および２１ｃへの更新情報の記録の仕方については後述する。
【００６１】
ここで注意すべき点は、例えば、実データ記録領域３３ａが印刷カウンターＰＣＮＴの値を保持するために割り当てられている場合、実データ記録領域３４１ａも印刷カウンターＰＣＮＴの値を保持するために割り当てられるが、履歴記録領域２１ａには、印刷カウンターＰＣＮＴの更新情報が記録されているとは限らず、画像形成装置１０の状態を表す変数ＳＴＡＴの更新情報が記録されることもあり得るという点である。
【００６２】
なお、履歴記録領域２１ａ、２１ｂ、および２１ｃそれぞれの容量は、履歴記録領域３３ｄの容量よりも大きいことが好ましい（理由は後述）。
以上、記憶部２１の構成について説明した。
【００６３】
［起動時の処理の流れ］
次に、画像形成装置１０を起動した際の、ＥＥＰＲＯＭ３４、記憶部２１、およびＲＡＭ３３間でのデータ処理の流れを説明する。図７は、画像形成装置１０を起動した際の、ＥＥＰＲＯＭ３４、記憶部２１、およびＲＡＭ３３間でのデータ処理の流れを説明する図である。
【００６４】
まず、画像形成装置１０の起動前には、ＲＡＭ３３上にはデータが無く、全てのデータ（実データおよび更新情報）は、ＥＥＰＲＯＭ３４および記憶部２１にある。
【００６５】
例えば、印刷カウンターＰＣＮＴの値「１００」が実データ記録領域３４１ａにあり、印刷カウンターＰＣＮＴの更新情報「ＰＣＮＴ，１０２，１」が履歴記録領域２１ｂにあり、同じく更新情報「ＰＣＮＴ，１０５，２」が履歴記録領域２１ｃにある。
【００６６】
画像形成装置１０が起動されると、ＲＡＭ３３の初期化後、まず、実データ記録領域３４１ａ、実データ記録領域３４１ｂ、および実データ記録領域３４１ｃの内容が、それぞれ対応する実データ記録領域３３ａ、３３ｂ、および３３ｃにコピーされる。
【００６７】
その後、履歴記録領域２１ａ、履歴記録領域２１ｂ、および履歴記録領域２１ｃに記録されている更新情報のうち、最新のものが、実データ記録領域３３ａ、３３ｂ、および３３ｃ上のデータに上書きされる。
【００６８】
以上の処理により、ＲＡＭ３３の、実データ記録領域３３ａ、３３ｂ、および３３ｃには、最新の実データが保持された状態になる。
【００６９】
以上、画像形成装置１０を起動した際の、ＥＥＰＲＯＭ３４、記憶部２１、およびＲＡＭ３３間でのデータ処理の流れを説明した。
【００７０】
［ＲＡＭ上の実データの更新処理の流れ］
次に、ＲＡＭ３３上にある実データをＣＰＵ３１が更新する際の処理の流れについて説明する。図８は、ＲＡＭ３３上にある実データをＣＰＵ３１が更新する際の処理の流れについて説明する図である。
【００７１】
例えば、実データ記録領域３３ａ上の印刷カウンターＰＣＮＴの値が「１００」から「１０２」に更新されると、上述したように、履歴記録領域３３ｄに、更新情報「ＰＣＮＴ，１０２，１」が記録される。なお、これらの処理は図８で（１）で示すものである。
【００７２】
このように、実データ記録領域３３ａ、３３ｂ、および３３ｃのいずれかにある実データに更新処理が発生すると、そのたびに、履歴記録領域３３ｄに更新情報が追加して記録される。なお、これらの処理は図８で、（１）、（２）、および（３）で示すものである。
【００７３】
実データの更新に伴う処理は、通常、ＲＡＭ３３に対する更新のみで終了し、ＥＥＰＲＯＭ３４および記憶部２１に対する書き込み処理は行われない。
【００７４】
ＥＥＰＲＯＭ３４への書き込みをＲＡＭ３３の更新の度には行わないことにより、ＥＥＰＲＯＭ３４への書き込み回数を減らし、ＥＥＰＲＯＭ３４の寿命を延ばすことが出来る。
【００７５】
また、記憶部２１への書き込みをＲＡＭ３３の更新の度には行わないことにより、記憶部２１への書き込みに要する時間を減らし、ＣＰＵ３１における処理効率を向上させることが出来る。
【００７６】
以上、ＲＡＭ３３上にある実データをＣＰＵ３１が更新する際の処理の流れについて説明した。
【００７７】
［記憶部２１への書き込み処理の流れ］
次に、特定のタイミングでＲＡＭ３３上にあるデータをＥＥＰＲＯＭ３４へ書き込む際の処理の流れについて説明する。図９は、特定のタイミングでＲＡＭ３３上にあるデータを記憶部２１へ記憶させる際の処理の流れについて説明するための図である。
【００７８】
なお、ここでいう特定のタイミングとは、タイマーをトリガーとした周期的なものや、画像形成装置１０のシャットダウンなどの際に一括書き込み命令が実行された場合、ある特定の実データが更新された場合、履歴記録領域３３ｄが一杯になった場合などである。
【００７９】
まず、特定のタイミングになると、ＣＰＵ３１は、履歴記録領域３３ｄ内の更新情報をまとめ、まとめた更新情報を記憶部２１上の履歴記録領域２１ａ、２１ｂ、または２１ｃのいずれかに書き込む。書き込む際には、既に書き込まれている更新情報に追記する形で書き込みが行われる。
【００８０】
履歴記録領域２１ａ、２１ｂ、または２１ｃに書き込む順序は、予め定められている。例えば、履歴記録領域２１ａに書き込み、次いで履歴記録領域２１ｂ、２１ｃと書き込み、また元に戻り、履歴記憶領域２１ａに書き込むというように巡回的に書き込んでもよい。
【００８１】
なお、まとめた更新情報を書き込む際、ある履歴記録領域に書き切れなかった場合、次の書き込みに用いる履歴記憶領域へ残りの書き込みを行う。
【００８２】
書き込み完了後、ＣＰＵ３１は、履歴記録領域３３ｄ内の更新データをクリア（消去）する。
【００８３】
上記の処理でのポイントは、ＲＡＭ３３からＥＥＰＲＯＭ３４への実データの書き込みは行わず、まとめられた更新データのみを記憶部２１の特定の履歴記録領域２１ａ、２１ｂ、または２１ｃに書き込むことである。
【００８４】
この構成を採ることにより、ＥＥＰＲＯＭ３４への書き込み回数を減らすことが出来る。
【００８５】
以上、特定のタイミングでＲＡＭ３３上にあるデータを記憶部２１へ記憶させる際の処理の流れについて説明した。
【００８６】
［リフレッシュ処理の流れ］
次に、リフレッシュ処理の流れについて説明する。図１０は、リフレッシュ処理の流れを説明するための図である。
【００８７】
なお、リフレッシュ処理とは、上述した特定のタイミングにおいて、記憶部２１の１つの履歴記録領域が一杯になっており、履歴記録領域３３ｄに記録されている更新情報を、一杯になった履歴記録領域に書き写せないときに行われる処理である。
【００８８】
リフレッシュ処理では、ＲＡＭ３３上の実データ記録領域３３ａ、３３ｂ、および３３ｃ内の実データを、対応するＥＥＰＲＯＭ３４上の実データ記録領域３４１ａ、実データ記録領域３４１ｂ、および実データ記録領域３４１ｃに上書きする（図１０で（１）で示す）。
【００８９】
ＲＡＭ３３上の実データ記録領域３３ａ、３３ｂ、および３３ｃ内の実データは最新の状態にあるので、ＥＥＰＲＯＭ３４上の実データ記録領域３４１ａ、実データ記録領域３４１ｂ、および実データ記録領域３４１ｃ内の実データも最新の状態になる。
【００９０】
そのため、実データを最新の状態にするための更新情報は不要になるので、ＲＡＭ３３上の履歴記録領域３３ｄ内の更新情報をクリアし（図１０で（２）で示す）、そして記憶部２１の履歴記録領域２１ａ、履歴記録領域２１ｂ、および履歴記録領域２１ｃ内の更新情報をクリア（図１０で（３）で示す）する。
【００９１】
以上、リフレッシュ処理の流れについて説明した。
【００９２】
＜第２の実施形態＞
次に、第２の実施形態にかかる画像形成装置１０ａについて説明する。画像形成装置１０ａは、画像形成装置１０の制御部１１が行う処理を一部改良したものである。
【００９３】
以下の説明では、改良可能な点とその改良方法を、２つ挙げて説明する。なお、改良方法は、制御部１１が行う処理を一部変更するものであり、画像形成装置１０ａの構成や制御部１１の構成自体には変更が無いので、各部の符号は第１の実施形態と同じ符号を使用し、構成に関する説明は省略する。
【００９４】
［改良可能な点と改良方法（その１）］
まず、第１の実施形態の画像形成装置１０において、改良可能な第１の点と、その改良方法について説明する。
【００９５】
例えば、印刷カウンターＰＣＮＴに対するデータの更新が頻繁に起こり、ＲＡＭ３３上の履歴記録領域３３ｄに、印刷カウンターＰＣＮＴに関する更新情報が６個溜まっていた状態で記憶部２１に記憶させるタイミングが来たとする。
【００９６】
この場合、第１の実施形態の画像形成装置１０の制御部１１では、すべての更新情報をまとめ、まとめた更新情報を記憶部２１の履歴記録領域に追記していた。例えば、図１１に示すように、追記する更新情報が多いと１つの履歴記録領域３４２ａには書き込みきれず（図１１で（１）で示す）、次の履歴記録領域３４２ｂにも書き込まなければならなかった（図１１で（２）で示す）。
【００９７】
そこで、第２の実施形態の画像形成装置１０ａの制御部１１では、まとめた更新情報を記憶部２１に記憶させる際のデータ量を削減することを考える。
【００９８】
すなわち、画像形成装置１０ａの制御部１１は、特定のタイミングで更新情報を、履歴記録部３３ｄから、履歴記録領域２１ａ、履歴記録領域２１ｂ、または履歴記録領域２１ｃに書き込むために更新情報をまとめる際に、データＩＤごとに、最新の更新情報のみを抽出してからまとめる。
【００９９】
例えば、上記の、印刷カウンターＰＣＮＴの更新情報が６個ある例では、書き込みカウンターを参照することにより、６個のうち最新の更新情報のみを抽出する。そのため、この例では、記憶部２１に記憶させる更新情報を６分の１に削減することが出来る（図１２の（１）参照）。
【０１００】
以上、第１の実施形態の画像形成装置１０において、改良可能な第１の点と、その改良方法について説明した。
【０１０１】
［改良可能な点と改良方法（その２）］
まず、第１の実施形態の画像形成装置１０において、改良可能な第２の点と、その改良方法について説明する。
【０１０２】
例えば、図１３に示すように、記憶部２１の各履歴記録領域２１ａ、２１ｂ、および２１ｃには、それぞれ４つの更新情報を記録する容量があるとする。そして、今回の書き込みタイミングで、１つ目の履歴記録領域２１ａから書き込みを開始するとする。また、履歴記録領域２１ａには、以前書き込まれた更新情報が２エントリー分既に書き込まれ、追記できる空エントリーは２つだけであるとする。
【０１０３】
この状態で、ＲＡＭ３３上の履歴記録領域３３ｄから４つの更新情報が追記されると、１つ目の履歴記録領域２１ａでは足りず、２つ目の履歴記録領域２１ｂにも更新情報の追記が行われる。
【０１０４】
そこで、第２の実施形態の画像形成装置１０ａの制御部１１では、記憶部２１の履歴記録領域に、ＲＡＭ３３上の更新情報を単純に追記するのではなく、これから書き込む記憶部２１の履歴記録領域に既に書き込んである更新情報を、一度読み出す。そして読み出した更新情報と同じデータＩＤの更新情報があれば、その同じ更新情報で、既にある更新情報を上書きする。
【０１０５】
例えば、図１３に示したものと同じ前提とした場合、図１４に示すように、書き込む更新情報と既にある更新情報とでデータＩＤが一致する「ＳＴＡＴ」および「ＰＣＮＴ」の実データに関しては、追記するのではなく、既にある古い更新情報「ＰＣＮＴ，９８，３」および「ＳＴＡＴ，ＮＧ，２」を上書きする形で書き込みが行われる。
【０１０６】
そのため、この例では、ＲＡＭ３３上の履歴記録領域３３ｄにある４つの更新情報全てを１つ目の履歴記録領域２１ａに書き込むことが出来る。すなわち、書き込みが行われる領域の容量を減らすことが出来る。
【０１０７】
以上、第１の実施形態の画像形成装置１０において、改良可能な第２の点と、その改良方法について説明した。
【０１０８】
［補足事項］
その他、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【０１０９】
例えば、不揮発性半導体メモリーとしてＮＯＲ型フラッシュメモリー（登録商標）やＮＡＮＤ型フラッシュメモリー（登録商標）を用いて、本発明を実施することも可能である。
【符号の説明】
【０１１０】
１０  …  画像形成装置
１１  …  制御部
１２  …  画像読取部
１３  …  画像処理部
１４  …  画像メモリー
１５  …  画像形成部
１８  …  操作部
１８ａ…  表示部
１９  …  ファクシミリ通信部
２０  …  ネットワークインターフェイス部
２１  …  記憶部
２１ａ、２１ｂ、２１ｃ  …  履歴記録領域
３１  …  ＣＰＵ
３２  …  ＲＯＭ
３３  …  ＲＡＭ
３３ａ、３３ｂ、３３ｃ  …  実データ記録領域
３３ｄ…  履歴記録領域
３３ｐ…  プログラム展開領域
３４  …  ＥＥＰＲＯＭ
３４ａ、３４ｂ、３４ｃ  …  ブロック
３４１ａ、３４１ｂ、３４１ｃ  …  実データ記録領域
３５  …  バス
【要約】
【課題】不揮発性半導体メモリを長寿命化できる情報処理装置の提供。
【解決手段】データが記録される第１データ領域と、その領域に記録されたデータを更新する更新データを含む更新情報が記録される第１履歴領域を有する揮発性メモリと、複数ブロックを有し、データの書込時にブロック単位で初期化され、ブロック毎にデータが記録される第２データ領域を有する不揮発性半導体メモリと、第１履歴領域に記録された更新情報が書写される第２履歴領域を有する記憶部と、第１データ領域内のデータを更新データで更新するとき、対応する更新情報を第１履歴領域に記録し、特定タイミングで第１履歴領域に記録されている更新情報を纏め、纏めた更新情報を第２履歴領域に書写し、書写し後第１履歴領域を初期化し、第２履歴領域が満杯時、第１データ領域のデータを対応する第２データ領域に書写し、書写し後第１履歴領域及び第２履歴領域を初期化するプロセッサを備える。
【選択図】図９【図１】
0005982025.tif 000002
【図２】
0005982025.tif 000003
【図３】
0005982025.tif 000004
【図４】
0005982025.tif 000005
【図５】
0005982025.tif 000006
【図６】
0005982025.tif 000007
【図７】
0005982025.tif 000008
【図８】
0005982025.tif 000009
【図９】
0005982025.tif 000010
【図１０】
0005982025.tif 000011
【図１１】
0005982025.tif 000012
【図１２】
0005982025.tif 000013
【図１３】
0005982025.tif 000014
【図１４】
0005982025.tif 000015