(57)【要約】【課題】電子装置間の確実なデータ通信をもたらす機器及び方法を提供する。【解決手段】集積回路間のデータ通信の送信及び／又は受信中の物理インタフェースにおけるエラーを検出する機器、システム、及び方法。機器は、受信物理インタフェースとして又はその内部で作動するように構成され、符号化データビットの部分集合を復号化して復号化データビットを生成するように構成された復号器を含み、復号化データビットから物理インタフェースエラー検出ビットを抽出するように構成された物理インタフェースエラー検出ビット抽出器を含む。機器は、物理インタフェースエラー検出ビットを使用して符号化データビットが少なくとも１つの誤ったデータビットをエラーとして含むか否かを判断し、物理層内で作動するように構成されたエラー検出器を含み、例えばＮＢ／（Ｎ＋１）Ｂライン符号器内でエラー検出コードを効率的に送信する。【選択図】図１Ａ
2007267392.tif 000002
【特許請求の範囲】
【請求項１】
集積回路（ＩＣ）間のデータ通信を容易にする、物理インタフェースにおけるエラーを検出するための機器であって、
符号化データビットの部分集合を復号化して復号化データビットを生成するように構成された復号器と、
前記復号化データビットから、前記符号化データビットが少なくとも１つの誤ったデータビットをエラーとして含むか否かを判断するのに使用される物理インタフェースエラー検出ビットを抽出するように構成された物理インタフェース（ＰＩ）エラー検出ビット抽出器と、
を含むことを特徴とする機器。
【請求項２】
前記エラーを検出するために物理層内で作動するように構成されたエラー検出器、
を更に含み、
前記符号化データビットの前記部分集合は、組込クロックを含む、
ことを特徴とする請求項１に記載の機器。
【請求項３】
前記エラー検出器は、前記物理層の上方の「開放型システム相互接続（ＯＳＩ）」７層基準モデルのデータリンク層又はそのいかなる上部層におけるよりも早期にエラー検出を実行することを特徴とする請求項２に記載の機器。
【請求項４】
前記物理インタフェースエラー検出ビットは、パリティビットであり、前記エラー検出器は、前記符号化データビットのパリティを検査して該パリティが不適合の場合にエラーを検出するように構成されていることを特徴とする請求項２に記載の機器。
【請求項５】
前記物理インタフェースエラー検出ビットは、エラー検出コードの一部分であり、
前記エラー検出コードは、巡回冗長検査（ＣＲＣ）チェックサムであり、前記エラー検出器は、前記物理インタフェースエラー検出ビットと、前記符号化データビットの他の部分集合からの他の物理インタフェースエラー検出ビットとを蓄積して該エラー検出コードを再構成するように構成されている、
ことを特徴とする請求項２に記載の機器。
【請求項６】
Ｎをデータビットのあらゆる整数を表すものとして、
（１）Ｎ個のアプリケーションデータビットと共に物理インタフェースエラー検出ビットを挿入してＮ＋１個の未符号化データビットを形成し、かつ
（２）前記Ｎ＋１個の未符号化データビットを符号化してＮ＋２個の符号化データビットを生成する、
ように構成されたＮビットからＮ＋２（Ｎビット／Ｎ＋２）ビット物理層（ＰＨＹ）符号器と、
前記物理インタフェースエラー検出ビットを含むエラー検出コードを構成するいくつかのビットを発生するように構成されたエラー検出コード発生器と、
を更に含むことを特徴とする請求項１に記載の機器。
【請求項７】
物理的媒体を通じて第２のＩＣに結合された第１の集積回路（ＩＣ）、
を含み、
前記第１のＩＣは、該第１のＩＣの第１の基板部分上に形成された物理インタフェースを含んで第２の基板部分上に形成された前記第２のＩＣと交換されたデータ内の送信エラーを検出し、
符号化データビットの部分集合を復号化して復号化データビットを生成するように構成された復号器と、
前記復号化データビットから、前記符号化データビットが少なくとも１つの誤ったデータビットをエラーとして含むか否かを判断するのに使用される物理インタフェースエラー検出ビットを抽出するように構成された物理インタフェースエラー検出ビット抽出器と、
を更に含むことを特徴とするシステム。
【請求項８】
前記物理インタフェースは、
着信符号化データビットを受信するように構成された入力ポートの第１の部分集合と、着信復号化データビットを前記別のＩＣに送信するように構成された出力ポートの第１の部分集合とを含む複数の入力ポート及び出力ポートと、
前記複数の入力ポート及び出力ポートの間に結合された１つ又はそれよりも多くのエラー・リカバリー・モジュールと、
を含み、
前記１つ又はそれよりも多くのエラー・リカバリー・モジュールの第１のエラー・リカバリー・モジュールは、前記第１の部分集合の入力ポートの少なくとも１つと前記第１の部分集合の出力ポートの少なくとも１つとの間に結合されている、
ことを特徴とする請求項７に記載のシステム。
【請求項９】
前記第１のエラー・リカバリー・モジュールは、前記着信符号化データビット内のエラーを検出して該エラーを訂正するアクションを開始するように構成された物理層（ＰＨＹ）復号器を含むことを特徴とする請求項８に記載のシステム。
【請求項１０】
前記複数の入力ポート及び出力ポートは、発信未符号化データビットを前記別のＩＣから受信するように構成された入力ポートの第２の部分集合と、発信符号化データビットを送信するように構成された出力ポートの第２の部分集合とを含み、
前記１つ又はそれよりも多くのエラー・リカバリー・モジュールの第２のエラー・リカバリー・モジュールは、前記第２の部分集合の入力ポートの少なくとも１つと前記第２の部分集合の出力ポートの少なくとも１つとの間に結合され、該第２のエラー・リカバリー・モジュールは、前記発信符号化データビットに対するエラー検出コードを発生させるように構成されたＰＨＹ符号器を含む、
ことを特徴とする請求項９に記載のシステム。
【請求項１１】
符号化データビットを発生させ、該符号化データビットには物理インタフェースエラー検出ビットが符号化されたＮビット／Ｎ＋２ビット符号器を含み、かつ前記物理的媒体の第１の端部に結合された送信装置と、
前記符号化データビットを復号化するＮ＋２ビット／Ｎビット復号器、及び
前記物理インタフェースエラー検出ビットを使用してエラーを判断するように構成されたエラー検出器、
を含み、かつ前記物理的媒体の第２の端部に結合された受信装置と、
を更に含むことを特徴とする請求項７に記載のシステム。
【請求項１２】
前記送信装置は、遷移最小化差動信号伝達（ＴＭＤＳ）送信器及び高品位マルチメディアインタフェース（ＨＤＭＩ）送信器であり、前記受信装置は、ＴＭＤＳ受信器及びＨＤＭＩ受信器であることを特徴とする請求項１１に記載のシステム。
【請求項１３】
データビットを復号化して物理インタフェースにおいて少なくともエラーを検出する方法であって、
組込非同期クロックを有する符号化ビットストリームの部分集合を復号化して復号化データビットを生成する段階と、
前記復号化データビットから物理インタフェースエラー検出ビットを抽出する段階と、
少なくとも前記物理インタフェースエラー検出ビットに基づいて、前記符号化ビットストリームが正しくないビットを含むことを判断する段階と、
前記物理インタフェースにおいて前記エラーを訂正する段階と、
を含むことを特徴とする方法。
【請求項１４】
前記符号化ビットストリームの前記部分集合が前記正しくないビットを含むことを判断する段階は、
前記物理インタフェースエラー検出ビットを用いて前記符号化ビットストリームの部分集合のパリティを判断する段階と、
前記パリティが所定のパリティと適合しない場合に前記エラーが存在することを示す段階と、
を更に含む、
ことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記ビットストリームの前記部分集合が前記正しくないビットを含むことを判断する段階は、
前記物理インタフェースエラー検出ビットを他の物理インタフェースエラー検出ビットと組み合わせて第１のエラー検出コードを形成する段階と、
前記復号化データビットからのアプリケーションデータビットと、前記ビットストリームの他の部分集合から復号化された他の復号化データビットからの他のアプリケーションデータビットとに基づいて、第２のエラー検出コードを発生させる段階と、
前記第１のエラー検出コードを前記第２のエラー検出コードに対して比較する段階と、
前記第２のエラー検出コードが前記第１のエラー検出コードと適合しない場合に前記エラーが存在することを示す段階と、
を含む、
ことを特徴とする請求項１３に記載の方法。
【請求項１６】
集積回路（ＩＣ）間のデータ通信の送信のために物理インタフェースでエラー検出コードを発生させるための機器であって、
Ｎをデータビットのあらゆる整数を表すものとして、
Ｎ個のアプリケーションデータビットと共に物理インタフェースエラー検出ビットを挿入してＮ＋１個の未符号化データビットを形成し、かつ
前記Ｎ＋１個の未符号化データビットを符号化してＮ＋２個の符号化データビットを生成する、
ように構成されたＮビットからＮ＋２（Ｎビット／Ｎ＋２）ビット物理層（ＰＨＹ）符号器と、
前記物理インタフェースエラー検出ビットを含むエラー検出コードを構成するいくつかのビットを発生するように構成されたエラー検出コード発生器と、
を含むことを特徴とする機器。
【請求項１７】
第１の基板部分上に集積回路（ＩＣ）として形成されて、第２の基板部分上に形成された別のＩＣと交換されたデータにおける送信エラーを検出する物理インタフェースであって、
着信符号化データビットを受信するように構成された入力ポートの第１の部分集合と、着信復号化データビットを別のＩＣに送信するように構成された出力ポートの第１の部分集合とを含む複数の入力ポート及び出力ポートと、
前記複数の入力ポート及び出力ポートの間に結合された１つ又はそれよりも多くのエラー・リカバリー・モジュールと、
を含み、
前記１つ又はそれよりも多くのエラー・リカバリー・モジュールの第１のエラー・リカバリー・モジュールは、前記第１の部分集合の入力ポートの少なくとも１つと前記第１の部分集合の出力ポートの少なくとも１つとの間に結合されている、
ことを特徴とする物理インタフェース。
【請求項１８】
少なくとも２つの集積回路（ＩＣ）間の高速シリアル通信リンクであって、
通信データを伝達するための物理的媒体と、
符号化データビットを発生させ、該符号化データビットには物理インタフェースエラー検出ビットが符号化されたＮビット／Ｎ＋２ビット符号器を含み、かつ前記物理的媒体の第１の端部に結合された送信装置と、
前記符号化データビットを復号化するＮ＋２ビット／Ｎビット復号器、及び
前記物理インタフェースエラー検出ビットを使用してエラーを判断するように構成されたエラー検出器、
を含み、かつ前記物理的媒体の第２の端部に結合された受信装置と、
を含むことを特徴とする高速シリアル通信リンク。
【請求項１９】
パラレルデータリンクを通じてポイントツーポイント通信中に物理層において送信エラーを検出するための物理インタフェースであって、
部分集合が物理インタフェースエラー検出ビットを含むパラレル通信データをパラレルデータリンクを通じて受信するためのパラレルポートと、
外部クロックを受信して前記パラレル通信データの前記受信を同期化するように構成された外部クロック入力部と、
前記物理インタフェースエラー検出ビットを使用して前記パラレル通信データが正しくないビットをエラーとして含むか否かを判断するように構成された物理インタフェースエラー検出器と、
物理インタフェースにおいて前記エラーを訂正するように構成されたエラー訂正器と、
を含むことを特徴とする物理インタフェース。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、電子装置間の確実なデータ通信を提供するための機器及び方法に関するものであり、より具体的には、電子装置間の物理的媒体上のデータビットのポイントツーポイント伝送中に物理インタフェースでエラーを効率的に検出するように構成された物理インタフェースに関する。本発明の一実施形態では、データビットのポイントツーポイント伝送は、シリアルデータリンクに沿った低振幅高周波数信号伝達を使用する。
【背景技術】
【０００２】
集積回路（ＩＣ）のような電子装置間のポイントツーポイント通信は、特にデータ転送の同期化に専用同期クロックラインが使用される時には一般的に確実であると考えられている。特に、多くのシステム設計担当者は、ＩＣ間の通信が、ＩＣ間で交換されるデータビットが同じデータビットであるという広く知られた仮定に従うと予想している。例えば、殆どの従来のプロセッサＩＣは、メモリＩＣに送信されたアドレスビットが正しく受信したか、又はプロセッサＩＣによって受信したデータがメモリＩＣによって送られたものと同じであったか否かに関係なく、メモリＩＣからフェッチされたデータに作用するように設計されている。しかし、データビットを高速データ転送速度でかつ振幅を落として（すなわち、送信電力を落として）送信する従来の物理インタフェースでは、データ信号の強度に及ぼす背景ノイズの影響のためにＳＮ比が小さくなり、これは、確実なポイントツーポイント通信を妨げ兼ねないエラーの増加を示すものである。更に、多くのシステム設計担当者は、クロックが符号化されたシリアル化データに組み込まれる非同期クロッキング技術を使用してシリアルデータリンク上でデータをシリアル搬送する物理インタフェースを実施している。シリアルデータリンクを有する高速シリアル通信技術の例としては、「シリアルＡＴＡ（ＳＡＴＡ）（登録商標）」、「遷移最小化差動信号伝達（ＴＭＤＳ）」、「ＰＣＩ  Ｅｘｐｒｅｓｓ」、及び「ＩｎｆｉｎｉＢａｎｄ（登録商標）」などがある。シリアルデータ通信に対して準備された従来の物理インタフェースは、ノイズ及び電力の両方を低減するが、少なくとも１つの欠点は、従来のシリアルデータリンクは、搬送中にデータ破損を受けやすいことである。
【０００３】
コンピュータネットワーキングの分野において、「開放型システム相互接続（ＯＳＩ）」モデルは、２つの端末局（又はコンピュータ装置）間のエラーを検出して訂正する一般的な手法を説明するものである。この手法によれば、データリンク層は、送信されたビットのフレームに基づいてエラー検出コード（例えば、巡回冗長コード、「ＣＲＣ」）を計算する。次に、それは、連続ビットとしてエラー検出コードをフレームに添付し、次に、エラー検出コードとアプリケーションデータビットの両方をライン符号化（又はコード化）のために物理インタフェースに渡す。ライン符号化の一例は、８つのアプリケーションデータビットを１０個の符号化ビットに変換するものである。この種のライン符号化技術は、一般的に８Ｂ／１０Ｂとして公知である。ライン符号化が行われた後、シリアル物理インタフェースは、通信媒体上で符号化ビットを別のシリアル物理インタフェースに追い出し、これが、クロックを回復してこれらのビットを復号化する。次に、受信器のデータリンク層は、エラー検出コードの連続ビットを使用してエラー検出及び訂正技術を適用する。
【０００４】
データリンク層は、機能的ではあるが、これらのエラー検出及び訂正処理を物理インタフェースを超えて実行し、それによってエラー検出及び／又は解決を遅延させる。また、従来の物理インタフェースは、一般的に、エラー検出及び訂正を標準的方法で容易にするのに十分に適するものではない。例えば、従来の物理インタフェースは、集積回路間の同期及び並行データ通信を行うように最適化されている。従って、それらは、シリアルデータリンク上のような非同期及びシリアルデータ通信に対して適時かつ確実なデータ転送を行うように容易に適応させることができない。更に、従来の物理インタフェースは、一般的に、少なくとも（１）アプリケーションが特化エラー処理技術に参加する必要がない透明なエラー検出及び回復技術と、（２）エラー検出コードがシリアルデータリンク上で転送される速度を上げるためのエラー検出コードの効率的な送信とを提供することを助けない。
【０００５】
【特許文献１】米国特許第６，７４７，５８０号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
以上に鑑みて、上述の欠点を最小にし、かつ少なくともエラー検出及び任意的なエラー・リカバリーを準備する物理インタフェース、機器、及び方法を提供することが望ましいと考えられる。
【課題を解決するための手段】
【０００７】
集積回路（ＩＣ）間のデータ通信の送信及び／又は受信中の物理インタフェースにおけるエラーを検出するための機器、システム、及び方法を開示する。本発明の様々な実施形態によれば、物理インタフェースは、シリアル又はパラレルデータリンク上のいずれかの通信を容易にすることができ、又はそれは、組込非同期クロック又は外部同期クロックのいずれかを使用するように構成することができる。
【０００８】
一実施形態では、機器は、受信物理インタフェースとして又はその内部で作動するように構成される。機器はまた、符号化データビットの部分集合を復号化して復号化データビットを生成するように構成された復号器を含む。それはまた、復号化データビットから物理インタフェースエラー検出ビットを抽出するように構成された物理インタフェース（ＰＩ）エラー検出ビット抽出器を含む。従って、機器は、物理インタフェースエラー検出ビットを使用して、符号化データビットが少なくとも１つの誤ったデータビットをエラーとして含むか否かを判断する。一部の実施形態では、機器は、物理層内で作動するように構成されたエラー検出器を含む。少なくとも１つの実施形態では、機器は、例えばＮＢ／（Ｎ＋１）Ｂライン符号器内でエラー検出コードを効率的に送信する。符号化データビットは、実質的に直流（ＤＣ）均衡状態とすることができる。更に、符号化データビットは、放出放射線のスペクトル特性を形作るように構成することができる。また、これらの符号化データビットは、受信装置でクロックを回復するのに使用することができる組込非同期クロックを含むこともできる。一部の事例においては、機器は、物理層内で作動してエラーを検出するように構成されたエラー検出器を含む。エラー検出器は、「開放型システム相互接続（ＯＳＩ）」７層基準モデルのデータリンク層又はあらゆる上部層におけるよりも早期にエラー検出を実行する。一部の場合では、物理インタフェースエラー検出ビットは、パリティビットであり、一方、他の事例では、物理インタフェースエラー検出ビットは、エラー検出コードの一部分である。例えば、エラー検出コードは、巡回冗長検査（ＣＲＣ）チェックサムとすることができる。この場合のエラー検出器は、物理インタフェースエラー検出ビット、並びに符号化データビットの他の部分集合（すなわち、他のコード語）からの他の物理インタフェースエラー検出ビットを蓄積してエラー検出コードを再構成するように構成される。エラー検出器は、物理インタフェースエラー検出ビット及び他の物理インタフェースエラー検出ビットからＣＲＣ検査を発生させるように構成することができることに注意されたい。次に、エラー検出器は、ＣＲＣ検査をエラー検出コードと比較して、エラーが発生したか否かを判断することができる。
【０００９】
様々な実施形態では、物理インタフェースエラー検出ビットは、符号化データビットの部分集合と同時に機器で受信され、他の物理インタフェースエラー検出ビットの各々も、符号化データビットの他の部分集合の各々と同時に機器で受信され、それによってそうでなければ符号化データビットに追随するように添付されるエラー検出コードを機器が受信する時間を短縮する。少なくとも１つの実施形態では、機器はまた、エラーを訂正するように構成されたエラー訂正器を含む。エラー訂正器は、符号化データビットの部分集合の再送信を要求するか、又はエラーが検出されたことをアプリケーション特有のモジュールに信号で知らせ、それによってアプリケーション特有のモジュールがエラーを解決することができるように構成することができる。あるいは、エラー訂正器は、１つ又はそれよりも多くのＩＣを再初期化するなどのデフォルト対策を取ることができる。符号化データビットの部分集合の１つは、Ｎ＋ｍ個のデータビットを含むことができ、これを復号化して、復号化データビットとしてＮ個のアプリケーションデータビットを取得することができることに注意されたい。機器は、Ｎ＋２個のデータビットとして符号化データビットを受信し、かつＮ個のアプリケーションデータビットを出力として供給するように構成することができることにも注意されたい。例えば、Ｎが８の時、機器は、８Ｂ／１０Ｂ復号器として構成され、それは、９個の復号化データビット、すなわち、８個のアプリケーションデータビット及びエラー検出のための１つの物理インタフェースエラー検出ビットを提供する。
【００１０】
本発明の別の実施形態では、集積回路（ＩＣ）間のデータ送信のために物理インタフェースにおいてエラー検出コードを発生させる機器を開示する。一実施形態では、機器は、送信物理インタフェースとして又はその内部で作動するように構成される。機器は、ＮビットからＮ＋２（Ｎビット／Ｎ＋２）ビットの物理層（ＰＨＹ）符号器を含むことができる。この符号器は、物理インタフェースエラー検出ビットをＮ個のアプリケーションデータビットと共に挿入してＮ＋１個の未符号化データビットを形成し、Ｎ＋１個の未符号化データビットを符号化してＮ＋２個の符号化データビットを生成するように構成される。機器はまた、物理インタフェースエラー検出ビットを含む、エラー検出コードを構成するいくつかのビットを発生させるように構成されたエラー検出コード発生器を含む。Ｎは、あらゆる整数のデータビットを表すことができる。機器は、一部の場合では、Ｎ＋２個の符号化データビットをシリアル化してＮ＋２個のシリアル符号化データビットを形成し、それによって単一のエラー検出データビットをＮ＋２個のシリアル符号化データビットと交互配置するように構成されたシリアライザを含むことができる。少なくとも１つの実施形態では、機器は、Ｎ個のデータビットを含むデータビットの群を記憶する記憶装置を含む。エラー検出コード発生器は、データビットの群を検査してエラー検出コードを発生させるように構成される。特定的な実施形態では、機器は、送信器（ＴＸ）エラー訂正器を含み、これは、送信器エラー訂正器が再送信の要求を受信した時にデータビットの群の１つ又はそれよりも多くの部分集合を再送信するように構成されている。
【００１１】
本発明の更に別の実施形態では、物理インタフェースは、第１の基板上に集積回路（ＩＣ）として形成され、第２の基板上に形成されたコアＩＣと交換されたデータにおける送信エラーを検出する。コアＩＣは、メモリチップの記憶機能のようなアプリケーション特有の機能を実施する論理を収容する別のＩＣである。物理インタフェースは、着信符号化データビットを受信するように構成された入力ポートの第１の部分集合と、着信復号化データビットをコアＩＣに送信するように構成された出力ポートの第１の部分集合とを含む複数の入力ポート及び出力ポートを含む。物理インタフェースはまた、複数の入力ポート及び出力ポートの間に結合された１つ又はそれよりも多くのエラー・リカバリー・モジュールを含む。エラー・リカバリー・モジュールの少なくとも１つは、入力ポートの第１の部分集合の少なくとも１つと出力ポートの第１の部分集合の少なくとも１つとの間に結合される。エラー・リカバリー・モジュールは、任意的に、着信符号化データビット内のエラーを検出してエラーを訂正するアクションを開始するように構成された物理層（ＰＨＹ）復号器を含むことができる。
【００１２】
本発明の更に別の実施形態では、少なくとも２つの集積回路（ＩＣ）間の高速シリアル通信リンクを開示する。このリンクは、データを伝達するための物理的媒体と、物理的媒体の第１の端部に結合された送信装置と、物理的媒体の第２の端部に結合された受信装置とを含む。それはまた、物理インタフェースエラー検出ビットを使用してエラーを判断するように構成されたエラー検出器を含む。送信装置は、物理インタフェースエラー検出ビットを符号化した符号化データビットを発生させるＮビット／Ｎ＋２ビット符号器を含み、受信装置は、符号化データビットを復号化するＮ＋２ビット／Ｎビット復号器と、物理インタフェースエラー検出ビットを使用してエラーを判断するエラー検出器とを含むことに注意されたい。また、送信装置及び受信装置は、遷移最小化差動信号伝達（ＴＭＤＳ）装置、高品位マルチメディアインタフェース（ＨＤＭＩ）装置、マルチギガビット「イーサネット」装置（例えば、１０Ｇｂｐｓ「イーサネット」又は「１０ＧｂＥ」装置）、及び／又はシリアル高度技術アタッチメント（ＳＡＴＡ）装置のいずれかの１つ又はそれよりも多くとすることができることに注意されたい。また、送信装置及び受信装置は、「デジタル視覚インタフェース（ＤＶＩ）」及び／又は「低電圧差動信号伝達（ＬＶＤＳ）」、並びにあらゆる他の同等の技術を実施することができることに注意されたい。
本発明は、添付図面と共に以下の詳細説明に関連してより完全に評価される。
同じ参照番号は、図面のいくつかの図を通して対応する部分を指している。参照番号の大半は、その参照番号を最初に導入する図を全体的に特定する最も左の１つ又は２つの桁を含むことに注意されたい。
【発明を実施するための最良の形態】
【００１３】
図１Ａは、本発明の少なくとも１つの特定的な実施形態によりエラー・リカバリー・モジュールを含んでライン符号化／復号化に関連してエラーを検出する物理インタフェースを示すブロック図１００である。物理インタフェース１０２及び１２２は、装置１０１及び１２１の間の物理的接続性を提供するものであり、その各々は、メモリチップのような集積回路か、又は「イーサネット」ラインカード又はネットワーク化コンピュータのような電子装置とすることができる。物理インタフェース１０２及び１２２は、物理的媒体１１０を通じてデータビットの送受信を容易にするために、それぞれ、ライン符号器（ＬＥ）１０６とライン復号器（ＬＤ）１２６を含む。一実施形態では、ライン符号器（ＬＥ）１０６は、ライン符号化（「ラインコード化」とも呼ばれる）を提供するものであり、これは、銅線、光ファイバ、無線波のような特定の種類の媒体上の符号化データビットの送信を最適化するための特定のコード（又はコード語）へのバイナリ（すなわち、データビット）で表されたデジタル情報の変換である。ライン復号化は、特定のコードからデータビットに変換する逆の処理である。ライン符号器及びライン復号器の両方は、特定の種類の媒体と共に最適に作動するように調整される。一部の実施形態において使用されるように、符号化という用語は、コード語へのデータビットの変換、並びにコード語への又はコード語によるデータビットの挿入を意味する。
【００１４】
物理インタフェース１０２はまた、送信器（ＴＸ）エラー・リカバリー・モジュール１０４を含み、一方、物理インタフェース１２２はまた、受信器（ＲＸ）エラー・リカバリー・モジュール１２４を含む。両方のエラー・リカバリー・モジュール１０４及び１２４は、エラーを検出し、かつライン符号化又は復号化に関連して又はそれと共に上述のエラーを任意的に訂正するように作動する。図１Ａは、一方向の通信を示すが、当業者は、ＴＸエラー・リカバリー・モジュール１０４及びＲＸエラー・リカバリー・モジュール１２４の構造及び／又は機能を組み合わせて送受信機（ＴＸ／ＲＸ）エラー・リカバリー・モジュール（図示せず）を形成し、物理的媒体１１０を通じて双方向通信中にエラー検出及び訂正をサポートすることができることを認めるべきである。少なくとも１つの実施形態では、物理的媒体１１０は、シリアルデータリンクを提供する。データリンクがシリアルデータリンクであるか又はパラレルデータリンクであるかに関係なく、ライン符号器１０６及びライン復号器１２６は、ライン符号化／復号化を実施して、（１）データストリーム内に組み込まれたクロックを回復するために適切な回数の遷移がデータストリーム内にあることを保証し、（２）ｄ−ｃ均衡を維持し、かつ（３）データリンクのスペクトル成形を提供して電磁気放出を低減することのうちの１つ又はそれよりも多くを行う。
【００１５】
特定的な実施形態では、エラー・リカバリー・モジュール１０４及び１２４は、例えば、ライン復号化の前、最中、又は後のいずれかの時間にエラー検出を提供することができるように、データビットが受信器（例えば、ＩＣ又は電子装置）に到着した直後の早期のエラー検出を容易にする。従って、物理インタフェース１２４内のエラー検出は、エラー検出及び訂正技術を適用することができるまで、装置１２１が正しくないか又は破損したデータビットで不必要に他の下流側処理を実行するのを防止することができる。有利な態様においては、エラー・リカバリー・モジュール１０４及び１２４は、コンピュータリソースを保存しなければ破損データビットを処理する場合があるコンピュータリソースを保存し、また、本発明の様々な実施形態に従ってエラーを検出及び／又は訂正するのに必要とされる時間を短縮することにより、装置１０１及び１２１間の通信を容易にすることができる。また、本発明の様々な特徴により、エラーを検出する時間を短縮することができる。例えば、エラー検出ビットは、従来のように、送信されるデータビットの群の終わりにではなく、アプリケーションデータビットと交互に織り込んで転送することができる。少なくとも１つの実施形態では、ライン符号器１０６は、シリアルデータリンクに対してデータストリームを符号化するためにＮＢ／（Ｎ＋２）Ｂライン符号化を使用する。更に、ライン符号器１０６は、アプリケーションデータビットが物理的媒体１１０上で通信される速度に影響を及ぼすことなく物理インタフェース（ＰＩ）エラー訂正ビットをその符号化データストリーム内に組み込むように作動することができる。有利な態様においては、物理インタフェース１０２及び１２２は、全体的又は部分的を問わず、物理層（又は「ＰＨＹ」）において、エラーを解決するために装置１０１及び１２１を必要とすることなく、下位でのエラー検出及び／又は訂正を提供することができる。従って、装置１０１及び１２１の作動に対して透明であるように、アプリケーションデータビットと共にＰＩエラー訂正情報を伝送することができる。言うまでもなく、装置１０１及び１２１の場合のエラー検出及び／又は訂正は、物理インタフェース１０２及び１２２を超えた回路及び／又は層での他のエラー・リカバリー技術によって補うことができる。従って、アプリケーションデータビットは、上部層エラー・リカバリー機構のための上部層（ＵＬ）エラー検出ビットを含むことができる。エラー検出及び／又は訂正は、物理層で行われるので、エラー検出は、有利な態様においては、物理インタフェース１０２及び１２２を超えて行われる場合よりも迅速に行うことができる。
【００１６】
図１Ｂは、本発明の１つ又はそれよりも多くの実施形態によりデータリンク層ではなく物理層でエラー検出を提供するように実行される図１Ａのエラー・リカバリー・モジュール１０４及び１２４を示している。「国際標準化機構（ＩＳＯ）開放型システム相互接続基準モデル（ＯＳＩモデル）」では、物理層（例えば、下位層１６２）及びデータリンク層１７６を含む他の上部層１６０の機能性が説明されている。図１Ｂは、装置１０１のためのＯＳＩモデル１５０と、装置１２１のためのＯＳＩモデル１５２とを示している。特に、ＯＳＩモデル１５０及び１５２の各々は、アプリケーション層１７０、プレゼンテーション層１７２、ネットワーク層１７４、データリンク層１７６、及び物理層１７８の１つ又はそれよりも多くを含み、その全ては、公知でありかつここで詳細に説明する必要がない機能性を有する。ＯＳＩモデル１５０によれば、送信ＩＣ又は装置１０１（すなわち、「送信器」）のデータリンク層１７６は、一般的に、下位層１６２においてライン符号器による符号化の前に上位エラー検出コードを発生させ、一方、受信ＩＣ又は装置１２１（すなわち、「受信器」）のデータリンク層１７６は、通常、下位層１６２ライン復号器がライン符号化ビットを復号化した後にエラーを検出して訂正する。特に、受信データリンク層１７６は、通常、復号化データビットのビットストリームをフレームに組み立てて、次に、フレームのコンテンツに基づいてＣＲＣ検査のような上位エラー検出コードを計算する。一例においては、フレーマー（ＦＲ）１９３は、ビットの連続した組をフレームに組み立てる。特に、フレーマー１９３は、フレームのフィールドの１つにおいて「フレーム検査シーケンス（ＦＣＳ）」コードを確立する。ＦＣＳは、例えば、巡回冗長検査（ＣＲＣ）チェックサムを使用してエラーを検出するのに使用される。ＦＣＳは、通常、ＣＲＣ検査と突き合わせてエラーが存在するか否かを判断する。説明のために、「イーサネット」フレームが、ヘッダビット及び１５００バイトまでのペイロードを含み、ＣＲＣ検査が３２個の連続ビットとしてペイロード端部に添付されていると考える。一般的に、ＣＲＣ検査は、物理層１７８よりも上にある１つ又はそれよりも多くの上部層１６０内に添付される。図示のように、物理層１７８は、少なくとも一部の実施形態では、下位層１６２が上部層１６０内で採用されたあらゆる上位エラー・リカバリー機構に関係なく下位エラー検出及び／又は訂正（エラー・リカバリー）を提供することを可能にするために、下位エラー・リカバリー機能（Ｅｒｒ  Ｒｅｃ）１９０及び１９２を含む。少なくとも１つの実施形態では、下位エラー・リカバリー機能（Ｅｒｒ  Ｒｅｃ）１９０及び１９２は、全体的又は部分的を問わず、エラーが発生したか否かを判断するために、バッファ（例えば、ＦＩＦＯバッファ）内にアプリケーションデータビットが一時的に記憶される前に又は記憶中に作動する。エラーが存在しない場合、アプリケーションデータビットは、ビットの部分集合への組立てのために上部層に放出される。ビットの部分集合は、「イーサネット」フレーム、メモリ装置のアドレスなどを表すことができる。特定的な実施形態では、物理層１７��とデータリンク層１７６の間の境界は、アプリケーションデータビットが組立てのためにバッファを出て上部層に向かう点となっている。
【００１７】
どの層が従来のエラー検出及び訂正を実行するかに関係なく、従来の上位エラー検出コードは、一般的に、ペイロードと類似の方法で送信される。しかし、本発明の様々な実施形態によれば、下位エラー検出コード及びペイロードは、パラレルのような異なる方法でライン復号化することができる。本明細書で使用される時、ペイロードという用語は、一般的に、アプリケーション層によって使用されるプログラム命令及び／又はプログラムデータを表すビットの集まり（すなわち、アプリケーションデータビット）を意味する。アプリケーションデータビットは、アプリケーションデータを構成し、従って、データビット転送を制御する制御コードを含まない。それに反して、検出コードは、データビット送信の信頼性を制御するのに使用されるので制御コードである。従って、様々な実施形態によれば、アプリケーションデータビットとエラー検出ビットの両方の一部分は、同時に又はほぼ同時にライン復号化される（かつライン符号化される）（特にアプリケーションデータビットとエラー検出ビットの両方の一部分を共に符号化してコード語を形成する場合）。一実施形態では、ライン復号器は、コード語を変換して復号化データビットを形成するように作動し、復号化データビットは、アプリケーションデータビットと物理インタフェース（ＰＩ）エラー検出ビットの両方を含むことができる。従来の上位エラー検出コードは、連続ビットの群（例えば、「イーサネット」フレームのためのＣＲＣ検査のビット）として送信され、通常、ライン復号器を通じてアプリケーションデータビットと類似の方法で上部層に渡されることに注意されたい。その結果、従来の上位エラー検出技術では、一般的に、コンピュータリソースを浪費して上位層でのエラー・リカバリーのために制御コードをライン復号化し、一方、本発明の少なくとも特定的な実施形態によれば、下位エラー検出コードは、物理層へ以外にはどこにも伝達される必要がない。
【００１８】
図２Ａは、本発明の一実施形態によりエラー・リカバリー・モジュールを実行して組込クロック及びクロック・リカバリーを使用する物理インタフェースで確実なデータ転送を提供する回路のブロック図である。図示の例においては、電子装置２００は、それぞれ、ＲＸエラー・リカバリー・モジュール（ＥＲＭ）２１２及びＲＸエラー・リカバリー・モジュール（ＥＲＭ）２３２から成る物理インタフェース２１０及び２３０を含む。尚、図２ＡではＴＸエラー・リカバリー・モジュールを含む物理インタフェースが割愛されているが、当業者は、このようなＴＸエラー・リカバリー・モジュールも実行することができるが機能性が逆であることを認めるべきである。一部の場合では、物理インタフェース２１０及び２３０は、例えば、入力／出力（Ｉ／Ｏ）リング２０２内の回路として形成される。Ｉ／Ｏリング２０２は、結合ワイヤのような導体を、信号をコア回路２０４に送信する集積回路のような外部信号発生源（図示せず）に結合する入力端子及び出力端子を含む。ＲＸエラー・リカバリー・モジュール２１２及びＲＸエラー・リカバリー・モジュール２３２は、コア回路に信号を送出するためにコア回路２０４に結合される。一部の実施形態で使用される時、コア回路という用語は、１つ又はそれよりも多くのコア機能を実行しかつ物理インタフェース２１０及び２３０を通じて入力を受信又は入力を送出するように構成することができるあらゆる種類の回路を意味する。一部の実施形態では、コア回路２０４は、知的財産（ＩＰ）コアから形成することができ、知的財産（ＩＰ）コアは、ハードウエア説明言語（ＨＤＬ）コード（例えば、「ＶＨＤＬ」又は「Ｖｅｒｉｌｏｇ」）で又はネットリストファイルとして表すことができる。従って、コア回路２０４は、携帯式であるので、物理インタフェース２１０及び２３０によって行われる下位層エラー検出及び訂正から恩典を受ける殆どの設計に容易に挿入することができる。一例として、コア回路２０４は、動的ランダムアクセスメモリ（ＤＲＡＭ）、マイクロコントローラ又はプロセッサ回路、又は物理インタフェースでのエラー検出及び訂正の実行から恩典を受けるようなあらゆる種類の回路のようないずれかの回路であると考える。有利な態様においては、下位エラー検出及び訂正は、コア回路２０４に対して透明である方法で作動する（すなわち、物理インタフェースエラー・リカバリーでは、エラー検出及び／又は訂正を提供するコア回路２０４のリソースが必要でなくてもよい）。
【００１９】
物理インタフェース２１０は、Ｎ＋ｍ個の符号化ビットを受信してライン復号器エラー検出器（ＬＤ／ＥＤ）２１４に入れ込むように構成されたシリアル物理インタフェースであり、ライン復号器エラー検出器（ＬＤ／ＥＤ）２１４は、Ｎ＋ｍ個の符号化ビットの全て又は一部を復号化してＮ個の復号化アプリケーションデータビットを形成するように構成される。「ｍ」の値は、符号化データビット数とアプリケーションデータビット数に基づくビット数の差を表している。例えば、８Ｂ／１０Ｂライン符号器は、２というｍを有し、２というｍは、差である。ライン復号器エラー検出器２１４は、符号化ビットをライン復号化し、次に、エラーが検出可能である場合はエラーを検出するように作動する。ライン復号器エラー検出器２１４がエラーを検出した場合、エラー訂正器（ＥＣ）２１６にエラー・リカバリー対策を講じるように指示する。一実施形態では、エラー訂正器２１６は、エラー表示信号２１８を外部ＩＣ又は装置に送信して、Ｎ＋ｍ個の符号化ビットを物理インタフェース２１０に再送信することなどによりエラーを解決することができるように外部ＩＣ又は装置に警告するように構成される。有利な態様においては、物理インタフェース２１０及び２３０は、コア回路２０４を修正することなく、エラー検出及び訂正をコア回路２０４に対して行うことにより、エラー検出又は訂正をコア２０４に統合するために必要とされるエンジニアリングリソースが保存される。別の実施形態では、エラー訂正器２１６は、エラーを訂正することができるように、エラー表示信号２２０をコア回路２０４に送信するように構成される。この場合、コア回路２０４は、アプリケーション特有の論理２４４を含んであらゆる検出エラーを訂正する。有利な態様においては、従って、コア回路２０４（又は他の場所）におけるアプリケーション特有の論理２４４によるエラー処理により、エラー検出及び訂正が可能になり、エラー訂正を容易にする送信ＩＣ又は装置（図示せず）が不要になる。それによって、特に、半導体パッケージに封入された場合、電子装置２００が必要とする信号導体及び／又はピンの数が最小限に抑えられる。更に別の実施形態では、物理インタフェース２１０のエラー訂正器２１６は、いずれかのエラー表示信号２１８又は２２０を送ることなくエラーを訂正することができる。例えば、エラー訂正器は、自動的にエラーを訂正する順方向のエラー訂正器技術を実行することができる。
【００２０】
次に、外部ＩＣが、例えばＤＲＡＭコントローラ（図示せず）であり、コア回路２０４が、ＤＲＡＭメモリであると考える。そこで、物理インタフェース２３０は、チップ間インタフェースとなって、エラー訂正後のアドレス及びデータをＤＲＡＭコントローラ及びＤＲＡＭメモリ（すなわち、コア回路２０４）間で交換することができ、その１つ又はそれよりも多くは、エラー検出及び訂正を提供するようには修正されない（機能的又は構造的に）。一部の実施形態では、物理インタフェース２１０及び２３０は、第１の基板上に形成され、第１の基板は、入力／出力（Ｉ／Ｏ）リング２０２を含む。コア回路２０４は、第２の基板上に形成される。第１及び第２の基板が別々のものである場合、物理インタフェース２１０及び２３０は、コア回路２０４から分離してパッケージ化することができる。しかし、同じ基板上に形成された場合、システムオンチップ（ＳＯＣ）の一部として形成することができ、かつ、単一のパッケージによって共に封入することができる。代替的な実施形態では、物理インタフェース２３０は、Ｎ＋ｍ個の符号化ビットを受信してＲＸエラー・リカバリー・モジュール２３２に入れ込み、次に、Ｎ＋ｍ個の符号化ビットの一部又は全てを復号化してＮ個の復号化アプリケーションデータビットを形成するように構成されたパラレル物理インタフェースである。図２Ａでは、説明する内容を簡素化するために、ＲＸエラー・リカバリー・モジュール２３２のライン復号器エラー検出器及びエラー訂正器の詳細は割愛されている。図２Ａは、着信データビット（すなわち、コア２０４のために着信）を着信方向に供給する物理インタフェース２１０及び２３０を示すものであることに注意されたい。上述と同じ物理インタフェースは、発信方向２９８のコア２０４からの発信データビット送信（図示せず）を提供することができる。シリアル物理インタフェース２１０及びパラレル物理インタフェース２３０のいずれも、着信データビットをライン復号化し、特に、その中の組込クロックを回復するように構成されることに注意されたい。他の実施形態では、シリアル物理インタフェース２１０又はパラレル物理インタフェース２３０のいずれか又は両方は、組込クロックではなく外部クロックを受信するように構成することができる。
【００２１】
図２Ｂは、本発明の一実施形態によりエラー・リカバリー・モジュールを実行して確実なデータ転送を外部クロックを使用する物理インタフェースにおいて行う図２Ａの回路の別のブロック図である。図２Ａのシリアル物理インタフェース２１０又はパラレル物理インタフェース２３０とは異なって、図２Ｂの電子装置２００は、外部クロック（Ｅｘｔ．ＣＬＫ）２７４を受信するように構成されたシリアル物理インタフェース２５０を含む。また、電子装置２００は、外部クロック（Ｅｘｔ．ＣＬＫ）２５４を受信するように構成されたパラレル物理インタフェース２７０を含む。両方の物理インタフェース２５０及び２７０は、外部クロック信号を受信することができるので、これらのインタフェースは、組込クロック技術を採用する必要がなく、従って、クロック・リカバリー回路を含む必要がない。従って、エラー・リカバリー・モジュール２５２及び２７２は、ライン復号器又はライン復号化処理の後に配置する必要がない。図２Ｂの要素は、各々、図２Ａの類似の付番を有する要素と同等の機能性及び／又は構造を有することができることに注意されたい。
【００２２】
図３は、本発明の特定的な実施形態によりエラーを検出しかつ任意的に訂正するように構成された物理インタフェースを示すブロック図である。物理インタフェース３００は、物理層（ＰＨＹ）ライン復号器３０２とエラー・リカバリー・モジュール３１０とを含み、エラー・リカバリー・モジュール３１０は、エラー検出ビット抽出器３１２、エラー検出器３１４、及びエラー訂正器３１６から成る。エラー検出ビット抽出器３１２は、少なくともＰＨＹライン復号器３０２と機能的に協働し、従って、図３においては、ＰＨＹライン復号器３０２内にあるように示されている。この例においては、ＰＨＹライン復号器３０２は、少なくとも、ビットストリームのＮ＋ｍ個の符号化ビット（すなわち、符号又はコード語）を受信し、かつ上述のビットの全て又は一部を復号化してＮ個の復号化アプリケーションデータビットを形成するように構成される。例えば、ＰＨＹライン復号器３０２は、１０個、１４個、２０個、６６個、又は１３０個の符号化アプリケーションデータビット（すなわち、「Ｎ＋２」ビット）を受信するように作動することができ、次に、それぞれ、上述のビットを復号化して８個、１２個、１８個、６４個、又は１２８個の復号化アプリケーションデータビット（すなわち、「Ｎ」ビット）を形成することができる。少なくともクロック・リカバリー及びＤＣ均衡化には、２つのビットが使用されてきた。様々な実施形態では、ＰＨＹライン復号器３０２は、あらゆる数の符号化データビットを受信し、次に、上述のビットをあらゆる他の数のアプリケーションデータビットに復号化するように作動することができる。例えば、ＰＨＹライン復号器３０２は、８０ビットの符号化データを復号化して６４個の復号化アプリケーションデータビットを形成することができる。
【００２３】
特定的な実施形態では、ＰＨＹライン復号器３０２は、Ｎ＋ｍ個のビットの部分集合であるＮ＋ｍ−１個の符号化ビットを復号化して、Ｎ個の復号化アプリケーションデータビットとＥ個のエラー検出ビットを生成する。次に、ビット抽出器３１２は、下位エラー検出のために１つ又はそれよりも多くの物理インタフェースエラー検出ビットを抽出する。例えば、エラー検出ビット抽出器３１２は、単一のビットをＮ＋ｍ個（例えば、１０個のビット）という数量から抽出してＮ＋ｍ−１個のビット（例えば、９個のビット）復号化ビットを生成することができるが、Ｎ＋ｍ−１個のビット（例えば、９ビット）復号化ビットは、Ｎ個の復号化アプリケーションデータビットとＥ個の復号化エラー検出ビットとを含む。従って、ＰＨＹライン復号器３０２は、Ｎ＋ｍ個のビットを受信し、かつライン復号化を提供するように構成され、それによってＮ個のアプリケーションデータビットと少なくとも１つのエラー検出ビットが得られる。有利な態様においては、ＰＨＹライン復号器３０２は、従来の１０Ｂ／８Ｂ復号器を補うか又は従来の１０Ｂ／８Ｂ復号器に取って代わるように実行することができるが、従来の１０Ｂ／８Ｂ復号器は、符号化ビットに対しては１０ビットという一般的に使用される符号サイズを使用し、復号化アプリケーションデータビットは、８ビットというビットサイズを有する。本発明の様々な実施形態では、ＰＨＹライン復号器３０２は、９番目のビット（すなわち、１０個の符号化アプリケーションデータビットと８個の復号化アプリケーションデータビットの間の差の２ビットの一方）を検査してエラーを検出する。適切なＰＨＹライン復号器３０２は、「ＮＢ／（Ｎ＋１）Ｂブロックコードに従ってデータを符号化又は復号化する方法及び機器、及びこのようなブロックコードを判断する方法」という名称の米国特許第６，７４７，５８０号で説明されているようなＮ＋１ビット／Ｎビット復号器であり、この特許の内容全体は、引用により全ての目的に対して組み込まれている。尚、図３は、ＰＨＹライン復号器３０２を示すが、当業者は、図３及び本明細書の他の場所で説明するのと逆の方法で作動するようにＮ個のアプリケーションデータビットとＥ個のエラー検出ビットとをＮ＋ｍ個の符号化ビットに符号化するＰＨＹライン符号器（すなわち、Ｎビット／Ｎ＋ｍビット符号器）を構成することができることを認めるべきである。
【００２４】
抽出後、エラー検出ビット抽出器３１２は、次に、物理インタフェース（ＰＴ）エラー検出ビット（ＥＤＢ）３１３をエラー検出器３１４に送り、エラー検出器３１４は、そのビットを使用してＮ＋ｍ個の符号化データビットが１つ又はそれよりも多くの誤ったデータビットを含むか否かを判断する。エラー検出器３１４は、いずれかの数のエラー検出技術及びコードに従ってエラーを検出するように構成される。一実施形態では、エラー検出器３１４は、偶数又は奇数パリティチェッカーとして構成され、物理インタフェースエラー検出ビットは、パリティビット（すなわち、偶数又は奇数のパリティビット）である。有利な態様においては、物理インタフェースエラー検出ビットは、復号化されるアプリケーションデータビットの部分集合と同時にＰＨＹライン復号器３０２で受信される。それによって、符号化データビットの群がＮ＋ｍ個のビットよりも遥かに大きいサイズを有する可能性がある場合は、エラー検出コードをその群の端部に添える従来のエラー検出技術と比較すると、ＰＨＹライン復号器３０２がエラー検出コードを受信するのに必要とされる時間量を低減することができる。別の実施形態では、物理インタフェースエラー検出ビットは、ＣＲＣ検査の一部（例えば、１ビット）である。この場合、送信物理インタフェース（図示せず）におけるエラー検出コード発生器は、物理インタフェースエラー検出ビットをＣＲＣ検査の一部として発生させるように構成される。図６で以下に説明するように、エラー検出コード発生器（又は均等物）は、ＣＲＣ検査のビットをＰＨＹライン符号器（図示せず）に供給することができる。ＰＨＹライン符号器は、物理インタフェースエラー検出ビットをＮ個の未符号化アプリケーションデータビットと共に挿入してＮ＋２個の符号化データビットを生成する。その結果、エラー検出器３１４は、Ｎ＋ｍ個の復号化データビットの各部分集合からの物理インタフェースエラー検出ビットを蓄積するか又は収集し、ＣＲＣ検査をエラー検出コードとして再構成するように作動する。例えば、ＰＨＹライン復号器３０２によって復号化される１０個の符号化ビットの各組に対して、ＣＲＣ検査の１ビットが８個の復号化アプリケーションデータビットの各組に対して物理インタフェースエラー検出ビットとして供給されると考える。１６ビットのＣＲＣ検査が実行された場合、８個の復号化アプリケーションデータビットの１６組毎に（すなわち、１２８ビット毎に）、エラー検出器３１４ＣＲＣは、１６０ビットＣＲＣ検査を再構成することができる。次に、エラー検出器３１４は、上述の１２８ビットからＣＲＣ検査を発生させ、次に、ＣＲＣ検査を再構成エラー検出コードと突き合わせてエラーが発生したか否かを判断する。エラー検出器３１４は、順方向エラー訂正のような他のエラー検出技術を実行することができる。順方向エラー訂正技術の例としては、「Ｒｅｅｄ−Ｓｏｌｏｍｏｎ」コード、「Ｈａｍｍｉｎｇ」コード、及び「Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ（ＢＣＨ）コードがある。
【００２５】
エラー検出器３１４がデータビット送信中にエラーが発生したと判断した状態で、このようなエラーが発生したことをエラー訂正器３１６に知らせる。一部の場合では、エラー訂正器３１６は、エラーが検出された復号化アプリケーションデータビットの再送信を要求するように作動する。先の例に続いて、１６ビットＣＲＣ検査の比較でエラーが１２８個の復号化アプリケーションデータビット内に存在することが分った場合、エラー訂正器３１６は、送信物理インタフェースが上述の１２８ビットを再度送るように要求することができる。他の場合には、エラー訂正器３１６は、アプリケーション特有の回路を起動させて、ユーザによって構成されたエラー処理を提供することができる。少なくとも１つの事例においては、エラー訂正器３１６は、上述のコア回路のような関連ＩＣを再初期化するなどの何らかの種類のデフォルトエラー訂正措置を講じることができる。
【００２６】
図４は、本発明の一実施形態によりエラー検出ビット挿入及び抽出を備えた送信器におけるライン符号化及び受信器におけるライン復号化を示す機能ブロック図である。図４００に示すように、送信器物理インタフェース（ＴＸ）４１０は、例えば、ＰＨＹライン符号器４１２と、エラー検出コード発生器４１６と、エラービット挿入器４１８と、エラー検出コード発生中にアプリケーションデータビットを維持する任意的なバッファ４２１とを含む。この例においては、エラー検出コード発生器４１６は、１６ビットＣＲＣ検査のようなバッファ４２１におけるアプリケーションデータビットに基づいて、エラー検出コードを発生させる。次に、エラービット挿入器４１８は、少なくとも１つのエラー検出ビット（ＥＤＢ）４１４を１６ビットＣＲＣ検査から選択し、次に、バッファ４２１からのＮ個のアプリケーションデータビットの発信組と共に挿入して９ビットを形成する。次に、ＰＨＹライン符号器４１２は、９ビットを１０個の符号化ビット（又は記号）に符号化する。一部の実施形態では、ＰＨＹライン符号器４１２は、１０個の符号化ビットに関するゼロＤＣオフセット及び／又は任意的なスペクトル特性を維持すると共に、上述の１０個の符号化ビット内に非同期クロックを組み込むような方法でエラー検出ビット４１４を符号化する。特定的な実施形態では、ＰＨＹライン符号器４１２は、米国特許第６，７４７，５８０号に定めるコード化技術に従って作動することにより、ＮビットのアプリケーションデータをＮ＋１個の符号化ビットに符号化する。例えば、Ｎが数字９であると考える。従って、ＰＨＹライン符号器４１２は、８Ｂ／１０Ｂコード化技術に関連したデータ転送速度に影響を与えることなく、８個のアプリケーションデータビットと１個のエラービット（すなわち、９ビット）とを１０個の符号化ビットに符号化することができる。図４において、Ｎは、あらゆる負以外の整数を表すことができることに注意されたい。
【００２７】
次に、送信器物理インタフェース４１０は、物理的媒体４２０を通じて符号化ビットを受信物理インタフェース（ＲＸ）４４０のエラービット抽出器４２２に送る。受信物理インタフェース（ＲＸ）４４０は、ＰＨＹライン復号器４２８と、エラービット抽出器４２２と、エラー検出コード再構成器４２６と、エラー検出器４３０と、比較器４３４と、エラーが検出されていないという復号化アプリケーションデータビット未決確認を維持することができるバッファ４３１とを含む。ＰＨＹライン復号器４２８は、１０個の符号化データビットを９個の復号化ビットに復号化し、９個の復号化ビットは、８個の復号化アプリケーションデータビットと１個の復号化エラー検出ビット（ＥＤＢ）４２４を含む。様々な実施形態では、ＰＨＹライン復号器４２８は、クロックデータリカバリー回路（図示せず）を含んで符号化アプリケーションデータビットと共に物理的媒体４２０で送信された組込クロックを回復する。エラービット抽出器４２２は、エラー検出ビット４２４を９個の復号化ビットから抽出してエラー検出コード再構成器４２６に供給し、エラー検出コード再構成器４２６は、他の物理インタフェースエラー検出ビットと共にエラー検出ビットを蓄積する。次に、エラー検出コード再構成器４２６は、元々エラー検出コード発生器４１６が発生させたエラー検出コードを再構成する。次に、エラー検出器４３０は、バッファ４３１におけるＮ個の復号化アプリケーションデータビットの群に基づいてＣＲＣ検査４３２を発生させる。比較器４３４は、ＣＲＣ検査４３２がエラー検出コード４２６に適応するか否かに関して比較するように作動することができる。適応した場合には、エラーがなく、適応しなかった場合には、エラーがある。
【００２８】
図５は、本発明の一実施形態に従ってセルとしてデータビットの群をライン符号化するフローの一例を示している。一部の実施例においては、送信器物理インタフェースは、フロー５５０に示すようにデータを送信することができ、それによってデータビットの群５６０は、セル（並びにフレームなど）と呼ぶことができる。セル５６０は、例えば、あらゆる数の制御ビット５６１（例えば、Ｘ個のビット）と、各々が６４ビットの２個のアプリケーションデータ語５６３とを含むことができる。物理層内でＰＨＹライン符号器の上方にある上部層装置（図示せず）は、セル５６０がＰＨＹライン符号器によって使用されるように、個別の組５６２のコード化されていない（すなわち、予めコード化されているか又はコード化されていない）ビットに分解するように構成することができる。各組５６２は、Ｎ個のビット（例えば、８ビット）を有する。エラー検出コード発生器（図示せず）は、例えば、セル５６０に基づいてエラー検出コード５７０を発生させ、エラー検出コードを１２ビットのＣＲＣとして形成する。次に、ＰＨＹライン符号器は、物理インタフェースエラー検出ビット（ＥＤＢ）５７２を組５６２内又は組５６２の近くでコード化されていないビットストリームに挿入し、Ｎ＋Ｅ個のビット（例えば、Ｎは、８ビットとすることができ、Ｅは、１ビットとすることができる）の組５７４を形成することができる。次に、ＰＨＹライン符号器は、シリアルデータリンクのようなデータリンク上で送信されるように、Ｎ＋Ｅ個のビットの各組５７２を１０ビットのコード語５８０（例えば、符号化データビット）に変換することができる。図示していないが、受信物理インタフェースでのＰＨＹライン復号器は、類似であるが逆に作動することになる。
【００２９】
図６は、本発明の少なくとも１つの特定的な実施形態により少なくとも再送信データビットによるエラー検出及び訂正を提供する物理インタフェースを示すブロック図６００である。物理インタフェース６０２及び６５２は、高速シリアル通信リンク６５０を通じて物理的接続性を提供する。物理インタフェース６０２は、送信されるデータビットを記憶するために先入れ先出しバッファ（ＦＩＦＯ）６０４のような記憶装置を含む。ＦＩＦＯ６０４は、例えば、データビットの群にわたってエラー検出コードを計算するために記憶データビットを維持する。一部の場合では、ＦＩＦＯ６０４は、エラーが発生した場合に再送信されるようにデータビットを記憶する。また、物理インタフェース６０２は、ＰＨＹライン符号器（ＰＨＹ符号器）６１０と、パラレルデータビットをシリアル化するシリアライザ（ＳＥＲ）６１２と、エラー検出コード発生器６１６と、送信器（ＴＸ）エラー訂正器６１８とを含む。特定の時間でのＦＩＦＯ６０４内のデータビットの群のコンテンツに基づいて、エラー検出コード発生器６１６は、ＣＲＣ検査のようなエラー検出コードを発生させる。エラー検出ビット挿入器６１４は、ＣＲＣ検査を分解し、Ｎ個の未符号化ビット６０６と共に物理インタフェースエラー検出ビット（ＥＤＢ）として少なくとも１つのビット（例えば、１つのＥビット）を挿入する。作動においては、ＰＨＹライン符号器６１０は、Ｎ＋Ｅ個のビットを符号化してＮ＋２個の符号化データビット６０８を形成する。次に、シリアライザ６１２は、リンク６５０での送信の前にＮ＋２個のデータビット６０８をシリアル化する。受信物理インタフェース６５２は、デシリアライザ６５４を含んでＮ＋２個のデータビットをパラレルデータビットに変換する。ＰＨＹライン復号器（ＰＨＹ復号器）６５６は、符号化ビットストリームを復号化して復号化データビットをＦＩＦＯ６５８に記憶する。エラー検出ビット（ＥＤＢ）抽出器６６０は、少なくとも１ビットを物理インタフェースエラー検出ビット（ＥＤＢ）６６２として抽出してエラー検出器６６６に送る。エラーコード再構成が完全である場合、エラー検出器６６６は、エラーが発生したか否かを判断するように作動する。エラー検出器６６６がエラーなしと判断した場合、更に別の処理のために復号化データビットを放出するようにＦＩＦＯ６５８に指示する。しかし、エラー検出器６６６がエラーを検出した場合、受信器（ＲＸ）エラー訂正器６６８に対してエラーの存在を表示する。一例においては、ＲＸエラー訂正器６６８は、ＴＸエラー訂正器６１８にリンク６５０を通じてコンテンツ又はその一部を再送信するように指示する要求６６９を送る。別の例においては、ＲＸエラー訂正器６６８は、エラーを処理する要求６７１をアプリケーション特有の回路（図示せず）に送ることができる。更に別の例においては、受信器エラー訂正器６６８は、順方向エラー訂正技術などを使用してエラーを訂正することができる。
【００３０】
図７は、本発明の少なくとも１つ特定的な実施形態によりライン復号化なしにエラー検出及び訂正を実行する代替的受信器を示している。受信器（ＲＸ）７００においては、送信器物理インタフェース（図示せず）は、リンク７０２を通じてデータビットを送る。エラービット抽出器７０４は、エラー検出データビット（ＥＤＢ）７０６をデータビットから抽出してエラー検出コード７０８を再構成する。図４の図４００とは異なって、受信器７００は、受信器４４０のようにはＰＨＹライン復号器を使用しない。従って、受信器７００は、クロック信号を組込クロックから回復する必要がない。図示のように、受信器７００は、外部クロック７０１を例えば送信装置（図示せず）から受信するように構成される。リンク７０２での送信の前に、例えばエラー検出ビットをアプリケーションデータビットに添えるのは、この送信装置である。受信器７００は、ＦＩＦＯ７２０内のアプリケーションデータビットの群に基づいて、検出コード、すなわち、この場合はＣＲＣ検査７２２を計算するために、エラー検出器７８０を含む。次に、比較器７２４（例えば、エラー検出器７２０において）は、送信エラーが発生したか否かを判断する。エラーが存在する場合、エラー訂正器７８０は、例えば、送信装置にデータビットを再送信するように要求するか又はエラーを訂正すべきであることをアプリケーション特有の論理に知らせることによって是正措置を講じることができる。
【００３１】
図８は、本発明の一実施形態によるエラー訂正器のブロック図を示している。エラー訂正器８００は、この例においては、エラー訂正器コントローラ８２２を含んでエラーを解決することができる１つ又はそれよりも多くの機能を制御し、特定の機能は、特定の用途に対してユーザによってプログラムされる。例えば、ビデオメモリ用途でのピクセルデータの損失は、他の用途におけるデータ損失ほど重要なものではない。従って、エラー訂正器コントローラ８２２は、以下のモジュールのいずれかを選択してエラー訂正を実行することができる。再送信要求モジュール８２４は、エラーを検出するとデータビットを再度送るために送信器物理インタフェース行きの要求を発生させる。アプリケーション特有のリカバリーモジュール８１４は、設計担当者によって指定されるような特注のエラー処理ルーチンを開始するようにアプリケーション特有の回路に知らせる。しかし、エラー訂正器コントローラ８２２は、エラーを検出すると、ＩＣを再度初期化するなどのデフォルトエラー・リカバリー技術を選択することができる。それによって両方の物理インタフェースは、既知の状態に再度初期化されることになる。様々な代替的な実施形態では、エラー訂正器８００は、周波数セレクタ８３０と、振幅セレクタ８４０と、コード化セレクタ８５０とを含むことができる。物理インタフェース間の通信リンク上の信号が行き詰った場合、周波数セレクタ８３０は、リンク上のデータ転送速度を調節してエラー率を低減することができる。代替的に、振幅セレクタ８４０は、エラー率が低減されるまで信号振幅を調整することができる。コード化セレクタ８５０を使用すると、リンクコード化を例えば１８Ｂ／２０Ｂから８Ｂ／１０Ｂに変更して、エラーが検出される時間を短縮することができる。例えば、３２ビットのＣＲＣがエラー・リカバリーに実行され、一度にＣＲＣの１ビットが送られると考える。１８Ｂ／２０Ｂでは、３２ビットのＣＲＣ（すなわち、８＊３２＝５７６ビット）を形成するのに５７６個のアプリケーションデータビット（８ビット）が必要であり、一方、８Ｂ／１０Ｂでは、２５６個のアプリケーションデータビットが必要である。従って、コード化セレクタ８５０は、通信チャンネルでエラーコード（例えば、ＣＲＣ）が送信される率を上げることができる。エラー訂正器コントローラ８２２は、これらのセレクタを個別に又は組み合わせて選択することができる。
【００３２】
説明を目的とした以上の説明では、本発明の徹底的な理解が得られるように特定の名称を使用した。しかし、本発明を実施するためには特定の詳細は必要ではないことが当業者には明らかであろう。実際に、以上の説明は、本発明の何らかの特徴又は態様を何らかの実施形態に限定するものとして読み取るべきではなく、むしろ、一実施形態の特徴及び態様は、他の実施形態と容易に交換することができる。例えば、様々な実施形態の以上の説明は、物理層ライン復号器に関連するが、説明した内容は、物理層ライン符号器及び全ての種類の通信リンク、並びに「ギガビットイーサネット」、ＨＤＭＩ、ＴＭＤＳ、ＤＶＩ、及びＳＡＴＡのような多くの種類の通信プロトコルに適用可能である。また、様々な実施形態は、電子装置間のポイントツーポイント通信、並びに１つの装置から多数の装置までのブロードキャストに適用可能である。以上の説明した内容の一部は、シリアルデータ通信に関連するものであるが、本発明の様々な実施形態をパラレルデータ通信にも適用することができる。
【００３３】
すなわち、本発明の特定的な実施形態の以上の説明は、例示及び説明を目的として示されたものである。網羅的であること又は本発明を開示した形態に正確に限定することを意図したものではない。明らかに、多くの変更及び変形が先の教示内容に鑑みて可能である。実施形態は、本発明の原理及びその実際的な用途を最も良く説明するために選択しかつ説明したものである。その結果、当業者は、考えている特定の用途に適するような様々な修正を行って本発明及び様々な実施形態を最良に利用することができる。明白なことであるが、本明細書で説明する全ての利点が本発明の各実施形態によって達成される必要はない。むしろ、どの特定的な実施形態も上述の利点の１つ又はそれよりも多くをもたらすことができる。特許請求の範囲及びその均等物が、本発明の範囲を規定するものとする。
【図面の簡単な説明】
【００３４】
【図１Ａ】本発明の少なくとも１つの特定的な実施形態によりエラー・リカバリー・モジュールを含んでエラーを検出する物理インタフェースを示すブロック図である。
【図１Ｂ】本発明の１つ又はそれよりも多くの実施形態によりデータリンク層ではなく物理層でエラー検出を提供するように実施されるエラー・リカバリー・モジュールを示す図である。
【図２Ａ】本発明の一実施形態により組込クロック及びクロック・リカバリーを使用する物理インタフェースで確実なデータ転送を提供するためにエラー・リカバリー・モジュールを実施する回路のブロック図である。
【図２Ｂ】本発明の一実施形態により外部クロックを使用する物理インタフェースで確実なデータ転送を提供するためにエラー・リカバリー・モジュールを実施する図２Ａの回路の別のブロック図である。
【図３】本発明の特定的な実施形態によりエラーを検出して任意的に訂正するように構成された物理インタフェースを示すブロック図である。
【図４】本発明の一実施形態によりエラー検出ビット挿入及び抽出を備えたライン符号化及びライン復号化を示す機能ブロック図である。
【図５】本発明の一実施形態に従ってセルとしてデータビットの群をライン符号化する例示的なフローを示す図である。
【図６】本発明の少なくとも１つの特定的な実施形態によりデータビットを少なくとも再送信することによってエラー検出及び訂正を提供する物理インタフェースを示すブロック図である。
【図７】本発明の少なくとも１つの特定的な実施形態によりライン復号化なしにエラー検出及び訂正を実施する代替的受信器を示す図である。
【図８】本発明の一実施形態によるエラー訂正器のブロック図である。
【符号の説明】
【００３５】
１００  物理インタフェースを示すブロック図
１０１、１２１  電子装置
１０６  ライン符号器
１１０  物理的媒体
１２６  ライン復号器
【図１Ａ】
2007267392.tif 000003
【図１Ｂ】
2007267392.tif 000004
【図２Ａ】
2007267392.tif 000005
【図２Ｂ】
2007267392.tif 000006
【図３】
2007267392.tif 000007
【図４】
2007267392.tif 000008
【図５】
2007267392.tif 000009
【図６】
2007267392.tif 000010
【図７】
2007267392.tif 000011
【図８】
2007267392.tif 000012
【外国語明細書】
2007267392.tif 000013
2007267392.tif 000014
2007267392.tif 000015
2007267392.tif 000016
2007267392.tif 000017
2007267392.tif 000018
2007267392.tif 000019
2007267392.tif 000020
2007267392.tif 000021
2007267392.tif 000022
2007267392.tif 000023
2007267392.tif 000024
2007267392.tif 000025
2007267392.tif 000026
2007267392.tif 000027
2007267392.tif 000028
2007267392.tif 000029
2007267392.tif 000030
2007267392.tif 000031
2007267392.tif 000032
2007267392.tif 000033
2007267392.tif 000034
2007267392.tif 000035
2007267392.tif 000036
2007267392.tif 000037
2007267392.tif 000038
2007267392.tif 000039
2007267392.tif 000040
2007267392.tif 000041
2007267392.tif 000042
2007267392.tif 000043
2007267392.tif 000044
2007267392.tif 000045
2007267392.tif 000046
2007267392.tif 000047
2007267392.tif 000048