KR101354288B1 - 통신 시스템에서 에러 검출 방법 및 장치 - Google Patents

통신 시스템에서 에러 검출 방법 및 장치 Download PDF

Info

Publication number
KR101354288B1
KR101354288B1 KR1020127011532A KR20127011532A KR101354288B1 KR 101354288 B1 KR101354288 B1 KR 101354288B1 KR 1020127011532 A KR1020127011532 A KR 1020127011532A KR 20127011532 A KR20127011532 A KR 20127011532A KR 101354288 B1 KR101354288 B1 KR 101354288B1
Authority
KR
South Korea
Prior art keywords
sequence
segment
data packet
segments
original
Prior art date
Application number
KR1020127011532A
Other languages
English (en)
Other versions
KR20120062019A (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 KR20120062019A publication Critical patent/KR20120062019A/ko
Application granted granted Critical
Publication of KR101354288B1 publication Critical patent/KR101354288B1/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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • 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/65Purpose and implementation aspects
    • H03M13/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]
    • 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
    • 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/0076Distributed coding, e.g. network coding, involving channel coding
    • 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/0084Formats for payload data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명의 방법은 동일한 길이를 가지며 공통 요소를 갖지 않는 원래의 세그먼트의 제 1 시퀀스에서 데이터 패킷을 처리한다. 이 방법은 하나 이상의 심벌을 제 1 시퀀스의 원래의 세그먼트들중 최초 세그먼트 내에서 변형함에 의해 제 1 시퀀스의 원래의 세그먼트들 중 최초 세그먼트를 변형시키는 것을 포함한다. 데이터 패킷의 개시부가 원래의 세그먼트들 중 최초 세그먼트에 위치되고 그 내부에서 최초 디지털 데이터 심벌 뒤에 위치된다. 이 방법은 하나 이상의 디지털 데이터 심벌을 제 1 시퀀스의 원래의 세그먼트들 중 최종 세그먼트 내에서 변형함에 의해 그 최종 세그먼트를 변형시키는 것을 포함한다. 데이터 패킷의 종료부가 원래의 세그먼트들중 최종 세그먼트에 위치되고 그 내부에서 최종 디지털 데이터 심벌 앞에 위치된다. 이 방법은 제 1 시퀀스로부터 도출되며 공통 요소를 갖지 않는 세그먼트의 제 2 시퀀스상에서 다항식 제산을 효과적으로 실행함에 의해 나머지 시퀀스를 결정하는 것도 포함한다. 제 2 시퀀스의 각 세그먼트가 원래의 세그먼트들 중 하나에 대응하고 그 하나로부터 도출된다. 제 2 시퀀스의 세그먼트가 제 1 시퀀스의 원래의 세그먼트의 길이를 갖는다. 제 2 시퀀스의 도출된 세그먼트들 중 최초 세그먼트는 원래의 세그먼트들 중 변형된 최초 세그먼트이다. 제 2 시퀀스의 도출된 세그먼트들 중 최종 세그먼트는 원래의 세그먼트들 중 변형된 최종 세그먼트로부터 도출된다.

Description

통신 시스템에서 에러 검출 방법 및 장치{METHOD AND APPARATUS FOR ERROR DETECTION IN A COMMUNICATION SYSTEM}
본 발명은 패킷 기반의 통신 시스템에서 송신에 관련된 에러를 검출하는 것에 관한 것이다.
본 섹션은 본 발명의 다양한 양태를 양호하게 이해하는 데 독자에게 도움을 주는 다양한 양태를 소개하며 종래 기술 또는 종래 기술이 아닌 기술에 대한 설명을 포함하도록 제한적으로 이해되지 않아야한다.
통신 시스템의 하나의 목표는 의도된 수신자에 의해 수신된 메시지가 송신된 메시지를 변경안되게 복제하는 것이다. 그런 이유로, 통신 시스템은 수신된 메시지가 송신시 변경되는 지를 수신자로 하여금 결정하게 할 수 있는 에러 검출 기술을 사용한다. 채널 유도된 메시지 에러를 검출하는 하나의 기술이 순환 리던던시 검사(cyclic redundancy check ; CRC)코드를 기반으로 한다. CRC 코드는 데이터 메시지를 표현하는 디지털 데이터 심벌의 시퀀스를 일반적으로 변환하여 디지털 검사 심벌의 시퀀스를 생성한다. 디지털 검사 심벌의 시퀀스가 디지털 데이터 심벌의 시퀀스로써 송신되고 수신자는 디지털 검사 심벌의 시퀀스를 사용하여 디지털 데이터 심벌의 수신된 시퀀스가 원래 송신되는 같은 시퀀스인지를 평가한다.
일부의 시스템은 피드백 시프트 레지스터를 사용함에 의해 디지털 검사 심벌의 시퀀스를 생성하고 디지털 검사 심벌의 송신된 시퀀스로부터 송신 에러를 검출한다. 예를 들어, 2진 CRC 코드가 배타적 논리합(XOR)논리 회로를 경유해 피드백에 의해 제어되는 시프트 레지스터로써 구현될 수 있다. 시프트 레지스터의 메모리 소자 내용은 고정된 생성 다항식에 의해 디지털 데이터 심벌의 시퀀스의 제산에 의해 생성되는 나머지 시퀀스에 일반적으로 대응한다. 이 나머지 시퀀스는 데이터 패킷의 수신자에 송신하기 위해 디지털 데이터 심벌의 시퀀스의 종료부에 일반적으로 첨가된다. 그런 시스템에서, 나머지 시퀀스가 데이터 패킷의 송신 전에 비트 단위로 일반적으로 직렬로 계산된다.
일 실시예는 공통 요소를 갖지 않은(disjoint) 원래의 세그먼트의 제 1 시퀀스에서 위치되는 데이터 패킷을 처리하는 제 1방법이다. 제 1 시퀀스의 원래의 세그먼트 각각이 동일한 길이를 갖는다. 이 제 1방법은 제 1 시퀀스의 원래의 세그먼트들중 최초 세그먼트내에서 하나 이상의 심벌을 변형함에 의해 그 최초 세그먼트를 변형하는 것을 포함한다. 데이터 패킷의 개시부가 원래의 세그먼트들중 최초 세그먼트내에 위치되고 그 내부에서 최초 디지털 데이터 심벌 뒤에 위치된다. 제 1방법은 제 1 시퀀스의 원래의 세그먼트들중 최종 세그먼트내에서 하나 이상의 디지털 데이터 심벌을 변형함에 의해 그 최종 세그먼트를 변형하는 것을 포함한다. 데이터 패킷의 종료부가 원래의 세그먼트들중 최종 세그먼트에 위치되고 그 내부에서 최종 디지털 데이터 심벌 앞에 위치된다. 제 1방법은 제 1 시퀀스로부터 도출되는 공통 요소를 갖지 않은 세그먼트의 제 2 시퀀스에서 다항식 제산을 효과적으로 실행함에 의해 나머지 시퀀스를 결정하는 것도 포함한다. 제 2 시퀀스의 각 세그먼트는 제 1 시퀀스의 원래의 세그먼트들중 하나에 대응하고 그 원래의 세그먼트들중 하나로부터 도출된다. 제 2 시퀀스의 세그먼트가 제 1 시퀀스의 원래의 세그먼트의 길이를 갖는다. 제 2 시퀀스의 도출된 세그먼트들중 최초 세그먼트는 원래의 세그먼트들중 변형된 최초 세그먼트이다. 제 2 시퀀스의 도출된 세그먼트들중 최종 세그먼트가 원래의 세그먼트들중 변형된 최종 세그먼트로부터 도출된다.
제 1방법에 관한 일부의 실시예에서, 데이터 패킷의 개시부 또는 종료부를 포함하지 않는 각 도출된 세그먼트가 원래의 세그먼트들중 대응하는 하나와 같을 수 있다.
제 1방법에 관한 일부의 실시예에서, 그 변형 단계가 데이터 패킷 외부에 있는 원래의 세그먼트의 마스킹 부분을 포함할 수 있어서 상기 부분이 다항식 제산에 의해 결정된 나머지에 대한 설정량에 기여할 것이다.
제 1방법에 관한 일부의 실시예에서, 원래의 세그먼트들중 최초 세그먼트를 변형하는 것은 데이터 패킷의 개시부에서 심벌을 변형하는 것을 포함한다. 그런 일부의 실시예에서, 그 변형 단계는 데이터 패킷 외부에 있는 원래의 세그먼트의 마스킹 부분을 포함할 수 있어서 상기 마스킹된 부분이 다항식 제산에 의해 결정된 나머지에 대한 설정량에 기여할 것이다.
제 1방법에 관한 일부의 실시예에서, 원래의 세그먼트중 최종 세그먼트를 변형하는 것은 데이터 패킷의 종료부에서 심벌을 변형할 수 있다. 그런 일부의 실시예에서, 그 변형 단계는 데이터 패킷 외부에 있는 원래의 세그먼트의 마스킹 부분을 포함할 수 있어서 상기 마스킹된 부분이, 데이터 패킷의 순환 리던던시 검사가 소멸될 때, 다항식 제산에 의해 결정된 나머지에 대한 설정량에 기여하지 않을 것이다.
제 1방법에 관한 일부의 실시예에서, 제 1방법은 제 1 시퀀스로부터 심벌의 시퀀스를 심벌 단위로 감산을 수행함에 의해 제 3 시퀀스를 생성하는 것을 더 포함하여 제 3 시퀀스에 위치된 데이터 패킷이 다항식 제산을 기반으로 한 에러 제어 코드의 유효한 코드워드로 된다. 상기 방법에 관한 일부의 실시예에서, 심벌의 시퀀스가 다항식 제산을 제 2 시퀀스상에 수행함에 의해 결정된 나머지로부터 발견될 수 있다.
제 1방법에 관한 일부의 실시예에서, 제 1방법은 제 1 시퀀스의 세그먼트들중 특정한 하나로 되는 데이터 패킷의 종료에 응답해서 데이터 패킷에 대한 순환 리던던시 검사의 평가값을 제 1 시퀀스의 세그먼트들중 특정한 하나로 기록하는 것을 더 포함한다. 그 일부의 실시예에서, 그 변형은 패킷의 종료 위치를 표시하는 번호를 제 1 시퀀스의 세그먼트들중 특정한 하나에 수납하는 것을 더 포함한다. 그 기록은 그 수신된 번호를 기반으로 한 평가값을 기록하는 위치를 결정하는 것을 포함할 수 있다.
제 2방법에 관한 일 실시예는 같은 길이를 가지며 공통 요소를 갖지 않는 데이터 세그먼트를 처리하는 것을 포함한다. 그 시퀀스가 특정한 데이터 패킷을 포함한다. 제 2방법은 데이터 세그먼트들중 하나의 일부를 마스킹하는 것을 포함한다. 특정한 데이터 패킷의 일부가 데이터 세그먼트들중 하나에 있고 마스킹된 부분의 외부에 있다. 제 2방법은 특정한 데이터 패킷의 개시 및/또는 종료를 변형시키는 것과, 마스킹된 세그먼트 및 변형된 특정한 데이터 패킷을 기반으로 한 특정한 데이터 패킷에 대한 순환 리던던시 검사를 계산하는 것을 포함한다.
제 2방법에 대한 일부의 실시예에서, 제 2방법은 그 계산된 순환 리던던시 검사를 제로로 비교하는 것을 포함한다.
제 2방법에 관한 일부의 실시예에서, 순환 리던던시 검사를 계산하는 것은 데이터 패킷으로써 송신된 다른 순환 리던던시 검사를 적어도 부분적으로 기반으로 해서 검사 시퀀스값을 계산하는 것을 포함할 수 있다.
제 2방법에 관한 일부의 실시예에서, 제 2방법은 데이터 세그먼트들중 특정한 하나에서 패킷의 종료를 식별하는 것을 포함한다.
제 2방법에 관한 일부의 실시예에서, 제 2방법은 데이터 패킷의 개시부에서 하나 이상의 심벌을 반전시키는 것을 포함한다.
제 2방법에 관한 일부의 실시예에서, 제 2방법은 데이터 패킷의 종료부에서 하나 이상의 심벌을 반전시키는 것을 포함한다.
다른 실시예는 공통 요소를 갖지 않는 원래의 세그먼트의 제 1 시퀀스에 위치된 데이터 패킷을 처리하는 시스템이다. 제 1 시퀀스의 원래의 세그먼트 각각이 같은 길이를 갖는다. 그 시스템은 제 1 시퀀스의 원래의 세그먼트들중 최초 세그먼트에서 하나 이상의 심벌을 변형하기 위해 구성된 마스킹 유닛을 포함하고, 여기서 데이터 패킷의 개시부가 원래의 세그먼트들중 최초 세그먼트내에 있고 그 내부에서 제 1심벌 뒤에 있다. 마스킹 유닛은 제 1 시퀀스의 원래의 세그먼트들중 최종 세그먼트에서 하나 이상의 심벌을 변형하기 위해 구성되고, 여기서 데이터 패킷의 종료부가 원래의 세그먼트들중 최종 세그먼트내에 있고 그 내부에서 최종 심벌 앞에 있다. 그 시스템은 다항식 제산을 공통 요소를 갖지 않는 연속 세그먼트의 제 2 시퀀스상에서 실행함에 의해 나머지를 결정하기 위해 구성된 순환 리던던시 검사 계산 유닛을 포함한다. 제 2 시퀀스의 각 세그먼트가 원래의 세그먼트들중 하나에 대응하고 그 하나로부터 도출된다. 제 2 시퀀스의 세그먼트가 원래의 세그먼트의 길이를 갖는다. 제 2 시퀀스의 도출된 세그먼트들중 최초 세그먼트가 원래의 세그먼트들중 변형된 첫번째 것이다. 제 2 시퀀스의 도출된 세그먼트들중 최종 세그먼트가 원래의 세그먼트들중 변형된 최종 세그먼트이다.
시스템에 관한 일부의 실시예에서, 마스킹 유닛은 데이터 패킷 외부에 있는 원래의 세그먼트의 일부를 마스킹하기 위해 구성될 수 있어서, 데이터 패킷의 순환 리던던시 검사가 소멸될 때, 상기 일부가 다항식 제산에 의해 결정된 나머지에 기여하지 않을 것이다.
시스템에 관한 상기 일부의 실시예에서, 마스킹 유닛은 구성되어 심벌을 데이터 패킷의 개시부에서 변형함에 의해 원래의 세그먼트들중 최초 세그먼트를 변형시키고 심벌을 데이터 패킷의 종료부에서 변형함에 의해 원래의 세그먼트들중 최종 세그먼트를 변형시킨다.
각종 실시예의 장점은 도면을 참고로 다음의 설명에서 명백해진다.
도 1a는 디지털 데이터 패킷을 물리적인 통신 채널을 통한 송신시 야기된 에러를 예로 하는 에러 검출용 CRC 코드를 사용하는 디지털 데이터 통신 시스템을 개략적으로 예시하고;
도 1b는 예를 들어, 도 1a에 예시된 데이터 통신 시스템에서 CRC 코드워드의 최종 시퀀스를 생성하기 위해 디지털 데이터 심벌의 시퀀스를 처리하는 방법을 개략적으로 예시하고;
도 2는 시퀀스의 송신에서 에러가 야기하는 지를 결정하기 위해 도 1b에 예시된 디지털 데이터 심벌의 시퀀스를 디코드하는 방법, 예를 들어, 도 1a에서 예시된 수신기에서 사용하는 방법을 예시하는 흐름도이고;
도 3은 메시지 부분에 CRC 검사 시퀀스를 첨부하기 위해 도 1b에 예시된 디지털 데이터 심벌의 시퀀스에서 메시지 부분을 인코드하는 방법, 예를 들어, 도 1a에서 예시된 송신기에서 사용하는 방법을 예시하는 흐름도이고;
도 4a는 도 1a에서 예시된 송신기용 인코더의 일 실시예를 예시하는 블럭도이고, 여기서, 그 인코더가 도 1b 및 3의 방법을 사용해서 송신되는 각 데이터 패킷에 CRC 검사 시퀀스를 첨가하고;
도 4b는 도 1a의 수신기용 디코더의 일 실시예를 예시하는 블럭도이고, 여기서, 그 디코더는 수신된 데이터 패킷이 도 1b 및 2에 예시된 방법을 사용해서 CRC 검사 시퀀스를 기반으로 에러를 포함하는 지를 평가하고;
도 5는 도 4a에 예시된 인코더 및/또는 도 4b에 예시된 디코더에서 도 1b, 2, 및 3의 방법의 하나의 특정한 실시예에 의해 예시된 데이터 패킷에 대한 처리를 예시하고;
도 6은 도 4a-4b에 예시된 인코더 및 디코더의 일부 특정한 실시예에서 사용될 수 있는 결합된 마스킹 유닛 및 부분 나머지 첨가 유닛에 대한 일 실시예를 예시하는 블럭도이고;
도 7은 도 6에 예시되는 결합된 마스킹 유닛 및 부분 나머지 첨가 유닛의 연산을 예시하는 상태도이고;
도 8은 도 4a에 예시된 인코더의 일부 실시예에서 사용될 수 있는 후방향 계산 유닛의 특정 실시예를 예시하는 블럭도이다.
각종 실시예가 디지털 패킷 기반의 통신 시스템에서 송신 에러를 검출하는 장치, 시스템, 및 시스템에서 사용하는 방법에 관한 것이다.
도 1a는 디지털 데이터 패킷의 정보를 송신하는 통신 시스템(10)의 일 예를 예시한다. 통신 시스템(10)은 송신기(12), 수신기(14), 및 그 송신기(12)를 그 수신기(14)에 연결하는 물리적인 통신 채널을 포함한다. 그 송신기(12)가 입력 데이터 프로세서(18) 및 인코더(400A)를 포함한다. 데이터 프로세서(18)는 송신용 데이터를 수신하고 그로부터 디지털 패킷의 스트림을 생성한다. 각 디지털 데이터 패킷은 예를 들어, 헤더, 메시지 부분, 및 예비 부분을 가질 수 있다. 인코더(400A)가 물리적인 통신 채널(16)에 송신를 하기 전에 하나 이상의 데이터 패킷의 예비 부분에 CRC 검사 시퀀스를 삽입한다. 수신기(14)는 디코더(400B) 및 출력 데이터 프로세서(20)를 포함한다. 디코더(400B)는 그 수신된 데이터 패킷을 그 내부에서 CRC 검사 시퀀스를 기반으로 송신 에러에 대해 검사하고, 출력 데이터 프로세서(20)에 에러를 가진 데이터 패킷을 표시하게 한다. 출력 데이터 프로세서(20)는 에러가 없게 되는 데이터 패킷의 메시지 부분으로부터 디코더(400B)에 의해 데이터를 도출할 수 있다. 수신기(14)가 송신기(12)에 신호 전송하기 위해 구성될 수 있어서 송신 에러를 갖는 것으로 디코더(400B)에 의해 발견된 데이터 패킷을 재-송신한다. 물리적인 통신 채널(16)은 송신기(12) 및 수신기(14)간에 데이터 통신을 지원한다. 물리적인 채널(16)이 하나 이상의 종래의 광 섬유 전송 라인, 무선 전송 매체, 및/또는 그 결합체를 포함할 수 있다. 통신 시스템(10)은 CRC 검사 시퀀스 기반의 방법에 뿐만 아니라 다른 에러 검출 및/또는 정정 방법에 대한 데이터 패킷 및/또는 오버헤드의 추가 패키징을 제공하도록 구성될 수 있다.
도 1b는 데이터 송신 에러를 검출하기 위해 2진 CRC 코드를 사용하는 통신 시스템에서 디지털 데이터 심벌의 스트림을 처리하는, 예를 들어, 도 1a의 송신기(12) 및/또는 수신기(14)에서 실행되는, 방법을 개략적으로 예시한다.
이 방법은 총
Figure 112012035409109-pct00001
개의 디지털 심벌을 포함하는 제 1 시퀀스(32)의 연산을 포함한다. 제 1 시퀀스(32)가 같은 길이를 갖는 연속 세그먼트로 형성된다. 제 1 시퀀스(32)는 관심있는 데이터 패킷의 메시지 및 예비 부분을 형성하는 길이
Figure 112012035409109-pct00002
를 갖는 시퀀스(34)를 포함한다. 그 메시지 부분은 다항식
Figure 112012035409109-pct00003
로 정확하게 표현되고, 예비 부분이 다항식
Figure 112012035409109-pct00004
로 정확하게 표현된다. 제 1 시퀀스에서, 메시지 부분인 "a" 데이터 심벌의 시퀀스가 선행되고, 그 뒤로 "b" 데이터 심벌의 시퀀스가 이어진다.
이 방법은 다항식
Figure 112012035409109-pct00005
로 정확하게 표현되는 제 2 시퀀스(36)를 생성하기 위해 제 1 시퀀스(32)를 마스킹하는 것을 포함한다. 제 1실시예에서, 데이터 패킷의 메시지 또는 예비 부분에 위치되지 않은 제 1 시퀀스(32)의 그 비트들을 제로로 세트함에 의해 제 2 시퀀스(36)가 그 마스킹에 의해 생성된다. 대안의 제 2실시예에서, 그 마스킹은 제 1실시예의 마스킹 단계를 실행하고 제 1 시퀀스(32)에서 메시지 부분의 최초 "m" 비트 및 예비 부분의 "m" 비트의 1의 보수를 형성함에 의해 제 2 시퀀스(36)를 생성한다. 도 1b에서, 2개의 실시예는 제 2실시예의 추가의 마스킹 연산을 예시하기 위해 알맞은 데이터 패킷의 비트 위치에
Figure 112012035409109-pct00006
를 삽입하는 것을 개략적으로 표시한다.
이 방법은 CRC 생성 다항식
Figure 112012035409109-pct00007
에 대응하는 시퀀스로 마스킹된 제 2 시퀀스(36)를 제산해서 나머지 시퀀스값을 계산하는 것을 포함한다. 그 나머지는 다항식
Figure 112012035409109-pct00008
로 정확하게 표현되는 시퀀스이다. 수신기에서, 그 나머지 시퀀스의 계산값이 수신된 데이터 패킷에서 어느 형태의 데이터 송신 에러가 존재하는지 또는 아닌지를 표시한다.
인코딩하는 실시예에서, 이 방법은 송신기로부터 수신기로 송신될 수 있는 제 3 시퀀스(38)를 생성하는 것을 포함한다. 그 제 3 시퀀스(38)는 데이터 패킷의 예비 부분(40)을(위에서 설명된 제 1실시예에서)CRC 검사 시퀀스 또는(위에서 설명된 제 1실시예에서)그 CRC 검사 시퀀스의 1의 보수로 대체함에 의해 형성된다. 여기서, CRC 검사 시퀀스 또는 그것의 1의 보수가 다항식
Figure 112012035409109-pct00009
으로 표현되고 여기서 다항식
Figure 112012035409109-pct00010
이 제 1 시퀀스(32)의 예비 부분에서 원래의 시퀀스를 정확하게 표현하고
Figure 112012035409109-pct00011
가(34)를 코드워드로 되게 하는 조절 시퀀스를 표현한다. 하기에서, 도 1b에 예시된 단계 및 그 내부의 표기법은 더 상세하게 설명된다.
여기에서, 데이터 패킷은 공통 요소를 갖지 않는 메시지 및 예비 부분을 포함하고, 여기서 그 부분의 모두가 유한 심벌 알파벳
Figure 112012035409109-pct00012
에서 디지털 심벌의 유한 시퀀스에 의해 형성된다. 그 알파벳
Figure 112012035409109-pct00013
는 갈르와체(Galois field), 예를 들어 고정되어 기선택된 길이를 갖는 1과 0의 모드(mod)2개의 정수 또는 스트링일 수 있다. 그 메시지 부분이
Figure 112012035409109-pct00014
차 다항식
Figure 112012035409109-pct00015
인 형태:
Figure 112012035409109-pct00016
로서 충실히 표현되며,
Figure 112012035409109-pct00017
개의 디지털 심벌
Figure 112012035409109-pct00018
의 스트림이다. 다항식
Figure 112012035409109-pct00019
에서,
Figure 112012035409109-pct00020
의 파워가 제 1스트림에서 대응하는 디지털 심벌의 임시 위치를 결정한다. 예비 부분이 메시지 부분 직후에 위치될 수 있다. 인코딩하기 전에, 예비 부분이
Figure 112012035409109-pct00021
차 다항식
Figure 112012035409109-pct00022
인 형태:
Figure 112012035409109-pct00023
로서 정확하게 표현되며,
Figure 112012035409109-pct00024
개의 디지털 심벌
Figure 112012035409109-pct00025
의 스트림을 유지한다.
인코딩에 의해 데이터 패킷의 예비 부분을 고정된 길이
Figure 112012035409109-pct00026
의 CRC 검사 시퀀스 부분 또는 그것의 1의 보수로써 재기록한다. CRC 검사 시퀀스는 CRC 검사 시퀀스 다항식인 형태:
Figure 112012035409109-pct00027
로 정확하게 표현되며, 형태
Figure 112012035409109-pct00028
Figure 112012035409109-pct00029
를 갖는다.
제 1실시예에서, 예를 들어, 도 1b에 대해 설명했듯이, 대응하는 메시지 및 CRC 검사 시퀀스 부분이
Figure 112012035409109-pct00030
를 만족하는 다항식
Figure 112012035409109-pct00031
으로 정확하게 표현되며, 심벌 길이
Figure 112012035409109-pct00032
의 코드워드를 형성한다.
다항식
Figure 112012035409109-pct00033
에서, 고차
Figure 112012035409109-pct00034
항이 디지털 데이터 패킷 자체의 메시지 부분의 디지털 데이터 심벌에 대응하고 저차
Figure 112012035409109-pct00035
항은 디지털 데이터 패킷의 CRC 검사 시퀀스 부분의 디지털 심벌에 대응한다.
여기서, 코드워드가 기선택되고 고정된 CRC 생성 다항식에 의해
Figure 112012035409109-pct00036
로 정확하게 제산할 수 있는
Figure 112012035409109-pct00037
로 된 다항식을 표시한다. 기선택되고 고정된 CRC 생성 다항식
Figure 112012035409109-pct00038
Figure 112012035409109-pct00039
로서 기록될 수 있고, 여기서
Figure 112012035409109-pct00040
다.
예를 들어, 유용한 CRC 생성 다항식
Figure 112012035409109-pct00041
은 다음의 특정한 CRC 생성 다항식이다.
Figure 112012035409109-pct00042
수학식 1의 특정한 CRC 생성 다항식은 CRC-32 다항식으로서 공지되고 몇 개의 표준, 예를 들어, IEEE 802.3 에서넷 표준에 의해 특정화된다. 본원에서 설명된 방법 및 장치의 각종 실시예가 CRC-32 다항식 또는 CRC 생성 다항식과 다른 다항식을 사용하기 위해 구성될 수 있다.
이러한 제 1실시예에서, CRC 검사 시퀀스 다항식
Figure 112012035409109-pct00043
이 선택되어
Figure 112012035409109-pct00044
는 CRC 생성 다항식
Figure 112012035409109-pct00045
로 제산가능하고, 즉
Figure 112012035409109-pct00046
가 코드워드이다. 특히,
Figure 112012035409109-pct00047
를 CRC 생성 다항식
Figure 112012035409109-pct00048
로 제산한 나머지가 수학식 2로 정의된다.
Figure 112012035409109-pct00049
여기서, 나머지 다항식
Figure 112012035409109-pct00050
은 디지털 심벌 시퀀스
Figure 112012035409109-pct00051
에 대응한다. 그러므로, CRC 검사 시퀀스 다항식이
Figure 112012035409109-pct00052
를 만족하고 여기서 마이너스 계수는 대수
Figure 112012035409109-pct00053
에서 계수의 갓법역원(additive inverse)이다. 2진 CRC 코드에서,
Figure 112012035409109-pct00054
Figure 112012035409109-pct00055
인데, 왜냐하면 2진 CRC 코드의 대수
Figure 112012035409109-pct00056
는 정수 모듈로 2 및 그 정수 모듈로 2에 대한 1+1=0이기 때문이다. 그러므로, CRC 검사 시퀀스 다항식은 그 대수에 대해
Figure 112012035409109-pct00057
이다.
CRC 코드를 구현한 데이터 통신 시스템에서, 도 1a에 도시된 송신기가 디지털 데이터 심벌의 스트림을 전송한다. 그 스트림에서, 각 송신된 디지털 데이터 패킷은 분리된 메시지 부분과, 코드워드
Figure 112012035409109-pct00058
에 함께 대응하는 CRC 검사 시퀀스 부분을 포함한다. 각 디지털 데이터 패킷이 데이터 패킷의 메시지 및 CRC 검사 시퀀스 부분의 일부로 되지 않는 분리된 패킷 헤더 및/또는 패킷 컨테이너도 포함할 수 있다. 코드워드
Figure 112012035409109-pct00059
에 대응하는 데이터 패킷의 송신에 응답해서, 수신기는 다항식
Figure 112012035409109-pct00060
에 대응하는 디지털 데이터 심벌의 시퀀스를 수신하고, 여기서,
Figure 112012035409109-pct00061
이다. 여기서,
Figure 112012035409109-pct00062
는 수신된 데이터 패킷에서 에러 위치 및 값을 정확하게 표현하는 다항식이다. 송신 에러가 발생하는 지를 결정하기 위해, 도 1a에 예시된 수신기(14)는
Figure 112012035409109-pct00063
를 CRC 생성 다항식
Figure 112012035409109-pct00064
로 제산한 다항식의 나머지를 평가한다. 송신 에러가 없을 때, CRC 생성 다항식
Figure 112012035409109-pct00065
로 제산한
Figure 112012035409109-pct00066
의 나머지가 제로 계수를 갖는 다항식이고, 즉
Figure 112012035409109-pct00067
가 코드워드이다. 하나 이상의 송신 에러가 발생한 경우에, 그 제산의 나머지는 비-제로로 되고, 즉,
Figure 112012035409109-pct00068
가 바로 코드워드로 되지 않으면, 에러가 검출될 수 있다. 예를 들어, 특정한 m차 생성 다항식에서, m차 보다 낮은 다항식의 순환 시프트인 에러 시퀀스는 코드워드가 아닌 다항식
Figure 112012035409109-pct00069
를 생성한다. 그러므로, 수신된 데이터 패킷에서, 그 에러는, 대응하는 다항식
Figure 112012035409109-pct00070
가 코드워드인지를 결정함에 의해 검출될 수 있다.
도 1b에 대해 설명하는 제 2실시예에서, 인코딩 단계는 나머지
Figure 112012035409109-pct00071
를 모두 1의 시퀀스로 유지하는
Figure 112012035409109-pct00072
개의 메모리 소자를 초기화하고, 다항식
Figure 112012035409109-pct00073
을 CRC 생성 다항식
Figure 112012035409109-pct00074
로 제산한 나머지
Figure 112012035409109-pct00075
를 효과적으로 평가하고, 여기서,
Figure 112012035409109-pct00076
Figure 112012035409109-pct00077
이다. 그러므로, 다항식
Figure 112012035409109-pct00078
은 다음과 같다.
Figure 112012035409109-pct00079
이 제 2실시예에서, 데이터 패킷의 메시지 및 예비 부분에 대한 제 3 시퀀스의 송신된 부분이
Figure 112012035409109-pct00080
를 만족하는 코드워드
Figure 112012035409109-pct00081
로 정확하게 표현되고, 여기서,
Figure 112012035409109-pct00082
이다. 본원에서, CRC 코딩의 제 2실시예에서, 데이터 패킷은, 다항식을 CRC 생성 다항식
Figure 112012035409109-pct00083
로 제산한 것이 m차인 모든 1의 다항식을 생성하는 경우에, 코드워드인 다항식에 의해 충실히 표현되고, 여기서, 데이터 패킷의 예비 부분이 길이
Figure 112012035409109-pct00084
를 갖는다. 그러므로, 수신기는, CRC 검사 시퀀스에 특정하는 메모리 소자를 모두 1의 시퀀스로 초기화한 후
Figure 112012035409109-pct00085
Figure 112012035409109-pct00086
에 대응하는 그 수신된 시퀀스를 CRC 생성 다항식
Figure 112012035409109-pct00087
로 제산한 다항식의 나머지가 데이터 패킷에 송신 에러가 있는 지를 결정하기 위해 모두 제로 시퀀스를 생성하는 지를 결정한다. IEEE 802.3 표준의 매체 액세스 제어(MAC)층은 그 대안의 절차를 수학식 1의 표준 CRC-32 생성 다항식
Figure 112012035409109-pct00088
로써 사용한다.
도 2 및 도 3은 0 및 1에 대한 모듈로 가산으로 정의된 2진 대수를 통해 CRC(cyclic redundancy code)를 기반으로 데이터 패킷을 처리하는 방법(200, 300)을 예시한다. 그 인코딩 방법(300)은 데이터 패킷의 메시지 부분에 대한 CRC 검사 시퀀스를 평가하고 CRC 검사 시퀀스 및 그것의 1의 보수를 도 1a에 예시된 인코더(400A)의 메시지 부분에 첨가함에 의해 송신용 데이터 패킷 각각을 준비하는 단계를 포함한다. 그 첨가 단계가 CRC 코드워드에 대응하는 시퀀스를 형성한다. 그 디코딩 방법(200)은, 데이터 패킷이 도 1a에 예시된 디코더(400B)의 CRC 코드워드에 대응하는 지를 결정함에 의해, 수신된 데이터 패킷이 CRC-검출가능한 송신 에러를 갖는 지를 결정하는 것을 포함한다. "코드워드"의 정의가 도 1b의 제 1 및 2 실시예에서 이미 설명되었다.
단계(210 및 310)에서, 그 방법(200,300)은 내부에 디지털 데이터 패킷을 갖는 제 1 시퀀스의 세그먼트를 세그먼트 단위로 수신하는 것을 포함하고, 그 수신은 도 1a에 예시된 바와 같이 인코더(400A)또는 디코더(400B)에서 실행된다. 제 1 시퀀스가
Figure 112012035409109-pct00089
개의 세그먼트로 된 시퀀스이고, 여기서 각 세그먼트가 동일한 길이
Figure 112012035409109-pct00090
를 갖는다.
각 제 1 시퀀스가 도 2 및 3의 방법(200, 300)에서 데이터 패킷의 메시지 부분과 예비 부분을 포함하고, 비트의 메시지 부분의 시퀀스가 다항식
Figure 112012035409109-pct00091
에 대응하고,
Figure 112012035409109-pct00092
비트의 예비 부분의 시퀀스가 다항식
Figure 112012035409109-pct00093
에 대응한다. 그 예비 부분이 데이터 패킷의 메시지 부분에 바로 이어진다. 메시지 및 예비 부분은, 예를 들어, 패킷 헤더 뒤인 데이터 패킷의 메시지 부분에 일반적으로 위치된다. 제 1 시퀀스에서,
Figure 112012035409109-pct00094
비트가
Figure 112012035409109-pct00095
Figure 112012035409109-pct00096
에 대응하는 시퀀스에 앞서고,
Figure 112012035409109-pct00097
에 대응하는 시퀀스에
Figure 112012035409109-pct00098
비트가 이어진다. 그러므로,
Figure 112012035409109-pct00099
이고, 여기서
Figure 112012035409109-pct00100
가 제 1 시퀀스의 세그먼트 수이고,
Figure 112012035409109-pct00101
는, 비트가 세그먼트에 있는 경우, 갯수이고,
Figure 112012035409109-pct00102
Figure 112012035409109-pct00103
에 대응하는 시퀀스에서 비트수이다.
여기서, 정수값
Figure 112012035409109-pct00104
Figure 112012035409109-pct00105
은 제 1 시퀀스의 데이터 패킷의 다른 가능한 위치 및 데이터 패킷의 다른 가능한 길이로 인해 데이터 패킷 단위로 변할 수 있다. 하기 설명된 예에서, 각 세그먼트의 길이가 2개만의 연속 데이터 패킷의 메시지 부분이 같은 세그먼트에 위치되는 것을 확정할 만큼 짧다. 일부의 다른 실시예에서, 그 세그먼트가 길어질 수 있어서 하나의 데이터 패킷의 메시지 부분의 일부, 제로인 메시지 부분, 하나 이상의 연속 데이터 패킷, 및 다른 데이터 패킷의 메시지 부분의 일부가 하나의 세그먼트에 있을 수 있다.
단게(220 및 320)에서, 그 방법(200,300)은 세그먼트를 수신했을 때 제 1 시퀀스의
Figure 112012035409109-pct00106
개의 세그먼트를 순차적으로 마스킹하고, 예를 들어, 그 마스킹이 도 1a에 예시된 바와 같이 인코더(400A)또는 디코더(400B)에서 실행될 수 있다. 마스킹은 세그먼트 단위로 세그먼트의 제 2 시퀀스를 생성하고, 여기서
ⅰ)
Figure 112012035409109-pct00107
에 대응하는 시퀀스를 선행하는
Figure 112012035409109-pct00108
비트가 제로이고,
ⅱ)
Figure 112012035409109-pct00109
에 대응하는 시퀀스 뒤에 있는
Figure 112012035409109-pct00110
비트가 제로이다.
도 1b에 대해 설명된 상기 설명된 제 2실시예를 예로 하는 일부의 특정한 실시예에서, 마스킹 단계(220 및 230)는
ⅰ)
Figure 112012035409109-pct00111
에 대응하는 시퀀스의 선행하는
Figure 112012035409109-pct00112
비트를 반전시키고,
ⅱ)
Figure 112012035409109-pct00113
에 대응하는 시퀀스의 최종
Figure 112012035409109-pct00114
비트를 반전하는 것을 포함한다. 이들 특정한 실시예는 데이터 패킷의 메시지 및 예비 부분의 연속된 최초
Figure 112012035409109-pct00115
비트 및 최종
Figure 112012035409109-pct00116
비트에 대한 선택 반전(즉, 다시 말하면, 1의 보수)을 실행한다. 이 실시예에서, 세그먼트의 제 2 시퀀스가 수학식 4로 된 다항식
Figure 112012035409109-pct00117
로 정확하게 표현된다.
Figure 112012035409109-pct00118
단계(230 및 330)에서, 그 방법(200, 300)은 다항식
Figure 112012035409109-pct00119
를 CRC 생성 다항식
Figure 112012035409109-pct00120
로 재귀적으로 제산하는 것에 대응하는 세그먼트 단위로 다항식
Figure 112012035409109-pct00121
에 대응하는 제 2 시퀀스를 처리하는 것을 포함한다. 단계(230 및 330)가 다항식
Figure 112012035409109-pct00122
를 CRC 생성 다항식
Figure 112012035409109-pct00123
로 제산한 나머지인 다항식
Figure 112012035409109-pct00124
에 대응하는 나머지 시퀀스를 계산하는 것을 포함한다. 그러므로, 처리 단계(230, 330)는 데이터 패킷의 메시지 부분
Figure 112012035409109-pct00125
을 CRC 생성 다항식
Figure 112012035409109-pct00126
로 제산하는 것보다
Figure 112012035409109-pct00127
를 CRC 생성 다항식
Figure 112012035409109-pct00128
로 제산하는 것을 효과적으로 실행한다.
단계(240)에서, 그 방법(200)은 데이터 패킷의 메시지 및 예비 부분에 대응하는 제 1 시퀀스의 일부가 단계(230)에서 계산된 나머지를 기반으로 CRC 코드워드를 형성하는 지를 결정한다. 제 1 시퀀스의 일부가 코드워드로 되면, 방법(200)은 데이터 패킷에 송신 에러가 없이(250)에서 신호 전송하는 것을 포함한다. 제 1 시퀀스의 일부가 코드워드로 되지 않으면, 방법(200)은 데이터 패킷에 송신 에러가 있는 상태에서(260)에서 신호 전송하는 것을 포함한다.
단계(340)에서, 방법(300)은, 데이터 패킷의 메시지 및 예비 부분이 CRC 코드워드에 대응하는 시퀀스를 형성하도록, 데이터 패킷의 예비 부분을 조절하는 것을 포함한다. 단계(340)는 검사 시퀀스 차분 다항식
Figure 112012035409109-pct00129
에 대응하는 시퀀스를 결정하고 데이터 패킷의 메시지 및 예비 부분에 대한 최종 시퀀스를 생성하는 것을 포함할 수 있다. 그 최종 시퀀스가 다항식
Figure 112012035409109-pct00130
에 의해 정확하게 표현된다.
상기 설명된 제 1실시예에서,
Figure 112012035409109-pct00131
의 형태로부터 수학식 5가 된다.
Figure 112012035409109-pct00132
그 계산된 나머지 다항식
Figure 112012035409109-pct00133
에 대한 시퀀스가 최소한 길이
Figure 112012035409109-pct00134
을 갖는 모두-제로 시퀀스인 경우에,
Figure 112012035409109-pct00135
로 되고, 단계(340)에서
Figure 112012035409109-pct00136
으로 된다. 대신해서, 그 계산된 나머지
Figure 112012035409109-pct00137
Figure 112012035409109-pct00138
과 같거나 적은 길이를 갖는 비-제로 다항식인 경우에,
Figure 112012035409109-pct00139
이고, 여기서, 비-제로 검사 시퀀스 차분 다항식
Figure 112012035409109-pct00140
가 수학식 6을 만족한다.
그 후에, 단계(340)는 후방향 계산을 통해 수학식 6을 푸는 것을 효과적으로 할 수 있어서 계산된 나머지 다항식
Figure 112012035409109-pct00142
에 대해 계산된 시퀀스로부터 검사 시퀀스 차분 다항식
Figure 112012035409109-pct00143
에 대한 심벌 시퀀스를 획득한다.
단계(340)는 다항식
Figure 112012035409109-pct00144
에 대한 시퀀스에서 다른 방정식에 관련한 나머지
Figure 112012035409109-pct00145
를 제로로 연속하는 다른 수
Figure 112012035409109-pct00146
에 대해 재귀적으로 푸는 것에 의해 다항식
Figure 112012035409109-pct00147
를 계산된 나머지 다항식
Figure 112012035409109-pct00148
으로부터 후방향 계산하는 것을 포함할 수 있다. 특히, 방정식에 관련한 나머지가 역차(reverse-order)생성 다항식으로부터 역차 형태로 재기록될 수 있다. 예를 들어,
Figure 112012035409109-pct00149
는 수학식 7을 풀어서
Figure 112012035409109-pct00150
를 포함하는 나머지로부터 획득될 수 있다.
Figure 112012035409109-pct00151
즉, 제
Figure 112012035409109-pct00152
나머지 다항식
Figure 112012035409109-pct00153
의 계수가 제
Figure 112012035409109-pct00154
역차 나머지 다항식
Figure 112012035409109-pct00155
을 역차 고정된 다항식
Figure 112012035409109-pct00156
로 제산해서 얻어진 나머지와 같다. 그런 이유로, 그 설명된 재귀 공정은 역차 형태의 나머지로 실행될 수 있어서
Figure 112012035409109-pct00157
를 계산된 나머지 다항식
Figure 112012035409109-pct00158
으로부터 얻는다. 예를 들어, 임의 범위에 있는
Figure 112012035409109-pct00159
값을 소정의 범위로 계산을 하는 하나의 방법은 도 8과 관련해서 하기에서 더 상세하게 설명된다.
상술한 제 2실시예에서, 검사 시퀀스 차분 방정식
Figure 112012035409109-pct00160
은 다항식
Figure 112012035409109-pct00161
및 다항식
Figure 112012035409109-pct00162
간의 차분이며, 제 1 시퀀스에서 데이터 패킷의 예비 부분에 대응된다. 다항식
Figure 112012035409109-pct00163
은 데이터 패킷의 메시지 부분에 대한 다항식
Figure 112012035409109-pct00164
을 CRC 생성 다항식
Figure 112012035409109-pct00165
으로 제산한 나머지의 1의 보수에 대응한다. 본 실시예에서, 다항식
Figure 112012035409109-pct00166
에 대한 시퀀스가 수학식 6 내지 8의 변형된 버젼을 기반으로 계산된 나머지 다항식
Figure 112012035409109-pct00167
에 대한 시퀀스로부터의 후방향 계산에 의해 발견될 수 있었고, 그 수학식 6 내지 8이 제 2실시예에서 그 수학식 4에 도시된 바와 같이 다항식
Figure 112012035409109-pct00168
의 반전을 설명한다. 당업자는 수학식 4 내지 8의 상기 설명을 기반으로 상기 변형된 방정식을 쉽게 결정할 수 있다.
단계(340)에서, 방법(300)은, 데이터 패킷이 원래의 메시지 부분을 갖고 메시지 및 예비 부분이 다항식
Figure 112012035409109-pct00169
Figure 112012035409109-pct00170
으로 정확하게 표현된 CRC 코드워드를 형성하는, 최종 시퀀스를 목적지 수신기에 순차적으로 송신한다.
아래 설명된 실시예에서, "워드"는 일반적으로 "1 바이트"이다.
도 4a 및 4b는 인코더(400A) 및 디코더(400B)각각을 예시한다. 인코더(400A)는 도 3의 인코딩 방법(300)을 실행할 수 있고, 디코더(400B)는 도 2의 디코딩 방법(200)을 실행할 수 있다. 인코더(400A) 및 디코더(400B)는 게이트, 플립-플롭, 레지스터, 가산기, 및/또는 승산기를 포함하는 회로로 형성된 종래의 디지털 하드웨어 장치이다. 도 4a-4b에 예시된 인코더(400A) 및 디코더(400B)가 도 1a에 예시된 각 인코더(400A) 및 디코더(400B)일 수 있다. 인코더(400A) 및 디코더(400B)는 유선, 무선, 또는 광 패킷 기반의 통신용 송수신기의, 에서넷 NIC(network interface card)또는 TNE(transport network element)을 예로 하는, NIC 또는 TNE에서 위치될 수 있다.
도 4a 및 4b에 도시했듯이, 인코더(400A) 및 디코더(400B)는 디지털 데이터 처리 유닛 세트를 포함한다. 디지털 데이터 처리 유닛 세트는 세그먼팅 유닛(410)과; 마스킹 유닛(420)과; 부분 나머지 첨가 유닛(425)과; 세그먼트 제산유닛(430, 435)과; 나머지 처리 유닛(440); 및 하나 이상의 버퍼(460, 462, 464, 466)를 포함한다. 그 인코더가 후방향 계산 유닛(470)과 검사 시퀀스 조절 유닛(480)도 포함한다. 디코더(400B)는 검사 시퀀스 입증 유닛(490)도 갖는다. 각종 디지털 처리 유닛은 각 세그먼트로 하여금 같은 길이를 갖게 하는 수신된 데이터 심벌의 스트림을 임시 순차적인 세그먼트 단위로 처리한다.
그 세그먼팅 유닛(410)은 디지털 데이터 심벌의 스트림을 수신하고 각 연속된 같은 길이의 세그먼트를 마스킹 유닛(420)에 및 각 세그먼트의 정보를 마스킹 유닛(420) 및 부분 나머지 첨가 유닛(425)에 연속 송신한다. 세그먼팅 유닛(410)은 스트림을 입력부(401)에서 수신하고 상기 스트림의 세그먼트를 출력부(412)에서 출력한다. 각 데이터 패킷에 대해, 세그먼팅 유닛(410)은
Figure 112012035409109-pct00171
개의 연속 세그먼트의 시퀀스를 출력하고, 여기서
Figure 112012035409109-pct00172
가 데이터 패킷 단위로 변할 수 있다. 그러나, 각 세그먼트가
Figure 112012035409109-pct00173
바이트 길이이고, 즉 s 비트이고 여기서 s=wS이고
Figure 112012035409109-pct00174
는 워드의 비트수이다. 아래 설명에서, 세그먼트가 바이트-배열된다고 가정한다. 그 결과는 워드 배열로 되지 않는 세그먼트를 처리하기 위해 쉽게 확장될 수 있다.
각 세그먼트에 대해, 세그먼팅 유닛(410)은 세그먼트에 대응하는 정보를 출력 포트(414)에 송신한다. 그 정보가 대응하는 세그먼트에서 위치된 데이터 패킷 개시부 및/또는 데이터 패킷 종료부를 식별하고 위치시킨다. 세그먼트가 데이터 패킷 개시부를 가지면, 세그먼팅 유닛(410)은 세그먼트에서 1값인 패킷의 개시(start-of-packet ; SOP)신호 및 데이터 패킷 개시부의 위치를 식별하는 패킷의 개시 색인(start-of-packet ; SPI)을 출력한다. 세그먼트가 데이터 패킷 개시부를 갖지 않는 다면, 세그먼팅 유닛(410)이 0값인 SOP 신호를 출력한다. 세그먼트가 데이터 패킷 종료부를 가진다면, 세그먼팅 유닛(410)은 세그먼트에서 1값인 패킷의 종료(end-of-packet ; EOP)신호 및 데이터 패킷 종료부의 위치를 식별하는 패킷의 종료(end-of-packet ; EPI)색인을 출력한다. 세그먼트가 데이터 패킷 종료부를 갖지 않는 다면, 세그먼팅 유닛(410)이 0 값인 EOP 신호를 출력한다. 세그먼팅 유닛(410)은 데이터 패킷의 패킷 헤더에서 패킷 길이 식별자(PLI)를 판독해서 데이터 패킷 개시부 및/또는 데이터 패킷 종료부를 식별하고 위치시킬 수 있다.
아래에서, 세그먼트의 연속된 워드가 번호(S-1)내지 0으로 전송 차수로 색인되고, 여기서, 고차 색인이 이미 송신된 워드에 대응한다. SPI 및 EPI 신호가 각 색인을 2진수로 표현하는 2진 신호
Figure 112012035409109-pct00175
의 길이
Figure 112012035409109-pct00176
의 벡터로 표현될 수 있다. SPI 값은 다항식
Figure 112012035409109-pct00177
에 대응하는 부분인 데이터 패킷의 메시지 부분의 최초 워드이고, EPI 값은 데이터 패킷의 예비 또는 CRC 검사 시퀀스 부분의 최종 워드이다.
마스킹 유닛(420)은, 세그먼트가 세그먼팅 유닛(410)으로부터 출력부(412)를 통해 수신될 때, 세그먼트 단위로 세그먼트의 비트를 마스킹한다. 내부에 전체 데이터 패킷을 갖는 제 1 시퀀스의 각
Figure 112012035409109-pct00178
개의 세그먼트로부터, 마스킹 유닛(420)은 대응하는 세그먼트의 제 2 시퀀스를 생성하고, 여기서, 제 2 시퀀스가 이미 설명되었던 다항식
Figure 112012035409109-pct00179
에 대응한다. 그런 제 2 시퀀스에서, 마스킹 유닛(420)은 데이터 패킷의 메시지 및 예비 부분의 외부에 있는 각 비트를 제로로 세트하고, 즉 다시 말하면,
Figure 112012035409109-pct00180
에 대응하는 시퀀스 전에 있는 각 비트를 제로로 세트하고
Figure 112012035409109-pct00181
에 대응하는 시퀀스 뒤에 있는 각 비트를 제로로 세트한다. 그러므로, 마스킹 유닛(420)은 제 1 시퀀스의 최초 "a" 비트를 "0"로 세트하고 각 제 1 시퀀스의 최종 "b" 비트를 "0"로 세트한다. 상기 설명된 제 2실시예에서, 마스킹 유닛(420)은 연속되는 메시지 및 예비 부분에 대응하는 시퀀스의 최초 "m" 비트 및 최종 "m" 비트를 반전시키고(즉, 1의 보수), 즉 시퀀스가 다항식
Figure 112012035409109-pct00182
에 대응한다.
마스킹 유닛(420)은 제 2 시퀀스의 각 세그먼트를 부분 나머지 첨가 유닛(425)에 순차적으로 출력한다. 부분 나머지 첨가 유닛(425)은 제 2 시퀀스의 각 비-선행 세그먼트의 최상위 "m" 비트에 의해 형성된 시퀀스에 부분 나머지를 가산하기 위해 길이 "m"의 부분 나머지 시퀀스를 시프트시킨다. 여기서, 각 부분 나머지 시퀀스가 같은 제 2 시퀀스의 선행 세그먼트의 세그먼트 제산 유닛(430, 435)중 하나를 CRC 생성 다항식
Figure 112012035409109-pct00183
에 대응하는 시퀀스로 제산한 나머지이다. 그 부 분 나머지가 나머지 처리 유닛(440)으로부터 라인(441)을 통해 부분 나머지 첨가 유닛(425)으로 피드백된다.
세그먼트 제산 유닛(430, 435)이 순차적인 세그먼트 단위로 각 수신된 세그먼트에서 동작하고, 예를 들어, 각 세그먼트가 마스크된 다항식
Figure 112012035409109-pct00184
의 세그먼트에 대응한다. 세그먼트 단위의 제산에 의해, 세그먼트 제산 유닛(430, 435)은 부분 나머지의 시퀀스를 출력한다. 세그먼트 제산 유닛(430, 435)은 이전의 세그먼트 제산으로부터 알맞게 시프트된 부분 나머지와 결합되는 비-선행 세그먼트를 수신하므로, 제 2 시퀀스의 최종 세그먼트를 제산해서 세그먼트 제산 유닛들(430,435)중 하나에서 생성된 최종 부분 나머지가 나머지 다항식
Figure 112012035409109-pct00185
에 대한 시퀀스에 대응한다. 즉, 세그먼트 제산 유닛(430,435)에 의해 출력된 최종 부분 나머지 시퀀스가 마스킹된 다항식
Figure 112012035409109-pct00186
를 CRC 생성 다항식
Figure 112012035409109-pct00187
으로 제산해서 생성되는 나머지에 대응한다.
일부의 실시예에서, 부분 나머지 첨가 유닛(425)은 제 2 시퀀스의 세그먼트 세트를 하나의 세그먼트 제산 유닛(430,435)에 출력하고 다음의 제 2 시퀀스에 대한 세그먼트를 나머지 세그먼트 제산 유닛(435,430)에 출력한다. 그 실시예에서, 세그먼트 제산 유닛들(430,435)중 하나가 하나의 데이터 패킷의 각 세그먼트를 CRC 생성 다항식
Figure 112012035409109-pct00188
으로 제산해서 실행하고, 나머지 세그먼트 제산 유닛(435,430)은 스트림에서 다음의 데이터 패킷의 각 세그먼트를 CRC 생성 다항식
Figure 112012035409109-pct00189
으로 제산해서 실행한다.
다른 실시예에서, 부분 나머지 첨가 유닛(425)은 처리되는 데이터 패킷에 의해 점유된 세그먼트량을 기반으로 세그먼트 제산 유닛(430,435)에 세그먼트를 선택적으로 송신한다. 특히, 세그먼트가 데이터 패킷 종료부를 갖고, 현재의 데이터 패킷이 다음의 데이터 패킷보다 내부에서 더 많은 비트를 가진다면, 현재의 데이터 패킷의 세그먼트가 제 1세그먼트 제산 유닛(430)에 송신되고, 다음의 데이터 패킷을 갖는 단축된 세그먼트가 제 2세그먼트 제산 유닛(435)에 송신된다. 그렇치 않으면, 현재의 데이터 패킷이 다음의 데이터 패킷보다 적은 비트를 가지는 경우에, 다음의 데이터 패킷의 세그먼트가 제 1세그먼트 제산 유닛(430)에 송신되고, 현재의 데이터 패킷의 나머지를 갖는 단축된 세그먼트가 제 2세그먼트 제산 유닛(435)에 송신된다.
나머지 처리 유닛(440)은 추가의 처리를 위해 나머지 다항식
Figure 112012035409109-pct00190
에 대한 시퀀스를 출력부(442)로 우회시킨다. 그 추가의 처리가 검사 시퀀스 입증 유닛(490)또는 후방향 계산 유닛(470)에 의해 실행될 수 있다. 각 데이터 패킷에서, 나머지 처리 유닛(440)은 대응하는 데이터 패킷에 대한 SOP, SPI, EOP, 및 EPI 정보를 기반으로 세그먼트 제산 유닛들(430,435)중 하나로부터 나머지 다항식
Figure 112012035409109-pct00191
에 대한 시퀀스를 선택한다. 이미 설명했듯이, 나머지 처리 유닛(440)은 세그먼트 제산 유닛(430,435)으로부터 부분 나머지를 부분 나머지 첨가 유닛(425)로 공급한다.
상기 설명된 제 2실시예에서, 데이터 패킷의 예비 부분의 종료부가 제 2 시퀀스의 최종 세그먼트의 개시부 근처에 위치될 때, 특정한 상황이 발생한다. 그 상황에서, 나머지 처리 유닛(440)은 제 2 시퀀스의 최종 세그먼트에 대한 세그먼트 제산 유닛들(430,435)중 하나에 의해 평가된 부분 나머지에 정정항을 가산하여 구성될 수 있다. 특히, 정정항은 반전되었던 하나 이상의 바이트를 보상하나 대응하는 부분 나머지를 계산할 때 제 2 시퀀스의 맨 마지막에서 2번째 세그먼트에서 반전되지 않는다. 그 정정항은 맨 마지막에서 2번째 세그먼트의 알맞게 시프트되어 누락된 것의 시퀀스를 CRC 생성 다항식
Figure 112012035409109-pct00192
으로 제산할 때 발생하는 나머지이다. 당업자는, 나머지 처리 유닛(440)이 그 특정한 상황에서 그 정정항을 인가하기 위해 사용될 수 있는 룩 업 테이블 또는 결합 회로를 쉽게 제조할 수 있다.
일부의 실시예(도 4a-4b에서 예시안된)에서, 부분 나머지 첨가 유닛(425)은 없고 마스킹 유닛(420)은 제 2 시퀀스의 각 세그먼트를 세그먼트 제산 유닛(430,435)에 직접적으로 순차적으로 출력한다. 그 후에, 나머지 처리 유닛(440)은 제 2 시퀀스의 최종 세그먼트의 세그먼트 제산 유닛(430,435)을 CRC 생성 다항식
Figure 112012035409109-pct00193
에 대응하는 시퀀스로 제산해서 생성된 최종 부분 나머지를 변형시킨다. 특히, 그 변형은 제 2 시퀀스의 초기 세그먼트를 세그먼트 제산 유닛(430,435)으로 제산한 부분 나머지로부터 계산된 정정값을 가산하는 것을 포함한다. 그 조절은 최종 부분 나머지를 정정하여 나머지 처리 유닛(440)이 마스킹된 제 2 시퀀스
Figure 112012035409109-pct00194
를 CRC 생성 다항식
Figure 112012035409109-pct00195
으로 제산해서 얻어진 나머지인 나머지 다항식
Figure 112012035409109-pct00196
에 대응하는 나머지 시퀀스를 출력부(442)에서 계속 출력할 것이다.
마스킹된 제 2 시퀀스에는, 대응하는 데이터 패킷의 일부로 되지 않는 고정된 디지털 데이터 심벌, 예를 들어, 다항식
Figure 112012035409109-pct00197
의 연속 "0"에 대응하는 엔트리들이 있을 수 있다. 이미 논의했듯이, 마스킹된 다항식
Figure 112012035409109-pct00198
에 대한 마스킹된 시퀀스로부터 계산된 바와 같이 다항식
Figure 112012035409109-pct00199
에 대한 나머지 시퀀스가 데이터 패킷 자체에 대한 CRC 나머지 다항식
Figure 112012035409109-pct00200
에 대응하지 않을 수 있다. 그러므로, 일부의 데이터 패킷에서, 후방향 계산 유닛(470)은 상기 논의했듯이 CRC 나머지 다항식
Figure 112012035409109-pct00201
에 대한 정정된 CRC 나머지 시퀀스의 후방향 계산 또는 검사 시퀀스 차분 다항식
Figure 112012035409109-pct00202
에 대한 차분 시퀀스를 실행할 수 있다. 후방향 계산 유닛(470)에서, 그 계산은 나머지 처리 유닛(440)의 출력 포트(442)로부터 수신되는 길이 "m" 을 갖는 나머지 다항식
Figure 112012035409109-pct00203
를 기반으로 된다. 그 후방향 계산은 이미 설명했듯이, 즉 다시 말하면 라인(465)의 후방향 계산 유닛(470)에 의해 수신된 EOP 및 EPI 신호에서 알 수 있듯이
Figure 112012035409109-pct00204
의 시퀀스에서 "b" 연속 제로의 공지된 고정 형태를 기반으로 된다.
인코더(400A)에서, 후방향 계산 유닛(470)은 CRC 나머지 다항식
Figure 112012035409109-pct00205
에 대한 CRC 검사 시퀀스 또는 검사 시퀀스 다항식
Figure 112012035409109-pct00206
에 대한 차분 시퀀스를 출력 포트(472)를 통해 검사 시퀀스 조절 유닛(480)에 출력한다.
인코더(400A)에서, 검사 시퀀스 조절 유닛(480)은 후방향 계산된 검사 시퀀스
Figure 112012035409109-pct00207
를 대응하는 데이터 패킷의 예비 부분으로 삽입하여 물리적인 통신에 송신하기 위해 변환된 제 1 시퀀스를 생성한다. 그 변환된 제 1 시퀀스에서, 데이터 패킷의 메시지 및 예비 부분에 대한 시퀀스가 다항식
Figure 112012035409109-pct00208
으로 정확하게 표현되는 입력 시퀀스보다 다항식
Figure 112012035409109-pct00209
로 정확하게 표현된다. 그 변환된 제 1 시퀀스가 출력 포트(482)에서 출력된다. 각 데이터 패킷에서, 검사 시퀀스 조절 유닛(480)은 후방향 계산 유닛(470)의 출력 포트(472)로부터 다항식
Figure 112012035409109-pct00210
또는
Figure 112012035409109-pct00211
에 대한 시퀀스를 수신한다.
검사 시퀀스 조절 유닛(480) 및 후방향 계산 유닛(470)은 데이터 라인(469)을 통해 알맞은 시기에 데이터 패킷의 세그먼트를 수신한다. 데이터 라인은 알맞은 길이로 지연하는 버퍼(460, 466)를 포함한다. 검사 시퀀스 조절 유닛(480), 후방향 계산 유닛(470), 및 나머지 처리 유닛(440)은 데이터 라인(469)를 경유해 알맞은 시기에 데이터 패킷에 대한 EOP, EPI, SOP, SPI 신호를 수신한다. 제어 라인(465)은 알맞은 길이로 지연하는 버퍼(462,464)를 포함한다.
디코더(400B)에서, 검사 시퀀스 입증 유닛(490)은 대응하는 데이터 패킷이 코드워드인지를 표시하는 출력부(492)에 제어 신호를 출력한다. 검사 시퀀스 입증 유닛(490)은 나머지 처리 유닛(440)으로부터 수신되는 다항식
Figure 112012035409109-pct00212
에 대한 시퀀스 형태를 기반으로 출력되는 제어 신호값을 결정한다. 다항식
Figure 112012035409109-pct00213
가 길이 "m" 를 갖는 모두 제로인 다항식인 경우에, 검사 시퀀스 입증 유닛(490)은 대응하는 데이터 패킷에 송신 에러가 없다는 것을 표시하는 신호를 일반적으로 출력한다. 그러나, 다항식
Figure 112012035409109-pct00214
가 길이 "m" 를 갖는 다른 다항식인 경우에, 검사 시퀀스 입증 유닛(490)은 대응하는 데이터 패킷에 송신 에러가 있다는 것을 표시하는 신호를 일반적으로 출력한다.
간단히 요약해서, 인코더(400A)에서, 마스킹 유닛(420)은 세그먼트 유닛(410)으로부터 세그먼트의 제 1 시퀀스를 수학식 5를 예로 하는 마스킹 방정식
Figure 112012035409109-pct00215
에 대응하는 마스킹된 세그먼트의 제 2 시퀀스로 변환한다. 인코더(400A)에서, 세그먼트 제산 유닛(430, 435) 및 나머지 처리 유닛(440)은 예를 들어, 수학식 6에 따라 나머지 다항식
Figure 112012035409109-pct00216
에 대응하는 세그먼트의 시퀀스를 함께 발생시킨다. 후방향 계산 유닛(470)은, 예를 들어, 수학식 9에 기초하여 나머지 다항식
Figure 112012035409109-pct00217
으로부터 CRC 검사 시퀀스 조절 다항식
Figure 112012035409109-pct00218
또는 CRC 나머지 다항식
Figure 112012035409109-pct00219
를 효과적으로 결정하고, 그 다항식에 대한 시퀀스가 검사 시퀀스 조절 유닛(480)에서 더 사용될 수 있다.
대안의 실시예에서, 다른 디지털 장치가 마스킹 유닛(420), 부분 나머지 첨가 유닛(425), 세그먼트 제산 유닛(430, 435), 및 나머지 처리 유닛(440)의 결합을 대체할 수 있다. 예를 들어, 세그먼트가 많아야 하나의 데이터 패킷의 일부를 포함하는 경우에, 2개의 세그먼트 제산 유닛(435, 430) 및/또는 나머지 처리 유닛(440)을 갖는 것이 필요로 하지 않을 수 있다.
상기에서 설명했듯이, 본원에서 설명된 하나 이상의 실시예는 데이터 패킷에 대해 CRC 검사 시퀀스를 생성하며 그 생성된 CRC 시퀀스 또는 그것의 1의 보수를 송신 전에 데이터 패킷으로 기록하는 시스템 또는 방법에 관한 것이다.
세그먼트 처리의 예 및 다른 예의 실시예
도 5는 도 4a의 인코더의 일부의 실시예를 통해 예시된 데이터 패킷의 처리를 예시한다. 그 데이터 패킷은 4개의 연속하며 공통 요소를 갖는 않는 같은 길이의 세그먼트(522, 524, 526, 528)로 형성된 디지털 데이터 심벌의 제 1 시퀀스(510)에 위치된다. 그 처리는 마스킹된 세그먼트(570)의 제 2 시퀀스를 생성하고 세그먼트의 제 2마스킹된 시퀀스로부터 CRC 검사 시퀀스(580)를 계산하는 것을 포함한다. 아래에서, 그 처리가 도 4a의 마스킹 유닛(420) 및 부분 나머지 첨가 유닛(425)의 예의 블럭도인 도 6에 관련해서 설명된다. 마스킹 유닛(420) 및 부분 나머지 첨가 유닛(425)은 도 7에 도시된 유한 상태 머신(finite state machine ; FSM)(700)을 기반으로 동작된다.
도 5에서, 4개의 세그먼트(522, 524, 526, 528)의 제 1 시퀀스(510)는 CRC 검사 시퀀스에 대해 메시지 부분(514) 및 예비 부분(516)을 갖는 데이터 패킷을 포함한다. 제 1 및 4세그먼트(522, 528)는 데이터 패킷에 속하지 않는 부분(512, 518), 즉 다시 말하면, 데이터 패킷의 데이터 및 예비 부분(514 및 516)을 갖는다.
도 5는 도 4a의 세그먼팅 유닛(410), 마스킹 유닛(420), 부분 나머지 첨가 유닛(425), 세그먼트 제산 유닛(430, 435), 나머지 처리 유닛(440), 및 후방향 계산 유닛(470)의 처리를 예시한다. 세그먼팅 유닛(410)은 제 1 시퀀스(510)의 세그먼트(522, 524, 526, 528) 및 그 내부의 데이터 패킷의 종료 및 개시의 정보 형성 위치를 마스킹 유닛(420)에 순차적으로 출력한다. 그 마스킹 유닛(420)은 제 1 시퀀스(510)의 세그먼트(522, 524, 526, 528)를 제 2 시퀀스(570)의 마스킹된 세그먼트(536, 546, 556, 556)로 순차적으로 변환한다. 그 변환은 각 6바이트인 데이터 패킷에 없는 제 1 시퀀스(510)의 초기 및 최종 부분(512, 518)을 제로로 마스킹하고, 그 예(반전된 바이트가 대시로 표시됨)에서 각 4바이트인 데이터 패킷의 초기 및 최종 바이트 수와 같은 수를 반전시키는 것을 포함한다. 부분 나머지 첨가 유닛(425)은 세그먼트 제산 유닛(430, 435)에서 선행 세그먼트(522, 524, 526)의 초기 다항식 제산으로부터 중간 또는 부분 나머지(538, 548, 558)를 비-선행 세그먼트(524, 526, 528)의 최상위 바이트로 가산한다. 그 실시예에서, 부분 나머지(538, 548, 558)는 나머지 처리 유닛(440)또는 세그먼트 제산 유닛(430, 435)을 경유해 마스킹 유닛(420)에 피드백된다. 각 세그먼트 제산 유닛(430, 435)은 비-선행 마스킹된 세그먼트(524, 526, 528)에 대해 첨가된 부분 나머지를 갖는 각 마스킹된 세그먼트(536, 546, 556, 566)를 CRC 생성 다항식
Figure 112012035409109-pct00220
에 대응하는 시퀀스로 제산하여 부분 나머지(538, 548, 558, 568)를 생성한다. 그 나머지 처리 유닛(440)은 나머지 다항식
Figure 112012035409109-pct00221
에 대응하는 최종 세그먼트의 나머지(568)를 후방향 계산 유닛(470)에 출력한다. 후방향 계산 유닛(470)은 최종 세그먼트 나머지(568)로부터 CRC 나머지 다항식
Figure 112012035409109-pct00222
에 대응하는 CRC 검사 시퀀스(580)또는 차분 다항식
Figure 112012035409109-pct00223
에 대응하는 CRC 차분 시퀀스를 계산한다.
도 6 및 도 8은 도 4a-4b의 마스킹 유닛(420), 부분 나머지 첨가 유닛(425), 및 후방향 계산 유닛(470)의 특정한 실시예를 예시한다.
도 6을 참조하면, 세그먼팅 유닛(410)은 도 5의
Figure 112012035409109-pct00224
또는 20 바이트인 길이 s를 갖는 세그먼트를 마스킹 유닛(420)의 마스킹 모듈(620, 630, 640)에 송신한다. 마스킹 유닛(420)은 데이터 패킷의 종료 및 개시 세그먼트 색인의 위치에 대한 정보를 수신하는 마스크 생성 모듈(610)을 포함할 수 있다.
마스크 생성 모듈(610)은 도 7에 예시된 FSM(700)에 따라 그 정보를 해석한다. 초기에, FSM이 초기/유휴 상태(710)에 있다. FSM은, SOP의 수신값이 "0"이기만 하면, 초기/유휴 상태에 있게 된다. 나중에 수신된(SOP, EOP)쌍이 SOP=1 및 EOP=0으로 표시하는 경우에, 대응하는 세그먼트가 도 5의 세그먼트(522)를 예로 하는 데이터 패킷의 개시부를 갖는다. FSM은, 그 데이터 패킷이 도 5의 세그먼트(522)에서처럼 데이터 패킷의 종료부를 갖지 않는 다면, PB(Packet-Begin)상태(720)로 변한다. FSM은, 그 세그먼트가 데이터 패킷의 종료부를 또한 갖는 다면, 즉 EOP=1인 경우에, PF(Packet-Full)상태(760)로 변한다. PB 상태(720)에서, 도 6의 마스킹 유닛(420)은 데이터 패킷의 외부에 있는 세그먼트의 초기부를 제로 시퀀스로 세트하고 도 5에서 mv =4 바이트를 예로 하는 데이터 패킷 자체의 최초 m 비트를 반전시킨다. 그 변환을 실행하기 위해, 마스크 생성 모듈(610)은 마스크
Figure 112012035409109-pct00225
Figure 112012035409109-pct00226
를 생성하여 SPI 신호의 수신값에 의해 정의된 형태를 갖는다. SOP 및 EOP 값이 도 5의 세그먼트(524)를 예로 하는 다음의 세그먼트에서 제로인 경우에, FSM은 PM(Packet-Middle)상태(730)로 변한다. FSM이 PM 상태로 있는 처음에는, 인코더는 데이터 패킷이 최종 세그먼트의 종료시에 개시되는 지를 결정하여 이전의 세그먼트의 마스크
Figure 112012035409109-pct00227
의 나머지가 현재의 세그먼트(많아야
Figure 112012035409109-pct00228
)워드가
Figure 112012035409109-pct00229
로 특정화되듯이 반전된다)워드들중 최초 워드를 반전시키기 위해 마스킹 유닛(620)에 공급된다. 그렇치 않으면, PM 상태가 세그먼트의 마스킹을 일반적으로 실행하지 않는다. EOP 값이 데이터의 종료로 하여금 세그먼트에 위치한다는 것을 표시하기 위해 1로 변화될 때서야 FSM(700)은 상태 PM(730)에 있게 된다.
EOP 값이 1로 변할 때서야 FSM이 PM 상태(730)에 있게 된다. SOP 값이 여전히 제로인 경우에, FSM이 1로 변하는 EOP에 응답해서 PE(Packet-End)상태(740)로 변한다. PE 상태(740)에서, 마스크 생성 모듈(610)은 마스킹 모듈(620)에 공급되는 2개의
Figure 112012035409109-pct00230
Figure 112012035409109-pct00231
를 생성하여 데이터 패킷의 외부에 있는 세그먼트의 일부를 제로로 세트하고 데이터 패킷의 종료부에서 길이
Figure 112012035409109-pct00232
을 갖는 부분을 비트 방향으로 반전시킨다. SOP 값이 EOP와 함께 1로 변하는 경우에, 세그먼트가 처리되는 데이터 패킷의 종료부 및 다음의 데이터 패킷의 개시부를 포함한다. 그러한 EOP 및 SOP 값들이 FSM으로 하여금 2개의 세그먼트 제산 유닛(430, 435)을 사용하는 PD(Packet-Double)상태(750)로 변하게 한다.
PD 상태(750)에서, 2개의 처리 경우가 있다. 제 1경우에, 세그먼트가 세그먼트에서 다음의 데이터 패킷의 개시 부분보다 긴 데이터 패킷의 종료 부분을 갖는다. 이 경우에, 데이터 패킷의 종료부가 PE 상태(740)에서와 같이 마스킹 모듈(620)에서 처리되고, 세그먼트 제산 유닛(430)은 마스크
Figure 112012035409109-pct00233
Figure 112012035409109-pct00234
을 사용한다. 그런 경우에, H 워드보다 적은 새로운 데이터 패킷의 개시부가 PB 상태(720)과 같은 형태로 마스크
Figure 112012035409109-pct00235
Figure 112012035409109-pct00236
의 H 최하위 비트를 사용해서 마스킹 모듈(640) 및 세그먼트 제산 유닛(435)에서 병렬로 처리된다. 제 2경우에, 그 세그먼트가 세그먼트에서 다음의 데이터 패킷의 개시부보다 짧은 데이터 패킷의 종료부를 갖는다. 그런 경우에, H 워드보다 적은 데이터 패킷의 종료부가 PE 상태와 비슷하게 2개의
Figure 112012035409109-pct00237
Figure 112012035409109-pct00238
의 H 최상위 비트를 사용해서 마스킹 모듈(630) 및 세그먼트 제산 유닛(435)에서 처리된다. 그런 경우에, 새로운 데이터 패킷의 개시부가 2개의 마스크
Figure 112012035409109-pct00239
Figure 112012035409109-pct00240
를 사용해서 마스킹 모듈(620) 및 세그먼트 제산 유닛(430)에서 PB 상태(720)와 비슷하게 처리된다.
최종적으로, FSM(700)이 초기/유휴 상태(710) 및 PE 상태(740)에 있고 SOP 및 EOP 값들이 1로 되는 경우에, FSM이 PF 상태(760)로 변한다. PE 상태(760)에서, 패킷 전체가 하나의 세그먼트에 포함된다. 그런 경우에, 세그먼트가 4개의 마스크
Figure 112012035409109-pct00241
Figure 112012035409109-pct00242
를 인가하여 마스킹 모듈(620)에서 변형되고, CRC 나머지가 세그먼트 제산 유닛(430)에 의해 결정된다.
FSM(700)은 패킷의 개시 및/또는 패킷의 종료에 관련된 정보의 유효성을 동시에 검사하는 것을 포함할 수 있다. 예를 들어, PM 상태(730)에서, SOP가 1이면, FSM 이 에러 메시지를 보낼 수 있고, FSM 이 초기/유휴 상태(710)로 복귀할 수 있다. FSM 이 SPI 및 EPI 신호의 범위의 유효성을 다르게 검사하는 것을 포함할 수 있다. 예를 들어, PD 상태(750)에서, SPI 및 EPI 신호들은 데이터 패킷의 종료 및 다음의 데이터 패킷의 개시간의 거리가 기형성된 패킷간 간격 길이와 같거나 길게 되는 것을 표시해야한다.
도 6은 마스크 생성 모듈(610) 및 마스킹 모듈(620, 630, 및 640)의 실시예를 예시한다. SOP=1 인 경우에, 마스크 생성 모듈(610)이 패킷 개시 색인(
Figure 112012035409109-pct00243
)을 표현하는 SPI 신호를 처리하여 2진 마스크
Figure 112012035409109-pct00244
를 생성하고, 그 2진 마스크
Figure 112012035409109-pct00245
의 구성이 S 워드에 대응하는(S-1)로부터 0 까지의 색인을 갖는다.
Figure 112012035409109-pct00246
보다 큰 색인을 갖는 구성들이 제로이고,
Figure 112012035409109-pct00247
이하의 색인을 갖는 구성들이 1이다. 마스크 생성 모듈(610)은 어느 워드가 반전되는 가를 표시하는 2진 마스크
Figure 112012035409109-pct00248
를 생성한다. 2진 마스크
Figure 112012035409109-pct00249
에서,
Figure 112012035409109-pct00250
에 대한 구성(
Figure 112012035409109-pct00251
)이 1이고, 다른 구성들이 제로이다.
Figure 112012035409109-pct00252
인 경우에, 다음의 세그먼트에 대응하는 2진 마스크
Figure 112012035409109-pct00253
의 구성들
Figure 112012035409109-pct00254
내지
Figure 112012035409109-pct00255
Figure 112012035409109-pct00256
이 모두 1이다. 마스크
Figure 112012035409109-pct00257
Figure 112012035409109-pct00258
가 마스킹 모듈(620, 630, 및 640)에 분배되고, FSM(700)의 상태에 따르는 방법으로 선택적으로 사용된다.
일 실시예에서, 마스킹이 데이터 패킷 대체를 하지 않는 제 1 시퀀스의 각 디지털 데이터 심벌을 제로로 대체하고 데이터 패킷의 선행 및 최종 디지털 데이터 심벌을 반전시킨다. 마스크
Figure 112012035409109-pct00259
의 제로값 구성은 데이터 패킷에 없는 세그먼트의 일부를 식별하고, 마스크
Figure 112012035409109-pct00260
의 단일값 구성은 데이터 패킷에 있는 제 1 시퀀스의 일부를 식별한다. 제 1 시퀀스의 워드가
Figure 112012035409109-pct00261
의 대응하는 구성에 의해 제어된
Figure 112012035409109-pct00262
게이트로써 그 워드를 처리함에 의해 제로로 선택적으로 세트하거나 변화안된 채로 남게 된다.
Figure 112012035409109-pct00263
의 구성이 제로인 경우에, AND 게이트가 대응하는 워드를 제로로 대체하고,
Figure 112012035409109-pct00264
의 구성이 1인 경우에, AND 게이트가 대응하는 워드를 변화시키지 않는다. 비슷하게, 마스크
Figure 112012035409109-pct00265
의 단위값 구성이 반전되는 세그먼트의 일부를 식별한다. 제 1 시퀀스의 워드가
Figure 112012035409109-pct00266
의 대응하는 구성에 의해 제어된
Figure 112012035409109-pct00267
게이트로써 그 처리를 함에 의해 반전되도록 선택적으로 세트되거나 변화안된 채로 남게 된다. 마스크
Figure 112012035409109-pct00268
의 구성이 1인 경우에, XOR 게이트가 1의 반전에 의해 대응하는 워드를 대체하고, 마스크
Figure 112012035409109-pct00269
의 구성이 제로인 경우에, XOR 게이트가 대응하는 워드를 변화시키지 못한다.
도 5에서, 길이 20(바이트/워드)의 세그먼트(522)는 6 바이트가 패킷의 개시부를 선행하는 것을 표시하는 정보를 갖는 마스킹 유닛(420)으로 입력한다. 그런 이유로 인해, 마스크 생성 모듈(610)은 최초 6바이트를 제로로 대체한다. 마스크 생성 모듈이 반전되는 세그먼트의 바이트 7-10를 야기한다.
도 6을 참조하면, 마스킹 및 부분 나머지 첨가 유닛(420, 425)의 결합은 마스크 생성 모듈(610)에서 새로운 데이터 패킷의 개시를 검출하는 것에 응답해서 나머지 계산을 재개시할 수 있다. 특히, 마스킹 모듈(620 및 630)은 피드백 나머지 및 그 피드백 나머지로서 입력된 0 간에 선택하는 멀티플렉서를 가질 수 있다. SOP 값이 1인 경우에, 멀티플렉서가 제로 입력을 선택하여 나머지 다항식
Figure 112012035409109-pct00270
에 대한 시퀀스를 평가하는 다항식 제산을 재개시한다.
도 4a, 도 4b, 도 5 및 도 6에서, 부분 나머지 첨가 및 나머지 처리 유닛(425, 440)은 이전에 계산된 부분 나머지(538, 548, 558)를 그것의 최상위부로 첨가함에 의해 제 2 시퀀스(570)의 비-선행 세그먼트(546, 556, 566)를 갱신할 수 있다. 각 부분 나머지(538, 548, 558, 568)의 계산은 세그먼트 제산 유닛(430, 435)에서 CRC 생성 다항식
Figure 112012035409109-pct00271
을 예로 하는 고정 제수(divisor)시퀀스에 의해 그 갱신되고 마스킹된 세그먼트(536, 546, 556, 566)를 제산하는 것을 포함한다. 그런 방법에서, 마스킹 유닛(420), 부분 나머지 첨가 유닛(425), 및 나머지 처리 유닛(440)은, 데이터 패킷이 개별의 세그먼트(536, 546, 556, 566)에서 반복 계산을 통해 복수의 세그먼트에 걸쳐 스트레치할 때, 나머지 다항식
Figure 112012035409109-pct00272
에 대한 나머지를 계산한다.
예를 들어, 그 나머지가 다음과 같이 도 5의 예에서 반복적으로 계산된다. 제 1반복에서, FSM(700)이 PB 상태(720)로 되고
Figure 112012035409109-pct00273
마스크(532) 및
Figure 112012035409109-pct00274
마스크(534)를 제 1 시퀀스의 세그먼트(522)에 형성하고 인가하여 제 2 시퀀스(570)의 제 1마스크된 세그먼트(536)를 획득한다. 그 후에, 세그먼트 제산 유닛(430)에서 처리되어 제 1부분 나머지(538)를 획득한다. 다음에서 반복적으로, FSM(700)은 PM 상태(730)로 되고, 마스킹 유닛(420)은 다음의 세그먼트(524)를 입력으로 하고 설정된 FSM 상태의 마스크를 생성하여 제 2세그먼트(546)를 형성하여, 제 2 시퀀스(570)의 제 2세그먼트를 형성한다. 부분 나머지(538)는 부분 나머지 첨가 유닛(425)에 피드백되고 다음의 세그먼트(546)의 최상위부에 가산된 후, 세그먼트 제산 유닛(430)이 최종의 세그먼트를 처리하여 다음의 부분 나머지(548)를 결정한다. 다음에서 반복적으로, FSM(700)은 PM 상태(730)로 되고, 세그먼트(526)가 처리되어 유닛(420)에서 제 2 시퀀스(570)의 제 3세그먼트(556)를 획득한다. 부분 나머지(548)는 부분 나머지 첨가 유닛(425)으로 피드백되고 다음의 세그먼트(556)의 최상부로 가산된 후, 세그먼트 제산 유닛(430)이 최종의 세그먼트를 처리하여 다음의 부분 나머지(558)를 결정한다. 최종 반복에서, FSM(700)은 PE 상태(740)로 변하고
Figure 112012035409109-pct00275
마스크(562) 및
Figure 112012035409109-pct00276
마스크(564)를 제 1 시퀀스의 세그먼트(528)에 형성하고 인가하여 제 2 시퀀스(570)의 최종 세그먼트(566)를 획득한다. 또한, 부분 나머지(558)는 부분 나머지 첨가 유닛(425)에 피드백되고 다음의 세그먼트(566)의 최상위부에 가산된 후, 세그먼트 제산 유닛(430)은 최종의 세그먼트를 처리하여 마스킹된 제 2 시퀀스(570)를 CRC 생성 다항식
Figure 112012035409109-pct00277
으로 제산하여 생성된 다음의 부분 나머지(568)를 결정한다.
상기 절차는 세그먼트 제산 유닛(430, 435)으로 하여금 제 1 시퀀스(510)에서 데이터 패킷의 개시 위치와 무관하게 같은 형태로 부분 나머지(538, 548, 558, 568)을 계산하게 할 수 있다. 나머지 처리 유닛(440)은 데이터의 종료가 세그먼트내에 있는 지를 결정하기 위해 신호 정보를 사용하여 나머지를 출력해야하는 지를 결정한다.
마스크 생성 모듈(610)은 비트 레벨 반전 마스크
Figure 112012035409109-pct00278
를 생성하여 하나 이상의 마스킹 모듈(620, 630, 640)에 송신될 수 있다. 패킷에 포함된 검사 시퀀스 세그먼트가 2개의 세그먼트에 걸쳐있는 경우에, 비트 레벨 반전 신호가 비트 레벨에서 마스킹 모듈(620, 630, 및 640)에 지시하고 세그먼트의
Figure 112012035409109-pct00279
최상위 워드의 각 부분의 반전을 실행한다.
예를 들어, 데이터 패킷의 최종
Figure 112012035409109-pct00280
워드가 반전되는 실시예에서, 비트 레벨 반전이 세그먼트의 제 1
Figure 112012035409109-pct00281
워드에서 패킷의 종료를 설명하기 위해 사용될 수 있다. 반전되어야했던 하나 이상의 워드가 반전되지 않으므로 비트 레벨 반전이 사용되는데, 왜냐하면 그 워드가 이전의 세그먼트로써 처리되기 때문이다.
Figure 112012035409109-pct00282
마스크 신호가 모든 마스킹 모듈(620, 630, 640)에 결합되고 대안의 실시예에서 각각의 폭 S,(S-H), 및 H 를 갖는 것으로 도시되는 반면에, 일부의
Figure 112012035409109-pct00283
마스크는 반전되는 워드수 내에 있는 그 마스킹 모듈에만 결합될 수 있다.
S-워드 마스킹 모듈(620),(S-H)워드 및 H-워드 마스킹 모듈(630 및 640)은 AND 게이트로 된 다수의 뱅크 및 XOR 게이트의 다수의 뱅크를 포함할 수 있다. AND 및 XOR 게이트의 뱅크가 워드-레벨 마스킹 및 라인(441)으로부터의 부분 나머지의 가산을 제 2 시퀀스의 세그먼트에 가능하게 기능한다. XOR 게이트의 뱅크가 하나 이상의 들어오는 비트로 하여금 마스킹 모듈(620, 630, 640)에 반전되게 할 수 있고, XOR 게이트의 뱅크는 마스킹 모듈로 들어가는 데이터 세그먼트(412)의 일부의 모든 비트(즉, 전체 워드)를 반전시킨다. 대안의 실시예에서, 다른 논리 장치 및/또는 구조가 AND 게이트로 된 뱅크 및/또는 XOR 게이트로 된 뱅크를 대체할 수 있어서 그런 마스킹 기능을 실현한다.
상기 설명된 바와 같이, 마스킹 유닛(420)은 패킷에 속하지 않는 세그먼트의 워드를 제로로 세팅함에 의해 데이터 세그먼트의 워드를 마스크 할 수 있고 데이터 패킷의 개시 및/또는 종료부에서 하나 이상의 워드를 1로 반전시킬 수 있다.
도 5를 참조하면, 이 처리가 제 1 시퀀스의 세그먼트를 수신함에 의해 개시한다. 다음에, 마스크 생성 모듈(610)은 새로운 패킷이 세그먼팅 유닛(410)의 출력 포트(414) 및 유한 상태 머신(700)의 현재 상태로부터의 정보를 기반으로 그 수신된 세그먼트내에서 개시하는 지를 결정한다. 새로운 패킷이 세그먼트(522)를 예로 하는 세그먼트에서 개시하는 경우에, 마스킹 생성 모듈(610)은 마스크 벡터를 생성하여 새로운 데이터 패킷의 개시를 선행하는 바이트를 세트하고/세트하거나 새로운 데이터 패킷의 최초
Figure 112012035409109-pct00284
워드를 반전시킨다. 도 5에서, 새로운 데이터 패킷의 개시부는 세그먼트(522)에서 제 7바이트에 있고, 마스킹 생성 모듈(610)은 마스크 벡터
Figure 112012035409109-pct00285
(534) 및 반전 마스크 벡터
Figure 112012035409109-pct00286
(536)을 생성하여 세그먼트(522)의 최초 6워드를 마스킹하고 마스킹 모듈(620)에서 워드 7-10 를 반전시킨다.
이 수신된 세그먼트가 새로운 데이터 패킷의 개시부를 갖지 않는 경우에, 상태 PM(730)로 표시했듯이, 마스킹 생성 유닛(610)은 데이터 패킷의 종료가 세그먼트에 있는 지를 결정한다. 데이터 패킷의 종료부가 그 수신된 세그먼트에 없다면, 마스킹 유닛(620)은 세그먼트의 바이트를 마스킹하거나 반전하지 않을 것이다. 그러나, 데이터 패킷이 그 수신된 세그먼트에서 종료하는 경우에, 마스크 생성 모듈(610)은 패킷의 종료부가 세그먼트(PE 상태(740) 및 PD 상태(750))의 최초
Figure 112012035409109-pct00287
워드내에 있는 지를 결정한다.
데이터 패킷의 종료가 세그먼트의 최초
Figure 112012035409109-pct00288
워드내에 있는 경우에, 마스킹 유닛(420)은 상기 워드를 제로로 세팅함에 의해 패킷의 종료에 따르는 워드를 마스크할 수 있고/있거나 데이터 패킷의 최종
Figure 112012035409109-pct00289
워드를 반전시킬 수 있다. 일 실시예에서, 마스킹 유닛(420)은
Figure 112012035409109-pct00290
를 갖는 데이터 패킷의 종료에 따르는 워드를 마스킹할 수 있고 마스크
Figure 112012035409109-pct00291
를 갖는 데이터 패킷의 최종
Figure 112012035409109-pct00292
워드를 반전시킨다.
데이터 패킷의 종료부가 데이터 세그먼트의 최초
Figure 112012035409109-pct00293
워드내에 있는 경우에, IEEE 802.3 또는 다른 알맞은 표준에 따라 처리될 때 반전되는 하나 이상의 바이트가 반전없이 이미 처리될 수 있었는데, 왜냐하면 데이터 패킷의 종료가 반전되야했던 하나 이상의 워드를 포함하는 세그먼트에서 발생하지 않기 때문이다. 그러므로, 데이터 패킷의 종료부가(예를 들어, PE 상태(740) 및 PD 상태(750)에서)세그먼트(412)의 최초
Figure 112012035409109-pct00294
워드내에서 생성하는 경우에, 마스킹 유닛(420)은 패킷의 종료에 따르는 워드를 마스킹한다.
도 4a 내지 도 4b에서, 나머지 처리 유닛(440)은 내부에서 데이터 패킷의 일부를 갖는 최종 세그먼트에 대한 나머지를 계산할 수 있다. 특히, PE 및 PF 상태(740, 760)에서, 세그먼트 제산 유닛(430)은 이미 설명된 방법으로 최종 세그먼트에 대해 나머지를 계산할 수 있다. 나머지 처리 유닛(440)이 부분 나머지를 피드백하는 경우에, 최종 데이터 세그먼트에 대한 세그먼트 제산 유닛(430)에 의해 계산된 나머지가 데이터 패킷의 종료에 따르는 바이트를 대체하는 제로뿐만 아니라 전체 데이터 패킷에 대한 나머지이다. 나머지 처리 유닛(440)은, 패킷의 종료가 될 때마다, 그 나머지를 생성한다. 나머지 처리 유닛(440)이 부분 나머지를 피드백하지 않는 경우에, 나머지 처리 유닛(440)이
Figure 112012035409109-pct00295
로 승산된 라인(441)에서 나머지 다항식을 결정한 후, 그 계산에서의 최종 나머지가 세그먼트 제산 유닛(430)의 출력 포트로부터 가산되어 나머지 다항식
Figure 112012035409109-pct00296
에 대한 시퀀스를 형성한다. PD 상태(750)에서, 마스킹 유닛(420)은 세그먼트 제산 유닛(430, 435)중 어느 하나를 선택하여 최종 패킷의 나머지를 결정하고, 나머지 처리 유닛(440)은 세그먼트 제산 유닛(430, 435)중 어느 하나의 출력을 선택하여 나머지 다항식
Figure 112012035409109-pct00297
에 대한 시퀀스를 결정한다.
데이터 패킷의 종료에 따르는 여분의 제로를 갖는 마스킹된 다항식
Figure 112012035409109-pct00298
으로부터 계산된 나머지 다항식
Figure 112012035409109-pct00299
은 데이터 패킷 단독의 CRC 검사 시퀀스 다항식
Figure 112012035409109-pct00300
과는 다를 수 있다.
도 8을 참조하면, 후방향 계산 유닛(470)은 연속 제로의 효과를 마스킹 다항식
Figure 112012035409109-pct00301
에서 제거함에 의해 나머지 다항식
Figure 112012035409109-pct00302
로부터 CRC 검사 시퀀스 다항식
Figure 112012035409109-pct00303
를 후방향으로 계산하기 위해 구성된다. 특히, 후방향 계산 유닛(470)은 복수의 후방향 계산 모듈(820-0, 820-1, ...., 820-(p-1))를 포함하고, 여기서 각 계산 모듈(820-0, 820-1, ...., 820-(p-1))은, 데이터 패킷의 종료를 포함하는 세그먼트가 라인(445)로부터의 제어 신호로 특정화된 특정량에 의해 더 짧아지는 경우에, 나머지가 얼마인가를 계산하기 위해 구성된다. 예를 들어, 후방향 계산 모듈(820-0)은, 다항식 제산이 세그먼트의 종료전에 1바이트를 정지하는 경우에, CRC 검사 시퀀스가 어떻게 되는 지를 계산하기 위해 구성된다. 일반적으로, 후방향 계산 모듈(820-k)은, 다항식 제산이 세그먼트의 종료전에
Figure 112012035409109-pct00304
바이트를 정지하는 경우에, 검사 시퀀스가 어떻게 되는 지를 계산하기 위해 구성된다.
이 예시된 후방향 계산 유닛(470)은
Figure 112012035409109-pct00305
개의 직렬 연속된 후방향 계산 모듈을 포함할 수 있고, 각 모듈이
Figure 112012035409109-pct00306
을 만족하는
Figure 112012035409109-pct00307
의 구별값에 대한
Figure 112012035409109-pct00308
바이트를 후방향 계산하기 위해 구성된다.
후방향 계산 모듈(
Figure 112012035409109-pct00309
Figure 112012035409109-pct00310
의 결합을 선택함에 의해, 후방향 계산 유닛(470)은 제로 및
Figure 112012035409109-pct00311
간의 b값에 대한 나머지 다항식
Figure 112012035409109-pct00312
으로부터 CRC 검사 시퀀스 다항식
Figure 112012035409109-pct00313
을 선택적으로 후방향으로 계산할 수 있다. 특히, 도 8에 예시된 실시예에서, 후방향 계산 유닛(470)은 제로로 마스킹된 연속 바이트수의 합인 b를 기반으로 선택된 후방향 계산 모듈(
Figure 112012035409109-pct00314
)을 작동 또는 우회하기 위해 동작하는 복수의 멀티플렉서(
Figure 112012035409109-pct00315
)를 포함한다. 여기서, 후방향 계산 모듈(820-k)이
Figure 112012035409109-pct00316
에 대한 방정식(7)을 구현하는 하드웨어 장치이다.
예를 들어, 세그먼트(528)의 최종 7 바이트가 제로로 마스킹되는 경우에, 패킷의 CRC 나머지 또는 CRC 검사 시퀀스 다항식
Figure 112012035409109-pct00317
(580)이 후방향 계산된 7 바이트이다. 즉, 라인(445)의 신호가 2진수 "00111"를 표시한다. 그러므로, 1 바이트, 2 바이트, 및 4 바이트를 계산하는 후방향에 대응하는 멀티플렉서(830-0, 830-1, ..., 830-2)가 작동되고, 8 바이트 및 16 바이트를 계산하는 후방향에 대한 후방향 계산 모듈이 총 7 바이트로 된 후방향 계산을 생성하기 위해 우회된다.
나머지
Figure 112012035409109-pct00318
에 관한 상기 후방향 계산은 실현가능한 데 왜냐하면 최종 마스킹된 세그먼트의 종료부의 제로가 나머지의 평가에 결정적으로 영향을 미치기 때문이다. 그런 이유로 인해, 실제 CRC 검사 시퀀스는 계산된 나머지 다항식
Figure 112012035409109-pct00319
및 데이터 패킷의 종료 위치로부터 발견될 수 있다. 또한, 후방향 계산 유닛(470)은 세그먼트 제산 유닛(430, 435)으로 하여금 데이터 패킷의 종료 위치와 무관하게 같은 형태로 나머지 계산을 실행한다. 세그먼트 제산 유닛(430, 435)은 연속의 같은 길이의 세그먼트의 시퀀스를 처리하여, 원하는 나머지를 결정하기 위해 더 많은 병렬 또는 직렬 제산 유닛을 필요로 하는 대안의 CRC 인코더에 대해 도 4a의 인코더의 크기 및 제조 비용에 대한 효율을 개선하고 그 크기 및 제조 비용을 감소시킨다.
도 4a를 다시 참조하면, CRC 검사 시퀀스 다항식
Figure 112012035409109-pct00320
에 대한 시퀀스의 후방향 계산 후에, 후방향 계산 유닛(470)은 이전에 설명된 차분 다항식
Figure 112012035409109-pct00321
에 대한 길이 m을 갖는 CRC 검사 시퀀스 또는 길이 m을 갖는 시퀀스를 출력 포트(472)를 경유해 검사 시퀀스 세그먼트 조절 유닛(480)에 출력한다. 후방향 계산 유닛(470)이 데이터 패킷의 예비 부분 위치상의 정보를 출력 포트(474)를 경유해 검사 시퀀스 세그먼트 조절 유닛(480)에 출력한다. 검사 시퀀스 조절 유닛(480)은 위치 정보를 사용하여 지연 라인(469)상의 원래의 데이터 스트림에서 데이터 패킷의 예비 부분을 식별하고, 대응하는 데이터 패킷의 예비 부분이 내부에 CRC 검사 시퀀스를 갖는, 데이터 스트림을 출력 포트(482)에서 생성한다.
최종적으로, 그 CRC 검사 시퀀스가 첨가된 데이터 패킷은 출력 포트(482)로부터 다양하게 적합한 송신기 및 송신 프로토콜(예를 들어, 에서넷, 기가비트 에서넷, 개선된 음성/데이터만)을 경유해 통신 채널로 송신될 수 있다.
데이터 패킷이 그 목적지에 도달할 때, 수신기는 도 4b의 디코더(400B)를 사용할 수 있어서 송신시 발생한 에러를 식별하는 데 사용되는 데이터 패킷에 대한 CRC 나머지를 계산한다. 그 수신된 데이터 패킷이 CRC 코드워드로 되도록 발견되지 않으면, 패킷의 하나 이상의 비트가 송신시 변경될 가능성이 높다.
본 발명이 각종 변형예 및 대안의 형태로 되기 쉽지만, 특정한 실시예는 도면에서 예에 의해 도시되었고 본원에서 상세하게 설명되었다. 그러나, 본 발명이 개시된 특정한 형태로 제한되지 않는다. 오히려, 본 발명은 다음의 첨부된 청구항에 의해 형성된 본 발명의 정신 및 범위내에 있는 모든 변형예, 등가물, 및 대안예를 포함한다.
16 : 채널 410 : 처리 유닛
425 : 부분 나머지 첨가 유닛 440: 나머지 처리 유닛
480: 검사 시퀀스 세그먼트 조절 유닛
620: S 워드로 된 마스킹 모듈

Claims (10)

  1. 인코더 또는 디코더가 공통 요소를 갖지 않은 원래의 세그먼트(disjoint original segments)의 제 1 시퀀스를 처리하는 방법 - 상기 제 1 시퀀스에 데이터 패킷이 위치하며, 상기 제 1 시퀀스의 원래의 세그먼트 각각이 동일한 길이를 가짐 - 으로서,
    상기 제 1 시퀀스의 상기 원래의 세그먼트들 중 최초 세그먼트내의 하나 이상의 심벌을 변형함으로써 상기 최초 세그먼트를 변형시키는 단계 - 데이터 패킷의 개시부가 상기 원래의 세그먼트들 중 최초 세그먼트에 위치되고 그 내부의 최초 심벌 뒤에 위치됨 - 와;
    상기 제 1 시퀀스의 상기 원래의 세그먼트들 중 최종 세그먼트내의 하나 이상의 심벌을 변형함으로써 상기 최종 세그먼트를 변형시키는 단계 - 데이터 패킷의 종료부가 상기 원래의 세그먼트들 중 최종 세그먼트에 위치되고 그 내부의 최종 심벌 앞에 위치됨 - 와,
    공통 요소를 갖지 않은 도출된 세그먼트의 제 2 시퀀스상에서 다항식 제산(polynominal division)을 실행함으로써 나머지(a remainder)를 결정하는 단계 - 상기 제 2 시퀀스의 각 세그먼트가 상기 원래의 세그먼트들 중 하나에 대응하여 그 하나로부터 도출되고, 상기 제 2 시퀀스의 상기 세그먼트가 상기 원래의 세그먼트의 길이를 갖고, 상기 제 2 시퀀스의 상기 도출된 세그먼트들 중 최초 세그먼트는 상기 원래의 세그먼트들 중 상기 변형된 최초 세그먼트이고, 상기 제 2 시퀀스의 상기 도출된 세그먼트들 중 최종 세그먼트는 상기 원래의 세그먼트들 중 상기 변형된 최종 세그먼트임 - 을 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 데이터 패킷의 개시부 및 종료부를 포함하지 않는 각각의 도출 세그먼트는 상기 원래의 세그먼트들 중 대응하는 하나와 동일한
    방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 변형시키는 단계들은 상기 데이터 패킷 외부에 있는 상기 원래의 세그먼트의 부분을 마스킹하여 상기 마스킹된 부분이 상기 다항식 제산에 의해 결정된 나머지에 대한 사전결정된 양에 기여하게 되는 단계를 포함하는
    방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 변형시키는 단계들은 상기 데이터 패킷 외부에 있는 상기 원래의 세그먼트의 부분을 마스킹하여, 상기 마스킹된 부분이, 상기 데이터 패킷의 순환 리던던시 검사 (cycle redundancy check)가 소멸될(vanish) 때, 상기 다항식 제산에 의해 결정된 나머지에 대한 설정량에 기여하지 않는 단계를 포함하는
    방법.
  5. 제 1 항에 있어서,
    상기 제 1 시퀀스의 상기 세그먼트들 중 특정한 하나에 있는 상기 데이터 패킷의 종료부에 응답해서 상기 데이터 패킷에 대한 순환 리던던시 검사의 평가값을 상기 제 1 시퀀스의 상기 세그먼트들 중 특정한 하나에 기록하는 단계를 더 포함하는
    방법.
  6. 인코더 또는 디코더가 동일한 길이를 가지며 공통 요소를 갖지 않는 데이터 세그먼트의 시퀀스를 처리하는 방법 - 상기 시퀀스는 특정한 데이터 패킷을 포함함 - 으로서,
    상기 데이터 세그먼트들 중 하나의 세그먼트의 일부를 마스킹함으로써 상기 길이의 마스킹된 데이터 세그먼트를 형성하는 단계 - 상기 특정한 데이터 패킷의 일부가 상기 데이터 세그먼트들 중 상기 하나의 세그먼트에 있고 상기 마스킹된 부분 외부에 있으며, 상기 특정한 데이터 패킷의 개시부는 상기 데이터 세그먼트 중 상기 하나의 세그먼트에 있으며 상기 데이터 세그먼트 중 상기 하나의 데이터 세그먼트의 첫 번째 심볼 뒤에 위치됨 - 와;
    상기 특정한 데이터 패킷의 개시부/종료부를 변형시킴으로써 상기 길이의 변형된 세그먼트를 형성하는 단계와,
    상기 마스킹된 세그먼트 및 상기 변형된 세그먼트의 계산을 수행함으로써 상기 특정한 데이터 패킷에 대해 순환 리던던시 검사를 계산하는 단계를 포함하는
    방법.
  7. 제 6 항에 있어서,
    상기 계산된 순환 리던던시 검사를 제로와 비교하는 단계를 포함하고,
    상기 순환 리던던시 검사를 계산하는 단계가 상기 데이터 패킷으로써 송신된 다른 순환 리던던시 검사에 적어도 부분적으로 기초하여 검사 시퀀스 값을 계산하는 단계를 포함하는
    방법.
  8. 공통 요소를 갖지 않은 원래의 세그먼트의 제 1 시퀀스에 위치된 데이터 패킷을 처리하는 시스템 - 상기 제 1 시퀀스의 원래의 세그먼트 각각이 동일한 길이를 가짐 - 으로서,
    상기 제 1 시퀀스의 상기 원래의 세그먼트들 중 최초 세그먼트에서 하나 이상의 심벌을 변형하고 - 상기 데이터 패킷의 개시부가 상기 원래의 세그먼트들 중 최초 세그먼트에 있고 그 내부에서 최초 심벌 뒤에 있음 - , 상기 제 1 시퀀스의 상기 원래의 세그먼트들 중 최종 세그먼트에서 하나 이상의 심벌을 변형하는 마스킹 유닛 - 상기 데이터 패킷의 종료부가 상기 원래의 세그먼트들 중 최종 세그먼트에 위치되고 그 내부에서 최종 심벌 앞에 있음 - 과,
    공통 요소를 갖지 않은 연속 세그먼트의 제 2 시퀀스상에서 다항식 제산을 실행함으로써 나머지를 결정하는 순환 리던던시 검사 계산 유닛 - 상기 제 2 시퀀스의 각 세그먼트가 상기 원래의 세그먼트들 중 하나에 대응하여 그 하나로부터 도출되고, 상기 제 2 시퀀스의 상기 세그먼트가 상기 원래의 세그먼트의 길이를 갖고, 상기 제 2 시퀀스의 상기 도출된 세그먼트들 중 최초 세그먼트는 상기 원래의 세그먼트들 중 상기 변형된 최초 세그먼트이고, 상기 제 2 시퀀스의 상기 도출된 세그먼트들 중 최종 세그먼트는 상기 원래의 세그먼트들 중 상기 변형된 최종 세그먼트임 - 을 포함하는
    시스템.
  9. 제 8 항에 있어서,
    상기 마스킹 유닛은 상기 데이터 패킷 외부에 있는 상기 원래의 세그먼트의 일부를 마스킹하기 위해 구성되어 상기 일부가, 상기 데이터 패킷의 순환 리던던시 검사가 소멸될 때, 상기 다항식 제산에 의해 결정된 나머지에 기여하지 않는
    시스템.
  10. 제 9 항에 있어서,
    상기 마스킹 유닛은 상기 데이터 패킷의 개시부에서 심벌을 변형함으로써 상기 원래의 세그먼트들 중 상기 최초 세그먼트를 변형시키고 상기 데이터 패킷의 종료부에서 심벌을 변형함으로써 상기 원래의 세그먼트들 중 상기 최종 세그먼트를 변형시키도록 구성되는
    시스템.
KR1020127011532A 2009-11-04 2010-11-04 통신 시스템에서 에러 검출 방법 및 장치 KR101354288B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/612,674 2009-11-04
US12/612,674 US8892983B2 (en) 2008-11-04 2009-11-04 Method and apparatus for error detection in a communication system
PCT/US2010/055391 WO2011056932A2 (en) 2009-11-04 2010-11-04 Method and apparatus for error detection in a communication system

Publications (2)

Publication Number Publication Date
KR20120062019A KR20120062019A (ko) 2012-06-13
KR101354288B1 true KR101354288B1 (ko) 2014-01-23

Family

ID=42242055

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127011532A KR101354288B1 (ko) 2009-11-04 2010-11-04 통신 시스템에서 에러 검출 방법 및 장치

Country Status (6)

Country Link
US (2) US8892983B2 (ko)
EP (1) EP2497217A4 (ko)
JP (2) JP5717748B2 (ko)
KR (1) KR101354288B1 (ko)
CN (1) CN102771074B (ko)
WO (1) WO2011056932A2 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102588145B1 (ko) 2011-01-14 2023-10-12 지이 비디오 컴프레션, 엘엘씨 엔트로피 인코딩 및 디코딩 방식
US8838680B1 (en) 2011-02-08 2014-09-16 Google Inc. Buffer objects for web-based configurable pipeline media processing
US8681866B1 (en) 2011-04-28 2014-03-25 Google Inc. Method and apparatus for encoding video by downsampling frame resolution
US9106787B1 (en) 2011-05-09 2015-08-11 Google Inc. Apparatus and method for media transmission bandwidth control using bandwidth estimation
US8661323B2 (en) * 2011-05-09 2014-02-25 Google Inc. Method and apparatus for generating packet mask
CN102325003B (zh) * 2011-07-14 2014-02-12 海能达通信股份有限公司 数据错误检测的方法及设备
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
US9185429B1 (en) 2012-04-30 2015-11-10 Google Inc. Video encoding and decoding using un-equal error protection
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
US20160286011A1 (en) * 2015-03-26 2016-09-29 Assaf Kasher Techniques for communicating an end of packet indicator
CN111064546B (zh) * 2019-12-10 2022-05-31 卡斯柯信号有限公司 一种基于crc实现信息位与冗余编码安全转换的方法
US11706150B2 (en) * 2021-04-06 2023-07-18 Apple Inc. Data encoding and packet sharing in a parallel communication interface

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2360177A (en) * 2000-03-07 2001-09-12 3Com Corp Parallel cyclic redundancy checking with last segment padding
US20030223417A1 (en) * 2002-06-04 2003-12-04 Masashi Higashida Method of processing data packets

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5251215A (en) 1992-01-13 1993-10-05 At&T Bell Laboratories Modifying check codes in data packet transmission
JP3029738B2 (ja) 1992-06-30 2000-04-04 富士電機株式会社 複数ブロック化伝送フレームの誤り検出方法
US5473607A (en) * 1993-08-09 1995-12-05 Grand Junction Networks, Inc. Packet filtering for data networks
US6192498B1 (en) * 1997-10-01 2001-02-20 Globepan, Inc. System and method for generating error checking data in a communications system
US7185266B2 (en) * 2003-02-12 2007-02-27 Alacritech, Inc. Network interface device for error detection using partial CRCS of variable length message portions
US6405340B1 (en) * 1999-07-02 2002-06-11 Ericsson Inc. Flexible method of error protection in communications systems
US6519737B1 (en) * 2000-03-07 2003-02-11 International Business Machines Corporation Computing the CRC bits at a time for data whose length in bits is not a multiple of M
JP2002141809A (ja) * 2000-10-31 2002-05-17 Ando Electric Co Ltd Crc符号演算回路、及びcrc符号演算方法
US20020104058A1 (en) * 2000-12-06 2002-08-01 Yigal Rappaport Packet switched network having error correction capabilities of variable size data packets and a method thereof
US6701478B1 (en) * 2000-12-22 2004-03-02 Nortel Networks Limited System and method to generate a CRC (cyclic redundancy check) value using a plurality of CRC generators operating in parallel
US6915473B2 (en) * 2001-05-14 2005-07-05 Interdigital Technology Corporation Method and system for implicit user equipment identification
JP3546959B2 (ja) * 2001-05-31 2004-07-28 日本電気株式会社 Crc演算装置
JP3554715B2 (ja) * 2001-07-31 2004-08-18 アンリツ株式会社 誤り検出装置
US6928608B2 (en) * 2001-08-14 2005-08-09 Optix Networks Ltd. Apparatus and method for accelerating cyclic redundancy check calculations
AU2002362426B2 (en) * 2001-09-29 2008-09-11 Lg Electronics Inc. Method for transferring and/or receiving data in communication system and apparatus thereof
CA2468919C (en) * 2001-12-05 2010-03-09 Lg Electronics Inc. Error detection code generating method and error detection code generator
US6968492B1 (en) * 2002-03-28 2005-11-22 Annadurai Andy P Hardware-efficient CRC generator for high speed communication networks
US7243289B1 (en) * 2003-01-25 2007-07-10 Novell, Inc. Method and system for efficiently computing cyclic redundancy checks
US7010469B2 (en) * 2003-09-30 2006-03-07 International Business Machines Corporation Method of computing partial CRCs
US7543214B2 (en) * 2004-02-13 2009-06-02 Marvell International Ltd. Method and system for performing CRC
US7266760B1 (en) * 2004-09-30 2007-09-04 Altera Corporation Method and apparatus for calculating cyclic redundancy checks for variable length packets
EP1659727B1 (en) * 2004-11-19 2015-03-25 ATI International SRL Iterative decoding of packet data
EP1802019B1 (de) * 2005-04-06 2008-05-28 Siemens Aktiengesellschaft Erkennung von Fehlern bei der Übermittlung von Daten
WO2007126196A1 (en) * 2006-04-29 2007-11-08 Lg Electronics Inc. Digital broadcasting system and method of processing data
US7500170B2 (en) * 2006-08-14 2009-03-03 Motorola, Inc. Method and apparatus for error detection in a data block
KR101286238B1 (ko) * 2007-08-01 2013-07-15 삼성전자주식회사 데이터 병렬화 수신기
US7853857B2 (en) 2007-09-14 2010-12-14 Motorola Mobility, Inc. Multi-layer cyclic redundancy check code in wireless communication system
US8555148B2 (en) 2007-09-18 2013-10-08 Samsung Electronics Co., Ltd. Methods and apparatus to generate multiple CRCs
US8234551B2 (en) * 2007-11-02 2012-07-31 Broadcom Corporation Single CRC polynomial for both turbo code block CRC and transport block CRC
DE102008012523A1 (de) * 2008-03-04 2009-09-10 Lufthansa Technik Ag Falttisch
EP2129028B1 (en) * 2008-05-06 2012-10-17 Alcatel Lucent Recovery of transmission errorrs
EP2117149B1 (en) * 2008-05-06 2011-10-26 Alcatel Lucent Recovery of transmission errors
US8495477B2 (en) * 2010-02-11 2013-07-23 Lg Electronics Inc. Digital broadcasting system and method for transmitting and receiving digital broadcast signal
US8341504B2 (en) * 2010-03-11 2012-12-25 Microsoft Corporation Fast and reliable wireless communication
US8578240B1 (en) * 2011-01-21 2013-11-05 Juniper Networks, Inc. CRC computation for packet length not multiple of data path width
US8671333B2 (en) * 2011-06-29 2014-03-11 Lsi Corporation Adaptive encoding and decoding for error protected packet-based frames

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2360177A (en) * 2000-03-07 2001-09-12 3Com Corp Parallel cyclic redundancy checking with last segment padding
US20030223417A1 (en) * 2002-06-04 2003-12-04 Masashi Higashida Method of processing data packets

Also Published As

Publication number Publication date
WO2011056932A3 (en) 2011-10-27
US20100153828A1 (en) 2010-06-17
US8892983B2 (en) 2014-11-18
JP6382569B2 (ja) 2018-08-29
KR20120062019A (ko) 2012-06-13
US20150039977A1 (en) 2015-02-05
EP2497217A4 (en) 2013-05-01
CN102771074A (zh) 2012-11-07
EP2497217A2 (en) 2012-09-12
JP2013510514A (ja) 2013-03-21
CN102771074B (zh) 2015-08-19
WO2011056932A2 (en) 2011-05-12
JP2014180025A (ja) 2014-09-25
JP5717748B2 (ja) 2015-05-13

Similar Documents

Publication Publication Date Title
KR101354288B1 (ko) 통신 시스템에서 에러 검출 방법 및 장치
JP2013510514A5 (ko)
US8468439B2 (en) Speed-optimized computation of cyclic redundancy check codes
US5440570A (en) Real-time binary BCH decoder
US6530057B1 (en) High speed generation and checking of cyclic redundancy check values
JP4764973B2 (ja) Crc値の算出装置
US7246294B2 (en) Method for iterative hard-decision forward error correction decoding
CN103380585B (zh) 输入位错误率推定方法及其装置
EP2974036B1 (en) Fast cyclic redundancy check computation circuit
US8271850B2 (en) Fast low-density parity-check code encoder
CN101795175B (zh) 数据的校验处理方法及装置
US7539918B2 (en) System and method for generating cyclic codes for error control in digital communications
WO2020072323A1 (en) Burst error tolerant decoder and related systems, methods and devices
US7434150B1 (en) Methods, circuits, architectures, software and systems for determining a data transmission error and/or checking or confirming such error determinations
CN112468161A (zh) 一种rs高速编码电路
CN108270508B (zh) 一种循环冗余校验crc实现方法、装置及网络设备
US20170288697A1 (en) Ldpc shuffle decoder with initialization circuit comprising ordered set memory
US11804855B2 (en) Pipelined forward error correction for vector signaling code channel
US6442747B1 (en) Method of synthesizing a cycle redundancy code generator circuit using hardware description language
US8745465B1 (en) Detecting a burst error in the frames of a block of data bits
CN115037415A (zh) 基于crc的纠错编码的方法、装置、终端
EP2285003B1 (en) Correction of errors in a codeword
US9032277B1 (en) Parallel low and asymmetric rate Reed Solomon coding
US8245103B2 (en) Arithmetic circuit for concatenated codes and address control method
CN113068046A (zh) Mpeg-2同步字节解码器中伴随式的并行产生装置

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
FPAY Annual fee payment

Payment date: 20170106

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180119

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee