Aftermarket SSD On A MacBook Pro: TRIM Gets Tested
TRIM Enabler, The Benchmark System, And Software
Again, Apple supports TRIM through OS X, but only when you use one of its OEM drives. Swap out for something else and TRIM gets disabled. We've heard the horror stories about turning it back on through third-party utilities, which is why in our previous piece we did this the hard way:
"Fortunately, the restriction isn't hardwired. There's a bit of terminal window work to lift the Apple SSD requirement, but it's all covered in sufficient depth at Github."
This time, for brevity's sake, we went ahead and gave the TRIM Enabler app a try. It's about as easy to use as you might imagine. Slide a lever from left to right and you're good. Just be aware that operating system updates tend to reverse this process, so you'll need to repeat it if OS X gets patched.
Before TRIM Enabler can be used, the option to allow software installations from anywhere (and not just from the App Store and identified developers) needs to be set in the operating system's settings.
Benchmark System and Software
We're using a MacBook Pro for our benchmark system. To be more specific, it’s the smallest version of the eleventh generation that was introduced in mid-2012, also known as the MacBookPro9,2 model.
The notebook originally came with a 500 GB hard drive, which we took out and dropped into an external USB 3.0 enclosure. Samsung's 840 Pro SSD takes its place. We booted the system from the original hard drive.
| Apple MacBook Pro | |
|---|---|
| Model | MacBook Pro |
| Model Number | MacBookPro9,2 |
| CPU | Intel Core i5-3210M |
| CPU Clock Frequency | 2.5 GHz |
| Number of Cores | 2 |
| L2 Cache (per Core) | 256 KB |
| Shared L3 Cache | 3 MB |
| RAM | 4 GB |
| System Hard Drive | Seagate ST500LM012 (500 GB; 5400 RPM) |
Benchmark Software
We’re sending the Samsung 840 Pro SSD though two rounds of benchmarks. First, we perform a secure erase, which tells the controller to clear all blocks on the drive. This resets the SSD to the state it shipped in, yielding the best possible performance. We then complete the first round of benchmarks, which consists of running AJA System Test and DiskTester twice without TRIM. This provides a good comparison between fresh out of box and well-used performance.
For the second round, we perform another secure erase, and then we send it through the two benchmark passes with TRIM enabled. This gives us a total of four results:
- TRIM disabled, first pass (brand new)
- TRIM disabled, second pass (well used)
- TRIM enabled, first pass (brand new)
- TRIM enabled, second pass (well used)
A detailed account of a round of benchmarking:
- Only for second round: Install TRIM Enabler and reboot MacBook Pro
- Start AJA System Test benchmark (benchmark file size 16 GB)
- Start DiskTester benchmark (block sizes 4 KB and 8 KB)
- Have DiskTester fill entire SSD with data three times to simulate use
- Fill entire SSD with video data
- Take 30-minute break
- Start AJA System Test benchmark (benchmark file size 16 GB)
- Start DiskTester benchmark (block sizes 4 KB and 8 KB)
Ah, Apple. Why must it be a love-hate relationship? Clearly, you make some awesome hardware but your pricing and closed-mindedness is @$$munch. You disable TRIM if one doesn't pay 50 to 75% more for one of your lower-performing (than the typical aftermarket piece) OEM SSDs. Shame on you. Greedy bastards. Get with it or continue to decline. It's good to see in the case of TRIM Apple's @$$munchiness is so mindlessly circumvented. ...and to think I once gave them a bunch of my money. 4" Apple...4"
I installed Windows directly, then performed some magic to install bootcamp drivers later, but the problem was that the EFI in Apple PCs disable AHCI when running Windows.
Now Intel'ss SSD toolbox can still perform TRIM even when it's IDE mode (apparently) but i wasn't sure, so i had to Google a solution.
Currently i have to enter four console commands in a GRUB menu before i can boot into Windows over AHCI, and BootCamp doesn't like it when i do.
It's annoying, because i don't know much Linux, and i have no idea how to enable the GRUM menu or some sort of automated boot script that enters those commands for me.
Commands:
setpci -d 8086:2828 90.b=40
set root=(hd0,1)
chainloader +1
boot
Look at crisso2faces comments above - I see that all the time on drives from multiple manufacturers, not just Samsung. Is seeing a couple extra MB/s in a benchmark worth gambling with possible catastrophic failure because you aren't using the system as designed?
If you bought a Mac without doing research into your own required features, return it. If you're past your 15 days, look at it as a lesson learned. Macs aren't for everyone. Realistically, Macs aren't for anyone aside from people who want the most watered down experience possible, but the pro apps keep people in line for computers that don't really fit their needs.
SSDs attached via PCIe, USB 3.0, FireWire, or Thunderbolt cannot receive the TRIM command. Macs won't even recognize them as SSDs nor would the Mac send them the TRIM command even if it is enabled.
The newest MacBooks now use PCIe SSDs.
SSDs (such as OWC Mercury SSDs with SandForce controllers) have evolved to the point they don't need TRIM - particularly when the SSDs are not attached via SATA? They do their own garbage-collection and optimization.
OWC - in particular - advises against enabling TRIM on their Sandforce controller OWC Mercury SSDs since this increases wear and tear on their SSDs. TRIM adds extra unnecessary writes when the SSD already did this on its own. Enabling TRIM would essentially harm the SSD and shorten its lifespan. http://blog.macsales.com/11051-to-trim-or-not-to-trim-owc-has-the-answer
If modern SSDs need TRIM, they would be in danger of serious performance problems if the SSD was attached via a non-SATA connection such as USB 3.0 or PCIe or Firewire or Thunderbolt. Unless the manufacturer insures their SSD's controller does its own version of TRIM, then they would suffer serious performance problems when attached via non-SATA connection compared to the competition.
This is why I argue that TRIM is currently useless in modern SSDs.