StorageReview.com

Medienverwaltung in Solid-State-Laufwerken: Mehrstufige Schreibvorgänge

Unternehmen  ◇  Tragbarer Speicher  ◇  SSD

Zwischen 2010 und 2015 prognostiziert IDC, dass die Auslieferungen von Solid-State-Laufwerken weltweit um durchschnittlich 52 Prozent pro Jahr steigen werden. Der entsprechende Anstieg bei der Akzeptanz von Unternehmensservern und -speichern bedeutet, dass ein tieferes Verständnis kritischer Komponenten wie der Medienverwaltung und der Verwendung neuer Laufwerke im Vergleich zu gebrauchten Laufwerken Administratoren dabei helfen kann, Speicherressourcen besser zu verwalten.

SSDs scheinen herkömmlichen rotierenden Festplatten sehr ähnlich zu sein, doch die Ähnlichkeit ist nur oberflächlich. Eine Untersuchung der internen Abläufe einer SSD zeigt, dass SSDs tatsächlich nur sehr wenig mit älteren Laufwerken gemeinsam haben. Ein wichtiges Beispiel ist der Unterschied in der Art und Weise, wie jeder Laufwerkstyp vorhandene Daten überschreibt – rotierende Laufwerke überschreiben in einem einzigen Schritt, während NAND-Flash-basierte SSDs zusätzliche Schritte erfordern. In diesem Kurzbericht wird der „mehrstufige Schreibprozess“ für SSDs untersucht.

Hintergrund: Die Grundlagen des SSD-Designs

Das erste, was Sie darüber verstehen müssen, wie SSDs Daten überschreiben, ist, wie SSDs aufgebaut sind. Jede SSD verfügt über die folgenden Grundkomponenten:

  • Host-Schnittstelle
  • Leiterplatte
  • NAND-Controller
  • NAND-

Unterschiede im Schreibprozess

Das Datum schreibt anders auf NAND als auf eine rotierende Festplatte – NAND, das Daten (ob gültig oder ungültig) enthält, muss zuerst gelöscht werden; Erst dann können neue Daten darauf geschrieben werden. Kurz gesagt: Beim Löschvorgang wird zunächst ein ganzer Block gelöscht. Nur dann können auf die Seiten in diesem Block neue Daten geschrieben werden.

Da NAND, das bereits Daten enthält, gelöscht werden muss, bevor neue Daten darauf geschrieben werden können, unterscheidet sich die Schreibsequenz für ein Gerät, das voll ist (keine leeren/gelöschten Seiten hat), stark von der eines Geräts, das leer ist (bzw verfügt über genügend leere/gelöschte Seiten, um den eingehenden Schreibverkehr zu absorbieren).

Leere/gelöschte Seiten verfügbar

Angenommen, wir könnten sicherstellen, dass wir jederzeit leere/gelöschte Seiten bereithalten. Wenn der Schreibvorgang in die SSD eingeht, würde der Prozessablauf dem eines rotierenden Laufwerks ähneln:

  1. Daten kommen von der Host-Schnittstelle in die SSD, was zu einer Schreibanforderung führt (die schließlich auf das NAND geschrieben wird).
  2. „Gibt es leere/gelöschte Seiten“ (d. h. Seiten, die zum Schreiben bereit sind)? In Abbildung 1 sind leere/gelöschte Seiten verfügbar.
  3. Schreiben Sie die Daten auf die verfügbaren Seiten.

Dieser Schreibvorgang erfolgt wie rotierende Laufwerke in einem einzigen Schritt. Normalerweise ist dies viel schneller als das Schreiben auf eine SSD ohne leere/gelöschte Seiten (wie in Abbildung 2 dargestellt).


 

Es sind nicht genügend leere/gelöschte Seiten verfügbar

Angenommen, wir haben eine SSD mit nicht genügend leeren/gelöschten Seiten. Wenn neue Daten auf die SSD geschrieben werden, müssen die Zellen unmittelbar vor dem Schreibvorgang gelöscht werden:

  1. Daten kommen von der Host-Schnittstelle in die SSD, was zu einer Schreibanforderung führt (die schließlich auf das NAND geschrieben wird).
  2. „Sind genügend leere/gelöschte Seiten vorhanden“ (d. h. Seiten, die beschreibbar sind)? In Abbildung 2 sind nicht genügend leere/gelöschte Seiten verfügbar.
  3. Suchen Sie einen Block, dessen Daten ungültig gemacht wurden oder dessen gültige Daten verschoben werden können, was ihn zu einem guten Löschkandidaten macht, und rufen Sie dann die Garbage-Collection-Routine auf (siehe den folgenden Abschnitt „Neue Laufwerke im Vergleich zu gebrauchten Laufwerken“), um diesen Block zum Löschen zu aktivieren .
  4. Löschen Sie diesen Block. (Wiederholen Sie diesen Vorgang nach Bedarf, um die Daten in der Schreibanforderung zu speichern.)
  5. Schreiben Sie die Daten auf die neu gelöschten/leeren Seiten.

Der Abschluss von Schritt 4 kann langsam sein, da das Löschen von NAND viel länger dauert als das Schreiben darauf – jeder NAND-Löschzyklus ist „langsam“ (normalerweise dauert das Schreiben in eine MLC-Zelle 250 Mikrosekunden [µs], das Löschen jedoch 1500 µs).

Neue Laufwerke im Vergleich zu gebrauchten Laufwerken

Wenn Sie eine brandneue SSD verwenden, läuft der Schreibvorgang genauso ab wie in Abbildung 1. Eine neue SSD ist leer; Alle Seiten sind leer und bereit, neue Daten zu empfangen, sodass der Löschschritt beim Schreiben von Daten selten durchgeführt wird. Wenn das Laufwerk jedoch voll ist, nimmt die Anzahl dieser leeren/gelöschten Seiten ab und wird schließlich verbraucht.

Bei SSDs gibt es einen Hintergrundprozess, der Seiten, deren Daten ungültig gemacht wurden, freigibt und sie so zu guten Kandidaten für die Löschung macht. Dieser Hintergrundprozess wird „Garbage Collection“ genannt.

Fazit

Wenn eine NAND-basierte SSD voll ist, ist das Schreiben neuer Daten darauf ein ganz anderer Vorgang als das Schreiben auf eine leere SSD. Wenn das Laufwerk leer ist, ähnelt der Schreibvorgang stark rotierenden Laufwerken. Wenn die SSD jedoch bereits Daten enthält, sind zusätzliche Schritte erforderlich:

  1. Die SSD muss feststellen, ob ausreichend freier Speicherplatz zur Aufnahme der Daten vorhanden ist.
  2. Wenn nicht, ruft es seine Garbage-Collection-Routine auf, um gültige Daten zu gruppieren und zu verschieben, sodass ein ganzer Block gelöscht werden kann (damit die Seiten im Block neue Daten empfangen können).
  3. Der Block wird gelöscht.
  4. Die Daten werden geschrieben.

Diese zusätzlichen Schritte werden alle vom SSD-Controller ohne Eingreifen des Hosts verarbeitet, führen jedoch zu Leistungsschwankungen.

Weitere Informationen finden Sie im Whitepaper „ SSD Performance States “ auf Micron.com.

Doug Rollin (Leitender Anwendungsingenieur, Enterprise Solid State Drives, Micron Technology)
Doug Rollins kam 2009 als Anwendungsingenieur bei der Enterprise SSD Products-Gruppe zu Micron. Bevor er zu Micron kam, arbeitete Herr Rollins 17 Jahre lang in den Bereichen Serversystem, Netzwerk-Appliance und Speicherplattform-/Datenschutzdesign und -herstellung sowie Solid-State-Speicher. Herr Rollins ist der namentlich genannte Erfinder von 13 US-Patenten und wurde sowohl von der Storage Networking Industry Association (SNIA) als auch von der Intel Corporation für herausragende technische Leistungen ausgezeichnet. Herr Rollins erwarb seinen BA-Abschluss in Mathematik an der Humboldt State University.
 

Besprechen Sie diese Geschichte

Beteiligen Sie sich an StorageReview

Newsletter | YouTube | Podcast (iTunes / Spotify) | Instagram | Twitter | TikTok | RSS-Feed

Gastautor