This course teaches how to program emerging storage interfaces, focusing on NVMe, Key-Value (KV), and Zoned (ZNS) namespaces. Students will learn about modern I/O submission APIs, memory constraints, and the xNVMe user-space library. The teaching method includes presenting design and architecture, providing integration examples, and evaluating performance overhead. The intended audience for this course includes developers and engineers interested in storage technologies and I/O optimization.
Overview
Syllabus
Intro
Command Response Protocol
NVME
New Devices
IOU Ring
IOU Ring Limitations
AI Axles
NVME Axles
Linux
PDK
Unified API
Geometry
API
Buff
Buffer
Command Interface
Command Encapsulation
Command Completion
Request Object
Example
Cost
Latency
Nanosecond
Easy API
Command Sets
Taught by
USENIX