FUNKCJE PARZYSTOŚCI

Funkcje parzystości w różnych poziomach RAID

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 funkcji 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.