JP2019525507A - Channel training using replica lanes - Google Patents

Channel training using replica lanes Download PDF

Info

Publication number
JP2019525507A
JP2019525507A JP2018556345A JP2018556345A JP2019525507A JP 2019525507 A JP2019525507 A JP 2019525507A JP 2018556345 A JP2018556345 A JP 2018556345A JP 2018556345 A JP2018556345 A JP 2018556345A JP 2019525507 A JP2019525507 A JP 2019525507A
Authority
JP
Japan
Prior art keywords
lane
data
sampling point
replica
adjustment
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
JP2018556345A
Other languages
Japanese (ja)
Other versions
JP2019525507A5 (en
JP6703134B2 (en
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
Advanced Micro Devices Inc
Original Assignee
ATI Technologies ULC
Advanced Micro Devices Inc
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, Advanced Micro Devices Inc filed Critical ATI Technologies ULC
Publication of JP2019525507A publication Critical patent/JP2019525507A/en
Publication of JP2019525507A5 publication Critical patent/JP2019525507A5/ja
Application granted granted Critical
Publication of JP6703134B2 publication Critical patent/JP6703134B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/14Channel dividing arrangements, i.e. in which a single bit stream is divided between several baseband channels and reassembled at the receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/06Speed or phase control by synchronisation signals the synchronisation signals differing from the information signals in amplitude, polarity or frequency or length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/0016Arrangements for synchronising receiver with transmitter correction of synchronization errors
    • H04L7/0033Correction by delay
    • H04L7/0041Delay of data signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/041Speed or phase control by synchronisation signals using special codes as synchronising signal
    • H04L7/043Pseudo-noise [PN] codes variable during transmission

Abstract

レプリカレーンでトレーニングシーケンスを利用するシステム、装置及び方法が説明される。送信機は、複数のレーンを有する通信チャネルを介して受信機に接続されている。1つのレーンは、温度変動、電源変動、又は、他の要因に起因する、最適なサンプリングポイントのドリフトを追跡するのに使用されるレプリカレーンである。データがデータレーンで送信される間、テストパターンがレプリカレーンで送信され、レプリカレーンの最適なサンプリングポイントが以前のテスト以来ドリフトしているかどうかが判別される。最適なサンプリングポイントがレプリカレーンに対してドリフトしている場合、レプリカレーンのサンプリングポイントと、データレーンのサンプリングポイントと、に対して調整が行われる。【選択図】図6Systems, apparatus, and methods that utilize training sequences in replica lanes are described. The transmitter is connected to the receiver via a communication channel having a plurality of lanes. One lane is a replica lane that is used to track optimal sampling point drift due to temperature variations, power supply variations, or other factors. While data is transmitted on the data lane, a test pattern is transmitted on the replica lane to determine if the optimal sampling point of the replica lane has drifted since the previous test. If the optimal sampling point drifts with respect to the replica lane, adjustments are made to the sampling point of the replica lane and the sampling point of the data lane. [Selection] Figure 6

Description

本明細書に記載される実施形態は、データ通信に関し、より詳細には、ビットシリアルデータリンクのトレーニングを実行することに関する。   Embodiments described herein relate to data communications, and more particularly, to performing bit serial data link training.

集積回路のデータスループットは、アプリケーション需要及びデータ消費が増加するにつれて増加し続けている。例えば、マイクロプロセッサ速度の改善率は、メモリ速度の改善率を超え続けている。データの送信レートが増加することで、データを送受信するために使用される回路のタイミング要求が増加する。コンピューティングデバイス及びコンピューティングシステムにおいて利用される多くの回路では、これらの回路内でグローバルクロックを使用してデータが転送される。例えば、クロックの立ち上がりエッジは、フリップフロップに入るデータをロードし、その後、データを、フリップフロップを通過させるか又はフリップフロップから処理することができる。いくつかのシナリオでは、複数のデータレーンのデータバスに単一のクロックが使用され、各データレーンは個別のシリアルビットストリームを伝送する。しかしながら、これは、クロックの遷移をデータバス全体に使用する必要があるのでデータバスの速度が制限されるが、一部のデータビットは、他のデータビットと比較してバスを通るのに時間がかかる場合がある。データレーン間のばらつきが大きすぎる場合、データバス全体において正確にクロックするためにクロックエッジを配置する場所が存在しない場合がある。さらに、温度又は電圧の変動により、レーンの位相アライメントが時間とともに変動することがある。このようなばらつきを補正すると、データのフローが中断され、重要な動作が中断され、データの転送が遅れることがある。   Integrated circuit data throughput continues to increase as application demand and data consumption increase. For example, the microprocessor speed improvement rate continues to exceed the memory speed improvement rate. Increasing the data transmission rate increases the timing requirements of the circuits used to transmit and receive data. In many circuits utilized in computing devices and systems, data is transferred within these circuits using a global clock. For example, a rising edge of the clock can load data that enters the flip-flop, and then the data can be passed through or processed from the flip-flop. In some scenarios, a single clock is used on the data bus for multiple data lanes, and each data lane carries a separate serial bit stream. However, this limits the speed of the data bus because clock transitions must be used for the entire data bus, but some data bits take time to pass through the bus compared to other data bits. May take. If the variation between data lanes is too great, there may not be a place to place a clock edge to clock accurately across the data bus. In addition, lane phase alignment may vary over time due to temperature or voltage variations. When such variations are corrected, the data flow is interrupted, important operations are interrupted, and data transfer may be delayed.

ビットシリアルデータリンクのトレーニングを実行するためのシステム、装置及び方法について検討する。   Consider a system, apparatus, and method for performing bit serial data link training.

一実施形態では、送信機と受信機との間の遅延設定をテストするために、トレーニングシーケンスが実行される。送信機は、複数のデータレーンの通信チャネルを介して受信機に接続されている。一実施形態では、通信チャネルは、追加のレプリカレーンを含む。この追加のレプリカレーンは、周期的追跡(PT)レーンと呼ばれることもある。様々な実施形態では、レプリカレーンは、システムデータを送らない。むしろ、レプリカレーンは、テストデータの送信用のみに構成されている。送信機は、データレーンが通常のシステムデータを送っている間に、レプリカレーンで一連のトレーニングシーケンスを定期的に実行する。トレーニングシーケンスは、温度変動、電源変動、及び/又は、他の要因によるレプリカレーンの僅かなタイミング変化を検出するために実行される。レプリカレーンの位相タイミングにおける変化が検出されると、制御ロジックは、レプリカレーンと通常のデータレーンとの位相タイミングを更新する。   In one embodiment, a training sequence is performed to test the delay setting between the transmitter and receiver. The transmitter is connected to the receiver via communication channels of a plurality of data lanes. In one embodiment, the communication channel includes additional replica lanes. This additional replica lane is sometimes referred to as a periodic tracking (PT) lane. In various embodiments, replica lanes do not send system data. Rather, the replica lane is configured only for test data transmission. The transmitter periodically performs a series of training sequences on the replica lane while the data lane is sending normal system data. The training sequence is performed to detect slight timing changes in the replica lane due to temperature variations, power supply variations, and / or other factors. When a change in the phase timing of the replica lane is detected, the control logic updates the phase timing of the replica lane and the normal data lane.

一実施形態では、送信機は、レプリカレーンでテストパターンを送信すると同時に、チャネルの少なくとも第2レーンで第1データを送信する。受信機が、レプリカレーンで受信したテストパターンにおいて1つ以上のエラーを検出した場合、送信機及び/又は受信機は、レプリカレーンにおいてサンプリングポイントがミスアライメントであると判別する。送信機及び/又は受信機は、レプリカレーンにおいてサンプリングポイントがミスアライメントであると判別すると、第1レーンのサンプリングポイントに対して第1調整を実行し、第2レーンのサンプリングポイントに対して第1調整を実行する。第2レーンのサンプリングポイントに対する第1調整は、レプリカレーンのサンプリングポイントに対する第1調整に相当する。送信機は、第2レーンのサンプリングポイントに対して第1調整を実行した後に、第2レーンで第2データを送信するように構成されている。   In one embodiment, the transmitter transmits the first pattern in at least the second lane of the channel simultaneously with transmitting the test pattern in the replica lane. If the receiver detects one or more errors in the test pattern received in the replica lane, the transmitter and / or receiver determines that the sampling point is misaligned in the replica lane. If the transmitter and / or the receiver determine that the sampling point is misaligned in the replica lane, the transmitter and / or the receiver perform the first adjustment on the sampling point of the first lane and perform the first adjustment on the sampling point of the second lane. Perform adjustments. The first adjustment for the sampling point of the second lane corresponds to the first adjustment for the sampling point of the replica lane. The transmitter is configured to transmit the second data in the second lane after performing the first adjustment on the sampling point of the second lane.

これらの特徴及び利点と、他の特徴及び利点とは、本明細書に提示される以下の詳細な説明を考慮して、当業者に明らかとなるであろう。   These and other features and advantages will be apparent to those skilled in the art in view of the following detailed description presented herein.

方法及びメカニズムの上記の利点と、さらなる利点とは、添付の図面と併せて以下の説明を参照することによって、より良く理解することができる。   The above and further advantages of the method and mechanism can be better understood by referring to the following description in conjunction with the accompanying drawings.

コンピューティングシステムの送信機及び受信機の一実施形態のブロック図である。1 is a block diagram of one embodiment of a transmitter and receiver of a computing system. レプリカレーンのトレーニングシーケンスを実行する一実施形態のタイミング図である。FIG. 6 is a timing diagram of an embodiment for executing a replica lane training sequence. 送信機及び通信チャネルを有するシステムの一実施形態のブロック図である。1 is a block diagram of one embodiment of a system having a transmitter and a communication channel. 受信機及び通信チャネルを有するシステムの一実施形態のブロック図である。1 is a block diagram of an embodiment of a system having a receiver and a communication channel. データアイの一実施形態を示す図である。It is a figure which shows one Embodiment of a data eye. 複数レーンチャネルの位相タイミングを調整する方法の一実施形態を示す一般化されたフロー図である。FIG. 4 is a generalized flow diagram illustrating one embodiment of a method for adjusting the phase timing of multiple lane channels. レプリカレーンを利用してチャネルの他のレーンのサンプリングポイントを調整する方法の他の実施形態を示す一般化されたフロー図である。FIG. 6 is a generalized flow diagram illustrating another embodiment of a method for adjusting sampling points of other lanes of a channel using replica lanes.

下記の説明では、本明細書に提示される方法及びメカニズムを十分に理解してもらうために、多数の具体的な詳細が示されている。しかしながら、当業者であれば、これらの具体的な詳細無しに様々な実施形態を実施可能であることを認識すべきである。いくつかの例では、周知の構造、コンポーネント、信号、コンピュータプログラム命令及び技術は、本明細書で説明するアプローチを不明瞭にするのを避けるために詳細に示されていない。説明を簡単且つ明瞭にするために、図面に示される要素が必ずしも一定の縮尺で描かれていないことを理解されたい。例えば、いくつかの要素の寸法は、他の要素に対して誇張されている。   In the following description, numerous specific details are set forth in order to provide a thorough understanding of the methods and mechanisms presented herein. However, one of ordinary skill in the art should appreciate that various embodiments can be practiced without these specific details. In some instances, well-known structures, components, signals, computer program instructions and techniques have not been shown in detail in order to avoid obscuring the approaches described herein. It should be understood that the elements shown in the drawings are not necessarily drawn to scale for simplicity and clarity of explanation. For example, the dimensions of some elements are exaggerated relative to other elements.

図1を参照すると、コンピューティングシステム100の送信機105及び受信機110の一実施形態を示すブロック図が示されている。送信機105は、チャネル155を介して受信機110に接続されている。チャネル155は、実施形態に応じて、任意の数のデータレーンを含む。また、チャネル155は、レプリカレーン、クロックレーン、及び/又は、1つ以上の他のレーンを含む。コンピューティングシステム100は、クロック145と、クロック150と、図面を不明瞭にするのを避けるために示されていない1つ以上の他のコンポーネントと、を含む。例えば、コンピューティングシステム100は、1つ以上の処理ユニット(例えば、プロセッサ、プロセッサコア、プログラマブルロジックデバイス、特定用途向け集積回路等)、1つ以上のメモリデバイス、及び/又は、他のコンポーネントを含む。1つ以上の処理ユニットは、実施形態に応じて、命令を実行し、及び/又は、1つ以上のタイプの計算(例えば、浮動小数点、整数、メモリ、I/O)を実行するように構成されている。様々な実施形態では、コンピューティングシステム100のコンポーネントは、1つ以上の通信バスによって相互接続されている。一実施形態では、送信機105及び受信機110は、プロセッサのメモリパスに存在する。様々な実施形態において、プロセッサに接続されたメモリは、ダブルデータレート同期ダイナミックランダムアクセスメモリ(DDR SDRAM)である。他の実施形態では、メモリは、他のタイプのメモリデバイスを用いて実装される。   Referring to FIG. 1, a block diagram illustrating one embodiment of a transmitter 105 and a receiver 110 of a computing system 100 is shown. The transmitter 105 is connected to the receiver 110 via a channel 155. Channel 155 includes any number of data lanes, depending on the embodiment. Channel 155 also includes replica lanes, clock lanes, and / or one or more other lanes. The computing system 100 includes a clock 145, a clock 150, and one or more other components not shown to avoid obscuring the drawing. For example, the computing system 100 includes one or more processing units (eg, a processor, processor core, programmable logic device, application specific integrated circuit, etc.), one or more memory devices, and / or other components. . One or more processing units are configured to execute instructions and / or perform one or more types of calculations (eg, floating point, integer, memory, I / O), depending on the embodiment. Has been. In various embodiments, the components of computing system 100 are interconnected by one or more communication buses. In one embodiment, transmitter 105 and receiver 110 are in the memory path of the processor. In various embodiments, the memory connected to the processor is a double data rate synchronous dynamic random access memory (DDR SDRAM). In other embodiments, the memory is implemented using other types of memory devices.

送信機105は、チャネル155に接続されたバッファ115を含む。一実施形態では、バッファ115は、トレーニングシーケンスの状態に関して、送信機105が受信機110からのフィードバックを受信するのを待機している場合に、チャネル155の出力を駆動するか、高インピーダンス状態を生成するためのトライステートバッファである。また、送信機105は、トレーニングシーケンスを生成し、チャネル155のレーンの遅延設定を制御し、及び/又は、他の機能を実行する制御ロジック135も含む。さらに、送信機105は、スーパーサイクルをカウントするためのカウンタ125を含む。様々な実施形態では、スーパーサイクルは、長さが「N」クロックサイクルであり、「N」は正の整数である。例えば、一実施形態では、スーパーサイクルは8クロックサイクルの長さであり、他の実施形態では、スーパーサイクルは数クロックサイクルである。一実施形態では、クロック145は、カウンタ125をクロックするためのクロック信号を提供する。   Transmitter 105 includes a buffer 115 connected to channel 155. In one embodiment, the buffer 115 drives the output of the channel 155 or puts it in a high impedance state when the transmitter 105 is waiting to receive feedback from the receiver 110 regarding the state of the training sequence. This is a tri-state buffer for generation. The transmitter 105 also includes control logic 135 that generates a training sequence, controls lane delay settings for the channel 155, and / or performs other functions. In addition, transmitter 105 includes a counter 125 for counting supercycles. In various embodiments, a supercycle is “N” clock cycles in length, where “N” is a positive integer. For example, in one embodiment, the super cycle is 8 clock cycles long, and in another embodiment, the super cycle is a few clock cycles. In one embodiment, clock 145 provides a clock signal for clocking counter 125.

受信機110は、チャネル155に接続するためのバッファ120を含む。一実施形態では、バッファ120は、フィードバック結果をチャネル155に運ぶ、又は、受信機110が送信機105からデータを受信している場合に高インピーダンス状態を生成するためのトライステートバッファである。また、受信機110は、チャネル155上のトレーニングシーケンス指示を検出し、受信したテストパターンを期待値と比較し、チャネル155のレーンの遅延設定を制御し、及び/又は、他の機能を実行する制御ロジック140を含む。さらに、受信機110は、スーパーサイクルをカウントするためのカウンタ130を含む。一実施形態では、クロック150は、カウンタ130をクロックするためのクロック信号を提供する。他の実施形態では、受信機110は、カウンタ130をクロックするためのクロック信号として、チャネル155で受信したクロック信号を使用する。   Receiver 110 includes a buffer 120 for connection to channel 155. In one embodiment, buffer 120 is a tri-state buffer for carrying the feedback result to channel 155 or generating a high impedance state when receiver 110 is receiving data from transmitter 105. The receiver 110 also detects a training sequence indication on the channel 155, compares the received test pattern with an expected value, controls the lane delay setting of the channel 155, and / or performs other functions. Control logic 140 is included. In addition, receiver 110 includes a counter 130 for counting supercycles. In one embodiment, clock 150 provides a clock signal for clocking counter 130. In other embodiments, receiver 110 uses the clock signal received on channel 155 as the clock signal for clocking counter 130.

送信機105は、チャネル155のレプリカレーン及び1つ以上のデータレーンを介してテストパターンを送信するように構成されている。テストパターンは、チャネル155のレプリカレーン及びデータレーンの最適なサンプリングポイントを決定するために利用される。レプリカレーン及びデータレーンの遅延は、テストパターンの結果に基づいて調整され、通常のデータオペレーションが開始される。定期的に、送信機105は、データレーンがシステムデータを送る間に、レプリカレーンを介して追加のテストパターンを送信するように構成されている。システム100が、前回のテスト以来レプリカレーンの最適なサンプリングポイントがドリフトしていると判別した場合に、システム100は、レプリカレーンのサンプリングポイントを調整して、最適なサンプリングポイントにアライメントさせる。また、システム100は、データレーンのサンプリングポイントに対して同等の調整を行う。このようにして、温度変動、電源変動、及び/又は、他の要因によるデータレーンのサンプリングポイントのドリフトが、システムデータのフローを中断することなく補正される。   The transmitter 105 is configured to transmit the test pattern via the replica lane of the channel 155 and one or more data lanes. The test pattern is used to determine the optimal sampling points for the replica lane and data lane of channel 155. The delay of the replica lane and the data lane is adjusted based on the result of the test pattern, and normal data operation is started. Periodically, the transmitter 105 is configured to send additional test patterns via the replica lane while the data lane sends system data. If the system 100 determines that the optimal sampling point of the replica lane has drifted since the previous test, the system 100 adjusts the sampling point of the replica lane to align with the optimal sampling point. The system 100 also makes equivalent adjustments to the sampling points of the data lane. In this way, drifts in the sampling points of the data lane due to temperature variations, power supply variations, and / or other factors are corrected without interrupting the flow of system data.

受信機110は、レプリカレーン及びデータレーンで送信機105によって送信されたテストパターンをキャプチャするように構成されている。次いで、受信機110は、キャプチャされたテストパターンのエラーに関してチェックする。一実施形態では、送信機105は、トレーニングパターンを送信した後にバッファ115を無効にし、キャプチャされたテストパターンに関するフィードバックを受信機110が送信するのを待機する。受信機110は、バッファ120を有効にし、キャプチャされたテストパターンにおいてエラーが検出されたかどうかを判別した後に、フィードバックを送信機105に送信する。送信機105は、フィードバックをキャプチャし、そのフィードバックを(他の遅延設定を用いた他のテストからのフィードバックと共に)使用して、所定のデータレーンのデータ有効期間(又は、「データアイ」)を決定する。送信機105は、フィードバックをキャプチャした後に、別のテストを実行するかどうか、又は、通常のデータオペレーションに戻るかどうかを決定する。別の実施形態では、受信機110は、キャプチャしたテストパターンにおいて検出されたエラーの数に基づいて、レプリカレーン及びデータレーンの遅延設定を調整する。   The receiver 110 is configured to capture the test pattern transmitted by the transmitter 105 in the replica lane and the data lane. The receiver 110 then checks for errors in the captured test pattern. In one embodiment, the transmitter 105 invalidates the buffer 115 after sending the training pattern and waits for the receiver 110 to send feedback regarding the captured test pattern. The receiver 110 enables the buffer 120 and determines whether an error has been detected in the captured test pattern, and then transmits feedback to the transmitter 105. The transmitter 105 captures feedback and uses that feedback (along with feedback from other tests with other delay settings) to determine the data validity period (or “data eye”) for a given data lane. decide. The transmitter 105 decides whether to perform another test or return to normal data operation after capturing the feedback. In another embodiment, the receiver 110 adjusts the replica lane and data lane delay settings based on the number of errors detected in the captured test pattern.

システム100は、送信機105及び受信機110を含む任意のタイプのコンピューティングシステム又はコンピューティングデバイスを表す。例えば、様々な実施形態では、システム100は、コンピュータ、サーバ、計算ノード、プロセッサ、処理デバイス、プログラマブル論理デバイス、メモリデバイス、プロセッシングインメモリ(PIM)ノード、モバイルデバイス、テレビ、娯楽システム若しくはデバイス、及び/又は、他のタイプのシステム若しくはデバイスを含むことができる。また、システム100は、送信機105及び受信機110に加えて、任意の数の他の送信機及び受信機を含む。   System 100 represents any type of computing system or device including transmitter 105 and receiver 110. For example, in various embodiments, the system 100 includes a computer, server, computing node, processor, processing device, programmable logic device, memory device, processing in memory (PIM) node, mobile device, television, entertainment system or device, and / Or other types of systems or devices may be included. The system 100 also includes any number of other transmitters and receivers in addition to the transmitter 105 and the receiver 110.

次に、図2を参照すると、レプリカレーンでトレーニングシーケンスを実行する一実施形態のタイミング図200が示されている。トレーニングシーケンスは、複数レーンチャネル(例えば、チャネル155)を介して、送信機(例えば、図1の送信機105)と受信機(例えば、図1の受信機110)との間で実行される。複数レーンチャネルは、レプリカレーンと、システムデータを送るための複数のデータレーンと、を含む。   Referring now to FIG. 2, a timing diagram 200 of one embodiment for performing a training sequence on a replica lane is shown. The training sequence is performed between a transmitter (eg, transmitter 105 of FIG. 1) and a receiver (eg, receiver 110 of FIG. 1) via a multi-lane channel (eg, channel 155). The multi-lane channel includes a replica lane and a plurality of data lanes for sending system data.

システムクロック202のサイクルは、タイミング図200の一番上の行に示されている。一実施形態では、タイミング図200のクロック202行に示されるサイクルは、スーパーサイクルを表している。スーパーサイクルは、「N」システムクロックであり、「N」は1より大きい正の整数であり、「N」はプログラマブルレジスタに記憶されている。一実施形態では、送信機及び受信機の両方は、スーパーサイクルをカウントするカウンタを含む。一実施形態では、スーパーサイクルは、長さが8クロックサイクルであり、カウンタは、モジュロ8カウンタである。他の実施形態では、スーパーサイクルは、他の数のクロックサイクルである。レプリカレーン状態204は、タイミング図200に示すクロックサイクル中のチャネルのレプリカレーン状態を示す。レプリカレーン206は、レプリカレーンで送信されるデータを示す。同様に、データレーン状態208は、データレーンの状態を示し、データレーン210は、タイミング図200に示すクロックサイクル中にデータレーンで送信されるデータを示す。   The cycle of system clock 202 is shown in the top row of timing diagram 200. In one embodiment, the cycle shown in clock 202 row of timing diagram 200 represents a supercycle. A supercycle is an “N” system clock, where “N” is a positive integer greater than 1, and “N” is stored in a programmable register. In one embodiment, both the transmitter and the receiver include a counter that counts supercycles. In one embodiment, the supercycle is 8 clock cycles in length and the counter is a modulo 8 counter. In other embodiments, the super cycle is another number of clock cycles. Replica lane state 204 indicates the replica lane state of the channel during the clock cycle shown in timing diagram 200. A replica lane 206 indicates data transmitted in the replica lane. Similarly, the data lane state 208 indicates the state of the data lane, and the data lane 210 indicates data transmitted in the data lane during the clock cycle shown in the timing diagram 200.

最初のテストフェーズの間、送信機は、レプリカレーン及びデータレーンでテストパターンを受信機に送信する。これは、レプリカレーン206のテストデータ215及びデータレーン210のテストデータ220として示されている。一実施形態では、テストパターンは、擬似ランダムバイナリシーケンスである。送信機は、レプリカレーン及びデータレーンでテストパターンを送信する前に、テストパターンが送信されることを受信機に知らせるためのトレーニングシーケンス指示を送信する。受信機が所定のレーンでトレーニングシーケンス指示を受信すると、受信機は、所定のレーンでテストパターンを受信する準備が整う。テストデータ215及びテストデータ220は、異なる遅延設定で実行される任意の数のテストに対応する。   During the initial test phase, the transmitter transmits a test pattern on the replica lane and data lane to the receiver. This is shown as test data 215 for replica lane 206 and test data 220 for data lane 210. In one embodiment, the test pattern is a pseudo-random binary sequence. Before transmitting the test pattern in the replica lane and the data lane, the transmitter transmits a training sequence instruction to inform the receiver that the test pattern is transmitted. When the receiver receives a training sequence instruction in a predetermined lane, the receiver is ready to receive a test pattern in the predetermined lane. Test data 215 and test data 220 correspond to any number of tests performed with different delay settings.

受信機は、レプリカレーン及びデータレーンでテストパターンを受信し、受信したテストパターンにエラーがあるかどうかをチェックする。一実施形態では、受信機は、受信したテストパターンのエラーの有無に関するフィードバックを送信機に送信する。これは、レプリカレーン及びデータレーンの「待機」状態中に発生する。システムは、テストパターンの結果を使用して、レプリカレーン及びデータレーンの各々のデータアイを識別する。次に、システムは、テストデータの結果に基づいて、レプリカレーン及び各データレーンの位相タイミングを更新する。各レーンは、レーンで受信したテストパターンの結果に基づいて、他のレーンとは独立して更新される。所定のレーンが既に最適なサンプリングポイント用に構成されていることを結果が示している場合、所定のレーンの遅延設定は、位相タイミングの更新期間中に調整されないことに留意されたい。   The receiver receives the test pattern in the replica lane and the data lane, and checks whether there is an error in the received test pattern. In one embodiment, the receiver sends feedback regarding the presence or absence of errors in the received test pattern to the transmitter. This occurs during the “waiting” state of the replica lane and data lane. The system uses the test pattern results to identify the data eye for each of the replica lane and the data lane. Next, the system updates the phase timing of the replica lane and each data lane based on the result of the test data. Each lane is updated independently of other lanes based on the result of the test pattern received in the lane. Note that if the result indicates that a given lane is already configured for the optimal sampling point, the delay setting for the given lane is not adjusted during the phase timing update period.

レプリカレーン及びデータレーンの位相タイミングへの最初の更新の後、データレーンがシステムデータ230を送る間、レプリカレーンはアイドル状態になる。一定時間が経過すると、システムは、レプリカレーンをテストして、レプリカレーンの位相タイミングがドリフトしているかどうかを確認する。システムがデータレーンでシステムデータ230を送信し続ける一方で、テストデータ225がレプリカレーンで同時に送信される。次に、システムは、テストデータ225が送信された後に、レプリカレーンの位相タイミングを調整するかどうかを決定する。システムは、レプリカレーンで受信したテストパターンの結果に基づいて、以前のテスト以来最適なサンプリングポイントがドリフトした場合に、レプリカレーンの位相タイミングを更新する。この更新は、レプリカレーン状態204の行の更新235として示されている。また、システムは、レプリカレーンでの如何なるドリフトもデータレーンで発生するという仮定に基づいて、データレーンの更新タイミングに対して同様の更新240を実行する。様々な実施形態において、データレーンのタイミングの更新は、データレーンでデータ送信がアクティブである間に(例えば、システムデータ230を送信する間に)実行される。他の実施形態では、データレーンは、更新フェーズ(例えば、240)中にタイミングパラメータが調整される間、データの送信を一時的に中断する。両方のアプローチが考えられる。システムは、レプリカレーン及びデータレーンの位相タイミングの更新235,240の各々の後に、データレーンでのシステムデータの送信に戻る一方で、レプリカレーンはアイドル状態に戻る。次に、レプリカレーンの位相タイミングがドリフトしている場合、システムは、レプリカレーンを定期的にテストして、レプリカレーン及びデータレーンに変更を加えることを継続して行う。   After the initial update to the phase timing of the replica lane and data lane, the replica lane is idle while the data lane sends system data 230. After a certain period of time, the system tests the replica lane to see if the phase timing of the replica lane is drifting. While the system continues to send system data 230 on the data lane, test data 225 is sent simultaneously on the replica lane. Next, the system determines whether to adjust the phase timing of the replica lane after the test data 225 is transmitted. Based on the test pattern results received at the replica lane, the system updates the phase timing of the replica lane when the optimal sampling point has drifted since the previous test. This update is shown as row update 235 in the replica lane state 204. The system also performs a similar update 240 for the data lane update timing based on the assumption that any drift in the replica lane occurs in the data lane. In various embodiments, data lane timing updates are performed while data transmission is active on the data lane (eg, while transmitting system data 230). In other embodiments, the data lane temporarily suspends transmission of data while the timing parameters are adjusted during the update phase (eg, 240). Both approaches are conceivable. The system returns to transmitting system data on the data lane after each replica lane and data lane phase timing update 235, 240 while the replica lane returns to the idle state. Next, if the phase timing of the replica lane is drifting, the system will periodically test the replica lane and continue to make changes to the replica lane and data lane.

次に、図3を参照すると、送信機305及び通信チャネル320を有する一実施形態のシステム300のブロック図が示されている。通信チャネル320は、送信機305と受信機(図示省略)とを接続する任意のタイプの通信チャネルを表す。通信チャネル320は、実施形態に応じて、レプリカレーン325Aと、任意の数のデータレーン325B〜Nと、を含む。レプリカレーン325Aは、以前のテスト以来最適なサンプリングポイントがドリフトしているかどうかを判別するために、テストデータを送るように構成されている。通常のデータオペレーションでは、レプリカレーン325Aは、システムデータを送るために利用されるのではなく、むしろアイドル状態である。各データレーン325B〜Nは、システムデータのシリアルビットストリームを送るように構成されている。また、通信チャネル320は、クロックレーン(図示省略)及び/又は1つ以上の他のレーンを含む。   Referring now to FIG. 3, a block diagram of an embodiment system 300 having a transmitter 305 and a communication channel 320 is shown. Communication channel 320 represents any type of communication channel that connects transmitter 305 and receiver (not shown). The communication channel 320 includes a replica lane 325A and any number of data lanes 325B-N, depending on the embodiment. Replica lane 325A is configured to send test data to determine if the optimal sampling point has drifted since the previous test. In normal data operation, replica lane 325A is not utilized to send system data, but rather is idle. Each data lane 325B-N is configured to send a serial bit stream of system data. The communication channel 320 also includes a clock lane (not shown) and / or one or more other lanes.

一実施形態では、送信機305は、制御ロジック310及び遅延素子315A〜Nを含む。遅延素子315A〜Nの個々のセットは、レーン325A〜Nのうち対応するレーンの遅延設定を選択するための1つ以上の遅延素子を含む。一実施形態では、1つ以上の遅延素子は、レーン325A〜Nのうち単一のレーンに適用される粗い遅延調整及び細かい遅延調整を含む。   In one embodiment, transmitter 305 includes control logic 310 and delay elements 315A-N. Each set of delay elements 315A-N includes one or more delay elements for selecting a delay setting for the corresponding lane among lanes 325A-N. In one embodiment, the one or more delay elements include a coarse delay adjustment and a fine delay adjustment applied to a single lane of lanes 325A-N.

送信機305は、最初のテスト期間中にレーン325A〜Nの遅延設定をテストするために、レーン325A〜Nの全てでテストパターンを送信するように構成されている。例えば、この最初のテスト期間は、起動時又はリセット後に発生する。送信機は、テストパターンを送信した後に、出力バッファ(例えば、図1のバッファ115)を無効にする。出力バッファは、送信機305がテストパターンを受信機に送信した後に、送信機305によって高インピーダンス状態に切り替えられるトライステートバッファである。受信機は、フィードバックを準備する期間の後に、出力バッファを起動して、フィードバックを送信機に送る。一実施形態では、フィードバックは、受信したテストパターンにエラーがあったかどうかを示す。一実施形態では、フィードバックは、単一のビットである。他の実施形態では、フィードバックは、エラーの数を示すために複数のビットを利用する。送信機は、フィードバックを受信し、フィードバックを利用して、現在の遅延設定がデータアイ内側か外側かを判別する。送信機がフィードバックを受信した後に、別のテストが実行されてもよいし、送信機が通常のデータオペレーションを行ってもよい。   Transmitter 305 is configured to transmit a test pattern on all of lanes 325A-N to test the delay settings of lanes 325A-N during the initial test period. For example, this first test period occurs at startup or after reset. The transmitter invalidates the output buffer (eg, buffer 115 of FIG. 1) after transmitting the test pattern. The output buffer is a tri-state buffer that is switched to a high impedance state by the transmitter 305 after the transmitter 305 transmits a test pattern to the receiver. The receiver activates the output buffer and sends the feedback to the transmitter after a period of preparing feedback. In one embodiment, the feedback indicates whether there is an error in the received test pattern. In one embodiment, the feedback is a single bit. In other embodiments, the feedback utilizes multiple bits to indicate the number of errors. The transmitter receives the feedback and uses the feedback to determine whether the current delay setting is inside or outside the data eye. Another test may be performed after the transmitter receives feedback, or the transmitter may perform normal data operations.

一実施形態では、送信機305は、各レーンでテストパターンを送信し、受信機(図示省略)は、各テストパターンにおいて検出されたエラーの数と共にフィードバックを送信機305に送る。次に、送信機305の制御ロジック310は、このフィードバックを利用して、各レーン325A〜Nのデータアイを決定する。例えば、送信機は、チャネル320のレーン325A〜N毎に、異なる遅延設定を有する複数のテストパターンを送信する。これらのテストパターンに対する受信機からのフィードバックは、制御ロジック310によって、各レーンのデータアイの位置を決定するために使用される。制御ロジック310は、遅延素子315A〜Nの各々を調整して、対応するレーンの受信機のサンプリングポイントを、データアイの位置に基づく最適なサンプリングポイントに対応させる。遅延素子315A〜Nの各々に対する調整は、他の遅延素子315A〜Nに対する調整とは独立して行われる。   In one embodiment, transmitter 305 sends a test pattern on each lane, and a receiver (not shown) sends feedback to transmitter 305 along with the number of errors detected in each test pattern. Next, the control logic 310 of the transmitter 305 uses this feedback to determine the data eye for each lane 325A-N. For example, the transmitter transmits a plurality of test patterns having different delay settings for each of the lanes 325A to 325N of the channel 320. Feedback from the receiver for these test patterns is used by the control logic 310 to determine the position of the data eye for each lane. The control logic 310 adjusts each of the delay elements 315A-N to correspond the sampling point of the corresponding lane receiver to the optimal sampling point based on the position of the data eye. The adjustment for each of the delay elements 315A to 315N is performed independently of the adjustment for the other delay elements 315A to 315N.

次に、システム300は、全てのレーン325A〜Nについて位相テストシーケンスを実行した後に、通常のデータオペレーションを開始する。データレーン325B〜Nは、通常のデータオペレーションの間、システムデータを送るために利用される一方で、レプリカレーン325Aは、アイドル状態である。換言すれば、レプリカレーン325Aは、システムデータを送るために使用されない。次に、システム300は、通常のデータオペレーションの間、レプリカレーン325Aを周期的に利用して、以前のテストからフェーズタイミングがドリフトしているかどうかを確認するために、位相テストを行う。実施形態に応じて、レプリカレーン325Aの位相タイミングは、温度変動、電源変動、及び/又は、要因に基づいてドリフトする。システム300は、データレーン325B〜Nがシステムデータを送っている間に、レプリカレーン325Aにおける位相テストを実行する。このように、システム300は、データレーン325B〜Nのシステムデータのフローを中断することなく、レプリカレーン325Aの位相タイミングをテストすることができる。   The system 300 then begins normal data operation after performing the phase test sequence for all lanes 325A-N. Data lanes 325B-N are utilized to send system data during normal data operations, while replica lane 325A is idle. In other words, replica lane 325A is not used to send system data. The system 300 then performs a phase test during normal data operations to periodically utilize the replica lane 325A to see if the phase timing has drifted from the previous test. Depending on the embodiment, the phase timing of the replica lane 325A drifts based on temperature fluctuations, power supply fluctuations, and / or factors. System 300 performs a phase test on replica lane 325A while data lanes 325B-N are sending system data. Thus, the system 300 can test the phase timing of the replica lane 325A without interrupting the flow of system data in the data lanes 325B-N.

システム300がレプリカレーン325Aの位相タイミングのドリフトを検出すると、システム300は、遅延素子315Aを調整することによって、レプリカレーン325Aのタイミングを補正する。また、システム300は、データレーン325B〜Nに影響を与える他の遅延素子315B〜Nにも同じ調整を行う。多くの場合、レプリカレーン325Aの位相タイミングで発生したドリフトは、データレーン325B〜Nにおいても発生している。したがって、システム300は、全てのレーン325A〜Nの位相タイミングのドリフトを、単一のレプリカレーン325Aのテストを実行するだけで補正することができる。一実施形態では、システム300は、規則的な間隔で、単一のレプリカレーン325Aでこれらのテストを実行するように構成されている。別の実施形態では、システム300は、1つ以上の条件(例えば、エラー率の増加、温度変動、電源変動等)の検出に応じて、レプリカレーン325Aに対するテストを実行するように構成されている。   When the system 300 detects a phase timing drift of the replica lane 325A, the system 300 corrects the timing of the replica lane 325A by adjusting the delay element 315A. The system 300 also makes the same adjustments to the other delay elements 315B-N that affect the data lanes 325B-N. In many cases, the drift generated at the phase timing of the replica lane 325A also occurs in the data lanes 325B to 325N. Thus, the system 300 can correct for phase timing drift of all lanes 325A-N by simply performing a test on a single replica lane 325A. In one embodiment, system 300 is configured to perform these tests on a single replica lane 325A at regular intervals. In another embodiment, the system 300 is configured to perform a test on the replica lane 325A in response to detecting one or more conditions (eg, increased error rate, temperature fluctuation, power supply fluctuation, etc.). .

次に、図4を参照すると、通信チャネル405及び受信機415を備える一実施形態のシステム400のブロック図が示されている。図3のシステム300と同様に、システム400は、レプリカレーン410Aの位相タイミングのドリフトの検出に基づいて、データレーン410B〜Nの位相タイミングを補正するように構成されている。しかし、システム300とは対照的に、システム400は、遅延素子420A〜Nを用いて、受信機415における位相タイミングの補正を行う。本実施形態では、受信機415の制御ロジック425は、フィードバックを送信機(図示省略)に送信するのではなく、受信したテストパターンに対するフィードバックを利用して、遅延素子420A〜Nを調整する。   Turning now to FIG. 4, a block diagram of an embodiment system 400 comprising a communication channel 405 and a receiver 415 is shown. Similar to system 300 of FIG. 3, system 400 is configured to correct the phase timing of data lanes 410B-N based on detection of phase timing drift in replica lane 410A. However, in contrast to system 300, system 400 uses delay elements 420A-N to correct the phase timing at receiver 415. In the present embodiment, the control logic 425 of the receiver 415 adjusts the delay elements 420A to 420N using feedback on the received test pattern, instead of transmitting feedback to a transmitter (not shown).

次に、図5を参照すると、データアイ500の一実施形態の図が示されている。データアイ500は、チャネル(例えば、図3の通信チャネル320)のレーンでのビット遷移をキャプチャすることによってモニタリングされるデータ有効期間の一例である。一実施形態では、システム(例えば、システム300)は、データアイ500の境界を検出するために、異なる遅延設定で複数のトレーニングシーケンスを実行するように構成されている。システムは、各テスト結果について受信機(例えば、図1の受信機110)が生成したフィードバックを利用するよう構成されている。   Turning now to FIG. 5, a diagram of one embodiment of a data eye 500 is shown. Data eye 500 is an example of a data validity period that is monitored by capturing bit transitions in the lane of a channel (eg, communication channel 320 of FIG. 3). In one embodiment, the system (eg, system 300) is configured to perform multiple training sequences with different delay settings to detect the boundaries of the data eye 500. The system is configured to utilize feedback generated by a receiver (eg, receiver 110 of FIG. 1) for each test result.

システムは、複数の遅延設定で複数のテストを実行し、フィードバックが不良(すなわち、1つ以上のエラーがある)から良好(すなわち、エラーがない)になると、その特定の遅延設定がデータアイ500の開始510と一致すると認識する。システムは、僅かな増分で遅延を追加し、追加のテストを実行し、フィードバックが良好から不良になると、これをデータアイ500の終了520と識別する。次に、システムは、データアイ500の中央530を算出するために、開始510及び終了520の平均をもとめる。データアイ500の中央530に対応する遅延設定は、チャネルの所定のレーンに対する最適な遅延設定とみなされる。一実施形態では、システムは、チャネルのレプリカレーンでこれらのテストを実行し、次いで、これらのテストの結果を利用して、チャネルのデータレーンの遅延設定を更新する。   The system performs multiple tests with multiple delay settings, and if the feedback goes from bad (ie, one or more errors) to good (ie, no errors), that particular delay setting is It is recognized that it coincides with the start 510 of. The system adds a delay in small increments, performs additional tests, and identifies this as an end 520 of the data eye 500 when the feedback goes from good to bad. The system then determines the average of start 510 and end 520 to calculate the center 530 of the data eye 500. The delay setting corresponding to the center 530 of the data eye 500 is considered the optimal delay setting for a given lane of the channel. In one embodiment, the system performs these tests on the channel's replica lanes, and then uses the results of these tests to update the delay settings of the channel's data lanes.

次に、図6を参照すると、マルチレーンチャネルの位相タイミングを調整する方法600の一実施形態が示されている。説明目的のために、本実施形態におけるステップは、順番に示されている。後述する方法の様々な実施形態において、説明する要素のうち1つ以上が同時に実行されてもよいし、図示した順序とは異なる順序で実行されてもよいし、完全に省略されてもよいことに留意されたい。必要に応じて、他の追加の要素を実行してもよい。本明細書において説明する様々なシステム又は装置の何れかは、方法600を実行するように構成されている。   Referring now to FIG. 6, one embodiment of a method 600 for adjusting the phase timing of a multilane channel is shown. For illustrative purposes, the steps in this embodiment are shown in order. In various embodiments of the methods described below, one or more of the described elements may be performed simultaneously, may be performed in an order different from the illustrated order, or may be omitted entirely. Please note that. Other additional elements may be performed as needed. Any of the various systems or devices described herein are configured to perform method 600.

複数レーン通信チャネルを介して受信機に接続された送信機を有するシステムは、チャネルの複数のレーンでトレーニングシーケンスを同時に実行する(ブロック605)。一実施形態では、通信チャネルは、レプリカレーン及び1つ以上のデータレーンを含む。チャネルの複数のレーンでトレーニングシーケンスを実行する一環として、システムは、レーンの遅延設定を更新して、各レーンが着信データを最適なサンプリングポイントでサンプリングするようにする。   A system having a transmitter connected to a receiver via a multi-lane communication channel simultaneously performs a training sequence on multiple lanes of the channel (block 605). In one embodiment, the communication channel includes a replica lane and one or more data lanes. As part of performing the training sequence on multiple lanes of the channel, the system updates the lane delay settings so that each lane samples incoming data at the optimal sampling point.

次に、システムは、通常のデータオペレーションのためにデータレーンを利用することができる(ブロック610)。通常のデータオペレーションの間、チャネルのレプリカレーンはアイドル状態である。次に、システムは、最後のトレーニングシーケンスが実行されてから所定時間が経過したかどうかを判別する(条件ブロック615)。例えば、システムは、所定時間を追跡するタイマを有し、所定時間は、プログラム可能であって、実施形態毎に異なる。   The system may then utilize the data lane for normal data operation (block 610). During normal data operation, the replica lane of the channel is idle. Next, the system determines whether a predetermined time has elapsed since the last training sequence was executed (condition block 615). For example, the system has a timer that tracks a predetermined time, which is programmable and varies from embodiment to embodiment.

システムは、所定時間が経過した場合(条件ブロック615:「Yes」)、レプリカレーンで1つ以上のトレーニングシーケンスを実行し、同時にデータレーンでシステムデータを送信する(ブロック620)。所定時間が経過していない場合(条件ブロック615:「No」)、方法600は、条件ブロック615に留まる。システムは、ブロック620の後に、レプリカレーンで実行されたトレーニングシーケンスが、レプリカレーンの最適なサンプリングポイントが以前のテストからドリフトしたことを表しているかどうかを判別する(条件ブロック625)。   If the predetermined time has elapsed (condition block 615: “Yes”), the system performs one or more training sequences in the replica lane and simultaneously transmits system data in the data lane (block 620). If the predetermined time has not elapsed (condition block 615: “No”), the method 600 remains in the condition block 615. After block 620, the system determines whether the training sequence performed on the replica lane indicates that the optimal sampling point of the replica lane has drifted from a previous test (condition block 625).

レプリカレーンの最適なサンプリングポイントが以前のテストからドリフトしている場合(条件ブロック625:「Yes」)、システムは、レプリカレーンの遅延設定に第1調整を適用して、レプリカレーンのサンプリングポイントを再調整する(ブロック630)。また、システムは、チャネルのデータレーンの遅延設定に第1調整を適用して、データレーンのサンプリングポイントを再調整する(ブロック635)。このシステムは、レプリカレーンの最適なサンプリングポイントのドリフトがデータレーンで発生することを前提として動作する。したがって、システムは、レプリカレーンの遅延設定に適用されるのと同じ調整を、データレーンの遅延設定に適用する。例えば、第1の量の遅延がレプリカレーンの遅延設定に加えられた場合、第1の量の遅延がデータレーンの遅延設定に加えられる。レプリカレーンの最適なサンプリングポイントが以前のテストからドリフトしていない場合(条件ブロック625:「No」)、システムは、レプリカレーン及びデータレーンの現在の遅延設定を維持する(ブロック640)。ブロック635,640の後に、方法600はブロック610に戻り、システムは、通常のデータオペレーションのためにデータレーンを利用し続ける。   If the optimal sampling point of the replica lane has drifted from a previous test (condition block 625: “Yes”), the system applies the first adjustment to the replica lane delay setting to determine the replica lane sampling point. Readjustment (block 630). The system also applies the first adjustment to the channel data lane delay setting to readjust the data lane sampling points (block 635). This system operates on the assumption that optimal sampling point drift in the replica lane occurs in the data lane. Thus, the system applies the same adjustments applied to the data lane delay settings as applied to the replica lane delay settings. For example, if a first amount of delay is added to the replica lane delay setting, the first amount of delay is added to the data lane delay setting. If the optimal sampling point for the replica lane has not drifted from the previous test (condition block 625: “No”), the system maintains the current delay settings for the replica lane and the data lane (block 640). After blocks 635 and 640, the method 600 returns to block 610 and the system continues to use the data lane for normal data operation.

次に、図7を参照すると、チャネルの他のレーンのサンプリングポイントを調整するためにレプリカレーンを利用する方法700の一実施形態が示されている。説明目的のために、本実施形態におけるステップは、順番に示されている。後述する方法の様々な実施形態において、説明する要素のうち1つ以上が同時に実行されてもよいし、図示した順序とは異なる順序で実行されてもよいし、完全に省略されてもよいことに留意されたい。必要に応じて、他の追加の要素を実行してもよい。本明細書において説明する様々なシステム又は装置の何れかは、方法700を実行するように構成されている。   Referring now to FIG. 7, one embodiment of a method 700 that utilizes replica lanes to adjust sampling points in other lanes of a channel is illustrated. For illustrative purposes, the steps in this embodiment are shown in order. In various embodiments of the methods described below, one or more of the described elements may be performed simultaneously, may be performed in an order different from the illustrated order, or may be omitted entirely. Please note that. Other additional elements may be performed as needed. Any of the various systems or devices described herein are configured to perform method 700.

送信機は、複数レーンチャネルの第1レーンで、1つ以上のテストパターンを受信機に送信すると同時に、チャネルの第2レーンで第1データを送信する(ブロック705)。送信機及び受信機は、ホストシステム内のコンポーネントである。第1レーンは、「レプリカレーン」と呼ぶこともある。1つ以上のテストパターンは、トレーニングシーケンスの一部として第1レーンで受信機に送信され、送信機及び受信機間の第1レーンの遅延設定をテストする。これらのトレーニングシーケンスを使用して、第1レーンのデータアイの位置を決定し、データアイ(及び、対応する最適なサンプリングポイント)が以前のテストからシフトしたかどうかを判別する。   The transmitter transmits the first data in the second lane of the channel simultaneously with transmitting one or more test patterns to the receiver in the first lane of the multi-lane channel (block 705). The transmitter and receiver are components in the host system. The first lane may be referred to as a “replica lane”. One or more test patterns are transmitted to the receiver in the first lane as part of the training sequence to test the delay setting of the first lane between the transmitter and receiver. These training sequences are used to determine the position of the data eye in the first lane and determine whether the data eye (and the corresponding optimal sampling point) has shifted from the previous test.

次に、システムは、受信機によって受信されたテストパターンの結果に基づいて、第1レーンの現在のサンプリングポイントがミスアライメントされているかどうかを判別する(条件ブロック710)。例えば、システムは、複数の遅延設定で第1レーンの複数のテストを実行し、受信したテストパターンが1つ以上のエラーを有する状態からエラーのない状態になると、その特定の遅延設定がデータアイの開始と一致すると認識する。システムは、僅かな増分で遅延を追加し、追加のテストを実行し、受信したテストパターンがエラーのない状態から1つ以上のエラーを有する状態になると、データアイの終了であると認識する。システムは、データアイの開始及び終了の平均をもとめて、データアイの中央(又は、最適なサンプリングポイント)を計算する。次に、システムは、この新たな最適なサンプリングポイントが第1レーンの実際のサンプリングポイントと一致するかどうかを判別する。他の実施形態では、システムは、最適なサンプリングポイントが第1レーンに対してドリフトしたかどうかを判別するための他の適切な技術を利用する。   Next, the system determines whether the current sampling point of the first lane is misaligned based on the result of the test pattern received by the receiver (condition block 710). For example, if the system performs multiple tests for the first lane with multiple delay settings and the received test pattern goes from having one or more errors to being error free, that particular delay setting may be Recognize that it coincides with the start of. The system adds a delay in small increments, performs additional tests, and recognizes the end of the data eye when the received test pattern goes from an error-free state to one or more errors. The system calculates the center of the data eye (or the optimal sampling point) by taking the average of the start and end of the data eye. The system then determines whether this new optimal sampling point matches the actual sampling point of the first lane. In other embodiments, the system utilizes other suitable techniques for determining whether the optimal sampling point has drifted with respect to the first lane.

システムは、受信機によって受信されたテストパターンの結果に基づいて、第1レーンの現在のサンプリングポイントがミスアライメントしていると判別した場合(条件ブロック710:「Yes」)、第1レーンのサンプリングポイントに対して第1調整を行って、サンプリングポイントを最適なサンプリングポイントにアライメントし直す(ブロック715)。また、システムは、チャネルの第2レーンのサンプリングポイントに対して第1調整を行う(ブロック720)。さらに、システムは、チャネルの1つ以上の他のレーンのサンプリングポイントに対して第1調整を行う。例えば、一実施形態では、システムは、チャネルの全てのデータレーンのサンプリングポイントに対して第1調整を行う。システムが、受信機によって受信されたテストパターンの結果に基づいて、第1レーンのサンプリングポイントが適切にアライメントされていると判別した場合(条件ブロック710:「No」の分岐)、送信機は、第2レーンで第2データを送信する(ブロック725)。   If the system determines that the current sampling point of the first lane is misaligned based on the result of the test pattern received by the receiver (condition block 710: “Yes”), the sampling of the first lane A first adjustment is made to the point to realign the sampling point to the optimal sampling point (block 715). The system also makes a first adjustment to the sampling point of the second lane of the channel (block 720). In addition, the system makes a first adjustment to sampling points in one or more other lanes of the channel. For example, in one embodiment, the system makes a first adjustment to the sampling points of all data lanes of the channel. If the system determines that the sampling points of the first lane are properly aligned based on the result of the test pattern received by the receiver (condition block 710: “No” branch), the transmitter Second data is transmitted in the second lane (block 725).

温度変動、電源変動、及び/又は、他の要因によって、同様の方法で第1レーン及び他のレーンについて信号遅延の変動が生じる。したがって、第1レーンの最適なサンプリングポイントの変化を検出することは、典型的に、他のレーンがデータアイにおいて同様のドリフトを経験したことと、第1レーンを補正するための変更が、チャネルの他のレーンを補正するのに必要とされる同じ変更であることと、を表す。したがって、チャネルの第2レーン(及び、他のレーン)に対して行われる第1調整は、第1レーンに対して行われる第1調整と同じである。例えば、第1調整が、第1レーンに加える遅延をクロックサイクルの1/4だけ増加させる場合、他のレーンに加わる遅延は、クロックサイクルの1/4だけ増加する。或いは、第1調整が、第1レーンに加える遅延をクロックサイクルの1/8だけ減少させる場合、他のレーンに加わる遅延は、クロックサイクルの1/8だけ減少する。他の実施形態では、他の遅延増分が、第1レーンに対して行われた調整と同等の方法で、レーンに追加又はレーンから削除される。一実施形態では、サンプリングポイントに対する調整は、送信機によって行われる。別の実施形態では、サンプリングポイントに対する調整は、受信機によって行われる。   Variations in signal delay for the first lane and other lanes in a similar manner due to temperature variations, power supply variations, and / or other factors. Thus, detecting the optimal sampling point change for the first lane typically means that other lanes experienced similar drifts in the data eye and that changes to correct the first lane are The same change required to correct the other lanes. Accordingly, the first adjustment performed on the second lane (and other lanes) of the channel is the same as the first adjustment performed on the first lane. For example, if the first adjustment increases the delay applied to the first lane by ¼ of the clock cycle, the delay applied to the other lanes is increased by ¼ of the clock cycle. Alternatively, if the first adjustment reduces the delay applied to the first lane by 1/8 of the clock cycle, the delay applied to the other lanes is reduced by 1/8 of the clock cycle. In other embodiments, other delay increments are added to or removed from the lane in a manner equivalent to adjustments made to the first lane. In one embodiment, adjustments to the sampling points are made by the transmitter. In another embodiment, adjustments to the sampling points are made by the receiver.

ブロック720の後、送信機は、第2レーンで第2データを送信する(ブロック725)。また、送信機は、他のレーンに使用されるサンプリングポイントの調整を行った後に、チャネルの1つ以上の他のレーンで追加のデータを送信する。ブロック725の後に、方法700は終了する。   After block 720, the transmitter transmits the second data on the second lane (block 725). Also, the transmitter transmits additional data on one or more other lanes of the channel after adjusting the sampling points used for the other lanes. After block 725, method 700 ends.

様々な実施形態では、ソフトウェアアプリケーションのプログラム命令は、上述した方法及び/又はメカニズムを実施するために使用される。プログラム命令には、C等の高水準プログラミング言語でハードウェアの動作が記述されている。或いは、Verilog等のハードウェア設計言語(HDL)が使用される。プログラム命令は、非一時的なコンピュータ可読記憶媒体に記憶される。多数のタイプの記憶媒体が利用可能である。記憶媒体は、プログラム実行のためにプログラム命令及び付随データをコンピューティングシステムに提供するために、使用中にコンピューティングシステムによってアクセス可能である。コンピューティングシステムは、少なくとも1つ以上のメモリと、プログラム命令を実行するように構成された1つ以上のプロセッサと、を含む。   In various embodiments, software application program instructions are used to implement the methods and / or mechanisms described above. In the program instructions, hardware operations are described in a high-level programming language such as C. Alternatively, a hardware design language (HDL) such as Verilog is used. The program instructions are stored on a non-transitory computer readable storage medium. Many types of storage media are available. The storage medium is accessible by the computing system during use to provide program instructions and accompanying data to the computing system for program execution. The computing system includes at least one or more memories and one or more processors configured to execute program instructions.

上述した実施形態は、実装の非限定的な例に過ぎないことが強調されるべきである。上記の開示を十分に理解することで、多数の変形及び修正が当業者に明らかになるであろう。以下の特許請求の範囲は、このような変形及び修正の全てを包含すると解釈されることが意図される。   It should be emphasized that the above-described embodiments are merely non-limiting examples of implementations. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be construed to include all such variations and modifications.

Claims (20)

受信機と、
複数のレーンを有する通信チャネルを介して前記受信機に接続された送信機と、
を備えるシステムであって、
前記チャネルの第1レーンでテストパターンを送信し、
前記チャネルの第2レーンで第1データを送信するのと同時に、前記第1レーンで前記テストパターンを送信し、
前記第1レーンのサンプリングポイントがミスアライメントであると判別したことに応じて、前記第1レーンのサンプリングポイントに対して第1調整を実行し、前記チャネルの前記第2レーンのサンプリングポイントに対して前記第1調整を実行する、
ように構成されている、
システム。
A receiver,
A transmitter connected to the receiver via a communication channel having a plurality of lanes;
A system comprising:
Sending a test pattern on the first lane of the channel;
At the same time as transmitting the first data in the second lane of the channel, transmitting the test pattern in the first lane,
In response to determining that the sampling point of the first lane is misaligned, the first adjustment is performed on the sampling point of the first lane, and the sampling point of the second lane of the channel is performed. Performing the first adjustment;
Configured as
system.
前記第1レーン及び前記第2レーンの両方を同時にトレーニングすることに応じて、前記第1レーンのサンプリングポイントと、前記第2レーンのサンプリングポイントと、を設定するように構成されている、
請求項1のシステム。
In response to training both the first lane and the second lane simultaneously, the sampling point of the first lane and the sampling point of the second lane are set.
The system of claim 1.
前記第1レーンは、システムデータの送信に利用されない、
請求項1のシステム。
The first lane is not used for transmitting system data.
The system of claim 1.
前記受信機は、
前記第1レーンで前記テストパターンを受信するのと同時に、前記第2レーンで前記第1データを受信し、
前記テストパターンにおいてエラーが検出されたかどうかを示すエラー表示を、前記第1レーンを介して前記送信機に伝える、
ように構成されている、
請求項1のシステム。
The receiver
Receiving the first data in the second lane simultaneously with receiving the test pattern in the first lane;
An error indication indicating whether an error has been detected in the test pattern is communicated to the transmitter via the first lane.
Configured as
The system of claim 1.
前記送信機は、前記第1レーンで前記エラー表示を受信したことに応じて、エラーが検出されたことを前記エラー表示が示す場合に、前記第1レーンのサンプリングポイントに対して前記第1調整を行うために、前記第1レーンの遅延設定を変更するように構成されている、
請求項4のシステム。
The transmitter, when the error indication indicates that an error has been detected in response to receiving the error indication in the first lane, the first adjustment to the sampling point of the first lane. Is configured to change the delay setting of the first lane to
The system of claim 4.
前記送信機は、前記第1レーンで前記エラー表示を受信したことに応じて、エラーが検出されたことを前記エラー表示が示す場合に、前記第2レーンのサンプリングポイントに対して前記第1調整を行うために、前記第2レーンの遅延設定を変更するように構成されており、
前記第2レーンのサンプリングポイントに対する前記第1調整は、前記第1レーンのサンプリングポイントに対する前記第1調整に相当する、
請求項4のシステム。
The transmitter, when the error indication indicates that an error has been detected in response to receiving the error indication on the first lane, the first adjustment to the sampling point of the second lane. In order to change the delay setting of the second lane,
The first adjustment for the sampling point of the second lane corresponds to the first adjustment for the sampling point of the first lane;
The system of claim 4.
前記第2レーンのサンプリングポイントに対する前記第1調整は、前記第2レーンでテストパターンを送信することなく行われる、
請求項6のシステム。
The first adjustment to the sampling point of the second lane is performed without transmitting a test pattern in the second lane;
The system of claim 6.
受信機と、
送信機と、
レプリカレーンと、少なくとも1つのデータレーンと、を含む通信チャネルと、
を備える装置であって、
前記送信機は、
前記レプリカレーンでテストパターンを送信し、
前記チャネルのデータレーンで第1データを送信するのと同時に、前記レプリカレーンで前記テストパターンを送信し、
前記レプリカレーンのサンプリングポイントがミスアライメントであると判別したことに応じて、前記レプリカレーンのサンプリングポイントに対して第1調整を実行し、前記チャネルのデータレーンのサンプリングポイントに対して前記第1調整を実行する、
ように構成されている、
装置。
A receiver,
A transmitter,
A communication channel including a replica lane and at least one data lane;
A device comprising:
The transmitter is
Send a test pattern in the replica lane,
At the same time as transmitting the first data in the data lane of the channel, the test pattern is transmitted in the replica lane,
In response to determining that the sampling point of the replica lane is misaligned, the first adjustment is performed on the sampling point of the replica lane, and the first adjustment is performed on the sampling point of the data lane of the channel. Run the
Configured as
apparatus.
前記レプリカレーン及び前記データレーンの両方を同時にトレーニングすることに応じて、前記レプリカレーンのサンプリングポイントと、前記データレーンのサンプリングポイントと、を設定するように構成されている、
請求項8の装置。
In response to training both the replica lane and the data lane at the same time, the sampling point of the replica lane and the sampling point of the data lane are set.
The apparatus of claim 8.
前記レプリカレーンは、システムデータの送信に利用されない、
請求項8の装置。
The replica lane is not used for transmission of system data.
The apparatus of claim 8.
前記受信機は、
前記レプリカレーンで前記テストパターンを受信するのと同時に、前記データレーンで前記第1データを受信し、
前記テストパターンにおいてエラーが検出されたかどうかを示すエラー表示を、前記レプリカレーンを介して前記送信機に伝える、
ように構成されている、
請求項8の装置。
The receiver
At the same time as receiving the test pattern in the replica lane, receiving the first data in the data lane,
An error indication indicating whether an error has been detected in the test pattern is communicated to the transmitter via the replica lane.
Configured as
The apparatus of claim 8.
前記送信機は、前記レプリカレーンで前記エラー表示を受信したことに応じて、エラーが検出されたことを前記エラー表示が示す場合に、前記レプリカレーンのサンプリングポイントに対して前記第1調整を行うために、前記レプリカレーンの遅延設定を変更するように構成されている、
請求項11の装置。
The transmitter makes the first adjustment to the sampling point of the replica lane when the error indication indicates that an error has been detected in response to receiving the error indication in the replica lane In order to change the delay setting of the replica lane,
The apparatus of claim 11.
前記送信機は、前記レプリカレーンで前記エラー表示を受信したことに応じて、エラーが検出されたことを前記エラー表示が示す場合に、前記データレーンのサンプリングポイントに対して前記第1調整を行うために、前記データレーンの遅延設定を変更するように構成されており、
前記データレーンのサンプリングポイントに対する前記第1調整は、前記レプリカレーンのサンプリングポイントに対する前記第1調整に相当する、
請求項11の装置。
The transmitter performs the first adjustment to the sampling point of the data lane when the error indication indicates that an error has been detected in response to receiving the error indication in the replica lane In order to change the delay setting of the data lane,
The first adjustment to the sampling point of the data lane corresponds to the first adjustment to the sampling point of the replica lane;
The apparatus of claim 11.
前記データレーンのサンプリングポイントに対する前記第1調整は、前記データレーンでテストパターンを送信することなく行われる、
請求項13の装置。
The first adjustment to the sampling point of the data lane is performed without transmitting a test pattern in the data lane;
The apparatus of claim 13.
通信チャネルの第1レーンでテストパターンを送信することと、
前記チャネルの第2レーンで第1データを送信するのと同時に、前記第1レーンで前記テストパターンを送信することと、
受信機によって受信された前記テストパターンにおいて検出されたエラーの数に基づいて、前記第1レーンのサンプリングポイントがミスアライメントであると判別したことに応じて、前記第1レーンのサンプリングポイントに対して第1調整を実行し、前記チャネルの第2レーンによって利用されるサンプリングポイントに対して前記第1調整を実行することと、を含む、
方法。
Transmitting a test pattern on the first lane of the communication channel;
Simultaneously transmitting the first data in the second lane of the channel, and transmitting the test pattern in the first lane;
In response to determining that the sampling point of the first lane is misaligned based on the number of errors detected in the test pattern received by the receiver, with respect to the sampling point of the first lane Performing a first adjustment and performing the first adjustment on a sampling point utilized by a second lane of the channel;
Method.
前記第1レーン及び前記第2レーンの両方を同時にトレーニングすることに応じて、前記第1レーンのサンプリングポイントと、前記第2レーンのサンプリングポイントと、を設定することを含む、
請求項15の方法。
Setting a sampling point for the first lane and a sampling point for the second lane in response to training both the first lane and the second lane simultaneously,
The method of claim 15.
前記第1レーンは、システムデータの送信に利用されない、
請求項15の方法。
The first lane is not used for transmitting system data.
The method of claim 15.
前記第1レーンで前記テストパターンを受信するのと同時に、前記第2レーンで前記第1データを受信することと、
前記テストパターンにおいてエラーが検出されたかどうかを示すエラー表示を、前記第1レーンを介して送信機に伝えることと、を含む、
請求項15の方法。
Receiving the first data in the second lane simultaneously with receiving the test pattern in the first lane;
Communicating an error indication to the transmitter via the first lane indicating whether an error has been detected in the test pattern.
The method of claim 15.
前記送信機が、前記第1レーンで前記エラー表示を受信したことに応じて、エラーが検出されたことを前記エラー表示が示す場合に、前記第1レーンのサンプリングポイントに対して前記第1調整を行うために、前記第1レーンの遅延設定を変更することを含む、
請求項18の方法。
The first adjustment to the sampling point of the first lane when the error indication indicates that an error has been detected in response to the transmitter receiving the error indication in the first lane. Changing the delay setting of the first lane to perform
The method of claim 18.
前記送信機が、前記第1レーンで前記エラー表示を受信したことに応じて、エラーが検出されたことを前記エラー表示が示す場合に、前記第2レーンのサンプリングポイントに対して前記第1調整を行うために、前記第2レーンの遅延設定を変更することを含み、
前記第2レーンのサンプリングポイントに対する前記第1調整は、前記第1レーンのサンプリングポイントに対する前記第1調整に相当する、
請求項18の方法。
The first adjustment to the sampling point of the second lane when the error indication indicates that an error has been detected in response to the transmitter receiving the error indication in the first lane. Changing the delay setting of the second lane to perform
The first adjustment for the sampling point of the second lane corresponds to the first adjustment for the sampling point of the first lane;
The method of claim 18.
JP2018556345A 2016-06-24 2016-09-21 Channel training with replica lanes Active JP6703134B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/192,287 US10749756B2 (en) 2016-06-24 2016-06-24 Channel training using a replica lane
US15/192,287 2016-06-24
PCT/US2016/052725 WO2017222578A1 (en) 2016-06-24 2016-09-21 Channel training using a replica lane

Publications (3)

Publication Number Publication Date
JP2019525507A true JP2019525507A (en) 2019-09-05
JP2019525507A5 JP2019525507A5 (en) 2019-10-31
JP6703134B2 JP6703134B2 (en) 2020-06-03

Family

ID=60675203

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018556345A Active JP6703134B2 (en) 2016-06-24 2016-09-21 Channel training with replica lanes

Country Status (5)

Country Link
US (2) US10749756B2 (en)
JP (1) JP6703134B2 (en)
KR (1) KR102572281B1 (en)
CN (1) CN109076036B (en)
WO (1) WO2017222578A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10749756B2 (en) 2016-06-24 2020-08-18 Advanced Micro Devices, Inc. Channel training using a replica lane
US11558120B1 (en) * 2021-09-30 2023-01-17 United States Of America As Represented By The Administrator Of Nasa Method for deskewing FPGA transmitter channels directly driving an optical QPSK modulator
US11906585B2 (en) * 2021-12-16 2024-02-20 Samsung Electronics Co., Ltd. Methods and systems for performing built-in-self-test operations without a dedicated clock source

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002523971A (en) * 1998-08-25 2002-07-30 ビテッセ セミコンダクター コーポレイション Adaptive data reproduction system and method
JP2007503630A (en) * 2003-08-21 2007-02-22 ラムバス・インコーポレーテッド Periodic interface calibration for high-speed communication
US20110291713A1 (en) * 2010-05-28 2011-12-01 Nak-Kyu Park Slave device, system including master device and slave device, method for operating the same, and chip package
JP2014206971A (en) * 2013-03-15 2014-10-30 インテル・コーポレーション Method, apparatus, and system for hybrid lane stalling or no-lock bus architectures
US20150078495A1 (en) * 2012-03-13 2015-03-19 Rambus Inc. Clock and Data Recovery Having Shared Clock Generator
US9036757B1 (en) * 2014-09-23 2015-05-19 Oracle International Corporation Post-cursor locking point adjustment for clock data recovery

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469748A (en) * 1994-07-20 1995-11-28 Micro Motion, Inc. Noise reduction filter system for a coriolis flowmeter
US20020093986A1 (en) * 2000-12-30 2002-07-18 Norm Hendrickson Forward data de-skew method and system
US6907552B2 (en) * 2001-08-29 2005-06-14 Tricn Inc. Relative dynamic skew compensation of parallel data lines
US7095789B2 (en) 2004-01-28 2006-08-22 Rambus, Inc. Communication channel calibration for drift conditions
US7400670B2 (en) * 2004-01-28 2008-07-15 Rambus, Inc. Periodic calibration for communication channels by drift tracking
US7516029B2 (en) * 2004-06-09 2009-04-07 Rambus, Inc. Communication channel calibration using feedback
US7500131B2 (en) 2004-09-07 2009-03-03 Intel Corporation Training pattern based de-skew mechanism and frame alignment
US20080130815A1 (en) * 2006-12-05 2008-06-05 Kumar S Reji Selective tracking of serial communication link data
US7467056B2 (en) * 2007-03-09 2008-12-16 Nortel Networks Limited Method and apparatus for aligning multiple outputs of an FPGA
US7590789B2 (en) * 2007-12-07 2009-09-15 Intel Corporation Optimizing clock crossing and data path latency
US8307265B2 (en) 2009-03-09 2012-11-06 Intel Corporation Interconnection techniques
US20110040902A1 (en) 2009-08-13 2011-02-17 Housty Oswin E Compensation engine for training double data rate delays
US8582706B2 (en) * 2009-10-29 2013-11-12 National Instruments Corporation Training a data path for parallel data transfer
US8681839B2 (en) 2010-10-27 2014-03-25 International Business Machines Corporation Calibration of multiple parallel data communications lines for high skew conditions
US8767531B2 (en) * 2010-10-27 2014-07-01 International Business Machines Corporation Dynamic fault detection and repair in a data communications mechanism
US8774228B2 (en) * 2011-06-10 2014-07-08 International Business Machines Corporation Timing recovery method and apparatus for an input/output bus with link redundancy
US8826092B2 (en) * 2011-10-25 2014-09-02 International Business Machines Corporation Characterization and validation of processor links
US9071407B2 (en) * 2012-05-02 2015-06-30 Ramnus Inc. Receiver clock test circuitry and related methods and apparatuses
US8760946B2 (en) * 2012-05-22 2014-06-24 Advanced Micro Devices Method and apparatus for memory access delay training
US9030341B2 (en) 2012-06-27 2015-05-12 Broadcom Corporation Compensation for lane imbalance in a multi-lane analog-to-digital converter (ADC)
CN103560785B (en) * 2013-10-28 2017-05-10 中国电子科技集团公司第四十一研究所 Method and device for generating phase-coherent signals
WO2017052663A1 (en) * 2015-09-26 2017-03-30 Intel Corporation Valid lane training
US10749756B2 (en) 2016-06-24 2020-08-18 Advanced Micro Devices, Inc. Channel training using a replica lane

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002523971A (en) * 1998-08-25 2002-07-30 ビテッセ セミコンダクター コーポレイション Adaptive data reproduction system and method
JP2007503630A (en) * 2003-08-21 2007-02-22 ラムバス・インコーポレーテッド Periodic interface calibration for high-speed communication
US20110291713A1 (en) * 2010-05-28 2011-12-01 Nak-Kyu Park Slave device, system including master device and slave device, method for operating the same, and chip package
US20150078495A1 (en) * 2012-03-13 2015-03-19 Rambus Inc. Clock and Data Recovery Having Shared Clock Generator
JP2014206971A (en) * 2013-03-15 2014-10-30 インテル・コーポレーション Method, apparatus, and system for hybrid lane stalling or no-lock bus architectures
US9036757B1 (en) * 2014-09-23 2015-05-19 Oracle International Corporation Post-cursor locking point adjustment for clock data recovery

Also Published As

Publication number Publication date
CN109076036B (en) 2022-01-28
CN109076036A (en) 2018-12-21
KR102572281B1 (en) 2023-08-29
US20170373944A1 (en) 2017-12-28
WO2017222578A1 (en) 2017-12-28
KR20190011727A (en) 2019-02-07
US11805026B2 (en) 2023-10-31
US20210028995A1 (en) 2021-01-28
JP6703134B2 (en) 2020-06-03
US10749756B2 (en) 2020-08-18

Similar Documents

Publication Publication Date Title
US11805026B2 (en) Channel training using a replica lane
US8644085B2 (en) Duty cycle distortion correction
KR100915387B1 (en) Method and Apparatus for compensating skew between data signal and clock signal in parallel interface
US9292036B2 (en) Data processing apparatus and method for communicating between a master device and an asynchronous slave device via an interface
US11750359B2 (en) Low power edge and data sampling
US8341450B2 (en) Continuous timing calibrated memory interface
US9715270B2 (en) Power reduction in a parallel data communications interface using clock resynchronization
US20140019792A1 (en) Timing calibration for multimode i/o systems
US20140181568A1 (en) Interface for controlling the phase alignment of clock signals for a recipient device
US9141459B2 (en) Precursor adaptation algorithm for asynchronously clocked SERDES
EP3260983B1 (en) Channel training using a replica lane
US10103837B2 (en) Asynchronous feedback training
EP3260984B1 (en) Asynchronous feedback training
US10467171B2 (en) Detecting the drift of the data valid window in a transaction

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190918

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190918

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190918

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20190926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20191220

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20200302

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200331

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200507

R150 Certificate of patent or registration of utility model

Ref document number: 6703134

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250