In recent years, most of the advances in flash performance are the result of better engineering more so than faster flash NAND. For example, NVMe makes the interface between the CPU and flash storage more efficient. NVMe over Fabrics makes the interface between the storage system and the connecting applications improves efficiency. However, the component that can have the most impact on improving performance is the flash controller itself, which has not been given much attention recently. The flash controller manages how data is written and read from the flash NAND itself and improving and adding to its capabilities can have a dramatic impact on performance.
What Does a Controller Do?
Flash NAND, while fast, has a lot of overhead because of the program/erase cycle. All writes require a multi-step process of reading old data from a cell, erasing the cell and then writing the new data to that cell. When the write pattern is random in nature, the problem gets worse. The job of the controller is to do what it can to minimize the impact of program/erase by running garbage collection routines to put the flash media in a more ready state to receive the next round of writes.
Where the Controller Falls Short
The controller, by-and-large, is limited to operating on the flash media itself. It conditions it so that when writes are inbound, less background operations needs to occur. Moving flash to the next level of performance requires adding some additional intelligence to the process to adjust how the controller reacts to differing types of write patterns.
Introducing Smart IOPS
Smart IOPS is delivering a PCIe NVMe SSD capable of 1.7 million random read IOPS, essentially maxing out the performance of the current generation PCIe bus. The PCIe SSD is also sustaining an incredible 600k random write IOPS. Smart IOPS is achieving these results by not only delivering a NVMe-based PCIe SSD, but by considerably advancing controller technology to minimize the overhead associated with traditional flash NAND housekeeping, garbage collection and program/erase cycles.
To the advanced controller techniques, Smart IOPS is adding an additional layer of intelligence, it’s TruRandom Technology, that uses data pattern recognition heuristics for data access such that random and sequential I/O request become indistinguishable.
The result of the advanced controller techniques and the TruRandom Engine is a step level increase in performance compared to it’s competitors. For example, most traditional NVMe PCIe cards top out at 850k random read IOPS. Random write IOPS sees a similar delta, 600k random write IOPS with the Smart IOPs card and 150K with the typical competitor. In mixed (70% read / 30% write) operations that Smart IOPS card delivers 1.2M IOPS, where the nearest competitor tends to be in the 300k range. Latency is also impressive at less than 150 microseconds.
The numbers give Smart IOPS a 2X performance advantage on random read workloads and a 4X advantage on random write and mixed workloads. It is important to remember these results are with traditional commodity NAND not NVRAM.
The Use Case for 1.7 Million IOPS
Who needs 1.7 Million IOPS of read IOPS or more likely who needs 1.2 million mixed workload IOPS? The technology is ideal for high frequency trading environments where the speed of data ingestion and analysis is critical. The performance of a card like Smart IOPS enables the examination of a broader data set in a shorter period of time.
Beyond HFT, most high performance computing (HPC) environments will benefit from this sort of performance. Allowing them to analyze more data in less time as well as to run more simulations in the same amount of time. The Smart IOPS card is also useful for highly scaled SQL or NoSQL environments.
Smart IOPS will deliver three PCIe card editions leveraging their TruRandom Engine. The first is the high performance edition, which delivers a balance of performance, latency and capacity. It is ideal for specific use case where acceleration of a smaller segment of data is needed. The second edition, is the low latency edition. This card is tuned to offer very low latency. Smart IOPS expects latencies below 100 microseconds. The third edition is the high capacity edition, which will have 25.6TB of capacity on the card, but offer similar performance to the high performance edition.
Many think the next step in performance is Intel’s 3D-Xpoint or NVRAM technologies like MRAM. The problem is these technologies are still expensive and low capacity. That means they have to be very carefully managed and applications need to be altered to take advantage of them.
One of the values of flash is it is plentiful. Instead of sharding up an application, the whole environment can be cost effectively moved to it. To get more performance out of it, though, will require innovation. Smart IOPS’ TruRandom technology is an excellent example of that required innovation.
Today, the performance of the Smart IOPS technology will appeal to a very specific set of use cases. Organizations where processing more data in less time enables them to make better decisions will see an immediate benefit.
The use case today may seem niche, but remember, today’s high performance extreme is tomorrow’s traditional data center reality. Over time the TruRandom technology could work its way into storage systems and hyperconverged architectures of all types.