← 질문 목록
#205깊이 0
데이터 오류로 인한 손실을 어떻게 방지하는가?
패리티 비트와 해밍 코드로 검출과 복구로 나누어 처리한다. 단순 검출은 패리티 비트로, 위치를 찾아 복구하는 것은 해밍 코드로 한다.
| 대응 수준 | 방식 |
|---|---|
| 검출 전용 | 패리티 비트. 짝수/홀수 합을 맞춰 오류로 판단 |
| 복구 가능 | 해밍 코드. 여러 체크 비트로 위치를 추적 |
패리티 비트는 데이터 끝에 1비트를 추가해 합을 맞춘다. 1비트만 틀렸을 때 알 수 있지만, 어디가 틀렸을 때인지 모르고 데이터는 버려야 한다.
해밍 코드는 데이터 비트 사이에 체크 비트를 적절히 배치한다. 체크 비트마다 살피는 비트 묶음이 다르다. 한 비트가 뒤집힌 경우라면 그 자리를 계산해 되돌릴 수 있다. 두 비트가 뒤집히면 있다는 것만 알고 자리는 못 찾는다.
오류를 검출하기만 해도 재전송을 요청해 데이터를 살릴 수 있다. 하지만 지연 시간이 길거나 재전송이 불가능한 메모리 영역에서는 해밍 코드를 직접 복구하는 방식이 쓴다.