ZNS SSD: Eigenschaften und Verwendung dieses Speicherformats

ZNS SSDs werden in kürzester Zeit Realität. Sie sind keine andere Art von Hardware, unterscheiden sich jedoch in der Art und Weise, wie sie auf die Daten auf NAND-Flash-Speicherchips zugreifen und eine optimierte Methode für die Verwendung von NAND-Flash-Speicher verwenden. Es handelt sich also um Änderungen des jeweils integrierten Flash-Controllers SSD.

Der SSD-ZNS-Standard wurde als Standard innerhalb von NVMe genehmigt und ist Teil von Version 2.0 desselben. Dies beinhaltet wesentliche Änderungen in der Art und Weise, wie Sie auf die darin gespeicherten Daten zugreifen und sie organisieren. Bisher wurde auf die SSD wie auf eine herkömmliche Festplatte zugegriffen, was für diese Art von Speicher nicht die beste Methode ist.

ZNS-SSD

Was ist eine SSD?

Eine herkömmliche SSD auf Hardwareebene ist ein Satz nichtflüchtiger RAM Speicher, insbesondere NAND-Flash-Speicher, die mit einem Flash-Controller verbunden sind, der wie ein normaler Speicher-Controller funktioniert und für die Verwaltung von Zugriffsanfragen auf den von Ihnen angeschlossenen Speicher verantwortlich ist.

Bisher haben SSDs ihre Daten wie eine herkömmliche Festplatte verwaltet, was in Bezug auf ihre Lebensdauer und die Nutzung ihrer Fähigkeiten nicht sehr effizient ist. Der Grund dafür ist, dass der NAND-Flash-Speicher, obwohl er nicht wie eine Festplatte flüchtig ist, in Bezug auf den Datenzugriff eher dem RAM ähnelt. Was macht es besser, eine neue Art des Zugriffs auf diese Art von Speicher zu wählen, die fortschrittlicher und daher ihren Fähigkeiten entspricht?

Das ZNS hat genau diese Form, lassen Sie uns nun seine Eigenschaften sehen.

Was ist eine ZNS-SSD?

ZNS-Controller

Was bedeutet ZNS zunächst? Nun, sie sind die Abkürzung für Zoned NameSpaces. Dies ist eine Möglichkeit, den Speicher auf einer Festplatte zu organisieren, und daher sprechen wir über die Art und Weise, wie Daten auf der SSD gespeichert werden. Bei Festplatten werden die Informationen in Seiten organisiert, die in Tabellen und letztere in Verzeichnissen gespeichert werden. Das Paging-System wird verwendet, um die Daten auf einer herkömmlichen Festplatte zu organisieren, auf der jede Seite einen festen und spezifischen Platz hat.

Auf der anderen Seite wird bei einer ZNS-SSD der Speicherplatz in Zonen unterschiedlicher Größe unterteilt. Das Ziel ist, dass, wenn die CPU, der GPU oder irgendein anderes Element muss die Daten in den Speicher schreiben, anstatt auf eine virtuelle Speicheradresse zu zeigen, was es tut, ist auf diesen Bereich zu zeigen. Welche wird vorher in Bezug auf die Größe definiert worden sein. Was ist sein Betrieb? Ganz einfach, jedes Mal, wenn Sie in den Flash-Speicher schreiben möchten, wird der dieser Zone zugewiesene Namespace aufgerufen. Der Flash-Controller schreibt dann die Daten in diese Zone und nicht außerhalb. Es wird dies auch sequentiell tun, um keine Toträume auf der Festplatte zu hinterlassen und ihre Verwendung zu optimieren.

SSD-ZNS

Mit dieser Technik wird erreicht, dass der Flash-Speichercontroller keine Schreibvorgänge auf zufällige Speicheradressen verarbeiten muss und die Platznutzung auf der SSD optimiert wird. Die CPU reserviert lediglich einen abgegrenzten Teil des Speichers als Bereich zum Speichern der Daten. Wenn Sie auf diese Zone zugreifen müssen, teilt der PC dem Flash-Speichercontroller mit, dass er auf die Daten in dieser speziellen Zone zugreifen möchte, indem er diesen speziellen Namespace aufruft.

ZNS SSDs verwenden das, was wir logische Blockadressierung nennen. Jede einzelne der Zonen besteht aus logischen Blöcken oder LBAs. Jede Zone kann eine beliebige Anzahl logischer Blöcke zum Speichern von Daten haben, sie muss jedoch mindestens 2 groß sein. Wenn die Daten eines logischen Blocks oder der LBA geschrieben wurden, werden die Informationen des nächsten sequentiell ausgefüllt.

Der Hauptvorteil besteht darin, dass keine Toträume auf der SSD entstehen, indem nicht immer mehr Speicher als notwendig reserviert wird. Dies macht die Schreibzyklen deutlich kürzer und ermöglicht es uns auch, die Latenz beim Zugriff auf die Daten einfacher vorherzusagen, da sie sequentiell organisiert sind, anstatt sie durch das Gerät zu verteilen.

Zustandsmaschine auf einer ZNS-SSD und Befehle

Máquina Estado ZNS

Um die Zones NameSpaces zu unterstützen, muss der Flash-Speichercontroller in der Lage sein, eine Reihe von Anweisungen auszuführen, um die Informationen richtig zu verarbeiten und auf die SSD zuzugreifen. Aus diesem Grund werden eine Reihe von endlichen Zustandsautomaten verwendet, um die Informationen auf der SSD zu steuern. Finite-State-Maschinen sind mikroverdrahteter Code in der Hardware, in diesem Fall dem Flash-Controller, der anhand von Eingabeinformationen vorgibt, wie er mit diesem Bereich des Flash-Speichers arbeiten soll.

  • Leer: Daten können geschrieben werden, wenn nichts vorhanden ist. Wenn ein Lesevorgang durchgeführt wird, werden die vom Hersteller vordefinierten Daten zurückgegeben. Meistens Müll. Eine Zone kann durch den Reset-Befehl komplett gelöscht werden, dies zerstört die Organisation der verschiedenen Zonen.
  • Voll: Die Zone ist voller Daten und kann keine weiteren Informationen speichern, sie kann jedoch nur zum Lesen verwendet werden.
  • Öffnen: ermöglicht das Lesen und Schreiben der Daten in der aktuell aktiven LBA der Zone. Jede Zone kann entweder implizit geöffnet oder explizit geöffnet sein. Der erste bezieht sich auf die Tatsache, dass wir es öffnen können, indem wir den Befehl Öffnen des Flash-Controllers aufrufen. Der explizite Modus hat stattdessen dieselbe Funktion, jedoch von der Anwendung selbst.
  • Abgeschlossen: Wenn eine Zone geschlossen ist, akzeptiert sie nur Lesebefehle und lässt keine Eingabe neuer Daten zu.
  • Fertig: löscht die Daten nicht, sondern markiert die Zone als abgeschlossen. Unabhängig davon, ob ursprünglich mehr Speicher für die Speicherung in Form mehrerer LBAs zugewiesen wurde, können in dieser Zone keine Daten mehr gespeichert werden.

Am Anfang jeder Zone platziert der Flash-Controller ein Etikett, das Sie an den Status dieser Zone im Speicher erinnert.