(57)【特許請求の範囲】
【請求項１】
情報処理装置に対して仲介モジュールを介して接続されたモジュール又はデバイスであるアクセス先に対してＣＰＵ（Central  Processing  Unit）から送信された信号を受け付け、当該信号をデコードして、前記アクセス先に介在する前記仲介モジュール及びログ記憶制御手段に送信する仲介手段と、
前記仲介手段が送信した前記信号を用いて、前記アクセス先と当該アクセス先に対するアクセスの内容とを示すアクセスログを生成して、当該アクセスログを第１記憶手段に記憶させるログ記憶制御手段と、
ウォッチドッグタイマにより設定された第１の所定の時間を経過しても前記ＣＰＵからの応答がない場合、前記ＣＰＵに対してエラーが発生したことを検出する検出手段と、
前記エラーが発生したことが検出された場合に、前記第１記憶手段に記憶された前記アクセスログを第２記憶手段に記憶させるメモリ制御手段と、
前記ウォッチドッグタイマにより経過時間のカウントがされてからそのカウントがリセットされるまでの期間を、前記アクセスログを前記第１記憶手段に記憶させる期間として設定する設定手段と、
を備え、
前記ログ記憶制御手段は、前記設定手段が設定した前記期間に生成した前記アクセスログを各々第１記憶手段に記憶させる
ことを特徴とする情報処理装置。
【請求項２】
情報処理装置に対して仲介モジュールを介して接続されたモジュール又はデバイスであるアクセス先に対してＣＰＵ（Central  Processing  Unit）から送信された信号を受け付け、当該信号をデコードして、前記アクセス先に介在する前記仲介モジュール及びログ記憶制御手段に送信する仲介手段と、
前記仲介手段が送信した前記信号を用いて、前記アクセス先と当該アクセス先に対するアクセスの内容とを示すアクセスログを生成して、当該アクセスログを第１記憶手段に記憶させるログ記憶制御手段と、
ウォッチドッグタイマにより設定された第１の所定の時間を経過しても前記ＣＰＵからの応答がない場合、前記ＣＰＵに対してエラーが発生したことを検出する検出手段と、
前記エラーが発生したことが検出された場合に、前記第１記憶手段に記憶された前記アクセスログを第２記憶手段に記憶させるメモリ制御手段と
前記ウォッチドッグタイマにより経過時間のカウントがされてからそのカウントがリセットされるまでの期間を１回分として、所定の回数を前記アクセスログを前記第１記憶手段に記憶させる期間として設定する設定手段と、
を備え、
前記ログ記憶制御手段は、前記設定手段が設定した前記所定の回数に応じた期間に生成した前記アクセスログを各々第１記憶手段に記憶させる
ことを特徴とする情報処理装置。
【請求項３】
前記第２記憶手段は、前記情報処理装置に着脱自在に装着される
ことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記設定手段は、前記アクセスログを前記第２記憶手段に記憶させる対象の前記アクセス先を設定し、
前記メモリ制御手段は、前記設定手段が設定した前記アクセス先に対して前記第１記憶手段に記憶された前記アクセスログを第２記憶手段に記憶させる
ことを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の情報処理装置と、
前記ＣＰＵの制御の下、記録媒体に画像を形成する画像形成手段とを備える
ことを特徴とする画像形成装置。
【請求項６】
情報処理装置に対して仲介モジュールを介して接続されたモジュール又はデバイスであるアクセス先に対してＣＰＵ（Central  Processing  Unit）から送信された信号を受け付け、当該信号をデコードして、前記アクセス先に介在する前記仲介モジュール及びログ記憶制御手段に送信する仲介手段と、
前記仲介手段が送信した前記信号を用いて、前記アクセス先と当該アクセス先に対するアクセスの内容とを示すアクセスログを生成して、当該アクセスログを第１記憶手段に記憶させるログ記憶制御手段と、
ウォッチドッグタイマにより設定された第１の所定の時間を経過しても前記ＣＰＵからの応答がない場合、前記ＣＰＵに対してエラーが発生したことを検出する検出手段と、
前記エラーが発生したことが検出された場合に、前記第１記憶手段に記憶された前記アクセスログを第２記憶手段に記憶させるメモリ制御手段と、
を備える情報処理装置で用いられるコンピュータを、
前記ウォッチドッグタイマにより経過時間のカウントがされてからそのカウントがリセットされるまでの期間を、前記アクセスログを前記第１記憶手段に記憶させる期間として設定する設定手段として機能させるための情報処理プログラムであって、
前記ログ記憶制御手段は、前記設定手段が設定した前記期間に生成した前記アクセスログを各々第１記憶手段に記憶させる
情報処理プログラム。
【請求項７】
情報処理装置に対して仲介モジュールを介して接続されたモジュール又はデバイスであるアクセス先に対してＣＰＵ（Central  Processing  Unit）から送信された信号を受け付け、当該信号をデコードして、前記アクセス先に介在する前記仲介モジュール及びログ記憶制御手段に送信する仲介手段と、
前記仲介手段が送信した前記信号を用いて、前記アクセス先と当該アクセス先に対するアクセスの内容とを示すアクセスログを生成して、当該アクセスログを第１記憶手段に記憶させるログ記憶制御手段と、
ウォッチドッグタイマにより設定された第１の所定の時間を経過しても前記ＣＰＵからの応答がない場合、前記ＣＰＵに対してエラーが発生したことを検出する検出手段と、
前記エラーが発生したことが検出された場合に、前記第１記憶手段に記憶された前記アクセスログを第２記憶手段に記憶させるメモリ制御手段と
を備える情報処理装置で用いられるコンピュータを、
前記ウォッチドッグタイマにより経過時間のカウントがされてからそのカウントがリセットされるまでの期間を１回分として、所定の回数を前記アクセスログを前記第１記憶手段に記憶させる期間として設定する設定手段として機能させるための情報処理プログラムであって、
前記ログ記憶制御手段は、前記設定手段が設定した前記所定の回数に応じた期間に生成した前記アクセスログを各々第１記憶手段に記憶させる
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、画像形成装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来より、ＣＰＵ（Central Processing Unit）における通信を仲介するＣＰＵＩ／Ｆ（Interface）を有する情報処理装置がある。このような情報処理装置の中には、エラーの発生時にＣＰＵがアクセスした内容を解析して、エラーの要因となった箇所を発見可能なものがある。例えば、ＣＰＵＩ／Ｆに計測器を接続し、ＣＰＵＩ／Ｆを計測器で観測して、その観測結果から、エラーの発生時にＣＰＵがアクセスした内容を解析して、エラーの要因となった箇所を発見するという方法がある。しかし、この方法では、観測結果から、エラーの要因となった箇所を発見する作業が非常に困難であった。また、ＣＰＵを内蔵する情報処理装置では、ＣＰＵＩ／Ｆに計測器を接続することが困難であり、ＣＰＵがアクセスした内容を解析することが困難であった。
【０００３】
近年では、計測器をＣＰＵＩ／Ｆに接続するのではなく、ＣＰＵがアクセスした内容を解析するアクセス分析回路をＣＰＵＩ／Ｆの近傍に設け、アクセス分析回路が解析した結果（解析結果）をログとしてＲＡＭ（Random Access Memory）に保存し、保存したログを出力する技術が開発されている（例えば特許文献１〜３参照）。具体的には、ＣＰＵが内蔵又は外付けされ、外付けＲＡＭ、ＲＯＭ（Read Only Memory）、ＩＯデバイス及びシリアル通信用のインターフェースを備える情報処理装置において、これらのうちＣＰＵによってアクセスされたのがいずれであるのかをアドレスに基づいて解析するデコード回路とＣＰＵがアクセスした内容を解析する回路と、解析結果をログとして出力するログ受送信ＤＭＡ（Direct Memory Access）とを更に備える。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の技術では、解析結果は、ＣＰＵからの指示によって取得されてログとして保存される。このため、ＣＰＵが正常に動作している間は、ログの保存が行えるが、ＣＰＵに対してエラーが発生してＣＰＵが正常に動作できない状態となった場合には、エラーに関する重大なエラーが直前に発生した場合でも、ログの保存を行うことができない恐れがある。また、ＣＰＵに対してエラーが発生した後、ウォッチドッグタイマなどにより一定時間後にリセットをかけ、情報処理装置を復旧することができるが、後にログを解析する際、どのタイミングでエラーが発生しているのかが分からず、解析するために時間がかかってしまう恐れがあった。
【０００５】
本発明は、上記に鑑みてなされたものであって、ＣＰＵに対してエラーが発生した場合、ＣＰＵの正常な動作が確認された後エラーが発生した直後までにＣＰＵがアクセス先に対してアクセスした内容を保存可能な情報処理装置、画像形成装置及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、情報処理装置であって、情報処理装置に対して仲介モジュールを介して接続されたモジュール又はデバイスであるアクセス先に対してＣＰＵ（Central  Processing  Unit）から送信された信号を受け付け、当該信号をデコードして、前記アクセス先に介在する前記仲介モジュール及びログ記憶制御手段に送信する仲介手段と、前記仲介手段が送信した前記信号を用いて、前記アクセス先と当該アクセス先に対するアクセスの内容とを示すアクセスログを生成して、当該アクセスログを第１記憶手段に記憶させるログ記憶制御手段と、ウォッチドッグタイマにより設定された第１の所定の時間を経過しても前記ＣＰＵからの応答がない場合、前記ＣＰＵに対してエラーが発生したことを検出する検出手段と、前記エラーが発生したことが検出された場合に、前記第１記憶手段に記憶された前記アクセスログを第２記憶手段に記憶させるメモリ制御手段と、前記ウォッチドッグタイマにより経過時間のカウントがされてからそのカウントがリセットされるまでの期間を、前記アクセスログを前記第１記憶手段に記憶させる期間として設定する設定手段と、を備え、前記ログ記憶制御手段は、前記設定手段が設定した前記期間に生成した前記アクセスログを各々第１記憶手段に記憶させることを特徴とする。
【０００７】
また、本発明は、情報処理装置に対して仲介モジュールを介して接続されたモジュール又はデバイスであるアクセス先に対してＣＰＵ（Central  Processing  Unit）から送信された信号を受け付け、当該信号をデコードして、前記アクセス先に介在する前記仲介モジュール及びログ記憶制御手段に送信する仲介手段と、前記仲介手段が送信した前記信号を用いて、前記アクセス先と当該アクセス先に対するアクセスの内容とを示すアクセスログを生成して、当該アクセスログを第１記憶手段に記憶させるログ記憶制御手段と、ウォッチドッグタイマにより設定された第１の所定の時間を経過しても前記ＣＰＵからの応答がない場合、前記ＣＰＵに対してエラーが発生したことを検出する検出手段と、前記エラーが発生したことが検出された場合に、前記第１記憶手段に記憶された前記アクセスログを第２記憶手段に記憶させるメモリ制御手段と、を備える情報処理装置で用いられるコンピュータを、前記ウォッチドッグタイマにより経過時間のカウントがされてからそのカウントがリセットされるまでの期間を、前記アクセスログを前記第１記憶手段に記憶させる期間として設定する設定手段として機能させるための情報処理プログラムであって、前記ログ記憶制御手段は、前記設定手段が設定した前記期間に生成した前記アクセスログを各々第１記憶手段に記憶させる情報処理プログラムである。
【発明の効果】
【０００８】
本発明によれば、ＣＰＵに対してエラーが発生した場合、ＣＰＵの正常な動作が確認された後エラーが発生した直後までにＣＰＵがアクセス先に対してアクセスした内容を保存可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施の形態に係る情報処理装置５０のハードウェア構成を例示する図である。
【図２】図２は、ＣＰＵ１００がＣＰＵＩ／Ｆ１０２を介してアクセス先に対する信号を送信する際の信号のやり取りを例示する図である。
【図３】図３は、各仲介モジュールに対して割り当てられているアドレスを示すメモリマップを例示する図である。
【図４】図４は、アクセスログを内部ＲＡＭ１１２に記憶させる際の信号のやり取りを例示する図である。
【図５】図５は、ＣＰＵ１００に対してエラーが発生したことが検出された場合の信号のやり取りを例示する図である。
【図６】図６は、第２の実施の形態に係る情報処理装置５０のハードウェア構成を例示する図である。
【図７】図７は、ＣＰＵＩ／Ｆ１０２がＣＰＵ１００に対してエラーが発生していることを検出してからＣＰＵ１００がリセットされるまでの間の信号のやり取りを例示する図である。
【発明を実施するための形態】
【００１０】
以下に添付図面を参照して、この発明にかかる情報処理装置、画像形成装置及び情報処理プログラムの一実施の形態を詳細に説明する。
【００１１】
[第１の実施の形態]
ここで、情報処理装置のハードウェア構成について図１を用いて説明する。本実施の形態の情報処理装置５０は、ＣＰＵ１００と、アクセスログ記録部１０１と、ＣＰＵＩ／Ｆ（interface）１０２と、内部バスＩ／Ｆ１０３と、ローカルバスコントローラ１０４と、システムコントローラ１０５と、モジュールＡ１０６と、モジュールＢ１０７と、シリアルコントローラ１０８と、モジュールＣ１１０と、メモリコントローラ１１１と、内部ＲＡＭ（Random Access Memory）１１２と、ＤＤＲ２ＳＤＲＡＭ２２０と、ＵＳＢ（Universal Serial Bus）コントローラ２０６と、ＲＯＭ２０７と、不揮発性ＲＡＭ２０８と、機能デバイスＡ２０９とを備える。ＣＰＵ１００とＣＰＵＩ／Ｆ１０２とはＣＰＵバス２００を介して接続される。ＣＰＵＩ／Ｆ１０２と、アクセスログ記録部１０１、内部バスＩ／Ｆ１０３、ローカルバスコントローラ１０４及びメモリコントローラ１１１とはバス（不図示）を介して接続される。内部バスＩ／Ｆ１０３と、システムコントローラ１０５、モジュールＡ１０６、モジュールＢ１０７、シリアルコントローラ１０８及びモジュールＣ１１０との各モジュールは内部バス２０３を介して接続される。ＵＳＢコントローラ２０６、ＲＯＭ２０７、不揮発性ＲＡＭ２０８及び機能デバイスＡ２０９とローカルバスコントローラ１０４の各デバイスとは、ローカルバス２０１を介して接続される。
【００１２】
ＣＰＵ１００は、ＲＯＭ２０７に記憶された各種プログラムを実行することにより、情報処理装置５０全体を制御し、各種機能を実現させる。ＣＰＵ１００は、情報処理装置５０に接続されている各モジュール又は各デバイスに対してアクセスする際に、ＣＰＵバス２００及びＣＰＵＩ／Ｆ１０２を介してアクセス先に対して信号を送信する。システムコントローラ１０５は、ＷＤＴを有し、ＣＰＵ１００が正常に動作しているかを監視して、ＣＰＵ１００に対してエラーが発生していることを検出する。システムコントローラ１０５は、検出手段の一例である。監視やエラーの検出の方法については後述する。ＲＯＭ２０７は、ＣＰＵ１００に実行される各種プログラムやＣＰＵ１００がリセットされた際にＣＰＵバス２００の制御を行うための制御用データを記憶している。内部ＲＡＭ１１２は、各種プログラムや各種データを一時的に記憶する。具体的には例えば、内部ＲＡＭ１１２は、ＣＰＵ１００のアクセス先と当該アクセス先に対するアクセスの内容とを示すアクセスログを一時的に記憶する。アクセスログの詳細については後述する。不揮発性ＲＡＭ２０８は、各種データを記憶する。
【００１３】
モジュールＡ１０６、モジュールＢ１０７及びモジュールＣ１１０は、ＣＰＵ１００の制御の下、それぞれ所定の機能を実現させる。シリアルコントローラ１０８は、外部装置３００との通信を制御する。機能デバイスＡ２０９は、ＣＰＵ１００の制御の下、所定の機能を実現させる。ＵＳＢコントローラ２０６は、ＵＳＢの規格に準じたインターフェースである。ＤＤＲ２ＳＤＲＡＭ２２０は、各種プログラムや各種データを記憶する。内部バスＩ／Ｆ１０３は、内部バス２０３を介して接続される各モジュールとの通信を制御する仲介モジュールであり、これらの各モジュールのレジスタを制御する。ローカルバスコントローラ１０４は、ローカルバス２０１を介して接続されている各デバイスへのアクセスを制御する仲介モジュールである。また、ローカルバスコントローラ１０４は、ＤＭＡ１０９を有する。ＤＭＡ１０９は、ＣＰＵ１００を介さずに、内部のメモリである内部ＲＡＭ１１２や、外部のメモリである不揮発性ＲＡＭ２０８にアクセス可能なメモリコントローラであり、内部ＲＡＭ１１２に記憶されたデータを不揮発性ＲＡＭ２０８に送信したり、不揮発性ＲＡＭ２０８に記憶されたデータを内部ＲＡＭ１１２に送信したりする。ＤＭＡ１０９は、メモリ制御手段の一例である。メモリコントローラ１１１は、ＤＤＲコントローラを介して接続されるＤＤＲ２ＳＤＲＡＭ２２０へのアクセスを制御する仲介モジュールである。
【００１４】
ＣＰＵＩ／Ｆ１０２は、デコード回路を有し、ＣＰＵバス２００を介して接続されるＣＰＵ１００と、情報処理装置５０に対して仲介モジュールを介して接続されたモジュール又はデバイスとの通信を制御する。具体的には例えば、ＣＰＵＩ／Ｆ１０２は、ＣＰＵ１００からアクセス先に対して送信された信号をデコード回路によりデコードして、当該信号をアクセス先に介在するモジュールに送信すると共に、アクセスログ記録部１０１に送信する。ＣＰＵＩ／Ｆ１０２は、仲介手段の一例である。尚、ＣＰＵ１００とＣＰＵＩ／Ｆ１０２との間でやりとりを行う信号の形式は、ＣＰＵ１００の仕様によって異なる。アクセスログ記録部１０１は、ＣＰＵＩ／Ｆ１０２から送信された信号に基づいて、アクセスログを内部ＲＡＭ１１２に記憶させる。アクセスログ記録部１０１は、ログ記憶制御手段の一例である。
【００１５】
以上のような構成において、ＣＰＵ１００が、ＣＰＵＩ／Ｆ１０２を介して、内部バスＩ／Ｆ１０３、ローカルバスコントローラ１０４又はメモリコントローラ１１１に接続される各モジュールや各デバイスと通信する際の信号のやり取りについて図２を用いて説明する。尚、本実施の形態においては、情報処理装置５０がマスタであり、ＣＰＵ１００がスレーブとして機能する例について説明する。また、同図では、データの書込みが要求される例が示されている。ＣＰＵ１００は、アクセス先として、モジュールＡ１０６、モジュールＢ１０７、シリアルコントローラ１０８、モジュールＣ１１０、ＵＳＢコントローラ２０６、ＲＯＭ２０７、不揮発性ＲＡＭ２０８、機能デバイスＡ２０９及びＤＤＲ２ＳＤＲＡＭ２２０のうちいずれかのアドレスを指定したアドレス及び書込みの対象のデータを示すアドレス信号と、当該アドレスに対するデータの書込みを要求するコマンド及びステータスを示すコマンドステータス信号とを送信する。ＣＰＵＩ／Ｆ１０２は、ＣＰＵバス２００を介してアドレス信号及びコマンドステータス信号を受信すると、これらの信号をデコードして、アクセス先に介在する仲介モジュールが、ＣＰＵＩ／Ｆ１０２に接続されている３つのモジュールである内部バスＩ／Ｆ１０３、ローカルバスコントローラ１０４、メモリコントローラ１１１のいずれかであるのかを判断する。
【００１６】
図３は、各仲介モジュールに対して割り当てられているアドレスを示すメモリマップを例示する図である。具体的には、ＣＰＵＩ／Ｆ１０２は、アドレス信号によって示されるアドレスが、同図に示されるように、「0000_0000」〜「0x07FF_FFFF」の範囲にある場合、アクセス先に介在する仲介モジュールはメモリコントローラ１１１であると判断し、当該アドレスが「0x0800_0000」〜「0x10FF_FFFF」の範囲にある場合、アクセス先に介在する仲介モジュールは内部バス２０３であると判断し、当該アドレスが「0x1100_0000」〜「0ｘ1FFF_FFFF」の範囲にある場合、アクセス先に介在する仲介モジュールはローカルバスコントローラ１０４であると判断する。
【００１７】
そして、ＣＰＵＩ／Ｆ１０２は、アクセス先に介在すると判断した仲介モジュール（アクセス先介在モジュールという）の使用状況の確認を行うために、要求信号をアクセス先介在モジュールに送信する。アクセス先介在モジュールは、要求信号を受信すると、自身が使用可能な状態である場合には、許可信号をＣＰＵＩ／Ｆ１０２に送信する。ＣＰＵＩ／Ｆ１０２は、アクセス先介在モジュールから許可信号を受信すると、アドレス信号及びコマンドステータス信号をデコードしてアクセス先介在モジュールへ送信する。アクセス先介在モジュールは、デコードされたアドレス信号及びコマンドステータス信号を受信すると、これを更にデコードして、自身に接続されているモジュール又はデバイスのいずれがアクセス先であるのかを判断する。アクセス先の判断は、上述のＣＰＵＩ／Ｆ１０２と同様に、図３に例示されるメモリマップに基づいて行う。そして、アクセス先介在モジュールは、アクセス先であると判断したモジュール又はデバイスに対して、アドレスを示すアドレス信号、データを示すデータ信号、チップセレクト信号及びデータの書込みを要求するライトイネーブル信号を生成してこれを送信する。この結果、指定されたアドレスに対してデータが書き込まれる。図２では、アクセス先介在モジュールがローカルバスコントローラ１０４であり、アクセス先が機能デバイスＡ２０９である場合の例が示されており、Ｓ１〜Ｓ３の順で信号のやり取りが行われる。尚、指定したアドレスからのデータの読出しについても略同様であるため、その説明を省略する。但し、この場合、ＣＰＵ１００からは、アクセス先のアドレスを指定したアドレスを示すアドレス信号と、当該アドレスからのデータの読出しを要求するコマンド及びステータスを示すコマンドステータス信号とが送信され、アクセス先から読み出されたデータがＣＰＵ１００に送信される。
【００１８】
次に、以上のようにＣＰＵ２００から送信される信号に基づいてアクセスログを内部ＲＡＭ１１２に記憶させる際の信号のやり取りについて図４を用いて説明する。ＣＰＵＩ／Ｆ１０２は、ＣＰＵバス２００を介して上述のアドレス信号及びコマンドステータス信号を受信すると、これらの信号をデコードして、アクセス先介在モジュールに送信するだけではなく、アクセスログ記録部１０１に送信する。アクセスログ記録部１０１は、ＣＰＵ１００から送信されたアドレス信号及びコマンドステータス信号をＣＰＵＩ／Ｆ１０２を介して受信すると、アドレス信号及びコマンドステータス信号をデコードして、アドレス信号によって示されるアドレス及びデータと、当該データのバイト数と、コマンドステータス信号によって示されるコマンドとを抽出して、これらを示すデータを所定の形式で生成して、これを内部ＲＡＭ１１２に送信すると共に、これを書き込むアドレスを示すアドレス信号を内部ＲＡＭ１１２に送信する。所定の形式とは、例えば、アドレスを示すビットとして24bit、データを示すビットとして32bit、バイト数を示すビットとして2bit、コマンドを示すビットとして1bit及びその他識別に用いるビットとして5bitの合計64bitの形式である。このような形成のデータをアクセスログ記録部１０１は生成する。このデータが内部ＲＡＭ１１２に送信され、アドレス信号によって指定されたアドレスに書き込まれることにより、当該データが、ＣＰＵ１００のアクセス先とアクセスの内容とを示すアクセスログとして保存される。
【００１９】
尚、アクセスログの保存を行う期間は、例えば、後述するシステムコントローラ１０５でＷＤＴの機能によりＣＰＵ１００を監視する所定の時間が設定されて経過時間のカウントが開始されてからそのカウントがリセットされるまでの期間とする。この期間毎に、内部ＲＡＭ１１２に記憶されたアクセスログは、新たなアクセスログによって上書きされる。
【００２０】
そして、本実施の形態においては、ＣＰＵ１００に対してエラーが発生したことが検出された場合に、ＤＭＡ１０９が、以上のようにして内部ＲＡＭ１１２に記憶されたアクセスログを、ＣＰＵ１００を介さずに、不揮発性ＲＡＭ２０８に移動させる。この場合の信号のやり取りについて図５を用いて説明する。ＣＰＵ１００に対して発生するエラーとは、ＣＰＵ１００自身のエラーも含む。同図では、システムコントローラ１０５がＣＰＵ１００に対してエラーが発生していることを検出してからＣＰＵ１００をリセットするまでの間の信号のやり取りが示されている。システムコントローラ１０５は、ＣＰＵ１００を監視する所定の時間（例えばＡ）を初期設定にて設定し、ＷＤＴの機能を有効にすると、所定のクロック信号に合わせて経過時間をカウントしてその値をレジスタ（カウンタレジスタという）に書き込む。ＣＰＵ１００は、設定された所定の時間内にシステムコントローラ１０５のカウンタレジスタの値をリセットする書き込みを行う。この結果、システムコントローラ１０５のカウンタレジスタの値は「０」に戻り、システムコントローラ１０５は、ＷＤＴの機能により、所定のクロック信号に合わせた経過時間のカウントを新たに行う。ところが、所定の時間が経過してもＣＰＵ１００からの応答がない場合、即ち、ＣＰＵ１００によりシステムコントローラ１０５のカウンタレジスタの値がリセットされない場合、システムコントローラ１０５は、ＣＰＵ１００に対してエラーが発生していることを検出する。そして、システムコントローラ１０５は、エラー信号を生成してローカルバスコントローラ１０４に送信する（ＳＴ１）。ローカルバスコントローラ１０４は、エラー信号を受信すると、ＣＰＵＩ／Ｆ１０２に対してビジー信号を送信し（ＳＴ２）、同時にローカルバスコントローラ１０４内のＤＭＡ１０９にアクセスログを移動するための要求信号を送信する（ＳＴ３）。ビジー信号は解除されるまで送信され続け、その間、ＤＭＡ１０９はＣＰＵＩ／Ｆ１０２からの信号は受け付けず、アクセスログの保存を優先する。
【００２１】
具体的には、ＤＭＡ１０９は、ＣＰＵ１００を介さずに、内部ＲＡＭ１１２においてアクセスログを記憶するアドレスとして予め設定されたアドレスを示すアドレス信号と、当該アドレスに記憶されているデータの読出しを要求するイネーブル信号とを内部ＲＡＭ１１２に送信する（ＳＴ４）。内部ＲＡＭ１１２は、アドレス信号及びイネーブル信号を受信すると、アドレス信号によって示されるアドレスにアクセスログとして記憶されているデータを示すデータ信号をＤＭＡ１０９に送信する（ＳＴ５）。尚、内部ＲＡＭ１１２は、アクセスログを記憶するアドレスとして予め設定されたアドレスからアクセスログとして記憶されているデータの全てを一度にＤＭＡ１０９に送信するのではなく、複数に分割して送信する。ＤＭＡ１０９は内部ＲＡＭ１１２から送信されたデータ信号を受信すると、ローカルバス２０１に接続されている不揮発性ＲＡＭ２０８において書き込み対象のアドレスを示すアドレス信号と、当該アドレスに対するデータの書込みを要求するライトイネーブル信号と、データ信号とを送信する（ＳＴ６）。その後、ＤＭＡ１０９は、書き込み対象のアドレスをデータの分だけインクリメントすることにより更新して、内部ＲＡＭ１１２から新たなデータ信号を受信すると、更新したアドレスを示すアドレス信号と、ライトイネーブル信号と、新たなデータ信号とを送信する。内部ＲＡＭ１１２においてアクセスログを記憶するアドレスとして予め設定されたアドレスの終端に達するまで、内部ＲＡＭ１１２からＤＭＡ１０９を介して不揮発性ＲＡＭ２０８にデータが送信されて移動される。そして、ＤＭＡ１０９から不揮発性ＲＡＭ２０８へのデータの移動が完了すると（ＳＴ７）、システムコントローラ１０５は、ＣＰＵ１００にリセット信号を送信する（ＳＴ８）。ＣＰＵ１００は、リセット信号を受信すると、リセットされる。その後、ＣＰＵ１００は、ＲＯＭ２０７から制御用データを読み出して、当該制御用データ用いてＣＰＵバス２００の制御を行って、リセット状態を開放して、復旧する。
【００２２】
以上のようにして、ＣＰＵＩ／Ｆ１０２がＣＰＵ１００からアクセス先に対して送信されたアドレス信号及びコマンドステータス信号に基づいてアクセスログ記録部１０１を介して内部ＲＡＭ１１２にアクセスログを記憶させ、システムコントローラ１０５がＣＰＵ１００に対してエラーが発生したことを検出すると、ＣＰＵ１００をリセットする前に、ＤＭＡ１０９が、内部ＲＡＭ１１２に記憶されたアクセスログを不揮発性ＲＡＭ２０８に移動させる。このような構成によれば、ＣＰＵ１００の正常な動作が確認された後からエラーが発生した直後までの間のアクセスログをＣＰＵ１００を介さずに不揮発性ＲＡＭ２０８に保存することができ、当該アクセスログを解析することができる。このため、エラーの発生の原因を特定しやすくなる。また、各モジュールや各デバイスに対するアクセスの内容を解析することと全体のシーケンシャルな動作の内容を解析することとが可能となる。また、内部ＲＡＭ１１２として大容量のものを必要としないため、情報処理装置５０の構成を大規模化せずに、その製造コストを下げることができる。
【００２３】
[第２の実施の形態]
次に、情報処理装置、画像形成装置及び情報処理プログラムの第２の実施の形態について説明する。なお、上述の第１の実施の形態と共通する部分については、同一の符号を使用して説明したり、説明を省略したりする。
【００２４】
上述の第１の実施の形態においては、ＣＰＵ１００に対してエラーが発生していることを検出することを、ＷＤＴの機能により行ったが、本実施の形態においては、ＣＰＵバス２００に対する状態の検出により行う。図６は、本実施の形態に係る情報処理装置５０のハードウェア構成を例示する図である。本実施の形態においては、ＣＰＵＩ／Ｆ１０２がアクセスタイミングカウンタを有する点が第１の実施の形態と異なる。アクセスタイミングカウンタは、ＣＰＵ１００からアクセス先に信号が送信される際にＣＰＵバス２００がアサートされてからの経過時間をカウントする。ＣＰＵＩ／Ｆ１０２は、アクセスタイミングカウンタによってカウントされた経過時間が所定の時間を超えても、ＣＰＵ１００から応答がない場合、即ち、ＣＰＵ１００によりＣＰＵバス２００がディアサートされない場合、ＣＰＵ１００とＣＰＵバス２００との通信にエラーが発生しており、ＣＰＵ１００に対してエラーが発生したことを検出する。
【００２５】
次に、本実施の形態において、ＣＰＵＩ／Ｆ１０２がＣＰＵ１００に対してエラーが発生していることを検出してからＣＰＵ１００がリセットされるまでの間の信号のやり取りについて図７を用いて説明する。システムコントローラ１０５は、ＣＰＵ１００からアドレス信号及びコマンドステータス信号が送信される際にＣＰＵバス２００がアサートされてからアクセスタイミングカウンタによってカウントされた経過時間が所定の時間（例えばＢ）を超えても、ＣＰＵ１００によりＣＰＵバス２００がディアサートされない場合、ＣＰＵ１００に対してエラーが発生したことを検出する（ＳＴ１０）。そして、システムコントローラ１０５は、アサートエラー信号を生成してシステムコントローラ１０５に送信する（ＳＴ１１）。システムコントローラ１０５は、アサートエラー信号を受信すると（ＳＴ１２）、上述の第１の実施の形態と同様にして、ＣＰＵＩ／Ｆ１０２に対してビジー信号を送信し（ＳＴ２）、同時にローカルバスコントローラ１０４内のＤＭＡ１０９にアクセスログを移動するための要求信号を送信する（ＳＴ３）。その後のＳＴ４以降については上述の第１の実施の形態と同様である。
【００２６】
以上のような構成によって、ＣＰＵ１００に対してエラーが発生したことを検出すると、ＣＰＵ１００をリセットする前に、ＣＰＵ１００の正常な動作が確認された後からエラーが発生した直後までの間のアクセスログをＣＰＵ１００を介さずに不揮発性ＲＡＭ２０８に保存することができ、当該アクセスログを解析することができる。
【００２７】
[変形例]
なお、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。また、以下に例示するような種々の変形が可能である。
【００２８】
上述した各実施の形態において、情報処理装置５０で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【００２９】
上述した各実施の形態において、情報処理装置５０は、コピー機能、プリンタ機能、スキャナ機能およびファクシミリ機能のうち少なくとも１つの機能を有する画像形成装置であっても良い。この場合、画像形成装置は、上述したＣＰＵの制御の下、紙などの記録媒体に画像を形成する画像形成部を有する。画像形成部は、例えば、スキャナにより原稿から読み取った画像を用いて記録媒体に画像を形成するコピーユニットや、白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタなどのプリンタエンジンや、ＦＡＸ通信により受信した画像データによって記録媒体に画像を形成するファックスユニットである。
【００３０】
上述した各実施の形態において、アクセスログの記憶に関する条件を設定可能にしても良い。当該条件の設定は、当該条件の設定に関する外部ピンを情報処理装置５０に接続させ、当該外部ピンへの入力に応じて行うようにしても良いし、情報処理装置５０の所定のレジスタの値の書き換えによって行うようにしても良い。また、情報処理装置５０がキーボードやマウスなどの操作入力部を備え、当該操作入力部を介したユーザやサービスマン操作入力に応じて、当該条件を設定可能であっても良い。アクセスログの記憶に関する条件としては、例えば以下の例が挙げられる。
【００３１】
例えば、上述の各実施の形態においては、ＣＰＵ１００のエラーを検出した場合に内部ＲＡＭ１１２に記憶されたアクセスログを不揮発性ＲＡＭ２０８に移動させたが、これをせずに、アクセスログを内部ＲＡＭ１１２に記憶させたままにするようにしても良い。そして、アクセスログを不揮発性ＲＡＭ２０８に移動させるか否かを選択可能に設定するようにしても良い。この場合、例えば、アクセスログを不揮発性ＲＡＭ２０８に移動させるか否かを設定するためのユーザインターフェースを提供するプログラムがＲＯＭ２０７に記憶されており、ＣＰＵ１００が当該プログラムの実行によってユーザインターフェースを提供し、操作入力部を介した操作入力に応じて当該レジスタの値を書き換えて、当該設定を行う。これは設定手段の一例である。そして、ＤＭＡ１０９は、ＣＰＵ１００のエラーが検出された場合、当該レジスタの値を参照して、アクセスログを不揮発性ＲＡＭ２０８に移動させることが設定されている場合に、内部ＲＡＭ１１２に記憶させたアクセスログを不揮発性ＲＡＭ２０８に送信する。
【００３２】
また、上述の各実施の形態において、内部ＲＡＭ１１２にアクセスログを保存する期間は、システムコントローラ１０５でＷＤＴの機能によりＣＰＵ１００を監視する所定の時間が設定されて経過時間のカウントが開始されてからそのカウントがリセットされるまでの期間としたが、この期間を変更可能にするようにしても良い。尚、内部ＲＡＭ１１２の容量によって、変更可能な期間は異なる。例えば、システムコントローラ１０５でＣＰＵ１００を監視する所定の時間が設定されてから新たに所定の値の時間が設定されるまでを１回分として、その回数を、内部ＲＡＭ１１２にアクセスログを保存する期間に対応させて設定するようにしても良い。この場合、例えば、内部ＲＡＭ１１２にアクセスログを保存する期間を設定するためのユーザインターフェースを提供するプログラムがＲＯＭ２０７に記憶されており、ＣＰＵ１００が当該プログラムの実行によってユーザインターフェースを提供し、操作入力部を介した操作入力に応じて当該レジスタの値を書き換えて、当該設定を行う。これは設定手段の一例である。アクセスログ記録部１０１は、当該レジスタの値を参照して、当該値に対応する期間に生成したアクセスログを各々内部ＲＡＭ１１２に記憶させる。
【００３３】
上述の各実施の形態において、アクセスログを内部ＲＡＭ１１２に記憶させる対象のアクセス先を限定するようにしても良い。例えば、アクセス先に介在するモジュールがローカルバスコントローラ１０４である場合のアクセスログのみを内部ＲＡＭ１１２に記憶させるようにしても良いし、内部バスＩ／Ｆ１０３に接続されている一部のモジュールに対するアクセスログのみを内部ＲＡＭ１１２に記憶させるようにしても良い。この場合、例えば、アクセスログを内部ＲＡＭ１１２に記憶させる対象のアクセス先を限定するためのプログラムがＲＯＭ２０７に記憶されており、ＣＰＵ１００が当該プログラムの実行によってユーザインターフェースを提供し、操作入力部を介した操作入力に応じて、当該設定を行う。そして、ＤＭＡ１０９は、ＣＰＵ１００のエラーが検出された場合に、ＣＰＵ１００により予め設定されたアクセス先に対するアクセスログのみ不揮発性ＲＡＭ２０８に送信する。例えば、エラーの発生の要因のモジュールやデバイスが絞られることがあるため、以上の構成によれば、そのモジュールやデバイスに対するアクセスの内容を重点的にチェックし、解析を容易にできるようになる。
【００３４】
また、この他、アクセスログを記憶させる内部ＲＡＭ１１２の記憶領域を小さく設定して、記憶すべきアクセスログ全体の容量を少なくすることで、システムコントローラ１０５がＣＰＵ１００を監視する所定の時間をより長く設定することが可能である。
【００３５】
また、上述の各実施の形態において、ＣＰＵ１００のエラーが発生した場合に、ＣＰＵ１００をリセットする前に、内部ＲＡＭ１１２へ記憶されたアクセスログを不揮発性ＲＡＭ２０８に移動するが、その後、ＣＰＵ１００がリセットされ復旧された後に、ＣＰＵ１００に対してエラーが再度発生した場合、これに応じて、内部ＲＡＭ１１２へ記憶されたアクセスログを不揮発性ＲＡＭ２０８に移動すると、不揮発性ＲＡＭ２０８に以前に移動されたアクセスログが上書きされてしまう。これを避けるために、不揮発性ＲＡＭ２０８に記憶されたアクセスログを上書きしないように設定可能にしても良い。この場合、例えば、アクセスログの上書きが可能か否かを設定するためのプログラムがＲＯＭ２０７に記憶されており、ＣＰＵ１００が当該プログラムの実行によってユーザインターフェースを提供し、操作入力部を介した操作入力に応じて当該レジスタの値を書き換えて、当該設定を行う。これは設定手段の一例である。そして、ＤＭＡ１０９は、ＣＰＵ１００のエラーが検出された場合、当該レジスタの値を参照して、アクセスログの上書きが不可能であると設定されている場合に、内部ＲＡＭ１１２に記憶させたアクセスログについて、不揮発性ＲＡＭ２０８に既に記憶されているアクセスログと異なるアドレスを指定して送信する。このような構成によれば、不揮発性ＲＡＭ２０８に移動されたアクセスログを有効に取得可能である。
【００３６】
また、上述の各実施の形態において、ＣＰＵ１００に対してエラーが発生していない場合でもアクセスログを取得したい場合には、外部ピンからの入力やレジスタの設定によって、内部ＲＡＭ１１２に記憶されたアクセスログを不揮発性ＲＡＭ２０８に移動可能にしても良い。この場合、例えば、内部ＲＡＭ１１２に記憶されたアクセスログを不揮発性ＲＡＭ２０８に移動するためのプログラムがＲＯＭ２０７に記憶されており、ＣＰＵ１００が当該プログラムの実行によってユーザインターフェースを提供し、操作入力部を介した操作入力に応じて当該レジスタの値を書き換えて、当該設定を行う。これは設定手段の一例である。ＤＡＭ１０９は、当該レジスタの値を参照して、当該値に応じて、内部ＲＡＭ１１２に記憶されたアクセスログを不揮発性ＲＡＭ２０８に送信する。このような構成によれば、ユーザやサービスマンは所望のタイミングでアクセスログを取得可能になる。
【００３７】
上述の各実施の形態においては、ＣＰＵ１００をリセットするのは、内部ＲＡＭ１１２記憶されたアクセスログをＤＭＡ１０９が不揮発性ＲＡＭ２０８に全て送信し終わってからであるとしたが、ＤＭＡ１０９がアクセスログを不揮発性ＲＡＭ２０８に送信している最中であっても良い。この場合、リセット時におけるＣＰＵ１００の動作と内部ＲＡＭ１１２に記憶されたアクセスログを不揮発性ＲＡＭ２０８へ送信する動作とをローカルバスコントローラ１０４が調停して制御すれば良い。ＣＰＵ１００が復旧後もローカルバスコントローラ１０４がＣＰＵ１００から送信される信号の受け付けの調整を行う。
【００３８】
上述の各実施の形態において、内部ＲＡＭ１１２に記憶されたアクセスログを移動させるのは、不揮発性ＲＡＭ２０８であるとしたが、これに限らない。例えば、内部ＲＡＭ１１２に記憶されたアクセスログを不揮発性ＲＡＭ２０８ではなく、ＵＳＢコントローラ２０６に着脱自在に接続されたＵＳＢメモリに移動させるようにして良い。また、不揮発性ＲＡＭ２０８に移動されたアクセスログをＵＳＢメモリに更に移動させるようにしても良い。この場合、例えば、ＵＳＢメモリがＵＳＢコントローラ２０６を介してローカルバス２０１に接続されると、セット信号がローカルバスコントローラ１０４に送信され、この信号をトリガとして、ローカルバスコントローラ１０４は、不揮発性ＲＡＭ２０８に記憶されたアクセスログをＵＳＢメモリに送信することにより移動させるようにしても良い。
【００３９】
このような構成によれば、アクセスログが記憶されたＵＳＢメモリを当該情報処理装置５０から取り外して他の情報処理装置に接続させて、当該他の情報処理装置で、当該ＵＳＢメモリに記憶されたアクセスログを解析することができる。例えば、当該情報処理装置５０がユーザで用いられており、サービスマンが当該情報処理装置５０でアクセスログの解析することが困難である場合、ＵＳＢメモリを介してアクセスログを取得してサービスマンの使用可能な他の情報処理装置でアクセスログの解析を行うことが可能になる。
【００４０】
上述の各実施の形態において、情報処理装置５０がマスタであり、ＣＰＵ１００がスレーブとして機能する例について説明したが、情報処理装置５０がスレーブであり、ＣＰＵ１００がマスタとして機能する場合にも各実施の形態の構成を適用可能である。
【符号の説明】
【００４１】
５０  情報処理装置
１００  ＣＰＵ
１０１  アクセスログ記録部
１０３  内部バスＩ／Ｆ
１０４  ローカルバスコントローラ
１０５  システムコントローラ
１０６  モジュールＡ
１０７  モジュールＢ
１０８  シリアルコントローラ
１０９  ＤＭＡ
１１０  モジュールＣ
１１１  メモリコントローラ
１１２  内部ＲＡＭ
２００  ＣＰＵバス
２０１  ローカルバス
２０３  内部バス
２０６  ＵＳＢコントローラ
２０７  ＲＯＭ
２０８  不揮発性ＲＡＭ
２０９  機能デバイスＡ
【先行技術文献】
【特許文献】
【００４２】
【特許文献１】特開２００６−１１９６９号公報
【特許文献２】特開２００８−２８７３１９号公報
【特許文献３】特開２００４−１８５３１８号公報
【図１】
0005533097.tif 000002
【図２】
0005533097.tif 000003
【図３】
0005533097.tif 000004
【図４】
0005533097.tif 000005
【図５】
0005533097.tif 000006
【図６】
0005533097.tif 000007
【図７】
0005533097.tif 000008