A RAID algoritmusokat 1987-ben mutatták be a nagyközönségnek. Azóta is a legkeresettebb tárolási technológia az adatvédelem és az adatokhoz való hozzáférés gyorsítása terén. Az IT technológia, amely átlépte a 30 éves határt, inkább nem érettséget, hanem már öregséget jelent. Ennek oka a fejlődés, amely folyamatosan új lehetőségeket hoz. Abban az időben, amikor gyakorlatilag nem volt más tároló, csak HDD, a RAID algoritmusok lehetővé tették a tárolási erőforrások leghatékonyabb kihasználását. Azonban az SSD megjelenésével a helyzet gyökeresen megváltozott. Ma a RAID a szilárdtest-akkumulátorokkal történő munka során már „nyakörv” a teljesítményük számára. Ezért az SSD sebességi jellemzőinek teljes potenciálja érdekében teljesen más megközelítés szükséges.

A HDD és az SSD működési elvei közötti nyilvánvaló eltérések mellett a két típusú tárolónak még egy fontos jellemzője van: bármely merevlemez bármilyen adatot újra tud írni egy blokk szintjén (jelenleg ez leggyakrabban 4 KB). Az SSD esetében azonban az újraírás folyamata sokkal bonyolultabb eljárás:
- A módosított adatokat egy új helyre másolják. A blokk mérete ugyanaz, de több oldalból áll, és mérete 256 KB — 4 MB között van. Tehát a 4 KB-os változtatás esetén az összes szomszédos oldalt is másolni kell, amelyek egy egységes blokkot alkotnak.
- A „régi” blokkokat használaton kívüliként jelölik meg, hogy később a „szemétgyűjtő” (Garbage Collector) törölje őket.

Szálcsoportos írás/újraírás SSD-n
Az SSD-k szálcsoportos írásának/újraírásának esetén ez a működési jellemző nem játszik nagy szerepet a teljesítménye szempontjából, mivel a blokkok közel helyezkednek el egymáshoz, és a „szemétgyűjtő” jól végzi a munkáját háttérben. De a valós életben, pláne az Enterprise szegmensben az SSD-k esetében gyakran véletlenszerű adatokhoz való hozzáférést alkalmaznak. Ezeket az adatokat tetszőleges helyekre írják a tárolókon.
Minél több adatot írnak SSD-re, annál nehezebb dolgozni a 'szemétgyűjtővel', mivel jelentősen megnő a fragmentáció. Ennek eredményeként elérkezik az a pillanat, amikor a tároló tisztítási folyamata már nem 'háttérfolyamat': az SSD teljesítménye jelentősen csökken, mivel ezt a teljesítményének szembetűnő részét elveszi a Garbage Collector.

Az adatok tényleges elhelyezkedése SSD-n a napi használat során
A 'szemétgyűjtő' működésének hatását a tárolóra való írási mód függvényében a legegyszerűbb tesztekkel lehet illusztrálni: szekvenciális és véletlenszerű írás 4KB blokkokban egy 100GB-os tárolóra. (Forrás – a cég )

Teljesítmény szekvenciális írás esetén

Teljesítmény véletlenszerű írás esetén
Ahogy a tesztekből látható, a teljesítmény csökkenése meghaladhatja a kétszeresét is. És ez mindössze egyetlen tárolóra vonatkozik. RAID csoport használata esetén a felülírások száma jelentősen megnő, a paritás kezelésének köszönhetően.
Egyébként, ezeknek az SSD-k működésének a sajátosságainak köszönhetően van egy olyan paraméter, mint a write amplification. Ez a tárolóra átkonvertált adatmennyiség és a gazda gép által ténylegesen elküldött adatok mennyisége közötti arány. A legnépszerűbb RAID5 esetében ez a mutató körülbelül ~3.5.
Ennek eredményeként a klasszikus RAID rendszerek alapvetően az SSD-k csak ~10%-át használják ki a valós sebességüknek, és a teljesítményük gyengén skálázódik, ha a tárolók száma tíz fölé emelkedik.
Ezenkívül érdemes megjegyezni, hogy a felesleges írási műveletek nemcsak csökkentik az SSD teljesítményét, hanem csökkentik a nem végtelen erőforrását is, így lerövidítve a tároló élettartamát.
, amely az AccelStor összes termékének alapját képezi, éppen a klasszikus RAID algoritmusok alternatívájaként lett kifejlesztve SSD-k használatakor. A technológia innovativitását különféle szabadalmak és díjak (többek között a Flash Memory Summit 2016-on) valamint független tesztek eredményei (például SPC1) is bizonyítják.
A lényeg az összes bejövő írási kérés átalakításában áll, elsősorban a random típusúak esetében, egy olyan blokksorozatra, amely a lehető legjobban hasonlít a szekvenciális írás módhoz a tároló szempontjából. Ennek eredményeként az SSD-n történő írás a számukra legkényelmesebb módban zajlik, és a végső teljesítmény meghaladja bármely klasszikus RAID rendszert.
Minden SSD az AccelStor rendszerekben két szimmetrikus FlexiRemap® csoportra oszlik. A csoportok mérete a modelltől függően 5-11 tárolót tartalmaz. A csoporton belüli hibatűrés érdekében paritás alkalmazásával működik, hasonlóan a RAID5-höz. Mindkét csoport együttműködik, közös tárolóteret alkotva. Ezért a végső hibatűrés analóg lesz egy RAID50 tömbbel, amely két csoportból áll: a rendszer képes elviselni két SSD meghibásodását, de egy csoporton belül nem több mint egyet.

Minden bejövő írási kérés 4KB-os blokkokra oszlik, amelyek round robin módban kerülnek rögzítésre mindkét FlexiRemap® csoportban. A rendszer folyamatosan nyilvántartást vezet a rögzített blokkok iránti keresletről, és igyekszik a változások során hasonló blokkokat a lehető legközelebb rögzíteni egymáshoz. Ez egy virtuális analógját képezi a tieringnek a tárolórendszerek terminológiájában. Ilyen esetben jelentősen megkönnyíti a „szemétgyűjtő” munkáját: hiszen a nem használt blokkok folyamatosan közel helyezkednek el egymáshoz.
Érdemes megjegyezni, hogy ellentétben a versenytársak termékeivel, nem használják a bejövő kérések memóriában történő gyorsítótárazásának funkcióját. Az összes bejövő adatblokk azonnal rögzítésre kerül az SSD-n. A hoszt csak a fizikai adatok tárolókra helyezése után kap visszaigazolást a sikeres írásról. A RAM csak a blokkok SSD-n való elhelyezkedésére vonatkozó táblázatokat tárolja a hozzáférés felgyorsítása és annak meghatározása érdekében, hogy hova rögzítse a következő adatblokkot. Természetesen a megbízhatóság érdekében ezeknek a táblázatoknak a másolatai is a tárolókon találhatóak. Ennek eredményeként az AccelStor rendszereknek nincs szükségük gyorsítótár védelmére akkumulátorok/kondenzátorok formájában (bár lehetőség van kapcsolatot létesíteni az UPS-sel a „puha” leállítás érdekében áramellátás problémája esetén).
Egy ilyen megközelítésnek köszönhetően a "szemétszedő" valóban képes a háttérben működni, anélkül, hogy lényeges hatással lenne a tárolók sebességére, így végső soron a rendszer keretein belül akár 90%-kal is csökkentheti az SSD teljesítményét. Ebben rejlik az AccelStor rendszerek kiemelkedő IOPS teljesítménye az All Flash háttértárakkal összehasonlítva, amelyek RAID algoritmusokra alapoznak.
A FlexiRemap® technológia további fontos jellemzője a felesleges írási műveletek jelentős csökkentése SSD-n. Az AccelStor rendszerek esetében az írási szorzó (write amplification) mindössze 1,3, ami köznyelven azt jelenti, hogy a meghajtók élettartama a RAID5-höz képest több mint 2,5-szeresre nő!

A rendszer folyamatos felügyelete miatt a SSD-k adatelhelyezési politikája alapján minden meghajtó egyenlően kopik el. Ez a megközelítés lehetővé teszi a várható élettartam előrejelzését, és előzetes figyelmeztetést küld a rendszergazdának az írási erőforrás kimerüléséről.
Egyértelmű, hogy az SSD-k meghibásodhatnak. Ilyen esetben a rendszer azonnal elkezdi a rebuild folyamatát a hot spare egyik lemezére. Ebben az esetben a degraded állapotú FlexiRemap® csoport "csak olvasásra" módba vált, és minden írási kérés a második csoporthoz kerül. Ez a védelmi mechanizmus a rebuild művelet gyorsítására és a csoporton belül egy másik meghajtó meghibásodásának valószínűségének csökkentésére lett kitalálva. Nem titok, hogy a rebuild alatt minden meghajtó a csoportban megnövekedett terhelésnek van kitéve az olvasási, írási és hot spare-re való helyreállítási műveletek interferenciája miatt. Így megnő a másik lemez meghibásodásának valószínűsége. Minél több írási művelet történik, annál hosszabb ideig tart a rebuild.

A helyreállítási folyamat befejezése után és a FlexiRemap® csoport normál állapotba való visszaállítása után kisebb eltérés léphet fel az írási erőforrásban a két csoport között. Ezért az egyensúly helyreállítása érdekében a következő írási műveletek gyakrabban a helyreállított csoportra esnek (természetesen úgy, hogy a rendszer végső teljesítménye ne szenvedjen nagyot).
Az All Flash rendszerek teljesítményének növelése, amelyek RAID-algoritmusokon alapulnak, egyes értékek (kb. 280K IOPS@4K véletlenszerű írás) felett nem lehetséges még bonyolult gyorsítórendszerek használatával sem. A FlexiRemap® technológia, a tárolókapacitás megszervezéséhez alkalmazott teljesen más megközelítés révén nemcsak, hogy könnyedén átlépi ezt a határt, hanem néhány szorosávval is növeli az SSD élettartamát. Így a rendszerek számos területen komoly előnyökkel bírnak az All Flash rendszerek között (IOPS/$, GB/$, TCO, ROI), így ideális jelöltekké válnak a megrendelők adatközpontjaiban a nagy erőforrásigényű feladatok megoldására.
Forrás: habr.com
