Ich habe eine Samsung 960 Pro 512 GB SSD auf NVMe mit PCIe Gen.3x4. Ich benutze den Samsung NVMe Driver 2.0.0.1607. Die SSD läuft einwandfrei. Ich verstehe jedoch nicht, warum das Schreiben von 4k schneller ist als das Lesen von 4k. Ich benutze AS Benchmark:
Es ist ein Faktor von 3! Stimmt etwas nicht (mit meinem System oder AS Benchmark) oder ist das normal?
ssd
performance
musbach
quelle
quelle
Antworten:
Bei 4k-Lesevorgängen geht es um das Schwierigste, was das Laufwerk tun kann. Sie gehören zu den kleinsten Blockgrößen, die das Laufwerk verarbeiten kann, und das Laufwerk kann keine großen Datenmengen vorab laden. Wahrscheinlich sind sie sogar ineffizient, wenn die Load-Ahead-Logik des Laufwerks etwas lesen möchte größer als 4kb.
"Normale" Laufwerkslesevorgänge sind mit größerer Wahrscheinlichkeit größer als 4 KB, da nur sehr wenige Dateien so klein sind und sogar die Auslagerungsdatei mit großer Wahrscheinlichkeit in großen Blöcken gelesen wird, da es für ein Programm ungewöhnlich wäre, "nur" Dateien zu haben. 4 KB Speicher ausgelagert. Dies bedeutet, dass jedes Vorladen, das das Laufwerk versucht, den Durchsatz des Laufwerks beeinträchtigt.
4K-Lesevorgänge passieren möglicherweise den Laufwerkspuffer, aber der "zufällige" Teil des Tests macht sie völlig unvorhersehbar. Der Controller weiß nicht, wann das Laufwerk möglicherweise wieder die üblichen "großen" Lesevorgänge benötigt.
Andererseits können 4K-Schreibvorgänge auf effiziente Weise nacheinander gepuffert, in eine Warteschlange gestellt und ausgeschrieben werden. Der Laufwerkspuffer kann einen Großteil der Catch-and-Write-Arbeit erledigen, für die er entwickelt wurde, und der Wear Leveler kann sogar alle diese 4-KB-Schreibvorgänge demselben Laufwerkslöschblock zuweisen, wobei gelegentlich ein 4-KB-Zufallsschreibvorgang erstellt wird Etwas näher an einem sequentiellen Schreiben.
Tatsächlich vermute ich, dass dies bei den "4K-64Thrd" -Schreibvorgängen der Fall ist, da "64-Thrd" offenbar eine große Warteschlangentiefe verwendet und damit dem Laufwerk signalisiert, dass es eine große Datenmenge zum Lesen oder Schreiben hat . Dies löst eine große Anzahl von Schreibclustern aus und nähert sich so der sequentiellen Schreibgeschwindigkeit des Laufwerks an. Das Ausführen eines 4-KB-Schreibvorgangs ist immer noch mit einem Mehraufwand verbunden, aber jetzt können Sie das Potenzial des Puffers voll ausschöpfen. In der Leseversion des Tests stoppt der Antriebsregler das Vorladen von Daten, umgeht möglicherweise den Puffer und wechselt stattdessen in einen "unformatierten" Lesemodus, wobei er sich wieder der sequentiellen Lesegeschwindigkeit nähert.
Grundsätzlich ist der Antriebsregler kann tun , was einen 4K Schreib effizienter zu machen, vor allem , wenn ein Cluster von ihnen zu einem ähnlichen Zeitpunkt ankommen, während sie nichts tun können , eine machen einziger 4K las effizienter zu gestalten , vor allem , wenn es zu optimieren versucht Datenfluss durch Vorabladen von Daten in den Cache.
quelle
Andere Antworten haben bereits erklärt, warum das Schreiben möglicherweise schneller ist als das Lesen. Ich möchte hinzufügen, dass dies für dieses Laufwerk absolut normal ist, da es durch Benchmarks bestätigt wird, die Sie in Bewertungen finden.
Die Rezension von ArsTecnica
ArsTechnica hat das Laufwerk überprüft, sowohl Ihre Version (512 GB) als auch die mit 2 TB:
(Diese Grafik ist in der Rezension nicht sofort sichtbar, es ist die 5. in der ersten Galerie, Sie müssen darauf klicken.)
Die Leistung dieser beiden Modelle ist sehr ähnlich, und ihre Anzahl entspricht Ihrer: Das Laufwerk kann mit 37 MB / s lesen und mit 151 MB / s schreiben.
AnandTechs Bewertung
AnandTech hat auch das Laufwerk überprüft: Es verwendete das 2-TB-Modell und ermittelte die Testergebnisse mit einer Warteschlangentiefe von 1, 2 und 4. Dies sind die Diagramme:
Das Laufwerk liest mit 137 MB / s und schreibt mit 437 MB / s. Die Anzahl ist viel höher als Ihre, aber wahrscheinlich liegt es an den höheren Warteschlangentiefen. Wie in Ihrem Fall ist die Schreibgeschwindigkeit dreimal so hoch wie die Lesegeschwindigkeit.
PC Worlds Rückblick
Noch eine Bewertung von PC World : Sie haben die 1-TB-Version getestet, und die Ergebnisse für 4K lauten 30 MB / s zum Lesen und 155 MB / s zum Schreiben: Die Schreibgeschwindigkeit stimmt mit Ihrer überein, aber hier ist das Laufwerk noch langsamer beim Lesen. Das Ergebnis ist ein Verhältnis von fünf zu eins und nicht von drei zu eins.
Fazit
Überprüfungen bestätigen, dass es bei diesem Laufwerk normal ist, dass die Schreibgeschwindigkeit für zufällige 4K-Dateien viel höher ist als die Lesegeschwindigkeit: Je nach Test kann sie sogar fünfmal höher sein.
Ihre Fahrt ist in Ordnung. Es gibt keinen Grund zu der Annahme, dass es fehlerhaft ist oder dass Ihr System ein Problem hat.
quelle
SSD-Controller speichert Schreibvorgänge im integrierten NVRAM und speichert sie zu geeigneten Zeiten auf Flash-Medien. Die Schreiblatenz ist somit die Cache-Zugriffslatenz, typischerweise 20us. Lesevorgänge werden dagegen medienfern mit einer Zugriffszeit von höchstens 120-150us bereitgestellt.
quelle
Um die Antwort von Andrey zu erweitern, müssen Sie sich den damit verbundenen Overhead ansehen, bevor die SSD dem Computer signalisieren kann, dass der Vorgang abgeschlossen ist.
Zum Schreiben müssen die Daten lediglich in einen internen RAM-Cache geschrieben werden. Später wird es zusammen mit anderen 4k-Blöcken und Metadaten, die zur Überprüfung, Fehlerkorrektur und Lokalisierung benötigt werden, in den Flash-Speicher geschrieben.
Zum Lesen muss die SSD zuerst die Daten lokalisieren. Der Speicherort, den der Computer lesen möchte, wird als logische Adresse bezeichnet und hat keine direkte Beziehung zum physischen Speicherort der Daten im Flash-Speicher. Die SSD wandelt die logische Adresse in eine physikalische Adresse um, basierend auf der Geometrie des Flash-Speichers (der Art und Weise, wie die Zellen angeordnet sind), der Neuzuordnung von fehlerhaften Blöcken, dem Wear Leveling und verschiedenen anderen Faktoren. Es muss dann warten, bis alle anderen Vorgänge abgeschlossen sind, bevor es die Daten aus dem Flash abruft, sie überprüft und gegebenenfalls erneut liest und die Fehlerkorrektur anwendet, möglicherweise sogar den gesamten Block an einer anderen Stelle neu schreibt.
Während die Gesamtzeit für eine Schreiboperation länger sein kann als für eine typische Leseoperation, ist die Zeit, die die SSD benötigt, um zu melden, dass die Operation abgeschlossen ist, soweit sie weitere Befehle verarbeiten kann, geringer. Bei großen Blöcken ist der Overhead nicht der begrenzende Faktor, aber bei vielen kleinen Blöcken beginnt er, die Lese- / Schreibgeschwindigkeit zu begrenzen.
quelle