? Ich habe Windows 8 auf einer SSD installiert und dabei festgestellt, dass für das Laufwerk die automatische Optimierung aktiviert ist, zu der auch die Defragmentierung zählt.
Das ist seid Win 8 so, da wurde diese Optimierung für SSD eingeführt, die einem Batch-TRIM wie fstrim unter Linux entspricht.
Ich dachte immer, dass eine Defragmentierung bei SSDs nicht nur unnötig, sondern auch schädlich ist.
Schädlich nicht wirklich, die Schreibvorgänge erhöhen halt den Verschleiß, aber Haltbarkeit ist nun wirklich kein Problem bei aktuellen SSDs ordentlicher Hersteller die NANDs in entsprechenden Qualitätsstufen verbauen.
Im Rahmen der automatischen Defragmentierung sortiert Windows auch Dateien auf der Systempartition so um, dass es schneller bootet. Das bringt bei SSDs aber keinerlei Geschwindigkeitsvorteil.
Das ist richtig, aber das ist nur die Bootoptimierungsfuntion und bei weitem nicht die einzige Sache die beim Defragmentieren gemacht wird.
Flash-Speicher verträgt nicht unbegrenzt viele Schreibzugriffe.
Aber immer noch mehr als genug, die meisten SSDs dürfte ausrangiert werden wenn noch 90% der spezifizierten P/E Zyklen übrig sind. Wenn man einmal in der Woche defragmentieren würden es jedes mal einen P/E Zyklus kosten würden, wäre das bei 3000 Zyklen genug für 60 Jahre.
Braucht man 2 Zyklen für die normale Nutzung pro Woche hat man genug für 30 Jahren, kommt noch einer für eine wöchentliche Defragmentierung hinzu, wäre es 20 Jahren, immer noch mehr als genug, oder?
Naja was macht der Ssd Controller wenn er umsortieren darf? Richtig er schreibt die Blöcke am Stück voll sodass er viele neue leere am Stück hat.
Nein, dass ist nicht der entscheidende Effekt und das sollte die Idle-GC sowieso erledigen. Wichtiger ist die Adressierung, denn ein ATA kann bis zu 2^16 aufeinanderfolgende LBAs adressieren, also 32MiB! Länger als ein Fragment bzw. die Daten kann aber kein Zugriffs sein, sonst würde man ja Daten einer anderen Datei laden. Ist eine Datei fragmentiert, so liegen die Daten eben nicht alle in aufeinanderfolgenden LBAs, sondern eben in Fragmenten, wie viele kleine Dateien und damit sind statt weniger langer Zugriffe mehere kurze Zugriffe nötig um die Datei zu lesen oder zu schreiben.
Kurze Zugriffe sind aber bei SSDs langsamer als lange, was man z.B. mit HD Tune oder IOMeter messen kann. Schau mal in Reviews, HD Tune misst in der Standardeinstellung mit 64k Zugriffe, bei IOMeter wird meist mit 128k Zugriffen gebencht und bei beiden wird die Werte (bei QD 1) schlechter als bei CrystalDiskMark oder AS-SSD, die mit noch längeren Zugriffen arbeiten. ATTO zeigt das auch sehr deutlich, aber wegen der 4 Overlapping I/Os sind die Werte dort viel höher als bei QD1, hohe Transferraten werden also schon bei kürzeren Zugriffen erreicht.
Da aber die Zugriffszeite auf die einzelnen Fragmente bei SSDs sehr hoch ist, fällt der Effekt von Fragmentierung allenfalls dann auf, wenn diese schon sehr exterm ist. Defragmentieren macht sehr selten nur Sinn und deshalb kann man das auch bei SSDs unter Windows von Hand ausführen. Automatisch führen es aber weniger Win7 noch seine Nachfolger aus.
Theoretisch würde jede Art der Defragmentierung auch mit dem Wear Leveling kollidieren
Wieso? Es würde eigentlich im Gegenteil dem Controller auf die Sprünge helfen, wenn der mit dem Wear Leveling Probleme hat, weil die Daten ja mal auf andere LBAs geschrieben werden und damit die alten Daten die vielleicht in Blöcken mit wenigen P/E Zyklen liegen, ungültig werden. Damit kann der Controller diese Blöcke also wieder neu belegen und dort vielleicht Daten ablegen die weniger lange bleiben.