HA-CSD: Host and SSD Coordinated Compression for Capacity and Performance
Xiang Chen,Tao Lu,Jiapin Wang,Yu Zhong,Guangchun Xie,Xueming Cao,Yuanpeng Ma,Bing Si,Feng Ding,Ying Yang,Yunxin Huang,Yafei Yang,You Zhou,Fei Wu
DOI: https://doi.org/10.1109/ipdps57955.2024.00078
2024-01-01
Abstract:Integrating data compression capability into SSDs has demonstrated great potential to improve the utilization and lifetime of the storage device and also the performance of the entire system. It is advocated to add a hardware engine into the SSD for low-latency compression and decompression. However, this requires a new and long hardware product development cycle, which would prevent current storage systems from reaping the benefits of in-SSD compression. In this paper, we explore a software-based in-SSD compression solution, which can be delivered to users quickly through a simple SSD firmware update. The most critical challenge is the severe performance bottleneck caused by compression and decompression, as the in-SSD embedded CPU has quite limited computing power. To tackle this challenge, we propose a host-assisted computational storage device, called HA-CSD. It employs an offline, data hotness- and compressibility-aware compression strategy to remove compression from the critical write I/O path. A novel decompression architecture is devised to utilize the powerful host CPU for fast decompression. We implement HA-CSD in a commercial enterprise SSD with a code change of more than 25K lines in the host NVMe driver and SSD firmware. Experimental results show that HA-CSD achieves 2.1GB/s and 5.2GB/s read and write bandwidth. Compared with RocksDB built-in compression, HA-CSD can increase the YCSB benchmark throughput by up to 5.7x, and improve the host CPU efficiency significantly.