단일 패리티 비트

7 비트 데이터 패리티 포함 8 비트
짝수 홀수
0000000 (0) 00000000 10000000
1010001 (3) 11010001 01010001
1101001 (4) 01101001 11101001
1111111 (7) 11111111 01111111

패리티 비트(Parity bit)는 정보의 전달 과정에서 오류가 생겼는지를 검사하기 위해 추가된 비트이다. 전송하고자 하는 데이터의 각 문자에 1 비트를 더하여 전송하는 방법으로 2가지 종류의 패리티 비트(홀수, 짝수)가 있다. 패리티 비트는 오류 검출에서 가장 간단한 형태로 쓰인다.

  • 짝수(even) 패리티는 전체 비트에서 1의 개수가 짝수가 되도록 패리티 비트를 정하는 것인데, 이를테면 데이터 비트에서 1의 개수가 홀수이면 패리티 비트를 1로 정한다.
  • 홀수(odd) 패리티는 전체 비트에서 1의 개수가 홀수가 되도록 패리티 비트를 정하는 방법이다.

7비트의 0010110라는 데이터에서 짝수 패리티가 되게 하기 위해서는 1의 패리티 비트를 붙여 10010110로 한다. 또 같은 데이터에 대해 홀수 패리티 비트가 되게 하려면 0의 패리티 비트를 붙인다. 이렇게 패리티 비트를 정하여 데이터를 보내면 받는 쪽에서는 수신된 데이터의 전체 비트를 계산하여 패리티 비트를 다시 계산함으로써 데이터 오류 발생 여부를 알 수 있다. 그러나 패리티 비트는 오류 발생 여부만 알 수 있지 오류를 수정할 수는 없다.

단일 패리티 비트는 홀수개의 오류는 검출할 수 있지만 짝수개의 오류는 검출해 낼 수 없다. 또한 오류는 홀로 발생하기 보다는 버스트 형태로 한꺼번에 몰려서 발생한다. 즉 버스트 형태의 오류가 있을 경우 단일 패리티 비트 검사법은 단지 반의 확률만을 보장한다.

2차원 패리티 검사

2차원패리티검사.png

반전된 비트를 포함하는 열과 행에 대한 패리티에 오류가 생긴다. 따라서 수신자는 단일 비트 오류의 발생을 검출할 수 있을 뿐만 아니라. 패리티 오류가 있는 열과 행의 인덱스값을 사용해 잘못된 비트를 실제로 식별해서 오류를 정정할 수도 있다. 만약 짝수 개의 오류가 생기면 검출을 할 수는 있지만 정정은 할 수 없다.