JP6674387B2 - 致命的なエラーの発生の直後のコンピュータの処理モジュールレジスタに格納された情報の取得方法 - Google Patents

致命的なエラーの発生の直後のコンピュータの処理モジュールレジスタに格納された情報の取得方法 Download PDF

Info

Publication number
JP6674387B2
JP6674387B2 JP2016568563A JP2016568563A JP6674387B2 JP 6674387 B2 JP6674387 B2 JP 6674387B2 JP 2016568563 A JP2016568563 A JP 2016568563A JP 2016568563 A JP2016568563 A JP 2016568563A JP 6674387 B2 JP6674387 B2 JP 6674387B2
Authority
JP
Japan
Prior art keywords
management controller
processing module
cgj
mtj
reset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2016568563A
Other languages
English (en)
Other versions
JP2017517808A (ja
Inventor
ブラサック,クロード
ブリュネ,ミシェル
Original Assignee
ブル・エス・アー・エス
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ブル・エス・アー・エス filed Critical ブル・エス・アー・エス
Publication of JP2017517808A publication Critical patent/JP2017517808A/ja
Application granted granted Critical
Publication of JP6674387B2 publication Critical patent/JP6674387B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、致命的なエラーの発生の場合に処理モジュールの様々なハードウェアコンポーネントのレジスタに格納されている情報を取得することを可能にする、管理コントローラ(「サービスプロセッサ」と呼ばれることもある)およびプログラム可能論理回路(またはFPGA(「フィールドプログラマブルゲートアレイ」))を含む少なくとも1つの処理モジュールを含むコンピュータに関する。
本発明で用語「コンピュータ」は、並列におよび/または順次にタスクを実行することが出来る1つまたは複数の処理モジュールを含むコンピュータを意味する。それぞれの処理モジュールは、管理コントローラ、少なくとも1つのプロセッサ、プログラム可能論理回路および、様々な処理モジュール間のメモリの一貫性を提供してその結果オペレーティングシステム(またはOS)がその処理モジュールは単一のモジュールを形成しているとみなせることを可能にするコヒーレントメモリスイッチ(例えばBCS2(「Bull Coherent Switch release 2」)などを備えている。例として、これは会社サーバタイプのコンピュータまたはスーパコンピュータの計算(またはサービス)ノードとして使用されるコンピュータであり得る。
当業者に知られているように、コンピュータ(例えばサーバなど)がハードウェアに起因する致命的なエラーの発生に引き続いてダウンすると、そのコンポーネントのいくつかの一定の内部レジスタに格納されている情報の少なくともいくつかを、その致命的なエラーのソースおよびその結果としてエラー状況にあるコンポーネントを決定することを可能とするために、この致命的なエラーの発生の直後に知ることが不可欠である。これは特に、プログラム可能論理回路(またはFPGA(「フィールドプログラマブルゲートアレイ」))およびコヒーレントメモリスイッチ(またはBCS(「Bull Coherent Switch」))の1つまたは複数のプロセッサ(またはCPU(「中央処理装置」))のレジスタの場合である。
このタイプの重大なエラーに対しては、コンピュータが破損していると考えられてどのような重要データも損なわれない内に出来る限り迅速にリスタートしなければならないので、オペレーティングシステム(またはOS)はそれ自身の内部エラー処理メカニズム(「エラーハンドラ」)を介した情報は全く取得することが出来ない。そのため、致命的なエラーに晒されているCPUはそれ自身の判断でそのコンピュータをリスタート(または「リセット」)することを決定し、それによって、関連しているオペレーティングシステムが制御を行うことを妨げる。
このリスタートは揮発性のレジスタの内容を消去し、従ってそのリスタートが開始した後は情報の取得を妨げる。しかしいわゆる「スティッキー(sticky)」レジスタに格納されている情報は別であるがやはり特殊な状況においてである。
従って本発明は特にその状況を改善すること、および特に、致命的なエラーの発生に引き続いてコンピュータのそれぞれの処理モジュールの一定のレジスタに格納されている情報を目的としており、ここでそれぞれの処理モジュールは、関連するレジスタに格納されている情報を読み出すことが出来る管理コントローラおよび致命的なエラーに引き続いて要求されるリセットをトリガ出来るプログラム可能論理回路をさらに含む。
本発明は特にこの目的のために、処理モジュールのプログラム可能論理回路によりリセット要求を受信した場合に、このプログラム可能論理回路が、このリセットのトリガを一旦停止し、関連する管理コントローラに致命的なエラーの発生をアラートし、管理コントローラが、可能であれば、関連する選択されたレジスタ内に格納されている情報を読み出し、次にこの読み出された情報をファイルに格納し、次にその関連するプログラム可能論理回路がこの要求されたリセットをトリガすることを許可される、方法を提案する。
一定のレジスタの内容はこのようにして、実際上リアルタイムに、そしてより正確には致命的なエラーの発生の報告の直後に、そのエラーの原因を解析する目的で取り出すことが出来る。
本発明による方法は、具体的には以下に示すように、個別にまたは組み合せて取り入れることが出来るその他の特徴を含み得る:
− 管理コントローラが関連する選択されたレジスタに格納されている情報を読み出すことが出来ない場合、関連するプログラム可能論理回路は要求されたリセットをトリガする許可を得ることが可能であり、かつリセットフェーズは管理コントローラと処理モジュールの基本入力/出力システムとの間の同期ポイントでブロックすることが可能であり、次に管理コントローラは関連する選択されたレジスタに格納されている情報を読み出すことが可能であり、次にこの読み出された情報をファイルに格納することが可能であり、次にコンピュータはリスタートされることが可能である。
− それぞれの管理コントローラは、自身が格納するレジスタのリストから関連するレジスタを選択することが出来る。
リストは、リセットの前に読み出されるべきレジスタを含む第1の部分、およびリセットの後に読み出されるべきレジスタを含む第2の部分を含むことが出来る。
− マスタ処理モジュールおよび少なくとも1つのスレーブ処理モジュールが存在する状態で、スレーブ処理モジュールがリセット要求を受信したプログラム可能論理回路を含む場合、関連する管理コントローラはそのスレーブ処理モジュール内での致命的なエラーの発生についてマスタ処理モジュールの管理コントローラにアラートすることが可能であり、次にマスタ処理モジュールの管理コントローラは、それぞれの処理モジュールの管理コントローラに、関連する選択されたレジスタに格納されている情報の同期読出しに対する許可ならびにこの読み出された情報を格納しなければならないファイルに対するインスタンス名を送信することが出来る。
それぞれの処理モジュールの管理コントローラはそのファイルの生成に関してマスタ処理モジュールの管理コントローラに報告をすることが可能であり、かつマスタ処理モジュールの管理コントローラは、処理モジュールのそれぞれのプログラム可能論理回路に対して、それぞれのプログラム可能論理回路が処理モジュールのそれぞれの管理コントローラからファイル生成の報告を受信した時にリセットをトリガすることを許可される、ということを通知することが可能であり、次にマスタ処理モジュールの管理コントローラはコンピュータのリスタートをトリガすることが出来る。
コンピュータのリスタートをトリガする前に、マスタ処理モジュールの管理コントローラは、ファイルがマスタおよびスレーブ処理モジュールのそれぞれに格納されたということを報告するためにアラートメッセージを生成することが出来る。
本発明はまた、処理手段のために実行されると、致命的なエラーの発生に引き続いてコンピュータの少なくとも1つの処理モジュールのレジスタに格納されている情報を取得するための、本明細書に前述の制御のタイプの制御の方法を実施することが出来る、命令のセットを含むコンピュータプログラム製品を提案する。
本発明はまた、情報を格納するレジスタ、これらのレジスタに格納されている情報を読み出すことが出来る管理コントローラ、および致命的なエラーに引き続いて要求されるリセットをトリガすることが出来るプログラム可能論理回路を含む、少なくとも1つの処理モジュールを含むコンピュータを提案する。リセット要求が処理モジュールのプログラム可能論理回路によって受信される場合、このプログラム可能論理回路はこのリセットのトリガを一旦停止しかつ致命的なエラーの発生をそれに関連する管理コントローラにアラートし、ならびに後者は、可能であれば、関連するプログラム可能論理回路が要求されているリセットをトリガすることを許可される前に、関連する選択されたレジスタに格納されている情報を読出し次にこの読み出された情報をファイルに格納するように構成されている。
例えば、管理コントローラが関連する選択されたレジスタに格納されている情報を読み出すことが出来ない場合、関連するプログラム可能論理回路は、許可されていれば、要求されたリセットをトリガするように構成されることが可能であり、この管理コントローラは、それとその処理モジュールの基本入力/出力システムとの間の同期ポイントにおけるリセットフェーズのブロックに引き続いて、関連する選択されたレジスタに格納されている情報を読み出し、次にこの読み出された情報をファイルに格納するように構成されることが可能である。
本発明のその他の特徴および利点は、これ以降の詳細な記述および付属する図面を考察する中で示される。
本発明によるJ個の処理モジュールを備えるコンピュータを図式的にかつ機能的に示した図である。 本発明による情報の取得方法を実施するアルゴリズムの例を示した図である。
本発明は、致命的なエラーの発生に引き続いて、コンピュータCAの少なくとも1つの処理モジュールMTjのレジスタRij内に格納されている情報の取得を可能とすることを意図した方法を提案することを特に目的としている。
以下においては非限定的な例示法により、コンピュータCAは会社サーバであると考える。しかし、本発明はこのタイプのコンピュータに制限されるものではない。本発明は実際に、並列におよび/または順次にタスクを実行することが出来る1つまたは複数の処理モジュールを含むあらゆるコンピュータシステムに関する。従って、これはスーパコンピュータの計算(またはサービスノードに使用されるコンピュータでもあり得る。
図1は、ここではJ個の処理モジュールMTj U=1からJ)を含むサーバであるコンピュータCAの非限定的な例を図式的に示す。例えば、Jは8に等しい。しかし、Jは1以上の任意の値であり得る。
これらJ個の処理モジュールMTjの中で、それらの中の1つはマスタと呼ばれ、一方でJ−1個のその他のものはスレーブと呼ばれる。
それぞれの処理モジュールMTjは、情報を格納するレジスタRij、これらのレジスタRijに格納されている情報を読み出すことが出来る管理コントローラ(または「管理コントローラ」)CGj、ハードウェアに起因する致命的なエラーの発生に引き続いて要求されたリセットをトリガすることが出来るプログラム可能論理回路」(またはFPGA(「フィールドプログラマブルゲートアレイ」))CLj、基本入力/出力システム(BIOS、本明細書に図示せず)、メモリ(図示せず)、および少なくとも1つのプロセッサ(またはCPU(「中央処理装置」))P1jまたはP2jを少なくとも含む。
コンピュータCAが図1に示すように数個の処理モジュールMTjを含む場合、後者(MTj)のそれぞれは、様々な処理モジュールMTj間のメモリの一貫性を提供してその結果オペレーティングシステム(またはOS)がその処理モジュールMTjは単一のモジュールを形成しているとみなせることを可能にするコヒーレントメモリスイッチCMj(例えばBCS2(「Bull Coherent Switch release 2」)など)をまた含むことに留意すべきである。言い換えれば、それぞれのコヒーレントメモリスイッチCMjは、任意の処理モジュールMTjの任意のプロセッサP1 J、P2jから任意の処理モジュールMTjの任意のメモリへのコヒーレントなアクセスを提供することを可能とする。
それぞれの管理コントローラCGjは、例えばプロセッサP1jまたはP2jの、もしくはコヒーレントメモリスイッチCMjのレジスタの読出し、または温度センサへのアクセスなどの、その処理モジュールMTjのハードウェアへのアクセスを管理する、SMC(「サテライト管理コントローラ」)と呼ばれる機能を提供する。
マスタ処理モジュールMT1の管理コントローラCG1は、スレーブ処理モジュールMTj’(j’≠1)の管理コントローラCGj’に加えて、コンピュータCAの停止(「電源切断」)および立上げ(または(「電源投入」))、リセット、レジスタRijを読み出す許可、および処理モジュールMTj間の同期を特に管理するBMC(「ベースボード管理制御」)と呼ばれる機能を保証する。
また、本発明により考えられる(そして致命的なエラーの場合にはその中で情報が取り出されねばならない)それぞれの処理モジュールMTjのレジスタRijは、プログラム可能論理回路CLjの一部(ここではR1j)、それぞれのプロセッサ一部(ここではR2jおよびR3j)、およびコヒーレントメモリスイッチCMjの一部(ここではR4j)であることに留意すべきである。
それぞれの処理モジュールMTj内では、管理コントローラCGjとコヒーレントメモリスイッチCMjとの間の通信はインタフェースI2Cを介して行うことが可能であり、プロセッサP1jおよびP2jとコヒーレントメモリスイッチCMjとの間の通信はQPIインタフェース(「Quick Path Interconnect」)を介して行うことが可能であり、管理コントローラCGjとプロセッサP1jおよびP2jとの間の通信はPECIインタフェースを介して行うことが可能であり、かつ管理コントローラCGjとプログラム可能論理回路CLjとの間の通信はxbusインタフェースを介して行うことが可能である。
さらに、様々な処理モジュールMTjのコヒーレントメモリスイッチCMj間の通信はXQPIタイプ(「eXtended QPI」)の通信ネットワークを介して行うことが可能であり、かつ様々な処理モジュールMTjの管理コントローラCGj間の通信はイーサネット(登録商標)のネットワークを介して行うことが可能である。
以上で示したように、本発明はコンピュータCAのそれぞれの処理モジュールMTjのレジスタRij内に格納されている情報の取得を可能とすることを意図した方法を提案する。
この方法は、処理モジュールMTjのプログラム可能論理回路CLjが致命的なエラーの発生に引き続いてプロセッサP1j、P2jからの、またはコヒーレントメモリスイッチCMjからのリセット要求を受信する度に、本発明によるコンピュータCAによって実施され得る。この方法により、上述の状況が発生した場合、関係するプログラム可能論理回路CLjは要求されたリセットのトリガを一旦停止して、かつ致命的なエラーの発生を、それに関連する管理コントローラCGjにその処理モジュールMTjの中でアラートする。
次に、もしこの管理コントローラCGjは、そうすることが出来る(つまり、可能性を有している)ならば、その処理モジュールMTjの関連する選択されたレジスタRijに格納されている情報を読み出し、次にこの読み出された情報をファイルに格納する。次に、リセット要求を受信したプログラム可能論理回路CLjは、要求されたリセット(かつそれが命令を待っている間一旦停止していたリセット)をトリガすることが許可される。
管理コントローラCGjの読出し能力は、考慮しているその瞬間でのレジスタRijへのアクセスの技術的な可能性に、またそれとともにおそらく読み出す許可の受信に、とりわけ依存する。
コンピュータCAが1つのマスタMT1および少なくとも1つのスレーブMTj’といういくつかの処理モジュールMTjを含み、スレーブ処理モジュールMTj’がリセット要求を受信したプログラム可能論理回路(スレーブ)CLj’を含む場合、関連するスレーブ管理コントローラCGj’はマスタ処理モジュールMT1の管理コントローラ(マスタ)CG1に、そのスレーブ処理モジュールMTj’内での致命的なエラーの発生をアラートすることが出来るということに留意することは重要である。次に、マスタ管理コントローラCG1はそれぞれの処理モジュールMTj(j=1からJ)の管理コントローラCGjに、関連する選択されたレジスタRij内に格納されている情報の同期読出しに対する許可およびそれがこの読み出された情報を格納しなければならないファイルに対するインスタンス名を送信することが出来る。このファイルは管理コントローラCGjの(例えばフラッシュタイプの)不揮発性メモリに記憶される。言い換えれば、マスタMT1およびスレーブMTj’処理モジュールのそれぞれの中の選択されたレジスタの読出しを管理しかつ許可するのがマスタ管理コントローラCG1である。
このオプションは、問題の発生源を知ることを可能とするために、致命的なエラーに晒されなかったものを含めて、すべての処理モジュールMTjのすべての有用なレジスタRijの中に格納されている情報を取り出すことを意図している。実際、トランザクションは処理モジュールMTj間を動き回るので、致命的なエラーは「送出している」処理モジュールに起因しているのにもかかわらず「使っている」処理モジュールによって検出され、そしてそのために管理コントローラCGjのすべてがそれらのそれぞれのレジスタRijに格納されている情報を取り出すことが出来るように、コンピュータCA内で致命的なエラーが発生したということをアラートされなければならない。しかしながら、致命的なエラーが発生すると、それがチップからチップへと、かつ処理モジュールMTjから処理モジュールMTj’へと伝搬し得るということに留意すべきである。従って、この致命的なエラーが同一の処理モジュールMTj内においてバーストメカニズムで他のエラーをトリガするということが起こり得て、この場合に「縦続接続の」レジスタRijを読み出すことは避けなければならない。
好ましくは、それぞれの管理コントローラCGjはそのファイルの生成をマスタ管理コントローラCG1に報告し、次に後者(CG1)がそれぞれのプログラム可能論理回路CLjに、もしそれがそれぞれの管理コントローラCGjからファイル生成の報告を受信したならばリセットをトリガすることを許可されている、ということを知らせる。次にマスタ管理コントローラCG1はコンピュータCAのリスタート(または「リブート」)をトリガすることが出来る。
コンピュータCAのこのリスタートをトリガする前に、マスタ管理コントローラCG1はこのコンピュータCAの責任を持つ人物に致命的なエラーの発生に関係するファイルがマスタおよびスレーブ処理モジュールMTjのそれぞれの中に格納されたということを報告することを意図したアラートメッセージを生成可能であることに留意すべきである。これらのファイルは次にコンピュータにダウンロードされて診断ツールを使用して解析することが出来る。
また、例えば可能性としてマスタ管理コントローラCG1から許可を受信した後に、管理コントローラCGjが関連する選択されたレジスタRij内に格納されている情報を読み出すことが出来ないということが起きる場合があることに留意すべきである。この状況は例えば、管理コントローラCGjがプロセッサP1jおよびP2jならびに/またはコヒーレントメモリスイッチCMjへのアクセスをすることが、それらのアクセスバス(PECIおよびI2C)がブロックされているためにもはや出来ないという、一定の特に深刻な致命的なエラー状況において発生し得る。
この後者の場合、この管理コントローラCGjに関連するプログラム可能論理回路CLjは要求されたリセットのトリガを最初に許可されることが可能であり、リセットフェーズはこの管理コントローラCGjとその処理モジュールMTjの基本入力/出力システム(またはBIOS)との間の同期ポイントでブロックされ得る。このリセットはデータバスのブロックを解除しその結果管理コントローラCGjがプロセッサP1jおよびP2jならびにコヒーレントメモリスイッチCMjにアクセスすることを可能とする効果があり、かつこのリセットの直後のBIOSのブロックは、そのリスタートがスティッキーレジスタの内容を損なうのを妨げることを可能とする。この場合は、これらのスティッキーレジスタはそのリセット前の値を保持している一方で、その他のすべてのレジスタはすでにそのリセット後の値(一般にはゼロ)にセットされているので、スティッキーレジスタのみが読み出されることが理解される。しかしながらこの場合に取り出された情報は、多くの状況において充分なほど完全な目的を果たすものではない。
次に、管理コントローラCGjは、その処理モジュールMTjの関連する選択されたレジスタRijに格納されている情報を、おそらくマスタ管理コントローラCG1によってそうすることを許可された後に読み出すことが出来る。事実、「スティッキー」タイプのレジスタだけは、発生したばかりのリセットによって損なわれたという恐れ無しに読み出すことが出来る。次に、この管理コントローラCGjはこの読み出した情報を、それが(例えばフラッシュタイプの)不揮発性メモリに記憶するファイルに置くことが出来る。最後に、コンピュータCAを停止してそれからスティッキータイプのレジスタをそれらのそれぞれの規定値にリセットするために電源投入状態に戻すということで成り立っている「パワーサイクル」と呼ばれる手順を実行することによって、コンピュータCAはリスタートすることが出来る。この手順は、スティッキーレジスタの内容の首尾一貫性が保証されていないので致命的なエラーの後に有用である。例えば、このリスタートはマスタ管理コントローラCG1によってトリガされ得る。
レジスタRijの読出しを加速するために、それぞれの管理コントローラCGjは、その処理モジュールMTjにおいて読み出すことが許可されているレジスタRijを、不揮発性メモリに記憶するレジスタのリストから選択することが出来る。例えば、このリストは、リセットが実行される前に読み出されなければならないレジスタを含む第1の部分、およびリセットが実行された後に読み出されなければならないレジスタを含む第2の部分を含むことが出来る。この第1の部分のレジスタは、主としてプロセッサP1jおよびP2jならびにプログラム可能論理回路CLjに属する(後者は特にコンピュータCA内で発生した第1の致命的なエラーを示す情報の重要な部分(どの処理モジュールMTjのどのプロセッサかまたはどのコヒーレントメモリスイッチCMjか)を含む)。この第2の部分のレジスタは、主としてスティッキータイプであり、そのためコヒーレントメモリスイッチCMjの一部ならびにプロセッサP1jおよびP2jの一部である(これらは例えば「バス/装置/機能」アドレシングによるCSRタイプ(「制御および状態レジスタ」)のレジスタである)。
リストの第1の部分は、出来る限りかつ好都合なように、様々なタイプのプロセッサP1jおよびP2jならびにプログラム可能論理回路CLj(「ページ/オフセット」アドレシングによるエラーレジスタ)に関連するサブ部分に細分割され得ることに留意すべきである。例えば、あるサブ部分は、「オフセット+コアID」アドレシングタイプのプロセッサのタイプのMSRタイプ(「モデル特有レジスタ」)のレジスタに専用とすることが可能であり、別のサブ部分は「バス/装置/機能」アドレシングタイプの別のプロセッサのCSRタイプのレジスタに専用とすることが可能である。このオプションが存在する場合、それぞれの管理コントローラCGjはそれが対処しなければならないプロセッサのタイプを決定することから開始し、次にこのタイプのプロセッサに関連するリストの第1の部分のサブ部分を選択する。これにより、その処理モジュールMTjが含むプロセッサの1つまたは複数のタイプにかかわらず、それぞれの管理コントローラCGj内に同一のプログラムを持つことが可能となる。
図2は本発明により情報を取得する方法の例を実施するアルゴリズムの例を図式的に示す。
このアルゴリズムは、スレーブプログラム可能論理回路CLj’(例えばCL2)がそのスレーブ処理モジュールMT2内での致命的なエラーの発生に起因するリセット要求を受信し、かつその結果このリセットのトリガを一旦停止するステップ10を含む。
アルゴリズムは、スレーブプログラム可能論理回路CL2が関連する管理コントローラCG2に致命的なエラーの発生をアラートするステップ20を継続する。次に、後者(CG2)はマスタ管理コントローラCG1にそのスレーブ処理モジュールMT2内での致命的なエラーの発生をアラートする。
次に、ステップ30において、マスタ管理コントローラCG1は管理コントローラCG1からCGJのそれぞれに、それらのそれぞれの処理モジュールMT1からMTJの関連する選択されたレジスタRijに格納されている情報の同期読出しに対する許可、ならびにそれらが読み出すことの出来た情報を格納するファイルに対するインスタンス名を送信する。
次に、ステップ40において、それぞれの管理コントローラCGj(j=1からJ)は、関連する選択されたレジスタRij(例えば格納されているリストの第1のグループから事前定義されたもの)に格納されている情報を読み出すことが可能であるかを決定する。否定の決定の場合は、制御はステップ60に渡る。一方、肯定の決定の場合はステップ50が実行されてそこでは、それぞれの管理コントローラCGjが関連する選択されたレジスタRijに格納されている情報を読み出し、次にこの読み出された情報をマスタ管理コントローラCG1によって与えられたインスタンス番号を有するファイルに格納し、次にそのファイルの生成をマスタ管理コントローラCG1に報告する。
次に、ステップ60において、マスタ管理コントローラCG1はそれがJ個の処理モジュールMTjのJ個のファイルを受信したかを決定するためにテストを実行する。否定の決定の場合ステップ110が実行されるが、それはこれ以降に説明される。肯定の決定の場合ステップ70が実行され、そこではマスタ管理コントローラCG1は、それぞれのプログラム可能論理回路CLj(それがスレーブかマスタかによらず)に、それがその処理モジュールMTjのリセットをトリガすることが許可されていることを、知らせる。
次に、ステップ80において、それぞれのスレーブプログラム可能論理回路CLj(それがスレーブかマスタかによらず)はその処理モジュールMTjのリセットをトリガする。
次に、ステップ90において、マスタ管理コントローラCG1はそのコンピュータCAの責任を持つ人物に致命的なエラーの発生に関係するファイルがマスタおよびスレーブ処理モジュールMTjのそれぞれの中に格納されたということを報告することを意図したアラートメッセージを生成する。
次に、ステップ100において、マスタ管理コントローラCG1はパワーサイクルタイプのコンピュータCAのリスタート(または「リブート」)をトリガする。
ステップ60において実行されたテストで否定の決定であり、そのため少なくとも1つの処理モジュールMTj内で少なくとも1つのレジスタRijが読出し出来なかった場合、ステップ110が実行され、そこではマスタ管理コントローラCG1はそれぞれのプログラム可能論理回路CLj(それがスレーブかマスタかによらず)に、それがその処理モジュールMTjのリセットをトリガすることを許可されていることを知らせる。
次に、ステップ120において、それぞれのスレーブプログラム可能論理回路CLj(それがスレーブかマスタかによらず)はデータバスをブロック解除するためにその処理モジュールMTjのリセットをトリガする。
次に、ステップ130において、それぞれの管理コントローラCGj(それがスレーブかマスタかによらず)は、BIOSのリスタートがスティッキーレジスタの内容を損なうことを妨げるために、それ(CGj)とその処理モジュールMTjの基本入力/出力システム(またはBIOS)との間の同期ポイントでリセットフェーズをブロックする。
次に、ステップ140において、マスタ管理コントローラCG1は管理コントローラCG1からCGJのそれぞれに、それらのそれぞれの処理モジュールMT1からMTJの関連する選択されたレジスタRijに格納されている情報の同期読出しに対する許可、ならびにそれらが読み出すことの出来た情報を格納するファイルに対するインスタンス名を送信する。
次に、ステップ150において、それぞれの管理コントローラCGjは関連する選択されたレジスタRij(例えば格納されているリストの第2のグループのもの)に格納されている情報を読み出し、次にこの読み出された情報をマスタ管理コントローラCG1によって与えられたインスタンス番号を有するファイルに格納し、次にそのファイルの生成をマスタ管理コントローラCG1に報告する。
次に、前述のステップ90および100が実行される。
本発明はまた、コンピュータCAの処理手段によって実行されると、致命的なエラーの発生に引き続いてコンピュータCAの少なくとも1つの処理モジュールMTjのレジスタRijに格納されている情報を取得するために、前述の制御のタイプの制御の方法を実施することが出来る、命令のセットを含むコンピュータプログラム製品の形式で考え得るということに留意すべきである。
本発明は、例としてのみ以上に記述された情報を取得する方法およびコンピュータの実施形態に制限されるものではなく、当業者が以下の請求項の枠組みの中で考慮し得るすべての代替物を包含するものである。

Claims (10)

  1. コンピュータ(CA)の少なくとも1つの処理モジュール(MTj)のレジスタ(Rij)に格納されている情報を取得する方法であって、それぞれの処理モジュール(MTj)が、関連するレジスタ(Rij)内に格納されている情報を読み出すことが出来る管理コントローラ(CGj)、および致命的なエラーに引き続く要求されたリセットをトリガすることが出来るプログラム可能論理回路(CLj)をさらに含み、処理モジュール(MTj)のプログラム可能論理回路(CLj)によりリセット要求を受信した場合には、このプログラム可能論理回路(CLj)は、このリセットのトリガを一旦停止し、関連する管理コントローラ(CGj)に致命的なエラーの発生をアラートし、管理コントローラ(CGj)は、可能であれば、関連する選択されたレジスタ(Rij)に格納されている情報を読み出して次にこの読み出された情報をファイルに格納し、次に前記関連するプログラム可能論理回路(CLj)は前記要求されたリセットをトリガすることを許可されることを特徴とする、方法。
  2. 前記管理コントローラ(CGj)が関連する選択されたレジスタ(Rij)に格納されている情報を読み出すことが出来ない場合、前記関連するプログラム可能論理回路(CLj)は前記要求されたリセットをトリガすることを許可され、かつリセットフェーズは前記管理コントローラ(CGj)と前記処理モジュール(MTj)の基本入力/出力システムとの間の同期ポイントでブロックされ、次に前記管理コントローラ(CGj)は関連する選択されたレジスタ(Rij)に格納されている情報を読み出し次にこの読み出された情報をファイルに格納し、次に前記コンピュータ(CA)がリスタートされることを特徴とする、請求項1に記載の方法。
  3. それぞれの管理コントローラ(CGj)が、自身が格納するレジスタのリストから関連するレジスタ(Rij)を選択することを特徴とする、請求項1または2に記載の方法。
  4. 前記リストが、リセットの前に読み出されるべきレジスタを含む第1の部分、およびリセットの後に読み出されるべきレジスタを含む第2の部分を含むことを特徴とする、請求項3に記載の方法。
  5. マスタ処理モジュール(MT1)および少なくとも1つのスレーブ処理モジュール(MTj’)が存在する状態で、スレーブ処理モジュール(MTj’)がリセット要求を受信したプログラム可能論理回路(CLj’)を含む場合、関連する管理コントローラ(CGj’)がそのスレーブ処理モジュール(MTj’)内での致命的なエラーの発生について前記マスタ処理モジュール(MT1)の管理コントローラ(CG1)にアラートし、次にマスタ処理モジュール(MT1)の前記管理コントローラ(CG1)は、それぞれの処理モジュール(MTj)の管理コントローラ(CGj)に、関連する選択されたレジスタ(Rij)に格納されている情報の同期読出しに対する許可ならびに管理コントローラ(CGj)がこの読み出した情報を格納しなければならないファイルに対するインスタンス名を送信することを特徴とする、請求項1から4のいずれか一項に記載の方法。
  6. それぞれの処理モジュール(MTj)の管理コントローラ(CGj)がそのファイルの生成に関してマスタ処理モジュール(MT1)の前記管理コントローラ(CG1)に報告し、かつマスタ処理モジュール(MT1)の前記管理コントローラ(CG1)が、処理モジュール(MTj)のそれぞれのプログラム可能論理回路(CLj)に対して、それぞれのプログラム可能論理回路(CLj)が処理モジュール(MTj)のそれぞれの管理コントローラ(CGj)からファイル生成の報告を受信した時にリセットをトリガする許可を与えられる、ということを通知し、次にマスタ処理モジュール(MT1)の前記管理コントローラ(CG1)が前記コンピュータ(CA)のリスタートをトリガすることを特徴とする、請求項5に記載の方法。
  7. コンピュータ(CA)の前記リスタートをトリガする前に、マスタ処理モジュール(MTj)の前記管理コントローラ(CGj)が、ファイルは前記マスタおよびスレーブ処理モジュール(MTj)のそれぞれに格納されたということを報告するためにアラートメッセージを生成することを特徴とする、請求項6に記載の方法。
  8. 処理手段によって実行されると、致命的なエラーに引き続いてコンピュータ(CA)の少なくとも1つの処理モジュール(MTj)のレジスタ(Rij)に格納されている情報を取得するために、請求項1から7のいずれか一項による方法を実施することが出来る、命令のセットを含むコンピュータプログラム。
  9. 情報を格納するレジスタ(Rij)、前記レジスタ(Rij)に格納されている情報を読み出すことが出来る管理コントローラ(CGj)および致命的なエラーに引き続く要求されたリセットをトリガすることが出来るプログラム可能論理回路(CLj)を含む、少なくとも1つの処理モジュール(MTj)を含む、コンピュータ(CA)であって、処理モジュール(MTj)のプログラム可能論理回路(CLj)によりリセット要求を受信した場合には、このプログラム可能論理回路(CLj)がこのリセットのトリガを一旦停止しかつ関連する前記管理コントローラ(CGj)に致命的なエラーの発生についてアラートするように構成されており、ならびに後者(CGj)が、許可されている場合は、関連する前記プログラム可能論理回路(CLj)が前記要求されたリセットをトリガすることを許可される前に、関連する選択されたレジスタ(Rij)に格納されている情報を読み出して次にこの読み出された情報をファイルに格納するように構成されていることを特徴とする、コンピュータ(CA)。
  10. 前記管理コントローラ(CGj)が関連する選択されたレジスタ(Rij)に格納されている情報を読み出すことが出来ない場合、前記関連するプログラム可能論理回路(CLj)は、許可されていれば、前記要求されたリセットをトリガするように構成され、前記管理コントローラ(CGj)は、この管理コントローラ(CGj)とその処理モジュール(MTj)の基本入力/出力システムとの間の同期ポイントにおけるリセットフェーズのブロックに引き続いて、関連する選択されたレジスタ(Rij)に格納されている情報を読み出し、次にこの読み出された情報をファイルに格納するように構成されることを特徴とする、請求項9に記載のコンピュータ。
JP2016568563A 2014-05-20 2015-05-12 致命的なエラーの発生の直後のコンピュータの処理モジュールレジスタに格納された情報の取得方法 Expired - Fee Related JP6674387B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1454504A FR3021430B1 (fr) 2014-05-20 2014-05-20 Procede d'obtention d'informations stockees dans des registres de module(s) de traitement d'un calculateur juste apres la survenue d'une erreur fatale
FR1454504 2014-05-20
PCT/FR2015/051242 WO2015177436A1 (fr) 2014-05-20 2015-05-12 Procédé d'obtention d'informations stockées dans des registres de module(s) de traitement d'un calculateur juste après la survenue d'une erreur fatale

Publications (2)

Publication Number Publication Date
JP2017517808A JP2017517808A (ja) 2017-06-29
JP6674387B2 true JP6674387B2 (ja) 2020-04-01

Family

ID=51570541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016568563A Expired - Fee Related JP6674387B2 (ja) 2014-05-20 2015-05-12 致命的なエラーの発生の直後のコンピュータの処理モジュールレジスタに格納された情報の取得方法

Country Status (5)

Country Link
US (1) US10467101B2 (ja)
EP (1) EP3146432B1 (ja)
JP (1) JP6674387B2 (ja)
FR (1) FR3021430B1 (ja)
WO (1) WO2015177436A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11204821B1 (en) * 2020-05-07 2021-12-21 Xilinx, Inc. Error re-logging in electronic systems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04312111A (ja) * 1991-04-11 1992-11-04 Nec Eng Ltd データ処理装置
US5345583A (en) * 1992-05-13 1994-09-06 Scientific-Atlanta, Inc. Method and apparatus for momentarily interrupting power to a microprocessor to clear a fault state
US6697973B1 (en) * 1999-12-08 2004-02-24 International Business Machines Corporation High availability processor based systems
US6643802B1 (en) * 2000-04-27 2003-11-04 Ncr Corporation Coordinated multinode dump collection in response to a fault
US7447146B2 (en) * 2001-12-19 2008-11-04 Hewlett-Packard Development Company, L.P. Method and apparatus for supporting multiple independent failure domains
US7181510B2 (en) * 2002-01-04 2007-02-20 Hewlett-Packard Development Company, L.P. Method and apparatus for creating a secure embedded I/O processor for a remote server management controller
US7313717B2 (en) * 2003-04-17 2007-12-25 Sun Microsystems, Inc. Error management
US7308609B2 (en) * 2004-04-08 2007-12-11 International Business Machines Corporation Method, data processing system, and computer program product for collecting first failure data capture information
US7337367B2 (en) * 2005-01-06 2008-02-26 International Business Machines Corporation Management of memory controller reset
US7406624B2 (en) * 2005-02-15 2008-07-29 General Motors Corporation Method for responding to a control module failure
US7594144B2 (en) * 2006-08-14 2009-09-22 International Business Machines Corporation Handling fatal computer hardware errors
US20080270827A1 (en) * 2007-04-26 2008-10-30 International Business Machines Corporation Recovering diagnostic data after out-of-band data capture failure
FR2952731B1 (fr) * 2009-11-13 2011-11-04 Bull Sas Procede et dispositif d'optimisation d'execution d'applications logicielles dans une architecture multiprocesseur comprenant plusieurs controleurs d'entree/sortie et unites de calcul secondaires
US8504875B2 (en) * 2009-12-28 2013-08-06 International Business Machines Corporation Debugging module to load error decoding logic from firmware and to execute logic in response to an error
FR2972548B1 (fr) * 2011-03-08 2013-07-12 Thales Sa Dispositif pour l'amelioration de la tolerance aux fautes d'un processeur
JP6003350B2 (ja) * 2012-07-30 2016-10-05 富士通株式会社 監視装置、情報処理装置、及び監視方法
US9141493B2 (en) * 2013-07-12 2015-09-22 International Business Machines Corporation Isolating a PCI host bridge in response to an error event
US9342422B2 (en) * 2013-11-07 2016-05-17 International Business Machines Corporation Selectively coupling a PCI host bridge to multiple PCI communication paths

Also Published As

Publication number Publication date
JP2017517808A (ja) 2017-06-29
US20170185487A1 (en) 2017-06-29
EP3146432A1 (fr) 2017-03-29
US10467101B2 (en) 2019-11-05
WO2015177436A1 (fr) 2015-11-26
FR3021430A1 (fr) 2015-11-27
EP3146432B1 (fr) 2021-11-24
FR3021430B1 (fr) 2016-05-13

Similar Documents

Publication Publication Date Title
US10585755B2 (en) Electronic apparatus and method for restarting a central processing unit (CPU) in response to detecting an abnormality
CN100489805C (zh) 运行时间安全保证的自动存储器检测器及其方法
US11294749B2 (en) Techniques to collect crash data for a computing system
JP5726340B2 (ja) プロセッサシステム
US20110185153A1 (en) Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
CN109298962B (zh) 定时任务的监控方法、计算机可读存储介质和终端设备
US10229077B2 (en) Method for data transfer between real-time tasks using a DMA memory controller
CN105683921B (zh) 多处理器装置及其引导加载程序更新方法
US8122176B2 (en) System and method for logging system management interrupts
US20200033928A1 (en) Method of periodically recording for events
US20190121985A1 (en) Detecting vulnerabilities in applications during execution
JP6674387B2 (ja) 致命的なエラーの発生の直後のコンピュータの処理モジュールレジスタに格納された情報の取得方法
JP5034979B2 (ja) 起動装置、起動方法、及び、起動プログラム
JP5561791B2 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
CN114091110A (zh) 一种完整性度量方法和完整性度量装置
US20170052841A1 (en) Management apparatus, computer and non-transitory computer-readable recording medium having management program recorded therein
US10228882B2 (en) Semiconductor device and memory access control method
JP2010176345A (ja) マルチノードシステム、ノード、メモリダンプ処理方法、及びプログラム
US20140019093A1 (en) Incrementally increasing system test workload
US20180121087A1 (en) Register-based communications interface
CN109358903B (zh) 数据访问设备和访问错误通知方法
CN110781517A (zh) 一种bios与bmc沟通实现数据交互的方法
CN108415788B (zh) 用于对无响应处理电路作出响应的数据处理设备和方法
JP7298694B2 (ja) 異常検出装置、制御方法、及びプログラム
US20230281063A1 (en) Global Event Aggregation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180328

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190903

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200306

R150 Certificate of patent or registration of utility model

Ref document number: 6674387

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees