(57)【要約】【課題】  コンピュータ装置の入出力ポートに接続する装置として、バッテリーでバックアップされたメモリを内蔵し、当該メモリに対してコンピュータ装置内のトレース情報を格納し、障害時のトレース調査を可能とするトレース情報処理装置を提供する。【解決手段】  本発明は、ＵＳＢを介してコンピュータ装置からのトレース情報をメモリに記録するトレース情報処理装置であって、コンピュータ装置におけるアプリケーションからの指示によって送出されたトレース情報に関する転送データをＵＳＢ制御部を経由して受信し、転送データのヘッダ部分を解析して対応するコマンドを生成し、コマンドにしたがってメモリへのトレース情報の書込み／読出しを実行することを特徴とする。【選択図】図１
2007265264.tif 000002
【特許請求の範囲】
【請求項１】
ＵＳＢを介してコンピュータ装置からのトレース情報をメモリに記録するトレース情報処理装置であって、
前記コンピュータ装置におけるアプリケーションからの指示によって送出されたトレース情報に関する転送データをＵＳＢ制御部を経由して受信する手段と、
前記転送データのヘッダ部分を解析して対応するコマンドを生成する手段と、
前記コマンドにしたがって前記メモリに対し前記トレース情報の書込みあるいは読出しを実行する手段と、
を有することを特徴とするトレース情報処理装置。
【請求項２】
前記メモリは、ダイナミックＲＡＭを含むメモリであることを特徴とする請求項１に記載のトレース情報処理装置。
【請求項３】
前記メモリは、バッテリ電源を備えることを特徴とする請求項１あるいは２に記載のトレース情報処理装置。
【請求項４】
ＵＳＢを介してコンピュータ装置からのトレース情報をトレース情報処理装置のメモリに記録するトレース情報記録方法であって、
前記コンピュータ装置におけるアプリケーションからの指示によって送出されたトレース情報に関する転送データをＵＳＢ制御部を経由して受信するステップと、
前記転送データのヘッダ部分を解析して対応するコマンドを生成するステップと、
前記コマンドにしたがって前記メモリに対し前記トレース情報の書込みあるいは読出しを実行するステップと、
を有することを特徴とするトレース情報記録方法。
【請求項５】
ＵＳＢを介してコンピュータ装置からのトレース情報をトレース情報処理装置のメモリに記録するトレース情報記録プログラムであって、
前記トレース情報処理装置として振るまうコンピュータに、
前記コンピュータ装置におけるアプリケーションからの指示によって送出されたトレース情報に関する転送データをＵＳＢ制御部を経由して受信するステップと、
前記転送データのヘッダ部分を解析して対応するコマンドを生成するステップと、
前記コマンドにしたがって前記メモリに対し前記トレース情報の書込みあるいは読出しを実行するステップと、
を実行させるトレース情報記録プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置におけるオペレーティングシステム（ＯＳ）が記録するトレース情報（ログ情報）を入出力インタフェースを介して外部メモリに保持し、障害発生時に追跡調査に役立てるトレース情報処理技術に関する。
【背景技術】
【０００２】
従来、サーバ、パソコンなどのコンピュータ装置が使用するＯＳ（オペレーティングシステム）やテストプログラムのデバッグにおいて発生する障害を調査するにあたり、システムが記録するトレース情報やロギング情報、あるいはアプリケーションによって記録することが指示された情報を障害発生時に解析することで障害原因の調査を行っている。
【０００３】
これらのトレース情報やロギング情報は、システムに内蔵されるメモリやＤｉｓｋ（外部記憶装置）、あるいは外部に接続されたＤｉｓｋに記録されるのが一般的である。
【０００４】
しかし、コンピュータ装置がオペレーティングシステムの運用中や、テストプログラムのデバッグ中に、何らかの原因でハングアップしたり、電源Ｏｆｆしてしまうような障害が発生したケースにおいては、コンピュータ装置が稼働中に記録されたトレースやロギング情報を参照することが困難となる。
【０００５】
たとえ、外付けのメモリであっても、これらの情報が、まだコンピュータ装置内のキャッシュにあって当該外部メモリへの書き込みが完了していないケースにおいては、システムを再起動しても情報が残らず、直前の情報を読み取ることができないという問題が発生していた。
【０００６】
上記問題に対し、ホストであるコンピュータ装置にメモリ内蔵のボードを接続し、障害発生時に、障害データを吸い上げる方式が提案されている（特許文献１参照）。しかしながら、コンピュータ装置内の障害データ吸い上げのためには、ホスト側にトレース情報専用の情報格納ロジックを設ける必要があり、固定的で自由度に乏しく、各種のアプリケーションを使用するコンピュータ装置に対して個別の対応が必要とされ、その煩雑性が問題となる。
【特許文献１】特開昭６２−００１０４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記問題点を解決するため、本発明では、コンピュータ装置の入出力ポートに接続する装置として、バッテリーでバックアップされたＤＲＡＭ（Dynamic Random Access Memory）などのメモリを内蔵し、当該メモリに対してコンピュータ装置内のトレース情報を格納および読出するリードライト機能をファームウエアとして組み込むことによって障害時のトレース調査を可能とするトレース情報処理装置を提供する。
【課題を解決するための手段】
【０００８】
第一の発明は、ＵＳＢ（Universal Serial Bus）を介してコンピュータ装置からのトレース情報をメモリに記録するトレース情報処理装置であって、前記コンピュータ装置におけるアプリケーションからの指示によって送出されたトレース情報に関する転送データをＵＳＢ制御部を経由して受信する手段と、前記転送データのヘッダ部分を解析して対応するコマンドを生成する手段と、前記コマンドにしたがって前記メモリに対し前記トレース情報の書込みまたは読出しを実行する手段と、を有することを特徴とするトレース情報処理装置に関する。
【０００９】
すなわち、第一の発明によれば、トレース情報処理装置は、コンピュータ装置で使用するアプリケーションからの指示によるトレース情報の転送データを受信すると、転送データのヘッダ部を解析して、書込み、読出しなどの対応コマンドを生成し、そのコマンドにしたがって自身に内蔵するメモリにトレース情報を記録する構成とすることによって、コンピュータ装置のトレース情報が、コンピュータ装置の外付メモリにＵＳＢを介して迅速に格納され、故障時の簡便なバックアップ機構が実現される。
【００１０】
第二の発明は、前記メモリは、ダイナミックＲＡＭを含むメモリであることを特徴とする第一の発明に記載のトレース情報処理装置に関する。
【００１１】
すなわち、第二の発明によれば、トレース情報処理装置におけるトレース情報記録用の自身に内蔵するメモリは、一般のＵＳＢメモリに使用されるようなフラッシュメモリでなく、ダイナミックＲＡＭを採用することで書込みの速度を上げて書込み時の次々送出されてくる転送データのオーバーランを防ぐことが可能となる。
【００１２】
第三の発明は、前記メモリは、バッテリ電源を備えることを特徴とする上記第一あるいは第二の発明に記載のトレース情報処理装置に関する。
【００１３】
すなわち、第三の発明によれば、メモリ（例えば、ＲＡＭ等）はバッテリー電源を備えることによって記録データを消失せずに保持しておくことができ、コンピュータ装置の故障のリカバリに時間がかかっても、他のコンピュータ装置を使ってトレース情報の調査解析が可能となる。
【発明の効果】
【００１４】
以上、本発明によれば以下の効果が生じる。
【００１５】
本発明のトレース情報処理装置は、コンピュータ装置で使用するアプリケーションからの指示によるトレース情報の転送データを受信すると、転送データのヘッダ部を解析して、書込み、読出しなどの対応コマンドを生成し、そのコマンドにしたがって自身に内蔵するメモリにトレース情報を記録する構成とすることによって、コンピュータ装置のトレース情報が、コンピュータ装置の外付メモリにＵＳＢを介して迅速に格納され、故障時の簡便なバックアップ機構が実現される。
【００１６】
また、トレース情報処理装置におけるトレース情報記録用の自身に内蔵するメモリは、一般のＵＳＢメモリに使用されるようなフラッシュメモリでなく、ダイナミックＲＡＭを採用することで書込みの速度を上げて書込み時の次々送出されてくる転送データのオーバーランを防ぐことが可能となる。
【００１７】
さらに、トレース情報が記録されるメモリ（例えば、ＲＡＭ等）は、バッテリー電源を備えることによって記録データを消失せずに保持しておくことができ、コンピュータ装置の故障のリカバリに時間がかかっても、他のコンピュータ装置を使ってトレース情報の調査解析の作業を行うことができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面にもとづいて本発明の実施形態を説明する。
【００１９】
図１は、本発明の実施の形態になるトレースシステムの一基本構成を示す。サーバ、パソコン等のコンピュータ装置１は、トレース情報処理装置２とＵＳＢケーブル３によって接続され、ＣＰＵ（Central Processing Unit ）１１、メモリ１２、コンピュータ装置１で使用している各種のアプリケーションプログラム１３（またはテストプログラム）、およびトレース情報処理装置２との転送データの入出力を制御するＵＳＢ制御部１４とから構成されている。
【００２０】
一方、トレース情報処理装置２は、コンピュータ装置１との転送データの入出力を制御するＵＳＢ制御部２１と、ＣＰＵ２２、トレース情報処理装置２の動作を制御するファームウエア１００として、書込み、読出し、初期化などのコマンド群を内臓するＲＯＭ（Read Only Memory）２３、およびバッテリー２５によってバックアップされ、トレース情報２００を保持するＲＡＭ、ダイナミックＲＡＭ等のメモリ２４で構成されている。
【００２１】
なお、バッテリー２５は、通常はＵＳＢ経由でコンピュータ装置１側から供給されるトレース情報処理装置２全体のバックアップ電源として機能させてもよいが、容量をできるだけ長持ちさせるため、メモリ２４の専用バッテリーとするのが好ましい。
【００２２】
以下に、本トレースシステムの基本動作を説明する。
（１）サーバ、パソコン等コンピュータ装置１のアプリケーション１３は、トレース関数ＴＲＡＣＥ（文字列）を呼び出す。
（２）トレース関数のメッセージが転送データとしてＵＳＢを介してトレース情報処理装置２に送出され、トレース情報処理装置２内部のメモリ２４への文字列の書き込みが実行される。
（３）トレース情報処理装置２のＲＯＭ２３に内蔵するファームウエア１００は、受信したＵＳＢ経由の転送データをダイナミックＲＡＭを含むメモリ２４への書込みを行う。
【００２３】
なお、ファームウエア１００には、トレース情報の書込み、読出し、初期化といったコマンド群がサポートされる。
【００２４】
上記の構成によって、コンピュータ装置１からの情報を大容量のバッファメモリを介さずに入出力ポートを経由して、接続するトレース情報処理装置２のメモリ２４へ直接書き込むことができ高速化が図れることとなる。
【００２５】
図２は、本発明の実施の形態になるトレースシステムにおけるトレース情報処理装置の機能ブロック図を示す。図２は、図１のトレースシステムにおけるトレース情報処理装置２について各機能ブロックの関係を示したものである。トレース情報処理装置２は、データ処理部Ａとデータ記憶部Ｂとから構成されている。
【００２６】
また、データ処理部Ａは、ＵＳＢ制御部２１、ＣＰＵ２２、ＲＯＭ２３、ＲＡＭ２３’、およびＦＩＦＯ（First In First Out）制御部２７を備える。ＵＳＢ制御部２１によって、コンピュータ装置１から送出されたトレース情報の転送データを受信し、装置起動時にＲＯＭ２３からＲＡＭ２３’に展開されたファームウエア１００がＣＰＵ２２によって実行され、転送データのヘッダ部を解析して対応する書込み／読出し等のコマンドを生成し、そのコマンドにしたがってＦＩＦＯ制御部２７を介して、データ記憶部Ｂへのトレース情報の書込み／読出しが実行される。
【００２７】
さらに、データ記憶部Ｂは、メモリ制御部２８、メモリ２４、およびアドレスレジスタ２６から構成される。通常のトレース情報の転送ルートとしては、メモリ制御部２８によって、データ処理部ＡのＦＩＦＯ制御部２７からのトレース情報を受信し、メモリ制御部２８によってメモリ２４にアクセスして、当該トレース情報を格納する。
【００２８】
図中の点線で示したルートは、コンピュータ装置１からのデータ転送が、一定時間以上（例えば、２〜３秒）途絶えた場合のデータ転送ルートを示している。この場合には、まず、アドレスレジスタ２６をメモリ２４のアドレスレジスタ退避領域３００として確保し、トレースデータの格納領域のポインタを保存させた後に、ＣＰＵ２２からのトレースデータが格納される。転送時にイレギュラーがあっても、上記のように、メモリ領域にアドレスレジスタ退避領域３００を設けることによって、トレースデータの格納場所が確保されることとなる。データ転送時に異常が生じても確実なデータの格納が実現される。
【００２９】
なお、トレース情報を格納するメモリ２４としては、バッテリー２５でバックアップされたダイナミックＲＡＭの適用が好ましい。このことによって、データ転送時のオーバーランを防止することができ、高速書込みが実現される。また、上記してきたトレース情報の記録は、コンピュータ装置のアプリケーションからの指示による適用例を扱ってきたが、本発明はこれに限定されるものではなく、勿論、ＯＳやテストプログラムにおいても同様に適用される。
【００３０】
以上、本発明のトレース情報装置によって、（１）トレース情報（ロギング情報）の高速書込み、（２）コンピュータ装置のＯＳの環境に依存しない確実高速な内部情報の出力、（３）コンピュータ装置のハングまたは電源切断時におけるトレース情報の記録、などの特徴をもたせることができる。
【００３１】
図３は、本発明の実施の形態になるトレース情報処理装置におけるレジスタ定義例を示す。実施例では、トレース情報処理装置２内部に構成するレジスタ類の例を示している。また、これらのレジスタはトレース情報処理装置２内部のＣＰＵ２２がアクセスするものとする。例として、アドレスレジスタ、バイトカウントレジスタ、およびデータレジスタを以下に示す。
ａ．アドレスレジスタ：３２ｂｉｔの内、０〜１９ｂｉｔが実データ領域、２０ｂｉｔ目を検出用としており、つぎに書込むアドレスが常に入れられている。
ｂ．バイトカウントレジスタ：上記アドレスの内、何バイト読みとるかを定義する（例では上位２バイト分）。
ｃ．データレジスタ：実データを読み書きするもので８ｂｉｔで構成。
【００３２】
図４は、本発明の実施の形態になるトレースシステムにおける通信コマンド定義例を示す。本コマンド群は、トレース情報処理装置２に接続したコンピュータ装置１において発行される。以下に代表的なコマンド例を示す。
Ｂｕｌｋ  ＥＰａＩＮ：トレース情報処理装置１に転送するＵＳＢインタフェースのエンドポイントＥＰａに対し、（１）電源投入直後、初回のみの版数データ（３４バイト）を送出、（２）ＥＰａＯＵＴコマンドによる指示された情報（版数、制御レジスタ）を送出する。
Ｂｕｌｋ  ＥＰａＯＵＴ：エンドポイントＥＰａに対し、（１）情報の読出し、転送指示、（２）トレース情報の読出しエンドポイント指示を行う。
Ｂｕｌｋ  ＥＰｂＯＵＴ：エンドポイントＥＰｂに対し、任意バイト長のトレース情報の書込みを行う。
【００３３】
図５は、本発明の実施の形態になるトレースシステムにおける装置間の転送データ定義例を示す。図４におけるＥＰａＯＵＴコマンドに対し、データ部分の読出しとその読出しエンドポイントを定義したものである。
【００３４】
例えば、１項のＲＥＡＤ｛ｎｎｎｎ｝、および２項のＥＰd ＩＮ｛ｎｎｎｎ｝データは、トレース情報をエンドポイントＥＰｄから転送する内容であり、３項のＥＰe ＩＮ｛ｎｎｎｎ｝データは、トレース情報をエンドポイントＥPeＩＮから転送、ＶＶＬＬデータは、版数情報をＥＰe ＩＮから転送、５項のＲＥＳＥＴデータは、無応答でハードウェアを初期化、６項のＲＡＭＡｘｘｘｘデータは、”ｘｘｘｘ”をＲＡＭアドレスレジスタに書込み、７項のＯＶＦ｛１（Ｎ）ｏｒ  ０｝データは、”１”または”０”をオーバーフローレジスタに書込みを指示するなど、各データを送出する読出しエンドポイントが定義された内容となっている。
【００３５】
なお、”ｎｎｎｎ”は、現在の（ＲＡＭアドレスレジスタ内容）からｎｎｎｎＫＢアドレスを減少した位置からｎｎｎｎＫＢの読出しを指示することを表している。
【００３６】
図６は、本発明の実施の形態になるトレース情報の書込み処理フローを示す。まず、ステップＳ１１において、トレース情報処理装置２を、コンピュータ装置１とＵＳＢケーブル３によって接続し、装置電源を投入する。つぎに、ステップＳ１２において、エンドポイント（ＥＰａ）への読出しデータとして、”ＲＥＳＥＴ”なる５バイトの文字列を書き出す。本ステップの”ＲＥＳＥＴ”は、長期間未使用であったり、バッテリー交換直後である場合に実行される。そして、ステップＳ１３において、任意データ長のトレースデータを別の読出しエンドポイント（ＥＰｂ）に書き込み、コンピュータ装置１のＯＳがハングアップとなる時点まで、本ステップの処理が継続される。
【００３７】
なお、コンピュータ装置１が、故障となった場合には、他のコンピュータ装置に本トレース情報処理装置２をＵＳＢケーブル３によって接続し、エンドポイント（ＥＰａ）の読出しデータ（ＥＰａＯＵＴデータ）として、例えば、“ＲＥＡＤｎ”または“ＥＰｄＩＮ”の文字列を読み出す。“ＲＥＡＤｎ”とは、トレース情報処理装置２が保持しているトレースデータ書込ポインタに対して、ｎＫＢアドレス減少位置からｎＫＢのデータ読出しを指示する（最新のｎＫＢデータ）ことを意味している。
【００３８】
また、ｎが省略されたり、あるいは０の場合には、その時点での書込済最大バイト数を読み出す。例えば、ＲＥＡＤ４であれば、最新の４ＫＢ（４＊１０２４）を読出し、ＥＰｄＩＮ１５であれば、最新の１５ＫＢ（１５＊１０２４）を読出し、ＲＥＡＤであれば、書込済バイト数（１ＭＢ＝１０２４＊１０２４固定）を読み出すこととなる。
【００３９】
以上述べてきた本発明の実施の態様は、以下の付記に示す通りである。
（付記１）  ＵＳＢを介してコンピュータ装置からのトレース情報をメモリに記録するトレース情報処理装置であって、
前記コンピュータ装置におけるアプリケーションからの指示によって送出されたトレース情報に関する転送データをＵＳＢ制御部を経由して受信する手段と、
前記転送データのヘッダ部分を解析して対応するコマンドを生成する手段と、
前記コマンドにしたがって前記メモリに対し前記トレース情報の書込みあるいは読出しを実行する手段と、
を有することを特徴とするトレース情報処理装置。
（付記２）  前記メモリは、ダイナミックＲＡＭを含むメモリであることを特徴とする付記１に記載のトレース情報処理装置。
（付記３）  前記メモリは、バッテリ電源を備えることを特徴とする付記１あるいは２に記載のトレース情報処理装置。
（付記４）前記コンピュータ装置が故障した場合に、他のコンピュータ装置に接続し、前記他のコンピュータ装置のアプリケーションの指令にしたがって、前記メモリから既に書込みされたトレース情報を読出すことを特徴とする付記１乃至３に記載のトレース情報処理装置。
（付記５）前記コンピュータ装置からのトレース情報に関する転送データが一定時間以上の遅れを生じた場合に、アドレスレジスタを前記メモリ領域へ退避し、前記トレース情報の格納領域のポインタを保存することを特徴とする付記１乃至３に記載のトレース情報処理装置。
（付記６）  ＵＳＢを介してコンピュータ装置からのトレース情報をトレース情報処理装置のメモリに記録するトレース情報記録方法であって、
前記コンピュータ装置におけるアプリケーションからの指示によって送出されたトレース情報に関する転送データをＵＳＢ制御部を経由して受信するステップと、
前記転送データのヘッダ部分を解析して対応するコマンドを生成するステップと、
前記コマンドにしたがって前記メモリに対し前記トレース情報の書込みあるいは読出しを実行するステップと、
を有することを特徴とするトレース情報記録方法。
（付記７）  ＵＳＢを介してコンピュータ装置からのトレース情報をトレース情報処理装置のメモリに記録するトレース情報記録プログラムであって、
前記トレース情報処理装置として振るまうコンピュータに、
前記コンピュータ装置におけるアプリケーションからの指示によって送出されたトレース情報に関する転送データをＵＳＢ制御部を経由して受信するステップと、
前記転送データのヘッダ部分を解析して対応するコマンドを生成するステップと、
前記コマンドにしたがって前記メモリに対し前記トレース情報の書込みあるいは読出しを実行するステップと、
を実行させるトレース情報記録プログラム。
【図面の簡単な説明】
【００４０】
【図１】本発明の実施の形態になるトレースシステムの一基本構成を示す図である。
【図２】本発明の実施の形態になるトレースシステムにおけるトレース情報処理装置の機能ブロック図である。
【図３】本発明の実施の形態になるトレース情報処理装置におけるレジスタ定義例を示す図である。
【図４】本発明の実施の形態になるトレースシステムにおける通信コマンド定義例を示す図である。
【図５】本発明の実施の形態になるトレースシステムにおける装置間の転送コマンドのデータ定義例を示す図である。
【図６】本発明の実施の形態になるトレース情報の書込み処理フローを示す図である。
【符号の説明】
【００４１】
１  コンピュータ装置
２  トレース情報処理装置
３  ＵＳＢケーブル
１１  ＣＰＵ（コンピュータ装置側）
１２  メモリ（コンピュータ装置側）
１３  アプリケーションプログラム
１４  ＵＳＢ制御部（コンピュータ装置側）
２１  ＵＳＢ制御部（トレース情報処理装置側）
２２  ＣＰＵ（トレース情報処理装置側）
２３  ＲＯＭ
２３’ＲＡＭ
２４  メモリ（トレース情報格納用）
２５  バッテリ
２６  アドレスレジスタ
２７  ＦＩＦＯ制御部
２８  メモリ制御部
１００  ファームウエア
２００  トレース情報（メモリ格納）
３００  アドレスレジスタ退避領域
【図１】
2007265264.tif 000003
【図２】
2007265264.tif 000004
【図３】
2007265264.tif 000005
【図４】
2007265264.tif 000006
【図５】
2007265264.tif 000007
【図６】
2007265264.tif 000008