(57)【要約】      （修正有）【課題】多レーン構成においてケーブルの誤接続を特定する。【解決手段】システム２００において、ファブリックスイッチは、シリアルリンクに関連する上流ポートを有する。ファブリック制御装置はスイッチに結合される。ホストサーバ２０２は、ＢＩＯＳ２６４及び管理制御装置２６２を有する。ホストサーバは、シリアルリンクのレーンを構成するようにケーブルを介してシリアルリンクポートに結合されるポートを有する。メモリ２１４はファブリック制御装置２１２及び管理制御装置によってアクセス可能である。管理制御装置は、メモリからシリアルリンクの予想速さ及び幅を読み取る。ＢＩＯＳは、シリアルリンクの実際の速さ及び幅を決定する。管理制御装置は、実際の速さ及び幅が予想速さ及び幅と一致しない場合、エラーメッセージを送る。【選択図】図３
2019175424.tif 000002
【特許請求の範囲】
【請求項１】
シリアルリンクの効率を保証するシステムであって、
シリアルリンクに関連する上流ポートを有するファブリックスイッチ、
ＢＩＯＳ及び管理制御装置を有して、前記シリアルリンクのレーンを構成するようにケーブルを介して前記シリアルリンクポートに結合される複数のポートを有するホストサーバ、及び、
前記管理制御装置によってアクセス可能なメモリ、
を有し、
前記管理制御装置は、前記メモリから前記シリアルリンクの予想速さ及び幅を読み取り、
前記ＢＩＯＳは、前記シリアルリンクの実際の速さ及び幅を決定し、
前記管理制御装置は、前記実際の速さ又は幅が前記予想速さ又は幅と一致しない場合、エラーメッセージを送る、
システム。
【請求項２】
請求項１に記載のシステムであって、
前記スイッチに結合されるファブリック制御装置をさらに有し、
前記ファブリック制御装置は、前記メモリへアクセスするように動作可能で、
前記メモリは、前記ファブリック制御装置内に設けられ、
前記ファブリック制御装置は、前記メモリ内のシリアルリンクの予想速さ及び幅を格納するように動作可能である、
システム。
【請求項３】
請求項１に記載のシステムであって、
複数のデバイスをさらに有し、
前記ファブリックスイッチは、前記複数のデバイスに結合される下流ポートを有する、
システム。
【請求項４】
請求項３に記載のシステムであって、前記メモリ及び前記複数のデバイスがファブリックボックス内に存在する、システム。
【請求項５】
請求項３に記載のシステムであって、前記ファブリックスイッチが、前記シリアルリンクのレーンを介して、前記ホストサーバと前記複数のデバイスのうちの一とを接続する、システム。
【請求項６】
ホストサーバとファブリックスイッチとの間のシリアルリンクの適切な接続を判断する方法であって、
前記シリアルリンクは、前記ホストサーバのポートと前記ファブリックスイッチの上流ポートとの間に複数のレーンを有し、
当該方法は、
前記ホストサーバのポートを、ケーブルを介して前記ファブリックスイッチの上流ポートに接続する段階、
前記シリアルリンクの予想速さ及び幅を、前記ホストサーバによってアクセス可能なメモリ内に格納する段階、
前記ホストサーバを介して前記シリアルリンクの予想速さ及び予想幅を読み取る段階、
前記ホストサーバを介して前記シリアルリンクの実際の速さ及び実際の幅を決定する段階、
前記シリアルリンクの予想速さ及び予想幅と前記シリアルリンクの実際の速さ及び実際の幅とを比較する段階、並びに、
前記実際の速さ又は実際の幅が前記予想速さ又は前記予想幅と異なる場合、前記ホストサーバを介してエラーメッセージを生成する段階、
を有する方法。
【請求項７】
請求項６に記載の方法であって、
前記ホストサーバの管理制御装置は、前記読み取る段階及び前記生成する段階を実行し、
前記ホストサーバのＢＩＯＳは、前記決定する段階及び前記比較する段階を実行し、
前記メモリは、前記ファブリック制御装置内に設けられる、
方法。
【請求項８】
請求項６に記載の方法であって、前記ファブリックスイッチが、複数のデバイスに結合される下流ポートを有する、方法。
【請求項９】
請求項８に記載の方法であって、前記メモリ及び前記複数のデバイスがファブリックボックス内に存在する、方法。
【請求項１０】
請求項９に記載の方法であって、ファブリックスイッチを始動させて、前記シリアルリンクのレーンを介して前記ホストサーバと前記複数のデバイスのうちの一とを接続する段階をさらに有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、ファブリックカード上のデバイスへの接続のエラーのチェックに関する。より具体的には本開示の態様は、予想されるリンクデータと実際のリンクデータとを比較するための共通メモリを用いることでスイッチのポートとホストのポートとの間の誤ったケーブル接続を特定することに関する。
【背景技術】
【０００２】
計算処理用途のためのクラウドの出現によって、リモート接続されたコンピュータ装置ユーザによってアクセスされるデータを記憶しアプリケーションを実行する、データセンタとして知られるオフサイト施設の需要が増えてきた。そのようなデータセンタは一般的に、データを記憶し管理する膨大な数のサーバ、スイッチ及び記憶装置を有する。典型的なデータセンタは、電力及び通信接続が付随する物理ラック構造物を有する。ラックは、データセンタの部屋全体に配列される。各ラックは、２つの側壁間にスロット又はシャーシを有するフレームを有する。スロットは、複数のネットワークデバイス−たとえばサーバ、スイッチ、記憶装置−を保持してよい。最新のデータセンタにおいて見られる上記のようなラック構造内には積層された上記のようなネットワークデバイスが多数存在する。例えば、データセンタの中には、何万台ものサーバと、それに付随する記憶装置とネットワークスイッチを有するものがある。よって典型的なデータセンタは、何万又は何十万の個別のラック内に何万台更には何十万台ものデバイスを含み得る。
【０００３】
資源を効率的に割り当てるため、データセンタは、多くの異なる種類のデバイスをプール装置内に有する。そのようなプールされたデバイスは、資源の必要性が生じる際に様々なホストサーバへ割り当てられてよい。そのようなデバイスは、ピーシーアイエキスプレス（ＰＣＩｅ）型スイッチによって始動し得る、デバイスとホストサーバとの間のＰＣＩｅプロトコルリンクを介して接続されてよい。
【０００４】
よって多くの最新のデータセンタは現在、多数のプールされたデバイスを備える分離アーキテクチャをサポートしている。そのようなデータセンタ１０の例が図１Ａに示されている。システム管理者は、ルータ１４を介して設定データをＰＣＩｅファブリックボックス２０へ送ることを可能にするコンポーザアプリケーションにアクセスすることができる。ＰＣＩｅファブリックボックス２０は、多数のシリアル拡張バスデバイス−データセンタ内の他のデバイスによってアクセスされ得るＰＣＩｅ適合デバイス−を有する。この例では、ＰＣＩｅファブリックボックス２０は、ルータ１４からネットワークを介して設定データを受け取ることができるファブリック制御装置２２を有する。ファブリックボックス２０は、ホストデバイス−たとえばホストサーバ３０，３２，３４，３６をファブリックボックス２０内の様々なＰＣＩｅデバイスに接続可能にするＰＣＩｅスイッチ−たとえばＰＣＩｅスイッチ２４，２６−を有する。ＰＣＩｅスイッチ２４は上流ポート４０，４２を有する。ＰＣＩｅスイッチ２６は上流ポート４４，４６を有する。上流ポート４０，４２，４４，４６は、ケーブルを介してホストサーバ３０，３２，３４，３６へ接続される。ＰＣＩｅスイッチ２４はまた下流ポート５０，５２，５４，５６をも有する。ＰＣＩｅスイッチ２６はまた下流ポート６０，６２，６４，６６を有する。この例では、ファブリックボックス２０内には、スイッチ２４，２６のそれぞれの下流ポートに結合される複数のデバイスが存在する。これらのデバイスは、ホストサーバ３０，３２，３４，３６のうちのいずれかによってアクセスされ得る。
【０００５】
図１Ａに示されているように、２つのホストサーバ３０，３２がスイッチ２４の上流ポート４０，４２に直接結合されている一方、２つのホストサーバ３４，３６がスイッチ２６の上流ポート４４，４６に直接結合されている。この例では、デバイス７０，７２，７４，７６は、ＰＣＩｅスイッチ２４の下流ポート５０，５２，５４，５６に直接結合される。デバイス８０，８２，８４，８６は、ＰＣＩｅスイッチ２６の下流ポート６０，６２，６４，６６に直接結合される。追加のデバイス及びホストサーバは、追加のＰＣＩｅスイッチを追加することによってサポートされ得る。典型的なシステム１０は、あるシステム資源を、ホストサーバから除去し、かつ、代わりに外部のプールされたデバイスボックス２０が供することを可能にする。よって様々な種類のシステム資源が、様々なサーバの要求が生じる際に、その様々なサーバへ割り当てられ得る。たとえばデバイス７０，７２，７４，７６，８０，８２，８４，８６の各々は、資源−たとえば不揮発性メモリ（ＮＶＭｅ）、画像処理装置（ＧＰＵ）、現場でプログラム可能なゲートアレイ（ＦＰＧＡ）、ネットワークインターフェースカード（ＮＩＣ）又は他の種類のＰＣＩｅ適合デバイス−であってよい。そのようなデバイスの各々は、ホスト−たとえばホストサーバ３０，３２，３４，３６−へ動的に割り当てられ得る。
【０００６】
ホストサーバとファブリックボックスとの間での主なインターフェースは一般的に、高速周辺機器相互接続（ＰＣＩｅ）基準である。図１Ａでは、２つのＰＣＩｅスイッチ２４，２６からの４つのＰＣＩｅリンクの各々は４つのＰＣＩｅレーンのうちの一をサポートし得る。よってＰＣＩｅレーンの各々は、ホストサーバ３０，３２，３４，３６のうちの一へ割り当てられ得る。しかしホストサーバとファブリックボックスとの間で交換される最大データを増やすことによって性能を向上させる様々な実施形態が利用されてよい。たとえば、１つのリンクが４つのＰＣＩｅレーンをサポートし、２つのリンクが８つのＰＣＩｅレーンをサポートし、あるいは、４つのリンクが８つのＰＣＩｅレーンをサポートしてよい。リンクによってサポートされるレーンの数は、利用されているファブリックボックスの性能要求に依存する。一般的に、レーンの数が増えれば（リンク幅が広くなれば）、到達可能な伝送速度は大きくなり得る。
【０００７】
図１Ｂは、４つのＰＣＩｅレーンをサポートする１つのリンクのホストインターフェースを有するファブリックボックス１００を示している。ファブリックボックス同様、図１Ｂでは、デバイスとホストサーバ部には図１Ａと同一の部材番号が付される。ファブリックボックス１００は、４つのホストサーバ３０，３２，３４，３６に接続される４つのレーンを備える単一のＰＣＩｅスイッチ１０２を有する。単一のＰＣＩｅスイッチ１０２は、デバイス７０，７２，７４，７６，８０，８２，８４，８６に接続される下流ポート１１０ａ〜１１０ｈを有する。単一のＰＣＩｅスイッチ１０２は、上流ポート１２０，１２２，１２４，１２６を有する。上流ポート１２０，１２２，１２４，１２６はそれぞれのホストサーバ３０，３２，３４，３６を有する。ファブリックボックス１００のケーブル接続は相対的にわかりやすい。その理由は、４つのホストサーバ３０，３２，３４，３６の各々をＰＣＩｅスイッチ１０２へ接続するのに１つのケーブルしか必要ないからである。
【０００８】
図１Ｃは、８つのＰＣＩｅレーンをサポートする２つのＰＣＩｅリンクのホストインターフェースを有するファブリックボックス１３０を示している。ファブリックボックス同様、図１Ｃでは、デバイスとホストサーバ部には図１Ａと同一の部材番号が付される。ファブリックボックス１３０は２つのＰＣＩｅスイッチ１３２，１３４を有する。ＰＣＩｅスイッチ１３２は、デバイス７０，７２，７４，７６とそれぞれ接続される下流ポート１３６ａ〜１３６ｄを有する。ＰＣＩｅスイッチ１３４は、デバイス８０，８２，８４，８６とそれぞれ接続される下流ポート１３８ａ〜１３８ｄを有する。この例では、スイッチ１３２は、ホストサーバ３０，３２にそれぞれ結合される２つの上流リンク１４０，１４２を有する。スイッチ１３４は、ホストサーバ３４，３６にそれぞれ結合される２つの上流リンク１４４，１４６を有する。上流リンク１４０，１４２，１４４，１４６の各々は２つのレーンを有する。各レーンは一のケーブルを介する。従ってホストサーバ上のポートにそれぞれの上流ポートを接続する各レーン用に１つのケーブルが存在する。
【０００９】
図１Ｄは、１６のＰＣＩｅレーンをサポートする４つのＰＣＩｅリンクのホストインターフェースを有するファブリックボックス１５０を示している。ファブリックボックス同様、図１Ｄでは、デバイスとホストサーバ部には図１Ａと同一の部材番号が付される。ファブリックボックス１５０は２つのＰＣＩｅスイッチ１５２，１５４を有する。ＰＣＩｅスイッチ１５２は、デバイス７０，７２，７４，７６とそれぞれ接続される下流ポート１５６ａ〜１５６ｄを有する。スイッチ１５４は、デバイス８０，８２，８４，８６とそれぞれ接続される下流ポート１５８ａ〜１５８ｄを有する。この例では、スイッチ１５２は、ホストサーバ３０，３２にそれぞれ結合される２つの上流リンク１６０，１６２を有する。スイッチ１５４は、ホストサーバ３４，３６にそれぞれ結合される２つの上流リンク１６４，１６６を有する。上流リンク１６０，１６２，１６４，１６６の各々は４つのレーンを有する。従ってホストサーバ上のポートにそれぞれの上流ポートを接続する各レーン用に４つのケーブルが存在する。
【００１０】
大規模な構成−たとえば８又は１６レーンとなるような多数のリンクを備える構成−では、各リンクに複数のケーブルが必要となる。スイッチとホストサーバとの間のＰＣＩｅ物理リンクがリンク速さを最大とするように首尾よく構成するためには、ケーブルの順序は非常に重要である。たとえばホストサーバが、各々がＰＣＩｅレーンである４つのポートを有する場合、ケーブルは、同一の順序でＰＣＩｅスイッチ上の対応する上流ポートに接続されなければならない。図２Ａは、図１Ｄのスイッチ１５２とホストサーバ３０との間の正しいケーブル接続の拡大図である。
【００１１】
図２Ａからわかるように、ＰＣＩｅリンク１６０は、一連の４つのケーブル１７０，１７２，１７４，１７６を含む４つのレーンを有する。前記４つのレーンは、スイッチ１５２の各対応する上流ポート１８０，１８２，１８４，１８６に接続する。ケーブル１７０，１７２，１７４，１７６の他端は、ホストサーバ３０のポート１９０，１９２，１９４，１９６に接続される。よってスイッチ１５２とホストサーバ３０の両方上のポートの群は同一の順序で接続される。この構成によって、４つのレーンすべてが利用可能となるので、ＰＣＩｅリンク１６０の速さは最大となり得る。
【００１２】
しかしケーブル１７０，１７２，１７４，１７６のうちの一が誤接続されているとき、そのリンクのすべての接続が影響を受ける。図２Ｂは、ポート１９２からのケーブル１７２が、ＰＣＩｅスイッチ１５２の上流ポート１８４に誤接続された図１Ｄのシステムの拡大図である。ポート１９４からのケーブル１７４もまた、ＰＣＩｅスイッチ１５２の上流ポート１８２に誤接続された。ポートの順序を変えるこの誤接続は、リンクのＰＣＩｅ速さを、４レーンから１レーンへ落としてしまう誤設定のケースである。
【００１３】
複数のレーンを備えたあるＰＣＩｅリンク構成用の多数のケーブルでは、そのような誤接続の可能性が高まる。従って図２Ｂは、ユーザが間違った順序でケーブルを接続する場合に相対的によく起こる事象を表している。そのような事象では結果として、ＰＣＩｅリンク群用に複数のケーブルを用いる設計のときにＰＣＩｅ速さが落ちてしまう。現時点では、ケーブルの誤設定が起こったことをデータセンタのオペレータへ知られる迅速な方法は存在しないため、割り当てられたデバイスとホストサーバとの間の誤通信に悩まされる。
【００１４】
特許文献１では、ケーブル配置を計画する方法が開示されている。前記方法は、少なくとも１つの端子デバイス、及び、ケーブルデータベースで構築されたサーバを介して実行される。前記方法は、ユーザが少なくとも１つの仕様選択命令及び少なくとも１つの機器関連命令を入力したか否かを尋ねる入力インターフェースを供する段階、前記仕様選択命令及び機器関連命令に従ってケーブルリストを生成する段階、並びに、前記ケーブルリストに基づいて相互接続図を生成する段階を有する。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】台湾特許第Ｉ５６６１１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
従って複数のＰＣＩｅリンクからなる多レーン構成においてケーブルの誤接続を特定する必要がある。さらに、共有された資源ボックスとホストサーバとの間での誤接続自動検出する必要がある。さらに、ケーブルの誤接続を示唆するリンク速さの予期せぬ減少を検出するようにホストサーバデバイスを調整する必要がある。
【課題を解決するための手段】
【００１７】
一の開示された例は、ホストサーバとファブリックスイッチとの間のシリアルリンクの効率を保証するシステムである。前記ファブリックスイッチは、シリアルリンクに関連する上流ポートを有する。前記ホストサーバは、ＢＩＯＳ及び管理制御装置を有する。前記ホストサーバは、前記シリアルリンクのレーンを構成するようにケーブルを介して前記シリアルリンクポートに結合されるポートを有する。メモリは前記管理制御装置によってアクセス可能である。前記管理制御装置は、前記メモリから前記シリアルリンクの予想速さ及び幅を読み取る。前記ＢＩＯＳは、前記シリアルリンクの実際の速さ及び幅を決定する。前記管理制御装置は、前記実際の速さ及び幅が前記予想速さ及び幅と一致しない場合、エラーメッセージを送る。
【００１８】
他の開示された例は、ホストサーバとファブリックスイッチとの間のシリアルリンクの適切な接続を判断する方法である。前記シリアルリンクは、前記ホストサーバのポートと前記ファブリックスイッチの上流ポートとの間に複数のレーンを有する。前記ホストサーバのポートは、ケーブルを介して前記ファブリックスイッチの上流ポートに接続される。前記シリアルリンクの予想速さ及び幅は、前記ホストサーバによってアクセス可能なメモリ内に格納される。前記シリアルリンクの予想速さ及び幅は、前記ホストサーバを介して読み取られる。前記シリアルリンクの実際の速さ及び幅は、前記ホストサーバを介して決定される。前記シリアルリンクの予想速さ及び幅は、前記シリアルリンクの実際の速さ及び幅と比較される。前記シリアルリンクの実際の速さ及び幅が前記シリアルリンクの予想速さ及び幅と異なる場合、前記ホストサーバを介してエラーメッセージが生成される。
【００１９】
上記の要約は、本開示の各実施形態又は全ての態様を表わすものではない。より正確に言うと、前述の要約は、本明細書に記載された新規の態様及び特徴の幾つかの例を提供するに過ぎない。本開示の上記の特徴及び利点並びに他の特徴及び利点は、添付図面及び添付の特許請求の範囲に関連して行われるとき本発明を実現する代表的な実施形態及び形態の以下の詳細な説明から容易に明らかになるであろう。
【図面の簡単な説明】
【００２０】
本開示は、添付図面に関連する典型的実施形態の以下の記述からよりよく理解されるであろう。
【図１Ａ】従来技術に係るファブリックボックスと、様々なＰＣＩｅリンクと、レーンの構成の例を表すブロック図である。
【図１Ｂ】従来技術に係るファブリックボックスと、様々なＰＣＩｅリンクと、レーンの構成の例を表すブロック図である。
【図１Ｃ】従来技術に係るファブリックボックスと、様々なＰＣＩｅリンクと、レーンの構成の例を表すブロック図である。
【図１Ｄ】従来技術に係るファブリックボックスと、様々なＰＣＩｅリンクと、レーンの構成の例を表すブロック図である。
【図２Ａ】正しいケーブル配置で図１Ｄ及びファブリックボックスのスイッチに接続される複数のサーバのうちの一における複数のＰＣＩｅレーンのうちの一の図である。
【図２Ｂ】レーンの速さが結果として減少するような誤ったケーブル配置で図１Ｄ及びファブリックボックスのスイッチに接続される複数のサーバのうちの一における複数のＰＣＩｅレーンのうちの一の図である。
【図３】誤接続されたケーブルを示唆する速さの低下を検出するファブリックボックス及びサーバシステムのブロック図である。
【図４】ケーブルが誤接続されているのか否かを判断する目的でリンク速さを決定する方法の流れ図である。
【００２１】
本開示は、様々な修正型及び代替型が可能である。幾つかの代表的な実施形態は、図面に例として示され、本明細書で詳述される。しかし本発明が、開示された特定の形態に限定されないことに留意して欲しい。より正確に言うと、開示は、添付の特許請求の範囲で定義されたような本発明の技術思想及び技術範囲内に属する修正型、均等型、及び代替型を全て網羅する。
【発明を実施するための形態】
【００２２】
本発明は、様々な形態で実施されうる。代表的な実施形態が図面に示され、本明細書で詳述される。本開示は、本開示の原理の例又は説明であり、開示の広い態様を、示された実施形態に限定するものではない。その範囲で、例えば、要約（Abstract）、課題を解決するための手段（Summary）及び発明を実施するための形態（Detailed Description）の節に開示されているが、特許請求の範囲に明示的に記載されていない要素及び制限は、含意、参照又は他の方法によって、単独又は集合的に、特許請求の範囲に組み込まれるべきでない。この詳細な説明のため、具体的に否定されない限り、単数は複数を含み逆の場合も同様であり、用語「含む（including）」は、「限定なしに含む」ことを意味する。更に、「約（about）」、「ほぼ（almost）」、「実質的に（substantially）」、「近似的に（approximately）」などの近似の用語は、本明細書では、「における（at）」、「近い（near）」、「に近い（nearly at」）、「〜の３〜５％以内（within 3-5% of）」、「許容可能な製造公差内」、又はこれらの任意の論理的組み合わせを意味するために使用されうる。
【００２３】
図３は、様々なホストへデバイス資源を割り当てるシステム２００のブロック図を示している。システム２００は、ＰＣＩｅファブリックボックス２１０に結合されるホストサーバ２０２を有する。ＰＣＩｅファブリックボックス２１０は、多数のシリアル拡張バスデバイス−たとえばホストサーバ２０２又はデータセンタ内の他のデバイスによってアクセス可能な高速周辺機器相互接続（ＰＣＩｅ）適合デバイス−を有する。この例では、各ホストサーバ−たとえばホストサーバ２０２−は、各ホストサーバをＰＣＩｅファブリックボックス２１０へ接続する複数のレーンを備えるＰＣＩｅリンクを有する。複数のレーンは、ホストサーバ２０２のポートとファブリックボックス２１０との間で接続されたケーブルによって生成される。リンクの数が増えることで、レーンの数が増え、ポート間でのケーブルの誤接続の可能性も増大する。そのような誤接続は、ホストサーバとＰＣＩｅファブリックボックス２１０との間の（複数の）リンクの動作を低下させる。システム２００はそのような誤接続の検出を可能にする。システム２００は、システム管理者を警告するので、誤接続が訂正され得る。
【００２４】
この例では、ＰＣＩｅファブリックボックス２１０は、ファブリックボックス２１０内のデバイス資源のホストサーバ−たとえばホストサーバ２０２−への接続を管理可能なファブリック制御装置２１２を有する。ホストサーバ２０２しか示されていないが、ＰＣＩｅ適合デバイスにアクセス可能なＰＣＩｅファブリックボックス２１０へ接続されるホストサーバは複数存在してよい。
【００２５】
ファブリックボックス２１０は、メモリ−たとえばＥＥＰＲＯＭ２１４−を有する。あるいはその代わりに、ファブリック制御装置２１２内の内部メモリが用いられてもよい。この例では、ファブリック制御装置２１２は、ＰＣＩｅスイッチ２１６を用いてリンクされたホストサーバ−たとえばホストサーバ２０２−へデバイスを割り当てる制御アプリケーションを実行する。ファブリックボックス２１０は、ＥＥＰＲＯＭ２１４内のデータを読み、かつ、データをＥＥＰＲＯＭ２１４へ書き込んでよい。この例では、ＰＣＩｅ適合デバイス２２０，２２２，２２４，２２６は、各対応するＰＣＩｅスイッチ２１６の下流ポート２３０，２３２，２３４，２３６へ結合される。ＰＣＩｅ適合デバイス２２０，２２２，２２４，２２６は、不揮発性メモリ（ＮＶＭｅ）、画像処理装置（ＧＰＵ）、現場でプログラム可能なゲートアレイ（ＦＰＧＡ）、ネットワークインターフェースカード（ＮＩＣ）、独立ディスクの冗長配列（ＲＡＩＤ）、インターフェースカード、Ｉ−ＩＢＡカード、又は、他の種類のＰＣＩｅ適合デバイスを有してよい。
【００２６】
ＰＣＩｅスイッチ２１６はＰＣＩｅデバイスであるため、各異なる上流ポート２４０，２４２，２４４，２４６の各々は、４つのレーンを備える単一のＰＣＩｅリンクを構成してよい。一連の４つのケーブル２５０，２５２，２５４，２５６の一端は、上流ポート２４０，２４２，２４４，２４６に接続される。以降で説明するように、４つのケーブル２５０，２５２，２５４，２５６は、ファブリックボックス２１０とホストサーバ２０２との間でＰＣＩｅリンクからなる４つのレーンを供する。各レーンは、レーンの帯域を増大させる２つ以上のケーブルを有してよい。キャパシティの大きなケーブルであれば、２つ以上のレーンに１つのケーブルを割り当てることができる。ＰＣＩｅスイッチ２１６は、追加のＰＣＩｅリンクに組み込まれ得る追加のポートを有してよい。ファブリックボックス２１０内の幅が可変なレーンの追加リンクを可能にする、ＰＣＩｅスイッチ２１６と同様な追加ＰＣＩｅスイッチが存在してよい。
【００２７】
ホストサーバ２０２は、ベースボード管理制御装置（ＢＭＣ）２６２及びＢＩＯＳ２６４を有する。ＢＭＣ２６２は、集積回路間（Ｉ２Ｃ）バス２６６を介して、ファブリックボックス２１０のＥＥＰＲＯＭ２１４及びファブリック制御装置２１２へ結合される。Ｉ２Ｃバス２６６は、ファブリックボックス２１０をホストサーバ２０２へ接続する独立したケーブルであってよいし、あるいは、ケーブル２５０，２５２，２５４，２５６のうちの一上の未使用ラインであってもよい。よってＢＭＣ２６２は、ＥＥＰＲＯＭ２１４内に格納されるデータを読み取ってよい。ファブリック制御装置２１２の内部メモリがＥＥＰＲＯＭ２１４の代わりに用いられる場合、ＢＭＣ２６２は、後述する同一の目的で内部メモリ内に格納されるデータを読み取ってよい。ホストサーバ２０２は、ＰＣＩｅルートコンプレックスインターフェース２６８を有する。ＰＣＩｅルートインターフェース２６８は、ケーブル２５０，２５２，２５４，２５６の他端を接続するポート２７０，２７２，２７４，２７６を有する。この例では、ホストサーバ２０２及びスイッチ２１６は、相互に又は他のデバイスへ接続する他のリンクからなる追加レーン用の複数の他のポートを有してよい。ケーブル２５０，２５２，２５４，２５６によって構成されるＰＣＩｅリンクによって、ホストサーバ２０２は、ファブリックボックス２１０のデバイス２２０，２２２，２２４，２２６へアクセスすることが可能となる。たとえばホストサーバ２０２が追加の画像処理を要求する場合、デバイス２２０，２２２，２２４，２２６のうちの一は、ＰＣＩｅスイッチ２１６及びケーブル２５０，２５２，２５４，２５６の一部又は全部を介してホストサーバによってアクセス可能な画像処理装置であってよい。ケーブル２５０，２５２，２５４，２５６は、すべての対応するレーンを利用可能とすることによってＰＣＩｅリンク接続の最大効率を保証するように、ポートの正しい順序で接続されなければならない。
【００２８】
ホストサーバ２０２のＢＭＣ２６２とファブリック制御装置２１２との間の集積回路間（Ｉ２Ｃ）バス２６６によって、ＢＭＣ２６２と制御装置のいずれもＥＥＰＲＯＭ２１４を共有することが可能となる。よってＰＣＩｅファブリックボックス２１０上のＥＥＰＲＯＭ２１４のデータは、ホストサーバ２０２のＢＭＣ２６２とＰＣＩｅファブリックボックス２１０のファブリック制御装置２１２によってアクセスされてよい。ファブリック制御装置２１２は、ハードウエアに依存する所定の情報２８０をＥＥＰＲＯＭ２１４にプログラムする。この例では、所定の情報２８０は、ホストサーバ２０２とファブリックボックス２１０との間での接続の予想リンク速さ、及び、リンク群幅を含む。この例での予想リンク速さは、プロトコル基準−たとえばＰＣＩｅ  Ｇｅｎ１，Ｇｅｎ２，Ｇｅｎ３，Ｇｅｎ４−からであってよいし、あるいは、ＰＣＩｅ基準の新たなバージョンの速さであってもよい。あるいはその代わりに他のプロトコルが用いられてもよい。この例でのリンク群幅は、リンクのレーン数−たとえば４，８，１６、又はそれ以上であってよい−である。リンク幅は、システム内のハードウエアの初期設定によって決定される。この例では、各レーンは、ホストサーバ２０２のポートとファブリックボックス２１０との間にケーブルを接続することによって構成される。
【００２９】
Ｉ２Ｃバス２５５の接続では、ＢＭＣ２６２は、ＥＥＰＲＯＭ２１４を検出し、かつ、ホストサーバ２０２へのＰＣＩｅファブリックボックス接続の存在を判断する。ＢＭＣ２６２は、ＥＥＰＲＯＭ２１４からリンク速さとリンク群幅を読み取り、この情報を格納する。ＢＭＣ２６２内に格納された情報は、ＢＩＯＳ２６４に対して利用可能である。ホストサーバ２０２の電源がオンになるとき、ＢＩＯＳ２６４は、ＢＭＣ２６２からリンク速さとリンク群幅を取得する。ＢＩＯＳ２６４は、リンク速さとリンク群幅に基づいてＰＣＩｅバス調整を実行する。一旦バス調整が完了すると、ＢＩＯＳ２６４は、ルートコンプレックスインターフェース２６８から現在のＰＣＩｅリンク速さとリンク幅を取得する。
【００３０】
ＢＩＯＳ２６４によって得られたリンク速さ及びリンク群幅の調整結果は、ＢＭＣ２６２によって与えられるリンク速さ及びリンク群幅と比較される。値が一致しない場合、ＢＩＯＳ２６４は、現在のリンク速さ及びリンク群幅を取得するために複数回再調整する。ＢＩＯＳ２６４が再調整を実行する回数は、システム設定によって事前に決められている。最後の再調整後、ＢＩＯＳ２６４は、最終的なＰＣＩｅの現在の「リンク速さ」及び「リンク幅」の設定結果を取得する。得られた現在の速さ及び幅が、ＢＭＣ２６２によって与えられた予想速さ及び幅と一致しない場合、不一致はケーブルがポートに対して誤って接続されたことを示すので、ＢＩＯＳ２６４はエラーログを生成する。ＢＩＯＳ２６４は、最終的なＰＣＩｅの現在の「リンク速さ」及び「リンク幅」の調整結果をＢＭＣ２６２に対して更新する。ＢＭＣ２６２は、ＥＥＰＲＯＭ２１４から格納されたデータを読み取ることによる予想値、及び、アプリケーションプログラミングインターフェース（ＡＰＩ）によるＢＩＯＳ２６４の現在の調整結果を報告する。ホストサーバ２０２は、ケーブルの誤接続を示唆するオペレータへの警告を生成する。オペレータは、リンク速さの減少に関する情報を取得するので、ご接続されたケーブルを正しい順序で再接続することができる。
【００３１】
以下は、ＡＰＩからの正常なケースの結果を示すコードセグメントある。以下のコードセグメントは正常である。その理由は、現在の速さと幅が予想速さと幅に一致しているので、リンクのレーンを構成するケーブルが、ホストサーバ２０２の各対応するポート及びファブリックボックス２１０のスイッチ２１６と適切に接続されていることを示唆するからである。この例では、ホストサーバ２０２とファブリックボックス２１０との間のリンクの予想速さは３で、予想幅は１６である。
【００３２】
正常なケースの典型的なＡＰＩ
【数１】
2019175424.tif 000003
【００３３】
ＡＰＩからエラーのケースの結果を示すコードセグメントの例が以下に示されている。この例では、現在の幅は８だが、予想幅は１６であるため、ケーブルの誤接続が示唆される。このエラーのケースは、切断又はご接続される図３のケーブルによって生じたと考えられる。たとえば図３のケーブル２５２がポート２７２をポート２５４へ接続し、ケーブル２５４がポート２７４をポート２３２へ接続していることが考えられる。
【００３４】
エラーのケース１：幅の不一致
【数２】
2019175424.tif 000004
【００３５】
ＡＰＩから生じたエラーのケースを示すコードセグメントの他の例が以下に示されている。この例では、現在の速さは２で現在の幅は８だが、予想速さは３で予想幅は１６であるため、欠陥のあるケーブルであることが示唆される。
【００３６】
エラーケース２：速さ不一致
【数３】
2019175424.tif 000005
【００３７】
上述のコードセグメントは、一の典型的なＡＰＩの出力例である。しかしコードセグメント中のこの情報は、他の種類のプロトコル又はフォーマットによって供されてもよい。予想値と現在の設定値とが一致しない場合、ＢＭＣ２６２は、エラーを報告し、イベントログ内にエントリーを生成してよい。この例では、オペレータは、ＢＭＣ２６２によって実行されるＡＰＩによってエラーをチェックしてよい。ＡＰＩは、データ−たとえばリンクの予想速さ及び幅−、並びに、リンクの現在の速さ及び幅を提供することで、エラーの診断においてオペレータを支援してよい。
【００３８】
図４の流れ図は、図３のファブリック制御装置２１２、ＢＭＣ２６２、及びＢＩＯＳ２６４による適切なケーブル接続をチェックする典型的な機械可読命令を表す。この例では、機械可読命令は、（ａ）プロセッサ、(ｂ)制御装置、及び／又は（ｃ）１つ以上の他の適切な処理装置によって実行されるアルゴリズムを含んでよい。アルゴリズムは、有形媒体−たとえばフラッシュメモリ、ＣＤ−ＲＯＭ、フロッピーディスク、ハードドライブ、ディジタルビデオ（多目的）ディスク（ＤＶＤ）又は他のメモリドライブ、−上に記憶されるソフトウエアで実施されてよい。しかしあるいはその代わりに当業者は、アルゴリズムの全部及び／又は一部が、プロセッサ以外のデバイスによって実行され、かつ／あるいは、周知の方法でファームウエア又は専用ハードウエアによって実施されてもよいことをすぐに理解する（たとえばアルゴリズムの全部及び／又は一部は、用途特定集積回路（ＡＳＩＣ）、プログラム可能なロジックデバイス（ＰＬＤ）、現場でプログラム可能なロジックデバイス（ＦＰＬＤ）、現場でプログラム可能なゲートアレイ（ＦＰＧＡ）、離散的ロジック等によって実施されてよい）。たとえばインターフェースのうちの任意の又はすべての構成要素は、ソフトウエア、ハードウエア、及び／又はファームウエアによって実施されてよい。またフローチャートによって表される機械可読命令の一部又は全部は手動で実施されてよい。さらに典型的なアルゴリズムは図４で表されたフローチャートに関連して表されているが、当業者は、典型的な機械可読命令を実施する他の多くの方法が代わりに用いられ得ることをすぐに理解する。たとえばブロックの実行順序は変化してよいし、かつ／あるいは、記載されたブロックは変更、削除、又は結合されてよい。
【００３９】
ＰＣＩｅスイッチ２１６からのリンクのリンク速さ及びリンク群幅は、ファブリック制御装置２１２によってＥＥＰＲＯＭ２１４内に格納される（４００）。Ｉ２Ｃバス２６６を介して、ＢＭＣ２６２は、格納されたリンク速さ及びリンク群幅の情報を検出し、ホストサーバ２０２とＰＣＩｅスイッチ２１６との間にＰＣＩｅリンクが存在することを判断する（４０２）。ＢＭＣ２６２は、格納されたリンク速さ及びリンク群幅の情報を読み取り、その情報を格納する（４０４）。サーバ２０２の電源を投入すると、ＢＩＯＳ２６４は、ＢＭＣ２６２からリンク速さとリンク群幅の情報を取得する（４０６）。続いてＢＩＯＳ２６４は、ＰＣＩｅバス用の調整ルーチンを開始して、ＰＣＩｅルートコンプレックス２６８から現在のリンク速さ及びリンク群幅を取得する（４０８）。一旦調整が完了すると、ＢＩＯＳ２６４は、現在のリンク速さ及びリンク群幅を取得する（４１０）。
【００４０】
調整結果は、現在のリンク速さ及びリンク群幅と比較される（４１２）。調整結果が現在のリンク速さ及びリンク群幅と一致する場合、ＢＩＯＳ２６４はチェックルーチンを終了する（４１４）。調整結果が一致しない場合、ＢＩＯＳ２６４は再調整して、ＰＣＩｅルートコンプレックス２６８から現在のリンク速さ及びリンク群幅を取得する（４１６）。再調整後、ＢＩＯＳ２６４は、再調整結果が現在のリンク速さ及びリンク群幅と一致するのか否かを判断する（４１８）。再調整結果が現在のリンク速さ及びリンク群幅と一致する場合、ＢＩＯＳ２６４はチェックルーチンを終了する（４１４）。再調整結果が一致しない場合、ＢＩＯＳ２６４はエラーログエントリーを生成する（４２０）。ＢＭＣ２６２は、ＥＥＰＲＯＭ２１４からの予想値及びＢＩＯＳ２６４からの現在値を報告する（４２２）。
【００４１】
本願で用いられているように、「構成要素」、「モジュール」、「システム」等の用語は概して、コンピュータ関連のもの−ハードウエア（たとえば回路）、ハードウエアとソフトウエアの結合、ソフトウエア、又は、１つ以上の特定の機能を備える動作機械に関するもののいずれか−を指称する。たとえば構成要素は、プロセッサ（たとえばディジタル信号プロセッサ）上で動作するプロセス、プロセッサ、オブジェクト、実行可能ファイル、プログラム、及び／又はコンピュータであってよいが、これらに限定されない。例として、制御装置上で動作するアプリケーションと制御装置のいずれも構成要素であってよい。１つ以上の構成要素はプロセス及び／又は実行スレッドの内部に存在してよい。構成要素は、一のコンピュータ上に局在、かつ／あるいは、２つ以上のコンピュータ間で分配されてよい。さらに「デバイス」は、特定の設計がなされたハードウエア、ソフトウエアが実行されることで特定の機能を実行可能となるように特化される汎用ハードウエア、及び／又は、コンピュータ可読媒体上に記憶されるソフトウエアであってよい。
【００４２】
本明細書で使用される用語は、特定の実施形態について述べるためだけのものであり、本発明を限定するものではない。本明細書で使用されるとき、単数形「ａ」、「ａｎ」及び「ｔｈｅ」は、文脈で特に断らない限り、複数形も含む。更に、用語「含む（including）」、「含む（includes）」、「有する（having）」、「有する（has）」、「備える（with）」、又はこれらの変形は、詳細な説明及び／又は特許請求の範囲で使用される範囲で、そのような用語は、「含む（comprising）」と同じように包括的である。
【００４３】
特に定義されない限り、本明細書で使用される全ての用語（技術及び科学用語を含む）は、当業者によって一般に理解される意味と同じ意味を有する。更に、一般に使用されている辞書で定義されたような用語は、関連技術の文脈での意味と一致する意味を有すると解釈されるべきであり、本明細書で明示的に定義されない限り、理想的又は過度に形式的な意味で解釈されない。
【００４４】
以上、本発明の様々な実施形態について述べたが、それらの実施形態が、単なる例であり限定ではないことを理解されたい。開示された実施形態に対する多数の変更が、本発明の趣旨又は範囲から逸脱せずに、本明細書の開示に従って行われうる。したがって、本発明の広さ及び範囲は、前述の実施形態のいずれによっても限定されるべきでない。より正確に言うと、本発明の範囲は、以下の特許請求の範囲とその等価物によって定義されるべきである。
【００４５】
本発明を１つ以上の実施態様に関して図示し述べてきたが、本明細書及び添付図面の読み取りと理解に基づいて、等価な変更及び修正が行われる又は当業者に知られる。更に、本発明の特定の特徴が、幾つかの実施態様の１つのみに関して開示されたが、そのような特徴が、任意の所定又は特定用途に望ましく有利になるように、他の実施態様の１つ以上の他の特徴と組み合わせられうる。
【図１Ａ】
2019175424.tif 000006
【図１Ｂ】
2019175424.tif 000007
【図１Ｃ】
2019175424.tif 000008
【図１Ｄ】
2019175424.tif 000009
【図２Ａ】
2019175424.tif 000010
【図２Ｂ】
2019175424.tif 000011
【図３】
2019175424.tif 000012
【図４】
2019175424.tif 000013
【外国語明細書】
2019175424000001.pdf