(57)【特許請求の範囲】
【請求項１】
データが記憶された不揮発性の記録媒体と、
前記記憶されたデータを編集するために当該データが読み込まれる揮発性メモリーと、
前記不揮発性の記録媒体から前記データを前記揮発性メモリーに読み出す読み出し部と、
前記読み出したデータを編集する編集部と、
前記編集したデータを前記不揮発性の記録媒体に書き込む書き込み部と
を備える情報処理装置であって、
前記不揮発性の記録媒体には、前記データに紐付けられ、当該データを前記揮発性メモリー上で編集後前記不揮発性の記録媒体に書き込む際の書き込み方の時間的なルールを表す書き込み種別が更に記憶され、
前記読み出し部は、
前記データを読み出す際、前記紐付けられた書き込み種別も読み出し、
前記書き込み部は、
前記編集したデータの前記書き込み種別が即時のとき、前記編集したデータを直ちに前記不揮発性の記録媒体に書き込み、
特定の周期が到来し、かつ前記書き込み種別が即時であるデータの書き込みが行われていないとき、編集され前記書き込み種別が周期であるデータを、前記不揮発性の記録媒体に書き込み、
特定の周期が到来したとき、前記書き込み種別が即時であるデータの書き込みが行われている場合、編集され前記書き込み種別が周期であるデータを、前記不揮発性の記録媒体に書き込むことを回避し、
当該情報処理装置の終了時であり、かつ前記書き込み種別が即時であるデータの書き込みが行われていないとき、編集され前記書き込み種別が終了時であるデータを前記不揮発性の記録媒体に書き込み、
当該情報処理装置の終了時に、前記書き込み種別が即時であるデータの書き込みが行われている場合、前記書き込み種別が即時であるデータの書き込みが終了するのを待って、編集され前記書き込み種別が終了時であるデータを前記不揮発性の記録媒体に書き込む
情報処理装置。
【請求項２】
請求項１に記載の情報処理装置であって、
前記書き込み部は、更に、
当該情報処理装置の終了時であり、かつ前記書き込み種別が即時であるデータの書き込みが行われていないとき、編集され前記書き込み種別が周期的であるデータを前記不揮発性の記録媒体に書き込み、
当該情報処理装置の終了時に、前記書き込み種別が即時であるデータの書き込みが行われている場合、前記書き込み種別が即時であるデータの書き込みが終了するのを待って、編集され前記書き込み種別が周期的であるデータを前記不揮発性の記録媒体に書き込む
情報処理装置。
【請求項３】
請求項１または２に記載の情報処理装置であって、
前記不揮発性の記録媒体には、
前記書き込みを制御するための書き込み制御フラグが更に記憶され、
前記書き込み部は、
前記編集したデータの前記書き込み種別が即時のとき、前記書き込み制御フラグを立てて、前記編集したデータを直ちに前記不揮発性の記録媒体に書き込み、書き込み完了後に前記書き込み制御フラグを解除し、
予め定められた周期が到来し、かつ前記書き込み制御フラグが解除されているとき、前記編集され前記書き込み種別が周期であるデータを、前記不揮発性の記録媒体に書き込み、
当該情報処理装置の終了時であり、かつ前記書き込み制御フラグが解除されているとき、前記編集され前記書き込み種別が終了時であるデータを前記不揮発性の記録媒体に書き込む
情報処理装置。
【請求項４】
請求項１、２または３に記載の情報処理装置であって、
前記不揮発性の記録媒体は、不揮発性半導体メモリーである
情報処理装置。
【請求項５】
コンピューターに実行させるメモリー管理プログラムであって、
データが記憶された不揮発性の記録媒体から、前記データを揮発性メモリー上に読み出し、
前記読み出したデータを編集し、
前記不揮発性の記録媒体から、前記データに紐付けられ、当該データを前記揮発性メモリー上での編集後前記不揮発性の記録媒体に書き込む際の書き込み方の時間的なルールを表す書き込み種別を前記揮発性メモリー上に読み出し、
前記編集したデータの前記書き込み種別が即時のとき、前記編集したデータを直ちに前記不揮発性の記録媒体に書き込み、
特定の周期が到来し、かつ前記書き込み種別が即時であるデータの書き込みが行われていないとき、編集され前記書き込み種別が周期であるデータを、前記不揮発性の記録媒体に書き込み、
特定の周期が到来したとき、前記書き込み種別が即時であるデータの書き込みが行われている場合、編集され前記書き込み種別が周期であるデータを、前記不揮発性の記録媒体に書き込むことを回避し、
前記コンピューターの終了時であり、かつ前記書き込み種別が即時であるデータの書き込みが行われていないとき、編集され前記書き込み種別が終了時であるデータを前記不揮発性の記録媒体に書き込み、
前記コンピューターの終了時に、前記書き込み種別が即時であるデータの書き込みが行われている場合、前記書き込み種別が即時であるデータの書き込みが終了するのを待って、編集され前記書き込み種別が終了時であるデータを前記不揮発性の記録媒体に書き込む
手順をコンピューターに実行させるメモリー管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性メモリーへの書き込みを行う情報処理装置およびメモリー管理プログラムに関する。
【背景技術】
【０００２】
近年、フラッシュメモリー（登録商標）などの不揮発性メモリーでは、データを書き込む場合、いったん書き込みバッファとなる揮発性メモリーにデータを読み出し、揮発性メモリー上でデータを編集し、編集の完了後、編集したデータを不揮発性メモリーに書き込むことが行われている。（例えば、特許文献１参照）。
【０００３】
このようにすることにより、不揮発性メモリーへの書き込み回数を減らし、書き込み処理の時間を短縮すると共に、書き込み回数に制限がある不揮発性メモリーの寿命を延ばすことが出来た。
【０００４】
また、例えば、特許文献２において開示されている技術では、更新フラグがオンになると、タイマーをゼロクリアしてから経過時間を計測し、タイマー値がしきい値を超えると揮発性メモリー上のデータを不揮発性メモリーへバックアップすることにより、効率的なデータのバックアップを実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３４８３４２号公報
【特許文献２】特開２００９−２７６８２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、特許文献１の技術では、一連の処理が終了した時点で、書き込みバッファのデータの全てを不揮発性メモリーに書き込んでいたため、多くの一連の処理が行われると不揮発性メモリーへの書き込み回数が増大してしまう問題点があった。
【０００７】
また、一連の処理の途中で即時に書き込む必要があるデータが、一連の処理の終了まで書き込まれず、編集結果の不揮発性メモリーへの反映が遅延してしまうという問題もあった。
【０００８】
また、特許文献２の技術では、バックアップによる書き込み処理が、それ以外の通常処理による書き込み処理と競合してしまう問題点があった。
【０００９】
以上のような事情に鑑み、本発明の目的は、種類の異なる書き込み処理どうしの競合を抑え、適切に不揮発性メモリーにデータを書き込むことが出来る情報処理装置およびメモリー管理プログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明の一形態に係る情報処理装置は、データが記憶された不揮発性の記録媒体と、前記記憶されたデータを編集するために当該データが読み込まれる揮発性メモリーと、前記不揮発性の記録媒体から前記データを前記揮発性メモリーに読み出す読み出し部と、前記読み出したデータを編集する編集部と、前記編集したデータを前記不揮発性の記録媒体に書き込む書き込み部とを備え、前記不揮発性の記録媒体には、前記データに紐付けられ、当該データを前記揮発性メモリー上で編集後前記不揮発性の記録媒体に書き込む際の書き込み方の時間的なルールを表す書き込み種別が更に記憶され、前記読み出し部は、前記データを読み出す際、前記紐付けられた書き込み種別も読み出し、前記書き込み部は、前記編集したデータの前記書き込み種別が即時のとき、前記編集したデータを直ちに前記不揮発性の記録媒体に書き込み、特定の周期が到来し、かつ前記書き込み種別が即時であるデータの書き込みが行われていないとき、編集され前記書き込み種別が周期であるデータを、前記不揮発性の記録媒体に書き込み、当該情報処理装置の終了時であり、かつ前記書き込み種別が即時であるデータの書き込みが行われていないとき、編集され前記書き込み種別が終了時であるデータを前記不揮発性の記録媒体に書き込む。そのため、種類の異なる書き込み処理どうしの競合を抑え、適切に不揮発性メモリーにデータを書き込むことが出来る。
【００１１】
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記不揮発性の記録媒体には、前記書き込みを制御するための書き込み制御フラグが更に記憶され、前記書き込み部は、前記編集したデータの前記書き込み種別が即時のとき、前記書き込み制御フラグを立てて、前記編集したデータを直ちに前記不揮発性の記録媒体に書き込み、書き込み完了後に前記書き込み制御フラグを解除し、予め定められた周期が到来し、かつ前記書き込み制御フラグが解除されているとき、前記編集され前記書き込み種別が周期であるデータを、前記不揮発性の記録媒体に書き込み、当該情報処理装置の終了時であり、かつ前記書き込み制御フラグが解除されているとき、前記編集され前記書き込み種別が終了時であるデータを前記不揮発性の記録媒体に書き込む構成でもよい。
【００１２】
上記目的を達成するため、本発明の一形態に係る情報処理装置では、前記不揮発性の記録媒体は、不揮発性半導体メモリーであってもよい。
【００１３】
上記目的を達成するため、本発明の一形態に係るメモリー管理プログラムは、データが記憶された不揮発性の記録媒体から、前記データを揮発性メモリー上に読み出し、前記読み出したデータを編集し、前記不揮発性の記録媒体から、前記データに紐付けられ、当該データを前記揮発性メモリー上での編集後前記不揮発性の記録媒体に書き込む際の書き込み方の時間的なルールを表す書き込み種別を前記揮発性メモリー上に読み出し、前記編集したデータの前記書き込み種別が即時のとき、前記編集したデータを直ちに前記不揮発性の記録媒体に書き込み、特定の周期が到来し、かつ前記書き込み種別が即時であるデータの書き込みが行われていないとき、編集され前記書き込み種別が周期であるデータを、前記不揮発性の記録媒体に書き込み、前記コンピューターの終了時であり、かつ前記書き込み種別が即時であるデータの書き込みが行われていないとき、編集され前記書き込み種別が終了時であるデータを前記不揮発性の記録媒体に書き込む手順を前記コンピューターに実行させる。
【発明の効果】
【００１４】
以上のように、本発明によれば、種類の異なる書き込み処理どうしの競合を抑え、適切に不揮発性メモリーにデータを書き込むことが出来る。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係る画像形成装置１の構成の一例を示す構成図である。
【図２】本発明の一実施形態に係る画像形成装置１の制御部４０において実現される機能を表した機能ブロック図である。
【図３】本実施形態の画像形成装置１において、不揮発性メモリー２０への読み書きを行うアクセス単位であるブロックの構造を示す図である。
【図４】ブロックが不揮発性メモリー２０上でどのように構成されているかを示す図である。
【図５】ブロックの配置に関し、不揮発性メモリー２０上の構成とＲＡＭ４３上の構成がどのように対応しているかを示す図である。
【図６】ＲＡＭ４３上の実データＲＤが更新される時の処理について説明するためのフローチャートである。
【図７】データ更新が行われた後に、不揮発性メモリー２０上およびＲＡＭ４３上の実データＲＤがどのような状態になっているかを示す図である。
【図８】特定の周期が到来した時点で行われる書き込み処理について説明するためのフローチャートである。
【図９】画像形成装置１のシャットダウン時に行われる書き込み処理について説明するためのフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら、本発明の実施形態を説明する。なお、本発明は、情報処理装置全般に適用することが出来るが、以下の説明では、本発明の一実施形態として、画像形成装置に適用した例を説明する。
【００１７】
［概要］
まず、本実施形態に係る画像形成装置の概要について説明する。
【００１８】
本実施形態に係る画像形成装置は、上述した従来技術と同様に、不揮発性メモリー上のデータを編集するために、まず不揮発性メモリーから書き込みバッファとなる揮発性メモリー上にデータを読み込んで編集した後、データを書き戻す構成を採っている。
【００１９】
そして、本実施形態に係る画像形成装置では、不揮発性メモリーに保存するデータに、そのデータを不揮発性メモリーに書き込むタイミングを示す情報を付加する。
【００２０】
これにより、不揮発性メモリーへのデータの書き込み回数を最適化して、書き込み回数に制限がある不揮発性メモリーの寿命を延ばしたり、データの書き込み性能を改善したりすることが出来る。
【００２１】
さらに、書き込み回数が最適化されることにより、データ書き込み処理によるデータ読み込み待ちが発生する頻度が減ると考えられるので、データ読み込み性能も改善が期待できる。
【００２２】
また、上述した従来技術とは異なり、不揮発性メモリーへ即時に反映すべきデータに関しては、一連の処理の途中であっても、即時書き込みを行うことが出来る。
【００２３】
さらに、即時書き込み処理と他の書き込み処理とが競合しないように、即時書き込み処理を行う際には、即時書き込み以外の書き込み処理を禁止することにより、即時書き込みの遅延を防止しているので、即時書き込み処理を適切に行うことが出来る。
【００２４】
即時書き込み以外の書き込み処理を禁止する方法として、書き込み制御フラグを設け、書き込み制御フラグが立っている時は即時書き込み以外の書き込み処理を行わないように制御してもよい。
【００２５】
以上、本実施形態に係る画像形成装置の概要について説明した。
【００２６】
［書き込みタイミングによるデータの分類］
ここでは、不揮発性メモリーにデータを書き込むタイミングによりデータを３つに分類して説明する。なお、この３つに分類するのはあくまで例であり、２つに分類してもよいし、４つ以上に分類してもよい。
【００２７】
（１）不揮発性メモリーへの反映を即時に行うデータ
揮発性メモリー上でのデータの編集後、直ちに不揮発性メモリーへの書き込みを行うデータとしては、画像形成装置のページカウンタなど、一連の処理の途中における画像形成装置の電源オフなどにより消失してはいけないデータがある。
【００２８】
（２）不揮発性メモリーへの反映を一定の周期で行うデータ
揮発性メモリー上でのデータの編集後、予め定められた一定の周期が到来してから初めて不揮発性メモリーへの書き込みを行うデータである。この分類に属するデータとしては、高頻度で変更されるものの、不揮発性メモリーへ反映させるタイミングに強い制約がないデータが挙げられる。なお、ここでいう周期としては、数秒程度の周期を想定している。
【００２９】
数多くの一連の処理が行われても、決められた周期が来るまで書き込みは行われないので、書き込み回数を減らすことが出来る。
【００３０】
（３）不揮発性メモリーへの反映を画像形成装置のシャットダウン時に行うデータ
この種類に分類されるデータは、揮発性メモリー上でのデータの編集後、画像形成装置がシャットダウンされる時点まで書き込みが行われないデータである。
【００３１】
一般的なパーソナルコンピューターと異なり、画像形成装置では、ユーザーによる適切なシャットダウン処理が行われず、いきなり電源オフにされる可能性が高い。そのため、この分類に属するデータは、適切なシャットダウン処理が行われず、失われても問題がないデータである。
【００３２】
以上、不揮発性メモリーにデータを書き込むタイミングによりデータを３つに分類して説明した。
【００３３】
［画像形成装置の構成］
最初に、本実施の形態に係る画像形成装置の構成について説明する。図１は、本発明の一実施形態に係る画像形成装置１の構成の一例を示す構成図である。なお、図１に示す画像形成装置１は、複写機能、プリンター機能、ファクシミリ機能、およびスキャナー機能等、画像形成に関する複数の機能を兼ね備えた複合機（ＭＦＰ、Multi-Function Peripheral）である。
【００３４】
画像形成装置１は、スキャナー部１０、不揮発性メモリー２０、プリンター部３０、制御部４０、操作パネル部５０、ファクシミリ通信部６０、ネットワークＩ／Ｆ部７０、パラレルＩ／Ｆ部８０、およびシリアルＩ／Ｆ部９０を備えて構成されている。
【００３５】
そして、スキャナー部１０、不揮発性メモリー２０、制御部４０、操作パネル部５０、およびネットワークＩ／Ｆ部７０によって、取り込んだ画像データを暗号化して予め指定されたメールアドレスへ電子メールとして送信したり、ＩＰアドレスへ直接送信したりするネットワークスキャナー機能が実現される。
【００３６】
また、スキャナー部１０、不揮発性メモリー２０（不揮発性の記録媒体）、プリンター部３０、制御部４０、操作パネル部５０、およびファクシミリ通信部６０によって、ファクシミリ機能が実現される。さらに、不揮発性メモリー２０、プリンター部３０、制御部４０、操作パネル部５０、ネットワークＩ／Ｆ部７０、およびパラレルＩ／Ｆ部８０によって、プリンター機能が実現される。また、スキャナー部１０、不揮発性メモリー２０、プリンター部３０、制御部４０、および操作パネル部５０によって、コピー機能が実現される。
【００３７】
操作パネル部５０は、ユーザーがコピー機能、プリンター機能、ファクシミリ機能、およびスキャナー機能等に関する操作を行うために使用され、ユーザーによる操作指示、例えば不揮発性メモリー２０に記憶されている情報の印字を指示する画像形成指示等を制御部４０に与えるものである。
【００３８】
また、操作パネル部５０は、ユーザーの識別情報、例えば機密情報へのアクセスが許されたユーザーのみが知っているパスワード、すなわち当該パスワードを知っているユーザーは機密情報へのアクセスが許されているユーザーであることを識別する識別情報であるパスワードや、各ユーザーを個々に識別するための識別情報であるユーザーＩＤの入力を受け付ける。
【００３９】
操作パネル部５０は、タッチパネル等を有する表示部５１と、スタートキーやテンキー等を有する操作キー部５２とを含む。
【００４０】
表示部５１は、タッチパネルとＬＣＤ（Liquid Crystal Display）とを組み合わせた表示可能なタッチパネルユニット等を有し、種々の操作画面を表示し、入力操作を可能にする。
【００４１】
表示部５１は、例えばファクシミリ機能実行時において、ユーザー選択、送信先選択、送信設定等に関する情報を表示するとともに、使用者が当該部分をタッチすることで種々の操作指示を入力するための操作ボタン等を表示する。
【００４２】
操作キー部５２は、使用者によるコピー実行開始指示、あるいはファクシミリ送信開始指示といった種々の指示入力を行うために用いられる。
【００４３】
スキャナー部１０は、原稿の画像を光学的に取得して画像データを生成するものである。スキャナー部１０は、露光ランプ１１、およびＣＣＤ（電荷結合素子）１２を含んでいる。スキャナー部１０は、露光ランプ１１によって原稿を照射し、その反射光をＣＣＤ１２で受光することで、原稿画像を読み取り、読み取った画像に対応する画像データを制御部４０へ出力する。スキャナー部１０はモノクロ原稿だけでなく、カラー原稿や写真原稿の読み取りが可能となっていてもよい。
【００４４】
不揮発性メモリー２０は、例えば制御部４０によって暗号化された原稿の画像データを記憶する記憶部の一例に相当している。不揮発性メモリー２０は、ＳＳＤ（Solid State Drive）などの不揮発性半導体メモリーやＨＤＤ（Hard Disk Drive）であってもよいが、本実施形態では、データの書き換え回数に制限がある不揮発性メモリー、特にＮＯＲ型フラッシュメモリー（登録商標）などの不揮発性半導体メモリーを想定している。
【００４５】
プリンター部３０は、スキャナー部１０によって読み取られた原稿の画像データ、ネットワークＩ／Ｆ部７０を介して外部のパーソナルコンピューター等から受信した画像データ、およびファクシミリ通信部６０によって外部のファクシミリ装置から受信したファックスデータ等の画像データを制御部４０から取得して、これら画像データに対する画像を所定の記録紙に印刷するものである。
【００４６】
プリンター部３０は、例えば、給紙カセットおよび給紙ローラ等を有する用紙搬送部３１、中間転写体ローラ、感光体ドラム、露光装置、および現像装置等を有する像形成部３２、転写ローラ等を有する転写部３３、並びに定着ローラ等を有する定着部３４を含む電子写真方式の画像形成部である。
【００４７】
具体的には、用紙搬送部３１は記録紙を像形成部３２へ搬送し、像形成部３２は上記画像データに対応するトナー像を形成し、転写部３３はトナー像を記録紙に転写し、定着部３４はトナー像を記録紙に定着させて画像を形成する。
【００４８】
なお、プリンター部３０は、トナーを用いて画像を形成する電子写真方式に限られず、例えば、記録紙にインクを吐出して画像を形成するインクジェット方式や、インクフィルムに熱を加えて記録紙に画像を転写する熱転写方式等、種々の方式を用いることができる。
【００４９】
ファクシミリ通信部６０は、符号化／復号化部（図示せず）、変復調部（図示せず）、およびＮＣＵ（Network Control Unit、図示せず）を含み、スキャナー部１０によって読み取られた原稿の画像データを電話回線やインターネット回線等の通信回線６１を介して他のファクシミリ装置へ送信したり、他のファクシミリ装置から送信されてきた画像データを受信したりするものである。
【００５０】
符号化／復号化部は、送信する画像データを圧縮・復号化し、受信した画像データを伸張・復号化するものである。変復調部は、圧縮・復号化された画像データを音声信号に変調したり、受信した信号（音声信号）を画像データに復調したりするものである。また、ＮＣＵは、送信先となるファクシミリ装置との電話回線による接続を制御するものである。
【００５１】
ネットワークＩ／Ｆ部７０は、ネットワークインターフェース（例えば10/100base-TX）等を用い、ＬＡＮ（Local Area Network）７１を介して接続された外部のパーソナルコンピューター等の端末装置（図示せず）との間で種々のデータの送受信を制御するものである。例えば、ネットワークＩ／Ｆ部７０は、スキャナー部１０によって読み取られ、制御部４０により暗号化された原稿画像データを端末装置へ電子メールとして送信したり、プリンター部３０で印刷するために端末装置から送られた画像データを受信したりする。
【００５２】
パラレルＩ／Ｆ部８０は、高速双方向パラレルインターフェイス（例えばＩＥＥＥ１２８４準拠）等を用いて、複数の信号線を用いて複数ビット単位でデータを送信するパラレル伝送によって、外部機器から印刷データ等を受信等するものである。
【００５３】
シリアルＩ／Ｆ部９０は、シリアルインターフェイス（例えばＲＳ−２３２Ｃ）等を用い、単一の信号線を用いて１ビットずつ順次データを送るシリアル伝送によって、外部機器等から種々のデータ等を受信等するものである。
【００５４】
制御部４０は、ＣＰＵ（Central Processing Unit）４１、所定の制御プログラムを格納するＲＯＭ（Read Only Memory）４２、ならびに一時的にデータを保管するＲＡＭ（Random Access Memory）４３（揮発性メモリー）などを備えている。これらによって、制御部４０は、操作パネル部５０等で受け付けられた指示情報や、画像形成装置１の各所に設けられているセンサーからの検出信号に応じて、画像形成装置１全体の制御を行う。
【００５５】
より具体的には、制御部４０は、ＲＯＭ４２に記憶されている制御プログラムをＣＰＵ４１が実行することにより、スキャナーコントローラー、ファクシミリコントローラー、プリンターコントローラー、コピーコントローラー、不揮発性メモリーコントローラーとして機能する。なお、これらのコントローラーは図示していない。
【００５６】
また、ＲＯＭ４２に記憶されている制御プログラムをＣＰＵ４１が実行することにより、実現される機能ブロックとしては、図２に示すように、読み出し部４０ａ、編集部４０ｂ、および書き込み部４０ｃがある。
【００５７】
読み出し部４０ａは、不揮発性メモリー２０上のデータ等をＲＡＭ４３上に読み出す。なお、読み出す際は、不揮発性メモリー２０上のデータ等をまとめて全て読み出す構成でもよいし、処理に必要なデータ等のみをその都度読み出す構成でもよい。
【００５８】
編集部４０ｂは、ＲＡＭ４３上に読み出したデータを更新（編集）する。編集後は、編集したデータに紐付けられた編集フラグを立てて、そのデータが編集済であることを示す。
【００５９】
書き込み部４０ｃは、編集フラグが立っているデータを対象に、ＲＡＭ４３上のデータに紐付けられた、そのデータを書き込む時間的なルールを示す情報（書き込み種別）に従って、ＲＡＭ４３上のデータを不揮発性メモリー２０へ書き込む（書き戻す）。
【００６０】
また、書き込み部４０ｃは、即時書き込みが行われるイベントが発生した際に、書き込み制御フラグを立てて、即時書き込み以外の書き込み処理が実行されないようにする。なお、書き込みの詳細については後述する。
【００６１】
制御部４０としてのコンピューターが読み取ることによって上述の各機能を実現するためのプログラムは、不揮発性メモリー２０等の不揮発性の外部記憶装置に格納しておき、ＲＡＭ４３等の主記憶装置に適宜転送することで、ＣＰＵ４１による実行に供することも可能である。
【００６２】
スキャナーコントローラーは、スキャナー機能を実現するために用いられる各部の動作を制御するものである。
【００６３】
ファクシミリコントローラーは、ファクシミリ機能を実現するために用いられる各部の動作を制御するものである。ファクシミリコントローラーは、ファクシミリの送信を行う際には、ファクシミリ通信部６０によって、スキャナー部１０により読み取られた原稿の画像データを通信回線６１を介して、不揮発性メモリー２０に記憶されている電話番号を指定してファクシミリ装置等へ直接送信させる。
【００６４】
プリンターコントローラーは、プリンター機能を実現するために用いられる各部の動作を制御するものである。
【００６５】
コピーコントローラーは、コピー機能を実現するために用いられる各部の動作を制御するものである。
【００６６】
不揮発性メモリーコントローラーは、不揮発性メモリー２０の初期化やパーティションの作成を行ったり、データの読み込み、書き込み等Ｉ／Ｏ制御を行ったりする。
【００６７】
以上、画像形成装置１の構成について説明した。
【００６８】
［ブロックのデータ構造について］
次に、本実施形態の画像形成装置１において、不揮発性メモリー２０への読み書きを行うアクセス単位であるブロック（ページ）の構造について説明する。図３は、本実施形態の画像形成装置１において、不揮発性メモリー２０への読み書きを行うアクセス単位であるブロックの構造を示す図である。
【００６９】
図３にあるように、ブロックは、制御部４０において処理に用いられる実データＲＤと、その実データＲＤに紐付けられた、実データＲＤのＲＡＭ４３から不揮発性メモリー２０への書き込みタイミングを表す書き込み種別ＴＹとから構成されている。
【００７０】
なお、ここでは、書き込み種別が取る値の例として、「１」であれば即時書き込み、「２」であれば周期書き込み、「３」であれば画像形成装置１の終了時の書き込みが行われるものとしている。
【００７１】
なお、不揮発性メモリー２０の寿命とは、このブロックに対する書き込み回数や消去回数として定義されたものである。
【００７２】
なお、書き込み種別をどのような値とするかは、画像形成装置１の設計時に定めてもよいし、画像形成装置１の工場出荷時に設定されてもよいし、画像形成装置１の運用時に制御部４０において実行されるプログラムにより必要な都度、自動的に設定されてもよいし、画像形成装置１のユーザーにより設定されてもよい。
【００７３】
以上、不揮発性メモリー２０への読み書きを行うアクセス単位であるブロックの構造について説明した。
【００７４】
［不揮発性メモリー２０内の構成について］
次に、上述したブロックが不揮発性メモリー２０上でどのように構成されているかを説明する。図４は、ブロックが不揮発性メモリー２０上でどのように構成されているかを示す図である。
【００７５】
図４に示すように、不揮発性メモリー２０上では、実データＲＤと書き込み種別ＴＹの組から構成されるブロックが並べられた構成となっている。なお、ここでは、不揮発性メモリーの最初に配置されたブロックの実データ「ＡＡＡＡＡＡＡＡ」では、書き込み種別が「１」となっており、ＲＡＭ４３上で編集された場合には、即時書き込みが行われるデータであることが示されている。
【００７６】
なお、不揮発性メモリー２０には、工場出荷時などの初期状態において、このような構成でデータが配置されていることが好ましい。
【００７７】
以上、ブロックが不揮発性メモリー２０上でどのように構成されているかを説明した。
【００７８】
［不揮発性メモリー２０とＲＡＭ４３との対応について］
次に、ブロックの配置に関し、不揮発性メモリー２０上の構成とＲＡＭ４３上の構成がどのように対応しているかを説明する。図５は、ブロックの配置に関し、不揮発性メモリー２０上の構成とＲＡＭ４３上の構成がどのように対応しているかを示す図である。
【００７９】
なお、図５は、読み込み部４０ａが、不揮発性メモリー２０上のブロックをＲＡＭ４３上に読み込んだが、編集部４０ｂによる実データＲＤの更新は未だ行われていない状態を表したものでもある。
【００８０】
図５に示すように、不揮発性メモリー２０上のブロックとＲＡＭ４３上に読み込まれたブロックとは、１対１に対応している。そして、さらに、ＲＡＭ４３上では、各ブロックの実データＲＤが更新されたか否かを示す編集フラグＦＬＧが、それぞれの実データＲＤに紐付けられて配置されている。
【００８１】
なお、ここでは、編集フラグが「０」の時は、対応する実データＲＤは未更新であり、「１」の時は、対応する実データＲＤは更新済であることを示すものとする。
【００８２】
以上、ブロックの配置に関し、不揮発性メモリー２０上の構成とＲＡＭ４３上の構成がどのように対応しているかを説明した。
【００８３】
［データ更新時の処理について］
次に、ＲＡＭ４３上の実データＲＤが更新される時の処理について説明する。図６は、ＲＡＭ４３上の実データＲＤが更新される時の処理について説明するためのフローチャートである。
【００８４】
まず、編集部４０ｂが、ＲＡＭ４３上の実データＲＤを編集する（ステップＳ１０）。
【００８５】
次に、編集部４０ｂが、編集した実データＲＤに紐付いた編集フラグＦＬＧを立てる（ステップＳ１１）。
【００８６】
次に、書き込み部４０ｃが、編集された実データＲＤの書き込み種別ＴＹをチェックし、そのデータは即時書き込みが要求されるデータであるか否かを判断する（ステップＳ１２）。
【００８７】
即時書き込みが要求されるデータである場合（ステップＳ１２のＹ）、書き込み部４０ｃは、書き込み制御フラグを立てる（ステップＳ１３）。
【００８８】
次に、書き込み部４０ｃは、編集されたデータを直ちに不揮発性メモリー２０上の対応するブロックへ書き込む（ステップＳ１４）。
【００８９】
即時書き込みが要求されるデータの書き込み処理が完了すると、書き込み部４０ｃは、書き込み制御フラグを解除する（ステップＳ１５）。
【００９０】
なお、即時書き込みが要求されるデータではない場合（ステップＳ１２のＮ）、書き込み処理は直ちには行わない。
【００９１】
以上、ＲＡＭ４３上の実データＲＤが更新される時の処理について説明した。なお、上記の処理では、編集されたデータが即時書き込みデータである場合に、書き込み制御フラグを立てて、即時書き込み以外の書き込み処理が発生することを禁止する構成としたが、この構成に限らず、例えば、即時書き込み処理が行われることになるイベントが発生した時に、書き込み制御フラグを立てる構成でもよい。
【００９２】
なお、即時書き込み処理が行われることになるイベントとは、例えば、データの送信処理や印刷処理（ジョブ）の開始などである。これらの書影が開始されると、スキャンカウントを行うカウンターや印刷カウントを行うカウンターがインクリメントされるからである。
【００９３】
また、上記の説明では、即時書き込み処理が完了した時点で書き込み制御フラグを解除する構成としたが、これに限らず、複数の即時書き込みが同時期に発生した場合を考慮して、つまり書き込み制御フラグが立っているときに新たな即時書き込みが発生した場合を考慮して、全ての即時書き込みが終了した時点で、書き込み制御フラグを解除する構成でもよい。
【００９４】
また、ジョブ（例えば、送信処理や印刷処理）の実行において複数の即時書き込みが発生する場合、このジョブに係る一連の即時書き込みが全て終了し、且つこのジョブが終了した時点で、書き込み制御フラグを解除する構成でもよい。
【００９５】
つまり、同一のジョブに係る全ての即時書き込みが終了していても、ジョブが終了するまで即時書き込み以外の書き込み処理を禁止してもよい。
【００９６】
［データ更新後の実データの状態について］
次に、上記のデータ更新が行われた後に、不揮発性メモリー２０上およびＲＡＭ４３上の実データＲＤがどのような状態になっているかを説明する。図７は、データ更新が行われた後に、不揮発性メモリー２０上およびＲＡＭ４３上の実データＲＤがどのような状態になっているかを示す図である。
【００９７】
まず、上から１行目のブロックに関しては、元の実データ「ＡＡＡＡＡＡＡＡ」が「ＡＡＡＡＢＢＢＢ」に更新され、書き込み種別ＴＹが「１」であるので即時書き込みが行われたことにより、不揮発性メモリー２０上の実データＲＤも「ＡＡＡＡＢＢＢＢ」に更新されている。
【００９８】
次に、上から２行目のブロックに関しては、ＲＡＭ４３上の実データＲＤは「ＢＢＢＢＣＣＣＣ」に更新されているが、書き込み種別は「２」であり、まだ書き込む周期が訪れていないものとして、書き込みは行われていない。そのため、不揮発性メモリー２０上の対応する実データＲＤは元の「ＢＢＢＢＢＢＢＢ」のままである。
【００９９】
また、上から３行目のブロックに関しても、ＲＡＭ４３上の実データＲＤは「ＣＣＣＣＤＤＤＤ」に更新されているが、書き込み種別は「３」であり、まだ画像形成装置１がシャットダウンされていないものとして、書き込みは行われていない。そのため、不揮発性メモリー２０上の対応する実データＲＤは元の「ＣＣＣＣＣＣＣＣ」のままである。
【０１００】
なお、上記３つの実データＲＤは、すべて編集が行われているため、編集フラグはすべて「１」となっている。
【０１０１】
以上、データ更新が行われた後に、不揮発性メモリー２０上およびＲＡＭ４３上の実データＲＤがどのような状態になっているかを説明した。
【０１０２】
［周期到来時の書き込み処理について］
次に、特定の周期が到来した時点で行われる書き込み処理について説明する。図８は、特定の周期が到来した時点で行われる書き込み処理について説明するためのフローチャートである。
【０１０３】
まず、書き込み部４０ｃが、周期書き込みのタイミングが到来したか否かを判断する（ステップＳ２０）。
【０１０４】
到来していない場合（ステップＳ２０のＮ）、書き込み部４０ｃは書き込み処理を終了する。
【０１０５】
到来している場合（ステップＳ２０のＹ）、書き込み部４０ｃは、書き込み制御フラグが立っているか否かを判断する（ステップＳ２１）。
【０１０６】
書き込み制御フラグが立っている場合（ステップＳ２１のＹ）、書き込み部４０ｃは、書き込み処理を終了する。
【０１０７】
書き込み制御フラグが解除されている場合（ステップＳ２１のＮ）、書き込み部４０ｃは、書き込み対象とするＲＡＭ４３上の実データＲＤが編集されたデータか否かを判断する（ステップＳ２２）。
【０１０８】
編集されたデータではない場合（ステップＳ２２のＮ）、ステップＳ２４に進む。
【０１０９】
編集されたデータである場合（ステップＳ２２のＹ）、書き込み部４０ｃは、その実データＲＤの書き込み種別ＴＹが周期書き込みであるか否かを判断する（ステップＳ２３）。
【０１１０】
周期書き込みではない場合（ステップＳ２３のＮ）、ステップＳ２４に進む。
【０１１１】
周期書き込みである場合（ステップＳ２３のＹ）、書き込み部４０ｃは、その実データＲＤを不揮発性メモリー２０の対応するブロックへ書き込む（ステップＳ２４）。
【０１１２】
次に、書き込み部４０ｃは、書き込み処理を行うべき次の実データＲＤがあるか否かを判断する（ステップＳ２５）。
【０１１３】
次の実データＲＤがある場合（ステップＳ２５のＹ）、書き込み部４０ｃは、ステップＳ２１に戻り、書き込み処理を継続する。
【０１１４】
次の実データＲＤがない場合（ステップＳ２５のＮ）、書き込み部４０ｃは、書き込み処理を終了する。
【０１１５】
以上、予め定められた周期が到来した時点で行われる書き込み処理について説明した。
【０１１６】
このように、書き込み制御フラグが立っている時、すなわち、即時書き込みが行われている時は、予め定められた周期が到来した時点で行われる書き込み処理を行わないことにより、種類の異なる書き込み処理どうしが競合することによる即時書き込み処理の遅延を防止出来る。
【０１１７】
なお、図８に示す書き込み処理のステップＳ２２〜Ｓ２５の実行中に即時書き込みが発生した場合、実行中のステップが終了した後、即時書き込み（図６のステップＳ１３〜Ｓ１５）を開始する構成でもよい。この場合、図８に示す周期書き込み処理は終了する構成でもよい。
【０１１８】
［画像形成装置１のシャットダウン時の書き込み処理について］
次に、画像形成装置１のシャットダウン時に行われる書き込み処理について説明する。図９は、画像形成装置１のシャットダウン時に行われる書き込み処理について説明するためのフローチャートである。
【０１１９】
まず、書き込み部４０ｃが、画像形成装置１がシャットダウンされようとしているか否かを判断する（ステップＳ３０）。
【０１２０】
シャットダウンされようとはしていない場合（ステップＳ３０のＮ）は、ステップＳ３０に戻る。
【０１２１】
シャットダウンされようとしている場合（ステップＳ３０のＹ）、書き込み部４０ｃは、書き込み制御フラグが立っているか否かを判断する（ステップＳ３１）。
【０１２２】
書き込み制御フラグが立っている場合（ステップＳ３１のＹ）、書き込み部４０ｃは、待機して、再度ステップＳ３１に戻る。
【０１２３】
書き込み制御フラグが解除されている場合（ステップＳ３１のＮ）、書き込み部４０ｃは、書き込み対象とするＲＡＭ４３上の実データＲＤが編集されたデータか否かを判断する（ステップＳ３２）。
【０１２４】
編集されたデータではない場合（ステップＳ３２のＮ）、ステップＳ３５に進む。
【０１２５】
編集されたデータである場合（ステップＳ３２のＹ）、書き込み部４０ｃは、その実データＲＤの書き込み種別ＴＹがシャットダウン時（終了時）書き込みであるか否かを判断する（ステップＳ３３）。
【０１２６】
終了時書き込みではない場合（ステップＳ３３のＮ）、ステップＳ３５に進む。
【０１２７】
終了時書き込みである場合（ステップＳ３３のＹ）、書き込み部４０ｃは、その実データＲＤを不揮発性メモリー２０の対応するブロックへ書き込む（ステップＳ３４）。
【０１２８】
次に、書き込み部４０ｃは、書き込み処理を行うべき次の実データＲＤがあるか否かを判断する（ステップＳ３５）。
【０１２９】
次の実データＲＤがある場合（ステップＳ３５のＹ）、ステップＳ３２に戻り、書き込み処理を継続する。
【０１３０】
次の実データＲＤがない場合（ステップＳ３５のＮ）、処理を終了する。
【０１３１】
なお、上記のステップＳ３４では、書き込み種別が終了時書き込みの実データＲＤについてのみ書き込みを行うとしたが、これに加えて、書き込み種別が周期書き込みの実データＲＤについても書き込みを行う構成でもよい。
【０１３２】
また、図９に示す書き込み処理のステップＳ３２〜Ｓ３５の実行中に即時書き込みが発生した場合、実行中のステップが終了した後、即時書き込み（図６のステップＳ１３〜Ｓ１５）を開始する構成でもよい。この場合、書き込み制御フラグが解除されるのを待って、図９中の既に終了したステップの次のステップから書き込み処理を再開する構成でもよい。
【０１３３】
以上、画像形成装置１のシャットダウン時に行われる書き込み処理について説明した。
【０１３４】
［補足事項］
その他、本技術は、上述の実施形態にのみ限定されるものではなく、本技術の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【符号の説明】
【０１３５】
１  …  画像形成装置
１０  …  スキャナー部
２０  …  不揮発性メモリー
３０  …  プリンター部
４０  …  制御部
４０ａ…  読み込み部
４０ｂ…  編集部
４０ｃ…  書き込み部
４１  …  ＣＰＵ
４２  …  ＲＯＭ
４３  …  ＲＡＭ
５０  …  操作パネル部
６０  …  ファクシミリ通信部
７０  …  ネットワークＩ／Ｆ部
８０  …  パラレルＩ／Ｆ部
９０  …  シリアルＩ／Ｆ部
ＦＬＧ…  編集フラグ
ＲＤ  …  実データ
ＴＹ  …  書き込み種別
【図１】
0006365346.tif 000002
【図２】
0006365346.tif 000003
【図３】
0006365346.tif 000004
【図４】
0006365346.tif 000005
【図５】
0006365346.tif 000006
【図６】
0006365346.tif 000007
【図７】
0006365346.tif 000008
【図８】
0006365346.tif 000009
【図９】
0006365346.tif 000010