JP5805879B2 - 拡張ヘッダを用いたパケット送信 - Google Patents

拡張ヘッダを用いたパケット送信 Download PDF

Info

Publication number
JP5805879B2
JP5805879B2 JP2014531974A JP2014531974A JP5805879B2 JP 5805879 B2 JP5805879 B2 JP 5805879B2 JP 2014531974 A JP2014531974 A JP 2014531974A JP 2014531974 A JP2014531974 A JP 2014531974A JP 5805879 B2 JP5805879 B2 JP 5805879B2
Authority
JP
Japan
Prior art keywords
header
packet
agent
additional
information
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
JP2014531974A
Other languages
English (en)
Other versions
JP2014526859A (ja
Inventor
ラクシュマナムルティ,シュリハール
シー. ハンセイカー,ミカル
シー. ハンセイカー,ミカル
ティー. クリングルスミス,マイケル
ティー. クリングルスミス,マイケル
ファニング,ブレイズ
アール. ヴァーマ,ロヒート
アール. ヴァーマ,ロヒート
ピー. アドラー,ロバート
ピー. アドラー,ロバート
Original Assignee
インテル コーポレイション
インテル コーポレイション
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 インテル コーポレイション, インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2014526859A publication Critical patent/JP2014526859A/ja
Application granted granted Critical
Publication of JP5805879B2 publication Critical patent/JP5805879B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Small-Scale Networks (AREA)

Description

本願は、拡張ヘッダを用いたパケット送信に関する。
高い性能及び低消費電力のセグメントの両方において、プロセッサチップの主流は、グラフィックス、ディスプレイエンジン、セキュリティエンジン、PCIe(商標)ポート(すなわち、(2002年公開の)周辺機器相互接続(PCI)のローカルバス仕様、バージョン3.0(これ以降、PCI仕様と呼ぶ)等のPCI仕様に準拠したデバイス用の従来のサポートを維持したまま、(2007年公開の)周辺機器相互接続エクスプレス(PCI ExpressTM(PCIeTM))仕様書ベースの仕様バージョン2.0(これ以降、PCIeTM仕様と呼ぶ)及びその他のPCIeTMベースの周辺機器に従ったポート)等の追加の機能をますます統合するようになっている。
このような設計は、サーバ、デスクトップ、モバイル、組込み式のウルトラモバイル及びモバイルインターネット装置セグメントからの様々な要件によってセグメント化される。様々な市場は、プロセッサコア、メモリコントローラ、入力/出力コントローラ、及び他の特定の加速セグメント要素のうちの少なくともいくつかを単一チップ上の組み合わせるような単一チップのシステムオンチップ(SoC)を用いた解決策を求めてきた。しかしながら、これらの機能を蓄積するような設計は、様々なIP(知的財産)ブロックを単一のダイ上に統合することの困難性に直面して停滞していた。これは、IPブロックが様々な要件及び設計の独自性を有しており、多くの特殊なワイヤーや、通信プロトコルを必要とするとき、それらをSoC内に組込み可能にするときにとりわけ停滞していた。結果として、各SoC又は開発される他の最新の半導体デバイスは、様々なIPブロックを単一のデバイスに組み込むために、膨大な量の設計の複雑さ及びカスタマイズを必要とする。所与のIPブロックは、典型的には、所与のSoCのインターフェイス及びシグナリング要件に適応するように再設計する必要があるときに、とりわけ停滞していた。
システムを介したパケットのルーティングを可能にするために、典型的には、情報を含むヘッダが、パケットに設けられており、パケットのルーティング及びデコードを支援する。様々な通信プロトコルが、様々なヘッダ配列のために提供される。しかしながら、これらのヘッダフォーマットは、典型的には固定されており、ヘッダを用いて追加情報を提供するような柔軟性を阻止している。様々なエージェントが複数の通信プロトコルを用いて通信するようなプロトコルをトンネリングする際に、元のパケットを、プロトコルをトンネリングさせるために、追加のヘッダを含むパケットタイプ内でカプセル化することができる。次に、各エージェントは、包含されるパケットヘッダにアクセスできる。しかしながら、この技術は、パケットサイズ及びデコードの複雑性を増大させる。
本発明の実施形態による基本的な相互接続アーキテクチャのブロック図である。 本発明の実施形態による相互接続アーキテクチャのさらに詳細なブロック図である。 本発明の実施形態によるSoCの高レベルのブロック図である。 本発明の別の実施形態によるシステムのブロック図である。 本発明の実施形態によるサイドバンド相互接続のブロック図である。 本発明の実施形態によるサイドバンド・インターフェイス用の使用可能なシグナリングの詳細なブロック図である。 本発明の実施形態によるヘッダ部及びデータ部を有するメッセージを示す図である。 本発明の実施形態によるパケットを生成する方法のフロー図である。 本発明の実施形態による拡張ヘッダを有するパケットをルータで処理する方法のフロー図である。 本発明の実施形態による拡張ヘッダを含むパケットを標的エージェントで処理する方法のフロー図である。 本発明の実施形態によるSoCの一部のより詳細なブロック図である。 本発明の実施形態による別のSoCのブロック図である。
エージェントと呼ばれる様々なコンポーネントを接続するサイドバンド・インターフェイスは、ルーティングファブリックがこの情報に不確か性(agnostic)を完全に留めており、且つ特定の標的エージェントのみがこのような拡張ヘッダを理解することができるように、サイドバンド・メッセージ内の追加のヘッダ情報を送信する能力を有するように構成してもよい。所与のメッセージについて拡張ヘッダを送信する機能を追加することによって、インターフェイス仕様の標準ヘッダ、例えば1ダブルワード(DW)の任意の長さの拡張を実現することができる。同時に、ルータ、スイッチ、又は他のインターフェイス部品は、(例えばヘッダの第1のDWを検査することにより、)標準ヘッダに基づいて、入力メッセージを処理することができる。また、実施形態は、簡素化したパケットレイアウト及びデコードスキームを提供することによって、受信エージェントが、拡張ヘッダが受信エージェントによってこのエージェント内のメッセージストリームとしてサポートされていない(例えば拡張ヘッダを気にせず処理する)場合に、拡張ヘッダを破棄する又はストリップする。
本発明の実施形態による拡張ヘッダの仕組みを提供することにより、このような情報をサポートしない受信エージェントは、受信メッセージのその情報を無視することができる。これによって、マスター及び標的エージェントにおける設計の複雑さを低減することが可能になる。例として、セキュリティ属性情報(SAI)を拡張ヘッダで送信する場合を考える。マスターエージェントは、全てのトランザクションでSAIを常に送信する構成を実現することができる。SAIの送信をハードコード化することができ、構成可能なSAIヘッダの挿入によるセキュリティ上の脆弱性を回避することができるので、このようなマスターエージェントはより安全になる。SAI拡張ヘッダを有するトランザクションが、アクセス制御ポリシーを実施するように構成された標的エージェントを宛先とした場合には、標的エージェントは、そのヘッダ内のSAI情報を使用することができる。代わりに、トランザクションがアクセス制御保護のために構成されたリソースを有さない標的エージェントを宛先とした場合には、そのエージェントは、拡張ヘッダを無視して、標準メッセージヘッダ及び対応するメッセージペイロードを処理することができる。
実施形態は、多くの様々なタイプのシステムで用いることができる。例として、本明細書で説明される実装形態では、単一の半導体ダイ上に製造されるようなプロセッサ等の半導体デバイス又は他の半導体デバイスに関して用いることができる。特定の実施形態では、デバイスは、システムオンチップ(SoC)又は種々の同種及び/又は異種の処理エージェントを含む他の最新のプロセッサ又はチップセット、及び例えば、ルータ、コントローラ、ブリッジデバイス、デバイス、メモリ等のネットワークコンポーネントのような追加のコンポーネントであってもよい。
いくつかの実装形態は、SoCを含むチップ内に知的財産(IP)ブロックを取り付けるための標準化されたオンチップ相互接続プロトコルを提供するために、半導体製造業者によって発行された、集積化オンチップシステム・ファブリック(IOSF)仕様として所与の仕様に従って設計された半導体デバイスとして用いることができる。このようなIPブロックは、他の多くのプロセッサの中でインオーダー(順次の)又はアウトオブオーダー(非順次の)コア、固定機能ユニット、グラフィックプロセッサ、IOコントローラ、ディスプレイコントローラ、メディアプロセッサ等の汎用プロセッサを含む様々なタイプのものであり得る。相互接続プロトコルを標準化することにより、フレームワークは、こうして、様々なタイプのチップにおいてIPエージェントの広範な使用のために実現される。従って、多様な顧客セグメントに亘って又仕様を経由して、様々なタイプのチップを効率的に設計する半導体メーカーだけでなく、第三者が、IPエージェント等のロジックをこのようなチップに組込むことを可能にする。さらに、相互接続プロトコルの多くのファセット用の複数のオプションを提供することによって、再設計が効率的に提供される。実施形態は、このIOSF仕様に関連して本明細書に説明されるが、本発明の範囲はこの点に限定されるものではなく、実施形態は、多くの様々なタイプのシステムで用いることができることを理解されたい。
ここで図1を参照すると、本発明の実施形態による基本的な相互接続アーキテクチャのブロック図が示されている。図1に示されるように、システム10は、システムオンチップ又は高集積プロセッサ複合体又は統合されたIOハブ等の他の半導体装置の一部であってもよく、様々なコンポーネント間の相互接続として機能するファブリック20を含むことができる。示された実施形態では、これらのコンポーネントは、計算機能、グラフィックス機能、メディア処理能力等の種々の機能を提供するための独立したIPブロックとすることができるようなIPエージェント30及び40を含む。これらのIPエージェントは、一実施形態では、IOSF仕様に準拠したインターフェイスを有するIPブロック又論理デバイスである。さらに確認されるように、ファブリック20は、ブリッジ50にもインターフェイス接続する。図1の実施形態では説明を簡易にするために図示されていないが、ブリッジ50は、例えば同じチップ上又は1つ以上の異なるチップ上で他のシステムコンポーネントへのインターフェイスとして機能し得ることを理解されたい。
さらに後述するように、図1に示される要素の各々、すなわちファブリック、IPエージェント、及びブリッジは、各種信号の通信を処理するための1つ以上のインターフェイスを含んでもよい。これらのインターフェイスは、エージェント間での情報交換に用いるこれらのインターフェイス、プロトコルの通信の信号を規定するようなIOSF仕様や、情報交換、サポートされたアドレスのデコード化及び変換機能、インバンド又はアウトオブバンド通信用のメッセージング、電源管理、テスト、検証、及びデバッグサポートを開始し、管理するために使用される調停及びフロー制御機構、に従って規定される。
IOSF仕様は、各エージェントに提供される3つの独立したインターフェイス、すなわちプライマリ・インターフェイス、サイドバンド・メッセージインターフェイス、可試験性及びデバッグ用インターフェイス(テスト用に設計された(DFT)、デバッグ用に設計された(DFD)インターフェイス)が含まれる。IOSF仕様に従って、エージェントは、これらのインターフェイスの任意の組合せをサポートすることができる。具体的には、エージェントは、0〜Nのプライマリ・インターフェイス、0〜Nのサイドバンド・メッセージインターフェイス、及び随意のDFxインターフェイスをサポートすることができる。しかしながら、この仕様によれば、エージェントは、これらの3つのインターフェイスのうちの少なくとも1つをサポートしなければならない。
ファブリック20は、異なるエージェント間でデータを移動させるようなハードウェア要素であってもよい。ファブリック20のトポロジ(接続形態)は、製品に固有なものであることに留意されたい。例として、ファブリックは、バス、階層バス、カスケード接続されたハブ等として実施することができる。ここで図2を参照すると、本発明の実施形態による相互接続アーキテクチャのさらに詳細なブロック図が示されている。図2に示されるように、IOSF仕様は、3つの異なるファブリック、すなわち、プライマリ・インターフェイスファブリック112、DFxファブリック114、及びサイドバンドファブリック116を規定する。プライマリ・インターフェイスファブリック112は、エージェントとメモリとの間の、例えば中央処理装置(CPU)等のホストプロセッサ又は他のプロセッサとエージェントとの間の全ての帯域内通信に使用される。プライマリ・インターフェイスファブリック112は、エージェントとサポートされるファブリックとの間にピア・トランザクション通信をさらに可能にする。メモリ、入出力(IO)、構成、及び帯域内メッセージングを含む全てのトランザクション・タイプは、プライマリ・インターフェイスファブリック112を介して配信することができる。こうして、プライマリ・インターフェイスファブリックは、ピア及び/又は上流側のコンポーネントを含む通信の間で転送されるデータに対して高性能インターフェイスとして機能することができる。
様々な実装形態では、プライマリ・インターフェイスファブリック112は、最大同時並行処理を実現するために分割トランザクションプロトコルを実装している。すなわち、このプロトコルは、要求フェーズ、許可フェーズ、命令及びデータフェーズを提供する。様々な実施形態では、プライマリ・インターフェイスファブリック112は、3つの基本的な要求タイプ、ポステッド(posted)、ノンポステッド(non-posted)、及びコンプリージョン(completion)(完了):をサポートしている。一般的には、ポステッド・トランザクションは、ソースから送信されたときに、このソースだけで完了したと見なされるトランザクションであり、ソースは、トランザクションについて完了又は他の確認メッセージを受信しない。ポステッド・トランザクションの一例は、書き込みトランザクションであってもよい。対照的に、ノンポステッド・トランザクションは、返信メッセージを受信するまで、すなわち完了するまで、ソースによって完了したとは見なされない。ノンポステッド・トランザクションの一例は、ソース側エージェントがデータの読み出しを要求するような読み出しトランザクションである。従って、完了メッセージは、要求されたデータを提供する。
また、プライマリ・インターフェイスファブリック112は、個別のチャネルの概念をサポートして、システム全体に流れるような独立したデータのメカニズムを提供する。さらに説明するように、プライマリ・インターフェイスファブリック112は、それ自体、トランザクション開始するマスター・インターフェイス及びトランザクションを受け取る標的インターフェイスを含むことができる。マスター側プライマリ・インターフェイスを、さらに、要求インターフェイス、命令インターフェイス、及びデータインターフェイスに細分化することができる。要求インターフェイスは、トランザクションの命令及びデータの移動を制御するために使用することができる。様々な実施形態では、プライマリ・インターフェイスファブリック112は、PCI順序付け規則及び列挙をサポートすることができる。
次に、サイドバンド・インターフェイスファブリック116は、全ての帯域外情報を通信するための標準的なメカニズムであってもよい。このように、所与の実装形態のために設計された特殊目的のワイヤの使用を回避することができ、多様なチップに亘ってIP再利用の能力を高める。従って、ステータス、割り込み、消費電力管理、ヒューズ分布、構成シャドーイング、テストモード等の帯域外通信を処理するための専用のワイヤを用いるIPブロックとは対照的に、IOSF仕様に従ったサイドバンド・インターフェイスファブリック116は、全ての帯域外通信を標準化して、モジュール性を促進し、様々なデザインに亘ってIP再利用のための検証要件を削減する。一般に、サイドバンド・インターフェイスファブリック116は、典型的には、プライマリ・インターフェイスファブリック112を介して通信することができるような重要なデータを転送する性能というよりも、むしろ、重要でない情報を通信するために使用されてもよい。
図2にさらに示されるように、IPエージェント130,140,150は、それぞれ、対応するプライマリ・インターフェイス、サイドバンド・インターフェイス、DFxインターフェイスを含むことができる。しかしながら、上述したように、各エージェントは、これらのインターフェイスの全てを含む必要はなく、所与のIPエージェントは、いくつかの実施形態において、単一のインターフェイスのみを含んでもよい。
IOSF仕様を用いて、種々の異なる機能性を有するような多種多様のチップを設計することができる。ここで図3を参照すると、本発明の一実施形態によるSoCの高レベルのブロック図が示されている。図3に示されるように、SoC200は、様々なコンポーネントを含んでもよく、これらコンポーネントの全ては、単一の半導体ダイ上に集積されて、高速且つ現状よりも消費量の少ない低電力で種々の処理機能を提供する。図3に確認されるように、SoC200は、複数のコア205〜205を有する。様々な実施形態では、コア205は、比較的単純な順次処理(in-order)コア又はより複雑な非順次処理(out of order)コアとすることができる。又は順序及び非順次の組合せのコアを、単一のSoCに存在させてもよい。確認されるように、コア205は、コヒーレント相互接続215を介して相互接続され、さらにキャッシュメモリ210、例えば共有ラストレベルキャッシュ(LLC)に接続される。本発明の範囲は、この点に限定されるものではないが、一実施形態では、コヒーレント相互接続215を、カリフォルニア州、サンタクララにあるインテル社から入手可能な仕様クイックパス相互接続(QPI)(商標)に従ってもよい。
図3にさらに確認されるように、コヒーレント相互接続215は、ブリッジ220を介してIOSFファブリックとすることができるファブリック250に通信することができる。コヒーレント相互接続215は、集積メモリコントローラ215を介して外部メモリ(図3の実施形態の例を簡易にするために図示せず)に、さらに、ブリッジ230を介してファブリック250に通信してもよい。
さらに図3に確認されるように、様々なコンポーネントは、セキュリティ処理、暗号化機能等の各種操作を行うために使用することができるコンテンツ処理モジュール(CPM)240を含むファブリック250に接続される。また、関連する表示用映像をレンダリングするディスプレイ・プロセッサ245は、メディア処理パイプラインの一部であってもよい。
さらに確認されるように、ファブリック250は、IPエージェント255にさらに接続されてもよい。単一のエージェントが、図3の実施形態では例示を簡易にするために示されているが、複数のこのようなエージェントを、様々な実施形態に存在させることが可能であることを理解されたい。加えて、他のオンチップ・デバイスとの通信を可能にするために、ファブリック250は、PCIe(商標)コントローラ260と、ユニバーサル・シリアルバス(USB)265と通信することができ、これらが両方とも、これらのプロトコルに従って様々なデバイスと通信することができる。最後に、図3の実施形態には、オープンコア・プロトコル(OCP)又はARMアドバンストマイクロコントローラ・バスアーキテクチャ(AMBA)プロトコル等の他のプロトコルからなる追加のコンポーネントと通信するために使用することができるブリッジ270が示されている。図3の実施形態のこれらの特定のコンポーネントに示されているが、本発明の範囲はこのような態様に限定されるものではなく、別の実施形態では、追加の又は異なるコンポーネントが存在してもよいことを理解されたい。
さらに、図3では単一ダイのSoC実装形態として示されているが、実施形態は、複数のチップが非IOSFインターフェイスを介して互いに通信するようなシステムにおいてさらに実装することができることを理解されたい。ここで図4を参照すると、本発明の別の実施形態によるシステムのブロック図が示されている。図4に示されるように、システムは、図3に関して上述したコンポーネントと同様の多数のコンポーネントと、追加のオフダイ・インターフェイス275とを含むようなSoC200’を含むことができる。従って、SoCの200’は、様々な機能を含む別のチップ280と通信することができ、これら二つのチップ同士の間の通信だけでなく、1つ又は複数の異なる仕様に従った異なる周辺装置等の様々なオフチップ・デバイスとの通信を可能にする。具体的には、第2チップ280は、SoC200’と通信し、次に、本発明の実施形態によるIOSFファブリックであるファブリック290との通信を可能にするようなオフダイ・インターフェイス282を含むように示されている。確認されるように、ファブリック290は、PCIe(商標)コントローラ292、USBコントローラ294、ブリッジ296を含むオフチップ・デバイスと通信するような、各種コントローラにさらに接続されてもよい。
上述したように、様々な実施形態では、全ての帯域外通信は、サイドバンド・メッセージインターフェイスを介して行うことができる。ここで図5を参照すると、本発明の実施形態によるサイドバンド相互接続のブロック図が示されている。図5に示されるように、サイドバンド・インターフェイスシステム175は、図5の実施形態においてポイント・ツー・ポイント(PTP)相互接続185を介して接続されるように示される複数のルータ180及び190を含む。次に、各ルータは、例えばIPエージェント又は所与のシステムの他のコンポーネントである様々なエンドポイントに接続することができる。具体的には、ルータ180は、複数のエンドポイント186a〜186eに接続され、ルータ190は、複数のエンドポイント196x〜196zに接続される。
ここで図6を参照すると、本発明の実施形態によるサイドバンド・インターフェイスに使用可能なシグナリング(信号方式)の詳細を示すブロック図が示されている。図6に示されるように、ルータ180とエンドポイント186との間の相互接続が示されている。確認されるように、ルータ180は、標的インターフェイス181とマスター・インターフェイス182とを含むことができる。一般に、マスター・インターフェイス182は、入力信号を受信するように構成されており、標的インターフェイス181は、出力信号を送信するように構成することができる。確認されるように、エンドポイント186も、マスター・インターフェイス187と標的インターフェイス188とを含む。
図6は、さらに、クレジット情報、プット(put)情報、メッセージ・シグナリングの終了、及びデータを含むサイドバンド・インターフェイスに利用可能な様々なシグナリング(信号方式)の詳細を示している。具体的には、クレジット更新が、ノンポステッド・クレジット更新信号(NPCUP)及びポステッド・クレジット更新信号(PCCUP)等のサイドバンド・インターフェイスを介して通信することができる。また、プット(put)信号(NPPUT及びPCPUT)を設けてもよい。さらに、メッセージ(EOM)信号の終了を通信することができる。最終的に、データは、一実施形態では、1バイト長の通信チャネルを介して実施されるペイロードパケットを介して通信することができる。図6の実施形態におけるこの特定の実装形態に示されているが、本発明の範囲はこの点に限定されるものではない。クレジット・プット信号がハイであるときは、これは、クレジットが返されることを意味する。プット信号がハイであるときは、ペイロード(例えば、データ)信号が有効であることを意味する。プット(PUT)及びEOMが同時にハイであるときは、現在のペイロードがメッセージの最後のペイロードであることを意味する。インターフェイスは、データペイロードを「プット」とともに、同じクロックサイクルでクレジットを「プット」することもできることに留意されたい。
様々な実装形態では、サイドバンド・メッセージは、追加のヘッダ情報を1つ又は複数の拡張ヘッダで搬送することができる。本明細書で使用されるように、用語「追加のヘッダ情報」は、「(潜在的に異なるタイプの)より大きな情報量及び/又は所与のインターフェイス仕様に従って標準ヘッダに存在する情報とは異なる配列を指すために使用される。一実施形態では、各拡張ヘッダは、本明細書に説明される実施形態では、1DW長の従来ヘッダの長さとすることができる。メッセージ内の拡張ヘッダの数は、固有のものである。システム内の異なるエージェントは、様々な数の拡張ヘッダで拡張されたメッセージを開始することができる。拡張ヘッダの存在を識別するために、いくつかの実施形態では、拡張ヘッダ(EH)インジケータ、例えば単一のビットは、随意の拡張ヘッダの存在を示すために全てのメッセージの標準ヘッダに存在させる、すなわち標準ヘッダ長の別のヘッダの追加(ヘッダ)に存在させることができる。次に、全ての拡張ヘッダ内のEHインジケータは、標準ヘッダ長のその後の拡張ヘッダの存在を示している。存在する場合には、1つ以上の拡張ヘッダが、標準ヘッダの後に(例えば、1DW標準ヘッダ長を有するシステムの最初のDWの後に)追加することができる。
図7は、ヘッダ部310及びデータ部340を有するメッセージ300を示しており、ここで、ヘッダ部310は、N個の拡張ヘッダまで含むことができる。他の全てのサイドバンド・メッセージは、同じ拡張ヘッダ・フォーマットに従う。
図7の例に示されるように、EHインジケータ314は、第1の拡張ヘッダ((ExpHdr1))320の存在を示すためのIOSF仕様の標準ヘッダとすることができる第1のヘッダ312に設定される。図7に確認されるように、第1のヘッダ312は、宛先フィールド311、ソース・フィールド313、命令コード・フィールド315、タグ・フィールド318及び応答フィールド319を含むような様々な追加フィールドを含む。図7の実施形態に確認されるように、EHインジケータ314は、ヘッダの最後のフロー制御ユニット(フリット)に、すなわちこのフリットの最上位ビット(MSB)に存在してもよいが、本発明の範囲はこの点に限定されるものではない。
種々の実施形態では、第1のヘッダの後に続く各拡張ヘッダについて、そのEHインジケータは、代わりに、対応する拡張ヘッダの最初のフリット内に存在してもよい。従って、図7に確認されるように、第1の拡張ヘッダ320は、ヘッダ識別子フィールド(例えば、ヘッダID)324と一緒に、ヘッダ320の第1のフリットに存在するEHインジケータ322を含む。拡張ヘッダIDフィールド324、ExpHdr ID[6:0]は、特定のヘッダ拡張IDを識別することができる。様々な実施形態では、識別子は、ヘッダを生成するエージェントに固有のものであるというよりも、IOSF仕様に従って決定された特定のタイプの拡張ヘッダを示してもよい。一例として、IOSF仕様は、SAIを提供する目的の拡張ヘッダ識別子を現時点で規定しており、一実施形態では、拡張ヘッダ・フィールドは、0000000のバイナリ値を有することができる。エージェントが、0000000のIDを含む拡張ヘッダを受信する場合に、エージェントは、その拡張ヘッダ内に含まれるデータがSAIであることを知っている。
EHインジケータを第1の拡張ヘッダ(ExpHdr1)に設定することは、第2の拡張ヘッダ等の存在を示す。最後の拡張ヘッダ(ExpHdrN)330におけるEHインジケータ332は、設定されておらず、現在の拡張ヘッダが最後の拡張ヘッダであることを示している。図7に確認されるように、データペイロード・フリットは、最後の拡張ヘッダ330の後に開始する。
全ての標的エージェントは、それら標的エージェントがいずれかの拡張ヘッダの内容を解釈しているか否かに関係なく、現在の拡張ヘッダでフォーマットされるメッセージを把握するとともに、メッセージ及びデータペイロードから拡張ヘッダを区別する能力をさらにサポートするように構成することができる。標的エージェントによってサポートされていないExpHdr IDフィールドを含む任意の拡張ヘッダは、ドロップされ、サポートされるExpHdr IDにエイリアスをせず、受信メッセージのエージェントの処理に影響を与えない。様々な実施形態では、ルータは、標準ヘッダ(例えば、第1のヘッダDW)のみを使用して、メッセージの種類を判定し、そのメッセージをその標的エージェントへルーティングするように構成することができる。システム内の正確性を維持するために、ルータは、拡張ヘッダの属性を変更することなく、拡張ヘッダを含むメッセージを転送するようにさらに構成されてもよい。
ここで図8を参照すると、本発明の実施形態によるパケットを生成する方法のフロー図が示されている。より具体的には、図8の方法400は、エージェントによって拡張ヘッダを有するサイドバンド・パケットを生成するために使用されてもよい。確認されるように、方法400は、パケットのヘッダ部に追加データが含まれるか否かを判定する(ダイヤモンド410)ことによって開始することができる。含まれない場合には、標準パケットヘッダは、リセット値を有する拡張ヘッダ・インジケータとともに生成される(ブロック415)。こうして、このリセット値は、パケットが標準ヘッダ長さであることを示している。従って、ブロック420において、パケットは、標準ヘッダで送信することができる。
代わりに、ダイヤモンド410で、追加のデータがそのヘッダに含まれると判定された場合には、制御がブロック430に移り、ここで標準ヘッダが生成され、さらに、このヘッダは、設定値を含む拡張ヘッダインジケータを有するように生成される。この設定値によって、追加のヘッダ情報がパケットに存在することを、パケットの受信側に示す。次に、制御は、ダイヤモンド440に移り、この追加のヘッダ情報が生成された最後の拡張ヘッダに存在するか否かを判定することができる。もし最後の拡張ヘッダであれば、制御は、ブロック450に移り、ここで単一の追加のヘッダが生成され、且つメッセージに追加することができる。より具体的には、この追加のヘッダは、例えば拡張ヘッダ内に存在するデータのタイプを識別するために、追加データ及び拡張ヘッダ識別子を含んでもよい。また、この追加のヘッダは、リセット拡張ヘッダインジケータを含むことができ、こうして、さらなる拡張ヘッダが、このパケットのために通信されるべきでないことを示す。従って、制御はブロック460に移り、ここでパケットを、(その標準パケット及びペイロードデータに加えて)拡張ヘッダと共に送信することができる。
代わりに、ダイヤモンド440で、この追加のヘッダ情報が最後の拡張ヘッダでないと判断された場合には、制御は、ブロック455に移る。そこでは、ヘッダが、追加データ及び拡張ヘッダ識別子を含むように生成することができる。さらに、追加のヘッダは、拡張ヘッダインジケータのセットを有することができ、メッセージに追加することができる。上述したように、制御は、その後、ダイヤモンド440に移る。図8の実施形態では、この特定の実装形態に示されているが、本発明の範囲はこの点に限定されるものではないことを理解されたい。
上述したように、拡張ヘッダを含むパケットを受信したルータは、必ずしも拡張ヘッダ内の情報を処理する又はサポートする必要はなく、代わりに、パケットの標準ヘッダ部分に存在する情報に単に基づいて標的宛先に向けてパケットを転送することができる。ここで図9を参照すると、本発明の実施形態による拡張ヘッダを含むパケットをルータで処理する方法のフロー図が示されている。図9に示されるように、方法500は、拡張ヘッダを含むパケットを受信すること(ブロック510)によって開始することができる。ルータは、次に、例えば標準ヘッダ内に存在する情報に基づいてメッセージタイプを判定してもよく、さらに、標準ヘッダの宛先識別子フィールド等の標準ヘッダに存在する情報に基づいてルーティングを決定する(ブロック520)ことができる。従って、ブロック530において、パケットを、拡張ヘッダと共に判定されたエージェントに転送することができる。ルータは、拡張ヘッダ部分に存在する情報を考慮しない又はサポートしていないにもかかわらず、標準ヘッダに存在する情報を依然として処理して、その適切な宛先にパケットを転送することができる。
また上述したように、多くの実施形態では、拡張ヘッダを含むパケットの受信側は、必ずしも拡張ヘッダに存在する情報をサポートする必要はなく、様々なIPのエージェントのより効率的な再利用を可能にする。ここで図10を参照すると、拡張ヘッダを含むパケットを標的エージェントで処理する方法のフロー図が示されている。図10に確認されるように、方法600は、拡張ヘッダを含むパケットを標的エージェントで受信すること(ブロック610)によって開始することができる。次に、標的エージェントが拡張ヘッダに存在する情報をサポートしているか否かを判定することができる。より具体的には、ダイヤモンド620で、標的エージェントが、1つ又は複数の拡張ヘッダに存在する情報をサポートしているか否かを、拡張ヘッダ識別子フィールド内の情報に基づいて判定することができる。情報をサポートしている場合には、制御はブロック630に移り、ここで、パケットは、標的エージェントによって拡張ヘッダ及び標準ヘッダに存在する情報を少なくとも部分的に用いて処理される。代わりに、ダイヤモンド620で、標的エージェントが拡張ヘッダ内の情報をサポートしていないと判定された場合には、制御はブロック640に移る。そこで、ヘッダの拡張部分(1つ又は複数の拡張ヘッダ部であるか否かによらず)をドロップすることができ、従って、制御はブロック650に移り、ここでパケットは、標準ヘッダ内の情報を用いて処理することができる。
いくつかの実装形態では、複数の拡張ヘッダが単一のパケットで送信され、標的エージェントは、拡張ヘッダのうちの少なくとも1つに存在する情報をサポートできるが、他の拡張ヘッダに存在する情報をサポートできないことに留意されたい。従って、このような状況では、標的エージェントは、例えば拡張ヘッダの拡張ヘッダ識別子フィールドに基づいてサポートされるような、あらゆる拡張ヘッダに存在する情報を用いることができる。図10の実施形態のこの特定の実装形態に示されているが、本発明の範囲は、この点に限定されるものではないことを理解されたい。
カプセル化メカニズムを介して追加のヘッダ情報を提供するというよりもむしろ、実施形態は、全てのパケットの同じ場所に常にあるが、依然として任意の長さの拡張ヘッダ長を可能にするような拡張ヘッダを提供することができる。
実施形態は、こうして、ルーティングファブリックが拡張ヘッダに依存しないすることを可能にするとともに、標的エージェントがメッセージの受信処理中に拡張ヘッダを完全に無視することをさらに可能にする。これは、インターネットプロトコル(IP)に対比されるが、IPスティックの各層が、追加のヘッダを既存のヘッダの内部に挿入し、それによって、各層は、プロトコルスタックの任意のレイヤでパケットを処理するために、「その各層を処理し(peel the onion)」なければならない。対照的に、本発明の実施形態による拡張ヘッダ機構を用して、ルータは、標準パケットヘッダ(例えば、第1DW)のみを処理することが保証され、拡張ヘッダは、所定の位置で開始する(例えば、第2DWから始まる)ことが保証される。このように、ハードウェアは、オンダイ(on-die)の、メッセージベースの相互接続を促進するために供給することができる。
図3及び図4のSOCは、ハイレベルであるが、追加の機能が存在し得ることを理解されたい。ここで図11を参照すると、本発明の実施形態によるSoCの一部のより詳細なブロック図が示されている。図11に示されるように、システムメモリに関しても同様である。
確認されるように、オフダイ・インターフェイス710(一実施形態では、直接メディアインターフェイス(DMI)とすることができる)は、ハブ715、例えば様々な周辺機器の間での通信を順次提供する入力/出力ハブに接続される。図中の説明を簡易にするために図示していないが、管理エンジン及び仮想エンジン等の様々なエンジンは、ハブ715に直接的に接続することができることを理解されたい。
IOSF仕様に従ったマルチポイント又は共用バスであるマルチバスに接続を提供するために、IOSFコントローラ720は、ハブ715及びバス730の間に接続されてもよく、こうしてファブリックの要素だけでなくルータを組み込むようなIOSFバスであってもよい。図7に示される実施形態では、第1のIOSFバス730は、オフチップ・デバイスの制御を提供するために、各種コントローラに接続させてもよい。具体的には、PCIコントローラ722、SATAコントローラ724、USBコントローラ726が示されている。次に、第2のIOSFバス750は、システム管理バス752に及びリアルタイムクロック754に接続される。
図11にさらに確認されるように、第1のIOSFバス730は、プライマリ情報及びサイドバンド情報の両方のためのIOSFブリッジ735に接続することができ、このIOSFブリッジは、各種コントローラ及びコンポーネントが取り付けられるような、例えば異なるプロトコルの第3のバス740に相互接続を提供する。図11に示される実施形態では、このようなコンポーネントは、不揮発性メモリへのインターフェイスを提供するためのフラッシュ・コントローラ741や、例えばPCI仕様により種々の従来の機能を実現することができるレガシーデバイス742を含み、割り込みコントローラ及びタイマをさらに含むことができる。また、オーディオ743、USB744、ギガバイト・イーサネット(登録商標)(GbE)745、シリアル周辺機器インターフェイス(SPI)746及びPCI747用のインターフェイスを全て提供してもよい。図11の実施形態におけるこの特定の実装形態に示されているが、本発明の範囲は、この点に限定されるものではないことを理解されたい。
依然として他の実装形態が可能である。ここで図12を参照すると、本発明の実施形態による他のSoCのブロック図が示されている。図12に示されるように、SoC800は、例えばサーバシステムで用いるために構成されてもよい。図12に確認されるように、SoCは、一般に、図11の実施形態に確認されるようなコンポーネントを含むようなプラットフォーム・コントローラハブ(PCH)840を含むことができる。つまり、複数のIOSFバス730及び740は、これらのバスに接続するためのブリッジ735と一緒に存在しててもよい。バス730は、PCIeコントローラ722、SATAコントローラ724、USBコントローラ726を含むバスに接続された様々なエージェントを含んでもよい。次に、IOSF制御ユニット720を介して、通信は、追加のバス718を介して行うことができ、コア又は他の処理ユニット等の(図12の実施形態では説明を簡易にするために示されていない)上流側デバイスと通信することができる。
さらに図12に確認されるように、他のサーバベースのコンポーネントとの通信を提供するために、追加のIOSFバス820を提供してもよく、次にIOSFコントローラ822と、上流側のバス825に接続される上流側スイッチポート824(例えば、X16ポート)と通信することができる。また、下流側マルチスイッチポート826及び828をバス820に接続してもよい。
さらに、例えばサーバベースのシステムの記憶装置と通信を可能にするために、スイッチポート830をバス820及び別のIOSFバス850の間に接続してもよく、次に様々な記憶装置と接続するための多機能デバイスである記憶コントローラユニット(SCU)855に接続することができる。
実施形態は、コードで実装されてもよく、システムをプログラムして命令を実行させるような命令が内部に記憶された非一時的記憶媒体に格納されてもよい。記憶媒体は、フロッピー(登録商標)ディスク、光ディスク、半導体ドライブ(SSD)、読み出し専用コンパクトディスクメモリ(CD−ROM)、書き換え可能なコンパクトディスク(CD−RW)、及び光磁気ディスクや、例えば読み出し専用メモリ(ROM)等の半導体デバイス、ダイナミック・ランダムアクセスメモリ(DRAM)等のランダムアクセスメモリ(RAM)、スタティック・ランダムアクセスメモリ(SRAM)、消去可能なプログラマブル読み取り専用メモリ(EPROM)、フラッシュメモリ、電気的に消去可能なプログラマブル読み取り専用メモリ(EEPROM)、磁気又は光カード、又は電子命令を記憶するのに適した任意の他のタイプの媒体を含むことができるが、これらに限定されるものではない。
本発明は、限られた数の実施形態に関して説明してきたが、当業者は、それらの説明から多数の修正及び変更を認識するであろう。添付の特許請求の範囲は、このような修正及び変更の全てが、本発明の真の精神及び範囲内にあることを包含することが意図される。

Claims (17)

  1. 方法であって、当該方法は:
    第1のエージェントでパケットを受信するステップであって、前記パケットが、拡張ヘッダインジケータを含む第1のパケットヘッダを有する、受信するステップと;
    前記第1のパケットヘッダの前記拡張ヘッダインジケータに基づいて、前記パケットが、少なくとも1つの追加のパケットヘッダを含むか否かを判定するステップと;
    追加のパケットヘッダを含む場合に、前記少なくとも1つの追加のヘッダのヘッダ識別子に基づいて、前記第1のエージェントが、前記少なくとも1つの追加のパケットヘッダ内の情報をサポートしているか否かを判定するステップと
    前記第1のエージェントが前記情報をサポートしている場合には、前記少なくとも1つの追加のパケットヘッダを処理し、サポートしていない場合には、前記少なくとも1つの追加のパケットヘッダをドロップするステップを含む、
    方法。
  2. 前記第1のエージェントが前記情報をサポートしていない場合には、前記第1のパケットヘッダを用いて前記パケットを処理するステップをさらに含む、
    請求項に記載の方法。
  3. N−1番目の追加のパケットヘッダの拡張ヘッダインジケータに基づいて、前記パケットがN番目の追加のパケットヘッダを含むか否かを判定するステップをさらに含む、
    請求項1に記載の方法。
  4. 前記少なくとも1つの追加のパケットヘッダのセキュリティ属性情報を含むデータを前記第1のエージェントで使用するステップをさらに含む、
    請求項1に記載の方法。
  5. 第2のエージェントにおいて受信したセキュリティ属性情報を、第2のパケットヘッダ用の追加のパケットヘッダとして使用しないステップをさらに含み、前記第2のエージェントは、前記セキュリティ属性情報をサポートしていない、
    請求項に記載の方法。
  6. ソースエージェントに接続されたルータで前記パケットを受信するとともに、前記第1のパケットヘッダに基づいて前記第1のエージェントに前記パケットをルーティングするステップをさらに含み、前記ルータは、前記少なくとも1つの追加のパケットヘッダの情報をサポートするように構成されていない、
    請求項1に記載の方法。
  7. 前記ヘッダ識別子は、前記少なくとも1つの追加ヘッダのヘッダ識別子フィールドに存在する、
    請求項1に記載の方法。
  8. 前記第1のエージェントのサイドバンド・インターフェイスで前記パケットを受信するステップをさらに含み、前記サイドバンド・インターフェイスは、第2のエージェントから前記パケットを受信するルータに接続されており、前記第1及び第2のエージェント及び前記ルータが、システムオンチップ(SoC)に存在する、
    請求項1に記載の方法。
  9. 前記第1及び第2のエージェントのうちの少なくとも一方は、第三者の知的財産(IP)ブロックである、
    請求項に記載の方法。
  10. 前記少なくとも1つの追加のヘッダの情報を変更することなく、前記ルータから前記第1のエージェントに前記パケットを転送するステップをさらに含む、
    請求項に記載の方法。
  11. 命令を含む機械的にアクセス可能な記憶媒体を含む物品であって、前記命令は、実行されたときに、システムオンチップ(SoC)に:
    第1のエージェントから送信されたパケットに追加のヘッダ情報が含まれるか否かを判定する;
    前記追加のヘッダ情報が含まれる場合には、前記パケットの第1のヘッダの拡張ヘッダインジケータを第1の状態に設定して、前記パケットの第2のヘッダの存在を示す;
    前記追加のヘッダ情報の少なくとも一部を前記第2のヘッダに含める;
    前記第1及び第2のヘッダ及びデータ部を含む前記パケットを前記第1のエージェントから送信する;ように
    前記追加のヘッダ情報が前記第2のヘッダ内に収まるようにサイズ決めされている場合には、前記第2のヘッダの拡張ヘッダインジケータを第2の状態に設定して、さらなるヘッダが前記パケット内に含まれないことを示すような命令を含む、
    物品。
  12. 実行されたときに、前記追加のヘッダ情報が前記第2のヘッダ内に収まるようにサイズ決めされていない場合には、システムが、前記第2のヘッダの前記拡張ヘッダインジケータを前記第1の状態に設定して、前記パケットに第3のヘッダの存在を示すような命令をさらに含む、
    請求項11に記載の物品。
  13. 実行されたときに、システムが、前記第1のエージェントのサイドバンド・インターフェイスを介して前記第1のエージェントに接続されたルータに、該ルータに接続された第2のエージェント宛の前記パケットを送信させるような命令をさらに含んでおり、前記第1のヘッダには、前記第2のエージェント用の宛先識別子を含んでおり、前記第1及び第2のエージェント及び前記ルータが、前記SoCに存在する、
    請求項11に記載の物品。
  14. 実行されたときに、システムが、前記拡張ヘッダインジケータ及び拡張ヘッダ識別子を前記第2のヘッダの第1のフロー制御ユニットに含めるとともに、前記追加のヘッダ情報を、前記第1のフロー制御ユニットに続く前記第2のヘッダの複数のフロー制御ユニットに含めるような命令をさらに含む、
    請求項11に記載の物品。
  15. 前記追加のヘッダ情報は、セキュリティ属性情報を含む、
    請求項14に記載の物品。
  16. 装置であって、当該装置は:
    追加のヘッダ情報を含むパケットを送信する第1のエージェントであって、第1のエージェントは、前記パケットの第1のヘッダの拡張ヘッダインジケータを設定して、前記パケットの第2のヘッダの存在を示すとともに、前記追加のヘッダ情報の少なくとも一部を前記第2のヘッダに含めて、前記第1及び第2のヘッダ及びデータ部を含む前記パケットを送信する、第1のエージェントと;
    前記パケットを受信するとともに、前記第1のヘッダに基づいて第2のエージェントに前記パケットをルーティングするような前記第1のエージェントに接続されたルータと;
    該ルータに接続された第2のエージェントと;を備えており
    前記第2のエージェントは、該第2のエージェントがセキュリティ属性情報を処理するように構成されている場合には、前記追加のヘッダ情報の前記セキュリティ属性情報を含むデータを使用し、処理するように構成されていない場合には、前記セキュリティ属性情報をドロップする、
    装置。
  17. 前記第1のエージェントは、前記追加のヘッダ情報が前記第2のヘッダ内に収まるようにサイズ決めされた場合に、前記第2のヘッダの拡張ヘッダインジケータをリセットし、収まらないようにサイズ決めされた場合に、前記第2のヘッダの前記拡張ヘッダインジケータを設定して、前記追加のヘッダ情報の少なくとも一部を含む前記パケットの第3のヘッダの存在を示す、
    請求項16に記載の装置。
JP2014531974A 2011-09-29 2012-09-20 拡張ヘッダを用いたパケット送信 Active JP5805879B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/248,234 2011-09-29
US13/248,234 US8929373B2 (en) 2011-09-29 2011-09-29 Sending packets with expanded headers
PCT/US2012/056399 WO2013048882A1 (en) 2011-09-29 2012-09-20 Sending packets with expanded headers

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015002299A Division JP5922268B2 (ja) 2011-09-29 2015-01-08 拡張ヘッダを用いたパケット送信

Publications (2)

Publication Number Publication Date
JP2014526859A JP2014526859A (ja) 2014-10-06
JP5805879B2 true JP5805879B2 (ja) 2015-11-10

Family

ID=47992550

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014531974A Active JP5805879B2 (ja) 2011-09-29 2012-09-20 拡張ヘッダを用いたパケット送信
JP2015002299A Active JP5922268B2 (ja) 2011-09-29 2015-01-08 拡張ヘッダを用いたパケット送信

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015002299A Active JP5922268B2 (ja) 2011-09-29 2015-01-08 拡張ヘッダを用いたパケット送信

Country Status (5)

Country Link
US (2) US8929373B2 (ja)
EP (2) EP2761831B1 (ja)
JP (2) JP5805879B2 (ja)
CN (2) CN103843294B (ja)
WO (1) WO2013048882A1 (ja)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2511975B (en) * 2011-12-21 2021-02-03 Intel Corp Incorporating access control functionality into a system on a chip (SoC)
US9239607B2 (en) * 2011-12-22 2016-01-19 Intel Corporation Storing data using a direct data path architecture to reduce energy consumption and improve performance
US9507746B2 (en) 2012-10-22 2016-11-29 Intel Corporation Control messaging in multislot link layer flit
US9319232B2 (en) * 2014-04-04 2016-04-19 Netspeed Systems Integrated NoC for performing data communication and NoC functions
CN105765943B (zh) * 2014-10-20 2019-08-23 Lg 电子株式会社 发送广播信号的装置、接收广播信号的装置、发送广播信号的方法和接收广播信号的方法
US9747245B2 (en) 2014-12-17 2017-08-29 Intel Corporation Method, apparatus and system for integrating devices in a root complex
US10210120B2 (en) 2015-03-26 2019-02-19 Intel Corporation Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch
CN105022717B (zh) * 2015-06-04 2018-11-27 中国航空无线电电子研究所 附加请求数优先级的片上网络资源仲裁方法及仲裁单元
US9990327B2 (en) 2015-06-04 2018-06-05 Intel Corporation Providing multiple roots in a semiconductor device
US10157160B2 (en) 2015-06-04 2018-12-18 Intel Corporation Handling a partition reset in a multi-root system
WO2017111955A1 (en) * 2015-12-22 2017-06-29 Intel IP Corporation Methods and apparatus to improve interprocess communication
JP6574144B2 (ja) * 2016-03-02 2019-09-11 APRESIA Systems株式会社 中継装置および中継システム
US10911261B2 (en) 2016-12-19 2021-02-02 Intel Corporation Method, apparatus and system for hierarchical network on chip routing
US10846126B2 (en) 2016-12-28 2020-11-24 Intel Corporation Method, apparatus and system for handling non-posted memory write transactions in a fabric
US11100023B2 (en) 2017-09-28 2021-08-24 Intel Corporation System, apparatus and method for tunneling validated security information
US10425331B2 (en) * 2017-10-04 2019-09-24 Facebook, Inc. Pre-routing device for data centers
US11686767B2 (en) 2017-11-02 2023-06-27 Intel Corporation System, apparatus and method for functional testing of one or more fabrics of a processor
US11105854B2 (en) 2017-11-02 2021-08-31 Intel Corporation System, apparatus and method for inter-die functional testing of an integrated circuit
US11231927B2 (en) 2018-03-08 2022-01-25 Intel Corporation System, apparatus and method for providing a fabric for an accelerator
US10739836B2 (en) 2018-03-27 2020-08-11 Intel Corporation System, apparatus and method for handshaking protocol for low power state transitions
US10936048B2 (en) 2019-03-29 2021-03-02 Intel Corporation System, apparatus and method for bulk register accesses in a processor
TWI722447B (zh) * 2019-06-03 2021-03-21 瑞昱半導體股份有限公司 傳輸介面的錯誤處理方法以及相關的錯誤處理架構
JP7390879B2 (ja) * 2019-12-05 2023-12-04 三菱重工業株式会社 通信処理装置、通信処理方法およびプログラム、並びにネットワーク層のヘッダ部のデータ構造
KR20220060326A (ko) 2020-11-04 2022-05-11 삼성전자주식회사 확장 패킷을 제공하는 인터페이스 회로 및 이를 포함하는 프로세서

Family Cites Families (106)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MX9306994A (es) 1992-12-15 1994-06-30 Ericsson Telefon Ab L M Sistema de control de flujo para interruptores de paquete.
US6430182B1 (en) 1997-10-16 2002-08-06 Nec Corporation Fabric system and method for assigning identifier for fabric apparatus therefor
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US5982193A (en) * 1997-12-22 1999-11-09 Vantis Corporation Input/output block (IOB) connections to MaxL lines, nor lines and dendrites in FPGA integrated circuits
ES2235449T3 (es) 1998-07-31 2005-07-01 Alcatel Metodo, planificador, memoria intermedia inteligente, procesador y sistema de telecomunicaciones para compartir un ancho de banda disponible.
US6182183B1 (en) 1998-11-13 2001-01-30 Sonics, Inc. Communications system and method with multilevel connection identification
US6233632B1 (en) 1999-01-07 2001-05-15 Vlsi Technology, Inc. Optimizing peripheral component interconnect transactions in a mixed 32/64-bit environment by eliminating unnecessary data transfers
US6427169B1 (en) * 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
US6788707B1 (en) 1999-08-31 2004-09-07 Broadcom Corporation Method for the suppression and expansion of packet header information in cable modem and cable modem termination system devices
US6330647B1 (en) 1999-08-31 2001-12-11 Micron Technology, Inc. Memory bandwidth allocation based on access count priority scheme
US7130315B1 (en) * 1999-09-10 2006-10-31 Sony Corporation Method of and apparatus for utilizing extended AV/C command and response frames including transaction label and common result/error code
US6694380B1 (en) 1999-12-27 2004-02-17 Intel Corporation Mapping requests from a processing unit that uses memory-mapped input-output space
US6611893B1 (en) 1999-12-29 2003-08-26 Agere Systems Inc. Data bus method and apparatus providing variable data rates using a smart bus arbiter
US7124376B2 (en) 2000-05-02 2006-10-17 Palmchip Corporation Design tool for systems-on-a-chip
US6810460B1 (en) 2001-02-15 2004-10-26 Lsi Logic Corporation AMBA bus off-chip bridge
US6816938B2 (en) 2001-03-27 2004-11-09 Synopsys, Inc. Method and apparatus for providing a modular system on-chip interface
US20030072326A1 (en) 2001-08-14 2003-04-17 Mehdi Alasti Method and apparatus for parallel, weighted arbitration scheduling for a switch fabric
US20030069988A1 (en) * 2001-10-09 2003-04-10 Johan Rune In-band signaling
US20030088722A1 (en) 2001-11-02 2003-05-08 David Price System and method for managing priorities in a PCI bus system
US7162546B2 (en) 2001-12-27 2007-01-09 Intel Corporation Reordering unrelated transactions from an ordered interface
US7246245B2 (en) * 2002-01-10 2007-07-17 Broadcom Corporation System on a chip for network storage devices
US20030212827A1 (en) * 2002-05-08 2003-11-13 Abheek Saha Method and system for providing peer-to-peer exchange of terminal information over a meshed network
US7292580B2 (en) 2002-06-10 2007-11-06 Lsi Corporation Method and system for guaranteeing quality of service in a multi-plane cell switch
US7191249B1 (en) 2002-06-14 2007-03-13 Juniper Networks, Inc. Packet prioritization systems and methods using address aliases
US7266786B2 (en) 2002-11-05 2007-09-04 Sonics, Inc. Method and apparatus for configurable address mapping and protection architecture and hardware for on-chip systems
US7046668B2 (en) 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US6907478B2 (en) 2003-02-18 2005-06-14 Adaptec, Inc. Systems and methods optimizing data transfer throughput of a system on chip
US20050010687A1 (en) 2003-06-26 2005-01-13 Silicon Graphics, Inc. Multiprocessor network multicasting and gathering
US7353362B2 (en) * 2003-07-25 2008-04-01 International Business Machines Corporation Multiprocessor subsystem in SoC with bridge between processor clusters interconnetion and SoC system bus
GB2405052A (en) * 2003-08-12 2005-02-16 Orange Personal Comm Serv Ltd Packet data communications
US7756958B2 (en) 2003-09-20 2010-07-13 International Business Machines Corporation Intelligent discovery of network information from multiple information gathering agents
US7725683B2 (en) * 2003-09-25 2010-05-25 Marvell International Ltd. Apparatus and method for power optimized replay via selective recirculation of instructions
US7065733B2 (en) 2003-12-02 2006-06-20 International Business Machines Corporation Method for modifying the behavior of a state machine
US20050137966A1 (en) 2003-12-19 2005-06-23 Munguia Peter R. Flow control credit synchronization
KR100601881B1 (ko) 2004-01-28 2006-07-19 삼성전자주식회사 원칩 시스템에서 라우터들간의 라우팅 경로 설정 장치 및방법
KR101034494B1 (ko) 2004-02-11 2011-05-17 삼성전자주식회사 개방형 코어 프로토콜을 기반으로 하는 버스 시스템
KR101089324B1 (ko) 2004-02-20 2011-12-02 삼성전자주식회사 복수의 마스터들을 포함하는 서브 시스템을 개방형 코어프로토콜을 기반으로 하는 버스에 연결하기 위한 버스시스템
US7272736B2 (en) 2004-03-03 2007-09-18 Intel Corporation Method and system for fast frequency switch for a power throttle in an integrated device
TWI259354B (en) 2004-06-25 2006-08-01 Via Tech Inc System and method of real-time power management
US7707434B2 (en) 2004-06-29 2010-04-27 Broadcom Corporation Power control bus for carrying power control information indicating a power supply voltage variability
US20060047849A1 (en) 2004-06-30 2006-03-02 Mukherjee Shubhendu S Apparatus and method for packet coalescing within interconnection network routers
US7525986B2 (en) 2004-10-28 2009-04-28 Intel Corporation Starvation prevention scheme for a fixed priority PCI-Express arbiter with grant counters using arbitration pools
JP2006163516A (ja) 2004-12-02 2006-06-22 Fujitsu Ltd ネットワーク装置、ファイバーチャネルスイッチおよび共用メモリアクセス制御方法
US20060140126A1 (en) 2004-12-27 2006-06-29 Intel Corporation Arbitrating virtual channel transmit queues in a switched fabric network
JP4410190B2 (ja) 2005-03-24 2010-02-03 富士通株式会社 PCI−Express通信システム
KR20060115290A (ko) * 2005-05-04 2006-11-08 삼성전자주식회사 이동통신 시스템에서 다중 사용자 패킷 송수신 장치 및방법
EP1889412B1 (en) 2005-05-26 2011-10-12 ST-Ericsson SA Electronic device and method of communication resource allocation
US7308668B2 (en) 2005-06-30 2007-12-11 International Business Machines Corporation Apparatus and method for implementing an integrated circuit IP core library architecture
US7461190B2 (en) 2005-08-11 2008-12-02 P.A. Semi, Inc. Non-blocking address switch with shallow per agent queues
US7457905B2 (en) 2005-08-29 2008-11-25 Lsi Corporation Method for request transaction ordering in OCP bus to AXI bus bridge design
US7613902B1 (en) * 2005-09-22 2009-11-03 Lockheed Martin Corporation Device and method for enabling efficient and flexible reconfigurable computing
DE102005047368A1 (de) 2005-10-04 2007-04-05 Epcos Ag Piezoelektrischer Transformator und Verfahren zu dessen Herstellung
JP2007135035A (ja) * 2005-11-11 2007-05-31 Nippon Telegr & Teleph Corp <Ntt> 通信装置及びパケット処理方法
US8364874B1 (en) 2006-01-17 2013-01-29 Hewlett-Packard Development Company, L. P. Prioritized polling for virtual network interfaces
US7844761B1 (en) 2006-05-10 2010-11-30 Altera Corporation Flexible on-chip datapath interface for facilitating communication between first and second interfaces with different interface properties
US8437369B2 (en) 2006-05-19 2013-05-07 Integrated Device Technology, Inc. Packets transfer device that intelligently accounts for variable egress channel widths when scheduling use of dispatch bus by egressing packet streams
US7694161B2 (en) 2006-06-30 2010-04-06 Intel Corporation Uncore thermal management
WO2008023218A1 (en) 2006-08-23 2008-02-28 Freescale Semiconductor, Inc. Device having priority upgrade mechanism capabilities and a method for updating priorities
US20080059441A1 (en) 2006-08-30 2008-03-06 Lockheed Martin Corporation System and method for enterprise-wide dashboard reporting
US7805621B2 (en) 2006-09-29 2010-09-28 Broadcom Corporation Method and apparatus for providing a bus interface with power management features
US20080147858A1 (en) 2006-12-13 2008-06-19 Ramkrishna Prakash Distributed Out-of-Band (OOB) OS-Independent Platform Management
US20080163005A1 (en) 2006-12-28 2008-07-03 Sonksen Bradley S Error injection in pci-express devices
WO2008091575A2 (en) 2007-01-22 2008-07-31 Vast Systems Technology Corporation Method and system for modeling a bus for a system design incorporating one or more programmable processors
KR100867640B1 (ko) 2007-02-06 2008-11-10 삼성전자주식회사 다중 접근 경로를 가지는 이미지 프로세싱 메모리를포함하는 시스템 온 칩
US7979592B1 (en) 2007-02-09 2011-07-12 Emulex Design And Manufacturing Corporation Virtualization bridge device
JP4886045B2 (ja) 2007-03-09 2012-02-29 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 分散型通信ネットワークにおけるネットワーク管理タスクの分散配置
CN101558589B (zh) * 2007-05-14 2015-11-25 三星电子株式会社 用于发送广播的方法和设备、用于接收广播的方法和设备
BRPI0805829B1 (pt) * 2007-05-14 2020-05-26 Samsung Electronics Co., Ltd Método de transmissão de um serviço de difusão móvel, e aparelho para transmissão de um serviço de difusão móvel
US7573295B1 (en) 2007-05-14 2009-08-11 Xilinx, Inc. Hard macro-to-user logic interface
US20080288689A1 (en) 2007-05-14 2008-11-20 Brian Hoang Opportunistic granting arbitration scheme for fixed priority grant counter based arbiter
US20080320255A1 (en) 2007-06-25 2008-12-25 Sonics, Inc. Various methods and apparatus for configurable mapping of address regions onto one or more aggregate targets
US7685346B2 (en) 2007-06-26 2010-03-23 Intel Corporation Demotion-based arbitration
US7734856B2 (en) 2007-08-22 2010-06-08 Lantiq Deutschland Gmbh Method for operating a plurality of arbiters and arbiter system
US8200479B2 (en) * 2008-02-08 2012-06-12 Texas Instruments Incorporated Method and system for asymmetric independent audio rendering
US8028185B2 (en) 2008-03-11 2011-09-27 Globalfoundries Inc. Protocol for transitioning in and out of zero-power state
US8286014B2 (en) 2008-03-25 2012-10-09 Intel Corporation Power management for a system on a chip (SoC)
US7673087B1 (en) 2008-03-27 2010-03-02 Xilinx, Inc. Arbitration for an embedded processor block core in an integrated circuit
US7783819B2 (en) 2008-03-31 2010-08-24 Intel Corporation Integrating non-peripheral component interconnect (PCI) resources into a personal computer system
US7917730B2 (en) 2008-04-01 2011-03-29 International Business Machines Corporation Processor chip with multiple computing elements and external i/o interfaces connected to perpendicular interconnection trunks communicating coherency signals via intersection bus controller
CN101267376B (zh) 2008-04-25 2010-08-04 北京携远天成技术有限公司 一种用于扩展Zigbee网络的网关的数据传输方法
US7861027B2 (en) 2008-05-30 2010-12-28 Intel Corporation Providing a peripheral component interconnect (PCI)-compatible transaction level protocol for a system on a chip (SoC)
US7849252B2 (en) 2008-05-30 2010-12-07 Intel Corporation Providing a prefix for a packet header
US8958419B2 (en) 2008-06-16 2015-02-17 Intel Corporation Switch fabric primitives
US9342528B2 (en) * 2010-04-01 2016-05-17 Avere Systems, Inc. Method and apparatus for tiered storage
US8225019B2 (en) 2008-09-22 2012-07-17 Micron Technology, Inc. SATA mass storage device emulation on a PCIe interface
US8218571B2 (en) * 2008-10-24 2012-07-10 International Business Machines Corporation Fibre channel framing and signaling optional header for ethernet fabric configuration information
JP2010109869A (ja) * 2008-10-31 2010-05-13 Hitachi Ltd 半導体装置
EP2224664A1 (en) * 2009-02-26 2010-09-01 Vodafone Group PLC Method and system for controlling call admission in IMS
US8711771B2 (en) * 2009-03-03 2014-04-29 Qualcomm Incorporated Scalable header extension
US7873068B2 (en) * 2009-03-31 2011-01-18 Intel Corporation Flexibly integrating endpoint logic into varied platforms
US8170062B2 (en) 2009-04-29 2012-05-01 Intel Corporation Packetized interface for coupling agents
US8095700B2 (en) 2009-05-15 2012-01-10 Lsi Corporation Controller and method for statistical allocation of multichannel direct memory access bandwidth
WO2010137572A1 (ja) 2009-05-25 2010-12-02 日本電気株式会社 ネットワークオンチップとネットワークルーティング方法とシステム
US7934045B2 (en) 2009-06-09 2011-04-26 International Business Machines Corporation Redundant and fault tolerant control of an I/O enclosure by multiple hosts
US8085801B2 (en) 2009-08-08 2011-12-27 Hewlett-Packard Development Company, L.P. Resource arbitration
JP5273002B2 (ja) 2009-09-30 2013-08-28 ブラザー工業株式会社 通信システム、通信制御装置、通信制御方法、及び通信制御プログラム
US8073942B2 (en) 2009-10-20 2011-12-06 Dell Products, Lp System and method for storage discovery in a storage area network using device domains under control of a storage device
US20110179248A1 (en) 2010-01-18 2011-07-21 Zoran Corporation Adaptive bandwidth allocation for memory
WO2012026714A2 (en) * 2010-08-27 2012-03-01 Lg Electronics Inc. Mac pdu signaling and operating methods for access class barring and back-off control for large-scale radio access network
WO2012032576A1 (en) 2010-09-09 2012-03-15 Hitachi, Ltd. Computer system control method and computer system
US8789170B2 (en) 2010-09-24 2014-07-22 Intel Corporation Method for enforcing resource access control in computer systems
US9043665B2 (en) 2011-03-09 2015-05-26 Intel Corporation Functional fabric based test wrapper for circuit testing of IP blocks
US8812785B2 (en) 2011-05-23 2014-08-19 International Business Machines Corporation Managing track discard requests to include in discard track messages
US8904058B2 (en) 2011-05-27 2014-12-02 International Business Machines Corporation Selecting direct memory access engines in an adaptor input/output (I/O) requests received at the adaptor
US8495265B2 (en) 2011-06-01 2013-07-23 International Business Machines Corporation Avoiding non-posted request deadlocks in devices by holding the sending of requests
US9021156B2 (en) * 2011-08-31 2015-04-28 Prashanth Nimmala Integrating intellectual property (IP) blocks into a processor

Also Published As

Publication number Publication date
CN103843294A (zh) 2014-06-04
CN103843294B (zh) 2017-09-01
US20150092779A1 (en) 2015-04-02
EP2761831A1 (en) 2014-08-06
EP2966810A1 (en) 2016-01-13
CN104536940A (zh) 2015-04-22
US20130083798A1 (en) 2013-04-04
EP2761831A4 (en) 2015-09-09
JP2015109679A (ja) 2015-06-11
CN104536940B (zh) 2018-11-16
JP2014526859A (ja) 2014-10-06
US10164880B2 (en) 2018-12-25
JP5922268B2 (ja) 2016-05-24
EP2761831B1 (en) 2020-11-18
US8929373B2 (en) 2015-01-06
WO2013048882A1 (en) 2013-04-04

Similar Documents

Publication Publication Date Title
JP5922268B2 (ja) 拡張ヘッダを用いたパケット送信
US9753875B2 (en) Systems and an apparatus with a sideband interface interconnecting agents with at least one router
US9213666B2 (en) Providing a sideband message interface for system on a chip (SoC)
US9658978B2 (en) Providing multiple decode options for a system-on-chip (SoC) fabric
US7873068B2 (en) Flexibly integrating endpoint logic into varied platforms
US9448870B2 (en) Providing error handling support to legacy devices
US9489329B2 (en) Supporting multiple channels of a single interface
US10936048B2 (en) System, apparatus and method for bulk register accesses in a processor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140324

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150311

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150414

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150804

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150902

R150 Certificate of patent or registration of utility model

Ref document number: 5805879

Country of ref document: JP

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

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