Alte SSD ohne TRIM Support, wie nutzen

PixelMaler

Lt. Commander
Registriert
März 2016
Beiträge
1.206
Hi Leute,

hat noch jemand Erfahrungen mit alten SSDs welchen keinen TRIM-Befehl unterstützen ?
Ich nutze hier und da noch alte Hardware ( 2006 - 2010 ) SATA fähig.
Für XP hab ich noch 8GB SSDs. Für Win7 oder Win8 wollte ich die 16GB Variante nehmen.

Die Samsung UM 410 unterstützt leider keinen TRIM Befehl des Betriebssystems ( zB von Win8 ).

Wie und wann leeren sich bei solchen alten SSDs die Speicherzellen wenn Dateien gelöscht wurden ?
Kann ich diesen Vorgang manuell anstoßen ?
Welche Tools können das und ist es sinnvoll solche Tools per Scheduler im Betriebssystem einzubinden ?

Hab die Tage mal die 16GB SSD mit Secure Erase Befehl geleert und Win8 aufgespielt.
Mit ein paar wenigen Grundprogrammen, Irfanview, VLC, Chrom, AbiWorld und Gimp ist die Platte aber schon arg voll.
Für Over-Provisioning hab ich nur 200MB unpartitioniert gelassen, was wohl schon zuknapp ist.
Blöderweise hab ich die WinUpdates nicht gleich ausgeschalten, wodurch die SSD "vollgelaufen" ist. ( Bis auf wenige MB voll gewesen )
Löschen und bereinigen ist kein Problem, aber die Speicherzellen werden scheinbar nicht freigegeben.
Den Laptop mal 20Stunden angelassen in der Hoffnung der SSD-Controller wird die freien Bereiche schon irgendwann checken....
.. klappt aber scheinbar nicht.
WinUpdate-Routinen hängen zwar nicht, weil bisher nur im Hintergrund Downloads der Updates liefen.
Aber Windows selbst startet nun immer im selben Zustand wie ein Kiosk-System.

Scheinbar werden Schreibzugriffe gecacht und sind nach dem Neustart von Win8 wieder nicht mehr existent.
Schnellstart, Ruhezustand, Energiesparmodus und aller Hibernation kram sind abgeschaltet.

Wie bekom ich die gelöschten Bereiche wirklich leer, damit die Schreibzugriffe wieder ne Chance haben irgendwo gespeichert zu werden ?

Für die WinXP auf der 8GB SSD sehe ich schon die selben Probleme auf mich zukommen.
Darum die Frage nach Tools.

Samsungs eigenes "Samsung Magician Tool" unterstützt diese alten SSDs leider nicht.

Gibts Lösungsvorschläge ? Erfahrungen ?
Thanks for feedback.


-> Ich habe auch neue und größere SSDs -> wie auch genügend kompatiblere neue PCs -> aber um die geht es hier nicht
Also die gesuchte Lösung ist nicht - alten Kram wegschmeisen, Neues kaufen...
 
PixelMaler schrieb:
Für XP hab ich noch 8GB SSDs. Für Win7 oder Win8 wollte ich die 16GB Variante nehmen.
Für jegliches OS zu klein . Zudem kommt noch hinzu das diese Systembedingt nur zu 80% nutzbar sind .
 
Sind die Platten formatiert und sind alle Update hierbei berücksichtigt worden .
#3 Du musst dich nicht damit rumärgern . :cool_alt:
 
Verstehe deine Aussage nicht. Wenn 1,5 GB für das OS (XP) reichen, sollten 6,5 GB für Updates mehr als genug sein.
 
Du verstehst den Trim Befehl falsch. Der löscht nicht nicht freigegebenen Platz. Solche Museumsstücke werden auch gar kein Trim unterstützen.

Und bei Win 10 sind 16 bzw. 32 GB angegeben.

https://www.microsoft.com/de-de/windows/windows-10-specifications

Auch nicht nutzbar. Windows passt da drauf. Aber sonst auch nichts. Und Updates dürfen dann auch keine kommen.
 
Zuletzt bearbeitet:
Und vergesst die Pagefile.sys nicht. Wenn und z.B. 4 oder 8 GB RAM hast und schnell Schluss mit lustig bei so kleinen SSDs. Schon vor 10 Jahren haben die meisten zu > 32 GB gegriffen bei SSDs - nicht ohne Grund. Wo ist der Schmerz für 30 Euro eine deutlich größere SSD einzubauen? Die hat TRIM und ausreichend Speicher. So kleine SSDs zu kaufen war schon vor 10 Jahren eine sch...lechte Idee.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Bob.Dig
PixelMaler schrieb:
Wie und wann leeren sich bei solchen alten SSDs die Speicherzellen wenn Dateien gelöscht wurden ?
Gar nicht, genau wie bei HDDs wird da erstmal nur ein Flag bei den Verwaltungsdaten gesetzt und dies zeigt an, dass die Datei gelöscht ist, später wird das Betriebssystem die Cluster auf denen die Daten der Datei stehen, dann mal überschreiben.
PixelMaler schrieb:
Kann ich diesen Vorgang manuell anstoßen ?
Nein, da Magician ja diese alten SSDs nicht unterstützt.
PixelMaler schrieb:
Löschen und bereinigen ist kein Problem, aber die Speicherzellen werden scheinbar nicht freigegeben.
Dies passiert intern erst, wenn die Adressen überschrieben werden, dann weiß der Controller ja auch, dass die alten Daten nun ungültig sind.

Kaufe Dir einfach eine neue SSD, so teuer sind die ja nicht mehr und mit den winzigen Kapazitäten kann man unter Windows nichts sinnvolles mehr anfangen. Du solltest ja auch nicht dauerhaft auf die Windows Updates verzichten, dies wäre ein Sicherheitsrisiko.
 
Danke für die rege Beteiligung.

Swap und Ruhezustand sind schon deaktiviert.
Waren aber zum Zeitpunkt der ,Überfüllung' noch an und haben dazu begetragen.

Auf der 16Gb SSD sind (jetzt) ca 7GB frei.
Aber eben scheinbar auf der SSD selbst noch nicht freigegen.

@BlubbsD
Der TRIM-Befehl ist nur für die Kommunikation zwischen dem OS und dem Controller der SSD.
Ohne TRIM muß die SSD die Dateisystem Aktionen selber mit loggen und dann die Speicherzellen freigeben. Hab ich zumindest so verstanden.

Es ist eben alte Hardware die ich noch da habe und sinnvoll nutzen möchte.
Darum gehts nicht um größere Kapazität neu- oder gebraucht kaufen.

Als die SSDs auf den Markt kamen, liefen sie azch mit den damals aktuellen Betriebssystemen Vista und XP als Systemplatten. Wegen der geringen Kapzität wurden sie aber dann immer häufiger nur noch als Cachelaufwerke genutzt.

Einsatzzweck übrigens in Convertible Notebook als ZeichenTablett.

@Holt
Aha, die Zellen werden also erst beim neubeschreiben vorher gelöscht. Darum die auch eher geringen Datenraten beim Schreiben.
Zugriffzeiten hingegen sind schon recht schnell und lesen ist etwas höher als HDDs.

_

Die Systeme booten schon bedeutend schneller als von HDD. Arbeitstempo ist ungefähr ähnlich wie mit HDD und altivierter Swap.
 
Zuletzt bearbeitet:
Die Blöcke einer SSD lassen sich durch Anwendungen nur explizit löschen, wenn dieses in der Firmware implementiert wurde. Falls es keine entsprechenden Tools vom Hersteller der SSD oder des verwendeten Controllers existieren, sieht es sehr schlecht aus.

Ob der Ansatz mit 0x0 bzw 0xF bei deinen Modell funktioniert, musst du selbst durch Benchmarks verifizieren. Da gab es früher viele widersprüchliche Aussagen.

Ansonsten ist eben alte Hardware mit einen entsprechenden Funktionsumfang.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: PixelMaler
PixelMaler schrieb:
Auf der 16Gb SSD sind (jetzt) ca 7GB frei.
Aber eben scheinbar auf der SSD selbst noch nicht freigegen.
Ohne TRIM kann es das auch nicht, da sind für den Controller alle Daten gültig die noch nicht überschrieben wurden. Wenn sie also einmal voll war, dann bleibt sie bis zum nächsten Secure Erase aus Sicht des Controller immer voll, egal wie viele Dateien man löscht. Genau um dies Problem zu lösen, wurde ja TRIM eingeführt.
PixelMaler schrieb:
Ohne TRIM muß die SSD die Dateisystem Aktionen selber mit loggen und dann die Speicherzellen freigeben.
SSD wissen nichts von Partitionen, Filesystemen, Verzeichnissen oder Dateien, die stellen wie HDD nur einen linearen Adressraum von je 512 Byte pro LBA bereit und die Organisation übernimmt das Betriebssystem.
PixelMaler schrieb:
Aha, die Zellen werden also erst beim neubeschreiben vorher gelöscht.
Nicht vorher, nachher! Denn erst nachdem eine Adresse überschrieben wurde, weiß der Controller das die alten Daten die unter dieser Adresse abgespeichert waren, nun ungültig sind und gelöscht werden können. Wenn er keinen freien Platz mehr hat, ein paar Prozent Free Area gibt es ja immer, dann muss er eben die Blöcke in denen diese ungültigen Daten stehen auch erst Löschen, bevor die nächsten Daten geschrieben werden können, weshalb die Schreibgeschwindigkeit dann runtergeht.
 
  • Gefällt mir
Reaktionen: PixelMaler
@Hallo32
Ob der Ansatz mit 0x0 bzw 0xF bei deinen Modell funktioniert, musst du selbst durch Benchmarks verifizieren. Da gab es früher viele widersprüchliche Aussagen.

Du meinst mit Tools welche nur leere Bereiche einer Partition 'sicher Löschen' also mit Nullen überschreiben können ?
Wie zB Cipher oder CCleaner ?
Oder meist du konkrete Tools die ein "Secure Erease" in genau definierbaren Bereichen anwenden können ?


@Holt
Ich dachte gerade bei den alten SSDs wird der Over Provision Bereich auch zum Schreiben genutzt.
( neuere SSDs haben heutzutage ja noch extra Cache )
Der SSD Controller bekommt den Befehl etwas zu überschreiben
und schreibt diese neuen Daten im OP Bereich und leert dann dafür die originale SpeicherZelle.
Die geleerte Zelle wird dann wieder dem OP Bereich zugeordnet, während die neu beschriebene Zelle der Partition zugeordnet wird. Somit wäre immer mindestens Speicherplatz in der Kapazität des OP wirklich leer.
Der OP Bereich schrumpft natürlich mit der Zeit, da die Zellen welche Probleme bereiten, defekt sind oder zu häufige Schreibzyklen hinter sich haben dort als nicht zu benutzen markiert werden.
Der SSD-Controller unterhält für alle Speicherzellen doch einen Counter welcher die Schreibzyklen mit schreibt um die SchreibLast auch über die ganze SSD ( soweit als 'leer' bzw 'ungültig' markiert ) zu verteilen, damit die Zellen alle gleichmäßig verschleißen.
<- alles Falsch ?


Problem Platzmangel:
Nutzt Windows während seiner Installation bedeutend mehr Platz ( ca. das Doppelte ),
als es es nach der fertigen Installation noch belegt ?
Bei Updates oder Anwendungsprogrammen wird immer mindestens der doppelte Platz
häufig aber auch der dreifach Platz benötigt.
1. Download gespeichert im DownloadOrdner
2. Entpackt mit SetupRoutine zB in den TempOrdner
3. InstallationsVerzeichnis unter "Programme" oder wo man es eben hin haben möchte
Die 1. und 2. kann man dann löschen, es wurden aber trotzdem temporär die 3fache Menge an Platz belegt.
Während des WindowsSetups kommt einer der ersten Punkte in der Abfolge "Daten werden kopiert", danach erst Installation.
https://blog.notebooksbilliger.de/wp-content/uploads/2015/07/Windows-10-Freedos-Installation-92.jpg
..daher meine Frage
 
Es gab damals Tools, die den freien Platz der SSD mit einer Datei füllten, die vollständig mit den Hex-Wert 0xF bzw. 0x0 gefüllt wurden und somit in der Theorie zumindest ein löschen der Zelle getriggert haben.

War damals aber schon umstritten, den es gibt auch andere Ansätze, und sollte somit von dir mit einen Benchmark verifiziert werden.
 
Welche Tools das waren, ist dir aber nicht mehr im Gedächtnis ?
 
PixelMaler schrieb:
Oder meist du konkrete Tools die ein "Secure Erease" in genau definierbaren Bereichen anwenden können ?
Das wäre in gewissem Sinne TRIM, nur das die Controller TRIM Befehle auch ignorieren dürfen, etwa wenn sie beschäftigt sind. Über die Versuche dies durch Überschreiben mit bestimmten Werten zu simulieren, hat Hallo32 schon geschrieben.
PixelMaler schrieb:
Ich dachte gerade bei den alten SSDs wird der Over Provision Bereich auch zum Schreiben genutzt.
( neuere SSDs haben heutzutage ja noch extra Cache )
Da wäre zuerst die Frage, wie man Over Provision definiert, die einen beziehen da die Free Area ein, die jede SSD immer hat und für die anderen beginnt Over Provision erst, wenn man darüber hinaus zusätzlich Platz lässt, also die 200MB in Deinem Fall. Nach erster Definition stimmt die Aussage.
PixelMaler schrieb:
Die geleerte Zelle wird dann wieder dem OP Bereich zugeordnet, während die neu beschriebene Zelle der Partition zugeordnet wird. Somit wäre immer mindestens Speicherplatz in der Kapazität des OP wirklich leer.
Wie gesagt wissen Controller von SSDs nichts von Partitionen, die speichern die Daten unter der Adresse ab und zu welcher Partition diese Adresse gehört, weiß dann nur das Betriebssystem. Durch das Überschreiben von Adressen werden die alten Daten automatisch ungültig und können dann gelöscht werden, was normalerweise bei der nächsten Idle-GC der Fall ist, wenn aber schon vorher mehr Platz benötigt wird als frei ist, so muss dies während des Schreibvorggangs passieren und damit fällt die Schreibgeschwindigkeit entsprechend ab. Dies ist bei jeder SSD mit NAND Flash so, während die Intel Optane mit dem 3D XPoint, also einem Medium welches man direkt überschreiben kann, diese nicht kennen und daher gibt es eben bei denen auch keinen Steady State Zustand, denn das ist genau der Zustand bei dem der Controller eben während Schreibvorgängen auch alte Daten löschen muss um den Platz für die neuen Daten zu schaffen.

TRIM bewirkt vor allen, dass eben die Speicherbereiche vorab gelöscht werden können, deren Daten zwar noch nicht überschrieben wurden, die aber sowieso nicht mehr gebraucht werden, weil eben die Datei gelöscht wurde zu der sie gehören. Dies funktioniert aber eben nur beim Löschen von Dateien, beim Überschreiben aber eben nicht und da wäre es auch unnötig, da durch das Überschreiben die alten, überschriebenen Daten ja sowieso schon ungültig werden. Das die SSDs kein TRIM haben, ist also vorallem ein Nachteil bei der Schriebperformance, aber wenn die Dir so wichtig ist, wäre eine neue SSD sowieso die bessere Wahl, da die schon von Haus aus viel schneller schreiben als die frühen SSD Modell aus der Zeit vor TRIM, die waren nur Lesend wirklich schnell.

Der Schreibcache den die meisten aktuellen SSDs haben, geht übrigens auch von der Free Area oder dem OP Bereich ab, wie auch immer man dies nennen möchte. Der Unterschied ist nur, dass die dort dann eben nur ein Bit pro Zelle beschreiben, was schneller geht als wenn man 2, 3 oder gar bei QLC alle 4 Bits beschreibt, daher auch der Begriff Pseudo-SLC. Dazu kommen in letzter Zeit noch verstärkt dynamische Pseudo-SLC Caches, bei denen wird dann ein Teil des normalen NAND Bereichs mit nur einem Bit beschrieben und die Größe hängt davon ab wie viel davon frei ist.
 
@Holt
Danke für deine Gedult und deine ausführlichen Antworten.

Ich werd am WE mal Tool was Hallo32 vorschlug testen.
Wenn sich da nix verbessert bleibt mir noch, die SSD Klonen, komplettes 'Secure Erease' dann Partition wieder drauf kopieren. Am Ende müßte so unbenutzte Speicherbereiche erstmal leer bleiben.

Es ist ja eh nur Bastelprojekt da kann ich schon mal bissel testen und wurschteln ob und was da jetzt irgendwie wat bringt.
 
Achte beim Klonen und Wiederherstellen darauf, dass nur belegte Cluster geschrieben werden, sonst ändert sich am Ende nichts was die Belegung der SSD aus Sicht des Controllers angeht.
 

Ähnliche Themen

Zurück
Oben