(57)【要約】【課題】記憶領域のシフト方向を管理する。【解決手段】記憶装置は、有効記憶領域に記憶されている分割データを無効記憶領域に書き直すとともに、書き直し先の無効記憶領域に対応する第２の記憶領域に有効フラグを設定し、書き直し元の有効記憶領域に対応する第２の記憶領域に無効フラグを設定することで複数の第１の記憶領域における無効記憶領域の位置をシフトしながらデータのリード回数が第１の記憶部のリード限界回数に達するまでに全ての分割データの書き直しを完了し、識別フラグに基づいて無効記憶領域のシフト方向を判定する記憶制御手段とを具備する。【選択図】図３
2012098794.tif 000002
【特許請求の範囲】
【請求項１】
複数の第１の記憶領域を有し、データが分割された分割データを前記第１の記憶領域それぞれに記憶する第１の記憶部と、
前記第１の記憶領域それぞれに対応した複数の第２の記憶領域を有し、前記第１の記憶領域が前記分割データを記憶している有効記憶領域であることを示す有効フラグまたは前記分割データを記憶していない無効記憶領域であることを示す無効フラグを識別フラグとして前記第２の記憶領域それぞれに記憶する第２の記憶部と、
前記有効記憶領域に記憶されている前記分割データを前記無効記憶領域に書き直すとともに、書き直し先の前記無効記憶領域に対応する前記第２の記憶領域に有効フラグを設定し、書き直し元の前記有効記憶領域に対応する前記第２の記憶領域に無効フラグを設定することで前記複数の第１の記憶領域における前記無効記憶領域の位置をシフトしながら前記データのリード回数が前記第１の記憶部のリード限界回数に達するまでに全ての前記分割データの書き直しを完了し、前記識別フラグに基づいて前記無効記憶領域のシフト方向を判定する記憶制御手段とを具備することを特徴とする記憶装置。
【請求項２】
前記記憶制御手段は、前記リード限界回数を前記分割データの数で割った値の回数分前記データをリードする毎に前記分割データを１つずつ書き直すことを特徴とする請求項１に記載の記憶装置。
【請求項３】
前記第１の記憶部は、ＮＡＮＤ型フラッシュメモリであることを特徴とする請求項１または２に記載の記憶装置。
【請求項４】
前記第２の記憶部は、ＮＯＲ型フラッシュメモリであることを特徴とする請求項１〜３のいずれか１項に記載の記憶装置。
【請求項５】
前記記憶制御手段は、前記ＮＯＲ型フラッシュメモリに記憶されている前記識別フラグをイレース無しで更新し、イレース無しによる更新が限界になった場合に、イレースを用いて識別フラグを初期化することを特徴とする請求項４に記載の記憶装置。
【請求項６】
請求項１〜５のいずれか１項に記載の記憶装置を具備し、当該記憶装置に記憶されるデータに基づいて動作することを特徴とする画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶装置及び画像形成装置に関する。
【背景技術】
【０００２】
近年、省電力化の要請が厳しくなり、画像形成装置も省電力化のために待機時に必要最低限の機能にのみ通電する省電力モードが搭載されている。この画像形成装置では、省電力モードから通常モードに移行する際に、制御部がフラッシュメモリなどの記憶部からプログラムを読み出す（リード）ので、当該記憶部に対するリード回数が増加してしまう。フラッシュメモリなどの不揮発記憶部は、一定回数のリードが行われると記憶状態が劣化するという特性あり、一定回数のリード毎に書き直し（ライト）が行われる必要がある（例えば、リード回数１０００回に１回）。したがって、画像形成装置では、省電力モードの搭載によって記憶部に対するリード回数が増加し、それに伴って当該記憶部に対するライト回数も増加している。これにより、書き直し中の電源断などの障害による書き直し失敗が発生する可能性が高まり、書き直し失敗による起動不能などの問題が生じる危険性が増加している。
【０００３】
例えば、下記特許文献１には、制御情報（プログラム）を２重化し、一方の制御情報の更新中に電源断などの何らかの障害が発生しても、他方の制御情報が正常に保持される情報処理装置が提案されている。しかし、当該技術は、プログラム更新時に障害が発生した場合の復帰を保障はできるが、ライト回数の増加が原因の書き直し失敗の危険性の増加を抑えることはできない。そのため、データの分割データが記憶された有効記憶領域と、無効データが記憶された無効記憶領域とを記憶部に設け、有効記憶領域に記憶されている分割データを無効記憶領域に書き直し、有効記憶領域と無効記憶領域とを切り替える無効記憶領域のシフトを繰り返すことで、記憶部のリード限界回数に達するまでに分割データを書き直す技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−３０５１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、有効記憶領域に記憶されている分割データを無効記憶領域に書き直し、無効記憶領域をシフトさせる方法が提案されているが、無効記憶領域のシフト方向を管理する方法が具体的に提案されていない。そのため、書き直しが行われた分割データが、他の分割データの書き直しが行われる前に再び書き直しが行われるという問題が発生するので、記憶部のリード限界回数に達するまでに全ての分割データを書き直すことを具体的に実現することができない。
【０００６】
本発明は、上述した事情に鑑みてなされたものであり、無効記憶領域のシフト方向を管理することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明では、記憶装置に係る第１の解決手段として、複数の第１の記憶領域を有し、データが分割された分割データを前記第１の記憶領域それぞれに記憶する第１の記憶部と、前記第１の記憶領域それぞれに対応した複数の第２の記憶領域を有し、前記第１の記憶領域が前記分割データを記憶している有効記憶領域であることを示す有効フラグまたは前記分割データを記憶していない無効記憶領域であることを示す無効フラグを識別フラグとして前記第２の記憶領域それぞれに記憶する第２の記憶部と、前記有効記憶領域に記憶されている前記分割データを前記無効記憶領域に書き直すとともに、書き直し先の前記無効記憶領域に対応する前記第２の記憶領域に有効フラグを設定し、書き直し元の前記有効記憶領域に対応する前記第２の記憶領域に無効フラグを設定することで前記複数の第１の記憶領域における前記無効記憶領域の位置をシフトしながら前記データのリード回数が前記第１の記憶部のリード限界回数に達するまでに全ての前記分割データの書き直しを完了し、前記識別フラグに基づいて前記無効記憶領域のシフト方向を判定する記憶制御手段とを具備するという手段を採用する。
【０００８】
本発明では、記憶装置に係る第２の解決手段として、上記第１の解決手段において、前記記憶制御手段は、前記リード限界回数を前記分割データの数で割った値の回数分前記データをリードする毎に前記分割データを１つずつ書き直すという手段を採用する。
【０００９】
本発明では、記憶装置に係る第３の解決手段として、上記第１または第２の解決手段において、前記第１の記憶部は、ＮＡＮＤ型フラッシュメモリであるという手段を採用する。
【００１０】
本発明では、記憶装置に係る第４の解決手段として、上記第１〜第３のいずれか１つの解決手段において、前記第２の記憶部は、ＮＯＲ型フラッシュメモリであるという手段を採用する。
【００１１】
本発明では、記憶装置に係る第５の解決手段として、上記第４の解決手段において、前記記憶制御手段は、前記ＮＯＲ型フラッシュメモリに記憶されている前記識別フラグをイレース無しで更新し、イレース無しによる更新が限界になった場合に、イレースを用いて識別フラグを初期化するという手段を採用する。
【００１２】
また、本発明では、画像形成装置に係る第１の解決手段として、上記第１〜第５のいずれか１つの解決手段を採用する記憶装置を具備し、当該記憶装置に記憶されるデータに基づいて動作するという手段を採用する。
【発明の効果】
【００１３】
本発明によれば、識別フラグに基づいて前記無効記憶領域のシフト方向を判定することで無効記憶領域のシフト方向を管理する。これにより、本発明は、記憶部のリード限界回数に達するまでに全ての分割データを書き直すことを具体的に実現することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る複合機Ａの機能ブロック図である。
【図２】本発明の実施形態に係る複合機ＡのＮＡＮＤ型フラッシュメモリ７１及びＮＯＲ型フラッシュメモリ７２を示す模式図である。
【図３】本発明の実施形態に係る複合機Ａの動作を示すフローチャートである。
【図４】本発明の実施形態に係る複合機Ａの書き直し動作の一例を示すＮＡＮＤ型フラッシュメモリ７１及びＮＯＲ型フラッシュメモリ７２の模式図である。
【図５】本発明の実施形態に係る複合機Ａの書き直し動作の一例を示すＮＡＮＤ型フラッシュメモリ７１及びＮＯＲ型フラッシュメモリ７２の模式図である。
【図６】本発明の実施形態に係る複合機Ａの書き直し動作の一例を示すＮＡＮＤ型フラッシュメモリ７１及びＮＯＲ型フラッシュメモリ７２の模式図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照して、本発明の実施形態について説明する。
本実施形態に係る複合機（画像形成装置）Ａは、コピー機能、プリント機能、スキャン機能及びファクシミリ送信／受信機能を併せ持つ。複合機Ａは、図１に示すように、操作表示部１、画像読取部２、画像データ記憶部３、画像処理部４、用紙搬送／画像形成部５、通信部６、記憶部７及び主制御部（記憶制御手段）８を備える。
【００１６】
操作表示部１は、操作キー１１及びタッチパネル１２を備えており、ユーザと複合機Ａとを関係付けるマンマシンインタフェースとして機能する。操作表示部１は、押下された操作キー１１またはタッチパネル１２に表示された操作ボタンの操作指示を主制御部８に出力するとともに、主制御部８の制御信号に基づいてタッチパネルに種々の画面を表示する。
【００１７】
画像読取部２は、主制御部８から入力される制御信号に基づいてＡＤＦ（Auto  Document Feeder：自動原稿送り装置）により自動給紙される原稿またはプラテンガラス上に載置された原稿の画像（原稿画像）をラインセンサで読み取って原稿画像データに変換し、この原稿画像データを画像データ記憶部３に出力する。
【００１８】
画像データ記憶部３は、半導体メモリまたはハードディスク装置などであり、主制御部８から入力される制御信号に基づいて原稿画像データ、プリント画像データ及びファクシミリ画像データ（通信部６が外部から受信）を記憶し、これら画像データを読み出して画像処理部４に出力する。
【００１９】
画像処理部４は、主制御部８から入力される制御信号に基づいて、画像データ記憶部３から入力される画像データに対して各種画像処理（例えば、拡大縮小コピーに対応した画像処理）を施すとともに、画像データを画像形成形式の画像データに変換、すなわち光の三原色に対応したＲＧＢ画像データ（カラー画像データ）をＹ（イエロー）、Ｍ（マゼンダ）、Ｃ（シアン）及びＫ（ブラック）を基準色とするＹＭＣＫ画像データに変換して用紙搬送／画像形成部５に出力する。
【００２０】
用紙搬送／画像形成部５は、プリントエンジン（感光ドラム、帯電器、現像装置及び定着装置など）、給紙ローラ及び排紙ローラなどを備える。用紙搬送／画像形成部５は、主制御部８の制御信号に基づいて給紙カセット（図示略）から記録用紙を給紙ローラで搬送し、画像処理部４から入力された画像データに基づく画像を記録用紙に転写するとともに定着させ、当該記録用紙を排紙ローラにより排紙トレイ（図示略）に排出する。
【００２１】
通信部６は、主制御部８の制御信号に基づいて電話回線を介して外部の複合機あるいはファクシミリ装置、またローカルエリアネットワークを介してクライアントコンピュータなどと通信を行うものである。すなわち、この通信部６は、イーサネット（登録商標）などのＬＡＮ規格に準拠した通信機能と、Ｇ３などのファクシミリ規格に準拠した通信機能とを兼ね備えたものである。
【００２２】
記憶部７は、ＮＡＮＤ型フラッシュメモリ７１（第１の記憶部）及びＮＯＲ型フラッシュメモリ７２（第２の記憶部）から構成された不揮発メモリであり、主制御部８によって実行される制御プログラムを記憶する。すなわち、記憶部７は、複合機Ａの電源オフ時でも制御プログラムを保持することができる。
【００２３】
ＮＡＮＤ型フラッシュメモリ７１は、図２に示すように、複数（ｎ個）の第１の記憶領域１〜ｎを有し、制御プログラム（データ）が分割された分割プログラム１〜ｎ−１（分割データ）を第１の記憶領域１〜ｎそれぞれに記憶する。上記分割プログラム１〜ｎ−１は、主制御部８によってＮＡＮＤ型フラッシュメモリ７１から読み出され、実行される。
【００２４】
ＮＯＲ型フラッシュメモリ７２は、図２に示すように、ＮＡＮＤ型フラッシュメモリ７１の第１の記憶領域１〜ｎそれぞれに対応した複数（ｎ個）の第２の記憶領域１〜ｎを有し、第１の記憶領域が分割プログラム１〜ｎ−１いずれかを記憶している有効記憶領域であることを示す有効フラグ（１…１１０）または無効データを記憶する（分割プログラム１〜ｎ−１を記憶していない）無効記憶領域であることを示す無効フラグ（１…１００）を識別フラグとして第２の記憶領域１〜ｎそれぞれに記憶する。第２の記憶領域１〜ｎに設定されている値の「０」が偶数個である場合が無効フラグであり、「０」が奇数個である場合が有効フラグである。
【００２５】
第１の記憶領域１〜ｎの有効記憶領域及び無効記憶領域は、両方ともデータの読み書き可能であるが、主制御部８は、無効記憶領域を読み飛ばす。また、図２に示すように、初期状態としてＮＯＲ型フラッシュメモリ７２の第２の記憶領域ｎには無効フラグが設定され、第２の記憶領域１〜ｎ−１には有効フラグが設定されている。つまり、ＮＡＮＤ型フラッシュメモリ７１は、初期状態として第１の記憶領域ｎが無効記憶領域であり、第１の記憶領域１〜ｎ−１が有効記憶領域である。
【００２６】
主制御部８は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）並びに上記操作表示部１、画像読取部２、画像データ記憶部３、画像処理部４、用紙搬送／画像形成部５、通信部６及び記憶部７と信号の入出力を行うインタフェース回路などから構成されており、上記ＲＡＭに記憶された制御プログラム及び上記操作表示部１から入力される操作指示に基づいて、複合機Ａの全体動作を制御する。すなわち、主制御部８は、記憶部７に記憶されている制御プログラム（分割プログラム１〜ｎ−１）をＲＡＭに読み出し、当該ＲＡＭに記憶された制御プログラムに基づいて制御を実行する。
【００２７】
上記主制御部８は、所定時間操作表示部１に操作指示が入力されない、かつ通信部６を介して外部からプリント指示などが入力されない場合に、再起動に必要な必要最低限の構成のみに電力を供給するように制御、つまり、画像読取部２、画像データ記憶部３、画像処理部４、用紙搬送／画像形成部５及び記憶部７に電力の供給を停止する省電力モードに移行する。
【００２８】
主制御部８は、省電力モードに移行後に、操作表示部１に操作指示が入力された、また通信部６を介して外部からプリント指示などが入力された場合に、省電力モードから通常モードに移行し、通常モードに移行する際の再起動の過程で、画像読取部２、画像データ記憶部３、画像処理部４及び用紙搬送／画像形成部５に電力を供給し、記憶部７を起動させて制御プログラム（分割プログラム１〜ｎ−１）をＲＡＭに読み出す。
【００２９】
次に、上記のように構成された本実施形態に係る複合機Ａの動作について図３を参照して詳しく説明する。
まず、複合機Ａにより原稿をコピーしようとするユーザは、複合機Ａを起動する。つまり、ユーザは、複合機Ａを電源オフ状態から電源オン状態にする、または複合機Ａを省電力モードから通常モードに移行させる。
【００３０】
主制御部８は、制御プログラムを記憶部７からＲＡＭに読み出すなどのシステム起動が完了（ステップＳ１）すると、当該システム起動が初期起動であるか否か判定する（ステップＳ２）。なお、初期起動とは、はじめてのシステム起動である。
主制御部８は、ステップＳ２において『ＹＥＳ』と判定した場合には、すなわちシステム起動が初期起動である場合には、ＮＯＲ型フラッシュメモリ７２の識別フラグを初期化し（ステップＳ３）、ジョブ待ち状態に移行する。
【００３１】
図４（ａ）に示すＮＯＲ型フラッシュメモリ７２の第２の記憶領域１〜ｎの識別フラグは、初期化されたものを示している。図４（ａ）に示すように、ＮＯＲ型フラッシュメモリ７２では、初期状態として第２の記憶領域ｎに無効フラグ（「０」が偶数個）が設定され、第２の記憶領域ｎ以外の第２の記憶領域１〜ｎ−１に有効フラグ（「０」が奇数個）が設定される。すなわち、ＮＡＮＤ型フラッシュメモリ７１において、第１の記憶領域ｎは無効記憶領域であり、第１の記憶領域ｎ以外の第１の記憶領域１〜ｎ−１は有効記憶領域である。図４（ａ）に示すように、第１の記憶領域１〜ｎ−１それぞれには分割プログラム１〜ｎ−１が記憶され、第１の記憶領域ｎには無効データが記憶されている。
【００３２】
図３に戻り、主制御部８は、ステップＳ２において『ＮＯ』と判定した場合には、すなわちシステム起動が初期起動でない場合には、起動回数が書き直し基準回数Ｗｎで割り切れるか否か判定する（ステップＳ４）。上記書き直し基準回数Ｗｎとは、ＮＡＮＤ型フラッシュメモリ７１のリード限界回数（ＮＡＮＤ型フラッシュメモリ７１の記憶状態を保持できるリード回数の限界値）を分割プログラム１〜ｎ−１の数（ｎ−１個）で割った値である。主制御部８は、ステップＳ４において、起動回数、すなわち主制御部８が記憶部７から制御プログラムをリードした回数が、基準回数Ｗｎで割り切れる回数であるか判定する。
【００３３】
主制御部８は、ステップＳ４において『ＮＯ』と判定した場合には、すなわち起動回数が書き直し基準回数Ｗｎで割り切れない場合には、ジョブ待ち状態に移行する。主制御部８は、ステップＳ４において『ＹＥＳ』と判定した場合には、すなわち起動回数が書き直し基準回数Ｗｎで割り切れる場合には、ＮＡＮＤ型フラッシュメモリ７１の無効記憶領域を検索する（ステップＳ５）。つまり、主制御部８は、ステップＳ５において、ＮＯＲ型フラッシュメモリ７２に記憶された無効フラグを検索することで、無効記憶領域を見つける。例えば、図４（ａ）であれば、主制御部８は、「０」が２個である第２の記憶領域ｎの値（１…１００）を無効フラグと認識し、第２の記憶領域ｎに対応する第１の記憶領域ｎを無効記憶領域と認識する。
【００３４】
図３に戻り、主制御部８は、ステップＳ５の後に、無効フラグが初期状態であるか否か判定する（ステップＳ６）。つまり、主制御部８は、ステップＳ６において、終端の第２の記憶領域ｎに無効フラグが設定され、かつ無効フラグの「０」が２個であるか否か判定する。
【００３５】
主制御部８は、ステップＳ６において『ＹＥＳ』と判定した場合には、すなわち無効フラグが初期状態である場合には、無効記憶領域の１つ前の領域の有効記憶領域に記憶されている分割プログラムを無効記憶領域に書き直すとともに、書き直し先の無効記憶領域に対応する第２の記憶領域の無効フラグの１個の「１」を「０」に更新することで当該第２の記憶領域に有効フラグを設定し、書き直し元の有効記憶領域に無効データを書き込むことで無効記憶領域を１つ前の領域にシフトするとともに書き直し元の有効記憶領域に対応する第２の記憶領域の有効フラグの１個の「１」を「０」に更新することで当該第２の記憶領域に無効フラグを設定する（ステップＳ７）。
【００３６】
例えば、主制御部８は、ステップＳ７において、図４（ｂ）に示すように、無効記憶領域（第１の記憶領域ｎ）の１つ前の領域の有効記憶領域（第１の記憶領域ｎ−１）に記憶されている分割プログラムｎ−１を無効記憶領域に書き直し、第２の記憶領域ｎに設定されている無効フラグの下３桁目の「１」を「０」に更新する。そして、主制御部８は、図４（ｃ）に示すように、書き直し元の有効記憶領域（第１の記憶領域ｎ−１）に無効データを書き込むことで無効記憶領域を１つ前の領域にシフトし、書き直し元の有効記憶領域に対応する第２の記憶領域ｎ−１の有効フラグの下２桁目の「１」を「０」に更新する。
【００３７】
図３に戻り、主制御部８は、ステップＳ６において『ＮＯ』と判定した場合には、すなわち無効フラグが初期状態でない場合には、先頭の第１の記憶領域１または終端の第１の記憶領域ｎが無効記憶領域であるか否か判定する（ステップＳ８）。
主制御部８は、ステップＳ８において『ＮＯ』と判定した場合には、すなわち先頭の第１の記憶領域１及び終端の第１の記憶領域ｎが無効記憶領域でない場合には、無効記憶領域の前後の領域の有効記憶領域に対応する有効フラグの「０」の数を比較する（ステップＳ９）。
【００３８】
例えば、主制御部８は、ステップＳ９において、図５（ａ）に示すように、無効記憶領域（第１の記憶領域ｎ−１）の前の領域の有効記憶領域（第１の記憶領域ｎ−２）に対応する第２の記憶領域ｎ−２の有効フラグ「１…１１１０」と、後ろの領域の有効記憶領域（第１の記憶領域ｎ）に対応する第２の記憶領域ｎの有効フラグ「１…１０００」との「０」の数を比較する
【００３９】
図３に戻り、主制御部８は、ステップＳ９の後に、前の領域の有効フラグの「０」の数が後ろの領域の有効フラグの「０」の数よりも少ないか否か判定し（ステップＳ１０）、ステップＳ１０において『ＹＥＳ』と判定した場合には、すなわち前の領域の有効フラグの「０」の数が後ろの領域の有効フラグの「０」の数よりも少ない場合には、無効記憶領域の１つ前の領域の有効記憶領域に記憶されている分割プログラムを無効記憶領域に書き直すとともに、書き直し先の無効記憶領域に対応する第２の記憶領域の無効フラグの１個の「１」を「０」に更新することで当該第２の記憶領域に有効フラグを設定し、書き直し元の有効記憶領域に無効データを書き込むことで無効記憶領域を１つ前の領域にシフトするとともに書き直し元の有効記憶領域に対応する第２の記憶領域の有効フラグの１個の「１」を「０」に更新することで当該第２の記憶領域に無効フラグを設定する（ステップＳ１１）。
【００４０】
例えば、主制御部８は、ステップＳ１１において、図５（ｂ）に示すように、無効記憶領域（第１の記憶領域ｎ−１）の１つ前の領域の有効記憶領域（第１の記憶領域ｎ−２）に記憶されている分割プログラムｎ−２を無効記憶領域に書き直し、第２の記憶領域ｎ−１に設定されている無効フラグの下３桁目の「１」を「０」に更新する。そして、主制御部８は、図５（ｃ）に示すように、書き直し元の有効記憶領域（第１の記憶領域ｎ−２）に無効データを書き込むことで無効記憶領域を１つ前の領域にシフトし、書き直し元の有効記憶領域に対応する第２の記憶領域ｎ−２の有効フラグの下２桁目の「１」を「０」に更新する。
【００４１】
図３に戻り、主制御部８は、ステップＳ１０において『ＮＯ』と判定した場合には、すなわち前の領域の有効フラグの「０」の数が後ろの領域の有効フラグの「０」の数よりも多い場合には、無効記憶領域の１つ後ろの領域の有効記憶領域に記憶されている分割プログラムを無効記憶領域に書き直すとともに、書き直し先の無効記憶領域に対応する第２の記憶領域の無効フラグの１個の「１」を「０」に更新することで当該第２の記憶領域に有効フラグを設定し、書き直し元の有効記憶領域に無効データを書き込むことで無効記憶領域を１つ後ろの領域にシフトするとともに書き直し元の有効記憶領域に対応する第２の記憶領域の有効フラグの１個の「１」を「０」に更新することで当該第２の記憶領域に無効フラグを設定する（ステップＳ１２）。
【００４２】
つまり、主制御部８は、ステップＳ１２において、ステップＳ１０とは逆に、無効記憶領域の１つ後ろの領域の有効記領域に記憶されている分割プログラムを無効記憶領域に書き直し、この１つ後ろの領域の有効記憶領域を無効記憶領域にすることで無効記憶領域を後ろの領域にシフトさせる。
【００４３】
主制御部８は、ステップＳ８において『ＹＥＳ』と判定した場合には、すなわち、例えば、図６（ａ）に示すように先頭の第１の記憶領域１が無効記憶領域である場合には、無効記憶領域の１つ後ろの領域の有効記憶領域に記憶されている分割プログラムを無効記憶領域に書き直すとともに、書き直し先の無効記憶領域に対応する第２の記憶領域の無効フラグの３個の「１」を「０」に更新することで当該第２の記憶領域に有効フラグを設定し、書き直し元の有効記憶領域に無効データを書き込むことで無効記憶領域を１つ後ろの領域にシフトするとともに書き直し元の有効記憶領域に対応する第２の記憶領域の有効フラグの１個の「１」を「０」に更新することで当該第２の記憶領域に無効フラグを設定する（ステップＳ１３）。
【００４４】
例えば、主制御部８は、ステップＳ１３において、図６（ｂ）に示すように、無効記憶領域（第１の記憶領域１）の１つ後ろの領域の有効記憶領域（第１の記憶領域２）に記憶されている分割プログラム１を無効記憶領域に書き直し、第２の記憶領域１に設定されている無効フラグの下３桁目から下５桁目の３桁分の「１」を「０」に更新する。そして、主制御部８は、図６（ｃ）に示すように、書き直し元の有効記憶領域（第１の記憶領域２）に無効データを書き込むことで無効記憶領域を１つ後ろの領域にシフトし、書き直し元の有効記憶領域に対応する第２の記憶領域２の有効フラグの下４桁目の「１」を「０」に更新する。
【００４５】
また、主制御部８は、ステップＳ８において終端の第１の記憶領域ｎが無効記憶領域である場合には、先端の第１の記憶領域１が無効記憶領域である場合とは逆に、無効記憶領域の１つ前の領域の有効記憶領域に記憶されている分割プログラムを無効記憶領域に書き直すとともに、書き直し先の無効記憶領域に対応する第２の記憶領域の無効フラグの３個の「１」を「０」に更新することで当該第２の記憶領域に有効フラグを設定し、書き直し元の有効記憶領域に無効データを書き込むことで無効記憶領域を１つ前の領域にシフトするとともに書き直し元の有効記憶領域に対応する第２の記憶領域の有効フラグの１個の「１」を「０」に更新することで当該第２の記憶領域に無効フラグを設定する。
【００４６】
主制御部８は、上記ステップＳ１〜１３の動作を繰り返し実行し、起動回数が書き直し基準回数Ｗｎで割り切れる毎、つまりＮＡＮＤ型フラッシュメモリ７１のリード限界回数を分割プログラム１〜ｎ−１の数で割った値の回数分制御プログラムをリードする毎に分割プログラム１〜ｎ−１を１つずつ書き直すことで、制御プログラムのリード回数（起動回数）がＮＡＮＤ型フラッシュメモリ７１のリード限界回数に達するまでに全ての分割プログラム１〜ｎ−１の書き直しを完了することができる。
【００４７】
また、主制御部８は、上記ステップＳ７，１１，１２，１３において、ＮＯＲ型フラッシュメモリ７２に記憶されている値「１」を「０」に更新することにより識別フラグを設定するので、イレース無しで識別フラグを更新できる。また、主制御部８は、「１」を「０」に更新する処理を続けた結果、上記処理に必要な「１」の数が足らなくなった場合に、その時点においてＮＯＲ型フラッシュメモリ７２に記憶されている識別フラグを他のメモリ（ＲＡＭなど）に記憶させ、他のメモリに記憶されている識別フラグに基づいてＮＯＲ型フラッシュメモリ７２の識別フラグを初期化する。
【００４８】
この際の初期化では、必ずしも図４（ａ）に示される識別フラグに戻すとは限らず、これまで実行された分割プログラム１〜ｎ−１の書き直しの続きから実行できる識別フラグに設定する。そして、主制御部８は、初期化後、再び、ＮＯＲ型フラッシュメモリ７２に記憶されている値「１」を「０」に更新することにより識別フラグを設定しながら、分割プログラム１〜ｎ−１の書き直しを実行する。
【００４９】
以上のように、本実施形態に係る複合機Ａにおいて、主制御部８は、識別フラグの「０」の数に基づいて無効記憶領域のシフト方向を判定、つまり無効記憶領域を前の領域または後ろの領域にシフトさせるか判定することで、無効記憶領域のシフト方向を管理する。これにより、複合機Ａは、記憶部のリード限界回数に達するまでに全ての分割データを書き直すことを具体的に実現することができる。
【００５０】
また、本実施形態では、起動回数が書き直し基準回数Ｗｎで割り切れる毎に分割プログラム１〜ｎ−１を１つずつ書き直すことにより分割プログラム１〜ｎ−１の書き直しが時間的に分散されるので、書き直し中に電源断などの障害が発生することで書き直し失敗が起きる危険性を抑えることができる。
【００５１】
以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されることなく、例えば以下のような変形が考えられる。
（１）上記実施形態に係る複合機Ａには、第１の記憶部としてＮＡＮＤ型フラッシュメモリ７１が搭載され、第２の記憶部としてＮＯＲ型フラッシュメモリ７２が搭載されているが、本発明はこれに限定されない。
【００５２】
例えば、ＮＯＲ型フラッシュメモリ７２を第１の記憶部にして、ＮＡＮＤ型フラッシュメモリ７１を第２の記憶部にするようにしてもよい。また、ＮＡＮＤ型フラッシュメモリ７１及びＮＯＲ型フラッシュメモリ７２以外の記憶部を第１の記憶部及び第２の記憶部として用いるようにしてもよい。
【００５３】
（２）上記実施形態に係る複合機Ａでは、起動回数が書き直し基準回数Ｗｎで割り切れる毎、に有効記憶領域の分割プログラムを無効記憶領域の書き直したが、本発明はこれに限定されない。
例えば、主制御部８は、起動回数が書き直し基準回数Ｗｎで割り切れる毎ではなく、所定の回数毎に有効記憶領域の分割プログラムを無効記憶領域の書き直し、制御プログラムのリード回数がリード限界回数に達するまでに全ての分割プログラム１〜ｎ−１の書き直しを完了するようにしてもよい。つまり、本発明は、制御プログラムのリード回数がリード限界回数に達するまでに全ての前記分割データの書き直しが完了していればよい。
【００５４】
（３）上記実施形態は、画像形成装置である複合機に本発明に係る記憶装置を搭載したものであるが、本発明はこれに限定されない。
例えば、コンピュータ及び携帯電話機などプログラム（データ）によって動作するあらゆる電子機器に本発明に係る記憶装置を搭載することができる。
【００５５】
（４）上記実施形態は、図４に示すように、初期化時の無効記憶領域が、終端の第１の記憶領域ｎに位置しているが、本発明はこれに限定されない。
初期化時の無効記憶領域は、先端の第１の記憶領域１に位置していてもよい。
【００５６】
（５）上記実施形態は、主制御部８は、書き直し元の有効記憶領域に無効データを書き込むとともに、書き直し元の有効記憶領域に対応する第２の記憶領域に無効フラグを設定することで、書き直し元の有効記憶領域を無効記憶領域にしたが、本発明はこれに限定されない。
主制御部８は、無効フラグの有り無しを基準に無効記憶領域であるか否か判断するので、無効記憶領域に無効データを書き込まず、分割プログラムをそのままにしてもよい。無効データを書き込むためには、書き直し元の有効記憶領域に記憶されている分割プログラムを消去する必要がある。ＮＡＮＤ型フラッシュメモリ７１の寿命における消去回数は予め決まっているので、無効データを書き込まないことによりＮＡＮＤ型フラッシュメモリ７１の寿命を延ばすことができる。
【符号の説明】
【００５７】
Ａ…複合機、１…操作表示部、２…画像読取部、３…画像データ記憶部、４…画像処理部、５…用紙搬送／画像形成部、６…通信部、７…記憶部、８…主制御部（記憶制御手段）、１１…操作キー、１２…タッチパネル、７１…ＮＡＮＤ型フラッシュメモリ、７２…ＮＯＲ型フラッシュメモリ
【図１】
2012098794.tif 000003
【図２】
2012098794.tif 000004
【図３】
2012098794.tif 000005
【図４】
2012098794.tif 000006
【図５】
2012098794.tif 000007
【図６】
2012098794.tif 000008