Parity werkt zo:
a b c d p (parity)
0 1 0 1
0 = 2
1 1 0 1
1 = 4
0 1 0 0
1 = 2
1 1 1 1
0 = 4
Je hebt b.v. 4 bits zoals hierboven. En een extra parity bit. De parity bit is 0 als de som van de databits een even getal is, en 1 als de som van de databits een oneven getal is. Anders gezegd: de parity bit vult het voorgaande aan, zodat het een even getal is.
Stel nu dat sommige bits verloren zijn gegaan:
a b c d p (parity)
X 1 0 1
0 de parity is 0, dus a is ook 0
1 X 0 1
1 de parity is 1, dus b is ook 1
0 1 X 0
1 de parity is 1, dus c is 0
1 1 1 X
0 de parity is 0, dus d is 1
Met die .par files zal iets soortgelijks ook wel kunnen. Het werkt alleen als er maar 1 bits van een reeks verloren is, 2 bits of meer en je kunt er helaas niets meer mee.
Parity als RAID bestaat ook, zo heb ik een RAID5 array met 7 schijven. 6 waarvan data op staat. En één (effectieve) schijf die de parity data vasthoud. Eén schijf mag kapot gaan, dan kan d.m.v. de paritygegevens de ontbrekende data berekend worden. Als er twee kapot gaan ben ik alles kwijt.