(57)【要約】【課題】複数のＰＣＩｅルートを有する計算機システムにおいて、障害が発生したＰＣＩｅルートのみを閉塞し、システムリセットを回避する。【解決手段】ＰＣＩｅルート上の障害を検出してＣＰＵにＳＭＩ（システム・メンテナンス・インタラプト）を発行するルートポートと、このＳＭＩを受け付け、ＢＩＯＳを実行することによって、ルートポートを介して障害の発生したＰＣＩｅルートにＰＣＩｅリセットを発行するＣＰＵとを有する計算機を特徴とする。【選択図】図１
2010231340.tif 000002
【特許請求の範囲】
【請求項１】
ＢＩＯＳを記憶するメモリと、前記ＢＩＯＳを実行するＣＰＵと、プライマリバスを介して前記ＣＰＵに接続され、セカンダリバスを介してＰＣＩエクスプレス・ルートに接続され、ＰＣＩエクスプレス・ブリッジとして機能するルートポートとを有する計算機において、
前記ＰＣＩエクスプレス・ルート上の障害を検出して前記ＣＰＵにＳＭＩ（システム・メンテナンス・インタラプト）を発行する前記ルートポートと、
前記ＳＭＩを受け付け、前記ＢＩＯＳを実行することによって、前記ルートポートを介して障害の発生した前記ＰＣＩエクスプレス・ルートにＰＣＩエクスプレス・リセットを発行する前記ＣＰＵとを有することを特徴とする計算機。
【請求項２】
前記メモリはＰＣＩエクスプレス・デバイスを制御するためのデバイス・ドライバを記憶し、前記ＣＰＵは、前記デバイス・ドライバを実行することによって、前記ＰＣＩエクスプレス・リセットを受けた前記ＰＣＩエクスプレス・ルート上のＰＣＩエクスプレス・デバイスを検出し、検出されたデバイスを閉塞することを特徴とする請求項１記載の計算機。
【請求項３】
前記ＰＣＩエクスプレス・ルート上の障害は、ＰＣＩエクスプレス・トリーに亘る致命的障害であることを特徴とする請求項１記載の計算機。
【請求項４】
前記ＰＣＩエクスプレス・ルート上の障害は、単一のＰＣＩエクスプレス・デバイスに係わる致命的でない障害であることを特徴とする請求項１記載の計算機。
【請求項５】
前記ＰＣＩエクスプレス・ルート上の障害は、致命的でない回復不可能な障害であることを特徴とする請求項１記載の計算機。
【請求項６】
ＢＩＯＳを記憶するメモリと、前記ＢＩＯＳを実行するＣＰＵと、プライマリバスを介して前記ＣＰＵに接続され、セカンダリバスを介してＰＣＩエクスプレス・ルートに接続され、ＰＣＩエクスプレス・ブリッジとして機能するルートポートとを有するブレード計算機を複数台備え、前記ＰＣＩエクスプレス・ルートを構成するＰＣＩエクスプレス・スイッチ及びＰＣＩエクスプレス・デバイスを具備する計算機システムにおいて、
前記ブレード計算機の各々は、
前記ＰＣＩエクスプレス・ルート上の障害を検出して前記ＣＰＵにＳＭＩ（システム・メンテナンス・インタラプト）を発行する前記ルートポートと、
前記ＳＭＩを受け付け、前記ＢＩＯＳを実行することによって、前記ルートポートを介して障害の発生した前記ＰＣＩエクスプレス・ルートにＰＣＩエクスプレス・リセットを発行する前記ＣＰＵとを有することを特徴とする計算機システム。
【請求項７】
前記メモリはＰＣＩエクスプレス・デバイスを制御するためのデバイス・ドライバを記憶し、前記ＣＰＵは、前記デバイス・ドライバを実行することによって、前記ＰＣＩエクスプレス・リセットを受けた前記ＰＣＩエクスプレス・ルート上のＰＣＩエクスプレス・デバイスを検出し、検出されたデバイスを閉塞することを特徴とする請求項６記載の計算機システム。
【請求項８】
前記ＰＣＩエクスプレス・ルート上の障害は、前記ＰＣＩエクスプレス・スイッチを含むＰＣＩエクスプレス・トリーに亘る致命的障害であることを特徴とする請求項６記載の計算機システム。
【請求項９】
前記ＰＣＩエクスプレス・ルート上の障害は、単一のＰＣＩエクスプレス・デバイスに係わる致命的でない障害であることを特徴とする請求項６記載の計算機システム。
【請求項１０】
前記ＰＣＩエクスプレス・ルート上の障害は、致命的でない回復不可能な障害であることを特徴とする請求項６記載の計算機システム。
【請求項１１】
ＢＩＯＳとＰＣＩエクスプレス・デバイスを制御するためのデバイス・ドライバとを記憶するメモリと、前記ＢＩＯＳと前記デバイス・ドライバとを実行するＣＰＵと、プライマリバスを介して前記ＣＰＵに接続され、セカンダリバスを介してＰＣＩエクスプレス・ルートに接続され、ＰＣＩエクスプレス・ブリッジとして機能するルートポートとを有する計算機の障害処理方法において、
前記ルートポートは、前記ＰＣＩエクスプレス・ルート上の障害を検出して前記ＣＰＵにＳＭＩ（システム・メンテナンス・インタラプト）を発行し、
前記ＣＰＵは、前記ＳＭＩを受け付け、前記ＢＩＯＳを実行することによって、前記ルートポートを介して障害の発生した前記ＰＣＩエクスプレス・ルートにＰＣＩエクスプレス・リセットを発行し、
前記ＣＰＵは、前記デバイス・ドライバを実行することによって、前記ＰＣＩエクスプレス・リセットを受けた前記ＰＣＩエクスプレス・ルート上のＰＣＩエクスプレス・デバイスを検出し、検出されたデバイスを閉塞することを特徴とする計算機の障害処理方法。
【請求項１２】
前記ＰＣＩエクスプレス・ルート上の障害は、致命的でない回復不可能な障害であることを特徴とする請求項１１記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子計算機に係わり、特に、ＰＣＩエクスプレス・ルート上の障害を検出して処理する計算機に関する。
【背景技術】
【０００２】
ＰＣＩエクスプレス・ルートを有する典型的な計算機システムは、プライマリバスを介してＣＰＵに接続され、セカンダリバスを介してＰＣＩエクスプレス・ルートに接続され、ＰＣＩエクスプレス・ブリッジとして機能するルートポートを備える（以下、ＰＣＩ  ＥｘｐｒｅｓｓをＰＣＩｅと略記する）。ＰＣＩｅルートは、ルートポートに接続されるＰＣＩｅスイッチおよびＰＣＩｅデバイスを含むＰＣＩｅトリーを構成する。
【０００３】
ＰＣＩｅデバイスで発生した障害は、ＰＣＩｅスイッチのダウンストリーム・ポートとアップストリーム・ポートを介してルートポートに報告され、ルートポートはプライマリバスを介してＣＰＵに割込みをかけることによってこの障害を報告する。ＰＣＩｅスイッチなど他のＰＣＩｅルートで発生した障害は、障害を検出したＰＣＩｅスイッチ又はこれに接続される上位のＰＣＩｅスイッチを介してルートポートに報告される。
【０００４】
なおこの種の技術として関連するものには、例えば、特許文献１、特許文献２などがある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３４８３３５号公報
【特許文献２】特開２００５−１９６３５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来、上記のようなＰＣＩｅルート上の障害が発生し、この障害報告による割込みを受け付けたＣＰＵは、システムリセットし、オペレーティングシステムをリブートするしかなかった。特に、ＰＣＩｅスイッチの複数のアップストリーム・ポートの各々に計算機が接続される計算機システムでは、これら複数の計算機によって共有されるＰＣＩｅデバイスがダウンすると、この計算機システム全体がダウンするという問題があった。ＰＣＩｅデバイスの数が増えるとともに、システムダウンのリスクが高まるということになる。
【０００７】
本発明の目的は、障害が発生したＰＣＩｅルートのみを閉塞し、システムリセットを回避することにある。
【課題を解決するための手段】
【０００８】
本発明は、ＰＣＩｅルート上の障害を検出してＣＰＵにＳＭＩ（システム・メンテナンス・インタラプト）を発行するルートポートと、このＳＭＩを受け付け、ＢＩＯＳを実行することによって、ルートポートを介して障害の発生したＰＣＩｅルートにＰＣＩｅリセットを発行するＣＰＵとを有する計算機を特徴とする。
【発明の効果】
【０００９】
本発明によれば、障害が発生したＰＣＩｅルートのみを閉塞するので、システムリセットを回避できる。
【図面の簡単な説明】
【００１０】
【図１】実施形態の計算機システムの構成図である。
【図２】ＰＣＩｅルートで致命的な障害を検出したときの各機構の動作手順を示す図である。
【図３】ＰＣＩｅルートで致命的でない障害を検出したときの各機構の動作手順を示す図である。
【図４】ＢＩＯＳのＳＭＩハンドラーの処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を用いて説明する。
【００１２】
図１は、本実施形態の計算機システムの構成図である。計算機システムは、少なくとも１台のブレード１、マルチルート・ＩＯバーチャリゼーション・ＰＣＩｅスイッチ（ＭＲ−ＩＯＶ  ＰＣｅＳＷ）２、およびＰＣＩｅデバイス３から構成される。ブレード１が１つの計算機に相当する。
【００１３】
ブレード１は、ＣＰＵ１１、メモリ１２、ＩＯハブ１３、サウスブリッジ１５、不揮発メモリ１６および監視機構１８を有する。
【００１４】
ＩＯハブ１３は、ＣＰＵ１１−１，１１−２に接続され、ＰＣＩｅブリッジとして機能するＲＰ（Root Port）１４を介してＭＲ−ＩＯＶ  ＰＣｅＳＷ２またはＰＣＩｅデバイス３に接続される。ＲＰ１４は、プライマリバスを介してＣＰＵ１１に接続される構成となる。またＲＰ１４の下位ルートは、セカンダリバスを介するＰＣＩｅルートである。ＩＯハブ１３の０番目のＲＰ１４とＤＭＩ（Direct Media Interface）を介してサウスブリッジ１５が接続され、サウスブリッジ１５には不揮発メモリ１６が接続される。不揮発メモリ１６は、ＢＩＯＳ（Basic Input Output System）１７を記憶する。監視機構１８は、ＩＯハブ１３に接続され、ＣＰＵ１１の障害及びＩ／Ｏの障害を監視する。
【００１５】
メモリ１２−１，１２−２にはオペレーティングシステム（ＯＳ）がロードされ、ＣＰＵ１１−１，１１−２によって実行される。またメモリ１２−１にはＢＩＯＳ１７がコピーされ、ＣＰＵ１１−１，１１−２によって実行される。
【００１６】
ＭＲ−ＩＯＶ  ＰＣｅＳＷ２は、そのアップストリーム・ポートを介してブレード１のＲＰ１４に接続され、ダウンストリーム・ポートを介して他のＭＲ−ＩＯＶ  ＰＣｅＳＷ２またはＰＣＩｅデバイス３が接続される。各アップストリーム・ポートには、各々異なるブレード１を接続することが可能である。
【００１７】
図２は、ＭＲ−ＩＯＶ  ＰＣｅＳＷ２が当該ＰＣＩｅルートで致命的な障害を検出したときの各機構の動作手順を示す図である。ＭＲ−ＩＯＶ  ＰＣｅＳＷ２が障害を検出すると、そのＭＲ−ＩＯＶ  ＰＣｅＳＷ２に接続しているＲＰ１４に通知される。このＲＰ１４は、ＥＲＲ＿Ｎ（２）ピンを介してサウスブリッジ１５と監視機構１８に致命的障害を示す信号を送る。この信号を受けた監視機構１８はタイマをスタートさせる。サウスブリッジ１５がＳＭＩ＃ピンを介してＲＰ１４にＳＭＩ（System Maintenance Interrupt）を促すための信号を送ると、そのＲＰ１４がＳＭＩによってこのＰＣＩｅルートに生じた障害をＣＰＵ１１に通知する。ＣＰＵ１１は、この割込みを受け付け、メモリ１２上のＢＩＯＳに制御が渡る。ＢＩＯＳは、ＣＰＵ１１内部の演算器などのログを採取し、ＣＰＵ１１外部のログを採取し、採取したログを解析して障害の種類を切り分け、ログ記録場所にログを格納する。ＢＩＯＳは、ログを不揮発メモリ１６に格納するか、または監視機構１８に送る。ＰＣＩｅルートの障害であれば、ＢＩＯＳは、障害を検出したＭＲ−ＩＯＶ  ＰＣｅＳＷ２が接続されるＲＰ１４にＰＣＩｅリセット信号を送り、障害を検出したＲＰ１４より下位のＰＣＩｅトリーをリセットする。次にＢＩＯＳは、監視機構１８へタイマ・ストップの信号を送る。
【００１８】
リセット後、ＯＳのデバイス・ドライバは、ＤＭＡ終了割込みもしくはＤＭＡタイムアウトを検出した時、またＩＯアクセスを開始する時のＰＣＩｅデバイス３に対するＩＯアクセスをした時に、リセットされたＰＣＩｅデバイス３へのアクセスがＭａｓｔｅｒ Ａｂｏｒｔ応答となることより、制御するＰＣＩｅデバイス３が使用不能であることを判断し、閉塞する。障害デバイスに関する冗長構成がとられていれば、システムは、継続動作することができる。
【００１９】
図３は、ＭＲ−ＩＯＶ  ＰＣｅＳＷ２又はＰＣＩｅデバイス３が当該ＰＣＩｅルートで致命的でない回復不可能な障害を検出したときの各機構の動作手順を示す図である。動作手順は、ＭＲ−ＩＯＶ  ＰＣｅＳＷ２が関係する場合、ＭＲ−ＩＯＶ  ＰＣｅＳＷ２がＥＲＲ＿ＮＯＮＦＡＴＡＬピンを介してＲＰ１４に障害を通知することと、ＲＰ１４がＥＲＲ＿Ｎ（１）ピンを介してサウスブリッジ１５と監視機構１８に致命的でない回復不可能な障害を示す信号を送る点が致命的障害の場合の手順と異なる。またＢＩＯＳは、障害を検出したＭＲ−ＩＯＶ  ＰＣｅＳＷ２を介して障害デバイスにセコンダリバス・リセット信号を送る。ＩＯハブ１３のＲＰ１４に直接ＰＣＩｅデバイス３が接続されている構成では、直接この障害ＰＣＩｅデバイス３にＰＣＩｅリセット信号を送る。デバイス・ドライバによる障害デバイスの検出とデバイスの閉塞は、致命的障害の場合と同様である。
【００２０】
図４は、ＢＩＯＳのＳＭＩハンドラーの処理手順を示すフローチャートである。ＢＩＯＳのＳＭＩハンドラーは、ＳＭＩによって起動され、障害が発生したか否かを判定する（ステップ５１）。ＣＰＵ内部、もしくはＩＯハブ内の障害報告レジスタをリードすることにより、ＢＩＯＳは、ＰＣＩｅルートの障害か否か判定する（ステップ５２）。ＰＣＩｅルートの障害であれば、ＢＩＯＳは、障害ＰＣＩｅルートに関する概括的なログを採取する（ステップ５３）。ＩＯハブ１３のすべてのＲＰ１４について検査が終了していなければ（ステップ５４ＮＯ）、ＢＩＯＳは、検査中の当該ＲＰで検出した障害か否かを判定する（ステップ５５）。当該ＲＰで検出した障害でなければ、ＢＩＯＳの処理はステップ６３に移る。当該ＲＰで検出した障害であれば、ＢＩＯＳは、ＤＭＩ系の障害か否か判定する（ステップ５６）。ＤＭＩ系障害であれば、ＢＩＯＳはリブートの手続きに移る（ステップ５７）。
【００２１】
ＤＭＩ系障害でなければ、ＢＩＯＳは、割込みが致命的障害によるものか否か判定する（ステップ５８）。致命的な障害であれば、ＢＩＯＳは、ＳＥＬ（System Event Log）と詳細ログを採取し（ステップ５９）、当該ＲＰ１４より下位のＰＣＩｅトリーに対してリセット信号を発行し（ステップ６０）、ステップ６３へ行く。致命的でない障害であれば、ＢＩＯＳは、ＳＥＬと詳細ログを採取し（ステップ６１）、障害デバイスに対してリセット信号を発行する（ステップ６２）。ステップ５５，６０又は６２の処理後に、ＢＩＯＳは、ＲＰ番号を１だけ増加させ（ステップ６３）、ステップ５４に戻る。ＩＯハブ１３のすべてのＲＰ１４について検査が終了していれば（ステップ５４ＹＥＳ）、ＢＩＯＳは、ＳＭＩハンドラーの処理を終了する。
【００２２】
上記動作手順および処理手順は、複数台のブレード１を備える計算機システムでも同様である。ＰＣＩｅルートの障害は、そのＰＣＩｅルートに接続しているすべてのブレード１のＲＰ１４に通知され、各ＲＰ１４は、プライマリバスを介して接続しているＣＰＵ１１にＳＭＩを発行する。各ＣＰＵ１１は、このＳＭＩを受け付け、上記処理手順に従ってＢＩＯＳを実行することによって障害の発生したＰＣＩｅルートをリセットする。各ＣＰＵ１１は、メモリ１２上のデバイス・ドライバを実行することによって、障害の発生したＰＣＩｅルート上のＰＣＩｅデバイスを閉塞する。従って、複数のブレード１によって共有する障害ＰＣＩｅルートが閉塞されるが、他のＰＣＩｅルートは継続動作することができる。
【００２３】
本願発明は、ＳＭＩによってＢＩＯＳが呼び出され、ＢＩＯＳがＰＣＩｅルートの障害を検出し、検出したＰＣＩｅトリー又はＰＣＩｅデバイスをリセットし、デバイス・ドライバが間接的に障害デバイスを検出してこれを閉塞する方式である。これに対して、ＭＳＩ（Message Signal Interrupt）によってデバイス・ドライバを呼び出し、ドライバが直接ＰＣＩｅルートの障害を検出し、障害回復を行う方式が知られている。しかし、ＳＭＩはＭＳＩより割込み受付のプライオリティが高いという利点がある。またＭＳＩはメモリ・ライト・メッセージとなるので、特定のＣＰＵ１１しかＭＳＩがかからない上にＢＩＯＳの処理に比べてデバイス・ドライバの処理が遅いという問題がある。本発明の方式は、デバイス・ドライバがＰＣＩｅルートの障害を検出する方式に比べて、ＯＳやデバイス・ドライバの改造が不要である点に加えて、障害検出の速度が速いという利点がある。
【符号の説明】
【００２４】
１：ブレード、２：ＭＲ−ＩＯＶ  ＰＣｅＳＷ、３：ＰＣＩｅデバイス、１１：ＣＰＵ、１２：メモリ、１３：ＩＯハブ、１４：ルートポート（ＲＰ）、１７：ＢＩＯＳ、１８：監視機構。
【図１】
2010231340.tif 000003
【図２】
2010231340.tif 000004
【図３】
2010231340.tif 000005
【図４】
2010231340.tif 000006