Forward error correction coding for the compatible multi-link transmission and 64b / 66b scrambling

申请号 JP2009535047 申请日 2007-10-08 公开(公告)号 JP5106538B2 公开(公告)日 2012-12-26
申请人 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Maschines Corporation; 发明人 デル、ティモシー、ジェイ; グレース、ルネ;
摘要
权利要求
  • パケット・ベースのデジタル通信システムのための前方誤り訂正(FEC)符号を生成する方法であって、
    (a)既約多項式から生成されるハミング符号H(x)=X 10 +X 3 +1に基づく第1の符号化アルゴリズムを第1のデータワードに適用し、ビットインターリーブ・パリティ(BIP)符号B(x)=X 6 +1に基づく第2の符号化アルゴリズムを前記第1のデータワードに適用することと、
    (b)前記第1のデータワードについて第1のチェックビット・シーケンスを生成することと、
    (c)前記第1のチェックビット・シーケンスを前記データワードに付加することと、
    (d)ステップ(c)の結果を、ソース・ノードにおいてスクランブル処理を行うことと、
    (e)ステップ(d)の結果を、データ送信リンク上で前記ソース・ノードから宛先ノードに送信することと、
    (f)前記宛先ノードにおいて、送信された前記データワードにデスクランブル処理を行い、前記第1のチェックビット・シーケンスを前記送信されたステップ(e)の結果から分離し、前記宛先ノードにおいて記憶することと、
    (g)送信された前記データワードに基づいて第2のチェックビット・シーケンスを生成することと、
    (h)シンドロームを作るために前記第1のチェックビット・シーケンスを前記第2のチェックビット・シーケンスとビットごとに比較することであって、前記シンドロームは、第2の符号化アルゴリズム・シンドロームと連結された第1の符号化アルゴリズム・シンドロームの形で存在する、ことと、
    (i)受信された前記データワードが第1のビット誤りを含むかどうかを判定することと、
    (j)前記第1の符号化アルゴリズム・シンドロームによって前記第1のビット誤りを訂正し、前記第2の符号化アルゴリズム・シンドロームによって第1及び第2の複製ビット誤りを訂正することと、
    を含む方法。
  • 複数の符号化されたデータワードを第1の行列で表すことをさらに含み、前記複数のデータワードの各々に対応する複数のチェックビット・シーケンスが前記第1の行列に付加される、請求項1に記載の方法。
  • 対応する複数の符号化されたデータワードの各々にチェックビット・シーケンスを付加することをさらに含む、請求項1に記載の方法。
  • 前記データ送信リンクは、逆多重化を行うことができる多数のリンク通信チャネルを含む、請求項1に記載の方法。
  • 前記スクランブル処理を行うステップは、64B/66Bスクランブル処理プロトコルを使用することをさらに含む、請求項1に記載の方法。
  • 前記ハミング符号は、誤り訂正及びパリティ・ビットを含むパケット・サイズの最大長を決定する、請求項1に記載の方法。
  • 前記デジタル通信システムは、パケット化されたデータ・ストリームをATMフォーマットで送受信する、請求項1に記載の方法。
  • 前記データ送信リンクは、単一のシリアライザ−デシリアライザ・リンクを含む、請求項1に記載の方法。
  • 前記チェックビット・シーケンスと誤りシンドロームとを符号化するためのH−行列を系統的な形式で生成することをさらに含み、同一のH−行列を非系統的な形式で用いることによって前記誤りシンドロームの復号化が可能になる、請求項3に記載の方法。
  • 請求項1〜9の何れか1つに記載の方法の各ステップを、コンピュータに実行させる、コンピュータ・プログラム。
  • 说明书全文

    本発明の分野は、高速デジタル通信システムに関し、より具体的には、自己同期スクランブル処理に起因するビット誤りの拡散によって生じる単一ビット誤りの増幅を抑制することにより、送信される信号の信頼性を強化するための符号化技術の改善に関する。

    デジタル通信システムにおいては、データの送信は、通信チャネルにおけるノイズの存在によって破損及び誤りを起こしやすい。 宛先における信号の正確な受信を容易にするために用いられるスクランブル処理は、誤り拡散(error spreading)として知られるプロセスを通して、付加的な誤りを発生させる。 こうしたシステムにおいては、誤りの訂正を可能にする冗長パリティ・ビットを用いて、ソースにおいて送信される信号を符号化することが一般的である。 典型的には、デジタル・ビット・ストリームを解析して、システムの受信器が送信されたデータからクロック信号のタイミング基準を抽出することができる最大長に基づいて、nビットの固定長のデータワードにする。 冗長ビットの連結(concatenation)によって、符号化されたmビットのデジタル・ワードは元のデータワードより長くなる。

    高速リンクに誤り訂正を提供することの課題の1つは、保護されているデータワードに付加されるあらゆる誤り訂正チェックビットについて、それが物理層のビット遷移密度に与える影響を考慮する必要があることである。 典型的には、パケット境界内の適切な位置との同期を維持してデータをストローブするために、最少の遷移数0=>1又は1=>0が順守されなければならない。 例えば0の長いストリームによって、受信器が入ってくるデータをいつサンプリングすべきかを把握できなくなる場合がある。 したがって、最終的に1が送信されたときに、受信器が同期を失っており、0=>1の遷移を検出できない恐れがある。

    同期を失わないようにするために、幾つかの既知のスクランブル技術の1つによって、符号化されたデータワードを処理することができる。 自己同期スクランブラには、数学的に保証される最小数のビット遷移を生じさせるために、所定の多項式に従ってデータワードを増幅するようにプログラムされた線形フィードバック・シフト・レジスタ(LFSR)が実装されることが多い。 すべてがゼロのデータ・ペイロードについてビット遷移の数をさらに高めるために、スクランブラのLFSRを特定の値にプリセットすることもできる。 受信側においては、通常、ビットストリームを同じ所定の多項式によって分割する同様の逆プロセスにより、ペイロードをデスクランブル処理しなければならない。

    データ・スクランブル処理は、送信器と受信器との間のクロック同期を維持するのに用いられる。 上述された理由のため、データ・スクランブル処理アルゴリズムは、通常、送信されたクロックの抽出に成功するために論理遷移の最小数を認識することができるように、逐次的に送信される1又は0の最大数を制限する。 同じ値を有するビットの最大数を制限することによって、受信器がソースとの同期を維持できるようになる。

    スクランブル処理は、受信器のドリフトを低減することに関して有用であるが、元のデータ・ストリームに生じた単一ビット誤りがスクランブル処理を通じて増幅するため、付加的な送信誤り源ともなる。 単一ビット誤りの増幅は、スクランブル及びデスクランブルの関数が、元の送信データを再構成する際に誤りであるビットを含むデータワードの各ビットに依存しているために、生じる。 このような形での単一ビット誤りの増幅は、「ビット誤り拡散(bit error spreading)」として知られており、受信器において、デスクランブラがスクランブル処理された信号を元の状態に復元しようとする際に生じる。

    ビット・ストリームの全てが適切にスクランブル処理されることを保証するために、データワードに付加されたあらゆる誤り訂正符号(ECC)チェックビットもスクランブル処理されなければならない。 このことは、送信されるワードにECCチェックビットが追加された後にスクランブル処理が行われることを必要とする。 同様に、送信されたデータワードは、受信器において、受信器に実装された何らかのECCスキームが起動される前にデスクランブル処理される。 このような手法では、ビット送信密度は、パケット全体にわたって維持され、パケットのデータビット部分のみにはならない。

    図1には、1つの例示的な従来技術の送信システムが示されており、ここで、(物理符号化サブレイヤ)上側インターフェース100は、伝送102又は受信104されるデータの物理的な転送形式にかかわりなくデータ通信機器のためのインターフェースを提供する、10ギガビット・メディア独立インターフェース(XGMII)を表す。 符号化器142及びギア・ボックス146の機能は、データ及び制御文字をブロックにマッピングし、フォーマットを適合させるために必要なものである。 これらは、本発明の理解のためには必要ではなく、さらに説明されることはない。 受信経路150は、元のビット・ストリームを復元するためのデスクランブラ154を含む。 PCSは、送信媒体上のビット誤り率をモニタするための機能160をさらに含み、送信符号化器142と対になる復号機能152が存在する。 論理インターフェース100からのデータは、物理符号化サブレイヤ120に送られ、そこで最初に適切なECCを用いて符号化され、次いでスクランブル処理される。 最後に、必要であれば、符号化処理及びスクランブル処理を行う論理回路の速度が、ギア・ボックス146によって実際の物理媒体115の送信速度と一致させられる。 64B/66Bコードの場合には、名称が示すように、ギアボックスによって、送信される64ビットごとに2ビットが追加される。 64ビットのパケットをフレームするのに用いられる2つの追加ビットは、受信時に除去され、スクランブル及び訂正の処理ステップには含まれない。 次いでデータは、必要なビット遷移密度となるように全てがスクランブル処理された、元のデータワードに加えて符号化されたチェックビットを含むパケットとして、インターフェース媒体を介して送られる。

    当業者であれば、本発明は、具体的に10GbEに関して説明されるが、異なる環境においても実施できることが分かるであろうし、以下の詳細な説明から、本発明を他の用途、特に異なるスクランブル多項式が用いられるような用途に適合させる方法を理解するであろう。

    ペイロードが物理的に送信される際に、不規則な単一ビット誤りが起こることが多い。 これは、今日用いられる通信チャネルにおいて利用される極端な高速度が原因である。 データ・パケット中の誤りが1つのみであれば、単純なハミングECCが、そのような誤りのすべてを訂正することができる。 自己同期スクランブラが誤りを増幅させるため、受信器において偶発的な誤り及びあらゆる複製された誤りを処理するためのより強固な解決策が必要である。

    同一の論理チップであっても完全に異なる論理チップであってもよい受信端において、最初に受信パケットが同期され、パケット境界が検出される。 本発明は、パケット境界を明示するためのいずれかの特定の方法を想定してはいない。 多くの場合、固定サイズのパケットが送信されたときには、パケット境界は、追加された冗長ビットとデータ・ストリームの符号化とに基づいて検出される。 次いで、ビット誤り率(BER)をできるだけ低く保つために、パケットは、スクランブル処理ステップから得られる所定のビット遷移密度を用いて受信される。 受信されたパケットは、デスクランブル処理され、次いで、ビット・ストリーム中のいずれかの誤りを訂正できるように復号化される。

    しかしながら、上述されたように、デスクランブル処理は、送信中にチャネルに発生したいずれかの単一ビット誤りがスクランブル多項式の項数及び次数に応じて複製されるという望ましくない効果を有する。 単一ビット誤りは、チャネル全体にわたって単純に伝播することも、スクランブル多項式の形に応じて複数回複製されることもある。 誤りが単一ビット誤りに留まるか、複数回複製されるかは、送信されるペイロードのシーケンスのどこで誤りが生じるかによって決まる。 誤りがシーケンスの初めに生じた場合には、誤りは、LFSRの結果として拡散し、多項式の最も高い次数が送信シーケンスの全ビット数より少なければ、通常は同一のデータ・パケット内で複製される。 最初の誤りがペイロードの終端近くで生じた場合には、やはり誤りは拡散することになるが、最初の発生のみが現在のパケット内に入ることができ、単一ビット誤りになるだけである。 ただし、複製された誤りは、次のデータ・パケットに出現し、そこで二重ビット誤りを生じさせることになる。 ワードの中間における偶発的な誤りは、スクランブル多項式及び偶発的な誤りの位置に応じて、拡散して様々な二重ビット誤りになる可能性がある。

    ビット遷移密度即ち最大ラン長に関するデジタル通信の別の面として、累積DCオフセットがあり、これは、受信器が受ける送信データ・ストリームの低周波数電圧成分の合計を反映する。 二進法においては、0及び1についての個別の論理値は、典型的には反対の極性の電圧が割り当てられる。 結果として、定期的に調整されなければ、受信器が受ける累積DCオフセットは、供給電源の正又は負の限界値方向に移動する可能性があり、これが受信器の過負荷状態につながる場合がある。 累積DCアンバランスは、バランスのとれたビット・ストリームを生成するために反転させる必要があるビット値の数として表すことができる。 受信器が受ける累積DCオフセットを効率的にバランスさせることができれば、受信器が受けるDC電圧の振れを減少させることが可能である。 この観点において、バランスのとれたDCオフセットは、低周波数雑音をより効率的にフィルタ除去できるため、受信器の全体的な信号対雑音比(SNR)を低下させるのに利用することが可能である。 このことは、符号化されたデータ・ストリームがデータビットの一定単位にわたって論理0及び1の値のバランスのとれた分布を表すことを保証することによって、実現される。

    前方誤り訂正(FEC)は、送信の過程で生じた誤りを特定して訂正するように設計された技術であり、誤りが生じたときに送信器によってデータを再送信するステップの必要性をなくすものである。 FECは、元のデータと共に送信される冗長ビットを生成するアルゴリズムをデジタル・データ・ストリームに適用することによって実施される。 送信された符号化データの計算と受信された符号化とを比較するために、システムの受信側で同一のアルゴリズムが実施される。 比較の結果は、FECシンドロームとして知られる。 ゼロ・シンドローム(null syndrome)は、受信されたデータ・ストリームに誤りがないことを示す。 誤りシンドロームのいずれかのビット位置における0でないエントリは、1つ又は複数の誤りを訂正するものとして解釈されなければならない。

    デスクランブル処理されたデータ・ストリームにおける誤りの合計数が、FEC複合化器の能を上回ることがあるため、受信器にFECが存在することによって、ビット誤り拡散はさらに問題となる。 システムの誤り検出及び訂正の能力を上回った場合には、元のデータは、破損して復元不可能となり、再送信されなければならず、従ってシステム性能全体に影響が及ぶ。

    高速度通信リンク上のスクランブル処理されたデータの訂正に影響を与える別の要因は、多数のシリアル・リンクをパラレル構造で動作させることである。 システムの全体の帯域幅を改善するために、多数のリンクを集約して1つのデータ・パケットを同時に幾つかのリンク又はビットレーンにわたって送信することが、ますます一般化している。 この方法の場合には、Nが単一リンク上で1つのデータ・ペイロード又はパケットを送信するのに必要な時間であり、bがリンク数であるとすると、同一のデータ・ペイロードは、単一リンク上でペイロードを送付するのに用いられる時間のN/bの時間で送付することが可能である。 さらに、細分されたパケットの長さもN/bであることが容易に理解される。 理論上はN/bが分数となる場合もあるが、実際上は、リンクの数は、(ペイロード、ヘッダ、及び冗長ビットを含む)パケット・サイズを考慮して選択され、従って、この例についてはbはNを均等に分割することが想定され、各々のサブパケットは、同一の又は同様の数のビットを含むことになる。 この場合においては、低い送信BERを実現するのに必要な、物理リンクの各々にわたる適切なビット遷移密度を維持するために、データワードはb個のサブデータワードに分けられ、各々のサブデータワードは独立にスクランブル処理及びデスクランブル処理される。 受信側において、デスクランブル処理されたサブデータワードは、元のデータワードを形成するように再構成され、次いで可能性のある誤り訂正のために復号化される。

    米国特許出願公開第2004/0193997号明細書

    NetworkProcessing Forum paper submitted by Xilinx(NPF2003.320.00) OpticalInternetworking Forum in document OIF2004.229.03, submitted by PMC-Sierra,Xilinx, and Sandia National Laboratories " Error-CorrectingCodes ", Peterson & Weldon, The MIT Press, 1972

    本出願人に譲渡され、発明の名称を「ForwardError Correction Scheme Compatible with the Bit Error Spreading of a Scrambler」とする特許文献1のような、スクランブラのビット誤り拡散に適合するECCを提供する提案が行われている。 このような手法の欠点は、上述されたように、多数のビットレーンにわたってパケットが送信されたときには誤りを訂正できないことである。

    FECコードの他のアプリケーションは、デスクランブル処理に起因するビット誤り拡散の影響に完全には対処できない。 例えば、非特許文献1は、デスクランブル処理によって引き起こされるビット誤り増幅問題に対処できない64B/66B符号化器を開示する。 特許文献2において別の手法が取られたが、これもまた増幅問題に対処できない。 同様に、特許文献1は、単純なFECコードをスクランブル及びデスクランブル機能と組み合わせてビット誤り拡散を低減するための方法を開示するが、これは、単一のシリアル・リンク上でデータ・パケットを送信することを必要とするため、複数のパケットにわたってビット誤り情報を伝播させる。 従って、チャネル帯域幅の効率を保ちながら多重チャネル通信システム上に実装することができる、64B/66Bスクランブル処理フォーマットと適合するFECコードの必要性が存在する。

    シリアライザ/デシリアライザ(SerDes)通信リンク上で送信するための、64B/66B符号化規格によって用いられるスクランブラと適合する前方誤り訂正(FEC)符号が開示される。 64B/66B規格は、必要な誤り訂正の数即ちパリティ・ビットに関するオーバーヘッドを、8B/10B符号化規格(2/8即ち25%)に比べてより低くすることができる(2/64即ち3%)。 提案されるFECは、送信される信号に対するスクランブル処理操作の結果が維持されるように、スクランブル処理の前後に、それぞれ符号化及び復号化を行うことを可能にする。 64B/66Bスクランブル処理プロセスによってすべての送信誤りが3倍に増幅するにもかかわらず、この符号によっていずれの単一送信誤りも訂正することが可能になる。

    第1の実施形態によれば、ハミング符号が、n次のビットインターリーブ・パリティ符号(BIP−n;Bit Interleaved Parity code of degree n)と組み合わされる。 ハミング符号は、H(x)=x 10 +x +1のようないずれかの既約多項式から生成することができる。 BIP符号について6次の多項式が選択され、これはB(x)=x +1によって表される。 BIP符号の次数は、スクランブラの誤り拡散パターンに適合するように選択され、それにより常に固有のFECシンドロームを得ることができる。 これらの2つの符号は共に、パケットの最大長のどこかに存在する誤りと、増幅される誤り、即ちデスクランブル処理によって2倍又は3倍に複製される誤りとの両方を保護する。 拡散によるビット誤りの伝播は、予測可能なパターン即ちシンドロームによって特徴付けられる。 全ての単一ビット誤りは、増幅されるか否かにかかわらず固有のシンドロームを有し、従って提案されるFEC符号によって容易に訂正可能である。 さらに、パケットは、高帯域幅用途のために望ましい幾つかのシリアル・リンクにわたって、符号効率を劣化させることなく転送することができる。

    好ましくは、本発明は、シリアライザ/デシリアライザ(SerDes)通信リンク上で送信するためのデジタル信号に前方誤り訂正(FEC)を適用する方法であって、デジタル信号に、H(x)=x 10 +x +1の形の既約多項式からのハミング符号を適用することと、デジタル信号にn次のビットインターリーブ・パリティ符号(BIP−n)を適用することと、符合化されたデジタル信号について第1のチェックビット・シーケンスを生成することと、第1のチェックビット・シーケンスを符号化されたデジタル信号に付加することと、64B/66Bスクランブル処理プロトコルを用いて、符号化されたデジタル信号及び第1のチェックビット・シーケンスにスクランブル処理を行うことと、スクランブル処理された符号化デジタル信号をシリアライザ−デシリアライザ・リンク上で送信することと、受信器ノードにおいて、送信されたデジタル信号にデスクランブル処理を行うことと、受信器ノードにおいて、第2のチェックビット・シーケンスを生成することと、第1のチェックビット・シーケンスを第2のチェックビット・シーケンスと比較することと、送信されたデジタル信号が第1のビット誤りを含むかどうかを判定することと、第1のビット誤り、第1の複製誤り、及び第2の複製誤りを訂正することと、を含む方法を提供する。

    好ましくは、本発明は、自己同期スクランブラを用いるパケット・ベースのデジタル通信システムのための前方誤り訂正(FEC)符号を構築するための方法であって、単一送信誤りと送信されたFEC符号化フレームの受信時に自己同期スクランブラによって生成されるその複製との全ての誤りパターンを区別することが可能なビットインターリーブ・パリティ(BIP−n)符号の指数(n)を求めることと、パケット・ベースのデジタル通信システムのパケット・サイズと適合する長さのハミング符号を生成するのに用いられる多項式の指数を求めることと、FEC符号を生成し、送信されたFEC符号化フレームの受信時に単一ビット送信誤りとその複製との全ての組み合わせについて固有のシンドロームの組を得るために、BIP−nとハミング符号とを組み合わせることと、スクランブラによって提供される物理層のビット遷移密度を維持しながら、FEC符号によって、全ての単一送信誤りと自己同期スクランブラによるその複製とを訂正できるようにすることと、を含む方法を提供する。

    10GbEメディア独立物理インターフェースを概略的に示す。

    第1の実施形態による符号化及び復号化アルゴリズムのフローチャートを示す。

    単一のデータ・パケットに対するデスクランブル処理操作によって生じるビット誤り拡散の概念を概略的に示す。

    単一チャネル上の複数のデータ・パケットにわたるデスクランブル処理操作によって生じるビット誤り拡散の概念を概略的に示す。

    訂正不可能な誤り条件をもたらす、多重リンク・システムの単一リンク上で送信される多重誤りを概略的に示す。

    第1の実施形態によるFEC多項式を選択する方法についてのフローチャートを示す。

    ビットインターリーブ・パリティとハミング符号化との組み合わせを用いる第1の実施形態による前方誤り訂正符号のH−行列の例を示す。

    図7のH−行列の例を系統的な形に転置した形態の図である。

    第1の実施形態による前方誤り訂正符号化方法を用いて検出されなかった誤りの分布のプロットを示す。

    以下の実施形態の詳細な説明において、本明細書の一部を構成し、当業者が本発明を実施することが可能になるように十分に詳細に説明される特定の実施形態が例示として示される添付図面が参照されるが、他の実施形態を用いることもでき、本発明の範囲から逸脱することなく、論理的な変更、構造的な変更、電気的な変更、及び他の変更を行うことができることを理解すべきである。

    第1の実施形態によれば、8B/10B符号化のオーバーヘッド(2/8即ち25%)より低いオーバーヘッド(2/64即ち3%)でSerDesチャネル・リンク上で送信するための、64B/66B符号化によって用いられるスクランブラと適合するFEC符号が開示される。 第1の実施形態によるFEC符号は、送信される信号に対するスクランブル処理操作の特性を維持するように、スクランブル処理の前後に、それぞれ符号化及び復号化を行うことを必要とする。 64B/66Bデスクランブル処理プロセスによってすべての送信誤りが3倍に増幅するにもかかわらず、提案される符号によっていずれの単一送信誤りも訂正することが可能になる。

    図2は、第1の実施形態による符号化及び復号化の処理フローを示す。 系統的なH−行列で定められる式によって16ビットのECCチェックビット・シーケンスを生成するために、送信されるデータワードに対して論理XORが実施される200。 チェックビットはデータ・ワードに付加されて、符号化されたデータワードが生成され201、それがスクランブラに入力される。 次いで、スクランブル処理されたデータワードは、チャネルを介して送信され202、宛先においてデスクランブル処理される203。 チェックビットは、データワードから分離され、ローカルに格納される204。 新たなチェックビットの組が、送信されたデータワードから生成され、送信されたチェックビットとの比較が行われる205。 比較ステップの結果が誤りシンドロームであり、そこから誤りの数及び位置が求められる。 シンドロームの最初の6つのビットは、符号化プロセスのBIP−n部分に対応し、送信されたデータワード208に存在する誤りの数を明らかにする208。 誤りシンドロームの残りの10個のビットは、訂正されるべき1つ又は複数の誤りの位置を示すことになる211。

    図3を参照すると、64B/66Bプロトコルにおいて利用される適合されたスクランブル多項式による個々のパケットについて、種々の誤り拡散シンドロームが示される。 64B/66Bプロトコルの場合には、スクランブル多項式はG(x)=1+X 39 +X 58として表され、従って、スクランブル処理プロセスによってデータワードが3倍に増幅される。 単一誤りがパケット・フレーム内のどこにでも生じる可能性があるのに対し、2つの誤り(単一誤り及び1つの複製されたインスタンス)は、パケット内のどこかに0−39ビットの間隔で配置されるか、又は、パケット内のどこかに39−58ビットの間隔で配置される。 パケット内の3つの誤りは、0、39、及び58ビットの間隔で配置されることになる。 従って、誤りは、スクランブル多項式の指数、即ち0、39、及び58に応じて、59ビットの範囲に及ぶ。 FEC符号によって保護されるフレームを転送するために設けられるSerDerレーン(又は高速リンク)の数に関して何も仮定されない場合には、リンク上の単一送信誤りによって、フレーム内のいずれかに最大で3つの誤りが発生することになる。 しかしながら、3つの誤りが同一のフレーム内にある場合には、それらは、多項式の指数に応じて、0−39−58の間隔で配置されることが想定される。 2つの誤りが同一のフレーム内にある場合には、それらは、フレーム内のいずれかに、0−39ビット又は39−58ビットの間隔で配置されるはずである。 これら全ての誤りの組み合わせは、全ての単一誤りと併せて、固有のシンドロームを有し、従って訂正可能である。

    図4は、単一のシリアル・リンク上で送信される複数のデータ・パケットを示すものであり、単一ビット誤りが、ワード内のビット位置に応じてどのように多重ビット誤りを生成するかを示す。 単一ビット誤りが第n番目のパケットの前方に現れた場合には、スクランブル処理の影響をすべて見ることができる。 単一ビット誤りがそのワードの後方に生じた場合には、誤りの一部はそのワードの外部に生じる。 図3における誤りの数は、デスクランブル処理プロセスの際にスクランブル多項式によって生じた拡散誤りの、所与のいずれかのパケット内における相対的なビット位置を指している。

    例えば、ビット誤り拡散1は、最初の誤りが第n−1番目のパケットの中間に生じ、位置0によって表示されることを示す。 デスクランブラによる処理の後、その誤りは、シーケンスの後方のビット位置39ビット、及び、シーケンスの後方のビット位置58にも拡散する。 従って、ビット誤り拡散1によって、第n−1番目のパケットには二重ビット誤りが起き、一方、第n番目のパケットには単一ビット誤りが起きるようになる。 しかしながら、ビット誤り拡散4に示されるように、最初の誤りがビットストリームのもう少し後方で生じた場合には、第n−1番目のパケットには最初の誤りのみが観察され、第n番目のパケットには二重ビット誤りが起きることになる。

    ビット誤り拡散2は、最初の誤りが第n番目のパケットの初めの方で生じ、結果として生じる拡散誤りも第n番目のパケット内に入って三重ビット誤りにつながることを示す。

    ビット誤り拡散3はビット誤り拡散4と同様であるが、最初の誤りが第n番目のパケットで生じており、結果として生じる拡散誤りは、第n番目のパケットにおける単一ビット誤り又は二重ビット誤りに加えて、第n+1番目のパケットで単一ビット誤り又は二重ビット誤りのいずれかを生じさせる。

    このように、単一ビット誤り訂正(SEC)ハミング符号は、ランダムな単一ビット誤りを訂正するには十分であるが、スクランブル処理アルゴリズムによって生じ、図4の3つの場合全てにおいて示される、二重ビット誤り又は三重ビット誤りを訂正できないことが分かるであろう。

    図5は、多チャネル・リンクの場合において、単一のパケットをどのように分解し、いずれかの数のリンク上で転送し、受信器において再構成することができるかを示す。 単一ビット誤り、二重ビット誤り、及び三重ビット誤りは、パケット内のどこにでも生じる可能性があり、複製された誤りの間隔がスクランブル多項式の関数であるため依然として訂正することができる。 BIP−n符号の指数が、nを法とする固有の剰余が存在するように選択された場合には、複製されたビット誤りを特定して訂正することが可能である。

    図5に示されるように、第n番目のパケットは4つのサブパケットに分解される。 各々のサブパケットは個々にスクランブル処理及びデスクランブル処理される。 しかしながら、ここで、サブパケット3において生じた拡散誤りが、第n番目のパケットにおける2つの誤りに加えて、第n+1番目のパケットにおいて付加的な誤りを生じさせることが分かるであろう。 残念なことに、ECC情報は、パケット境界を超えて伝播されない。 従って、同じビットレーンにおける第n+1番目のパケットへの単一ビット誤りの増幅は、現在の方法では検出不可能であり、従って、特許文献1において用いられるスキームは、多重シリアル・リンクを用いたシステムにおける多重ビット誤りを訂正しないことになる。

    送信されるデータ・パケットの各々の要素が19ビットより小さくなるように十分な数のリンクを介してパケットが送信される場合には、単一誤りのみが訂正されればよく、いずれかの単一のハミング符号の実装で十分である。 これは、複製された誤りは単一ビット誤りが現れる同一のサブパケット内に入ることがないためである。 例えば、64B/66B符号において、64バイトのフレームは、2バイトのECCチェックビットで保護することができる。 ビット数でいえば、これは合計64×8=512ビットである。 ここで、512ビットの符号化されたワードを送信するのに用いられるリンクの数が少なくとも32であれば、各々のサブパケットは最大で16ビットとなり、これは、スクランブル多項式の最小の拡散間隔19ビットより少ない。 従って、誤りが生じるときはいつでも、誤りは1つのECCワードにしか拡散せず、影響を受けるパケットの各々において単一ビット誤りしか生じない。 しかしながら、付加的な帯域幅を実装することが必要であるため、この種の方法は非効率である。 多くの場合には、帯域幅を改善するために、4、8、又は16のグループから成る多重ビットレーンが用いられる。 この場合も同様に、NがECC保護フレームの全体の長さをビットで表したものであり、bがビットレーンの数であり、sがスクランブラ多項式の最小の拡散間隔であるとすると、N/b<sであれば単純なハミング符号で十分である。

    ECCスキームは、誤りモデルに合うように設計される。 従って、誤りモデルに従うどの誤りも訂正可能でなければならない。 ここで説明される誤りモデルは、デスランブル処理プロセスによって増幅させられる単一送信誤りであり、スクランブル多項式の指数に応じた間隔で配置される複製誤りが考慮されなければならない。 しかしながら、付加的な誤り、この場合には二重ビット誤りを検出するECC符号の能力が評価されるべきである。 例えば、2つの送信誤りが生じたときには、デスクランブル処理後に、最大で6つの誤りが検出されることがある。 FEC符号の検出能力のレベルを評価するためには、反復シミュレーションが必要である。 理想的には、FEC符号は、単一誤り訂正/二重誤り検出SEC/DEDレベルの強固さを達成すべきであるが、これは、ほんのわずかな二重送信誤りが検出されない場合には実際に実現できない可能性がある。

    64B/66B規格は、区切り(delineation)のための2ビットが追加された64ビットのパケットを定義する。 本発明は、黙示的に、ECCを用いた保護はより大きなパケット又はフレームに対して実行され、ECCを実装するのに必要な冗長ビットは妥当なレベルに留まることを仮定している。 例示的な場合として、冗長ビットを含むフレームは、このような64ビット・パケットの完全な倍数に制限される。 ここで説明されるFEC符号は、ECC保護フレームを区切る(delineate)ためのいずれかの特定の方法を仮定する必要はない。 第1の実施形態のFEC符号は、最大で2 10 −1=1,023ビットのデータワードを保護することが可能である。 従って、実際上は、例えば64B/66B規格によって定義されるタイプの64ビット・パケットを最大で15個含む(16個の冗長ビットを含む)ECC保護フレームを考慮することができる。

    第1の実施形態による、強固な誤り検出及び訂正能力を有するFECを実現する符号は、以下に記載されるように構成される。 FEC符号は、ハミング符号を、2項多項式x +1を用いて生成することができるn次のビット・インターリーブ・パリティ(BIP−n)符号と組み合わせる。 ハミング符号は、いずれかの既約多項式、好ましくは原始多項式から生成することができ、そのリストは非特許文献3に見ることができる。 Peterson及びWeldonは、付録Cの表C. 2において、8進数では「2011」で表される10次多項式、即ちH(x)=x 10 +x +1を示している。 以下で説明される理由により、6次のBIP符号が選択され、これは多項式B(x)=x +1に対応する。

    ハミング符号の次数は、保護することができるECCビットを含む符号の長さ、即ち、パケット又は符号ワードの最大サイズを決定する。 最大長のシーケンスを生成する10次原始多項式は、1,023ビット以上に及ぶものとすることができる。 従って、これを用いて、典型的な64バイト・パケットと、最大で127バイトまでのいずれかの長さのパケットとを保護することが可能である。 BIPの次数は、スクランブル多項式の項によって定められる均一な誤り間隔、すなわち0−39、39−58(すなわち19ビット間隔)及び0−58がnを法とする同じ剰余を持たないことを保証するように選択される。 この手法は、元の送信データワードと宛先ノードにおける再構成データワードとの間のXOR演算の結果である固有のチェックビット誤りシンドロームを保証する。 64B/66B規格の場合には、以下の表1に示されるように、スクランブラ多項式の項の全ての指数について異なる剰余を与える最初の法がn=6であるため、BIP−n符号は、選択されたスクランブラ多項式G(X)=X 58 +X 39 +1について少なくとも6次でなければならない。

    図6は、システムによって利用されるチャネルの幅及び数について最も強固な解が実現されるようにハミング符号及びBIP−n符号の次数を選択するためのアルゴリズムを示すフローチャートの図である。 増幅されるビット誤りの可能な組の各々の間の距離は、スクランブル多項式の指数から決定されなければならず600、このスクランブル多項式は、64B/66B規格の場合にはG(X)=X 58 +X 39 +1に対応する。 ビットインターリーブ・パリティ(BIP−n)符号の最小の指数(n)は、どの単一送信誤りパターン及びその複製も固有の法nの剰余を戻すように決定されなければならない(601−605)。 ハミング符号H(x)=x 10 +x +1の場合には、BIP−nについてn=6を選択することは、誤りの間隔の組み合わせを0−39、39−58、0−39−58とすることになり、単一誤りは常に、以下の表2に示されるように、BIP−6に対応するシンドロームの6ビットの要素について異なるパターンを戻す。 6を法とするビット距離の除算が、固有の剰余を与えるためのnの第1の値である。 所与のシステム構成についてECCチェックビットに当てることができる全ビット数に基づいて、ハミング符号の次数mは、m−nビットとして算出される607。 BIP−6多項式を選択することによって、最大数のチェックビットを符号の第2の部分に当てられるようになり、このことは、多重ビット誤りに対する保護について最高レベルの強固さを保証する。

    従って、BIP−6符号と組み合わせるときには、スクランブラによってフレームのどこにでも誤り増幅が発生し、それが幾つかのリンク上で転送される可能性があるにもかかわらず、単一誤り訂正符号を達成するには単純なハミング符号で十分である。 この点において、誤りモデルと合う全ての誤りの組み合わせは、容易に復号化できて訂正することが可能な固有のシンドロームを有する。

    図7を参照すると、第1の実施形態による、H(x)及びB(x)を用いたデータワードの増幅により生成される(1,023/1,007)符号のH−行列形式(1,023列、16行)が示される。 しかしながら、符号化におけるECCビットの計算を簡単なものにできるように、図7に示される行列は、チェックビット行列の対化を必要とする系統的な形式(systematic form)に転置されることが好ましい。 これは、標準的な数学的方法を用いて達成することができる。 結果として得られる、図7から導びかれた系統的な形式の行列が、図8に示される。

    図3及び図4において示されるように間隔で配置された単一ビット誤りから三重ビット誤りまでの組み合わせを全てチェックした後、FEC符号は、スクランブラ多項式による誤りの増幅にもかかわらず、強固な単一誤り訂正符号を提供する。 1,023ビットのパケットにおいては、3,976通りの誤りの組み合わせが存在し、各々は、異なるシンドロームを戻すため、全て明確に訂正することができる。 誤りの区分の各々について固有の誤りシンドロームの数は、以下の通りである。

    行列の容量より短いデータ・フィールドについては、FEC符号は、実際の用途のパケット・サイズに合うように減少させなければならず、廃棄されたビットは考慮されない。 行列の特性を維持するために、この減少は、パケットのサイズまで左から右へ完全に行われなければはならない。

    宛先ノードにおける復号化は、デスクランブル処理操作の後で遂行される。 ECCビットの再生成を簡単なものにするためには、元の行列と同じ特性を有する系統的な形式のH−行列を用いるべきである。 しかしながら、これは、対角化操作によって簡単な元の行列構造が変更されるため、誤りシンドロームの復号化を複雑にする。 より効率的な進め方は、符号化側でチェックビットを生成することと、送信されたチェックビットと再計算されたチェックビットとを受信器側で比較することとの両方について、系統的なH−行列を用いることである。 シンドロームの復号化に先立ち、最初に、非系統的な形式の行列の場合と同じ結果を生じさせる変換が、元のシンドロームに適用される。 この変換は、生の16ビット・シンドローム・ベクトルと、以下の表3に示される正方チェックビット行列とをかけることによって、容易に達成される。

    例えば、インデックス1,018及び999(19ビット間隔)におけるビットが誤りであると仮定すれば、系統的な行列によって戻されるシンドロームは、
    0010111010100000
    である。
    表3の正方行列を用いた変換の後、シンドロームは 0110001011110011となり、これはまさに、元のデータストリームについて上記の非系統的な行列によって戻されるシンドロームである。

    最初の(最も左端の)6つのビットは、BIP生成された要素のサブシンドロームであり、表2のBIP−6シンドロームのパターンに示されるように19ビットの間隔で配置された2ビット誤りを示す。

    代替的な方法は、系統的な形式の行列を生成のために用い、元の(非系統的な)行列をチェックのために用いることである。 しかしながら、この手法は、2つの大きなXOR配列、すなわち、ECCチェックビット生成のためのものとチェック及び訂正のためのものとが必要であるという欠点を有する。 シンドロームを復号化する総当りの方法は、訂正されるべき3,976通りのビットの組み合わせを、2 16 (即ち65,536)エントリのルックアップ・テーブル(例えばROM)に格納することから成る。 他の全てのエントリは、処理される場合には、誤りモデル(即ち、単一ビット送信誤りから生じ、スクランブラの指数による間隔が空いた誤り)に合わず訂正することができない、検出されるが訂正不可能な誤り(UE)と見なされなければならない。

    それにもかかわらず、上述されたように16ビット・シンドロームによって示される2 16 −1=65,535の可能な誤りシンドロームのうち3,976のシンドロームのみが誤り訂正に用いられるため、誤りモデルに対応できない送信誤りの多くを検出することができる。 このような誤りは、シリアル・リンク上の同一パケットに生じる1つより多い単一誤りの結果である可能性がある。 このように、例えば、二重送信誤りの結果として、スクランブル処理の後に、最大6つの誤りが単一のパケットの中に存在する可能性がある。 図9は、誤りモデルに合わない2つから6つの誤りについて得られた結果をプロットするモンテカルロ・シミュレーションの統計的分布を示しており、誤りのうちの91%が検出されている。 しかしながら、残りの9%(10,000のうちの897)は、二重送信誤りの結果として得られる3,976個の組み合わせに属する、検出されないシンドロームを生じ、従って不訂正を招くことになる。

    このタイプの符号の一般化は、本方法を説明するのに用いられた例から容易に達成することができる。 代替的なスクランブル処理規則に対応する他の多項式を選択することによって、より長い符号又はより短い符号を構成することができる。 異なる誤りシンドロームをもたらすスクランブル多項に伴う誤り間隔の変更に対応するように、BIP−nについて異なる指数nを選択することもできる。

    本発明は1つの好ましい実施形態又は複数の実施形態を参照して説明されたが、当業者であれば、本発明の範囲から逸脱することなく種々の変更を行うことができ、その要素は均等物で置換できることが分かるであろう。 さらに、本発明の本質的な範囲から逸脱することなく、特定の状況又は材料を本発明の教示に適応させるために、多くの修正を行うことができる。 従って、本発明は、本発明を実施するために考慮される最良の形態として開示された特定の実施形態に限定されるものではなく、本発明は特許請求の範囲内の全ての実施形態を含むことが意図されている。

    QQ群二维码
    意见反馈