JP4870435B2 - Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機 - Google Patents

Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機 Download PDF

Info

Publication number
JP4870435B2
JP4870435B2 JP2006000819A JP2006000819A JP4870435B2 JP 4870435 B2 JP4870435 B2 JP 4870435B2 JP 2006000819 A JP2006000819 A JP 2006000819A JP 2006000819 A JP2006000819 A JP 2006000819A JP 4870435 B2 JP4870435 B2 JP 4870435B2
Authority
JP
Japan
Prior art keywords
lane
lanes
symbol
data
comma
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.)
Active
Application number
JP2006000819A
Other languages
English (en)
Other versions
JP2006202281A (ja
Inventor
順▲福▼ 張
英圭 姜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2006202281A publication Critical patent/JP2006202281A/ja
Application granted granted Critical
Publication of JP4870435B2 publication Critical patent/JP4870435B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4221Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
    • G06F13/423Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus with synchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)
  • Bus Control (AREA)

Description

本発明は、PCIイクスプレスに係り、特に、PCIイクスプレスのバイトスキュー補償方法及びこのためのPCIイクスプレスの物理階層受信機に関する。
PCIイクスプレスは、従来のPCIが有している限界を克服するために提案された。従来のPCIは、並列信号伝送方式によって非常に信号歪曲されやすい。従って、従来のPCIは、クロック周波数を向上させるのが難しい。PCIイクスプレスは、直列伝送方式で動作周波数を向上させながらバス幅を減少させる。
第3世代I/O(3GIO;Third Generation I/O)として知られたPCIイクスプレスは、様々な分野で従来のPCIバスを代替している。PCIイクスプレスは、低電圧差動シグナリング(LVDS;Low Voltage Differential Signaling)、パケット基盤データ伝送プロトコル等を特徴とする。PCIイクスプレスは、デュアルシンプレックス方式のバスである。デュアルシンプレックス方式は、2個の単方向データバスが1組で構成され、一つのバスはデータを送信する役割のみ、他の一つのバスはデータを受信する役割のみをする方式を言う。低電圧差動シグナリングを使用するので、結局、PCIイクスプレスは、一つのレーン(lane)当たり4−ワイヤインターフェースを使用することになる。従って、従来のデータバスに対してデータビット当たりより多いワイヤを使用するが、PCIイクスプレスのメッセージ基盤プロトコル及びインベディドクロッキング(embedded clocking)は、従来のデータバスのインタフェーシングに必要な多くのデータ制御信号を無くすことができる。PCIイクスプレスは、最大32個のレーン(lane)を有することができる。
一般に、PCIイクスプレスのように、多重レーンを使用する場合、伝送効率を向上させるために、送信部はそれぞれのレーンにデータを分割して伝送することになる。例えば、4個のレーンを使用する場合、送信しようとするパケットを32ビット(double word)に分割して、この32ビットデータを更に8ビットデータに分割して、4個のレーンを通じて同時に伝送する。受信部では、ワイヤを通じて受信されたビットデータの間にコンマシンボルを利用してビットスキュー補償をして整列させて、ビットスキュー補償され整列されたデータをバイトスキュー補償して整列する。
ビットスキュー補償は、それぞれのレーンを通じて受信されたデータ間の8ビット以内のスキューをビット単位に補償することを言う。マルチレーンを使用する場合にレーン毎に伝送遅延時間が異なるので、それぞれのレーン間のスキューが存在することになるが、伝送速度が低い場合には、レーン間のスキューが8ビット以内で発生するので、ビットスキュー補償のみでも効果的なデータ受信が可能である。しかし、PCIイクスプレスのような高速のデータ伝送デバイスは、レーン間の伝送遅延時間の差異が8ビットの範囲を外れることがありうるので、ビットスキュー補償のみならず、バイトスキュー補償が必要である。バイトスキュー補償は、それぞれのレーンを通じて受信されたデータ間のバイト単位のスキューを補償することを言う。
図1は、従来技術によるPCIイクスプレスのデータ送信を示すブロック図である。
図1を参照すると、4個のレーンを使用してデータを送信するPCIイクスプレスで32ビットデータ110は、4個の8ビットデータ111、112、113、114に分割され、それぞれのレーンを通じて伝送される。この際、4個の8ビットデータ111、112、113、114のそれぞれは、8ビット/10ビットエンコーダ及びシリアライザを通じてワイヤに一つのビットずつ伝送されることになる。他の32ビットデータ120、130、140、150、160も32ビットデータ110と同様に、4個の8ビットデータに分割され、4個のレーンのそれぞれを通じて伝送される。この際、それぞれのレーンは、送信及び受信のための差動ワイヤを具備しなければならないので、4個のワイヤを含むことができる。
図1に図示されたように、4個のレーンを通じてデータを伝送した場合に、4個のレーンのそれぞれの信号伝送遅延が異なることになって、4個のレーンを通じたデータが全部同時に受信されない。従って、受信端では、4個のレーンを通じて受信されたデータ間のスキューを除去しなければならない。
図2は、従来技術によるPCIイクスプレスのデータ受信を示すブロック図である。
図2を参照すると、PCIイクスプレスは、まず、ワイヤを通じて受信されるビットデータをデシリアライザ(de−serializer)を通じて8ビットデータに復元(decode)する。図2に示すように、受信された8ビットデータ211、212、213、214、221、222、223、224、231、232、233、234、241、242、243、244にビットスキュー及びバイトスキューが発生する。これは、それぞれのレーン毎に伝送遅延時間が異なるためである。PCIイクスプレスは、まず、コンマシンボルを利用して受信された8ビットデータのビットスキューを補償し整列して、整列された8ビットデータ271、272、273、274、275、276、277、278を生成する。この際、コンマシンボルは、特定なビットで構成されたビットの列である。PCIイクスプレスは、4個の8ビットデータ271、272、273、274で32ビットデータ280を生成する。32ビットデータ280が含んでいる8ビットデータ271、272、273、274のそれぞれはビットスキューがないが、32ビットデータ280にはバイトスキューがある。従って、PCIイクスプレスは、32ビットデータの入力を受けてバイトスキューを補償して、バイトスキューがない32ビットデータ260を生成するデスキュー部290が必要である。
図2に図示された従来技術によるデスキュー部290は、コンマシンボルを利用してバイトスキューを補償する。即ち、従来技術によるバイトスキュー補償方法は、受信されたデータ列でコンマシンボルを探し、全てのレーンでコンマシンボルが検知されるまで待った後、最後にコンマシンボルが検知されたタイミングに合わせて他のレーンのデータを遅延してデータを整列する。しかし、PCIイクスプレスは、周期的に伝送されるスキップシンボル(skip symbol;SKP)によって、コンマシンボル以後のデータ列が変化するので、コンマシンボルのみを使用したバイトスキュー補償の場合にスキューを適切に補償することができない。
PCIイクスプレス受信機は、弾性バッファ(elastic buffer)を備える。弾性バッファは、特定レーンを通じて受信されるデータの量が多い場合に受信されるデータに含まれたスキップシンボルを削除して、バッファのオーバーフローを防止することができる。弾性バッファは、特定レーンを通じて受信されるデータの量が少ない場合に受信されるデータに含まれたスキップシンボルに新しいスキップシンボルを付加して、アンダーフローを防止することができる。このように、弾性バッファによってスキップシンボルの付加や削除が発生する場合に、スキップシンボルの付加や削除はコンマシンボル以後に現れるので、このようなスキップシンボルの付加や削除を反映してバイトスキュー補償が行われなければならない。
図3は、従来技術によるコンマシンボルのみを利用したバイトスキュー補償方法の問題点を示すタイミング図である。
図3を参照すると、送信側ではそれぞれのレーン毎にコンマシンボルCOMと共に連続される3個のスキップシンボルSKPを送信することがわかる。従来技術によるバイトスキュー補償方法は、受信されるコンマシンボルCOM以後のデータが同じタイミングになるようにデータを整列する。コンマシンボルCOM以後にすぐ送信情報が含まれたデータが来ると良いが、コンマシンボルCOM以後にスキップシンボルSKPが伝送され、弾性バッファでスキップシンボルSKPの付加又は削除が発生するので、図3に図示されたように、コンマシンボルCOMを通じた整列にもかかわらず、バイトスキューを補償することができない場合が発生される。
従って、PCIイクスプレスでスキップシンボルの付加又は削除にもかかわらず、適切にバイトスキューを補償することができる方法及び装置の必要性が台頭される。
前記のような問題点を解決するための本発明の目的は、スキップシンボルの付加又は削除によってバイトスキューを適切に補償することができるPCIイクスプレスのバイトスキュー補償方法を提供することにある。
本発明の他の目的は、スキップシンボルの付加又は削除によってバイトスキューを適切に補償できるスキュー補償部を含むPCIイクスプレス物理階層受信機を提供することにある。
前記目的を達成するためのPCIイクスプレスのバイトスキュー補償方法は、受信されるデータがトレーニングシーケンスであるかの可否を判断する段階、受信されるデータがトレーニングシーケンスである場合、トレーニングシーケンスを利用してコンマシンボルを基準としてレーンのそれぞれに対して整列ポイントを設定する段階、受信されるデータがトレーニングシーケンスではない場合、レーンのそれぞれに対してスキップシンボルの付加又は削除を行う段階、及びレーンのそれぞれに対して、スキップシンボルの付加又は削除によって整列ポイントをシフトする段階を含む。
実施形態によって、整列ポイントを設定する段階は、レーンのうち、コンマシンボルを検出したレーンがあるかの可否を判断する段階、レーンのうち、コンマシンボルを検出したレーンがある場合に、所定時間内に全てのレーンに対してコンマシンボルが検出されたかの可否を判断する段階、及び所定時間内に全てのレーンに対してコンマシンボルが検出された場合にコンマシンボルが検出されたタイミングによってレーンのそれぞれに対して整列ポイントを設定する段階を含むこともできる。
実施形態によって、整列ポイントをシフトする段階は、レーンのそれぞれに対してスキップシンボルの付加又は削除が行われたかの可否を判断する段階、レーンのそれぞれに対してスキップシンボルが付加された場合に該当レーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させる段階、及びレーンのそれぞれに対してスキップシンボルが削除された場合に該当レーンの整列ポイントを受信されるデータをより多く遅延させるように移動させる段階を含むこともできる。
この際、該当レーンの整列ポイントを受信されるデータをより少なく遅延させるように移動できない場合に、該当レーンを除いた他のレーンの整列ポイントを受信されるデータをより多く遅延させるように移動させることができる。
この際、該当レーンの整列ポイントを受信されるデータをより多く遅延させるように移動できない場合に該当レーンを除いた他のレーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させることができる。
本発明の他の目的を達成するためのPCIイクスプレス物理階層受信機は、それぞれのレーンを通じて受信される直列データを10ビット並列データに変換する直/並列変換機、コンマシンボルを利用して10ビット並列データに対するビット整列を行い、整列された10ビットデータを8ビットデータに変換し、受信されるデータの状態によってスキップシンボルを付加又は削除するパイプ及びトレーニングシーケンスを利用して8ビットデータをコンマシンボルを基準としてレーンのそれぞれに対して整列ポイントを設定し、パイプからスキップシンボルの付加又は削除に対する情報の入力を受けてスキップシンボルの付加又は削除によって整列ポイントをシフトしてバイトスキューを補償するスキュー補償部を含む。
この際、直/並列変換機はデシリアライザでも良く、又はSERDESとも言い、直列データを並列データに変換する。
トレーニングシーケンスは、PCIイクスプレスのTS1及びTS2パターンを含む。例えば、トレーニングシーケンスは、2.5Gb/sのテストパターンでも良い。PCIイクスプレスの初期化過程で多数個のTS1又はTS2パターンが受信されることができる。
コンマシンボルは、レーン間のスキュー補償等に使用される所定のビット構成を有する8ビットシンボルでも良い。
スキップシンボルの付加又は削除は、PCIイクスプレス物理階層受信機のパイプ等で行われることができ、この際、スキップシンボルの付加又は削除に対する情報を利用して、整列ポイントをシフトしてバイトスキューを効果的に補償することができる。
例えば、PCIイクスプレスのレーンは4個でも良い。
スキュー補償部は、前述したPCIイクスプレスのバイトスキュー補償方法によって受信されるデータのレーン間のバイトスキューを補償する。
従って、PCIイクスプレスデータの受信時に、スキップシンボルの付加又は削除にもかかわらず、バイトスキューを適切に補償することができる。
以下、本発明による好ましい実施形態を添付図面を参照して詳細に説明する。
図4は、本発明の一実施形態によるPCIイクスプレスのバイトスキュー補償方法を示す動作流れ図である。
図4を参照すると、本発明の一実施形態によるPCIイクスプレスのバイトスキュー補償方法は、まず受信されるデータがトレーニングシーケンスであるかの可否を判断する(S410)。
この際、トレーニングシーケンスは、PCIイクスプレスのTS1及びTS2パターンを含む。例えば、トレーニングシーケンスは、2.5Gb/sのテストパターンでも良い。PCIイクスプレスの初期化過程で多数個のTS1又はTS2パターンが受信されることができる。
PCIイクスプレスのバイトスキュー補償方法は、受信されるデータがトレーニングシーケンスである場合、トレーニングシーケンスを利用してコンマシンボルを基準としてレーンのそれぞれに対して整列ポイントを設定する(S420)。
この際、コンマシンボルは所定のビット構成を有する8ビットシンボルでも良い。
この際、レーンは4個でも良い。
受信されるデータは、それぞれのレーンに相応するレジスタに保存される。例えば、レジスタは8ビットデータを5クロック間保存することができるFIFO方式のシフトレジスタでも良い。このように、データを5クロック間保存することができる場合に、レジスタの深さが5とする。レジスタの深さを5とすると、レーン間のバイトスキューが最大4クロックである場合にも、バイトスキューを補償することができる。
整列ポイントは、それぞれのレーンに相応するシフトレジスタの遅延ポイントでも良い。即ち、レーンのそれぞれに深さが5であるレジスタが使用される場合に整列ポイントは1乃至5に相応するポイントでも良い。この際、1に相応する整列ポイントは、一番最近に保存されたデータに相応するように設定されたもので、5に相応する整列ポイントは一番最近に保存されたデータを4クロック遅延したデータに相応するように設定されたものでも良い。
図8及び図9は、本発明の一実施形態による整列ポイント設定を説明するためのタイミング図である。図8及び図9において、FE、COM、0、1、2、3、4、5、6、7、8、9、10、11、及び12等で表示されたデータシンボルは、それぞれ8ビットデータシンボルでも良い。
図8は、本発明の一実施形態による整列ポイント設定以前に4個のレーンを通じて受信される受信データのタイミング図である。
図8を参照すると、コンマシンボルを利用した整列ポイント設定以前に4個のレーン(L0_RX_DATA、L1_RX_DATA、L2_RX_DATA、L3_RX_DATA)を通じて受信される受信データにバイトスキューが存在することがわかる。従って、コンマシンボルを利用してそれぞれのレーン毎に整列ポイントを設定し、整列ポイントによってそれぞれのレーンのデータを整列しなければならない。
図9は、本発明の一実施形態による整列ポイント設定によって整列されたデータのタイミング図である。
図9を参照すると、コンマシンボルを利用して整列ポイントを設定して整列ポイントを基準として整列することによって、4個のレーンL0_RX_DATA、L1_RX_DATA、L2_RX_DATA、L3_RX_DATAを通じて受信されるデータがコンマシンボルを基準として整列されたことがわかる。
それぞれのレーンに深さが5である8ビットレジスタが使用される場合に、図8に図示されたタイミング図に相応するそれぞれのレーンのレジスタの状態は、例えば、下記表1乃至表4のようである。
前記表1乃至表4において、t=Nは図8に図示されたタイミング図で4個のレーンのうち、まず最初にコンマシンボルを検出するレーンL2_RX_DATAにコンマシンボルが検出されるタイミングを示す。t=N+1、t=N+2、t=N+3、及びt=N+4は、それぞれt=Nであるタイミングから1−クロック、2−クロック、3−クロック、及び4−クロック遅延されたタイミングを示す。表1乃至表4でST0、ST1、ST2、ST3、及びST4は、それぞれシフトレジスタの第1段階、第2段階、第3段階、第4段階、及び第5段階を示す。図8、図9、及び前記表1乃至表4におけるCOMはコンマシンボルを示し、アラビア数字で表示されたシンボルはデータシンボルを示す。FEは、コンマシンボル以前に伝送された、ここでは問題としないシンボルを示す。
表1は、レーンL0_RX_DATAに相応するレジスタの状態を示す。レーンL0_RX_DATAに相応するレジスタはFIFO方式のシフトレジスタであって、入力されるデータをクロック毎にシフトして保存する。クロック毎にシフトレジスタに入力されたデータが表1に記述されたST0側からST4側にシフトされる。深さが5なので、5クロック間データを保存することができる。表1に記述されたように、レーンL0_RX_DATAは、レーンL2_RX_DATAに相応するレジスタに最初にコンマシンボルが保存されるタイミング(t=N)より1クロック遅いタイミング(t=N+1)にコンマシンボルがレジスタに入力される。コンマシンボルは、レーンL2_RX_DATAに相応するレジスタに最初にコンマシンボルが保存されるタイミング(t=N)より4クロック遅いタイミング(t=N+4)までクロック毎に1段階ずつシフトされながら保存される。
表2は、レーンL1_RX_DATAに相応するレジスタの状態を示す。レーンL1_RX_DATAに相応するレジスタはFIFO方式のシフトレジスタであって、入力されるデータをクロック毎にシフトして保存する。クロック毎にシフトレジスタに入力されたデータが表2に記述されたST0側からST4側にシフトされる。深さが5なので、5クロック間データを保存することができる。表2に記述されたように、レーンL1_RX_DATAは、レーンL2_RX_DATAに相応するレジスタに最初にコンマシンボルが保存されるタイミング(t=N)より3クロック遅いタイミング(t=N+3)にコンマ信号がレジスタに入力される。コンマシンボルは、レーンL2_RX_DATAに相応するレジスタに最初にコンマシンボルが保存されるタイミング(t=N)より4クロック遅いタイミング(t=N+4)までクロック毎に1段階ずつシフトされながら保存される。
表3は、レーンL2_RX_DATAに相応するレジスタの状態を示す。レーンL2_RX_DATAに相応するレジスタは、FIFO方式のシフトレジスタであって、入力されるデータをクロック毎にシフトして保存する。クロック毎にシフトレジスタに入力されたデータが表3に記述されたST0側からST4側にシフトされる。深さが5なので、5クロック間データを保存することができる。表3に記述されたように、レーンL2_RX_DATAは、t=Nであるタイミングにコンマシンボルがレジスタに入力される。コンマシンボルは、レーンL2_RX_DATAに相応するレジスタに最初にコンマシンボルが保存されるタイミング(t=N)より4クロック遅いタイミング(t=N+4)までクロック毎に1段階ずつシフトされながら保存される。
表4は、レーンL3_RX_DATAに相応するレジスタの状態を示す。レーンL3_RX_DATAに相応するレジスタは、FIFO方式のシフトレジスタであって、入力されるデータをクロック毎にシフトして保存する。クロック毎にシフトレジスタに入力されたデータが表4に記述されたST0側からST4側にシフトされる。深さが5なので、5クロック間データを保存することができる。表4に記述されたように、レーンL3_RX_DATAは、レーンL2_RX_DATAに相応するレジスタに最初にコンマシンボルが保存されるタイミング(t=N)より2クロック遅いタイミング(t=N+2)にコンマシンボルがレジスタに入力される。コンマシンボルは、レーンL2_RX_DATAに相応するレジスタに最初にコンマシンボルが保存されるタイミング(t=N)より4クロック遅いタイミング(t=N+4)までクロック毎に1段階ずつシフトされながら保存される。
前記表1乃至表4において、4個のレーン全部に対してコンマシンボルが保存されたタイミング(t=N+3)でそれぞれのレーンに相応するレジスタに保存されたコンマシンボルの位置によって整列ポイントを設定する。
即ち、表1に記述されたレーンL0_RX_DATAに相応するレジスタで4個のレーン全部に対してコンマシンボルが保存されたタイミング(t=N+3)にコンマシンボルは第1段階ST0で2段階シフトされ、第3段階ST2に保存されている状態になる。従って、レーンL2_RX_DATAに対する整列ポイントを二進数「00111」のように設定することができる。
表2に記述されたレーンL1_RX_DATAに相応するレジスタで4個のレーン全部に対してコンマシンボルが保存されたタイミング(t=N+3)にコンマシンボルは、一番目段階ST0に保存されている状態になる。従って、例えば、レーンL1_RX_DATAに対する整列ポイントを二進数「00001」のように設定することができる。
表3に記述されたレーンL2_RX_DATAに相応するレジスタで4個のレーン全部に対してコンマシンボルが保存されたタイミング(t=N+3)にコンマシンボルは、一番目段階ST0から3段階シフトされ4番目段階ST3に保存されている状態になる。従って、例えば、レーンL2_RX_DATAに対する整列ポイントを二進数「01111」のように設定することができる。
表4に記述されたレーンL3_RX_DATAに相応するレジスタで4個のレーン全部に対してコンマシンボルが保存されたタイミング(t=N+3)にコンマシンボルは、一番目段階ST0から一段階シフトされ二番目段階ST1に保存されている状態になる。従って、例えば、レーンL3_RX_DATAに対する整列ポイントを二進数「00011」のように設定することができる。
以上で説明したように、それぞれのレーンに対してコンマシンボルを基準として整列ポイントを設定すると、コンマシンボル以後にそれぞれのレーンに受信されるデータのタイミングを整列することができる。即ち、図8に図示されたタイミング図でレーンL0_RX_DATAに受信されるデータは2クロック遅延させ、レーンL1_RX_DATAに受信されるデータは遅延させず、レーンL2_RX_DATAに受信されるデータは3クロック遅延させ、レーンL3_RX_DATAに受信されるデータは1クロック遅延させると、4個のレーンを通じて受信されるデータをコンマシンボルを基準として整列して図9に図示されたタイミング図を得ることができる。
図4を更に参照すると、PCIイクスプレスのバイトスキュー補償方法は、受信されるデータがトレーニングシーケンスではない場合、レーンのそれぞれに対してスキップシンボルの付加又は削除によって整列ポイントをシフトする(S430)。
PCIイクスプレスは、送信側でデータと共にスキップシンボル(skip symbol;SKP)を伝送する。PCIイクスプレス受信側では、弾性バッファのオーバーフローやアンダーフローを防止するために、スキップシンボルを付加するか、削除することができる。スキップシンボルは、コンマシンボル以後に受信されるので、コンマシンボルを利用した整列以外にスキップシンボルの付加又は削除による整列を行わなければ、正確なバイトスキュー補償をすることができない。
図10は、本発明の一実施形態による整列ポイントシフトを説明するためのタイミング図である。
図10を参照すると、コンマシンボルを基準として整列した以後に、レーンL1_RX_DATAではスキップシンボルの削除が行われ、レーンL2_RX_DATAではスキップシンボルの付加が行われる。コンマシンボルを利用した整列にもかかわらず、スキップシンボルの付加又は削除によって4個のレーンL0_RX_DATA、L1_RX_DATA、L2_RX_DATA、L3_RX_DATAを通じて受信される受信データにバイトスキューが存在する。従って、スキップシンボルの付加又は削除によって整列ポイントをシフトして、新しい整列ポイントによってそれぞれのレーンのデータを整列しなければならない。
即ち、スキップシンボルが付加された場合には、そのレーンに受信されるデータをより少なく遅延するように整列ポイントを変更し、スキップシンボルが削除された場合には、そのレーンに受信されるデータをより多く遅延するように整列ポイントを変更する。
例えば、前述したように、コンマシンボルを利用してレーンL0_RX_DATAに対する整列ポイントを二進数「00111」に、レーンL1_RX_DATAに対する整列ポイントを二進数「00001」に、レーンL2_RX_DATAに対する整列ポイントを二進数「01111」に、レーンL3_RX_DATAに対する整列ポイントを二進数「00011」に設定したと仮定しよう。図10に示すように、レーンL1_RX_DATAではスキップシンボルの削除が行われ、レーンL2_RX_DATAではスキップシンボルの付加が行われるので、レーンL1_RX_DATAに対する整列ポイントを「00001」から「00011」に変更し、レーンL2_RX_DATAに対する整列ポイントを「01111」から「00111」に変更する。レーンL1_RX_DATAに対する整列ポイントを「00001」から「00011」に変更することは、レーンL1_RX_DATAに受信されるデータをより多く遅延させるように変更したことに該当する。レーンL2_RX_DATAに対する整列ポイントを「01111」から「00111」に変更することは、レーンL2_RX_DATAに受信されるデータをより少なく遅延させるように変更したことに該当する。
このように、スキップシンボルの付加又は削除によって整列ポイントをシフトすることによって変化するレーン間のスキューを効果的に補償して、それぞれのレーンに受信されるデータを効果的に整列することができる。
図5は、図4に図示されたS420段階の一例の動作流れ図である。
図5を参照すると、図4に図示されたS420段階は、レーンのうち、コンマシンボルを検出したレーンがあるかの可否を判断する(S510)。
PCIイクスプレスのTS1及びTS2のようなトレーニングシーケンスは、所定の間隔にコンマシンボルを伝送する。従って、S510段階は、受信されるトレーニングシーケンスでコンマシンボルを検出したレーンがあるかの可否を判断する。
レーンのうち、コンマシンボルを検出したレーンがある場合にS420段階は、所定時間内に全てのレーンに対してコンマシンボルが検出されたかの可否を判断する(S520)。
この際、所定の時間は、レーンのそれぞれに相応するレジスタの深さと関連された時間である。即ち、レジスタの深さが5である場合なら、5クロック以内に全てのレーンに対してコンマシンボルが検出されたかの可否を判断することになる。これは、最初にコンマシンボルが発見された後、5クロックが経過すると、最初にコンマシンボルを発見したレーンに相応するレジスタがもうそれ以上コンマシンボルを保存することができないためである。
所定の時間内に全てのレーンに対して、コンマシンボルが検出された場合にS420段階は、コンマシンボルが検出されたタイミングによってレーンのそれぞれに対して整列ポイントを設定する(S530)。
この際、整列ポイントは、それぞれのレーンに相応するシフトレジスタの遅延ポイントであり得る。即ち、レーンのそれぞれに深さが5であるレジスタが使用される場合に、整列ポイントは1乃至5に相応するポイントであり得る。この際、1に相応する整列ポイントは、最も最近に保存されたデータに相応するように設定されたもので、5に相応する整列ポイントは4クロック遅延されたデータに相応するように設定されたものである。
所定の時間内に全てのレーンに対してコンマシンボルが検出されない場合に、S420段階は以前にコンマシンボルが検出されたレーンのコンマシンボル検出に関する情報をリセットさせる動作を行う(S540)。
所定時間内に全てのレーンに対してコンマシンボルが検出されない場合には、更に最初からすべてのレーンに対するコンマシンボル検出動作を行うことになる。従って、予めコンマシンボルが検出されたレーンのコンマシンボル検出に関する情報をリセットさせて、新たにそれぞれのコンマシンボル検出動作を行う準備をする。この際、コンマシンボル検出情報は、所定時間内に全てのレーンに対してコンマシンボルが検出されたかの可否を判断するために必要な全ての情報を含む。例えば、コンマシンボル検出情報は、該当レーンに相応するレジスタにコンマシンボルが保存された位置等を含むことができる。
コンマシンボル検出に関する除法をリセットさせた後には、更にS510段階戻ってレーンのうち、コンマシンボルを検出したレーンがあるかの可否を判断する。
図6は、図5に図示されたS520段階の一例の動作流れ図である。
図6を参照すると、図5に図示されたS520段階は、レーンのうち、コンマシンボルを受信したレーンがある場合に、タイマーをスタートさせる(S610)。
この際、タイマーは、ラインのそれぞれに相応するレジスタの深さと関連された時間を測定するためのものである。即ち、レジスタの深さが5である場合なら、5クロック以内に全てのレーンに対してコンマシンボルが検出されたかの可否を判断することになる。これは、最初にコンマシンボルが発見された後、5クロックが経過すると、最初にコンマシンボルを発見したレーンに相応するレジスタがもうそれ以上コンマシンボルを保存することができないためである。従って、この場合、タイマーは5クロックに相応する時間を測定することができるものである。
次に、S520段階は、全てのレーンに対してコンマシンボルが受信されたかの可否を判断する(S620)。
又、S530段階は、タイマーが終了されたかの可否を判断する(S630)。
この際、S620段階及びS630段階は、図6に図示された順序、逆順、又は同時に行われることができる。
タイマーが終了される前に全てのレーンに対して、コンマシンボルが受信されると、図5に図示されたS530段階に戻ってコンマシンボルが検出されたタイミングによってレーンのそれぞれに対して整列ポイントを設定する。
全てのレーンに対してコンマシンボルが受信されなかったが、タイマーが終了されなかったら、更にS620段階に戻って全てのレーンに対してコンマシンボルが受信されたかの可否を判断する。
全てのレーンに対してコンマシンボルが受信されず、タイマーが終了されたら、図5に図示されたS540段階に戻ってタイマー及び以前にコンマシンボルが検出されたレーンのコンマシンボル検出に関する情報をリセットさせる。
図7は、図4に図示されたS430段階の一例の動作流れ図である。
図7を参照すると、図4に図示されたS430段階は、スキップシンボルの付加や削除が発生したかの可否を判断する(S710)。
この際、PCIイクスプレスのパイプ等から提供されるスキップシンボルの付加や削除に関する情報を利用して、スキップシンボルの付加や削除が発生したかの可否を判断することができる。
スキップシンボルが付加された場合にS430段階は、該当レーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させることができるかの可否を判断する(S720)。
これは前記した表2に記述された場合のように、スキップシンボルが付加された場合にも該当レーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させることができない場合があるためである。
受信されるデータをより少なく遅延させることができる場合に、S430段階は受信されるデータをより少なく遅延させるように整列ポイントを移動させる(S740)。
例えば、図10を参照して前述したように、スキップシンボルが付加された場合には、該当レーンの整列ポイントを「01111」から「00111」に移動させる。
受信されるデータをより少なく遅延させることができない場合に、S430段階は該当レーンを除いた他のレーンの整列ポイントを受信されるデータをより多く遅延させるように移動させる(S760)。
この際、該当レーンを除いた他のレーンのスキップシンボル付加又は削除可否を考慮して、効果的な動作を行うようにすることができる。
この際、整列ポイントのシフトが不可能な状況が発生しないように、レーンのそれぞれに相応するレジスタの深さを適切に設定しなければならない。
スキップシンボルが削除された場合にS430段階は、該当レーンの整列ポイントを受信されるデータをより多く遅延させるように移動させることができるかの可否を判断する(S730)。
これは、例えば、整列ポイントが「11111」である場合のように、スキップシンボルが削除された場合にも、該当レーンの整列ポイントを受信されるデータをより多く遅延させるように移動させることができない場合があるためである。
受信されるデータをより多く遅延させることができる場合に、S430段階は受信されるデータをより多く遅延させるように整列ポイントを移動させる(S750)。
例えば、図10を参照して前述したように、スキップシンボルが削除された場合には、該当レーンの整列ポイントを「00001」から「00011」に移動させる。
受信されるデータをより多く遅延させることができない場合に、S430段階は該当レーンを除いた他のレーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させる(S770)。
この際、該当レーンを除いた他のレジンのスキップシンボル付加又は削除可否を考慮して、効果的な動作を行うようにすることができる。
この際、整列ポイントのシフトが不可能な状況が発生しないようにレーンのそれぞれに相応するレジスタの深さを適切に設定しなければならない。
図11は、本発明の一実施形態によるPCIイクスプレス物理階層受信機のブロック図である。
図11を参照すると、本発明の一実施形態によるPCIイクスプレス物理階層受信機は、直/並列変換機910、パイプ(PIPE:PHY Interface for the PCI Express Architecture)920、及びスキュー補償部930を含む。
直/並列変換機910は、それぞれのレーンを通じて受信される直列データを10ビット並列データに変換する。直/並列変換機910は、デシリアライザでも良く、又はSERDESとも言われる。
パイプ920は、コンマシンボルを利用して10ビット並列データに対するビット整列を行い、整列された10ビットデータを8ビットデータに変換し、受信されるデータの状態によってスキップシンボルを付加又は削除する。
パイプ920は、弾性バッファを含むことができる。この際、パイプ920は、弾性バッファのオーバーフローを防止するために、スキップシンボルを削除することができる。又、パイプ920は、弾性バッファのアンダーフローを防止するために、スキップシンボルを付加することができる。
パイプ920は、INTEL(登録商標)社のPIPE(PHY Interface for the PCI Express Architecture)スペックに合うものを使用することができる。INTEL(登録商標)社のPIPEスペックは、機能的に同等なPCIイクスプレス物理階層開発を可能にするために考案されたものである。
スキュー補償部930は、トレーニングシーケンスを利用して8ビットデータをコンマシンボルを基準としてレーンのそれぞれに対して整列ポイントを設定し、スキップシンボルの付加又は削除によって整列ポイントをシフトしてバイトスキューを補償する。この際、スキュー補償部930は、パイプからスキップシンボルの付加又は削除に対する情報の入力を受けることができる。
トレーニングシーケンスは、PCIイクスプレスのTS1及びTS2パターンを含む。例えば、トレーニングシーケンスは、2.5Gb/sのテストパターンであり得る。PCIイクスプレスの初期化過程で多数個のTS1又はTS2パターンが受信されることができる。
コンマシンボルは、レーン間のスキュー補償等に使用される所定のビット構成を有する8ビットシンボルであり得る。
例えば、PCIイクスプレスのレーンは4個であり得る。
スキュー補償部930は、図4乃至図7を通じて説明したPCIイクスプレスのバイトスキュー補償方法によって受信されるデータのレーン間のバイトスキューを補償する。
スキュー補償部930は、図4乃至図7を参照して説明したPCIイクスプレスのバイトスキュー補償方法を行うように、マイクロコントローラ等をプログラミングして具現することができる。スキュー補償部930は、図4乃至図7を参照して説明したPCIイクスプレスのバイトスキュー補償方法を行うように、VHDL等のハードウェア技術言語を利用してコーディングされた後、合成(synthesis)等を通じて具現されることもできる。
前記のような本発明のPCIイクスプレスのバイトスキュー補償方法及びPCIイクスプレス物理階層受信機は、トレーニングシーケンスを利用してコンマシンボルを基準としてレーンのそれぞれに対して整列ポイントを設定し、スキップシンボルの付加又は削除に対する情報を反映して整列ポイントをシフトする。従って、スキップシンボルの付加又は削除にもかかわらず、効果的にバイトスキューを補償することができる。更に、PCIイクスプレス受信端で迅速に正確に受信データを復元することができ、効果的なデータ送/受信システムを具現することができる。
以上、本発明の実施形態によって詳細に説明したが、本発明はこれに限定されず、本発明が属する技術分野において通常の知識を有するものであれば本発明の思想と精神を離れることなく、本発明を修正または変更できる。
従来技術によるPCIイクスプレスのデータ送信を示すブロック図である。 従来技術によるPCIイクスプレスのデータ受信を示すブロック図である。 従来技術によるコンマシンボルのみを利用したバイトスキュー補償方法の問題点を示すタイミング図である。 本発明の一実施形態によるPCIイクスプレスのバイトスキュー補償方法を示す動作流れ図である。 図4に図示されたS420段階の一例の動作流れ図である。 図5に図示されたS520段階の一例の動作流れ図である。 図4に図示されたS430段階の一例の動作流れ図である。 本発明の一実施形態による整列ポイント設定を説明するためのタイミング図である。 本発明の一実施形態による整列ポイント設定を説明するためのタイミング図である。 本発明の一実施形態による整列ポイントシフトを説明するためのタイミング図である。 本発明の一実施形態によるPCIイクスプレス物理階層受信機のブロック図である。
符号の説明
910 直/並列変換機
920 パイプ
930 スキュー補償部

Claims (19)

  1. 受信されるデータがトレーニングシーケンスであるかの可否を判断する段階と、
    前記受信されるデータが前記トレーニングシーケンスである場合、前記トレーニングシーケンスを用いてコンマシンボルを基準としてレーンのそれぞれに対して整列ポイントを設定する段階と、
    前記受信されるデータが前記トレーニングシーケンスではない場合、前記レーンのそれぞれに対してスキップシンボルの付加又は削除を行う段階と、
    前記レーンのそれぞれに対してスキップシンボルの付加又は削除によって前記整列ポイントをシフトする段階と、
    を含むことを特徴とするPCIイクスプレスのバイトスキュー補償方法。
  2. 前記レーンは、4つであることを特徴とする請求項1記載のPCIイクスプレスのバイトスキュー補償方法。
  3. 前記整列ポイントを設定する段階は、
    前記レーンのうち、コンマシンボルを検出したレーンがあるかの可否を判断する段階と、
    前記レーンのうち、コンマシンボルを検出したレーンがある場合、所定時間内に全てのレーンに対してコンマシンボルが検出されたかの可否を判断する段階と、
    所定時間内に全てのレーンに対してコンマシンボルが検出された場合、コンマシンボルが検出されたタイミングによって前記レーンのそれぞれに対して整列ポイントを設定する段階と、を含むことを特徴とする請求項1記載のPCIイクスプレスのバイトスキュー補償方法。
  4. 前記整列ポイントをシフトする段階は、
    前記レーンのそれぞれに対してスキップシンボルの付加又は削除が行われたかの可否を判断する段階と、
    前記レーンのそれぞれに対してスキップシンボルが付加された場合、該当レーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させる段階と、
    前記レーンのそれぞれに対してスキップシンボルが削除された場合、該当レーンの整列ポイントを受信されるデータをより多く遅延させるように移動させる段階と、を含むことを特徴とする請求項1記載のPCIイクスプレスのバイトスキュー補償方法。
  5. 前記所定時間内に全てのレーンに対してコンマシンボルが検出されたかの可否を判断する段階は、
    前記レーンのうち、コンマシンボルを検出したレーンがある場合、タイマーをスタートさせる段階と、
    全てのレーンに対してコンマシンボルが検出されたかの可否を判断する段階と、
    前記タイマーが終了されたかの可否を判断する段階と、を含むことを特徴とする請求項3記載のPCIイクスプレスのバイトスキュー補償方法。
  6. 前記スキップシンボルが付加された場合、該当レーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させる段階は、
    前記該当レーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させることができない場合に、前記該当レーンを除いた他のレーンの整列ポイントを受信されるデータをより多く遅延させるように移動させることを特徴とする請求項4記載のPCIイクスプレスのバイトスキュー補償方法。
  7. 前記スキップシンボルが削除された場合、該当レーンの整列ポイントを受信されるデータをより多く遅延させるように移動させる段階は、
    前記該当レーンの整列ポイントを受信されるデータをより多く遅延させるように移動させることができない場合に前記該当レーンを除いた他のレーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させることを特徴とする請求項4記載のPCIイクスプレスのバイトスキュー補償方法。
  8. それぞれのレーンを通じて受信される直列データを10ビット並列データに変換する直/並列変換機と、
    コンマシンボルを用いて前記10ビット並列データに対するビット整列を行い、整列された前記10ビット並列データを8ビットデータに変換し、受信されるデータの状態によってスキップシンボルを付加又は削除するパイプ(PIPE:PHY Interface for the PCI Express Architecture)と、
    トレーニングシーケンスを用いて前記8ビットデータをコンマシンボルを基準としてレーンのそれぞれに対して整列ポイントを設定し、スキップシンボルの付加又は削除によって前記整列ポイントをシフトしてバイトスキューを補償するスキュー補償部と、を含むことを特徴とするPCIイクスプレス物理階層受信機。
  9. 前記レーンは、4つであることを特徴とする請求項8記載のPCIイクスプレス物理階層受信機。
  10. 前記スキュー補償部は、前記パイプからスキップシンボルの付加又は削除に対する情報の入力を受けることを特徴とする請求項8記載のPCIイクスプレス物理階層受信機。
  11. 前記スキュー補償部は、
    前記レーンのうち、コンマシンボルを検出したレーンがあるかの可否を判断し、
    前記レーンのうち、コンマシンボルを検出したレーンがある場合、所定時間内に全てのレーンに対してコンマシンボルが検出されたかの可否を判断し、
    所定時間内に全てのレーンに対してコンマシンボルが検出された場合、コンマシンボルが検出されたタイミングによって前記レーンのそれぞれに対して整列ポイントを設定することを特徴とする請求項8記載のPCIイクスプレス物理階層受信機。
  12. 前記スキュー補償部は、
    前記レーンのそれぞれに対してスキップシンボルが付加された場合に該当レーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させ、
    前記レーンのそれぞれに対してスキップシンボルが削除された場合に該当レーンの整列ポイントを受信されるデータをより多く遅延させるように移動させることを特徴とする請求項8記載のPCIイクスプレス物理階層受信機。
  13. 前記スキュー補償部は、
    前記所定時間内に全てのレーンに対してコンマシンボルが検出されたかの可否を判断するためのタイマーを含むことを特徴とする請求項11記載のPCIイクスプレス物理階層受信機。
  14. 前記タイマーは、前記レーンのうち、コンマシンボルを検出したレーンがある場合にスタートされ、
    前記所定時間内に全てのレーンに対してコンマシンボルが検出されない場合にリセットされることを特徴とする請求項13記載のPCIイクスプレス物理階層受信機。
  15. 前記スキュー補償部は、
    前記該当レーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させることができない場合に前記該当レーンを除いた他のレーンの整列ポイントを受信されるデータをより多く遅延させるように移動させることを特徴とする請求項12記載のPCIイクスプレス物理階層受信機。
  16. 前記スキュー補償部は、
    前記該当レーンの整列ポイントを受信されるデータをより多く遅延させるように移動させることができない場合に、前記該当レーンを除いた他のレーンの整列ポイントを受信されるデータをより少なく遅延させるように移動させることを特徴とする請求項12記載のPCIイクスプレス物理階層受信機。
  17. それぞれのレーンを通じて受信されるデータがトレーニングシーケンスであるかの可否を判断する段階と、
    前記受信されたデータがトレーニングシーケンスである場合、前記コンマシンボルが検出されたレーンがあるかの可否を判断して、相応するレーンを通じて受信された前記データに含まれたコンマシンボルに基づいてレーンのそれぞれに対して整列ポイントを設定する段階と、
    前記コンマシンボルが検出されたそれぞれのタイミングに基づいてそれぞれの整列ポイントを設定する段階と、
    前記受信されたデータがトレーニングシーケンスではない場合、前記データにスキップシンボルを付加するか除去する段階と、
    前記データにスキップシンボルを付加するか除去することによって、それぞれの整列ポイントをシフトする段階と、を含み、
    前記それぞれの整列ポイントをシフトする段階は、それぞれのレーンを通じて受信される前記データに前記スキップシンボルが付加されたかの可否を判断するか、前記それぞれのレーンを通じて受信される前記データから前記スキップシンボルが除去されたかの可否を判断する段階と、
    前記データに前記スキップシンボルが付加された場合に、前記受信されるデータがより少なく遅延されることができない場合、前記受信されるデータを除いた他の受信されたデータをより多く遅延させるように該当する前記レーンを除いた他のレーンの各整列ポイントをシフトさせる段階と、を含むことを特徴とするPCIイクスプレスのバイトスキュー補償方法。
  18. 前記それぞれの整列ポイントをシフトする段階は、前記データから前記スキップシンボルが除去された場合に、前記受信されるデータがより多く遅延されることができない場合、前記受信されるデータを除いた他の受信されたデータをより少なく遅延させるように前記該当レーンを除いた他のレーンの各整列ポイントをシフトさせる段階を更に含むことを特徴とする請求項17記載のPCIイクスプレスのバイトスキュー補償方法。
  19. 前記コンマシンボルが検出されたレーンがある場合に、所定時間の間、全てのレーンに対するコンマシンボルが検出されたかの可否を判断する段階を更に含み、前記所定時間の間、全てのレーンに対するコンマシンボルが検出されたかの可否を判断する段階は、
    前記コンマシンボルが検出されたレーンがある場合にタイマーをスタートさせる段階と、
    全てのレーンに対してコンマシンボルが検出されたかの可否を判断する段階と、
    前記タイマーが終了されたかの可否を判断する段階と、
    前記所定時間の間、前記全てのレーンに対するコンマシンボルが検出された場合、前記コンマシンボルが検出されたそれぞれのタイミングに基づいて前記それぞれの整列ポイントを設定する段階と、を含むことを特徴とする請求項18記載のPCIイクスプレスのバイトスキュー補償方法。
JP2006000819A 2005-01-10 2006-01-05 Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機 Active JP4870435B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2005-0001995 2005-01-10
KR1020050001995A KR20060081522A (ko) 2005-01-10 2005-01-10 피씨아이 익스프레스의 바이트 스큐 보상방법 및 이를위한 피씨아이 익스프레스 물리 계층 수신기

Publications (2)

Publication Number Publication Date
JP2006202281A JP2006202281A (ja) 2006-08-03
JP4870435B2 true JP4870435B2 (ja) 2012-02-08

Family

ID=36654692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006000819A Active JP4870435B2 (ja) 2005-01-10 2006-01-05 Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機

Country Status (4)

Country Link
US (1) US7434114B2 (ja)
JP (1) JP4870435B2 (ja)
KR (1) KR20060081522A (ja)
TW (1) TWI382317B (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7397768B1 (en) 2002-09-11 2008-07-08 Qlogic, Corporation Zone management in a multi-module fibre channel switch
US7930377B2 (en) 2004-04-23 2011-04-19 Qlogic, Corporation Method and system for using boot servers in networks
US7669190B2 (en) 2004-05-18 2010-02-23 Qlogic, Corporation Method and system for efficiently recording processor events in host bus adapters
US7577772B2 (en) * 2004-09-08 2009-08-18 Qlogic, Corporation Method and system for optimizing DMA channel selection
US20060064531A1 (en) * 2004-09-23 2006-03-23 Alston Jerald K Method and system for optimizing data transfer in networks
US7676611B2 (en) * 2004-10-01 2010-03-09 Qlogic, Corporation Method and system for processing out of orders frames
US7392437B2 (en) * 2005-01-20 2008-06-24 Qlogic, Corporation Method and system for testing host bus adapters
US7281077B2 (en) * 2005-04-06 2007-10-09 Qlogic, Corporation Elastic buffer module for PCI express devices
US9014563B2 (en) 2006-12-11 2015-04-21 Cisco Technology, Inc. System and method for providing an Ethernet interface
JP4917901B2 (ja) * 2007-01-15 2012-04-18 川崎マイクロエレクトロニクス株式会社 受信装置
US8284792B2 (en) * 2007-06-01 2012-10-09 Apple Inc. Buffer minimization in interface controller
CA2632031A1 (en) * 2007-09-05 2009-03-05 Faisal Dada Aligning data on parallel transmission lines
US7769048B2 (en) * 2008-06-25 2010-08-03 Intel Corporation Link and lane level packetization scheme of encoding in serial links
US8036248B2 (en) * 2008-10-29 2011-10-11 Silicon Image, Inc. Method, apparatus, and system for automatic data aligner for multiple serial receivers
JP5217946B2 (ja) * 2008-11-19 2013-06-19 株式会社リコー 半導体回路及び信号伝送システム
JP5266164B2 (ja) * 2009-08-25 2013-08-21 ルネサスエレクトロニクス株式会社 データ受信装置
JP2011071852A (ja) * 2009-09-28 2011-04-07 Fujitsu Ltd 伝送システムおよび伝送方法
JP5426326B2 (ja) * 2009-11-09 2014-02-26 ルネサスエレクトロニクス株式会社 データ受信装置、データ受信方法、及びプログラム
TWI423007B (zh) * 2009-12-31 2014-01-11 Via Tech Inc 串列匯流排裝置以及其時脈差補償方法
TW201142613A (en) * 2010-05-31 2011-12-01 Jmicron Technology Corp Timing aligning circuit and timing aligning method for aligning data transmitting timing of a plurality of lanes
US8488729B1 (en) * 2010-09-10 2013-07-16 Altera Corporation Deskew across high speed data lanes
JP5595303B2 (ja) * 2011-02-23 2014-09-24 ルネサスエレクトロニクス株式会社 データ受信装置、データ受信方法及びプログラム
WO2013001631A1 (ja) * 2011-06-29 2013-01-03 富士通株式会社 伝送装置、伝送回路、伝送システムおよび伝送装置の制御方法
KR101876418B1 (ko) * 2012-04-05 2018-07-10 한국전자통신연구원 Pci 익스프레스 디스큐 장치 및 그 방법
US9600431B2 (en) 2012-10-22 2017-03-21 Intel Corporation High performance interconnect physical layer
JP6461959B2 (ja) 2013-12-26 2019-01-30 インテル コーポレイション マルチチップパッケージリンク
GB2524979A (en) * 2014-04-08 2015-10-14 Ibm Method for verifying the functionality of a digital circuit
US9666263B2 (en) * 2015-10-07 2017-05-30 Samsung Electronics Co., Ltd. DIMM SSD SoC DRAM byte lane skewing
US10789201B2 (en) * 2017-03-03 2020-09-29 Intel Corporation High performance interconnect
US10445265B2 (en) * 2017-10-20 2019-10-15 Cisco Technology, Inc. Method and apparatus for deskewing decentralized data streams
TWI782694B (zh) * 2021-09-06 2022-11-01 智原科技股份有限公司 時序調整電路、時序不對稱消除方法及接收電路

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06164564A (ja) * 1992-11-19 1994-06-10 Nec Eng Ltd データ転送システム
JP3387379B2 (ja) * 1997-09-01 2003-03-17 富士通株式会社 パラレルデータスキュー検出回路
US6336192B1 (en) 1998-02-16 2002-01-01 Nippon Telegraph And Telephone Corporation Parallel redundancy encoding apparatus
US6678842B1 (en) * 1998-12-14 2004-01-13 Agere Systems Inc. Communications system and associated deskewing methods
US6654897B1 (en) * 1999-03-05 2003-11-25 International Business Machines Corporation Dynamic wave-pipelined interface apparatus and methods therefor
JP3758953B2 (ja) 2000-07-21 2006-03-22 富士通株式会社 スキュー補正装置
JP2002135234A (ja) * 2000-10-20 2002-05-10 Mitsubishi Electric Corp スキュー調整回路
US7020729B2 (en) * 2002-05-16 2006-03-28 Intel Corporation Protocol independent data transmission interface
KR100440585B1 (ko) 2002-05-24 2004-07-19 한국전자통신연구원 대용량 데이터의 분할 전송을 위한 다중 레인간의 비틀림정렬 장치 및 방법, 그리고 기록매체
US7203853B2 (en) * 2002-11-22 2007-04-10 Intel Corporation Apparatus and method for low latency power management on a serial data link
TWI221975B (en) * 2003-07-22 2004-10-11 Via Tech Inc Apparatus and method of a high-speed serial link with de-emphasis function
US20050024926A1 (en) * 2003-07-31 2005-02-03 Mitchell James A. Deskewing data in a buffer
TWI221974B (en) * 2003-08-05 2004-10-11 Genesys Logic Inc Lane sequencing method for PCI express and the associated devices
EP1656777A1 (en) * 2003-08-11 2006-05-17 Koninklijke Philips Electronics N.V. Auto realignment of multiple serial byte-lanes
US20050144341A1 (en) * 2003-12-31 2005-06-30 Schmidt Daren J. Buffer management via non-data symbol processing for a point to point link
US7339995B2 (en) * 2003-12-31 2008-03-04 Intel Corporation Receiver symbol alignment for a serial point to point link
US7631118B2 (en) * 2003-12-31 2009-12-08 Intel Corporation Lane to lane deskewing via non-data symbol processing for a serial point to point link
US7444558B2 (en) * 2003-12-31 2008-10-28 Intel Corporation Programmable measurement mode for a serial point to point link
JP4456432B2 (ja) * 2004-08-02 2010-04-28 富士通株式会社 基準信号を用いて同期伝送を行う装置および方法
US7174412B2 (en) * 2004-08-19 2007-02-06 Genesys Logic, Inc. Method and device for adjusting lane ordering of peripheral component interconnect express
JP4330146B2 (ja) * 2004-08-19 2009-09-16 Necエンジニアリング株式会社 スキュー調整回路

Also Published As

Publication number Publication date
KR20060081522A (ko) 2006-07-13
TWI382317B (zh) 2013-01-11
JP2006202281A (ja) 2006-08-03
US7434114B2 (en) 2008-10-07
US20060156083A1 (en) 2006-07-13
TW200636492A (en) 2006-10-16

Similar Documents

Publication Publication Date Title
JP4870435B2 (ja) Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機
US7747888B2 (en) Technique to create link determinism
JP6461089B2 (ja) データシンボル遷移ベースのクロック同期を行うマルチワイヤオープンドレインリンク
TWI417703B (zh) 相容於通用序列匯流排協定之時脈同步方法
JP4652261B2 (ja) パラレル変換回路
US8023602B2 (en) Serial data communication apparatus and methods of using a single line
US7209531B1 (en) Apparatus and method for data deskew
US20090323728A1 (en) Asynchronous data fifo that provides uninterrupted data flow
US6738917B2 (en) Low latency synchronization of asynchronous data
US10038450B1 (en) Circuits for and methods of transmitting data in an integrated circuit
US20190028262A1 (en) Data transmission system
US20080147916A1 (en) Data synchronization method of data buffer device
JP4917901B2 (ja) 受信装置
US7796063B2 (en) Data transmission circuits and data transceiver systems
CN113946526B (zh) 一种高速串行总线的多通道数据绑定***及方法
JP2013055502A (ja) シリアル通信回路
CN106933767B (zh) 一种适用于jesd204b协议的逗号检测和字对齐方法及***
JP2003304225A (ja) データリカバリ回路
WO2012038546A1 (en) Multi-lane data transmission de-skew
CN111934707B (zh) 数据发射代码和接口
US20080247496A1 (en) Early HSS Rx Data Sampling
US7366207B1 (en) High speed elastic buffer with clock jitter tolerant design
JP2017050734A (ja) シリアル通信装置、通信システム及び通信方法
CN107810495B (zh) 具有线活动检测器的uart
US12038864B2 (en) Signal processing circuit and reception device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081118

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111117

R150 Certificate of patent or registration of utility model

Ref document number: 4870435

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250