JP2010011454A - 符号化方法、システム及びコード - Google Patents

符号化方法、システム及びコード Download PDF

Info

Publication number
JP2010011454A
JP2010011454A JP2009147787A JP2009147787A JP2010011454A JP 2010011454 A JP2010011454 A JP 2010011454A JP 2009147787 A JP2009147787 A JP 2009147787A JP 2009147787 A JP2009147787 A JP 2009147787A JP 2010011454 A JP2010011454 A JP 2010011454A
Authority
JP
Japan
Prior art keywords
receiver
sequence
code
length
bit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009147787A
Other languages
English (en)
Other versions
JP4981102B2 (ja
Inventor
Debendra Das Sharma
ダス シャーマ デベンドラ
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of JP2010011454A publication Critical patent/JP2010011454A/ja
Application granted granted Critical
Publication of JP4981102B2 publication Critical patent/JP4981102B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • G06F13/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • 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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0079Formats for control data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03828Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties
    • H04L25/03866Arrangements for spectral shaping; Arrangements for providing signals with specified spectral properties using scrambling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】エラー検出機能を改善し且つ低電力状態に関して低オーバーヘッドを保ちながら、物理層が数個の選択ビットを見ることによってパケット境界を識別することを可能にする。
【解決手段】物理層に関して8b/10b符号化のオーバーヘッドを除くことによって、符号化スキームは、現在の8b/10b符号化よりも優れたエラー検出能力を達成する。更に、この新規の符号化スキームは、付加的なエラー検出機能と、低電力状態から抜け出すための低オーバーヘッドメカニズムと、問題のあるパケットを扱うためのメカニズムとを提供する。
【選択図】図2

Description

本願は、シリアルリンクでの符号化に関し、より具体的には、8b/10b符号化方法に対する改善に関する。
PCI(Peripheral Component Interconnect)エクスプレス(PCIe)等の幾つかのシリアル相互接続は、8b/10b符号化スキームを使用する。このスキームは、通信で10ビットを用いて、8ビットの意味のあるデータを表す。8b/10b符号化スキームは、受信側がインバウンド・パケットを捕らえる(clock)ことができるように十分な1から0及び0から1への遷移密度を確保するよう設計される。それは、符号化に起因するバンド幅での20%のロス、及び送信性能での25%のロスである。
正及び負の両方のディスパリティ(disparity)に関して2個の可能なデータパターンを符号化することに加えて、10ビット符号化は、フレーム境界の決定等の様々な目的のために使用される幾つかの制御キャラクタ(Kコードとしても知られる。)をカバーする。これらは、パケット切り出し(packet delineating)Kコード及びレーンストリームKコードとして幅広く分類され得る。パケット切り出しKコードはパケットの開始又は終了を表す(例えば、STP、SDP、END、EDB)。他方で、レーンストリームKコードは、レーンごとに独立して使用され、また、リンクトレーニング(link training)(トレーニングセットTS1/TS2)の間に使用される順序集合、電気的遊休状態エントリ/終了シーケンス(夫々、EIOS及びEIES)、又は個別クロックモード(distinct clock mode)で100万分の1(ppm)の差異を許容するために使用される周期スキップキャラクタ(SKP)順序集合について使用される。レーンストリームKコードの1つ(COM)は、バイト配列を一意に識別するために使用され、また、ビットスリップ又はアッド等のエラーから回復するために使用される。ビットスリップ/アッド等のエラーによるバイト配列のロスを含む複数のビットエラーからの最終的な回復を保証することに加えて、8b/10bは、(CRCとともに)如何なる単一ビットフリップエラーに対しても保証された検出を可能にする。
シリアルリンクに基づく実施が偏在化し、これらの実施の周波数が高まり続けるにつれて、効率的な符号化は、ロー(raw)バンド幅の大部分を取り出すことにとって欠かせないものとなる。
8b/10b符号化を置換することは危険がないわけではない。新しいスキームの信頼性の課題は解決される必要がある。如何なる新しいスキームも、ある所定数のビットフリップエラーの検出、及び(複数のビットエラー、ビットスリップ等を含む)他のエラータイプからの最終的な回復を保証する既存のエラーモデルを保証することができなければならない。
更に、周波数が高まるにつれて(例えば、8GT/sでのPCIe3.0)、如何なる新しい符号化スキームによっても対処される必要がある他のエラータイプが現れる可能性がある。例えば、DFEs(Decision Feedback Equalizers)を使用する受信器設計が考えられるべきである。DFEsは、ビットパターンに従い不正な後続ビットとして単一のビットフリップを見ることができる。既存の8b/10bスキームでさえ、このようなエラーを検出することができないことがある。よって、既存の誤りモデルを維持することに加えて、どのレーンにおいてもビットのスライドウィンドウ内で複数のビットエラーを許容することが極めて望ましい。
シリアルリンク及びパラレルリンクの両方の特性を有するシリアルリンク(例えば、データバイトがマルチレーンリンクで複数のレーンにわたってストライプ化されるPCIe)に関して、64/66等の既存の解決法は効果がない。提案されるスキームは、これらの問題の幾つに対処する。
本開示の実施例によれば、デコーダを有する受信器と、送信器を前記受信器へ結合するシリアルリンクとを有し、前記シリアルリンクを介して前記受信器によって受信されるコードは、2つの有効な状態のうち一方を有する2ビットプレフィックスと、所定ビット長のシーケンスとを有し、前記コードは、前記受信器が入来データを識別することを可能にする、システムが提供される。
本開示の更なる実施例によれば、シリアルリンクを介して受信器によって、2ビットプレフィックス及び所定ビット長のシーケンスを有し、前記受信器が前記シリアルリンクへ結合されている送信装置と同期することを可能にするコードを受信する段階と、前記受信器によってブロックロックを得る段階と、前記2ビットプレフィックスが第1の所定値を有する場合に、前記所定ビット長のシーケンスの第1バイトを占有するペイロードタイプシンボルを読む段階とを有し、前記コードは、前記2ビットプレフィックスが第2の所定値を有する場合に電気的遊休状態エントリ信号又は電気的遊休状態終了信号を有する、符号化方法が提供される。
本開示の更なる実施例によれば、シリアルリンクで8b/10b符号化を置換するコードであって、電気的遊休状態終了シーケンス及び電気的遊休状態エントリシーケンスのいずれかを示す第1の値と、遊休状態シーケンス、データリンク層パケット、又はトランザクション層パケットのいずれかを示す第2の値とを有する2ビットプレフィックスと、前記2ビットプレフィックスの値に基づく一意のビットを有する所定ビット長のシーケンスとを有し、前記シリアルリンクの一端へ結合されている受信器が、前記シリアルリンクの他端へ結合されている送信装置と同期することを可能にするコードが提供される。
エラー検出機能を改善し且つ低電力状態に関して低オーバーヘッドを保ちながら、物理層が数個の選択ビットを見ることによってパケット境界を識別することを可能にする。
実施例に従う符号化スキームを用いるシステムのブロック図である。 実施例に従って図1の符号化スキームによって使用されるプレフィックス及び128ビットシーケンスを含む(130,128)コードのブロック図である。 実施例に従って図1の符号化スキームによって処理される4つのペイロードタイプ及びそれらの長さのブロック図である。 実施例に従って図1の符号化スキームによって使用されるトランザクション層パケットレイアウトのブロック図である。 実施例に従ってブロックロックを得るよう図1の符号化スキームによって実行される動作を示すフロー図である。 実施例に従ってパケットを処理するよう図1の符号化スキームによって実行される動作を示すフロー図である。 実施例に従って図1の符号化スキームによって使用されるデータリンク層パケットレイアウトのブロック図である。 実施例に従ってパケットを処理する前に図1の符号化スキームによって実行される更なる動作を示すフロー図である。
上記の態様及び本開示の付随する利点の多くは、添付の図面とともに以下の詳細な記載を参照することによってより良く理解されると同時に、より容易に明らかになるであろう。図中、同じ参照符号は、別な方法で特定されない限り、同じ部分を表す。
ここに記載される実施例に従って、新規の符号化方法が開示される。この方法は、エラー検出機能を改善し且つ低電力状態に関して低オーバーヘッドを保ちながら、物理層が数個の選択ビットを見ることによってパケット境界を識別することを可能にする。物理層に関して8b/10b符号化のオーバーヘッドを除くことによって、符号化方法は、現在の8b/10b符号化よりも優れたエラー検出能力を達成する。更に、この新規の符号化方法は、付加的なエラー検出機能と、低電力状態から抜け出すための低オーバーヘッドメカニズムと、問題のあるパケットを扱うためのメカニズムとを提供する。
以下の詳細な記載では、添付の図面が参照される。図面は、一例として、本発明が実施され得る実施形態を示す。なお、当然のことながら、本開示を読むことで、他の実施形態が当業者に明らかになるであろう。例えば、ここに記載される実施例はPCIエクスプレスを参照する。しかし、潜在的な開示技術は、如何なるシリアルリンクへも拡張されてよい。従って、以下の詳細な記載は限定の意味で解釈されるべきではなく、本発明の適用範囲は特許請求の範囲によって定義される。
図1は、実施例に従う符号化スキーム100を用いるシステム200の略ブロック図である。システム200は、シリアルリンク80を介して通信する送信器40及び受信器50を有する。シリアルリンク80は、送信器40と受信器50との間の有線又は無線の接続であってよく、また、1又はそれ以上のレーンを有してよい。符号化スキーム100は(130,128)コード90を用いる。(130,128)コード90については、後で更に説明する。送信器40はエンコーダ20を有する。エンコーダ20は、開示される符号化スキーム100を実行する。送信器40は、更に、スクランブラ30を有する。受信器50はデコーダ60を有する。デコーダ60も符号化スキーム100を実行する。受信器50は、更に、デスクランブラ70を有する。符号化スキーム100は、先行技術の周知の8b/10b符号化スキームに取って代わる。
開示される符号化スキーム100は、エラー検出機能を改善し且つキラーパケットを回避すべく様々な技術を使用し、また、より良い信頼性を達成すべくリンクトレーニングの様々な部分に関してスクランブル化されているシンボル及びスクランブル化されてないシンボルの混合を用いる。8b/10b符号化を置換することによって、或る実施例で、符号化スキーム100はシリアルリンク80の有効なバンド幅を増大させる。これは現在の8b/10b符号化スキームに対して性能を高めるのみならず、符号化スキーム100は電力削減をもたらす。これは、電力がリンクでのロー(raw)ビットに直接に結び付けられるためである。既存の誤りモデルを維持することに加えて、提案される符号化スキーム100は、どのレーンにおいてもビットのスライドウィンドウ内で複数のビットエラーを許容する。
或る実施例で、符号化スキーム100は、ほとんどの場合についてシリアルリンク80の各レーンをカバーすべく(130,128)タイプのコード90を用いる。異なる符号化スキームがより良い効率のために使用され得る場合には、例外がありうる。例えば、低電力状態の終了において、符号化スキーム100は、受信器を起こし、ビットロックを達成し、次いで、(130,128)フォーマットで通常のトラフィックを送信する前にレーン・ツー・レーン・デスキュー(lane-to-lane deskew)を行うために、単にロービットを送信することができる。機能(受信器の起動、ビットロック、レーン・ツー・レーン・デスキュー)の夫々は、符号化オーバーヘッドを払うことなく一意のパターンを送信することによって達成され得る。
(130,128)コード90は、先行技術の64/66コードの変形であるが、異なる方法で使用される。エンコーダ20(送信器40)で、(130,128)コード90はリンク80を介して送信され、これにより、受信器50は入来データの開始を識別することができる。よって、デコーダ60(受信器50)は、リンク80で(130,128)コード90を探す。(130,128)コード90は、また、トレーニングシーケンスとしても使用され、送信器40及び受信器50がそれら自身を同期させることを可能にする。
4つの幅広いタイプのペイロード、すなわち、トランザクション層パケット(TLPs)、データリンク層パケット(DLLPs)、遊休状態(パケットなし)(IDLE)、及び順序集合(ordered sets)が存在する。TLPsは可変長のペイロードを有する。DLLPsは8バイトの固定長のペイロードを有する。IDLEは1バイトの固定長のペイロードを有する。順序集合は、リンク80のレーンごとに確立される可変長のペイロードを有する。示されるように、以下、任意にトレーニングシーケンスであることに加えて、(130,128)コード90は、論理IDL、トランザクション層パケット(TLP)又はデータリンク層パケット(DLLP)であってよい。
実施例に従って、(130,128)コード90は図2に表される。(130,128)コード90の最初の2ビット22、すなわち、同期ヘッダ22は、01の2値、すなわち、01b又は10bのいずれかである(図2では“10b”として示されている。)。ビットシーケンス“10b”は、ペイロードがスクランブル化されない或る特別のパケット又は順序集合のためのプレフィックスとして使用される。1つの例は、PCIeでの電気的遊休状態終了シーケンス(EIES(Electrical Idle Exit Sequence))である。これは、低周波コンテンツを用いて動作する。或る実施例で、EIESの128ビットペイロードは、8個の0の連続であってよい。示されるように、最初の2ビット22(01b又は10b)の後には、8個の0、それに続く8個の1の連続24が、8回繰り返される。
このように、(130,128)コード90の提案される符号化は、実施例に従って、図に表される2ビットプレフィックス22及び128ビットシーケンス24、計130ビットを有する。低周波パターンを維持するよう、プレフィックス22の最初の2ビット(01b又は10bのいずれか一方)はスクランブル化されず、また、シーケンス24の128ビットはスクランブル化されない。
或る実施例で、シーケンス24は、また、スクランブル化されないために、異なる目的を果たす。シーケンス24は、周期的に回復状態において送信され、よって、如何なるビットスリップ又はアッドタイプエラーも検出するために使用され、結果としてバイト配列のロスをもたらす。受信器50が(例えば、バイト配列のロスに起因して)見失われる場合に、最終的に、リンク80は回復状態へ至ることが予想される。周期的冗長チェック(CRC)(又は他のエラー保護スキーム)が機能せず、あるいは、或る他のフレームエラー(例えば、パケットの無効な開始を得ること。)が起こり、あるいは、相手が期待される確認応答を得ず、リンク80を再同期するよう回復状態へ至らせる。回復状態で1度は、リンク80は特定のタイプのトレーニングシーケンスを得ることを期待する。回復状態でのリンク80の各レーンは、EIESで一意の130ビットパターンを探す。回復状態で、有限数の可能なトレーニングシーケンスを有して、(ビットフリップを伴わない)最大限のビットスリップですら、EIESパターンの一意性に起因して、非EIESパターン(例えば、シーケンス24)をEIESパターンに類似させない。
EIESは、また、スクランブラ30又はデスクランブラ70の線形フィードバックシフトレジスタ(LFSR)をリセットするために使用され得る。たとえ符号化スキーム100が複数の目的のために同じEIESパターンを再利用するとしても、当業者には明らかなように、同じ効果は、低周波パターンの対象の夫々について異なる非スクランブル化パターンを有し、ブロックロックを得、(デ)スクランブラをリセットすることによって、達成され得る。
(130,128)コード90が01bのプレフィックスを備えている場合に、或る実施例では、他のタイプのペイロードが送信される。例えば、論理IDLトランザクションや、10bプレフィックスとともに送信されるものとは異なる幾つかの順序集合が挙げられる。かかるプレフィックスを伴う128ビットペイロードは、スクランブル化されてよい。或る実施例で、スクランブル化されている128ビットペイロードの中で、受信器50及び送信器40は、パケット境界及びレーンストリーム境界を一意にやり取りする。
或る実施例で、符号化スキーム100は、パケット境界を線引きするパケット化スキームを用いる。パケットは、(130,128)コード90で“01b”プレフィックスとともに送信される論理IDL、トランザクション、又は順序集合として定義されて良い。ペイロードの最初の(8ビット)シンボルは、どのようなペイロードが続くかを示し、また、どこで次のパケットが始まるかを指し示すのに役立つ。図3は、ペイロードの8ビットペイロードタイプシンボル32、更に、知られている場合には、期待される長さ34の1つの可能な符号化を示す。他のシンボルシーケンスは、一意のシンボルが夫々のペイロードタイプについて定義される限り使用されてよい。ペイロードの最初のシンボルを見ることによって、受信器50は、どのようなペイロードが送信されているのかを把握する。
受信器50がペイロードタイプシンボル32で送信DLLPペイロード(SDP)又はIDLEペイロードを得る場合は、ペイロード長34は先験的に知られている(夫々、8バイト及び1バイト)。他方で、送信TLPペイロード(STP)がペイロードタイプシンボル32で送信されている場合は、受信器50は、どこでパケットが終わるかを判断する。これにより、次のパケットの最初のシンボルが得られる。順序集合ペイロードについてここでは論じられない。受信器が最初のシンボルでこれら4つのペイロードタイプ32以外の何かを得る場合は、或る実施例で、受信器50は、エラーを報告し、リンク80を回復に至らせる。この符号化スキーム100は、トリプル・ビットフリップのエラーの保証された検出をもたらす。
或る実施例で、受信器50が送信トランザクション層パケット(STP)を検出する場合は、受信器は、TLPの長さを把握すべく次の数バイトにより後続ビットを調べる。TLPペイロードは可変長であるから、この計算は、次のパケットの開始バイト位置(バイト0)を決定するのに役立つ。図4は、実施例に従うトランザクション層パケットレイアウト36のブロック図である。PCIeで、ペイロードの長さは、複数のフィールド、すなわち、長さフィールド46(length[9:0])、フォーマットフィールド44(fmt[1,0])及びTLPダイジェスト(TD)フィールド48の関数である
或る実施例で、ダブルワードでTLPペイロードの長さを得る式は、下記の通りである:
tlp_length[10:0]=(Fmt[1]の場合にlength[9:0];その他の場合に0)+
5(3ダブルワードヘッダについて、リンクレベルCRC、STP及びEND/EDB)+
(Fmt[0]が1である場合に1;その他の場合に0)(1の場合に4ダブルワードヘッダを表す)+
(TDが1である場合に1;その他の場合に0)(エンド・ツー・エンドCRCを表す)
ペイロード長を決定するために使用されるTLPフィールドは、或る実施例で、所望のエラー補償範囲に依存して、CRCフィールドによって保護される。たとえパケット自体がCRC保護を受けることができるとしても、“長さ”を形成するフィールドでのビットエラーは、結果としてパケット境界を誤りバイトで終わらせ、これにより、誤りビットは、フレーミングが起こる場合にCRCとして取られる。これは、CRCが許容することができるものより少ないエラーが得られる場合でさえエイリアシングを引き起こしうる。
この問題を回避するよう、或る実施例で、符号化スキーム100は、“長さ”に寄与するフィールドを保護する別個のCRCを用いる。この別個のCRCは、TLPの固定ビット位置に配置され、受信器50が毎回CRCを取り出すことを可能にする。このように、この例では、長さに寄与する全てのフィールド及びそれらをカバーするCRCは固定された位置にある。
或る実施例で、図4に表されるように、符号化スキーム100は、CRC情報の4つのビット42を保持するために、予め留保されていた3バイトの最後の4ビットを定義する。かかるビット(CRC[3:0])42は、トランザクション層パケットの長さ情報を含む13ビットフィールドのCRCを保持するために使用される。このように、CRCビット42は、TLP36の長さを計算するために必要とされる情報として、上述される2ビット情報44、10ビット長46、及び1ビットTLPダイジェスト(TD)48のCRCを取る。CRC[3:0]42は、4ビットウィンドウ内の如何なる数のエラーも検出されることを確かにするよう4次の原始多項式を保持する。他の実施例では、改善された検出のために、より多くのビットがCRCに使用される。
PCIエクスプレスは、パケットの終了を知らせるEND(又は不良パケットのためのEDB)のためのバイトを定義する。これは、パケットの内容を調べることなく、物理層がパケットの終了を知らせる明確なデリミタ(delimiter)を有するように行われる。符号化スキーム100も、TLP36の終了を知らせるEND/EDBのためのバイトを定義する。このように、図4に示されるように、提案されるトランザクション層パケットレイアウト36は、END/EDBパリティバイト52のために最後に8ビットを有する。
より良いエラー補償範囲を達成するために、符号化スキーム100は、最後のバイトが良好な終了(END)である場合に、トランザクション層パケットにある全てのバイトのバイト毎排他的OR(XOR)を送信するためにエンドバイト位置を用いる(n−2を通して1バイト。nはバイトでのパケットの長さである。)。或る実施例で、バイトが送信/受信をされる場合に、それらは夫々の送信器40/受信器50のメモリに格納される。
代わりに、不良パケットに起因して、最後のバイトが不良バイト(EDB)である場合は、n−2を通して1つの、バイトのバイト毎排他的NOR(XNOR)がトランザクション層パケット36で計算される。受信器50は、(エンドバイト位置を含む)トランザクション層パケット36でn−1を通して1つの、バイトのバイト毎XORを行う。オール0の結果は、物理層の立場から正常終了を知らしめる(LCRCチェックはリンク層で起こり、他のトランザクションレベルチェックはトランザクション層で起こる。)。オール1の結果は正常EDBを知らしめる。如何なる他の値もビットエラーを示し、これより、フレームエラーが知らされ、リンクは回復モードに入る。バイト毎XORにより、符号化スキーム100は、7ビットウィンドウ内で如何なる数のビットのエラー検出も提供する。オール1は有効な符号化であるから、符号化スキーム100は、8ビットウィンドウ内で多数のビットエラーのための補償範囲を得ない。当業者には明らかなように、提案されるEND/EDBは、如何なる数のビットへも拡張され得、バイト毎パリティに代えて、CRC等の如何なるスキームも使用することができる。
図5は、実施例に従ってブロックロックを得る処理を示すフロー図である。符号化スキーム100は、下記のイベント、すなわち、リンクがフレーミングを見失うこと、エラーが見つけられること、回復シーケンスが受信されること、及び回復/トレーニングにあること、のいずれかが起こっているかどうかを判断するクエリから開始する(ブロック102)。いずれのイベントも起こらない場合は、イベントのうち1つが行われるまでアクションは起こされない。いずれかのイベントが行われた時点で、符号化スキーム100は、シリアルリンク80が回復又はトレーニングにあるかどうかを判断する(ブロック104)。もしそうであるならば、回復への直接リンクが作られる(ブロック106)。リンクが失われる場合に、回復への直接リンクが生ずる。受信器50は回復状態となり、ブロックロックを取り戻し、再び開始する。シリアルリンク80が回復又はトレーニングにない場合は、回復への直接リンクは作られない。
或る実施例で、受信器50は、自身がブロックロックを得ているかどうかを表すために、ブロックロック取得パラメータを用いる。この時点で、受信器50は、ブロックロック取得パラメータをFALSEに設定する(ブロック108)。次に、符号化スキーム100は、図2の(130,128)コード90のような130ビットレジスタへとビットをシフトインする(ブロック110)。これは、130バイトフィールドを介してブロックロックを得るために使用される。130ビットレジスタが電気的遊休状態終了シーケンス(EIES)を探す(ブロック112)場合は、ブロックロック取得パラメータがTRUEに設定され且つ130ビットレジスタが前の境界と合致しないかどうかを確かめるべく確認が行われる(ブロック114)。130ビットレジスタがEIESでない場合は、符号化スキーム100は、ブロックロック取得パラメータがTRUEに設定されるかどうかしか確認しない(ブロック120)。
取得されたブロックロックがTRUEであって且つ130ビットレジスタが前の境界と合致しない場合(ブロック114の“Y”の先)は、ブロックロック取得パラメータはTRUEに設定され(ブロック124)、ブロックロック境界は符号化スキーム100によって再確立され(ブロック126)、進行中である順序集合はエラーで終了する(ブロック128)。
一方又は両方のクエリが肯定でない場合(ブロック114の“N”の先)は、ブロックロック取得パラメータはTRUEに設定され(ブロック116)、ブロックロック境界は確立される(ブロック118)。次に、ブロックロック取得パラメータがTRUEであるかどうかのクエリが行われる(ブロック120)。TRUEでない場合は、130ビットレジスタへの他のシフトイン・ビットが行われる(ブロック110)。ブロックロック取得パラメータがTRUEである場合(ブロック120の“Y”の先)は、適切な数のビットが受信器50へ転送される(ブロック122)。
進行中のいずれかの順序集合がエラーで終了する(ブロック128)か、又は適切な数のビットが受信器コア50へ転送された(ブロック122)後に、通常動作へリンクし直すべきかどうかのクエリが行われる(ブロック130)。通常動作へリンクし直されるべき場合は、符号化スキーム100の動作は開始から繰り返される(ブロック102)。あるいは、そうでない場合は、130ビットレジスタへの他のシフトイン・ビットが行われる(ブロック110)。
図6は、実施例に従ってトランザクション層パケットを処理するシステム200内の符号化スキーム100(図1)の動作を示すフロー図である。図5は、エラーからの回復又は単なる開始のいずれであるかに関わらず、ブロックロックを得る処理を示したが、図6は、リンク80がトランザクションを伝送したことでブロックロックが確立された後の正常なパケット処理を示す。フロー図は、システム200で送信器40から発せられたパケットを処理する受信器50(図1)の動作を表す。処理は、リンクが作動し且つ順序集合が受信されなくなるまで始まらない(ブロック202)。リンクが作動し且つ順序集合が受信されなくなると、同期ヘッダ22が読み出され、それが01bであるかどうかが判断される(ブロック204)。(130,128)コード90が01b、論理IDL、トランザクション層パケット、及び順序集合等のペイロードを備える場合を思い出す。同期ヘッダ22が01bではないが10bである場合は、パケットは順序集合であり、上述されているように処理される(ブロック206)。そうでない場合は、残りの128ビット(16バイト)24はスクランブル化を解かれる(ブロック208)。
次に、128ビット24の最初のシンボルが論理IDL(LIDL)であるかどうかのクエリが行われる(ブロック210)。最初のシンボルがLIDLである場合は、更なる処理は行われず、よって、符号化スキーム100は最初に戻る(ブロック202)。最初のシンボルがLIDLでない場合は、その最初のシンボルはデータリンク層パケット(DLLP)の開始であるかどうかの新たなクエリが行われる(ブロック212)。最初のシンボルがDLLPの開始である場合は、次の6バイトが処理のために転送され、バイトパリティが計算される(ブロック214)。DLLPパケットが8バイトの固定長を有することを思い出す。そのようなものとして、最終バイトは常に8番目のバイトである。然るに、8番目のバイトは、それがDLLPの計算されたパリティと合致するかどうかを見るために確認される(ブロック216)。8番目のバイトがDLLPの計算されたパリティと合致する場合は、処理は終了し、制御は最初に戻る(ブロック202)。
計算されたパリティが8番目のバイトで保持されている値と合致しない場合(ブロック216の“N”の先)は、不一致を有するバイト/レーンが記録され(ブロック218)、回復への直接的リンクが作られる(ブロック220)。
最初のシンボルがDLLPの開始でない場合(ブロック212の“N”の先)は、符号化スキーム100は、最初のニブルがトランザクション層パケット(TLP)の開始であるかどうかを判断する(ブロック222)。最初のニブルがTLPの開始である場合は、符号化スキーム100は、TLPレイアウト36(図4)からCRCビット42を得、その4ビット値を、フォーマットフィールド44、長さフィールド46、及びTLPダイジェストフィールド48で得られる値と比較する(ブロック224)。一致が見つけられる場合は、パケット全体が、処理のために受け取られるように転送され、一方、符号化スキーム100はバイトパリティを計算する(ブロック226)。一致が見つけられない場合は、回復への直接的リンクが作られる(ブロック220)。パリティが計算されると、それは、128ビットシーケンスの最終バイトで保持されている値と比較される(ブロック228)。最終バイトが計算されたパリティと等しい場合は、最後のバイトは有効なENDバイトを構成する(ブロック230)。最終バイトが計算されたパリティの逆数である場合は、不良END(EDB)が見つけられる(ブロック230)。最終バイトが計算されたパリティ又はその逆数のいずれでもない場合は、そのシーケンスのための処理は終了し、制御は最初に戻る(ブロック202)。
最初のニブルがTLPの開始でない場合(ブロック222の“N”の先)は、符号化スキーム100は、最初のシンボルが順序集合を表すかどうかを判断する(ブロック232)。最初のシンボルが順序集合を表す場合は、順序集合は、それらが正確なフォーマッを有する場合に転送される。正確なフォーマットを有さない場合は、エラーが記録され、リンクは回復へ至るよう向けられる(ブロック234)。最初のシンボルが順序集合でない場合(ブロック232の“N”の先)は、それは、最初のシンボルが4つのタイプ(論理IDL、TLP、DLLP、順序集合)のうちいずれでもないことを示し、その場合に、回復への直接的リンクが作られる(ブロック220)。
図7は、実施例に従うデータリンク層パケットレイアウト56を表すブロック図である。DLLP56は8バイトの固定長である。然るに、ペイロードタイプ(sSDP)を示す最初の8ビットのペイロードタイプシンボル32の後には、DLLPペイロード54が次の4バイトで保持され、LCRC58がその次の16ビットにあり、ENDパリティバイト52が最後のバイトにある。データリンク層パケット(DLLP)ペイロードに関して、ENDパリティバイト52について同じXORルールが当てはまる。このように、DLLP56における全てのバイトのバイト毎XORが取られる。データリンク層パケットはEDBを有さないので、受信器のXORでのオール1は、また、エラーとみなされる。このように、DLLPペイロード56に関して、符号化スキーム100は、8ビットウィンドウで如何なる数のビットエラーも許容することができる。
或る実施例で、符号化スキーム100は、(長さフィールドがいっぱいにされる場合に)4ビットのウィンドウ内で、更に、パケットペイロードの残りについては、7ビットのウィンドウ内でビットエラーの保証された検出を提供する。順序集合エラーの検出についてはここには記載されない。或る実施例で、符号化スキーム100は、必要に応じて、パリティのために別個のバイトを使用する。しかし、順序集合はプロトコル(多数の繰り返し)での埋め込みエラー検出により複数のビットエラーを保証することができるので、更に、複数のビットエラーはデータ整合性に影響を与えないので、それは順序集合には必要とされないが、トランザクション又はデータリンク層パケットにとっては有用である。これは、フーリエ・イコライザを用いる実施には極めて有用である。所与のウィンドウ内での複数のビットフリップの保証された検出は、このアプローチのために付加された新しい機能である。
或る実施例で、符号化スキーム100は、(130,128)符号化をなされていない非スクランブル化パターンを送信することによって、L0sのような低電力状態から抜け出るのに要する時間を最適化する(L0は、パケットが送受信される通常の動作状態である。L0sは、L0状態への迅速なエントリバックがリンク回復を経ることなく可能である電力節約状態である。)。
図8は、実施例に従って符号化スキーム100によって実行される動作を示すフロー図である。最初に、符号化スキーム100は、例えば、8個の0の後に8個の1が続き、それが8回(又は必要に応じて)繰り返されるような、所定数の低周波パターン(PCIエクスプレス2.0等の場合)を送信する(ブロック302)。これは、受信器50が電気的遊休状態から抜け出るのに役立つ。次いで、送信器40は、リンクネゴシエーション中に、装置が要求した数の高周波高速トレーニングシーケンス(FTS)を送信する(ブロック304)。FTSは、特別のシンボルの組合せであってよい。(例えば、各FTSは、3つの10101010が後に続く10110010であってよい。)高周波成分はビットロックを取得する助けとなり、一方、最初のシンボルはバイトロックを達成するために使用され得る。最後に、符号化スキーム100は、レーン・ツー・レーン・デスキューを達成するよう所定数のシンボル(例えば、11000011)を送信する(ブロック306)。
シンボルロックを取得した後、受信器50は、シリアルリンク80のレーン間でデスキューを行うべくデスキューパターンを探す。第2のデスキューの後、(130,128)コード90が始まる(ブロック308)。使用可能なリンクを得るべくスクランブル化を行うことなく(130,128)コード90を除くことは、(130,128)コード90に全て埋め込まれ且つスクランブル化している、ビット及びシンボルロックを達成するための高周波パターン及びレーン・ツー・レーン・デスキューを実行するための別個の集合が後に続く、電気的遊休状態を抜け出すための低周波パターンの周期的シーケンスを送信することよりも、所定パターンを送信することにおいてより有効である。スクランブラ30/デスクランブラ70は、L0sの間にリセットされ、最初の(130,128)コード90により動作し始める。フロー図300は、或る実施例で、どのようにこれらの別々のトランザクションが、例えばL0電力状態で普通に送信する前に、電気的遊休状態を抜け出し、ビットロックを取得し、レーン・ツー・レーン・デスキューを達成するよう、符号化スキーム100によって実行されるかを明示する。
スクランブル化専用アプローチで起こりうる別の問題は、キラーパケット(killer packet)として知られている。特定のビットパターンがエラーを引き起こし、TLP又はDLLPパケットが、回復相を通して第1トリップに続くスクランブル化の後に、期せずしてそのようなパターンを有する場合は、或る実施例で、符号化スキーム100は、問題のあるビットパターンがその後の再送信で繰り返さないことを確かにする。このアプローチは、リンクを停止させる如何なるウィルスも回避する。回復を経る全てのトリップで、全てのEIESシーケンスにより、スクランブラ30(デスクランブラ70)は、シード値へのリセットを得る。回復相の間のスクランブラ30(デスクランブラ70)のリセットは、デスクランブラ70がビットスリップ等のエラーにより送信器40と同期することができない場合に必要とされる。しかし、このスクランブラ同期化のマイナス面は、同じTLPパケット36が回復相を通して毎回特有のビットストリームを持ち出す可能性である。そのビットパターンがキラービットパターンである場合は、ビットパターンは再三にわたりビットエラー等の問題を引き起こす。
このような問題を回避するよう、或る実施例で、符号化スキーム100は、回復相から出る第1のTLP36を送信する前に、L0でランダムな数の特別のIDLEシンボルを送信する。或る実施例で、特別のIDLEシンボルの数についての厳密式は実施依存であり、様々な要因に依存して実行毎に変化しうる。複数の要因の影響は、回復相を経る全てのトリップに伴う期待値を特徴付けることを困難にする。
本願は有限数の実施例に関して記載してきたが、当業者には、それらから、多数の改良及び変形が認識されるであろう。添付の特許請求の範囲は、本発明の主旨及び適用範囲内にあるかかる改良及び変形の全てを網羅することが意図される。
100 符号化スキーム
20 エンコーダ
22 プレフィックス
24 ビットシーケンス
200 システム
30 スクランブラ
32 ペイロードタイプシンボル
36 トランザクション層パケットレイアウト
40 送信器
50 受信器
60 デコーダ
70 デスクランブラ
80 シリアルリンク
90 (130,128)コード

Claims (20)

  1. デコーダを有する受信器と、
    送信器を前記受信器へ結合するシリアルリンクと
    を有し、
    前記シリアルリンクを介して前記受信器によって受信されるコードは、
    2つの有効な状態のうち一方を有する2ビットプレフィックスと、
    所定ビット長のシーケンスと
    を有し、
    前記コードは、前記受信器が入来データを識別することを可能にする、システム。
  2. 前記受信器は、トレーニングシーケンスとして前記コードを使用し、当該受信器が前記送信器と同期することを可能にする、請求項1記載のシステム。
  3. 前記2ビットプレフィックスは第1の有効状態を有し、
    前記第1の有効状態は、前記コードが電気的遊休状態エントリシーケンス又は電気的遊休状態終了シーケンスであり、前記所定ビット長のシーケンスが繰り返しパターンを有することを示す、請求項1記載のシステム。
  4. 前記2ビットプレフィックスは第2の有効状態を有し、
    前記第2の有効状態は、前記所定ビット長のシーケンスの第1バイトがペイロードタイプシンボルであることを示す、請求項1記載のシステム。
  5. 前記ペイロードタイプシンボルは、ペイロードが遊休状態ペイロード、トランザクション層パケットペイロード、データリンク層パケットペイロード、又は順序集合ペイロードのいずれかであることを示す、請求項4記載のシステム。
  6. 前記ペイロードタイプシンボルがトランザクション層パケットペイロードを示す場合に、
    トランザクション層パケットは、
    1又はそれ以上の長さフィールドと、
    当該トランザクション層パケットの固定ロケーションを占有し、前記1又はそれ以上の長さフィールドの周期的冗長チェックを有するCRCフィールドと
    を有し、
    前記受信器は、前記1又はそれ以上長さフィールドにより前記トランザクション層パケットの長さを計算する前に前記CRCフィールドと前記1又はそれ以上長さフィールドを確認する、請求項5記載のシステム。
  7. シリアルリンクを介して受信器によって、2ビットプレフィックス及び所定ビット長のシーケンスを有し、前記受信器が前記シリアルリンクへ結合されている送信装置と同期することを可能にするコードを受信する段階と、
    前記受信器によってブロックロックを得る段階と、
    前記2ビットプレフィックスが第1の所定値を有する場合に、前記所定ビット長のシーケンスの第1バイトを占有するペイロードタイプシンボルを読む段階と
    を有し、
    前記コードは、前記2ビットプレフィックスが第2の所定値を有する場合に電気的遊休状態エントリ信号又は電気的遊休状態終了信号を有する、符号化方法。
  8. 前記ペイロードタイプシンボルを読む段階は、
    前記ペイロードタイプシンボルが遊休状態ペイロードを示す場合に該ペイロードタイプシンボルを取り出す段階と、
    前記コードの更なる処理を実行しない段階と
    を更に有する、請求項7記載の符号化方法。
  9. 前記ペイロードタイプシンボルを読む段階は、
    前記ペイロードタイプシンボルがデータリンク層パケットである場合に該ペイロードタイプシンボルを取り出す段階と、
    前記所定ビット長のシーケンスのバイトパリティを計算する段階と、
    処理のために6つの後続バイトを進める段階と、
    計算された前記バイトパリティを前記所定ビット長のシーケンスの最終バイトと比較する段階と
    を更に有し、
    前記バイトパリティ及び前記最終バイトが同じでない場合にエラーが記録される、請求項7記載の符号化方法。
  10. 前記ペイロードタイプシンボルを読む段階は、
    前記ペイロードタイプシンボルがトランザクション層パケットを示す場合に該ペイロードタイプシンボルを取り出す段階と、
    前記所定ビット長のシーケンスにおいて所定のロケーションにある前記トランザクション層パケットの長さバイトを取り出す段階と、
    公式に従って、取り出した前記長さバイトを、前記所定ビット長のシーケンスの第2の所定のロケーションに配置されている複数の周期的冗長チェックビットと比較して、結果を生成する段階と
    を更に有し、
    前記トランザクション層パケットの長さは、前記結果が零である場合に前記長さバイトから得られる、請求項7記載の符号化方法。
  11. 前記取り出した長さバイトを公式に従って複数の周期的冗長チェックビットと比較する段階は、所定の公式を用いて前記トランザクション層パケットの長さを計算する段階を更に有する、請求項10記載の符号化方法。
  12. 前記受信器に電気的遊休状態を終了させるよう所定数の低周波シンボルを送信する段階と、
    前記受信器がビットロックを得ることを可能にするよう第2所定数の高周波シンボルを送信する段階と、
    前記受信器がレーン・ツー・レーン・デスキューを実行することを可能にするよう第3所定数のシンボルを送信する段階と
    を更に有し、
    前記受信器は低電力状態から回復しつつある、請求項7記載の符号化方法。
  13. シリアルリンクで8b/10b符号化を置換するコードであって、
    電気的遊休状態終了シーケンス及び電気的遊休状態エントリシーケンスのいずれかを示す第1の値と、遊休状態シーケンス、データリンク層パケット、又はトランザクション層パケットのいずれかを示す第2の値とを有する2ビットプレフィックスと、
    前記2ビットプレフィックスの値に基づく一意のビットを有する所定ビット長のシーケンスと
    を有し、
    前記シリアルリンクの一端へ結合されている受信器が、前記シリアルリンクの他端へ結合されている送信装置と同期することを可能にするコード。
  14. 前記2ビットプレフィックスが前記第1の値を有し、前記所定ビット長のシーケンスが1及び0の繰り返しシーケンスを有する場合に、
    前記2ビットプレフィックス及び前記所定ビット長のシーケンスは、スクランブル化されず、後の処理のためにブロック境界を識別し且つ必要に応じて該ブロック境界を有効とし再識別するために使用される、請求項13記載のコード。
  15. 前記所定ビット長のシーケンスは、前記受信器が低電力状態を抜け出ることができるほど低い周波数で送信される、請求項14記載のコード。
  16. 前記所定ビット長のシーケンスは、前記受信器に線形フィードバックシフトレジスタをリセットさせる、請求項14記載のコード。
  17. 前記2ビットプレフィックスが前記第2の値を有する場合に、
    前記所定ビット長のシーケンスの第1バイトはペイロードタイプシンボルを更に有し、
    前記受信器は、前記ペイロードタイプシンボルに従って前記所定ビット長のシーケンスを処理する、請求項13記載のコード。
  18. 前記ペイロードタイプシンボルが、更に、遊休状態ペイロードを示す場合に、
    前記受信器は、更なるアクションを起こさない、請求項17記載のコード。
  19. 前記ペイロードタイプシンボルが、更に、データリンク層パケットを示す場合に、
    当該コードの残りのバイトは、処理される6つのバイトと、1つのパリティバイトとを有する、請求項17記載のコード。
  20. 前記ペイロードタイプシンボルが、更に、トランザクション層パケットを示す場合に、
    当該コードの残りのバイトは、2ビットのフォーマット情報と、10ビットの長さ情報と、1ビットのダイジェスト情報と、複数のCRCバイトとを有し、
    前記フォーマット情報、前記長さ情報及び前記ダイジェスト情報は、共に、前記トランザクション層パケットの長さを提供し、
    前記CRCバイトは、前記受信器による前記トランザクション層パケットの処理の前に該トランザクション層パケットの前記長さと比較される、請求項17記載のコード。
JP2009147787A 2008-06-25 2009-06-22 符号化方法、システム及びコード Expired - Fee Related JP4981102B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/145,696 US7769048B2 (en) 2008-06-25 2008-06-25 Link and lane level packetization scheme of encoding in serial links
US12/145,696 2008-06-25

Publications (2)

Publication Number Publication Date
JP2010011454A true JP2010011454A (ja) 2010-01-14
JP4981102B2 JP4981102B2 (ja) 2012-07-18

Family

ID=41396936

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009147787A Expired - Fee Related JP4981102B2 (ja) 2008-06-25 2009-06-22 符号化方法、システム及びコード

Country Status (4)

Country Link
US (1) US7769048B2 (ja)
JP (1) JP4981102B2 (ja)
CN (1) CN101631000B (ja)
DE (2) DE102009030545B4 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2503745A1 (en) 2011-03-19 2012-09-26 Fujitsu Limited Error detection in a network device
JP2018049658A (ja) * 2017-11-27 2018-03-29 インテル・コーポレーション 装置、方法、およびシステム
US11043965B2 (en) 2013-12-26 2021-06-22 Intel Corporation PCI express enhancements
JP2021158414A (ja) * 2020-03-25 2021-10-07 アンリツ株式会社 パターン同期回路、それを用いた誤り率測定装置、及びパターン同期方法

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2320576A3 (en) * 2005-09-30 2011-12-14 Mitsubishi Electric Research Laboratories Training signals for selecting antennas and beams in mimo wireless lans
US8010860B2 (en) * 2007-10-22 2011-08-30 International Business Machines Corporation Method and architecture to prevent corrupt data propagation from a PCI express retry buffer
US8184758B2 (en) * 2008-12-16 2012-05-22 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting electrical idle
US7958404B2 (en) * 2009-03-31 2011-06-07 Intel Corporation Enabling resynchronization of a logic analyzer
DE102009047199A1 (de) * 2009-11-26 2011-06-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Eine Datenübertragungsvorrichtung und ein Verfahren zum Aktivieren einer Datenübertragung
JP5657242B2 (ja) 2009-12-09 2015-01-21 株式会社東芝 半導体装置及びメモリシステム
US8275922B2 (en) * 2010-02-22 2012-09-25 International Business Machines Corporation Implementing serial link training patterns separated by random data for training a serial link in an interconnect system
US8804960B2 (en) * 2010-02-22 2014-08-12 International Business Machines Corporation Implementing known scrambling relationship among multiple serial links
CN103141066B (zh) * 2010-10-12 2015-06-10 松下电器产业株式会社 发送电路、接收电路、发送方法、接收方法、通信系统及其通信方法
US8645585B2 (en) * 2011-06-10 2014-02-04 Nvidia Corporation System and method for dynamically configuring a serial data link in a display device
CN102957492B (zh) * 2011-08-18 2015-05-13 盛科网络(苏州)有限公司 实现64b/67b编码边界锁定的方法及装置
US8572300B2 (en) * 2011-10-26 2013-10-29 Taiwan Semiconductor Manufacturing Co., Ltd. Physical coding sublayer (PCS) architecture for synchronizing data between different reference clocks
EP2775648B1 (en) * 2011-10-31 2017-03-01 Huawei Technologies Co., Ltd. Data sender, data receiver and frame synchronization method
US9043526B2 (en) 2012-06-20 2015-05-26 International Business Machines Corporation Versatile lane configuration using a PCIe PIe-8 interface
US8856573B2 (en) * 2012-06-27 2014-10-07 Intel Corporation Setting a number (N) of fast training sequences (FTS) automatically to an optimal value
KR101754890B1 (ko) 2012-10-22 2017-07-06 인텔 코포레이션 고성능 인터커넥트 물리 계층
US9311268B1 (en) * 2012-10-25 2016-04-12 Qlogic, Corporation Method and system for communication with peripheral devices
WO2015054898A1 (zh) * 2013-10-18 2015-04-23 华为技术有限公司 电气空闲状态处理方法及快速外设组件互联pcie设备
WO2015066842A1 (zh) * 2013-11-05 2015-05-14 华为技术有限公司 通信方法、高速外围组件互连pcie芯片及pcie设备
US20150222384A1 (en) * 2014-02-03 2015-08-06 Valens Semiconductor Ltd. Changing receiver configuration by replacing certain idle words with bitwise complement words
US9379739B2 (en) * 2014-08-11 2016-06-28 Qualcomm Incorporated Devices and methods for data recovery of control channels in wireless communications
US9842020B2 (en) 2014-11-26 2017-12-12 Qualcomm Incorporated Multi-wire symbol transition clocking symbol error correction
CN104767590A (zh) * 2015-04-08 2015-07-08 江苏飞尚安全监测咨询有限公司 一种串行通信的可靠数据传输和控制方法
US9515813B1 (en) * 2015-05-26 2016-12-06 International Business Machines Corporation Initializing a descrambler
US9497020B1 (en) * 2015-05-26 2016-11-15 International Business Machines Corporation Initializing a descrambler
WO2019015462A1 (zh) * 2017-07-18 2019-01-24 华为技术有限公司 一种检测块发送和接收的方法、网络设备和系统
CN114726479A (zh) 2017-07-18 2022-07-08 华为技术有限公司 一种检测块发送和接收的方法、网络设备和系统
CN108449162B (zh) * 2018-03-15 2020-07-17 浙江工业大学 一种基于非前缀码的无线通信节能编码方法
US11966348B2 (en) 2019-01-28 2024-04-23 Nvidia Corp. Reducing coupling and power noise on PAM-4 I/O interface
US10599606B2 (en) 2018-03-29 2020-03-24 Nvidia Corp. 424 encoding schemes to reduce coupling and power noise on PAM-4 data buses
US10657094B2 (en) 2018-03-29 2020-05-19 Nvidia Corp. Relaxed 433 encoding to reduce coupling and power noise on PAM-4 data buses
US11159153B2 (en) 2018-03-29 2021-10-26 Nvidia Corp. Data bus inversion (DBI) on pulse amplitude modulation (PAM) and reducing coupling and power noise on PAM-4 I/O
US10606790B2 (en) 2018-04-16 2020-03-31 Intel Corporation Precoding mechanism in PCI-express
US10623200B2 (en) 2018-07-20 2020-04-14 Nvidia Corp. Bus-invert coding with restricted hamming distance for multi-byte interfaces

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244896A (ja) * 1993-02-19 1994-09-02 Canon Inc シリアルデータ通信方式
JPH08265166A (ja) * 1995-03-16 1996-10-11 Daewoo Electron Co Ltd 高速可変長符号復号化装置
JP2001308712A (ja) * 2000-03-06 2001-11-02 Agilent Technol Inc パケット化直列データの復号化方法及びデコーダ
WO2005048520A1 (ja) * 2003-11-14 2005-05-26 Hitachi, Ltd. データ伝送方法及びデータ伝送装置
JP2006174142A (ja) * 2004-12-16 2006-06-29 Kenwood Corp 無線通信システム、無線通信装置及び無線通信方法
JP2006202281A (ja) * 2005-01-10 2006-08-03 Samsung Electronics Co Ltd Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機
JP2006237710A (ja) * 2005-02-22 2006-09-07 Sony Corp データ処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000044126A1 (fr) * 1999-01-19 2000-07-27 Sharp Kabushiki Kaisha Procede et dispositif de transmission
US20020009089A1 (en) * 2000-05-25 2002-01-24 Mcwilliams Patrick Method and apparatus for establishing frame synchronization in a communication system using an UTOPIA-LVDS bridge
US6628725B1 (en) * 2001-03-28 2003-09-30 Ciena Corporation Method and system for encoding data for transmission over a serial link
US7508800B1 (en) * 2002-05-22 2009-03-24 Cisco Technology, Inc. Block code mapping system and method
AU2003210605A1 (en) * 2002-06-25 2004-01-06 Lockheed Martin Corporation Method to increase the hamming distance between frame delimiter symbol and data symbols of a mbnb line code
US7081838B2 (en) * 2004-12-29 2006-07-25 Enigma Semiconductor, Inc. 16b/10s coding apparatus and method
US7813289B2 (en) * 2006-02-02 2010-10-12 Infineon Technologies Ag Electrical idle detection circuit including input signal rectifier
US7899111B2 (en) * 2007-08-07 2011-03-01 Intel Corporation Link interface technique including data indicator symbols

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244896A (ja) * 1993-02-19 1994-09-02 Canon Inc シリアルデータ通信方式
JPH08265166A (ja) * 1995-03-16 1996-10-11 Daewoo Electron Co Ltd 高速可変長符号復号化装置
JP2001308712A (ja) * 2000-03-06 2001-11-02 Agilent Technol Inc パケット化直列データの復号化方法及びデコーダ
WO2005048520A1 (ja) * 2003-11-14 2005-05-26 Hitachi, Ltd. データ伝送方法及びデータ伝送装置
JP2006174142A (ja) * 2004-12-16 2006-06-29 Kenwood Corp 無線通信システム、無線通信装置及び無線通信方法
JP2006202281A (ja) * 2005-01-10 2006-08-03 Samsung Electronics Co Ltd Pciイクスプレスのバイトスキュー補償方法及びこのためのpciイクスプレス物理階層受信機
JP2006237710A (ja) * 2005-02-22 2006-09-07 Sony Corp データ処理装置

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2503745A1 (en) 2011-03-19 2012-09-26 Fujitsu Limited Error detection in a network device
US8689091B2 (en) 2011-03-19 2014-04-01 Fujitsu Limited Data transmitting device, data receiving device, data transmitting/receiving device, and controlling method of data transmitting/receiving device
US11043965B2 (en) 2013-12-26 2021-06-22 Intel Corporation PCI express enhancements
US11283466B2 (en) 2013-12-26 2022-03-22 Intel Corporation PCI express enhancements
US11632130B2 (en) 2013-12-26 2023-04-18 Intel Corporation PCI express enhancements
JP2018049658A (ja) * 2017-11-27 2018-03-29 インテル・コーポレーション 装置、方法、およびシステム
JP2021158414A (ja) * 2020-03-25 2021-10-07 アンリツ株式会社 パターン同期回路、それを用いた誤り率測定装置、及びパターン同期方法
JP7132964B2 (ja) 2020-03-25 2022-09-07 アンリツ株式会社 パターン同期回路、それを用いた誤り率測定装置、及びパターン同期方法

Also Published As

Publication number Publication date
JP4981102B2 (ja) 2012-07-18
US20090323722A1 (en) 2009-12-31
DE102009030545A1 (de) 2010-01-07
DE102009061814B3 (de) 2022-10-20
US7769048B2 (en) 2010-08-03
CN101631000B (zh) 2013-09-25
DE102009030545B4 (de) 2020-09-03
CN101631000A (zh) 2010-01-20

Similar Documents

Publication Publication Date Title
JP4981102B2 (ja) 符号化方法、システム及びコード
US8340005B1 (en) High speed packet interface and method
US8065584B2 (en) Transmitting data words
US9047204B2 (en) Techniques to perform forward error correction for an electrical backplane
US8903000B2 (en) Transmission circuit, reception circuit, transmission method, reception method, communication system and communication method therefor
JP5348263B2 (ja) データ伝送装置、データ伝送システムおよびデータ伝送方法
US7296211B2 (en) System and method for transferring data on a data link
US8195864B2 (en) Methods and apparatus for bridged data transmission and protocol translation in a high serialized data system
JPH11500887A (ja) 遷移制御されたデジタルエンコード及び信号伝送システム
US10942886B2 (en) Data transmission method and data transmission system
WO2011000257A1 (zh) 一种并行帧同步的扰码装置及其解扰码装置
KR20200123412A (ko) 10spe에서 동기식 및 자가-동기식 스크램블링에 의한 페이로드 및 프리앰블의 스크램블링
JP4815559B2 (ja) 同期受信機
US20100195835A1 (en) Link and physical coding sub-layer protocols
EP1320208A2 (en) Serial communications system and method
US20190207744A1 (en) System, Apparatus And Method For Low Overhead Communication Encoding
KR102108380B1 (ko) 송신 데이터 오류를 복구하도록 작동하는 인터페이스 회로
WO2010146714A1 (ja) データ転送方法、コード変換回路及び装置
JP2017050734A (ja) シリアル通信装置、通信システム及び通信方法
US20020146085A1 (en) System and method for establishing word synchronization
US20230254108A1 (en) System and method for efficient transition encoding
JPS62257237A (ja) スクランブル伝送方式
JP2002305550A (ja) 制御データの送信方法、送信ノード装置、制御データの受信方法、受信ノード装置、制御データの通信方法、通信システム及びプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110905

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111004

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120308

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120419

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

Free format text: PAYMENT UNTIL: 20150427

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees