Pitt_G. schrieb:
Dachte die hatte statt TRIM zumindest ne Garbage Collection?
Jedes Flash Speichermedium hat Garbage Collection, denn so nennt man den Algorithmus, der die Wiederverwendung der Flashzellen durch Löschen von Blöcken erst ermöglicht. Ohne eine GC könnte man nur einmal die Kapazität beschreiben und dann wäre es vorbei.
Wenn Blöcke gelöscht werden, dann müssen aber die noch gültigen Daten darin vorher kopiert werden, was auf die Performance und die Lebensdauer geht. Gültig sind für den Controller alle Daten, die Adressen zugeordnet sind, die noch nicht wieder überschrieben wurden. Das ist bei einer SSD die man vollgeschrieben hat, die ganze Nutzkapazität. Hat man nicht die ganze Nutzkapazität Partionen zugeordnet, so ist weniger und das Controller hat mehr freien Platz um die GC zu betreiben, was die Write Amplification senkt und ihm erlaubt mehr gelöschte Flashblöcke zur Verfügung zu stellen, die dann auch schnell beschrieben werden können, aber sobald diese ausgehen, fällt die Schreibrate zwangsläufig massiv ab.
Um das zu vermeiden, wurde TRIM eingeführt, worüber das Filesystem dem Controller mitteilen kann, welche Daten ungültig geworden sind, weil die zugehörige Datei gelöscht wurde. Das erlaubt es der GC diese Daten im Flash zu löschen, mehr gelöschte Blöcke zur Verfügung zu stellen und vor allem müssen diese Daten nun nicht mehr intern kopiert werden, wenn der Block in dem sie stehen gelöscht wird. Die SSD ist für den Controller nur noch so voll, die sie auch fürs Filesystem ist und man kann sich das Overprovisioning sparen, wenn man einfach mal wieder ein paar Dateien löscht, sollte die SSD zu voll geworden sein.
Die Garbage Collection und auch das Aufräumen in freien Momenten (Idle-Garbage Collection genannt) kann also TRIM niemals ersetzen, weil es nicht wissen kann, welche Daten einer gelöschten Datein zugeordnet sind, denn das Löschen einer Datei ist ohne TRIM nur das setzen eines Bits in den Verwaltungsdaten des Filesystems. Nur über TRIM Befehle kann der Garbage Collection dieses mitgeteilt werden, weshalb die ganze Aussagen von wegen TRIM wäre nicht nötig weil die SSD xyz ja eine Garbage Collection hätte totaler Unsinn bzw. reines Marketinggewäsch.
Es kann aber natürlich so sein, dass ein SSD Controller TRIM trotzdem nicht so wie gedacht umsetzt und selbst dann die Flashblöcke nicht löscht, wenn alle Daten die da drin stehen getrimmt wurden. Dann kommt er auch nicht auf die ursprüngliche Schriebrate zurück. Der Sandforce ist so einer, der nur im Neuzustand wirklich schnell arbeitet und danach nicht mehr, auch wenn die ganze Kapazität getrimmt wird. Da muss man dann aber nicht sagen, der Controller bräuchte kein TRIM sondern der unterstützt TRIM eben nicht so, wie es von den Machern gedacht war.