(57)【要約】【課題】  各種周辺デバイスへの各種バスを介してのプロセッサのアクセス履歴の情報を漏れなく且つプロセッサに余計な負担をかけずに採取することを目的とする。【解決手段】  本発明のモニタ回路は、プロセッサとは独立して動作し、該プロセッサがバスを介して周辺デバイスにアクセスする際に前記バス上を流れる各種信号を予め定めたフォーマットのバスアクセス履歴情報に変換して収集する収集手段と、前記プロセッサとは独立して動作し、前記収集手段から前記バスアクセス履歴を受け取り蓄積するための蓄積手段とから構成される。【選択図】      図２
2014021908.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとは独立して動作し、該プロセッサがバスを介して周辺デバイスにアクセスする際に前記バス上を流れる各種信号を、直接または予め定めたフォーマットに変換して、バスアクセス履歴情報として収集する収集手段と、
前記プロセッサとは独立して動作し、前記収集手段から前記バスアクセス履歴を受け取り蓄積するための蓄積手段と
を備えたことを特徴とするモニタ回路。
【請求項２】
プロセッサとは独立して動作し、該プロセッサがバスを介して周辺デバイスにアクセスする際に前記バス上を流れる各種信号を、直接または予め定めたフォーマットに変換して、バスアクセス履歴情報として収集する収集手段と、
前記プロセッサとは独立して動作し、前記収集手段から前記バスアクセス履歴情報を受け取り、該バスアクセス履歴情報が予め定めた条件を満たすか否かを判定する判定手段と、
前記プロセッサとは独立して動作し、前記判定手段において前記予め定めた条件を満たすと判定された前記バスアクセス履歴情報を蓄積するための蓄積手段と
を備えたことを特徴とするモニタ回路。
【請求項３】
前記蓄積手段に蓄積された前記バスアクセス履歴情報をサーバに送信する送信手段を備えることを特徴とする請求項１または２記載のモニタ回路。
【請求項４】
プロセッサとは独立して、該プロセッサがバスを介して周辺デバイスにアクセスする際に前記バス上を流れる各種信号を、直接または予め定めたフォーマットに変換して、バスアクセス履歴情報として収集する収集ステップと、
前記プロセッサとは独立して、前記収集ステップで収集された前記バスアクセス履歴を受け取り蓄積手段に蓄積するための蓄積ステップと
を含むことを特徴とするモニタ方法。
【請求項５】
プロセッサとは独立して、該プロセッサがバスを介して周辺デバイスにアクセスする際に前記バス上を流れる各種信号を、直接または予め定めたフォーマットに変換して、バスアクセス履歴情報として収集する収集ステップと、
前記プロセッサとは独立して、前記収集ステップで収集された前記バスアクセス履歴情報を受け取り、該バスアクセス履歴情報が予め定めた条件を満たすか否かを判定する判定ステップと、
前記プロセッサとは独立して、前記判定ステップにおいて前記予め定めた条件を満たすと判定された前記バスアクセス履歴情報を蓄積手段に蓄積するための蓄積ステップと
を含むことを特徴とするモニタ方法。
【請求項６】
前記蓄積手段に蓄積された前記バスアクセス履歴情報をサーバに送信する送信ステップを含むことを特徴とする請求項４または５記載のモニタ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサアクセス履歴モニタ回路およびプロセッサアクセス履歴モニタ方法に関し、特に、プロセッサからの各種デバイスへのアクセス履歴を監視するプロセッサアクセス履歴モニタ回路およびプロセッサアクセス履歴モニタ方法に関する。
【背景技術】
【０００２】
一般的なコンピュータシステムにおいて、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムの起動からＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）プログラムの起動までのシーケンスは、以下のような順序となる。
【０００３】
一般的なコンピュータシステムを示す図５において、システムの電源が投入されると、まず、プロセッサ４０がＢＩＯＳメモリ（通常、ＥＰＲＯＭ／Ｆｒａｓｈメモリなどの不揮発メモリ）４１に記憶されたＢＩＯＳプログラムをバス４５およびバスアクセスブリッジ回路４４を介して読み出して（ステップ（１））、該プログラムの実行を開始する。
【０００４】
次に、プロセッサ４０は、ＢＩＯＳプログラムに従って、ハードディスク４２に記憶されたＢｏｏｔローダープログラムをバス４５およびブリッジ回路４４を介して読み出して実行する（ステップ（２））。
【０００５】
さらに、プロセッサ４０は、Ｂｏｏｔローダープログラムに従って、ハードディスク４２内のＯＳプログラムを読み出し、ＯＳプログラムを起動する。その際、ＯＳプログラムの一部は主記憶メモリ４３に常駐する（ステップ（３））。
【０００６】
以上のようにしてＯＳプログラムの起動が完了する。このようにしてＯＳプログラムの起動が完了するまでの間、プロセッサ４０は、バス４５に接続された他の各種のデバイス(図示せず)にもバス４５を介して起動時に必要な様々なアクセスを行う。
【０００７】
一般的に、プロセッサ４０は、障害発生時等の際の原因解析のために、プロセッサ４０からバス４５へのアクセスの履歴であるバスアクセス履歴を収集している。そして、このバスアクセス履歴は、プロセッサ４０がＯＳプログラムの起動完了後にバスアクセス履歴収集プログラムを実行することによりソフトウェア的に採取され、所定のメモリに格納されている。
【０００８】
特許文献１に、情報処理装置のダンプデータをサーバが迅速かつ確実に採取することが可能な情報処理システムが記載されている。
【０００９】
特許文献１に記載の情報処理システムは、ダンプ採取の指示を受けて、情報処理システム内のＳＣＵ（システム制御装置）がダンプデータを採取し、専用のネットワークを介して、ダンプデータをサーバに送信する。
【００１０】
また、特許文献２には、簡易な構成および低コストにて、より正確に障害対策を実現できるよう、情報処理装置内の情報を採取することができる情報処理装置が記載されている。
【００１１】
特許文献２に記載の情報処理装置は、情報処理装置内の基本入出力システム（ＢＩＯＳ）が、一定時間間隔で情報処理装置情報の採取を行う。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００９−１９３２３１号公報
【特許文献２】特開２００８−１７６３５３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
図５に示したコンピュータシステムでは、ＢＩＯＳプログラムおよびＯＳプログラムの起動が完了して、バスアクセス履歴収集プログラムが起動するまでの期間中のプロセッサ４０によるバスアクセス履歴は収集できないという問題点がある。
【００１４】
このため、例えば、ＯＳプログラム起動中に障害が発生した場合、その障害の原因が何らかのバスアクセスにあったとしても、それまでのバスアクセス履歴が採取できていないため、障害原因の特定が困難となる。
【００１５】
また、プロセッサ４０自身が、バスアクセス履歴収集プログラムに従って、バスアクセス履歴を所定のメモリに書き込む必要があるため、この作業がプロセッサ４０にとって余計なオーバーヘッドになるという問題点もある。
【００１６】
特許文献１は、障害発生時点のダンプデータの採取について開示するに留まり、障害発生前のアクセスログの事前採取については何ら記載されていない。
【００１７】
また、特許文献２では、ＢＩＯＳ自身が情報採取を行うため、ＢＩＯＳ起動途中の情報採取は行えない。
【００１８】
本発明の目的は、上述した問題点を解決するプロセッサアクセス履歴モニタ回路およびプロセッサアクセス履歴モニタ方法を提供することにある。
【課題を解決するための手段】
【００１９】
本発明のモニタ回路は、プロセッサとは独立して動作し、該プロセッサがバスを介して周辺デバイスにアクセスする際に前記バス上を流れる各種信号を予め定めたフォーマットのバスアクセス履歴情報に変換して収集する収集手段と、前記プロセッサとは独立して動作し、前記収集手段から前記バスアクセス履歴を受け取り蓄積するための蓄積手段とから構成される。
【００２０】
本発明のモニタ方法は、プロセッサとは独立して、該プロセッサがバスを介して周辺デバイスにアクセスする際に前記バス上を流れる各種信号を予め定めたフォーマットのバスアクセス履歴情報に変換して収集する収集ステップと、前記プロセッサとは独立して、前記収集ステップで収集された前記バスアクセス履歴を受け取り蓄積手段に蓄積するための蓄積ステップとを含む。
【発明の効果】
【００２１】
以上、本発明には、各種周辺デバイスへの各種バスを介してのプロセッサのアクセス履歴の情報を漏れなく且つプロセッサに余計な負担をかけずに採取することができるという効果がある。
【図面の簡単な説明】
【００２２】
【図１】本発明の基本的な構成を示すブロック図である。
【図２】本発明の第１の実施形態を示すブロック図である。
【図３】本発明の第２の実施形態を示すブロック図である。
【図４】本発明の第２の実施形態におけるフィルタ部の動作を説明する図である。
【図５】一般的なコンピュータシステムの構成を示すブロック図である。
【発明を実施するための形態】
【００２３】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００２４】
図１は本発明の基本的な構成を示すブロック図である。
【００２５】
図１を参照すると、本発明の基本的な構成は、モニタシステム１００と、サーバ装置２００と、履歴保持用ディスク２０１とを有する。
【００２６】
モニタシステム１００は、プロセッサ１０１と、主記憶メモリ１０２と、複数のデバイス（Ａ〜Ｄ）１０３と、モニタ回路１１０と、モニタ回路１１０とプロセッサ１０１、メモリ１０２、デバイスＡおよびＢ並びにデバイスＣおよびＤとをそれぞれ接続するシステムバス、メモリバス、高速バスおよび低速バスとを備える。
【００２７】
なお、本発明においては、プロセッサ１０１を除き、各種バスに接続されるデバイスＡ〜Ｄや主記憶メモリ等は周辺デバイスと称す。
【００２８】
モニタ回路１１０は、バスアクセスブリッジ１１１とログメモリ１１２とネットワーク制御部１１３とから構成される。
【００２９】
モニタシステム１００は、ネットワークでサーバ装置２００と接続され、モニタシステム１００で収集したバスアクセス履歴をサーバ装置２００経由で履歴保持用ディスク２０１に格納する。
【００３０】
モニタ回路１１０は、プロセッサ１０１からデバイス（Ａ〜Ｄ）１０３および主記憶メモリ１０２等の各種周辺デバイスへの各種バスを介してのアクセス時のバスアクセス履歴を収集し、ログメモリ１１２へ格納する。
【００３１】
バスアクセスブリッジ１１１は、プロセッサ１０１から各種周辺デバイスへのバスを介してのアクセスを仲介する役割を果たす。
【００３２】
モニタ回路１１０は、例えばＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略称）のようなハードウェアで実現される。
【００３３】
ログメモリ１１２に予め定めた数のバスアクセス履歴情報が格納されるか、または、予め定めた時間が経過する毎に、制御部１１３は、ログメモリ１１２内のバスアクセス履歴情報をネットワークを経由してサーバ装置２００に転送し、サーバ装置２０は転送されてきた情報を比較的大記憶容量の履歴保持用ディスク２０１へ格納する。
【００３４】
次に、本発明の第１の実施形態について図２を参照して詳細に説明する。
【００３５】
図２は、図１のモニタ回路１１０の詳細を示すブロック図である。
【００３６】
モニタ回路１１０は、図１に示したバスアクセスブリッジ１１１とログメモリ１１２とネットワーク制御部１１３とに加えて、さらに、ルートバス制御部１１４と、エンドバス制御部１１５と、ログメモリリード制御部１１６とを含む。
【００３７】
なお、図１では、ルートバス制御部１１４とエンドバス制御部１１５とは省略してある。
【００３８】
バスアクセスブリッジ１１１は、プロセッサ１０１から各種周辺デバイスへの各種バスを介してのアクセスを仲介する役割を果たす。
【００３９】
ルートバス制御部１１４は、プロセッサ１０１と接続する側の制御部である。ルートバス制御部１１４は、一般的に、ペリフェラルバス（例えば、ＰＣＩ、ＰＣＩｅ）などのシステムバスと比較的高速なメモリバスと接続され、プロセッサ１０１とのデータの受け渡しを行う。
【００４０】
エンドバス制御部１１５は、各種周辺デバイスバスと接続された制御部である。エンドバス制御部１１５は、例えば、高速バス（例えば、ＰＣＩ、ＰＣＩｅ）、低速バス（例えば、ＭＤＩＯ、Ｉ２Ｃ）およびメモリバスと接続され、各種周辺デバイスバスとのデータの受け渡しを行う。
【００４１】
バスアクセスブリッジ１１１は、アクセス履歴収集制御部１１１１とログメモリライト制御部１１１４とを含む。
【００４２】
ここで、アクセス履歴収集制御部１１１１、ログメモリライト制御部１１１４、ログメモリ１１２、ログメモリリード制御部１１６およびはネットワーク制御部１１３は、全て、プロセッサ１０１の介在なしに独立して動作する専用のハードウェア等で実現される。
【００４３】
アクセス履歴収集制御部１１１１は、各種バス上を流れる各種信号（例えば、プロセッサ１０１が周辺デバイスをアクセスしたときのアクセスアドレス信号およびデータ信号並びにライト信号、リード信号およびエラー信号などの制御信号等）を監視して全て取り込み、該各種信号を、直接または予め定めたフォーマットに変換して、アクセス履歴情報としてログメモリライト制御部１１１４に送る。
【００４４】
ログメモリライト制御部１１１４は、制御部１１１１からアクセス履歴情報を受け取る度に、ログメモリ１１２に書き込んでいく。
【００４５】
さらに、ログメモリライト制御部１１１４は、例えば、ログメモリ１１２に予め定めた数のバスアクセス履歴情報を格納した場合に、ログメモリリード制御部１１６にその旨を通知する。
【００４６】
ログメモリリード制御部１１６は、ログメモリライト制御部１１１４からの通知を受けて、ログメモリ１１２からバスアクセス履歴情報を読み出し、制御部１１３に送る。
【００４７】
ネットワーク制御部１１３は、送られてきたバスアクセス履歴情報をネットワーク経由でサーバ装置２００の履歴保持用ディスク２０１に転送する。
【００４８】
以上、本実施形態には、各種周辺デバイスへの各種バスを介してのプロセッサのアクセス履歴の情報を漏れなく且つプロセッサに余計な負担をかけずに採取することができるという効果がある。
【００４９】
その理由は、プロセッサ１０１の介在なしに独立して動作するアクセス履歴収集制御部１１１１、ログメモリライト制御部１１１４およびログメモリ１１２が、プロセッサ１０１によるＯＳやＢＩＯＳプログラムの起動前にもプロセッサ１０１の介在なしに各種バスへのアクセス履歴情報を収集できるからである。
【００５０】
次に、本発明の第２の実施形態について詳細に説明する。
【００５１】
図３は本発明の第２の実施形態を示すブロック図である。
【００５２】
本実施形態においては、図２に示した第１の実施形態の構成におけるアクセス履歴収集制御部１１１１とログメモリライト制御部１１１４との間にフィルタ部１１１２が設けられるとともに、フィルタ部１１１２に規則性レジスタ部１１１３が設けられている。
【００５３】
ここで、フィルタ部１１１２および規則性レジスタ部１１１３もプロセッサ１０１の介在なしに独立して動作する。
【００５４】
次に、本実施形態の動作についてフィルタ部１１１２および規則性レジスタ部１１１３の動作を中心に説明する。
【００５５】
第１の実施形態と同様に、アクセス履歴収集制御部１１１１は、各種バス上を流れる各種信号（例えば、プロセッサ１０１が周辺デバイスをアクセスしたときのアクセスアドレス信号およびデータ信号並びにライト信号、リード信号およびエラー信号などの制御信号等）を監視して全て取り込み、該各種信号を、直接または予め定めたフォーマットに変換して、アクセス履歴情報としてフィルタ部１１１２に送る。
【００５６】
フィルタ部１１１２は、規則性レジスタ部１１１３に予め設定されているアクセス履歴収集対象抽出条件（以下、「フィルタ条件」という。）を参照し、アクセス履歴収集制御部１１１１から送られてきたアクセス履歴情報が、フィルタ条件を満たすか判定する。
【００５７】
ログメモリライト制御部１１１４は、フィルタ部１１１２で上記フィルタ条件を満たすと判定されたアクセス履歴情報をログメモリ１１２に書き込んでいく。
【００５８】
次に、図４を参照してフィルタ部１１１２の動作について説明する。
【００５９】
上記予め定めたフォーマットのバスアクセス履歴情報の一例を、図４に「書き込みデータＡ」として示している。この例では、ＡＤＲＳ（アドレス）部、ＤＡＴＡ（データ）部、ＣＭＤ（コマンド）部およびＥＲＲ（エラー）部からなるフォーマットで構成されるよう整形されている。
【００６０】
フィルタ部１１１２は、規則性レジスタ部１１１３内のフィルタ条件を参照し、書き込みデータＡがフィルタ条件を満たすか判定する。
【００６１】
図４に規則性レジスタ部１１１３の例を示している。
【００６２】
規則性レジスタ部１１１３はｎ（ｎは整数）個の規則レジスタ１〜ｎからなり、それらの規則レジスタ１〜ｎ内にそれぞれ条件が指定可能であり、それらの条件のうちどれか１つでも、書き込みデータＡが満たす場合には、書き込みデータＡはログメモリ１１２への書き込み対象のデータとなる。
【００６３】
各規則レジスタは、ａｄｒｓ部とａｄ−ｂｙｔｅ数部とｄａｔａパタン部とｃｍｄ部とｅｒｒ部とがある。
【００６４】
ａｄｒｓ部には、アドレス値が設定される。ａｄｒｓ部にアドレス値を設定した場合には、フィルタ部１１１２は、書き込みデータＡのＡＤＲＳ部の値とａｄｒｓ部の値とを比較し、一致すれば条件を満たすと判定する。
【００６５】
ａｄ−ｂｙｔｅ数部には、アドレス値の幅が設定され、基準アドレス値から、どれくらいのバイト数分のアドレス値範囲を収集対象とするかを示す。例えば、ａｄｒｓ部にアドレス値（Ａ）を、ａｄ−ｂｙｔｅ数部に２を設定した場合には、フィルタ部１１１２は、アドレス値（Ａ）から（アドレス値（Ａ）＋２）までのアドレスの範囲内に、書き込みデータＡのＡＤＲＳ部の値が入る場合に、書き込みデータＡが条件を満たすと判定する。
【００６６】
ｄａｔａパタン部には、基準データ値が設定される。ｄａｔａパタン部にデータ値を設定した場合には、フィルタ部１１１２は、書き込みデータＡのＤＡＴＡ部の値とｄａｔａパタン部の値を比較し、一致すれば条件を満たすと判定する。
【００６７】
ｃｍｄ部には、コマンドが格納される。ｃｍｄ部にあるコマンドを設定した場合には、書き込みデータＡのＣＭＤ部のコマンドとｃｍｄ部のコマンドとを比較し、一致すれば条件を満たすと判定する。
【００６８】
ｅｒｒ部には、バスエラー種別が設定される。ｅｒｒ部にあるバスエラー種別を設定した場合には、書き込みデータＡのＥＲＲ部のバスエラー種別とｅｒｒ部のバスエラー種別とを比較し、一致すれば条件を満たすと判定する。
【００６９】
各規則レジスタ１〜ｎ内のａｄｒｓ部、ｄａｔａパタン部、ｃｍｄ部およびｅｒｒ部のうち、複数個の項目を設定した場合には、フィルタ部１１１２は、すべての設定された項目の条件を満たす場合に、その規則レジスタで設定した条件を書き込みデータＡが満たすと判定する。
【００７０】
以上のようにして、各規則レジスタ１〜ｎの少なくとも一つに設定した条件に合致した場合にのみ、ログメモリライト制御部１１１４は、書き込みデータＡをログメモリ１１２に出力する。
【００７１】
ログメモリライト制御部１１１４は、ログメモリ１１２に予め定めた数のバスアクセス履歴情報を格納した場合に、ログメモリリード制御部１１６にその旨を通知する。
【００７２】
ログメモリリード制御部１１６は、ログメモリライト制御部１１１４からの通知を受けて、ログメモリ１１２からバスアクセス履歴情報を読み出し、制御部１１３に送る。
【００７３】
ネットワーク制御部１１３は、送られてきたバスアクセス履歴情報をネットワーク経由でサーバ装置２００の履歴保持用ディスク２０１に転送する。
【００７４】
以上、本実施形態には、各種周辺デバイスへの各種バスを介してのプロセッサのアクセス履歴の情報をプロセッサに余計な負担をかけずに採取することができるという効果がある。
【００７５】
その理由は、プロセッサ１０１の介在なしに独立して動作するアクセス履歴収集制御部１１１１、ログメモリライト制御部１１１４およびログメモリ１１２が、プロセッサ１０１によるＯＳやＢＩＯＳプログラムの起動前にもプロセッサ１０１の介在なしに各種バスへのアクセス履歴情報を収集できるからである。
【００７６】
また、本実施形態には、採取するバスアクセス履歴情報の種類を任意に指定してバスアクセス履歴情報を収集できるという効果がある。
【００７７】
その理由は、採取する対象のバスアクセス履歴情報を指定する情報を規則性レジスタ部１１１３に任意に設定できるからである。
【符号の説明】
【００７８】
１００    モニタシステム
１０１    プロセッサ
１０２    主記憶メモリ
１０３    デバイス
１１０    モニタ回路
１１１    バスアクセスブリッジ
１１１１    アクセス履歴収集制御部
１１１２    フィルタ部
１１１３    規則性レジスタ部
１１１４    ログメモリライト制御部
１１２    ログメモリ
１１３    ネットワーク制御部
１１４    ルートバス制御部
１１５    エンドバス制御部
２００    サーバ装置
２０１    履歴保持用ディスク
４０    プロセッサ
４１    ＢＩＯＳメモリ
４２    ハードディスク
４３    主記憶メモリ
４４    ブリッジ回路
４５    バス
【図１】
2014021908.tif 000003
【図２】
2014021908.tif 000004
【図３】
2014021908.tif 000005
【図４】
2014021908.tif 000006
【図５】
2014021908.tif 000007