Zum Inhalt springen

SSD und TRIM Befehl


Empfohlene Beiträge

Hallo,

Ich nutze das Tool SSDLife um ab und zu die SMART Daten der Platten mir anzuschauen. Dabei ist mir aufgefallen das Trim Supportet wird von der SSD aber vom OS deaktiviert war. Mein OS ist Win7 x64 SP1

post-1342-14366121444429_thumb.jpg

Nun machte ich mich auf die Suche und fand im WWW die nötigen Infos. In einem CMD Fenster (Start -> Ausführen-> CMD Eingeben und Enter) gibt man den Befehl ein (ohne"") -> "fsutil.exe behavior query DisableDeleteNotify" und erhält als Ausgabe DisableDeleteNotify = 0 (Trim aktiv vom OS) oder DisableDeleteNotify = 1 (Trim inaktiv vom OS).

Diese Angabe sagt nichts aus über die SSD, sondern nur, ob das OS den trim Befehl schickt.

Mein Wert war DisableDeleteNotify = 48 oO

Aber wie kann man diesen Wert ändern und ich fand den Befehl direkt "fsutil.exe behavior set DisableDeleteNotify 0" zum Aktivieren und

"fsutil.exe behavior set DisableDeleteNotify 1" zum Deaktivieren. Alle Eingaben ohne die "" im CMD durchführen.

post-1342-14366121445456_thumb.jpg

Sobald der Wert auf 0 steht, sieht das im SSDLife so aus

post-1342-14366121446177_thumb.jpg

Ich kann nur vermuten bis jetzt, aber ich habe die Windows Installation mit RT7lite nach meinen Wünschen bearbeitet. Nun könnte ich mir vorstellen, das dadurch der Wert bei mir auf 48 gesetzt wurden ist.

Denn es ist egal welchen Treiber man nun nutzt, ob von Intel oder den eigenen MSAHCI von Windows, solange der Wert nicht auf 0 steht bleibt Trim deaktiviert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

wer braucht schon trim? fast alle controller die inzwischen auf dem markt sind, machen selbstständig eine garbage collection und das trim kommando wird empfangen, aber eh ignoriert. Zumindest meine erfahrung bei allen ssd's mit sf controller.

Link zu diesem Kommentar
Auf anderen Seiten teilen

In der Literatur wird aber sehr detaliert beschrieben das TRIM aktuell nicht durch die "garbage collection" ersetzt wird.

Ich habe mich erst vor 2 Monaten intensiv damit beschäftigt da ich ein Raid 0 aus zwei SSD Platten erstellen wollte.

Das habe ich dann aber besser gelassen!

Link zu diesem Kommentar
Auf anderen Seiten teilen

also zu den sf ssd's gibts ausführliche tests, weil die bekannt geworden sind das nach einer gewissen zeit die schreibperformance zurück geht. Und leider auch dort bleibt, ob man ein trim schickt oder nicht war den platten völlig egal, nur ein kompletter reset der platten brachte die hohe schreibperformance wieder zurück. würde trim funktionieren, wäre diese wenige minuten nach absetzen des kommandos wieder da.

edit: von dem her wäre mit diesen platten auch ein raid 0 kein problem. Einige meiner bekannten haben ssd's im raid, und obwohl die noch nie ein trim kommando gesehen haben, läuft das raid mit stabiler performance. Und das obwohl die platten mächtig belastet werden und schon mehrfach voll geschrieben wurden.

Bearbeitet von welpi
Link zu diesem Kommentar
Auf anderen Seiten teilen

@Welpi,

ich umschreibe es einfach (wohl aber mit vielen Worten -.-)

Wir haben garbage collection (GC), Trim und Wear Leveling(WL)

GC: sammelt die halb vollen Zellen ein und kombiniert sie zu vollen Zellen, im anschluss werden die alten Zellen gelöscht. Und leer ist eine Zeller nur dann für GC, wenn keine 0 oder 1 drinne steht.

GC kann nicht erkennen ob der Inhalt einer Speicherzelle noch gebraucht wird. Wie auch, dazu müsste GC das FileSystem erkennen und verstehen.

Das führt dann dazu, das GC auch Zellen kombiniert, die mit teils gelöschten Dateien noch vollgeschrieben sind. Diese werden dann erst wirklich mit neunen Dateien versehen, wenn eine Datei in den LBA vom Fliesystem erstellt wird.

Trim: Sobald du eine Datei löscht wird der SSD mitgeteilt welche Sectoren/LBA nun wirklich gelöscht werden können und die SSD wird nun die Zellen bereinigen. Danach kann GC diese wieder zusammen schieben um mehr Platz/freie zellen zu generieren.

WL: Sorgt dafür das alle Zellen deiner SSD gleichmässig abgenutzt werden. WL verschiebt dazu immer wieder mal die Dateien auf deiner Festplatte, wovon man als User nichts mitbekommt.

Auch hier unterstützt der Trim Befehl, denn gelöschte Dateien die auch aus den Speicherzellen entfernt sind, müssen nicht verschoben werden.

Ich beanspruche nicht, das alles 100% stimmt, aber das ist meine Sicht der dinge.

Link zu diesem Kommentar
Auf anderen Seiten teilen

wie auch immer wir es nennen.... nim ne sf ssd, mach n speedtest, schreib sie voll bis oben hin, mach n schreibtest, wird langsamer sein als vorher. Schick n trim, und die platte wird kein deut schneller sein, weil er das kommando verwirft. Diesmal kein bock die referenzen raus zu suchen. Habs sogar selber probiert, hab meine 120er ssd frisch installiert, bischen zeuch drauf gemacht, ca 30 gb waren belegt. Performance test wie er sein sollte. Platte vollgeschrieben. Performance test, lesen nach wie vor sehr gut, schreiben hatte sich halbiert. Trim abgesetzt. keine besserung. Kann ja auch n weilchen dauern. Rechner lief ne woche ohne das was drauf passiert ist. Schreibperformance immer noch so mies. Nochmals trim, eine woche später, immer noch nix gebessert. Was mir einfach sagt, zumindest bei sf-controllern ist das kommando völlig egal, weil es eh nicht ausgeführt wird.

ja trim war supported und alles richtig eingestellt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

okay du gehst auf die SF und ihren Schutz zum erhalt der Lebensdauer ein. Dieser mechanismus DuraWrite kann nur mit einem Secure Erase scheinbar zurück genommen werden.

Aber nachdem die Platte im DuraWrite Modus ist wird weiterhin Trim sie nahe dieser Werte halten. Das das nicht die hohen Werte sind, die auf der Verpackung stehen, ja das ist ärgerlich. Aber hier gebe ich eher den Herstellern die schuld, denn diese wissen das das passiert und könnten auch mit den realen Werten von DuraWrite werben.

Trim bringt schon was SF 1200, ich hab leider keinen SF2xxx test gefunden auf die schnelle.

Test: Corsair Force und A-DATA S599 - Was kann der SandForce-Controller?

Sobald du diese schlechteren Write Werte hast, solltest du die platte richtig beanspruchen und zwar ohne Trim, so das sie oft beschrieben und gelöscht wurde. Dann macht man den Schreib/lese test und danach trimmst du mal. ICh denke schon das das dann wieder was bringt.

Und ja, ich weis das so ein test eher der SSD schadet, aber so oft sollte man ihn dann halt net machen.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die ausführliche Beschreibung, dass wollte ich verhindern.

Ich möchte nicht so ausführlich auf die einzelnen Details eingehen aber noch mal GC ist nicht gleich TRIM.

Ohne Trim bekommt man je nach Anwendungsbereich sehr schnell schlechte Werte beim beschreiben der SSD.

Macht sich besonders beim dekomprimieren großer Dateien bemerkbar (mache ich sehr oft). Aus diesem Grund ist TRIM sehr wichtig und RAID 0 keine Option.

Wer z.B. statische Daten hat und diese auf ein Raid Verbund aus SSD Laufwerken legt der hat einen Vorteil (Daten werden ausschließlich gelesen).

Mir fällt jetzt nur kein Szenario ein bei dem das tatsächlich sein kann lol

Link zu diesem Kommentar
Auf anderen Seiten teilen

verwunderlich ist halt bei den sf ssd's, das sie auch im raid, bei langer intensiver nutzung, völlig ohne trim dieselben werte behalten. Getestet im Raid 0/1/5.

Die Performance im Raid 0 ist übrigens brachial. Schreib wie Lesewerte verdoppeln sich nahezu. Da war dann der verlust der schreibleistung absolut nicht mehr merkbar.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Zu GC muss ich gestehen hab ich 1. nicht alles hingeschrieben und 2. auch nicht alles gewusst (Wikipedia ab und zu lesen)

GC arbeitet mit dem Overprovisioning am besten zusammen. Das ist Speicherplatz auf der SSD die keiner Partition zur Verfügung steht. Entweder unpartitioniert lassen oder aber schon vom Hersteller so vorgesehen ist. Das ist nichts ungewöhnliches, wird es doch in der Industrie genutzt und unter anderem bei der Samsung 830 sogar im Magican Tool als extra Funktion angeboten.

Alles was ich nun schreibe, hab ich so aus wiki heraus verstanden.

Nun erkennt GC das wir eine Datei auf die SSD schreiben und zwar in eine Speicherzelle die voll ist. Nun leitet GC diesen Schreibvorgang in die leeren Zellen vom Overprovisioning um und merkt sich die anderen Zellen, die es nun löschen kann. Dies wird dann in einer ruhephase gemacht und die frei gewordenen Zellen werden dem Overprovisioning Bereich wieder zugeführt.

Die Entwickler der Controller geben nur wenig Infos über ihr GC bekannt leider.

Ich halte GC für gut, da es auch eine art Defragmentierung durchführt. Nur sehe ich das problem, das ohne Trim zu oft noch durch Wear Leveling und GC selber volle Speicherzellen, die aber nur gelöschte Daten beinhalten, herum geschoben werden.

Und wie wir ja auch wissen, wurde die Funktion vom Queued trim Command in die Sata3.1 Spec mit eingebaut.

@schnuffel

Aber vieleicht kann du hier eher die GC Funktion rudimentär (Grundfunktionsweise) erklären. Da du selber Erfahrung hast und ja auch Entwickler in deiner nähe sitzen hast dazu.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.
Hinweis: Dein Beitrag muss vom Moderator freigeschaltet werden, bevor er sichtbar wird.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...

Wichtige Information

Bitte beachten Sie folgende Informationen: Nutzungsbedingungen, Datenschutzerklärung und Community-Regeln. Wir haben Cookies auf Deinem Gerät platziert. Das hilft uns diese Webseite zu verbessern. Du kannst die Cookie-Einstellungen anpassen, andernfalls gehen wir davon aus, dass Du damit einverstanden bist, weiterzumachen.