Done for 2009: The Holiday MacBook Pro Roundupby Anand Lal Shimpi on November 10, 2009 12:00 AM EST
- Posted in
Ugh, SSDs in the MacBook Pro
Last summer I posted my MacBook Pro review and I soon started hearing complaints about the SATA interface only running at 1.5Gbps speeds and not 3.0Gbps. The SATA 3Gbps standard has been around since 2004/2005 and the NVIDIA chipset Apple uses in the unibody MacBook Pro supports 3Gbps mode.
To understand why Apple limited the machines to 1.5Gbps I first went to NVIDIA to see if they made a custom version of the GeForce 9400M chipset without SATA 3Gbps support. Apple's partners are always nervous about talking, so NVIDIA's response was carefully worded:
"[The] GeForce 9400M offers complete support for SATA Gen2. You need to ask Apple if you have any questions specific to their systems."
In other words, the chipset supports it, Apple did something funny with its systems to break support for it.
Apple eventually released a firmware update to enable SATA 3Gbps support, but the update carried a strange warning from Apple:
About MacBook Pro EFI Firmware Update 1.7
MacBook Pro EFI Firmware Update 1.7 addresses an issue reported by a small number of customers using drives based on the SATA 3Gbps specification with the June 2009 MacBook Pro. While this update allows drives to use transfer rates greater than 1.5Gbps, Apple has not qualified or offered these drives for Mac notebooks and their use is unsupported
Apple's official statement is that 3Gbps SATA drives aren't supported? What? This is 2009 right?
Now the performance difference between 3Gbps and 1.5Gbps SATA operating modes isn't noticeable in real world usage. You need an SSD to consistently saturate 1.5Gbps SATA and even then, it is only in sequential reads. In fact, it's not the performance loss of going down to 1.5Gbps SATA that I care about. It's the next problem.
This is an OCZ Agility SSD, it's based on the Indilinx Barefoot controller. With the 1.5Gbps version of the unibody MacBook Pro firmware (EFI v1.6) this drive doesn't work properly. Given enough disk activity and the machine will freeze, requiring a hard reset (hold down the power switch for a few seconds). I know because I put one in my 15-inch MacBook Pro.
OCZ's Agility. A great drive, it just doesn't work in a 2009 unibody MacBook Pro under OS X.
Updating the MacBook Pro to EFI 1.7, thus enabling 3Gbps operation, makes it even worse. You can't even reliably install OS X half the time.
This is a SuperTalent UltraDrive GX, another Indilinx Barefoot based SSD:
It, too, doesn't work in the unibody MacBook Pro. Once more, I know because I tried it in my own personal system. In fact, the only non-Apple supplied SSD I could get to work in the system without constant crashes was Intel's 80GB X25-M G2 (I didn't try the G1 or the 160GB G2).
I asked Apple what was going on and the only response I got was that the drives I was using weren't supported. These drives work perfectly in my testbeds and in other notebooks and my Nehalem Mac Pro, but not in my unibody 15-inch MacBook Pro.
I've been a staunch advocate of Apple's hardware and software for years now, but this is a dangerous precedent that Apple is setting. The point of standard specifications is so that end users can buy any component adhering to the spec knowing that it will work in any system implementing the spec. This isn't an OS X incompatibility, this isn't even an Apple incompatibility, this is a specific issue between certain SSDs and the 2009 unibody MacBook Pros. Instead of admitting to that and committing the resources to fixing it, Apple is making the mistake of stating that non-Apple hardware isn't supported. These are storage devices, the only things that you absolutely didn't have to have an Apple logo on in order to guarantee operation.
Note that this wouldn't even be an issue in the first place if Apple offered halfway-decent SSD options on its systems.
If it were an Indilinx problem, why not work with Indilinx to fix it? There's a definite incompatibility but I'm willing to bet it is related to whatever kept Apple from enabling 3Gbps on these machines from the start. Some have speculated that the custom SATA cable Apple runs from the motherboard to the drive bay is to blame. It's the only explanation given that these problems only happened in the 2nd generation unibody MacBook Pro systems.
It's unacceptable and I'm guessing the next version of the MacBook Pro will magically fix all of the problems.
Update: I've received at least one report of the latest Indilinx firmware fixing the issues outlined above. I tested with the latest firmware in both of the examples I used, but there's been some theorizing that the problems are related to the chipset/motherboard which would explain the variance between systems. At the same time I've received additional reports of Indilinx drives not working from other users so unfortunately it appears that there's no complete solution to the problem at this time. The recent report of it working shows that there may at least be hope if you get the right combination of drive and MacBook Pro.
In case you're wondering, Apple's recently released OS X "Performance Update" that was designed to address drive stuttering issues does nothing for SSDs - it was simply intended to fix issues with mechanical drives. I confirmed this with Apple.
Unfortunately that leaves users with very few options. You could either buy the overpriced SSDs directly from Apple, or give the third party versions a try (presumably OCZ's Summit and Corsair's Performance series use a similar enough controller that they should work). I've been using the X25-M G2 in my 15-inch MBP for a little over a week now and haven't had any issues with the EFI 1.7 update. You could stick with a hard drive but anyone who has gone down the SSD route knows that's not a good option. Or just wait and hope Apple fixes it with the Nehalem update next year.
|15-inch MacBook Pro||250GB HDD||80GB Intel X25-M G2 SSD|
|Time to Launch 15 Applications Sequentially||40.7 seconds||16.0 seconds|
Application launch time is reduced significantly, in general everything opens like it was just in memory. CPU intensive tasks don't see an improvement but day to day usage is where you'll notice it the most. And that's where it's most valuable honestly.