Two OCZ Core Series v2 SATA II 120GB SSDs in a MacBook Pro
Six months ago, I put a 32GB MTRON MSD 3000 SSD drive in my MacBook Pro as a system drive and ran a Samsung 160GB IDE/ATA drive as a data drive in the slot normally taken up by a SuperDrive.
At the time, the MTRON MSD 3000 SSD appealed to me because it is a single-level cell (SLC) SSD, which tends to perform evenly and consistently, especially when being accessed at smaller transfer sizes. Cheaper drives use multi-level cell design (MLC), which historically has had a lower mean time between failures (MTBF), and has been less consistent in its performance. Still, big flash vendors like Samsung have recently switched from SLC to MLC for their consumer products, which suggests that a great deal of progress is being made on MLC drives. MLC drives are MUCH cheaper than are SLC drives, and most consumer solid-state drives use MLC designs, while the enterprise environment still relies on SLC.
My impression is that OCZ has always been an interesting player in the SSD market. They sell a rebadged Samsung SLC 64GB SSD, which is a good performer and has been reviewed favorably. They also sell their Core Series line of SSDs, which feature MLC design. OCZ Core Series drives are much less expensive than are SLC drives, feature larger absolute drive sizes, and burst faster than the SLC drives they are usually compared against. But they suffer in low-transfer size access, and can be pretty inconsistent in performance. This month, OCZ released a spread of Core Series v2 SATA II 2.5" solid state drives, which claim speeds of up to 170 MB/s read and 98 MB/s write, and are available in 30GB, 60GB, 120GB, and 250GB sizes.
OCZ Core Series v2 SATA II 120GB SSDs
Outside packaging is very simple!
The 120GB OCZ Core Series v2 drive retails for under $500, and the 250GB drive retails for around $900. Back when I put in my MTRON drive, I had been interested in striping two SSDs in my MacBook Pro, but the MCE OptiBay Hard Drive adapter I used to put a second drive into my MacBook Pro was only available with an IDE / ATA interface. Since then, MCE has released a SATA version of the OptiBay. With 120GB drives available for less than $500 and the availability of a SATA OptiBay ($120), I decided to spend $1,100 to put two 120GB SSDs into my aging MacBook Pro.
OCZ drives, unboxed
The OCZ drives arrived in a plain package, but once the outer cardboard layer was removed, it was clear that OCZ had taken some packaging cues from Apple. The inner packaging was beautiful, and made it clear that you had just purchased a quality product. Even thought it was pretty, I don't like excessive packaging and would have preferred something simple and biodegradable.
Bare OCZ SSDs
Because I wasn't sure whether the OptiBay SATA interface would work or not, I decided to set up the new RAID array by using external Firewire enclosures. I hijacked two Wiebetech SATA enclosures and installed the OCZ SSDs into them. First, I decided to chain the two drives using Firewire 800. When the drives were connected to the Mac in this way, I was able to successfully access first drive in the chain (the one that was directly connected), but any attempt to access the second drive resulted in its immediate unmounting.
So against my better judgment, I decided to hook up one drive via FW800 and the other via FW400. I wasn't sure what would happen if I tried to stripe two drives that were on different interfaces, but figured that it would be worth giving a try.
It was here that I ran into my first snag. The last few releases of Mac OS X Leopard have problems with partitioning SATA drives (bug confirmed by an Apple employee -- the bug has been around for awhile). I was able to create a partition the first time, but upon deleting it and trying to create a second, Disk Utility gives me a "Resource Busy" error. I booted off of a clean Mac OS X 10.4 boot, and had the same problem. I tried partitioning using a friend's MacBook (running 10.5.5), and had the same problem. I verified the problem with three different drives (both solid state and spinning). Finally, I hooked the drives up to another friend's Mac Pro (also running 10.5.5), and was finally able to partition the drives. In fact, I had to do this even when the drives were installed IN my MacBook Pro. I resorted to booting my Mac in Firewire Target mode and connecting it to the Mac Pro for partitioning. Please fix this, Apple. It's embarrassing!
OCZ SSDs hooked up by FW800 and FW400
Both of the SSDs were connected externally, one using FW800, and the other using FW400. I partitioned the drives (ugh), used Disk Utility to create a striped RAID 0 array, and used SuperDuper! to copy my existing system onto the new system. I benchmarked the striped RAID array on mixed Firewire using QuickBench, and was not impressed. No operation exceeded 40MB/s. I was disheartened, but figured that it was probably the freaky FW800/FW400 combo.
Once the system clone was ready, I waded through the ~25 screws it takes to disassemble a MacBook Pro and installed the two SSDs into the internal drive bays.
OptiBay and dual OCZ 120GB SSDs
The MCE OptiBay allows the installation of a 2.5" notebook drive into the space formerly occupied by the SuperDrive. The SATA version of the OptiBay is actually a SATA -> ATA bridge. As far as the Mac is concerned, the SATA drive placed into the OptiBay is still accessed as an ATA device. I was worried that this would adversely affect performance, but still wanted to see what would happen if I put the two drives into a striped RAID, even though the interfaces are different.
OCE includes necessary installation hardware with their OptiBay. The set of tools includes a screwdriver base, small screwdriver bits and two Torx bits. I am unhappy to report that their Torx T6 bit stripped before I was able to remove all of the screws in my system (on the last screw, actually). I had to go to Radio Shack and buy a $17 Torx set to finish the install. OCE -- please spend the extra 20 cents and include quality bits in your OptiBay package!
Two OCZ Core Series v2 SATA II 120GB SSDs in a MacBook Pro
I compared the following drive configurations:
1. 2 x OCZ Core Series v2 SATA II 120GB SSD, Striped RAID 0, 32KB block size 2. OCZ Core Series v2 SATA II 120GB SSD, SATA interface 3. OCZ Core Series v2 SATA II 120GB SSD in OptiBay, SATA -> IDE/ATA interface 4. MTRON MSD 3000 32GB SSD 5. 250GB stock SATA drive
At small transfer sizes, the single MTRON drive performed at nearly double the speed of any of the other configurations, which is what you'd traditionally expect of SLC vs MLC. At 16KB, the OCZ SATA configuration beats out the MTRON, but the OCZ IDE bridge still lags behind. In fact, the OCZ in the IDE bridge was never faster than the MTRON, but still managed to perform respectably.
The OCZ striped RAID lagged behind until transfer sizes reached 64KB, and at 256KB and above, it started to kick serious butt.
Take a look at the single OCZ SATA configuration compared to the MTRON. The MLC OCZ actually manages to outperform the MTRON at transfer sizes of 16KB and larger. Note that the IDE bridge configuration still lags behind.
At small transfer sizes, the OCZ RAID is slower than the rest, but manages to match and then beat the other configurations at 64KB and larger.
Random reads and writes are where SSDs outperform spinning drives in a major way. The SLC MTRON drive performs really well here, but even the worst performing MLC SSD configuration is still 22 times faster than the 250GB spinning drive at 4KB. As before, the striped setup starts performing faster than other configurations at 64KB.
This is the only test where the striped setup performed comparably at small transfer sizes. Interestingly, all configurations of the OCZ drives outperformed the MTRON drive significantly, and the spinning drive actually managed to outperform the MTRON across most of the tests.
No surprises here for large reads and writes. The striped setup kicks butt. For large reads, the RAID is (approximately) 50% faster than a single OCZ SATA drive, 81% faster than the OCZ drive in the IDE bridge, 55% faster than the MTRON, and 168% faster than the 250GB spinning drive. For large writes, it is (approximately) 37% faster than the single OCZ SATA, 90% faster than the OCZ / IDE bridge, 51% faster than the MTRON, and around 110% faster than the 250GB spinning drive.
I'm not sure how OCZ can claim speeds of up to 170 MB/s read and 98 MB/s write for their Core Series v2 solid state drives. Where do those numbers come from? The MTRON benchmarked pretty much at claimed values, but the OCZ is way off.
In the beginning, I wasn't sure that I'd keep a striped setup, but after running all of these benchmarks and using the system for a few days, I'm totally sold. (And... queue Digg fanboys NOW, who will surely chime in to forecast data doom due to using a RAID configuration.)
I think I would have been happy running at speeds the single OCZ SATA Core Series v2 can sustain, but the second interface in the MacBook Pro is IDE / ATA, and the OCZ drive in the MCE OptiBay SATA bay just cannot keep up. The striped setup is so much faster than the OCZ in an OptiBay that keeping the stripe seems like the right thing to do.
I do have to say that I feel dirty for having a striped setup that uses different interfaces for the two drives. However, I haven't had any problems with the setup so far, and I have been banging on the system pretty hard for over a week now.
**ISSUES, SO FAR**
It can sometimes take 10-15 seconds before I get a Mac boot icon upon cold restart. RESOLVED. See update, below. 2. Waking from sleep can sometimes take 5-10 seconds. But most of the time, it is instant. (**UPDATE**: I haven't seen the wake delay since the first day) 3. When I had the MTRON SSD system / IDE data setup, my machine would sometimes freeze upon wake. This hasn't happened yet with the new setup. 4. When I had the MTRON SSD system / IDE data setup, my machine would occasionally lose symbolic link from the 2nd volume to my user folder upon startup, which made Mac OS X think I had no data. I don't think this was related to the SSD, but nevertheless, it was an issue. To fix each time, I had to remove the dummy volume Mac OS X would create, and recreate the proper symlink in /Volumes.
The new setup is really great at suspending and resuming virtual machines. For example, resuming my VMWare Fusion Windows XP virtual machine right after a reboot (so there is no chance of caching) takes 11.9 seconds. Resuming the same virtual machine again (when cached) takes 4.7 seconds. I like those times.
The performance is really spectacular when doing things when searching on Mail.app, or multitasking in any way. I can have lots of disk-intensive stuff going on and still get around my machine as if nothing were happening in the background. I posted a bunch of videos the last time. They still apply.
*** UPDATES AFTER 6 MONTHS OF USE ***
April 9, 2009: I'm still enjoying having the OCZ SSDs in my MacBook Pro, but I'm definitely noticing write delays when multitasking. This is a known problem with the older OCZ drives, but has only been a problem when doing things that would also take down a machine running on a standard, spinning hard disk.
May 27, 2009: I solved the 10-15 second hard boot delay. The problem was that the startup disk wasn't set. All I had to do was go into the Startup Disk preference pane and make a selection. I can't believe it took me 6 months to figure this out!