Transcription of NVM Express Management Interface
1 NVM Express Management Interface Revision 1 NVM Express Management Interface Revision July 22nd, 2021 Please send comments to NVM Express Management Interface Revision 2 NVM Express Management Interface revision specification available for download at NVM Express Management Interface revision specification consists of the NVM Express Management Interface revision specification (refer to for details), ECN 001, and the implementation note in the UDID Type field description that describes which versions that note applies to. SPECIFICATION DISLAIMER LEGAL NOTICE: Copyright 2007 to 2021 NVM Express , Inc. ALL RIGHTS RESERVED. This NVM Express Management Interface Revision is proprietary to the NVM Express , Inc. (also referred to as Company ) and/or its successors and assigns. NOTICE TO USERS WHO ARE NVM Express , INC.
2 MEMBERS: Members of NVM Express , Inc. have the right to use and implement this NVM Express Management Interface Revision subject, however, to the Member s continued compliance with the Company s Intellectual Property Policy and Bylaws and the Member s Participation Agreement. NOTICE TO NON-MEMBERS OF NVM Express , INC.: If you are not a Member of NVM Express , Inc. and you have obtained a copy of this document, you only have a right to review this document or make reference to or cite this document. Any such references or citations to this document must acknowledge NVM Express , Inc. copyright ownership of this document. The proper copyright citation or reference is as follows: 2007-2021 NVM Express , Inc. ALL RIGHTS RESERVED. When making any such citations or references to this document you are not permitted to revise, alter, modify, make any derivatives of, or otherwise amend the referenced portion of this document in any way without the prior Express written permission of NVM Express , Inc.
3 Nothing contained in this document shall be deemed as granting you any kind of license to implement or use this document or the specification described therein, or any of its contents, either expressly or impliedly, or to any intellectual property owned or controlled by NVM Express , Inc., including, without limitation, any trademarks of NVM Express , Inc. LEGAL DISCLAIMER: THIS DOCUMENT AND THE information CONTAINED HEREIN IS PROVIDED ON AN AS IS BASIS. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, NVM Express , INC. (ALONG WITH THE CONTRIBUTORS TO THIS DOCUMENT) HEREBY DISCLAIM ALL REPRESENTATIONS, WARRANTIES AND/OR COVENANTS, EITHER Express OR IMPLIED, STATUTORY OR AT COMMON LAW, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, VALIDITY, AND/OR NONINFRINGEMENT. All product names, trademarks, registered trademarks, and/or servicemarks may be claimed as the property of their respective owners.
4 The NVM Express design mark is a registered trademark of NVM Express , Inc. PCI-SIG , PCI Express , and PCIe are registered trademarks of PCI-SIG. NVM Express Workgroup c/o VTM, Inc. 3855 SW 153rd Drive Beaverton, OR 97003 USA NVM Express Management Interface Revision 3 Table of Contents 1 INTRODUCTION .. 10 Overview .. 10 10 Outside of Scope .. 11 Theory of Operation .. 12 Out-of-Band Theory of Operation .. 12 In-Band Theory of 13 NVM Subsystem Architectural Model .. 13 NVMe Storage Device Architectural 15 NVMe Enclosure Architectural 17 Conventions .. 22 Definitions .. 23 23 Command 23 Command Slot .. 23 Control 24 NVMe Controller (Controller).. 24 NVMe Controller Management Interface (Controller Management Interface ).. 24 Enclosure 24 Enclosure Services Process .. 24 Expansion Connector .. 24 Field-Replaceable Unit (FRU).
5 24 FRU information Device .. 24 In-Band .. 24 Management Controller .. 24 Management Endpoint or NVMe Management Endpoint .. 25 Management Endpoint Buffer .. 25 NVMe Enclosure .. 25 NVMe Processing .. 25 NVMe Storage Device .. 25 NVMe Storage Device FRU .. 25 NVMe Subenclosure (Subenclosure) .. 25 NVMe-MI Message .. 25 NVM Subsystem .. 26 26 26 Request Message .. 26 Requester .. 26 Responder .. 26 Response Message .. 26 SMBus/I2C Mux .. 27 Upstream 27 VPD or Vital Product Data .. 27 Keywords .. 27 mandatory .. 27 may .. 27 obsolete .. 27 optional .. 27 R .. 27 27 shall .. 28 should .. 28 Byte, Word, and Dword 28 References .. 29 NVM Express Management Interface Revision 4 2 PHYSICAL LAYER .. 31 PCI Express .. 31 SMBus/I2C .. 31 Error 34 3 MESSAGE 35 NVMe-MI Messages .. 35 Message Fields.
6 35 Out-of-Band Message Transport .. 40 MCTP Packet .. 40 Out-of-Band Error Handling .. 43 In-Band Tunneling Message Transport .. 43 4 MESSAGE SERVICING MODEL .. 44 NVMe-MI Messages .. 44 Request Messages .. 44 Response Messages .. 45 Out-of-Band Message Servicing Model .. 49 Control Primitives .. 51 Out-of-Band Error Handling .. 59 Management Endpoint Buffer .. 59 In-Band Tunneling Message Servicing 61 NVMe-MI Send Command .. 61 NVMe-MI Receive Command .. 68 5 Management Interface COMMAND SET .. 74 Configuration Get .. 77 SMBus/I2C Frequency (Configuration Identifier 01h) .. 78 Health Status Change (Configuration Identifier 02h) .. 78 MCTP Transmission Unit Size (Configuration Identifier 03h).. 79 Configuration Set .. 79 SMBus/I2C Frequency (Configuration Identifier 01h) .. 80 Health Status Change (Configuration Identifier 02h) .. 80 MCTP Transmission Unit Size (Configuration Identifier 03h).
7 81 Controller Health Status Poll .. 82 Filtering by Controller Type .. 85 Filtering by Controller Health Status Changed Flags .. 86 Management Endpoint Buffer Read .. 88 Management Endpoint Buffer Write .. 89 NVM Subsystem Health Status Poll .. 90 Read NVMe-MI Data 92 Reset .. 99 SES Receive .. 100 SES 101 Shutdown .. 102 VPD Read .. 103 VPD Write .. 104 6 NVM Express ADMIN COMMAND SET .. 106 Request and Response Data .. 111 113 Get Log Page .. 114 Sanitize 115 Set Features and Get Features .. 115 NVM Express Management Interface Revision 5 7 PCIE COMMAND SET (OPTIONAL) .. 118 PCIe Configuration Read .. 120 PCIe Configuration Write .. 121 PCIe I/O Read .. 122 PCIe I/O 122 PCIe Memory Read .. 123 PCIe Memory Write .. 124 8 Management ARCHITECTURE .. 126 Out-of-Band Operational Times .. 126 Vital Product Data.
8 127 Common 128 Product Info Area (offset 8 bytes) .. 129 NVMe MultiRecord 130 NVMe PCIe Port MultiRecord Area .. 132 Topology MultiRecord 133 Reset .. 149 NVM Subsystem Reset .. 149 Controller Level Reset .. 149 Management Endpoint 150 SMBus Reset .. 150 Security .. 150 APPENDIX A TECHNICAL NOTE: NVM Express BASIC Management COMMAND .. 151 APPENDIX B EXAMPLE MCTP MESSAGES & MESSAGE INTEGRITY CHECK .. 156 APPENDIX C EXAMPLE NVME-MI MESSAGES OVER SMBUS/I2C .. 158 NVM Express Management Interface Revision 6 Table of Figures Figure 1: NVMe Family of Specifications .. 10 Figure 2: NVMe-MI Out-of-Band Protocol Layering .. 12 Figure 3: NVM Subsystem Associated with Single PCIe Port .. 14 Figure 4: NVM Subsystem with Dual Ported PCIe Ports and an SMBus/I2C 15 Figure 5: Single-Port PCIe SSD .. 16 Figure 6: Dual-Port PCIe SSD with SMBus/I2C .. 16 Figure 7: NVMe Storage Device with Expansion Connectors ( , a Carrier).
9 17 Figure 8: NVMe Storage Device with two NVM Subsystems and an SMBus/I2C 17 Figure 9: Example NVMe Enclosure .. 19 Figure 10: Example NVMe Enclosure with Multiple NVM Subsystems .. 20 Figure 11: Example NVMe Enclosure with Multiple Enclosure Services 20 Figure 12: Example NVMe Enclosure with Subenclosures .. 21 Figure 13: Mapping of SES-3 Sense Keys and Additional Sense Codes to Response Message Status .. 22 Figure 14: Decimal and Binary 23 Figure 15: Byte, Word, and Dword Relationships .. 29 Figure 16: SMBus/I2C Elements and Requirements .. 32 Figure 17: SMBus/I2C Element UDID .. 33 Figure 18: NVMe-MI 35 Figure 19: NVMe-MI Message 36 Figure 20: Message Integrity Check Example .. 39 Figure 21: MCTP Packet 40 Figure 22: MCTP Packet 41 Figure 23: NVMe-MI Message Spanning Multiple MCTP 42 Figure 24: NVMe-MI Message Taxonomy .. 44 Figure 25: Response Message 45 Figure 26: Response Message 45 Figure 27: Response Message Status Values.
10 46 Figure 28: Generic Error Response .. 47 Figure 29: Invalid Parameter Error Response .. 48 Figure 30: Invalid Parameter Error Response Fields .. 48 Figure 31: More Processing Required Response .. 48 Figure 32: More Processing Required Response Fields .. 48 Figure 33: Command Servicing State Diagram .. 50 Figure 34: Control Primitive Request Message Format .. 51 Figure 35: Control Primitive Fields .. 51 Figure 36: Control Primitive Opcodes .. 51 Figure 37: Control Primitive Success Response Format .. 52 Figure 38: Control Primitive Success Response Fields .. 52 Figure 39: Pause Control Primitive Success Response Fields .. 53 Figure 40: Abort Control Primitive Success Response Fields .. 54 Figure 41: Get State Control Primitive Request Message Fields .. 55 Figure 42: Get State Control Primitive Success Response Fields .. 56 Figure 43: Replay Control Primitive Request Fields.