Seite 1 von 2

TRIM für FAT32 (SSD)

BeitragVerfasst: Mo 7. Aug 2017, 19:08
von Locutus
Ich habe gerade mal versucht die FAT32-Partition meiner SSD für Win98 zu trimmen.

Zum Einsatz kam:
  • Knoppix 7.7.1 Boot DVD (KNOPPIX_V7.7.1DVD-2016-10-22-EN.iso)
  • Kernel 4.7.9-64 x86_64
  • fstrim from util-linux 2.28.2

Ergebnis:
Code: Alles auswählen
fstrim: fat: the discard operation is not supported


SCHADE!

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Mo 7. Aug 2017, 20:30
von Dosenware
Der Trimbefehl ist weitestgehend unabhängig vom FS (gut, wenn das Betriebsystem den Trimbefehl nicht selbst beherrscht muss das Trimtool das Dateisystem lesen können) - es ist wohl eher der Controller der den Trimbefehl nicht unterstützt.

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Di 8. Aug 2017, 17:35
von Locutus
Code: Alles auswählen
hdparm -I /dev/sda | grep TRIM

ergibt...
Code: Alles auswählen
* Data Set Management TRIM supported (limit 1 block)


Ich habe noch versucht, die FAT32-Partition folgendermaßen zu mounten:

Code: Alles auswählen
mount /dev/sda1 /mnt/fat -o discard


Mit demgleichen Output von fstrim wie vorher (Discard not supported). Dasselbe habe ich auf einem aktuellen System probiert, wo AHCI aktiv ist, gleiches Ergebnis.

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Di 8. Aug 2017, 18:14
von Locutus
Etwas mehr Recherche hat ergeben, dass es anscheinend unter Linux ein "Online Discard" gibt, was standardmäßig nicht aktiviert ist, aber über die Mount-Option discard aktiviert werden kann und das gibt's auch für FAT. Das hat zur Folge, dass beim Löschen von Dateien praktisch "live" direkt TRIM hinterhergeschickt wird. Bringt mir aber nicht viel, da ich ein manuelles TRIM ("Batched Discard") benötige. Das würde fstrim leisten, dazu muss aber der Dateisystem-Treiber (fat) das E/A-Kommando "FITRIM" über ioctl unterstützen.

Jemand hat dafür schonmal einen Patch geschrieben. Im Kernel 4.7.9, welcher von Knoppix 7.7.1 verwendet wird, ist er jedenfalls nicht enthalten, was meine Fehlermeldung erklärt. Ob der Patch es überhaupt in einen Mainline-Kernel geschafft hat, versuche ich gerade herauszufinden, sieht aber schlecht aus.

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Di 8. Aug 2017, 18:47
von Locutus
Nope, selbst im Release Candidate keine Spur von Batched Discard (FITRIM) für FAT...

Bleibt noch die Alternative den Patch zu nehmen und ihn in den Kernel einzubauen und selbst zu kompilieren. Vielleicht komme ich ja mal dazu. :-)

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Di 8. Aug 2017, 20:43
von hofinger
Kernel selbst bauen kann man heutzutage auch schon als Retro bezeichnen :mrgreen: Hab schon lang nicht mehr gelesen das das jemand macht, früher hat der Rechner Tag und Nacht "compilet". :)
Aber wär schon komisch wenns keine einfachere Möglichkeit gäbe.

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Fr 11. Aug 2017, 19:32
von ragnar-gd
Es gibt einen gewissen Rudolph Loew (RLoew), der hat für W9x einen Treiber geschrieben, der Trim auch auf FAT32 unterstützt:

http://rloew.x10host.com/catalog2.htm

Es scheint also prinzipiell zu gehen. Da ich nur Geld für Software ausgebe, wenn mein Leben davon abhängt, habe ich das Ding nicht gekauft, und kann nichts zur Funktionsfähigkeit sagen.

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: So 13. Aug 2017, 19:44
von Locutus
Danke für die Info. Ich kannte das Tool noch nicht. Habe mir TRIMCHK mal heruntergeladen. Angeblich wird TRIM bei mir unterstützt. Ob ich mir dann das Tool kaufe, muss ich mir noch überlegen. :-)

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Do 17. Aug 2017, 17:29
von Locutus
So, ich habe mir nun das DOS-Tool "TRIM" von Rudolph Loew gekauft. Hat mich ganze 11$ gekostet, umgerechnet irgendwas um die 10 EUR und bezahlt via PayPal. Bevor ich jetzt stundenlang in Kernel-Patching und Kompilierung investiere, dachte ich, ich probier's mal mit dem Ding.

Aufruf ist wiefolgt:
Code: Alles auswählen
trim c: free


Dieser Befehl "trimmt" alle unbenutzten Sektoren der Partition. Kleine Einschränkung: Das Tool funktioniert nur mit FAT32-Partitionen. FAT16 wird anscheinend nicht unterstützt. Gibt auch noch andere TRIM-Modi. Für meine 120Gb große Partition mit Win98 drauf hat das Tool 1-2 Minuten benötigt. Die HDD-Lampe glühte durchgängig.

Ob es korrekt funktioniert ist natürlich schwierig zu testen. Ich habe vorher und nachher Scandisk ausgeführt und zumindest wurde *anscheinend* nichts beschädigt. Windows bootet auch noch.

EDIT: Mein SATA-Controller läuft übrigens im IDE-Modus zwecks Abwärtskompatibität. Hat auf den TRIM-Befehl wohl keinen Einfluss, hätte mich aber auch gewundert.

Gruß
locutus

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Do 17. Aug 2017, 18:19
von Dosenware
Ob es korrekt funktioniert ist natürlich schwierig zu testen.


Datei löschen -> Trim -> Datei wiederherstellen... die müsste danach andere Daten haben.

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Do 17. Aug 2017, 19:01
von Locutus
Mh, ich glaube kaum dass nach einem TRIM die Daten wirklich weg sind. So wie ich das verstehe, werden die betroffenen Zellen bei einer SSD als "nicht mehr benötigt" markiert. Das ist aber keine Garantie dafür, dass sie auch sofort genullt werden oder beim nächsten Schreibzyklus auch überschrieben werden.

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Do 17. Aug 2017, 20:15
von hofinger
Wie oft muss denn das Tool gestartet werden damit alles ordentlich funktioniert?
Wirfst du das in die Autoexec.bat oder muss das nur alle paar Wochen mal gemacht werden?

Nur rein interessehalber ;)

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Fr 18. Aug 2017, 07:54
von CptKlotz
Da die SSD grundsätzlich auch ohne TRIM funktioniert (nur nicht so effizient und ggf. mit mehr "Abnutzung") würde ich behaupten, dass es vermutlich reicht, das alle ein bis zwei Wochen durchzuführen.

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Fr 18. Aug 2017, 08:11
von Locutus
Kommt sicherlich auch drauf an, wieviel Daten man schreibt. Bei extremer Nutzung kann es vielleicht Sinn machen öfter zu trimmen, aber 2 Wochen dürften bei "normaler" Nutzung locker reichen.

Re: TRIM für FAT32 (SSD)

BeitragVerfasst: Fr 18. Aug 2017, 08:19
von Dosenware
Locutus hat geschrieben:Kommt sicherlich auch drauf an, wieviel Daten man schreibt.


Eher "nur" - solange nichts geschrieben wird führt die SSD nur noch letzte Optimierungen durch (Überbleibsel von den letzten Schreibvorgängen - und der damit verbundenen Garbage Collection) und danach ist Ruhe.

Ich würde das Trimtool dennoch einfach in die Autoexec.bat schmeißen (sofern es nicht ewig und 3 Tage braucht um durchzulaufen)- das Trimtool teilt der SSD ja nur mit was frei ist, den Rest macht die SSD selbst...