Skip to content

Hardware articles

MacBook Pro 256GB SSD upgrade experience  

I wanted an SSD for some time and finally caved in. 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 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), Disk Inventory X (free) or OmniDiskSweeper (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 unwanted 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 iTunes 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.

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.

Since writing this article I’ve upgraded two more machines. My SSD choices as of October 2012 are:

  1. Samsung 830 Series
    I upgraded my work Lenovo ThinkPad X220 with this drive and it’s crazy fast and also fitted it to my new desktop. Available from Amazon in 64GB ($80), 128GB ($100), 256GB ($230) and 512GB ($449) capacities
  2. Crucial M4
    I upgraded two MacBook Pro 15″ (work+wife’s) with Crucial’s M4 last year. Available from Amazon in 64GB ($75), 128GB ($98), 256GB ($183) and 512GB ($539) capacities

Apple-factory options

Apple’s factory options for SSD are a mixed bag. They originally used slower drives by Toshiba and from July 2010 whether you get a fast Samsung or a slow Toshiba SSD was 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″ and MacBook Pro Retina) go with an after-market drive :)

Installing a new hard drive

Newer Unibody MacBook Pro hard-drives are user-replaceable and 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.

If you are just doing a one-off Lion install then try the Lion Recovery Disk Assistant which requires a 1GB USB key and an internet connection for the install.

If you want to install Lion to multiple machines or won’t have internet where you’re installing then you can either put down $69 for the Lion USB thumb drive (no longer available).

My favorite option however is to create my own install USB key. These steps will work for both Snow Leopard and Lion.

Create your own Lion or Snow Leopard install USB stick

The following steps work for both operating systems – the only difference is what you your drag across as a source in step 8.

  • Snow Leopard – source is your retail install DVD
  • Lion – source is InstallESD.dmg file which can be found in your Applications folder inside the Lion installer. If the installer is missing use App Store to re-download it. You will find the file inside the Lion installer by using Show Package Contents and heading to the Contents > Shared Support folder.
  1. Insert your USB stick
  2. Launch Disk Utility from the Utilities folder
  3. Select the USB stick 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 and wait until complete
  7. Select the USB stick from the list of devices and then choose the Restore tab
  8. Drag the source (DVD or InstallESD.dmg) from the list of devices into the Source text box
  9. Drag the USB stick from the list of devices into the Destination text box
  10. Press the Restore and wait a while

When finished eject the USB stick 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.

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.

Performance over time & TRIM

A simplified primer

File systems write in blocks and before SSD when the file system wrote to ‘block 1’ it got ‘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 securely 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 when the operating system writes ‘block 1’ a second time, it actually stores it somewhere else in the flash (but tells the file system it was ‘block 1’) and makes a note where ‘block 1’ actually is. 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).

This works just fine until you run out of erased 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-leveling 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 2007 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 and this is limiting the drive.

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 2011 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, several OS X installs (trying out betas, upgrading to Lion), 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

What’s in your laptop bag?  

Since my new laptop arrived I’ve been fine tuning my accessories in search of the developer-on-the-move setup. Here is my current contents complete with shameless Amazon Affiliate product links where applicable ;-)

Brenthaven Pro BackPack

My parents bought me the Brenthaven Pro 15-17 Backpack for Christmas. It has a great number of sections and compartments yet can still be thinly packed with the padding contributing to a comfortable wear. The only negatives are that the finish seems a little rough in places and that the rigid laptop protection area seems to be designed to hold a laptop almost twice as thick as a MacBook Pro despite claims of being ‘Designed for a 15.4″ MacBook and 17″ MacBook Pro’.

Of course the dream laptop bag would have an external USB port that would power and charge various devices within ;-)

RadTech sleeve & protector

I’ve owned RadTech sleeves for all three of my Apple laptop’s to date and they’ve all been excellent. Snug fitting, soft but hard-wearing and well-made they keep the machines clean and scratch-free. Now available in a multitude of colours but call me a traditionalist I’ve stuck with aluminium-grey. I also recommend grabbing a screen protector that sits between the keyboard and screen that doubles up as a cleaning cloth.

OCZ Rally 2 4GB USB stick

Another gift I recieved is the ever-useful USB memory stick for those odd file transfer tasks. The OCZ 4GB Rally 2 USB 2.0 Flash Drive can double up as a Vista ReadyBoost cache (providing you are booted natively, neither Parallels or VMware Fusion emulate it fast enough) and is housed in a small black metal enclosure the size of my little finger. Minor downsides are the easily-lost cap and the green led that casts an eerie glow over the geek at the keyboard.

Microsoft Wireless Notebook Laser Mouse 600

I’ve been using mice with laptops less over the years as my comfort with trackpads has grown and i have found myself without desk space for a mouse. The Microsoft Wireless Notebook Laster Mouse 600 works quite well however and the battery seems to last for ages. It is quite light and possibly a bit too small to be comfortable and if I was to replace it I’d go with something Bluetooth to avoid the dongle (which clips into the mouse when not in use).

iPod Nano

I purchased a iPod Nano 8GB 3G late last year after my 60GB iPod died. The device is incredibly small with a good battery life and fantastic display. Not convinced that the screen or control is suited for video or games but it makes a great little music player – I’m just hoping the flash models have a longer lifespan.

Philips Earbuds

These Philips HN060/37 ‘Noise-Canceling’ Earbuds are pretty good considering the price, size and battery life. Whilst they don’t cancel noise out the combination of the in-ear mechanism, volume booster and the active circuity does help supress noise levels somewhat and I have found them particularly useful on flights. Some people find the high-pitched white noise the circuitry generates annoying and others find in-ear plugs irritating however. Personally the only problem I have with them is that the rubber pieces tend to come off and get lost quite easily but you can buy generic replacement packs from many airport/music stores.

My Book Pro 500GB External Drive

Leopard’s Time Machine combined with a Western Digital My Book Studio 500GB External Hard Drive provides me with a simple backup strategy that is lightning fast via FireWire 800 (800 Mbps) and still speedy over USB 2 (480 Mbps).

The Studio drive I linked to also provides eSATA support (couldn’t find mine on Amazon). It isn’t always in my backpack but does make a regular appearance.

Cables etc.

The bane of every techie’s life. Currently includes 1m USB extender, a USB to mini-USB cable that connects my TyTN, PSP, BlackBerry and Canon EOS 400D to my MacBook Pro and the Apple DVI to VGA adaptor for presentations. The Apple-supplied remote also sits in there for exactly that purpose.

Stationary

I like to keep a Moleskine pocket notepad tucked away, ruled by preference until they make a graph-paper version. This is normally coupled with a Pilot G2 at the moment which is comfy and smooth but takes too long to dry and is still too thick in the 0.38mm ’05’ version. Without sounding like a pen obsessive I’m going to try a Uni-Ball Signo Bit 0.18 next! There is also a nondescript mechanical pencil and large eraser.

Reading

Yes, there is still room in this TARDIS of a laptop bag for reading material. At the moment it is alternating between Designing Type, Managing Humans: Biting and Humorous Tales of a Software Engineering Manager and The Art of Intrusion all of which were Christmas gifts :)

That’s it! would love to find out what other people keep in their laptop bags and hear suggestions on some of my weak spots. I wish I could fit a full-size tactile keyboard in it but I guess I’ll live!

[)amien

One week with a MacBook Pro 17″  

It has been one week since I picked up my new MacBook Pro 17″ to replace my aging first-generation 15″ model.

My initial concern was that the size and weight would be unwieldy after 4 years of lugging around a 15″ MacBook Pro and a prior to that a Titanium PowerBook G4. The actual problem was that my trusty Samsonite Trunk & Co. backpack could not accommodate it and that I’d have to hope Santa would deliver something a little bigger. Being properly kitted up might reveal if the dimensions and weight are uncomfortable so expect an update once I’ve travelled with the beast.

MacBook Pro 17The screen is fantastic, a little brighter, and provides me with a desktop-like experience in terms of real estate thanks to the combination of the increased size and the high-definition 1920×1200 option. I had examined the glossy finish in-store and found having my face and the rest of the store glaring back at me far too distracting for real work (it might be nice for watching DVD’s in the dark I guess) and so went with the matte finish. Surprisingly it is a little more reflective than the older MBP but not overly so and it does make removing unwelcome fingerprints easier.

One problem I had with m 15″ was that heavy use of Visual Studio within Parallels wasn’t always cutting it on performance. Compilation was faster than the cheap HP/Compaq desktop I’d been using but still wasn’t snappy enough to keep my attention tightly focused ;-)

I went with top options – a 2.6GHz processor coupled with 4GB of RAM and a 7200RPM 200GB drive – to ensure maximum performance. Mac OS X and native Vista did not disappoint and felt like a speedy desktop despite Vista being 32-bit and limited to 3GB of RAM until Apple ship a 64-bit ready Boot Camp drivers and tools.

My .NET development typically takes place inside a virtual machine – previously Parallels but now evaluating VMware Fusion with its enticing dual-core and 64-bit guest OS support. Both Parallels and Fusion had similar almost-native performance in the disk and processor department on my 15″ according to Vista’s performance index and I’ve yet to rerun those (stay tuned). Whichever gets Aero/DirectX 9Ex shader support first will be my home for a while.

Battery life was a big surprise offering over 3 hours and I certainly feel less conscious of where the next power feed is coming from although that is partly due to the poor battery on my old machine being rather tired and worn.

One big disappointment is the keyboard. Firstly it is the same size as the 15″ model which leaves the extra space to the speaker grille. Whilst the speakers do sound far superior – good enough to actually listen to music on – I couldn’t help but feel a wider enter key, a second ctrl and a little f-key spacing could have gone a long way. What is more concerning is that many keys do not register if hit off-centre even by a slight amount :(

There are still some things to try:

  • Games under native Vista taking advantage of the Nvidia 8600M GT chip
  • Time Machining my MyBook Pro external drive over FireWire 800 (800 Mb/s) instead of USB2 (400 Mb/s)
  • Burning DVD performance
  • Removing DVD drive (UJ-85J FBZ8) region protection (RPC) to play my DVD collection

[)amien

In search of the perfect keyboard  

I started programming at 12 and have been fortunate to carve out a successful career in something I love to do. People find it strange when I talk with passion about IDEs, fonts, colour schemes, mice and keyboards.

To me it seems perfectly natural when you consider a writer has strong preference and passion for pens and notebooks and photographers spend a small fortune on specific lenses and cameras to get the shot they want.

For years I was happy with my Apple Pro keyboard and then one day found myself messing around with my Amiga A600 and realised my typing was faster and more accurate on the Amiga than on the PC.

Some prefer “ergonomic” split-keyboards, others are impressed by back lighting, LCD screens or even an OLED display in every key. Most reviews skip over the most important aspect – what it is like to type on.

IBM Model M

IBM Model M keyboardI have fond memories of typing away on the IBM XT, AT and 5150 terminals and I found myself at eBay eyeing up an original unused IBM Model M keyboard similar to the ones those machines used.

Whilst the keyboard uses a membrane each key has its own spring that buckles as the key is pressed. This gives a satisfying tactile click that saw typing speed further accelerate than on the Amiga. Each key comprises of two plastic parts, the main body and the outer shell or key-cap. This means you can easily re-arrange the keys or put on specialist caps.

The Model M is a joy to type on but isn’t without fault. I can live without the Windows keys but the keyboard sports a huge surround taking up masses of desk space, is incredibly heavy and sounds like a machine gun when you get going with it.

Matias Tactile Pro

The Mattias Pro keyboard Apple produced a legendary keyboard too, the Apple Extended Keyboard but this has some immediate drawbacks in that it uses the Apple Desktop Bus, so would need an adapter, and is also tricky to get hold of.

I settled on the Matias Tactile Pro which uses the same Alps switches for each key but comes in a more friendly USB version. Designed for the Mac it has some extra keys and helpfully each key shows the various extra symbols available with the Alt key.

The Tactile Pro is great to type on however it is even louder than the IBM Model M and only available in the US key-map which means it is a couple of keys short. The enclosure mimics that of the Apple Pro keyboard but uses an inferior plastic that feels cheap and does nothing to dampen the volume but does helpfully feature a two port passive USB hub.

Note: The Matias Tactile Pro is an OEM version of the Strong Man SMK-Power989X. Matias now have the Tactile Pro 2.

Das Keyboard II

Das 2 mechanical keyboard I’d heard some good things about the Das Keyboard II which unlike it’s predecessor is also mechanical but uses individual switches from one of the original keyboard manufacturers, Cherry.

The Das II is USB and is a little quieter than the other two keyboards but is still loud enough to annoy nearby co-workers and yet nicer to type on than the other two. One of the selling points of the Das II is that each key is totally blank resulting in one black keyboard but I could take or leave it.

Where the Das does fall down is the large echo-inducing enclosure and the cheap-feeling plastic used for both the keys and the surround.

Note: The Das Keyboard is effectively a custom OEM version of the Cherry G80 series.

Apple ultra-thin wired

Apple aluminum scissor-switch keyboardI only picked up this keyboard a few days ago so my experience with it is not as extensive as the others which all got a fair work-in. Impressions so far are very good despite it being a scissor-switch like most laptops and not mechanical like the others.

The surround is an absolute minimum which is fantastic and it looks great. Noise levels are sufficiently quiet and the feeling very enjoyable despite the low-profile and gaps between the keys. The addition of a built-in USB hub is useful but MacBook Pro style light-sensitive back lighting would have been great.

Where next?

I’m sticking with the Apple at home for at least a couple of weeks and will continue to use the Das at work for now. The Model M and the Matias are currently gathering dust in the cupboard.

I have already modified my Das II by removing it from the enclosure and placing it on a soft sponge material. It is immediately much quieter with less echo and a soft wrist rest which solves some of the issues. Replacing the keys with a softer rubberized plastic would be great but injection molding is rather expensive.

Check out the GeekHack keyboard forum for like minded chat.

[)amien