패리티 비트
Parity bit7비트 데이터 | (1비트 카운트) | 패리티를 포함한 8비트 | |
---|---|---|---|
심지어. | 이상한 | ||
0000000 | 0 | 0000000000 | 00000001 |
1010001 | 3 | 10100011 | 10100010 |
1101001 | 4 | 11010010 | 11010011 |
1111111 | 7 | 1111111 | 11111110 |
패리티 비트(체크 비트)는 바이너리 코드 문자열에 추가된 비트입니다.패리티 비트는 에러 검출 코드의 단순한 형태입니다.패리티 비트는 일반적으로 통신 프로토콜의 최소 단위(일반적으로 8비트 옥텟(바이트))에 적용되지만 비트의 메시지 문자열 전체에 개별적으로 적용될 수도 있습니다.
패리티 비트에 의해 스트링 내의 1비트의 총수가 짝수 또는 [1]홀수임을 보증합니다.따라서 패리티 비트에는 짝수 패리티 비트와 홀수 패리티 비트의 두 가지 종류가 있습니다.짝수 패리티의 경우 특정 비트 세트에 대해 값이 1인 비트의 발생이 카운트됩니다.이 카운트가 홀수일 경우 패리티 비트 값은 1로 설정되며 세트 전체(패리티 비트 포함)에서 발생한 1의 합계 카운트가 짝수가 됩니다.특정 비트 세트의 1s 카운트가 이미 짝수인 경우 패리티 비트의 값은 0입니다.홀수 패리티의 경우 부호화가 반전됩니다.특정 비트 세트에 대해 값이 1인 비트 카운트가 짝수일 경우 패리티 비트 값은 1로 설정되며 전체 세트(패리티 비트 포함)의 합계 카운트가 홀수이다.값이 1인 비트 카운트가 홀수인 경우 카운트는 이미 홀수이므로 패리티 비트의 값은 0입니다.짝수 패리티는 Cyclic Redundancy Check(CRC; 순회용장검사)의 특수한 경우이며, 여기서 1비트 CRC는 다항식 x+1에 의해 생성됩니다.
패리티
수학에서 패리티는 정수의 짝수 또는 홀수를 나타낼 수 있습니다.정수는 이진 형식으로 쓰여질 때 최하위 비트만 검사하여 결정할 수 있습니다.
정보기술에서 패리티는 값이 1인 비트 수의 짝수 또는 홀수 값을 나타냅니다.패리티는 모든 비트의 상태에 따라 결정되기 때문에 패리티의 이 속성은 모든 비트에 의존하며 1개의 비트가 변경되었을 경우 그 값을 짝수 패리티에서 홀수 패리티로 변경함으로써 오류 검출 및 수정 방식에서 사용할 수 있습니다.
통신에서 일부 프로토콜에 의해 참조되는 패리티는 오류 탐지를 위한 것입니다.전송 매체는 홀수 패리티 또는 짝수 패리티 중 하나에 일치하도록 양쪽 끝점에서 사전 설정됩니다.송신 준비(데이터 패킷)의 각 비트스트링에 대해서, 송신측은 패리티 비트(0 또는 1)를 계산해, 합의된 패리티(짝수 또는 홀수)에 준거합니다.그 패킷의 수신측은, 우선 패킷 전체의 패리티가 사전 설정된 어그리먼트에 준거하고 있는 것을 확인해, 그 패킷에 패리티 에러가 있었을 경우는, 그 패킷의 재발송신을 요구합니다.
컴퓨터 과학에서는, RAID 어레이내의 패리티 스트라이프 또는 패리티 디스크를 사용해 에러 수정을 실시합니다.패리티 비트는 n비트당 1개의 패리티 비트의 속도로 쓰여집니다.여기서 n은 어레이 내의 디스크 수입니다.읽기 오류가 발생하면 오류 영역의 각 비트가 n비트 집합에서 다시 계산됩니다.이와 같이 패리티 비트를 1개 사용하면 1비트 크기에서 디스크 크기까지의 영역에 대해 "용장성"이 생성됩니다.아래 § 독립 디스크의 다중 어레이를 참조하십시오.
전자제품에서는 XOR 게이트가 짝수 패리티를 생성하는 체크비트에 해당하는 데이터를 출력하고 XOR 논리설계가 임의의 수의 입력으로 쉽게 확장되므로 패리티를 사용하여 데이터를 트랜스코딩하는 것이 매우 효율적일 수 있습니다.XOR 및 AND 구조는 대부분의 집적회로를 구성합니다.
에러 검출
홀수 비트(패리티 비트 포함)가 잘못 전송되면 패리티 비트가 잘못되어 전송에서 패리티 오류가 발생했음을 나타냅니다.패리티 비트는 오류 검출에만 적합합니다.파손된 특정 비트를 판별할 방법이 없기 때문에 오류를 수정할 수 없습니다.데이터는 완전히 폐기하고 처음부터 다시 전송해야 합니다.노이즈가 많은 전송 매체에서는 전송에 시간이 오래 걸리거나 전송이 정상적으로 이루어지지 않을 수 있습니다.단, 패리티는 단일 비트만 사용하고 생성에 필요한 XOR 게이트는 몇 개뿐이라는 장점이 있습니다.오류 수정 코드의 예는 해밍 코드를 참조하십시오.
패리티 비트체크는 7비트를 가진 ASCII 문자를 전송하기 위해 8비트를 패리티 비트로 남겨두는 데 가끔 사용됩니다.
예를 들어 패리티 비트는 다음과 같이 계산할 수 있습니다.Alice와 Bob이 통신 중이고 Alice가 Bob에게 단순한 4비트 메시지 1001을 보내고 싶다고 가정합니다.
비트 패리티 유형 | 전송 성공 시나리오 |
---|---|
짝수 패리티 | Alice가 송신하고 싶은 것: 1001 Alice는 패리티 비트 값을 계산합니다: 1+0+0+1 (mod 2) = 0 Alice가 패리티 비트를 추가하여 송신: 10010 Bob 수신: 10010 Bob은 패리티 계산: 1+0+0+1+0 (mod 2) = 0 밥은 예상된 짝수 결과를 관찰한 후 올바른 전송을 보고합니다. |
홀수 패리티 | Alice가 송신하고 싶은 것: 1001 Alice는 패리티 비트 값을 계산합니다: 1+0+0+1 (mod 2) = 0 Alice가 패리티 비트를 추가하여 송신: 10011 Bob 수신: 10011 Bob은 전체 패리티를 계산합니다: 1+0+0+1+1 (mod 2) = 1 예상된 이상한 결과를 관찰한 후 밥이 올바른 전송을 보고합니다. |
이 메커니즘은 라인 노이즈로 인해 1비트가 플립될 경우 수신된 데이터에 잘못된 개수의 비트가 존재하기 때문에 단일 비트 오류를 검출할 수 있도록 합니다.위의 두 가지 예에서 Bob의 계산된 패리티 값은 수신된 값의 패리티 비트와 일치하며 단일 비트 오류가 없음을 나타냅니다.XOR 를 사용한2번째 비트의 송신 에러가 있는 예를 다음에 나타냅니다.
비트 패리티 오류 유형 | 전송 실패 시나리오 |
---|---|
짝수 패리티 두 번째 비트의 오류 | Alice가 송신하고 싶은 것: 1001 Alice는 패리티 비트 값을 계산합니다: 1^0^0^1 = 0 Alice가 패리티 비트를 추가하여 송신: 10010 ...전송 오류... Bob 수신: 11010 Bob은 전체 패리티를 계산합니다: 1^1^0^1^0 = 1 밥은 예기치 않은 이상한 결과를 확인한 후 잘못된 전송을 보고합니다. |
짝수 패리티 패리티 비트에 오류가 있습니다. | Alice가 송신하고 싶은 것: 1001 Alice는 짝수 패리티 값을 계산합니다: 1^0^0^1 = 0 Alice 송신: 10010 ...전송 오류... Bob 수신: 10011 Bob은 전체 패리티를 계산합니다: 1^0^0^1^1 = 1 밥은 예기치 않은 이상한 결과를 확인한 후 잘못된 전송을 보고합니다. |
패리티 방식에는 제한이 있습니다.패리티 비트는 홀수 수의 비트오류만 검출할 수 있습니다.짝수의 비트에 오류가 있는 경우 패리티 비트는 데이터가 파손되어도 올바른 수의 비트를 기록합니다.(에러 검출 및 수정도 참조).파손된 비트의 짝수를 가진 이전과 같은 예를 생각해 봅시다.
비트 패리티 오류 유형 | 전송 실패 시나리오 |
---|---|
짝수 패리티 2개의 파손 비트 | Alice가 송신하고 싶은 것: 1001 Alice는 짝수 패리티 값을 계산합니다: 1^0^0^1 = 0 Alice 송신: 10010 ...전송 오류... Bob 수신: 11011 Bob은 전체 패리티를 계산합니다: 1^1^0^1 = 0 밥은 실제로는 올바르지 않지만 올바른 전송을 보고합니다. |
밥은 예상대로 짝수 패리티를 관찰하기 때문에 2비트 오류를 검출할 수 없습니다.
사용.
패리티는 단순하기 때문에 어려운 경우 작업을 반복할 수 있거나 단순히 오류를 검출하는 데 도움이 되는 많은 하드웨어 애플리케이션에서 사용됩니다.예를 들어 SCSI 및 PCI 버스는 패리티를 사용하여 전송 오류를 검출하고 많은 마이크로프로세서 명령 캐시에는 패리티 보호가 포함되어 있습니다.I-캐시 데이터는 메인 메모리의 복사본일 뿐이므로, 손상된 것이 발견되면 무시했다가 다시 가져올 수 있습니다.
시리얼 데이터 전송에서 공통 포맷은 7 데이터 비트, 짝수 패리티 비트 및 하나 또는 두 개의 스톱 비트입니다.이 형식은 8비트바이트의 모든 7비트 ASCII 문자를 수용합니다.8비트의 데이터와 패리티 비트의 모든 8비트 바이트 값을 전송할 수 있는 다른 형식도 있습니다.
시리얼 통신 컨텍스트에서 패리티는 보통 인터페이스 하드웨어(예를 들어 UART)에 의해 생성되고 체크되며, 수신 시 인터페이스 하드웨어 내의 하드웨어 레지스터의 상태 비트를 통해 CPU 등의 프로세서(그리고 운영체제도 마찬가지)에 이용 가능하게 됩니다.에러로부터의 회복은, 통상, 데이터의 재전송에 의해서 행해집니다.상세한 것은, 통상, 소프트웨어(운영 체제의 I/O 루틴등)로 처리됩니다.
패리티 비트를 포함한 송신 비트의 합계수가 짝수인 경우 홀수 패리티는 모두 제로 패턴과 모두1 패턴 모두 오류로 검출된다는 장점이 있습니다.총 비트수가 홀수일 경우 패턴 중 하나만 에러로 검출되며, 어느 쪽이 일반적인 에러가 될 것으로 예상되는지를 선택할 수 있다.
RAID 어레이
패리티 데이터는, RAID 어레이(독립 디스크/비고가의 디스크의 용장 어레이)에서 용장성을 실현하기 위해서 사용됩니다.어레이 내의 드라이브에 장애가 발생하면 다른 드라이브의 나머지 데이터를 패리티 데이터와 결합하여(부울 XOR 기능을 사용하여) 누락된 데이터를 재구성할 수 있습니다.
예를 들어, 드라이브 3개로 구성된 RAID 5 어레이의 드라이브 2개에 다음과 같은 데이터가 포함되어 있다고 가정합니다.
드라이브 1: | 01101101 |
드라이브 2: | 11010100 |
두 드라이브의 패리티 데이터를 계산하기 위해 해당 데이터에 대해 XOR이 수행됩니다.
01101101 | |
XOR | 11010100 |
10111001 |
그런 다음 패리티 데이터 10111001이 드라이브 3에 저장됩니다.
3개의 드라이브 중 하나가 고장났을 경우, 나머지 드라이브의 데이터를 동일한 XOR로 처리함으로써 고장난 드라이브의 내용을 교환용 드라이브로 재구성할 수 있습니다.드라이브 2에 장애가 발생한 경우, 나머지 두 드라이브(드라이브 1 및 드라이브 3)의 컨텐츠에 대한 XOR 결과를 사용하여 데이터를 재구축할 수 있습니다.
드라이브 1: | 01101101 |
드라이브 3: | 10111001 |
다음과 같습니다.
10111001 | |
XOR | 01101101 |
11010100 |
XOR 계산 결과 드라이브 2의 컨텐츠가 생성됩니다. 그런 다음 11010100이 드라이브 2에 저장되고 어레이가 완전히 복구됩니다.
XOR 로직은 짝수 패리티와 동등합니다(XOR b XOR ...는 홀수 인수가 참일 경우에만 참인 n-ary 연산자인 XOR(a,b,c,...)로 취급될 수 있기 때문입니다).따라서 위의 동일한 XOR 개념은 패리티가 있는 대규모 RAID 어레이에도 동일하게 적용되며, Disk 수는 제한되지 않습니다.RAID 3 어레이에 12개의 드라이브가 있는 경우, 11개의 드라이브가 위의 XOR 계산에 참여하여 전용 패리티 드라이브에 저장된 값을 산출합니다.
RAID-DP에서는 패리티 비트메커니즘 "더블", "듀얼" 또는 "대각" 패리티의 확장 및 변형이 사용됩니다.
역사
1951년 최초의 자기 테이프 데이터 스토리지에 패리티 트랙이 존재했습니다.이 형식의 패리티는 여러 병렬 신호에 걸쳐 적용되며 횡방향 용장성 검사라고 불립니다.이는 단일 신호로 전송되는 여러 비트에 걸쳐 계산된 패리티(종방향 용장성 검사)와 결합할 수 있습니다.병렬 버스에는 병렬 신호마다 1개의 세로 용장성 체크 비트가 있습니다.
패리티는 적어도 일부 종이 테이프(펀치 테이프) 데이터 입력 시스템(자기 테이프 시스템 이전)에서도 사용되었습니다.영국 기업 ICL(구 ICT)이 판매한 시스템에서는 1인치 폭(25mm) 종이 테이프의 홀 위치는 8개였으며, 그 중 8개는 패리티였습니다.데이터에는 7개의 위치(예: 7비트 ASCII)가 사용되었습니다.8번째 위치에는 데이터 홀의 수에 따라 홀이 뚫려 있습니다.
「 」를 참조해 주세요.
레퍼런스
- ^ Ziemer, RodgerE.; Tranter, William H. (17 March 2014). Principles of communication : systems, modulation, and noise (Seventh ed.). Hoboken, New Jersey. ISBN 9781118078914. OCLC 856647730.