Technik: Flash-Storage Was macht Flash-Speicher richtig schnell?

Von Anna Kobylinska und Filipe Pereira Martins*

Flash gilt als der Hoffnungsträger für performante Storage-Systeme. Doch die leistungsstärksten Flash-Arrays können erst mit SCM (Storage Class Memory) ihre wahren Stärken ausspielen. Aber wie sieht beispielsweise das „Innenleben“ einer Flash-Speicherzelle aus?

Flash-Storage punktet im Verbund mit NVMe nicht zuletzt durch hohe Datengeschwindigkeiten.(Bild:  spainter_vfx - stock.adobe.com)
Flash-Storage punktet im Verbund mit NVMe nicht zuletzt durch hohe Datengeschwindigkeiten.
(Bild: spainter_vfx - stock.adobe.com)

Flash aka Flash-EEPROM ist ein elektrisch löschbarer Festwertspeicher (kurz EEPROM, Electrically Erasable Programmable Read-Only Memory), also ein nichtflüchtiges Computerspeichermedium, welches sich wiederbeschreiben lässt, ein sogenanntes NVM (Non-Volatile Memory).

Flash speichert Informationen (Bits) als elektrische Ladungen auf einem Floating-Gate oder in einem Charge-Trapping-Speicherelement eines sogenannten MISFETS (Metal Isolator Solid State Field Effect Transistor) – dauerhaft und ohne Erhaltungsenergieverbrauch. Die Aufbewahrung bereits gesicherter Daten bedarf also keiner weiteren Energiezufuhr mehr – anders als im Falle von flüchtigem (Arbeits-)Speicher.

Bildergalerie

Zu den Besonderheiten von Flash zählt die Notwendigkeit einer Löschoperation zum Wiederbeschreiben zuvor genutzter Speicherzellen. Dieser Vorgang ist im Vergleich zu einem Lesezugriff sehr energieintensiv.

Das „Innenleben“ einer Flash-Speicherzelle

Ein Floating-Gate-Transistor besteht aus zwei Gates: einem Floating-Gate und einem Steuer-Gate. Das Floating-Gate ist vom Rest der Transistorstruktur isoliert und besteht normalerweise aus Polysilizium. Das Steuer-Gate ist ein ganz „gewöhnliches“ Transistor-Gate. Das Beschreiben der Speicherzelle erfolgt durch das Anlegen eines Impulses an das Steuer-Gate, wodurch Elektronen in das Floating-Gate hinein (oder aus ihm heraus) durch Tunneling migrieren. Die Anwesenheit (oder Abwesenheit) von Ladungen modifiziert die Schwellenspannung des Transistors, eine Verschiebung, die als Speicherfenster bezeichnet wird. Die Information ist somit in der Schwellenspannung des Floating-Gate-Transistors kodiert, und das Auslesen erfolgt durch die Messung des Ableitstroms. Die im isolierten Gate gespeicherten Ladungen bleiben über lange Zeiträume hinweg unverändert, was dem Speicher eben seinen nichtflüchtigen Charakter verleiht.

Bei einer Ladungsfalle ist die Sperrschicht ein Isolator (in der Regel Siliziumnitrid), der elektrostatische Interferenzen zwischen benachbarten Zellen reduziert. Diese Ladungsfallenzelle ist heute die Grundlage der meisten 3D-NAND-Strukturen.

Zum Beschreiben von Flash müssen ortsfest gehaltene elektrische Ladungen in völliger elektrischer Isolation von anderen Teilen geändert werden. Diese Änderung des Ladungszustands ist durch den quantenmechanischen Tunneleffekt möglich (den sogenannten Fowler-Nordheim-Tunneleffekt): Er lässt Elektronen die hohe Potentialbarriere des Nichtleiters der Isolationsschicht passieren.

Speicherzellen sind der Mittelpunkt vieler aktueller Forschungsbemühungen weltweit. Der Fowler-Nordheim-Tunneleffekt in siliziumbasierten NVMs erzwingt einen Kompromiss zwischen den Eigenschaften Zugriffsgeschwindigkeit, Dauerhaftigkeit und Belastbarkeit. GaN-on-Si-Technologie könnte dieses „Trilemma“ überwinden, haben unter anderem Forscher der HKUST-Universität in Hong Kong nachgewiesen.

Die Flash-Technologie entwickelt sich auf allen Ebenen der Speicherarchitektur rasant weiter. Den Typ eines Flash-Moduls bestimmt nicht vorrangig die Fertigungstechnologie, sondern die Art der Verschaltung von Flash-Speicherzellen. Den Markt dominieren derzeit zwei alternative Architekturen: NAND und NOR.

Speicherzellenverschaltung: NOR versus NAND

Die Art der Verschaltung von Speicherzellen – NAND oder NOR – legt die Eckdaten der resultierenden Flash-Module unter anderem im Hinblick auf die erzielbaren Kapazitäten, Zugriffszeiten, Fertigungskosten und die Lebensdauer fest.

Die Speicherzellenverschaltung bei NOR-Flash ähnelt dem Aufbau eines NOR-Gates in einem Halbleiter. Das eine Ende jeder Speicherzelle ist mit der Source-Leitung, das andere direkt mit einer Bitleitung verbunden. Diese parallele Verschaltung ermöglicht einen wahlfreien Zugriff auf Daten und minimiert dadurch die Latenz bei Lesezugriffen (im Vergleich zu NAND-Flash), aber sie erhöht die Fertigungskosten. Der Verzicht auf gemeinsame Komponenten reduziert zugleich die Speicherdichte und damit die Kapazität.

Bei NAND-Flash sind mehrere Speicherzellen (in der Regel acht) in Reihe geschaltet, was an ein NAND-Gate erinnert. Zur Maximierung der Speicherdichte teilt sich eine ganze Gruppe von Speicherzellen eine gemeinsame Datenleitung. Aus diesem Grunde können Lese- und Schreibvorgänge auf einzelne Speicherzellen nicht wahlfrei erfolgen, sondern müssen stattdessen blockweise stattfinden – ähnlich wie bei Festplatten. NAND-Speicher spielt daher seine Stärken vorrangig bei Schreibvorgängen aus. Zu den Vorteilen zählen höhere Storage-Kapazitäten und geringere Kosten des Speichers; die Zugriffszeiten treten in den Hintergrund.

Wissen, was läuft

Täglich die wichtigsten Infos aus dem ITK-Markt

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Die Anzahl von Bits, die eine NAND-Zelle erfassen kann, bestimmt den Typ von NAND-Speicher und seine technischen Eigenschaften. Gängige Typen umfassen SLC, MLC, TLC und QLC. Sie unterscheiden sich durch die Kosten, Kapazität und Lebensdauer (also die Anzahl der Programm-/Löschzyklen, die eine Flash-Zelle durchlaufen kann).

Die beliebteste Architektur für die Anordnung von Speicherzellen in NAND-Modulen ist TLC-Flash (Triple-Level-Cell). Diese Architektur nutzt acht Spannungsebenen, um drei Bits pro Zelle zu speichern. TLC punktet insbesondere bei schreiblastigen Workloads.

Leseintensive Workloads lassen sich mit QLC-Flash (Quad-Level-Cell) effizienter adressieren. Diese Architektur verwendet 16 Spannungsebenen, um vier Bits pro Zelle zu speichern, erfordert aber eine fortgeschrittene Fehlerkorrektur und andere erweiterte Features wie Abnutzungsausgleich (Wear-Levelling) und Overprovisioning.

Den Flash-Markt dominierten eine Zeit lang NAND-Speicherzellen, ursprünglich auf der Basis von Floating-Gate-Transistoren in einer planar angeordneten Konfiguration. Eine bemerkenswerte Innovation war das Ersetzen der Floating-Gate-Zelle durch eine Ladungsfalle, die einen vereinfachten Prozessablauf ermöglicht.

Einen viel versprechenden Ansatz zur Steigerung der Bitspeicherdichte stellt 3D-NAND dar. Der Grundgedanke besteht darin, Speicherzellen vertikal zu stapeln, um eine höhere Dichte pro Flächeneinheit zu erzielen, um die Kapazität zu steigern und die Kosten niedrig zu halten.

3D-NAND zeichnet sich im Allgemeinen durch höhere Fertigungskosten als 2D-NAND (englisch planar NAND) aus, kann jedoch mit einer höheren Speicherdichte auftrumpfen. Anbieter wie Micron sind inzwischen bei 176 Layer starkem 3D-NAND angekommen. SK Hynix liefert seinen 176-lagigen, 512 Gigabit starken TLC-Flash (Triple-Level-Cell) an Hersteller von SSD-Controllern unter dem Codenamen „4D NAND“ bereits seit Ende des Jahres 2020 aus.

Bei einer SSD (Solid State Drive) handelt es sich um ein Bauelement, welches Speichermodule für die Nutzung einer gemeinsamen Systemschnittstelle organisiert. Eine SSD ist im Grunde genommen ein Laufwerk, das zur Datenspeicherung Halbleitermodule nutzt und ohne bewegliche mechanische Bauteile auskommt. Flash ist das meistverbreitete Storage-Medium, das modernen SSDs zu Grunde liegt.

Bildergalerie

Storage-Bauteile der Arbeitsspeicherklasse

Die Latenz einer Speicherzelle ist ein Maßstab für die Wartezeit der CPU auf die Daten, die sie zuvor angefordert hatte; die Latenz variiert in Abhängigkeit von Größen wie der Art der Anwendung oder dem Anwendungsfall sowie Prozessor- und Speicherarchitektur. Um die Latenz beim Zugriff auf Flash-Speicher zu verkürzen, haben führende Anbieter von Flash-Arrays ihren Systemen einen Turbo-Booster spendiert: nichtflüchtigen Speicher, der schneller ist als Flash, nämlich SCM (Storage Class Memory).

Im Allgemeinen trumpft DRAM mit einer Latenzzeit im Bereich von 15 bis 100 Nanosekunden, während NAND eine Latenzzeit von 80 bis 120 Mikrosekunden aufweist. SCM schließt die Lücke zwischen den beiden Messwerten.

Bei Storage Class Memory handelt es sich um persistenten datenspeicherungsfähigen Arbeitsspeicher, der an die Arbeitsgeschwindigkeit von DRAM herankommt, aber Daten auch bei Stromausfall beibehalten kann.

Storage Class Memory (SCM) verbindet typischerweise NAND-Flash-Module zur Gewährleistung von Datenpersistenz mit dynamischem Direktzugriffsspeicher (DRAM) als Turbo-Booster und einer Stromquelle. SCM behandelt NVM wie DRAM: Es fügt ihn dem Arbeitsspeicher eines Systems zu.

SCM umfasst Storage-Technologien wie 3D XPoint von Intel und Micron Technology, RRAM/ReRAM (Resistive RAM) von Fujitsu und Crossbar, MRAM (Magnetoresistive RAM) und STT-MRAM (Spin-transfer torque MRAM) von Everspin Technologies sowie NRAM (Nanotube RAM) von Nantero. Einige dieser Technologien, allen voran Intel Optane, fanden bereits ihren Weg in hochperformante All-Flash-Arrays führender Anbieter, viele andere stecken jedoch noch in den Kinderschuhen.

Einige Architekturen von SCM (im Speziellen, genauso wie jene von nichtflüchtigem latenzoptimierten Speicher im Allgemeinen) können es mittlerweile im Hinblick auf die Latenz sogar mit DRAM im direkten Vergleich aufnehmen. In diese Kategorie fällt unter anderem MRAM (Magnetoresistive Random-Access Memory). Andere Technologien bringen es auf eine Latenzzeit, die zwar jene von DRAM überschreitet, aber dennoch Flash-basierte SSDs um Längen schlägt. Dazu zählen Technologien wie PCM (Phase Change Memory) und ReRAM (Resistive Random-Access Memory).

Geschwindigkeit ist Trumpf mit NVMe

Die ersten Flash-basierten Storage-Geräte nutzten SATA (Serial Advanced Technology Attachment) auf der Basis von AHCI (Advanced Host Controller Interface) oder SAS (Serial-Attached SCSI aka Small Computer System Interface). Diese Standards wurden auf die Anforderungen von HDDs zugeschnitten und mit Rücksicht auf Eigenschaften wie die Rotationsverzögerung, Kopfsuchzeiten und dergleichen andere Besonderheiten mechanischer Laufwerke entwickelt. Wer die Vorteile von Flash-Storage ausreizen will, muss den Ballast dieser Altlasten abwerfen.

Anstelle althergebrachter Datentransferprotokolle wie SAS und SATA tritt NVM Express (Non-Volatile Memory Express oder NVMe, alternative Bezeichnung: NVM Host Controller Interface Specification) im Zusammenspiel mit der hochperformanten Übertragungsschnittstelle PCIe 4.0 auf den Plan. Die aktuelle Version von NVMe trägt die Bezeichnung 2.0b (Revision vom 6. Januar 2022).

Die NVMe-Spezifikation definiert, wie Host-Software und -Hardware mit nichtflüchtigem Speicher über einen PCI-Express-Bus (PCIe, kurz für Peripheral Component Interconnector Express) zu kommunizieren hat.

NVMe reduziert den CPU-Overhead und strafft die Abläufe, was die Latenzzeit senkt sowie die IOPS (Input/Output Operations per Second) und den Durchsatz erhöht.

Sowohl SAS als auch SATA (ACHI) können nur jeweils eine einzige Warteschlange handhaben. Während SAS gerade einmal 254 Befehle und SATA (AHCI) 32 Befehle pro Warteschlange verarbeiten können und jeweils auf eine einzige Warteschlange beschränkt sind, kann NVMe eine Warteschlangentiefe von bis zu 65K handhaben. Das sind 65K-Warteschlangen mit jeweils bis zu 65K Befehlen. Hinzu kommt ja auch noch die geringere Latenz.

Die Vorzüge von NVMe gegenüber Altlasten lassen sich wie folgt auf den Punkt bringen:

  • Während Advanced Host Controller Interface (AHCI) mit dem SAS/SATA-Controller kommunizieren muss, kommuniziert NVMe direkt mit der Host-CPU.
  • NVMe kann parallele Ein-/Ausgabevorgänge (E/A) mit Multicore-Prozessoren durchführen, um den Durchsatz zu maximieren.
  • NVMe unterstützt mehr Befehlswarteschlangen (64.000 gegenüber 1) und kann mehr Befehle pro Warteschlange als AHCI senden (64.000 gegenüber 32).
  • Im Gegensatz zu AHCI beansprucht NVMe nur sehr wenige CPU-Zyklen.
  • NVMe-Operationen haben eine Latenzzeit von 2,8 Mikrosekunden gegenüber 6 Mikrosekunden bei AHCI.
  • NVMe unterstützt SSDs mit verschiedenen Arten von nichtflüchtigem Speicher (NVM), einschließlich NAND-Flash und 3D-XPoint-Technologie, die von Intel und Micron entwickelt wurde, um die Leistungsmerkmale von DRAM auf NVM zu übertragen.

NVMe kann übrigens über 1 Million I/O-Operationen pro Sekunde (IOPS) durchführen.

Als Resultat dieser vielen Verbesserungen bieten NVMe-SSDs Schreibgeschwindigkeiten von bis 7.000 MB/s. Sie sind also bis zu zwölfmal schneller als SATA-SSDs und bis zu 70-mal schneller als HDDs.

In aller Form: NVMe-SSDs

NVMe-SSDs (Solid State Drives) kommen in verschiedenen Baugrößen daher; der eine Formfaktor eignet sich besser zum Booten, der andere zum Maximieren der Leistung, der Kapazität oder der Systemdichte. NVMe ist der aktuelle Industriestandard für PCIe-SSDs in allen Formfaktoren: U.2 (alte Bezeichnung: SFF-8639), M.2, AIC und EDSFF (E1.S und E1.L).

Mit EDSFF (Enterprise & Data Center SSD Form Factor) ist ein neuer Formfaktor für Storage-Geräte der Enterprise-Klasse entstanden, welcher Einschränkungen der bestehenden Schnittstellen in Rechenzentren überwinden soll. Zu den besonderen Highlights zählen die kompakte Bauweise und die Hot-plug-Fähigkeiten von EDSFF-SSDs.

EDSFF kommt derzeit in einer von zwei Ausführungen daher: E1.S und E1.L. Der E1.S nutzt eine x4-Schnittstelle und ist für den vertikalen Einbau in ein 1HE-Gehäuse konzipiert. Der E1.L nutzt maximal eine x8-Schnittstelle und passt vertikal in ein 1U-Gehäuse; er ist etwa dreimal so lang wie ein E1.S.

Bei dem M.2-Formfaktor (früher bekannt als Next Generation Form Factor oder NGFF) handelt es sich um eine modernere Art einer intern montierten Erweiterungskarte, die den vorherigen mSATA-Standard (Mini-SATA) ersetzt. Im Gegensatz zu Standard-HDDs und -SSDs werden M.2-Laufwerke nicht über ein Kabel mit dem Motherboard verbunden, sondern in einen speziellen M.2-Steckplatz direkt auf dem Board hineingesteckt.

NVMe-SSDs nutzen die PCIe-Schnittstelle. Der NVMe-Standard ist aber nicht auf die bloße Verbindung von Direct Attached Storage (kurz: DAS) beschränkt, sondern kann auch Speichergeräte via Netzwerk ansteuern. Hierbei ist von dem sogenannten NVMe over Fabrics (kurz: NVMe oF) die Rede.

Bildergalerie

NVMe oF

Die Protokollspezifikation NVMe oF erweitert die spektakuläre Leistung von NVMe von den Speicher-Array-Controllern auf das Netzwerkgewebe und macht sich hierzu RDMA (Remote Direct Memory Access), Fibre Channel (FC-NVMe, NVMe over FC) oder TCP zunutze.

Anstelle des von NVMe verwendeten PCIe-Busses macht sich NVMe oF ein alternatives Datentransportprotokoll über Fabrics als Transport-Mapping zunutze. Fabrics basieren auf dem Konzept der Nachrichtenübertragung zwischen einem Sender und einem Empfänger ohne gemeinsam genutzten Speicher zwischen den Endpunkten. Die NVMe-Befehle und -Antworten wandern über das Gewebe verkapselt als Nachrichten.

Mit NVMe over Fabrics (NVMe oF) lassen sich herkömmliche Netzwerkinfrastrukturen in Rechenzentren in skalierbare Storage-Fabrics umwandeln, welche die Leistung von NVMe-basierten DAS-Geräten mit der Effizienz gemeinsam genutzter Speicherinfrastrukturen verbinden.

Zu den typischen RDMA-Implementierungen gehören RDMA over Converged Ethernet (RoCE), InfiniBand, iWARP, Omni-Path und die Virtual Interface Architecture. Unter den RDMA-Protokollen besticht RoCE – eine neue Art von SAN – durch besondere Vorteile.

Das Akronym RoCE (Aussprache wie rocky) steht für RDMA (Remote Direct Memory Access) over Converged Ethernet (also Ethernet mit den sogenannten Data Center Bridging Enhancements, DCB). RoCE ist ein Standardprotokoll unter der Aufsicht der InfiniBand Trade Association. Es hat die Aufgabe, einen direkten Zugriff auf den Arbeitsspeicher eines entfernten Systems zu ermöglichen. Hierzu verkapselt es InfiniBand-Transportpakete via Ethernet und überträgt sie mittels UDP. Anstatt wertvolle CPU-Zyklen mit dem Koordinieren der Netzwerkkommunikation zu verschwenden, leitet RDMA die benötigten Daten direkt zwischen verschiedenen Speicherbereichen der verteilten Anwendung weiter.

*Das Autorenduo Anna Kobylinska und Filipe Pereira Martins arbeitet für McKinley Denali Inc. (USA).

(ID:48705435)