To SSD or not SSD? That is the question
SSDs, or Solid State Disks are fast becoming the thing to have.
With no moving parts they should, in theory, be more reliable than the spinning disks most of us use now. They should also use less power and be faster as well. And in many cases this is the case. But not always. With SSDs you have to be aware of wear levelling – the memory can only be written to a finite number of times before it wears out. Also SSDs are in their infancy compared to the lifetime of the spinning disk industry. As such the reliability issues are not completely resolved.
Operating System
I’ve been interested in SSDs for a while. My first hurdle was that I wanted to use SSDs with Windows XP, but XP doesn’t know about SSDs and thus could potentially wear an SSD out quite quickly with its paging mechanism. Vista and Windows 7 know about SSDs and treat them differently to normal spinning disks so this is not a problem.
SSD user experience
When I went to MicroConf (see the many posts on this blog about that event) I met quite a few owners of MacBook Air computers. These all ship with SSDs. All of them said the same thing – the SSD is the single biggest win for them. To quote one them (sorry, I didn’t get his name) “I had a MacBook with a faster processor but this MacBook Air with a slower processor is a faster computer”. The difference was the SSD. That is quite a statement coming from a developer. He had downgraded his processor but the net result was a better, faster experience due to the SSD.
Talking with other delegates during the conference it was clear that there was quite a bit of interest in SSDs. A bit of research shows that in most circumstances SSD reads will outperform spinning disks greatly and SSD writes will outperform spinning disks greatly. But there are a few circumstances where SSD writes can be very slow and get outperformed by spinning disks. So depending on your usage, SSDs may not be for you. My guess is that for laptop/desktop users SSDs are going to a big win, but server farms with databases writing lots of data may be a problem.
Problems
Despite the wonderful comments from the MacBook Air users I was still concerned about reliability and wear levelling. After some research it turns out that you are more likely to replace your entire computer before wear levelling becomes a serious issue than you are to actually hit wear levelling problems.
That just leaves reliability. This is a problem. When spinning disks die, the controller or an actuator or some other circuitry often dies, leaving the disk completely intact or with minor damage. You can take this to a specialist, pay them some cash and they’ll pull all your data off the broken disk and put it on a new one. Inconvenient, but a result.
With SSDs the notion of cylinder, sectors etc typical of spinning disks goes away. Due to compatibility with SATA and the drop in replacement nature of SSDs these concepts may be used to address the data even though they no longer actually represent a physical location on the disk. The SSD controller maps these values to a virtual location in the SSD memory. That location may change over time to improve the SSD’s performance or to handle wear levelling. With SSDs the controller is typically the failure point and given that the data is spread all over the disk to handle wear levelling and whatever other concerns the controller has you can’t easily identify which SSD locations constitute a file, making it very hard or even impossible to pull data off a dead SSD.
A few weeks ago my father called me to ask if I could help his neighbour with an SSD problem. I could not help. His SSD had died and he had no way to pull many years of family photos from the SSD. And he hadn’t made a backup! Ouch! He’d replaced his spinning disk with an SSD three months earlier. Was really pleased with the performance until one day it just did not work. I’ve found similar tales on the net of server farms taking delivery of cases of SSDs and finding up to 50% dead on arrival!
So with that I’m going to postpone switching to SSDs. I sure could use the speed boost, but just one lost day restoring my data is not worth the effort.
So what else is there?
Turns out there is a solution which has much of the SSD benefits and retains the ability to easily pull data of a dead drive. That solution is the Hybrid SSD. I’ve replaced the spinning disk on this computer with a Hybrid SSD from Seagate. It has a 4GB SSD style data area to read from for all frequently requested data (it learns what apps you use and stores them in the SSD area) but all writes go straight to disk, not into the SSD area. The result is that writes happen at typical spinning disk speeds and reads for random data also happen at typical spinning disk speeds. But programs you frequently run are typically in the 4GB area and start very much quicker.
Also, because it isn’t an SSD you can just use it as a drop in replacement for any SATA drive on any OS – the OS can treat it just like an spinning disk and not be concerned about wear levelling. So you can use it with Windows XP quite happily.
I’ve simplified how it operates greatly, but the end result is I’ve got a snappy feeling machine just by changing my drive to a Hybrid SSD.