NVMe
Training
 

Training

Let MindShare Bring "Hands-On NVM Express (NVMe) 1.4" to Life for You

MindShare's NVMe (Non-Volatile Memory Express) 1.4 course begins with an optional review of PCI Express (PCIe) basics as a foundation for the study of NVMe. Next, a high-level view of the architecture provides the big-picture context of the hardware architecture and software interactions. Finally, we drill down into details for each aspect of the NVMe architecture. The course add details included in the 1.1, 1.2, 1.3 and 1.4 specs. 

MindShare Courses On NVMe:

Course Name
Classroom

Virtual Classroom

eLearning
Hands-On NVMe 1.4 Architecture
2 day

2 day

Show Me
NVMe-oF Architecture 
1 day

1 day
 Notify Me When Available
Hands-On PCI Express Architecture 
5 days

5 days

Show Me

All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.


Hands-On NVM Express (NVMe) 1.4 Architecture Course Info

You Will Learn:

  • Basics of the NVMe Host Controller Interface model
  • The steps for device initialization
  • How command queues are set up and managed
  • How host software
    • Informs the controller of new commands to execute
    • Learns that commands have been completed
  • What commands are defined up to 1.4 spec, and how they work
  • Error reporting structures
  • Power management options
  • Optional PCIe architecture overview on request

Course Length: 2 Days (Customizable to 1-day course)

Course Outline:

Basic Topics (Covered on Day 1)

  • Introduction
    • PCIe Overview
    • NVMe concepts and definitions
    • Comparison with SATA
    • NVMe Host-Controller Interface overview
    • HANDS-ON ARBOR LAB: discover register addresses
    • Queue Management
      • Doorbell Head and Tail registers
      • Execution sequence
      • Tracking completion status
  • Commands
    • NVMe Admin Commands
      • General Structure of commands
      • Identify command options and results
      • Creation and management of Queues
      • Asynchronous Event Notification
    • HANDS-ON ARBOR LAB: View commands in a queue
    • NVMe IO Commands
      •  Read and Write command structure
      • Optimizing write commands
      • Avoiding write amplification
      • Buffer addressing modes (PRPs vs. SGLs)
      • Priority and Arbitration of commands
      • Completing commands
      •  Handling Metadata (DIF/DIX)
      • Get Features / Set Features – full coverage of features
    • HANDS-ON ARBOR LAB: View get/set features commands, discover queue allocation
  • Architecture
    • Error reporting, Error Reporting Structures
      • Asynchronous Events
      • Completion status
      • Log pages
    • Other log pages
    • Firmware updates
    • Controller registers
    • Controller initialization
    • Power Management
    • Reservations

Additional Topics (Requires a 2-day course)

  • Summary of changes for 1.3
    • Boot partitions
    • Thermal management by host
    • Write streams
    • Deallocation
    • Virtualization support
    • Debug support – Telemetry, initiated by host or device
    • Self-test options
    • Sanitize command
    • New commands
  • Summary of changes for 1.4
    • NVM Sets
    • I/O Determinism
    • Read recovery levels
    • Persistent Memory Region (PMR)
    • Asymmetric Namespace Access (ANA)
    • Namespace write protect
    • Persistent event log
    • Rebuild assist
    • Endurance groups
    • I/O Performance and Endurance Hints
    • Traffic-based Keep Alive
    • Vendor-specific UUIDs
    • Verify - new command
    • Administrative controller
    • SQ Associations
  • Other commands
    • Write uncorrectable
    • Write zeroes
    • Compare
    • Dataset management
  • PCIe Architecture Overview
    • Introduction
    • Basic operation
    • Transaction types
    • Layers and responsibilities overvie
    • Configuration overview

Recommended Prerequisites:

Previous exposure to PCIe is needed, as is some general knowledge of PC architectures.

Supplied Materials:

  1. Downloadable PDF version of the presentation slides.
  2. Optional Add-On: MindShare Arbor software tool, used for student labs in the class.
  3. Optional Add-On: NVMe 1.2a eLearning course

 

 




PCI Express Technology 3.0