(57)【特許請求の範囲】
【請求項１】
データ処理システム中のシステム・リソースを回復して最小システム構成を提供する方法であって、
前記データ処理システムが第１リソースに障害が発生したことを確認するステップと、
前記データ処理システムが前記第１リソースを割当て解除するステップと、
前記第１リソースの割当て解除によりデータ処理システムが動作する最小システム構成に足りない結果となったと前記データ処理システムが確認することに応答して、割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースを前記データ処理システムが確認するステップと、
前記データ処理システムが前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つを再び割当てるステップと、を含む、方法。
【請求項２】
前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つは前記第１リソースである、請求項１記載の方法。
【請求項３】
割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースを確認する前記ステップは、前記データ処理システムが前記割当て解除されたリソースの障害のＩＤと種類を示すアイテムを格納したリソース・レコードに問い合わせをするステップを含む、請求項１記載の方法。
【請求項４】
前記リソースはシステム・メモリを含む、請求項１記載の方法。
【請求項５】
前記リソースは処理装置を含む、請求項１記載の方法。
【請求項６】
前記方法を実装する命令がファームウェアに格納された、請求項１記載の方法。
【請求項７】
複数の前記ステップは、前記データ処理システムが前記システム・リソースのエラー・ステータス及び構成状態に関する情報を格納することで実行される、請求項１に記載の方法。
【請求項８】
複数の前記ステップは、前記データ処理システムのブート中に実行される、請求項１に記載の方法。
【請求項９】
システム・リソースを回復して最小システム構成を提供するため、データ処理システムに使用されるコンピュータ・プログラムであって、
前記データ処理システムに、
第１リソースに障害が発生したことを確認させる第１命令と、
前記第１リソースを割当て解除させる第２命令と、
前記リソースの割当て解除によりデータ処理システムが動作する最小システム構成に足りない結果となったことの確認に応答して、割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースを確認させる第３命令と、
前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つを再び割当てさせる第４命令と、
を含む、コンピュータ・プログラム。
【請求項１０】
システム・リソースを回復し、最小システム構成を提供するデータ処理システムであって、
第１リソースに障害が発生したことを確認する第１手段と、
前記第１リソースを割当て解除する第２手段と、
前記リソースの割当て解除によりデータ処理システムが動作する最小システム構成に足りない結果となったことの確認に応答して、割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースを確認する第３手段と、
前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つを再び割当てる第４手段と、を含む、データ処理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にはデータ処理システムに関し、特にブート時にデータ処理システムに最適且つ最小システム構成を与える方法に関する。
【０００２】
【従来の技術】
データ処理システムのハードウェア障害は珍しいことではない。IBM RS/6000等のデータ処理システムでは、特定のハードウェアの前の障害の履歴をもとにハードウェア障害を予測し、プロセッサであれメモリ・デバイスであれ、そのようなリソースの構成や割当てを解除する機能がある。RS/6000の場合、こうした機能は、メモリ・リピート・ガード（Memory Repeat Gard）やＣＰＵリピート・ガード（CPU Repeat Gard）機能により提供される。特定のリソースの障害が避けられないことがわかっている場合、そのリソースを最初から使用しないことができる。データ処理システム内でそれら不良なハードウェア・リソースを構成せず使用しないようにすることによって、システムの高い可用性が得られる。
【０００３】
しかしシステムには、致命的にしろ一定時間後にしろ、システムをブートするのに必要な最小ハードウェア構成に満たせないほど大きなハードウェア障害が起こり得る。こうした事態を避けるため、一部のプラットフォームでは、最後に障害を起こすハードウェア・リソースの構成は解除できない。この最後のリソースの割当てを解除できないと、システムの最適な可用性は得られない可能性がある。この最後のリソースが実際に障害を起こしたときは構成を解除できない。よって、システムはそのリソースのみでの動作を、それが可能だとすれば、試行しなければならない。しかし、先に重大度の低いエラーが生じて構成が解除され、よってシステムを稼動させるには、比較的都合のよい他のリソースがあり得る。従って、システムをブートする最小構成に必要なシステム・リソースに障害が発生したとき、システム・リソースのより最適な可用性を実現する方法及びシステムが求められる。
【０００４】
【課題を解決するための手段】
本発明は、データ処理システムに最小システム構成を与えるシステム・リソースを回復する方法、システム及び装置を提供する。実施例では、データ処理システム内のファームウェア・コンポーネントは、初期プログラム・ロード時、第１リソースに障害が起きたことを確認する。第１リソースは次に割当て解除される。ファームウェア・コンポーネントは、リソースの割当て解除により、データ処理システムが動作する最小システム構成に達しなくなったことに応答して、割当て解除された複数のリソースのうち障害の重大度の最も低いリソースを確認する。障害の重大度の最も低い、割当て解除された複数のリソースの１つは、次にデータ処理システムに使用するため再び割当てられる。
【０００５】
【発明の実施の形態】
各図、特に図１を参照する。本発明を実装することのできるデータ処理システムが示してある。データ処理システム１００は、複数のプロセッサ１０１、１０２、１０３及び１０４がシステム・バス１０６に接続された対称型マルチプロセッサ（ＳＭＰ）システム等である。例えばデータ処理システム１００はIBM RS/6000をネットワーク内のサーバとして実装したものである。また、単一プロセッサ・システムも採用できる。システム・バス１０６には、複数のローカル・メモリ１６０乃至１６３にインタフェースを与えるメモリ・コントローラ／キャッシュ１０８も接続される。Ｉ／Ｏバス・ブリッジ１１０は、システム・バス１０６に接続され、Ｉ／Ｏバス１１２にインタフェースを与える。メモリ・コントローラ／キャッシュ１０８とＩ／Ｏバス・ブリッジ１１０は、図のように統合することもできる。
【０００６】
Ｉ／Ｏバス１１２に接続されたＰＣＩ（Peripheral Component Interconnect）ホスト・ブリッジ１１４は、ＰＣＩローカル・バス１１５にインタフェースを与える。ＰＣＩバス１１５には入出力アダプタ１２０−１２１を接続できる。通常のＰＣＩバスは、４乃至８のＩ／Ｏアダプタ（つまりアドイン・コネクタの拡張スロット）をサポートする。Ｉ／Ｏアダプタ１２０−１２１はそれぞれ、データ処理システム１００と、例えばデータ処理システム１００のクライアントである他のネットワーク・コンピュータ等の入出力デバイスとの間にインタフェースを与える。
【０００７】
他のＰＣＩホスト・ブリッジ１２２、１３０及び１４０は、また別のＰＣＩバス１２３、１３１及び１４１にインタフェースを与える。追加されＰＣＩバス１２３、１３１及び１４１は複数のＰＣＩ Ｉ／Ｏアダプタ１２８−１２９、１３６−１３７、及び１４６−１４７に接続される。従って、例えばモデム、ネットワーク・アダプタ等の他のＩ／Ｏデバイスは、ＰＣＩ Ｉ／Ｏアダプタ１２８−１２９、１３６−１３７、及び１４６−１４７のそれぞれを通してサポートすることができる。このように、データ処理システム１００によって複数のネットワーク・コンピュータとの接続が得られる。
【０００８】
メモリ・マップ・グラフィックス・アダプタ１４８とハード・ディスク１５０も、図のように直接または間接にＩ／Ｏバス１１２に接続することができる。ハード・ディスク１５０は、ハード・ディスクを別に追加する必要なしに、様々なパーティション間で論理的にパーティションをきることもできる。ただし、必要に応じてハード・ディスクを追加して利用することもできる。
【０００９】
当業者には明らかなように、図１に示すハードウェアは変わり得る。例えば、光ディスク・ドライブ等、他の周辺装置も、図のハードウェアに加えて或いはその代わりに使用できる。更に本発明は、マルチプロセッサ・システムでの実装に制限されず、他の型のデータ処理システムにも実装することができる。図の例は、本発明に関してアーキテクチャ上の制限を意味するものではない。
【００１０】
図２は、本発明に従ってＣＰＵの割当てを解除できる対称型マルチプロセッサ（ＳＭＰ）データ処理システム２００を示す。データ処理システム２００は、例えば図１のデータ処理システム１００として実装することもできる。図の通り、データ処理システム２００は複数のＣＰＵ２１２とメモリ２３８を含む。ＣＰＵ２１２は、永続的なシステム情報を含む不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）２１４等の不揮発性デバイスと通信する。サービス・プロセッサ２１６は、サービス・プロセッサ・ファームウェア２１７を含み、ＮＶＲＡＭ２１４と通信してこれに情報を提供する。システム２００のＣＰＵ２１２のいずれか１つにソフト・エラーがあり、処理システム２００の動作がその影響を受けた場合、処理システム２００は、ＣＰＵ２１２の１つがシャット・ダウンした場合でも効果的に動作し得る。よって、本発明では、繰り返されるソフト・エラーの原因であるＣＰＵを構成解除する間に処理システム２００のレジュームが可能になる。
【００１１】
本発明により、正常なコンピュータ動作時に、エラー検出ロジックによりＣＰＵエラーが検出される。この検出は、後のブート・プロセス時にサービス・プロセッサ・ファームウェア２１７により、欠陥ＣＰＵの割当て解除に用いられる。これは各ＣＰＵ及びシステム・ロジック内でエラー・ステータスを使用することと、サービス・プロセッサに情報を直接提供する不揮発性デバイスのリソース・レコード領域を使用することにより実現される。
【００１２】
ＮＶＲＡＭ２１４は、サービス・プロセッサ・ファームウェア２１７から受信された永続的ステータス情報を格納するリソース・レコード領域２１５を含む。サービス・プロセッサ２１７は、リソース・レコード領域２１５内の情報をもとに特定のリソースを構成解除する。これらエラー・ステータスや構成のレジスタ２２６は、他の機能に加えてＮＶＲＡＭ２１４のリソース・レコード領域２１５に情報を提供する。サービス・プロセッサ・ファームウェア２１７に回復可能なエラーの指標を与えるメモリ・ステータス・レジスタ２２６の内容は、好適な実施例では、回復不能エラーの存在と回復不能エラーのアドレスを示すビットであり、これはメモリ構成制御ロジックにより与えられる。
【００１３】
本発明の重要な部分は、ＮＶＲＡＭ２１４の構成解除領域２１５である。リソース・レコード領域２１５の目的は、メモリ・アレイ２１９のエラー・ステータスと構成状態に関する情報を格納することである。構成解除領域２１５は、既存の状態を変更でき、新しいレコードの追加を処理できるように十分柔軟にする必要がある。以下、構成解除領域２１５とその初期化について詳しく説明する。
【００１４】
リソース・レコード領域２１５は、ＣＰＵ汎用レコード・フォーマット（General Record Format）とＣＰＵ特定レコード・フォーマット（Specific Record Format）を含む。
【００１５】
図３、図４を参照する。本発明に従い、図３はＣＰＵ汎用レコード・フォーマットの例を、図４はＣＰＵ特定レコード・フォーマットの例を示す。
【００１６】
リソース・レコード領域２１５は、ＮＶＲＡＭ２１４初期化プロセスの一環として、サービス・プロセッサ・ファームウェア２１７により初期化される。サービス・プロセッサ・ファームウェア２１７は構成解除領域２１５を次のように初期化する。
１．１つのＣＰＵ汎用レコード・フォーマット。
２．ｎ個のＣＰＵ特定レコード・フォーマット。ｎは完全構成時のシステムのＣＰＵの最大数。
【００１７】
以下、初期化値それぞれについて説明する。
【００１８】
初期化値：
Ａ．ＣＰＵ汎用レコード・フォーマット（図３）
１．バイト０−１、ＲＬ＝１４＋ｙ、ここで、ｙ＝ＣＰＵ  ＦＲＵロケーション・コードを入れる最大バイト数
２．バイト２、Ｎ＝完全構成時のシステムＣＰＵ最大数
３．バイト３乃至３０、ＡＳＣＩＩ値をＣＰＵ  ＶＰＤ  ＸＣ−Ｌ２、ＺＣ−ＰＦ、ＺＣ−ＰＳ、及びＳＣ−ＳＢフィールドからコピー
【００１９】
Ｂ．ＣＰＵ特定レコード・フォーマット（図４）
１．バイト０、製品機能仕様に定義されているこのＣＰＵの物理ＣＰＵ番号（OpenPic割込み）
２．バイト１、ＰＩＲまたはＥＡＲレジスタに定義されているＣＰＵ  ＩＤ
３．バイト２−ビット０＝０
４．バイト２−ビット１−３＝０
５．バイト２−ビット４−７＝０（ＣＰＵがない場合）、＝１（ＣＰＵがある場合）
６．バイト３、ＣＰＵ  ＶＰＤ  ＺＣ−ＥＲフィールドからの１６進形式に変換したＡＳＣＩＩ値
７．バイト４乃至１３、ＡＳＣＩＩ値をＣＰＵ  ＶＰＤ  ＳＮフィールドからコピー
８．バイト１４−（１４＋ｙ）、製品機能仕様に定義されているこのＣＰＵの物理／ハードウェア・ロケーション・コード
【００２０】
図５を参照する。本発明に従い、メモリ・コンポーネントを割当て解除できるデータ処理システム４００が示してある。データ処理システム４００は、例えば図１のデータ処理システム１００として実装することもできる。データ処理システム４００は、ブート・ファームウェア４１３を持つＣＰＵ４１２を含む。ＣＰＵ４１２は、シリアル番号、その他の識別情報等の情報を格納する不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）４１４等の不揮発性デバイスと通信する。メモリ４１８は、通常は複数のメモリ・デバイスで構成され、メモリ・コントローラ４２２を含むメモリ・アレイ４１９を含む。メモリ・コントローラ４２２は通常、メモリ構成制御ロジック４２４とメモリ・ステータス・レジスタ４２６をそれぞれ含む。コントローラ４２２はまた、メモリ・アレイ４１９のステータスに関する情報をサービス・プロセッサ４１６に提供する。サービス・プロセッサ４１６は、サービス・プロセッサ・ファームウェア４１７を含み、ＮＶＲＡＭ４１４と通信してこれに情報を提供する。
【００２１】
メモリ４１８の特定の部分がシャット・ダウンされた場合でも、処理システム４００は効果的に動作を続けることが可能である。従って、メモリ・アレイ４１８の一部にソフト・エラーまたは回復可能なエラーがあり、処理システム４００のパフォーマンスに影響を与える場合、処理システム４００は、繰り返し発生し得るソフト・エラーの原因になっているメモリの部分を構成解除しながら動作を再開する。
【００２２】
コンピュータの正常動作時にエラー検出ロジックにより欠陥が検出される。この検出は、後のブート・プロセスでサービス・プロセッサ４１６とＣＰＵブート・ファームウェア４１３により欠陥のあるメモリ・モジュールを割当て解除するために用いられる。これは、メモリ・コントローラ・チップ４２２内のエラー・ステータスと構成のレジスタ及びＣＰＵブート・ファームウェア４１３に情報を直接提供する不揮発性デバイス内のリソース・レコード領域４１５を使用することにより実現される。
【００２３】
ＮＶＲＡＭ４１４は、サービス・プロセッサ・ファームウェア４１７から受信された永続的ステータス情報を格納するリソース・レコード領域４１５を含む。サービス・プロセッサ４１７は、リソース・レコード領域４１５の情報をもとにメモリを構成解除する。メモリ・エラー・ステータス・レジスタ４２６は、サービス・プロセッサ・ファームウェア４１７に情報を提供し、これによりファームウェア４１７はエラー・ステータス情報をＮＶＲＡＭ４１４のリソース・レコード領域４１５に格納することができる。サービス・プロセッサ・ファームウェア４１７に回復可能なエラーの指標を与えるエラー・ステータス・レジスタ４２６の内容は、好適な実施例では、回復不能な内部エラーの存在を示すビットである。
【００２４】
本発明で重要な点は、ＮＶＲＡＭ４１４のリソース・レコード領域４１５である。リソース・レコード領域４１５の目的は、各メモリ・エラー・ステータス及び構成状態に関する情報を格納することである。リソース・レコード領域４１５は、既存の状態を変更でき、新しいレコードの追加を処理できるように十分柔軟にする必要がある。以下、リソース・レコード領域４１５とその初期化について詳しく説明する。
【００２５】
リソース・レコード領域４１５は、メモリ汎用レコード・フォーマットとメモリ特定レコード・フォーマットを含む。
【００２６】
図６、図７を参照する。図６はメモリ汎用レコード・フォーマットの例を、図７はメモリ特定レコード・フォーマットの例を示す。
【００２７】
リソース・レコード領域４１５は、ＮＶＲＡＭ４１４初期化プロセスの一環としてサービス・プロセッサ４１７により初期化される。サービス・プロセッサ・ファームウェア４１７はリソース・レコード領域４１５を次のように初期化する。
１．１つのメモリ汎用レコード・フォーマット。
２．ｎ個のメモリ特定レコード・フォーマット。ｎはシステムによりサポートされる最大メモリ。
【００２８】
以下、初期化値それぞれについて説明する。
【００２９】
初期化値：
Ａ．メモリ汎用レコード・フォーマット（図６）
１．バイト０−１、ＲＬ＝８＋ｙ。ここで、ｙ＝メモリＦＲＵロケーション・コードを入れる最大バイト数
２．バイト２、Ｎ＝完全構成時のシステムのメモリＦＲＵ（ＤＩＭＭまたはカード）最大数
【００３０】
Ｂ．メモリ特定レコード・フォーマット（図７）
１．バイト０、メモリ・カード・スロット番号またはＩＤ
２．バイト１、メモリ・スロット番号またはＩＤ
３．バイト２−ビット０＝０
４．バイト２−ビット１−３＝０
５．バイト２−ビット４−７＝０（ＦＲＵがない場合）、＝１（ＦＲＵがある場合）
６．バイト３、メモリＶＰＤフィールドからの１６進形式に変換したＡＳＣＩＩ値
７．バイト４乃至７、値をメモリからコピー
８．バイト８−（８＋ｙ）、このメモリの物理／ハードウェア・ロケーション・コード
【００３１】
図２乃至図７で説明しているように、使用割当ての解除された各ＣＰＵ、メモリ・コンポーネントは、以下に述べるように本発明のプロセスにより置換されるか或いは再び割当てられるまで、割当て解除された状態にとどまる。割当て解除されたコンポーネントは、新たに障害の生じたコンポーネントよりも重大度が低いエラーを被った場合は、データ処理システムの稼動を維持する最小システム要件を保つため、再び割当てる必要がある。ＣＰＵ、またはメモリ・ユニット等、割当て解除されたどのリソースを回復するか決定するプロセスはＩＰＬの間に生じる。ＩＰＬ時、ＣＰＵリピート・ガード機能／プロセスの終わりに、必要に応じてプロセッサのリソース回復が生じる。またＩＰＬの間、メモリ・リピート・ガード機能／プロセスの終わりに、必要に応じてメモリのリソース回復が生じる。以下、これらのプロセスについて詳しく説明する。
【００３２】
図８を参照する。本発明に従い、初期プログラム・ロード（ＩＰＬ）時にリソース回復により最適なシステム可用性を維持するシステムが示してある。ＩＰＬはまたブート・プロセスとも呼ばれる。リソース回復システム６００は、図１のデータ処理システム１００等のデータ処理システム上で動作するファームウェアを含む。リソース回復システム６００はまたメモリ・リピート・ガード６０２、ＣＰＵリピート・ガード６０４、及びリソース・レコード６０６を含む。メモリ・リピート・ガード６０２とＣＰＵリピート・ガード６０４はファームウェアに実装することもできる。ファームウェアは、読取り専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、ランダム・アクセス・メモリ（不揮発性ＲＯＭ）等、電力がなくても内容を保持するメモリ・チップに格納されたソフトウェアである。ファームウェア６０８は、システムがブートされて、データ処理システムに属するリソースのどれが割当て解除されており、どれを使用すべきでないか確認されるとき、図２のリソース・レコード領域２１５と図５のリソース・レコード４１５の両方を含み得るリソース・レコード６０６に問い合わせをする。
【００３３】
ＩＰＬ時、メモリ・リピート・ガード６０２はシステム・メモリ・ユニット６１０乃至６１２の動作を監視する。またＩＰＬ時、ＣＰＵリピート・ガード６０４はＣＰＵ６１４乃至６１６の動作を監視する。システム・メモリ・ユニット６１０乃至６１２は、例えば図１のローカル・メモリ１６０乃至１６３の１つに実装することもできる。ＣＰＵ６１４乃至６１６は、例えば図１のプロセッサ１０１乃至１０４の１つに実装することもできる。
【００３４】
システム・メモリ・ユニット６１０乃至６１２の１つに障害が発生すると、その障害はメモリ・リピート・ガード６０２にレポートされる。メモリ・リピート・ガード６０２はそこで、システム・メモリ・ユニット６１０乃至６１２のうち障害のあったユニットが割当て解除された場合に使用できる最小システム・リソースを確認する。メモリ・リピート・ガード６０２は、最小システム構成を格納した内部保存データ構造を含む。メモリ・リピート・ガード６０２の構成解除要件を満足するリソースが全て割当て解除された後、メモリ・リピート・ガード６０２は、現在のシステム構成を保存された最小システム構成と比較する。データ処理システムのブートに必要な最小システム要件を満たすに十分なシステム・メモリ・ユニット６１０乃至６１２が使用できる場合、先に割当て解除されたシステム・メモリ・ユニット６１０乃至６１２が再び割当てられて再構成されることはない。データ処理システムは正常に動作しないシステム・リソースを使用しようとしないので、システム・メモリ・ユニット６１０乃至６１２のうち障害のあった１つを削除することによってデータ処理システムのパフォーマンスが最適化される。メモリ・リピート・ガード６０２は、リソース・レコード６０６に、システム・メモリ・ユニット６１０乃至６１２のうち障害のあった特定の１つ、障害の性質と種類、及びシステム・メモリ・ユニット６１０乃至６１２のうち障害のあった特定の１つがデータ処理システムから割当て解除され構成解除されたことの指標を示すエントリを作成する。
【００３５】
ＣＰＵリピート・ガード６０４はＣＰＵ６１４乃至６１６のパフォーマンスを監視する。ＣＰＵ６１４乃至６１６の１つに障害が発生した場合、その障害はＣＰＵリピート・ガード６０４にレポートされる。ＣＰＵリピート・ガード６０４は次に、ＣＰＵ６１４乃至６１６のうち障害のあった１つが割当て解除された場合に、最小システム・リソースが使用できるか確認する。ＣＰＵ６１４乃至６１６のうち、データ処理システムをブートするのに必要な最小システム要件を満たすに十分な数のＣＰＵが使用できる場合、ＣＰＵ６１４乃至６１６のうち障害のあった１つは、データ処理システムからアクセスできないように、システムから割当て解除され構成解除される。従って、前記のように、データ処理システムは正常に動作しないシステム・リソースを使用しようとしないので、ＣＰＵ６１４乃至６１６のうち障害のあった１つを削除することによってデータ処理システムのパフォーマンスが最適化される。
【００３６】
メモリ・リピート・ガード６０２かＣＰＵリピート・ガード６０４のいずれかにより、障害のあったリソースが割当て解除された後、現在のシステム構成が保存された、データ処理システムのブートに必要な最小システム構成より小さいことが確認された場合、メモリ・リピート・ガード６０２やＣＰＵリピート・ガード６０４は、最小システム構成を満足するため、割当て解除するのに最適なリソースを決定する。リソース（プロセッサまたはメモリ）はそれぞれ、例えば構成ステータス、障害ステータス等のデータを格納するリソース・レコード６０６により表される。障害ステータスは、障害の重大度を示す数値を含む。メモリ・リピート・ガード６０２やＣＰＵリピート・ガード６０４は、それら重大度の値を比較することによって、重大度の最も低い障害を被ったリソースを識別する。重大度の最も低い障害を被り、割当て解除されたリソースは、再び割当てられて再構成される。重大度の最も低いエラーが生じたリソースは、最後に割当て解除されるリソースになる可能性があり、その場合、そのリソースが再び割当てられ、データ処理システムは最後に障害のあったそのリソースを使用して動作を行おうとする。
【００３７】
本発明の理解を深めるため、次の例を考える。データ処理システムの最小システム要件では、１つのシステム・メモリを使用できる必要があるとする。また、システム・メモリ６１１及び６１２は前に障害が発生し、割当て解除されているとする。システム・メモリ６１１−６１２はそれぞれ、割当て解除されたことと、システム・メモリ６１１−６１２それぞれに生じた障害の性質を示すエントリをリソース・レコード６０６に持つ。
【００３８】
システム・メモリ６１０が後で障害を被った場合、システム・メモリ６１０が割当て解除されていれば、データ処理システムは、ブートするため少なくとも１つのシステム・メモリを必要とするので機能しなくなる。従ってメモリ・リピート・ガード６０２は、ただシステム・メモリ６１０を割当て解除してそれ以上何も行わないわけにはいかない。従ってメモリ・リピート・ガード６０２は、システム・メモリ６１０を割当て解除し、現在のシステム構成を最小システム構成に照らして確認し、データ処理システムに使用するためシステム・メモリを１つ割当て直す必要があることを確認する。他のシステム・メモリ６１１−６１２のうち、前に割当て解除された１つは、システム・メモリ６１０の障害の原因になっているエラーより重大度の低いエラーを被っている可能性があり、よってそれは、データ処理システムがそれにより動作するにはシステム・メモリ６１０よりも好ましいシステム・メモリである。従って、メモリ・リピート・ガード６０２は、リソース・レコード６０６に問い合わせをして内容を分析し、システム・メモリ６１０乃至６１２のうち、データ処理システムがそれによって動作するのに最適なリソースはどれかを確認する。
【００３９】
システム・メモリ６１２の障害の原因になっているエラーの重大度が、システム・メモリ６１０の障害の原因になっているエラーより低い場合、システム・メモリ６１２は、データ処理システムに使用するため、再び割当てられて再構成され、システム・メモリ６１０は、データ処理システムに使用されないように割当て解除され構成解除される。ただし、システム・メモリ６１１−６１２の障害の原因になっているエラーの重大度がシステム・メモリ６１０の障害の原因になっているエラーより大きい場合、メモリ・リピート・ガード６０２はシステム・メモリ６１０をデータ処理システムに使用するため割当て直して再構成する。
【００４０】
当業者には明らかなように、図８の構成要素は変わり得る。例えば、入出力アダプタ等、他のシステム・リソースも図の構成要素に加えて使用できる。その場合、最小Ｉ／Ｏリソースを維持し、また環境に最適なＩ／Ｏリソースを提供するようにＩ／Ｏアダプタのうち割当て解除された１つを再び割当てるため、構成要素を追加することができる。他の実施例では、障害がありデータ処理システムに再び割当てられるリソースは障害のあったリソースのグループのうち、使用できる最適なリソースではなく、単に最後に障害のあったリソースよりも使用しやすいリソース、或いは単に最大の障害を被ったリソースよりも使用しやすいリソースであればよい。図の例は、本発明に関してアーキテクチャ上の制限を意味するものではない。
【００４１】
図９を参照する。本発明に従い、障害のあったリソースを割当て直すプロセス例のフローチャートが示してある。例えば図８のメモリ・リピート・ガード６０２、ＣＰＵリピート・ガード６０４等のリソース回復コンポーネントは、データ処理システムを監視し、リソース・レコードを読取ることによってシステム・リソース障害をチェックする（ステップ７０２）。リソース・レコードの内容が調べられ、リソースを構成解除すべきか確認される（ステップ７０４）。リソースは、適合する場合は構成解除される（ステップ７０６）。リソースが適合しない場合、または適合する場合はリソースが構成解除された後、リソース・レコードの全リソースがチェックされているか確認される（ステップ７０８）。全リソースがチェックされている場合、次のリソース・レコードが読取られる（ステップ７０２）。
【００４２】
全リソースがチェックされた場合、最小システム構成を満足するため、構成解除されていて使用可能なリソースが十分あるか確認される（ステップ７１０）。最小システム構成を満足する、使用可能なリソースが十分ある場合、初期プログラム・ロード（ＩＰＬ）が続けられる（ステップ７１４）。最小システム構成を満足する、使用可能なリソースが十分ない場合、最小システム構成要件を満たすため、最適なリソース候補が回復される（ステップ７１２）。ＩＰＬで最小システム構成を満たすため十分なリソースが回復されると、システムはＩＰＬを継続する（ステップ７１４）。
【００４３】
当業者には明らかなように、図９に示したプロセスは実装形態に応じて変わり得る。図９に示したステップ数は、本発明の範囲及び主旨から逸脱することなく加減できる。更に、いくつかのステップは図９に示した順序とは異なる順序で実現することもできる。
【００４４】
本発明は、フル機能のデータ処理システムを想定して説明しているが、当業者には明らかなように、本発明のプロセスは、命令のコンピュータ可読媒体の形をはじめ様々な形式で配布することができ、本発明は、実際に配布を行う信号伝送媒体の種類にかかわらず等しく適用することができる。コンピュータ可読媒体の例として、フロッピー（Ｒ）ディスク、ハード・ディスク・ドライブ、ＲＡＭ、ＣＤ−ＲＯＭ等の記録媒体、デジタル、アナログの通信リンクを含めた転送媒体等がある。
【００４５】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００４６】
（１）システム・リソースを回復して最小システム構成を提供する方法であって、第１リソースに障害が発生したことを確認するステップと、前記第１リソースを割当て解除するステップと、前記リソースの割当て解除によりデータ処理システムが動作する最小システム構成に足りない結果となったことの確認に応答して、割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースを確認するステップと、前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つを再び割当てるステップと、を含む、方法。
（２）前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つは前記第１リソースである、前記（１）記載の方法。
（３）割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースを確認する前記ステップは、前記割当て解除されたリソースの障害のＩＤと種類を示すアイテムを格納したリソース・レコードに問い合わせをするステップを含む、前記（１）記載の方法。
（４）前記リソースはシステム・メモリを含む、前記（１）記載の方法。
（５）前記リソースは処理装置を含む、前記（１）記載の方法。
（６）前記方法を実装する命令がファームウェアに格納された、前記（１）記載の方法
（７）システム・リソースを回復して最小システム構成を提供するため、コンピュータをデータ処理システムとして使用するためのコンピュータ・プログラムであって、第１リソースに障害が発生したことを確認する第１命令と、前記第１リソースを割当て解除する第２命令と、前記リソースの割当て解除によりデータ処理システムが動作する最小システム構成に足りない結果となったことの確認に応答して、割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースを確認する第３命令と、前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つを再び割当てる第４命令と、を含む、コンピュータ・プログラム。
（８）前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つは第１リソースである、前記（７）記載のコンピュータ・プログラム。
（９）割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースの確認は、前記割当て解除されたリソースの障害のＩＤと種類を示すアイテムを格納したリソース・レコードへの問い合わせを含む、前記（７）記載のコンピュータ・プログラム。
（１０）前記リソースはシステム・メモリを含む、前記（７）記載のコンピュータ・プログラム。
（１１）前記リソースは処理装置を含む、前記（７）記載のコンピュータ・プログラム。
（１２）前記コンピュータ・プログラムを実装する命令がファームウェアに格納された、前記（７）記載のコンピュータ・プログラム。
（１３）システム・リソースを回復し、最小システム構成を提供するため、データ処理システムに使用するコンピュータ可読媒体のシステムであって、第１リソースに障害が発生したことを確認する第１手段と、前記第１リソースを割当て解除する第２手段と、前記リソースの割当て解除によりデータ処理システムが動作する最小システム構成に足りない結果となったことの確認に応答して、割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースを確認する第３手段と、前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つを再び割当てる第４手段と、を含む、システム。
（１４）前記割当て解除された複数のリソースのうち重大度の最も低い障害を被った１つは第１リソースである、前記（１３）記載のシステム。
（１５）割当て解除された複数のリソースのうち重大度の最も低い障害を被ったリソースの確認は、前記割当て解除されたリソースの障害のＩＤと種類を示すアイテムを格納したリソース・レコードへの問い合わせを含む、前記（１３）記載のシステム。
（１６）前記リソースはシステム・メモリを含む、前記（１３）記載のシステム。
（１７）前記リソースは処理装置を含む、前記（１３）記載のシステム。
（１８）前記システムを実装する手段がファームウェアに格納された、前記（１３）記載のシステム。
【図面の簡単な説明】
【図１】本発明に従ったデータ処理システムを示す図である。
【図２】本発明に従ってＣＰＵの割当てを解除できる対称型マルチプロセッサ（ＳＭＰ）データ処理システム２００を示す図である。
【図３】本発明に従ったＣＰＵ汎用レコード・フォーマットの例を示す図である。
【図４】本発明に従ったＣＰＵ特定レコード・フォーマットの例を示す図である。
【図５】本発明に従ってメモリ・コンポーネントの割当てを解除できるデータ処理システム４００を示す図である。
【図６】本発明に従ったメモリ汎用レコード・フォーマットの例を示す図である。
【図７】本発明に従ったメモリ特定レコード・フォーマットの例を示す図である。
【図８】本発明に従い、リソース回復により最適なシステム可用性を維持するシステムを示す図である。
【図９】本発明に従い、障害の発生したリソースを再び割当てるプロセスの例を示すフローチャートである。
【符号の説明】
１００、２００、４００  データ処理システム
１０１、１０２、１０３、１０４  プロセッサ
１０６  システム・バス
１０８  メモリ・コントローラ／キャッシュ
１１０、１１２  Ｉ／Ｏバス
１１４  ＰＣＩ（Peripheral Component Interconnect）ホスト・ブリッジ
１１５  ＰＣＩローカル・バス
１２０、１２１  入出力アダプタ
１２２、１３０、１４０  ＰＣＩホスト・ブリッジ
１２３、１３１、１４１  ＰＣＩバス
１２８、１２９、１３６、１３７、１４６、１４７  ＰＣＩ Ｉ／Ｏアダプタ
１４８  メモリ・マップ・グラフィックス・アダプタ
１５０  ハード・ディスク
１６０、１６１、１６２、１６３  ローカル・メモリ
２１２、４１２、６１４、６１５、６１６  ＣＰＵ
２１４、４１４  不揮発性ランダム・アクセス・メモリ（ＮＶＲＡＭ）
２１５、４１５  リソース・レコード領域
２１６、４１６  サービス・プロセッサ
２１７、４１７  サービス・プロセッサ・ファームウェア
２１９、４１９  メモリ・アレイ
２２６、４２６  メモリ・ステータス・レジスタ
２３８、４１８  メモリ
４１３  ブート・ファーム
４２２  メモリ・コントローラ
４２４  メモリ構成制御ロジック
６００  リソース回復システム
６０２  メモリ・リピート・ガード
６０４  ＣＰＵリピート・ガード
６０６  リソース・レコード
６０８  ファームウェア
６１０、６１１、６１２  システム・メモリ・ユニット
【図１】
0003906042.tif 000002
【図２】
0003906042.tif 000003
【図３】
0003906042.tif 000004
【図４】
0003906042.tif 000005
【図５】
0003906042.tif 000006
【図６】
0003906042.tif 000007
【図７】
0003906042.tif 000008
【図８】
0003906042.tif 000009
【図９】
0003906042.tif 000010