(57)【要約】【課題】多重化されたバスを選択的に使用可能にする。【解決手段】本発明の一実施形態は、コンピューティングデバイス(800)のバス構成を変更するためのシステム(100)を備える。前記システムは、前記コンピューティングデバイス(800)の第1のバス(104)と、第2のバス(114)と、第3のバス(118)とを備える。更には、多重化モジュール(102)が、前記第1のバス(104)と、前記第2のバス(114)と、前記第3のバス(118)とに結合される。従って、前記多重化モジュール(102)は、前記第1のバス(104)を前記第2のバス(114)か又は前記第3のバス(118)に選択的に結合することができる。コンフィギュレーションモジュール(108)は、前記多重化モジュール(102)に結合され、その動作を制御する。【選択図】図１
2005276221.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイス（８００）のバス構成を変更するためのシステム（１００）であって、
前記コンピューティングデバイス（８００）の第１のバス（１０４）と、
第２のバス（１１４）と、
第３のバス（１１８）と、
前記第１のバス（１０４）と前記第２のバス（１１４）と前記第３のバス（１１８）とに結合された多重化モジュール（１０２）であって、前記第１のバス（１０４）を前記第２のバス（１１４）か又は前記第３のバス（１１８）に選択的に結合するための、多重化モジュールと、
前記多重化モジュール（１０２）に結合されたコンフィギュレーションモジュール（１０８）であって、前記多重化モジュール（１０２）の動作を制御するための、コンフィギュレーションモジュール
とを備える、システム。
【請求項２】
前記第２のバス（１１４）に結合された第１のコントローラアダプタチップ（１２２）と、
前記第３のバス（１１８）に結合された第２のコントローラアダプタチップ（１２４）
とを更に備える、請求項１に記載のシステム。
【請求項３】
前記第１のコントローラアダプタチップ（１２２）に結合された第１のアドインカードスロット（１３０）と、
前記第２のコントローラアダプタチップ（１２４）に結合された第２のアドインカードスロット（１３２）
とを更に備える、請求項２に記載のシステム。
【請求項４】
前記第２のバス（１１４）に結合された第１のアドインカードスロット（１３０）と、
前記第３のバス（１１８）に結合された第２のアドインカードスロット（１３２）
とを更に備える、請求項１に記載のシステム。
【請求項５】
前記多重化モジュール（１０２）は、電気的な回路構成を含む、請求項１に記載のシステム。
【請求項６】
前記多重化モジュール（１０２）は、
前記第１のバス（１０４）を前記第２のバス（１１４）に結合するための第１の構成ルーティング（１１０）と、
前記第１のバス（１０４）を前記第３のバス（１１８）に結合するための第２の構成ルーティング（３０２）
とを備えることからなる、請求項１に記載のシステム。
【請求項７】
前記コンフィギュレーションモジュール（１０８）は、レジスタを含む、請求項１に記載のシステム。
【請求項８】
前記コンフィギュレーションモジュール（１０８）は、スイッチを含む、請求項１に記載のシステム。
【請求項９】
前記コンフィギュレーションモジュール（１０８）によって、前記多重化モジュール（１０２）は、信号を受けることに応答して、前記第１のバス（１０４）を前記第２のバス（１１４）に結合する、請求項１に記載のシステム。
【請求項１０】
前記コンフィギュレーションモジュール（１０８）によって、前記多重化モジュール（１０２）は、信号を受けることに応答して、前記第１のバス（１０４）を前記第３のバス（１１８）に結合する、請求項１に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプレクサ（多重化装置）に関し、特にバス構成のマルチプレクサに関する。
【背景技術】
【０００２】
いくつかのコンピュータシステムは、現在、１つか又は複数の入力／出力（Ｉ／Ｏ）スロットを備えており、それらのスロットは各々、アドインＩ／Ｏカードを受け入れるためにある。アドインＩ／Ｏカードを、インターフェースカードと呼ぶこともできる。典型的には、これらのＩ／Ｏカードスロットの各々は、周辺アドインカードのための業界標準のバスによってコントローラアダプタチップに接続される。該コントローラアダプタチップは、このアドインカードのバスを制御する。各アダプタチップは、通常、内部Ｉ／Ｏ中間バスと関連付けられたそのコンピュータシステムの残りの部分に接続され、それによって、対応するＩ／Ｏスロットに接続されたアドインＩ／Ｏカードが、コンピュータシステムのＣＰＵ（中央処理装置）とメモリとにアクセスすることが可能となり、またその逆も可能となる。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、コンピュータシステムに関するこのタイプの構成に関連した不利な点が存在する。例えば、不利な点のうちの１つは、コンピュータシステムのＩ／Ｏ構成（又は設定）が物理的に実施されると、その構成との適応性（フレキシビリティ）が通常はあまり無いことである。例えば、Ｉ／Ｏ構成を、特定の通信帯域幅をサポートするいくつかのアドインカードスロットによって物理的に実施することができる。しかしながら、Ｉ／Ｏ構成のどのアドインカードスロットによってサポートされる通信帯域幅よりも広い通信帯域幅を利用する新規で且つ改良されたインターフェースカードが市場に投入される時には、コンピュータシステムは、その新規のインターフェースカードを利用することができない。従って、コンピュータのユーザは、典型的には、自身のコンピュータシステムの限界を我慢しなければならないか、又は所望の特徴を有する、より最新のコンピュータシステムを購入しなければならないかのいずれかとなる。
【課題を解決するための手段】
【０００４】
本発明の一実施形態は、コンピューティングデバイスのバス構成を変更するためのシステムを含む。該システムは、コンピューティングデバイスの第１のバスと、第２のバスと、第３のバスとを備える。更には、多重化モジュールが、前記第１のバス、前記第２のバス、及び前記第３のバスに結合される。従って、前記多重化モジュールは、前記第１のバスを前記第２のバスか又は前記第３のバスに選択的に結合することができる。コンフィギュレーションモジュールは、前記多重化モジュールに結合されて、その動作を制御する。
【発明の効果】
【０００５】
多重化されたバスを選択的に使用できるので、Ｉ／Ｏの物理構成の変更に対して柔軟に対応できる。
【実施例】
【０００６】
本発明の実施形態に対して次に詳細に参照がなされる。実施形態の例は、添付の図面内に示される。本発明は、実施形態に関連して説明されるが、実施形態は、本発明をこれらの実施形態に限定することが意図されていないことに留意されたい。それどころか、本発明は、添付の特許請求の範囲によって画定されるような本発明の範囲内に含まれる可能性のある代替、修正、及び等価物を包含することが意図されている。更には、本発明の以下の詳細になされる説明において、本発明の完全な理解を提供するために、多数の特定の詳細事項が記載されている。しかしながら、本発明をこれらの特定の詳細事項無しに実施することができることが当業者にとってみれば明らかであろう。他の場合においては、本発明の態様を不必要に不明瞭にしないようにするために、周知の方法、手順、構成要素、及び回路は、詳細には記載されていない。
【０００７】
図１は、本発明の実施形態による、バス構成マルチプレクサシステム１００のブロック図である。バス構成マルチプレクサシステム１００は、コンピューティングデバイス（例えば、図８の８００）の入力／出力（Ｉ／Ｏ）システム（又はサブシステム）のための２つか又は３つ以上の、動作するバス構成を提供することができる。このようにして、バス構成マルチプレクサシステム１００は、Ｉ／Ｏサブシステム内においてより広い帯域幅を提供することができ、且つ、そのスロットの構成可能性を向上させることもできる。バス構成マルチプレクサシステム１００の構成を、動的に、及び／又は、手動で変更することができることに留意されたい。
【０００８】
バス構成マルチプレクサシステム１００は、Ｉ／Ｏ中間バス１０４と１０６とを備える。Ｉ／Ｏ中間バス１０４と１０６とは、それぞれバス多重化モジュール１０２に結合される。更に、多重化モジュール１０２は、Ｉ／Ｏ中間バス１１４と１１６とを介してコントローラアダプタチップ１２２に結合される。更にまた、多重化モジュール１０２は、Ｉ／Ｏ中間バス１１８と１２０とを介してコントローラアダプタチップ１２４に結合される。中間バス１１６と１１８とは、それらが現在、非アクティブであることを示すために、それぞれがグレーの破線によって表されていることに留意されたい。コンフィギュレーションモジュール１０８は、多重化モジュール１０２に結合される。コンフィギュレーションモジュール１０８は、多重化モジュール１０２のルーティング構成機能（又は構成ルーティングの設定機能）を制御することができる。
【０００９】
図１の多重化モジュール１０２内において、構成ルーティング１１０は、現在、中間バス１０４を中間バス１１４に結合しており、一方、構成ルーティング１１２は、現在、中間バス１０６を中間バス１２０に結合している。このようにして、アダプタチップ１２２は、中間バス１０４を利用するために結合され、一方、アダプタチップ１２４は、中間バス１０６を利用するために結合される。バス構成マルチプレクサシステム１００内において、コントローラアダプタチップ１２２は、カードバス１２６によってアドインＩ／Ｏカードスロット１３０に結合され、一方、コントローラアダプタチップ１２４は、カードバス１２８によってアドインＩ／Ｏカードスロット１３２に結合される。従って、アドインＩ／Ｏカードスロット１３０は、現在、中間バス１０４に結合されており、一方、アドインＩ／Ｏカードスロット１３２は、中間バス１０６に結合されている。このようにして、アドインＩ／Ｏカードスロット１３０に結合されたインターフェースカードは、他のコンピュータシステムの構成要素（図示せず）と中間バス１０４を介して通信することができ、一方、アドインＩ／Ｏカードスロット１３２に結合された別のインターフェースカードは、他のコンピュータシステムの構成要素と中間バス１０６を介して通信することができる。
【００１０】
多重化モジュール１０２（又はマルチプレクサモジュール）は、図示された結合に厳密には限定されないことに留意されたい。例えば、多重化モジュール１０２は、中間バス１０４と１０６とに類似する、より多数か又はより少数の中間バスに結合されることが可能で、且つ、それらの中間バスを処理することができる。更には、多重化モジュール１０２を、中間バス１１４〜１２０に類似する、より多数か又はより少数の中間バスに結合することができる。それぞれのアダプタチップ１２２と１２４とを、中間バス１１４〜１２０に類似する、より多数か又はより少数の中間バスに結合することができることが理解される。
【００１１】
図１内において、コンフィギュレーションモジュール１０８は、中間バス１０４を中間バス１１４か、１１６か、１１８か、又は１２０のいずれかに結合させるために、多重化モジュール１０２を制御することができることに留意されたい。代替として、コンフィギュレーションモジュール１０８は、中間バス１０６を中間バス１１４か、１１６か、１１８か、又は１２０のいずれかに結合させるために、多重化モジュール１０２を制御することができる。例えば、図２は、多重化モジュール１０２を制御するコンフィギュレーションモジュール１０８を示す。これにより、中間バス１０６は、中間バス１１６に結合するために再度向きが変えられて、ルーティングされることになる。このようにして、中間バス１０４と１０６とが、アドインカードスロット１３０を処理することができる。カードバス１２６を、中間バス１０４と１０６との組み合わされた通信帯域幅と等しいか又はそれよりも広い通信帯域幅を処理するように実施することができることに留意されたい。更には、カードバス１２８を、中間バス１０４と１０６との組み合わされた通信帯域幅と等しいか又はそれよりも広い通信帯域幅を処理するように実施することができる。
【００１２】
特に、図２は、本発明の実施形態による、バス構成マルチプレクサシステム１００’のブロック図である。コンフィギュレーションモジュール１０８は、中間バス１０６を中間バス１１６に結合する多重化モジュール１０２の構成ルーティング２０２をもたらす（すなわち起動する（又は開始する））。多重化モジュール１０２のルーティング構成２０２をアクティブにすることの一部として、ルーティング構成１１２は、非アクティブ化されるため、図２内には示されていない。バス構成を変更した後、中間バス１０４と１０６とが両方ともアドインカードスロット１３０に結合され、それによって、そのスロットは、両中間バス１０４と１０６との組み合わされた帯域幅と等価の、拡大された帯域幅を有することができる。従って、アドインカードスロット１３０は、より広い帯域幅を利用するＩ／Ｏアドインカード（又はインターフェースカード）を処理することができる。この構成において、アダプタチップ１２４とアドインカードスロット１３２とは、本質的には「オフライン」であることに留意されたい。中間バス１１８、１２０、及び１２８は、それらが現在、非アクティブであることを示すために、グレーの破線として表されている。
【００１３】
中間バス１０４と１０６とに関連付けられた多重化モジュール１０２の構成ルーティングを変更するための、コンフィギュレーションモジュール１０８についての様々な実際的な用途が存在する。例えば、ブランド物の新規のインターフェースカードを、アドインカードスロット１３０にプラグイン接続することができ、そのことは拡大された帯域幅を伴う。従って、図２内に示されるようなバス構成マルチプレクサシステム１００’を構成するための能力は、顧客のコンピューティングデバイス（例えば、図８の８００）が、より広い（すなわち拡大された）帯域幅を伴う利用可能となる新規のアドインカードを、ある期間にわたって処理することができるように、顧客のコンピューティングデバイスに対して価値を付加することができる。この付加された価値を、図３において示されるようなバス構成マルチプレクサシステム１００”を構成することにより提供することもできることが理解される。
【００１４】
別の実際的な用途の例は、バックアップネットワーク（図示せず）に結合された図１及び図２のアドインスロット１３０を有することを含むことができ、その結果、そのコンピュータシステム又はコンピューティングデバイスのデータは、一日に一度、拡大された通信帯域幅を伴うある期間（例えば、３０分間）、バックアップされることができる。従って、図１内に示されるような中間バス１０４と１０６との元の動作構成の場合には、指定されたバックアップ時間の前に、（例えば）ソフトウェアプログラムによって、コンフィギュレーションモジュール１０８は、多重化モジュール１０２を再構成することができる。これにより、図２内に示されるように、中間バス１０６は、構成ルーティング２０２を介して中間バス１１６に結合されることができる。次に、バックアップ処理が、割り当てられたか又は所望の期間について行われることができる。完了すると、（例えば）ソフトウェアプログラムによって、次にコンフィギュレーションモジュール１０８は、多重化モジュール１０２を再構成することができる。これにより、図１に示されるように中間バス１０６は、構成ルーティング１１２を介して中間バス１２０に結合されることとなる。
【００１５】
更に別の実際的な用途の例は、セキュアネットワーク（図示せず）に結合された、図２のアドインカードスロット１３２を有することを含むことができる。常にセキュアネットワークに結合されたアドインスロット１３２に関連付けられたコンピュータシステム（又はコンピューティングデバイス）を有することは、望ましくない可能性がある。更に、そのコンピュータシステムがセキュアネットワークを使用することを許可される時には、ある期間においてセキュアネットワークに結合されたアドインスロット１３２を有することが、望ましい可能性がある。従って、バス構成マルチプレクサシステム１００’の通常の動作構成は、図２内に示されるものとすることができる。しかしながら、指定されたか又は所望の時間において、（例えば）ソフトウェアプログラムによって、コンフィギュレーションモジュール１０８は、（図３内に示されるように）多重化モジュール１０２を再構成することができる。これにより、中間バス１０４は、構成ルーティング３０２を介して中間バス１１８に結合され、中間バス１０６は、構成ルーティング１１２を介して中間バス１２０に結合されることとなる。多重化モジュール１０２のルーティング構成３０２と１１２とをアクティブにすることの一部として、ルーティング構成１１０と２０２とは、非アクティブ化されるため、図３内には示されていない。セキュアネットワークの利用が完了した後、（例えば）ソフトウェアプログラムによって、次に、コンフィギュレーションモジュール１０８は、図２内に示されるように、多重化モジュール１０２を再構成することができる。これにより、中間バス１０４は、構成ルーティング１１０を介して中間バス１１４に結合され、中間バス１０６は、構成ルーティング２０２を介して中間バス１１６に結合されることとなる。多重化モジュール１０２のルーティング構成１１０と２０２とをアクティブにすることの一部として、ルーティング構成１１２と３０２とは、非アクティブ化されるため、図２内には示されていない。
【００１６】
図１〜図３内において、コンフィギュレーションモジュール１０８を、動的にか又は固定されたやり方で多重化モジュール１０２を制御するように実施することができることが理解される。例えば、固定されたやり方において、コンフィギュレーションモジュール１０８を、「固定された」（すなわち静的な）構成に手動で設定されることが可能な１つか又は複数のハードウェアスイッチによって実施することができる。従って、コンフィギュレーションモジュール１０８に関連付けられたコンピュータシステムが、ブートする、すなわち起動する時に、そのオペレーティングシステムは、コンピュータシステムがアクティブである間には一定のままである中間バス１０４と１０６との構成を（例えば、ポーリングによって）決定することができる。この状況は、コンピュータシステムの供給業者が、複数の市場を有するが、複数の構成を満足する１つの（例えば）マザーボードを供給したいだけである場合には、望ましい可能性がある。この例において、コンフィギュレーションモジュール１０８の１つか又は複数のスイッチを、出荷の前に設定することができ、その後（望むのであれば）調整することができる。コンフィギュレーションモジュール１０８の１つか又は複数のスイッチが調整されることになる場合には、コンピュータシステム全体をオフラインにするか又はシャットダウンすることができ、次いで（例えば）サービス技術者が、１つか又は複数のスイッチを反転させる（すなわち変更する）ことができる。このタイプの「固定された」システムに関連して、顧客は、自身のコンピュータシステムのアップグレードの代金を支払うことができ、サービス技術者は、コンフィギュレーションモジュール１０８の１つか又は複数のスイッチを反転させる（すなわち変更する）ことができ、それによって、その顧客のコンピュータシステムに追加の機能を提供する。
【００１７】
代替として、コンフィギュレーションモジュール１０８は、多重化モジュール１０２を動的な（すなわちオンザフライ式な）やり方で制御するように実施されることが可能である。例えば、動的なやり方において、コンフィギュレーションモジュール１０８を、コンピュータシステム（又はコンピューティングデバイス）上で動作しているソフトウェアによって制御されることが可能な１つか又は複数のレジスタによって実施することができる。特に、コンピュータシステム上で実行されているオペレーティングシステム（又は何らかの他のソフトウェア）は、コンフィギュレーションモジュール１０８のハードウェアをいかに制御するかを理解するファームウェアにおいて実施されることが可能なより下位レベルのサブルーチンを（例えば、１つか又は複数のサイドバンド信号を使用して）呼び出すことができる。更に、ソフトウェアは、図２内に示されるような、アドインカードスロット１３０がオンラインであるがアドインカードスロット１３２がオフラインであるＩ／Ｏ構成に関連して、どれだけリソースが変化させられたかの状況を追跡し続けることができる。
【００１８】
コンフィギュレーションモジュール１０８を介して多重化モジュール１０２の構成を動的に変更するか又は修正するソフトウェアのための多種多様な方法が存在する。例えば、バス構成マルチプレクサシステム１００が、現在、図１内に示されるように構成されている場合、行われることが可能なまず最初のことは、カードスロット１３０と１３２とに存在する任意のアドインカードを、データが破壊されないようにか又はデータに割り込みがかからないように、スリープ状態か又はオフライン状態にすることと、コントローラアダプタチップ１２２と１２４との両方もまたオフラインにすることである。次に、ソフトウェアは、（例えば図２か又は図３において示されるような）多重化モジュール１０２の構成ルーティングを全面的に変更するために（又は部分的に変更するために）、コンフィギュレーションモジュール１０８における１つか又は複数のレジスタをアドレス指定する１つか又は複数の信号を伝送することができる。切替えが完了すると、コントローラアダプタチップ１２２を図２か又は図３に示されるようなオンラインに戻すために、Ｉ／Ｏサブシステムはリセットされることが可能である。
【００１９】
バス構成マルチプレクサシステム１００（図１）の利益のうちの１つは、該システムが、バス、アダプタチップ、アドインカードスロット、及び／又は、カードスロットのうちの１つに結合されたインターフェースカードのような該システムの構成要素のうちの１つか又は複数が故障した場合に実施されることが可能な機能を有することである。例えば、バス構成マルチプレクサシステム１００のコントローラアダプタチップ１２４が、動作不能となった（又は故障した）場合には、コンフィギュレーションモジュール１０８によって、図２内に示されるように、多重化モジュール１０２の構成ルーティング２０２が、中間バス１０６を中間バス１１６に結合することができる（すなわちルーティングを開始することができる）。このようにして、コンフィギュレーションモジュール１０８は、アクティブなアダプタチップ１２２に結合されるように中間バス１０６を再構成（又は再割当て）することができ、ここで、その利用可能な帯域幅が、動作不能なアダプタチップ１２４に結合される間に浪費される代りに、利用されることが可能である。
【００２０】
別の例において、図１のバス構成マルチプレクサシステム１００の中間バス１０６が、故障したか又は動作不能となった場合には、コンフィギュレーションモジュール１０８は、アダプタチップ１２２と１２４とが、両方ともアクティブのままであることが可能なように、多重化モジュール１０２の構成ルーティング１１０と３０２（図３）とを別々に利用することができる。例えば、アダプタチップ１２４とアドインカードスロット１３２とが、それらの関連付けられたコンピュータシステムのデータをバックアップするために、１日にたった１度しか利用されない場合である。従って、コンフィギュレーションモジュール１０８と多重化モジュール１０２とを利用する（例えば）ソフトウェアは、バックアップ処理中に、アクティブな中間バス１０４を、アダプタチップ１２２に結合されている状態（図１）から、ルーティング３０２を介してアダプタチップ１２４に結合されている状態（図３）へと切り替えることができる。多重化モジュール１０２のルーティング構成３０２をアクティブ化することの一部として、ルーティング構成１１０は、非アクティブ化されるため、図３内には示されていない。バックアップ処理が完了すると、コンフィギュレーションモジュール１０８と多重化モジュール１０２とを利用しているソフトウェアは、次に、アクティブな中間バス１０４を、ルーティング１１０を介して（図１内に示されるように）アダプタチップ１２２に結合されている状態に戻すように切り替えることができ、ここで、次の予定されたバックアップ処理まで、その状態のままとすることができる。多重化モジュール１０２のルーティング構成１１０をアクティブ化することの一部として、ルーティング構成３０２は、非アクティブ化されるため、図１内には示されていない。上述の先の例は、バス構成マルチプレクサシステム１００の１つか又は複数の構成要素が故障したか又は動作不能となった時に、中間バス１０４及び／又は１０６のルーティングを再構成することができる機能を、いかにして利用することができるかを示すことに留意されたい。
【００２１】
図１〜図３に関して、コンフィギュレーションモジュール１０８と多重化モジュール１０２とは、中間バスに関して本明細書内に記載された手法に類似する任意の手法で任意のタイプ（又はサイズ）のバスと共に動作することに非常に適している。例えば、多重化モジュール１０２とコンフィギュレーションモジュール１０８とを、メモリバス、サイドバンドバス、及びそれらに類するもの（但しそれらに限定されない）と動作するように実施することができる。このようにして、多重化モジュール１０２とコンフィギュレーションモジュール１０８とは、コンピューティングデバイス（又はコンピュータシステム）に、中間バスに関して本明細書において記載された機能及び／又は利益のうちの１つか又は複数を提供することができる。コンフィギュレーションモジュール１０８と多重化モジュール１０２とを、図示されるような別個のモジュールとして実施することができるか、又は単一モジュール（図示せず）として互いに合体させることができる。コンフィギュレーションモジュール１０８を、コンピューティングデバイス中の広範囲で多様な位置に配置することができる。多重化モジュール１０２を多種多様なやり方で実施することができることに留意されたい。例えば、多重化モジュール１０２を、電気的な回路構成（但しこれに限定されない）によって実施することができる。
【００２２】
図４は、本発明の実施形態による、バス構成マルチプレクサシステム４００のブロック図である。バス構成マルチプレクサシステム４００は、コンピューティングデバイス（例えば、図８の８００）における１つのＩ／Ｏシステム（又はサブシステム）に対して２つか又は３つ以上の動作するバス構成を提供することができる。このようにして、バス構成マルチプレクサシステム４００は、Ｉ／Ｏサブシステムにおいてより広い帯域幅を提供することができ、且つ、そのスロットの構成可能性を向上させることもできる。バス構成マルチプレクサシステム４００の構成を、動的に及び／又は手動で変更することができることに留意されたい。
【００２３】
バス構成マルチプレクサシステム４００は、コントローラアダプタチップ４１８か又は４２０に結合され、事実上アドインカードスロット４２６か又は４２８に結合されることが可能なＩ／Ｏ中間バス４０６を含む。従って、コントローラアダプタチップ４１８及びアドインカードスロット４２６か、或いはコントローラアダプタチップ４２０及びアドインカードスロット４２８か、のいずれかに、追加の通信帯域幅を提供することができる。更には、コントローラアダプタチップ（例えば、４１８か又は４２０）に結合されたＩ／Ｏ中間バス（例えば、４０４か又は４０８）が、故障したか又は動作不能となった場合には、中間バス４０６を利用して、その関連付けられたコントローラアダプタチップに結合されることによって、その動作不能な中間バスを置き換えることができる。
【００２４】
特に、図４において、中間バス４０６は、中間バス４１４と４１６とに結合されるバス多重化モジュール４０２に結合される。更には、中間バス４１４は、コントローラアダプタチップ４１８に結合され、一方、中間バス４１６は、コントローラアダプタチップ４２０に結合される。従って、コンフィギュレーションモジュール４１０によって、多重化モジュール４０２は、構成ルーティング４１２をアクティブにすることができ、それにより、中間バス４０６を中間バス４１４と結合する。このようにして、アダプタチップ４１８は、中間バス４０６に結合される。従って、中間バス４１４はアクティブ化され、一方、中間バス４１６は、現在、非アクティブであり、グレーの破線によって表されている。この構成において、コントローラアダプタ４１８は、アドインカードスロット４２６を処理する中間バス４０４と４０６との組み合わされた通信帯域幅を事実上、有する。コントローラアダプタチップ４２０は、中間バス４０８に結合されているため、アクティブなままであることが理解される。このようにして、アドインＩ／Ｏカードスロット４２６に結合されたインターフェースカード（又はアドインカード）は、中間バス４０４と４０６とを介して他のコンピュータシステムの構成要素（図示せず）と通信することができ、一方、アドインＩ／Ｏカードスロット４２８に結合されたインターフェースカード（又はアドインカード）は、中間バス４０８を介して他のコンピュータシステムの構成要素と通信することができる。
【００２５】
反対に、図５内に示されるように、コンフィギュレーションモジュール４１０によって、多重化モジュール４０２（又はマルチプレクサモジュール）は、構成ルーティング５０２をアクティブにすることができ、それにより、中間バス４０６を中間バス４１６に結合する。このようにして、アダプタチップ４２０は、中間バス４０６に結合される。従って、中間バス４１６はアクティブ化され、一方、中間バス４１４は、非アクティブとなり、グレーの破線によって表されている。この構成において、コントローラアダプタ４２０は、アドインカードスロット４２８を処理する中間バス４０６と４０８との組み合わされた通信帯域幅を事実上、有する。コントローラアダプタチップ４１８は、中間バス４０４に結合されているため、アクティブのままであることが理解される。このようにして、アドインＩ／Ｏカードスロット４２８に結合されたインターフェースカード（又はアドインカード）は、中間バス４０６と４０８とを介して他のコンピュータシステムの構成要素（図示せず）と通信することができ、一方、アドインＩ／Ｏカードスロット４２６に結合されたインターフェースカード（又はアドインカード）は、中間バス４０４を介して他のコンピュータシステムの構成要素と通信することができる。
【００２６】
図４において、中間バス４０４は、カードバス４２２によってアドインＩ／Ｏカードスロット４２６に結合されるコントローラアダプタチップ４１８に結合される。カードバス４２２を、中間バス４０４と４０６との組み合わされた通信帯域幅と等しいか又はそれよりも広い通信帯域幅を処理するように実施することができることに留意されたい。中間バス４０８は、カードバス４２４によってアドインＩ／Ｏカードスロット４２８に結合されるコントローラアダプタチップ４２０に結合される。カードバス４２４を、中間バス４０６と４０８との組み合わされた通信帯域幅と等しいか又はそれよりも広い通信帯域幅を処理するように実施することができる。中間バス４０６は、多重化モジュール４０２に結合される。更に、多重化モジュール４０２は、中間バス４１４を介してコントローラアダプタチップ４１８に結合される。更にまた、多重化モジュール４０２は、中間バス４１６を介してコントローラアダプタチップ４２０に結合される。コンフィギュレーションモジュール４１０は、多重化モジュール４０２に結合され、多重化モジュール４０２のルーティング構成機能を制御することができる。
【００２７】
図５は、本発明の実施形態による、バス構成マルチプレクサシステム４００’のブロック図である。上述のように、コンフィギュレーションモジュール４１０によって、多重化モジュール４０２のルーティング構成５０２は、中間バス４０６を中間バス４１６に結合する。従って、中間バス４０６と４０８とは両方とも、アドインカードスロット４２８に結合され、それにより、そのスロットは、両中間バス４０６と４０８との組み合わされた帯域幅と等価な拡大された帯域幅を有することができる。従って、アドインカードスロット４２８は、より広い帯域幅を利用するＩ／Ｏアドインカード（又はインターフェースカード）を処理することができる。
【００２８】
多重化モジュール４０２のルーティング構成５０２をアクティブにすることの一部として、ルーティング構成４１２は、非アクティブ化されるため、図５内には示されていないことに留意されたい。多重化モジュール４０２内において非アクティブ化されたルーティング構成４１２によって、中間バス４１４は、グレーの破線によって表されるように、非アクティブ状態（すなわちオフライン）となる。従って、他のコンピュータシステム構成要素に対するコントローラアダプタチップ４１８とアドインカードスロット４２６との通信帯域幅は、中間バス４０４の帯域幅に制限される。
【００２９】
図４及び図５において、中間バス４０６に関連付けられた多重化モジュール４０２の構成ルーティングを変更するための、コンフィギュレーションモジュール４１０についての様々な実際的な用途が存在する。例えば、増大した帯域幅を有する新規のインターフェースカード（又はアドインカード）を、アドインカードスロット４２８にプラグイン接続することができる。従って、図５内に示されるようなバス構成マルチプレクサシステム４００’を構成する能力は、ある期間にわたってコンピュータシステム（例えば、図８の８００）が、拡大された（すなわちより広い）帯域幅を伴う利用可能となる新規のアドインカードを処理することができるような価値を顧客に対して付加することができる。
【００３０】
更に別の実際的な用途の例は、バックアップネットワーク（図示せず）に結合された図４及び図５のアドインスロット４２８に結合されたインターフェースカードを有することを含むことができる。その結果、そのコンピュータシステム（例えば、図８の８００）のデータを、１日に１回、拡大された通信帯域幅を伴うある期間の間（例えば、１５分間）バックアップすることができる。従って、図４内に示されるようなバス４０４、４０６、及び４０８の元の動作構成の場合には、バックアップ処理の前に、（例えば）ソフトウェアプログラムによって、コンフィギュレーションモジュール４１０は、図５内に示されるように多重化モジュール４０２を再構成することができる。これにより、中間バス４０６は、構成ルーティング５０２を介して中間バス４１６に結合されることとなる。バックアップ処理は、従って、割り当てられた期間の間、カードスロット４２８に結合されたインターフェースカードを介して行うことができる。バックアップが完了すると、（例えば）ソフトウェアプログラムによって、次に、コンフィギュレーションモジュール４１０は、図４内に示されるように多重化モジュール４０２を再構成することができる。これにより、中間バス４０６は、構成ルーティング４１２を介して中間バス４１４に結合されることとなる。このようにして、アドインカードスロット４２６に結合されたインターフェースカードは、バックアップ処理を含まない期間に中間バス４０４と４０６との通信帯域幅を利用することができる。
【００３１】
図４及び図５において、コンフィギュレーションモジュール４１０を、動的にか又は固定された手法において多重化モジュール４０２を制御するように実施することができることが理解される。例えば、固定された手法において、コンフィギュレーションモジュール４１０を、手動で「固定された」（すなわち静的な）構成に設定されることが可能な１つか又は複数のハードウェアスイッチによって実施することができる。従って、コンフィギュレーションモジュール４１０に関連付けられたコンピュータシステムか又はコンピューティングデバイスが起動される（又はブートする）時に、そのオペレーティングシステムは、コンピュータシステムがアクティブである間には一定のままであるバス４０４、４０６、及び４０８の構成を（例えば、ポーリングによって）決定することができる。この状態は、コンピュータシステムの供給業者が、複数の市場を有するが、複数の構成を満足する１つの（例えば）マザーボードを供給したいだけである場合には、望ましい可能性がある。この例において、コンフィギュレーションモジュール４１０の１つか又は複数のスイッチを、出荷の前に設定することができ、その後、（望むのであれば）調整することができる。コンフィギュレーションモジュール４１０の１つか又は複数のスイッチが調整されることになる場合には、コンピュータシステム全体をオフラインに（又はシャットダウン）することができ、（例えば）サービス技術者が、１つか又は複数のスイッチを反転させるか又は変更することができる。更に、「固定された」システムを有する顧客は、アップグレードの代金を支払うことができ、サービス技術者は、コンフィギュレーションモジュール４１０における１つか又は複数のスイッチを反転させるか又は変更することができ、それにより、その顧客のコンピュータシステムに対してアップグレードされた機能を提供する。
【００３２】
コンフィギュレーションモジュール４１０は、代替として、動的な手法で（すなわちオンザフライ式に）多重化モジュール４０２を制御するように実施されることが可能である。例えば、コンフィギュレーションモジュール４１０を、対応するコンピュータシステム上で動作しているソフトウェアによって制御されることが可能な１つか又は複数のレジスタによって実施することができる。特に、コンピュータシステム上で実行されているオペレーティングシステム（又は何らかの他のソフトウェア）は、コンフィギュレーションモジュール４１０をいかに制御するかを理解するファームウェアにおいて実施されることが可能なより下位レベルのサブルーチンを（例えば、１つか又は複数のサイドバンド信号を使用して）呼び出すことができる。更に、ソフトウェアは、Ｉ／Ｏ構成に関連して変化するリソースを追跡し続けることができる（例えば、図５において示されるように、アドインカードスロット４２８は、中間バス４０６と４０８との組み合わされた通信帯域幅を有し、一方、アドインカードスロット４２６は、中間バス４０４の通信帯域幅を有する）。
【００３３】
図４及び図５において、コンフィギュレーションモジュール４１０を介して多重化モジュール４０２のルーティング構成を動的に全面的に変更する（か又は修正するか、又は部分的に変更する）ソフトウェアのための様々なやり方が存在する。例えば、バス構成マルチプレクサシステム４００が、現在、図４内に示されるように構成される場合には、行われることが可能なまず最初のことは、カードスロット４２６と４２８とに存在する任意のアドインカード（又はインターフェースカード）を、データが破壊されないようにか又はデータに割り込みがかからないように、スリープ状態か又はオフライン状態にすることである。次に、ソフトウェアは、（例えば、図５内に示されるように）、多重化モジュール４０２の構成ルーティングを全面的に変更するために（又は部分的に変更するためにか、又は修正するために）、コンフィギュレーションモジュール４１０における１つか又は複数のレジスタをアドレス指定する１つか又は複数の信号を伝送することができる。切替えが完了すると、カードスロット４２６と４２８とに存在する任意のアドインカード（又はインターフェースカード）を、スリープ状態からアクティブにすることができ、すなわちオンラインに戻すことができる。
【００３４】
バス構成マルチプレクサシステム４００（図４）の利益のうちの１つは、該システムが、バス、アダプタチップ、アドインカードスロット、及び／又は、カードスロットのうちの１つに結合されたインターフェースカードのような該システムの構成要素のうちの１つか又は複数が故障した場合に呼び起こされることが可能な機能を含むことである。例えば、バス構成マルチプレクサシステム４００のコントローラアダプタチップ４１８が、故障したか又は動作不能となった場合には、手動でか又はソフトウェアによって、コンフィギュレーションモジュール４１０は、指示されることが可能である。これによって、多重化モジュール４０２の構成ルーティング５０２が、図５内に示されるように中間バス４０６を中間バス４１６に結合する。このようにして、コンフィギュレーションモジュール４１０は、中間バス４０６を、アクティブなアダプタチップ４２０に結合されるように再構成（又は再割当て）することができ、ここで、動作不能なアダプタチップ４１８に結合されている間に使用されない代りに、その利用可能な帯域幅を利用することができる。
【００３５】
別の例において、図４のバス構成マルチプレクサシステム４００の中間バス４０８が動作不能となった（又は故障した）場合には、手動でか又はソフトウェアによって、コンフィギュレーションモジュール４１０は、指示されることができる。これによって、多重化モジュール４０２が、構成ルーティング５０２（図５）をアクティブにする。その結果、アダプタチップ４１８と４２０とが両方ともアクティブのままであることができる。（例えば）ソフトウェアは例えば、中間バス４０８が動作不能となったことを認識することができる。従って、ソフトウェアは、コンフィギュレーションモジュール４１０と多重化モジュール４０２とを利用して、アクティブな中間バス４０６を、ルーティング４１２を介してアダプタチップ４１８に結合される状態（図４）から、ルーティング５０２を介してアダプタチップ４２０に結合される状態（図５）へと切り替えることができる。このようにして、アダプタチップ４２０は中間バス４０６と４１６とを利用してアクティブのままであることができ、一方、アダプタチップ４１８は、中間バス４０４を利用してアクティブのままであることができる。従って、アドインカードスロット４２６と４２８とに結合された任意のアドインカード（又はインターフェースカード）は、アクティブで且つ動作可能のままであることができる。
【００３６】
図４及び図５において、多重化モジュール４０２を、中間バス４０６に類似したより多くの中間バスと結合するように、且つそれらを処理するように、修正することができることに留意されたい。更には、多重化モジュール４０２を、中間バス４１４と４１６とに類似したより多くの中間バスと結合するように、修正することができる。アダプタチップ４１８及び４２０の各々を、図４と図５とにおいて示される中間バスよりも、より多くのか又はより少ない中間バスにそれぞれ結合することができることが理解される。
【００３７】
図４及び図５のコントローラアダプタチップ４１８及び４２０は、本明細書において記載された図１〜図３のコントローラアダプタチップ１２２と１２４とに類似する手法で動作し且つ機能することができる。しかしながら、コントローラアダプタチップ４１８と４２０とは、各々が中間バス４０４か又は４０８にそれぞれ結合されるため、常にアクティブのまま（すなわちオンライン）であることができる。
【００３８】
図４及び図５に関して、コンフィギュレーションモジュール４１０と多重化モジュール４０２とは、中間バスに関して本明細書内に記載された手法に類似する任意の手法で任意のタイプ（又はサイズ）のバスと共に動作することに非常に適している。例えば、多重化モジュール４０２とコンフィギュレーションモジュール４１０とを、メモリバス、サイドバンドバス、及びそれらに類するもの（但しそれらに限定されない）と動作するように実施することができる。このようにして、多重化モジュール４０２とコンフィギュレーションモジュール４１０とは、コンピュータシステム（又はコンピューティングデバイス）に、中間バスに関して本明細書において記載された機能及び／又は利益のうちの１つか又は複数を提供することができる。コンフィギュレーションモジュール４１０と多重化モジュール４０２とを、図示されるように別個のモジュールとして実施することができるか、又は単一モジュール（図示せず）として互いに合体させることができる。コンフィギュレーションモジュール４１０を、コンピューティングデバイス中の広範囲で多様な位置に配置することができる。多重化モジュール４０２を多種多様なやり方で実施することができることに留意されたい。例えば、多重化モジュール４０２を、電気的な回路構成（但しこれに限定されない）によって実施することができる。
【００３９】
図６は、コンピューティングデバイスのＩ／Ｏシステム（又はサブシステム）についての中間バス構成を動的に変更するための、本発明の実施形態によって実施される動作のフローチャート６００である。フローチャート６００は、いくつかの実施形態において、コンピュータが読取可能で且つコンピュータが実行可能な命令の制御下におけるプロセッサ（複数可）と電気的な構成要素とによって実行される処理を含む。コンピュータが読取可能で且つコンピュータが実行可能な命令は、例えば、コンピュータが使用可能な揮発性メモリ、コンピュータが使用可能な不揮発性メモリ、及び／又はコンピュータが使用可能な大容量データ記憶装置のようなデータ記憶機能内に存在することができる。しかしながら、コンピュータが読取可能で且つコンピュータが実行可能な命令は、任意のタイプのコンピュータ読取可能媒体内に存在することもできる。フローチャート６００において特定の動作を開示したが、かかる動作は例示的なものである。すなわち、本実施形態は、様々な他の動作か又は図６において列挙された動作の変形を実施することに非常に適している。本実施形態において、フローチャート６００の動作を、ソフトウェアによってか、ファームウェアによってか、ハードウェアによってか、又はそれらの任意の組合せによって実施することができることが理解されるべきである。
【００４０】
本実施形態は、コンピューティングデバイスのＩ／Ｏシステム（又はサブシステム）における中間バス構成を動的に変更するための方法を提供する。例えば、現在の中間バス構成を変更することが望ましい状況が発生する。すると、現在の中間バス構成を変更することによって影響を受けることになるはずの任意のカードスロットに結合された任意のアドインカード（又はインターフェースカード）は、スリープモードにされるか又はオフラインにされる。現在の中間バス構成を変更することによって影響を受けることになるはずの任意のコントローラアダプタチップは、オフラインにされる。次に、１つか又は複数の中間バスに結合された多重化モジュール（又はマルチプレクサモジュール）の現在の構成ルーティングを変更するために、１つか又は複数の制御信号が、コンフィギュレーションモジュールに伝達される。構成ルーティングが変更されると、先にオフラインにされた（か又はスリープモードにされた）コントローラアダプタチップとアドインカードとをアクティブにするために、Ｉ／Ｏシステム（又はサブシステム）はリセットされる。このようにして、Ｉ／Ｏシステム（又はサブシステム）の中間バス構成を、動的に再構成することができる。
【００４１】
図６の動作６０２において、コンピューティングデバイス（例えば、図８の８００）のＩ／Ｏシステム（又はサブシステム）の現在の中間バス構成を全体的に変更すること（又は修正することか、又は部分的に変更すること）が望ましい状態となる状況が発生したかどうかについての判断がなされる。動作６０２において、現在の中間バス構成を変更する正当な理由となるはずの状況が発生しなかったと判断される場合には、処理６００は、動作６０２の開始地点に進む。しかしながら、動作６０２において、現在の中間バス構成を変更することが望ましい状況が発生したと判断される場合には、処理６００は、動作６０４に進む。動作６０２における判断は、多種多様なやり方で実施されることが可能であることに留意されたい。例えば、コンピューティングデバイス上で動作しているソフトウェアは、現在の中間バス構成を変更することが望ましい状態となる状況が起きているかどうかを判断するために、動作６０２において、Ｉ／Ｏシステム（又はサブシステム）の現在の中間バス構成に関連した構成要素の動作を監視することができる。更に、動作６０２における判断を、本明細書において記載した手法に類似する任意の手法（但し、そのような手法に限定されない）で実施することができる。
【００４２】
動作６０４において、現在の中間バス構成を変更すること（又は修正すること）によって影響を受けることになるはずの任意のカードスロット（例えば、１３０、１３２、４２６、及び／又は４２８）に結合された任意のアドインカードか又はインターフェースカードは、これらのアドインカードに関連したデータに割り込みがされないようにか及び／又はデータが破壊されないように、スリープモードにされるか又はオフラインにされる。動作６０４において、任意のアドインカードをスリープモードにする（又はオフラインにする）ことを、様々なやり方で実施することができることが理解される。例えば、コンピューティングデバイス上で動作しているソフトウェアは、動作６０４において、任意のアドインカードについて、スリープモード（又はオフライン）処理を開始することができる。更に、動作６０４を、本明細書において記載された手法に類似する任意の手法（但し、そのような手法に限定されない）で実施することができる。
【００４３】
図６の動作６０６において、現在の中間バス構成を変更すること（又は修正すること）によって影響を受けることになるはずの任意のコントローラアダプタチップ（例えば、１２２、１２４、４１８、及び／又は４２０）は、オフラインにされる。動作６０６において、任意のコントローラアダプタチップをオフラインにすることを、多種多様なやり方で実施することができることが理解される。例えば、コンピューティングデバイス上で動作しているソフトウェアは、動作６０６において、任意のコントローラアダプタチップについて、オフライン処理を開始することができる。更に、動作６０６を、本明細書において記載された手法に類似する任意の手法（但し、そのような手法に限定されない）で実施することができる。
【００４４】
動作６０８において、１つか又は複数の中間バス（例えば、１０４、１０６、１１４、１１６、１１８、１２０、４０６、４１４、及び／又は４１６）に結合されたバス多重化モジュール（例えば、１０２か又は４０２）の現在の構成ルーティング（例えば、１１０、１１２、２０２、３０２、４１２、及び／又は５０２）を全面的に変更するか、又は切り替えるか、又は修正するか、又は部分的に変更するために、１つか又は複数の制御信号がコンフィギュレーションモジュール（例えば、１０８か又は４１０）に伝達される。動作６０８において、１つか又は複数の制御信号をコンフィギュレーションモジュールに伝達することを、様々なやり方で実施することができることに留意されたい。例えば、動作６０８において、コンピューティングデバイス上で動作しているソフトウェアは、１つか又は複数の制御信号（例えば、サイドバンド信号）をコンフィギュレーションモジュールに伝達することができる。それによって、該１つか又は複数の制御信号が、バス多重化モジュールの現在の構成ルーティングを変更する。更に、動作６０８を、本明細書において記載された手法に類似する任意の手法（但し、そのような手法に限定されない）で実施することができる。
【００４５】
図６の動作６１０において、先にオフラインにされたか又はスリープモードにされたコントローラアダプタチップ（例えば、１２２、１２４、４１８、及び／又は４２０）とアドインカードとをアクティブにするために、コンピューティングデバイスのＩ／Ｏシステム（又はサブシステム）をリセットすることができる。動作６１０を、本明細書において記載された手法に類似する任意の手法（但し、そのような手法に限定されない）で実施することができることが理解される。動作６１０が完了すると、処理６００は終了する。
【００４６】
図７は、コンピューティングデバイスのバス構成を変更するための、本発明の実施形態によって実行される動作のフローチャート７００である。フローチャート７００は、いくつかの実施形態において、コンピュータが読取可能で且つコンピュータが実行可能な命令の制御下におけるプロセッサ（複数可）と電気的な構成要素とによって実行される処理を含む。コンピュータが読取可能で且つコンピュータが実行可能な命令は、例えば、コンピュータが使用可能な揮発性メモリ、コンピュータが使用可能な不揮発性メモリ、及び／又はコンピュータが使用可能な大容量データ記憶装置のようなデータ記憶機能内に存在することができる。しかしながら、コンピュータが読取可能で且つコンピュータが実行可能な命令は、任意のタイプのコンピュータ読取可能媒体内に存在することもできる。フローチャート７００において特定の動作を開示したが、かかる動作は例示的なものである。すなわち、本実施形態は、様々な他の動作か又は図７において列挙された動作の変形を実施することに非常に適している。本実施形態において、フローチャート７００の動作を、ソフトウェアによってか、ファームウェアによってか、ハードウェアによってか、又はそれらの任意の組合せによって実施することができることが理解されるべきである。
【００４７】
本実施形態は、コンピューティングデバイス（又はコンピュータシステム）のバス構成を変更するための方法を提供する。例えば、第１の制御信号をコンフィギュレーションモジュールに伝達する（すなわち送信する）ことができる。前記第１の制御信号に応答して、多重化モジュール（又はマルチプレクサモジュール）によって、コンピューティングデバイスの第１のバスを第２のバスに結合することができる。このようにして、本実施形態は、コンピューティングデバイス（又はコンピュータシステム）のバス構成を変更することができる。
【００４８】
図７の動作７０２において、第１の制御信号をコンフィギュレーションモジュール（例えば、１０８か又は４１０）に伝達する（すなわち送出する）ことができる。動作７０２を、多種多様なやり方で実施することができることが理解される。例えば、動作７０２を、本明細書において記載された手法に類似する任意の手法（但しそのような手法に限定されない）で実施することができる。
【００４９】
動作７０４において、前記第１の制御信号に応答して、多重化モジュール（例えば、１０２か又は４０２）によって、コンピューティングデバイス（例えば、図８の８００）の第１のバス（例えば、１０４、１０６、又は４０６）を、第２のバス（例えば、１１４、１１６、１１８、１２０、４１４、又は４１６）に結合することができる。動作７０４を、様々なやり方で実施することができることが理解される。例えば、動作７０４を、本明細書において記載された手法に類似する任意の手法（但し、そのような手法に限定されない）で実施することができる。
【００５０】
処理７００の一部として、追加の動作を含むこともできることに留意されたい。例えば、第２の制御信号を、コンフィギュレーションモジュールに伝達する（すなわち送出する）ことができる。更に、第２の制御信号に応答して、多重化モジュールによって、第１のバスを第３のバスに結合することができる。別の動作は、第２のバスに結合されるコントローラアダプタチップを含むことができ、該コントローラアダプタチップは、オフラインにさせられる（又はシャットダウンさせられる）ことができる。更に、アドインカードは、スリープモードに入ることができる。そのアドインカードは、コントローラアダプタチップに結合されるアドインカードスロットに結合される。別の動作は、第１のバスが第２のバスに結合されるとアクティブ化されるコントローラアダプタチップとアドインカードとを含むことができる。更に別の動作は、スリープモードに入っているアドインカードを含むことができる。そのアドインカードは、第２のバスに結合されることが可能なアドインカードスロットに結合されることができる。本明細書において記載された任意の数の動作（又は機能）を、処理７００の一部として含むことができる（但しそのことに限定されない）ことに更に留意されたい。
【００５１】
図８は、本発明の実施形態によって使用されることが可能な例示的なコンピュータシステム８００のブロック図である。システム８００は、コンピュータシステムであることに厳密には限定されないことが理解される。従って、本実施形態のシステム８００は、任意のタイプのコンピューティングデバイス（例えば、サーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、携帯コンピューティングデバイス、データベースコンピュータ等）であることに非常に適している。本明細書における、本発明による実施形態の説明において、コンピュータシステム８００におけるコンピュータが読取可能なメモリ内に存在する一連の命令（例えば、ソフトウェアプログラム）として、いくつかの実施形態において実現されることが可能で、且つ、システム８００のプロセッサ（複数可）によって実行されることが可能なある処理と動作とが説明された。実行された時には、その命令は、コンピュータ８００に、本明細書において記載された特定の動作を実行させることができ、且つ、本明細書において記載された特定の挙動を示させることができる。
【００５２】
システム８００に関して利用される実際のコンピュータアーキテクチャに依存して、１つか又は複数の多重化モジュール（例えば、１０２及び／又は４０２）とコンフィギュレーションモジュール（例えば、１０８及び／又は４１０）とを、１つか又は複数の通信インターフェース８０８及び／又は１つか又は複数の大容量データ記憶装置８１８の一部として実施することができることに留意されたい。更に、１つか又は複数の多重化モジュール（例えば、１０２及び／又は４０２）とコンフィギュレーションモジュール（例えば、１０８及び／又は４１０）とを、通信インターフェース（複数可）８０８及び／又は大容量データ記憶装置（複数可）８１８に対するバス帯域幅を制御するバス構造８１０の一部として実施することができる。
【００５３】
コンピュータシステム８００は、情報を伝達するためのアドレス／データバス８１０と、バス８１０に結合され、且つ、情報と命令とを処理するための、１つか又は複数の中央プロセッサ（又は中央処理装置）８０２とを備える。中央処理装置（複数可）８０２は、マイクロプロセッサか又は任意の他のタイプのプロセッサとすることができる。コンピュータ８００はまた、バス８１０に結合され、且つ、中央プロセッサ（複数可）８０２に対する情報と命令とを格納するための、コンピュータが使用可能な揮発性メモリ８０４（例えば、ランダムアクセスメモリ（ＲＡＭ）、スタティックＲＡＭ、ダイナミックＲＡＭ等）と、バス８１０に結合され、且つ、プロセッサ（複数可）８０２に対する静的情報と命令とを格納するための、コンピュータが使用可能な不揮発性メモリ８０６（例えば、読み出し専用メモリ（ＲＯＭ）、プログラマブルＲＯＭ、フラッシュメモリ、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）等）と、のようなデータ記憶機能を備える。
【００５４】
図８のシステム８００はまた、バス８１０に結合され、且つ、システム８００が他の電子デバイスとインターフェースすることを可能にするための、１つか又は複数の信号生成及び受信デバイス８０８を備える。本実施形態の通信インターフェース（複数可）８０８は、有線及び／又は無線通信技術を含むことができる。例えば、本発明の一実施形態において、通信インターフェース８０８は、シリアル通信ポートであるが、また代替として任意の多くの周知の通信標準規格及びプロトコル（例えば、ユニバーサルシリアルバス（ＵＳＢ）、イーサネットアダプタ、ファイヤーワイヤ（ＩＥＥＥ１３９４）インターフェース、パラレルポート、スモールコンピュータシステムインターフェース（ＳＣＳＩ）バスインターフェース、赤外線（ＩＲ）通信ポート、ブルートゥース無線通信アダプタ、ブロードバンド接続、及びこれらに類するもの）であることもできる。別の実施形態において、ケーブルか又はデジタル加入者線（ＤＳＬ）接続を用いることができる。そのような場合において、通信インターフェース（複数可）８０８は、ケーブルモデムか又はＤＳＬモデムを含むことができる。
【００５５】
オプションとして、コンピュータシステム８００は、バス８１０に結合され、且つ、情報とコマンドの選択とを中央プロセッサ（複数可）８０２に伝達するための、英数字キーとファンクションキーとを含む英数字入力デバイス８１４を備えることができる。コンピュータ８００はまた、バス８１０に結合され、且つ、ユーザ入力情報とコマンドの選択とをプロセッサ（複数可）８０２に伝達するための、オプションのカーソル制御か又はカーソル指示デバイス８１６を備えることもできる。カーソル指示デバイス８１６を、マウス、トラックボール、トラックパッド、光学トラッキング装置、タッチスクリーン等のような多数の周知デバイスを使用して実施することができる。代替として、特別なキーとキーシーケンスコマンドとを使用して、カーソルを、英数字入力デバイス８１４からの入力を介して指示することができ、及び／又はアクティブにすることができることが理解される。本実施形態はまた、例えば音声コマンドのような他の手段によってカーソルを指示することにも非常に適している。
【００５６】
図８のシステム８００はまた、バス８１０に結合され、且つ、情報と命令とを格納するための、磁気又は光ディスク及びディスクドライブ（例えば、ハードドライブか又はフロッピーディスケット）のようなコンピュータが使用可能な大容量データ記憶装置８１８を備えることができる。システム８００のバス８１０に、映像及び／又は画像を表示するためのオプションのディスプレイ装置８１２が結合される。オプションのディスプレイ装置８１２は、ブラウン管（ＣＲＴ）、フラットパネル液晶ディスプレイ（ＬＣＤ）、電界放出ディスプレイ（ＦＥＤ）、プラズマディスプレイ、又は映像及び／又は画像イメージとユーザにとって認識可能な英数字文字とを表示するために適合可能な任意の他のディスプレイ装置とすることができることを理解すべきである。
【００５７】
上述のシステム８００に関連した構成要素は、１つの物理的なコンピューティングデバイスに存在することができ、且つ、そのコンピューティングデバイスに関連付けられることができることに留意されたい。しかしながら、システム８００に関連付けられた構成要素のうちの１つか又は複数を、物理的に他の位置に分散することができ、（例えばネットワークを介して）通信可能に互いに結合することができる。
【００５８】
本発明の特定の実施形態の前述の記載は、例示及び説明する目的のために提示されてきた。それらは、開示した正確な形態に対して、網羅的であることを意図せず、又は発明を制限することを意図しない。上記教示の観点から多くの修正及び改変が可能であることが明らかである。本発明の原理とその実際的な用途とを最もよく説明するために、そしてその説明によって、他の当業者が、本発明と、予期される特定の用途に適合されるよう様々な修正を伴う様々な実施形態とを、最もよく利用することを可能にするために、実施形態は選択され且つ説明された。本発明の範囲は、本明細書に添付された特許請求の範囲とその等価物とによって画定されることが意図される。
【図面の簡単な説明】
【００５９】
【図１】本発明の実施形態による、バス構成マルチプレクサシステムのブロック図である。
【図２】本発明の実施形態による、変更されたバス構成マルチプレクサシステムのブロック図である。
【図３】本発明の実施形態による、別の変更されたバス構成マルチプレクサシステムのブロック図である。
【図４】本発明の実施形態による、別のバス構成マルチプレクサシステムのブロック図である。
【図５】本発明の実施形態による、再構成されたバス構成マルチプレクサシステムのブロック図である。
【図６】コンピューティングデバイスのＩ／Ｏシステム（又はサブシステム）のための中間バス構成を動的に変更するための、本発明の実施形態によって実行される動作のフローチャートである。
【図７】コンピューティングデバイスのバス構成を変更するための、本発明の実施形態によって実行される動作のフローチャートである。
【図８】本発明の実施形態によって使用されることが可能な例示的なコンピュータシステムのブロック図である。
【符号の説明】
【００６０】
１００  システム
１０２  多重化モジュール
１０４  コンピューティングデバイスの第１のバス
１０８  コンフィギュレーションモジュール
１１０  第１の構成ルーティング
１１４  第２のバス
１１８  第３のバス
１２２  第１のコントローラアダプタチップ
１２４  第２のコントローラアダプタチップ
１３０  第１のアドインカードスロット
１３２  第２のアドインカードスロット
３０２  第２の構成ルーティング
８００  コンピューティングデバイス
【図１】
2005276221.tif 000003
【図２】
2005276221.tif 000004
【図３】
2005276221.tif 000005
【図４】
2005276221.tif 000006
【図５】
2005276221.tif 000007
【図６】
2005276221.tif 000008
【図７】
2005276221.tif 000009
【図８】
2005276221.tif 000010