(57)【要約】【課題】プロセッサに障害が発生した場合であっても、ハードウェア資源を有効に活用することができる障害対応システムおよび障害対応方法を提供する。【解決手段】障害検出部１０２は、ＣＰＵ１−１〜１−ｎのいずれかに発生した障害を検出する。構成制御装置１０３は、障害検出部１０２がＣＰＵ１−１〜１−ｎのいずれかに障害が発生したことを検出した場合に、障害が発生したプロセッサ（ＣＰＵ１−１〜１−ｎ）に割り当てられているハードウェア資源を他のプロセッサに割り当てる。【選択図】図１
2010211739.tif 000002
【特許請求の範囲】
【請求項１】
複数のプロセッサと前記プロセッサに割り当てられたハードウェア資源とを備えたコンピュータシステムに発生した障害に対応する障害対応システムにおいて、
前記プロセッサに障害が発生したことを検出する障害検出手段と、
前記障害検出手段が前記複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、前記障害が発生したプロセッサに割り当てられているハードウェア資源を他のプロセッサに割り当てる構成制御手段とを備えた
ことを特徴とする障害対応システム。
【請求項２】
構成制御手段は、障害検出手段が複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、前記障害が発生したプロセッサに割り当てられているハードウェア資源を予め決められた他のプロセッサに割り当てる
請求項１に記載の障害対応システム。
【請求項３】
ハードウェア資源はＰＣＩバスを含み、
構成制御手段は、障害検出手段が複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、前記障害が発生したプロセッサに割り当てられているＰＣＩバスを他のプロセッサに割り当てる
請求項１または請求項２に記載の障害対応システム。
【請求項４】
ハードウェア資源はメモリを含み、
構成制御手段は、障害検出手段が複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、前記障害が発生したプロセッサに割り当てられているメモリの領域を他のプロセッサに割り当てる
請求項１から請求項３のうちいずれか１項に記載の障害対応システム。
【請求項５】
構成制御手段は、障害が発生したプロセッサに割り当てられているメモリの領域を示す識別子を他のプロセッサに割り当てることによって、前記障害が発生したプロセッサに割り当てられているメモリの領域を他のプロセッサに割り当てる
請求項４に記載の障害対応システム。
【請求項６】
複数のプロセッサと前記プロセッサに割り当てられたハードウェア資源とを備えたコンピュータシステムに発生した障害に対応する障害対応方法において、
前記プロセッサに障害が発生したことを検出する障害検出ステップと、
前記障害検出ステップで前記複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、前記障害が発生したプロセッサに割り当てられているハードウェア資源を他のプロセッサに割り当てる構成制御ステップとを備えた
ことを特徴とする障害対応方法。
【請求項７】
構成制御ステップで、障害検出ステップにおいて複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、前記障害が発生したプロセッサに割り当てられているハードウェア資源を予め決められた他のプロセッサに割り当てる
請求項６に記載の障害対応方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサに障害が発生した場合であっても、ハードウェア資源を有効に活用することができる障害対応システムおよび障害対応方法に関する。
【背景技術】
【０００２】
プロセッサ（例えば、ＣＰＵ：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）およびメモリ等を実装したボードと、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスとをそれぞれ複数個備えたサーバがある。
【０００３】
そのようなサーバでは、あるプロセッサに障害が発生した場合、その障害の影響がサーバ全体で及んでしまうことがあった。
【０００４】
特許文献１には、各プロセッサに対応する記憶領域に、他のプロセッサに障害が発生した場合に使用するための領域を予め用意する方法が記載されている。
【０００５】
また、特許文献２には、通常使用される現用系プロセッサシステムに障害が発生した場合に備えて、予備系プロセッサシステムが用意された二重化制御システムが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平２−１２３４５５号公報（第５頁〜第７頁、図３）
【特許文献２】特開平９−３０５５５９号公報（段落００１６〜００４２、図１）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
複数のボード等を備えたサーバでは、プロセッサ、メモリ空間およびＰＣＩバスをそれぞれ１対１に割り当てれば、プロセッサ障害の影響を特定のメモリ空間内および特定のＰＣＩバスにとどめ、サーバ全体に影響が及ぶことを防ぐことができる。
【０００８】
しかし、この方法では、１つのプロセッサで障害が発生した場合に、そのプロセッサが復旧するまで特定のメモリ空間およびＰＣＩバスが使用できない状態でのシステム運用を強いられ、ハードウェア資源を有効に活用することができない。
【０００９】
また、特許文献１に記載されている方法や、特許文献２に記載されているシステムでは、障害が発生した場合に備えて、現用系システムと同等なシステムを用意しなければならず、コストがかかるという問題がある。
【００１０】
そこで、本発明は、プロセッサに障害が発生した場合であっても、ハードウェア資源を有効に活用することができる障害対応システムおよび障害対応方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明による障害対応システムは、複数のプロセッサとプロセッサに割り当てられたハードウェア資源とを備えたコンピュータシステムに発生した障害に対応する障害対応システムであって、プロセッサに障害が発生したことを検出する障害検出手段と、障害検出手段が複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、障害が発生したプロセッサに割り当てられているハードウェア資源を他のプロセッサに割り当てる構成制御手段とを備えたことを特徴とする。
【００１２】
本発明による障害対応方法は、複数のプロセッサとプロセッサに割り当てられたハードウェア資源とを備えたコンピュータシステムに発生した障害に対応する障害対応方法であって、プロセッサに障害が発生したことを検出する障害検出ステップと、障害検出ステップで複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、障害が発生したプロセッサに割り当てられているハードウェア資源を他のプロセッサに割り当てる構成制御ステップとを備えたことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、プロセッサに障害が発生した場合であっても、ハードウェア資源を有効に活用することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の障害対応システムの実施形態の構成例を示す説明図である。
【図２】本実施形態の障害対応システムが使用する主記憶領域を示す説明図である。
【図３】各ＣＰＵと各ＰＣＩバスとの対応を示す説明図である。
【図４】本実施形態の障害対応システムの動作を示すシーケンス図である。
【図５】本実施形態の障害対応システムの動作におけるメモリ空間の割り当てを示す説明図である。
【図６】本実施形態の障害対応システムの動作におけるＰＣＩバスの割り当てを示す説明図である。
【図７】本発明の概要を示すブロック図である。
【発明を実施するための形態】
【００１５】
本発明の障害対応システムの実施形態を説明する。図１は、本発明の障害対応システムの実施形態の構成例を示す説明図である。
【００１６】
本実施形態の障害対応システムは、ＣＰＵ（プロセッサ）１−１〜１−ｎ（以下、ｎは２以上の整数である。）、メモリ２−１〜２−ｎ、およびノースブリッジ（Ｎｏｒｔｈ  Ｂｒｉｄｇｅ）３−１〜３−ｎがそれぞれ搭載されたボード４−１〜４−ｎに障害が発生したか否かを検出する障害検出部（障害検出手段）１０２と、障害検出部１０２に接続された構成制御装置（構成制御手段）１０３とを含む。
【００１７】
障害検出部１０２は、例えば、ＣＰＵ１−１〜１−ｎの電圧監視回路や、プログラム制御に従って処理を実行するＣＰＵによって実現される。また、構成制御装置１０３は、例えば、プログラム制御に従って処理を実行するコンピュータによって実現される。
【００１８】
ボード４−１〜４−ｎにそれぞれ搭載されたＣＰＵ１−１〜１−ｎおよびメモリ２−１〜２−ｎは、それぞれノースブリッジ３−１〜３−ｎに接続されている。そして、ノースブリッジ３−１〜３−ｎは、サウスブリッジ（Ｓｏｕｔｈ  Ｂｒｉｄｇｅ）５に接続されている。また、障害検出部１０２は、サウスブリッジ５に接続されている。
【００１９】
なお、ノースブリッジ３−１〜３−ｎは、ＨＯＳＴ−ＰＣＩブリッジや、メモリコントローラなどをそれぞれ含むシステムコントローラである。また、サウスブリッジ５は、ＰＣＩバス（拡張デバイス）６−１〜６−ｎを含む。また、ＰＣＩバス６−１〜６−ｎには、それぞれ複数個のＰＣＩスロット（Ｉ／Ｏモジュール）７−１〜７−ｎが接続されている。
【００２０】
なお、図１に示すように、コンピュータシステム１０４は、プロセッサとしてのＣＰＵ１−１〜１−ｎと、各プロセッサに対応するハードウェア資源としてのメモリ２−１〜２−ｎおよびＰＣＩバス６−１〜６−ｎを備えている。
【００２１】
図２は、本実施形態の障害対応システムが使用する主記憶領域１０５を示す説明図である。主記憶領域１０５は、ボード４−１〜４−ｎにそれぞれ搭載されたメモリ２−１〜２−ｎの記憶領域によって構成される。図２に示すように、ＣＰＵ１−１は、ＯＳ（オペレーティングシステム）８−１にもとづいて動作するＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）９−１と、ＴＬＢ（Ｔｒａｎｓｌａｔｉｏｎ  Ｌｏｏｋ−ａｓｉｄｅ  Ｂｕｆｆｅｒ）１０−１と、ページテーブルレジスタ１１−１とを含む。なお、ＣＰＵ１−２〜１−ｎは、ＯＳ８−２〜８−ｎにもとづいて動作するＭＰＵ９−２〜９−ｎと、ＴＬＢ１０−２〜１０−ｎと、ページテーブルレジスタ１１−２〜１１−ｎとを含み、各部の構成はＣＰＵ１−１における各部の構成と同様であるので、以下、ＣＰＵ１−１、ＯＳ８−１、ＭＰＵ９−１、ＴＬＢ１０−１、ページテーブルレジスタ１１−１を例に説明する。
【００２２】
ＴＬＢ１０−１は、ＣＰＵ１−１内に設けられた記憶手段において、対応する物理アドレスを示す情報（本実施形態では、ＣＰＵ１−１に割り当てられたメモリ空間を示す識別子（メモリ空間識別子））を記憶する部分である。また、ページテーブルレジスタ１１−１は、主記憶領域１０５におけるページテーブル１２−１が記憶されている位置を含む情報を記憶するレジスタである。
【００２３】
ページテーブル１２−１には、仮想アドレスとＣＰＵ１−１に対応する物理アドレスとを対応づける情報（本実施形態では、メモリ空間識別子）が格納される。同様に、ページテーブル１２−２〜１２−ｎには、仮想アドレスとＣＰＵ１−２〜１−ｎに対応する物理アドレスとを対応づける情報（つまり、各ＣＰＵに対応するメモリ空間を示すメモリ空間識別子）が格納される。
【００２４】
なお、主記憶領域１０５には、各ＣＰＵ１−１〜１−ｎに対してメモリ空間１３−１〜１３−ｎが用意され、それらメモリ空間１３−１〜１３−ｎに、ページテーブル１２−２〜１２−ｎが記憶されている。
【００２５】
図３は、各ＣＰＵと各ＰＣＩバスとの対応を示す説明図である。図３に示すように、ＣＰＵ１−１〜１−ｎは、ＰＣＩバス６−１〜６−ｎとそれぞれ１対１に対応している。
【００２６】
次に、本実施形態の障害対応システムの動作を説明する。図４は、本実施形態の障害対応システムの動作を示すシーケンス図である。また、図５は、本実施形態の障害対応システムの動作におけるメモリ空間の割り当てを示す説明図である。また、図６は、本実施形態の障害対応システムの動作におけるＰＣＩバスの割り当てを示す説明図である。
【００２７】
ここで、複数の入出力デバイスであるＰＣＩバス６−１〜６−ｎは、予め複数のＣＰＵ１−１〜１−ｎに対してそれぞれ１対１に割り当てられている（図３参照）とする（ステップＳ１０１）。
【００２８】
また、ＴＬＢ１０−１〜１０−ｎには、予めＣＰＵ１−１〜１−ｎに対応するメモリ空間識別子が格納されているとする。
【００２９】
まず、構成制御装置１０３は、メモリ空間１３−１〜１３−ｎのページテーブル１２−２〜１２−ｎに、メモリ空間識別子を格納する（ステップＳ１０２）。具体的には、構成制御装置１０３は、メモリ空間１３−１〜１３−ｎにおける各ページテーブル１２−１〜１２−ｎに、対応する各ＣＰＵ１−１〜１−ｎに割り当てられたメモリ空間の領域を示すメモリ空間識別子をそれぞれ格納する。
【００３０】
各ＣＰＵ１−１〜１−ｎは、ステップＳ１０２の処理で格納されたメモリ空間のページテーブル１２−１〜１２−ｎのメモリ空間識別子をそれぞれ参照して、ＴＬＢ１０−１〜１０−ｎに記憶されているメモリ空間識別子と合致するか否かを照合する（ステップＳ１０３）。具体的には、各ＣＰＵ１−１〜１−ｎは、ＴＬＢ１０−１〜１０−ｎに記憶されているメモリ空間識別子と合致するメモリ空間識別子が格納されたメモリ空間のページテーブルを探す。
【００３１】
各ＣＰＵ１−１〜１−ｎは、ステップＳ１０３の処理で合致すると判定した場合に、各メモリ空間のページテーブル１２−１〜１２−ｎをそれぞれ参照して、物理アドレスを選択する（ステップＳ１０４）。
【００３２】
そして、障害検出部１０２は、障害が発生したことを検出した場合に（ステップＳ１０５）、障害発生箇所がＣＰＵのみ（具体的には、障害発生箇所がＣＰＵ１−１〜１−ｎのいずれか）であることを確認した後、ＣＰＵに障害が発生したことと、障害が発生したＣＰＵとを示す障害情報を構成制御装置１０３に送信する（ステップＳ１０６）。本実施形態では、以下、ＣＰＵ１−２に障害が発生したとして説明する。
【００３３】
障害情報を受信した構成制御装置１０３は、障害が発生したＣＰＵ１−２、ＣＰＵ１−２に対応するメモリ空間１３−２の領域およびＰＣＩバス６−２の切り離しを行い、障害が発生したＣＰＵ１−２に割り当てられていたメモリ空間１３−２の領域を示すメモリ空間識別子およびＰＣＩバス６−２を他のＣＰＵに割り当てる（ステップＳ１０７）。具体的には、構成制御装置１０３は、障害が発生したＣＰＵ１−２に割り当てられていたＰＣＩバス６−２を他のＣＰＵ（本実施形態では、ＣＰＵ１−３に割り当てるとして説明する。）１−３に割り当てるために、ＣＰＵ１−３が障害が発生したＣＰＵ１−２に割り当てられていたメモリ空間１３−２の領域にも対応するように、ページテーブル１２−２の内容をページテーブル１２−３に書き加える。なお、メモリ空間１３−３におけるページテーブル１２−３を書き換えてもよいし、障害が発生したＣＰＵ１−２に割り当てられていたメモリ空間１３−２の領域を示すメモリ空間識別子をページテーブル１２−３に書き加えてもよい。ここで、メモリ空間やＰＣＩバスをＣＰＵに割り当てることを対応させるともいう。
【００３４】
なお、各ＣＰＵ１−１〜１−ｎに障害が発生した場合に、障害が発生したＣＰＵに対応するハードウェア資源をどの他のＣＰＵに割り当てるかを示す情報は、予め構成制御装置１０３の記憶手段に格納されている。そして、構成制御装置１０３は、ＣＰＵ１−１〜１−ｎのいずれかに障害が発生した場合に、記憶手段に格納されている情報にもとづいて、他のＣＰＵにハードウェア資源を割り当てる。
【００３５】
図５に示すように、ＣＰＵ１−２に割り当てられていたメモリ空間１３−２は、ページテーブル１２−２の内容がページテーブル１２−３に書き加えられたことにより、ＣＰＵ１−３に割り当てられている。
【００３６】
また、構成制御装置１０３は、ＣＰＵ１−３のＴＬＢ１０−３に、障害が発生したＣＰＵ１−２に割り当てられていたメモリ空間１３−２の領域にも対応するように、新たなメモリ空間識別子を書き加える（格納させる）。
【００３７】
また、構成制御装置１０３は、障害が発生したＣＰＵ１−２に対応していたことにより、ステップＳ１０７の処理で切り離されたメモリ空間１３−２およびＰＣＩバス６−２を活性状態（動作状態）にして、他のＣＰＵ１−３に、対応するメモリ空間１３−３およびＰＣＩバス６−２を割り付ける（動作を開始させる）処理を行う（ステップＳ１０８）。
【００３８】
図６に示すように、ＣＰＵ１−２に割り当てられていたＰＣＩバス６−２は、ＣＰＵ１−３に割り当てられている。
【００３９】
新たにメモリ空間１３−３およびＰＣＩバス６−３が割り付けられた他のＣＰＵ１−３は、ＴＬＢ１０−３に格納されているメモリ空間識別子と、メモリ空間１３−３におけるページテーブル１２−３に格納されているメモリ空間識別子とが合致するか否か照合し（ステップＳ１０９）、合致した場合に、当該ページテーブル１２−３を参照して物理アドレスを選択する（ステップＳ１１０）。
【００４０】
以上に述べたように、本実施形態によれば、複数のＣＰＵ１−１〜１−ｎのうち一のＣＰＵ１−２に障害が発生した場合であっても、構成制御装置１０３が、障害が発生したＣＰＵ１−２に対応するメモリ空間１３−２およびＰＣＩバス６−２をＣＰＵ１−３に割り当てるので、プロセッサに障害が発生した場合であっても、メモリ空間やＰＣＩバスを有効に活用することができる。
【００４１】
次に、本発明の概要について説明する。図７は、本発明の概要を示すブロック図である。本発明の障害対応システムは、障害検出手段１００と構成制御手段１０１とを備える。
【００４２】
障害検出手段１００は、複数のプロセッサを搭載したコンピュータシステムにおける一のプロセッサに障害が発生したことを検出する。
【００４３】
構成制御手段１０１は、障害検出手段１００が複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、障害が発生したプロセッサに割り当てられているハードウェア資源を他のプロセッサに割り当てる。
【００４４】
そのような構成によれば、プロセッサに障害が発生した場合であっても、ハードウェア資源を有効に活用することができる。
【００４５】
また、上記の実施形態には、構成制御手段１０１は、障害検出手段１００が複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、障害が発生したプロセッサに割り当てられているハードウェア資源を予め決められた他のプロセッサに割り当てることが開示されている。そのような構成によれば、障害発生時の対応を予め決定しておくことができる。
【００４６】
また、上記の実施形態には、ハードウェア資源はＰＣＩバスを含み、構成制御手段１０１は、障害検出手段１００が複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、障害が発生したプロセッサに割り当てられているＰＣＩバスを他のプロセッサに割り当てることが開示されている。そのような構成によれば、プロセッサに障害が発生した場合であっても、ハードウェア資源としてのＰＣＩバスを有効に活用することができる。
【００４７】
また、上記の実施形態には、ハードウェア資源はメモリを含み、構成制御手段１０１は、障害検出手段１００が複数のプロセッサのうち一のプロセッサに障害が発生したことを検出した場合に、障害が発生したプロセッサに割り当てられているメモリの領域を他のプロセッサに割り当てることが開示されている。そのような構成によれば、プロセッサに障害が発生した場合であっても、ハードウェア資源としてのメモリを有効に活用することができる。
【００４８】
また、上記の実施形態には、構成制御手段１０１は、障害が発生したプロセッサに割り当てられているメモリの領域を示す識別子を他のプロセッサに割り当てることによって、障害が発生したプロセッサに割り当てられているメモリの領域を他のプロセッサに割り当てる構成が開示されている。そのような構成によれば、プロセッサに障害が発生した場合であっても、メモリの領域を示す識別子を用いて、容易にハードウェア資源としてのメモリを有効に活用することができる。
【産業上の利用可能性】
【００４９】
本発明は、複数のプロセッサとプロセッサに対応するハードウェア資源とを備えたコンピュータシステムに発生した障害に対応するシステムに適用することができる。
【符号の説明】
【００５０】
１−１〜１−ｎ  ＣＰＵ
２−１〜２−ｎ  メモリ
３−１〜３−ｎ  ノースブリッジ
４−１〜４−ｎ  ボード
５  サウスブリッジ
６−１〜６−ｎ  ＰＣＩバス
７−１〜７−ｎ  ＰＣＩスロット
８−１〜８−ｎ  ＯＳ
９−１〜９−ｎ  ＭＰＵ
１０−１〜１０−ｎ  ＴＬＢ
１１−１〜１１−ｎ  ページテーブルレジスタ
１２−１〜１２−ｎ  ページテーブル
１３−１〜１３−ｎ  メモリ空間
１００  障害検出手段
１０１  構成制御手段
１０２  障害検出部
１０３  構成制御装置
１０４  コンピュータシステム
１０５  主記憶領域
【図１】
2010211739.tif 000003
【図２】
2010211739.tif 000004
【図３】
2010211739.tif 000005
【図４】
2010211739.tif 000006
【図５】
2010211739.tif 000007
【図６】
2010211739.tif 000008
【図７】
2010211739.tif 000009