Parity (Parity Bit, VRC) — 데이터 끝에 1비트를 추가하여 1의 개수를 짝수 또는 홀수로 맞추는 가장 단순한 에러 검출 기법. VRC(Vertical Redundancy Check)라고도 불리며, UART의 기본 에러 검출 수단으로 사용된다.

원리

송신: 데이터의 1 개수를 센 뒤, 짝수 패리티 또는 홀수 패리티 규칙에 맞도록 패리티 비트 1개를 추가해 전송.

수신: 수신된 비트열 전체의 1 개수를 세어 규칙 위반 여부로 오류 판정.

방식규칙
짝수 (Even)패리티 포함 1의 개수가 짝수가 되도록 패리티 결정
홀수 (Odd)패리티 포함 1의 개수가 홀수가 되도록 패리티 결정

예시 (짝수 패리티)

  • 데이터 1111001 (1이 5개, 홀수) → 패리티 1 추가 → 전송 11110011 (1이 6개, 짝수).
  • 데이터 1110001 (1이 4개, 짝수) → 패리티 0 추가 → 전송 11100010 (1이 4개, 짝수).

수신측 검출 예

짝수 패리티 설정 후 11110010 수신:

  • 1의 개수 = 5개, 홀수 → 규칙 위반.
  • 데이터 전송 과정에서 1비트 오류 발생을 확인.

활용 분야

  • UART(Universal Asynchronous Receiver/Transmitter) — 프레임당 패리티 비트 옵션.
  • ASCII 코드 — 7비트 문자 + 패리티 1비트 = 8비트 전송에 적합.
  • 저속·저비용 통신 또는 Checksum·CRC와 결합된 다층 보호의 일부.

한계

Parity는 가장 저렴한 에러 검출 수단이지만 두 가지 근본 한계가 있다:

  1. 짝수 개의 비트 오류는 검출 불가 — 오류 2개가 상쇄되어 1의 개수 parity가 보존됨.
  2. 오류 위치·수정 불가 — 오류 발생 여부만 알 뿐, 어느 비트인지 또는 몇 비트인지 알 수 없음.

이 한계 때문에 자동차 버스에서는 Parity 단독 사용보다는 Checksum(LIN), CRC(CAN, CAN FD, 차량 Ethernet, FlexRay) 같은 더 강력한 검출 수단을 사용한다. 또한 오류 정정이 필요한 경우 Hamming Code 등 ECC를 사용한다.

같이 보기