vix.ing · top · new · best · stats · spec

Optimize Unsynchronized Garbage Collection in an SSD Array

2015/06/24 by Da Zheng, Randal Burns, Zheng, Da +3
Computer Science · #Advanced Data Storage Technologies #Caching and Content Delivery #FOS: Computer and information sciences #Operating Systems (cs.OS) #Parallel Computing and Optimization Techniques #cs.OS

paper · pdf · doi:10.48550/arxiv.1506.07566

arxiv created 2015/06/24 · openalex publication_date 2015/06/24 · arxiv updated 2015/06/26 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

Solid state disks (SSDs) have advanced to outperform traditional hard drives significantly in both random reads and writes. However, heavy random writes trigger fre- quent garbage collection and decrease the performance of SSDs. In an SSD array, garbage collection of individ- ual SSDs is not synchronized, leading to underutilization of some of the SSDs. We propose a software solution to tackle the unsyn- chronized garbage collection in an SSD array installed in a host bus adaptor (HBA), where individual SSDs are exposed to an operating system. We maintain a long I/O queue for each SSD and flush dirty pages intelligently to fill the long I/O queues so that we hide the performance imbalance among SSDs even when there are few parallel application writes. We further define a policy of select- ing dirty pages to flush and a policy of taking out stale flush requests to reduce the amount of data written to SSDs. We evaluate our solution in a real system. Experi- ments show that our solution fully utilizes all SSDs in an array under random write-heavy workloads. It improves I/O throughput by up to 62% under random workloads of mixed reads and writes when SSDs are under active garbage collection. It causes little extra data writeback and increases the cache hit rate.

Related