NVMe OVERVIEW
What is NVMe
How NVMe works
Queues
Arbitration
Namespaces
Doorbell
Power States
Resets
NVMe REGISTERS
NVMe Registers
Creating Admin Queues
COMMAND/STATUS FORMATS
Common Command Fields
Meta Data
Scatter-Gather Lists
Physical Region Page
Status
ADMIN COMMANDS
Admin Command Format
I/O Queue Management
NVMe Identity Command
Get/Set Features
NVMe Specific Commands
Other Admin Commands
Memory Buffers
– Controller memory buffer
– Host memory buffer
– Persistent memory buffer
NVMe COMMANDS
NVMe Command Format
Write Commands
Read Commands
Dataset Management
Reservations
NVMe 1.3 (New features)
New Admin Commands
– Directive Send and Receive (Streams)
– Device Self-Test
– NVMe-MI Send and Receive
– Doorbell Buffer Configuration
– Virtualization Management
– Sanitize
New Features
– Time Stamp
– Telemetry
– Non-Operational Power State Configurations
– Host/Controller Thermal Management
New Registers
– Boot Partition
|
OPTIONAL MODULES
The following modules expand the knowledge of NVMe in various directions depending on the needs of the audience. Times are listed for the duration of
each module. These modules may be added to the basic NVMe training, or presented standalone.
PCIe BASICS for NMVe – 2 hours
NVMe does not cover the transport, data transfer, or interrupts. Those services are provided by PCIe for the original NVMe or Fabrics for NVMe over Fabrics. This optional module provides necessary training to understand those three subjects.
PCI/PCIe Concepts
– Configuration Headers
– Addressing
Topology Discovery and Enumeration
PCI Transactions
– TLP
Interrupts and Masks
– MSI
– MSI-X
– INTx
NVMe – MI – 1 hour
Originally management of the NVMe devices (controllers) was provided by in-band Admin commands. To provide out-of-band management, an NVMe-MI specification was developed. The first version provided basic read-only capabilities (referred to Basic Management below), the next version added control capability with two different out-of-band transports, and finally the out-of-band capabilities were provided for in-band management through two new Admin commands.
Overview
NVMe-MI Detail
SMB Operations
NVMe Basic Management
NVMe MI Send/Receive Admin commands
SR-IOV – 1.5 hours
What is SR-IOV?
Generic Platforms
Physical Functions vs. Virtual Functions
Virtual Function routing IDs
Address Translation Services
Translating SCSI commands – 1.5 hours
Mapping SCSI commands to NVMe
Mapping common SCSI command fields to NVMe
Example commands:
– Read
– Write
– Inquiry including return data
– – Vital Product Data page 83, B1, and B2
– – SCSI Request Sense command including return data
Translating SCSI Sense data to NVMe Status codes
Translating SCSI Task Management Functions
NVMe over Fabrics (NVMeoF) – 4 hours
Fabrics Introduction
NVMe over Fabrics
RDMA
InfiniBand for NVMeoF – 1 hour
What is InfiniBand?
How it works
Components
Packet Format
– Local Route Header
– Global Route Header
– Base Transport Header
– ACK Extended Header
Addresses/Addressing
Virtual Lanes
Speeds and Encoding
Ethernet for NVMeoF – 1.5 hours
Ethernet basics for NVMeoF
Ethernet Addressing
RDMA over Converged Ethernet (RoCE)
iWARP
Fibre Channel for NVMeoF – 1 hour
Fibre Channel Overview
Fibre Channel Services
– Framing
– Addressing
– Link Services
– Link Control
NVMe Binding to Fibre Channel
– Information Units
– NVMe Link Services
NVMe 1.4 Additions – 2 hours
I/O Determinism
NVMe Sets
Write Protected Namespace
Persistant Memory Region
Rebuild Assist
Updates and Clarifications to NVMe 1.3 and MI
Traces – 2 hours
|