Solid state disks are the next big thing in storage – but are we ready for them? Ashton Mills delves into the data to find out.All flash is finite. Just like hard drives too, of course, except hard drives have proven themselves over the years whereas SSDs are so new that no one has used them long enough to say whether they really live up to their lifespan claims or not.
The problem lies in the inherent limitations of the SLC (single-level cell) and MLC (multi-level cell) ICs that make up SSDs – by nature, they have limited erase-write cycles (called an SSD's endurance) such that, if the same bits were written over again and again, they eventually fail.
Fortunately, the number of erase-write cycles can be quite large, anywhere from 10,000 to 100,000 depending on the chips being used – SLC can handle up to 100,000 cycles compared to MLC's 10,000. It's also the faster of the two and, naturally, considerably more expensive.
As raw numbers it sounds like quite a lot, especially if you think about how much time is actually spent writing to drives on your machine. However, determining just how long an SSD should last based on these inherent statistics is a little more complicated.
While SSDs will happily read data in relatively fine-grained blocks, the erase-write cycle (a two-stage process, and one of the reasons write performance falls behind read performance) is performed in large blocks ranging from 128k to 1MB. So even if you write a 10k file, up to a hundred times this is erased in the cycle, wearing out a larger segment of the memory than is actually needed.
Then, depending on which vendor you talk to, the equation used to determine an estimated lifespan in years (involving estimated writes, disk volume, wear levelling (see below) and more) can only provide a rough estimate, and says nothing for the actual personal usage scenarios (gaming, P2P, film editing etc). In other words, estimates of drive lifespan are pretty vague right now. That said, generally and overall, consumer-level SSDs are expected to last at least five years, but again machines currently using them haven't been on the market long enough for anyone to find out.
What remains true, however, is that the biggest factor in the lifespan of an SSD is, of course, its usage. And here, as it stands currently, our operating systems aren't working in their favour.
Dealing with limitations
To help mitigate the effects of limited erase-write cycles there are a number of storage paradigms – long borne by the history of mechanical spinning-platter hard drives – that will need to change. They occur on a variety of levels.
First and foremost, operating systems like Windows and Linux treat storage like read-many, write-many devices. Both OSes are fond of swapping out to disk for virtual memory, using temporary files, writing log files, storing application caches, and updating metadata (most of which you rarely ever use) with files and folders on your system – all of which adds up to frequent, consistent, writes to disk. Something that you don't need to blink an eye at with hard drives, but suddenly comes into focus with SSDs. And that says nothing for activities like defragmentation – given the large erase block of SSDs, defragmenting would whack a nice chunk of your write-cycles every time.
But this also highlights some of the beauty of SSDs – for the first time, this is a storage medium that doesn't write to concentric tracks on a platter, the effect of which impacts both seek times as heads move to read and write data, and transfer speed as outer tracks rotate faster than inner tracks. In the past this has necessitated functions like defragmenting to ensure files are contiguous and reduce head movements, let alone specially designed I/O queues and scheduling in drive firmware and operating systems to take head and rotational latency into account.
With SSDs, this is all moot – the entire volume is a consistent transfer rate, and at incredibly fast seek times: Intel's new X25-M, the current king of the hill, has a seek time of 0.085 milliseconds. That beefy Seagate 7200.11 you've got spinning in your system has a seek time of 12.8 – the SSD could complete 150 seeks in the time it takes the Seagate to do one!
For SSDs, file fragmentation doesn't actually matter, which is a first for our beloved PCs. And just as well, given defragmenters will only wear them out faster.
Which leads us to the topic of wear levelling.