Dies ist eine alte Version des Dokuments!


TRIM Support in Mac OSX bei Non-Apple SSDs freischalten

Apple aktiviert den TRIM Support nur bei Verwendung von Apple SSDs automatisch; SSDs anderer Hersteller werden ignoriert aber man kann diese Funktion auch mit einem Kernel Hack freischalten. Für diese Aufgabe sind zwar auch einige Patches erhältlich aber ich möchte hier auf die manuelle Freischaltung eingehen, weil somit klar ist, was geändert wird und zumindest am Anfang waren einige Patches auf dem Markt, welche nach der Ausführung ein unerwünschtes Verhalten ausgelöst hatten. Diese Aussage kann ich jedoch nicht bestätigen, wir hatten einen Patch getestet und zumindest dieser hat getan, was er sollte.

Für das Aktivieren des TRIM Supports ist die Kernel Extension »IOAHCIFamily.kext« zuständig und hier wird im Prinzip lediglich der String »Apple SSD« gegen lauter Nullen ausgetauscht:

1) Backup der Datei erstellen, welche verändert wird:

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

2) Patchen der Datei:

≤ 10.7.4 und 10.8.0:

$ sudo perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00).{9}(\x00\x51)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

≥ 10.7.5 und 10.8.1 - 10.8.2:

$ sudo perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x4D)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

10.8.3 - 10.8.5:

$ sudo perl -pi -e 's|(\x52\x6F\x74\x61\x74\x69\x6F\x6E\x61\x6C\x00{1,20})[^\x00]{9}(\x00{1,20}\x54)|$1\x00\x00\x00\x00\x00\x00\x00\x00\x00$2|sg' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage

3) Kernel Caches leeren:

$ sudo kextcache -system-prelinked-kernel
$ sudo kextcache -system-caches
$ sudo touch /System/Library/Extensions/

4) Neustart:

$ sudo reboot

Weitere Nachforschungen:

Die Welt ist böse und Apple macht da keine Ausnahme, deshalb haben wird den og Workaround kritisch hinterfragt, weil wir befürchteten, dass diese Option auch nur kosmetisch im System_Profiler aktiviert worden sein könnte. In einer relativ aufwändigen Testreihe haben wir aber nachweisen können, dass das System bei aktiviertem TRIM Support das TRIM-Kommando auch an den Festplattencontroller weitergibt und dieser so reagiert, wie es in seiner Spezifikation ausgewiesen wurde.

Des Weiteren mussten wir unter Snow Leopard, was auch schon seit 10.6.7 den TRIM Support implementiert hat, feststellen, dass og Workaround nicht funktioniert. Wir waren gezwungen das im Schritt 1) erstellte Backup wieder einzuspielen. Da es aber auch hier Lösungen zu geben scheint, werden wir diese noch näher analysieren und, sollten wir einen funktionierenden Weg finden, ggf noch dokumentieren und zur Verfügung stellen.

Verwandte Artikel:
-> Die neue Festplattengeneration Solid-State-Disk (SSD)

pronto 2011/08/23 10:39

mac/activate_trim.1381069749.txt.gz (20724 views) · Zuletzt geändert: 2013/10/06 16:29 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0