Blog
Will Server-side Flash Caching Spell the End of Storage Arrays?
Posted: 08/29/2011
Host, or compute, server-side caching with NAND flash is undoubtedly going to change storage as we know it. As with everything in technology, we will see an evolution in the storage space. Over the years, storage arrays have become increasingly sophisticated and contributed to some of the biggest technical advances in systems software development. As the new server-side I/O architecture unfolds, array vendors will have to innovate and adapt to the changing needs of the market.
Storage arrays have traditionally given us capacity, reliability, and performance, and spawned industries that centralize data management and enhance security with architectures and supporting technologies. Capacity and reliability are absolutely essential for enterprise and mission-critical applications and form the core of data management. With the ability to use flash in the memory-to-storage hierarchy, we have an exciting opportunity to target application performance in ways that have never been done before. Flash creates a “once in a few decades” opportunity to separate performance from capacity and reliability and move it from the storage tier up to the compute server.
Given the maturity and sophistication of arrays when it comes to data management, it is imprudent to trivialize what is involved in managing data. Enterprise applications use many tools for data management, such as backup, archival, and snapshots. These functions are an integral part of a customer’s solutions. In summary, this means that storage arrays will be here for a while, but will not be useful for I/O performance.
Target Performance at the Host
A great way to target server-side I/O performance is by using caching. While flash’s non-volatile nature makes it an attractive option to enhance reliability for the near and foreseeable future, it makes more sense to improve application performance by moving IOPS closer to the application (on the compute servers instead of across the network to storage arrays), while leaving capacity and non-performance storage management to systems with time-tested and optimal technologies to handle it. As enterprise flash is commoditized, it is entirely possible that price decreases will lead to increasing amounts (maybe one half to one terabyte or more) of flash installed in nearly all compute servers. Caching large amounts of an application’s data, well beyond its hypothetical working set, is the first step in data decentralization. This data will be in the host memory hierarchy microseconds away from the applications that consume it. Data decentralization opens up many opportunities—especially in virtualized environments—and we'll cover them in future blogs. As more data moves into compute servers, I believe we’ll see more and more performance delivered in compute servers (along with tools to manage performance), while capacity is delivered storage-side.
Change is in the Air
Storage arrays are not suddenly disappearing from the planet. Array vendors will have to continue to create value in new and interesting ways. However, it would be safe to say that server-side caching has taken a big load off their backs, and they no longer need to worry about delivering IOPS with thousands of hard drives dissipating large numbers of watts.