Is L2 cache a best practice for all-flash arrays?
- Explanation
- July 17, 2015
- Download as PDF
Description
This article explains whether StarWind Flash (L2) cache is an appropriate and effective design choice for all-flash storage arrays. While flash cache was historically introduced to compensate for the latency and performance limitations of HDD-based storage, its role changes significantly when the primary storage already consists of SSDs or NVMe devices. The goal is to help administrators make informed architectural decisions instead of assuming that adding cache will always improve performance, because the cache can provide benefits in all-flash environments only when there is a clear performance gap between storage tiers and the workload can effectively benefit from caching.
Explanation
Historically, traditional StarWind L2 cache or Flash cache was used to improve read performance and minimize the latency of spindle-based disk arrays by processing frequently accessed blocks using SSDs. One of the frequently asked questions is whether traditional L2 cache can be used to speed up already fast SSD drives.
The answer is: yes, it can be used for that purpose!
Moreover, with StarWind CVM, the faster SSD or NVMe disks can be used to improve read and write performance for the slower ones, optimizing the performance for the workload.
How can we speed up SATA SSD-based RAID5? For example, we can use a pair of extremely fast NVMe SSDs for the cache. And of course, we can speed up spinning drive-based storage in the same fashion – just bring faster SSD drives for the cache and voila, a major part of random IO is offloaded to the flash, thus improving overall performance of the storage.
Please note that there are configurations where cache might not improve the performance in certain configurations, e.g., if the cache is too small or the workload specifics eliminate any cache effectiveness. Therefore, flash cache should be significantly faster than the main storage array. It should also be sized properly to match the average amount of unique data accessed on a regular basis. This way, it will justify itself by offloading a major amount of IO from the main storage array and assure good and consistent performance of your Virtual SAN. Please note that it is a best practice to benchmark all L2 cache implementations prior to putting the system into production.
Conclusion
Flash cache remains a powerful performance optimization tool when configured properly. Even in all-flash arrays, it can reduce latency and increase responsiveness for random I/O-heavy workloads. However, administrators must ensure that the cache is correctly sized, benchmarked, and based on faster media than the main array. When applied thoughtfully, the cache helps balance storage performance, stability, and cost-efficiency for both hybrid and all-flash deployments.