(57)【要約】【課題】フレキシブルなＰＣＩＥトポロジーを提供する。【解決手段】ユーザーが、特定のアプリケーションに基づいて、コンピューティングシステムのＣＰＵと素子間のＰＣＩｅを調整することができるようにする。コンピューティングシステムは、複数のＣＰＵ、複数のＧＰＵ、あるいは、フィールドプログラマブルゲートアレイ （ＦＰＧＡ）、複数のＰＣＩｅスイッチ、および、複数のネットワークインターフェースコントローラー （ＮＩＣ）を有する。いくつかの実施形態において、コンピューティングシステムは、スイッチ回路を有して、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣを接続する。スイッチ回路は、複数の入力、および、複数の出力を有して、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣを接続する。スイッチ回路中の接続経路が調整されて、コンピューティングシステムの特定のＰＣＩｅトポロジーを設置する。【選択図】図３Ａ
2020119498.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングシステムであって、
複数の中央処理ユニット （ＣＰＵ）と、 
複数のグラフィックスプロセッシングユニット （ＧＰＵ）、あるいは、フィールドプログラマブルゲートアレイ （ＦＰＧＡ）と、 
複数のペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）スイッチと、
複数のネットワークインターフェースコントローラー（ＮＩＣ）、および、
前記複数のＣＰＵ、前記複数のＰＣＩｅスイッチ、および、前記複数のＮＩＣ間の少なくとも一つの接続経路を調整して、前記コンピューティングシステムの特定のＰＣＩｅトポロジーを設置する接続メカニズム、
を有することを特徴とするコンピューティングシステム。 
【請求項２】
前記接続メカニズムは、
多重ミニシリアルアタッチドＳＣＳＩ （ＳＡＳ）コネクタ、
少なくとも一つの物理的ＰＣＩｅケーブル、および、
前記複数のＮＩＣの一つの上にインストールされるゴールドフィンガーリピーターボード、
を有することを特徴とする請求項１に記載のコンピューティングシステム。 
【請求項３】
前記接続メカニズムは、スイッチ回路を有して、前記複数のＣＰＵ、前記複数のＰＣＩｅスイッチ、および、前記複数のＮＩＣを接続し、
さらに、前記コンピューティングシステムは、デュアルインラインパッケージ （ＤＩＰ）スイッチを有し、前記ＤＰＩスイッチが配置されて、前記スイッチ回路の複数の入力、および、複数の出力間の接続経路を設定することを特徴とする請求項１に記載のコンピューティングシステム。
【請求項４】
前記スイッチ回路は、複数のマルチプレクサ （ＭＵＸｓ）を有して、前記複数の入力、および、前記複数の出力を接続し、
前記ＤＩＰスイッチが設置されて、前記複数のＭＵＸのそれぞれの接続状態を設定し、よって、前記スイッチ回路の前記複数の入力、および、前記複数の出力間の前記接続経路を設置することを特徴とする請求項３に記載のコンピューティングシステム。
【請求項５】
コンピューティングシステム中、ペリフェラルコンポーネントインターコネクトエクスプレス （ＰＣＩｅ）トポロジーを設置するコンピュータ実行方法であって、
前記コンピューティングシステムの特定のＰＣＩｅトポロジーに対する要求を受信する工程と、 
前記コンピューティングシステム中、複数の中央処理ユニット（ＣＰＵ）、複数のペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）スイッチ、複数のＮＩＣ、および、複数のフィールドプログラマブルゲートアレイ （ＦＰＧＡ）、および／または、グラフィックスプロセッシングユニット （ＧＰＵ）間の現在の接続経路を判断する工程と、 
前記現在の接続経路が、前記特定のＰＣＩｅトポロジーと一致するか否か判断する工程、および、 
前記複数のＣＰＵ、前記複数のＰＣＩｅスイッチ、および、前記複数のＮＩＣ間の前記接続経路が、前記特定のＰＣＩｅトポロジーと一致しない事象において、前記複数のＣＰＵ、前記複数のＰＣＩｅスイッチ、および、前記複数のＮＩＣ間の少なくとも一つの接続経路を調整する工程、
を有することを特徴とするコンピュータ実行方法。
【請求項６】
前記コンピューティングシステムは、
前記複数のＣＰＵ、前記複数のＰＣＩｅスイッチ、および、前記複数のＮＩＣを接続するスイッチ回路、および、
前記スイッチ回路の複数の入力、および、複数の出力間の接続経路を設置するデュアルインラインパッケージ（ＤＩＰ）スイッチ、
を有することを特徴とする請求項５に記載のコンピュータ実行方法。
【請求項７】
前記スイッチ回路は、複数のマルチプレクサ （ＭＵＸｓ）を有して、前記複数の入力、および、前記複数の出力を接続し、
前記ＤＩＰスイッチが配置されて、前記複数のＭＵＸのそれぞれの接続状態を設定し、これにより、前記スイッチ回路の前記複数の入力、および、前記複数の出力間の前記接続経路を設置することを特徴とする請求項６に記載のコンピュータ実行方法。
【請求項８】
持続性コンピュータ可読媒体であって、前記持続性コンピュータ可読媒体は命令を有し、コンピューティングシステムの少なくとも一つのプロセッサにより実行されるとき、前記コンピューティングシステムに以下の操作を実行させ、前記操作は、
前記コンピューティングシステムの特定のペリフェラルコンポーネントインターコネクトエクスプレス （ＰＣＩｅ）トポロジーに対する要求を受信する工程と、 
コンピューティングシステム中で、複数の中央処理ユニット（ＣＰＵ）、複数のペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）スイッチ、複数のＮＩＣ、および、複数のフィールドプログラマブルゲートアレイ （ＦＰＧＡ）、および／または、グラフィックスプロセッシングユニット（ＧＰＵ）間の現在の接続経路を判断する工程と、 
前記現在の接続経路が、前記特定のＰＣＩｅトポロジーと一致するか否か判断する工程、および、 
前記複数のＣＰＵ、前記複数のＰＣＩｅスイッチ、および、前記複数のＮＩＣ中の前記接続経路が、前記特定のＰＣＩｅトポロジーと一致しない事象において、前記複数のＣＰＵ、前記複数のＰＣＩｅスイッチ、および、前記複数のＮＩＣ間の少なくとも一つの接続経路を調整する工程、
を有することを特徴とする持続性コンピュータ可読媒体。
【請求項９】
前記コンピューティングシステムは、
前記複数のＣＰＵ、前記複数のＰＣＩｅスイッチ、および、前記複数のＮＩＣを接続するスイッチ回路、および、
前記スイッチ回路の複数の入力、および、複数の出力間の接続経路を設置するデュアルインラインパッケージ （ＤＩＰ）スイッチ、
を有することを特徴とする請求項８に記載の持続性コンピュータ可読媒体。
【請求項１０】
前記スイッチ回路は複数のマルチプレクサ （ＭＵＸｓ）を有して、前記複数の入力、および、前記複数の出力を接続し、
前記ＤＩＰスイッチが配置されて、前記複数のＭＵＸのそれぞれの接続状態を設定し、これにより、前記スイッチ回路の前記複数の入力、および、前記複数の出力間の前記接続経路を設置することを特徴とする請求項９に記載の持続性コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータサーバシステムに関するものであって、特に、フレキシブルな配置を有するコンピュータサーバシステムに関するものである。
【背景技術】
【０００２】
現代のコンピューティングシステムは、いくつかの電子部品、たとえば、グラフィックスプロセッシングユニット（ＧＰＵ）、中央処理ユニット（ＣＰＵ）、ランダムアクセスメモリ（ＲＡＭ）等を有する。コンピューティングシステムがさらに複雑になって、ユーザーの計算、および、その他のアプリケーションに対する要求をサポートするのに伴い、同じコンピューティングシステム中で、常に、複数のＧＰＵ、および／または、ＣＰＵが必要とされる。
【０００３】
従来、コンピューティングシステムは、固定のペリフェラルコンポーネントインターコネクトエクスプレス（ＰＣＩｅ）トポロジーを設計して、複数のＧＰＵとＣＰＵをサポートする。コンピューティングシステムのユーザーは、コンピューティングシステムのＰＣＩｅトポロジーを変化させることができない。しかし、特定のアプリケーションにとって理想的な特定のＰＣＩｅトポロジーは、その他のあるアプリケーション（たとえば、その他のＧＰＵアプリケーション）にとって不十分である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１６−５２６７１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、フレキシブルなＰＣＩＥトポロジーを提供する。
【課題を解決するための手段】
【０００６】
本発明の各種実施形態によるシステムと方法は、コンピューティングシステムにおけるフレキシブルなＰＣＩｅトポロジーを有効にすることにより、上記の問題に一方策を提供する。フレキシブルなＰＣＩｅトポロジーは、コンピューティングシステムのユーザー、あるいは、マネジメントコントローラーが、特定のアプリケーションに基づいて、コンピューティングシステムのＣＰＵと素子間のＰＣＩｅを調整することができるようにする。いくつかの実施形態において、コンピューティングシステムは、複数のＣＰＵ、複数のＧＰＵ、あるいは、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、複数のＰＣＩｅスイッチ、および、複数のネットワークインターフェースコントローラー（ＮＩＣ）を有する。いくつかの実施形態において、コンピューティングシステムは、スイッチ回路を有して、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣを接続する。スイッチ回路は、複数の入力、および、複数の出力を有して、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣを接続する。スイッチ回路中の接続経路が調整されて、コンピューティングシステムの特定のＰＣＩｅトポロジーを設置する。特定のＰＣＩｅトポロジーは、これに限定されないが、フルコンフィギュレーションモード（configuration mode）、バランスモード（balance mode）、コモンモード（common mode）、および、カスケードモード（cascade mode）を有する。 
【０００７】
いくつかの実施形態において、スイッチ回路は、デュアルインラインパッケージ（Dual-Inline-Package、ＤＩＰ）スイッチに接続される。ＤＩＰスイッチが配置されて、スイッチの複数の入力、および、複数の出力間の接続経路を設置する。  
【０００８】
いくつかの実施形態において、スイッチ回路は、複数のマルチプレクサ （ＭＵＸ）を有して、複数の入力、および、複数の出力を接続する。ＤＩＰスイッチは、複数のＭＵＸのそれぞれの接続状態を設定し、これにより、複数の入力、および、複数の出力間の接続経路を設置することができる。
【０００９】
いくつかの実施形態において、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ間の少なくとも一つの接続経路は、多重ミニＳＡＳコネクタ、および、少なくとも一つの物理的ＰＣＩｅケーブルを有する。少なくとも一つの物理的ＰＣＩｅケーブルにより、多重ミニＳＡＳコネクタ、および／または、複数のＮＩＣの一つにインストールされたゴールドフィンガーリピーターボード（golden finger repeater board）間の接続経路を調整することにより、コンピューティングシステムの特定のＰＣＩｅトポロジーが設置される。
【００１０】
本発明の一態様において、コンピューティングシステム中で、ペリフェラルコンポーネントインターコネクトエクスプレス （ＰＣＩｅ）トポロジーを設置するコンピュータ実行方法は、コンピューティングシステムの特定のＰＣＩｅトポロジーに対する要求を受信する工程と、コンピューティングシステム中、複数のＣＰＵ、複数のＰＣＩｅスイッチ、複数のＮＩＣ、および、複数のＦＰＧＡ、および／または、ＧＰＵ間の現在の接続経路を判断する工程と、現在の接続経路が、特定のＰＣＩｅトポロジーと一致するか否か判断する工程、および、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ間の接続経路が、特定のＰＣＩｅトポロジーと一致しない事象において、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ間の少なくとも一つの接続経路を調整する工程、を有する。
【００１１】
本発明の別の態様において、命令を保存する持続性（non-transitory）コンピュータ可読媒体が提供される。コンピューティングシステムのプロセッサにより命令が実行されるとき、プロセッサに、以下の操作を実行させる:コンピューティングシステムの特定のＰＣＩｅトポロジーへの要求を受信する;コンピューティングシステム中、複数のＣＰＵ、複数のＰＣＩｅスイッチ、複数のＮＩＣ、および、複数のＦＰＧＡ、および／または、ＧＰＵ間の現在の接続経路を判断する;現在の接続経路が、特定のＰＣＩｅトポロジーと一致するか否か判断する;複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ中の接続経路が、特定のＰＣＩｅトポロジーと一致しない事象において、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ間の少なくとも一つの接続経路を調整する。
【００１２】
本開示のさらなる特徴および利点は、以下の説明に記載され、その説明から明らかになるか、または本明細書に開示される原理の実施によって理解され得る。 本開示の特徴および利点は、添付の特許請求の範囲で特に指摘された手段および組み合わせによって実現および得ることができる。
【発明の効果】
【００１３】
本発明により、ＰＣＩｅトポロジーがフレキシブルになる。
【図面の簡単な説明】
【００１４】
上記開示内容、および、その長所と特徴が獲得される方式を記述するため、添付図面で説明される特定の例によって、上記の原理のさらに具体的な描写が表示される。これらの図面は、本開示の例示的態様を示すものであり、よって、その範囲の制限とみなされない。
【図１】本発明の一実施形態によるフレキシブルな配置の複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＧＰＵを有する例示的システムのブロック図である。
【図２Ａ】本発明の一実施形態による複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ間の少なくとも一つの接続経路が、多重ミニＳＡＳコネクタ、および、物理的ＰＣＩｅケーブルを有する例示的システムのブロック図（その１）である。
【図２Ｂ】本発明の一実施形態による複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ間の少なくとも一つの接続経路が、多重ミニＳＡＳコネクタ、および、物理的ＰＣＩｅケーブルを有する例示的システムのブロック図（その２）である。
【図２Ｃ】本発明の一実施形態による複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ間の少なくとも一つの接続経路が、多重ミニＳＡＳコネクタ、および、物理的ＰＣＩｅケーブルを有する例示的システムのブロック図（その３）である。
【図２Ｄ】本発明の一実施形態による複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ間の少なくとも一つの接続経路が、多重ミニＳＡＳコネクタ、および、物理的ＰＣＩｅケーブルを有する例示的システムのブロック図（その４）である。
【図２Ｅ】本発明の一実施形態による複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣ間の少なくとも一つの接続経路が、多重ミニＳＡＳコネクタ、および、物理的ＰＣＩｅケーブルを有する例示的システムのブロック図（その５）である。
【図３Ａ】本発明の一実施形態によるスイッチ回路を有し、例示的システムの特定のＰＣＩｅトポロジーを設置する例示的システムのブロック図（その１）である。
【図３Ｂ】本発明の一実施形態によるスイッチ回路を有し、例示的システムの特定のＰＣＩｅトポロジーを設置する例示的システムのブロック図（その２）である。
【図３Ｃ】本発明の一実施形態によるスイッチ回路を有し、例示的システムの特定のＰＣＩｅトポロジーを設置する例示的システムのブロック図（その３）である。
【図３Ｄ】本発明の一実施形態によるスイッチ回路を有し、例示的システムの特定のＰＣＩｅトポロジーを設置する例示的システムのブロック図（その４）である。
【図３Ｅ】本発明の一実施形態によるスイッチ回路を有し、例示的システムの特定のＰＣＩｅトポロジーを設置する例示的システムのブロック図（その５）である。
【図３Ｆ】本発明の一実施形態によるスイッチ回路を有し、例示的システムの特定のＰＣＩｅトポロジーを設置する例示的システムのブロック図（その６）である。
【図４】本発明の一実施形態によるコンピューティングシステム中でＰＣＩｅトポロジーを設置する例示的方法を示す図である。
【発明を実施するための形態】
【００１５】
本発明は、多くの異なる形態で具体化することができる。代表的な実施形態を図面に示し、本明細書で詳細に説明する。本開示は、本発明の原理の一例又は例示であり、本発明の広い態様を、図示した実施形態に限定することを意図していない。その範囲において、例えば、要約、概要及び詳細な説明に開示されているが、特許請求の範囲の明示的に記載されていない要素及び限定は、単独で又は集合的に、黙示、推論又は他の方法によって特許請求の範囲に組み込まれてはならない。本発明を詳細に説明する目的のために、特に否定しない限り、単数形は複数形を含み、その逆もまた同様である。「含む」という用語は、「制限なしに含む」ことを意味している。さらに、例えば、「約」、「殆ど」、「実施的に」、「およそ」等の近似語は、本明細書では、例えば、「〜に」、「〜に近い」、「大体」、「〜の３〜５％の範囲内」、「許容される製造公差内」、又は、これらの任意の論理的組み合わせを意味するものとして用いることができる。 
【００１６】
本発明の各種例は、コンピューティングシステムにおけるフレキシブルなＰＣＩｅトポロジーを有効にするシステムと方法を提供する。フレキシブルなＰＣＩｅトポロジーは、コンピューティングシステムのユーザー、あるいは、マネジメントコントローラーが、特定のアプリケーションに基づいて、コンピューティングシステムのＣＰＵと素子間のＰＣＩｅを調整することができるようにする。いくつかの実施形態において、コンピューティングシステムは、複数のＣＰＵ、複数のＧＰＵ、あるいは、フィールドプログラマブルゲートアレイ （ＦＰＧＡ）、複数のＰＣＩｅスイッチ、および、複数のネットワークインターフェースコントローラー （ＮＩＣ）を有する。いくつかの実施形態において、コンピューティングシステムは、スイッチ回路を有して、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣを接続する。スイッチ回路は、複数の入力、および、複数の出力を有して、複数のＣＰＵ、複数のＰＣＩｅスイッチ、および、複数のＮＩＣを接続する。スイッチ回路中の接続経路が調節されて、コンピューティングシステムの特定のＰＣＩｅトポロジーを設置する。   
【００１７】
図１は、本発明の一実施形態によるフレキシブルな配置の複数のプロセッサ１０４、複数のＰＣＩｅスイッチ１１３、および、複数のＧＰＵ、あるいは、ＦＰＧＡ１１２を有する例示的システム１００のブロック図である。この例において、コンピューティングシステム１００は、ＧＰＵ１１２、プロセッサ１０４、ＰＣＩｅスイッチ１１３、一つ以上の冷却モジュール１１０、メインメモリ（ＭＥＭ）１１１、および、ＡＣ電源１０１からＡＣ電力を受ける少なくとも一つの電源ユニット（ＰＳＵ）１０２を有する。ＰＳＵ１０２は、コンピューティングシステム１００の各種素子、たとえば、プロセッサ１０４、ノースブリッジ （ＮＢ）ロジック１０６、ＰＣＩｅスロット１６１、サウスブリッジ （ＳＢ）ロジック１０８、ストレージデバイス１０９、ＩＳＡスロット１５１、ＰＣＩスロット１７１、および、マネジメントコントローラー１０３に電力を供給する。  
【００１８】
この例において、ＧＰＵ、あるいは、ＦＰＧＡ１１２は、ＰＣＩｅスイッチ１１３により、プロセッサ１０４に接続される。ＰＣＩｅスイッチ１１３は、複数のＩ／Ｏデバイス、ＧＰＵ、あるいは、ＦＰＧＡ１１２、および、プロセッサ１０４間の高速シリアルポイントトゥポイント（serial point-to-point ）接続を有効にして、ホストまでのエンドポイントトラフィック（end-point traffic）のアグリゲーション（aggregation）、ファンアウト（fan-out）、あるいは、ピアトゥピア通信（peer-to-peer communication）を最適化する。いくつかの例において、コンピューティングシステム１００は、さらに、ＰＣＩｅスイッチ１１３に接続されるＮＩＣ （図示しない）を有する。ＮＩＣは、コンピューティングシステム１００とコンピュータネットワークを接続する。 
【００１９】
プロセッサ１０４は、特定機能のプログラム命令を実行する中央処理ユニット （ＣＰＵ）である。たとえば、起動プロセス中、プロセッサ１０４は、マネジメントデバイス１０３、あるいは、フラッシュストレージデバイス中に保存されたファームウェアデータにアクセスし、且つ、ＢＩＯＳ１０５を実行して、コンピューティングシステム１００を初期化する。起動プロセス後、プロセッサ１０４はオペレーティング （ＯＳ）を実行して、コンピューティングシステム１００に特定のタスクを実行、並びに、管理する。
【００２０】
いくつかの構成において、プロセッサ１０４は、ＮＢロジック１０６に接続されたＣＰＵバス（図示しない）を介して互いに接続されている。いくつかの構成において、ＮＢロジック１０６をプロセッサ１０４に統合することができる。また、ＮＢロジック１０６は、複数の周辺コンポーネント相互接続エクスプレス（ＰＣＩｅ）スロット１６１及びＳＢロジック１０８（オプション）に接続することができる。複数のＰＣＩｅスロット１６１は、例えば、ＰＣＩエクスプレス ｘ１、ＵＳＢ２．０、ＳＭＢｕｓ、ＳＩＭカード、他のＰＣＩｅレーンの将来の拡張、１．５Ｖ及び３．３Ｖの電源、並びに、サーバシステム１００のシャーシ上の診断ＬＥＤへの配線等の接続及びバスに使用することができる。
【００２１】
コンピューティングシステム１００において、ＮＢロジック１０６、および、ＳＢロジック１０８は、ペリフェラルコンポーネントインターコネクト（ＰＣＩ）バス１０７により接続される。ＳＢロジック１０８は、拡張バスにより、ＰＣＩバス１０７を、複数の拡張カード、あるいは、ＩＳＡスロット１５０（たとえば、ＩＳＡスロット１５１）に結合する。ＳＢロジック１０８は、さらに、少なくとも一つのＰＳＵ１０２に接続されるマネジメントデバイス１０３に結合される。いくつかの実施形態において、マネジメントデバイス１０３は、サーバシステム１００のマザーボード上に組み込まれる専用のマイクロコントローラーである。マネジメントデバイス１０３は、ベースボードマネジメントコントローラー （ＢＭＣ）、あるいは、ラックマネジメントコントローラー （ＲＭＣ）である。 
【００２２】
いくつかの実施形態において、プロセッサ１０４は、スイッチ回路 （図示しない）により、ＰＣＩｅスイッチ１１３に接続される。スイッチ回路は、複数の入力、および、複数の出力を有して、複数のプロセッサ１０４、複数のＰＣＩｅスイッチ１１３、および、複数のＮＩＣ （図示しない）を接続する。スイッチ回路中の接続経路は調整されて、コンピューティングシステム１００の特定のＰＣＩｅトポロジーを設置する。特定のＰＣＩｅトポロジーは、フルコンフィギュレーションモード、バランスモード、コモンモード、および、カスケードモードを有する。 
【００２３】
いくつかの実施形態において、複数のプロセッサ１０４、複数のＰＣＩｅスイッチ１１３、および、複数のＮＩＣ間の少なくとも一つの接続経路は、多重ミニＳＡＳコネクタ （図示しない）、および、少なくとも一つの物理的ＰＣＩｅケーブル （図示しない）を有する。少なくとも一つの物理的ＰＣＩｅケーブルにより、多重ミニＳＡＳコネクタ、および／または、複数のＮＩＣの一つにインストールされたゴールドフィンガーリピーターボード間の接続経路を調整することにより、コンピューティングシステム１００の特定のＰＣＩｅトポロジーが設置される。
【００２４】
図２Ａ〜図２Ｅは、さらに、図１のＰＣＩｅ配置の実施例を示す。図２Ａ〜図２Ｅにおいて、多重ミニシリアルアタッチドＳＣＳＩ （ＳＡＳ）コネクタ、および、少なくとも一つの物理的ＰＣＩｅケーブルが用いられて、コンピューティングシステム中のフレキシブルなＰＣＩｅトポロジーを設置する。特定のＰＣＩｅトポロジーは、これに限定されないが、フルコンフィギュレーションモード、バランスモード、コモンモード、および、カスケードモードを有する。
【００２５】
図２Ａは、コンピューティングシステム２００Ａの通用のＰＣＩｅトポロジーを示す図である。コンピューティングシステム２００Ａは、ＣＰＵ２０４−１、および、２０４−２、ＦＰＧＡ２１２−1〜２１２−１６、ＮＩＣ ２０２−１〜２０２−４、ＰＣＩｅスイッチ２１３−１〜２１３−４、および、ＳＡＳコネクタ２０１−１〜２０１−６を有する。この例において、ＣＰＵ２０４−１は、ウルトラパスインターコネクト（UltraPath Interconnect、ＵＰＩ）により、ＣＰＵ２０４−２に接続される。ＣＰＵ２０４−１は、ＰＣＩｅ接続により、ＰＣＩｅスイッチ２１３−１に接続され、二個のＳＡＳコネクタ２０１−１、２０１−２、および、ＰＣＩｅケーブル２０３−１により、ＰＣＩｅスイッチ２１３−２に接続される。ＣＰＵ２０４−２は、二個のＳＡＳコネクタ ２０１−３、２０１−４、および、ＰＣＩｅケーブル２０３−２により、ＰＣＩｅスイッチ２１３−３に接続されるとともに、二個のＳＡＳコネクタ２０１−５、２０１−６、および、ＰＣＩｅケーブル２０３−３により、ＰＣＩｅスイッチ２１３−４に接続される。ＰＣＩｅスイッチ２１３−１は、ＦＰＧＡ２１２−１、２１２−３、２１２−５、および、２１２−７、および、ＮＩＣ２０２−１に接続される。ＰＣＩｅスイッチ２１３−２は、ＦＰＧＡ２１２−２、２１２−４、２１２−６、および、２１２−８、および、ＮＩＣ２０２−２に接続される。ＰＣＩｅスイッチ２１３−３は、ＦＰＧＡ２１２−９、２１２−１１、２１２−１３、および、２１２−１５、および、ＮＩＣ２０２−３に接続される。ＰＣＩｅスイッチ２１３−４は、ＦＰＧＡ２１２−１０、２１２−１２、２１２−１４、および、２１２−１６、および、ＮＩＣ２０２−４に接続される。  
【００２６】
コンピューティングシステム２００Ａ中のＰＣＩｅトポロジーは、それぞれ、図２Ｂ〜図２Ｅに示されるように、フルコンフィギュレーションモード、バランスモード、コモンモード、および、カスケードモードに調整される。 
【００２７】
図２Ｂにおいて、コンピューティングシステム２００ＢのＰＣＩｅトポロジーは、フルコンフィギュレーションモードである。コンピューティングシステム２００Ｂは、ＣＰＵ２０４−１、および、２０４−２、ＦＰＧＡ、あるいは、ＧＰＵ２１２−１〜２１２−１６、ＮＩＣ２０２−1〜２０２−４、ＰＣＩｅスイッチ２１３−１〜２１３−４、および、ＳＡＳコネクタ２０１−１〜２０１−６を有する。コンピューティングシステム２００Ｂの上記素子間の接続経路は図２Ａと同じである。フルコンフィギュレーションモードにおいて、コンピューティングシステム２００Ｂは、エンドポイントデバイスに接続される全ＰＣＩｅスイッチ２１３−１〜２１３−４のダウンストリームをサポートする。この例において、コンピューティングシステム２００Ｂは、４個のＰＣＩｅスイッチを有し、且つ、２０個以上のＰＣＩｅx１６エンドポイントデバイスをサポートしなければならない。
【００２８】
図２Ｃにおいて、コンピューティングシステム２００ＣのＰＣＩｅトポロジーは、バランスモードである。コンピューティングシステム２００Ｃは、ＣＰＵ２０４−１、および、２０４−２、ＦＰＧＡ、あるいは、ＧＰＵ （すなわち、２１２−１、２１２−３、２１２−５、２１２−７、２１２−９、２１２−１１、２１２−１３、および、２１２−１３、および、２１２−１５）、ＮＩＣ ２０２−１、および、２０２−３、ＰＣＩｅスイッチ２１３−１、および、２１３−３、および、ＳＡＳコネクタ２０１−１〜２０１−６を有する。図２Ｂのフルコンフィギュレーションモードと図２Ｃのバランスモードを比較すると、コンピューティングシステム２００Ｃは、ＰＣＩｅスイッチ２１３−２、および、２１３−４を必要としない、あるいは、搭載しない。ＰＣＩｅケーブル２０３−１が用いられて、ＳＡＳコネクタ２０１−３、および、２０１−４を接続する。ＳＡＳコネクタ２０１−３、および、２０１−４は、それぞれ、ＣＰＵ２０４−２、および、ＰＣＩｅスイッチ２１３−３に接続される。バランスモードにおいて、コンピューティングシステム２００Ｃの各ＣＰＵは、一ＰＣＩｅスイッチに接続され、且つ、対応するＰＣＩｅスイッチの全ダウンストリームに接続される。この例において、ＣＰＵ２０４−１、および、２０４−２は、それぞれ、ＰＣＩｅスイッチに接続され、よって、各ＣＰＵのＰＣＩｅルートポート（root port）は、対応するＰＣＩｅスイッチ２１３−１、および、２１３−３により、それぞれ、５個以上のＰＣＩｅ x １６エンドポイントデバイスに接続される。
【００２９】
図２Ｄにおいて、コンピューティングシステム２００ＤのＰＣＩｅトポロジーは、コモンモードである。図２Ｃのコンピューティングシステム２００Ｃと同様に、コンピューティングシステム２００Ｄは、ＰＣＩｅスイッチ２１３−２、および、２１３−４を必要としない。あるいは、搭載しない。しかし、コンピューティングシステム２００Ｄにおいて、ＰＣＩｅケーブル２０３−１が用いられて、ＳＡＳコネクタ２０１−１と２０１−４を接続する。ＳＡＳコネクタ２０１−１、および、２０１−４は、それぞれ、ＣＰＵ２０４−１、および、ＰＣＩｅスイッチ２１３−３に接続される。コンピューティングシステム２００ＤのＰＣＩｅトポロジーの残りの接続経路は、コンピューティングシステム２００ＣのＰＣＩｅトポロジーと同じである。ＳＡＳコネクタ２０１−４、２０１−１、および／または、２０１−３を接続するＰＣＩｅケーブル２０３−１を調整することにより、ＰＣＩｅトポロジーは、コモンモードとバランスモード間で切り換えられる。コモンモードにおいて、コンピューティングシステム２００ＤのＣＰＵは、二個のＰＣＩｅスイッチ、および、二個のＰＣＩｅスイッチの全ダウンストリームに接続される。この例において、ＣＰＵ２０４−１は、アクティブＰＣＩｅスイッチ２１３−１、および、２１３−３、および、エンドポイントデバイス２１２−１、２１２−３、２１２−５、２１２−７、２０２−１、２０２−３、２１２−９、２１２−１１、２１２−１３、および、２１２−１５に接続される。これらのエンドポイントデバイスからのデータは、直接、ＣＰＵ２０４−１に転送され、いくつかのデータを、ＣＰＵ２０４−２から、ＵＰＩにより、ＣＰＵ２０４−１に転送する必要がない。
【００３０】
図２Ｅにおいて、コンピューティングシステム２００ＥのＰＣＩｅトポロジーは、カスケードモードである。それぞれ、図２Ｃと図２Ｄ中のコンピューティングシステム２００Ｃと２００Ｄと同様に、コンピューティングシステム２００Ｅは、ＰＣＩｅスイッチ２１３−２、および、２１３−４を必要としない、あるいは、搭載しない。しかし、コンピューティングシステム２００Ｅにおいて、ＰＣＩｅケーブル２０３−１が用いられて、ＳＡＳコネクタ２０１−４、および、ＮＩＣ２０２−１上にインストールされるゴールドフィンガーリピーターボード２０５−１を接続する。ＳＡＳコネクタ２０１−４は、ＰＣＩｅスイッチ２１３−３に接続される。ゴールドフィンガーリピーターボード２０５−１が配置されて、ＰＣＩｅ信号を、ＮＩＣ２０２−１からＳＡＳ通信チャネル （たとえば、ＰＣＩｅケーブル２０３−１）、および、ＰＣＩｅスイッチ２１３−３に送る。カスケードモードにおいて、コンピューティングシステム２００ＥのＣＰＵは、二個のＰＣＩｅスイッチ、および、二個のＰＣＩｅスイッチの全ダウンストリームに接続される。この例において、ＣＰＵ２０４−１は、アクティブＰＣＩｅスイッチ２１３−１、および、２１３−３、および、エンドポイントデバイス２１２−１、２１２−３、２１２−５、２１２−７、２０２−１、２０２−３、２１２−９、２１２−１１、２１２−１３、および、２１２−１５に接続される。これらのエンドポイントデバイスからのデータは、直接、ＣＰＵ２０４−１に転送され、いくつかのデータを、ＣＰＵ２０４−２から、ＵＰＩにより、ＣＰＵ２０４−１に転送する必要がない。カスケードモードにおいて、コンピューティングシステム２００Ｅは、第一ＰＣＩｅスイッチに接続され、第二ＰＣＩｅスイッチは、第一ＰＣＩｅスイッチ下に接続される。よって、ＣＰＵは、全アクティブエンドポイントデバイスに接続されるとともに、第一と第二ＰＣＩｅスイッチ間でデータを転送し、コンピューティングシステム２００ＥのＣＰＵのスループットにより制限されない。この例において、ＣＰＵ２０４−１は第一ＰＣＩｅスイッチ２１３−１により接続され、第二ＰＣＩｅスイッチ２１３−３は、ＮＩＣ２０２−１により、第一ＰＣＩｅスイッチ２１３−１に接続される。
【００３１】
図２Ａ〜図２Ｅに示されるように、コンピューティングシステム２００Ａ〜２００Ｅ中、多重ミニシリアルアタッチドＳＣＳＩ （ＳＡＳ）コネクタ、および、少なくとも一つの物理的ＰＣＩｅケーブルが用いられて、フレキシブルなＰＣＩｅトポロジーを設置する。しかし、本発明は、スイッチ回路が用いられて、異なるモード間で、ＰＣＩｅトポロジーを切り換えると考える。これは、図３Ａ〜図３Ｆに示される。
【００３２】
図３Ａ〜図３Ｆは、本発明の一実施形態によるスイッチ回路３０１を有し、例示的システムの特定のＰＣＩｅトポロジーを設置する例示的システム３００Ａ〜３００Ｆのブロック図である。スイッチ回路３０１が配置されて、例示的システムのマネジメントコントローラー、あるいは、ユーザーの要求に基づいて、特定のＰＣＩｅトポロジーを設置する。
【００３３】
図３Ａにおいて、コンピューティングシステム３００Ａは、ＣＰＵ３０４−１、および、３０４−２、ＦＰＧＡ ３１２−１〜３１２−１６、ＮＩＣ３０２−１、および、３０２−４、ＰＣＩｅスイッチ３１３−１〜３１３−４、および、ＣＰＵ （すなわち、３０４−１、および、３０４−２）、ＰＣＩｅスイッチ（すなわち、３１３−１〜３１３−４）、および、ＮＩＣ （すなわち、３０２−１、および、３０２−３）を接続するスイッチ回路３０１を有する。この例において、ＣＰＵ３０４−１は、ウルトラパスインターコネクト （ＵＰＩ）により、ＣＰＵ３０４−２に接続される。ＣＰＵ３０４−１はさらに、ＰＣＩｅスイッチ３１３−１に接続され、ＣＰＵ３０４−２はさらに、ＰＣＩｅスイッチ３１３−４に接続される。ＰＣＩｅスイッチ３１３−１は、ＦＰＧＡ３１２−１、３１２−３、３１２−５、および、３１２−７に接続される。ＰＣＩｅスイッチ３１３−２は、ＦＰＧＡ３１２−２、３１２−４、３１２−６、および、３１２−８、および、ＮＩＣ３０２−２に接続される。ＰＣＩｅスイッチ３１３−３は、ＦＰＧＡ３１２−９、３１２−１１、３１２−１３、および、３１２−１５に接続される。ＰＣＩｅスイッチ３１３−４は、ＦＰＧＡ３１２−１０、３１２−１２、３１２−１４、および、３１２−１６、および、ＮＩＣ３０２−４に接続される。 
【００３４】
この例において、スイッチ回路３０１は４個（すなわち、ＣＰＵ ３０４−１、および、３０４−２から、および、ＰＣＩｅスイッチ３１３−１、および、３１３−３から）、および、４個の出力（すなわち、ＰＣＩｅスイッチ３１３−２、および、３１３−３に出力、および、ＮＩＣ３０２−１、および、３０２−３に出力）を有する。この例において、ＤＩＰスイッチ３０２が用いられて、スイッチ回路中の接続経路を設置する。
【００３５】
いくつかの実施形態において、図３Ｂに示されるように、スイッチ回路３０１は、複数のＭＵＸ （すなわち、３０１−１〜３０１−６）に接続されるＣＰＵ （すなわち、３０４−１、および、３０４−２）、ＰＣＩｅスイッチ （すなわち、３１３−１〜３１３−４）、および、ＮＩＣ（すなわち、３０２−１、および、３０２−３）を有する。ＤＩＰスイッチ３０２は、複数のＭＵＸ （すなわち、３０１−１〜３０１−６）中のそれぞれの接続状態を設定するとともに、これにより、スイッチ回路３０１の四個の入力と四個の出力間の接続経路を設置する。 
【００３６】
図３Ｃにおいて、コンピューティングシステム３００ＣのＰＣＩｅトポロジーは、フルコンフィギュレーションモードである。コンピューティングシステム３００Ｃは、ＣＰＵ３０４−１、および、３０４−２、ＦＰＧＡ、あるいは、ＧＰＵ ３１２−１〜３１２−１６、ＮＩＣ３０２−１、および、３０２−４、ＰＣＩｅスイッチ３１３−１〜３１３−４、および、ＳＡＳコネクタ３０１−１〜３０１−６を有する。この例において、ＤＩＰスイッチ３０２は、スイッチ回路３０１の入力を、ＣＰＵ３０４−１からＭＵＸ３０１−１に設置し、その後、ＭＵＸ３０１−３、そして、ＰＣＩｅスイッチ３１３−２に設置する。また、ＤＩＰスイッチ３０２は、スイッチ回路３０１の入力を、ＣＰＵ３０４−２からＭＵＸ３０１−２に設置し、その後、ＭＵＸ３０１−４、そして、ＰＣＩｅスイッチ３１３−３に設置する。ＤＩＰスイッチ３０２は、さらに、スイッチ回路３０１の入力を、ＰＣＩｅスイッチ３１３−１から、ＭＵＸ３０１−５に設置し、その後、ＮＩＣ３０２−１に設置する。また、ＤＩＰスイッチ３０２は、スイッチ回路３０１の入力を、ＰＣＩｅスイッチ３１３−３からＭＵＸ３０１−６に設置し、その後、ＮＩＸ３０２−３に設置する。スイッチ回路３０１中のその他の全接続経路は、コンピューティングシステム３００Ｃ中のＤＩＰスイッチ３０２により無効になる。
【００３７】
図３Ｄにおいて、コンピューティングシステム３００ＤのＰＣＩｅトポロジーは、バランスモードである。この例において、ＤＩＰスイッチ３０２は、スイッチ回路３０１の入力を、ＣＰＵ３０４−２からＭＵＸ３０１−２に設置し、その後、ＭＵＸ３０１−４、そして、ＰＣＩｅスイッチ３１３−３に設置する。ＤＩＰスイッチ３０２は、さらに、スイッチ回路３０１の入力を、ＰＣＩｅスイッチ３１３−１からＭＵＸ３０１−５に設置し、その後、ＮＩＣ３０２−１に設置する。また、ＤＩＰスイッチ３０２は、スイッチ回路３０１の入力を、ＰＣＩｅスイッチ３１３−３から、ＭＵＸ３０１−６に設置し、その後、ＮＩＸ３０２−３に設置する。スイッチ回路３０１中のその他のすべての接続経路は、コンピューティングシステム３００Ｄ中のＤＩＰスイッチ３０２により無効になる。
【００３８】
図３Ｅにおいて、コンピューティングシステム３００ＥのＰＣＩｅトポロジーは、コモンモードである。この例において、ＤＩＰスイッチ３０２は、スイッチ回路３０１の入力を、ＣＰＵ３０４−１からＭＵＸ３０１−１に設置し、その後、ＭＵＸ３０１−４、そして、ＰＣＩｅスイッチ３１３−３に設置する。ＤＩＰスイッチ３０２は、さらに、スイッチ回路３０１の入力を、ＰＣＩｅスイッチ３１３−１からＭＵＸ３０１−５に設置し、ＮＩＣ３０２−１に設置する。また、ＤＩＰスイッチ３０２は、スイッチ回路３０１の入力を、ＰＣＩｅスイッチ３１３−３からＭＵＸ３０１−６に設置し、その後、ＮＩＸ３０２−３に設置する。スイッチ回路３０１中のその他の全接続経路は、コンピューティングシステム３００Ｅ中のＤＩＰスイッチ３０２により無効になる。
【００３９】
図３Ｆにおいて、コンピューティングシステム３００ＦのＰＣＩｅトポロジーは、カスケードモードである。この例において、ＤＩＰスイッチ３０２は、スイッチ回路３０１の入力を、ＰＣＩｅスイッチ３１３−１からＭＵＸ３０１−５に設置し、その後、ＭＵＸ３０１−６に設置し、その後、ＰＣＩｅスイッチ３１３−３に設置する。スイッチ回路３０１中のその他の全接続経路は、コンピューティングシステム３００Ｆ中のＤＩＰスイッチ３０２により無効になる。
【００４０】
図３Ａ〜図３Ｆに示されるように、スイッチ回路３０１が用いられて、コンピューティングシステム３００Ａ〜３００Ｆ中のフレキシブルなＰＣＩｅトポロジーを設置する。スイッチ回路３０１により設置されるＰＣＩｅトポロジーは、これに限定されないが、フルコンフィギュレーションモード、バランスモード、コモンモード、および、カスケードモードを有する。
【００４１】
図４は、本発明の一実施形態によるコンピューティングシステム中のＰＣＩｅトポロジーを設置する例示的方法４００を示す図である。理解すべきことは、例示的方法４００は説明のためだけに示され、且つ、本発明のその他の方法にしたがって、追加、さらに少ない、あるいは代替のステップを有して、相似の、あるいは、代替の順序で上述の工程を実行することができることである。例示的方法４００は、工程４０２から開始し、コンピューティングシステムの特定のＰＣＩｅトポロジーに対する要求を受信する。いくつかの実施形態において、要求は、コンピューティングシステムのマネジメントコントローラー （たとえば、ＢＭＣ）、あるいは、ユーザーからのものである。特定のＰＣＩｅトポロジーは、これに限定されないが、フルコンフィギュレーションモード、バランスモード、コモンモード、および、カスケードモードを有する。
【００４２】
工程４０４において、マネジメントコントローラーは、コンピューティングシステム中、複数のＣＰＵ、複数のＰＣＩｅスイッチ、複数のＮＩＣ、および、複数のＦＰＧＡ、および／または、ＧＰＵ間の現在の接続経路を判断する。いくつかの実施形態において、コンピューティングシステムは、スイッチ回路を有し、スイッチ回路は、複数の入力、および、複数の出力を有する。スイッチ回路の入力と出力は、複数のＣＰＵ、複数のＰＣＩｅスイッチ、複数のＮＩＣ、および、複数のＦＰＧＡ、および／または、ＧＰＵを接続する。いくつかの実施形態において、スイッチ回路は、複数のＭＵＸを有する。スイッチに接続されるＤＩＰスイッチは、複数のＭＵＸ中のそれぞれの接続状態を設定し、これにより、スイッチ回路の複数の入力、および、複数の出力間の接続経路を設置する。
【００４３】
工程４０５において、マネジメントコントローラーは、ＣＰＵ、ＰＣＩｅスイッチ、ＮＩＣ、および、ＦＰＧＡ、および／または、ＧＰＵ中の現在の接続経路が、特定のＰＣＩｅトポロジーと一致するか否か判断する。ＣＰＵ、ＰＣＩｅスイッチ、ＮＩＣ、および、ＦＰＧＡ、および／または、ＧＰＵ間の現在の接続経路が、特定のＰＣＩｅトポロジーと一致する事象において、プロセス４００は工程４０６で終了する。ＣＰＵ、ＰＣＩｅスイッチ、ＮＩＣ、および、ＦＰＧＡ、および／または、ＧＰＵ間の現在の接続経路が、特定のＰＣＩｅトポロジーと一致しない事象において、マネジメントコントローラーは、工程４０８において、スイッチ回路の複数の入力、および、複数の出力間の接続経路を調整して、接続経路が特定のＰＣＩｅトポロジーと一致させる。いくつかの実施形態において、マネジメントコントローラーは、ＤＩＰスイッチの設定を調整して、スイッチ回路中の複数のＭＵＸのそれぞれの接続状態を設定することができる。
【００４４】
本発明の様々な実施形態が上に記述されたが、理解すべきことは、示される例は単なる範例であって、制限ではないことである。本発明の実施形態に基づく各種変更は、本発明の精神と範囲を逸脱しない。よって、本発明の幅と範囲は、上記の任意の実施形態により限定されるべきではない。さらに、本発明の範囲は、以下の請求項とそれらの等価物によって定義されるべきである
【符号の説明】
【００４５】
１００、２００Ａ、２００Ｂ、２００Ｃ、２００Ｄ、２００Ｅ、３００Ａ、３００Ｃ、３００Ｄ、３００Ｅ、３００Ｆ  コンピューティングシステム
１０１  ＡＣ電源
１０２  電源ユニット
１０３  マネジメントコントローラー
１０４  プロセッサ
１０５  ＢＩＯＳ
１０６  ノースブリッジ （ＮＢ）ロジック
１０７  ＰＣＩバス
１０８  サウスブリッジ （ＳＢ）ロジック
１０９  ストレージデバイス
１１０  冷却モジュール
１１１  メインメモリ
１１２  ＧＰＵ、あるいは、ＦＰＧＡ
１１３、２１３−１〜２１３−４、３１３−１〜３１３−４  ＰＣＩｅスイッチ
１５１  ＩＳＡスロット
１６１  ＰＣＩｅスロット
１７１  ＰＣＩスロット
２０１−１〜２０１−６  ＳＡＳコネクタ
２０２−１〜２０２−４、３０２−１〜３０２−４  ＮＩＣ
２０３−１〜２０３−４  ＰＣＩｅケーブル
２０４−１、２０４−２、３０４−１、３０４−２  ＣＰＵ
２０５−１  ゴールドフィンガーリピーターボード
２１２−１〜２１２−１６  ＦＰＧＡ、あるいは、ＧＰＵ
ＵＰＩ  ウルトラパスインターコネクト
３０１  スイッチ回路
３０２  ＤＩＰスイッチ
３１２−１〜３１２−１６  ＦＰＧＡ
３００Ｂ  コンピューティングシステム
３０１−１〜３０１−６  ＭＵＸ
４００  方法
４０２〜４０８  工程
【図１】
2020119498.tif 000003
【図２Ａ】
2020119498.tif 000004
【図２Ｂ】
2020119498.tif 000005
【図２Ｃ】
2020119498.tif 000006
【図２Ｄ】
2020119498.tif 000007
【図２Ｅ】
2020119498.tif 000008
【図３Ａ】
2020119498.tif 000009
【図３Ｂ】
2020119498.tif 000010
【図３Ｃ】
2020119498.tif 000011
【図３Ｄ】
2020119498.tif 000012
【図３Ｅ】
2020119498.tif 000013
【図３Ｆ】
2020119498.tif 000014
【図４】
2020119498.tif 000015