Archive for crucial tag

MacBook Pro 256GB SSD upgrade experience

April 2010 – October 2011 Apple, Hardware (, , , , ) • 385,074 views • 54 responses

I’ve been wanting an SSD for some time and finally caved. Armed with credit card, screwdriver and trusty MacBook Pro I fitted a sweet SSD and decided to document the experience.

Updated with benchmarks for the Crucial M4!

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 first clean-up your current drive to get an idea of actual requirements. Remembering to backup before you:

  1. Identify biggest culprits
    Try DaisyDisk ($20) or Disk Inventory X (free) and drill down to catch unexpected bloat in your folders
  2. Clean up unused system junk
    Use CleanMyMac ($30) or MonoLingual (free) to clean up logs, caches, redundant processor and unwated languages.
  3. Archive unused content
    Move those podcasts, TV shows, applications and games you aren’t going to use anytime soon to cheaper external storage.
  4. 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 give up your internal Superdrive then move your existing hard drive to the optical bay and purchase a smaller SSD for the OS and key performance-critical files. This saves cash and gives you more space at the expense of battery life and a little extra weight.

Speed

All SSDs are not created equal and the combination of flash and controller (on drive and in your machine) play their parts 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

I settled on the Crucial SSD 256GB C300 because it is blazingly fast and the 256GB variant fit my 150GB storage requirements.

The C300 drives are no longer available as Crucial have replaced them with the even-faster M4 family at the same price as the C300 (64GB for $129, 128GB for $249, 250GB and for $499 and 512GB for $999)

Apple-factory options

Apple’s factory options for SSD are a mixed bag. They originally used slower drives such as Toshiba. As of July 2010 whether you get a fast Samsung or a slow Toshiba SSD is pure luck.

Given Apple charge a slight premium for the SSD option, you don’t get to choose your drive model and they are easily replaceable (except the iMac 27″) go with an after-market drive :)

Installing a new hard drive

The newer Unibody MacBook Pro’s hard-drives are designed to be user-replaceable and are covered in the manual.

My older non-Unibody is not so simple but those nice people over at iFixit put together a hard drive replacement guide for 15” that is close enough for my 17″.

Installing Mac OS X without a DVD drive

My Superdrive died a while back so installing Mac OS X is a little trickier than usual. There are a few options you might come across.

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 only machines Apple shipped without a Superdrive – i.e. a Mac mini or MacBook Air from 2009 or later are happy to boot from a Remote Disc.

The following two shell commands enable Remote Disc on older machines within Finder but don’t allow a remote install:

defaults write com.apple.NetworkBrowser EnableODiskBrowsing -bool true
defaults write com.apple.NetworkBrowser ODSSupported -bool true

You will also need to enable sharing on the Mac with the DVD drive. Head into System Preferences then select Sharing then check DVD or CD sharing. You may also want to uncheck Ask me before allowing others to use my DVD drive to avoid having to go to the other machine to continually grant access.

USB image

A Snow Leopard image will require just over 6.2GB and a GUID Partition Table. I’ve had success with a OCZ 16GB Rally2 USB Flash Drive ($35)

To copy the Snow Leopard Install Disc to it:

  1. Use a Mac that has a Superdrive and insert both the install DVD and USB storage device
  2. Launch Disk Utility from the Utilities folder
  3. Select the USB storage device from the list of devices and then choose the Partition tab
  4. Choose 1 Partition from the Volume Scheme drop-down
  5. Press Options… choose GUID Partition Table then OK
  6. Press Apply to confirm you are happy to wipe away all the data on the device
  7. Select the install DVD from the list of devices and then choose the Restore tab
  8. Drag the install DVD from the list of devices into the Source text box
  9. Drag the USB storage device from the list of devices into the Destination text box
  10. Press the Restore and wait a while

When finished eject the USB device and insert it into your DVD-less Mac. Turn it on and hold down alt until a boot selection screen shows then use the arrow keys to select your USB device and press return to launch the installer.

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.

Open the Installer Log window and set Detail Level to Show All Logs to see more granular progress – useful if installing from silent media like networks or flash.

NetBoot

Macs can boot from network images but the official Netboot server only comes with Mac OS X Server which is $499 right now although rumoured to be free with Mac OS X Lion so that could be an option soon.

Performance over time & TRIM

A simplified primer

File systems write things in blocks. Before SSD when the file system wrote to ‘block 1′ it hit ‘block 1′ on the drive (unless it was damaged when it would map in a replacement from a reserved section). If it rewrote ‘block 1′ it overwrote what it wrote last time. This is how tools that erase files by writing them over and over work.

Now SSDs are fast but the flash technology suffers some limitations the most important is they can’t overwrite data without erasing it first so what they do is when the operating system writes ‘block 1′ a second time, it puts it somewhere else in the flash (but tells the file system it was ‘block 1′). This avoids the write penalty and also means that you don’t wear out block 1 by writing it over and over again (this is called wear-leveling).

Now this works just fine until you run out of fresh unused blocks. This happens sooner than you’d think because when the file-system deletes a file it does not actually erase anything but just marks it as not used in it’s own file-system tables knowing it will just get used again sooner or later. (This is how file-recovery tools are able to undelete files).

So this combination of the drive never getting told to erase blocks and only finding out it can re-use them later when its time to write data and it suddenly finds these writes all require it erase blocks too and performance can drop to traditional hard-drive speeds (or worse).

The solutions

Manufacturers initially solved this problem by writing tools 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 so they are ready to be written again without the erase penalty – at least until you run out of blocks again. Because these tools need to know the file-systems internals you can’t throw a Windows tool designed for the NTFS file system at a disk formatted with HFS+ for the Mac and expect it to be able to understand anything.

Another solution involves the drive recording when blocks are being overwritten at the file-system it can mark the older copy of the actual block on the flash as erasable. Now, this may not happen until the disk is quite full and so to avoid stalling again on writes the manufacturers put some extra flash storage on the drive. When it gets in this state the writes gets a fresh block from the reserve and the reserve takes the previously used block to erase and put back into reserve. The problem here is that the manufacturers have to put extra flash and logic on the drive which costs $’ and it’s only able to put off stalling as long as the reserve can keep supplying fresh blocks.

A third solution tackles the problem at the source. Manufacturers agreed on a standard that extends the ATA protocol called ‘TRIM’ that lets file-systems tell the drive when blocks are no longer required and can be erased when it’s not busy. Support was built into Windows 7 and Linux 2.6.28 making a lot of SSD owners very happy.

Mac OS X & TRIM

Only Apple-supplied drives have OS X TRIM support enabled by default but there are techniques for enabling TRIM in Mac OS X 10.6.7 (Snow Leopard) and 10.7 (Lion)

You could also try to minimize unnecessary writes:

  1. Don’t use Finder’s Secure Empty Trash or the srm command line tool – these attempt to overwrite the blocks but because of wear-levelling on SSD they’ll just steal blocks up to 35x the size of the file you want to ‘erase’
  2. Keep large churning files on external drives (e.g. video processing)
  3. Don’t let your laptop run out of power as it copies the RAM to disk each time (2-8GB)
  4. Prevent unnecessary disk operations such as the ‘last accessed’ attribute on files (see below)
  5. Don’t keep running disk benchmarks that cause lots of writes!
Don’t be tempted to try and use one of the manufacturers Windows tools from your BootCamp partition as they only understand NTFS and FAT. They won’t be able to even figure out which blocks can be erased as Mac OS X uses it’s own HFS+ file system.

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:

  1. Ensure you have a full Time Machine backup
  2. Boot from a Linux Live CD (or USB image) containing a recent build of hdparm
  3. Use hdparm to perform an ATA Secure Erase
  4. Boot from your Mac OS X DVD/USB stick
  5. Choose the Utilities > Restore System From Backup menu option
  6. 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!

Xbench with Crucial C300 (256GB) on older MacBook Pro

Here are the figures for my Crucial C300 256GB drive with 0009 firmware on my older non-unibody MacBook Pro 17″ (MacBookPro3,1) with a dual-core 2.6GHz CPU and 4GB RAM.

This MacBook Pro is limited to 1.5GB/sec on the SATA bus as it uses an Intel ICH-8M SATA controller

0001
Sequential
0001
Random
0002
Sequential
0002
Random
0006
Sequential
0006
Random
0007
Sequential
0007
Random
0007
Sequential TRIM
0007
Random TRIM
Overall 137.66 643.14 137.39 648.57 121.39 644.71 125.17 620.97 138.23 638.23
Uncached write 4K 200.40 762.30 185.92 789.45 194.20 774.95 208.42 885.91 191.31 931.43
Uncached write 256K 196.34 357.61 196.05 359.23 129.89 360.79 157.84 318.87 172.08 320.78
Uncached read 4K 67.56 1926.31 69.27 1942.94 63.01 1911.07 60.37 1812.40 72.50 2030.81
Uncached read 256K 239.73 628.06 238.22 624.15 236.40 617.67 234.84 615.42 243.42 631.16

My original performance figures with the original as-shipped 0001 firmware and subsequent 0006 firmware figures are after almost a year of continual use and the drive has not been secure erased in that time. The final set of 0007 figures are on Mac OS X Lion with the TRIM enabler support switched on for a week.

Xbench with Crucial M4 (256GB) on new MacBook Pro

I had the opportunity to put an SSD in my new work MacBook and immediately jumped to the a href=”http://www.kqzyfj.com/click-3893583-10674245″>Crucial M4 256GB. Here are the crazy figures for that drive with 0009 firmware on a MacBook Pro 15″ (MacBookPro8,2) with a quad-core 2.2GHz CPU and 8GB RAM)

0009
Sequential
0009
Random
Overall 277.21 1293.22
Uncached write 4K 428.98 1890.35
Uncached write 256K 424.35 770.44
Uncached read 4K 120.56 2162.18
Uncached read 256K 691.20 1244.41

Thoughts

SSD is fast but given the hype I was expecting everything to be instant and it wasn’t quite there. Applications usually launch within a single dock bounce and everything feels a lot snappier but there wasn’t the massive WOW! I was expecting.

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.

Check-in (26 June 2011)

I installed the SSD and wrote this article back in April 2010. I’ve revised and tweaked it over the 14 months it’s been published to account for new firmware, updated benchmarks, the new Crucial M4 replacement of the C300 and the fact that Apple now ship SSD’s with very good performance as standard.

My C300 is still going strong through two firmware upgrades, three OS X installs (trying out betas), regular application installs and work with heavyweight software such as VMware Fusion and Aperture.

The Crucial hasn’t yet missed a beat. No calls to support, no stuttering and benchmarks today are very similar to those published for the 0006 firmware update (within 10%).

[)amien