(57)【要約】【課題】接続されていたデバイスがコンピュータシステムから削除された際に生じるサボーディネイトバス番号の書き換え処理を短時間で実行する情報処理装置及び方法を実現する。【解決手段】情報処理方法は、各ブリッジ１において、バス番号の書き換えを指示する第１のパケットのリクエスタＩＤおよびデータを保存領域１１に保存する保存ステップと、保存されているリクエスタＩＤが初期値以外の値である場合、第２のパケットのリクエスタＩＤと保存されているリクエスタＩＤとが一致するかを判定する監視ステップと、第２のパケットのステータスコードが処理の成功を示す場合に、当該ブリッジ１のコンフィグレーション空間３におけるサボーディネイトバス番号を、保存領域１１に保存されているデータに基づいて書き換える書換えステップと、を備える。【選択図】図１
2009140081.tif 000002
【特許請求の範囲】
【請求項１】
各ブリッジにおいて、当該ブリッジに設けられた保存領域に保存されているリクエスタＩＤが、予め設定された初期値であるか否かを判定する判定ステップと、
前記判定ステップにおいて、前記保存領域に保存されているリクエスタＩＤが前記初期値であると判定された場合、当該判定に係る前記ブリッジ上を転送される第１のパケットを監視して当該第１のパケットがバス番号の書換えを指示するものであるか否かを判定する第１の監視ステップと、
前記第１の監視ステップにおいて前記第１のパケットがバス番号の書き換えを指示するものであると判定された場合、前記第１のパケットのリクエスタＩＤおよびデータを、当該ブリッジに設けられた前記保存領域に保存する保存ステップと、
前記判定ステップにおいて、前記保存領域に保存されているリクエスタＩＤが前記初期値以外の値であると判定された場合、当該判定に係る前記ブリッジ上を転送される第２のパケットを監視して当該第２のパケットのリクエスタＩＤと当該判定に係る前記ブリッジに設けられた前記保存領域に保存されているリクエスタＩＤとが一致するか否かを判定する第２の監視ステップと、
前記第２の監視ステップにおいて前記第２のパケットのリクエスタＩＤと前記保存領域に保存されているリクエスタＩＤとが一致すると判定された場合、当該第２のパケットのステータスコードを取得して当該ステータスコードが処理の成功を示すものであるか否かを判定する第１の検査ステップと、
前記ステータスコード検査ステップにおいて処理の成功を示すものであると判定された場合、当該ブリッジのコンフィグレーション空間におけるサボーディネイトバス番号を、当該検査に係る前記ブリッジに設けられた前記保存領域に保存されているデータに基づいて書き換える書換えステップと、
を備えることを特徴とする情報処理方法。
【請求項２】
前記保存ステップにおいて前記保存領域に保存された前記第１のパケットのデータが、正常であるか異常であるかを検査する第２の検査ステップと、
前記第２の検査ステップにおいて当該第１のパケットのデータが異常であると判定された場合、前記保存領域に保存された前記第１のパケットのリクエスタＩＤをクリアして前記初期値に設定する第１のリクエスタＩＤクリアステップと、をさらに備える請求項１に記載の情報処理方法。
【請求項３】
前記第２の検査ステップは、前記保存領域に保存されている前記第１のパケットのデータの、第２バイトにあたるサボーディネイトバス番号と、第３バイトにあたるセカンダリバス番号と、第４バイトにあたるプライマリバス番号と、の大小関係を比較し、当該サボーディネイトバス番号が一番大きくなおかつ当該プライマリバス番号が一番小さい場合にのみ当該第１のパケットのデータが正常であると判定し、それ以外の場合には当該第１のパケットのデータが異常であると判定する請求項２に記載の情報処理方法。
【請求項４】
前記書換えステップによるサボーディネイトバス番号の書換えの実行後、前記保存領域に保存された前記第１のパケットのリクエスタＩＤをクリアして前記初期値に設定する第２のリクエスタＩＤクリアステップをさらに備える請求項１に記載の情報処理方法。
【請求項５】
前記ステータスコード検査ステップにおいて処理の不成功を示すものであると判定された場合、前記保存領域に保存された前記第１のパケットのリクエスタＩＤをクリアして前記初期値に設定する第３のリクエスタＩＤクリアステップをさらに備える請求項１に記載の情報処理方法。
【請求項６】
前記ブリッジはＰＣＩエクスプレスブリッジであり、前記第１のパケットはコンフィグレーションライトリクエストパケットであり、前記第２のパケットはコンプリーションパケットであり、前記ステータスコードはコンプリーションステータスコードである請求項１〜５のいずれか一項に記載の情報処理方法。
【請求項７】
各ブリッジに設けられる保存領域と、
各ブリッジに設けられる、当該ブリッジ上を転送される第１のパケットおよび第２のパケットを監視する監視手段と、
前記監視手段による監視の結果、前記第１のパケットがバス番号を指示するものであると判定された場合に、前記第１のパケットのリクエスタＩＤおよびデータを、当該ブリッジに設けられた保存領域に書き込む、各ブリッジごとに設けられる書込み手段と、
各前記保存領域に保存されているリクエスタＩＤが予め設定された初期値以外の値である場合において実行される前記監視手段による前記第２のパケットの監視の結果、当該第２のパケットのリクエスタＩＤと当該監視に係る前記ブリッジに設けられた前記保存領域に保存されているリクエスタＩＤとが一致すると判定された場合に、当該第２のパケットのステータスコードを取得して当該ステータスコードが処理の成功を示すものであるか否かを検査する、各ブリッジごとに設けられる第１の検査手段と、
前記第１の検査手段による検査の結果、当該ステータスコードが処理の成功を示すものであると判定された場合に、当該ブリッジのコンフィグレーション空間におけるサボーディネイトバス番号を、当該検査に係る前記ブリッジに設けられた前記保存領域に保存されているデータに基づいて書き換える、各ブリッジごとに設けられる書換え手段と、
を備えることを特徴とする情報処理装置。
【請求項８】
前記保存領域に保存された前記第１のパケットのデータが、正常であるか異常であるかを検査する、各ブリッジごとに設けられる第２の検査手段と、
前記第２の検査手段において当該第１のパケットのデータが異常であると判定された場合、前記保存領域に保存された前記第１のパケットのリクエスタＩＤをクリアして前記初期値に設定する、各ブリッジごとに設けられる第１のリクエスタＩＤクリア手段と、をさらに備える請求項７に記載の情報処理装置。
【請求項９】
前記第２のパケット検査手段は、前記保存領域に保存されている前記第１のパケットのデータの、第２バイトにあたるサボーディネイトバス番号と、第３バイトにあたるセカンダリバス番号と、第４バイトにあたるプライマリバス番号と、の大小関係を比較し、当該サボーディネイトバス番号が一番大きくなおかつ当該プライマリバス番号が一番小さい場合にのみ当該第１のパケットのデータが正常であると判定し、それ以外の場合には当該第１のパケットのデータが異常であると判定する請求項８に記載の情報処理装置。
【請求項１０】
前記書換え手段によるサボーディネイトバス番号の書換えの実行後、前記保存領域に保存された前記第１のパケットのリクエスタＩＤをクリアして前記初期値に設定する、各ブリッジごとに設けられる第２のリクエスタＩＤクリア手段をさらに備える請求項７に記載の情報処理装置。
【請求項１１】
前記ステータスコード検査手段において処理の不成功を示すものであると判定された場合、前記保存領域に保存された前記第１のパケットのリクエスタＩＤをクリアして前記初期値に設定する、各ブリッジごとに設けられる第３のリクエスタＩＤクリア手段をさらに備える請求項７に記載の情報処理装置。
【請求項１２】
前記ブリッジはＰＣＩエクスプレスブリッジであり、前記第１のパケットはコンフィグレーションライトリクエストパケットであり、前記第２のパケットはコンプリーションパケットであり、前記ステータスコードはコンプリーションステータスコードである請求項７〜１１のいずれか一項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣＩエクスプレスバスを有する情報処理装置および方法ならびにＰＣＩエクスプレスブリッジに関する。
【背景技術】
【０００２】
近年、中央演算装置（ＣＰＵ）と、ストレージ装置やネットワークインタフェースカードなどの各種周辺装置とを接続するバス規格として、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）（登録商標）、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩエクスプレス）（登録商標）など、様々な規格の汎用バスが提案されている。このうち、ＰＣＩエクスプレスは、ＰＣＩ規格とソフトウェアレベルで互換性を有する、パソコン向けシリアル転送インタフェースである（例えば、特許文献１参照）。
【０００３】
ＰＣＩエクスプレスを実装したコンピュータシステムでは、例えば起動処理時などにおいて、システム内のバスおよびバスに接続しているデバイスを全て検索し、発見したデバイスのコンフィグレーションレジスタについて適切な値を設定しなければならない。
【０００４】
特に、ＰＣＩエクスプレスブリッジ（以下、単に「ブリッジ」とも称する。）に対しては、ブリッジが接続している上位バスの番号であるプライマリバス番号（Ｐｒｉｍａｒｙ  Ｂｕｓ  Ｎｕｍｂｅｒ）、下位バスの番号であるセカンダリバス番号（Ｓｅｃｏｎｄａｒｙ  Ｂｕｓ  Ｎｕｍｂｅｒ）、下位側に存在するバスのうちで一番大きいバス番号であるサボーディネイトバス番号（Ｓｕｂｏｒｄｉｎａｔｅ  Ｂｕｓ  Ｎｕｍｂｅｒ）を適切に設定しないと、ブリッジは機能しない。サボーディネイトバス番号は、ブリッジに伝送されてきたデータを、当該ブリッジに接続されている下位のバスに転送するか否かの判断に使用される。データには送信先であるデバイスが存在しているバス番号が設定されており、サボーディネイトバス番号より大きい番号のデータについては、下位のバスに転送されることになる。
【０００５】
例えば、ＰＣＩエクスプレスを実装したコンピュータシステムにおける起動処理時において、システム内のバスを検索してｎ番目（ｎは整数）のバス上でブリッジＡを発見した場合、ブリッジＡのプライマリバス番号はｎ番、セカンダリバス番号はｎ＋１番に設定される。このとき、ｎ＋１番目のバスにさらに別のバスが接続されているかについては、この検索時点では不明であるため、サボーディネイトバス番号にもｎ＋１番が設定される。次に、ｎ＋１番のバスの検索中にブリッジＢを発見すると、ブリッジＢのプライマリバス番号はｎ＋１番、セカンダリバス番号はｎ＋２番、サボーディネイトバス番号はｎ＋２番がそれぞれ設定されるが、ブリッジＡのサボーディネイトバス番号はｎ＋１番からｎ＋２番に書き換えられる。このように、下位側に新たにブリッジが発見されると、上位側に接続されている全てのブリッジのサボーディネイトバス番号が書き換えられていく。この処理は、システム内のバスおよびバスに接続しているデバイスの検索が完了するまで繰り返される。
【０００６】
図８は、ＰＣＩエクスプレスを実装したコンピュータシステムにおけるプライマリバス番号、セカンダリバス番号およびサボーディネイトバス番号の割り当て説明する図である。一例として、ＣＰＵ（参照符号５１）にＰＣＩエクスプレスバスを介してデバイス５５〜５９が接続される場合について考える。
【０００７】
図中、プライマリバス番号を「Ｐｒｉ」、セカンダリバス番号を「Ｓｅｃ」、サボーディネイトバス番号を「Ｓｕｂ」で示す。例えば、スイッチ５３には、その上位側にバス１を介してルートコンプレックス５２が接続されており、下位側にはバス３を介してデバイス５５、バス４を介してデバイス５６がそれぞれ接続されている。また、スイッチ５３内では、ブリッジＣ、ブリッジＤおよびブリッジＥがバス２を介して接続されている。したがって、ブリッジＤのプライマリバス番号は「２」、セカンダリバス番号は「３」、サボーディネイトバス番号は「３」にそれぞれ設定される。ブリッジＥのプライマリバス番号は「２」、セカンダリバス番号は「４」、サボーディネイトバス番号は「４」にそれぞれ設定される。また、ブリッジＣのプライマリバス番号は「１」、セカンダリバス番号は「２」、サボーディネイトバス番号は「４」にそれぞれ設定される。
【０００８】
【特許文献１】特開２００７−２１９８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
例えば、図８に示すコンピュータシステムにおいて、デバイス５８が削除された場合、バス８が存在しなくなるため、ブリッジＨのサボーディネイトバス番号の書き換えが行われる。次いで、ブリッジＦ、ブリッジＢ、そしてホスト／ＰＣＩブリッジ（参照符号５９）のサボーディネイトバス番号の書き換えが順次行われる。このように、デバイスが削除されるたびに、各ブリッジのサボーディネイトバス番号の書き換えが順次実行されることになる。通電したままの状態でのデバイスの削除（取り外し）が可能なホットプラグ（Ｈｏｔ  Ｐｌｕｇ）機能をサポートしているコンピュータシステムにおいては、デバイスの削除に伴うサボーディネイトバス番号の書き換えは頻繁に起こりうるものであり、特にコンピュータシステムが多数の段数のブリッジで構成されている場合には、上記のようなサボーディネイトバス番号の書き換え処理は多大な時間を要するので好ましくない。
【００１０】
従って本発明の目的は、上記問題に鑑み、接続されていたデバイスがコンピュータシステムから削除された際に生じるサボーディネイトバス番号の書き換え処理を短時間で実行することができる情報処理装置および方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を実現するために、本発明によれば、ＰＣＩエクスプレスバスを用いた情報処理方法は、各ブリッジにおいて、当該ブリッジに設けられた保存領域に保存されているリクエスタＩＤが、予め設定された初期値であるか否かを判定する判定ステップと、判定ステップにおいて、保存領域に保存されているリクエスタＩＤが初期値であると判定された場合、当該判定に係るブリッジ上を転送される第１のパケットを監視して当該第１のパケットがバス番号の書換えを指示するものであるか否かを判定する第１の監視ステップと、第１の監視ステップにおいて第１のパケットがバス番号の書き換えを指示するものであると判定された場合、第１のパケットのリクエスタＩＤおよびデータを、当該ブリッジに設けられた保存領域に保存する保存ステップと、判定ステップにおいて、保存領域に保存されているリクエスタＩＤが初期値以外の値であると判定された場合、当該判定に係るブリッジ上を転送される第２のパケットを監視して当該第２のパケットのリクエスタＩＤと当該判定に係るブリッジに設けられた保存領域に保存されているリクエスタＩＤとが一致するか否かを判定する第２の監視ステップと、第２の監視ステップにおいて第２のパケットのリクエスタＩＤと保存領域に保存されているリクエスタＩＤとが一致すると判定された場合、当該第２のパケットのステータスコードを取得して当該ステータスコードが処理の成功を示すものであるか否かを判定する第１の検査ステップと、第１の検査ステップにおいて処理の成功を示すものであると判定された場合、当該ブリッジのコンフィグレーション空間におけるサボーディネイトバス番号を、当該検査に係るブリッジに設けられた保存領域に保存されているデータに基づいて書き換える書換えステップと、を備える。
【００１２】
本発明による情報処理装置は、ＰＣＩエクスプレスバスを有する情報処理装置であって、各ブリッジに設けられる保存領域と、各ブリッジに設けられる、当該ブリッジ上を転送される第１のパケットおよび第２のパケットを監視する監視手段と、監視手段による監視の結果、第１のパケットがバス番号を指示するものであると判定された場合に、第１のパケットのリクエスタＩＤおよびデータを、当該ブリッジに設けられた保存領域に書き込む、各ブリッジごとに設けられる書込み手段と、各保存領域に保存されているリクエスタＩＤが予め設定された初期値以外の値である場合において実行される監視手段による第２のパケットの監視の結果、当該第２のパケットのリクエスタＩＤと当該監視に係るブリッジに設けられた保存領域に保存されているリクエスタＩＤとが一致すると判定された場合に、当該第２のパケットのステータスコードを取得して当該ステータスコードが処理の成功を示すものであるか否かを検査する、各ブリッジごとに設けられる第１の検査手段と、第１の検査手段による検査の結果、当該ステータスコードが処理の成功を示すものであると判定された場合に、当該ブリッジのコンフィグレーション空間におけるサボーディネイトバス番号を、当該検査に係るブリッジに設けられた保存領域に保存されているデータに基づいて書き換える、各ブリッジごとに設けられる書換え手段と、を備える。
【発明の効果】
【００１３】
本発明によれば、接続されていたデバイスがコンピュータシステムから削除された際に生じるサボーディネイトバス番号の書き換え処理を短時間で実行することができる。
【発明を実施するための最良の形態】
【００１４】
本発明の実施例では、ブリッジをＰＣＩエクスプレスブリッジとし、上述の第１のパケットはコンフィグレーションライトリクエストパケットであり、上述の第２のパケットはコンプリーションパケットであり、上述のステータスコードはコンプリーションステータスコードである。図１は、本発明の実施例による情報処理装置における各ＰＣＩエクスプレスブリッジの原理ブロック図である。
【００１５】
本発明の実施例による情報処理装置における各ＰＣＩエクスプレスブリッジは、それぞれが次のような構成要素を備える。すなわち、ＰＣＩエクスプレスバス２に接続されたＰＣＩエクスプレスブリッジ１は、保存領域１１と、ＰＣＩエクスプレスブリッジ１上を転送されるコンフィグレーションライトリクエストパケットおよびコンプリーションパケットを監視する監視手段１２と、監視手段１２による監視の結果、コンフィグレーションライトリクエストパケットがバス番号を指示するものであると判定された場合に、コンフィグレーションライトリクエストパケットのリクエスタＩＤおよびデータを保存領域１１に書き込む書込み手段１３と、保存領域１１に保存されているリクエスタＩＤが予め設定された初期値以外の値である場合において実行される監視手段１２によるコンプリーションパケットの監視の結果、当該コンプリーションパケットのリクエスタＩＤと保存領域１１に保存されているリクエスタＩＤとが一致すると判定された場合に、当該コンプリーションパケットのコンプリーションステータスコードを取得して当該コンプリーションステータスコードが処理の成功を示すものであるか否かを検査するコンプリーションステータスコード検査手段１４と、コンプリーションステータスコード検査手段１４による検査の結果、当該コンプリーションステータスコードが処理の成功を示すものであると判定された場合に、ＰＣＩエクスプレスブリッジ１のコンフィグレーション空間３におけるサボーディネイトバス番号を、保存領域１１に保存されているデータに基づいて書き換える書換え手段１５と、を備える。
【００１６】
図２および３は、本発明の実施例による情報処理方法の動作フローを示すフローチャートである。また、図４は、コンフィグレーションライトリクエストパケットのヘッダのフォーマットを例示する図である。
【００１７】
まず、初期設定として、各ＰＣＩエクスプレスブリッジに設けられた保存領域に保存されるリクエスタＩＤ（Ｒｅｑｕｅｓｔｅｒ  ＩＤ）を初期値に設定する。本実施例では、この初期値として「ＦＦＦＦｈ」を設定する。
【００１８】
ステップＳ１０１では、保存領域に保存されているリクエスタＩＤが、予め設定された初期値であるか、あるいはそれ以外の値であるか否かを判定する。本発明の実施例では、保存領域に保存されているリクエスタＩＤが「ＦＦＦＦｈ」であるか否かを判定する。保存領域に保存されているリクエスタＩＤが、「ＦＦＦＦｈ」である場合はステップＳ１０２へ進み、それ以外の値である場合は図３のステップＳ２０１へ進む。上記判定に係るステップＳ１０１の処理は、各ＰＣＩエクスプレスブリッジごとに実行される。
【００１９】
ステップＳ１０２では、各ＰＣＩエクスプレスブリッジにおいて、上位バスから下位バスへ当該ＰＣＩエクスプレスブリッジを介して転送されるコンフィグレーションライトリクエストパケットを監視する。ステップＳ１０３において、監視したコンフィグレーションライトリクエストパケットがバス番号の書換えを指示するものであるか否かを判定する。図４に示したコンフィグレーションライトリクエストパケットのヘッダのフォーマットにおけるレジスタ番号（Ｒｅｇｉｓｔｅｒ  Ｎｕｍｂｅｒ）が「１８ｈ」である場合、バス番号の書換え指示を意味する。ステップＳ１０３において、レジスタ番号が「１８ｈ」である場合はステップＳ１０４へ進む。一方、「１８ｈ」でない場合はステップＳ１０２へ戻る。
【００２０】
ステップＳ１０４では、上記ステップＳ１０３の判定に係るコンフィグレーションライトリクエストパケットのリクエスタＩＤおよびデータを、当該ＰＣＩエクスプレスブリッジに設けられた保存領域に保存する。すなわち、コンフィグレーションライトリクエストパケットがバス番号の書き換えを指示するものであると判定された場合に、当該コンフィグレーションライトリクエストパケットのリクエスタＩＤおよびデータが、対応のＰＣＩエクスプレスブリッジに設けられた保存領域に保存されることになる。上記保存に係るステップＳ１０４の処理は、各ＰＣＩエクスプレスブリッジごとに実行される。
【００２１】
ステップＳ１０５は、ステップＳ１０４において保存領域に保存されたコンフィグレーションライトリクエストパケットのデータが、正常であるか異常であるかを検査するコンフィグレーションライトリクエストパケット検査処理である。図５は、ＰＣＩエクスプレスブリッジのコンフィグレーションレジスタを例示する図である。ステップＳ１０５のコンフィグレーションライトリクエストパケット検査処理は、保存領域に保存されているコンフィグレーションライトリクエストパケットのデータの、第２バイトにあたるサボーディネイトバス番号（Ｓｕｂｏｒｄｉｎａｔｅ  Ｂｕｓ  Ｎｕｍｂｅｒ）と、第３バイトにあたるセカンダリバス番号（Ｓｅｃｏｎｄａｒｙ  Ｂｕｓ  Ｎｕｍｂｅｒ）と、第４バイトにあたるプライマリバス番号（Ｐｒｉｍａｒｙ  Ｂｕｓ  Ｎｕｍｂｅｒ）と、の大小関係を比較し、当該サボーディネイトバス番号が一番大きくなおかつ当該プライマリバス番号が一番小さい場合にのみ当該コンフィグレーションライトリクエストパケットのデータが正常であると判定し、それ以外の場合には当該コンフィグレーションライトリクエストパケットのデータが異常であると判定する。
【００２２】
ステップＳ１０５において、当該コンフィグレーションライトリクエストパケットのデータが正常であると判定された場合はステップＳ１０１へ戻り、異常であると判定された場合はステップＳ１０６へ進む。
【００２３】
ステップＳ１０５において当該コンフィグレーションライトリクエストパケットのデータが異常であると判定された場合は、ステップＳ１０６において、保存領域に保存されたコンフィグレーションライトリクエストパケットのリクエスタＩＤをクリアし、初期値である「ＦＦＦＦｈ」に設定する。
【００２４】
ステップＳ１０５の処理またはステップＳ１０６の処理の終了後は、再びステップＳ１０１の処理が実行される。すなわち、ステップＳ１０１では、各ＰＣＩエクスプレスブリッジにおいて、保存領域に保存されているリクエスタＩＤが、予め設定された初期値「ＦＦＦＦｈ」であるか、あるいはそれ以外の値であるかが判定される。保存領域に保存されているリクエスタＩＤが、初期値「ＦＦＦＦｈ」以外の値である場合は図２のステップＳ２０１へ進む。
【００２５】
図３のステップＳ２０１では、ＰＣＩエクスプレスブリッジ上を転送されるコンプリーションパケットを監視する。図６は、コンプリーションパケットのヘッダのフォーマットを例示する図である。ステップＳ２０２において、監視したコンプリーションパケットのリクエスタＩＤと、ステップＳ１０１の判定処理に係るＰＣＩエクスプレスブリッジに設けられた保存領域に保存されているリクエスタＩＤとが一致するか否かを判定する。ステップＳ２０１において、コンプリーションパケットのリクエスタＩＤと保存領域に保存されているリクエスタＩＤとが一致しないと判定された場合は、ステップＳ２０１へ戻る。
【００２６】
ステップＳ２０１においてコンプリーションパケットのリクエスタＩＤと保存領域に保存されているリクエスタＩＤとが一致すると判定された場合、ステップＳ２０３において、当該コンプリーションパケットのコンプリーションステータスコードを取得する。
【００２７】
ステップＳ２０４では、ステップＳ２０３で取得したコンプリーションステータスコード（図６では「Ｃｏｍｐｌ．Ｓｔａｔｕｓ」で示される）が処理の成功を示すものであるか否かを判定する。コンプリーションステータスコードが「０００ｂ」である場合は処理の成功（Ｓｕｃｃｅｓｓｆｕｌ  Ｃｏｍｐｕｌｅｔｉｏｎ）を意味する。ステップＳ２０４において、コンプリーションステータスコードが「０００ｂ」である場合はステップＳ２０５へ進み、それ以外の場合はステップＳ２０７へ進む。
【００２８】
ステップＳ２０４においてにおいてコンプリーションステータスコードが処理の成功を示す「０００ｂ」であると判定された場合、ステップＳ２０５において、当該ＰＣＩエクスプレスブリッジのコンフィグレーション空間におけるサボーディネイトバス番号を、ステップＳ２０４の検査処理に係るＰＣＩエクスプレスブリッジに設けられた保存領域に保存されているデータに基づいて書き換える。
【００２９】
ステップＳ２０５の書換え処理の実行後、保存領域に保存されたコンフィグレーションライトリクエストパケットのリクエスタＩＤをクリアし、初期値「ＦＦＦＦｈ」に設定する。
【００３０】
ステップＳ２０４においてコンプリーションステータスコードが「０００ｂ」以外であると判定された場合は、処理が不成功であるので、ステップＳ２０７において、保存領域に保存されたコンフィグレーションライトリクエストパケットのリクエスタＩＤをクリアし、初期値「ＦＦＦＦｈ」に設定する。
【００３１】
ステップＳ２０６の処理またはステップＳ２０７の処理の終了後は、再び図２のステップＳ１０１の処理が実行される。すなわち、ステップＳ１０１は、各ＰＣＩエクスプレスブリッジにおいて、保存領域に保存されているリクエスタＩＤが、初期値「ＦＦＦＦｈ」である場合にはコンフィグレーションライトリクエストパケットの監視を実行し、初期値「ＦＦＦＦｈ」ではない場合にはコンプリーションパケットの監視を実行するよう、割り振る機能を有する。
【００３２】
図７は、本発明の実施例におけるパケットの流れとブリッジの書換えとの関係を説明する図である。
【００３３】
例えば図７に示すようにバス８に接続されたデバイスが削除されてブリッジＨを書き換える必要が生じた場合、ブリッジＨの書換えのためのコンフィグレーションライトリクエストパケットおよびコンプリーションパケットは、図中、太い矢印で示すように、その上位側に位置するホスト／ＰＣＩブリッジ５９、ブリッジＢおよびブリッジＦを順次通過する。ブリッジＨの書換えのためのコンフィグレーションライトリクエストパケットおよびコンプリーションパケットが通過するこれらホスト／ＰＣＩブリッジ５９、ブリッジＢおよびブリッジＦは、ブリッジＨとともに、サボーディネイトバス番号を書き換えなければならないブリッジである。本発明によれば、上述のように上位バスから下位バスへ転送されるコンフィグレーションライトリクエストパケットおよびコンプリーションパケットを監視してブリッジの書換えを実行するので、デバイスの削除に係るブリッジＨを書き換えれば、その上位側に位置するホスト／ＰＣＩブリッジ５９、ブリッジＢおよびブリッジＦも自動的に書き換えることができる。
【産業上の利用可能性】
【００３４】
本発明は、中央演算装置（ＣＰＵ）と、ストレージ装置やネットワークインタフェースカードなどの各種周辺装置とを接続するバス規格であるＰＣＩエクスプレスに適用することができる。本発明によれば、ＰＣＩエクスプレスを実装したコンピュータシステムからデバイスが削除された際に生じるサボーディネイトバス番号の書き換え処理を短時間で実行することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明の実施例による情報処理装置における各ＰＣＩエクスプレスブリッジの原理ブロック図である。
【図２】本発明の実施例による情報処理方法の動作フローを示すフローチャート（その１）である。
【図３】本発明の実施例による情報処理方法の動作フローを示すフローチャート（その２）である。
【図４】コンフィグレーションライトリクエストパケットのヘッダのフォーマットを例示する図である。
【図５】ＰＣＩエクスプレスブリッジのコンフィグレーションレジスタを例示する図である。
【図６】コンプリーションパケットのヘッダのフォーマットを例示する図である。
【図７】本発明の実施例におけるパケットの流れとブリッジの書換えとの関係を説明する図である。
【図８】ＰＣＩエクスプレスを実装したコンピュータシステムにおけるプライマリバス番号、セカンダリバス番号およびサボーディネイトバス番号の割り当て説明する図である。
【符号の説明】
【００３６】
１    ＰＣＩエクスプレスブリッジ
２    ＰＣＩエクスプレスバス
３    コンフィグレーション空間
１１    保存領域
１２    監視手段
１３    書込み手段
１４    コンプリケーションステータスコード検査手段
１５    書換え手段
【図１】
2009140081.tif 000003
【図２】
2009140081.tif 000004
【図３】
2009140081.tif 000005
【図４】
2009140081.tif 000006
【図５】
2009140081.tif 000007
【図６】
2009140081.tif 000008
【図７】
2009140081.tif 000009
【図８】
2009140081.tif 000010