Changes in NVMe-MI Revision 1.1

This change list is intended to help the reader understand changes in the NVM Express® Management Interface Specification revision 1.1 (NVMe-MI™ revision 1.1).

One category of changes is new features that are optional capabilities. These features may be implemented by a revision 1.1 compatible device based on market need.

Another category is changes from past behavior. One set of changes here includes extensions of past functionality. Another set of changes is incompatible changes from past behavior, or new mandatory requirements for how a feature shall be implemented (where there may have been multiple reasonable interpretations of previous specification language).

The changes included in NVMe-MI revision 1.1 were developed in NVMe® Technical Proposals and ECNs. The documents are available at:

New Features

This section describes new features in NVMe-MI revision 1.1

  • Enclosure Management Architecture (optional)
    • Introduces the NVMe Enclosure architectural model, adding NVMe Enclosures
    • Added the SES Receive and SES Send commands
    • Added the Management Endpoint Buffer and the MEB bit that allows support of out-of-band NVMe-MI messages greater than 4224 bytes in size
    • References:
      • NVMe-MI revision 1.1 sections 1.6, 3.1, 4.2.3, 5.4. 5.5, 5.7, 5.9, 5.10
      • Technical Proposal 6001, NVMe-MI 1.0a ECN-002

 

  • In-band NVMe-MI mechanism (optional)
    • Introduces the in-band NVMe-MI mechanism, including overall reworking of NVMe-MI concepts to describe both out-of-band and in-band behaviors
    • References:
      • NVMe-MI revision 1.1, section 1.3, 4.3
      • Technical Proposal 6002

 

  • Management of NVMe Storage Devices containing multiple NVM Subsystems (optional)
    • Adds mechanisms and architecture necessary to discover and manage the presence of NVMe Storage Devices on both muxed and shared SMBus/I2C topologies
    • Added detection of new types of devices (e.g., carrier cards, PCIe switches)
    • Mechanisms include:
      • Topology MultiRecord Area and Element Descriptor Types (and descriptors)
      • SMBus Reset
      • Definitions for SMBus Version 3.1
    • References:
      • NVMe-MI revision 1.1 sections 1.5, 2.2, 9.2, 9.3.4
      • Technical Proposal 6003a

Feature Enhancements

This section describes optional feature enhancements which are changes from NVMe-MI 1.1 behavior.

  • VPD Write Cycle Reduction
    • New requirement / incompatible change in section 8.1
      • Reduces the required VPD write cycles to 8 to enable use of OTP technology
    • References:
      • NVMe-MI revision 1.1 section 8.1
      • Technical Proposal 6004

 

  • Remove NVMe-MI requirements on PCIe® Port Numbering
    • New requirement / incompatible change in section 1.4
      • Removes requirement on PCIe port numbering and adds:
        • the PCIe Port Number field to the PCIe Port Specific Data in the ‘Port Information Data Structure’
        • the Port Identifier field in the ‘NVMe PCIe Port MultiRecord Area’
    • References:
      • NVMe-MI revision 1.1 section 5.7, 9.2.4
      • Technical Proposal 6006

 

  • Form Factor and Temperature Enhancements
    • Adds PCIe 4.0 specific reporting options
    • Adds additional form factors to the Form Factors enumeration in the NVMe MultiRecord Area’s Form Factor field
    • Adds optional temperature and power reporting in Appendix A
    • References:
      • NVMe-MI revision 1.1 sections 5.7, 9.2, Appendix A
      • Technical Proposal 6007

 

  • Alignment with the NVM Express specification revision 1.3
    • Identifies the new Admin commands allowed over NVMe-MI as introduced in NVM Express specification revision 1.3
    • Specifies Command Messages allowed during sanitize operations
    • References:
      • NVMe-MI revision 1.1 section 6, 6.3
      • Technical Proposal 6005

 

Required Changes

This section describes mandatory behavior changes required to comply with NVM Express Management Interface Specification revision 1.1.

 

  • Clarified Architectural Model of Management Endpoints (mandatory)
    • Clarified Management Endpoint ports and the value of NVMe-MI port identifiers for ports associated with PCIe links
    • References:
      • NVMe-MI revision 1.1 section 1.4
      • NVMe-MI 1.0 ECN-001

 

  • Removed requirement for Notify ARP Master command when ready to communicate (mandatory)
    • New requirement / incompatible change in section 2.2.
      • Specified Notify ARP Master command to be optional
    • References:
      • NVMe-MI revision 1.1 section 2.2
      • NVMe-MI 1.0a ECN-001

 

  • Fixed procedure to calculate and validate Message Integrity Checks (mandatory)
    • Corrected calculation procedures for creation and validation
    • References:
      • NVMe-MI revision 1.1 section 3.1.1
      • NVMe-MI 1.0a ECN-001

 

  • Clarified Response Message Status Values (mandatory)
    • Documented applicable conditions for:
      • Invalid Command Opcode Error Response
      • Invalid Parameter Opcode Error Response
    • References:
      • NVMe-MI revision 1.1 section 4.1.2
      • NVMe-MI 1.0 ECN-001

 

  • Removed incorrect description of value indicating Invalid Parameter in the Response Message Status (mandatory)
    • References:
      • NVMe-MI revision 1.1 section 4.1.2.2
      • NVMe-MI 1.0 ECN-001

 

  • Rewrote Out-of-Band message servicing model (mandatory)
    • Rewrite of servicing model and clarification to Command Servicing State Diagram
    • References:
      • NVMe-MI revision 1.1 section 4.2
      • NVMe-MI 1.0 ECN-001

 

  • Fixed conflicting byte assignments of Control Primitive Specific Response fields (mandatory)
    • New requirement / incompatible change in section 4.2
      • Corrected byte assignment of multiple Control Primitive Specific Response fields
    • References:
      • NVMe-MI revision 1.1 sections 4.2
      • NVMe-MI 1.0 ECN-003

 

  • Updated table of Control Primitive Specific Response values (mandatory)
    • New requirement / incompatible change in section 4.2.1.4
      • Corrected errors in Get State Control Primitive Success Response Message descriptions.
    • Added Command Specific column to specify which values are independent per Command Slot within a Management Endpoint
    • References:
      • NVMe-MI revision 1.1 section 4.2.1.4
      • NVMe-MI 1.0 ECN-001

 

  • Clarified the Replay Control Primitive functionality (mandatory)
    • New requirement / incompatible change in section 4.2.1.5
      • Defined Response Replay Offset usage with the Replay Control Primitive functionality
    • References:
      • NVMe-MI revision 1.1 section 4.2.1.5
      • NVMe-MI 1.0 ECN-002

 

  • Clarified how to treat Controller Identifier in the in-band tunneling mechanism (mandatory)
    • New requirement / incompatible change in sections 4.3.1, 4.3.2
      • Clarified mapping of the Controller Identifiers and Namespace Identifiers in NVMe-MI Send Commands and NVMe-MI Receive Commands to NVMe Admin Commands
    • References:
      • NVMe-MI revision 1.1 section 4.3.1, 4.3.2
      • NVMe-MI 1.0a ECN-003

 

  • Made the Reset command optional and added clarification of mandatory to Reset Type (optional)
    • New requirement / incompatible change in section 5.8
      • Support for the Reset is required if the NVM Subsystem Reset feature is supported in-band as defined in the NVM Express specification; else, it is optional
    • References:
      • NVMe-MI revision 1.1 section 5.8
      • NVMe-MI 1.0 ECN-003

 

  • Clarified Health Status Change for in-band vs. out-of-band (mandatory)
    • New requirement / incompatible change in sections 5.2.2., 5.3
      • Configuration Set commands operate independently for in-band vs. out-of-band
      • As supported, NVMe Storage Devices have independent copies for in-band and out-of-band mechanisms of:
        • Composite Controller Status;
        • Controller Health Data Structure; and
        • NVM Subsystem Health Data Structure
    • References:
      • NVMe-MI revision 1.1 section 5.2.2, 5.3
      • NVMe-MI 1.0a ECN-003

 

  • Fixed conflicting MCTP Transmission Unit Size – NVMe Management Response (mandatory)
    • Fixed Reserved bit assignment in MCTP Transmission Unit Size – NVMe Management Response
    • References:
      • NVMe-MI revision 1.1 section 5.1.3
      • NVMe-MI 1.0 ECN-003

 

  • Fixed SMBus/I2C Frequency (Configuration Identifier 01h) (mandatory)
    • Fixed bit assignment of SMBus/I2C Frequency
    • References:
      • NVMe-MI revision 1.1 section 5.2.1
      • NVMe-MI 1.0 ECN-003

 

  • Revised Controller Health Status Poll (mandatory)
    • Rewritten for clarity
    • Added table of Controller Health Status Changed Flags
    • Added figure describing Controller Health Data Structure to Controller Health Status Changed Flags Mapping
    • Added reset values to Controller Health Data Structure (CHDS)
    • New requirement / incompatible change in section 5.3
      • Removed incorrect statement that Maximum Response Entries (MAXRENT) is a 0’s based value.
    • References:
      • NVMe-MI revision 1.1 sections 5.3, 5.3.1, 5.3.2
      • NVMe-MI 1.0 ECN-003

 

  • Updated NVMe Admin Command Request Format and NVMe Admin Command Request Description (mandatory)
    • Removed SQE DW8, SQE DW9 entries
    • Specified that the PRP Entry 2 (PRP2) and Metadata Pointer (MPTR) fields are reserved in NVMe Admin Commands.
    • References:
      • NVMe-MI revision 1.1 section 6
      • NVMe-MI 1.0 ECN-001

 

  • Corrected text describing the directionality of the PCIe I/O Read and the PCIe I/O Write Commands (mandatory)
    • Fixed the directionality description of the Length parameter in figures 126 and 127.
    • References:
      • NVMe-MI revision 1.1 sections 7.3, 7.4
      • NVMe-MI 1.0 ECN-001

 

  • Clarified usage of Invalid Parameter status code for Set Features commands that would result in invalid structures (mandatory)
    • Clarified use of Invalid Parameter status codes commands that would cause the stored Host Metadata data structure to grow larger than 4 KiB.
    • References:
      • NVMe-MI revision 1.1 section 8.2.1, 8.2.2,
      • NVMe-MI 1.0 ECN-003

 

  • Corrected variable length of Product Info Area in VPD (mandatory)
    • Product Info Area and MultiRecord Info Area length are Vendor Specific
    • References:
      • NVMe-MI revision 1.1 section 9.2
      • NVMe-MI 1.0 ECN-003

 

  • Updated the optional Product Info Area (mandatory)
    • Added reference to the IPMI Platform Management FRU Information Storage Definition
    • Removed incorrect Byte Offset column
    • Added missing fields
    • Redefined the Type/Length Byte Format for length fields in the Product Info Area and the NVMe MultiRecord Area
    • Clarified computation range of checksum
    • References:
      • NVMe-MI revision 1.1 section 9.2.2, 9.2.3, 9.2.4
      • NVMe-MI 1.0a ECN-001

 

  • Corrected data in Appendix B example
    • Corrected Dword 7 in Message Integrity Check Example 4
    • References:
      • NVMe-MI revision 1.1 Appendix B
      • NVMe-MI 1.0 ECN-003

 

  • Added Appendix C, examples of NVMe-MI messages over SMBus/I2C.
    • References:
      • NVMe-MI revision 1.1 Appendix C
      • NVMe-MI 1.0 ECN-002

 

NVM Express®, NVMe® and NVMe-MI™ are registered trademarks and/or unregistered trademarks of NVM Express.

PCI-SIG® and PCIe® are registered trademarks and of PCI-SIG.