(57)【特許請求の範囲】
【請求項１】
コンピュータ（ＣＡ）の少なくとも１つの処理モジュール（ＭＴｊ）のレジスタ（Ｒｉｊ）に格納されている情報を取得する方法であって、それぞれの処理モジュール（ＭＴｊ）が、関連するレジスタ（Ｒｉｊ）内に格納されている情報を読み出すことが出来る管理コントローラ（ＣＧｊ）、および致命的なエラーに引き続く要求されたリセットをトリガすることが出来るプログラム可能論理回路（ＣＬｊ）をさらに含み、処理モジュール（ＭＴｊ）のプログラム可能論理回路（ＣＬｊ）によりリセット要求を受信した場合には、このプログラム可能論理回路（ＣＬｊ）は、このリセットのトリガを一旦停止し、関連する管理コントローラ（ＣＧｊ）に致命的なエラーの発生をアラートし、管理コントローラ（ＣＧｊ）は、可能であれば、関連する選択されたレジスタ（Ｒｉｊ）に格納されている情報を読み出して次にこの読み出された情報をファイルに格納し、次に前記関連するプログラム可能論理回路（ＣＬｊ）は前記要求されたリセットをトリガすることを許可されることを特徴とする、方法。
【請求項２】
前記管理コントローラ（ＣＧｊ）が関連する選択されたレジスタ（Ｒｉｊ）に格納されている情報を読み出すことが出来ない場合、前記関連するプログラム可能論理回路（ＣＬｊ）は前記要求されたリセットをトリガすることを許可され、かつリセットフェーズは前記管理コントローラ（ＣＧｊ）と前記処理モジュール（ＭＴｊ）の基本入力／出力システムとの間の同期ポイントでブロックされ、次に前記管理コントローラ（ＣＧｊ）は関連する選択されたレジスタ（Ｒｉｊ）に格納されている情報を読み出し次にこの読み出された情報をファイルに格納し、次に前記コンピュータ（ＣＡ）がリスタートされることを特徴とする、請求項１に記載の方法。
【請求項３】
それぞれの管理コントローラ（ＣＧｊ）が、自身が格納するレジスタのリストから関連するレジスタ（Ｒｉｊ）を選択することを特徴とする、請求項１または２に記載の方法。
【請求項４】
前記リストが、リセットの前に読み出されるべきレジスタを含む第１の部分、およびリセットの後に読み出されるべきレジスタを含む第２の部分を含むことを特徴とする、請求項３に記載の方法。
【請求項５】
マスタ処理モジュール（ＭＴ１）および少なくとも１つのスレーブ処理モジュール（ＭＴｊ’）が存在する状態で、スレーブ処理モジュール（ＭＴｊ’）がリセット要求を受信したプログラム可能論理回路（ＣＬｊ’）を含む場合、関連する管理コントローラ（ＣＧｊ’）がそのスレーブ処理モジュール（ＭＴｊ’）内での致命的なエラーの発生について前記マスタ処理モジュール（ＭＴ１）の管理コントローラ（ＣＧ１）にアラートし、次にマスタ処理モジュール（ＭＴ１）の前記管理コントローラ（ＣＧ１）は、それぞれの処理モジュール（ＭＴｊ）の管理コントローラ（ＣＧｊ）に、関連する選択されたレジスタ（Ｒｉｊ）に格納されている情報の同期読出しに対する許可ならびに管理コントローラ（ＣＧｊ）がこの読み出した情報を格納しなければならないファイルに対するインスタンス名を送信することを特徴とする、請求項１から４のいずれか一項に記載の方法。
【請求項６】
それぞれの処理モジュール（ＭＴｊ）の管理コントローラ（ＣＧｊ）がそのファイルの生成に関してマスタ処理モジュール（ＭＴ１）の前記管理コントローラ（ＣＧ１）に報告し、かつマスタ処理モジュール（ＭＴ１）の前記管理コントローラ（ＣＧ１）が、処理モジュール（ＭＴｊ）のそれぞれのプログラム可能論理回路（ＣＬｊ）に対して、それぞれのプログラム可能論理回路（ＣＬｊ）が処理モジュール（ＭＴｊ）のそれぞれの管理コントローラ（ＣＧｊ）からファイル生成の報告を受信した時にリセットをトリガする許可を与えられる、ということを通知し、次にマスタ処理モジュール（ＭＴ１）の前記管理コントローラ（ＣＧ１）が前記コンピュータ（ＣＡ）のリスタートをトリガすることを特徴とする、請求項５に記載の方法。
【請求項７】
コンピュータ（ＣＡ）の前記リスタートをトリガする前に、マスタ処理モジュール（ＭＴｊ）の前記管理コントローラ（ＣＧｊ）が、ファイルは前記マスタおよびスレーブ処理モジュール（ＭＴｊ）のそれぞれに格納されたということを報告するためにアラートメッセージを生成することを特徴とする、請求項６に記載の方法。
【請求項８】
処理手段によって実行されると、致命的なエラーに引き続いてコンピュータ（ＣＡ）の少なくとも１つの処理モジュール（ＭＴｊ）のレジスタ（Ｒｉｊ）に格納されている情報を取得するために、請求項１から７のいずれか一項による方法を実施することが出来る、命令のセットを含むコンピュータプログラム。
【請求項９】
情報を格納するレジスタ（Ｒｉｊ）、前記レジスタ（Ｒｉｊ）に格納されている情報を読み出すことが出来る管理コントローラ（ＣＧｊ）および致命的なエラーに引き続く要求されたリセットをトリガすることが出来るプログラム可能論理回路（ＣＬｊ）を含む、少なくとも１つの処理モジュール（ＭＴｊ）を含む、コンピュータ（ＣＡ）であって、処理モジュール（ＭＴｊ）のプログラム可能論理回路（ＣＬｊ）によりリセット要求を受信した場合には、このプログラム可能論理回路（ＣＬｊ）がこのリセットのトリガを一旦停止しかつ関連する前記管理コントローラ（ＣＧｊ）に致命的なエラーの発生についてアラートするように構成されており、ならびに後者（ＣＧｊ）が、許可されている場合は、関連する前記プログラム可能論理回路（ＣＬｊ）が前記要求されたリセットをトリガすることを許可される前に、関連する選択されたレジスタ（Ｒｉｊ）に格納されている情報を読み出して次にこの読み出された情報をファイルに格納するように構成されていることを特徴とする、コンピュータ（ＣＡ）。
【請求項１０】
前記管理コントローラ（ＣＧｊ）が関連する選択されたレジスタ（Ｒｉｊ）に格納されている情報を読み出すことが出来ない場合、前記関連するプログラム可能論理回路（ＣＬｊ）は、許可されていれば、前記要求されたリセットをトリガするように構成され、前記管理コントローラ（ＣＧｊ）は、この管理コントローラ（ＣＧｊ）とその処理モジュール（ＭＴｊ）の基本入力／出力システムとの間の同期ポイントにおけるリセットフェーズのブロックに引き続いて、関連する選択されたレジスタ（Ｒｉｊ）に格納されている情報を読み出し、次にこの読み出された情報をファイルに格納するように構成されることを特徴とする、請求項９に記載のコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、致命的なエラーの発生の場合に処理モジュールの様々なハードウェアコンポーネントのレジスタに格納されている情報を取得することを可能にする、管理コントローラ（「サービスプロセッサ」と呼ばれることもある）およびプログラム可能論理回路（またはＦＰＧＡ（「フィールドプログラマブルゲートアレイ」））を含む少なくとも１つの処理モジュールを含むコンピュータに関する。
【背景技術】
【０００２】
本発明で用語「コンピュータ」は、並列におよび／または順次にタスクを実行することが出来る１つまたは複数の処理モジュールを含むコンピュータを意味する。それぞれの処理モジュールは、管理コントローラ、少なくとも１つのプロセッサ、プログラム可能論理回路および、様々な処理モジュール間のメモリの一貫性を提供してその結果オペレーティングシステム（またはＯＳ）がその処理モジュールは単一のモジュールを形成しているとみなせることを可能にするコヒーレントメモリスイッチ（例えばＢＣＳ２（「Ｂｕｌｌ  Ｃｏｈｅｒｅｎｔ  Ｓｗｉｔｃｈ  ｒｅｌｅａｓｅ  ２」）などを備えている。例として、これは会社サーバタイプのコンピュータまたはスーパコンピュータの計算（またはサービス）ノードとして使用されるコンピュータであり得る。
【０００３】
当業者に知られているように、コンピュータ（例えばサーバなど）がハードウェアに起因する致命的なエラーの発生に引き続いてダウンすると、そのコンポーネントのいくつかの一定の内部レジスタに格納されている情報の少なくともいくつかを、その致命的なエラーのソースおよびその結果としてエラー状況にあるコンポーネントを決定することを可能とするために、この致命的なエラーの発生の直後に知ることが不可欠である。これは特に、プログラム可能論理回路（またはＦＰＧＡ（「フィールドプログラマブルゲートアレイ」））およびコヒーレントメモリスイッチ（またはＢＣＳ（「Ｂｕｌｌ  Ｃｏｈｅｒｅｎｔ  Ｓｗｉｔｃｈ」））の１つまたは複数のプロセッサ（またはＣＰＵ（「中央処理装置」））のレジスタの場合である。
【０００４】
このタイプの重大なエラーに対しては、コンピュータが破損していると考えられてどのような重要データも損なわれない内に出来る限り迅速にリスタートしなければならないので、オペレーティングシステム（またはＯＳ）はそれ自身の内部エラー処理メカニズム（「エラーハンドラ」）を介した情報は全く取得することが出来ない。そのため、致命的なエラーに晒されているＣＰＵはそれ自身の判断でそのコンピュータをリスタート（または「リセット」）することを決定し、それによって、関連しているオペレーティングシステムが制御を行うことを妨げる。
【０００５】
このリスタートは揮発性のレジスタの内容を消去し、従ってそのリスタートが開始した後は情報の取得を妨げる。しかしいわゆる「スティッキー（ｓｔｉｃｋｙ）」レジスタに格納されている情報は別であるがやはり特殊な状況においてである。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って本発明は特にその状況を改善すること、および特に、致命的なエラーの発生に引き続いてコンピュータのそれぞれの処理モジュールの一定のレジスタに格納されている情報を目的としており、ここでそれぞれの処理モジュールは、関連するレジスタに格納されている情報を読み出すことが出来る管理コントローラおよび致命的なエラーに引き続いて要求されるリセットをトリガ出来るプログラム可能論理回路をさらに含む。
【課題を解決するための手段】
【０００７】
本発明は特にこの目的のために、処理モジュールのプログラム可能論理回路によりリセット要求を受信した場合に、このプログラム可能論理回路が、このリセットのトリガを一旦停止し、関連する管理コントローラに致命的なエラーの発生をアラートし、管理コントローラが、可能であれば、関連する選択されたレジスタ内に格納されている情報を読み出し、次にこの読み出された情報をファイルに格納し、次にその関連するプログラム可能論理回路がこの要求されたリセットをトリガすることを許可される、方法を提案する。
【０００８】
一定のレジスタの内容はこのようにして、実際上リアルタイムに、そしてより正確には致命的なエラーの発生の報告の直後に、そのエラーの原因を解析する目的で取り出すことが出来る。
【０００９】
本発明による方法は、具体的には以下に示すように、個別にまたは組み合せて取り入れることが出来るその他の特徴を含み得る：
【００１０】
−  管理コントローラが関連する選択されたレジスタに格納されている情報を読み出すことが出来ない場合、関連するプログラム可能論理回路は要求されたリセットをトリガする許可を得ることが可能であり、かつリセットフェーズは管理コントローラと処理モジュールの基本入力／出力システムとの間の同期ポイントでブロックすることが可能であり、次に管理コントローラは関連する選択されたレジスタに格納されている情報を読み出すことが可能であり、次にこの読み出された情報をファイルに格納することが可能であり、次にコンピュータはリスタートされることが可能である。
【００１１】
−  それぞれの管理コントローラは、自身が格納するレジスタのリストから関連するレジスタを選択することが出来る。
リストは、リセットの前に読み出されるべきレジスタを含む第１の部分、およびリセットの後に読み出されるべきレジスタを含む第２の部分を含むことが出来る。
【００１２】
−  マスタ処理モジュールおよび少なくとも１つのスレーブ処理モジュールが存在する状態で、スレーブ処理モジュールがリセット要求を受信したプログラム可能論理回路を含む場合、関連する管理コントローラはそのスレーブ処理モジュール内での致命的なエラーの発生についてマスタ処理モジュールの管理コントローラにアラートすることが可能であり、次にマスタ処理モジュールの管理コントローラは、それぞれの処理モジュールの管理コントローラに、関連する選択されたレジスタに格納されている情報の同期読出しに対する許可ならびにこの読み出された情報を格納しなければならないファイルに対するインスタンス名を送信することが出来る。
それぞれの処理モジュールの管理コントローラはそのファイルの生成に関してマスタ処理モジュールの管理コントローラに報告をすることが可能であり、かつマスタ処理モジュールの管理コントローラは、処理モジュールのそれぞれのプログラム可能論理回路に対して、それぞれのプログラム可能論理回路が処理モジュールのそれぞれの管理コントローラからファイル生成の報告を受信した時にリセットをトリガすることを許可される、ということを通知することが可能であり、次にマスタ処理モジュールの管理コントローラはコンピュータのリスタートをトリガすることが出来る。
コンピュータのリスタートをトリガする前に、マスタ処理モジュールの管理コントローラは、ファイルがマスタおよびスレーブ処理モジュールのそれぞれに格納されたということを報告するためにアラートメッセージを生成することが出来る。
【００１３】
本発明はまた、処理手段のために実行されると、致命的なエラーの発生に引き続いてコンピュータの少なくとも１つの処理モジュールのレジスタに格納されている情報を取得するための、本明細書に前述の制御のタイプの制御の方法を実施することが出来る、命令のセットを含むコンピュータプログラム製品を提案する。
【００１４】
本発明はまた、情報を格納するレジスタ、これらのレジスタに格納されている情報を読み出すことが出来る管理コントローラ、および致命的なエラーに引き続いて要求されるリセットをトリガすることが出来るプログラム可能論理回路を含む、少なくとも１つの処理モジュールを含むコンピュータを提案する。リセット要求が処理モジュールのプログラム可能論理回路によって受信される場合、このプログラム可能論理回路はこのリセットのトリガを一旦停止しかつ致命的なエラーの発生をそれに関連する管理コントローラにアラートし、ならびに後者は、可能であれば、関連するプログラム可能論理回路が要求されているリセットをトリガすることを許可される前に、関連する選択されたレジスタに格納されている情報を読出し次にこの読み出された情報をファイルに格納するように構成されている。
【００１５】
例えば、管理コントローラが関連する選択されたレジスタに格納されている情報を読み出すことが出来ない場合、関連するプログラム可能論理回路は、許可されていれば、要求されたリセットをトリガするように構成されることが可能であり、この管理コントローラは、それとその処理モジュールの基本入力／出力システムとの間の同期ポイントにおけるリセットフェーズのブロックに引き続いて、関連する選択されたレジスタに格納されている情報を読み出し、次にこの読み出された情報をファイルに格納するように構成されることが可能である。
【００１６】
本発明のその他の特徴および利点は、これ以降の詳細な記述および付属する図面を考察する中で示される。
【図面の簡単な説明】
【００１７】
【図１】本発明によるＪ個の処理モジュールを備えるコンピュータを図式的にかつ機能的に示した図である。
【図２】本発明による情報の取得方法を実施するアルゴリズムの例を示した図である。
【発明を実施するための形態】
【００１８】
本発明は、致命的なエラーの発生に引き続いて、コンピュータＣＡの少なくとも１つの処理モジュールＭＴｊのレジスタＲｉｊ内に格納されている情報の取得を可能とすることを意図した方法を提案することを特に目的としている。
【００１９】
以下においては非限定的な例示法により、コンピュータＣＡは会社サーバであると考える。しかし、本発明はこのタイプのコンピュータに制限されるものではない。本発明は実際に、並列におよび／または順次にタスクを実行することが出来る１つまたは複数の処理モジュールを含むあらゆるコンピュータシステムに関する。従って、これはスーパコンピュータの計算（またはサービスノードに使用されるコンピュータでもあり得る。
【００２０】
図１は、ここではＪ個の処理モジュールＭＴｊ  Ｕ＝１からＪ）を含むサーバであるコンピュータＣＡの非限定的な例を図式的に示す。例えば、Ｊは８に等しい。しかし、Ｊは１以上の任意の値であり得る。
【００２１】
これらＪ個の処理モジュールＭＴｊの中で、それらの中の１つはマスタと呼ばれ、一方でＪ−１個のその他のものはスレーブと呼ばれる。
【００２２】
それぞれの処理モジュールＭＴｊは、情報を格納するレジスタＲｉｊ、これらのレジスタＲｉｊに格納されている情報を読み出すことが出来る管理コントローラ（または「管理コントローラ」）ＣＧｊ、ハードウェアに起因する致命的なエラーの発生に引き続いて要求されたリセットをトリガすることが出来るプログラム可能論理回路」（またはＦＰＧＡ（「フィールドプログラマブルゲートアレイ」））ＣＬｊ、基本入力／出力システム（ＢＩＯＳ、本明細書に図示せず）、メモリ（図示せず）、および少なくとも１つのプロセッサ（またはＣＰＵ（「中央処理装置」））Ｐ１ｊまたはＰ２ｊを少なくとも含む。
【００２３】
コンピュータＣＡが図１に示すように数個の処理モジュールＭＴｊを含む場合、後者（ＭＴｊ）のそれぞれは、様々な処理モジュールＭＴｊ間のメモリの一貫性を提供してその結果オペレーティングシステム（またはＯＳ）がその処理モジュールＭＴｊは単一のモジュールを形成しているとみなせることを可能にするコヒーレントメモリスイッチＣＭｊ（例えばＢＣＳ２（「Ｂｕｌｌ  Ｃｏｈｅｒｅｎｔ  Ｓｗｉｔｃｈ  ｒｅｌｅａｓｅ  ２」）など）をまた含むことに留意すべきである。言い換えれば、それぞれのコヒーレントメモリスイッチＣＭｊは、任意の処理モジュールＭＴｊの任意のプロセッサＰ１  Ｊ、Ｐ２ｊから任意の処理モジュールＭＴｊの任意のメモリへのコヒーレントなアクセスを提供することを可能とする。
【００２４】
それぞれの管理コントローラＣＧｊは、例えばプロセッサＰ１ｊまたはＰ２ｊの、もしくはコヒーレントメモリスイッチＣＭｊのレジスタの読出し、または温度センサへのアクセスなどの、その処理モジュールＭＴｊのハードウェアへのアクセスを管理する、ＳＭＣ（「サテライト管理コントローラ」）と呼ばれる機能を提供する。
【００２５】
マスタ処理モジュールＭＴ１の管理コントローラＣＧ１は、スレーブ処理モジュールＭＴｊ’（ｊ’≠１）の管理コントローラＣＧｊ’に加えて、コンピュータＣＡの停止（「電源切断」）および立上げ（または（「電源投入」））、リセット、レジスタＲｉｊを読み出す許可、および処理モジュールＭＴｊ間の同期を特に管理するＢＭＣ（「ベースボード管理制御」）と呼ばれる機能を保証する。
【００２６】
また、本発明により考えられる（そして致命的なエラーの場合にはその中で情報が取り出されねばならない）それぞれの処理モジュールＭＴｊのレジスタＲｉｊは、プログラム可能論理回路ＣＬｊの一部（ここではＲ１ｊ）、それぞれのプロセッサ一部（ここではＲ２ｊおよびＲ３ｊ）、およびコヒーレントメモリスイッチＣＭｊの一部（ここではＲ４ｊ）であることに留意すべきである。
【００２７】
それぞれの処理モジュールＭＴｊ内では、管理コントローラＣＧｊとコヒーレントメモリスイッチＣＭｊとの間の通信はインタフェースＩ２Ｃを介して行うことが可能であり、プロセッサＰ１ｊおよびＰ２ｊとコヒーレントメモリスイッチＣＭｊとの間の通信はＱＰＩインタフェース（「Ｑｕｉｃｋ  Ｐａｔｈ  Ｉｎｔｅｒｃｏｎｎｅｃｔ」）を介して行うことが可能であり、管理コントローラＣＧｊとプロセッサＰ１ｊおよびＰ２ｊとの間の通信はＰＥＣＩインタフェースを介して行うことが可能であり、かつ管理コントローラＣＧｊとプログラム可能論理回路ＣＬｊとの間の通信はｘｂｕｓインタフェースを介して行うことが可能である。
【００２８】
さらに、様々な処理モジュールＭＴｊのコヒーレントメモリスイッチＣＭｊ間の通信はＸＱＰＩタイプ（「ｅＸｔｅｎｄｅｄ  ＱＰＩ」）の通信ネットワークを介して行うことが可能であり、かつ様々な処理モジュールＭＴｊの管理コントローラＣＧｊ間の通信はイーサネット（登録商標）のネットワークを介して行うことが可能である。
【００２９】
以上で示したように、本発明はコンピュータＣＡのそれぞれの処理モジュールＭＴｊのレジスタＲｉｊ内に格納されている情報の取得を可能とすることを意図した方法を提案する。
【００３０】
この方法は、処理モジュールＭＴｊのプログラム可能論理回路ＣＬｊが致命的なエラーの発生に引き続いてプロセッサＰ１ｊ、Ｐ２ｊからの、またはコヒーレントメモリスイッチＣＭｊからのリセット要求を受信する度に、本発明によるコンピュータＣＡによって実施され得る。この方法により、上述の状況が発生した場合、関係するプログラム可能論理回路ＣＬｊは要求されたリセットのトリガを一旦停止して、かつ致命的なエラーの発生を、それに関連する管理コントローラＣＧｊにその処理モジュールＭＴｊの中でアラートする。
【００３１】
次に、もしこの管理コントローラＣＧｊは、そうすることが出来る（つまり、可能性を有している）ならば、その処理モジュールＭＴｊの関連する選択されたレジスタＲｉｊに格納されている情報を読み出し、次にこの読み出された情報をファイルに格納する。次に、リセット要求を受信したプログラム可能論理回路ＣＬｊは、要求されたリセット（かつそれが命令を待っている間一旦停止していたリセット）をトリガすることが許可される。
【００３２】
管理コントローラＣＧｊの読出し能力は、考慮しているその瞬間でのレジスタＲｉｊへのアクセスの技術的な可能性に、またそれとともにおそらく読み出す許可の受信に、とりわけ依存する。
【００３３】
コンピュータＣＡが１つのマスタＭＴ１および少なくとも１つのスレーブＭＴｊ’といういくつかの処理モジュールＭＴｊを含み、スレーブ処理モジュールＭＴｊ’がリセット要求を受信したプログラム可能論理回路（スレーブ）ＣＬｊ’を含む場合、関連するスレーブ管理コントローラＣＧｊ’はマスタ処理モジュールＭＴ１の管理コントローラ（マスタ）ＣＧ１に、そのスレーブ処理モジュールＭＴｊ’内での致命的なエラーの発生をアラートすることが出来るということに留意することは重要である。次に、マスタ管理コントローラＣＧ１はそれぞれの処理モジュールＭＴｊ（ｊ＝１からＪ）の管理コントローラＣＧｊに、関連する選択されたレジスタＲｉｊ内に格納されている情報の同期読出しに対する許可およびそれがこの読み出された情報を格納しなければならないファイルに対するインスタンス名を送信することが出来る。このファイルは管理コントローラＣＧｊの（例えばフラッシュタイプの）不揮発性メモリに記憶される。言い換えれば、マスタＭＴ１およびスレーブＭＴｊ’処理モジュールのそれぞれの中の選択されたレジスタの読出しを管理しかつ許可するのがマスタ管理コントローラＣＧ１である。
【００３４】
このオプションは、問題の発生源を知ることを可能とするために、致命的なエラーに晒されなかったものを含めて、すべての処理モジュールＭＴｊのすべての有用なレジスタＲｉｊの中に格納されている情報を取り出すことを意図している。実際、トランザクションは処理モジュールＭＴｊ間を動き回るので、致命的なエラーは「送出している」処理モジュールに起因しているのにもかかわらず「使っている」処理モジュールによって検出され、そしてそのために管理コントローラＣＧｊのすべてがそれらのそれぞれのレジスタＲｉｊに格納されている情報を取り出すことが出来るように、コンピュータＣＡ内で致命的なエラーが発生したということをアラートされなければならない。しかしながら、致命的なエラーが発生すると、それがチップからチップへと、かつ処理モジュールＭＴｊから処理モジュールＭＴｊ’へと伝搬し得るということに留意すべきである。従って、この致命的なエラーが同一の処理モジュールＭＴｊ内においてバーストメカニズムで他のエラーをトリガするということが起こり得て、この場合に「縦続接続の」レジスタＲｉｊを読み出すことは避けなければならない。
【００３５】
好ましくは、それぞれの管理コントローラＣＧｊはそのファイルの生成をマスタ管理コントローラＣＧ１に報告し、次に後者（ＣＧ１）がそれぞれのプログラム可能論理回路ＣＬｊに、もしそれがそれぞれの管理コントローラＣＧｊからファイル生成の報告を受信したならばリセットをトリガすることを許可されている、ということを知らせる。次にマスタ管理コントローラＣＧ１はコンピュータＣＡのリスタート（または「リブート」）をトリガすることが出来る。
【００３６】
コンピュータＣＡのこのリスタートをトリガする前に、マスタ管理コントローラＣＧ１はこのコンピュータＣＡの責任を持つ人物に致命的なエラーの発生に関係するファイルがマスタおよびスレーブ処理モジュールＭＴｊのそれぞれの中に格納されたということを報告することを意図したアラートメッセージを生成可能であることに留意すべきである。これらのファイルは次にコンピュータにダウンロードされて診断ツールを使用して解析することが出来る。
【００３７】
また、例えば可能性としてマスタ管理コントローラＣＧ１から許可を受信した後に、管理コントローラＣＧｊが関連する選択されたレジスタＲｉｊ内に格納されている情報を読み出すことが出来ないということが起きる場合があることに留意すべきである。この状況は例えば、管理コントローラＣＧｊがプロセッサＰ１ｊおよびＰ２ｊならびに／またはコヒーレントメモリスイッチＣＭｊへのアクセスをすることが、それらのアクセスバス（ＰＥＣＩおよびＩ２Ｃ）がブロックされているためにもはや出来ないという、一定の特に深刻な致命的なエラー状況において発生し得る。
【００３８】
この後者の場合、この管理コントローラＣＧｊに関連するプログラム可能論理回路ＣＬｊは要求されたリセットのトリガを最初に許可されることが可能であり、リセットフェーズはこの管理コントローラＣＧｊとその処理モジュールＭＴｊの基本入力／出力システム（またはＢＩＯＳ）との間の同期ポイントでブロックされ得る。このリセットはデータバスのブロックを解除しその結果管理コントローラＣＧｊがプロセッサＰ１ｊおよびＰ２ｊならびにコヒーレントメモリスイッチＣＭｊにアクセスすることを可能とする効果があり、かつこのリセットの直後のＢＩＯＳのブロックは、そのリスタートがスティッキーレジスタの内容を損なうのを妨げることを可能とする。この場合は、これらのスティッキーレジスタはそのリセット前の値を保持している一方で、その他のすべてのレジスタはすでにそのリセット後の値（一般にはゼロ）にセットされているので、スティッキーレジスタのみが読み出されることが理解される。しかしながらこの場合に取り出された情報は、多くの状況において充分なほど完全な目的を果たすものではない。
【００３９】
次に、管理コントローラＣＧｊは、その処理モジュールＭＴｊの関連する選択されたレジスタＲｉｊに格納されている情報を、おそらくマスタ管理コントローラＣＧ１によってそうすることを許可された後に読み出すことが出来る。事実、「スティッキー」タイプのレジスタだけは、発生したばかりのリセットによって損なわれたという恐れ無しに読み出すことが出来る。次に、この管理コントローラＣＧｊはこの読み出した情報を、それが（例えばフラッシュタイプの）不揮発性メモリに記憶するファイルに置くことが出来る。最後に、コンピュータＣＡを停止してそれからスティッキータイプのレジスタをそれらのそれぞれの規定値にリセットするために電源投入状態に戻すということで成り立っている「パワーサイクル」と呼ばれる手順を実行することによって、コンピュータＣＡはリスタートすることが出来る。この手順は、スティッキーレジスタの内容の首尾一貫性が保証されていないので致命的なエラーの後に有用である。例えば、このリスタートはマスタ管理コントローラＣＧ１によってトリガされ得る。
【００４０】
レジスタＲｉｊの読出しを加速するために、それぞれの管理コントローラＣＧｊは、その処理モジュールＭＴｊにおいて読み出すことが許可されているレジスタＲｉｊを、不揮発性メモリに記憶するレジスタのリストから選択することが出来る。例えば、このリストは、リセットが実行される前に読み出されなければならないレジスタを含む第１の部分、およびリセットが実行された後に読み出されなければならないレジスタを含む第２の部分を含むことが出来る。この第１の部分のレジスタは、主としてプロセッサＰ１ｊおよびＰ２ｊならびにプログラム可能論理回路ＣＬｊに属する（後者は特にコンピュータＣＡ内で発生した第１の致命的なエラーを示す情報の重要な部分（どの処理モジュールＭＴｊのどのプロセッサかまたはどのコヒーレントメモリスイッチＣＭｊか）を含む）。この第２の部分のレジスタは、主としてスティッキータイプであり、そのためコヒーレントメモリスイッチＣＭｊの一部ならびにプロセッサＰ１ｊおよびＰ２ｊの一部である（これらは例えば「バス／装置／機能」アドレシングによるＣＳＲタイプ（「制御および状態レジスタ」）のレジスタである）。
【００４１】
リストの第１の部分は、出来る限りかつ好都合なように、様々なタイプのプロセッサＰ１ｊおよびＰ２ｊならびにプログラム可能論理回路ＣＬｊ（「ページ／オフセット」アドレシングによるエラーレジスタ）に関連するサブ部分に細分割され得ることに留意すべきである。例えば、あるサブ部分は、「オフセット＋コアＩＤ」アドレシングタイプのプロセッサのタイプのＭＳＲタイプ（「モデル特有レジスタ」）のレジスタに専用とすることが可能であり、別のサブ部分は「バス／装置／機能」アドレシングタイプの別のプロセッサのＣＳＲタイプのレジスタに専用とすることが可能である。このオプションが存在する場合、それぞれの管理コントローラＣＧｊはそれが対処しなければならないプロセッサのタイプを決定することから開始し、次にこのタイプのプロセッサに関連するリストの第１の部分のサブ部分を選択する。これにより、その処理モジュールＭＴｊが含むプロセッサの１つまたは複数のタイプにかかわらず、それぞれの管理コントローラＣＧｊ内に同一のプログラムを持つことが可能となる。
【００４２】
図２は本発明により情報を取得する方法の例を実施するアルゴリズムの例を図式的に示す。
【００４３】
このアルゴリズムは、スレーブプログラム可能論理回路ＣＬｊ’（例えばＣＬ２）がそのスレーブ処理モジュールＭＴ２内での致命的なエラーの発生に起因するリセット要求を受信し、かつその結果このリセットのトリガを一旦停止するステップ１０を含む。
【００４４】
アルゴリズムは、スレーブプログラム可能論理回路ＣＬ２が関連する管理コントローラＣＧ２に致命的なエラーの発生をアラートするステップ２０を継続する。次に、後者（ＣＧ２）はマスタ管理コントローラＣＧ１にそのスレーブ処理モジュールＭＴ２内での致命的なエラーの発生をアラートする。
【００４５】
次に、ステップ３０において、マスタ管理コントローラＣＧ１は管理コントローラＣＧ１からＣＧＪのそれぞれに、それらのそれぞれの処理モジュールＭＴ１からＭＴＪの関連する選択されたレジスタＲｉｊに格納されている情報の同期読出しに対する許可、ならびにそれらが読み出すことの出来た情報を格納するファイルに対するインスタンス名を送信する。
【００４６】
次に、ステップ４０において、それぞれの管理コントローラＣＧｊ（ｊ＝１からＪ）は、関連する選択されたレジスタＲｉｊ（例えば格納されているリストの第１のグループから事前定義されたもの）に格納されている情報を読み出すことが可能であるかを決定する。否定の決定の場合は、制御はステップ６０に渡る。一方、肯定の決定の場合はステップ５０が実行されてそこでは、それぞれの管理コントローラＣＧｊが関連する選択されたレジスタＲｉｊに格納されている情報を読み出し、次にこの読み出された情報をマスタ管理コントローラＣＧ１によって与えられたインスタンス番号を有するファイルに格納し、次にそのファイルの生成をマスタ管理コントローラＣＧ１に報告する。
【００４７】
次に、ステップ６０において、マスタ管理コントローラＣＧ１はそれがＪ個の処理モジュールＭＴｊのＪ個のファイルを受信したかを決定するためにテストを実行する。否定の決定の場合ステップ１１０が実行されるが、それはこれ以降に説明される。肯定の決定の場合ステップ７０が実行され、そこではマスタ管理コントローラＣＧ１は、それぞれのプログラム可能論理回路ＣＬｊ（それがスレーブかマスタかによらず）に、それがその処理モジュールＭＴｊのリセットをトリガすることが許可されていることを、知らせる。
【００４８】
次に、ステップ８０において、それぞれのスレーブプログラム可能論理回路ＣＬｊ（それがスレーブかマスタかによらず）はその処理モジュールＭＴｊのリセットをトリガする。
【００４９】
次に、ステップ９０において、マスタ管理コントローラＣＧ１はそのコンピュータＣＡの責任を持つ人物に致命的なエラーの発生に関係するファイルがマスタおよびスレーブ処理モジュールＭＴｊのそれぞれの中に格納されたということを報告することを意図したアラートメッセージを生成する。
【００５０】
次に、ステップ１００において、マスタ管理コントローラＣＧ１はパワーサイクルタイプのコンピュータＣＡのリスタート（または「リブート」）をトリガする。
【００５１】
ステップ６０において実行されたテストで否定の決定であり、そのため少なくとも１つの処理モジュールＭＴｊ内で少なくとも１つのレジスタＲｉｊが読出し出来なかった場合、ステップ１１０が実行され、そこではマスタ管理コントローラＣＧ１はそれぞれのプログラム可能論理回路ＣＬｊ（それがスレーブかマスタかによらず）に、それがその処理モジュールＭＴｊのリセットをトリガすることを許可されていることを知らせる。
【００５２】
次に、ステップ１２０において、それぞれのスレーブプログラム可能論理回路ＣＬｊ（それがスレーブかマスタかによらず）はデータバスをブロック解除するためにその処理モジュールＭＴｊのリセットをトリガする。
【００５３】
次に、ステップ１３０において、それぞれの管理コントローラＣＧｊ（それがスレーブかマスタかによらず）は、ＢＩＯＳのリスタートがスティッキーレジスタの内容を損なうことを妨げるために、それ（ＣＧｊ）とその処理モジュールＭＴｊの基本入力／出力システム（またはＢＩＯＳ）との間の同期ポイントでリセットフェーズをブロックする。
【００５４】
次に、ステップ１４０において、マスタ管理コントローラＣＧ１は管理コントローラＣＧ１からＣＧＪのそれぞれに、それらのそれぞれの処理モジュールＭＴ１からＭＴＪの関連する選択されたレジスタＲｉｊに格納されている情報の同期読出しに対する許可、ならびにそれらが読み出すことの出来た情報を格納するファイルに対するインスタンス名を送信する。
【００５５】
次に、ステップ１５０において、それぞれの管理コントローラＣＧｊは関連する選択されたレジスタＲｉｊ（例えば格納されているリストの第２のグループのもの）に格納されている情報を読み出し、次にこの読み出された情報をマスタ管理コントローラＣＧ１によって与えられたインスタンス番号を有するファイルに格納し、次にそのファイルの生成をマスタ管理コントローラＣＧ１に報告する。
【００５６】
次に、前述のステップ９０および１００が実行される。
【００５７】
本発明はまた、コンピュータＣＡの処理手段によって実行されると、致命的なエラーの発生に引き続いてコンピュータＣＡの少なくとも１つの処理モジュールＭＴｊのレジスタＲｉｊに格納されている情報を取得するために、前述の制御のタイプの制御の方法を実施することが出来る、命令のセットを含むコンピュータプログラム製品の形式で考え得るということに留意すべきである。
【００５８】
本発明は、例としてのみ以上に記述された情報を取得する方法およびコンピュータの実施形態に制限されるものではなく、当業者が以下の請求項の枠組みの中で考慮し得るすべての代替物を包含するものである。
【図１】
0006674387.tif 000002
【図２】
0006674387.tif 000003