(57)【要約】  保守インターフェースユニットを含む装置が説明される。１つの例示的な実施形態において、装置はマルチプロセッサシステムおよび保守インターフェースユニットを含む。マルチプロセッサシステムは、メモリにアクセスするのにキャッシュ一貫性を使用する。保守インターフェースユニットは、マルチプロセッサシステム内に組み入れられ、外部保守システムに代わってマルチプロセッサシステムへのバックドアによるアクセスを可能にするように構成される。また、保守インターフェースユニットは、マルチプロセッサシステム内の操作を実行すると同時にキャッシュ一貫性を維持するようにも構成される。
2007531084.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュ一貫性を使用して、メモリ（１０８）にアクセスするマルチプロセッサシステム（１０２）と、
前記マルチプロセッサシステム（１０２）に統合された保守インターフェースユニット（２０８）であって、
（ｉ）外部保守システム（１０４）に代わって前記マルチプロセッサシステム（１０２）へのバックドアによるアクセスを提供し、
（ｉｉ）前記マルチプロセッサシステム内の処理を実行するとともに、前記キャッシュ一貫性に関与する
ように構成される保守インターフェースユニットと
を備えたことを特徴とする装置（１００、１０２、２００、２０２）。
【請求項２】
１つまたは複数のチップをさらに備えたことを特徴とする請求項１に記載の装置。
【請求項３】
前記保守インターフェースユニットは、前記マルチプロセッサシステムの一部を含むチップ上に統合され、前記外部保守システムは、前記保守インターフェースユニットを介して前記マルチプロセッサシステムに結合されるが、前記保守インターフェースユニットと同じチップ上には組み入れられないことを特徴とする請求項１に記載の装置。
【請求項４】
前記保守インターフェースユニットは、前記外部保守システムにメモリの読取りおよび／または書込みを行わせるとともに、キャッシュ一貫性を維持させるように、さらに構成されることを特徴とする請求項１に記載の装置。
【請求項５】
前記保守インターフェースユニットは、前記外部保守システムに前記マルチプロセッサシステムにおいて動作する１つまたは複数のオペレーティングシステムと通信させるように、さらに構成されることを特徴とする請求項１に記載の装置。
【請求項６】
前記保守インターフェースユニットは、前記外部保守システムに前記マルチプロセッサシステムを初期化させるように、さらに構成されることを特徴とする請求項１に記載の装置。
【請求項７】
前記保守インターフェースユニットは、前記マルチプロセッサシステムにおいてエラー状態が検出された場合に前記外部保守システムに自動的に通知するように、さらに構成されることを特徴とする請求項１に記載の装置。
【請求項８】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、装置および／またはオペレーティングシステムが利用できないときにそれを認識し、前記マルチプロセッサシステムに前記利用できないことを自動的に通知する処理を含むことを特徴とする請求項１に記載の装置。
【請求項９】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、装置および／またはオペレーティングシステムが利用できないときにそれを認識し、前記マルチプロセッサシステムに前記利用できないことを自動的に通知し、前記外部保守システムに前記利用できないことを自動的に通知する処理を含むことを特徴とする請求項１に記載の装置。
【請求項１０】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、前記マルチプロセッサシステムに割込みコマンドを発行する処理を含むことを特徴とする請求項１に記載の装置。
【請求項１１】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、偽造メッセージの処理を含むことを特徴とする請求項１に記載の装置。
【請求項１２】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、偽造メッセージを受け取り、前記偽造メッセージを生成した前記マルチプロセッサシステム内のエンティティに自動的に応答する処理を含むことを特徴とする請求項１に記載の装置。
【請求項１３】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、偽造メッセージを受け取り、前記外部保守システムに前記偽造メッセージを自動的に通知する処理を含むことを特徴とする請求項１に記載の装置。
【請求項１４】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、エラーテストを実行する処理を含むことを特徴とする請求項１に記載の装置。
【請求項１５】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、前記マルチプロセッサシステムをエラー状態にする処理を含むことを特徴とする請求項１に記載の装置。
【請求項１６】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、前記外部保守システムが前記マルチプロセッサシステムの性能を監視することを可能にするために、前記マルチプロセッサシステムに複数の人為的要求をする処理を含むことを特徴とする請求項１に記載の装置。
【請求項１７】
キャッシュ一貫性を使用してメモリ（１０８）にアクセスするマルチプロセッサシステム（１０２）と、
前記マルチプロセッサシステムの性能を監視し、前記性能に関して異常が検出された場合に前記マルチプロセッサシステムを整備するように構成された外部保守システム（１０４）と、
前記外部保守システムに代わって前記マルチプロセッサシステムへのバックドアによるアクセスを可能にし、前記マルチプロセッサシステム内の操作を実行するとともに、前記キャッシュ一貫性に関与するように構成される前記マルチプロセッサシステム（１０２）に統合された保守インターフェースユニット（２０８）と
を備えたことを特徴とするシステム（１００）。
【請求項１８】
前記外部保守システムは前記保守インターフェースユニットを介して前記マルチプロセッサシステムに結合され、前記マルチプロセッサシステム内に統合されないことを特徴とする請求項１７に記載のシステム。
【請求項１９】
前記保守インターフェースユニットは、前記外部保守システムにメモリの読取りおよび／または書込みを行わせるとともに、キャッシュ一貫性を維持させるように、さらに構成されることを特徴とする請求項１７に記載のシステム。
【請求項２０】
前記保守インターフェースユニットは、前記外部保守システムに前記マルチプロセッサシステムにおいて機能する１つまたは複数のオペレーティングシステムと通信させるように、さらに構成されることを特徴とする請求項１７に記載のシステム。
【請求項２１】
前記保守インターフェースユニットは、前記外部保守システムが前記マルチプロセッサシステムを初期化するように、さらに構成されることを特徴とする請求項１７に記載のシステム。
【請求項２２】
前記保守インターフェースユニットは、前記マルチプロセッサシステムにおいてエラー状態が検出された場合に前記外部保守システムに自動的に通知するように、さらに構成されることを特徴とする請求項１７に記載のシステム。
【請求項２３】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、装置および／またはオペレーティングシステムが利用できないときにそれを認識し、前記マルチプロセッサシステムに前記利用できないことを自動的に通知する処理を含むことを特徴とする請求項１７に記載のシステム。
【請求項２４】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、装置および／またはオペレーティングシステムが利用できないときにそれを認識し、前記マルチプロセッサシステムに前記利用できないことを自動的に通知し、前記外部保守システムに前記利用できないことを自動的に通知する処理を含むことを特徴とする請求項１７に記載のシステム。
【請求項２５】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、前記マルチプロセッサシステムに割込みコマンドを発行する処理を含むことを特徴とする請求項１７に記載のシステム。
【請求項２６】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、偽造メッセージを処理する処理を含むことを特徴とする請求項１７に記載のシステム。
【請求項２７】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、偽造メッセージを受け取り、前記偽造メッセージを生成した前記マルチプロセッサシステム内のエンティティに自動的に応答する処理を含むことを特徴とする請求項１７に記載のシステム。
【請求項２８】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、偽造メッセージを受け取り、前記外部保守システムに前記偽造メッセージを自動的に通知する処理を含むことを特徴とする請求項１７に記載のシステム。
【請求項２９】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、エラーテストを実行する処理を含むことを特徴とする請求項１７に記載のシステム。
【請求項３０】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、前記マルチプロセッサシステムをエラー状態にする処理を含むことを特徴とする請求項１７に記載のシステム。
【請求項３１】
前記保守インターフェースユニットによって実行される処理の少なくとも１つは、前記外部保守システムが前記マルチプロセッサシステムの性能を監視することを可能にするために、前記マルチプロセッサシステムに複数の人為的要求をする処理を含むことを特徴とする請求項１７に記載のシステム。
【請求項３２】
キャッシュ一貫性を使用してメモリ（１０８）にアクセスするマルチプロセッサシステム（１０２）において、
外部保守システム（１０４）に代わって前記マルチプロセッサシステム（１０２）に、保守インターフェースユニット（２０８）の形で前記マルチプロセッサシステム（１０２）に統合されたバックドアによるアクセス（２０８）を提供するステップと、
前記キャッシュ一貫性への関与を可能にするために、前記保守インターフェースユニット（２０８）を前記マルチプロセッサシステム（１０２）におけるプロセッサの１つとして扱うステップと
を備えたことを特徴とする方法（４００、５００）。
【請求項３３】
前記保守インターフェースユニットを前記マルチプロセッサシステムにおけるプロセッサの１つとして扱うステップは、前記保守インターフェースユニットが、
（ｉ）前記マルチプロセッサシステムに統合された他の装置およびシステムと通信し、
（ｉｉ）前記マルチプロセッサシステムに統合された他の装置およびシステムにコマンドを発行し、
（ｉｉｉ）前記マルチプロセッサシステムに統合された他の装置およびシステムを監視するとともに、前記マルチプロセッサシステムに割込みをかけずに前記キャッシュ一貫性に関与することを特徴とする請求項３２に記載の方法。
【請求項３４】
前記バックドアによるアクセスを提供するステップおよび前記保守インターフェースユニットを前記マルチプロセッサシステムにおけるプロセッサの１つとして扱うステップは、前記外部保守システムが、前記保守インターフェースユニットを介してメモリを読み取り、書き込み、初期化するとともに前記キャッシュ一貫性に関与することを特徴とする請求項３２に記載の方法。
【請求項３５】
前記バックドアによるアクセスを提供するステップは、
前記保守インターフェースユニットにおいて、前記マルチプロセッサシステム内の特定のエンティティが利用できないという標示を受け取るステップと、
前記マルチプロセッサシステムおよび前記外部保守システムに、前記利用できないエンティティを通知するステップと、
前記標示の受領後に、前記利用できないエンティティに送られた任意のメッセージに自動的に応答するステップと
を含むことを特徴とする請求項３２に記載の方法。
【請求項３６】
前記バックドアによるアクセスを提供するステップは、前記外部保守システムが、前記マルチプロセッサシステムにおいて動作する１つまたは複数のオペレーティングシステムと通信するステップを含むことを特徴とする請求項３２に記載の方法。
【請求項３７】
前記バックドアによるアクセスを提供するステップは、前記マルチプロセッサシステムにおいてエラー状態が検出された場合に前記外部保守システムに自動的に通知するステップを含むことを特徴とする請求項３２に記載の方法。
【請求項３８】
偽造メッセージを自動的にログに記録するステップおよび前記外部保守システムに前記偽造メッセージを自動的に通知するステップをさらに備えたことを特徴とする請求項３２に記載の方法。
【請求項３９】
前記バックドアによるアクセスを提供するステップは、前記マルチプロセッサシステムをエラー状態にするステップを含むことを特徴とする請求項３２に記載の方法。
【請求項４０】
前記保守インターフェースユニットを介して前記マルチプロセッサシステムに複数の人為的要求をするステップをさらに備えたことを特徴とする請求項３２に記載の方法。
【請求項４１】
実行すると、周辺コンピュータ（１０４）に、
キャッシュ一貫性のあるマルチプロセッサシステム（１０２）と、前記マルチプロセッサシステム（１０２）に統合されたバックドアインターフェース（２０８）を介して通信し（５０２）、
前記マルチプロセッサシステム（１０２）中のメモリ（１０８）にアクセスする（５０４）とともに、前記マルチプロセッサシステム（１０２）のキャッシュ一貫性に関与し、および、
前記バックドアインターフェース（２０８）にコマンドを発行し（５０６）、前記バックドアインターフェースから、前記マルチプロセッサシステム（１０２）の性能を監視し、維持することに関連する情報を受け取る（５０８）
よう命令するコンピュータ実行可能命令（５００）を備えたことを特徴とする１つまたは複数のコンピュータ読取可能な媒体（１０８、１２４）。
【請求項４２】
実行すると、前記コンピュータに、前記マルチプロセッサシステムの前記性能を監視し、維持することに関する情報を表示装置上に表示するよう命令するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項４１に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４３】
実行すると、前記コンピュータに、前記マルチプロセッサシステムをエラー状態にするためのコマンドを前記バックドアインターフェースに発行するよう命令するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項４１に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４４】
実行すると、前記コンピュータに、前記マルチプロセッサシステムに複数の人為的要求をするためのコマンドを前記バックドアインターフェースに発行するよう命令するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項４１に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４５】
実行すると、前記コンピュータに、前記マルチプロセッサシステムにおいて前記バックドアインターフェースによって検出されたエラー状態を受け取るよう命令するコンピュータ実行可能命令をさらに備えたことを特徴とする請求項４１に記載の１つまたは複数のコンピュータ読取可能な媒体。
【請求項４６】
キャッシュ一貫性のあるマルチプロセッサシステムに統合された保守インターフェースユニットであって、
前記マルチプロセッサシステムに統合されない外部保守システムのための前記マルチプロセッサシステムへのバックドアによるアクセスを可能とし、外部保守システムに代わって前記マルチプロセッサシステムにおけるタスクを実行するとともに、前記マルチプロセッサシステムに割込みをかけずに前記マルチプロセッサシステムのキャッシュ一貫性に関与するように構成されたトランザクションユニットと、
前記マルチプロセッサシステムにおいて自動的にシステム管理操作を実行するように構成されたシステム管理モジュールと
を備えたことを特徴とする保守インターフェースユニット。
【請求項４７】
前記外部保守システムと前記保守インターフェースユニットとの間の通信リンクを提供するように構成され、前記外部保守システムに結合された外部インターフェースをさらに備えたことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項４８】
前記保守インターフェースユニットと、前記マルチプロセッサシステムに統合された構成要素との間の通信リンクを提供するように構成された内部インターフェースをさらに備えたことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項４９】
前記トランザクションユニットは、前記外部保守システムにメモリの読取りおよび／または書込みを行わせるとともにキャッシュ一貫性を維持させるように構成された読取り／書込みモジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項５０】
前記トランザクションユニットは、前記外部保守システムに、前記マルチプロセッサシステムにおいて機能する１つまたは複数のオペレーティングシステムと通信させるように構成されたオペレーティングシステムモジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項５１】
前記トランザクションユニットは、前記外部保守システムに前記マルチプロセッサシステムを初期化させるように構成された初期設定モジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項５２】
前記システム管理モジュールは、前記マルチプロセッサシステムにおいてエラー状態が検出された場合に前記外部保守システムに自動的に通知するように構成されたエラー報告モジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項５３】
前記システム管理モジュールは、装置および／またはオペレーティングシステムが利用できないときにそれを認識し、前記マルチプロセッサシステムに前記利用できないことを自動的に通知するように構成された装置通知モジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項５４】
前記システム管理モジュールは、装置および／またはオペレーティングシステムが利用できないときにそれを認識し、前記マルチプロセッサシステムに前記利用できないことを自動的に通知し、前記外部保守システムに前記利用できないことを自動的に通知するように構成された装置通知モジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項５５】
前記システム管理モジュールは、偽造メッセージを受け取り、前記偽造メッセージを生成した前記マルチプロセッサシステム内のエンティティに自動的に応答するように構成された偽造メッセージモジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項５６】
前記システム管理モジュールは、偽造メッセージを受け取り、前記偽造メッセージを生成した前記マルチプロセッサシステム内のエンティティに自動的に応答し、前記外部保守システムに前記偽造メッセージを自動的に通知するように構成された偽造メッセージモジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項５７】
前記トランザクションユニットは、前記外部保守システムがエラーテストを実行することを可能にするために前記マルチプロセッサシステム内で人為的にエラーメッセージを発行するように構成されたエラー生成モジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【請求項５８】
前記トランザクションユニットは、前記外部保守システムが前記マルチプロセッサシステムの性能を監視することを可能にするために前記マルチプロセッサシステムに複数の人為的要求をするように構成された注入モジュールを含むことを特徴とする請求項４６に記載の保守インターフェースユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はマルチプロセッサシステムに関し、より詳細には、マルチプロセッサシステムを保守し、整備することに関する。
【背景技術】
【０００２】
銀行業界、航空業界、商品先物取引市場などの耐障害性が必要とされる環境において、多くのコンピュータシステムが使用されている。そのような環境では、コンピュータシステム障害が発生した場合、そのダウン時間がコンピュータシステムにとってどの程度のものであっても、そのようなシステムを利用する企業および顧客にとっては壊滅的なものとなる可能性がある。そのような障害を防ぐために、多くのコンピュータシステムでは、保守システムを利用してシステムの正常性が監視され、問題が検出された場合に是正処置が講じられる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら実際には、これらの保守システムの多くは、問題の根本原因を正確に診断することができず、十分迅速に是正処置を講じてコンピュータシステムが故障するのを防ぐこともできない。多くの保守システムでは、コンピュータシステムを「サービスモード」でテストすることによってそれらの正常性を監視しているため、問題はさらに悪化している。通常、コンピュータがサービスモードに移行すると、通常の動作モードが中断されるか、または縮退運用される。また、サービスモードでは、人為的テスト環境が作り出されるので、通常の動作モードで発生する可能性がある問題が全く発生しない結果、問題が検出されずにテストが終了することになるおそれがあり、コンピュータシステムの動作安定性が危険にさらされることになる。
【課題を解決するための手段】
【０００４】
マルチプロセッサシステムを整備する保守インターフェースユニットを説明する。１つの例示的態様において、装置はマルチプロセッサシステムおよび保守インターフェースユニットを含む。マルチプロセッサシステムは、メモリにアクセスするのにキャッシュ一貫性を使用する。保守インターフェースユニットは、マルチプロセッサシステム内に統合され、外部保守システムに代わってマルチプロセッサシステムへのバックドアによるアクセスを可能にするように構成される。また、保守インターフェースユニットは、マルチプロセッサシステム内の操作を実行するとともに、キャッシュ一貫性を維持するようにも構成される。
【０００５】
添付図面を参照して詳細な説明を行う。図面において、参照番号の１桁目は、その参照番号が最初に表示される図を示す。
【発明を実施するための最良の形態】
【０００６】
概要
背景技術の項で説明した非能率な点および諸問題を克服するために、以下の説明では、外部保守システムからマルチプロセッサシステムへのバックドアによるアクセスを可能にするという概念を導入する。具体的には、保守インターフェースユニットがマルチプロセッサシステム内に統合されて、外部保守システムとマルチプロセッサシステムとの間でのバックドアによるアクセスが可能になる。保守インターフェースユニットは、マルチプロセッサシステムのキャッシュ一貫性に関与し、マルチプロセッサシステムの通常の動作モードを中断させずに、マルチプロセッサシステムにおいて外部保守システムに代わって情報にアクセスすることができる。
【０００７】
また、保守インターフェースユニットは、マルチプロセッサシステムにおける異常にリアルタイムで応答するために自律的システム管理（ｈｏｕｓｅ  ｋｅｅｐｉｎｇ）操作を実行する役割も果たす。したがって、保守インターフェースユニットは、問題がマルチプロセッサシステムで発生する際に、それらの問題が外部保守システムに報告され、分析される前にそれらの問題を処理することができる場合が多い。他の様々な特徴および利点は、以下の説明を読めばより明白になるであろう。
【０００８】
例示的コンピューティング環境
図１に、外部保守システム１０４によってマルチプロセッサシステム１０２を整備する例示的なコンピューティング環境１００を示す。マルチプロセッサシステム１０２はプロセッサ１０６（１）、１０６（２）、１０６（３）、・・・、１０６（Ｎ）を備える。参照番号１０６として一般的に参照されるプロセッサは、マルチプロセッサシステム１０２の動作を制御し、他の電子機器およびコンピュータ機器と通信するために様々な命令を実行する。プロセッサ１０６は、専用プロセッサ、マイクロプロセッサ、状態マシン、プログラム可能論理回路、およびその他の処理エンジンを表すことができる。
【０００９】
マルチプロセッサシステム１０２は、様々なコンピュータ読取可能な媒体としてメモリ１０８を備えることができる。そのような媒体は、マルチプロセッサシステムによってアクセスすることができる任意の利用可能な媒体とすることができ、それには取り外し可能および固定媒体として、不揮発性１１０と揮発性１１１との両方の媒体が含まれる。例えば、不揮発性媒体には読取り専用メモリ（ＲＯＭ）が含まれ、揮発性媒体１１１にはランダムアクセスメモリ（ＲＡＭ）の形でコンピュータ読取可能な媒体が含まれる。ＲＯＭは、通常、マルチプロセッサシステム１０２中の要素間での情報転送など、マルチプロセッサシステム１０２中の要素に基本的機能を提供するのに使用される基本ルーチンを格納する。ＲＡＭは、通常、プロセッサ１０６から直ちにアクセス可能であり、かつ／またはプロセッサ１０６によって現在操作されているデータおよび／またはプログラムモジュールを格納し、それにはキャッシュの１つまたは複数の部分が含まれる。
【００１０】
また、メモリ１０８には、それだけに限らないが、ハードディスクドライブ不揮発性磁気媒体や、磁気ディスクドライブ、磁気カセット、「フロッピー（登録商標）」ディスクなどその他の磁気記憶装置や、ＣＤ‐ＲＯＭ、ＤＶＤ‐ＲＯＭ、その他の光メディアなどの光ディスクといった、他の取り外し可能／固定コンピュータ記憶媒体も含まれる。フラッシュメモリカード、電気的消去書込み可能読取り専用メモリ（ＥＥＰＲＯＭ）など、他の種類のメモリ１０８もマルチプロセッサシステム１０２によってアクセス可能となる可能性があることを理解すべきである。
【００１１】
本明細書では、マルチプロセッサシステム１０２内の単一の別個のブロックとして示すが、メモリ１０８の各部分は、マイクロプロセッサシステム内にローカルであることも、マルチプロセッサシステム１０２からリモートにあり、ＳＣＳＩインターフェース（図示せず）によるなど、何らかの種類の入出力装置を介してマルチプロセッサシステム１０２にアクセス可能とすることもできる。
【００１２】
メモリ１０８には、例えば１つまたは複数のオペレーティングシステム１１６などを含む、任意の数のプログラムモジュールが格納することができる。図示のために、本明細書では１つまたは複数のオペレーティングシステムを別個のブロックとして示しているが、そのようなプログラムおよび構成部分は、様々なときに、マルチプロセッサシステム１０２の様々な記憶構成要素とすることができ、１つまたは複数のプロセッサ１０６によって実行されることが理解される。
【００１３】
また、マルチプロセッサシステム１０２は、マルチプロセッサシステム１０２と、外部保守システム１０４といった別の電子機器またはコンピュータ機器の間で直接データ通信パスを提供するシリアル／パラレルインターフェース１１２も備えることができる。
【００１４】
本明細書では、マルチプロセッサシステム１０２としてマルチプロセッサシステムを一般的に示す。本明細書で使用する、「多重プロセッサ」または「マルチプロセッサシステム」は、複数のプロセッサを利用して命令を実行し、または操作を実行する任意のクラスのコンピュータシステムを意味する。例えば、マルチプロセッサシステム１０２は、それだけに限らないが、複数のプロセッサを利用する、サーバ、ルータ、メインフレームコンピュータ、エンタープライズサーバ、およびその他の機器を指す場合がある。具体例は、これらの１つまたは複数の多重プロセッサのシステムを指す場合があるが、そのような例は、特許請求の範囲または説明を限定するためのものではなく、説明する実施形態を具体的に理解できるようにするためのものである。
【００１５】
また、マルチプロセッサシステムは、図１のＡ、Ｂ、Ｃ、Ｄで表す１つまたは複数の論理区画を備えることができることも理解される。各区画は、論理的には、他の区画において動作する他のプロセッサ１０６とは別個に動作する１つまたは複数のプロセッサ１０６を有することができる。例えば、例示の図において、プロセッサ１０６（１）は区画Ａで動作し、プロセッサ１０６（２）は区画Ｂで動作し、プロセッサ１０６（３）は区画Ｃで動作し、１つまたは複数のプロセッサ１０６（Ｎ）は区画Ｄで動作する。各区画およびその（１つまたは複数の）構成プロセッサは、もっぱら異なるオペレーティングシステムを実行し、他の区画とは異なるメモリ部分を利用することができる。例えば、マルチプロセッサシステムは、３２個のプロセッサを有し、８つの別個のオペレーティングシステムをともに実行させることができるものとする。そのようなシステムは、８つの別個の論理区画に分けることができる。４つのプロセッサを有する各区画は、すべて、もっぱら８つのオペレーティングシステムのうちの１つを実行する。論理区画ごとに様々な量のプロセッサ、区画、および／またはオペレーティングシステムを指定することができることが理解される。
【００１６】
また、マルチプロセッサシステム１０２は追加の構成要素を備えることも理解すべきである。例えば、マルチプロセッサシステム１０２は、追加のプロセッサまたは記憶装置、追加の入出力インターフェースなどを備える。
【００１７】
また、マルチプロセッサシステム１０２内の様々な構成要素を接続するのに使用することができるような様々なシステムバス、ポイントツーポイント接続、および他の様々な接続構成が存在しており、本実施形態を説明する上で、これら様々な構成のいずれも加えることができることも理解される。
【００１８】
外部保守システム１０４は、それだけに限らないが、パーソナルコンピュータ、サーバコンピュータ、マルチプロセッサシステム、メインフレームコンピュータなどの、任意の汎用または専用コンピューティングシステムを表す。外部保守システム１０４は、保守アプリケーションプログラムモジュール１２０を有し、コンピュータ（すなわち、１つまたは複数のコンピュータ上で動作する（１つまたは複数の）プロセッサ）によって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的記述で説明することができる。以下でより詳細に説明するように、保守アプリケーションプログラム１２０は、外部保守システム１０４がマルチプロセッサシステム１０２を初期設定し、整備し、保守することができるようにする。一般に、アプリケーションプログラムモジュール１２０のようなプログラムモジュールには、個々のタスクを実行し、または個々の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。
【００１９】
外部保守システム１０４の構成要素には、それだけに限らないが、１つまたは複数のプロセッサまたは処理装置１２２、システムメモリ１２４、および（１つまたは複数の）プロセッサ１２２を含む様々なシステム構成要素をメモリ１２４に結合するシステムバス１２６が含まれる。
【００２０】
メモリ１２４は、通常、様々なコンピュータ読取可能な媒体を含む。そのような媒体は、外部保守システム１０４によってアクセスすることができる任意の利用可能な媒体とすることができ、それには揮発性と不揮発性両方の媒体、取り外し可能と固定の媒体が含まれる。コンピュータ読取可能な媒体はシステム１０４のためにコンピュータ読取可能命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性記憶を提供する。メモリ１２４のコンピュータ読取可能な媒体には、保守アプリケーションプログラムモジュール１２０の１つまたは複数の部分を含めて、任意の数のプログラムモジュールが格納することができる。また、プログラムモジュール１２０の各部分は、外部保守システム１０４にとってリモートにあるリモートメモリ記憶装置にも格納することができることがわかる。また、たとえ本明細書ではプログラムモジュール１２０が別個のブロックとして示されているとしても、その構成部分は、様々なときに、外部保守システム１０４の様々な記憶構成要素に存在することができ、処理装置１２２など、コンピュータのプロセッサによって実行されることも理解される。
【００２１】
ユーザは、キーボード１２８やポインティングデバイス１３０（「マウス」など）といった入力装置によって外部保守システム１０４にコマンドおよび情報を入力することができる。他の入力装置（具体的には図示せず）には、マイクロホン、ジョイスティックなどが含まれる。上記その他の入力装置は、パラレルポート、ユニバーサルシリアルバス（ＵＳＢ）などの入出力インターフェース１３２を介して外部保守インターフェースユニット１０４に接続され、あるいはネットワークまたは無線通信リンクを介してリモートで接続することができる。
【００２２】
外部保守システム１０４は、通信リンク１０３を介してマルチプロセッサシステム１０２に接続される。特に、通信リンク１０３は、外部保守システム１０３の入出力インターフェース１３２をマルチプロセッサシステム１０２のシリアル／パラレルインターフェース１１２に接続する。例示的な実施形態において、通信リンク１０３はＪＴＡＧ（Ｊｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）互換のシリアル接続であるが、それだけに限らないが、パラレル接続、ネットワークインターフェース接続などを含む他の通信リンクも選択することができる。
【００２３】
また、マルチプロセッサシステム１０２の正常性を監視するユーザにグラフィック情報を提供するために、モニタ１３４または他の種類の表示装置も外部保守システム１０４に接続することができる。外部保守システム１０４は、たとえ外部保守システム１０４が通信リンク１０３を介してマルチプロセッサシステムにリモートで接続されるものと示されていても、物理的には、マルチプロセッサシステム１０２と同じキャビネットまたは物理プラットフォーム内に存在している場合があることも理解できる。
【００２４】
保守インターフェースユニット
以上でコンピューティング環境１００の概要を述べたので、次に、マルチプロセッサシステム１０２が外部保守システム１０４および／または（以下で説明する）保守インターフェースユニットによってどのようにして整備され、保守することができるかを説明する。図２に、マルチプロセッサシステム１０２におけるチップ２００の様々な構成要素を示す。マルチプロセッサシステム１０２は、チップセットを形成する複数のチップを備えることができる。チップ２００は、チップ２００をプリント回路基板（図示せず）または他のプラットフォームに接続するフットプリントとして働くピン２０１を有することができる。
【００２５】
また、チップ２００は、マルチプロセッサシステム１０２の処理装置を表す１つまたは複数のセル２０２も有することができる。チップ２０２上またはマルチプロセッサシステム１０２を構成する別のチップ上において、追加のセルを相互接続し、含まれるようにすることもできる。例示的な実施形態において、セル２０２は、特定用途向け集積回路（ＡＳＩＣ）チップの一部または１つまたは複数のＡＳＩＣのことである。またはこれに代えて、セル２０２は、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ハイブリッド回路およびプログラマブル論理機構、または他のハードウェアベースの技術を含む他の構成としても実装することができる。
【００２６】
セル２０２は、プロセッサ１０６、メモリコントローラ２０４、入出力コントローラ２０６、および保守インターフェースユニット２０８を備える。セル２０２には追加の構成要素も備えることが理解される。例えば、セル２０２は、追加のコントローラ、（バスやクロスバーなどの）搬送装置、あるいは記憶装置、追加の入出力インターフェース、その他の構成などを備える。また、いくつかの構成要素を備えない場合もあることも理解される。例えば、入出力コントローラ２０６を備えない場合もある。
【００２７】
マルチプロセッサシステム１０２はキャッシュ一貫性に関与し、「キャッシュ一貫性のあるマルチプロセッサシステム」とも呼ばれることもある。「キャッシュ一貫性」は、プロセッサ１０６がメモリ１０８にアクセスする際、メモリコントローラ２０４が、一度にただ１つの要求元しかデータを書き込むことができないようにして、メモリ１０８に格納されたものであれ、プロセッサ１０６に位置するレジスタ（図示せず）など他の場所に格納されたものであれ、データを要求すれば各プロセッサ１０６が最新バージョンを受け取るようにすることを意味する。言い換えると、キャッシュ一貫性に関与することによって、各プロセッサ１０６は、同じデータにアクセスすることができ、メモリコントローラ２０４は、同じデータにアクセスしようとするプロセッサによって最新のデータが誤って上書きされたり、消去されたりしないようにする。メモリコントローラ２０４は、セル２０２内に実装されるものとして図示されているが、セル２０２の外部に配置し、セル２０２中で他の制御ユニットと組み合わせることも可能である。
【００２８】
入出力コントローラ２０６は、入出力装置（図示せず）との間のデータの流れを制御する。すなわち、入出力コントローラ２０６は、ハードウェアとして実装され、入出力装置とプロセッサ１０６などのセル２０２中の構成要素の間のインターフェースの一部として使用される。したがって入出力コントローラ２０６は、セル２０２と入出力装置との間のデータの流れを取り扱う。また、入出力コントローラ２０６は、１つまたは複数の入出力装置（図示せず）が応答せず、誤動作またはシャットダウンしている可能性があるかどうか検出するようにも構成される。これは、入出力装置へのポーリング、あるいは入出力コントローラ２０６中の配線論理など、様々なやり方で達成することができる。
【００２９】
保守インターフェースユニット２０８は、それだけに限らないが、エラー処理、テスト、監視など、マルチプロセッサシステム１０２における様々な自律動作を実行するためにセル２０２内に組み込まれる。また、保守インターフェースユニット２０８は、外部保守システム１０４がマルチプロセッサシステム１０２を監視し、整備し、テストし、保守するためのバックドアへのインターフェースも提供する。ゆえに、保守インターフェースユニット２０８は、（ｉ）外部保守システム１０４に代わってバックドアへのインターフェースとして働き、（ｉｉ）マルチプロセッサシステム１０２のエラー処理およびその他のシステム管理操作に関連付けられた様々な自律動作を実行することができる。
【００３０】
保守インターフェースユニット２０８は、通信リンク１０３を介して外部保守システム１０４に接続される。例示の実施形態においては、保守インターフェースユニット２０８を（チップ２００の特定のピン２０１（１）を介して）外部保守システム１０４に接続するのにシリアル通信リンクが使用される。しかしながら、前述のように、チップ２００に関連付けられるパッケージング技術および利用可能なピンの量によっては、保守インターフェースユニット２０８を外部保守システム１０４に接続するのに使用するより多くの帯域幅の接続も使用することができる。保守インターフェースユニット２０８は、ポイントツーポイント接続、１つまたは複数のバス、クロスバーファブリックなどを介して、プロセッサ１０６、メモリコントローラ２０４、入出力コントローラなどセル２０２にある構成要素に接続される。
【００３１】
保守インターフェースユニット２０８は、メモリ１０８にアクセスすることができるが、これにはメモリを初期設定すること、メモリ１０８からデータを読み取ること、メモリ１０８にデータを書き込むことが含まれる。メモリ１０８にアクセスするとき、保守インターフェースユニット２０８は、プロセッサ１０６と同様、キャッシュ一貫性に関与する。すなわち、保守インターフェースユニット２０８がメモリ１０８にアクセスするとき、メモリコントローラ２０４は、保守インターフェースユニット２０８をプロセッサ１０６であるものとして扱い、プロセッサがメモリ１０８にアクセスするときにプロセッサに適用するのと同じ規則を保守インターフェースユニット２０８に適用する。したがって、保守インターフェースユニット２０８は、プロセッサ１０６と類似のやり方でメモリコントローラ２０４に要求を発行することによってキャッシュ一貫性に関与するように構成される。メモリにアクセスする、すなわち読取りまたは書込み操作を実行するなどの際に、保守インターフェースユニット２０８は、メモリコントローラ２０４にキャッシュラインの最新のコピーを探し出すよう求める要求を出す。
【００３２】
マルチプロセッサシステム１０２および／またはセル２０２ごとに複数の論理区画がある場合には、その特定の区画中の構成要素を監視し、整備するために、区画ごとに１つまたは複数のメモリインターフェースユニット２０８を使用することができる。そのような構成において、メモリインターフェースユニットは、共用装置やメモリ位置など、他の区画に影響を及ぼす可能性の高い問題が検出された場合には、ローカルメッセージによって、または外部保守システム１０４を介して相互に通信することができる。しかし、耐障害環境では、大部分の論理区画は、複数の区画に影響を及ぼす異常が発生する可能性に備えるために共通メモリを共用しない、または同じオペレーティングシステムを実行しないことが多い。
【００３３】
図３に、例示的な保守インターフェースユニット２０８の様々な構成要素を示す。保守インターフェースユニット２０８は、外部（ｏｆｆ−ｃｈｉｐ）インターフェース３０２、トランザクションユニット３０４、システム管理モジュール３０６、レジスタ３０８、および内部（ｏｎ−ｃｈｉｐ）インターフェース３１０を備えることができる。そのような構成要素は、専用マイクロプロセッサ、プログラマブル論理、状態マシン、および／またはマイクロプロセッサ、プログラマブル論理および状態マシンの１つまたは複数を組み合わせて実装することができる。
【００３４】
オフチップインターフェース３０２は、通信リンク１０３を介して外部保守システム１０４に接続され、外部保守システム１０４および保守インターフェースユニット２０８上に配置された構成要素の間の双方向通信インターフェースとして動作するように構成される。内部インターフェース３１０は、セル２０２中の構成要素と保守インターフェースユニット２０８内の構成要素との間の双方向通信インターフェースとして動作するように構成される。外部インターフェース３０２および／または内部インターフェース３１０は、保守インターフェースユニット２０８との間の情報の送受信を調整するためのハンドシェーク機構を備えることができる。
【００３５】
トランザクションユニット３０４は、外部保守システム１０４と通信し、外部保守システムに代わってタスクを実行するように構成される。特に、トランザクションユニット３０４は、外部保守システム１０４がマルチプロセッサシステム１０２にアクセスするためのバックドアを提供するように構成される。言い換えると、保守インターフェースユニット２０８は、トランザクションユニット３０４を介してマルチプロセッサシステムに統合されたプラットフォームとして動作するが、このプラットフォームでは、外部保守システム１０４は、保守インターフェースユニット２０８を介して代理でメモリ１０８にアクセスしてキャッシュ一貫性に関与する可能性がある。
【００３６】
トランザクションユニット３０４は、読取り／書込みモジュール３１２、オペレーティングシステム通信モジュール３１４、割込み／初期設定モジュール３１６、およびテストモジュール３１８を備えることができる。これらのモジュールの各々は、保守インターフェースユニット１０４によって提供される論理機能を示しており、１つまたは複数の状態マシンおよび／または論理の一部として物理的に組み込むことができる。
【００３７】
読取り／書込みモジュール３１２は、外部保守システム１０４から特定のコマンドを受け取ると、外部保守システム１０４が特定のレジスタまたはメモリ１０８中の特定の位置にデータを書き込み、かつ／または特定のレジスタまたはメモリ１０８中の特定の位置からデータを読み取ることができるように構成される。そのようなコマンドに応答して、読取り／書込みモジュール３１２は、キャッシュ一貫性に関与する、すなわちメモリコントローラ２０４に、データを読み取るまたは書き込むよう求める要求を発行する。
【００３８】
オペレーティングシステム通信モジュール３１４は、外部保守システム１０４からコマンドを受け取ると、外部保守システム１０４がセル２０２で動作する１つまたは複数のオペレーティングシステム１１６と通信できるように構成される。ゆえに、外部保守システム１０４は、保守インターフェースユニット２０８を介してマルチプロセッサシステム１０２で動作する１つまたは複数のオペレーティングシステム１１６と通信することができる。
【００３９】
割込み／初期設定モジュール３１６は、外部保守システム１０４から受け取られた命令に応答して、マルチプロセッサシステム１０２に割込みおよび／または初期設定コマンドを発行するように構成される。例えば、外部保守システム１０４は、メモリ１０８中の１つまたは複数の位置を初期化し、または保守インターフェースユニット２０８を介してマルチプロセッサシステム１０２のためのリモートＢＩＯＳとして動作することができる。また、割込み／初期設定モジュール３１６は、外部保守システム１０４によって発行されるコマンドに応答して、マルチプロセッサシステム１０２中のプロセスをリブートし、かつ／または打ち切るようにも構成される。
【００４０】
テストモジュール３１８は、システム１０４から特定のコマンドを受け取ると、外部保守システム１０４に代わってテストを実行するように構成される。テストモジュール３１８は、エラー生成モジュール３２０および注入モジュール３２２を備える。外部保守システム１０４は、人為的なエラーメッセージまたは条件がマルチプロセッサシステム１０２に伝送されると何が起こるかを検査することができる。エラー生成モジュール３２０は、システム１０４から適切な（１つまたは複数の）コマンドを受け取るとそのようなエラーメッセージまたは条件を生成し、発行するように構成される。また、外部保守システム１０４は、膨大な量の人為的要求がマルチプロセッサシステム１０２に送り込まれたときに何が起こるかテストすることもできる。注入モジュール３２２は、システム１０４から適切な（１つまたは複数の）コマンドを受け取ると、人為的要求のストリームをマルチプロセッサシステム１０２に注入するように構成される。
【００４１】
システム管理モジュール３０６は、マルチプロセッサシステム１０２においてシステム管理操作を自律的に実行する。本明細書で使用する際、システム管理とは、エラー状態の処理など、マルチプロセッサシステムの正常性を維持することに付随して生じる、一般にセル２０２中の他の構成要素によって処理されない操作を指すものとする。言い換えると、システム管理モジュール３０６は、マルチプロセッサシステム１０２で検出された異常にリアルタイムで応答して、それらの異常が潜在的にシステム規模の障害またはシステム性能の著しい劣化を引き起こすのを防ぐための自律的システム管理操作を実行する役割を果たす。システム管理モジュール３０６は、エラー報告モジュール３２４、装置通知モジュール３２６、および偽造メッセージモジュール３２８を備える。
【００４２】
エラー報告モジュール３２４は、マルチプロセッサシステムにおいてエラー状態（すなわち異常）が検出された場合に外部保守システムに自動的に通知するように構成される。通常は、マルチプロセッサシステム１０２においてエラー状態が検出されると、エラーに関する詳細がレジスタ３０８に記録される。これらの詳細には、エラーの原因、エラーの種類、エラーの時刻、および他の関連するパラメータが含まれる。エラー報告モジュール３２４はそれらの詳細を、レジスタ３０８に、先入れ先出しに基づくなど、それらが受け取られた順序で格納することができる。またはこれに代えて、エラー報告モジュール３２４は、異常の程度に基づいて、その詳細をレジスタ３０８に格納する順序の優先順位を決めることもできる。例えば、システム１０２の動作の保全性に対してより大きな危険を及ぼす可能性がある重大なエラー状態は、より緊急性の低い問題よりも前に配置することができる。エラーを受け取るのに外部保守システム１０４を利用できる場合、エラー報告モジュール３２４は、エラーを、オフチップインターフェース３０２に転送して外部保守システム１０４に送るように構成される。
【００４３】
装置通知モジュール３２６は、装置および／または（１つまたは複数の）オペレーティングシステム１１６が利用不能である場合、これを認識し、利用できないことを外部保守システム１０４に自動的に通知するように構成される。例えば、入出力コントローラ２０６は、特定の入出力装置が応答しないと検出したと仮定する。入出力コントローラ２０６は、装置通知モジュール３２６に、利用できない入出力装置を特定するメッセージを送る。それに応答して、装置通知モジュール３２６は、オフチップインターフェース３０２を介して外部保守システム１０４に利用できない特定の入出力装置を通知する。
【００４４】
また、装置通知モジュール３２６は、特定のオペレーティングシステムが利用できないことを認識したときにもそれを外部保守システム１０４に自動的に通知するように構成される。例えば、装置通知モジュール３２６は、１つまたは複数のオペレーティングシステム１１６をポーリングして、それらが効率よく動作していることを確認することができる。装置通知モジュール３２６が適時に応答を受け取らない場合、装置通知モジュール３２６は、特定のオペレーティングシステムに障害が発生しており、または不調であると推論し、マルチプロセッサシステム１０４にしかるべく通知することができる。
【００４５】
また、装置通知モジュール３２６は、特定の入出力装置が利用できないと認識したときに、マルチプロセッサシステム１０２中の他の装置にも自動的に通知するように構成される。例えば、装置通知モジュール３２６は、利用できない特定の入出力装置を通知するために、マルチプロセッサシステム１０２中の他の構成要素にメッセージをブロードキャストする。通知の前にシステム１０２中の他の要素によってメッセージがすでに送られている場合には、装置通知モジュール３２６は、利用不能な装置に代わって入出力コントローラ２０６からそのようなメッセージを受け取るように指定される。言い換えると、入出力コントローラ２０６は、利用不能な入出力装置に送られた保留のメッセージ（ｐｅｎｄｉｎｇ  ｍｅｓｓａｇｅ）を保守インターフェースユニット２０８に経路設定する。内部インターフェース３１０は、保留のメッセージを装置通知モジュール３２６に方向付けする。装置通知モジュール３２６は、対象となる装置が利用できないことを示すそのようなメッセージの送信元に応答して、そのようなメッセージの送信元がメッセージへの応答を待って競合（ｄｅａｄｌｏｃｋ）状態に陥らないようにする。また、装置通知モジュールは、入出力コントローラ２０６がアクセスする過程にあった任意のアクセスを終結処理する是正処置を講じるためにメモリコントローラ２０４に通知を送ることもできる。
【００４６】
偽造メッセージモジュール３２８は、内部インターフェース３１０を介して偽造メッセージ（ｒｏｇｕｅ  ｍｅｓｓａｇｅ）を受け取り、その偽造メッセージを生成したマルチプロセッサシステム１０２内のエンティティに自動的に応答するように構成される。本明細書で使用する「偽造メッセージ」は、マルチプロセッサシステム１０２中のその他の装置によって解読することができない任意の非送信請求メッセージを意味する。例えば、プロセッサ１０６（１）が存在しない装置へのメッセージを生成したと仮定する。このメッセージは、メモリコントローラ２０４、入出力コントローラ２０６など、それを受け取ることができる装置のいずれか１つから保守インターフェースユニット２０８に経路設定される。というのは、メモリコントローラ２０４も入出力コントローラ２０６も、このメッセージにどのようにして応答すべきか知り得ないからである。そして次に、偽造メッセージモジュール３２８が内部インターフェース３１０からこの偽造メッセージを受け取り、（送信元が識別することができる場合には）偽造メッセージの送信元に自動的に応答してメッセージが誤って送られたことを示す。また、偽造メッセージモジュール３２８は、外部保守システム１０４への最終的な転送のため、メッセージのコピーをエラー報告モジュール３２４に送って、偽造メッセージに関する詳細をレジスタ３０８に記録することもできる。
【００４７】
保守インターフェースユニットで実行される方法は、プログラマブル論理、状態マシン、専用にプログラムされたマイクロプロセッサ、および他の適当なハードウェア技法の一般的記述により説明することができる。例えば、保守インターフェースユニット（図２）は、チップ２００にプログラムされた状態マシンおよび組み合わせ論理によってその機能を実現する。
【００４８】
図４に、保守インターフェースユニットでの方法４００を示す。方法４００はブロック４０２〜４０６を有する。方法が記述される順序は、制限として解釈するためのものではなく、任意の数の記述される方法ブロックが、この方法を実施するために任意の順序で組み合わせることができる。
【００４９】
ブロック４０２で、外部保守システムに代わってマルチプロセッサシステムへのバックドアによるアクセスを可能にするため、マルチプロセッサシステムに保守インターフェースユニットが組み入れられる。例えば、保守インターフェースユニット２０８により、外部保守システム１０４のためにマルチプロセッサシステム１０２へのバックドアによるアクセスが可能になる。
【００５０】
ブロック４０４で、キャッシュ一貫性に関与することができるように、プロセッサまたは同等の要求元の１つとして保守インターフェースユニットを扱う。例えば、メモリにアクセスするとき、保守インターフェースユニット２０８はキャッシュ一貫性に関与する。すなわち、メモリコントローラ２０４は、保守インターフェースユニット２０８を、キャッシュ一貫性に関与するマルチプロセッサシステム１０２中の他の任意の要求元として扱い、メモリ要求に応答してメモリ１０８から最新バージョンのデータを捜索する（ｓｎｏｏｐ）。最新バージョンのキャッシュライン（すなわち、メモリ１０８からの最新バージョンのデータ）が探し出された後で、保守インターフェースユニット２０８を介し、外部保守システム１０４に代わってメモリ要求（すなわち読取り、書込みなど）を実行することができる。
【００５１】
ブロック４０６で、保守インターフェースユニットは、マルチプロセッサシステム１０２と通信する。特に、保守インターフェースユニットは、マルチプロセッサシステムに割込みをかけずに、マルチプロセッサシステムにコマンドを発行し、マルチプロセッサシステム内に統合され装置およびシステムを監視するとともにキャッシュ一貫性に関与する。例えば、保守インターフェースユニット２０８は、マルチプロセッサシステム１０２を監視し、テストし、整備するように構成されたトランザクションユニット３０４およびシステム管理モジュール３０６を備える。
【００５２】
外部保守システムで実行される方法
外部保守システムで実行される方法は、コンピュータ実行可能命令の一般的記載により説明することができる。例えば、外部保守システム１０４（図１）は、コンピュータ実行可能命令の形で、保守アプリケーションプログラムモジュール１２０（図１）によってその機能を実現する。一般に、コンピュータ実行可能命令には、個々の機能を実行し、または個々の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。また、ここで説明する方法は、機能が、通信ネットワークを介してリンクされたリモート処理装置において実現される分散コンピューティング環境においても実行することができる。分散コンピューティング環境では、コンピュータ実行可能命令は、メモリ記憶装置を含む、ローカルとリモート両方のコンピュータ記憶媒体に配置することができる。
【００５３】
図５に、外部保守システムにおいて保守アプリケーションプログラムモジュールを実行する方法５００を示す。方法５００はブロック５０２〜５１０を備える。方法が記述される順序は、制限として解釈するためのものではなく、任意の数の記述される方法ブロックが、この方法を実行するために任意の順序で組み合わせることができる。さらに、この方法は、任意の適当なハードウェア、ソフトウェア、ファームウェア、またはそれらの組み合わせとして実装することができる。
【００５４】
ブロック５０２で、外部保守システムは、マルチプロセッサシステム内に埋め込まれたバックドアへのインターフェースを介してキャッシュ一貫性のあるマルチプロセッサシステムと通信する。例えば、外部保守システム１０４は、保守インターフェースユニット２０８を介してマルチプロセッサシステム１０２と通信する。この例では、保守インターフェースユニット２０８は、外部保守システム１０４のためのバックドアイへのンターフェースとして動作する。
【００５５】
ブロック５０４で、外部保守システムはマルチプロセッサシステム中のメモリにアクセスすると同時に、マルチプロセッサシステムのキャッシュ一貫性に関与する。例えば、外部保守システム１０４は、保守インターフェースユニット２０８へのメモリ要求を発行することによって、マルチプロセッサシステム１０２中のメモリ１０８にアクセスする。これに応答して、保守インターフェースユニット２０８は、外部保守システム１０４に代わってメモリ１０８にアクセスする。メモリにアクセスするとき、保守インターフェースユニット２０８はキャッシュ一貫性に関与する。すなわち、メモリコントローラ２０４は、保守インターフェースユニット２０８を、キャッシュ一貫性に関与するマルチプロセッサシステム１０２中の他の任意の要求元として扱い、メモリ要求に応答してメモリ１０８から最新バージョンのデータを捜索する。最新バージョンのキャッシュライン（すなわちメモリ１０８からの最新バージョンのデータ）が探し出された後で、保守インターフェースユニット２０８を介し、外部保守システム１０４に代わってメモリ要求（すなわち読取り、書込みなど）を実行することができる。したがって、外部保守システム１０４は、キャッシュ一貫性に関与することができる。
【００５６】
ブロック５０６で、外部保守システムは、マルチプロセッサシステムに統合された専用バックドアインターフェースにコマンドを発行する。例えば、外部保守システム１０４は、保守インターフェースユニット２０８にコマンドを発行する。特に、外部保守システム１０４が保守インターフェースユニットに発行する可能性があるコマンドの中には、それだけに限らないが、マルチプロセッサシステムを（１つまたは複数の）エラー状態とするコマンド、マルチプロセッサシステムに複数の人為的要求をするコマンド、マルチプロセッサシステム１０２上で走っているプロセスに割込みをかけるコマンド、始動時などにマルチプロセッサシステム１０２を初期化し、またはリブートするコマンド、システム１０２中の特定のメモリ位置を消し込むコマンドなどが含まれる。
【００５７】
ブロック５０８において、外部保守システムは、マルチプロセッサシステム内に統合された専用バックドアインターフェースから情報を受け取る。この情報は、エラー処理、プラットフォーム管理、オペレーティングシステム性能、およびその他の保守性および保守情報に関連する場合がある。例えば、外部保守システム１０４は、保守インターフェースユニット２０８から、それだけに限らないが、装置またはオペレーティングシステムに障害が発生している可能性があることの標示、偽造メッセージおよびそのようなメッセージの可能な（１つまたは複数の）発信元、およびマルチプロセッサシステムを保守するための診断に役立つ他の情報を含む情報を受け取る。
【００５８】
ブロック５１０で、外部保守システムは、マルチプロセッサシステムの性能を監視し、維持することに関して表示装置上に情報を表示する。そのような情報は、ブロック５０２から５０８に関して前述した情報のいずれかを備えることができる。例えば、外部保守システム１０４は、モニタ１３４（図１）上に、システム１０２を保守することに関連する情報を表示することができる。
【００５９】
本発明を構造的特徴および／または方法動作に特有の言語で説明したが、特許請求の範囲で定義される本発明は、必ずしも、前述の具体的特徴または動作に限定されるものではない。そうではなく、それらの具体的特徴および動作は、特許請求される発明を実施する例示的な形態として開示するものである。
【図面の簡単な説明】
【００６０】
【図１】マルチプロセッサシステムが外部保守システムによって整備される例示的なコンピューティング環境を示す図である。
【図２】マルチプロセッサシステムにおけるチップの様々な構成要素を示す図である。
【図３】例示的保守インターフェースユニットの様々な構成要素を示す図である。
【図４】保守インターフェースユニットでの方法を示す図である。
【図５】外部保守システムの保守アプリケーションプログラムモジュールを実施する方法を示す図である。
【図１】
2007531084.tif 000003
【図２】
2007531084.tif 000004
【図３】
2007531084.tif 000005
【図４】
2007531084.tif 000006
【図５】
2007531084.tif 000007