Algorytmy RAID zostały wprowadzone do publicznej wiadomości w 1987 roku. Do dziś pozostają najbardziej pożądaną technologią zabezpieczania i przyspieszania dostępu do danych w zakresie przechowywania informacji. Ale wiek technologii IT, który przekroczył 30-letni kamień milowy, to raczej nie dojrzałość, ale już starość. Powodem jest postęp, który nieuchronnie niesie ze sobą nowe możliwości. W czasach, gdy praktycznie nie było innych dysków niż HDD, algorytmy RAID umożliwiały najbardziej efektywne wykorzystanie dostępnych zasobów pamięci masowej. Jednak wraz z pojawieniem się dysków SSD sytuacja diametralnie się zmieniła. Teraz RAID podczas pracy z dyskami półprzewodnikowymi jest już „pętlą” na ich wydajność. Dlatego, aby odblokować pełny potencjał charakterystyki prędkości dysków SSD, wymagane jest po prostu zupełnie inne podejście do pracy z nimi.

Oprócz oczywistych różnic między HDD a SSD w zasadach działania, tego typu nośniki mają jeszcze jedną ważną cechę: każdy dysk twardy może nadpisać dowolne dane z dokładnością do jednego bloku (obecnie jest to najczęściej 4KB). W przypadku dysków SSD proces nadpisywania jest znacznie bardziej skomplikowaną procedurą:
- Zmienione dane zostaną skopiowane do nowej lokalizacji. Jednocześnie ziarnistość to ten sam blok, ale składający się z kilku stron i mający rozmiar 256KB - 4MB. Te. przy zmianie tych samych 4KB konieczne jest skopiowanie między innymi wszystkich sąsiednich stron, które tworzą jeden blok.
- „Stare” bloki są oznaczane jako nieużywane, aby można je było zastąpić Garbage Collectorem.

Sekwencyjny zapis/nadpisanie na dysku SSD
W przypadku sekwencyjnego zapisu/przepisu ta cecha funkcjonowania dysku SSD nie odgrywa dużej roli pod względem jego wydajności, gdyż. bloki są obok siebie, a Garbage Collector dobrze wykonuje swoją pracę w tle. Ale w prawdziwym życiu, a tym bardziej w segmencie Enterprise dla SSD, najczęściej stosuje się losowy dostęp do danych. A te dane są zapisywane w dowolnych miejscach na dyskach.
Im więcej danych jest zapisywanych na dysku SSD, tym trudniej jest działać odśmiecaczowi, ponieważ fragmentacja znacznie wzrasta. W rezultacie nadchodzi moment, w którym proces czyszczenia dysku przestaje być „tłem”: wydajność dysku SSD znacznie spada, bo. zauważalną jego część zajmuje Garbage Collector.

Rzeczywista lokalizacja danych na dysku SSD w codziennym użytkowaniu
Aby zobrazować efekt pracy „garbage collectora” w zależności od trybu zapisu na dysk można wykonać najprostsze testy: sekwencyjny i losowy zapis w blokach 4KB na dysk 100GB. (Źródło - firma )

Wydajność zapisu sekwencyjnego

Losowa wydajność zapisu
Jak widać z testów, spadek wydajności może sięgać ponad dwukrotnie. A to tylko jeden przejazd. W przypadku korzystania z dysku SSD jako części grupy RAID, liczba operacji przepisywania znacznie wzrasta ze względu na pracę z parzystością.
Ogólnie rzecz biorąc, dzięki tym cechom działania dysków SSD istnieje dla nich taki parametr, jak współczynnik wzmocnienia zapisu. Jest to stosunek ilości danych zapisanych na dysku do ilości danych faktycznie wysłanych przez hosta. A dla najpopularniejszego RAID5 współczynnik ten wynosi ~3.5.
W rezultacie systemy z klasyczną macierzą RAID zasadniczo wykorzystują dyski SSD tylko ~10% ich rzeczywistej prędkości i słabo skalują wydajność, gdy liczba dysków wzrasta do kilkunastu.
Należy również pamiętać, że nadmierne operacje zapisu nie tylko zmniejszają wydajność dysku SSD, ale także zmniejszają jego zasoby, które są dalekie od nieskończoności, skracając w ten sposób żywotność dysku.
, który jest rdzeniem wszystkich produktów AccelStor, został zaprojektowany jako alternatywa dla klasycznych algorytmów RAID podczas pracy z dyskami SSD. O innowacyjności technologii świadczą zarówno liczne patenty i nagrody (m.in. na Flash Memory Summit 2016), jak i wyniki niezależnych testów (np. SPC1).
serce polega na zamianie wszystkich przychodzących żądań zapisu, głównie typu losowego, na zestaw bloków, który jest jak najbardziej zbliżony do trybu zapisu sekwencyjnego z punktu widzenia napędu. Dzięki temu zapis na dyski SSD odbywa się w najwygodniejszym dla nich trybie, a finalna wydajność przewyższa jakikolwiek system z klasycznym RAIDem.
Wszystkie dyski SSD w systemach AccelStor są podzielone na dwie symetryczne grupy FlexiRemap®. Wielkość grupy zależy od modelu i wynosi od 5 do 11 dysków. Aby zapewnić odporność na awarie w obrębie grupy, używana jest parzystość, podobnie jak w przypadku RAID5. Obie grupy są używane razem, tworząc wspólną przestrzeń do przechowywania. Dlatego wynikowa odporność na awarie będzie podobna do macierzy RAID50 składającej się z dwóch grup: system jest w stanie wytrzymać awarię do dwóch dysków SSD, ale nie więcej niż jednego w każdej grupie FlexiRemap®.

Wszystkie przychodzące żądania zapisu są dzielone na bloki o rozmiarze 4 KB, które są zapisywane w trybie okrężnym w obu grupach FlexiRemap®. Jednocześnie system stale rejestruje zapotrzebowanie na rejestrowane bloki, starając się zapisywać podobne bloki jak najbliżej siebie w przypadku ich zmiany. Okazuje się, że jest to wirtualny odpowiednik łzawienia, jeśli jest wyrażony w kategoriach systemów pamięci masowej. W takim przypadku praca „śmieciarza” jest znacznie ułatwiona: w końcu nieużywane bloki zawsze będą w pobliżu.
Należy zauważyć, że w przeciwieństwie do produktów konkurencji nie wykorzystują funkcjonalności buforowania przychodzących żądań w pamięci RAM kontrolera. Wszystkie przychodzące bloki danych są natychmiast zapisywane na dysku SSD. Host otrzymuje potwierdzenie pomyślnego zapisu dopiero po fizycznym umieszczeniu danych na dyskach. Tylko tabele alokacji bloków na dysku SSD są przechowywane w pamięci RAM, aby przyspieszyć dostęp i określić, gdzie zapisać następny blok danych. Oczywiście dla wiarygodności kopie tych tabel znajdują się na samych nośnikach. Dzięki temu systemy AccelStor nie wymagają ochrony pamięci podręcznej baterii/kondensatorów (jednak możliwa jest komunikacja z UPS-em – „miękkie” wyłączenie w przypadku problemów z zasilaniem).
Dzięki takiemu podejściu do organizowania nagrywania, Garbage Collector naprawdę może pracować w tle bez znaczącego wpływu na prędkość dysków, co ostatecznie pozwala na wykorzystanie do 90% wydajności SSD w systemie. To właśnie wysoka wydajność IOPS w systemach AccelStor na tle All Flash, które bazują na algorytmach RAID.
Kolejną ważną cechą technologii FlexiRemap® jest znaczna redukcja nadmiarowych zapisów na dyskach SSD. Tak więc wzmocnienie zapisu dla systemów AccelStor wynosi tylko 1.3, co w tłumaczeniu na język potoczny oznacza wzrost żywotności dysków w porównaniu z RAID5 o ponad 2.5 razy!

Ze względu na ciągłe monitorowanie przez system polityki umieszczania danych na dysku SSD, wszystkie dyski zużywają się w ten sam sposób. Takie podejście pozwala przewidzieć ich żywotność i z wyprzedzeniem zasygnalizować administratorowi o wyczerpaniu zasobu rejestracyjnego.
Oczywiste jest, że dyski SSD mogą zawieść. W takim przypadku system natychmiast rozpocznie przebudowę na jeden z dysków zapasowych. W takim przypadku grupa FlexiRemap® będąca w stanie zdegradowanym przechodzi w tryb tylko do odczytu, a wszystkie żądania zapisu są kierowane do drugiej grupy. Taki mechanizm ochrony ma na celu przyspieszenie operacji odbudowy i zmniejszenie prawdopodobieństwa awarii innego dysku w tej samej grupie. Nie jest tajemnicą, że podczas odbudowy wszystkie dyski w grupie doświadczają zwiększonego obciążenia z powodu zakłóceń operacji odczytu, zapisu i przywracania na dysku zapasowym. Zwiększa to prawdopodobieństwo awarii innego dysku. Im więcej operacji zapisu, tym dłużej potrwa przebudowa.

Po zakończeniu procesu odbudowy i przywróceniu normalnego stanu grupy FlexiRemap®, między dwiema grupami nastąpi nieznaczne przesunięcie w zasobach zapisu. Dlatego, aby to wyrównać, kolejne operacje zapisu będą częściej spadały na przywróconą grupę (oczywiście w taki sposób, aby końcowa wydajność systemu nie ucierpiała zbytnio).
Nie jest możliwe zwiększenie wydajności systemów All Flash opartych na algorytmach RAID powyżej pewnych wartości (~280 tys. IOPS przy losowym zapisie 4 tys.) nawet w przypadku korzystania ze złożonych systemów buforowania. Technologia FlexiRemap®, dzięki zupełnie odmiennemu podejściu do organizacji przestrzeni dyskowej, nie tylko łatwo pokonuje tę barierę, ale jednocześnie kilkukrotnie zwiększa żywotność dysków SSD. Zatem systemy mają znaczące zalety wśród macierzy All Flash na wielu frontach (IOPS/$, GB/$, TCO, ROI), co czyni je idealnymi kandydatami na kluczowe stanowiska w centrach danych klientów do rozwiązywania zadań wymagających dużej ilości zasobów.
Źródło: www.habr.com
