FUNKCJE PARZYSTOŚCI

RAID 5 and XOR

RAID 5 wykorzystuje bitową funkcję “exclusive OR” (XOR) do obliczania wartości parzystości z danych tablicowych. Funkcja XOR spełnia dwa ważne warunki:

  1. Jeśli A xor B = C, to A = C xor B, a także B = C xor A.
  2. Jeśli A i B zajmują taką samą liczbę bitów, C zajmuje również taką liczbę bitów.

xor

Korzystanie z tych funkcji funkcji XOR pozwala obliczyć jedną z brakujących wartości podawaną innym.


RAID6 i Reed-Solomon code

RAID 6 wykorzystuje dwie różne funkcje do obliczania parzystości. Dzieje się tak, ponieważ wyniki funkcji XOR nie zależą od położenia pierwotnych danych:
1 XOR 0 = 1,
0 XOR 1 = 1, i,
i generalnie, P (A, B) = P (B, A).

Dla RAID6 nie wystarczy dodać jeszcze jedną funkcję XOR. Jeśli dwa dyski w macierzy RAID6 zostaną uszkodzone, nie można określić lokalizacji bloku danych przy użyciu samej funkcji XOR. Tak więc oprócz funkcji XOR macierze RAID6 korzystają z kodu Reeda-Salomona, który wytwarza różne wartości w zależności od lokalizacji bloków danych, dzięki czemu Q (A, B) ≠ Q (B, A).


Rozmieszczenie parzystości

Jeśli istnieje kilka lub więcej funkcji parzystości, które powinny być umieszczone na kilku dyskach, może wystąpić kilka różnych wzorów. Trywialnym rozwiązaniem jest umieszczenie parzystości tylko na jednym dysku. W takim przypadku mamy RAID 4, który ma niską wydajność zapisu, ponieważ każda operacja zapisu wpływa na dysk z parzystością, który staje się wąskim gardłem. O wiele skuteczniejsze jest równomierne umieszczenie parzystości na wszystkich dyskach. W przypadku parzystości jest tylko lewy i prawy obrót. W przypadku korzystania z dwóch funkcji parzystości potrzebny jest jeszcze jeden parametr – pozycja pierwszej funkcji parzystości w stosunku do drugiej, to znaczy, że konieczne jest określenie, jaka jest parzystość, a co jest prawidłowe.

tablica 1

Należy zauważyć, że nie ma gwarancji, że parzystość będzie zawsze przesuwać się o jedną kolumnę w wierszu. W przypadku RAID5 nie ma sensu przenosić parzystości o więcej niż jeden, więc jest mało prawdopodobne, aby kiedykolwiek radzić sobie z taką konfiguracją. W przypadku RAID6 taka konfiguracja istnieje i jest nazywana szerokim krokiem. Na przykład kontrolery firmy Promise używają tego układu parzystości.

tablica 2

Ponadto nie ma gwarancji, że rozmiar bloku parzystości jest taki sam, jak rozmiar bloku danych. Jeśli blok parzystości jest większy niż bloku danych otrzymujemy tablicę z tak zwaną parzystością opóźnioną, która jest używana w sterownikach HP Smart Array.

tablica 3

Magazyny MS Storage Spaces mają inny interesujący – zmienia kolejność dysków arbitralnie w długich odstępach czasu, około setek megabajtów.

Uwaga: Węzeł RAID4 to dysk przechowywania parzystości , ale tylko wtedy, gdy zajmujesz się tymi samymi dyskami. Jeśli wymienisz dysk parzystości z dyskiem SSD lub na kilka dysków SSD, wada staje się zaletą, a można uzyskać stosunkowo tania macierz z wydajnością RAID0 i tolerancją na błędy RAID5.