KR19980032301A - C r c - 32의 2단계 계산을 위한 방법 및 장치 - Google Patents
C r c - 32의 2단계 계산을 위한 방법 및 장치 Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
- H03M13/091—Parallel or block-wise CRC computation
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/61—Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
- H03M13/615—Use of computational or mathematical techniques
- H03M13/617—Polynomial operations, e.g. operations related to generator polynomials or parity-check polynomials
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6575—Implementations 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
본 발명은 고속 통신 네트워크에서 데이터 완전성을 체크(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에 대한 비트 스트림의 다항식 표현이라면
여기서, k-1 = P(X)의 차수
L(X) = X31+X30+…+X2+X+1
이 되며, 마찬가지로, 송신 전에 계산된 부가 FCS를 포함하는 비트 스트림 F'(X)를 수신하는 경우 네트워크의 다른 쪽의 FCS 체킹에 대하여는
여기서, 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)은 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)
- 차수 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 코드가 되게 하기 위한 수단을 포함하는 장치.
- 제 1항에 있어서, 상기 비트 스트림이 8-비트 데이터 바이트 시퀀스(sequence)이며 또한 상기 CRC-R 코드 계산 수단이 바이트별 계산(per byte calculation)을 수행하는 장치.
- 제 2항에 있어서, 상기 CRC-R 코드를 계산하기 위한 수단이 연속한 8-비트 바이트 주기 처리 수단(cycle processing means)을 포함하며,상기 장치가a) R-비트 레지스터 수단의 최하위 비트(LSB: Least Significant Bit) 내에 상기 데이터 바이트 시퀀스의 각각의 바이트를 순차적으로 수신하기 위한 수단;b) 상기 발생기 다항식 M(X)에 의해 발생된 배수성 그룹(multiplicative group)의 인자인 α8에 대응하는 비트 스트림을 상기 레지스터 수단의 내용에 곱하기 위한 수단―여기서 α는 상기 배수성 그룹의 기본 요소인 더이상 감소 불능인 다항식(irreducible polynomial)임―; 및c) 상기 데이터 바이트 시퀀스의 다음 바이트에 인가된 수신 수단의 입력인 상기 곱셈 수단의 출력을 상기 R-비트 레지스터 수단에 저장하기 위한 수단을 포함하는 장치.
- 제 1항 또는 제 3항 중 어느 한 항에 있어서, G(X)에 의해 발생된 상기 R-비트 스트림 CRC-R 코드의 CRC-32를 계산하기 위한 수단이 G(X)에 의해 발생된 갈로이스 필드(Galois field)에서의 계산에 대응하는 R 입력 비트들 사이의 하나의 전달 조합 수단(pass combinational means)으로 이루어지는 장치.
- 제 1항 내지 제 3항 중 어느 한 항에 있어서, M(X)가 차수 R=123이고,M123(X) = X123+X111+X92+X84+X64+X46+X23+1인 장치.
- 제 1항 내지 제 3항 중 어느 한 항에 있어서, M(X)가 차수 R=71이고,M71(X) = X71+X57+X55+X48+X44+X36+X22+X15+X8+1인 장치.
- 제 1항 내지 제 3항 중 어느 한 항에 있어서, M(X)가 차수 R=53이고,M53(X)=X53+X38+X36+X33+X30+X27+X25+X7+X3+1인 장치.
- 비동기 전송 모드(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 결과를 반전시키는 수단을 포함하는 장치.
- 를 계산하는 방법에 있어서, 상기 방법이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)를 신호하는 수단을 포함하는 장치.
- 차수가 32이고,G(X) = X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1인 다항식 발생기에 의해 발생된 비트 스트림의 CRC-32(주기적 리던던시 체크) 코드를 포함 하는 방법.
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)
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)
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 |
-
1997
- 1997-08-19 DE DE69731932T patent/DE69731932T2/de not_active Expired - Lifetime
- 1997-08-21 KR KR1019970039987A patent/KR100234213B1/ko not_active IP Right Cessation
- 1997-10-15 US US08/943,678 patent/US6189124B1/en not_active Expired - Lifetime
- 1997-10-24 JP JP29220197A patent/JP3404642B2/ja not_active Expired - Fee Related
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 |