Whoops! Remember to re-enable TRIM support on your Mac’s 3rd party SSD drive every once in awhile

You may remember my AWESOME article about replacing my MacBook Pro’s optical drive with an SSD drive a while back. You may also remember that for some reason, Apple seems to want only THEIR OEM SSD drives to perform flawlessly out of the box, and if you want to enable TRIM support on your 3rd party SSD drive (TRIM is the technology that helps keep your SSD healthy and keeps its write speeds up), you may need to manually enable TRIM with the wonderfully named (and free) TRIM ENABLER app (please check with your drive’s manufacturer first before doing so). But what you might not realize (and what I FORGOT) was that even if you DO enable TRIM support with TRIM ENABLER, there’s a very good chance that each time you run Software update and it updates your Mac’s OS, it may very will disable TRIM support again, and you’ll need to re-run TRIM ENABLER.

So yeah, I just realized that for the past 4 or so months I haven’t had TRIM going. Anyway, to see if TRIM is indeed working on your SSD drive, click on the APPLE logo menu in your toolbar at the top left of your screen, then choose About this Mac and hit System Information (or just open System Information in your Utilities Folder. From there, click on the Serial-ATA section in the left pane of the window, and scroll down in the right bottom pane until you see your drive’s information.

Whoops! TRIM isn't active anymore

If it says “NO”, then head on over to Groths.org and download the latest build of TRIM ENABLER. Run it.

Flip that switch. (You will likely need to restart your computer at this point)

HOORAY!

Sweet. It’s working! But let’s run TRIM ENABLER one more time to make sure all is well.

Be sure to check your manufacturer’s recommendation regarding TRIM support for your model SSD. Some of the best SSD drives out there have the equivalent of TRIM support built-in and enabling TRIM support will DECREASE the performance of your drive. OWC SSDs are a great example of this. If you own an OWC SSD, do NOT enable TRIM.

Would not enabling TRIM support cause the Mac to hang? I’ve been having three days of hanging continuously after the Mac tries to sleep. Whn I come and see it after a few hours every app gives me bach balling and then I have to restart it.

1) Benchmark is skewed. OWC 200GB has Over Provision of 56GB (assume it’s 256GB actual size) more than 25%.
The so called competitors drives are all have like less than 7% OP (240GB, 16GB OP?).

2) These are the SSD basics:
Garbage Collector (GC) will pick stale (fully/partially erased) blocks to erase.
Some blocks contain both partial valid & stale pages, so other than deleting, it also has to collect & combine this valid data then write it to free blocks. This will introduce Write Amplification (WA) writing more data than actual user data write, reducing flash life.

Over Provisioning (OP) is a space set aside for system use, not user accessible.
OP is used mainly for GC (imagine if SSD without OP, when drive is full it won’t have free blocks to combine stale data).
More OP means GC has more theoretical free blocks (depends on GC algorithm) to write, so it can sustain continues writes.

Deleting in OS is not erasing blocks, this is legacy from HDD where OS erase is just marking file system table that file is no longer being used. Another thing to note, HDD does not need delete, it can overwrite data.
But on flash based SSD, blocks have to be deleted before it can be written.
Thus OS deleted files, won’t have it deleted physically in SSD, piling up “rubbish data” in SSD. SSD doesn’t know it’s deleted.
This will hinder GC performance because it will try to collect these as well.
Other than this, WA will increase exponentially. GC is writing unnecessary data.

To solve this issue TRIM command is used by OS to inform SSD that certain blocks are erase so GC can collect & erase it.
Lesser data (only real user data) to move around means lesser erase, meaning longer flash life.

3) TRIM is not needed on SSD?
Yeah, if they have huge OP & great GC algorithm to manage the “right” amount of free blocks without affecting writing speed.
But, remember that WA will dramatically increase as well.
OWC drive might not be affected by not having TRIM, but it’s BS to say TRIM will hurt drive performance.
It’s better to say their GC is bad at handling TRIM & actual garbage collection at the same time.

There is a lot more to it – especially with respect how you implement it (hack) with Mac OS X. Enabling TRIM on OWC SSDs with 5.0.7 or later firmware (released over a year ago) doesn’t result in any slow down – but there also isn’t a real world benefit either – the LSI/Sandforce controller happens to be exceptionally efficient with internal management, which is why it has been a great option for Apple Macs since before there was any TRIM at all with OS X. Drives with other controllers slow down substantially overtime without TRIM. Another difference – most of these other controller based drives also experience performance impacts of a noticeable magnitude as free space drops to less than 10-25% (depending on drive) – while our drives stay at full speed even at 99.9% full.