(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5770383
(24)【登録日】2015年7月3日
(45)【発行日】2015年8月26日
(54)【発明の名称】高速通信リンクのトレーニング中に電源ノイズを低減する方法及びシステム
(51)【国際特許分類】
H04L 7/04 20060101AFI20150806BHJP
【FI】
H04L7/04 300
【請求項の数】30
【全頁数】13
(21)【出願番号】特願2014-533269(P2014-533269)
(86)(22)【出願日】2011年9月30日
(65)【公表番号】特表2014-529269(P2014-529269A)
(43)【公表日】2014年10月30日
(86)【国際出願番号】US2011054270
(87)【国際公開番号】WO2013048444
(87)【国際公開日】20130404
【審査請求日】2014年5月20日
(73)【特許権者】
【識別番号】593096712
【氏名又は名称】インテル コーポレイション
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100091214
【弁理士】
【氏名又は名称】大貫 進介
(74)【代理人】
【識別番号】100135105
【弁理士】
【氏名又は名称】渡邊 直満
(72)【発明者】
【氏名】イェール,ヴェンカトラマン
(72)【発明者】
【氏名】チャウドゥリ,サンタヌ
(72)【発明者】
【氏名】チャン,スティーヴン
【審査官】
阿部 弘
(56)【参考文献】
【文献】
国際公開第2010/109668(WO,A1)
【文献】
特開平06−303610(JP,A)
【文献】
米国特許出願公開第2011/0153902(US,A1)
【文献】
特開平05−227243(JP,A)
【文献】
特開2010−016791(JP,A)
【文献】
特表2010−525689(JP,A)
【文献】
特開2009−104598(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7
(57)【特許請求の範囲】
【請求項1】
複数の通信リンクのそれぞれについてビットロックパターンの送信時間をずらし、
前記ビットロックパターンの送信後に、前記複数の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル化するロジックを有する装置。
【請求項2】
前記複数の通信リンクのそれぞれについて前記ビットロックパターンの前記送信時間をずらすロジックは、各単位間隔の間に前記複数の通信リンクのうち1つのみで前記ビットロックパターンを送信するようにする、請求項1に記載の装置。
【請求項3】
前記ビットロックパターンは、既知のシードを用いた擬似乱数バイナリシーケンス(PBRS:pseudo random binary sequence)であり、
前記複数の通信リンクのそれぞれについて前記トレーニングシーケンスをスクランブル化するロジックは、前記ずらされたビットロックパターンとの前記トレーニングシーケンスのビット毎のXOR演算を実行するようにする、請求項1に記載の装置。
【請求項4】
前記トレーニングシーケンスは、デスキュー・トレーニングシーケンスである、請求項1に記載の装置。
【請求項5】
前記複数の通信リンクは、QPI(QuickPath Interconnect)、PCIe(Peripheral Component Interconnect Express)及びSMI(Scalable Memory Interconnect)のうち1つに従って動作する、請求項1に記載の装置。
【請求項6】
前記複数の通信リンクは、シリアル通信リンク、パラレル通信リンク、半二重通信リンク及び全二重通信リンクのうち1つを有する、請求項1に記載の装置。
【請求項7】
前記装置は、ループバックモードのマスターデバイスであり、
前記ロジックは、更に、
いずれかの単位間隔の境界でループバックされた受信後のスクランブル化されたトレーニングシーケンスを再デスキューするようにする、請求項1に記載の装置。
【請求項8】
複数の通信リンクのそれぞれについて送信時間がずらされたビットロックパターンを受信し、
前記ビットロックパターンの受信後に、前記複数の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル解除するロジックを有する装置。
【請求項9】
前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信するロジックは、前記複数の通信リンクのトレーニング中に前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信するようにする、請求項8に記載の装置。
【請求項10】
前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信するロジックは、各単位間隔の間に前記複数の通信リンクのうち1つのみで前記ビットロックパターンを受信するようにする、請求項8に記載の装置。
【請求項11】
前記ビットロックパターンは、既知のシードを用いた擬似乱数バイナリシーケンス(PBRS)である、請求項8に記載の装置。
【請求項12】
前記トレーニングシーケンスは、デスキュー・トレーニングシーケンスである、請求項8に記載の装置。
【請求項13】
前記複数の通信リンクは、QPI(QuickPath Interconnect)、PCIe(Peripheral Component Interconnect Express)及びSMI(Scalable Memory Interconnect)のうち1つに従って動作する、請求項8に記載の装置。
【請求項14】
前記複数の通信リンクは、シリアル通信リンク、パラレル通信リンク、半二重通信リンク及び全二重通信リンクのうち1つを有する、請求項8に記載の装置。
【請求項15】
前記装置は、ループバックモードのスレーブデバイスであり、
前記ロジックは、更に、受信後のスクランブル化されたトレーニングシーケンスが正確に受信されたか否かを検査するようにする、請求項8に記載の装置。
【請求項16】
前記装置は、ループバックモードのスレーブデバイスであり、
前記ロジックは、更に、前記複数の通信リンクにおいていずれかの単位間隔の境界で前記受信後のスクランブル化されたトレーニングシーケンスをループバックするようにする、請求項8に記載の装置。
【請求項17】
複数の通信リンクのそれぞれについてビットロックパターンの送信時間をずらすステップと、
前記ビットロックパターンの送信後に、前記複数の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル化するステップと
を有する方法。
【請求項18】
前記複数の通信リンクのそれぞれについて前記ビットロックパターンの前記送信時間をずらすステップは、各単位間隔の間に前記複数の通信リンクのうち1つのみで前記ビットロックパターンを送信することを有する、請求項17に記載の方法。
【請求項19】
前記ビットロックパターンは、既知のシードを用いた擬似乱数バイナリシーケンス(PBRS)であり、
前記複数の通信リンクのそれぞれについて前記トレーニングシーケンスをスクランブル化するステップは、前記ずらされたビットロックパターンとの前記トレーニングシーケンスのビット毎のXOR演算を実行することを有する、請求項17に記載の方法。
【請求項20】
前記トレーニングシーケンスは、デスキュー・トレーニングシーケンスである、請求項17に記載の方法。
【請求項21】
前記複数の通信リンクは、QPI(QuickPath Interconnect)、PCIe(Peripheral Component Interconnect Express)及びSMI(Scalable Memory Interconnect)のうち1つに従って動作する、請求項17に記載の方法。
【請求項22】
いずれかの単位間隔の境界でループバックされた受信後のスクランブル化されたトレーニングシーケンスを再デスキューするステップを更に有する、請求項17に記載の方法。
【請求項23】
複数の通信リンクのそれぞれについて送信時間がずらされたビットロックパターンを受信するステップと、
前記ビットロックパターンの受信後に、前記複数の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル解除するステップと
を有する方法。
【請求項24】
前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信するステップは、前記複数の通信リンクのトレーニング中に前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信することを有する、請求項23に記載の方法。
【請求項25】
前記複数の通信リンクのそれぞれについて前記送信時間がずらされたビットロックパターンを受信するステップは、各単位間隔の間に前記複数の通信リンクのうち1つのみで前記ビットロックパターンを受信することを有する、請求項23に記載の方法。
【請求項26】
前記ビットロックパターンは、既知のシードを用いた擬似乱数バイナリシーケンス(PBRS)である、請求項23に記載の方法。
【請求項27】
前記トレーニングシーケンスは、デスキュー・トレーニングシーケンスである、請求項23に記載の方法。
【請求項28】
前記複数の通信リンクは、QPI(QuickPath Interconnect)、PCIe(Peripheral Component Interconnect Express)及びSMI(Scalable Memory Interconnect)のうち1つに従って動作する、請求項23に記載の方法。
【請求項29】
受信後のスクランブル化されたトレーニングシーケンスが正確に受信されたか否かを検査するステップを更に有する、請求項23に記載の方法。
【請求項30】
前記複数の通信リンクにおいていずれかの単位間隔の境界で前記受信後のスクランブル化されたトレーニングシーケンスをループバックするステップを更に有する、請求項23に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信リンクに関し、排他的ではないが、特に高速リンクのトレーニング中に電源ノイズの影響を低減する方法及びシステムに関する。
【背景技術】
【0002】
デバイス又はエージェントは、しばしば非常に高いデータレートで1つ以上の通信リンク又はレーンを使用して通信する。通信リンクは、全てのレーンで同時に送信されるトレーニングシーケンス(training sequence)及びビットロックパターン(bit lock pattern)を使用してトレーニング段階中に構成される。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかし、通信リンクがトレーニング段階中に高速で動作している場合、パターンの繰り返し周波数は、高調波(harmonic)の1つがパッケージ周波数に一致することをもたらす可能性があり、結果の共振が電源ノイズを増加させる可能性がある。
【図面の簡単な説明】
【0004】
【
図1】本発明の一実施例によるプラットフォームのブロック図
【
図2】本発明の一実施例による2つの通信可能に結合されたデバイスのアーキテクチャ上のレイヤ
【
図4】本発明の一実施例によるトレーニング段階のタイミング図
【
図5】本発明の一実施例に従ってここに開示された方法を実施するシステム
【発明を実施するための形態】
【0005】
本発明の実施例の特徴及び利点は、対象の以下の詳細な説明から明らかになる。
【0006】
ここに開示される本発明の実施例は、添付の図面に限定ではなく、一例として示されている。説明を簡潔且つ明瞭にするために、図面に示す要素は、必ずしも縮尺通りに描かれていない。例えば、明瞭にするために、或る要素の大きさは、他の要素に対して誇張されることがある。更に、適切と考えられる場合には、対応する要素又は同様の要素を示すために、参照符号が図面の間で繰り返されている。明細書において本発明の“一実施例”又は“実施例”への言及は、その実施例に関して記載する機能、構造又は特徴が本発明の少なくとも1つの実施例に含まれることを意味する。従って、明細書を通じて様々な場所に“一実施例では”という語句が現れることは、必ずしも同じ実施例を示しているとは限らない。
【0007】
本発明の実施例は、高速通信リンクのトレーニング中にプラットフォームの電源ノイズを低減する方法及びシステムを提供する。プラットフォームのデバイスは、シリアル通信リンク、パラレル通信リンク、半二重通信リンク、全二重通信リンク等を含むが、これらに限定されない通信リンクを使用する。本発明の一実施例では、デバイスは、1つ以上の通信リンクのそれぞれについてビットロックパターンをずらし(stagger)、1つ以上の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル化するロジックを有する。本発明の一実施例では、トレーニングシーケンスのスクランブル化は、ビットロックパターンとのトレーニングシーケンスのビット単位のXOR演算により実行される。
【0008】
通信リンクの信号の種類は、シングルエンド信号、低電圧差動信号(LVDS:low voltage differential signal)及び他の形式の信号を含むが、これらに限定されない。本発明の一実施例では、通信リンクは、全て同時にトレーニングされる。本発明の他の実施例では、通信リンクは、1つ以上のグループに構成され、グループが同時に又は異なる時間にトレーニングされてもよい。
【0009】
図1は、本発明の一実施例によるプラットフォームのブロック
図100を示している。プラットフォームは、デスクトップコンピュータ、ラップトップコンピュータ、ネットブック、タブレットコンピュータ、ノートブックコンピュータ、パーソナルデジタルアシスタント(PDA:personal digital assistant)、サーバ、ワークステーション、セルラ電話、モバイルコンピュータデバイス、インターネット機器、又は他の種類のコンピュータデバイスを含むが、これらに限定されない。
【0010】
本発明の一実施例では、プラットフォーム100は、デバイス1 110と、デバイス2 120と、デバイス3 130と、デバイス4 140と、メモリモジュール1 150と、メモリモジュール2 160とを有する。デバイス1 110は、2つの通信リンク又はレーン112及び114を介してデバイス2 120に結合される。デバイス1 110は、通信リンク112を介してデバイス120に情報を送信し、通信リンク114を介してデバイス120から情報を受信する。デバイス1 110はまた、2つの通信リンク又はレーン122及び124を介してデバイス3 130に結合される。デバイス3 130もまた、2つの通信リンク142及び144を介してデバイス4 140に結合される。
【0011】
本発明の一実施例では、デバイス1 110は、2つの通信リンク152及び154を介してメモリモジュール1 150に結合される。同様に、本発明の一実施例では、デバイス2 120は、2つの通信リンク162及び164を介してメモリモジュール2 160に結合される。本発明の一実施例では、デバイス1 110及びデバイス2 120は、それぞれメモリモジュール1 150及びメモリモジュール2 160と通信するための統合されたメモリホストコントローラを有する。
【0012】
通信リンク112、114、122、124、132、134、142、144、152、154、162及び164は、データ信号チャネル、クロック信号チャネル、制御信号チャネル、アドレス信号等を含むが、これらに限定されない。本発明の一実施例では、通信リンク112、114、122、124、132、134、142、144、152、154、162及び164の方向又は流れは、プログラム可能又は構成可能である。例えば、本発明の一実施例では、通信リンク112の1つ以上のチャネルは、デバイス2 120からデバイス1 110に流れるようにプログラムされてもよい。同様に、通信リンク114の1つ以上のチャネルは、デバイス1 110からデバイス2 120に流れるようにプログラムされてもよい。
【0013】
本発明の一実施例では、デバイス1-4 110、120、130及び140と、メモリモジュール1-2 150及び160のそれぞれは、通信リンク112、114、122、124、132、134、142、144、152、154、162及び164をトレーニングするときに電源ノイズを低減するロジックを有する。例えば、本発明の一実施例では、通信リンク112のトレーニング段階中に、デバイス1 110は、通信リンク112の1つ以上のチャネル又はレーンのそれぞれについてビットロックパターンをずらし、通信リンク112の1つ以上のチャネル又はレーンのそれぞれについてトレーニングシーケンスをスクランブル化する機能を有する。本発明の一実施例では、デバイス1 110は、トレーニングされる通信リンク112の1つ以上のチャネルを選択してもよい。
【0014】
本発明の一実施例では、デバイス1 110は、各単位間隔(UI:unit interval)の間に通信リンク112の1つ以上のチャネル又はレーンで循環ビットロックパターンを送信することにより、通信リンク112の1つ以上のチャネル又はレーンのそれぞれについてビットロックパターンをずらす。デバイス2 120は、通信リンク112の1つ以上のチャネル又はレーンのそれぞれについてずらされたビットロックパターンを受信し、通信リンク112の1つ以上のチャネル又はレーンのそれぞれについてトレーニングシーケンスをスクランブル解除するロジックを有する。
【0015】
本発明の一実施例では、デバイス1 110及びデバイス2 120について記載したロジックは、デバイス3 130、デバイス4 140及びメモリモジュール1-2 150及び160にも存在する。関係分野の当業者は、デバイス3 130、デバイス4 140及びメモリモジュール1-2 150及び160のロジックの動作を容易に認識するため、通信リンク112、114、122、124、132、134、142、144、152、154、162及び164のトレーニングについてここに記載しない。
【0016】
本発明の一実施例では、通信リンク112、114、122、124、132、134、142、144、152、154、162及び164は、Intel(R) QuickPath Interconnect(QPI)、Peripheral Component Interconnect(PCI) Express interface、Intel(R) Scalable Memory Interconnect(SMI)等により少なくとも部分的に動作するが、これらに限定されない。デバイス1-4 110、120、130及び140は、プロセッサ、コントローラ、入出力(I/O:Input/Output)ハブ等を含むが、これらに限定されない。メモリモジュール1-2 150及び160は、バッファされたメモリモジュール等を含むが、これらに限定されない。
【0017】
プラットフォーム100の構成は、本発明の一実施例の例としての役目を果たし、限定を意味するものではない。関係分野の当業者は、本発明の動作に影響を与えることなく、プラットフォーム100の他の構成が使用され得ることを容易に認識する。他の構成は、ここに記載されない。例えば、本発明の一実施例では、プラットフォーム100は、1つ以上の周辺機器論理モジュールを有する。
【0018】
図2は、本発明の一実施例による2つの通信可能に結合されたデバイス又はエージェントのアーキテクチャ上のレイヤ200を示している。説明を明瞭にするために、本発明の一実施例では、アーキテクチャ上のレイヤ200は、Intel(R) QPIに少なくとも部分的に準拠する。デバイス1 210は、プロトコルレイヤ211と、トランスポートレイヤ212と、ルーティングレイヤ213と、リンクレイヤ214と、物理レイヤ215とを有する。同様に、デバイス2 220も、プロトコルレイヤ221と、トランスポートレイヤ222と、ルーティングレイヤ223と、リンクレイヤ224と、物理レイヤ225とを有する。デバイス1 210は、物理レイヤ215の送信(TX)ロジック216を介して、デバイス2 220の物理レイヤ225の受信(RX)ロジック227に情報を送信する。
【0019】
本発明の一実施例では、デバイス1 210及びデバイス2 220は、電源ノイズの低減を可能にする、通信リンク230及び232のトレーニングを容易にするための物理レイヤ215及び225のロジックを有する。これは、ノイズ防止回路の必要性を除去し、また、デバイスのシリコン領域及び電力を低減する。更に、通信リンク230及び232のトレーニングを容易にするために物理レイヤ215及び225にロジックを有することにより、共振周波数をシフトするためにデバイスのパッケージを再設計する必要性を除去する。
【0020】
本発明の一実施例では、物理レイヤ215及び225の間の通信リンク230及び232は配線結合される。配線結合は、相互接続ケーブル又は配線、印刷基板回路(PCB:printed circuit board)の電気トレース(electrical trace)等を含むが、これらに限定されない。通信リンク230及び232は、物理的に異なる接続(すなわち、TXロジックとRXロジックとの間の一方向接続)を意味してもよく、同じ接続(すなわち、TXロジックとRXロジックとの間の双方向接続)を意味してもよい。ただし、TXロジックとRXロジックとの役目は、2つのエンドの間で交互になる。
【0021】
本発明の一実施例では、リンクレイヤ214及び224は、デバイス1 210とデバイス2 220との間での情報の信頼性のある送信及びフロー制御を確保する。本発明の一実施例では、リンクレイヤ214及び224は、デバイス1 210とデバイス2 220との間で同期機構を実施するロジックを有する。本発明の一実施例では、ルーティングレイヤ213及び223は、ファブリックを通じてパケットを振り向けるフレームワークを提供する。トランスポートレイヤ212及び222は、データのエンド・ツー・エンドの送信を含むが、これに限定されない高度なルーティング機能を提供する。
【0022】
本発明の一実施例では、プロトコルレイヤ211及び221は、デバイス1 210とデバイス2 220との間でデータパケットを交換するためのハイレベルな一式のルールを有する。
図2に示すアーキテクチャ上のレイヤ200は、限定を意味するものではなく、関係分野の当業者は、本発明の動作に影響を与えることなく、アーキテクチャ上のレイヤ200の他の構成が使用され得ることを容易に認識する。例えば、本発明の一実施例では、通信リンクの片側のデバイスは、一方が他方からの適切なパターンを送信及び受信するように備えられている限り、如何なるレイヤ構成を有してもよい。本発明の他の実施例では、トランスポートレイヤ212及び224は、アーキテクチャ上のレイヤ200の一部ではない。デバイス1 210及びデバイス2 220が他の通信プロトコルを使用する場合、関係分野の当業者は、アーキテクチャ上のレイヤ200に少なくとも部分的に基づいて他の通信プロトコルのアーキテクチャ上のレイヤをどのように変更するかを容易に認識する。変更はここに記載されない。
【0023】
図3は、本発明の一実施例による状態機械300を示している。説明を明瞭にするために、
図3は、
図1及び2を参照して説明する。
図3は、本発明の一実施例の送信デバイス及び/又は受信デバイスのトレーニング段階中の状態を示している。説明を明瞭にするために、
図3に示されていない状態機械300の他の状態が存在してもよい。
【0024】
本発明の一実施例では、状態機械300は、物理レイヤ215及び225に実装される。本発明の他の実施例では、状態機械300は、リンクレイヤ214及び224に実装される。本発明の更に他の実施例では、状態機械300は、デバイス1 210及びデバイス2 220のファームウェア若しくはソフトウェア又はこれらのいずれかの組み合わせに実装される。関係分野の当業者は、本発明の動作に影響を与えることなく、状態機械300がいずれかの構成又は形式でデバイス又はプラットフォームに実装され得ることを容易に認識する。
【0025】
本発明の一実施例では、プラットフォーム100の送信デバイス及び受信デバイスは、状態機械300に従って動作するロジックを有する。状態機械300は、電源ノイズの低減を可能にする通信リンク230及び232のトレーニングを容易にする。本発明の一実施例では、状態機械300は、リセット状態310と、ポーリング・ビットロック状態320と、ポーリング・レーン・デスキュー(polling lane deskew)状態320と、ポーリング・パラメータ(Params)状態340と、構成状態350と、ループバック状態360とを有する。
図3は、本発明の一実施例の送信デバイス及び/受信デバイスのトレーニング段階中の状態を示している。
【0026】
任意選択のリセット状態310では、デバイスはリセットモードに入り、全ての設定がデフォルト値又は初期値に設定される。本発明の一実施例では、デバイスの設定のデフォルト値又は初期値はプログラム可能である。例えば、本発明の一実施例では、デバイスのデフォルト設定は、デバイスのデフォルト設定を格納するレジスタの値を変更することによりプログラムされてもよい。
【0027】
デバイスは、トレーニング又は再トレーニング段階になったときに、ポーリング・ビットロック状態320に入る。本発明の一実施例では、送信デバイスは、各単位間隔(UI)の間に通信リンクの1つ以上のチャネル又はレーンで循環ビットロックパターンを送信することにより、受信装置との通信リンクの1つ以上のチャネル又はレーンのそれぞれについてビットロックパターンをずらす。本発明の一実施例では、送信デバイスは、受信デバイスとの通信リンクの1つ以上のチャネル又はレーンのそれぞれについてトレーニングシーケンスをスクランブル化する。受信デバイスは、送信デバイスとの通信リンクの1つ以上のチャネル又はレーンのそれぞれについてずらされたビットロックパターンを受信し、通信リンクの1つ以上のチャネル又はレーンのそれぞれについてトレーニングシーケンスをスクランブル解除する。
【0028】
デバイスが受信(Rx)インバンド・リセット315要求を受信すると、デバイスは、ポーリング・ビットロック状態320からリセット状態310に遷移する。本発明の一実施例では、デバイスは、タイマ又はカウンタに基づいてポーリング・ビットロック状態320からポーリング・レーン・デスキュー状態330に遷移する。ポーリング・レーン・デスキュー状態330では、受信デバイスは、送信デバイスとの通信リンクのデスキュー(deskew)を実行する。デバイスが初期化中断要求又はRxインバンド・リセット要求302を受信した場合、デバイスは、ポーリング・レーン・デスキュー状態330からリセット状態310に遷移する。
【0029】
少なくとも1つの良好な受信レーン又はリンク335が存在する場合、デバイスは、ポーリング・レーン・デスキュー状態330からポーリング・パラメータ状態340に遷移する。ポーリング・パラメータ状態340では、デバイスは、通信リンクを構成するために関係するパラメータを取得する。パラメータは、データ転送のレート、送信電力、受信感度、及び通信リンクを構成するために必要な他のパラメータを含むが、これらに限定されない。デバイスが初期化中断要求又はRxインバンド・リセット要求302を受信した場合、デバイスは、ポーリング・パラメータ状態340からリセット状態310に遷移する。
【0030】
本発明の一実施例では、デバイスは、ポーリング・パラメータ状態340から任意選択のループバック状態360に遷移することにより、ループバックに構成されてもよい。ループバックでは、一方は、スクランブル化されたトレーニングシーケンスを送信するマスターとして動作し、他方は、いずれかのビット境界をループバックするスレーブとして動作する。本発明の一実施例では、これは、マスターにおいてループバックヘッダを再同期する簡単な方法である。本発明の一実施例では、スレーブデバイスは、ループバックに加えてパターンを検査又は確認する。デバイスがパラメータのポーリングを終了した後に、デバイスは、ポーリング・パラメータ状態340から構成状態350に遷移する。本発明の一実施例では、構成状態350において、デバイスは、パラメータによって構成される。
【0031】
状態機械300は限定を意味するものではなく、本発明の動作に影響を与えることなく、状態機械300の他の構成が使用されてもよい。例えば、本発明の他の実施例では、必要に応じて更に多くの状態が状態機械300に追加されてもよい。本発明の他の実施例では、いくつかの状態機械が組み合わされてもよい。
【0032】
図4は、本発明の一実施例によるトレーニング段階のタイミング
図400を示している。説明を明瞭にするために、4つの通信リンク又はレーン0 410、1 420、2 430及び3 410が示されている。本発明の他の実施例では、4つより多くの通信レーン又は4つ未満の通信レーンが存在してもよい。
【0033】
本発明の一実施例では、トレーニング段階は、ビットロック段階402と、トレーニングシーケンス(TS:training sequence)デスキュー段階404とを有する。ビットロック段階402では、送信デバイスは、通信レーン0 410、1 420、2 430及び3 410の間でずらされたバイトロックパターン412を送信する。本発明の一実施例では、バイトロックパターン412は、既知又は所定のシーケンスである。例えば、本発明の一実施例では、バイトロックパターン412は、シードを使用して生成されたPRBSシーケンスである。関係分野の当業者は、PRBSシーケンスを生成する方法を容易に認識する。これはここでは記載されない。
【0034】
本発明の一実施例では、通信レーン0 410、1 420、2 430及び3 410のそれぞれについて同じバイトロックパターン412を生成するために、PRBSシーケンスを生成するためにバイトロックパターン412と同じシードが使用される。送信デバイスは、バイトロックパターン412が各ユーザ間隔(UI:user interval)の間に通信レーン0 410、1 420、2 430及び3 410の1つのみで送信されることを確保する。例えば、本発明の一実施例では、0UIから24UIの間隔の間に、バイトロックパターン412は、通信レーン0 410のみで送信される。本発明の一実施例では、これは、同じロジックがレーンの間で共有されることを可能にする。
【0035】
通信レーン1 420、2 430及び3 410は、それぞれバイトロックパターン421、431及び441を送信してもよい。24UIから48UIの間隔の間に、バイトロックパターン412は、通信レーン1 420のみで送信される。48UIから72UIの間隔の間に、バイトロックパターン412は、通信レーン2 430のみで送信される。72UIから98UIの間隔の間に、バイトロックパターン412は、通信レーン3 440のみで送信される。
【0036】
バイトロック406は、受信デバイスがビットロックを取得するために必要な時間を示す。本発明の一実施例では、受信デバイスによるバイトロックの後に、送信デバイスは、スクランブル化されたトレーニングシーケンスを送信する。本発明の一実施例では、デスキュー・トレーニングシーケンス(TS_Deskew)414、416、424、434、444は、スクランブル化されたトレーニングシーケンスを示す。
【0037】
図5は、本発明の一実施例に従ってここに開示された方法を実施するシステム500を示している。システム500は、デスクトップコンピュータ、ラップトップコンピュータ、ネットブック、ノートブックコンピュータ、パーソナルデジタルアシスタント(PDA:personal digital assistant)、サーバ、ワークステーション、セルラ電話、モバイルコンピュータデバイス、インターネット機器、又は他の種類のコンピュータデバイスを含むが、これらに限定されない。他の実施例では、ここに開示された方法を実施するために使用されるシステム500は、システム・オン・チップ(SOC:system on a chip)システム又はシステム・イン・パッケージ(SIP:system in package)システムでもよい。
【0038】
プロセッサ510は、システム500の命令を実行する処理コア512を有する。処理コア512は、命令を取り出すプリフェッチロジック、命令をデコードするデコードロジック、命令を実行する実行ロジック等を含むが、これらに限定されない。プロセッサ510は、システム500の命令及び/又はデータをキャッシュするキャッシュメモリ516を有する。本発明の他の実施例では、キャッシュメモリ516は、レベル1、レベル2及びレベル3のキャッシュメモリ、又はプロセッサ510内の他の構成のキャッシュメモリを含むが、これらに限定されない。
【0039】
メモリコントロールハブ(MCH:memory control hub)514は、プロセッサ510が揮発性メモリ532及び/又は不揮発性メモリ534を含むメモリ530にアクセスして通信することを可能にする機能を実行する。揮発性メモリ532は、SDRAM(Synchronous Dynamic Random Access Memory)、DRAM(Dynamic Random Access Memory)、RDRAM(RAMBUS Dynamic Random Access Memory)及び/又は他の種類のランダムアクセスメモリデバイスを含むが、これらに限定されない。不揮発性メモリ534は、NANDフラッシュメモリ、PCM(phase change memory)、ROM(read only memory)、EEPROM(electrically erasable programmable read only memory)を含むが、これらに限定されない。
【0040】
メモリ530は、プロセッサ510により実行される情報及び命令を格納する。メモリ530はまた、プロセッサ510が命令を実行している間に、一時変数又は他の中間情報を格納してもよい。チップセット520は、ポイント・ツー・ポイント(PtP:Point-to-Point)インタフェース517及び522を介してプロセッサ510に接続する。チップセット520は、プロセッサ510がシステム500の他のモジュールに接続することを可能にする。本発明の一実施例では、インタフェース517及び522は、Intel(R) QPI(QuickPath Interconnect)等のようなPtP通信プロトコルに従って動作する。チップセット520は、液晶ディスプレイ(LCD:liquid crystal display)、陰極線管(CRT:cathode ray tube)ディスプレイ、又は他の形式の視覚ディスプレイデバイスを含むが、これらに限定されないディスプレイデバイス540に接続する。
【0041】
更に、チップセット520は、様々なモジュール574、580、582、584及び586に相互接続する1つ以上のバス550及び560に接続する。バス速度又は通信プロトコルに不一致が存在する場合、バス550及び560は、バスブリッジ572を介して互いに相互接続されてもよい。チップセット520は、不揮発性メモリ580、大容量記憶デバイス582、キーボード/マウス584及びネットワークインタフェース586と結合するが、これらに限定されない。大容量記憶デバイス582は、ソリッドステートドライブ、ハードディスクドライブ、ユニバーサルシリアルバス・フラッシュメモリデバイス又は他の形式のコンピュータデータ記憶媒体を含むが、これらに限定されない。ネットワークインタフェース586は、Ethernet(登録商標)インタフェース、USB(universal serial bus)インタフェース、PCI(Peripheral Component Interconnect) Expressインタフェース、無線インタフェース及び/又は他の適切な種類のインタフェースを含むが、これらに限定されないいずれかの種類の周知のネットワークインタフェース標準を使用して実装される。無線インタフェースは、IEEE802.11標準及びその関係するファミリー、HPAV(Home Plug AV)、UWB(Ultra Wide Band)、Bluetooth(登録商標)、WiMax又は他の形式の無線通信プロトコルに従って動作するが、これらに限定されない。
【0042】
図5に示すモジュールは、システム500内の別々のブロックとして示されているが、これらのブロックのいくつかにより実行される機能は、単一の半導体回路内に統合されてもよく、2つ以上の別々の集積回路を使用して実装されてもよい。例えば、キャッシュメモリ516は、プロセッサ510内の別々のブロックとして示されているが、キャッシュメモリ516は、それぞれプロセッサコア512に組み込まれてもよい。本発明の他の実施例では、システム500は、1つより多くのプロセッサ/処理コアを含んでもよい。
【0043】
ここに開示された方法は、ハードウェア、ソフトウェア、ファームウェア又はこれらの他の組み合わせで実装されてもよい。開示された対象の実施例の例について説明したが、関係分野の当業者は、開示された対象を実施する多くの他の方法が代わりに使用されてもよいことを容易に認識する。前述の説明では、開示された対象の様々な側面について説明した。説明の目的で、対象の完全な理解を提供するために、特定の数字、システム及び構成が示された。しかし、対象が特定の詳細なしに実行されてもよいことは、この開示の利益を有する関係分野の当業者にとって明らかである。他の場合にも、開示された対象を曖昧にしないため、周知の機能、構成要素又はモジュールは省略、簡略化、結合又は分離されている。
【0044】
ここで使用される“動作可能”という用語は、デバイス又はシステムが電源オフ状態である場合に、デバイス、システム、プロトコル等が所望の機能を実行することができる又は実行するように適合されることを意味する。開示された対象の様々な実施例は、ハードウェア、ファームウェア、ソフトウェア又はこれらの組み合わせで実装されてもよく、命令、関数、プロシージャ、データ構造、ロジック、アプリケーションプログラム、設計表現、又は設計のシミュレーション、エミュレーション及び制作用のフォーマットのようなプログラムコードを参照することにより、又はプログラムコードと共に記述されてもよい。これは、機械によりアクセスされた場合、機械がタスクを実行すること、抽象データ型若しくはローレベルのハードウェアコンテキストを規定すること、又は結果を生成することを生じる。
【0045】
図面に示す技術は、汎用コンピュータ又はコンピュータデバイスのような1つ以上のコンピュータデバイスに格納されて実行されるコード及びデータを使用して実装されてもよい。このようなコンピュータデバイスは、機械可読記憶媒体(例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリデバイス、相変化メモリ)及び機械可読通信媒体(例えば、電気信号、光信号、音響信号又は他の形式の伝搬信号−搬送波、赤外線信号、デジタル信号等)のような機械可読媒体を使用して、コード及びデータを格納して(内部で及びネットワーク上で他のコンピュータデバイスと)通信する。
【0046】
例示の実施例を参照して開示された対象について説明したが、この説明は限定的な意味で解釈されることを意図するものではない。開示された対象が関係することが当業者に明らかな例示の実施例の様々な変更及び対象の他の実施例は、開示された対象の範囲内に入るものと考えられる。