(57)【要約】【課題】ホストのソフトウェアを変更することなく、初期構成時間を自律的に短縮するバス接続デバイスを提供する。【解決手段】ブリッジ管理部が、接続ポートへの外部デバイスの接続を検出し、ブリッジ状態記憶部に記憶する。本設定はホストの初期構成開始前までにデバイスが自律的に完了する。続いてデータ転送部がホストからリンク接続ブリッジの初期構成用データを受信する。ブリッジ状態記憶部を参照しリンクアップしたリンク接続ブリッジにはデータを転送し、リンクアップしないブリッジへのデータは廃棄するかＵｎｓｕｐｐｏｒｔｅｄ  Ｒｅｑｕｅｓｔをホストに返信し、リンク接続ブリッジの不在を示す。【選択図】図１
2008257597.tif 000002
【特許請求の範囲】
【請求項１】
ホストと外部デバイスを接続する、バス接続デバイスであって、
システム全体の初期構成時であって、ホストからの初期構成が開始される前に、外部デバイスとバス接続デバイスの接続を検出する手段と、
外部デバイスと接続しているブリッジのみをホストからの初期構成の対象として設定する手段と、
を備えることを特徴とするバス接続デバイス。
【請求項２】
ホストと外部デバイスを接続する、バス接続デバイスであって、
システム全体の初期構成時に、外部デバイスの接続によりリンクアップしたブリッジを検出する、リンクアップ検出手段と、
前記リンクアップ検出手段において検出された、リンクアップしたブリッジを記憶する手段と、
ホストの初期構成用データを前記リンクアップしたブリッジを記憶する手段によって、記憶されたブリッジのみに転送する手段と、
を備えることを特徴とするバス接続デバイス。
【請求項３】
ホストと外部デバイスを接続する、バス接続デバイスであって、
システム全体の初期構成時に、外部デバイスの接続によりリンクアップしたブリッジを検出する、リンクアップ検出手段と、
前記リンクアップ検出手段においてリンクアップが検出されたことによりホストからのコンフィグレーションレジスタへのデータ転送を許可する手段と、
を備えることを特徴とするバス接続デバイス。
【請求項４】
ホストと外部デバイスを接続する、バス接続デバイスであって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、接続された外部デバイスを検出する、ホットプラグ検出手段と、
前記ホットプラグ検出手段によって検出された外部デバイスについて、ホストに対する割り込み通知する手段と、
前記通知が有ったことを契機に、ホストにホットプラグされたブリッジの初期構成を開始させる手段と、
を備えることを特徴とするバス接続デバイス。
【請求項５】
ホストと外部デバイスを接続する、バス接続デバイスであって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、リンクアップしたブリッジを検出する手段と、
ホットプラグによりリンクアップしたブリッジを記憶する、ブリッジ記憶手段と、
ブリッジに外部デバイスがホットプラグされたことをホストに通知する割り込み手段と、
ホストからホットプラグされたブリッジの初期構成のためのデータを、前記ブリッジ記憶手段において記憶した情報を参照してホットプラグによりリンクアップしたブリッジに転送する手段と、
を備えることを特徴とするバス接続デバイス。
【請求項６】
ホストと外部デバイスを接続する、バス接続デバイスであって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、ブリッジのリンクアップを検出する手段と、
前記ホットプラグによるリンクアップの検出があったことにより、ホストからのコンフィグレーションレジスタへのデータ転送を許可する手段と、
ホストへの割り込みによりホットプラグされたブリッジの初期構成を開始させる手段と、
を備えることを特徴とするバス接続デバイス。
【請求項７】
請求項１に記載のバス接続デバイスであって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、接続された外部デバイスを検出する、ホットプラグ検出手段と、
前記ホットプラグ検出手段によって検出された外部デバイスについて、ホストに対する割り込み通知する手段と、
前記通知が有ったことを契機に、ホストにホットプラグされたブリッジの初期構成を開始させる手段と、
を更に備えることを特徴とするバス接続デバイス。
【請求項８】
請求項２に記載のバス接続デバイスであって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、リンクアップしたブリッジを検出する手段と、
ホットプラグによりリンクアップしたブリッジを記憶する、ブリッジ記憶手段と、
ブリッジに外部デバイスがホットプラグされたことをホストに通知する割り込み手段と、
ホストからホットプラグされたブリッジの初期構成のためのデータを、前記ブリッジ記憶手段において記憶した情報を参照してホットプラグによりリンクアップしたブリッジに転送する手段と、
を更に備えることを特徴とするバス接続デバイス
【請求項９】
請求項３に記載のバス接続デバイスであって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、ブリッジのリンクアップを検出する手段と、
前記ホットプラグによるリンクアップの検出があったことにより、ホストからのコンフィグレーションレジスタへのデータ転送を許可する手段と、
ホストへの割り込みによりホットプラグされたブリッジの初期構成を開始させる手段と、
を更に備えることを特徴とするバス接続デバイス。
【請求項１０】
請求項１乃至９の何れか１項に記載のバス接続デバイスであって、
前記外部デバイスは、入出力デバイスであることを特徴とするバス接続デバイス。
【請求項１１】
請求項１乃至１０の何れか１項に記載のバス接続デバイスであって、
バス接続デバイス接続するバスの規格が、ＰＣＩ  Ｅｘｐｒｅｓｓに準拠するものであることを特徴とするバス接続デバイス。
【請求項１２】
請求項１１に記載のバス接続デバイスであって、前記バス接続デバイスがＰＣＩ  Ｅｘｐｒｅｓｓスイッチを構成することを特徴とするバス接続デバイス。
【請求項１３】
請求項１乃至１２の何れか１項に記載のバス接続デバイスであって、
外部デバイスが接続されているブリッジ以外にも、あらかじめ定めておいたブリッジの個数分のブリッジを、初期構成の対象とすることが可能なことを特徴とするバス接続デバイス。
【請求項１４】
ホストと外部デバイスを接続する、バス接続方法であって、
システム全体の初期構成時であって、ホストからの初期構成が開始される前に、外部デバイスとバス接続デバイスの接続を検出するステップと、
外部デバイスと接続しているブリッジのみをホストからの初期構成の対象として設定するステップと、
を備えることを特徴とするバス接続方法。
【請求項１５】
ホストと外部デバイスを接続する、バス接続方法であって、
システム全体の初期構成時に、外部デバイスの接続によりリンクアップしたブリッジを検出する、リンクアップ検出ステップと、
前記リンクアップ検出ステップにおいて検出された、リンクアップしたブリッジを記憶するステップと、
ホストの初期構成用データを前記リンクアップしたブリッジを記憶するステップによって記憶されたブリッジのみに転送するステップと、
を備えることを特徴とするバス接続方法。
【請求項１６】
ホストと外部デバイスを接続する、バス接続方法であって、
システム全体の初期構成時に、外部デバイスの接続によりリンクアップしたブリッジを検出する、リンクアップ検出ステップと、
前記リンクアップ検出ステップにおいてリンクアップが検出されたことによりホストからのコンフィグレーションレジスタへのデータ転送を許可するステップと、
を備えることを特徴とするバス接続方法。
【請求項１７】
ホストと外部デバイスを接続する、バス接続方法であって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、接続された外部デバイスを検出する、ホットプラグ検出ステップと、
前記ホットプラグ検出ステップによって検出された外部デバイスについて、ホストに対する割り込み通知するステップと、
前記通知が有ったことを契機に、ホストにホットプラグされたブリッジの初期構成を開始させるステップと、
を備えることを特徴とするバス接続方法。
【請求項１８】
ホストと外部デバイスを接続する、バス接続方法であって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、リンクアップしたブリッジを検出するステップと、
ホットプラグによりリンクアップしたブリッジを記憶する、ブリッジ記憶ステップと、
ブリッジに外部デバイスがホットプラグされたことをホストに通知する割り込みステップと、
ホストからホットプラグされたブリッジの初期構成のためのデータを、前記ブリッジ記憶ステップにおいて記憶した情報を参照してホットプラグによりリンクアップしたブリッジに転送するステップと、
を備えることを特徴とするバス接続方法。
【請求項１９】
ホストと外部デバイスを接続する、バス接続方法であって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、ブリッジのリンクアップを検出するステップと、
前記ホットプラグによるリンクアップの検出があったことにより、ホストからのコンフィグレーションレジスタへのデータ転送を許可するステップと、
ホストへの割り込みによりホットプラグされたブリッジの初期構成を開始させるステップと、
を備えることを特徴とするバス接続方法。
【請求項２０】
請求項１４に記載のバス接続方法であって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、接続された外部デバイスを検出する、ホットプラグ検出ステップと、
前記ホットプラグ検出ステップによって検出された外部デバイスについて、ホストに対する割り込み通知するステップと、
前記通知が有ったことを契機に、ホストにホットプラグされたブリッジの初期構成を開始させるステップと、
を更に備えることを特徴とするバス接続方法。
【請求項２１】
請求項１５に記載のバス接続方法であって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、リンクアップしたブリッジを検出するステップと、
ホットプラグによりリンクアップしたブリッジを記憶する、ブリッジ記憶ステップと、
ブリッジに外部デバイスがホットプラグされたことをホストに通知する割り込みステップと、
ホストからホットプラグされたブリッジの初期構成のためのデータを、前記ブリッジ記憶ステップにおいて記憶した情報を参照してホットプラグによりリンクアップしたブリッジに転送するステップと、
を更に備えることを特徴とするバス接続方法。
【請求項２２】
請求項１６に記載のバス接続方法であって、
ホストが稼働中に、ホストにより初期構成が行われなかったブリッジに対応する空きポートに外部デバイスがホットプラグされた場合に、ブリッジのリンクアップを検出するステップと、
前記ホットプラグによるリンクアップの検出があったことにより、ホストからのコンフィグレーションレジスタへのデータ転送を許可するステップと、
ホストへの割り込みによりホットプラグされたブリッジの初期構成を開始させるステップと、
を更に備えることを特徴とするバス接続方法。
【請求項２３】
請求項１４乃至２２の何れか１項に記載のバス接続方法であって、
前記外部デバイスは、入出力デバイスであることを特徴とするバス接続方法。
【請求項２４】
請求項１４乃至２３の何れか１項に記載のバス接続方法であって、
バス接続デバイスを接続するバスの規格が、ＰＣＩ  Ｅｘｐｒｅｓｓに準拠するものであることを特徴とするバス接続方法。
【請求項２５】
請求項２４に記載のバス接続方法であって、前記バス接続デバイスがＰＣＩ  Ｅｘｐｒｅｓｓスイッチを構成することを特徴とするバス接続方法。
【請求項２６】
請求項１４乃至２５の何れか１項に記載のバス接続方法であって、
外部デバイスが接続されているブリッジ以外にも、あらかじめ定めておいたブリッジの個数分のブリッジを、初期構成の対象とすることが可能なことを特徴とするバス接続方法。
【請求項２７】
コンピュータを請求項１から１３の何れか１項に記載のバス接続デバイスとして機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はバス接続デバイス、バス接続方法およびバス接続用プログラムに関し、より詳細には、ホストのソフトウェアの変更なく初期構成時間を自律的に短縮することができるバス接続デバイス、バス接続方法およびバス接続用プログラムに関する。
【背景技術】
【０００２】
従来、ＰＣＩ  Ｅｘｐｒｅｓｓにおいて、ＣＰＵが備えるホストブリッジ、又はマザーボード上に配置されているホストブリッジと、複数のＩ／Ｏとを接続するＰＣＩ  Ｅｘｐｒｅｓｓスイッチとして、バス接続デバイスが用いられている。
【０００３】
この点、非特許文献１に、従来のＰＣＩ  Ｅｘｐｒｅｓｓスイッチの一例が記載されている。図１１を用いて、従来のＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１１１について説明する。
【０００４】
従来のＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１１１は、上流ＰＣＩ−ＰＣＩブリッジ１１１２と、下流ＰＣＩ−ＰＣＩブリッジ１１１４−１〜１１１４−３と、内部バス１１１３とを備える。
【０００５】
上流ＰＣＩ−ＰＣＩブリッジ１１１２は、ホストブリッジと接続するリンクを収容する部分である。下流ＰＣＩ−ＰＣＩブリッジ１１１４−１〜１１１４−３は、Ｉ／Ｏと接続するリンクを収容する部分である。
【０００６】
内部バス１１１３は、上流ＰＣＩ−ＰＣＩブリッジ１１１２と各下流ＰＣＩ−ＰＣＩブリッジを接続する部分である。
【０００７】
なお、ＰＣＩ  Ｅｘｐｒｅｓｓのトポロジーでは、ＣＰＵ側を上流、Ｉ／Ｏ側を下流と呼ぶ。
【０００８】
また、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１１１では、上流ＰＣＩ−ＰＣＩブリッジ１１１２に対応するインタフェースは上流ポート１１１１である。
【０００９】
下流ＰＣＩ−ＰＣＩブリッジ１１１４−１〜１１１４−３に対応するインタフェースは下流ポート１１１５−１〜１１１５−３である。
【００１０】
上流ＰＣＩ−ＰＣＩブリッジ１１１２と各下流ＰＣＩ−ＰＣＩブリッジ１１１４−１〜１１１４−３は、ブリッジの構成情報を保持し、ホストからのデバイス操作を受け付ける部分であるＰＣＩ  Ｅｘｐｒｅｓｓコンフィグレーションレジスタ１１１２１−１〜１１１２１−４を備える。
【００１１】
上流ＰＣＩ−ＰＣＩブリッジ１１１２が受信したＩ／Ｏ行きのパケットであるＴＬＰ（Transaction Layer Packet）は、下流ＰＣＩ−ＰＣＩブリッジ１１１４−１〜１１１４−３の中の、対応する宛先のＩ／Ｏと接続されている下流ＰＣＩ−ＰＣＩブリッジを経由してＩ／Ｏに転送される。
【００１２】
一方、下流ＰＣＩ−ＰＣＩブリッジ１１１４−１〜１１１４−３が受信したホストブリッジ行きのＴＬＰは、上流ＰＣＩ−ＰＣＩブリッジ１１１２に集約され、ホストブリッジに転送される。
【００１３】
他方、ＰＣＩデバイスに適用する技術として、共通のデバイスを用いて様々な製品に対応するための手法が、従来から提案されている（例えば特許文献１）。
【００１４】
ここでＰＣＩとは、ＰＣＩ  Ｅｘｐｒｅｓｓより以前に標準化されたバス規格である。
【００１５】
図１２に、特許文献１に記載された従来のＰＣＩデバイス１２２を示す。ＰＣＩデバイス１２２は、ＰＣＩバス１２１に接続するバススレーブ１２２１と、３つのファンクションとを備える。
【００１６】
ファンクションは、ＰＣＩカードバスブリッジスロットである、Ａ１２２２−１及びＢ１２２２−２、ＩＥＥＥ１３９４インタフェースである１２２３を備える。
【００１７】
そして、Ａ１２２２−１にはファンクションの番号０が割り当てられている。Ｂ１２２２−２にはファンクションの番号１が割り当てられている。ＩＥＥＥ１３９４インタフェース１２２３にはファンクションの番号２が割り当てられている。
【００１８】
ここで各ファンクションはＰＣＩコンフィグレーションレジスタ１２２２１−１〜１２２２１−３を保持している。
【００１９】
そして、ホストに対し本ＰＣＩコンフィグレーションレジスタ１２２２１−１〜１２２２１−３へのアクセスを必要に応じて禁止することで、ファンクションの機能をホストに対して隠蔽することができる。
【００２０】
例えばファンクション２に対応するＩＥＥＥ１３９４インタフェース１２２３をホストに対し隠蔽することで、ＰＣＩデバイス１２２はファンクション０と１とを備えたデバイスとなったように振る舞うことができる。
【００２１】
本ＰＣＩコンフィグレーションレジスタ１２２２１−１〜１２２２１−３へのアクセスの設定は、隣のファンクションのＰＣＩコンフィグレーションレジスタ１２２２１−１〜１２２２１−３の設定を変更することにより行うか、ＰＣＩデバイス１２２の外部に物理的な制御ピンを設けることにより行う。
【００２２】
本手法により、共通のデバイスを用いた場合でも、各製品に応じてそれぞれ必要なファンクションを有効にし、不要なファンクションは隠蔽することで、デバイス機能のカスタマイズが可能であり、デバイスの種類の削減をすることが可能となる。
【００２３】
従来のＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１１１と、特許文献１に記載された従来のＰＣＩデバイス１２２に関する技術を組み合わせることで、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１１１の下流ポート１１１５−１〜１１１５−３のＩ／Ｏ接続に応じて、対応する下流ＰＣＩ−ＰＣＩブリッジ１１１４−１〜３のみを初期構成し、ホストのＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１１１に対する初期構成時間を削減することが可能となる。
【００２４】
すなわち、下流ポート１１１５−１〜１１１５−３の内Ｉ／Ｏと接続する下流ポートについては、ホストに対し対応する下流ＰＣＩ−ＰＣＩブリッジ１１１５−１〜１１１５−３のＰＣＩ  Ｅｘｐｒｅｓｓコンフィグレーションレジスタ１１１２１−２〜１１１２１−４へのアクセスを許可することでブリッジの存在を示す。
【００２５】
一方、下流ポート１１１５−１〜１１１５−３の内Ｉ／Ｏと接続しない下流ポートについては、ホストからＰＣＩ  Ｅｘｐｒｅｓｓコンフィグレーションレジスタ１１１２１−２〜１１１２１−４へのアクセスを禁止することで下流ＰＣＩ−ＰＣＩブリッジ１１１４−１〜１１１４−３の存在を隠蔽する。
【００２６】
通常の初期構成では、ホストのＢＩＯＳはＩ／Ｏと接続しない全ての下流ＰＣＩ−ＰＣＩブリッジ１１１５−１〜１１１５−３に対しても、初期構成を行わなければならない。
【００２７】
従ってＩ／Ｏが接続しない下流ＰＣＩ−ＰＣＩブリッジ１１１５−１〜１１１５−３を隠蔽することにより、相対的に初期構成時間の短縮が実現されることとなる。
【特許文献１】特開２００３−３３０８７５号公報（第６頁、図３）
【非特許文献１】ＰＣＩ  Ｅｘｐｒｅｓｓ  Ｂａｓｅ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  １．１，ＰＳＩ−ＳＩＧ，２００５年３月２８日発行，ｐｐ．３４
【発明の開示】
【発明が解決しようとする課題】
【００２８】
しかし、上記で説明した特許文献１及び非特許文献１に記載の技術では、下記の問題点があった。
【００２９】
第１の問題点は、バス接続デバイスでホストの初期構成時間を短縮するためには、ブリッジを手動で設定しなければならないことである。
【００３０】
その理由は、システム管理者がバス接続デバイスのどのポートに外部デバイスが接続しているかを判断し、ソフトウェアや外部ピンを用いて対応するブリッジを手動で設定する必要があるためである。
【００３１】
第２の問題点は、空きポートに外部デバイスをホットプラグする場合においても、バス接続デバイスでホストの初期構成時間を短縮するためには、デバイスを挿入するポートに対応するブリッジの手動設定を前もって行っておかなくてはならない点である。
【００３２】
その理由は、あらかじめシステム管理者がバス接続デバイスのどの空きポートに外部デバイスをホットプラグするのかを判断し、ソフトウェアや外部ピンを用いて、ブリッジを外部デバイスがホットプラグできる状態に手動で設定しておかなければならないためである。
【００３３】
第３の問題点は、バス接続デバイスのブリッジを設定するためのソフトウェアや、外部ピンなどの物理ハードウェアが必要となる点である。
【００３４】
その理由は、第１と第２の問題点の理由と同じである。
【００３５】
第４の問題点は、バス接続デバイスの誤設定や誤作動を誘発しやすいことである。
【００３６】
その理由は、システムが大規模となりバス接続トポロジーが複雑化し、接続デバイス数が増大した場合でも、システム管理者はバス接続デバイスの個々のブリッジを手動で設定しなければならないためである。
【００３７】
そこで、本発明はバス接続デバイスを設定するためのソフトウェアや外部ピンなどの物理ハードウェアを必要としない初期構成時間を短縮するバス接続デバイスを提供することを目的とする。
【課題を解決するための手段】
【００３８】
本発明の第１の観点によれば、ホストと外部デバイスを接続する、バス接続デバイスであって、システム全体の初期構成時において、ホストからの初期構成が開始される前に、外部デバイスとバス接続デバイスの接続を検出する手段と、外部デバイスと接続しているブリッジのみをホストからの初期構成の対象として設定する手段と、を備えることを特徴とするバス接続デバイスが提供される。
【００３９】
本発明の第２の観点によれば、ホストと外部デバイスを接続する、バス接続デバイスであって、システム全体の初期構成時に、外部デバイスの接続によりリンクアップしたブリッジを検出する、リンクアップ検出手段と、前記リンクアップ検出手段において検出された、リンクアップしたブリッジを記憶する手段と、ホストの初期構成用データを前記リンクアップしたブリッジを記憶する手段によって記憶されたブリッジのみに転送する手段と、を備えることを特徴とするバス接続デバイスが提供される。
【００４０】
本発明の第３の観点によれば、ホストと外部デバイスを接続する、バス接続デバイスであって、システム全体の初期構成時に、外部デバイスの接続によりリンクアップしたブリッジを検出する、リンクアップ検出手段と、前記リンクアップ検出手段においてリンクアップが検出されたことによりホストからのコンフィグレーションレジスタへのデータ転送を許可する手段と、を備えることを特徴とするバス接続デバイスが提供される。
【発明の効果】
【００４１】
本発明によれば、ホストのソフトウェアを変更することなく初期構成時間を自律的に短縮できるバス接続デバイスを提供することが可能となる。
【発明を実施するための最良の形態】
【００４２】
次に、本発明の最良の形態について図面を用いて説明する。
【００４３】
［実施形態１］
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００４４】
図１は、本発明を実施するための第１の実施の形態の構成を示すブロック図である。
【００４５】
図１を参照すると、本発明の第１の実施の形態であるバス接続デバイス１１は、接続ポート１１１−１〜４と、リンク接続ブリッジ１１２−１〜４と、データ転送部１１３と、ブリッジ管理部１１４と、ブリッジ状態記憶部１１５とを備える。
【００４６】
接続ポート１１１−１〜４は外部デバイスと接続する部分である。リンク接続ブリッジ１１２−１〜４はバスのリンクを収容する部分である。
【００４７】
データ転送部１１３はリンク接続ブリッジ１１２−１〜４の間で、ホストによる初期構成用のデータを転送する部分である。
【００４８】
ブリッジ管理部１１４は、リンク接続ブリッジ１１２−１〜４の外部デバイスとの接続によるリンクアップを検知し、接続情報を管理する部分である。
【００４９】
ブリッジ状態記憶部１１５は、リンク接続ブリッジ１１２−１〜４の外部デバイスとの接続情報を記憶する部分である。
【００５０】
リンク接続ブリッジ１１２−１〜４は、コンフィグレーションレジスタ１１２１−１〜４と、ホスト割り込み部１１２２−１〜４とを備える。
【００５１】
コンフィグレーションレジスタ１１２１−１〜４は、ブリッジの構成情報を保持し、ホストからのデバイス操作を受け付ける部分である。
【００５２】
ホスト割り込み部１１２２−１〜４は、システムが稼働中に外部デバイスがホットプラグされたとき、ホストに割り込みを上げる部分である。
【００５３】
ブリッジ管理部１１４は、リンク接続ブリッジ１１２−１〜４と外部デバイスとが接続された場合に接続を検知し、接続情報をブリッジ状態記憶部１１５に書き込む。
【００５４】
データ転送部１１３は、ブリッジ状態記憶部１１５を参照し、リンク接続ブリッジ１１２−１〜４の中で、外部デバイスと接続され、リンクアップしているリンク接続ブリッジ１１２−１〜４に対してのみホストの初期構成用データを転送する。
【００５５】
次に、図１、図２及び図３を参照して本発明を実施するための第１の実施の形態の動作について詳細に説明する。
【００５６】
初めに、システム電源投入時などにシステム全体の初期構成が行われる際の動作について、図１及び図２を用いて説明する。
【００５７】
バス接続デバイス１１がデバイスリセットから復帰すると（ステップ２０１）、リンク接続ブリッジ１１２−１〜４はリンクのトレーニングを行う（ステップ２０２）。
【００５８】
トレーニングの結果から、各リンク接続ブリッジ１１２−１〜４のそれぞれが、外部デバイスと接続しているか否かを判断する（ステップ２０３）。
【００５９】
そして、外部デバイスと接続していると判断された、リンク接続ブリッジ１１２−１〜４はリンクアップとなる（ステップ２０４）。
【００６０】
一方、外部デバイスと接続しないと判断されたリンク接続ブリッジ１１２−１〜４はリンクダウンとなる（ステップ２０５）。
【００６１】
次に、ブリッジ管理部１１４はリンク接続ブリッジ１１２−１〜４のリンクアップを検出する（ステップ２０６）。
【００６２】
そして、ブリッジ管理部１１４は、リンク接続ブリッジ１１２−１〜４の接続情報をブリッジ状態記憶部１１５に書き込む（ステップ２０７）。
【００６３】
ここまでのステップがホストによる初期構成が開始される前に完了する。
【００６４】
その後、ホストによる初期構成が開始されると、データ転送部１１３はブリッジ状態記憶部１１５を参照し、外部デバイスと接続するリンク接続ブリッジ１１２−１〜４へのみ初期構成用データを転送する。
【００６５】
初期構成用データを転送しないリンク接続ブリッジ１１２−１〜４宛のデータは破棄されるか、デバイスが存在しないことを示す、ＵＲ（Unsupported Request）をホストに返信する。
【００６６】
次に、ホストによる初期構成では、外部デバイスと接続するリンク接続ブリッジ１１２−１〜４のコンフィグレーションレジスタ１１２１−１〜４からデバイス情報が読み込まれる（ステップ２０８）。
【００６７】
そして、デバイスの初期構成に必要な制御情報がコンフィグレーションレジスタ１１２１−１〜４に書き込まれることで（ステップ２０９）初期構成が完了する（ステップ２１０）。
【００６８】
上記の、ステップ２０１〜２１０より、バス接続デバイス１１は、外部デバイスと接続したリンク接続ブリッジ１１２−１〜４から構成される、バス接続デバイス１１として、ホストからの初期構成が行われることとなる。
【００６９】
次に、ホストが稼働中に空き接続ポート１１１−１〜４に外部デバイスがホットプラグされた場合の動作について図１及び図３を用いて説明する。
【００７０】
まず、ホストが稼働中に外部デバイスがホットプラグされる（ステップ３０１）。
【００７１】
リンク接続ブリッジ１１２−１〜４は、デバイスがホットプラグされた該当リンクのリンクトレーニングが行われる（ステップ２０２）。
【００７２】
そして、デバイスがホットプラグされたリンク接続ブリッジ１１２−１〜４は、リンクアップする（ステップ２０３）。
【００７３】
次の、ステップ２０６と２０７は図２に示したシステム全体の初期構成が行われる際の動作と同じである。
【００７４】
続いて、リンクアップしたリンク接続ブリッジ１１２−１〜４では、ホスト割り込み部１１２２−１〜４がホストにホットプラグがあったことを通知する割り込みを上げる（ステップ３０２）。
【００７５】
本割り込みを契機として、リンクアップしたリンク接続ブリッジ１１２−１〜４とホットプラグされた外部デバイスの初期構成が開始される。
【００７６】
リンク接続ブリッジ１１２−１〜４の初期構成の手順は、図２に示したステップ２０８、ステップ２０９及びステップ２１０と同じである。
【００７７】
次に、本発明を実施するための第１の実施の形態の効果について説明する。
【００７８】
第１の実施の形態では、ホストによる初期構成が開始される前に外部デバイスが接続するブリッジをデバイスが検出し、接続を検出したブリッジへのみホストの初期構成用データを転送するように、デバイスが自律的に設定する。
【００７９】
これにより、外部デバイスが接続するブリッジのみがホストから初期構成され、バス接続デバイス全体の初期構成時間の内、デバイスが接続しないブリッジに対して必要となっていた初期構成時間を削減することができる。
【００８０】
これは、ホストのソフトウェアを変更することなく実現可能である。
【００８１】
また、ホストが稼働中に外部デバイスがホットプラグされたブリッジを、バス接続デバイスが検出し、ホストに対しホットプラグを通知する割り込みを上げる。
【００８２】
さらに、ホットプラグされたブリッジへの初期構成用データの転送を許可する。
【００８３】
以上の処理をデバイスが自律的に行う。これにより、起動時に未使用ブリッジとして初期構成が行われなかったブリッジでも、外部デバイスがホットプラグされた場合、ホストが稼働中に外部デバイスを接続するブリッジとしての機能を有効化することができる。
【００８４】
なお、第１の実施の形態ではバス接続デバイス１１が、４本のリンクを持つ形態を示したが、リンクの数に制限はない。
【００８５】
また、データ転送部１１３がホストの初期構成用データを外部デバイスが接続するリンク接続ブリッジ１１２−１〜４へのみ転送する場合を示したが、外部デバイスが接続するリンク接続ブリッジ１１２−１〜４に加えて、外部デバイスが接続しない一定数のリンク接続ブリッジ１１２−１〜４にも転送を行うという形態をとることも可能である。
【００８６】
これは一部のホストのソフトウェアでの、外部デバイスをシステムにホットプラグするために、空いているリンク接続ブリッジ１１２−１〜４があらかじめ認識されていることが必要となるという場合に対応するためである。
【００８７】
［実施形態２］
次に、本発明を実施するための第２の実施の形態について図面を参照して詳細に説明する。
【００８８】
図４は本発明の第２の実施の形態の構成を示すブロック図である。
【００８９】
図４を参照すると、本発明の第２の実施の形態であるバス接続デバイス４１は、図１に示した第１の実施の形態のブリッジ管理部に代えて、リンクアップ検出部４１１１−１〜４と、コンフィグレーションレジスタ１１２１−１〜４へのホストからの初期構成用データの転送を制御する転送制御部４１１２−１〜４とをリンク接続ブリッジ４１１−１〜４が備えている。
【００９０】
またデータ転送部１１３に代えてデータ転送部４１２を備え、ブリッジ管理部１１４とブリッジ状態記憶部１１５は備えていない。
【００９１】
リンクアップ検出部４１１１−１〜４は、接続ポート１１１−１〜４に外部デバイスが接続している場合、リンク接続ブリッジ４１１−１〜４のリンクアップを検知し、転送制御部４１１２−１〜４に通知する。
【００９２】
転送制御部４１１２−１〜４は、リンク接続ブリッジ４１１−１〜４がリンクアップしている場合、ホストからコンフィグレーションレジスタ１１２１−１〜４へのアクセスを許可し、リンクアップしない場合は、アクセスを拒絶するか、デバイスが存在しないことを示す、ＵＲ（Unsupported Request）を返信する。
【００９３】
データ転送部４１２はリンク接続ブリッジ４１１−１〜４から受信したホストの初期構成用データをあて先に転送する。
【００９４】
次に図４〜６を参照して、本発明を実施するための第２の実施の形態の動作について詳細に説明する。
【００９５】
初めに、システム電源投入時などにシステム全体の初期構成が行われる際の動作を図４及び図５を用いて説明する。なお、ステップ２０１〜２０５は、第１の実施の形態と同一であるため説明を省略する。
【００９６】
リンクアップ検出部４１１１−１〜４は、対応するリンク接続ブリッジ４１１−１〜４のリンクアップを自律的に検出し、転送制御部４１１２−１〜４に通知する（ステップ５０１）。
【００９７】
転送制御部４１１２−１〜４はリンク接続ブリッジ４１１−１〜４がリンクアップした場合、ホストからのコンフィグレーションレジスタ１１２１−１〜４へのデータ転送を許可する（ステップ５０２）。
【００９８】
第１の実施の形態と同様に、ステップ５０２までの動作はホストによる初期構成が開始される前に完了する。なお、ステップ２０８〜２１０は、第１の実施の形態と同一であるため説明を省略する。
【００９９】
次に、ホストが稼働中に空き接続ポート１１１−１〜４に外部デバイスがホットプラグされた場合の動作を図６に示す。
【０１００】
ステップ２０２と２０３、ステップ２０６、ステップ２０８〜２１０、ステップ３０１と３０２は第１の実施の形態と同一であり、ステップ５０１と５０２は図５に示したシステム全体の初期構成が行われる際の動作と同一であるため説明を省略する。
【０１０１】
なお、本実施の形態でも、第１の実施の形態と同様にバス接続デバイス４１が４本のリンクを持つ形態を示したが、リンク数に制限はない。
【０１０２】
また、転送制御部４１１２−１〜４は外部デバイスと接続するリンク接続ブリッジ４１１−１〜４のみホストからの初期構成を許可する場合を示したが、外部デバイスが接続するリンク接続ブリッジ４１１−１〜４に加えて、外部デバイスが接続しないリンク接続ブリッジ４１１−１〜４の一定数も初期構成を許可することが可能である。
【０１０３】
これは一部のホストのソフトウェアでの、外部デバイスをシステムにホットプラグするために、空いているリンク接続ブリッジ４１１−１〜４があらかじめ認識されていることが必要となるという場合に対応するためである。
【０１０４】
［実施形態３］
次に、本発明を実施するための第３の実施の形態について図面を参照して詳細に説明する。
【０１０５】
図７は本発明の第３の実施の形態の構成を示すブロック図である。
【０１０６】
図７を参照すると、本発明を第３の実施の形態であるバス接続デバイス７１は、接続ポート１１１−１〜４と、ＣＰＵ７１１と、データ記憶部７１２と、バス接続デバイスプログラム７１３とを備える。
【０１０７】
接続ポート１１１−１〜４は外部デバイスが接続される部分である。ＣＰＵ７１１はデータ処理を行う部分である。データ記憶部７１２はデータを記憶する部分である。
【０１０８】
バス接続デバイスプログラム７１３は、ＣＰＵ７１１にバス接続デバイス７１の処理を行わせる機能を備える。
【０１０９】
バス接続デバイスプログラム７１３はＣＰＵ７１１に読み込まれ、図１に示した第１の実施の形態におけるコンフィグレーションレジスタ１１２１−１〜４とブリッジ状態記憶部１１５に対応するデータを生成する。
【０１１０】
そして、生成されたデータを、それぞれコンフィグレーション記憶部７１２１とポート接続状態記憶部７１２２とに格納する。
【０１１１】
ＣＰＵ７１１は、バス接続デバイスプログラム７１３の制御により、第１の実施の形態におけるリンク接続ブリッジ１１２−１〜４と、データ転送部１１３とブリッジ管理部１１４と同様の処理を行う。
【０１１２】
または、バス接続デバイスプログラム７１３はＣＰＵ７１１に読み込まれ、図４に示した第２の実施の形態におけるコンフィグレーションレジスタ１１２１−１〜４に対応するデータを生成する。
【０１１３】
そして、生成されたデータを、コンフィグレーション記憶部７１２１に格納する。
【０１１４】
ＣＰＵ７１１は、バス接続デバイスプログラム７１３の制御により、第２の実施の形態におけるリンク接続ブリッジ４１１−１〜４と、データ転送部４１２と同様の処理を行う。
【実施例１】
【０１１５】
次に、本発明の第１の実施例を、図面を参照して説明する。かかる実施例は本発明を実施するための第１の実施の形態に対応するものである。
【０１１６】
図８を参照すると本実施例は、ＣＰＵ８１と、ホストブリッジ８２と、Ｉ／Ｏ８３−１〜３と、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ８４を備える。
【０１１７】
なお、「Ｉ／Ｏ」は、本発明の「入出力デバイス」に相当する。
【０１１８】
そして、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ８４は、コンピュータ内部において、ＣＰＵ８１とＩ／Ｏ８３−１〜３を相互に接続する。
【０１１９】
また、ＣＰＵ８１はホストブリッジ８２を介してＰＣＩ  Ｅｘｐｒｅｓｓスイッチ８４に接続する。
【０１２０】
ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ８４は接続ポート１１１−１として上流ポート８４１を、接続ポート１１１−２〜４として下流ポート８４２−１〜３を、リンク接続ブリッジ１１２−１として上流ＰＣＩ−ＰＣＩブリッジ８４３を、リンク接続ブリッジ１１２−２〜４として下流ＰＣＩ−ＰＣＩブリッジ８４４−１〜３を、データ転送部１１３としてパケット転送部８４５を、ブリッジ管理部１１４としてブリッジ管理部８４６を、ブリッジ状態記憶部１１５としてブリッジ状態記憶部８４７を、コンフィグレーションレジスタ１１２１−１〜４としてＰＣＩコンフィグレーションレジスタ８４３１−１〜４を、ホスト割り込み部１１２２−１〜４としてホスト割り込み部８４３２−１〜４とを備える。
【０１２１】
ここで上流ＰＣＩ−ＰＣＩブリッジ８４３は常にＣＰＵ８１と接続しているため、ブリッジ管理部１１４のリンクアップ検出に対応する機能が除外され、常に初期構成用データ含むデータが転送されることが保証される。
【０１２２】
まず、上流ポート８４１にＣＰＵ８１がホストブリッジ８２を介して接続され、下流ポート８４２−１と８４１−２にＩ／Ｏ８３−１と８３−２が接続され、下流ポート８４２−３には外部デバイスが接続されていない場合を想定する。
【０１２３】
今、システム全体に電源が投入されると、下流ＰＣＩ−ＰＣＩブリッジ８４４−１〜３はリンクトレーニングを開始する。
【０１２４】
この結果、外部デバイスが接続されている、下流ＰＣＩ−ＰＣＩブリッジ８４４−１と８４４−２はリンクアップし、外部デバイスが接続されていない、下流ＰＣＩ−ＰＣＩブリッジ８４４−３はリンクダウンする。
【０１２５】
ブリッジ管理部８４７は下流ＰＣＩ−ＰＣＩブリッジ８４４−１と８４４−２のリンクアップを検出し、ブリッジ状態記憶部８４７に記載する。
【０１２６】
ここまでの動作が完了した後、ＣＰＵ８４で動作するホストのＢＩＯＳによりＰＣＩ  Ｅｘｐｒｅｓｓスイッチ８４の初期構成が開始される。
【０１２７】
ここでＰＣＩ−ＳＩＧ（PCI Special Interest Group）の定める標準規格では、ＢＩＯＳによる初期構成は、システム起動と同時ではなく、システム起動後一定時間を経て開始されるということが保証されている。
【０１２８】
このため、ブリッジ状態記憶部８４７への情報の記載は、標準規格で指定された時間内に完了すれば良い。
【０１２９】
続いて開始されるＢＩＯＳによる初期構成は、コンフィグレーションＴＬＰ（Transaction Layer Packet）と呼ばれる初期構成用のパケットを用いて行われる。
【０１３０】
パケット転送部８４５は、ＣＰＵ８１が発行した下流ＰＣＩ−ＰＣＩブリッジ８４４−１〜３を初期構成するコンフィグレーションＴＬＰを上流ＰＣＩ−ＰＣＩブリッジ８４３から受信する。
【０１３１】
そして、受信したＴＬＰの宛先がブリッジ状態記憶部８４７に登録されているか調べる。
【０１３２】
宛先が登録されていた場合、パケット転送部８４５はＴＬＰを宛先の下流ＰＣＩ−ＰＣＩブリッジ８４４−１〜３に転送する。
【０１３３】
一方、宛先が登録されていない場合、転送を行わず、ＵＲ（Unsupported Request）ＴＬＰをＣＰＵ８１に返信する。
【０１３４】
具体的に、本実施例では下流ＰＣＩ−ＰＣＩブリッジ８４４−１と８４４−２へはＴＬＰの転送が行われ、下流ＰＣＩ−ＰＣＩブリッジ８４３−３へはＴＬＰの転送が行われない。
【０１３５】
初期構成ではまず、コンフィグレーションＲｅａｄ  ＴＬＰによりＰＣＩコンフィグレーションレジスタ８４３１−２と８４３１−３が読み込まれる。
【０１３６】
続いて、読み込んだデバイス情報をもとに下流ＰＣＩ−ＰＣＩブリッジ８４４−１と８４４−２を制御する情報がコンフィグレーションＷｒｉｔｅ  ＴＬＰによりＰＣＩコンフィグレーションレジスタ８４３１−２と８４３１−３に書き込まれる。
【０１３７】
以上でＰＣＩ  Ｅｘｐｒｅｓｓスイッチ８４の初期構成が完了するが、本構成では、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ８４が、ＣＰＵ８１と、Ｉ／Ｏ８３−１及び８３−２を接続する、１：２のスイッチとして初期構成が行われる。
【０１３８】
次にホストが稼動中にＩ／Ｏ８３−３が接続ポート下流ポート８４２−３にホットプラグされた場合を想定する。
【０１３９】
下流ＰＣＩ−ＰＣＩブリッジ８４４−３はリンクトレーニングを開始し、リンクアップをする。
【０１４０】
ブリッジ管理部８４６は下流ＰＣＩ−ＰＣＩブリッジ８４４−３のリンクアップを検出し、リンクアップした下流ＰＣＩ−ＰＣＩブリッジ８４４−３をブリッジ状態記憶部８４７に記載する。
【０１４１】
次にホスト割り込み部８４３２−４は、ＣＰＵ８１上で動作するホストのＯＳに割り込みを上げる。
【０１４２】
本割り込みによりＯＳはコンフィグレーションＲｅａｄ  ＴＬＰにより割り込みを上げた、下流ＰＣＩ−ＰＣＩブリッジ８４４−３のＰＣＩコンフィグレーションレジスタ８４３１−４を読み込む。
【０１４３】
続いて、読み込んだデバイス情報をもとに下流ＰＣＩ−ＰＣＩブリッジ８４４−３を制御する情報をコンフィグレーションＷｒｉｔｅ  ＴＬＰによりＰＣＩコンフィグレーションレジスタ８４３１−４に書き込む。
【０１４４】
これにより、ホットプラグが行われた下流ＰＣＩ−ＰＣＩブリッジ８４４−３の初期構成を完了する。
【０１４５】
ここでブリッジ状態記憶部８４７の設定は、下流ＰＣＩ−ＰＣＩブリッジ８４４−３が割り込みを上げる前に完了している。
【０１４６】
よって、ＯＳからのコンフィグレーションＴＬＰは、パケット転送部８４５において下流ＰＣＩ−ＰＣＩブリッジ８４４−３への転送を許可される。
【実施例２】
【０１４７】
次に、本発明の第２の実施例を、図面を参照して説明する。かかる実施例は本発明を実施するための第２の実施の形態に対応するものである。
【０１４８】
図９を参照すると本実施例は第１の実施例と同様に、ＣＰＵ８１と、ホストブリッジ８２と、Ｉ／Ｏ８３−１〜３と、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ９１を備える。
【０１４９】
そして、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ９１は、コンピュータ内部において、ＣＰＵ８１とＩ／Ｏ８３−１〜３を相互に接続する。
【０１５０】
また、ＣＰＵ８１はホストブリッジ８２を介してＰＣＩ  Ｅｘｐｒｅｓｓスイッチ９１に接続する。
【０１５１】
ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ９１は、接続ポート１１１−１として上流ポート８４１を、接続ポート１１１−２〜４として下流ポート８４２−１〜３を、リンク接続ブリッジ４１１−１として上流ＰＣＩ−ＰＣＩブリッジ９１１を、リンク接続ブリッジ４１１−２〜４として下流ＰＣＩ−ＰＣＩブリッジ９１２−１〜３を、データ転送部４１２としてパケット転送部９１３を、リンクアップ検出部４１１１−２〜４としてリンクアップ検出部９１２１−１〜３を、転送制御部４１１２−２〜４として転送制御部９１２２−１〜３を、コンフィグレーションレジスタ１１２１−１〜４としてＰＣＩコンフィグレーションレジスタ８４３１−１〜４を、ホスト割り込み部１１２２−１〜４としてホスト割り込み部８４３２−１〜４とを備える。
【０１５２】
ここで第１の実施例と同様に上流ＰＣＩ−ＰＣＩブリッジ９１１は常にＣＰＵ８１と接続しているため、リンクアップ検出部４１１１−１と転送制御部４１１２−１に対応する機能が除外され、常にＰＣＩコンフィグレーションレジスタ８４３１−１に対するホストからの初期構成データの転送が保証されている。
【０１５３】
第１の実施例と同様に、まず、上流ポート８４１にＣＰＵ８１がホストブリッジ８２を介して接続され、下流ポート８４２−１と８４１−２にＩ／Ｏ８３−１と８３−２が接続され、下流ポート８４２−４３は外部デバイスが接続されていない場合を想定する。
【０１５４】
最初に、システム全体に電源が投入されると、下流ＰＣＩ−ＰＣＩブリッジ９１２−１〜３はリンクトレーニングを開始する。
【０１５５】
この結果、外部デバイスが接続されている、下流ＰＣＩ−ＰＣＩブリッジ９１２−１と９１２−２はリンクアップし、外部デバイスが接続されていない、下流ＰＣＩ−ＰＣＩブリッジ９１２−３はリンクダウンする。
【０１５６】
リンクアップ検出部９１２１−１と９１２１−２は下流ＰＣＩ−ＰＣＩブリッジ９１２−１と９１２−２のリンクアップを検出し、転送制御部９１２２−１と９１２２−２に通知する。
【０１５７】
転送制御部９１２２−１と９１２２−２は本通知により、ホストからのＰＣＩコンフィグレーションレジスタ８４３１−２と８４３１−３への初期構成用データの転送を許可する。
【０１５８】
ここまでの動作が完了した後、ＣＰＵ８４で動作するホストのＢＩＯＳによりＰＣＩ  Ｅｘｐｒｅｓｓスイッチ９１の初期構成が開始される。
【０１５９】
初期構成はコンフィグレーションＴＬＰにより行われる。本実施例では下流ＰＣＩ−ＰＣＩブリッジ９１２−１と９１２−２に対し初期構成が行われる。
【０１６０】
下流ＰＣＩ−ＰＣＩブリッジ９１２−３では、コンフィグレーションＴＬＰはＰＣＩコンフィグレーションレジスタ８４３１−４へのアクセスが許可されず、ＵＲ  ＴＬＰがＣＰＵ８１に返信される。
【０１６１】
下流ＰＣＩ−ＰＣＩブリッジ９１２−１と９１２−２に対する初期構成ではまず、コンフィグレーション  Ｒｅａｄ  ＴＬＰによりＰＣＩコンフィグレーションレジスタ８４３１−２と８４３１−３が読み込まれる。
【０１６２】
続いて、読み込んだデバイス情報をもとに、下流ＰＣＩ−ＰＣＩブリッジ９１２−１と９１２−２を制御する情報がコンフィグレーションＷｒｉｔｅ  ＴＬＰによりＰＣＩコンフィグレーションレジスタ８４３１−２と８４３１−３に書き込まれる。
【０１６３】
以上でＰＣＩ  Ｅｘｐｒｅｓｓスイッチ９１の初期構成が完了するが、本構成では、第１の実施例と同様にＰＣＩ  Ｅｘｐｒｅｓｓスイッチ９１が、ＣＰＵ８１と、Ｉ／Ｏ８３−１及びＩ／Ｏ８３−２を接続する、１：２のスイッチとして初期構成が行われる。
【０１６４】
次にシステムが稼動中にＩ／Ｏ８３−３が下流ポート８４２−３にホットプラグされた場合を想定する。
【０１６５】
下流ＰＣＩ−ＰＣＩブリッジ９１２−３はリンクトレーニングを開始し、リンクアップする。リンクアップ検出部９１２１−３は下流ＰＣＩ−ＰＣＩブリッジ９１２−３のリンクアップを検出し、転送制御部９１２２−３に通知する。
【０１６６】
転送制御部はホストからのＰＣＩコンフィグレーションレジスタ８４３１−４に対するアクセスを許可する。
【０１６７】
次にホスト割り込み部８４３２−４は、ＣＰＵ８１上で動作するホストのＯＳに割り込みを上げる。
【０１６８】
本割り込みによりＯＳはコンフィグレーションＲｅａｄ  ＴＬＰを用いて割り込みを上げた下流ＰＣＩ−ＰＣＩブリッジ９１２−３のＰＣＩコンフィグレーションレジスタ８４３１−４を読み込む。
【０１６９】
続いて、読み込んだデバイス情報をもとに下流ＰＣＩ−ＰＣＩブリッジ９１２−３を制御する情報をコンフィグレーションＷｒｉｔｅ  ＴＬＰによりＰＣＩコンフィグレーションレジスタ８４２１−４に書き込む。
【０１７０】
以上でホットプラグが行われた下流ＰＣＩ−ＰＣＩブリッジ９１２−３のコンフィグレーションが完了する。
【実施例３】
【０１７１】
次に、本発明の第３の実施例を、図面を参照して説明する。かかる実施例は本発明を実施するための第３の実施の形態に対応するものである。
【０１７２】
図１０を参照すると本実施例は第１の実施例と同様に、ＣＰＵ８１と、ホストブリッジ８２と、Ｉ／Ｏ８３−１〜３と、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１０１を備える。
【０１７３】
そして、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１０１は、コンピュータ内部において、ＣＰＵ８１とＩ／Ｏ８３−１〜３を相互に接続する。
【０１７４】
また、ＣＰＵ８１はホストブリッジ８２を介してＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１０１に接続する。
【０１７５】
ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ１０１は接続ポート１１１−１として上流ポートを、接続ポート１１１−２〜４として下流ポート８４２−１〜３を、ＣＰＵ７１１としてＣＰＵ１０１１を、データ記憶部７１２としてデータ記憶部１０１２を、バス接続デバイスプログラム７１３としてＰＣＩ  Ｅｘｐｒｅｓｓスイッチプログラム１０１３を、コンフィグレーション記憶部７１２１としてＰＣＩコンフィグレーション記憶部１０１２１を、ポート接続状態記憶部７１２２としてポート接続状態記憶部１０１２２とを備える。
【０１７６】
ＰＣＩ  Ｅｘｐｒｅｓｓスイッチプログラム１０１３はＣＰＵ１０１１に読み込まれ、図８に示した第１の実施例におけるＰＣＩコンフィグレーションレジスタ８４３１−１〜４とブリッジ状態記憶部８４７に対応するデータを生成する。
【０１７７】
そして、生成したデータを、それぞれＰＣＩコンフィグレーション記憶部１０１２１とポート接続状態記憶部１０１２２とに格納する。
【０１７８】
ＣＰＵ１０１１は、ＰＣＩ  Ｅｘｐｒｅｓｓスイッチプログラム１０１３の制御により、第１の実施例における上流ＰＣＩ−ＰＣＩブリッジ８４３と、下流ＰＣＩ−ＰＣＩブリッジ８４４−１〜３と、パケット転送部８４５とブリッジ管理部８４６と同様の処理を行う。
【０１７９】
なお、バス接続デバイスは、ハードウェア、ソフトウェア又はこれらの組合せにより実現することができる。
【０１８０】
［実施形態の効果］
以上説明した各実施形態は、以下の効果を奏する。
【０１８１】
第１の効果は、ホストのソフトウェアを変更することなく初期構成時間を自律的に短縮できるバス接続デバイスが提供できることである。
【０１８２】
その理由は、ホストの初期構成が開始される前に外部デバイスと接続したブリッジを検出し、検出されたブリッジのみをホストの初期構成の対象とする設定を自律で行うためである。
【０１８３】
第２の効果は、ホストのソフトウェアを変更することなく、外部デバイスのホットプラグの設定が自律的に行える初期構成時間を短縮するバス接続デバイスが提供できることである。
【０１８４】
その理由は、システムが稼働中に外部デバイスがホットプラグされたブリッジを検出し、検出されたブリッジが初期構成されるために初期構成データの転送の設定やホストへの割り込みを自律で行うためである。
【０１８５】
第３の効果は、バス接続デバイスを設定するためのソフトウェアや外部ピンなどの物理ハードウェアを必要としない初期構成時間を短縮するバス接続デバイスが提供できることである。
【０１８６】
その理由は、第１と第２の効果の理由と同じである。
【０１８７】
第４の効果は、誤設定や誤作動を防ぐことができる初期構成時間を短縮するバス接続デバイスが提供できることである。
【０１８８】
その理由は、第１と第２の理由と同じである。
【産業上の利用可能性】
【０１８９】
本発明は、コンピュータ装置やネットワーク装置の内部コンポーネントを相互に接続するバススイッチといった用途に適用できる。
【図面の簡単な説明】
【０１９０】
【図１】本発明の第１の実施の形態の構成を示すブロック図である。
【図２】本発明の第１の実施の形態の動作を示す流れ図である。
【図３】本発明の第１の実施の形態の動作を示す流れ図である。
【図４】本発明の第２の実施の形態の構成を示すブロック図である。
【図５】本発明の第２の実施の形態の動作を示す流れ図である。
【図６】本発明の第２の実施の形態の動作を示す流れ図である。
【図７】本発明の第３の実施の形態の構成を示すブロック図である。
【図８】本発明の第１の実施例を説明するための図である。
【図９】本発明の第２の実施例を説明するための図である。
【図１０】本発明の第３の実施例を説明するための図である。
【図１１】従来技術の構成を示すブロック図である。
【図１２】従来技術の構成を示すブロック図である。
【符号の説明】
【０１９１】
１１  バス接続デバイス
４１  バス接続デバイス
７１  バス接続デバイス
８１  ＣＰＵ
８２  ホストブリッジ
８３−１〜３  Ｉ／Ｏ
８４  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ
９１  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ
１０１  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ
１１１  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチ
１２１  ＰＣＩバス
１２２  ＰＣＩデバイス
１１１−１〜４  接続ポート
１１２−１〜４  リンク接続ブリッジ
１１３  データ転送部
１１４  ブリッジ管理部
１１５  ブリッジ状態記憶部
４１１−１〜４  リンク接続ブリッジ
４１２  データ転送部
７１１  ＣＰＵ
７１２  データ記憶部
７１３  バス接続デバイスプログラム
８４１  上流ポート
８４２−１〜３  下流ポート
８４３  上流ＰＣＩ−ＰＣＩブリッジ
８４４−１〜３  下流ＰＣＩ−ＰＣＩブリッジ
８４５  パケット転送部
８４６  ブリッジ管理部
８４７  ブリッジ状態記憶部
９１１  上流ＰＣＩ−ＰＣＩブリッジ
９１２−１〜３  下流ＰＣＩ−ＰＣＩブリッジ
９１３  パケット転送部
１０１１  ＣＰＵ
１０１２  データ記憶部
１０１３  ＰＣＩ  Ｅｘｐｒｅｓｓスイッチプログラム
１１１１  上流ポート
１１１２  上流ＰＣＩ−ＰＣＩブリッジ
１１１３  内部バス
１１１４−１〜３  下流ＰＣＩ−ＰＣＩブリッジ
１１１５−１〜３  下流ポート
１２２１  バススレーブ
１２２１−１〜２  カードバススロット
１２２３  ＩＥＥＥ１３９４
【図１】
2008257597.tif 000003
【図２】
2008257597.tif 000004
【図３】
2008257597.tif 000005
【図４】
2008257597.tif 000006
【図５】
2008257597.tif 000007
【図６】
2008257597.tif 000008
【図７】
2008257597.tif 000009
【図８】
2008257597.tif 000010
【図９】
2008257597.tif 000011
【図１０】
2008257597.tif 000012
【図１１】
2008257597.tif 000013
【図１２】
2008257597.tif 000014