840 evo 1 TB ist lahm auf "alten" Daten

Hallo32 schrieb:
Die Frage ist nur, wie/wie viel räumt der Controller auf?
Das Zusammenfassen der noch gültigen Daten geht auf die WA. Wie ist die Gewichtung "Daten zusammenfassen" und WA in Firmware des Controllers?
Das hängt sicher von einigen Faktoren ab, neben der konkreten SSD auch davon, wie viel Platz im ganzen frei ist.
Hallo32 schrieb:
Werden aufgrund der WA evtl. nur x% der SSD Kapazität getrimmt?
Getrimmt werden die LBAs von Windows, wenn die Dateien gelöscht werden. Was Du meinst ist, ob die wirklich aufgeräumt werden, als die Blöcke mit den alten, jetzt ungültigen Daten wirklich gelöscht werden.
Hallo32 schrieb:
(SF hatte doch so etwas.)
Ja, der SF räumt im Idle immer nur so viel auf, wie ab Werk an OP zur Verfügung steht und er löscht die Blöcke sogar erst, wenn sie wieder neu beschrieben werden, weshalb die im Normalzustand ja auch langsamer schreiben als im Neuzustand und die Schreibrate dann eben nach entsprechend vielen am Stück geschriebenen GB weiter einbricht, weil eben während des Schreibens dann aufgeräumt werden muss und das nennt SF den Recovery Mode.
Hallo32 schrieb:
Was passiert, wenn man mehr als die x% in einen Durchgang auf die SSD schreibt?
Irgendwann kommt jeder SSD Controller in der Verlegenheit während des Schreibvorgang auch Aufräumen zu müssen, weil keine freien Blöcke mehr verfügbar sind und dann bricht bei allen die Schreibrate ein. Das aber wie gesagt nicht das Thema wenn es um Fragmentierung geht und hat auch mit dem Thread nichts zu tun, da geht es ja um die Leserate.
Hallo32 schrieb:
In diesen Fällen spielt es schon eine Rolle ob wir von einer Partition reden oder von einer ganzen SSD und dabei dann auch noch von welcher.
Für das was intern im Controller abgeht ja, für die Zugriffe auf die SSD durch das Filesystem nicht.
 
Holt schrieb:
Es muss schon eine frisch formatierte Partition sein, bei "gebrauchten" gelten andere Regeln für das Recylcen von LBAs. War es eine frisch formatierte Partition?

Auf einer SD Karte funktionierte es auf einer frisch formatierten NTFS Partition.
Ergänzung ()

Holt schrieb:
Für das was intern im Controller abgeht ja, für die Zugriffe auf die SSD durch das Filesystem nicht.

Das interne Verhalten des SSD Controllers dürfte aber die Messwerte beeinflussen ...
 
Hallo32 schrieb:
Auf einer SD Karte funktionierte es auf einer frisch formatierten NTFS Partition.
Funktionieren heißt, dass die Dateien da jetzt schön der Reihe nach auf den Clustern abgelegt werden?

Hallo32 schrieb:
Das interne Verhalten des SSD Controllers dürfte aber die Messwerte beeinflussen ...
Deswegen würde ich ja auch nur eine kleine Partition anlegen und darauf achten, dass die SSD, z.B. auf anderen Partitionen, noch genug Platz frei hat. Dann sollte egal sein ob was aufgeräumt wurde oder nicht, der Controller müsste in jedem Fall genug freie Pages zum Schreiben haben ohne dabei Blöcke aufräumen zu müssen. Das kann man ja auch durch Benchen auf einer anderen Partition prüfen, denn hat man den Vergleich von nicht bzw. kaum fragmentiert zu extrem fragmentiert und darum ging es Dir ja ursprünglich.
 
Holt schrieb:
Funktionieren heißt, dass die Dateien da jetzt schön der Reihe nach auf den Clustern abgelegt werden?
Ja.
Ergänzung ()

Holt schrieb:
Das kann man ja auch durch Benchen auf einer anderen Partition prüfen, denn hat man den Vergleich von nicht bzw. kaum fragmentiert zu extrem fragmentiert und darum ging es Dir ja ursprünglich.

Aktuelle Referenzen für die Partition existieren. Das Beschreiben mit 4K Dateien scheint sich aber in die Länge zu ziehen. Von ehemals 20 MB/s sind es aktuell nur noch ~20kB/s.

Ist dir bekannt ob das NTFS mit vielen Dateien, einigen Millionen, Probleme hat bzw. langsam wird?
 
Da der Aufwand bei der Verwaltung größer ist, wird NTFS mit viele Datein nicht schneller, aber wenn Du sie in ein Unterverzeichnis packst, sollte das keine Rolle spielen. Wenn das eine SD Karte ist, wurden mich die 20kB/s nicht, die Dinger sind ja kurzen, zufälligen Schreibzugriffen wirklich elenadig langsam und erst bei wirklich langen Schreibzugriffen dann auch schnell. Da sind sie wie die ersten NANDs basierten SSDs und der Unterschied ist noch einmal ungleich größer als bei aktuellen SSDs.

Wie Du aber wohl schon siehst hat die Fragmentierung offenbar einen Einfluss auf die Performance. Im Alltag ist der eher theoretisch, aber wenn man es so auf die Spitze treibt, dann wird der Einfluss auch ganz praktisch sichtbar.
 
Holt schrieb:
Da der Aufwand bei der Verwaltung größer ist, wird NTFS mit viele Datein nicht schneller, aber wenn Du sie in ein Unterverzeichnis packst, sollte das keine Rolle spielen.

Die Dateien wurden jetzt auf Ordner verteilt und mit 64 Threads brach die Datenrate nicht mehr so extrem ein.

Holt schrieb:
Wenn das eine SD Karte ist, wurden mich die 20kB/s nicht, die Dinger sind ja kurzen, zufälligen Schreibzugriffen wirklich elenadig langsam und erst bei wirklich langen Schreibzugriffen dann auch schnell.

Die SD war nur zum Testen des Tools. Die 20kB/s waren es mit der M4.
Ergänzung ()

Ein paar Werte zum Thema Fragmentierung.

Zustand der Partition:
Anhang anzeigen 438472
Anhang anzeigen 438475
Anhang anzeigen 438476

Referenz:
Anhang anzeigen 438477
Anhang anzeigen 438478
Anhang anzeigen 438482
Anhang anzeigen 438485
Anhang anzeigen 438488
Anhang anzeigen 438490

Test Partition:
Anhang anzeigen 438479
Anhang anzeigen 438480
Anhang anzeigen 438486
Anhang anzeigen 438487
Anhang anzeigen 438489
Anhang anzeigen 438491
 
sheng, das sagt, dass Fragmentierung auch bei SSD eine Einfluss auf die Performance hat, wenn sie zu groß wird. Das widerlegt den verbreiteten Irrglauben, das Fragmentierung bei SSD keine Rolle spielt, weil ja die SSDs die Daten sowieso intern ganz anders über den Flashspeicher verteilen.

Hallo32, Danke, das zeigt es doch mal deutlich und belegt, was ich immer wieder zu dem Thema schreibe! Da war zwar eine größere Lücke mit 2M, aber totzdem würde ich aufgrund der Werte vermuten, dass Windows die Fragmente parallel einliest. Wie zu erwarten sind die 4k QD1 und 4k QD>1 kaum verändert, die sequentiellen Werte leiden aber ganz schön und das fällt wegen des SATA 3Gb/s Anschlusses bei Dir sogar noch viel weniger auf als wenn die SSD an einem nativen SATA 6Gb/s Port hängen würde.

Es gibt übrigens bei AS-SSD und Anvil auch Kommentarspalten, die sollte man bei solchen Vergleich für Kommentare nutzen, damit beim Betrachten der Screenshots klar wird, was da jeweils zu sehen ist.
 
Ok, die EVOs scheinen wirklich von 'Defragmentierung' zu profitieren.

Hier ging die Lesegeschwindigkeit von durchschnittlich 66MB/s auf 461MB/s respektive vor- und nach der Defragmentierung mit MyDefrag 'Data Monthly' rauf.

http://www.overclock.net/t/1507897/samsung-840-evo-read-speed-drops-on-old-written-data-in-the-drive/60#post_22807955

Hier ist noch das File Bench Programm dass ich für den Test geschrieben habe.
Anhang anzeigen File Bench.zip
Die Ergebnisse von FileBench in dem Fall oben sind sehr änlich dem von HD Tach. Auf meinem System lieferte der sektorenweise Zugriffe allerdings viel langsamere Ergebnisse als die dateiweise Zugriff von FileBench.

Damit kann man alle Dateien ab einer bestimmten Grösse ab einem ausgewählten Verzeichniss auf die Lesegeschwindigkeit testen.Danach kann man dann bei langsamem Gesamtdurchschnitt z.B. nach Datum sortieren um zu sehen ob die älteren Dateien tendenziell langsamer als die neuen Dateien sind.
 
Zuletzt bearbeitet:
Wow, das ist ja lustig. Ich hatte den englischen Thread nicht weiterverfolgt. Da geht ja richtig was ab.
Warum sagst Du nix? :)

Vor allem die Bestätigung, dass es wirklich die "alten Dateien" sind.

Drecks-Evo ... auch in dem anderen Thread wird die Theorie aufgestellt, dass die Evo Schwierigkeiten hat alte Dateien zu lesen, weil die z.B. so weit degradiert sind. Das klingt leider auch am plausibelsten.
Für mich ist die SSD damit vorerst nicht mehr empfehlbar.

Ich habe noch einen Arbeitslaptop mit einer 500er evo (und Vollverschlüsselung). Braucht Dein Tool Adminrechte?
 
Nettes Programm, die könntest noch die Anzeigen aufnehmen, wie viele Fragmente jede Datei hat (und die vielleicht dir durchschnittliche Fragmentgröße um das leichter sortieren zu können), dann wäre es richtig "rund"
Ergänzung ()

klampf schrieb:
Für mich ist die SSD damit vorerst nicht mehr empfehlbar.
Naja, wenn ich sehen wie oft manche ihr Windows neu installieren, dann dürften nicht so viele User von dem Problem betroffen sein. :evillol:
klampf schrieb:
Braucht Dein Tool Adminrechte?
Nein, das installiert den Virus auch so ;) War nur ein Scherz - hoffentlich :rolleyes:
 
Zuletzt bearbeitet:
Habe auch gerade mal den Filebench laufen lassen.
Gutes Tool, eigentlich praktisch für vieles. :)
Mit der default minsize von 10 kamen 485 MB/s im Mittel raus.

Legt das Tool ein log an oder so?
In dem anderen Forum hatten die doch Textdateien dachte ich.

Ach nee, das waren Screenshots.
 
Zuletzt bearbeitet:
klampf schrieb:
Wow, das ist ja lustig. Ich hatte den englischen Thread nicht weiterverfolgt. Da geht ja richtig was ab.
Warum sagst Du nix? :)

Hab erst Gestern Abend das Tool dort hochgeladen. Aber die Jungs dort waren sehr schnell. Nach dem ich die Ergebnisse gesehen habe, hab ich ihnen empfohlen mal MyDefrag zu testen nachdem du das ja mit gutem Erfolg verwendest hast. Und auch dort sind die Ergebnisse vor und nach der Fragmentierung eindeutig.


Holt schrieb:
Nettes Programm, die könntest noch die Anzeigen aufnehmen, wie viele Fragmente jede Datei hat (und die vielleicht dir durchschnittliche Fragmentgröße um das leichter sortieren zu können), dann wäre es richtig "rund"

Stimmt, das wäre interessant. Da muss ich aber erst ein wenig graben um rauszukriegen wie das überhaupt geht. Was ich noch nicht verstehe ist, wie die alten Dateien über die Zeit überhaupt fragmentiert werden sollen wenn die Datei nicht geändert wird.

Ansonsten wäre wohl eine Log Datei wohl das nächst- nützlichste Feature. Evtl gleich in nem Format das man z.B. bei Excel importieren kann um ein paar Statistiken zu machen.


Theoretisch könnte ich die 'Defragmentierung' für die Dateien auch gleich in das Tool einbauen. Es sollte ja ausreichen die Datei ein mal zu kopieren.
 
Zuletzt bearbeitet:
Nein, alte Dateien werden nicht mit der Zeit fragmentiert, wenn sie nicht noch verändert werden. Aber so könnten schon fragmentiert abgespeichert worden sein, wenn damals das Filesystem schon keine passenden Lücken mehr geboten hat. Gerade wenn eine SSD länger nicht neu formatiert oder mal defragmentiert wurde und beides vermeiden die meisten SSD Besitzer ja aus (unbegründeter!) Angst um die Haltbarkeit und auch noch sehr voll ist (kommt ja auch oft vor, die Kapazitäten sind ja klein und die SSDs teuer), dann kommt Fragmentierung oft vor.

Wie Du die Fragmentierung rausfindest, musst Du mal in MSDN schauen oder schau mal auf die Seite von JKDefrag, dem Vorgänger von MyDefrag, da ist auch der Source Code der letzten Version verlinkt.
 
Drüben in overclocker.net hat jemand seine SSD wieder auf vollen Speed gebracht, in dem er die unter Linux per dd komplett refreshed hat.
Das ganze ohne Zwischenfile, also direkt von der SSD auf die SSD geschrieben.
D.h. jeder Block wurde einfach gelesen und wieder zurückgeschrieben.
Da ändert sich an der Fragmentierung von Files auf der Ebene Filesystem nichts.

Da die danach auch wieder schnell ist, fallen zwei Theorien raus:
1. Meine, dass es evtl. daran liegt, dass die Files mit einem Imaging-Tool aufgespielt wurden
2. Holts, dass die SSD irgendwie auf Dateien optimiert oder dass er langsame Speed durch hohe Fragmentierung auf Filesystemebene kommt.
 
klampf schrieb:
Drüben in overclocker.net hat jemand seine SSD wieder auf vollen Speed gebracht, in dem er die unter Linux per dd komplett refreshed hat.
Das ganze ohne Zwischenfile, also direkt von der SSD auf die SSD geschrieben.
D.h. jeder Block wurde einfach gelesen und wieder zurückgeschrieben.

Ja das ist interessant. Hier ist das Zitat:
used a tool that copies data instead of a defragger. I've set input and output to be the drive's device. This means it worked on the drive itself below the file system and partitions. Basically, it reads a block of data of a certain size, then writes it back directly afterwards into the exact same place. Speed was back to normal afterwards.

Ich glaube auch nicht dass die normale Fragmentierung die entscheidende Rolle spielt. Ich frage mich eher was bedeutet sequentieller Zugriff bei einer SSD überhaupt?

Zum Beispiel kann eine SSD die Daten einer Datei doch schneller lesen, wenn diese über mehrere Speicherchips verteilt sind. Bei einer grossen Leseanfrage kann dann die SSD die aufeinanderfolgenden Daten einer Daten parallel aus verschiedenen Speicherbausteinen im voraus lesen.


Holt schrieb:
Wie Du die Fragmentierung rausfindest, musst Du mal in MSDN schauen oder schau mal auf die Seite von JKDefrag, dem Vorgänger von MyDefrag, da ist auch der Source Code der letzten Version verlinkt.

Danke, werd ich mal reinschauen wenn ich Zeit hab.
 
Zuletzt bearbeitet:
Blublah schrieb:
Zum Beispiel kann eine SSD die Daten einer Datei doch schneller lesen, wenn diese über mehrere Speicherchips verteilt sind. Bei einer grossen Leseanfrage kann dann die SSD die aufeinanderfolgenden Daten einer Daten parallel aus verschiedenen Speicherbausteinen im voraus lesen.

Die klassische Lösung ist die eines jeden Raid-0, die Daten werden mit einem festen Muster in festen Stripes/Chunks (Blöcke von Daten fester Größe) auf die Bausteine/Channels verteilt.
So ein bisschen hatten wir das schon diskutiert. Ich wüsste nicht warum die SSD da etwas anders machen sollte.

Klar findet dann darunter noch eine Verteilung der Stripes auf eben die Bereiche der Flashbausteine statt, die gerade mit dem Beschreiben dran sind.
Das würde reichen.

Ich kann mir dann noch vorstellen, dass da manchmal die Stripes nicht perfekt parallel verteilt werden, sondern aus irgendwelchen Gründen auch mal nicht optimal in einem Chip landen.
Könnte ein Seiteneffekt sein, wenn nur wenig geschrieben oder geändert wird.
 
Zuletzt bearbeitet:
klampf schrieb:
Da die danach auch wieder schnell ist, fallen zwei Theorien raus:
1. Meine, dass es evtl. daran liegt, dass die Files mit einem Imaging-Tool aufgespielt wurden
2. Holts, dass die SSD irgendwie auf Dateien optimiert oder dass er langsame Speed durch hohe Fragmentierung auf Filesystemebene kommt.
Moment, dass die Fragmentierung in Deinem Fall nicht schuld ist, war schon klar und lässt sich ja mit contig -a <file> auch leicht prüfen. Der Test von Hallo32 zeigt nur, dass die Fragmentierung eben durchaus die Performance beeinträchtigen kann, wenn eine Daten extrem fragmentiert ist.

Hier dürfte klar sein das der Controller die Daten mit der Zeit intern so umverteilt, dass die eben nicht mehr gut parallel gelesen werden können und dieser Test mit dd oder auch das Defragmentieren, sind nicht anderes als den Controller dazu zu zwingen die Daten komplett neu zu schreiben. Ob sie wieder auf dem gleichen LBA (wie mit dd) oder auf anderen (beim Defragmentieren) landen, ist dabei egal, sie müssen intern immer in andere Pages geschrieben werden und da das eben mit längere Zugriffen erfolgt, werden sie dabei auch gut verteilt.
Blublah schrieb:
Ich glaube auch nicht dass die normale Fragmentierung die entscheidende Rolle spielt. Ich frage mich eher was bedeutet sequentieller Zugriff bei einer SSD überhaupt?
Das ist ein Zugriff wo bei einem ATA Befehl viel Daten in einen Bereich aufeinander folgender LBAs geschrieben werden. So ein ATA Befehl kann ja einen LBA und die bis zu 2^16 LBAs darauf folgenden auf einmal adressieren, also maximal 32MiB.

Blublah schrieb:
Zum Beispiel kann eine SSD die Daten einer Datei doch schneller lesen, wenn diese über mehrere Speicherchips verteilt sind. Bei einer grossen Leseanfrage kann dann die SSD die aufeinanderfolgenden Daten einer Daten parallel aus verschiedenen Speicherbausteinen im voraus lesen.
Das ist eben die Frage, ob die Evo das bei den alten Daten noch kann, denn dazu müssen sie auch so abgespeichert sein, dass sie wirklich parallel gelesen werden können. Das wurden offenbar als sie mal geschrieben wurden, nur scheint es eben so zu sein, dass die interne GC diese irgendwann so ungeschickt umverteilt, dass es nach einige Zeit nicht mehr geht. Wenn also z.B. die Daten alle in aufeinander folgenden Pages und Blöcken des gleichen NAND Dies landen, dann kann da nichts mehr parallel gelesen werden und dazu passen dann die etwas über 30MB/s, die wohl im Extremfall nur noch erreicht werden. Das scheint ein klarer Fehler in der FW zu sein, wo die GC die falsche Strategie für die interne Verteilung von alten Daten hat. Schon das Wear Leveling erfordert ja, dass auch alte Daten immer mal intern neu geschrieben werden müssen.

klampf schrieb:
Die klassische Lösung ist die eines jeden Raid-0, die Daten werden mit einem festen Muster in festen Stripes/Chunks (Blöcke von Daten fester Größe) auf die Bausteine/Channels verteilt.
Nur ist das bei einem RAID0 eben viel statischer, bei einer SSDs ist das weit dynamischer und eigentlich passiert diese Verteilung dann nur für Daten die am Stück geschrieben werden, also mit einem Befehl.

klampf schrieb:
Ich kann mir dann noch vorstellen, dass da manchmal die Stripes nicht perfekt parallel verteilt werden, sondern aus irgendwelchen Gründen auch mal nicht optimal in einem Chip landen.
Könnte ein Seiteneffekt sein, wenn nur wenig geschrieben oder geändert wird.
Das Gegenteil dürfte der Fall sein, je mehr die SSD beschrieben wird, umso mehr müssen auch intern Daten umkopiert werden und dabei scheint das Problem eben aufzutreten, dass diese nun statt gut über die Dies verteilt eher nur in einem Die hintereinander stehen. Damit können sie eben nicht mehr parallel gelesen werden und deshalb ist das Lesen von den alten Dateien dann langsam und wenn man sie neu schreibt geht es wieder schnell.
 
Zurück
Oben