KV-SSD: What is it Good For?

November 30, 2021

data-systemskv-ssdperformancecharacterization

Key-Value SSDs promise to simplify storage management by offloading key-value operations from the host to the device. But a basic question remained unanswered: does offloading these operations to the storage controller actually help or hurt application performance? Without systematic performance data, adoption has been slow.

Systematic Characterization

We conducted the first comprehensive performance study of KV-SSD, systematically measuring and quantifying the impact of its distinct internal components — indexing, data packing, and key handling — on I/O concurrency, garbage collection, and space utilization. We tested across a wide variety of workloads varying key sizes, value sizes, operation mixes, and concurrency levels.

Surprising Differences from Block SSD

The results revealed that KV-SSD behavior differs fundamentally from the well-known characteristics of block SSDs. Performance scaling with concurrency, the impact of value sizes on throughput, and garbage collection behavior all follow different patterns than storage engineers would expect from block device experience. These differences mean that existing performance models and optimization strategies for block SSDs do not transfer directly to KV-SSDs.

Where KV-SSDs Excel

Understanding these characteristics enables better performance. Our analysis showed that KV-SSDs provide the most benefit for random access patterns, read-heavy workloads, and highly concurrent operations — precisely the scenarios where the host-side key-value software stack is most expensive. For sequential, write-heavy workloads, the overhead of on-device indexing can offset the benefits.

Foundation for Future Research

This characterization established baseline performance expectations that subsequent research — including our work on RHIK indexing and MoKE emulation — built upon. Understanding what KV-SSDs are good for is the prerequisite for making them better.

Published at DAC 2021 (58th ACM/IEEE Design Automation Conference, 23% acceptance rate). DOI: 10.1109/DAC18074.2021.9586111