OS X El Capitan Opens Door to TRIM Support on Third-Party SSDs for Improved Performance

samsung_ssdFor users looking to upgrade their older Macs with third-party solid-state drives (SSDs), one issue has been a lack of support for TRIM on these drives under OS X. TRIM is a system-level command that allows the operating system and the drive to communicate about which areas of the drive are considered unused and thus ready to be erased and rewritten to. In the absence of TRIM, users can see significantly slower drive writes as the drive begins to fill up.

Officially TRIM has only been supported on Apple's drives, and while tools such as TRIM Enabler have been developed to turn on TRIM for third-party drives, they ran into issues under OS X Yosemite due to Apple's use of kext signing. With this security measure in place, users have had to disable kext signing in order to enable TRIM, and should kext signing be turned back on such as by resetting NVRAM/PRAM during troubleshooting, the user's system will refuse to boot.

Since the developer release of OS X El Capitan on Monday, a number of users interested in TRIM support have been investigating the possibilities for TRIM on third-party SSDs, particularly with the new "rootless" security features that prevent access to many system-level files.

Some users have been playing with various options involving turning off rootless temporarily in order to run utilities like TRIM Enabler, and members of our forum have discovered a simple command to enable built-in support for TRIM on third-party drives that can be enabled once rootless has been disabled. The developer behind TRIM Enabler and others have confirmed the method does work and are making plans to enhance their software to support it.

trim_elcap
Enabling TRIM using this method does come with a warning from Apple, as it can cause issues on occasion and the company wants to make sure users are operating it at their own risk.

This tool force-enables TRIM for all relevant attached devices, even though they have not been validated for data integrity while using that functionality. By using this tool to enable TRIM, you agree that Apple is not liable for any consequences that may result, including but not limited to data loss or corruption.

Apple could certainly make changes as development on OS X El Capitan continues, but given the built-in trimforce tool it certainly appears the company intends to allow TRIM to run on third-party SSDs. The "man" documentation for the trimforce command indicates it was introduced in OS X 10.10.4, which remains in developer testing, but forum member mikeboss has determined it is not present in the current developer build.

While most users will never need to deal with this issue, upgrading to an SSD is a popular way to squeeze some more speed and life out of an older Mac, so there is a sizable community of users interested in getting TRIM to function on their third-party drives, and some of them may find TRIM a helpful tool.

(Thanks, not Jony!)

Tag: TRIM

Top Rated Comments

(View all)
Avatar
69 months ago
Edit: This post has a lot of visibility, so I'd also like to point your attention to an earlier post of mine which gives you safe TRIM in Yosemite 10.10.3 and up:

I've investigated how "trimforce" works and written up a method for doing stable, patchless TRIM enabling on OS X 10.10.3 or higher. No more boot issues, and no more loss of the TRIM settings after OS updates. Trimforce + Yosemite = Yes!

https://github.com/Temptin/Documents/blob/master/OSX_TRIM_Tutorial.md

(Be sure to read the whole page so that you understand the legal implications. And consider giving this post a thumbs up to help others discover it!)

The following is the original post from before the edit, and has nothing to do with the above edit:

----------------------------------------------------

Geez... there's a lot of combined issues in that article...

The first issue is the queued TRIM implementation in Linux. It is the only operating system that tries to send FPDMA QUEUED TRIM (a new SATA II extension of NCQ, and therefore also called NCQ TRIM). The latest Samsung firmwares mistakenly set word 77 bit 6 to 1 in the ATA IDENTIFY flags, which tells the OS that they support FPDMA QUEUED operations, when they actually don't. If you try to send a FPDMA QUEUED TRIM, the latest Samsung drives spectacularly overwrite random data with zeroes. The Linux kernel now blacklists those drives from trying to use FPDMA QUEUED TRIM, since they're misbehaving with that command. The Samsung engineers are aware of it since the issue first surfaced a year ago, but a fix is not yet ready.

So if you've got a modern Samsung drive, it's important that your OS uses regular sequential TRIM. Linux is the only OS that uses queued. All versions of OS X (even El Capitan) and Windows (latest) still use sequential TRIM, and will continue to do so for the foreseeable future.

Next up... the article is actually about a bug in the Linux kernel's sequential (non-queued) TRIM implementation.

You see... It's not just SSD firmwares that sometimes implement TRIM badly. The OS can do it wrong too, if it sends out incorrect TRIM commands that tell the SSD to delete data that's actually in use. You need the OS filesystem driver to understand the filesystem at a deep level so that it knows exactly how to properly TRIM it, and it also needs to be aware of what data is on the drive and what data is in the memory-buffered filesystem (which may be out of sync with what's on the drive), so that it knows exactly what data it will tell the SSD to delete. It's a very complex science and it even took Windows a while to get it right due to peculiarities in the NTFS filesystem. In the linked article's case, Linux is the culprit. They're talking to Linux kernel devs to get it fixed.

Since OS X and Windows use sequential TRIM, the followup questions become:
* A) Does my drive implement sequential TRIM properly?
* B) Does the OS implement sequential TRIM properly?

For A, the answer is YES for all modern drives. But NO for *old* drives such as early SandForce controllers. *THAT* is why Apple displays the warning saying that you're enabling TRIM at your own peril. It's also the reason why Apple only allowed TRIM on their own drives initially; because back when they first implemented TRIM in OS X 10.6.8 (July of 2011), a lot of popular drives had buggy TRIM implementations - and it's better to have a slow untrimmed drive than a corrupt drive.

For B, we need to find out whether the OS sends out correct TRIM commands and doesn't send out anything that would tell the drive to delete valid data. To test this, I coded a benchmark that first writes a 50 GB verification-file (a very large file, covering a lot of SSD surface area, and whose contents can be verified to be intact later), and it then writes and deletes/TRIMS over 1000 gigabytes of data, and then pauses to let the drive perform its TRIM and garbage collection, to be sure that all the TRIM commands have been carried out. The test was executed several times on a Samsung 850 PRO SSD (same one used in the article you guys linked to), on OS X Yosemite and OS X El Capitan.

Every single bit of the 50 GB test file stayed intact, thus proving:
* A) Yes, the Samsung 850 PRO with latest firmware implements old-school sequential TRIM properly.
* B) Yes, OS X (even El Capitan) uses *sequential* TRIM and has a proper TRIM implementation that *doesn't* tell the drive to delete random valid data.

So as long as your SSD properly implements sequential TRIM (and all modern ones pretty much do, since TRIM is default in Windows and all drives want to support Windows), then you'll have zero issues with enabling TRIM in *any* version of OS X.

And do we need TRIM? Yes. The SATA TRIM command was invented to solve an extremely important need: It's the *only* way for an OS to tell an SSD to free up space from deleted files. Without TRIM, the SSD will think that *all* blocks are in use until the OS tries to overwrite them again. If all blocks are marked as in use, the SSD is literally *physically full*, and in that state it will be extremely difficult for the SSD's garbage collection to try to passively free up a bunch of empty space for new writes to take place. So all further writes will first go into the SSD's on-board buffer (that's fast), but then they'll sit there for a long time as the SSD reads, merges and re-writes data (that's extremely slow). A lack of TRIM also causes write amplification, as the SSD's garbage collection shuffles around all blocks of dead/old data from deleted files that the SSD still thinks are in use and thinks must be preserved. TRIM is the only command that can let an OS tell an SSD that the data from a deleted file is safe to delete during garbage collection. If the drive had been properly TRIM'd, the SSD would have known that most of the space is actually free, and its garbage collection would be allowed to free up those blocks in the background so that they're ready for new writes. Garbage collection is basically a process that does two things: Erase TRIM'd blocks (the primary source of freeing up space on the disk for new writes), and erase overwritten blocks that have been invalidated by new data (that's only responsible for freeing up a *tiny* amount of the storage space on an SSD). So garbage collection without TRIM is like a runner with one leg. It works (kinda), but it's crippled.

Now relax, don't panic, and remember to always carry a towel.

Score: 20 Votes (Like | Disagree)
Avatar
69 months ago
Apple has actively sabotaged the long-term performance of non-Apple branded SSDs for years. Now they might finally provide a standard (though somewhat convoluted) way to enable TRIM without hacking the kernel extensions.

To thank Apple profusely for this move is classic Stockholm syndrome.
Score: 11 Votes (Like | Disagree)
Avatar
69 months ago
AWESOME SAUCE!!!!

#legitness
Score: 9 Votes (Like | Disagree)
Avatar
69 months ago
Updates are coming to Trim Enabler and Disk Sensei to take advantage of the Apple sanctioned way of enabling Trim. We're finally going to get Trim on the Mac without compromising system security or stability.
Score: 8 Votes (Like | Disagree)
Avatar
69 months ago

Is yours an early or late 2011? I have the late 2011 15" MBP and have been wanting to go SSD for a while but have read some about some issues surrounding this particular model. Can you offer me any insight based on your experience?

I'd recommend Crucial over Samsung, got an 840 Evo in my 2012 15" MBP and I really wish I went Crucial. Fitted 50+ Crucial SSDs in Win/Mac systems @work in addition to 7 in friends' MacBooks and they just seem to run much, much smoother.

But either way you won't run into any problems, they both still work.
Score: 7 Votes (Like | Disagree)
Avatar
69 months ago

This is the problem with Open Source programming - often it is done by people living in their parents' garage or basement.

1. This is massively insulting to anyone who has ever contributed to Linux

2. The vast majority of Linux code now comes from corporations/paid developers:



* The number of paid developers is on the rise, as companies aggressively recruit top Linux talent. More than 80 percent of kernel development is done by developers who are being paid for their work. Volunteer developers tend not to stay that way for long.

(http://www.linuxfoundation.org/news-media/announcements/2015/02/linux-foundation-releases-linux-development-report)

3. I seem to remember someone else working in their parents garage who did Ok?
Score: 7 Votes (Like | Disagree)

Top Stories

iOS 14 Widgets Offer iPhone Users Creative Home Screen Ideas

Sunday September 20, 2020 8:43 pm PDT by
Updated on September 22nd with hands on video. In iOS 14, Apple introduced ‌the concept of Home Screen‌ widgets, which provide information from apps at a glance. Widgets can be pinned to the Home Screen in various spots and sizes, allowing for many different layouts. Despite the relative lack of...

iPhone 12 Lineup Rumored to Be Named 'iPhone 12 mini,' 'iPhone 12,' 'iPhone 12 Pro,' and 'iPhone 12 Pro Max'

Monday September 21, 2020 5:24 am PDT by
Leaker known as "L0vetodream" has today shared the alleged naming for the upcoming iPhone 12 lineup on Twitter. The tweet proposes that the upcoming iPhone 12 models will be titled "iPhone 12 mini," "iPhone 12," "iPhone 12 Pro," and "iPhone 12 Pro Max." The names likely correspond to the three expected sizes of iPhone 12, with the 5.4-inch model being the iPhone 12 mini, the 6.7-inch model ...

PSA: New Apple Watch Owners Have to Return Entire Device for Ill-Fitting Solo Loop or Braided Solo Loop

Monday September 21, 2020 3:26 pm PDT by
With the Apple Watch Series 6, Apple introduced two new band options, the Solo Loop and the Braided Solo Loop. These new bands are unique because they have no clasps, buckles, or other fasteners, and instead use a stretch design to allow them to pull onto the wrist over the hand. Because these bands are not adjustable, Apple sells each one in nine different sizes to make sure each person...

Apple Releases First Public Betas of iOS 14.2 and iPadOS 14.2 With New Shazam Control Center Options

Monday September 21, 2020 10:34 am PDT by
Apple today seeded the first public betas of upcoming iOS 14.2 and iPadOS 14.2 updates to its public beta testing group, a few days after seeding the first betas to developers and a little less than a week after releasing the iOS 14 and iPadOS 14 updates. Public beta testers who have signed up for Apple's beta testing program can download the iOS and iPadOS‌ 14.2 updates over the air after ...

Kuo: Apple to Accelerate Adoption of Mini-LED Displays in iPad and Mac Notebook Lineups

Sunday September 20, 2020 10:00 pm PDT by
Increased competition among Apple's suppliers for mini-LED display chips will accelerate the company's adoption of the advanced technology in its iPad and MacBook lineups, according to a new research note from analyst Ming-Chi Kuo seen by MacRumors. Kuo says that while Epistar had been predicted to be the exclusive supplier of mini-LED chips for Apple products in 2021, Sanan Optoelectronics...

AirPods Studio Rumored to Come With U1 Chip, Ultra-Wideband Said to Be Vital to Future Apple Ecosystem

Sunday September 20, 2020 6:17 am PDT by
Proven leaker known as "L0vetodream" has today shared a range of information about the ultra-wideband U1 chip in Apple's upcoming AirTags item trackers and AirPods Studio headphones. The first of a series of tweets shared today simply stated that AirPods Studio will contain an ultra-wideband U1 chip. It seems likely that the U1 chip would be used in AirPods Studio to track the location of...

AT&T Already Working on 6G, Says 5G iPhones Might Not Be 'Massive Event' Due to Economic Uncertainty

Monday September 21, 2020 10:05 am PDT by
Apple's upcoming launch of 5G iPhones might not be a "massive event" due to economic uncertainty amid the global health crisis, AT&T Communications CEO Jeff McElfresh said in a paywalled interview published by CNBC. "I do believe that you will see many of the iPhone subscribers move to upgrade to the device," said McElfresh. "But I wouldn't forecast that it's going to be a massive event. I...

Microsoft Announces Outlook for Mac Redesign, Improvements to iOS and watchOS Apps

Tuesday September 22, 2020 8:56 am PDT by
Microsoft has today announced plans to bring a new design to its Outlook for Mac app along with several other improvements and features for Outlook on iOS and watchOS. In preparation for the public release of macOS Big Sur, Microsoft has been testing a new design for Outlook on Mac. The design includes Microsoft's Fluent icons and several design cues from Big Sur such as rounded corners....

iOS 14 Adoption Surpasses 25% Across iPhone and iPad Five Days After Release

Monday September 21, 2020 9:06 am PDT by
Five days after Apple released iOS 14, adoption of the software update has reached approximately 26 percent of active iPhone, iPad, and iPod touch devices, according to mobile analytics company Mixpanel. This includes iPadOS 14. iOS 14 adoption appears to be outpacing iOS 13, which was installed on approximately 20 percent of active devices one week after its release last year, according to...

When Will the iPhone 12 Launch? Here's What We Know

Wednesday September 16, 2020 6:12 am PDT by
Yesterday's "Time Flies" Apple event saw the release of the Apple Watch Series 6, Apple Watch SE, iPad 8, and iPad Air 4, but no new iPhone models. Rumors before the event strongly alleged that it would not see the unveiling of new iPhones, with many reports pointing to an October launch. The lack of new iPhone models yesterday seems to confirm that the iPhone 12 lineup will not appear...