Slashdot Mirror


Apple Disables Trim Support On 3rd Party SSDs In OS X

MojoKid (1002251) writes One of the disadvantages to buying an Apple system is that it generally means less upgrade flexibility than a system from a traditional PC OEM. Over the last few years, Apple has introduced features and adopted standards that made using third-party hardware progressively more difficult. Now, with OS X 10.10 Yosemite, the company has taken another step down the path towards total vendor lock-in and effectively disabled support for third-party SSDs. We say "effectively" because while third-party SSDs will still work, they'll no longer perform the TRIM garbage collection command. Being able to perform TRIM and clean the SSD when it's sitting idle is vital to keeping the drive at maximum performance. Without it, an SSD's real world performance will steadily degrade over time. What Apple did with OS X 10.10 is introduce KEXT (Kernel EXTension) driver signing. KEXT signing means that at boot, the OS checks to ensure that all drivers are approved and enabled by Apple. It's conceptually similar to the device driver checks that Windows performs at boot. However, with OS X, if a third-party SSD is detected, the OS will detect that a non-approved SSD is in use, and Yosemite will refuse to load the appropriate TRIM-enabled driver.

11 of 327 comments (clear)

  1. Summary is misleading, you can work around by SuperKendall · · Score: 4, Informative

    If you read the rest of the article, you find that you can simply disable the driver loading security to have it working again.

    The article paints this as a huge security issue, but why? Anyone putting in a custom SSD is also probably technically astute enough not to download a KEXT that ostensibly puts a cat following your cursor or what have you.

    Cn anyone reasonably argue that having a system highly secure for non-technical users with easy workarounds for actually technical users is a bad compromise? The people who are not technical need all the help they can get.

    Also - couldn't you actually just sign the drivers that are needed for trim? What prevents that?

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Summary is misleading, you can work around by Anonymous Coward · · Score: 3, Informative

      Generic SATA storage devices don't support TRIM. That said, TRIM is a hack for consumer SSD's of a few generations ago that allows getting reasonable performance without overprovisioning sectors. Enterprise SSDs have never depended on that. They use more overprovisioning so don't need TRIM. SSD has gotten cheap enough that this approach can also be used in consumer drives these days.

    2. Re:Summary is misleading, you can work around by Golden_Rider · · Score: 5, Informative

      Also - couldn't you actually just sign the drivers that are needed for trim? What prevents that?

      As the author of the popular "trim enabler" software (which patches the original apple drivers and so causes the original drivers to fail the kext signing check) puts it:

      "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."

      Which is also the reason why there are no trim drivers available from hardware manufacturers like Samsung, etc. No access to Apple's driver documentation - no signed trim drivers.

  2. enable trim on yosemite by wes33 · · Score: 4, Informative

    It can be done if you're willing to disable kext security check

    see http://www.cindori.org/trim-en...

  3. Ancient news by Just+Some+Guy · · Score: 5, Informative

    Apple has never enabled TRIM on non-OEM SSDs, which is probably the conservative and correct thing to do. If you're clever enough to install a new SSD, you're clever enough to enable it on your own (and presumably to know whether you should enable it, and whether it's even a benefit for your particular drive).

    The current workaround involved a single software vendor who didn't sign their kexts. Apple's new security policy won't let you load random unsigned kernel modules unless you explicitly turn off the signature checking. While this is inconvenient for me personally - because I have a 3rd-party SSD and I used that software myself - on whole, I'd rather have a more secure OS than the dubious benefit of a possibly slightly faster SSD.

    --
    Dewey, what part of this looks like authorities should be involved?
  4. Just to be clear... by Moridineas · · Score: 3, Informative

    Apple, for whatever dumb reason, has _never_ enabled Trim on non-Apple branded SSDs. I do not know of any HDD manufacturers that ever provided any kernel extensions that would enable Trim for their drives, so effectively, third-party SSDs have never had any official trim support on OS X.

    Before Yosemite this has never been an issue. Any user who was able to install their own SSD could also download the handy TRIM Enabler software that forced Trim on for non-Apple SSDs. One toggle switch, one reboot, piece of cake. I've been running multiple Macs since OS 10.6 with multiple brands of SSDs (OCZ, Samsung, Intel, etc) with absolutely no issues and no signs of performance degradation.

    The difference in Yosemite is, as the summary says, non-signed Kernel extensions cannot be loaded by default. Since non-signed kexts are blocked, software like Trim Enabler cannot load. You CAN override this behavior, but there are potential issues (see the Trim Enabler site for more information).

    There is absolutely no reason to believe that the decision to make Yosemite require signed kexts has anything to do with the status of trim on non-Apple SSDs. I doubt trim even crossed anybody's minds during the decision-making process. Trim Enabler is just an unfortunate casualty of kext signing (which itself is probably not a bad thing!).

    tl;dr -- a rather hysterical take on an issue that DOES display some Apple stupidity. Just let us enable trim on non-Apple drives natively and there's no problem!

  5. Re:This isn't new by BitZtream · · Score: 1, Informative

    And more to the point, this is nothing new and it has ALWAYS been this way.

    Apple has ONLY EVER provided trim support for SSDs that have Apple in vender name of the drive as returned by whatever the IDE command is that returns that info..

    The difference here is that the author apparently just discovered that drivers in OS X are now signed, as such you can't use the old HACKs to enable Trim on non-Apple SSDs. The hack simply edits the Apple AHCI driver to look for a different string in the vendor name, which will then enable trim for that other type of drive. At no point did Apple sanction 3rd party SSD usage or support trim on those drives.

    This isn't even new to Yosemite, Mavericks had driver signing as well. The only difference is that Yosemite switched to require signed drivers by default ... you know, LIKE EVERY OTHER SANE OS ON THE PLANET.

    The very simple solution is to just provide your own signed driver if you REALLY want your 3rd party SSD to support trim on OS X.

    This really only affects people who want to go buy an Intel SSD from some cheap place and slap it into their OS X machine. If you're buying an SSD from the one place to buy OS X SSDs that are 'supported' by the vender ... you go to OWC ... who uses SSDs with Sandforce controllers ... that don't need trim in the first place due to their intelligent way of doing garbage collection and keeping a portion of the drive reserved for this purpose.

    Yes, buying anything with Mac support is more expensive. Don't like it? WHY THE FUCK are you buying a Mac? Macs are not for cheapskates, and never have been.

    --
    Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  6. Re: Why? by Anonymous Coward · · Score: 2, Informative

    The whole point of Apple hardware is that it's tested to work with everything that is compatible with it, and isn't compatible with anything that hasn't been tested. Going with a TRIM whitelist instead of a TRIM blacklist is part and parcel of this strategy.

    For those who want OSX without the OSX philosophy, you can disable driver signing and install the same hacked-up kexts you normally do to get TRIM working. In fact, the existing TRIM enablers already do this.

  7. Re: Why? by Anonymous Coward · · Score: 0, Informative

    Right. I think people are really confusing server operating systems with desktop operating systems. Linux, is pretty much a server OS. Even most desktop versions are server grade - beside Ubuntu, which is for idiots. Windows Server does not need to be rebooted for months and even years. I have seen an exchange server up for two years and a sql server up for three years.

    Windows 7,8,9,10 whatever, desktop IS For DeSKtop use. They don't make the updates in the same way as server updates. Get a clue retards. Most of the people shut down their PC every single day.

    You want server grade, pay for it. Use it. Or shut the fuck up. Think. Grow up. So tired of hearing the same shit over and over.

  8. Re:Why? (Another opinion) by King_TJ · · Score: 4, Informative

    I've been primarily a Mac user since 1999 or 2000, and I've watched the serviceability of Apple's machines go back and forth over the years. Before they moved to the Intel processor, you often had very limited options to do anything with the configuration you purchased, even when the machine in question was a tower type desktop computer. RAM was generally not an issue, although Apple sometimes required very specific timing for the DIMM modules - limiting what you could put in. But certainly, upgraded video was a problem (very limited in which cards could be used as upgrades - including cases like the G4 Cube where some cards were physically too long to fit, even if they'd work otherwise). Laptops like the iBook G4 were notoriously difficult to take apart for service. I remember replacing a bad hard drive in one for a guy I used to work for, and it was at least a 2 hour long job for me with screws all over the place. After that, I understood why repair shops would quote such high labor rates when you asked about an iBook repair.

    Then I watched things go the opposite direction. The newer Macbooks and Pros became increasingly easy to work on, so you could unscrew the bottom plate and have instant access to everything -- or just remove a small plate to get to the RAM slots. Batteries became removable from the bottom by just sliding an unlock switch. Even the iMac was easy to upgrade at one point (hard drive right there once you took the back cover off, and no need to do more than unscrew a couple screws on the bottom to get to the SO-DIMM memory).

    But it's now swinging back to the "non serviceable" mode again, with the pentalobe screws trying to keep people out, soldered RAM on the motherboards, and having to take the whole glass and LCD screens out of iMacs to work on them.

    Truthfully, I don't think the TRIM support for non-Apple branded SSDs is that big of a deal. It's been known for quite a while now that Apple wasn't including TRIM support for 3rd. party drives -- and there's even one 3rd. party SSD coming out now with TRIM functionality built into its firmware, so OS X doesn't need to have support to do it. You can turn off the feature in OS X that verifies you're only using signed KEXTs and get the custom ones to work for TRIM support too.

    But sure, it's annoying .... and I'm not going to make apologies for Apple about any of this. We still use their products where I work and none of this will make us stop. (As long as you have a warranty, you just hand it back to Apple when it breaks and it's their problem. If you still need it and the warranty is up? Fine... you pay up and let Apple service it and hand it back to you again. Their repair prices have actually gone down in recent years, as they've made more products reliant on them to service them.) Home users are the ones who get the short end of the deal though, as money is more of a problem for us and we tend to buy lesser configurations of machines to save money up front -- intending to add to it later. With Apple, that's becoming a poor decision.

  9. Re:This isn't new by TheRaven64 · · Score: 4, Informative

    The reason that Apple disabled this is that a lot of SSDs have really buggy TRIM implementations. This observation wasn't unique to Apple: Microsoft and the Linux kernel defaulted to TRIM being off until quite recently. Apple could afford to turn it on for their own SSDs because they did extensive compatibility testing of those before shipping them.

    Now, it doesn't really make sense, but enabling it automatically would likely burn some users, and bug reports about data loss lead to a lot more anger than bug reports about lower performance.

    --
    I am TheRaven on Soylent News