In recent years the industry has seen the evolution of flash media from Serial Attached SCSI (SAS) and Serial Advanced Technology Attachment (SATA) based interconnects to Peripheral Component Interconnect Express (PCIe) based interconnects. And now, PCIe interconnect is standardized around Non-Volatile Memory Express (NVMe) specifications, which are optimized for NAND flash and next generation solid-state storage technologies. Next-generation technologies that rival RAM like performance are also coming to market. The problem is, even one-shelf of today’s SAS based, triple-level cell flash devices offer more raw performance than most of today’s storage systems can extract from them.
Most of today’s systems lack the internal hardware architecture to take advantage of flash performance. Switching these systems from SAS based flash to NVMe flash delivers higher performance, but it also wastes more of the raw potential of the devices. Most of today’s’ all-flash arrays lack both the hardware and software efficiency necessary to extract closer to the raw performance available from these systems.
The Hardware Matters
To deliver more of the raw potential of an NVMe-based or even a SAS-based all-flash array, vendors need to improve the hardware they couple with their software. Some vendors have taken the natural and obvious first steps of upgrading the CPUs and RAM within the all-flash array, but these vendors also need to pay attention to the internal network. They need to make sure that the interface between the CPU and the NVMe drives is as efficient as possible. A system that has optimized the CPU but uses a traditional connection to the NVMe drives is essentially connecting two powerhouses with a straw.
Consistent Performance Matters
A key component in designing the right hardware architecture is delivering a consistent performance experience under load. When users push databases and other applications to their peaks, traditional all-flash array architectures become overwhelmed with background tasks like garbage collection, and suddenly a 500k IOPS system drops to 200k, 100k IOPS or worse. Users experience noticeable application slowdowns during these periods and of course, complain to IT. The only workaround traditional customers of storage system vendors have is buying another all-flash array which splits up the workload, and wastes drive capacity, premium-priced drive capacity at that.
It’s Only Going to Get Worse
For extreme performance situations, it is only going to get worse. Storage media may never again be the slowest performing aspect of the storage infrastructure. Technologies like Intel’s 3D XPoint already offer higher performance than traditional NVMe flash and new non-volatile RAM technologies raise performance potentials even higher. Vendors need to decide now in which end of the market they are going to participate, the “good-enough” market or the extreme performance market and then optimize their architectures accordingly.
The Right Architecture
Flash architectures, at least in the extreme performance flash array category, need to evolve from a couple of PCIe switches to a highly available, non-blocking, mesh architecture that has access to thousands of flash dies simultaneously and without having to wait for other IO traffic. Mesh architecture provides high bandwidth and plenty of capacity for background flash management that does not impact online performance, no matter what the load.
Even though data centers are becoming increasingly software-defined, IT professionals are learning that hardware still matters. The hardware architectures may be more open than in the past, but it still needs well thought out engineering to enable the software and hardware to work together to extract maximum performance from the flash devices, which leads to a better return on investment (ROI).