(57)【要約】【課題】不揮発性メモリに保持されたデータが劣化を適切に判定し、データが劣化した状態での装置の起動を確実に防止する。【解決手段】制御プログラムを含むデータを格納する不揮発性メモリを備え、前記制御プログラムにより起動する情報処理装置において、前記情報処理装置の使用状況に基づいて、判定期間を設定する判定期間設定部と、前回のリフレッシュ又は前回のデータ書き換えからの経過時間を算出し、前記経過時間が前記判定期間以上となった場合に、前記不揮発性メモリに格納されたデータをチェックするデータ判定部と、前記チェックにより前記データが正常と判定された場合は起動処理を行う起動制御部と、を備える。【選択図】図６
2015148859.tif 000002
【特許請求の範囲】
【請求項１】
制御プログラムを含むデータを格納する不揮発性メモリを備え、前記制御プログラムにより起動する情報処理装置において、
前記情報処理装置の使用状況に基づいて、判定期間を設定する判定期間設定部と、
前回のリフレッシュ又は前回のデータ書き換えからの経過時間を算出し、前記経過時間が前記判定期間以上となった場合に、前記不揮発性メモリに格納されたデータをチェックするデータ判定部と、
前記チェックにより前記データが正常と判定された場合は起動処理を行う起動制御部と、を備える、
ことを特徴とする情報処理装置。
【請求項２】
前記判定期間設定部は、前記情報処理装置の使用履歴情報に基づいて、前記情報処理装置の使用状況を特定する情報を算出し、当該情報に基づいて、前記判定期間を設定する、
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置の使用状況を特定する情報は、最大電源オフ期間、累積電源オフ期間、所定期間内の平均電源投入回数、電源オン／オフの周期、前記情報処理装置に備える機能の所定期間内の実行回数、前記情報処理装置の環境温度の中から選択される１以上の情報を含む、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記データ判定部は、前記データのチェックサム又はＨＡＳＨ値によって、前記不揮発性メモリに格納されたデータが正常か否かを判断する、
ことを特徴とする請求項１乃至３のいずれか一に記載の情報処理装置。
【請求項５】
前記情報処理装置に予め設けたバッテリー又は主電源から供給される電力により、前回のリフレッシュ又は前回のデータ書き換えからの経過時間を計測する時計部を備え、
前記データ判定部は、前記時計部から前記経過時間を取得する、
ことを特徴とする請求項１乃至４のいずれか一に記載の情報処理装置。
【請求項６】
前記データ判定部は、前記前回のリフレッシュ日時又は前記前回のデータ書き換え日時が取得できない場合、現在の日時が取得できない場合、前記経過時間が算出又は取得できない場合、又は、前記判定期間が取得できない場合は、前記不揮発性メモリに格納されたデータをチェックする、
ことを特徴とする請求項１乃至５のいずれか一に記載の情報処理装置。
【請求項７】
前記不揮発性メモリは、データの保持期間が異なる複数のメモリで構成され、
前記データ判定部は、前記保持期間が相対的に短いメモリに格納されたデータをチェックする、
ことを特徴とする請求項１乃至６のいずれか一に記載の情報処理装置。
【請求項８】
前記保持期間が相対的に長いメモリは、ＳＬＣ（Single Level Cell）を搭載したメモリであり、前記保持期間が相対的に短いメモリは、ＭＬＣ（Multiple Level Cell）を搭載したメモリである、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記情報処理装置の使用履歴情報は、前記ＳＬＣを搭載したメモリに記憶され、
前記判定期間設定部は、前記ＳＬＣを搭載したメモリに記憶される前記使用履歴情報に基づいて、前記情報処理装置の使用状況を特定する情報を算出し、当該情報に基づいて、前記判定期間を設定する、
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記保持期間が相対的に長いメモリは、ＮＯＲ型メモリであり、前記保持期間が相対的に短いメモリは、ＮＡＮＤ型メモリである、
ことを特徴とする請求項７に記載の情報処理装置。
【請求項１１】
前記起動制御部は、前記チェックにより前記データが正常と判定された場合、起動処理の前に、前記不揮発性メモリのリフレッシュを行う、
ことを特徴とする請求項１乃至１０のいずれか一に記載の情報処理装置。
【請求項１２】
前記起動制御部は、前記チェックにより前記データが正常でないと判定された場合、前記不揮発性メモリに格納されたデータの書き換えを指示する情報を報知する、
ことを特徴とする請求項１乃至１１のいずれか一に記載の情報処理装置。
【請求項１３】
制御プログラムを含むデータを格納する不揮発性メモリを備え、前記制御プログラムにより起動する情報処理装置で動作する起動制御プログラムであって、
前記情報処理装置に、
前記情報処理装置の使用状況に基づいて、判定期間を設定する判定期間設定処理、
前回のリフレッシュ又は前回のデータ書き換えからの経過時間を算出し、前記経過時間が前記判定期間以上となった場合に、前記不揮発性メモリに格納されたデータをチェックするデータ判定処理、
前記チェックにより前記データが正常と判定された場合は起動処理を行う起動制御処理、を実行させる、
ことを特徴とする起動制御プログラム。
【請求項１４】
前記不揮発性メモリは、データの保持期間が異なる複数のメモリで構成され、前記起動制御プログラムは前記保持期間が相対的に長いメモリに格納され、
前記データ判定処理では、前記保持期間が相対的に短いメモリに格納されたデータをチェックする、
ことを特徴とする請求項１３に記載の起動制御プログラム。
【請求項１５】
制御プログラムを含むデータを格納する不揮発性メモリを備え、前記制御プログラムにより起動する情報処理装置における起動制御方法であって、
前記情報処理装置の使用状況に基づいて、判定期間を設定する判定期間設定処理と、
前回のリフレッシュ又は前回のデータ書き換えからの経過時間を算出し、前記経過時間が前記判定期間以上となった場合に、前記不揮発性メモリに格納されたデータをチェックするデータ判定処理と、
前記チェックにより前記データが正常と判定された場合は起動処理を行う起動制御処理と、を実行する、
ことを特徴とする起動制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び起動制御プログラム並びに起動制御方法に関し、特に、不揮発性メモリを備える情報処理装置及び当該情報処理装置の起動を制御する起動制御プログラム並びに起動制御方法に関する。
【背景技術】
【０００２】
装置を制御するプログラムは、一般的に不揮発性メモリ（例えば、ＳＳＤ（Solid State Drive）やｅＭＭＣ（embedded Multi Media Card）など）に書き込み、電源を投入した際に、上記プログラムなどのデータを不揮発性メモリから読み出し、揮発性メモリ（例えば、ＲＡＭ（Random Access Memory）など）に展開して装置を動作させている。この不揮発性メモリは電力が供給されない状態でデータを保持できる期間（この保持期間をデータリテンション期間と呼ぶ。）が決まっており、データリテンション期間を過ぎたデータは保障されず、場合によってはデータに劣化（データの少なくとも一部の情報が書き込んだ値とは異なる値に変化することを劣化と呼ぶ。）が発生し、データを正常に読み出すことができない。
【０００３】
この問題について具体的に説明すると、不揮発性メモリは、一般に、ゲート電極が２層構造となったＭＯＳ（Metal Oxide Semiconductor）トランジスタ（セル）からなり、浮遊ゲートとシリコン基板との間に高電界を加え、ゲート絶縁膜をトンネリングして浮遊ゲートに電荷を注入することによって情報を記憶するが、この浮遊ゲートに注入した電荷は徐々にシリコン基板に逃げるため、時間の経過と共に情報が失われてしまう。そこで、情報が失われる前に、不揮発性メモリに通電して電荷を復活させる処理（リフレッシュと呼ぶ。）が行われる。
【０００４】
しかしながら、装置の電源をオンにしなければリフレッシュを行うことができず、装置が電源オフの状態でデータリテンション期間を過ぎた場合には、電源投入時にデータを正常に読み出すことができない。このような背景から、データリテンション期間に基づいて装置の起動を制御する技術が提案されており、例えば、下記特許文献１には、電力供給が停止した後も所定のデータ保持期間においてはデータを継続して保持可能なデータ記憶手段と、現在日時を計時できる計時手段と、前記データ保持期間の開始日時を記憶するものであり電力供給がない状態でもデータを継続して保持する開始日時記憶手段と、前記データ保持期間の開始日時と前記計時手段が示す現在日時とに基づいて前記データ保持期間が経過しているかどうかを判定する判定手段と、前記判定手段により前記データ保持期間が経過していると判定された場合、情報処理装置本体を起動しないように制御する起動制御手段と、を有する情報処理装置が開示されている。
【０００５】
また、不揮発性メモリに保持されたデータをチェックする技術に関して、下記特許文献２には、情報処理装置であって、情報処理装置本体と、前記情報処理装置本体に収容される不揮発性半導体メモリドライブと、を具備し、前記情報処理装置本体は、時刻情報を計数するためのクロック手段と、電源投入時、前記クロック手段が計数する時刻情報を前記不揮発性半導体メモリドライブに出力する主制御手段と、を有し、前記不揮発性半導体メモリドライブは、カウンタと、前記カウンタの値と、前記情報処理装置本体から入力した前記時刻情報とに基づき、電源投入時および電源遮断時の時刻、ならびに前回の電源遮断時から今回の電源投入時までの経過時間を算出して管理するメモリ制御手段と、を有する、情報処理装置が開示されており、前記不揮発性半導体メモリドライブの前記メモリ制御手段は、前記算出した経過時間に基づき、不揮発性半導体メモリの記憶状態についてのチェックを実行制御することが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−０８８７８０号公報
【特許文献２】特表２０１０−５１５９５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ＳＳＤやｅＭＭＣ等に採用されている１つの記録素子に２ビットのデータを記録できるＭＬＣ（Multiple Level Cell）を搭載した不揮発性メモリがここ数年台頭してきているが、ＭＬＣを搭載した不揮発性メモリは、その構成上、大容量化しやすい反面、従来よりもデータリテンション期間が短くなることが分かっている。また、データリテンション期間は温度等の影響を受けやすく、理想条件で算出されたスペック値に比べて劣悪条件（特に、高温環境）においては、著しくデータリテンション期間が短くなることがあると報告されている。
【０００８】
ここで、上記特許文献１では、データリテンション期間を考慮して電源投入時に情報処理装置を起動するか否かを判定しているが、このような判定を行ったとしても、データリテンション期間が温度等の影響により変動してしまうと、不揮発性メモリに保持したデータを正常に読み出すことができない場合が生じ、その場合には、装置を正常に起動させることができない。
【０００９】
また、特許文献２では、電源オフ期間とデータリテンション期間とに基づき、不揮発性メモリの記憶状態のチェックを実行しているが、この方法でも、データリテンション期間が温度等の影響により変動すると、不揮発性メモリの記憶状態を適切にチェックできない場合が生じ、その場合には、不揮発性メモリに保持したデータが劣化している場合には、装置を正常に起動させることができない。
【００１０】
このように、データリテンション期間は短くなってきており、更にデータリテンション期間は温度等の影響によって変動するため、データリテンション期間のみでは不揮発性メモリに保持されたデータが正常か否かを適切に判断することができず、データリテンション期間内であってもデータが劣化している可能性を考慮する必要ある。また、装置の電源投入時に、制御プログラム等のデータの一部が劣化していた場合には、装置が暴走し、致命的なダメージを与えて再起不能に陥る可能性もあるため、データが劣化した状態で装置が起動することを確実に回避する必要がある。
【００１１】
その方法として、装置の電源投入時に、毎回、装置の制御プログラム等のデータが正常であるか否かを確認する方法が考えられるが、装置の電源投入毎にデータのチェックを行うと装置の起動に時間がかかってしまい、ユーザにとって煩わしい待ち時間が発生することになる。
【００１２】
本発明は、上記問題点に鑑みてなされたものであって、その主たる目的は、不揮発性メモリに保持された制御プログラム等のデータが劣化しているか否かを適切に判定し、データが劣化した状態での装置の起動を確実に防止することができる情報処理装置及び起動制御プログラム並びに起動制御方法を提供することにある。
【課題を解決するための手段】
【００１３】
本発明の一側面は、制御プログラムを含むデータを格納する不揮発性メモリを備え、前記制御プログラムにより起動する情報処理装置において、前記情報処理装置の使用状況に基づいて、判定期間を設定する判定期間設定部と、前回のリフレッシュ又は前回のデータ書き換えからの経過時間を算出し、前記経過時間が前記判定期間以上となった場合に、前記不揮発性メモリに格納されたデータをチェックするデータ判定部と、前記チェックにより前記データが正常と判定された場合は起動処理を行う起動制御部と、を備えることを特徴とする。
【００１４】
本発明の一側面は、制御プログラムを含むデータを格納する不揮発性メモリを備え、前記制御プログラムにより起動する情報処理装置で動作する起動制御プログラムであって、前記情報処理装置に、前記情報処理装置の使用状況に基づいて、判定期間を設定する判定期間設定処理、前回のリフレッシュ又は前回のデータ書き換えからの経過時間を算出し、前記経過時間が前記判定期間以上となった場合に、前記不揮発性メモリに格納されたデータをチェックするデータ判定処理、前記チェックにより前記データが正常と判定された場合は起動処理を行う起動制御処理、を実行させることを特徴とする。
【００１５】
本発明の一側面は、制御プログラムを含むデータを格納する不揮発性メモリを備え、前記制御プログラムにより起動する情報処理装置における起動制御方法であって、前記情報処理装置の使用状況に基づいて、判定期間を設定する判定期間設定処理と、前回のリフレッシュ又は前回のデータ書き換えからの経過時間を算出し、前記経過時間が前記判定期間以上となった場合に、前記不揮発性メモリに格納されたデータをチェックするデータ判定処理と、前記チェックにより前記データが正常と判定された場合は起動処理を行う起動制御処理と、を実行することを特徴とする。
【発明の効果】
【００１６】
本発明の情報処理装置及び起動制御プログラム並びに起動制御方法によれば、不揮発性メモリに保持された制御プログラム等のデータが劣化しているか否かを適切に判定し、データが劣化した状態での装置の起動を確実に防止することができる。
【００１７】
その理由は、情報処理装置の制御部（起動制御プログラム）は、装置の使用状況に基づいて判定期間を設定し、不揮発性メモリの前回のリフレッシュ又は前回のデータ書き換えからの経過時間と判定期間とを比較し、経過時間が判定期間以上となった場合に、不揮発性メモリに格納されたデータをチェックし、チェックによりデータが正常と判定された場合は通常の起動処理を行い、データが正常でないと判定された場合は起動処理を行わず、エラーを報知する制御を行うからである。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施例に係る情報処理装置（画像形成装置）の外観構成を示す図である。
【図２】本発明の一実施例に係る情報処理装置（画像形成装置）の構成を示すブロック図である。
【図３】本発明の一実施例に係る情報処理装置（画像形成装置）の制御部の構成を示すブロック図である。
【図４】本発明の一実施例に係る情報処理装置の動作（初回使用時の処理）を示すフローチャート図である。
【図５】不揮発性メモリのデータリテンション期間に基づく判定期間のデフォルト値の設定例を示す図である。
【図６】本発明の一実施例に係る情報処理装置の動作（通常使用時の処理）を示すフローチャート図である。
【図７】本発明の一実施例に係る情報処理装置の動作（判定期間の更新処理）を示すフローチャート図である。
【発明を実施するための形態】
【００１９】
背景技術で示したように、不揮発性メモリは電力が供給されない状態でデータを保持できるデータリテンション期間が決まっているため、データが劣化する前に、通電してリフレッシュを行うことによって電荷を復活させることが行われている。このように、装置が電源オンの状態であればリフレッシュを行うことができるため、日常的に不揮発性メモリに保持されたデータのチェックは不要である。
【００２０】
しかしながら、例えば、会社で使用されている装置が、長期の休みの間、電源オフにされたり、装置の出荷待ちのために倉庫に保管されたりする場合もあり、電源オフの状態でデータリテンション期間を過ぎてしまった場合には、データの劣化により装置を正常に起動することができない。そこで、従来は、データリテンション期間を考慮して電源投入時に情報処理装置を起動するか否かを判定したり、電源オフ期間とデータリテンション期間とに基づき、不揮発性メモリの記憶状態のチェックを実行したりしている。
【００２１】
このようにデータリテンション期間を監視することにより、データが劣化した状態での装置の起動をある程度抑制することができるが、データリテンション期間は環境の影響を受けやすく、特に温度が高い環境ではデータリテンション期間が短くなる。そのため、理想条件で算出されたデータリテンション期間を監視しても、データが劣化しているか否かを確実に判定することができない。特に、ＭＬＣを搭載した不揮発性メモリは、その構成上、データリテンション期間が短くなりやすいため、理想条件で算出されたデータリテンション期間内であっても、データの劣化により装置を正常に起動することができない可能性がある。また、装置の電源投入時に毎回、データチェックを行うと、装置の起動に時間がかかり、待ち時間が発生してしまう。このような背景から、不揮発性メモリに保持されているデータの劣化を適切に判定し、データが劣化した状態での装置の起動を確実に防止する方法の提案が望まれている。
【００２２】
そこで、本発明の一実施の形態では、環境によってデータリテンション期間が変動するという不揮発性メモリの特質を考慮し、装置の使用状況に基づいて、データチェックを行うか否かの判定期間を設定し、理想条件で算出されたデータリテンション期間内であっても、前回のリフレッシュ時又は前回の書き込み時から経過時間が上記判定期間以上となった場合には、装置の起動時に不揮発性メモリのデータが正常かどうかをチェックするように制御する。
【００２３】
具体的には、電源オン／オフの履歴情報や出力の履歴情報等を収集し、ユーザの特徴を分析することによって装置の使用状況を特定し、この装置の使用状況に基づいて判定期間を設定する。そして、不揮発性メモリへのデータの書き込み時（ファームウェアアップデートや初期書き込み時）又は前回のリフレッシュ時からの経過時間を測定し、その経過時間が装置の使用状況に応じて設定された判定期間以上となったかどうかを判定し、経過時間が判定期間以上となった場合は、装置の電源オン時に不揮発性メモリのデータチェックを行う。そして、チェックの結果、データが正常でないと判定された場合には、装置の起動処理を行わず、その旨をユーザに報知する。
【００２４】
このように、装置の使用状況に応じて判定期間を設定することにより、環境によってデータリテンション期間が変化したとしても、不揮発性メモリに保持されたデータの劣化を適切に判定することができる。これにより、通常使用時の起動時間にはほとんど影響を与えることなく、劣化したデータによる装置の起動を確実に防止することができ、装置の損傷を未然に防止することができる。
【実施例】
【００２５】
上記した本発明の実施の形態についてさらに詳細に説明すべく、本発明の一実施例に係る情報処理装置及び起動制御プログラム並びに起動制御方法について、図１乃至図７を参照して説明する。図１は、本実施例の情報処理装置の外観構成を模式的に示す図であり、図２は、情報処理装置に構成を示すブロック図、図３は、情報処理装置の制御部の構成を示すブロック図である。また、図４、図６、図７は、本実施例の情報処理装置の動作を示すフローチャート図であり、図５は、不揮発性メモリのデータリテンション期間に基づく判定期間のデフォルト値の設定例を示す図である。
【００２６】
まず、不揮発性メモリについて説明する。不揮発性メモリで現在主流になっているＮＡＮＤ型メモリにおいては、情報を蓄積するために必要最低限の回路構成のセルとして、１ｂｉｔのデータを保持するものをＳＬＣ（Single Level Cell）、２ｂｉｔのデータを保持するものをＭＬＣと呼んでいる。この不揮発性メモリは、浮遊ゲートに電荷を保つことでデータを保持できるが、一定時間経過すると徐々に浮遊ゲートの電荷が失われてしまうため、データを保持できるデータリテンション期間内に、電荷を戻す処理（リフレッシュ）が必要となる。
【００２７】
ここで、上記不揮発性メモリは大容量化、微細化が進められており、それに伴ってデータリテンション期間も徐々に短くなっている。また、データリテンション期間は環境（特に温度）の影響を受け、ＳＳＤ、ｅＭＭＣ等の不揮発性メモリは高温状態によって著しくデータリテンション期間が短くなることも報告されている。従って、理想条件で算出されたデータリテンション期間だけではデータが劣化しているか否かを確実に判定することができない。
【００２８】
また、情報処理装置には様々な種類があり、サーバなどのように常時稼動している装置もあれば、ＭＦＰ（Multi Function Peripheral）などの画像形成装置のように会社等の長期の休みの間は電源がオフにされる装置もある。そのため、例えば、夏期の休みで空調がオフになって装置の周囲環境が高温になり、著しくデータリテンション期間が短くなってしまう場合もあり、理想条件で算出されたデータリテンション期間に基づいてデータのチェックを行っても、データが劣化しているか否かを確実に判定することができない。
【００２９】
そこで、本実施例では、このような不揮発性メモリの特質を考慮し、電源オン／オフの履歴情報や出力の履歴情報（例えば、印刷、コピー、スキャン等の処理の情報）等（これらを総称して使用履歴情報と呼ぶ。）を収集し、ユーザの特徴を分析してユーザの使用傾向を特定し、この使用傾向から求められる１又は複数のユーザによる装置の使用状況（例えば、最大電源オフ期間や累積電源オフ期間、所定期間の平均電源投入回数）に応じて、データチェックを行うか否かを判断するための基準となる判定期間を設定する。そして、前回のリフレッシュ時や前回のデータ書き込み時からの経過時間と判定期間とを比較し、経過時間が判定期間以上となったら、データリテンション期間内であっても、装置の電源オン時に不揮発性メモリのデータチェックを行い、データが劣化していたら、装置の起動処理を行わずに、その旨をユーザに報知するようにする。以下、このような制御を可能にする情報処理装置について、画像形成装置を例にして説明する。
【００３０】
図１は、本実施例の情報処理装置の構成を示すブロック図である。図１に示すように、本実施例の情報処理装置は、ＭＦＰなどの画像形成装置１０であり、原稿を光学的に読み取って画像データを取得し、その画像データに基づく画像を記録紙に印刷したり、外部のコンピュータ装置などから印刷ジョブを取得し、印刷ジョブで指定された原稿の画像データに基づく画像を記録紙に印刷したり、画像データを記憶／出力したりする。
【００３１】
具体的には、図２に示すように、画像形成装置１０は、制御部２０と装置本体３０とで構成される。
【００３２】
制御部２０は、ＣＰＵ（Central Processing Unit）２１と、ＲＡＭ２２と、不揮発性メモリ２３と、ＲＴＣ（Real Time Clock）２４などで構成される。ＣＰＵ２１は、不揮発性メモリ２３からプログラムやデータを読み出し、ＲＡＭ２２に展開して実行することにより、画像形成装置１０の全体制御を行う。不揮発性メモリ２３は、ＣＰＵ２１が実行するプログラムやデータを格納する。ＲＡＭ２２は、ＣＰＵ２１の演算処理結果などを格納する。ＲＴＣ２４は、装置の使用状況を特定するためのイベント（電源のオン／オフや画像形成装置１０に備える機能の実行など）が発生した日時や現在の日時を測定する時計部であり、必要に応じて、経過時間を計測するためのタイマーとして使用する。
【００３３】
ここで、不揮発性メモリ２３は、その構成上、ＭＬＣの方が大量のデータを保存することができるが、書き込み回数はＳＬＣの方が大きく信頼性も高いことから、本実施例では、不揮発性メモリ２３として、ＳＬＣとＭＬＣとが１つのメモリ内で動作するデュアルモードを搭載したｅＭＭＣを使用する。そして、ＳＬＣ領域には装置を起動するためのブートプログラムや起動時に使用するデータ、後述するデータ判定部２７が判定に際して使用する情報、制御プログラムをアップデートするためのプログラム、後述する起動制御プログラムなどを格納し、ＭＬＣ領域にはそれ以外の制御プログラムやデータを格納する。なお、不揮発性メモリ２３は上記構成に限定されず、重要なプログラムやデータをＮＯＲ型フラッシュメモリに格納し、その他のプログラムやデータをＮＡＮＤ型フラッシュメモリに格納する構成としてもよい。
【００３４】
また、上記制御部２０は、図３に示すように、画像処理部２５、判定期間設定部２６、データ判定部２７、起動制御部２８としても機能する。
【００３５】
画像処理部２５は、画像データに、例えば圧縮／伸張処理、拡大／縮小処理、階調補正処理、スクリーン処理などの画像処理を施す。また、画像処理部２５は、画像処理後の画像データをＰＷＭ（Pulse Width Modulation）変換し、エンジン３３に出力する。
【００３６】
判定期間設定部２６は、データ判定部２７がデータの劣化を判定するための基準となる判定期間（Ｔｊ）を設定する。具体的には、装置の初回使用時においては、判定期間（Ｔｊ）を予め定めたデフォルト値（例えば、３０日）に設定する。また、その後の通常使用時においては、電源オン／オフの履歴情報や出力の履歴情報等を収集し、これらの情報から装置の使用状況を特定する情報（最大電源オフ期間、累積電源オフ期間、平均電源投入回数など）を算出し、算出した情報に基づいて、後述する手順に従って判定期間（Ｔｊ）を更新する。
【００３７】
データ判定部２７は、ＲＴＣ２４から現在の日時を取得すると共に、不揮発性メモリ２３のＳＬＣ領域から前回のリフレッシュ日時又は前回のデータ書き込み（書き換え）日時を取得し、前回のリフレッシュ時又は前回のデータ書き込み（書き換え）時から現在までの経過時間（Ｔｎ）を算出する。若しくは、ＲＴＣ２４をタイマーとして使用する場合は、ＲＴＣ２４から経過時間（Ｔｎ）を取得する。そして、経過時間（Ｔｎ）が判定期間（Ｔｊ）以上であるかどうかを判定し、経過時間（Ｔｎ）が判定期間（Ｔｊ）以上の場合は、起動制御部２８が装置を起動する前に、不揮発性メモリ２３のＭＬＣ領域に保持されたデータの正当性をチェックする。また、上記日時情報や判定期間（Ｔｊ）を取得できなかった場合や、経過時間（Ｔｎ）が算出できなかった場合もデータの正当性をチェックする。具体的には、ＭＬＣ領域のデータを全て読み出して当該データのチェックサムやＨＡＳＨ値（元のデータから一定の計算手順により求められた、そのデータの特徴を表す固定長の擬似乱数）が正しいかどうかを確かめる。そして、判定した結果を起動制御部２８に通知する。
【００３８】
起動制御部２８は、データ判定部２７がデータチェックを行った結果、データが正しいと判定した場合は、通常通りに装置の起動処理を行い（若しくは、リフレッシュ処理を行った後に装置の起動処理を行い）、データが正しくないと判定した場合（チェックサムやＨＡＳＨ値が合わない場合）は、装置の起動処理を行わず、パネル３１にデータが劣化している旨の報知（データエラーの報知）やデータの書き換えを指示する情報の報知を行い、サービスマンを呼んで修理対応を依頼する等の処置をユーザに促す。そして、不揮発性メモリ２３の全領域に対して、プログラムやデータの書き換えが行われたら、装置の起動処理を行う。
【００３９】
なお、上記判定期間設定部２６、データ判定部２７、起動制御部２８は、ハードウェアとして構成してもよいし、制御部２０を、判定期間設定部２６、データ判定部２７、起動制御部２８として機能させる起動制御プログラムとして構成し、当該起動制御プログラムをＣＰＵ２１に実行させる構成としてもよい。
【００４０】
また、装置本体３０は、パネル３１と、スキャナ３２と、エンジン３３と、電源部３４などで構成される。
【００４１】
パネル３１は、ＬＣＤ（Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）表示装置上に、電極が格子状に配列されたタッチパネルなどであり、コピーやスキャンなどの機能を実現するための各種画面を表示すると共に、これらの機能に対する各種指示を受け付ける。
【００４２】
スキャナ３２は、原稿台に載置された原稿の画像を光学的に読み取る部分であり、原稿を走査する光源と、原稿で反射された光を電気信号に変換するＣＣＤ（Charge Coupled Devices）等のイメージセンサと、電気信号をＡ／Ｄ変換するＡ／Ｄ変換器等により構成される。
【００４３】
エンジン３３は、電子写真方式や静電記録方式等の作像プロセスを利用した画像形成に必要な構成要素で構成され、画像処理部２５から送られてくるＰＷＭ信号に基づいて記録紙に画像を形成する。具体的には、帯電装置により帯電された感光体ドラムに露光装置から画像に応じた光を照射して静電潜像を形成し、現像装置で帯電したトナーを付着させて現像し、そのトナー像を転写ベルトに１次転写し、転写ベルトから紙媒体に２次転写し、更に定着装置で紙媒体にトナー像を定着させる処理を行う。
【００４４】
電源部３４は、外部電源に接続され、画像形成装置１０の各部に電力を供給する。この電源部３４は、画像形成装置１０の主電源をオフにしなければ、少なくともＲＴＣ２４に電力を供給できるようになっており、ＲＴＣ２４は上記経過時間（Ｔｎ）を計測することができる。また、電源部３４はバッテリーを備えていてもよく、バッテリーから供給される電力により、ＲＴＣ２４は上記経過時間（Ｔｎ）を計測することができる。
【００４５】
なお、図２は、本実施例の画像形成装置１０の一例であり、その構成は適宜変更可能である。例えば、通信Ｉ／Ｆ部を設け、ネットワークに接続されるコンピュータ装置などから取得した印刷ジョブに基づいて印刷処理を実行できるようにしたり、ＦＡＸの送受信ができるようにしたりしてもよい。
【００４６】
以下、上記構成の画像形成装置１０の動作について説明する。ＣＰＵ２１は、不揮発性メモリ２３のＳＬＣ領域に記憶した起動制御プログラムをＲＡＭ２２に展開して実行することにより、図４、図６、図７のフローチャート図に示す各ステップの処理を実行する。
【００４７】
［初回使用時］
まず、初めて使用する場合の画像形成装置１０の動作について、図４のフローチャート図を参照して説明する。
【００４８】
工場出荷後、ユーザ元で初めて電源を入れた場合は、装置の使用状況を特定することができないことから、制御部２０（データ判定部２７）は、不揮発性メモリ２３の全てのデータのチェックを行う（Ｓ１０１）。例えば、ＳＬＣ領域及びＭＬＣ領域に保存しているデータを全て読み出し、チェックサムやＨＡＳＨ値が正しいかどうかを確認する。
【００４９】
データチェックの結果、データエラーがある場合（Ｓ１０２のＹｅｓ）は、制御部２０（起動制御部２８）は、装置の起動処理を行わず、必要に応じて、パネル３１にデータエラーの報知を行い、プログラムやデータの書き換えを指示する（Ｓ１０３）。一方、データエラーがない場合（Ｓ１０２のＮｏ）は、起動制御部２８は、不揮発性メモリ２３のリフレッシュ処理を行った後（Ｓ１０４）、通常の起動処理を行い（Ｓ１０５）、装置として使用できる状態にする。
【００５０】
そして、判定期間設定部２６は、判定期間（Ｔｊ）をデフォルト値に設定する（Ｓ１０６）。ここで、不揮発性メモリ２３へのデータの書き込み回数が多くなると、電荷のトンネリングによってゲート絶縁膜が劣化し、浮遊ゲートに注入した電荷がシリコン基板に逃げやすくなることから、不揮発性メモリ２３の書き込み回数の上限（寿命）は予め規定されている。そこで、判定期間設定部２６は、図５に示すように、データの書き込み回数が寿命の半分を超えた時点でデフォルト値を下げ始め、寿命に達した時にはデフォルト値が０となるように設定する。ここでは、ｅＭＭＣの書き込み回数の上限を１００００回とし、書き込み回数が５０００回以上残っているとして、判定期間（Ｔｊ）を３０日に設定する。
【００５１】
［通常使用時］
次に、初回使用後の通常使用時の画像形成装置１０の動作について、図６のフローチャート図を参照して説明する。なお、データ判定部２７がデータチェックを行うか否かを判断するための閾値となる判定期間（Ｔｊ）、前回のデータの書き込み日時又は前回のリフレッシュ日時（Ｔｂ）、及び前回電源がオフにされた日時は予め不揮発性メモリ２３のＳＬＣ領域に保存しているものとする。
【００５２】
まず、制御部２０（データ判定部２７）は、電源オン時に、不揮発性メモリ２３のＳＬＣ領域から前回のデータの書き込み日時又は前回のリフレッシュ日時（Ｔｂ）を読み出すと共に、ＲＴＣ２４から現在の日時を取得し、Ｔｂから現在の日時までの経過時間（Ｔｎ）を計算する（Ｓ２０１）。若しくは、ＲＴＣ２４をタイマーとして使用する場合は、ＲＴＣ２４から経過時間（Ｔｎ）を取得する。
【００５３】
次に、データ判定部２７は、不揮発性メモリ２３のＳＬＣ領域から、判定期間（Ｔｊ）を読み出し、経過時間（Ｔｎ）が判定期間（Ｔｊ）以上であるかどうかを判定する（Ｓ２０２）。Ｔｎ＜Ｔｊの場合、すなわち、前回、データ書き込み又はリフレッシュが行われてからの経過時間が判定期間未満の場合は、起動制御部２８は、不揮発性メモリ２３のＳＬＣ領域から前回電源がオフにされた日時を読み出し、その日時から現在の日時までの電源オフ期間を計算し、電源オフ期間が予め定めた所定期間（例えば、１８０日）未満であるかどうかを判断する（Ｓ２０６）。そして、起動制御部２８は、電源オフ期間が上記所定期間未満の場合は、通常の起動処理を行い（Ｓ２０８）、電源オフ期間が上記所定期間以上の場合は、不揮発性メモリ２３のリフレッシュ処理を行った後に（Ｓ２０７）、通常の起動処理を行う（Ｓ２０８）。なお、ここでは、電源オフ期間が所定期間未満であるかどうかを判断したが、経過時間（Ｔｎ）が判定期間（Ｔｊ）未満の場合は、直ちに通常の起動処理を行い、起動処理後に、必要に応じてリフレッシュを行うようにしてもよい。
【００５４】
一方、Ｔｎ≧Ｔｊ、すなわち、前回のデータ書き込み又はリフレッシュが行われてからの経過時間が判定期間以上の場合は、データが劣化している可能性があることから、データ判定部２７は、不揮発性メモリ２３のＭＬＣ領域のデータの正当性をチェックする（Ｓ２０３）。例えば、ＭＬＣ領域に保存しているデータを全て読み出し、チェックサムやＨＡＳＨ値が正しいかどうかを確認する。また、不揮発性メモリ２３のＳＬＣ領域から判定期間（Ｔｊ）や、前回のデータ書き込み日時又は前回のリフレッシュ日時（Ｔｂ）が読み出せなかった場合は、ＳＬＣ領域を含む全領域のデータの正当性をチェックする。また、ＲＴＣ２４から現在の日時を取得できない場合や、経過時間（Ｔｎ）が算出できない（又はＲＴＣ２４が経過時間を計測する場合はＲＴＣ２４から経過時間を取得できない場合）、経過時間（Ｔｎ）に矛盾が生じる場合も、ＲＴＣ異常と判断して、データの正当性をチェックする。
【００５５】
データチェックの結果、データエラーがない場合（Ｓ２０４のＮｏ）は、上記と同様に、起動制御部２８は、不揮発性メモリ２３の電源オフ期間が予め定めた所定期間（例えば、１８０日）未満であるかどうかを判断する（Ｓ２０６）。そして、起動制御部２８は、電源オフ期間が上記所定期間未満の場合は、通常の起動処理を行い（Ｓ２０８）、電源オフ期間が上記所定期間以上の場合は、不揮発性メモリ２３のリフレッシュ処理を行った後に（Ｓ２０７）、通常の起動処理を行う（Ｓ２０８）。なお、ここでは、電源オフ期間が所定期間未満であるかどうかを判断したが、データエラーがない場合は、直ちに通常の起動処理を行い、起動処理後に、必要に応じてリフレッシュ処理を行うようにしてもよい。
【００５６】
チェックサムやＨＡＳＨ値が合わないなど、データエラーがある場合（Ｓ２０４のＹｅｓ）は、起動制御部２８は、装置の起動処理を行わず、必要に応じて、パネル３１にデータエラーの報知やデータの書き換えを指示する情報の報知を行い（Ｓ２０５）、サービスマンを呼んで修理対応を行うようにユーザを促す。そして、Ｓ２０５の状態になったら、起動制御部２８は、フラグを立ててデータの書き換え（ファームウェアアップデート）を実行されるまでは装置の起動処理が行われないようにし、データの書き換えが実行されたらフラグを落とす。
【００５７】
その後、判定期間設定部２６は、判定期間の更新を行う（Ｓ２０９）。すなわち、初回使用時に、判定期間設定部２６は判定期間（Ｔｊ）をデフォルト値に設定したが、電源オフ期間が短い場合や電源投入回数が多い場合には、不揮発性メモリ２３は適切に通電され、電荷が消失する可能性は低いことから、判定期間（Ｔｊ）を長くすることができる。また、電源投入回数が多い場合には、データチェックの煩わしさを減らすため、判定期間（Ｔｊ）を長くすることが好ましい。そこで、本実施例では、図７のフローチャート図に示すように、装置の使用状況に応じて判定期間（Ｔｊ）を増やすようにする。
【００５８】
具体的には、まず、判定期間設定部２６は、装置の使用状況を特定するために、不揮発性メモリ２３のＳＬＣ領域から、装置の電源オン／オフの履歴情報や出力の履歴情報等を取得し、それらの情報に基づいて、最大電源オフ期間、前回リフレッシュしてからの累積電源オフ期間、１か月の平均電源投入回数などの情報を算出する（Ｓ３０１）。なお、リフレッシュやファームウェアアップデートが行われた場合は、これらの情報はリセットする。
【００５９】
次に、判定期間設定部２６は、最大電源オフ期間と予め定めた期間とを比較する（Ｓ３０２）。そして、最大電源オフ期間が、例えば１５日以上（装置が倉庫等に保管される場面を想定した期間）の場合は、保管環境によってデータリテンション期間が大きく変動する恐れがあるため、判定期間設定部２６は、判定期間（Ｔｊ）をデフォルト値のままにする（Ｓ３０３）。また、Ｓ３０１で電源オン／オフの履歴情報や出力の履歴情報等が取得できなかった場合や装置の使用状況を特定するため情報が算出できなかった場合も、判定期間（Ｔｊ）をデフォルト値のままにする。
【００６０】
また、最大電源オフ期間が、例えば４日から１４日（会社等の休みにより、装置が電源オフの状態で放置される場面を想定した期間）の場合は、空調の停止などによってデータリテンション期間が多少変動する恐れがあり、電源が投入される間隔によっては浮遊ゲートの電荷が消失する恐れがあるため、判定期間設定部２６は、１か月の平均電源投入回数と予め定めた回数とを比較する（Ｓ３０４）。そして、１か月の平均電源投入回数が、例えば５回以上の場合は、判定期間（Ｔｊ）をデフォルト値＋３０日に設定し（Ｓ３０５）、１か月の平均電源投入回数が、例えば５回未満の場合は判定期間（Ｔｊ）をデフォルト値＋１５日に設定する（Ｓ３０６）。
【００６１】
また、最大電源オフ期間が、例えば３日（ほぼ日常的に装置の電源がオンにされる場面を想定した期間）以下の場合は、電源オフの間に浮遊ゲートの電荷が消失する可能性は低いが、前回リフレッシュしてからの累積電源オフ期間に応じてデータリテンション期間の変動を考慮する必要があることから、判定期間設定部２６は、累積電源オフ期間と予め定めた期間とを比較する（Ｓ３０７）。そして、累積電源オフ期間が、例えば１８０日未満の場合は判定期間（Ｔｊ）をデフォルト値＋６０日に設定し（Ｓ３０８）、累積電源オフ期間が、例えば１８０日以上の場合は判定期間（Ｔｊ）をデフォルト値＋３０日に設定する（Ｓ３０９）。
【００６２】
上記では、最大電源オフ期間と累積電源オフ期間と平均電源投入回数とに基づいて判定期間（Ｔｊ）を設定したが、これらの情報に代えて、若しくはこれらの情報に加えて、他の情報を用いてもよい。例えば、装置の電源が一定の間隔でオンになる（例えば、毎朝電源が投入される）場合や印刷やコピー、スキャン等の実行回数が多い場合は、不揮発性メモリに通電される機会が増え、電荷が消失する可能性は低くなると考えられることから、これらの情報に基づいて、若しくはこれらの情報を加味して判定期間（Ｔｊ）を設定することもできる。また、装置が使用される季節によって温度が変化し、データリテンション期間の変動が大きくなると考えられることから、現在の日時が属する季節を特定し、季節の情報に基づいて、若しくは季節の情報を加味して判定期間（Ｔｊ）を設定することもできる。また、装置が置かれている場所（緯度や屋内／屋外など）、装置が使用される環境（空調の有無やその設定、発熱体が近くにあるか否かなど）によって温度が変化し、データリテンション期間の変動が大きくなると考えられることから、必要に応じて画像形成装置１０にＧＰＳ（Global Positioning System）センサや温度センサを設け、これらのセンサから取得した情報やユーザが測定／設定した情報に基づいて、若しくはこれらの情報を加味して判定期間（Ｔｊ）を設定することもできる。
【００６３】
このように、最大電源オフ期間や累積電源オフ期間、平均電源投入回数などで特定される装置の使用状況に基づいて判定期間を設定し、前回のデータ書き込み時又はリフレッシュ時からの経過時間が判定期間以上の場合に不揮発性メモリ２３のデータチェックを行い、データエラーがある場合には装置の起動処理を行わないようにすることにより、通常使用時の起動時間にはほとんど影響を与えることなく、データの劣化を適切に判定することができ、劣化したデータによる装置の起動を確実に防止することができる。
【００６４】
なお、本発明は上記実施例に限定されるものではなく、本発明の趣旨を逸脱しない限りにおいて、その構成や制御は適宜変更可能である。
【００６５】
例えば、上記実施例では、情報処理装置として画像形成装置１０を例にして説明したが、不揮発性メモリを備える任意の情報処理装置に対して、本発明の制御を同様に適用することができる。
【００６６】
また、上記実施例では、ＳＬＣ領域とＭＬＣ領域とで構成される不揮発性メモリ２３を例にして説明したが、不揮発性メモリ２３をデータリテンション期間が異なる複数のメモリで構成し、相対的に信頼性が高い（データリテンション期間が長い）１又は複数のメモリ（すなわち、信頼性が最も低いメモリ以外のメモリ）に重要なプログラムやデータを格納し、経過時間が判定期間以上となったら、相対的に信頼性が低い（データリテンション期間が短い）１又は複数のメモリ（すなわち、信頼性が最も高いメモリ以外のメモリ）のデータチェックを実行する構成であればよい。
【産業上の利用可能性】
【００６７】
本発明は、不揮発性メモリを備える情報処理装置、当該情報処理装置の起動を制御する起動制御プログラム及び当該起動制御プログラムを記憶した記録媒体並びに当該情報処理装置における起動制御方法に利用可能である。
【符号の説明】
【００６８】
１０  画像形成装置
２０  制御部
２１  ＣＰＵ
２２  ＲＡＭ
２３  不揮発性メモリ
２４  ＲＴＣ
２５  画像処理部
２６  判定期間設定部
２７  データ判定部
２８  起動制御部
３０  装置本体
３１  パネル
３２  スキャナ
３３  エンジン
３４  電源部
【図１】
2015148859.tif 000003
【図２】
2015148859.tif 000004
【図３】
2015148859.tif 000005
【図４】
2015148859.tif 000006
【図５】
2015148859.tif 000007
【図６】
2015148859.tif 000008
【図７】
2015148859.tif 000009