
How to add an SSD to a Mac Pro and using it with Snow Leopard
January|10 Filed in: Technical

After installing an Intel X25-M SSD (Solid State Drive) on my Mac Pro - I came to realize that this was the single most performance effective purchase that I have made after my computer. I had seen videos of laptops booting up - and other tricks (like launching all the applications all at once) trying to show off the speed these drives add to your computer. Trying it for yourself is a really cool experience. It really impressed me and my (less than a year old) 09 Mac Pro seems like a brand new and much faster machine. The computer just flies... but I have come to learn, there are specific considerations to be given - not only to the SSD but on how to install it, configure it and using it on your Mac Pro.
This short article is meant to list all the things I researched, found and used for my own machine.... I hope it helps someone else or reduces the time to research the “how to” phase of your decision.
Choosing an SSD
There are a number of SSD brands and sizes out there. Currently (at the time of the writing of this article) there are basically a few types of SSDs and the way I categorized them was by the controller.
- Intel Controller (which means the Intel X25-M (M for Mainstream, meant for home or desktop use) or X25-E (E for Extreme for faster writes and enterprise use). Basically the controller made and supported by Intel.
- Samsung Controllers - which are to be avoided for now as their performance is not that great
- Indilinx Controller - made by a small Korean company. A very good controller used by OCZ, Patriot, Falcon and other manufacturers.
The important thing is don’t just look at the bars and graphs presented to you. Instead, read the numbers and you will quickly notice that with a few exceptions - these drives are within a few percentage points difference from each other. What to look for? Sustained reads and writes are great, but you should care more about Random Read and Random Writes. They are more indicative of the performance and use you will be giving your drives when used in a workstation.
Random Reads differences between two SSD drives from 37MB/s to 40MB/s is not a substantial difference to me when choosing an SSD (and these are typical numbers I researched). If you take in consideration that a WD VelociRaptor 300Gb (which is one of your fastest spinning drive) performs at 1.5MB/s you quickly understand the difference we are talking about. The SSD that performs at 40MB/s is 2666% faster than the WD VelociRaptor and the other SSD is 2466% faster... really not much of a difference. A 200% difference when we are discussing a 2000% improvement does not really merit the amount of discussion for a 2% difference on these drives.
So while you are reading reviews and glance at the bar charts that are so much bigger than other ones - just crack open your calculator and try to understand the difference without the marketing magic of the scale used to draw that graph. Most of these drives are very, very fast. They are slightly slower in certain areas and slightly faster in others.
To be honest, it was the support that was a bigger influence in my choosing of the drive. SSD are going to need new OS support and features that, particularly for OS X, are more important (more on this later). So choose a brand that you think will add driver and firmware support as prompt as possible.
I went with an Intel X25-M 160Gb G2 over the OCZ Vertex but I could had gone the other way if the OCZ drive were to be in stock at the moment I made my purchase. So go with your gut feel and research. Your milage will vary.
Strategy...
The SSD’s performance largely lies on their read based operations. Because of current challenges with SSD technology, you want to restrict the use of the SSD to your dedicated boot drive. (A good article on understanding current SSD advantages, technologies and performance degradation is explained elsewhere )
Splitting the OS/Applications drive to your home directory is not only an advantage in drive performance - but also backup strategy and OS migration/upgrades. It is a lot better to have your home directory away from your OS and application drives, isolating IO, bandwidth etc. Lloyd Chambers at MacPerformanceGuide wrote a pretty good article on how to physically install your SSD as well as the separation of your OS/Application data to your data strategy. In my case - on a early 09 Mac Pro this was too easy...
Step one: pull out the Optical bay from your machine (I didn’t even have to pull it all the way out, just enough to slide the drive in).

Step Two: Slide the SSD and plug it to the SATA cables that are hanging there already...

So very much like Lloyd, I just left the drive there... Since I’m not moving my machine and there are no heads to crash - I didn’t secure the unit. The way I setup my final machine was like this (and why):
- I did not want to re-install the OS. I know it could had been a great idea - but lets face it. It's a pain, time consuming and you are bound to forget something. I did not want the extra downtime this move was going to cost me. My workstation is in use all the time. You might want to re-install... mine worked just fine with the steps I describe.
- I do not agree with leaving the user/user directory on the SSD and only moving the iTunes/iPhoto library and just working off different partitions (as suggested elsewhere). OS X includes a way to move your whole directory and that is a lot easier, supported and logical method. Move your home directory.
- My personal strategy to my internal storage is: An SSD boot drive and a RAID 0 array for my home directory. You can do one SSD and a 3 drive RAID0 or one SSD and a 4 drive RAID 0+1 home directory... What ever makes you feel safe - I personally went with one SSD installed on the lower optical bay of my 2009 Mac Pro and using a RAID 0 array with the 4 internal drives for my home directory. (I will explain the reasoning for this on a latter post)
First Step Prepare for the move...
The first thing you should do is a backup. Really - do a backup... Things can go wrong and you don’t want to be doing this without one. I backed the whole computer OS and data off an external firewire drive. I have one large FW drive to hold these backups as I can boot of them and fix anything I need in the case of things going wrong. After the backup was done, I disconnected the drive and put it away for safe keeping.
Since I didn’t want to re-install I had to do two backups so I can separate the data properly. I used SuperDupper! which is a “must” to have if you care about your data. SuperDupper! has scripts that you can use to make the whole transition a lot easier. I had everything into one volume so I had to separate it...
The steps I took were the following:
- Created (already had) an Admin account to login and fix/config my home directory.
- Backed up the home directory externally of the computer.
- Created a bootable snapshot of the OS without user data into the SSD
- Rebooted into the SSD
- Logged into the Admin account
-
- Created the 4 drive RAID 0 array for my home directory
-
- Restored the home directory from the external drive to the RAID 0 Array
-
- Changed the home directory location for my user account using the preferences panel
- Rebooted the machine (the SSD was selected permanently as the boot drive)
DONE...
I took an external drive and backed up the “user’s” directory first. Doing this with SuperDupperI is quite simple, as all you have to do is select the origin, the target and select the “Backup - user files” script...

I then changed the script on SuperDupper! to “Backup All Files” and then edited the script and saved it under a different name... The edits were quite straight forwards - just ignore most of the directories that contain the data that you have on your home directory (make sure you leave the apps libraries and such) and select as the target the SSD drive.

The reason you want to leave the directory structure but ignore the data - is in the case you need to log-in as your account with only the SSD drive. I did this as a measure of precaution - not sure if its needed, but this would at least give me a bootable and working drive without the data...
Run the backup and make sure you select the “Set the SSD as Startup Disk” on the “On successful completion” section. This will set the SSD as the default boot disk from this point forwards. Otherwise you can change this on your preference panel under “Startup Disk”

When you reboot your machine using the SSD for the first time - log as the separate Admin account you created at the start of the process and proceed to restore the user directory. First, you want to set-up the RAID array you wanted for your internal drives.

In my case I used 4 Segate 500Gb drives and formed a RAID 0 volume and called it Home Directory. The smaller 500Gb provides more spindles and increases the number of IOs that I could do. You are spreading a larger number of IOs across 4 SATA lanes. This would not be the same using two large drives and reducing the lanes used to 2 - plus these drives were cost effective. A good thing after my purchase of the 16Tb array...
Once the volume was created you restore the user directory

and change the “Home Directory” of your account to the one you have created on your new RAID.

TUAW has a good mini article describing this last step if you need any help...
ALMOST DONE...
You are now ready to get going with your new SSD.... there are a couple of OS X specific things that you need to be aware of.
SSDs are not without their problems. They are new and not necessarily in wide use - so not all the problems have been ironed out. One of these problems has to do with files that are created and then deleted on the drive. On an SSD, the space that was used by this deleted file needs further clearing that is not native to most OS (including OS X). There are also a number of garbage collection issues that need to be address as well. Windows 7 has already introduced the TRIM command on the OS to help clearing the used blocks. Most drives are now including garbage collection (GC) routines, increasing how aggressive the collection is done to help the drives keep their performance tip-top. For example - the OCZ Mac specific drive included an aggressive GC function as OS X has no TRIM yet. But all the newer firmwares now includes different levels of aggressiveness of this GC issue (OCZ and Intel alike).
On a laptop - you have no choice (unless you have two drives), but on a Mac Pro - reducing the number of writes and a couple of tweaks helps your environment keeping its performance for as long as possible (until Apple decides to introduce TRIM support).
First - on a Mac Pro, it is recommended to disable the Sudden Motion Sensor. On the terminal, you type:
pmset -a sms 0
sudo pmset -g
Apple also has an article on this procedure so you can consult with it in the case you have more questions. This really applies more when installing on a laptop but what the heck - I did it for my Mac Pro as well. Also - the hard drive sleep feature found on your “Energy Saver” control panel should to be turned off.

This is because there is no “sleep” mode on a SSD as the disk does not “spin down” the non-existing plates... I do realize that it opens the discussion for the spinning down of the other drives on your machine and there are plenty of pro/cons to this on a non-laptop env. I subscribe to the “it hurts more to stop and start drives every 20 minutes on a desktop with no battery to be minding” model. So I turned it off.
Many other users also suggest disabling the “Safe Hibernate Mode” to avoid writing the RAM image on your SSD every time you close the lid on your laptop or send your Mac Pro to sleep.
sudo pmset -a hibernatemode 0
sudo nvram "use-nvramrc?"=false
In my case - since I’m not worried about running out of battery when I put my Mac Pro to sleep (and in fact - I don’t put my machine to sleep at all) I went ahead and disabled it. Mac OS X Hints also has an article on the subject if you like to read about it...
Some users mound their disk with their noatime disabled. Users do this to prevent the OS from writing a timestamp on every file when the file is accessed. This generates many write IOs to the drive just for accessing and reading the files. While the theory is sound - I decided to go against this idea. Only because the procedure was more than I was willing to do and I hate following instructions on OS X that are not really supported by Apple. This blog describes the theory behind the noatime and Spencer Shimko describes a process on how to disable it on OS X. You are welcomed to follow it if you like - I left it as it was...
One last word...
When you get your SSD - make sure you update your firmware to the latest version. I got my Intel X25-M G2 drive early Jan 2010. A new firmware was issued in Nov 09 and I decided to measure the difference before and after the patch was applied. Is was a nice and substantial increase in both read and write operations. Lloid has more data on the performance increase on his site.

I made these measurements with XBench as I did not want to invest on a tool to measure the performance on my drives... I rather put that money away for my next SSD drives as I like to move all I can to these wonderful little boxes... Next machine - my laptop... Besides, how many times you think I will be re-measuring these drives?
SSD is the future kids... I’m looking forwards to the day that prices goes down and SATA III is mainstream... SSD can easily saturate the current SATA II specs, so what we are experiencing, could actually be much better.
RM




The thoughts, notions,
and ideas developed while learning to be a better photographer...
I'm a commercial and fasion photographer based in Toronto, Canada.
Read on, and welcome to my blog.