JP5568089B2 - 複数のシリアルレシーバ用の自動データアライナのための方法、装置およびシステム - Google Patents

複数のシリアルレシーバ用の自動データアライナのための方法、装置およびシステム Download PDF

Info

Publication number
JP5568089B2
JP5568089B2 JP2011534572A JP2011534572A JP5568089B2 JP 5568089 B2 JP5568089 B2 JP 5568089B2 JP 2011534572 A JP2011534572 A JP 2011534572A JP 2011534572 A JP2011534572 A JP 2011534572A JP 5568089 B2 JP5568089 B2 JP 5568089B2
Authority
JP
Japan
Prior art keywords
data
port
aligner
ports
data received
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
JP2011534572A
Other languages
English (en)
Other versions
JP2012507934A (ja
Inventor
スン ジョン リー
デユン シム
Original Assignee
シリコン イメージ,インコーポレイテッド
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 シリコン イメージ,インコーポレイテッド filed Critical シリコン イメージ,インコーポレイテッド
Publication of JP2012507934A publication Critical patent/JP2012507934A/ja
Application granted granted Critical
Publication of JP5568089B2 publication Critical patent/JP5568089B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M9/00Parallel/series conversion or vice versa
    • 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/14Handling requests for interconnection or transfer
    • 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
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4295Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using an embedded synchronisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Power Engineering (AREA)
  • Multimedia (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Dc Digital Transmission (AREA)

Description

本発明の実施形態は、概して、ネットワークの分野に関し、より詳細には、シリアルリンク技術における複数のシリアルレシーバ用の自動データアライナに関する。
シリアルポートメモリテクノロジー(Serial Port Memory Technology)(SPMT)は、メモリ領域においてさえも高速シリアルリンク技術を使用する。このシリアルリンクは、低電力およびピン数の低減を含むいくつかの利益を提供し、ホストとメモリとの間を接続する。1つのシリアルリンクが、数Gbpsの帯域幅をサポートすることができるが、メモリ帯域幅要件が、単一シリアルラインによってサポートされるものより高くなる場合、追加の帯域幅要件をサポートするために複数のシリアルリンクを使用しなければならない。
たとえば、ここで、従来のフレーム整列(aligning)を示す図1Aを参照すると、コマンド108は、複数ビット110に符号化され、第2信号シリアルデータ102によって示すように、ビット毎に高速リンク102を介して送信される。このシリアル化データ102がレシーバ側に到着すると、これらのデータビット110は再びパラレル化され、第3信号逆シリアル化データ104によって示すように20ビットパケット112等のビットパケットに格納される。しかしながら、コマンド108がこの受信データの中間で開始する可能性があるため、この「逆シリアル化」20ビットデータ104を使用して復号することはできない。たとえば、ホストが「abcdefgh」118を送信しても、レシーバ側の逆シリアル化データ104は、「fghabcde」116として受信される。言い換えれば、コマンド108の開始位置(またはヘッダ)を特定する必要があり、一方で、ホストデータ100は、ホストにより、事前に定義されたパターンで送信される。たとえば、この場合、事前に定義されたパターンは、「abcdefgh」118に設定されている。開始位置を見つけた後、2つの隣接する逆シリアル化データ104をシフトさせることにより、正しいコマンド114が得られる。この技法を「フレーム整列」と呼び、この整列に使用される事前に定義されたパターン118を「SYNC」キャラクタと呼ぶ。
しかしながら、ホストが、大量のデータを送信しなければならない場合、データは従来のフレーム及びポート整列を示す図1Bにおいて参照するように、複数のシリアルリンク152〜162を介して転送されることになる。複数の高速リンクの特性は互いに異なる。通常、サンプリングフロントエンドブロック(たとえばクロックデータリカバリ(CDR))は、入来するシリアルデータ102をサンプリングし、それを所与のクロックでデシリアライザブロックに渡す。また、各チャネルに対するホストからレシーバまでの飛行時間は、正確に同じではない。たとえば、ホストは、データのセットを同時に送信するが、1つのレシーバはデータを第1クロックでサンプリングし、他のレシーバは、第2クロックでそれをサンプリングする。この飛行時間差または経路差を補償するために、データが後に到着するチャネル162よりデータが早く到着するチャネル158に、それぞれ、1サイクル遅延164を追加する必要がある。このプロセスを、コンピュータ拡張カードに対し「仮想レーン整列」164と呼ぶ。各データセグメントのヘッダを探し整列させる別の整列プロセス166もまた、仮想レーン整列のプロセスとともに行われる。
ここで、経路差を測定し補償する従来のプロセスを示す図2を参照すると、経路差を特定するために、識別可能な事前定義されたパターンが確定され、かつさまざまなチャネルに通信される。たとえば、図2は、コンピュータ拡張カードに対するさまざまなチャネルに関して、経路差を測定し必要なデータ整列を行う方法を示している。たとえば、処理ブロック202において、データストリーム内のデータを送信し、処理ブロック204において、ホストはデータストリーム内に2つのCOMMAパターンを挿入し、処理ブロック206においてそのデータを送信する。レシーバは、ブロック208において、このパターンを精査する時、ブロック210において、各チャネルまたはポートにおけるCOMMAキャラクタの到着時刻を検査する。レシーバは、判断ブロック212において、同じCOMMAキャラクタが別のチャネルにおいて先に現れたか否かをさらに確定する。そうであり、かつCOMMAキャラクタをまだ有していないチャネルがある場合、レシーバは、ブロック214において、そのチャネルを流れているデータに対して1サイクル遅延を挿入する。そうでない場合、プロセスは遅延を継続する。
図3は、仮想レーン整列(たとえばフレーム整列及びポート整列)を提供する従来のアーキテクチャ300を示す。データは、シリアルリンクを介して受信されると、サンプリングエラーを最小限にするように入来するデータからクロック(rck)を抽出するクロックデータリカバリ(CDR)ブロックによって、サンプリングされる。そして、CDRブロックは、その結果を、4ビットを結合してアライナブロックに渡す。アライナブロックの第1コンポーネントはデシリアライザ302であり、それは、5つのシフトレジスタ308の深さを使用して5つの逐次入来する4ビットデータを20ビットデータに結合する。第2コンポーネントは、出力を正しい位置で開始させるフレームアライナ304である。デシリアライザ302が回復クロック(rck)で実行しており、フレームアライナ304がシステムクロック(clk)で実行しているため、5つのレジスタ308のうちの2つのレジスタは、クロックドメインを交差しながら問題を解決するように配置される。組合せは、レジスタ及びシフタを含むことができる。第3コンポーネントはポートアライナ306である。1サイクル遅延が必要である場合、フレームアライナ304から来るデータの代りに、ポートアライナ306に位置するレジスタからの出力が選択される。
一般に、データの整列(たとえばフレーム整列、ポート整列)または複数のチャネル間のスキューの補償は、PCI−Express等のさまざまなシリアルリンク技術で使用されている。しかしながら、SPMTは、他のシリアル技術に比較してホストとメモリとの間の相互接続が幾分か短く、それは、チャネルにおけるデータスキューを比較的短い量に制限することができることを意味する。その差は、ホストクロックサイクルにおいて0または1となる。それは、一種のSYNCキャラクタを使用して送出チャネルおよび入来チャネルをセットアップし、データスキューを測定するために識別可能なまたは特別なキャラクタを送信しない。したがって、たとえば、チャネルがセットアップ期間にある間にデータスキューを補償するために、従来の巨大なファーストインファーストアウト(FIFO)ベース技法を採用することができない。
シリアルリンク技術における複数のシリアルレシーバ(たとえばコンピュータ拡張カード)用の自動データアライナを採用する方法、装置およびシステムを提供する。
一実施形態では、方法は、単一ビットの伝送データパスを、データアライナを介してパラレルビットに変換するステップであって、データが1つまたは複数のポートを介して伝送される、ステップと、データ伝送チャネルを結合してデータの伝送時のレイテンシを低減するステップであって、データ伝送チャネルの結合が、1つまたは複数のポートを介してレイテンシを整合するように遅延を挿入することをさらに含む、ステップと、を含む。
一実施形態では、装置は、複数のシリアルレシーバ用のデータ整列機構を有し、機構は、データアライナを有し、それにより、を介して、単一ビットの伝送データパスをパラレルビットに変換し、データは1つまたは複数のポートを介して伝送され、かつ、データ伝送チャネルを結合してデータの伝送時のレイテンシを低減し、データ伝送チャネルの結合は、1つまたは複数のポートを介してレイテンシを整合するように遅延を挿入することをさらに含む。
一実施形態では、システムは、プロセッサとプロセッサに結合されたメモリとを有するコンピュータシステムを有し、コンピュータシステムは、複数のシリアルレシーバ用のデータ整列機構を有し、機構は、データアライナを有し、それにより、データアライナを介して単一ビットの伝送データパスをパラレルビットに変換し、データは1つまたは複数のポートを介して伝送され、かつ、データ伝送チャネルを結合してデータの伝送時のレイテンシを低減し、データ伝送チャネルの結合は、1つまたは複数のポートを介してレイテンシを整合するように遅延を挿入することをさらに含む。
本発明の実施形態を、同様の参照数字が同様の要素を指している添付図面の図に、限定としてではなく例として示す。
従来のフレーム整列を示す。 従来のフレームおよびポート整列を示す。 経路差を測定し補償する従来のプロセスを示す。 仮想レーン整列を提供する従来のアーキテクチャ300を示す。 レイテンシを低減するように整列システムを提供する整列アーキテクチャの実施形態を示す。 4−20アライナの実施形態を示す。 4−20ビットアライナを使用して整列させるプロセスの実施形態を示す。 比較器アレイの実施形態を示す。 データパスの実施形態を示す。 フレーム整列した20ビットデータストリームを取得する実施形態を示す。 クロックドメイン交差問題を回避するように内部クロック信号を有する制御信号発生器の実施形態を示す。 4−20ポートアライナにおけるレイテンシとポインタとの間の関係の実施形態を示す。 複数のポートにわたるポインタ値に基づくポート整列の実施形態を示す。 jmp信号に関連するプロセスの実施形態を示す。 複数のデータ伝送チャネルに対して自動データ整列を行うプロセスの実施形態を示す。 本発明の実施形態を実装することができるコンピュータシステムを示す。
本発明の実施形態は、概して、ポートマルチプライヤの拡張に関する。
SPMTは、最初は、現行のメモリ技術で一般に見られるようなパラレルインタフェースアーキテクチャとは対照的にシリアルインタフェースアーキテクチャを採用する、ダイナミックランダムアクセスメモリ(DRAM)チップを対象とした、新しいメモリインタフェースアーキテクチャとみなされている。SPMTは、通常、メモリ領域においてさえも高速シリアルリンク技術を使用し、ホストとメモリとを接続する時に、低電力およびピン数の低減という利益を提供する。しかしながら、メモリ帯域幅要件が、高速リンクがサポートすることができる帯域幅(たとえば数Gbps)より高くなった場合、複数のシリアルリンクを使用しなければならない。したがって、ホストが一度に大量のデータ(たとえば、読出しデータ、書込みデータ)を送信しなければならない時、メモリには、複数のシリアルリンクまたはシリアルチャネルを介して大量のデータを渡すために十分な帯域幅が提供されなければならない。物理的には複数のリンクまたはチャネルが使用されるが、通過するデータは、単一の大きい論理チャネルとして扱われ、ホストまたはメモリのシリアルポートがより大きい帯域幅を提供するように制限されるため、「ポート結合(binding)」と呼ばれる。
本発明の実施形態は、SMPTを改良し、かつ、帯域幅の柔軟性を向上させ、ピン数を大幅に低減し、電力需要を低下させ、システム費用全体を節約することを可能にする。この技法は、特に携帯機器に対し、システム費用全体を維持するかまたは低減しながら、機能性の増大に役立つために重要であり、それは、メモリシステムのタイプが、携帯機器を設計する時に非常に重要な考慮事項であるためである。
単一チャネルの場合、レシーバ側におけるいかなるシリアル化データも「フレーム境界」または「ヘッダ」に整列しなければならない。また、複数チャネルの場合、各フレーム整列データは同じレイテンシを提供するように整列し、それは「チャネル間整列」と呼ばれる。一般に、フレーム境界およびヘッダは、レシーバにより、SYNCパターン(たとえば8B10B符号化におけるK28.5)を用いて検査される。しかしながら、チャネル間整列は、PHY層の外側で行われ、それは、長い遅延を処理するFIFOを用いて実装される。ポート結合の技法は、受信データが1つのホストからの同じデータを有することになるように、レシーバ側において同じレイテンシを有する複数のチャネルからのデータを整列させること(チャネル間整列)を指す。チャネル(またはシリアルリンク)が他のものとは異なるレイテンシを有する場合、受信データは整列しているとはみなされない。
データを整列させるかまたは複数のチャネル間のスキューを補償する技法は、一般に、高品位マルチメディアインタフェース(High−Definition Multimedia Interface)(HDMI)およびPCI−Express等の他のシリアルリンク技術で使用されている。たとえば、HDMIで使用される遷移時間最短差動信号(Transition Minimized Differential Signal)(TMDS)技術は、3つの赤緑青(RGB)チャネルにおけるデータを、ピクセルデータストリーム内に現れる検出SYNCパターン702と整列させる。FIFOは、各チャネルにおいてPHYおよびデータの後に配置され、SYNCキャラクタの測定位置と整列する。複数のチャネルにわたって大きい経路差がある場合であっても、データは複数チャネル上で整列する。PCI−Expressの場合、複数チャネル上にデータを配置する技術を「データストライピング」と呼び、2つのSYNCキャラクタが、チャネル間のデータスキューを測定するために定期的に現れる。
しかしながら、SPMTは、他のシリアル技術に比較してホストとメモリとの間の相互接続が比較的短く、それは、チャネル上のデータスキューが比較的短い量に制限されることを意味する。結果としての差は、通常、ホストクロックサイクルにおいて0または1である。一種のSYCNキャラクタを使用して、送出チャネルおよび入来チャネルがセットアップされ、データスキューを測定するために識別可能なまたは特別なキャラクタは送信されない。これは、チャネルがセットアップ期間にある間、データスキューを補償するために従来の巨大なFIFOベース技術が採用されないことを意味する。
図4は、レイテンシを低減するように整列システムを提供する整列アーキテクチャ400の実施形態を示す。整列アーキテクチャ400は、アライナ402、CDR404、ポートアライナ406およびデシリアライザ408〜414を有している。一実施形態では、整列アーキテクチャ400を使用することにより、レイテンシを低減するためにさまざまな技法が採用される。たとえば、従来は、4ビットCDR出力から、フレームアライナ内部のシフタに対する入力として準備するために、少なくとも3サイクルかかる。アーキテクチャ400を使用して、これら3サイクルを単一サイクルまで低減することにより、このレイテンシが最小限になる。一実施形態では、4ビットCDR出力は、図3に示すようにシフトレジスタを使用する代りに単一レジスタ(図6参照)を使用して、ここでは、大きい40ビットシフタの代りに比較的小さい8ビットシフタを用いて、正しい位置に入れられる。別の実施形態では、2つのクロック、rckおよびclk(たとえば図3の312、312)から、新たな動作クロック(たとえばrck20、sck416等)が生成され、かつそれらに取って代わることにより、2つのクロックrckおよびclkが採用される場合にもたらされるいかなるクロックドメイン交差問題も除去される。適切な制御信号を採用するこれら2つの実施形態により、フレーム整列のためのクロックサイクルが、4サイクルから2サイクルに短縮される。
さらに別の実施形態では、ポートアライナブロックに単一サイクル遅延がある代りに、データの入力ストリームにわずかな遅延が挿入される。たとえば、目標システムはアンダーライン(underline)メモリであり、ホストおよびレシーバが1つの基板に位置するため、経路差はわずかな量として維持される。さらに、この場合、フレーム整列に使用されるポインタ値を検査している間に、レシーバ側にサイクル不整合が発生する可能性があるか否かについて判断が行われ、これはさらなるサイクルを低減するのに役立つことができる。これら技法を使用して、いかなる特別なキャラクタ(たとえばPCI−ExpressにおけるCOMMA)もなしにポート整列が行われる。
一実施形態では、特別なキャラクタ(たとえばSYNC、COMMA)をなくすことにより、(1)関連するプロトコルを単純なまま維持しながらアンダーラインハードウェアが簡略化し、(2)チャネルに対してセットアップするために必要な時間(たとえばトレーニング時間)が低減する。たとえば、「チャネルセットアップ時間」内に、データパケットの開始位置が検出され見つけられる。さらに、チャネルセットアップ期間は、チャネル間データを整列させるとともにフレーム境界またはヘッダを見つけるものである。
一実施形態では、データの同期が、特別なキャラクタを使用することなく、チャネルセットアップ期間内に複数のチャネルに対して行われ、一方で、複数チャネル間のデータスキューが、通常のホストクロック期間の半分より短く維持される。たとえば、従来のアーキテクチャを使用することからもたらされる6クロックサイクルのレイテンシを、一実施形態による新規の技術を使用して、3サイクルのみにまで低減することができる。
各チャネルに割り当てられるデシリアライザ408〜414の4つのポートと、チャネルの遅延を制御する1つの制御ブロックとからなるSPMTレシーバPHYを有するアーキテクチャ400。各ポート408〜414がCDR404に関連することにより、所与のクロック信号pck424で、差動対(たとえばRX0 416)における1ビットシリアルデータが検出され、そのデータが結合されて4ビットデータとなり、回復クロック信号(rck)を使用して4−20アライナ402に渡される。そして、4−20アライナ402は、入来する4ビットデータストリームを使用して20ビットデータを生成し、チャネルがチャネルセットアップ期間またはトレーニング時間にある間に開始ビット位置を検出し、その後、データを、記憶された位置と整列させる。ポートアライナ406は、4−20アライナに与えられる信号を生成する役割を担い、その信号によって4−20アライナがそのタスクを実行する。
図5は、4−20アライナ402の実施形態を示す。4−20アライナ402の図示する実施形態は、データパス508および制御パス510等、アライナ402のさまざまなコンポーネントおよび要素を提供する。データパス508はさまざまなレジスタマルチプレクサを含み、一方、制御パスは、制御信号発生器502、比較器アレイ504および有限状態機械(FSM)508を有している。実施形態では、制御パス510およびそのコンポーネントは、データパス508に対して適当な制御信号を生成し、FSM508を介して外部コンポーネントおよび機械と相互作用することにより、データパス508の動作を制御するものである。FSM508は、外部コンポーネントおよび機械との相互作用を可能にする。
入来する4ビットデータストリーム(d[3:0])512は、20ビットストリーム514にアセンブルされ、外部制御信号とフレームおよびポートが整列する。制御信号発生器502は、rck20 518とともに制御信号516をデータパス508に渡し、回復クロック(rck)522と同期しているシステムクロック(sck)520と周波数が同じである中間クロック(たとえばrck20)を通信する。これら信号516を使用して、フレーム境界内にデータを整列させる。さらに、制御信号、jmp524が外部ポートアライナから受け取られることにより、各ポートが全体で整列する。これについては、図10を参照して説明する。
図6は、4−20ビットアライナを使用して整列させるプロセスの実施形態を示す。一実施形態では、20ビットデータストリームを、4−20アライナを使用して、たとえばこのアライナを動作させるようにSearchFrame信号を発行することによって整列させる。さらに、FSMは、アライナを全体的に管理し、外部ハードウェアと通信する。
判断ブロック602において、4−20ビットアライナに信号が受信されると、フレームを整列させるべきかについて判断を行う。整列させるべきでないと判断した場合、プロセスは判断ブロック602に戻って継続する。整列させるべきであると判断した場合、4−20ビットアライナは、処理ブロック604において、まずポインタをクリアし、データパスが新たなポインタ値で満たされるようにし(たとえばポインタを0に設定し)、処理ブロック606において整列した20ビットデータを得るために3サイクル待機する。ポインタ「0」の新たな整列データを比較器アレイが検査することにより、SYNCパターンの最初の4ビットが、整列していない20ビットデータ内に存在するか否かを検出し、4ビットパターンの見つかった位置を用いてポインタ値を計算する(たとえばptr[4:0]/wptr[2:0])。これは、チャネルセットアップ期間の前半段階を表わしている。
判断ブロック608において、整列したデータ内にヘッダが見つかったか否かについて判断する。ヘッダが見つからない場合、プロセスは、プロセッサブロック604に戻る。ヘッダが見つかった場合、プロセスは処理ブロック610に進む。たとえば、各ポートからのwptr値は、4−20アライナブロックに結合されたポートアライナに渡される。これらの値を検査することにより、ポートアライナは、処理ブロック610において、各ポート内に8ユーザインタフェース(UI)遅延を挿入すべきであるか否かを判断した。ポートアライナブロックは、この命令をjmp信号として、4−20アライナに接続されているすべてのコンポーネントに送信する。このjmp信号およびすでに見つかっているヘッダ位置により、ブロック612において、比較器アレイは、ヘッダ位置に応じてポインタ値を計算する。そして、ポインタ値をレジスタに格納する。ポインタが確定すると、処理ブロック614において、3サイクル待機してデータパスが新たなポインタ値で満たされるようにする。これは、チャネルセットアップ期間の後半段階とみなされる。
判断ブロック616において、整列した20ビットデータがSYNCであるか否かを確定する。そうでない場合、プロセスは処理ブロック604を継続する。そうである場合、処理ブロック618において、フレーム整列フラグをアサートする。たとえば、整列した20ビットデータは、後半段階後に、データパスの出力(たとえばrxdata[19:0])として配置される。4−20アライナは、整列した20ビットデータがSYNCである場合、フレーム境界が見つかったことを示す信号(たとえばFrameLocked信号)を発生する。整列した20ビットデータがSYNCでない場合、4−20アライナは、整列した20ビットデータに関連するSYNCが見つかるまで、プロセス全体を再び実行する。
図7は、比較器アレイ504の実施形態を示す。一実施形態では、比較器アレイ504は、図示するように20個の4ビット比較器702(たとえば4b cmp[0]〜4b cmp[19])等、任意の数の比較器を有している。4ビット抽出器704が、入来する20ビットデータストリームから4ビット抽出器704を介して20個の連続した4ビットデータストリームを抽出し、これら20個の4ビット抽出データストリームは、対応する比較器702に渡される。各比較器は、20個の入来する4ビットデータストリームの各々を、4ビットSYNCキャラクタの開始をトリガする4ビット定数706(たとえば0010)と比較する。これら比較器のうちの1つが、チャネルセットアップ期間において「整合」を報告する可能性がある。そして、これら比較の結果は、20−5ビット符号器708によって5ビットディジットに符号化され、setが1(たとえばsetptr)712である場合、出力レジスタ710によってラッチされる。その間、ラッチされない信号の上位3ビットが、出力信号(たとえばwptr)714として渡され、外部ポートアライナによって使用される。
図8は、データパス508の実施形態を示す。図示するように、データパス508は5つの段810〜818からなる。第1段810は、データパス508に結合された外部ポートアライナから受け取られるjmp信号値802に応じて、2サイクル遅延を挿入することを含み、これがオンである時、2rckサイクル(または8UI)820を挿入する。この段の機能については、この文書の別の場所でさらに説明する。第2段812は、2つの連続した4ビットデータストリームと結合される8ビット入力データストリームから、4ビットデータストリームを選択するシフタを有している。シフタは、大きい従来の40−20シフタに置き換わる8−4シフタを含む。この8−4シフタの機能は、2ビットmsel信号値804によって決まり得る。データパス508の第3段814は、精密にシフトしたデータを適当な順序に配置しまたは整列させることを含む。受信したパケットのヘッダが第1レジスタにおいてラッチされるようにする、関連する制御信号806(たとえばIden)が適当に生成される。言い換えれば、データは2段で、すなわち一旦微細レベルで、その後再び粗レベルで整列する。
データビットストリームは、第2段812および第3段814で適当にシフトするが、整列したデータのいくつかの部分が、先のパケットから受け取られている場合もある。この1サイクル遅延を補償するために、4ビットの整列したデータが選択され、第4段816において、複数のマルチプレクサ808(たとえば4つの図示するマルチプレクサ)を使用して、上記データの前に1サイクル遅延がラッチされる。第5および最終段818は、整列した20ビットデータを保持するために使用される2つのレジスタのみを有している。
さらに、jmp信号802がトリガされる度にレイテンシが変化する。フレームアライナがフレーム整列を行う必要がない場合、代りにポートアライナがポート整列を行う。こうした状況では、ポートアライナによって検出されるように、jmp信号802が生成され、第2段812において入力データストリーム内に2サイクル遅延が挿入される。この遅延がrckドメイン820で行われるため、一実施形態では、不利益は、従来のシステムで課されるものに比較して小さい。さらに、単一チャネルのみが採用される場合、これは必要でない可能性がある。しかしながら、データが複数のチャネルで到着する時、適当なjmp値802を選択することによりデータを整列させることができる。これについては、図12を参照してさらに説明する。
図9は、フレームが整列した20ビットデータストリームを取得する実施形態を示す。処理ブロック902において、整列していない4ビットデータストリームを受け取る。処理ブロック904において、最近の8ビットデータストリームから、整列した下位4ビットストリームを抽出する。処理ブロック906において、整列していない4ビットデータを格納する。判断ブロック908において、ループが5回実行されたか否かを判断する。実行された場合、処理ブロック914において、整列した20ビットデータストリームを生成する。処理ブロック916において、上位16ビットデータをrck20で格納し、処理ブロック918において、整列した20ビットデータストリームを提供する。
図10は、クロックドメイン交差問題を回避するために内部クロック信号(たとえばrck20 1006)を有する制御信号発生器502の実施形態を示す。一実施形態では、制御信号発生器502では、2つのクロック、sck1002およびrck1004が採用される。クロックsck1002はシステムクロックを表わし、FSMはこのクロックで動作する。クロックsk1002は20キャラクタシンボル(たとえば20UI)の期間を含み、一方でクロックrck1004は、CDRからの回復クロックを表わし、5UIの期間を含む。さらに、入来するデータストリームはクロックrck502で到着する。データパス508(図5に示すように)がデータストリームから20ビットデータを抽出するために、20UIクロック期間を有する中間クロックが使用され、クロックrck1004を使用することによって生成される。このクロック信号をrck20 1006と呼び、それは、制御信号発生器1004において生成される。また、たとえば、クロック信号rck20 1006は、クロックsck1002から約180°の位相差であるような特性を有している。制御信号発生器502の別の役割は、比較器アレイ504(図5に示す)から来る所与のポインタ値(ptr)を用いてデータパス508に対する制御信号を生成することである。
さらに、電力消費量を低減する秘訣が採用される。たとえば、チャネルが設定された後、比較器アレイは不要であり、したがって、信号(たとえばflameloced信号)がオンとなった時、整列した20ビットデータストリームはマスクされて比較器アレイに渡され、電力消費量が低減する。
図11は、4−20ポートアライナ402におけるレイテンシ1102とポインタ1104との間の関係の実施形態を示す。一実施形態では、4−20ポートアライナ402は、高速信号からパラレルデータを生成し、その結果をシステムクロックドメインに渡す。言い換えれば、システムクロックドメインにおけるレイテンシ1102は、高速チャネルの通信遅延の増大を反映して、位置1106、1108等、いくつかの位置で増大する。その間、高速チャネルにおける遅延がフレーム境界の位置に影響を与え、この情報を、ポインタ1104のポインタ値として得ることができる。レイテンシ1102とポインタ1104との図示するグラフィカルな関係を使用して、いくつかの本質的な点が検出され、こうした各レイテンシの増大1106、1108は、不連続点を反映している。この場合、レイテンシ1102は、位置1106、1108で(ptr8、wptr2で)増大する。
図12は、複数のポートにわたるポインタ値に基づくポート整列の実施形態を示す。図示する実施形態は、レイテンシ1202とポインタ1204(およびwptr1206)との関係を提供し、さまざまなバー1208〜1220が、各ポートから受け取られているさまざまなptr値1204およびwptr値1206を反映している。たとえば、ケース1 1208、1218に関して、バー1208の第1ポート1222は0のwptr値を有し、バー1218の第2ポート1224は2のwptr値を有し、それは、これら2つのポートに対するレイテンシが互いに異なることを示す。しかしながら、これら2つのバー1208、1218は、セーフゾーンまで右にシフトした場合、wptr0の第1値はwptr2になり、一方でwptr2の第2値はwptr4になり、ともに同じレイテンシを生じる。2つのバー1208、1218を2つの新たなwptr値にシフトさせるために必要な量には、2クロックのrckすなわち8UI1226が必要であり、これは、2つのレジスタをデータパス508の第1段に配置するための1つの目的である。
同様に、ケース2 1210、1220の場合、バー1210の第1ポート1228はwptr1にあり、一方でバー1220の第2ポート1230はwptr3にある。2つのバー1210、1220をセーフゾーンの2つの新たなwptr値にシフトさせるために必要な量には、2クロックのrckすなわち8UI1232が必要である可能性がある。しかしながら、ケース3 1212、ケース4 1214およびケース5 1216の残りの図は、すでにセーフゾーンに配置されており、それらをシフトさせる必要はない。ケース1 1208、1218およびケース4 1214を比較すると、ポインタシフトを、1つのwptrが0の値を有している場合であっても、他のポートからのwptr値に応じて判断することができる。
図13は、信号(たとえばjmp信号)に関連するプロセスの実施形態を示す。図示するプロセス実施形態を使用して、jmp信号値を決定する。ブロック1302において、ポートからのwptrが有効である場合、たとえば1つのポートにおいてwptrの用意ができると、ポートはまた、図5に示すようなstable信号を発生する。判断ブロック1310において、ポートからのすべてのstable信号が1である場合、jmp値を確定する。図示する判断図には2つの経路がある。すなわち、たとえば、判断ブロック1304においてwptrの1つが0である場合、かつ判断ブロック1306において他のwptr値が1または2に等しい場合、ブロック1308においてjmp値は1に等しい。そうでない場合、ブロック1314においてjmp値は0に等しい。一方、判断ブロック1310においてwptrの1つの値が1である場合、かつ判断ブロック1312において他のwptrが2または3に設定されている場合、ブロック1308においてjmp値を1に設定する。そうでない場合、ブロック1314においてjmp値を0に設定する。この決定を、単一サイクルにおいて同時に計算することができる。それによりまた、図5に示すように、jmpが決定したことを示すallstable信号が発生し、接続された4−20アライナはそれに気づく。
図14は、複数のデータ伝送チャネルに対して自動データ整列を行うプロセスの実施形態を示す。処理ブロック1402において、デシリアライザをオンにし、オンになった後に、フレーム境界を検出し通常動作の準備ができるように構成する。処理ブロック1404において、デバイスがオンになり、初期状態でホストにSYNC2パターンを送信する。処理ブロック1406において、デバイスに結合されているホストがSYNCパターンを送信する。デバイスは、(デバイスの内部の)アライナに対して、フレーム境界を見つけるようにアサートし(たとえばSearchFrame)、それにより、アライナは、処理ブロック1408において、入来するデータストリーム内のSYNCパターンの事前定義されたシーケンスを見つけようとする。処理ブロック1410において、アライナは、ポートアライナと相互作用して、フレーム境界を見つけ、ポート間の同期を達成する。
判断ブロック1412において、アライナの各々の出力においてSYNCパターンが見つかるか否かを確定する。見つからない場合、プロセスは処理ブロック1410を継続する。見つかった場合、プロセスは処理ブロック1414に進み、そこでアライナは、FrameLocked信号を発生してデバイスに通知する。そして、デバイスは、処理ブロック1416において、ホストに通信するように、SYNCパターンをホストに送信し始める。処理ブロック1418において、ホストは、チャネルセットアップの後に通常動作開始を送信する。
図15は、本発明の実施形態を実装することができるコンピュータシステム1500を示す。コンピュータシステム1500は、情報を通信するシステムバス1520と、情報を処理する、バス1520に結合されたプロセッサ1510とを有している。一実施形態によれば、プロセッサ1510は、多数のマイクロプロセッサのうちの1つを使用して実装される。しかしながら、当業者は、他のプロセッサを使用することができることを理解するであろう。
コンピュータシステム1500は、情報およびプロセッサ1510が実行する命令を格納する、バス1520に結合されたランダムアクセスメモリ(RAM)または他の動的記憶装置1525(本明細書ではメインメモリと呼ぶ)をさらに備えている。メインメモリ1525を、プロセッサ1510による命令の実行中に一時変数または他の中間情報を格納するために使用することも可能である。コンピュータシステム1500はまた、プロセッサ1510によって使用される静的情報および命令を格納する、バス1520に結合されたリードオンリメモリ(ROM)および/または他の静的記憶装置1526を有することも可能である。
磁気ディスクまたは光ディスクおよびその対応するドライブ等のデータ記憶装置1525を、情報および命令を格納するためにコンピュータシステム1500に結合することも可能である。コンピュータシステム1500を、第2入出力(I/O)バス1550にI/Oインタフェース1530を介して結合することも可能である。表示装置1524、入力装置(たとえば、英数字入力装置1523および/またはカーソル制御装置1522)を含む複数のI/O装置を、I/Oバス1550に結合することができる。通信装置1521は、外部データネットワークを介して他のコンピュータ(サーバまたはクライアント)にアクセスするためのものである。通信装置1521は、モデム、ネットワークインタフェースカード、またはイーサネット(登録商標)、トークンリングまたは他のタイプのネットワークに接続するために使用されるもの等、他の周知のインタフェースデバイスを含むことができる。コンピュータシステム1500は、限定されないが、ネットワークコンピュータデバイス、携帯電話、携帯情報端末(PDA)等を含む。
コンピュータシステム1500を、クライアント/サーバネットワークシステムにおいて相互接続することができる。ネットワークは、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、イントラネット、インターネット等を含むことができる。本文書の別の場所で述べたように、任意の数のネットワークデバイスをカスケード構造にして、ネットワーク内にネットワーク化機構を形成するポートマルチプライヤと接続されるようにすることができる。ネットワークを介して任意の数のデバイスを接続することができることが考えられる。デバイスは、ストリーミングメディアデータ等のデータストリームを、本文書で説明するプロトコルを含む、複数の標準プロトコルおよび非標準プロトコルを介して、ネットワークシステムの他のデバイスに転送することができる。
上記説明では、説明の目的で、本発明が完全に理解されるように、多数の特定の詳細を示している。しかしながら、当業者には、これら特定の詳細のいくつかなしに本発明を実施し得ることが理解されよう。他の場合では、周知の構造及び装置をブロック図形態で示している。図示する構成要素の間に介在する構造がある場合もある。本明細書で説明しまたは図示した構成要素は、図示または説明していないさらなる入力または出力を有している場合もある。
本発明のさまざまな実施形態は、さまざまなプロセスを含むことができる。これらプロセスを、ハードウェアコンポーネントによって実行することができ、またはコンピュータプログラムまたは機械実行可能命令で具現化することができ、コンピュータプログラムまたは機械実行可能命令を使用して、それら命令を用いてプログラムされた汎用または専用プロセッサあるいは論理回路に対してプロセスを実行させることができる。別法として、プロセスを、ハードウェアおよびソフトウェアの組合せによって実行することができる。
ポートマルチプライヤ拡張機構の実施形態内に示しまたはそれに関連するもの等、本文書を通して説明した1つまたは複数のモジュール、構成要素または要素は、ハードウェア、ソフトウェアおよび/またはそれらの組合せを含むことができる。モジュールが、ソフトウェアを含む場合、ソフトウェアデータ、命令および/または構成を、機械/電子デバイス/ハードウェアにより製造品を介して提供することができる。製造品には、命令、データ等を提供する内容を有する機械アクセス可能/可読媒体が含まれ得る。その内容により、電子デバイス、たとえば本明細書で述べたようなファイラ、ディスクまたはディスクコントローラ等の電子デバイスが、説明したさまざまな動作または命令を実行することが可能になる。
本発明のさまざまな実施形態の一部を、コンピュータプログラム製品として提供することができ、それは、コンピュータプログラム命令が格納されているコンピュータ可読媒体を含むことができ、コンピュータプログラム命令を使用して、コンピュータ(または他の電子デバイス)を、本発明の実施形態に従ってプロセスを実行するようにプログラムすることができる。機械可読媒体には、限定されないが、フロッピー(登録商標)ディスケット、光ディスク、コンパクトディスクリードオンリメモリ(CD−ROM)および光磁気ディスク、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能プログラム可能リードオンリメモリ(EPROM)、電気的EPROM(EEPROM)、磁気または光カード、フラッシュメモリ、または電子命令を格納するのに適している他のタイプの媒体/機械可読媒体が含まれ得る。さらに、本発明を、コンピュータプログラム製品としてダウンロードすることも可能であり、その場合、プログラムを、リモートコンピュータから要求しているコンピュータに転送することができる。
方法の多くを、それらの最も基本的な形態で説明しているが、本発明の基本的な範囲から逸脱することなく、方法の任意のものにプロセスを追加するかまたは任意のものから削除することができ、かつ説明したメッセージの任意のものに情報を追加するかまたは任意のものから減じることができる。当業者には、多くのさらなる変更および改変を行うことができることが明らかとなろう。特定の実施形態を、本発明を限定するためではなく例示するために提供している。本発明の実施形態の範囲は、上述した特定の例によるのではなく以下の特許請求の範囲によってのみ確定されるべきである。
要素「A」が要素「B」にまたは要素「B」と結合されると言う場合、要素Aを、要素Bに直接結合してもよく、またはたとえば要素Cを介して間接的に結合してもよい。明細書または特許請求の範囲が、構成要素、特徴、構造、プロセスまたは特性Aによって、構成要素、特徴、構造、プロセスまたは特性Bがもたらされると述べる場合、それは、「A」が少なくとも「B」の部分的な要因であるが、「B」をもたらすのに役立つ、少なくとも1つの他の構成要素、特徴、構造、プロセスまたは特性もあり得ることを意味する。明細書が、ある構成要素、特徴、構造、プロセスまたは特性が、含まれ「てもよい」、含まれる「可能性がある」または含まれ「得る」ことを示す場合、その特定の構成要素、特徴、構造、プロセスまたは特性は、含まれることが必須ではない。明細書または特許請求の範囲が「1つの」要素について言及する場合、これは、説明する要素の1つしかないことを意味するものではない。
実施形態は、本発明の実施態様または例である。明細書において「ある実施形態」、「一実施形態」、「いくつかの実施形態」または「他の実施形態」と言及する場合、それは、その実施形態に関して説明する特定の機能、構造または特性が、必ずしもすべての実施形態ではなく、少なくともいくつかの実施形態に含まれることを意味する。「ある実施形態」、「一実施形態」または「いくつかの実施形態」がさまざまに現れる場合、それは、必ずしも同じ実施形態を指しているとは限らない。本発明の例示的な実施形態の上述した説明において、本開示を簡素化し、かつさまざまな発明の態様のうちの1つまたは複数の理解に役立つ目的で、さまざまな特徴を単一の実施形態、図またはその説明にまとめている場合があることが理解されるべきである。しかしながら、この開示方法は、請求項に記載した発明が、各請求項において明示的に列挙されている以外の特徴を必要とするという意図を反映しているものと解釈されるべきではない。そうではなく、以下の特許請求項が反映しているように、本発明の態様は、単一の上述した実施形態のすべての特徴のうちの一部にある。したがって、特許請求の範囲は、本明細書に明示的に組み込まれ、各請求項は、本発明の別個の実施形態として独立している。

Claims (12)

  1. 複数のポート(408−414)のそれぞれにおける単一ビットデータを、各ポートに含まれるそれぞれのデータアライナ(402)を介してそれぞれのパラレルビットデータに変換するステップと、
    単一の論理チャネルとして前記複数のポートで受信されたデータを処理するために前記複数のポートを結合するステップとを含み、
    前記複数のポートを結合するステップは、各データアライナ(402)に対して、前記データアライナがポートアライナ(406)から制御信号(524)を受信する場合には、前記データアライナが、前記複数のポートで受信されたデータ間のスキューを補償するために前記制御信号に基づいて前記データアライナを含む前記ポートで受信されたデータに遅延を挿入することを含む方法。
  2. 各ポートで受信された前記データのフレーム境界情報を検出し、チャネルセットアップ期間中に前記検出されたフレーム境界情報を使用して各ポートで受信された前記データのフレーム整列をするステップをさらに含む、請求項1に記載の方法。
  3. 前記フレーム境界情報に基づくポートアライナ(406)における前記制御信号をさらに含請求項2に記載の方法。
  4. 前記フレーム境界情報が、各ポートで受信された前記データの開始位置を含む、請求項2に記載の方法。
  5. 複数のポート(408−414)で受信されたデータ間のスキューを補償する機構であって、ポートアライナ(406)及び複数のポートを含み、各ポートが、それぞれのデータアライナ(402)を含む前記機構を備え、
    前記機構は、前記複数のポートの各々でそれぞれに受信された単一ビットデータを各ポートに含まれるそれぞれのデータアライナを介してそれぞれのパラレルビットに変換し、単一の論理チャネルとして前記複数のポートで受信されたデータを処理するために前記複数のポートを結合するように構成されており、
    前記複数のポートの結合は、各データアライナ(402)に対して、前記データアライナがポートアライナ(406)から制御信号(524)を受信する場合には、前記データアライナが、前記複数のポートで受信されたデータ間のスキューを補償するために前記制御信号に基づいて前記データアライナを含む前記ポートで受信されたデータに遅延を挿入することを含む装置。
  6. 前記機構は、各ポートで受信された前記データのフレーム境界情報を検出し、チャネルセットアップ期間中に前記検出されたフレーム境界情報を使用して各ポートで受信された前記データのフレーム整列をするようにさらに構成されている、請求項に記載の装置。
  7. 前記ポートアライナは、前記フレーム境界情報に基づいて前記制御信号を生成するように構成される、請求項に記載の装置。
  8. 前記フレーム境界情報が、各ポートで受信された前記データの開始位置を含む、請求項に記載の装置。
  9. プロセッサ(1500)と前記プロセッサに結合されたメモリ(1526)とを有するコンピュータシステム(1500)であって、複数のポート(408−414)で受信されたデータ間のスキューを補償する機構を有し、前記機構が、ポートアライナ(406)及び複数のポートを有し、各ポートが、それぞれのデータアライナ(402)を含む前記コンピュータシステムを備えたシステムであって、
    前記機構は、
    前記複数のポートの各々でそれぞれに受信された単一ビットデータを各ポートに含まれるそれぞれのデータアライナを介してそれぞれのパラレルビットデータに変換し、
    単一の論理チャネルとして前記複数のポートで受信されたデータを処理するために前記複数のポートを結合するように構成されており、
    前記複数のポートの結合は、各データアライナ(402)に対して、前記データアライナがポートアライナから制御信号(524)を受信する場合には、前記データアライナが、前記複数のポートで受信されたデータ間のスキューを補償するために前記制御信号に基づいて前記データアライナを含む前記ポートで受信されたデータに遅延を挿入することを含むシステム。
  10. 前記機構は、各ポートで受信された前記データのフレーム境界情報を検出し、チャネルセットアップ期間中に前記検出されたフレーム境界情報を使用して各ポートで受信された前記データのフレーム整列をするようにさらに構成されている、請求項に記載のシステム。
  11. 前記ポートアライナは、前記フレーム境界情報に基づいて前記制御信号を生成するように構成される、請求項10に記載のシステム。
  12. 前記フレーム境界情報が、各ポートで受信された前記データの開始位置を含む、請求項に記載のシステム。
JP2011534572A 2008-10-29 2009-09-30 複数のシリアルレシーバ用の自動データアライナのための方法、装置およびシステム Active JP5568089B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/260,970 US8036248B2 (en) 2008-10-29 2008-10-29 Method, apparatus, and system for automatic data aligner for multiple serial receivers
US12/260,970 2008-10-29
PCT/US2009/059080 WO2010053637A2 (en) 2008-10-29 2009-09-30 Method, apparatus, and system for automatic data aligner for multiple serial receivers

Publications (2)

Publication Number Publication Date
JP2012507934A JP2012507934A (ja) 2012-03-29
JP5568089B2 true JP5568089B2 (ja) 2014-08-06

Family

ID=42117442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011534572A Active JP5568089B2 (ja) 2008-10-29 2009-09-30 複数のシリアルレシーバ用の自動データアライナのための方法、装置およびシステム

Country Status (8)

Country Link
US (1) US8036248B2 (ja)
EP (1) EP2351303B8 (ja)
JP (1) JP5568089B2 (ja)
KR (1) KR101470989B1 (ja)
CN (1) CN102204198B (ja)
DE (1) DE202009019093U1 (ja)
TW (1) TWI502358B (ja)
WO (1) WO2010053637A2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102412900A (zh) * 2011-11-30 2012-04-11 中国航空工业集团公司第六三一研究所 一种用于实现光纤通道数据位重对齐功能的方法
CN102970109B (zh) 2012-11-16 2016-06-22 中兴通讯股份有限公司 一种高速多通道的数据传输方法、相关装置和系统
CN103744827A (zh) * 2014-01-10 2014-04-23 浪潮电子信息产业股份有限公司 一种提高芯片逻辑时序的串行数据帧匹配方法
US9888077B2 (en) 2014-04-22 2018-02-06 Western Digital Technologies, Inc. Metadata based data alignment in data storage systems
KR102225619B1 (ko) * 2015-02-10 2021-03-12 한화테크윈 주식회사 고속직렬데이터수신장치
US10455501B2 (en) * 2016-12-22 2019-10-22 Macom Connectivity Solutions, Llc Power optimization mechanisms for framers by serializing frame alignment processes for multiple lanes
US10313102B2 (en) * 2016-12-22 2019-06-04 Macom Connectivity Solutions, Llc Power optimization mechanisms for framers by selectively deactivating frame alignment process
US10594892B2 (en) 2017-05-18 2020-03-17 Analog Devices Global High speed serial link for video interfaces
TWI678902B (zh) * 2018-11-28 2019-12-01 中華電信股份有限公司 針對應用進行封包處理/交換的網路系統與方法
WO2021111329A1 (en) * 2019-12-02 2021-06-10 Zixi, Llc Packetized data communication over multiple unreliable channels
CN111431533B (zh) * 2020-04-26 2023-06-16 杭州电子科技大学富阳电子信息研究院有限公司 一种高速lvds接口adc数据与时钟同步的方法
US11899609B2 (en) * 2021-12-20 2024-02-13 Nvidia Corporation Frame alignment recovery for a high-speed signaling interconnect

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5827448A (ja) * 1981-08-10 1983-02-18 Nippon Telegr & Teleph Corp <Ntt> 広帯域通信方式
GB8407223D0 (en) * 1984-03-20 1984-04-26 British Telecomm Broadband digital transmission systems
JPS6386630A (ja) * 1986-09-29 1988-04-18 Nec Corp 並列伝送路におけるフレ−ム同期方式
JPH0514335A (ja) * 1991-07-04 1993-01-22 Mitsubishi Electric Corp 並列伝送路のフレーム同期装置
US5408473A (en) * 1992-03-03 1995-04-18 Digital Equipment Corporation Method and apparatus for transmission of communication signals over two parallel channels
JP3224310B2 (ja) * 1993-08-12 2001-10-29 富士通株式会社 並列伝送路復号化処理装置
JP2878193B2 (ja) * 1996-07-22 1999-04-05 日本電気株式会社 変復調装置
US6215798B1 (en) * 1996-11-01 2001-04-10 Telefonaktiebolaget Lm Ericsson (Publ) Multi-frame synchronization for parallel channel transmissions
US6970435B1 (en) * 1998-06-15 2005-11-29 International Business Machines Corporation Data alignment compensator
AU731794B2 (en) * 1998-08-20 2001-04-05 Samsung Electronics Co., Ltd. Device and method for inserting previously known bits in input stage of channel encoder
US6775302B1 (en) * 1998-12-14 2004-08-10 Agere Systems Inc. Communications system with symmetrical interfaces and associated methods
AU2001253448A1 (en) 2000-04-11 2001-10-23 Parthus Technologies Plc Method and apparatus for multi-lane communication channel with deskewing capability
US6690757B1 (en) 2000-06-20 2004-02-10 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated lane de-skew
US7054331B1 (en) 2000-09-13 2006-05-30 Intel Corporation Multi-lane receiver de-skewing
US20020184412A1 (en) * 2001-06-02 2002-12-05 Stevens James Ray System and method for locating and aligning to framing bits
US7170891B2 (en) * 2001-08-30 2007-01-30 Messenger Terabit Networks, Inc. High speed data classification system
KR100408416B1 (ko) * 2001-09-06 2003-12-06 삼성전자주식회사 디지털 비디오 신호 전송 시스템 및 전송방법
US20040117499A1 (en) * 2002-12-13 2004-06-17 Bo Liu System and method for detection of delineation of data units for a communication element
US7543193B2 (en) * 2003-06-02 2009-06-02 Pmc-Sierra, Inc. Serial data validity monitor
TWI249681B (en) 2003-07-02 2006-02-21 Via Tech Inc Circuit and method for aligning data transmitting timing of a plurality of lanes
US7546401B2 (en) * 2004-09-23 2009-06-09 International Business Machines Corporation Byte to byte alignment of multi-path data
KR20060081522A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 피씨아이 익스프레스의 바이트 스큐 보상방법 및 이를위한 피씨아이 익스프레스 물리 계층 수신기
US7549074B2 (en) 2005-06-02 2009-06-16 Agere Systems Inc. Content deskewing for multichannel synchronization
US8234424B2 (en) * 2006-06-08 2012-07-31 Integrated Device Technology, Inc. Efficient strip-down and re-alignment of ingressing physical layer/data layer packets in an aggregated PCI-express port having eight lanes
TW200834329A (en) * 2006-08-10 2008-08-16 Avocent Huntsville Corp USB based virtual media system
CN101512956B (zh) 2006-08-29 2012-05-30 皇家飞利浦电子股份有限公司 用于高速lvds通信的同步的方法和设备
KR100894811B1 (ko) * 2007-01-11 2009-04-24 삼성전자주식회사 서데스의 역직렬화기 및 그것의 데이터 역직렬화 방법

Also Published As

Publication number Publication date
KR20110080175A (ko) 2011-07-12
KR101470989B1 (ko) 2014-12-09
TWI502358B (zh) 2015-10-01
EP2351303B1 (en) 2015-11-11
US8036248B2 (en) 2011-10-11
EP2351303B8 (en) 2015-12-23
WO2010053637A2 (en) 2010-05-14
JP2012507934A (ja) 2012-03-29
CN102204198B (zh) 2015-01-07
EP2351303A2 (en) 2011-08-03
US20100103929A1 (en) 2010-04-29
TW201017422A (en) 2010-05-01
WO2010053637A3 (en) 2011-02-24
DE202009019093U1 (de) 2016-05-23
CN102204198A (zh) 2011-09-28

Similar Documents

Publication Publication Date Title
JP5568089B2 (ja) 複数のシリアルレシーバ用の自動データアライナのための方法、装置およびシステム
US7093061B2 (en) FIFO module, deskew circuit and rate matching circuit having the same
US7975082B2 (en) System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip
US7434192B2 (en) Techniques for optimizing design of a hard intellectual property block for data transmission
US20030046618A1 (en) Relative dynamic skew compensation of parallel data lines
JP4279672B2 (ja) データ有効インジケータ及びスキュー不耐性データグループを有するパラレルデータ通信
US7958285B1 (en) System and method to facilitate deterministic testing of data transfers between independent clock domains on a chip
US8572300B2 (en) Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks
US8094668B1 (en) Physical layer device including a serial media independent interface (SMII)
JP2004520778A (ja) スキュー耐性のないデータグループを有するパラレルデータ通信
US8401043B1 (en) Hardware interface utilizing alignment symbols for demultiplexing
WO2013155893A1 (zh) 一种高速串行通信通道对齐的方法和系统
US7571267B1 (en) Core clock alignment circuits that utilize clock phase learning operations to achieve accurate clocking of data derived from serial data streams having different relative skews
US9058266B2 (en) Deskew apparatus and method for peripheral component interconnect express
EP1946475B1 (en) Data interface and method of seeking synchronization
US7380084B2 (en) Dynamic detection of block boundaries on memory reads
US20030161351A1 (en) Synchronizing and converting the size of data frames
JP4336860B2 (ja) シリアルインタフェース回路、及びシリアル受信器
US8711018B2 (en) Providing a feedback loop in a low latency serial interconnect architecture
US10873445B2 (en) Deskewing method for a physical layer interface on a multi-chip module
US6429794B1 (en) Format converter
WO2013095526A1 (en) Block aligner-based dead cycle deskew method and apparatus
WO2024086657A1 (en) Low latency pcie retimer with skew correction
EP1150451A2 (en) Method and apparatus for initializing a synchronizer
JP2002223208A (ja) 多チャネルデータ伝送方法および方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120928

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131030

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140130

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140228

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140320

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140320

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140620

R150 Certificate of patent or registration of utility model

Ref document number: 5568089

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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