Trim Befehl

Seven Eleven

Profi
Thread Starter
Mitglied seit
13.12.2019
Beiträge
964
Ort
Düsseldorf
Weiß jemand was passiert wenn man eine SATA SSD an einen SATA Controller ohne Trim Befehl betreibt?
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Afaik komm der Trim-Befehl nicht vom Controller, sondern vom Betriebssystem.
 
TRIM Befehle kommen vom Betriebssystem, da nur das Betriebssystem das Filesystem auf der SSD verwalten kann und damit weiß nur das BS welche Cluster und damit LBAs eine Datei belegt hat, wenn sie gerade gelöscht wird, was auch nur das BS weiß, denn normalerweise wird beim Löschen einer Datei in den Metadaten des Filesystems nur ein Flag gesetzt, dass diese Datei nun gelöscht wurde. Damit weiß auch nur das Betriebssystem welche LBAs getrimmt werden. Wird eine SSD ohne TRIM betrieben, so ist für deren Controller jeder LBA mit gültigen Daten beschrieben, bis er überschrieben wird, womit eine SSD mit der Zeit für deren Controller vollständig mit gültigen Daten beschrieben scheint, selbst wenn sie für das Betriebssystem leer ist, weil Dateien gelöscht wurden, aber die meisten Filesysteme überschreiben eben LBAs/Cluster die zu vorher gelöschten Dateien gehört haben erst, wenn sonst keine mehr frei sind.

Wenn die SSD für den Controller voll aussieht, dann kann er in der Idle GC weniger NAND freimachen und da heutzutage praktisch alle Client SSDs TLC oder QLC NAND und einen dynamischen Pseudo-SLC Schreibcache haben, der bei einer vollen SSD deutlich kleiner als bei einer leeren SSD ist, wird die Schreibperformance spätestens nach einigen GB am Stück schlechter ausfallen. Dazu fällt die Write Amplifikation, also das Verhältnis der vom den ins NAND zu den von Host geschriebenen Schreibvolumen höher ausfallen und damit verschleißen die NAND schneller.

Will man diese Effekte zumindest reduzieren, sollte man Overprovisioning betreiben, also gleich von Anfang an oder nach einem Secure Erase (oder TRIM in einem anderen System) nicht den ganzen Bereich nutzen, sondern einen Teil (so 10% oder 20%, mehr ist besser aber viel hilft viel hat auch seine Grenzen) unpartitioniert lassen, damit die LBAs dort nie beschreieben werden können. Damit haben sie dann nie gültige Daten und das Betriebssystem ist früher gezwungen neuen Dateien auf die LBAs zu schreiben die vorher gelöschte Dateien belegt hatte, womit die alten Daten für den Controller ungültig werden, genau wie es ja auch ist wenn diese LBAs getrimmt werden und er sie damit spätestens bei der nächsten Idle-GC abräumen kann.

Es ist allerdings meist nicht der SATA Controller der TRIM blockiert, sondern dessen Treiber (bei SAS HBAs/RAID Controllern ist dies anderes), so dass ich mich hier fragen würde um welchen Controller es geht, welcher Treiber verwendet wird (die ASMedia und Marvall SATA 6TGb/s Host Controller funktionieren alle auch mit dem Microsoft Standard AHCI Treiber von Windows ab Win 7 und dann mit TRIM und beim Marvell 9128 sogar im RAID 0 und dann mit TRIM, habe ich selbst ausprobiert!) und welcher Treiber (genaue Version) verwendet wird.
 
Zuletzt bearbeitet:
TRIM Befehle kommen vom Betriebssystem, da nur das Betriebssystem das Filesystem auf der SSD verwalten kann und damit weiß nur das BS welche Cluster und damit LBAs eine Datei belegt hat, wenn sie gerade gelöscht wird, was auch nur das BS weiß, denn normalerweise wird beim Löschen einer Datei in den Metadaten des Filesystems nur ein Flag gesetzt, dass diese Datei nun gelöscht wurde. Damit weiß auch nur das Betriebssystem welche LBAs getrimmt werden. Wird eine SSD ohne TRIM betrieben, so ist für deren Controller jeder LBA mit gültigen Daten beschrieben, bis er überschrieben wird, womit eine SSD mit der Zeit für deren Controller vollständig mit gültigen Daten beschrieben scheint, selbst wenn sie für das Betriebssystem leer ist, weil Dateien gelöscht wurden, aber die meisten Filesysteme überschreiben eben LBAs/Cluster die zu vorher gelöschten Dateien gehört haben erst, wenn sonst keine mehr frei sind.

Wenn die SSD für den Controller voll aussieht, dann kann er in der Idle GC weniger NAND freimachen und da heutzutage praktisch alle Client SSDs TLC oder QLC NAND und einen dynamischen Pseudo-SLC Schreibcache haben, der bei einer vollen SSD deutlich kleiner als bei einer leeren SSD ist, wird die Schreibperformance spätestens nach einigen GB am Stück schlechter ausfallen. Dazu fällt die Write Amplifikation, also das Verhältnis der vom den ins NAND zu den von Host geschriebenen Schreibvolumen höher ausfallen und damit verschleißen die NAND schneller.

Will man diese Effekte zumindest reduzieren, sollte man Overprovisioning betreiben, also gleich von Anfang an oder nach einem Secure Erase (oder TRIM in einem anderen System) nicht den ganzen Bereich nutzen, sondern einen Teil (so 10% oder 20%, mehr ist besser aber viel hilft viel hat auch seine Grenzen) unpartitioniert lassen, damit die LBAs dort nie beschreieben werden können. Damit haben sie dann nie gültige Daten und das Betriebssystem ist früher gezwungen neuen Dateien auf die LBAs zu schreiben die vorher gelöschte Dateien belegt hatte, womit die alten Daten für den Controller ungültig werden, genau wie es ja auch ist wenn diese LBAs getrimmt werden und er sie damit spätestens bei der nächsten Idle-GC abräumen kann.
Weiß nicht ob der SATA Controller am Proliant ml350 g6 sowas kann. Kann natürlich sein daß er es kann. Aber da kommen in der Regel nur CD Roms und Tape Drives dran
 
Weiß nicht ob der SATA Controller am Proliant ml350 g6 sowas kann.
Schau mal auf die letzte Version, ich haben meinen Post nochmal editiert. Nehalem EP ist uralt, da muss man schauen welcher Treiber verwendet wird und auf Intels schauen welches der neuste ist, sofern man RAID nutzt oder einfach den Microsoft Treiber nutzen, wenn man sowieso kein RAID am Chipsatz betreibt. Der MS Treiber hat sowohl Laufwerke mit mehr als 2TB als auch TRIM früher unterstützt als der Intel Treiber und keine Performancenachteile, es macht also keinen Sinn den Intel Treiber zu verwenden, außer man braucht ihn für ein RAID aber auch dann muss man mit Plattem mit mehr als 2TB bzgl. der Versionen des OROM im BIOS und des Treibers bei dieser uralten Plattform aufpassen.
Beitrag automatisch zusammengeführt:

PS: Ich weiß nicht mehr ob es TRIM ab 9.6 oder mehr als 2TB für Einzellaufwerke war, aber ab RST 10.2 sollte beides gehen, frag mich aber nicht nach Versionen für eRST, den man wohl auf einigen X99 Borads braucht oder auch einstellen kann.

Nützliche Tools:

TrimCheck (zweimal laufen lassen!)

Drive Controller Info (hat unter Win 10 einen Bug bzgl. der Anzeige ob TRIM aktiviert ist, zeigt aber immer noch zuverlässig den Treiber an)
 
Zuletzt bearbeitet:
Schau mal auf die letzte Version, ich haben meinen Post nochmal editiert. Nehalem EP ist uralt, da muss man schauen welcher Treiber verwendet wird und auf Intels schauen welches der neuste ist, sofern man RAID nutzt oder einfach den Microsoft Treiber nutzen, wenn man sowieso kein RAID am Chipsatz betreibt. Der MS Treiber hat sowohl Laufwerke mit mehr als 2TB als auch TRIM früher unterstützt als der Intel Treiber und keine Performancenachteile, es macht also keinen Sinn den Intel Treiber zu verwenden, außer man braucht ihn für ein RAID aber auch dann muss man mit Plattem mit mehr als 2TB bzgl. der Versionen des OROM im BIOS und des Treibers bei dieser uralten Plattform aufpassen.
Beitrag automatisch zusammengeführt:

PS: Ich weiß nicht mehr ob es TRIM ab 9.6 oder mehr als 2TB für Einzellaufwerke war, aber ab RST 10.2 sollte beides gehen, frag mich aber nicht nach Versionen für eRST, den man wohl auf einigen X99 Borads braucht oder auch einstellen kann.

Nützliche Tools:

TrimCheck (zweimal laufen lassen!)

Drive Controller Info (hat unter Win 10 einen Bug bzgl. der Anzeige ob TRIM aktiviert ist, zeigt aber immer noch zuverlässig den Treiber an)
Die SSD ist am internen SATA Controller angeschlossen. Nicht an der sas Backplane.Aber ich werde das Mal nachprüfen
Beitrag automatisch zusammengeführt:

Die SSD ist am internen SATA Controller angeschlossen. Nicht an der sas Backplane.Aber ich werde das Mal nachprüfen
Bis auf Windows und Apps ist da auch nicht drauf. Die meisten Daten werden auf den hdds gespeichert.
 
Mit dem RST ab Version 10.2 sollte sie dann auch getrimmt werden und dies kann man mit TRIMCheck prüfen.
IMG_20220424_062745.jpg
 
Nimm bitte Drive Controller Info und ignoriere und Win 10 die Angaben oben ob TRIM aktiviert ist, das Tool ist zu alt um die Ausgaben bei Win 10, die zwischen ReFS und NTFS unterscheidet, korrekt auszuwerten. Der Rest funktioniert aber immer noch gut.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh