RAID-Algorithmen wurden der Ăffentlichkeit bereits 1987 vorgestellt. Bis heute bleiben sie die gefragteste Technologie zum Schutz und zur Beschleunigung des Zugriffs auf Daten im Bereich der Datenspeicherung. Doch das Alter der IT-Technologie, die die 30 Jahre ĂŒberschritten hat, ist eher ein Zeichen von Altern als von Reife. Der Grund dafĂŒr ist der Fortschritt, der unaufhaltsam neue Möglichkeiten mit sich bringt. In Zeiten, in denen es praktisch keine anderen SpeichergerĂ€te als HDDs gab, ermöglichten RAID-Algorithmen eine besonders effiziente Nutzung der vorhandenen Speichermittel. Mit dem Aufkommen von SSDs hat sich die Situation jedoch grundlegend geĂ€ndert. Heute stellt RAID bei der Arbeit mit Solid-State-Laufwerken bereits eine âSchnurâ fĂŒr deren Leistung dar. Daher ist ein völlig neuer Ansatz fĂŒr die Arbeit mit SSDs erforderlich, um das volle Potenzial der Geschwindigkeitsmerkmale auszuschöpfen.

Neben den offensichtlichen Unterschieden in den Arbeitsprinzipien von HDD und SSD gibt es eine weitere wichtige Eigenschaft dieser Speichermedien: Jede Festplatte kann beliebige Daten mit einer GranularitĂ€t von einem Block (heutzutage meist 4 KB) ĂŒberschreiben. Bei SSDs hingegen stellt der ĂŒberschreibende Prozess eine deutlich kompliziertere Prozedur dar:
- Ănderungen an den Daten werden an einem neuen Ort kopiert. Dabei bleibt die GranularitĂ€t zwar gleich â es handelt sich ebenfalls um einen Block, der aus mehreren Seiten besteht und eine GröĂe von 256 KB bis 4 MB hat. Das heiĂt, wenn die gleichen 4 KB geĂ€ndert werden, mĂŒssen auch alle benachbarten Seiten, die einen Block bilden, mitkopiert werden.
- âAlteâ Blöcke werden als nicht verwendet markiert, um spĂ€ter vom âMĂŒllsammlerâ (Garbage Collector) gelöscht zu werden.

Sequentielles Schreiben/Ăberschreiben auf SSDs
Im Falle des sequentiellen Schreibens/Ăberschreibens spielt diese Funktionsweise der SSDs hinsichtlich ihrer Leistung keine groĂe Rolle, da sich die Blöcke nahe beieinander befinden und der âMĂŒllsammlerâ seine Arbeit problemlos im Hintergrund erledigt. In der Praxis, insbesondere im Enterprise-Segment, erfolgt jedoch der Zugriff auf Daten in der Regel zufĂ€llig. Diese Daten werden in beliebigen Bereichen der Speichermedien geschrieben.
Je mehr Daten auf eine SSD geschrieben werden, desto schwieriger wird es fĂŒr den âGarbage Collectorâ, da die Fragmentierung stark zunimmt. Infolgedessen kommt der Moment, an dem der Reinigungsprozess des Speichers nicht mehr âim Hintergrundâ ablĂ€uft: Die Leistung der SSD sinkt erheblich, da ein signifikanter Teil davon vom Garbage Collector beansprucht wird.

Der tatsÀchliche Speicherort der Daten auf der SSD bei alltÀglicher Nutzung
Um den Einfluss der Arbeit des âGarbage Collectorsâ in AbhĂ€ngigkeit vom Schreibmodus auf das Laufwerk zu veranschaulichen, können einfache Tests durchgefĂŒhrt werden: sequentielles und zufĂ€lliges Schreiben in 4KB-Blöcken auf ein 100GB-Laufwerk. (Quelle â Unternehmen )

Leistung beim sequentiellen Schreiben

Leistung beim zufÀlligen Schreiben
Wie aus den Tests hervorgeht, kann der Leistungsabfall mehr als das Doppelte erreichen. Und das ist nur ein einzelnes Laufwerk. Bei der Verwendung von SSDs in einer RAID-Gruppe steigt die Anzahl der SchreibvorgÀnge erheblich, dank der Arbeit mit ParitÀt.
Insgesamt gibt es aufgrund dieser Eigenschaften von SSDs einen Parameter namens SchreibverstĂ€rkung (write amplification). Dabei handelt es sich um das VerhĂ€ltnis des Volumens der auf das Laufwerk geschriebenen Daten zu dem Volumen der Daten, die tatsĂ€chlich vom Host gesendet wurden. Und fĂŒr das beliebteste RAID5 liegt dieser Faktor bei etwa 3,5.
Infolgedessen nutzen Systeme mit klassischem RAID in ihrer Basis nur etwa 10 % ihrer tatsĂ€chlichen Geschwindigkeit und skalieren bei einer Erhöhung der Anzahl der Laufwerke ĂŒber ein Dutzend hinweg nur geringfĂŒgig in der Leistung.
AuĂerdem ist zu beachten, dass ĂŒberflĂŒssige SchreibvorgĂ€nge nicht nur die Leistung der SSD verringern, sondern auch ihre nicht unbegrenzte Lebensdauer verkĂŒrzen, wodurch die Lebensdauer des Laufwerks sinkt.
, die das HerzstĂŒck aller AccelStor-Produkte bildet, wurde gerade als Alternative zu klassischen RAID-Algorithmen fĂŒr die Arbeit mit SSDs entwickelt. Die Innovationskraft der Technologie wird sowohl durch verschiedene Patente und Auszeichnungen (unter anderem auf dem Flash Memory Summit 2016) als auch durch die Ergebnisse unabhĂ€ngiger Tests (zum Beispiel SPC1) hervorgehoben.
Essenz besteht darin, alle eingehenden Schreibanfragen, insbesondere vom Typ random, in eine Reihe von Blöcken umzuwandeln, die dem Modus der sequenziellen Aufzeichnung aus Sicht des Speichermediums so Ă€hnlich wie möglich ist. Dadurch erfolgt die Aufzeichnung auf SSDs in dem fĂŒr sie komfortabelsten Modus, und die endgĂŒltige Leistung ĂŒbertrifft jede klassische RAID-Systeme.
Alle SSDs in AccelStor-Systemen werden in zwei symmetrische Gruppen FlexiRemapÂź unterteilt. Die GruppengröĂe hĂ€ngt vom Modell ab und umfasst 5-11 SpeichergerĂ€te. Zur Ausfallsicherheit innerhalb der Gruppe wird ParitĂ€t Ă€hnlich wie bei RAID5 verwendet. Beide Gruppen arbeiten zusammen, um einen gemeinsamen Speicherraum zu bilden. Daher wird die endgĂŒltige Ausfallsicherheit analog zu einem RAID50-Bereich sein, der aus zwei Gruppen besteht: Das System kann den Ausfall von bis zu zwei SSDs verkraften, jedoch nicht mehr als einer in jeder FlexiRemapÂź-Gruppe.

Alle eingehenden Schreibanfragen werden in 4-KB-Blöcke aufgeteilt, die im Round-Robin-Modus auf beide Gruppen von FlexiRemapÂź geschrieben werden. Dabei fĂŒhrt das System stĂ€ndig Buch ĂŒber die Nachfrage nach geschriebenen Blöcken und versucht, Ă€hnliche Blöcke bei Ănderungen so nah wie möglich zueinander zu schreiben. So entsteht eine virtuelle Analogie zu Tiering, wenn man es in den Begriffen von Speichersystemen ausdrĂŒckt. In diesem Fall wird die Arbeit des Garbage Collectors erheblich erleichtert: Denn ungenutzte Blöcke befinden sich stĂ€ndig in der NĂ€he.
Es ist erwĂ€hnenswert, dass im Gegensatz zu den Produkten der Wettbewerber verwenden sie nicht die FunktionalitĂ€t, eingehende Anfragen im Arbeitsspeicher des Controllers zwischenzuspeichern. Alle eingehenden Datenblöcke werden sofort auf SSDs geschrieben. Der Host erhĂ€lt eine BestĂ€tigung ĂŒber die erfolgreiche Aufzeichnung erst nach der physischen Ablage der Daten auf den Speichermedien. Im RAM werden nur die Zuordnungstabellen der Blöcke auf SSDs zur Beschleunigung des Zugriffs und zur Bestimmung, wo der nĂ€chste Datenblock geschrieben werden soll, gespeichert. SelbstverstĂ€ndlich sind zur ZuverlĂ€ssigkeit Kopien dieser Tabellen auch auf den Speichermedien vorhanden. Infolgedessen benötigen die AccelStor-Systeme keinen Cache-Schutz in Form von Batterie/Kondensator (obwohl die Möglichkeit besteht, eine Verbindung zur USV herzustellen â fĂŒr ein âsanftesâ Herunterfahren im Falle von Stromproblemen).
Durch einen solchen Ansatz bei der Datenspeicherung ist der "MĂŒllsammler" tatsĂ€chlich in der Lage, im Hintergrund zu arbeiten, ohne die Geschwindigkeit der SpeichergerĂ€te wesentlich zu beeinflussen, was es letztendlich ermöglicht, innerhalb des Systems bis zu 90 % der SSD-Leistung zu recyceln. In diesem Zusammenhang liegen die hohen IOPS-Werte der AccelStor-Systeme im Vergleich zu All Flash, die auf RAID-Algorithmen basieren.
Eine weitere wichtige Eigenschaft der Technologie FlexiRemapÂź ist die signifikante Reduzierung ĂŒberflĂŒssiger Schreiboperationen auf der SSD. Der Faktor der SchreibverstĂ€rkung (write amplification) fĂŒr AccelStor-Systeme betrĂ€gt nur 1,3, was in allgemein verstĂ€ndlicher Sprache bedeutet, dass die Lebensdauer der SpeichergerĂ€te im Vergleich zu RAID5 um mehr als das 2,5-Fache verlĂ€ngert wird!

Dank der stetigen Kontrolle des Systems ĂŒber die Richtlinien zur Datenplatzierung auf der SSD verschleiĂen alle SpeichergerĂ€te gleichmĂ€Ăig. Dieser Ansatz ermöglicht es, ihre Lebensdauer zu prognostizieren und dem Administrator rechtzeitig ein Signal ĂŒber das Erreichen der Schreibressourcen zu senden.
Es ist klar, dass SSDs ausfallen können. In diesem Fall beginnt das System sofort mit dem Rebuild auf eine der Hot-Spare-Festplatten. Dabei wechselt die Gruppe FlexiRemapÂź, die sich im Zustand "degraded" befindet, in den "Nur-Lesen"-Modus, wĂ€hrend alle Schreibanforderungen an die zweite Gruppe geleitet werden. Ein solcher Schutzmechanismus ist vorgesehen, um die Rebuild-Operation zu beschleunigen und die Wahrscheinlichkeit eines Ausfalls einer weiteren Festplatte in derselben Gruppe zu verringern. Denn es ist kein Geheimnis, dass wĂ€hrend eines Rebuilds alle Festplatten in der Gruppe aufgrund von Interferenzen zwischen Lese-, Schreib- und Wiederherstellungsoperationen auf dem Hot Spare einer erhöhten Belastung ausgesetzt sind. Dadurch steigt die Wahrscheinlichkeit, dass eine weitere Festplatte ausfĂ€llt. Je mehr Schreiboperationen durchgefĂŒhrt werden, desto lĂ€nger dauert der Rebuild.

Nach Abschluss des Wiederherstellungsprozesses und der RĂŒckkehr der FlexiRemapÂź-Gruppe in den Normalzustand entsteht eine kleine Ungleichheit in den Schreibressourcen zwischen den beiden Gruppen. Daher werden die nachfolgenden Schreiboperationen hĂ€ufiger der wiederhergestellten Gruppe zugeordnet (natĂŒrlich so kalkuliert, dass die Gesamtleistung des Systems nicht stark leidet).
Die Leistungssteigerung von All-Flash-Systemen, die auf RAID-Algorithmen basieren, ĂŒber bestimmte Werte (~280K IOPS@4K zufĂ€lliger Schreibvorgang) hinaus ist selbst bei Verwendung komplexer Cache-Systeme nicht möglich. Die Technologie FlexiRemapÂź, dank eines völlig anderen Ansatzes zur Organisation des Speicherraums, ĂŒberwindet nicht nur diese Barriere mĂŒhelos, sondern verlĂ€ngert auch die Lebensdauer von SSDs um ein Vielfaches. Somit bieten Systeme ernsthafte Vorteile unter All-Flash-Arrays in vielen Bereichen (IOPS/$, GB/$, TCO, ROI), wodurch sie ideale Kandidaten fĂŒr SchlĂŒsselpositionen in den Rechenzentren der Kunden zur Lösung ressourcenintensiver Aufgaben werden.
Quelle: habr.com
