840 evo 1 TB ist lahm auf "alten" Daten

Die Optimierung ist durch.
Genommen habe ich MyDefrag mit dem Profil Data Disk Monthly.
Der dürfte alles umkopiert haben, da der alle Dateien alphabetisch nach Pfad ablegt.
Es wurde also alles neu geschrieben.

Es kam ca. 1 TB an Write auf die SSD dazu, belegt ist sie mit ca. 600 GB.

Sieht so aus als habe das Optimieren einer SSD in speziellen Fällen doch einen positiven Effekt. :cool_alt:

Ich finde jetzt keine Datei mehr, die nicht mit >400 MB/s gelesen wird.
HD Tune läuft gerade noch, aber bisher sieht es gut aus.

Wir können jetzt gerne Theorien dazu entwickeln, ich hab' Urlaub :)

BadBigBen schrieb:
Nö... Defrag versucht [...] und belässt unter Umständen die Daten genau da wo sie waren...
Das kann er nicht machen, weil die alten Daten beim Defragmentieren erst gelöscht werden, wenn die neuen geschrieben sind und das für komplette Dateien.

Fazit: Kann das Phänomen hiermit nicht bestätigen.
Danke für den Test, aber?
Du hast es doch gar nicht wirklich getestet.
Versuche es doch mal mit einem reinen Lesen:
http://thesz.diecru.eu/content/parkdale.php

Auf eine HD oder langsame SSD zu kopieren, ist doch kein passender Test.
Deine SSD muss doch auch mit >400 MB/s lesen.

HD Tach habe ich nicht drauf.
 
Zuletzt bearbeitet:
klampf schrieb:
Die Optimierung ist durch.
Genommen habe ich MyDefrag mit dem Profil Data Disk Monthly.
Der dürfte alles umkopiert haben, da der alle Dateien alphabetisch nach Pfad ablegt.
Es wurde also alles neu geschrieben.

Und woher nimmst Du diese Erkenntnis? Wie hier schon mehr als einmal geschrieben steht. Du oder irgendwelche DefragTools haben keinerlei Einfluss, wo die SSD was ablegt. Alles in allem ist Deine Vorgehensweise nicht für SSD geeignet. Wenn Du meinst, Du hättest mit alten Daten ein Problem. Dann verschiebe sie einmal von SSD auf ein anderes Medium und wieder Retour. Fertig, Mehr kannst Du nicht machen.
 
@Holt

Deine Erklärung passt nicht zu den Einbrüchen. ;)

Eine nicht gemappte LBA führt zu sehr schnellen Lesezugriffen und somit sehr hohen Datenraten. Also Teil C in dein HDTune Bild.

In diesen Thread geht es aber darum, warum Teil A unter den erwarteten Werten liegt.
HDTach sollte mit 8mb/32mb Zugriffen bei der EVO nicht auf unter 100MB/s einbrechen.
Meine M4 zuckelt als Systemlaufwerk am Sata2 Port mit mindestens 170MB/s durch den HDTach Benchmark mit 32mb Zugriffen.
Ergänzung ()

BadBigBen schrieb:
Leider bei mir nicht... habe sogar diese Version erneut heruntergeladen (vom CB Download Bereich)... ;( (oder besser ;) )

Okay, fällt wohl unter "Pech gehabt!" ;)
 
Hier mal das Ergebnis von HD Tune jetzt nach der Optimierung. Eingestellt in den Optionen ist "Full test", es wird also jeder Block gelesen.

HDtune840evo_post_defrag.png 840evo_post_defrag_layout.PNG

Am Anfang gibt es kurz einen langsamen Bereich, dann ist es flott und am Ende sieht man noch eine Stufe.

Das alles passt zum Layout auf der SSD im Moment. Am Anfang liegt ein Windows Pagefile* (rot im Layout), das konnte der Defragger nicht umkopieren, daher ist es da wohl noch langsam.

Ab der sichtbaren Stufe, wo es so ab 650 GB etwas schneller wird liegen alle leeren (getrimmten) Blöcke, die kann die SSD etwas schneller liefern, als die beschriebenen vorher.

Für mich passt das alles zur "alte Daten langsam" Theorie.
Ich wüste nur gerne warum alte Daten langsam sind und wie man das verhindern kann.

*Keine Sorge, das System swapped kaum und auf jeder der 3 SSDs im System liegt ein Pagefile, weil Windows die automatisch balanced. Das beeinflusst keine Messung, die ich auch alle mehrfach gemacht habe.

Holt schrieb:
HD Tune und HD Tach sind "Hard Disk Utilities"
Dass das Deine Sicht ist, habe ich schon im anderen Thread gelesen.
Ich kann ich leider nicht nachvollziehen.

Ich verstehe zwar schon was Du meinst, aber:
Das System liest von der SSD auch nur Blöcke und Dateien werden vom Filesystem auch möglichst auf hintereinander liegenden Blöcken abgelegt. Ich sehe da kein Widerspruch zum Test. Auch eine SSD sollte hintereinander liegende Blöcke schnell lesen können.

Auch wird die SSD auf ihre kleinste Speichereinheit (Page oder wie immer) zusammenhängende LBAs legen. Bei einer TLC-SSD denke ich, dass jede Page genau 3 verschiedene LBA-Bereiche enthält.
Also auch im WorstCase, wenn alles total bunt auf der SSD verteilt ist, würde ich von einem sequentiellen Lesen mehr Speed erwarten als von einem echte Zufallszugriff.

Auch die praktischen Tests scheinen sinnvoll zu sein.

Die SSD ist also nicht lahm bei alten Daten und es ist auch kein Problem der Evo, es liegt schlicht am ungeeigneten Benchmark. Suche Dir eine größere alte Datei und kopiere diese z.B. unter einem Linux mit dd nach /dev/null mit einem bs=4m und Du siehst, wie schnell die wirklich gelesen werden kann
Das habe ich gemacht mit einem Testtool, das genau das ausführt. Siehe zweiter Link im Eröffnungspost.
Habe jetzt nicht extra Linux klar gemacht dafür.

Da kamen eben auch nur 80 MB/s raus für manche (alte) Dateien. Absolut reproduzierbar welche Dateien langsam und welche schnell sind.

wenn es Deine Systemplatte ist
Ist nicht die Systemplatte und welche Dateien langsam und welche schnell sind, ist auch absolut reproduzierbar.
 
Kurze Rückfrage, hast du es manuell eingestellt, dass auf jeder SSD von dir eine pagefile generiert wird?!

Eigentlich sollte das kein Standard sein und würde den Einbruch beim Lesen der Daten am Anfang der SSD ja auch plausibel erklären.

Oder habe ich da was falsch verstanden?

PS. Wenn du nur mit der Defragsoftware analysierst, kann ich dat verstehen, jedoch würde ich auch jedem abraten, bei ner SSD wirklich zu defragmentieren...Das geht richtig auf die Lebensdauer.
 
Blaze1987 schrieb:
Kurze Rückfrage, hast du es manuell eingestellt, dass auf jeder SSD von dir eine pagefile generiert wird?!
Ja, das habe ich, alte Angewohnheit
Mit 32 GB Ram langt Windows im automatischen Betrieb auch richtig zu und legt 24 GB oder so auf C: an.
Windows nutzt die wirklich parallel und auch abhängig vom Speed, d.h. die schnellste wird am meisten benutzt.
Das war bei Festplatten und mit weniger RAM evtl. noch etwas nützlicher.

Ich habe das Pagefile gerade mal neu gemacht. Jetzt liest die 840 evo auch den Bereich mit >400 MB/s.
Da liegt jetzt noch das Logfile von NTFS als "nicht verschiebbar", das kann ich wohl wirklich nicht umkopieren ...

PS. Wenn du nur mit der Defragsoftware analysierst, kann ich dat verstehen, jedoch würde ich auch jedem abraten, bei ner SSD wirklich zu defragmentieren...Das geht richtig auf die Lebensdauer.
Ja, das hat gut 1 TBW gekostet, also wenn man jetzt mal die 72 TBW glaubt, war das ein 72tel Lebenszeit.
 
klampf schrieb:
Für mich passt das alles zur "alte Daten langsam" Theorie.
Ich wüste nur gerne warum alte Daten langsam sind und wie man das verhindern kann.

Die Theorie dahinter ist bekannt. Eine Verifikation dieser ist aber ohne der Firmware des SSD Controllers und einigen TLC NAND Samples von Samsung nicht mit sinnvollen Zeitaufwand möglich.
 
klampf schrieb:
Sieht so aus als habe das Optimieren einer SSD in speziellen Fällen doch einen positiven Effekt. :cool_alt:
Ja, wenn Du dateiweise liest und die Datei war vorher stark fragmentiert, dann auf jeden Fall.

klampf schrieb:
Wir können jetzt gerne Theorien dazu entwickeln, ich hab' Urlaub :)
Wenn die durch das Defragmentieren, was anderes ist das ja nicht, dann so über die NANDs verteilt wurden das sie auch das Auslesen aufeinander folgender LBAs schneller ist weil die Daten entsprechend über das Flash verteilt sind. genau das machen ja diese Low-Level Benchmarks ohne Rücksicht ob die LBAs zu einer Datei gehören oder nicht. Gehören sie aber nicht zu einer Datei, so achtet der Controller nicht darauf, dass die Daten so abgelegt werden, dass sie schnell ausgelesen werden können, darauf achtet er nur bei Daten die in einem Rutsch, also mit einem Befehl geschrieben wurden. Das ist sein Schattenfilesystem. Bei einem nicht- oder defragmentierten Filesystem ist natürlich die Wahrscheinlichkeit höher, dass beim Lesen von 64k zusammenhängender LBAs dann auch alle zu einer Datei gehören, als wenn das Filesystem fragmentiert ist.

klampf schrieb:
Deine SSD muss doch auch mit >400 MB/s lesen.
Nein, bei nur 4k z.B. schaffen die SSD nur zwischen so 15MB/s und 35MB/s, je nach System und Modell. Muss eine Datei aus lauter kleinen Fragmenten gelesen werden, so schaffen SSDs eben nicht mehr und ebenso, wenn die LBAs alle so ungeschickt verteilt sind, dass sie z.B. alle in gleichen NAND Die liegen, dann muss jede Page adressiert werden und jedesmal muss gewartet werden, bis die Daten anliegen.

BlubbsDE schrieb:
Du oder irgendwelche DefragTools haben keinerlei Einfluss, wo die SSD was ablegt. Alles in allem ist Deine Vorgehensweise nicht für SSD geeignet.
Das stimmt so nicht, die modernen SSDs legen die Daten so ab, dass sie für schnell Zugriffe optimiert sind und da hängt davon ab, was mit einem Befehl geschrieben wird, vermutlich sogar auch, was der nächste Befehl schreibt, denn für kurzen Zeit landen die Daten ja im internen Cache unter werden dann gemeinsam ins NAND geschrieben. Das erzeugt eine andere Verteilung als wenn man z.B. Random über den Adressbereich mit 4k schreibt. Dann ist da noch der Aspekt der Zugriffslängen, die können bei ATA Befehlen maximal 32MiB sein, sind aber eben nie länger als ein Fragment der Datei und bei langen Zugriffen erreicht man höhere Transferraten als bei kurzen.

klampf schrieb:
Das alles passt zum Layout auf der SSD im Moment. Am Anfang liegt ein Windows Pagefile* (rot im Layout), das konnte der Defragger nicht umkopieren, daher ist es da wohl noch langsam.
Das liegt am Schattenfilesystem, das Pagefile wird ja nicht am Stück seq. beschrieben, sondern eher Kraut und Rüben durcheinander. Das das ein File ist, weiß der Controller ja nicht, der weiß ja nur was da mit einem Befehl am Stück geschrieben wird und versucht das optimal über die NANDs zu verteilen.

klampf schrieb:
Für mich passt das alles zur "alte Daten langsam" Theorie.
Ich wüste nur gerne warum alte Daten langsam sind und wie man das verhindern kann.
Nochmal, das sind sie nicht, das scheint nur so, wenn man diese Low-Level Benchmarks nimmt. Wie schon vorgeschlagen: Schreibe mit h2testw z.B. 10GB Daten auf die SSD, das 1% dürfte ja nicht weh tun und wiederhole dann auf diesen Dateien regelmäßig den Lesetest von h2testw, dann siehst Du ob das Lesen der alten Dateien wirklich langsamer wird. Ich wette nicht, obwohl h2testw ja kein exakter Benchmark sein will, sondern die Geschwindigkeitsanzeige nur informativ gemeint ist.

klampf schrieb:
Dass das Deine Sicht ist, habe ich schon im anderen Thread gelesen.
Ich kann ich leider nicht nachvollziehen.
Dann wirst Du leider nicht verstehen könne, was da vor sich geht und weiter falsche Annahmen treffen.

klampf schrieb:
Das System liest von der SSD auch nur Blöcke und Dateien werden vom Filesystem auch möglichst auf hintereinander liegenden Blöcken abgelegt. Ich sehe da kein Widerspruch zum Test. Auch eine SSD sollte hintereinander liegende Blöcke schnell lesen können.
Wenn diese Blöcke am Stück also zusammenhängend geschrieben wurden, so wie es nach der Defragmentierung der Fall oder wenn man eine große Datei schreibt, ja. Aber wenn lauter kleine Dateien vereinzelt geschrieben wurden, dann nicht. Das ist unter Unterschied zwischen einer SSD und einer HDD, denn bei der HDD landen die Daten immer auf festen Positionen, bei der SSD eben nicht. Da bestimmt der Controller auf welchem Die die landen und nur wenn diese auf unterschiedlichen NAND Dies liegen, können sie parallel adressiert und damit auch schnell gelesen werden. Das Lesen eines Dies dauert ja recht lange, daher kommen beim Lesen von nur 4k ja so geringer Leserate zustande.

Werten Daten nun einzeln geschrieben, also ohne jeden Zusammenhang und landen nur zufällig auf benachbarten Blöcken (LBAs, Cluster des Filesystems, i.d.R. also 8 aufeinanderfolgende LBAs), so achtet der Controller eben nicht darauf, dass diese auch in anderen NAND Dies landen wie ihre Nachbarn. Landen sie im gleichen Die und werden dann einen Rutsch gelesen, eben genau bei so einen Low-Level Zugriff, dann dauert es eben länger diese zu lesen. Das ist der Effekt den Du siehst und da MyDefrag beidem Monthly Plan ja praktisch alle Dateien der Reihe nach neu schreibt, hast Du den im Moment nicht, er wird nach einiger Zeit aber wieder auftreten. Deshalb machen den Test mit den Dateien von h2testw, die kannst Du mit dem Tool dateiweise einlesen und wenigstens eine halbwegs korrekte Leserate ermitteln.

klampf schrieb:
Also auch im WorstCase, wenn alles total bunt auf der SSD verteilt ist, würde ich von einem sequentiellen Lesen mehr Speed erwarten als von einem echte Zufallszugriff.
Total bunt verteilt ist nicht WortCase sondern Best-Case! Wenn die Daten die Du liest alle im selben Die stecken, ist die Geschwindigkeit eben gerade kaum höher als bei Zufallszugriffen, dass ist ja gerade der Punkt. Das verhindern die Controller für Daten die in einem Rutsch geschrieben sind, aber eben nicht zwangsläufig für Daten die mit der Zeit geschrieben werden und zufällig auf benachbarten LBAs / Cluster liegen.

Genau deshalb sind eben diese Low-Level Bachmarks wie HD Tune und HD Tach nicht für SSDs geeignet. Man kann einzelne Tests damit machen, wie bei HD Tach die ganze SSD damit überschreiben, aber so ein Lesebenchmark auf gebrauchten SSDs ist eben irreführend, die Werte passen dann nicht zu dem, was man beim Lesen der Dateien bekommen würde. Außer wenn man klont, wird aber immer Dateiweise gelesen, weshalb die Ergebnisse von HD Tune eben auch für den Alltag nicht relevant sind.


klampf schrieb:
Da kamen eben auch nur 80 MB/s raus für manche (alte) Dateien. Absolut reproduzierbar welche Dateien langsam und welche schnell sind.
Das hängt auch davon ab, wie die Datei beschrieben oder überschrieben wird. Eine Logdatei bei der immer hinten etwas angehängt wird, ist für den Controller nicht als eine zusammenhängende Datei zu erkennen, folglich kann er diese auch nicht so optimal über die NANDs verteilen, dass sie dann am Stück schnell gelesen werden kann, sie wurde ja auch nicht am Stück geschrieben. Obendrein dürfte sie im Filesystem extrem stark fragmentiert sein, weil sie ja ständig wächst und die LBAs dahinter dann meist schon belegt sind. Damit sind zum Lesen also viele kurze Zugriffe nötig.

klampf schrieb:
Ist nicht die Systemplatte und welche Dateien langsam und welche schnell sind, ist auch absolut reproduzierbar.
Welche sind denn langsam?
 
Hallo32 schrieb:
Die Theorie dahinter ist bekannt. Eine Verifikation
Welche meinst Du?
Mit Verifikation wäre es ja auch keine Theorie mehr. :)

Holt schrieb:
Schattenfilesystem.
Ist verstanden, ich habe auch eine Idee wie so etwas aussieht und wie ich es selbst designen würde.
Ich weiß natürlich nicht wie es tatsächlich implementiert ist.

Ich würde es so designen, dass es den Zugriff auf zusammenhängende LBAs optimiert.
Das wäre dann auch die Optimierungsstrategie bei einer Garbage Collection.
Alles andere halte ich für verfehlt, denn die SSD weiß einfach nicht genug vom darüber liegenden System.
Ein typisches normales Filesystem wie NTFS geht mit Annahme an den Start, dass die darunter liegende Schicht (also die Festplatte) für den Zugriff auf zusammenhängende LBAs optimert ist.

eine andere Verteilung als wenn man z.B. Random über den Adressbereich mit 4k schreibt. Dann ist da noch der Aspekt der Zugriffslängen, die können bei ATA Befehlen maximal 32MiB sein, sind aber eben nie länger als ein Fragment der Datei und bei langen Zugriffen erreicht man höhere Transferraten als bei kurzen.
Weißt Du welche Transfergrößen wirklich genutzt werden?
Ich kann das nur auf der API-Ebene z.B. mit ProcMon sehen. Der Explorer z.B. schreibt beim kopieren immer in 64 KB-Blöcken. Lesen tut er mit 1 MB. (Windows 7).

CrystalDiskMark liest und schreibt im ersten Test (Seq) in 1 MB Schritten.

Kann schon sein, dass die später nochmal zusammengefasst werden, aber dann kann man schon nicht mehr wissen, ob die von einem Programm kommen, also zu einer Datei gehören.
Mit NCQ und Multi-Tasking. Auch auf Treiber/Puffer/Cache-Ebene würde der wohl sowieso zu maximal großen Zugriffen zusammenfassen und das sind dann auch wieder zusammenhängende LBAs.

Nochmal, das sind sie nicht, das scheint nur so, wenn man diese Low-Level Benchmarks nimmt. Wie schon vorgeschlagen: Schreibe mit
Wie schon erwähnt, habe ich mir den Hinweise ja zu Herzen genommen, bevor ich diesen Thread eröffnet habe.
Damit habe ich herausbekommen, dass es alte, große Dateien gibt, die langsam gelesen werden.
Gerade Dateien die dauernd im Zugriff sind und verändert werden wie z.B. der Lightroom-Catalog sind schnell.

Vielleicht hilft ein Bild vom Tool für das Verständnis.
FileReadTool.png

Ich kann damit also jede beliebige Datei benchmarken und das eben auch auf der schon langsamen SSD.
Mit dem h2testw ein neues File anzulegen wäre da nicht hilfreicher. Wäre ja auch zu Beginn ein neue File


Werten Daten nun einzeln geschrieben, also ohne jeden Zusammenhang und landen nur zufällig auf benachbarten Blöcken (LBAs, Cluster des Filesystems, i.d.R. also 8 aufeinanderfolgende LBAs), so achtet der Controller eben nicht darauf,
Hast Du irgendeinen Hinweis, dass Deine "Der Controller versucht zu raten, was eine Datei ist"-Theorie stimmt?
Meinst Du der merkt sich dass dann auch bis auf weiteres für alle Files des Hostsystems?
Das wäre schon recht irre.
Wenn dann nur ein Teil der geratenen Datei neu geschrieben wird. Ist das dann für den Controller eine neue Datei oder ist noch die gleiche?

Ich will gar nicht ausschließen, dass jemand versucht so eine SSD zu bauen. Dann würde ich auch total verstehen, warum die nach und nach abkotzt.
Die wären im Einzelfall vielleicht besser und dafür in anderen schlechter. Im Mittel wahrscheinlich nicht besser.

da MyDefrag beidem Monthly Plan ja praktisch alle Dateien der Reihe nach neu schreibt, hast Du den im Moment nicht, er wird nach einiger Zeit aber wieder auftreten.
Deshalb habe ich das mit MyDefrag ja gemacht.
Wenn Dateien, die jetzt schnell sind wieder langsam werden, weiß ich dass die SSD intern für mich falsch optimiert und das ist höflich formuliert.

Total bunt verteilt ist nicht WortCase sondern Best-Case!
Vielleicht hätte ich hier exakter sein sollen. Sagen wir mal total bunt = maximale Distribution der Hostdaten über LBAs und SSD in minimalster Dateneinheit. WorstCase halt.

Welche sind denn langsam?
Vor allem Readonly files, die ich gleich am Anfang draufkopiert habe. Archive, Datenbankfiles einer Datenbank, die nur gelesen würde, wenn ich sie überhaupt nutzen würde.
Dateien im 2 GB-Bereich von Spielen, die ich nicht mehr spiele :)

Wenn die jetzt wieder langsam werden, kann ich nur folgende Theorien annehmen:
1. Die Evo optmiert für mich falsch und macht den Zugriff auf alte Daten langsam, weil neue Daten bevorzugt werden und die SSD nicht auf zusammenhängende LBAs optimiert.

2a. Die Evo hat Schwierigkeiten mit der Datenhaltbarkeit (Data Retention) und Daten, die schon eine Weile nicht mehr gelesen wurden, habe so viele ECC-Fehler, dass die gleich beim Lesen in neue Bereiche verschoben werden.

2b. Hat zwar viele ECC-Fehler, die aber ausreichend korrigierbar sind, weshalb das Lesen zwar lahm ist, die Daten aber noch nicht umkopiert werden müssen, denn das würde ja Zyklen kosten.

Gegen 2a spricht, dass die Dateien auch beim 2ten oder 3ten lesen nicht schneller wurden. Auch nach einiger Wartezeit (1h) nicht.
 
klampf schrieb:
2b. Hat zwar viele ECC-Fehler, die aber ausreichend korrigierbar sind, weshalb das Lesen zwar lahm ist, die Daten aber noch nicht umkopiert werden müssen, denn das würde ja Zyklen kosten.

Bis zum ECC-Fehler würde ich noch nicht gehen aber, dass das Auslesen der Page nicht so ideal/Eindeutigkeit ist wie bei einer "frisch" geschriebenen und somit der einzelne Lesevorgang länger dauert bzw. mehrere Lesevorgänge ausgeführt werden.
 
klampf schrieb:
Ist verstanden, ich habe auch eine Idee wie so etwas aussieht und wie ich es selbst designen würde.
Ich weiß natürlich nicht wie es tatsächlich implementiert ist.
Wie ich sehe, lernst Du schnell und das freut mich. Dann ist die Zeit ja nicht umsonst, die ich hier verbringe. Natürlich weiß ich auch nicht wie jeder Hersteller was genau implementiert hat, aber wenn man weiß was gemacht werden muss und kann und sich überlegt, welche Möglichkeiten es dafür gibt und welche Folgen die einzelnen Lösungswege haben, dann kann man bei genauer Beobachtung des Verhaltens der SSD reicht gut erraten, wie die wohl realisiert wurden. Für noch genauere und fundiertere Informationen müsste man die FW disassablen und sich mit den Assembler der diversen CPU Architekturen der Controller auskennen. Das wäre aber vermutlich nicht so ganz legal und nur Mitarbeitern bestimmte Agenturen erlaubt, die wohl auch einfacher an diese Informationen kommen könnten.
klampf schrieb:
Ich würde es so designen, dass es den Zugriff auf zusammenhängende LBAs optimiert.
Das ist ja auch der Einzige, was der Controller weiß, normalerweise jedenfalls.
klampf schrieb:
Das wäre dann auch die Optimierungsstrategie bei einer Garbage Collection.
Das ist die Frage, ob man sich da die Mühe macht diesen Zusammenhang auch über die Zeit zu beachten. Das macht die GC und auch die Ilde-GC ja noch einmal komplexer.
klampf schrieb:
Alles andere halte ich für verfehlt, denn die SSD weiß einfach nicht genug vom darüber liegenden System.
Das stimmt, aber es gab bei Samsung mal eine FW für eine SSD aus der Zeit vor der Einführung von TRIM, welche Windows Filesysteme, zumindest NTFS, interpretiert und die von als gelöscht markierten LBAs geleert hat. Das ging bei zwei der SSDs im RAID 0 dann total daneben, was zu erwarten war. Meines Wissens wurde das zum Glück nicht weiter verfolgt, denn schon eine Änderung der Definition der Metadaten von NTFS wäre ja fatal.
klampf schrieb:
Ein typisches normales Filesystem wie NTFS geht mit Annahme an den Start, dass die darunter liegende Schicht (also die Festplatte) für den Zugriff auf zusammenhängende LBAs optimert ist.
Ja, das ergibt sich ja auch aus der Funktionsweise von HDDs und der Zugriffe, alles andere wäre unlogisch und da der Controller intern ja sowieso die Daten anders anordnet, wäre es sowieso sinnlos auf höherer Eben was optimieren zu wollen.
klampf schrieb:
Weißt Du welche Transfergrößen wirklich genutzt werden?
Das hängt davon ab. Erstmal begrenzt der ATA Befehlssatz auf 32MiB, dann gibt die SSD im im WORD 47 der IDENTIFY DEVICE Command Data (S.10, hier 0x8010 = 32784 Sektoren) an, wie viele Sektoren (logische, also 512Byte) sie mit einem MULTIPLE Kommando maximal übertragen kann, nur die werden heutzutage eigentlich noch genutzt. Dann bestimmt der Treiber natürlich auch selbst noch, wie viele Sektoren er mit einem Kommando übertragen will oder kann. Wenn der die Informationen der IDENTIFY DEVICE Data nicht nutzt, waren im Draft des ATA8-ACS je noch nicht definiert, dann wird es wohl konservativ sein und nur 64 oder 128k am Stück übertragen, was den HDDs ja reicht um die maximalen Transferraten zu erreichen. Dann hängt es natürlich noch davon ab, wie lang die Zugriffe des Programms sind und was die API bzw, das OS darauf machen. Am Ende kommt es immer auf den kleinsten Wert an.
klampf schrieb:
Kann schon sein, dass die später nochmal zusammengefasst werden, aber dann kann man schon nicht mehr wissen, ob die von einem Programm kommen, also zu einer Datei gehören.
Was mit einem Befehl geschrieben wird, gehört normalerweise zur gleichen Datei, außer man klont.
klampf schrieb:
Mit NCQ und Multi-Tasking. Auch auf Treiber/Puffer/Cache-Ebene würde der wohl sowieso zu maximal großen Zugriffen zusammenfassen und das sind dann auch wieder zusammenhängende LBAs.
Auch wenn parallel geschrieben wurde, ist es sinnvoll die Daten auf maximale Performance orientiert zu verteilen, damit man viele IOPS Schreibend erreicht. Auch gerade bei der Evo mit ihren Turbowrite Puffer wäre es auch gut möglich die Daten zusammen zu fassen, wenn man sie in den normalen TLC Bereich zu schreibt.

klampf schrieb:
Hast Du irgendeinen Hinweis, dass Deine "Der Controller versucht zu raten, was eine Datei ist"-Theorie stimmt?
Wo habe ich behauptet, dass der Controller versucht zu raten, was zusammenhängen könnte? Er weiß es bei langen Schreibzugriffen, weil da viele LBAs mit einem Befehl geschrieben werden. Da aber moderne NANDs 8k oder gar 16k Pagesize haben und dahinter noch einige Byte die i.d.R. für ECC und vielleicht noch andere Verwaltungsdaten enthalten (z.B. bei Crucial/Micron die LBAs) und man immer eine ganze Page lesen oder schrieben muss, macht es halt Sinn, dass der Controller die Daten von zwei (oder eben 4 bei 16k Pages) nacheinander geschrieben Clustern (bei NTFS üblicherweise 4k) dann auch in einer Page ablegt, selbst wenn diese nicht mit einem Befehl geschrieben wurden. Zumindest sofern nicht zu viel Zeit zwischen den Schreibbefehlen liegt.

klampf schrieb:
Wenn Dateien, die jetzt schnell sind wieder langsam werden, weiß ich dass die SSD intern für mich falsch optimiert und das ist höflich formuliert.
Möglich und vielleicht hat die Evo diese Problem ja auch. Aber ein Low-Level Benchmarks reicht eben als Beweis dafür nicht aus, da dabei zu viele andere Effekte eine Rolle spielen können.

klampf schrieb:
Wenn die jetzt wieder langsam werden, kann ich nur folgende Theorien annehmen:
1. Die Evo optmiert für mich falsch und macht den Zugriff auf alte Daten langsam, weil neue Daten bevorzugt werden und die SSD nicht auf zusammenhängende LBAs optimiert.
Das würde ich für wahrscheinlich halten, aber dann darf die Datei auch wirklich nicht teilweise über- oder neugeschrieben worden sein, also z.B. auch kein chkdsk /r ausgeführt worden sein.

klampf schrieb:
2a. Die Evo hat Schwierigkeiten mit der Datenhaltbarkeit (Data Retention) und Daten, die schon eine Weile nicht mehr gelesen wurden, habe so viele ECC-Fehler, dass die gleich beim Lesen in neue Bereiche verschoben werden.
Beim Lesen leidet die Ladung der Zellen zwar auch und daher führt auch Lesen zum Verschleiß oder Datenverlust, wenn der Controller diese Verluste nicht berücksichtigt (Mist, jetzt kommen sicher bald auch noch Optimierungsanleitungen um die Lesezugriffe zu minimieren :evillol:). Aber der Effekt ist gering und daher kaum geeignet den Verlust an Leseleistung zu erklären.

klampf schrieb:
2b. Hat zwar viele ECC-Fehler, die aber ausreichend korrigierbar sind, weshalb das Lesen zwar lahm ist, die Daten aber noch nicht umkopiert werden müssen, denn das würde ja Zyklen kosten.
Die ECC muss immer geprüft werden, da Bitfehler immer vorkommen können. Zwar weiß ich nicht wie das Laufzeitverhalten der ECC Algorithmen auf den ARM-Cortex-R4-Kernen der MDX/MEX Controller ist, aber ich glaube kaum, dass die Korrektur so viel aufwendiger als das Erzeugen und prüfen ist. Immerhin schafft er das Prüfen mit über 500MB/s und die Erzeugung in der 850 Pro auch mit über 500MB/s und die Daten im Turbo-Write dürfte auch nicht ohne ECC geschrieben werden.

Daher würde ich das mal eher nicht für wahrscheinlich halten.
klampf schrieb:
Gegen 2a spricht, dass die Dateien auch beim 2ten oder 3ten lesen nicht schneller wurden. Auch nach einiger Wartezeit (1h) nicht.
Deshalb wäre 1. mein Favorit, zumal das beachten der Zusammenhänge den Algorithmus der GC noch komplexer und damit langsamer macht, was die Performance Consistancy verschlechtern würde und die misst ja nun schon fast jeder Review. Da es nichts umsonst gibt, hat man dann vielleicht dort das Opfer gebracht.

Man sieht aber mal wieder, dass die Frage der Perfomance bei SSDs extem komplex ist, weit komplexer als bei HDDs. Der Aspekt der Leseperformance alter Dateien ist wohl nur noch ein Stein in den großen Puzzle, aber ein schwer zu erfassender.
 
Ich habe jetzt den ganzen Thread durchgelesen und zugeben nicht alles verstanden.

Aber heißt das dann, dass die 840 Evo eher schlecht geeignet für Videobearbeitung wäre? Denn dabei liegen ja generell sehr große (Video)-Dateien auf der SSD, und meistens lange ohne verändert zu werden.
 
Rios schrieb:
Aber heißt das dann, dass die 840 Evo eher schlecht geeignet für Videobearbeitung wäre?
Es ist leider nicht wirklich klar, was mit den Daten passiert ist.
Das lässt sich also schlecht beantworten.
Der Begriff "alt" ist dabei auch schwierig.

Die Crucial M550 liegt preislich gleich und ist auch ein passender Kandidat.
 
Rios schrieb:
Aber heißt das dann, dass die 840 Evo eher schlecht geeignet für Videobearbeitung wäre?
Videoschnitt auf Rohdaten? Das ist die Evo nicht so optimal, da das schon eine schreibintensive Anwendung ist und dafür sind die Evo nicht gemacht. Bei einer 1TB Evo hast Du selbst dann noch über 400MB/s Schreibrate wenn die 12GB TurboWrite voll sonst, aber andere können das besser.
Rios schrieb:
Denn dabei liegen ja generell sehr große (Video)-Dateien auf der SSD, und meistens lange ohne verändert zu werden.
Wenn Du es Dir leisten kannst die Daten so lange auf der SSD zu lagern? Das Problem scheint ja nur für Daten aufzutreten, die vor längerer Zeit geschrieben wurden und dann ist das alles auch eine Frage der Kodierung der Videos, denn wenn es kein Rohmaterial ist, dürfte der Decodierung und erneute Kodieren der Video so langsam sein, dass die Schreib- Leseraten des Speichermediums dagegen in den Hintergrund treten. Wenn es Rohmaterial ist, dann kommst Du aber mit 1TB sowieso nicht so weit und dann würde ich kaum annehmen, dass Du die Daten da sehr lange vor dem Schneiden auf dem teuren SSD Platz lagern wirst.
 
Ne, alle Dateien für die Videobearbeitung habe ich auf HDD.

Nur wenn ich gerade an etwas arbeite, liegt das aktuelle Projekt auf der SSD.
Komplett, also Videodateien, Ton, zusätzliche Musik, etc.
Wenn ich dann damit fertig bin, verschiebe ich alles wieder auf die HDD zur Archivierung.

Hab mir jetzt die 1TB Evo extra für sowas gekauft, da mir der Platz reicht und ich die SSD im Angebot für 300€ bekommen habe. Gibt es da eine SSD mit 1TB für 300€ ,die besser als die Evo für Videoschnitt geeignet ist? Da muss man doch bestimmt viel tiefer in die Tasche greifen.
 
Ich schreib grad ein Test-Tool dass die Leserate aller Dateien aus einem ausgewählten Verzeichnis (und darunter) ermittelt.

Auf meiner (nur) 2 Wochen alten 1TB EVO (die zu 80% voll ist) konnte ich damit noch kein Problem feststellen.

Was ich allerdings festgestellt habe ist, dass selbst die sequentielle Leserate recht stark vom eingestellten Energiesparmodus abhängt. Auch bei meiner Samsung 830 liegt zwischen 'Power Saver' und 'High Performance' Modus 100MB/s Unterschied.

Wenn ich noch ein wenig an dem Tool gebastelt habe dann kann ich das hier zum testen bereitstellen ob es wirklich diesen Effekt gibt.

file_bench_powersavings evo.png
 
Zuletzt bearbeitet:
Rios schrieb:
Hab mir jetzt die 1TB Evo extra für sowas gekauft, da mir der Platz reicht und ich die SSD im Angebot für 300€ bekommen habe. Gibt es da eine SSD mit 1TB für 300€ ,die besser als die Evo für Videoschnitt geeignet ist? Da muss man doch bestimmt viel tiefer in die Tasche greifen.
Die M550 ist ja die einzig andere 1 TB im normalen Preisbereich.
Okay, ich sehe, es gibt noch eine Adata.
Die 850 pro ist noch nicht lieferbar.

Holt schrieb:
Bei einer 1TB Evo hast Du selbst dann noch über 400MB/s Schreibrate wenn die 12GB TurboWrite voll sonst, aber andere können das besser.
Ich habe das gestern auch mal getestet und mit dem schon früher verwendeten Tool Parkdale und wenn Dateien mit 40 GB schreibt, geht bei meiner 1 TB evo die Schreibrate auf 390 Mb/s runter, was den Tests entspricht und ich auch nicht so tragisch finde.
In den Benchmarks, die man so im Netz findet, nehmen sich die M550 und die 840 evo nicht so viel. Bei den praktischen Test ist die evo meist vorne weg.
Es scheint, dass die bei kleinen Zugriffen etwas schneller ist als die Crucial.

Sonst reden wir doch über sowas als "bessere Alternative":
http://geizhals.de/intel-ssd-dc-p3700-series-1-6tb-ssdpedmd016t401-a1124975.html

Blublah schrieb:
Wenn ich noch ein wenig an dem Tool gebastelt habe dann kann ich das hier zum testen bereitstellen ob es wirklich diesen Effekt gibt.
:cheerlead:

Bei mir ist die Situation wie gehabt. Mit HD Tune gelesen, ist der Anfang der SSD noch lahm. Danach fluppt es.
Auf der SSD ist aber auch nicht besonders viel los. Da sind gerade mal 150 GB write dazugekommen.

Ich denke immer noch drüber nach, ob die Daten, die langsam waren per Imaging auf die SSD gekommen sind.
 
klampf schrieb:
Mit HD Tune gelesen, ist der Anfang der SSD noch lahm. Danach fluppt es.

Der HD Tune Test liesst sektorenweise und scheint keine Relevanz für das lesen von Dateien zu haben. Bei mir zeigt er so 200MB/s für den Grossteil der EVO an (ist 80% voll) aber wenn ich Dateien mit meinem Tool lese (oder mit Explorer auf die 830 kopiere) dann kriege ich Leseraten zwischen 350MB/s und 480MB/s.

Bei der 830er zeigt HD Tune Werte zw. 350MB/s und 400MB/s. Dateien werden aber immer nochmal schneller gelesen.

Der HD Tune Test scheint also eher zu zeigen wie effizient das Mapping von Sektoren auf die interne SSD Struktur ist als dass man praxisrelevante Dateilesewerte davon ableiten könnte.

Deswegen hab ich auch angefangen das kleine Tool zu schreiben.
 
Zuletzt bearbeitet:
Zurück
Oben