Para o exemplo, temos 3 discos. Um disco contém as informações paridade , os outros dois os dados (assim você perde 1 disco valido espaço para paridade). Agora, para cada bit a paridade é calculada, de modo que todos os discos contenham sempre um número par de bits na mesma posição. (Este exemplo é a teoria básica, a implementação pode diferir ligeiramente):
Data 1 Data 2 Parity 0 0 0 0 1 1 1 0 1 1 1 0
Se você perder um disco e tiver agora (para essa posição em todos os discos) as informações 1?1
você sabe, que ?
deve ser 0
porque você precisa obter um número par de bits. O mesmo para por exemplo ?00
(== 000
) ou qualquer outra combinação, também com mais partes de dados (funciona da mesma forma também para 20 dados e 1 discos de paridade). Além disso, desde que você perca apenas um disco (um bit por grupo de paridade), tudo bem.
Nota: A posição da paridade gira (com RAID-5) sobre os discos para cada stripe (bloco RAID, algo entre 2k e 64k bytes), para espalhar a carga nos discos uniformemente.