Posts

Showing posts with the label NVMe

Samsung's KV-SSD: An NVMe SSD with In-storage Key-value Store

Image
In the  previous post , we talked about NVMe and we saw how it allows us to utilize the true capabilities of the SSDs. As said before, although NVMe derives have significantly better performance, our storage systems designed with much slower drives in mind can not fully utilize them. That's why we need to revise our assumptions about the storage and adjust our systems accordingly. Samsung's new prototype named KV-SSD is an effort in that direction. KV-SSD is an NVMe SSD with key-value API that allows us to store and retrieve variables size key-value pairs directly to/from the device. This can remarkably simplify the typical software stacks that we have in existing key-value stores and let us fully utilize NVMe drives and scale linearly by adding more NVMe devices. 

What is NVMe?

Image
NVMe stands for Non-Volatile Memory Express. Before we talk about NVMe, we have to start with Solid State Drives (SSDs). SSD is the name for any type of persistent storage that is completely electronic and does not have any moving part, hence the name "solid-state", unlike for example electromagnetic spinning disks which we know as Hard Disk Drives (HDDs).