SSD Festplatten in Lion

SSD Festplatten sind eine tolle Sache. Super schnell, leise, erschütterungssicher, stromsparend. Doch neben den vielen Vorteilen haben sie noch zwei Nachteile – der Preis, da kann man, ausser warten, nicht viel machen – und die Daten-Sicherheit. SSD Festplatten reagieren empfindlicher auf schreib- Zugriffe und werden mit der Zeit „abgenutzt“. Die Festplattenhersteller haben daher ein System entwickelt, mit den Schreibzugriffen optimaler umzugehen. Dieses System nennt sich TRIM und kommt mit Lion integriert – für SSDs die Apple einbaut. Pech hat, wer selber eine Platte einbaut.

Ob man TRIM Support hat, sieht man wenn man mit gedrückter „alt“ Taste auf den Apfel im Menu klickt und „System Information…“ wählt. Unter Serial-ATA findet sich irgendwo der Entrag „TRIM Support:“ – und der steht wahrscheinlich auf „No“.

Mit folgenden Terminal-Tricks, kann man TRIM aktivieren und so seiner SSD Festplatte eine hoffentlich längere Lebensdauer abgewinnen.

Zuerst sichern wir eine Kopie der angepassten Datei:

sudo cp /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage /IOAHCIBlockStorage.original

Danach aktivieren wir den TRIM support:

sudo perl -pi -e ’s|(x52x6Fx74x61x74x69x6Fx6Ex61x6Cx00).{9}(x00x51)|$1x00x00x00x00x00x00x00x00x00$2|sg‘ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

Nun verwerfen wir die alten Einstellungen:

sudo kextcache -system-prelinked-kernel

sudo kextcache -system-caches

Nach einem Neustart sollte TRIM für die Festplatte aktiviert sein:

Weitere optimierungen

Da wir ja keine herkömmliche Festplatte mehr haben, können wir noch einige Überbleibsel aus dieser Zeit optimieren. Der Stromsparmodus, bei dem herkömmliche Festplatten im Standby zu drehen aufgehört haben, macht bei SSDs keinen Sinn und kann deaktiviert werden:

Jedes mal, wenn auf eine Datei zugegriffen wird, wird der Zeitpunkt des Zugriffs gespeichert. Um diese unnötigen Schreibvorgänge zu verhindern kann eine Datei „/Library/LaunchDaemons/com.noatime.root.plist“ mit folgendem Inhalt angelegt werden:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.noatime.root</string>
        <key>ProgramArguments</key>
        <array>
            <string>mount</string>
            <string>-uwo</string>
            <string>noatime</string>
            <string>/</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>

Wenn der Mac zugeklappt wird, wird der Inhalt des RAM auf die Festplatte geschrieben. Die RAM sind jedoch weiter unter Strom. Die Festplatte wird nur für den Fall eines Stromausfalls benötigt. Auf kosten von etwas Sicherheit, kann verhindert werden, dass der Inhalt auf die Festplatte geschrieben wird – als kleiner Zusatznutzen wird noch Fesplatenspeicher in der grösse des RAM frei:

sudo pmset -a hibernatemode 0

Wenn man den Standard wieder einstellen möchte, kann man den Wert 0 durch 3 ersetzen.

Die bestehende Sicherungsdatei kann gelöscht werden:

sudo rm /var/vm/sleepimage

Rückbau

Sollte man TRIM wieder deaktivieren wollen, hilft dieser Befehl:

sudo perl -pi -e ’s|(x52x6Fx74x61x74x69x6Fx6Ex61x6Cx00).{9}(x00x51)|$1x41x50x50x4Cx45x20x53x53x44$2|sg‘ /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

Und wenn etwas ganz schief läuft, kann man auch die Original Datei zurückholen:

sudo cp /IOAHCIBlockStorage.original /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

Quellen: TRIM und Optimierungen