Abstract
In this work, we optimize the highly variable latency of flash SSDs by presenting a host side storage engine, which is capable of cooperating with the SSDs, and augmented by the redundancy of multiple SSD instances. The storage engine schedules I/O and SSD internal operations to data blocks replicated among multiple SSDs exploiting the support of an SSD control API provided by off-the-shelf SATA 6.0 Gb/s MLC SSDs extended with modest firmware modifications. Side effects of latency heavy operations such as garbage collection (GC) are detained in a group of physical SSDs, while foreground operations are diverted to other SSDs. This way, flash SSDs can keep up with demands of free blocks, even under workloads without idle time, without harming foreground application latency. In our evaluations, our storage engine enhanced the latency stability of flash SSDs by 40 times, decreasing the 99.9999th percentile latency to sub milli-second levels. Also, our storage engine, when integrated into a flash SSD based in-memory system, was capable of reducing the 99th percentile of application latency by 4.5 times.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.