(57)【要約】ノードトポロジをマッピングするために用いられる複数のセルフＩＤパケットを生成するための方法とシステムが開示される。ノードトポロジは、高性能シリアルバス（１１）及び該シリアルバスに結合された複数のノードのＮＯＤ１、ＮＯＤ２、．．．、ＮＯＤｎにより構成されるコンピュータシステムに基づく。各ノードは、ネットワーク上で各ノード自身を自己識別するために利用される識別パケットを更に含む。特に、セルフＩＤプロセスの間、バス（１１）に実際に存在するハードウェアと関連した複数のセルフＩＤパケットと同様に、実際には存在しない複数の仮想ノードＶＮＯＤ１、．．．、ＶＮＯＤｎが生成される。次に、これらのセルフＩＤパケットは自身を識別させるために、シリアルバスを通じてネットワークの他の残りのノードに転送される。その後、これら全セルフＩＤパケットからトポロジマッピングテーブルが生成される。
2004519896.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークのノードトポロジをマッピングするために用いられるパケット化された識別情報を生成するための方法において、
前記ネットワーク上で各ノード自身を自己識別するために各ノードによって利用されるセルフＩＤパケットを含むデータパケットを移送するシリアルバス上でバストランザクションを開始するステップと、
セルフＩＤプロセスの間、前記シリアルバス上の複数のノードに関連した複数の第１のセルフＩＤパケットと複数の仮想ノードに関連した複数の第２のセルフＩＤパケットとを生成するステップと、
自身を前記ネットワークの他の残りのノードと識別するために前記シリアルバス上で前記第１のセルフＩＤパケット及び前記第２のセルフＩＤパケットを送信するステップと、
を有する方法。
【請求項２】
請求項１に記載の方法において、
前記セルフＩＤプロセスの間、前記シリアルバスから受信される前記セルフＩＤパケットをモニタするステップと、
前記複数のノード及び前記仮想ノードの各ノードに関連した全ての前記セルフＩＤパケットからトポロジマッピングテーブルを生成するステップと、
を更に有する方法。
【請求項３】
請求項１に記載の方法において、
前記シリアルバスから受信される前記セルフＩＤパケットのカウントを保持するステップと、
ノードのカウントが前記各ノードに保持されることができるように、セルフＩＤパケットが受信された元の前記バス上の前記ノードの数を決定するステップと、
を更に有する方法。
【請求項４】
請求項１に記載の方法において、前記複数のノードに対応する前記第１のセルフＩＤパケットは、１３９４ＩＥＥＥ高性能シリアルバスに記載の規格に従って生成される方法。
【請求項５】
バスに結合されたプロセッサによって実行されると前記プロセッサに請求項１に記載の方法を実行させるコンピュータ可読の命令を有するコンピュータ可読媒体。
【請求項６】
ネットワークの各ノードによって前記ネットワーク上での自己識別のために利用されるセルフＩＤ情報を、データパケットを移送するシリアルバス上で生成する装置において、
前記シリアルバスとインターフェースするためのバスインターフェースと、
前記シリアルバスに実際に存在する複数のノードに関連した複数の第１のセルフＩＤパケットを生成するための第１の手段と、
前記ネットワーク上の複数の仮想ノードに関連した複数の第２のセルフＩＤパケットを生成するための第２の手段と、
を有し、
全ての前記セルフＩＤパケットは、前記シリアルバス上の他のノードによって前記シリアルバスに配置されることによりこれら他のノードを前記シリアルバス上の全ての残りのノードと識別するデータを有する、装置。
【請求項７】
請求項６の装置において、
前記シリアルバスから受信される前記セルフＩＤパケットのカウントを保持して、ノードのカウントが前記各ノードで保持されることができるように、セルフＩＤパケットが受信された元の前記シリアルバス上の前記ノードの前記数を決定するための手段
を更に有する装置。
【請求項８】
請求項６の装置において、
セルフＩＤプロセスの間前記シリアルバスから受信される前記セルフＩＤパケットをモニタするための手段と、
前記複数のノード及び前記仮想ノードの各ノードに関連した全ての前記セルフＩＤパケットから前記ネットワークのノードのトポロジを確立する手段と、
を更に有する装置。
【請求項９】
請求項６の装置において、
前記複数のノードに対応する前記第１のセルフＩＤパケットは、１３９４ＩＥＥＥ高性能シリアルバスに記載の規格に従って生成される装置。
【請求項１０】
請求項６の装置において、前記第２の手段は、
当該第２の生成手段が前記第１の生成手段に対して所定のレベルで電力供給するようにするディスクリートドライバ及びレシーバ回路と、
セルフＩＤプロセスの間に前記第２のセルフＩＤパケットを提供するようにプログラムされて前記回路に結合されたプロセッサと、を有する、
装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、高性能シリアルバスに関し、より詳細には、ネットワークのノードトポロジをマッピングするために高性能シリアルバス上で複数のセルフＩＤパケットを生成する方法に関する。
【０００２】
【従来の技術】
一般に、現代のほとんどのデジタル電子システムは、システム中の異なる構成要素間で情報を共有するために、通常、共通の相互接続を利用する。この種の相互接続システムで用いられることができる１つの種類の周知のシステムプロトコルは、ＩＥＥＥ高性能シリアルバス１３９４規格に記載されている。１３９４規格は、基本的には図１に示すように、物理層、リンク層及びトランザクション層を含む３層システムを規定する。物理層１０の機能は１３９４バス１１において必要とされる信号を特定することであり、リンク層１２は物理層からのデータを認識可能なデータパケットにフォーマットするための手段を提供し、トランザクション層１４はリンク層から受信されるデータをアプリケーション１５に転送し、シリアルバス管理ブロック１６は基本制御機能を提供してバスリソースを管理する。
【０００３】
図２を参照すると、これらの異なった層の機能は、各々が１つ以上のＩ／Ｏ回路を有する専用の集積回路２０において実現される。１３９４バス２２に接続される物理層は、物理層チップ２４又は「ＰＨＹチップ」において実現されることができる。リンク層は、リンクチップ２６において実現されることができる。ＩＥＥＥ１３９４規格に記載されるように、ＰＨＹチップはＩ／Ｏ信号を送受信する役目を果たし、システム初期化、バスアービトレーション及びバス上でデータを送信するための関連したハンドシェークを実行する。従って、１３９４規格は、ポイントツーポイントリンクの電気バックプレーン又はケーブルを介した１３９４デバイス（又はノード）の相互接続のために、種々のシグナリング及びデータ伝送プロトコルを含む電気及び物理インタフェースを規定する。１３９４規格は、最高６３台のノードを単一の１３９４バスに接続されるべきとして割り当て、更に、複数のバスが１３９４ブリッジノードを介して相互接続されることができる。バス上のノード間でデータパケットが伝送されることができる３つの可能な速度がある。それらは、１００、２００及び４００メガビット／秒である。データパケットが送信されることができる速度は、バストポロジ及びバス上の種々のノードによってサポートされるデータ信号速度に依存する。ここで、最適なパケット伝送速度を決定するために、バスネットワークのトポロジマップが必要である。
【０００４】
加えて、ノードが１３９４バスに追加される又は１３９４バスから取り除かれるときには、シリアルバスの再構成が常に必要である。新しく接続された又は切断されたノードがシリアルバスの全てのノードに通知されることを保証するのに、再構成（又はバスリセット）が必要である。このために、各ノードは固有のバスアドレスを有する。コンフィギュレーションプロセスの３つの工程は、バス初期化段階、ツリー識別（ツリーＩＤ）段階及び自己識別（セルフＩＤ）段階を含む。バス初期化段階の間、バスリセット信号は、全てのノードにネットワークの全てのトポロジ情報を消去させる。このとき、ノードが知っている唯一の情報は、自身が枝（直接接続された隣が１つよりも多い）であるか、葉（隣が１つしかない）であるか、又は、孤立しているか（接続していない）である。その後に、ツリーＩＤプロセスは、ネットワークトポロジをツリーに変換し、ここで、１つのノードが根と指定され、残りの接続は「親」（根ノードにより近いノード）及び「子」（根ノードからより遠くにあるノード）として分類される。最後に、システムトポロジマップが構築されることができるように、バスに付属するあらゆる管理エンティティによる識別のため、各ノードは固有のセルフＩＤが割り当てられる。セルフＩＤプロセスは、根ノードが該根ノードの最低番号の接続されたポートに付属するノードに媒体の制御権を渡し、該ノードが、該ノード及び全ての該ノードの子が自身のセルフＩＤパケットを送信したという信号を送るのを待つ、という決定論的な選択プロセスを用いる。次に根は、該根の次に高いポートに制御権を渡し、そのノードが終わるのを待つ。全ての根のポートに付属するノードが終わったら、根自身が自身のセルフＩＤパケットを送信する。子ノードは、同じプロセスを再帰的態様で用いる。
【０００５】
セルフＩＤ段階の間、各ノードに固有の物理ＩＤが割り当てられ、バス上の各ノードは、１３９４ケーブル上へ１〜４の短いパケットを送信する機会を与えられ、このパケットは、物理ＩＤ、ポート接続状況及び何らかの追加の管理情報を含む。ここで、物理ＩＤは、ノードがセルフＩＤ情報を送信する機会を持つ前にセルフＩＤ情報を受信する状態を経験する回数の単なるカウントである。従って、バストポロジを決定するのに必要な全ての情報がセルフＩＤパケットに含まれるため、電力管理が実行されることができ、バストポロジ的な情報が得られることができる。
【０００６】
ＩＥＥＥ１３９４規格に記載されるＰＨＹチップによって実現される従来の物理層は、１３９４の高性能の構成管理をサポートするに当たって多少の欠点を有する。１３９３ＰＨＹチップは、対応した単一のノードと関連する一組のセルフＩＤパケット（そのポートの数によって１つ又は４つのパケット）を同報送信することによってセルフＩＤプロセスに関与する。しかし、１３９４ＰＨＹチップは、１つのノードしか表すことができない。従って、その情報にいくらかの修正を有するセルフＩＤパケットを送信する必要が発生する場合、セルフＩＤパケットのビット情報は変更不能であるので、追加の１３９４ＰＨＹチップが必要である。従って、ＰＨＹ回路用のＩ／Ｏ回路を提供するための効率的な方法及び装置であって、前記Ｉ／Ｏ回路は、単一の１３９４ＰＨＹチップを利用して複数のノードに対応する複数のセルフＩＤを生成することができるような方法及び装置が所望される。
【０００７】
【発明が解決しようとする課題】
従って、本発明の１つの目的は、標準のＰＨＹチップを用いて１３９４バス上に複数のセルフＩＤパケットを生成することによって高性能シリアルバスのための構成管理を提供することである。
【０００８】
本発明の他の目的は、バスに接続された実際のノードと同様に実際にはネットワークに存在しない仮想ノードを含むバスネットワークのトポロジマップを効率的に構築して表すことである。
【０００９】
【課題を解決するための手段】
これらの目的は、本発明によって、
前記ネットワーク上で各ノード自身を自己識別するために各ノードによって利用されるセルフＩＤパケットを含むデータパケットを移送するシリアルバス上でバストランザクションを開始するステップと、
セルフＩＤプロセスの間、前記シリアルバス上の複数のノード（ＮＯＤ１、ＮＯＤ２、．．．、ＮＯＤｎ）に関連した複数の第１のセルフＩＤパケットと複数の仮想ノード（ＶＮＯＤ１、ＶＮＯＤ２、．．．、ＶＮＯＤｎ）に関連した複数の第２のセルフＩＤパケットとを生成するステップと、
自身を前記ネットワークの他の残りのノードと識別するために前記シリアルバス上で前記第１のセルフＩＤパケット及び前記第２のセルフＩＤパケットを送信するステップと、
を有する方法により達成される。
【００１０】
【発明の実施の形態】
本発明の上記の及び他の目的、機能及び利点は、添付の図面を参照しながら、以下の詳細な説明によってより明らかにされる。
【００１１】
以下の説明においては、制限ではなく説明のために、特定のアーキテクチャ、インタフェース、技術等の明確な詳細が、本発明の完全な理解を与えるために与えられる。しかし、本発明が、これらの具体的な詳細から逸脱する他の実施例において実践されることができることは、当業者に明白である。更に、明快さのために、周知のデバイス、回路及び符号化技術の詳細な説明は、不必要に本発明を不明瞭にしないようにするために詳述しなかった。
【００１２】
図をここで参照し、特に図３を参照すると、本発明が使用されることができるディスクリート回路３０が表される。示されているように、本発明は、論理回路３２及びディスクリートドライバ／レシーバ３４から成るディスクリート回路３０と、ＬＩＮＫチップ３６と、ＰＨＹチップ３８と、ＰＨＹチップ３８に結合された複数の１３９４コネクタ３９とを含む。本発明の実施例において、回路３０は異なるアプリケーションを動作させるように適応したプログラマブルロジックアレイを利用して実現されることができる。プログラマブルロジックアレイは、特定の機能のために動作的に構成するのに本技術分野では周知のものである。ここで、ディスクリート回路３０は、１３９４バスリセット及びセルフＩＤプロトコルを認識するようにプログラムされる。ディスクリートドライバ及びレシーバ３４は、論理回路３２の出力信号を、ＰＨＹチップ３８が動作可能であるように設計された必要電圧にマッチするように調整するために、回路３０に提供される。ＰＨＹチップ３８は、ＩＥＥＥ１３９４規格バス及び通信をサポートするように構成される。基本的には、ＰＨＹチップは、差動モードでバス上でＩ／Ｏ信号を専門に駆動するＩ／Ｏ回路を含む。通常デジタル論理回路であるＬＩＮＫチップ３６は、本質的にはリンク層のハードウェア実現であって、パケット化されたデータ転送を提供する。
【００１３】
図３に示すように、ディスクリート回路３０は、標準の１３９４ＰＨＹチップのポートの１つに直接接続されている。しかし、ディスクリート回路が標準の１３９４ケーブル又はコネクタを通じて接続されていてもよいことに注意すべきである。図４を参照すると、本発明によるバスアーキテクチャは、（バス＃２上の）複数のノードＮＯＤ１、ＮＯＤ２、ＮＯＤｎと、（バス＃３及びバス＃４上の）複数の仮想ノードＶＮＯＤ１、ＶＮＯＤ２、ＶＮＯＤｎとを有し、これらはバスブリッジＢＢを介してシリアルバス＃１に相互接続されている。本発明の実施例において、仮想バスブリッジＶＢＢ１、ＶＢＢ２を含むノードに対応する複数のセルフＩＤパケットが、バスネットワークのノードトポロジをマッピングするために生成される。従って、本発明は追加のＰＨＹチップを必要とすることなく、複数のノードを表すノード（又はデバイス）をシミュレーションすることができる。図４がバストポロジの説明的な例であり、この例が可能なケーブル構成の１つにすぎないことに注意すべきである。従って、このトポロジが異なる場合、セルフＩＤパケットの情報も異なることになる。
【００１４】
図４に示すように、バス＃２に接続されたノードは、ネットワーク中の実際に相互接続された１３９４デバイスを表し、仮想バスブリッジＶＢＢ１、ＶＢＢ２に接続した仮想ノードＶＮＯＤ１、ＶＮＯＤ２、．．．、ＶＮＯＤｎは、実際には多重バスシステムに存在しないシミュレーションしたデバイスを表す。従って、システムトポロジマップを効率的に構築するために、これらの仮想ノードを組み込んだ種々のシミュレーション試験が実行されることができる。それゆえに、仮想ノードを含むノードのネットワークトポロジは、より高次の層によって期待される物理ポイントツーポイントトポロジに変換される。
【００１５】
複数の１３９４ＰＨＹチップがセルフＩＤプロセスの完了に関与することを必要とする従来技術システムと異なって、本発明は、単一の１３９４ＰＨＹチップしか用いないで、複数のノードに対応する複数のセルフＩＤパケットを生成することができる。このために、バス初期化プロセスの間、ディスクリート回路３０は、図４に示される仮想ノードを含む種々のノードに対応する複数のセルフＩＤパケットを生成する。従って、ディスクリート回路３０は、１３９４バスリセットを認識してセルフＩＤプロセスを実行するようにプログラムされる。一方、ディスクリート回路３０に結合された１３９４ＰＨＹチップは、これらの仮想ノードに出入りするデータ転送をＬＩＮＫチップ３６に渡す。仮想ノードに応答するセルフＩＤパケットは、標準の１３９４ＰＨＹチップからは得られない非標準ビット（後に説明される）を含んでいてよい。従って、本発明によるディスクリート回路３０を備えた標準１３９４ＰＨＹチップは、各組が複数のノードを表す複数の組のセルフＩＤパケットを同報送信することによってセルフＩＤプロセスに関与する。
【００１６】
図５を参照すると、本発明によるセルフＩＤパケットの物理層の概略図が示される。典型的に、物理層は、アービトレーションのセルフＩＤ段階の間、１〜４のセルフＩＤパケットをベースレートで送信する。ここで、送信されるセルフＩＤパケットの数は、前記物理層が有するポートの最大数に依存する。バス初期化段階の最中のバスリセットに続いて、ネットワークトポロジの変化を反映し、その後１つのポータルを速く選択してこのリセットされたバスの更新を調整するために、ブリッジポータルが挿入されたか又は除去されたかが判定される。このように、本発明によって生成されるセルフＩＤパケットは、各データ経路の速度性能を決定するために、バスリセットの後、高速且つ有効なアクセス情報を提供する。これらのセルフＩＤパケットは、ブリッジポータルと他のシリアルバスノードとを区別する情報を含むように僅かに修正される。
【００１７】
図５に示すように、本発明による最初のセルフＩＤパケットゼロ（「＃０」）のフォーマットは、ＩＥＥＥ規格 １３９４ａ−１９９５によって特定される標準セルフＩＤパケットからの１つの特定の項目を置換し、残りのセルフＩＤパケット（図示せず）は「＃１」、「＃２」、「＃３」と称される。図６がＩＥＥＥ規格１３９４ａ−１９９５に記載されるセルフＩＤパケットを示す一方、図７は提案されたＰ１３９４．１規格に従うセルフＩＤパケットフォーマットを示す。即ち、図５によって示されるセルフＩＤパケットゼロが、ＩＥＥＥ規格１３９４ａ−１９９５の「ｄｅｌ」項目を置換する。ＩＥＥＥ規格１３９４ａ−２０００によって前は確保されていた２ビットは、ブリッジ権限項目（「ｂｒｄｇ」）になるようにＰ１３９４．１規格によって再定義される。下の表１は、このフィールドの値を列挙する。
【００１８】
【表１】
2004519896.tif 000003
【００１９】
セルフＩＤパケットのＬビットがゼロである場合、「ｂｒｄｇ」フィールドの値は無視される。ブリッジポータルは、自身の状態に関してネットトポロジの変化（又はそれの欠如）を決定する。以前の段落にて説明したように、セルフＩＤプロセスは、根ノードが、該根ノードの子ノードが自身のセルフＩＤパケットを送信するのを待ち、該根ノードのセルフＩＤパケットを次に高いポートに渡すという決定論的な選択アプローチを用いる。バストランザクションのための宛て先アドレスは、宛て先ノードの１０ビットのバスＩＤ及び６ビットの物理ＩＤを含まなければならない。バスＩＤが多重相互接続バスのシステム内の特定のバスを固有に特定する一方、物理ＩＤは単に、所与のノードが、バスリセットに続く自己識別プロセスの最中にセルフＩＤ情報を送信する機会を持つ前にセルフＩＤ情報を受信する状態を経験する回数のカウントである。従って、セルフＩＤプロセスの間、セルフＩＤパケットを送信する第１のノードは、自身の物理ＩＤとして０を選ぶ。第２のノードは１を選択し、同様に続く。従って、バスＩＤ及び物理ＩＤは、バスリセットの発生ごとに変化する。
【００２０】
図８を参照すると、リソースマネージャプロセッサの動作を示すフローチャートが示される。フローチャートの実行は、図３に示されるＡＳＩＣ（アプリケーション特定集積回路）によって容易になる。このプロセスフローが、種々のハードウェア構成の生成、種々の論理ゲートの実行その他を伴うＡＳＩＣの初期設計において実現されることができるということは、当該技術分野において公知であることに注意されたい。このプロセスはステップ１００で開始され、セルフＩＤプロセスが開始される。システム始動の際に、バスのノードがスキャンされ、仮想ノードが生成される。ここで、スキャンプロセスは、当該技術分野において公知である。ステップ１２０において、セルフＩＤパケットは比較的高い速度で生成される。好適には、図６に示される標準の１３９４セルフＩＤパケットは１つの仮想セルフＩＤパケットしか生成されないときに用いられることができる一方、図７に示される非標準セルフＩＤパケットは、複数の仮想セルフＩＤパケットが生成される場合に用いられることができる。ここでプログラムは、セルフＩＤ期間が完了したかどうかを決定するステップ１４０へと流れる。ステップ１６０において、生成されたセルフＩＤパケットはバス上でリンク層に送信される。ここで、バストランザクションは、データパケット伝送を伴い、ここでデータパケットは、多くのポイントツーポイントトランザクションを用いてシリアルバスの全体に亘って伝播される。他のノードから第１のポイントツーポイントリンクを介してパケットを受信するノードは、受信されたパケットを他のポイントツーポイントリンクを介して再送信する。この段階で、ネットワークデバイスのトポロジマップは、ステップ１８０において更新される。最後に、プログラムはステップ２００へ移りプロセスを終了させる。
【００２１】
要約すると、バス初期化プロセスの間バスを通じて受信されるセルフＩＤパケットを処理するための、ＩＥＥＥ１３９４規格の下で動作するシリアルバスシステムが提供された。
【００２２】
本発明はとりわけ図３のシステムブロック図に関連して説明されたが、本発明による装置及び方法はプランナボードの他のハードウェア構成によって用いられることができるということが理解されるであろう。それゆえに本発明は、電子デバイスのネットワークのように、結合されたノードのあらゆる任意に組み合わせられた集合に適用されることができる。
【図面の簡単な説明】
【図１】ＩＥＥＥ１３９４規格に記載の３層システムを示すブロック図である。
【図２】ＩＥＥＥ１３９４規格に記載の従来技術のインターフェースを示すブロック図である。
【図３】本発明の実施例による物理及びリンク層を示す簡略ブロック図である。
【図４】本発明の下で適用可能なバストポロジの概略図を示す。
【図５】本発明によるセルフＩＤパケットの概略図を示す。
【図６】ＩＥＥＥ−１３９４規格に記載のセルフＩＤパケットの標準形式を示す。
【図７】本発明による非標準形式のセルフＩＤパケットを示す。
【図８】図３のブロック図の動作を表すフローチャートを示す。
【図５】
2004519896.tif 000004
【図６】
2004519896.tif 000005
【図７】
2004519896.tif 000006
【国際公開パンフレット】
2004519896.tif 000007
2004519896.tif 000008
2004519896.tif 000009
2004519896.tif 000010
2004519896.tif 000011
2004519896.tif 000012
2004519896.tif 000013
2004519896.tif 000014
2004519896.tif 000015
2004519896.tif 000016
2004519896.tif 000017
2004519896.tif 000018
2004519896.tif 000019
2004519896.tif 000020
2004519896.tif 000021
2004519896.tif 000022
2004519896.tif 000023
2004519896.tif 000024
【国際調査報告】
2004519896.tif 000025
2004519896.tif 000026