STO-110 · Storage & Filesystems · Advanced
NVMe & NVMe-oF — full syllabus
NVMe as a protocol and as a driver, including fabrics for disaggregated storage.
Who this course is for
Storage and platform engineers running NVMe flash in production — especially those moving to disaggregated storage over NVMe-oF who need to debug the device, not just the dashboard.
Prerequisites
- STO-101-level block layer knowledge
- Linux administration including device and module management
- Basic datacentre networking; RDMA concepts helpful for day 3
Course outline
Day 1 — The protocol and the Linux driver
- Why AHCI could not scale: the NVMe design goals
- Submission and completion queue pairs, doorbells and the command lifecycle
- The Linux nvme driver: queue mapping onto blk-mq, per-core I/O queues
- Admin vs I/O commands; identify data and log pages
- nvme-cli and /dev/nvmeXnY: talking to the device directly
Day 2 — Namespaces, multipath and latency
- Namespaces as independent LUNs; formats and LBA sizes
- Native NVMe multipath and ANA (asymmetric namespace access) states
- Interrupt coalescing vs polling: where the microseconds go
- Latency tuning: queue depth, IRQ affinity and driver knobs
- Reading device latency and error logs before blaming the kernel
Day 3 — NVMe over Fabrics
- The fabrics model: capsules and queue pairs over a network
- NVMe/TCP vs NVMe/RDMA: what each costs and what each buys
- Setting up target and initiator (nvmet, nvme connect)
- Discovery controllers and persistent connections
- Diagnosing fabric latency: separating network time from device time
- Error handling, keep-alives and controller reset behaviour
Hands-on labs
- Lab: interrogate a device with nvme-cli — identify controller, namespaces and log pages — and map its queues to CPUs through sysfs
- Lab: benchmark the same device with interrupts vs polled I/O and quantify the tail-latency difference
- Lab: configure native multipath across two paths and observe ANA state transitions during a path failure
- Lab: stand up an NVMe/TCP target, connect an initiator, and benchmark it against local access — then explain the delta
- Lab: inject a device-level error (reset, timeout) and follow it through dmesg, the error log page and recovery
Capstone project
Build and defend a small disaggregated setup: an NVMe-oF target exported to an initiator host, multipathed where the testbed allows, with a benchmark report that separates network latency from device latency and a written diagnosis procedure for the three failures you induced and observed yourself.
What you leave with
- A protocol-level model of NVMe applicable to any vendor's drive
- nvme-cli, sysfs and log-page fluency for device-level diagnosis
- Measured multipath and ANA failover experience
- A working NVMe/TCP deployment with your own tuning notes
Upcoming dates
| Dates | Where | Seats | Early bird | Regular | |
|---|---|---|---|---|---|
| 25 Oct – 27 Oct 20263 full days | RiyadhIn person · KAFD Conference Centre | 8 of 14 | — | SAR 9,000 | |
| 1 Nov – 3 Nov 20263 full days | Kuwait CityIn person · Al Hamra Tower | 3 of 14 | — | KWD 740 | |
| 8 Nov – 10 Nov 20263 full days | MuscatIn person · Knowledge Oasis Muscat | 8 of 14 | OMR 830until 9 Oct | ||
| 8 Nov – 15 Nov 20266 half-days | Gulf bandLive online · 09:00–13:00 GMT+3 | 4 of 20 | US$1,580until 9 Oct | ||
| 9 Nov – 11 Nov 20263 full days | OttawaIn person · Kanata North Tech Park | 3 of 14 | CAD 2,930until 10 Oct | ||
| 16 Nov – 18 Nov 20263 full days | TorontoIn person · MaRS Discovery District | 8 of 14 | CAD 2,930until 17 Oct | ||
| 16 Nov – 23 Nov 20266 half-days | Europe bandLive online · 09:00–13:00 CET | 9 of 20 | US$1,580until 17 Oct | ||
| 23 Nov – 25 Nov 20263 full days | LondonIn person · Shoreditch Works | 3 of 14 | GBP 1,680until 24 Oct | ||
| 23 Nov – 25 Nov 20263 full days | BerlinIn person · Factory Görlitzer Park | 8 of 14 | EUR 1,990until 24 Oct | ||
| 23 Nov – 30 Nov 20266 half-days | Americas bandLive online · 13:00–17:00 ET | 14 of 20 | US$1,580until 24 Oct |
Book a seat, or bring this course to your team
Seats can be reserved online; private delivery runs on-site or live online, adapted to your stack.
Questions about fit or prerequisites? Email hello@kernelsystems.academy. To save this syllabus, print this page to PDF from your browser.