Using flash based solid state disk drives (SSDs) installed in a server as cache is probably the most popular way for IT professionals to address performance problems. Most caching solutions are read-only caches, however, meaning that the other half of the I/O stream is not accelerated in any way. The primary reason for this is that write caching has data loss risks associated with it and building a safe write cache brings complexity and expense that makes caching as a performance solution less attractive.
Today, most cache architectures have all write I/O sent to the flash storage area first. Most read caches however, in parallel, write that data to the hard disk area and don’t acknowledge the write until the data has been successfully written to the hard disk. This form of read caching is actually called a write-through cache.
A write-back cache on the other hand, acknowledges the write when it is written to the flash area and will later sync that data to the hard disk. This form of caching provides a write performance improvement over read style caching. The challenge with a write-back cache is that if the flash drive fails prior to syncing to the hard drive, data will be lost and applications will likely get corrupted.
Cache Safety
Application owners want to improve both read and write storage performance but not at the risk of data loss. As a result caching software suppliers have come up with a variety of ways to try to provide cache resiliency while providing write performance. To achieve that safety requires protecting against both an internal caching failure and a server failure.
To accomplish this, write-back cache data has to get outside of the server. As we discuss in our on demand webinar with Intel, one way to accomplish this is through a remote cache to a networked All-Flash Array or to a less expensive shared flash appliance. A remote cache allows for new data to be written simultaneously to the internal server cache and the shared flash. The result is newly written data is safe, write I/O is still fast and read I/O is very fast since it is being read from within the server.
To learn more about how server side flash and networked flash can work together be sure to watch our webinar “How Server-Side Caching Can Compliment Shared SSD Arrays“.