(57)【要約】【課題】独立性が高く内部メモリ以外に記録領域を増設できないＩＣの不具合を解析することができる画像形成装置を提供する。【解決手段】ＭＦＰ１００は、ＳＡＴＡブリッジ制御部１１２に関連するイベントに関する複数のイベント処理の実行結果をＦｌａｓｈメモリ２１２に記録し、Ｆｌａｓｈメモリ２１２に記録されたログをＰＣ２２３に出力する。ＭＦＰ１００は、Ｆｌａｓｈメモリ２１２に記録される記録内容の範囲を指定する。【選択図】図４
2020197857.tif 000002
【特許請求の範囲】
【請求項１】
記憶デバイスを備える制御手段を備える画像形成装置であって、
前記制御手段が関連するイベントに関する複数のイベント処理の実行結果を前記記憶デバイスに記録する制御を行う記録制御手段と、
前記制御手段から前記記憶デバイスの記録内容を出力する制御を行う出力制御手段と、
前記記憶デバイスに記録される記録内容の範囲を指定する指定手段とを備えることを特徴とする画像形成装置。
【請求項２】
各前記イベント処理に対して通し番号が付され、
前記指定手段は、各前記イベント処理に対応する通し番号を用いて前記記憶デバイスに記録される記録内容の範囲を指定することを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記出力制御手段は、前記画像形成装置が再起動した際に、前記制御手段から前記記憶デバイスの記録内容を出力することを特徴とする請求項１又は２記載の画像形成装置。
【請求項４】
前記制御手段は、外部装置とシリアル通信を行い、
前記出力制御手段は、前記制御手段から前記外部装置へ前記記憶デバイスの記録内容を前記シリアル通信によって出力することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記制御手段は、暗号モジュールに関するセキュリティ要件の仕様を規定する所定の規格を準拠することを特徴とする請求項１乃至４のいずれか１項に記載の画像形成装置。
【請求項６】
前記イベント処理の実行結果をリアルタイムで出力する第１のモードと、前記イベント処理の実行結果を前記記憶デバイスに記録する第２のモードとを切り替える切替手段を更に備えることを特徴とする請求項１乃至５のいずれか１項に記載の画像形成装置。
【請求項７】
前記制御手段が前記第１のモード及び前記第２のモードの何れであるかを判別する判別手段を更に備え、
前記判別手段は、前記制御手段が受信した所定のコマンドに含まれる設定値に基づいて、前記制御手段が前記第１のモード及び前記第２のモードの何れであるかを判別することを特徴とする請求項６記載の画像形成装置。
【請求項８】
前記制御手段が前記第１のモード及び前記第２のモードの何れであるかを判別する判別手段を更に備え、
前記判別手段は、前記制御手段に設けられる入力端子の設定に基づいて、前記制御手段が前記第１のモード及び前記第２のモードの何れであるかを判別することを特徴とする請求項６記載の画像形成装置。
【請求項９】
記憶デバイスを備える制御手段を備える画像形成装置の制御方法であって、
前記制御手段が関連するイベントに関する複数のイベント処理の実行結果を前記記憶デバイスに記録する制御を行う記録制御ステップと、
前記制御手段から前記記憶デバイスの記録内容を出力する制御を行う出力制御ステップと、
前記記憶デバイスに記録される記録内容の範囲を指定する指定ステップとを有することを特徴とする画像形成装置の制御方法。
【請求項１０】
記憶デバイスを備える制御手段を備える画像形成装置の制御方法をコンピュータに実行させるプログラムであって、
前記画像形成装置の制御方法は、
前記制御手段が関連するイベントに関する複数のイベント処理の実行結果を前記記憶デバイスに記録する制御を行う記録制御ステップと、
前記制御手段から前記記憶デバイスの記録内容を出力する制御を行う出力制御ステップと、
前記記憶デバイスに記録される記録内容の範囲を指定する指定ステップとを有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置に関し、工場における量産段階での不具合又は市場での不具合は短期間で原因を解析し、速やかに解決する必要がある。画像形成装置の不具合は、周期性の差異はあるが一般的に再現性を持つ場合が多い。画像形成装置の不具合の解析において、再現性を利用する様々なデバッグ手法が用いられる。例えば、第１のデバック手法として、解析モードに移行した画像形成装置の記憶デバイスに処理過程の全てが記録され、記録された情報が解析される。また、第２のデバッグ方法として、画像形成装置のＣＰＵを外部からエミュレートするデバッガが画像形成装置に装着され、工程毎にプログラムを実行することで不具合の内容が解析される（例えば、特許文献１参照）。
【０００３】
ところで、ＨＤＤと、当該ＨＤＤに対するデータの読み書きを制御するＳＡＴＡ（Serial Advanced Technology Attachment）ホスト制御部との間にブリッジＩＣを接続するＳＡＴＡシステムが開発されている。ＳＡＴＡシステムを搭載する画像形成装置の不具合を解析する際には、ＳＡＴＡシステムによる処理の実行結果に関する情報が必要になる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７‐１９９１８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ＳＡＴＡシステムを搭載する画像形成装置において、ＳＡＴＡシステムによる処理の実行結果に関する情報が取得されず、不具合を解析することができない場合がある。例えば、ブリッジＩＣが暗号化機能を有し且つＦＩＰＳ１４０（Federal Information Processing Standardization １４０）等の所定の認証規格に準拠する場合、このブリッジＩＣはチップとしての独立性が極めて高い。このようなブリッジＩＣは、ＳＡＴＡシステムを構成する上で必要となるＳＡＴＡＩ／Ｆしか備えておらず、外部からブリッジＩＣ内部を解析するための制御を行うことができない。このため、画像形成装置の外部からエミュレートする第２のデバッグ方法を適用することができない。また、このようなブリッジＩＣは、ブリッジＩＣに搭載された内部メモリのみで情報が処理され、当該内部メモリ以外に記録領域を増設できない。このため、第１のデバッグ方法を適用した際に、ブリッジＩＣが実行した処理の一部の実行結果しか内部メモリに記録されず、不具合を正確に解析することができない。すなわち、従来の画像形成装置では、独立性が高く内部メモリ以外に記録領域を増設できないＩＣの不具合を解析することができないという問題が生じる。
【０００６】
本発明の目的は、独立性が高く内部メモリ以外に記録領域を増設できないＩＣの不具合を解析することができる画像形成装置、その制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の画像形成装置は、記憶デバイスを備える制御手段を備える画像形成装置であって、前記制御手段が関連するイベントに関する複数のイベント処理の実行結果を前記記憶デバイスに記録する制御を行う記録制御手段と、前記制御手段から前記記憶デバイスの記録内容を出力する制御を行う出力制御手段と、前記記憶デバイスに記録される記録内容の範囲を指定する指定手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、独立性が高く内部メモリ以外に記録領域を増設できないＩＣの不具合を解析することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る画像形成装置としてのＭＦＰの構成を概略的に示す構成図である。
【図２】図１のＳＡＴＡホスト制御部及びＳＡＴＡブリッジ制御部の構成を概略的に示す構成図である。
【図３】図１のＳＡＴＡホスト制御部及びＳＡＴＡブリッジ制御部の接続を示す図である。
【図４】図１のＭＦＰの不具合の解析に用いるログのシリアル出力に関する設定を説明するための図である。
【図５】図１のＳＡＴＡホスト制御部によって実行されるログ記録制御処理の手順を示すフローチャートである。
【図６】図１のＳＡＴＡブリッジ制御部によって実行されるログ記録処理の手順を示すフローチャートである。
【図７】図１のＳＡＴＡブリッジ制御部によって実行されるログ出力制御処理の手順を示すフローチャートである。
【図８】図６のログ記録処理の変形例の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら詳述する。なお、本実施の形態では、画像形成装置としてのＭＦＰに本発明を適用した場合について説明するが、本発明はＭＦＰに限られない。例えば、スマートフォン、タブレット端末、ＰＣといった独立性が高く書き込み可能領域を増設できないＩＣを備える装置に本発明を適用してもよい。
【００１１】
図１は、本発明の実施の形態に係る画像形成装置としてのＭＦＰ１００の構成を概略的に示す構成図である。図１において、ＭＦＰ１００は、メインコントローラボード１０１、スキャナ装置１１０、パネル装置１１６、印刷部１１８、ＨＤＤ１１３、及びＨＤＤ１１４を備える。メインコントローラボード１０１は、スキャナ装置１１０、パネル装置１１６、印刷部１１８、ＨＤＤ１１３、及びＨＤＤ１１４と接続されている。メインコントローラボード１０１は、メインＣＰＵ１０２、メモリ制御部１０３、Ｆｌａｓｈメモリ１０４、ＤＲＡＭ１０５、ＬＡＮＩ／Ｆ制御部１０６、リーダＩ／Ｆ部１０９、画像処理部１２１、パネルＩ／Ｆ制御部１１５、ビデオ出力Ｉ／Ｆ部１１７、電源制御部１１９、ＳＡＴＡホスト制御部１１１、及びＳＡＴＡブリッジ制御部１１２を備える。なお、ＤＲＡＭは、Dynamic Random Access Memoryの略称である。メインＣＰＵ１０２、メモリ制御部１０３、Ｆｌａｓｈメモリ１０４、ＤＲＡＭ１０５、ＬＡＮＩ／Ｆ制御部１０６、リーダＩ／Ｆ部１０９、画像処理部１２１、パネルＩ／Ｆ制御部１１５、ビデオ出力Ｉ／Ｆ部１１７、電源制御部１１９、及びＳＡＴＡホスト制御部１１１は、メインバス１２０を介して互いに接続されている。ＳＡＴＡブリッジ制御部１１２は、ＳＡＴＡホスト制御部１１１と接続されている。
【００１２】
メインＣＰＵ１０２は、ＭＦＰ１００のシステム制御や演算処理を行う。メモリ制御部１０３は、各種記憶デバイスに対するデータの入出力制御やＤＭＡ（Direct Memory Access）制御を行う。Ｆｌａｓｈメモリ１０４は、書き換え可能な不揮発性の記憶デバイスである。Ｆｌａｓｈメモリ１０４は、ＭＦＰ１００のシステム全体の制御プログラムや制御パラメータ等を格納する。ＤＲＡＭ１０５は、ＤＤＲ（Double Data Rate）メモリに代表される揮発性の書き換え専用の記憶デバイスである。ＤＲＡＭ１０５は、メインＣＰＵ１０２の作業領域、印刷データの格納領域、各種テーブルの格納領域等として用いられる。ＬＡＮＩ／Ｆ制御部１０６は、ネットワーク１０７を介して接続されたホストコンピュータ１０８等の外部装置とのデータ通信を制御する。例えば、ＬＡＮＩ／Ｆ制御部１０６は、ホストコンピュータ１０８から画像データを取得する。ＬＡＮＩ／Ｆ制御部１０６は、ＴＣＰ／ＩＰ（Transmission Control Protocol／Internet Protocol）に対応する。
【００１３】
リーダＩ／Ｆ部１０９は、メインコントローラボード１０１とスキャナ装置１１０との通信を制御する。例えば、リーダＩ／Ｆ部１０９は、スキャナ装置１１０がスキャンした画像データをスキャナ装置１１０から取得する。ＭＦＰ１００は、スキャナ装置１１０がスキャンした画像データを印刷することでコピー機能を実現する。画像処理部１２１は、ＬＡＮＩ／Ｆ制御部１０６やリーダＩ／Ｆ部１０９から取得した画像データに対して画像処理を施す。ＳＡＴＡホスト制御部１１１は、暗号モジュールに関するセキュリティ要件の仕様を規定する所定の規格、例えば、ＳＡＴＡ規格に準拠するデバイスとの通信を制御する。ＳＡＴＡブリッジ制御部１１２は、ＳＡＴＡ規格に準拠し、データの暗号化・復号化機能やＲＡＩＤ（Redundant Arrays Of Inexpensive Disk）制御機能を備える。ＳＡＴＡブリッジ制御部１１２の上流側には、ＳＡＴＡホスト制御部１１１が接続されている。また、ＳＡＴＡブリッジ制御部１１２の下流側には、複数のホストＩ／Ｆ（不図示）が設けられ、各ホストＩ／ＦにＨＤＤ１１３及びＨＤＤ１１４が接続されている。なお、ＨＤＤ１１３及びＨＤＤ１１４は、別の種別の記憶デバイス、例えば、ＳＳＤ（Solid State Drive）であっても良い。本実施の形態では、ＳＡＴＡホスト制御部１１１及びＳＡＴＡブリッジ制御部１１２は、それぞれ独立したＡＳＩＣとしてメインコントローラボード１０１に搭載されている。
【００１４】
パネルＩ／Ｆ制御部１１５は、パネル装置１１６との通信を制御する。パネル装置１１６は、ＭＦＰ１００のＵＩとして機能する。ユーザは、パネル装置１１６に表示された設定画面やボタン等を操作することにより、ＭＦＰ１００に関する設定の指示を行い、また、ＭＦＰ１００の状態を確認する。ビデオ出力Ｉ／Ｆ部１１７は、印刷部１１８に対するコマンドやステータスの通信を制御する。印刷部１１８は、給紙部及び排紙部（不図示）を備える。印刷部１１８は、ビデオ出力Ｉ／Ｆ部１１７から取得したコマンドに基づいて、給紙部から給紙された用紙に画像を印刷し、印刷済の用紙を排紙部に出力する。電源制御部１１９は、省電力モードのレベルに応じてメインコントローラボード１０１を構成する各ユニットに対する電力の供給を制御する。メインバス１２０は、ＰＣＩｅ（PCI Express）やＡＳＩＣの内部バス等を含む。
【００１５】
図２は、図１のＳＡＴＡホスト制御部１１１及びＳＡＴＡブリッジ制御部１１２の構成を概略的に示す構成図である。
【００１６】
図２において、ＳＡＴＡホスト制御部１１１は、ＨＣＰＵ２０１、メモリ制御部２０２、Ｆｌａｓｈメモリ２０３、ＳＲＡＭ２０４、ＳＡＴＡホストＨ２０５、レジスタＨ２０６、ＤＭＡＣ２０７、及びバスブリッジ回路２０８を備える。なお、ＤＭＡＣは、Direct Memory Access Controllerの略称である。ＨＣＰＵ２０１、メモリ制御部２０２、Ｆｌａｓｈメモリ２０３、ＳＲＡＭ２０４、ＳＡＴＡホストＨ２０５、レジスタＨ２０６、ＤＭＡＣ２０７、及びバスブリッジ回路２０８は、Ｈバス２１０を介して互いに接続されている。
【００１７】
ＨＣＰＵ２０１は、ＳＡＴＡホストコントローラとしての全般的な制御を行う。例えば、ＨＣＰＵ２０１は、ＳＡＴＡコマンドの発行処理、送受信データの転送処理、及びステータスの受信処理の実行を制御する。メモリ制御部２０２は、Ｆｌａｓｈメモリ２０３やＳＲＡＭ２０４に対するデータの読み書きを制御する。Ｆｌａｓｈメモリ２０３は、ブートプログラムやＳＡＴＡコントローラの制御プログラムを格納する。ＳＲＡＭ２０４は、ＨＣＰＵ２０１の作業領域、制御テーブルやパラメータの格納領域、及びデータバッファ等として用いられる。ＳＡＴＡホストＨ２０５は、Ｌｉｎｋ層及び物理層（ＰＨＹ）を含むＳＡＴＡ−ＩＰコアであり、ＳＡＴＡ規格としてのホスト処理を実行する。レジスタＨ２０６は、制御パラメータやステータスパラメータ等を一時的に記憶するためのレジスタである。ＤＭＡＣ２０７は、起動した際に、ＨＣＰＵ２０１に指定された転送元や転送先における先頭アドレス及びサイズに基づいて、所定のメモリ間のデータ転送を制御する。バスブリッジ回路２０８は、メインバス１２０とＨバス２１０間のバスプロトコルを相互に変換するバスブリッジ回路である。Ｈバス２１０は、バスコントローラ含む。
【００１８】
また、図２において、ＳＡＴＡブリッジ制御部１１２は、ＢＣＰＵ２１０、メモリ制御部２１１、Ｆｌａｓｈメモリ２１２、ＳＲＡＭ２１３、ＳＡＴＡデバイスＢ２１４、ＳＡＴＡホストＢ２１５、ＳＡＴＡホストＢ２１６、ＵＲＡＴ２１９、割り込み部２２４、及びレジスタＢ２２５を備える。ＢＣＰＵ２１０、メモリ制御部２１１、Ｆｌａｓｈメモリ２１２、ＳＲＡＭ２１３、ＳＡＴＡデバイスＢ２１４、ＳＡＴＡホストＢ２１５、ＳＡＴＡホストＢ２１６、ＵＲＡＴ２１９、割り込み部２２４、及びレジスタＢ２２５は、Ｂバス２２７を介して互いに接続されている。
【００１９】
ＢＣＰＵ２１０は、ＳＡＴＡホスト及びデバイスコントローラとしての全般的な制御を行う。例えば、ＢＣＰＵ２１０は、ＳＡＴＡコマンドの送受信処理、送受信データの転送処理、及びステータスの送受信処理の実行を制御する。メモリ制御部２１１は、Ｆｌａｓｈメモリ２１２やＳＲＡＭ２１３に対するデータの読み書きを制御する。Ｆｌａｓｈメモリ２１２は、不揮発性の記憶デバイスである。Ｆｌａｓｈメモリ２１２は、ブートプログラムやＳＡＴＡコントローラとしての制御プログラムを格納する。また、Ｆｌａｓｈメモリ２１２は、ＭＦＰ１００の電源ＯＦＦ時に保持する必要がある設定値を格納する領域や、デバッグ領域として用いられる。ＳＲＡＭ２１３は、ＢＣＰＵ２１０の作業領域、制御テーブルやパラメータを格納する領域、及びデータバッファ等として用いられる。ＳＲＡＭ２１３には、例えば、ＳＡＴＡブリッジ制御部１１２が関連するイベントに関するイベント処理の実行結果であるログが記録される。ＳＡＴＡデバイスＢ２１４は、ＳＡＴＡホスト制御部１１１のＳＡＴＡホストＨ２０５とＳＡＴＡＩ／Ｆ２２８を介して接続されている。ＳＡＴＡデバイスＢ２１４は、Ｌｉｎｋ層及び物理層（ＰＨＹ）を含むＳＡＴＡ−ＩＰコアであり、ＳＡＴＡ規格のデバイスとしての処理を行う。
【００２０】
ＳＡＴＡホストＢ２１５及びＳＡＴＡホストＢ２１６は、ＳＡＴＡ規格のホストとしての処理を行う。ＳＡＴＡホストＢ２１５は、ＳＡＴＡケーブル２１７を介してＨＤＤ１１３と接続される。ＳＡＴＡホストＢ２１６は、ＳＡＴＡケーブル２１８を介してＨＤＤ１１４と接続される。ＵＲＡＴ２１９は、信号変換回路である。ＵＲＡＴ２１９は、調歩同期方式により、パラレル信号をシリアル信号に変換し、また、シリアル信号をパラレル信号に変換する。ＵＲＡＴ２１９は、ＵＡＲＴＩ／Ｆ２２０、コネクタ２２１、及びシリアルケーブル２２２を介してＰＣ２２３と接続されている。ＵＲＡＴ２１９は、例えば、ＳＲＡＭ２１３からＦｌａｓｈメモリ２１２に書き込まれた上記ログをシリアル通信によってＰＣ２２３に出力（以下、「シリアル出力」という。）する。割り込み部２２４は、イベントに対する割り込み通知機能を備える。レジスタＢ２２５は、制御パラメータやステータスパラメータ等を一時的に記憶するためのレジスタである。割り込み部２２４及びレジスタＢ２２５の一部は、外部設定端子２２６に接続されている。割り込み部２２４は、外部端子の設定値に応じて割り込み通知を発行する。また、レジスタＢ２２５は、当該割り込み通知のステータスを読み取る。Ｂバス２２７は、バスコントローラ含む。
【００２１】
図３は、図１のＳＡＴＡホスト制御部１１１及びＳＡＴＡブリッジ制御部１１２の接続を示す図である。図３のメインチップ３０１は、メインコントローラボード１０１に実装される制御の中核を担うＡＳＩＣである。メインチップ３０１は、メモリ制御部１０３及びＳＡＴＡホスト制御部１１１等を含む。また、図３では、ＳＡＴＡブリッジ制御部１１２をＡＳＩＣ化したブリッジチップ１１２に対し、ＳＡＴＡブリッジ制御部と同じ符号を付している。
【００２２】
図３において、メインチップ３０１は、ブリッジチップ１１２とボード上の差動パターン３０２で接続されている。ブリッジチップ１１２は、マスターとしてのＨＤＤ１１３とＳＡＴＡケーブル２１７を介して接続され、スレーブとしてのＨＤＤ１１４とＳＡＴＡケーブル２１８を介して接続されている。ここで、ブリッジチップ１１２は、上述したようにデータの暗号化・復号化機能を有するセキュリティチップである。このため、ブリッジチップ１１２には、他のチップと通信を行うためのＩ／Ｆとして、必要最小限のＩ／Ｆしか設けられていない。具体的に、ブリッジチップ１１２には、メインチップ３０１、ＨＤＤ１１３、ＨＤＤ１１４と通信するための３つのＩ／Ｆ３０３〜３０５の他に、デバッグ用シリアル出力Ｉ／Ｆ３０６しか設けられていない。このように、ブリッジチップ１１２では、機密性が優先され、ＢＣＰＵ２１０をエミュレートするデバッガを接続するためのＩ／Ｆ等が設けられていない。また、ブリッジチップ１１２では、ブリッジチップ１１２に搭載された内部メモリ、具体的に、ＳＲＡＭ２１３及びＦｌａｓｈメモリ２１２のみで情報が処理され、当該内部メモリ以外に記録領域が増設できない。さらに、上述したように、メインチップ３０１及びブリッジチップ１１２間の接続は、オンボードであり、一般的にケーブルを介して接続されるＳＡＴＡプロトコルアナライザーの利用が困難である。このようなＳＡＴＡ−ＳＡＴＡブリッジ構成における不具合の解析において、従来のようなＭＦＰ１００の記憶デバイスに処理過程の全てを記録する第１のデバッグ手法や、外部からエミュレートするデバッガをＭＦＰ１００に装着する第２のデバッグ手法を適用することができない。このため、独立性が高く内部メモリ以外に記録領域を増設できないブリッジチップ１１２の不具合を解析することができないという問題が生じる。
【００２３】
このような課題を解決するために、本実施の形態では、Ｆｌａｓｈメモリ２１２に記録される記録内容の範囲が指定される。
【００２４】
図４は、図１のＭＦＰ１００の不具合の解析に用いるログのシリアル出力に関する設定を説明するための図である。図４（ａ）は、図１のＳＡＴＡブリッジ制御部１１２にログのシリアル出力を指示するためのＳＤＬ（Setup Debug Log）コマンドの設定の仕様を示す。
【００２５】
ＳＤＬコマンド（切替手段）は、ＳＡＴＡ規格で定義されているベンダーユニークコマンド（空コマンド）に対してＳＡＴＡブリッジ制御部１１２の制御用コマンドとして独自に定義された拡張コマンドである。ＳＤＬコマンドには、図４（ａ）の仕様４０１に記された３つのモード設定の何れかを示す設定値が含まれ、この設定値に基づいてＳＡＴＡブリッジ制御部１１２のモードが切り替わる。本実施の形態では、ユーザがパネル装置１１６やＰＣ２２３等からモード設定として、『出力ＯＦＦ』、『モード１』、及び『モード２』の何れか１つを設定する。『出力ＯＦＦ』が設定された場合、ＳＡＴＡブリッジ制御部１１２はログをシリアル出力しない。以下では、『出力ＯＦＦ』の設定に対応するモードを通常モードとする。『モード１』が設定された場合、ＳＡＴＡブリッジ制御部１１２は、ＳＡＴＡブリッジ制御部１１２が関連するイベントに関する複数のイベント処理の内容や実行結果を含むログをＰＣ２２３へリアルタイムで逐次シリアル出力する。『モード２』が設定された場合、ＳＡＴＡブリッジ制御部１１２は、上記ログを保持し、保持したログを所定のタイミングでＰＣ２２３へシリアル出力する。ユーザが３つのモード設定の中から『モード２』を選択すると、パネル装置１１６やＰＣ２２３において後述する正常ログ取得回数、異常ログ取得開始点、及び強制出力が設定可能となる。
【００２６】
『モード２』の詳細について説明する。『モード２』が設定された場合、ＳＡＴＡブリッジ制御部１１２におけるＳＲＡＭ２１３及びＦｌａｓｈメモリ２１２のメモリ構成が通常モード用からモード２用に変更され、発生したイベント処理単位で通し番号が付される。ログは、ＳＲＡＭ２１３に記録され、ＳＲＡＭ２１３におけるモード２用に割り当てられた記憶領域（以下、単に「ＳＲＡＭ領域」という。）の空き領域が無くなるまで記録される。全てのＳＲＡＭ領域にデータが書き込まれるまでに不具合が発生しない場合には、ＳＲＡＭ領域の先頭から上書きされる。また、『モード２』が設定されて最初に発生したエラーに関するイベントの発生時、つまり、初回エラー発生時からＳＲＡＭ領域に空き領域が無くなるまでの間に記録されていたＳＲＡＭ領域のデータがＦｌａｓｈメモリ２１２にまとめて書き込まれる。このとき、ＳＲＡＭ領域に記録されているエラー直前の正常ログをいくつまでＦｌａｓｈメモリ２１２に書き込むかが、上述した正常ログ取得回数の設定値に基づいて決定される。ＳＡＴＡブリッジ制御部１１２は、Ｆｌａｓｈメモリ２１２においてモード２用に割り当てられた記憶領域（以下、単に「Ｆｌａｓｈメモリ領域」という。）の全てにデータが書き込まれた時点で、ログを記録する処理を停止する。Ｆｌａｓｈメモリ領域に記録されたデータは、デバッグ用シリアル出力Ｉ／Ｆ３０６からＰＣ２２３に出力される。
【００２７】
ここで、シリアル出力するログの記録先は、Ｆｌａｓｈメモリ２１２のみであるので、潤沢な記録領域を確保できず、発生したイベントにおける一部のイベント処理のログのみしか記録できない場合がある。このような場合、前回記録できなかった続きのイベント処理のログを記録するために、不具合の再現性を利用して、同様のイベントを再度発生させることが考えられる。しかし、上述したようにＳＡＴＡブリッジ制御部１１２は独立性が高くＦｌａｓｈメモリ２１２といった内部メモリ以外に記録領域を増設できない。このため、ＳＡＴＡブリッジ制御部１１２は、前回と同様のイベントが発生しても、前回記録できなかった続きのイベント処理のログをＦｌａｓｈメモリ２１２に記録することができない。これに対し、本実施の形態では、異常ログ取得開始点が設定される。例えば、前回記録されたログの通し番号『９９』以降のログを記録したい場合、異常ログ取得開始点に『１００』が設定される。異常ログ取得開始点に『１００』が設定された状態で、前回と同様のイベントが発生すると、通し番号『９９』までのログはＦｌａｓｈメモリ２１２に記録されず、通し番号『１００』のログからＦｌａｓｈメモリ２１２に記録される。このように、本実施の形態では、ＳＤＬコマンドの異常ログ取得開始点の設定値に基づいてＦｌａｓｈメモリ２１２に記録される記録内容の範囲が指定される。
【００２８】
次に、『モード２』の強制出力について説明する。『モード２』において強制出力が有効（設定値：１）に設定されると、ＳＡＴＡブリッジ制御部１１２は、Ｆｌａｓｈメモリ２１２に記録されたログを、ＳＤＬコマンドの送信時にＰＣ２２３にシリアル出力する。なお、強制出力の設定は、ＳＤＬコマンドの送信直前のモード設定が『モード２』である場合のみ有効化され、それ以外の場合では無効化される。
【００２９】
図５は、図１のＳＡＴＡホスト制御部１１１によって実行されるログ記録制御処理の手順を示すフローチャートである。なお、ＳＡＴＡホスト制御部１１１を直接的に制御するのはＨＣＰＵ２０１であるが、図５の処理は、ＳＡＴＡホスト制御部１１１を統括的に制御するメインＣＰＵ１０２によって行われることとする。また、メインＣＰＵ１０２とＨＣＰＵ２０１との間の要求及び通知は、割り込み処理でなされることとする。
【００３０】
図５において、メインＣＰＵ１０２は、ＨＣＰＵ２０１に対してＳＤＬコマンドの発行を要求する（ステップＳ５０１）。要求を受けたＨＣＰＵ２０１は、ＢＣＰＵ２１０に対してＳＤＬコマンドを発行する。次いで、メインＣＰＵ１０２は、ＨＣＰＵ２０１がＳＤＬコマンドに対するステータス応答を受信すると（ステップＳ５０２でＹＥＳ）、不具合の発生状況を再現した再現処理を開始する（ステップＳ５０３）。次いで、メインＣＰＵ１０２は、連続したＷｒｉｔｅＤＭＡコマンドを記述したディスクリプタテーブルを作成し、ディスクリプタテーブルの先頭アドレスを指定してＨＣＰＵ２０１に対してイベントの発生を示すイベント通知の送付を要求する（ステップＳ５０４）。この要求を受けたＨＣＰＵ２０１は、イベント通知の送付として、ディスクリプタテーブルの先頭から逐次ＷｒｉｔｅＤＭＡコマンドをＢＣＰＵ２１０へ送付する。次いで、メインＣＰＵ１０２は、ＨＣＰＵ２０１がＢＣＰＵ２１０からステータス応答を受信すると（ステップＳ５０５でＹＥＳ）、解析対象となるシステムエラーが発生したか否かを判別する（ステップＳ５０６）。
【００３１】
ステップＳ５０６の判別の結果、上記システムエラーが発生しないとき、メインＣＰＵ１０２は、ステップＳ５０４の処理に戻る。メインＣＰＵ１０２は、上記システムエラーが発生するまでステップＳ５０４〜Ｓ５０６の処理を繰り返し実行する。ステップＳ５０６の判別の結果、上記システムエラーが発生したとき、メインＣＰＵ１０２は、ＭＦＰ１００を再起動させる（ステップＳ５０７）。ステップＳ５０７では、メインＣＰＵ１０２が、リブート処理を実行してＭＦＰ１００を再起動させる、若しくは不具合の解析者の指示に応じてメインＣＰＵ１０２がＭＦＰ１００を再起動させる。再起動を完了すると、メインＣＰＵ１０２は、コネクタ２２１を介して接続されたＰＣ２２３にログをシリアル出力する（ステップＳ５０８）。不具合の解析者は、ＭＦＰ１００からシリアル出力されたログをＰＣ２２３から解析する。次いで、メインＣＰＵ１０２は、不具合の解析を継続するか否かを判別する（ステップＳ５０９）。ステップＳ５０９では、例えば、不具合の解析者から不具合の解析を終了する指示を受け付けた場合、メインＣＰＵ１０２は、不具合の解析を継続しないと判別する。一方、不具合の解析者から続きのログのシリアル出力を要求された場合、メインＣＰＵ１０２は、不具合の解析を継続すると判別する。
【００３２】
ステップＳ５０９の判別の結果、不具合の解析を継続するとき、メインＣＰＵ１０２は、ステップＳ５０１の処理に戻り、例えば、上記続きのログに対応する通し番号を異常ログ取得開始点に設定したＳＤＬコマンドの発行をＨＣＰＵ２０１に対して要求する。ステップＳ５０９の判別の結果、不具合の解析を継続しないとき、メインＣＰＵ１０２は、本処理を終了する。
【００３３】
図６は、図１のＳＡＴＡブリッジ制御部１１２によって実行されるログ記録処理の手順を示すフローチャートである。図６の処理は、ＳＡＴＡブリッジ制御部１１２のＢＣＰＵ２１０によって実行される。
【００３４】
図６において、ＢＣＰＵ２１０は、ＨＣＰＵ２０１が発行したＳＤＬコマンドを受信すると（ステップＳ６０１）、ＳＤＬコマンドに設定されたモード設定を特定する。ＳＤＬコマンドに設定されたモード設定が『出力ＯＦＦ』である場合、ＢＣＰＵ２１０は、本処理を終了する。一方、ＳＤＬコマンドに設定されたモード設定が『モード１』及び『モード２』の何れかである場合、ＢＣＰＵ２１０は、ログ記録準備を行う。ログ記録準備として、ＢＣＰＵ２１０は、受信したＳＤＬコマンドに設定されたモード設定に対応するようにＦｌａｓｈメモリ２１２及びＳＲＡＭ２１３の各記憶領域の割り当てを変更する。また、ＢＣＰＵ２１０は、各種ステータスレジスタの内容等の現状の内部情報をヘッダ情報として収集する。収集されたヘッダ情報は、通し番号『０』のログとしてシリアル出力される。なお、Ｆｌａｓｈメモリ２１２には、書き換え回数の寿命が定められている。ＳＡＴＡブリッジ制御部１１２が省電力等で電源ＯＦＦ毎に上記現状の内部情報をＦｌａｓｈメモリ２１２に記録する仕様である場合には、Ｆｌａｓｈメモリ２１２の寿命対策としてＦｌａｓｈメモリ２１２に複数、例えば、１０個の記憶領域を設ける。これらをリングバッファとして利用することで、Ｆｌａｓｈメモリ２１２を延命させることができる。モード設定として『モード２』が設定された場合に、最新情報が記録された１つの記憶領域のみを残し、他の９つの記憶領域をログ記録用として割り当てる。このようにして、本実施の形態では、モード設定として『モード２』が設定された場合、ＳＲＡＭ２１３及びＦｌａｓｈメモリ２１２の記憶領域の構成が、ログを最大限に記録可能な構成に編成される。
【００３５】
また、ＢＣＰＵ２１０は、ＨＣＰＵ２１０にステータス応答を送信する（ステップＳ６０２）。次いで、ＢＣＰＵ２１０は、上記ＳＤＬコマンドに『モード１』及び『モード２』の何れが設定されているかを判別する（ステップＳ６０３）。
【００３６】
ステップＳ６０３の判別の結果、上記ＳＤＬコマンドに『モード２』が設定されているとき、ＢＣＰＵ２１０は、ＳＲＡＭ２１３へのログの記録を開始する（ステップＳ６０４）。『モード２』では、上述したように、ヘッダ情報に通し番号『０』が用いられるので、必ず通し番号『１』からログの記録が開始される。次いで、ＢＣＰＵ２１０は、イベント通知を受信するまで待機する。イベント通知に対応するイベントは、ＢＣＰＵ２１０に対する割り込みイベントや、ＢＣＰＵ２１０自身がレジスタ情報の変化等を検知するイベントを含む。具体的には、コマンド受信、ステータス受信、リセット受信、タイムアウト等の各種エラー検知、又は省電力要求検知等である。イベント通知を受信すると（ステップＳ６０５でＹＥＳ）、ＢＣＰＵ２１０は、受信したイベント通知に関するイベント処理を行う（ステップＳ６０６）。次いで、ＢＣＰＵ２１０は、ログ記録停止状態であるか否かを判別する（ステップＳ６０７）。ログ記録停止状態は、ＳＡＴＡブリッジ制御部１１２において、全てのＦｌａｓｈメモリ領域にデータが書き込まれ、ログをこれ以上記録できない状態である。
【００３７】
ステップＳ６０７の判別の結果、ログ記録停止状態であるとき、ＢＣＰＵ２１０は、後述するステップＳ６０９の処理を行う。ステップＳ６０７の判別の結果、ログ記録停止状態でないとき、ＢＣＰＵ２１０は、ステップＳ６０６で実行したイベント処理のログを通し番号Ｎ番目のログとしてＳＲＡＭ２１３に記録する（ステップＳ６０８）。次いで、ＢＣＰＵ２１０は、全てのイベント処理を完了したか否かを判別する（ステップＳ６０９）。
【００３８】
ステップＳ６０９の判別の結果、何れかのイベント処理を完了しないとき、ＢＣＰＵ２１０は、ステップＳ６０６の処理に戻る。このようにして、本実施の形態では、各イベント処理のログに通し番号が付されてＳＲＡＭ２１３に記録される。ステップＳ６０９の判別の結果、全てのイベント処理を完了したとき、ＢＣＰＵ２１０は、イベント通知に対応するイベントが再起動を必要とするイベントであるか否かを判別する（ステップＳ６１０）。
【００３９】
ステップＳ６１０の判別の結果、イベント通知に対応するイベントが再起動を必要とするイベントであるとき、ＢＣＰＵ２１０は、ＭＦＰ１００を再起動し、本処理を終了する。ステップＳ６１０の判別の結果、イベント通知に対応するイベントが再起動を必要とするイベントでないとき、ＢＣＰＵ２１０は、ログ記録停止状態であるか否かを判別する（ステップＳ６１１）。
【００４０】
ステップＳ６１１の判別の結果、ログ記録停止状態であるとき、ＢＣＰＵ２１０は、ステップＳ６０５の処理に戻る。ログ記録停止状態では、Ｆｌａｓｈメモリ２１２及びＳＲＡＭ２１３へログが記録されることなく、イベント処理が実行される。ステップＳ６１１の判別の結果、ログ記録停止状態でないとき、ＢＣＰＵ２１０は、通し番号をインクリメントする（ステップＳ６１２）。次いで、ＢＣＰＵ２１０は、初回エラーが発生したか否かを判別する（ステップＳ６１３）。初回エラーは、『モード２』が設定されて最初に発生したエラーである。
【００４１】
ステップＳ６１３の判別の結果、初回エラーが発生しないとき、ＢＣＰＵ２１０は、ステップＳ６０５の処理に戻り、イベント通知の受信に応じてログをＳＲＡＭ領域に記録する。ここで、例えば、ＳＲＡＭ領域に空き領域が無い場合、ＢＣＰＵ２１０は、上記ログをＳＲＡＭ領域の先頭から逐次上書きする。すなわち、本実施の形態では、初回エラーが発生するまでの間にＳＲＡＭ領域に記録されたログは、ＳＲＡＭ領域に空き領域が無くなった際に保持されない。ステップＳ６１３の判別の結果、初回エラーが発生したとき、ＢＣＰＵ２１０は、ＳＲＡＭ領域に空き領域が無いか否かを判別する（ステップＳ６１４）。
【００４２】
ステップＳ６１４の判別の結果、ＳＲＡＭ領域に空き領域があるとき、ＢＣＰＵ２１０は、ステップＳ６０５の処理に戻り、イベント通知の受信に応じてログをＳＲＡＭ領域に記録する。ステップＳ６１４の判別の結果、ＳＲＡＭ領域に空き領域が無いとき、ＢＣＰＵ２１０は、ＳＤＬコマンドにおける異常ログ取得開始点の設定値が初期値、例えば、『０』であるか否かを判別する（ステップＳ６１５）。
【００４３】
ステップＳ６１５の判別の結果、ＳＤＬコマンドにおける異常ログ取得開始点の設定値が初期値でないとき、ＢＣＰＵ２１０は、ステップＳ６０８でＳＲＡＭ領域に記録されたログの通し番号が異常ログ取得開始点の設定値に達しているか否かを判別する（ステップＳ６１６）。
【００４４】
ステップＳ６１６の判別の結果、ステップＳ６０８でＳＲＡＭ領域に記録されたログの通し番号が異常ログ取得開始点の設定値に達していないとき、ＢＣＰＵ２１０は、ステップＳ６０５の処理に戻り、イベント通知の受信に応じてログをＳＲＡＭ領域に記録する。ここで、例えば、ＳＲＡＭ領域に空き領域が無い場合、ＢＣＰＵ２１０は、上記ログをＳＲＡＭ領域の先頭から逐次上書きする。すなわち、本実施の形態では、ＳＤＬコマンドにおける異常ログ取得開始点の設定値として初期値以外の値が設定された場合に、ＳＲＡＭ領域に記録されたログであって通し番号が異常ログ取得開始点の設定値に達していないログは、ＳＲＡＭ領域に空き領域が無くなった際に保持されない。
【００４５】
ステップＳ６１５の判別の結果、ＳＤＬコマンドにおける異常ログ取得開始点の設定値が初期値であるとき、又はステップＳ６１６の判別の結果、ステップＳ６０８でＳＲＡＭ領域に記録されたログの通し番号が異常ログ取得開始点の設定値に達しているとき、ＢＣＰＵ２１０は、ＳＲＡＭ領域に記録されたログをＦｌａｓｈメモリ領域に書き込む（ステップＳ６１７）。ステップＳ６１７において、ステップＳ６０１でＳＤＬコマンドを受信してから最初にＦｌａｓｈメモリ領域に書き込まれるログには、当該ＳＤＬコマンドにおける正常ログ取得回数の設定値に対応する個数の正常ログが含まれる。次いで、ＢＣＰＵ２１０は、Ｆｌａｓｈメモリ領域に空き領域が無いか否かを判別する（ステップＳ６１８）。
【００４６】
ステップＳ６１８の判別の結果、Ｆｌａｓｈメモリ領域に空き領域があるとき、ＢＣＰＵ２１０は、ステップＳ６０５の処理に戻る。ステップＳ６１８の判別の結果、Ｆｌａｓｈメモリ領域に空き領域が無いとき、ＢＣＰＵ２１０は、ＳＲＡＭ領域及びＦｌａｓｈメモリ領域への口グの記録を停止し（ステップＳ６１９）、ステップＳ６０５に戻る。以後、ＭＦＰ１００が再起動されるまで、イベント処理が実行されても、ＳＲＡＭ領域及びＦｌａｓｈメモリ領域にログが記録されない。
【００４７】
ステップＳ６０３の判別の結果、上記ＳＤＬコマンドに『モード１』が設定されているとき、ＢＣＰＵ２１０は、シリアル出力処理を実行する（ステップＳ６２０）。ステップＳ６２０では、ＢＣＰＵ２１０は、ヘッダ情報をＰＣ２２３に出力し、また、受信したイベント通知に関するイベント処理のログをＰＣ２２３へリアルタイムで逐次シリアル出力する。次いで、ＢＣＰＵ２１０は、本処理を終了する。
【００４８】
図７は、図１のＳＡＴＡブリッジ制御部１１２によって実行されるログ出力制御処理の手順を示すフローチャートである。図７の処理は、ＳＡＴＡブリッジ制御部１１２のＢＣＰＵ２１０によって行われる。図７の処理は、ＭＦＰ１００が再起動処理を実行した際に行われる。
【００４９】
図７において、ＢＣＰＵ２１０は、再起動処理を完了すると（ステップＳ７０１）、前回のモード設定、具体的に、電源ＯＦＦ状態に移行する直前のモード設定が『モード２』であったか否かを判別する（ステップＳ７０２）。
【００５０】
ステップＳ７０２の判別の結果、前回のモード設定が『モード２』でなかったとき、ＢＣＰＵ２１０は、後述するステップＳ７０６以降の処理を行う。ステップＳ７０２の判別の結果、前回のモード設定が『モード２』であったとき、ＢＣＰＵ２１０は、ログ出力処理を開始する（ステップＳ７０３）。ステップＳ７０３では、ＢＣＰＵ２１０は、Ｆｌａｓｈメモリ領域に記録されたログをＰＣ２２３へシリアル出力する。次いで、ＢＣＰＵ２１０は、Ｆｌａｓｈメモリ領域に記録された全てのログのシリアル出力を完了したか否かを判別する（ステップＳ７０４）。
【００５１】
ステップＳ７０４の判別の結果、Ｆｌａｓｈメモリ領域に記録された何れかのログのシリアル出力を完了しないとき、ＢＣＰＵ２１０は、ステップＳ７０３の処理に戻る。ステップＳ７０４の判別の結果、Ｆｌａｓｈメモリ領域に記録された全てのログのシリアル出力を完了したとき、ＢＣＰＵ２１０は、設定されたモード設定を『モード２』から『出力ＯＦＦ』に切り替え、ＭＦＰ１００の動作モードを通常モードへ移行させる（ステップＳ７０５）。通常モードに移行すると、ＳＲＡＭ２１３及びＦｌａｓｈメモリ２１２において割り当てられる記憶領域の構成が、通常モードに対応する構成に変更される。次いで、ＢＣＰＵ２１０は、通常モードとしてイベント処理を実行する（ステップＳ７０６）。次いで、ＢＣＰＵ２１０は、ステップＳ７０６で実行したイベント処理が電源ＯＦＦ処理であるか否かを判別する（ステップＳ７０７）。
【００５２】
ステップＳ７０７の判別の結果、ステップＳ７０６で実行したイベント処理が電源ＯＦＦ処理でないとき、ＢＣＰＵ２１０は、ステップＳ７０６の処理に戻る。ステップＳ７０７の判別の結果、ステップＳ７０６で実行したイベント処理が電源ＯＦＦ処理であるとき、ＢＣＰＵ２１０は、本処理を終了する。
【００５３】
上述した実施の形態によれば、Ｆｌａｓｈメモリ２１２に記録される記録内容の範囲が指定される。これにより、独立性が高く且つシリアル出力するログをＦｌａｓｈメモリ２１２にしか記録できないＳＡＴＡブリッジ制御部１１２において、ログを効率的に保持することができ、もって、独立性が高く内部メモリ以外に記録領域を増設できないＳＡＴＡブリッジ制御部１１２の不具合を解析することができる。
【００５４】
また、上述した実施の形態では、各イベント処理に対応する通し番号を用いてＦｌａｓｈメモリ２１２に記録される記録内容の範囲が指定される。これにより、ＳＡＴＡブリッジ制御部１１２のログをイベント処理単位で効率的に保持することができる。
【００５５】
上述した実施の形態では、Ｆｌａｓｈメモリ２１２に記録されたログが、ＭＦＰ１００が再起動した際にＳＡＴＡブリッジ制御部１１２からシリアル出力される。ここで、ＭＦＰ１００においてシステムエラーが発生すると、ＭＦＰ１００がロック状態に陥り、ＳＡＴＡブリッジ制御部１１２がＦｌａｓｈメモリ２１２に記録されたログをシリアル出力できなくなる。ＳＡＴＡブリッジ制御部１１２がＦｌａｓｈメモリ２１２に記録されたログを確実にシリアル出力するためには、ＭＦＰ１００が再起動されて、ＭＦＰ１００のロック状態が解除されたタイミングで上記ログがシリアル出力されるのが好ましい。また、不具合の解析者におけるログの取得タイミングの図り易さの観点からも、ＭＦＰ１００の再起動直後にログがＭＦＰ１００からシリアル出力されるのが好ましい。これに対し、本実施の形態では、Ｆｌａｓｈメモリ２１２に記録されたログが、ＭＦＰ１００が再起動した際にＳＡＴＡブリッジ制御部１１２からシリアル出力される。これにより、Ｆｌａｓｈメモリ２１２に記録されたログをＳＡＴＡブリッジ制御部１１２から確実にシリアル出力することができ、更にログの取得タイミングを図り易くすることができる。
【００５６】
また、上述した実施の形態では、ＳＡＴＡブリッジ制御部１１２からＰＣ２２３へＦｌａｓｈメモリ２１２に記録されたログがシリアル通信によって出力される。これにより、独立性が高く内部メモリ以外に記録領域を増設できないＳＡＴＡブリッジ制御部１１２の不具合をＰＣ２２３から解析することができる。
【００５７】
上述した実施の形態では、ＳＡＴＡブリッジ制御部１１２は、暗号モジュールに関するセキュリティ要件の仕様を規定する所定の規格を準拠する。これにより、ＳＡＴＡブリッジ制御部１１２のように上記所定の規格を準拠するＩＣの不具合を解析することができる。
【００５８】
また、上述した実施の形態では、イベント処理の実行結果をリアルタイムで出力するモード１と、イベント処理の実行結果をＦｌａｓｈメモリ２１３に記録するモード２とが切り替えられる。これにより、環境に適した方法でＭＦＰ１００の不具合を解析することができる。
【００５９】
上述した実施の形態では、ＳＡＴＡブリッジ制御部１１２が受信したＳＤＬコマンドに含まれる設定値に基づいて、ＳＡＴＡブリッジ制御部１１２がモード１及びモード２の何れであるかが判別される。これにより、ＳＤＬコマンドからＳＡＴＡブリッジ制御部１１２のモード設定を容易に特定することができる。
【００６０】
なお、本実施の形態のようにセキュアな環境であり且つ利用可能な記憶デバイスがブリッジチップ１１２の内部メモリのみといった少ないメモリ資源の状況下において、シリアル出力されるログは必要最低限の情報量であることが好ましい。例えば、ログは、短縮された文字と数字等の組み合わせで圧縮された文字列であっても良い。ログにおける情報量の圧縮は、不具合の解析のし易さとのトレードオフであるで、適用するシステムの記録領域のサイズやメイン処理への影響度に基づいて適切な情報量（文字量）が決定されれば良い。
【００６１】
以上、本発明について、上述した実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。例えば、モード設定が、ブリッジチップ１１２の入力端子１〜４の設定に基づいて行われても良い。本実施の形態では、図４（ｂ）に示す端子仕様４０２に基づいてブリッジチップ１１２の入力端子１〜４が設定される。端子の設定は、ＭＦＰ１００の起動中及び起動後の任意のタイミングで設定される。これらの端子の設定は、ＳＡＴＡブリッジ制御部１１２をコントロールするＢＣＰＵ２１０に通知される。また、本実施の形態では、ＭＦＰ１００の起動後の任意のタイミングでログのシリアル出力の設定がなされた場合には、まず、現状の内部状態をログのヘッダ情報として出力し、それ以降はイベント処理単位でログをシリアル出力する。なお、ログをシリアル出力するイベントの種類やその処理内容に関する仕様は、ブリッジチップ１１２の開発時に予め決定されていることとする。
【００６２】
図８は、図６のログ記録処理の変形例の手順を示すフローチャートである。図８の処理も、ＳＡＴＡブリッジ制御部１１２のＢＣＰＵ２１０によって実行される。図８の処理は、ブリッジチップ１１２の入力端子１，２に対して『モード１』及び『モード２』の何れかを示す設定が行われ、また、ブリッジチップ１１２の入力端子３，４に対して『固定』及び『可変』の何れかを示す設定が行われていることを前提とする。
【００６３】
図８において、ＢＣＰＵ２１０は、処理を実行中に（ステップＳ８０１）、ＳＤＬ割り込みを検知したか否かを判別する（ステップＳ８０２）。
【００６４】
ステップＳ８０２の判別の結果、ＳＤＬ割り込みを検知しないとき、ＢＣＰＵ２１０は、ステップＳ８０１の処理に戻って、実行中の処理を継続する。ステップＳ８０２の判別の結果、ＳＤＬ割り込みを検知したとき、ＢＣＰＵ２１０は、ブリッジチップ１１２の入力端子１，２の設定が『モード１』及び『モード２』の何れであるかを判別する（ステップＳ８０３）。
【００６５】
ステップＳ８０３の判別の結果、ブリッジチップ１１２の入力端子１，２の設定が『モード１』であるとき、ＢＣＰＵ２１０は、ステップＳ６２０の処理を行う。ステップＳ８０３の判別の結果、ブリッジチップ１１２の入力端子１，２の設定が『モード２』であるとき、ＢＣＰＵ２１０は、ブリッジチップ１１２の入力端子３，４の設定が『固定』及び『可変』の何れであるかを判別する（ステップＳ８０４）。
【００６６】
ステップＳ８０４の判別の結果、ブリッジチップ１１２の入力端子３，４の設定が『固定』であるとき、ＢＣＰＵ２１０は、この設定に対応するログ記録準備を行い（ステップＳ８０５）、ステップＳ６０４〜Ｓ６１４の処理を行う。ステップＳ８０４の判別の結果、ブリッジチップ１１２の入力端子３，４の設定が『可変』であるとき、ＢＣＰＵ２１０は、前回実行したログ記録処理における後述するステップＳ８０８で保持された最終通し番号を取得する。ＢＣＰＵ２１０は、当該最終通し番号のログをＦｌａｓｈメモリ領域からＳＲＡＭ領域に読み出す。また、ＢＣＰＵ２１０は、上記設定に対応するログ記録準備を行い（ステップＳ８０５）、ステップＳ６０４〜Ｓ６１４の処理を行う。
【００６７】
ステップＳ６１４の判別の結果、ＳＲＡＭ領域に空き領域があるとき、ＢＣＰＵ２１０は、ステップＳ６０５の処理に戻り、イベント通知の受信に応じてログをＳＲＡＭ領域に記録する。ステップＳ６１４の判別の結果、ＳＲＡＭ領域に空き領域が無いとき、ＢＣＰＵ２１０は、ブリッジチップ１１２の入力端子３，４の設定が『可変』であるか否かを判別する（ステップＳ８０７）。
【００６８】
ステップＳ８０７の判別の結果、ブリッジチップ１１２の入力端子３，４の設定が『可変』であるとき、ＢＣＰＵ２１０は、ステップＳ６１６の処理を行う。ステップＳ８０７の判別の結果、ブリッジチップ１１２の入力端子３，４の設定が『可変』でないとき、ＢＣＰＵ２１０は、ステップＳ６１８、Ｓ６１９の処理を行う。次いで、ＢＣＰＵ２１０は、ステップＳ６０８で記録されたログの通し番号を最終通し番号として保持し（ステップＳ８０８）、ステップＳ６０４の処理に戻り、継続処理に備える。
【００６９】
上述した実施の形態では、ＳＡＴＡブリッジ制御部１１２に設けられる入力端子１〜４の設定に基づいて、ＳＡＴＡブリッジ制御部１１２がモード１及びモード２の何れであるかが判別される。これにより、ＳＤＬコマンドを生成することなく、ＳＡＴＡブリッジ制御部１１２のモード設定を特定することができる。
【００７０】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムをネットワーク又は記憶媒体を介してシステム又は装置に供給し、該システム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７１】
１００  ＭＦＰ
１０２  メインＣＰＵ
１１２  ＳＡＴＡブリッジ制御部
２１０  ＢＣＰＵ
２１２  Ｆｌａｓｈメモリ
２２３  ＰＣ
【図１】
2020197857.tif 000003
【図２】
2020197857.tif 000004
【図３】
2020197857.tif 000005
【図４】
2020197857.tif 000006
【図５】
2020197857.tif 000007
【図６】
2020197857.tif 000008
【図７】
2020197857.tif 000009
【図８】
2020197857.tif 000010