mgutt
Commander
- Registriert
- März 2009
- Beiträge
- 2.052
Bei Hardwareluxx gibt es einen Test zur WD60EFAX, der teilweise so unrealistische Ergebnisse zeigte, dass sie diese nicht im Vergleich berücksichtigt haben. Die Redaktion bat sogar WD um eine Erklärung, aber die zeigten sich wenig kooperativ:
Nach einer umfangreichen Diskussion mit @Holt wie SMR eigentlich funktioniert, habe - zumindest ich ^^ - einiges darüber gelernt und wir hatten noch ein paar offene Theorien, die ich auf die Probe stellen wollte, weshalb ich mir die WD60EFAX einfach mal gekauft habe.
Dabei habe ich dann natürlich auch gleich mal die spannenden Ergebnisse von Hardwareluxx überprüft, so dass wir auch ohne Western Digitals Hilfe hinter die Lösung kommen. Wir beginnen mit einer einfachen Aufgabe. Laut HD Tune Pro soll die WD60EFAX mal eben im Mittel 378MB/s im Lese-Benchmark schaffen. Vielleicht steckt ja in Wirklichkeit eine SSD in dem Gehäuse ^^
Doch wie @Holt schon richtig vermutete, antwortet die WD60EFAX einfach mit "Null", wenn der Sektor noch nicht beschrieben wurde. Warum auch immer, tut sie das nicht, wenn keine Partition auf der Festplatte ist. Denn als ich in meinem Test diese entfernte, kam das dabei heraus:
Das sieht natürlich schon ganz anders aus. Trotzdem fallen extreme Spitzen auf und der Burst-Test sieht auch alles andere als "natürlich" aus (vorne ein dicker Streifen und "treppenartig" nach oben). Schauen wir uns zum Vergleich das Ergebnis des Vorgängers, der WD60EFRX (CMR) an:
Das Bild wirkt doch gleich ganz anders. Also habe ich die WD60EFAX komplett vollgeschrieben:
und den Test wiederholt:
Nun übersteigt die Platte plötzlich nicht mehr die 200 MB/s und liegt über den gesamten Speicherbereich 10 bis 20 MB/s unter dem ersten Benchmark.
Dann gab es aber noch was, was ich erst nicht verstanden habe. Und zwar der extrem gute 4K Random Write (für eine HDD) Wert in CrystalDiskMark (CDM):
Selbst eine IronWolf stinkt dagegen ab (hier übrigens mein Lesertest dazu):
So unwahrscheinlich das evtl erscheint, aber die WD60EFAX ist tatsächlich so schnell. Um das zu verstehen, muss man erst mal die SMR Speichertechnik verstehen. Bekanntlich werden hier Daten überlappend auf die Festplatte geschrieben:
Quelle: https://akiba-pc.watch.impress.co.jp/docs/sp/680650.html
Warum überlappend? Weil der Schreibkopf größer ist als der Lesekopf. Der Lesekopf kann problemlos den dünneren Streifen mit den Daten lesen, aber wenn geschrieben werden muss, benötigt der Schreibkopf mehr Platz. Vom Prinzip ist SRM also eine clevere Lösung um mehr Daten auf die Festplatte zu bekommen.
Allerdings haben wir nun das Problem, dass die Daten auf "Track N+2" mittendrin liegen und wenn diese nun verändert werden sollen, müsste man erstmal darüber liegenden Spuren "Track N+5" bis "Track N+3" jeweils einzeln auslesen und zwischenspeichern, bis man bei "Track N+2" loslegen kann.
Schon beim Lesen der Erklärung fällt denke ich auf, dass das nicht besonders schnell sein kann, wenn man ständig Spuren wechseln muss, also hat man sich den Media Cache ausgedacht:
https://www.computerbase.de/2014-12/10-terabyte-hdd-von-seagate-kommt-2015/
Wenn nun Daten verändert werden, werden diese nicht auf "Track N+2" geschrieben, sondern auf die Media Cache Spur, die eine klassische CMR Spur darstellt (siehe erstes Bild "Conventional Writes"). Und was nun richtig toll ist, dass man zufällige Dateiänderungen wie bei 4K Writes einfach sequentiell und nicht zufällig auf den Media Cache schreiben kann. In Wirklichkeit ist der 4K Write Benchmark von CDM (und allen anderen Benchmark-Tools) also kein 4K Write Benchmark, sondern ein Sequential Write Benchmark!
Das können wir sogar testen. Wir können zB mit HD Tune Pro den Write Benchmark mit 1MB Blockgröße durchführen lassen und ermitteln so über die gesamte Festplatte eine durchschnittliche Schreibgeschwindigkeit von 141 MB/s:
Nun machen wir einen Random-Write mit ebenfalls 1MB und voilà, mit durchschnittlich 151 MB/s ein sehr ähnlicher Wert (da nun auf CMR Spuren geschrieben wird, nicht absolut identisch):
Übrigens haben wir damit quasi auch schon bewiesen, dass der Media Cache nicht einfach am Anfang der Festplatte liegt, sondern es mehrere davon gibt, die jeweils in der Nähe der SMR Spuren liegen, denn sonst würde der Wert bei ca 200MB/s liegen. Das macht aber auch Sinn, denn sonst würde das Media Cache Cleaning, also das schlussendliche Schreiben der Datenänderungen auf die SMR Spur viel zu lange dauern.
Dieses Cache Cleaning passiert immer dann, wenn sich die WD60EFAX im Leerlauf befindet. Das Cleaning ist zwingend notwendig, denn sonst würde nicht nur irgendwann der Cache voll laufen, sondern beim sequentiellen Lesen geänderter Dateien, müsste die Festplatte ja ständig zwischen Media Cache Spur und SMR Spur wechseln.
Doch warum sehen wir das nicht beim sequentiellen Benchmark? Nun, CDM erstellt auf der Festplatte eine Benchmark-Datei, und startet den Lesetest immer vor dem Schreibtest. Wenn dann am Ende die Datei wieder gelöscht wird, werden auch die 4K Writes aus dem Media Cache gelöscht. Den 4K Write vor dem Lesetest auszuführen, lässt sich leider nicht einstellen. Außer wir tricksen 😇
Was habe ich nun gemacht? Ich habe CDM gestartet und nachdem die 4K Writes erledigt waren, habe ich den Prozess über den Ressourcen-Monitor abgeschossen, so dass die Benchmark-Datei erhalten blieb. Dann habe ich CDM neu gestartet und nach dem 1. Test habe ich das Programm über den Ressourcen-Monitor angehalten und einfach die alte Benchmark-Datei in die neue unbenannt. Nun war CDM gezwungen die alte Datei sequentiell einzulesen und sprang dabei fröhlich zwischen Media Cache und SMR Spur hin und her, was eine katastrophale Leistungseinbuße von fast 90% zur Folge hatte. Natürlich habe ich diesen Test auch mit der WD60EFRX durchgeführt und dort war wie zu erwarten keinerlei Leistungseinbruch festzustellen.
Wir wissen nun also auch, dass eine Leerlaufphase nach jeder Dateiänderung absolut notwendig ist. Und Leerlauf bedeutet, dass der Lese- und Schreibkopf nicht genutzt wird. Sofern man also die Festplatte in einem NAS betreibt und 2 Stunden lang einen Film schaut, so kann die Festplatte in der Zeit kein Cache Cleaning betreiben. Genauso wenig, wenn man sein NAS nach einer erledigten Aufgabe wie einem Backup schlafen schickt, weil man aus Energiespargründen den Weg über WoL bevorzugt und natürlich gilt das auch, wenn das Betriebssystem die Festplatte nach einer bestimmten Zeit schlafen schickt.
Doch wie lange dauert eigentlich das Cache Cleaning? Wie gesagt erstellt CDM immer erst eine Benchmark-Datei auf der Festplatte. Also habe ich erneut diese Datei erstellen lassen, die 4K Writes abgewartet und die Anwendung abgeschossen. Wir haben nun also eine gültige Datei auf der Festplatte, deren 4K Writes im Media Cache liegen. Das Cache Cleaning startet sofort, nachdem CDM aufgehört hat auf die Festplatte zuzugreifen (kann man hören). Ich habe also die Zeit gestoppt bis die Geräusche vorbei waren bzw ich habe einfach den Stromverbrauch überwacht, der während dem Cache Cleaning erhöht ist:
Es brauchte also etwas über 1,5 Minuten die Änderungen auf die SMR Spur zu schreiben. Allerdings sollte man sich nicht von der 1GiB großen Benchmark-Datei täuschen lassen. CDM ändert während dem 4K Write ja nur ca 6 Sekunden lang zufällige 4KB Blöcke der Datei. Es werden in Summe also vermutlich nur wenige MB (!) durch das Cache Cleaning auf die richtigen Positionen geschrieben.
Und selbst dabei darf man jetzt auch nicht vergessen, dass wir den Test mit einer komplett leeren Platte durchführen. Wenn die Benchmark-Datei auf einer Schindel läge, die von anderen Schindeln (Dateien) verdeckt würden. Das wäre ja gemein. Das wäre ja richtig fies, wenn man das auch zeigen würde ^^
... mehr dazu morgen.... jetzt geht es erstmal ins Bettchen
Update 10.06.
Gestern Abend habe ich eine 1GiB große Benchmark-Dateien auf der Platte hinterlassen und danach 1TB an Dateien auf die WD60EFAX kopiert. Damit wollte ich sicher gehen, dass die Schindeln mit den Benchmark-Dateien von den 1TB verdeckt werden. Ich habe dann das Spiel von gestern wiederholt. CDM eingefroren, alte Datei verwenden lassen, 4K Writes abgewartet und abgeschossen. Dann CDM erneut gestartet, eingefroren, alte Datei verwenden lassen und das war das Ergebnis:
Aua. Doch warum ist das eigentlich noch langsamer geworden? Lassen wir das doch mit den 4K Writes mal sein:
Interessant. Können von anderen Schindeln verdeckte Dateien etwa langsamer gelesen werden? Nein, denn jetzt wird es interessant. Die erste große Datei von den gestern kopierten 1TB kann ich mit 200 MB/s kopieren:
Eine in der Mitte mit 180 MB/s:
Und die letzte mit 160 MB/s:
Wir wissen also, dass die zuletzt kopierten Dateien weiter innen auf dem Platter liegen und daher langsamer kopiert werden. Und genau da liegt jetzt auch unsere Benchmark-Datei. @Holt wird es sicher bestreiten, aber damit bin ich mir sicher, dass wenn das Cache Cleaning läuft, dass dann die Daten nicht in die ursprüngliche SMR Zone kommen, sondern in die nächste freie und erst danach folgt ein TRIM/Garbage Collection um die Zone am Anfang für neue Dateien frei zu machen. Diese Funktion wird von WD LBA indirection genannt, wobei @Holt das nur auf den Media Cache und nicht allgemein auf die SMR Zonen bezieht.
Allerdings kann ich das denke ich noch anders aufzeigen, dass LBA Indirection auch die SMR Zonen betrifft. Denn bevor ich den zuvor genannten Test gemacht habe, hatte ich heute morgen als alle erstes ein Benchmark gestartet und wunderte mich über extrem gute Werte. Über 200 MB/s machen ja keinen Sinn, wenn bereits 1TB an Daten auf der Platte sind:
Ich wiederholte den Test mehrfach mit dem immer selben Ergebnis. Da ich bereits vermutete, dass wir nun eine freie Spur irgendwo am Anfang der Platte haben, startete ich CDM erneut und beendete den Prozess nach dem 1. Lesetest um die 1 GiB Datei auf der Platte zu behalten. Jeder folgende Benchmark fiel auf 185 MB/s:
Warum dieser Wert allerdings nicht auf 160 MB/s fällt, kann ich nicht erklären. Was aber denke ich klar ist, dass die Benchmark-Datei ihre Position auf den Plattern gewechselt hat, obwohl ich sie nur umbenannt habe und CDM Teile dieser Datei verändert hat. Sie wurde also nicht neu erstellt. Und es gab wie gesagt dadurch eine freie Spur ganz am Anfang der Platte, die jetzt nicht mehr da ist.
Weitere denkbare Tests:
Western Digital verweigert dazu auch auf Anfrage jede Stellungnahme.
Nach einer umfangreichen Diskussion mit @Holt wie SMR eigentlich funktioniert, habe - zumindest ich ^^ - einiges darüber gelernt und wir hatten noch ein paar offene Theorien, die ich auf die Probe stellen wollte, weshalb ich mir die WD60EFAX einfach mal gekauft habe.
Dabei habe ich dann natürlich auch gleich mal die spannenden Ergebnisse von Hardwareluxx überprüft, so dass wir auch ohne Western Digitals Hilfe hinter die Lösung kommen. Wir beginnen mit einer einfachen Aufgabe. Laut HD Tune Pro soll die WD60EFAX mal eben im Mittel 378MB/s im Lese-Benchmark schaffen. Vielleicht steckt ja in Wirklichkeit eine SSD in dem Gehäuse ^^
Doch wie @Holt schon richtig vermutete, antwortet die WD60EFAX einfach mit "Null", wenn der Sektor noch nicht beschrieben wurde. Warum auch immer, tut sie das nicht, wenn keine Partition auf der Festplatte ist. Denn als ich in meinem Test diese entfernte, kam das dabei heraus:
Das sieht natürlich schon ganz anders aus. Trotzdem fallen extreme Spitzen auf und der Burst-Test sieht auch alles andere als "natürlich" aus (vorne ein dicker Streifen und "treppenartig" nach oben). Schauen wir uns zum Vergleich das Ergebnis des Vorgängers, der WD60EFRX (CMR) an:
Das Bild wirkt doch gleich ganz anders. Also habe ich die WD60EFAX komplett vollgeschrieben:
und den Test wiederholt:
Nun übersteigt die Platte plötzlich nicht mehr die 200 MB/s und liegt über den gesamten Speicherbereich 10 bis 20 MB/s unter dem ersten Benchmark.
Dann gab es aber noch was, was ich erst nicht verstanden habe. Und zwar der extrem gute 4K Random Write (für eine HDD) Wert in CrystalDiskMark (CDM):
Selbst eine IronWolf stinkt dagegen ab (hier übrigens mein Lesertest dazu):
So unwahrscheinlich das evtl erscheint, aber die WD60EFAX ist tatsächlich so schnell. Um das zu verstehen, muss man erst mal die SMR Speichertechnik verstehen. Bekanntlich werden hier Daten überlappend auf die Festplatte geschrieben:
Quelle: https://akiba-pc.watch.impress.co.jp/docs/sp/680650.html
Warum überlappend? Weil der Schreibkopf größer ist als der Lesekopf. Der Lesekopf kann problemlos den dünneren Streifen mit den Daten lesen, aber wenn geschrieben werden muss, benötigt der Schreibkopf mehr Platz. Vom Prinzip ist SRM also eine clevere Lösung um mehr Daten auf die Festplatte zu bekommen.
Allerdings haben wir nun das Problem, dass die Daten auf "Track N+2" mittendrin liegen und wenn diese nun verändert werden sollen, müsste man erstmal darüber liegenden Spuren "Track N+5" bis "Track N+3" jeweils einzeln auslesen und zwischenspeichern, bis man bei "Track N+2" loslegen kann.
Schon beim Lesen der Erklärung fällt denke ich auf, dass das nicht besonders schnell sein kann, wenn man ständig Spuren wechseln muss, also hat man sich den Media Cache ausgedacht:
https://www.computerbase.de/2014-12/10-terabyte-hdd-von-seagate-kommt-2015/
Wenn nun Daten verändert werden, werden diese nicht auf "Track N+2" geschrieben, sondern auf die Media Cache Spur, die eine klassische CMR Spur darstellt (siehe erstes Bild "Conventional Writes"). Und was nun richtig toll ist, dass man zufällige Dateiänderungen wie bei 4K Writes einfach sequentiell und nicht zufällig auf den Media Cache schreiben kann. In Wirklichkeit ist der 4K Write Benchmark von CDM (und allen anderen Benchmark-Tools) also kein 4K Write Benchmark, sondern ein Sequential Write Benchmark!
Das können wir sogar testen. Wir können zB mit HD Tune Pro den Write Benchmark mit 1MB Blockgröße durchführen lassen und ermitteln so über die gesamte Festplatte eine durchschnittliche Schreibgeschwindigkeit von 141 MB/s:
Nun machen wir einen Random-Write mit ebenfalls 1MB und voilà, mit durchschnittlich 151 MB/s ein sehr ähnlicher Wert (da nun auf CMR Spuren geschrieben wird, nicht absolut identisch):
Übrigens haben wir damit quasi auch schon bewiesen, dass der Media Cache nicht einfach am Anfang der Festplatte liegt, sondern es mehrere davon gibt, die jeweils in der Nähe der SMR Spuren liegen, denn sonst würde der Wert bei ca 200MB/s liegen. Das macht aber auch Sinn, denn sonst würde das Media Cache Cleaning, also das schlussendliche Schreiben der Datenänderungen auf die SMR Spur viel zu lange dauern.
Dieses Cache Cleaning passiert immer dann, wenn sich die WD60EFAX im Leerlauf befindet. Das Cleaning ist zwingend notwendig, denn sonst würde nicht nur irgendwann der Cache voll laufen, sondern beim sequentiellen Lesen geänderter Dateien, müsste die Festplatte ja ständig zwischen Media Cache Spur und SMR Spur wechseln.
Doch warum sehen wir das nicht beim sequentiellen Benchmark? Nun, CDM erstellt auf der Festplatte eine Benchmark-Datei, und startet den Lesetest immer vor dem Schreibtest. Wenn dann am Ende die Datei wieder gelöscht wird, werden auch die 4K Writes aus dem Media Cache gelöscht. Den 4K Write vor dem Lesetest auszuführen, lässt sich leider nicht einstellen. Außer wir tricksen 😇
Was habe ich nun gemacht? Ich habe CDM gestartet und nachdem die 4K Writes erledigt waren, habe ich den Prozess über den Ressourcen-Monitor abgeschossen, so dass die Benchmark-Datei erhalten blieb. Dann habe ich CDM neu gestartet und nach dem 1. Test habe ich das Programm über den Ressourcen-Monitor angehalten und einfach die alte Benchmark-Datei in die neue unbenannt. Nun war CDM gezwungen die alte Datei sequentiell einzulesen und sprang dabei fröhlich zwischen Media Cache und SMR Spur hin und her, was eine katastrophale Leistungseinbuße von fast 90% zur Folge hatte. Natürlich habe ich diesen Test auch mit der WD60EFRX durchgeführt und dort war wie zu erwarten keinerlei Leistungseinbruch festzustellen.
Wir wissen nun also auch, dass eine Leerlaufphase nach jeder Dateiänderung absolut notwendig ist. Und Leerlauf bedeutet, dass der Lese- und Schreibkopf nicht genutzt wird. Sofern man also die Festplatte in einem NAS betreibt und 2 Stunden lang einen Film schaut, so kann die Festplatte in der Zeit kein Cache Cleaning betreiben. Genauso wenig, wenn man sein NAS nach einer erledigten Aufgabe wie einem Backup schlafen schickt, weil man aus Energiespargründen den Weg über WoL bevorzugt und natürlich gilt das auch, wenn das Betriebssystem die Festplatte nach einer bestimmten Zeit schlafen schickt.
Doch wie lange dauert eigentlich das Cache Cleaning? Wie gesagt erstellt CDM immer erst eine Benchmark-Datei auf der Festplatte. Also habe ich erneut diese Datei erstellen lassen, die 4K Writes abgewartet und die Anwendung abgeschossen. Wir haben nun also eine gültige Datei auf der Festplatte, deren 4K Writes im Media Cache liegen. Das Cache Cleaning startet sofort, nachdem CDM aufgehört hat auf die Festplatte zuzugreifen (kann man hören). Ich habe also die Zeit gestoppt bis die Geräusche vorbei waren bzw ich habe einfach den Stromverbrauch überwacht, der während dem Cache Cleaning erhöht ist:
Es brauchte also etwas über 1,5 Minuten die Änderungen auf die SMR Spur zu schreiben. Allerdings sollte man sich nicht von der 1GiB großen Benchmark-Datei täuschen lassen. CDM ändert während dem 4K Write ja nur ca 6 Sekunden lang zufällige 4KB Blöcke der Datei. Es werden in Summe also vermutlich nur wenige MB (!) durch das Cache Cleaning auf die richtigen Positionen geschrieben.
Und selbst dabei darf man jetzt auch nicht vergessen, dass wir den Test mit einer komplett leeren Platte durchführen. Wenn die Benchmark-Datei auf einer Schindel läge, die von anderen Schindeln (Dateien) verdeckt würden. Das wäre ja gemein. Das wäre ja richtig fies, wenn man das auch zeigen würde ^^
... mehr dazu morgen.... jetzt geht es erstmal ins Bettchen
Update 10.06.
Gestern Abend habe ich eine 1GiB große Benchmark-Dateien auf der Platte hinterlassen und danach 1TB an Dateien auf die WD60EFAX kopiert. Damit wollte ich sicher gehen, dass die Schindeln mit den Benchmark-Dateien von den 1TB verdeckt werden. Ich habe dann das Spiel von gestern wiederholt. CDM eingefroren, alte Datei verwenden lassen, 4K Writes abgewartet und abgeschossen. Dann CDM erneut gestartet, eingefroren, alte Datei verwenden lassen und das war das Ergebnis:
Aua. Doch warum ist das eigentlich noch langsamer geworden? Lassen wir das doch mit den 4K Writes mal sein:
Interessant. Können von anderen Schindeln verdeckte Dateien etwa langsamer gelesen werden? Nein, denn jetzt wird es interessant. Die erste große Datei von den gestern kopierten 1TB kann ich mit 200 MB/s kopieren:
Eine in der Mitte mit 180 MB/s:
Und die letzte mit 160 MB/s:
Wir wissen also, dass die zuletzt kopierten Dateien weiter innen auf dem Platter liegen und daher langsamer kopiert werden. Und genau da liegt jetzt auch unsere Benchmark-Datei. @Holt wird es sicher bestreiten, aber damit bin ich mir sicher, dass wenn das Cache Cleaning läuft, dass dann die Daten nicht in die ursprüngliche SMR Zone kommen, sondern in die nächste freie und erst danach folgt ein TRIM/Garbage Collection um die Zone am Anfang für neue Dateien frei zu machen. Diese Funktion wird von WD LBA indirection genannt, wobei @Holt das nur auf den Media Cache und nicht allgemein auf die SMR Zonen bezieht.
Allerdings kann ich das denke ich noch anders aufzeigen, dass LBA Indirection auch die SMR Zonen betrifft. Denn bevor ich den zuvor genannten Test gemacht habe, hatte ich heute morgen als alle erstes ein Benchmark gestartet und wunderte mich über extrem gute Werte. Über 200 MB/s machen ja keinen Sinn, wenn bereits 1TB an Daten auf der Platte sind:
Ich wiederholte den Test mehrfach mit dem immer selben Ergebnis. Da ich bereits vermutete, dass wir nun eine freie Spur irgendwo am Anfang der Platte haben, startete ich CDM erneut und beendete den Prozess nach dem 1. Lesetest um die 1 GiB Datei auf der Platte zu behalten. Jeder folgende Benchmark fiel auf 185 MB/s:
Warum dieser Wert allerdings nicht auf 160 MB/s fällt, kann ich nicht erklären. Was aber denke ich klar ist, dass die Benchmark-Datei ihre Position auf den Plattern gewechselt hat, obwohl ich sie nur umbenannt habe und CDM Teile dieser Datei verändert hat. Sie wurde also nicht neu erstellt. Und es gab wie gesagt dadurch eine freie Spur ganz am Anfang der Platte, die jetzt nicht mehr da ist.
Weitere denkbare Tests:
- wie viele 4K Writes braucht es um den Media Cache voll laufen zu lassen und was für Auswirkungen hat das auf die Performance?
- erfolgt sofort eine Garbage Collection wenn Dateien auf unten liegenden Schindeln gelöscht werden oder landen neue Dateien erstmal im Media Cache und werden dann später dorthin platziert?
Anhänge
Zuletzt bearbeitet: