SPDK NVMe: An In-depth Look at its Architecture and Design

Library Content Type:
Publish Date: 
Monday, September 24, 2018
Event Name: 
Focus Areas:

The Storage Performance Development Kit (SPDK) open source project is gaining momentum in the storage industry for its drivers and libraries for building userspace, polled mode storage applications and appliances. The SPDK NVMe driver was SPDK’s first released building block and is its most well-known. The driver’s design and architecture is heavily influenced by SPDK’s userspace polled-mode framework which has resulted in some significant differences compared to traditional kernel NVMe drivers. This presentation will present an overview of the SPDK NVMe driver’s architecture and design, a historical perspective on key design decisions and a discussion on the driver’s advantages and limitations. Learning Objectives: 1. Gain a deeper understanding of the architecture and design of the SPDK NVMe driver 2. Identify the key design differences between a userspace polled-mode driver and a traditional kernel-mode driver 3. Describe the key advantages and limitations of SPDK and its polled mode NVMe driver