(57)【特許請求の範囲】
【請求項１】
複数の通信リンクのそれぞれについてビットロックパターンの送信時間をずらし、
前記ビットロックパターンの送信後に、前記複数の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル化するロジックを有する装置。
【請求項２】
前記複数の通信リンクのそれぞれについて前記ビットロックパターンの前記送信時間をずらすロジックは、各単位間隔の間に前記複数の通信リンクのうち１つのみで前記ビットロックパターンを送信するようにする、請求項１に記載の装置。
【請求項３】
前記ビットロックパターンは、既知のシードを用いた擬似乱数バイナリシーケンス（PBRS：pseudo  random  binary  sequence）であり、
前記複数の通信リンクのそれぞれについて前記トレーニングシーケンスをスクランブル化するロジックは、前記ずらされたビットロックパターンとの前記トレーニングシーケンスのビット毎のXOR演算を実行するようにする、請求項１に記載の装置。
【請求項４】
前記トレーニングシーケンスは、デスキュー・トレーニングシーケンスである、請求項１に記載の装置。
【請求項５】
前記複数の通信リンクは、QPI（QuickPath  Interconnect）、PCIe（Peripheral  Component  Interconnect  Express）及びSMI（Scalable  Memory  Interconnect）のうち１つに従って動作する、請求項１に記載の装置。
【請求項６】
前記複数の通信リンクは、シリアル通信リンク、パラレル通信リンク、半二重通信リンク及び全二重通信リンクのうち１つを有する、請求項１に記載の装置。
【請求項７】
前記装置は、ループバックモードのマスターデバイスであり、
前記ロジックは、更に、
いずれかの単位間隔の境界でループバックされた受信後のスクランブル化されたトレーニングシーケンスを再デスキューするようにする、請求項１に記載の装置。
【請求項８】
複数の通信リンクのそれぞれについて送信時間がずらされたビットロックパターンを受信し、
前記ビットロックパターンの受信後に、前記複数の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル解除するロジックを有する装置。
【請求項９】
前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信するロジックは、前記複数の通信リンクのトレーニング中に前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信するようにする、請求項８に記載の装置。
【請求項１０】
前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信するロジックは、各単位間隔の間に前記複数の通信リンクのうち１つのみで前記ビットロックパターンを受信するようにする、請求項８に記載の装置。
【請求項１１】
前記ビットロックパターンは、既知のシードを用いた擬似乱数バイナリシーケンス（PBRS）である、請求項８に記載の装置。
【請求項１２】
前記トレーニングシーケンスは、デスキュー・トレーニングシーケンスである、請求項８に記載の装置。
【請求項１３】
前記複数の通信リンクは、QPI（QuickPath  Interconnect）、PCIe（Peripheral  Component  Interconnect  Express）及びSMI（Scalable  Memory  Interconnect）のうち１つに従って動作する、請求項８に記載の装置。
【請求項１４】
前記複数の通信リンクは、シリアル通信リンク、パラレル通信リンク、半二重通信リンク及び全二重通信リンクのうち１つを有する、請求項８に記載の装置。
【請求項１５】
前記装置は、ループバックモードのスレーブデバイスであり、
前記ロジックは、更に、受信後のスクランブル化されたトレーニングシーケンスが正確に受信されたか否かを検査するようにする、請求項８に記載の装置。
【請求項１６】
前記装置は、ループバックモードのスレーブデバイスであり、
前記ロジックは、更に、前記複数の通信リンクにおいていずれかの単位間隔の境界で前記受信後のスクランブル化されたトレーニングシーケンスをループバックするようにする、請求項８に記載の装置。
【請求項１７】
複数の通信リンクのそれぞれについてビットロックパターンの送信時間をずらすステップと、
前記ビットロックパターンの送信後に、前記複数の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル化するステップと
を有する方法。
【請求項１８】
前記複数の通信リンクのそれぞれについて前記ビットロックパターンの前記送信時間をずらすステップは、各単位間隔の間に前記複数の通信リンクのうち１つのみで前記ビットロックパターンを送信することを有する、請求項１７に記載の方法。
【請求項１９】
前記ビットロックパターンは、既知のシードを用いた擬似乱数バイナリシーケンス（PBRS）であり、
前記複数の通信リンクのそれぞれについて前記トレーニングシーケンスをスクランブル化するステップは、前記ずらされたビットロックパターンとの前記トレーニングシーケンスのビット毎のXOR演算を実行することを有する、請求項１７に記載の方法。
【請求項２０】
前記トレーニングシーケンスは、デスキュー・トレーニングシーケンスである、請求項１７に記載の方法。
【請求項２１】
前記複数の通信リンクは、QPI（QuickPath  Interconnect）、PCIe（Peripheral  Component  Interconnect  Express）及びSMI（Scalable  Memory  Interconnect）のうち１つに従って動作する、請求項１７に記載の方法。
【請求項２２】
いずれかの単位間隔の境界でループバックされた受信後のスクランブル化されたトレーニングシーケンスを再デスキューするステップを更に有する、請求項１７に記載の方法。
【請求項２３】
複数の通信リンクのそれぞれについて送信時間がずらされたビットロックパターンを受信するステップと、
前記ビットロックパターンの受信後に、前記複数の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル解除するステップと
を有する方法。
【請求項２４】
前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信するステップは、前記複数の通信リンクのトレーニング中に前記複数の通信リンクのそれぞれについて送信時間がずらされた前記ビットロックパターンを受信することを有する、請求項２３に記載の方法。
【請求項２５】
前記複数の通信リンクのそれぞれについて前記送信時間がずらされたビットロックパターンを受信するステップは、各単位間隔の間に前記複数の通信リンクのうち１つのみで前記ビットロックパターンを受信することを有する、請求項２３に記載の方法。
【請求項２６】
前記ビットロックパターンは、既知のシードを用いた擬似乱数バイナリシーケンス（PBRS）である、請求項２３に記載の方法。
【請求項２７】
前記トレーニングシーケンスは、デスキュー・トレーニングシーケンスである、請求項２３に記載の方法。
【請求項２８】
前記複数の通信リンクは、QPI（QuickPath  Interconnect）、PCIe（Peripheral  Component  Interconnect  Express）及びSMI（Scalable  Memory  Interconnect）のうち１つに従って動作する、請求項２３に記載の方法。
【請求項２９】
受信後のスクランブル化されたトレーニングシーケンスが正確に受信されたか否かを検査するステップを更に有する、請求項２３に記載の方法。
【請求項３０】
前記複数の通信リンクにおいていずれかの単位間隔の境界で前記受信後のスクランブル化されたトレーニングシーケンスをループバックするステップを更に有する、請求項２３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信リンクに関し、排他的ではないが、特に高速リンクのトレーニング中に電源ノイズの影響を低減する方法及びシステムに関する。
【背景技術】
【０００２】
デバイス又はエージェントは、しばしば非常に高いデータレートで１つ以上の通信リンク又はレーンを使用して通信する。通信リンクは、全てのレーンで同時に送信されるトレーニングシーケンス（training  sequence）及びビットロックパターン（bit  lock  pattern）を使用してトレーニング段階中に構成される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、通信リンクがトレーニング段階中に高速で動作している場合、パターンの繰り返し周波数は、高調波（harmonic）の１つがパッケージ周波数に一致することをもたらす可能性があり、結果の共振が電源ノイズを増加させる可能性がある。
【図面の簡単な説明】
【０００４】
【図１】本発明の一実施例によるプラットフォームのブロック図
【図２】本発明の一実施例による２つの通信可能に結合されたデバイスのアーキテクチャ上のレイヤ
【図３】本発明の実施例による状態機械
【図４】本発明の一実施例によるトレーニング段階のタイミング図
【図５】本発明の一実施例に従ってここに開示された方法を実施するシステム
【発明を実施するための形態】
【０００５】
本発明の実施例の特徴及び利点は、対象の以下の詳細な説明から明らかになる。
【０００６】
ここに開示される本発明の実施例は、添付の図面に限定ではなく、一例として示されている。説明を簡潔且つ明瞭にするために、図面に示す要素は、必ずしも縮尺通りに描かれていない。例えば、明瞭にするために、或る要素の大きさは、他の要素に対して誇張されることがある。更に、適切と考えられる場合には、対応する要素又は同様の要素を示すために、参照符号が図面の間で繰り返されている。明細書において本発明の“一実施例”又は“実施例”への言及は、その実施例に関して記載する機能、構造又は特徴が本発明の少なくとも１つの実施例に含まれることを意味する。従って、明細書を通じて様々な場所に“一実施例では”という語句が現れることは、必ずしも同じ実施例を示しているとは限らない。
【０００７】
本発明の実施例は、高速通信リンクのトレーニング中にプラットフォームの電源ノイズを低減する方法及びシステムを提供する。プラットフォームのデバイスは、シリアル通信リンク、パラレル通信リンク、半二重通信リンク、全二重通信リンク等を含むが、これらに限定されない通信リンクを使用する。本発明の一実施例では、デバイスは、１つ以上の通信リンクのそれぞれについてビットロックパターンをずらし（stagger）、１つ以上の通信リンクのそれぞれについてトレーニングシーケンスをスクランブル化するロジックを有する。本発明の一実施例では、トレーニングシーケンスのスクランブル化は、ビットロックパターンとのトレーニングシーケンスのビット単位のXOR演算により実行される。
【０００８】
通信リンクの信号の種類は、シングルエンド信号、低電圧差動信号（LVDS：low  voltage  differential  signal）及び他の形式の信号を含むが、これらに限定されない。本発明の一実施例では、通信リンクは、全て同時にトレーニングされる。本発明の他の実施例では、通信リンクは、１つ以上のグループに構成され、グループが同時に又は異なる時間にトレーニングされてもよい。
【０００９】
図１は、本発明の一実施例によるプラットフォームのブロック図100を示している。プラットフォームは、デスクトップコンピュータ、ラップトップコンピュータ、ネットブック、タブレットコンピュータ、ノートブックコンピュータ、パーソナルデジタルアシスタント（PDA：personal  digital  assistant）、サーバ、ワークステーション、セルラ電話、モバイルコンピュータデバイス、インターネット機器、又は他の種類のコンピュータデバイスを含むが、これらに限定されない。
【００１０】
本発明の一実施例では、プラットフォーム100は、デバイス1  110と、デバイス2  120と、デバイス3  130と、デバイス4  140と、メモリモジュール1  150と、メモリモジュール2  160とを有する。デバイス1  110は、２つの通信リンク又はレーン112及び114を介してデバイス2  120に結合される。デバイス1  110は、通信リンク112を介してデバイス120に情報を送信し、通信リンク114を介してデバイス120から情報を受信する。デバイス1  110はまた、２つの通信リンク又はレーン122及び124を介してデバイス3  130に結合される。デバイス3  130もまた、２つの通信リンク142及び144を介してデバイス4  140に結合される。
【００１１】
本発明の一実施例では、デバイス1  110は、２つの通信リンク152及び154を介してメモリモジュール1  150に結合される。同様に、本発明の一実施例では、デバイス2  120は、２つの通信リンク162及び164を介してメモリモジュール2  160に結合される。本発明の一実施例では、デバイス1  110及びデバイス2  120は、それぞれメモリモジュール1  150及びメモリモジュール2  160と通信するための統合されたメモリホストコントローラを有する。
【００１２】
通信リンク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の１つ以上のチャネルは、デバイス2  120からデバイス1  110に流れるようにプログラムされてもよい。同様に、通信リンク114の１つ以上のチャネルは、デバイス1  110からデバイス2  120に流れるようにプログラムされてもよい。
【００１３】
本発明の一実施例では、デバイス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の１つ以上のチャネル又はレーンのそれぞれについてビットロックパターンをずらし、通信リンク112の１つ以上のチャネル又はレーンのそれぞれについてトレーニングシーケンスをスクランブル化する機能を有する。本発明の一実施例では、デバイス1  110は、トレーニングされる通信リンク112の１つ以上のチャネルを選択してもよい。
【００１４】
本発明の一実施例では、デバイス1  110は、各単位間隔（UI：unit  interval）の間に通信リンク112の１つ以上のチャネル又はレーンで循環ビットロックパターンを送信することにより、通信リンク112の１つ以上のチャネル又はレーンのそれぞれについてビットロックパターンをずらす。デバイス2  120は、通信リンク112の１つ以上のチャネル又はレーンのそれぞれについてずらされたビットロックパターンを受信し、通信リンク112の１つ以上のチャネル又はレーンのそれぞれについてトレーニングシーケンスをスクランブル解除するロジックを有する。
【００１５】
本発明の一実施例では、デバイス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のトレーニングについてここに記載しない。
【００１６】
本発明の一実施例では、通信リンク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は、バッファされたメモリモジュール等を含むが、これらに限定されない。
【００１７】
プラットフォーム100の構成は、本発明の一実施例の例としての役目を果たし、限定を意味するものではない。関係分野の当業者は、本発明の動作に影響を与えることなく、プラットフォーム100の他の構成が使用され得ることを容易に認識する。他の構成は、ここに記載されない。例えば、本発明の一実施例では、プラットフォーム100は、１つ以上の周辺機器論理モジュールを有する。
【００１８】
図２は、本発明の一実施例による２つの通信可能に結合されたデバイス又はエージェントのアーキテクチャ上のレイヤ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に情報を送信する。
【００１９】
本発明の一実施例では、デバイス1  210及びデバイス2  220は、電源ノイズの低減を可能にする、通信リンク230及び232のトレーニングを容易にするための物理レイヤ215及び225のロジックを有する。これは、ノイズ防止回路の必要性を除去し、また、デバイスのシリコン領域及び電力を低減する。更に、通信リンク230及び232のトレーニングを容易にするために物理レイヤ215及び225にロジックを有することにより、共振周波数をシフトするためにデバイスのパッケージを再設計する必要性を除去する。
【００２０】
本発明の一実施例では、物理レイヤ215及び225の間の通信リンク230及び232は配線結合される。配線結合は、相互接続ケーブル又は配線、印刷基板回路（PCB：printed  circuit  board）の電気トレース（electrical  trace）等を含むが、これらに限定されない。通信リンク230及び232は、物理的に異なる接続（すなわち、TXロジックとRXロジックとの間の一方向接続）を意味してもよく、同じ接続（すなわち、TXロジックとRXロジックとの間の双方向接続）を意味してもよい。ただし、TXロジックとRXロジックとの役目は、２つのエンドの間で交互になる。
【００２１】
本発明の一実施例では、リンクレイヤ214及び224は、デバイス1  210とデバイス2  220との間での情報の信頼性のある送信及びフロー制御を確保する。本発明の一実施例では、リンクレイヤ214及び224は、デバイス1  210とデバイス2  220との間で同期機構を実施するロジックを有する。本発明の一実施例では、ルーティングレイヤ213及び223は、ファブリックを通じてパケットを振り向けるフレームワークを提供する。トランスポートレイヤ212及び222は、データのエンド・ツー・エンドの送信を含むが、これに限定されない高度なルーティング機能を提供する。
【００２２】
本発明の一実施例では、プロトコルレイヤ211及び221は、デバイス1  210とデバイス2  220との間でデータパケットを交換するためのハイレベルな一式のルールを有する。図２に示すアーキテクチャ上のレイヤ200は、限定を意味するものではなく、関係分野の当業者は、本発明の動作に影響を与えることなく、アーキテクチャ上のレイヤ200の他の構成が使用され得ることを容易に認識する。例えば、本発明の一実施例では、通信リンクの片側のデバイスは、一方が他方からの適切なパターンを送信及び受信するように備えられている限り、如何なるレイヤ構成を有してもよい。本発明の他の実施例では、トランスポートレイヤ212及び224は、アーキテクチャ上のレイヤ200の一部ではない。デバイス1  210及びデバイス2  220が他の通信プロトコルを使用する場合、関係分野の当業者は、アーキテクチャ上のレイヤ200に少なくとも部分的に基づいて他の通信プロトコルのアーキテクチャ上のレイヤをどのように変更するかを容易に認識する。変更はここに記載されない。
【００２３】
図３は、本発明の一実施例による状態機械300を示している。説明を明瞭にするために、図３は、図１及び２を参照して説明する。図３は、本発明の一実施例の送信デバイス及び／又は受信デバイスのトレーニング段階中の状態を示している。説明を明瞭にするために、図３に示されていない状態機械300の他の状態が存在してもよい。
【００２４】
本発明の一実施例では、状態機械300は、物理レイヤ215及び225に実装される。本発明の他の実施例では、状態機械300は、リンクレイヤ214及び224に実装される。本発明の更に他の実施例では、状態機械300は、デバイス1  210及びデバイス2  220のファームウェア若しくはソフトウェア又はこれらのいずれかの組み合わせに実装される。関係分野の当業者は、本発明の動作に影響を与えることなく、状態機械300がいずれかの構成又は形式でデバイス又はプラットフォームに実装され得ることを容易に認識する。
【００２５】
本発明の一実施例では、プラットフォーム100の送信デバイス及び受信デバイスは、状態機械300に従って動作するロジックを有する。状態機械300は、電源ノイズの低減を可能にする通信リンク230及び232のトレーニングを容易にする。本発明の一実施例では、状態機械300は、リセット状態310と、ポーリング・ビットロック状態320と、ポーリング・レーン・デスキュー（polling  lane  deskew）状態320と、ポーリング・パラメータ（Params）状態340と、構成状態350と、ループバック状態360とを有する。図３は、本発明の一実施例の送信デバイス及び／受信デバイスのトレーニング段階中の状態を示している。
【００２６】
任意選択のリセット状態310では、デバイスはリセットモードに入り、全ての設定がデフォルト値又は初期値に設定される。本発明の一実施例では、デバイスの設定のデフォルト値又は初期値はプログラム可能である。例えば、本発明の一実施例では、デバイスのデフォルト設定は、デバイスのデフォルト設定を格納するレジスタの値を変更することによりプログラムされてもよい。
【００２７】
デバイスは、トレーニング又は再トレーニング段階になったときに、ポーリング・ビットロック状態320に入る。本発明の一実施例では、送信デバイスは、各単位間隔（UI）の間に通信リンクの１つ以上のチャネル又はレーンで循環ビットロックパターンを送信することにより、受信装置との通信リンクの１つ以上のチャネル又はレーンのそれぞれについてビットロックパターンをずらす。本発明の一実施例では、送信デバイスは、受信デバイスとの通信リンクの１つ以上のチャネル又はレーンのそれぞれについてトレーニングシーケンスをスクランブル化する。受信デバイスは、送信デバイスとの通信リンクの１つ以上のチャネル又はレーンのそれぞれについてずらされたビットロックパターンを受信し、通信リンクの１つ以上のチャネル又はレーンのそれぞれについてトレーニングシーケンスをスクランブル解除する。
【００２８】
デバイスが受信（Rx）インバンド・リセット315要求を受信すると、デバイスは、ポーリング・ビットロック状態320からリセット状態310に遷移する。本発明の一実施例では、デバイスは、タイマ又はカウンタに基づいてポーリング・ビットロック状態320からポーリング・レーン・デスキュー状態330に遷移する。ポーリング・レーン・デスキュー状態330では、受信デバイスは、送信デバイスとの通信リンクのデスキュー（deskew）を実行する。デバイスが初期化中断要求又はRxインバンド・リセット要求302を受信した場合、デバイスは、ポーリング・レーン・デスキュー状態330からリセット状態310に遷移する。
【００２９】
少なくとも１つの良好な受信レーン又はリンク335が存在する場合、デバイスは、ポーリング・レーン・デスキュー状態330からポーリング・パラメータ状態340に遷移する。ポーリング・パラメータ状態340では、デバイスは、通信リンクを構成するために関係するパラメータを取得する。パラメータは、データ転送のレート、送信電力、受信感度、及び通信リンクを構成するために必要な他のパラメータを含むが、これらに限定されない。デバイスが初期化中断要求又はRxインバンド・リセット要求302を受信した場合、デバイスは、ポーリング・パラメータ状態340からリセット状態310に遷移する。
【００３０】
本発明の一実施例では、デバイスは、ポーリング・パラメータ状態340から任意選択のループバック状態360に遷移することにより、ループバックに構成されてもよい。ループバックでは、一方は、スクランブル化されたトレーニングシーケンスを送信するマスターとして動作し、他方は、いずれかのビット境界をループバックするスレーブとして動作する。本発明の一実施例では、これは、マスターにおいてループバックヘッダを再同期する簡単な方法である。本発明の一実施例では、スレーブデバイスは、ループバックに加えてパターンを検査又は確認する。デバイスがパラメータのポーリングを終了した後に、デバイスは、ポーリング・パラメータ状態340から構成状態350に遷移する。本発明の一実施例では、構成状態350において、デバイスは、パラメータによって構成される。
【００３１】
状態機械300は限定を意味するものではなく、本発明の動作に影響を与えることなく、状態機械300の他の構成が使用されてもよい。例えば、本発明の他の実施例では、必要に応じて更に多くの状態が状態機械300に追加されてもよい。本発明の他の実施例では、いくつかの状態機械が組み合わされてもよい。
【００３２】
図４は、本発明の一実施例によるトレーニング段階のタイミング図400を示している。説明を明瞭にするために、４つの通信リンク又はレーン0  410、1  420、2  430及び3  410が示されている。本発明の他の実施例では、４つより多くの通信レーン又は４つ未満の通信レーンが存在してもよい。
【００３３】
本発明の一実施例では、トレーニング段階は、ビットロック段階402と、トレーニングシーケンス（TS：training  sequence）デスキュー段階404とを有する。ビットロック段階402では、送信デバイスは、通信レーン0  410、1  420、2  430及び3  410の間でずらされたバイトロックパターン412を送信する。本発明の一実施例では、バイトロックパターン412は、既知又は所定のシーケンスである。例えば、本発明の一実施例では、バイトロックパターン412は、シードを使用して生成されたPRBSシーケンスである。関係分野の当業者は、PRBSシーケンスを生成する方法を容易に認識する。これはここでは記載されない。
【００３４】
本発明の一実施例では、通信レーン0  410、1  420、2  430及び3  410のそれぞれについて同じバイトロックパターン412を生成するために、PRBSシーケンスを生成するためにバイトロックパターン412と同じシードが使用される。送信デバイスは、バイトロックパターン412が各ユーザ間隔（UI：user  interval）の間に通信レーン0  410、1  420、2  430及び3  410の１つのみで送信されることを確保する。例えば、本発明の一実施例では、0UIから24UIの間隔の間に、バイトロックパターン412は、通信レーン0  410のみで送信される。本発明の一実施例では、これは、同じロジックがレーンの間で共有されることを可能にする。
【００３５】
通信レーン1  420、2  430及び3  410は、それぞれバイトロックパターン421、431及び441を送信してもよい。24UIから48UIの間隔の間に、バイトロックパターン412は、通信レーン1  420のみで送信される。48UIから72UIの間隔の間に、バイトロックパターン412は、通信レーン2  430のみで送信される。72UIから98UIの間隔の間に、バイトロックパターン412は、通信レーン3  440のみで送信される。
【００３６】
バイトロック406は、受信デバイスがビットロックを取得するために必要な時間を示す。本発明の一実施例では、受信デバイスによるバイトロックの後に、送信デバイスは、スクランブル化されたトレーニングシーケンスを送信する。本発明の一実施例では、デスキュー・トレーニングシーケンス（TS_Deskew）414、416、424、434、444は、スクランブル化されたトレーニングシーケンスを示す。
【００３７】
図５は、本発明の一実施例に従ってここに開示された方法を実施するシステム500を示している。システム500は、デスクトップコンピュータ、ラップトップコンピュータ、ネットブック、ノートブックコンピュータ、パーソナルデジタルアシスタント（PDA：personal  digital  assistant）、サーバ、ワークステーション、セルラ電話、モバイルコンピュータデバイス、インターネット機器、又は他の種類のコンピュータデバイスを含むが、これらに限定されない。他の実施例では、ここに開示された方法を実施するために使用されるシステム500は、システム・オン・チップ（SOC：system  on  a  chip）システム又はシステム・イン・パッケージ（SIP：system  in  package）システムでもよい。
【００３８】
プロセッサ510は、システム500の命令を実行する処理コア512を有する。処理コア512は、命令を取り出すプリフェッチロジック、命令をデコードするデコードロジック、命令を実行する実行ロジック等を含むが、これらに限定されない。プロセッサ510は、システム500の命令及び／又はデータをキャッシュするキャッシュメモリ516を有する。本発明の他の実施例では、キャッシュメモリ516は、レベル1、レベル2及びレベル3のキャッシュメモリ、又はプロセッサ510内の他の構成のキャッシュメモリを含むが、これらに限定されない。
【００３９】
メモリコントロールハブ（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）を含むが、これらに限定されない。
【００４０】
メモリ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に接続する。
【００４１】
更に、チップセット520は、様々なモジュール574、580、582、584及び586に相互接続する１つ以上のバス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又は他の形式の無線通信プロトコルに従って動作するが、これらに限定されない。
【００４２】
図５に示すモジュールは、システム500内の別々のブロックとして示されているが、これらのブロックのいくつかにより実行される機能は、単一の半導体回路内に統合されてもよく、２つ以上の別々の集積回路を使用して実装されてもよい。例えば、キャッシュメモリ516は、プロセッサ510内の別々のブロックとして示されているが、キャッシュメモリ516は、それぞれプロセッサコア512に組み込まれてもよい。本発明の他の実施例では、システム500は、１つより多くのプロセッサ／処理コアを含んでもよい。
【００４３】
ここに開示された方法は、ハードウェア、ソフトウェア、ファームウェア又はこれらの他の組み合わせで実装されてもよい。開示された対象の実施例の例について説明したが、関係分野の当業者は、開示された対象を実施する多くの他の方法が代わりに使用されてもよいことを容易に認識する。前述の説明では、開示された対象の様々な側面について説明した。説明の目的で、対象の完全な理解を提供するために、特定の数字、システム及び構成が示された。しかし、対象が特定の詳細なしに実行されてもよいことは、この開示の利益を有する関係分野の当業者にとって明らかである。他の場合にも、開示された対象を曖昧にしないため、周知の機能、構成要素又はモジュールは省略、簡略化、結合又は分離されている。
【００４４】
ここで使用される“動作可能”という用語は、デバイス又はシステムが電源オフ状態である場合に、デバイス、システム、プロトコル等が所望の機能を実行することができる又は実行するように適合されることを意味する。開示された対象の様々な実施例は、ハードウェア、ファームウェア、ソフトウェア又はこれらの組み合わせで実装されてもよく、命令、関数、プロシージャ、データ構造、ロジック、アプリケーションプログラム、設計表現、又は設計のシミュレーション、エミュレーション及び制作用のフォーマットのようなプログラムコードを参照することにより、又はプログラムコードと共に記述されてもよい。これは、機械によりアクセスされた場合、機械がタスクを実行すること、抽象データ型若しくはローレベルのハードウェアコンテキストを規定すること、又は結果を生成することを生じる。
【００４５】
図面に示す技術は、汎用コンピュータ又はコンピュータデバイスのような１つ以上のコンピュータデバイスに格納されて実行されるコード及びデータを使用して実装されてもよい。このようなコンピュータデバイスは、機械可読記憶媒体（例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリデバイス、相変化メモリ）及び機械可読通信媒体（例えば、電気信号、光信号、音響信号又は他の形式の伝搬信号−搬送波、赤外線信号、デジタル信号等）のような機械可読媒体を使用して、コード及びデータを格納して（内部で及びネットワーク上で他のコンピュータデバイスと）通信する。
【００４６】
例示の実施例を参照して開示された対象について説明したが、この説明は限定的な意味で解釈されることを意図するものではない。開示された対象が関係することが当業者に明らかな例示の実施例の様々な変更及び対象の他の実施例は、開示された対象の範囲内に入るものと考えられる。
【図１】
0005770383.tif 000002
【図２】
0005770383.tif 000003
【図３】
0005770383.tif 000004
【図４】
0005770383.tif 000005
【図５】
0005770383.tif 000006