(57)【特許請求の範囲】
【請求項１】
プロセッサと、
該プロセッサに結合され、プログラムが格納される記憶手段と、
該プロセッサに結合された揮発性メモリと、
該プロセッサに結合され、該揮発性メモリの全記憶領域を複数のグループに分割したものから選択されたメモリエラーチェック対象領域を示すメモリエラーチェック対象領域情報が格納される不揮発性記憶手段と、
該プロセッサに結合された表示装置と、
を有し、
該プログラムは該プロセッサに対し、
電源投入毎に該メモリエラーチェック対象領域情報で示される領域に対するメモリエラーチェックを行わせるとともに、該電源投入毎に該メモリエラーチェック対象領域が順にシフトし複数回の電源投入で該全記憶領域についてメモリエラーチェックが完了するように該メモリエラーチェック対象領域情報を更新させ、メモリエラーが検出された場合には該メモリエラーの情報を該表示装置に表示させる画像形成装置において、
該不揮発性記憶手段にはさらに、電源投入回数及びその設定値を示す情報が格納され、
該プログラムは該プロセッサに対し、
電源投入毎に該電源投入回数を示す情報を更新させ、
該電源投入回数が該設定値未満の場合には、該複数のグループのうち１つのグループを該メモリエラーチェック対象領域情報として選択させ、
該電源投入回数が該設定値以上の場合には、該複数のグループのうち２つ以上のグループを該メモリエラーチェック対象領域情報として選択させる、
ことを特徴とする画像形成装置。
【請求項２】
該複数のグループの各々は、該揮発性メモリの全記憶領域をｎメモリブロックに等分割したものの互いに離れたｍ個（１＜ｍ＜ｎ）のブロックからなる、
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
該揮発性メモリは複数のメモリカードで構成され、該複数のグループのそれぞれが該複数のメモリカードのそれぞれの記憶領域に対応していることを特徴とする請求項２に記載の画像形成装置。
【請求項４】
該プロセッサに結合され又は該プロセッサに内蔵され、タイムアップを検知して該プロセッサに割込をかけるウォッチドッグタイマをさらに有し、
該プログラムは該プロセッサに対し、該割込に応答して、該揮発性メモリの全記憶領域についてメモリエラーチェックを行わせ、エラーが検出された場合にはその情報を該表示装置に表示させる、
ことを特徴とする請求項１乃至３のいずれか１つに記載の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、用紙を搬送して用紙に画像を形成する、プリンタ、複写機、ファクシミリ又は複合機等の画像形成装置に係り、特に、大容量のメモリを搭載した場合に好適な画像形成装置に関する。
【背景技術】
【０００２】
画像形成装置では、搭載メモリの全ビットに対してエラーチェックが行われ、正常であることを確認してシステムが起動される。
【０００３】
一方、形成画像の高解像度化及びカラー化並びにメモリの安価化に伴い、装置に搭載されるメモリの大容量化が進んでいる。
【０００４】
このため、メモリエラーチェック時間が数分にも及ぶ場合があり、ユーザに不快感を与えることになる。
【０００５】
他方、メモリの製造及び検査技術の進歩により、メモリの信頼性が向上している。メモリエラーチェックでエラーとなる原因の多くは、メモリに長期間熱が加わることによる劣化と、メモリの増設や取り外しが行われたときの端子接触不良である。
【０００６】
そこで、下記特許文献１では、システム起動時のメモリエラーチェックを原則として行わず、用紙の合計処理枚数が設定値以上であった場合及びメモリの記憶容量が前回起動時と異なる場合のみ、メモリエラーチェックを行うことが提案されている。
【０００７】
この方法によれば、メモリ故障が生ずる可能性が比較的高い場合のみメモリエラーチェックが行われるので、無駄なメモリエラーチェック処理が省略され、ユーザの不快感を解消させることができる。
【０００８】
しかしながら、メモリの製造日時やメーカ等によりメモリエラー発生率が異なり、また、製造上の原因により初期故障が生ずる場合がある。画像データ領域でメモリエラーが発生して画質が劣化した場合、その原因がメモリエラーであるのか否かを長期間判定することができず、また、部分的であるため画質の劣化に長期間気付かない場合も生ずる。
【特許文献１】特開２００４−１７８３８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
本発明は、このような問題点に鑑み、システム起動時のメモリエラーチェックを適当に省略してシステム起動時間を短縮するとともに、メモリエラー発見の遅延を防止することが可能な画像形成装置を提供することにある。
【課題を解決するための手段】
【００１０】
本発明による画像形成装置の第１態様では、
プロセッサと、
該プロセッサに結合され、プログラムが格納される記憶手段と、
該プロセッサに結合された揮発性メモリと、
該プロセッサに結合され、該揮発性メモリの全記憶領域を複数のグループに分割したものから選択されたメモリエラーチェック対象領域を示すメモリエラーチェック対象領域情報が格納される不揮発性記憶手段と、
該プロセッサに結合された表示装置と、
を有し、
該プログラムは該プロセッサに対し、
電源投入毎に該メモリエラーチェック対象領域情報で示される領域に対するメモリエラーチェックを行わせるとともに、該電源投入毎に該メモリエラーチェック対象領域が順にシフトし複数回の電源投入で該全記憶領域についてメモリエラーチェックが完了するように該メモリエラーチェック対象領域情報を更新させ、メモリエラーが検出された場合には該メモリエラーの情報を該表示装置に表示させる画像形成装置において、
該不揮発性記憶手段にはさらに、電源投入回数及びその設定値を示す情報が格納され、
該プログラムは該プロセッサに対し、
電源投入毎に該電源投入回数を示す情報を更新させ、
該電源投入回数が該設定値未満の場合には、該複数のグループのうち１つのグループを該メモリエラーチェック対象領域情報として選択させ、
該電源投入回数が該設定値以上の場合には、該複数のグループのうち２つ以上のグループを該メモリエラーチェック対象領域情報として選択させる。
【００１１】
本発明による画像形成装置の第２態様では、第１態様において、
該複数のグループの各々は、該揮発性メモリの全記憶領域をｎメモリブロックに等分割したものの互いに離れたｍ個（１＜ｍ＜ｎ）のブロックからなる。
【００１２】
本発明による画像形成装置の第３態様では、第２態様において、
該揮発性メモリは複数のメモリカードで構成され、該複数のグループのそれぞれが該複数のメモリカードのそれぞれの記憶領域に対応している。
【００１３】
本発明による画像形成装置の第４態様では、上記いずれかの態様において、
該プロセッサに結合され又は該プロセッサに内蔵され、タイムアップを検知して該プロセッサに割込をかけるウォッチドッグタイマをさらに有し、
該プログラムは該プロセッサに対し、該割込に応答して、該揮発性メモリの全記憶領域についてメモリエラーチェックを行わせ、エラーが検出された場合にはその情報を該表示装置に表示させる。
【発明の効果】
【００１４】
上記第１態様の構成によれば、電源投入回数が設定値以上になった場合には、複数のグループについてメモリエラーチェックが行われるので、メモリに熱が長期間加わることによりメモリが劣化してメモリエラー発生率が増加するのに伴い、チェック対象領域が増え、メモリエラー検出漏れを低減することが可能となる。
【００１５】
上記第３態様の構成によれば、上記揮発性メモリが複数のメモリカードで構成されてメモリカード毎にメモリエラー発生率が異なっても、電源投入毎に各メモリカードの一部の記憶領域がメモリエラーチェックされるので、メモリエラー検出率が一般に高くなる。
【００１７】
上記第４態様の構成によれば、１回の電源投入時のメモリエラーチェック領域が該揮発性メモリの全領域でないことにより、プログラムの暴走等の異常が発生したとしても、ウォッチドッグタイマ割込処理により該全領域についてメモリエラーチェックが行われるので、メモリエラーによるプログラムの暴走や画質の劣化をより早期に発見でき、ユーザに安心感を与えることになる。
【００１８】
本発明の他の目的、構成及び効果は以下の説明から明らかになる。
【実施例１】
【００１９】
図１は、本発明の実施例１に係る画像形成装置のハードウェア構成を示す概略ブロック図である。
【００２０】
この画像形成装置１０は、例えば複合機であり、制御装置１１に操作・表示部１２及び画像形成装置本体１３が結合されて構成されている。制御装置１１は、操作・表示部１２で設定された情報やディフォルトの設定値に基づいて、画像形成装置本体１３で読み取られた原稿画像を処理し、又は、外部のホストコンピュータ２０から供給される設定情報及び画像データに基づいて、画像形成装置本体１３に対し画像を形成させる。
【００２１】
制御装置１１は、ＭＰＵ１１０に不揮発性メモリ１１１、電気的に書き換え可能な不揮発性メモリ１１１Ａ、揮発性メモリ１１２及びインタフェース１１３〜１１５がバスで結合され、インタフェース１１３〜１１５はそれぞれ操作・表示部１２、画像形成装置本体１３及びホストコンピュータ２０に結合されている。不揮発性メモリ１１１には、プログラム及びシステムの初期値等のデータが格納されている。不揮発性メモリ１１１Ａは、ＥＰＲＯＭ又はフラッシュメモリ等であり、操作・表示部１２で設定された値及び後述のチェック対象領域識別フラグＦが格納される。
【００２２】
メモリの故障等によりプログラムが暴走するなどの異常が発生した場合の対策として、ＭＰＵ１１０には、ウォッチドッグタイマ１１６が結合されている。ウォッチドッグタイマ１１６は、比較的長い時間、例えば２秒でタイムアップ出力信号を活性にする。この信号はＭＰＵ１１０の割込入力端子ＩＲＱに供給され、該タイムアップ出力信号が活性になる前にウォッチドッグタイマ１１６がリセットされないと、ＭＰＵ１１０に対し割込がかけられる。ウォッチドッグタイマ１１６は、リセットされると再スタートする。したがって、不揮発性メモリ１１１のプログラム領域には、プログラムの暴走等の異常が発生しない限りウォッチドッグタイマ１１６がタイムアップしないように、リセット信号出力命令が挿入されている。この命令が実行されると、ウォッチドッグタイマ１１６の入力端子ＲＳＴにリセットパルスが供給されて、ウォッチドッグタイマ１１６がリセットされる。
【００２３】
図２は、不揮発性メモリ１１１に格納されたプログラムの処理を示すフローチャートであり、このプログラムは、電源投入により開始される。以下、括弧内は図中のステップ識別符号を示す。
【００２４】
（Ｓ０）チェック対象領域識別フラグＦが‘０’であればステップＳ１へ進み、‘１’であればステップＳ３へ進む。
【００２５】
（Ｓ１）揮発性メモリ１１２の全領域を２分割したときの一方の領域であるメモリブロックＢ０について、メモリエラーチェックを行う。図５（Ａ）は、２分割されたメモリブロックＢ０とメモリブロックＢ１とを示す。
【００２６】
メモリエラーチェックでは、不揮発性メモリ１１１に格納されたチェックパターン、例えば'０１０１０１０１'及び'１０１０１０１０'の各々について、揮発性メモリ１１２にチェックパターンを書き込み、揮発性メモリ１１２の内容を読み出してこれが書込値と一致しているか否かを判定し、不一致であればエラーと判定する。使用されるチェックパターン数は３以上であってもよい。
【００２７】
（Ｓ２）チェック対象領域識別フラグＦを‘１’にし、ステップＳ５へ進む。
【００２８】
（Ｓ３）他方の領域であるメモリブロックＢ１について、メモリエラーチェックを行う。
【００２９】
（Ｓ４）チェック対象領域識別フラグＦを‘０’にする。
【００３０】
（Ｓ５）エラーが検出されればステップＳ６へ進み、そうでなければステップＳ８へ進む。
【００３１】
（Ｓ６）ＭＰＵ１１０は、メモリエラーの箇所を示す情報を操作・表示部１２に表示させる。また、システムをリセットさせて再スタートさせるか、処理を続行するか、終了するかの選択をユーザの判断に委ねるために、この選択を操作・表示部１２に表示させる。
【００３２】
（Ｓ７）再スタートが選択された場合には、ＭＰＵ１１０は自身をリセットさせてシステムを再起動させ、続行する場合にはステップＳ８へ進み、そうでなければ処理を終了する。終了の場合には、画像形成装置１０の電源をオフにするようにしてもよい。
【００３３】
（Ｓ８）ＭＰＵ１１０は、オペレーティングシステム（ＯＳ）及びこのＯＳ上で動作する専用プログラムを起動させて画像形成装置１０をレディ状態にさせる。
【００３４】
図３は、不揮発性メモリ１１１に格納されたプログラムの処理を示すフローチャートであり、このプログラムは、プログラムの暴走等の異常発生によりウォッチドッグタイマ（ＷＤＴ）ウォッチドッグタイマ１１６からＭＰＵ１１０へ上記割込がかけられたときに、ＭＰＵ１１０により実行されるＷＤＴ割込処理である。
【００３５】
（Ｓ１０）画像形成装置本体１３に備えられた定着器のヒータ、用紙搬送ローラ、プリントエンジン若しくはスキャナのモータ又はスキャナの光源がオンになっていれば、ＭＰＵ１１０はインタフェース１１４を介し当該機器をオフにすることにより、装置の損傷を防止するとともに安全を確保する。
【００３６】
（Ｓ１１）ＭＰＵ１１０はメモリ１１１、１１１Ａ及び１１２の全領域に対しメモリエラーチェックを行う。
【００３７】
例えば、不揮発性メモリ１１１にはその所定領域のハッシュ値が予め計算されて格納されており、ＭＰＵ１１０はこの領域のハッシュ値を計算し、これを該格納された値と比較し、両者が不一致であればエラーと判定する。ここにハッシュ値は、例えばハッシュトータルであり、所定領域は、ハッシュ値格納領域を除いた不揮発性メモリ１１１内の全領域であって、メモリエラーチェックプログラムも含まれる。書き換え可能な不揮発性メモリ１１１Ａについては、揮発性メモリ１１２と同様のメモリエラーチェックを行う。
【００３８】
（Ｓ１２、Ｓ１３）次に、図２のステップＳ４及びステップＳ５と同じ処理を行う。
【００３９】
本実施例１によれば、揮発性メモリ１１２の全領域を２分割し、チェック対象領域識別フラグＦで示される領域に対するメモリエラーチェックを電源投入毎に行うとともに、チェック対象領域識別フラグＦを反転させるので、メモリエラーチェック時間が半減されてユーザに与える不快感を軽減することができるとともに、２回電源投入を行えば揮発性メモリ１１２の全領域についてメモリエラーチェックが行われることになるので、原則として電源投入毎にメモリエラーチェックを行わない方法よりも、メモリエラーによるプログラムの暴走や画質の劣化を早期に発見でき、ユーザに安心感を与えることになる。
【００４０】
また、メモリエラーチェック時間を半減させたことにより、プログラムの暴走等の異常が発生したとしても、ウォッチドッグタイマ１１６からＭＰＵ１１０に割込がかけられて、メモリの全領域に対しメモリエラーチェックが行われるので、メモリエラーによるプログラムの暴走や画質の劣化をより早期に発見でき、ユーザに安心感を与えることになる。
【実施例２】
【００４１】
実装されているメモリカードの製造日時やメーカにより、メモリエラー発生率が一般に異なる。実装されているどのカードのメモリエラー発生率が高いかは、ユーザにとって不明である。
【００４２】
そこで、本実施例２では、図５（Ｂ）に示すように、例えば標準実装メモリをメモリブロックＢ０１とメモリブロックＢ０２とに２分割し、オプション実装メモリをメモリブロックＢ０３とメモリブロックＢ０４とに２分割する。そして、奇数回目のシステム起動時には、メモリブロックＢ０１及びＢ０３のメモリエラーチェックを行い、偶数回目のシステム起動時にはメモリブロックＢ０２及びＢ０４のメモリエラーチェックを行う。
【００４３】
このようにすれば、メモリカードによってメモリエラー発生率が異なっても、毎回起動時に両メモリカードの半分の記憶領域がメモリエラーチェックされるので、メモリエラー検出率が一般に高くなる。
【００４４】
ここで、標準実装メモリカードとオプション実装メモリカードとの記憶容量は一般に異なり、また、オプション実装メモリが複数のメモリカードで構成されている場合もある。
【００４５】
そこで、図６に示す如く、揮発性メモリ１１２の全記憶領域を多数のブロックに等分割し、所定のブロック間隔で複数ブロックについてメモリエラーチェックを行い、電源投入毎にチェック対象のブロックをシフトさせる。
【００４６】
このようにすれば、毎回全てのメモリカードについてメモリエラーチェックが行われるので、揮発性メモリ１１２の構成によらず上記のような効果が得られる。
【００４７】
図６では、全記憶領域を１６ブロックに等分割し、初期値が０の変数ｉを電源投入毎にインクリメントするとともに、ｉ＝４になった場合にはｉ＝０と初期化し、メモリブロックＢ０ｉ、Ｂ１ｉ、Ｂ２ｉ及びＢ３ｉについてメモリエラーチェックを行うようにしている。
【００４８】
図４は電源投入後にこのような処理を行う、不揮発性メモリ１１１に格納されたプログラムのフローチャートを示す。このフローチャートでは、図２のステップＳ０〜Ｓ４の処理の代わりに、ステップＳ２０〜Ｓ２７の処理が行われる。
【００４９】
ここで、次のような変数及び定数を用いる。
【００５０】
Ｘｓ：任意のメモリブロックの先頭アドレス
Ｘｅ：このメモリブロックの最終アドレス
Ａ０：揮発性メモリ１１２の先頭アドレス
Ｓ：１回の電源投入でメモリエラーチェックを行う記憶領域のサイズ（語数）
Ｄ：このサイズに含まれるメモリブロック数
これらの変数及び定数並びにチェック対象領域識別変数ｉの内、Ａ０、Ｓ及びＤは不揮発性メモリ１１１に格納され、ｉは不揮発性メモリ１１１Ａに格納され、Ｘｓ及びＸｅは揮発性メモリ１１２の、その回でメモリエラーチェックが行われない領域に格納される。
【００５１】
（Ｓ２０）ＸｓにＡ０＋（Ｓ／Ｄ）＊ｉの計算結果を代入する。
【００５２】
（Ｓ２１）Ｘｅに、Ｘｓ＋Ｓ／Ｄ−１の計算結果を代入する。
【００５３】
（Ｓ２２）アドレス範囲Ｘｓ〜Ｘｅをメモリエラーチェックする。
【００５４】
（Ｓ２３）ＸｓにＳを加算する。
【００５５】
（Ｓ２４）実装メモリの範囲内であればステップＳ２１へ戻り、そうでなければステップＳ２５へ進む。
【００５６】
（Ｓ２５）チェック対象領域識別変数ｉを１だけインクリメントする。
【００５７】
（Ｓ２６）ｉ＝ＤであればステップＳ２７へ進み、そうでなければステップＳ５へ進む。
【００５８】
（Ｓ２７）チェック対象領域識別変数ｉに０を代入し、ステップＳ５へ進む。
【００５９】
その後の処理は、図２のステップＳ５以下の処理と同一である。
【００６０】
このような処理により、図６を用いて説明した上述のようなメモリエラーチェックが行われる。
【実施例３】
【００６１】
上記実施例２では、経年変化によるメモリエラー発生率の変化を考慮していない。そこで、実施例３では、これを考慮し、電源投入に応答して図７に示すような処理を行う。
【００６２】
図７のフローチャートにおいて、ステップＳ３０〜Ｓ３４は図４のステップＳ２０〜Ｓ２７の代わりに用いられる。
【００６３】
（Ｓ３０）電源投入回数Ｎを１だけインクリメントする。この電源投入回数Ｎは、図１の不揮発性メモリ１１１Ａに格納され、その初期値は０である。
【００６４】
（Ｓ３１）電源投入回数Ｎの値がＮ０以下であればステップＳ３２へ進み、Ｎ０＋１〜Ｎ１の範囲であればステップＳ３２へ進み、（Ｎ１＋１）以上であればステップＳ３４へ進む。例えば、Ｎ０＝５００、Ｎ１＝６００である。
【００６５】
（Ｓ３２）図４のステップＳ２０〜Ｓ２７の処理１回を行い、ステップＳ５へ進む。
【００６６】
（Ｓ３３）図４のステップＳ２０〜Ｓ２７の処理を２回行い、ステップＳ５へ進む。
【００６７】
（Ｓ３４）図４のステップＳ２０〜Ｓ２７の処理を４回行い、すなわち揮発性メモリ１１２の全領域についてメモリチェックを行い、ステップＳ５へ進む。
【００６８】
このような処理によれば、電源投入回数Ｎが５００以下の場合には図８（Ａ）に示すように電源投入毎にチェック対象領域識別変数ｉの値に対応した領域のメモリエラーチェックが行われるとともに、チェック対象領域識別変数ｉの値が更新される。すなわち、４回の電源投入で揮発性メモリ１１２の全領域についてメモリエラーチェックが行われたことになる。
【００６９】
電源投入回数Ｎの値が５０１〜６００の場合には、図８（Ｂ）に示すように電源投入毎にｉ＝０及びｉ＝１に対応した領域と、ｉ＝２及びｉ＝３に対応した領域とが交互にメモリエラーチェックされる。
【００７０】
また、電源投入回数Ｎが６０１以上の場合には、図８（Ｃ）に示すように揮発性メモリ１１２の全領域についてメモリエラーチェックが行われる。
【００７１】
したがって、本実施例３によれば、メモリに熱が長期間加わることによりメモリが劣化してメモリエラー発生率が増加するのに伴い、チェック対象領域が増えるので、メモリエラーチェックを適当に省略するとともに、メモリエラー検出漏れを低減することが可能となる。
【００７２】
なお、本発明には外にも種々の変形例が含まれる。
【００７３】
例えば、一般に電源投入時にシステムリセットが行われるので、本明細書及び特許請求の範囲において、「電源投入時」は「電源投入時又はシステムリセット時」を含む意味である。
【００７４】
また、上記実施例では電源投入時に不揮発性メモリ１１１及び１１１Ａについてメモリチェックを行わない場合を説明したが、電源投入毎時にその全領域又は揮発性メモリ１１２と同様に分割された領域についてメモリエラーチェックを行う構成であってもよい。
【００７５】
さらに、図３でメモリエラーチェックを行わずに次回電源投入時にメモリの全領域についてメモリエラーチェックを行う構成であってもよい。
【００７６】
また、ウォッチドッグタイマがＭＰＵに内蔵された構成であってもよい。
【００７７】
また、上記実施例ではプログラムが不揮発性メモリ１１１に格納されている場合を説明したが、プログラムは不揮発性記憶装置に格納されていればよく、ハードディスク等の外部記憶装置に格納された場合であってもよい。
【図面の簡単な説明】
【００７８】
【図１】本発明の実施例１に係る画像形成装置のハードウェア構成を示す概略ブロック図である。
【図２】電源投入により開始されるプログラムの処理を示すフローチャートである。
【図３】ウォッチドッグタイマ割込処理を示すフローチャートである。
【図４】本発明の実施例２に係る、電源投入により開始されるプログラムの処理を示すフローチャートである。
【図５】（Ａ）及び（Ｂ）はそれぞれ図２及び図４の処理説明図である。
【図６】図４の処理説明図である。
【図７】本発明の実施例３に係る、電源投入により開始されるプログラムの処理を示すフローチャートである。
【図８】図７の処理説明図である。
【符号の説明】
【００７９】
１０  画像形成装置
１１  制御装置
１１０  ＭＰＵ
１１１、１１１Ａ  不揮発性メモリ
１１２  揮発性メモリ
１１３〜１１５  インタフェース
１１６  ウォッチドッグタイマ
１２  操作・表示部
１３  画像形成装置本体
２０  ホストコンピュータ
Ｆ  チェック対象領域識別フラグ
ｉ  チェック対象領域識別変数
Ｎ  電源投入回数
Ｂ０、Ｂ１、Ｂ００〜Ｂ０３、Ｂ１０〜Ｂ１３、Ｂ２０〜Ｂ２３、Ｂ３０〜Ｂ３３  メモリブロック
【図１】
0004482515.tif 000002
【図２】
0004482515.tif 000003
【図３】
0004482515.tif 000004
【図４】
0004482515.tif 000005
【図５】
0004482515.tif 000006
【図６】
0004482515.tif 000007
【図７】
0004482515.tif 000008
【図８】
0004482515.tif 000009