MacBook Pro 256GB SSD upgrade experience
I’ve been wanting an SSD for some time and last week I caved. Armed with credit card, screwdriver and trusty MacBook Pro I fitted a sweet SSD and decided to document the experience.
Choosing a drive
There are a bewildering number of options out there. Budget, as always, dictates the combination of speed and size available.
Size
You may not need as much space as you think so even if you intend on a fresh install clean-up your current drive to get an idea of requirements.
Remembering to backup before:
- Identify biggest culprits
Try DaisyDisk ($19) or Disk Inventory X (free) and drill down to catch unexpected bloat in your music library, videos etc. - Clean up unused system junk
Use CleanMyMac ($30) or MonoLingual (free) to clean up logs as well as redundant processor and language support. - Archive unused content
Move those podcasts, TV shows, applications and games you aren’t going to use again to cheap external drives. - Deal with orphaned & duplicate files
Find media in your iTunes folders missing from iTunes lists and either trash or add it back then use iTune’s Display Duplicates.
If you’re prepared to sacrifice your DVD drive then you can move your existing hard drive to the optical bay via an adaptor and purchase a smaller SSD for the OS and key performance-critical files. This saves cash and gives you more space but will cost you battery life.
Speed
SSDs are not created equal and the combination of flash and controller (on drive and in your machine) play a part in defining performance. Firmware, hardware revisions, drive size and operating system can also affect the speed so do your homework.
Anandtech have in-depth coverage of SSD’s including an SSD Bench with Tom’s providing a more general SSD Buyer’s Guide. Drives come and go quickly so keep an eye on review dates and exact model numbers as manufacturers have models with similar names with difference specifications.
My choice – lightning giant
I settled on the Crucial RealSSD C300 (CTFDDAC256MAG-1G1) because of it’s blazingly fast 256GB configuration and my storage requirements were still around 150GB.
This combination doesn’t come cheap at $699 USD. My links to the Crucial web site include my affiliate code ever optimistic I’ll get a small commission on a drive or two. (I dream that one day my blog will cover it’s own hosting charges)
Some other popular alternatives
- Intel’s X-25M G2 is well regarded and can be had for around $430 for 160GB and $210 for 80GB
- Intel’s X-25V (for value) can be had for around $120 for 40GB
Installing my SSD & Mac OS X (without a DVD drive)
The newer Unibody MacBook Pro’s hard-drives are designed to be user-replaceable and are covered in the manual.
My non-Unibody is not however those nice chaps over at iFixit have put together a hard drive replacement guide for 15” that is close enough but I have one complication. My DVD drive died which raised the question (and subsequent section)
How do I install Snow Leopard without a DVD drive?
Remote Install
Remote Install let’s you put the a DVD into a machine with a drive, run Utilities > Remote Install and follow a few steps which include holding down the alt key on the machine that doesn’t have a drive.
Unfortunately the machine wanting to boot has to be a Mac mini or a MacBook Air from 2009 or later – i.e. something Apple shipped without a DVD drive.
NetBoot
Mac’s can boot from network images however there are also obstacles here:
- Apple’s official Netboot server is part of Mac OS X Server and that costs $499
- The only unofficial server-less guide I could find is out of date (nicl & NetInfo were deprecated in Leopard)
You will also need to create an image of the Mac OS X DVD to be able to install from.
USB image
Your USB device will require over 6.2GB to fit the image of Snow Leopard and need to be partitioned with GUID Partition Table which will wipe it. My 4GB memory stick was too small and I didn’t want to wipe my 1TB external drive so ended up using my 8GB Compact Flash card.
To get the Snow Leopard DVD copied to it:
- Use a Mac that has a DVD drive and insert both the install DVD and USB storage device
- Launch Disk Utility from the Utilities folder
- Select the USB storage device from the list of devices and then choose the Partition tab
- Choose 1 Partition from the Volume Scheme drop-down
- Press Options… choose GUID Partition Table then OK
- Press Apply to confirm you are happy to wipe away all the data on the device
- Select the install DVD from the list of devices and then choose the Restore tab
- Drag the install DVD from the list of devices into the Source text box
- Drag the USB storage device from the list of devices into the Destination text box
- Press the Restore and wait a while
When finished eject the USB device and insert it into your DVD-less Mac. Turn it on holding down alt until a boot selection screen shows and use the arrow keys and return to launch the installer from your USB device.
It may take a while for the installer screen to appear but be patient.
Press Options… from the installer to turn all off all the features you don’t need such as additional languages, printer drivers etc.
Performance over time & TRIM
A simplified primer
SSDs are fast but the flash technology suffers some limitations most importantly they can’t overwrite data without erasing it first.
In order to avoid this performance hit, and to preserve the life of the drive itself as blocks can be erased a fine number of times, SSD drives use fresh blocks for as long as they are available. Once they run out every write has to take the hit of an erase and performance can drop to traditional hard-drive speeds (or worse).
The problem arises sooner than you think because file-systems when deleting a file do not actually cause an erase but rather just de-allocate the block knowing it will get overwritten when it’s next needed so these fresh blocks decrease over time even if you drive never gets full. (Which is how file-recovery tools are able to undelete files)
This doesn’t sound too bad until you realise that when erasing a file in an operating system the file system just removes the block from it’s own list to be reused later and therefore the drive itself has no knowledge that the block can be erased until it runs out and starts honoring overwrites.
The solution
Manufacturers initially solved this problem by writing tools (for Windows) that examined the file-system structures to find out which blocks are unused so they can send ‘erase block’ commands down to the SSD drive and get your performance back – at least until you run out of blocks again.
This wasn’t a great solution so they agreed on a standard called ‘TRIM’ that lets file-systems tell the drive when blocks are no longer and can be erased in background on-demand. Support was built into Windows 7 and Linux 2.6.28 making a lot of SSD owners very happy.
Mac OS X & TRIM
Mac OS X doesn’t yet support the TRIM command although one Apple engineer confirmed they are looking at it back in October. They’re in no hurry as the SSD drives Apple ship don’t support TRIM yet.
In the mean time you might want to minimize unnecessary writes:
- Don’t use Finder’s Secure Empty Trash or the srm command line tool – the overwriting they did on magnetic drives doesn’t overwrite on SSD but steals up to 35x the blocks of the original!
- Keep large churning files on external drives (e.g. video processing)
- Don’t let your laptop run out of power as it copies the RAM to disk each time (2-8GB)
- Prevent unnecessary disk operations such as the ‘last accessed’ attribute on files (see below)
- Don’t keep running disk benchmarks that cause lots of writes!
Turn off last-access-time
These access times are pretty useless and indeed the iPhone also has them switched off. Create a file named noatime.plist in your /Library/LaunchDaemons path with the following contents:
<plist version="1.0">
<dict>
<key>Label</key>
<string>noatime</string>
<key>ProgramArguments</key>
<array>
<string>mount</string>
<string>-vuwo</string>
<string>noatime</string>
<string>/</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Thanks go to Ricardo Gameiro for that tip although his other Mac SSD tweaks of creating a RAM disk is questionable given the way Mac OS X manages memory and disabling the RAM copy-to-disk entirely and therefore losing data is more risky to me than running out of blocks early.
Do not
- Turn off the sudden motion sensor – SSDs ignore the park head command anyway
- Turn off HFS+ journaling – some users report odd issues and corruption
Last resort
If you do get into the situation where your write performance is suffering badly and you are prepared to spend a little time to get it back you can do the following:
- Ensure you have a full Time Machine backup
- Boot from a Linux Live CD containing a recent build of hdparm
- Use hdparm to perform an ATA Secure Erase
- Boot from your Mac OS X DVD/USB stick
- Choose the Utilities > Restore System From Backup menu option
- Point it at your Time Machine backup
You should also be able to do this with other full-system backup tools like SuperDuper but you’ll have to figure out the steps for yourself ;-)
Performance
I wish I had some better benchmarking tools but Xbench is all I have, sorry! It’s worth bearing in mind that the non-unibody MacBook Pro I have (MacBookPro3,1) is limited to 1.5GB/sec on the SATA bus (despite having an Intel ICH-8M SATA controller)
Xbench HD Test
My original performance figures with the original as-shipped 0001 firmware and Crucial’s updated 0002 firmware:
| 0001 Sequential |
0001 Random |
0002 Sequential |
0002 Random |
|
|---|---|---|---|---|
| Overall | 137.66 | 643.14 | 137.39 | 648.57 |
| Uncached write 4K | 200.40 | 762.30 | 185.92 | 789.45 |
| Uncached write 256K | 196.34 | 357.61 | 196.05 | 359.23 |
| Uncached read 4K | 67.56 | 1926.31 | 69.27 | 1942.94 |
| Uncached read 256K | 239.73 | 628.06 | 238.22 | 624.15 |
Thoughts
SSD is fast but given the hype I was expecting everything to be instant and it wasn’t quite there. Applications do normally launched within a single dock bounce and everything feels a lot snappier but there wasn’t the massive WOW! I was expecting – at least not yet.
There are also a few other advantages often overlooked, especially on a laptop:
- lower power consumption
- less weight, noise & heat
- greater shock, dust and magnetic resistance
Here’s a table that pulls the specs compared to the 7200RPM Travestar that was previously my main drive.
| Crucial RealSSD C300 256GB | Hitachi Travelstar 7K320 | |
|---|---|---|
| Power consumption (W) | 0.094 – 2.1 – 4.3 | 0.2 – 2.2 – 5.5 |
| Weight (g) | 75 | 110 |
| Shock resistance (G/1.0ms) | 1500 | 200 |
| Noise (Bels) | 0 | 2.8 |
| Seek time (ms) | < .1 | 12 |
Time will tell how well the machine now deals with large Aperture libraries of RAW images and Visual Studio compilations from inside Parallels and I’ll be sure to report them here.
[)amien
16 responses
Great write-up. I’ve avoided SSD so far simply because I’m dubious about the relative gains for the crazy money involved, and I’m worried about long-term degredation when used for heavy builds on a daily basis which require thousands of file overwrites.
This article is a great. SSD’s still not the option for me because of mainly cost.
@Steve You could consider a two-drive setup – one fast SSD for the operating system and tools and a second for the temporary work files.
You could make the second also an SSD or regular drive. You’d get most of the benefits and even if you were running on a drive/OS that didn’t support trim you could just secure-erase the secondary drive when performance drops as there’s nothing important on it anyway.
Hope things are going well back on the rock!
[)
Awesome write up.
I was looking into getting the same specs, but came across this issue with your Crucial 256gb drives; http://www.anandtech.com/show/2974/crucial-s-realssd-c300-an-update-on-my-drive
It’s put me off gettting one for the time being. I’m probably going for an intel instead.
@Stanton Every piece of technology fails for someone, somewhere. The last 60GB issue must be a firmware problem that I’m sure they’ll address.
[)
Instead of installing OS X on a new blank SSD, you could put the SSD in a USB enclosure, use SuperDuper to clone the existing drive, then swap the discs. This worked wonderfully for me.
Nice post Damien. I just implemented the plist file to disable last access time. I’m on my 2nd and 3rd SSDs – my first X25-M lived a short life. I’m running them in a RAID 0 setup now in my 17-inch MBP but now I am starting to think the X25-M G2′s are a bit outdated. I think I will be replacing them with the new SandForce controller stuff – OCZ Vertex 2 Pro – when they finally come out.
Regarding the dead drive problem, I had this issue with my old Intel Core Solo Mini which was still on Tiger (this was the first Intel Mini they released in early 2006). The drive was dead, and to make matters worse, it doesn’t recognize the new USB keyboards for holding-keys-down-during-startup purposes (not sure if this is a peculiarity of the model, or if something is broken, but I need one of those old clear plastic keyboards to start up in single user mode, for example, and I don’t have one anymore). What I finally tried was to go to Startup Disk, and choose to restart in Target Disk Mode and attach it to my new MBP. I then installed Snow Leopard to the mini drive in target disk mode. The MBP then rebooted from that disk and it came up. I was a little concerned that when I tried to boot the mini there would be some compatibility issue due to it being installed by much newer hardware, but it all went off without a hitch.
I just ordered an Intel X25-M for my new MBP. I’m not sure what to expect in terms of performance, but as long as it decreases the number of beach balls I see due to my typical workload of running unit tests, text editor, SQL client, Photoshop, 4 browsers, and 2 parallels instances with IE7 and IE8 at the same time, I will be very pleased.
I bought this same CTFDDAC256MAG-1G1 SSD for my MBP unibody about a month ago, I reinstalled Snow Leopard from scratch and do my normal thing; Safari, Adium, Office 2008 for Mac, VLC and VMware Fusion, etc. I agree with Damien that the performance is good but not earth shattering like the hypes currently out there. During the past month, I’ve observed the following weird behavior:
- My Mac runs super hot all most all of the time; enough for me to notice the difference.
- Consequently, the fans always on and spin fast.
- Battery life if shorten by about 40 minutes. I was able to get 2:30 hrs before, now about 1:50 hrs at most.
It is interesting regarding your comments on large files, and since a Virtual Machines have big files, not sure if I can get around that issue…
I’m actually thinking of returning the SSD considering the small benefits comparing its cost.
Good guide, getting a Vertex 2E 120GB delivered tomorrow and will be putting it in my i7 MBP. One question about your guides on doing a backup and then using a linux live cd to do a ATA Secure erase, I’ve read that in order for this to work you need to take the SSD out and either put it in an external caddy, or plug the internal SATA cable after its booted. Something to do with the internal SATA configuration freezing when trying to do a secure erase (hot swapping after power up seems to overcome this though). Have you come across a way of getting round this issue?
I haven’t actually tried the secure erase option yet but I think I’ll be hitting the wall soon on the unused blocks so will update this with my experiences then :)
[)amien
@Khai Huynh – I had the ‘running hot’ issue too, but this was actually after the 10.6.4 update. I have a Samsung 256Gb SSD PB22J model, but that’s not the cause as my parents have an identical MBP but with original 256Gb HD.
Additionally, there were other blog reports from others experiencing the same issue.
2 possible fixes.
PRAM reset – reboot with CMD + CTRL + P + R pressed until the grey screen is showing – check the web to clarify the instructions.
SMC reset – Shutdown, remove charging power lead, remove battery, press the power on button for 4 or 5 seconds, replace battery, replace charging power lead, power up MBP. …I guess this is more difficult with the later MBP with high capacity battery and non-user removable panel.
I did both to fix the problem – it seems to re-calibrate the fan speeds/temp sensors etc. that must have got messed up with the recent update.
Hope this helps someone.
Sandforce based drives (OWC Mercury, OCZ Vertex 2/Agility 2, Corsair Force, etc) apparently have native garbage collection, so don’t need TRIM support in the OS (they support TRIM too, but OSX doesn’t).
I’ve been getting the same response from my Vertex2 (replaced superdrive with caddy+SSD) used as the boot disk, with /Users on my main beefy HD.
As you only save SATA I, do you think the ssd was still worth upgrading to?
I assume you mean SATA 1.5 and only 1.5Gbps? Yeah, a regular HD won’t come near that speed but this SSD can hit twice that. It would be great if this Intel SATA controller did SATA 3.0Gbps (the specs says it does but I suspect Apple throttled it like they did on the subsequent Nvidia chipset based model) but it’s still worth it :)
[)amien
Very useful article Damien, thanks for that! I ran into it while searching for ways to solve my hard disk problems with my 320Gb drive in the MacBook Pro Unibody (June 2009 model). Still not sure if replacing the disk by an SSD is the solution, but read your article from the beginning to the end and found it very informative. It has been bookmarked for later reference!