Sunday, January 5, 2014

Fun with Firewire - SSD on an older iMac

A couple of years ago, I bought an SSD for my work machine. If you’ve never used an SSD before, it’s a bit of a revelation; everything more or less just happens instantly. It really makes all sorts of tasks enormously less painful; for the stuff I do, largely due to the very high IO transactions per second.

Of course; there’s one downside to buying an SSD; it will make you hate using just about any non-SSD computer under the sun. Pauses before accepted as just the way computers are will start to drive you mad, and you’ll come to hate the sound of the drive as it seeks, ever-so-slowly, for a thousand tiny files.

In due time, the upgrade cycle rolled around and I got a shiny new computer in work with its own SSD, giving me the SSD I bought back.

And increasingly on my home machine I was really feeling the afore-mentioned pain; so many horrible little pauses. My home machine is a decently fast computer; it’s an early 2010 21.5” iMac with a 3.2GHz dual-core hyper-threaded processor, 8GB of RAM, and an acceptable GPU, which I got second-hand at some point. For completeness sake I may as well mention that I use an Apple Magic Trackpad and this IBM Model M clone with it. It would not make a hard-core gamer or someone doing heavy video editing happy, but for my needs it’s largely fine.

So, if I wanted an SSD, there were two things I could do; get a new computer, or upgrade the current one. I really didn’t see the need to get a new computer, and it’s not a good time to be buying a Mac (or any computer, really); desktop HiDPI displays are around the corner, but even on the super-high-end are not really there quite yet.

That left upgrading. There are a few ways to get an SSD into an iMac. The first is, of course, to just open it up and put one in. There’s a problem, though; while replacing the RAM is pretty easy, replacing the hard drive is… not. Call me a coward, but when suction cups (not to mention 16 intricate steps with dozens of tiny screws) come into the picture, that is exceeding the limits of what I want to do with a computer. Apparently, there are also potential issues where the computer may not be happy with the fan control stuff after an upgrade.

The next obvious approach would be Thunderbolt. All that Thunderbolt really is, at a high level, is a couple of external PCIe lanes. There were, as it turns out, two issues with Thunderbolt. One; Thunderbolt disk enclosures are terrifyingly expensive. Really, really expensive. This seems to be about the cheapest option, and it’s not even a real enclosure. It seems to actually be cheaper, though still very expensive, to get a pre-built Thunderbolt SSD. No doubt this will be resolved in time, but for now it’s terrible. The second problem; this iMac is too old to have a Thunderbolt port anyway.

That leaves USB 2.0 (no 3.0 here!) and Firewire 800. USB 2.0 is really too slow, and tends to involve the processor more in talking to the disk than one might like (it’s not bus mastering). Firewire, however, (at least in its 800 guise) might be okay. A quick look around the Internet confirmed that people had done this and found it acceptable, though there was an unfortunate lack of performance metrics.

So, I got one of these, an iTec Advance MySafe External (there’s a name for you). I should clarify that, when I got it, it was about 35 euro; it seems to have gotten a lot more expensive since, for some reason. At its current price, I definitely wouldn’t recommend it; there are better things out there for less money. Even at the original price… well, I’d have trouble recommending it, as we shall see. There is, unfortunately, a bit of a paucity of Firewire 800 enclosures; 400 seems to be more common.

The quality of the unit is… lacking. To get the drive in at all, I had to bend a misplaced capacitor out of the way, and the Firewire connection is inclined to drop if the cable is touched. It also has the blindingly-bright blue LED that all cheap electronics is now required to bear; I’ve had to turn it to face the wall so as not to be annoyed by it. It does come with Firewire and USB 3.0 cables (complete with absurd Micro USB 3.0 connector), which is a nice touch.

The device also doesn’t sit entirely evenly, and doesn’t have rubber feet. This is actually more or less okay with an SSD, but I assume it would cause it to vibrate all over the desk with a spinning disk.

There’s something strange about this device, though. Does this look familiar? It’s the same box, with the same port placement, but it’s definitely a different device; note that it uses an Oxford 944 chipset, while the one I’ve got uses a JMicron JMB35x. Its reviews also indicate that it’s of higher quality. Hrm. I wonder what’s going on here. Is there some company who makes aluminium boxes with a MicroUSB 3.0 hole, two Firewire holes, a power switch hole, and an annoying blue LED hole, and then sells them to other people who put the guts in? Bizarre.

Anyway, how does it perform? Well, very nicely, really. Obviously, peak transfer speed is limited by the 800Mbit/sec FireWire interface, but for small-block random access, this is less of an issue than you’d think.

This is the SSD in my old work machine:

Screen Shot 2013 11 28 at 16 29 13

And this is it in the iTec enclosure:

Screen Shot 2013 12 04 at 23 23 32

 

And just for fun, here’s the fancy PCIe SSD in a Retina Macbook Pro:

Retinambp2

 

We can see that while speeds suffer a fair bit running over Firewire, small block random reads are still very healthy. I haven’t done proper tests on IOPs, but I’ve seen it go into the thousands happily, and subjective speed is very good, though noticeably worse than, say, the Retina Macbook Pro.

One more caveat; there’s no TRIM support for FireWire attached SSDs.

So, would I recommend this? Well, only in the specific situation I was in (adding hard drive internally is a serious pain, no Thunderbolt), and only if you’re not too worried about sequential speed; the spinning disk will actually beat the SSD in the enclosure at this. I also wouldn’t recommend the enclosure I ended up using. However, the procedure in general put a new lease of life in the iMac, and, assuming the constraints mentioned are acceptable, it’s a very nice upgrade.