SPDK 16.12 Release

By Jim Harris and Jonathan Stern

Today we have released SPDK 16.12. This release contains the following major additions since our last release:

Continue...

Announcing the SPDK NVMf Target

By Jonathan Stern

Much has already been said about NVMe over Fabrics. It was first publically demonstrated in 2014 and the 1.0 specification is finally complete. In essence, NVMe over Fabrics (NVMf) is the NVM Express* (NVMe) block protocol tunneled through an RDMA fabric, and it has enormous potential to enable the next generation of datacenter storage development. To support broad adoption of NVMf, the Storage Performance Development Kit (SPDK) has created a reference user-space NVMf target implementation for Linux, released for community involvement via GitHub under BSD license. In parallel, community-based Linux* kernel efforts have created both a host and a target under GPL license. All three of these implementations are now released with the final 1.0 specification as of June 8, 2016.

Continue...

Why SPDK?

By Jonathan Stern

Solid-state storage media is in the process of taking over the data center. Current-generation flash storage enjoys significant advantages in performance, power consumption, and rack density over rotational media. These advantages will continue to grow as next-generation media enter the marketplace.

Continue...

NVMe API Changes

By Ben Walker

Over the last month, the API of the NVMe driver in SPDK has changed significantly. First, on behalf of the SPDK team, I’m sorry for breaking any existing code! SPDK is still in its infancy, so dramatic API changes will be a fact of life for the next few months. By the end of the year, we’d like to have a plan in place to manage future API changes in a more formal way. Second, I’d like to take a few moments to explain what changes were made and why we made them. I’ll stick to a mostly high level overview of the API changes for now, but we hope to produce some additional blog posts that detail each one in the future.

Continue...

Introduction to the Storage Performance Development Kit

By Ben Walker

The Storage Performance Development Kit (SPDK) provides a set of tools and libraries for writing high performance, scalable storage applications. It achieves high performance by moving all of the necessary drivers into userspace and operating in a polled mode instead of relying on interrupts. It is primarily designed to be leveraged by OEMs and cloud service providers to optimize their storage solutions. Generally, guidelines from the related networking project DPDK should be followed. Specifically, their guide for writing efficient code almost all applies to SPDK.

Continue...