TRIM und GC: Ein Erklärungsversuch!

Puste, bedenke .. Trim kommt vom Betriebssystem und GC steckt in der Firmware, die müßten quasi unabhängig voneinander arbeiten können.
 
PustekuchenCake schrieb:
Okay, dann hab ichs einigermaßen kapiert. Freilich noch nicht 100% (z.B. mit den LBAs & Sektoren), aber jetzt lass' ichs erst etwas sacken ;)
Das ist ein verwirrendes Thema, weil der Begriff Sektoren an drei Stellen vorkommt:

1. Physikalische Sektoren auf einer HDD, früher waren das immer 512Byte und heute fast nur noch 4k

2. Emulierte Sektorgröße, weil eben die PCs nur mit 512Byte großen Sektoren klarkommen und der Wert ist an so vielen Stellen fest einprogrammiert, dass es schwer wird Platten mit anderen Sektorgrößen intern anzusprechen. Das ist auch die Größe eines LBAs.

3. Die logischen Sektoren des Filesystems, auch als Cluster bezeichnet.

HDDs wurden früher über das CHS Verfahren adressiert, also Zyklinder, Kopf und Sektor wurden direkt angesprochen. Damals musste man im BIOS auch noch korrekt angeben, wie viele Zylinder, Köpfe und Sektoren pro Zylinder die Platte hat. Damit kann man aber immer nur eine konstante Anzahl von Sektoren für alle Zylinder realisieren und da nun einmal mehr Sektoren auf die längeren Äußeren Zylinder passen als auf die kleineren inneren, wurde die Adressierung auf Logische Adressen umgestellt. Da werden einfach alle Sektoren durchnummeriert und linear angesprochen, wobei es dem Controller der Platte überlassen bleibt, die richtigen Werte für Zylinder, Kopf und dem Sektor auf dem Zylinder zu ermitteln. Das ermöglicht es aber dem Controller der HDDs auch, defekte Sektoren durch Reservesektoren zu ersetzen.

Diese Verfahren wird als Logische Block Adressierung bezeichnet und die Sektoren damit auch als LBAs, eben die Daten hinter einer logischen Adresse. Da SSDs keine Sektoren wie HDDs mehr haben, verwende ich lieber den Begriff LBA als Sektor, aber im Grunde ist es das gleiche und bei Cosumer SSDs werden pro LBA immer 512 Byte adressiert, aber den Wert gibt jede Platte und jede SSD auch selbst an.
PustekuchenCake schrieb:
Wenn TRIM aus ist - wie im obigen Fall - woher weiß dann die GC was Müll ist und was nicht?
Das ist je der zentrale Punkt des Artikels, weil das vielen eben nicht klar ist. Es ist wie bei HDDs auch, da werden Daten doch so lange drauf erhalten, bis sie überschrieben werden. So erkennen das die SSD Controller (wie alle anderen Flashcontroller auch), wenn die Adresse (LBA) an der Daten stehen überschrieben wird, dann kann der Flashcontroller ja die Daten nicht direkt überschrieben, aber er weiß nun, dass die Daten die vorher an dieser Adresse geschrieben wurden, jetzt eben ungültig sind. Bei einer HDD wären sie ja nun auch überschrieben und damit weg.
 
AW: TRIM und GC: Nochmal für ganz Blöde...

@Holt: Zunächst mal: Respekt! Dein Eingangsposting ist didaktisch hervorragend. An Dir ist ein (strenger) Lehrer verloren gegangen. ;)

Zwei Dinge sind mir trotzdem noch unklar - ich schreibe mal auf, wie ich diese DInge verstanden habe und freue mich über Feedback und ggfs. einen Hinweis zu Denkfehlern:

(1) TRIM funktioniert auch bei Tandembetrieb mit XP und Win7 problemlos, da es auf dem MFT basiert:
Wenn eine SSD zwei OS (Win XP, Win7) auf getrennten Partitionen beherbergt, dann erreicht die implementierte TRIM-Funktion von Win7 doch trotzdem auch all diejenigen LBAs, die unter XP gelöscht wurden? Der TRIM-Befehl wird ja vom OS an den Controller gesendet zusammen mit den LBA-Adressen, die obsolete Pages enthalten und überschrieben werden können. Und diese Informationen sammelt das OS ja nicht auf einem Schmierzettel, sondern in der MFT (soweit ich das hier richtig verstanden habe: http://de.wikipedia.org/wiki/NTFS#Aufbau_.E2.80.93_MFT). In der MFT steht also, welche Blöcke für das OS offiziell leer sind; TRIM weist dann nur noch den Controller an, diese Blöcke nach einen "klugen" Auswahlschema freizumachen.

(2) Eine SSD ohne TRIM kann mit SecureErase wieder flott gemacht werden
Ein bekanntes Auktionshaus bietet eine KingSpec mit bspw. 128GB an, die zwar Wearleveling unterstützt, aber weder GC noch TRIM bietet. Dabei ist es Missverständnis, dass Wearleveling die Schreibgeschwindigkeit verbessert; WL sorgt nur für eine höhere Lebensdauer der SSD durch die "kluge" VErteilung der Schreibvorgänge auf die MLCs. Die beiden Technologien GC und TRIM sind davon völlig unabhängig und insofern schön, weil sie das vor dem Neuschreiben notwendige Löschen der MLCs schon während der Leerlaufzeiten ausführen und die Blöcke so für das Schreiben vorbereiten. Aber: Ohne TRIM/GC wird eine SSD wird unweigerlich langsamer, wenn ihre Kapazität einmal beschrieben wurde, weil alle MLC jetzt vor jedem Schreiben noch gelöscht werden müssen = doppelter Zeitaufwand fürs Schreiben. Um dem zu entkommen hilft nur noch ein SecureErase, bei dem alle MLCs auf den Auslieferungszustand zurück gesetzt werden. Nach dieser Aktion können die Daten wieder zurück auf die SSD gepackt werden, aber der Effekt ist ziemlich kurzzeitig und insofern eigentlich witzlos.

Hintergrund: Ich möchte meinen Acer Travelmate C110TCi mit einer SSD bestücken und gerne wissen, was genau ich mir da eigentlich einbaue. Im Voraus herzlichen Dank fürs Lesen und die konstruktive Kritik!
 
Michael S. schrieb:
@Holt: Zunächst mal: Respekt! Dein Eingangsposting ist didaktisch hervorragend. An Dir ist ein (strenger) Lehrer verloren gegangen. ;)
Danke. Es wurde mir schon mal angeboten Vorlesungen an einer Uni zu halten, aber damals hatte ich wenig Zeit und war sehr viel auf Reisen.

Michael S. schrieb:
(1) TRIM funktioniert auch bei Tandembetrieb mit XP und Win7 problemlos, da es auf dem MFT basiert:
Wenn eine SSD zwei OS (Win XP, Win7) auf getrennten Partitionen beherbergt, dann erreicht die implementierte TRIM-Funktion von Win7 doch trotzdem auch all diejenigen LBAs, die unter XP gelöscht wurden?
Jein, ein Offline TRIM würde gehen, aber das normale Win7 TRIM ist ein Online-TRIM. Das wird nur ausgelöst, wenn eine Datei gelöscht wird. Dann schaut Windows nach, welche LBAs mit den Daten der Datei belegt waren und die werden dann getrimmt.

Bei Win 8 funktioniert das, denn das hat ein Offline TRIM: Die SSD Optimierung im Rahmen des Defragmentierdienstes. Bei Windows 7 konnte man da SSD gar nicht in den Zeitplan aufnehmen, bei Win8 stehen sie dagegen drin und werden dann aber nicht defragmentiert, das passiert nur wenn man das Defragmentieren von Hand anstößt, sondern eben ein Offline-TRIM.
Michael S. schrieb:
Der TRIM-Befehl wird ja vom OS an den Controller gesendet zusammen mit den LBA-Adressen, die obsolete Pages enthalten und überschrieben werden können. Und diese Informationen sammelt das OS ja nicht auf einem Schmierzettel, sondern in der MFT (soweit ich das hier richtig verstanden habe: http://de.wikipedia.org/wiki/NTFS#Aufbau_.E2.80.93_MFT).
Beim Offline Defragmentieren macht er genau das: Aus dem MFT die unbelegten LBAs ermitteln und diese dann trimmen. Bei Online TRIM werden aber, wie oben beschrieben, die LBAs ermittelt die eine Datei belegt und nur diese dann auch getrimmt, genau das hat aber eben Win7 nur, weshalb das bei Win7 + XP eben dann nicht geht, außer man löscht alle Dateien immer nur unter Win7.

Michael S. schrieb:
(2) Eine SSD ohne TRIM kann mit SecureErase wieder flott gemacht werden
Ein bekanntes Auktionshaus bietet eine KingSpec mit bspw. 128GB an, die zwar Wearleveling unterstützt, aber weder GC noch TRIM bietet.
Ohne GC kann nicht sein, allenfalls ohne Idle-GC!

Was soll die kosten? Mehr als 20€ wären mir für eine gebrauchte und derart altmodische SSD viel zu viel, denn die verlieren ohne TRIM so an Performance, dass die meist bald lahmer als HDDs sind.
Michael S. schrieb:
Dabei ist es Missverständnis, dass Wearleveling die Schreibgeschwindigkeit verbessert; WL sorgt nur für eine höhere Lebensdauer der SSD durch die "kluge" VErteilung der Schreibvorgänge auf die MLCs.
Das stimmt, aber das Wear Leveling ist im Prinzip nur das Ergebnis der Auswahl der Blöcke die als nächstes gelöscht werden sollen. Dabei muss der Controller eben auch mal Blöcke auswählen, die kaum oder keine ungültigen Daten enthalten, aber weit seltener gelöscht wurden als der Durchschnitt.
Michael S. schrieb:
Die beiden Technologien GC und TRIM sind davon völlig unabhängig und insofern schön, weil sie das vor dem Neuschreiben notwendige Löschen der MLCs schon während der Leerlaufzeiten ausführen und die Blöcke so für das Schreiben vorbereiten.
Das stimmt u.U. auch nur halb, denn die Sandforce löschen die Blöcke z.B. nicht, die räumen nur einen Teil auf, der der Kapazität der OP Area entspricht.
Michael S. schrieb:
Ich möchte meinen Acer Travelmate C110TCi mit einer SSD bestücken und gerne wissen, was genau ich mir da eigentlich einbaue.
Für die Kaufberatung gibt es einen eigenen Sammelthread, der oben angepinnt ist. Eine gute 120GB SSD gibt es ab 56€ und da muss eine gebrauchte SSD schon mal deutlich drunter bleiben, auch weil man meist bei SSD keine Garantie hat, die viele Hersteller nur dem Erstkäufer gewähren. Wenn es dann noch ein altmodisches Teil bzw. ein Teil einem so altmodischen Controller ist, dann muss da noch mal ein großer Abschlag sein, damit es sich lohnt.
 
Holt schrieb:
Danke. Es wurde mir schon mal angeboten Vorlesungen an einer Uni zu halten, aber damals hatte ich wenig Zeit und war sehr viel auf Reisen.

Nun ja, inzwischen hat das berufliche Leben an der Uni durch die überbordenden Zeit- und Honorarverträge auch deutlich an Sexappeal verloren. Vielleicht hast Du Dir da Einiges erspart. ;-)

Holt schrieb:
Mehr als 20€ wären mir für eine gebrauchte und derart altmodische SSD viel zu viel, denn die verlieren ohne TRIM so an Performance [...] Eine gute 120GB SSD gibt es ab 56€ [...]

Auch wenn es grotesk ist: Die SSD-IDE-Platten sind mit der Kapazität für das Geld (56€) nicht zu haben. Unter 80 Euro aus HongKong geht da nix. Ob sich das lohnt, muss man - wie immer - selbst entscheiden. Ein paar Problemchen lassen sich ggfs. mit pfiffigen Ideen lösen, bspw. einer Ramdisk für temporäre Dateien, sofern der RAM das hergibt.

Manchmal muss man auch mit schlechten Karten ein gutes Spiel machen können.
Ich denke, diese Aufgabe stellt sich bei der IDE-SSD auch.
 
Zuletzt bearbeitet:
Ok, IDE ist was anderes, da sind dann aber fast immer altmodische Controller drauf und die haben eben wie alle frühen SSD Controller enorme Probleme mit der Performance bei zufälligen Schreibzugriffen, genau wie man das bei den USB Sticks heute noch fast überall sieht. Die meisten kommen ja nicht einmal auf 0.1MB/s bei 4k Schreiben. Daher würde ich da durchaus prüfen, ob nicht eine mSATA SSD in einem entsprechenden Adapter die bessere Lösung wäre, dann spart man sich auch die Vermeidung von Schreibzugriffe, die ja genau daher kommen und eben nicht dem Bestreben die Haltbarkeit zu verbessern erwachsen sind.

Es ging dabei nur im Performance, darüber die NANDs zu schonen hat sich damals keiner Gedanken gemacht, denn zu der Zeit hatten gute MLC NANDs 10.000 garantiere P/E Zyklen und da nur wenige dieser guten NANDs in SSD verbaut wurden, waren diese reichlich am Markt vorhanden. Das war nicht wie heute, wo die ganzen NAND Hersteller die guten NANDs vor allem in die eigenen SSDs verbaut haben und diese hohen Qualitäten teils gar nicht verfügbar sind, oder nur in geringen Menge und zu entsprechend hohen Preise abgegeben werden, wie es heute normal ist.
 
Holt schrieb:
Ok, IDE ist was anderes [...] ich [würde] da durchaus prüfen, ob nicht eine mSATA SSD in einem entsprechenden Adapter die bessere Lösung wäre

Soweit ich den Markt überblicke, reicht der Platz im HDD-Slot dafür nicht aus. Vom Ansehen her könnte sowas hier passen (http://www.ebay.de/itm/390776010017), aber mit der mSATA-Platine zusammen wirds dann doch a bisserl eng im Kasten. Und außerdem ist und bleibt es ja ein IDE-Anschluss am Laptop, der uns als "Flaschenhals" erhalten bleibt. Sofern ich Dich richtig verstehe, wäre aber der Controller der mSATA-Platte wesentlich fixer, sodass vor allem Schreibzugriffe wie 4k-64K wesentlich fixer von statten gehen können und auch mittelfristige Performanz-Einbrüche (wie bei der KingSpec) nicht mehr vorkommen würden.

Sofern die Sache rein räumlich passt, wäre Deine Lösung auch schon preislich attraktiver. Mit entsprechender Software stünden ja dann auch TRIM und Idle-GC wieder zur Verfügung. Insgesamt ist die mSATA-Adapterlösung trotz des IDE-Ports am Laptop die bessere Variante, oder?

Herzliche Grüße & einen guten Tag,
Michael
 
Zuletzt bearbeitet:
Beim Controller auf der Platine müsste man zumindest einmal kontrollieren, ob dieser Trim Befehle durchreicht. Wobei der IDE Port selbst immer noch langsamer ist als ein Sata(1) Port.
 
Wie das mit TRIM über diese IDE-SATA Adapter aussieht, kann ich nicht sagen und da wäre ich auch wenig optimistisch, aber die Idle-GC und deren Wirksamkeit ist ja alleine eine Sache des Controllers und der FW der SSDs. Ebenso die Geschichte mit den Leistungseinbrüchen mit der Zeit, wobei man da den guten Controllern über ein Overprovisioning helfen kann diese zu vermeiden. Nur so eine native IDE SSD hat eben selten einen guten Controller, das sind eben total altmodische Teile, wie man eben auch an dem Problem des Leistungseinbruches und den sowieso schwachen 4k Schreibwerten sieht.

Eine optimale Lösung wird man für IDE nicht finden, da gegenüber SATA SSD der Markt einfach viel zu klein ist. Wenn da ein Hersteller eine wirklich gute IDE SSD als Ersatz für die ganzen noch in der Industrie und Steuerungsanlagen in Betrieb befindlichen IDE Platten bringt, dann verlangt der auch entsprechend viel Geld dafür, so dass sich die wirtschaftlich gesehen kaum eigenen dürfte um privat ein alten Notebook zu beschleunigen.
 
Zuletzt bearbeitet:
Zurück
Oben