JP2013146105A - 集積回路間のポイントツーポイント通信のための物理インタフェースでのエラー検出 - Google Patents

集積回路間のポイントツーポイント通信のための物理インタフェースでのエラー検出 Download PDF

Info

Publication number
JP2013146105A
JP2013146105A JP2013082428A JP2013082428A JP2013146105A JP 2013146105 A JP2013146105 A JP 2013146105A JP 2013082428 A JP2013082428 A JP 2013082428A JP 2013082428 A JP2013082428 A JP 2013082428A JP 2013146105 A JP2013146105 A JP 2013146105A
Authority
JP
Japan
Prior art keywords
error detection
error
bits
data bits
physical interface
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.)
Pending
Application number
JP2013082428A
Other languages
English (en)
Other versions
JP2013146105A5 (ja
Inventor
Brian K Schmidt
ケイ シュミット ブライアン
Lawrence Lleweyln Butcher
ルウェリン ブッチャー ローレンス
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.)
Silicon Image Inc
Original Assignee
Silicon Image 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 Silicon Image Inc filed Critical Silicon Image Inc
Publication of JP2013146105A publication Critical patent/JP2013146105A/ja
Publication of JP2013146105A5 publication Critical patent/JP2013146105A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/38Synchronous or start-stop systems, e.g. for Baudot code
    • H04L25/40Transmitting circuits; Receiving circuits
    • H04L25/49Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems
    • H04L25/4906Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes
    • H04L25/4908Transmitting circuits; Receiving circuits using code conversion at the transmitter; using predistortion; using insertion of idle bits for obtaining a desired frequency spectrum; using three or more amplitude levels ; Baseband coding techniques specific to data transmission systems using binary codes using mBnB codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Detection And Correction Of Errors (AREA)
  • Dc Digital Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】電子装置間の確実なデータ通信をもたらす機器及び方法を提供する。
【解決手段】集積回路間のデータ通信の送信及び/又は受信中の物理インタフェースにおけるエラーを検出する機器、システム、及び方法。機器は、受信物理インタフェースとして又はその内部で作動するように構成され、符号化データビットの部分集合を復号化して復号化データビットを生成するように構成された復号器を含み、復号化データビットから物理インタフェースエラー検出ビットを抽出するように構成された物理インタフェースエラー検出ビット抽出器を含む。機器は、物理インタフェースエラー検出ビットを使用して符号化データビットが少なくとも1つの誤ったデータビットをエラーとして含むか否かを判断し、物理層内で作動するように構成されたエラー検出器を含み、例えばNB/(N+1)Bライン符号器内でエラー検出コードを効率的に送信する。
【選択図】図1A

Description

本発明は、一般的に、電子装置間の確実なデータ通信を提供するための機器及び方法に関するものであり、より具体的には、電子装置間の物理的媒体上のデータビットのポイントツーポイント伝送中に物理インタフェースでエラーを効率的に検出するように構成された物理インタフェースに関する。本発明の一実施形態では、データビットのポイントツーポイント伝送は、シリアルデータリンクに沿った低振幅高周波数信号伝達を使用する。
集積回路(IC)のような電子装置間のポイントツーポイント通信は、特にデータ転送の同期化に専用同期クロックラインが使用される時には一般的に確実であると考えられている。特に、多くのシステム設計担当者は、IC間の通信が、IC間で交換されるデータビットが同じデータビットであるという広く知られた仮定に従うと予想している。例えば、殆どの従来のプロセッサICは、メモリICに送信されたアドレスビットが正しく受信したか、又はプロセッサICによって受信したデータがメモリICによって送られたものと同じであったか否かに関係なく、メモリICからフェッチされたデータに作用するように設計されている。しかし、データビットを高速データ転送速度でかつ振幅を落として(すなわち、送信電力を落として)送信する従来の物理インタフェースでは、データ信号の強度に及ぼす背景ノイズの影響のためにSN比が小さくなり、これは、確実なポイントツーポイント通信を妨げ兼ねないエラーの増加を示すものである。更に、多くのシステム設計担当者は、クロックが符号化されたシリアル化データに組み込まれる非同期クロッキング技術を使用してシリアルデータリンク上でデータをシリアル搬送する物理インタフェースを実施している。シリアルデータリンクを有する高速シリアル通信技術の例としては、「シリアルATA(SATA)(登録商標)」、「遷移最小化差動信号伝達(TMDS)」、「PCI Express」、及び「InfiniBand(登録商標)」などがある。シリアルデータ通信に対して準備された従来の物理インタフェースは、ノイズ及び電力の両方を低減するが、少なくとも1つの欠点は、従来のシリアルデータリンクは、搬送中にデータ破損を受けやすいことである。
コンピュータネットワーキングの分野において、「開放型システム相互接続(OSI)」モデルは、2つの端末局(又はコンピュータ装置)間のエラーを検出して訂正する一般的な手法を説明するものである。この手法によれば、データリンク層は、送信されたビットのフレームに基づいてエラー検出コード(例えば、巡回冗長コード、「CRC」)を計算する。次に、それは、連続ビットとしてエラー検出コードをフレームに添付し、次に、エラー検出コードとアプリケーションデータビットの両方をライン符号化(又はコード化)のために物理インタフェースに渡す。ライン符号化の一例は、8つのアプリケーションデータビットを10個の符号化ビットに変換するものである。この種のライン符号化技術は、一般的に8B/10Bとして公知である。ライン符号化が行われた後、シリアル物理インタフェースは、通信媒体上で符号化ビットを別のシリアル物理インタフェースに追い出し、これが、クロックを回復してこれらのビットを復号化する。次に、受信器のデータリンク層は、エラー検出コードの連続ビットを使用してエラー検出及び訂正技術を適用する。
データリンク層は、機能的ではあるが、これらのエラー検出及び訂正処理を物理インタフェースを超えて実行し、それによってエラー検出及び/又は解決を遅延させる。また、従来の物理インタフェースは、一般的に、エラー検出及び訂正を標準的方法で容易にするのに十分に適するものではない。例えば、従来の物理インタフェースは、集積回路間の同期及び並行データ通信を行うように最適化されている。従って、それらは、シリアルデータリンク上のような非同期及びシリアルデータ通信に対して適時かつ確実なデータ転送を行うように容易に適応させることができない。更に、従来の物理インタフェースは、一般的に、少なくとも(1)アプリケーションが特化エラー処理技術に参加する必要がない透明なエラー検出及び回復技術と、(2)エラー検出コードがシリアルデータリンク上で転送される速度を上げるためのエラー検出コードの効率的な送信とを提供することを助けない。
米国特許第6,747,580号
以上に鑑みて、上述の欠点を最小にし、かつ少なくともエラー検出及び任意的なエラー・リカバリーを準備する物理インタフェース、機器、及び方法を提供することが望ましいと考えられる。
集積回路(IC)間のデータ通信の送信及び/又は受信中の物理インタフェースにおけるエラーを検出するための機器、システム、及び方法を開示する。本発明の様々な実施形態によれば、物理インタフェースは、シリアル又はパラレルデータリンク上のいずれかの通信を容易にすることができ、又はそれは、組込非同期クロック又は外部同期クロックのいずれかを使用するように構成することができる。
一実施形態では、機器は、受信物理インタフェースとして又はその内部で作動するように構成される。機器はまた、符号化データビットの部分集合を復号化して復号化データビットを生成するように構成された復号器を含む。それはまた、復号化データビットから物理インタフェースエラー検出ビットを抽出するように構成された物理インタフェース(PI)エラー検出ビット抽出器を含む。従って、機器は、物理インタフェースエラー検出ビットを使用して、符号化データビットが少なくとも1つの誤ったデータビットをエラーとして含むか否かを判断する。一部の実施形態では、機器は、物理層内で作動するように構成されたエラー検出器を含む。少なくとも1つの実施形態では、機器は、例えばNB/(N+1)Bライン符号器内でエラー検出コードを効率的に送信する。符号化データビットは、実質的に直流(DC)均衡状態とすることができる。更に、符号化データビットは、放出放射線のスペクトル特性を形作るように構成することができる。また、これらの符号化データビットは、受信装置でクロックを回復するのに使用することができる組込非同期クロックを含むこともできる。一部の事例においては、機器は、物理層内で作動してエラーを検出するように構成されたエラー検出器を含む。エラー検出器は、「開放型システム相互接続(OSI)」7層基準モデルのデータリンク層又はあらゆる上部層におけるよりも早期にエラー検出を実行する。一部の場合では、物理インタフェースエラー検出ビットは、パリティビットであり、一方、他の事例では、物理インタフェースエラー検出ビットは、エラー検出コードの一部分である。例えば、エラー検出コードは、巡回冗長検査(CRC)チェックサムとすることができる。この場合のエラー検出器は、物理インタフェースエラー検出ビット、並びに符号化データビットの他の部分集合(すなわち、他のコード語)からの他の物理インタフェースエラー検出ビットを蓄積してエラー検出コードを再構成するように構成される。エラー検出器は、物理インタフェースエラー検出ビット及び他の物理インタフェースエラー検出ビットからCRC検査を発生させるように構成することができることに注意されたい。次に、エラー検出器は、CRC検査をエラー検出コードと比較して、エラーが発生したか否かを判断することができる。
様々な実施形態では、物理インタフェースエラー検出ビットは、符号化データビットの部分集合と同時に機器で受信され、他の物理インタフェースエラー検出ビットの各々も、符号化データビットの他の部分集合の各々と同時に機器で受信され、それによってそうでなければ符号化データビットに追随するように添付されるエラー検出コードを機器が受信する時間を短縮する。少なくとも1つの実施形態では、機器はまた、エラーを訂正するように構成されたエラー訂正器を含む。エラー訂正器は、符号化データビットの部分集合の再送信を要求するか、又はエラーが検出されたことをアプリケーション特有のモジュールに信号で知らせ、それによってアプリケーション特有のモジュールがエラーを解決することができるように構成することができる。あるいは、エラー訂正器は、1つ又はそれよりも多くのICを再初期化するなどのデフォルト対策を取ることができる。符号化データビットの部分集合の1つは、N+m個のデータビットを含むことができ、これを復号化して、復号化データビットとしてN個のアプリケーションデータビットを取得することができることに注意されたい。機器は、N+2個のデータビットとして符号化データビットを受信し、かつN個のアプリケーションデータビットを出力として供給するように構成することができることにも注意されたい。例えば、Nが8の時、機器は、8B/10B復号器として構成され、それは、9個の復号化データビット、すなわち、8個のアプリケーションデータビット及びエラー検出のための1つの物理インタフェースエラー検出ビットを提供する。
本発明の別の実施形態では、集積回路(IC)間のデータ送信のために物理インタフェースにおいてエラー検出コードを発生させる機器を開示する。一実施形態では、機器は、送信物理インタフェースとして又はその内部で作動するように構成される。機器は、NビットからN+2(Nビット/N+2)ビットの物理層(PHY)符号器を含むことができる。この符号器は、物理インタフェースエラー検出ビットをN個のアプリケーションデータビットと共に挿入してN+1個の未符号化データビットを形成し、N+1個の未符号化データビットを符号化してN+2個の符号化データビットを生成するように構成される。機器はまた、物理インタフェースエラー検出ビットを含む、エラー検出コードを構成するいくつかのビットを発生させるように構成されたエラー検出コード発生器を含む。Nは、あらゆる整数のデータビットを表すことができる。機器は、一部の場合では、N+2個の符号化データビットをシリアル化してN+2個のシリアル符号化データビットを形成し、それによって単一のエラー検出データビットをN+2個のシリアル符号化データビットと交互配置するように構成されたシリアライザを含むことができる。少なくとも1つの実施形態では、機器は、N個のデータビットを含むデータビットの群を記憶する記憶装置を含む。エラー検出コード発生器は、データビットの群を検査してエラー検出コードを発生させるように構成される。特定的な実施形態では、機器は、送信器(TX)エラー訂正器を含み、これは、送信器エラー訂正器が再送信の要求を受信した時にデータビットの群の1つ又はそれよりも多くの部分集合を再送信するように構成されている。
本発明の更に別の実施形態では、物理インタフェースは、第1の基板上に集積回路(IC)として形成され、第2の基板上に形成されたコアICと交換されたデータにおける送信エラーを検出する。コアICは、メモリチップの記憶機能のようなアプリケーション特有の機能を実施する論理を収容する別のICである。物理インタフェースは、着信符号化データビットを受信するように構成された入力ポートの第1の部分集合と、着信復号化データビットをコアICに送信するように構成された出力ポートの第1の部分集合とを含む複数の入力ポート及び出力ポートを含む。物理インタフェースはまた、複数の入力ポート及び出力ポートの間に結合された1つ又はそれよりも多くのエラー・リカバリー・モジュールを含む。エラー・リカバリー・モジュールの少なくとも1つは、入力ポートの第1の部分集合の少なくとも1つと出力ポートの第1の部分集合の少なくとも1つとの間に結合される。エラー・リカバリー・モジュールは、任意的に、着信符号化データビット内のエラーを検出してエラーを訂正するアクションを開始するように構成された物理層(PHY)復号器を含むことができる。
本発明の更に別の実施形態では、少なくとも2つの集積回路(IC)間の高速シリアル通信リンクを開示する。このリンクは、データを伝達するための物理的媒体と、物理的媒体の第1の端部に結合された送信装置と、物理的媒体の第2の端部に結合された受信装置とを含む。それはまた、物理インタフェースエラー検出ビットを使用してエラーを判断するように構成されたエラー検出器を含む。送信装置は、物理インタフェースエラー検出ビットを符号化した符号化データビットを発生させるNビット/N+2ビット符号器を含み、受信装置は、符号化データビットを復号化するN+2ビット/Nビット復号器と、物理インタフェースエラー検出ビットを使用してエラーを判断するエラー検出器とを含むことに注意されたい。また、送信装置及び受信装置は、遷移最小化差動信号伝達(TMDS)装置、高品位マルチメディアインタフェース(HDMI(登録商標))装置、マルチギガビット「イーサネット(登録商標)」装置(例えば、10Gbps「イーサネット(登録商標)」又は「10GbE」装置)、及び/又はシリアル高度技術アタッチメント(SATA)装置のいずれかの1つ又はそれよりも多くとすることができることに注意されたい。また、送信装置及び受信装置は、「デジタル視覚インタフェース(DVI)」及び/又は「低電圧差動信号伝達(LVDS)」、並びにあらゆる他の同等の技術を実施することができることに注意されたい。
本発明は、添付図面と共に以下の詳細説明に関連してより完全に評価される。
同じ参照番号は、図面のいくつかの図を通して対応する部分を指している。参照番号の大半は、その参照番号を最初に導入する図を全体的に特定する最も左の1つ又は2つの桁を含むことに注意されたい。
本発明の少なくとも1つの特定的な実施形態によりエラー・リカバリー・モジュールを含んでエラーを検出する物理インタフェースを示すブロック図である。 本発明の1つ又はそれよりも多くの実施形態によりデータリンク層ではなく物理層でエラー検出を提供するように実施されるエラー・リカバリー・モジュールを示す図である。 本発明の一実施形態により組込クロック及びクロック・リカバリーを使用する物理インタフェースで確実なデータ転送を提供するためにエラー・リカバリー・モジュールを実施する回路のブロック図である。 本発明の一実施形態により外部クロックを使用する物理インタフェースで確実なデータ転送を提供するためにエラー・リカバリー・モジュールを実施する図2Aの回路の別のブロック図である。 本発明の特定的な実施形態によりエラーを検出して任意的に訂正するように構成された物理インタフェースを示すブロック図である。 本発明の一実施形態によりエラー検出ビット挿入及び抽出を備えたライン符号化及びライン復号化を示す機能ブロック図である。 本発明の一実施形態に従ってセルとしてデータビットの群をライン符号化する例示的なフローを示す図である。 本発明の少なくとも1つの特定的な実施形態によりデータビットを少なくとも再送信することによってエラー検出及び訂正を提供する物理インタフェースを示すブロック図である。 本発明の少なくとも1つの特定的な実施形態によりライン復号化なしにエラー検出及び訂正を実施する代替的受信器を示す図である。 本発明の一実施形態によるエラー訂正器のブロック図である。
図1Aは、本発明の少なくとも1つの特定的な実施形態によりエラー・リカバリー・モジュールを含んでライン符号化/復号化に関連してエラーを検出する物理インタフェースを示すブロック図100である。物理インタフェース102及び122は、装置101及び121の間の物理的接続性を提供するものであり、その各々は、メモリチップのような集積回路か、又は「イーサネット(登録商標)」ラインカード又はネットワーク化コンピュータのような電子装置とすることができる。物理インタフェース102及び122は、物理的媒体110を通じてデータビットの送受信を容易にするために、それぞれ、ライン符号器(LE)106とライン復号器(LD)126を含む。一実施形態では、ライン符号器(LE)106は、ライン符号化(「ラインコード化」とも呼ばれる)を提供するものであり、これは、銅線、光ファイバ、無線波のような特定の種類の媒体上の符号化データビットの送信を最適化するための特定のコード(又はコード語)へのバイナリ(すなわち、データビット)で表されたデジタル情報の変換である。ライン復号化は、特定のコードからデータビットに変換する逆の処理である。ライン符号器及びライン復号器の両方は、特定の種類の媒体と共に最適に作動するように調整される。一部の実施形態において使用されるように、符号化という用語は、コード語へのデータビットの変換、並びにコード語への又はコード語によるデータビットの挿入を意味する。
物理インタフェース102はまた、送信器(TX)エラー・リカバリー・モジュール104を含み、一方、物理インタフェース122はまた、受信器(RX)エラー・リカバリー・モジュール124を含む。両方のエラー・リカバリー・モジュール104及び124は、エラーを検出し、かつライン符号化又は復号化に関連して又はそれと共に上述のエラーを任意的に訂正するように作動する。図1Aは、一方向の通信を示すが、当業者は、TXエラー・リカバリー・モジュール104及びRXエラー・リカバリー・モジュール124の構造及び/又は機能を組み合わせて送受信機(TX/RX)エラー・リカバリー・モジュール(図示せず)を形成し、物理的媒体110を通じて双方向通信中にエラー検出及び訂正をサポートすることができることを認めるべきである。少なくとも1つの実施形態では、物理的媒体110は、シリアルデータリンクを提供する。データリンクがシリアルデータリンクであるか又はパラレルデータリンクであるかに関係なく、ライン符号器106及びライン復号器126は、ライン符号化/復号化を実施して、(1)データストリーム内に組み込まれたクロックを回復するために適切な回数の遷移がデータストリーム内にあることを保証し、(2)d−c均衡を維持し、かつ(3)データリンクのスペクトル成形を提供して電磁気放出を低減することのうちの1つ又はそれよりも多くを行う。
特定的な実施形態では、エラー・リカバリー・モジュール104及び124は、例えば、ライン復号化の前、最中、又は後のいずれかの時間にエラー検出を提供することができるように、データビットが受信器(例えば、IC又は電子装置)に到着した直後の早期のエラー検出を容易にする。従って、物理インタフェース124内のエラー検出は、エラー検出及び訂正技術を適用することができるまで、装置121が正しくないか又は破損したデータビットで不必要に他の下流側処理を実行するのを防止することができる。有利な態様においては、エラー・リカバリー・モジュール104及び124は、コンピュータリソースを保存しなければ破損データビットを処理する場合があるコンピュータリソースを保存し、また、本発明の様々な実施形態に従ってエラーを検出及び/又は訂正するのに必要とされる時間を短縮することにより、装置101及び121間の通信を容易にすることができる。また、本発明の様々な特徴により、エラーを検出する時間を短縮することができる。例えば、エラー検出ビットは、従来のように、送信されるデータビットの群の終わりにではなく、アプリケーションデータビットと交互に織り込んで転送することができる。少なくとも1つの実施形態では、ライン符号器106は、シリアルデータリンクに対してデータストリームを符号化するためにNB/(N+2)Bライン符号化を使用する。更に、ライン符号器106は、アプリケーションデータビットが物理的媒体110上で通信される速度に影響を及ぼすことなく物理インタフェース(PI)エラー訂正ビットをその符号化データストリーム内に組み込むように作動することができる。有利な態様においては、物理インタフェース102及び122は、全体的又は部分的を問わず、物理層(又は「PHY」)において、エラーを解決するために装置101及び121を必要とすることなく、下位でのエラー検出及び/又は訂正を提供することができる。従って、装置101及び121の作動に対して透明であるように、アプリケーションデータビットと共にPIエラー訂正情報を伝送することができる。言うまでもなく、装置101及び121の場合のエラー検出及び/又は訂正は、物理インタフェース102及び122を超えた回路及び/又は層での他のエラー・リカバリー技術によって補うことができる。従って、アプリケーションデータビットは、上部層エラー・リカバリー機構のための上部層(UL)エラー検出ビットを含むことができる。エラー検出及び/又は訂正は、物理層で行われるので、エラー検出は、有利な態様においては、物理インタフェース102及び122を超えて行われる場合よりも迅速に行うことができる。
図1Bは、本発明の1つ又はそれよりも多くの実施形態によりデータリンク層ではなく物理層でエラー検出を提供するように実行される図1Aのエラー・リカバリー・モジュール104及び124を示している。「国際標準化機構(ISO)開放型システム相互接続基準モデル(OSIモデル)」では、物理層(例えば、下位層162)及びデータリンク層176を含む他の上部層160の機能性が説明されている。図1Bは、装置101のためのOSIモデル150と、装置121のためのOSIモデル152とを示している。特に、OSIモデル150及び152の各々は、アプリケーション層170、プレゼンテーション層172、ネットワーク層174、データリンク層176、及び物理層178の1つ又はそれよりも多くを含み、その全ては、公知でありかつここで詳細に説明する必要がない機能性を有する。OSIモデル150によれば、送信IC又は装置101(すなわち、「送信器」)のデータリンク層176は、一般的に、下位層162においてライン符号器による符号化の前に上位エラー検出コードを発生させ、一方、受信IC又は装置121(すなわち、「受信器」)のデータリンク層176は、通常、下位層162ライン復号器がライン符号化ビットを復号化した後にエラーを検出して訂正する。特に、受信データリンク層176は、通常、復号化データビットのビットストリームをフレームに組み立てて、次に、フレームのコンテンツに基づいてCRC検査のような上位エラー検出コードを計算する。一例においては、フレーマー(FR)193は、ビットの連続した組をフレームに組み立てる。特に、フレーマー193は、フレームのフィールドの1つにおいて「フレーム検査シーケンス(FCS)」コードを確立する。FCSは、例えば、巡回冗長検査(CRC)チェックサムを使用してエラーを検出するのに使用される。FCSは、通常、CRC検査と突き合わせてエラーが存在するか否かを判断する。説明のために、「イーサネット(登録商標)」フレームが、ヘッダビット及び1500バイトまでのペイロードを含み、CRC検査が32個の連続ビットとしてペイロード端部に添付されていると考える。一般的に、CRC検査は、物理層178よりも上にある1つ又はそれよりも多くの上部層160内に添付される。図示のように、物理層178は、少なくとも一部の実施形態では、下位層162が上部層160内で採用されたあらゆる上位エラー・リカバリー機構に関係なく下位エラー検出及び/又は訂正(エラー・リカバリー)を提供することを可能にするために、下位エラー・リカバリー機能(Err Rec)190及び192を含む。少なくとも1つの実施形態では、下位エラー・リカバリー機能(Err Rec)190及び192は、全体的又は部分的を問わず、エラーが発生したか否かを判断するために、バッファ(例えば、FIFOバッファ)内にアプリケーションデータビットが一時的に記憶される前に又は記憶中に作動する。エラーが存在しない場合、アプリケーションデータビットは、ビットの部分集合への組立てのために上部層に放出される。ビットの部分集合は、「イーサネット(登録商標)」フレーム、メモリ装置のアドレスなどを表すことができる。特定的な実施形態では、物理層178とデータリンク層176の間の境界は、アプリケーションデータビットが組立てのためにバッファを出て上部層に向かう点となっている。
どの層が従来のエラー検出及び訂正を実行するかに関係なく、従来の上位エラー検出コードは、一般的に、ペイロードと類似の方法で送信される。しかし、本発明の様々な実施形態によれば、下位エラー検出コード及びペイロードは、パラレルのような異なる方法でライン復号化することができる。本明細書で使用される時、ペイロードという用語は、一般的に、アプリケーション層によって使用されるプログラム命令及び/又はプログラムデータを表すビットの集まり(すなわち、アプリケーションデータビット)を意味する。アプリケーションデータビットは、アプリケーションデータを構成し、従って、データビット転送を制御する制御コードを含まない。それに反して、検出コードは、データビット送信の信頼性を制御するのに使用されるので制御コードである。従って、様々な実施形態によれば、アプリケーションデータビットとエラー検出ビットの両方の一部分は、同時に又はほぼ同時にライン復号化される(かつライン符号化される)(特にアプリケーションデータビットとエラー検出ビットの両方の一部分を共に符号化してコード語を形成する場合)。一実施形態では、ライン復号器は、コード語を変換して復号化データビットを形成するように作動し、復号化データビットは、アプリケーションデータビットと物理インタフェース(PI)エラー検出ビットの両方を含むことができる。従来の上位エラー検出コードは、連続ビットの群(例えば、「イーサネット(登録商標)」フレームのためのCRC検査のビット)として送信され、通常、ライン復号器を通じてアプリケーションデータビットと類似の方法で上部層に渡されることに注意されたい。その結果、従来の上位エラー検出技術では、一般的に、コンピュータリソースを浪費して上位層でのエラー・リカバリーのために制御コードをライン復号化し、一方、本発明の少なくとも特定的な実施形態によれば、下位エラー検出コードは、物理層へ以外にはどこにも伝達される必要がない。
図2Aは、本発明の一実施形態によりエラー・リカバリー・モジュールを実行して組込クロック及びクロック・リカバリーを使用する物理インタフェースで確実なデータ転送を提供する回路のブロック図である。図示の例においては、電子装置200は、それぞれ、RXエラー・リカバリー・モジュール(ERM)212及びRXエラー・リカバリー・モジュール(ERM)232から成る物理インタフェース210及び230を含む。尚、図2AではTXエラー・リカバリー・モジュールを含む物理インタフェースが割愛されているが、当業者は、このようなTXエラー・リカバリー・モジュールも実行することができるが機能性が逆であることを認めるべきである。一部の場合では、物理インタフェース210及び230は、例えば、入力/出力(I/O)リング202内の回路として形成される。I/Oリング202は、結合ワイヤのような導体を、信号をコア回路204に送信する集積回路のような外部信号発生源(図示せず)に結合する入力端子及び出力端子を含む。RXエラー・リカバリー・モジュール212及びRXエラー・リカバリー・モジュール232は、コア回路に信号を送出するためにコア回路204に結合される。一部の実施形態で使用される時、コア回路という用語は、1つ又はそれよりも多くのコア機能を実行しかつ物理インタフェース210及び230を通じて入力を受信又は入力を送出するように構成することができるあらゆる種類の回路を意味する。一部の実施形態では、コア回路204は、知的財産(IP)コアから形成することができ、知的財産(IP)コアは、ハードウエア説明言語(HDL)コード(例えば、「VHDL」又は「Verilog」)で又はネットリストファイルとして表すことができる。従って、コア回路204は、携帯式であるので、物理インタフェース210及び230によって行われる下位層エラー検出及び訂正から恩典を受ける殆どの設計に容易に挿入することができる。一例として、コア回路204は、動的ランダムアクセスメモリ(DRAM)、マイクロコントローラ又はプロセッサ回路、又は物理インタフェースでのエラー検出及び訂正の実行から恩典を受けるようなあらゆる種類の回路のようないずれかの回路であると考える。有利な態様においては、下位エラー検出及び訂正は、コア回路204に対して透明である方法で作動する(すなわち、物理インタフェースエラー・リカバリーでは、エラー検出及び/又は訂正を提供するコア回路204のリソースが必要でなくてもよい)。
物理インタフェース210は、N+m個の符号化ビットを受信してライン復号器エラー検出器(LD/ED)214に入れ込むように構成されたシリアル物理インタフェースであり、ライン復号器エラー検出器(LD/ED)214は、N+m個の符号化ビットの全て又は一部を復号化してN個の復号化アプリケーションデータビットを形成するように構成される。「m」の値は、符号化データビット数とアプリケーションデータビット数に基づくビット数の差を表している。例えば、8B/10Bライン符号器は、2というmを有し、2というmは、差である。ライン復号器エラー検出器214は、符号化ビットをライン復号化し、次に、エラーが検出可能である場合はエラーを検出するように作動する。ライン復号器エラー検出器214がエラーを検出した場合、エラー訂正器(EC)216にエラー・リカバリー対策を講じるように指示する。一実施形態では、エラー訂正器216は、エラー表示信号218を外部IC又は装置に送信して、N+m個の符号化ビットを物理インタフェース210に再送信することなどによりエラーを解決することができるように外部IC又は装置に警告するように構成される。有利な態様においては、物理インタフェース210及び230は、コア回路204を修正することなく、エラー検出及び訂正をコア回路204に対して行うことにより、エラー検出又は訂正をコア204に統合するために必要とされるエンジニアリングリソースが保存される。別の実施形態では、エラー訂正器216は、エラーを訂正することができるように、エラー表示信号220をコア回路204に送信するように構成される。この場合、コア回路204は、アプリケーション特有の論理244を含んであらゆる検出エラーを訂正する。有利な態様においては、従って、コア回路204(又は他の場所)におけるアプリケーション特有の論理244によるエラー処理により、エラー検出及び訂正が可能になり、エラー訂正を容易にする送信IC又は装置(図示せず)が不要になる。それによって、特に、半導体パッケージに封入された場合、電子装置200が必要とする信号導体及び/又はピンの数が最小限に抑えられる。更に別の実施形態では、物理インタフェース210のエラー訂正器216は、いずれかのエラー表示信号218又は220を送ることなくエラーを訂正することができる。例えば、エラー訂正器は、自動的にエラーを訂正する順方向のエラー訂正器技術を実行することができる。
次に、外部ICが、例えばDRAMコントローラ(図示せず)であり、コア回路204が、DRAMメモリであると考える。そこで、物理インタフェース230は、チップ間インタフェースとなって、エラー訂正後のアドレス及びデータをDRAMコントローラ及びDRAMメモリ(すなわち、コア回路204)間で交換することができ、その1つ又はそれよりも多くは、エラー検出及び訂正を提供するようには修正されない(機能的又は構造的に)。一部の実施形態では、物理インタフェース210及び230は、第1の基板上に形成され、第1の基板は、入力/出力(I/O)リング202を含む。コア回路204は、第2の基板上に形成される。第1及び第2の基板が別々のものである場合、物理インタフェース210及び230は、コア回路204から分離してパッケージ化することができる。しかし、同じ基板上に形成された場合、システムオンチップ(SOC)の一部として形成することができ、かつ、単一のパッケージによって共に封入することができる。代替的な実施形態では、物理インタフェース230は、N+m個の符号化ビットを受信してRXエラー・リカバリー・モジュール232に入れ込み、次に、N+m個の符号化ビットの一部又は全てを復号化してN個の復号化アプリケーションデータビットを形成するように構成されたパラレル物理インタフェースである。図2Aでは、説明する内容を簡素化するために、RXエラー・リカバリー・モジュール232のライン復号器エラー検出器及びエラー訂正器の詳細は割愛されている。図2Aは、着信データビット(すなわち、コア204のために着信)を着信方向に供給する物理インタフェース210及び230を示すものであることに注意されたい。上述と同じ物理インタフェースは、発信方向298のコア204からの発信データビット送信(図示せず)を提供することができる。シリアル物理インタフェース210及びパラレル物理インタフェース230のいずれも、着信データビットをライン復号化し、特に、その中の組込クロックを回復するように構成されることに注意されたい。他の実施形態では、シリアル物理インタフェース210又はパラレル物理インタフェース230のいずれか又は両方は、組込クロックではなく外部クロックを受信するように構成することができる。
図2Bは、本発明の一実施形態によりエラー・リカバリー・モジュールを実行して確実なデータ転送を外部クロックを使用する物理インタフェースにおいて行う図2Aの回路の別のブロック図である。図2Aのシリアル物理インタフェース210又はパラレル物理インタフェース230とは異なって、図2Bの電子装置200は、外部クロック(Ext.CLK)274を受信するように構成されたシリアル物理インタフェース250を含む。また、電子装置200は、外部クロック(Ext.CLK)254を受信するように構成されたパラレル物理インタフェース270を含む。両方の物理インタフェース250及び270は、外部クロック信号を受信することができるので、これらのインタフェースは、組込クロック技術を採用する必要がなく、従って、クロック・リカバリー回路を含む必要がない。従って、エラー・リカバリー・モジュール252及び272は、ライン復号器又はライン復号化処理の後に配置する必要がない。図2Bの要素は、各々、図2Aの類似の付番を有する要素と同等の機能性及び/又は構造を有することができることに注意されたい。
図3は、本発明の特定的な実施形態によりエラーを検出しかつ任意的に訂正するように構成された物理インタフェースを示すブロック図である。物理インタフェース300は、物理層(PHY)ライン復号器302とエラー・リカバリー・モジュール310とを含み、エラー・リカバリー・モジュール310は、エラー検出ビット抽出器312、エラー検出器314、及びエラー訂正器316から成る。エラー検出ビット抽出器312は、少なくともPHYライン復号器302と機能的に協働し、従って、図3においては、PHYライン復号器302内にあるように示されている。この例においては、PHYライン復号器302は、少なくとも、ビットストリームのN+m個の符号化ビット(すなわち、符号又はコード語)を受信し、かつ上述のビットの全て又は一部を復号化してN個の復号化アプリケーションデータビットを形成するように構成される。例えば、PHYライン復号器302は、10個、14個、20個、66個、又は130個の符号化アプリケーションデータビット(すなわち、「N+2」ビット)を受信するように作動することができ、次に、それぞれ、上述のビットを復号化して8個、12個、18個、64個、又は128個の復号化アプリケーションデータビット(すなわち、「N」ビット)を形成することができる。少なくともクロック・リカバリー及びDC均衡化には、2つのビットが使用されてきた。様々な実施形態では、PHYライン復号器302は、あらゆる数の符号化データビットを受信し、次に、上述のビットをあらゆる他の数のアプリケーションデータビットに復号化するように作動することができる。例えば、PHYライン復号器302は、80ビットの符号化データを復号化して64個の復号化アプリケーションデータビットを形成することができる。
特定的な実施形態では、PHYライン復号器302は、N+m個のビットの部分集合であるN+m−1個の符号化ビットを復号化して、N個の復号化アプリケーションデータビットとE個のエラー検出ビットを生成する。次に、ビット抽出器312は、下位エラー検出のために1つ又はそれよりも多くの物理インタフェースエラー検出ビットを抽出する。例えば、エラー検出ビット抽出器312は、単一のビットをN+m個(例えば、10個のビット)という数量から抽出してN+m−1個のビット(例えば、9個のビット)復号化ビットを生成することができるが、N+m−1個のビット(例えば、9ビット)復号化ビットは、N個の復号化アプリケーションデータビットとE個の復号化エラー検出ビットとを含む。従って、PHYライン復号器302は、N+m個のビットを受信し、かつライン復号化を提供するように構成され、それによってN個のアプリケーションデータビットと少なくとも1つのエラー検出ビットが得られる。有利な態様においては、PHYライン復号器302は、従来の10B/8B復号器を補うか又は従来の10B/8B復号器に取って代わるように実行することができるが、従来の10B/8B復号器は、符号化ビットに対しては10ビットという一般的に使用される符号サイズを使用し、復号化アプリケーションデータビットは、8ビットというビットサイズを有する。本発明の様々な実施形態では、PHYライン復号器302は、9番目のビット(すなわち、10個の符号化アプリケーションデータビットと8個の復号化アプリケーションデータビットの間の差の2ビットの一方)を検査してエラーを検出する。適切なPHYライン復号器302は、「NB/(N+1)Bブロックコードに従ってデータを符号化又は復号化する方法及び機器、及びこのようなブロックコードを判断する方法」という名称の米国特許第6,747,580号で説明されているようなN+1ビット/Nビット復号器であり、この特許の内容全体は、引用により全ての目的に対して組み込まれている。尚、図3は、PHYライン復号器302を示すが、当業者は、図3及び本明細書の他の場所で説明するのと逆の方法で作動するようにN個のアプリケーションデータビットとE個のエラー検出ビットとをN+m個の符号化ビットに符号化するPHYライン符号器(すなわち、Nビット/N+mビット符号器)を構成することができることを認めるべきである。
抽出後、エラー検出ビット抽出器312は、次に、物理インタフェース(PT)エラー検出ビット(EDB)313をエラー検出器314に送り、エラー検出器314は、そのビットを使用してN+m個の符号化データビットが1つ又はそれよりも多くの誤ったデータビットを含むか否かを判断する。エラー検出器314は、いずれかの数のエラー検出技術及びコードに従ってエラーを検出するように構成される。一実施形態では、エラー検出器314は、偶数又は奇数パリティチェッカーとして構成され、物理インタフェースエラー検出ビットは、パリティビット(すなわち、偶数又は奇数のパリティビット)である。有利な態様においては、物理インタフェースエラー検出ビットは、復号化されるアプリケーションデータビットの部分集合と同時にPHYライン復号器302で受信される。それによって、符号化データビットの群がN+m個のビットよりも遥かに大きいサイズを有する可能性がある場合は、エラー検出コードをその群の端部に添える従来のエラー検出技術と比較すると、PHYライン復号器302がエラー検出コードを受信するのに必要とされる時間量を低減することができる。別の実施形態では、物理インタフェースエラー検出ビットは、CRC検査の一部(例えば、1ビット)である。この場合、送信物理インタフェース(図示せず)におけるエラー検出コード発生器は、物理インタフェースエラー検出ビットをCRC検査の一部として発生させるように構成される。図6で以下に説明するように、エラー検出コード発生器(又は均等物)は、CRC検査のビットをPHYライン符号器(図示せず)に供給することができる。PHYライン符号器は、物理インタフェースエラー検出ビットをN個の未符号化アプリケーションデータビットと共に挿入してN+2個の符号化データビットを生成する。その結果、エラー検出器314は、N+m個の復号化データビットの各部分集合からの物理インタフェースエラー検出ビットを蓄積するか又は収集し、CRC検査をエラー検出コードとして再構成するように作動する。例えば、PHYライン復号器302によって復号化される10個の符号化ビットの各組に対して、CRC検査の1ビットが8個の復号化アプリケーションデータビットの各組に対して物理インタフェースエラー検出ビットとして供給されると考える。16ビットのCRC検査が実行された場合、8個の復号化アプリケーションデータビットの16組毎に(すなわち、128ビット毎に)、エラー検出器314CRCは、160ビットCRC検査を再構成することができる。次に、エラー検出器314は、上述の128ビットからCRC検査を発生させ、次に、CRC検査を再構成エラー検出コードと突き合わせてエラーが発生したか否かを判断する。エラー検出器314は、順方向エラー訂正のような他のエラー検出技術を実行することができる。順方向エラー訂正技術の例としては、「Reed−Solomon」コード、「Hamming」コード、及び「Bose−Chaudhuri−Hocquenghem(BCH)コードがある。
エラー検出器314がデータビット送信中にエラーが発生したと判断した状態で、このようなエラーが発生したことをエラー訂正器316に知らせる。一部の場合では、エラー訂正器316は、エラーが検出された復号化アプリケーションデータビットの再送信を要求するように作動する。先の例に続いて、16ビットCRC検査の比較でエラーが128個の復号化アプリケーションデータビット内に存在することが分った場合、エラー訂正器316は、送信物理インタフェースが上述の128ビットを再度送るように要求することができる。他の場合には、エラー訂正器316は、アプリケーション特有の回路を起動させて、ユーザによって構成されたエラー処理を提供することができる。少なくとも1つの事例においては、エラー訂正器316は、上述のコア回路のような関連ICを再初期化するなどの何らかの種類のデフォルトエラー訂正措置を講じることができる。
図4は、本発明の一実施形態によりエラー検出ビット挿入及び抽出を備えた送信器におけるライン符号化及び受信器におけるライン復号化を示す機能ブロック図である。図400に示すように、送信器物理インタフェース(TX)410は、例えば、PHYライン符号器412と、エラー検出コード発生器416と、エラービット挿入器418と、エラー検出コード発生中にアプリケーションデータビットを維持する任意的なバッファ421とを含む。この例においては、エラー検出コード発生器416は、16ビットCRC検査のようなバッファ421におけるアプリケーションデータビットに基づいて、エラー検出コードを発生させる。次に、エラービット挿入器418は、少なくとも1つのエラー検出ビット(EDB)414を16ビットCRC検査から選択し、次に、バッファ421からのN個のアプリケーションデータビットの発信組と共に挿入して9ビットを形成する。次に、PHYライン符号器412は、9ビットを10個の符号化ビット(又は記号)に符号化する。一部の実施形態では、PHYライン符号器412は、10個の符号化ビットに関するゼロDCオフセット及び/又は任意的なスペクトル特性を維持すると共に、上述の10個の符号化ビット内に非同期クロックを組み込むような方法でエラー検出ビット414を符号化する。特定的な実施形態では、PHYライン符号器412は、米国特許第6,747,580号に定めるコード化技術に従って作動することにより、NビットのアプリケーションデータをN+1個の符号化ビットに符号化する。例えば、Nが数字9であると考える。従って、PHYライン符号器412は、8B/10Bコード化技術に関連したデータ転送速度に影響を与えることなく、8個のアプリケーションデータビットと1個のエラービット(すなわち、9ビット)とを10個の符号化ビットに符号化することができる。図4において、Nは、あらゆる負以外の整数を表すことができることに注意されたい。
次に、送信器物理インタフェース410は、物理的媒体420を通じて符号化ビットを受信物理インタフェース(RX)440のエラービット抽出器422に送る。受信物理インタフェース(RX)440は、PHYライン復号器428と、エラービット抽出器422と、エラー検出コード再構成器426と、エラー検出器430と、比較器434と、エラーが検出されていないという復号化アプリケーションデータビット未決確認を維持することができるバッファ431とを含む。PHYライン復号器428は、10個の符号化データビットを9個の復号化ビットに復号化し、9個の復号化ビットは、8個の復号化アプリケーションデータビットと1個の復号化エラー検出ビット(EDB)424を含む。様々な実施形態では、PHYライン復号器428は、クロックデータリカバリー回路(図示せず)を含んで符号化アプリケーションデータビットと共に物理的媒体420で送信された組込クロックを回復する。エラービット抽出器422は、エラー検出ビット424を9個の復号化ビットから抽出してエラー検出コード再構成器426に供給し、エラー検出コード再構成器426は、他の物理インタフェースエラー検出ビットと共にエラー検出ビットを蓄積する。次に、エラー検出コード再構成器426は、元々エラー検出コード発生器416が発生させたエラー検出コードを再構成する。次に、エラー検出器430は、バッファ431におけるN個の復号化アプリケーションデータビットの群に基づいてCRC検査432を発生させる。比較器434は、CRC検査432がエラー検出コード426に適応するか否かに関して比較するように作動することができる。適応した場合には、エラーがなく、適応しなかった場合には、エラーがある。
図5は、本発明の一実施形態に従ってセルとしてデータビットの群をライン符号化するフローの一例を示している。一部の実施例においては、送信器物理インタフェースは、フロー550に示すようにデータを送信することができ、それによってデータビットの群560は、セル(並びにフレームなど)と呼ぶことができる。セル560は、例えば、あらゆる数の制御ビット561(例えば、X個のビット)と、各々が64ビットの2個のアプリケーションデータ語563とを含むことができる。物理層内でPHYライン符号器の上方にある上部層装置(図示せず)は、セル560がPHYライン符号器によって使用されるように、個別の組562のコード化されていない(すなわち、予めコード化されているか又はコード化されていない)ビットに分解するように構成することができる。各組562は、N個のビット(例えば、8ビット)を有する。エラー検出コード発生器(図示せず)は、例えば、セル560に基づいてエラー検出コード570を発生させ、エラー検出コードを12ビットのCRCとして形成する。次に、PHYライン符号器は、物理インタフェースエラー検出ビット(EDB)572を組562内又は組562の近くでコード化されていないビットストリームに挿入し、N+E個のビット(例えば、Nは、8ビットとすることができ、Eは、1ビットとすることができる)の組574を形成することができる。次に、PHYライン符号器は、シリアルデータリンクのようなデータリンク上で送信されるように、N+E個のビットの各組572を10ビットのコード語580(例えば、符号化データビット)に変換することができる。図示していないが、受信物理インタフェースでのPHYライン復号器は、類似であるが逆に作動することになる。
図6は、本発明の少なくとも1つの特定的な実施形態により少なくとも再送信データビットによるエラー検出及び訂正を提供する物理インタフェースを示すブロック図600である。物理インタフェース602及び652は、高速シリアル通信リンク650を通じて物理的接続性を提供する。物理インタフェース602は、送信されるデータビットを記憶するために先入れ先出しバッファ(FIFO)604のような記憶装置を含む。FIFO604は、例えば、データビットの群にわたってエラー検出コードを計算するために記憶データビットを維持する。一部の場合では、FIFO604は、エラーが発生した場合に再送信されるようにデータビットを記憶する。また、物理インタフェース602は、PHYライン符号器(PHY符号器)610と、パラレルデータビットをシリアル化するシリアライザ(SER)612と、エラー検出コード発生器616と、送信器(TX)エラー訂正器618とを含む。特定の時間でのFIFO604内のデータビットの群のコンテンツに基づいて、エラー検出コード発生器616は、CRC検査のようなエラー検出コードを発生させる。エラー検出ビット挿入器614は、CRC検査を分解し、N個の未符号化ビット606と共に物理インタフェースエラー検出ビット(EDB)として少なくとも1つのビット(例えば、1つのEビット)を挿入する。作動においては、PHYライン符号器610は、N+E個のビットを符号化してN+2個の符号化データビット608を形成する。次に、シリアライザ612は、リンク650での送信の前にN+2個のデータビット608をシリアル化する。受信物理インタフェース652は、デシリアライザ654を含んでN+2個のデータビットをパラレルデータビットに変換する。PHYライン復号器(PHY復号器)656は、符号化ビットストリームを復号化して復号化データビットをFIFO658に記憶する。エラー検出ビット(EDB)抽出器660は、少なくとも1ビットを物理インタフェースエラー検出ビット(EDB)662として抽出してエラー検出器666に送る。エラーコード再構成が完全である場合、エラー検出器666は、エラーが発生したか否かを判断するように作動する。エラー検出器666がエラーなしと判断した場合、更に別の処理のために復号化データビットを放出するようにFIFO658に指示する。しかし、エラー検出器666がエラーを検出した場合、受信器(RX)エラー訂正器668に対してエラーの存在を表示する。一例においては、RXエラー訂正器668は、TXエラー訂正器618にリンク650を通じてコンテンツ又はその一部を再送信するように指示する要求669を送る。別の例においては、RXエラー訂正器668は、エラーを処理する要求671をアプリケーション特有の回路(図示せず)に送ることができる。更に別の例においては、受信器エラー訂正器668は、順方向エラー訂正技術などを使用してエラーを訂正することができる。
図7は、本発明の少なくとも1つ特定的な実施形態によりライン復号化なしにエラー検出及び訂正を実行する代替的受信器を示している。受信器(RX)700においては、送信器物理インタフェース(図示せず)は、リンク702を通じてデータビットを送る。エラービット抽出器704は、エラー検出データビット(EDB)706をデータビットから抽出してエラー検出コード708を再構成する。図4の図400とは異なって、受信器700は、受信器440のようにはPHYライン復号器を使用しない。従って、受信器700は、クロック信号を組込クロックから回復する必要がない。図示のように、受信器700は、外部クロック701を例えば送信装置(図示せず)から受信するように構成される。リンク702での送信の前に、例えばエラー検出ビットをアプリケーションデータビットに添えるのは、この送信装置である。受信器700は、FIFO720内のアプリケーションデータビットの群に基づいて、検出コード、すなわち、この場合はCRC検査722を計算するために、エラー検出器780を含む。次に、比較器724(例えば、エラー検出器720において)は、送信エラーが発生したか否かを判断する。エラーが存在する場合、エラー訂正器780は、例えば、送信装置にデータビットを再送信するように要求するか又はエラーを訂正すべきであることをアプリケーション特有の論理に知らせることによって是正措置を講じることができる。
図8は、本発明の一実施形態によるエラー訂正器のブロック図を示している。エラー訂正器800は、この例においては、エラー訂正器コントローラ822を含んでエラーを解決することができる1つ又はそれよりも多くの機能を制御し、特定の機能は、特定の用途に対してユーザによってプログラムされる。例えば、ビデオメモリ用途でのピクセルデータの損失は、他の用途におけるデータ損失ほど重要なものではない。従って、エラー訂正器コントローラ822は、以下のモジュールのいずれかを選択してエラー訂正を実行することができる。再送信要求モジュール824は、エラーを検出するとデータビットを再度送るために送信器物理インタフェース行きの要求を発生させる。アプリケーション特有のリカバリーモジュール814は、設計担当者によって指定されるような特注のエラー処理ルーチンを開始するようにアプリケーション特有の回路に知らせる。しかし、エラー訂正器コントローラ822は、エラーを検出すると、ICを再度初期化するなどのデフォルトエラー・リカバリー技術を選択することができる。それによって両方の物理インタフェースは、既知の状態に再度初期化されることになる。様々な代替的な実施形態では、エラー訂正器800は、周波数セレクタ830と、振幅セレクタ840と、コード化セレクタ850とを含むことができる。物理インタフェース間の通信リンク上の信号が行き詰った場合、周波数セレクタ830は、リンク上のデータ転送速度を調節してエラー率を低減することができる。代替的に、振幅セレクタ840は、エラー率が低減されるまで信号振幅を調整することができる。コード化セレクタ850を使用すると、リンクコード化を例えば18B/20Bから8B/10Bに変更して、エラーが検出される時間を短縮することができる。例えば、32ビットのCRCがエラー・リカバリーに実行され、一度にCRCの1ビットが送られると考える。18B/20Bでは、32ビットのCRC(すなわち、8*32=576ビット)を形成するのに576個のアプリケーションデータビット(8ビット)が必要であり、一方、8B/10Bでは、256個のアプリケーションデータビットが必要である。従って、コード化セレクタ850は、通信チャンネルでエラーコード(例えば、CRC)が送信される率を上げることができる。エラー訂正器コントローラ822は、これらのセレクタを個別に又は組み合わせて選択することができる。
説明を目的とした以上の説明では、本発明の徹底的な理解が得られるように特定の名称を使用した。しかし、本発明を実施するためには特定の詳細は必要ではないことが当業者には明らかであろう。実際に、以上の説明は、本発明の何らかの特徴又は態様を何らかの実施形態に限定するものとして読み取るべきではなく、むしろ、一実施形態の特徴及び態様は、他の実施形態と容易に交換することができる。例えば、様々な実施形態の以上の説明は、物理層ライン復号器に関連するが、説明した内容は、物理層ライン符号器及び全ての種類の通信リンク、並びに「ギガビットイーサネット(登録商標)」、HDMI(登録商標)、TMDS、DVI、及びSATAのような多くの種類の通信プロトコルに適用可能である。また、様々な実施形態は、電子装置間のポイントツーポイント通信、並びに1つの装置から多数の装置までのブロードキャストに適用可能である。以上の説明した内容の一部は、シリアルデータ通信に関連するものであるが、本発明の様々な実施形態をパラレルデータ通信にも適用することができる。
すなわち、本発明の特定的な実施形態の以上の説明は、例示及び説明を目的として示されたものである。網羅的であること又は本発明を開示した形態に正確に限定することを意図したものではない。明らかに、多くの変更及び変形が先の教示内容に鑑みて可能である。実施形態は、本発明の原理及びその実際的な用途を最も良く説明するために選択しかつ説明したものである。その結果、当業者は、考えている特定の用途に適するような様々な修正を行って本発明及び様々な実施形態を最良に利用することができる。明白なことであるが、本明細書で説明する全ての利点が本発明の各実施形態によって達成される必要はない。むしろ、どの特定的な実施形態も上述の利点の1つ又はそれよりも多くをもたらすことができる。特許請求の範囲及びその均等物が、本発明の範囲を規定するものとする。
100 物理インタフェースを示すブロック図
101、121 電子装置
106 ライン符号器
110 物理的媒体
126 ライン復号器

Claims (15)

  1. 集積回路(IC)間のデータ通信を容易にする、物理インタフェースにおけるエラーを検出するための機器であって、
    一群のアプリケーションデータビットに基づいてエラー検出コードを生成するよう構成されたエラー検出コード発生器と、ここで、前記エラー検出コードは、第1の物理インタフェース(PI)エラー検出ビットを含む複数のエラー検出ビットからなり、
    物理層(PHY)符号器であって、
    (1)前記第1の物理インタフェースエラー検出ビットを、前記一群のアプリケーションデータビットのN個(Nは任意の整数)のアプリケーションデータビットの組と共に挿入してN+1個の未符号化データビットを形成し、
    (2)前記N+1個の未符号化データビットを符号化して、N+2個の符号化データビットを生成する、
    よう構成された物理層符号器と、
    前記N+2個の符号化データビットを復号化してN+1個の復号化データビットを生成するように構成された復号器と、
    N+1個の復号化データビットから、前記符号化データビットが少なくとも1つの誤ったデータビットをエラーとして含むか否かを判断するのに使用される物理インタフェースエラー検出ビットを抽出するように構成された物理インタフェースエラー検出ビット抽出器と、
    前記第1の物理インタフェースエラー検出ビットを含む、複数の抽出された物理インタフェースエラー検出ビットからエラー検出コードを再構成するエラー検出コード再構成器と、
    を含むことを特徴とする機器。
  2. 前記エラーを検出するために物理層内で作動するように構成されたエラー検出器、
    を更に含み、
    前記符号化データビットの前記部分集合は、組込クロックを含む、
    ことを特徴とする請求項1に記載の機器。
  3. 前記エラー検出器は、前記物理層の上方の「開放型システム相互接続(OSI)」7層基準モデルのデータリンク層又はそのいかなる上部層におけるよりも早期にエラー検出を実行することを特徴とする請求項2に記載の機器。
  4. 前記物理インタフェースエラー検出ビットは、パリティビットであり、前記エラー検出器は、前記符号化データビットのパリティを検査して該パリティが不適合の場合にエラーを検出するように構成されていることを特徴とする請求項2に記載の機器。
  5. 前記物理インタフェースエラー検出ビットは、巡回冗長検査(CRC)チェックサムの一部であることを特徴とする請求項2に記載の機器。
  6. 物理的媒体を通じて第2のICに結合された第1の集積回路(IC)を含み、前記第1のICは、
    該第1のICの第1の基板部分上に形成され、第2の基板部分上に形成された前記第2のICと交換されたデータ内の送信エラーを検出する物理インタフェースと、
    前記物理的媒体の第1の端部と結合された送信装置とを含んでおり、
    前記送信装置は、一群のアプリケーションデータビットに基づいてエラー検出コードを発生させるエラー検出コード発生器と、符号化データビットの複数の組を生成するNビット/N+2ビット符号器とを含んでおり、ここで、符号化データビットの各組はそこで符号化されたエラー検出コードから導かれた物理インタフェースエラー検出ビットを含んでおり、そして、
    前記第2のICは、前記物理的媒体の第2の端部と結合された受信装置を含んでおり、そして、前記受信装置は、
    前記符号化データビットの複数の組を復号化して復号化データビットの複数の組を生成するように構成されたN+2ビット/Nビット復号器と、
    前記復号化データビットの複数の組から、前記符号化データビットの複数の組が少なくとも1つの誤ったデータビットをエラーとして含むか否かを判断するのに使用される前記物理インタフェースエラー検出ビットを抽出するように構成された物理インタフェースエラー検出ビット抽出器と、
    前記抽出された物理インタフェースエラー検出ビットからエラー検出コードを再構成するエラー検出コード再構成器と、
    を含むことを特徴とするシステム。
  7. 前記物理インタフェースは、
    着信符号化データビットを受信するように構成された入力ポートの第1の部分集合と、着信復号化データビットを別のICに送信するように構成された出力ポートの第1の部分集合とを含む複数の入力ポート及び出力ポートと、
    前記複数の入力ポート及び出力ポートの間に結合された1つ又はそれよりも多くのエラー・リカバリー・モジュールと、
    を含み、
    前記1つ又はそれよりも多くのエラー・リカバリー・モジュールの第1のエラー・リカバリー・モジュールは、前記第1の部分集合の入力ポートの少なくとも1つと前記第1の部分集合の出力ポートの少なくとも1つとの間に結合されている、
    ことを特徴とする請求項6に記載のシステム。
  8. 前記第1のエラー・リカバリー・モジュールは、前記着信符号化データビット内のエラーを検出して該エラーを訂正するアクションを開始するように構成された物理層(PHY)復号器を含むことを特徴とする請求項7に記載のシステム。
  9. 前記複数の入力ポート及び出力ポートは、発信未符号化データビットを前記別のICから受信するように構成された入力ポートの第2の部分集合と、発信符号化データビットを送信するように構成された出力ポートの第2の部分集合とを含み、
    前記1つ又はそれよりも多くのエラー・リカバリー・モジュールの第2のエラー・リカバリー・モジュールは、前記第2の部分集合の入力ポートの少なくとも1つと前記第2の部分集合の出力ポートの少なくとも1つとの間に結合され、該第2のエラー・リカバリー・モジュールは、前記発信符号化データビットに対するエラー検出コードを発生させるように構成されたPHY符号器を含む、
    ことを特徴とする請求項8に記載のシステム。
  10. 前記再構成されたエラー検出コードと受信されたデータビットから生成された第2のエラー検出コードとを比較する比較器、
    を更に含むことを特徴とする請求項6に記載のシステム。
  11. 前記送信装置は、遷移最小化差動信号伝達(TMDS)送信器及び高品位マルチメディアインタフェース(HDMI)送信器であり、前記受信装置は、TMDS受信器及びHDMI受信器であることを特徴とする請求項6に記載のシステム。
  12. データビットを復号化して物理インタフェースにおいて少なくともエラーを検出する方法であって、
    組込非同期クロックを有する符号化ビットストリームのN+2ビットの部分集合を復号化してN+1復号化データビットを生成する段階と、ここで、復号化データビットには第1の物理インタフェースエラー検出ビットが含まれ、当該第1の物理インタフェースエラー検出ビットは、一群のアプリケーションデータビットに基づいて生成されたエラー検出コードの複数のビットの中の1ビットであり、
    前記N+1復号化データビットから前記第1の物理インタフェースエラー検出ビットを抽出してNアプリケーションデータビットを提供する段階と、
    少なくとも前記物理インタフェースエラー検出ビットに基づいて、前記符号化ビットストリームが正しくないビットを含むことを判断する段階と、
    前記物理インタフェースにおいて前記エラーを訂正する段階と、
    前記第1の物理インタフェースエラー検出ビットを含む抽出された物理インタフェースエラー検出ビットからエラー検出コードを再構成する段階と、
    を含むことを特徴とする方法。
  13. 前記符号化ビットストリームの前記部分集合が前記正しくないビットを含むことを判断する段階は、
    前記物理インタフェースエラー検出ビットを用いて前記符号化ビットストリームの部分集合のパリティを判断する段階と、
    前記パリティが所定のパリティと適合しない場合に前記エラーが存在することを示す段階と、
    を更に含む、
    ことを特徴とする請求項12に記載の方法。
  14. 前記ビットストリームの前記部分集合が前記正しくないビットを含むことを判断する段階は、
    前記復号化データビットからのアプリケーションデータビットと、前記ビットストリームの他の部分集合から復号化された他の復号化データビットからの他のアプリケーションデータビットとに基づいて、第2のエラー検出コードを発生させる段階と、
    再構成されたエラー検出コードを前記第2のエラー検出コードに対して比較する段階と、
    前記第2のエラー検出コードが前記再構成されたエラー検出コードと適合しない場合に前記エラーが存在することを示す段階と、
    をさらに含む、
    ことを特徴とする請求項12に記載の方法。
  15. 少なくとも2つの集積回路(IC)間の高速シリアル通信リンクであって、
    通信データを伝達するための物理的媒体と、
    前記物理的媒体の第1の端部に結合された送信装置であって、エラー検出コードを構成する複数の物理インタフェースエラー検出ビットを発生するよう構成されたエラー検出コード発生器と、符号化データビットを発生させ、符号化された物理インタフェースエラー検出ビットを有する符号化データビットを発生させるNビット/N+2ビット符号器とを含んだ送信装置と、
    前記符号化データビットを復号化するN+2ビット/Nビット復号器、
    復号化されたデータビットから物理インタフェースエラー検出ビットを抽出し、抽出された前記物理インタフェースエラー検出ビットを使用してエラーを判断するように構成されたエラー検出器、及び
    抽出された前記物理インタフェースエラー検出ビットからエラー検出コードを再構成するエラー検出コード再構成器
    を含み、かつ前記物理的媒体の第2の端部に結合された受信装置と、
    を含むことを特徴とする高速シリアル通信リンク。
JP2013082428A 2006-03-09 2013-04-10 集積回路間のポイントツーポイント通信のための物理インタフェースでのエラー検出 Pending JP2013146105A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/372,866 US7694204B2 (en) 2006-03-09 2006-03-09 Error detection in physical interfaces for point-to-point communications between integrated circuits
US11/372,866 2006-03-09

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007101084A Division JP2007267392A (ja) 2006-03-09 2007-03-09 集積回路間のポイントツーポイント通信のための物理インタフェースでのエラー検出

Publications (2)

Publication Number Publication Date
JP2013146105A true JP2013146105A (ja) 2013-07-25
JP2013146105A5 JP2013146105A5 (ja) 2013-10-31

Family

ID=38190575

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007101084A Pending JP2007267392A (ja) 2006-03-09 2007-03-09 集積回路間のポイントツーポイント通信のための物理インタフェースでのエラー検出
JP2013082428A Pending JP2013146105A (ja) 2006-03-09 2013-04-10 集積回路間のポイントツーポイント通信のための物理インタフェースでのエラー検出

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007101084A Pending JP2007267392A (ja) 2006-03-09 2007-03-09 集積回路間のポイントツーポイント通信のための物理インタフェースでのエラー検出

Country Status (6)

Country Link
US (3) US7694204B2 (ja)
EP (1) EP1833188B1 (ja)
JP (2) JP2007267392A (ja)
KR (2) KR101363704B1 (ja)
CN (2) CN103401636B (ja)
TW (1) TWI369093B (ja)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4949707B2 (ja) * 2006-03-22 2012-06-13 ルネサスエレクトロニクス株式会社 半導体装置及びそのテスト方法
KR100763207B1 (ko) * 2006-05-03 2007-10-04 삼성전자주식회사 비압축 aⅴ 데이터를 송수신하는 방법, 장치, 및 전송프레임 구조
JP4783245B2 (ja) * 2006-09-01 2011-09-28 株式会社日立製作所 送受信機、送信機、ならびに受信機
US8223628B2 (en) * 2007-01-10 2012-07-17 Lantiq Deutschland Gmbh Data transmission method, transmitter, receiver, transceiver and transmission system
US8565337B2 (en) * 2007-02-07 2013-10-22 Valens Semiconductor Ltd. Devices for transmitting digital video and data over the same wires
TWI365615B (en) * 2007-03-22 2012-06-01 Realtek Semiconductor Corp Receiver of a displayport interface having an error correction circuit and method applied to the receiver
US7568137B1 (en) * 2007-03-27 2009-07-28 Xilinx, Inc. Method and apparatus for a clock and data recovery circuit
EP2145391A1 (en) * 2007-04-04 2010-01-20 Freescale Semiconductor, Inc. Integrated circuit comprising error correction logic, and a method of error correction
US9686045B2 (en) * 2007-04-04 2017-06-20 Lantiq Beteiligungs-GmbH & Co. KG Data transmission and retransmission
JP2009130614A (ja) * 2007-11-22 2009-06-11 Fujitsu Ltd 通信制御装置、通信制御方法および通信制御プログラム
US7783819B2 (en) 2008-03-31 2010-08-24 Intel Corporation Integrating non-peripheral component interconnect (PCI) resources into a personal computer system
JP5233415B2 (ja) * 2008-05-29 2013-07-10 富士通株式会社 エラー特定方法、データ処理装置、及び半導体装置
US8572187B2 (en) * 2009-04-27 2013-10-29 International Business Machines Corporation Automated duplicate message content detection
EP2282435B1 (en) * 2009-07-30 2014-12-31 STMicroelectronics Srl Signals communication apparatus
US8948286B2 (en) * 2009-10-20 2015-02-03 Wisconsin Alumni Research Foundation Wireless communication system mapping data bits to symbol bit positions according to error rates of those bit positions and data content
US8930799B1 (en) * 2010-03-03 2015-01-06 Aquantia Corp. Methods and apparatus for correcting block-coded data errors with an error detection code
US9288089B2 (en) 2010-04-30 2016-03-15 Ecole Polytechnique Federale De Lausanne (Epfl) Orthogonal differential vector signaling
US9246713B2 (en) 2010-05-20 2016-01-26 Kandou Labs, S.A. Vector signaling with reduced receiver complexity
US9362962B2 (en) 2010-05-20 2016-06-07 Kandou Labs, S.A. Methods and systems for energy-efficient communications interface
US9479369B1 (en) 2010-05-20 2016-10-25 Kandou Labs, S.A. Vector signaling codes with high pin-efficiency for chip-to-chip communication and storage
US9288082B1 (en) 2010-05-20 2016-03-15 Kandou Labs, S.A. Circuits for efficient detection of vector signaling codes for chip-to-chip communication using sums of differences
US8593305B1 (en) 2011-07-05 2013-11-26 Kandou Labs, S.A. Efficient processing and detection of balanced codes
US9450744B2 (en) 2010-05-20 2016-09-20 Kandou Lab, S.A. Control loop management and vector signaling code communications links
US9106238B1 (en) 2010-12-30 2015-08-11 Kandou Labs, S.A. Sorting decoder
US9564994B2 (en) 2010-05-20 2017-02-07 Kandou Labs, S.A. Fault tolerant chip-to-chip communication with advanced voltage
US9251873B1 (en) 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
US9071476B2 (en) 2010-05-20 2015-06-30 Kandou Labs, S.A. Methods and systems for high bandwidth chip-to-chip communications interface
US9077386B1 (en) 2010-05-20 2015-07-07 Kandou Labs, S.A. Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication
US9985634B2 (en) 2010-05-20 2018-05-29 Kandou Labs, S.A. Data-driven voltage regulator
US9300503B1 (en) 2010-05-20 2016-03-29 Kandou Labs, S.A. Methods and systems for skew tolerance in and advanced detectors for vector signaling codes for chip-to-chip communication
US9401828B2 (en) 2010-05-20 2016-07-26 Kandou Labs, S.A. Methods and systems for low-power and pin-efficient communications with superposition signaling codes
US9596109B2 (en) 2010-05-20 2017-03-14 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
US9667379B2 (en) 2010-06-04 2017-05-30 Ecole Polytechnique Federale De Lausanne (Epfl) Error control coding for orthogonal differential vector signaling
US9306769B2 (en) * 2010-10-05 2016-04-05 Mellanox Technologies Tlv Ltd. Cell-based link-level retry scheme
US8750176B2 (en) 2010-12-22 2014-06-10 Apple Inc. Methods and apparatus for the intelligent association of control symbols
US9275720B2 (en) 2010-12-30 2016-03-01 Kandou Labs, S.A. Differential vector storage for dynamic random access memory
US8457153B2 (en) * 2011-04-04 2013-06-04 Cisco Technology, Inc. HDMI-SFP+ adapter/extender
US9577788B2 (en) * 2011-06-15 2017-02-21 Denso Corporation Coding apparatus, coding method, data communication apparatus, and data communication method
US10795797B2 (en) 2011-11-25 2020-10-06 Nxp Usa, Inc. Controller, SATA system and method of operation therefor
US8897398B2 (en) 2012-01-27 2014-11-25 Apple Inc. Methods and apparatus for error rate estimation
US9838226B2 (en) 2012-01-27 2017-12-05 Apple Inc. Methods and apparatus for the intelligent scrambling of control symbols
US9268683B1 (en) 2012-05-14 2016-02-23 Kandou Labs, S.A. Storage method and apparatus for random access memory using codeword storage
JP6069897B2 (ja) 2012-06-05 2017-02-01 富士通株式会社 データ伝送装置、およびデータ伝送方法
EP2685645B1 (en) * 2012-07-09 2016-04-27 Alcatel Lucent Methods and device for processing digital data frames and transport frames for reduction of transport bandwidth
US9262270B2 (en) * 2012-12-28 2016-02-16 Intel Corporation Live error recovery
EP2926260B1 (en) 2013-01-17 2019-04-03 Kandou Labs S.A. Methods and systems for chip-to-chip communication with reduced simultaneous switching noise
US9450790B2 (en) 2013-01-31 2016-09-20 Apple Inc. Methods and apparatus for enabling and disabling scrambling of control symbols
WO2014124450A1 (en) 2013-02-11 2014-08-14 Kandou Labs, S.A. Methods and systems for high bandwidth chip-to-chip communications interface
US9455745B2 (en) * 2013-02-21 2016-09-27 Microsoft Technology Licensing, Llc Encoding with integrated error-detection
US9210010B2 (en) 2013-03-15 2015-12-08 Apple, Inc. Methods and apparatus for scrambling symbols over multi-lane serial interfaces
US9344901B2 (en) * 2013-04-16 2016-05-17 Qualcomm Incorporated Apparatus and methods of processing a protocol data unit
WO2014172377A1 (en) 2013-04-16 2014-10-23 Kandou Labs, S.A. Methods and systems for high bandwidth communications interface
CN105393512B (zh) 2013-06-25 2019-06-28 康杜实验室公司 具有低接收器复杂度的向量信令
US9274880B1 (en) * 2013-08-09 2016-03-01 Altera Corporation Methods and apparatus for detecting and correcting errors in high-speed serial communications systems
KR102035986B1 (ko) 2013-11-13 2019-10-24 삼성전자 주식회사 타이밍 컨트롤러와 상기 타이밍 컨트롤러를 포함하는 디스플레이 시스템
US9106465B2 (en) 2013-11-22 2015-08-11 Kandou Labs, S.A. Multiwire linear equalizer for vector signaling code receiver
WO2015083563A1 (ja) * 2013-12-04 2015-06-11 ソニー株式会社 ブラウザ装置、記録媒体、サーバ装置、及び、情報処理方法
US9325449B2 (en) 2013-12-06 2016-04-26 Intel Corporation Lane error detection and lane removal mechanism to reduce the probability of data corruption
US9397792B2 (en) * 2013-12-06 2016-07-19 Intel Corporation Efficient link layer retry protocol utilizing implicit acknowledgements
US9806761B1 (en) 2014-01-31 2017-10-31 Kandou Labs, S.A. Methods and systems for reduction of nearest-neighbor crosstalk
US9369312B1 (en) 2014-02-02 2016-06-14 Kandou Labs, S.A. Low EMI signaling for parallel conductor interfaces
US9100232B1 (en) 2014-02-02 2015-08-04 Kandou Labs, S.A. Method for code evaluation using ISI ratio
US9270415B2 (en) * 2014-02-03 2016-02-23 Valens Semiconductor Ltd. Encoding payloads according to data types while maintaining running disparity
KR102108380B1 (ko) 2014-02-04 2020-05-08 삼성전자주식회사 송신 데이터 오류를 복구하도록 작동하는 인터페이스 회로
CN106105123B (zh) 2014-02-28 2019-06-28 康杜实验室公司 用于发送时钟嵌入式向量信令码的方法和系统
US9319178B2 (en) 2014-03-14 2016-04-19 Qualcomm Incorporated Method for using error correction codes with N factorial or CCI extension
US20150326884A1 (en) * 2014-05-12 2015-11-12 Silicon Image, Inc. Error Detection and Mitigation in Video Channels
US9509437B2 (en) 2014-05-13 2016-11-29 Kandou Labs, S.A. Vector signaling code with improved noise margin
US9148087B1 (en) 2014-05-16 2015-09-29 Kandou Labs, S.A. Symmetric is linear equalization circuit with increased gain
US9852806B2 (en) 2014-06-20 2017-12-26 Kandou Labs, S.A. System for generating a test pattern to detect and isolate stuck faults for an interface using transition coding
US9112550B1 (en) 2014-06-25 2015-08-18 Kandou Labs, SA Multilevel driver for high speed chip-to-chip communications
WO2016007863A2 (en) 2014-07-10 2016-01-14 Kandou Labs, S.A. Vector signaling codes with increased signal to noise characteristics
US9432082B2 (en) 2014-07-17 2016-08-30 Kandou Labs, S.A. Bus reversable orthogonal differential vector signaling codes
CN106664272B (zh) 2014-07-21 2020-03-27 康杜实验室公司 从多点通信信道接收数据的方法和装置
WO2016019384A1 (en) 2014-08-01 2016-02-04 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
US9674014B2 (en) 2014-10-22 2017-06-06 Kandou Labs, S.A. Method and apparatus for high speed chip-to-chip communications
US9842020B2 (en) * 2014-11-26 2017-12-12 Qualcomm Incorporated Multi-wire symbol transition clocking symbol error correction
US9921899B2 (en) * 2014-12-18 2018-03-20 Oracle International Corporation Monitoring serial link errors
JP6487770B2 (ja) 2015-05-18 2019-03-20 キヤノン株式会社 データ通信システム、記録装置、データ送信装置、データ通信システムの制御方法
GB2539443B (en) * 2015-06-16 2020-02-12 Advanced Risc Mach Ltd A transmitter, a receiver, a data transfer system and a method of data transfer
KR102517583B1 (ko) 2015-06-26 2023-04-03 칸도우 랩스 에스에이 고속 통신 시스템
US10367605B2 (en) * 2015-07-02 2019-07-30 Intel Corporation High speed interconnect symbol stream forward error-correction
JP6657690B2 (ja) * 2015-09-10 2020-03-04 富士ゼロックス株式会社 復号化装置、プログラム、及び情報伝送システム
US9557760B1 (en) 2015-10-28 2017-01-31 Kandou Labs, S.A. Enhanced phase interpolation circuit
US9577815B1 (en) 2015-10-29 2017-02-21 Kandou Labs, S.A. Clock data alignment system for vector signaling code communications link
US10055372B2 (en) 2015-11-25 2018-08-21 Kandou Labs, S.A. Orthogonal differential vector signaling codes with embedded clock
CN108781060B (zh) 2016-01-25 2023-04-14 康杜实验室公司 具有增强的高频增益的电压采样驱动器
US10003454B2 (en) 2016-04-22 2018-06-19 Kandou Labs, S.A. Sampler with low input kickback
WO2017185072A1 (en) 2016-04-22 2017-10-26 Kandou Labs, S.A. High performance phase locked loop
EP3449606A4 (en) 2016-04-28 2019-11-27 Kandou Labs S.A. LOW POWER MULTILAYER ATTACK CIRCUIT
EP3449379B1 (en) 2016-04-28 2021-10-06 Kandou Labs S.A. Vector signaling codes for densely-routed wire groups
US10153591B2 (en) 2016-04-28 2018-12-11 Kandou Labs, S.A. Skew-resistant multi-wire channel
US9906358B1 (en) 2016-08-31 2018-02-27 Kandou Labs, S.A. Lock detector for phase lock loop
US10411922B2 (en) 2016-09-16 2019-09-10 Kandou Labs, S.A. Data-driven phase detector element for phase locked loops
US10200259B1 (en) * 2016-09-21 2019-02-05 Symantec Corporation Systems and methods for detecting obscure cyclic application-layer message sequences in transport-layer message sequences
US10200188B2 (en) 2016-10-21 2019-02-05 Kandou Labs, S.A. Quadrature and duty cycle error correction in matrix phase lock loop
US10372665B2 (en) 2016-10-24 2019-08-06 Kandou Labs, S.A. Multiphase data receiver with distributed DFE
US10200218B2 (en) 2016-10-24 2019-02-05 Kandou Labs, S.A. Multi-stage sampler with increased gain
US10560312B2 (en) * 2016-11-13 2020-02-11 Harman International Industries, Incorporated Multi-mode configurable network audio
DE102016014375B4 (de) * 2016-12-03 2018-06-21 Diehl Metering Systems Gmbh Verfahren zur Verbesserung der Übertragungsqualität zwischen einem Datensammler und einer Mehrzahl autonomer Messeinheiten sowie Kommunikationssystem
EP4216444A1 (en) 2017-04-14 2023-07-26 Kandou Labs, S.A. Pipelined forward error correction for vector signaling code channel
US10116468B1 (en) 2017-06-28 2018-10-30 Kandou Labs, S.A. Low power chip-to-chip bidirectional communications
US10686583B2 (en) 2017-07-04 2020-06-16 Kandou Labs, S.A. Method for measuring and correcting multi-wire skew
US10693587B2 (en) 2017-07-10 2020-06-23 Kandou Labs, S.A. Multi-wire permuted forward error correction
US10203226B1 (en) 2017-08-11 2019-02-12 Kandou Labs, S.A. Phase interpolation circuit
US10326623B1 (en) 2017-12-08 2019-06-18 Kandou Labs, S.A. Methods and systems for providing multi-stage distributed decision feedback equalization
US10554380B2 (en) 2018-01-26 2020-02-04 Kandou Labs, S.A. Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation
CN108847915B (zh) * 2018-05-29 2020-11-24 北京光润通科技发展有限公司 应用纠错编码技术重构源端数据实现单向传输的方法
US10498567B1 (en) * 2018-11-26 2019-12-03 Xilinx, Inc. Die-to-die communications scheme
US10630314B1 (en) * 2019-06-18 2020-04-21 Nxp B.V. Method and system for asynchronous serialization of multiple serial communication signals
US11356197B1 (en) 2021-03-19 2022-06-07 Kandou Labs SA Error-tolerant forward error correction ordered set message decoder
WO2023121649A1 (en) * 2021-12-20 2023-06-29 Zeku, Inc. Apparatus and method for on-chip communication of a baseband chip
US20240161188A1 (en) * 2022-11-15 2024-05-16 Xilinx, Inc. Fast clock domain crossing architecture for high frequency trading (hft)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103222A (ja) * 1992-04-21 1994-04-15 Nec Corp バス転送方式
US20030070132A1 (en) * 2001-08-16 2003-04-10 Christopher Pasqualino Flexible video encoding scheme supporting audio and auxiliary information
WO2003101030A1 (fr) * 2002-05-29 2003-12-04 Mitsubishi Denki Kabushiki Kaisha Procede de gestion d'erreurs de donnees
JP2004328434A (ja) * 2003-04-25 2004-11-18 Dds:Kk パケット通信方式および装置
JP2005025587A (ja) * 2003-07-04 2005-01-27 Matsushita Electric Ind Co Ltd 半導体集積回路および半導体集積回路におけるバースト転送方法
JP2006500816A (ja) * 2002-09-20 2006-01-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 伝送ネットワークにおける資源予約

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974544A (en) * 1991-12-17 1999-10-26 Dell Usa, L.P. Method and controller for defect tracking in a redundant array
US5923680A (en) * 1997-06-05 1999-07-13 Northern Telecom Limited Error correction in a digital transmission system
JP2001523861A (ja) * 1997-11-17 2001-11-27 シーゲイト テクノロジー エルエルシー フレーム受信のための方法及び専用のフレームバッファ
KR100236965B1 (ko) * 1997-11-28 2000-01-15 정선종 비동기전달모드 헤더를 보호하기 위한 연집 오류 처리 장치 및그 방법
KR19990038709U (ko) * 1998-03-31 1999-10-25 전주범 패리트 비트를 이용한 에러 검출 장치
JP2000092033A (ja) * 1998-09-14 2000-03-31 Nec Corp 高速データ送受信方式
US6735217B1 (en) * 1998-09-15 2004-05-11 Tut Systems, Inc. Method and apparatus for detecting collisions on a network using multi-cycle waveform pulses
US6292517B1 (en) * 1998-09-15 2001-09-18 Tut Systems, Inc. Method and apparatus for detecting a data signal on a carrier medium
US6421803B1 (en) * 1999-06-25 2002-07-16 Telefonaktiebolaget L M Ericsson (Publ) System and method for implementing hybrid automatic repeat request using parity check combining
US7010607B1 (en) * 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
KR20080085096A (ko) * 2000-04-17 2008-09-22 노오텔 네트웍스 리미티드 무선 에어 인터페이스를 위한 이중 프로토콜층 자동 재송신요청 방법
JP3535074B2 (ja) * 2000-04-20 2004-06-07 日本電信電話株式会社 制御情報の符号化方法及び復号化方法と制御情報の送信器及び受信器
US6662332B1 (en) * 2000-07-05 2003-12-09 3Com Corporation Interleaver for burst error correction
JP2002152163A (ja) * 2000-11-13 2002-05-24 Fujitsu Ltd 通信ノード及び通信ユニット
US20030039226A1 (en) * 2001-08-24 2003-02-27 Kwak Joseph A. Physical layer automatic repeat request (ARQ)
CN1225875C (zh) * 2001-09-29 2005-11-02 华为技术有限公司 在高速媒体接入控制层实现数据重传的方法
US7111220B1 (en) * 2002-03-01 2006-09-19 Xilinx, Inc. Network physical layer with embedded multi-standard CRC generator
JP3879836B2 (ja) * 2002-03-28 2007-02-14 日本電気株式会社 多重変換装置、逆多重変換装置および多重伝送システム
EP1351462A1 (en) * 2002-03-29 2003-10-08 MystiCom, Ltd. Error Correcting 8B/10B Transmission System
DE60301637T2 (de) * 2002-04-16 2006-06-22 Robert Bosch Gmbh Verfahren zur Datenübertragung in einem Kommunikationssystem
KR100835401B1 (ko) * 2002-04-25 2008-06-04 피엠씨-시에라 이스라엘 엘티디. 이더넷 네트워크에서 순방향 오류 정정 코딩
US7296211B2 (en) * 2002-06-25 2007-11-13 Lockheed Martin Corporation System and method for transferring data on a data link
GB2399722A (en) * 2003-03-21 2004-09-22 Sony Uk Ltd Data communication synchronisation
US6747580B1 (en) * 2003-06-12 2004-06-08 Silicon Image, Inc. Method and apparatus for encoding or decoding data in accordance with an NB/(N+1)B block code, and method for determining such a block code
JP4431113B2 (ja) * 2003-11-14 2010-03-10 株式会社日立コミュニケーションテクノロジー データ伝送方法及びデータ伝送装置
EP1533932A1 (en) * 2003-11-19 2005-05-25 Mitsubishi Denki Kabushiki Kaisha Error control mechanism for a segment based link layer in a digital network
US7475323B2 (en) * 2004-08-20 2009-01-06 Qualcomm Incorporated Method and apparatus for receiving a control channel in a wireless communication system
US7248587B1 (en) * 2005-04-11 2007-07-24 Azul Systems, Inc. Error recovery of variable-length packets without sequence numbers or special symbols used for synchronizing transmit retry-buffer pointer
US7280293B2 (en) * 2005-07-18 2007-10-09 International Business Machines Corporation Multi-level mapping of tape error recoveries
US7676733B2 (en) * 2006-01-04 2010-03-09 Intel Corporation Techniques to perform forward error correction for an electrical backplane

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06103222A (ja) * 1992-04-21 1994-04-15 Nec Corp バス転送方式
US20030070132A1 (en) * 2001-08-16 2003-04-10 Christopher Pasqualino Flexible video encoding scheme supporting audio and auxiliary information
WO2003101030A1 (fr) * 2002-05-29 2003-12-04 Mitsubishi Denki Kabushiki Kaisha Procede de gestion d'erreurs de donnees
JP2006500816A (ja) * 2002-09-20 2006-01-05 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 伝送ネットワークにおける資源予約
JP2004328434A (ja) * 2003-04-25 2004-11-18 Dds:Kk パケット通信方式および装置
JP2005025587A (ja) * 2003-07-04 2005-01-27 Matsushita Electric Ind Co Ltd 半導体集積回路および半導体集積回路におけるバースト転送方法

Also Published As

Publication number Publication date
TW200810413A (en) 2008-02-16
US20110209027A1 (en) 2011-08-25
EP1833188A3 (en) 2011-07-06
JP2007267392A (ja) 2007-10-11
KR101363704B1 (ko) 2014-02-21
US7694204B2 (en) 2010-04-06
KR20130133745A (ko) 2013-12-09
CN101035141B (zh) 2014-03-05
US7937644B2 (en) 2011-05-03
KR101367015B1 (ko) 2014-02-24
CN103401636A (zh) 2013-11-20
CN103401636B (zh) 2017-07-07
TWI369093B (en) 2012-07-21
KR20070092676A (ko) 2007-09-13
CN101035141A (zh) 2007-09-12
US8099648B2 (en) 2012-01-17
EP1833188B1 (en) 2015-09-09
US20100153805A1 (en) 2010-06-17
EP1833188A2 (en) 2007-09-12
US20070260965A1 (en) 2007-11-08

Similar Documents

Publication Publication Date Title
US8099648B2 (en) Error detection in physical interfaces for point-to-point communications between integrated circuits
US7296211B2 (en) System and method for transferring data on a data link
US10432218B2 (en) Integrated physical coding sublayer and forward error correction in networking applications
US8990653B2 (en) Apparatus and method for transmitting and recovering encoded data streams across multiple physical medium attachments
US8255779B2 (en) System and method for accelerated forward error correction (FEC) synchronization
CN102340316A (zh) 基于fpga的微型空间过采样直流平衡串行解串器
US20100262887A1 (en) High Integrity Data Network System and Method
US20160373198A1 (en) Serial communication device and serial communication method
EP3029842B1 (en) Memory-efficient methods of transporting error correction codes in a symbol encoded transmission stream
CN113282533A (zh) 一种异步链路发送端电路及芯片接收端电路
US7928884B2 (en) Analog-to-digital converter with a balanced output
JP2002176463A (ja) 雑音免疫性内部データ通信方式
US20240163010A1 (en) Operation method for an electronic device and an electronic device capable of performing an advanced line coding
Fengfeng et al. A serial physical layer design in RapidIO
JP5532030B2 (ja) データ通信方法及びデータ通信装置
KR100670041B1 (ko) 고속 이더넷 수신 데이터 오류 정정 회로
JPH1168659A (ja) 光インタコネクション用誤り訂正方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130917

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140228

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140425

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140527

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140820

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140825

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140924

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150324

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150618

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150824

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160209

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20160311

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160609

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160620

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20160916

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170816

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170915

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20171013

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171116

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180510

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20180613