説明

PCIExpressでのIDベースストリームを可能にする方法及び装置

Peripheral Component Interconnect Express(PCIe)上でIDベースのストリームを可能とする方法及び装置を開示する。装置は、シリアルポイント・ツー・ポイント接続ポートで送信されるパケットの順序を付けるメモリ順序付けロジックであって、第1パケットの後に到着した第2パケットを使用して、第2パケットが、第2パケットが順序に依存しないことを示す属性フラグ及び第1パケットに含まれるIDとは異なるIDを含む場合に、ストールした第1パケットをバイパスするメモリ順序付けロジックを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、接続の分野に関し、特に、PCI Express(ピーシーアイ・エクスプレス)上のIDベースのストリームを可能にすることに関する。
【背景技術】
【0002】
コンピュータシステムは、数多くの部品及び要素を含む。これらの構成要素は、多くの場合、バス又は配線を介して接続される。従来は、複数の入出力(I/O)デバイスは、Peripheral Component Interconnect(PCI)と称される周知のマルチドロップ並列バス構造を介して、共に接続されていた。最近では、シリアル物理層通信プロトコルを使用するデバイス間の高速接続を容易にするために、PCI−Express(PCIe)と称される新しい世代のI/Oバスが使用されている。
【0003】
PCIEアーキテクチャは、デバイス間の通信のための階層プロトコルを含む。例えば、物理層、リンク層及びトランザクション層で、PCIEプロトコルスタックが構成されている。PCIeリンクは、レーンと称される専用一方向の組のシリアルポイント・ツー・ポイント接続の周辺に構築される。デバイス間のリンクは、1、2、16、32等の数のレーンを含む。現在のPCIE規格の基本仕様2.0は、http://www.pcisigcom/specifications/pciexpress/にて参照可能である。
【0004】
従来のPCIeにおける順序付け規則は、製造者‐消費者プログラミングモデルを可能とするべく作成されていた。このモデルでは、特定のデバイスからの読み出しは、それ以前に生成されていた書き込みを押し出す必要がある。このようなプログラミングモデルでは、メモリロケーションXの読み出しは、常に、そのメモリ位置に書き込まれた最新のデータを取得する。
【0005】
しかしながら、この順序付け規則によると、1の要求ストリーム(同じ要求デバイスからの同じ目的デバイスに対する読み出し又は書き込み処理のシーケンス)からの要求が、別の独立した要求ストリームと干渉を起こしてしまう。この干渉は、性能における大きなボトルネックとなっている。ポストしていない要求が、ポスト済み要求の背後でブロックされてしまうと、読み出し要求は、遅延の影響を大きく受けることから、この干渉が特に問題となる。
【0006】
本発明が以下に例示され、本発明は添付の図面によって限定されることを意図していない。
【図面の簡単な説明】
【0007】
【図1】コンピュータシステムにおけるI/Oデバイスを接続するシリアルポイント・ツー・ポイント接続を含むシステムの一実施形態を示した図である。
【図2】階層プロトコルスタックの一実施形態を示した図である。
【図3】メモリ順序付けロジックの一実施形態を示した図である。
【図4】IDベースの順序付けフラグを含むパケットの一実施形態を示した図である。
【図5】順序付けテーブルの一実施形態を示した図である。
【図6】デバイスIDベースのストリームを可能とするフローチャートの一実施形態を示した図である。
【発明を実施するための形態】
【0008】
以下、数多くの詳細事項が記載されるが、特定の接続、特定のパケット/メッセージ、パケット/メッセージ内の特定のフィールド及びロケーション、ロジック/キャッシュの特定のロケーション等は、本発明の完全な理解を提供するべく記載されているものである。当業者であれば、これらの特定の詳細事項がなくとも、本発明を実施可能であることは明らかである。また、キャッシュロジック/実装、Peripheral Component Interconnect Express(PCIe)メッセージプロトコル、トランザクションにおけるPCIフィールド/パケット、及びその他のPCIeの基本的な実装等の周知の構成又は方法については、本発明を不必要に曖昧にしない目的から、記載していない。
【0009】
本明細書に記載する方法及び装置は、PCIe上での、IDベースのストリームを可能とする。特に、(クレジット又はページ失敗等のその他のイベントによって)ストールしたポスト済み要求に関して、スイッチにおける待ち要求のバイパスについて説明する。しかしながら、IDベースのストリームを可能とする方法及び装置はこれに限定されず、あらゆる入出力デバイス又はその他のコンピュータ構成要素のようなICデバイスと関連付けて、又はその他のシリアルポイント・ツー・ポイント接続と関連付けて、本方法及び装置を実装することができる。
【0010】
[シリアルポイント・ツー・ポイント階層プロトコルリンク/接続]システム100は、コントローラハブ775に接続されたプロセッサ105及びシステムメモリ110を含む。プロセッサ105は、マイクロプロセッサ、ホストプロセッサ、埋め込みプロセッサ、コプロセッサ、又はその他のプロセッサを含む。プロセッサ105は、フロントサイドバス(FSB)106を介してコントローラハブ775に接続される。一実施形態において、FSB106は、以下に記載するような、シリアルポイント・ツー・ポイント接続である。
【0011】
システムメモリ110は、ランダムアクセスメモリ(RAM)、不揮発性(NV)メモリ、又はシステム100におけるデバイスがアクセス可能なその他のメモリといったあらゆるメモリを含む。システムメモリ110は、メモリインターフェース776を介してコントローラハブ775と接続される。メモリインターフェースの例としては、ダブルデータレート(DDR)メモリインターフェース、デュアルチャネルDDRメモリインターフェース、及びダイナミックRAM(DRAM)メモリインターフェースが含まれる。
【0012】
一実施形態において、コントローラハブ775は、Peripheral Component Interconnect Express(PCIe又はPCIE)接続階層におけるルートハブ又はルートコントローラである。コントローラハブ775の例には、チップセット、メモリコントローラハブ(MCH)、ノースブリッジ、接続制御ハブ(ICH)、サウスブリッジ、及びルートコントローラ/ハブが含まれる。チップセットという言葉は、多くの場合、物理的に別々の2つの制御ハブを指す、すなわち、接続制御ハブ(ICH)に接続されたメモリ制御ハブ(MCH)を指す。
【0013】
制御ハブ775は、シリアルリンク779を介してスイッチ/ブリッジ120と接続されている。インターフェース/ポート777及び727とも称される入出力モジュール777及び727は、制御ハブ775とスイッチ120との間の通信を提供する階層プロトコルスタックを含む/実装する。モジュール777、118、121、122、124、126、129及び737のようなモジュールは、ハードウェア、ソフトウェア、ファームウェア、又はこれらの組み合わせに実装されてもよい。さらに、共通に変化し機能するモジュールの境界は、本実施形態では、一緒に実装され、異なる実施形態では、別々に実装される。一実施形態において、複数のデバイスは、スイッチ120と接続する機能を有する。
【0014】
スイッチ120は、デバイス725及び128からのパケット/メッセージを、アップストリームへと送る、すなわち、階層上部のルートコントローラへと送り、また、制御ハブ775及びダウンストリームへと送る、すなわち、階層においてルートコントローラ、プロセッサ105又はシステムメモリ110から離れたデバイス725及び128へと送る。デバイス725及び128は、電子システムと接続されるあらゆる内部又は外部デバイス又は構成要素を含み、例えば、I/Oデバイス、ネットワークインターフェースコントローラ(NIC)、拡張カード、オーディオプロセッサ、ネットワークプロセッサ、ハードドライブ、ストレージデバイス、CD/DVD ROM、モニタ、プリンタ、マウス、キーボード、ルータ、ポータブルストレージデバイス、Firewireデバイス、ユニバーサルシリアルバス(USB)デバイス、スキャナ、及びその他の入出力デバイスを含む。スイッチ120は、いかに詳細に説明するメモリ順序付けロジック140を含む、デバイスIDベースのストリームを可能とする。
【0015】
グラフィックアクセラレータ130も、シリアルリンク732を介して制御ハブ775に接続される。一実施形態において、グラフィックアクセラレータ130は、ICHと接続されたMCHに接続される。スイッチ120、並びにI/Oデバイス725及び128は、ICHに接続される。グラフィックアクセラレータ130と制御ハブ775との間の通信を行うべく階層プロトコルスタックを実装するために、I/Oモジュール131及び118が設けられる。
【0016】
図2には、階層プロトコルスタックの一実施形態が示されている。階層プロトコルスタック200は、quick path interconnect(QPI)スタック、PCIeスタック、又はその他のプロトコルスタックのようなあらゆる階層通信スタックを含む。一実施形態において、プロトコルスタック200は、トランザクション層205、リンク層210及び物理層220を含むPCIeプロトコルスタックである。図1におけるインターフェース777、118、121、122、124、126、129及び737のようなインターフェースは、通信プロトコルスタック200で表されてもよい。通信プロトコルスタックとしての表現は、プロトコルスタックを実装する/含むインターフェース又はモジュールと称されてもよい。
【0017】
[トランザクション層]
一実施形態において、トランザクション層205は、デバイスのプロセッシングコアとデータリンク層210及び物理層220のような接続構造との間のインターフェースを提供する。この点において、トランザクション層205の主な役割は、パケット(すなわち、トランザクション層パケット(TLP))の組み立て及び分解である。PCIeは、分割トランザクション、すなわち、要求と応答のトランザクションが時間的に分かれている構成を実装し、目的のデバイスが応答のためのデータを収集している間に、リンクがその他のトラフィックを実行できるようにしている。
【0018】
また、PCIeは、クレジットベースのフロー制御を利用する。この技術では、デバイスは、トランザクション層205の受信バッファそれぞれに対するクレジットの初期量を通知する。図1の制御ハブ775のようなリンクの反対端における外部デバイスは、各TLPが消費したクレジットの数を数える。トランザクションが、クレジット制限を超えない場合には、トランザクションを送信してもよい。応答を受信すると、クレジットの量が回復する。このクレジットスキームの利点は、クレジット限界に達しない限り、クレジット回復の遅延が、性能に影響を与えることがないことである。
【0019】
一実施形態において、4つのアドレス空間は、設定アドレス空間、メモリアドレス空間、入出力アドレス空間及びメッセージアドレス空間を含む。メモリ空間トランザクションは、データを、メモリがマップされたロケーションから/へと転送するための1以上の読み出し要求及び書き込み要求を含む。一実施形態において、メモリ空間トランザクションは、例えば、32ビットアドレスといったような短いアドレス形式、及び、64ビットアドレスといった長いアドレス形式の2つの異なるアドレス形式を使用可能である。設定空間トランザクションは、PCIeデバイスの設定空間にアクセスするのに使用される。設定空間に対するトランザクションは、読み出し要求及び書き込み要求を含む。メッセージ空間トランザクション(又は、単純に、メッセージ)は、PCIeエージェント間の帯域内通信をサポートするように規定されている。
【0020】
したがって、一実施形態において、トランザクション層205は、パケットヘッダ/ペイロード206を組み立てる。パケットヘッダ/ペイロードの形式は、リンク層において使用可能なPCIe規格、すなわち、PCIe基本仕様2.0に記載されている。
【0021】
データリンク層210とも称されるリンク層210は、トランザクション層205と物理層220との間の中間段階として作用する。一実施形態において、データリンク層210の役割は、2つの構成要素間でのトランザクション層パケット(TLP)を交換する信頼性の高いメカニズムを、リンクに提供することである。データリンク層210の一方は、トランザクション層205によって組み立てられたTLPを受け取り、パケットシーケンス識別子211、すなわち、ID番号又はパケット番号を適用し、エラー検出コード、すなわち、CRC212を計算及び適用して、修正されたTLPを物理層220に提示して、物理層から外部デバイスへの送信に使用する。
【0022】
[物理層]
一実施形態において、物理層220は、外部デバイスへと物理的にパケットを送信する論理的サブブロック221及び電気的サブブロック222を含む。ここで、論理的サブブロック221は、物理層221の"デジタル的"機能の役割を担う。この点に関して、論理的サブブロックは、物理サブブロック222による送信のための出力を準備する送信部分と、受信された情報をリンク層210に渡す前に、その情報を特定及び準備する受信部分とを有する。
【0023】
物理ブロック222は、送信機及び受信機を含む。送信機には、論理的サブブロック221によって符号が供給され、送信機は、符号をシリアル化して、外部デバイスに送信する。受信機には、外部デバイスからシリアル化された符号が供給されて、受信機は受信した信号をビットストリームへと変換する。ビットストリームのシリアル化が解除されて、論理的サブブロック221に供給される。一実施形態では、8b/10b送信コードが採用され、10ビット符号が、送受信される。ここでは、フレーム223を有するパケットをフレームするのに、特別な符号が使用される。また、一例では、受信機は、入力されるシリアルストリームから回復された符号クロックを供給する。
【0024】
上記したように、トランザクション層205、リンク層210及び物理層220が、PCIeプロトコルスタックの特定の実施形態を参照して説明されたが、階層プロトコルスタックはこれに限定されない。実際には、あらゆる階層プロトコルを含める又は実装してもよい。例えば、階層プロトコルで表されるポート/インターフェースには、(1)パケットを組み立てる第1層、すなわちトランザクション層、パケットを順番付けする第2層、すなわちリンク層、及び、パケットを送信する第3層、すなわち物理層が含まれる。
【0025】
次に図3を参照して、メモリ順序付けロジックの一実施形態を説明する。図に示すように、インテリジェントスイッチ300は、メモリ順序付けロジック305、(ポスト済み要求310A−Nを含む)ポスト済み要求キュー308及びポインタ322、(ポストされていない要求316A−Nを含む)ポストされていない要求キュー314及びポインタ324、(完了320A−Nを含む)完了キュー318及びポインタ326、及び(アップストリーム又はダウンストリームポートである)ポート350を含む。
【0026】
メモリ順序付けロジック305は、例えば、図6を参照して上記で説明したようなデバイスのIDベースのストリームを可能とする方法を実装し、IDベース順序付けアクティベータ(activator)332、キュー選択部334、ポインタハンドラ336、要求側/完了側ID比較部338、及びIDOフラグチェック部340を含んでもよい。
【0027】
図4は、IDベースの順序付けフラグを含むパケットの一実施形態が示されている。パケットとは、あらゆる要求、メッセージ、アクセス、又はバス/接続上で送信されるべき情報のグループを指す。図示した実施形態において、パケット400は、その他の情報フィールド405を含む。その他の情報405の例としては、予備フィールド、形式フィールド、種類フィールド、属性フィールド、長さフィールド、PCIe規定のフィールド、及び、その他のプロトコル規定のフィールドが含まれる。また、パケット400は、要求を行うエージェント/デバイスを指す要求側ID415(バイト4及び5)を含み、要求側IDは、グローバルID/トランザクション記述子の一部であってもよく、又は、グローバルID/トランザクションID、及びアドレスロケーションを指すアドレスフィールド420を含んでもよい。
【0028】
属性ビット402及び404は、図示するような順序モデル450、455、460及び465を可能としてもよい。現時点で確保されているバイト1の予備ビット2を使用してもよい属性ビット402は、要求側又は完了側によって設定され、要求又は完了が順番依存であり、ポスト済み要求をバイパスしてもよいことを示すIDベースの順序付けフラグを表してもよい。
【0029】
図5には、順序付け表の一実施形態が示されている。表500は、PCIe規格の表2−24と同様なものであるが、先に待ち行列に入れられ、ストールした、ポスト済みメモリ書き込み要求又はメッセージ要求を、あるインスタンスの独立した要求ストリームへとバイパス可能なように表を修正(2列目)している。
【0030】
セル505に記載するように、緩い順序付け(relaxed ordering)属性ビット404がクリア及びID順序付けビット402もクリアであるメモリ書き込み又はメッセージ要求は、通させない(a)、緩い順序付け属性ビット404が設定されている及びID順序付けビット402がクリアであるメモリ書き込み又はメッセージ要求は、通すことを許可する(b)、緩い順序付け属性ビット404がクリア及びID順序付けビット402が設定されているメモリ書き込み又はメッセージ要求は、要求側ID415が異なる場合には、別のメモリ書き込み又はメッセージ要求を通すのを許可する(c)。
【0031】
セル510に記載するように、緩い順序付け属性ビット404がクリア及びID順序付けビット402もクリアである読み出し要求は、通させない(a)、緩い順序付け属性ビット404が設定されている及びID順序付けビット402がクリアである読み出し要求は、通させない(b)、緩い順序付け属性ビット404がクリア又は設定されており、及び、ID順序付けビット402が設定されている読み出し要求は、要求側ID415が異なる場合には、別のメモリ書き込み又はメッセージ要求を通すべく、通すのを許可する(c)。
【0032】
セル515に記載するように、入出力又は設定書き込み要求は、メモリ書き込み又はメッセージ要求を通すことができない。これにより、生産者/消費者利用モデルをサポートするのに必要な強い書き込み順序付けを維持する。
【0033】
セル520に記載するように、緩い順序付け属性ビット404がクリア及びID順序付けビット402もクリアである読み出し完了は、通させない(a)、緩い順序付け属性ビット404が設定されている及びID順序付けビット402がクリアである読み出し完了は、通すのを許可する(b)、緩い順序付け属性ビット404がクリア及びID順序付けビット402が設定されている読み出し完了は、完了側IDがメモリ書き込みの要求側ID415と異なる場合には、別のメモリ書き込み又はメッセージ要求を通すべく、通すのを許可する(c)。
【0034】
最後に、セル525に記載するように、入出力又は設定書き込み完了が、メモリ書き込み及びメッセージ要求によってブロックされる又はこれら要求を通すことが許可される。このようなトランザクションは、実際に、反対の方向に動作するため、順序付けの関係が発生しない。
【0035】
図6は、デバイスIDベースのストリームを可能とするフローチャートの一実施形態を示した図である。フロー605において、IDベース順序付けアクティベータ332は、ポスト済み要求をバイパスする機会が存在するかを判断する。一実施形態において、ポスト済み要求がストールしていると判断された場合には、アクティベータ332は、フロー610に進む。
【0036】
そして、キュー選択部334は、フロー610において、替わりに送信するべきパケットを探すべくキューを選択する。一実施形態において、選択部334は、どのキューが最も多いエントリを有しているかに基づいて、ポスト済み要求キュー308、ポストされていない要求キュー314、又は完了キュー318を選択する。別の実施形態では、選択部334は常に、替わりのパケットを探すべく、先ずポストされていない要求キュー314を選択する。フロー615において、ポインタハンドラ336は、例えば、一つ前の可能性のある替わりのパケットの通過が許可されなかった場合(すなわち、独立したストリームからでなかった場合、又は、ID順序付けビット402のセットを有していない場合)には、ポインタ322、324、326の1以上をインクリメントしてもよい。
【0037】
次に、フロー620において、要求側/完了側ID比較部338は、替わりとなる候補のパケットの要求側/完了側IDが、ポスト済み要求キュー308における先に受信されたポスト済み要求のうちの何れかと異なっているかを判断する。一実施形態において、比較部338は、ポストされていない要求及び完了それぞれと共に格納されたポスト済み要求ポインタを使用して、ポスト済みキュー308におけるポスト済み要求の何れが、替わりとなる候補のパケットの前に、受信されたかを判断する。替わりとなる候補のパケットが、先に受信されポストされている要求とは独立したストリームであると判断された場合には、フロー625に進む。そうでない場合には、プロセスは、フロー605に戻る。
【0038】
フロー625において、IDOフラグチェック部340は、ID順序付けビット402が、可能性のある替わりのパケットに設定されているかを確認し、そうであった場合には、フロー630において、替わりのパケットがポート350を介して送信される。そうでなかった場合には、フロー605に戻る。
【0039】
上記の方法、ソフトウェア、ファームウェア又はコードの実施形態は、処理要素によって実行される機械アクセス可能媒体又は機械可読媒体に格納された命令又はコードを使用して実装されてもよい。機械アクセス可能媒体又は機械可読媒体としては、コンピュータ又は電子システムのような機械が読み出し可能な形式の情報を提供する(例えば、格納及び/又は送信する)あらゆる機械を含む。例えば、機械アクセス可能媒体には、スタティックランダムアクセスメモリ(SRAM)又はダイナミックRAM(DRAM)のようなRAM、ROM、磁気又は光記憶媒体、フラッシュメモリデバイス、電気、光、音又はその他の形式の伝送信号(例えば、搬送波、赤外線信号、デジタル信号)等が含まれる。
【0040】
本明細書において、本発明の「一実施形態」又は「ある実施形態」と呼ぶものは、実施形態に関連する特定の特徴、構造及び特性が、少なくとも本発明の実施形態の一つに含まれていることを意味する。したがって、本明細書中の様々な箇所で使用されている「一実施形態において」又は「ある実施形態において」という表現は、必ずしも同一の実施形態を示していない。また、特定の特徴、構造及び特性は、1以上の実施形態において好適なあらゆる態様で組み合わせられてもよい。
【0041】
以上、特定の例示的実施形態を参照して詳細な説明が記載された。しかしながら、添付の特許請求の範囲に記載された発明の広範な範囲及び精神の範囲から逸脱することなく、例示された実施形態及び本発明の特徴の他の実施形態に対して様々な改良を加えることが可能であることは当業者にとって明らかである。したがって、明細書及び図面は、本発明を限定するのではなく、例示すると見なされるべきである。更に、上記で使用された"実施形態"及び損他の同様な文言は、必ずしも同じ実施形態及び実施例を指しているわけではなく、異なる実施形態を指している場合も、同じ実施形態を指している場合も含む。

【特許請求の範囲】
【請求項1】
シリアルポイント・ツー・ポイント接続ポートで送信されるパケットの順序を付けるメモリ順序付けロジックであって、
第1パケットの後に到着した第2パケットを使用して、前記第2パケットが、前記第2パケットが順序に依存しないことを示すべく設定される属性フラグ及び前記第1パケットに含まれるIDとは異なるIDを含む場合に、ストールした前記第1パケットをバイパスする前記メモリ順序付けロジックを備える装置。
【請求項2】
第1パケットの後に到着した第2パケットを使用して、前記第2パケットが、先に受信され送信のためにキューに入れられたパケットの各々に含まれるIDとは異なるIDを含む場合に、ストールした前記第1パケットをバイパスする前記メモリ順序付けロジックを更に備える請求項1に記載の装置。
【請求項3】
前記第2パケットは、ポストされていない要求パケットを含み、前記第2パケットのIDは、要求側IDを含む請求項1に記載の装置。
【請求項4】
前記第2パケットは、完了パケットを含み、前記第2パケットのIDは、完了側IDを含む請求項1に記載の装置。
【請求項5】
前記IDは、前記パケットのヘッダのバイト4及び5を含む請求項1に記載の装置。
【請求項6】
前記第1パケット及び前記第2パケットの両方が、ポスト済み要求キュー内に書き込み要求を含む請求項1に記載の装置。
【請求項7】
前記シリアルポイント・ツー・ポイント接続は、Peripheral Component Interconnect Express(PCIE)リンクであって、
前記装置は、
プロセッサと、
システムメモリと、
前記PCIEリンクと通信可能に接続されたグラフィックアクセラレータとを更に備える請求項1に記載の装置。
【請求項8】
前記ポートは、ダウンストリームポートである請求項1に記載の装置。
【請求項9】
シリアルポイント・ツー・ポイントリンクに沿ってパケットを送信するポートと、
前記ポートを介して送信されるポスト済み要求のパケットを格納する第1キューと、
前記ポートを介して送信されるポストされていない要求のパケットを格納する第2キューと、
ストールした前記第1キューからのポスト済み要求を選択的にバイパスして、前記ストールしたポスト済み要求の後に受信された前記第2キューからのポストされていない要求を前記ポートを介して送信するロジックであって、前記ポストされていない要求のヘッダが前記要求が順序に依存しないことを示しており、且つ、前記ポストされていない要求の前記ヘッダが、前に受信された前記第1キュー内のポスト済み要求の要求側IDとは異なる要求側IDを含む場合に、前記第2キューからの前記ポストされていない要求を送信する前記ロジックと
を備える装置。
【請求項10】
前記ポートを介して送信される完了のパケットを格納する第3キューを更に備え、
前記ロジックは、ストールした前記第1キューからのポスト済み要求を選択的にバイパスして、前記ストールしたポスト済み要求の後に受信された前記第3キューからの完了を前記ポートを介して送信するロジックであって、前記完了のヘッダが前記要求が順序に依存しないことを示しており、且つ、前記完了の前記ヘッダが、前に受信された前記第1キュー内のポスト済み要求の要求側IDとは異なる要求側IDを含む場合に、前記第3キューからの完了を送信する請求項9に記載の装置。
【請求項11】
前記ロジックは、ストールした前記第1キューからのポスト済み要求を選択的にバイパスして、前記ストールしたポスト済み要求の後に受信された前記第1キューからのポスト済み要求を、前記ポートを介して送信するロジックであって、前記ポスト済み要求のヘッダが前記要求が順序に依存しないことを示しており、且つ、前記ポスト済み要求の前記ヘッダが、前記ストールしたポスト済み要求の要求側IDからの要求側IDを含む場合に、前記第1キューからのポスト済み要求を送信する請求項9に記載の装置。
【請求項12】
前記ポートは、アップストリームポートである請求項9に記載の装置。
【請求項13】
プロセッサと、
システムメモリと、
前記シリアルポイント・ツー・ポイントリンクと通信可能に接続されたグラフィックスアクセラレータと
を更に備える請求項9に記載の装置。
【請求項14】
前記第1キュー内のどのポスト済み要求が、前記ポストされていない要求パケットの各々よりも前に受信されたかを示すべく、前記ポストされていない要求パケットの各々と関連付けられたポスト済み要求ポインタを格納する前記第2キューを更に備える請求項9に記載の装置。
【請求項15】
属性フラグは、前記パケットのヘッダのバイト1のビット2を含む請求項9に記載の装置。
【請求項16】
プロトコルスタックを含む入出力(I/O)モジュールを有するデバイスを備える装置であって、
前記プロトコルスタックは、物理層、リンク層及びトランザクション層を含み、
前記プロトコルスタックは、シリアルポイント・ツー・ポイントリンクを介してパケットを送信し、
前記パケットは、オペレーションが順序に依存しないことを示すべく設定されるフラグを含む装置。
【請求項17】
前記オペレーションが順序に依存することを示すべく設定される前記フラグは、前記パケットのヘッダのバイト1のビット2を含む請求項16に記載の装置。
【請求項18】
前記オペレーションは、メモリ書き込み又はメッセージ要求、読み出し要求、入出力又は設定書き込み要求、読み出し完了、及び入出力又は設定書き込み完了からなる群から選択される請求項16に記載の装置。
【請求項19】
前記デバイスは、アクセラレータ、入出力デバイス、コントローラハブ、ルートコントローラ、スイッチ及びプロセッサからなる群から選択される請求項16に記載の装置。
【請求項20】
システムメモリと通信可能に接続された前記デバイスと、
システムを構成する更なる複数のデバイスとを更に備える請求項19に記載の装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公表番号】特表2012−527036(P2012−527036A)
【公表日】平成24年11月1日(2012.11.1)
【国際特許分類】
【出願番号】特願2012−510805(P2012−510805)
【出願日】平成22年3月10日(2010.3.10)
【国際出願番号】PCT/US2010/026777
【国際公開番号】WO2010/138230
【国際公開日】平成22年12月2日(2010.12.2)
【出願人】(591003943)インテル・コーポレーション (1,101)
【Fターム(参考)】