KR19980032301A - C r c - 32의 2단계 계산을 위한 방법 및 장치 - Google Patents

C r c - 32의 2단계 계산을 위한 방법 및 장치 Download PDF

Info

Publication number
KR19980032301A
KR19980032301A KR1019970039987A KR19970039987A KR19980032301A KR 19980032301 A KR19980032301 A KR 19980032301A KR 1019970039987 A KR1019970039987 A KR 1019970039987A KR 19970039987 A KR19970039987 A KR 19970039987A KR 19980032301 A KR19980032301 A KR 19980032301A
Authority
KR
South Korea
Prior art keywords
crc
fcs
code
bit stream
bit
Prior art date
Application number
KR1019970039987A
Other languages
English (en)
Other versions
KR100234213B1 (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 KR19980032301A publication Critical patent/KR19980032301A/ko
Application granted granted Critical
Publication of KR100234213B1 publication Critical patent/KR100234213B1/ko

Links

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
    • H03M13/091Parallel or block-wise CRC computation
    • 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/615Use of computational or mathematical techniques
    • H03M13/617Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials
    • 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/6575Implementations based on combinatorial logic, e.g. Boolean circuits

Abstract

본 발명은 처리 시간을 개선하고 구현을 용이하게 하면서 비트 스트림(bit stream)의 주기적 리던던시 체킹(Cyclic Redundancy Checking)인 CRC-32 코드를 계산하기 위한 방법 및 장치에 관한 것이다. 고속으로 동작하기 위해 네트워크 액세스 노드에서의 처리 시간(processing time)을 줄이는 것이 요구되는 경우 크기 고정형 패킷 네트워크(fixed size packet network)를 통하여 전송된 비트 스트림 메시지의 프레임 체크 시퀀스(Frame Check Sequence : FCS) 에러 체킹 코드에 CRC-32 계산이 사용된다. 이러한 CRC-32 계산은 상기 패킷형 비트 스트림 메시지를 수신하는 네트워크 장비 내에서도 역시 FCS 체킹에 사용된다. 본 발명은 특히 비동기 전송 모드(Async. Transfer Mode : ATM) 네트워크에서 AAL5형 셀(AAL5 type cell)을 통하여 반송된 메시지에 적용된다.
본 발명의 원리는 종래 기술인 바이트별 CRC-32 계산을 R 비트 스트림의 하나의 전달(pass) CRC-32 계산이 뒤따르는 간단한 바이트별 CRC-R 계산으로 대체시키는 것으로 구성된다. CRC-R 코드는 차수가 32(degree 32)인 발생기 다항식
G(X)=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
의 곱수(multiplier)이고 차수가 R인 다항식 M(X)에 의해 발생되며, 여기서 갈로이스 필드 발생기(Galois Field generator)는 CRC-32 코드를 구성한다.

Description

CRC-32의 2단계 계산을 위한 방법 및 장치
본 발명은 고속 통신 네트워크에서 데이터 완전성을 체크(data integrity checking)하기 위한 에러 코드 계산 (error code calculation)에 관한 것이다. 본 발명은 고속으로 동작하기 위해 데이터 완전성 체킹용으로 빠른 프로세스를 요구하는 비동기 전송 모드(Asynchronous Transfer Mode : ATM) 네트워크에 적용될 수 있다.
디지털 메시지가 원격통신 네트워크 상에서 전송될 때 몇몇 에러들이 예측될 수 있으며, 데이터 완전성을 확보하기 위하여 직렬형 데이터(serialized data)는 에러 검출 코드(Error Detection Code)로 보호된다. 고속 네트워크에서는 회선들이 낮은 에러율(low error rate)을 가지며 또 데이터 안전성(data security)은 종단 대 종단 처리(end to end process)만을 요구한다. 데이터 완전성 처리는 송신국 및 수신국 양쪽에서 수행되는데, 송신국은 데이터에 대응하는 코드를 계산하며 수신국(receiving station)은 데이터 및 코드의 완전성을 체킹한다. ATM은 에러 체킹을 위하여 주기적 리던던시 체크(Cyclic Redundancy Check : CRC) 에러 검출 코드로부터 유도된 프레임 체크 시퀀스(Frame Check Sequence : FCS) 필드를 사용한다. CRC 코드는 그 구현이 쉽고 또 큰 규모(large class)의 에러를 검출하기 용이하기 때문에 데이터 완전성 체킹에 종종 사용된다. ATM 네트워크의 액세스 노드(access node)는 데이터 완전성을 책임지며, 개시 노드(originating node)는 프레임 체크 시퀀스(FCS)를 구성하는 리던던시 비트(redundancy bit)를 계산하는데, 이러한 FCS는 비트 스트림이 네트워크 상으로 전송되기 전에 체크될 수 있도록 개시 시스템(originating system)에 의해 비트 스트림에 부가된다. 종단 노드에서, 비트 스트림과 자신의 개시 FCS(initial FCS)의 합이 유사한 CRC 계산을 사용하여 체크된다. 만일 종단 노드에서 계산된 FCS가 사용된 CRC 형식에 따른 상수값(constant value)을 갖는다면 전송시 에러가 없음을 나타낸다. ATM 네트워크에서는 ATM 접속 사용자 종단국(end station) 내의(네트워크 진입지점에 있는) ATM 액세스 노드의 ATM 어댑터 카드(ATM adapter card) 내에서, 그리고 또한 ATM 프레임 릴레이(ATM Frame Relay)와 같은 네트워크간 기능을 제공하는 ATM 노드 내에서 FCS 계산 및 체킹이 수행된다.
CRC 코드들은 CRC 형식을 특징짓는 발생기 다항식(generator polynomial)에 의하여 발생되며, 인코딩(encoding)될 비트 스트림의 다항식 표현에 대응하는 CRC 코드는 비트 스트림의 다항식 표현을 다항식 발생기를 사용하여 다항식 나눗셈한 나머지가 된다. 예를 들면, CRC 계산 방법은 Henri Nussbaumer의 'TUIUinformatique I' 라는 책(Presses informatiques romandes 출판사, 스위스-1015 Lausanne, 1987)에 기술되어 있다. FCS 코드는 ANSI X3.139-1987 도큐먼트 페이지 28과 29 및 Appendix B에 설명된 바와 같이 데이터 완전성을 체크하기 위한 표준이 되어 있다. 모든 CRC 코드는 유한 갈로이스 필드(finite Galois Field)를 구성한다. 만일 다항식 발생기가 차수 d라면, CRC 코드의 갈로이스 필드는 2d- 1개의 인자(element)를 갖는다. CRC에 기초된 코드의 간단한 구현은 유한 갈로이스 필드의 단순한 계산 특성에 기인한다.
ATM 네트워크에서는 요구되는 서비스 품질에 따라 다른 유형의 접속이 설정될 수 있다. 몇몇의 ATM 표준화 기구(ITU-T : The International Telecommunication Union-Telecommunication 및 ETSI : The European Telecommunication Standardization Institute)가 ATM 네트워크를 통하는 일반화된 인터워킹(interworking)을 제공하기 위하여 상이한 ATM 적응층(ATM Adaptation Layer : AAL)들을 표준화시켜 왔다. 데이터의 경우에는 이러한 AAL 기능이 ATM 네트워크에 전달된 데이터의 프레임(블록)을 취하여 이들을 셀들로 분해한 다음 수신기에서 개시 블록을 재구성하는 것을 허용하도록 필요한 헤더 정보(header information)를 부가한다. AAL 기능은 에러 체킹을 포함한다. AAL 기능은 사용자 네트워크 인터페이스(User Network Interface : UNI)를 통하여 ATM 네트워크에 접속된 ATM 종단 지점 내에서 구현된다. ATM 스위치(switch)가 통상 스위치 기능뿐만 아니라 종단지점 기능(endpoint function)을 갖고 있기 때문에, AAL 기능도 역시 ATM 스위치 내에서 구현된다. 상이한 AAL은 상이한 트래픽 유형(traffic type)에 대응한다. 예를 들어, 만일 AAL1이 서비스 등급 A(service class A)에 사용된다면, 회선 에뮬레이션(circuit emulation), AAL3/4는 접속 지향(connection oriented, 등급 C) 및 비접속 데이터(등급 D) 양자에 종단-대-종단 전송(end-to-end transport)을 제공한다. AAL5은 AAL3/4 보다 훨씬 더 효율적으로 작동하도록 설계된다. 이는 I.364 ITU-T 표준이 되었다. AAL5 기능의 구현은 다른 AAL 구현과 비교하여 네트워크 노드에서의 오버헤드(overhead)가 낮은 비용 특성을 갖는다.
ATM 셀 헤더는 FCS 계산에 기초된 그들 자신의 에러 체킹을 갖는다. 몇몇 ATM 셀의 384 비트(48 바이트) 페이로드(payload)도 에러 체킹을 위하여 역시 FCS 리던던시 비트를 사용한다. AAL5형 접속을 통하여 전달되는 메시지의 최종 셀 중의 최종 32 비트 셀 페이로드는 메시지 상에서 계산된 FCS 코드를 나타낸다. AAL5 셀을 위하여 사용된 FCS 코드는 CRC-32 코드 계산에 기초하고 있다. 0 또는 1인 계수를 가지며 X의 각각의 급수(power)가 스트림 내의 비트의 가중치를 나타내는 다항식으로서 비트 스트림을 표현할 수 있다. 상기와 같은 다항식의 가산은 그들 계수 상에서의 논리 덧셈(XOR)에 대응한다. CRC-32 코드는 차수 32인 다음의 발생기 다항식
G(X)=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
에 의해 발생된 갈로이스 필드에 속한다.
이러한 차수 32인 발생기 다항식은 이더넷(Ethernet)에서의 에러 체킹을 위해 표준화되었고, 그 후 AAL5 에러 체킹을 위한 ATM 표준으로 선택되었다. 차수 32인 다항식 발생기에 기초된 FCS 계산에 사용되는 표준은 미국 국가 표준 위원회의 1987년도 간행물 ANSI X3.139인 '정보 시스템용 미국 국가 표준, 화이버 분산 데이터 인터페이스(American National Standard for Infoemation Systems, Fiber Distributed Data Interface:FDDI)-토큰 링(token ring) 미디어 액세스 제어(Media Access Control:MAC)'에 설명되어 있다.
만일 P(X)가 계산될 32 비트 스트림 FCS에 대한 비트 스트림의 다항식 표현이라면
FCS(P(X)) = L(X) + RemG(X32P(X) + XkL(X))
여기서, k-1 = P(X)의 차수
L(X) = X31+X30+…+X2+X+1
이 되며, 마찬가지로, 송신 전에 계산된 부가 FCS를 포함하는 비트 스트림 F'(X)를 수신하는 경우 네트워크의 다른 쪽의 FCS 체킹에 대하여는
RemG(X32(F'(X) + Xk'L(X))) = C(X)
여기서, C(X)는 다항식:
C(X) = X31+X30+X26+X25+X24+X18+X15+X14+X12+X11+X10+X8+X6+X5+X4
+X3+X+1
k'-1 = F(X)의 차수
L(X) = X31+X30+…+X2+X+1
인 경우에만 체킹 결과가 포지티브(positive)인 값을 갖는다.
FCS 계산 및 체킹에서의 병목(bottleneck) 단계는 RemG 동작이다. 체킹 결과는 0 또는 1의 계수를 갖는 레지듀 클래스 모듈로(residue classes modulo) G(X) 다항식 집합에 속하는 CRC 코드인데, G(X)는 환형 선형 대수(a ring, a linear algebra)이고, 차수 32인 발생기 다항식 G(X)가 더 이상 감소시킬 수 없는 다항식이기 때문에 배수성 주기 그룹(multiplicative cyclic group)을 갖는 갈로이스 필드이다.
비트 스트림 메시지의 FCS를 계산하기 위한 표준 회로는 대응하는 갈로이스 필드 내에서 비트별 곱셈을 수행하는 선형 피드백 쉬프트 레지스터(Linear Feedback Shift Register : LFSR)이다. 메시지의 각 비트는 최상위 비트(Most Significant Bit : MSB)가 먼저인 방식으로 LFSR에 넣어진다. 피드백에 의해 나눗셈이 수행된다. 최종 처리에서, FCS(나눗셈 한 나머지)가 쉬프트 레지스터 내에 있게 된다. 이러한 방법 및 이러한 형태의 회로는 예를 들어 1972년 MIT에 의해 출판된 Peterson and Weldon의 'Error Checking Codes' 제 2판에서 설명되어 있다. 상기 방법은 간편하지만 명백한 단점을 갖는다. 예를 들면, 단지 하나의 비트만이 각각의 쉬프팅에서 처리되기 때문에 메시지를 구성하는 비트 수 만큼의 많은 쉬프팅이 LFSR에서 요구된다. 32 비트 CRC가 사용되기 때문에, 32 비트 레지스터가 요구된다. 이러한 LFSR에서는 FCS 계산 및 체킹을 위해 수학식 1 및 수학식 2에 따른 32 비트 위치만큼 좌측으로 쉬프팅된 메시지 상에서 나머지가 계산된다. 역시 수학식 1 및 수학식 2와 일치되도록 하기 위하여, XkL(X)인 다항식 덧셈이 쉬프트 레지스터를 모두 1로 사전에 설정(presetting)시킴으로써 실현된다. CRC 계산은 메시지 내에 있는 비트수만큼 많은 클럭 펄스들을 요구한다.
1 (또는 그 이상) 바이트 기초형(byte based)의 빠른 FCS 계산 방법을 개시하는 'Method for generating a frame check sequence'라는 명칭의 발명이 유럽 특허 공보 EP 0614 294호에 개시되어 있는데, 상기 방법은 LFSR을 사용하는 비트 기초형(bit-based) FCS 계산보다 더욱 효과적이다. 이러한 기법은 갈로이스 필드에서의 동작 특성의 장점을 갖는다. 갈로이스 필드의 한 특징은 갈로이스 필드의 더 이상 줄일 수 없는 다항식 인자인 루트 α를 갖는 것이며, 이 경우 갈로이스 필드의 각각의 인자는 d가 0 이상인 정수로서 갈로이스 필드의 인자 수보다 작은 값일 때 αd로 표현되는 특징을 갖는다. 본 특허 출원에서 설명되는 바람직한 실시예에 따르면, 바이트 스트림에 대한 FCS 계산이 바이트별로 수행될 수 있는데, 판독된 각각의 새로운 바이트는 이전 FCS 값을 갈로이스 필드의 α8인자로 곱한 결과와 XOR된다. 곱셈기는 갈로이스 필드 내에서 α8곱셈을 구현하는 것이며, 이는 다항식 발생기 G(X)의 모듈로(modulo)를 의미한다. 본 방법을 설명하는 수학 공식은 갈로이스 필드에서 다음과 같다:
FCS(N+1) = FCS(N) ⓧ α8+ B(N+1)
여기서, FCS(N)은 N개의 이전 바이트로 구성된 메시지의 FCS이며,
B(N+1)은 메시지의 다음 바이트(새로운 바이트)의 다항식 표현이다.
ⓧ는 갈로이스 필드에서의 다항식 곱셈 부호이며. 이는 2개의 다항식
을 곱셈하는 제 1 단계와 G로 나눗셈 한 결과의 나머지를 취하는 제
2 단계로 구성된 2단계 동작이다.
α는 G에 의해 발생된 갈로이스 필드의 더 이상 줄일 수 없는 다항
식 루트(root)이다.
α8는 갈로이스 필드의 제9 인자(다항식 표현이 1과 같은(equal) 계수
를 단지 하나만 갖는 간단한 인자)이다.
수학식 3에 따른 FCS의 이러한 바이트별 계산은 곱셈기 덧셈기(Multiplier adder)를 사용하여 구현된다. ATM 액세스 노드는 자신의 어댑터 카드에 구현된 이러한 곱셈기 덧셈기를 갖는다. 종래 기술에서는 CRC-32 기초형 FCS의 계산에 곱셈기 덧셈기를 사용할 경우 다음 표 1에 기술된 조합 동작(combinational operation)이 구현되어야만 한다. 제 1 칼럼(column)에 도시된 바와 같이, 새로운 바이트 N 수신시 계산된 32 비트 FCS는 제 2 칼럼에 도시된 바와 같이(N-1까지의) 선행 바이트 상에서 계산된 FCS 비트와 새로운 인입 바이트(incoming byte : B(i))의 비트와의 조합 결과가 된다. 제 3 칼럼에는 대응하는 비트의 조합에 요구되는 XOR 엔트리(entry)의 수가 표시된다. 이는 2-입력에서부터 8-입력 XOR까지 변한다. LSFR 해결책(solution)에서와 같이 32 비트 스트림을 수신하는 레지스터가 모두 1로 사전에 설정된다.
FCS(0) B(0), FCS(24,30) 3
FCS(2) B(2), FCS(24,25,26,30,31) 6
FCS(3) B(3), FCS(25,26, 27,31) 5
FCS(4) B(4), FCS(24,26,27,28,30) 6
FCS(5) B(5), FCS(24,25,27,28,29,30,31) 8
FCS(6) B(6), FCS(25,26,,28,29,30,31) 7
FCS(7) B(7), FCS(24,26,27,29,31) 6
FCS(8) FCS(0,24,25,27,28) 5
FCS(9) FCS(1,25,26,28,29) 5
FCS(10) FCS(2,24,26,27,29) 5
FCS(11) FCS(3,24,25,27,28) 5
FCS(12) FCS(4,24,25,26,28,29,30) 7
FCS(13) FCS(5,25,26,27,29,30,31) 7
FCS(14) FCS(6,26,27,28,30,31) 6
FCS(15) FCS(7,27,28,29,30) 5
FCS(16) FCS(8,24,28,29) 4
FCS(17) FCS(9,25,29,30) 4
FCS(18) FCS(10,26,30,31) 4
FCS(19) FCS(11,27,31) 3
FCS(20) FCS(12,28) 2
FCS(21) FCS(13,29) 2
FCS(22) FCS(14,24) 2
FCS(23) FCS(15,24,25,30) 4
FCS(24) FCS(16,25,26,31) 4
FCS(25) FCS(17,26,27) 3
FCS(26) FCS(18,24,27,28,30) 5
FCS(27) FCS(19,25,28,29,31) 5
FCS(28) FCS(20,26,29,30) 4
FCS(29) FCS(21,27,30,31) 4
FCS(30) FCS(22,28,31) 3
FCS(31) FCS(23,29) 2
CRC-32 계산은 통신 산업계의 표준 기구들에 의해 정의된 어떠한 다른 CRC 다항식보다 많은 항(15)을 갖는 차수 32인 다항식에 기초된다. 만일 다항식의 항 수가 크다면 바이트별 계산에서 새로운 인입 데이터 바이트를 처리하기 위해 요구되는 계산량이 큰 값을 갖는데, 이는 현재의 중간 결과(current intermediate result)의 다수의 비트들이 다음 바이트의 각각의 비트를 얻을 수 있도록 결합되어야 하기 때문이다. 상기 표 상에 도시된 바와 같이, 8-입력 XOR가 매우 복잡한 동작인 CRC-32에 사용될 것이다. 중요한 사실은 N-입력의 처리 복잡도는 N에 따라 증가한다는 것이다. 이러한 복잡도는 각각의 주기(cycle)에서 보다 많은 처리가 행해질 것을 요구함으로써 바이트별 계산의 고유한 속도상의 장점(intrinsic speed advantage)을 감소시키는 경향이 있다. 이러한 이유로 인해 현재의 기술(예를 들면, 표준 서브 미크론(submicron) CMOS 기술)을 사용하는 경우 미디어 속도(media speed)를 유지하면서 페이로드의 데이터 완전성 체킹을 위한 FCS 계산을 수행하는 것이 어렵다. 특히 OC12(622Mbps) 광 링크 상에서는 셀(48 바이트)이 700ns 내에 처리되어야 한다. ATM 적응층에서, AAL5 셀 FCS의 FCS 계산/체킹은 지연되지 않아야만 하며, 특히 AAL5 셀들은 정확한 동작을 가능하게 하기 위하여 즉시 인식되어야 하는 네트워크 관리 메시지(network management message)를 위해 사용된다. 만일 그러하지 못하다면, 매우 많은 양의 데이터가 오처리(mishandled), 즉 일반적으로 무시(discarding)될 수 있는데, 이는 자원(resource, 버퍼, 밴드폭)들이 정확한 시간에 할당되지 않기 때문이다.
본 발명의 목적은 네트워크 상에서 송신된 패킷의 CRC-32 코드에 기초된 페이로드 FCS 계산 처리 시간을 줄이고 네트워크의 다른 쪽에서 수신된 패킷의 셀 페이로드 FCS의 체킹 처리의 처리 시간을 줄이는 것이다.
본 발명은 차수 32,
G(X)=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
인 다항식 발생기에 의해 발생된 비트 스트림의 CRC-32(주기적 리던던시 체크)를 계산하는 방법을 제공하는 것인데, 상기 방법은,
차수 R인 G(X)의 곱수 M(X)에 의해 발생된 비트 스트림의 CRC-R 코드를 계산하는 단계 (12)와 R-비트 스트림 CRC-R 코드를 저장하는 단계 (14); 및
G(X)에 의해 발생된 R-비트 스트림 CRC-R 코드의 CRC-32 코드를 계산하는 단계 (16)을 행하고, 그 결과 상기 비트 스트림의 CRC-32인 32-비트 스트림 CRC-32 코드 결과를 만드는 단계 (18)
을 포함한다.
또한, 본 발명은 상기 방법의 단계를 구현하는 장치를 제공한다. 본 발명의 방법 및 장치들은 특히 ATM 네트워크 노드에서 AAL5 셀의 체킹 및 FCS 계산에 사용된다.
본 발명의 해결책을 사용한다면, 종래 기술의 해결책에 비하여 처리 시간이 감소되며 또 그 구현이 간단해 지는데, 특히 제 1 CRC 계산은 2-입력 XOR 만으로 구현되며 제 2 CRC 계산은 제 1 CRC 계산의 결과인 크기 고정형 비트 스트림에 인가된 하나의 전달 조합(one pass combination)으로 구현된다.
도 1은 CRC-32 계산을 위한 일반적인 처리도.
도 2는 제 1 나눗셈 흐름도(flow chart).
도 3a 및 3b는 M123 제 1 나눗셈의 곱셈기(multiplier)/덧셈기(adder)에 따른 비트 조합(bit combination) 도시도.
도 4a 및 4b는 M123 제 1 나눗셈의 곱셈기/덧셈기 하드웨어 구현도.
도 5는 M53에 의한 제 1 나눗셈 후의 최종 나눗셈에 대응하는 조합 어레이(combinational array)의 매트릭스 표현도(matrix representation).
도 6은 M53에 의한 제 1 나눗셈 후의 최종 나눗셈에 대응하는 비트 조합 도시도.
도 7은 차수 32인 다항식 발생기(polynomial generator)의 몇몇 가능한 곱수와 대응하는 곱셈기/덧셈기의 대응하는 구현에 요구되는 대응 N-입력(N-way) XOR 리스트.
〈도면의주요부분에대한부호의설명〉
12 : 제 1 나눗셈 상태 머신(state machine)
14 : 123 비트 레지스터
16 : 조합 어레이
18 : 32 비트 레지스터
22 : 곱셈기/덧셈기
24 : 최초 나눗셈 나머지 레지스터
26 : 최초 나눗셈 결과
도 1은 ATM 네트워크에서 ATM AAL5 셀들로 분할된 메시지의 FCS 계산을 위해 사용되는 CRC-32 계산의 논리 블록(logical block)을 도시한다. 수학식 1에 따라 입력 비트 스트림 상에서 계산된 CRC-32는 ATM 포럼(forum)에서 정의된 차수 32인 발생기 다항식 G(X)에 의해 입력 비트 스트림의 다항식 표현을 다항식 나눗셈(polynomial division)한 나머지이다:
G(X)=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
나머지는 32 비트 스트림을 표현하는 32보다 작은 차수인 다항식이다. 수학식 1에 따르면, 입력 비트 스트림은 초기 비트 스트림 메시지(initial bit stream message)에 기초된다. 나머지는 분할된 메시지의 최종 ATM AAL5 셀의 페이로드(payload)에 부가된 32 비트 FCS 필드(FCS field)를 채운다. 동일한 CRC-32 계산이 수학식 2에 따라 ATM 네트워크의 목적지(destination point)에 도달하는 메시지의 완전성을 체킹하기 위하여 사용된다. 체킹을 위하여, CRC-32가 메시지의 모든 AAL5 셀의 페이로드를 구성하는 비트 스트림 상에서 계산되며, 최종 페이로드는 수학식 2에 따라 부가된 FCS를 포함하게 된다.
도 1에 도시된 CRC-32 계산에 대한 바람직한 실시예에서, 논리 블록 (12)는 0, 1, …, N, N+1 … 등인 바이트별로 판독된 입력 비트 스트림 (10)에 인가된 종래 기술로부터 공지된 바이트별 순환 나눗셈(per byte recurrent division)에 사용되는 상태 머신(state machine) 및 차수 32인 다항식 발생기 G:
G(X)=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
의 곱수이며 차수가 123인 다항식 젯수(divider):
M123(X) = X123+X111+X92+X84+X64+X46+X23+1
을 나타낸다.
FCS 계산의 제 1 나눗셈인 M123에 의해 나눈 나머지는 123 비트 레지스터 (14)에 기입되는 차수 122 이하인 다항식이다. 그 다음으로 바람직한 실시예에서, 123 비트 스트림이 차수 32인 발생기 다항식에 의한 123 비트 스트림에 대한 다항식 나눗셈을 구현하는 조합 어레이(combinational array, 16)에 입력되며, 이러한 제 2 나눗셈(최종 나눗셈)의 결과는 32 비트 레지스터 (18)에 기입되는 32 비트 스트림을 표현하는 차수 31 이하인 다항식이 된다.
따라서, 본 발명의 바람직한 실시예에서 사용된 원리는 2단계의 연속적인 다항식 나눗셈으로 G에 의한 다항식 나눗셈을 대체시키는 것으로 구성되는데, 제 1 다항식 나눗셈은 G의 곱수인 다항식 M123에 의해 수행되며, 상기 제 1 나눗셈의 나머지에 인가된 제 2 다항식 나눗셈은 차수 32인 발생기 다항식 G에 의해 행해진다. 통상의 수(ordinary number)와 유사하기 때문에 동일한 결과를 갖게 되는데, 즉 g의 곱수인 수에 의한 나눗셈의 나머지 자체를 g로 나눈 나머지는 g로 단 한번 나눗셈한 나머지와 동일한 값이 된다는 것이다. G(X)의 어떠한 다항식 곱수라도 이러한 계산에 사용될 수 있다는 사실이 알려져 있다. CRC-32 계산의 하드웨어 측면에서의 간단한 구현을 위하여, M123이 양호하게 사용되었으며, 다른 실시예에서는 다음의 2개의 다항식 중 하나가 역시 편의에 따라 선택될 수 있다:
M71(X) = X71+X57+X55+X48+X44+X36+X22+X15+X8+1
M53(X) = X53+X38+X36+X33+X30+X27+X25+X7+X3+1
가장 바람직한 결과(최소 처리 주기)는 모든 항의 급수가 적어도 8 비트만큼 떨어져 있는 경우 얻어진다.
다음의 도면들은 도 1에 도시된 일반적인 프로세스의 논리 블록의 2가지 나눗셈을 도시한다. 도 2는 제 1 나눗셈에 대응하는 흐름도이다. 감소 불능(irreducible) 발생기 다항식에 적용되는 종래 기술의 바이트별 계산이 G(X)의 곱수인 비-감소 불능(non-irreducible) 다항식(본 예에서는 M123)에 적용된다. 입력 비트 스트림의 각각의 새로운 입력 바이트가 다항식 M123에 기초된 CRC 계산을 수행하는 종래 기술의 곱셈기/덧셈기에 입력된다. 중요한 사실은, CRC 계산이 현재의 바이트 N+1 비트 스트림과 바이트 N에서 수행된 동일 조합 결과의 조합으로 감소된다는 사실이다. 나눗셈 결과는 123 비트 스트림이다. 나눗셈 결과는 다항식 M123에 의해 발생된 배수성 그룹(multiplicative group) 중의 한 요소이다. 원시 인자(primitive element) α는 M123에 의해 발생된 배수성 그룹을 발생시킨다. 나눈 나머지를 표현하는 123 비트 스트림은 123 비트 레지스터 (24)에 저장된다. 그 다음으로, 이러한 결과는 새로운 인입 바이트와 함께 곱셈기/덧셈기 (22)에 다시 입력된다. FCS가 계산되어야할 메시지에 대응하는 최종 바이트가 판독되고 곱셈기/덧셈기에 결합되는 때의 최종 123 비트 스트림 (24)가 M123에 의해 제 1 나눗셈된 결과 (24)이다. 도 2에 도시된 바와 같이, 만일 제 1 나눗셈을 위해 사용된 G의 곱수가 M71이라면, 그 결과 나머지는 71 비트 스트림이 되며, 마찬가지로 만일 제 1 나눗셈에 사용된 G의 곱수가 M53이라면, 그 결과 나머지는 53 비트 스트림이 된다.
도 3a 및 3b는 다항식 곱수가 M123인 경우의 제 1 나눗셈에 대한 상태 머신 (12)의 조합 부분(combinational part)을 도시한다. 123 비트인 입력 벡터(input vector)는 새로운 인입 바이트 N 벡터에 결합된다. XOR 게이트 엔트리들은 차수 123인 다항식 M123에 의해 발생된 배수성 그룹에서의 계산에 따라 결합된다. 종래 기술의 곱셈기/덧셈기를 사용하여 계산된 CRC-123 코드는 다항식 M123이 감소 불가능하지 않기 때문에 갈로이스 필드가 아닌 링을 형성한다는 사실을 주목해야 한다. 그러나, 비트의 조합을 결정하기 위해 종래 기술과 동일한 계산이 적용된다. 비트 조합은 표의 제 2 칼럼에 리스팅(listing)되어 있으며, 제 1 칼럼은 최종 123 비트 벡터를 제공한다. 마지막 칼럼에는 대응하는 최종 123 비트 벡터 계산을 수행하기 위해 요구되는 XOR 엔트리의 수가 제공된다. 가장 광범위하게 필요한 XOR는 2-입력 XOR이다.
도 4a 및 4b는 도 3의 제 1 칼럼 및 제 2 칼럼에 리스팅된 상태 머신의 조합 부분의 한 가능한 구현을 도시한다. 123 비트 스트림인 바이트 N까지 계산된 제 1 나눗셈의 나머지(Remainder of the First Division:RFD)는 바이트 N+1의 비트와 결합된다. 최종 123 비트 나머지의 단지 몇몇 비트들만이 도 4a 및 4b에 제시되는데, 처음 11 비트(RFD(0)부터 RFD(10)), 최종 비트 (RFD(110)부터 RFD(122)) 및 (RFD(14)로부터 변경되지 않은) 중간 비트 RFD(22) 및 RFD(23)이 도시된다. 사용된 게이트들은 2-입력 XOR이다.
도 5는 CRC-32 계산의 최종 나눗셈 (16)을 수행하기 위해 사용되는 매트릭스를 도시한다. 제 1 다항식 나눗셈의 나머지는 본 단계에서 차수 32인 발생기 다항식 G(X)에 의해 나눗셈되며, 그 결과인 나머지는 32 비트 스트림에 대응하는 차수가 31 이하인 다항식이다. 이러한 32 비트 스트림은 최종 CRC-32이다. 도 5에 도시된 본 실시예에서는 제 1 나눗셈이 차수 53인 G의 곱수 M53에 의해 수행되었다. 제 1 나눗셈의 결과인 53 비트 입력 벡터는 32 비트 벡터 결과를 얻을 수 있도록 각각의 32개의 로우(row)에 따라 인가된다. 매트릭스 로우들은 다항식 표현이 로우 2인 루트를 갖는 차수 32인 다항식 발생기에 의해 발생된 갈로이스 필드의 53개의 제 1 인자에 대응한다. 길이 고정형 벡터(fixed length vector)에 대한 상기와 같은 다항식 나눗셈의 구현은 XOR들로 구성된 간단한 조합 어레이이다.
도 6은 도 5의 조합 매트릭스의 로우에 대한 하나의 가능한 구현을 도시한다. 매트릭스의 각각의 로우는 CRC-32 결과의 한 비트를 얻도록 53 비트의 몇몇을 결합시키는 N-입력 XOR를 사용하여 구현될 것이다. 32개의 N-입력 XOR는 3 내지 13 엔트리 형식의 XOR일 것이다. 도6에는 도 4a 및 4b의 매트릭스의 단지 로우 0, 14 및 31들만이 도시되어 있다. 결과 벡터의 비트 31(Bit 31)은 53 비트 입력 벡터의 비트 47, 43, 41, 40, 37 및 31을 XORing함으로써 얻어진다. 이러한 동작은 6-입력 XOR를 요구한다. 결과 벡터의 비트 14(Bit 14)는 53 비트 입력 벡터의 비트 52, 51, 49, 47, 46, 43, 40, 39, 38, 36, 35, 34 및 14를 XORing함으로써 얻어진다. 이러한 동작은 13-입력 XOR를 필요로 한다. 결과 벡터의 비트 0(Bit 0)은 53 비트 입력 벡터의 비트 48, 44, 42, 41, 38, 32 및 0을 XORing함으로써 얻어진다. 이러한 동작은 7-입력 XOR를 필요로 한다.
도 7은 선택된 G의 곱수에 따라 제 1 바이트별 나눗셈 (12)에 요구되는 다양한 유형의 XOR를 도시한다. 가장 간단한 유형은 2-입력 XOR를 사용한 M123이다. M71을 사용한 제 1 나눗셈의 구현은 3-입력 XOR를 필요로 하며 또 M53인 경우는 4-입력 XOR를 필요로 한다. 이러한 간단한 유형의 조합 요소는 G에 의한 나눗셈에 요구되는 8-입력 XOR와 비교될 수 있다. 곱수 다항식에 대한 선택은 간단한 구현과 짧은 처리 시간을 의미하는 XOR에 대한 작은 입력 수에 의해 좌우된다. 도 7에서 판별되는 가장 간단한 곱수는 단지 2-입력 XOR를 사용한 M123이 된다.
본 발명에 따른 비트 스트림(bit stream)의 주기적 리던던시 체킹(Cyclic Redundancy Checking)인 CRC-32 코드를 계산하기 위한 방법 및 장치를 사용하면, 종래 기술의 해결책에 비하여 처리 시간이 감소되며 또 그 구현이 간단해 진다.

Claims (10)

  1. 차수 32인 다항식 발생기,
    G(X) = X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
    에 의해 발생된 입력 비트 스트림의 CRC-32(주기적 리던던시 체크, Cyclic Redundancy Check)를 계산하기 위한 장치에 있어서,
    a) 차수 R인 G(X)의 곱수 M(X)에 의해 발생된 상기 입력 비트 스트림의 CRC-R 코드를 계산하기 위한 수단;
    b) 상기 R-비트 스트림 CRC-R 코드를 R-비트 레지스터에 저장하기 위한 수단; 및
    c) G(X)에 의해 발생된 상기 R-비트 스트림 CRC-R 코드의 CRC-32 코드를 계산하여 그 결과가 상기 비트 스트림의 CRC-32인 32 비트 스트림 (18) CRC-32 코드가 되게 하기 위한 수단
    을 포함하는 장치.
  2. 제 1항에 있어서, 상기 비트 스트림이 8-비트 데이터 바이트 시퀀스(sequence)이며 또한 상기 CRC-R 코드 계산 수단이 바이트별 계산(per byte calculation)을 수행하는 장치.
  3. 제 2항에 있어서, 상기 CRC-R 코드를 계산하기 위한 수단이 연속한 8-비트 바이트 주기 처리 수단(cycle processing means)을 포함하며,
    상기 장치가
    a) R-비트 레지스터 수단의 최하위 비트(LSB: Least Significant Bit) 내에 상기 데이터 바이트 시퀀스의 각각의 바이트를 순차적으로 수신하기 위한 수단;
    b) 상기 발생기 다항식 M(X)에 의해 발생된 배수성 그룹(multiplicative group)의 인자인 α8에 대응하는 비트 스트림을 상기 레지스터 수단의 내
    용에 곱하기 위한 수단―여기서 α는 상기 배수성 그룹의 기본 요소인 더
    이상 감소 불능인 다항식(irreducible polynomial)임―; 및
    c) 상기 데이터 바이트 시퀀스의 다음 바이트에 인가된 수신 수단의 입력인 상기 곱셈 수단의 출력을 상기 R-비트 레지스터 수단에 저장하기 위한 수단
    을 포함하는 장치.
  4. 제 1항 또는 제 3항 중 어느 한 항에 있어서, G(X)에 의해 발생된 상기 R-비트 스트림 CRC-R 코드의 CRC-32를 계산하기 위한 수단이 G(X)에 의해 발생된 갈로이스 필드(Galois field)에서의 계산에 대응하는 R 입력 비트들 사이의 하나의 전달 조합 수단(pass combinational means)으로 이루어지는 장치.
  5. 제 1항 내지 제 3항 중 어느 한 항에 있어서, M(X)가 차수 R=123이고,
    M123(X) = X123+X111+X92+X84+X64+X46+X23+1
    인 장치.
  6. 제 1항 내지 제 3항 중 어느 한 항에 있어서, M(X)가 차수 R=71이고,
    M71(X) = X71+X57+X55+X48+X44+X36+X22+X15+X8+1
    인 장치.
  7. 제 1항 내지 제 3항 중 어느 한 항에 있어서, M(X)가 차수 R=53이고,
    M53(X)=X53+X38+X36+X33+X30+X27+X25+X7+X3+1
    인 장치.
  8. 비동기 전송 모드(ATM) 네트워크를 통하여 비트 스트림 P(X)를 반송하는 최종 AAL5형 셀(AAL5 type cell)의 프레임 체크 시퀀스(Frame Check Sequence : FCS)를 계산하기 위한 장치에 있어서,
    a) 상기 비트 스트림 P(X)의 최상위 비트(Most Significant Bit : MSB) 32 비트를 반전(inverting)시키는 수단;
    b) 제 1항 내지 제 7항 중 어느 한 항에 따라 선행 수단(preceeding means) 으로부터 출력 비트 스트림의 CRC-32를 계산하기 위한 수단; 및
    c) CRC-32 결과를 반전시키는 수단
    을 포함하는 장치.
  9. 를 계산하는 방법에 있어서, 상기 방법이
    a) 차수 R인 G(X)의 곱수 M(X)에 의하여 발생된 상기 비트 스트림의 CRC-R 코드를 계산하는 단계 (12)와 상기 R-비트 스트림 CRC-R 코드 를 저장하는 단계 (14); 및
    b) 상기 비트 스트림의 CRC-32의 결과가 32-비트 스트림 (18) CRC-32 코드
    가 되도록 하기 위하여 G(X)에 의해 발생된 상기 R-비트 스트림 CRC-R
    코드의 CRC-32 코드를 계산하는 단계
    비동기 전송 모드(ATM) 네트워크를 통하여 송신된 비트 스트림 메시지를 반송(conveying)하는 AAL5형 셀의 페이로드(payload)―여기서 최종 페이로드는 비트 스트림 메시지의 FCS를 포함함―에 의해 구성되는 비트 스트림 F'(X)의 프레임 체크 시퀀스(FCS)를 상기 ATM 네트워크의 수신 지점(receiving point)에서 체킹(checking)하기 위한 장치에 있어서,
    a) 상기 비트 스트림 F'(X)의 최상위 비트(MSB) 32 비트를 반전시키는 수 단;
    b) 제 1항 내지 제7항 중 어느 한 항에 따라 F'(X)의 CRC-32를 계산하는 수단; 및
    c) CRC-32 비트 스트림 결과를 표현하는 다항식이
    X31+X30+X26+X25+X24+X18+X15+X14+X12+X11+X10+X8+X6+X5+X4+X3+X+1
    인 경우에만 체킹의 포지티브 결과(positive result)를 신호하는 수단
    을 포함하는 장치.
  10. 차수가 32이고,
    G(X) = X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1
    인 다항식 발생기에 의해 발생된 비트 스트림의 CRC-32(주기적 리던던시 체크) 코드를 포함 하는 방법.
KR1019970039987A 1996-10-29 1997-08-21 Crd-32의 2단계산을 위한 방법 및 장치 KR100234213B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP96480104.7 1996-10-29
EP96480104 1996-10-29

Publications (2)

Publication Number Publication Date
KR19980032301A true KR19980032301A (ko) 1998-07-25
KR100234213B1 KR100234213B1 (ko) 2000-01-15

Family

ID=8225460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970039987A KR100234213B1 (ko) 1996-10-29 1997-08-21 Crd-32의 2단계산을 위한 방법 및 장치

Country Status (4)

Country Link
US (1) US6189124B1 (ko)
JP (1) JP3404642B2 (ko)
KR (1) KR100234213B1 (ko)
DE (1) DE69731932T2 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6643818B1 (en) * 1999-11-19 2003-11-04 International Business Machines Corporation Storing and using the history of data transmission errors to assure data integrity
US7126950B2 (en) * 2000-02-14 2006-10-24 Nec Corporation Method and system for transmission and reception of asynchronously multiplexed signals
GB2360177B (en) * 2000-03-07 2003-08-06 3Com Corp Fast frame error checker for multiple byte digital data frames
US6684363B1 (en) 2000-10-25 2004-01-27 Sun Microsystems, Inc. Method for detecting errors on parallel links
US6931581B1 (en) * 2000-10-25 2005-08-16 Sun Microsystems, Inc. Method for superimposing a sequence number in an error detection code in a data network
EP1239595A3 (en) * 2001-03-09 2004-02-11 Vitesse Semiconductor Corporation Packet based ATM CRC-32 calculator
US6928608B2 (en) * 2001-08-14 2005-08-09 Optix Networks Ltd. Apparatus and method for accelerating cyclic redundancy check calculations
US6823425B2 (en) * 2001-10-23 2004-11-23 Ivivity, Inc. System and method for implementing advanced RAID using a set of unique matrices as coefficients
US7177891B2 (en) * 2002-10-09 2007-02-13 Analog Devices, Inc. Compact Galois field multiplier engine
US6904558B2 (en) * 2002-02-22 2005-06-07 Agilent Technologies, Inc. Methods for computing the CRC of a message from the incremental CRCs of composite sub-messages
US7191383B2 (en) * 2003-03-28 2007-03-13 International Business Machines Corporation System and method for optimizing iterative circuit for cyclic redundancy check (CRC) calculation
US7430167B2 (en) * 2003-09-18 2008-09-30 International Business Machines Corporation Method and system to enable an adaptive load balancing in a parallel packet switch
US7103832B2 (en) * 2003-12-04 2006-09-05 International Business Machines Corporation Scalable cyclic redundancy check circuit
US7266760B1 (en) * 2004-09-30 2007-09-04 Altera Corporation Method and apparatus for calculating cyclic redundancy checks for variable length packets
US8375064B2 (en) * 2006-05-05 2013-02-12 International Business Machines Corporation Apparatus, system, and method for read back verification of stored data
US8095862B2 (en) * 2007-10-10 2012-01-10 International Business Machines Corporation End-to-end cyclic redundancy check protection for high integrity fiber transfers
US9003259B2 (en) * 2008-11-26 2015-04-07 Red Hat, Inc. Interleaved parallel redundancy check calculation for memory devices
US20100235689A1 (en) * 2009-03-16 2010-09-16 Qualcomm Incorporated Apparatus and method for employing codes for telecommunications
US8443256B2 (en) 2011-01-24 2013-05-14 Xilinx, Inc. Method and apparatus for determining a cyclic redundancy check (CRC) for a data message
US20130055053A1 (en) 2011-08-23 2013-02-28 International Business Machines Corporation End-to-end data protection supporting multiple crc algorithms
DE102014108946A1 (de) * 2014-06-26 2015-12-31 Valeo Schalter Und Sensoren Gmbh Verfahren und System zum Aufbereiten von durch kraftfahrzeugseitig angeordnete Sensoren erzeugten Sensormesswerten
KR101551831B1 (ko) * 2015-06-16 2015-09-09 충남대학교산학협력단 순환 중복 검사 장치 및 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949342A (en) * 1987-04-14 1990-08-14 Matsushita Electric Industrial Co., Ltd. Code error detecting method
US5832002A (en) * 1991-09-20 1998-11-03 Abb Signal Ab Method for coding and decoding a digital message
EP0614294A1 (en) * 1993-03-03 1994-09-07 International Business Machines Corporation Method for generating a frame check sequence
NL9302266A (nl) * 1993-12-27 1995-07-17 Nederland Ptt Inrichting voor het vaststellen van grenzen in een bitstroom, en converteermiddelen voor toepassing in de inrichting.
EP0681381A1 (en) * 1994-05-06 1995-11-08 International Business Machines Corporation Method and apparatus for modifying frame check sequences in intermediate high speed network nodes
US5638370A (en) * 1994-12-28 1997-06-10 Intel Corporation Status bit controlled HDLC accelerator
US5935268A (en) * 1997-06-03 1999-08-10 Bay Networks, Inc. Method and apparatus for generating an error detection code for a modified data packet derived from an original data packet
US5951707A (en) * 1997-06-27 1999-09-14 International Business Machines Corporation Method of partitioning CRC calculation for a low-cost ATM adapter

Also Published As

Publication number Publication date
JP3404642B2 (ja) 2003-05-12
DE69731932D1 (de) 2005-01-20
DE69731932T2 (de) 2006-02-16
KR100234213B1 (ko) 2000-01-15
JPH10178353A (ja) 1998-06-30
US6189124B1 (en) 2001-02-13

Similar Documents

Publication Publication Date Title
KR100234213B1 (ko) Crd-32의 2단계산을 위한 방법 및 장치
US6014767A (en) Method and apparatus for a simple calculation of CRC-10
EP0609595B1 (en) Method and apparatus for verifying CRC codes by combination of partial CRC codes
US6119263A (en) System and method for transmitting data
USRE40991E1 (en) Fast cyclic redundancy check (CRC) generation
EP0681381A1 (en) Method and apparatus for modifying frame check sequences in intermediate high speed network nodes
US6671832B1 (en) Method and apparatus for performing error checking in a network
US6681364B1 (en) Cyclic redundancy check for partitioned frames
US5539756A (en) Method to ensure data integrity in a telecommunications network
US5912881A (en) Method and apparatus for fast checking the frame check sequence of a segmented message
Glaise A two-step computation of cyclic redundancy code CRC-32 for ATM networks
EP0735711A1 (en) Method and apparatus for modifying a frame check sequence (FCS)
Braun et al. Fast incremental CRC updates for IP over ATM networks
US20020144208A1 (en) Systems and methods for enabling computation of CRC' s N-bit at a time
EP1532741B1 (en) Cyclic redundancy check with efficient re-computation of error detection code
Glaise et al. Fast CRC calculation
US20020129315A1 (en) Packet based ATM CRC-32 calculator
EP0840462B1 (en) A method and apparatus for a two-step calculation of CRC-32
Ng et al. Parallel realization of the ATM cell header CRC
US5774480A (en) Cyclic code check bits generation and error correction using sum of remainders
Dravida Error control aspects of high speed networks
US7134067B2 (en) Apparatus and method for allowing a direct decode of fire and similar codes
KR0124176B1 (ko) 수신장치의 비동기식 전송모드 적응계층-1 타입에 있어서 분할 및 재조립 프로토콜 데이터유니트의 헤더데이터 에러체크회로
KR970005732B1 (ko) 비동기전달모드 시스템에서의 순환잉여검사 코드 계산 및 검출장치
KR970008678B1 (ko) 수신장치의 비동기식 전송모드 적응계층-1 타입에 있어서 분할 및 재조립 프로토콜 데이터유니트의 헤더데이터 에러체크회로

Legal Events

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