SSDs und TRIM unter Windows 7
Mitte Dezember 2009 veröffentlichte ich den Artikel “SSDs unter Windows 7 einsetzen“. Mittlerweile häufen sich in den Kommentaren die Fragen zur TRIM-Funktionalität. Deshalb habe ich mich gründlich informiert und versuche euch das Thema näher zu bringen.
Die exakte Bezeichnung des TRIM-Befehls lautet übrigens “ATA8 ACS2 Data Set Management Trim Attribute”.
Wozu wird TRIM überhaupt benötigt?
SSDs verwenden zur Datenspeicherung NAND-Flashzellen. Diese Zellen werden üblicherweise in 4 KiByte große Speicherseiten unterteilt. 128 Speicherseiten werden wiederum in einem Block zusammengefasst, welcher somit auf 512 KiByte kommt.
Leere Speicherseiten können einzeln beschrieben werden. Enthalten sie jedoch Daten, müssen diese zuerst gelöscht werden, was jedoch nur in ganzen Blöcken funktioniert. Direktes Überschreiben ist nicht möglich.
Das zweite Problem ist der Controller. Er weiß nicht welche Daten in den Flashzellen von Windows noch benötigt werden und welche eigentlich gelöscht sind. Beim Entfernen von Dateien vermerkt das Betriebssystem dies nur im Dateisystem. Der Controller bekommt dies nicht mit und hält die Daten weiter in den Flashzellen vor. Schon nach kurzer Zeit wäre die SSD komplett gefüllt – wobei der größte Teil nur Datenmüll wäre.
Auch wenn man nun nur wenige Bytes schreiben möchte, muss jeweils der gesamte Block in den Cache geladen und modifiziert werden. Die Schreibvorgänge benötigen dementsprechend sehr viel mehr Zeit. Die Leistung kann um 40 bis 70 Prozent einbrechen.
Wie funktioniert TRIM?
Mit Hilfe des TRIM-Befehls teilt das Betriebssystem dem Flash-Controller mit, welche Daten gelöscht werden sollen. Diese werden anschließend sofort gelöscht und blockieren keine Speicherseiten mehr. Beim nächsten Schreibvorgang können die freien Speicherseiten sofort beschrieben werden, ohne erst die alten Daten löschen zu müssen.
Was wird für TRIM benötigt?
- Windows 7 (ältere Windowsversionen unterstützen den TRIM-Befehl nicht)
- SSD mit TRIM-fähiger Firmware
- Controller im IDE- oder AHCI-Modus (Controller darf im BIOS nicht auf RAID-Betrieb gestellt sein!)
- Microsoft Storage-Treiber (PCIIDE oder MSAHCI)
Sofern ihr im BIOS AHCI eingestellt habt, muss in den Treiberdetails des Controllers, an dem eure SSD hängt, der MSAHCI-Treiber auftauchen.
Im IDE-Modus sollte an dieser Stelle entsprechend der PCIIDE-Treiber zu sehen sein.
Wie kann ich feststellen, ob TRIM verwendet wird?
Entgegen der weit verbreiteten Meinung kann man nicht direkt feststellen, ob TRIM verwendet wird. Die einzige Möglichkeit dies zu prüfen ist von Zeit zu Zeit einen Benchmark zu machen und die Leistung zu überwachen. Bleibt diese ungefähr auf dem Anfangsniveau der SSD, wird TRIM mit ziemlicher Sicherheit verwendet.
Eine weitere Möglichkeit wäre folgende:
- SSD fast komplett mit Daten füllen
- SSD benchen
- Daten auf SSD löschen, sodass sie im Papierkorb landen
- Papierkorb leeren
- 10 Minuten warten
- SSD erneut benchen
Wenn die Benchmarkwerte nach dem Löschen der Daten (6.) besser ist als davor (2.), dann ist TRIM höchstwahrscheinlich aktiv.

wird der trim nicht nur angewand wenn man den papierkorb leert?
meine das mal irgendwo gelesen zu haben…
mfg thomas
Klar. Die Daten werden im Dateisystem ja auch erst gelöscht, wenn der Papierkorb gelöscht wird.
Hallo Tobi,
kannst du bitte etwas mehr zu dem Punkt “Microsoft Storage-Treiber (MSAHCI)” schreiben?
- Was genau ist dessen Aufgabe / Was bewirkt er
- Wo läd man ihn herunter / Oder gibt es den standartmäßig in jedem Win7
- muss man ihn irgendwie besonders einstellen / aktivieren?
- Weitere Quellen, um mehr über diesen ominösen Treiber zu lesen / Wo hast du deine Infos zu dem Treiber her
Gruß
Der Treiber ist die Schnittstelle zwischen Betriebssystem und SSD. Der einzige Treiber, welcher den TRIM-Befehl an die SSD weitergibt ist der Microsoft-Treiber (MSAHCI). Er ist bei Windows 7 standartmäßig dabei.
Es muss einfach in den Treiberdetails deines Controllers auftauchen, dann wird er verwendet. Habe ein Screenshot im Beitrag gemacht.
Quellen gibt es viele. Les einfach mal hier und hier.
Ah ok, wenns ein Standardtreiber ist, dann brauch ich mich nicht weiter drum kümmern.
Danke
^^erst unteren Kommentar lesen bitte
Noch vergessen:
Sollte ich denn beim stecken schon etwas beachten?
add: Habe insgesamt 3 Standard-Zweikanal-PCI-IDE Controller, jedoch ohne den fraglichen Treiber.
Hallo,
Ich hätte da ein Problemchen, denn ich habe Win 7 und habe heute die P128 von Corsair verbaut, habe sie leider defragmentiert. Naja einmal wird nicht schaden, jedenfalls habe ich unter meinen Treibern keinen MSAHCI Treiber gefunden.
Was tun? Möchte die SSD richtig einstellen und denke ich komme um diesen Treiber nicht drum rum. Könntest du mir sagen, wie ich Win 7 dazu bringe, dass es die SSD richtig erkennt??
Habe versucht den Treiber manuell zu implementieren. http://downloadcenter.intel.co.....p;lang=eng
Hat nicht geklappt. Musste Win 7 wiederherstellen, damit es überhaupt wieder ging.
Vielen Dank
Der Link führt zu einem Intel-Treiber. Diesen bitte komplett löschen.
Geh im Geräte-Manager auf den Controller, an dem die SSD hängt. Dann auf “Treiber aktualisieren” und den MSAHCI-Treiber manuell aus der Liste auswählen.
So habe es geschafft einzurichten. Lag am BIOS, IDE war noch eingestellt. Die Seite hat mir dabei geholfen.
Danke dir. Klasse, dass du dir hier Zeit für uns nimmst. Einfach toll.
Hi,
habe das gemacht und es hat nicht geklappt… Pc fährt nicht mehr hoch. Ich habe bestimmt 30 mal versucht win7 wieder zu installieren… Jetzt geht es wieder….
Was kann ich noch machen das der MSAHCI-Treiber eingebunden wird…
Bei Nvidia Chipsätzen gibts wohl einige Unstimmigkeiten. Vielleicht hilft dir das hier. Leider kann ich sonst auch nicht besser helfen.
Daniel ich hatte das gleiche Problem, es gibt 2 Einstellungsarten in meinem BIOS, in dem du IDE zu AHCI Mod umstellen kannst. Die oben erwähnte Seite beschreibt sozusagen Schritt 1.
Schritt 2 wäre im Bios von IDE auf AHCI MOD umzustellen. ich habe einfach einmal das eine aktiviert und danach das andere, weil ich selber nicht wusste, welches die richtige Einstellung ist. Beim ersten mal ging es nicht, aber beim zweiten mal klappte es dann.
@Tobi, dennoch braucht WIN 7 lange zum hochfahren. Tipps an der Stelle??
Wie lange dauert das reine Laden von Windows?
Der Großteil geht eigentlich fürs BIOS drauf. Die reine Ladezeit für Windows sollte 15-25 Sekunden betragen. Mit normaler Festplatte locker doppelt so lange.
Ahci hat mein Nvidia Board nicht …
Also meine SSD bleibt beim lesen immer zwischen 200-220, hab die Platte mal voll gemacht und sachen gelöscht. In Win7 habe ich 7.1 Punkte bekommen und beim hochfahren braucht der Pc 23 sek.
Welches Wipertoll kann ich benutzen Gskill Falcon II
Da musst du wohl mal direkt im Forum von GSkill schauen.
Hallo Leute,
ich habe mir eine Samsung SSD 64 Gb zugelegt, eingebaut pc eingeschaltet und die Festplatte ist nicht da??? unter Laufwerk eingeschaften ist sie da, aber in dem Explorer nein. Habt ih rat und tat? System ist Win 7 64 bit. Danke im Voraus.
Könnte sein, dass kein Laufwerksbuchstabe zugeordnet wurde. Aber mal ne andere Frage. Warum installierst du dein Windows nicht direkt auf der SSD!?
Hallo,
hat sich erledigt, es war noch nicht formatiert, ich habe es vor freude vergessen…
Auf die Frage warum nicht Win drauf instaliert:
Ich möchte gerne 1:1 kopie von bestehendem System machen, kennt jemand gutes tool oder hat jemand erfahrungen?
Clonezilla
ah und noch was, ich habe mein system komplett auf AHCI umgestellt, und seitdem startet mein win7 sehr, sehr, sehr langsam, ca. 2 min… was ist da faul?
Du solltest das Windows 7 auf jeden Fall neu auf die SSD installieren, da sonst das Alignment nicht stimmt.
Dann sollte dein Problem auch behoben sein.
Woran das genau liegt weiß ich aber leider auch nicht.
aber es gibt zahlreiche tools die auch 1:1 kopieren, oder sind die nicht so gut? ich meine ich würde gerne alles so behalten wie es jetzt ist…
Die sind gut wenn man von einer normalen Festplatte auf eine solche kopieren möchte.
Bei einer SSD sollte man meiner Meinung nach neuinstallieren.
Falls du doch 1:1 kopierst, unbedingt das Alignment nach dem oben genannten Tutorial anpassen und auch meine anderen Tipps berücksichtigen!
ok, danke! kennst du denn gute programme?
Zum clonen?
Wenn ja Acronis True Image, Easeus Todo Backup oder Paragon Drive Backup.
so nun habe ich die ssd festplatte zerschossen
geht nix mehr. Und das alles nach nur ein par versuche das System zu klonen und ein paar mal Formatieren (schnell format)
. Sind die so schwach? oder habe ich da was falsch gemacht? Na ja werde am Montag zurück senden und tauschen, und danach keine clone versuche… Es wird einfach ein neues System draf installiert. Danke für euere Antworte!
Hallo,
ich habe auf einer intel x25-m Win7 neu installiert (AHCI im Bios aktiviert), intel infistaller (Chipsatztreiber) anschliessend auch installiert da ich ausser der SSD noch mehrere Platten benutze. Jedenfalls sah ich im Gerätemanager unter Controller mehrere ATA Channel 1 bis -5 aufgelistet. Unter Treiberdetails kein msahci.sys. Also rechtsklick, eigenschaften, treiber, treiber aktualisieren, treibersoftware manuell suchen, aus liste wählen: Hier wurde als einzige kompatible Hardware angezeigt:”Hersteller: Standard-IDE-ATA/ATAPI-Controller, Modell:IDE-Kanal”. Ausgewählt und installiert, neustart, eigenschaften, treiberdetails: KEIN msahci.sys. Nur atapi.sys und ataport.sys werden angezeigt, wie vorher auch schon.
Könntest Du bitte nochmal genau im Detail mit exakten Bezeichnungen den Vorgang zum manuellen Nachinstallieren des msahci.sys beschreiben? Habe schon einiges gegoogelt, aber die wenigen Anleitungen sind leider immer nur ungefähr…
Schöne Grüsse!
Du musst den Haken bei “Kompatible Hardware anzeigen” rausnehmen und dann links “Standard AHCI 1.0 Serieller-ATA-Controller” auswählen.
Ächz, der Fehler war folgender: Hatte den einzelnen (von 6 anderen) Controllerhub angeklickt im Gerätemanager, hätte aber den “Intel ICH10 Family 6 port SATA AHCI Controller” klicken sollen. Habe jetzt schon nochmal neu installiert
Jedenfalls hat das installieren des intelinfinstaller den msahci.sys dringelassen – vorteilhaft wenn man wie ich eSATA nutzt. Also, alles gut soweit,
schöne Grüsse!
Hallo Tobi,
ein echt guter Beitrag mit vielen wichtigen Informationen.
Vielleicht hast Du – oder ein anderer – einen weiteren guten Tipp auf Lager:
Ich betreibe an einem ASUS P6T-SE Board mit nur einem SATA-Controller zwei Raid0 Sets: einmal 2 SSD’s und einmal 2 HDD’s.
Auf dem SSD-Raid habe ich Win7 laufen. Im Raid funktioniert bekanntlich der TRIM Mode nicht, also bin ich am Überlegen, die beiden SSD’s einzeln zu betreiben, um dieses Feature nutzen zu können. Allerdings kann ich dann auch mein HDD-Raid nicht mehr benutzen, da der Treiber hierfür nicht eingebunden werden darf, sondern der MS-AHCI Treiber benutzt werden muss.
Eine Möglichkeit wäre natürlich, einen weiteren Controller im PCI-Slot zu benutzen. Aber vielleicht hat ja einer ne Idee, wie es mit dem integrierten Controller funktioniert.
Oder, noch besser, wie ein SSD-Raid betrieben werden kann, ohne auf TRIM zu verzichten. Evtl. funktioniert es mit Software-RAID – hat da jemand Erfahrungen?
Vielen Dank im Voraus
HotDoc
Da habe ich genau das richtige für dich!
http://www.hartware.de/news_48799.html
Der neue Intel Treiber ermöglicht es ein RAID aus normalen Festplatten zu betreiben und unterstützt gleichzeitig TRIM bei SSDs.
Evtl. kommt auch bald eine Version, die auch bei nem SSD-RAID TRIM unterstützt.
Ds nenn ich malne schnelle Antwort – alle Achtung.
Hoffentlich wird bald ein SSD-Raid unterstützt – ich habe mich an die Performance bereits unter XP gewöhnt. Auch der Verlust mit der Zeit hielt sich in Grenzen.
Nochmals Danke
HotDoc
Ich finde das Tutorial sehr gut und wollte das gleich it meiner Intel SSD ausprobieren. Ich hab ein Acer Aspire 8930G Notebook und eben die Intel Postville SSD 80GB. Habe heute auch den Intel Controller Treiber “Intel ICH9M-E/M SATA AHCI Controller” installiert (In der Beschreibung steht auch, dass mein Chipsatz unterstützt wird). Wenn ich allerdings auf Treiberdetails klicke, wird lediglich iaStor.sys angezeigt. Im BIOS steht die Festplatte auf AHCI. Funktioniert das so auch oder was muss ich noch tun?
Viele Grüße!
Du hättest den Intel Treiber nicht installieren dürfen. Der von Windows 7 mitgelieferte Treiber reicht aus und unterstützt TRIM.
Aber vorher war auch kein MSAHCI in der Liste auswählbar. Deswegen habe ich ja den anderen Treiber installiert.
Dann muss noch irgendein anderes Problem bestehen. Wenn es möglich ist, installier einfach mal neu und schau welcher Treiber verwendet wird, ohne vorher irgendetwas zu installieren.
Kann mir einer sagen, wie ich feststellen kann an welchem controller meine ssd angeschlossen ist.
Mainboard ist ein Gigabyte GA-X58-UD7: Das hat mehrere controller.
einen von marvel, ein ICH10R und einer von Gigabyte; die SSD ist mit einem SATA Anschluss verbunden, der von ICH10 Controller gesteuert wird.
Im Geräte-manager von win7 werden auch mehrere controller angezeigt:
zwei “Standard AHCI1.0 Serieller-ATA-Controller”
und zwei “Standard-Zweikanal-PCI-IDE-Controller”
und noch ein par “ATA Channel”
Der Storage-Treiber von MS wird nur bei den beiden “Standard AHCI1.0 Serieller-ATA-Controller angezeigt. Jetzt weis ich nicht, ob meine SSD an einem dieser controller mit MS Storage Treiber angeschlossen ist, oder an einem anderen, ohne MS Storage Treiber.
Ich frage, weil ich TRIM nutzen will (Firmware ist 1819 (inilinx); im BIOS ist der “ICH” controller auf “AHCI” eingestellt; soweit sollte alles OK sein)
Mit dem Tool hier solltest du das auf einen Blick erkennen können.
Naja eine Neuinstallation wollte ich eig. nicht schon wieder machen. Das ist mir auch ehrlichgesagt zu viel Arbeit. Aber ich bin mir sicher, dass von Anfang an kein MSAHCI zur Auswahl stand. Ich hatte mich nämlich von Anfang an gewundert, dass erstens die Install von Win7 ewig gedauert (ca. 1h) hat und das der nicht automatisch die SSD als solche erkannt hat. Denn es gibt sogar in der Defragmentierung von Windows die SSD zur Auswahl, was eig. nicht sein sollte. Auch wurden keine Funktionen der SSD angepasst.
Hallo – alles seeehr interessant – aber: Wenn die neue SSD nicht Trim-fähig ist …
Frage: Wie kann man sonst die SSD “säubern, entrümpeln, Datenleichen löschen …” ? … Etwa nur durch gründliches Neuformatieren – oder anders: alles nur “in den RAM-Schreibe – und bei AUS Löschen ?
Grundsätzlich sind alle neuen SSDs TRIM-fähig.
Unter Windows XP oder bei einer nicht TRIM-fähigen SSD bietet die Firmware aber meist eine andere Lösung an. Das Stichwort ist: “Garbage Collection”. Einfach danach googeln, da gibts genug Infos.
Zudem gibts von manchen Herstellern noch spezielle Tools, um die SSDs zu reinigen. Stichwort: Wiper-Tool
Hallo Tobi,
ich habe einen Sony Vaio All-in-one VPC-L11 und im Bios kann ich nicht auf AHCI umstellen. Habe mir eine OCZ Vertex2 gekauft. Kannst mir helfen, was ich da einstellen muss?? Gruß
Schau mal in den Treiberdetails welcher Treiber verwendet wird.
Wenn dort PCIIDE.sys oder MSAHCI.sys steht passt alles.
Hab die SSD Vertex2 jetzt reingebaut. Da steht im Gerätemanager PCIIDE.sys. Ich habe die Platte mal gebenchmarked und finde die Werte sehr ernüchternd. Liegt das nun am fehlenden AHCI-Treiber?? Ausserdem habe ich im Gerätemanager gesehen, dass mir ein sog. Multimediacontroller-Treiber fehlt. Keine Ahnung warum. Hab eigentlich alle Treiber installiert. Weißt du rat? Kann auch gerne mal den Screenshot davon hochladen… Meld dich. Danke… Jörg
Eigentlich sollte dann alles passen. AHCI bringt normalerweise auch nicht mehr viel an Geschwindigkeit. Welche Werte hast du denn bekommen, bzw. mit was hast du gebencht?
Bei dem fehlenden Treiber kann ich dir nicht direkt helfen. Da solltest du mal mit dem Tool “Everest” schauen. Dort unter dem Punkt “Geräte” das entsprechende Gerät suchen. Dann könntest du hier nen Screenshot davon posten.
Der fehlende Treiber war der von meiner TV-Karte. Das hat sich erldeigt. Jetzt passt alles. Ich denke an diese Werte von 285MB Read und 275MB Write wird man sowieso nicht rankommen, aber ich habe da 160MB Read und 100MB Write. Als Tool habe ich den CrystalDiskMark3 für x64 Systeme und den AS SSD Benchmark getestet. Komisch…
Stimmt die Werte sind schon ein wenig niedrig. Aber am fehlenden AHCI-Treiber liegt das nicht. Kann dir leider nicht wirklich helfen.
Gibt es evtl einen anderen Chipsatztreiber, den man beim IDE-Modus verwenden kann? Standardmaäßig ist ja nur der Treiber installiert, der bei der Win7 Erstinstallation dabei ist…
Das ist im Moment auch der einzige, bei dem TRIM ohne Probleme funktioniert.
Vielleicht bin ich auch zu doof, aber ausser der Installation von Win 7 muss ich doch nichts weiter machen, oder? Der Treiber wird im Gerätemanager im Controller unter den Details als PCIIDE auch angezeigt. Das wars doch dann!!?? Mehr einstellen kann man nicht oder muss ich dann noch was umändern? Die Werte sind echt niedrig…
Man kann noch ein paar Sachen optimieren, die jedoch kein Einfluss auf die Benchmarkwerte haben. Wenn dann nur minimalst. Wenn die Möglichkeit besteht, kannst du die SSD mal an einem PC testen?