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

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

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

<>
  • 特許-高速ハードウェア送信等化 図1
  • 特許-高速ハードウェア送信等化 図2
  • 特許-高速ハードウェア送信等化 図3
  • 特許-高速ハードウェア送信等化 図4
  • 特許-高速ハードウェア送信等化 図5
  • 特許-高速ハードウェア送信等化 図6
  • 特許-高速ハードウェア送信等化 図7
  • 特許-高速ハードウェア送信等化 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-27
(45)【発行日】2022-05-11
(54)【発明の名称】高速ハードウェア送信等化
(51)【国際特許分類】
   H04L 25/03 20060101AFI20220428BHJP
   G06F 13/38 20060101ALI20220428BHJP
   G06F 13/42 20060101ALI20220428BHJP
   G06F 13/36 20060101ALI20220428BHJP
   H04B 3/04 20060101ALI20220428BHJP
   H04L 1/14 20060101ALI20220428BHJP
【FI】
H04L25/03 C
G06F13/38 350
G06F13/42 310
G06F13/36 530B
H04B3/04 A
H04L1/14
【請求項の数】 20
(21)【出願番号】P 2021512840
(86)(22)【出願日】2019-09-10
(65)【公表番号】
(43)【公表日】2021-10-21
(86)【国際出願番号】 US2019050304
(87)【国際公開番号】W WO2020055792
(87)【国際公開日】2020-03-19
【審査請求日】2021-07-01
(31)【優先権主張番号】16/130,791
(32)【優先日】2018-09-13
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(73)【特許権者】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】シーチー スン
(72)【発明者】
【氏名】マイケル ジェイ. トレシダー
(72)【発明者】
【氏名】ヤンフェン ワン
【審査官】松平 英
(56)【参考文献】
【文献】米国特許出願公開第2014/0281067(US,A1)
【文献】特表2010-508599(JP,A)
【文献】特開2013-098981(JP,A)
【文献】国際公開第2009/019746(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 25/03
G06F 13/38
G06F 13/42
G06F 13/36
H04B 3/04
H04L 1/14
(57)【特許請求の範囲】
【請求項1】
制御ユニットと、
第1のトランシーバと、
第2のトランシーバと、
前記第1のトランシーバと前記第2のトランシーバとを接続する通信リンクであって、複数のレーンを含む通信リンクと、
を備える、システムであって、
前記制御ユニットは、前記通信リンクの等化トレーニングを行うための条件を検出したことに応じて、
前記複数のレーンを、レーンの第1のサブセットと、レーンの第2のサブセットと、に分割することと、
前記レーンの第1のサブセットを第1の速度で動作させることと、
前記レーンの第1のサブセットを前記第1の速度で動作させながら、前記レーンの第2のサブセットを、前記第1の速度よりも遅い第2の速度で動作させることと、
前記レーンの第2のサブセットにおいて前記第2の速度でフィードバックを送信することによって、前記第1のサブセットにおいて前記第1の速度で等化トレーニングを行うことと、
を行うように構成されている、
システム。
【請求項2】
等化トレーニングを行うことは、前記レーンの第2のサブセットを介して受信したフィードバックに基づいて、前記レーンの第1のサブセットにおいて前記第1のトランシーバの送信設定を調整することを含む、
請求項1のシステム。
【請求項3】
前記第1の速度は、前記通信リンクの前記複数のレーンの動作の目標速度である、
請求項1のシステム。
【請求項4】
前記第2の速度は、等化トレーニングを行う前に、前記通信リンクを介してデータを確実に送信するのを可能にする速度である、
請求項1のシステム。
【請求項5】
前記制御ユニットは、前記レーンの第1のサブセットをトレーニングした後に、前記レーンの第1のサブセットにおいてフィードバックを前記第1の速度で送信することによって、前記レーンの第2のサブセットにおいて前記第1の速度で等化トレーニングを行うように構成されている、
請求項1のシステム。
【請求項6】
前記制御ユニットは、前記レーンの第2のサブセットにおいて等化トレーニングを行った後に、前記複数のレーンにおいて前記第1の速度で通常のデータ操作を開始するように構成されている、
請求項5のシステム。
【請求項7】
前記レーンの第1のサブセットの等化トレーニング中に、前記レーンの第1のサブセットは、第1の方向に送信される信号を伝送し、前記レーンの第2のサブセットは、第2の方向に送信される信号を伝送し、
前記第2の方向は、前記第1の方向と反対である、
請求項1のシステム。
【請求項8】
第1のトランシーバを第2のトランシーバに結合する通信リンクの複数のレーンを、レーンの第1のサブセットと、レーンの第2のサブセットと、に分割することと、
前記レーンの第1のサブセットを第1の速度で動作させることと、
前記レーンの第1のサブセットを前記第1の速度で動作させながら、前記レーンの第2のサブセットを、前記第1の速度よりも遅い第2の速度で動作させることと、
前記レーンの第2のサブセットにおいて前記第2のトランシーバから前記第1のトランシーバへ前記第2の速度でフィードバックを送信する、前記レーンの第1のサブセットにおいて前記第1の速度で等化トレーニングを行うことと、を含む、
方法
【請求項9】
等化トレーニングを行うことは、前記レーンの第2のサブセットを介して受信したフィードバックに基づいて、前記レーンの第1のサブセットにおいて前記第1のトランシーバの送信設定を調整することを含む、
請求項8の方法。
【請求項10】
前記第1の速度は、前記通信リンクの前記複数のレーンの動作の目標速度である、
請求項8の方法。
【請求項11】
前記第2の速度は、等化トレーニングを行う前に、前記通信リンクを介してデータを確実に送信するのを可能にする速度である、
請求項8の方法。
【請求項12】
前記レーンの第1のサブセットをトレーニングした後に、前記レーンの第1のサブセットにおいてフィードバックを前記第1の速度で送信することによって、前記レーンの第2のサブセットにおいて前記第1の速度で等化トレーニングを行うことをさらに含む、
請求項8の方法。
【請求項13】
前記レーンの第2のサブセットにおいて等化トレーニングを行った後に、前記複数のレーンにおいて前記第1の速度で通常のデータ操作を開始することをさらに含む、
請求項12の方法。
【請求項14】
前記レーンの第1のサブセットの等化トレーニング中に、前記レーンの第1のサブセットは、第1の方向に送信される信号を伝送し、前記レーンの第2のサブセットは、第2の方向に送信される信号を伝送し、
前記第2の方向は、前記第1の方向と反対である、
請求項8の方法。
【請求項15】
制御ユニットと、
複数のレーンを含む通信リンクと、
を備える、装置であって、
前記制御ユニットは、前記通信リンクの等化トレーニングを行うための条件を検出したことに応じて、
前記複数のレーンを、レーンの第1のサブセットと、レーンの第2のサブセットと、に分割することと、
前記レーンの第1のサブセットを第1の速度で動作させることと、
前記レーンの第1のサブセットを前記第1の速度で動作させながら、前記レーンの第2のサブセットを、前記第1の速度よりも遅い第2の速度で動作させることと、
前記レーンの第2のサブセットにおいて前記第2の速度でフィードバックを送信することによって、前記第1のサブセットにおいて前記第1の速度で等化トレーニングを行うことと、
を行うように構成されている、
装置。
【請求項16】
等化トレーニングを行うことは、前記レーンの第2のサブセットを介して受信したフィードバックに基づいて、前記レーンの第1のサブセットにおいて送信設定を調整することを含む、
請求項15の装置。
【請求項17】
前記第1の速度は、前記通信リンクの前記複数のレーンの動作の目標速度である、
請求項15の装置。
【請求項18】
前記第2の速度は、等化トレーニングを行う前に、前記通信リンクを介してデータを確実に送信するのを可能にする速度である、
請求項15の装置。
【請求項19】
前記制御ユニットは、前記レーンの第1のサブセットをトレーニングした後に、前記レーンの第1のサブセットにおいてフィードバックを前記第1の速度で送信することによって、前記レーンの第2のサブセットにおいて前記第1の速度で等化トレーニングを行うように構成されている、
請求項15の装置。
【請求項20】
前記制御ユニットは、前記レーンの第2のサブセットにおいて等化トレーニングを行った後に、前記複数のレーンにおいて前記第1の速度で通常のデータ操作を開始するように構成されている、
請求項19の装置。
【発明の詳細な説明】
【背景技術】
【0001】
最新のプロセッサは、高速で効率的な計算を容易にするために、様々な回路及びコンポーネントを備える。また、プロセッサ外部のデバイスを含むデバイス間の通信を管理するための回路及びコンポーネントが含まれる。例えば、プロセッサは、ディスプレイデバイス、外部ストレージデバイス、ネットワーク通信及び他の様々な周辺デバイス等の外部デバイスと頻繁に通信する。これらのデバイスと通信するために、プロセッサの処理要素(例えば、中央処理装置、グラフィックス処理ユニットなど)からトランザクションが伝達され、これらの処理要素によって受信される。
【0002】
最新のコンピューティングシステムでは、多くのシステムコンポーネントがポイントツーポイントリンクを使用して結合される。「ポイントツーポイントリンク」は、本明細書では「シリアルリンク」とも呼ばれることに留意されたい。シリアルリンクは、一度に1ビットずつデータを配信する通信チャネルであり、シリアルリンクは、パラレル通信チャネルと比較して、シグナルインテグリティが高く、はるかに高いデータレートを実現できるため、ますます一般的になっている。ただし、高いデータレートでデータを転送するためのポイントツーポイントリンクの準備は、通常、時間がかかり、複雑なプロセスである。
【0003】
添付図面と併せて以下の説明を参照することによって、本明細書に記載される方法及びメカニズムの利点をより良く理解することができる。
【図面の簡単な説明】
【0004】
図1】通信チャネルの物理層仕様の一実施形態のブロック図である。
図2】コンピューティングシステムの送信機及び受信機の一実施形態のブロック図である。
図3】送信機と受信機との間の通信チャネルの一実施形態のブロック図である。
図4】データアイの一実施形態の図である。
図5】等化トレーニングを行う方法の一実施形態を示す一般化されたフロー図である。
図6】等化トレーニングを行うときに通信リンクの複数のレーンを分割する方法を決定するための方法の一実施形態を示す一般化されたフロー図である。
図7】レイテンシを低減した等化トレーニングを行う方法の一実施形態を示す一般化されたフロー図である。
図8】フィードバック情報を伝達するためにサイドバンド信号を使用して等化トレーニングを行う方法の一実施形態を示す一般化されたフロー図である。
【発明を実施するための形態】
【0005】
以下の説明では、本明細書に提示される方法及びメカニズムの十分な理解をもたらすために、多数の具体的な詳細が記載されている。しかしながら、当業者は、これらの具体的な詳細無しに様々な実施形態が実施され得ることを認識すべきである。場合によっては、本明細書に記載されるアプローチを曖昧にすることを回避するために、周知の構造、構成要素、信号、コンピュータプログラム命令及び技術が詳細に示されていない。説明を簡単且つ明確にするために、図に示される要素が必ずしも縮尺通りに描かれていないことが理解されるであろう。例えば、いくつかの要素の寸法は、他の要素に対して誇張される場合がある。
【0006】
目標の高速で送信等化を行うための様々なシステム、装置及び方法を本明細書に開示する。コンピューティングシステムは、少なくとも、送信機と、受信機と、送信機と受信機とを接続する通信チャネルと、を備える。通信チャネルは、複数のN個のレーンを含み、ここで、Nは、1より大きい正の整数である。複数のレーンは、レーンの第1のサブセットと、レーンの第2のサブセットと、に細分される。レーンの第1のサブセットには、1からKまでの任意の数のレーンが含まれ、ここで、Kは正の整数である。また、レーンの第2のサブセットには、1から(N-K)までの任意の数のレーンが含まれる。第1及び第2のサブセットのレーンの数は、実施形態によって異なることに留意されたい。
【0007】
等化トレーニング中、レーンの第1のサブセットは第1の速度で動作し、レーンの第2のサブセットは第2の速度で動作する。第1の速度は、通信リンクを動作させるための所望の目標速度であり、第2の速度は、比較的低速である。レーンの第1のサブセットは第1の速度でトレーニングされ、フィードバックは、第2の速度で動作するレーンの第2のサブセットを使用して、受信機から送信機に伝達される。レーンの第2のサブセットは、低速の第2の速度で動作しているので、最初に等化トレーニングを受けることなくフィードバック情報を伝達することができる。第1のサブセットの等化トレーニングが完了した後に、第2のサブセットは、第1の速度でトレーニングされ、レーンの第1のサブセットは、受信機から送信機にフィードバック情報を伝送する。第2のサブセットがトレーニングされると、通信リンクの全てのレーンが第1の速度でデータを伝達することができるようになる。等化トレーニングを行うための上記技術は、通信リンクの等化トレーニングの実行に伴うステップ数及び時間を削減する。
【0008】
図1を参照すると、物理チャネル135によって接続された送信機102及び受信機104の一実施形態のブロック図が示されている。一実施形態では、送信機102は、任意の数のデータレーンを有する物理チャネル135を介して受信機104と通信する。一実施形態では、送信機102は、物理チャネル135に接続するための物理媒体接続層(physical media attachment layer)115を備える。また、一実施形態では、送信機102は、論理サブブロック物理符号化サブ層(logical sub-blocks physical coding sub-layer)110と、媒体アクセス層105と、を備える。同様に、受信機104は、物理媒体接続層130と、物理符号化サブ層125と、媒体アクセス層120と、を備える。
【0009】
一実施形態では、物理チャネル135は、シリアルデータを送信するための送信機102と受信機104との間のポイントツーポイントリンクである。いくつかの実施形態では、物理チャネル135は双方向リンクであり得ることに留意されたい。これらの実施形態では、送信機102及び受信機104は、トランシーバと呼ばれる。物理チャネル135は、任意の数のデータレーンを含み、レーンの数は、実施形態によって異なる。一実施形態では、各データレーンは、リンクパートナ間の2つの単方向リンクを含む。
【0010】
様々な実施形態では、送信機102及び受信機104は、様々なタイプのコンピューティングシステムの何れかにおける様々なタイプのデバイスの何れかとして実装される。例えば、一実施形態では、送信機102及び受信機104は、個別の集積回路(IC)である。別の実施形態では、送信機102及び受信機104は、個別のシステムオンチップ(SoC)である。さらなる実施形態では、送信機102及び受信機104は、個別のソケットである。送信機102及び受信機104を実装するための他のタイプのデバイスが可能であり、考えられる。
【0011】
一実施形態では、送信等化は、2つの物理媒体接続層115,130間で行われる。送信等化は、送信機102の上位の論理レベル105,110と、受信機104の論理レベル120,125と、によって制御される。一実施形態では、論理レベルは、等化設定を物理媒体接続層115,130に提供し、物理媒体接続層115,130からのフィードバックをチェックする。フィードバックに基づいて、論理レベルは、最適な送信等化設定が見つかるまで、新たな等化設定を適用し、フィードバックをチェックする等を行う。
【0012】
システム100は、送信機及び受信機の対の間でデータを転送するための様々な数の通信リンクを備える。これらの通信リンクの1つ以上は、複数のデータレーンを有する。一実施形態では、電源投入時又はリセット時に、所定の送信機及び受信機の対は、対応する通信リンクをデータレーンの2つのサブセットに分割することによって等化トレーニングを行う。データレーンの第1のサブセットは高速(つまり、目標速度)で動作し、送信等化トレーニングを受け、データレーンの第2のサブセットは低速で動作し、データレーンの第1のサブセットの送信等化トレーニングに関連するフィードバック情報を伝達する。本明細書では、「速度」は、「クロック速度」、「周波数」又は「クロック周波数」とも呼ばれることに留意されたい。このアプローチを使用すると、データレーンの第1のサブセットを、単一のトレーニングフェーズにおいて目標速度でトレーニングすることができる。データレーンの第1のサブセットがトレーニングされた後に、データレーンの第2のサブセットが目標速度でトレーニングされ、データレーンの第1のサブセットは対応するフィードバック情報を伝達する。データレーンの第2のサブセットがトレーニングされた後に、通信リンクの全てのデータレーンは、目標速度でデータを伝達することができる。任意の数の通信リンクが上記のステップを行うことができ、その数は、システム100及び実施形態によって異なる。
【0013】
様々な実施形態において、コンピューティングシステム100は、コンピュータ、ラップトップ、モバイルデバイス、ゲームコンソール、サーバ、ストリーミングデバイス、ウェアラブルデバイス、又は、他の様々なタイプのコンピューティングシステム若しくはコンピューティングデバイスの何れかである。コンピューティングシステム100のコンポーネントの数は、実施形態毎に異なることに留意されたい。例えば、他の実施形態では、図1に示す数よりも多い又は少ない各コンポーネントが存在する。また、他の実施形態では、コンピューティングシステム100は、図1に示されていない他のコンポーネントを備えることに留意されたい。さらに、他の実施形態では、コンピューティングシステム100は、図1に示す以外の方法で構成される。
【0014】
図2を参照すると、コンピューティングシステム200のリンクパートナ205A及びリンクパートナ205Bの一実施形態のブロック図が示されている。リンクパートナ205Aは、リンク215を介してリンクパートナ205Bに結合されている。リンク215は、実施形態に応じて、任意の数のデータレーンを含む。コンピューティングシステム200は、図を曖昧にするのを回避するために、図示されていない1つ以上の他のコンポーネントも備える。例えば、様々な実施形態において、コンピューティングシステム200は、1つ以上の処理ユニット(例えば、プロセッサ、プロセッサコア、プログラマブルロジックデバイス、特定用途向け集積回路)、1つ以上のメモリデバイス、及び/又は、他のコンポーネントを備える。1つ以上の処理ユニットは、実施形態に応じて、命令を実行し、及び/又は、1つ以上のタイプの計算(例えば、浮動小数点、整数、メモリ、I/O)を行う。リンクパートナ205A及びリンクパートナ205Bは、本明細書では「トランシーバ」とも呼ばれることに留意されたい。
【0015】
リンクパートナ205Aは、トレーニングシーケンスの生成、フィードバックの分析、送信プリエンファシス設定の調整、速度設定の制御、及び/又は、リンク215のレーンの他の機能を実行するための制御論理225を含む。図2には示されていないが、リンクパートナ205Aは、制御論理225に加えて、内部クロック生成コンポーネント及び/若しくは回路、位相ロックループ(PLL)、並びに/又は、クロックレートを調整するための他の回路を備えることができる。制御論理225は、本明細書では「制御ユニット」とも呼ばれることに留意されたい。リンクパートナ205Bは、リンク215上の等化トレーニングシーケンスの検出、受信したテストパターンの期待値との比較、フィードバックの生成、及び/又は、他の機能を実行するための制御論理230を備える。図2には示されていないが、リンクパートナ205Bは、制御論理230に加えて、内部クロック生成コンポーネント及び/若しくは回路、PLL、及び/又は、クロックレートを調整するための他の回路も備えることができる。
【0016】
一実施形態では、リンクパートナ205Aは、リンク215のデータレーンの第1のサブセットにおいて第1のクロック速度で等化トレーニングシーケンスを開始する。第1のクロック速度は、リンク215の高速動作の目標速度である高速である。言い換えれば、第1のクロック速度は、リンク215上でデータを転送することができる最大クロック速度である。一実施形態では、等化トレーニングシーケンスを開始するために、リンクパートナ205Aは、テストされているデータレーンの第1のサブセットの各レーンでトレーニングシーケンス指標を送信する。一実施形態では、トレーニングシーケンス指標は、バイナリ0からバイナリ1への遷移と、それに続く所定の数の遷移である。他の実施形態では、トレーニングシーケンス指標は、他のタイプの遷移及び/又は値である。トレーニングシーケンス指標を送信した後に、リンクパートナ205Aは、データレーンの第1のサブセットの各レーンで等化トレーニングパターンを送信する。一実施形態では、テストパターンは、疑似ランダムバイナリシーケンス(PRBS)である。一般的に、PRBSは、ランダムなバイナリシーケンスと同様の挙動を示す決定論的なバイナリシーケンスである。
【0017】
リンクパートナ205Bは、リンク215のデータレーンの第1のサブセット215Aで送信された等化トレーニングパターンを受信し、次に、リンクパートナ205Bは、受信データを期待値と比較することによって、受信したテストパターンにエラーがあるかどうかをチェックする。リンクパートナ205Bは、キャプチャされたトレーニングパターンのエラーの数に基づいてフィードバックデータを生成する。例えば、一実施形態では、フィードバックデータは、キャプチャされたトレーニングパターン内で検出されたエラーの数を特定する。次に、リンクパートナ205Bは、第2のクロック速度で、リンク215のデータレーンの第2のサブセット215Bを介して、フィードバックデータをリンクパートナ205Aに送信する。一実施形態では、第2のクロック速度は比較的低いクロック速度であり、データレーンの第2のサブセット215Bを介してデータを正確に受信した後に、これらのレーンで等化トレーニングを行うのを可能にする。場合によっては、第2のクロック速度は、第1のクロック速度よりも大幅に遅い。例えば、一実施形態では、第2のクロック速度は、第1のクロック速度の半分未満である。リンクパートナ205Aは、フィードバックデータをキャプチャし、次に、フィードバックを(以前及び/又は後続のテストからのフィードバックと共に)使用して、データレーンの第1のサブセット215Aのデータアイを識別する。フィードバックをキャプチャした後に、リンクパートナ205Aは、別のテストを行うかどうか、又は、等化トレーニングを終了できるかどうかを決定する。
【0018】
リンク215のデータレーンの第1のサブセット215Aで等化トレーニングが完了すると、リンクパートナ205A及びリンクパートナ205Bは、同様の方法で、リンク215のデータレーンの第2のサブセット215Bで等化トレーニングを行う。ただし、1つの違いは、フィードバックが、データレーンの第1のサブセット215Aにおいて第1の速度で送信されることである。データレーンの第2のサブセット215Bがトレーニングされると、リンク215の全てのレーンは、リンクパートナ205Aによって送信されたデータを伝達する場合に、第1の速度で動作することができる。リンクパートナ205Aがトレーニングされた後に、リンクパートナ205Bも同様にトレーニングされ得ることに留意されたい。
【0019】
システム200は、リンクパートナ205A及びリンクパートナ205Bを備える任意のタイプのコンピューティングシステム又はコンピューティングデバイスを表す。例えば、様々な実施形態では、システム200は、コンピュータ、サーバ、計算ノード、プロセッサ、処理デバイス、プログラマブルロジックデバイス、メモリデバイス、メモリ内処理(PIM)ノード、モバイルデバイス、テレビ、エンターテインメントシステム若しくはデバイス、及び/又は、他のタイプのシステム若しくはデバイスである。また、システム200は、リンクパートナ205A及びリンクパートナ205Bに加えて、任意の数の他のリンクパートナのペアを備える。
【0020】
図3を参照すると、送信機310と受信機320との間の通信チャネル330の一実施形態のブロック図が示されている。通信チャネル330は、送信機310と受信機320とを接続する任意のタイプの通信チャネルを表す。通信チャネル330は、本明細書では「通信リンク」とも呼ばれることに留意されたい。通信チャネル330は、任意の数「N」のデータレーンを有し、ここで、Nは、1より大きい正の整数であり、数「N」は、実施形態によって異なる。各データレーン0~(N-1)は、シリアルビットストリームを伝送するように構成されている。他の実施形態では、通信チャネル330は、クロックレーン及び/又は1つ以上の他のレーンを含む。
【0021】
一実施形態では、チャネル330は、サブセット330A及びサブセット330Bに分割される。図3に示すように、サブセット330AはK個のレーンを含み、サブセット330Bは(N-K)個のレーンを含む。Kの値は実施形態によって異なり、Kは1から(N-1)までの任意の整数に等しい。一実施形態では、送信機は、目標クロック速度でサブセット330Aにおいて等化トレーニングを行い、サブセット330Bにおいて比較的低速で等化トレーニングに関連するフィードバックを送信する。目標クロック速度とは、全てのトレーニングが完了し、通信チャネル330が動作可能であると見なされた後に、通信チャネル330を介してデータを送信する所定のレートを指す。比較的低速とは、等化トレーニングを行う前に、確実にデータを送受信することができるクロック速度である。「確実に」という用語は、受信ビットエラーレートが所定の閾値を下回っていることを指す。
【0022】
受信機320によって生成され、送信機310に送信されるフィードバックは、受信されたテストパターンにエラーがあったかどうかを示す。一実施形態では、フィードバックは単一ビットである。他の実施形態では、フィードバックは、エラーの数を示すために複数のビットを利用する。送信機310は、フィードバックを受信し、フィードバックを利用して、送信機の現在の送信設定がデータアイの内側にあるか外側にあるかを決定する。一実施形態では、送信機310は、フィードバックを受信した後に、トレーニングが不完全であると見なされる場合(例えば、エラーが示された場合)、送信機310は、サブセット330Aのレーンの1つ以上の送信設定を変更し、別のテストが行われる。或いは、トレーニングが完了したと見なされる場合(例えば、エラーが示されていない場合)、送信機310は、目標クロック速度でサブセット330Bをトレーニングする次のステップに進む。サブセット330Bに対して目標クロック速度で等化トレーニングが行われる場合、受信機320は、フィードバックを、サブセット330Aにおいて目標クロック速度で送信機310に送信する。送信機310は、フィードバックを使用して、サブセット330Bのレーンの送信設定を調整する。サブセット330Bのレーンのトレーニングが完了したと見なされると、サブセット330A,330Bの全てのレーンが通常の動作を開始し、目標クロック速度でデータを伝達することができる。
【0023】
図4を参照すると、データアイ400の一実施形態の図が示されている。データアイ400は、チャネル(例えば、図3の通信チャネル330)のデータレーン上のビット遷移をキャプチャすることによって監視されるデータ有効期間の一例である。一実施形態では、送信機(例えば、図3の送信機310)は、異なる送信設定で複数のフィードバックトレーニングシーケンスを送信して、目標速度で動作するレーンの第1のサブセット(例えば、図3のサブセット330A)のデータアイ400の境界を検出する。送信機は、比較的低速で動作するレーンの第2のサブセット(例えば、図3のサブセット330B)において、受信機(例えば、図3の受信機320)から、各テストの結果に関するフィードバックを受信する。受信機は、レーンの第2のサブセットでフィードバックをドライブ(drive)して、所定のテストでエラーが検出されたかどうかを示す。
【0024】
様々な実施形態では、送信機は複数の送信設定で複数のテストを実行し、フィードバックが不良(つまり、1つ以上のエラー)から良好(つまり、エラー無し)に変わると、送信機は、特定の送信設定がデータアイ400の開始410と一致していると認識する。一実施形態では、送信機は、遅延を少しずつ追加し、追加のテストを行い、フィードバックが良好から不良に変わる場合に、これをデータアイ400の終了420として識別する。送信機は、データアイ400の中心430を計算するために、開始410と終了420との平均をとる。データアイ400の中心430に対応する送信設定は、チャネルの所定のデータレーンに最適な送信設定と見なされる。送信機は、チャネルの各データレーンに対してこれらのテストを行う。
【0025】
図5を参照すると、等化トレーニングを行う方法500の一実施形態が示されている。説明のために、本実施形態でのステップ及び図6図8のステップが順番に示されている。しかしながら、記載する方法の様々な実施形態では、記載する要素の1つ以上は、同時に行われてもよいし、図示した順序と異なる順序で行われてもよいし、完全に省略されてもよいことに留意されたい。他の追加の要素も必要に応じて実行される。本明細書に記載される様々なシステム又は装置の何れも、方法500を実施するように構成されている。
【0026】
通信リンクに結合された制御ユニット(例えば、図2の制御論理225)は、通信リンクで等化トレーニングを行うための条件を検出する(ブロック505)。様々な実施形態では、条件は、電源投入サイクル、リセットサイクル等である。通信リンクは、第1のトランシーバ(例えば、リンクパートナA)を第2のトランシーバ(例えば、リンクパートナB)に接続し、通信リンクは、複数のレーンを含む。「等化トレーニング」は、本明細書では「送信等化トレーニング」とも呼ばれることに留意されたい。
【0027】
条件の検出に応じて、制御ユニットは、複数のレーンのうちレーンの第1のサブセットを第1の速度で動作させる(ブロック510)。レーンの第1のサブセットは、一実施形態では、1つのレーンのみを含み得ることに留意されたい。一実施形態では、第1の速度は、通信リンクを動作させるための目標速度である。言い換えると、第1の速度は、等化トレーニングが完了した後に、通信リンクを介してデータを確実に送信することの可能な最高速度である。また、条件の検出に応じて、制御ユニットは、複数のレーンのうちレーンの第2のサブセットを第2の速度で動作させ、第2の速度は、第1の速度よりも遅い(ブロック515)。レーンの第2のサブセットは、一実施形態では、1つのレーンのみを含み得ることに留意されたい。他の実施形態では、レーンの第2のサブセットは、複数のレーンを含む。一実施形態では、第2の速度は、所定のデータレーンで等化トレーニングが行われる前に、その所定のデータレーンを介してデータを確実に送信することができる速度である。言い換えると、第2の速度が十分に遅いので、リンクは、明確なデータアイを得るために送信等化を受ける必要がない。したがって、データは、第2の速度で送信され、送信機の等化設定を調整せずに復元される。「確実にデータを送信する」という用語は、予測される送信ビットエラーレートが閾値未満になるようにデータを送受信することと定義されることに留意されたい。
【0028】
次に、リンクパートナAに異なるプリエンファシス設定を適用し、第2の速度で動作するレーンの第2のサブセットにおいてリンクパートナBからリンクパートナAに第1のフィードバックを送信することによって、送信等化トレーニングの第1のフェーズが、第1の速度で動作するレーンの第1のサブセットに対して行われる(ブロック520)。次に、最適な送信等化設定がブロック520で決定された後に、最適な送信等化設定が、リンクパートナAの送信機のレーンの第1のサブセットに適用される(ブロック525)。レーンの第1のサブセットにおいて送信等化トレーニングの第1のフェーズを行った後に、レーンの第1のサブセットは、リンクパートナAからリンクパートナBに第1の速度(つまり、目標速度)でデータを確実に伝達することができる。
【0029】
次に、制御ユニットは、レーンの第1のサブセットにおいて第1の速度で第2のフィードバックを送信することによって、リンクパートナAのレーンの第2のサブセットにおいて第1の速度で送信等化トレーニングの第2のフェーズを行う。ここで、第2のフィードバックは、送信等化トレーニングの第2のフェーズに基づいて生成される(ブロック530)。次に、ブロック530で決定された最適な送信等化設定が、リンクパートナAの送信機のレーンの第2のサブセットに適用される(ブロック535)。レーンの第2のサブセットにおいて送信等化トレーニングの第2のフェーズを行った後に、通信リンクのレーンの第1のサブセット及び第2のサブセットは、リンクパートナAの送信機からリンクパートナBの受信機に第1の速度でデータを確実に伝達できるようになる。
【0030】
次に、通信リンクの全てのレーンが第1の速度で動作し、リンクパートナAの受信機からフィードバックが提供されながら、リンクパートナBの送信機に対して様々な送信プリエンファシス設定がテストされる(ブロック540)。次に、ブロック540で決定された最適な送信等化設定が、リンクパートナBの送信機の全てのレーンに適用される(ブロック545)。ブロック545の後に、方法500は終了する。他の実施形態では、方法500のステップが変化し得ることに留意されたい。例えば、別の実施形態では、レーンの第1のサブセットが第1の速度で実行され、レーンの第2のサブセットが第2の速度で実行され、リンクパートナA及びリンクパートナBの両方に対して送信等化トレーニングが行われる。次に、レーンの第2のサブセットが、両方のリンクパートナについてトレーニングされる。さらに、さらなる実施形態では、レーンのサブセットが3つ以上存在する。
【0031】
図6を参照すると、等化トレーニングを行うときに通信リンクの複数のレーンを分割する方法を決定するための方法600の一実施形態が示されている。制御ユニットは、所定の通信リンクのレイテンシ要件及び性能要件の指標を受信する(ブロック605)。次に、制御ユニットは、レイテンシ要件及び性能要件に基づいて、通信リンクの複数のレーンを第1のサブセット及び第2のサブセットに分割する方法を決定する(ブロック610)。例えば、レイテンシ要件が性能要件よりも高い優先順位を有する場合、制御ユニットは、複数のレーンを、比較的多数のレーンを有する第1のサブセットと、比較的少数のレーンを有する第2のサブセットと、に分割することを優先する。或いは、性能要件がレイテンシ要件よりも高い優先順位を有する場合、制御ユニットは、複数のレーンを、等しいか比較的等しい数のレーンのサブセットに分割することを優先する。例えば、通信リンクのレーンの総数が16であり、性能要件がレイテンシ要件よりも優先される場合、一実施形態では、制御ユニットは、複数のレーンを、8つのレーンの第1のサブセットと、8つのレーンの第2のサブセットと、に分割する。次に、制御ユニットは、選択されたレーン分割スキームに基づいて、通信リンクの二相等化トレーニングを行う(ブロック615)。二相等化トレーニングの一例は、図5の方法500の説明に記載されている。二相等化トレーニング後に、通信リンクは、通常動作中に目標速度でデータを送信する(ブロック620)。ブロック620の後に、方法600は終了する。
【0032】
図7を参照すると、レイテンシを低減した等化トレーニングを行う方法700の一実施形態が示されている。制御ユニットは、レーンの第1のサブセットにおいて第1の速度で等化トレーニングを行い、第2の速度で動作するレーンの第2のサブセットは、等化トレーニング中に生成されたフィードバック情報を伝達する(ブロック705)。一実施形態では、制御ユニットは、レーンの第1のサブセット及び第2のサブセットを含む通信リンクに結合されている。一実施形態では、第1の速度は通信リンクの目標速度であり、第2の速度は、等化トレーニングの前にデータがリンク上で確実に送信されることを可能にする程度に比較的低速である。
【0033】
次に、制御ユニットは、レーンの第1のサブセットを、レーンの第3のサブセットと、レーンの第4のサブセットと、に分割する(ブロック710)。第3のサブセット及び第4のサブセットのレーン数は、実施形態によって異なる。次に、制御ユニットは、レーンの第2のサブセットにおいて第1の速度で等化トレーニングを行い、レーンの第3のサブセットはフィードバック情報を伝達し、レーンの第4のサブセットは通常動作中に送信されたデータを伝達する(ブロック715)。言い換えると、レーンの第4のサブセットは、等化トレーニングとは関係のないデータを伝達する。一実施形態では、レーンの第3のサブセット及び第4のサブセットは、ブロック715において第1の速度で動作することに留意されたい。レーンの第2のサブセットが第1の速度でトレーニングされた後に、通信リンクのレーンの第1のサブセット及び第2のサブセットは、通常動作中に第1の速度でデータを送信するために使用される(ブロック720)。ブロック720の後に、方法700は終了する。
【0034】
図8を参照すると、フィードバック情報を伝達するためにサイドバンド信号を使用して等化トレーニングを行う方法800の一実施形態が示されている。通信リンクに結合された制御ユニット(例えば、図2の制御論理225)は、通信リンクで等化トレーニングを行うための条件を検出する(ブロック805)。次に、制御ユニットは、通信リンクの全てのレーンを目標速度で動作させる(ブロック810)。次に、制御ユニットは、受信機がサイドバンド信号を使用してフィードバックを送信機に送信する間、全てのレーンに異なるプリエンファシス設定を適用する(ブロック815)。「プリエンファシス設定」は、送信機に適用される送信等化設定を指すことに留意されたい。次に、制御ユニットは、フィードバックを使用して、目標速度でデータを送信するための最適なプリエンファシス設定を見つける(ブロック820)。次に、最適なプリエンファシス設定が、リンクの全てのレーンで送信機に適用される(ブロック825)。ブロック825の後に、方法800は終了する。リンクの全てのレーンで等化トレーニングを行った後に、全てのレーンが目標速度でデータを確実に伝達できるようになる。
【0035】
様々な実施形態では、ソフトウェアアプリケーションのプログラム命令を使用して、本明細書に記載された方法及び/又はメカニズムを実施する。例えば、汎用プロセッサ又は専用プロセッサによって実行可能なプログラム命令が考えられる。様々な実施形態において、そのようなプログラム命令は、高水準プログラミング言語によって表すことができる。他の実施形態では、プログラム命令は、高水準プログラミング言語からバイナリ、中間又は他の形式にコンパイルされてもよい。或いは、ハードウェアの動作又は設計を記述するプログラム命令を書き込むことができる。このようなプログラム命令を、C等の高水準のプログラミング言語によって表すことができる。或いは、Verilog等のハードウェア設計言語(HDL)を使用することができる。様々な実施形態では、プログラム命令は、様々な非一時的なコンピュータ可読記憶媒体の何れかに記憶される。記憶媒体は、プログラム実行のためにプログラム命令をコンピューティングシステムに提供するために、使用中にコンピューティングシステムによってアクセス可能である。一般的に、このようなコンピューティングシステムは、少なくとも1つのメモリと、プログラム命令を実行することができる1つ以上のプロセッサと、を含む。
【0036】
上記の実施形態は、実装態様の非限定的な例に過ぎないことを強調しておきたい。上記の開示が十分に認識されると、当業者には多数の変形及び修正が明らかになるであろう。以下の特許請求の範囲は、このような変形及び修正の全てを包含すると解釈されることが意図されている。
図1
図2
図3
図4
図5
図6
図7
図8