EMC’s XtremIO: Why all-flash storage arrays are great
Recently I’ve been given the opportunity to work with an EMC XtremIO storage array, and the more I learn about XtremIO the more there is to like. XtremIO as a brand is fairly new, having been acquired by EMC in 2012 and brought to the market in 2013. The key differentiator between the XtremIO and other EMC arrays (and much of the competition as well) is that XtremIO’s storage is 100% flash memory. This flash focus gives the architecture interesting capabilities as it is possible to build in such a way that leverages the benefits of flash and addresses flash’s unique aspects.
Flash memory is becoming a must-have now, regardless of whether the application is in the consumer or enterprise space. Because flash is solid-state, utilizing no sets of spinning disks like traditional hard drives, it’s very fast at both sequential and random I/O, and can handle very large workloads while maintaining low latency. Being that flash is not mechanical, drives of this nature are extremely durable and do not suffer from mechanical failure as hard drives will.
However, flash memory is more expensive byte-for-byte than a disk drive, and suffers from rather well-defined (but limited) lifespans, as durability has always been a concern. Increasingly, there are techniques to mitigate both of these downsides, and because the XtremIO is an all-flash array, it has been designed with flash in mind so that the benefits shine through and the downsides of flash are all but eliminated.
XtremIO’s operating system is in the rare position of being able to focus entirely on flash storage, such that it is able to include several architecture decisions that might not be suited for heterogeneous or disk drive focused systems.
Storage systems can use metadata to keep track of system activity and data, but most systems keep some of this metadata in RAM, while other metadata gets kept on-disk. XtremIO ,on the other hand, keeps all of its metadata in system memory, all the time. This is said to result in consistent and predictable performance, but aside from that, it allows for other important behaviors.
With this metadata, the XtremIO is able to have data compression and de-duplication done with ease, and this is of critical importance to an all-flash array. With de-duplication, no set of data needs be written to the array more than once, and combined with compression and the fact that the metadata never touches the flash storage, the previously mentioned downsides of flash are not exposed. Durability becomes much less of an issue due to a minimum amount of data actually being written to the flash memory, and similarly limited capacity is less of a problem with only unique blocks of data being put onto flash.
Point-in-time snapshots are present on XtremIO as well, and again these are made possible by leveraging the in-memory metadata such that the definition of this snapshot is held in system memory rather than in storage. Due to the architecture you can expect these to be fast and with low overhead ,but also with interesting attributes such as the ability to delete a volume and not have it affect child snapshots.
Since XtremIO is a new architecture leveraging new technology, EMC has designed a system that is not only all-flash, but also all thin-provisioned. There’s no need to have “thick” volumes here; rather every volume and snapshot will exist within the provisioning pool and across multiple flash drives. It’s a good choice which allows the XtremIO to save every byte possible, since flash memory tends to be expensive and in limited capacity. Admins will have to monitor storage utilization carefully with thin provisioning, but EMC claims that XtremIO can maintain its performance until the system is completely full, so it will be easy to make the most of these arrays.
All-flash arrays represent a new but increasingly important market segment and XtremIO has an architecture and attributes that makes a lot of sense to me. It is still evolving, and quite quickly with the introduction of version 3.0 in 2014, and 4.0 in 2015, both bringing new features and performance enhancements. I am excited to see where it will be in another few years’ time, not just in the scope of the competition from other all-flash arrays but also within EMC’s own product line. The Symmetrix stills holds a commanding presence with the newly released VMAX3, and is capable of using flash storage in a tiered fashion, so it will be interesting whether we see XtremIO take the lead in some environments or if the two will be used side-by-side.