JP7420804B2 - 改良された速度モードによるデータ通信 - Google Patents

改良された速度モードによるデータ通信 Download PDF

Info

Publication number
JP7420804B2
JP7420804B2 JP2021527859A JP2021527859A JP7420804B2 JP 7420804 B2 JP7420804 B2 JP 7420804B2 JP 2021527859 A JP2021527859 A JP 2021527859A JP 2021527859 A JP2021527859 A JP 2021527859A JP 7420804 B2 JP7420804 B2 JP 7420804B2
Authority
JP
Japan
Prior art keywords
link
speed
controller
pcie
interconnect
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
JP2021527859A
Other languages
English (en)
Other versions
JPWO2020122989A5 (ja
JP2022510812A (ja
Inventor
キャルック ゴードン
アール. タルボット ジェラルド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATI Technologies ULC
Advanced Micro Devices Inc
Original Assignee
ATI Technologies ULC
Advanced Micro Devices Inc
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 ATI Technologies ULC, Advanced Micro Devices Inc filed Critical ATI Technologies ULC
Publication of JP2022510812A publication Critical patent/JP2022510812A/ja
Publication of JPWO2020122989A5 publication Critical patent/JPWO2020122989A5/ja
Application granted granted Critical
Publication of JP7420804B2 publication Critical patent/JP7420804B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/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/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • 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
    • 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/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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/4027Coupling between buses using bus bridges
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function
    • 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/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4278Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using an embedded synchronisation
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Description

データ通信システムは、従来、公開されている通信規格に準拠するように設計されているので、1つの製造者のコンポーネントは、異なる製造者のコンポーネントと相互運用することができる。例えば、多くの現代のコンピューティングデバイスは、いくつかのバージョン又は実装のPCI(Peripheral Component Interconnect)又はPCIe(PCI Express)相互接続規格を利用する入力/出力(I/O)アダプタ及びバスを利用する。PCIe規格は、周辺デバイスをホストコンピュータに接続するためのコンピュータ通信相互接続を規定する。PCIeは、既存のPCIのプログラミングの概念を使用する以前のPCI規格の拡張であるが、コンピュータ相互接続が、より高速な物理レイヤ通信プロトコルに基づいている。PCIe物理レイヤは、アップストリームデバイスとダウンストリームデバイスとの間のデュアルな単一方向リンク(dual uni-directional links)から構成されている。
PCIe規格は、PCI-SIG(Peripheral Component Interconnect Special Interest Group)によって公開されている。PCI-SIGは、改良された速度及び機能を反映するように、この規格を随時改訂している。例えば、PCIe 1.0は、2003年に公開されており、毎秒2.5ギガ転送(GT/s)の転送レートを指定している。PCIe 2.0は、2007年に導入されており、5.0GT/sの転送レートを提供し、2010年には、8.0GT/sの転送レートによるPCIe 3.0、2017年には、16.0GT/sの転送レートによるPCIe 4.0が続いている。このように、この規格は、3~7年の周期で公開される新たなバージョンを用いて、大規模且つ離散的なステップで転送レートを向上させている。
同時に、半導体製造技術が急速に進化してきた。ディープサブミクロンフォトリソグラフィ(deep sub-micron photolithography)及び低電圧相補型金属酸化膜半導体(CMOS)トランジスタ等の進化は、高度な処理速度を有しており、PCI-SIG等の標準化団体が歩調を合わせることを困難にしている。
従来技術において周知のPCIe(Peripheral Component Interface)リンクを使用する例示的なデータ処理プラットフォームを示すブロック図である。 いくつかの実施形態による、改良された速度モード(ESM)を有するPCIeリンクを使用するデータ処理プラットフォームの一部を示すブロック図である。 いくつかの実施形態による、図2のデータ処理プラットフォームにおける使用に適した、改良された速度モードを有する相互接続コントローラを示すブロック図である。 いくつかの実施形態による、図3の相互接続コントローラによって実行されるリンク初期化セットアップのフローチャートである。 いくつかの実施形態による、図3の相互接続コントローラの拡張能力記述子(extended capability descriptor)を示す図である。 図5の拡張能力記述子のPCIe拡張能力ヘッダを示す図である。 図2のPCIeルートコンプレックスが最新の拡張能力記述子を使用して後続の拡張能力記述子をどのように見つけるかを示すアドレスマップを示す図である。 図5の拡張能力記述子のPCIe ESMヘッダ1を示す図である。 図5の拡張能力記述子のPCIe ESMヘッダ2を示す図である。 図5の拡張能力記述子のESM状態レジスタを示す図である。 図5の拡張能力記述子のESM制御レジスタを示す図である。 図5の拡張能力記述子のESM能力1レジスタを示す図である。 図5の拡張能力記述子のESM能力7レジスタを示す図である。 図3の相互接続コントローラの初期化を示すタイミング図である。 いくつかの実施形態による、PCIeトランザクションレイヤ又はCCIXトランザクションレイヤの何れかをサポートする通信コントローラのブロック図である。
以下の説明において、異なる図面において同一の符号を使用している場合には、類似又は同一の要素を示す。特に明記しない限り、「結合される(coupled)」という用語及びその関連する動詞の形態は、本技術分野において周知の手段による直接接続及び間接電気接続の両方を含み、特に明記しない限り、直接接続の如何なる説明も、間接電気接続の適切な形態を同様に使用する代替的な実施形態を意味する。
データ処理プラットフォームの相互接続コントローラは、データリンクレイヤコントローラ及び物理レイヤコントローラを含む。データリンクレイヤコントローラは、トランザクションレイヤに結合されており、データリンクレイヤコントローラは、トランザクションレイヤからデータパケットを選択的に受信し、データパケットをトランザクションレイヤに送信する。物理レイヤコントローラは、データリンクレイヤコントローラに結合されており、通信リンクに結合されている。物理レイヤコントローラは、公開された規格によって指定された第1の所定のリンク速度で選択的に動作する。物理レイヤコントローラは、改良された速度モードを有し、相互接続コントローラは、リンク初期化を実行したことに応じて、データ処理プラットフォームに問い合わせて、改良された速度モードが許可されているかどうかを判別し、少なくとも1つのセットアップ動作を実行して、改良された速度を選択し、改良された速度は、第1の所定のリンク速度よりも大きく、公開された規格によって指定されておらず、その後、改良された速度を使用して通信リンクを動作させる。
データ処理プラットフォームは、基本入力/出力システム(BIOS)及びデータプロセッサを含む。データプロセッサは、中央処理装置と、PCIe(Peripheral Component Interconnect Express)ルートコンプレックスと、を含む。中央処理装置は、BIOSに結合されており、BIOSに応答して初期化手順を実行する。PCIeルートコンプレックスは、中央処理装置に結合されており、PCIeネットワークに結合された第1のPCIeポートコントローラを含む。第1のPCIeポートコントローラは、公開された規格によって指定された第1の所定のリンク速度、及び、改良された速度モードをサポートする。BIOSは、命令を含み、命令は、中央処理装置によって実行されると、データ処理プラットフォームに問い合わせて、改良された速度モードが許可されるかどうかを判別することと、少なくとも1つのセットアップを実行して、改良された速度を選択することであって、改良された速度は、第1の所定のリンク速度よりも大きく、公開された規格によって指定されていない、ことと、その後、改良された速度を使用して、PCIeネットワークへの通信リンクを動作させることと、をPCIeルートコンプレックスに行わせる。
公開された規格に従って通信リンクを動作させる相互接続コントローラを有するデータ処理プラットフォームにおいて使用される方法は、データ処理プラットフォームに問い合わせて、改良された速度モードが許可されるかどうかを判別することを含む。少なくとも1つのセットアップ動作が、改良された速度を選択するために実行され、改良された速度は、公開された規格によって指定されておらず、公開された規格によって指定された第1の所定のリンク速度よりも大きい。その後、通信リンクは、改良された速度を使用して動作する。
図1は、PCIe(Peripheral Component Interface Express)リンクを使用する例示的なデータ処理プラットフォーム100のブロック図である。データ処理プラットフォーム100は、概して、中央処理装置(CPU)110と、メモリ120と、PCIeエンドポイント130と、PCI/PCIeブリッジ140と、スイッチ150と、レガシ(legacy)エンドポイント160,170と、PCIeエンドポイント180,190と、を含む。
CPU110は、CPUコア112と、ルートコンプレックス114と、本開示に関連しておらず、説明を容易にするために図1から省略されたいくつかの他のコンポーネントと、を含む。CPUコア112は、例えば、キャッシュ及び内部データファブリックを介して、ルートコンプレックス114に機能的に接続されている。ルートコンプレックス114は、PCIeエンドポイント130へのPCIeリンクと、PCI/PCIeブリッジ140へのPCIeリンクと、スイッチ150へのPCIeリンクと、を含む複数のPCIeリンクに双方向に接続されている。図1に示すように、PCI/PCIeブリッジ140は、PCI又はPCIeデバイス142の階層に接続されており、スイッチ150は、レガシエンドポイント160,170と、PCIeエンドポイント180,190と、に接続されている。
CPU110も、メモリ120に双方向に接続されている。図1は、メモリ120を単一のメモリシステムとして表しているが、これは、典型的には、CPU110の異なるサブコンポーネントに接続された異なるタイプのメモリを含む。例えば、メモリ120の第1の部分は、システム基本入力/出力システム(BIOS)122を記憶し、典型的には、不揮発性メモリとして実装され、システムコントローラ又は「サウスブリッジ」を介してCPU110に接続されている。一方、メモリ120の第2の部分は、オペレーティングシステム124を記憶する。オペレーティングシステムは、典型的には、ハードディスクドライブ等の大容量記憶媒体に記憶され、次いで、起動時に、より高速で揮発性のランダムアクセスメモリ(RAM)にロードされる。
動作中、システムBIOS122は、データ処理プラットフォーム100を起動及び初期化するために使用される。初期化の一部として、システムBIOS122は、データ処理プラットフォーム100に存在する入力/出力(I/O)デバイスを判別し、エニュメレーション(enumeration)として知られるPCIeファブリックを構成する処理をし続ける。システムBIOS122は、システムに存在する各I/Oデバイスに関連する構成レジスタを読み出し、各々の特性及び能力を決定する。システムBIOS122が、システムのエニュメレートと、ルートコンプレックス114の初期化と、他の様々な起動タスクの実行と、を終了すると、制御をオペレーティングシステム124に移し、オペレーティングシステム124は、アプリケーションプログラムが実行される環境を形成する。
数年の間に、PCIe規格は、集積回路技術の能力が進化し、新たなより高速な速度及び改良された能力が可能になるにつれて変化してきた。しかしながら、規格設定プロセスは、比較的遅く、集積回路製造技術の能力の改善に遅れている。よって、PCI及びPCIeシステムは、集積回路技術の進化を利用するようにシームレスに適応することができなかった。
図2は、いくつかの実施形態による、改良された速度モード(ESM)を有するPCIeリンクを使用するデータ処理プラットフォーム200の一部のブロック図である。データ処理プラットフォームは、概して、CPU210と、メモリ220と、PCIeネットワーク230と、を含む。CPU210は、CPUコア212と、ルートコンプレックス214と、説明を容易にするために図2から省略された、本説明に関連しないいくつかの他のコンポーネントと、を含む。図2に示すように、ルートコンプレックス214は、PCIeポートコントローラ216を含むが、他のPCIeポートコントローラを含んでもよい。PCIeポートコントローラ216は、PCIeネットワーク230に双方向に接続されている。図2は、PCIeネットワーク230をクラウドとして示しており、起動すると、システム構成が未知であり、発見プロセスを介して学習される必要があることと、エニュメレーションを介して、システムアドレスが割り当てられたコンポーネントに相互接続される必要があることと、という事実を強調している。図1と同様に、CPU210も、メモリ220に双方向に接続されており、メモリ220は、システムBIOSを記憶する第1の部分222と、オペレーティングシステムを記憶する第2の部分224と、を有する。
データ処理プラットフォーム200は、改良された速度モード(ESM)をサポートする点で、図1のデータ処理プラットフォーム100と異なる。ESMは、PCIeが適宜改訂されているため、PCIe規格によって指定されたリンク速度を拡張する。特に、ESMでは、様々なPCIe規格バージョンにおいて指定された標準速度よりも高い速度及び/又は標準速度と異なる速度を可能にする。PCIeネットワーク230のリンクパートナも同じ速度でESMをサポートする限り、これらの改良された速度におけるリンクの動作が許可される。改良された速度は、2つの形式の何れかを採用することができる。第1に、改良された速度は、規格において公開された、サポートされた最高速度よりも高くすることができる。第2に、改良された速度は、規格によって規定された2つの別の速度の間とすることができる。
異なる世代の公開されたPCIe規格によってサポートされた速度は、以下のように表1に示される。
Figure 0007420804000001

ESMの実施形態の一例では、改良された速度は、公開されたPCIe 2.0規格によって規定された8.0GT/s速度と、公開されたPCIe 3.0規格によって規定された16.0GT/s速度との間の速度とすることができる。別の例では、改良された速度は、8.0GT/s~16.0GT/sのいくつかの離散的速度の何れかとすることができる。更なる別の例では、改良された速度は、25.0GT/s等のように、公開されたPCIe 3.0規格によって規定された16.0GT/sよりも高い単一の離散的速度とすることができる。更にまた別の例では、改良された速度は、16.0GT/s~25.0GT/sのいくつかの離散的速度の何れかとすることができる。
公開されたPCIe速度を超える速度をサポートすることによって、データ処理プラットフォーム200は、両方のリンクパートナが同一の改良された速度能力をサポートするPCIeリンクにおいて、データ処理プラットフォームの性能が改善することを可能にする。速度は、例えば、両方のリンクパートナによってサポートされた最高速度に設定されてもよい。よって、ESMは、規格によって規定された離散的速度によって制限されず、アップストリームポート、ダウンストリームポート、及び、これらに関連するコントローラによって使用される半導体製造プロセスの能力のみによって制限されない、スケーラブルな性能改善を可能にする。
図3は、いくつかの実施形態による、図2のデータ処理プラットフォーム200での使用に適した、改良された速度モードを有する相互接続コントローラ300のブロック図である。相互接続コントローラ300は、PCIeトランザクションレイヤコントローラ310と、PCIeデータリンクレイヤコントローラ320と、PCIe物理レイヤコントローラ330と、を含む。
PCIeトランザクションレイヤコントローラ310は、図3ではまとめて「ACCESSES」とラベル付けされた、データアクセスを受信し、データ応答を提供するためのアップストリーム双方向接続と、PCIeパケットを提供及び受信するためのダウンストリーム双方向接続と、を有する。また、システムBIOSは、ダウンストリームシステムコンポーネントを問い合わせ、システムをエニュメレートするための様々なACCESSESを提供する。データアクセスは、メモリ読み出しと、データアクセスエージェントから受信したメモリ書き込みと、PCIeエンドポイントから返された読み出しデータ応答及び完了と、を含む応答を含む。PCIeトランザクションレイヤコントローラ310は、メモリアクセス要求をPCIeパケットに変換し、またその逆も行う。よって、PCIeトランザクションレイヤコントローラ310は、メモリアクセスエージェントから相互接続プロトコルを抽象化し、すなわち、メモリアクセスエージェントにプロトコル不可視性をもたらす。
PCIeデータリンクレイヤコントローラ320は、PCIeトランザクションレイヤコントローラ310のダウンストリームポートに接続された双方向アップストリームポートと、双方向ダウンストリームポートと、を有する。PCIeデータリンクレイヤコントローラ320は、開放型システム間相互接続(OSI)モデルに従って、リンクセットアップ、パケットシーケンシング、フロー制御、リトライ、及び、データリンクレイヤに通常関連する他の機能を実行する。PCIeデータリンクレイヤコントローラ320は、ヘッダ、制御情報及びフレームチェックシーケンス等を付加して、アクセス要求に対してPCIe物理レイヤコントローラ330に提供するデータリンクレイヤパケットを形成し、PCIe物理レイヤコントローラ330から受信したデータリンクレイヤパケットのヘッダ、制御情報及びフレームチェックシーケンスを処理して、アクセス応答用のPCIeパケットを形成する。
PCIe物理レイヤコントローラ330は、PCIeデータリンクレイヤコントローラ320のダウンストリーム双方向ポートに接続されたアップストリーム双方向ポートと、「TX」とラベル付けされた単方向送信ポートと「RX」とラベル付けされた単方向受信ポートとを含む媒体340に接続されたダウンストリームポートと、を有する。PCIe物理レイヤコントローラ330は、以下に更に説明するように、1つ以上の改良された速度をサポートする。
例示的な実施形態では、PCIeトランザクションレイヤコントローラ310、PCIeデータリンクレイヤコントローラ320、及び、PCIe物理レイヤコントローラ330は全て、CPUチップ上の回路ブロックである。しかしながら、相互接続コントローラ300のブロックは、ハードウェア及びソフトウェア(例えば、オペレーティングシステムドライバ)の様々な組み合わせにより実装されてもよい。例えば、PCIe物理レイヤコントローラ330は、ハードウェアで実装されてもよく、PCIeトランザクションレイヤコントローラ310は、ソフトウェアで実装されてもよく、PCIeデータリンクレイヤコントローラ320は、部分的にハードウェアで、部分的にソフトウェアで実装されてもよい。
図4は、いくつかの実施形態による、図3の相互接続コントローラ300によって実行されるリンク初期化セットアップのフローチャート400である。初期化時に、相互接続コントローラ300は、アクションボックス410,420,430を順番に使用して、接続されているリンクを初期化する。
アクションボックス410において、システムBIOSは、相互接続コントローラ300を制御して、データ処理プラットフォーム200に問い合わせて、ESMが許可されているかどうかを判別する。プラットフォームに問い合わせることは、バス階層構造をエニュメレートして、プラットフォームが、ESMの使用を許可するタイプであることを検出することを含む。この許可は、第1に、プラットフォームがESM動作に対して有効であることを判別し、第2に、相互接続コントローラ300が接続されたリンクのESM動作が可能な他端にポートが存在することを判別することを含む。
アクションボックス420において、システムBIOSは、相互接続コントローラ300を制御して、ESMを使用するためのセットアップ手順を実行する。ESMが実行されることになると判別されると、一方若しくは他方又は両方のコンポーネントが、実際にESMで実行される前に何らかのセットアップを必要とする場合があり、又は、何れのコンポーネントも、何らかのセットアップを必要としない場合がある。相互接続コントローラ300は、システムBIOS等のソフトウェアに応じてプロセスのセットアップフェーズを開始し、その構成レジスタを書き込み、アップストリームポート(USP)及びダウンストリームポート(DSP)の両方においてESMを有効にする。ESM対応(ESM-aware)ポートの場合、セットアップは、ESM制御レジスタの「ESM Enable」ビットに「1」が書き込まれたときであってもよい。ESM非対応(non-ESM aware)ポートの場合、ベンダ固有のイニシエータレジスタ(initiator register)が使用されてもよい。DSP内のイニシエータレジスタは、USP内のイニシエータの前に書き込まれる必要がある。これは、PCIe規格において定義されるように、USPにレジスタを書き込むことによって、リンク状態L1及び電気アイドル(EI)バス状態への遷移が開始されるからである。
イニシエータレジスタを書き込むと、次のシーケンスがトリガされる。第1に、相互接続コントローラ300は、リンクがLinkUp状態にある間、ポートの送信機がEI状態になり、その受信機がEIOSを検出するか、EIを検出又は推測する次の発生時に、ESMに移行するための準備に必要なセットアップを実行させる変数を設定する。第2に、ESM対応USPの場合、リンクコントローラは、L1状態に移行することを開始するように指示される。ESM非対応USPはD3hot状態になり、ソフトウェアにより指示されたL1リンク状態に移行する。第3に、相互接続コントローラ300は、必要な環境変更(例えば、電圧の変更、物理レイヤコントローラ(PHY)及び他のハードウェアの再較正等)を実行する。
その後、イニシエータビットに「1」が書き込まれる毎に、このシーケンスがトリガされ、相互接続コントローラ300は、セットアップを実行する。セットアップは、イニシエータレジスタの書き込みに続くEI状態への最初の移行時に対してのみ実行され、後続の全てのEI発生は、正常に動作し、このセットアップ手順をトリガしない。
アクションボックス430において、相互接続コントローラ300は、選択されたESMデータ速度でリンクを動作させる。よって、リンクは、PCI-SIGのような規格化組織による技術規格を公開するプロセスによって必要とされる任意の速度定義によってではなく、リンクの両端の回路に使用されるプロセス技術の能力によってのみ制限される、公開された規格で規定された性能を上回る性能を達成することが可能である。
(例示的なPCIe実施形態)
PCIeにおけるESMの実施形態の詳細について、具体例を挙げて説明する。
図5は、いくつかの実施形態による、図3の相互接続コントローラの拡張能力記述子500を示す図である。拡張能力記述子500は、Designated Vendor Specific Extended Capabilityとして知られており、32ビットのPCIe拡張能力ヘッダ510と、32ビットのESMヘッダ1 520と、16ビットのESMヘッダ2と16ビットのESM状態レジスタ534とを含む32ビットのワード530と、16ビットのESM制御レジスタと16ビットの「RsvdP」とラベル付けされた予約フィールド544とを含む32ビットのワード540と、ESM能力レジスタのセット550と、を含む構成情報を含む11個の32ビットのワードのセットを含む。ESM能力レジスタ550は、ESM能力1レジスタ551と、ESM能力2レジスタ552と、ESM能力3レジスタ553と、ESM能力4レジスタ554と、ESM能力5レジスタ555と、ESM能力6レジスタ556と、ESM能力7レジスタ557と、を含む。拡張能力記述子500は、PCIe構成空間に記憶され、発見及びエニュメレーションの間にシステムBIOSによってアクセスされ、相互接続コントローラ300のサポートされる能力を定義する。様々なレジスタにおいて使用されるビットについて説明する。
図6は、図5の拡張能力記述子500のPCIe拡張能力ヘッダ510を示す図である。PCIe拡張能力ヘッダ510は、ビット0~15のPCIe拡張能力IDフィールド610と、ビット16~19の能力バージョン612と、ビット20~31の次期能力オフセットフィールド613と、を含む。PCIe拡張能力IDフィールド610は、拡張機能の性質及びフォーマットを示す識別番号を記憶する、ビット0~15の読み出し専用(RO)フィールドであり、PCIe SIGによって定義される。能力バージョン612は、存在する機能構造のバージョンを示す、PCI SIGによって定義されたバージョン番号を記憶する、ビット16~19のROフィールドである。次期能力オフセットフィールド620は、次期PCI Express機能構造へのオフセット、又は、他の項目が能力のリンク付けされたリストに存在しない場合には000hの何れかを記憶する、ビット20~31のROフィールドである。PCIe構成空間において実装される拡張機能の場合、このオフセットは、PCI準拠の構成空間の先頭を基準とするため、常に000h(能力のリストを終了するため)又は0FFhよりも大きいオフセットである必要がある。BIOSが次期能力オフセット613をどのように使用するかについて説明する。
図7は、図2のルートコンプレックス214が後続の拡張能力記述子を見つけるために次期能力ポインタをどのように使用するかを示すアドレスマップ700を示す図である。アドレスマップ700は、オフセット00hでPCI準拠の構成空間の開始を形成するベースアドレス710を含む。ベースアドレス710とFFhとの間のアドレス位置720は、拡張能力記述子500の位置を記憶する。BIOSのファームウェアは、拡張能力記述子500の情報にアクセスする。システムBIOSは、その中の関連する情報にアクセスした後に、拡張能力記述子500のベースアドレスからのオフセット00hでPCIe拡張能力記述子500のビット20~31の次期能力オフセットを読み出す。この値が000hに等しい場合、システムBIOSは、これがポートの構成空間の最後の拡張能力記述子であることを認識する。値が000hに等しくないがFFhよりも大きい場合、システムBIOSは、これをベースアドレス710からのオフセットとして使用して、次期拡張能力記述子740を見つける。
図8は、図5の拡張能力記述子500のPCIe ESMヘッダ1 520を示す図である。PCIe ESMヘッダ1 520は、ビット0~15のESMベンダIDフィールド810と、ビット16~19のESM能力リビジョン820と、ビット20~31のESM能力長830と、を含む。ESMベンダIDフィールド810には、拡張能力構造を定義したベンダに対応する一意の番号が入力される。
ESM能力リビジョン820は、拡張機能のバージョンを示すバージョン番号である。システムBIOSは、このフィールドを解釈する前に、ESMベンダID及びESM能力ID(以下を参照)の両方を適格にする(qualify)。ESM能力長830は、PCI Express拡張能力ヘッダ、ESMヘッダ及びESMレジスタを含む拡張能力データ構造全体のバイト数を示す。
図9は、図5の拡張能力記述子500のPCIe ESMヘッダ2 532を示す図である。ESMヘッダ2は、ESM能力IDを記憶するビット0~15の単一のフィールドを含む。このフィールドは、DVSEC(Designated Vendor Specific Extended Capability)構造の性質及びフォーマットを示す、ベンダによって定義されたID番号である。システムBIOSは、このフィールドを解釈する前に、ESMベンダIDフィールド810を適格にする必要がある。
図10は、図5の拡張能力記述子500のESM状態レジスタ534を示す図である。ESM状態レジスタ534は、拡張能力記述子500のワード530の上位16ビットを占有し、ビット0~8のEI値の最小時間1010と、ビット9~11のEIスケールの最小時間1020と、ビット12~15の予約フィールドと、を含む。EI値の最小時間1010及びEIスケールの最小時間1020は共に、EI状態の最小時間を定義し、これは、EIスケールの最小時間内のビット値に対応する乗数によって乗算されたEI値の最小時間に等しい。例えば、EIスケールの最小時間は、1ナノ秒(ns)の乗数を示す0の値、32nsの乗数を示す1の値、1024nsの乗数を示す2の値、32768nsの乗数を示す3の値、1045576nsの乗数を示す4の値、33554432nsの乗数を示す5の値を有することができる。6の値及び7の値は予約されている。しかしながら、これらは単なる例に過ぎないことが明らかである。
図11は、図5の拡張能力記述子500のESM制御レジスタ542を示す図である。ESM制御レジスタ542は、ビット0~6のESM「Gen 3」データレートフィールド1110と、ビット7の予約フィールド1120と、ビット8~14のESMジェネレーション「Gen 4」データレートフィールド1130と、ビット15のESMイネーブルビットと、を含む。本明細書で使用するように、Gen 3は、PCIe 8.0GT/sデータレートに対応し、Gen 4は、PCIe 16.0GT/sデータレートに対応する。ESM Gen 3データレートフィールド1110は、速度変化がGen 3データレートにネゴシエートし、リンクがESMで有効にされた場合にインタフェースが実行する、GT/sにおけるデータレートである。一例では、速度は、(64+このフィールドの値)×100×10に等しい。例えば、12.8GT/s=64の値である。ESMイネーブルビットが設定されている場合、Gen 3への速度変化は、このフィールドによって定義されたデータレートにおいてESMを使用する。ESMイネーブルビットがクリアである場合、Gen 3への速度変化は、標準(非ESM)値を使用し、標準(8.0GT/s)データレートにおいて実行する。ESM Gen 4データレートフィールド1130は、速度変化がGen 4データレートにネゴシエートし、リンクがESMで有効にされた場合にインタフェースが実行する、GT/sにおけるデータレートを示す読み出し書き込みフィールドである。速度は、(128+このフィールドの値)×100×10に等しい。例えば、20.8GT/s=80の値である。ESMイネーブルビットが設定される場合、Gen 4への速度変化は、このフィールドによって定義されたデータレートでESMを使用する。ESMイネーブルビットがクリアである場合、Gen 4への速度変化は、標準(非ESM)値を使用し、標準(16.0GT/s)データレートにおいて実行する。ポートがGen 4をサポートしていない場合、このフィールドは、000 0000bに固定されてもよい。ESMイネーブルビット1140は、ESMを有効にする読み出し/書き込みビットである。このビットのデフォルト値は「0」であり、このビットに「1」を書き込むと、図4及び上述のESM初期化シーケンスがトリガされる。
図12は、図5の拡張能力記述子500のESM能力1レジスタ551を示す図である。ESM能力1レジスタ551は、ビット位置0~29の30個のアクティブビットと、ビット位置30,31の2つの予約ビットと、を有する32ビットのレジスタである。例示的な実施形態では、ルートコンプレックス214は、100MT/sの転送レートに対応する単位でPCIeクロック信号を生成することができる。例えば、ルートコンプレックス214は、8.0GHzのPCIeジェネレーション3.0レートで開始する周波数と、ビット位置29において10.9GT/sに達するまで、ビット位置1において8.1GT/s及びビット位置2において8.2GT/s等で開始するより高い周波数等と、を有する出力PCIeクロック信号を生成する機能を有するプログラム可能ループ除算器を有する位相ロックループ(PLL)を含む。ESM能力1レジスタ551は、読み出し専用能力レジスタである。よって、対応するビット位置の「0」は、その速度においてESMがサポートされていないことを示し、対応するビット位置の「1」は、その速度においてESMがサポートされていることを示す。ESM能力1レジスタ551は、ホットレジスタではなく、全てのサポートされた速度は、対応するビット位置において「1」で示されることに留意されたい。ESM能力2レジスタ552~ESM能力7レジスタ557は、ビットの対応するマッピングを含む。
図13は、図5の拡張能力記述子500のESM能力7レジスタ557を示す図である。ESM能力7レジスタ557は、ビット位置0~30の31個のアクティブビットと、ビット位置31の1つの予約ビットと、を有する32ビットのレジスタである。ESM能力7レジスタ557は、ビット位置30において28.0GT/sに到達するまで、ビット位置0において25.0GT/s及びビット位置2において25.1GT/s等で開始する25.0GT/S~28.0GT/sの周波数に対するサポートを示す。ESM能力7レジスタ557は、読み出し専用能力レジスタである。よって、対応するビット位置の「0」は、その速度でESMがサポートされていないことを示すのに対し、対応するビット位置の「1」は、その速度でESMがサポートされていることを示す。ESM能力1レジスタ551と同様に、ESM能力7レジスタ557は、対応するビット位置に「1」を有する全てのサポートされた速度を示す。
図示していないが、ESM能力2レジスタ552、ESM能力3レジスタ553、ESM能力4レジスタ554、ESM能力5レジスタ555及びESM能力6レジスタ556は、概して、ESM能力1レジスタ551として対応するビット割り当てを有する。ESM能力2レジスタ552は、11.0GT/2~13.9GT/sの転送レートを100MT/sの単位でサポートすることを示す。ESM能力3レジスタ553は、14.0GT/2~15.9GT/sの転送レートを100MT/sの単位でサポートすることを示し、他のレジスタとは異なり、ビット位置20~31に予約ビットを有する。ESM能力4レジスタ554は、16.0GT/2~18.9GT/sの転送レートを100MT/sの単位でサポートすることを示す。ESM能力5レジスタ555は、19.0GT/2~21.9GT/sの転送レートを100MT/sの単位でサポートすることを示す。ESM能力6レジスタ556は、22.0GT/2~24.9GT/sの転送レートを100MT/sの単位でサポートすることを示す。
発見及びエニュメレーションの間、ルートコンプレックス214は、PCIe構成空間内のレジスタを検査し、リンクパートナの各ペア間の動作速度を決定することによって、データ処理プラットフォーム200内の全てのPCIeデバイスの存在及び能力を発見する。ルートコンプレックス214は、先ず、拡張速度モードがサポートされているかどうかを判別し、サポートされている場合、各デバイスのESM能力記述子と、ルートコンプレックスとエンドポイントとの間のポートと、を検査する。概して、決定された速度は、ルートコンプレックス214内のリンクコントローラ及びツリー内のエンドポイントへの全てのPCIリンクと共通してサポートされる最高速度である。
図14は、図3の相互接続コントローラ300の初期化を示すタイミング図1400である。タイミング図1400では、横軸は、時間をナノ秒(ns)で表し、縦軸は、リンク動作に関連する様々なパラメータを表す。横軸に沿って、タイミング図1400は、「t0」、「t1」、「t2」、「t3」、「t4」、「t5」とラベル付けされた6個の対象の時点を示す。縦軸に沿って、タイミング図1400は、「手順フェーズ」とラベル付けされた第1のリンク状態1410と、「リンク上の動作」とラベル付けされた第2のリンク状態1420と、「リンク速度」とラベル付けされた第3のリンク状態1430と、「リンク状態」とラベル付けされた第4のリンク状態1440と、「リンク属性」とラベル付けされた第5のリンク状態1450と、を含む5個の対象のパラメータを示す。
とtとの間で、手順フェーズは、問い合わせフェーズにある。この間、リンクは、ベンダID(VID)、デバイスID(DID)及び拡張能力記述子500において識別されたESM Developer Designated Vendor Specific Extended Capabilityを含むPCIe構成空間のレジスタを読み出すために使用される。また、速度は、Gen 3の初期ブート速度、すなわち、8.0GT/sに設定される。リンク状態は、L0(完全にオン)状態にあり、リンク属性は、データストリームである。
とtとの間で、手順フェーズは、セットアップフェーズにある。tとtとの間では、リンク上でデータ転送動作が行われない。速度がGen 1(2.5GT/s)リンク速度に変化し、新たなリンク速度においてL0に戻る前に、リンク状態がリカバリ状態に移行する。この間、リンクは、EI条件によって分離された「TSx」とラベル付けされたトレーニングセットを送信する。tとtとの間で、ルートコンプレックス314は、例えばESM制御レジスタ542等のレジスタに書き込み、サポートされた全てのリンク上でESMを有効にする。リンク速度は、Gen 1のままであり、リンク状態は、L0のままである。リンク属性は、データストリームである。tとtとの間で、リンク状態は、L0からL1に変化し、L0に戻る前にリカバリに変化する。リンク属性は、L1 DLLP、EI、トレーニングセットTSx、データストリームの順になる。
とtとの間で、手順フェーズは、サポートされたリンク上での全てのDSP及びUSPによって共通してサポートされた最高速度に従って速度変化を実行する。リンク速度は、選択されたESMリンク速度に変化し、選択されたESMリンク速度は、Gen 3リンク速度と異なってもよい。リンクは、L0状態に戻る前にリカバリリンク状態に移行する。リンクは、速度変化の間にEI状態によって中断されたトレーニングセットTSxを送信し、その後、新たなESMリンク速度において更なるトレーニングセットTSxを送信する。
t5において行われたトレーニングの終了に続いて、リンクは、ESMにおいて動作し、改良されたレートにおいてL0リンク状態のデータアクセスを実行する。必要なセットアップが完了し、リンクがL0に戻ると、Gen 3データレート又はGen 4データレートにネゴシエートする後続の速度変化は、ESM制御レジスタにプログラムされたESMデータレートで実行される。Gen 1データレート又はGen 2データレートにネゴシエートする速度変化は、「標準」のデータレート(Gen 1で2.5GT/s、Gen 2で5.0GT/s)で実行される。
図15は、いくつかの実施形態による、PCIeトランザクションレイヤ又はアクセラレータ(CCIX)トランザクションレイヤに対するキャッシュコヒーレント相互接続の何れかをサポートする通信コントローラ1500のブロック図である。通信コントローラ1500は、概して、CCIXプロトコルレイヤブロック1502と、CCIXリンクレイヤブロックを有するCCIXポート1504と、PCIeポート1510と、を含む。
CCIXプロトコルレイヤブロック1502は、メモリ読み出しフロー及びメモリ書き込みフロー等のコヒーレンシプロトコルを担当する。このレイヤにおいて定義されたキャッシュ状態は、例えば、データが一意でクリーンであるかどうかや、データが共有されておりダーティであるかどうか等のように、メモリの状態の判別を可能にする。CCIXプロトコルレイヤブロック1502は、CCIXリンクレイヤブロックを有するCCIXポート1504に双方向に接続されている。CCIXプロトコルレイヤは、CCIXトラフィックのフォーマット、及び、CCIXの形成及び復号を担当する。
PCIeポート1510は、CCIXトランザクションレイヤブロック1512と、PCIeトランザクションレイヤブロック1514と、PCIeデータリンクレイヤブロック1520と、CCIX/PCIe物理レイヤブロック1530と、を含む。CCIXトランザクションレイヤブロック1512は、CCIXパケットの処理を担当し、PCIeトランザクションレイヤブロック1514は、PCIeパケットの処理を担当する。PCIeポート1510は、異なるデータストリームを単一のPCIeリンクで伝送可能にするために、仮想チャネルをサポートする。CCIXトラフィックを1つの仮想チャネルに分割し、PCIeトラフィックを第2の仮想チャネルに分割することによって、PCIeポート1510は、CCIXトラフィック及びPCIeトラフィックの両方が同じPCIe媒体1540を共有することを可能にする。PCIeデータリンクレイヤブロック1520は、CRC誤り検査、パケット確認応答及びタイムアウト検査、クレジット初期化及び交換を含む、データリンクレイヤの通常の機能の全てを実行する。CCIX/PCIe物理レイヤブロック1530は、標準PCIe物理レイヤ上に構築される。CCIXは、PCIeを拡張し、PCI Express 4.0標準において初めて導入された16.0GT/s速度を超えるように拡張した25GT/sのESM(拡張速度モード)をサポートする。また、PCI Express 4.0標準速度(16GT/s)とそれより高速な速度(25GT/s等)との間の拡張速度をサポートする。よって、粒度が大きくなり、高速へのよりロバストな移行パスをサポートする。
よって、本明細書で開示される相互接続コントローラは、公開された規格への定期的な改訂を待つ必要無しに、より高い性能へのシームレスなアップグレードパスをもたらす、ロバストなコントローラを提供する。より高い性能は、2つの形式のうち1つを採用することができる。第1に、これは、規格によってまだ規定されていない最高のデータ転送レート及び/又は最高のクロック速度を超えて拡張することができ、規格の新たな改訂が公開された後に対応する通信コンポーネントが開発される必要性を回避する。第2に、これは、次期の公開されたレートへの全体ステップを行うことなく、半導体製造技術によってサポートされ得る中間のデータ転送レート及び/又はクロック速度を加える。このような相互接続コントローラを組み込んだ相互接続コントローラ及びデータプロセッサは、公開された規格の開発につながり得る半導体製造技術の進歩を利用し、大きな離散的な速度ステップの制約なしに性能の向上を可能にする。この技術は、PCIe及びCCIX(PCIeデータリンク及び物理レイヤを使用して動作する)を含む様々なデータ通信プロトコルにおいて有用である。
PCIeポートコントローラ216及びCPU210、又は、これらの任意の部分は、プログラムによって読み出し、集積回路を製造するために直接的若しくは間接的に使用することができるデータベース又は他のデータ構造の形態のコンピュータアクセス可能なデータ構造によって記述されてもよいし表されてもよい。例えば、このデータ構造は、Verilog又はVHDL等の高レベル設計言語(HDL)におけるハードウェア機能の動作レベル記述又はレジスタ転送レベル(RTL)記述であってもよい。記述は、合成ツールによって読み出されてもよく、合成ツールは、記述を合成して、上記の構造及びメカニズムを含むハードウェアの機能を表すゲート/回路要素のリストを含むネットリストを、合成ライブラリから生成してもよい。次に、ネットリストは、配置され、ルーティングされ、マスクに適用される幾何学的形状を記述するデータセットが生成されてもよい。次いで、上記の構造及びメカニズムに対応する1つ以上の半導体回路(例えば、集積回路)を製造するために、様々な半導体製造ステップでマスクが使用されてもよい。或いは、コンピュータがアクセス可能な記憶媒体上のデータベースは、必要に応じて、ネットリスト(合成ライブラリの有無にかかわらず)若しくはデータセット、又は、グラフィックスデータシステム(GDS)IIデータであってもよい。
特定の実施形態を説明したが、これらの実施形態に対する様々な変更が当業者には明らかであろう。例えば、様々な高周波発振器を、時間デジタル変換器における基準発振器に使用することができる。これらは、CMOSリング発振器、直列共振LC発振器、並列共振LC発振器、RC発振器等を含む。さらに、様々な電流制御発振器回路が使用されてもよい。レジスタに基づく電流制御発振器回路において、レジスタは、ポリシリコンレジスタ、薄膜金属合金レジスタ、薄膜金属混合レジスタ等の様々な形態をとることができる。さらに、除算器は、分子に様々な固定数を使用してもよい。
したがって、添付の特許請求の範囲は、開示された実施形態の範囲に含まれる開示された実施形態の全ての変更を包含することを意図している。

Claims (12)

  1. データ処理プラットフォームの相互接続コントローラであって、
    トランザクションレイヤに結合されるように構成されたデータリンクレイヤコントローラであって、前記データリンクレイヤコントローラは、前記トランザクションレイヤからデータパケットを選択的に受信し、データパケットを前記トランザクションレイヤに送信する、データリンクレイヤコントローラと、
    前記データリンクレイヤコントローラに結合され、通信リンクに結合されるように構成された物理レイヤコントローラであって、前記物理レイヤコントローラは、第1の所定のリンク速度で選択的に動作し、前記物理レイヤコントローラは、改良された速度モードを有する、物理レイヤコントローラと、を備え、
    前記相互接続コントローラは、リンク初期化を実行したことに応じて、
    前記データ処理プラットフォームに問い合わせて、前記改良された速度モードが許可されるかどうかを判別することと、
    少なくとも1つのセットアップ動作を実行して、改良された速度を選択することであって、前記改良された速度は前記第1の所定のリンク速度よりも大きい、ことと、
    前記改良された速度を使用して、前記通信リンクを動作させることと、
    を行うように構成されており、
    前記物理レイヤコントローラは、前記第1の所定のリンク速度と第2の所定のリンク速度との間の複数のリンク速度をサポートし、前記第1の所定のリンク速度及び前記第2の所定のリンク速度は、公開された規格によって規定されており、前記改良された速度は、前記複数のリンク速度のうち前記公開された規格によって規定されていないリンク速度の中から選択されたリンク速度であり、前記複数のリンク速度のうち連続するリンク速度は、同じ所定量だけ互いに離れている、
    相互接続コントローラ。
  2. 前記物理レイヤコントローラは、PCIe(Peripheral Component Interconnect Express)基本仕様に準拠する、
    請求項の相互接続コントローラ。
  3. 前記相互接続コントローラは、エンドポイントのアップストリームポートの能力に基づいて、前記相互接続コントローラの前記改良された速度を決定するPCIeルートコンプレックスの一部である、
    請求項の相互接続コントローラ。
  4. 前記PCIeルートコンプレックスは、前記相互接続コントローラの前記改良された速度を、前記相互接続コントローラ及び前記エンドポイントの前記アップストリームポートによって相互にサポートされた最高速度として決定する、
    請求項の相互接続コントローラ。
  5. 前記PCIeルートコンプレックスは、PCIe構成空間にアクセスすることによって、前記相互接続コントローラの前記改良された速度を決定する、
    請求項の相互接続コントローラ。
  6. 前記相互接続コントローラは、前記PCIe構成空間内の拡張能力記述子にアクセスすることによって、前記改良された速度を決定する、
    請求項5の相互接続コントローラ。
  7. 前記トランザクションレイヤは、PCIeトランザクションレイヤを含む、
    請求項1の相互接続コントローラ。
  8. 前記トランザクションレイヤは、アクセラレータ(CCIX)トランザクションレイヤに対するキャッシュコヒーレント相互接続を含む、
    請求項1の相互接続コントローラ。
  9. 公開された規格に従って通信リンクを動作させる相互接続コントローラを有するデータ処理プラットフォームで使用される方法であって、
    前記データ処理プラットフォームに問い合わせて、改良された速度モードが許可されるかどうかを判別することと、
    少なくとも1つのセットアップ動作を実行して、改良された速度を選択することであって、前記改良された速度は、複数のリンク速度の中から選択されたリンク速度であり、前記公開された規格によって規定されておらず、前記公開された規格によって規定された第1の所定のリンク速度及び第2の所定のリンク速度の間にあり、前記複数のリンク速度のうち連続するリンク速度は、同じ所定量だけ互いに離れていることと、
    前記改良された速度を使用して、前記通信リンクを動作させることと、を含む、
    方法。
  10. 前記公開された規格は、PCIe(Peripheral Component Interconnect Express)基本仕様である、
    請求項の方法。
  11. 前記相互接続コントローラの前記改良された速度を、前記相互接続コントローラとアップストリームポートとの間で相互にサポートされた最高速度として決定することをさらに含む、
    請求項の方法。
  12. 前記少なくとも1つのセットアップ動作を実行して、改良された速度を選択することは、
    前記改良された速度を選択するために少なくとも1つのセットアップ動作を実行することであって、前記改良された速度は、前記公開された規格によって規定された最高速度よりも大きい、ことを含む、
    請求項の方法。
JP2021527859A 2018-12-14 2019-06-27 改良された速度モードによるデータ通信 Active JP7420804B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/221,181 US11151075B2 (en) 2018-12-14 2018-12-14 Data communications with enhanced speed mode
US16/221,181 2018-12-14
PCT/US2019/039505 WO2020122989A1 (en) 2018-12-14 2019-06-27 Data communications with enhanced speed mode

Publications (3)

Publication Number Publication Date
JP2022510812A JP2022510812A (ja) 2022-01-28
JPWO2020122989A5 JPWO2020122989A5 (ja) 2022-06-27
JP7420804B2 true JP7420804B2 (ja) 2024-01-23

Family

ID=71071666

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021527859A Active JP7420804B2 (ja) 2018-12-14 2019-06-27 改良された速度モードによるデータ通信

Country Status (6)

Country Link
US (2) US11151075B2 (ja)
EP (1) EP3895029B1 (ja)
JP (1) JP7420804B2 (ja)
KR (1) KR20210092230A (ja)
CN (1) CN113196254A (ja)
WO (1) WO2020122989A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11151075B2 (en) * 2018-12-14 2021-10-19 Ati Technologies Ulc Data communications with enhanced speed mode
US11386026B1 (en) 2021-02-09 2022-07-12 Microsoft Technology Licensing, Llc Shell PCIe bridge and shared-link-interface services in a PCIe system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009065643A (ja) 2007-07-11 2009-03-26 Genesis Microchip Inc マルチメディアインターフェース
US20100103994A1 (en) 2006-12-13 2010-04-29 Frans Yohan U Interface With Variable Data Rate
US20140181355A1 (en) 2012-12-21 2014-06-26 Ati Technologies Ulc Configurable communications controller
US20150199822A1 (en) 2005-10-17 2015-07-16 Nvidia Corporation Pcie clock rate stepping for graphics and platform processors
US20170046302A1 (en) 2015-08-10 2017-02-16 Mediatek Inc. Method and associated interface circuit for mitigating interference due to signaling of a bus
US20180331864A1 (en) 2017-05-12 2018-11-15 Intel Corporation Bypassing equalization at lower data rates

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620062B2 (en) * 2003-05-01 2009-11-17 Genesis Microchips Inc. Method of real time optimizing multimedia packet transmission rate
US7426597B1 (en) * 2003-05-07 2008-09-16 Nvidia Corporation Apparatus, system, and method for bus link width optimization of a graphics system
US7461195B1 (en) * 2006-03-17 2008-12-02 Qlogic, Corporation Method and system for dynamically adjusting data transfer rates in PCI-express devices
US7660925B2 (en) * 2007-04-17 2010-02-09 International Business Machines Corporation Balancing PCI-express bandwidth
US8477831B2 (en) * 2010-02-17 2013-07-02 Altera Corporation Multi-protocol multiple-data-rate auto-speed negotiation architecture for a device
TWI408557B (zh) * 2010-03-18 2013-09-11 Faraday Tech Corp 高速輸入輸出系統及其節能控制方法
US9268732B2 (en) 2012-06-08 2016-02-23 Advanced Micro Devices, Inc. Tunnel suitable for multi-segment communication links and method therefor
US9692426B2 (en) * 2013-05-06 2017-06-27 Advanced Micro Devices, Inc. Phase locked loop system with bandwidth measurement and calibration
WO2015108522A1 (en) 2014-01-16 2015-07-23 Intel Corporation An apparatus, method, and system for a fast configuration mechanism
US9825730B1 (en) 2016-09-26 2017-11-21 Dell Products, Lp System and method for optimizing link performance with lanes operating at different speeds
US20180173666A1 (en) 2016-12-16 2018-06-21 Intel Corporation APPARATUSES AND METHODS TO COUPLE AN EMBEDDED UNIVERSAL SERIAL BUS (eUSB) CIRCUIT TO A UNIVERSAL SERIAL BUS (USB) TRANSCEIVER INTERFACE CIRCUIT
US10789201B2 (en) 2017-03-03 2020-09-29 Intel Corporation High performance interconnect
US10545773B2 (en) * 2018-05-23 2020-01-28 Intel Corporation System, method, and apparatus for DVSEC for efficient peripheral management
US11151075B2 (en) * 2018-12-14 2021-10-19 Ati Technologies Ulc Data communications with enhanced speed mode

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199822A1 (en) 2005-10-17 2015-07-16 Nvidia Corporation Pcie clock rate stepping for graphics and platform processors
US20100103994A1 (en) 2006-12-13 2010-04-29 Frans Yohan U Interface With Variable Data Rate
JP2009065643A (ja) 2007-07-11 2009-03-26 Genesis Microchip Inc マルチメディアインターフェース
US20140181355A1 (en) 2012-12-21 2014-06-26 Ati Technologies Ulc Configurable communications controller
JP2016506151A (ja) 2012-12-21 2016-02-25 エーティーアイ・テクノロジーズ・ユーエルシーAti Technologies Ulc 構成可能な通信制御装置
US20170046302A1 (en) 2015-08-10 2017-02-16 Mediatek Inc. Method and associated interface circuit for mitigating interference due to signaling of a bus
US20180331864A1 (en) 2017-05-12 2018-11-15 Intel Corporation Bypassing equalization at lower data rates

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SOLOMON, Richard,Using CCIX to implement cache coherent heterogeneous multiprocessor systems,[online], Tech Design Forum,米国,2017年07月18日,[retrieved on 2023-06-16]. Retrieved from the Internet: <URL: https://www.techdesignforums.com/practice/technique/using-ccix-to-implement-cache-coherent-heterogeneous-multiprocessor-systems/>

Also Published As

Publication number Publication date
EP3895029A4 (en) 2022-09-07
US20220035765A1 (en) 2022-02-03
WO2020122989A1 (en) 2020-06-18
EP3895029A1 (en) 2021-10-20
KR20210092230A (ko) 2021-07-23
EP3895029B1 (en) 2024-04-17
US20200192852A1 (en) 2020-06-18
JP2022510812A (ja) 2022-01-28
US11151075B2 (en) 2021-10-19
CN113196254A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
US8478982B2 (en) Media access control security management in physical layer
KR101894230B1 (ko) 통합된 컴포넌트 인터커넥트
US9311437B2 (en) Modeling a bus for a system design incorporating one or more programmable processors
US20050091432A1 (en) Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs
JP6141379B2 (ja) トランザクション属性を修正するためのメモリ領域オーダリング要求に関するコンプリータ知識の使用
US6571204B1 (en) Bus modeling language generator
CN112005211A (zh) 用于异构片上系统的软件定义多域创建和隔离
US20220035765A1 (en) Data communications with enhanced speed mode
US11928070B2 (en) PCIe device
US20160179161A1 (en) Decode information library
CN113849433A (zh) 一种总线控制器的执行方法、装置、总线控制器、计算机设备和存储介质
Slogsnat et al. A versatile, low latency HyperTransport core
Slogsnat et al. An open-source hypertransport core
US10496422B2 (en) Serial device emulator using two memory levels with dynamic and configurable response
Ma et al. Design and implementation of APB bridge based on AMBA 4.0
TW200522651A (en) Multitasking system level method for Hw/Sw co-verification
US20170293702A1 (en) Modeling a bus for a system design incorporating one or more programmable processors
Sinha et al. The amba SOC platform
US9442788B2 (en) Bus protocol checker, system on chip including the same, bus protocol checking method
Sarekokku et al. Design and Implementation of APB Bridge based on AMBA AXI 4.0
Thomas et al. Left-shifter: A pre-silicon framework for usage model based performance verification of the PCIe interface in server processor system on chips
US6651172B1 (en) Multi-phase EEPROM reading for network interface initialization
JPH07334564A (ja) 微調整自在な接続アダプター生成自動化装置
Shetter et al. MEMORY CONTROLLER WITH AN AHB PROTOCOL
Khaligh et al. Efficient and Extensible Transaction Level Modeling Based on an Object Oriented Model of Bus Transactions

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220617

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220617

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230922

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: 20231219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240111

R150 Certificate of patent or registration of utility model

Ref document number: 7420804

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150