JP4916162B2 - 統合コンピュータシステムファブリックのためのシステム及び方法 - Google Patents

統合コンピュータシステムファブリックのためのシステム及び方法 Download PDF

Info

Publication number
JP4916162B2
JP4916162B2 JP2005335398A JP2005335398A JP4916162B2 JP 4916162 B2 JP4916162 B2 JP 4916162B2 JP 2005335398 A JP2005335398 A JP 2005335398A JP 2005335398 A JP2005335398 A JP 2005335398A JP 4916162 B2 JP4916162 B2 JP 4916162B2
Authority
JP
Japan
Prior art keywords
packet
interface
component
components
interfaces
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005335398A
Other languages
English (en)
Other versions
JP2006146929A (ja
Inventor
ゲーリー・ビー・ゴースティン
クレイグ・ワーナー
ジョン・ダブルュー・バックハウス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2006146929A publication Critical patent/JP2006146929A/ja
Application granted granted Critical
Publication of JP4916162B2 publication Critical patent/JP4916162B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、統合コンピュータシステムファブリックのためのシステム及び方法に関する。
コンピュータシステムは、複数のインタフェースを採用して、そのコンポーネント間の通信及び/又は制御を提供する。これらコンポーネント間インタフェースは、まとめて、データ及び制御信号が通過するコンピュータシステムファブリックを提供し、コンピュータシステムとしての動作を定義する相互作用を容易にする。
たとえば、コンピュータシステムオペレーションの基本制御を提供する中央演算処理装置(CPU)又は他のプロセッササブシステムは、システムファブリックの相互接続を介して、メモリサブシステム、入出力(I/O)サブシステム等を含む可能性のあるような複数の他のコンポーネントと相互作用する場合がある。カリフォルニア州パロアルト(Palo Alto)のヒューレット・パッカード社(Hewlett-Packard Company)から販売されているHP Superdomeサーバシステムで実装されるもの等、セルベースアーキテクチャでは、プロセッサ/メモリサブシステムは、他のプロセッサ/メモリサブシステム(たとえば、マルチプロセッサシステムのセルボード)、I/Oサブシステム、クロスバスイッチ等に接続されるセルボードを含む場合がある。セルボードによるこのようなコンポーネントとの相互作用は、さまざまなインタフェースを使用することによって提供される。上述したインタフェースは、通常、そのインタフェースが採用される特定のコンポーネントに対して最適化される。したがって、別のセルボードと通信している或るセルボードに関して使用されるインタフェースは、I/Oサブシステム等と通信している或るセルボードに関して使用されるインタフェースとは異なる。
上述したコンピュータシステムファブリックを形成するインタフェースが異なると、通常、物理インタフェース(たとえば、使用される信号方式のタイプ、電圧レベル/スイング、チャネル数、転送レート、信号クロッキング等)と、インタフェースプロトコル(たとえば、メッセージが符号化される方法、制御オーバヘッドを実装する方法、実装される誤り検出及び/又は訂正アルゴリズム等)と、の両方において実質的な相違が生じる。したがって、これらのインタフェースに関して、別々の開発、サポート及びアップデートの労力が費やされる。このような別々の開発労力により、インタフェース、ひいてはコンピュータシステムを開発するために必要な時間及び労力の全体量が増大する可能性がある。別々のサポート労力により、コストが増大することに加えて、問題を診断し解決する労力が重複する可能性がある。別々にアップデートする労力により、複数の別々のインタフェースを移行させるために必要なコスト及び労力が追加される可能性があり、そのためコンピュータシステムの後の移行が遅れることになる。
コンピュータにおける統合システムファブリックを提供するシステムであって、当該システムは、コンピュータシステムの第1のコンポーネントと第2のコンポーネントの間に配置され、インタフェースプロトコルを実装する第1のインタフェースと、コンピュータシステムの第1のコンポーネントと第3のコンポーネントとの間に配置され、インタフェースプロトコルを実装する第2のインタフェースであって、第1のインタフェース及び第2のインタフェースは、第1のコンポーネントにおいて別々の信号経路を含む、第2のインタフェースと、を具備する。
統合コンピュータシステムファブリックを提供する方法であって、当該方法は、最も厳しい帯域幅要求を有する第1のコンポーネント、第2のコンポーネント及び第3のコンポーネントのうちの少なくとも1つの間の通信に対して最適化される物理インタフェース構成を確定すること、第1のコンポーネント、第2のコンポーネント及び第3のコンポーネントの各々の間で伝送される通信のスーパーセットを有するインタフェースプロトコルを確立すること、第1のコンポーネントと第2のコンポーネントとの間に第1のインタフェースを提供することであって、第1のインタフェースであって、物理インタフェース構成及びインタフェースプロトコルを実装する第1のインタフェースを提供すること、及び第1のコンポーネントと当該第3のコンポーネントとの間に第2のインタフェースを提供することであって、第2のインタフェースであって、物理インタフェース構成及びインタフェースプロトコルを実装する第2のインタフェースを提供することを含む。
統合システムファブリックを有するコンピュータシステムであって、当該システムは、プロセッサセルコンポーネントと、入出力コンポーネントと、プロセッサセルコンポーネント及び入出力コンポーネントのうちの少なくとも一つと動作可能なコンピュータシステムコンポーネントと、プロセッサセルコンポーネントを入出力コンポーネントに接続する第1のインタフェースであって、物理インタフェース構成及びインタフェースプロトコルを実装する第1のインタフェースと、コンピュータシステムコンポーネントをプロセッサセルコンポーネント及び入出力コンポーネントのうちの少なくとも一方に接続する第2のインタフェースであって、物理インタフェース構成及びインタフェースプロトコルを実装する第2のインタフェースと、を備える。
図1に注意を向けると、本発明の一実施形態による統合ファブリックを有するコンピュータシステムが示されている。図1のコンピュータシステム100は、ここでは、インタフェース111a及び111bを介して通信する、プロセッササブシステム110、入出力(I/O)サブシステム120及びメモリサブシステム130として示す、さまざまなコンポーネントを含む。プロセッササブシステム110は、命令の実行を提供する中央演算処理装置(CPU)を含んでもよい。I/Oサブシステム120は、PCI−X等の業界標準プロトコルと、コンピュータシステム100のファブリック内で使用される独自の(proprietary)プロトコルと、の間のブリッジを提供するように動作可能なブリッジコントローラ及び支援回路(たとえば、インタフェースコントローラ、アドレスレジスタ等)を含んでもよい。メモリサブシステム130は、コンピュータシステム100が使用するデータの格納及び検索を提供するように動作可能なメモリデバイス(たとえば、静的(static)及び/又は動的(dynamic)メモリ回路、不揮発性メモリ、磁気メモリ、光メモリ等)及び支援回路(たとえば、インタフェースコントローラ、アドレスレジスタ等)を含んでもよい。インタフェース111a及び111bは、プロセッササブシステム110、入出力サブシステム120及びメモリサブシステム130の相互接続を提供し、したがってコンピュータシステム100のシステムファブリックの一部を提供する。
コンピュータシステム100は、本発明の一実施形態によるセルアーキテクチャを含んでもよい。このような一実施形態では、プロセッササブシステム110は、CPU及びメモリサブシステムを提供するセルボードを含んでもよい。たとえば、セルボードは、マルチプロセッサシステムアーキテクチャの一部として使用するCPU及び支援回路(たとえば、インタフェースコントローラ、キャッシュメモリ等)を有してもよい。
図1の実施形態に示すコンポーネントは、プロセッササブシステム、I/Oサブシステム及びメモリサブシステムを含むが、本発明の概念は、図1に示すものに加えて又はそれらの代りにコンピュータシステムの任意の数の異なるコンポーネントに対して適用してもよい。たとえば、本発明の実施形態による統合ファブリックインタフェースが提供されるコンポーネントは、上述したもののうちの任意のものに加えて又はその代りにスイッチ/クロスバコンポーネントを含んでもよい。本発明の実施形態によるインタフェースが提供されるコンポーネントを、完全に統合してもよく(たとえば、プロセッサコンポーネントと同じ集積回路基板上に配置されるメモリコンポーネント)、又は物理的に分離してもよい(たとえば、同じ回路基板上に配置されるか又は異なる回路基板上に配置される)。したがって、本発明の実施形態の統合システムファブリックインタフェースを使用して、ケーブル等を使用して基板、バックプレーン及びシャーシ間の標準コネクタを使用することにより基板間又は基板からバックプレーンへの相互接続を提供してもよい。
さらに、本発明の実施形態によるサブシステム又は他のコンポーネント間に提供される相互接続は、図1に表すものと異なってもよい。たとえば、マルチプロセッサシステムのもの等、複数のプロセッササブシステムを、本発明の実施形態のインタフェースを使用して相互接続してもよい。帯域幅を増大させ、フォールトトレランスを向上させ、冗長性を向上させる等のために、本発明の実施形態により2つ以上のコンポーネントの各々の間に複数のインタフェースを使用してもよい。さらに又は別法として、望ましい場合は、図1に示す別々のインタフェースではなく、複数(たとえば3つ以上)のコンポーネントの各々を、インタフェースバス構成等において同じインタフェースに接続してもよい。
インタフェース111a及び111bには各々、物理インタフェース(たとえば、使用される信号方式のタイプ、電圧レベル/スイング、チャネル数、転送レート、信号クロッキング等)と、インタフェースプロトコル(たとえば、メッセージが符号化される方法、制御オーバヘッドを実装する方法、実装される誤り検出及び/又は訂正アルゴリズム等)と、が関連付けられる。本発明の一実施形態によれば、インタフェース111aに関連する物理インタフェース及びインタフェースプロトコルは、インタフェース111bに関連する物理インタフェース及びインタフェースプロトコルと同じであるが、それによってインタフェースで接続されるコンポーネントには、異なる通信基準が関連付けられる。したがって、本発明の実施形態のインタフェース111a及び111bは、それらが相互接続するサブシステム(たとえば、プロセッササブシステム、I/Oサブシステム及びメモリサブシステム)のすべての必要をみたす単一の共通する物理インタフェース及びパケットプロトコルを有する、コンピュータシステム100に関する統合システムファブリックを提供する。
本発明の実施形態によって提供される統合システムファブリックは、複数の利点を提供し、それらをさまざまな方法で実施してもよい。たとえば、本発明の実施形態によって提供される統合システムファブリックインタフェースは、システム開発時間とともに後の移行開発時間を短縮する。それは、異なる物理インタフェース及び異なるインタフェースプロトコルを使用する複数のインタフェースではなく、共通の物理インタフェース及びインタフェースプロトコルを開発し、設計し、実装し、移行するためである。さらに、本発明の統合システムファブリックインタフェースは、サブシステム又は他のシステムデバイスの相互接続における柔軟性を提供する。
本発明の実施形態によって提供される統合システムファブリックインタフェースは、それらの間の1つ又は複数の相違を実装することができ、それでもなお実質的に上述した利点から利益を得ることができる。たとえば、本発明の一実施形態によって提供されるインタフェースは、他のすべての点では共通性を維持しながら、3.2ギガ転送/秒転送周波数を有する第1のインタフェース(たとえば、CPU間をインタフェースで接続するため)と、それより低い転送周波数を有する第2のインタフェース(たとえば、CPUからI/Oにインタフェースで接続するため)と、を提供するため等、物理インタフェースにおける相違を実装してもよい。このような構成により、最大転送周波数を完全にはサポートしない環境において、本発明の一実施形態の統合システムファブリックの使用が容易になる。しかしながら、このような実施形態は、システム開発時間が短縮されること、及び後の移行開発時間が短縮されることから依然として利益を得る。
図2A〜図2Dに注意を向けると、本発明の実施形態による統合システムファブリックのインタフェースを使用するさまざまなシステム構成が提供されている。たとえば、図2Aの実施形態は、計算集約的なシステム構成を提供しており、ここではセル210a〜210fとして示す比較的多数のプロセッササブシステムが、統合システムファブリックインタフェースを使用して、ここではクロスバスイッチ240a及び240bとして示すクロスバスイッチング装置(たとえば、コンポーネント間の通信の経路のすべてを提供する、バックプレーンに配置されてもよいようなセンタスイッチ)を介して、ここではI/O220a及び220bとして示す比較的少数のI/Oサブシステムに接続されている。特に、インタフェース211a〜211lは、セル210a〜210fの相互接続を提供し、インタフェース211m〜211pを使用して、セル210a〜210fとI/O220a及び220bとの相互接続を提供する。インタフェース211m〜211pは、I/O220aと220bとの相互接続を提供し、インタフェース211a〜211lを使用して、I/O220a及び220bとセル210a〜210fとの相互接続を提供する。インタフェース211a〜211pの各々は、同じ物理インタフェース及びインタフェースプロトコルを利用し、それによりセル210a〜210fとI/O220a及び220bのうちの任意のものとの相互接続に関して柔軟性を提供する。
図2Bは、図2Aのものと同様のトポロジで同じコンピュータシステムファブリックを実施するが、入出力集約的なシステム構成を提供し、ここではI/O220a〜220fとして示す比較的多数のI/Oサブシステムが、統合システムファブリックインタフェースを使用して、ここではクロスバスイッチ240a及び240bとして示すクロスバスイッチング装置を介して、ここではセル210a及び210bとして示す比較的少数のプロセッササブシステムに接続されている。特に、インタフェース211e〜211pは、I/O220a〜220fの相互接続を提供し、インタフェース211a〜211dを使用して、I/O220a〜220fとセル210a及び210bとの間の相互接続を提供する。インタフェース211a〜211dは、セル210a及び210bの相互接続を提供し、インタフェース211e〜211pを使用して、セル210a及び210bとI/O220a〜220fとの相互接続を提供する。インタフェース211a〜211pの各々は、同じ物理インタフェース及びインタフェースプロトコルを利用し、それにより、セル210a及び210bとI/O220a〜220fのうちの任意のものとの相互接続に関する柔軟性を提供する。
図2Cは、入出力が演算能力でスケーリングされる統合システムファブリック構成を提供する。特に、ここではI/O220a〜220dとして示す複数のI/Oサブシステムが、ここではセル210a〜210dとして示す複数のプロセッササブシステムのうちの対応するものに接続されている。セル210a〜210dは、ここではクロスバスイッチ240a及び240bとして示すクロスバスイッチング装置を介して相互接続される。したがって、インタフェース211a〜211dは、I/O220a〜220dの、セル210a〜210dのうちの対応するものとの相互接続を提供する。インタフェース211e〜211lは、セル210a〜210dの相互接続を提供する。インタフェース211a〜211lの各々は、同じ物理インタフェース及びインタフェースプロトコルを利用し、それによりセル210a〜210dとI/O220a〜220dとの相互接続に関する柔軟性を提供する。
図2Dは、本発明の一実施形態の統合システムファブリックを実施する低コストのコンピューティングシステム構成を提供する。特に、ここではI/O220a及び220bとして示す複数のI/Oサブシステムが、ここではセル210a及び210bとして示す複数のプロセッササブシステムのうちの対応するものに接続されている。セル210a及び210bはインタフェース211a及び211bを介して相互接続され、一方インタフェース211c及び211dは、I/O220a及び220bの、セル210a及び210bのうちの対応するものとの相互接続を提供する。インタフェース211a〜211dの各々は、同じ物理インタフェース及びインタフェースプロトコルを利用し、それによりセル210a及び210bとI/O220a及び220bとの相互接続に関する柔軟性を提供する。
上述したことから、本発明の実施形態の統合システムファブリックインタフェースを使用して、システムトポロジにおける相当の柔軟性が提供される、ということが分かる。さらに、システムトポロジを、システムの寿命を通じてコンポーネントを追加し、削除し又は再配置する等、容易に変更することができる。たとえば、図2A〜図2Dのトポロジのうちの任意のものを、同じプロセッササブシステム、I/Oサブシステム及びクロスバスイッチング装置を使用して提供してもよい。
本発明の実施形態による統合システムファブリックで使用するために適したインタフェースを提供するために、物理インタフェースの幅及び速度を、インタフェースを利用する最も要求の厳しいシステムコンポーネント(たとえばCPU)の帯域幅又は他の通信要求を満たすために十分であるように選択する。このような一実施形態では、このようなシステムコンポーネントのうちの複数のものをサポートするために複数のインタフェースを使用してもよく(たとえばマルチプロセッサ)、1つのインタフェースの帯域幅を、システムコンポーネント(たとえばI/Oサブシステム)により複数のデバイス(たとえばI/Oカード)の帯域幅要求を満たすように細分してもよい。
ヒューレット・パッカード社から販売されているHP Superdomeサーバシステム等のセルベースのマルチプロセッサシステムで使用する統合システムファブリックを提供する際に使用してもよいような物理インタフェース構成の単なる一例として、異なる電源プレーン(たとえば異なるシャーシに配置されたコンポーネント)を使用してコンポーネント間の信頼性の高い通信を容易にするために差動信号方式を使用する。例示的な物理インタフェース構成は、さらに、8B/10B符号化を使用することによる等、埋め込みクロック信号を使用して、インタフェースされるコンポーネントをさらに分離し、ひいては広範囲の構成及びトポロジをサポートする。3.2ギガ転送/秒/チャネル(インタフェースリンクで使用される特定のドライバ及び受信機の関数であってもよい)をサポートする20チャネルのチャネル幅を、CPUの帯域幅要求をサポートするこの例示的な実施形態のインタフェースに提供する。本発明の実施形態によれば、物理インタフェース構成によって提供されるチャネル幅の1つ又は複数のチャネルは、1次チャネルに障害が発生するか又は他の理由で信頼性が低くなった場合に使用する予備を提供する。たとえば、上述した例示的な実施形態では、第20チャネルが、19個の他のチャネルのうちの1つに障害が発生した場合に使用する予備であってもよい。
ヒューレット・パッカード社から販売されているHP Superdomeサーバシステム等のセルベースのマルチプロセッサシステムで使用する統合システムファブリックを提供する際に使用してもよいようなインタフェースプロトコル構成の単なる一例として、統合インタフェースを使用して相互接続されるコンポーネント(たとえば、CPU、メモリ、I/Oアダプタ、スイッチ/クロスバコンポーネント等)の機能のスーパーセットであるパケットプロトコルを提供する。たとえば、統合システムファブリックのインタフェースプロトコルは、上述したCPU、メモリ、I/Oアダプタ及びスイッチ/クロスバコンポーネント等のコンポーネント群の各コンポーネント間で伝送される通信(たとえば、制御、問合せ、応答等の通信メッセージ)のスーパーセットであってもよい。本発明の一実施形態の統合インタフェースを通して通信されるパケットに関して利用されるフィールド及び値を、統合インタフェースを使用して相互接続されるコンポーネント間で順方向及び逆方向リンクの両方において伝送されるすべてのもののスーパーセットから導出してもよい。
本発明の実施形態の統合システムファブリックのインタフェース上で、複数の異なるコンポーネント及びコンポーネントタイプに対するパケットが通信されるため、実施形態のパケットプロトコルは、コンポーネントによる適当なパケットの認識を容易にする1つ又は複数のヘッダフィールドを含む。たとえば、本発明の一実施形態により、パケットタイプ(本明細書では「Pタイプ」と呼ぶ)ヘッダフィールド及びトランザクションタイプ(本明細書では「Tタイプ」と呼ぶ)ヘッダフィールドを提供する。Pタイプヘッダフィールドは、パケットタイプ(たとえばフロー制御クラス)及び長さを識別してもよい。Tタイプヘッダフィールドは、パケットに関連する特定のトランザクションタイプを識別してもよい。Pタイプ及びTタイプヘッダ情報の組合せは、本発明の実施形態による統合インタフェース上で通信されるパケットのタイプを定義する。したがって、パケットに含まれるデータのタイプ、パケットにおけるデータのフォーマット、パケットの長さ、パケットのフロー制御クラス等を、すべて、対応するPタイプ及び/又はTタイプヘッダ情報に従って定めてもよい。
使用時、パケットによっては、特定のコンポーネントの間(たとえばプロセッサとメモリとの間)の通信にのみ存在し、他のコンポーネントの間(たとえばI/Oとメモリとの間)の通信に通常は存在しない。同様に、パケットによっては、他のコンポーネントの間(たとえば、I/Oとメモリとの間)の通信にのみ存在し、特定のコンポーネントの間(たとえばプロセッサとメモリとの間)の通信に通常は存在しない。上述したPタイプ及びTタイプヘッダフィールドは、パケットのタイプが互いに別々に定義される共通プロトコルを容易にし、それにより、インタフェースを介してパケットの正しいタイプを渡すことにより、受信側がパケット及びそこに含まれる任意のデータを認識し利用することができる。本発明の実施形態によれば、特定のタイプのコンポーネント(たとえば、CPU、メモリ又はI/O)をサポートするためにパケットプロトコルに含まれるが、第2のタイプのコンポーネントによって利用されないフィールドは、第2のタイプのコンポーネントによって無視される。本発明の実施形態によれば、異なるタイプのコンポーネント又はトランザクションに対する情報を提供する、1つのタイプのコンポーネント又はトランザクションによって使用される特定のフィールドはパケット内に残るが、そこにあるデータはヌルであってもよい。さらに又は別法として、本発明の実施形態によって利用されるフィールドに重ね書きして、さまざまなタイプのコンポーネント又はトランザクションに関して使用する異なるデータを提供してもよい。
さらに又は別法として、本発明の実施形態のパケットヘッダにヘッダシンボルを提供して、パケット及び/又はそこに含まれるデータに関する情報をさらに提供してもよい。たとえば、上述したPタイプ及びTタイプヘッダフィールドを含んでもよいようなヘッダシンボルを利用して、新たなパケットの開始、リンク選択情報、宛先情報、送信元情報、データ所有者情報、データセキュリティ情報、パケットフロー制御情報、トランザクション識別情報、リンク再試行情報、フロー制御クレジット情報を識別してもよい。ヘッダシンボルを利用して、仮想インデックス情報、バイトマスク情報、健全性検査情報、メモリインタリーブ情報、アドレス情報、エラーモード情報及びペイロード汚染情報を伝送してもよい。統合システムファブリックのインタフェースによって伝送される特定のパケットに応じて、上述した情報うちの任意のもの又はすべて及びそれらのさまざまな組合せを1つ又は複数のヘッダシンボルに含めてもよい。
上述した例示的な実施形態によれば、統合インタフェースを使用して相互接続されるさまざまなコンポーネント間のサイズの異なる通信に効率的に適応するために、長さの異なるパケットを提供する。たとえば、一実施形態によれば、「マイクロパケット」を、19チャネルの各々に対し1つの8B/10Bビット群、すなわち合計152ビットを含むように定義する。長さの異なるパケットを、上述したマイクロパケットを使用して提供してもよい。たとえば、3つの異なるパケット長、たとえば1シンボルが64ビットである場合の2、4及び18シンボルのパケット長(長さが1、2又は8マイクロパケット)を、図3A〜図3Cに示すマイクロパケットの組合せから提供してもよい。この例示的な実施形態による各パケットは、2ヘッダシンボル及び0、2又は16データシンボルを含む。このような長さの異なるパケットを使用することにより、データを要求するためにプロセッサからメモリ又はI/Oサブシステムに送信してもよいような制御及びオーバヘッド信号(たとえばパケット長が2シンボル)の効率的な通信、I/Oデータを転送するためにプロセッサとI/Oサブシステムとの間で使用してもよいようなわずかな量のデータ(たとえばパケット長が4シンボル)の通信、プロセッサにおいてキャッシュに入れてもよい複数行のデータを転送するためにプロセッサとメモリとの間で使用してもよい大量のデータ(たとえばパケット長が18シンボル)の通信が容易になる。
図3Cに示すパケットレイアウトは、未使用ビットを最小限にするため又は削除するためにデータを「梱包(pack)」するように適合される。たとえば、図3A及び図3Bに示す実施形態のパケットレイアウトは、各マイクロパケットにおける16の未使用ビットを含む。しかしながら、図3Cのパケットレイアウトは、マイクロパケットのすべてのビット位置に情報を満たし、本発明の実施形態のインタフェースの帯域幅を独占する非連続データシンボルを含み、このようなパケットレイアウトにより実質的に効率が向上する。
本発明の一実施形態による動作時に、パケットタイプフィールドを介してサイズの異なるパケットを処理する。たとえば、上述したPタイプフィールドは、パケットが、長さが1、2又は8マイクロパケットとして復号されるように、パケットの長さを識別してもよい。
本発明の一実施形態の各パケットは、上述したPタイプフィールド又は他のパケットタイプ情報に提供されてもよいような特定のフロー制御クラスにある。たとえば、パケットのフロー制御クラスを、パケットタイプフィールドから直接復号してもよく、その場合、パケットタイプにより、パケットの長さと、パケットがいずれのフロー制御クラスであるかと、がともに確定される。コンピュータシステムに関し、複数の異なるフロー制御クラス(たとえば5つ)を提供してもよい。実施形態によれば、各フロー制御クラスは、他のフロー制御クラスから独立して移動する。1つのフロー制御クラスにデッドロックが発生した場合、他のフロー制御クラスは順方向の進行を続ける。
パケットタイプを確定すると、本発明の実施形態によりトランザクションタイプフィールドを復号する。たとえば、上述したTタイプフィールドを使用して、実際のパケットタイプ(たとえば、ライトバックパケット、占有パケットの読出し、共有パケットの読出し等)を確定してもよい。パケットタイプ及びトランザクションタイプフィールド情報の組合せを使用して、パケットの追加のフィールドを復号する方法を確定してもよい。
たとえば、実施形態により、開始される特定の要求に対して使用されるフィールドがある(たとえば、プロセッサはメモリにアクセスしており、プロセッサは、メモリのどのアドレスがアクセスされているか、いずれのプロセッサがメモリにアクセスしているか、要求を追跡するためのトランザクションID等を指定してもよい)。さらに、実施形態によれば、フロー制御のために使用されるフィールドがある(たとえば、送信側コンポーネントは、受信側コンポーネントの入力待ち行列で利用可能な空き空間のカウントを保持してもよく、パケットを送信する場合(「ダウンストリーム」方向)、空き空間カウントをデクリメントし、受信側コンポーネントは、その入力待ち行列からパケットを取り除くと、送信側コンポーネントに対しその空き空間カウントをインクリメントするように通知し(これを、次の「アップストリーム」パケットのフロー制御フィールドでコマンドを送信することによって行ってもよい)、送信側コンポーネントが送信したい次のパケットが空き空間カウントより大きい場合、送信側コンポーネントは、カウントがそのパケットのサイズ以上になるまで待機する)。本発明の実施形態によりヘッダフィールドにこのようなフロー制御情報を含めることにより、ペイロード情報を渡すために利用可能なはずの帯域幅を消費することなくこの情報を通信することが容易になる。パリティ及び/又は他の誤り検出検査を適用した後、受信側がパケット内のデータを完全に受信しない場合、再送信を実施するために使用するパケットフィールドからリンクレベル再試行情報を復号してもよい。上述したフロー制御情報と同様に、実施形態のリンクレベル再試行情報を、この情報がペイロード帯域幅を消費しないようにヘッダフィールドに含める。
上述したような本発明の実施形態により、チップセット及び他の回路に対する変更を必要とすることなく新たなシステムトポロジ及び製品の作成が容易になる。したがって、本発明の概念を使用することにより、開発時間が短縮されるように、シリコン開発に関連するコストが低減される。
本発明の一実施形態を実施するシステムの高レベルブロック図である。 本発明の実施形態によるシステムトポロジの実施形態を示す図である。 本発明の実施形態によるシステムトポロジの実施形態を示す図である。 本発明の実施形態によるシステムトポロジの実施形態を示す図である。 本発明の実施形態によるシステムトポロジの実施形態を示す図である。 本発明の実施形態によって利用されるパケット構成の実施形態を示す図である。 本発明の実施形態によって利用されるパケット構成の実施形態を示す図である。 本発明の実施形態によって利用されるパケット構成の実施形態を示す図である。
符号の説明
100・・・コンピュータシステム
110・・・プロセッサ
111a,111b・・・インターフェイス
120・・・I/O
130・・・メモリ
210a,210b,210c,210d,210e,210f・・・セル
211a〜211p・・・インターフェイス
220a〜220f・・・I/O
240a,240b・・・クロスバ

Claims (4)

  1. コンピュータシステムの第1のコンポーネント(110)と、
    前記コンピュータシステムの複数の第2のコンポーネント(120,130)と
    を含む情報処理装置であって、
    前記第1のコンポーネントと前記複数の第2のコンポーネントそれぞれとの間を、それぞれ個別の信号経路を介して接続してパケットを用いたプロトコルにより通信を行う複数のインターフェース(111a,111b)
    を有し、
    互いに接続される前記第1のコンポーネントおよび前記複数の第2のコンポーネントの機能の上位集合のインターフェースプロトコルが、前記複数のインターフェースに関連付けられ、
    前記インターフェースプロトコルにおいて用いられるパケットは、
    前記第1のコンポーネントおよび前記複数の第2のコンポーネントにより、このパケットが、前記第1のコンポーネントおよび前記第2のコンポーネントそれぞれに適合しているか否かを識別されうるようにするヘッダフィールド
    を含み、
    前記ヘッダフィールドは、
    このパケットのパケットタイプと、このパケットのパケット長とを識別するパケットタイプフィールドと、
    このパケットに関連する特定のトランザクションを識別するトランザクションタイプヘッダフィールドと
    を含む
    情報処理装置。
  2. 前記インターフェースプロトコルは、前記第1のコンポーネントと前記複数の第2のコンポーネントの間に、複数の種類の物理インターフェースを許容する
    請求項1に記載の情報処理装置。
  3. 前記第1のコンポーネントは、
    サブプロセッササブシステム
    を含み、
    前記第2のコンポーネントは、
    メモリサブシステムおよび入出力サブシステムまたはこれらのいずれか
    を含む
    請求項1または2に記載の情報処理装置。
  4. 複数の前記第1のコンポーネント
    を含み、
    前記第1のコンポーネント同士の間および前記第1のコンポーネントと前記複数の第2のコンポーネントとの間またはこれらのいずれかに設けられた前記インターフェースの信号経路同士を接続して信号を伝送する信号伝送装置(240a、240b)
    をさらに有する請求項1〜3のいずれかに記載の情報処理装置。
JP2005335398A 2004-11-23 2005-11-21 統合コンピュータシステムファブリックのためのシステム及び方法 Active JP4916162B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/998239 2004-11-23
US10/998,239 US7471623B2 (en) 2004-11-23 2004-11-23 Systems and methods for a unified computer system fabric

Publications (2)

Publication Number Publication Date
JP2006146929A JP2006146929A (ja) 2006-06-08
JP4916162B2 true JP4916162B2 (ja) 2012-04-11

Family

ID=36626453

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005335398A Active JP4916162B2 (ja) 2004-11-23 2005-11-21 統合コンピュータシステムファブリックのためのシステム及び方法

Country Status (2)

Country Link
US (1) US7471623B2 (ja)
JP (1) JP4916162B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9558143B2 (en) * 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
CN113498595B (zh) * 2020-01-22 2022-10-11 华为技术有限公司 一种基于PCIe的数据传输方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4853831A (en) 1987-02-12 1989-08-01 Nec Corporation Bus connection structure for interruption control system
US6014690A (en) * 1997-10-24 2000-01-11 Digital Equipment Corporation Employing multiple channels for deadlock avoidance in a cache coherency protocol
US6014709A (en) 1997-11-05 2000-01-11 Unisys Corporation Message flow protocol for avoiding deadlocks
US6065077A (en) * 1997-12-07 2000-05-16 Hotrail, Inc. Apparatus and method for a cache coherent shared memory multiprocessing system
US6681293B1 (en) * 2000-08-25 2004-01-20 Silicon Graphics, Inc. Method and cache-coherence system allowing purging of mid-level cache entries without purging lower-level cache entries
US7039836B2 (en) * 2003-04-01 2006-05-02 Hewlett-Packard Development Company, L.P. High performance computer system having a firmware error queue and automatic error handling

Also Published As

Publication number Publication date
JP2006146929A (ja) 2006-06-08
US7471623B2 (en) 2008-12-30
US20060153226A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
JP7565911B2 (ja) 専用低レイテンシリンクを使用した複数のハードウェアアクセラレータのための統合されたアドレス空間
US7334070B2 (en) Multi-channel memory architecture for daisy chained arrangements of nodes with bridging between memory channels
KR100715710B1 (ko) 데이터 처리 장치 및 흐름 제어 방법
US7698483B2 (en) Switching apparatus and method for link initialization in a shared I/O environment
US7917658B2 (en) Switching apparatus and method for link initialization in a shared I/O environment
US7165131B2 (en) Separating transactions into different virtual channels
CN110941576B (zh) 具有多模pcie功能的存储控制器的系统、方法和设备
US7210000B2 (en) Transmitting peer-to-peer transactions through a coherent interface
US6948031B2 (en) Methods and apparatus for transferring a data element within a data storage system
US7395392B2 (en) Storage system and storage control method
CN102576313A (zh) 采用分布式嵌入式切换的多处理计算
KR102420530B1 (ko) 대체 프로토콜 선택
CN115885489A (zh) 用于等待时间关键一致性和存储器互连的前向错误校正和循环冗余检查机制
EP4016309A1 (en) System, apparatus and method for handling multi-protocol traffic in data link layer circuitry
US7031258B1 (en) Digital data system with link level message flow control
US7937505B2 (en) Method and system for flexible and negotiable exchange of link layer functional parameters
US7596650B1 (en) Increasing availability of input/output (I/O) interconnections in a system
US7978693B2 (en) Integrated circuit and method for packet switching control
CN115437978A (zh) 高速外围组件互连接口装置及其操作方法
JP4916162B2 (ja) 統合コンピュータシステムファブリックのためのシステム及び方法
US7660926B2 (en) Apparatus and method for a core for implementing a communications port
Scott The SCX channel: A new, supercomputer-class system interconnect
US7251248B2 (en) Connection device
JP2005062940A (ja) 入出力制御装置
US20240079081A1 (en) Computer architecture with disaggregated memory and high-bandwidth communication interconnects

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070713

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070801

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20071101

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080128

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090724

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090730

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20100108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110509

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110901

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110907

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111128

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120124

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4916162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250