Samsung’s open source key:value SSD is a game-changer for unstructured apps

Samsung has developed an open standard prototype key:value SSD and is working with Datrium, Minio, DDN’s Nexenta and others to productise it.

A key:value (KV) SSD implements an object-like storage scheme on the drive instead of reading and writing data blocks as requested by a host server or storage array controller. In effect the drive has an OTL, an Object Translation Layer, which converts between object KV pairs and the native blocks of the SDD. 

A Samsung document states: “the Samsung Key Value SSD needs only standard SSD hardware, which is augmented by special Flash Translation Layer (FTL) software that provides its processing capabilities.“

Seagate pioneered the drive level KV store idea in 2015 with its Kinetic disk drives. These had an on-drive KV store and were directly addressed by hosts as Ethernet devices. They failed to grab customers and Seagate does not appear to sell them anymore.

The SNIA has published an open standard for a Key Value Application Programming Interface (KV API) which means that KV devices will be interchangeable between suppliers – unlike the Seagate Kinetic drive.

SNIA executive director Michael Oros said in a prepared statement: “The SNIA KV API specification… paves the way for widespread industry adoption of a standardised KV API protocol.”

Samsung is making large but unquantified claims for the proto drive. It will offer substantially greater scalability, unmatched durability and CPU-relieving functionality compared to existing SSDs. However, we don’t know the proto drive’s actual capacity, flash tech, performance, interface or its endurance.

It says there are many unstructured data applications, such as Ceph, Mongo DB and Reddis. When they use software-based KV stores on SSDs, they then handle flash garbage collection (deleting old data, etc.) in the host, affecting system performance. Samsung’s KV SSD does garbage collection itself, on the drive, like a traditional SSD’s flash translation layer, so the host servers should now go faster.

The Samsung document shows RocksDB running both on a standard system and a Samsung KV SSD system, which was considerably faster in terms of queries per second (QPS) and the amount of device IO and user IO:

RocksDB performance on Samsung KV SSD

Datrium’s chief scientist Hugh Patterson is enthused: “SNIA’s KV API is enabling a new generation of architectures for shared storage that is high-performance and scalable. Cloud object stores have shown the power of KV for scaling shared storage, but they fall short for data-intensive applications demanding low latency.

“The KV API has the potential to get the server out of the way in becoming the standard-bearer for data-intensive applications, and Samsung’s KV SSD is a groundbreaking step towards this future.”

Productisation is probably a 2020 story – and possibly the second half. We’ll watch for further details as they come out.