JP2016506151A - 構成可能な通信制御装置 - Google Patents

構成可能な通信制御装置 Download PDF

Info

Publication number
JP2016506151A
JP2016506151A JP2015548127A JP2015548127A JP2016506151A JP 2016506151 A JP2016506151 A JP 2016506151A JP 2015548127 A JP2015548127 A JP 2015548127A JP 2015548127 A JP2015548127 A JP 2015548127A JP 2016506151 A JP2016506151 A JP 2016506151A
Authority
JP
Japan
Prior art keywords
pcie
rate
serial
output
parallel
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.)
Granted
Application number
JP2015548127A
Other languages
English (en)
Other versions
JP6378197B2 (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
Original Assignee
ATI Technologies ULC
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 filed Critical ATI Technologies ULC
Publication of JP2016506151A publication Critical patent/JP2016506151A/ja
Application granted granted Critical
Publication of JP6378197B2 publication Critical patent/JP6378197B2/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/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/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/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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)
  • Mathematical Physics (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

通信制御装置は、物理インタフェースと、内部送受信回路と、を含む。物理インタフェースは、通信媒体に接続するためのポートと、入力と、出力と、を有し、第1のデータビットのシーケンスを入力から受信して、第1のデータビットのシーケンスをポートに送信し、第2のデータビットのシーケンスをポートから受信して、前記第2のデータビットのシーケンスを出力に伝達するように動作する。内部送受信回路は、物理インタフェースに接続されており、第1の複数のシンボルを低周波モードにおける第1のレートで伝達し、第2の複数のシンボルを低遅延モードにおける第2のレートで伝達するための内部アーキテクチャを有しており、第1の複数は第2の複数よりも大きい数であり、第2のレートは第1のレートよりも高い。【選択図】図5

Description

(関連出願の相互参照)
本願は、2012年12月21日に出願された米国出願第13/723,960号の利益を主張し、その内容が参照により本明細書に組み込まれる。
本開示は、概して、通信制御装置に関し、より詳細には、構成可能な通信制御装置に関する。
様々な通信プロトコルは、通信媒体に接続された物理インタフェースをサポートし、プロトコルに従って動作する。例えば、PCI Express(PCIE)標準は、かかる通信用の特定のプロトコルを記述する。PCIE標準は、既存のPCIプログラミング概念を使用するPCI標準を拡張したものである。PCIE標準に従って、様々なPCIE互換リクエスタとPCIE互換システムのコンプリータ(completer)との間でパケットが転送される。周知のように、PCIE標準は、リンクを、2つのポートとそれらの相互接続レーンの集合として記述し、リンクは、2つの構成要素間のデュアルシンプレックス通信経路である。PCIE標準は、レーンを、1組の差動信号対(1対の送信用および1対の受信用)としてさらに記述し、N倍のリンクは、N個のレーンから構成されている。例えば、1秒あたり2.5ギガ転送(GT/秒)データレートで動作する16倍のリンクは、各方向において40ギガビット/秒のアグリゲートな生(raw)帯域幅を表す。PCIE標準は、1倍、2倍、4倍、8倍、12倍、16倍および32倍のリンクに対する動作を記述する。
PCIE標準は、8ビット(b)/10b符号化(8ビットを10ビットに符号化)を用いた10ビット量のシンボルと、128b/130b符号化(2ビットの同期ヘッダと128ビットのペイロード)を用いた8ビット量のシンボルとを記述する。また、PCIE標準は、シンボル時間を、シンボルをレーンに置くための期間(8b/10b符号化を使用する場合には単位間隔の10倍、128b/130b符号化を使用する場合には単位間隔の8倍)として記述する。さらに、PCIE標準は、単位間隔を、ソースクロックの全ての意図的な周波数変調を無視できるほど十分な長期の時間間隔に亘って、ビット当たりの時間間隔を平均することによって測定された値として記述する。
PCIE互換システムが各リンクを初期化すると、リンクは、サポートされたデータレートのうち1つのデータレートで動作する。PCIE1.0a標準は、生帯域幅の秒ごとに、レーンごとに、方向ごとに、2.5ギガビットの実効データレートを指定する。PCIE2.0標準は、生帯域幅の秒ごとに、レーンごとに、方向ごとに、5.0ギガビットの実効データレートを指定する。PCIE3.0標準は、生帯域幅の秒ごとに、レーンごとに、方向ごとに、8.0ギガビットの実効データレートを指定する。また、将来のPCIE4.0標準では、生帯域幅の秒ごとに、レーンごとに、方向ごとに、16.0ギガビットの実効データレートを指定すると予想される。PCIE標準の将来バージョンでは、指定されるデータレートが継続して向上すると考えられる。例えば、PCIE標準は、歴史的に、メジャーバージョンごと(通常、3〜4年ごと)にPCIE帯域幅を倍増してきた。
PCIE標準などの通信標準は、増加するデータレートを指定し続けるので、関連する通信制御装置の設計がますます困難になるであろう。
いくつかの実施形態による通信ファブリックを形成するブロック図である。 いくつかの実施形態によるコンピュータシステムを形成するブロック図である。 いくつかの実施形態による、図2のグラフィックスプロセッサを実装するのに使用され得るグラフィックスプロセッサを形成するブロック図である。 いくつかの実施形態による、図2のサウスブリッジを実装するのに使用され得るサウスブリッジを形成するブロック図である。 いくつかの実施形態による、図2のPCIE制御装置の何れかを実装するのに使用され得る通信制御装置を形成するブロック図である。 いくつかの実施形態による図5の通信制御装置の送信ブロックの動作の理解に有用なタイミング図である。 いくつかの実施形態による図5の通信制御装置の受信ブロックの動作の理解に有用なタイミング図である。 いくつかの実施形態による、図5の通信制御装置を構成するための方法のフロー図である。
以下の記述では、異なる図面における同一符号の使用は、同様または同一の項目を示している。特に断りのない限り、「結合された(coupled)」という用語およびその関連した動詞形態は、当該技術分野で周知の手段による直接的な電気接続および間接的な電気接続の両方を含み、特に断りのない限り、直接的な電気接続の任意の記述は、間接的な電気接続の適切な形態を用いた代替的な実施形態も意味する。
通信制御装置は、通常、クライアントインタフェースと物理インタフェースとの間に接続された、受信回路および送信回路を含む。通信制御装置は、通信媒体への接続用のポートを有し、データビットのシーケンスを用いてシンボルを形成するプロトコル(例えば、PCIE標準プロトコルなど)に従って動作する。PCIEシンボルは、8b/10b符号化方式または128b/130b符号化方式の何れかを用いて形成され得る。ポートは、例えば、最大で16のPCIEデータレーンを有するリンクに接続するが、最大のサポートされるリンク幅は、異なる実施形態で変わる。
いくつかの実施形態では、以下に開示する通信制御装置は、物理インタフェースの出力に接続された入力と、データビットのシーケンスに応じて、第1の複数のデータビットを低周波モードにおける第1のレートで提供し、第2の複数のデータビットを低遅延モードにおける第2のレートで提供するための出力と、を有する直並列変換器(deserializer)を含む。ここで、第1の複数は、第2の複数よりも大きな数であり、第2のレートは、第1のレートよりも高い。また、通信制御装置は、直並列変換器の出力に接続された入力を有する受信ブロックを有する。いくつかの実施形態では、通信制御装置は、入力と、複数シンボルのシーケンスを提供するための出力と、を有する送信ブロックを含む。通信制御装置は、送信ブロックの出力に接続された入力と、複数シンボルのシーケンスに応じて、第1の複数のデータビットを低周波モードにおける第1のレートで提供し、第2の複数のデータビットを低遅延モードにおける第2のレートで提供するための出力と、を有する並直列変換器(serializer)を含む。ここで、第1の複数は、第2の複数よりも大きな数であり、第2のレートは、第1のレートよりも高い。いくつかの実施形態では、通信制御装置は、低周波モードおよび低遅延モードの何れか一方を選択するための少なくとも1つのモードレジスタを有するリンク制御装置などの制御ブロックを含む。
従って、通信制御装置は、自身の内部アーキテクチャを動的に変更して、異なる設計制約のニーズについてより適切に対応できる。また、当初は1つの標準(PCIE3.0など)に対して設計された通信制御装置を、再設計することなく、新しく、より高速な標準(PCIE 4.0など)に対して容易に適合できる。
図1は、いくつかの実施形態による通信ファブリック100を形成するブロック図である。例えば、通信ファブリック100は、1組のPCIE互換構成要素を相互接続するポイントツーポイントリンクから構成されたPCIE互換ファブリックであってもよく、以下の説明では、通信ファブリック100をPCIEのコンテキストで説明する。いくつかの実施形態では、通信ファブリック100は、例えば、HyperTransport(HT)プロトコルなどの他の通信バスプロトコルに従って動作し得ることが理解されよう。通信ファブリック100は、概して、ルートコンプレックス110と、スイッチ120と、スイッチ130と、装置140と、リンク150と、リンク160と、リンク170と、を含む。スイッチ120,130の各々は、少なくとも1つのPCIブリッジ(図示せず)と、各々のリンクを介して、例えば、他のPCIE互換装置(図示せず)に接続するための追加のポートと、を含む。
ルートコンプレックス110は、スイッチ120の上流ポートに接続されたルート入力ポートおよびルート出力ポートの各々を有しており、スイッチ120は、スイッチ130の上流ポートに接続された下流ポートを有している。スイッチ130は、装置140の入力ポートおよび出力ポートに接続された下流ポートを有している。ルートコンプレックス110、スイッチ120、スイッチ130および装置140の各々は、リンク150,160,170のうち対応するものを介して、信号を伝達する。リンク150,160,170の各々は、ファブリック100の構成要素間でパケット内のデータビットを伝達するためのデュアル単方向(dual unidirectional)リンクであり、本明細書で開示する原理は、任意のサポートされるリンク幅に適用される。
動作中、PCIEハードウェアの初期化プロセス中に、通信ファブリック100(ルートコンプレックス110、スイッチ120,130および装置140)のエージェントは、動作のレーン幅およびリンク周波数(リンク速度)を「ネゴシエートする」ことにより、リンク150,160,170のパラメータを開始する。PCIEエージェント間で通信媒体と直接やりとりする層である物理層において、エージェントは、各エージェントのリンクデータレート能力と、リンク内でのレーン順序付けと、リンク幅と、多重レーンリンク内でレーンにわたってストライプ化されたパケットを組み立て直すためのレーンからレーンへの歪み補正と、を判断するためにリンクトレーニングを開始することによって、ネゴシエーションプロセスを開始する。PCIEエージェントは、リンクに沿った全てのエージェントが互いに通信する能力を有するように、各レーン上で2.5GT/秒のPCIE1.0aアーキテクチャデータレートで動作することによりトレーニングプロセスを開始する。例えば、装置140は、PCIEの「Ordered Set」トレーニングフィールドを他のPCIEエージェントに提供することにより、装置140のデータレート能力を提供する。
ネゴシエーションプロセスが完了したときに、リンク上のエージェントは、特定のPCIEエージェントに対応するためにデータレートを2.5GT/秒に保持するか否かを判断する。また、リンク上のエージェントは、PCIEの「Recovery state」に遷移して、データレートを、例えば、PCIE3.0の8.0GT/秒レート、または、予期されるPCIE4.0の16.0GT/秒レートに変更し得る。ネゴシエーションプロセス中、エージェントは、リンク数の値、および、有効なリンクの一部であるレーンごとのレーン数の値に同意する。
PCIEのリンク速度および幅のパラメータが確立されると、ルートコンプレックス110は、通常、リンク上でトランザクションを開始する。例えば、ルートコンプレックス110は、要求トランザクション層パケット(TLP)を装置140に送信するためのPCIE互換リクエスタとして動作することによって、プログラム化されたI/Oトランザクションを実行する。それに応じて、装置140は、PCIE互換コンプリータとして機能し、完了として知られる応答パケットを提供する。メモリトランザクションなどのいくつかのトランザクションごとに交互に、装置140は、PCIE互換リクエスタとして機能する能力を有し、ルートコンプレックス110は、PCIE互換コンプリータとして機能する能力を有する。
図2は、いくつかの実施形態によるコンピュータシステム200を形成するブロック図である。図2に示す例では、コンピュータシステム200は、プロセッサ可読命令を実行することが可能なPCIE互換コンピュータシステムである。コンピュータシステム200は、概して、中央処理装置(CPU)210と、「ノースブリッジ」220として知られるブリッジ制御装置と、グラフィックスプロセッサ230と、ディスプレイ240と、ダイナミックランダムアクセスメモリ(DRAM)250と、「サウスブリッジ」260として知られるブリッジ制御装置と、周辺機器のセット270(他の装置のセット272と、キーボード274と、ユニバーサルシリアルバスエージェント276と、フラッシュメモリ278と、を含む)と、を含む。グラフィックスプロセッサ230は、PCIE制御装置232を含み、サウスブリッジ260は、PCIE制御装置262を含む。
CPU210およびノースブリッジ220は、アドレス、データ、制御信号、割込み信号、例外信号などの様々な信号を伝達する。ノースブリッジ220は、グラフィックスプロセッサ230に接続されている。グラフィックスプロセッサ230は、視覚データをユーザーに提供するために、ディスプレイ240に接続されている。ノースブリッジ220は、DRAM250にも接続されている。
サウスブリッジ260およびノースブリッジ220は、例えば、電力管理信号のセットまたはPCIE制御装置262に関連した信号などのように、各ブリッジ220,260の動作状態に関する様々な信号を伝達する。PCIE制御装置262は、PCIEリンクを介して、特定のPCIE互換周辺機器270間のデータビットのストリームも伝達する。サウスブリッジ260は、通常、レガシー装置と通信するためのレガシーPCI制御装置(図示せず)を含む。
動作中、PCIE制御装置232およびPCIE制御装置262は、固有の要求を有する異なるPCIEエージェントとやりとりする。例えば、PCIE制御装置232は、並列処理技術および高帯域幅トランザクションを使用して、グラフィックスバーテックスおよびテクスチャをレンダリングするために使用されるPCIEリンクを介して、パケットを伝達する。これらのトランザクションは、必要とされるスループット(例えば、フレームレート)、画像品質(例えば、エイリアス除去)、他のグラフィックス回路との互換性(図示せず)、および、全体的な柔軟性(例えば、複数のディスプレイ240の駆動)のために効率化される。他の動作に対して、PCIE制御装置232は、低周波数および低遅延トランザクションの組み合わせを用いてコマンドを処理するために、PCIEリンクを介してパケットを伝導する。かかるトランザクションに対して、PCIE制御装置232は、グラフィックスプロセッサ230と、ノースブリッジ220と、CPU210と、DRAM250との間でデータを移動させる。例えば、CPU210は、グラフィックスプロセッサ230のリソースに対する低遅延アクセスを要求するアプリケーションを実行して、汎用コンピューティングを実行し、特定の動作でグラフィックスプロセッサ230をサポートする。PCIE制御装置232は、16レーンにネゴシエートされ得るPCIEインタフェース上で動作して、いくつかのデータを2.5GT/秒で伝達するが、ほとんどのデータについては8.0GT/秒で伝達し、近い将来には16.0GT/秒で伝達する。
図3は、いくつかの実施形態による図2のグラフィックスプロセッサ230を実装するために使用され得るグラフィックスプロセッサ300を形成するブロック図である。図3に示す例では、グラフィックスプロセッサ300は、単一チップのグラフィック処理装置(GPU)であり、概して、GPUコア310と、メモリ制御装置320と、ハブ330と、PCIEインタフェース340と、ディスプレイ制御装置350と、ディスプレイ制御装置360と、ユニバーサルビデオデコーダ370と、サイドポート380と、を含む。
GPUコア310は、対応するメモリバスに対する信号の複数のセットを伝達するために、メモリ制御装置320に接続されている。メモリ制御装置320は、外部メモリ(図示せず)に接続されている。ハブ330は、メモリ制御装置320と、GPUコア310と、PCIEインタフェース340と、ディスプレイ制御装置350,360と、ユニバーサルビデオデコーダ370と、サイドポート380と、を相互接続している。PCIEインタフェース340は、例えば、ノースブリッジ220とCPU210との間で、専用のPCI Expressリンクを介して、高帯域幅および低遅延データビットのストリームを伝達する。ディスプレイ制御装置350,360、ユニバーサルビデオデコーダ370およびサイドポート380の各々は、対応するバスを介して制御およびデータ信号のセットを伝達するために、各々の周辺機器(図示せず)の双方向ポートに接続された双方向ポートを有する。
動作中、GPU300は、いくつかの内部処理エンジンを使用して大量のグラフィックスデータを処理し、内部処理エンジンの各々は、PCIE制御装置340に対するクライアントとなり得る。高度にパイプライン化されているので、GPU300は、高度にパイプライン化されているので、遅延に対して過度に敏感ではないが、GPU300によって実行される特定の処理シナリオは、低遅延でデータにアクセスする必要のある場合がある。
図4は、いくつかの実施形態による図2のサウスブリッジ260を実装するために使用され得るサウスブリッジ400を形成するブロック図である。サウスブリッジ400は、概して、ホストブリッジ410と、PCIEルートポート420のセットと、ユニバーサルシリアルバス(USB)ポート422のセットと、シリアルアドバンスドテクノロジーアタッチメント(SATA)ポート424のセットと、内部バス440と、PCIブリッジ442と、システム管理バス(SMBUS)/電力制御インタフェース(ACPI)制御装置444と、低ピンカウント(LPC)制御装置446と、リアルタイムクロック(RTC)448と、バス制御装置460と、内部バス470と、周辺機能のセット480(タイマー482と、汎用入力/出力(GPIO)484と、読取り専用メモリ(ROM)制御装置486と、を含む)と、を含む。
ホストブリッジ410は、ノースブリッジ220に接続されたホスト側にポートを有する。ホストブリッジ410は、USBポート422と、SATAポート424と、PCIEルートポート420と、内部バス440と、にも接続されている。USBポート422は、USBバスを介して、USB周辺機器(図示せず)に接続することが可能である。SATAポート424は、SATAバスを介して、SATA周辺機器(図示せず)に接続することが可能である。PCIEルートポート420は、PCIEリンクを介して、対応するPCIE階層に信号を伝達する。
内部バス440は、ホストブリッジ410と、PCIブリッジ442と、SMBUS/ACPI制御装置444と、LPC制御装置446と、の間で信号を伝達する。PCIブリッジ442は、PCIバスを介してレガシーPCI周辺機器(図示せず)の双方向ポートに接続可能な双方向ポートを有する。LPC制御装置446は、LPCバスを介してLPC周辺機器(図示せず)の双方向ポートに接続可能な双方向ポートを有する。SMBUS/ACPI制御装置444は、RTC448およびバス制御装置460に接続されている。RTC448は、水晶発振器クロック信号を受信するための入力を有する。バス制御装置460は、内部バス470を介して、信号を周辺機能480の各々に伝達する。
動作中、サウスブリッジ400は、低速で汎用なコンピュータ周辺機器を備えたコンピュータシステム200の入力/出力、通信および音声機能を管理する。PCIEルートポート420は、図2のPCIE制御装置262の記載に従って動作することに留意されたい。図4に示す例では、コンピュータシステム200内の様々なクライアントは、それぞれ自身の要件を有しており、開始してPCIEアクセスに応答できることを示している。例えば、CPU210は、キャッシュまたはメモリシステムの何れにも存在していないが、PCIEファブリックに接続された装置に記憶されている命令の処理を継続する前に必要とされるデータを要求し得る。CPU210は、データを待って停止し得るので、必要とされるデータに低遅延でアクセスするのが好ましい。
図5は、いくつかの実施形態による図2のPCIE制御装置232,262の何れかを実装するために使用され得る通信制御装置500を形成するブロック図である。通信制御装置500は、概して、クライアントインタフェース510と、送信(TX)ブロック520と、「TXP」と付された並直列変換器530と、物理インタフェース540と、「PCIEリンク」と付された通信媒体550と、「RXP」と付された直並列変換器560と、受信ブロック(RX)570と、モードレジスタ582のセットを含むリンク制御装置(LC)580と、を含む。
クライアントインタフェース510は、クライアント(例えばグラフィックスプロセッサ230またはサウスブリッジ260内のクライアントなど)のポートへの接続用のポートを有する。クライアントインタフェース510は、256ビットデータバスを介して送信ブロック520にも接続されている。送信ブロック520は、256ビット送信データ信号のセットを提供するための出力と、制御信号のセットを受信するための入力と、を有する。並直列変換器530は、256ビット送信データ信号のセットを受信するための入力と、制御信号のセットを受信するための入力と、16ビット送信データ信号のセットを提供するための出力と、を有する。
物理インタフェース540は、16ビット送信データ信号のセットを並直列変換器530から受信するための入力と、制御信号のセットを受信するための入力と、16ビット受信データ信号のセットを提供するための出力と、データビットのセットを通信媒体550を介して伝達するためのポートと、を有する。物理インタフェース540は、ネゴシエートされたリンク速度および選択されたモードに基づき、クロック信号を様々なブロックに提供するための出力のセット(図5に示されていない)も有しており、それに関しては以下で説明する。
直並列変換器560は、16ビット受信データ信号のセットを物理インタフェース540から受信するための入力と、制御信号のセットを受信するための入力と、例えばPCIE順序付けされたセットおよび電気インジケータ(リンクの他方の端部上のPCIE装置がアイドルモードを終了しているという指示など)を含む特殊信号のセットを提供するための出力と、256ビット送信データ信号のセットを提供するための出力と、を有する。受信ブロック570は、制御信号のセットを受信するための入力、および256ビット受信データ信号のセットを直並列変換器560から受信するための入力と、を有しており、256ビットデータバスを介してクライアントインタフェース510に接続されている。
リンク制御装置580は、256ビット送信データ信号を送信ブロック520から受信するための入力と、特殊信号のセットを直並列変換器560から受信するための入力と、256ビット送信データ信号を並直列変換器530に提供するための出力と、制御信号をクライアントインタフェース510、送信ブロック520、並直列変換器530、物理インタフェース540、直並列変換器560および受信ブロック570に提供するための出力と、を有する。
通信制御装置500は、既存のPCIE標準と次世代の標準とを、構成後に再構成する必要なくサポートするように設計されている。図5に示す例では、PCIE制御装置500は、x1、x2、x4、x8、x12およびx16のPCIEリンク幅をサポートする。いくつかの実施形態では、本明細書に記載された原理に従って構築されたPCIE制御装置は、PCIE標準に記載されているような上述のリストに加えて、x32の幅またはx16未満の最大リンク幅を含む、異なる最大PCIEリンク幅をサポートできる。さらに、通信制御装置500は、256ビット幅の内部バスを含んでいるが、異なる実施形態では、異なる内部バスサイズを実装してもよい。PCIE標準の各リビジョンは、以下の表1にリストされた新たなアーキテクチャのバージョン(表1の第1列)を記述している。各PCIEリビジョンは、以前のバージョンよりも高いサポートデータレート(表1の第2列)を記述し、関連したデータ符号化方式(表1の第3列)をサポートデータレートで使用する。例えば、PCIE1.0aおよびPCIE2.0では、8b/10b符号化方式を使用するが、PCIE3.0および4.0では、128b/130b符号化方式を使用することに留意されたい。PCIEサポートデータレートが増加するごとに、送信ブロック520、並直列変換器530、物理インタフェース540、直並列変換器560および受信ブロック570などの機能回路の設計周波数目標が増加する場合には、これらの機能回路は、適切な内部タイミングを保証するために継続的な再設計が必要となるであろう。
低遅延モード(表1の第4列)では、通信制御装置500は、PCIEレーンごとにPCIEデータの1つのシンボルを、128ビット内部データバスを使用して、実際の動作周波数で処理する。このモードでは、通信制御装置500は、一度に少ないデータを処理するが、より高い処理レートで処理することにより待機時間を低減する。このようにして、通信制御装置500は、クライアントインタフェース510を介して、データをクライアントにより早く返すことができる。
低周波モード(表1の第5列)では、通信制御装置500は、PCIEレーンごとにPCIEデータの2つのシンボルを、拡張された256ビットの内部データバスを使用して、実装の動作周波数(低遅延モードで使用される周波数の半分の周波数)で処理する。
Figure 2016506151
通信制御装置500は、両方のモードを利用可能にすることにより、柔軟性を高める。上述した図2〜図4では、トランザクションの待機時間が重要となり得る様々なPCIEクライアント(例えば、サウスブリッジ260内のPCIEルートポート420にリクエスタが接続されているPCIEファブリックを介したバッファミストランザクション)を記述している。PCIEでは、待機時間は、PCIE互換リクエスタが要求パケットを提供したときから、PCIE互換コンプリータが肯定応答パケットを提供したときまでの時間で計算される。従って、待機時間は、PCIEファブリックのレベルの増加に伴って増加する。PCIE制御装置(230または262)の固定長内部パイプラインを介した待機時間は、クロックごとに2シンボルを処理する低周波モードで実行する場合に高くなり、この場合、クロックは、クロックごとに1シンボルを処理するパイプラインのレートの半分で実行している。または、待機時間がそれほど重要ではなく、(例えば、グラフィックスプロセッサ230に対して)節電により低周波のトランザクション処理がより好ましい、他のPCIEクライアントが存在する。
さらに、通信制御装置500は、低周波モードにおいてバス幅を拡張することにより、再設計の必要なく、新たに現れるPCIE4.0標準との互換性を確実にする。このようにして、通信制御装置500は、表1の第2列に示すデータレートの全てをサポートする機能を有する。例えば、通信制御装置500は、PCIE3.0の8.0GT/秒のデータレートに対して低遅延モードおよび低周波モードの両方をサポートして、コンピュータシステムが、クライアント、PCIEファブリック、および、構成要素を製造した技術の速度に適したモードを選択するのを可能にする。通信制御装置500は、PCIE4.0の16.0GT/秒のデータレートを、合理的な内部クロック周波数を有する拡張された内部バスサイズを使用して、低周波モードでサポートする。低周波モードで動作すると、通信制御装置500が、2.0GHz内部クロックレートで実行することなく、新たなPCIE4.0標準をサポートするのを可能にする。それは、いくつかの実施形態では、再設計なしで行うことができない。このようにして、通信制御装置500は、低PCIEレートに対する低遅延モードと、低周波モードを使用して再設計することなく、既に設計された回路ブロックの新たなPCIE4.0レートへの容易な移行と、を提供する。さらに、通信制御装置500は、動作環境に適合させるために、モードを動的に変更できる。
低周波モードの追加は、制御論理の小さな部分を二重にし、データ経路のサイズを2倍にすることによって、回路面積の小さな増加のみで実現できる。しかし、この追加された制御回路および拡張されたデータ経路幅に対する面積ペナルティは、より高い周波数をサポートするために要求され得る特定の回路に対する必要性(例えば、クロックリピータ、余分なバッファなど)を回避することによって、および、より高いクロックレートでのタイミングを満足するために必要な既存の回路マクロのサイズを増やす必要性を回避することによって、相殺される。
いくつかの実施形態では、モードレジスタ582は、利用可能なリンク速度ごとに、通信制御装置500に対する低周波モードまたは低遅延モードを選択する。いくつかの実施形態では、リンク制御装置580は、どのトランザクションもフライト中ではないリンクのアイドル時間中(例えば、レーンが電気的にアイドルである間のPCIEリカバリ速度状態中)に、モードを変更することができるが、他の実施形態では、リンク制御装置580は、モードをいつでも変更することができる。いくつかの実施形態では、他の低周波モードがサポートされ得る。例えば、通信制御装置500は、512ビットバスを用いてクロックサイクルごとに4シンボルまで拡張される低周波モードであって、低遅延モードで使用される速度の4分の1で動作する低周波モードをサポートし得る。
図6は、いくつかの実施形態による図5の通信制御装置500の送信ブロックの動作の理解に有用なタイミング図600である。横軸は、ナノ秒(ns)単位の時間を表し、縦軸は、様々な信号の振幅をボルト単位で表している。タイミング図600は、対象とする4つの波形のうち2セット(低遅延モードのセット610と、低周波モードのセット620)を示している。セット610は「IPコアクロック」と付されたクロックに対する波形612と、「TX_データ」と付された、送信ブロック520によって提供された送信データに対する波形614と、「残りのバイト」と付された波形616と、「TXP_データ」と付された、並直列変換器530によって受信された送信データの波形618と、を含む。セット620は、波形612,614,616,618内の同じ信号に対応する波形622,624,626,628を含む。横軸には、「t」および「t」と付された、対象とする2つの特定の時点が示されている。
動作中、低遅延モードでは、物理インタフェース540は、IPコアクロックを、特定の周波数(PCIE3.0データレートに対する1.0GHzクロックなど)で、通信制御装置500の構成要素に提供する。送信ブロック520は、データをクライアントインタフェース510から256ビットデータ経路を介して受信し、256データビットを2つのIPコアクロックサイクルごとにリンク制御装置580に提供する。いくつかの実施形態では、送信ブロック520は、256データビットをIPコアクロックサイクルごとにリンク制御装置580に提供し、当該データは、2つのIPコアクロックサイクルごとに256ビットの平均値に調整される。リンク制御装置580は、IPコアクロックサイクルごとに128データビット(レーンごとに1シンボル)を並直列変換器530に提供する。時間tの前に、リンク制御装置580は、並直列変換器530に提供するために残された32バイト×8=256ビットを有している。リンク制御装置580は、IPコアクロックの第1のサイクル中に、256データビットの下位128ビットを、拡張された256ビットバスの下位半分(ビット127:0)を介して並直列変換器530に提供し、IPコアクロックの第2のサイクル中に、256データビットの上位128ビットを、拡張された256ビットバスの下位半分(ビット127:0)を介して並直列変換器530に提供する。並直列変換器530は、IPコアクロックの各サイクルの128ビットのデータの総計を、例えば128b/130b符号化方式を用いて、8.0GT/秒のPCIE3.0データレートで16レーンの各々につき1ビットで出力する。
低周波モードでは、物理インタフェース540は、IPコアクロックを、低遅延モードに対する周波数の半分の周波数(例えばPCIE3.0データレートに対する500MHzなど)で通信制御装置500の構成要素に提供する。送信ブロック520は、データをクライアントインタフェース510から256ビットデータ経路を介して受信し、256データビットをリンク制御装置580にIPコアクロックサイクル(このモードでは500MHz)ごとに提供する。リンク制御装置580は、IPコアクロックサイクルごとに256データビット(2シンボル)を並直列変換器530に提供する。時間tの前に、リンク制御装置580は、並直列変換器530に提供するために残された32バイト×8=256ビットを有している。リンク制御装置580は、IPコアクロックのサイクルごとに、256データビットを、拡張された256ビットバスの両半部(ビット255:0)を介して並直列変換器530に提供する。並直列変換器530は、IPコアクロックの各サイクルの256ビットのデータの総計を、例えば128b/130b符号化方式を用いて、8.0GT/秒PCIE3.0データレートで16レーンの各々につき1ビットで出力する。通信制御装置500を通じた待機時間は、低遅延モードでは、低周波モードにおける長さの半分である。
図7は、いくつかの実施形態による図5の通信制御装置500の受信ブロックの動作の理解に有用なタイミング図700である。横軸は、ns単位の時間を表し、縦軸は、様々な信号の振幅をボルト単位で表している。タイミング図700は、対象とする4つの波形の2つのセット(低遅延モードのセット710と低周波モードのセット720)を示している。セット710は、「受信クロック」と付されたクロックに対する波形712と、IPコアクロックに対する波形714と、「RXP_入力」と付された、直並列変換器560によって収集された受信データに対する波形716と、「RXP_出力」と付された、直並列変換器560によって出力された受信データに対する波形718と、を含む。セット720は、波形622,624,626,628内の同じ信号に対応する波形722,724,726,728を含む。横軸には、tおよびtと付された、対象とする2つの特定の時点が示されている。
動作中、低遅延モード710では、物理インタフェース540は、受信クロックおよびIPコアクロックの両方を、例えばPCIE3.0データレートに対する1.0GHzなどの特定の周波数で、通信制御装置500の構成要素に提供する。直並列変換器560は、物理インタフェース540から各受信クロックサイクルの128ビットのデータの総計を、例えば128b/130b復号方式を用いて、8.0GT/秒PCIE3.0データレートで16レーンの各々につき1ビットで受信する。直並列変換器560は、各受信クロックサイクルで1つのシンボルを構築するが、2つのシンボルを時間tのあたりで、拡張された256ビット内部バスを用いて、IPコアクロックの2サイクルごとに受信ブロック570に転送し、そのプロセスをIPコアクロックのサイクルごと(例えば時間tのあたりなど)に繰り返す。データ有効信号は、受信ブロック570がデータを捕捉しようとしているのはIPコアクロック714のどのクロックエッジかを示すデータとともに送信される。
低周波モード720では、物理インタフェース540は、受信クロックおよびIPコアクロックを、PCIE3.0データレートに対する500MHzなどのように、低遅延モードに対する周波数の半分の周波数で通信制御装置500の構成要素に提供する。直並列変換器560は、物理インタフェース540から各受信クロックサイクルの256ビットのデータの総計を、例えば128b/130b復号方式を用いて、8.0GT/秒PCIE3.0データレートで16レーンの各々につき1ビットで受信する。直並列変換器560は、各受信クロックサイクルで2つのシンボルを構築し、同様に2つのシンボルを時間tのあたりで、拡張された256ビット内部バスを用いて、IPコアクロックのサイクルごとに受信ブロック570に転送し、そのプロセスをIPコアクロックのサイクルごと(例えば時間tのあたりなど)に繰り返す。直並列変換器560と受信ブロック570との間の転送は、同じ256ビットの拡張バスを用いて、半分のクロック周波数を用いることに留意されたい。
図8は、いくつかの実施形態による図5の通信制御装置500を構成するための方法800のフロー図である。動作ボックス810は、データビットのシーケンスを通信媒体から受信することを含む。動作ボックス820は、通信制御装置を低周波モードまたは低遅延モードで動作させるか否かを判断することを含む。動作ボックス830は、通信制御装置が低周波モードであるか否かを判断し、データビットのシーケンスの受信に応じて、第1の複数のデータビットを第1のレートで提供することを含む。動作ボックス840は、通信制御装置が低遅延モードであるか否かを判断し、データビットのシーケンスの受信に応じて、第2の複数のデータビットを第2のレートで提供することを含む。第1の複数は第2の複数よりも大きく、第2のレートは第1のレートよりも高い。
低周波モードにおける第1のレートでの第1の複数のデータビットと、低遅延モードにおける第2のレートでの第2の複数のデータビットとを並行してサポート(第1の複数は第2の複数よりも大きな数であり、第2のレートは第1のレートよりも高い)し、且つ、内部データ経路幅の一部または全部をさらに選択的に使用することによって、効率的な低遅延および低周波トランザクションが、例えば、グラフィックスプロセッサ、CPUおよびサウスブリッジの性能要求を満足する。また、例えば、PCIE3.0データレート環境内で動作するように設計された内部アーキテクチャ受信および送信回路は、PCIE4.0データレート環境でも問題なく動作できる。従って、通信制御装置500は、通信標準の向上し続ける機能を利用しながら、再設計の労力、電力消費、および、内部機能回路用のシリコン面積を大いに節約する。
図1〜図5の機能(例えば、通信制御装置232,262,420,500)は、ハードウェアおよびソフトウェアの様々な組合せで実装され得る。ソフトウェア構成要素のいくつかは、少なくとも1つのプロセッサによる実行のためにコンピュータ可読記憶媒体内に記憶され得る。さらに、図8に示す方法は、コンピュータ可読記憶媒体内に記憶された命令であって、少なくとも1つのプロセッサによって実行される命令によって制御され得る。図8に示す動作の各々は、持続性(non−transitory)コンピュータメモリまたはコンピュータ可読記憶媒体内に記憶された命令に対応し得る。様々な実施形態では、持続性コンピュータ可読記憶媒体は、磁気もしくは光ディスク記憶装置、フラッシュメモリなどのソリッドステート記憶装置、または、他の不揮発性メモリ装置もしくは複数の装置を含む。持続性コンピュータ可読記憶媒体上に記憶されたコンピュータ可読命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または、1つ以上のプロセッサによって解釈かつ/もしくは実行可能である他の命令形式であり得る。
さらに、図1〜図5の機能は、プログラムによって読み取ることができ、図1〜図5の回路と共に集積回路を製造するために、直接的もしくは間接的に使用可能なデータベースまたは他のデータ構造の形式で、コンピュータアクセス可能なデータ構造によって記述または表現され得る。例えば、このデータ構造は、VerilogまたはVHDLなどの高水準設計言語(HDL)におけるハードウェア機能の動作レベル記述またはレジスタ転送レベル(RTL)記述であり得る。記述は、合成ライブラリからのゲートのリストを含むネットリストを生成するために、記述を合成し得る合成ツールによって読み取られ得る。ネットリストは、図1〜図5の回路を有する集積回路を含むハードウェアの機能を表すゲートのセットを含む。ネットリストは、次いで、マスクに適用される幾何学形状を記述するデータセットを生成するために配置されてルーティングされ得る。マスクは、次いで、図1〜図5の集積回路を製造するために様々な半導体製造ステップで使用され得る。あるいは、コンピュータアクセス可能記憶媒体上のデータベースは、必要に応じて、ネットリスト(合成ライブラリの有無にかかわらず)もしくはデータセット、または、グラフィックデータシステム(GDS)IIデータであり得る。
特定の実施形態について説明してきたが、これらの実施形態に対する様々な修正が当業者には明らかであろう。例えば、図示した例では、コンピュータシステム200、グラフィックスプロセッサ300、サウスブリッジ400および通信制御装置500が、あるアーキテクチャを有するとして説明されているが、いくつかの実施形態では、各々は様々なアーキテクチャを有し得る。また、図示した例では、コンピュータシステム200、グラフィックスプロセッサ300、サウスブリッジ400および通信制御装置500は、PCIE標準のコンテキストで説明されるが、いくつかの実施形態では、各機能は、異なる通信プロトコルを記述する異なる標準のコンテキストで説明され得る。いくつかの実施形態では、コンピュータシステム200は、加速処理装置(APU)、デジタル信号プロセッサ(DSP)などの他のタイプの機能回路を含んでもよく、他のタイプの機能回路は、少なくとも1つの通信制御装置を含んでもよいし含まなくてもよい。また、図1〜図5の機能回路の各々は、単一の集積回路上で形成されてもよいし、複数の集積回路上で形成されてもよい。
したがって、開示した実施形態の範囲に含まれる、開示した実施形態の全ての修正を包含することが、添付の請求項によって意図される。
(関連出願の相互参照)
本願は、2012年12月21日に出願された米国出願第13/723,960号の利益を主張し、その内容が参照により本明細書に組み込まれる。
本開示は、概して、通信制御装置に関し、より詳細には、構成可能な通信制御装置に関する。
様々な通信プロトコルは、通信媒体に接続された物理インタフェースをサポートし、プロトコルに従って動作する。例えば、PCI Express(PCIE)標準は、かかる通信用の特定のプロトコルを記述する。PCIE標準は、既存のPCIプログラミング概念を使用するPCI標準を拡張したものである。PCIE標準に従って、様々なPCIE互換リクエスタとPCIE互換システムのコンプリータ(completer)との間でパケットが転送される。周知のように、PCIE標準は、リンクを、2つのポートとそれらの相互接続レーンの集合として記述し、リンクは、2つの構成要素間のデュアルシンプレックス通信経路である。PCIE標準は、レーンを、1組の差動信号対(1対の送信用および1対の受信用)としてさらに記述し、N倍のリンクは、N個のレーンから構成されている。例えば、1秒あたり2.5ギガ転送(GT/秒)データレートで動作する16倍のリンクは、各方向において40ギガビット/秒のアグリゲートな生(raw)帯域幅を表す。PCIE標準は、1倍、2倍、4倍、8倍、12倍、16倍および32倍のリンクに対する動作を記述する。
PCIE標準は、8ビット(b)/10b符号化(8ビットを10ビットに符号化)を用いた10ビット量のシンボルと、128b/130b符号化(2ビットの同期ヘッダと128ビットのペイロード)を用いた8ビット量のシンボルとを記述する。また、PCIE標準は、シンボル時間を、シンボルをレーンに置くための期間(8b/10b符号化を使用する場合には単位間隔の10倍、128b/130b符号化を使用する場合には単位間隔の8倍)として記述する。さらに、PCIE標準は、単位間隔を、ソースクロックの全ての意図的な周波数変調を無視できるほど十分な長期の時間間隔に亘って、ビット当たりの時間間隔を平均することによって測定された値として記述する。
PCIE互換システムが各リンクを初期化すると、リンクは、サポートされたデータレートのうち1つのデータレートで動作する。PCIE1.0a標準は、生帯域幅の秒ごとに、レーンごとに、方向ごとに、2.5ギガビットの実効データレートを指定する。PCIE2.0標準は、生帯域幅の秒ごとに、レーンごとに、方向ごとに、5.0ギガビットの実効データレートを指定する。PCIE3.0標準は、生帯域幅の秒ごとに、レーンごとに、方向ごとに、8.0ギガビットの実効データレートを指定する。また、将来のPCIE4.0標準では、生帯域幅の秒ごとに、レーンごとに、方向ごとに、16.0ギガビットの実効データレートを指定すると予想される。PCIE標準の将来バージョンでは、指定されるデータレートが継続して向上すると考えられる。例えば、PCIE標準は、歴史的に、メジャーバージョンごと(通常、3〜4年ごと)にPCIE帯域幅を倍増してきた。
PCIE標準などの通信標準は、増加するデータレートを指定し続けるので、関連する通信制御装置の設計がますます困難になるであろう。
いくつかの実施形態による通信ファブリックを形成するブロック図である。 いくつかの実施形態によるコンピュータシステムを形成するブロック図である。 いくつかの実施形態による、図2のグラフィックスプロセッサを実装するのに使用され得るグラフィックスプロセッサを形成するブロック図である。 いくつかの実施形態による、図2のサウスブリッジを実装するのに使用され得るサウスブリッジを形成するブロック図である。 いくつかの実施形態による、図2のPCIE制御装置の何れかを実装するのに使用され得る通信制御装置を形成するブロック図である。 いくつかの実施形態による図5の通信制御装置の送信ブロックの動作の理解に有用なタイミング図である。 いくつかの実施形態による図5の通信制御装置の受信ブロックの動作の理解に有用なタイミング図である。 いくつかの実施形態による、図5の通信制御装置を構成するための方法のフロー図である。
以下の記述では、異なる図面における同一符号の使用は、同様または同一の項目を示している。特に断りのない限り、「結合された(coupled)」という用語およびその関連した動詞形態は、当該技術分野で周知の手段による直接的な電気接続および間接的な電気接続の両方を含み、特に断りのない限り、直接的な電気接続の任意の記述は、間接的な電気接続の適切な形態を用いた代替的な実施形態も意味する。
通信制御装置は、通常、クライアントインタフェースと物理インタフェースとの間に接続された、受信回路および送信回路を含む。通信制御装置は、通信媒体への接続用のポートを有し、データビットのシーケンスを用いてシンボルを形成するプロトコル(例えば、PCIE標準プロトコルなど)に従って動作する。PCIEシンボルは、8b/10b符号化方式または128b/130b符号化方式の何れかを用いて形成され得る。ポートは、例えば、最大で16のPCIEデータレーンを有するリンクに接続するが、最大のサポートされるリンク幅は、異なる実施形態で変わる。
いくつかの実施形態では、以下に開示する通信制御装置は、物理インタフェースの出力に接続された入力と、データビットのシーケンスに応じて、第1の複数のデータビットを低周波モードにおける第1のレートで提供し、第2の複数のデータビットを低遅延モードにおける第2のレートで提供するための出力と、を有する直並列変換器(deserializer)を含む。ここで、第1の複数は、第2の複数よりも大きな数であり、第2のレートは、第1のレートよりも高い。また、通信制御装置は、直並列変換器の出力に接続された入力を有する受信ブロックを有する。いくつかの実施形態では、通信制御装置は、入力と、複数シンボルのシーケンスを提供するための出力と、を有する送信ブロックを含む。通信制御装置は、送信ブロックの出力に接続された入力と、複数シンボルのシーケンスに応じて、第1の複数のデータビットを低周波モードにおける第1のレートで提供し、第2の複数のデータビットを低遅延モードにおける第2のレートで提供するための出力と、を有する並直列変換器(serializer)を含む。ここで、第1の複数は、第2の複数よりも大きな数であり、第2のレートは、第1のレートよりも高い。いくつかの実施形態では、通信制御装置は、低周波モードおよび低遅延モードの何れか一方を選択するための少なくとも1つのモードレジスタを有するリンク制御装置などの制御ブロックを含む。
従って、通信制御装置は、自身の内部アーキテクチャを動的に変更して、異なる設計制約のニーズについてより適切に対応できる。また、当初は1つの標準(PCIE3.0など)に対して設計された通信制御装置を、再設計することなく、新しく、より高速な標準(PCIE 4.0など)に対して容易に適合できる。
図1は、いくつかの実施形態による通信ファブリック100を形成するブロック図である。例えば、通信ファブリック100は、1組のPCIE互換構成要素を相互接続するポイントツーポイントリンクから構成されたPCIE互換ファブリックであってもよく、以下の説明では、通信ファブリック100をPCIEのコンテキストで説明する。いくつかの実施形態では、通信ファブリック100は、例えば、HyperTransport(HT)プロトコルなどの他の通信バスプロトコルに従って動作し得ることが理解されよう。通信ファブリック100は、概して、ルートコンプレックス110と、スイッチ120と、スイッチ130と、装置140と、リンク150と、リンク160と、リンク170と、を含む。スイッチ120,130の各々は、少なくとも1つのPCIブリッジ(図示せず)と、各々のリンクを介して、例えば、他のPCIE互換装置(図示せず)に接続するための追加のポートと、を含む。
ルートコンプレックス110は、スイッチ120の上流ポートに接続されたルート入力ポートおよびルート出力ポートの各々を有しており、スイッチ120は、スイッチ130の上流ポートに接続された下流ポートを有している。スイッチ130は、装置140の入力ポートおよび出力ポートに接続された下流ポートを有している。ルートコンプレックス110、スイッチ120、スイッチ130および装置140の各々は、リンク150,160,170のうち対応するものを介して、信号を伝達する。リンク150,160,170の各々は、ファブリック100の構成要素間でパケット内のデータビットを伝達するためのデュアル単方向(dual unidirectional)リンクであり、本明細書で開示する原理は、任意のサポートされるリンク幅に適用される。
動作中、PCIEハードウェアの初期化プロセス中に、通信ファブリック100(ルートコンプレックス110、スイッチ120,130および装置140)のエージェントは、動作のレーン幅およびリンク周波数(リンク速度)を「ネゴシエートする」ことにより、リンク150,160,170のパラメータを開始する。PCIEエージェント間で通信媒体と直接やりとりする層である物理層において、エージェントは、各エージェントのリンクデータレート能力と、リンク内でのレーン順序付けと、リンク幅と、多重レーンリンク内でレーンにわたってストライプ化されたパケットを組み立て直すためのレーンからレーンへの歪み補正と、を判断するためにリンクトレーニングを開始することによって、ネゴシエーションプロセスを開始する。PCIEエージェントは、リンクに沿った全てのエージェントが互いに通信する能力を有するように、各レーン上で2.5GT/秒のPCIE1.0aアーキテクチャデータレートで動作することによりトレーニングプロセスを開始する。例えば、装置140は、PCIEの「Ordered Set」トレーニングフィールドを他のPCIEエージェントに提供することにより、装置140のデータレート能力を提供する。
ネゴシエーションプロセスが完了したときに、リンク上のエージェントは、特定のPCIEエージェントに対応するためにデータレートを2.5GT/秒に保持するか否かを判断する。また、リンク上のエージェントは、PCIEの「Recovery state」に遷移して、データレートを、例えば、PCIE3.0の8.0GT/秒レート、または、予期されるPCIE4.0の16.0GT/秒レートに変更し得る。ネゴシエーションプロセス中、エージェントは、リンク数の値、および、有効なリンクの一部であるレーンごとのレーン数の値に同意する。
PCIEのリンク速度および幅のパラメータが確立されると、ルートコンプレックス110は、通常、リンク上でトランザクションを開始する。例えば、ルートコンプレックス110は、要求トランザクション層パケット(TLP)を装置140に送信するためのPCIE互換リクエスタとして動作することによって、プログラム化されたI/Oトランザクションを実行する。それに応じて、装置140は、PCIE互換コンプリータとして機能し、完了として知られる応答パケットを提供する。メモリトランザクションなどのいくつかのトランザクションごとに交互に、装置140は、PCIE互換リクエスタとして機能する能力を有し、ルートコンプレックス110は、PCIE互換コンプリータとして機能する能力を有する。
図2は、いくつかの実施形態によるコンピュータシステム200を形成するブロック図である。図2に示す例では、コンピュータシステム200は、プロセッサ可読命令を実行することが可能なPCIE互換コンピュータシステムである。コンピュータシステム200は、概して、中央処理装置(CPU)210と、「ノースブリッジ」220として知られるブリッジ制御装置と、グラフィックスプロセッサ230と、ディスプレイ240と、ダイナミックランダムアクセスメモリ(DRAM)250と、「サウスブリッジ」260として知られるブリッジ制御装置と、周辺機器のセット270(他の装置のセット272と、キーボード274と、ユニバーサルシリアルバスエージェント276と、フラッシュメモリ278と、を含む)と、を含む。グラフィックスプロセッサ230は、PCIE制御装置232を含み、サウスブリッジ260は、PCIE制御装置262を含む。
CPU210およびノースブリッジ220は、アドレス、データ、制御信号、割込み信号、例外信号などの様々な信号を伝達する。ノースブリッジ220は、グラフィックスプロセッサ230に接続されている。グラフィックスプロセッサ230は、視覚データをユーザーに提供するために、ディスプレイ240に接続されている。ノースブリッジ220は、DRAM250にも接続されている。
サウスブリッジ260およびノースブリッジ220は、例えば、電力管理信号のセットまたはPCIE制御装置262に関連した信号などのように、各ブリッジ220,260の動作状態に関する様々な信号を伝達する。PCIE制御装置262は、PCIEリンクを介して、特定のPCIE互換周辺機器270間のデータビットのストリームも伝達する。サウスブリッジ260は、通常、レガシー装置と通信するためのレガシーPCI制御装置(図示せず)を含む。
動作中、PCIE制御装置232およびPCIE制御装置262は、固有の要求を有する異なるPCIEエージェントとやりとりする。例えば、PCIE制御装置232は、並列処理技術および高帯域幅トランザクションを使用して、グラフィックスバーテックスおよびテクスチャをレンダリングするために使用されるPCIEリンクを介して、パケットを伝達する。これらのトランザクションは、必要とされるスループット(例えば、フレームレート)、画像品質(例えば、エイリアス除去)、他のグラフィックス回路との互換性(図示せず)、および、全体的な柔軟性(例えば、複数のディスプレイ240の駆動)のために効率化される。他の動作に対して、PCIE制御装置232は、低周波数および低遅延トランザクションの組み合わせを用いてコマンドを処理するために、PCIEリンクを介してパケットを伝導する。かかるトランザクションに対して、PCIE制御装置232は、グラフィックスプロセッサ230と、ノースブリッジ220と、CPU210と、DRAM250との間でデータを移動させる。例えば、CPU210は、グラフィックスプロセッサ230のリソースに対する低遅延アクセスを要求するアプリケーションを実行して、汎用コンピューティングを実行し、特定の動作でグラフィックスプロセッサ230をサポートする。PCIE制御装置232は、16レーンにネゴシエートされ得るPCIEインタフェース上で動作して、いくつかのデータを2.5GT/秒で伝達するが、ほとんどのデータについては8.0GT/秒で伝達し、近い将来には16.0GT/秒で伝達する。
図3は、いくつかの実施形態による図2のグラフィックスプロセッサ230を実装するために使用され得るグラフィックスプロセッサ300を形成するブロック図である。図3に示す例では、グラフィックスプロセッサ300は、単一チップのグラフィック処理装置(GPU)であり、概して、GPUコア310と、メモリ制御装置320と、ハブ330と、PCIEインタフェース340と、ディスプレイ制御装置350と、ディスプレイ制御装置360と、ユニバーサルビデオデコーダ370と、サイドポート380と、を含む。
GPUコア310は、対応するメモリバスに対する信号の複数のセットを伝達するために、メモリ制御装置320に接続されている。メモリ制御装置320は、外部メモリ(図示せず)に接続されている。ハブ330は、メモリ制御装置320と、GPUコア310と、PCIEインタフェース340と、ディスプレイ制御装置350,360と、ユニバーサルビデオデコーダ370と、サイドポート380と、を相互接続している。PCIEインタフェース340は、例えば、ノースブリッジ220とCPU210との間で、専用のPCI Expressリンクを介して、高帯域幅および低遅延データビットのストリームを伝達する。ディスプレイ制御装置350,360、ユニバーサルビデオデコーダ370およびサイドポート380の各々は、対応するバスを介して制御およびデータ信号のセットを伝達するために、各々の周辺機器(図示せず)の双方向ポートに接続された双方向ポートを有する。
動作中、GPU300は、いくつかの内部処理エンジンを使用して大量のグラフィックスデータを処理し、内部処理エンジンの各々は、PCIE制御装置340に対するクライアントとなり得る。高度にパイプライン化されているので、GPU300は、高度にパイプライン化されているので、遅延に対して過度に敏感ではないが、GPU300によって実行される特定の処理シナリオは、低遅延でデータにアクセスする必要のある場合がある。
図4は、いくつかの実施形態による図2のサウスブリッジ260を実装するために使用され得るサウスブリッジ400を形成するブロック図である。サウスブリッジ400は、概して、ホストブリッジ410と、PCIEルートポート420のセットと、ユニバーサルシリアルバス(USB)ポート422のセットと、シリアルアドバンスドテクノロジーアタッチメント(SATA)ポート424のセットと、内部バス440と、PCIブリッジ442と、システム管理バス(SMBUS)/電力制御インタフェース(ACPI)制御装置444と、低ピンカウント(LPC)制御装置446と、リアルタイムクロック(RTC)448と、バス制御装置460と、内部バス470と、周辺機能のセット480(タイマー482と、汎用入力/出力(GPIO)484と、読取り専用メモリ(ROM)制御装置486と、を含む)と、を含む。
ホストブリッジ410は、ノースブリッジ220に接続されたホスト側にポートを有する。ホストブリッジ410は、USBポート422と、SATAポート424と、PCIEルートポート420と、内部バス440と、にも接続されている。USBポート422は、USBバスを介して、USB周辺機器(図示せず)に接続することが可能である。SATAポート424は、SATAバスを介して、SATA周辺機器(図示せず)に接続することが可能である。PCIEルートポート420は、PCIEリンクを介して、対応するPCIE階層に信号を伝達する。
内部バス440は、ホストブリッジ410と、PCIブリッジ442と、SMBUS/ACPI制御装置444と、LPC制御装置446と、の間で信号を伝達する。PCIブリッジ442は、PCIバスを介してレガシーPCI周辺機器(図示せず)の双方向ポートに接続可能な双方向ポートを有する。LPC制御装置446は、LPCバスを介してLPC周辺機器(図示せず)の双方向ポートに接続可能な双方向ポートを有する。SMBUS/ACPI制御装置444は、RTC448およびバス制御装置460に接続されている。RTC448は、水晶発振器クロック信号を受信するための入力を有する。バス制御装置460は、内部バス470を介して、信号を周辺機能480の各々に伝達する。
動作中、サウスブリッジ400は、低速で汎用なコンピュータ周辺機器を備えたコンピュータシステム200の入力/出力、通信および音声機能を管理する。PCIEルートポート420は、図2のPCIE制御装置262の記載に従って動作することに留意されたい。図4に示す例では、コンピュータシステム200内の様々なクライアントは、それぞれ自身の要件を有しており、開始してPCIEアクセスに応答できることを示している。例えば、CPU210は、キャッシュまたはメモリシステムの何れにも存在していないが、PCIEファブリックに接続された装置に記憶されている命令の処理を継続する前に必要とされるデータを要求し得る。CPU210は、データを待って停止し得るので、必要とされるデータに低遅延でアクセスするのが好ましい。
図5は、いくつかの実施形態による図2のPCIE制御装置232,262の何れかを実装するために使用され得る通信制御装置500を形成するブロック図である。通信制御装置500は、概して、クライアントインタフェース510と、送信(TX)ブロック520と、「TXP」と付された並直列変換器530と、物理インタフェース540と、「PCIEリンク」と付された通信媒体550と、「RXP」と付された直並列変換器560と、受信ブロック(RX)570と、モードレジスタ582のセットを含むリンク制御装置(LC)580と、を含む。
クライアントインタフェース510は、クライアント(例えばグラフィックスプロセッサ230またはサウスブリッジ260内のクライアントなど)のポートへの接続用のポートを有する。クライアントインタフェース510は、256ビットデータバスを介して送信ブロック520にも接続されている。送信ブロック520は、256ビット送信データ信号のセットを提供するための出力と、制御信号のセットを受信するための入力と、を有する。並直列変換器530は、256ビット送信データ信号のセットを受信するための入力と、制御信号のセットを受信するための入力と、16ビット送信データ信号のセットを提供するための出力と、を有する。
物理インタフェース540は、16ビット送信データ信号のセットを並直列変換器530から受信するための入力と、制御信号のセットを受信するための入力と、16ビット受信データ信号のセットを提供するための出力と、データビットのセットを通信媒体550を介して伝達するためのポートと、を有する。物理インタフェース540は、ネゴシエートされたリンク速度および選択されたモードに基づき、クロック信号を様々なブロックに提供するための出力のセット(図5に示されていない)も有しており、それに関しては以下で説明する。
直並列変換器560は、16ビット受信データ信号のセットを物理インタフェース540から受信するための入力と、制御信号のセットを受信するための入力と、例えばPCIE順序付けされたセットおよび電気インジケータ(リンクの他方の端部上のPCIE装置がアイドルモードを終了しているという指示など)を含む特殊信号のセットを提供するための出力と、256ビット送信データ信号のセットを提供するための出力と、を有する。受信ブロック570は、制御信号のセットを受信するための入力、および256ビット受信データ信号のセットを直並列変換器560から受信するための入力と、を有しており、256ビットデータバスを介してクライアントインタフェース510に接続されている。
リンク制御装置580は、256ビット送信データ信号を送信ブロック520から受信するための入力と、特殊信号のセットを直並列変換器560から受信するための入力と、256ビット送信データ信号を並直列変換器530に提供するための出力と、制御信号をクライアントインタフェース510、送信ブロック520、並直列変換器530、物理インタフェース540、直並列変換器560および受信ブロック570に提供するための出力と、を有する。
通信制御装置500は、既存のPCIE標準と次世代の標準とを、構成後に再構成する必要なくサポートするように設計されている。図5に示す例では、PCIE制御装置500は、x1、x2、x4、x8、x12およびx16のPCIEリンク幅をサポートする。いくつかの実施形態では、本明細書に記載された原理に従って構築されたPCIE制御装置は、PCIE標準に記載されているような上述のリストに加えて、x32の幅またはx16未満の最大リンク幅を含む、異なる最大PCIEリンク幅をサポートできる。さらに、通信制御装置500は、256ビット幅の内部バスを含んでいるが、異なる実施形態では、異なる内部バスサイズを実装してもよい。PCIE標準の各リビジョンは、以下の表1にリストされた新たなアーキテクチャのバージョン(表1の第1列)を記述している。各PCIEリビジョンは、以前のバージョンよりも高いサポートデータレート(表1の第2列)を記述し、関連したデータ符号化方式(表1の第3列)をサポートデータレートで使用する。例えば、PCIE1.0aおよびPCIE2.0では、8b/10b符号化方式を使用するが、PCIE3.0および4.0では、128b/130b符号化方式を使用することに留意されたい。PCIEサポートデータレートが増加するごとに、送信ブロック520、並直列変換器530、物理インタフェース540、直並列変換器560および受信ブロック570などの機能回路の設計周波数目標が増加する場合には、これらの機能回路は、適切な内部タイミングを保証するために継続的な再設計が必要となるであろう。
低遅延モード(表1の第4列)では、通信制御装置500は、PCIEレーンごとにPCIEデータの1つのシンボルを、128ビット内部データバスを使用して、実際の動作周波数で処理する。このモードでは、通信制御装置500は、一度に少ないデータを処理するが、より高い処理レートで処理することにより待機時間を低減する。このようにして、通信制御装置500は、クライアントインタフェース510を介して、データをクライアントにより早く返すことができる。
低周波モード(表1の第5列)では、通信制御装置500は、PCIEレーンごとにPCIEデータの2つのシンボルを、拡張された256ビットの内部データバスを使用して、実装の動作周波数(低遅延モードで使用される周波数の半分の周波数)で処理する。
Figure 2016506151
通信制御装置500は、両方のモードを利用可能にすることにより、柔軟性を高める。上述した図2〜図4では、トランザクションの待機時間が重要となり得る様々なPCIEクライアント(例えば、サウスブリッジ260内のPCIEルートポート420にリクエスタが接続されているPCIEファブリックを介したバッファミストランザクション)を記述している。PCIEでは、待機時間は、PCIE互換リクエスタが要求パケットを提供したときから、PCIE互換コンプリータが肯定応答パケットを提供したときまでの時間で計算される。従って、待機時間は、PCIEファブリックのレベルの増加に伴って増加する。PCIE制御装置(230または262)の固定長内部パイプラインを介した待機時間は、クロックごとに2シンボルを処理する低周波モードで実行する場合に高くなり、この場合、クロックは、クロックごとに1シンボルを処理するパイプラインのレートの半分で実行している。または、待機時間がそれほど重要ではなく、(例えば、グラフィックスプロセッサ230に対して)節電により低周波のトランザクション処理がより好ましい、他のPCIEクライアントが存在する。
さらに、通信制御装置500は、低周波モードにおいてバス幅を拡張することにより、再設計の必要なく、新たに現れるPCIE4.0標準との互換性を確実にする。このようにして、通信制御装置500は、表1の第2列に示すデータレートの全てをサポートする機能を有する。例えば、通信制御装置500は、PCIE3.0の8.0GT/秒のデータレートに対して低遅延モードおよび低周波モードの両方をサポートして、コンピュータシステムが、クライアント、PCIEファブリック、および、構成要素を製造した技術の速度に適したモードを選択するのを可能にする。通信制御装置500は、PCIE4.0の16.0GT/秒のデータレートを、合理的な内部クロック周波数を有する拡張された内部バスサイズを使用して、低周波モードでサポートする。低周波モードで動作すると、通信制御装置500が、2.0GHz内部クロックレートで実行することなく、新たなPCIE4.0標準をサポートするのを可能にする。それは、いくつかの実施形態では、再設計なしで行うことができない。このようにして、通信制御装置500は、低PCIEレートに対する低遅延モードと、低周波モードを使用して再設計することなく、既に設計された回路ブロックの新たなPCIE4.0レートへの容易な移行と、を提供する。さらに、通信制御装置500は、動作環境に適合させるために、モードを動的に変更できる。
低周波モードの追加は、制御論理の小さな部分を二重にし、データ経路のサイズを2倍にすることによって、回路面積の小さな増加のみで実現できる。しかし、この追加された制御回路および拡張されたデータ経路幅に対する面積ペナルティは、より高い周波数をサポートするために要求され得る特定の回路に対する必要性(例えば、クロックリピータ、余分なバッファなど)を回避することによって、および、より高いクロックレートでのタイミングを満足するために必要な既存の回路マクロのサイズを増やす必要性を回避することによって、相殺される。
いくつかの実施形態では、モードレジスタ582は、利用可能なリンク速度ごとに、通信制御装置500に対する低周波モードまたは低遅延モードを選択する。いくつかの実施形態では、リンク制御装置580は、どのトランザクションもフライト中ではないリンクのアイドル時間中(例えば、レーンが電気的にアイドルである間のPCIEリカバリ速度状態中)に、モードを変更することができるが、他の実施形態では、リンク制御装置580は、モードをいつでも変更することができる。いくつかの実施形態では、他の低周波モードがサポートされ得る。例えば、通信制御装置500は、512ビットバスを用いてクロックサイクルごとに4シンボルまで拡張される低周波モードであって、低遅延モードで使用される速度の4分の1で動作する低周波モードをサポートし得る。
図6は、いくつかの実施形態による図5の通信制御装置500の送信ブロックの動作の理解に有用なタイミング図600である。横軸は、ナノ秒(ns)単位の時間を表し、縦軸は、様々な信号の振幅をボルト単位で表している。タイミング図600は、対象とする4つの波形のうち2セット(低遅延モードのセット610と、低周波モードのセット620)を示している。セット610は「IPコアクロック」と付されたクロックに対する波形612と、「TX_データ」と付された、送信ブロック520によって提供された送信データに対する波形614と、「残りのバイト」と付された波形616と、「TXP_データ」と付された、並直列変換器530によって受信された送信データの波形618と、を含む。セット620は、波形612,614,616,618内の同じ信号に対応する波形622,624,626,628を含む。横軸には、「t」および「t」と付された、対象とする2つの特定の時点が示されている。
動作中、低遅延モードでは、物理インタフェース540は、IPコアクロックを、特定の周波数(PCIE3.0データレートに対する1.0GHzクロックなど)で、通信制御装置500の構成要素に提供する。送信ブロック520は、データをクライアントインタフェース510から256ビットデータ経路を介して受信し、256データビットを2つのIPコアクロックサイクルごとにリンク制御装置580に提供する。いくつかの実施形態では、送信ブロック520は、256データビットをIPコアクロックサイクルごとにリンク制御装置580に提供し、当該データは、2つのIPコアクロックサイクルごとに256ビットの平均値に調整される。リンク制御装置580は、IPコアクロックサイクルごとに128データビット(レーンごとに1シンボル)を並直列変換器530に提供する。時間tの前に、リンク制御装置580は、並直列変換器530に提供するために残された32バイト×8=256ビットを有している。リンク制御装置580は、IPコアクロックの第1のサイクル中に、256データビットの下位128ビットを、拡張された256ビットバスの下位半分(ビット127:0)を介して並直列変換器530に提供し、IPコアクロックの第2のサイクル中に、256データビットの上位128ビットを、拡張された256ビットバスの下位半分(ビット127:0)を介して並直列変換器530に提供する。並直列変換器530は、IPコアクロックの各サイクルの128ビットのデータの総計を、例えば128b/130b符号化方式を用いて、8.0GT/秒のPCIE3.0データレートで16レーンの各々につき1ビットで出力する。
低周波モードでは、物理インタフェース540は、IPコアクロックを、低遅延モードに対する周波数の半分の周波数(例えばPCIE3.0データレートに対する500MHzなど)で通信制御装置500の構成要素に提供する。送信ブロック520は、データをクライアントインタフェース510から256ビットデータ経路を介して受信し、256データビットをリンク制御装置580にIPコアクロックサイクル(このモードでは500MHz)ごとに提供する。リンク制御装置580は、IPコアクロックサイクルごとに256データビット(2シンボル)を並直列変換器530に提供する。時間tの前に、リンク制御装置580は、並直列変換器530に提供するために残された32バイト×8=256ビットを有している。リンク制御装置580は、IPコアクロックのサイクルごとに、256データビットを、拡張された256ビットバスの両半部(ビット255:0)を介して並直列変換器530に提供する。並直列変換器530は、IPコアクロックの各サイクルの256ビットのデータの総計を、例えば128b/130b符号化方式を用いて、8.0GT/秒PCIE3.0データレートで16レーンの各々につき1ビットで出力する。通信制御装置500を通じた待機時間は、低遅延モードでは、低周波モードにおける長さの半分である。
図7は、いくつかの実施形態による図5の通信制御装置500の受信ブロックの動作の理解に有用なタイミング図700である。横軸は、ns単位の時間を表し、縦軸は、様々な信号の振幅をボルト単位で表している。タイミング図700は、対象とする4つの波形の2つのセット(低遅延モードのセット710と低周波モードのセット720)を示している。セット710は、「受信クロック」と付されたクロックに対する波形712と、IPコアクロックに対する波形714と、「RXP_入力」と付された、直並列変換器560によって収集された受信データに対する波形716と、「RXP_出力」と付された、直並列変換器560によって出力された受信データに対する波形718と、を含む。セット720は、波形622,624,626,628内の同じ信号に対応する波形722,724,726,728を含む。横軸には、tおよびtと付された、対象とする2つの特定の時点が示されている。
動作中、低遅延モード710では、物理インタフェース540は、受信クロックおよびIPコアクロックの両方を、例えばPCIE3.0データレートに対する1.0GHzなどの特定の周波数で、通信制御装置500の構成要素に提供する。直並列変換器560は、物理インタフェース540から各受信クロックサイクルの128ビットのデータの総計を、例えば128b/130b復号方式を用いて、8.0GT/秒PCIE3.0データレートで16レーンの各々につき1ビットで受信する。直並列変換器560は、各受信クロックサイクルで1つのシンボルを構築するが、2つのシンボルを時間tのあたりで、拡張された256ビット内部バスを用いて、IPコアクロックの2サイクルごとに受信ブロック570に転送し、そのプロセスをIPコアクロックのサイクルごと(例えば時間tのあたりなど)に繰り返す。データ有効信号は、受信ブロック570がデータを捕捉しようとしているのはIPコアクロック714のどのクロックエッジかを示すデータとともに送信される。
低周波モード720では、物理インタフェース540は、受信クロックおよびIPコアクロックを、PCIE3.0データレートに対する500MHzなどのように、低遅延モードに対する周波数の半分の周波数で通信制御装置500の構成要素に提供する。直並列変換器560は、物理インタフェース540から各受信クロックサイクルの256ビットのデータの総計を、例えば128b/130b復号方式を用いて、8.0GT/秒PCIE3.0データレートで16レーンの各々につき1ビットで受信する。直並列変換器560は、各受信クロックサイクルで2つのシンボルを構築し、同様に2つのシンボルを時間tのあたりで、拡張された256ビット内部バスを用いて、IPコアクロックのサイクルごとに受信ブロック570に転送し、そのプロセスをIPコアクロックのサイクルごと(例えば時間tのあたりなど)に繰り返す。直並列変換器560と受信ブロック570との間の転送は、同じ256ビットの拡張バスを用いて、半分のクロック周波数を用いることに留意されたい。
図8は、いくつかの実施形態による図5の通信制御装置500を構成するための方法800のフロー図である。動作ボックス810は、データビットのシーケンスを通信媒体から受信することを含む。動作ボックス820は、通信制御装置を低周波モードまたは低遅延モードで動作させるか否かを判断することを含む。動作ボックス830は、通信制御装置が低周波モードであるか否かを判断し、データビットのシーケンスの受信に応じて、第1の複数のデータビットを第1のレートで提供することを含む。動作ボックス840は、通信制御装置が低遅延モードであるか否かを判断し、データビットのシーケンスの受信に応じて、第2の複数のデータビットを第2のレートで提供することを含む。第1の複数は第2の複数よりも大きく、第2のレートは第1のレートよりも高い。
低周波モードにおける第1のレートでの第1の複数のデータビットと、低遅延モードにおける第2のレートでの第2の複数のデータビットとを並行してサポート(第1の複数は第2の複数よりも大きな数であり、第2のレートは第1のレートよりも高い)し、且つ、内部データ経路幅の一部または全部をさらに選択的に使用することによって、効率的な低遅延および低周波トランザクションが、例えば、グラフィックスプロセッサ、CPUおよびサウスブリッジの性能要求を満足する。また、例えば、PCIE3.0データレート環境内で動作するように設計された内部アーキテクチャ受信および送信回路は、PCIE4.0データレート環境でも問題なく動作できる。従って、通信制御装置500は、通信標準の向上し続ける機能を利用しながら、再設計の労力、電力消費、および、内部機能回路用のシリコン面積を大いに節約する。
図1〜図5の機能(例えば、通信制御装置232,262,420,500)は、ハードウェアおよびソフトウェアの様々な組合せで実装され得る。ソフトウェア構成要素のいくつかは、少なくとも1つのプロセッサによる実行のためにコンピュータ可読記憶媒体内に記憶され得る。さらに、図8に示す方法は、コンピュータ可読記憶媒体内に記憶された命令であって、少なくとも1つのプロセッサによって実行される命令によって制御され得る。図8に示す動作の各々は、持続性(non−transitory)コンピュータメモリまたはコンピュータ可読記憶媒体内に記憶された命令に対応し得る。様々な実施形態では、持続性コンピュータ可読記憶媒体は、磁気もしくは光ディスク記憶装置、フラッシュメモリなどのソリッドステート記憶装置、または、他の不揮発性メモリ装置もしくは複数の装置を含む。持続性コンピュータ可読記憶媒体上に記憶されたコンピュータ可読命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または、1つ以上のプロセッサによって解釈かつ/もしくは実行可能である他の命令形式であり得る。
さらに、図1〜図5の機能は、プログラムによって読み取ることができ、図1〜図5の回路と共に集積回路を製造するために、直接的もしくは間接的に使用可能なデータベースまたは他のデータ構造の形式で、コンピュータアクセス可能なデータ構造によって記述または表現され得る。例えば、このデータ構造は、VerilogまたはVHDLなどの高水準設計言語(HDL)におけるハードウェア機能の動作レベル記述またはレジスタ転送レベル(RTL)記述であり得る。記述は、合成ライブラリからのゲートのリストを含むネットリストを生成するために、記述を合成し得る合成ツールによって読み取られ得る。ネットリストは、図1〜図5の回路を有する集積回路を含むハードウェアの機能を表すゲートのセットを含む。ネットリストは、次いで、マスクに適用される幾何学形状を記述するデータセットを生成するために配置されてルーティングされ得る。マスクは、次いで、図1〜図5の集積回路を製造するために様々な半導体製造ステップで使用され得る。あるいは、コンピュータアクセス可能記憶媒体上のデータベースは、必要に応じて、ネットリスト(合成ライブラリの有無にかかわらず)もしくはデータセット、または、グラフィックデータシステム(GDS)IIデータであり得る。
特定の実施形態について説明してきたが、これらの実施形態に対する様々な修正が当業者には明らかであろう。例えば、図示した例では、コンピュータシステム200、グラフィックスプロセッサ300、サウスブリッジ400および通信制御装置500が、あるアーキテクチャを有するとして説明されているが、いくつかの実施形態では、各々は様々なアーキテクチャを有し得る。また、図示した例では、コンピュータシステム200、グラフィックスプロセッサ300、サウスブリッジ400および通信制御装置500は、PCIE標準のコンテキストで説明されるが、いくつかの実施形態では、各機能は、異なる通信プロトコルを記述する異なる標準のコンテキストで説明され得る。いくつかの実施形態では、コンピュータシステム200は、加速処理装置(APU)、デジタル信号プロセッサ(DSP)などの他のタイプの機能回路を含んでもよく、他のタイプの機能回路は、少なくとも1つの通信制御装置を含んでもよいし含まなくてもよい。また、図1〜図5の機能回路の各々は、単一の集積回路上で形成されてもよいし、複数の集積回路上で形成されてもよい。
一つの形態では、通信制御装置は、物理インタフェースと、直並列変換器および/または並直列変換器と、受信ブロックおよび/または送信ブロックと、を有している。一つの態様によれば、物理インタフェースは、PCIE標準に従って動作する。この場合、物理インタフェースのポートは、16のPCIEデータレーンを含んでもよく、直並列変換器および/または並直列変換器によって提供された第1の複数のデータビットは、第3の複数のPCIEシンボルを含んでもよい。この場合、直並列変換器および/または並直列変換器は、8b/10b符号化および128b/130b符号化のうち選択された一方を用いて、第3の複数のPCIEシンボルを形成してもよい。
他の態様によれば、通信制御装置は、直並列変換器および/または並直列変換器に接続されたリンク制御装置をさらに備えている。ここで、リンク制御装置は、低周波モードおよび低遅延モードのうち一方を選択するための少なくとも1つのモードレジスタを有している。この場合、少なくとも1つのモードレジスタは、対応する複数のリンク速度ごとに、低周波モードおよび低遅延モードのうち一方を選択するための複数のモードレジスタを備えてもよい。リンク制御装置は、直並列変換器の出力に接続された入力と、並直列変換器の入力に接続された出力と、をさらに有してもよい。リンク制御装置は、リンク速度を決定するために、並直列変換器、物理インタフェースおよび直並列変換器を制御し、リンク速度に応じて第1のレートおよび第2のレートを判断するように構成されてもよい。
さらに他の態様によれば、通信制御装置は、受信ブロックの出力に接続された入力と、ポートと、を有するクライアントインタフェースをさらに備えている。
他の形態によれば、方法は、通信制御装置が低周波モードで動作している場合に、第1の複数のデータビットを第1のレートで提供することと、通信制御装置が低遅延モードで動作している場合に、第2の複数のデータビットを第2のレートで提供することであって、第1の複数は第2の複数よりも大きな数であり、第2のレートは第1のレートよりも高い、ことと、を含む。一つの態様によれば、方法は、データビットのシーケンスを通信媒体から受信することと、通信制御装置を低周波モードまたは低遅延モードで動作させるか否かを判断することと、をさらに含む。
他の態様によれば、方法は、第1の複数のデータビットを低遅延モードで、第2の複数のデータビットを低周波モードで、クライアントインタフェースに出力すること、をさらに含む。この場合、第1の複数のデータビットを第1のレートで提供することは、第1の複数のデータビットを第1のレートで直並列変換器から受信ブロックに提供することを含む。
さらに他の形態によれば、通信システムは、通信制御装置と、通信媒体と、通信媒体に接続された装置と、を備える。一つの態様によれば、通信制御装置によって伝達される第1の複数のシンボルは、複数のPCIEシンボルを含む。内部送受信回路は、8b/10b符号化および128b/130b符号化のうち選択された一方を用いて、複数のPCIEシンボルを形成してもよい。
他の態様によれば、内部送受信回路は、入力および出力を有する並直列変換器と、入力および出力を有する直並列変換器と、リンク制御装置と、を含み、物理インタフェースは、並直列変換器の出力に接続された入力と、直並列変換器の入力に接続された出力と、をさらに有し、リンク制御装置は、直並列変換器の出力に接続された入力と、並直列変換器の入力に接続された出力と、をさらに有し、リンク制御装置は、リンク速度を決定するために、並直列変換器、物理インタフェースおよび直並列変換器を制御することと、リンク速度に応じて第1のレートおよび第2のレートを判断することと、を行うように構成されている。
したがって、開示した実施形態の範囲に含まれる、開示した実施形態の全ての修正を包含することが、添付の請求項によって意図される。

Claims (39)

  1. 通信媒体(550)に接続するためのポートと、出力と、を有する物理インタフェース(540)であって、データビットのシーケンスを前記出力に提供するために、プロトコルに従って動作する物理インタフェース(540)と、
    前記物理インタフェース(540)の前記出力に接続された入力と、前記データビットのシーケンスに応じて、第1の複数のデータビットを低周波モードにおける第1のレートで提供し、第2の複数のデータビットを低遅延モードにおける第2のレートで提供するための出力と、を有する直並列変換器(560)であって、前記第1の複数は前記第2の複数よりも大きな数であり、前記第2のレートは前記第1のレートよりも高い、直並列変換器(560)と、
    前記直並列変換器(560)の前記出力に接続された入力と、出力と、を有する受信ブロック(570)と、を備える、
    通信制御装置(500)。
  2. 前記プロトコルは、Peripheral Component Interconnect Express(PCIE)標準として知られる標準を含む、請求項1に記載の通信制御装置(500)。
  3. 前記ポートは、16のPCIEデータレーンを含む、請求項2に記載の通信制御装置(500)。
  4. 前記第1の複数のビットは、第3の複数のPCIEシンボルを含む、請求項2に記載の通信制御装置(500)。
  5. 前記直並列変換器(560)は、8b/10b符号化および128b/130b符号化のうち選択された一方を用いて、前記第3の複数のPCIEシンボルを形成する、請求項4に記載の通信制御装置(500)。
  6. 前記通信制御装置(500)は、入力および出力を有する並直列変換器(530)と、リンク制御装置(580)と、をさらに含み、
    前記物理インタフェース(540)は、前記並直列変換器(530)の前記出力に接続された入力をさらに有し、
    前記直並列変換器(560)は、出力をさらに有し、
    前記リンク制御装置(580)は、前記直並列変換器(560)の前記出力に接続された入力と、前記並直列変換器(530)の前記入力に接続された出力と、をさらに有し、
    前記リンク制御装置(580)は、
    リンク速度を決定するために、前記並直列変換器(530)、物理インタフェース(540)および直並列変換器(560)を制御することと、
    前記リンク速度に応じて前記第1のレートおよび前記第2のレートを判断することと、
    を行うように構成されている、
    請求項1に記載の通信制御装置(500)。
  7. 前記直並列変換器(560)に接続されたリンク制御装置(580)であって、前記リンク制御装置は、前記低周波モードおよび前記低遅延モードのうち一方を選択するための少なくとも1つのモードレジスタ(582)を含むリンク制御装置(580)をさらに備える、請求項1に記載の通信制御装置(500)。
  8. 前記少なくとも1つのモードレジスタ(582)は、対応する複数のリンク速度ごとに、前記低周波モードおよび前記低遅延モードのうち一方を選択するための複数のモードレジスタを含む、請求項7に記載の通信制御装置(500)。
  9. 前記受信ブロック(570)の前記出力に接続された入力と、ポートと、を有するクライアントインタフェース(510)をさらに備える、請求項1に記載の通信制御装置(500)。
  10. 入力と、複数のシンボルのシーケンスと、を提供するための入力及び出力を有する送信ブロック(520)と、
    前記送信ブロック(520)の前記出力に接続された入力と、前記複数のシンボルのシーケンスに応じて、第1の複数のデータビットを低周波モードにおける第1のレートで提供し、第2の複数のデータビットを低遅延モードにおける第2のレートで提供するための出力と、を有する並直列変換器(530)であって、前記第1の複数は前記第2の複数よりも大きな数であり、前記第2のレートは前記第1のレートよりも高い、並直列変換器(530)と、
    前記並直列変換器(530)の前記出力に接続された入力と、通信媒体(550)へ接続するためのポートと、を有する物理インタフェース(540)であって、データビットのシーケンスを提供するために、プロトコルに従って動作するように構成された物理インタフェース(540)と、を備える、
    通信制御装置(500)。
  11. 前記プロトコルは、Peripheral Component Interconnect Express(PCIE)標準として知られる標準を含む、請求項10に記載の通信制御装置(500)。
  12. 前記ポートは、16のPCIEデータレーンを含む、請求項11に記載の通信制御装置(500)。
  13. 前記第1の複数のビットは、第3の複数のPCIEシンボルを含む、請求項11に記載の通信制御装置(500)。
  14. 前記並直列変換器(530)は、8b/10b符号化および128b/130b符号化のうち選択された一方を用いて、前記第1の複数のデータビットおよび第2の複数のデータビットのうち一方を前記物理インタフェースに提供する、請求項13に記載の通信制御装置(500)。
  15. 前記通信制御装置(500)は、入力および出力を有する直並列変換器(560)と、リンク制御装置(580)と、をさらに含み、
    前記物理インタフェース(540)は、前記直並列変換器(560)の前記入力に接続された出力をさらに有し、
    前記並直列変換器(530)は、出力をさらに有し、
    前記リンク制御装置(580)は、前記送信ブロックと前記並直列変換器(530)との間にさらに接続されており、
    前記リンク制御装置(580)は、
    リンク速度を決定するために、前記並直列変換器(530)、物理インタフェース(540)および直並列変換器(560)を制御することと、
    前記リンク速度に応じて前記第1のレートおよび前記第2のレートを判断することと、
    を行うように構成されている、
    請求項10に記載の通信制御装置(500)。
  16. 前記並直列変換器(530)に接続されたリンク制御装置(580)であって、前記リンク制御装置(570)は、前記低周波モードおよび前記低遅延モードのうち一方を選択するための少なくとも1つのモードレジスタ(582)を含むリンク制御装置(580)をさらに備える、請求項10に記載の通信制御装置(500)。
  17. 前記少なくとも1つのモードレジスタ(582)は、対応する複数のリンク速度ごとに、前記低周波モードおよび前記低遅延モードのうち一方を選択するための複数のモードレジスタを含む、請求項16に記載の通信制御装置(500)。
  18. 前記送信ブロック(520)の前記入力に結合された出力と、ポートと、を有するクライアントインタフェース(510)をさらに備える、請求項10に記載の通信制御装置(500)。
  19. 通信媒体(550)に接続するためのポートと、入力と、出力と、を有する物理インタフェース(540)であって、第1のデータビットのシーケンスを前記入力から受信して、前記第1のデータビットのシーケンスを前記ポートに送信し、第2のデータビットのシーケンスを前記ポートから受信して、前記第2のデータビットのシーケンスを前記出力に伝達するために、プロトコルに従って動作するように構成された物理インタフェース(540)と、
    前記物理インタフェース(540)の前記入力および前記出力に接続された内部送受信回路であって、第1の複数のシンボルを低周波モードにおける第1のレートで伝達し、第2の複数のシンボルを低遅延モードにおける第2のレートで伝達するための内部アーキテクチャを有する内部送受信回路であって、前記第1の複数は前記第2の複数よりも大きな数であり、前記第2のレートは前記第1のレートよりも高い、内部送受信回路と、を備える、
    通信制御装置(500)。
  20. 前記プロトコルは、Peripheral Component Interconnect Express(PCIE)標準として知られる標準を含む、請求項19に記載の通信制御装置(500)。
  21. 前記ポートは、16のPCIEデータレーンを含む、請求項19に記載の通信制御装置(500)。
  22. 前記第1の複数のシンボルは、複数のPCIEシンボルを含む、請求項19に記載の通信制御装置(500)。
  23. 前記内部送受信回路は、8b/10b符号化および128b/130b符号化のうち選択された一方を用いて、前記複数のPCIEシンボルを形成する、請求項22に記載の通信制御装置(500)。
  24. 前記内部送受信回路は、
    入力および出力を有する並直列変換器(530)と、
    入力および出力を有する直並列変換器(560)と、
    リンク制御装置(580)と、
    を含み、
    前記物理インタフェース(540)は、前記並直列変換器(530)の前記出力に接続された入力と、前記直並列変換器(560)の前記入力に接続された出力と、をさらに有し、
    前記リンク制御装置(580)は、前記直並列変換器(560)の前記出力に接続された入力と、前記並直列変換器(530)の前記入力に接続された出力と、をさらに有し、
    前記リンク制御装置(580)は、
    リンク速度を決定するために、前記並直列変換器(530)、前記物理インタフェース(540)および前記直並列変換器(560)を制御することと、
    前記リンク速度に応じて前記第1のレートおよび前記第2のレートを判断することと、
    を行うように構成されている、
    請求項19に記載の通信制御装置(500)。
  25. 前記内部送受信回路は、
    前記低周波モードおよび前記低遅延モードのうち一方を選択するための少なくとも1つのモードレジスタ(582)を含むリンク制御装置(580)を備える、請求項19に記載の通信制御装置(500)。
  26. 前記少なくとも1つのモードレジスタ(582)は、対応する複数のリンク速度ごとに、前記低周波モードおよび前記低遅延モードのうち一方を選択するための複数のモードレジスタを含む、請求項25に記載の通信制御装置(500)。
  27. 前記内部送受信回路は、ポートを有するクライアントインタフェース(510)を含む、請求項19に記載の通信制御装置(500)。
  28. 通信制御装置(500)が低周波モードで動作している場合に、第1の複数のデータビットを第1のレートで提供することと、
    前記通信制御装置(500)が低遅延モードで動作している場合に、第2の複数のデータビットを第2のレートで提供することであって、前記第1の複数は前記第2の複数よりも大きな数であり、前記第2のレートは前記第1のレートよりも高い、ことと、
    を含む方法。
  29. データビットのシーケンスを通信媒体(550)から受信することと、
    前記通信制御装置(500)を前記低周波モードまたは前記低遅延モードで動作させるか否かを判断することと、
    をさらに含む、請求項28に記載の方法。
  30. 前記第1の複数のデータビットを前記低遅延モードで、前記第2の複数のデータビットを前記低周波モードで、クライアントインタフェース(510)に出力すること、
    をさらに含む、請求項28に記載の方法。
  31. 前記第1の複数のデータビットを前記第1のレートで提供することは、前記第1の複数のデータビットを前記第1のレートで直並列変換器(560)から受信ブロック(570)に提供することを含む、請求項30に記載の方法。
  32. 前記通信制御装置(500)のリンク速度を決定すること、
    をさらに含む、請求項28に記載の方法。
  33. 前記リンク速度に応じて、前記第1のレートおよび前記第2のレートを判断すること、
    をさらに含む、請求項32に記載の方法。
  34. 物理インタフェース(540)を有する通信制御装置(500)であって、前記通信制御装置(500)と、前記物理インタフェース(540)に接続された内部送受信回路とは、第1の複数のシンボルを低周波モードにおける第1のレートで伝達し、第2の複数のシンボルを低遅延モードにおける第2のレートで伝達するための内部アーキテクチャを有する、通信制御装置(500)であって、前記第1の複数は前記第2の複数よりも大きな数であり、前記第2のレートは前記第1のレートよりも高い、通信制御装置(500)と、
    前記通信制御装置(500)の前記物理インタフェース(540)に接続された通信媒体(150,160,170/510)と、
    前記通信媒体(150,160,170/510)に接続された装置(140)と、を備える、
    通信システム(100)。
  35. クライアント(230,260)をさらに含み、前記通信制御装置(500)は、前記内部送受信回路と前記クライアント(230,260)との間に接続されたクライアントインタフェース(510)をさらに含む、請求項34に記載の通信システム(100)。
  36. 前記通信制御装置(500)および前記装置(140)は、Peripheral Component Interconnect Express(PCIE)標準として知られる標準に従って動作する、請求項34に記載の通信システム(100)。
  37. 前記第1の複数のシンボルは、複数のPCIEシンボルを含む、請求項36に記載の通信システム(100)。
  38. 前記内部送受信回路は、8b/10b符号化および128b/130b符号化のうち選択された一方を用いて、前記複数のPCIEシンボルを形成する、請求項37に記載の通信システム(100)。
  39. 前記内部送受信回路は、
    入力および出力を有する並直列変換器(530)と、
    入力および出力を有する直並列変換器(560)と、
    リンク制御装置(580)と、
    を含み、
    前記物理インタフェース(540)は、前記並直列変換器(530)の前記出力に接続された入力と、前記直並列変換器(560)の前記入力に接続された出力と、をさらに有し、
    前記リンク制御装置(580)は、前記直並列変換器(560)の前記出力に接続された入力と、前記並直列変換器(530)の前記入力に接続された出力と、をさらに有し、
    前記リンク制御装置(580)は、
    リンク速度を決定するために、前記並直列変換器(530)、前記物理インタフェース(540)および前記直並列変換器(560)を制御することと、
    前記リンク速度に応じて前記第1のレートおよび前記第2のレートを判断することと、
    を行うように構成されている、
    請求項34に記載の通信システム(100)。
JP2015548127A 2012-12-21 2013-12-18 構成可能な通信制御装置 Active JP6378197B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/723,960 US9244872B2 (en) 2012-12-21 2012-12-21 Configurable communications controller
US13/723,960 2012-12-21
PCT/CA2013/050987 WO2014094164A1 (en) 2012-12-21 2013-12-18 Configurable communications controller

Publications (2)

Publication Number Publication Date
JP2016506151A true JP2016506151A (ja) 2016-02-25
JP6378197B2 JP6378197B2 (ja) 2018-08-22

Family

ID=50976022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015548127A Active JP6378197B2 (ja) 2012-12-21 2013-12-18 構成可能な通信制御装置

Country Status (6)

Country Link
US (1) US9244872B2 (ja)
EP (1) EP2936759B1 (ja)
JP (1) JP6378197B2 (ja)
KR (1) KR101741199B1 (ja)
CN (1) CN104871508B (ja)
WO (1) WO2014094164A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017211984A (ja) * 2016-05-25 2017-11-30 三星電子株式会社Samsung Electronics Co.,Ltd. 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
JP2020053032A (ja) * 2018-09-21 2020-04-02 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. Pcieトポロジによるファン速度制御
JP2022510812A (ja) * 2018-12-14 2022-01-28 エーティーアイ・テクノロジーズ・ユーエルシー 改良された速度モードによるデータ通信

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103678244B (zh) * 2012-09-12 2017-09-05 周松 一种不使用应用处理器的智能设备
US9374216B2 (en) 2013-03-20 2016-06-21 Qualcomm Incorporated Multi-wire open-drain link with data symbol transition based clocking
US9337997B2 (en) 2013-03-07 2016-05-10 Qualcomm Incorporated Transcoding method for multi-wire signaling that embeds clock information in transition of signal state
US9735948B2 (en) * 2013-10-03 2017-08-15 Qualcomm Incorporated Multi-lane N-factorial (N!) and other multi-wire communication systems
US9755818B2 (en) 2013-10-03 2017-09-05 Qualcomm Incorporated Method to enhance MIPI D-PHY link rate with minimal PHY changes and no protocol changes
US9203599B2 (en) 2014-04-10 2015-12-01 Qualcomm Incorporated Multi-lane N-factorial (N!) and other multi-wire communication systems
US9300463B2 (en) 2014-04-04 2016-03-29 Altera Corporation Multi-rate transceiver circuitry
US20170024344A1 (en) * 2015-07-22 2017-01-26 Microchip Technology Incorporated Method and System for USB 2.0 Bandwidth Reservation
TWI598745B (zh) * 2016-03-08 2017-09-11 神雲科技股份有限公司 資料傳輸方法及伺服器
CN111930655B (zh) * 2016-06-06 2022-01-21 合肥沛睿微电子股份有限公司 固态硬盘控制装置与方法
US10644826B2 (en) 2018-02-23 2020-05-05 Advanced Micro Devices, Inc. Flexibile interfaces using through-silicon via technology
CN108415867B (zh) * 2018-03-13 2021-10-22 联想(北京)有限公司 电子设备的信号处理方法和处理系统
US10817443B2 (en) * 2018-03-28 2020-10-27 SK Hynix Inc. Configurable interface card
DE102019107002A1 (de) * 2018-03-29 2019-10-02 Nvidia Corporation Verringerung der kopplung und des leistungsrauschens an einer pam-4-i/o-schnittstelle
US10509752B2 (en) 2018-04-27 2019-12-17 Advanced Micro Devices, Inc. Configuration of multi-die modules with through-silicon vias
US10601425B2 (en) * 2018-05-30 2020-03-24 Intel Corporation Width and frequency conversion with PHY layer devices in PCI-express
US11467999B2 (en) 2018-06-29 2022-10-11 Intel Corporation Negotiating asymmetric link widths dynamically in a multi-lane link
US10909060B2 (en) 2018-12-11 2021-02-02 Ati Technologies Ulc Data transmission using flippable cable
US10846247B2 (en) 2019-03-05 2020-11-24 Intel Corporation Controlling partial link width states for multilane links
US11836101B2 (en) 2019-11-27 2023-12-05 Intel Corporation Partial link width states for bidirectional multilane links
US11087801B1 (en) 2020-02-06 2021-08-10 Micron Technology, Inc. Configuring a host interface of a memory device based on mode of operation
US11243896B2 (en) * 2020-03-25 2022-02-08 Micron Technology, Inc. Multiple pin configurations of memory devices
US20230214346A1 (en) * 2021-12-30 2023-07-06 Ati Technologies Ulc Allocating peripheral component interface express (pcie) streams in a configurable multiport pcie controller
CN116303185A (zh) * 2023-05-18 2023-06-23 合肥埃科光电科技股份有限公司 一种基于PCIe4.0的图像采集卡及图像采集系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006302277A (ja) * 2005-04-18 2006-11-02 Altera Corp プログラマブルロジックデバイスのシリアルインタフェースにおけるマルチデータレート
JP2008512781A (ja) * 2004-09-09 2008-04-24 インテル コーポレイション 複数ビットレートのシリアル通信用の方法及び装置
US20100215086A1 (en) * 2008-10-17 2010-08-26 Altera Corporation Multi-protocol channel-aggregated configurable transceiver in an integrated circuit
WO2011103070A1 (en) * 2010-02-17 2011-08-25 Altera Corporation Multi-protocol multiple-data-rate auto-speed negotiation architecture for a device

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2222471B (en) * 1988-08-29 1992-12-09 Mitsubishi Electric Corp Ic card with switchable bus structure
US5388227A (en) 1990-08-14 1995-02-07 Nexgen Microsystems Transparent data bus sizing
US5321400A (en) * 1992-03-13 1994-06-14 Nec Corporation Serial data interface circuit dealing with a plurality of receiving modes
US5432775A (en) 1993-12-03 1995-07-11 Advanced Micro Devices, Inc. Auto negotiation system for a communications network
US5553302A (en) 1993-12-30 1996-09-03 Unisys Corporation Serial I/O channel having independent and asynchronous facilities with sequence recognition, frame recognition, and frame receiving mechanism for receiving control and user defined data
JPH08123770A (ja) 1994-10-28 1996-05-17 Nikon Corp データ通信制御装置
US5761456A (en) * 1996-04-03 1998-06-02 Trimble Navigation Limited Processor device having automatic bus sizing
US6128681A (en) * 1997-08-07 2000-10-03 Avid Technology, Inc. Serial to parallel and parallel to serial, converter for a digital audio workstation
US5982309A (en) * 1998-01-09 1999-11-09 Iowa State University Research Foundation, Inc. Parallel-to-serial CMOS data converter with a selectable bit width mode D flip-flop M matrix
US6101567A (en) * 1998-06-03 2000-08-08 Lucent Technologies Inc. Parallel backplane physical layer interface with scalable data bandwidth
US20020107962A1 (en) 2000-11-07 2002-08-08 Richter Roger K. Single chassis network endpoint system with network processor for load balancing
US7257129B2 (en) 2000-11-22 2007-08-14 Silicon Image Memory architecture with multiple serial communications ports
US6970013B1 (en) * 2002-03-01 2005-11-29 Xilinx, Inc Variable data width converter
US7089444B1 (en) * 2003-09-24 2006-08-08 Altera Corporation Clock and data recovery circuits
CN101039245A (zh) * 2006-03-13 2007-09-19 华为技术有限公司 高速以太网到光传输网的数据传输方法及相关接口和设备
JP5706060B2 (ja) * 2007-10-19 2015-04-22 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体記憶装置と品種展開方法
JP2009265024A (ja) * 2008-04-28 2009-11-12 Nec Electronics Corp 半導体装置
JP5446384B2 (ja) * 2009-03-30 2014-03-19 富士通セミコンダクター株式会社 インターフェース回路、メモリシステム、およびアクセス制御方法
US20110072168A1 (en) * 2009-09-24 2011-03-24 Hongxiao Zhao Data transfer system with different operating modes
US8751714B2 (en) * 2010-09-24 2014-06-10 Intel Corporation Implementing quickpath interconnect protocol over a PCIe interface
US8874820B2 (en) * 2010-12-28 2014-10-28 Silicon Image, Inc. Mechanism for facilitating a configurable port-type peripheral component interconnect express/serial advanced technology attachment host controller architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008512781A (ja) * 2004-09-09 2008-04-24 インテル コーポレイション 複数ビットレートのシリアル通信用の方法及び装置
JP2006302277A (ja) * 2005-04-18 2006-11-02 Altera Corp プログラマブルロジックデバイスのシリアルインタフェースにおけるマルチデータレート
US20100215086A1 (en) * 2008-10-17 2010-08-26 Altera Corporation Multi-protocol channel-aggregated configurable transceiver in an integrated circuit
JP2012506210A (ja) * 2008-10-17 2012-03-08 アルテラ コーポレイション 集積回路中のマルチプロトコルチャネル統合された構成可能送受信機
WO2011103070A1 (en) * 2010-02-17 2011-08-25 Altera Corporation Multi-protocol multiple-data-rate auto-speed negotiation architecture for a device

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017211984A (ja) * 2016-05-25 2017-11-30 三星電子株式会社Samsung Electronics Co.,Ltd. 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
KR20170133235A (ko) * 2016-05-25 2017-12-05 삼성전자주식회사 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리
JP7010598B2 (ja) 2016-05-25 2022-01-26 三星電子株式会社 再構成可能なマルチポートを具備するPCIeストレージシステムのためのQoSを認識した入出力管理方法、管理システム、及び管理装置
KR102427550B1 (ko) 2016-05-25 2022-08-01 삼성전자주식회사 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리
JP2020053032A (ja) * 2018-09-21 2020-04-02 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. Pcieトポロジによるファン速度制御
JP2022510812A (ja) * 2018-12-14 2022-01-28 エーティーアイ・テクノロジーズ・ユーエルシー 改良された速度モードによるデータ通信
JP7420804B2 (ja) 2018-12-14 2024-01-23 エーティーアイ・テクノロジーズ・ユーエルシー 改良された速度モードによるデータ通信

Also Published As

Publication number Publication date
CN104871508B (zh) 2018-03-02
WO2014094164A1 (en) 2014-06-26
EP2936759A1 (en) 2015-10-28
EP2936759A4 (en) 2016-09-21
US20140181355A1 (en) 2014-06-26
CN104871508A (zh) 2015-08-26
JP6378197B2 (ja) 2018-08-22
KR101741199B1 (ko) 2017-05-29
US9244872B2 (en) 2016-01-26
EP2936759B1 (en) 2018-01-31
KR20150110488A (ko) 2015-10-02

Similar Documents

Publication Publication Date Title
JP6378197B2 (ja) 構成可能な通信制御装置
US11726939B2 (en) Flex bus protocol negotiation and enabling sequence
US9164938B2 (en) Method to integrate ARM ecosystem IPs into PCI-based interconnect
Shrivastav et al. Performance comparison of AMBA bus-based system-on-chip communication protocol
CN109032973B (zh) Icb总线系统
KR20050080828A (ko) 개방형 코어 프로토콜을 기반으로 하는 버스 시스템
WO2022073363A1 (zh) 增强型spi控制器以及操作spi控制器的方法
US20160110309A1 (en) Device power management state transition latency advertisement for faster boot time
WO2014051765A1 (en) Fast deskew when exiting low-power partial-width high speed link state
US20070022219A1 (en) Information processing apparatus and method for initializing flow control
WO2001033375A1 (en) Method and apparatus for supporting multi-clock propagation in a computer system having a point to point half duplex interconnect
US9594705B2 (en) EMI mitigation on high-speed lanes using false stall
WO2022073362A1 (zh) 更新寄存器的方法
CN112256615B (zh) Usb转换接口装置
US20040228370A1 (en) Method and apparatus for high throughput multiplexing of data
WO2023103297A1 (zh) 一种优化ahb总线数据传输性能的系统、方法及服务器
Verma et al. Pcie bus: A state-of-the-art-review
WO2012124431A1 (ja) 半導体装置
US6311248B1 (en) Method and system for optimized data transfers in a mixed 64-bit/32-bit PCI environment
CN201583947U (zh) 一种高速usb接口电路
Erusalagandi Leveraging Data-Mover IPs for Data Movement in Zynq-7000 AP SoC Systems
Mallikarjunaswamy et al. Design of Advanced High-Performance Bus Master to Access a SRAM Block
Nassar et al. Design and simulation of a pci express based embedded system
Wang et al. Implementation of High-Speed Serial Interconnects for Multi-Processor Parallel System
KUMAR et al. Implementation of Complex interface bridge for LOW and HIGH bandwidth Peripherals Using AXI4-Lite for AMBA

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180619

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180726

R150 Certificate of patent or registration of utility model

Ref document number: 6378197

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250