(57)【要約】【課題】故障発生時にリアルタイムクロックを使用して時刻情報を取得できない状況においても、代わりの手法を用いて故障発生時刻を記録することを目的とする。【解決手段】電源からの電源供給が変化した場合に、リアルタイムクロックより時刻を取得し、不揮発性領域に記録する第１の記録手段と、リアルタイムクロックより時刻を取得できないときに故障が発生した場合、第１の記録手段により記録された時刻を故障発生時刻として不揮発性領域に記録する第２の記録手段と、を有することによって課題を解決する。【選択図】図１０
2016143234.tif 000002
【特許請求の範囲】
【請求項１】
電源からの電源供給が変化した場合に、リアルタイムクロックより時刻を取得し、不揮発性領域に記録する第１の記録手段と、
前記リアルタイムクロックより時刻を取得できないときに故障が発生した場合、前記第１の記録手段により記録された時刻を故障発生時刻として不揮発性領域に記録する第２の記録手段と、
を有する情報処理装置。
【請求項２】
前記第２の記録手段は、前記故障発生時刻と共に故障の内容を示すエラーコードを故障履歴として不揮発性領域に記録する請求項１記載の情報処理装置。
【請求項３】
前記第２の記録手段は、前記故障から復帰した場合、前記リアルタイムクロックより時刻を取得し、取得した時刻を故障復帰時刻として前記故障履歴に含めて不揮発性領域に記録する請求項２記載の情報処理装置。
【請求項４】
前記第１の記録手段は、前記電源からの電源供給が停止される場合、前記電源からの電源供給が変化したとして、前記リアルタイムクロックより時刻を取得し、不揮発性領域に記録する請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
前記情報処理装置は、画像を処理する画像処理装置である請求項１乃至４何れか１項記載の情報処理装置。
【請求項６】
情報処理装置が実行する情報処理方法であって、
電源からの電源供給が変化した場合に、リアルタイムクロックより時刻を取得し、不揮発性領域に記録する第１の記録ステップと、
前記リアルタイムクロックより時刻を取得できないときに故障が発生した場合、前記第１の記録ステップにより記録された時刻を故障発生時刻として不揮発性領域に記録する第２の記録ステップと、
を含む情報処理方法。
【請求項７】
コンピュータを、請求項１乃至５何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
コピー、プリンタ、スキャナ等の機能を搭載したＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｅｒｉｐｈｅｒａｌ）の中でも床に設置するような大型のタイプにおいては、装置が故障したときはサービスマンがユーザ先の装置を直接調査し修理にあたっている。調査においてサービスマンは、故障発生時に記憶している故障発生箇所や発生時刻等の故障履歴を用いて原因を特定することが多い。発生時刻が故障履歴として記録されていることは、例えば停電等でその時間帯の電源供給状態が不良であったことから故障の原因を推測するために有用である。そのため、故障発生時に時刻情報を取得し、故障発生時刻として記録する手法が一般的である（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２３０２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
時刻情報を取得するためには、ＲＴＣ（リアルタイムクロック）を用いる場合が多い。しかしながら、例えばＲＴＣにアクセスできない場合等、故障発生時に時刻情報を正しく取得できない状況においては、故障履歴に正しい故障発生時刻を記録することができない。そのため、例えばサービスマンやＭＦＰ等が故障の原因を調査する際、効率的な解析を行えない問題が生じる。
本発明はこのような問題点に鑑みなされたもので、故障発生時にリアルタイムクロックを使用して時刻情報を取得できない状況においても、代わりの手法を用いて故障発生時刻を記録することを目的とする。
【課題を解決するための手段】
【０００５】
そこで、本発明の情報処理装置は、電源からの電源供給が変化した場合に、リアルタイムクロックより時刻を取得し、不揮発性領域に記録する第１の記録手段と、前記リアルタイムクロックより時刻を取得できないときに故障が発生した場合、前記第１の記録手段により記録された時刻を故障発生時刻として不揮発性領域に記録する第２の記録手段と、を有する。
【発明の効果】
【０００６】
本発明によれば、故障発生時にリアルタイムクロックを使用して時刻情報を取得できない状況においても、代わりの手法を用いて故障発生時刻を記録することができる。
【図面の簡単な説明】
【０００７】
【図１】ネットワークシステムのシステム構成の一例を示す図である。
【図２】ＭＦＰのハードウェア構成の一例を示した図である。
【図３】制御部のハードウェア構成等の一例を示した図である。
【図４】電源制御部のハードウェア構成等の一例を示した図である。
【図５】故障検知部のハードウェア構成等を示した図である。
【図６】故障履歴情報の一例を示す図である。
【図７】故障履歴情報を記録する情報処理の一例を示すフローチャートである。
【図８】不揮発メモリに記録するデータテーブルの一例を示す図である。
【図９】第二の電源が電源供給を停止する情報処理のフローチャートである。
【図１０】第二の電源が電源供給を開始する情報処理のフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面に基づいて説明する。
【０００９】
＜実施形態１＞
図１は、ネットワークシステムのシステム構成の一例を示す図である。
ＭＦＰ１０４、１０５やプリンタ１０６、ＦＡＸ１０７等の装置がネットワーク１０１に接続されている。ネットワークはここではローカルエリアネットワークの例を説明する。本実施形態の処理はネットワークの形式には依存しないため、他の方式のネットワークでも適用可能である。ＭＦＰ１０４、１０５は、コピー、プリンタ、スキャナ等の機能が統合されたデバイスである。ＭＦＰ１０４、１０５にはカラー印字対応の有無やプリントスピード等のバリエーションがある。プリンタ１０６、ＦＡＸ１０７は、単機能の装置である。ＰＣ１０２、１０３は、ユーザが使用するＰＣである。ＰＣ１０２、１０３は、ネットワーク１０１に接続されたＭＦＰ１０４、１０５やプリンタ１０６、ＦＡＸ１０７等の装置とのデータ送受信により、プリント動作、スキャン動作、ＦＡＸ送信動作をすることができる。ＭＦＰ１０４、１０５は、画像処理装置の一例である。
次に、ＭＦＰ１０４の構造及び動作について説明する。本実施形態では、説明の簡単化のために、ＭＦＰ１０４を例にとって説明するが、本実施形態の処理等はＭＦＰ１０５、プリンタ１０６、ＦＡＸ１０７、ＰＣ等にも適用可能である。
【００１０】
図２は、ＭＦＰ１０４のハードウェア構成の一例を示した図である。
制御部２０２は、ＭＦＰ１０４の動作を制御する部位であり、データの送受信、データの変換、データの保存、電力制御を行う。
ＭＦＰ１０４がプリント動作を行う場合の例を説明する。
この場合、ＰＣ１０２でジョブデータが生成され、ネットワーク１０１を通して制御部２０２に転送され、一旦、ＭＦＰ１０４内に保存される。制御部２０２は、保存されたジョブデータを画像データに変換し、プリンタ部２０４に転送する。制御部２０２の制御下でプリンタ部２０４は、画像データを記録紙に印字して装置外に排出する。
ＭＦＰ１０４がスキャン動作を行う場合の例を説明する。
この場合、ユーザが原稿をスキャナ部２０３にセットした後、操作部２０１の画面を参照しながらボタンを操作し、スキャン動作の設定後、動作開始を指示する。制御部２０２の制御下でスキャナ部２０３は、原稿を光学的に読み取り画像データに変換する。画像データは制御部２０２に一旦保存された後、予め操作部２０１で指定された送信先に転送される。
ＭＦＰ１０４がコピー動作を行う場合の例を説明する。
この場合、ユーザが原稿をスキャナ部２０３にセットした後、操作部２０１の画面を参照しながらボタンを操作することにより、コピー動作の設定後、コピー動作の開始を指示する。制御部２０２の制御下でスキャナ部２０３は、原稿を光学的に読み取り画像データに変換する。制御部２０２は、画像データを一旦保存した後、プリンタ部２０４で利用できるデータ形式を変換する。そして、プリンタ部２０４は、前記データ形式の画像データを記録紙に印字して装置外に排出する。
【００１１】
第一の電源２０５、第二の電源２０７は電源プラグ２０６から供給される交流の商用電源を、ＭＦＰ１０４の各部で使用する直流電圧に変換する電源である。第二の電源２０７は、制御部２０２から出力される電源制御信号２０８によって電源出力を制御される。通常モードにおいては、第二の電源２０７はオンであるが、省エネモードにおいてはオフとなる。ここで省エネモードとは、装置のジョブ処理を行っていないときに、商用電源の消費電力を低減するために、制御部２０２以外の部分の給電を停止する状態のことである。省エネモード下においては、制御部２０２においてジョブの受信を検知することができる。検知時は、制御部２０２は、通常モードに移行するために電源制御信号２０８を切り替えることで第二の電源２０７をオンする。
【００１２】
図３は、制御部２０２のハードウェア構成等の一例を示した図である。
制御部２０２を制御するＣＰＵ３０２は、動作時にはＲＡＭ３０５を使用する。ネットワーク通信を行うネットワークＩ／Ｆ３０１、スキャナ部２０３及びプリンタ部２０４と通信を行うプリンタスキャナＩ／Ｆ３０４がシステムバス３０８で接続されている。
ＭＦＰ１０４が電源ＯＦＦ状態から起動するとき、第一の電源２０５が投入される、電源制御部３０７、ネットワークＩ／Ｆ３０１が動作を開始する。また第一の電源２０５は第一のローカル電源部３１５に入力され、ＣＰＵ３０２に内蔵されるＲＴＣ３１８を動作させる。ＲＴＣ３１８が動作を開始すると電源制御クロック信号３１９が出力され、電源制御部３０７に供給され、電源制御部３０７の動作を開始する。また、ＲＴＣ３１８が動作を開始することによりＣＰＵ３０２に内蔵されるシステム電源制御部３１７が動作を開始する。システム電源制御部３１７は、装置を省エネモードか通常モードかに切り替える制御を行う。電源投入時のシステム電源制御部３１７は、省エネモードか通常モードかを示す切り替え信号３１３をアサートし、通常モードに切り替える。電源制御部３０７は、電源制御クロック信号３１９が発振開始し、切り替え信号３１３がアサートされたときに、電源制御信号２０８を切り替えることで第二の電源２０７をオンする。第二の電源２０７の出力がオンになった後、第二のローカル電源部３０６において、３．３Ｖ電源出力、１．８Ｖ電源出力、１．０Ｖ電源出力の順に電源供給を開始する。３．３Ｖ電源出力は、ＣＰＵ３０２をはじめ、プリンタスキャナＩ／Ｆ３０４、操作部Ｉ／Ｆ３０３、ＲＡＭ３０５に供給される。ＣＰＵ３０２はその他に、１．８Ｖと１．０Ｖとも使用する。第二のローカル電源部３０６の出力が規定の電圧に到達したとき、１００ミリ秒程度の遅延をもって第二のパワーグッド信号３１２がアサートされ、電源制御部３０７に入力される。また、３．３Ｖ電源はシステムクロック生成部３１４に入力される。そしてシステムクロック生成部３１４は発振を開始する。システムクロックはＣＰＵ３０２の動作に必要なものであるが、故障検知のために電源制御部３０７にも入力される。ＣＰＵ３０２は第二のパワーグッド信号が入力されると動作を開始し、起動するためのプログラムをＲＡＭ３０５にリードしに行く。ＣＰＵ３０２は、読みだしたプログラムを実行することで起動が完了する。不揮発メモリ３２１は、主にユーザ設定や、システム設定を保持するために用いられる。また、不揮発メモリ３２１は、故障発生時刻と故障復帰時刻とを含む故障履歴等を保持するためにも用いられる。不揮発メモリ３２１は、第一の電源２０５及び第二の電源２０７からの電源供給が停止されても継続してデータを保持可能であり、電池を伴うＳＲＡＭ、ＨＤＤ、ＳＳＤ、ＦＬＡＳＨＲＯＭ等の何れであってもよい。不揮発メモリ３２１は、不揮発性領域の一例である。
ＣＰＵ３０２が、例えば、不揮発メモリ３２１等に記憶されているプログラムをＲＡＭ３０５に読み出し、実行することによって、ＭＦＰ１０４の機能及び後述するフローチャートの処理が実現される。
【００１３】
ＭＦＰ１０４が省エネモードにあるとき、ＣＰＵ３０２が出力する電源制御信号２０８により第二の電源２０７の出力はオフになっている。このとき制御部２０２において動作しているのは第一の電源２０５から電源供給を受けるネットワークＩ／Ｆ３０１、電源制御部３０７である。省エネモードから通常状態への移行トリガの一つは、ネットワーク１０１経由のウェイクパケットの受信である。ネットワークＩ／Ｆ３０１において受信したパケットの内容を参照し、ジョブデータ等の処理が必要なパケットであった場合は、ネットワーク復帰トリガ信号３１１をアサートする。
電源制御部３０７は、ネットワーク復帰トリガ信号３１１がアサートされたとき、電源制御信号２０８をアサートする。第二の電源２０７の出力がオンになった後は前述した電源オン時の動作と同様にＣＰＵ３０２が起動していく。
ＣＰＵ３０２は、通常モードにおけるプリント、コピー、ＦＡＸ等のジョブやユーザによる操作部２０１の操作が無いとき、省エネモードへの移行を行う。省エネモードへの移行は、ＣＰＵ３０２がＯＳのシャットダウンや各部の終了処理を行った後、電源制御信号２０８を制御して第二の電源２０７をオフする。
【００１４】
電源制御部３０７には、電源制御に関する信号の入力がされる。また、電源制御部３０７は、その入力を基に制御信号を出力している。ＣＰＵ３０２の起動にしなかった場合には、途中で停止していると考えられ、電源制御部３０７は、電源制御に関する信号を監視することで故障の検知を行うことができる。電源制御部３０７内で検知した故障は、第一の故障表示部２０９と、第二の故障表示部３０９との２か所に表示可能である。第一の故障表示部２０９はユーザやサービスマンが容易に目視可能な操作部２０１に位置しており、目的は故障の検知を報知することである。逆にユーザにとっては故障に関する詳細な情報は不要であり、最小限の情報にするのが望ましい。操作部２０１の画面はＣＰＵ３０２が描画している。そのためＣＰＵ３０２が起動しないときは故障の画面表示ができない。検知された内容は電源制御部３０７内部で信号に変換され、前記信号を通して第一の故障表示部２０９に伝達される。
第二の故障表示部３０９はより詳細な情報を提供するために制御部２０２内に位置している。例えば、第二の故障表示部３０９は、ＣＰＵ３０２の起動のどの段階で停止したかを判別できる表示を行う。これによりＣＰＵ３０２が起動しないときに装置内のどの部分が動作していないかを絞ることができる。
以上説明したように、２つの故障表示部を備えることにより、２つの使用目的のそれぞれを達成することができる。
【００１５】
図４は、電源制御部３０７のハードウェア構成等の一例を示した図である。
電源制御信号生成部４０１は、システムの電源制御を行う。システムの電源制御とは、前述のような省エネモードにおける第二の電源２０７や第二のローカル電源部３０６のオフオン等である。電源制御信号生成部４０１には、監視信号Ａ〜Ｆや、ＣＰＵ３０２が起動したときにアクセスするシステムバス３０８や入出力信号ＧＰＩＯ４０６が接続されている。
第一の故障検知部４０３、第二の故障検知部４０４は、電源制御信号生成部４０１で使用する信号を監視し、異常を検知する。異常の検知の方法については後述する。検知した異常は故障表示信号生成部４０５に入力され、第一の故障表示部２０９及び第二の故障表示部３０９に適した形で表示内容が出力される。
内部クロック４０２は、第一の故障検知部４０３、第二の故障検知部４０４、故障表示信号生成部４０５を駆動するクロック信号を生成する。電源制御信号生成部４０１とは異なるクロックを使用することで、システムクロック生成部３１４が動作していないときにおいても、故障検知及び表示の動作を行うことができるという利点がある。
【００１６】
リブート検知部１２０１は、リブートの発生時に変化する信号である再起動信号の変化を検知し、検知時には異常信号３をアサートする。故障記録部１２０２には異常信号１、異常信号２、異常信号３が入力される。どれか一つアサートされたときに故障記録部１２０２は内部にある第二の不揮発メモリ１２０５に記録する。故障記録部１２０２の内部にある不揮発メモリ制御部１２０３は、異常信号を受信したときに監視信号をラッチするデータラッチ１２０４と第二の不揮発メモリ１２０５とを制御する部位である。ここでは監視信号は、監視信号Ａ〜Ｆでもよいし、他の信号を追加してもよい。また、監視信号の状態をそのままラッチしてもよいし、データラッチ１２０４内部にデコーダを備えて信号の状態をコード化してもよい。不揮発メモリ制御部１２０３は、第二の不揮発メモリ１２０５に対してアドレスバスを通してアドレス等の制御信号を出力する。データラッチ１２０４の出力が第二の不揮発メモリ１２０５のデータとして書き込まれる。
この第二の不揮発メモリ１２０５には電源制御部３０７を構成するプログラマブルロジック（例えばＣＰＬＤ、又は、ＦＰＧＡと呼ばれるＩＣ）に内蔵するものが利用されている。プログラムロジック内に故障検知や不揮発メモリを内蔵することにより、一般的なマイコンを使ったシステムや不揮発メモリを外付けにしたシステムにくらべて構造が単純になり信頼性の高いシステムが構築できることが利点である。
【００１７】
以上の構成により起動しないとき、及び、リブートが発生したときの監視信号の状態が第二の不揮発メモリ１２０５に書き込まれる。書き込まれた情報はＪＴＡＧ１２０６経由で読み出しが可能である。例えば、ＪＴＡＧ１２０６にケーブルで接続されたＰＣは、ＪＴＡＧコマンドを使用して第二の不揮発メモリ１２０５に記録された情報を転送させることができる。ユーザはＰＣ上で情報を確認し、デバッグや故障解析に活用することができる。活用する例としては、例えば、電源制御信号２０８がアサートされていたのに、第二のパワーグッド信号３１２ある特定のリセット信号が解除されないといった情報が読み出された場合には、第二のローカル電源部３０６が故障していることが予想される。複数回のＭＦＰ１０４の電源のオフオンがされていると推測されているのに、第二の不揮発メモリ１２０５には１回しか書き込みがされていない場合は、発生頻度の低い問題として解釈できる、といった活用ができる。
【００１８】
第二の不揮発メモリ１２０５のバスには、第一のバスである不揮発メモリ制御部１２０３に接続されるバスと、第二のバスであるＣＰＵ３０２のバスと、がセレクタ１６０１を介して接続される。ここで、Ｉ2Ｃやパラレルバス等において、複数のマスターが存在する場合は、同時に送信を行わないようにバスアービトレーションを行うことが一般的である。そのため、不揮発メモリ制御部１２０３とＣＰＵ３０２とから第二の不揮発メモリ１２０５にアクセスするためには、複数のマスターが同時にバスを使用することがないよう、バスのアービトレーションが必要となる。しかし、電源制御部３０７はプログラマブルロジックで構成されているため、バスアービタを構成すると、多くのロジックを使用してしまう。そのため、不揮発メモリ制御部１２０３が、セレクタ１６０１を制御することで、第二の不揮発メモリ１２０５にアクセスするバスの切り替えを可能とし、バスのアービトレーションを行う。
更に、不揮発メモリ制御部１２０３にリセット信号１６０２が追加されている。これにより、ＣＰＵ３０２に対しリセット信号を出力することが可能となる。ここで、不揮発メモリ制御部１２０３がリセット信号１６０２をアサートすることで、ＣＰＵ３０２をリセット状態にし、バスのアクセスを停止させることができる。これにより、不揮発メモリ制御部１２０３がセレクタ１６０１を制御する際に、ＣＰＵ３０２からのバスのアクセスを停止させることができる。ＣＰＵ３０２からのアクセスが停止している間に、不揮発メモリ制御部１２０３が第二の不揮発メモリ１２０５へのバスをセレクタ１６０１で切り替えることでバスアービトレーションを簡易化することができる。このようにバスアービトレーションを行うことで、通常動作時にはＣＰＵ３０２が第二の不揮発メモリ１２０５にアクセスする。故障検知時には不揮発メモリ制御部１２０３がＣＰＵ３０２をリセット状態にし、バスのアクセスを停止させ、セレクタ１６０１でバスを切り替えることで、第二の不揮発メモリ１２０５にアクセスすることが可能となる。
【００１９】
以上、説明したように、電源制御部３０７内に電源制御を行う部分と故障検知及び表示信号の生成を行う部分とがある。これは故障検知に必要な信号の配線をコンパクトにでき、故障検知の信頼性を上げることができるためである。本実施形態では電源制御部３０７は１チップのプログラマブルロジックＩＣを使用している。ＩＣに内蔵しているシステムクロック生成部３１４は外的要因の影響を受けにくく、クロックの信頼性が高い。また故障検知に必要な信号もＩＣ内部で結線されているので、例えば半田付けの品質等の影響がないため、同様に信頼性を高めることが可能である。
また、起動しないとき、及び、リブートしたときの監視信号の状態を不揮発メモリに保存することができる。これにより、後からエラーの内容を把握できる利点があり、再現性の低い問題のデバッグにも有効である。また複数回のエラーの情報を記録できることから、発生頻度といった情報を得ることができる。
更には、不揮発メモリ制御部１２０３がリセット信号１６０２を用いて、第二の不揮発メモリ１２０５にアクセスするためのバスのバスアービトレーションを行うことができる。不揮発メモリ制御部１２０３が、故障検知時にＣＰＵ３０２をリセットすることで、ＣＰＵ３０２から第二の不揮発メモリ１２０５へのアクセスを停止することができ、バスのアービトレーションを簡易化できる。
【００２０】
図５は、第一の故障検知部４０３と第二の故障検知部４０４とのハードウェア構成等の一例を示した図である。
第一の故障検知部４０３は、監視信号Ａがアクティブに変化したときに、第一のタイマ５０１をスタートする。第一のタイマ５０１は、システムクロック生成部３１４が生成するクロック信号で動作し、所定の時間が経過すると出力信号をアサートし第一の故障判定部５０２に入力する。第一の故障判定部５０２には監視信号Ｃが入力されており、正常時には第一のタイマ５０１が所定の時間をカウントするまえにアサートされる信号である。第一の故障判定部５０２は、第一のタイマ５０１が所定の時間をカウントした時点で監視信号Ｃがアサートされないときに異常信号１をアサートし、故障表示信号生成部４０５に故障の検知を伝達する。
監視信号ＡにはＣＰＵ起動シーケンスの始まりに変化する信号がよく、また監視信号ＣにはＣＰＵ起動シーケンスの終了を示す信号とするのがよい。
第二の故障検知部４０４は、監視信号が異なるのみで同様の構成となっている。
２つの故障検知部によって２種類の異常を検知でき、故障個所の特定をより容易にすることができる。例えば、一つ目を第一の電源２０５によって起動する部分の故障検知にし、二つ目を第二の電源２０７によって起動する部分に分ける。これは第一の電源２０５は電源投入時に一回起動するが、第二の電源２０７は、省エネモードへの移行、復帰の際にもオフオンされるという違いがあることから、故障検知回路を分ける必要がある。
【００２１】
ここでは、監視信号Ａとして第一のパワーグッド信号３１６を接続する。これにより第一の電源出力の安定と共に故障検知を開始する。監視信号Ｂは電源制御クロック信号３１９が発振したことを示す信号とする。監視信号Ｃとしては、切り替え信号３１３とする。これらの３つの監視信号は順次動作を開始する信号である。正常時であれば第一のローカル電源部３１５の出力を開始すれば、電源制御クロック信号３１９が発振を開始し、その後、切り替え信号３１３がアサートされる。どこか故障個所があれば、途中で止まることになる。
また、同様に、監視信号Ｄとしては、切り替え信号３１３とする。監視信号Ｅとしては、電源制御信号２０８とする。監視信号Ｆとして第二のパワーグッド信号３１２とする。正常時であれば切り替え信号３１３がアサートされたあと、電源制御部３０７が電源制御信号２０８をアサートし、第一のローカル電源部３１５の出力を開始すれば第一のパワーグッド信号がアサートされる。
【００２２】
図６は、ＣＰＵ３０２が故障発生を検知した際に不揮発メモリ３２１に記録する故障履歴情報６０１の一例を示す図である。
故障履歴情報６０１は故障の内容を示すエラーコード６０２、故障の発生時刻６０３、故障からの復帰時刻６０４を含むレコードである。エラーコード６０２は起動不良に限らず、例えばプリンタ部２０４やスキャナ部２０３の故障等様々な異常を示す。
【００２３】
図７は、故障履歴情報６０１を記録する情報処理の一例を示すフローチャートである。
ステップＳ１００１において、ＣＰＵ３０２は、故障発生の検知を待つ。例えば、スキャナ部２０３の光源部が寿命により、光学的な読み取りが不可能となった場合に、ＣＰＵ３０２は、故障が発生したと検知する。故障発生の検知に伴い、ＣＰＵ３０２は、処理をステップＳ１００２に進める。
ステップＳ１００２において、ＣＰＵ３０２は、ＲＴＣ３１８から最新の時刻Ｔ１を取得する。そして、ＣＰＵ３０２は、処理をステップＳ１００３に進める。
ステップＳ１００３において、ＣＰＵ３０２は、検知した故障内容を示すエラーコード６０２と、ステップＳ１００２において取得した時刻Ｔ１を故障の発生時刻６０３として用い、不揮発メモリ３２１に故障履歴情報６０１として記録する。そして、ステップＳ１００４に進む。
ステップＳ１００４において、ＣＰＵ３０２は、故障復帰の検知を待つ。例えば、スキャナ部２０３の光源部がサービスマンによって交換され、再び光学的な読み取りが可能となった場合に、ＣＰＵ３０２は、故障復帰したと検知する。故障復帰の検知に伴い、ＣＰＵ３０２は、処理をステップＳ１００５に進める。
ステップＳ１００５において、ＣＰＵ３０２は、ＲＴＣ３１８から最新の時刻Ｔ２を取得する。そして、ＣＰＵ３０２は、ステップＳ１００６に処理を進める。
ステップＳ１００６において、ＣＰＵ３０２は、ステップＳ１００５において取得した時刻Ｔ２を故障の復帰時刻６０４として用い、復帰を検知した故障内容を示すエラーコード６０２に対応する故障履歴情報６０１のレコードに記録する。そして、ＣＰＵ３０２は、図７に示すフローチャートの処理を終了する。
【００２４】
図８は、不揮発メモリ３２１に記録するデータテーブルの一例を示す図である。
データテーブル８０１は、第一の電源２０５及び第二の電源２０７からの電源供給が停止されても継続して保持すべきデータの集合である。データテーブル８０１は、例えば、ユーザやサービスマンによって設定される、操作部２０１の第一の故障表示部２０９にメッセージを表示する際の表示言語８０２や、ＩＰアドレス８０３を保持する。本実施形態においては、データテーブル８０１は、更に電源供給停止時刻８０４を保持する。
【００２５】
本実施形態における一実施形態の情報処理の流れを図９及び図１０のフローチャートを用いて説明する。
図９は、第二の電源２０７が電源供給を停止する情報処理の流れを示すフローチャートである。
ステップＳ２００１において、ＣＰＵ３０２は、電源ＯＦＦや省エネモードへの移行要求を待つ。電源ＯＦＦや省エネモードへの移行要求に伴い、電源制御部３０７が第二の電源２０７からの電源供給を停止する場合、ＣＰＵ３０２は、処理をステップＳ２００２に進める。
ステップＳ２００２において、ＣＰＵ３０２は、ＲＴＣ３１８から最新の時刻Ｔ３を取得する。そして、ＣＰＵ３０２は、処理をステップＳ２００３に進める。
ステップＳ２００３において、ＣＰＵ３０２は、ステップＳ２００２において取得した時刻Ｔ３を電源供給停止時刻８０４として不揮発メモリ３２１に記録する。そして、ＣＰＵ３０２は、図９に示すフローチャートの処理を終了する。
【００２６】
図１０は、第二の電源２０７が電源供給を開始する情報処理の流れを示すフローチャートである。図４、５で説明した通り、第一の故障検知部４０３、第二の故障検知部４０４が起動に関する故障を検知した場合は、図９のフローチャートの処理の終了から図１０の処理開始までに故障記録部１２０２の第二の不揮発メモリ１２０５に故障履歴が記録される。
ステップＳ３００１において、ＣＰＵ３０２は、電源ＯＮや省エネモードからの復帰要求を待つ。電源ＯＮや省エネモードからの復帰要求に伴い、電源制御部３０７が第二の電源２０７からの電源供給を開始する場合、ＣＰＵ３０２は、処理をステップＳ３００２に進める。
ステップＳ３００２において、ＣＰＵ３０２は、故障が発生しているか否かを判定する。故障が発生していると判断した場合、ＣＰＵ３０２は、ステップＳ３００３に処理を進める。故障が発生していないと判断した場合、ＣＰＵ３０２は、図１０に示すフローチャートの処理を終了する。
ステップＳ３００３において、ＣＰＵ３０２は、起動不良に関する故障内容を示すエラーコード６０２を決定する。ステップＳ３００４に処理を進める。
【００２７】
ステップＳ３００４において、ＣＰＵ３０２は、故障記録部１２０２の第二の不揮発メモリ１２０５にアクセスし、起動に関する故障履歴の有無を確認する。ＣＰＵ３０２は、起動に関する故障履歴があると判断した場合、ＲＴＣを利用できないタイミングで発生した故障であるため、処理をステップＳ３００７に進める。ＣＰＵ３０２は、起動に関する故障履歴がないと判断した場合、処理をステップＳ３００５に進める。
ステップＳ３００５において、ＣＰＵ３０２は、ＲＴＣ３１８から最新の時刻Ｔ４を取得する。そして、ＣＰＵ３０２は、処理をステップＳ３００６に進める。
ステップＳ３００６において、ＣＰＵ３０２は、検知した故障内容を示すエラーコード６０２と故障の発生時刻６０３とを、不揮発メモリ３２１に故障履歴情報６０１として記録する。そして、ＣＰＵ３０２は、図１０に示すフローチャートの処理を終了する。故障の発生時刻６０３は、ステップＳ１００２において取得した時刻Ｔ４である。
ステップＳ３００７において、ＣＰＵ３０２は、第二の電源２０７が電源供給を停止する際に、ステップＳ２００３において記録しておいた時刻Ｔ３を不揮発メモリ３２１の電源供給停止時刻８０４から取得する。そして、ＣＰＵ３０２は、処理をステップＳ３００８に進める。
ステップＳ３００８において、ＣＰＵ３０２は、ＲＴＣ３１８から最新の時刻Ｔ５を取得する。そして、ＣＰＵ３０２は、処理をステップＳ３００９に進める。
ステップＳ３００９において、ＣＰＵ３０２は、エラーコード６０２、故障の発生時刻６０３、故障の復帰時刻６０４を用い、故障履歴情報６０１のレコードに記録する。そして、ＣＰＵ３０２は、図１０に示すフローチャートの処理を終了する。このときのエラーコード６０２はステップＳ３００３において決定されたエラーコードである。故障の発生時刻６０３は、ステップＳ３００７において取得された時刻Ｔ３である。故障の復帰時刻６０４は、ステップＳ３００８において取得された時刻Ｔ５である。
【００２８】
以上、説明したように、本実施形態においては、ＲＴＣを内部に有するＣＰＵが一旦は正常起動しなかった場合においても、電源供給の開始と停止の時刻とを記録することで、再度正常起動が実現した際に故障発生時刻を限定できる。そのため、起動しないときがまれであっても故障時刻を特定するための情報を記録でき、効率的な故障解析が可能となる。
【００２９】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００３０】
以上、上述した各実施形態によれば、故障発生時にリアルタイムクロックを使用して時刻情報を取得できない状況においても、代わりの手法を用いて故障発生時刻を記録することができる。
【符号の説明】
【００３１】
１０４  ＭＦＰ
２０２  制御部
３０２  ＣＰＵ
【図１】
2016143234.tif 000003
【図２】
2016143234.tif 000004
【図３】
2016143234.tif 000005
【図４】
2016143234.tif 000006
【図５】
2016143234.tif 000007
【図６】
2016143234.tif 000008
【図７】
2016143234.tif 000009
【図８】
2016143234.tif 000010
【図９】
2016143234.tif 000011
【図１０】
2016143234.tif 000012