본문 바로가기
반도체

[임베디드/펌웨어] CRC(Cyclic Redundancy Check)

by 까망 하르방 2024. 5. 6.
반응형

CRC란?

Cyclic Redundancy Check 약자로 직역하면 "순환 참조 검사"

오류 검출 기술로 데이터 전송 시 오류 감지하는 데 사용

 

ECC와 차이는

CRC는 Data Dectection만 가능하고 Correction기능은 없다는 것이다.

📌 ECC(Error Correction Code) 란?

 

[NAND Flash] ECC(Error Correction Code) 란?

들어가며 Digital 신호 처리 과정에서 Error가 발생할 수 밖에 없다. NAND 세대가 거듭될수록 성능이 좋아지지만 그만큼 Error 증가도 있을 수 있기에 신뢰성 확보를 위해 높은 수준의 정정 능력이 필

zoosso.tistory.com


 

BackGround

Data Path 상에서 DRAM bit-flip, NAND의 열화 등으로

Data 손상이 발생할 수 있다.

 

이러한 문제를 Detection하거나 Correction하기 위해

Data 이외에 Parity 정보를 생성하여 함께 저장하는 것이다.

 

① [송신 측] 일련의 비트로 이루어진 데이터에 대해 다항식 연산을 수행하여 체크섬(검사값) 생성

② [송신 측] 데이터와 체크섬 함께 전송

③ [수신 측] 받은 데이터를 같은 다항식 연산으로 다시 체크섬 생성

④ [수신 측] 전송한 체크섭과 수신측에서 생성한 체크섬 비교


 

CRC 종류

One Chip 마이크로 프로세서와 같이 간단한 용도에서는 "CRC-16"

더욱 정확한 에러 검출이 필요한 경우에는 "CRC-32" 사용

(최근에는 CRC-64도 사용되고 있다.)


 

활용 분야

네트워크 통신: TCP/IP, 이더넷 등의 프로토콜에서 오류 감지

데이터 저장: HDD, SDD와 같은 저장 장치에서 데이터 무결성 보장

무선 통신: 블루투스, 와이파이 등

반응형

댓글