(57)【要約】【課題】コンピュータにおける統合システムファブリックを提供する。【解決手段】コンピュータシステムを形成するインターフェイスが異なると、別々に開発やサポート及びアップデートを行わなければならず、システムの開発に必要な時間及び労力の全体量が増大する可能性がある。本発明にかかるシステムは、インターフェイスプロトコルを実装するインターフェイスであって、各コンポ−ネント間に配置されて別々の信号経路を含むインターフェイスを具備する。【選択図】図１
2006146929.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにおける統合システムファブリックを提供するシステムであって、
前記コンピュータシステムの第１のコンポーネント（１１０）と、前記コンピュータシステムの第２のコンポーネント（１３０）と、の間に配置される第１のインターフェイス（１１１ａ）であって、
インタフェースプロトコルを実装する前記第１のインタフェース（１１１ａ）と、
前記コンピュータシステムの前記第１のコンポーネントと、前記コンピュータシステムの第３のコンポーネント（１２０）と、の間に配置される第２のインターフェイス（１１１ｂ）であって、
前記インタフェースプロトコルを実装する第２のインタフェース（１１１ｂ）であって、
前記第１のインタフェース及び前記第２のインタフェースは、
前記第１のコンポーネントにおいて別々の信号経路を含む、
第２のインタフェースと、
を具備する
コンピュータにおける統合システムファブリックを提供するシステム。
【請求項２】
前記第１のインタフェースは、第１の物理インタフェース構成を実装し、
前記第２のインタフェースは、第２の物理インタフェース構成を実装し、
前記第１の物理インタフェース構成及び前記第２の物理インタフェース構成は、最大転送周波数のみが異なる
請求項１に記載のコンピュータにおける統合システムファブリックを提供するシステム。
【請求項３】
前記インタフェースプロトコルは、１組のフィールドを含み、
前記フィールドの或るサブセットは、前記第１のコンポーネントと前記第２のコンポーネントとの間の通信に対して一意であり、
前記フィールドの或るサブセットは、前記第１のコンポーネントと前記第３のコンポーネントとの間の通信に対して一意である
請求項１に記載のコンピュータにおける統合システムファブリックを提供するシステム。
【請求項４】
前記インタフェースプロトコルは、
複数の事前定義されたパケット長
を含む
請求項１に記載のコンピュータにおける統合システムファブリックを提供するシステム。
【請求項５】
前記インタフェースプロトコルは、
パケットタイプ情報及びトランザクションタイプ情報
を含む
請求項１に記載のコンピュータにおける統合システムファブリックを提供するシステム。
【請求項６】
前記第１のコンポーネントと前記第２のコンポーネントとの間の前記第１のインタフェースと、前記第１のコンポーネントと前記第３のコンポーネントとの間の前記第２のインタフェースと、のうちの少なくとも一方の信号経路に配置されたクロスバスイッチ装置
をさらに具備する
請求項１に記載のコンピュータにおける統合システムファブリックを提供するシステム。
【請求項７】
前記第１のコンポーネントは、プロセッササブシステムを含み、
前記第２のコンポーネントは、メモリサブシステムを含み、
前記第３のコンポーネントは、入出力サブシステムを含む
請求項１に記載のコンピュータにおける統合システムファブリックを提供するシステム。
【請求項８】
統合コンピュータシステムファブリックを提供する方法であって、
最も厳しい要求を有する第１のコンポーネント（１１０）、第２のコンポーネント（１３０）及び第３のコンポーネント（１２０）のうちの少なくとも１つの間の通信に対して最適化される物理インタフェース構成を確定すること、
前記第１のコンポーネント、前記第２のコンポーネント及び前記第３のコンポーネントの各々の間で伝送される通信のスーパーセットを有するインタフェースプロトコルを確立すること、
前記第１のコンポーネントと前記第２のコンポーネントとの間に第１のインタフェース（１１１ａ）を提供することであって、
前記第１のインタフェースは、前記物理インタフェース構成及び前記インタフェースプロトコルを実装する、第１のインタフェースを提供すること、
及び
前記第１のコンポーネントと前記第３のコンポーネントとの間の第２のインタフェース（１１１ｂ）を提供することであって、
前記第２のインタフェースは、前記物理インタフェース構成及び前記インタフェースプロトコルを実施する、第２のインタフェースを提供すること
を含む
統合コンピュータシステムファブリックを提供する方法。
【請求項９】
前記インタフェースプロトコルを確立することは、
１組のフィールドを含めることであって、
前記１組のフィールドは、
前記インタフェースプロトコルに、前記第１のコンポーネントと前記第２のコンポーネントとの間の通信に対して一意のフィールドのサブセットと、
前記第１のコンポーネントと前記第３のコンポーネントとの間の通信に対して一意のフィールドのサブセットと、
を有する、１組のフィールドを含めること
を含む
請求項８に記載の統合コンピュータシステムファブリックを提供する方法。
【請求項１０】
前記第１のコンポーネント、前記第２のコンポーネント及び前記第３のコンポーネントを使用して前記コンピュータシステムのための複数のコンピュータシステムトポロジから特定のコンピュータシステムトポロジを確定することであって、
前記第１のインタフェース及び前記第２のインタフェースは、前記複数のコンピュータシステムトポロジの各トポロジにおいて実装される、特定のコンピュータシステムトポロジを確定すること
をさらに含む
請求項８に記載の統合コンピュータシステムファブリックを提供する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、統合コンピュータシステムファブリックのためのシステム及び方法に関する。
【背景技術】
【０００２】
コンピュータシステムは、複数のインタフェースを採用して、そのコンポーネント間の通信及び／又は制御を提供する。これらコンポーネント間インタフェースは、まとめて、データ及び制御信号が通過するコンピュータシステムファブリックを提供し、コンピュータシステムとしての動作を定義する相互作用を容易にする。
【０００３】
たとえば、コンピュータシステムオペレーションの基本制御を提供する中央演算処理装置（ＣＰＵ）又は他のプロセッササブシステムは、システムファブリックの相互接続を介して、メモリサブシステム、入出力（Ｉ／Ｏ）サブシステム等を含む可能性のあるような複数の他のコンポーネントと相互作用する場合がある。カリフォルニア州パロアルト(Palo Alto)のヒューレット・パッカード社（Hewlett-Packard Company）から販売されているＨＰ  Ｓｕｐｅｒｄｏｍｅサーバシステムで実装されるもの等、セルベースアーキテクチャでは、プロセッサ／メモリサブシステムは、他のプロセッサ／メモリサブシステム（たとえば、マルチプロセッサシステムのセルボード）、Ｉ／Ｏサブシステム、クロスバスイッチ等に接続されるセルボードを含む場合がある。セルボードによるこのようなコンポーネントとの相互作用は、さまざまなインタフェースを使用することによって提供される。上述したインタフェースは、通常、そのインタフェースが採用される特定のコンポーネントに対して最適化される。したがって、別のセルボードと通信している或るセルボードに関して使用されるインタフェースは、Ｉ／Ｏサブシステム等と通信している或るセルボードに関して使用されるインタフェースとは異なる。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上述したコンピュータシステムファブリックを形成するインタフェースが異なると、通常、物理インタフェース（たとえば、使用される信号方式のタイプ、電圧レベル／スイング、チャネル数、転送レート、信号クロッキング等）と、インタフェースプロトコル（たとえば、メッセージが符号化される方法、制御オーバヘッドを実装する方法、実装される誤り検出及び／又は訂正アルゴリズム等）と、の両方において実質的な相違が生じる。したがって、これらのインタフェースに関して、別々の開発、サポート及びアップデートの労力が費やされる。このような別々の開発労力により、インタフェース、ひいてはコンピュータシステムを開発するために必要な時間及び労力の全体量が増大する可能性がある。別々のサポート労力により、コストが増大することに加えて、問題を診断し解決する労力が重複する可能性がある。別々にアップデートする労力により、複数の別々のインタフェースを移行させるために必要なコスト及び労力が追加される可能性があり、そのためコンピュータシステムの後の移行が遅れることになる。
【課題を解決するための手段】
【０００５】
コンピュータにおける統合システムファブリックを提供するシステムであって、当該システムは、コンピュータシステムの第１のコンポーネントと第２のコンポーネントの間に配置され、インタフェースプロトコルを実装する第１のインタフェースと、コンピュータシステムの第１のコンポーネントと第３のコンポーネントとの間に配置され、インタフェースプロトコルを実装する第２のインタフェースであって、第１のインタフェース及び第２のインタフェースは、第１のコンポーネントにおいて別々の信号経路を含む、第２のインタフェースと、を具備する。
【０００６】
統合コンピュータシステムファブリックを提供する方法であって、当該方法は、最も厳しい帯域幅要求を有する第１のコンポーネント、第２のコンポーネント及び第３のコンポーネントのうちの少なくとも１つの間の通信に対して最適化される物理インタフェース構成を確定すること、第１のコンポーネント、第２のコンポーネント及び第３のコンポーネントの各々の間で伝送される通信のスーパーセットを有するインタフェースプロトコルを確立すること、第１のコンポーネントと第２のコンポーネントとの間に第１のインタフェースを提供することであって、第１のインタフェースであって、物理インタフェース構成及びインタフェースプロトコルを実装する第１のインタフェースを提供すること、及び第１のコンポーネントと当該第３のコンポーネントとの間に第２のインタフェースを提供することであって、第２のインタフェースであって、物理インタフェース構成及びインタフェースプロトコルを実装する第２のインタフェースを提供することを含む。
【０００７】
統合システムファブリックを有するコンピュータシステムであって、当該システムは、プロセッサセルコンポーネントと、入出力コンポーネントと、プロセッサセルコンポーネント及び入出力コンポーネントのうちの少なくとも一つと動作可能なコンピュータシステムコンポーネントと、プロセッサセルコンポーネントを入出力コンポーネントに接続する第１のインタフェースであって、物理インタフェース構成及びインタフェースプロトコルを実装する第１のインタフェースと、コンピュータシステムコンポーネントをプロセッサセルコンポーネント及び入出力コンポーネントのうちの少なくとも一方に接続する第２のインタフェースであって、物理インタフェース構成及びインタフェースプロトコルを実装する第２のインタフェースと、を備える。
【発明を実施するための最良の形態】
【０００８】
図１に注意を向けると、本発明の一実施形態による統合ファブリックを有するコンピュータシステムが示されている。図１のコンピュータシステム１００は、ここでは、インタフェース１１１ａ及び１１１ｂを介して通信する、プロセッササブシステム１１０、入出力（Ｉ／Ｏ）サブシステム１２０及びメモリサブシステム１３０として示す、さまざまなコンポーネントを含む。プロセッササブシステム１１０は、命令の実行を提供する中央演算処理装置（ＣＰＵ）を含んでもよい。Ｉ／Ｏサブシステム１２０は、ＰＣＩ−Ｘ等の業界標準プロトコルと、コンピュータシステム１００のファブリック内で使用される独自の（proprietary）プロトコルと、の間のブリッジを提供するように動作可能なブリッジコントローラ及び支援回路（たとえば、インタフェースコントローラ、アドレスレジスタ等）を含んでもよい。メモリサブシステム１３０は、コンピュータシステム１００が使用するデータの格納及び検索を提供するように動作可能なメモリデバイス（たとえば、静的（static）及び／又は動的（dynamic）メモリ回路、不揮発性メモリ、磁気メモリ、光メモリ等）及び支援回路（たとえば、インタフェースコントローラ、アドレスレジスタ等）を含んでもよい。インタフェース１１１ａ及び１１１ｂは、プロセッササブシステム１１０、入出力サブシステム１２０及びメモリサブシステム１３０の相互接続を提供し、したがってコンピュータシステム１００のシステムファブリックの一部を提供する。
【０００９】
コンピュータシステム１００は、本発明の一実施形態によるセルアーキテクチャを含んでもよい。このような一実施形態では、プロセッササブシステム１１０は、ＣＰＵ及びメモリサブシステムを提供するセルボードを含んでもよい。たとえば、セルボードは、マルチプロセッサシステムアーキテクチャの一部として使用するＣＰＵ及び支援回路（たとえば、インタフェースコントローラ、キャッシュメモリ等）を有してもよい。
【００１０】
図１の実施形態に示すコンポーネントは、プロセッササブシステム、Ｉ／Ｏサブシステム及びメモリサブシステムを含むが、本発明の概念は、図１に示すものに加えて又はそれらの代りにコンピュータシステムの任意の数の異なるコンポーネントに対して適用してもよい。たとえば、本発明の実施形態による統合ファブリックインタフェースが提供されるコンポーネントは、上述したもののうちの任意のものに加えて又はその代りにスイッチ／クロスバコンポーネントを含んでもよい。本発明の実施形態によるインタフェースが提供されるコンポーネントを、完全に統合してもよく（たとえば、プロセッサコンポーネントと同じ集積回路基板上に配置されるメモリコンポーネント）、又は物理的に分離してもよい（たとえば、同じ回路基板上に配置されるか又は異なる回路基板上に配置される）。したがって、本発明の実施形態の統合システムファブリックインタフェースを使用して、ケーブル等を使用して基板、バックプレーン及びシャーシ間の標準コネクタを使用することにより基板間又は基板からバックプレーンへの相互接続を提供してもよい。
【００１１】
さらに、本発明の実施形態によるサブシステム又は他のコンポーネント間に提供される相互接続は、図１に表すものと異なってもよい。たとえば、マルチプロセッサシステムのもの等、複数のプロセッササブシステムを、本発明の実施形態のインタフェースを使用して相互接続してもよい。帯域幅を増大させ、フォールトトレランスを向上させ、冗長性を向上させる等のために、本発明の実施形態により２つ以上のコンポーネントの各々の間に複数のインタフェースを使用してもよい。さらに又は別法として、望ましい場合は、図１に示す別々のインタフェースではなく、複数（たとえば３つ以上）のコンポーネントの各々を、インタフェースバス構成等において同じインタフェースに接続してもよい。
【００１２】
インタフェース１１１ａ及び１１１ｂには各々、物理インタフェース（たとえば、使用される信号方式のタイプ、電圧レベル／スイング、チャネル数、転送レート、信号クロッキング等）と、インタフェースプロトコル（たとえば、メッセージが符号化される方法、制御オーバヘッドを実装する方法、実装される誤り検出及び／又は訂正アルゴリズム等）と、が関連付けられる。本発明の一実施形態によれば、インタフェース１１１ａに関連する物理インタフェース及びインタフェースプロトコルは、インタフェース１１１ｂに関連する物理インタフェース及びインタフェースプロトコルと同じであるが、それによってインタフェースで接続されるコンポーネントには、異なる通信基準が関連付けられる。したがって、本発明の実施形態のインタフェース１１１ａ及び１１１ｂは、それらが相互接続するサブシステム（たとえば、プロセッササブシステム、Ｉ／Ｏサブシステム及びメモリサブシステム）のすべての必要をみたす単一の共通する物理インタフェース及びパケットプロトコルを有する、コンピュータシステム１００に関する統合システムファブリックを提供する。
【００１３】
本発明の実施形態によって提供される統合システムファブリックは、複数の利点を提供し、それらをさまざまな方法で実施してもよい。たとえば、本発明の実施形態によって提供される統合システムファブリックインタフェースは、システム開発時間とともに後の移行開発時間を短縮する。それは、異なる物理インタフェース及び異なるインタフェースプロトコルを使用する複数のインタフェースではなく、共通の物理インタフェース及びインタフェースプロトコルを開発し、設計し、実装し、移行するためである。さらに、本発明の統合システムファブリックインタフェースは、サブシステム又は他のシステムデバイスの相互接続における柔軟性を提供する。
【００１４】
本発明の実施形態によって提供される統合システムファブリックインタフェースは、それらの間の１つ又は複数の相違を実装することができ、それでもなお実質的に上述した利点から利益を得ることができる。たとえば、本発明の一実施形態によって提供されるインタフェースは、他のすべての点では共通性を維持しながら、３．２ギガ転送／秒転送周波数を有する第１のインタフェース（たとえば、ＣＰＵ間をインタフェースで接続するため）と、それより低い転送周波数を有する第２のインタフェース（たとえば、ＣＰＵからＩ／Ｏにインタフェースで接続するため）と、を提供するため等、物理インタフェースにおける相違を実装してもよい。このような構成により、最大転送周波数を完全にはサポートしない環境において、本発明の一実施形態の統合システムファブリックの使用が容易になる。しかしながら、このような実施形態は、システム開発時間が短縮されること、及び後の移行開発時間が短縮されることから依然として利益を得る。
【００１５】
図２Ａ〜図２Ｄに注意を向けると、本発明の実施形態による統合システムファブリックのインタフェースを使用するさまざまなシステム構成が提供されている。たとえば、図２Ａの実施形態は、計算集約的なシステム構成を提供しており、ここではセル２１０ａ〜２１０ｆとして示す比較的多数のプロセッササブシステムが、統合システムファブリックインタフェースを使用して、ここではクロスバスイッチ２４０ａ及び２４０ｂとして示すクロスバスイッチング装置（たとえば、コンポーネント間の通信の経路のすべてを提供する、バックプレーンに配置されてもよいようなセンタスイッチ）を介して、ここではＩ／Ｏ２２０ａ及び２２０ｂとして示す比較的少数のＩ／Ｏサブシステムに接続されている。特に、インタフェース２１１ａ〜２１１ｌは、セル２１０ａ〜２１０ｆの相互接続を提供し、インタフェース２１１ｍ〜２１１ｐを使用して、セル２１０ａ〜２１０ｆとＩ／Ｏ２２０ａ及び２２０ｂとの相互接続を提供する。インタフェース２１１ｍ〜２１１ｐは、Ｉ／Ｏ２２０ａと２２０ｂとの相互接続を提供し、インタフェース２１１ａ〜２１１ｌを使用して、Ｉ／Ｏ２２０ａ及び２２０ｂとセル２１０ａ〜２１０ｆとの相互接続を提供する。インタフェース２１１ａ〜２１１ｐの各々は、同じ物理インタフェース及びインタフェースプロトコルを利用し、それによりセル２１０ａ〜２１０ｆとＩ／Ｏ２２０ａ及び２２０ｂのうちの任意のものとの相互接続に関して柔軟性を提供する。
【００１６】
図２Ｂは、図２Ａのものと同様のトポロジで同じコンピュータシステムファブリックを実施するが、入出力集約的なシステム構成を提供し、ここではＩ／Ｏ２２０ａ〜２２０ｆとして示す比較的多数のＩ／Ｏサブシステムが、統合システムファブリックインタフェースを使用して、ここではクロスバスイッチ２４０ａ及び２４０ｂとして示すクロスバスイッチング装置を介して、ここではセル２１０ａ及び２１０ｂとして示す比較的少数のプロセッササブシステムに接続されている。特に、インタフェース２１１ｅ〜２１１ｐは、Ｉ／Ｏ２２０ａ〜２２０ｆの相互接続を提供し、インタフェース２１１ａ〜２１１ｄを使用して、Ｉ／Ｏ２２０ａ〜２２０ｆとセル２１０ａ及び２１０ｂとの間の相互接続を提供する。インタフェース２１１ａ〜２１１ｄは、セル２１０ａ及び２１０ｂの相互接続を提供し、インタフェース２１１ｅ〜２１１ｐを使用して、セル２１０ａ及び２１０ｂとＩ／Ｏ２２０ａ〜２２０ｆとの相互接続を提供する。インタフェース２１１ａ〜２１１ｐの各々は、同じ物理インタフェース及びインタフェースプロトコルを利用し、それにより、セル２１０ａ及び２１０ｂとＩ／Ｏ２２０ａ〜２２０ｆのうちの任意のものとの相互接続に関する柔軟性を提供する。
【００１７】
図２Ｃは、入出力が演算能力でスケーリングされる統合システムファブリック構成を提供する。特に、ここではＩ／Ｏ２２０ａ〜２２０ｄとして示す複数のＩ／Ｏサブシステムが、ここではセル２１０ａ〜２１０ｄとして示す複数のプロセッササブシステムのうちの対応するものに接続されている。セル２１０ａ〜２１０ｄは、ここではクロスバスイッチ２４０ａ及び２４０ｂとして示すクロスバスイッチング装置を介して相互接続される。したがって、インタフェース２１１ａ〜２１１ｄは、Ｉ／Ｏ２２０ａ〜２２０ｄの、セル２１０ａ〜２１０ｄのうちの対応するものとの相互接続を提供する。インタフェース２１１ｅ〜２１１ｌは、セル２１０ａ〜２１０ｄの相互接続を提供する。インタフェース２１１ａ〜２１１ｌの各々は、同じ物理インタフェース及びインタフェースプロトコルを利用し、それによりセル２１０ａ〜２１０ｄとＩ／Ｏ２２０ａ〜２２０ｄとの相互接続に関する柔軟性を提供する。
【００１８】
図２Ｄは、本発明の一実施形態の統合システムファブリックを実施する低コストのコンピューティングシステム構成を提供する。特に、ここではＩ／Ｏ２２０ａ及び２２０ｂとして示す複数のＩ／Ｏサブシステムが、ここではセル２１０ａ及び２１０ｂとして示す複数のプロセッササブシステムのうちの対応するものに接続されている。セル２１０ａ及び２１０ｂはインタフェース２１１ａ及び２１１ｂを介して相互接続され、一方インタフェース２１１ｃ及び２１１ｄは、Ｉ／Ｏ２２０ａ及び２２０ｂの、セル２１０ａ及び２１０ｂのうちの対応するものとの相互接続を提供する。インタフェース２１１ａ〜２１１ｄの各々は、同じ物理インタフェース及びインタフェースプロトコルを利用し、それによりセル２１０ａ及び２１０ｂとＩ／Ｏ２２０ａ及び２２０ｂとの相互接続に関する柔軟性を提供する。
【００１９】
上述したことから、本発明の実施形態の統合システムファブリックインタフェースを使用して、システムトポロジにおける相当の柔軟性が提供される、ということが分かる。さらに、システムトポロジを、システムの寿命を通じてコンポーネントを追加し、削除し又は再配置する等、容易に変更することができる。たとえば、図２Ａ〜図２Ｄのトポロジのうちの任意のものを、同じプロセッササブシステム、Ｉ／Ｏサブシステム及びクロスバスイッチング装置を使用して提供してもよい。
【００２０】
本発明の実施形態による統合システムファブリックで使用するために適したインタフェースを提供するために、物理インタフェースの幅及び速度を、インタフェースを利用する最も要求の厳しいシステムコンポーネント（たとえばＣＰＵ）の帯域幅又は他の通信要求を満たすために十分であるように選択する。このような一実施形態では、このようなシステムコンポーネントのうちの複数のものをサポートするために複数のインタフェースを使用してもよく（たとえばマルチプロセッサ）、１つのインタフェースの帯域幅を、システムコンポーネント（たとえばＩ／Ｏサブシステム）により複数のデバイス（たとえばＩ／Ｏカード）の帯域幅要求を満たすように細分してもよい。
【００２１】
ヒューレット・パッカード社から販売されているＨＰ  Ｓｕｐｅｒｄｏｍｅサーバシステム等のセルベースのマルチプロセッサシステムで使用する統合システムファブリックを提供する際に使用してもよいような物理インタフェース構成の単なる一例として、異なる電源プレーン（たとえば異なるシャーシに配置されたコンポーネント）を使用してコンポーネント間の信頼性の高い通信を容易にするために差動信号方式を使用する。例示的な物理インタフェース構成は、さらに、８Ｂ／１０Ｂ符号化を使用することによる等、埋め込みクロック信号を使用して、インタフェースされるコンポーネントをさらに分離し、ひいては広範囲の構成及びトポロジをサポートする。３．２ギガ転送／秒／チャネル（インタフェースリンクで使用される特定のドライバ及び受信機の関数であってもよい）をサポートする２０チャネルのチャネル幅を、ＣＰＵの帯域幅要求をサポートするこの例示的な実施形態のインタフェースに提供する。本発明の実施形態によれば、物理インタフェース構成によって提供されるチャネル幅の１つ又は複数のチャネルは、１次チャネルに障害が発生するか又は他の理由で信頼性が低くなった場合に使用する予備を提供する。たとえば、上述した例示的な実施形態では、第２０チャネルが、１９個の他のチャネルのうちの１つに障害が発生した場合に使用する予備であってもよい。
【００２２】
ヒューレット・パッカード社から販売されているＨＰ  Ｓｕｐｅｒｄｏｍｅサーバシステム等のセルベースのマルチプロセッサシステムで使用する統合システムファブリックを提供する際に使用してもよいようなインタフェースプロトコル構成の単なる一例として、統合インタフェースを使用して相互接続されるコンポーネント（たとえば、ＣＰＵ、メモリ、Ｉ／Ｏアダプタ、スイッチ／クロスバコンポーネント等）の機能のスーパーセットであるパケットプロトコルを提供する。たとえば、統合システムファブリックのインタフェースプロトコルは、上述したＣＰＵ、メモリ、Ｉ／Ｏアダプタ及びスイッチ／クロスバコンポーネント等のコンポーネント群の各コンポーネント間で伝送される通信（たとえば、制御、問合せ、応答等の通信メッセージ）のスーパーセットであってもよい。本発明の一実施形態の統合インタフェースを通して通信されるパケットに関して利用されるフィールド及び値を、統合インタフェースを使用して相互接続されるコンポーネント間で順方向及び逆方向リンクの両方において伝送されるすべてのもののスーパーセットから導出してもよい。
【００２３】
本発明の実施形態の統合システムファブリックのインタフェース上で、複数の異なるコンポーネント及びコンポーネントタイプに対するパケットが通信されるため、実施形態のパケットプロトコルは、コンポーネントによる適当なパケットの認識を容易にする１つ又は複数のヘッダフィールドを含む。たとえば、本発明の一実施形態により、パケットタイプ（本明細書では「Ｐタイプ」と呼ぶ）ヘッダフィールド及びトランザクションタイプ（本明細書では「Ｔタイプ」と呼ぶ）ヘッダフィールドを提供する。Ｐタイプヘッダフィールドは、パケットタイプ（たとえばフロー制御クラス）及び長さを識別してもよい。Ｔタイプヘッダフィールドは、パケットに関連する特定のトランザクションタイプを識別してもよい。Ｐタイプ及びＴタイプヘッダ情報の組合せは、本発明の実施形態による統合インタフェース上で通信されるパケットのタイプを定義する。したがって、パケットに含まれるデータのタイプ、パケットにおけるデータのフォーマット、パケットの長さ、パケットのフロー制御クラス等を、すべて、対応するＰタイプ及び／又はＴタイプヘッダ情報に従って定めてもよい。
【００２４】
使用時、パケットによっては、特定のコンポーネントの間（たとえばプロセッサとメモリとの間）の通信にのみ存在し、他のコンポーネントの間（たとえばＩ／Ｏとメモリとの間）の通信に通常は存在しない。同様に、パケットによっては、他のコンポーネントの間（たとえば、Ｉ／Ｏとメモリとの間）の通信にのみ存在し、特定のコンポーネントの間（たとえばプロセッサとメモリとの間）の通信に通常は存在しない。上述したＰタイプ及びＴタイプヘッダフィールドは、パケットのタイプが互いに別々に定義される共通プロトコルを容易にし、それにより、インタフェースを介してパケットの正しいタイプを渡すことにより、受信側がパケット及びそこに含まれる任意のデータを認識し利用することができる。本発明の実施形態によれば、特定のタイプのコンポーネント（たとえば、ＣＰＵ、メモリ又はＩ／Ｏ）をサポートするためにパケットプロトコルに含まれるが、第２のタイプのコンポーネントによって利用されないフィールドは、第２のタイプのコンポーネントによって無視される。本発明の実施形態によれば、異なるタイプのコンポーネント又はトランザクションに対する情報を提供する、１つのタイプのコンポーネント又はトランザクションによって使用される特定のフィールドはパケット内に残るが、そこにあるデータはヌルであってもよい。さらに又は別法として、本発明の実施形態によって利用されるフィールドに重ね書きして、さまざまなタイプのコンポーネント又はトランザクションに関して使用する異なるデータを提供してもよい。
【００２５】
さらに又は別法として、本発明の実施形態のパケットヘッダにヘッダシンボルを提供して、パケット及び／又はそこに含まれるデータに関する情報をさらに提供してもよい。たとえば、上述したＰタイプ及びＴタイプヘッダフィールドを含んでもよいようなヘッダシンボルを利用して、新たなパケットの開始、リンク選択情報、宛先情報、送信元情報、データ所有者情報、データセキュリティ情報、パケットフロー制御情報、トランザクション識別情報、リンク再試行情報、フロー制御クレジット情報を識別してもよい。ヘッダシンボルを利用して、仮想インデックス情報、バイトマスク情報、健全性検査情報、メモリインタリーブ情報、アドレス情報、エラーモード情報及びペイロード汚染情報を伝送してもよい。統合システムファブリックのインタフェースによって伝送される特定のパケットに応じて、上述した情報うちの任意のもの又はすべて及びそれらのさまざまな組合せを１つ又は複数のヘッダシンボルに含めてもよい。
【００２６】
上述した例示的な実施形態によれば、統合インタフェースを使用して相互接続されるさまざまなコンポーネント間のサイズの異なる通信に効率的に適応するために、長さの異なるパケットを提供する。たとえば、一実施形態によれば、「マイクロパケット」を、１９チャネルの各々に対し１つの８Ｂ／１０Ｂビット群、すなわち合計１５２ビットを含むように定義する。長さの異なるパケットを、上述したマイクロパケットを使用して提供してもよい。たとえば、３つの異なるパケット長、たとえば１シンボルが６４ビットである場合の２、４及び１８シンボルのパケット長（長さが１、２又は８マイクロパケット）を、図３Ａ〜図３Ｃに示すマイクロパケットの組合せから提供してもよい。この例示的な実施形態による各パケットは、２ヘッダシンボル及び０、２又は１６データシンボルを含む。このような長さの異なるパケットを使用することにより、データを要求するためにプロセッサからメモリ又はＩ／Ｏサブシステムに送信してもよいような制御及びオーバヘッド信号（たとえばパケット長が２シンボル）の効率的な通信、Ｉ／Ｏデータを転送するためにプロセッサとＩ／Ｏサブシステムとの間で使用してもよいようなわずかな量のデータ（たとえばパケット長が４シンボル）の通信、プロセッサにおいてキャッシュに入れてもよい複数行のデータを転送するためにプロセッサとメモリとの間で使用してもよい大量のデータ（たとえばパケット長が１８シンボル）の通信が容易になる。
【００２７】
図３Ｃに示すパケットレイアウトは、未使用ビットを最小限にするため又は削除するためにデータを「梱包（pack）」するように適合される。たとえば、図３Ａ及び図３Ｂに示す実施形態のパケットレイアウトは、各マイクロパケットにおける１６の未使用ビットを含む。しかしながら、図３Ｃのパケットレイアウトは、マイクロパケットのすべてのビット位置に情報を満たし、本発明の実施形態のインタフェースの帯域幅を独占する非連続データシンボルを含み、このようなパケットレイアウトにより実質的に効率が向上する。
【００２８】
本発明の一実施形態による動作時に、パケットタイプフィールドを介してサイズの異なるパケットを処理する。たとえば、上述したＰタイプフィールドは、パケットが、長さが１、２又は８マイクロパケットとして復号されるように、パケットの長さを識別してもよい。
【００２９】
本発明の一実施形態の各パケットは、上述したＰタイプフィールド又は他のパケットタイプ情報に提供されてもよいような特定のフロー制御クラスにある。たとえば、パケットのフロー制御クラスを、パケットタイプフィールドから直接復号してもよく、その場合、パケットタイプにより、パケットの長さと、パケットがいずれのフロー制御クラスであるかと、がともに確定される。コンピュータシステムに関し、複数の異なるフロー制御クラス（たとえば５つ）を提供してもよい。実施形態によれば、各フロー制御クラスは、他のフロー制御クラスから独立して移動する。１つのフロー制御クラスにデッドロックが発生した場合、他のフロー制御クラスは順方向の進行を続ける。
【００３０】
パケットタイプを確定すると、本発明の実施形態によりトランザクションタイプフィールドを復号する。たとえば、上述したＴタイプフィールドを使用して、実際のパケットタイプ（たとえば、ライトバックパケット、占有パケットの読出し、共有パケットの読出し等）を確定してもよい。パケットタイプ及びトランザクションタイプフィールド情報の組合せを使用して、パケットの追加のフィールドを復号する方法を確定してもよい。
【００３１】
たとえば、実施形態により、開始される特定の要求に対して使用されるフィールドがある（たとえば、プロセッサはメモリにアクセスしており、プロセッサは、メモリのどのアドレスがアクセスされているか、いずれのプロセッサがメモリにアクセスしているか、要求を追跡するためのトランザクションＩＤ等を指定してもよい）。さらに、実施形態によれば、フロー制御のために使用されるフィールドがある（たとえば、送信側コンポーネントは、受信側コンポーネントの入力待ち行列で利用可能な空き空間のカウントを保持してもよく、パケットを送信する場合（「ダウンストリーム」方向）、空き空間カウントをデクリメントし、受信側コンポーネントは、その入力待ち行列からパケットを取り除くと、送信側コンポーネントに対しその空き空間カウントをインクリメントするように通知し（これを、次の「アップストリーム」パケットのフロー制御フィールドでコマンドを送信することによって行ってもよい）、送信側コンポーネントが送信したい次のパケットが空き空間カウントより大きい場合、送信側コンポーネントは、カウントがそのパケットのサイズ以上になるまで待機する）。本発明の実施形態によりヘッダフィールドにこのようなフロー制御情報を含めることにより、ペイロード情報を渡すために利用可能なはずの帯域幅を消費することなくこの情報を通信することが容易になる。パリティ及び／又は他の誤り検出検査を適用した後、受信側がパケット内のデータを完全に受信しない場合、再送信を実施するために使用するパケットフィールドからリンクレベル再試行情報を復号してもよい。上述したフロー制御情報と同様に、実施形態のリンクレベル再試行情報を、この情報がペイロード帯域幅を消費しないようにヘッダフィールドに含める。
【００３２】
上述したような本発明の実施形態により、チップセット及び他の回路に対する変更を必要とすることなく新たなシステムトポロジ及び製品の作成が容易になる。したがって、本発明の概念を使用することにより、開発時間が短縮されるように、シリコン開発に関連するコストが低減される。
【図面の簡単な説明】
【００３３】
【図１】本発明の一実施形態を実施するシステムの高レベルブロック図である。
【図２Ａ】本発明の実施形態によるシステムトポロジの実施形態を示す図である。
【図２Ｂ】本発明の実施形態によるシステムトポロジの実施形態を示す図である。
【図２Ｃ】本発明の実施形態によるシステムトポロジの実施形態を示す図である。
【図２Ｄ】本発明の実施形態によるシステムトポロジの実施形態を示す図である。
【図３Ａ】本発明の実施形態によって利用されるパケット構成の実施形態を示す図である。
【図３Ｂ】本発明の実施形態によって利用されるパケット構成の実施形態を示す図である。
【図３Ｃ】本発明の実施形態によって利用されるパケット構成の実施形態を示す図である。
【符号の説明】
【００３４】
１００・・・コンピュータシステム
１１０・・・プロセッサ
１１１ａ，１１１ｂ・・・インターフェイス
１２０・・・Ｉ／Ｏ
１３０・・・メモリ
２１０ａ，２１０ｂ，２１０ｃ，２１０ｄ，２１０ｅ，２１０ｆ・・・セル
２１１ａ〜２１１ｐ・・・インターフェイス
２２０ａ〜２２０ｆ・・・Ｉ／Ｏ
２４０ａ，２４０ｂ・・・クロスバ
【図１】
2006146929.tif 000003
【図２Ａ】
2006146929.tif 000004
【図２Ｂ】
2006146929.tif 000005
【図２Ｃ】
2006146929.tif 000006
【図２Ｄ】
2006146929.tif 000007
【図３Ａ】
2006146929.tif 000008
【図３Ｂ】
2006146929.tif 000009
【図３Ｃ】
2006146929.tif 000010