FLASH IMPLICATIONS IN ENTERPRISE STORAGE ARRAY DESIGNS

Enterprise storage arrays are highly sophisticated systems that have evolved over decades to provide levels of performance, reliability, and functionality unavailable in the underlying hard disk drives upon which they’re based. A significant aspect of the engineering work to make this possible is designing the array hardware and software stack to extract the most capability out of hard drives, which are physical machines with mechanically moving parts and vastly different performance profiles for sequentially (good performance) versus randomly (poor performance) accessed data. A good enterprise storage array attempts to sequentialize the workload seen by the hard drives, regardless of the native data pattern at the host level. In recent years, Solid State Drives (SSDs) based on flash media and not bound by mechanical limitations have come to market. A single SSD is capable of random I/O that would require hundreds of hard drives to match. However, obtaining this performance from an SSD, much less in an enterprise storage array filled with them, is challenging. Existing storage arrays designed to sequentialize workloads are simply optimized along a dimension that is no longer relevant. Furthermore, since an array based on flash media is capable of approximately two orders of magnitude greater performance than an array with a comparable number of hard drives, array controller designs must be entirely rethought, or they simply become the bottleneck. The challenge isn’t just limited to performance. Modern storage arrays offer a wide variety of features such as deduplication, snapshots, clones, thin provisioning, and replication. These features are built on top of the underlying disk management engine, and are based on the same rules and limitations favoring sequential I/O. Simply substituting flash for hard drives won’t break these features, but neither does it enhance them. XtremIO has developed a new class of enterprise data storage system based entirely on flash media. XtremIO’s approach was not simply to substitute flash in an existing storage controller design or software stack, but rather to engineer an entirely new array from the ground-up to unlock flash’s full performance potential and deliver array-based capabilities that are counterintuitive when thought about in the context of current storage system features and limitations. This approach requires a 100% commitment to flash (or more accurately a storage media that can be accessed randomly without performance penalty) and XtremIO’s products use flash SSDs exclusively. This white paper examines some common practices in enterprise storage array design and their resulting trade-offs and limitations. The goal of the paper is to help the reader understand the opportunities XtremIO found to improve enterprise storage systems by thinking with random, rather than sequential I/O in mind, and to illustrate why similar advancements simply cannot be achieved using a hard drive or hybrid SSD/hard drive array design.