Professional Documents
Culture Documents
• NVMe-MI Architecture
– NVM Subsystem, Port, Management Endpoint, Command Slot
• Overview of Features/Functionality
– NVMe Management Commands
– NVMe Admin Commands
– PCIe Commands
– Control Primitives
– VPD
• Standardization Status
2
NVMe Management Interface
3
Field Replaceable Unit (FRU)
4
Management Fundamentals
What is meant by “management”?
5
In-Band vs Out-of-Band Management
Host Processor Management Controller
• NVMe driver communicates
(BMC)
Host Operating System BMC Operating
Operating System
System to NVMe controllers over
BMC
PCIe per NVMe Spec
NVMe Driver NVMe-MI Driver
6
In-band vs Out-of-Band Management Cont.
In-Band Management Application
• Many host OSes to support (Windows, Linux, VMWare, etc.)
• Several different flavors/distros of each
• New revisions of OS and NVMe driver released over time
• Developing and maintaining a management application for every OS variant is resource/cost
prohibitive
• Management features vary per OS
7
Why Standardize NVMe Storage Device Management?
Industry Ecosystem
Compliance tests / program
Development tools
8
A Real World Example – Automated Remote Health Monitoring
The Problem:
• Datacenter with hundreds of servers
• Each servers consists of dozens of Field Replaceable Units
• Some number of FRUs fail weekly (or even daily)
• Manually discovering and resolving issues due to failed FRUs is prohibitively time
consuming and expensive
The Solution:
• Each server has a BMC to manage all FRUs
• Each BMC is connected to a network accessible via a remote management console
• BMC detects NVMe FRU failures using NVMe-MI and reports failures to a remote
administrator
9
Remote Health Monitoring – Management Infrastructure
Server
Server Management
Controller
Server Management
Controller
Network
Server Management Controller
10
Remote Health Monitoring – Set up Alerts
12
Remote Health Monitoring – Receive E-Mail Alert
• NVMe-MI Architecture
– NVM Subsystem, Port, Management Endpoint, Command Slot
• Overview of Features/Functionality
– NVMe Management Commands
– NVMe Admin Commands
– PCIe Commands
– Control Primitives
– VPD
• Standardization Status
20
NVMe Architecture (review)
NS NS
NSID 1 NSID 2 A C
NS NS
A B NS
B
21
NVMe Field Replaceable Units with NVMe-MI
PCIe PCIe PCIe
Port Port 0 Port 1
NVMe Controller Management NVMe Controller Management NVMe Controller NVMe Controller Management
PCI Function 0 Endpoint PCI Function 0 Endpoint PCI Function 1 PCI Function 0 Endpoint
Management
SMBus/I2C
Controller Controller Controller Controller Endpoint
Management Interface Management Interface Management Interface Management Interface
An NVMe FRU consists of one and only one NVM Subsystem with
One or more PCIe ports
An optional SMBus/I2C interface
One or more Management Endpoints
22
VPD – Vital Product Data
Vital Product Data typically available in a serial EEPROM
PCIe PCIe
NVMe-MI defined standard VPD contents including: Port 0 Port 1
Serial
• and more …
23
NVMe-MI Defines the Protocol for Managing NVMe
24
Types of MCTP Messages
NVMe-MI Message Other MCTP
Messages
Request Message Response (e.g., MCTP
Message control)
Command Message
NVMe-MI PCIe Control Success
Command Command Primitive
NVMe Admin
Command Error
25
Command Slots
• Each Management Endpoint has two Command Slots to service Command Messages
• Each Command Slot follows this state machine
Response Message
Transmitted Idle Start of Message
or
Abort
Abort or
Error
Transmit Receive
More
Processing Abort
Required
Response
Required
Command Message
or Process
Received
Resume
26
Command Slots
• Each Management Endpoint has two Command Slots to service Command Messages
• Each Command Slot follows this state machine
Response Message
Transmitted Idle Start of Message
or
Abort
Abort or
Error
Transmit Receive
More
Processing Abort
Required
Response
Required
Command Message
or Process
Received
Resume
27
Management Interface Command Set
Command O/M
• Discover Device Capabilities
Configuration Set Mandatory
Configuration Get Mandatory
• Monitor Health Status Controller Health Status Poll Mandatory
NVM Subsystem Health Status Poll Mandatory
Read NVMe-MI Data Structure Mandatory
• Modify Configuration
Reset Mandatory
VPD Read Mandatory
VPD Write Mandatory
Vendor Specific Optional
28
NVMe Admin Commands
Command O/M
Get Features Mandatory
• NVMe-MI defines mechanism to Get Log Page Mandatory
send existing NVMe Admin
Identify Mandatory
Commands out-of-band
Firmware Activate/Commit Optional
Firmware Image Download Optional
• Admin Commands target a Format NVM Optional
controller in the NVM subsystem Namespace Management Optional
Security Send Optional
Security Receive Optional
Set Features Optional
Vendor Specific Optional
29
PCIe Commands
30
Control Primitives
31
Summary
NVMe-MI 1.0 specification under member review – will be published on NVMe site after
ratification