Hallo,
On 30.08.13 22.19, Tom Schneider wrote:
> Defragmentieren ist eher schädlich, da bei einer SSD das Management der
> benutzten Blöcke komplett eigene Wege geht und die grundlegende Idee der
> Defragmentierung aus der Zeit früher HDDs kommt.
so schaut's. Dem liegt die Annahme zugrunde, dass der Zugriff auf
benachbarte logische Blocknummern deutlich schneller ist, als auf
beliebige. Die Annahme ist bei Random-Access-Devices wie Speicherchips
falsch.
> Aus DOS-Zeiten erinnere ich mich noch an den Interleave-Faktor, wenn die
> HDD schneller rotierte als sie ausgelesen werden konnte. Dann konnte mit
> dem Interleave eingestellt, dass nur jeder zweite oder dritte Sektor
> gelesen wird, was dazu führte, dass die Scheibe entsprechend mehrfach
> rotieren musste, bis alle Daten auf der Spur eingelesen waren.
Ich weiß nicht. Als ich mit dem Thema Interleave Ende der 80er in
Berührung kam, war es eigentlich schon ein Anachronismus. Jedenfalls
wurde so jeder PC deutlich schneller, wenn es gelang die Festplatte mit
Interleave 1 neu Low-Level zu formatieren. Standard war oft 3. Aber
selbst ein 286er hat es i.a. geschafft, die paar kb/s, die damalige
Platten geliefert haben, wegzuschaffen.
> Kopfbewegungszeiten spielen bei der SSD auch keine Rolle mehr, daher
> würde Defragmentieren (fast?) nichts mehr bringen.
Im Gegenteil. Die SSD wird dabei i.a. langsamer, weil sie intern
fragmentiert.
Der SSD ist es sowieso egal, auf welche logischen Blocknummern die Daten
geschrieben werden. Sie schreibt hin wo sie will und merkt sich nur wo.
Man muss sich eine SSD mit Wear-Leveling eher vorstellen wie eine
Datenbank, wo unter einem eindeutigen Primärschlüssel, der Logischen
Block Nummer, feste Datenpakete, die Sektoren, abgelegt werden. Wenn ich
einer SSD den Befehl gebe, die Blöcke 7, 18 und 278 zu schreiben (*),
wird sie die Daten i.a. hintereinander in eine freie Page schreiben und
die alten Blöcke, die zu diesen Blocknummern gehören trimmen (= als zum
löschen freigegeben markieren). Und wenn (fast) alle Blöcke in einem
Erase-Block (z.B. 128 kB) als frei markiert sind, macht die SSD den
Erase-Block platt, um neue Schreibbefehle ausführen zu können. Wenn alle
Erase Blöcke nur halb leer sind, dann muss die SSD erst intern
defragmentieren, denn Erase-Blocks können immer nur komplett gelöscht
werden. Das gibt dann leichte Verzögerungen beim Schreiben.
(*) Aufpassen, SSDs verwenden wie Advanced Format Festplatten 4k Blöcke
und tun nur aus kompatibilitätsgründen so, als hätten sie 512 Bytes
Sektoren. Ohne dieses Kompatibilitätslayer würden die Alignment Probleme
gar nicht existieren.
> Außer natürlich
> Stromverbrauch und einem blockiertem Rechner.
Eine SSD wird selbst bei der Defragmentierung i.a. nicht blockieren. Das
ist für sie wie Files kopieren. Das geht auch nebenher.
Marcel