In my last post I specifically used the term SSD’s when referring to NAND Flash Memory based disk drives as I wanted it to be generic and not be seen to have an EMC bias.
I did state that EMC uses the term Enterprise Flash Drive (EFD). I agree with Barry Burke that it is in the industry’s best interest to use this term for Enterprise Class Solid State Disks (SSD’s). Now some people would say I would, as I used to work for EMC, however those of you, who know me, know that I have my own opinions and will openly express and share them.
So why is it in the industry’s best interests?
From my experience of presenting and meeting with customers during 2008, especially the first half of, there was much misunderstanding about Flash memory and SSD’s.
When EMC announced its planned support for EFD’s on 14th Jan 2008, there was the resulting FUD from some other storage array vendors, which resulted in misinformation circulating in the industry.
As an aside I remember this date well for a number of reasons.
- Because it was exactly five months before my 40th birthday, not that I was worried about turning 40.
- I actually meet with Barry Burke (The Storage Anarchist) in his office on that day, as I was over at EMC Headquarters in Hopkinton.
- I was one of the few EMC field people who knew that EMC were going to announce Flash.
Before EMC introduced the STEC EFD, most people were aware of Flash memory based SSD’s, as they were starting to be available for laptops, all be it at a significant price relative to the laptop. And everyone (well perhaps everyone apart from your granny) was aware of Flash memory from the many modern gadgets that incorporate Flash memory such as Cameras, MP3 Players and USB memory sticks.
I know Barry did some excellent blogs back in early 2008 to help address some of this misinformation. I highlight three below.
http://thestorageanarchist.typepad.com/weblog/2008/01/0059-bold-fast.html
http://thestorageanarchist.typepad.com/weblog/2008/01/0061-swinging-f.html
http://thestorageanarchist.typepad.com/weblog/2008/03/0070-horton-hea.html
Obviously they contain Barry’s sense of humour (which I am not adverse to), and a slight EMC bias ! BUT they do contain the facts.
So whilst the term SSD is a good generic term, I believe it is appropriate to have a term that differentiates this class of SSD from the consumer class of SSD, which these days you can get from $100 upwards – depending on capacity.
So what defines an enterprise class Flash Drive?
An SSD based on Single Level Cell (SLC) Flash Memory?
(As an aside the term Single Layer Cell is also seems to be used.)
Well NOT any more based on STEC’s announcements on Tuesday.
Chris Mellor on The Register did an excellent summary yesterday (Wed 12th) on STEC’s announcements, beating me to what I was going to include in my post. Not that I am trying to compete with Chris in any way!
http://www.theregister.co.uk/2009/08/12/stec_range_extension/
I had expected STEC and/or others to announce an MLC based SSD any time soon, which they classed as enterprise.
To quote the STEC press release, based on its announcement at the Flash Memory Summit on Tuesday (the one I said I wanted to attend in part 1)
Until now, MLC NAND has not been considered a practical storage media for SSDs used in the Enterprise applications due to the rigorous endurance and reliability demands of those markets. However, STEC designs and implements high performance flash controller technology and proprietary advanced Flash management algorithms to render Enterprise‐grade performance and endurance that is superior to hard disk drives (HDD) and consumer‐grade MLC SSDs. In addition, utilizing sophisticated Flash management algorithms, STEC’s MLC‐based SSDs ensure constant Enterprise‐level performance across demanding workloads and data sizes. By achieving these critical thresholds, these drives are well‐suited for the requirements of demanding enterprise environments where SSDs will be deployed.
And as detailed in the press release and Chris’s article, STEC expect these MLC based Enterprise Class SSD’s to be shipping by Q1 2010, and have capacities of up to 800GB ! I assume the 800GB capacity is its raw capacity, and storage vendors will configure it to appear / offer lower capacity to provide ‘spare’ capacity to increase the SSD’s life expectancy.
So the use of SLC Flash memory cannot be used to define an Enterprise Class SSD, based on STEC’s announcement.
The problem with MLC Flash memory is that it can tolerate far less rewrites than SLC NAND. One can assume based on STEC’s statement that they believe (and I don’t doubt them), they can use MLC Flash and achieve good performance and reliability.
The STEC press release states the MLC based SSD is not quite as fast as their SLC counterparts, but offers not hard facts. My personal view is that performance of the STEC MLC based SSD is that it will be good enough for most customer requirements. More on that in part 3.
The press release appears to make no explicit statement about the STEC MLC based SSD reliability, compared to the SLC based SSD.
BUT it does talk about cost-performance advantages. Which to you and me means a lower cost per GB. I am sure EMC and others know what the price differential is compared to the SLC based SSD, but we will have to wait and see what the storage arrays vendors actually charge for them.
So within two years of EMC announcing their plans to support SSD’s, STEC have increased the raw capacity of its enterprise class SSD from 256GB to 800GB, and have introduced a lower class or tier of enterprise class SSD. So when I spoke to customers about 1TB+ SSD’s within a few years then I was not wrong, but it was not really a difficult thing to predict.
To get back to my original question, how do you define an Enterprise Class SSD (EFD).
My personal high level definition is:
1. Is highly available. i.e. tolerates single component failure.
2. Supports high read and write IOPS (small block I/O) and high bandwidth (MB/s), again both read and write.
3. High MTBPR. i.e. Supports sustained I/O workload as defined in point 2, for several years before needing replacement or failing.
Now I know the above is vague, as I use the word 'high' with respect to availability, performance and longevity, and 'several' with respects to its longevity.
With respect to point 1, it needs to be as tolerate as possible to single component failures. This does not necessarily mean every single component within the SSD, but at least the Flash memory and DRAM chips (used as buffer/cache). No one in their right mind would advise to run an SSD unprotected in a storage array. RAID 5 should be considered the default, but as these SSD’s get bigger, in the same way SATA disks have, perhaps RAID 6 should be considered. The rebuild times for the SSD’s are quicker than HDD’s, but as the SSD’s get bigger the rebuild times will grow.
With respect to point 2, high is a vague term. MLC can offer good read performance even in consumer based SSD’s, and the performance of an SSD is down to its architecture and code, as the STEC press release states.
With respect to point 3, whilst point 1 covers its high availability, with a continual high I/O workload an SSD drive will eventually wear out. Enterprise class SSD’s can warn when they are nearing their end of life, and so can be proactively replaced, however customers will not want an engineer to continually replacing the SSD’s, as there is always risk with any replacement affecting a storage array. Five years seems to be a commonly quoted and acceptable minimum life expectancy, and in reality most current I/O workloads are not driving enterprise class SSD’s anywhere near their maximum capabilities.
So whilst it might be a bit of a marketing term, I do believe it is appropriate to use the term EFD, rather than SSD, and whilst I know I am guilty of using the term SSD throughout this post, the term EFD does help to different it from the consumer class SSD, and EFD should not be thought of as an EMC term, but a industry term, in the same way people refer to Hovers, rather than vacuum cleaners.
However as I have illustrated I believe it is hard to provide an exact definition for an EFD, especially given the fast moving development of new SSD’s based on MLC Flash memory. In the same way it is hard (impossible) to define enterprise and midrange storage.