(57)【要約】   【課題】  いくつかの主ハードウエアコンポーネント、すなわちプロセッサ、メモリ、および入出力（Ｉ／Ｏ）チャネルのための非介入ホットプラグ機能を具備するデータ処理システムを提供する。  【解決手段】  データ処理システムは、相互接続機構を介して相互接続された元のプロセッサ、元のメモリ、および元のＩ／Ｏチャネルを備える。また、データ処理システムは、サービス要素およびオペレーティングシステム（ＯＳ）も備える。相互接続機構は、配線ならびにハードウエアおよびソフトウエア論理コンポーネントを備え、これらによって、追加のプロセッサ、メモリ、およびＩ／Ｏチャネルのホットプラグ追加（または除去）、ならびに、追加のコンポーネントの様々な拡張または除去に対応するために必要な実行時の再構成機能の双方を可能とする。既存のコンポーネントの処理に介入することなく、様々なコンポーネントが追加され、拡張したシステム内で利用するためにすぐに利用可能となる。【選択図】  図３
2005011319.tif 000002
【特許請求の範囲】
【請求項１】
データ処理システムであって、
第１のプロセッサ、第１のメモリ、および第１の入出力（Ｉ／Ｏ）チャネルを含む第１の動作コンポーネントセットと、
前記第１のプロセッサ、前記第１のメモリ、および前記第１の入出力（Ｉ／Ｏ）チャネルを相互接続し、追加のコンポーネントを取り付けるためのホットプラグコネクタを含む相互接続機構と、
前記データ処理システムの現在の動作に介入することなく前記ホットプラグコネクタを介して前記追加のコンポーネントの電気的および論理的接続を実行するための手段と、
前記電気的および論理的接続の後に前記追加のコンポーネントに前記第１の動作コンポーネントセットの作業負荷を自動的に共有させるための手段であって、前記第１の動作コンポーネントセットの前記相互接続機構上で構成応答を実施して、前記第１の処理ユニット上での前記動作に介入することなく前記相互接続機構上で前記作業負荷を共有している前記追加のコンポーネントをサポートする手段と、
を具備する、データ処理システム。
【請求項２】
前記相互接続機構は、更に、前記相互接続機構のルーティングおよび通信動作を制御するための構成を複数の構成から動的に選択するための論理を具備し、前記データ処理システムが前記第１のコンポーネント集合のみを含む場合、前記論理は第１の構成を選択し、前記データ処理システムが前記第１のコンポーネント集合および前記ホットプラグコネクタの１つを介して接続された追加のコンポーネントの双方を含む場合、前記論理は第２の構成を選択する、請求項１のデータ処理システム。
【請求項３】
前記接続を実行するための手段は、サービス要素であって、前記ホットプラグコネクタに対する前記追加のコンポーネントの接続を検出した場合、前記第２の構成を選択するように前記論理をトリガするサービス要素を具備する、請求項２のデータ処理システム。
【請求項４】
更に、
前記データ処理システム上の動作を制御し、前記データ処理システムの現在の構成に基づいて、前記第１のプロセッサおよび前記データ処理システム内の他のコンポーネントの間で作業負荷を割り当てるオペレーティングシステム（ＯＳ）と、
前記ホットプラグコネクタの１つに接続された第２のプロセッサの検出に応答して、前記第１のプロセッサおよび前記第２のプロセッサの双方に前記第１のプロセッサの作業負荷を割り当てるように前記ＯＳをトリガするサービス要素と、
を具備する、請求項１のデータ処理システム。
【請求項５】
前記接続を実行するための手段は、前記ホットプラグコネクタの１つ以上に前記追加のコンポーネントが接続されていることの検出に応答して前記追加のコンポーネントに対する一連の動作試験をトリガするサービス要素を具備し、前記動作試験が肯定的な結果を戻した後にのみ前記論理接続が完了する、請求項１のデータ処理システム。
【請求項６】
更に、前記ホットプラグコネクタに前記追加のコンポーネントを結合するための一連のホットプラグ接続ポートを提供する接続バックプレーンを具備する、請求項１のデータ処理システム。
【請求項７】
前記相互接続機構は、更に、ルーティングおよび動作プロトコルを動的に再構成して、前記第１の動作コンポーネントセットに動作を中断させることなく前記追加のコンポーネントに対応するための手段を具備する、請求項１のデータ処理システム。
【請求項８】
更に、前記第１の動作コンポーネントセット上で行われている動作に介入することなく前記第１の動作コンポーネントセットと前記追加のコンポーネントの少なくとも１つとの間の電気的および論理的接続を除去するための手段を具備する、請求項１のデータ処理システム。
【請求項９】
前記追加のコンポーネントは、第２のプロセッサ、第２のメモリ、および第２のＩ／Ｏチャネルの少なくとも１つを含む、請求項１のデータ処理システム。
【請求項１０】
前記追加のコンポーネントが第２のプロセッサを含む場合、前記論理は、前記第１のプロセッサと前記第２のプロセッサとの間のシームレスな動作を可能とするための構成論理を含む、請求項１のデータ処理システム。
【請求項１１】
前記第１のプロセッサおよび前記第２のプロセッサは異種プロセッサである、請求項９のデータ処理システム。
【請求項１２】
データ処理システムであって、
プロセッサおよびメモリを含む第１の動作コンポーネントセットと、
前記第１の動作コンポーネントセット間の接続を提供し、ホットプラグコネクタを含む接続機構と、
前記データ処理システムの実行時の拡張を可能として第２の動作コンポーネントセットを含ませるための論理であって、前記第１の動作コンポーネントセットが動作している間に、前記第１の動作コンポーネントセットの性能を阻害することなく、前記第２の動作コンポーネントセットが前記ホットプラグ接続を介して接続される、論理と、
を具備する、データ処理システム。
【請求項１３】
更に、前記相互接続機構のルーティングおよび通信動作を制御するための構成を複数の構成から動的に選択するための論理を具備し、前記データ処理システムが前記第１のコンポーネント集合のみを含む場合、前記論理は第１の構成を選択し、前記データ処理システムが前記第１のコンポーネント集合および前記ホットプラグコネクタの１つを介して加えられた追加のコンポーネントの双方を含む場合、前記論理は第２の構成を選択する、請求項１２のデータ処理システム。
【請求項１４】
前記第２の動作コンポーネントセットは、前記第１のプロセッサとは異種である第２のプロセッサを含み、前記相互接続機構は、前記第１のプロセッサおよび前記第２のプロセッサの特定のものに作業負荷を割り当てるための構成論理を含み、前記第１および第２のプロセッサの各々の動作パラメータおよび前記割り当てる作業負荷の識別可能な特徴に基づいて割り当てを行う、請求項１２のデータ処理システム。
【請求項１５】
前記第２の動作コンポーネントセットは第２のメモリを含み、前記接続構造は、前記第１のメモリと前記第２のメモリとの間で連続的にメモリ空間を割り当てるための構成論理を含む、請求項１２のデータ処理システム。
【請求項１６】
前記第１の動作コンポーネントセットは更に第１の入出力（Ｉ／Ｏ）チャネルを具備し、前記第２の動作コンポーネントセットは第２のＩ／Ｏチャネルを具備し、前記相互接続構造は、前記第１のＩ／Ｏチャネルと前記第２のＩ／Ｏチャネルとの間で連続的にＩ／Ｏチャネル識別（ＩＤ）を割り当てるための構成論理を含む、請求項１２のデータ処理システム。
【請求項１７】
更に、前記相互接続機構のルーティングおよび動作プロトコルの再構成を可能として前記第２のコンポーネントセットを収容する前に、前記第２のコンポーネントセットの動作試験を自動的に開始および完了させるサービス要素を具備する、請求項１２のデータ処理システム。
【請求項１８】
前記接続機構内の前記論理は構成論理および検出論理を含み、前記構成論理は、ラッチと、該ラッチ内の値によって選択される、特定のルーティングおよび動作プロトコルを実施するための複数の構成レジスタとを含み、更に、第２の動作コンポーネントセットが前記ホットプラグコネクタに追加されているまたは前記ホットプラグコネクタから除去されていると検出された場合はいつでも、前記検出論理によって前記ラッチ内の値が設定される、請求項１２のデータ処理システム。
【請求項１９】
データ処理システムであって、
第１のプロセッサ、第１のメモリ、および第１の入出力（Ｉ／Ｏ）チャネルを含む第１の動作コンポーネントセットと、
第２の動作コンポーネントセットと、
前記第１のコンポーネント集合および前記第２の動作コンポーネントセットを相互接続し、ホットプラグコネクタを含む相互接続機構であって、前記第２の動作コンポーネントセットは前記ホットプラグコネクタの少なくとも１つを介して取り付けられている、相互接続機構と、
前記第１の動作コンポーネントセットの現在の動作に介入することなく前記第１の動作コンポーネントセットから前記第２の動作コンポーネントセットの電気的および論理的除去を実行するための手段と、
を具備する、データ処理システム。
【請求項２０】
更に、前記相互接続機構のルーティングおよび通信動作を制御するための構成を複数の構成から動的に選択するための論理を具備し、前記データ処理システムが前記第１のコンポーネント集合および前記ホットプラグコネクタの１つを介して接続された追加のコンポーネントの双方を含む場合、前記論理は第２の構成を選択し、前記データ処理システムが前記第１のコンポーネント集合のみを含む場合、前記論理は第１の構成を選択することを特徴とする、請求項１９のデータ処理システム。
【請求項２１】
前記除去を実行するための手段は、前記ホットプラグコネクタからの前記追加のコンポーネントの待ち状態の切断を検出した場合、前記第１の構成を選択するように前記論理をトリガするサービス要素を具備する、請求項２０のデータ処理システム。
【請求項２２】
更に、前記データ処理システム上の動作を制御し、前記データ処理システムの現在の構成に基づいて、前記第１のプロセッサおよび、ホットプラグコネクタを介して接続された第２のプロセッサを含む他のコンポーネント間で作業負荷を割り当てるオペレーティングシステム（ＯＳ）を具備する、請求項１９のシステム。
【請求項２３】
更に、前記ホットプラグコネクタへの前記追加のコンポーネントの結合および前記ホットプラグコネクタからの前記追加のコンポーネントの除去のための一連のホットプラグ接続ポートを提供する接続バックプレーンを具備する、請求項１９のデータ処理システム。
【請求項２４】
前記相互接続機構は、更に、前記第１の動作コンポーネントセットに動作を中断させることなく、ルーティングおよび動作プロトコルを動的に再構成して前記追加のコンポーネントの除去に対応するための手段を具備する、請求項１９のデータ処理システム。
【請求項２５】
更に、
第３のコンポーネント集合と、
前記第１の動作コンポーネントセット上で行われている動作に介入することなく、前記第１の動作コンポーネントセットと前記第３の動作コンポーネントセットとの間で電気的および論理的接続を提供するための手段と、
を具備する、請求項１９のデータ処理システム。
【請求項２６】
前記第２のコンポーネントセットは、第２のプロセッサ、第２のメモリ、および第２のＩ／Ｏチャネルの少なくとも１つを含む、請求項１９のデータ処理システム。
【請求項２７】
データ処理システムであって、
第１のプロセッサおよび第１のメモリを含む第１の動作コンポーネントセットと、
第２の動作コンポーネントセットと、
前記第１の動作コンポーネントセットと前記第２の動作コンポーネントセットとの間の接続を提供する接続機構であって、該接続機構は、ホットプラグ接続ポートと、前記データ処理システムの実行時の縮小を可能として前記第２の動作コンポーネントセットを除去するための論理とを含み、前記第２の動作コンポーネントセットは、前記ホットプラグ接続ポートを介して接続され、前記第１の動作コンポーネントセットが動作している間に、前記第１の動作コンポーネントセットの性能を阻害することなく除去される、接続機構と、
を具備する、データ処理システム。
【請求項２８】
更に、前記相互接続機構のルーティングおよび通信動作を制御するための構成を複数の構成から動的に選択するための論理を具備し、前記データ処理システムが前記第１のコンポーネントセットのみを含む場合、前記論理は第１の構成を選択し、前記データ処理システムが前記第１のコンポーネントセットおよび前記ホットプラグコネクタの１つを介して接続された追加のコンポーネントの双方を含む場合、前記論理は第２の構成を選択する、請求項２７のデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ処理システムに関し、具体的には、データ処理システムのホットプラグ可能なコンポーネントに関する。更に具体的には、本発明は、データ処理システムの主リソースコンポーネントの非介入ホットプラグ拡張を可能とする方法、システム、およびデータ処理システム構成に関する。
【背景技術】
【０００２】
個人用および商用の双方において、より優れた、リソースの豊富なデータ処理システムが要望されていることによって、業界では、顧客利用のために設計されているシステムの改善が続いている。一般に、商用および個人用の双方において、プロセッサの高速化、上位レベルキャッシュの増大、読み取り専用メモリ（ＲＯＭ）の大容量化、ランダムアクセスメモリ（ＲＡＭ）スペースの増大等に焦点を当てて改善が行われている。
【０００３】
顧客の要望を満たすためには、顧客が、ハードウエアリソースを含めて、追加のリソースによって既存のシステムを向上または拡張可能であることが必要である。例えば、ＣＤ−ＲＯＭを搭載したコンピュータを有する顧客は、後に、ＤＶＤドライブに「アップグレード」したり、ＤＶＤドライブを追加したりしようとする場合がある。あるいは、顧客は、６４ＫバイトメモリのＰｅｎｔｉｕｍ１プロセッサを有するシステムを購入し、後に、チップをＰｅｎｔｉｕｍ３チップにアップグレード／変更して、メモリ容量を２５６Ｋバイトに増大させようとする場合がある。
【０００４】
現在のデータ処理システムは、わずかな努力でシステムのハードウエア構成にこれらの基本的な変更を加えられるように設計されている。当業者には既知であるように、プロセッサやメモリをアップグレードするには、コンピュータの外箱を外して、マザーボード上で利用可能なプロセッサデッキまたはメモリスロットに新しいチップまたはメモリスティックを「留める」ことが必要である。同様に、ＤＶＤプレーヤは、マザーボード上の内部入出力（Ｉ／Ｏ）ポートの１つに接続することができる。システムによっては、外部ＤＶＤドライブを、シリアルポートまたはＵＳＢポートの１つに接続することも可能である。
【０００５】
更に、特に商用システムでは、処理リソースを増やすこと、すなわち、現在のプロセッサをもっと高速なものと置換するのではなく、同じ処理システムを更にいくつか購入し、それらを共にリンクさせて全体の処理能力を高くすることを含む改善が行われている。最新の商用システムは、単一のシステムにおいて多数のプロセッサを有するように設計されている。多くの商用システムは、分散型またはネットワーク化システムであり、多数の個別のシステムが互いに相互接続され、処理タスク／作業負荷を共有している。しかしながら、これらの「大規模」商用システムであっても、顧客の要望が変化すれば、頻繁にアップグレードまたは拡張を行わなければならない。
【０００６】
とりわけ、システムをアップグレードまたは変更する場合、特に内部に追加したコンポーネントについては、インストールを完了する前にシステムの電源を切る必要があることが多い。しかしながら、外部に接続したＩ／Ｏコンポーネントでは、システムを起動し実行している間に、単にコンポーネントをプラグインすれば良い場合がある。コンポーネントを追加する（内部追加または外部追加）ために用いる方法には無関係に、システムは、ファブリックと呼ばれる接続機構に関連した論理を含み、これによって、追加のハードウエアが追加されたこと、または単にシステム構成の変更が行われたことを認識する。次いで、この論理は、ユーザにプロンプトを出力して（または自動的に）、システム構成のアップグレードを開始させ、必要な場合には、必要なドライバをロードして新しいハードウエアのインストールを完了することができる。とりわけ、システム構成のアップグレードは、システムからコンポーネントを除去する場合にも必要である。
【０００７】
新しいＩ／Ｏハードウエアをデータ処理システムによってほぼ即座に利用可能とするプロセスは、当技術分野では一般に「プラグアンドプレイ」と呼ばれている。この現システムの機能によって、いったんコンポーネントが認識され、適切な動作のために必要なドライバ等がインストールされると、システムは自動的に、システムによるコンポーネントの利用を可能とする。
【０００８】
図１は、商用ＳＭＰを示す。これは、第１プロセッサ１０１、第２プロセッサ１０２、メモリ１０４、および入出力（Ｉ／Ｏ）デバイス１０６を備え、これらは全て相互接続機構１０８によって接続されている。相互接続機構１０８は、ワイヤおよび制御論理を含み、これによって、コンポーネント間の通信をルーティングすると共に、ハードウエア構成における変更に対するＭＰ１００の応答を制御する。このため、新しいハードウエアコンポーネントは、相互接続機構１０８を介して既存のコンポーネントにも（直接的または間接的に）接続される。
【０００９】
図１に例示するように、ＭＰ１００は、点線で示される論理パーティション１１０（すなわちソフトウエアによって実施されるパーティション）を備え、これが、第２プロセッサ１０２から第１プロセッサ１０１を論理的に分けている。ＭＰ１００内で論理パーティション１１０を利用することによって、第１プロセッサ１０１および第２プロセッサ１０２は、互いに独立して動作することができる。また、論理パーティション１１０は、他のプロセッサの動作問題およびダウンタイムから各プロセッサを実質的に遮断する。
【００１０】
ＳＭＰ１００等の商用システムは、上述のように、顧客の要望を満たすように拡張することができる。更に、商用システムに対する変更は、コンポーネントが故障して、システムがフルに動作することができなくなったり、最悪の場合には動作不能になった場合に行われることもある。その場合は、故障したコンポーネントを取り替えなければならない。ある顧客は、システムの製造業者／供給業者に、必要な修理またはアップグレードの管理を依頼する。他の顧客は、サービス技術者（または技術サポート員）を採用する。そのようなサービス技術者の主な仕事は、確実にシステムを機能させること、ならびに、顧客の社員がシステムにアクセスする能力およびシステムが処理時間に影響を受けやすい作業を継続する能力を大きく損ねることなく、システムに必要なアップグレードや修理を完了させることである。
【発明の開示】
【発明が解決しようとする課題】
【００１１】
現在のシステムでは、顧客（すなわち技術サポート員）が、図１のシステムから１つのプロセッサ（例えば第１プロセッサ１０１）を取り外したい場合、顧客は以下の一連のステップを完了させなければならない。
（１）第１プロセッサ１０１上での命令の実行を停止させ、全てのＩ／Ｏを阻止する。
（２）プロセッサ間にパーティションを置く。
（３）次いでシステムをシャットダウンする（電源を切る）。顧客の見地からは、システムがいかなる処理も可能でなくなったので（すなわち第２プロセッサ１０２上の動作も停止する）、故障停止に見える。
（４）第１プロセッサ１０１を取り外し、システムの電源を再び入れる。
（５）次いで、システム（第２プロセッサ１０２）を休止解除させる。休止解除プロセスは、システムの再起動、ＯＳのリブート、Ｉ／Ｏ動作の再開、および命令の処理を伴う。
【００１２】
同様に、顧客が、第２プロセッサ１０２のみを有するシステムにプロセッサ（例えば第１プロセッサ１０１）を追加したい場合、前とは逆の一連のステップを実行しなければならない。
（１）第２プロセッサ１０２上での命令の実行を停止させ、全てのＩ／Ｏを阻止する。顧客の見地からは、システムがいかなる処理も可能でなくなったので（すなわち第２プロセッサ１０２上の動作が停止する）、故障停止に見える。
（２）次いでシステムをシャットダウンする（電源を切る）。
（３）第１プロセッサ１０１を追加し、システムの電源を再び入れる。第１プロセッサ１０１はこの時点で初期化する。初期化は、通常、ＢＩＳＴ（組み込み自己診断テスト）等を含む一連のテストを行うことを伴う。
（４）次いで、システムを休止解除する。休止解除プロセスは、システムの再起動、Ｉ／Ｏ動作の再開、および双方のプロセッサ上での命令の処理の再開を伴う。
【００１３】
大規模商用システムでは、上述のプロセスは、極めて長い時間を要する可能性があり、状況によっては完了に数時間から何時間もかかる。このダウンタイム中、顧客はシステムを利用／アクセスすることができない。従って、故障停止は、業界またはシステムの特定の使用によっては、著しい経済的損失となる恐れがある。また、上述のように、プロセスの追加または除去のいずれかを完了させるために、システムの小規模リブートまたは完全リブートが必要である。上述の故障停止は、実際の物理パーティションを有するシステムでも経験されるが、これについて以下で説明する。
【００１４】
図２は、物理パーティションを有するＭＰサーバクラスタの一例を示す。ＭＰサーバクラスタ１２０は、バックプレーンコネクタ１２８を介して相互接続された３台のサーバ１２１、１２２、１２３を備える。各サーバは、図１のＭＰ１００と同様、プロセッサ１３１、メモリ１３６、およびＩ／Ｏ１３８を有する完全な処理システムである。点線で示す物理パーティション１２６は、サーバ１２１および１２２からサーバ１２３を分ける。サーバ１２１および１２２は、最初に相互に結合することができ、後にサーバ１２３を追加する。あるいは、全てのサーバを最初に相互に結合することができ、後にサーバ１２３を除去する。サーバ１２３を追加するか除去するかにかかわらず、システム全体の再構成を伴い、結果として顧客が故障停止を経験する上述の多ステッププロセスは、ＭＰサーバクラスタ１２０においてサーバ１２３を追加／除去するための唯一の既知の方法である。
【００１５】
より大きなシステムからサーバまたはプロセッサを除去することは、多くの場合、そのコンポーネントが動作中に問題を生じたことが契機になっている。これらの問題は、不良のトランジスタ、故障した論理または配線等、様々な理由で生じ得る。通常、システム／リソースを製造すると、システムが正しく動作しているか否かを判定するため、システムは一連の試験を受ける。これは、図２のようなサーバシステムについて特に当てはまる。試験においてほぼ１００パーセントの正確さであっても、製造中にいくつかの問題が検出されない場合がある。更に、製造後しばらくしてから内部コンポーネント（トランジスタ等）が不良になることが少なくないが、システムは顧客に出荷されて顧客の既存のシステムに追加されてしまうことがある。通常、システムを顧客の既存のシステムに接続すると、システムで２回目の一連の試験を行って、既存のシステムの確立したパラメータ内で追加システムが動作していることを保証する。後者の試験シーケンス（顧客レベル）は、技術者（または設計技術者）によって開始される。その仕事は、既存のシステムができるだけ短いダウンタイムで動作し続けることを確実にすることである。
【００１６】
極めて大きい複雑なシステムでは、既存のシステムおよび新しい追加したシステム上で試験を実行するタスクは、多くの場合、技術者の時間の大きな部分を占めている。問題が生じた場合、この問題は通常、問題が生じてからしばらく（おそらく数日）経った後まで認識されない。問題が特定のリソースで見出されると、多くの場合、このリソースを取り替えなければならない。上述のように、リソースを置換するには、置換／除去されているリソースが残りのシステムから論理的または物理的に分けられている場合であっても、技術者はシステム全体の再構成を行わなければならない。
【００１７】
問題のあるコンポーネントがシステムの作業負荷を共有していると、結果として、そのコンポーネントを有しないシステムよりも作業生成の効率が低くなり得る。あるいは、問題のあるコンポーネントは、処理エラーを引き起こし、これによってシステム全体が非効率的になる恐れがある。現在、かかるコンポーネントを除去するには、技術者が、最初にシステム全体の試験を行い、問題を起こしているコンポーネントを分離し、次いで上述の除去ステップシーケンスを開始する必要がある。このため、システム保守の大部分では、技術者が継続的にシステムの診断試験を行う必要がある。システムの監視は、多数の工数を費やし、顧客に対して極めてコスト高となる恐れがある。また、問題のあるコンポーネントは、技術者が診断を実行するまで識別されず、システムによって処理されている動作を損なうまで識別されない可能性がある。処理結果を廃棄して、システムを最後の正しい状態にバックアップしなければならないことがある。
【００１８】
本発明は、システムが、データ処理システムが動作している間に、主コンポーネントを既存のデータ処理システムにホットプラグすることによって、顧客の要望を満たすようにシステムを拡張可能であれば望ましいということを認識している。データ処理システムにおいて結果としてダウンタイムを生じることなくホットプラグ可能機能を可能とするシステムおよび方法は、望ましい改善であろう。これらおよび他の利点は、ここに記載する本発明によって提供される。
【課題を解決するための手段】
【００１９】
開示されるのは、いくつかの主ハードウエアコンポーネント、すなわちプロセッサ、メモリ、および入出力（Ｉ／Ｏ）チャネルのための非介入ホットプラグ機能を提供するデータ処理システムである。データ処理システムは、相互接続機構を介して相互接続された元のプロセッサ、元のメモリ、および元のＩ／Ｏチャネルを備える。また、データ処理システムは、サービス要素およびオペレーティングシステム（ＯＳ）も備える。相互接続機構は、配線ならびにハードウエアおよびソフトウエア論理コンポーネントを備え、これらによって、追加のプロセッサ、メモリ、およびＩ／Ｏチャネルのホットプラグ追加（または除去）、ならびに、追加のコンポーネントの様々な拡張または除去に対応するために必要な実行時の再構成機能の双方を可能とする。
【００２０】
具体的には、ホットプラグプロセッサコネクタ、ホットプラグメモリコネクタ、およびホットプラグＩ／Ｏチャネルコネクタが、相互接続機構によって提供される。各コネクタは、構成論理が関連付けられており、これは、対応するコンポーネントの追加に基づいて、複数の構成の中からシステム上で実施する構成を決定する。コンポーネントが追加された場合、サービス要素によって構成論理を示し、構成論理は、サービス要素から送出された信号によって識別される構成ファイルを選択する。また、サービス要素は、ＯＳに、新しいコンポーネントの追加を知らせ、ＯＳは、システムの現在の構成に基づいてシステムの作業負荷を再割り当てする。既存のコンポーネントの処理に介入することなく、様々なコンポーネントが追加され、拡張したシステム内で利用するためにすぐに利用可能となる。
【００２１】
本発明の上述および追加の目的、特徴、および利点は、以下の詳細な説明において明らかとなろう。
【００２２】
本発明の新規の特性と考えられる特徴は、特許請求の範囲において述べる。しかしながら、本発明自体は、その好適な使用形態、更に別の目的および利点と共に、添付図面と関連付けて読む例示的な実施形態の以下の詳細な説明を参照することによって、最も良く理解されよう。
【発明を実施するための最良の形態】
【００２３】
本発明は、現在のシステムでは避けられないダウンタイムを結果として生じることなく、処理システムの主コンポーネントの機能のホットプラグ追加／除去を可能とする方法およびシステムを提供する。具体的には、本発明は、データ処理システム業界に３つの大きな進歩をもたらす。（１）進行中のシステム動作に介入することのない、対称マルチプロセッサシステム（ＳＭＰ）におけるホットプラグ可能なプロセッサ／サーバ。（２）進行中のシステム動作に介入することのない、マルチプロセッサシステム（ＭＰ）における、メモリ、異種プロセッサ、および入出力（Ｉ／Ｏ）拡張デバイスを含むホットプラグ可能コンポーネント、および（３）他のシステムコンポーネントの動作を停止させない、システムのホットプラグコンポーネントに影響を与える問題の自動検出および問題のあるコンポーネントの動的除去。
【００２４】
簡略化のため、上述の３つの改善は、別個の見出しで識別するセクションとして提示し、一般的なホットプラグ機能は、ホット追加のセクションおよび別個のホット除去のセクションに分ける。これらのセクションの内容は重複する場合がある。しかしながら、実施形態の機能において生じる重複は、最初に発生した場合および後に参照する場合に詳細に記載する。
【００２５】
Ｉ．ハードウエア構成
ここで図面、特に図３を参照すると、本発明の様々な機構の実施を可能とする接続機構および他のコンポーネントによって設計されたマルチプロセッサシステム（ＭＰ）が示されている。ＭＰ２００は、プロセッサ２０１および２０２を備える。また、ＭＰ２００は、メモリ２０４および入出力（Ｉ／Ｏ）コンポーネント２０６も備える。様々なコンポーネントは、ホットプラグコネクタ２２０を備える相互接続機構２０８を介して相互接続されている。新しいホットプラグ可能コンポーネントの追加は、相互接続機構２０８のホットプラグコネクタ２２０を介して（直接的または間接的に）行われるが、これについては以下で更に詳細に説明する。
【００２６】
相互接続機構２０８は、配線および制御論理を含み、これによって、コンポーネント間の通信をルーティングすると共に、ハードウエア構成の変更に対するＭＰ２００の応答を制御する。制御論理は、ルーティング論理２０７および構成設定論理２０９を備える。具体的には、ＭＰ２００の左側に示すように、構成設定論理２０９は、第１および第２の構成設定、すなわちコンフィギュレーションＡ２１４およびコンフィギュレーションＢ２１６を備える。コンフィギュレーションＡ２１４およびコンフィギュレーションＢ２１６は、ラッチ２１７によって制御されるモード設定レジスタ２１８に結合されている。構成設定論理２０９内のコンポーネントの実際の動作については、以下で更に詳細に述べる。
【００２７】
上述のコンポーネントに加えて、ＭＰ２００は、サービス要素（Ｓ．Ｅ．）２１２も備える。Ｓ．Ｅ．２１２は、小さいマイクロコントローラであり、（オペレーティングシステム（ＯＳ）とは別個の）特別なソフトウエア符号化論理を備え、これを用いて、システムのコンポーネントを維持し、大規模システムに対するインタフェース動作を完了させる。このため、Ｓ．Ｅ．２１２は、ＭＰ２００を制御するために必要なコードを実行する。Ｓ．Ｅ．２１２は、ＯＳに、ＭＰ内の追加のプロセッサリソース（すなわちプロセッサ数の増加／削減）を通知し、他のシステムリソース（すなわちメモリ、Ｉ／Ｏ等）の追加／除去を通知する。
【００２８】
図４および５は、図３の２００に類似した２つのＭＰを示し、これらは、ホットプラグコネクタ２２０を介して共に結合されて、より大きな対称ＭＰ（ＳＭＰ）システムを形成する。ＭＰ２００は、要素０および要素１と示されるが、かかる表示は説明の目的のために必要なものである。要素１は、別個のＭＰのホットプラグコネクタ２２０を結合するために設計された配線、コネクタピン、またはケーブル接続を介して要素０に結合することができる。１つの実施形態では、ＭＰを実際に背景プロセッサ拡張ラックにプラグインし、これによって顧客のＳＭＰを拡張して追加のＭＰを収容することができる。
【００２９】
一例として、要素０は、顧客の主システム（またはサーバ）であり、この顧客が主システムの処理機能／リソースの増大を望んでいるものとする。要素１は、システム技術者によって主システムに追加される二次システムである。本発明によれば、要素１の追加は、ここに提供するホットプラグ動作によって行われ、要素１を接続している間、顧客は要素０のダウンタイムを経験することはない。
【００３０】
図４および５内に示すように、ＳＭＰ３００は、点線で示す物理パーティション２１０を備え、これが要素１から要素０を分けている。物理パーティション２１０によって、各ＭＰ２００は互いにある程度独立して動作することができる。ある実施では、物理パーティション２１０は、他のＭＰ２００の動作上の問題およびダウンタイムから各ＭＰ２００をほぼ遮断する。
【００３１】
II．ＳＭＰにおけるプロセッサの非介入ホットプラグ可能追加
図６は、要素０に要素１を追加する非介入ホットプラグ動作を行うプロセスのフローチャートを示す。以下に説明する「ホット追加」の例では、ＭＰ２００の最初の動作状態は以下の通りである。
要素０：相互接続機構２０８上でコンフィギュレーションＡ２１４を用いてＯＳおよびアプリケーションを実行している。また、要素０は要素１から電気的および論理的に分かれている。
サービス要素０：単一のＭＰすなわち要素０のコンポーネントを管理している。
接続機構：コンフィギュレーションＡ２１４を介したルーティング制御等。ラッチ位置はコンフィギュレーションＡに設定されている。
要素１：まだ存在していないか、または存在しているが、まだシステムにプラグインされていない。
【００３２】
図３、４、および５に示すもの以外に他のハードウエアコンポーネントが可能である。設けられているものは例示の目的のためのみに示し、本発明を限定することを意図していない。本実施形態では、ＭＰ２００は、設定されたサイクル数内での切り替えを実行可能とするための論理も備えるので、顧客には動作時間の明らかな損失は見られない。ある数のサイクルを割り当てて、切り替えを行うことができる。接続機構制御論理は、構成切り替えを実行するため、アービタからそのサイクル量を要求する。ほとんどの実施では、実際の必要な時間は、１秒の約１００万分の１（１マイクロ秒）であり、これは顧客の観点からは無視できる（または見えない）。
【００３３】
図６に戻ると、プロセスはブロック４０２において開始し、ここでサービス技術者は、要素０（ＥＬ０）が実行している間に、要素０のホットプラグコネクタ２２０に要素１（ＥＬ１）を物理的にプラグインする。次いで、ブロック４０４に示すように要素１に電力を印加する。１つの実施では、技術者は、要素１を物理的に電源に接続する。しかしながら、本発明では、ホットプラグコネクタ２２０を介して電力を供給することも考えられるので、電源に直接接続しなければならないのは主システムすなわち要素０のみである。これは、全てのＭＰをプラグ接続するバックプレーンコネクタを介して達成可能である。
【００３４】
いったん要素１が電力を受容すると、要素１内のＳ．Ｅ．は、要素１を初期化するためのチェックポイントステップのシーケンスを完了させる。１つの実施形態では、要素１に一組の物理ピンを設け、これらをサービス技術者によって選択してチェックポイントプロセスを開始する。しかしながら、ここで説明する実施形態では、ブロック４０６に示すように、Ｓ．Ｅ．０が、要素０に対する別の要素のプラグインの自動検出を完了する。次いで、Ｓ．Ｅ．０は、マスタの役割を負い、Ｓ．Ｅ．１をトリガして、ブロック４０８に示すように、要素１のパワーオンリセット（ＰＯＲ）を開始する。ＰＯＲの結果、クロックがオンし、ＢＩＳＴを実行し、要素１のプロセッサ、メモリおよび接続機構を初期化する。
【００３５】
１つの実施形態では、Ｓ．Ｅ．１は、試験アプリケーションを実行して、要素１が適切に動作していることを保証する。このため、ブロック４１０において、上述の試験に基づき、要素１が「クリーン」か、すなわち主システム（要素０）に統合される準備ができているか否かを判定する。要素１が統合のためにクリアされていると仮定すると、次いで、ブロック４１２に示すように、Ｓ．Ｅ．０およびＳ．Ｅ．１は、双方のＭＰ２００が動作／実行している間に、各ＭＰ２００の接続機構間の相互接続を初期化する。このプロセスは、通信ハイウエイを開放するので、双方の接続機構はタスクを共有することができ、情報のルーティングを効率的に調整することができる。このプロセスには、電気的に接続されたドライバおよび受信器をイネーブルすること、および、必要な場合には、ブロック４１４に示すように、この結合システムの最も効率的な動作のためにインタフェースを調整することが含まれる。１つの実施形態では、インタフェースの調整は内部プロセスであり、接続機構の制御論理によって自動的に完了する。システム全体で動作を同期させるため、要素０の制御論理がマスタの役割を負う。すると、要素０の制御論理は、要素０および要素１の双方の全ての動作を制御する。要素１の制御論理は、要素０の動作パラメータ（例えば構成モード設定）を自動的に検出し、それ自身の動作パラメータを同期させて、要素０のものを反映させる。相互接続機構２０８は、要素０の論理の制御のもとで、論理的および物理的に結合される。
【００３６】
インタフェースの調整を行っている間、ブロック４１６に示すように、双方の要素のモード設定レジスタ２１８にコンフィギュレーションＢ２１６をロードする。同じ構成モードをロードすることによって、この結合システムは、接続機構レベルで同じルーティングプロトコルにより動作することができる。どちらか一方の構成モード／プロトコルを選択するプロセスは、ラッチ２１７によって制御される。動的な例では、Ｓ．Ｅ．によって、次の要素がプラグインされ、初期化を完了し、システム内に組み込まれる準備ができたことが示されると、新しいトポロジのため、既存の要素および新しい要素の双方で構成レジスタをセットアップする。次いでＳＥは、ハードウエアに「ゴー」コマンドを発する。例示の実施形態では、ゴーコマンドを実行すると、自動化状態機械は接続機構の動作を一時的に停止し、ラッチ２１７を変更してコンフィギュレーションＢを用い、接続機構の動作を再開する。代替的な実施形態では、ＳＥのゴーコマンドは、全要素上のラッチ２１７を同期して変更する。いずれの実施形態でも、コンピュータシステムにおけるＯＳおよびＩ／Ｏデバイスは、故障停止を経験しない。なぜなら、構成切り替えは、ほぼプロセッササイクルで生じるからである（この実施形態ではマイクロ秒未満）。ラッチの値は、ＳＭＰ上でどのように情報をルーティングするかをハードウエアに示し、接続機構上で実施されるルーティング／動作プロトコルを決定する。１つの実施形態では、ラッチはマルチプレクサ（ＭＵＸ）のための選択入力として機能し、そのデータ入力ポートは構成レジスタの一方に結合されている。ラッチ内の値は、一方の構成レジスタまたは他方の構成レジスタをＭＵＸ出力として選択させる。ＭＵＸの出力は、モード設定レジスタ２１８にロードされる。次いで、自動化状態機械コントローラは、システムが実行している間にプロトコルを実施する。
【００３７】
ホットプラグ動作の後のシステムの動作状態は以下の通りである。
要素０：接続機構２０８上でコンフィギュレーションＢ２１６を用いてＯＳおよびアプリケーションを実行している。要素０は、電気的および論理的に要素１に接続されている。
要素１：接続機構２０８上でコンフィギュレーションＢ２１６を用いてＯＳおよびアプリケーションを実行している。要素１は、電気的および論理的に要素０に接続されている。
サービス要素０：要素０および要素１の双方のコンポーネントを管理する。
接続機構：コンフィギュレーションＢを介したルーティング制御等。ラッチ位置はコンフィギュレーションＢに設定されている。
【００３８】
ブロック４１８に示すように、この結合システムは、増大した処理能力、分散メモリ等を考慮した新しいルーティングプロトコルで動作を続ける。顧客は、主システムのダウンタイムを経験することなく、更にシステムをリブートする必要もなく、すぐに結合システムの増大した処理リソース／能力の利点を得る。
【００３９】
上述のプロセスは、一度に１つ、または同時に複数のいずれかで、多数の追加要素の接続を含むように拡張可能である。一度に１つを完了すると、選択された構成レジスタは、要素を新しく追加（または除去）するたびに切り替えられる。また、別の実施形態では、異なる構成レジスタ範囲を設けて、ある特定の数までのホットプラグされた要素を処理することができる。例えば、システムが１、２、３、または４個の要素を含むことに基づいて、４個の異なるレジスタファイルを選択のために利用可能である。構成レジスタは、メモリ内で特定の位置を示すが、この位置に、特定のハードウエア構成用に設計されたより大きな動作／ルーティングプロトコルが格納され、処理システムの現在の構成に基づいて活性化される。
【００４０】
III．メモリ、Ｉ／Ｏチャネル、および異種プロセッサの非介入ホットプラグ
図８に、ホットプラグ機能の１つの追加的な拡張を示す。具体的には、図８は、上述の非介入ホットプラグ機能の機構を拡張して、追加メモリおよびＩ／Ｏチャネルならびに異種プロセッサのホットプラグ追加に対応する。ＭＰ５００は、図２のＭＰ２００と同様の主コンポーネントを含み、新しいコンポーネントは５００番台の参照番号で識別する。主コンポーネント（すなわち、相互接続機構２０８を介して共に結合されたプロセッサ２０１および２０２、メモリ５０４Ａ、ならびにＩ／Ｏチャネル５０６Ａ）に加えて、ＭＰ５００は、接続機構２０８上にいくつかの追加のコネクタポートを含む。これらのコネクタポート間に、ホットプラグメモリ拡張ポート５２１、ホットプラグＩ／Ｏ拡張ポート５２２、およびホットプラグプロセッサ拡張ポート５２３が含まれる。
【００４１】
各拡張ポートは、対応する構成論理５０９Ａ、５０９Ｂ、および５０９Ｃを有し、それぞれのコンポーネントのためのホットプラグ動作を制御する。メモリ５０４Ａに加えて、追加のメモリ５０４Ｂを、ＭＰ３００ならびに要素０および要素１に対して上述したプロセスと同様に、接続機構２０８のメモリ拡張ポート５２１に「プラグイン」することができる。アドレス０からＮまでの初期メモリ範囲を拡張して、Ｎ＋１からＭまでのアドレスを含ませる。いずれのサイズのメモリの構成モードも、ラッチ５１７Ａによって選択可能である。ラッチ５１７Ａは、追加のメモリ５０４Ｂを付加する場合、Ｓ．Ｅ．２１２によって設定される。また、Ｉ／Ｏチャネル５０６Ｂ、５０６ＣをホットプラグＩ／Ｏ拡張ポート５２２にホットプラグすることによって、追加のＩ／Ｏチャネルを提供可能である。ここでも、追加のＩ／Ｏチャネル５０６Ｂ、５０６Ｃを追加する場合、Ｉ／Ｏチャネルのサイズの構成モードは、Ｓ．Ｅ．２１２によって設定されるラッチ５１７Ｃにより選択可能である。
【００４２】
最後に、非対称プロセッサ（すなわちＭＰ２００内のプロセッサ２０１および２０２とは異なる方法で構成／設定されたプロセッサ）を、ホットプラグプロセッサ拡張ポート５２３にプラグインし、サーバ／要素１について上述したプロセスと同様に初期化することができる。しかしながら、利用可能なメモリおよびＩ／Ｏリソースの量の増大のみを検討しなければならない他の構成論理５０９Ａ、５０９Ｂとは異なり、プロセッサ追加のための構成論理５０９Ｃでは、より多くのパラメータを考慮する必要がある。なぜなら、プロセッサは非対称であり、正しい構成モードの選択において作業負荷の分割、割り当て等を考慮しなければならないからである。
【００４３】
上述の構成によって、システムは、ＭＰ５００上の処理に著しい障害を生じることなく、プロセッサ、メモリ、Ｉ／Ｏチャネル等を縮小／拡張することができる。具体的には、上述の構成によって、メモリおよびＩ／Ｏの双方で利用可能なアドレス空間を拡張（および縮小）することが可能となる。アドオンまたは除去の各々は互いに独立して、すなわちプロセッサ対メモリまたはＩ／Ｏとして処理され、図示のように別個の論理によって制御される。従って、本発明は、「ホットプラグ」の概念を、従来の言葉の意味ではホットプラグすることができないデバイスに拡大する。
【００４４】
図８に示すシステムの初期状態は、メモリ空間量Ｎ、Ｉ／Ｏ空間の数（すなわち、Ｉ／Ｏデバイスを接続するチャネル）Ｒ、速度Ｚでの処理能力量Ｙなどを含む。
【００４５】
システムの最終状態は、上述の初期状態から、メモリ空間量Ｍ（Ｍ＞Ｎ）、Ｉ／Ｏチャネル数Ｔ（Ｔ＞Ｒ）、ならびに速度ＺおよびＺ＋Ｗでの処理能力量Ｙ＋Ｘまでの範囲である。
【００４６】
上述の変数は、例示の目的のためにのみ用い、特定のパラメータ値を示したり本発明を限定したりする意図はない。
【００４７】
上述の実施形態では、サービス技術者が、追加のメモリ、プロセッサまたはＩ／Ｏを物理的にプラグインすることによって新しいコンポーネント（複数可）をインストールし、次いでＳ．Ｅ．２１２が自動検出および初期化／構成プロセスを完了させる。追加のメモリがインストールされると、Ｓ．Ｅ．２１２は信頼性試験を実行し、全てのコンポーネントで、Ｓ．Ｅ．２１２はＢＩＳＴを実行する。次いで、Ｓ．Ｅ．２１２は、インタフェース（点線で表す）を初期化し、代替の構成レジスタ（複数可）をセットアップする。Ｓ．Ｅ．２１２は、１マイクロ秒未満で全ハードウエアの切り替えを完了し、次いで、ＯＳに新しいリソースの可用性を通知する。次いでＯＳは、どのコンポーネントが利用可能で、どの構成が実行しているかに従って、作業負荷の割り当てを完了させる。
【００４８】
IV．処理システムにおけるホットプラグされたコンポーネントの非介入除去
図７は、ホットプラグコンポーネントの非介入除去を完了させるプロセスのフローチャートを示す。以下、図４および図５も参照して、要素１および要素０の双方を備える処理システムにおける要素１の除去について説明する。図７に示す除去の例では、ＳＭＰの最初の動作状態は、図６のホットプラグ動作の後の上述の動作状態である。
【００４９】
要素１を除去するためには、サービス技術者が、最初に何らかの方法で待ち状態の除去を知らせる必要がある。１つの実施形態では、各要素の外面上にホット除去ボタン２２５を設ける。ボタン２２５は、発光ダイオード（ＬＥＤ）またはその他の信号手段を含み、これによって、動作中の要素が、「オンライン」すなわちプラグインおよび機能しているか、またはオフラインであるとして、サービス技術者によって視覚的に識別可能である。従って、図７において、サービス技術者が要素１を除去したい場合、ブロック４５２に示すように、技術者は最初にボタン２２５を押す。別の実施形態では、各要素は何らかの種類のバックプレーンコネクタに留められていると仮定し、要素１を適所に保持しているクランプの除去によって、Ｓ．Ｅ．２１２に再構成プロセスの開始を知らせる。更に別の実施形態では、システム管理者が、Ｓ．Ｅ．２１２をトリガして、特定のコンポーネントの除去動作を開始させることができる。トリガは、システム上で実行しているソフトウエア構成ユーティリティ内で除去オプションを選択することで行われる。以下のセクション５において、サービス技術者またはシステム管理者による開始を必要としない自動除去方法について説明する。
【００５０】
いったんボタン２２５が押されると、顧客からは隠されて（すなわち要素０は実行したままで）、再構成プロセスが背景で開始する。ブロック４５４に示すように、Ｓ．Ｅ．２１２は、ＯＳに、要素１のリソースの喪失処理を通知する。これに応答して、ＯＳは、ブロック４５６に示すように、要素１から要素０にタスク／作業負荷を再割り当てし、要素１を解放する。Ｓ．Ｅ．２１２は、ＯＳが要素１から要素０に全処理（およびデータ格納）の再割り当てを完了したという指示を監視し、ブロック４５８において、再割り当てが完了したか否かについて判定を行う。いったん再割り当てが完了すると、ブロック４６０に示すように、ＯＳはＳ．Ｅ．２１２にメッセージを送り、ブロック４６２に示すように、Ｓ．Ｅ．２１２は代替的な構成設定を構成レジスタ２１８にロードする。代替的な構成設定のロードを行うには、Ｓ．Ｅ．２１２が、その構成設定を選択するためラッチ２１７内で値を設定する。別の実施形態では、ラッチ２１７は、ボタン２２５が最初に押されて除去をトリガした場合に設定される。要素１は、要素０を中断することなく、ＳＭＰ接続機構から論理的に除去され、電気的に除去される。次いで、ブロック４６４に示すように、Ｓ．Ｅ．２１２はボタン２２５を明るくする。この照明によって、サービス技術者に再構成プロセスが完了したことを知らせる。次いで、ブロック４６６に示すように、技術者は電源を切り要素１を物理的に除去する。
【００５１】
上述の実施形態では、ボタン２２５内のＬＥＤを利用してサーバの動作状態を知らせる。このため、予め確立されたカラーコードを設定して、要素をオン（ホットプラグ）またはオフ（除去）した場合に顧客または技術者に認識させる。例えば、青い色は、要素が充分に機能し、電気的および論理的に取り付けられていることを示し、赤い色は、要素が再構成の過程にあり、まだ物理的に除去してはいけないことを示し、緑色（または照明なし）は、要素の再構成が済んでおり（またはもはや論理的にも電気的にも存在しない）、物理的に除去可能であることを示す。
【００５２】
V．問題のあるコンポーネントの非介入自動検出および除去
ホットプラグコンポーネントによる上述の手動除去機能が与えられれば、本発明を拡張することによって、問題のある要素（またはコンポーネント）の非介入自動検出、および、予め確立された（または所望の）動作レベルで機能していない要素または不良の要素の自動分離が行われる。本発明の非介入ホットプラグ機能により、技術者は、処理システム全体を分解することなく問題のある要素を除去することができる。本発明は、この機能を更にもう一段階拡張して、システムにプラグインされたコンポーネントの自動的な問題検出を可能とし、その後、非介入的に（システムが動作している間に）システムから問題のある／不良のコンポーネントを動的に除去する。技術者が開始する再構成とは異なり、この問題要素／コンポーネントの検出およびこれに応じた再構成は自動的に行われ、残りの処理システムで顕著な故障停止を生じることなく背景で行われる。本実施形態によって、問題のある／不良のコンポーネントの効率的な検出が可能となり、問題のあるコンポーネントを処理タスクに用いた場合の、システム全体の完全性に対する潜在的な問題を軽減する。この実施形態は、更に、残りのシステムに故障停止を生じることなく適時に不良のコンポーネントを置換することに役立つ。
【００５３】
図９は、ホットプラグ環境内における問題のあるコンポーネントの自動検出および動的割り当て解除のプロセスを示す。このプロセスはブロック６０２において開始し、Ｓ．Ｅ．が、システムに追加されている新しいコンポーネントを検出し、システムの現在の有効動作状態（プロセッサ、構成レジスタ等の構成状態）をセーブする。あるいは、自動的に、Ｓ．Ｅ．は、システム動作中の予め確立された時間間隔で、更に、新しいコンポーネントがシステムに追加された場合はいつでも、動作状態をセーブする。ブロック６０４に示すように、新しい動作状態を入力し、システムハードウエア構成（新しいコンポーネントを含む）を試験する。ブロック６０６において、新しい動作状態およびシステム構成の試験がＯＫ信号を生成するか否かを判定する。システム構成の試験には、システム全体に対するＢＩＳＴまたは新しいコンポーネントのみに対するＢＩＳＴ、および新しいコンポーネントの信頼性試験等の他の構成試験が含まれ得る。試験がＯＫ信号を戻した場合、ブロック６０８に示すように、新しい動作状態を現在の状態としてセーブする。次いで、ブロック６１０に示すように、新しい動作状態がシステム全体に実装される。プロセスループは、変更があった場合または所定の時間間隔が経過した場合に、いずれかの新しい動作状態の試験に戻る。
【００５４】
試験が問題ありの指示を戻した場合、例えばＢＩＳＴが失敗したか、または実行時エラーチェック回路が活性化した場合、検出および割り当て解除プロセスの割り当て解除段階を開始する。Ｓ．Ｅ．は、図７に示したステップと同様の一連のステップを経るが、サービス技術者が除去プロセスを開始した図７とは異なり、この実施形態の除去プロセスは自動化されており、あるレベルで試験が失敗したことの指示を受信したことの直接の結果として開始する。Ｓ．Ｅ．は、ブロック６１２に示すように除去プロセスを開始する。ブロック６１４に示すように、出力デバイスにメッセージを送信して、顧客またはサービス技術者に、特定のコンポーネントで問題が見つかり、そのコンポーネントを除去したこと（または除去していること）（すなわちオフラインとすること）を知らせる。１つの実施形態では、出力デバイスは、処理システムに接続されたモニタであり、これによってサービス技術者はシステム全体の動作パラメータを監視する。別の実施形態では、問題は、製造業者または供給業者に（ネットワーク媒体を介して）メッセージとして送られ、次いでその業者が、ブロック６１６に示すように、不良のコンポーネントを置換または修理するための迅速な処置を取ることができる。
【００５５】
１つの実施形態では、検出段階は、チップレベルでの試験を含む。このため、製造業者レベルの試験が、システムが動作している間およびシステムを顧客に出荷した後に、システム上で行われる。上述のプロセスによって、システムは、製造品質自己試験機能およびそれらの試験に基づく自動的な非介入動的再構成が可能である。ある１つの特定の実施形態は、パーティションのバーチャル化を伴う。パーティション切り替え時に、パーティションの状態をセーブする。製造業者品質自己試験は、様々なコンポーネントにおいて専用ハードウエアによって実行される。試験は、上述のように非介入でパーティションを切り替えるのに要するのとほぼ同じ時間（１マイクロ秒）のみを要する。試験によってパーティションが悪いことが示されると、Ｓ．Ｅ．は、自動的に悪いコンポーネントから作業負荷を再割り当てし、セーブされた以前の良好な状態を復元する。
【００５６】
本発明について好適な実施形態を参照して具体的に図示し説明したが、当業者には、本発明の精神および範囲から逸脱することなく、形態および詳細において様々な変更を行い得ることは理解されよう。
【図面の簡単な説明】
【００５７】
【図１】従来技術によるマルチプロセッサシステム（ＭＰ）の主なコンポーネントのブロック図である。
【図２】従来技術によるサーバクラスタの複数のサーバを示すブロック図である。
【図３】本発明の１実施形態に従って、様々なホットプラグ機構を提供するように用いられる接続機構制御論理によって設計されたデータ処理システム（サーバ）のブロック図である。
【図４】本発明の１実施形態に従ってホットプラグのために構成された図３の２つのサーバを含むＭＰのブロック図である。
【図５】本発明の１実施形態に従ってホットプラグのために構成された図３の２つのサーバを含むＭＰのブロック図である。
【図６】本発明の１実施形態に従って図４のＭＰにサーバを追加するプロセスを示すフローチャートである。
【図７】本発明の１実施形態に従って図４のＭＰからサーバを除去するプロセスを示すフローチャートである。
【図８】本発明の１実施形態に従って全ての主コンポーネントのホットプラグ拡張を可能とするデータ処理システムのブロック図である。
【図９】本発明の１実施形態に従って、検出可能な問題を生じているホットプラグされたコンポーネントの自動検出および動的除去を完了するプロセスを示すフローチャートである。
【図１】
2005011319.tif 000003
【図２】
2005011319.tif 000004
【図３】
2005011319.tif 000005
【図４】
2005011319.tif 000006
【図５】
2005011319.tif 000007
【図６】
2005011319.tif 000008
【図７】
2005011319.tif 000009
【図８】
2005011319.tif 000010
【図９】
2005011319.tif 000011