Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
NewsOS X El Capitan: TRIM für SSDs von Drittherstellern
Habe gerade heute meinem Arbeits-Macbook (15" late 2011) eine Samsung 850 EVO 512GB SSD verpasst, läuft nun wie ein Feldhase auf Speed :-) Hoffe mal bis der Kapitän die Werft verlässt bleibt das so... Jedenfalls danke für den Artikel CB, hätte sonst angenommen TRIM läuft bestimmt (im Hintergrund).
Wie jetzt, Apple denkt mal an die User? Normalerweise wissen die doch immer am besten was der User braucht. Google ist aber inzwischen auch nicht mehr viel besser.
Als Laie würde ich denken das OS weiss immer noch am besten welche Daten es behalten und welche verworfen werden kann? Selbst wenn das SSD das von selbst rauskriegen könnte, wozu der Umstand es auch selbst zu tun wenn sie nur fragen müsste?
Komisch finde ich es schon. Wie soll Apple dann die irrsinnigen Aufpreise rechtfertigen? Oder hat Apple keine Lust mehr für ältere Notebooks Ersatzteile vorzuhalten?
Das Betriebssystem sieht nur die Festplatte, aber was dahintersteckt, organisiert der Controller der SSD. Deswegen kann man eine SSD auch nicht richtig löschen, weil der Controller weiß, dass Speicherzellen frei sind. Da hilft nur komplettes vollschreiben und löschen (außer reservierte Bereiche für defekte Zellen, das over-provisioning).
Daher meine Frage auf der ersten Seite. Eigentlich müsste der Controller ja selbst wissen, wie er den Datenbestand organisiert, dass da zusätzlich TRIM vom Betriebssystem angestoßen werden muss, finde ich merkwürdig. Aber es scheint ja zu funktionieren.
Ersatzteile von Apple sind nicht das Problem. Lediglich SSDs von Fremdherstellern, die keine Apple-Firmware haben, müssen mit dem TRIM-enabler betrieben werden.
Lustig wie die Applefans gleich wieder meinen, das braucht man doch eh nicht.
TRIM ist notwendig, damit das OS der SSD mitteilen kann, welche Speicherbereiche für ungültig erklärt werden können. Das hat mit Garbage Collection erst mal überhaupt nichts zu tun.
Deswegen kann man eine SSD auch nicht richtig löschen, weil der Controller weiß, dass Speicherzellen frei sind. Da hilft nur komplettes vollschreiben und löschen (außer reservierte Bereiche für defekte Zellen, das over-provisioning).
Man kann keine Daten direkt überschreiben wie bei einer HDD, aber durch das trimmen kann man den Controller dazu bewegen die Daten selbst zu löschen, was er auch spätestens dann machen wird, wenn er den Platz braucht.
Opa Hermie schrieb:
Daher meine Frage auf der ersten Seite. Eigentlich müsste der Controller ja selbst wissen, wie er den Datenbestand organisiert, dass da zusätzlich TRIM vom Betriebssystem angestoßen werden muss, finde ich merkwürdig.
SSDs sind wie HDDs nach außen nicht mehr als eine Menge aufeinanderfolgender LBAs zu normalerweise je 512 Byte die gelesen oder beschrieben werden und zwar bei AHCI bis zu 2^16 aufeinanderfolgenden LBAs mit einem Befehl. Partitionen, Verzeichnisse und Dateien sind dann eine Sache des Betriebssystems, welches die Daten organisiert, davon hat die SSD bzw. deren Controller überhaupt keine Ahnung. Es wäre zwar sinnvoll das ganze Filesystem auf den Controller auszulagern und ihm dann die Verwaltung bis auf Dateiebene zu überlassen, aber sowas gibt es (noch) nicht, zumal die OS Hersteller sich dann auch entweder auf ein gemeinsames Filesystem verständigen oder das Filesystem der SSDs unterstützte müssten.
Daher kann TRIM auch niemals durch die Idle-GC ersetzt werden, sowas hat Samsung einmal bei einer SSD aus der Zeit vor der Einführung von TRIM versucht, aber in einem RAID führte das zu Datenverlust, weil dann eben die globalen Adressen des RAIDs eben nicht zu den lokalen Adressen der SSD passen und damit Fehlinterpretationen durch den Controller passiert sind, der tatsächlich die Metadaten des Filesystems auszuwerten um die Funktion von TRIM zu ersetzen.
Vor 2 Tagen kam meine Transcend 500 480GB für mein Air an und hatte mich schon abgefunden einfach kein Trim zu nutzen. (Trim Enabler traute ich nicht über den Weg.) Als hätte mich der Apple-Gott erhört und mal eben Trim nachgeschoben, super Sache!
Apple hat schon immer einen TRIM-Enabler... im binär File der Kext ist lediglich eine Funktion, die nach einer originalen Apple SSD sucht. Dieser Eintrag wird durch diverse Perl Skripte etc einfach umgeschrieben. Hier mal eine Anleitung samt tonymacx86's TRIM-Enabler.
1. Einfach den unten stehenden text als text-datei speichern als Endung .sh verwenden
2. "sudo " (*, ja hier kommt ein LEERZEICHEN hin) im Terminal eingeben, drag and drop der *.sh datei, enter.
3. Danach muss kext-dev-mode=1 in die boot.plist geschrieben werden sie befindet sich in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
4. Danach im Terminal hintereinaner ausführen: sudo nvram boot-args=kext-dev-mode=1
sudo touch System/Library/Extensions
sudo kextcache -system-prelinked-kernel
sudo kextcache -system-caches
Das reinitalisiert die Kernal caches und trägt die neue boot variable in den NVRAM ein. Der Eintrag in der .plist ist dafür gut, dass auch nach einem NVRAM reset TRIM an bleibt..
5. Neu starten.
* Wenn ihr bei einem sudo Befehl und Passwort eingabe einen Fehler bekommt seid ihr nicht als Admin eingeloggt dafür einfach: su $ADMINNAME
$ADMINPASSWORT
sudo su
$ADMINPASSOWORT
Danach müsst ihr alle Befehler einfach ohne das "sudo" eingeben weil dieses Terminal Fenster dann sudo Rechte hat.
So einfach aktiviert ihr TRIM, dauert vlt. 2 Minuten aber bringt sehr sehr viel! Ich helfe gern wenns Probleme gibt.
#!/bin/bash
#
# postinstall script for patching IOAHCIBlockStorage in IOAHCIFamily
# enables TRIM support for non-Apple SSD drives in Yosemite 10.10.3 and later
#
# Copyright (C) tonymacx86 LLC
Ach wie geil! Ich habe ja schon nicht mehr dran geglaubt, die Nachricht ist wie Weihnachten!
Man brauchte bisher übrigens keinen Trim Enabler oder sonstige Programme, ein paar Zeilen im Terminal haben es auch getan (das Programm Trim Enabler machte auch nichts anderes):
Achtung: Verwendung in Yosemite auf eigene Gefahr! Wer nicht ansatzweise versteht, was hier gemacht wird, der sollte es lieber sein lassen!)
Code:
# Original version by Grant Parnell is offline (http://digitaldj.net/2011/07/21/trim-enabler-for-lion/)
# Update July 2014: no longer offline, see https://digitaldj.net/blog/2011/11/17/trim-enabler-for-os-x-lion-mountain-lion-mavericks/
#
# Looks for "Apple" string in HD kext, changes it to a wildcard match for anything
#
# Alternative to http://www.groths.org/trim-enabler-3-0-released/
# Method behind this madness described: http://forums.macrumors.com/showthread.php?t=1409151&page=4
# See discussion in comments here: https://www.macupdate.com/app/mac/39654/lion-tweaks
# And here: http://forums.macrumors.com/showthread.php?t=1410459
# And here: http://forums.macrumors.com/showthread.php?t=1480302
#
# Yosemite: for recovering from stop sign on boot screen, please see http://www.cindori.org/update-on-trim-in-yosemite/
# backup patched file
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.original
# Important: Add "kext-dev-mode=1" as Kernel Arguments or the computer won't boot.
sudo nvram boot-args="kext-dev-mode=1"
sudo shutdown -r now
# looks for "Apple" string in HD kext, changes it to a wildcard match for anything
sudo perl -pi -e 's|\x00\x41\x50\x50\x4c\x45\x20\x53\x53\x44\x00|\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00|' /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS/IOAHCIBlockStorage
# rebuild kext cache manually (could take a while)
sudo touch /System/Library/Extensions
sudo kextcache -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
# now reboot!
sudo shutdown -r now
Im Prinzip macht das Skript nichts anderes, als in der Kernel Extension des SATA Treibers die Abfrage abzuschalten, die nachprüft, ob eine SSD von "Apple" verbaut ist.
Leider muss dazu bisher (seit Yosemite) das Kernel-Signing komplett abgeschaltet werden, was wiederum schade ist, da dies eine gute Sicherheitsfunktion ist. Außerdem läuft man Gefahr, dass das System eventuell nicht mehr booten könnte nach einem Reset (lässt sich jedoch im Terminal ebenfalls beheben)
Mein Schnittplatz und das Macbook laufen jedenfalls damit einwandfrei mit TRIM. Ohne geht einfach gar nicht, ich brauche die Laufwerke für Videorohmaterial, da wird viel geschrieben und ohne TRIM hat man alle zwei Tage einen Einbruch der Leistung auf 20MB/s den man kaum wieder wegbekommt.
*edit* ups, majuss hat das ja direkt über mir schon erklärt. Naja, zwei mal schadet nicht!
Er hat sich ja noch die Mühe gemacht, das mit dem sudo zu erläutern (weil eben normale User, also Nicht-Admins im Gegensatz zu Linux bei OSX nicht in der sudoers list stehen, also kein sudo ausführen dürfen)
Ergänzung ()
Derriell schrieb:
Naja, alle modernen SSDs haben garbage collection, da nützt TRIM eh fast nichts und wenn dann nur beim Schreiben. TRIM ist heutzutage überbewertet.
Wie ich schon gesagt habe: bei meiner SSD-Arbeitsplatte am Schnittplatz bricht halt spätestens alle paar Tage die Schreibleistung auf 20MB/s ein, und man bekommt sie nur wieder gerichtet, wenn man am besten die Platte komplett löscht und 24 Stunden ideln lässt. Dann richtet das die Garbage Collection auch wieder, stimmt schon. Aber ich habe nicht jedes mal Zeit für große Löschaktionen und 24 Stunden Idle - mit TRIM bricht mir die Leistung einfach nie ein, und so muss das sein!
Apple muss eigentlich gar nichts machen, dann wäre TRIM automatisch für alle SSDs an. Bisher haben sie aktiv verhindert, dass SSDs ohne die Bezeichnung "Apple" mit TRIM versorgt wurden! Die müssen nur diese Zeile Extra-Code mit der Abfrage rausnehmen, und schon haben alle SSDs TRIM, wie bei anderen Betriebssystemen auch!
Apple muss eigentlich gar nichts machen, dann wäre TRIM automatisch für alle SSDs an. Bisher haben sie aktiv verhindert, dass SSDs ohne die Bezeichnung "Apple" mit TRIM versorgt wurden! Die müssen nur diese Zeile Extra-Code mit der Abfrage rausnehmen, und schon haben alle SSDs TRIM, wie bei anderen Betriebssystemen auch!
Aber stimmt, du hattest Recht: Apple macht mit Trimforce das selbe, wie bisher Trim Enabler, nämlich die Abfrage zu ignorieren. Das müssen sie deshalb tun, weil sie ja weiterhin standarmäßig kein TRIM für fremde SSDs anbieten wollen.
Mein Argument war allerdings, dass sie eigentlich gar nichts machen müssten, sondern einfach verdammt nochmal den SATA Treiber das machen lassen, was er auch in anderen Betriebssystemen immer tut. Nämlich TRIM an SSDs weitergeben. Das ist das normale Verhalten eines modernen SATA Treibers, keine Besonderheit!
Ich verstehe überhaupt nicht, was das Problem mit TRIM sein soll. Ich habe noch nie von Datenverlust durch TRIM gehört, das ist ja schließlich ein standardisierter SATA Befehl. Wenn eine SSD das falsch ausführt, dann ist die SSD keinen Cent wert und ließe sich absolut nicht verkaufen, weil sie dann in Windows automatisch immer Datenverlust hätte.
Wie gesagt: ich habe noch nie von einem Problem mit oder durch TRIM gehört, habt ihr?
Das einzige Problem, das mit TRIM manchmal auftritt, ist doch, dass TRIM u.U. nicht aktiv ist!
Nach jedem Systemupdate. Ich sehe aber kein Problem, danach 1x den Trim Enabler wieder zu aktivieren. Unter Yosemite bei mir auch ohne Deaktivierung der Kext Signaturen (es sei denn, der Trim Enabler macht das unbemerkt im Hintergrund).
Es gibt ja auch keine Probleme mit Trim. Das ist nur mal wieder das übliche Apple Gelüge, um ihren Nutzern teuren Mist anzudrehen. Gäbe es ein Problem mit Trim, wären ja auch die "originalen" Apple SSDs betroffen. Aber das sind auch nur ganz normale SSDs, die halt das Apple Logo drauf haben.
Der Trim Enabler macht das auch, denn der Autor schreibt auf seiner Seite groß und breit darüber, dass es leider nicht anders geht, weil er sich keine teure Kernel-Extension-Lizenz leisten kann (und sie wahrscheinlich auch nicht von Apple bekommen würde, weil die TRIM-Abschaltung bisher ja pure Absicht war, wie ich schon gesagt habe)
Trim Enabler FAQ schrieb:
I don’t want to disable a security feature! Is there no other way to get Trim?
Unfortunately not. It is important to note that disabling the kext-signing to enable Trim is best described as taking a sledgehammer to crack a nut, and for most users it will not be worth it. But I have been unsuccessful in creating a less invasive method to enable Trim, as all of Apple’s AHCI SATA drivers are closed source and undocumented, which makes it impossible for me to create my own Trim driver and get it signed. This is the only alternative for enabling Trim for the moment.
Ganz so einfach ist es nicht, die Crucial m500, m550 und MX100 hatten schon Probleme mit dem Queue TRIM Befehl der ab SATA 3.1 eingeführt wurde und den bisher nur Linux unterstützt hat. Das wurde mit der MU02 FW behoben. Hier wird der Verdacht geäußert es könnten auch einige Samsung von so einem Bug betroffen sein (an unqueued TRIM kann es nicht liegen, das nutzt Windows auch und dann hätten sehr, sehr viele User mit den SSDs auch Probleme).
grossernagus schrieb:
Aber das sind auch nur ganz normale SSDs, die halt das Apple Logo drauf haben.
Tools wie der TRIM Enabler von Cindori ermöglichen es schon länger, die TRIM-Unterstützung auch für nachträglich installierte SSDs zu aktivieren. Die mit OS X 10.10 Yosemite im vergangenen Oktober neu eingeführten signierten Treiber (Kext Signing) verhindern aktuell jedoch die Aktivierung von TRIM für andere SSDs als die bei der Auslieferung verbauten. Soll TRIM dennoch genutzt werden, bleibt nur die Deaktivierung der Sicherheitsfunktion. Doch selbst dann ist der Nutzer vor möglichen Problemen nicht gefeit.
Ich glaube das in der "neuen Version" vom Trim Enabler -> "Disk Sensie" gibt es ein Manual-Trim Mode der das Problem des deaktivieren des kext-signing umgeht, im automatischen Trim-Modus besteht das Problem aber weiterhin, laut Webseite.
Ich verstehe überhaupt nicht, was das Problem mit TRIM sein soll. Ich habe noch nie von Datenverlust durch TRIM gehört, das ist ja schließlich ein standardisierter SATA Befehl. Wenn eine SSD das falsch ausführt, dann ist die SSD keinen Cent wert und ließe sich absolut nicht verkaufen, weil sie dann in Windows automatisch immer Datenverlust hätte.
Es gibt also offenbar doch Fälle, in denen TRIM von bestimmten SSDs falsch ausgeführt wird!
Okay, Punkt für Apple, vielleicht haben sie doch gar nicht so Unrecht mit ihrer Behauptung über TRIM...
Wobei es in dem Artikel speziell um "queued TRIM" geht - ich weiß nicht, ob das bisher ausschließlich bei Linux Servern eingesetzt wird? Ich habe jedenfalls noch nie davon gehört!
Trotzdem fände ich es weiterhin die beste Lösung, die Aktivierung von TRIM unter OSX dem erfahrenen bzw. experimentierfreudigen User selbst zu überlassen!
*Edit* habe ganz übersehen, dass Holt das ja schon zwei Posts weiter oben angesprochen hat.