Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEGENERATUION METHOD AND INFORMATION PROCESSOR
Document Type and Number:
WIPO Patent Application WO/2008/099453
Kind Code:
A1
Abstract:
A reduction method comprises a step of detecting an abnormality of a first system common part (14a), a step of reading out priority information on whether or not the degeneration of the first system common part (14a) is performed from a storage part (23) if the abnormality thereof occurs for each partition part (D), a step of performing a stop processing for an information processor (10) if a system control unit (20) detects the abnormalities of the partition parts (D) where the priority information is set, and a step of stopping the operation of the first system common part (14a) and performing a reduction processing to switch to a second system common part (14b). As a result, if an important partition goes down due to a failure caused in a common part, a quick recovery can be achieved.

Inventors:
KOINUMA HIDEYUKI (JP)
Application Number:
PCT/JP2007/052356
Publication Date:
August 21, 2008
Filing Date:
February 09, 2007
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FUJITSU LTD (JP)
KOINUMA HIDEYUKI (JP)
International Classes:
G06F11/20
Foreign References:
JP2002077970A2002-03-15
JPH1165869A1999-03-09
JPH08263454A1996-10-11
JPH0325534A1991-02-04
Other References:
See also references of EP 2128764A4
None
Attorney, Agent or Firm:
SANADA, Tamotsu (10-31 Kichijoji-honcho 1-chom, Musashino-shi Tokyo, JP)
Download PDF:
Claims:
 それぞれ処理装置が割り当てられた複数のパーティション部と、前記複数のパーティション部により共有された第1のシステム共通部と、前記パーティション部により共有された第2のシステム共通部と、記憶部を有しシステムの制御を行うシステム制御部とを備えた情報処理装置の縮退方法において、
 前記システム制御部により、前記第1のシステム共通部の異常を検出するステップと、
 前記パーティション部毎に、前記第1のシステム共通部の異常が発生した場合に前記第1のシステム共通部の縮退を行うか否かについての優先情報を前記記憶部から読み出すステップと、
 前記システム制御部により、前記優先情報が設定されたパーティション部の異常を検出した場合には、前記情報処理装置の停止処理を行うステップと、
 前記第1のシステム共通部の動作を停止するとともに、前記第2のシステム共通部に切り替える縮退処理を行うステップとを有することを特徴とする縮退方法。
 前記情報処理装置の縮退方法はさらに、
 前記システム制御部により、前記優先情報が設定されたパーティション部以外のパーティション部について異常を検出した場合には、前記異常を検出したパーティション部の縮退処理を行うステップを有することを特徴とする請求項1記載の縮退方法。
 前記情報処理装置の縮退方法はさらに、
 前記縮退処理を行うステップを実行した後に、前記情報処理装置の再起動処理を行うステップを有することを特徴とする請求項1記載の縮退方法。
 前記情報処理装置の縮退方法はさらに、
 前記再起動処理を行うステップにおいて、前記処理装置を任意のパーティション部に割り当てる再構成処理を行うことを特徴とする請求項4記載の縮退方法。
 それぞれ処理装置が割り当てられた複数のパーティション部と、前記複数のパーティション部により共有された第1のシステム共通部と、前記パーティション部により共有された第2のシステム共通部と、記憶部を有しシステムの制御を行うシステム制御部とを備えた情報処理装置の縮退方法において、
 前記システム制御部により、前記第1のシステム共通部の異常を検出するステップと、
 前記システム制御部により、前記パーティション部の異常を検出するステップと、
 前記システム制御部により、異常が検出されたパーティション部の識別情報を用いて、前記第1のシステム共通部の異常が発生した場合に前記システム共通部の縮退を行うか否かについての優先情報を、前記記憶部から検索するステップと、
 前記システム制御部により検索された優先情報が、前記識別情報に対応するパーティション部に設定されている場合には、前記情報処理装置の停止処理を行うステップと、
 前記第1のシステム共通部の動作を停止するとともに、前記第2のシステム共通部に切り替える縮退処理を行うステップとを有することを特徴とする縮退方法。
 前記情報処理装置の縮退方法はさらに、
 前記システム制御部により、前記優先情報が設定されたパーティション部以外のパーティション部について異常を検出した場合には、前記異常を検出したパーティション部の縮退処理を行うステップを有することを特徴とする請求項5記載の縮退方法。
 前記情報処理装置の縮退方法はさらに、
 前記縮退処理を行うステップを実行した後に、前記情報処理装置の再起動処理を行うステップを有することを特徴とする請求項5記載の縮退方法。
 前記情報処理装置の縮退方法はさらに、
 前記再起動処理を行うステップにおいて、前記処理装置を任意のパーティション部に割り当てる再構成処理を行うことを特徴とする請求項7記載の縮退方法。
 処理装置を有する複数のパーティション部と、
 前記複数のパーティション部により共有され、通常動作を行う第1のシステム共通部と、
 前記複数のパーティション部により共有され、縮退のために待機する第2のシステム共通部と、
 前記複数のパーティション部と前記第1のシステム共通部の異常検出を行うシステム制御手段と、前記複数のパーティション部毎に設定された識別情報と前記識別情報毎に、前記第1のシステム共通部の異常が発生した場合に前記第1のシステム共通部の縮退を行うか否かについての優先情報とが対応付けられて格納される記憶手段と、異常が検出されたパーティション部を停止するとともに、他の正常なパーティション部に切り替える縮退制御を行うパーティション縮退制御手段と、前記第1のシステム共通部の動作を停止するとともに、前記第2のシステム共通部に切り替える縮退処理を行うシステム共通部縮退制御手段とを備えたシステム制御部とを有することを特徴とする情報処理装置。
 前記パーティション部が有する処理部と第1及び第2のシステム共通部はそれぞれ、さらに異常を検出して割込みを通知する割込み通知手段を有し、
 前記システム制御手段は、前記処理部又は前記第1若しくは前記第2のシステム共通部が有する前記割込み通知手段からの割込み通知により、前記パーティション部と前記システム共通部の異常の検出を行うことを特徴とする請求項9記載の情報処理装置。
 前記パーティション部が有する処理部と前記システム共通部は、さらに前記処理部と前記システム共通部の内部情報を読み出すスキャンチェーン手段を有し、
 前記システム制御手段は、前記スキャンチェーン手段を制御することにより、前記パーティション部と前記システム共通部の異常の検出を行うことを特徴とする請求項9記載の情報処理装置。
 前記情報処理装置はさらに、
 前記処理装置を任意の前記パーティション部に割り当てる再構成処理手段を有することを特徴とする請求項10記載の縮退方法。
Description:
縮退方法および情報処理装置

 本発明は、例えばパーティショニング機 をそなえたサーバシステム等において、複 の物理パーティションによって共有されて るハードウェア資源で発生した障害を処理 る技術に関する。

 基幹システムで運用されるサーバシステ では高い可用性や柔軟なリソース(ハードウ ェア資源)の運用が要求される。このような い可用性や柔軟なリソース運用を実現する めの手法として、サーバシステムにおいて 、1台のシステムを複数のドメイン(パーティ ション)に分け、それぞれのドメイン上でOS(Op erating System)を動作させる、マルチドメイン るいはマルチパーティションと呼ばれる機 が用いられている。

 VM(Virtual Machine:仮想マシン)技術は、一つの ステムをソフトウェア・ファームウェア(一 部ハードウェアアシストが必要な場合もある )により複数のシステム(VM)であるかのように せ、それぞれのVM上でOSを動作させる技術で ある。一方、ドメインシステムでは、各ドメ インのほとんどが“物理的”に分離している 。
 図50,図51はそれぞれサーバシステムにおけ マルチドメインシステムの構成例を説明す ための図であり、図50はドメインを形成する 前の状態を示す図、図51はドメインを形成し 状態を示す図である。

 これらの図50,図51に示すサーバシステム10 0は、共通部101,CPU102-1,102-2、メモリ(MEM)103-1,103 -2,I/O(Input/Output)104-1,104-2をそなえて構成され これらの構成要素である、CPU102-1,102-2、メモ リ103-1,103-2,I/O104-1,104-2を任意に組み合わせる とにより、複数のドメインを構成すること できる。

 例えば、図51に示すように、CPU102-1,メモ 103-1およびI/O104-1を組み合わせてドメインD1 構成したり、CPU102-2,メモリ103-2およびI/O104-2 組み合わせてドメインD2を構成したりする とができる。又、ドメインシステムにおい は、一旦構成したドメインの構造も変更す ことができ、システム内の任意の位置のCPU ドメインに割り当てたり、任意の個数のCPU ひとつのドメインに割り当てたりすること できる。

 図50および図51に示した例は、理想的なマル チドメインシステムを示すものであるが、多 くの場合、ひとつのボード上に複数のCPU、も しくはCPUとメモリが搭載され、その搭載の組 み合わせが制約となることもある。
 また、ドメインを形成可能なサーバシステ 100においては、ドメインの構成を変更でき ようにしている関係上、クロスバーやクロ ク等、複数のドメインで共有される共通部1 01が存在する。

 そして、サーバシステム100においては、全 のドメインが同時にダウンすることを防ぐ めに、共通部101は最小化されるようになっ おり、又、冗長化や二重化が施されるよう なっている。
 また、共通部101以外の部分において生じた 障等の障害は、通常、他のドメインに影響 与えることがないように構成される一方、 通部101において生じた故障は全ドメインの ウンを発生させる可能性が高い。例えば、 に高周波数で動作している場合には、クロ バーやクロックを、ドメインをダウンさせ ことなく、正常系に切り替えたり、縮退さ たりすることは困難である。

 図52はマルチドメインシステムにおいて、 有部以外の部位で障害が生じた状態の例を す図、図53はマルチドメインシステムにおい て、共有部101で障害が生じた状態の例を示す 図である。
 従来のマルチドメインシステムにおいて、 52に示すように、例えば、ドメインD1のCPU102 -1において故障が生じた場合には、ドメインD 1だけをシステムダウン(部分縮退)させ、ドメ インD2については動作を続行させることによ 、故障により影響を受けているドメインD1 けを停止させる。

 一方、マルチドメインシステムにおいて、 53に示すように、共通部101において故障が じた場合には、ドメインD1,D2のいずれもがダ ウンすることが多いが、共通部101において故 障が生じた場合であっても、その故障箇所が 特定のドメインにのみ関連する部分である場 合もある。
 このように、共通部101において生じた障害 あって、故障個所が特定のドメインにのみ 連する部分である場合には、従来のマルチ メインシステムにおいては、全システムダ ンを引き起こすような共通部101の縮退や切 離しは行なわずに、故障の影響を受けない( 生き残った)ドメインの動作続行を優先する うになっている。

 しかしながら、ユーザによっては、形成し 複数のドメインの間で重要度の差がある場 があり、従来のマルチドメインシステムに いては、共通部101において生じた故障によ 、例えば、重要度の高いドメインがダウン た場合においても、残ったドメインの動作 行を優先することにより、ダウンした重要 ドメインの復旧が遅れる場合がある。
 本発明は、このような課題に鑑み創案され もので、共通部において生じた障害により 要なパーティション(ドメイン)がダウンし 場合に、迅速に復旧することを目的とする

 上記の目的を達成するために、本発明の 報処理装置の縮退方法は、それぞれ処理装 が割り当てられた複数のパーティション部 、前記複数のパーティション部により共有 れた第1のシステム共通部と、前記パーティ ション部により共有された第2のシステム共 部と、記憶部を有しシステムの制御を行う ステム制御部とを備えた情報処理装置の縮 方法において、前記システム制御部により 前記第1のシステム共通部の異常を検出する テップと、前記パーティション部毎に、前 第1のシステム共通部の異常が発生した場合 に前記第1のシステム共通部の縮退を行うか かについての優先情報を前記記憶部から読 出すステップと、前記システム制御部によ 、前記優先情報が設定されたパーティショ 部の異常を検出した場合には、前記情報処 装置の停止処理を行うステップと、前記第1 システム共通部の動作を停止するとともに 前記第2のシステム共通部に切り替える縮退 処理を行うステップとを有することを特徴と している。

 なお、前記情報処理装置の縮退方法はさら 、前記システム制御部により、前記優先情 が設定されたパーティション部以外のパー ィション部について異常を検出した場合に 、前記異常を検出したパーティション部の 退処理を行うステップを有してもよい。
 また、前記情報処理装置の縮退方法はさら 、前記縮退処理を行うステップを実行した に、前記情報処理装置の再起動処理を行う テップを有してもよい。

 さらに、前記情報処理装置の縮退方法はさ に、前記再起動処理を行うステップにおい 、前記処理装置を任意のパーティション部 割り当てる再構成処理を行なってもよい。
 また、本発明の情報処理装置の縮退方法は それぞれ処理装置が割り当てられた複数の ーティション部と、前記複数のパーティシ ン部により共有された第1のシステム共通部 と、前記パーティション部により共有された 第2のシステム共通部と、記憶部を有しシス ムの制御を行うシステム制御部とを備えた 報処理装置の縮退方法において、前記シス ム制御部により、前記第1のシステム共通部 異常を検出するステップと、前記システム 御部により、前記パーティション部の異常 検出するステップと、前記システム制御部 より、異常が検出されたパーティション部 識別情報を用いて、前記第1のシステム共通 部の異常が発生した場合に前記システム共通 部の縮退を行うか否かについての優先情報を 、前記記憶部から検索するステップと、前記 システム制御部により検索された優先情報が 、前記識別情報に対応するパーティション部 に設定されている場合には、前記情報処理装 置の停止処理を行うステップと、前記第1の ステム共通部の動作を停止するとともに、 記第2のシステム共通部に切り替える縮退処 を行うステップとを有することを特徴とし いる。

 なお、前記情報処理装置の縮退方法はさら 、前記システム制御部により、前記優先情 が設定されたパーティション部以外のパー ィション部について異常を検出した場合に 、前記異常を検出したパーティション部の 退処理を行うステップを有してもよい。
 また、前記情報処理装置の縮退方法はさら 、前記縮退処理を行うステップを実行した に、前記情報処理装置の再起動処理を行う テップを有してもよい。

 さらに、前記情報処理装置の縮退方法はさ に、前記再起動処理を行うステップにおい 、前記処理装置を任意のパーティション部 割り当てる再構成処理を行なってもよい。
 また、本発明の情報処理装置は、処理装置 有する複数のパーティション部と、前記複 のパーティション部により共有され、通常 作を行う第1のシステム共通部と、前記複数 のパーティション部により共有され、縮退の ために待機する第2のシステム共通部と、前 複数のパーティション部と前記第1のシステ 共通部の異常検出を行うシステム制御手段 、前記複数のパーティション部毎に設定さ た識別情報と前記識別情報毎に、前記第1の システム共通部の異常が発生した場合に前記 第1のシステム共通部の縮退を行うか否かに いての優先情報とが対応付けられて格納さ る記憶手段と、異常が検出されたパーティ ョン部を停止するとともに、他の正常なパ ティション部に切り替える縮退制御を行う ーティション縮退制御手段と、前記第1のシ テム共通部の動作を停止するとともに、前 第2のシステム共通部に切り替える縮退処理 を行うシステム共通部縮退制御手段とを備え たシステム制御部とを有することを特徴とし ている。

 なお、前記パーティション部が有する処 部と第1及び第2のシステム共通部はそれぞ 、さらに異常を検出して割込みを通知する 込み通知手段を有し、前記システム制御手 は、前記処理部又は前記第1若しくは前記第2 のシステム共通部が有する前記割込み通知手 段からの割込み通知により、前記パーティシ ョン部と前記システム共通部の異常の検出を 行なってもよい。

 また、前記パーティション部が有する処理 と前記システム共通部は、さらに前記処理 と前記システム共通部の内部情報を読み出 スキャンチェーン手段を有し、前記システ 制御手段は、前記スキャンチェーン手段を 御することにより、前記パーティション部 前記システム共通部の異常の検出を行なっ もよい。
 さらに、前記情報処理装置はさらに、前記 理装置を任意の前記パーティション部に割 当てる再構成処理手段を有してもよい。

 本発明によれば、以下の少なくともいずれ 1つの効果ないし利点がある。
 (1)第1のシステム共通部の異常が検出された 場合において、優先情報が設定されたパーテ ィション部の異常を検出した場合には、情報 処理装置の停止処理を行ない、第1のシステ 共通部の動作を停止するとともに、第2のシ テム共通部に切り替える縮退処理を行なう とにより、情報処理装置の復旧を迅速に行 うことができ、優先情報が設定されたパー ィション部において行なわれていた処理を 速に再開することができる。

 (2)優先情報が設定されたパーティション部 外のパーティション部について異常を検出 た場合には、異常を検出したパーティショ 部の縮退処理を行なうことにより、優先情 が設定されたパーティション部を停止する とがなく、優先情報が設定されたパーティ ョン部において行なわれていた処理を続行 ることができる。
 (3)パーティション部が有する処理部と第1及 び第2のシステム共通部がそれぞれ、異常を 出して割込みを通知する割込み通知手段を し、システム制御手段が、処理部又は第1若 くは第2のシステム共通部が有する割込み通 知手段からの割込み通知により、パーティシ ョン部とシステム共通部の異常の検出を行な うことにより、パーティション部と前記シス テム共通部の異常の検出を迅速に行なうこと ができる。

 (4)パーティション部が有する処理部とシ テム共通部が、処理部とシステム共通部の 部情報を読み出すスキャンチェーン手段を し、このスキャンチェーン手段によりパー ィション部と前記システム共通部の異常の 出を行なうことにより、パーティション部 システム共通部の異常の検出を迅速に行な ことができる。

実施形態の一例としてのサーバ(情報処 理装置)のハードウェア構成例を示す論理ブ ック図である。 実施形態の一例としてのサービスプロ ッサのフラッシュROMに格納されるテーブルT 1の例を示す図である。 実施形態の一例としてのサービスプロ ッサのフラッシュROMに格納されるテーブルT 2の例を示す図である。 実施形態の一例としてのサービスプロ ッサのフラッシュROMに格納されるテーブルT 3の例を示す図である。 実施形態の一例としてのサービスプロ ッサのフラッシュROMに格納されるテーブルT 4の例を示す図である。 実施形態の一例としてのサーバにおけ 共通部において異常が検出された場合の処 を説明するためのフローチャートである。 実施形態の一例としてのサーバのCMU内 の各チップのアドレス・データ線の結線例 示す図である。CMUとは本実施例におけるシ テムボードの名称である。 実施形態の一例としてのサーバにおけ システム全体のアドレス・データの結線を す図である。 (a),(b),(c)はそれぞれ実施形態の一例と てのサーバにおける、各チップで異常を検 した場合に、サービスプロセッサに割込み これを通知するための割込み線の結線例を す図である。 (a),(b),(c)はそれぞれ実施形態の一例と てのサーバにおける、各チップとFPGAとの間 のJTAG接続線の結線例を示す図である。 実施形態の一例としてのサーバにおけ るシステム内のFPGA間の結線例を示す図であ 。 実施形態の一例としてのサーバにおけ るSC(システムコントローラ)チップの内部構 を示すブロック図である。 実施形態の一例としてのサーバにおけ るXB(クロスバー)チップの内部構成例を示す ロック図である。 実施形態の一例としてのサーバにおけ るIOC(I/Oコントローラ)チップの内部構成例を すブロック図である。 実施形態の一例としてのサーバにおけ るCMU/IOU/BP(バックプレーン)上に搭載されるFPG Aの内部構成を示すブロック図である。IOUと 本実施例におけるI/O制御用システムボード 名称である。 実施形態の一例としてのサーバにおけ るサービスプロセッサおよびサービスプロセ ッサ上のFPGAのチップ内の構造を示すブロッ 図である。 実施形態の一例としてのサーバにおけ るXB縮退手法を説明するための図である。 実施形態の一例としてのサーバにおけ るXB縮退手法を説明するための図である。 実施形態の一例としてのサーバにおけ るXB縮退手法を説明するための図である。 実施形態の一例としてのサーバにおけ るFACEマップを説明するための図である。 実施形態の一例としてのサーバにおけ るテーブルT4への設定手法を説明するための ローチャートである。 実施形態の一例としてのサーバにおけ るハードウェア異常発生時の処理例を説明す るためのフローチャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る故障箇所特定手法を説明するためのフロー チャートである。 実施形態の一例としてのサーバにおけ る切り離し箇所の決定手法を説明するための フローチャートである。 実施形態の一例としてのサーバにおけ るシステムリスタート範囲決定処理手法を説 明するためのフローチャートである。 実施形態の一例としてのサーバにおけ るシステムリスタート処理手法を説明するた めのフローチャートである。 実施形態の一例としてのサーバにおけ るシステムリスタート処理手法を説明するた めのフローチャートである。 実施形態の一例としてのサーバにおけ るシステムリスタート処理手法を説明するた めのフローチャートである。 サーバシステムにおけるマルチドメイ ンシステムの構成例を説明するための図であ る。 サーバシステムにおけるマルチドメイ ンシステムの構成例を説明するための図であ る。 マルチドメインシステムにおいて共有 部以外の部位で障害が生じた状態の例を示す 図である。 マルチドメインシステムにおいて共有 部で障害が生じた状態の例を示す図である。

符号の説明

 10  サーバ
 11,11-1,11-2  CPU(処理装置)
 12,12-1,12-2  メモリ
 13,13-1,13-2  I/O
 14,14a  共通部(第1のシステム共通部)
 14,14b  共通部(第2のシステム共通部)
 20  サービスプロセッサ(システム制御部)
 21  マイクロプロセッサ
 22  JTAGコントローラ
 23  フラッシュROM(記憶部)
 24  RAM
 211  システム制御手段
 212  ドメイン縮退制御手段(パーティショ 縮退制御手段)
 213  システム共通部縮退制御手段
 214  再構成手段
 215  再起動処理実行手段
 D,D1,D2  ドメイン(パーティション部)

 以下、図面を参照して本発明の実施の形態 説明する。
 図1は実施形態の一例としてのサーバ(情報 理装置)のハードウェア構成例を示す論理ブ ック図である。
 本サーバ10は、例えば、基幹システムで運 される情報処理装置(コンピュータ)であって 、図1に示すように、CPU11-1,11-2,メモリ(MEM)12-1, 12-2,I/O(Input/Output)13-1,13-2,共通部14a,14bおよびサ ービスプロセッサ(SP)20をそなえて構成され、 ドメイン(パーティション)構造を有するシス ムを実現するドメイン機能(パーティショニ ング機能)をそなえている。

 そして、本サーバ10においては、このドメ ン機能により、CPU11-1,11-2、メモリ12-1,12-2,I/O1 3-1,13-2を任意に組み合わせることにより複数 ドメイン(パーティション;パーティション )を構成することができるようになっている
 例えば、図1に示す例においては、CPU11-1,メ リ12-1およびI/O13-1を組み合わせてドメイン( ーティション部)D1が構成され、CPU11-2,メモ 12-2およびI/O13-2を組み合わせてドメイン(パ ティション部)D2が構成されている。

 なお、以下、CPUを示す符号としては、複 のCPUのうち1つを特定する必要があるときに は符号11-1,11-2を用いるが、任意のCPUを指すと きには符号11を用いる。同様に、以下、メモ を示す符号としては、複数のメモリのうち1 つを特定する必要があるときには符号12-1,12-2 を用いるが、任意のメモリを指すときには符 号12を用い、又、I/Oを示す符号としては、複 のI/Oのうち1つを特定する必要があるときに は符号13-1,13-2を用いるが、任意のI/Oを指すと きには符号13を用いる。更に、ドメインを示 符号としては、複数のドメインのうち1つを 特定する必要があるときには符号D1,D2を用い が、任意のドメインを指すときには符号Dを 用いる。

 また、図1に示す例においては、サーバ10 CPU11,メモリ12およびI/O13をそれぞれ2つずつ なえて構成されているが、これに限定され ものではなく、CPU11,メモリ12およびI/O13がそ ぞれ3以上そなえられてもよく、又、これら のCPU11,メモリ12およびI/O13の数はそれぞれ異 ってもよく、本発明の趣旨を逸脱しない範 で種々変形して実施することができる。

 さらに、図1に示す例においては、2つのド インD1,D2が形成されているが、これに限定さ れるものではなく、3以上のドメインを形成 てもよく、本発明の趣旨を逸脱しない範囲 種々変形して実施することができる。
 ここで、ドメインは、OSが稼動する単位で り、1のドメインDには少なくとも1つのCPU11が そなえられるようになっている。

 共通部14a,14bは、例えば、クロスバーやク ロック,システムコントローラであり、複数( 実施形態では2つ)のドメインD1,D2で共通して 使用されるものである。例えば、システムコ ントローラやクロスバーは、ドメインを構成 する機能を持っており、どのCPU11、どのメモ 12、どのI/O13がどのドメインDに属するかを 意に設定することができるようになってい 。具体的には、システムコントローラおよ クロスバーはチップ内にテーブル(図2~図4参 ;詳細は後述)を持っており、これらのテー ルに設定されたドメインの境界を越えるア セスが発生した場合に、そのアクセスを拒 するようになっている。

 また、本実施形態においては、本サーバ10 おいて故障等の障害(異常)が生じていない通 常動作時には、共通部14a(第1のシステム共通 )が用いられ、ドメインD1,D2により共有され ようになっている。
 そして、共通部14aにおいて障害等が検出さ た場合には、共通部14aに代えて共通部14bが り換えて用いられるようになっている。

 共通部14b(第2のシステム共通部)は、ドメイ D1,D2により共有され、縮退のために待機す ものであって、共通部14aにおいて故障等の 害が生じた時に共通部14aに代えて用いられ ようになっている。
 この共通部14bは、共通部14aと同一もしくは 同一の構成をそなえ、共通部14aと共通部14b は選択的に用いることができる。例えば、 通部14a,14bがクロックである場合には、同一 もしくは略同一の構成をそなえたクロックを 2以上そなえ、14aのクロックに異常が検出さ た場合には、異常が検出されたクロックに えて、他のクロックに切り換える縮退処理 行なわれる。

 また、共通部14bは、共通部14aと異なる構 をそなえてもよい。例えば、共通部14a,14bが クロスバーである場合において、異常が検出 されていない通常状態においては2以上のク スバーを並行して使用し、これらの2以上の ロスバーのいずれかにおいて異常が検出さ た場合には、異常が検出された方のクロス ーを切り離して退避させ、生き残った方の ロスバーだけを用いて引き続き本サーバ10 動作させる縮退処理を行なってもよい。

 この場合、2以上のクロスバーを並行して使 用した状態が共通部14aに相当し、異常が検出 された方のクロスバーを切り離して退避させ 、生き残った方のクロスバーだけを用いて使 用する状態が共通部14bに相当する。
 以下、共通部を示す符号としては、複数の 通部のうち1つを特定する必要があるときに は符号14a,14bを用いるが、任意の共通部を指 ときには符号14を用いる。

 また、本サーバ10においては、CPU11や共通部 14は、ドメインDや共通部14における異常を検 する機能をそなえている。
 例えば、CPU11や共通部14は、いずれもCPU11,共 通部14の内部情報を読み出すスキャンチェー 機能(スキャンチェーン手段;図示省略)をそ えており、例えば、内部の各ノードへのア セスが可能であることを確認(診断)するこ により、ドメインDや共通部14の異常を検出 ることができるようになっている。

 また、このスキャンチェーン機能は、後述 るサービスプロセッサ20のシステム制御手 211により制御・実行されるようになってい 。
 さらに、CPU11や共通部14は、サービスプロセ ッサ20に対して割り込み信号を出力する割込 通知機能(割込み通知手段)をそなえており スキャンチェーン機能により、ドメインDや 通部14の異常を検出した場合には、この割 み通知機能により、サービスプロセッサ20に 対して割り込み信号を出力することにより通 知するようになっている。

 また、本サーバ10においては、構成したド インの構成を任意に変更することもできる うになっている。
 サービスプロセッサ20は、本サーバ10のシス テムを管理するサブシステムであり、図1に すように、マイクロプロセッサ21,JTAGコント ーラ22,フラッシュROM(Read Only Memory)23および RAM(Random Access Memory)24をそなえて構成されて る。

 フラッシュROM23は、サービスプロセッサ20自 身およびシステムを制御するファームウェア を格納する格納部(記憶部)であり、マイクロ ロセッサ21がこのファームウェアを実行す ことにより、本サーバ10のシステム管理にか かる種々の機能を実現するようになっている 。
 また、このフラッシュROM23は、CPU、SCなどの ASICに対してドメインの設定を行なうための 々の情報を格納している。

 図2~図5は実施形態の一例としてのサーバの ラッシュROM23に格納されるテーブルT1~T4の例 を示す図であり、図2はテーブルT1の例を、図 3はテーブルT2の例を、図4はテーブルT3の例を 、図5はテーブルT4の例をそれぞれ示している 。
 なお、以下、図中、既述の符号と同一の符 は同一もしくは略同一の部分を示している で、その説明は省略する。

 図2に示すテーブルT1は、CPU11を特定する めのCPU番号(CPU#n;nは整数)とドメインIDとの対 応関係を示すものであり、システム内に存在 するCPU11毎にエントリを持っている。なお、 メインIDは、ドメインDを特定するために、 めドメインD毎に設定された識別情報である 。又、CPU番号は、CPU11を特定するための情報 あって、予め各CPU11にユニークに設定され いる。

 図3に示すテーブルT2は、メモリ12を特定 るためのDIMM(Dual Inline Memory Module)番号(DIMM#m ;mは整数)とドメインIDとの対応関係を示すも であり、システム内に存在するメモリ12毎 エントリを持っている。又、DIMM番号は、メ リ12を特定するための情報であって、予め メモリ12にユニークに設定されている。

 図4に示すテーブルT3は、PCI(Peripheral Compon ents Interconnect)スロット(図示省略)を特定する ためのPCIスロット番号(PCI#s;sは整数)とドメイ ンIDとの対応関係を示すものであり、システ 内に存在するPCIスロット毎にエントリを持 ている。又、PCIスロット番号は、PCIスロッ を特定するための情報であって、予め各PCI ロットにユニークに設定されている。

 そして、本サーバ10においては、上述した ーブルT1~T3に基づいて、ASICの設定が行なわ るようになっている。
 図5に示すテーブルT4は、ドメインDを特定す るためのドメインIDと、そのドメインDの重要 度を示す情報である重要度フラグとの対応関 係を示すものであり、システム内に存在する ドメイン毎にエントリを持っている。又、こ の図5に示す例においては、ドメインの重要 を示す情報として、フラグ“Y”が用いられ おり、例えば、管理者他等が、そのドメイ Dもしくは、そのドメインDで実行される処 が重要であると判断した場合に、そのドメ ンDのドメインIDに対して、フラグ“Y”が予 設定されるようになっている。

 すなわち、テーブルT4は、複数のドメイン に設定されたドメインIDと、このドメインID に、共通部14aの異常が発生した場合に共通 14aの縮退を行なうか否かについてのフラグ Y(優先情報)”とを対応付けることにより構 されている。
 そして、このテーブルT4において設定され フラグ“Y”が、共通部14aの異常が発生した 合に、この共通部14aの縮退を行なうか否か 判断するために用いられる優先情報として 能するようになっており、このテーブルT4 記憶するフラッシュROM23が、優先情報を記憶 する記憶部(記憶手段)として機能するように っている。

 このテーブルT4において、重要度フラグに ラグ“Y”が立っている場合に、そのフラグ Y”が設定されているドメインDが、システ にとって必須のドメインDであると判断する とができる。
 そして、共通部14aにおいて異常が発生した 合には、マイクロプロセッサ21が、このテ ブルT4における重要度フラグを読み出して参 照し、フラグ“Y”が設定されたドメインDの 常を検出した場合には、本サーバ10の停止 理が行なわれるようになっている。

 なお、本実施形態においては、共通部14a 異常が発生した場合に、この共通部14aの縮 を行なう場合にフラグ“Y”が優先情報とし て設定される一方で、この共通部14aの縮退を 行なわない場合には、フラグを設定しない( しくはフラグ“0”を設定する)ことにより、 重要度を2段階(重要もしくは非重要)に設定し ているが、これに限定されるものではなく、 例えば、ドメインDの重要度を3以上の段階で し、これらの段階を特定する情報をテーブ T4における重要度フラグとして設定しても く、本発明の趣旨を逸脱しない範囲で種々 形して実施することができる。

 フラッシュROM23は、複数のドメインD毎に設 された識別情報と、この識別情報毎に、共 部14aの異常が発生した場合に共通部14aの縮 を行なうか否かについての優先情報とが対 付けられて格納される記憶手段として機能 るようになっている。
 RAM(Random Access Memory)24は、このファームウ アを動作させるための格納領域(メモリ)であ って、後述するマイクロプロセッサ21がファ ムウェアを実行する際に、データ等を一時 に格納したりするようになっている。

 マイクロプロセッサ21は、フラッシュROM23 に格納されたファームウェアを実行すること により種々の機能を実現する演算装置であり 、本実施形態においては、ファームウェアを 実行することにより、前述したマルチドメイ ン機能の他、システム制御手段211,ドメイン 退制御手段(パーティション縮退制御手段)212 ,システム共通部縮退制御手段213,再構成手段2 14および再起動処理実行手段215として機能す ようになっている。

 なお、これらのシステム制御手段211,ドメ イン縮退制御手段212,システム共通部縮退制 手段213,再構成手段214および再起動処理実行 段215としての機能を実現するためのプログ ム(ファームウェア)は、例えばフレキシブ ディスク,CD(CD-ROM,CD-R,CD-RW等),DVD(DVD-ROM,DVD-RAM,D VD-R,DVD+R,DVD-RW,DVD+RW等),磁気ディスク,光ディス ク,光磁気ディスク等の、コンピュータ読取 能な記録媒体に記録された形態で提供され 。

 そして、サービスプロセッサ20はその記 媒体からプログラムを読み取ってフラッシ ROM23等に転送し格納して用いる。又、そのプ ログラムを、例えば磁気ディスク,光ディス ,光磁気ディスク等の記憶装置(記録媒体)に 録しておき、その記憶装置から通信経路を してコンピュータに提供するようにしても い。又、このとき、記録媒体に記録された ログラムをサービスプロセッサ20が読み取っ て実行するようにしてもよい。

 なお、本実施形態において、コンピュー とは、ハードウェアとオペレーティングシ テムとを含む概念であり、オペレーティン システムの制御の下で動作するハードウェ を意味している。又、オペレーティングシ テムが不要でアプリケーションプログラム 独でハードウェアを動作させるような場合 は、そのハードウェア自体がコンピュータ 相当する。ハードウェアは、少なくとも、C PU等のマイクロプロセッサと、記録媒体に記 されたコンピュータプログラムを読み取る めの手段とをそなえており、本実施形態に いては、サービスプロセッサ20がコンピュ タとしての機能を有しているのである。

 さらに、本実施形態における記録媒体と ては、上述したフレキシブルディスク,CD,DVD ,磁気ディスク,光ディスク,光磁気ディスクの ほか、ICカード,ROMカートリッジ,磁気テープ, ンチカード,コンピュータの内部記憶装置(RA MやROMなどのメモリ),外部記憶装置等や、バー コードなどの符号が印刷された印刷物等のコ ンピュータ読取可能な種々の媒体を利用する ことができる。

 システム制御手段211は、複数のドメインDと 共通部14aの異常検出を行なうものであり、例 えば、CPU11や共通部14aが有する割込み通知手 からの割込み通知により、ドメインDと共通 部14aの異常の検出を行なうようになっている 。
 また、このシステム制御手段211は、CPU11や 通部14が有するスキャンチェーン機能を制御 することにより、ドメインDや共通部14aにお る異常の検出を行なうようになっている。

 ドメイン縮退制御手段212は、システム制御 段211によって異常が検出されたドメインDを 停止するとともに、他の正常なドメインDに り替える縮退制御を行なうものである。
 システム共通部縮退制御手段213は、共通部1 4aの動作を停止するとともに、システム共通 14bに切り替える縮退処理を行なうものであ 。

 再起動処理実行手段215は、本サーバ10の再 動処理を行なうものであり、再構成手段214 、再起動処理実行手段215による本サーバ10の 再起動処理中において、CPU11を任意のドメイ Dに割り当てる再構成処理を行なうものであ る。
 そして、上述した、システム制御手段211,ド メイン縮退制御手段212,システム共通部縮退 御手段213,再構成手段214および再起動処理実 手段215としての機能は、マイクロプロセッ 21が、JTAGコントローラ22を制御することに り実現される。又、これらの機能を実現す ためのJTAGコントローラ22の制御手法は、既 の種々の手法を用いて実現することができ その詳細な説明は省略する。

 JTAGコントローラ22は、JTAG(Joint Test Action Group)の規格に基づいて、メインシステムのAS IC、つまり、CPU11-1,11-2,メモリ12-1,12-2,I/O13-1,13- 2および共通部14a,14bに関する種々の制御を行 うものであり、マイクロプロセッサ21の制 に基づいて、ASICの状態チェックや設定を行 うことにより、これらの制御を実現するよ になっている。

 上述の如く構成された実施形態の一例とし のサーバ10における共通部14aにおいて異常 検出された場合の処理を、図6に示すフロー ャート(ステップA10~A80)に従って説明する。
 システム制御部211が、CPU11や共通部14aが有 るスキャンチェーン機能により、共通部14a おける異常を検出すると、ドメイン縮退制 手段212は、その異常の内容や検出位置に基 いて、全てのドメインDがダウン(停止)した 否かの判断を行なう(ステップA10)。なお、こ の全てのドメインDがダウンしたか否かの判 は、既知の種々の手法により実現すること でき、その詳細な説明は省略する。

 全てのドメインDがダウンした場合には(ス ップA10のYESルート参照)、システム共通部縮 制御手段213が、共通部14aの動作を停止する ともに、システム共通部14bに切り替える縮 処理(通常縮退処理)を行なう(ステップA70)。
 また、一部のドメインDだけがダウンした場 合には(ステップA10のNOルート参照)、ドメイ 縮退制御手段212は、ダウンしたドメインDの メインIDを取得し、この取得したドメインID をキーに、フラッシュROM23に格納されたテー ルT4を検索する(ステップA20)。

 ドメイン縮退制御手段212は、テーブルT4を 照してそのダウンしたドメインIDに対して重 要度フラグにフラグ“Y”が設定されている 否かを確認し(ステップA30)、フラグ“Y”が 定されていない場合には(ステップA30のNOル ト参照)、そのドメインDの他萎縮処理を行な う(ステップA80)。
 一方、そのドメインIDに対して重要度フラ にフラグ“Y”が設定されている場合には(ス テップA30のYESルート参照)、マイクロプロセ サ21は、システムの停止処理を行ない(ステ プA40)、システム共通部縮退制御手段213は、 通部14aの動作を停止するとともに、システ 共通部14bに切り替える縮退処理(通常縮退処 理)を行なう(ステップA50)。

 そして、再起動処理実行手段215は、本サー 10の再起動処理を行なう(ステップA60)。又、 この際、再構成手段214が、必要に応じて、再 起動処理実行手段215による本サーバ10の再起 処理中において、CPU11を任意のドメインDに り当てる再構成処理を行なう。
 例えば、再構成手段214は、縮退されたドメ ンDに割り当てられていたCPU11やメモリ12,I/O1 3を、生き残った(縮退されていない)ドメイン Dに割り当てるように再構成処理を行なう。

 その後、再起動されたサーバ10においては 各CPU11がOSやファームウェア,その他のプログ ラムを実行することにより、サーバ10として 各種機能を実現するのである。
 次に、実施形態の一例としてのサーバ10の り具体的な実施例について説明する。
 図7~図19は実施形態の一例としてのサーバ10 おけるマルチドメインにかかるハードウェ 構成を説明するための図であり、図20は本 ーバ10におけるFACEマップ(FACEmap)を説明する めの図である。

 図7は実施形態の一例としてのサーバ10のCMU 部の各チップのアドレス・データ線の結線 を示す図である。
 この図7に示す例においては、各CPU11はSC(Syst em Controller)#0~#4のそれぞれに接続されている なお、SC#0~#4は、CPU11間のキャッシュの同期 、ドメイン設定に従ってドメインD毎のアド レスマップを管理するものであり、例えば、 どのCPU・メモリ・PCIカードをどのアドレスに 割り当てるかを管理するようになっている。

 図8は本サーバ10におけるシステム全体のア レス・データの結線を示す図である。この 8に示す例においては、アドレスとデータを 同一バス上でやり取りするようになっており 、同一バス上を流れるパケットの種別でアド レスとデータをやり取りするようになってい る。
 なお、IOC(IO Controller)#0,#1は、PCIバスとSC間 バス間のブリッジの役目を果たし、PCIバス ロトコルを制御するようになっている。XBチ ップ(XB chip)#0~#7は、SCとIOC間のパケットのや 取りを制御するクロスバーである。

 図9(a),(b),(c)はそれぞれ本サーバ10におけ 、各チップで異常を検出した場合に、サー スプロセッサ20に割込みでこれを通知するた めの割込み線の結線例を示す図であり、図9(a )はCPU11およびSCからの各割込み線の結線例を す図、図9(b)はIOC#0,#1からの各割込み線の結 例を示す図、図9(c)はXBチップ#0~#7からの各 込み線の結線例を示す図である。なお、こ らの図9(a),(b),(c)中において、各割込み線は れぞれ破線で表されている。

 これらの図9(a),(b),(c)に示すように、SC,CPU11,X Bチップ#0~#7およびIOC#0,#1からの各割り込み線 FPGA(Field Programmable Gate Array)にそれぞれ接 され、後述の如く、このFPGA経由でサービス ロセッサ20に通知されるようになっている
 そして、サービスプロセッサ20は、エラー 割込みが行なわれると、JTAGコントローラ22 介して、各レジスタからそのエラーに関す 詳細な情報を取得するようになっている。

 図10(a),(b),(c)はそれぞれ本サーバ10におけ 、各チップとFPGAとの間のJTAG接続線の結線 を示す図であり、図10(a)はCPU11およびSCから 各JTAG接続線の結線例を示す図、図10(b)はIOC#0 ,#1からの各JTAG接続線の結線例を示す図、図10 (c)はXBチップ#0~#7からの各JTAG接続線の結線例 示す図である。なお、これらの図10(a),(b),(c) 中において、各JTAG接続線はそれぞれ一点鎖 で表されている。

 これらの図10(a),(b),(c)に示すように、SC,CPU11, XBチップ#0~#7およびIOC#0,#1からの各JTAG接続線 FPGAにそれぞれ接続され、後述の如く、このF PGA経由でサービスプロセッサ20に通知される うになっている。
 そして、各チップへの設定や各チップで発 した異常の詳細原因の読み取りは、このFPGA を介して行なわれるようになっている。

 図11は本サーバ10におけるシステム内のFPG A間の結線例を示す図である。この図11に示す ように、サービスプロセッサ20(XSCFU。XSCFUと 本実施形態におけるサービスプロセッサボ ドの名称である)に搭載されたFPGA0が、各ボ ド上のFPGA1~5と接続され、これらのFPGA1~5との 間で通信を行なうことで、各ボード上のFPGA 制御が実現されるようになっている。

 図12は本サーバ10におけるSCチップの内部構 を示すブロック図である。SCチップとXBチッ プとの間の通信に使用されているパケットは ECCでプロテクトされており、マルチビットエ ラーが検出されると、エラーラッチ(Error Latc h)にてエラーがラッチされるようになってい 。
 そして、複数のエラーラッチにおけるラッ の論理和信号がFPGAへの割込み信号として出 力されるようになっている。又、これらのエ ラーラッチはJTAG経由でFPGAから読み出すこと できるようになっている。

 また、ドメインの設定を行なうためのFACEmap レジスタ並びにXBとの接続を制御するCFR(ConFig uration Register)もJTAGを使用して設定されるよ になっている。なお、CFRについては後で詳 するが、これによりXB PORT#0,#1をそれぞれ“e nable/disable”することができる。
 図20は本サーバ10におけるFACEマップ(FACEmap) 具体例を示す図であり、FACEマップはこの図2 0に示すような情報をそなえたレジスタとし 構成されている。この図20に示す例において は、FACEマップは、“Offset”,“Valid”,“DID”, “DIMM valid”,“IOC valid”および“IOC#”をそ えて構成されている。

 なお、この図20に示す例においては、“Offse t+4”までの2エントリを示しているが、本例 場合、実際には“Offset+28”までの8エントリ 存在し、オフセット+0がCMU#0のCPU#0、オフセ ト+4がCMU#0のCPU#1…のように対応している。
 ValidはそのCPUを使用するか否かを示す情報 あり、DIDはドメインDを特定するID(ドメインI D)である。同一のドメインIDを持つCPU11で1つ ドメインが構成される。

 DIMM validはビットマップ表現でどのDIMMを使 するかを示す情報であって、例えば、図20 例示された0b00000001は、CMU#0-CPU#0がDIMM#0を使 することを意味している。
 また、IOC#はそのエントリのCPU11に対応するI OCの番号であり、IOC validは、そのIOCを使用す るか否かを示す情報である。サービスプロセ ッサ20はFACEマップのドメイン設定に従い、各 CPU/DIMM/IOCのアドレスマップを制御し、他ドメ インからこれら資源へのアクセスできないよ うに監視している。なお、そのようなアクセ ス要求がCPU11あるいはIOCから発行された場合 は、SCはエラー応答するようになっている

 図13は本サーバ10におけるXBチップ(XB chip)の 内部構成例を示すブロック図である。この図 13に示す例においては、SCと同様にバスのECC チェックするECCチェッカ(ECC checker)がそなえ られている。
 ただし、SCとは異なり、送信と受信両方に れぞれECCチェッカがそなえられており、こ により、XBチップの内部でECCエラーが発生し たのか、XBチップの外部でECCエラーが発生し のかを判別することができる。例えば、XB らの送信用ECCチェッカでエラーが発生した 合には、XBチップ内部でエラーが発生してい ることがわかる。また、CMU/IOUとの接続関係 管理するCFRがあり、これに設定することで CPUポート(CPU port)#0,CPUポート#1、IOUポート(IOU  port)をそれぞれ”disable”もしくは”enable” ることができるようになっている。

 図14は本サーバ10におけるIOCチップの内部構 成例を示すブロック図である。この図14に示 ように、SCと同様に、バスのECCをチェック るECCチェッカとCFRが用意され、CFRによって CH#0/CH#1をそれぞれイネーブル(enable)もしくは ディセーブル(disable)することができるように なっている。
 図15は本サーバ10におけるCMU/IOU/BP上に搭載 れるFPGAの内部構成を示すブロック図である この図15に示す例においては、CMU/IOU/BP用のF PGAは、サービスプロセッサ20のFPGA0(図11参照) の間でシリアル通信を行なうように構成さ ており、受信したパケットを“パケットエ コード・デコード”部で解析するようにな ている。

 なお、パケットには、大別すると、割込 通知パケット,アクセス要求パケットおよび データ応答パケットがある。複数の割込みラ ッチ(Latch)には、それぞれ、CPU11や共通部14a,14 b等からの割込み信号が入力されるようにな ており、これらの複数の割込みラッチ(Latch) 論理和がオンになると、“パケットエンコ ド・デコード”部で割込み通知パケットが 成され、FPGA0に対して送出される。

 サービスプロセッサ20は、これらの割込み ッチを確認することにより、どこから割込 が行なわれたかを確認することにより、エ ーが生じたチップの特定を行ない、その後 JTAGコントローラ22によってチップ中のレジ タを読んでエラーを読み、エラーの特定を なうのである。
 また、アクセス要求パケットをFPGA0から受 した場合には、アドレス/データ混合・分解 にパケットが伝えられる。ここで、パケッ のアクセスタイプが”write”であれば、パ ット内で指定されたアドレスに対してデー が書き込まれる。なお、アドレスにより指 されるのは、リード(read)/ライト(write)問わず 割込みラッチ・マルチプレクサ、JTAG制御の ずれかとなる。

 一方、パケットのアクセスタイプが“read ”であれば、パケット内で指定されたアドレ スに対してリード要求が発行される。このリ ード要求に対して応答されたデータは、アド レス/データ混合・分解部を経由してパケッ エンコード・デコード部に伝わり、データ 答パケットが生成される。そして、これに り、データがFPGA0に通知されるのである。

 JTAG制御部は、CMU/IOU/BP上のJTAGを制御するも である。このJTAG制御部は、マルチプレクサ に設定を行なうことで、どのチップに対しJTA Gアクセスを行なうかを決定し、JTAG通信を行 うようになっている。
 図16は本サーバ10におけるサービスプロセッ サ20およびサービスプロセッサ20上のFPGA(FPGA0) のチップ内の構造を示すブロック図である。

 マルチプレクサによって、CMU/IOU/BP上のどの FPGAにアクセスを行なうのかを選択する。各Un itから割込み通知パケットを受信した場合は “パケットエンコード・デコード”部で割 み通知であると認識後、割込みラッチに信 が送られる。これにより、マイクロプロセ サに割込み信号がアサートされる。
マイクロプロセッサから“read”、あるいは write”要求を受信すると、“read”の場合は ドレスのみ、“write”の場合は“アドレス/ ータ混合分解”部によりアドレスと書き込 データがパッキングされ、パケットエンコ ド・デコード部に送出される。パケットエ コードでコード部は、アクセス要求パケッ を作成して、送信する。アクセスが“read” あった場合、ターゲットのFPGAからデータ応 答パケットを送出するので、パケットエンコ ード・デコード部を経由してマイクロプロセ ッサにデータが返送される。

 図17~図19はそれぞれ本サーバ10におけるXB縮 手法を説明するための図であり、図V17は正 な状態(縮退前)を、又、図18および図19は縮 後の状態をそれぞれ示している。
 なお、CMU/IOU/XBチップ全てのport/CHは、CFRに って“enable”となっている。
 もし、XBチップ #1,#3,#5,#7のいずれかにおい 異常が発生し縮退となった場合には、これ のXBチップ #1,#3,#5,#7が切り離され、図18に すような状態になる。

 このとき、サービスプロセッサ20からSC内の CFRへの設定により、各SCのXB port#1は”disable となっている。また、同様にIOC内のCFRへの 定により、各IOCのCH#1は”disable”となってい る。
 なお、これらの図17,図18に示す例において 、XBチップ #0~#7は、XBチップ #0,#2,#5,#4,#5,#6 そなえた第1のクロスバーと、XBチップ #1,#3, #5,#7をそなえた第2のクロスバーとの2つのク スバーとを並行して使用することにより構 されており、第1および第2のいずれかのクロ スバーにおいてエラーが発生した場合に、そ のエラーが発生したクロスバーが切り離され るのである。

 SCはXB port#0が”disable”となると、それまで port#0に送出していたパケットをport#1に送出す るようになる。又、IOCはCH#1が”disable”にな と、CH#0/CH#1間のIOC内パスを”enable”にして CH#1あてのパケットを、このパスを経由して 受け渡す。
 このような縮退を行なうことにより、クロ バー(XB)のバス幅は半減するものの、システ ムとしての動作を継続することができるので ある。

 図19は図18に示す例とは逆に、XBチップ#0,#2,# 4,#6を縮退させた状態を示している。この図19 に示す状態は、図18に示した状態とDisableされ るポートがと反対側になっているだけで、挙 動は同じであるので、その詳細な説明は省略 する。
 そして、これらの図17~19において、図17に示 すようなXBチップ #0,#2,#5,#4,#5,#6をそなえた第 1のクロスバーと、XBチップ #1,#3,#5,#7をそな た第2のクロスバーとからなるXBチップ #0~#7 第1のシステム共通部に相当し、図18に示す うな、第2のクロスバー(XBチップ #1,#3,#5,#7) 退避され、残った第1のクロスバー(XBチップ  #0,#2,#5,#4,#5,#6)の状態や、図19に示すような 第1のクロスバー(XBチップ #0,#2,#5,#4,#5,#6)が 避され、残った第2のクロスバー(XBチップ #1 ,#3,#5,#7)の状態が、第2の共通部に相当する。

 次に、実施形態の一例としてのサーバ10に ける各種処理を、図21~図49に示すフローチャ ートに従って説明する。
 図21は本サーバ10におけるテーブルT4への設 手法を説明するためのフローチャート(ステ ップB10~B60)である。
 ユーザはサービスプロセッサ20上で稼動し いる組み込みOSにサインオンし、このOS上で マンドを起動する。

 コマンドの第1引数を変数A,第2引数を変数B 代入する(ステップB10)。このコマンドの第1 数はadd(設定を行なう)かdel(設定を削除する) であり、第2引数は重要度フラグをオンにし たいドメインのドメインIDとなる。
 その後、A=addであるか否かの確認を行ない( テップB20)、A=addである場合には(ステップB20 の“はい”ルート参照)、テーブルT4のDID#Bの にYを設定して(ステップB30)処理を終了する

 また、A=addではない場合には(ステップB20の いいえ”ルート参照)、次に、A=delであるか かの確認を行なう(ステップB40)。A=delである 場合には(ステップB40の“はい”ルート参照) テーブルT4のDID#Bの値をクリアして(ステッ B50)処理を終了する。
 さらに、A=delではない場合には(ステップB40 “いいえ”ルート参照)、引数異常メッセー ジを表示させて(ステップB60)処理を終了する

 そして、上述のコマンドを実行することで テーブルT4に対し、どのドメインを重要と るのかの設定が行なわれるのである。
 図22は本サーバ10におけるハードウェア異常 発生時の処理例を説明するためのフローチャ ート(ステップC10~C40)であり、どうやって故障 箇所を特定し縮退を行なうかの概略フローを 表している。

 ASICよる割り込みが発生すると、先ず、故障 箇所の特定が行なわれ(ステップC10)、その後 切り離し箇所の決定が行なわれる(ステップ C20)。そして、システムリスタート範囲の決 処理が行なわれ(ステップC30)、システムのリ スタート処理が行なわれ(ステップC40)、割り みからの復帰が行なわれるのである。
 次に、図22に示した各ステップC10~C40にかか 各手法について詳述する。以下、各フロー ャート内における、Fault1,Fault2,Fault3,Fault4,Tar get[]配列およびDegradeはそれぞれ大域変数であ り、一方、小文字1文字で表される変数は局 変数であるものとする。

 ここで、図22に示すフローチャート中にお るステップC10の故障箇所特定手法を、図23~ 44に示すフローチャート(ステップD1~D214)に従 って説明する。
 故障(バス上でのECCマルチビットエラー)が 生した場合には、FPGAを介してサービスプロ ッサ20に割り込みが上がる。そこで、マイ ロプロセッサ21上のプログラムは、FPGA0のマ チプレクサを制御し、先ず、どのFPGA上でエ ラーラッチがオンになっているかを特定する (ステップD1~D23)。これらの処理によって、ど ユニットのどのチップから割り込みが上が ているかが特定されるのである。

 そして、各ユニット上のFPGAのマルチプレク サを制御し、割り込みを発生しているチップ のJTAGにアクセスし、チップ内のエラーラッ (Error Latch)をチェックする(ステップD24~D214) これらの処理により、どのバス(たとえば、X Bチップ#3のXB port#0)に関連して異常が発生し かが特定できる。
 また、上述の処理の過程で、特定された故 箇所およびバスは、Fault1、Fault2、Fault3、Faul t4の各大域変数に設定されるようになってい 。以上が故障箇所特定の処理内容である。

 次に、図22に示すフローチャート中におけ ステップC20の切り離し箇所の決定手法を、 45に示すフローチャート(ステップE1~E14)に従 て説明する。
 本実施形態においては、本サーバ10におけ 共通部14aでの故障発生時の処理に着目して るので、共通部14a、つまりXBチップの異常に 着目して説明を行なうものとする。

 まず、変数Degradeを定義して、この変数Degrad eに切り離すユニットを設定するものとする( テップE1)。
 Fault2がXB#x(xは0~7の整数)であるか否か、すな わち、Fault2がXB#0~XB#7であるか否かを確認して (ステップE2)、Fault2がXB#0~XB#7ではない場合に (ステップE2の“いいえ”ルート参照)、その の切り離し箇所の決定処理へ移行する(ステ ップE11)。

 また、Fault2がXB#0~XB#7である場合には(ステ ップE2の“はい”ルート参照)、次に、Fault4が “send”であるか否かを確認する(ステップE3) ここで、Fault4が“send”ではない場合、すな わち、Fault4が“receive”の場合には(ステップE 3の“いいえ”ルート参照)、変数DegradeにFault3 を設定する。このように、Fault4が”receive”  の場合には、XBチップの外側、つまりSC側で 障が発生しているので、共通部14aにおける 障としては扱わないものとする。

 一方、Fault4が“send”の場合には(ステッ E3の“はい”ルート参照)、共通部14aで異常 発生していると判断され、次に、Fault3がCMU#y (yは0、もしくは1)か否か、を確認する(ステッ プE4)。Fault3がCMU#0もしくはCMU#1である場合に (ステップE4の“はい”ルート参照)、m=4*y,n=0 設定する(ステップE5)。

 また、Fault3がCMU#0もしくはCMU#1ではない場合 には(ステップE4の“いいえ”ルート参照)、Fa ult3の内容はIOU#x(xは0、もしくは1)であるので このxをyに代入して、ステップE5に移行する 。
 その後、 Fault3に示されるユニットとXBに関 連して異常が発生しているので、そのユニッ ト上に存在しているドメインをまず求める。 具体的には、テーブルT1(図2参照)におけるCPU# (m+n)に対応するDIDの番号(DID#に続く番号)をzに 代入するのである(ステップE6)。

 そして、テーブルT4(図5参照)、DID#z欄の重要 度フラグをpに代入し(ステップE7)、このp==yで あるか否かを確認することにより(ステップE8 )、故障の影響を受けているドメインの重要 フラグを、テーブル4を使用してチェックす のである。
 ここで、p==y、すなわち、重要度フラグがオ ンの場合には(ステップE8の“はい”ルート参 照)、全システムを停止する。このため、切 離し対象を示す変数Degradeに”XB#x”(xは0~7の ずれか)を代入する(ステップE14)。なお、切 離し対象がXBである場合、後述するシステ リスタート範囲決定処理が、システム全体 リスタート対象とする。

 また、p==yではない場合には(ステップE8の “いいえ”ルート参照)、nをインクリメント( n=n+1)して(ステップE9)、n==4であるか否かを確 し(ステップE10の“いいえ”ルート参照)、 テップE6に戻る。又、n==4の場合には(ステッ E10の“はい”ルート参照)、切り離し箇所の 決定プロセスを完了し、変数Degradeに設定さ た情報が切り離すユニットを示している。

 次に、図22に示すフローチャート中にお るステップC30のシステムリスタート範囲決 処理手法を、図46に示すフローチャート(ス ップF1~F16)に従って説明する。このシステム スタート範囲決定処理では、どのドメイン リスタートを行なうかを決定するものであ 、大域配列変数Target[]に、異常の影響を受 てリスタートが必要なドメインを設定する うになっている。

 大域配列変数Target[0],Target[1],Target[2]およ Target[3]にそれぞれ“-1”を設定し(ステップF1 )、変数Degrade==XB#x(xは0~7のいずれか)であるか かを確認する(ステップF2)。ここで、変数Deg rade==XB#x(xは0~7のいずれか)である場合には(ス ップF2の“はい”ルート参照)、Target[0]に99 設定し(ステップF6)、処理を終了する。全シ テムをリスタートする場合はTarget[0]に99を 定するのである。

 Degrade==XB#x(xは0~7のいずれか)でない場合に は(ステップF2の“いいえ”ルート参照)、次 、Fault1==CMU#y(yは0、もしくは1)であるか否か 確認する(ステップF3)。Fault1==CMU#y(yは0、もし くは1)である場合には(ステップF3の“はい” ート参照)、m=4*y,n=0,p=0をそれぞれ設定し(ス ップF4)、テーブルT1(図2参照)におけるCPU#(m+n )に対応する(CPU#(m+n)欄の)DIDの番号(DID#に続く 号)をzに代入する(ステップF5)。

 また、Fault1==CMU#y(yは0、もしくは1)ではない 合には(ステップF3の“いいえ”ルート参照) 、次に、Fault1==IOU#y(yは0、もしくは1)であるか 否かを確認する(ステップF7)。
 Fault1==IOU#y(yは0、もしくは1)でない場合には( ステップF7の“いいえ”ルート参照)、次に、 Fault1=CMU#y(yは0、もしくは1)であるか否かを確 する(ステップF8)。

 ここで、Fault1==IOU#y(yは0、もしくは1)である 合や(ステップF7の“はい”ルート参照)、Fau lt1==CMU#y(yは0、もしくは1)である場合には(ス ップF8の“はい”ルート参照)、ステップF4に 移行する。
 また、Fault1==CMU#y(yは0、もしくは1)ではない 合には(ステップF8の“いいえ”ルート参照) 、Fault3の内容はIOU#x(xは0、もしくは1)である で、このxをyに代入して(ステップF9)、ステ プF4に移行する。

 その後、z==Target[0]であるか否かを確認し (ステップF10)、z==Target[0]ではない場合には( テップF10の“いいえ”ルート参照)、z==Target [1]であるか否かを確認し(ステップF11)、更に z==Target[1]ではない場合には(ステップF11の“ いいえ”ルート参照)、z==Target[2]であるか否 を確認する(ステップF12)。z==Target[2]ではない 場合には(ステップF12の“いいえ”ルート参 )、z==Target[3]であるか否かを確認し(ステップ F13)、z==Target[3]ではない場合には(ステップF13 “いいえ”ルート参照)、Target[p]にzを設定 るとともに(Target[p]=z)、pをインクリメント(p= p+1)して(ステップF14)、更に、nをインクリメ ト(n=n+1)する(ステップF15)。

 なお、z==Target[0]である場合や(ステップF10の “はい”ルート参照)、z==Target[1]である場合( テップF11の“はい”ルート参照)、z==Target[2] である場合や(ステップF12の“はい”ルート 照)、z==Target[3]である場合には(ステップF13の “はい”ルート参照)、ステップF15に移行す 。
 そして、n==4であるか否かを確認して(ステ プF16)、n==4ではない場合には(ステップF16の いいえ”ルート参照)、ステップF10に戻る。 、n==4である場合には(ステップF16の“はい ルート参照)、処理を終了する。

 本実施形態においては、縮退するユニッ とリスタートの対象となるユニットは全シ テムリスタートを除いて一致するので、Degr ade変数をキーにリスタートするドメインを選 択するのである。なお、なぜドメイン単位の 処理を行なうかというと、例えば、CMU#0のCPU# 0とCMU#1のCPU#1が同じドメインで、リスタート 象がCMU#1の場合、CMU#0のCPU#0も同時にリスタ トしなければならないためである。

 次に、図22に示すフローチャート中におけ ステップC40のシステムリスタート処理手法 、図47~図49に示すフローチャート(ステップG1 ~G57)に従って説明する。
 このシステムリスタート処理は、Target[]変 の設定を元に行なわれ(ステップG1)、例えば Target[0]==99の場合には(ステップG1の“はい” ルート参照)、全てのCPU11やIOC,XB等を停止させ て(ステップG10~G12)、切り離し箇所の決定プロ セスにおいて設定された変数Degradeに基づい 一部のXBを縮退させた上で(ステップG13~G17,G20 ~G22)、CPU11やIOCの再起動処理を行なう(ステッ G18,G19)。

 また、Target[0]==99ではない場合には(ステッ G1の“いいえ”ルート参照)、図46に示すフロ ーチャートにおいて設定されたシステムリス タート範囲について、対象のCPU/IOCをいった 、全て切り離し、その再起動することによ 行なうステップG2~G9,G23~G57)。
 さらに、この際、ユニットを切り離すため Degrade変数の設定をもとにテーブルT1~T3の設 の書き換えも行なうようになっている(ステ ップG29~G38)。なお、CPU/IOC/XBそれぞれの停止・ 起動処理については、一般的な大型コンピュ ータの起動停止処理と同じであるので、その 詳細についての説明は省略する。

 このように、実施形態の一例としてのサ バ10によれば、システム制御手段211により 通部14aの異常が検出された場合において、 ーブルT4において重要度フラグにフラグ“Y( 先情報)”が設定されたドメインDの異常を 出した場合には、本サーバ10の停止処理を行 ない、共通部14aの動作を停止するとともに、 共通部14bに切り替える縮退処理を行なうこと により、本サーバ10の復旧を迅速に行なうこ ができ、テーブルT4において重要度フラグ フラグ“Y”が設定されたドメインDにおいて 行なわれていた処理を迅速に再開することが できる。

 また、テーブルT4において重要度フラグに ラグ“Y”が設定されたドメインD以外のドメ インDについて異常を検出した場合には、異 を検出したドメインDの縮退処理を行なうこ により、フラグ“Y”が設定されたドメイン Dを停止することがなく、このドメインDにお て行なわれていた処理を続行することがで る。
 さらに、ドメインDが有するCPU11や共通部14a それぞれ割込み通知手段を有し、システム 御手段211がこれらの割込み通知手段からの 込み通知により、ドメインDと共通部14aの異 常の検出を行なうことにより、ドメインDや 通部14aの異常の検出を迅速に行なうことが きる。

 ドメインDが有するCPU11と共通部14aが、CPU11 共通部14aの内部情報を読み出すスキャンチ ーン手段を有し、システム制御手段211がこ スキャンチェーン手段を制御することによ 、ドメインDと共通部14aの異常の検出を行な ことにより、ドメインDと共通部14aの異常の 検出を迅速に行なうことができる。
 そして、本発明は上述した実施形態に限定 れるものではなく、本発明の趣旨を逸脱し い範囲で種々変形して実施することができ 。

 上述した実施形態においては、共通部14a,14b がクロスバーである場合について例示して説 明しているが、これに限定されるものではな く、例えば、クロック等、コンピュータにそ なえられる他の部品において障害が生じた場 合についても適用することができる。
 また、上述した実施形態においては、CPU11 共通部14のスキャンチェーン機能により、ド メインDや共通部14の異常を検出しているが、 これに限定されるものではなく、他の種々の 手法により、ドメインDや共通部14における異 常(障害)を検出してもよい。

 なお、本発明の実施形態が開示されてい ば、本発明を当業者によって実施・製造す ことが可能である。