📖 WIPIVERSE

🔍 현재 등록된 정보: 39,322건

패리티 비트

패리티 비트(parity bit)는 데이터의 전송이나 저장 과정에서 오류가 발생했는지 확인하기 위해 추가되는 비트이다. 데이터 비트열에 1의 개수를 짝수 또는 홀수로 맞추도록 설정되며, 가장 단순한 형태의 오류 검출 코드 중 하나이다.

작동 방식

패리티 비트의 작동 방식은 다음과 같다.

  1. 규칙 설정: 데이터를 보내는 측과 받는 측은 미리 짝수 패리티 또는 홀수 패리티 중 하나를 사용하기로 약속한다.
  2. 패리티 비트 계산 및 추가 (송신 측): 데이터를 보내는 측은 전송할 데이터 비트열에 포함된 1의 개수를 센다. 설정된 규칙에 따라 전체 비트(데이터 비트 + 패리티 비트)에서 1의 개수가 약속된 짝수 또는 홀수가 되도록 패리티 비트 값을 결정(0 또는 1)하여 데이터의 끝에 추가한다.
    • 예시 (데이터: 10110):
      • 짝수 패리티 사용 시: 데이터 비트열의 1은 3개(홀수)이므로, 패리티 비트를 1로 설정하여 전체 1의 개수가 4개(짝수)가 되도록 한다. 전송 데이터는 '101101'이 된다.
      • 홀수 패리티 사용 시: 데이터 비트열의 1은 3개(홀수)이므로, 패리티 비트를 0으로 설정하여 전체 1의 개수가 3개(홀수)가 되도록 한다. 전송 데이터는 '101100'이 된다.
  3. 오류 검출 (수신 측): 데이터를 받는 측은 수신된 전체 비트열(데이터 비트 + 패리티 비트)에 포함된 1의 개수를 센다. 이 개수가 약속된 규칙(짝수 또는 홀수)과 일치하는지 확인한다.
    • 규칙과 일치하면 오류가 없다고 판단한다.
    • 규칙과 일치하지 않으면 오류가 발생했다고 판단한다.

종류

패리티 비트는 설정 규칙에 따라 두 가지 종류로 나뉜다.

  • 짝수 패리티(Even Parity): 데이터 비트와 패리티 비트를 포함한 전체 비트열에서 1의 개수가 항상 짝수가 되도록 패리티 비트를 설정하는 방식.
  • 홀수 패리티(Odd Parity): 데이터 비트와 패리티 비트를 포함한 전체 비트열에서 1의 개수가 항상 홀수가 되도록 패리티 비트를 설정하는 방식.

장점 및 한계

패리티 비트 방식은 구현이 매우 단순하고 데이터 오버헤드(추가되는 비트 수)가 적다는 장점이 있다. 그러나 다음과 같은 중요한 한계를 가진다.

  • 단일 비트 오류만 검출 가능: 데이터 전송 중 단 하나의 비트만 변경(0->1 또는 1->0)된 경우에만 오류를 정확히 검출할 수 있다.
  • 짝수 개의 비트 오류는 검출 불가능: 만약 데이터 전송 중 2개, 4개 등 짝수 개의 비트에서 오류가 발생하여 동시에 값이 변경된다면, 전체 1의 개수는 여전히 약속된 규칙(짝수 또는 홀수)을 만족하게 되어 오류가 발생했음을 감지할 수 없다.
  • 오류 정정 불가능: 패리티 비트는 오류가 '발생했다'는 사실만 알려줄 뿐, 어떤 비트에서 오류가 발생했는지 또는 올바른 값이 무엇인지는 알 수 없다. 따라서 오류를 스스로 정정하는 기능은 없다.

활용

패리티 비트는 과거의 단순한 직렬 통신(예: RS-232)이나 일부 메모리 시스템에서 오류 검출을 위해 사용되었다. 하지만 여러 비트 오류가 발생할 가능성이 있거나 오류 정정이 필요한 경우에는 순환 중복 검사(CRC), 해밍 코드 등 더 강력한 오류 검출 및 정정 코드가 사용된다.