(57)【特許請求の範囲】
【請求項１】
ノードと、前記ノードに接続されたシステム制御装置を有する情報処理装置において、
前記ノードは、
第１のエラー情報を検出する第１の検出部と、
前記第１のエラー情報とは異なる第２のエラー情報を検出する第２の検出部と、
前記第１の検出部が検出した前記第１のエラー情報と前記第２の検出部が検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持する保持部と、
前記保持部に記憶される前記第１のエラー情報又は前記第２のエラー情報とは異なる、前記第１の検出部が新たに検出した前記第１のエラー情報と前記第２の検出部が新たに検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持するとともに、前記保持部に保持された前記第１又は第２のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第１又は第２のエラー情報のうち、前記初期化された第１又は第２のエラー情報に対応するエラー情報を、前記保持部に保持させる一時保持部を有し、
前記システム制御装置は、
前記保持部に接続された制御部と、
前記保持部に保持された前記第１及び第２のエラー情報を、前記制御部に読み込ませるとともに、前記第１又は第２のエラー情報を、前記制御部に初期化させるファームウェアを有することを特徴とする情報処理装置。
【請求項２】
前記制御部はさらに、
前記一時保持部に、前記第１又は第２のエラー情報が保持されている場合には、
前記保持部において、前記第１又は第２のエラー情報に対応するビット位置に保持された第１又は第２のエラー情報の初期化を抑止するとともに、
前記一時保持部に保持された、前記第１又は第２のエラー情報を前記システム制御装置により初期化することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ノードと、前記ノードに接続されたシステム制御装置を有する情報処理装置において、
前記ノードは、
第１のエラー情報を検出する第１の検出部と、
前記第１のエラー情報とは異なる第２のエラー情報を検出する第２の検出部と、
前記第１の検出部が検出した前記第１のエラー情報と前記第２の検出部が検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持する保持部と、
前記第１の検出部が検出した前記第１のエラー情報と前記第２の検出部が検出した前記第２のエラー情報が、前記保持部に保持されている場合に、エラーフラグを保持するとともに、前記エラーフラグが保持されているとき、前記システム制御装置による前記第１又は第２のエラー情報の初期化を、抑止するフラグ保持部を有し、
前記システム制御装置は、
前記保持部に接続された制御部と、
前記保持部に保持された前記第１及び第２のエラー情報を、前記制御部に読み込ませるとともに、前記第１又は第２のエラー情報を、前記制御部に初期化させるファームウェアを有することを特徴とする情報処理装置。
【請求項４】
第１のノードと、前記第１のノードに接続された第２のノードと、前記第１及び第２のノードに接続されたシステム制御装置を有する情報処理装置において、
前記第１のノードは、
第１のエラー情報を検出する第１の検出部と、
前記第１の検出部が検出した前記第１のエラー情報を保持する第１の保持部と、
前記第１の保持部に記憶される前記第１のエラー情報とは異なる、前記第１の検出部が新たに検出した前記第１のエラー情報を保持するとともに、前記第１の保持部に保持された前記第１のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第１のエラー情報を、前記第１の保持部に保持させる第１の一時保持部を有し、
前記第２のノードは、
第２のエラー情報を検出する第２の検出部と、
前記第２の検出部が検出した前記第２のエラー情報を保持する第２の保持部と、
前記第２の保持部に記憶される前記第２のエラー情報とは異なる、前記第２の検出部が新たに検出した前記第２のエラー情報を保持するとともに、前記第２の保持部に保持された前記第２のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第２のエラー情報を、前記第２の保持部に保持させる第２の一時保持部を有し、
前記システム制御装置は、
前記第１及び第２の保持部に接続された制御部と、
前記第１及び第２の保持部に保持された前記第１及び第２のエラー情報を、前記制御部に読み込ませるとともに、前記第１及び第２のエラー情報を、前記制御部に初期化させるファームウェアを有することを特徴とする情報処理装置。
【請求項５】
ノードと、前記ノードに接続されたシステム制御装置を有する情報処理装置に適した情報処理方法であって、
前記ノードが有する第１の検出部は、第１のエラー情報を検出する第１の検出工程を実行し、
前記ノードが有する第２の検出部は、前記第１のエラー情報とは異なる第２のエラー情報を検出する第２の検出工程を実行し、
前記ノードが有する保持部は、前記第１の検出工程が検出した前記第１のエラー情報と前記第２の検出工程が検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持する保持工程を実行し、
前記ノードが有する一時保持部は、前記保持工程に記憶される前記第１のエラー情報又は前記第２のエラー情報とは異なる、前記第１の検出工程が新たに検出した前記第１のエラー情報と前記第２の検出工程が新たに検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持するとともに、前記保持工程に保持された前記第１又は第２のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第１又は第２のエラー情報のうち、前記初期化された第１又は第２のエラー情報に対応するエラー情報を、前記保持工程に保持させる一時保持工程を実行し、
前記システム制御装置が有する制御部は、前記保持工程に接続された制御工程を実行し、
前記システム制御装置が有するファームウェアは、前記保持工程に保持された前記第１及び第２のエラー情報を、前記制御工程に読み込ませるとともに、前記第１又は第２のエラー情報を、前記制御工程に初期化させる処理を実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ノードと、前記ノードに接続されたシステム制御装置を有する情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
従来より、障害検出機能を有するコンピュータシステムにおいて、ある一箇所の障害が波及して一度に複数のノードからファームウェアに対してエラー報告が上がるような場合に、それら複数のエラー報告を元に原因となる障害を特定するFault  Locationのアルゴリズムがファームウェアに実装されているようなシステムがある（特許文献１参照）。
【０００３】
このようなシステムでは、あるノードの出力部分でのエラーと、その出力部に連なるバスの入力先のノードの入力部分でのエラーを同時に検出し、ファームウェアにそれぞれ個別に報告するケースがある。この場合、２つのエラー報告を受けたファームウェアは、当該２つのエラーの内容を検査し、対応がとれると出力側のノードのみを被疑部品として指摘し、入力側は波及したエラーだとして無視するアルゴリズムが考えられる。
【０００４】
【特許文献１】特開２００１−１６６９６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記した従来の技術では、ファームウェアのクリアタイミングの時間差により、正しく被疑部品を特定することができないという課題があった。
【０００６】
具体的には、上記したシステムにおけるファームウェアによるエラー情報のクリアは、システム管理用の共用バスを経由してノード個別に行われるため、クリアのためのアクセスの時間差が必然的に発生する。そのため、このアクセス時間に近い短い間隔でエラーが連続して発生するような障害であった場合、ファームウェアは、出力側のノードのみを被疑部品（エラー箇所）と指摘することができず、入力側のノードまでも被疑部品として過剰に指摘してしまう。
【０００７】
例えば、上記したファームウェアが被疑部品を過剰に指摘する例を図９を用いて説明する。図９に示すように、第一のエラーが出力側ノードＡで発生し、それによる不正なパケットが入力側ノードＢに転送されると、ノードＡ、Ｂは、ファームウェアに対してそれぞれエラー割込み出力する。ファームウェアは、以後のエラー報告を一旦マスクした状態にし、まず入力側ノードＢのエラー情報をログ（記録）しクリアした後、出力側ノードＡのエラー情報をログしクリアする。ここで、ファームの処理簡単化のために、処理するノードの順番は固定になっている。
【０００８】
その後、ノードＢとノードＡのクリア処理の間に、同じ種類の第二のエラーが発生すると、出力側ノードＡでは、ファームウェアが第一のエラーをクリアしようとした際に、第二のエラー情報がクリアされてしまい、第二のエラーの情報はログレジスタに残っていない。ところが、ノードＢでは、ファームウェアがクリア処理を行ったあとで、第二のエラーを検出するため、第二のエラー情報はログされて残っている。その結果、ファームウェアは、エラー割り込みのマスクを解除してエラー割り込み受付可能な状態となった後、入力側ノードＢからのエラー割り込みのみを受けることになる。そのため、ファームウェアは、エラーを解析した場合に、原発エラーは入力側ノードＢのエラーであるという判断をしてしまい、結果として過剰に入力側ノードを被疑部品として指摘してしまう。
【０００９】
そこで、この発明は、上述した従来技術の課題を解決するためになされたものであり、ファームウェアは意識することなく、また、ファームウェアのクリアタイミングの時間差にも関係なく、正しく被疑部品を特定することが可能である情報処理装置および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するため、本装置は、ノードと、前記ノードに接続されたシステム制御装置を有する情報処理装置において、前記ノードは、第１のエラー情報を検出する第１の検出部と、前記第１のエラー情報とは異なる第２のエラー情報を検出する第２の検出部と、前記第１の検出部が検出した前記第１のエラー情報と前記第２の検出部が検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持する保持部と、前記保持部に記憶される前記第１のエラー情報又は前記第２のエラー情報とは異なる、前記第１の検出部が新たに検出した前記第１のエラー情報と前記第２の検出部が新たに検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持するとともに、前記保持部に保持された前記第１又は第２のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第１又は第２のエラー情報のうち、前記初期化された第１又は第２のエラー情報に対応するエラー情報を、前記保持部に保持させる一時保持部を有し、前記システム制御装置は、前記保持部に接続された制御部と、前記保持部に保持された前記第１及び第２のエラー情報を、前記制御部に読み込ませるとともに、前記第１又は第２のエラー情報を、前記制御部に初期化させるファームウェアを有する。
【発明の効果】
【００１１】
本情報処理装置および情報処理方法によれば、ファームウェアは意識することなく、また、ファームウェアのクリアタイミングの時間差にも関係なく、正しく被疑部品を特定することが可能である。
【発明を実施するための最良の形態】
【００１２】
以下に添付図面を参照して、本実施形態の一例に係る情報処理装置および情報処理方法の実施例を詳細に説明する。なお、以下では、本実施例に係る情報処理装置の概要および特徴、情報処理装置の構成および処理の流れを順に説明し、最後に本実施例に対する種々の変形例を説明する。
【実施例１】
【００１３】
［情報処理装置の概要および特徴］
最初に、本実施例に係る情報処理装置の概要および特徴を説明する。本実施例に係る情報処理装置は、ファームウェアを実行制御するシステム制御装置（ＳＶＰ：Service Processor）の一種であるＭＭＢ（Management  Board）に接続されるノードにおいて発生したハードエラーを検出して解析し、エラー箇所である被疑部品を特定することを概要とするものであり、特に、ファームウェアは意識することなく、また、ファームウェアのクリアタイミングの時間差にも関係なく、正しく被疑部品を特定することが可能である点に主たる特徴がある。
【００１４】
この主たる特徴を具体的に説明すると、本実施例に係る情報処理装置における各ノードは、検出したエラー情報（例えば、ハードウェアの故障状態を示すレベルやメッセージなど）を保持するエラーログレジスタと同様な構成の一時保持レジスタを有している。そして、各ノードは、エラーログレジスタに既にセットされているものと同種のエラーが発生したときに、エラーログレジスタにセットされている情報を一時保持レジスタへセットする。その後、ノードは、ＭＭＢのファームウェアによりエラーログレジスタがクリアされた場合に、一時保持レジスタに保持される情報をエラーログレジスタにセットする。
【００１５】
つまり、ノードは、自ノードのエラーがクリアされた際に、同種のエラーが一時保持レジスタにセットされていることがわかるので、エラーログレジスタをクリアした後に、一時保持レジスタの対応するビットをコピーする。その後、ノードは、一時保持レジスタのビットをクリアする。これにより、ノードは、連続してエラーを検出した場合でも、両方のエラー情報をファームウェアに正しく出力することができ、ファームウェアは、エラーマスクを解除した後には、両方のエラー情報を正しく受けることができる。
【００１６】
このように、実施例１に係る情報処理装置は、上記した主たる特徴のごとく、ファームウェアは意識することなく、また、ファームウェアのクリアタイミングの時間差にも関係なく、正しく被疑部品を特定することが可能である。
【００１７】
［情報処理装置の構成］
次に、図１を用いて、情報処理装置の構成を説明する。図１は、実施例１に係る情報処理装置の構成を示すブロック図である。図１に示すように、この情報処理装置は、ノードＡ１０と、クロスバ２０と、ノードＢ３０と、ＭＭＢ４０とから構成される。なお、ノードＡ１０と、クロスバ２０と、ノードＢ３０とは、特に本実施例に密接に関連する処理部が同じであるため、ここでは、ノードＡ１０についてのみ説明する。
【００１８】
（ノードＡ１０の構成）
ノードＡ１０は、ＳＢ（System  Board）やＩＯＢ（IO  Board）、クロスバスイッチ（クロスバ）などといったＭＭＢ４０とＩ２Ｃ（Inter-Integrated  Circuit）インタフェースで接続されるデバイスのことであり、特に本実施例に密接に関連するものとしては、エラーログレジスタ１１と、一時保持レジスタ１２と、エラー検出器１３と、エラー検出器１４とを備える。
【００１９】
エラーログレジスタ１１は、後述するエラー検出器１３またはエラー検出器１４により検出されたエラーに関するエラー情報を保持する。具体的には、エラーログレジスタ１１は、ノードＡ１０内のハードウェアそれぞれに対応付けたビットごとにエラー情報を保持する。例えば、エラーログレジスタ１１は、エラー検出器１４によりエラーが検出されてエラー情報が通知された場合に、当該エラーを発したハードウェアのビット位置に対応する位置に、当該エラー情報を保持する。
【００２０】
そして、エラーログレジスタ１１は、後述するエラー検出器１３またはエラー検出器１４により通知されたエラー情報を保持すると、割込み専用線を介して、ＭＭＢ４０の割り込みコントローラ４５に対して割込み要求を出力する。
【００２１】
一時保持レジスタ１２は、エラーログレジスタ１１と同様の構成を有する保持部である。具体的に例を挙げると、エラーログレジスタ１１が、エラー検出器１４により検出されたエラーのエラー情報を保持している状況であるとする。この場合に、一時保持レジスタ１２は、エラーログレジスタ１１に保持されるエラー情報と同種のエラーを検出したエラー検出器１４により通知された同種のエラー情報を、エラーログレジスタ１１に格納されるエラー情報と同一のビット位置に保持する。
【００２２】
そして、一時保持レジスタ１２は、エラーログレジスタ１１に保持されているエラー情報がＭＭＢ４０のファームウェアによりクリアされた場合、当該クリアされたエラー情報に対応するビット位置に保持する同種のエラー情報を取得する。そして、一時保持レジスタ１２は、エラーログレジスタ１１におけるクリアされたエラー情報に対応するビット位置に、取得した同種のエラー情報を格納する。
【００２３】
エラー検出器１３は、ノードＡ１０内のハードウェアのエラーを検出するとともに、他のノードで検出されたエラー情報を受け付ける。具体的に例を挙げると、エラー検出器１３は、ノードＡ１０内のハードウェアのエラーを検出し、検出したエラーに関するエラー情報をエラーログレジスタ１１に通知する。そして、エラー検出器１３は、エラーログレジスタ１１の各ビットのうち、当該エラーを検出したハードウェアに対応するビット位置に当該エラー情報を格納する。
【００２４】
また、エラー検出器１３は、他のノードで検出されたエラー情報を受け付けると、当該エラー情報に対する割込み要求を、割込み専用線を介してＭＭＢ４０の割り込みコントローラ４５に対して出力する。
【００２５】
エラー検出器１４は、ノードＡ１０内のハードウェアのエラーを検出するとともに、エラーを検出したことを他のノードに通知する。具体的に例を挙げると、エラー検出器１４は、ノードＡ１０内のハードウェアのエラーを検出し、検出したエラーに関するエラー情報をエラーログレジスタ１１に通知する。そして、エラー検出器１４は、エラーログレジスタ１１の各ビットのうち、当該エラーを検出したハードウェアに対応するビット位置に当該エラー情報を格納する。
【００２６】
また、エラー検出器１４は、他のノードで検出されたエラー情報を受け付けると、当該エラー情報に対する割込み要求を、割込み専用線を介してＭＭＢ４０の割り込みコントローラ４５に対して出力する。
【００２７】
（ＭＭＢ４０の構成）
ＭＭＢ４０は、ファームウェアなどを実行して、接続されるノードに対して各種処理を実行する制御部であり、特に本実施例に密接に関連するものとしては、スイッチ４１と、Ｉ２Ｃコントローラ４２と、メモリ４３と、ＣＰＵ４４と、割り込みコントローラ４５とから構成される。
【００２８】
スイッチ４１は、複数のポートを備え、Ｉ２Ｃインタフェースを介して他のノードと接続する通信ボードである。具体的に例を挙げれば、スイッチ４１は、複数のポートそれぞれにノードを接続し、ノードから送信されたデータを後述するＩ２Ｃコントローラ４２に出力したり、Ｉ２Ｃコントローラ４２から出力されたデータを送信先に出力する。
【００２９】
Ｉ２Ｃコントローラ４２は、スイッチ４１に接続される各ノードを制御したり、データの条件分岐を行ったりする。具体的には、Ｉ２Ｃコントローラ４２は、スイッチ４１を介してデータをノードから受信し、当該データをＣＰＵ４４やファームウェアに出力する。また、Ｉ２Ｃコントローラ４２は、ＣＰＵ４４やファームウェアなどにより実行された結果を、スイッチ４１を介してノードに送信する。
【００３０】
メモリ４３は、ＣＰＵ４４や割り込みコントローラ４５などによる各種処理に必要なデータおよびプログラムを格納するとともに、ファームウェアを記憶する。メモリ４３に記憶されるファームウェアは、ＣＰＵ４４や割り込みコントローラ４５などに読み出されて、各種処理を実行する。例えば、ファームウェアは、割り込みコントローラ４５が割り込み要求を受信したことを検出し、ＣＰＵ４４の指示により、当該割り込み要求に対応するエラーのエラー情報を各ノードからＩ２Ｃインタフェースを介して取得してエラー解析を実行する。また、ファームウェアは、エラー解析中にはマスクをかけてエラーの受付を抑止したり、エラー解析後には当該エラー情報をクリアしたりする。
【００３１】
ＣＰＵ４４は、プログラムによって様々な数値計算や情報処理、機器制御などを行うとともに、メモリ４３上にあるプログラムと呼ぶ命令列を順に読み込み、解釈し、その結果に従ってデータの移動や加工を行う。具体的には、ＣＰＵ４４は、メモリ４３上にあるファームウェアを読み出して、上記した各種処理を実行する。また、ＣＰＵ４４は、割り込みコントローラ４５により割り込み要求が受信されると、エラー処理ルーチンを起動して、当該割り込み要求に対応するエラーのエラー情報を各ノードからＩ２Ｃインタフェースを介して取得する。そして、ＣＰＵ４４は、現在実行している処理を中止して、割り込み処理を実行する。
【００３２】
割り込みコントローラ４５は、各ノードから割り込み要求を受信する。具体的に例を挙げると、割り込みコントローラ４５は、ノードＡ１０においてエラーが発生した場合、Ｉ２Ｃインタフェースを介して受信するのではなく、ノードＡ１０のエラーログレジスタ１１から割り込み専用線を介して割り込み要求を受信し、当該割り込みを受信したことをＣＰＵ４４に通知する。このようにすることで、ＣＰＵ４４は、割り込み処理を優先的に実行する。
【００３３】
（各ノードの回路構成）
次に、図２を用いて、各ノードの回路構成を説明する。図２は、実施例１に係る情報処理装置における各ノードの回路構成を説明する図である。なお、ここでは、ノードＡ１０を例にして説明する。
【００３４】
図２に示すように、ノードＡ１０は、エラー検出器１３またはエラー検出器１４で検出されたエラー情報がerr[31:0]として通知されると、図示するように、ＯＲ演算から得られた３２ビットと、clrの情報である１ビットとをＡＮＤ演算することでクリア指示か否かを判定する。そして、ノードＡ１０は、クリア指示でない場合には、エラーログレジスタ１１（err_reg[31:0]）に当該エラー情報をセットする。このとき、ノードＡ１０は、既に対応するビットがセットされていると、一時保持レジスタ１２（err_reg_copy[31:0]）の方に当該エラー情報をセットする。
【００３５】
その後、ノードＡ１０は、ＭＭＢ４０のファームウェアからレジスタのクリア要求（clr）が指示されると、ＯＲ演算から得られた３２ビットと、clrの情報である１ビットとをＡＮＤ演算して、エラーログレジスタ１１（err_reg[31:0]）のセットされているビットをクリアする。そして、このとき、ノードＡ１０は、一時保持レジスタ１２（err_reg_copy[31:0]）の対応するビットがセットされている場合には、エラーログレジスタ１１（err_reg[31:0]）の同一ビットを再度セットし、一時保持レジスタ１２（err_reg_copy[31:0]）の方をクリアする。
【００３６】
［情報処理装置による処理］
次に、図３〜図５を用いて、情報処理装置による処理を説明する。図３は、実施例１に係る情報処理装置におけるノードでの処理の流れを示すフローチャートであり、図４は、実施例１に係る情報処理装置におけるＭＭＢでの処理の流れを示すフローチャートであり、図５は、実施例１に係る情報処理装置で実施される処理のタイムチャートを示す図である。
【００３７】
（ノードでの処理の流れ）
図３に示すように、各ノードは、エラーを検出すると（ステップＳ１０１肯定）、当該エラーに対応するエラーログレジスタ１１のビット位置にエラー情報が既に格納されているか否かを判定する（ステップＳ１０２）。
【００３８】
そして、エラー情報が既に格納されていない場合（ステップＳ１０２否定）、各ノードは、当該エラーに対応するエラーログレジスタ１１のビット位置にエラー情報を格納して（ステップＳ１０３）、ステップＳ１０１に戻る。
【００３９】
一方、エラー情報が既に格納されている場合（ステップＳ１０２肯定）、各ノードは、当該エラーに対応する一時保持レジスタ１２のビット位置にエラー情報を格納する（ステップＳ１０４）。
【００４０】
その後、各ノードは、エラーログレジスタ１１のエラー情報がファームウェアによりクリアされると（ステップＳ１０５肯定）、クリアされたエラー情報のビット位置と同じビット位置のエラー情報を一時保持レジスタ１２から取得して、エラーログレジスタ１１の当該ビット位置に格納する（ステップＳ１０６）。そして、各ノードは、エラー情報を取得した一時保持レジスタ１２のビット位置に記憶されているエラー情報をクリアする（ステップＳ１０７）。
【００４１】
（ＭＭＢでの処理の流れ）
図４に示すように、ＭＭＢ４０は、いずれかのノードからエラーを受信すると（ステップＳ２０１肯定）、以後のエラー報告を一旦マスクしてエラーを受け付けないようにする（ステップＳ２０２）。
【００４２】
そして、ＭＭＢ４０は、エラー情報を送信してきた各ノードのエラー情報を記憶するとともに、当該各ノードのエラーログレジスタに記憶される当該エラーに対応するビット位置の情報をクリアする（ステップＳ２０３）。
【００４３】
そして、ＭＭＢ４０は、受信したエラー情報を用いてエラー解析処理を実行し（ステップＳ２０４）、当該処理が終了すると、マスクを解除して、以後のエラー報告を受信できる状態にする（ステップＳ２０５）。
【００４４】
（タイムチャート）
次に、図５を用いて、実施例１に係る情報処理装置で実施される処理のタイムチャートを説明するが、ここでは、ノードＡ１０とノードＢ３０とを例にして説明する。
【００４５】
図５に示すように、ノードＡ１０は、エラーを検出すると（ステップＳ３０１）、当該エラー情報をエラーログレジスタ１１に格納するとともに、エラーによる不正なパケットをノードＢ３０に転送する（ステップＳ３０２）。すると、ノードＡ１０、Ｂ３０は、ファームウェアに対してそれぞれエラー割込み出力する（ステップＳ３０３）。
【００４６】
ＭＭＢ４０のファームウェアは、以後のエラー報告を一旦マスクした状態にし（ステップＳ３０４とステップＳ３０５）、まずノードＢ３０のエラー情報をログ（記録）しクリアする（ステップＳ３０６）。
【００４７】
そして、ファームウェアによりノードＡ１０のエラー情報がクリアされる前に、ノードＡは、先ほど検出したエラーと同種のエラー（同じビット位置に対応するエラー）を検出し（ステップＳ３０７）、エラーによる不正なパケットをノードＢ３０に転送する（ステップＳ３０８）。
【００４８】
すると、ノードＡ１０は、新たに検出したエラーのエラー情報を格納するエラーログレジスタ１１のビット位置にエラー情報が既に格納されていることにより、当該新たなエラー情報を一時保持レジスタ１２に格納する（ステップＳ３０９）。
【００４９】
その後、ＭＭＢ４０のファームウェアは、ノードＡ１０のエラー情報をログ（記録）しクリアする（ステップＳ３１０）。つまり、ここでは、最初のエラー情報がクリアされることとなる。
【００５０】
そして、ファームウェアは、ノードＡ１０とノードＢ３０のそれぞれのエラー情報をクリアした後に、取得したエラー情報を用いてエラー解析を行い、エラー解析が終了すると、エラー割り込みのマスクを解除してエラー割り込み受付可能な状態とする（ステップＳ３１１〜ステップＳ３１３）。
【００５１】
こうして、エラー割り込み受付可能な状態となったファームウェアは、ノードＡ１０、ノードＢ３０との両方から、最初のエラー情報ではなく、新たなエラー情報を受け付ける（ステップＳ３１４）。その後、新たなエラー情報についても、上記したステップと同様の処理を行う。
【００５２】
［実施例１による効果］
このように、実施例１によれば、ノードは、エラー検出器１３が検出した第１のエラー情報とエラー検出器１４が検出した第２のエラー情報を、対応するビット位置にそれぞれエラーログレジスタ１１に保持し、エラーログレジスタ１１に記憶される第１のエラー情報又は第２のエラー情報とは異なる、エラー検出器１３が新たに検出した第１のエラー情報とエラー検出器１４が新たに検出した第２のエラー情報を、対応するビット位置にそれぞれ保持するとともに、エラーログレジスタ１１に保持された第１又は第２のエラー情報が、ＭＭＢ４０により初期化された場合に、保持した第１又は第２のエラー情報のうち、初期化された第１又は第２のエラー情報に対応するエラー情報を、保持部に保持させる一時保持レジスタ１２を有し、ＭＭＢ４０は、エラーログレジスタ１１に保持された第１及び第２のエラー情報を、制御部に読み込ませるとともに、第１又は第２のエラー情報を、制御部に初期化させるファームウェアを有するので、複雑な処理を必要とすることなく、レジスタを用いるだけで、ファームウェアは意識することなく、また、ファームウェアのクリアタイミングの時間差にも関係なく、正しく被疑部品を特定することが可能である。
【実施例２】
【００５３】
さて、これまで本実施形態の一例について説明したが、本情報処理装置および情報処理方法は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に示すように、（１）ノードが一つの形態、（２）クリア抑止制御、（３）単一ビットの一時保持フラグ、（４）システム構成等にそれぞれ区分けして異なる実施例を説明する。
【００５４】
（１）ノードが一つの形態
例えば、実施例１では、ＭＭＢにノードが複数接続されている場合の例について説明したが、本情報処理装置および情報処理方法はこれに限定されるものではなく、ＭＭＢにノードが一つ接続されている場合でも同様に本装置を適用することができる。具体的に例を挙げれば、図６に示すように、ノードＡとＭＭＢとが接続されている形態でも同様に適用することができる。また、図６では、ノードＡがエラーログレジスタと一時保持レジスタとをそれぞれ２つ備えている場合を図示したが、これに限定されるものではなく、エラーログレジスタと一時保持レジスタとをそれぞれ１つ備えていてもよい。なお、図６は、ノード一つが接続される場合の構成を例示した図である。
【００５５】
（２）クリア抑止制御
また、実施例に係るノードは、ファームウェアによりエラーログレジスタのクリア指示を受け付けてクリアを実行する場合について説明したが、本情報処理装置および情報処理方法はこれに限定されるものではなく、クリア指示を受けた場合にクリアを抑止することもできる。具体的には、ノードは、一時保持レジスタにエラー情報がセットされていれば、当該セットされているエラー情報のビット位置と対応するエラーログレジスタのビットをクリアしないようにすることもできる。
【００５６】
具体的に例を挙げると、クリア抑止を行う場合は、図７に示した回路により実現することができる。図７に示した回路は、エラー情報（err_reg[31:0]）と反転させたクリア情報（1ビット）とをＡＮＤ演算する場合に、さらに、一時保持レジスタの（err_reg_copy[31:0]）を含めてＡＮＤ演算する点が、実施例１で説明した図５とは異なる。なお、図７は、クリア抑止制御を実施するノードの回路構成を例示した図である。
【００５７】
このようにすることで、一時保持レジスタからエラーログレジスタへ再セットする処理を省くことができ、装置全体としての処理性能の低下を防止しつつ、高速な割込み処理を実施することが可能である。
【００５８】
（３）単一ビットの一時保持フラグ
また、実施例１では、32ビットのエラーレジスタと同様の32ビットの一時保持レジスタを用いた場合について説明したが、本情報処理装置および情報処理方法はこれに限定されるものではなく、単一ビットの一時保持レジスタを用いた場合でも同様に処理することができる。このように、単一ビットの一時保持レジスタにフラグがセットされていると、クリアを抑止するとともに、一時保持レジスタのフラグをクリアすることができる。
【００５９】
具体的に例を挙げると、単一ビットの一時保持レジスタを用いた場合は、図８に示した回路により実現することができる。図８に示した回路は、一時保持レジスタにおいて、記憶されているエラー情報（err_reg[31:0]）と新たなエラーのエラー情報（err_reg[31:0]）とを32ビット全体でAND演算を行う点が、実施例１で説明した図５とは異なる。そして、ノードは、この演算結果を受けて、一時保持レジスタに「１」や「０」といったフラグを立て、フラグ「１」である場合にはエラーログレジスタのクリアを抑止する制御を行う。なお、図８は、単一ビットの一時保持レジスタを有するノードの回路構成を例示した図である。
【００６０】
このようにすることで、32ビットの一時保持レジスタを用意する必要もなく、1ビットの最小構成の一時保持レジスタを用いた場合であっても、ファームウェアは意識することなく、また、ファームウェアのクリアタイミングの時間差にも関係なく、正しく被疑部品を特定することが可能である。
【００６１】
（４）システム構成等
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００６２】
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００６３】
以上の実施例１と２を含む実施形態に関し、更に以下の付記を開示する。
【００６４】
（付記１）ノードと、前記ノードに接続されたシステム制御装置を有する情報処理装置において、
前記ノードは、
第１のエラー情報を検出する第１の検出部と、
前記第１のエラー情報とは異なる第２のエラー情報を検出する第２の検出部と、
前記第１の検出部が検出した前記第１のエラー情報と前記第２の検出部が検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持する保持部と、
前記保持部に記憶される前記第１のエラー情報又は前記第２のエラー情報とは異なる、前記第１の検出部が新たに検出した前記第１のエラー情報と前記第２の検出部が新たに検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持するとともに、前記保持部に保持された前記第１又は第２のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第１又は第２のエラー情報のうち、前記初期化された第１又は第２のエラー情報に対応するエラー情報を、前記保持部に保持させる一時保持部を有し、
前記システム制御装置は、
前記保持部に接続された制御部と、
前記保持部に保持された前記第１及び第２のエラー情報を、前記制御部に読み込ませるとともに、前記第１又は第２のエラー情報を、前記制御部に初期化させるファームウェアを有することを特徴とする情報処理装置。
【００６５】
（付記２）前記制御部はさらに、
前記一時保持部に、前記第１又は第２のエラー情報が保持されている場合には、
前記保持部において、前記第１又は第２のエラー情報に対応するビット位置に保持された第１又は第２のエラー情報の初期化を抑止するとともに、
前記一時保持部に保持された、前記第１又は第２のエラー情報を前記システム制御装置により初期化することを特徴とする付記１に記載の情報処理装置。
【００６６】
（付記３）ノードと、前記ノードに接続されたシステム制御装置を有する情報処理装置において、
前記ノードは、
第１のエラー情報を検出する第１の検出部と、
前記第１のエラー情報とは異なる第２のエラー情報を検出する第２の検出部と、
前記第１の検出部が検出した前記第１のエラー情報と前記第２の検出部が検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持する保持部と、
前記第１の検出部が検出した前記第１のエラー情報と前記第２の検出部が検出した前記第２のエラー情報が、前記保持部に保持されている場合に、エラーフラグを保持するとともに、前記エラーフラグが保持されているとき、前記システム制御装置による前記第１又は第２のエラー情報の初期化を、抑止するフラグ保持部を有し、
前記システム制御装置は、
前記保持部に接続された制御部と、
前記保持部に保持された前記第１及び第２のエラー情報を、前記制御部に読み込ませるとともに、前記第１又は第２のエラー情報を、前記制御部に初期化させるファームウェアを有することを特徴とする情報処理装置。
【００６７】
（付記４）第１のノードと、前記第１のノードに接続された第２のノードと、前記第１及び第２のノードに接続されたシステム制御装置を有する情報処理装置において、
前記第１のノードは、
第１のエラー情報を検出する第１の検出部と、
前記第１の検出部が検出した前記第１のエラー情報を保持する第１の保持部と、
前記保持部に記憶される前記第１のエラー情報とは異なる、前記第１の検出部が新たに検出した前記第１のエラー情報を保持するとともに、前記第１の保持部に保持された前記第１のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第１のエラー情報を、前記第１の保持部に保持させる第１の一時保持部を有し、
前記第２のノードは、
第２のエラー情報を検出する第２の検出部と、
前記第２の検出部が検出した前記第２のエラー情報を保持する第２の保持部と、
前記保持部に記憶される前記第２のエラー情報とは異なる、前記第２の検出部が新たに検出した前記第２のエラー情報を保持するとともに、前記第２の保持部に保持された前記第２のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第２のエラー情報を、前記第２の保持部に保持させる第２の一時保持部を有し、
前記システム制御装置は、
前記第１及び第２の保持部に接続された制御部と、
前記第１及び第２の保持部に保持された前記第１及び第２のエラー情報を、前記制御部に読み込ませるとともに、前記第１及び第２のエラー情報を、前記制御部に初期化させるファームウェアを有することを特徴とする情報処理装置。
【００６８】
（付記５）ノードと、前記ノードに接続されたシステム制御装置を有する情報処理装置に適した情報処理方法であって、
前記ノードは、
第１のエラー情報を検出する第１の検出工程と、
前記第１のエラー情報とは異なる第２のエラー情報を検出する第２の検出工程と、
前記第１の検出工程が検出した前記第１のエラー情報と前記第２の検出工程が検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持する保持工程と、
前記保持工程に記憶される前記第１のエラー情報又は前記第２のエラー情報とは異なる、前記第１の検出工程が新たに検出した前記第１のエラー情報と前記第２の検出工程が新たに検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持するとともに、前記保持工程に保持された前記第１又は第２のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第１又は第２のエラー情報のうち、前記初期化された第１又は第２のエラー情報に対応するエラー情報を、前記保持工程に保持させる一時保持工程を有し、
前記システム制御装置は、
前記保持工程に接続された制御工程と、
前記保持工程に保持された前記第１及び第２のエラー情報を、前記制御工程に読み込ませるとともに、前記第１又は第２のエラー情報を、前記制御工程に初期化させるファームウェアを含んだことを特徴とする情報処理方法。
【００６９】
（付記６）前記制御工程はさらに、
前記一時保持工程に、前記第１又は第２のエラー情報が保持されている場合には、
前記保持工程において、前記第１又は第２のエラー情報に対応するビット位置に保持された第１又は第２のエラー情報の初期化を抑止するとともに、
前記一時保持工程に保持された、前記第１又は第２のエラー情報を前記システム制御装置により初期化することを特徴とする付記５に記載の情報処理方法。
【００７０】
（付記７）ノードと、前記ノードに接続されたシステム制御装置を有する情報処理装置に適した情報処理方法であって、
前記ノードは、
第１のエラー情報を検出する第１の検出工程と、
前記第１のエラー情報とは異なる第２のエラー情報を検出する第２の検出工程と、
前記第１の検出工程が検出した前記第１のエラー情報と前記第２の検出工程が検出した前記第２のエラー情報を、対応するビット位置にそれぞれ保持する保持工程と、
前記第１の検出工程が検出した前記第１のエラー情報と前記第２の検出工程が検出した前記第２のエラー情報が、前記保持工程に保持されている場合に、エラーフラグを保持するとともに、前記エラーフラグが保持されているとき、前記システム制御装置による前記第１又は第２のエラー情報の初期化を、抑止するフラグ保持工程を有し、
前記システム制御装置は、
前記保持工程に接続された制御工程と、
前記保持工程に保持された前記第１及び第２のエラー情報を、前記制御工程に読み込ませるとともに、前記第１又は第２のエラー情報を、前記制御工程に初期化させるファームウェアを含んだことを特徴とする情報処理方法。
【００７１】
（付記８）第１のノードと、前記第１のノードに接続された第２のノードと、前記第１及び第２のノードに接続されたシステム制御装置を有する情報処理装置に適した情報処理方法であって、
前記第１のノードは、
第１のエラー情報を検出する第１の検出工程と、
前記第１の検出工程が検出した前記第１のエラー情報を保持する第１の保持工程と、
前記第１の保持工程に記憶される前記第１のエラー情報とは異なる、前記第１の検出工程が新たに検出した前記第１のエラー情報を保持するとともに、前記第１の保持工程に保持された前記第１のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第１のエラー情報を、前記第１の保持工程に保持させる第１の一時保持工程を有し、
前記第２のノードは、
第２のエラー情報を検出する第２の検出工程と、
前記第２の検出工程が検出した前記第２のエラー情報を保持する第２の保持工程と、
前記２の保持工程に記憶される前記第２のエラー情報とは異なる、前記第２の検出工程が新たに検出した前記第２のエラー情報を保持するとともに、前記第２の保持工程に保持された前記第２のエラー情報が、前記システム制御装置により初期化された場合に、前記保持した第２のエラー情報を、前記第２の保持工程に保持させる第２の一時保持工程を有し、
前記システム制御装置は、
前記第１及び第２の保持工程に接続された制御工程と、
前記第１及び第２の保持工程に保持された前記第１及び第２のエラー情報を、前記制御工程に読み込ませるとともに、前記第１及び第２のエラー情報を、前記制御工程に初期化させるファームウェアを含んだことを特徴とする情報処理方法。
【図面の簡単な説明】
【００７２】
【図１】実施例１に係る情報処理装置の構成を示すブロック図である。
【図２】実施例１に係る情報処理装置における各ノードの回路構成を説明する図である。
【図３】実施例１に係る情報処理装置におけるノードでの処理の流れを示すフローチャートである。
【図４】実施例１に係る情報処理装置におけるＭＭＢでの処理の流れを示すフローチャートである。
【図５】実施例１に係る情報処理装置で実施される処理のタイムチャートを示す図である。
【図６】ノード一つが接続される場合の構成を例示した図である。
【図７】クリア抑止制御を実施するノードの回路構成を例示した図である。
【図８】単一ビットの一時保持レジスタを有するノードの回路構成を例示した図である。
【図９】従来技術を説明するための図である。
【符号の説明】
【００７３】
１０  ノードＡ
１１  エラーログレジスタ
１２  一時保持レジスタ
１３  エラー検出器
１４  エラー検出器
２０  クロスバ
３０  ノードＢ
４０  ＭＭＢ
４１  スイッチ
４２  Ｉ２Ｃコントローラ
４３  メモリ
４４  ＣＰＵ
４５  割り込みコントローラ
【図１】
0005217647.tif 000002
【図２】
0005217647.tif 000003
【図３】
0005217647.tif 000004
【図４】
0005217647.tif 000005
【図５】
0005217647.tif 000006
【図６】
0005217647.tif 000007
【図７】
0005217647.tif 000008
【図８】
0005217647.tif 000009
【図９】
0005217647.tif 000010