NVMe PCIe 5.0-Standard: Funktionen und Unterschiede zu 4.0

NVMe PCIe 5.0-Standard

Die ersten Flash-Controller für NVMe-SSDs, die PCIe 5.0 unterstützen, sind nun Realität und können erstmals Gigabyte-Laufwerke pro Sekunde im zweistelligen Bereich erreichen. Aber was sind die Vorteile der Einführung der NVMe PCIe 5.0-Technologie zu Hause und was sind die Herausforderungen?

Eine der Leistungsmaximen lautet, dass ein System nur so langsam ist, wie es der langsamste Teil davon zulässt. Um Leistung zu erzielen, versucht es daher nicht nur, die Geschwindigkeit von Komponenten wie Prozessoren und RAM, aber auch von Speichereinheiten. Dies wird durch die Übernahme der verschiedenen PCIe-Standards für NVMe-Laufwerke erreicht.

Was ist ein Flash-Controller?

Flash-NVMe-PCIe-Controller

Ein Flash-Controller ist eine Hardware, die zwischen NVMe-Speicher oder einem anderen Typ von NAND-Flash-Speicher und dem CPU or GPU der darauf zugreifen möchte. Seine Aufgabe besteht darin, virtuelle Adressen in physikalische Adressen zu übersetzen, die einen direkten Zugriff auf die NVMe-Speicherblöcke ermöglichen, aus denen die SSD Speichereinheit.

Wenn heute eine CPU oder GPU auf einen beliebigen Speicherplatz zugreift, geschieht dies unter Verwendung einer gemeinsamen Adressierung, bei der alle Speicher, auf die sie innerhalb der Hierarchie zugreifen können, vereinheitlicht werden. Die verschiedenen MMUs, die sowohl in der CPU als auch in der GPU integriert sind, sind für die Kommunikation mit den verschiedenen Speichertypen im System verantwortlich, RAM, VRAM, aber auch nichtflüchtiger RAM oder NVRAM, der der NVMe-Speicher bei SSDs ist.

Die virtuelle Adressierung unterscheidet sich jedoch von der physischen Adressierung und daher ist ein Übersetzungsprozess erforderlich, der vom Flash-Controller ausgeführt wird. Dazu verwendet er einen Speicher, aus dem er die Adressumsetzungstabellen, die Quelldaten in Form einer virtuellen Adressierung und die Zieldaten in Form einer physikalischen Adressierung speichert. Ein solcher Speicher befindet sich auf der NVMe-SSD, kann bei einem DRAM-Less-Design der System-RAM sein oder als eingebetteter Speicher in den Flash-Controller selbst eingebettet werden.

Flash-Treiber für NVMe PCIe 5.0, ein Testbericht

Marvel Bravera SC5 NVMe PCIe 5.0

Einer der ersten Flash-Controller, der PCI Express 5.0 unterstützt, ist der Marvell Bravera SC5 . Damit können Daten mit einer Bandbreite von 14 GB/s unter einem 4-Leitungs-PCI-Express-5.0-Bus übertragen werden, was eine Verdoppelung der Bandbreite bei gleicher Leitungsanzahl unter PCI-Express 4.0 bedeutet, aber keine Sättigung des Busses bedeutet in beiden Fällen, da sie 16 GB / s bzw. 7 GB / s erreichen können.

Zu berücksichtigen ist, dass ein Flash-Controller genauso funktioniert wie die Schnittstellen, die den RAM- oder VRAM-Speicher mit den CPUs und GPUs kommunizieren. Sie sind für die Verarbeitung der vom Prozessor gestellten Lese- und Schreibanforderungen verantwortlich. Und da wir heute schon mehrere Kerne in der CPU haben, ist es sehr wichtig, dass es in einem Flash-Controller viele Zugriffskanäle gibt. Die Marvell Bravera SC5 hat insgesamt 16 Kanäle, sodass bis zu 16 Single-Channel- oder 8 Dual-Channel-NAND-Flash-Chips daran angeschlossen werden können.

Kanäle sind die Anzahl der NVMe-Speicherchips, mit denen der Flash-Controller gleichzeitig kommunizieren kann. Die Low-End-NVMe-SSDs haben normalerweise 2 oder 4 Kanäle, die High-End 8-Kanäle und wir haben Sonderfälle wie die Playstation 5 SSD mit 12 Kanälen. Die Tatsache, dass der Marvell Bravera SC5 über 16 Kanäle verfügt, ermöglicht nicht nur eine große Speicherkapazität, sondern zeigt, dass es sich um einen Controller handelt, der für den Servermarkt und nicht für Heim-PCs entwickelt wurde.

Hohe Bandbreite erfordert hohe Rechenkapazität

Puente Binario

Das Verschieben von Daten von einem Speicher in einen anderen ist einer der größten Albträume, mit denen Hardware-Architekten in der gesamten Computergeschichte konfrontiert waren. Beim Bulk-Moving muss die CPU oder GPU viel Zeit damit verbringen, die entsprechenden Ausführungen dafür auszuführen. Aus diesem Grund wurden seit Anbeginn der Zeit Hardwaresysteme geschaffen, die ohne Beteiligung der Haupt-CPU Daten von einem Speicher in einen anderen übertragen und dies in viel kürzerer Zeit tun.

Die Tatsache, dass beispielsweise einer GPU über den PCI-Express-Port Zugriff auf den Speicher einer NVMe-SSD gewährt wird, bedeutet nicht, dass der Zugriff direkt erfolgen kann, ohne die Leistung zu beeinträchtigen. In Konsolen der neuen Generation wie PlayStation 5 und beiden Xbox Serie X, die Einbeziehung von NVMe-SSD-Einheiten, hat die Integration von spezialisierten Einheiten mit sich gebracht, die für die Übertragung, Komprimierung und Dekomprimierung von Daten von der SSD in den Speicher verantwortlich sind, was sowohl die CPU als auch die GPU von solchen Systemen entlasten soll solche Belastung.

Auf dem PC hingegen nur NVIDIA und AMD Grafikkarten mit Unterstützung für DirectX 12 Ultimate haben solche Einheiten. Dies führt dazu, dass Rechenleistung benötigt wird, um die Bewegung von Daten zu verwalten. Wenn die CPU oder GPU nicht schnell genug sind, um diese Verwaltung durchzuführen, wird ein Ketteneffekt erzeugt, der alle nachfolgenden Anfragen verzögert, wodurch die gesamten Daten pro Zeitbruchteil gesendet werden.

Was bringen NVMe PCIe 5.0 SSDs außer mehr Geschwindigkeit?

CXL

Da sie eine lineare Entwicklung in Bezug auf diejenigen sind, die die PCIe 4.0-Schnittstelle verwenden, können wir das eher wenig sagen, aber die Einführung von NVMe-SSDs mit PCIe 5.0 wird mit der Einführung des NVMe 2.0-Standards zusammenfallen, der eine Reihe bereitstellen wird von Vorteilen, die über die Erhöhung der Busgeschwindigkeit hinausgehen. Daher werden beide Faktoren kombiniert, um diese Art der Speicherung in naher Zukunft zu verbessern.

Wenn wir jedoch eine Verbesserung in PCIe 5.0 hervorheben müssen, insbesondere dann ist die Unterstützung von Compute Express Link oder CXL. Dies ist eine Funktion. die zunächst nur auf Servern sein wird und den Hardwarezugriff vereinfacht. Der Grund? Es ermöglicht den direkten Zugriff auf eine NVMe-SSD, ohne die IOMMU der Southbridge zu durchlaufen, reduziert die Zugriffslatenz und ermöglicht es, den Flash-Controller in der CPU, GPU oder APU selbst zu implementieren oder sogar die PCIe-CXL-Schnittstelle für den direkten Zugriff zu verwenden DIMMs, die NVMe- und DDR5-Chips zusammen integrieren.