IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エーティーアイ・テクノロジーズ・ユーエルシーの特許一覧 ▶ アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドの特許一覧

<>
  • 特表-代替プロトコルの選択 図1
  • 特表-代替プロトコルの選択 図2
  • 特表-代替プロトコルの選択 図3
  • 特表-代替プロトコルの選択 図4
  • 特表-代替プロトコルの選択 図5
  • 特表-代替プロトコルの選択 図6
  • 特表-代替プロトコルの選択 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-18
(54)【発明の名称】代替プロトコルの選択
(51)【国際特許分類】
   G06F 13/42 20060101AFI20220111BHJP
   G06F 13/38 20060101ALI20220111BHJP
【FI】
G06F13/42 310
G06F13/38 350
G06F13/38 320A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021529037
(86)(22)【出願日】2019-06-21
(85)【翻訳文提出日】2021-06-23
(86)【国際出願番号】 US2019038531
(87)【国際公開番号】W WO2020131160
(87)【国際公開日】2020-06-25
(31)【優先権主張番号】16/223,873
(32)【優先日】2018-12-18
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】ゴードン キャルック
(72)【発明者】
【氏名】ジェラルド アール. タルボット
【テーマコード(参考)】
5B077
【Fターム(参考)】
5B077AA02
5B077NN02
(57)【要約】
デュアルプロトコル機能を有するリンクコントローラ、方法及びデータ処理プラットフォームが提供される。リンクコントローラは、通信リンクを介してデータレーンを提供する物理層回路と、第1のプロトコルに従って動作する第1のデータリンク層コントローラと、第2のプロトコルに従って動作する第2のデータリンク層コントローラと、を含む。マルチプレクサ/デマルチプレクサは、両方のデータリンク層コントローラを物理層回路に選択的に接続する。リンクトレーニングステータスステートマシン(LTSSM)は、物理層回路を選択的に制御して、データレーンを介して最初のトレーニングオーダードセットを送受信し、トレーニングオーダードセット内で、データレーンを介して代替プロトコルネゴシエーション情報を送受信する。代替プロトコルネゴシエーション情報を受信したことに応じて、LTSSMは、物理層回路を第2のデータリンク層コントローラに選択的に接続することをマルチプレクサ/デマルチプレクサに実行させる。
【選択図】図2
【特許請求の範囲】
【請求項1】
通信リンクに接続され、前記通信リンクを介してデータレーンを提供するように構成された物理層回路と、
第1のプロトコルに従って動作する第1のデータリンク層コントローラと、
第2のプロトコルに従って動作する第2のデータリンク層コントローラと、
前記第1のデータリンク層コントローラ、前記第2のデータリンク層コントローラ及び前記物理層回路に接続されたマルチプレクサ/デマルチプレクサと、
リンクトレーニングステータスステートマシン(LTSSM)と、
を備えるリンクコントローラであって、
前記LTSSMは、前記物理層回路を選択的に制御して、
前記データレーンを介してトレーニングオーダードセットを送受信することと、
前記トレーニングオーダードセット内で、前記データレーンを介して代替プロトコルネゴシエーション情報を送受信することと、
前記データレーンを介してデータレート情報及びリンク幅情報を送受信することと、
前記代替プロトコルネゴシエーション情報を受信したことに応じて、前記物理層回路を前記第2のデータリンク層コントローラに選択的に接続することを前記マルチプレクサ/デマルチプレクサに実行させることと、
を行うように構成されている、
リンクコントローラ。
【請求項2】
前記第1のプロトコルは、周辺構成要素相互接続エクスプレス(PCIe)プロトコルであり、前記第2のプロトコルは、Gen-Zプロトコルである、
請求項1のリンクコントローラ。
【請求項3】
前記代替プロトコルネゴシエーション情報は、変更されたトレーニングオーダードセットに含まれる、
請求項2のリンクコントローラ。
【請求項4】
前記LTSSMは、前記物理層回路を選択的に制御して、
変更されていないトレーニングオーダードセットを受信したことに応じて、前記物理層回路を前記第1のデータリンク層コントローラに選択的に接続することを前記マルチプレクサ/デマルチプレクサに実行させる、
請求項3のリンクコントローラ。
【請求項5】
前記第2のデータリンク層コントローラに接続されたGen-Zトランザクション層コントローラと、
前記第1のデータリンク層コントローラに接続されたPCIeトランザクション層コントローラと、をさらに備える、
請求項2のリンクコントローラ。
【請求項6】
前記LTSSMは、制御レジスタの状態に基づいて前記代替プロトコルネゴシエーション情報を送受信する、
請求項1のリンクコントローラ。
【請求項7】
周辺構成要素相互接続エクスプレス(PCIe)通信リンクに接続されるように構成されたリンクコントローラ回路を使用して、変更されたトレーニングオーダードセットを送受信することと、
前記変更されたトレーニングオーダードセット内で、データレーンを介して代替プロトコルネゴシエーション情報を送受信することと、
前記リンクコントローラ回路を使用して、データレート情報及びリンク幅情報を送受信することと、
前記代替プロトコルネゴシエーション情報を受信していないことに応じて、物理層回路を第1のプロトコルの第1のデータリンク層コントローラに接続することをマルチプレクサ/デマルチプレクサに選択的に実行させることと、
前記代替プロトコルネゴシエーション情報を受信したことに応じて、前記物理層回路を第2のプロトコルの第2のデータリンク層コントローラに選択的に接続することを前記マルチプレクサ/デマルチプレクサに選択的に実行させることと、
前記PCIe通信リンクを動作させることと、を含む、
方法。
【請求項8】
前記第1のプロトコルは、PCIeプロトコルであり、前記第2のプロトコルは、Gen-Zプロトコルである、
請求項7の方法。
【請求項9】
前記物理層回路を前記第2のプロトコルの前記第2のデータリンク層コントローラに選択的に接続することを前記マルチプレクサ/デマルチプレクサに選択的に実行させた後に、前記通信リンクをGen-Zプロトコルで動作させることをさらに含む、
請求項7の方法。
【請求項10】
前記代替プロトコルネゴシエーション情報を送受信することは、リンクトレーニングステータスステートマシン(LTSSM)の制御の下で前記物理層回路を介して実行される、
請求項7の方法。
【請求項11】
前記代替プロトコルネゴシエーション情報を送受信することは、制御レジスタの所定の状態に基づいて行われる、
請求項7の方法。
【請求項12】
中央処理装置と、
前記中央処理装置に接続されたデュアルプロトコルリンクコントローラと、
を備えるデータ処理プラットフォームであって、
前記デュアルプロトコルリンクコントローラは、
周辺構成要素相互接続エクスプレス(PCIe)通信リンクに接続された物理層回路と、
第1のプロトコルに従って動作するように構成された第1のデータリンク層コントローラと、
第2のプロトコルに従って動作するように構成された第2のデータリンク層コントローラと、
前記第1のデータリンク層コントローラ、前記第2のデータリンク層コントローラ及び前記物理層回路に接続されたマルチプレクサ/デマルチプレクサと、
リンクトレーニングステータスステートマシン(LTSSM)と、を備え、
前記LTSSMは、前記物理層回路を制御して、
(a)前記PCIe通信リンクを介してトレーニングオーダードセットを送受信し、(b)前記トレーニングオーダードセット内で、前記PCIe通信リンクを介して代替プロトコルネゴシエーション情報を送受信し、(c)前記代替プロトコルネゴシエーション情報を受信したことに応じて、前記物理層回路を前記第2のデータリンク層コントローラに接続することを前記マルチプレクサ/デマルチプレクサに実行させる、
ように構成されている、
データ処理プラットフォーム。
【請求項13】
前記第1のプロトコルは、周辺構成要素相互接続エクスプレス(PCIe)プロトコルであり、前記第2のプロトコルは、Gen-Zプロトコルである、
請求項12のデータ処理プラットフォーム。
【請求項14】
前記第2のデータリンク層コントローラに接続されたGen-Zトランザクション層コントローラと、
前記第1のデータリンク層コントローラに接続されたPCIeトランザクション層コントローラと、をさらに備える、
請求項13のデータ処理プラットフォーム。
【請求項15】
前記データ処理プラットフォームはメモリモジュールをさらに備え、
前記メモリモジュールは、
メモリと、
前記メモリに接続されたメディアコントローラと、
前記メディアコントローラ及び前記PCIe通信リンクに接続されたインターフェースコントローラと、を備え、
前記インターフェースコントローラは、第2のLTSSMを含み、
前記第2のLTSSMは、前記PCIe通信リンクを介してトレーニングオーダードセットを送受信し、前記トレーニングオーダードセット内で、前記PCIe通信リンクを介して代替プロトコルネゴシエーション情報を送受信するように動作可能である、
請求項12のデータ処理プラットフォーム。
【請求項16】
前記第2のLTSSMは、第2のデュアルプロトコルリンクコントローラの一部である、
請求項15のデータ処理プラットフォーム。
【請求項17】
前記第2のLTSSMは、第2のデュアルプロトコルリンクコントローラの一部である、
請求項15のデータ処理プラットフォーム。
【請求項18】
前記第2のLTSSMは、第2のデュアルプロトコルリンクコントローラの一部である、
請求項15のデータ処理プラットフォーム。
【請求項19】
前記第2のLTSSMは、前記Gen-Zプロトコルで動作する単一プロトコルリンクコントローラの一部である、
請求項15のデータ処理プラットフォーム。
【請求項20】
前記中央処理装置と前記デュアルプロトコルリンクコントローラとの間に接続され、Gen-Zプロトコルメモリ要求を使用して前記メモリモジュールにアクセスするように動作可能なGen-Zメモリコントローラをさらに備える、
請求項15のデータ処理プラットフォーム。
【請求項21】
前記中央処理装置に接続され、PCIeプロトコルを用いて前記中央処理装置と通信する周辺デバイスをさらに備える、
請求項15のデータ処理プラットフォーム。
【請求項22】
前記LTSSMは、制御レジスタの所定の状態に基づいて前記代替プロトコルネゴシエーション情報を送受信する、
請求項12のデータ処理プラットフォーム。
【発明の詳細な説明】
【背景技術】
【0001】
システム相互接続バス規格は、チップ上の様々な要素間の通信、又は、マルチチップモジュール、回路基板、サーバノード、場合によってはサーバラック全体若しくはネットワークシステムと異なる要素間の通信を提供する。例えば、一般的な周辺構成要素相互接続エクスプレス(PCIe又はPCI Express)は、マザーボード上の要素間の相互接続を提供し、拡張カードに接続する高速シリアル拡張バスである。マルチプロセッサシステム、特に異なるチップ上の複数のプロセッサが相互接続してメモリを共有するシステムには、改善されたシステム相互接続規格が必要である。
【0002】
マルチプロセッサコンピューティングリソースと関連メモリの相互接続には、いくつかの課題がある。一般に、相互接続されたプロセッサ及びアクセラレータの数が増えると、メモリ容量の要件が増加する。さらに、新たな相互接続規格は、PCIe等の古い規格と互換性がない場合があり、よって、古い規格を採用する様々なシステム構成要素及び拡張デバイスが時代遅れとなり得る。
【図面の簡単な説明】
【0003】
図1】従来技術による、PCIeメモリモジュールを備えたデータ処理プラットフォームのブロック図である。
図2】いくつかの実施形態による、データ処理プラットフォームのブロック図である。
図3】いくつかの実施形態による、別のデータ処理プラットフォームのブロック図である。
図4】従来技術のリンクトレーニングステータスステートマシン(LTSSM)の動作の状態図のフロー図である。
図5】いくつかの実施形態による、拡張LTSSMを使用して代替プロトコルを選択するための例示的なプロセスのフロー図である。
図6】いくつかの実施形態による、変更されていないトレーニングオーダードセット(ordered training set)のシンボルシーケンス図である。
図7】いくつかの実施形態による、変更されたトレーニングオーダードセットのシンボルシーケンス図である。
【発明を実施するための形態】
【0004】
以下の説明では、異なる図面において同じ符号を使用した場合には、類似又は同一の要素を示す。特に明記しない限り、「接続される/結合される(coupled)」という用語及びこれに関連する動詞の形態は、本技術分野で周知の手段による直接的接続及び間接的電気接続の両方を含み、特に明記しない限り、直接的接続の如何なる説明も、間接的電気接続の適切な形態を同様に使用する代替的な実施形態を意味する。
【0005】
リンクコントローラは、物理層回路と、第1のデータリンク層コントローラと、第2のデータリンク層コントローラと、マルチプレクサ/デマルチプレクサと、リンクトレーニングステータスステートマシン(LTSSM)と、を含む。リンクコントローラは、通信リンクに接続されており、通信リンクを介してデータレーンを提供する。第1のデータリンク層コントローラは、第1のプロトコルに従って動作し、第2のデータリンク層コントローラは、第2のプロトコルに従って動作する。マルチプレクサ/デマルチプレクサは、第1のデータリンク層コントローラ、第2のデータリンク層コントローラ及び物理層回路に接続されている。LTSSMは、物理層回路を選択的に制御して、データレーンを介して最初のトレーニングオーダードセット(training ordered sets)を送受信し、トレーニングオーダードセット内でデータレーンを介して代替プロトコルネゴシエーション情報を送受信する。また、LTSSMは、物理層回路を制御して、データレーンを介してデータレート情報及びリンク幅情報を送受信する。LTSSMは、代替プロトコルネゴシエーション情報を受信したことに応じて、物理層回路を第2のデータリンク層コントローラに選択的に接続することをマルチプレクサ/デマルチプレクサに実行させる。
【0006】
方法は、周辺構成要素相互接続エクスプレス(PCIe)通信リンクのビットロック及びシンボルロックを確立するために、PCIe通信リンクに接続されたリンクコントローラ回路を使用して最初のトレーニングオーダードセットを送受信することを含む。変更されたトレーニングオーダードセットは、PCIe通信リンクに接続されたリンクコントローラ回路を使用して送受信される。変更されたトレーニングオーダードセット内では、代替プロトコルネゴシエーション情報がデータレーンを介して送受信される。データレート情報及びリンク幅情報もリンクコントローラ回路を使用して送信される。方法は、代替プロトコルネゴシエーション情報を受信していないことに応じて、物理層回路を第1のプロトコルの第1のデータリンク層コントローラに選択的に接続することをマルチプレクサ/デマルチプレクサに実行させる。方法は、代替プロトコルネゴシエーション情報を受信したことに応じて、方法は、物理層回路を第2のプロトコルの第2のデータリンク層コントローラに選択的に接続することをマルチプレクサ/デマルチプレクサに実行させる。その後、PCIe通信リンクが動作する。
【0007】
データ処理プラットフォームは、中央処理装置と、中央処理装置に接続されたデュアルプロトコルリンクコントローラと、を含む。デュアルプロトコルリンクコントローラは、周辺構成要素相互接続エクスプレス(PCIe)通信リンクに接続された物理層回路と、第1のプロトコルに従って動作する第1のデータリンク層コントローラと、第2のプロトコルに従って動作する第2のデータリンク層コントローラと、第1のデータリンク層コントローラ、第2のデータリンク層コントローラ及び物理層回路に接続されたマルチプレクサ/デマルチプレクサと、を含む。リンクトレーニングステータスステートマシン(LTSSM)は、物理層回路を制御して、(a)PCIe通信リンクを介してトレーニングオーダードセットを送受信し、(b)トレーニングオーダードセット内で、PCIe通信リンクを介して代替プロトコルネゴシエーション情報を送受信し、(c)代替プロトコルネゴシエーション情報を受信したことに応じて、物理層回路を第2のデータリンク層コントローラに接続することをマルチプレクサ/デマルチプレクサに実行させる。
【0008】
図1は、従来技術による、PCIeメモリモジュール120を備えたデータ処理プラットフォーム100のブロック図である。データ処理プラットフォーム100は、メモリコントローラ112と、PCIeバス150に接続されたPCIeポート114と、を有するプロセッサ110を含む。データ処理プラットフォーム100の拡張メモリは、PCIeバス150に接続されたPCIeメモリモジュール120によって提供される。PCIeメモリモジュール120は、PCIeバス150と通信するメモリコントローラ122と、永続的なメモリストレージを提供する複数のメモリチップを含むストレージクラスメモリ(SCM)124と、を含む。
【0009】
図2は、いくつかの実施形態による、データ処理プラットフォーム200のブロック図である。プロセッサ210は、既存のメモリ技術及び新たなメモリ技術のメモリソリューションを強化するデータアクセス技術であるGen-Zプロトコルを使用して、メモリモジュール230と通信する。Gen-Zプロトコルは、Gen-Z Consortium, Inc.によって発行されたGen-Z Core Specification 1.0及びそれ以降の標準バージョンに含まれる。Gen-Zは、バイトアドレス指定可能な永続的なストレージクラスメモリ技術をいくつか含む様々なメモリタイプをサポートする抽象的なデバイスインターフェースを提供する。Gen-Zは、ポイントツーポイント接続から、ローカル高速バス及びスイッチドバス(switched busses)を介したローカルメモリ拡張、さらにはラックスケールソリューションまで、ファブリック接続メモリのプラットフォームを提供する。Gen-Zは、現在及び将来の様々なメモリサブシステムをサポートするために、プロセッサとそのメモリサブシステムとの間のユニバーサルインターフェースを提供する。このインターフェースにより、構成要素は、メモリセマンティック要求とアプリケーション固有のセマンティックオーバーレイを使用して通信し、意味を導き出して、タイプ固有のアクションを実行する。ホストプロセッサ210は、通常、PCIeバス220を介してメモリモジュール230と通信するが、Gen-Zデバイスが接続されていることを認識し、代替プロトコルとしてGen-Zプロトコルを使用して通信するようにデュアルプロトコルリンクコントローラ209を構成することができる。
【0010】
ホストプロセッサ210は、オンチップ相互接続ネットワーク204によって相互接続された4つのプロセッサコア202を含む。プロセッサコア202の数は単なる一例であり、様々なデータ処理プラットフォームに使用されるプロセッサコアには、多くの場合、オンチップ相互接続ネットワークに全て接続された32個又は64個のコア等の多くのプロセッサコアが含まれる。図示するように、オンチップ相互接続ネットワーク204は、各プロセッサコアを、PCIeトラフィック用のデュアルプロトコルリンクコントローラ209のPCIe入力と、メモリモジュール230へのメモリアクセス用のGen-Zメモリコントローラ212と、にリンクする。本実施形態では、デュアルプロトコルリンクコントローラ209は、Gen-Z代替プロトコル機能を含むように拡張されたPCIeハードウェアを含むGen-Z/PCIe外部ポートを含む。この機能は、仮想Gen-Zポート208、Gen-Zトランザクション層コントローラ211、Gen-Zデータリンク層コントローラ213、及び、Gen-Z/PCIe物理層回路216を介して提供される。デュアルプロトコルリンクコントローラ209は、PCIeバス220上のPCIe物理リンクにオーバーレイされたメモリモジュール230へのGen-Zプロトコル相互接続を提供する。
【0011】
Gen-Zメモリコントローラ212は、通常、プロセッサメモリ管理ロジックを含み、要求キュー又はメモリディレクトリ等の他のロジック回路を含むことができる。Gen-Zメモリコントローラ212は、Gen-Zプロトコルに従ってメッセージを準備及びフォーマットするGen-Zプロトコル層206への接続を介して、メモリ要求及び応答を送受信する。Gen-Zプロトコル層206は、Gen-Zポート208に接続されており、Gen-Zポート208は、デュアルプロトコルリンクコントローラ209のGen-Zトランザクション層コントローラ211に接続する。
【0012】
デュアルプロトコルリンクコントローラ209は、Gen-Zポート208を介してアップストリーム方向にメモリアクセス要求を通信するために、Gen-Zポート208に接続されたGen-Zトランザクション層コントローラ211を含む。Gen-Zトランザクション層コントローラ211は、ダウンストリーム方向にGen-Zパケットを提供及び受信するために、Gen-Zデータリンク層コントローラ213に接続されている。Gen-Zデータリンク層コントローラ213は、通常、PCIeバス220を介してGen-Z通信リンクを管理し、リンクセットアップを実行し、パケットを順序付けし、リンクを介したデータの流れを制御する。
【0013】
マルチプレクサ/デマルチプレクサ215は、Gen-Z/PCIe物理層回路216をGen-Zデータリンク層コントローラ213又はPCIeデータリンク層コントローラ214に選択的に接続し、これにより、Gen-Z/PCIe物理層回路216を介したGen-Zリンク又はPCIeリンクを完成させることが可能となる。Gen-Z/PCIe物理層回路216は、マルチプレクサ/デマルチプレクサ215に接続され、「TX」とラベル付けされた単方向送信ポートを介してPCIeバス220上で送信される信号を生成し、「RX」とラベル付けされた単方向受信ポートを介して信号を受信するように動作する。後述するように、マルチプレクサ/デマルチプレクサ215の動作は、リンクトレーニングステータスステートマシン(LTSSM)217によるデュアルプロトコルリンクコントローラ209の初期化中に提供される設定によって制御される。
【0014】
オンチップ相互接続204は、プロセッサ202が、デュアルプロトコルリンクコントローラ209を介して、PCIeトランザクション層コントローラ212への接続を介してPCIeプロトコルを使用して通信するための別のパスを含む。このパスは、通常のPCIeトラフィックのために提供され、これにより、Gen-Zプロトコルで動作するメモリモジュール230の代替又は追加として、PCIe対応デバイスをPCIeバス220に接続することが可能になる。PCIeデバイスは、メモリモジュール230によって使用されるものとは異なるPCIeバス220のPCIeレーンに接続され得る。PCIeトランザクション層コントローラ212は、PCIeデータリンク層コントローラ214に接続され、PCIeデータリンク層コントローラ214は、後述するように、マルチプレクサ/デマルチプレクサ215を介してGen-Z/PCIe物理層回路216に選択的に接続する。PCIeトランザクション層コントローラ212及びPCIeデータリンク層コントローラ214は、本技術分野で知られているように動作する。
【0015】
デュアルプロトコルリンクコントローラ209のブロックは、ハードウェア、ファームウェア及びソフトウェアの様々な組み合わせで実装することができる。本実施形態では、デュアルプロトコルリンクコントローラ209は、完全にハードウェアで実装されている。別の例示的な実施形態では、Gen-Z/PCIe物理層回路216はハードウェアで実装され、PCIeトランザクション層コントローラ212はソフトウェアで実装され、PCIeデータリンク層コントローラ214は部分的にハードウェアで実装され、部分的にソフトウェアで実装される。Gen-Zプロトコル層206はソフトウェアで実装され、Gen-Zトランザクション層コントローラ211は部分的にハードウェアで実装され、部分的にソフトウェアで実装され、Gen-Zデータリンク層コントローラ213はハードウェアで実装される。
【0016】
メモリモジュール230は、PCIeコネクタを有する拡張カードタイプモジュールであってもよく、他の拡張モジュールの形態をとってもよく、及び/又は、ホストプロセッサ210を搭載するマザーボードに組み込まれてもよい。メモリモジュール230は、高速ローカルバスを介してインターフェースコントローラ231に接続された1つ以上のメモリチップを有するメモリ234を含む。インターフェースコントローラ231は、メディアコントローラ232と、Gen-Zプロトコル層206と、仮想Gen-Zポート208と、リンクコントローラ233と、を含む。メディアコントローラは、通常、メモリ234へのメモリアクセス要求を実行する。Gen-Zプロトコル層206は、メディアコントローラ232に接続され、Gen-Zプロトコルに従ってメッセージを準備及びフォーマットする。Gen-Zプロトコル層206は、ダウンストリーム方向に仮想Gen-Zポート208に接続する。仮想Gen-Zポート208は、メディアコントローラ232からのGen-Z通信用の論理ポートとして機能し、リンクコントローラ233のGen-Zトランザクション層コントローラ211に接続する。
【0017】
リンクコントローラ233は、Gen-Zトランザクション層コントローラ211と、Gen-Zデータリンク層コントローラ213と、Gen-Z/PCIe物理層回路216と、LTSSM217と、を含み、これらは、リンクコントローラ209のこれらの要素と同様に動作する。しかしながら、リンクコントローラ233では、PCIeトランザクション層、PCIeデータリンク層又はマルチプレクサが使用されず、リンクコントローラ233は、Gen-Zプロトコルとのみ通信することが可能になる。リンクコントローラ233のGen-Z/PCIe物理層回路216は、PCIeバス220の伝送媒体に接続され、PCIeバス220を介してGen-Zプロトコル通信を送受信する。PCIeバス220の複数のレーンを介して実行される接続には、複数のチャネル又は単一のチャネルが使用され得る。リンクコントローラ233のLTSSM217は、PCIe LTSSMの機能を実行し、後述するように、Gen-Zプロトコルの使用をネゴシエートする。
【0018】
メモリモジュール230は、Gen-Zがメモリ中心のアーキテクチャ(memory-centric architecture)及び従来のプロセッサ中心のアーキテクチャ(processor-centric architecture)の各々をサポートしているので、メモリ中心のアーキテクチャ又は従来のプロセッサ中心のアーキテクチャで使用され得る。この例では、メモリ234は、ストレージクラスメモリ(SCM)であり、不揮発性メモリ(NVM)である。しかしながら、これらの例は限定的ではなく、多くのタイプのメモリモジュールが、本明細書で説明する技術を使用することができる。例えば、RAMメモリや、NVMとRAMが混在したメモリ(例えば、RAMバッファを備えた大容量フラッシュストレージ又は3Dクロスポイントメモリ等)を使用することができる。
【0019】
メディアコントローラ232は、デュアルプロトコルリンクコントローラ209のポート回路の一部又は全てを備えたインターフェースコントローラチップ231上に統合され得る。2つのLTSSM217は、リンク初期化中に互いにネゴシエートして、Gen-ZデバイスがPCIeバス220上に存在することをホストプロセッサ210に通知し、ホストプロセッサ210とメモリモジュール230との間の接続プロトコルをネゴシエートする。後述するように、このネゴシエーションは、PCIeリンクコントローラの一部であるLTSSMトレーニングプロセスへの追加として行われることが好ましい。
【0020】
図3は、データ処理プラットフォーム300のブロック図である。通常、ホストプロセッサ310は、PCIeバス320を介してメモリモジュール330に接続し、Gen-Zデバイスが接続されていることを認識し、これに応じて、ホストプロセッサ310及びメモリモジュール330のデュアルプロトコルリンクコントローラ309を構成する。ホストプロセッサ310は、図2のホストプロセッサ210と同一であり、対応する要素の符号は「2」ではなく「3」で始まる。
【0021】
メモリモジュール330は、PCIeコネクタを有する拡張カードタイプモジュールであってもよいし、他の拡張モジュールの形態をとってもよいし、及び/又は、ホストプロセッサ310を搭載するマザーボードに組み込まれてもよい。メモリモジュール330は、1つ以上のメモリチップを有するメモリ334と、インターフェースコントローラ331と、を含む。インターフェースコントローラ331は、メディアコントローラ332と、PCIeバス320の伝送媒体に接続されたデュアルプロトコルリンクコントローラ309と、を含む。PCIeバス320の複数のレーンを介して実行される接続には、複数のチャネル又は単一のチャネルが使用されてもよい。
【0022】
メディアコントローラ332及びこれに関連するGen-Zプロトコル層306は、Gen-Zプロトコルによって提供されるメモリセマンティック形式でフォーマットされたメモリ要求を実行し、応答するように動作する。Gen-Zは、メモリ中心のアーキテクチャ及び従来のプロセッサ中心のアーキテクチャの各々をサポートしているので、メモリモジュール330は、メモリ中心のアーキテクチャ又は従来のプロセッサ中心のアーキテクチャで使用することができる。この例では、メモリ334は、メモリモジュール230と同様のストレージクラスの不揮発性メモリである。
【0023】
メディアコントローラ332は、デュアルプロトコルリンクコントローラ309のポート回路の一部又は全てを備えたインターフェースコントローラチップ(331)上に統合され得る。デュアルプロトコルリンクコントローラ309は、ホストプロセッサ310のデュアルプロトコルリンクコントローラ309と同様の要素311,313,315,316,317,312,314を有するが、プロセッサ310は、そのデュアルプロトコルリンクコントローラ309内に完全なPCIeルートコンプレックスを含むことができる。図5に関連して後述するように、2つのLTSSM317は、リンク初期化中に互いにネゴシエートして、Gen-ZデバイスがPCIeバス320上に存在することをホストプロセッサ310に通知し、ホストプロセッサ310とメモリモジュール330との間の接続プロトコルをネゴシエートする。デュアルプロトコルリンクコントローラ309は、通常、レジスタ設定を介して、Gen-Zプロトコル又はPCIeプロトコルの何れかの使用をネゴシエートするように構成され得る。このネゴシエーションは、PCIeリンクコントローラの一部であるLTSSMトレーニングプロセスへの追加として行われることが好ましい。
【0024】
図4は、従来技術のPCIe LTSSMを動作させるための状態図400のフロー図である。PCIe規格に規定されているように、LTSSMは、通常、動作の各リンクを構成及び初期化する物理層制御プロセスを提供する。LTSSMは、PCIeリンクの構成及び初期化、パケット転送のサポート、リンクエラーからの回復、及び、低電力状態からのPCIeポートの再起動の機能を実行する。PCIeリンクの構成及び初期化中、通常、図示するように、物理層回路が初期化され又はリンク層により命令されることに応じて、LTSSMは、最初に、レーン上のリンクパートナーの存在を検出する検出状態に移行する。LTSSMは、検出状態からポーリング状態に移行し、リンクパートナーがトレーニングセット1「TS1」及びトレーニングセット2「TS2」と呼ばれるシンボルの所定のオーダードセットを交換することにより、ビット及びシンボルロック、並びに、レーンの極性が確立される。これらのオーダードセットは、送信機及び受信機が、各レーンの特定の伝送媒体を介した送信機及び受信機のパフォーマンスを測定及び調整することを可能にするビットのパターンを含む。
【0025】
次に、LTSSMは構成状態になり、TS1及びTS2のオーダードセットが再び交換され、データレート、レーンオーダー、及び、リンク幅等のパラメータが確立される。次に、LTSSMは、データがリンク上で転送される通常の動作状態であるL0になる。構成プロセスで様々なエラーが発生すると、LTSSMは、リカバリ状態になり得る。また、LTSSMは、電気アイドル状態若しくはスタンバイ状態(L0s)、低電力スタンバイ/スランバー(slumber)状態(L1)、低電力スリープ状態(L2)、又は、リンクオフ状態(L3)になり得る。
【0026】
図5は、いくつかの実施形態による、拡張LTSSM317を使用して代替プロトコルを選択するための例示的なプロセス500のフロー図である。通常、プロセス500は、PCIeバス320のレーンの両端にあるGen-Z/PCIe物理層回路316(図3)を制御する拡張LTSSM317によって実行される。プロセス500は、通常、例えばコールドリセット又はホットリセット等の任意の適切なプロセスに従ってデータ処理プラットフォームが電源投入又はリセットされたときに拡張LTSSM317が開始されるプロセスブロック502から開始する。また、拡張LTSSM317は、ホストプロセッサからのコマンド(リンクスタンバイ状態から離れるコマンド等)に応じて、再起動され得る。ブロック504において、拡張LTSSM317は、レーンの反対側の端部における物理層回路送信機又は受信機の存在を検出する検出状態を完了する。次に、ブロック506において、拡張LTSSM317は、接続されたデバイス上で有効化された代替プロトコルをチェックする。この設定は、通常、ブートストラップROM、特定値に設定されたピン、又は、Gen-Zデバイスレジスタで指定値を設定するための他のいくつかの適切な技術を使用して、初期化される。次に、Gen-Zデバイスは、レジスタをチェックして、Gen-Zトランザクション層プロトコル等の代替プロトコルが有効化されていることを確認する。この確認は、通信に使用する優先プロトコルを決定するためにリンクのGen-Zデバイス側で実行されてもよいし、代替プロトコルがサポート又は許可されているか否かを判別するためにホストプロセッサ側で独立して実行されてもよい。ホストプロセッサでは、設定は、PCIeルートコンプレックスによってチェックされるレジスタに記憶されてもよい。
【0027】
代替プロトコルが有効化されていない場合、プロセス500は、ブロック508において通常のPCIe LTSSMプロセスに進み、ブロック516においてポーリング状態、ブロック518において構成状態を完了し、ブロック520においてリンク構成を完了すると、ブロック522においてL0動作状態になる。ブロック518は、PCIeデータリンク層コントローラ314をGen-Z/PCIe物理層回路316に接続するように、リンクの何れかの端部において両方のI/Oポートコントローラ309のマルチプレクサ/デマルチプレクサ315を構成してもよく、このような接続は、デフォルト状態として既に設定済みであってもよい。PCIeプロトコルがデフォルトとして有効化されていない場合、ブロック518は、ブロック510において代替プロトコルネゴシエーション情報が交換されるのと同じ方法で、PCIeプロトコルを識別するPCIeプロトコルネゴシエーション情報を送信することも含むことができる。
【0028】
ブロック508を参照して、代替プロトコルが有効化されている場合、プロセス500はブロック510に進み、変更されたTS1及びTS2のオーダードセットを送信することによって代替プロトコルの使用をネゴシエートする。オーダードセットは、代替プロトコルがサポートされていることを示す情報をリンクのGen-Zデバイス側のTS1又はTS2のセットに挿入するように変更される。拡張LTSSM317は、変更されたTS1及びTS2のオーダードセット内で、データレーンを介して代替プロトコルネゴシエーション情報を送受信する。リンクのホストプロセッサ310側も同様に、Gen-Zデバイス330に返送されるTS1又はTS2のオーダードセットに確認応答情報(acknowledgement information)を挿入することによって、代替プロトコルの受諾を知らせる。
【0029】
ブロック512において、プロセス500は、Gen-Zデータリンク層コントローラをGen-Z/PCIe物理層回路316に接続するように、リンクの両端にある両方のI/Oポートコントローラ309のマルチプレクサ/デマルチプレクサ315を構成する。通常、Gen-Zプロトコルが、リンクの両端、ホストプロセッサ310及びGen-Zデバイス330でサポートされている場合、Gen-Zデータリンク層コントローラが使用される。リンクの何れかの端部がPCIeプロトコルのみをサポートする場合、PCIeデータリンク層コントローラ314が使用される。ブロック514において、レーンの構成は、リンク速度、リンク幅及び他の関連パラメータをネゴシエートすることによって完了する。
【0030】
このスキームにより、システムのアプリケーション層に対して透過的な方法でPCIe又はGen-Z通信を使用することが可能になる。また、同一の物理伝送媒体であるPCIeバス320のレーン(多くの場合、16又は32レーン)を、両プロトコルで使用することが可能になる。代替プロトコルネゴシエーションがレーン毎に行われるため、複数のレーンをGen-Zプロトコル(例えば、メモリモジュール)に使用し、他のレーンをPCIeプロトコル(例えば、周辺デバイス)に使用することができる。古いPCIeデバイスはGen-Z特有のハードウェアに干渉しないため、本明細書の技術では、下位互換性も確保される。さらに、データファブリック内でこれらの技術を使用することにより、処理要素の複数のパスを、選択されたポートに到達させ、選択されたプロトコルを選択させることが可能になる。
【0031】
図6は、いくつかの実施形態による、変更されていないトレーニングオーダードセット602のシンボルシーケンス図である。変更されていないトレーニングセットは、通常、2つのセットで構成されており、各セットには、LTSSMのポーリング状態及び構成状態中にアライメント及び他のリンクパラメータを確立するためにLTSSMによって使用される16個のシンボルが含まれる。
【0032】
図7は、いくつかの実施形態による、変更されたトレーニングオーダードセット702のシンボルシーケンス図である。変更されたトレーニングオーダードセット702は、LTSSMが使用するTS1又はTS2のトレーニングオーダードセットの何れか又は両方の変更されたバージョンであってもよい。変更されたデータ704は、使用されるプロトコル(例えば、Gen-Zプロトコル等)を識別する代替リンクネゴシエーションパラメータを含む。変更されたデータは、元のTS1又はTS2のオーダードセットから変更された少なくとも1つのビット含む。拡張LTSSM317は、変更されたデータについて変更されたビットの位置をチェックして、変更されたトレーニングオーダードセットを受信したか否かを判別する。
【0033】
本明細書の技術は、様々な実施形態において、高速通信リンクの利益を得るメモリモジュール又は他の周辺機器を使用する任意の適切な製品(例えば、サーバ、データ処理コンピュータ、データベースホスト)と共に使用され得る。さらに、本技術は、GPU及びCPUアーキテクチャ又はASICアーキテクチャ、並びに、プログラマブルロジックアーキテクチャを用いて実装されたデータプロセッサの使用に幅広く適用可能である。
【0034】
特定の実施形態について説明したが、これらの実施形態に対する様々な変更が当業者には明らかであろう。例えば、複数の代替プロトコルがリンクコントローラによって有効化され、本明細書に記載されるようにネゴシエートされてもよい。
【0035】
従って、添付の特許請求の範囲は、開示された実施形態の範囲に含まれる、開示された実施形態の全ての変更形態を包含することを意図している。
図1
図2
図3
図4
図5
図6
図7
【手続補正書】
【提出日】2021-07-05
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
通信リンクに接続され、前記通信リンクを介してデータレーンを提供するように構成された物理層回路と、
第1の周辺構成要素相互接続エクスプレス(PCIe)プロトコルに従って動作する第1のデータリンク層コントローラと、
第2のプロトコルに従って動作する第2のデータリンク層コントローラと、
前記第1のデータリンク層コントローラ、前記第2のデータリンク層コントローラ及び前記物理層回路に接続されたマルチプレクサ/デマルチプレクサと、
リンクトレーニングステータスステートマシン(LTSSM)と、
を備えるリンクコントローラであって、
前記LTSSMは、前記物理層回路を選択的に制御して、
前記データレーンを介してトレーニングオーダードセットを送受信することと、
前記トレーニングオーダードセット内で、前記データレーンを介して代替プロトコルネゴシエーション情報を送受信することと、
前記データレーンを介してデータレート情報及びリンク幅情報を送受信することと、
前記代替プロトコルネゴシエーション情報を受信したことに応じて、前記物理層回路を前記第2のデータリンク層コントローラに選択的に接続することを前記マルチプレクサ/デマルチプレクサに実行させることと、
を行うように構成されている、
リンクコントローラ。
【請求項2】
記第2のプロトコルは、Gen-Zプロトコルである、
請求項1のリンクコントローラ。
【請求項3】
前記代替プロトコルネゴシエーション情報は、変更されたトレーニングオーダードセットに含まれる、
請求項2のリンクコントローラ。
【請求項4】
前記LTSSMは、前記物理層回路を選択的に制御して、
変更されていないトレーニングオーダードセットを受信したことに応じて、前記物理層回路を前記第1のデータリンク層コントローラに選択的に接続することを前記マルチプレクサ/デマルチプレクサに実行させる、
請求項3のリンクコントローラ。
【請求項5】
前記第2のデータリンク層コントローラに接続されたGen-Zトランザクション層コントローラと、
前記第1のデータリンク層コントローラに接続されたPCIeトランザクション層コントローラと、をさらに備える、
請求項2のリンクコントローラ。
【請求項6】
前記LTSSMは、制御レジスタの状態に基づいて前記代替プロトコルネゴシエーション情報を送受信する、
請求項1のリンクコントローラ。
【請求項7】
中央処理装置と、
前記中央処理装置に接続されたデュアルプロトコルリンクコントローラと、
を備えるデータ処理プラットフォームであって、
前記デュアルプロトコルリンクコントローラは、
周辺構成要素相互接続エクスプレス(PCIe)通信リンクに接続された物理層回路と、
第1の周辺構成要素相互接続エクスプレス(PCIe)プロトコルに従って動作するように構成された第1のデータリンク層コントローラと、
第2の非PCIeプロトコルに従って動作するように構成された第2のデータリンク層コントローラと、
前記第1のデータリンク層コントローラ、前記第2のデータリンク層コントローラ及び前記物理層回路に接続されたマルチプレクサ/デマルチプレクサと、
リンクトレーニングステータスステートマシン(LTSSM)と、を備え、
前記LTSSMは、前記物理層回路を制御して、
(a)前記PCIe通信リンクを介してトレーニングオーダードセットを送受信し、(b)前記トレーニングオーダードセット内で、前記PCIe通信リンクを介して代替プロトコルネゴシエーション情報を送受信し、(c)前記代替プロトコルネゴシエーション情報を受信したことに応じて、前記物理層回路を前記第2のデータリンク層コントローラに接続することを前記マルチプレクサ/デマルチプレクサに実行させる、
ように構成されている、
データ処理プラットフォーム。
【請求項8】
モリモジュールをさらに備え、
前記メモリモジュールは、
メモリと、
前記メモリに接続されたメディアコントローラと、
前記メディアコントローラ及び前記PCIe通信リンクに接続されたインターフェースコントローラと、を備え、
前記インターフェースコントローラは、第2のLTSSMを含み、
前記第2のLTSSMは、前記PCIe通信リンクを介してトレーニングオーダードセットを送受信し、前記トレーニングオーダードセット内で、前記PCIe通信リンクを介して代替プロトコルネゴシエーション情報を送受信するように動作可能である、
請求項のデータ処理プラットフォーム。
【請求項9】
前記第2のLTSSMは、第2のデュアルプロトコルリンクコントローラの一部である、
請求項のデータ処理プラットフォーム。
【請求項10】
前記第2のLTSSMは、前記Gen-Zプロトコルで動作する単一プロトコルリンクコントローラの一部である、
請求項のデータ処理プラットフォーム。
【請求項11】
周辺構成要素相互接続エクスプレス(PCIe)通信リンクに接続されるように構成されたリンクコントローラ回路を使用して、変更されたトレーニングオーダードセットを送受信することと、
前記変更されたトレーニングオーダードセット内で、データレーンを介して代替プロトコルネゴシエーション情報を送受信することと、
前記リンクコントローラ回路を使用して、データレート情報及びリンク幅情報を送受信することと、
前記代替プロトコルネゴシエーション情報を受信していないことに応じて、物理層回路を第1のプロトコルの第1の周辺構成要素相互接続エクスプレス(PCIe)データリンク層コントローラに接続することをマルチプレクサ/デマルチプレクサに選択的に実行させることと、
前記代替プロトコルネゴシエーション情報を受信したことに応じて、前記物理層回路を第2のプロトコルの第2の非PCIeデータリンク層コントローラに選択的に接続することを前記マルチプレクサ/デマルチプレクサに選択的に実行させることと、
前記PCIe通信リンクを動作させることと、を含む、
方法。
【請求項12】
前記第2のプロトコルは、Gen-Zプロトコルである、
請求項11の方法。
【請求項13】
前記物理層回路を前記第2のプロトコルの前記第2の非PCIeデータリンク層コントローラに選択的に接続することを前記マルチプレクサ/デマルチプレクサに選択的に実行させた後に、前記通信リンクをGen-Zプロトコルで動作させることをさらに含む、
請求項11の方法。
【請求項14】
前記代替プロトコルネゴシエーション情報を送受信することは、リンクトレーニングステータスステートマシン(LTSSM)の制御の下で前記物理層回路を介して実行される、
請求項11の方法。
【請求項15】
前記代替プロトコルネゴシエーション情報を送受信することは、制御レジスタの所定の状態に基づいて行われる、
請求項11の方法。
【国際調査報告】