SSD-Optimierung unter Windows

Dass Flash-Speicher sowohl Schnelligkeit als auch Robustheit zu ihren positiven Eigenschaften zählen, ist längst klar. Bedauerlicherweise können falsche Windows-Settings diese Vorteile schnell zunichte machen und im Extremfall die SSD sogar lynchen. Wir zeigen, wie Ihr Speicher eine längere Lebensdauer erhält.

Normalerweise hieß es immer: Schneller Prozesser = schneller Computer. Das trifft nur noch ansatzweise zu – zwar bringen neue CPUs mit mehreren Prozessorkernen extrem viel Leistung mit, aber die herkömmliche (mechanische) Festplatte wird, hinsichtlich der Performance, schnell zum Flaschenhals des ganzen Systems. Daher heißt es heute: Schnelle Festplatte = schneller Computer. Trotz relativ hoher Preise macht diese einfach Gleichung den Griff zur SSD nahezu unausweichlich. Neben sensationellen Zugriffszeiten und den vielfach genannten weiteren Vorteilen wäre damit doch alles bestens, oder doch nicht? Jein, muss man wohl antworten. Die Feinabstimmung auf das jeweilige Betriebssystem ist vonnöten – wobei Windows 7 hier kein Problem darstellt. Ältere Windows-Versionen wie XP oder Vista, die natürlich auch noch im Umlauf sind, bedürfen einiges an Änderungen – beide Systeme behandeln die SSD wie eine herkömmliche HDD, was die Leistung schon mal enorm bremst. Nachfolgend soll erklärt werden, wie man dieses Problem umschiffen kann – aber zunächst eine kurze Einführung in die allgemeine Problematik – warum hat Windows überhaupt solche Probleme mit Flash-Zellen?

Die kleinste Einheit auf einer SSD ist eine Zelle, in der eine elektrische Ladung gespeichert wird. Von diesen gibt es zwei Typen: Single Level Cells (SLC) und Multi Level Cells (MLC). SLCs können zwei verschiedene Ladungen enthalten, die binär repräsentiert werden – also mittels 0 oder 1, was einem Bit entspricht. MLCs stellen zwei Bits dar, weil Sie vier verschiedene Ladungen aufnehmen – es kann darüber hinaus die doppelte Menge an Daten auf dem gleichen Platz gespeichert werden.

Vergleich SLC-MLC

Doch das hat nicht nur Vorteile. Verglichen mit einer SLC dauert dafür das Beschreiben einer MLC um etwas das dreifache länger an. Außerdem verkürzt sich die Lebensdauer der Flash-Zelle enorm. Eine SLC erreicht etwa 100.000 Schreibzyklen, wobei eine MLC lediglich ein Zehntel aufweisen kann. Klingt immer noch viel, aber bei 10.000 Zyklen wäre die SSD nach einige Monaten im Eimer, da Windows extrem viele Schreibvorgänge automatisiert durchführt. Um eine Gleichverteilung der Beschreibung der SSD-Zellen zu erreichen, sorgt der Controller mittels „Wear Leveling“ – dies erhöht die Lebensdauer schlagartig um mehrere Jahre. Problem: Löscht  man Daten, so altert die SSD automatisch. Eine Speicherzelle hält lediglich eine begrenzte Zahl an Löschvorgängen aus, denn jedes Mal, wenn der Controller eine schon benutze Zelle beschreiben möchte, muss sie vorher gelöscht werden. SSDs sind also nicht in der Lage, Daten direkt zu überschreiben, wie dies bei HDDs der Fall ist.

Wear Leveling: Gleichmäßiges Nutzen von Flash-Zellen

Um die angesprochene Gleichverteilung der Speicherzellen zu erreichen, bedient sich der Controller zweier Tabellen. Die Dateitabelle enthält dabei die Umrechung der logischen Speicherorte in die physischen. Dazu kommt eine Löschtabelle, welche für jeden Block einzeln angibt, wie oft er bisher überschrieben wurde. Wenn also nun eine bestimmte Datei auf der SSD abgelegt werden soll, muss der Controller in der Löschtabelle nach den am wenigsten genutzten Blöcken suchen. Das allein ist nicht alles. Installiert man unter Windows eine Standard-Anwendung wie Photoshop, bleiben die Programm-Dateien immer auf denselben Blöcken. Jedoch diejenigen Blöcke, unter denen Sie Ihre Bilder abspeichern, werden regelmäßiger im Einsatz sein und somit schneller altern. Nach einiger Zeit tauscht der Controller die Inhalte der weniger benutzten Blöcke mit denen der häufig verwendeten aus. Ohne die Verwendung beider Methoden wird die SSD ungleichmäßig altern. Wear Leveling setzt also voraus, dass der SSD-Controller die Daten selbst organisiert. Das Betriebssystem an sich hat nämlich im Gegensatz zu magnetischen Festplatten bei einer SSD nicht unter Kontrolle, wo genau die Daten (physisch) liegen.

Die Systembremse

Wie bereits erwähnt, kann eine SSD also neue Daten nur in diejenigen Flash-Zellen schreiben, deren Inhalt zuvor gelöscht wurde. Direktes Überschreiben funktioniert nicht. Um dies Vorgänge besser nachvollziehen zu können, muss zunächst die Organisationsstruktur der SSD beleuchtet werden. Innerhalb der Flash-Zellen werden einzelne Bits zu Pages zusammengefasst – ja nach SSD macht das 2 bis 4 KByte aus. Pages sind Teile von Blöcken, welche zwischen 128 und 512 KByte groß sind. SSDs können einzelne (kleine) Pages zwar beschreiben, aber gelöscht werden können nur gesamte (große) Blöcke. Die Dateien, die gelöscht werden, sind allerdings im Dateisystem beim Entfernen nur als gelöscht markiert. Das heißt, dass Windows denkt, der Platz wäre verfügbar, was er aber letztlich nicht ist, denn die Daten auf der SSD belegen nach wie vor die Pages. Die Daten der Blöcke werden erst dann komplett gelöscht, wenn der SSD-Controller in die betreffenden Pages neue Daten schreiben will. Beim Schreibvorgang werden die zu beschreibenden Blöcke ermittelt und diejenigen Pages verschoben, die nicht gelöscht werden dürfen. Die Festplattensteuerung packt diese Daten der Pages in den Zwischenspeicher, leert die Flash-Zellen der Blöcke und erst dann werden die leer gewordenen Pages mit neuen Daten plus den alten Daten (aus dem Zwischenspeicher) beschrieben. Durch dieses Prozedere wird die Schreibgeschwindigkeit selbst bei guten SSDs um etwa 40% reduziert. Nur bei komplett neuen Flash-Platten, bei denen noch alle Pages unbenutzt sind, kann man keine Performance-Verluste erkennen. Allerdings werden die Zellen durch den Gleichverteilungsmechanismus von Wear Leveling rasch vollgeschrieben.

Um dieses Problem zu beheben, wird (durch die Hersteller)  zusätzlich Speicher auf die Platte gepackt – was letztlich nur leeren Pages entspricht, von denen Windows aber nichts weiß. Der Verlust der Schreibperformance lässt sich damit nur hinauszögern. Abhilfe schafft da der Trim-Befehl, als Teil der SSD-Spezifikation. Dabei handelt es sich um einen Löschbefehl, der dem Betriebssystem der Platte zu verstehen gibt, welche Blöcke es gelöscht hat. Der Controller kann die Blöcke dann bereits vor dem folgenden Schreibvorgang leeren. Für alle User von Windows 7, welches Trim beherrscht, also kein Problem! XP und Vista sind da aber ahnungslos. Selten bis nie ist er derzeit auch in Firmware von SSD-Speichern zu finden. Intel hat allerdings bereits verlauten lassen, dass mit Windows 7 ein Firmware-Update für seine neuen SSDs bereitstehen wird, das TRIM unterstützt. Für XP und Vista will Intel ein extra-Tool anbieten.

Korrektes Alignment: Partitionen optimieren

Ein derartiges Tool ist auch notwendig, denn XP und Vista bremsen eher die Performance von SSDs, im Vergleich zu Windows 7. Ein Beispiel: Die Systempartition auf Windows XP beginnt in Sektor 126. Sehr ungünstig, da XP bei vielen Dateien lediglich halbe Pages beschreibt. In der Folge kommen unnötige Lese- und Schreiboperationen zustande. Microsoft gibt an zu wissen, dass damit die Schnelligkeit der SSD mit bis zu 50% sinkt. Der Trick: Der Startsektor der Systempartition von XP muss derart verschoben werden, dass die 4 KByte großen NTFS-Cluster mit den SSD-Pages übereinstimmen. Dieses sogenannte Alignment kommt noch vor dem Formatieren zustande, daher eignete es sich nur für gänzlich neue SSDs, da alle vorhandenen Daten unlesbar werden. Unter Vista stimmen die Partitionsgrenzen mit denen der Pages überein – d.h. wenn Sie die Platte für XP in einem Vista-Betriebssystem partitionieren, ist das Problem gelöst. Wenn Sie allerdings nur XP haben, so benötigen sie das Command-Tool „Diskpart“ von Microsoft. Schließen Sie dann Ihre SSD als zweite Platte an, starten Sie „Diskpart“ (Start à Ausführen –> Diskpart) und geben Sie folgendes ein:

  • list disk

Das Tool zeigt alle angeschlossenen Datenträger – normalerweise ist die SSD dabei „Disk 1“ – in diesem Fall geben Sie ein:

  • select disk 1

Wenn das Tool den Datenträger gemeldet hat, bewegen Sie sich auf die Partitionsebene:

  • list partition

Normalweise zeigt Diskpart nun an, dass es keine Partitionen finden kann. Erzeugen Sie nun eine neue  Partition mit korrektem Alignment auf Sektor 128. Verschieben Sie den Startsektor der Systempartition so, dass die 4 KByte großen NTFS-Cluster mit den SSD-Pages übereinstimmen.

  • create partition primary align=64

Diskpart erzeugt eine optimierte primäre Partition. Die muss allerdings noch auf

  • active

gestellt werden, denn nur dann wird die SSD auch die Startpartition. Es sind nun lediglich noch einige Einstellungen nötig, damit Windows Ihrer SSD mehr nützt als schadet. Dazu muss zunächst die Windows-Defragmentierung deaktiviert werden, denn die löst nur unnötige Schreiboperationen aus und bringt keine Performance.

Gehen Sie im Startmenü zu “Alle Programme”–> Zubehör –> Systemprogramme”. Klicken Sie dann auf „Defragmentierung“ und aktivieren Sie „Volumes auswählen“. Hier nun alle Häkchen vor den Partitionen Ihrer SSD entfernen.

Superfetch: Den Vista-Dienst können Sie bei schnellen SSD-Platten deaktivieren.

Auch Prefetching macht beim Lesetempo einer SSD keinen Sinn. Damit speichern XP und Vista häufig benutzte Programme so, dass sie schneller in den Arbeitsspeicher geladen werden können. Prefetching beenden Sie über die Registry: Gehen Sie auf Start –> Ausführen und öffnen Sie „regedit“. Navigieren Sie zum Reiter „HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement\PrefetchParameters“ und ändern Sie dort „Enable Prefetcher“ auf den DWORD-Wert »0«.

Prefetch: Der Stand-By von häufig verwendeten Programmen lässt sich in der Registry ausschalten

Vista bietet noch zwei weitere Starthilfen, welche unnötige Systemaktivität mit sich bringen. Superfetch und Readyboost. Diese beiden können sie über die „Computerverwaltung –> Dienste“ deaktivieren. Klicken Sie mit rechter Maustaste auf den entsprechenden Dienst und stellen Sie den jeweiligen Starttyp bei Eigenschaften auf deaktiviert.

Software: Unnötiges abschalten

Weitere Windows-Optimierungen können den Schreibprozess stark reduzieren. Es bleibt allerdings zu erwähnen, dass diese Tipps sowohl Sicherheit und Komfort beeinträchtigen. Bitte Legen Sie auch immer in regelmäßigen Abständen Backups Ihrer Daten auf einem externen Datenträger ab, dann können Sie die Windows-Systemwiederherstellung auch abschalten. Unter Vista-Ultimate sollten auch die Aktivitäten der Volume Shadow Copy Services eingestellt werden. Dabei sichert Windows systemrelevante Daten, installiert Programme und Dateien. Durch deren Abschaltung wird verhindert, dass die SSD schneller voll läuft und sich die Schreibgeschwindigkeit reduziert. Auch Standardbrowser wir der Internet Explorer oder Firefox schreiben automatisch Daten. Beim IE 8 lässt sich das via „Sicherheit –> InPrivate Browsen“ abschalten. In Firefox läuft es über „Extras –> Privaten Modus starten“. Rein technisch macht es ebenfalls Sinn, auf die Auslagerungsdatei zu verzichen. Ab 4 GByte RAM können Sie versuchen, die „Swap“ in der Systemsteuerung abzuschalten.

Auslagerungsdatei: Ab 4 GByte RAM können Sie versuchen, die Swap zu deaktivieren

Sollte eine Software nicht mehr starten, machen Sie den Schritt einfach rückgängig.
Richtig gute SSDs laufen auch ohne Feintuning wesentlich besser als HDDs. Die Tricks machen also nur Sinn, wenn die Funktionalität des Systems – und damit der Spaß daran – nicht in Mitleidenschaft gezogen wird.

Zuletzt sollten Sie auf folgende Programme bei der Verwendung von SSDs gänzlich verzichten:

  • Defragmentierung: macht auf SSDs gar keinen Sinn – richtet mehr Schaden an durch unnötige Schreiboperationen.
  • Datenvernichtung: es kann nicht garantiert werden, dass eine Date auf der SSD überschrieben wird – um Daten wirklich zu löschen, muss die komplette SSD gelöscht werden.
  • Echtzeit-Backup: siehe Defragmentierung – Diese Tools schreiben in Echtzeit Daten auf die Platte.
  • Festplatten-Benchmark: unnötig, da diese Tools nur Schreiboperationen ausführen, damit man weiß, wie schnell die SSD wirklich ist – allerdings weiß man das auch so. Außerdem ist es unerheblich für den subjektiven Eindruck, wie schnell die SSD letztlich (technisch) ist.

10 Antworten zu “SSD-Optimierung unter Windows”

  1. peter
    01. Dez, 2010 am 20:59 #

    Super einleuchtender Bericht/ Anleitung auch für Leute, z.B. wie mich, die keine Experten sind. Ich bekomme meine SSD zwar erst in den nächsten Tagen, glaube aber, dass ich es mit dieser Anleitung schaffe mit meinem XP Prof SP3 umzuziehen und richtig zu konfigurieren. Danke.

  2. Thorsten
    25. Feb, 2011 am 10:51 #

    Mich würde interessieren, wie man eine mit BootCamp eingerichtete SSD (50GB für Max OSX / 200GB für Win7) optimiert. Insbesondere das korrekte Alignement wäre für mich interessant. Muss man hier den ersten Bootvorgang (also vor der Windows-Installation) stoppen und die SSD in ein anderes System einbauen? Oder kann man die Partitionierung mit Hilfe der Win7-Boot-DVD optimieren?

  3. stone1978
    19. Apr, 2011 am 14:01 #

    Warum kauft man sich einen MAC wenn man dann WIN 7 raufgibt ;-)

    Ich würde das mit einer ACRONIS BOOT DISK (DISK DIRECTOR) machen.
    WIN 7 BOOT DVD DÜRFTE NORMAL NET STARTEN……

    lg

  4. JPKAE
    17. Jun, 2011 am 18:01 #

    Falsche Angaben zur NAND Flash Programmier/Löschbarkeit (P/E = program/erase Zyklen)

    “.. 100.000 Schreibzyklen, wobei eine MLC lediglich ein Zehntel aufweisen kann. Klingt immer noch viel, aber bei 10.000 Zyklen wäre die SSD nach einige Monaten im Eimer, …”

    Die Angaben beziehen sich auf die alten 9x-6x nm NAND FLash Strukturen und da man die Physik nicht austricksen kann, liegen diese Werte bei den aktuellen 3x-2x Strukturen deutlich niedriger.
    Durch die Wear Leveling Technik und eine angemessene Anzahl von sog. Spare Blocks (abhängig von der Qualität der NAND Flash ICs) kann man für ein Produkt eine höhere Beschreibbarkeit angeben.
    2006 wurde die Lebensdauer einer industriellen CF Karte mit SLC NAND Flash – basierend auf den 100,000 P/E pro NAND Zelle mit 2 Mio. P/E Zyklen spezifiziert.
    Es gibt einen guten Grund dafür, warum die Hersteller diese Angaben nicht mehr spezifizieren, bzw weglassen.
    Schauen wir doch einfach einmal bei der hoch gelobten Vertex3 nach. Wo steht denn da etwas von Lebensdauer in der Spezifikation?

    Allerdings ist das Ganze nicht so tragisch wie ein Head Crash bei einer HDD. Wenn sich meine SSD nicht mehr beschreiben lässt, weil sie keine “spare blocks” mehr hat, dann wird sie von ganz allein zu einer READ ONLY SSD und ich kann sie als ein teures Backup Medium aufbewahren :-)

    PS: Intel hat einen interessanten Vergleich dokumentiert: seit 1996 hat sich die Leistung der CPU um den Faktor 175 verbessert, die HDDs hingegen nur um den Faktor 1,3.
    Wer also höhere Leistung haben will muss Geld ausgeben – so wie beim Autokauf :-)
    SSD ist ein Leistungsspeicher (Porsche) und die HDD ein Massenspeicher (Bus) :-)

  5. Dr.Ernst-G.Teupe
    31. Jul, 2011 am 02:50 #

    Hallo,
    vielen Dank für den sehr interessanten Artikel, der auch mir als interessierten Laien eingeht; eine Frage hätte ich: das bekannte “in privat” Brausen beim IE9 u.a. speichert Cookies und temporäre Internetdateien um sie bei Beendigung sofort zu wieder zu löschen.
    Kann man das unterbinden? Wie ich es in Ihrem Artikel verstehe, verkürzt diese Speicherung/Löschung doch den Lebenszyklus der SSD.
    mit freundlichen Grüssen
    Dr.Teupe

  6. Sven
    04. Okt, 2011 am 12:50 #

    Zur Antwort: “Warum kauft man sich einen MAC wenn man dann WIN 7 raufgibt”

    Ganz einfach, Windows 7 läuft auf einem Mac um ein vielfaches besser als auf einem PC, klingt komisch ist aber so! ;-)

    Gruß

  7. Easy
    25. Jan, 2012 am 20:39 #

    Hallo und danke für die wertvollen Tipps!
    Noch eine Frage zu sinnvolle Aufteilung von Treiber und Programme:

    Meine System Festplatte ist eine 128Gb SSD-Festplatte, also recht klein.
    Werden Geräte-Treiber nach wie vor auf die C:/ Festplatte geschrieben?
    Was ist mit große Programme die viel Speicherplatz brauchen (z.B. Audio & Video)? Müssen die auch nach wie vor auf die kleine System-Festplatte installiert werden. Dann wird die SSD Platte ganz schnell voll und reicht sogar nicht aus! Oder kann man die auf eine größere D:/ Festplatte installieren?

  8. Thomas
    14. Feb, 2012 am 19:46 #

    @Easy:
    Nicht Audio- und Videoprogramme verbrauchen viel Speicherplatz, sondern die Dateien, die diese Programme als Quelle und Ziel ihrer Aktivitäten brauchen. Programme also nach C installieren, damit sie schön schnell starten. Video- und Audiodateien aber ins Datengrab Festplatte.

  9. Roger
    20. Apr, 2012 am 19:03 #

    Das eine SSD durch die Defragmentierung nicht langsamer wird, ist meiner Meinung ein absoluter Mythos. Sicher, der Effekt ist durch die kurzen Zugriffszeiten deutlich weniger ausgeprägt als bei Festplatten aber auch SSD’s müssen eine fragmentierte Datei erst einmal Stück für Stück suchen und dann sozusagen wieder zusammensetzen. Das kostet einfach Zeit und somit Performance auch bei einer SSD. Die Hersteller geben das natürlich nur ungern zu aber es ist eine Tatsache.

    Das Problem ist natürlich, dass eine Defragmentierung für die Lebensdauer einer SSD nicht optimal ist aber von Zeit zu Zeit kann man auch eine SSD mal defragmentieren ohne dass die Lebensdauer allzusehr leidet.

    Ob Prefetch bei Systemen mit SSDs deaktiviert werden soll, ist auch eine so eine Frage. Auch hier: eine SSD ist wesentlich schneller als eine Harddisk aber im Vergleich zur Zugriffs- und Lese/ Schreibgeschwindigkeit des Hauptspeichers hat auch eine SSD nach wie vor Null Chancen. Ich finde, wenn man Geld für viel Arbeitsspeicher ausgegeben hat sollte man den auch nutzen, was Windows 7 eben mit Prefetch sehr gut bewerkstelligt- wozu hat man den sonst viel Arbeitsspeicher?

    Eigentlich sollte das gar keine Auswirkungen auf die Lebensdauer der SSD haben da die Daten, die in den Hauptspeicher geladen werden ja nur gelesen werden müssen. Korrigier(t) mich wenn ich mich irre. Wie gesagt, hab mein System nun auf 8 GB aufgerüstet und die möchte ich auch ordentlich nutzen wenn in meinem Laptop in naher Zukunft eine SSD verbaut wurde.

  10. Frank
    25. Apr, 2012 am 11:18 #

    @Roger:
    Die Defragmentierung macht insofern keinen Sinn, da die SSD Festplatte dermassen schnell ist, dass es überhaupt keinen gefühlten Unterschied macht, ob die Fragmentierung der Dateien bei 0% oder bei 100% liegt.
    Die Fragmente werden unabhängig von ihrer Lage blitzschnell erfasst und geladen. Dazu kommt die völlig andere Architektur einer SSD. Die Defragmetierung ist damit eigentlich inkompatibel und stört lediglich den Betrieb einer SSD.

    Was Ihre Aussage zum Prefetch angeht, so bin ich der Meinung, dass Sie einen Denkfehler machen. Bei aktiviertem Prefetching wird im Windows-Ordner ein Unterordner angelegt, in dem dann für jede vorzuladende Anwendung eine .pf Datei erzeugt wird. Dies bedeutet unnötige und zusätzliche Schreib-/Lesevorgänge, die die Lebensdauer der SSD verkürzen. Das ist aber nicht alles. Welchen Sinn hat/macht es, alle 10 Programme gleich beim Systemstart in den RAM zu laden? Das verlängert die Zeit bis man mit Windows nach dem Booten arbeiten kann und lastet das OS unnötig aus. Es ist wesentlich effektiver, das OS das in den RAM zu laden, was geladen werden muss und zwar nur dann, wenn es soweit ist. Die SSD ist ja schnell genug, um die angeforderten Daten blitzschnell zur Verfügung zu stellen.

Diesen Artikel kommentieren...