(58)【調査した分野】(Int.Cl.,DB名)
前記ベースボード管理コントローラは、前記第1のエラー・データを障害解析機構に従って解析して、前記第1のエラー・データの障害解析情報を取得するようにさらに構成される、請求項1乃至3の何れか1項に記載のコンピュータ。
前記ベースボード管理コントローラは、前記第1のエラー・データの障害解析情報を、事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するようにさらに構成される、請求項4に記載のコンピュータ。
前記コンピュータがクラッシュしたと判定される前に、前記ベースボード管理コントローラは、前記プロセッサにより送信された第2のエラー・データを受信し、前記第2のエラー・データを前記障害解析機構に従って解析して、前記第2のエラー・データの障害解析情報を取得するようにさらに構成され、前記第2のエラー・データは、前記コンピュータが前記第1のエラー・データを生成する前に事前に設定された時間内に生成されたエラー・データであり、
前記ベースボード管理コントローラが、前記第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するように構成されることは、
前記ベースボード管理コントローラが、前記第2のエラー・データの障害解析情報および前記第1のエラー・データの障害解析情報を前記事前に設定された障害処理機構に従って分析して、前記障害処理示唆を取得するように構成されることを含む、
請求項5に記載のコンピュータ。
前記プロセッサにより記録された前記第1のエラー・データが前記読取り応答メッセージに従って取得された後、前記ベースボード管理コントローラはさらに、クリア・データ・メッセージを前記プロセッサに送信して、前記プロセッサにより記録された前記第1のエラー・データを削除するように前記プロセッサに指示するように構成される、請求項1乃至3の何れか1項に記載のコンピュータ。
前記ベースボード管理コントローラにより、前記読取り応答メッセージに従って、前記プロセッサにより記録された前記第1のエラー・データを取得した後に、前記方法はさらに、前記ベースボード管理コントローラにより、前記第1のエラー・データを障害解析機構に従って解析して、前記第1のエラー・データの障害解析情報を取得するステップを含む、請求項8乃至10の何れか1項に記載の方法。
前記方法はさらに、前記ベースボード管理コントローラにより、前記第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って解析して、障害処理示唆を取得するステップを含む、請求項11に記載の方法。
前記ベースボード管理コントローラにより、前記コンピュータがクラッシュしたと判定する前に、前記方法はさらに、前記ベースボード管理コントローラにより、前記プロセッサにより送信された第2のエラー・データを受信するステップであって、前記第2のエラー・データは、前記コンピュータが前記第1のエラー・データを生成する前に事前に設定された時間内に生成されたエラー・データである、ステップを含み、
前記ベースボード管理コントローラにより、前記第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するステップは、
前記ベースボード管理コントローラにより、前記第2のエラー・データを前記障害解析機構に従って解析して、前記第2のエラー・データの障害解析情報を取得し、前記第2のエラー・データの障害解析情報および前記第1のエラー・データの障害解析情報を前記事前に設定された障害処理機構に従って分析して、前記障害処理示唆を取得するステップ
を含む、請求項12に記載の方法。
コンピュータがクラッシュしたと判定されたとき、読取り要求メッセージをプロセッサに送信するように構成された送信ユニットであって、前記読取り要求メッセージは、前記プロセッサにより記録された第1のエラー・データの読取りを要求するために使用される、送信ユニットと、
前記プロセッサにより返された読取り応答メッセージを受信するように構成された受信ユニットであって、前記読取り応答メッセージが読取り障害指示を運搬するとき、前記受信ユニットがウォーム・リブートを前記コンピュータで実施するように前記コンピュータのウォーム・リブート・ユニットまたはユーザに指示し、その結果、前記プロセッサが、前記コンピュータの前記ウォーム・リブートの間に、前記コンピュータの基本入出力システムの障害収集命令を実行し、前記第1のエラー・データを前記基本入出力システムの前記障害収集命令に従って取得し、前記第1のエラー・データを前記受信ユニットに送信し、前記受信ユニットは前記プロセッサにより送信された前記第1のエラー・データを受信し、前記読取り障害指示は、前記第1のエラー・データが前記プロセッサから読み取られるのに失敗したことを示すために使用される、受信ユニットと、
を備える、ベースボード管理コントローラ。
前記プロセッサにより送信された障害事象指示を受信し、前記プロセッサにより送信された前記第1のエラー・データの少なくとも一部が前記障害事象指示が受信された時刻から開始する事前に設定された待機時間内に受信されないとき、前記コンピュータがクラッシュしたと判定するように構成された判定ユニットであって、前記プロセッサが前記第1のエラー・データを取得し前記第1のエラー・データが訂正不能エラー・タイプであるとき、前記障害事象指示が前記プロセッサにより送信される、判定ユニットをさらに備える、請求項14に記載のベースボード管理コントローラ。
前記第1のエラー・データを障害解析機構に従って解析して、前記第1のエラー・データの障害解析情報を取得するように構成された障害処理ユニットをさらに備える、請求項14乃至16の何れか1項に記載のベースボード管理コントローラ。
前記障害処理ユニットは、前記第1のエラー・データの障害解析情報を、事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するようにさらに構成される、請求項17に記載のベースボード管理コントローラ。
【発明の概要】
【課題を解決するための手段】
【0005】
本発明の諸実施形態では障害処理方法、関連装置、およびコンピュータを提案する。その結果、深刻な訂正不能なエラーがコンピュータで生じコンピュータをクラッシュさせた後にコンピュータ内のエラー・データを取得することができる。
【0006】
第1の態様によれば、本発明の1実施形態では、プロセッサおよびベースボード管理コントローラを備えたコンピュータを提案する。ベースボード管理コントローラは、コンピュータがクラッシュしたと判定されたとき、読取り要求メッセージをプロセッサに送信するように構成され、読取り要求メッセージは、プロセッサにより記録された第1のエラー・データの読取りを要求するために使用され、プロセッサは、読取り要求メッセージを受信し、読取り応答メッセージをベースボード管理コントローラに送信するように構成され、ベースボード管理コントローラは、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得するように構成される。
【0007】
第1の態様を参照して、第1の可能な実装方式では、プロセッサは、第1のエラー・データを取得し、第1のエラー・データを記録するようにさらに構成され、
ベースボード管理コントローラが、コンピュータがクラッシュしたと判定するように構成されることは特に、ベースボード管理コントローラが、プロセッサにより送信された深刻な障害事象指示を受信するように構成され、プロセッサが第1のエラー・データを取得し第1のエラー・データが深刻な訂正不能エラー・タイプであるとき、当該深刻な障害事象指示はプロセッサにより送信され、プロセッサにより送信された第1のエラー・データの少なくとも一部が当該深刻な障害事象指示が受信された時刻から開始する事前に設定された待機時間内に受信されない場合、ベースボード管理コントローラは、コンピュータがクラッシュしたと判定するように構成されることである。
【0008】
第1の態様または第1の態様の第1の可能な実装方式を参照して、第2の可能な実装方式では、ベースボード管理コントローラが、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得するように構成されることは特に、読取り応答メッセージが第1のエラー・データを運搬するとき、ベースボード・マネージャが、読取り応答メッセージから、プロセッサにより記録された第1のエラー・データを取得するように構成されることである。
【0009】
第1の態様または第1の態様の第1の可能な実装方式を参照して、第3の可能な実装方式では、ベースボード管理コントローラが、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得するように構成されることは特に、読取り応答メッセージが読取り障害指示を運搬するとき、ベースボード管理コントローラが、ウォーム・リブートをコンピュータで実施するようにコンピュータのウォーム・リブート・モジュールまたはユーザに指示するように構成され、当該読取り障害指示は、第1のエラー・データがプロセッサから読み取られるのに失敗したことを示すために使用され、その結果、プロセッサが、コンピュータのウォーム・リブートの間に、コンピュータの基本入出力システムの障害収集命令を実行し、第1のエラー・データを基本入出力システムの障害収集命令に従って取得し、第1のエラー・データをベースボード管理コントローラに送信し、ベースボード管理コントローラが、プロセッサにより送信された第1のエラー・データを受信するように構成されることである。
【0010】
第1の態様または第1の態様の第1乃至第3の可能な実装方式の何れか1つを参照して、第4の可能な実装方式では、ベースボード管理コントローラは、第1のエラー・データを障害解析機構に従って解析して、第1のエラー・データの障害解析情報を取得するようにさらに構成される。
【0011】
第1の態様の第4の可能な実装方式を参照して、第5の可能な実装方式では、ベースボード管理コントローラは、第1のエラー・データの障害解析情報を、事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するようにさらに構成される。
【0012】
第1の態様の第5の可能な実装方式を参照して、第6の可能な実装方式では、コンピュータがクラッシュしたと判定される前に、ベースボード管理コントローラは、プロセッサにより送信された第2のエラー・データを受信し、第2のエラー・データを障害解析機構に従って解析して、第2のエラー・データの障害解析情報を取得するようにさらに構成され、第2のエラー・データは、コンピュータが第1のエラー・データを生成する前に事前に設定された時間内に生成されたエラー・データであり、
ベースボード管理コントローラが、第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するように構成されることは、ベースボード管理コントローラが、第2のエラー・データの障害解析情報および第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するように構成されることを含む。
【0013】
第2の態様によれば、本発明の1実施形態では、ベースボード管理コントローラとプロセッサを備えたコンピュータに適用される障害処理方法を提案する。当該方法は、
コンピュータがクラッシュしたと判定されたとき、ベースボード管理コントローラにより、読取り要求メッセージをプロセッサに送信するステップであって、読取り要求メッセージは、プロセッサにより記録された第1のエラー・データの読取りを要求するために使用される、ステップと、
ベースボード管理コントローラにより、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得するステップと
を含む。
【0014】
第2の態様を参照して、第1の可能な実装方式では、当該方法はさらに、ベースボード管理コントローラにより、プロセッサにより送信された深刻な障害事象指示を受信するステップであって、プロセッサが第1のエラー・データを取得し第1のエラー・データが深刻な訂正不能エラー・タイプであるとき、当該深刻な障害事象指示はプロセッサにより送信される、ステップと、プロセッサにより送信された第1のエラー・データの少なくとも一部が当該深刻な障害事象指示が受信された時刻から開始する事前に設定された待機時間内に受信されない場合、コンピュータがクラッシュしたと判定するステップとを含む。
【0015】
第2の態様または第2の態様の第1の可能な実装方式を参照して、第2の可能な実装方式では、ベースボード管理コントローラにより、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得するステップは、読取り応答メッセージが第1のエラー・データを運搬するとき、ベースボード管理コントローラにより、読取り応答メッセージから、プロセッサにより記録された第1のエラー・データを取得するステップを含む。
【0016】
第2の態様または第2の態様の第1の可能な実装方式を参照して、第3の可能な実装方式では、ベースボード管理コントローラにより、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得するステップは、読取り応答メッセージが読取り障害指示を運搬するとき、ベースボード管理コントローラにより、ウォーム・リブートをコンピュータで実施するようにコンピュータのウォーム・リブート・モジュールまたはユーザに指示し、その結果、プロセッサが、コンピュータのウォーム・リブートの間に、コンピュータの基本入出力システムの障害収集命令を実行し、第1のエラー・データを基本入出力システムの障害収集命令に従って取得し、第1のエラー・データをベースボード管理コントローラに送信するステップであって、当該読取り障害指示は、第1のエラー・データがプロセッサから読み取られるのに失敗したことを示すために使用される、ステップと、ベースボード管理コントローラにより、プロセッサにより送信された第1のエラー・データを受信するステップとを含む。
【0017】
第2の態様または第2の態様の第1乃至第3の可能な実装方式の何れか1つを参照して、第4の可能な実装方式では、ベースボード管理コントローラにより読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得した後に、当該方法はさらに、ベースボード管理コントローラにより、第1のエラー・データを障害解析機構に従って解析して、第1のエラー・データの障害解析情報を取得するステップを含む。
【0018】
第2の態様の第4の可能な実装方式を参照して、第5の可能な実装方式では、当該方法はさらに、ベースボード管理コントローラにより、第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するステップを含む。
【0019】
第2の態様の第5の可能な実装方式を参照して、第6の可能な実装方式では、ベースボード管理コントローラにより、コンピュータがクラッシュしたと判定する前に、当該方法はさらに、ベースボード管理コントローラにより、プロセッサにより送信された第2のエラー・データを受信するステップであって、第2のエラー・データは、コンピュータが第1のエラー・データを生成する前に事前に設定された時間内に生成されたエラー・データである、ステップと、
ベースボード管理コントローラにより、第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するステップは、ベースボード管理コントローラにより、第2のエラー・データを障害解析機構に従って解析して、第2のエラー・データの障害解析情報を取得し、第2のエラー・データの障害解析情報および第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するステップと
を含む。
【0020】
第3の態様によれば、本発明の1実施形態では、コンピュータがクラッシュしたと判定されたとき、読取り要求メッセージをプロセッサに送信するように構成された送信ユニットであって、読取り要求メッセージは、プロセッサにより記録された第1のエラー・データの読取りを要求するために使用される、送信ユニットと、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得するように構成された受信ユニットとを備えたベースボード管理コントローラを提案する。
【0021】
第3の態様を参照して、第1の可能な実装方式では、ベースボード管理コントローラはさらに、プロセッサにより送信された深刻な障害事象指示を受信し、プロセッサにより送信された第1のエラー・データの少なくとも一部が当該深刻な障害事象指示が受信された時刻から開始する事前に設定された待機時間内に受信されない場合、コンピュータがクラッシュしたと判定するように構成された判定ユニットを備える。プロセッサが第1のエラー・データを取得し第1のエラー・データが深刻な訂正不能エラー・タイプであるとき、当該深刻な障害事象指示はプロセッサにより送信される。
【0022】
第3の態様または第3の態様の第1の可能な実装方式を参照して、第2の可能な実装方式では、受信ユニットが、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得することは、読取り応答メッセージが第1のエラー・データを運搬するとき、受信ユニットが、読取り応答メッセージから、プロセッサにより記録された第1のエラー・データを取得することを含む。
【0023】
第3の態様または第3の態様の第1の可能な実装方式を参照して、第3の可能な実装方式では、受信ユニットが、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得することは、読取り応答メッセージが読取り障害指示を運搬するとき、受信ユニットがウォーム・リブートをコンピュータで実施するようにコンピュータのウォーム・リブート・ユニットまたはユーザに指示し、その結果、プロセッサが、コンピュータのウォーム・リブートの間に、コンピュータの基本入出力システムの障害収集命令を実行し、第1のエラー・データを基本入出力システムの障害収集命令に従って取得し、第1のエラー・データを受信ユニットに送信し、当該読取り障害指示は、第1のエラー・データがプロセッサから読み取られるのに失敗したことを示すために使用され、受信ユニットはプロセッサにより送信された第1のエラー・データを受信することを含む。
【0024】
第3の態様または第3の態様の第1乃至第3の可能な実装方式の何れか1つを参照して、第4の可能な実装方式では、ベースボード管理コントローラはさらに、第1のエラー・データを障害解析機構に従って解析して、第1のエラー・データの障害解析情報を取得するように構成された障害処理ユニットを備える。
【0025】
第3の態様の第4の可能な実装方式を参照して、第5の可能な実装方式では、障害処理ユニットは、第1のエラー・データの障害解析情報を、事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するようにさらに構成される。
【0026】
第3の態様の第5の可能な実装方式を参照して、第6の可能な実装方式では、受信ユニットは、プロセッサにより送信された第2のエラー・データを受信するようにさらに構成され、障害処理ユニットは、第2のエラー・データを障害解析機構に従って解析して、第2のエラー・データの障害解析情報を取得するようにさらに構成され、第2のエラー・データは、コンピュータが第1のエラー・データを生成する前に事前に設定された時間内に生成されたエラー・データであり、障害処理ユニットが、第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するように構成されることは、障害処理ユニットが、第2のエラー・データの障害解析情報および第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得することを含む。
【0027】
第4の態様によれば、本発明の1実施形態ではベースボード管理コントローラを提案する。ベースボード管理コントローラは、プロセッサ、メモリ、バス、および通信インタフェースを備え、
メモリはコンピュータ実行可能命令を格納するように構成され、プロセッサはバスを用いてメモリに接続され、ベースボード管理コントローラが実行したとき、プロセッサは、メモリに格納されたコンピュータ実行可能命令を実行し、その結果、ベースボード管理コントローラは、第2の態様に従う障害処理方法、または第2の態様の可能な実装方式の何れか1つに従う障害処理方法を実施する。
【0028】
第5の態様によれば、本発明の1実施形態ではコンピュータ実行可能命令を含むコンピュータ可読媒体を提案する。その結果、コンピュータのプロセッサがコンピュータ実行可能命令を実行したとき、コンピュータが第2の態様に従う障害処理方法、または第2の態様の可能な実装方式の何れか1つに従う障害処理方法を実施する。
【0029】
本発明の諸実施形態では、コンピュータがクラッシュしたと判定されたとき、コンピュータ内のベースボード管理コントローラは、読取り要求メッセージをコンピュータ内のプロセッサに送信し、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得してもよい。読取り要求メッセージは、プロセッサにより記録された第1のエラー・データの読取りを要求するために使用される。以上の方式により、オペレーティング・システムを使用する必要はなく、ベースボード管理コントローラのみがコンピュータがクラッシュした後のコンピュータ内のエラー・データの取得を実装する必要があり、コンピュータ内で生ずる深刻な訂正不能なエラーがシステム・クラッシュを生じさせた後にコンピュータ内のエラー・データを取得できないという先行技術の問題が解決される。
【0030】
本発明の諸実施形態の技術的解決策をより明確に説明するために、以下では実施形態または先行技術を説明するのに必要な添付図面を簡単に説明する。明らかに、以下の説明における添付図面は本発明の幾つかの実施形態を示すにすぎず、当業者は創造的努力なしにこれらの添付図面から他の図面を依然として導出することができる。
【発明を実施するための形態】
【0032】
本発明の諸実施形態では障害処理方法、関連装置、およびコンピュータを提案する。その結果、深刻な訂正不能なエラーがコンピュータで生じコンピュータのクラッシュを生じさせた後にコンピュータ内のエラー・データを取得することができる。
【0033】
本発明の明細書、特許請求の範囲、および添付図面において、「第1の」および「第2の」という用語は類似のオブジェクトを区別することを意図したものであるが、必ずしも特定の順序またはシーケンスを示すものではないことに留意すべきである。このように使用される番号は適切なケースでは交換可能であることは理解されるべきである。本発明の明細書の明細書および特許請求の範囲および添付図面では、コンピュータのクラッシュとは、ブラック・スクリーンがコンピュータで発生し、コンピュータのプロセッサがコンピュータ命令を実行できず、コンピュータのマウスまたはキーボードのような入力装置を用いてどの入力も受け付けられないことを指す。
【0034】
実施形態1
図1は本発明の当該実施形態に従うコンピュータの略図である。コンピュータはプロセッサ11とベースボード管理コントローラ12(Baseboard Management Controller、BMC)を備える。
【0035】
ベースボード管理コントローラ12は、コンピュータがクラッシュしたと判定されたとき、読取り要求メッセージをプロセッサ11に送信するように構成される。読取り要求メッセージは、プロセッサ11により記録された第1のエラー・データの読取りを要求するために使用され、第1のエラー・データはコンピュータ内で生成されたエラー・データであり、コンピュータ内で生成されたエラー・データ全てであってもよく、または、さらにコンピュータ内で生成されたエラー・データの一部であってもよい。例えば、第1のエラー・データが、コンピュータがクラッシュする前2秒以内に生成されたエラー・データであってもよく、本発明の当該実施形態においてここでは限定されない。
【0036】
プロセッサ11は、読取り要求メッセージを受信し、読取り応答メッセージをベースボード管理コントローラ12に送信するように構成される。この時点で、コンピュータはクラッシュしておりプロセッサはどのコンピュータ命令も実行できないが、プロセッサは読取り要求メッセージを受信し、読取り要求メッセージに応答してもよい。
【0037】
ベースボード管理コントローラ12は、プロセッサ11により返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサ11により記録された第1のエラー・データを取得するように構成される。
【0038】
例えば、プロセッサ11が第1のエラー・データをプロセッサ11のレジスタに記録してもよい。ベースボード管理コントローラ12は、当該レジスタのアドレスを用いて読取り要求メッセージをプロセッサ11に送信して、第1のエラー・データを当該レジスタから取得してもよい。コンピュータはクラッシュしておりコンピュータ命令を実行できないが、プロセッサ11のレジスタは、読取り要求メッセージに応答し、読取り応答メッセージ、例えば、第1のエラー・データを返してもよく、その結果、ベースボード管理コントローラ12は、第1のエラー・データを読取り応答メッセージに従って取得することができる。本発明の当該実施形態では、第1のエラー・データが1つまたは複数のエラー・データを含んでもよく、本発明の当該実施形態においてここでは限定されないことに留意すべきである。
【0039】
本発明の当該実施形態では、コンピュータがクラッシュしたと判定されたとき、ベースボード管理コントローラ12は、読取り要求メッセージをプロセッサ11に送信し、プロセッサ11により返された読取り応答メッセージを受信し、プロセッサ11により記録された読取り応答メッセージに従って第1のエラー・データを取得してもよい。読取り要求メッセージは、プロセッサ11により記録された第1のエラー・データの読取りを要求するために使用される。本発明の当該実施形態では、オペレーティング・システムを使用する必要はなく、ベースボード管理コントローラのみがコンピュータがクラッシュした後のコンピュータ内のエラー・データの取得を実装する必要があり、コンピュータ内で生ずる深刻な訂正不能なエラーがシステム・クラッシュを生じさせた後にコンピュータ内のエラー・データを取得できないという先行技術の問題が解決される。
【0040】
本発明の当該実施形態を以下で詳細に説明する。
【0041】
(1)どのようにコンピュータのクラッシュを判定するかについて
【0042】
一般に、コンピュータ内の障害により生ずる訂正不能なエラー(Uncorrectable error)を、破局的なエラー(Catastrophic Error)、致命的なエラー(Fatal Error)、および復旧可能なエラー(Recoverable Error)に分類してもよい。破局的なエラーと致命的なエラーは最も深刻であり、ブルー・スクリーン、パープル・スクリーンまたはクラッシュ(例えば、ブラック・スクリーンおよび一時停止)すらコンピュータ内で生じさせうる。したがって、コンピュータ内の破局的なエラーまたは致命的なエラーを監視してもよい。例えば、内部エラー(Internal Error、IERR、破局的なエラーに属する)またはマシン・チェック・エラー(Machine Check Error、MCERR、致命的なエラーに属する)が監視される。破局的なエラーまたは致命的なエラーがコンピュータ内で発生したとき、コンピュータが基本入出力システム(Basic Input Output System、BIOS)の命令またはオペレーティング・システム(Operating System、OS)の命令を実行できない場合、コンピュータがクラッシュしたと判定してもよい。
【0043】
特に、プロセッサ11をさらに、第1のエラー・データを取得し、第1のエラー・データを記録するように構成してもよい。例えば、プロセッサ11が、第1のエラー・データを生成または受信し、第1のエラー・データを、コンピュータのキャッシュまたはプロセッサ11のレジスタまたは記憶能力を有する別のモジュールに記録してもよい。1態様では、プロセッサ11が第1のエラー・データを取得した後、コンピュータがクラッシュしない場合、プロセッサ11は、第1のエラー・データをベースボード管理コントローラに送信し、例えば、基本入出力システムのエラー収集命令をコンピュータ内で前もって構成してもよい。コンピュータがクラッシュしない場合、プロセッサ11は基本入出力システムのエラー収集命令を実行し、第1のエラー・データを基本入出力システムのエラー収集命令に従ってベースボード管理コントローラ12に送信する。コンピュータがクラッシュした場合、プロセッサ11はどのコンピュータ命令も実行することができない。別の態様では、プロセッサ11が第1のエラー・データを取得した後、第1のエラー・データが深刻な訂正不能エラー・タイプである場合、プロセッサ11がさらに、深刻な障害事象指示を送信し、破局的なエラーまたは致命的なエラーがコンピュータ内で発生しクラッシュを生じさせうることをベースボード管理コントローラ12に通知してもよい。第1のエラー・データが深刻な訂正不能エラー・タイプであるとは、第1のエラー・データが破局的なエラーまたは致命的なエラーに属することをいう。したがって、ベースボード管理コントローラ12を、プロセッサ11により送信された深刻な障害事象指示を受信するように構成してもよい。プロセッサ11により送信された第1のエラー・データの少なくとも一部が当該深刻な障害事象指示が受信された時刻から開始する事前に設定された待機時間内に受信されない場合、ベースボード管理コントローラ12はコンピュータがクラッシュしたと判定してもよい。
【0044】
さらに、ベースボード管理コントローラ12がさらに、ユーザからの通知に従って、コンピュータがクラッシュしたと判定してもよい。例えば、コンピュータがクラッシュしたことを発見したとき、ユーザがベースボード管理コントローラ12に通知してもよく、ベースボード管理コントローラ12は、ユーザからの通知に従って、コンピュータがクラッシュしたと判定し、第1のエラー・データの取得を開始してもよい。
【0045】
(2)第1のエラー・データの取得について
【0046】
読取り要求メッセージを受信したとき、プロセッサ11は読取り要求メッセージに従って第1のエラー・データを読取り応答メッセージに追加し、読取り応答メッセージをベースボード管理コントローラ12に返してもよい。この時点で、ベースボード管理コントローラ12はデータの読取りに成功し、ベースボード管理コントローラ12は、読取り応答メッセージから、プロセッサ11により記録された第1のエラー・データを取得してもよい。
【0047】
しかし、幾つかのハードウェア障害が訂正不能なエラーを引き起こし、さらに、コンピュータのクラッシュをもたらすとき、ベースボード管理コントローラ12は、第1のエラー・データの読取りに失敗したかもしれず、読取り応答メッセージが読取り障害指示を運搬する。当該読取り障害指示は、第1のエラー・データがプロセッサ11から読み取られるのに失敗したことを示すために使用される。ベースボード管理コントローラ12を、ウォーム・リブートをコンピュータで実施するようにコンピュータのウォーム・リブート・モジュールまたはユーザに指示するように構成してもよく、その結果、プロセッサ11が、コンピュータのウォーム・リブートの間に、コンピュータの基本入出力システムの障害収集命令を実行し、第1のエラー・データを基本入出力システムの障害収集命令に従って取得し、第1のエラー・データをベースボード管理コントローラ12に送信する。ベースボード管理コントローラ12は、プロセッサ11により送信された第1のエラー・データを受信して、第1のエラー・データの取得を完了してもよい。
【0048】
コンピュータのリブートを、ウォーム・リブート・およびコールド・リブートに分類してもよいことに留意すべきである。コールド・リブートの間、コンピュータの電源は落とされ、コンピュータが初期化され、コールド・リブートの後、情報の損失が生じうる。例えば、コールド・リブートの後、プロセッサのレジスタに保存された情報が失われる。コールド・リブートは、リブートの電源スイッチが押下されたときにコンピュータで実施される。コールド・リブートと異なり、ウォーム・リブートの間は、コンピュータの電源は落とされず、コンピュータは初期化されず、プロセッサのレジスタに保存した情報は失われない。ウォーム・リブートとは、通常の手続きに従って初めに「再起動」をクリックしてコンピュータをシャットダウンし開始することをいう。本発明の当該実施形態および後続の実施形態では、コンピュータで実施されるウォーム・リブートは上と同じ意味を有する。
【0049】
さらに、ベースボード管理コントローラ12をさらに、第1のエラー・データが取得された後、クリア・データ・メッセージをプロセッサ11に送信し、プロセッサ11により記録された第1のエラー・データを削除するようにプロセッサ11に指示し、それにより記憶リソースの無駄を回避するように構成してもよい。
【0050】
任意選択で、ベースボード管理コントローラ12をさらに、プロセッサ11により送信された深刻な障害事象指示が受信された後、警告メッセージをコンピュータの障害警告モジュールに送信するかまたはプリント動作を実施して、コンピュータ内の障害を時間通りに取得できるようにするためにユーザに当該深刻な障害警告事象を通知するように構成してもよい。
【0051】
(3)障害の分析、特定、および処理について
【0052】
先行技術では、一般に、コンピュータがクラッシュしないケースではエラー・データのみをプリントでき、したがって完全な障害記録はなく、障害を手動でのみ分析し、特定し、処理することができる。本発明の当該実施形態では、ベースボード管理コントローラ12は、完全な障害記録を記録し、さらに自動的に障害の原因を特定し、障害処理示唆を提供してもよく、これは、時間通りに障害を処理し障害からの復旧を行う際の支援を提供する。具体的な解決策は以下の通りである。
【0053】
プロセッサ11により記録された第1のエラー・データは一般に「0」または「1」で表される情報である。したがって、ベースボード管理コントローラ12をさらに、第1のエラー・データを障害解析機構に従って解析して、第1のエラー・データの障害解析情報を取得するように構成してもよい。第1のエラー・データの障害解析情報が、第1のエラー・データ内のエラー・データの各々が生成された時間、誰がエラー・データを収集したか、どのプロセッサからエラー・データが来たか、どのコア(Core)か、エラー・データがどのエラーに属するか等を含んでもよい。例えば、X86のコンピュータの場合、ベースボード管理コントローラ12は、Intelからの障害コード定義に従って、バイナリ形式の第1のエラー・データを解析して、障害解析情報を取得してもよい。障害解析情報を、障害のケースを理解するために保守員またはユーザに提供できるだけでなく、当該障害の後続の特定、分析、および処理にさらに使用してもよい。
【0054】
ベースボード管理コントローラ12をさらに、第1のエラー・データの障害解析情報を、事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するように構成してもよい。事前に設定された障害処理機構がX86に対する障害機構または障害処理経験であってもよく、当該取得された障害処理示唆が障害位置情報および/または処理示唆情報を含んでもよく、その結果、ユーザまたは障害修正員が障害処理示唆に従って処理をコンピュータに実施してコンピュータを復旧することができる。さらに、第1のエラー・データが、コンピュータがクラッシュする前の非常に短期間内に生成されたエラー・データのみであってもよい。例えば、第1のエラー・データはコンピュータがクラッシュする前0.5秒内に生成されたエラー・データであり、したがって、障害を特定し分析する精度を高めるために、より多くのエラー・データの障害解析情報を分析してもよい。特に、コンピュータがクラッシュしたと判定される前に、ベースボード管理コントローラ12がさらに、プロセッサ11により送信された第2のエラー・データを受信してもよい。第2のエラー・データは第1のエラー・データと異なり、第2のエラー・データは、コンピュータが第1のエラー・データを生成する前に事前に設定された時間内に生成されたエラー・データである。ベースボード管理コントローラ12は、第2のエラー・データを障害解析機構に従って解析して、第2のエラー・データの障害解析情報を取得し、第2のエラー・データの障害解析情報と第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得してもよい。例えば、第1のエラー・データが、コンピュータがクラッシュする前0.5秒内に生成されたエラー・データであってもよく、当該事前に設定された時間が4.5秒であるとき、第2のエラー・データが、コンピュータがクラッシュする前5秒からコンピュータがクラッシュする前0.5秒を引いた時間の間に生成されたエラー・データであってもよく、この場合、ベースボード管理コントローラ12は、事前に設定された障害処理機構に従って、コンピュータがクラッシュする前5秒内にエラー・データの障害解析情報を分析して、障害処理示唆を取得してもよい。
【0055】
さらに、ベースボード管理コントローラ12をさらに、第1のエラー・データの障害解析情報または第1のエラー・データの障害解析情報または障害処理示唆をプリントするように構成してもよく、その結果、ユーザまたは障害修正員がコンピュータ内の障害を当該プリントされた情報に従って処理することができる。
【0056】
さらに、ベースボード管理コントローラ12がさらに、後に障害を特定し障害からの復旧を行う際の支援を提供するために、第1のエラー・データの障害解析情報、第2のエラー・データの障害解析情報、第1のエラー・データ、および第2のエラー・データのうち少なくとも1つをコンピュータの障害情報ベースに保存して、コンピュータの障害記録を取得してもよい。例えば、ベースボード管理コントローラ12は、第1のエラー・データの障害解析情報および第2のエラー・データの障害解析情報を障害情報ベースに保存してもよく、その結果、障害情報ベースが完全なエラー・データを保存し、完全な障害記録を提供することができる。本発明の当該実施形態では、障害情報ベースを、ベースボード管理コントローラ12内で設定してもよく、または、ベースボード管理コントローラ12外部で設定してもよい。
【0057】
実際のアプリケーションのプロセスにおいて、異なる方式を、異なる適用シナリオに従って使用してコンピュータ内の障害を特定し、分析し、処理してもよいことに留意すべきである。例えば、非単一ノードの適用シナリオに対して、システムが本発明の当該実施形態に従う複数のコンピュータを含んでもよい。本発明の当該実施形態に従う各コンピュータは、障害を特定し、分析し、処理する能力を有してもよい。この時点で、当該複数のコンピュータの或るコンピュータ(例えば、プライマリ・コンピュータ)のベースボード管理コントローラがエラー・データを他のコンピュータのベースボード管理コントローラから収集してもよく、当該或るコンピュータのベースボード管理コントローラは連帯的な障害の特定、分析、および処理を当該システム内の全てのコンピュータに実施する。あるいは、当該システム内の複数のコンピュータのベースボード管理コントローラは、ベースボード管理コントローラにより取得されたエラー・データを当該システム内の管理装置(例えば、管理サーバ)に報告してもよく、当該管理装置は、当該方法の実施形態における方式を使用して連帯的な障害の特定、分析、および処理を当該システム内の全てのコンピュータに実施する。
【0058】
本発明の当該実施形態では、オペレーティング・システムを使用する必要はなく、ベースボード管理コントローラ12のみがコンピュータがクラッシュした後のコンピュータ内のエラー・データの取得を実装する必要があり、コンピュータ内で生ずる深刻な訂正不能なエラーがシステム・クラッシュを生じさせた後にコンピュータ内のエラー・データを取得できないという先行技術の問題が解決される。さらに、ベースボード管理コントローラ12がさらに、完全な障害を障害記録ベースに記録してもよく、さらに、第1のエラー・データを解析して、第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害の原因を特定し処理示唆を提供してもよい。
【0059】
実施形態2
本発明をより良く説明するために、様々な具体的な詳細を以下の具体的な実装方式で提供する。当業者は本発明をまた幾つかの具体的な詳細なしに実装できることを理解すべきである。本発明の当該実施形態では、実施形態1におけるプロセッサ11およびベースボード管理コントローラ12の構造的構成および機能を、
図2を参照して詳細に説明する。
【0060】
図2は本発明の当該実施形態に従うコンピュータの構成の略構造図である。コンピュータはプロセッサ11とベースボード管理コントローラ12を備える。プロセッサ11が記録モジュール21、記憶モジュール22、および命令実行モジュール23を備えてもよい。記録モジュール21が、特に、プロセッサ11の内部機能モジュールを担当するハードウェア障害チェック・アーキテクチャ(Machine Check Architecture、MCA)、および/または、コンピュータの入出力装置のPCIe標準を担当する障害報告機構(Advanced Error Reporting、AER)であってもよい。対応して、記憶モジュール22が、MCAのレジスタおよび/またはAERのレジスタであってもよい。MCAのレジスタおよびAERのレジスタをプロセッサ11内部に配置してもよい。命令実行モジュール23が、プロセッサ11のコアであってもよく、基本入出力システムの命令およびオペレーティング・システムの命令を実行するように構成される。
【0061】
記録モジュール21を、コンピュータ内のエラー・データを取得し、例えば、プロセッサ11の内部機能モジュール内で障害が発生した際に生成されるエラー・データを生成するか、または、別の例として、障害がIOデバイス内で発生した際に生成されるエラー・データを受信するように構成してもよい。コンピュータ内のエラー・データは、本発明の当該実施形態における第1のエラー・データと第2のエラー・データを含むがこれらに限られない。記録モジュール21は、記憶モジュール22に、コンピュータ内の取得されたエラー・データを記録してもよい。特に、コンピュータ内のエラー・データがMCAにより取得される場合、MCAは、MCAのレジスタに、コンピュータ内のエラー・データを記録してもよい。コンピュータ内のエラー・データがAERにより取得される場合、AERは、AERのレジスタに、コンピュータ内のエラー・データを記録してもよい。MCAまたはAERにより取得された或る範囲のエラー・データを、BIOSを用いて対応するレジスタを構成することによって実装してもよい。任意選択で、対応するレジスタにコンピュータ内のエラー・データを記録したとき/後に、MACまたはAERがさらに、第1のレジスタに、コンピュータ内のエラー・データを記録するレジスタのアドレスを保存してもよく、その結果、後に命令実行モジュール23がコンピュータ内のエラー・データを基本入出力システムのエラー収集命令に従ってかつ第1のレジスタに記録されたアドレスを用いて取得することができる。
【0062】
コンピュータ内のエラー・データを取得するとき、記録モジュール21がさらに、システム管理割込み(System Management Interrupt、SMI)をトリガしてもよい。当該システム管理割込みは、命令実行モジュール23をトリガして基本入出力システムのエラー収集命令を実行するように構成される。コンピュータがクラッシュしない場合、命令実行モジュール23は、記憶モジュール22から、コンピュータ内のエラー・データを基本入出力システムのエラー収集命令に従って取得し、当該エラー・データをベースボード管理コントローラ12に送信してもよい。コンピュータがクラッシュした場合、命令実行モジュール23はどのコンピュータ命令も実行することができない。基本入出力システムのエラー収集命令を、基本入出力システムの当該命令を格納するメモリ内で前もって構成してもよい。
【0063】
実際には、実施形態1によれば、第2のエラー・データは、コンピュータが第1のエラー・データを生成する前に事前に設定された時間内に生成されたエラー・データであり、したがって、記録モジュール21がまず第2のエラー・データを取得し次いで第1のエラー・データを取得することが分かりうる。したがって、第2のエラー・データを取得するとき、1態様では、記録モジュール21が、第2のエラー・データを記憶モジュール22に記録してもよく、別の態様では当該システム管理割込みをトリガしてもよい。コンピュータがクラッシュしない場合、命令実行モジュール23は、基本入出力システムのエラー収集命令を当該システム管理割込みに従って実行し、第2のエラー・データを記憶モジュール22から基本入出力システムのエラー収集命令に従って取得し、第2のエラー・データをベースボード管理コントローラ12に送信してもよい。任意選択で、命令実行モジュール23は、インテリジェント・プラットフォーム管理インタフェース(Intelligent Platform Management Interface、IPMI)標準を用いて第2のエラー・データをベースボード管理コントローラ12に送信してもよく、ベースボード管理コントローラ12は、当該IPMI標準を用いて、命令実行モジュール23により送信された第2のエラー・データを受信してもよい。第2のエラー・データが複数のエラー・データを含み記録モジュール21が複数回の後第2のエラー・データのみを取得できるとき、記録モジュール21は、記録モジュール21が第2のエラー・データの一部を取得するたびに当該システム管理割込みをトリガしてもよいことに留意すべきである。対応して、命令実行モジュール23は、基本入出力システムのエラー収集命令を複数回実行して、第2のエラー・データをベースボード管理コントローラ12に複数回送信することを実施してもよい。任意選択で、第2のエラー・データをベースボード管理コントローラ12に送信した後、命令実行モジュール23は、オペレーティング・システムの削除命令を実行して、当該オペレーティング・システムの当該削除命令に従って、記録モジュール21に保存された第2のエラー・データを削除してもよい。換言すれば、命令実行モジュール23は、記憶モジュール22から、ベースボード管理コントローラ12に送信されているエラー・データを削除し、それによりエラー・データのベースボード管理コントローラ12への反復送信を回避してもよい。
【0064】
第2のエラー・データを取得した後に記録モジュール21が第1のエラー・データを取得した場合、記録モジュール21はまたシステム管理割込みをトリガしてもよい。さらに、第1のエラー・データが深刻な訂正不能エラー・タイプである場合、即ち、第1のエラー・データが破局的なエラーまたは致命的なエラーに属する場合、記録モジュール21はさらに、深刻な障害事象指示をトリガして、破局的なエラーまたは致命的なエラーがコンピュータ内で発生しクラッシュを生じさせうることをベースボード管理コントローラ12に通知してもよい。第1のエラー・データが実際に当該深刻な訂正不能エラー・タイプでありコンピュータがクラッシュしたとき、命令実行モジュール23はコンピュータ命令を実行できず、記録モジュール21がシステム管理割込みをトリガしたとしても、命令実行モジュール23は依然として基本入出力システムのエラー収集命令を実行できず、第1のエラー・データをベースボード管理コントローラ12に対する記憶モジュール22から取得することができない。したがって、ベースボード管理コントローラ12がプロセッサ11により送信された第1のエラー・データの少なくとも一部を深刻な障害事象指示が受信された時刻から開始する事前に設定された待機時間内に受信しない場合には、コンピュータがクラッシュしたと判定してもよい。特に、記録モジュール21による深刻な障害事象指示のトリガを、ピンCATEER_NまたはERROR_Nのレベルを変更することによって実装してもよく、ベースボード管理コントローラ12は、ピンCATEER_NまたはERROR_Nからのレベル信号を受信することによって深刻な障害事象指示を受信してもよい。
【0065】
コンピュータがクラッシュしたと判定されたとき、ベースボード管理コントローラ12は読取り要求メッセージを記録モジュール21に送信してもよい。読取り要求メッセージは第1のエラー・データの読取りを要求するために使用される。コンピュータがクラッシュした後、記録モジュール21は依然として、読取り要求メッセージを受信し、読取り応答メッセージをベースボード管理コントローラ12に送信してもよい。したがって、ベースボード管理コントローラ12は、読取り応答メッセージを受信し、プロセッサ11により記録された読取り応答メッセージに従って第1のエラー・データを取得してもよい。特に、ベースボード管理コントローラ12は、プラットフォーム環境制御インタフェース(Platform Environment Control Interface、PECI)バスを用いてMACのレジスタまたはAERのレジスタをトラバースして、第1のエラー・データをMACのレジスタまたはAERのレジスタから読み出してもよい。ベースボード管理コントローラ12がMACのレジスタまたはAERのレジスタからデータの読取りに成功した場合、MACのレジスタまたはAERのレジスタにより返された読取り応答メッセージは第1のエラー・データを運搬し、ベースボード管理コントローラ12は第1のエラー・データを取得してもよい。ベースボード管理コントローラ12がMACのレジスタまたはAERのレジスタからデータの読み取りに失敗した場合、MACのレジスタまたはAERのレジスタにより返された読取り応答メッセージは、読取り障害指示、例えば、不明瞭な文字を運搬する。したがって、ベースボード管理コントローラ12は、ウォーム・リブートをコンピュータで実施するようにコンピュータのウォーム・リブート・モジュールまたはユーザに指示してもよく、その結果、命令実行モジュール23が、コンピュータのウォーム・リブートの間に、基本入出力システムの障害収集命令を実行し、MACのレジスタまたはAERのレジスタを基本入出力システムの障害収集命令に従ってトラバースし、第1のエラー・データを取得し、IPMI標準を用いて第1のエラー・データをベースボード管理コントローラ12に送信し、ベースボード管理コントローラ12が当該障害収集命令により送信された第1のエラー・データを受信することができる。
【0066】
本発明の当該実施形態では、ベースボード管理コントローラ12はプロセッサ11と協調して、コンピュータがクラッシュした後のコンピュータ内のエラー・データの取得を実装し、コンピュータ内で生ずる深刻な訂正不能なエラーがシステム・クラッシュを生じさせた後にコンピュータ内のエラー・データを取得できないという先行技術の問題が解決される。
【0067】
実施形態3
本発明の当該実施形態では、
図1または
図2に示すコンピュータで使用される障害処理方法を提供する。当該コンピュータはベースボード管理コントローラとプロセッサを備える。当該方法は以下を含む。
【0068】
S301:コンピュータがクラッシュしたと判定されたとき、ベースボード管理コントローラが読取り要求メッセージをプロセッサに送信する。読取り要求メッセージは、プロセッサにより記録された第1のエラー・データの読取りを要求するために使用される。
【0069】
プロセッサが第1のエラー・データを取得し、第1のエラー・データを記録してもよい。コンピュータがクラッシュしたと判定されたとき、ベースボード管理コントローラは、読取り要求メッセージをプロセッサに送信し、プロセッサにより記録された第1のエラー・データを読み取ってもよい。この時点で、コンピュータはクラッシュしておりプロセッサはどのコンピュータ命令も実行できないが、プロセッサは読取り要求メッセージを受信し、読取り要求メッセージに応答でき、その結果、ベースボード管理コントローラは第1のエラー・データを取得することができる。例えば、プロセッサは第1のエラー・データをプロセッサのレジスタに記録してもよく、ベースボード管理コントローラは読取り要求メッセージをプロセッサのレジスタに送信してもよい。プロセッサのレジスタは、読取り要求メッセージを受信し、読取り応答メッセージを返してもよい。本発明の当該実施形態では、第1のエラー・データが1つまたは複数のエラー・データを含んでもよく、本発明の当該実施形態においてここでは限定されない。
【0070】
ベースボード管理コントローラはコンピュータがクラッシュしたことを複数の方式で判定し、特に、実施形態1または実施形態2を参照してもよく、詳細については本発明の当該実施形態ではここでは再度説明しない。
【0071】
S302:ベースボード管理コントローラがプロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得する。
【0072】
ベースボード管理コントローラがプロセッサからのデータの読取りに成功した場合、読取り応答メッセージは第1のエラー・データを運搬してもよく、ベースボード管理コントローラは、読取り応答メッセージから、プロセッサにより記録された第1のエラー・データを取得してもよい。ベースボード管理コントローラがプロセッサからのデータの読取りに失敗した場合、読取り応答メッセージは読取り障害指示を運搬してもよく、ベースボード管理コントローラは第1のエラー・データを別の方式で取得してもよい。例えば、基本入出力システムの障害収集命令をコンピュータ内で前もって構成してもよい。読取り応答メッセージが読取り障害指示を運搬するとき、ベースボード管理コントローラは、ウォーム・リブートをコンピュータで実施するようにコンピュータのウォーム・リブート・モジュールまたはユーザに指示してもよく、その結果、プロセッサが、コンピュータのウォーム・リブートの間に、基本入出力システムのコンピュータ収集命令における障害を実行し、第1のエラー・データを基本入出力システムの障害収集命令に従って取得し、第1のエラー・データをベースボード管理コントローラに送信し、ベースボード管理コントローラはプロセッサにより送信された第1のエラー・データを受信することによって第1のエラー・データの取得を完了することができる。
【0073】
本発明の当該実施形態では、コンピュータがクラッシュしたと判定されたとき、コンピュータのベースボード管理コントローラは読取り要求メッセージをコンピュータのプロセッサに送信し、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得してもよい。読取り要求メッセージは、プロセッサにより記録された第1のエラー・データの読取りを要求するために使用される。本発明の当該実施形態により、オペレーティング・システムを使用する必要はなく、ベースボード管理コントローラのみがコンピュータがクラッシュした後のコンピュータ内のエラー・データの取得を実装する必要があり、コンピュータ内で生ずる深刻な訂正不能なエラーがシステム・クラッシュを生じさせた後にコンピュータ内のエラー・データを取得できないという先行技術の問題が解決される。
【0074】
実施形態4
本発明の当該実施形態では、
図1または
図2に示すコンピュータで使用される障害処理方法を提供する。当該コンピュータはベースボード管理コントローラとプロセッサを備え、当該方法は以下を含む。
【0075】
S401:ベースボード管理コントローラがプロセッサにより送信された深刻な障害事象指示を受信する。プロセッサが第1のエラー・データを取得し第1のエラー・データが深刻な訂正不能エラー・タイプであるとき、当該深刻な障害事象指示がプロセッサにより送信される。
【0076】
S402:ベースボード管理コントローラが警告メッセージをコンピュータの障害警告モジュールに送信するかまたはプリント動作を実施して、ユーザに深刻な障害警告事象を通知する。
【0077】
プロセッサにより送信された深刻な障害事象指示を受信した後、ベースボード管理コントローラは、当該警告メッセージを用いて障害警告センサをトリガするか、または、プリント動作を実施して、深刻な障害がコンピュータで生じクラッシュの原因となりうることをユーザに通知してもよい。本発明の当該実施形態ではS402は任意選択のステップである。
【0078】
S403:ベースボード管理コントローラがプロセッサにより送信された第1のエラー・データの少なくとも一部を深刻な障害事象指示が受信された時刻から開始する事前に設定された待機時間内に受信しない場合、コンピュータがクラッシュしたと判定し、ステップS404を実施する。
【0079】
プロセッサが第1のエラー・データを取得した後、コンピュータがクラッシュしない場合、プロセッサは、基本入出力システムのエラー収集命令を実行し、基本入出力システムのエラー収集命令に従って第1のエラー・データをベースボード管理コントローラに送信してもよい。コンピュータがクラッシュした場合、プロセッサはどのコンピュータ命令も実行することができない。したがって、ベースボード管理コントローラが深刻な障害事象指示が受信された時刻から開始する事前に設定された待機時間内にプロセッサにより送信された第1のエラー・データの少なくとも一部を受信しなかった場合、コンピュータがクラッシュしたと判定してもよい。
【0080】
S404:ベースボード管理コントローラが読取り要求メッセージをプロセッサに送信する。読取り要求メッセージはプロセッサにより記録された第1のエラー・データの読取りを要求するために使用される。
【0081】
コンピュータがクラッシュしたと判定された後、ベースボード管理コントローラが第1のエラー・データをプロセッサから取得して、コンピュータがクラッシュした後のコンピュータ内のエラー・データの取得を実装してもよい。
【0082】
S405:ベースボード管理コントローラがプロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得する。
【0083】
ベースボード管理コントローラは、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得し、特に、S405aの方式を使用してもよく、または、S405aの方式を使用してもよい。
【0084】
S405a:読取り応答メッセージが第1のエラー・データを運搬する場合、ベースボード管理コントローラは、読取り応答メッセージから、プロセッサにより記録された第1のエラー・データを取得する。
【0085】
読取り応答メッセージが第1のエラー・データを運搬する場合、これはベースボード管理コントローラが第1のエラー・データをプロセッサから読み取るのに成功したことを示し、ベースボード管理コントローラは読取り応答メッセージから、プロセッサにより記録された第1のエラー・データを取得してもよい。
【0086】
S405b:読取り応答メッセージが読取り障害指示を運搬し、当該読取り障害指示は、第1のエラー・データがプロセッサから読み取られるのに失敗したことを示すために使用される場合、ベースボード管理コントローラは、ウォーム・リブートをコンピュータで実施するようにコンピュータのウォーム・リブート・モジュールまたはユーザに指示し、その結果、プロセッサは、コンピュータのウォーム・リブートの間に、コンピュータの基本入出力システムの障害収集命令を実行し、第1のエラー・データを基本入出力システムの障害収集命令に従って取得し、第1のエラー・データをベースボード管理コントローラに送信し、ベースボード管理コントローラはプロセッサにより送信された第1のエラー・データを受信する。
【0087】
基本入出力システムの障害収集命令をコンピュータ内で前もって構成してもよい。ベースボード管理コントローラが第1のエラー・データをプロセッサから読み取るのに失敗したとき、読取り応答メッセージは読取り障害指示を運搬し、ベースボード管理コントローラは、ウォーム・リブートをコンピュータで実施するようにコンピュータのウォーム・リブート・モジュールまたはユーザに指示し、その結果、プロセッサは、コンピュータのウォーム・リブートの間に、コンピュータの基本入出力システムの障害収集命令を実行し、第1のエラー・データを基本入出力システムの障害収集命令に従って取得し、ベースボード管理コントローラに送信する。
【0088】
S406:ベースボード管理コントローラが障害解析機構に従って第1のエラー・データを解析して、第1のエラー・データの障害解析情報を取得する。
【0089】
第1のエラー・データを取得した後、ベースボード管理コントローラは第1のエラー・データを障害解析機構に従って解析して、第1のエラー・データの障害解析情報を取得する。第1のエラー・データの障害解析情報が、第1のエラー・データ内のエラー・データの各々が生成された時間、誰がエラー・データを収集したか、どのプロセッサからエラー・データが来たか、どのコア(Core)か、エラー・データがどのエラーに属するか等を含んでもよい。障害解析情報を、障害のケースを理解するために保守員またはユーザに提供できるだけでなく、障害の後続の特定、分析、および処理にさらに使用してもよい。
【0090】
S407:ベースボード管理コントローラが事前に設定された障害処理機構に従って第1のエラー・データの障害解析情報を分析して、障害処理示唆を取得する。
【0091】
事前に設定された障害処理機構が、X86に対する障害機構または障害処理経験であってもよい。ベースボード管理コントローラは第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得する。障害処理示唆が、障害位置情報または処理示唆情報であってもよく、その結果、ユーザまたは障害修正員は、障害処理示唆に従って処理をコンピュータに実施してコンピュータを復旧することができる。
【0092】
S408:ベースボード管理コントローラが障害処理示唆をプリントする。
【0093】
障害処理示唆を取得した後、ベースボード管理コントローラは、障害処理示唆をプリントしてもよいか、または、さらに、第1のエラー・データの障害処理示唆および障害解析情報をプリントしてもよく、その結果、ユーザまたは障害修正員は当該プリントされた情報に従ってコンピュータに処理を実施して、コンピュータを復旧することができる。
【0094】
本発明の当該実施形態では、オペレーティング・システムを使用する必要はなく、ベースボード管理コントローラのみがコンピュータがクラッシュした後のコンピュータ内のエラー・データの取得を実装する必要があり、コンピュータ内で生ずる深刻な訂正不能なエラーがシステム・クラッシュを生じさせた後にコンピュータ内のエラー・データを取得できないという先行技術の問題が解決される。さらに、ベースボード管理コントローラがさらに第1のエラー・データを解析し、第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害の原因を特定し処理示唆を提供してもよい。
【0095】
ステップS407において、第1のエラー・データのみの障害解析情報を分析して障害処理示唆を取得するので、第1のエラー・データが、コンピュータがクラッシュする前の非常に短期間内に生成されたエラー・データのみであってもよい。例えば、第1のエラー・データは、コンピュータがクラッシュする前2秒以内に生成されたエラー・データであり、したがって、障害を特定し分析する精度を高めるために、より多くのエラー・データの障害解析情報を分析してもよい。
【0096】
ステップS403の前に、ベースボード管理コントローラがさらに、プロセッサにより送信された第2のエラー・データを受信してもよい。第2のエラー・データは、コンピュータが第1のエラー・データを生成する前に事前に設定された時間内に生成されたエラー・データである。
【0097】
ステップS407がさらに、ベースボード管理コントローラが第2のエラー・データを障害解析機構に従って解析して、第2のエラー・データの障害解析情報を取得し、第2のエラー・データの障害解析情報および第1のエラー・データの障害解析情報を分析して、障害処理示唆を取得するというものであってもよい。
【0098】
本発明の当該実施形態では、ベースボード管理コントローラが、第2のエラー・データの障害解析情報および第1のエラー・データの障害解析情報を分析して、障害処理示唆を取得し、障害を特定し分析する精度を高めてもよい。
【0099】
任意選択で、ステップS405の後に、ベースボード管理コントローラがさらに、第1のエラー・データの障害解析情報、第2のエラー・データの障害解析情報、第1のエラー・データ、および第2のエラー・データのうち少なくとも1つをコンピュータの障害情報ベースに保存してもよい。例えば、完全な障害記録を障害記録ベースに記録するために、第1のエラー・データの障害解析情報および第2のエラー・データの障害解析情報は障害情報ベースに保存されるか、または、第1のエラー・データおよび第2のエラー・データは障害情報ベースに保存される。
【0100】
任意選択で、ステップS405の後に、ベースボード管理コントローラがさらに、クリア・データ・メッセージをプロセッサに送信して、プロセッサにより記録された第1のエラー・データを削除するようにプロセッサに指示し、それにより記憶リソースの無駄を回避してもよい。
【0101】
本発明の実施形態3または実施形態4におけるベースボード管理コントローラについては、特に、本発明の実施形態1または実施形態2におけるベースボード管理コントローラおよびプロセッサの対話および障害処理を参照してもよい。
【0102】
実施形態5
本発明の当該実施形態では、ベースボード管理コントローラとプロセッサを備えたコンピュータで使用される、例えば、
図1または2に示すコンピュータで使用される、ベースボード管理コントローラを提供する。
図5に示すように、当該ベースボード管理制御が送信ユニットおよび受信ユニットを備えてもよい。
【0103】
当該送信ユニットは、コンピュータがクラッシュしたと判定されたとき読取り要求メッセージをプロセッサに送信するように構成される。読取り要求メッセージは、プロセッサにより記録された第1のエラー・データの読取りを要求するために使用される。コンピュータはクラッシュしておりプロセッサはどのコンピュータ命令も実行できないが、プロセッサは読取り要求メッセージを受信し、読取り要求メッセージに応答することができる。
【0104】
当該受信ユニットは、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得するように構成される。例えば、読取り応答メッセージが第1のエラー・データを運搬するとき、受信ユニットは読取り応答メッセージから、プロセッサにより記録された第1のエラー・データを取得してもよい。別の例として、読取り応答メッセージが読取り障害指示を運搬するとき、受信ユニットは、ウォーム・リブートをコンピュータで実施するようにコンピュータのウォーム・リブート・ユニットまたはユーザに指示してもよく、その結果、プロセッサが、コンピュータのウォーム・リブートの間に、コンピュータの基本入出力システムの障害収集命令を実行し、第1のエラー・データを基本入出力システムの障害収集命令に従って取得し、第1のエラー・データを受信ユニットに送信する。当該読取り障害指示は、第1のエラー・データがプロセッサから読み取られるのに失敗したことを示すために使用され、受信ユニットはプロセッサにより送信された第1のエラー・データを受信する。任意選択で、第1のエラー・データが取得された後、受信ユニットがさらに、クリア・データ・メッセージをプロセッサに送信し、プロセッサにより記録された第1のエラー・データを削除するようにプロセッサに指示し、それにより記憶リソースの無駄を回避してもよい。
【0105】
任意選択で、ベースボード管理コントローラがさらに、プロセッサにより送信された深刻な障害事象指示を受信し、プロセッサにより送信された第1のエラー・データの少なくとも一部が当該深刻な障害事象指示が受信された時刻から開始する事前に設定された待機時間内に受信されない場合、コンピュータがクラッシュしたと判定するように構成された判定ユニットを含んでもよい。プロセッサが第1のエラー・データを取得し第1のエラー・データが深刻な訂正不能エラー・タイプであるとき、当該深刻な障害事象指示はプロセッサにより送信される。
【0106】
任意選択で、ベースボード管理コントローラがさらに、判定ユニットがプロセッサにより送信された深刻な障害事象指示を受信した後に、警告メッセージをコンピュータの障害障害警告ユニットに送信するかまたはプリント動作を実施して、ユーザに当該深刻な障害警告事象を通知するように構成された障害警告ユニットを含んでもよい。
【0107】
任意選択で、ベースボード管理コントローラがさらに、第1のエラー・データを障害解析機構に従って解析して、第1のエラー・データの障害解析情報を取得するように構成された障害処理ユニットを含んでもよい。第1のエラー・データの障害解析情報が、第1のエラー・データ内のエラー・データの各々が生成された時間、誰がエラー・データを収集したか、どのプロセッサからエラー・データが来たか、どのコア(Core)か、エラー・データがどのエラーに属するか等を含んでもよい。障害解析情報を、障害のケースを理解するために保守員またはユーザに提供できるだけでなく、当該障害の後続の特定、分析、および処理にさらに使用してもよい。
【0108】
さらに、障害処理ユニットをさらに、第1のエラー・データの障害解析情報を、事前に設定された障害処理機構に従って分析して、障害処理示唆を取得するように構成してもよい。当該事前に設定された障害処理機構が、X86に対する障害機構または障害処理経験であってもよい。当該障害処理示唆が、障害位置情報または処理示唆情報であってもよく、その結果、ユーザまたは障害修正員が障害処理示唆に従って処理をコンピュータに実施してコンピュータを復旧することができる。
【0109】
障害処理ユニットは第1のエラー・データのみの障害解析情報を分析して障害処理示唆を取得するので、第1のエラー・データが、コンピュータがクラッシュする前の非常に短期間内に生成されたエラー・データのみであってもよい。例えば、第1のエラー・データは、コンピュータがクラッシュする前0.8秒内に生成されたエラー・データであり、したがって、障害を特定し分析する精度を高めるために、障害処理ユニットは、より多くのエラー・データの障害解析情報を分析してもよい。特に、受信ユニットは、プロセッサにより送信された第2のエラー・データを受信するようにさらに構成され、第2のエラー・データを障害解析機構に従って解析して、第2のエラー・データの障害解析情報を取得し、第2のエラー・データの障害解析情報および第1のエラー・データの障害解析情報を事前に設定された障害処理機構に従って分析して、障害処理示唆を取得してもよい。第2のエラー・データは、コンピュータが第1のエラー・データを生成する前に事前に設定された時間内に生成されたエラー・データである。
【0110】
任意選択で、障害処理ユニットは、第1のエラー・データの障害解析情報または障害処理示唆をプリントするようにさらに構成される。
【0111】
任意選択で、障害処理ユニットは、第1のエラー・データの障害解析情報、第2のエラー・データの障害解析情報、第1のエラー・データ、および第2のエラー・データのうち少なくとも1つをコンピュータの障害情報ベースに保存するようにさらに構成される。例えば、完全な障害記録を障害記録ベースに記録するために、第1のエラー・データの障害解析情報および第2のエラー・データの障害解析情報は障害情報ベースに保存されるか、または、第1のエラー・データおよび第2のエラー・データは障害情報ベースに保存される。
【0112】
本発明の当該実施形態におけるベースボード管理コントローラについて、特に、本発明の実施形態1または実施形態2におけるベースボード管理コントローラおよびプロセッサの対話および障害処理を参照してもよい。
【0113】
本発明の当該実施形態では、コンピュータがクラッシュしたと判定されたとき、送信ユニットは読取り要求メッセージをコンピュータのプロセッサに送信してもよい。読取り要求メッセージは、プロセッサにより記録された第1のエラー・データの読取りを要求するために使用され、受信ユニットは、プロセッサにより返された読取り応答メッセージを受信し、読取り応答メッセージに従って、プロセッサにより記録された第1のエラー・データを取得してもよい。本発明の当該実施形態により、オペレーティング・システムを使用する必要はなく、ベースボード管理コントローラのみがコンピュータがクラッシュした後のコンピュータ内のエラー・データの取得を実装する必要があり、コンピュータ内で生ずる深刻な訂正不能なエラーがシステム・クラッシュを生じさせた後にコンピュータ内のエラー・データを取得できないという先行技術の問題が解決される。
【0114】
本発明の1実施形態ではコンピュータ実行可能命令を含むコンピュータ可読媒体を提供し、その結果、コンピュータのプロセッサがコンピュータ実行可能命令を実行したとき、コンピュータが実施形態3または実施形態4の障害処理方法を実行することができる。
【0115】
図6は、本発明の1実施形態で提供するベースボード管理コントローラを示す。当該ベースボード管理コントローラがプロセッサ601、メモリ602、システム・バス604、および通信インタフェース605を備えてもよい。プロセッサ601、メモリ602、および通信インタフェース605は、システム・バス604を用いて接続され、相互通信を実現する。
【0116】
プロセッサ601が、シングルコアまたはマルチコアの中央演算装置であってもよく、または、特定の集積回路であってもよく、または、本発明の当該実施形態を実装するための1つまたは複数の集積回路として構成されてもよい。
【0117】
メモリ602が、高速RAMメモリであってもよく、または、不揮発性メモリ(non−volatile memory)、例えば、少なくとも1つのディスク・メモリであってもよい。
【0118】
メモリ602は、コンピュータ実行可能命令603に対して構成される。特に、コンピュータ実行可能命令603がプログラム・コードを含んでもよい。
【0119】
ベースボード管理コントローラが実行したとき、プロセッサ601は、コンピュータ実行可能命令603を実行して、実施形態3または実施形態4における障害処理方法の方法の手続きを実施する。
【0120】
当業者は、本発明の各態様または各態様の可能な実装方式を、特にシステム、方法、またはコンピュータ・プログラム製品として実装してもよいことを理解しうる。したがって、本発明の各態様または各態様の可能な実装方式は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態(ファームウェア、常駐ソフトウェア等を含む)、またはソフトウェアおよびハードウェアの組合せを有する実施形態の形を使用してもよく、これらは本明細書では一律に「回路」、「モジュール」、または「システム」と称される。さらに、本発明の各態様または各態様の可能な実装方式がコンピュータ・プログラム製品の形をとってもよい。コンピュータ・プログラム製品とは、コンピュータ可読媒体に格納されたコンピュータ可読プログラム・コードを指す。
【0121】
コンピュータ可読媒体がコンピュータ可読信号媒体またはコンピュータ可読記憶媒体であってもよい。コンピュータ可読記憶媒体はランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、消去可能プログラム可能読取専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、およびコンパクト・ディスク読取専用メモリ(CD−ROM)のような、電子、磁気、光学、電磁気、赤外線、または半導体システム、デバイス、または装置、またはそれらの任意の適切な組合せが含まれるがこれらに限られない。
【0122】
コンピュータ内のプロセッサはコンピュータ可読媒体に格納されたコンピュータ可読プログラム・コードを読み取り、その結果、プロセッサは、流れ図における各ステップまたはステップの組合せで指定された機能と動作を実施でき、ブロック図における各ブロックまたはブロックの組合せで指定された機能と動作を実装するための装置が生成される。
【0123】
全てのコンピュータ可読プログラム・コードをユーザのコンピュータで実行してもよく、または、一部をスタンドアロンのソフトウェア・パッケージとしてユーザのコンピュータで実行してもよく、または、一部をユーザのコンピュータで実行し、一部をリモート・コンピュータで実行してもよく、または、全てのコードをリモート・コンピュータまたはコンピュータで実行してもよい。幾つかの代替的な実装の解決策では、流れ図における各ステップまたはブロック図において各ブロックで指定した機能を図示した順序で行わなくてもよいことにも留意すべきである。例えば、図における2つの連続的なステップまたは2つのブロックは、含まれる機能に依存し、実際には実質的に同時に実行されてもよく、または、これらのブロックは場合によっては逆順に実行されてもよい。
【0124】
本明細書で開示した実施形態で説明した例と組み合わせて、ユニットおよびアルゴリズムのステップを電子ハードウェアまたはコンピュータ・ソフトウェアと電子ハードウェアの組合せにより実装してもよいことを当業者は認識しうる。機能がハードウェアまたはソフトウェアにより実施されるか否かは技術的解決策の特定の応用と設計制約条件に依存する。当業者は、様々な方法を用いて、特定の応用ごとに説明した機能を実装してもよいが、当該実装が本発明の範囲を超えると考えるべきではない。
【0125】
以上の説明は、本発明の具体的な実装方式にすぎず、本発明の保護範囲を限定しようとするものではない。本発明で開示した技術的範囲内で当業者が容易に想到する任意の変形または置換えは本発明の保護範囲内に入るものとする。したがって、本発明の保護範囲は特許請求の範囲の保護範囲により支配されるものとする。