JP2018523217A - ペリフェラルコンポーネントインターコネクトエクスプレス(pcie)システムにおけるトランザクション固有属性の伝達 - Google Patents

ペリフェラルコンポーネントインターコネクトエクスプレス(pcie)システムにおけるトランザクション固有属性の伝達 Download PDF

Info

Publication number
JP2018523217A
JP2018523217A JP2017565275A JP2017565275A JP2018523217A JP 2018523217 A JP2018523217 A JP 2018523217A JP 2017565275 A JP2017565275 A JP 2017565275A JP 2017565275 A JP2017565275 A JP 2017565275A JP 2018523217 A JP2018523217 A JP 2018523217A
Authority
JP
Japan
Prior art keywords
pcie
transaction
tlp
specific attributes
attribute
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.)
Pending
Application number
JP2017565275A
Other languages
English (en)
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 JP2018523217A publication Critical patent/JP2018523217A/ja
Pending legal-status Critical Current

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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • 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/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Abstract

ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)システムにおけるトランザクション固有属性の伝達を開示する。PCIeシステムは、ホストシステムと少なくとも1つのPCIeエンドポイントとを含む。PCIeエンドポイントは、既定のホストトランザクションの効率および性能を向上させることのできる1つまたは複数のトランザクション固有属性を判定するように構成される。この場合、一態様では、PCIeエンドポイントが、少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおけるトランザクション固有属性を符号化し、PCIe TLPをホストシステムに提供する。別の態様では、ホストシステムにおけるPCIeルートコンプレックス(RC)が、PCIeエンドポイントから受信されたPCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を検出し抽出するように構成される。PCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を伝達することによって、既存のPCIe規格を侵害せずにPCIeシステムの効率および性能を向上させることが可能である。

Description

優先権主張
本出願は、2015年6月22日に出願された、"ENHANCING PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIE) ATTRIBUTES TO SUPPORT ADVANCED SYSTEM BUSES"という名称の米国仮特許出願第62/182,807号の優先権を主張し、米国仮特許出願第62/182,807号の内容全体が参照により本明細書に組み込まれる。
本出願は、また2016年5月31日に出願された、"COMMUNICATING TRANSACTION-SPECIFIC ATTRIBUTES IN A PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIE) SYSTEM"という名称の米国特許出願第15/168,574号の優先権を主張し、米国特許出願第15/168,574号の内容全体が参照により本明細書に組み込まれる。
本開示の技術は概して、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)に関する。
モバイル通信デバイスは、現代社会においてますます一般的になっている。これらのモバイル通信デバイスの普及は、一つには、現在そのようなデバイス上で可能にされる多くの機能によって推進されている。そのようなデバイスの処理機能の増大は、モバイル通信デバイスが、純粋な通信ツールから、ユーザエクスペリエンスの向上を可能にする高性能モバイルエンターテインメントセンターに進化したことを意味する。そのような機能の増大は、ますます複雑になる集積回路(IC)をモバイル通信デバイス内に含めることによって可能になる。モバイル通信デバイス内のICの数および複雑さが増しているので、様々なICが互いに通信することが必要になる。
ICが互いに通信することを可能にする様々なプロトコルについて略述したいくつかの規格が公開されている。普及しているプロトコルは、ペリフェラルコンポーネントインターコネクト(PCI)プロトコルであり、PCIプロトコルは、エクスプレス(PCIe)プロトコルを含む様々な形態を有する。PCIおよびPCIeは、IC間通信プロトコルとして有用であるが、ケーブルまたはその他のコネクタを通してモバイル端末をリモートデバイスに結合するのに使用される場合もある。
アドバンストマイクロコントローラバスアーキテクチャ(AMBA)は、システムオンチップ(SoC)における機能ブロックの接続および管理に関する、オープンスタンダードのオンチップインターコネクト仕様である。AMBAは、高性能、高クロック周波数システム設計用のアドバンストエクステンシブルインターフェース(AXI)を使用可能にする。AXIは、AXI自体を高速サブマイクロメートルインターコネクトに適合させる機能を含み、属性をトランザクションに割り当てるのも可能にして性能を向上させる。PCIeでは、そのような属性を使用することができない。すなわち、PCIeは、優先順位属性および順序付け属性などのいくつかのトランザクション間属性を有するが、これらは、あるトランザクションの他のトランザクションに対する属性であり、PCIeトランザクションレイヤパケット(TLP)のヘッダ内に設けられる。PCIeは、性能向上属性を使用することによって恩恵を受けることができる。
発明を実施するための形態で開示する態様は、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)システムにおいてトランザクション固有属性を伝達することを含む。PCIeシステムは、ホストシステムと少なくとも1つのPCIeエンドポイントとを含む。PCIeエンドポイントは、既定のホストトランザクションの効率および性能を向上させることのできる1つまたは複数のトランザクション固有属性(たとえば、キャッシュ可能、バッファ可能、読取り割振り、および書込み割振り)を判定するように構成される。この場合、一態様では、PCIeエンドポイントが、少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおけるトランザクション固有属性を符号化し、PCIe TLPをホストシステムに提供する。別の態様では、ホストシステムにおけるPCIeルートコンプレックス(RC)が、PCIeエンドポイントから受信されたPCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を検出し抽出するように構成される。PCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を伝達することによって、既存のPCIe規格を侵害せずにPCIeシステムの効率および性能を向上させることが可能である。
この場合、一態様では、メモリシステムが提供される。ホストシステムは、TLPプレフィックスを含む少なくとも1つのPCIe TLPを受信するために複数のPCIeエンドポイントに結合されるように構成されるバスインターフェースを含む。ホストシステムはまた、属性プレフィックス検出およびパーズ論理を含むPCIe RCを含む。属性プレフィックス検出およびパーズ論理は、バスインターフェースから少なくとも1つのPCIe TLPを受信するように構成される。属性プレフィックス検出およびパーズ論理はまた、少なくとも1つのPCIe TLPにおいてTLPプレフィックスを検出するように構成される。属性プレフィックス検出およびパーズ論理はまた、既定のホストトランザクションに関連する1つまたは複数のトランザクション固有属性を抽出するためにTLPプレフィックスをパーズするように構成される。属性プレフィックス検出およびパーズ論理はまた、1つまたは複数のトランザクション固有属性を属性インターフェースに提供するように構成される。
別の態様では、ホストシステムにおいてトランザクション固有属性を受信するための方法が提供される。本方法は、TLPプレフィックスを含む少なくとも1つのPCIe TLPを受信するステップを含む。本方法はまた、少なくとも1つのPCIe TLPにおいてTLPプレフィックスを検出するステップを含む。本方法はまた、既定のホストトランザクションに関連する1つまたは複数のトランザクション固有属性を抽出するためにTLPプレフィックスをパーズするステップを含む。本方法はまた、1つまたは複数のトランザクション固有属性を属性インターフェースに提供するステップを含む。
別の態様では、PCIeエンドポイントが提供される。このPCIeエンドポイントは処理回路を含む。処理回路は、既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定するように構成される。処理回路はまた、少なくとも1つのPCIe TLPのTLPプレフィックスにおける1つまたは複数のトランザクション固有属性を符号化するように構成される。処理回路はまた、PCIeエンドポイントに通信可能に結合されるホストシステムに少なくとも1つのPCIe TLPを提供するように構成される。
別の態様では、トランザクション固有属性をPCIeエンドポイントからホストシステムに伝達するための方法が提供される。本方法は、既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定するステップを含む。本方法はまた、少なくとも1つのPCIe TLPのTLPプレフィックスにおける1つまたは複数のトランザクション固有属性を符号化するステップを含む。本方法はまた、少なくとも1つのPCIe TLPをホストシステムに提供するステップを含む。
例示的な従来のペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)システムの概略図である。 PCIe基本仕様改訂3.0(PCIe仕様)において定義された例示的なPCIeトランザクションレイヤパケット(TLP)の概略図である。 PCIe仕様において定義された図2AのPCIe TLPにおけるTLPヘッダの概略図である。 トランザクション間属性を伝達するための図2BのTLPヘッダにおける第1の属性フィールドおよび第2の属性フィールドを例示する概略図である。 PCIeシステムにおける効率および性能を向上させるために複数のPCIeエンドポイントがトランザクション固有属性をホストシステムに伝達するのを可能にするように構成される例示的なPCIeシステムの概略図である。 図3のPCIeエンドポイントの各々が、図2AのPCIe TLPのTLPプレフィックスにおける図3のトランザクション固有属性を、図3のホストシステムに伝達できるように符号化するのに使用することができる例示的なデータ構造の概略図である。 図3のホストシステムにおいてトランザクション固有属性を受信するための例示的なホストプロセスのフローチャートである。 トランザクション固有属性を図3のホストシステムに伝達するための例示的なPCIeエンドポイントプロセスのフローチャートである。 図3のPCIeシステムを含むことができる例示的なプロセッサベースのシステムのブロック図である。
次に図面を参照しながら、本開示のいくつかの例示的な態様について説明する。「例示的な」という単語は、本明細書では、「例、実例、または例証として機能する」を意味するために使用される。本明細書において「例示的」として説明するいずれの態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるべきでない。
発明を実施するための形態で開示する態様は、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)システムにおいてトランザクション固有属性を伝達することを含む。PCIeシステムは、ホストシステムと少なくとも1つのPCIeエンドポイントとを含む。PCIeエンドポイントは、既定のホストトランザクションの効率および性能を向上させることのできる1つまたは複数のトランザクション固有属性(たとえば、キャッシュ可能、バッファ可能、読取り割振り、および書込み割振り)を判定するように構成される。この場合、一態様では、PCIeエンドポイントが、少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおけるトランザクション固有属性を符号化し、PCIe TLPをホストシステムに提供する。別の態様では、ホストシステムにおけるPCIeルートコンプレックス(RC)が、PCIeエンドポイントから受信されたPCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を検出し抽出するように構成される。PCIe TLPのTLPプレフィックスにおいてトランザクション固有属性を伝達することによって、既存のPCIe規格を侵害せずにPCIeシステムの効率および性能を向上させることが可能である。
本開示の特定の態様を含むPCIeシステムにおいてトランザクション固有属性を伝達する例示的な態様について説明する前に、まず図1において従来のPCIeシステムについて簡単に説明する。次に、図2A〜図2Cを参照して、2010年11月10日にペリフェラルコンポーネントインターコネクト(PCI)スペシャルインタレストグループ(SIG)(PCI-SIG)によって公開されたPCIe基本仕様改訂3.0(PCIe仕様)において定義されたPCIe TLPフォーマットおよび性能最適化属性について簡単に説明する。PCIeシステムにおいてトランザクション固有属性を伝達する特定の例示的な態様についての説明では、最初に図3を参照する。
この場合、図1は、例示的な従来のPCIeシステム100の概略図である。従来のPCIeシステム100は、ホストシステム102と複数のPCIeエンドポイント104(1)〜104(N)とを含む。非制限的な例では、PCIeエンドポイント104(N)は、PCIeエンドポイント104(N)(1)〜104(N)(M)を制御するPCIeスイッチ104(N)である。この例では、PCIeエンドポイント104(N)(1)〜104(N)(M)は、PCIeスイッチ104(N)を介してホストシステム102と通信するように構成される。
ホストシステム102は、少なくとも1つのプロセッサ106と、メモリコントローラ108と、メモリ管理ユニット(MMU)110とを含む。プロセッサ106、メモリコントローラ108、およびMMU110は、内部バス112(たとえば、システムネットワークオンチップ(SNoC)バス)に結合される。メモリコントローラ108は、たとえば、ダイナミックランダムアクセスメモリ(DRAM)またはダブルデータレート(DDR)DRAMなどのメモリ114を制御するように構成される。ホストシステム102はまた、MMU110と通信可能に結合されるPCIeルートコンプレックス(RC)116を含む。PCIe RC116は、バスインターフェース118を介してPCIeエンドポイント104(1)〜104(N)を制御するように構成される。PCIe RC116とPCIeエンドポイント104(1)〜104(N)との間の通信はTLP(図示せず)に基づく。各TLPは、PCIe RC116がTLPを正しくPCIeエンドポイント104(1)〜104(N)に転送するのを可能にするアドレス情報を含む。この場合、PCIe RC116は、インターネット-プロトコル(IP)ネットワークのルータに類似しており、TLPは、IPネットワークにおいて伝達されるIPパケットに類似している。
PCIe仕様によれば、TLPは、読取りおよび書込みなどのトランザクション、ならびにある種のイベントをPCIe RC116とPCIeエンドポイント104(1)〜104(N)との間で伝達するのに使用される。PCIe仕様は、メモリトランザクション、入力/出力(I/O)トランザクション、構成トランザクション、およびメッセージトランザクションを含む4種類のトランザクションを定義している。メモリトランザクションは、読取り要求トランザクション、書込み要求トランザクション、およびアトミック動作要求トランザクションを含む。そのようなトランザクションは、ホストシステム102があるPCIeトランザクションを別のPCIeトランザクションに対してどのように処理するかを定義する、優先順位属性、順序付け属性、およびスヌープ可能属性などのトランザクション間属性を伴う場合がある。トランザクション間属性は、PCIe仕様に従ってTLP内に設けられる場合がある。PCIe仕様に従ってトランザクション間属性を伝達するにはTLPをどのように構成すればよいかについての理解の助けとして、次に図2A〜図2Cについて説明する。
この場合、図2Aは、PCIe仕様において定義されている例示的なPCIe TLP200の概略図である。PCIe TLP200は、TLPプレフィックス202と、TLPヘッダ204と、データペイロード206と、TLPダイジェスト208とを含む。TLPプレフィックス202およびTLPダイジェスト208は、PCIe仕様によればオプションである。非制限的な例では、TLPプレフィックス202は、ベンダ固有情報を伝達するためにベンダによって定義されたデータ構造に従って符号化される。PCIe仕様によれば、トランザクション間属性はTLPヘッダ204において伝達される。
この点に関して、図2Bは、PCIe仕様において定義されている図2AのPCIe TLP200内のTLPヘッダ204の概略図である。TLPヘッダ204はタイプフィールド210を含む。タイプフィールド210は、たとえば、メモリ読取り要求、メモリ書込み要求、入力/出力読取り要求、および入力/出力書込み要求などのトランザクションのタイプを示すように符号化されてもよい。TLPヘッダ204はまた、第1の属性フィールド212(図2BではAttrと短縮されている)と、第2の属性フィールド214(図2BではAttrと短縮されている)と、トラフィッククラスフィールド216(図2BではTCと短縮されている)とを含む。第1の属性フィールド212、第2の属性フィールド214、およびトラフィッククラスフィールド216は、図1のPCIe RC116とPCIeエンドポイント104(1)〜104(N)との間でトランザクション情報を伝達するPCIeトランザクション記述子(図示せず)の一部である。
PCIe仕様によれば、第1の属性フィールド212および第2の属性フィールド214は、トランザクション間属性を伝達するように構成される。この場合、図2Cは、トランザクション間属性を伝達するための図2BのTLPヘッダ204における第1の属性フィールド212および第2の属性フィールド214を例示的に示す概略図である。PCIe仕様によれば、第1の属性フィールド212は、それぞれの長さが1バイナリビット(1ビット)であり、識別情報(ID)ベースの順序付け属性を識別するように構成される。第2の属性フィールド214は、それぞれの長さが2バイナリビット(2ビット)であり、厳密でない順序付け属性および非スヌープ属性を識別するように構成される。第1の属性フィールド212および第2の属性フィールド214において伝達される属性(たとえば、IDベースの順序付け属性、厳密でない順序付け属性、非スヌープ属性)を以下では標準属性と呼ぶ。
再び図1を参照する。ホストシステム102は、図2AのPCIe TLP200におけるデータペイロード206をパーズするように構成されるトランザクションパーズ論理120を含む。トランザクション解析論理120はまた、図2BのTLPヘッダ204における第1の属性フィールド212および第2の属性フィールド214をパーズするように構成される。トランザクションパーズ論理120は、第1の属性フィールド212および第2の属性フィールド214において受信された属性をMMU110に渡す。トランザクションパーズ論理120はまた、バストランザクション122を生成し、バストランザクション122をMMU110に提供する。MMU110は、バストランザクション122を内部バス112を介してメモリコントローラ108に提供する。
前述のように優先順位属性、順序付け属性、およびスヌープ可能属性などのトランザクション間属性は、ホストシステム102があるPCIeトランザクションを別のPCIeトランザクションに対してどのように処理するかを定義する。PCIe仕様において定義されるように、メモリトランザクションには読取り要求トランザクション、書込み要求トランザクション、およびアトミック動作要求トランザクションが含まれる。この場合、トランザクション間属性は、読取り要求トランザクションと書込み要求トランザクションとアトミック動作トランザクションとの間の優先順位および/または順序を定義する。しかし、いくつかのホストシステムアーキテクチャ設計、たとえば、英国の会社ARM Holdingsによって開発されたマイクロプロセッサアーキテクチャでは、ホストシステム102の効率および性能を向上させるためにトランザクション内属性を含めることが可能である。
非制限的な例では、トランザクション内属性には、キャッシュ可能属性、バッファ可能属性、読取り割振り属性、書込み割振り属性、命令/データ属性、特権/ユーザ属性、ライトスルー属性、順序付き書込みおよび順序付き読取り属性が含まれる。キャッシュ可能属性は、宛先エンティティ(たとえば、PCIeエンドポイント104(1))におけるデータが発信側エンティティ(たとえば、プロセッサ106)における元のフォーマットと一致する必要があるかどうかを定義する。メモリトランザクションがキャッシュ可能属性においてキャッシュ可能であると定義されている場合、宛先エンティティにおけるデータは発信側エンティティにおける元のフォーマットと一致する必要がない。この場合、ホストシステム102は、キャッシュ可能トランザクションのデータと他のトランザクションのデータをTLPにおいて混合してもよい。バッファ可能属性は、宛先エンティティに到達したときにデータをバッファできる(遅延させることができる)かどうかを定義する。読取り割振り属性は、読取りトランザクションがキャッシュにおいてミスした場合にその読取りトランザクションに関連するデータをキャッシュ(図示せず)において割り振らなければならないかどうかを定義する。書込み割振り属性は、書込みトランザクションがキャッシュにおいてミスした場合にその書込みトランザクションに関連するデータをキャッシュにおいて割り振らなければならないかどうかを定義する。命令/データ属性は、データがバストランザクション命令であるかそれともトランザクションデータであるかを示す。MMU110および/またはメモリコントローラ108は、命令/データ属性に基づいて読取り/書込み許可を検査する代わりにバストランザクション命令を実行することを決定することができる。特権/ユーザ属性は、バストランザクション122がユーザモードアクセスであるかそれとも特権モードアクセスであるかを示す。MMU110および/またはメモリコントローラ108は、特権/ユーザ属性を使用してメモリアクセス許可を判定することができる。ライトスルー属性は、キャッシュ(図示せず)がバストランザクション122をライトスルーとして処理すべきかそれともライトバックとして処理すべきかを示す。ライトスルー属性は、ホストシステム102内の様々なキャッシュ(たとえば、システムキャッシュ、レベル2(L2)キャッシュなど)によって使用されてもよい。順序付き書込みおよび順序付き読取り属性は、並行バストランザクション(書込みまたは読取り)を順序付けする必要があることを示す。順序付き書込みおよび順序付き読取り属性は、バストランザクション122をすべての以前のバストランザクションに対して順序付けるために内部バス112によって使用される。この場合、トランザクション内属性は、特定のトランザクションに関するトランザクション処理選好を定義する。たとえば、読取り割振り属性は読取り要求トランザクションに関する場合があり、書込み割振り属性は書込み要求トランザクションに関する場合がある。したがって、上述のトランザクション内属性を以下ではトランザクション固有属性と呼ぶ。
上述のトランザクション固有属性は、ホストシステム102の効率および性能の向上を助けることができる。しかし、メモリトランザクションがPCIeエンドポイント104(1)〜104(N)から発信するとき、ホストシステム102は、トランザクションの特性に関して限られた知識しか有さず(たとえば、読取り要求、書込み要求、アトミック動作要求)、したがって、PCIeエンドポイント104(1)〜104(N)に関するトランザクション固有属性を判定することはできない。これに対して、PCIeエンドポイント104(1)〜104(N)は、トランザクション固有属性を認識するが、PCIe仕様ではトランザクション固有属性を伝達するための機構を設けないので、トランザクション固有属性をホストシステム102に渡すことはできない。したがって、PCIeエンドポイント104(1)〜104(N)が、PCIe仕様の順守を維持しつつトランザクション固有属性をPCIe RC116に伝達することが望ましい場合がある。
この場合、図3は、複数のPCIeエンドポイント302(1)〜302(N)がPCIeシステム300において効率および性能を向上させるようにトランザクション固有属性をホストシステム304に伝達するのを可能にするように構成される例示的なPCIeシステム300の概略図である。非制限的な例では、PCIeエンドポイント302(N)は、PCIeエンドポイント302(N)(1)〜302(N)(M)を制御するPCIeスイッチ302(N)である。この例では、PCIeエンドポイント302(N)(1)〜302(N)(M)は、PCIeスイッチ302(N)を介してホストシステム304と通信するように構成される。
説明の便宜のために、以下では非制限的な例としてPCIeエンドポイント302(1)について説明する。PCIeエンドポイント302(1)を参照して説明した構成および動作がPCIeエンドポイント302(1)〜302(N)およびPCIeエンドポイント302(N)(1)〜302(N)(M)の各々に適用可能であることを了解されたい。
図3を参照する。ホストシステム304は、少なくとも1つのプロセッサ306と、メモリコントローラ308と、MMU310とを含む。プロセッサ306、メモリコントローラ308、およびMMU310は、内部バス312(たとえば、SNoCバス)に結合される。メモリコントローラ308は、たとえば、DRAMまたはDDR DRAMなどのメモリ314を制御するように構成される。ホストシステム304はまた、属性インターフェース318を介してMMU310と通信可能に結合されるPCIeRC316を含む。非限定的な例では、属性インターフェース318は物理インターフェースまたは論理インターフェースである。PCIe RC316は、バスインターフェース320を介してPCIeエンドポイント302(1)〜302(N)を制御するように構成される。PCIe RC316とPCIeエンドポイント302(1)〜302(N)との間の通信は、図2Aを参照して説明したようにTLPに基づく。ホストシステム304は、図2AのPCIe TLP200におけるデータペイロード206をパーズするように構成されるトランザクションパーズ論理322を含む。トランザクションパーズ論理322はまた、図2BのTLPヘッダ204における第1の属性フィールド212および第2の属性フィールド214をパーズするように構成される。
図2Aにおいてすでに説明したように、PCIe TLP200は場合によっては、ベンダ固有情報を伝達するためにベンダによって定義されたデータ構造に従って符号化される場合があるTLPプレフィックス202を含む。上記の説明の例示的な態様によれば、PCIeエンドポイント302(1)は、ベンダによって定義されたデータ構造をPCIe TLP200におけるTLPプレフィックス202内に埋め込むことによってトランザクション固有属性をPCIe RC316に伝達するように構成される。
この点に関して、図4は、PCIeエンドポイント302(1)〜302(N)の各々が、図2AのPCIe TLP200のTLPプレフィックス202における図3のトランザクション固有属性を、図3のホストシステム304に伝達できるように符号化するのに使用することができる例示的なデータ構造400の概略図である。非制限的な例では、データ構造400は、バッファ可能属性ビット402と、キャッシュ可能属性ビット404と、読取り割振り属性ビット406と、書込み割振り属性ビット408とを含む。データ構造400をより多くの属性ビットを含むように拡張できることを了解されたい。
図4を参照する。バッファ可能属性ビット402は、PCIeエンドポイント302(1)から発信したトランザクションがそれぞれバッファ不能であるかあるいはバッファ可能であることを示す0または1に設定される。キャッシュ可能属性ビット404は、PCIeエンドポイント302(1)から発信したトランザクションがそれぞれキャッシュ不能であるかあるいはキャッシュ可能であることを示す0または1に設定される。読取り割振り属性ビット406は、PCIeエンドポイント302(1)から発信したトランザクションがそれぞれ非読取り割振りであるかあるいは読取り割振りであることを示す0または1に設定される。書込み割振り属性ビット408は、PCIeエンドポイント302(1)から発信したトランザクションがそれぞれ非書込み割振りであるかあるいは書込み割振りであることを示す0または1に設定される。
再び図3を参照する。PCIeエンドポイント302(1)は、たとえば、読取り要求であっても、書込み要求であっても、またはアトミック動作要求であってもよい既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定するように構成される処理回路327を含む。PCIeエンドポイント302(1)は、少なくとも1つのPCIe TLP324のTLPプレフィックス202における既定のホストトランザクションに関連するトランザクション固有属性を符号化するように構成される。PCIeエンドポイント302(1)は次いで、PCIe TLP324をホストシステム304に伝達できるようにバスインターフェース320に提供する。
PCIe RC316は、バスインターフェース320を介してPCIe TLP324を受信する。トランザクションパーズ論理322は、PCIe TLP324におけるデータペイロード206(および標準属性のうちのいずれか)をパーズする。トランザクションパーズ論理322は、既定のホストトランザクションに関するバストランザクション326を生成し、バストランザクション326をMMU310に提供する。MMU310は、バストランザクション326を内部バス312を介してメモリコントローラ308に提供するように構成される。
PCIe RC316は、属性プレフィックス検出およびパーズ論理328を含む。属性プレフィックス検出およびパーズ論理328は、バスインターフェース320からPCIe TLP324を受信し、受信されたPCIe TLP324におけるTLPプレフィックス202を検出するように構成される。属性プレフィックス検出およびパーズ論理328は、PCIe TLP324におけるデータペイロード206(および標準属性のいずれか)をパーズするトランザクションパーズ論理322と実質的に並行して、TLPプレフィックス202をパーズし、PCIeエンドポイント302(1)によって図4のデータ構造400内に符号化されたトランザクション固有属性を抽出する。属性プレフィックス検出およびパーズ論理328は次いで、トランザクション固有属性を属性インターフェース318に提供する。
MMU310は、属性インターフェース318からトランザクション固有属性を受信するように構成される属性変換器330(図3ではACと短縮されている)を含む。属性変換器330は、トランザクション固有属性を1つまたは複数のバス固有属性332に変換し、バス固有属性332をメモリコントローラ308に提供する。第1の非限定的な例では、バス固有属性332はバストランザクション326のインバンド信号として伝達される。その結果、バス固有属性332はバストランザクション326と同期する。第2の非限定的な例では、バス固有属性332はサイドバンド信号としてバストランザクション326に伝達される。その結果、バス固有属性332をホストシステム304によってバストランザクション326と同期させる必要がある。その場合、メモリコントローラ308は、ホストシステム304の性能を向上させるためにトランザクション固有属性を使用してもよい。非制限的な例では、属性変換器330は、トランザクション固有属性を1つまたは複数のアドバンストエクステンシブルインターフェース(AXI)固有属性に変換し、AXI固有属性を内部バス312を介してメモリコントローラ308に提供するように構成される。
図4においてすでに説明したように、データ構造400をより多くの属性ビットを含むように拡張してもよい。したがって、属性プレフィックス検出およびパーズ論理328は、他のトランザクション固有属性(たとえば、非メモリトランザクション属性)を受信してパーズし、これらのトランザクション固有属性を属性インターフェース318に提供するように構成されてもよい。したがって、回路336は、機能的にMMU310とは異なり、属性インターフェース318を介して上記の他のトランザクション固有属性を受信し、ホストシステム304において他の既定のホストトランザクションを実行するように構成されてもよい。非制限的な例では、回路336は、MMU310を通過する必要のない属性を受信する。そのような属性は、アドレス変換属性および/または他のメモリページ属性に依存しない。回路336は、受信された属性(たとえば、順序付き書込みおよび順序付き読取り属性)を直接内部バス312に導入することができる。
ホストシステム304は、ホスト側プロセスに従ってPCIeエンドポイント302(1)からトランザクション固有属性を受信するように構成されてもよい。この点に関して、図5は、図3のホストシステム304においてトランザクション固有属性を受信するための例示的なホストプロセス500のフローチャートである。
図5を参照する。属性プレフィックス検出およびパーズ論理328は、図2BのTLPプレフィックス202を含むPCIe TLP324を受信する(ブロック502)。属性プレフィックス検出およびパーズ論理328は、PCIe TLP324においてTLPプレフィックス202を検出する(ブロック504)。属性プレフィックス検出およびパーズ論理328は、TLPプレフィックス202をパーズし、既定のホストトランザクションに関連するトランザクション固有属性を抽出する(ブロック506)。属性プレフィックス検出およびパーズ論理328は次いで、トランザクション固有属性を属性インターフェース318に提供する(ブロック508)。
再び図3を参照する。PCIeエンドポイント302(1)は、PCIeエンドポイント側プロセスに従ってトランザクション固有属性をホストシステム304に提供するように構成されてもよい。この点に関して、図6は、トランザクション固有属性を図3のホストシステム304に伝達するための例示的なPCIeエンドポイントプロセス600のフローチャートである。
図6を参照する。PCIeエンドポイント302(1)は、既定のホストトランザクションに関するトランザクション固有属性を判定する(ブロック602)。PCIeエンドポイント302(1)は次いで、PCIe TLP324の図2AのTLPプレフィックス202におけるトランザクション固有属性を符号化する(ブロック604)。PCIeエンドポイント302(1)は次いで、PCIe TLP324をホストシステム304に提供する(ブロック606)。
再び図3を参照する。ホストシステム304におけるPCIe RC316は、PCIe仕様との後方互換性を有効化するように構成される。この場合、属性プレフィックス検出およびパーズ論理328は、PCIe TLP324におけるTLPプレフィックス202が図4のデータ構造400を含まないことを検出した場合、符号化されたトランザクション固有属性を抽出するためのTLPプレフィックス202のパーズを行わない。その結果、属性プレフィックス検出およびパーズ論理328は、トランザクション固有属性を属性インターフェース318に提供せず、MMU310における属性変換器330は、トランザクション固有属性のバス固有属性332への変換を行わない。
PCIeエンドポイント302(1)はまた、PCIe仕様との後方互換性を有効化するように構成される。この場合、PCIe RC316とPCIeエンドポイント302(1)との間で機能メッセージングを行うことが可能であってもよい。具体的には、PCIe仕様では、一意の機能識別子を有する新しい機能構造を定義することができる。PCIe RC316によってPCIeエンドポイント302(1)が検出されると、PCIe RC316は、PCIe RC316自体がデータ構造400をサポートする場合に初期セットアップの一部として機能問合せ(図示せず)を送る。PCIeエンドポイント302(1)は、データ構造400をサポートする場合、一意の機能識別子によって応答する。PCIeエンドポイント302(1)は、データ構造400をサポートしない場合、PCIe RC316からの機能問合せを無視する。PCIeエンドポイント302(1)は、初期セットアップ時にPCIe RC316から機能問合せを受信しなかった場合、PCIe RC316がデータ構造400(たとえば、レガシーPCIe RC)をサポートしていないと結論付けてもよい。したがって、PCIeエンドポイント302(1)は、PCIe TLP324におけるTLPプレフィックス202内へのデータ構造400の付加を行わない場合がある。PCIeエンドポイント302(1)は、内部レジスタ(図示せず)を使用して、初期セットアップの結果に基づいてPCIe RC316がデータ構造400をサポートするかどうかを示してもよい。
本明細書において開示される態様による図3のホストシステム304は、任意のプロセッサベースデバイス内に設けられるか、または組み込まれてもよい。例としては、限定ではないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、携帯電話、セルラーフォン、スマートフォン、タブレット、ファブレット、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤおよび自動車が含まれる。すべてのそのようなデバイスが本開示によって恩恵を受ける場合があるが、ワイヤレス接続に依存しRFFEバスを有するデバイスが本開示の態様を使用すると最大の利益が得られる。
この点に関して、図7は、図3のホストシステム304をサポートすることのできるプロセッサベースシステム700の一例を示す。この例では、プロセッサベースシステム700は、各々が1つまたは複数のプロセッサ704(たとえば、図3のプロセッサ306)を含む1つまたは複数の中央処理ユニット(CPU)702を含む。CPU702は、一時的に記憶されたデータに迅速にアクセスできるようにプロセッサ704に結合されるキャッシュメモリ706を有する場合がある。CPU702は、図3の内部バス312であることが可能なシステムバス708に結合される。よく知られているように、CPU702は、システムバス708を介してアドレス情報、制御情報、およびデータ情報を交換することによって、他のデバイスと通信する。図7には示されていないが、複数のシステムバス708が設けられることがあり、その場合、各システムバス708は異なるファブリックを構成する。
他のマスタデバイスおよびスレーブデバイスをシステムバス708に接続することができる。図7に示すように、これらのデバイスは、例として、メモリシステム710と、1つまたは複数の入力デバイス712と、1つまたは複数の出力デバイス714と、1つまたは複数のネットワークインターフェースデバイス716と、1つまたは複数のディスプレイコントローラ718と、図3のMMU310とを含むことができる。入力デバイス712は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む、任意のタイプの入力デバイスを含むことができる。出力デバイス714は、限定はしないが、オーディオ、ビデオ、他の視覚インジケータなどを含む任意のタイプの出力デバイスを含むことができる。ネットワークインターフェースデバイス716は、ネットワーク720との間のデータの交換を可能にするように構成される、任意のデバイスとすることができる。ネットワーク720は、限定はしないが、有線ネットワークまたはワイヤレスネットワーク、プライベートネットワークまたは公衆ネットワーク、ローカルエリアネットワーク(LAN)、ワイヤレスローカルエリアネットワーク(WLAN)、ワイドエリアネットワーク(WAN)、BLUETOOTH(登録商標)ネットワーク、またはインターネットを含む、任意のタイプのネットワークとすることができる。ネットワークインターフェースデバイス716は、所望の任意のタイプの通信プロトコルをサポートするように構成することができる。メモリシステム710は、1つまたは複数のメモリユニット722(0〜N)と、図3のメモリコントローラ308であってもよいメモリコントローラ724とを含むことができる。
また、CPU702は、1つまたは複数のディスプレイ726に送信される情報を制御するために、システムバス708を介してディスプレイコントローラ718にアクセスするように構成される場合もある。ディスプレイコントローラ718は、1つまたは複数のビデオプロセッサ728を介して表示すべき情報をディスプレイ726に送信し、ビデオプロセッサ728は、表示すべき情報を、ディスプレイ726に適したフォーマットになるように処理する。ディスプレイ726は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイ、発光ダイオード(LED)ディスプレイなどを含む、任意のタイプのディスプレイを含むことができる。
本明細書で開示する態様に関して説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウェアとして実装される場合も、メモリもしくは別のコンピュータ可読媒体に記憶され、プロセッサもしくは他の処理デバイスによって実行される命令として実装される場合も、またはその両方の組合せとして実装される場合もあることが、当業者はさらに理解されよう。本明細書において説明するマスタデバイスおよびスレーブデバイスは、例として、任意の回路、ハードウェアコンポーネント、集積回路(IC)、またはICチップにおいて使用されてもよい。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリであってもよく、任意のタイプの所望の情報を記憶するように構成されてもよい。この互換性を明確に示すために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップについて、概してそれらの機能に関して上記で説明した。そのような機能がどのように実装されるかは、特定の適用例、設計選択、および/または全体的なシステムに課される設計制約によって決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装してもよいが、そのような実装形態の決定は、本開示の範囲からの逸脱を引き起こすものと解釈されるべきではない。
本明細書で開示する態様に関して説明する種々の例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタロジック、個別ハードウェアコンポーネント、または本明細書で説明する機能を実行するように設計されるそれらの任意の組合せを用いて実装または実行される場合がある。プロセッサは、マイクロプロセッサである場合があるが、代替としてプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンである場合がある。プロセッサはまた、コンピューティングデバイスの組合せ(たとえば、DSPとマイクロプロセッサ、複数のマイクロプロセッサ、またはDSPコアと連携する1つもしくは複数のマイクロプロセッサの各組合せ、あるいは任意の他のそのような構成)として実装されてもよい。
本明細書で開示する態様は、ハードウェアとして具現化され、かつハードウェアに記憶されている命令として具現化されてもよく、命令は、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において知られている任意の他の形態のコンピュータ可読媒体内に存在してもよい。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取ること、および記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサに一体化されてもよい。プロセッサおよび記憶媒体は、ASIC内に存在してもよい。ASICは、リモート局の中に存在してもよい。代替として、プロセッサおよび記憶媒体は、リモート局、基地局、またはサーバの中で個別コンポーネントとして存在する場合がある。
本明細書の例示的な態様のいずれかにおいて説明した動作ステップはまた、例示および説明のために記載されていることに留意されたい。上述の動作は、図示したシーケンス以外の多数の異なるシーケンスにおいて実行される場合がある。さらに、単一の動作ステップにおいて説明した動作は、実際にはいくつかの異なるステップにおいて実行される場合がある。追加として、例示的な態様において説明した1つまたは複数の動作ステップが組み合わされてもよい。当業者には容易に明らかであるように、フローチャート図に示す動作ステップが数多くの異なる修正を受けてもよいことを理解されたい。当業者にはまた、情報および信号が様々な異なる技術および技法のいずれを使用して表されてもよいことが理解されよう。たとえば、上記の説明全体を通じて参照される場合があるデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁気粒子、光場あるいは光粒子、またはそれらのオプションの組合せによって表現されてもよい。
本開示の前の説明は、いかなる当業者も本開示を作成または使用することができるようにするために提供される。本開示の様々な変更は、当業者には容易に明らかになり、本明細書で定義した一般原理は、本開示の趣旨または範囲から逸脱することなく他の変形形態に適用されてもよい。したがって、本開示は、本明細書で説明した例および設計に限定されるものではなく、本明細書で開示する原理および新規の特徴と一致する最も広い範囲を与えられるべきである。
100 PCIeシステム
102 ホストシステム
104(1)〜(N) PCIeエンドポイント、PCIeスイッチ
106 プロセッサ
108 メモリコントローラ
110 MMU
112 内部バス
114 メモリ
116 PCIeルートコンプレックス
118 バスインターフェース
120 トランザクションパーズ論理
122 バストランザクション
200 PCIe TLP
202 TLPプレフィックス
204 TLPヘッダ
206 データペイロード
208 TLPダイジェスト
210 タイプフィールド
212 第1の属性フィールド
214 第2の属性フィールド
216 トラフィッククラスフィールド
300 PCIeシステム
302(1)〜(N) PCIeエンドポイント、PCIeスイッチ
304 ホストシステム
306 プロセッサ
308 メモリコントローラ
310 MMU
312 内部バス
314 メモリ
316 PCIe RC
318 属性インターフェース
320 バスインターフェース
322 トランザクションパーズ論理
324 PCIe TLP
326 バストランザクション
327 処理回路
328 属性プレフィックス検出およびパーズ論理
330 属性変換器
332 バス固有属性
336 回路
400 データ構造
402 バッファ可能属性ビット
404 キャッシュ可能属性ビット
406 読取り割振り属性ビット
408 書込み割振り属性ビット
500 ホストプロセス
600 PCIeエンドポイントプロセス
700 プロセッサベースシステム
702 中央処理ユニット
704 プロセッサ(CPU)
706 キャッシュメモリ
708 システムバス
710 メモリシステム
712 入力デバイス
714 出力デバイス
716 ネットワークインターフェースデバイス
718 ディスプレイコントローラ
720 ネットワーク
722(0〜N) メモリユニット
724 メモリコントローラ
726 ディスプレイ
728 ビデオプロセッサ

Claims (30)

  1. ホストシステムであって、
    トランザクションレイヤパケット(TLP)プレフィックスを含む少なくとも1つのペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)TLPを受信するために複数のPCIeエンドポイントに結合されるように構成されるバスインターフェースと、
    属性プレフィックス検出およびパーズ論理を含むPCIeルートコンプレックス(RC)であって、
    前記バスインターフェースから前記少なくとも1つのPCIe TLPを受信することと、
    少なくとも1つのPCIe TLPにおいて前記TLPプレフィックスを検出することと、
    既定のホストトランザクションに関連する1つまたは複数のトランザクション固有属性を抽出するために前記TLPプレフィックスをパーズすることと、
    前記1つまたは複数のトランザクション固有属性を属性インターフェースに提供することと
    を行うように構成されるPCIeルートコンプレックスと
    を備える、ホストシステム。
  2. 前記既定のホストトランザクションは、読取り要求、書込み要求、およびアトミック動作要求からなるグループから選択されるメモリトランザクションである、請求項1に記載のホストシステム。
  3. 内部バスに結合されるメモリコントローラであって、メモリを制御するように構成されるメモリコントローラと、
    前記内部バスに通信可能に結合されるメモリ管理ユニット(MMU)であって、
    前記属性インターフェースから前記1つまたは複数のトランザクション固有属性を受信することと、
    前記1つまたは複数のトランザクション固有属性を1つまたは複数のバス固有属性に変換することと、
    前記1つまたは複数のバス固有属性を前記メモリコントローラに提供することと
    を行うように構成される属性変換器を備えるMMUと
    をさらに備える、請求項1に記載のホストシステム。
  4. 前記属性変換器は、
    前記1つまたは複数のトランザクション固有属性を1つまたはアドバンストエクステンシブルインターフェース(AXI)固有属性に変換することと、
    前記1つまたは複数のAXI固有属性を前記メモリコントローラに提供することと
    を行うようにさらに構成される、請求項3に記載のホストシステム。
  5. 前記1つまたは複数のトランザクション固有属性は、キャッシュ可能属性を含む、請求項1に記載のホストシステム。
  6. 前記1つまたは複数のトランザクション固有属性は、バッファ可能属性を含む、請求項1に記載のホストシステム。
  7. 前記1つまたは複数のトランザクション固有属性は、読取り割振り属性を含む、請求項1に記載のホストシステム。
  8. 前記1つまたは複数のトランザクション固有属性は、書込み割振り属性を含む、請求項1に記載のホストシステム。
  9. 前記1つまたは複数のトランザクション固有属性は、命令/データ属性、特権/ユーザ属性、ライトスルー属性、ならびに順序付き書込みおよび順序付き読取り属性からなるグループから選択されるトランザクション固有属性を含む、請求項1に記載のホストシステム。
  10. 前記PCIe RCは、前記少なくとも1つのPCIe TLPにおけるペイロードおよび標準属性をパーズするように構成されるトランザクションパーズ論理をさらに備える、請求項1に記載のホストシステム。
  11. 集積回路(IC)に組み込まれる、請求項1に記載のホストシステム。
  12. セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、スマートフォン、タブレット、ファブレット、サーバ、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、ポータブルデジタルビデオプレーヤ、および自動車からなるグループから選択されるデバイスの中に統合される、請求項1に記載のホストシステム。
  13. ホストシステムにおいてトランザクション固有属性を受信するための方法であって、
    トランザクションレイヤパケット(TLP)プレフィックスを含む少なくとも1つのペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)TLPを受信するステップと、
    少なくとも1つのPCIe TLPにおいて前記TLPプレフィックスを検出するステップと、
    既定のホストトランザクションに関連する1つまたは複数のトランザクション固有属性を抽出するために前記TLPプレフィックスをパーズするステップと、
    前記1つまたは複数のトランザクション固有属性を属性インターフェースに提供するステップと
    を含む、方法。
  14. 前記属性インターフェースから前記1つまたは複数のトランザクション固有属性を受信するステップと、
    前記1つまたは複数のトランザクション固有属性を1つまたは複数のバス固有属性に変換するステップと、
    前記1つまたは複数のバス固有属性をメモリコントローラに提供するステップと
    をさらに含む、請求項13に記載の方法。
  15. 前記1つまたは複数のトランザクション固有属性を1つまたはアドバンストエクステンシブルインターフェース(AXI)固有属性に変換するステップと、
    前記1つまたは複数のAXI固有属性を前記メモリコントローラに提供するステップと
    をさらに含む、請求項14に記載の方法。
  16. 前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおけるキャッシュ可能属性を受信するステップをさらに含む、請求項13に記載の方法。
  17. 前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおけるバッファ可能属性を受信するステップをさらに含む、請求項13に記載の方法。
  18. 前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいて読取り割振り属性を受信するステップをさらに含む、請求項13に記載の方法。
  19. 前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいて書込み割振り属性を受信するステップをさらに含む、請求項13に記載の方法。
  20. ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)エンドポイントであって、
    処理回路であって、
    既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定することと、
    少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおける前記1つまたは複数のトランザクション固有属性を符号化することと、
    前記PCIeエンドポイントに通信可能に結合されるホストシステムに前記少なくとも1つのPCIe TLPを提供することと
    を行うように構成される処理回路
    を備える、PCIeエンドポイント。
  21. 前記既定のホストトランザクションは、読取り要求、書込み要求、およびアトミック動作要求からなるグループから選択されるメモリトランザクションである、請求項20に記載のPCIeエンドポイント。
  22. 前記1つまたは複数のトランザクション固有属性は、キャッシュ可能属性を含む、請求項20に記載のPCIeエンドポイント。
  23. 前記1つまたは複数のトランザクション固有属性は、バッファ可能属性を含む、請求項20に記載のPCIeエンドポイント。
  24. 前記1つまたは複数のトランザクション固有属性は、読取り割振り属性を含む、請求項20に記載のPCIeエンドポイント。
  25. 前記1つまたは複数のトランザクション固有属性は、書込み割振り属性を含む、請求項20に記載のPCIeエンドポイント。
  26. トランザクション固有属性をペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)エンドポイントからホストシステムに伝達するための方法であって、
    既定のホストトランザクションに関する1つまたは複数のトランザクション固有属性を判定するステップと、
    少なくとも1つのPCIeトランザクションレイヤパケット(TLP)のTLPプレフィックスにおける前記1つまたは複数のトランザクション固有属性を符号化するステップと、
    前記少なくとも1つのPCIe TLPを前記ホストシステムに提供するステップと
    を含む、方法。
  27. 前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいてキャッシュ可能属性を提供するステップをさらに含む、請求項26に記載の方法。
  28. 前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいてバッファ可能属性を提供するステップをさらに含む、請求項26に記載の方法。
  29. 前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいて読取り割振り属性を提供するステップをさらに含む、請求項26に記載の方法。
  30. 前記少なくとも1つのPCIe TLPの前記TLPプレフィックスにおいて書込み割振り属性を提供するステップをさらに含む、請求項26に記載の方法。
JP2017565275A 2015-06-22 2016-06-01 ペリフェラルコンポーネントインターコネクトエクスプレス(pcie)システムにおけるトランザクション固有属性の伝達 Pending JP2018523217A (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562182807P 2015-06-22 2015-06-22
US62/182,807 2015-06-22
US15/168,574 US10089275B2 (en) 2015-06-22 2016-05-31 Communicating transaction-specific attributes in a peripheral component interconnect express (PCIe) system
US15/168,574 2016-05-31
PCT/US2016/035155 WO2016209568A1 (en) 2015-06-22 2016-06-01 Communicating transaction-specific attributes in a peripheral component interconnect express (pcie) system

Publications (1)

Publication Number Publication Date
JP2018523217A true JP2018523217A (ja) 2018-08-16

Family

ID=56118064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017565275A Pending JP2018523217A (ja) 2015-06-22 2016-06-01 ペリフェラルコンポーネントインターコネクトエクスプレス(pcie)システムにおけるトランザクション固有属性の伝達

Country Status (9)

Country Link
US (1) US10089275B2 (ja)
EP (1) EP3311295B1 (ja)
JP (1) JP2018523217A (ja)
KR (1) KR20180019567A (ja)
CN (1) CN107771325B (ja)
AU (1) AU2016283926A1 (ja)
BR (1) BR112017027661A2 (ja)
TW (1) TW201712559A (ja)
WO (1) WO2016209568A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102367359B1 (ko) * 2017-04-17 2022-02-25 에스케이하이닉스 주식회사 직렬 시스템 버스 인터페이스 및 직접메모리액세스 컨트롤러를 갖는 전자 시스템 및 그 동작 방법
TWI685753B (zh) * 2017-05-15 2020-02-21 美商莫仕有限公司 可重新配置的伺服器以及具有可重新配置的伺服器的伺服器機架
US10740000B2 (en) 2018-03-08 2020-08-11 Western Digital Technologies, Inc. Adaptive transaction layer packet for latency balancing
US10558367B2 (en) 2018-03-08 2020-02-11 Western Digital Technologies, Inc. Adaptive transaction layer packet for latency balancing
CN109165183A (zh) * 2018-09-14 2019-01-08 贵州华芯通半导体技术有限公司 外围组件快速互联原子操作硬件实现方法、装置及系统
US11281810B1 (en) * 2018-12-11 2022-03-22 Xilinx, Inc. Memory access protection in programmable logic device
US11301411B2 (en) * 2019-06-07 2022-04-12 Intel Corporation Data structures for refined link training
CN111124960A (zh) * 2019-12-12 2020-05-08 北京计算机技术及应用研究所 一种基于高速pci-e接口硬盘连接机构
CN111159090B (zh) * 2019-12-31 2022-03-25 联想(北京)有限公司 一种信息处理方法、装置和电子设备
EP4080375A4 (en) * 2020-01-22 2022-12-21 Huawei Technologies Co., Ltd. PCIE BASED DATA TRANSFER METHOD AND DEVICE
EP4084422A4 (en) * 2020-01-22 2023-01-18 Huawei Technologies Co., Ltd. PCIE-BASED DATA TRANSMISSION METHOD, DEVICE AND SYSTEM
CN113498596B (zh) * 2020-01-22 2022-10-11 华为技术有限公司 一种基于PCIe的数据传输方法及装置
KR102496994B1 (ko) 2021-03-23 2023-02-09 에스케이하이닉스 주식회사 PCIe 인터페이스 장치 및 그 동작 방법
KR102529761B1 (ko) 2021-03-18 2023-05-09 에스케이하이닉스 주식회사 PCIe 디바이스 및 그 동작 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE374971T1 (de) 2001-08-24 2007-10-15 Intel Corp Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zur unterstützung von bestehenden unterbrechungen
JP5272265B2 (ja) 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
US9535849B2 (en) * 2009-07-24 2017-01-03 Advanced Micro Devices, Inc. IOMMU using two-level address translation for I/O and computation offload devices on a peripheral interconnect
JP5928087B2 (ja) 2012-03-29 2016-06-01 富士通株式会社 スイッチ、情報処理装置および通信制御方法
US20130346655A1 (en) 2012-06-22 2013-12-26 Advanced Micro Devices, Inc. Bus agent capable of supporting extended atomic operations and method therefor
US9003220B2 (en) 2012-09-07 2015-04-07 National Instruments Corporation Switch for clock synchronization over a switched fabric
CN104737147B (zh) 2012-10-22 2018-11-06 英特尔公司 高性能互连物理层
US20140237156A1 (en) 2012-10-25 2014-08-21 Plx Technology, Inc. Multi-path id routing in a pcie express fabric environment
US9424219B2 (en) 2013-03-12 2016-08-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Direct routing between address spaces through a nontransparent peripheral component interconnect express bridge
US20140281067A1 (en) 2013-03-15 2014-09-18 Debendra Das Sharma Apparatus, system, and method for performing link training and equalization
US9563260B2 (en) 2013-03-15 2017-02-07 Intel Corporation Systems, apparatuses, and methods for synchronizing port entry into a low power state

Also Published As

Publication number Publication date
TW201712559A (zh) 2017-04-01
EP3311295A1 (en) 2018-04-25
US10089275B2 (en) 2018-10-02
BR112017027661A2 (pt) 2018-08-28
US20160371221A1 (en) 2016-12-22
CN107771325B (zh) 2020-07-17
KR20180019567A (ko) 2018-02-26
EP3311295B1 (en) 2019-12-11
WO2016209568A1 (en) 2016-12-29
CN107771325A (zh) 2018-03-06
AU2016283926A1 (en) 2017-11-30

Similar Documents

Publication Publication Date Title
US10089275B2 (en) Communicating transaction-specific attributes in a peripheral component interconnect express (PCIe) system
US20200192838A1 (en) Extended message signaled interrupts (msi) message data
US20160371222A1 (en) COHERENCY DRIVEN ENHANCEMENTS TO A PERIPHERAL COMPONENT INTERCONNECT (PCI) EXPRESS (PCIe) TRANSACTION LAYER
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
US9690720B2 (en) Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device
US10127127B2 (en) Systems and methods for pre-warning a monitoring tool for a communication bus
CN108885588B (zh) 基于硬件的转译后备缓冲器(tlb)失效
US8838861B2 (en) Methods and apparatuses for trace multicast across a bus structure, and related systems
US9760515B2 (en) Shared control of a phase locked loop (PLL) for a multi-port physical layer (PHY)
US20190354502A1 (en) Lightweight universal serial bus (usb) compound device implementation
JP6396625B1 (ja) 複数のマスタデバイス間の条件付き介入を使用したキャッシュコヒーレンシの維持
Jung et al. Design of Multimedia SoC Platform with a Crossbar On-Chip Bus for Embedded Systems