Algoritmy RAID byly poprvé představeny veřejnosti již v roce 1987. Dodnes zůstávají nejžádanější technologií pro ochranu a zrychlení přístupu k datům v oblasti ukládání informací. Věk IT technologie, která překročila 30letou hranici, však není spíše zralostí, ale už starostí. Příčinou je pokrok, neúprosně přinášející nové možnosti. V dobách, kdy prakticky neexistovaly žádné jiné úložné zařízení než HDD, algoritmy RAID umožnily co nejefektivněji využívat dostupné úložné zdroje. S příchodem SSD se však situace zásadně změnila. Nyní je RAID při práci s pevnými disky spíše "poutem" na jejich výkonu. Proto pro odhalení plného potenciálu rychlostních charakteristik SSD je nutný zcela jiný přístup k práci s nimi.

Kromě zjevných rozdílů mezi HDD a SSD z hlediska fungování mají tyto typy pamětí ještě jednu důležitou charakteristiku: jakýkoliv pevný disk může přepisovat jakákoliv data s granularitou jednoho bloku (dnes se nejčastěji používá 4KB). U SSD je proces přepsání však mnohem složitější procedura:
- Změněná data jsou kopírována na nové místo. Přičemž granularita – to je stejný blok, ale skládající se z několika stránek a má velikost 256KB – 4MB. Tj. při změně těchto 4KB je nutné zkopírovat také všechny sousední stránky, které tvoří jeden blok.
- "Staré" bloky označit jako nevyužité, aby je potom vymazal sběrač "odpadu" (Garbage Collector).

Sekvenční zápis/přepis na SSD
V případě sekvenčního zápisu/přepisu tato zvláštnost fungování SSD nehraje velkou roli z hlediska jeho výkonu, protože bloky jsou umístěny blízko sebe a sběrač "odpadu" si s tímto úkolem v pozadí docela dobře poradí. Ale v reálném životě, a to zejména v Enterprise segmentu, se na SSD nejčastěji používá náhodný přístup k datům. A tato data jsou zapisována na nahodilá místa na discích.
Čím více dat je zapisováno na SSD, tím obtížnější je pro sběrače "odpadu" pracovat, protože se výrazně zvyšuje fragmentace. V důsledku toho dochází k momentu, kdy proces čištění úložiště přestává být "pozadový": výkon SSD se výrazně snižuje, neboť značnou část jeho výkonu zabírá Garbage Collector.

Skutečné umístění dat na SSD během každodenního používání
Pro ilustraci efektu vlivu činnosti sběrače "odpadu" v závislosti na režimu zápisu na úložiště lze provést základní testy: sekvenční a náhodný zápis bloky 4KB na 100GB úložiště. (Zdroj – společnost )

Výkon při sekvenčním zápisu

Výkon při náhodném zápisu
Jak je vidět z testů, pokles výkonu může dosáhnout více než dvojnásobku. A to je pouze jediný disk. V případě použití SSD jako součásti RAID skupiny se počet přepisovacích operací výrazně zvyšuje díky práci s parity.
V zásadě díky těmto vlastnostem fungování SSD existuje pro ně takový parametr, jako je koeficient zápisu (write amplification). To je poměr objemu dat, které byly zapsány na úložiště, k objemu dat, která skutečně odeslal hostitel. A pro nejpopulárnější RAID5 je tento koeficient přibližně 3,5.
Výsledkem je, že systémy s klasickým RAID v podstatě využívají SSD pouze přibližně 10 % jejich skutečné rychlosti a slabě škálují výkon při zvyšování počtu disků nad deset.
Také je třeba poznamenat, že nadbytečné zápisové operace nejenže snižují výkon SSD, ale také snižují jeho zdaleka neomezený zdroj, což tím pádem zkracuje životnost úložiště.
, která je jádrem všech produktů AccelStor, byla vyvinuta jako alternativa k klasickým algoritmům RAID při práci se SSD. Inovativnost technologie byla oceněna různými patenty a cenami (včetně na Flash Memory Summit 2016) a také výsledky nezávislých testů (například SPC1).
Podstata spočívá v převodu všech příchozích zápisových požadavků, zejména typu random, na sadu bloků, která je co nejvíce podobná sekvenčnímu zápisu z hlediska úložiště. V důsledku toho zapisování na SSD probíhá v maximálně komfortním režimu a konečný výkon převyšuje jakéhokoli systému s klasickým RAID.
Všechny SSD v systémech AccelStor jsou rozděleny do dvou symetrických skupin FlexiRemap®. Velikost skupiny závisí na modelu a činí 5-11 úložišť. Pro odolnost vůči chybám se uvnitř skupiny používá parita podobná RAID5. Obě skupiny se používají společně a tvoří celkový prostor pro ukládání. Konečná odolnost vůči chybám bude tedy obdobná poli RAID50, které se skládá ze dvou skupin: systém je schopen ustát selhání až dvou SSD, ale nikoli více než jednoho v každé skupině FlexiRemap®.

Všechny příchozí zápisové požadavky jsou rozděleny na bloky o velikosti 4KB, které jsou v režimu round robin zapisovány na obě skupiny FlexiRemap®. Při tom systém neustále sleduje poptávku po zapsaných blocích a snaží se při jejich změně zapisovat podobné bloky co nejblíže k sobě. Vzniká virtuální ekvivalent stripingu, pokud se vyjadřujeme v termínech STH. V tomto případě je výrazně usnadněna práce se sběrem „odpadu“: neboť nepoužívané bloky budou stále nablízku.
Stojí za zmínku, že na rozdíl od produktů konkurence nepoužívají funkci cacheování příchozích požadavků v operační paměti řadiče. Všechny příchozí datové bloky jsou okamžitě zapisovány na SSD. Host získává potvrzení o úspěšném zápisu až po fyzickém umístění dat na úložištích. V RAM se uchovávají pouze tabulky umístění bloků na SSD pro urychlení přístupu a určení, kam zapsat další datový blok. Samozřejmě, pro spolehlivost jsou kopie těchto tabulek umístěny i na samotných médiích. V důsledku toho systémy AccelStor nepotřebují žádnou ochranu cache ve formě baterie/kondenzátoru (ovšem je možné navázat spojení s UPS – pro „měkké“ vypnutí v případě problémů s napájením).
Díky podobnému přístupu k organizaci záznamu je sběrač "odpadků" skutečně schopen pracovat na pozadí, aniž by měl zásadní vliv na rychlost úložiště, což nakonec umožňuje systému využít až 90 % výkonu SSD. V tom spočívají vysoké parametry IOPS v systémech AccelStor na pozadí All Flash, které mají v základu algoritmy RAID.
Další důležitou vlastností technologie FlexiRemap® je významné snížení nadbytečných zápisových operací na SSD. Koeficient zápisů (write amplification) pro systémy AccelStor činí pouhých 1,3, což ve standardním jazyce znamená prodloužení životnosti úložišť ve srovnání s RAID5 více než 2,5x!

Díky neustálému monitorování systémem politiky umisťování dat na SSD se všechny úložiště opotřebovávají rovnoměrně. Tento přístup umožňuje předpovědět jejich životnost a předem poslat signál správci o vyčerpání zápisových zdrojů.
Je jasné, že SSD mohou selhat. V takovém případě systém okamžitě zahájí rebuild na jeden z disků hot spare. Přitom skupina FlexiRemap®, nacházející se ve stavu degraded, přechází do režimu „pouze pro čtení“, a všechny zápisové požadavky jsou směrovány na druhou skupinu. Tento ochranný mechanismus je určen k urychlení operace rebuild a snížení pravděpodobnosti selhání dalšího úložiště ve stejné skupině. Není tajemstvím, že během rebuildu všechna úložiště ve skupině zažívají zvýšené zatížení kvůli interferencím operací čtení, zápisu a obnovy na hot spare. Tím se zvyšuje pravděpodobnost selhání dalšího disku. A čím více zápisových operací, tím déle bude rebuild probíhat.

Po dokončení procesu obnovy a návratu skupiny FlexiRemap® do normálního stavu nastane malý nepoměr v zápisových zdrojích mezi dvěma skupinami. Proto pro jeho vyrovnání budou následující zápisové operace častěji směřovány na obnovenou skupinu (samozřejmě s ohledem na to, aby celkový výkon systému výrazně neutrpěl).
Zvýšení výkonu systémů All Flash, založených na algoritmech RAID, nad některé hodnoty (~280K IOPS@4K náhodného zápisu) se nepodaří ani při použití složitých cache systémů. Technologie FlexiRemap®, díky zcela odlišnému přístupu k organizaci úložného prostoru, nejen lehce překonává tuto bariéru, ale zároveň několikanásobně prodlužuje životnost SSD. Takže systémy mají vážné výhody oproti All Flash polí v mnoha ohledech (IOPS/$, GB/$, TCO, ROI), což je činí ideálními kandidáty na klíčové pozice v datových centrech zákazníků pro řešení náročných úloh.
Zdroj: habr.com
