NVME_COMMAND structure (nvme.h)

Contains the parameters for all commands in the Admin Command and NVM Command sets.

Syntax

typedef struct {
  NVME_COMMAND_DWORD0 CDW0;
  ULONG               NSID;
  ULONG               Reserved0[2];
  ULONGLONG           MPTR;
  ULONGLONG           PRP1;
  ULONGLONG           PRP2;
  union {
    struct {
      ULONG CDW10;
      ULONG CDW11;
      ULONG CDW12;
      ULONG CDW13;
      ULONG CDW14;
      ULONG CDW15;
    } GENERAL;
    struct {
      NVME_CDW10_IDENTIFY CDW10;
      NVME_CDW11_IDENTIFY CDW11;
      ULONG               CDW12;
      ULONG               CDW13;
      ULONG               CDW14;
      ULONG               CDW15;
    } IDENTIFY;
    struct {
      NVME_CDW10_ABORT CDW10;
      ULONG            CDW11;
      ULONG            CDW12;
      ULONG            CDW13;
      ULONG            CDW14;
      ULONG            CDW15;
    } ABORT;
    struct {
      NVME_CDW10_GET_FEATURES CDW10;
      NVME_CDW11_FEATURES     CDW11;
      ULONG                   CDW12;
      ULONG                   CDW13;
      ULONG                   CDW14;
      ULONG                   CDW15;
    } GETFEATURES;
    struct {
      NVME_CDW10_SET_FEATURES CDW10;
      NVME_CDW11_FEATURES     CDW11;
      NVME_CDW12_FEATURES     CDW12;
      NVME_CDW13_FEATURES     CDW13;
      NVME_CDW14_FEATURES     CDW14;
      NVME_CDW15_FEATURES     CDW15;
    } SETFEATURES;
    struct {
      union {
        NVME_CDW10_GET_LOG_PAGE     CDW10;
        NVME_CDW10_GET_LOG_PAGE_V13 CDW10_V13;
      };
      NVME_CDW11_GET_LOG_PAGE CDW11;
      NVME_CDW12_GET_LOG_PAGE CDW12;
      NVME_CDW13_GET_LOG_PAGE CDW13;
      NVME_CDW14_GET_LOG_PAGE CDW14;
      ULONG                   CDW15;
    } GETLOGPAGE;
    struct {
      NVME_CDW10_CREATE_IO_QUEUE CDW10;
      NVME_CDW11_CREATE_IO_CQ    CDW11;
      ULONG                      CDW12;
      ULONG                      CDW13;
      ULONG                      CDW14;
      ULONG                      CDW15;
    } CREATEIOCQ;
    struct {
      NVME_CDW10_CREATE_IO_QUEUE CDW10;
      NVME_CDW11_CREATE_IO_SQ    CDW11;
      ULONG                      CDW12;
      ULONG                      CDW13;
      ULONG                      CDW14;
      ULONG                      CDW15;
    } CREATEIOSQ;
    struct {
      NVME_CDW10_DATASET_MANAGEMENT CDW10;
      NVME_CDW11_DATASET_MANAGEMENT CDW11;
      ULONG                         CDW12;
      ULONG                         CDW13;
      ULONG                         CDW14;
      ULONG                         CDW15;
    } DATASETMANAGEMENT;
    struct {
      NVME_CDW10_SECURITY_SEND_RECEIVE CDW10;
      NVME_CDW11_SECURITY_SEND         CDW11;
      ULONG                            CDW12;
      ULONG                            CDW13;
      ULONG                            CDW14;
      ULONG                            CDW15;
    } SECURITYSEND;
    struct {
      NVME_CDW10_SECURITY_SEND_RECEIVE CDW10;
      NVME_CDW11_SECURITY_RECEIVE      CDW11;
      ULONG                            CDW12;
      ULONG                            CDW13;
      ULONG                            CDW14;
      ULONG                            CDW15;
    } SECURITYRECEIVE;
    struct {
      NVME_CDW10_FIRMWARE_DOWNLOAD CDW10;
      NVME_CDW11_FIRMWARE_DOWNLOAD CDW11;
      ULONG                        CDW12;
      ULONG                        CDW13;
      ULONG                        CDW14;
      ULONG                        CDW15;
    } FIRMWAREDOWNLOAD;
    struct {
      NVME_CDW10_FIRMWARE_ACTIVATE CDW10;
      ULONG                        CDW11;
      ULONG                        CDW12;
      ULONG                        CDW13;
      ULONG                        CDW14;
      ULONG                        CDW15;
    } FIRMWAREACTIVATE;
    struct {
      NVME_CDW10_FORMAT_NVM CDW10;
      ULONG                 CDW11;
      ULONG                 CDW12;
      ULONG                 CDW13;
      ULONG                 CDW14;
      ULONG                 CDW15;
    } FORMATNVM;
    struct {
      NVME_CDW10_DIRECTIVE_RECEIVE CDW10;
      NVME_CDW11_DIRECTIVE_RECEIVE CDW11;
      NVME_CDW12_DIRECTIVE_RECEIVE CDW12;
      ULONG                        CDW13;
      ULONG                        CDW14;
      ULONG                        CDW15;
    } DIRECTIVERECEIVE;
    struct {
      NVME_CDW10_DIRECTIVE_SEND CDW10;
      NVME_CDW11_DIRECTIVE_SEND CDW11;
      NVME_CDW12_DIRECTIVE_SEND CDW12;
      ULONG                     CDW13;
      ULONG                     CDW14;
      ULONG                     CDW15;
    } DIRECTIVESEND;
    struct {
      NVME_CDW10_SANITIZE CDW10;
      NVME_CDW11_SANITIZE CDW11;
      ULONG               CDW12;
      ULONG               CDW13;
      ULONG               CDW14;
      ULONG               CDW15;
    } SANITIZE;
    struct {
      ULONG                 LBALOW;
      ULONG                 LBAHIGH;
      NVME_CDW12_READ_WRITE CDW12;
      NVME_CDW13_READ_WRITE CDW13;
      ULONG                 CDW14;
      NVME_CDW15_READ_WRITE CDW15;
    } READWRITE;
    struct {
      NVME_CDW10_RESERVATION_ACQUIRE CDW10;
      ULONG                          CDW11;
      ULONG                          CDW12;
      ULONG                          CDW13;
      ULONG                          CDW14;
      ULONG                          CDW15;
    } RESERVATIONACQUIRE;
    struct {
      NVME_CDW10_RESERVATION_REGISTER CDW10;
      ULONG                           CDW11;
      ULONG                           CDW12;
      ULONG                           CDW13;
      ULONG                           CDW14;
      ULONG                           CDW15;
    } RESERVATIONREGISTER;
    struct {
      NVME_CDW10_RESERVATION_RELEASE CDW10;
      ULONG                          CDW11;
      ULONG                          CDW12;
      ULONG                          CDW13;
      ULONG                          CDW14;
      ULONG                          CDW15;
    } RESERVATIONRELEASE;
    struct {
      NVME_CDW10_RESERVATION_REPORT CDW10;
      NVME_CDW11_RESERVATION_REPORT CDW11;
      ULONG                         CDW12;
      ULONG                         CDW13;
      ULONG                         CDW14;
      ULONG                         CDW15;
    } RESERVATIONREPORT;
    struct {
      NVME_CDW10_ZONE_MANAGEMENT_SEND CDW1011;
      ULONG                           CDW12;
      NVME_CDW13_ZONE_MANAGEMENT_SEND CDW13;
      ULONG                           CDW14;
      ULONG                           CDW15;
    } ZONEMANAGEMENTSEND;
    struct {
      NVME_CDW10_ZONE_MANAGEMENT_RECEIVE CDW1011;
      ULONG                              DWORDCOUNT;
      NVME_CDW13_ZONE_MANAGEMENT_RECEIVE CDW13;
      ULONG                              CDW14;
      ULONG                              CDW15;
    } ZONEMANAGEMENTRECEIVE;
    struct {
      NVME_CDW10_ZONE_APPEND CDW1011;
      NVME_CDW12_ZONE_APPEND CDW12;
      ULONG                  CDW13;
      ULONG                  ILBRT;
      NVME_CDW15_ZONE_APPEND CDW15;
    } ZONEAPPEND;
  } u;
} NVME_COMMAND, *PNVME_COMMAND;

Members

CDW0

A NVME_COMMAND_DWORD0 structure containing parameters that are common for all Admin and NVM commands.

NSID

The namespace ID that this command applies to.

If the namespace ID is not used for the command, then this field should cleared to 0h. If a command is applied to all namespaces accessible by this controller, then this field should be set to FFFFFFFFh.

Unless otherwise noted, specifying an inactive namespace ID in a command that uses the namespace ID will cause the controller to abort the command with the status NVME_STATUS_INVALID_FIELD_IN_COMMAND. Specifying an invalid namespace ID in a command that uses the namespace ID will cause the controller to abort the command with the status NVME_STATUS_INVALID_NAMESPACE_OR_FORMAT.

Reserved0[2]

MPTR

The address of a contiguous physical buffer of metadata.

This field is only used if metadata is not interleaved with the logical block data, as specified in the MS field of the NVME_CDW10_FORMAT_NVM command structure. This field is Dword aligned.

PRP1

A NVME_PRP_ENTRY structure that contains the first PRP entry for the command or a PRP List pointer depending on the command.

PRP2

This field is reserved if the data transfer does not cross a memory page boundary. Otherwise, it contains a NVME_PRP_ENTRY structure that:

  1. Specifies the Page Base Address of the second memory page if the data transfer crosses exactly one memory page boundary. For example, in one of the following situations:

    • The command data transfer length is equal in size to one memory page and the offset portion of the Page Base Address and Offset (PBAO) field of PRP1 is non-zero.
    • The Offset portion of the PBAO field of PRP1 is equal to zero and the command data transfer length is greater than one memory page and less than or equal to two memory pages in size.
  2. Is a PRP List pointer if the data transfer crosses more than one memory page boundary. For example, in one of the following situations:

    • The command data transfer length is greater than or equal to two memory pages in size but the offset portion of the PBAO field of PRP1 is non-zero.
    • The command data transfer length is equal in size to more than two memory pages and the Offset portion of the PBAO field of PRP1 is equal to zero.

u

A union of all the command structures.

u.GENERAL

A structure containing data fields for General commands.

u.GENERAL.CDW10

Command DWord 10 data fields for General commands.

u.GENERAL.CDW11

Command DWord 11 data fields for General commands.

u.GENERAL.CDW12

Command DWord 12 data fields for General commands.

u.GENERAL.CDW13

Command DWord 13 data fields for General commands.

u.GENERAL.CDW14

Command DWord 14 data fields for General commands.

u.GENERAL.CDW15

Command DWord 15 data fields for General commands.

u.IDENTIFY

A structure containing parameters for the Identify Command. An Admin command that returns a data buffer describing information about the NVM subsystem, the controller or the namespace(s).

The Identify command uses the PRP Entry 1 (PRP1), PRP Entry 2 (PRP2), Command Dword 10 (CDW10), and Command Dword 11 (CDW11) fields. All other command specific fields are reserved.

u.IDENTIFY.CDW10

A NVME_CDW10_IDENTIFY structure containing Command DWord 10 parameters for the Identify Command.

u.IDENTIFY.CDW11

A NVME_CDW11_IDENTIFY structure containing Command DWord 11 parameters for the Identify Command.

u.IDENTIFY.CDW12

Command DWord 12 data fields for the Identify Command.

u.IDENTIFY.CDW13

Command DWord 13 data fields for the Identify Command.

u.IDENTIFY.CDW14

Command DWord 14 data fields for the Identify Command.

u.IDENTIFY.CDW15

Command DWord 15 data fields for the Identify Command.

u.ABORT

A structure containing parameters for the Abort Command. An Admin command that is used to abort a specific command previously submitted to the Admin Submission Queue or an I/O Submission Queue.

The Abort command uses Command Dword 10 (CDW10) fields. All other command specific fields are reserved.

u.ABORT.CDW10

A NVME_CDW10_ABORT structure containing Command DWord 10 parameters for the Abort Command.

u.ABORT.CDW11

Command DWord 11 data fields for the Abort Command.

u.ABORT.CDW12

Command DWord 12 data fields for the Abort Command.

u.ABORT.CDW13

Command DWord 13 data fields for the Abort Command.

u.ABORT.CDW14

Command DWord 14 data fields for the Abort Command.

u.ABORT.CDW15

Command DWord 15 data fields for the Abort Command.

u.GETFEATURES

A structure containing parameters for the Get Features Command. An Admin command that retrieves the attributes of a specified feature.

The Get Features command uses the PRP Entry 1 (PRP1), PRP Entry 2 (PRP2), Command Dword 10 (CDW10), and Command Dword 11 (CDW11) fields. All other command specific fields are reserved.

u.GETFEATURES.CDW10

A NVME_CDW10_GET_FEATURES structure containing Command DWord 10 parameters for the Get Features command.

u.GETFEATURES.CDW11

A NVME_CDW11_FEATURES structure containing Command DWord 11 parameters for the Get Features command.

u.GETFEATURES.CDW12

Command DWord 12 data fields for the Get Features command.

u.GETFEATURES.CDW13

Command DWord 13 data fields for the Get Features command.

u.GETFEATURES.CDW14

Command DWord 14 data fields for the Get Features command.

u.GETFEATURES.CDW15

Command DWord 15 data fields for the Get Features command.

u.SETFEATURES

A structure containing parameters for the Set Features Command. An Admin command that sets the attributes of a specified feature.

The Set Features command uses the PRP Entry 1 (PRP1), PRP Entry 2 (PRP2), Command Dword 10 (CDW10), Command Dword 11 (CDW11), Command Dword 12 (CDW12), Command Dword 13 (CDW13), Command Dword 14 (CDW14), and Command Dword 15 (CDW15) fields. All other command specific fields are reserved.

u.SETFEATURES.CDW10

A NVME_CDW10_SET_FEATURES structure containing Command DWord 10 parameters for the Set Features command.

u.SETFEATURES.CDW11

A NVME_CDW11_FEATURES structure containing Command DWord 11 parameters for the Set Features command.

u.SETFEATURES.CDW12

A NVME_CDW12_FEATURES structure containing Command DWord 12 parameters for the Set Features command.

u.SETFEATURES.CDW13

A NVME_CDW13_FEATURES structure containing Command DWord 13 parameters for the Set Features command.

u.SETFEATURES.CDW14

A NVME_CDW14_FEATURES structure containing Command DWord 14 parameters for the Set Features command.

u.SETFEATURES.CDW15

A NVME_CDW15_FEATURES structure containing Command DWord 15 parameters for the Set Features command.

u.GETLOGPAGE

A structure containing parameters for the Get Log Page Command. An Admin command that returns a data buffer containing the requested log page.

The Get Log Page command uses the PRP Entry 1 (PRP1), PRP Entry 2 (PRP2), Command Dword 10 (CDW10 and CDW10_V13), Command Dword 11 (CDW11), Command Dword 12 (CDW12), and Command Dword 13 (CDW13) fields. All other command specific fields are reserved.

u.GETLOGPAGE.CDW10

A NVME_CDW10_GET_LOG_PAGE structure containing Command DWord 10 parameters for the Get Log Page command that conform to NVMe Specifications prior to version 1.3.

u.GETLOGPAGE.CDW10_V13

A NVME_CDW10_GET_LOG_PAGE_V13 structure containing Command DWord 10 parameters for the Get Log Page command that conform to NVMe Specification version 1.3 or later.

u.GETLOGPAGE.CDW11

A NVME_CDW11_GET_LOG_PAGE](ns-nvme-nvme_cdw11_get_log_page.md) structure containing Command DWord 11 parameters for the Get Log Page command.

u.GETLOGPAGE.CDW12

A NVME_CDW12_GET_LOG_PAGE](ns-nvme-nvme_cdw12_get_log_page.md) structure containing Command DWord 12 parameters for the Get Log Page command.

u.GETLOGPAGE.CDW13

A NVME_CDW13_GET_LOG_PAGE](ns-nvme-nvme_cdw13_get_log_page.md) structure containing Command DWord 13 parameters for the Get Log Page command.

u.GETLOGPAGE.CDW14

Command DWord 14 data fields for the Get Log Page command.

u.GETLOGPAGE.CDW15

Command DWord 15 data fields for the Get Log Page command.

u.CREATEIOCQ

A structure containing parameters for the Create IO Completion Queue Command. An Admin command that is used to create all I/O Completion Queues with the exception of the Admin Completion Queue.

The Create IO Completion Queue command uses the PRP Entry 1 (PRP1), Command Dword 10 (CDW10), and Command Dword 11 (CDW11) fields. All other command specific fields are reserved.

u.CREATEIOCQ.CDW10

A NVME_CDW10_CREATE_IO_QUEUE structure containing Command DWord 10 parameters for the Create IO Completion Queue command.

u.CREATEIOCQ.CDW11

A NVME_CDW11_CREATE_IO_CQ structure containing Command DWord 11 parameters for the Create IO Completion Queue command.

u.CREATEIOCQ.CDW12

Command DWord 12 data fields for the Create IO Completion Queue command.

u.CREATEIOCQ.CDW13

Command DWord 13 data fields for the Create IO Completion Queue command.

u.CREATEIOCQ.CDW14

Command DWord 14 data fields for the Create IO Completion Queue command.

u.CREATEIOCQ.CDW15

Command DWord 15 data fields for the Create IO Completion Queue command.

u.CREATEIOSQ

A structure containing parameters for the Create IO Submission Queue Command. An Admin command that is used to create I/O Submission Queues.

The Create IO Submission Queue command uses the PRP Entry 1 (PRP1), Command Dword 10 (CDW10), and Command Dword 11 (CDW11) fields. All other command specific fields are reserved.

u.CREATEIOSQ.CDW10

A NVME_CDW10_CREATE_IO_QUEUE structure containing Command DWord 10 parameters for the Create IO Submission Queue command.

u.CREATEIOSQ.CDW11

A NVME_CDW11_CREATE_IO_SQ structure containing Command DWord 11 parameters for the Create IO Submission Queue command.

u.CREATEIOSQ.CDW12

Command DWord 12 data fields for the Create IO Submission Queue command.

u.CREATEIOSQ.CDW13

Command DWord 13 data fields for the Create IO Submission Queue command.

u.CREATEIOSQ.CDW14

Command DWord 14 data fields for the Create IO Submission Queue command.

u.CREATEIOSQ.CDW15

Command DWord 15 data fields for the Create IO Submission Queue command.

u.DATASETMANAGEMENT

A structure containing parameters for the Dataset Management Command. An NVM command that is used by the host to indicate attributes for ranges of logical blocks.

The Dataset Management command uses Command Dword 10 (CDW10) and Command Dword 11 (CDW11) fields. If the command uses PRPs for the data transfer, then the PRP Entry 1 (PRP1) and PRP Entry 2 (PRP2) fields are used. All other command specific fields are reserved.

u.DATASETMANAGEMENT.CDW10

A NVME_CDW10_DATASET_MANAGEMENT structure containing Command DWord 10 parameters for the Dataset Management command.

u.DATASETMANAGEMENT.CDW11

A NVME_CDW11_DATASET_MANAGEMENT structure containing Command DWord 11 parameters for the Dataset Management command.

u.DATASETMANAGEMENT.CDW12

Command DWord 12 data fields for the Dataset Management command.

u.DATASETMANAGEMENT.CDW13

Command DWord 13 data fields for the Dataset Management command.

u.DATASETMANAGEMENT.CDW14

Command DWord 14 data fields for the Dataset Management command.

u.DATASETMANAGEMENT.CDW15

Command DWord 15 data fields for the Dataset Management command.

u.SECURITYSEND

A structure containing parameters for the Security Send Command. An Admin command that is used to transfer security protocol data to the controller.

The Security Send command uses PRP Entry 1 (PRP1), PRP Entry 2 (PRP2), Command Dword 10 (CDW10), and Command Dword 11 (CDW11) fields. All other command specific fields are reserved.

u.SECURITYSEND.CDW10

A NVME_CDW10_SECURITY_SEND_RECEIVE structure containing Command DWord 10 parameters for the Security Send command.

u.SECURITYSEND.CDW11

A NVME_CDW11_SECURITY_SEND structure containing Command DWord 11 parameters for the Security Send command.

u.SECURITYSEND.CDW12

Command DWord 12 data fields for the Security Send command.

u.SECURITYSEND.CDW13

Command DWord 13 data fields for the Security Send command.

u.SECURITYSEND.CDW14

Command DWord 14 data fields for the Security Send command.

u.SECURITYSEND.CDW15

Command DWord 15 data fields for the Security Send command.

u.SECURITYRECEIVE

A structure containing parameters for the Security Receive Command. An Admin command that transfers the status and data result of one or more Security Send commands that were previously submitted to the controller.

The Security Receive command uses PRP Entry 1 (PRP1), PRP Entry 2 (PRP2), Command Dword 10 (CDW10), and Command Dword 11 (CDW11) fields. All other command specific fields are reserved.

u.SECURITYRECEIVE.CDW10

A NVME_CDW10_SECURITY_SEND_RECEIVE structure containing Command DWord 10 parameters for the Security Receive command.

u.SECURITYRECEIVE.CDW11

A NVME_CDW11_SECURITY_RECEIVE structure containing Command DWord 11 parameters for the Security Receive command.

u.SECURITYRECEIVE.CDW12

Command DWord 12 data fields for the Security Receive command.

u.SECURITYRECEIVE.CDW13

Command DWord 13 data fields for the Security Receive command.

u.SECURITYRECEIVE.CDW14

Command DWord 14 data fields for the Security Receive command.

u.SECURITYRECEIVE.CDW15

Command DWord 15 data fields for the Security Receive command.

u.FIRMWAREDOWNLOAD

A structure containing parameters for the Firmware Image Download Command. An Admin command that is used to copy a new firmware image (in whole or in part) to the controller.

The Firmware Image Download command uses the PRP Entry 1 (PRP1), PRP Entry 2 (PRP2), Command Dword 10 (CDW10), and Command Dword 11 (CDW11) fields. All other command specific fields are reserved.

u.FIRMWAREDOWNLOAD.CDW10

A NVME_CDW10_FIRMWARE_DOWNLOAD structure containing Command DWord 10 parameters for the Firmware Image Download command.

u.FIRMWAREDOWNLOAD.CDW11

A NVME_CDW11_FIRMWARE_DOWNLOAD structure containing Command DWord 11 parameters for the Firmware Image Download command.

u.FIRMWAREDOWNLOAD.CDW12

Command DWord 12 data fields for the Firmware Image Download command.

u.FIRMWAREDOWNLOAD.CDW13

Command DWord 13 data fields for the Firmware Image Download command.

u.FIRMWAREDOWNLOAD.CDW14

Command DWord 14 data fields for the Firmware Image Download command.

u.FIRMWAREDOWNLOAD.CDW15

Command DWord 15 data fields for the Firmware Image Download command.

u.FIRMWAREACTIVATE

A structure containing parameters for the Firmware Commit Command. An Admin command that is used to verify that a valid firmware image has been downloaded and to commit that revision to a specific firmware slot.

Note

The Firmware Commit command was called Firmware Activate in previous versions of NVM Express.

The Firmware Commit command uses the Command Dword 10 (CDW10) field. All other command specific fields are reserved.

u.FIRMWAREACTIVATE.CDW10

A NVME_CDW10_FIRMWARE_ACTIVATE structure containing Command DWord 10 parameters for the Firmware Commit command.

u.FIRMWAREACTIVATE.CDW11

Command DWord 11 data fields for the Firmware Commit command.

u.FIRMWAREACTIVATE.CDW12

Command DWord 12 data fields for the Firmware Commit command.

u.FIRMWAREACTIVATE.CDW13

Command DWord 13 data fields for the Firmware Commit command.

u.FIRMWAREACTIVATE.CDW14

Command DWord 14 data fields for the Firmware Commit command.

u.FIRMWAREACTIVATE.CDW15

Command DWord 15 data fields for the Firmware Commit command.

u.FORMATNVM

A structure containing parameters for the Format NVM Command. An Admin command that is used to low level format the NVM media.

The Format NVM command uses the Command Dword 10 (CDW10) field. All other command specific fields are reserved.

u.FORMATNVM.CDW10

A NVME_CDW10_FORMAT_NVM structure containing Command DWord 10 parameters for the Format NVM command.

u.FORMATNVM.CDW11

Command DWord 11 data fields for the Format NVM command.

u.FORMATNVM.CDW12

Command DWord 12 data fields for the Format NVM command.

u.FORMATNVM.CDW13

Command DWord 13 data fields for the Format NVM command.

u.FORMATNVM.CDW14

Command DWord 14 data fields for the Format NVM command.

u.FORMATNVM.CDW15

Command DWord 15 data fields for the Format NVM command.

u.DIRECTIVERECEIVE

A structure containing parameters for the Admin Command Directive Receive.

The Directive Receive command uses the Command Dword 10 (CDW10), Command Dword 11 (CDW11), and Command Dword 12 (CDW12) fields. All other command specific fields are reserved.

u.DIRECTIVERECEIVE.CDW10

A NVME_CDW10_DIRECTIVE_RECEIVE structure containing Command DWord 10 parameters for the Directive Receive command.

u.DIRECTIVERECEIVE.CDW11

A NVME_CDW11_DIRECTIVE_RECEIVE structure containing Command DWord 11 parameters for the Directive Receive command.

u.DIRECTIVERECEIVE.CDW12

A NVME_CDW12_DIRECTIVE_RECEIVE structure containing Command DWord 12 parameters for the Directive Receive command.

u.DIRECTIVERECEIVE.CDW13

Command DWord 13 data fields for the Directive Receive command.

u.DIRECTIVERECEIVE.CDW14

Command DWord 14 data fields for the Directive Receive command.

u.DIRECTIVERECEIVE.CDW15

Command DWord 15 data fields for the Directive Receive command.

u.DIRECTIVESEND

A structure containing parameters for the Admin Command Directive Send.

The Directive Send command uses the Command Dword 10 (CDW10), Command Dword 11 (CDW11), and Command Dword 12 (CDW12) fields. All other command specific fields are reserved.

u.DIRECTIVESEND.CDW10

A NVME_CDW10_DIRECTIVE_SEND structure containing Command DWord 10 parameters for the Directive Send command.

u.DIRECTIVESEND.CDW11

A NVME_CDW11_DIRECTIVE_SEND structure containing Command DWord 11 parameters for the Directive Send command.

u.DIRECTIVESEND.CDW12

A NVME_CDW12_DIRECTIVE_SEND structure containing Command DWord 12 parameters for the Directive Send command.

u.DIRECTIVESEND.CDW13

Command DWord 13 data fields for the Directive Send command.

u.DIRECTIVESEND.CDW14

Command DWord 14 data fields for the Directive Send command.

u.DIRECTIVESEND.CDW15

Command DWord 15 data fields for the Directive Send command.

u.SANITIZE

u.SANITIZE.CDW10

u.SANITIZE.CDW11

u.SANITIZE.CDW12

u.SANITIZE.CDW13

u.SANITIZE.CDW14

u.SANITIZE.CDW15

u.READWRITE

A structure containing parameters for the NVME Read and NVME Write commands that read or write data and metadata, if applicable, to and from the NVM controller for the specified Logical Block Addresses (LBA).

The NVME Read and NVME Write commands use the Command Dword 12 (CDW12), Command Dword 13 (CDW13), and Command Dword 14 (CDW14) fields.

u.READWRITE.LBALOW

The low LBA.

u.READWRITE.LBAHIGH

The high LBA.

u.READWRITE.CDW12

A NVME_CDW12_READ_WRITE structure containing Command DWord 12 parameters for the NVME Read and NVME Write commands.

u.READWRITE.CDW13

A NVME_CDW13_READ_WRITE structure containing Command DWord 13 parameters for the NVME Read and NVME Write commands.

u.READWRITE.CDW14

Command DWord 14 data fields for the NVME Read and NVME Write commands.

u.READWRITE.CDW15

A NVME_CDW15_READ_WRITE structure containing Command DWord 15 parameters for the NVME Read and NVME Write commands.

u.RESERVATIONACQUIRE

u.RESERVATIONACQUIRE.CDW10

u.RESERVATIONACQUIRE.CDW11

u.RESERVATIONACQUIRE.CDW12

u.RESERVATIONACQUIRE.CDW13

u.RESERVATIONACQUIRE.CDW14

u.RESERVATIONACQUIRE.CDW15

u.RESERVATIONREGISTER

u.RESERVATIONREGISTER.CDW10

u.RESERVATIONREGISTER.CDW11

u.RESERVATIONREGISTER.CDW12

u.RESERVATIONREGISTER.CDW13

u.RESERVATIONREGISTER.CDW14

u.RESERVATIONREGISTER.CDW15

u.RESERVATIONRELEASE

u.RESERVATIONRELEASE.CDW10

u.RESERVATIONRELEASE.CDW11

u.RESERVATIONRELEASE.CDW12

u.RESERVATIONRELEASE.CDW13

u.RESERVATIONRELEASE.CDW14

u.RESERVATIONRELEASE.CDW15

u.RESERVATIONREPORT

u.RESERVATIONREPORT.CDW10

u.RESERVATIONREPORT.CDW11

u.RESERVATIONREPORT.CDW12

u.RESERVATIONREPORT.CDW13

u.RESERVATIONREPORT.CDW14

u.RESERVATIONREPORT.CDW15

u.ZONEMANAGEMENTSEND

u.ZONEMANAGEMENTSEND.CDW1011

u.ZONEMANAGEMENTSEND.CDW12

u.ZONEMANAGEMENTSEND.CDW13

u.ZONEMANAGEMENTSEND.CDW14

u.ZONEMANAGEMENTSEND.CDW15

u.ZONEMANAGEMENTRECEIVE

u.ZONEMANAGEMENTRECEIVE.CDW1011

u.ZONEMANAGEMENTRECEIVE.DWORDCOUNT

u.ZONEMANAGEMENTRECEIVE.CDW13

u.ZONEMANAGEMENTRECEIVE.CDW14

u.ZONEMANAGEMENTRECEIVE.CDW15

u.ZONEAPPEND

u.ZONEAPPEND.CDW1011

u.ZONEAPPEND.CDW12

u.ZONEAPPEND.CDW13

u.ZONEAPPEND.ILBRT

u.ZONEAPPEND.CDW15

Remarks

The Admin Command Set defines the commands that may be submitted to the Admin Submission Queue.

For all Admin commands, DWord 14 and DWord 15 are I/O Command Set specific.

Requirements

Requirement Value
Minimum supported client Windows 10
Header nvme.h