Starting with the announcement the prior week by STEC of its new Kronos PCIe Solid State Drive and EnhanceIO caching software and on the same day the announcement Fusion-IO’s acquisition of caching software provider IOTurbine, the Flash Memory Summit last week was already buzzing with cache software discussion on its opening day.
Other cache software suppliers FlashSoft and Velobit are getting a lot of attention, not to mention cache solutions from Adaptec, LSI and Marvel that involve RAID adapters. What is with all of this attention on cache software and what does it have to do with flash memory?
The use of caching algorithms on a server, particularly with virtualized workloads, provides substantial acceleration because a relatively large amount of cached data can be held on the current crop of SSDs. PCIe SSDs provide access latency in the 20 to 30 microsecond range, as compared to hundreds of milliseconds to access the fastest shared storage arrays. By keeping the hot data in persistent memory on the server, virtual workloads run much faster and shared storage systems operate better because much of the load is served by the information cached on the server.
Most cache implementations are targeted at speeding the random read function. Random reads are slow from rotating media because the read heads must be moved. If a copy of the data on the rotating media exists on the SSD, it is accessed without going to the slower media. Data going through the cache software is identified as ‘hot’ if it is accessed frequently, so these systems take a certain amount of learning time to reach optimization.
An additional function can be used to cache write functions, but this can get tricky in shared storage systems, but work just fine in most direct attached storage applications. STEC and FlashSoft both support write caching as an option.
Server-centric application of caching software and SSDs will become an increasingly utilized strategy, particularly as the cost of the SSDs comes down and cache software vendors increase the integration with hypervisors.




