At VMworld last week I took part in a Tech Field Day presentation from Violin Memory, one of the earliest all-flash array start-ups.  Violin are “relaunching” the company, following on from many senior management changes and a lot of work to make their products more relevant.  One point of discussion (specifically from me) was whether the use of custom VIMMs rather than commodity SSDs was an advantage or disadvantage.  This issue has also been raised by DSSD, EMC’s super-fast no-frills all-flash storage appliance subsidiary.

To provide a little piece of background, Violin’s all-flash architecture uses a custom-built flash module known as a VIMM (Violin Inline Memory Module) that encapsulates NAND chips and controller hardware, providing much more control over the process of load balancing, wear levelling and garbage collection than using standard SSDs.  Other all-flash vendors (e.g. Pure, XtremIO, Kaminario) look to manage consistent performance by writing to SSDs in ways that minimise the effects of these flash management processes.

A recent article posted by Chris Mellor implies that the thinking at DSSD follows a similar vein – use custom components to also gain performance and throughput rather than be tied to traditional SSD form factors, architecture and performance.

My thinking on questioning Violin was in relation to the emergence of new types of flash, e.g. 3D and TLC NAND, both of which will have specific ways of managing performance and endurance.  As new NAND (and of course successors to NAND) technologies emerge, Violin and DSSD will need to put significant engineering effort into creating new VIMMs/modules and developing the code and ASICs to manage these chips.  Violin countered my argument by saying that much of the development work had already been done – the intellectual property already exists and simply needs minor adjustments with each new flash technology that comes along.

The Architect’s View

Electrical Engineering is not my forte and I’ve never designed custom hardware before, however I would say that the market for all-flash systems based on traditional SSDs seems to be doing just fine.  However, if a customer has a requirement for very low latency, 100% guaranteed response time I/O then perhaps custom VIMMs/modules is the way to go.  The problem here is that this part of the market (at the moment) may well be very small, as generalised workloads seem to be managing perfectly well with hybrid and all-flash systems.

The right strategy isn’t clear cut – I’d be interested in hearing feedback on what readers of this blog think on the two approaches…

Related Links

Comments are always welcome; please read our Comments Policy first.  If you have any related links of interest, please feel free to add them as a comment for consideration.  

Copyright (c) 2009-2015 – Chris M Evans, first published on http://blog.architecting.it, do not reproduce without permission.

Written by Chris Evans

With 30+ years in IT, Chris has worked on everything from mainframe to open platforms, Windows and more. During that time, he has focused on storage, developed software and even co-founded a music company in the late 1990s. These days it's all about analysis, advice and consultancy.