Abstract
The QEMU NVMe device allows developers to test host software against an emulated and easily inspectable PCIe device implementing NVMe. Unfortunately development and addition of new features has mostly stagnated since its original inclusion in the QEMU project. This talk will explore how development of the device is being revivied by the addition of NVMe v1.3 and v1.4 mandatory support, as well as various optional features such as multiple namespaces, DULBE, end-to-end data protection and upcoming NVMe technical proposals. We will discuss how the tracing and debugging features of the device can be used to validate host software and testing frameworks and how the extensibility of the device allows rapid prototyping of new NVMe features. Specifically we will explore a full implementation of Zoned Namespaces and how this support is used to develop and verify host software.
Learning Objectives
Understand the QEMU NVMe device emulation architecture,Understand how QEMU NVMe emulation can assist in host software development and verification,Learn about the QEMU NVMe Zoned Namespaces implementation