Flash-based solid-state storage devices are becoming a more common solution to application performance issues, but implementation questions remain to be answered. One of the most pressing is data placement. The high cost of flash storage means the vast majority of implementations will contain a small amount of flash. The trick is to “place” the most active data onto the solid-state storage and keep it there for as long as possible, or until it’s no longer active.
The old standby, storage tiering, is certainly one way to do this, and most major storage systems allow users to create a “Tier 0” for SSDs. But this method may not be able to keep up with how quickly data access requirements change, resulting in underutilized SSD investments and disappointed users. SSD caching may provide the answer.
A flash storage caching solution monitors data traffic between the CPU and storage devices and determines which subsets of data are the most active. It then copies those data blocks or files to the high-speed cache area, giving applications data access at silicon speeds. Read caching is the most common and provides the majority of performance improvements since most applications generate a much higher percentage of read than write transactions. Write caching is more complicated and requires separate steps to ensure that data is protected throughout the write process.
Flash SSD caching is typically implemented as a piece of software that runs on the host, on a PCIe card or on the RAID controller card. There are also caching solutions built into networked storage devices and even into applications. Server-based solutions typically allow any internal or server-attached SSD capacity to be used as the cache pool, making this an easier product to implement than caching solutions that only use dedicated storage capacity.
This technology has a number of advantages over tiering solutions for solving the data placement issue. Caching typically monitors data access continuously, making it a good fit for dynamic data sets that may need SSD performance for only a short period of time. Also, caching solutions are easy to implement since they’re usually application-agnostic. Most move data at the block level and don’t require APIs or integration with existing software.
At the Flash Memory Summit in Santa Clara, Calif., last week, it was all about SSD cache. Storage Switzerland was briefed by five companies that had read and write caching products. For VARs, caching can be the piece that’s been missing from their SSD solution sets. As many early users have found out, just putting SSDs into a server or storage array doesn’t magically improve performance—at least not to the extent most have expected. They need to solve the data placement question. This is one their VAR can answer, with an appropriate SSD caching solution.
Follow me on Twitter: EricSSwiss