(57)【要約】【課題】ログを適切に保存することのできる画像処理装置および画像処理装置の制御プログラムを提供する。【解決手段】画像処理装置としてのＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）は、画像処理装置の動作を制御するＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）がロードされるシステムメモリ１１２と、画像処理を行う特定用途向け集積回路であるメモリコントローラー１１６と、メモリコントローラー１１６の制御によりデータの書き込みおよび読み出しが行われるサブメモリ１１７とを備える。ＭＦＰは、ＯＳの動作が停止するエラーである致命的エラーがＯＳに発生した場合に、システムメモリ１１２にログを記憶し、システムメモリ１１２に記憶したログを、メモリコントローラー１１６を用いてサブメモリ１１７に移動する。【選択図】図２
2017004095.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置の動作を制御するオペレーティングシステムがロードされるシステムメモリと、
画像処理を行う特定用途向け集積回路と、
前記集積回路の制御によりデータの書き込みおよび読み出しが行われるサブメモリと、
前記オペレーティングシステムの動作が停止するエラーである致命的エラーが前記オペレーティングシステムに発生した場合に、前記システムメモリにログを記憶するログ記憶手段と、
前記ログ記憶手段にて記憶したログを、前記集積回路を用いて前記サブメモリに移動する移動手段とを備えた、画像処理装置。
【請求項２】
前記移動手段は、前記システムメモリのアドレス、前記サブメモリのオフセットアドレス、およびログのデータサイズを指定して、前記集積回路に対してデータの移動を指示する指示手段を含む、請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置のプロセッサーは、前記システムメモリに対して直接的にデータの書き込みを行い、前記サブメモリに対して直接的にデータの書き込みを行わない、請求項１または２に記載の画像処理装置。
【請求項４】
前記移動手段は、前記ログ記憶手段にて記憶したログを、前記サブメモリ内における実行中のジョブに関連するデータが記憶された領域とは異なる領域に移動する、請求項１〜３のいずれかに記載の画像処理装置。
【請求項５】
前記移動手段にて前記サブメモリにログを移動した後で、前記オペレーティングシステムのリブートを行うリブート手段と、
前記リブート手段にてリブートを行う場合に、前記移動手段にて前記サブメモリへ移動したログを前記システムメモリに転送する転送手段とをさらに備えた、請求項１〜４のいずれかに記載の画像処理装置。
【請求項６】
ジョブ実行時に、ジョブの種類に関連したベクタ番号であって、前記サブメモリ内の領域に対応するベクタ番号を記憶する番号記憶手段をさらに備え、
前記移動手段は、前記ログ記憶手段にて記憶したログを、前記ベクタ番号に対応する前記サブメモリ内の領域に移動し、
前記リブート手段にてリブートを行う場合に、前記ベクタ番号に対応する前記サブメモリ内の領域からログを読み出す読出手段をさらに備え、
前記転送手段は、前記読出手段にて読み出したログを前記システムメモリに転送する、請求項５に記載の画像処理装置。
【請求項７】
前記移動手段は、
前記ログ記憶手段にて記憶したログのサイズを符号化するサイズ符号化手段と、
前記サイズ符号化手段にて符号化したログのサイズを前記サブメモリに送信するサイズ送信手段と、
前記ログ記憶手段にて記憶したログを符号化するログ符号化手段と、
前記ログ符号化手段にて符号化したログを前記サブメモリに送信するログ送信手段とを含み、
前記転送手段は、
前記サイズ送信手段にて前記サブメモリに送信したログのサイズを復号化するサイズ復号化手段と、
前記ログ送信手段にて前記サブメモリに送信したログを復号化するログ復号化手段とを含む、請求項５または６に記載の画像処理装置。
【請求項８】
前記転送手段にて前記サブメモリへ転送したログを不揮発媒体に保存する保存手段と、
前記保存手段にてログを前記不揮発媒体に保存した場合に、前記不揮発媒体にログを保存したことを通知する通知手段とをさらに備えた、請求項５〜７のいずれかに記載の画像処理装置。
【請求項９】
画像処理装置の動作を制御するオペレーティングシステムがロードされるシステムメモリと、画像処理を行う特定用途向け集積回路と、前記集積回路の制御によりデータの書き込みおよび読み出しが行われるサブメモリとを備えた、画像処理装置の制御プログラムであって、
前記オペレーティングシステムの動作が停止するエラーである致命的エラーが前記オペレーティングシステムに発生した場合に、前記システムメモリにログを記憶するログ記憶ステップと、
前記ログ記憶ステップにて記憶したログを、前記集積回路を用いて前記サブメモリに移動する移動ステップとをコンピューターに実行させる、画像処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理装置の制御プログラムに関する。より特定的には、本発明は、画像処理装置および画像処理装置の制御プログラムに関する。
【背景技術】
【０００２】
電子写真式の画像形成装置には、スキャナー機能、ファクシミリ機能、複写機能、プリンターとしての機能、データ通信機能、およびサーバー機能を備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）、ファクシミリ装置、複写機、プリンターなどがある。
【０００３】
近年のＭＦＰにおいて、各種ＨＷ（Ｈａｒｄｗａｒｅ）を制御するためのＳＷ（Ｓｏｆｔｗａｒｅ）であるＦＷ（Ｆｉｒｍｗａｒｅ）は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）と、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と、制御ＦＷなどにより構成されている。
【０００４】
ＭＦＰのＯＳとしては、たとえばＬｉｎｕｘ（登録商標）のような一般的なＯＳが利用されている。ＯＳは、システムメモリへのアクセス、割込み処理、またはタスク制御などを行う。またＯＳは、ネットワークデバイス、不揮発メモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などのＨＷデバイスを制御するドライバーを有している。
【０００５】
ＯＳがＨＷデバイスを制御する際に、設計時には想定できないエラーが発生することが、開発者には知られている。想定できないエラーが発生した場合には、それが致命的エラーとなってＯＳの動作が停止することがある。
【０００６】
ＯＳに致命的エラーが発生した場合に、開発者はその原因を解析する必要がある。ＯＳに致命的エラーが発生した原因を解析するための技術として、たとえばＷｉｎｄｏｗｓ（登録商標）のブルースクリーンや、Ｌｉｎｕｘ（登録商標）のｐａｎｉｃなどの解析情報ログを出力するシステムがある。このうちＬｉｎｕｘ（登録商標）のｐａｎｉｃは、ＭＦＰの各種ＨＷからの割込みを無効化し、ＯＳの動作を停止する。Ｌｉｎｕｘ（登録商標）のｐａｎｉｃは、Ｌｉｎｕｘ（登録商標）  Ｋｅｒｎｅｌのメッセージ出力システムであるｋｍｓｇ＿ｄｕｍｐを用いて、通常はＭＦＰ上（端末上）にログを出力し、その後システムを停止する。Ｌｉｎｕｘ（登録商標）のｐａｎｉｃは、予め必要な設定が行われている場合には、システムの停止後にＯＳを再起動する。
【０００７】
開発者は、クライアントのＭＦＰ（市場機）から離れている。このため、クライアントのＭＦＰのＯＳに致命的エラーが発生し、クライアントのＭＦＰ上にログが出力されても、開発者はそのログを取得することはできなかった。そこで、ログやエラー状態のダンプを装置内に保存する技術が提案されている。
【０００８】
下記特許文献１には、リブート動作時にメモリをクリアしない設定であるメモリクリア設定を記憶しておくメモリクリアＯＮ／ＯＦＦ制御回路と、メモリクリア設定を参照して、クリアしない設定である場合に、メモリ上に格納されている記憶を削除しない制御を行うメモリ制御回路と、ＯＳをＨＤＤから起動するか否かの設定を記憶しておくファイルロード設定フラグを有するＢＩＯＳを記憶するＦＲＯＭとを備えたサーバーを開示している。このサーバーは、メモリ制御回路がメモリをクリアしない制御を行った場合に、ファイルロード設定フラグを参照して、ＯＳをＨＤＤから起動しない設定である場合に、メモリ上に格納されている記憶に基づいてＯＳを再開する。
【０００９】
下記特許文献２には、主記憶装置と副記憶装置とを備える基地局装置が開示されている。この基地局装置において、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）は、所定処理があるごとに、主記憶装置に所定処理に関する情報を書き込み、主記憶装置の初期化を行うことなく、情報処理装置のリブートを行う。ＣＰＵは、リブートが行われた後に、主記憶装置に記憶される所定処理に関する情報を副記憶装置に書き込む。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２０１０−６６８６９号公報
【特許文献２】特開２００６−１２０１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上記従来の技術では、ログ（エラー状態のダンプを含む）をシステムメモリ上に記憶し、システムメモリに記憶したログをクリアしない設定を行った状態でリブートを行い、リブート後にシステムメモリに記憶したログを不揮発メモリなどに保存している。
【００１２】
しかし、致命的エラーは、ＯＳが管理するＨＷのうちいずれかのＨＷが原因となる場合が多い。ＯＳに致命的エラーが発生している状態では、ＨＷが想定外の動作を行うことに起因して、システムメモリに保存していたログがリブート後に失われるおそれがある。特に、ＣＰＵのバスを通じて管理されるシステムメモリに対しては、致命的エラーに起因して動作が不安定になったＨＷやドライバプログラムが、誤ったアドレス指定をしてデータを書き込むおそれがあり、システムメモリに記憶したログが別のデータで上書きされるおそれがある。
【００１３】
そこで、システムメモリ内に、ログを保存するための領域をシステムメモリ内に確保する方法が考えられる。しかし、致命的エラーが発生するタイミングは予測できないため、この方法では常に一定サイズの領域をシステムメモリ内に確保しておく必要がある。その結果、この方法では、システムメモリ内で使用可能な領域が制限される。
【００１４】
また、ＮＶＲＡＭ（Ｎｏｎ−Ｖｏｌａｔｉｌｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やフラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）などの不揮発メモリがＣＰＵのバスに接続されている場合には、ＯＳの動作が停止して、これらの不揮発メモリの書き込み用ドライバーＳＷが使えない場合にも、ＣＰＵから不揮発メモリに対して比較的簡単にアクセスすることができ、不揮発メモリにログを保存することができる。しかし、ＭＦＰは、コストダウンのために必要最小限の大きさの不揮発メモリしか搭載していない場合が多く、ログを保存するための専用の領域を確保することは難しい。また、ＭＦＰは不揮発メモリを搭載していない場合も多い。さらに、フラッシュＲＯＭへのデータの書き込みおよびフラッシュＲＯＭからのデータの読み出しは、ＯＳで管理するセクタ以外を用いて、ＯＳのドライバーを用いない専用制御にて、セクタ単位で行われる。たとえば、保存するログのサイズが変わった場合に適切に対処するためには、ログのサイズに合わせて、セクタ数と各セクタのサイズとをＳＷで管理する必要になる。その結果、制御方法が複雑化し、開発コストの増加を招く。また揮発メモリと比較して不揮発メモリは、書き込み時間が長いため、致命的エラー発生からリブートまでの処理時間の増加によるサービス停止期間の増加も招く。
【００１５】
以上のように、ＯＳに致命的エラーが発生した場合に、ログを適切に保存することができなかった。それにより、開発者は致命的エラーの原因を解析することができなかった。
【００１６】
本発明は、上記課題を解決するためのものであり、その目的は、ＯＳに致命的エラーが発生した場合に、ログを適切に保存することのできる画像処理装置および画像処理装置の制御プログラムを提供することである。
【課題を解決するための手段】
【００１７】
本発明の一の局面に従う画像処理装置は、画像処理装置の動作を制御するオペレーティングシステムがロードされるシステムメモリと、画像処理を行う特定用途向け集積回路と、集積回路の制御によりデータの書き込みおよび読み出しが行われるサブメモリと、オペレーティングシステムの動作が停止するエラーである致命的エラーがオペレーティングシステムに発生した場合に、システムメモリにログを記憶するログ記憶手段と、ログ記憶手段にて記憶したログを、集積回路を用いてサブメモリに移動する移動手段とを備える。
【００１８】
上記画像処理装置において好ましくは、移動手段は、システムメモリのアドレス、サブメモリのオフセットアドレス、およびログのデータサイズを指定して、集積回路に対してデータの移動を指示する指示手段を含む。
【００１９】
上記画像処理装置において好ましくは、画像処理装置のプロセッサーは、システムメモリに対して直接的にデータの書き込みを行い、サブメモリに対して直接的にデータの書き込みを行わない。
【００２０】
上記画像処理装置において好ましくは、移動手段は、ログ記憶手段にて記憶したログを、サブメモリ内における実行中のジョブに関連するデータが記憶された領域とは異なる領域に移動する
【００２１】
上記画像処理装置において好ましくは、移動手段にてサブメモリにログを移動した後で、オペレーティングシステムのリブートを行うリブート手段と、リブート手段にてリブートを行う場合に、移動手段にてサブメモリへ移動したログをシステムメモリに転送する転送手段とをさらに備える。
【００２２】
上記画像処理装置において好ましくは、ジョブ実行時に、ジョブの種類に関連したベクタ番号であって、サブメモリ内の領域に対応するベクタ番号を記憶する番号記憶手段をさらに備え、移動手段は、ログ記憶手段にて記憶したログを、ベクタ番号に対応するサブメモリ内の領域に移動し、リブート手段にてリブートを行う場合に、ベクタ番号に対応するサブメモリ内の領域からログを読み出す読出手段をさらに備え、転送手段は、読出手段にて読み出したログをシステムメモリに転送する。
【００２３】
上記画像処理装置において好ましくは、移動手段は、ログ記憶手段にて記憶したログのサイズを符号化するサイズ符号化手段と、サイズ符号化手段にて符号化したログのサイズをサブメモリに送信するサイズ送信手段と、ログ記憶手段にて記憶したログを符号化するログ符号化手段と、ログ符号化手段にて符号化したログをサブメモリに送信するログ送信手段とを含み、転送手段は、サイズ送信手段にてサブメモリに送信したログのサイズを復号化するサイズ復号化手段と、ログ送信手段にてサブメモリに送信したログを復号化するログ復号化手段とを含む。
【００２４】
上記画像処理装置において好ましくは、転送手段にてサブメモリへ転送したログを不揮発媒体に保存する保存手段と、保存手段にてログを不揮発媒体に保存した場合に、不揮発媒体にログを保存したことを通知する通知手段とをさらに備える。
【００２５】
本発明の他の局面に従う画像処理装置の制御プログラムは、画像処理装置の動作を制御するオペレーティングシステムがロードされるシステムメモリと、画像処理を行う特定用途向け集積回路と、集積回路の制御によりデータの書き込みおよび読み出しが行われるサブメモリとを備えた、画像処理装置の制御プログラムであって、オペレーティングシステムの動作が停止するエラーである致命的エラーがオペレーティングシステムに発生した場合に、システムメモリにログを記憶するログ記憶ステップと、ログ記憶ステップにて記憶したログを、集積回路を用いてサブメモリに移動する移動ステップとをコンピューターに実行させる。
【発明の効果】
【００２６】
本発明によれば、ログを適切に保存することのできる画像処理装置および画像処理装置の制御プログラムを提供することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１の実施の形態におけるＭＦＰ１の構成を模式的に示す断面図である。
【図２】本発明の第１の実施の形態におけるＭＦＰ１の構成を模式的に示すブロック図である。
【図３】本発明の第１の実施の形態のＭＦＰ１におけるＦＷ構成を模式的に示すブロック図である。
【図４】本発明の第１の実施の形態において、パニック関数１３４が出力するログを模式的に示す図である。
【図５】本発明の第１の実施の形態において、ＯＳ１３２に致命的エラーが発生した場合におけるＭＦＰ１の動作を示すフローチャートである。
【図６】本発明の第２の実施の形態におけるサブメモリ１１７内の複数の領域の各々のオフセットアドレスと、用途との関係を示す表である。
【図７】本発明の第２の実施の形態において、ベクタ番号と、実行中のジョブの種類と、リブート時のベクタアドレスとなるサブメモリ１１７内のオフセットアドレスとの関係を示す表である。
【図８】本発明の第２の実施の形態において、ベクタ番号を保存する場合のＭＦＰ１の動作を示すフローチャートである。
【図９】本発明の第２の実施の形態において、ＯＳ１３２に致命的エラーが発生した場合におけるＭＦＰ１の動作を示すフローチャートである。
【図１０】本発明の第３の実施の形態において、ＯＳ１３２に致命的エラーが発生した場合におけるＭＦＰ１の動作を示すフローチャートである。
【図１１】図１０のステップＳ３０１のサブルーチンである。
【図１２】図１０のステップＳ３０３のサブルーチンである。
【図１３】本発明の第４の実施の形態において、ＯＳ１３２のリブート後にログを不揮発媒体に保存する際のＭＦＰ１の動作を示すフローチャートである。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態について、図面に基づいて説明する。
【００２９】
以下の実施の形態では、画像処理装置がＭＦＰである場合について説明する。画像処理装置は、たとえばプリンター、複写機、またはファクシミリなどのＭＦＰ以外の画像形成装置であってもよい。また画像処理装置は、たとえばＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、サーバー、またはスマートフォンなどであってもよい。
【００３０】
［第１の実施の形態］
【００３１】
図１は、本発明の第１の実施の形態におけるＭＦＰ１の構成を模式的に示す断面図である。
【００３２】
図１を参照して、本実施の形態におけるＭＦＰ１（画像処理装置の一例）は、画像形成部１００と、画像形成部１００の上部に設置された画像読取部２００とから構成される。画像形成部１００は、タンデム型カラー画像形成装置と称せられるものであり、４組のイメージングユニット１０Ｙ、１０Ｍ、１０Ｃ、および１０Ｋと、ベルト状の中間転写体６と、一次転写部７Ｙ、７Ｍ、７Ｃ、および７Ｋと、二次転写部７Ａと、定着装置８と、給紙搬送部２０とを含んでいる。イメージングユニット１０Ｙ、１０Ｍ、１０Ｃ、および１０Ｋ、ベルト状の中間転写体６、一次転写部７Ｙ、７Ｍ、７Ｃ、および７Ｋ、ならびに二次転写部７Ａは、記録紙Ｐ（用紙）上にトナー像を形成するトナー像形成部を構成している。
【００３３】
イメージングユニット１０Ｙ、１０Ｍ、１０Ｃ、および１０Ｋの各々における現像装置４Ｙ、４Ｍ、４Ｃ、および４Ｋの各々は、Ｙ（イエロー）、Ｍ（マゼンタ）、Ｃ（シアン）、およびＫ（ブラック）の各色の小粒径トナーと、キャリアとからなる二成分現像剤を内包する。
【００３４】
イメージングユニット１０Ｙ、１０Ｍ、１０Ｃ、および１０Ｋのうち、ここではＹのトナーによる画像を形成するイメージングユニット１０Ｙを例にとって説明する。イメージングユニット１０Ｙは、像担持体としての感光体ドラム１Ｙと、帯電器２Ｙと、露光部３Ｙと、現像装置４Ｙと、クリーニング装置５Ｙとを含んでいる。感光体ドラム１Ｙは、一次転写部７Ｙと対向する位置に配置されている。感光体ドラム１Ｙの周囲には、帯電器２Ｙ、露光部３Ｙ、現像装置４Ｙ、およびクリーニング装置５Ｙが配置されている。
【００３５】
感光体ドラム１Ｙは図１中矢印Ａ１で示す方向に回転する。帯電器２Ｙは感光体ドラム１Ｙ上に電荷を供給し、感光体ドラム１Ｙの表面を一様に帯電させる。露光部３Ｙは、画像形成の指示を受けた画像データに基づいて、一様に帯電した感光体ドラム１Ｙ上にレーザ光を走査する。これにより、感光体ドラム１Ｙ上に静電潜像が形成される。現像装置４Ｙは、感光体ドラム１Ｙ上にトナーを供給する。これにより、感光体ドラム１Ｙ上の静電潜像が現像され、感光体ドラム１Ｙ上にトナー像が形成される。感光体ドラム１Ｙ上の残存トナーはクリーリング装置５Ｙによって除去され、廃トナー収容部に回収される。
【００３６】
イメージングユニット１０Ｙと同様に、Ｍのトナーによる画像を形成するイメージングユニット１０Ｍは、感光体ドラム１Ｍと、帯電器２Ｍと、露光部３Ｍと、現像装置４Ｍと、クリーニング装置５Ｍとを含んでいる。Ｃのトナーによる画像を形成するイメージングユニット１０Ｃは、感光体ドラム１Ｃと、帯電器２Ｃと、露光部３Ｃと、現像装置４Ｃと、クリーニング装置５Ｃとを含んでいる。Ｋのトナーによる画像を形成するイメージングユニット１０Ｋは、感光体ドラム１Ｋと、帯電器２Ｋと、露光部３Ｋと、現像装置４Ｋと、クリーニング装置５Ｋとを含んでいる。
【００３７】
中間転写体６は、複数のローラーに巻回され、回転可能に支持されている。イメージングユニット１０Ｙ、１０Ｍ、１０Ｃ、および１０Ｋより形成された各色の画像は、矢印Ａ２で示す方向に回転する中間転写体６上に、一次転写部７Ｙ、７Ｍ、７Ｃ、７Ｋの各々により逐次転写される（一次転写）。これにより、中間転写体６上には合成されたカラー画像が形成される。
【００３８】
給紙搬送部２０の給紙カセット２１内に収容された非感熱紙である記録紙Ｐは、給紙ローラー２２により給紙され、給紙ローラー２３、２４、２５、２６、およびレジストローラ２７などを経て、二次転写部７Ａに搬送される。そして二次転写部７Ａによって、中間転写体６上のカラー画像が記録紙Ｐ上に転写される（二次転写）。これにより記録紙Ｐ上にトナー像が形成される。二次転写部７Ａにより記録紙Ｐにカラー画像を転写し、記録紙Ｐを曲率分離した後の中間転写体６は、クリーニング装置５Ａにより転写残トナーが除去される。
【００３９】
カラー画像が転写された記録紙Ｐは、定着装置８に搬送される。定着装置８は、二次転写部７Ａにて転写（形成）されたトナー像を記録紙Ｐ上に定着（固定）する。定着装置８は、加圧ローラー８１と、加熱ローラー８２と、定着ベルト８３と、定着ローラー８４とを含んでいる。加熱ローラー８２には加熱ヒータ（図示無し）が内蔵されている。定着ローラー８４は、加圧ローラー８１と加熱ローラー８２との間に設けられており、定着ベルト８３は加熱ローラー８２および定着ローラー８４に巻き掛けられている。加圧ローラー８１は、モーター（図示無し）によって回転駆動され、定着ローラー８４に巻き掛けられた定着ベルト８３の部分と接触してニップ部を形成している。
【００４０】
定着装置８にてトナー像が定着された記録紙Ｐは、排紙ローラー２８により排出されて、機外の排紙トレイ２９上に載置される。
【００４１】
画像読取部２００は、自動原稿送り装置２０１と、原稿画像走査露光装置２０２とを含んでいる。自動原稿送り装置２０１の原稿台上に載置された原稿ｄは、自動原稿送り装置２０１の搬送部により搬送される。搬送部により搬送された原稿ｄは、原稿画像走査露光装置２０２の光学系によりその片面または両面の画像が走査露光され、ラインイメージセンサＣＣＤに読み込まれる。コピージョブを実行する場合、ラインイメージセンサＣＣＤにより光電変換されたアナログ信号は、アナログ処理、Ａ／Ｄ変換、シェーディング補正、および画像圧縮処理などが行われた後、露光部３Ｙ、３Ｍ、３Ｃ、および３Ｋの各々に入力される。
【００４２】
なお、上述においてはＭＦＰ１がカラー画像の画像形成装置である場合について説明したが、ＭＦＰ１はモノクロ画像の画像形成装置であってもよい。
【００４３】
図２は、本発明の第１の実施の形態におけるＭＦＰ１の構成を模式的に示すブロック図である。
【００４４】
図２を参照して、ＭＦＰ１は、プロセッサー１１１と、システムメモリ１１２と、フラッシュメモリ１１３と、不揮発ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１４と、外部記憶装置１１５と、メモリコントローラー１１６（特定用途向け集積回路の一例）と、サブメモリ１１７と、操作表示部１１８と、ネットワークＩ／Ｆ１１９と、リムーバル記憶装置１２０とをさらに備えている。プロセッサー１１１と、システムメモリ１１２、フラッシュメモリ１１３、不揮発ＲＡＭ１１４、外部記憶装置１１５、メモリコントローラー１１６、操作表示部１１８、ネットワークＩ／Ｆ１１９、およびリムーバル記憶装置１２０の各々とは、バスによって相互に接続されている。
【００４５】
プロセッサー１１１は、ＣＰＵからなっている。プロセッサー１１１は、ＭＦＰ１全体の動作を制御する。プロセッサー１１１は、制御プログラムに基づいて処理を行う。
【００４６】
システムメモリ１１２は、たとえばＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、プロセッサー１１１の作業用のメモリである。システムメモリ１１２には、プロセッサー１１１が直接的にアドレスを指定しデータの保存を行う。システムメモリ１１２にはＯＳがロードされる。
【００４７】
フラッシュメモリ１１３は、プロセッサー１１１が実行するＯＳなどの制御プログラムや、各種ソフトウェアなどを記憶する。
【００４８】
不揮発ＲＡＭ１１４は、時計ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）など電池の電力を利用して各種データを記憶する。
【００４９】
外部記憶装置１１５は、各種ソフトウェアや画像データなどを記憶する。
【００５０】
メモリコントローラー１１６は、画像処理を行うＡＳＩＣである。メモリコントローラー１１６は、サブメモリ１１７へのデータの書き込みおよびサブメモリ１１７からのデータの読み出しを制御する。またメモリコントローラー１１６は、画像読取部２００（スキャナー）から取得したデータに対して画像処理を行い、必要なタイミングで画像処理後のデータを画像形成部１００（プリントエンジン）に送信する。
【００５１】
サブメモリ１１７は、たとえばＤＲＡＭであり、画像処理の対象となるデータなどを一時的に保存する。ＭＦＰ１は、画像形成を行う際のタイミング制御を行うためのメモリバッファ空間としてのサブメモリ１１７を有しており、サブメモリ１１７を用いて画像の出力を行う。サブメモリ１１７は、画像の回転、拡大、または合成などの画像変換処理や、画像読取部２００からの画像の入力を高速化するための一時バッファなど多様な目的で使用される。
【００５２】
操作表示部１１８は、表示パネルに操作画面や各種情報を表示する。また操作表示部１１８は、各種操作を受け付ける。
【００５３】
ネットワークＩ／Ｆ１１９は、ネットワークを通じてサーバー１２１などの外部機器との間で各種の情報を送受信する。
【００５４】
リムーバル記憶装置１２０は、可搬記憶媒体１２２へのデータの書き込みおよび可搬記憶媒体１２２からのデータの読み出しを制御する。
【００５５】
図３は、本発明の第１の実施の形態のＭＦＰ１におけるＦＷ構成を模式的に示すブロック図である。
【００５６】
図３を参照して、ＭＦＰ１は、各種ＨＷを制御するためのソフトウェアであるＦＷとして、ＢＩＯＳ１３１と、ＯＳ１３２と、アプリ（制御ＦＷ）１３３とを備えている。ＢＩＯＳ１３１は、初期化やＨＷの制御を行う。ＯＳ１３２は、ＭＦＰ１の基本的な動作を制御および管理する。アプリ１３３は、ＭＦＰ１の固有動作を制御する。ＯＳ１３２は、システムメモリ１１２、フラッシュメモリ１１３、不揮発ＲＡＭ１１４、および外部記憶装置１１５の各々へのデータの書き込み、およびシステムメモリ１１２、フラッシュメモリ１１３、不揮発ＲＡＭ１１４、および外部記憶装置１１５の各々からのデータの読み出しを制御する。ＭＦＰ１は、ＯＳ１３２としてたとえばＬｉｎｕｘ（登録商標）などの一般的なＯＳを利用する。
【００５７】
サブメモリ１１７は、ＯＳ１３２の直接的な制御下にはない。プロセッサー１１１は、システムメモリ１１２に対して直接的にデータの書き込みを行い、システムメモリ１１２から直接的にデータの読み出しを行う。一方でプロセッサー１１１は、サブメモリ１１７に対して直接的にデータの書き込みを行わず、サブメモリ１１７から直接的にデータの読み出しを行わない。
【００５８】
ＭＦＰ１は、サブメモリ１１７へのアクセスを制御するための専用のＳＷである専用ＡＳＩＣドライバー（メモリコントローラー１１６のためのドライバー）を、アプリ１３３の一つとして実装している。ＯＳ１３２は、専用ＡＳＩＣドライバーを通じてメモリコントローラー１１６を制御する。メモリコントローラー１１６は、サブメモリ１１７へのデータの書き込みおよびサブメモリ１１７からの読み出しを制御する。
【００５９】
メモリコントローラー１１６は、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）の機能を有している。すなわち、メモリコントローラー１１６は、プロセッサー１１１からＤＭＡ転送指示を受け付けた場合に、プロセッサー１１１による制御を受け付けずに、システムメモリ１１２とサブメモリ１１７との間でデータの転送を行う。またメモリコントローラー１１６は、ＤＭＡ転送と並行して各種画像処理を行うことも可能である。
【００６０】
ＤＭＡ転送指示もまた、専用ＡＳＩＣドライバーを通じて行われる。メモリコントローラー１１６に対してＤＭＡ転送指示を行う場合、プロセッサー１１１は、転送方向、システムメモリ１１２のアドレス、サブメモリ１１７のオフセットアドレス、および転送データ（ここではログ）のサイズなどを設定する。ＤＭＡ転送が完了した場合には、専用ＡＳＩＣドライバーは、割込み制御により完了を通知する。また、ＤＭＡ転送が完了した場合に、割込み制御を利用しなくてもよい。この場合、プロセッサー１１１は、ＤＭＡ転送指示後に定期的に転送状態を監視し、完了まで待つ（ポーリング型の制御を行う）。
【００６１】
本実施の形態の画像形成装置は、ＯＳ１３２の動作が停止するエラーである致命的エラーがＯＳ１３２に発生した場合に、画像形成を行うためのメモリ空間（サブメモリ）に、ＯＳ１３２が出力する解析用ログを安全に保存し、リブート後に読み出す。これにより、リブート後に解析用ログを利用して致命的エラーの原因を解析することができる。続いて、致命的エラーがＯＳ１３２に発生した場合におけるＭＦＰ１の動作について詳細に説明する。
【００６２】
ＯＳ１３２に致命的エラーが発生した場合、プロセッサー１１１は、パニック関数１３４を呼び出し、パニック関数１３４にログを出力させる。またプロセッサー１１１は、割り込みを無効化する。プロセッサー１１１は、パニック関数１３４が出力したログをシステムメモリ１１２に記憶する。
【００６３】
図４は、本発明の第１の実施の形態において、パニック関数１３４が出力するログを模式的に示す図である。
【００６４】
図３および図４を参照して、パニック関数１３４が出力するログは、エラーの発生原因を示す情報を含んでいる。パニック関数１３４が出力するログは、エラーの発生原因を示す情報の他、モジュール情報、ＣＰＵ情報、プログラムカウンタ、スタックポインタ、レジスタ情報、またはバックトレース情報などを含んでいてもよい。
【００６５】
次にプロセッサー１１１は、システムメモリ１１２に記憶したログを、メモリコントローラー１１６を用いてサブメモリ１１７にＤＭＡ転送（移動）する。割り込みが無効化されているため、サブメモリ１１７へのＤＭＡ転送はポーリング形式で行われる。ＤＭＡ転送を行うための一時バッファとしてシステムメモリ１１２内の領域が使用される。しかしこの領域は、ページサイズなどの一時的に確保可能な小さいサイズに過ぎない。サブメモリ１１７は、メモリコントローラー１１６で制御されており、プロセッサー１１１が直接アクセスすることはできない。このため、ＯＳ１３２に致命的エラーが発生した場合でも、プロセッサー１１１がサブメモリ１１７に対して不正な書き込みを行うことはない。
【００６６】
次にプロセッサー１１１は、ＯＳ１３２をリブートする。このときのリブートはウォームリブートであるので、サブメモリ１１７に記憶したログを含むデータは失われない。なお、ウォームリブート中にメモリコントローラー１１６のリセットを行う場合には、サブメモリ１１７のメモリ管理の状態遷移が行われ、サブメモリ１１７のリフレッシュ動作が瞬断される場合がある。しかし、サブメモリ１１７は、一般的に複数のＤＲＡＭメモリセルを含んでおり、ＤＲＡＭメモリセルは、コンデンサとトランジスタとで構成されている。ＤＲＡＭメモリセルにおいて、コンデンサの自然放電までにリフレッシュサイクルを復帰した場合には、メモリコントローラー１１６のリセット後もデータを読み出すことが可能である。もちろん、メモリコントローラー１１６のリセット後に読み出されたデータは、利用されるＤＲＡＭ、メモリコントローラー１１６、および回路特性からの影響を受ける。このため、ウォームリブート中にメモリコントローラー１１６のリセットを行う場合には、メモリコントローラー１１６のリセット後に読み出されたデータは、全て正しいものであるとは限らない。したがって、この問題について、ＳＷ側で何らかの対策が採られることが好ましい。
【００６７】
ＯＳ１３２のリブートを行う場合、プロセッサー１１１は、サブメモリ１１７に記憶したログを、メモリコントローラー１１６を用いてシステムメモリ１１２にＤＭＡ転送（移動）する。システムメモリ１１２へのログの転送は、ＯＳ１３２が安定的に起動した後に行われてもよいし、ＯＳ１３２のリブート中に行われてもよい。
【００６８】
ＭＦＰ１は、システムメモリ１１２に転送されたログを、ＭＦＰ１が保持する各種インターフェース（リムーバル記憶装置１２０など）を通じて不揮発記憶媒体（可搬記憶媒体１２２など）に保存し、ＭＦＰ１の外部に搬出可能な状態とする。またＭＦＰ１は、システムメモリ１１２に転送されたログを、自機内のウェブサーバーを通じて外部に提供したり、外部の管理サーバー（サーバー１２１など）に転送したりしてもよい。
【００６９】
なお、ＭＦＰ１は、サブメモリ１１７に記憶したログを、システムメモリ１１２に転送する代わりに、ＭＦＰ１がインターフェースを保持するデバイスに直接的に転送してもよい。ＭＦＰ１は、特にサブメモリ１１７に記憶したログのテキストの内容を、表示可能な形式に変換し、表示端末へ転送してもよい。ＭＦＰ１は、メモリコントローラー１１６のバス上に不揮発メモリが存在していれば、その不揮発メモリに対してサブメモリ１１７から直接的にログを転送し、保存してもよい。サブメモリ１１７から外部の記憶媒体に直接ログを転送する場合には、ＯＳ１３２のウォームリブートは不要となる。
【００７０】
以上の方法により、サービスマンなどの管理者は、サービスマンメンテナンスの際に（または致命的エラーが発生した場合に自動的に）、ＨＤＤなどの記憶媒体へログを書き出したり、ネットワークを通じて接続されたサーバーへログを転送したりすることができる。これにより、開発者は、ＭＦＰをクライアント先に設置した後でも、致命的エラーが発生した場合のログを入手することができる。
【００７１】
図５は、本発明の第１の実施の形態において、ＯＳ１３２に致命的エラーが発生した場合におけるＭＦＰ１の動作を示すフローチャートである。
【００７２】
図５を参照して、プロセッサー１１１は、ＯＳ１３２に致命的エラーが発生すると（Ｓ１０１）、パニック関数１３４を呼び出し（Ｓ１０３）、パニック関数１３４にログを出力させる（Ｓ１０５）。次にプロセッサー１１１は、パニック関数１３４が出力したログを、システムメモリ１１２内のＤＭＡ一時メモリ領域などに保存（コピー）する（Ｓ１０７）。続いてプロセッサー１１１は、メモリコントローラー１１６を通じて、システムメモリ１１２からサブメモリ１１７へのログの転送を開始する（Ｓ１０９）。次にプロセッサー１１１は、ログの転送の進捗を示すレジスタ値を確認し（Ｓ１１１）、レジスタ値に基づいてログの転送を完了したか否かを判別する（Ｓ１１３）。
【００７３】
ステップＳ１１３にいて、ログの転送を完了しないと判別した場合（Ｓ１１３でＮＯ）、プロセッサー１１１はステップＳ１１１の処理へ進む。
【００７４】
ステップＳ１１３にいて、ログの転送を完了したと判別した場合（Ｓ１１３でＹＥＳ）、プロセッサー１１１は、ＯＳ１３２をリブートする（Ｓ１１５）。ＯＳ１３２の起動が完了すると（Ｓ１１７）、プロセッサー１１１は、メモリコントローラー１１６を通じて、ログをサブメモリ１１７からシステムメモリ１１２に転送する（Ｓ１１９）。その後プロセッサー１１１は、システムメモリ１１２に保存されているログを外部の不揮発記憶媒体（外部メモリ）などに保存し（Ｓ１２１）、処理を終了する。
【００７５】
本実施の形態によれば、ＭＦＰ１は、ＯＳ１３２に致命的エラーが発生した場合に、メモリコントローラー１１６を用いてログをサブメモリ１１７にＤＭＡ転送する。サブメモリ１１７にはプロセッサー１１１が直接アクセスすることはできないため、プロセッサー１１１がサブメモリ１１７に対して不正な書き込みを行うことを防止することができ、ログを適切に保存することができる。開発者は、ＭＦＰ１をクライアント先に設置した後でも、致命的エラーが発生した場合のログを容易に取得することができ、解析の難しい不具合についての適切な情報を得ることができる。その結果、ログに基づいた対策が設計に反映されるため、機器の品質が向上する。
【００７６】
また、ＭＦＰ１は、ＯＳ１３２をリブートする場合にログをサブメモリ１１７からシステムメモリ１１２に転送する。これにより、開発者は、ＭＦＰ１の外部にログを容易に持ち出すことができる。
【００７７】
［第２の実施の形態］
【００７８】
図６は、本発明の第２の実施の形態におけるサブメモリ１１７内の複数の領域の各々のオフセットアドレスと、用途との関係を示す表である。
【００７９】
図６を参照して、サブメモリ１１７は画像処理を行うために最適化されている。具体的には、サブメモリ１１７内は複数の領域に区分されており、複数の領域の各々には用途が決められている。このため、ログを保存するための専用の領域を設けることが難しいことが多い。
【００８０】
ここでは、サブメモリ１１７内は、８つの領域に区分されており、８つの領域の各々は、それぞれＡ〜Ｈというオフセットアドレスが付与されている。８つの領域の各々は、それぞれ「スキャン入力用メモリ」、「プリント一時記憶用メモリ」、「回転・拡大・変換用メモリ」、「エンジン出力用メモリ」、「画像合成用メモリ」、「ＬＣＤ表示用メモリ」、「画像管理用メモリ」、および「ＰＣ間遅延用メモリ」という用途が定められている。サブメモリ１１７内の各領域の使用状況は、実行中のジョブの内容に応じて変化する。
【００８１】
ＯＳ１３２に致命的エラーが発生した場合に、サブメモリ１１７内に保存された実行中のジョブに関するデータは、不具合発生時の状況を解析するのに役立つため、リブート後にダンプ取得されることが好ましい。
【００８２】
サブメモリ１１７内にログを保存するための専用の領域が無い場合、サブメモリ１１７内のいずれかの領域にログを保存しなければならない。しかし、サブメモリ１１７内の使用中の領域にログが上書きされると、実行中のジョブに関するデータが失われる。
【００８３】
そこでＭＦＰ１は、システムメモリ１１２に記憶したログを、サブメモリ１１７内における実行中のジョブに関するデータが記憶された領域とは異なる領域に保存する。これにより、実行中のジョブに関するデータがログで上書きされる事態を回避することができる。
【００８４】
具体的には、プロセッサー１１１は、ジョブ実行時に、ジョブの種類に関連したベクタ番号であって、サブメモリ１１７内の領域に対応するベクタ番号をシステムメモリ１１２に一時的に記憶する。この場合のサブメモリ１１７内の領域は、ジョブの実行により変化のない領域（ジョブに関するデータが記憶されない領域）である。ベクタ番号は、パニック関数１３４が参照可能な領域に記憶される。
【００８５】
図７は、本発明の第２の実施の形態において、ベクタ番号と、実行中のジョブの種類と、リブート時のベクタアドレスとなるサブメモリ１１７内のオフセットアドレスとの関係を示す表である。
【００８６】
図６および図７を参照して、たとえば、「０」というベクタ番号（デフォルトのベクタ番号）には実行中のジョブが無い状態が関連づけられている。この場合、サブメモリ１１７内のいずれの領域も使用されていない状態であるので、対応するオフセットアドレスは規定されていない。「１」というベクタ番号には実行中のジョブがプリントジョブである状態が関連づけられている。この場合、対応するオフセットアドレスには「Ａ」（スキャン入力用メモリの領域）が規定されている。プリントジョブに関連するデータが保存される領域（図６中の「Ｂ」というオフセットアドレスの領域）は、規定されず除外される。「２」というベクタ番号には実行中のジョブがスキャンジョブである状態が関連づけられている。この場合、対応するオフセットアドレスは「Ｄ」（エンジン出力用メモリの領域）と規定されている。スキャンジョブに関連するデータが保存される領域（図６中の「Ａ」というオフセットアドレスの領域）は、規定されず除外される。
【００８７】
ＯＳ１３２に致命的エラーが発生した場合、プロセッサー１１１は、システムメモリ１１２に記憶したログを、ベクタ番号に対応するサブメモリ１１７内の領域にＤＭＡ転送（移動）する。
【００８８】
プロセッサー１１１は、ＯＳ１３２をリブートする場合、リブート時のベクタアドレスを、ベクタ番号に対応するオフセットアドレスに設定し、ログの読み出し関数が参照できるシステムメモリ１１２内の領域に一時的に記憶する。プロセッサー１１１は、ベクタ番号に対応するサブメモリ１１７内のオフセットアドレスの領域からログを読み出し、読み出したログをシステムメモリ１１２にＤＭＡ転送する。
【００８９】
図８は、本発明の第２の実施の形態において、ベクタ番号を保存する場合のＭＦＰ１の動作を示すフローチャートである。
【００９０】
図８を参照して、プロセッサー１１１は、デフォルト値である「０」をベクタ番号としてシステムメモリ１１２に保存する（Ｓ２０１）。続いてプロセッサー１１１は、ジョブを実行中であるか否かを判別する（Ｓ２０３）。
【００９１】
ステップＳ２０３において、ジョブを実行中であると判別した場合（Ｓ２０３でＹＥＳ）、プロセッサー１１１は、実行中のジョブの種類に対応するベクタ番号をシステムメモリ１１２に保存（更新）し（Ｓ２０５）、ステップＳ２０１の処理へ進む。
【００９２】
ステップＳ２０３において、ジョブを実行中でないと判別した場合（Ｓ２０３でＮＯ）、プロセッサー１１１はステップＳ２０１の処理へ進む。
【００９３】
図９は、本発明の第２の実施の形態において、ＯＳ１３２に致命的エラーが発生した場合におけるＭＦＰ１の動作を示すフローチャートである。
【００９４】
図９を参照して、プロセッサー１１１は、始めに図５のフローチャートにおけるステップＳ１０１からＳ１０７の処理を行う。
【００９５】
ステップＳ１０７において、パニック関数１３４が出力したログをシステムメモリ１１２に保存した後、プロセッサー１１１は、ベクタ番号を参照し（Ｓ２１１）、ベクタ番号に応じてログの転送先となるシステムメモリ１１２のオフセットアドレスを決定する（Ｓ２１３）。その後プロセッサー１１１は、ステップＳ１１１以降の処理を行う。
【００９６】
ステップＳ１１７において、ＯＳ１３２の起動が完了した後、プロセッサー１１１は、ベクタ番号に対応するサブメモリ１１７内のオフセットアドレスの領域を参照し、ログを読み出し（Ｓ２１５）、読み出したログをサブメモリ１１７からシステムメモリ１１２に転送する（Ｓ１１９）。その後プロセッサー１１１は、ステップＳ１２１の処理に進む。
【００９７】
なお、本実施の形態におけるＭＦＰ１の構成および上述以外の動作は、第１の実施の形態におけるＭＦＰの構成および動作と同様であるので、その説明は繰り返さない。
【００９８】
本実施の形態によれば、ウォームリブートのジャンプベクタを、実行中のジョブの種類に応じて変更することで、ＯＳ１３２に致命的エラーが発生した場合に、実行中のジョブに関連するデータがログで上書きされる事態を回避することができ、サブメモリ１１７に記憶された必要なデータを壊さないようにすることができる。
【００９９】
［第３の実施の形態］
【０１００】
本実施の形態において、ＭＦＰ１は、リード・ソロモン符号のような誤り訂正符号をログに対して付与することにより、サブメモリ１１７に保存したログに異常が発生すること（データ化け）を回避する。
【０１０１】
具体的には、プロセッサー１１１は、ログを、一定のサイズを有する複数（Ｎ個）のシンボルに区切り、複数のシンボルの各々に誤差補正値である訂正符号を付加する。これにより、ログが符号化され、符号化後のログのデータとして、ｒビットのサイズを有するＮ個のシンボルが得られる。この場合、符号化後のログのデータは、ログにより構成されるｋ個のシンボルと、冗長シンボルである（Ｎ−ｋ）個シンボルとによって構成される。ログに異常が発生した場合に、冗長シンボルの総数の半分の数のシンボルまでを最大で訂正することができる。さらにプロセッサー１１１は、ログ全体のサイズを管理するため、ログのサイズも符号化する。プロセッサー１１１は、符号化後のログのサイズと、符号化後のログのデータとをシステムメモリ１１２からサブメモリ１１７にＤＭＡ転送する。
【０１０２】
ＯＳ１３２のリブートを行う場合に、プロセッサー１１１は、サブメモリ１１７に記憶されている符号化後のログのサイズを復号化する。プロセッサー１１１は、復号化により得られたログのサイズを確認し、妥当性が得られれば符号化されたログを復号化する。たとえば復号化により得られた複数のシンボルの各々のサイズが同じであれば、符号化後のログを復号化するようにしてもよく、データ化けに備えた冗長性が加えられてもよい。但し、プロセッサー１１１は、リブート後の読み出し時に、誤り位置多項式を求める必要があるため、一定量の計算時間が必要になる。
【０１０３】
なお、通常の起動時（致命的エラーが発生していない状態での起動時）などにはサブメモリ１１７にデータが保存されていない。このような場合にはサブメモリ１１７からのログの読み出しを行わないことが好ましい。このような制御は、第２の実施の形態においてベクタ番号を「０」に設定した状態で通常の起動を行うことで実現可能である。
【０１０４】
図１０は、本発明の第３の実施の形態において、ＯＳ１３２に致命的エラーが発生した場合におけるＭＦＰ１の動作を示すフローチャートである。
【０１０５】
図１０を参照して、プロセッサー１１１は、始めに図９のフローチャートにおけるステップＳ１０１からＳ１０７の処理を行う。
【０１０６】
ステップＳ１０７において、パニック関数１３４が出力したログをシステムメモリ１１２に保存した後、プロセッサー１１１は、ログをサブメモリ１１７に転送する処理を行う（Ｓ３０１）。その後プロセッサー１１１は、図９のフローチャートにおけるステップＳ２１１からＳ２１５の処理を行う。
【０１０７】
ステップＳ２１５において、ベクタ番号に対応するサブメモリ１１７内のオフセットアドレスの領域からログを読み出した後、プロセッサー１１１は、ログをシステムメモリ１１２に転送する処理を行う（Ｓ３０３）。その後プロセッサー１１１は、図９のフローチャートにおけるステップＳ１２１の処理の処理へ進む。
【０１０８】
図１１は、図１０のステップＳ３０１のサブルーチンである。
【０１０９】
図１１を参照して、ログをサブメモリ１１７に転送する処理（Ｓ３０１）において、プロセッサー１１１は、システムメモリ１１２に記憶したログを複数のシンボルに区分し、ログを構成する複数のシンボルの各々のサイズを符号化する（Ｓ３１１）。次にプロセッサー１１１は、メモリコントローラー１１６を通じて、符号化後の複数のシンボルの各々のサイズ（符号化後のログのサイズ）をサブメモリ１１７に転送し（Ｓ３１３）。符号化後のログのサイズの転送を完了したか否かを判別する（Ｓ３１５）。
【０１１０】
ステップＳ３１５において、符号化後のログのサイズの転送を完了しないと判別した場合（Ｓ３１５でＮＯ）、プロセッサー１１１はステップＳ３１１の処理へ進む。
【０１１１】
ステップＳ３１５において、符号化後のログのサイズの転送を完了したと判別した場合（Ｓ３１５でＹＥＳ）、プロセッサー１１１は、システムメモリ１１２に記憶したログを構成する複数のシンボルの各々を符号化する（Ｓ３１７）。次にプロセッサー１１１は、メモリコントローラー１１６を通じて、符号化後の複数のシンボルの各々（符号化後のログ）をサブメモリ１１７に転送し（Ｓ３１９）。符号化後のログの転送を完了したか否かを判別する（Ｓ３２１）。
【０１１２】
ステップＳ３２１において、符号化後のログの転送を完了しないと判別した場合（Ｓ３２１でＮＯ）、プロセッサー１１１はステップＳ３１７の処理へ進む。
【０１１３】
ステップＳ３２１において、符号化後のログの転送を完了したと判別した場合（Ｓ３２１でＹＥＳ）、プロセッサー１１１はリターンする。
【０１１４】
図１２は、図１０のステップＳ３０３のサブルーチンである。
【０１１５】
図１２を参照して、ログをシステムメモリ１１２に転送する処理（Ｓ３０３）において、プロセッサー１１１は、メモリコントローラー１１６を通じて、サブメモリ１１７に記憶した符号化後の複数のシンボルの各々のサイズ（符号化後のログのサイズ）をシステムメモリ１１２に転送する（Ｓ３３１）。続いてプロセッサー１１１は、システムメモリ１１２に記憶した符号化後の複数のシンボルの各々のサイズを復号化する（Ｓ３３３）。続いてプロセッサー１１１は、符号化後のログのサイズの復号化を完了したか否かを判別する（Ｓ３３５）。
【０１１６】
ステップＳ３３５において、符号化後のログのサイズの復号化を完了しないと判別した場合（Ｓ３３５でＮＯ）、プロセッサー１１１はステップＳ３３１の処理へ進む。
【０１１７】
ステップＳ３３５において、符号化後のログのサイズの復号化を完了したと判別した場合（Ｓ３３５でＹＥＳ）、プロセッサー１１１は、復号化後の複数のシンボルの各々のサイズが正しいことを確認する（Ｓ３３７）。続いてプロセッサー１１１は、メモリコントローラー１１６を通じて、サブメモリ１１７に記憶した符号化後の複数のシンボルの各々（符号化後のログ）をシステムメモリ１１２に転送する（Ｓ３３９）。続いてプロセッサー１１１は、システムメモリ１１２に記憶した符号化後の複数のシンボルの各々を復号化する（Ｓ３４１）。続いてプロセッサー１１１は、符号化後のログの復号化を完了したか否かを判別する（Ｓ３４３）。
【０１１８】
ステップＳ３４３において、符号化後のログの復号化を完了しないと判別した場合（Ｓ３４３でＮＯ）、プロセッサー１１１はステップＳ３３９の処理へ進む。
【０１１９】
ステップＳ３４３において、符号化後のログの復号化を完了したと判別した場合（Ｓ３４３でＹＥＳ）、プロセッサー１１１はリターンする。
【０１２０】
なお、本実施の形態におけるＭＦＰ１の構成および上述以外の動作は、第１の実施の形態におけるＭＦＰの構成および動作と同様であるので、その説明は繰り返さない。
【０１２１】
本実施の形態によれば、たとえば致命的エラーに起因してサブメモリ１１７をリセットする動作が誤って行われた場合において、サブメモリ１１７に記憶されていたデータが電気的に残留しているときなどに、サブメモリ１１７に残留しているデータを補正することでログを復元することができる。
【０１２２】
［第４の実施の形態］
【０１２３】
本実施の形態においては、ＯＳ１３２のリブート後にログを不揮発媒体（たとえば外部記憶装置１１５や可搬記憶媒体１２２など）に保存する際のＭＦＰ１の動作について説明する。
【０１２４】
図１３は、本発明の第４の実施の形態において、ＯＳ１３２のリブート後にログを不揮発媒体に保存する際のＭＦＰ１の動作を示すフローチャートである。なお図１３では、図５のフローチャートにおけるステップＳ１０１の処理からＳ１１３の処理が省略されている。
【０１２５】
図１３を参照して、プロセッサー１１１は、始めに図５のフローチャートにおけるステップＳ１０１からＳ１１９の処理を行う。
【０１２６】
ステップＳ１１９において、ログをサブメモリ１１７からシステムメモリ１１２に転送した後で、プロセッサー１１１は、制御ＦＷを起動し（Ｓ４０１）、システムメモリ１１２に保存したログを不揮発媒体に保存する（Ｓ４０３）。またプロセッサー１１１は、システムメモリ１１２に保存したログを不揮発媒体に保存する代わりに、またはシステムメモリ１１２に保存したログを不揮発媒体に保存するのに加えて、システムメモリ１１２に保存したログをサーバーへ転送してもよいし（Ｓ４０５）、外部端末に表示してもよいし（Ｓ４０７）、他の方法で出力してもよい。
【０１２７】
次にプロセッサー１１１は、ログを保存したことを通知する（Ｓ４０９）。プロセッサー１１１は、実行予定のジョブの種類に応じて、ログを保存したことの通知の要否を判断してもよい。続いてプロセッサー１１１は、通知の解除を受け付けたか否かを判別する（Ｓ４１１）。通知の解除は、操作者が管理者である場合にのみ受け付けてもよい。
【０１２８】
ステップＳ４１１において、通知の解除を受け付けたと判別した場合（Ｓ４１１でＹＥＳ）、プロセッサー１１１は、不揮発媒体に保存したログの上書きを許可し（Ｓ４１３）、処理を終了する。
【０１２９】
ステップＳ４１１において、通知の解除を受け付けないと判別した場合（Ｓ４１１でＮＯ）、プロセッサー１１１は、不揮発媒体に保存したログの上書きを禁止し（Ｓ４１３）、処理を終了する。
【０１３０】
本実施の形態によれば、致命的エラーが発生した場合のログを不揮発媒体に保存したことが通知されるので、開発者は、通知に基づいて不揮発媒体からログを容易に入手することができる。
【０１３１】
［その他］
【０１３２】
上述の実施の形態は、適宜組み合わせることができる。
【０１３３】
上述の実施の形態における処理は、ソフトウェアにより行っても、ハードウェア回路を用いて行ってもよい。また、上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをＣＤ−ＲＯＭ、フレキシブルディスク、ハードディスク、ＲＯＭ、ＲＡＭ、メモリカードなどの記録媒体に記録してユーザーに提供することにしてもよい。プログラムは、ＣＰＵなどのコンピューターにより実行される。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。
【０１３４】
上述の実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１３５】
１  ＭＦＰ（Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）
１Ｃ，１Ｋ，１Ｍ，１Ｙ  感光体ドラム
２Ｃ，２Ｋ，２Ｍ，２Ｙ  帯電器
３Ｃ，３Ｋ，３Ｍ，３Ｙ  露光部
４Ｃ，４Ｋ，４Ｍ，４Ｙ  現像装置
５Ａ，５Ｃ，５Ｋ，５Ｍ，５Ｙ  クリーニング装置
６  中間転写体
７Ａ  二次転写部
７Ｃ，７Ｋ，７Ｍ，７Ｙ  一次転写部
８  定着装置
１０Ｃ，１０Ｋ，１０Ｍ，１０Ｙ  イメージングユニット
２０  給紙搬送部
２１  給紙カセット
２２，２３，２４，２５，２６  給紙ローラー
２７  レジストローラ
２８  排紙ローラー
２９  排紙トレイ
８１  加圧ローラー
８２  加熱ローラー
８３  定着ベルト
８４  定着ローラー
１００  画像形成部
１１１  プロセッサー
１１２  システムメモリ
１１３  フラッシュメモリ
１１４  不揮発ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）
１１５  外部記憶装置
１１６  メモリコントローラー
１１７  サブメモリ
１１８  操作表示部
１１９  ネットワークＩ／Ｆ
１２０  リムーバル記憶装置
１２１  サーバー
１２２  可搬記憶媒体
１３１  ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）
１３２  ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）
１３３  アプリ
１３４  パニック関数
２００  画像読取部
２０１  自動原稿送り装置
２０２  原稿画像走査露光装置
ＣＣＤ  ラインイメージセンサ
ｄ  原稿
Ｐ  記録紙
【図１】
2017004095.tif 000003
【図２】
2017004095.tif 000004
【図３】
2017004095.tif 000005
【図４】
2017004095.tif 000006
【図５】
2017004095.tif 000007
【図６】
2017004095.tif 000008
【図７】
2017004095.tif 000009
【図８】
2017004095.tif 000010
【図９】
2017004095.tif 000011
【図１０】
2017004095.tif 000012
【図１１】
2017004095.tif 000013
【図１２】
2017004095.tif 000014
【図１３】
2017004095.tif 000015