KR101104033B1 - 64b/66b 스크램블링과 양립가능한 다중 링크 송신을 위한 순방향 에러 정정 인코딩 - Google Patents

64b/66b 스크램블링과 양립가능한 다중 링크 송신을 위한 순방향 에러 정정 인코딩 Download PDF

Info

Publication number
KR101104033B1
KR101104033B1 KR1020097010147A KR20097010147A KR101104033B1 KR 101104033 B1 KR101104033 B1 KR 101104033B1 KR 1020097010147 A KR1020097010147 A KR 1020097010147A KR 20097010147 A KR20097010147 A KR 20097010147A KR 101104033 B1 KR101104033 B1 KR 101104033B1
Authority
KR
South Korea
Prior art keywords
code
bit
error
scrambling
dataword
Prior art date
Application number
KR1020097010147A
Other languages
English (en)
Other versions
KR20090085627A (ko
Inventor
티모시 제이 델
르네 글라이제
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20090085627A publication Critical patent/KR20090085627A/ko
Application granted granted Critical
Publication of KR101104033B1 publication Critical patent/KR101104033B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/19Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/27Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes using interleaving techniques
    • 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/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • 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/0071Use of interleaving
    • 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
    • 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/0057Block codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Liquid Crystal Display Device Control (AREA)

Abstract

직렬화/직렬화해제(SerDes) 통신 채널 링크를 통한 송신을 위해 64B/66B 인코딩 표준에 의해 사용되는 자기 동기화 스크램블러와 양립가능한 순방향 에러 정정(FEC) 코드가 제시된다. FEC 코드는 송신되는 신호에 대한 스크램블링 연산의 특성이 보존되도록 하기 위해, 인코딩과 디코딩이 스크램블링 전후에서 각각 발생할 수 있도록 해준다. FEC 코드는 64B/66B 스크램블링 프로세스로 인한 모든 송신 에러들의 삼증배에도 불구하고 임의의 단일 송신 에러의 정정이 가능하도록 해준다. 해밍 코드는 n 차수의 비트 인터리빙 패리티(BIP-n) 코드와 결합된다. 이 두 개의 코드들은 최대 길이의 패킷내의 임의의 곳에서의 에러뿐만이 아니라 디스크램블링 프로세스에 의해 두 번 또는 세 번 반복되는 에러 모두에 대한 보호를 제공한다. 모든 단일 비트 에러는 증배되건 증배되지 않건 간에 고유 신드롬을 가지며, 이에 따라 손쉽게 정정가능하다. 게다가, 패킷은 코드 효율성을 저하시키는 것 없이 보다 높은 대역폭 응용을 위해 다중 직렬 링크를 통해 전송될 수 있다. 해밍 코드는 H(x) = x10 + x3 + 1과 같은 임의의 기약 다항식으로부터 생성될 수 있다. BIP 코드는 64B/66B 스크램블링 다항식과 적합해지도록 6 차수가 되도록 선택되며 B(x) = x6 + 1로 표현된다.
Figure R1020097010147
통신, 채널, 링크, 64B/66B, 인코딩, 스크램블, 순방향 에러 정정, FEC, 코드, 디코딩, 에러, 해밍 코드, 차수, BIP, 신드롬, 패킷, 다항식.

Description

64B/66B 스크램블링과 양립가능한 다중 링크 송신을 위한 순방향 에러 정정 인코딩{FORWARD ERROR CORRECTION ENCODING FOR MULTIPLE LINK TRANSMISSION COMPATIBLE WITH 64B/66B SCRAMBLING}
본 발명의 분야는 고속 디지털 통신 시스템에 관한 것이며, 보다 구체적으로는 자기 동기화 스크램블링을 원인으로 하는 비트 에러 확산(bit error spreading)에 의해 야기된 단일 비트 에러들의 증배(multiplication)를 정정함으로써 송신 신호의 신뢰성을 강화시키기 위한 개선된 인코딩 기술들에 관한 것이다.
디지털 통신 시스템에서, 데이터의 송신은 통신 채널내의 노이즈의 존재로 인하여 손상 및 에러가 발생하기 쉽다. 목적지측(destination)에서 신호의 정확한 수신을 용이하게 하기 위해 사용되는 스크램블링은 에러 확산으로서 알려진 프로세스를 통해 추가적인 에러를 불러일으킨다. 이와 같은 시스템에서는, 에러의 정정을 가능토록 하기 위해 용장 패리티 비트(redundant parity bit)를 이용하여 소스측(source)에서 송신 신호를 인코딩하는 것이 일반적이다. 일반적으로 디지털 비트 스트림은 시스템 수신기가 송신 데이터로부터 클럭 신호 타이밍 참조를 추출할 수 있는 최대 길이를 기초로 n개의 비트들의 고정 길이 데이터워드로 파싱된다. 용장 비트의 연결(concatenation)을 통해, 인코딩된 m개 비트들의 디지털 워드는 원래 데이터워드보다 길다.
고속 링크를 위한 에러 정정을 제공하는데에 있어서의 한가지 도전과제는 보호되는 데이터워드에 부가된 임의의 에러 정정 체크비트들이 물리층의 비트 천이 밀도에 대해 미치는 영향을 또한 고려할 필요가 있다는 것이다. 일반적으로, 스트로브(strobe) 데이터에 대한 패킷 경계내에서의 적절한 위치와의 동기화를 유지하기 위해, 0에서 l로, 또는 l에서 0으로의 천이의 최소 갯수를 관찰해야 한다. 예를 들어, 0들의 긴 스트림은 수신기로 하여금 수신되는 데이터를 샘플링하는 시기를 놓쳐버리게 만들 수 있다. 따라서, 궁극적으로 1이 송신되는 경우, 수신기는 동기화를 놓쳐버릴 수 있고 0에서 1로의 천이를 검출하는 것을 못할 수 있다.
동기화의 손실을 방지하기 위해, 인코딩된 데이터워드가 알려진 여러 스크램블링 기술들 중 한가지에 의해 프로세싱될 수 있다. 자기 동기화된 스크램블러는 수학적으로 보증되는 최소 갯수의 비트 천이들을 야기시키는 미리정의된 다항식에 따라 데이터워드를 증배(multiply)시키도록 프로그램된 선형 피드백 쉬프트 레지스터(LFSR; Linear Feedback Shift Register)로 종종 구현된다. 스크램블러 LFSR은 또한 모든 제로(0) 데이터 페이로드에 대한 비트 천이들의 갯수를 한층 높이도록 하기 위해 특정값으로 미리설정될 수 있다. 수신측에서는, 페이로드가 보통 이와 유사한 역 프로세스에 의해 디스크램블링되어야 하며, 여기서, 비트스트림은 동일하게 미리정의된 다항식에 의해 분할된다.
데이터 스크램블링은 송신기와 수신기 사이의 클럭 동기화를 유지하는데 사용된다. 상술한 이유때문에, 송신된 클럭의 성공적인 추출을 위해 논리 천이의 최 소 갯수가 인식될 수 있도록, 보통, 데이터 스크램블링 알고리즘은 순차적으로 송신된 1들 또는 0들의 최대 갯수를 제한시킨다. 동일한 값을 갖는 비트들의 최대 갯수를 제한시킴으로써 수신기가 소스측과 동기화를 유지할 수 있게 해준다.
비록 스크램블링은 수신기 드리프트를 감소시키는데 도움이 되지만, 원래 데이터 스트림에서 발생하는 단일 비트 에러가 스크램블링 프로세스를 통해 증배되기 때문에, 스크램블링은 추가적인 송신 에러의 원인을 제공한다. 단일 비트 에러의 증배는 스크램블링 및 디스크램블링 함수가 원래 송신되었던 데이터를 재구축할 때 에러가 발생한 비트를 포함하여 데이터워드의 각각의 비트에 의존하기 때문에 발생한다. 이러한 형태의 단일 비트 에러의 증배는 "비트 에러 확산"으로서 알려져 있으며, 이것은 디스크램블러가 스크램블링된 신호를 신호의 원래 상태로 복구시키고자 시도할 때에 수신기에서 발생한다.
모든 비트스트림들이 적절하게 스크램블링되도록 보장하기 위해, 데이터워드에 부가되는 임의의 에러 정정 코드(ECC) 체크비트들이 또한 스크램블링되어야 한다. 이것은 ECC 체크비트들이 송신되는 워드에 추가된 후에 스크램블링이 수행되어야 할 것을 필요로 한다. 마찬가지로, 송신된 데이터워드는 수신기에서 이행되는 어떠한 ECC 방법이라도 가동시키기 이전에 수신기에서 디스크램블링된다. 이런식으로, 비트 송신 밀도가 단지 패킷의 데이터비트 부분에 대해서 유지되지는 않고, 패킷 전체에 대해서 유지된다.
예시적인 종래기술의 통신 시스템이 도 1에서 도시되는데, 여기서 (물리적 코딩 서브층; PCS) 상위 인터페이스(100)는 발송되거나(102) 또는 수신되는(104) 데이터의 전송의 물리적 모드에 상관없이 데이터 통신 장비를 위한 인터페이스를 제공하는 10기가비트 미디어 독립 인터페이스(XGMII)를 나타낸다. 인코더(142)와 기어 박스(146) 기능부는 데이터 및 제어 문자를 블럭들에 맵핑시키고 포맷을 개조시키는데 필요하다. 이러한 인코더(142)와 기어 박스(146) 기능부는 본 발명의 이해에 필요하지 않으므로, 추가 설명은 하지 않는다. 수신 경로(150)는 원래의 비트 스트림을 복구시키기 위해 디스크램블러(154)를 포함한다. PCS(120)는 또한 송신 매체상의 비트 에러율을 모니터링하기 위한 기능부(160)를 포함하며, 송신 인코더(142)의 대응부인 디코딩 기능부(152)가 존재한다. 논리적 인터페이스(100)로부터의 데이터는 물리적 코딩 서브층(120)으로 보내지는데, 여기서는 데이터가 제일 먼저 적절한 ECC로 인코딩되고 그 후에 스크램블링된다. 마지막으로, 필요한 경우, 인코딩과 스크램블링을 수행하는 논리 회로의 속도는 기어 박스(146)에 의해 실제 물리적 매체(115)의 송신 속도와 일치된다. 64B/66B 코드의 경우, 그 이름이 제시하는 바와 같이, 송신되는 64개의 비트들마다 두 개의 비트들이 기어 박스에 의해 추가된다. 64-비트 패킷을 프레임화하는데 사용되는 두 개의 여분의 비트들은 수신시에 제거되어 스크램블링 및 정정 프로세싱 단계에서 포함되지 않는다. 그 후, 데이터는 원래의 데이터워드와 인코딩된 체크비트를 포함하는 패킷으로서 인터페이스 매체를 통해 보내지는데, 이 모든 것들은 요구되는 비트 천이 밀도를 제공하기 위해 스크램블링된 것들이다.
비록 본 발명은 10Gb의 특별한 상황에서 서술되었지만, 이와 다른 환경에서도 실시될 수 있으며, 아래의 상세한 설명으로부터, 다른 응용예들 특히, 다른 스 크램블링 다항식이 사용될 응용예들에 대해서 어떻게 적용하는지를 본 발명의 당업자는 알 것이다.
페이로드의 물리적 송신 동안에, 무작위적인 단일 비트 에러가 흔히 발생한다. 이것은 오늘날에 사용되는 통신 채널에서 채용된 매우 높은 속도때문이다. 만일 데이터 패킷내에 오직 하나의 에러만이 존재한다면, 단순 해밍 ECC가 이와 같은 모든 에러들을 정정할 수 있을 것이다. 자기 동기화된 스크램블러들은 에러를 증배시키기 때문에, 우발된(Incident) 에러 및 임의의 반복된 에러들을 처리하기 위해 수신기에서 보다 강력한 솔루션이 필요하다.
동일한 논리 칩내에 존재할 수 있거나 또는 완전히 다른 논리 칩상에 존재할 수 있는 수신단측에서, 수신된 패킷은 제일 먼저 동기화되고, 패킷 경계가 검출된다. 본 발명은 패킷 경계를 기술하는(delineate) 임의의 특정한 방법을 가정하지 않는다. 종종, 고정된 크기의 패킷이 송신되는 경우, 패킷 경계는 추가된 용장 비트와 데이터 스트림의 인코딩에 기초하여 검출된다. 그런 후, 비트 에러율(BER)을 가능한 한 낮게 유지하기 위해, 스크램블링 단계에서 구해진 미리정의된 비트 천이 밀도를 이용하여 패킷이 수신된다. 수신된 패킷은 디스크램블링되고, 그런 후에 비트 스트림내의 임의의 에러의 정정이 가능하도록 디코딩된다.
하지만, 상술한 바와 같이, 디스크램블링 프로세스는 송신 동안에 채널내로 도입되었던 임의의 단일 비트 에러가 스크램블링 다항식의 차수와 항의 갯수에 따라 반복되도록 하는 바람직하지 않는 효과를 갖는다. 단일 비트 에러는 채널을 통해 단순히 전파될 수 있거나, 또는 스크램블링 다항식의 형태에 따라 여러번 반복 될 수 있다. 에러가 단일 비트 에러로 남는지 또는 여러번 반복되는지는 송신되는 페이로드 시퀀스내의 어디에서 에러가 발생하느냐에 달려있다. 만약 에러가 시퀀스의 시작부분에서 발생하면, 다항식의 최고차수가 송신 시퀀스내의 비트의 총 갯수 보다 작은 경우에, 에러는 LFSR의 결과로서 확산될 것이며 동일한 데이터 패킷내에서 보통 반복될 것이다. 만약 초기 에러가 페이로드의 말단부쪽에서 발생하면, 에러는 여전히 확산할 것이지만, 오직 첫번째 에러 발생만이 현재의 패킷내에 위치할 수 있으며, 이로써 오직 단일 비트 에러만을 불러일으킨다. 그럼에도 불구하고, 에러의 반복 현상이 이 후에 다음 데이터 패킷내에서 나타나서 이중 비트 에러를 유발시킬 것이다. 워드의 중앙에서 우발된 에러는 스크램블링 다항식 및 우발된 에러의 위치에 따라 다양한 이중 비트 에러들로 확산될 수 있다.
비트 천이 밀도 또는 최대 수행 길이와 관련된 디지털 통신의 다른 실시양태는 누적형 DC 오프셋이며, 이것은 수신기에서 경험되는 송신 데이터 스트림의 저주파수 전압 성분의 합을 반영한다. 이진 시스템에서, 일반적으로 0과 1의 이산 논리값이 상반되는 극성 전압들에 할당된다. 그 결과, 주기적인 조정 없이, 수신기에서 경험되는 누적형 DC 오프셋은 양전력 한계 또는 음전력 한계쪽으로 이동할 수 있는데, 이것은 수신기에서 오버로드 상태를 야기시킬 수 있다. 누적형 DC 불균형은 균형잡힌 비트 스트림을 생성시키기 위해 반전될 필요가 있는 비트 값들의 갯수로서 표현될 수 있다. 만약 수신기에서 경험되는 누적형 DC 오프셋이 효과적으로 균형을 이루게 되면, 수신기에서 경험되는 DC 전압 스윙은 감소될 수 있다. 이런 점에서, 저주파수 노이즈가 보다 효과적으로 필터처리로 제거될 수 있기 때문에 균형을 이 룬 DC 오프셋은 수신기에서의 총체적인 신호 대 잡음비(SNR)를 줄이는데 활용될 수 있다. 이것은 인코딩된 데이터 스트림이 고정된 데이터 비트 단위에 걸쳐 균형을 이루는 논리 0과 논리 1의 분포를 나타내도록 보장함으로써 달성된다.
순방향 에러 정정(FEC)은 송신 과정중에 발생하는 에러를 확인 및 정정하여 에러가 발생할 때에 송신기에 의해 데이터를 재송신하는 단계를 제거시키도록 설계된 기술이다. FEC는 원래 데이터와 함께 송신되는 용장 비트를 생성하도록 하는 알고리즘을 디지털 데이터 스트림에 적용함으로써 구현된다. 인코딩된 데이터의 송신된 계산치와 수신된 인코딩을 비교하기 위해 시스템의 수신단측에서 동일한 알고리즘이 수행된다. 비교의 결과는 FEC 신드롬(syndrome)으로서 알려져 있다. 널(null) 신드롬은 에러 없이 수신된 데이터 스트림을 나타낸다. 에러 신드롬의 임의의 비트 위치에서의 비-제로 엔트리는 하나 이상의 에러들을 정정하는 것으로 해석되어야 한다.
디스크램블링된 데이터 스트림내의 에러의 총 갯수가 FEC 디코더의 성능의 한도를 넘어설 수 있기 때문에 비트 에러 확산의 문제점은 수신기에서 FEC의 존재로 더욱 심각해진다. 만약 시스템의 에러 검출 및 정정 성능의 한도를 넘어서게 되면, 원래 데이터는 손상되어 복구될 수 없게 되고, 재송신되어야만 하며, 이로써 전반적인 시스템 성능에 영향을 미친다.
고속 통신 링크를 통해 스크램블링된 데이터의 정정에 영향을 미치는 다른 인자는 다중 직렬 링크들을 병렬 구조로 구동시키도록 실시하는 것이다. 총체적인 시스템 대역폭을 향상시키기 위해, 여러 개의 링크들 또는 비트레인들(bitlanes)을 통해 데이터의 패킷을 동시적으로 송신하도록 다수의 링크들을 집결시키는 것이 더욱 더 일반화되어 가고 있다. 이런 식으로, 동일한 데이터 페이로드는 단일 링크를 통해 페이로드의 전달을 위해 사용되는 시간의 N/b 부분내에서 전달될 수 있는데, 여기서 N은 단일 링크를 통해 하나의 데이터 페이로드 또는 패킷을 송신하는데 필요로 하는 시간이며, b는 링크들의 갯수이다. 서브분할된 패킷의 길이는 또한 N/b인 것이 보다 손쉽게 알 수 있다. 이론상, N/b는 분수일 수 있지만, 실제로는, 링크들의 갯수가 (페이로드, 헤더 및 용장 비트를 포함한) 패킷 크기를 고려하여 선택되므로, 이 예시에서 b는 N을 균등하게 분할하는 것으로 가정하며, 이에 따라 각각의 서브 패킷들은 동일하거나 또는 유사한 갯수의 비트들을 포함할 것이다. 이 경우, 각각의 물리적 링크에 걸쳐 적절한 비트 천이 밀도를 유지하기 위해(이것은 낮은 송신 BER을 달성하기 위해 필요로 한다), 데이터워드는 b 개의 서브 데이터워드들로 분할되며, 각각의 서브 데이터워드들은 독립적으로 스크램블링되고 디스크램블링된다. 수신측상에서, 디스크램블링된 서브 데이터워드들은 원래 데이터워드를 형성하도록 재구축되며, 그런 후에 가능한 에러 정정을 위해 디코딩된다.
"Forward Error Correction Scheme Compatible with the Bit Error Spreading of a Scrambler"이라는 명칭의 공동 양도된 미국 특허 출원 US20040193997A1와 같이(이 문헌은 참조로서 본 명세서내에 병합된다), 스크램블러의 비트 에러 확산과 양립가능한 ECC를 제공하기 위한 어떤 제안들이 제시되었다. 이와 같은 방법의 단점은, 상술한 바와 같이, 패킷들이 다수의 비트레인들을 통해 송신될 때에 에러들을 정정할 수 없다는 것이다.
FEC 코드의 다른 응용예들은 디스크램블링 프로세스에 기여가능한 비트 에러 확산의 영향을 완전하게 없애지 못한다. 예를 들어, Xilinx에 의해 제출된 네트워크 프로세싱 포럼 논문(NPF 2003.320.00)은 64B/66B 인코더를 개시하는데, 이것은 디스크램블링에 의해 야기되는 비트 에러 증배 문제를 해결하지 못한다. PMC-Sierra, Xilinx, 및 Sandia 국가 연구소에 의해 제출된 광학 인터네트워킹 포럼논문(OIF2004.229.03)에 의해 다른 방법이 제시되었으나, 또한 이것도 증배 문제를 해결하지 못한다. 마찬가지로, 공동 양도된 미국 특허 출원 2004/0193997 Al에서는 비트 에러 확산을 줄이기 위해 단순 FEC 코드를 스크램블링 및 디스크램블링 함수와 결합시키는 방법을 개시하지만, 이것은 단일 직렬 링크를 통한 데이터 패킷의 송신을 필요로 하고, 이에 따라 비트 에러 정보를 다수의 패킷들을 통해 전달한다. 따라서, 채널 대역폭 효율성을 보존하면서 다중 채널 통신 시스템을 통해 구현될 수 있는 64B/66B 스크램블링 포맷과 양립가능한 FEC 코드의 필요성이 존재한다.
64B/66B 인코딩 표준에 의해 사용되는 스크램블러와 양립가능한 순방향 에러 정정(FEC) 코드가 직렬화/직렬화해제(SerDes; serializer-deserializer) 통신 링크를 통한 송신을 위해 개시된다. 64B/66B 인코딩 표준은 8B/10B 인코딩 표준(2/8 또는 25%)과 비교하여, 필요로 하는 에러 정정 또는 패리티 비트의 갯수의 측면에서 보다 낮은 오버헤드를 가능토록 해준다(즉, 2/64 또는 3%). 제안된 FEC는 스크램블링 전후로 인코딩과 디코딩이 각각 발생될 수 있도록 함으로써, 그 결과 송신 신호에 대한 스크램블링 연산의 결과가 보존된다. 이 코드는 64B/66B 스크램블링 프로세스로 인한 모든 송신 에러들의 삼증배에도 불구하고 임의의 단일 송신 에러의 정정을 가능하게 해준다.
제1 실시예에 따르면, 해밍 코드가 n차 비트 인터리빙 패리티 코드(BIP-n)와 결합된다. 해밍 코드는 H(x) = X10 + X3 + 1과 같은, 임의의 기약 다항식(irreducible polynomial)으로부터 생성될 수 있다. 6차 다항식이 BIP 코드를 위해 선택되며, 이것은 B(x) = X6 + 1로 표현된다. BIP 코드의 차수는 스크램블러의 에러 확산 패턴에 적합하도록 선택되어, 그 결과 고유 FEC 신드롬이 항상 획득될 수 있다. 이러한 두 개의 코드들은 모두 최대 길이의 패킷내의 임의의 곳에서의 에러뿐만이 아니라 증배되는 에러, 즉 디스크램블링 프로세스에 의해 두 번 또는 세 번 반복되는 에러 모두에 대한 보호를 제공한다. 확산으로 인한 비트 에러의 전파는 예측가능한 패턴 또는 신드롬에 의해 특징지어진다. 모든 단일 비트 에러는 증배되건 증배되지 않건 간에 고유의 신드롬을 가지며, 이에 따라, 제안된 FEC 코드에 의해 손쉽게 정정가능하다. 게다가, 패킷은 여러 개의 직렬 링크들을 통해 전송될 수 있는데, 이것은 코드 효율성을 저하시키는 것 없이 보다 높은 대역폭 응용에 있어 바람직하다.
바람직하게, 본 발명은 순방향 에러 정정 코드를 직렬화-직렬화해제 링크를 통한 송신용 디지털 신호에 적용하는 방법을 제공하며, 본 방법은, H(x) = X10 + X3 + 1의 형태의 기약 다항식으로부터의 해밍 코드를 디지털 신호에 적용하는 단계; n차의 비트 인터리빙 패리티 코드(BIP-n)를 디지털 신호에 적용하는 단계; 인코딩된 디지털 신호를 위한 제1 체크비트 시퀀스를 생성하는 단계; 제1 체크비트 시퀀스를 인코딩된 디지털 신호에 부가시키는 단계; 64B/66B 스크램블링 프로토콜을 이용하여 인코딩된 디지털 신호와 제1 체크비트 시퀀스를 스크램블링하는 단계; 직렬화-직렬화해제 링크를 통해 스크램블링되고 인코딩된 디지털 신호를 송신하는 단계; 송신된 디지털 신호를 수신기 노드에서 디스크램블링하는 단계; 수신기 노드에서 제2 체크비트 시퀀스를 생성하는 단계; 제1 체크비트 시퀀스와 제2 체크비트 시퀀스를 비교하는 단계; 송신된 디지털 신호가 제1 비트 에러를 포함하는지를 판정하는 단계; 및 제1 비트 에러, 제1 반복 에러 및 제2 반복 에러를 정정하는 단계를 포함한다.
바람직하게, 본 발명은 자기 동기화 스크램블러를 이용하여 패킷 기반 디지털 통신 시스템을 위한 순방향 에러 정정(FEC) 코드를 구축하는 방법을 제공하며, 상기 방법은, 단일 송신 에러 및 송신된 FEC 인코딩된 프레임의 수신 시에 자기 동기화 스크램블러에 의해 생성된 상기 단일 송신 에러의 반복체의 모든 에러 패턴들사이를 식별할 수 있는 비트 인터리빙 패리티(BIP-n) 코드의 차수(power) n을 결정하는 단계; 패킷 기반 디지털 통신 시스템의 패킷 크기와 양립가능한 길이를 갖는 해밍 코드를 생성하는데 사용되는 다항식의 차수를 결정하는 단계; FEC 코드를 형성하고, 송신된 FEC 인코딩된 프레임의 수신 시에 단일 비트 송신 에러 및 그 반복체의 모든 조합에 대한 고유 신드롬 세트를 획득하기 위해, BIP-n 코드와 해밍 코드를 결합하는 단계; 및 FEC 코드로 하여금 스크램블러에 의해 제공된 물리층의 비트 천이 밀도를 보존하면서 단일 송신 에러 및 자기 동기화된 스크램블러에 의한 단일 송신 에러의 반복체 모두를 정정할 수 있게 하는 단계를 포함한다.
도 1은 10Gb 미디어 독립 물리 인터페이스를 개략적으로 도시한다.
도 2는 제1 실시예에 따른 인코딩 및 디코딩 알고리즘의 흐름도를 도시한다.
도 3은 단일 데이터 패킷에 대한 디스크램블링 연산에 의해 야기되는 비트 에러 확산의 개념을 개략적으로 도시한다.
도 4는 단일 채널상의 다중 데이터 패킷들에 대한 디스크램블링 연산에 의해 야기되는 비트 에러 확산의 개념을 개략적으로 도시한다.
도 5는 다중 링크 시스템내의 단일 링크를 통해 송신되어 정정불가능한 에러 상태를 초래하는 다수의 에러들을 개략적으로 도시한다.
도 6은 제1 실시예에 따른 FEC 다항식을 선택하는 방법에 관한 흐름도를 도시한다.
도 7은 비트 인터리빙 패리티 및 해밍 인코딩의 조합을 이용하여 제1 실시예에 따른 순방향 에러 정정 코드의 예시적인 H-행렬을 도시한다.
도 8은 도 7의 예시적인 H-행렬의 대칭(systematic) 형태의 전치 버전(transposed version)을 도시한다.
도 9는 제1 실시예에 따른 순방향 에러 정정 인코딩을 이용하여 비검출된 에러의 분포의 플롯을 도시한다.
이하의 실시예들의 상세한 설명에서는, 본 발명분야의 당업자가 본 발명을 실시할 수 있도록 충분히 상세하게 설명된 특정 실시예들을 예시로서 도시하고 있으며 본 발명의 일부를 형성하는 첨부된 도면들을 참조하지만, 다른 실시예들이 활용될 수 있고, 논리적, 구조적, 전기적 및 기타 변경들이 본 발명의 범위를 일탈하는 것 없이 행해질 수 있음을 이해해야 한다.
제1 실시예에 따르면, 8B/10B 인코딩(2/8 또는 25%) 보다 낮은 오버헤드를 갖는(즉, 2/64 또는 3%), SerDes 채널 링크를 통한 송신을 위한 64B/66B 인코딩에 의해 사용되는 스크램블러와 양립가능한 FEC 코드가 개시된다. 제1 실시예에 따른 FEC 코드는 송신되는 신호에 대한 스크램블링 연산의 특성을 보존하기 위해, 인코딩과 디코딩이 각각 스크램블링 이전과 디스크램블링 이후에서 발생하는 것을 필요로 한다. 제안된 코드는 64B/66B 디스크램블링 프로세스로부터 야기되는 모든 송신 에러들의 삼증배에도 불구하고 임의의 단일 송신 에러의 정정을 가능하게 해준다.
도 2는 제1 실시예에 따른 인코딩 및 디코딩 프로세싱 흐름을 도시한다. XOR 논리연산이 송신되는 데이터워드에 대해 수행되어, 대칭행렬 H 내에서 정의된 등식에 따라 16비트 ECC 체크비트 시퀀스를 형성한다(단계 200). 체크비트는 데이터워드에 부가되어 인코딩된 데이터워드를 형성하며(단계 201), 이 데이터워드는 스크램블러에 입력된다. 그 후 스크램블링된 데이터워드가 채널을 통해 송신되고(단계 202), 목적지에서 디스크램블링된다(단계 203). 체크비트는 데이터워드와 분리되어 국부적으로 저장된다(단계 204). 새로운 체크비트 세트가 송신된 데이터워드로부터 생성이 되고, 송신된 체크비트와의 비교가 수행된다(단계 205). 이러한 비교 단계의 결과로 에러의 갯수와 위치가 판정되는 에러 신드롬이 생성된다. 에러 신드롬의 첫번째 여섯 개의 비트들은 인코딩 프로세스의 BIP-n 부분에 대응하며, 이것은 송신되는 데이터워드내에 존재하는 에러의 갯수를 나타낸다(단계 208). 에러 신드롬의 나머지 열 개의 비트들은 정정되는 하나 이상의 에러들의 위치를 표시할 것이다(단계 211).
도 3을 참조하면, 도 3에서는 64B/66B 프로토콜에서 활용되도록 적용되는 스크램블링 다항식에 따른 개개별의 패킷에 대한 다양한 에러 확산 신드롬이 도시된다. 64B/66B 프로토콜에서, 스크램블링 다항식은 G(x) = 1 + X39 + X58 로서 표현되고, 따라서 스크램블링 프로세스는 데이터워드의 삼증배를 수반한다. 단일 에러가 패킷 프레임내의 임의의 곳에서 발생할 수 있는 반면에, 두 개의 에러들(단일 에러 및 하나의 반복된 에러예)은 패킷내의 임의의 곳에서 0번째-39번째의 비트 간격을 가지면서 이격되거나 또는 패킷내의 임의의 곳에서 39번째-58번째의 비트 간격을 가지면서 이격될 수 있다. 세 개의 에러들은 패킷내에서 0번째, 39번째 및 58번째의 비트 간격을 가지면서 이격될 것이다. 따라서, 에러들은 스크램블링 다항식의 차수, 즉 0, 39 및 58에 따라 59개의 비트들상에 걸치게 된다. 만약 FEC 코드에 의해 보호되는 프레임을 전송하는데 전용되는 SerDes 레인들(또는 고속 링크들)의 갯수에 관하여 어떠한 가정도 취해지지 않은 경우, 링크상의 단일 송신 에러는 프레임내의 임의의 곳에서 세 개 까지의 에러들의 발생을 유발시킬 수 있다. 만약 세 개의 에러들이 동일한 프레임내에 위치하면, 이 에러들은 다항식의 차수, 즉 0-39-58에 따라 이격되는 것으로 가정한다. 만약 두 개의 에러들이 동일한 프레임내에 위치하면, 이 에러들은 프레임내의 임의의 곳에서 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+1번째 패킷내에서 단일 비트 에러 또는 이중 비트 에러를 야기시키는 것에 더하여, n번째 패킷내에서 단일 비트 에러 또는 이중 비트 에러를 야기시킨다.
따라서, 단일 에러 정정(SEC) 해밍 코드는 무작위적인 단일 비트 에러를 정정하는데에는 충분할 것이지만, 도 4의 세가지 경우들 모두에서 도시된 바와 같이 스크램블링 알고리즘에 의해 야기되는 이중 비트 에러 또는 삼중 비트 에러를 정정할 수는 없을 것임을 알 수 있다.
다중 채널 링크의 경우에서, 도 5는 어떻게 단일 패킷이 분해되어 임의의 갯수의 링크들을 통해 전송되고, 수신기에서 재구성될 수 있는지를 보여준다. 단일, 이중 및 삼중 비트 에러들은 패킷내의 임의의 곳에서 발생할 수 있으며, 반복된 에러들의 간격이 스크램블링 다항식의 함수이기 때문에 여전히 정정이 가능하다. 만일 BIP-n 코드 멱지수(exponent)가 고유의 나머지 모듈로 n(modulo n)이 존재하도록 선택이 되면, 반복되는 비트 에러들은 확인되어 정정될 수 있다.
도 5에서 도시된 바와 같이, n번째 패킷은 4개의 서브-패킷들로 분해된다. 각각의 서브-패킷들은 개별적으로 스크램블링되고 디스크램블링된다. 하지만, 이제 서브-패킷 3에서 발생한 확산 에러는 n번째 패킷내에서 두 개의 에러들을 유발시키는 것과 함께, n+1번째 패킷내에서 추가적인 에러를 유발시킨다. 불행하게도, ECC 정보는 패킷 경계를 거쳐서 전파되지 않는다. 따라서, 동일한 비트레인에서 n+1번 째 패킷에 대한 단일 비트 에러의 증배는 현재의 방법으로는 검출될 수 없으며, 이에 따라 US20040193997A1에서 사용된 방법은 다중 직렬 링크를 채용하는 시스템에서 다중 비트 에러를 정정하지 못할 것이다.
만약 송신되는 데이터 패킷의 각각의 성분이 19개의 비트들보다 작도록 패킷이 충분한 갯수의 링크들을 통해 송신되면, 오로지 단일 에러만이 정정되어야만 할 것이고 임의의 단일 해밍 코드 구현이면 충분할 것이다. 이것은 반복되는 에러는 단일 비트 에러가 나타나는 동일한 서브-패킷내에 결코 위치하지 않을 것이기 때문이다. 예를 들어, 64B/66B 코드에서, 64 바이트 프레임은 2 바이트의 ECC 체크비트로 보호될 수 있다. 비트 계수의 측면에서, 이것은 총 64 x 8 = 512 비트이다. 이제 만약 512 비트의 인코딩된 워드를 송신하는데 사용되는 링크들의 갯수가 적어도 32개이면, 각각의 서브 패킷들은 최대 16 비트일 것이며, 이것은 스크램블링 다항식의 19 비트 최소 확산 거리보다 작다. 따라서, 에러가 발생할 때마다, 에러는 결코 단지 하나의 ECC 워드로 확산되지 못할 수 있으며, 이에 따라 관련 패킷들 각각내에서는 단지 단일 비트 에러만이 발생한다. 하지만, 이러한 종류의 방법은 비효율적인데 왜냐 하면 추가적인 대역폭이 구현을 위해 필요하기 때문이다. 빈번하게, 4, 8 또는 16개의 그룹형태의 다중 비트레인들이 대역폭을 향상시키는데 사용된다. 일반적으로, 만약 N/b < s 이면, 단순 해밍 코드이면 충분하며, 다시 말하지만, 여기서 N은 ECC 보호된 프레임의 총 비트 길이이며, b는 비트레인들의 갯수이며, s는 스크램블러 다항식의 최소 확산 거리이다.
ECC 방법은 에러 모델과 정합되도록 설계된다. 그러므로, 에러 모델에 따른 임의의 에러는 정정될 수 있어야 한다. 본 명세서에서 설명된 에러 모델은 스크램블링 다항식의 차수에 따라 이격된 상태로 반복되는 에러들이 고려되어야 하도록 하기 위해 디스크램블링 프로세스에 의해 증배되는 단일 송신 에러이다. 하지만, 추가적인 에러(이 경우에서는 이중 비트 에러)를 검출하기 위한 ECC 코드의 성능은 평가되어야 한다. 예를 들어, 두 개의 송신 에러들이 발생한 경우, 디스크램블링 이후에 여섯 개 까지의 에러들이 검출될 수 있다. 반복적인 시뮬레이션이 FEC 코드의 검출 성능 레벨을 평가하기 위해 필요하다. 이상적으로, FEC 코드는 단일 에러 정정/이중 에러 검출(SEC/DED) 견고성 레벨을 달성해야만 하지만, 이것은 작은 비율의 이중 송신 에러가 검출되지 않는 현실에서는 실현되지 못할 수 있다.
64B/66B 표준은 두 개의 비트가 기술화(delineation)를 위해 추가되는 64 비트의 패킷을 정의한다. 본 발명은 ECC를 이용한 보호가 보다 큰 패킷 또는 프레임에 대해 행해질 것이고, 그래서 ECC를 이행하는데 필요한 용장 비트가 적정한 레벨에서 머물 것임을 잠재적으로 추정한다. 예시적인 경우로서, 용장 비트를 포함하는 프레임은 이러한 다수의 64 비트 패킷들 전체로 제한된다. 본 명세서에서 설명된 FEC 코드는 ECC 보호된 프레임을 기술하기 위한 임의의 특별한 방법을 가정할 필요가 없다. 제1 실시예의 FEC 코드는 210-l = 1,023개 까지의 비트들의 데이터워드를 보호할 수 있다. 따라서, 실행시, (16개의 용장 비트들을 포함하여) 15개의 64비트 패킷들, 예컨대 64B/66B 표준에 의해 정의된 유형의 패킷들까지 포함하는 ECC 보호된 프레임이 고려될 수 있다.
제1 실시예에 따른 견고한 에러 검출 및 정정 성능을 갖는 FEC를 실현시키기 위한 코드가 후술하는 바와 같이 구성된다. FEC 코드는 해밍 코드를 n차수의 비트 인터리빙 패리티(BIP-n) 코드와 결합시키며, 이 BIP-n 코드는 두 개의 항을 갖는 다항식 Xn + 1으로 생성될 수 있다. 해밍 코드는 임의의 기약 다항식, 바람직하게는 원시 다항식(primitive polynomial)으로부터 생성될 수 있으며, 이 다항식들의 리스트는 Peterson & Weldon의 'Error-Correcting Codes'(The MIT Press, 1972)에서 발견될 수 있으며, 이 문헌은 본 명세서에서 참조로서 병합된다. Peterson과 Weldon은 부록 C의 C.2 표에서 8진법 표시로 '2011'로서 표현된 10차 다항식, 즉 H(x) = X10 + X3 + 1을 보여준다. 6차 BIP 코드가 아래에서 설명된 이유로 선택이 되며, 이것은 다항식, B(x) = X6 + 1에 대응한다.
해밍 코드의 차수는 보호될 수 있는 ECC 비트를 포함하여, 코드의 길이, 즉 최대 패킷 또는 코드의 워드 크기를 결정한다. 최대 길이 시퀀스를 생성하는 10차 원시 다항식은 1,023개의 비트들에 걸칠 수 있다. 따라서, 이것은 전형적인 64 바이트 패킷과 127 바이트 까지의 길이의 패킷을 보호하는데 사용될 수 있다. 스크램블링 다항식 항들에 의해 정의된 균일한 에러 간격[즉 0-39, 39-58(즉, 19개의 비트들만큼 떨어져 있음) 및 0-58]이 동일한 나머지, 모듈로 n을 갖지 않는 것을 보장하도록 BIP의 차수가 선택된다. 이러한 방법은 고유 체크비트 에러 신드롬을 보장하는데, 이 고유 체크비트 에러 신드롬은 원래 송신된 데이터워드와 목적지 노드에서의 재구축된 데이터워드 사이의 XOR 연산의 결과이다. 66B/64B 표준의 경우, BIP-n 코드는 선택된 스크램블러 다항식 G(X) = X58 + X39 + 1을 위해 적어도 6차수이여야 하는데, 그 이유는 아래의 [표 1]에서 도시된 바와 같이, n = 6은 스크램블러 다항식 항들의 모든 차수에 대하여 서로다른 나머지들을 제공하는 첫번째 모듈로이기 때문이다.
[표 1]
(O 19 39 58) 모듈로 3 = (0 1 0 1)
(0 19 39 58) 모듈로 4 = (0 3 3 2)
(0 19 39 58) 모듈로 5 = (0 4 4 3)
(0 19 39 58) 모듈로 6 = (0 1 3 4)
(0 19 39 58) 모듈로 7 = (0 5 4 2)
도 6은 본 시스템의 의해 활용되는 채널들의 폭과 갯수에 대한 가장 견고한 솔루션이 실현되도록, 해밍 코드와 BIP-n 코드의 차수를 선택하는 알고리즘을 보여주는 흐름도를 도시한다. 각각의 가능한 세트의 증배되는 비트 에러들 사이의 거리는 스크램블링 다항식의 차수로부터 결정되어야 하며(단계 600), 이것은 64B/66B 표준의 경우에서 G(x) = X58 + X39 + 1에 대응한다. 임의의 단일 송신 에러 패턴과 에러 자신의 반복체가 고유 모듈로 n 나머지로 응답하도록, 비트 인터리빙 패리티의 최대 차수(n)(BIP-n) 코드가 결정되어야 한다(단계 601 내지 단계 605). 해밍 코드 H(x) = X10 + X3 + 1의 경우, BIP-n에서 n = 6을 선택하면 그 결과 0-39, 39-58, 0-39-58와 같이 이격된 에러들의 조합이 초래되며, 단일 에러는 아래의 [표 2] 에서 도시된 BIP-6에 대응하는 신드롬의 6-비트 성분에 대한 서로다른 패턴으로 항상 응답한다. 모듈로 6의 비트 거리 분할은 고유의 나머지들을 제공하는 첫번째 n 값이다. 주어진 시스템 구성을 위한 ECC 체크비트에 전용될 수 있는 비트들의 총 갯수(m)에 기초하여, 해밍 코드의 차수가 m 빼기 n 개의 비트로서 계산된다(단계 607). BIP-6 다항식을 선택함으로써 최대 갯수의 체크비트가 해당 코드의 제2 부분에 전용될 수 있게 해주며, 이것은 다중 비트 에러에 대하여 최고 수준의 보호 견고성을 보장해준다.
[표 2]
BIP-6 신드롬 패턴 (및 이들의 임의의 순환)
0 1 2 3 4 5
단일 에러 1 0 0 0 0 0
0 - 19 1 1 0 0 0 0
0 - 39 1 0 0 1 0 0
0 - 39 - 58 1 1 0 0 1 0
따라서, 단순 해밍 코드가 BIP-6 코드와 결합된 경우, 단순 해밍 코드는 프레임내의 임의의 곳에서 스크램블러에 의해 도입되고, 잠재적으로 여러 개의 링크들을 통해 전송된 에러 증배에도 불구하고 단일 에러 정정 코드를 달성하는데 충분한다. 이런 점에서, 모든 에러 조합들은 손쉽게 디코딩가능하고 정정가능한 고유 신드롬을 갖는 에러 모델과 정합된다.
도 7을 참조하면, 본 도면에서는 제1 실시예에 따른 H(x)와 B(x)를 이용하여 데이터워드의 증배로부터 생성된 H 행렬 형태(1,023개의 열, 16개의 행)의 (1,023/1,007) 코드를 도시한다. 하지만, 인코딩에서의 ECC 비트의 간단한 계산이 가능하도록 하기 위해서는, 바람직하게 도 5에서 도시된 행렬은 체크비트 행렬의 대각화를 필요로 하는 대칭형태로 전치되어야 한다. 이것은 표준적인 수학적 방법을 이용하여 달성될 수 있다. 도 7로부터 유도된 결과적인 대칭형태의 행렬이 도 8에서 도시된다.
도 3 및 도 4에서 도시된 바와 같이 이격된, 단일 비트 에러에서부터 삼중 비트 에러의 모든 조합을 체크한 후에, FEC 코드는 스크램블러 다항식에 의한 에러들의 증배에도 불구하고 견고한 단일 에러 정정 코드를 제공한다. 1,023 비트 패킷에서는, 3,976개의 에러 조합들이 존재하며, 각각의 에러 조합은 서로다른 신드롬으로 응답하여 이 에러들 모두는 확실하게 정정될 수 있다. 각 부류의 에러마다의 고유 에러 신드롬의 갯수는 다음과 같다.
3-비트 에러 조합 58-39-0 = 965
2-비트 에러 조합 39-0 = 984
2-비트 에러 조합 58-39 = 1,004
1-비트 에러 조합 = 1,023
총: 3,976
행렬의 용량보다 짧은 데이터 필드의 경우, FEC 코드는 실제 응용 패킷 크기와 정합하도록 크기감축(depopulate)되어야 하고, 폐기된 비트들은 고려되지 않는다. 행렬의 특성을 보존하기 위해, 크기감축은 패킷의 크기에 대해 철저하게 왼쪽 에서 오른쪽으로, 아래로 행해져야 한다.
목적지 노드에서의 디코딩이 디스크램블링 연산에 후속하여 이뤄진다. ECC 비트의 재생성을 단순화시키기 위해서는 원래 행렬과 동일한 특성을 갖는 대칭형태의 H 행렬이 사용되어야 한다. 하지만, 이것은 단순한 원래 행렬 구조가 대각화 연산에 의해 변경되기 때문에 에러 신드롬의 디코딩을 복잡하게 만든다. 보다 효율적인 진행 방법은 인코딩측에서 체크비트를 생성하기 위해, 그리고 수신기단에서 송신된 체크비트와 재계산된 체크비트를 비교하기 위해, 대칭행렬 H를 이용하는 것이다. 신드롬을 디코딩하기 이전에, 제일 먼저 원래 신드롬에 대해 변환이 적용되며, 이로써 상기 행렬의 비-대칭 형태의 경우와 동일한 결과를 산출시킨다. 이러한 변환은 미처리된 16 비트 신드롬 벡터를 아래의 [표 3]에서 도시된 사각형 체크비트 행렬과 곱함으로써 손쉽게 달성된다.
[표 3]
Figure 112009029632027-pct00001
예를 들어, 만일 1,018 & 999 색인번호들에서의 비트들(19개의 비트들만큼 떨어져 있음)에서 에러가 발생한 경우를 가정하면, 대칭행렬에 의해 응답되는 신드롬은,
0 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0
이다.
[표 3]의 사각형 행렬을 이용한 변환 이후에, 신드롬은,
0 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1
이 되며, 이것은 정말로 위의 원래 데이터 스트림에 대한 비-대칭 행렬에 의해 응답될 신드롬이다.
첫번째(가장 좌측의) 6개의 비트들은 BIP 생성된 성분의 서브 신드롬이며, 이것은 [표 2]의 BIP-6 신드롬에서 나타난 바와 같이 19개의 비트들만큼 떨어져 있는 2-비트 에러를 표시한다.
다른 방법은 생성목적의 대칭형태의 행렬과 체크목적의 원래(비-대칭) 행렬을 이용하는 것이다. 하지만, 이 방법은 두 개의 커다란 XOR 어레이들(하나는 ECC 체크비트 생성을 위한 것이고, 하나는 체크와 정정을 위한 것이다)이 필요로 하는 단점을 갖는다. 신드롬을 디코딩하기 위한 부르트 포스(brute-force) 방법은 216개(즉, 65,536개)의 엔트리 룩업 테이블(예컨대, ROM)내에 정정될 3,976개의 비트의 조합을 저장하는 것으로 이루어진다. 다른 모든 엔트리들은, 다루어지는 경우, 검출은 되지만, 에러 모델(즉, 단일 비트 송신 에러로부터 유발되며, 스크램블러의 차수와 같이 이격된 에러들)과 정합하지 않으며 정정될 수 없는 정정불가능 에러(UE)로서 간주되어야 한다.
그럼에도 불구하고, 에러 모델에 대응하지 못하는 수 많은 송신 에러들이 검출될 수 있는데, 그 이유는 상술한 바와 같이, 에러 정정을 위해 오직 3,976개의 신드롬만이 16-비트 신드롬에 의해 표시되는 216-1 = 65,535개의 가능한 에러 신드롬들 중에서 사용되기 때문이다. 이와 같은 에러들은 직렬 링크상의 동일한 패킷에서 발생하는 단일 에러 보다 많은 결과일 수 있다. 따라서, 스크램블링 이후에, 예컨대, 6개까지의 에러들이 이중 송신 에러의 결과로서 단일 패킷내에 존재할 수 있다. 도 9는 에러 모델과 정합되지 않는 2개 내지 6개 사이의 에러들에 대해 발견된 결과(대략 에러들의 91%가 검출된다)를 도표화한 몬테-카를로(Monte-Carlo) 시뮬레이션의 통계적 분포를 도시한다. 하지만, 나머지 9%(10,000개 중에서 897개)는, 검출되지 않으며 이에 따라 미정정을 일으킬 이중 송신 에러로부터 유발된 3,976개의 조합들에 속하는 신드롬을 생성시킨다.
이러한 유형의 코드의 일반화가 본 방법을 설명하기 위해 사용된 예시로부터 손쉽게 달성될 수 있다. 대안적인 스크램블링 규정을 수용하기 위해, 보다 길거나 또는 보다 짧은 코드가 다른 다항식들을 선택함으로써 구축될 수 있다. BIP-n의 다른 차수 n이 서로다른 에러 신드롬들을 불러일으키는 스크램블링 다항식에 대해서 우발된 에러 간격에서의 변화를 수용하기 위해 선택될 수 있다.
본 발명을 바람직한 실시예 또는 실시예들을 참조하여 설명하였지만, 본 발명의 범위로부터 일탈하는 것 없이 다양한 변경들이 취해질 수 있으며, 등가물들이 본 발명의 구성요소를 대체할 수 있음을 본 발명의 당업자는 이해할 것이다. 게다가, 본 발명의 본질적인 범위를 일탈하는 것 없이 본 발명의 개시내용에 특정한 상황 또는 물질을 적용하도록 수 많은 변형이 취해질 수 있다. 따라서, 본 발명을 실시하도록 구상된 최적의 모드로서 개시된 특정한 실시예로 본 발명을 한정시키는 것이 아니라, 첨부되는 청구항들의 범위내에 속하는 모든 실시예들을 본 발명이 포함하는 것임을 의도하고 있다.

Claims (10)

  1. 자기 동기화된 스크램블러 및 디스크램블러를 이용하여 직렬화/직렬화 해제(SER/DES) 링크 상에서 수행되는 패킷 기반의 디지털 통신 시스템을 위한 순방향 에러 정정(FEC) 코드를 생성하는 방법에 있어서,
    기약 다항식(irreducible polynomial)으로부터 생성된 해밍 코드(Hamming code)에 기초한 제1 인코딩 알고리즘을 제1 데이터워드에 적용하는 단계;
    비트 인터리빙 패리티(BIP; bit-interleaved parity) 코드에 기초한 제2 인코딩 알고리즘을 상기 제1 데이터워드에 적용하는 단계;
    상기 제1 데이터워드를 위한 제1 체크비트 시퀀스를 생성하는 단계;
    상기 제1 체크비트 시퀀스를 상기 제1 데이터워드에 부가시키는 단계;
    소스 노드에서 상기 제1 체크비트 시퀀스가 부가된 상기 제1 데이터워드를 스크램블링하는 단계;
    스크램블링된 상기 제1 데이터워드를 데이터 송신 링크를 통해 상기 소스 노드로부터 목적지 노드에 송신하는 단계;
    상기 목적지 노드에서 상기 송신된 제1 데이터워드를 디스크램블링하는 단계;
    상기 송신된 제1 데이터워드를 기초로 제2 체크비트 시퀀스를 생성하는 단계;
    신드롬(syndrome)을 생성시키기 위해 상기 제1 체크비트 시퀀스와 상기 제2 체크비트 시퀀스를 비트마다 비교하는 단계로서, 상기 신드롬은 제2 인코딩 알고리즘 신드롬과 연결된 제1 인코딩 알고리즘 신드롬의 형태로 존재하는 것인, 상기 비교 단계;
    상기 송신된 제1 데이터워드가 제1 비트 에러를 포함하는지를 판정하는 단계; 및
    상기 제1 인코딩 알고리즘 신드롬을 이용하여 상기 제1 비트 에러를 정정하고, 상기 제2 인코딩 알고리즘 신드롬을 이용하여 제1 및 제2 반복된 비트 에러를 정정하는 단계
    를 포함하는 순방향 에러 정정(FEC) 코드를 생성하는 방법.
  2. 제 1 항에 있어서, 복수개의 인코딩된 데이터워드들을 제1 행렬로 표현하는 단계를 더 포함하며, 상기 복수개의 인코딩된 데이터워드들 각각에 대응하는 복수개의 체크비트 시퀀스들은 상기 제1 행렬에 부가되는 것인, 순방향 에러 정정(FEC) 코드를 생성하는 방법.
  3. 제 1 항에 있어서, 대응하는 복수개의 인코딩된 데이터워드들의 각각에 체크비트 시퀀스를 부가시키는 단계를 더 포함하는 순방향 에러 정정(FEC) 코드를 생성하는 방법.
  4. 제 1 항에 있어서, 복수개의 데이터워드들을 연결시키고(concatenate), 에러 정정을 위한 단일 체크비트 시퀀스를 제공하는 단계를 더 포함하는 순방향 에러 정정(FEC) 코드를 생성하는 방법.
  5. 제 1 항에 있어서, 상기 데이터 송신 링크는 역 멀티플렉싱이 가능한 다중 링크 통신 채널을 포함하는 것인, 순방향 에러 정정(FEC) 코드를 생성하는 방법.
  6. 제 1 항에 있어서, 상기 스크램블링 단계는 64B/66B 스크램블링 프로토콜을 채용하는 단계를 더 포함하는 것인, 순방향 에러 정정(FEC) 코드를 생성하는 방법.
  7. 제 1 항에 있어서, 상기 제1 인코딩 알고리즘은 1차 인수(arguments)로서의 해밍 코드 다항식과 상기 제1 데이터워드와의 승산(multiplication operation)을 포함하는 것인, 순방향 에러 정정(FEC) 코드를 생성하는 방법.
  8. 제 1 항에 있어서, 상기 제2 인코딩 알고리즘은 1차 인수로서의 n차의 비트 인터리빙 패리티 코드와 상기 제1 데이터워드와의 승산을 포함하는 것인, 순방향 에러 정정(FEC) 코드를 생성하는 방법.
  9. 제 1 항 내지 제 8 항 중 임의의 한 항에 따른 방법의 모든 단계들을 수행하도록 구성된 수단을 포함하는 시스템.
  10. 컴퓨터 시스템상에서 실행될 때에, 제 1 항 내지 제 8 항 중 임의의 한 항에 따른 방법의 모든 단계들을 수행하기 위한 명령어들을 포함하는 컴퓨터 프로그램을 기록한 컴퓨터 판독가능 기록매체.
KR1020097010147A 2006-11-03 2007-10-08 64b/66b 스크램블링과 양립가능한 다중 링크 송신을 위한 순방향 에러 정정 인코딩 KR101104033B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/556,240 US7996747B2 (en) 2006-11-03 2006-11-03 Forward error correction encoding for multiple link transmission compatible with 64B/66B scrambling
US11/556,240 2006-11-03
PCT/EP2007/060639 WO2008052858A2 (en) 2006-11-03 2007-10-08 Forward error correction encoding for multiple link transmission compatible with 64b/66b scrambling

Publications (2)

Publication Number Publication Date
KR20090085627A KR20090085627A (ko) 2009-08-07
KR101104033B1 true KR101104033B1 (ko) 2012-01-09

Family

ID=39166655

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097010147A KR101104033B1 (ko) 2006-11-03 2007-10-08 64b/66b 스크램블링과 양립가능한 다중 링크 송신을 위한 순방향 에러 정정 인코딩

Country Status (9)

Country Link
US (1) US7996747B2 (ko)
EP (1) EP2095557B1 (ko)
JP (1) JP5106538B2 (ko)
KR (1) KR101104033B1 (ko)
CN (1) CN101529775B (ko)
AT (1) ATE478486T1 (ko)
DE (1) DE602007008612D1 (ko)
TW (1) TW200835213A (ko)
WO (1) WO2008052858A2 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200812819A (en) * 2006-09-15 2008-03-16 Inventec Appliances Corp Method of converting word codes
US8108759B2 (en) * 2006-12-14 2012-01-31 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
FR2918828B1 (fr) * 2007-07-13 2009-09-18 Wavecom Sa Procede de detection du brouillage d'un reseau de radiocommunication, produit programme d'ordinateur, moyen de stockage et circuit correspondants
US8250450B2 (en) * 2007-08-31 2012-08-21 Ambriel Technologies, LLC. Method and system for using redundancy to exchange data in a multicast or one way environment
US10805840B2 (en) 2008-07-03 2020-10-13 Silver Peak Systems, Inc. Data transmission via a virtual wide area network overlay
US10164861B2 (en) 2015-12-28 2018-12-25 Silver Peak Systems, Inc. Dynamic monitoring and visualization for network health characteristics
US8261165B2 (en) * 2008-11-14 2012-09-04 Silicon Laboratories Inc. Multi-syndrome error correction circuit
JP5256076B2 (ja) * 2009-02-27 2013-08-07 アンリツ株式会社 64b/66b符号化試験装置
TWI539757B (zh) * 2009-11-13 2016-06-21 Panasonic Ip Corp America Encoding method, decoding method, encoder and decoder
WO2012015473A1 (en) * 2010-07-28 2012-02-02 Omron Network Products, Llc Method and apparatus for transporting an 8b/10b coded video stream across a 64b/66b coded link
US8539321B2 (en) * 2010-11-10 2013-09-17 Infineon Technologies Ag Apparatus and method for correcting at least one bit error within a coded bit sequence
US8856212B1 (en) 2011-02-08 2014-10-07 Google Inc. Web-based configurable pipeline for media processing
US8681866B1 (en) 2011-04-28 2014-03-25 Google Inc. Method and apparatus for encoding video by downsampling frame resolution
US8661323B2 (en) * 2011-05-09 2014-02-25 Google Inc. Method and apparatus for generating packet mask
US9106787B1 (en) 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
US9625603B2 (en) * 2011-05-27 2017-04-18 Halliburton Energy Services, Inc. Downhole communication applications
US9778389B2 (en) 2011-05-27 2017-10-03 Halliburton Energy Services, Inc. Communication applications
US8856624B1 (en) 2011-10-27 2014-10-07 Google Inc. Method and apparatus for dynamically generating error correction
US9490850B1 (en) 2011-11-28 2016-11-08 Google Inc. Method and apparatus for decoding packetized data
US8683296B2 (en) 2011-12-30 2014-03-25 Streamscale, Inc. Accelerated erasure coding system and method
US8914706B2 (en) 2011-12-30 2014-12-16 Streamscale, Inc. Using parity data for concurrent data authentication, correction, compression, and encryption
CN103199953B (zh) * 2012-01-09 2016-03-30 华为技术有限公司 数据传输方法和装置、通信设备
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
US8898526B1 (en) * 2012-07-23 2014-11-25 Google Inc. Using forward error correction coding to diagnose communication links
US10034023B1 (en) 2012-07-30 2018-07-24 Google Llc Extended protection of digital video streams
US9172740B1 (en) 2013-01-15 2015-10-27 Google Inc. Adjustable buffer remote access
US9311692B1 (en) 2013-01-25 2016-04-12 Google Inc. Scalable buffer remote access
US9225979B1 (en) 2013-01-30 2015-12-29 Google Inc. Remote access encoding
US10587437B2 (en) * 2013-06-10 2020-03-10 Texas Instruments Incorporated Link aggregator with universal packet scrambler apparatus and method
US10372527B2 (en) * 2013-07-15 2019-08-06 Intel Corporation Method of encoding data
CN104426631B (zh) 2013-09-06 2018-03-06 华为技术有限公司 对数据进行处理的方法及装置
KR101595298B1 (ko) * 2014-04-30 2016-02-18 전자부품연구원 이동형 자기장 통신 방법
US9948496B1 (en) 2014-07-30 2018-04-17 Silver Peak Systems, Inc. Determining a transit appliance for data traffic to a software service
US9875344B1 (en) 2014-09-05 2018-01-23 Silver Peak Systems, Inc. Dynamic monitoring and authorization of an optimization device
US9647688B1 (en) * 2014-12-19 2017-05-09 Cadence Design Systems, Inc. System and method of encoding in a serializer/deserializer
TWI589892B (zh) * 2015-04-22 2017-07-01 威盛電子股份有限公司 傳輸介面晶片以及內建式傳輸介面晶片測試方法
US9702933B1 (en) 2015-10-22 2017-07-11 Cadence Design Systems, Inc. System and method for concurrent interconnection diagnostics field
US9697324B1 (en) 2015-11-05 2017-07-04 Cadence Design Systems, Inc. System for concurrent target diagnostics field
CN105516288B (zh) * 2015-12-01 2019-05-21 盛科网络(苏州)有限公司 采用单根Serdes扩展物理接口的装置、其控制方法及控制系统
US9967056B1 (en) * 2016-08-19 2018-05-08 Silver Peak Systems, Inc. Forward packet recovery with constrained overhead
US10771394B2 (en) 2017-02-06 2020-09-08 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows on a first packet from DNS data
US11044202B2 (en) 2017-02-06 2021-06-22 Silver Peak Systems, Inc. Multi-level learning for predicting and classifying traffic flows from first packet data
US10892978B2 (en) 2017-02-06 2021-01-12 Silver Peak Systems, Inc. Multi-level learning for classifying traffic flows from first packet data
US10552260B2 (en) * 2017-06-12 2020-02-04 Cirrus Logic, Inc. Detection of double bit errors and correction of single bit errors in a multiword array
CN109428674B (zh) * 2017-08-30 2022-04-15 深圳市中兴微电子技术有限公司 数据传输方法、装置和系统、接收端及存储介质
US11212210B2 (en) 2017-09-21 2021-12-28 Silver Peak Systems, Inc. Selective route exporting using source type
DE102017223776A1 (de) * 2017-12-22 2019-06-27 Robert Bosch Gmbh Teilnehmerstation für ein serielles Kommunikationsnetzwerk und Verfahren zur Korrektur von Einzelfehlern in einer Nachricht eines seriellen Kommunikationsnetzwerks
KR102471492B1 (ko) 2017-12-27 2022-11-28 삼성전자 주식회사 디스플레이장치 및 그 제어방법
CN108268417B (zh) * 2018-01-22 2021-03-30 成都天诚慧芯科技有限公司 一种数据加、解扰电路及方法
US10637721B2 (en) 2018-03-12 2020-04-28 Silver Peak Systems, Inc. Detecting path break conditions while minimizing network overhead
CN110519004B (zh) * 2018-05-21 2021-12-14 华为技术有限公司 一种编码方法及相关设备
CN108923884B (zh) * 2018-06-14 2021-02-23 中国科学院上海高等研究院 一种pcs评估系统、方法、可读存储介质及终端
TW202029676A (zh) 2018-11-14 2020-08-01 美商天波網路公司 使用可變長度信息之通信系統及方法
CN112543080B (zh) * 2019-09-20 2024-06-11 华为技术有限公司 误码率检测的方法和装置
US11789807B1 (en) 2021-03-30 2023-10-17 Amazon Technologies, Inc. Autonomous management of communication links
US11909850B1 (en) * 2021-06-23 2024-02-20 Amazon Technologies, Inc. Dynamic improvement of a communication channel

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5923680A (en) 1997-06-05 1999-07-13 Northern Telecom Limited Error correction in a digital transmission system
KR20000070288A (ko) * 1997-01-17 2000-11-25 러셀 비. 밀러 연결 코드 데이터를 전송하고 수신하기 위한 방법 및 장치
US20040193997A1 (en) 2003-01-30 2004-09-30 International Business Machines Corporation Forward error correction scheme compatible with the bit error spreading of a scrambler

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349138B1 (en) * 1996-06-14 2002-02-19 Lucent Technologies Inc. Method and apparatus for digital transmission incorporating scrambling and forward error correction while preventing bit error spreading associated with descrambling
US6240444B1 (en) 1996-09-27 2001-05-29 International Business Machines Corporation Internet web page sharing
US6683855B1 (en) * 1998-08-31 2004-01-27 Lucent Technologies Inc. Forward error correction for high speed optical transmission systems
JP3573988B2 (ja) * 1998-12-28 2004-10-06 富士通株式会社 誤り訂正方法及び伝送装置
US6975694B1 (en) * 1999-12-15 2005-12-13 Paradyne Corporation Digital subscriber line driver
US6738935B1 (en) * 2000-02-07 2004-05-18 3Com Corporation Coding sublayer for multi-channel media with error correction
US6715124B1 (en) * 2000-02-14 2004-03-30 Paradyne Corporation Trellis interleaver and feedback precoder
US6823470B2 (en) 2000-02-16 2004-11-23 Sycamore Networks, Inc. Method and apparatus for correcting data
JP3668673B2 (ja) * 2000-06-09 2005-07-06 株式会社日立コミュニケーションテクノロジー エラー訂正符号の構成方法、復号方法、伝送装置、ネットワーク
US7570643B2 (en) * 2003-02-12 2009-08-04 Cisco Technology, Inc. Efficient framing procedure for variable length packets
US7257759B2 (en) * 2004-08-19 2007-08-14 Alcatel Lucent Accounting for error carryover in error correction on M-bit encoded links

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000070288A (ko) * 1997-01-17 2000-11-25 러셀 비. 밀러 연결 코드 데이터를 전송하고 수신하기 위한 방법 및 장치
US5923680A (en) 1997-06-05 1999-07-13 Northern Telecom Limited Error correction in a digital transmission system
US20040193997A1 (en) 2003-01-30 2004-09-30 International Business Machines Corporation Forward error correction scheme compatible with the bit error spreading of a scrambler

Also Published As

Publication number Publication date
US7996747B2 (en) 2011-08-09
KR20090085627A (ko) 2009-08-07
JP2010508742A (ja) 2010-03-18
US20080109707A1 (en) 2008-05-08
EP2095557B1 (en) 2010-08-18
DE602007008612D1 (de) 2010-09-30
WO2008052858B1 (en) 2008-07-31
TW200835213A (en) 2008-08-16
WO2008052858A2 (en) 2008-05-08
JP5106538B2 (ja) 2012-12-26
CN101529775B (zh) 2013-04-17
EP2095557A2 (en) 2009-09-02
ATE478486T1 (de) 2010-09-15
WO2008052858A3 (en) 2008-06-19
CN101529775A (zh) 2009-09-09

Similar Documents

Publication Publication Date Title
KR101104033B1 (ko) 64b/66b 스크램블링과 양립가능한 다중 링크 송신을 위한 순방향 에러 정정 인코딩
US11742984B2 (en) Transmitting method with error correction coding
US7284184B2 (en) Forward error correction scheme compatible with the bit error spreading of a scrambler
US11043975B2 (en) Encoding method, decoding method, apparatus, and system
CN101765977A (zh) 编码装置和解码装置
WO2006085488A1 (ja) 誤り訂正符号化装置及び誤り訂正復号装置
WO2007055150A1 (ja) 通信装置、送信機、受信機および誤り訂正光通信システム
WO2022088709A1 (zh) 一种以太网的编码方法及装置
CA2299947A1 (en) The application of error correction coding to transmission equipment protection
EP1517450A1 (en) Error correction on M-BIT encoded links
JP2002506599A (ja) 高ビットレートデジタルデータ伝送のためのエラー訂正符号化方法および装置と、対応する復号化方法および装置
US20220286145A1 (en) Pipelined forward error correction for vector signaling code channel
JP2023519407A (ja) データ通信のためのコーディング方法および装置
Peterson Data coding and error checking techniques
WO2024125443A1 (zh) 一种数据处理方法和数据处理装置
CN118249885A (zh) 一种基于rs编码技术实现的星间激光链路纠错方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee