275:. In the case of even parity, for a given set of bits, the bits whose value is 1 are counted. If that count is odd, the parity bit value is set to 1, making the total count of occurrences of 1s in the whole set (including the parity bit) an even number. If the count of 1s in a given set of bits is already even, the parity bit's value is 0. In the case of odd parity, the coding is reversed. For a given set of bits, if the count of bits with a value of 1 is even, the parity bit value is set to 1 making the total count of 1s in the whole set (including the parity bit) an odd number. If the count of bits with a value of 1 is odd, the count is already odd so the parity bit's value is 0. Even parity is a special case of a
319:. The transmission medium is preset, at both end points, to agree on either odd parity or even parity. For each string of bits ready to transmit (data packet) the sender calculates its parity bit, zero or one, to make it conform to the agreed parity, even or odd. The receiver of that packet first checks that the parity of the packet as a whole is in accordance with the preset agreement, then, if there was a parity error in that packet, requests a retransmission of that packet.
32:
929:,...), which is an n-ary operator that is true if and only if an odd number of arguments is true). So the same XOR concept above applies similarly to larger RAID arrays with parity, using any number of disks. In the case of a RAID 3 array of 12 drives, 11 drives participate in the XOR calculation shown above and yield a value that is then stored on the dedicated parity drive.
967:) data entry systems (which preceded magnetic-tape systems). On the systems sold by British company ICL (formerly ICT) the 1-inch-wide (25 mm) paper tape had 8 hole positions running across it, with the 8th being for parity. 7 positions were used for the data, e.g., 7-bit ASCII. The 8th position had a hole punched in it depending on the number of data holes punched.
502:
This mechanism enables the detection of single bit errors, because if one bit gets flipped due to line noise, there will be an incorrect number of ones in the received data. In the two examples above, Bob's calculated parity value matches the parity bit in its received value, indicating there are no
824:
Should any of the three drives fail, the contents of the failed drive can be reconstructed on a replacement drive by subjecting the data from the remaining drives to the same XOR operation. If Drive 2 were to fail, its data could be rebuilt using the XOR results of the contents of the two remaining
725:
When the total number of transmitted bits, including the parity bit, is even, odd parity has the advantage that both all-zeros and all-ones patterns are detected as errors. If the total number of bits is odd, only one of the patterns is detected as an error, and the choice can be made based on what
311:
In information technology parity refers to the evenness or oddness, given any set of binary digits, of the number of those bits with value one. Because parity is determined by the state of every one of the bits, this property of parity—being dependent upon all the bits and changing its value from
587:
There is a limitation to parity schemes. A parity bit is guaranteed to detect only an odd number of bit errors. If an even number of bits have errors, the parity bit records the correct number of ones even though the data is corrupt. (See also
356:
gates output what is equivalent to a check bit that creates an even parity, and XOR logic design easily scales to any number of inputs. XOR and AND structures comprise the bulk of most integrated circuitry.
381:. On a noisy transmission medium, successful transmission can therefore take a long time or even never occur. However, parity has the advantage that it uses only a single bit and requires only a number of
722:
hardware. Recovery from the error is usually done by retransmitting the data, the details of which are usually handled by software (such as the operating system I/O routines).
1054:
703:
1096:
657:
applications in which an operation can be repeated in case of difficulty, or simply detecting the error is helpful. For example, the
1030:
366:
115:
345:
bits. In this way, using one parity bit creates "redundancy" for a region from the size of one bit to the size of one disk. See
589:
327:
249:
53:
742:. If a drive in the array fails, remaining data on the other drives can be combined with the parity data (using the Boolean
699:
characters in an 8-bit byte. Other formats are possible; 8 bits of data plus a parity bit can convey all 8-bit byte values.
341:
is the number of disks in the array. When a read error occurs, each bit in the error region is recalculated from its set of
377:
any errors, as there is no way to determine the particular bit that is corrupted. The data must be discarded entirely, and
1101:
957:
96:
68:
953:
49:
1091:
1086:
949:
75:
42:
933:
739:
378:
1001:
276:
82:
702:
In serial communication contexts, parity is usually generated and checked by interface hardware (such as a
932:
Extensions and variations on the parity bit mechanism "double," "dual," or "diagonal" parity, are used in
503:
single bit errors. Consider the following example with a transmission error in the second bit using XOR:
719:
707:
685:
374:
312:
even to odd parity if any one bit changes—allows for its use in error detection and correction schemes.
305:
301:
252:. Parity bits are generally applied to the smallest units of a communication protocol, typically 8-bit
64:
296:
264:
20:
1048:
986:
1036:
1026:
715:
688:
674:
654:
373:
occurred in the transmission. The parity bit is suitable only for detecting errors; it cannot
253:
711:
256:(bytes), although they can also be applied separately to an entire message string of bits.
981:
956:. This can be combined with parity computed over multiple bits sent on a single signal, a
960:. In a parallel bus, there is one longitudinal redundancy check bit per parallel signal.
89:
666:
260:
1071:
952:
in 1951. Parity in this form, applied across multiple parallel signals, is known as a
1106:
1080:
400:
645:
Bob observes even parity, as expected, thereby failing to catch the two bit errors.
964:
386:
592:.) Consider the same example as before but with an even number of corrupted bits:
996:
780:
To calculate parity data for the two drives, an XOR is performed on their data:
678:
245:
31:
300:
can refer to the evenness or oddness of an integer, which, when written in its
280:
1040:
403:
are communicating and Alice wants to send Bob the simple 4-bit message 1001.
670:
315:
In telecommunications the parity referred to by some protocols is for error-
1072:
Different methods of generating the parity bit, among other bit operations
580:
Bob reports incorrect transmission after observing unexpected odd result.
546:
Bob reports incorrect transmission after observing unexpected odd result.
692:
382:
662:
453:
Bob reports correct transmission after observing expected even result.
352:
In electronics, transcoding data with parity can be very efficient, as
681:, it can be disregarded and refetched if it is found to be corrupted.
495:
Bob reports correct transmission after observing expected odd result.
369:
incorrectly, the parity bit will be incorrect, thus indicating that a
750:
691:, a common format is 7 data bits, an even parity bit, and one or two
396:
characters, which have 7 bits, leaving the 8th bit as a parity bit.
991:
976:
696:
393:
1023:
Principles of communication : systems, modulation, and noise
735:
658:
323:
399:
For example, the parity bit can be computed as follows. Assume
898:
The result of that XOR calculation yields Drive 2's contents.
743:
353:
241:
25:
638:
Bob reports correct transmission though actually incorrect.
333:. Parity bits are written at the rate of one parity bit per
392:
Parity bit checking is used occasionally for transmitting
322:
In computer science the parity stripe or parity disk in a
346:
365:
If an odd number of bits (including the parity bit) are
1021:
Ziemer, RodgerE.; Tranter, William H. (17 March 2014).
902:
is then stored on Drive 2, fully repairing the array.
267:. Accordingly, there are two variants of parity bits:
905:
XOR logic is also equivalent to even parity (because
706:) and, on reception, the result made available to a
665:use parity to detect transmission errors, and many
56:. Unsourced material may be challenged and removed.
963:Parity was also used on at least some paper-tape (
653:Because of its simplicity, parity is used in many
749:For example, suppose two drives in a three-drive
736:redundant array of independent/inexpensive disks
485:Bob receives: 10011 and 10110
463:Alice wants to transmit: 1001 and 1011
443:Bob receives: 10010 and 10111
421:Alice wants to transmit: 1001 and 1011
16:Bit added to a binary string for error detection
710:such as the CPU (and so too, for instance, the
304:, can be determined just by examining only its
279:(CRC), where the 1-bit CRC is generated by the
635:Bob computes overall parity: 1^1^0^1^1 = 0
614:Alice computes even parity value: 1^0^0^1 = 0
577:Bob computes overall parity: 1^0^0^1^1 = 1
560:Alice computes even parity value: 1^0^0^1 = 0
543:Bob computes overall parity: 1^1^0^1^0 = 1
525:Alice computes parity bit value: 1^0^0^1 = 0
8:
389:for an example of an error-correcting code.
746:function) to reconstruct the missing data.
347:§ Redundant Array of Independent Disks
1053:: CS1 maint: location missing publisher (
1025:(Seventh ed.). Hoboken, New Jersey.
726:the more common error is expected to be.
695:. That format accommodates all the 7-bit
116:Learn how and when to remove this message
795: XOR
617:Alice sends: 10010
594:
563:Alice sends: 10010
505:
405:
127:
19:For broader coverage of this topic, see
1013:
673:include parity protection. Because the
612:Alice wants to transmit: 1001
558:Alice wants to transmit: 1001
528:Alice adds parity bit and sends: 10010
523:Alice wants to transmit: 1001
1046:
7:
753:array contained the following data:
734:Parity data is used by RAID arrays (
571:Bob receives: 1001
54:adding citations to reliable sources
248:. Parity bits are a simple form of
466:Alice computes parity bit value:
14:
625:Bob receives: 1
536:Bob receives: 1
473:Alice adds parity bit and sends:
431:Alice adds parity bit and sends:
424:Alice computes parity bit value:
412:Successful transmission scenario
488:Bob computes overall parity:
446:Bob computes parity:
259:The parity bit ensures that the
30:
41:needs additional citations for
1097:Error detection and correction
917:XOR ... may be treated as XOR(
590:error detection and correction
1:
958:longitudinal redundancy check
825:drives, Drive 1 and Drive 3:
821:, is then stored on Drive 3.
601:Failed transmission scenario
512:Failed transmission scenario
954:transverse redundancy check
817:The resulting parity data,
677:data is just a copy of the
1123:
950:magnetic-tape data storage
379:retransmitted from scratch
18:
948:was present on the first
554:Error in the parity bit
519:Error in the second bit
137:
134:
130:
714:) via a status bit in a
621:...TRANSMISSION ERROR...
598:Type of bit parity error
567:...TRANSMISSION ERROR...
532:...TRANSMISSION ERROR...
509:Type of bit parity error
470:1+0+1+1 (+ 1 mod 2) = 0
468:1+0+0+1 (+ 1 mod 2) = 1
138:8 bits including parity
277:cyclic redundancy check
892:Reconstructed Drive 2
492:1+0+1+1+0 (mod 2) = 1
490:1+0+0+1+1 (mod 2) = 1
450:1+0+1+1+1 (mod 2) = 0
448:1+0+0+1+0 (mod 2) = 0
261:total number of 1-bits
306:least significant bit
244:added to a string of
1102:Parity (mathematics)
608:Two corrupted bits
428:1+0+1+1 (mod 2) = 1
426:1+0+0+1 (mod 2) = 0
250:error detecting code
50:improve this article
21:Parity (mathematics)
1002:Thue–Morse sequence
987:Single-event upset
409:Type of bit parity
135:(count of 1-bits)
1092:Data transmission
1087:Binary arithmetic
896:
895:
850:
849:
815:
814:
778:
777:
716:hardware register
689:data transmission
675:Instruction cache
643:
642:
585:
584:
500:
499:
385:to generate. See
263:in the string is
230:
229:
126:
125:
118:
100:
1114:
1059:
1058:
1052:
1044:
1018:
855:
854:
828:
827:
783:
782:
756:
755:
712:operating system
595:
506:
406:
128:
121:
114:
110:
107:
101:
99:
58:
34:
26:
1122:
1121:
1117:
1116:
1115:
1113:
1112:
1111:
1077:
1076:
1068:
1063:
1062:
1045:
1033:
1020:
1019:
1015:
1010:
982:Parity function
973:
942:
877:
802:
732:
651:
491:
489:
474:
469:
467:
449:
447:
432:
427:
425:
363:
361:Error detection
294:In mathematics
292:
269:even parity bit
132:
122:
111:
105:
102:
59:
57:
47:
35:
24:
17:
12:
11:
5:
1120:
1118:
1110:
1109:
1104:
1099:
1094:
1089:
1079:
1078:
1075:
1074:
1067:
1066:External links
1064:
1061:
1060:
1031:
1012:
1011:
1009:
1006:
1005:
1004:
999:
994:
989:
984:
979:
972:
969:
941:
938:
894:
893:
890:
885:
882:
881:
878:
873:
871:
867:
866:
863:
858:
848:
847:
842:
838:
837:
832:
813:
812:
807:
804:
803:
798:
796:
792:
791:
786:
776:
775:
770:
766:
765:
760:
731:
728:
667:microprocessor
650:
647:
641:
640:
610:
603:
602:
599:
583:
582:
556:
549:
548:
521:
514:
513:
510:
498:
497:
460:
456:
455:
418:
414:
413:
410:
362:
359:
291:
288:
273:odd parity bit
228:
227:
221:
215:
212:
208:
207:
201:
195:
192:
188:
187:
181:
175:
172:
168:
167:
161:
155:
152:
148:
147:
144:
140:
139:
136:
133:
131:7 bits of data
124:
123:
38:
36:
29:
15:
13:
10:
9:
6:
4:
3:
2:
1119:
1108:
1105:
1103:
1100:
1098:
1095:
1093:
1090:
1088:
1085:
1084:
1082:
1073:
1070:
1069:
1065:
1056:
1050:
1042:
1038:
1034:
1032:9781118078914
1028:
1024:
1017:
1014:
1007:
1003:
1000:
998:
995:
993:
990:
988:
985:
983:
980:
978:
975:
974:
970:
968:
966:
961:
959:
955:
951:
947:
939:
937:
935:
930:
928:
924:
920:
916:
912:
908:
903:
901:
891:
889:
886:
884:
883:
879:
876:
872:
869:
868:
864:
862:
859:
857:
856:
853:
846:
843:
840:
839:
836:
833:
830:
829:
826:
822:
820:
811:
808:
806:
805:
801:
797:
794:
793:
790:
787:
785:
784:
781:
774:
771:
768:
767:
764:
761:
758:
757:
754:
752:
747:
745:
741:
738:) to achieve
737:
729:
727:
723:
721:
717:
713:
709:
705:
700:
698:
694:
690:
687:
682:
680:
676:
672:
668:
664:
660:
656:
648:
646:
639:
636:
633:
632:
628:
623:
622:
618:
615:
611:
609:
605:
604:
600:
597:
596:
593:
591:
581:
578:
575:
574:
569:
568:
564:
561:
557:
555:
551:
550:
547:
544:
541:
539:
534:
533:
529:
526:
522:
520:
516:
515:
511:
508:
507:
504:
496:
493:
486:
483:
482:
478:
471:
464:
461:
458:
457:
454:
451:
444:
441:
440:
436:
429:
422:
419:
416:
415:
411:
408:
407:
404:
402:
401:Alice and Bob
397:
395:
390:
388:
384:
380:
376:
372:
368:
360:
358:
355:
350:
348:
344:
340:
336:
332:
331:
325:
320:
318:
313:
309:
307:
303:
299:
298:
289:
287:
285:
282:
278:
274:
270:
266:
262:
257:
255:
251:
247:
243:
239:
235:
226:
222:
220:
216:
213:
210:
209:
206:
202:
200:
196:
193:
190:
189:
186:
182:
180:
176:
173:
170:
169:
166:
162:
160:
156:
153:
150:
149:
145:
142:
141:
129:
120:
117:
109:
98:
95:
91:
88:
84:
81:
77:
74:
70:
67: –
66:
62:
61:Find sources:
55:
51:
45:
44:
39:This article
37:
33:
28:
27:
22:
1022:
1016:
965:punched tape
962:
946:parity track
945:
943:
931:
926:
922:
918:
914:
910:
906:
904:
899:
897:
887:
874:
860:
852:as follows:
851:
844:
834:
823:
818:
816:
809:
799:
788:
779:
772:
762:
748:
733:
724:
701:
683:
669:instruction
652:
644:
637:
634:
630:
626:
624:
620:
619:
616:
613:
607:
606:Even parity
586:
579:
576:
572:
570:
566:
565:
562:
559:
553:
552:Even parity
545:
542:
537:
535:
531:
530:
527:
524:
518:
517:Even parity
501:
494:
487:
484:
480:
476:
472:
465:
462:
452:
445:
442:
438:
434:
430:
423:
420:
398:
391:
387:Hamming code
371:parity error
370:
364:
351:
342:
338:
337:bits, where
334:
329:
321:
316:
314:
310:
295:
293:
283:
272:
268:
258:
237:
233:
231:
224:
218:
204:
198:
184:
178:
164:
158:
112:
106:January 2022
103:
93:
86:
79:
72:
65:"Parity bit"
60:
48:Please help
43:verification
40:
997:Check digit
679:main memory
417:Even parity
367:transmitted
302:binary form
265:even or odd
246:binary code
1081:Categories
1008:References
740:redundancy
730:RAID array
459:Odd parity
330:correction
281:polynomial
234:parity bit
76:newspapers
1049:cite book
1041:856647730
841:Drive 3:
831:Drive 1:
769:Drive 2:
759:Drive 1:
720:interface
708:processor
693:stop bits
663:PCI buses
383:XOR gates
326:provides
317:detection
238:check bit
971:See also
900:11010100
888:11010100
880:Drive 3
875:10111001
865:Drive 1
861:01101101
845:10111001
835:01101101
819:10111001
810:10111001
800:11010100
789:01101101
773:11010100
763:01101101
655:hardware
479:and 1011
437:and 1011
211:1111111
191:1101001
171:1010001
151:0000000
940:History
934:RAID-DP
718:in the
375:correct
349:below.
240:, is a
223:1111111
217:1111111
203:1101001
197:1101001
183:1010001
177:1010001
163:0000000
157:0000000
90:scholar
1039:
1029:
751:RAID 4
686:serial
671:caches
328:error-
297:parity
290:Parity
254:octets
92:
85:
78:
71:
63:
992:8-N-1
977:BIP-8
697:ASCII
649:Usage
394:ASCII
236:, or
143:even
97:JSTOR
83:books
1107:RAID
1055:link
1037:OCLC
1027:ISBN
913:XOR
909:XOR
704:UART
661:and
659:SCSI
540:010
475:1001
433:1001
324:RAID
286:+1.
271:and
146:odd
69:news
870:XOR
744:XOR
684:In
354:XOR
308:.
242:bit
52:by
1083::
1051:}}
1047:{{
1035:.
944:A
936:.
629:01
232:A
214:7
194:4
174:3
154:0
1057:)
1043:.
927:c
925:,
923:b
921:,
919:a
915:c
911:b
907:a
631:1
627:1
573:1
538:1
481:0
477:1
439:1
435:0
343:n
339:n
335:n
284:x
225:0
219:1
205:1
199:0
185:0
179:1
165:1
159:0
119:)
113:(
108:)
104:(
94:·
87:·
80:·
73:·
46:.
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.