(57)【要約】【課題】障害発生箇所を初期状態に戻す前に、障害発生箇所に保存されている障害ログを採取できるログ採取装置を提供する。【解決手段】動作ログを記憶する動作ログ記憶部を有する演算部が正常動作しているか否か監視する監視手段２と、監視手段２が演算部が正常動作していないと判定した場合に、動作ログ記憶部に記憶されている動作ログをＤＭＡ転送によって取得する動作ログ採取手段３とを備える。監視手段２は、ウォッチドッグタイマを用いて演算部が正常動作しているか否か監視してもよい。監視手段２は、複数の演算部を監視してもよい。【選択図】図１１
2014182676.tif 000002
【特許請求の範囲】
【請求項１】
動作ログを記憶する動作ログ記憶部を有する演算部が正常動作しているか否か監視する監視手段と、
前記監視手段が前記演算部が正常動作していないと判定した場合に、前記動作ログ記憶部に記憶されている動作ログをＤＭＡ転送によって取得する動作ログ採取手段とを備える
ことを特徴とするログ採取装置。
【請求項２】
監視手段は、ウォッチドッグタイマを用いて演算部が正常動作しているか否か監視する
請求項１記載のログ採取装置。
【請求項３】
監視手段は、複数の演算部を監視する
請求項１または請求項２記載のログ採取装置。
【請求項４】
動作ログを記憶する動作ログ記憶部を有する演算部と、
前記演算部が正常動作しているか否か監視する監視手段と、前記監視手段が前記演算部が正常動作していないと判断した場合に、前記動作ログ記憶部に記憶されている動作ログをＤＭＡ転送によって取得する動作ログ採取手段とを含むログ採取装置とを備える
ことを特徴とする演算装置。
【請求項５】
演算装置は、定期的に信号を出力し、
監視手段は、前記信号が出力されない期間が所定期間を超えたときに前記演算部が正常動作していないと判定する
請求項４記載の演算装置。
【請求項６】
複数の演算部とログ採取装置とがバスで接続され、
監視手段は、前記バスを介して前記複数の演算部を監視する
請求項４または請求項５記載の演算装置。
【請求項７】
動作ログを記憶する動作ログ記憶部を有する演算部が正常動作しているか否か監視し、
前記演算部が正常動作していないと判断した場合に、前記動作ログ記憶部に記憶されている動作ログをＤＭＡ転送によって取得する
ことを特徴とするログ採取方法。
【請求項８】
バスを介して複数の演算部を監視する
請求項７記載のログ採取方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、演算部の動作ログを採取するログ採取装置、ログ採取装置を備える演算装置、およびログ採取方法に関する。
【背景技術】
【０００２】
演算装置で障害が発生した場合、演算装置の管理者は、障害要因を解析するために演算装置に保存されている障害ログのデータを採取する。
【０００３】
演算プログラムを実行し、演算装置として稼働しているプロセッサは、障害が発生した時に障害ログを外部に転送する。しかし、プロセッサ自体の動作が停止し反応を示さなくなる（以下、ストールという。）状態になるなど、プロセッサが障害ログの転送処理を実行できない場合、管理者は、障害解析に必要なログを採取できない。その結果、障害の原因究明は困難となる。
【０００４】
また、障害ログを採取する前にプロセッサが初期状態に戻されると、プロセッサ内部のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）も初期状態に戻される。ＲＡＭが初期状態に戻されるとＲＡＭの内部に格納されている障害ログが消えてしまうので、管理者は、プロセッサを初期状態に戻した後に障害ログを採取できない。
【０００５】
また、組み込み装置において障害が発生した場合、障害対応において、障害が発生してから装置を初期状態に戻し回復させるまでの時間をどれだけ短くできるかが課題となる。装置を回復させるまでの時間を短くするため、管理者には、障害解析に必要なログを採取する時間も短縮することが求められる。
【０００６】
障害解析に必要なログを取得する方法としてフラッシュＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に保存したり、低速な診断バスで転送したりする方法を使用した場合、ログを取得する時間は長くなってしまう。その場合、ログの取得時間を短くするために、管理者は採取するログを制限しなければならない。
【０００７】
特許文献１には、ＷＤＴ（Ｗａｔｃｈ  Ｄｏｇ Ｔｉｍｅｒ）を用いてオペレーティングシステムに障害が発生したことを検知した場合、障害発生時のメモリ情報を採取することで障害解析を可能とするサーバシステムが記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第５１２０６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１に記載されたサーバシステムは、ＷＤＴによりストール状態を検出した場合、ハードウェアを初期状態に戻した後にメモリに保持されたデータを採取する。よって、ハードウェアにメモリの制御部が含まれている場合、ハードウェアが初期状態に戻されることに伴いメモリも初期状態に戻されてしまうため、障害解析に必要なログを採取できない。
【００１０】
そこで、本発明は、障害発生箇所を初期状態に戻す前に、障害発生箇所に保存されている障害ログを採取できるログ採取装置、演算装置、およびログ採取方法を提供する。
【課題を解決するための手段】
【００１１】
本発明によるログ採取装置は、動作ログを記憶する動作ログ記憶部を有する演算部が正常動作しているか否か監視する監視手段と、監視手段が演算部が正常動作していないと判定した場合に、動作ログ記憶部に記憶されている動作ログをＤＭＡ転送によって取得する動作ログ採取手段とを備えることを特徴とする。
【００１２】
本発明による演算装置は、動作ログを記憶する動作ログ記憶部を有する演算部と、演算部が正常動作しているか否か監視する監視手段と、監視手段が演算部が正常動作していないと判断した場合に、動作ログ記憶部に記憶されている動作ログをＤＭＡ転送によって取得する動作ログ採取手段とを含むログ採取装置とを備えることを特徴とする。
【００１３】
本発明によるログ採取方法は、動作ログを記憶する動作ログ記憶部を有する演算部が正常動作しているか否か監視し、演算部が正常動作していないと判断した場合に、動作ログ記憶部に記憶されている動作ログをＤＭＡ転送によって取得することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、障害発生箇所を初期状態に戻す前に、障害発生箇所に保存されている障害ログを採取できる。
【図面の簡単な説明】
【００１５】
【図１】本発明によるログ採取装置の第１の実施形態の構成例を示すシステム構成図である。
【図２】本発明によるログ採取装置の第１の実施形態の構成例を示すシステム構成図である。
【図３】プロセッサ１１０の第１の実施形態の構成例を示すブロック図である。
【図４】ログ採取装置１２０の第１の実施形態の構成例を示すブロック図である。
【図５】プロセッサ１１０の第１の実施形態の演算処理の動作を示すフローチャートである。
【図６】ログ採取装置１２０の第１の実施形態のログ採取処理の動作を示すフローチャートである。
【図７】本発明によるログ採取装置の第２の実施形態の構成例を示すシステム構成図である。
【図８】プロセッサ１１０の第２の実施形態の構成例を示すブロック図である。
【図９】ログ採取装置１２０の第２の実施形態のログ採取処理の動作を示すフローチャートである。
【図１０】本発明によるログ採取装置の第３の実施形態の構成例を示すシステム構成図である。
【図１１】本発明によるログ採取装置の概要を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明によるログ採取装置の第１の実施形態の構成例を示すシステム構成図である。
【００１７】
図１に示すログ採取装置である演算装置１００は、プロセッサ１１０と、ログ採取装置１２０と、補助記憶装置１４０と、主記憶装置１５０とを備えている。
【００１８】
プロセッサ１１０は、補助記憶装置１４０と、主記憶装置１５０とそれぞれ外部バス１３０、外部バス１３１で接続されている。また、プロセッサ１１０は、ログ採取装置１２０とＰＣＩ  Ｅｘｐｒｅｓｓ（以下、ＰＣＩｅという。）バス１７０で接続されている。
【００１９】
プロセッサ１１０は、プログラムを実行した際の動作ログを主記憶装置１５０に保存する。また、プロセッサ１１０は、プログラム実行中に所定の周期でログ採取装置１２０に信号を出力する。ログ採取装置１２０が有する、プロセッサ１１０が正常かどうかを常に監視するタイマであるＷＤＴは、その信号によって初期状態に戻される。
【００２０】
ログ採取装置１２０は、高速にアクセスできる記憶デバイスとＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）機構とを備える。ログ採取装置１２０は、ＷＤＴを使用してプロセッサ１１０の障害を検出する機能を有する。プロセッサ１１０の障害を検出した場合、ログ採取装置１２０は、ＤＭＡ機構内のＤＭＡコントローラを起動し、主記憶装置１５０からプロセッサ１１０の動作ログを高速に採取する。
【００２１】
このように、ログ採取装置１２０がプロセッサ１１０の状態を監視しプロセッサ１１０が動作不能となったときにプロセッサ１１０の動作ログを採取することによって、演算装置１００の管理者は、プロセッサ１１０が動作不能な場合でもプロセッサ１１０を初期状態に戻すことなく、障害解析に有用なデータを高速に採取できる。
【００２２】
また、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を介さずに記憶デバイスとの間で直接データ転送を行うＤＭＡ機構を使用することでより高速に障害ログを採取できるため、演算装置１００の管理者は、障害が発生してから初期状態に戻し回復させるまでの時間を短縮できる。また、ログ採取時間を短縮するための採取ログの限定も行なわずに済むので、管理者は、初期状態に戻す時間を延ばさずにより多くのログを採取できる。
【００２３】
外部バス１３０は、プロセッサ１１０と補助記憶装置１４０とを接続している。外部バス１３１は、プロセッサ１１０と主記憶装置１５０とを接続している。
【００２４】
補助記憶装置１４０は、プロセッサ１１０が実行するプログラムを記憶する機能を有する。補助記憶装置１４０として、不揮発性のＲＡＭが使用される。不揮発性のＲＡＭは、例えば、フラッシュＲＯＭである。
【００２５】
フラッシュＲＯＭであればアクセス速度が遅いため、補助記憶装置１４０によるデータの読み出し速度およびデータの書き込み速度は遅くなる。しかし、フラッシュＲＯＭは不揮発性メモリであるため、プロセッサ１１０の電源が停止されたり、プロセッサ１１０自体が初期状態に戻されたりしても、補助記憶装置１４０の内部に保存されたデータは失われない。
【００２６】
主記憶装置１５０は、プロセッサ１１０がプログラムを実行した時の動作ログを記憶する機能を有する。この動作ログを参照すると、演算装置１００の管理者は、プロセッサ１１０が直前に実行した処理内容を知ることができる。また、動作ログは常に固定のアドレス番地を使用するため、障害が発生した時、障害解析に求められるデータが保存されているメモリ領域は固定化されている。
【００２７】
主記憶装置１５０として、揮発性のＲＡＭが使用される。揮発性のＲＡＭは、例えば、ＤＤＲ（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ）  ＲＡＭである。ＤＤＲ  ＲＡＭであればアクセス速度が速いため、主記憶装置１５０は、データの読み出しおよびデータの書き込みを高速に行うことができる。しかし、ＤＤＲ  ＲＡＭは揮発性メモリであるため、プロセッサ１１０の電源が停止されたり、プロセッサ１１０自体が初期状態に戻されたりすると、主記憶装置１５０の内部に保存されたデータは失われる。
【００２８】
主記憶装置１５０がＤＤＲ  ＲＡＭである場合、図２に示すように、主記憶装置１５０は、演算プログラムが使用する演算プログラム使用領域と、演算プログラムの動作ログを格納する動作ログ格納領域に分けて使用される。演算プログラム使用領域には、プロセッサ１１０が実行するプログラムがコピーされる。動作ログ格納領域には、プロセッサ１１０がプログラムを実行した時の動作ログが記憶される。
【００２９】
補助記憶装置１４０が記憶するプログラムには、演算装置１００を初期状態に戻す初期化プログラムと、演算処理を実行する演算プログラムとが含まれる。初期化プログラムは、演算装置１００に電源が投入された後に一回だけ実行される。演算プログラムは、プロセッサ１１０が演算処理を実行する間に繰り返し読み出され、実行される。
【００３０】
補助記憶装置１４０がフラッシュＲＯＭであり、主記憶装置１５０がＤＤＲ  ＲＡＭである場合、一回のみ実行される初期化プログラムは、ＤＤＲ  ＲＡＭへはコピーされず、フラッシュＲＯＭから読み出されて実行される。これに対して、繰り返し実行される演算プログラムは、アクセス速度が速いＤＤＲ  ＲＡＭにコピーされた上、実行される。
【００３１】
ＰＣＩｅバス１７０は、ＰＣＩ  Ｅｘｐｒｅｓｓによるデータ転送方式でデータ転送を行う入出力シリアルインタフェースである。ＰＣＩｅバス１７０は、拡張バスの一種である。
【００３２】
次に、プロセッサ１１０の詳細な構成を図３を参照して説明する。図３は、プロセッサ１１０の第１の実施形態の構成例を示すブロック図である。
【００３３】
図３に示すプロセッサ１１０は、プロセッサコア１１１と、ＰＣＩｅコントローラ１１２と、フラッシュコントローラ１１３と、メモリコントローラ１１４と、ＰＩＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｉｎｔｅｒｒｕｐｔ  Ｃｏｎｔｒｏｌｌｅｒ）１１６とを含む。なお、各部は内部バス１１５により接続されている。
【００３４】
プロセッサコア１１１は、プロセッサ１１０の演算処理部としての役割を有する。プロセッサコア１１１は、ＰＣＩｅコントローラ１１２とＰＣＩｅバス１７０を介して、ログ採取装置１２０に信号を出力できる。プロセッサコア１１１は、プログラム実行中に所定の周期でログ採取装置１２０へ信号を出力し、ログ採取装置１２０が有するＷＤＴを初期状態に戻す。
【００３５】
ＰＣＩｅコントローラ１１２は、ＰＣＩｅバス１７０を介した外部の装置との通信を制御する機能を有する。
【００３６】
また、ＰＣＩｅコントローラ１１２は、プロセッサ１１０の内部バス１１５の制御部として動作してもよい。このとき、ＰＣＩｅコントローラ１１２は、メモリコントローラ１１４を経由し、主記憶装置１５０からのデータの読み出し、または主記憶装置１５０へのデータの書き込みを行うことができる。すなわち、ログ採取装置１２０は、ＰＣＩｅバス１７０を介してＰＣＩｅコントローラ１１２と通信することによって、主記憶装置１５０にアクセスできる。
【００３７】
フラッシュコントローラ１１３は、配下に接続された補助記憶装置１４０への入出力を制御する機能を有する。メモリコントローラ１１４は、配下に接続された主記憶装置１５０への入出力を制御する機能を有する。
【００３８】
ＰＩＣ１１６は、プロセッサコア１１１に割り込みを出力する機能を有する。ＰＩＣ１１６から割り込みを入力すると、プロセッサコア１１１は、実行中の処理を中断する。次いで、プロセッサコア１１１は、ＰＩＣ１１６の内部情報から入力した割り込みの要因を調べ、要因に応じた処理を実行する。
【００３９】
例えば、メモリコントローラ１１４で障害が発生すると、ＰＩＣ１１６は、プロセッサコア１１１に割り込みを出力する。割り込みを出力することで、ＰＩＣ１１６は、プロセッサコア１１１に障害が発生したことを通知する。割り込みを入力したプロセッサコア１１１は、実行中の処理を中断する。
【００４０】
次いで、プロセッサコア１１１は、ＰＩＣ１１６の内部情報を参照し、メモリコントローラ１１４で障害が発生したことを認識する。プロセッサコア１１１は、メモリコントローラ１１４の内部情報を障害ログとして主記憶装置１５０に残すなどの処理を実行する。
【００４１】
次に、ログ採取装置１２０の詳細な構成を図４を参照して説明する。図４は、ログ採取装置１２０の第１の実施形態の構成例を示すブロック図である。
【００４２】
図４に示すログ採取装置１２０は、入出力部１２１と、記憶部１２２と、ＤＭＡ機構１２３とを含む。なお、ログ採取装置１２０は、プログラミング可能なＬＳＩ（Ｌａｒｇｅ Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）であるＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）から構成されていてもよい。
【００４３】
ＦＰＧＡから構成されている場合、ログ採取装置１２０は、ＰＣＩｅバスに接続可能なＰＣＩｅカードでもよい。ログ採取装置１２０の機能を有するＰＣＩｅカードは、ＰＣＩｅスロットを有する既存のシステムに容易に追加される。
【００４４】
入出力部１２１は、ＰＣＩｅバス１７０を介して、プロセッサ１１０と接続する機能を有する。また、入出力部１２１は、ＷＤＴの機能を有する。入出力部１２１は、ＰＣＩｅバス１７０を介したプロセッサコア１１１からの信号を入力する。
【００４５】
プロセッサコア１１１で障害が発生した場合、プロセッサコア１１１からの信号の出力が所定の周期を超えて途絶える。よって、ＷＤＴはタイムアウトする。入出力部１２１は、ＷＤＴのタイムアウトによって、プロセッサ１１０のストール状態を検出できる。なお、ＷＤＴがタイムアウトするまでの時間（所定時間）は、所定の周期よりもやや長い時間である。
【００４６】
記憶部１２２は、プロセッサ１１０から採取された動作ログを保存する機能を有する。記憶部１２２は、例えば、ＲＡＭである。ＲＡＭは、高速にアクセスできる記憶デバイスである。
【００４７】
ＤＭＡ機構１２３は、ＣＰＵを介さずに記憶部１２２との間で直接データ転送を行う機能を有する。ＤＭＡ機構１２３は、データ転送処理を行うＤＭＡコントローラを有する。プロセッサ１１０のストール状態が検出されたときに、ＤＭＡ機構１２３は、ＤＭＡコントローラを起動する。起動されたＤＭＡコントローラは、主記憶装置１５０からプロセッサ１１０の動作ログを高速に採取する。
【００４８】
以下、本発明による動作を説明する。なお、下記の説明において、主記憶装置１５０はＤＤＲ  ＲＡＭ、補助記憶装置１４０はフラッシュＲＯＭである。
【００４９】
最初に、本実施形態におけるプロセッサ１１０による演算処理の動作を図５を参照して説明する。図５は、プロセッサ１１０の第１の実施形態の演算処理の動作を示すフローチャートである。
【００５０】
演算装置１００の電源が投入された場合、または演算装置１００を初期状態に戻す指示命令が入力された場合、プロセッサコア１１１は、フラッシュコントローラ１１３を介して補助記憶装置１４０に記憶されている初期化プログラムを実行する。初期化プログラムを実行することによって、プロセッサコア１１１は、プロセッサ１１０の内部を初期状態に戻す（ステップＳ１０１）。
【００５１】
ＰＣＩｅコントローラ１１２の初期設定が完了した後、ログ採取装置１２０は、プロセッサ１１０の内部にアクセス可能となる。また、メモリコントローラ１１４の初期設定が完了した後、プロセッサ１１０およびログ採取装置１２０は、主記憶装置１５０にアクセス可能となる。
【００５２】
メモリコントローラ１１４が初期状態に戻された後、プロセッサコア１１１は、補助記憶装置１４０に記憶されている演算プログラムを、メモリコントローラ１１４を介して主記憶装置１５０にコピーする（ステップＳ１０２）。
【００５３】
プロセッサコア１１１は、主記憶装置１５０に保存された演算プログラムを実行することによって、演算処理を開始する（ステップＳ１０３）。以後、プロセッサコア１１１は、演算処理が終了するまで演算プログラムを実行する（ステップＳ１０４）。
【００５４】
プロセッサコア１１１は、演算処理の実行中、演算プログラムの動作情報を動作ログとして主記憶装置１５０の動作ログ格納領域に保存する（ステップＳ１０５）。
【００５５】
プロセッサコア１１１は、演算処理の実行中、所定の周期が経過したか否か確認する（ステップＳ１０６）。所定の周期が経過していない場合（ステップＳ１０６のＮｏ）、プロセッサコア１１１は、ステップＳ１０８に処理を進める。
【００５６】
所定の周期が経過した場合（ステップＳ１０６のＹｅｓ）、プロセッサコア１１１は、ＷＤＴを初期状態に戻すためにログ採取装置１２０に信号を出力する（ステップＳ１０７）。
【００５７】
プロセッサコア１１１は、演算処理が終了したかどうか確認する（ステップＳ１０８）。演算処理が終了していない場合（ステップＳ１０８のＮｏ）、プロセッサコア１１１は、継続して演算プログラムを実行する（ステップＳ１０４）。演算処理が終了した場合（ステップＳ１０８のＹｅｓ）、プロセッサコア１１１は、処理を終了する。
【００５８】
次に、本実施形態におけるログ採取装置１２０によるログ採取処理の動作を図６を参照して説明する。図６は、ログ採取装置１２０の第１の実施形態のログ採取処理の動作を示すフローチャートである。
【００５９】
演算装置１００の電源が投入された場合、または演算装置１００を初期状態に戻す指示命令が入力された場合、プロセッサコア１１１は、フラッシュコントローラ１１３を介して補助記憶装置１４０に記憶されている初期化プログラムを実行する。初期化プログラムを実行することによって、プロセッサコア１１１は、ログ採取装置１２０の内部を初期状態に戻す（ステップＳ２０１）。
【００６０】
入出力部１２１は、ＷＤＴがタイムアウトしたかどうか確認する処理を繰り返し実行する（ステップＳ２０２）。
【００６１】
ＷＤＴがタイムアウトした場合、すなわちプロセッサコア１１１からの信号の出力が無くなってから所定時間が経過した場合（ステップＳ２０２のＹｅｓ）、入出力部１２１は、ＤＭＡ機構１２３にＷＤＴがタイムアウトしたことを通知する。通知を受けたＤＭＡ機構１２３は、ＤＭＡコントローラを起動する。
【００６２】
起動されたＤＭＡコントローラは、主記憶装置１５０の動作ログ格納領域に保存されている動作ログを、メモリコントローラ１１４、ＰＣＩｅコントローラ１１２、ＰＣＩｅバス１７０を介して記憶部１２２に高速に転送する（ステップＳ２０３）。動作ログを転送した後、ログ採取装置１２０は、処理を終了する。
【００６３】
本実施形態のログ採取装置を使用する場合、プロセッサにおいて障害が発生しプロセッサがストール状態になった場合においても、ログ採取装置がプロセッサ内部に保存されている動作ログを採取するため、管理者は、障害要因の特定に役立つ動作ログを消滅させることなく確実に保存できる。
【００６４】
本実施形態のログ採取装置を使用する場合、ログ採取装置は動作ログの採取にＤＭＡを使用するため、管理者は、短時間でログの採取を完了できる。プロセッサの回復までに行なわなければならないログの採取が短時間で完了するため、管理者は、採取する動作ログを制限せずに済む。
【００６５】
実施形態２．
次に、本発明の第２の実施形態を説明する。図７は、本発明によるログ採取装置の第２の実施形態の構成例を示すシステム構成図である。
【００６６】
第１の実施形態の構成例と異なる点として、第２の実施形態の構成例では、プロセッサ１１０にＰＣＩｅバス１７１を介して、ＰＣＩｅカード１６０が接続されている。
【００６７】
ＰＣＩｅカード１６０は、プロセッサ１１０とＰＣＩ  Ｅｘｐｒｅｓｓで接続される機能を有していればどのようなインタフェースカードでもよい。ＰＣＩｅカード１６０は、ネットワークインタフェースカードや、ホストバスアダプタなどである。
【００６８】
図８は、プロセッサ１１０の第２の実施形態の構成例を示すブロック図である。第１の実施形態の構成例と異なる点として、第２の実施形態の構成例では、プロセッサ１１０にＰＣＩｅコントローラ１１７が含まれている。ＰＣＩｅコントローラ１１７は、ＰＣＩｅバス１７１を介したＰＣＩｅカード１６０との通信を制御する機能を有する。
【００６９】
プロセッサコア１１１がストール状態でない時にＰＣＩｅカード１６０で障害が発生すると、ＰＩＣ１１６は、プロセッサコア１１１に割り込みを出力する。割り込みを入力したプロセッサコア１１１は、ＰＣＩｅコントローラ１１７やＰＣＩｅカード１６０の内部情報を読み込む。プロセッサコア１１１は、読み込んだ内部情報をログとして主記憶装置１５０に保存する。
【００７０】
ＰＣＩｅカードは、ベースアドレスレジスタなどのアドレス割り当てのためのレジスタを有している。ＰＣＩｅカードのベースアドレスにオフセット値を加えた値をＰＣＩｅカードにアクセスするためのベースアドレスとして設定することによって、ＰＣＩｅカードにアクセス可能なデバイスは、ＰＣＩｅカード内のレジスタやＲＡＭを、Ｍｅｍｏｒｙ−ｍａｐｐｅｄ  Ｉ／Ｏ（以下、ＭＭＩＯという。）により主記憶装置のアドレス空間にマッピングできる。
【００７１】
マッピングされるレジスタは、ＰＣＩｅカードにより異なる。しかし、一般的にはＰＣＩｅカードの各種の状況を示すレジスタがマッピングされる。よって、主記憶装置のアドレス空間にマッピングされたレジスタのメモリダンプを取得すると、管理者は、ダンプ取得時のＰＣＩｅカードの内部状況や、ＰＣＩｅカードの動作内容などを知ることができる。すなわち、レジスタのメモリダンプは、プロセッサがストール状態となった原因の解明に役立つ。
【００７２】
ログ採取装置１２０は、プロセッサ１１０にＰＣＩｅカードが組み込まれていれば、プロセッサ１１０がストール状態になった時、常にＰＣＩｅカードのレジスタのメモリダンプも採取する。上記の理由から、ＰＣＩｅカードのレジスタのメモリダンプを採取することによって、管理者は、プロセッサ１１０がストール状態になった原因がＰＣＩｅカードにあるか否か確認できる。このように、メモリダンプの採取は、ストール状態となった原因の解析に役立つ可能性がある。
【００７３】
次に、本実施形態におけるログ採取装置１２０によるログ採取処理の動作を図９を参照して説明する。図９は、ログ採取装置１２０の第２の実施形態のログ採取処理の動作を示すフローチャートである。
【００７４】
ステップＳ３０１〜ステップＳ３０３の各処理は、第１の実施形態のログ採取処理の動作におけるステップＳ２０１〜ステップＳ２０３の各処理と同様であるため、説明を省略する。
【００７５】
動作ログが転送された後、入出力部１２１は、プロセッサ１１０にＰＣＩｅカードが接続されているか否か確認する（ステップＳ３０４）。ＰＣＩｅカードが接続されていない場合（ステップＳ３０４のＮｏ）、ログ採取装置１２０は、処理を終了する。
【００７６】
ＰＣＩｅカードが接続されている場合（ステップＳ３０４のＹｅｓ）、入出力部１２１は、ＤＭＡ機構１２３にＰＣＩｅカードが接続されていることを通知する。通知を受けたＤＭＡ機構１２３は、ＤＭＡコントローラを起動する。
【００７７】
起動されたＤＭＡコントローラは、ＭＭＩＯにより主記憶装置１５０のアドレス空間にＰＣＩｅカードのレジスタをマッピングする。そして、ＤＭＡコントローラは、マッピングされたＰＣＩｅカードのレジスタのメモリダンプを取得する。
【００７８】
ＤＭＡコントローラは、取得したメモリダンプを通常の動作ログの転送時と同様に、メモリコントローラ１１４、ＰＣＩｅコントローラ１１２、ＰＣＩｅバス１７０を介して記憶部１２２に高速に転送する（ステップＳ３０５）。メモリダンプを転送した後、ログ採取装置１２０は、処理を終了する。
【００７９】
なお、本発明の第２の実施形態における演算装置１００の演算処理の動作の説明は、第１の実施形態における説明と同様であるため省略する。
【００８０】
本実施形態のログ採取装置を使用する場合、主記憶装置に保存された動作ログだけでなく、ＭＭＩＯによりメインメモリのアドレス空間にマッピングされたＰＣＩｅカードのレジスタのメモリダンプも採取できる。その結果、管理者は、プロセッサの動作ログとＰＣＩｅカードのレジスタのメモリダンプを用いて、プロセッサがストール状態になった原因の発生箇所を切り分けることができる。
【００８１】
実施形態３．
次に、本発明の第３の実施形態を説明する。図１０は、本発明によるログ採取装置の第３の実施形態の構成例を示すシステム構成図である。
【００８２】
第１の実施形態の構成例と異なる点として、第２の実施形態の構成例では、ログ採取装置１２０にＰＣＩｅスイッチ１８０が接続されている。ＰＣＩｅスイッチ１８０には、プロセッサと主記憶装置から構成される組が、ＰＣＩｅバス１７１〜１７ｎを介して複数接続されている。
【００８３】
図１０に示すようにＰＣＩｅスイッチ１８０に複数の組を接続できるため、管理者は、１つのログ採取装置１２０に対して、ｎ個のプロセッサとｍ個の主記憶装置とを割当てることができる。なお、プロセッサと主記憶装置との数は一致していなくてもよい。
【００８４】
また、図１０に示すように、ＰＣＩｅスイッチ１８０には、ＰＣＩｅバス１７２を介してＰＣＩｅカード１６０が接続されていてもよい。ＰＣＩｅスイッチ１８０に接続されるＰＣＩｅカードは、２枚以上でもよい。ＰＣＩｅスイッチ１８０にＰＣＩｅカードが接続されている場合、ＤＭＡ機構１２３は、ＭＭＩＯによりマッピングされたＰＣＩｅカードのレジスタ情報を採取する。
【００８５】
なお、本発明の第３の実施形態における演算装置１００の演算処理の動作およびログ採取装置１２０のログ採取処理の動作の説明は、第２の実施形態における説明と同様であるため省略する。
【００８６】
次に、本発明の概要を説明する。図１１は、本発明によるログ採取装置の概要を示すブロック図である。本発明によるログ採取装置１は、動作ログを記憶する動作ログ記憶部（例えば、主記憶装置１５０）を有する演算部（例えば、プロセッサ１１０）が正常動作しているか否か監視する監視手段２（例えば、入出力部１２１）と、監視手段２が演算部が正常動作していないと判定した場合に、動作ログ記憶部に記憶されている動作ログをＤＭＡ転送によって取得する動作ログ採取手段３（例えば、ＤＭＡ機構１２３）とを備える。
【００８７】
そのような構成により、このログ採取装置を使用する場合、使用するユーザは、障害発生箇所を初期状態に戻す前に、障害発生箇所に保存されている障害ログを採取できる。
【００８８】
また、監視手段２は、ウォッチドッグタイマを用いて演算部が正常動作しているか否か監視してもよい。
【００８９】
そのような構成により、このログ採取装置を使用する場合、使用するユーザは、演算部が故障しているか否かを定期的に確認できる。
【００９０】
また、監視手段２は、複数の演算部を監視してもよい。
【００９１】
そのような構成により、このログ採取装置を使用する場合、使用するユーザは、複数の演算部を含む装置において、各演算部が故障した場合にも、故障した演算部に保存されている各障害ログを採取できる。
【符号の説明】
【００９２】
１  ログ採取装置
２  監視手段
３  動作ログ採取手段
１００  演算装置
１１０〜ｎ１０  プロセッサ
１１１  プロセッサコア
１１２、１１７  ＰＣＩ  Ｅｘｐｒｅｓｓコントローラ（ＰＣＩｅコントローラ）
１１３  フラッシュコントローラ
１１４  メモリコントローラ
１１５  内部バス
１１６  ＰＩＣ
１２０  ログ採取装置
１２１  入出力部
１２２  記憶部
１２３  ＤＭＡ機構
１３０、１３１  外部バス
１４０  補助記憶装置
１５０〜ｍ５０  主記憶装置
１６０  ＰＣＩ  Ｅｘｐｒｅｓｓカード（ＰＣＩｅカード）
１７０〜１７ｎ  ＰＣＩ  Ｅｘｐｒｅｓｓバス（ＰＣＩｅバス）
１８０  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ（ＰＣＩｅスイッチ）
【図１】
2014182676.tif 000003
【図２】
2014182676.tif 000004
【図３】
2014182676.tif 000005
【図４】
2014182676.tif 000006
【図５】
2014182676.tif 000007
【図６】
2014182676.tif 000008
【図７】
2014182676.tif 000009
【図８】
2014182676.tif 000010
【図９】
2014182676.tif 000011
【図１０】
2014182676.tif 000012
【図１１】
2014182676.tif 000013