NVME_CDW11_FEATURES union (nvme.h)
Contains parameters for the Get Features and Set Features commands that retrieve or set the attributes of the specified feature.
This structure is used in the CDW11 parameter of the GETFEATURES and SETFEATURES fields in the Command structure.
Syntax
typedef union {
NVME_CDW11_FEATURE_NUMBER_OF_QUEUES NumberOfQueues;
NVME_CDW11_FEATURE_INTERRUPT_COALESCING InterruptCoalescing;
NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG InterruptVectorConfig;
NVME_CDW11_FEATURE_LBA_RANGE_TYPE LbaRangeType;
NVME_CDW11_FEATURE_ARBITRATION Arbitration;
NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE VolatileWriteCache;
NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG AsyncEventConfig;
NVME_CDW11_FEATURE_POWER_MANAGEMENT PowerManagement;
NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION AutoPowerStateTransition;
NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD TemperatureThreshold;
NVME_CDW11_FEATURE_ERROR_RECOVERY ErrorRecovery;
NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER HostMemoryBuffer;
NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL WriteAtomicityNormal;
NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE NonOperationalPowerState;
NVME_CDW11_FEATURE_IO_COMMAND_SET_PROFILE IoCommandSetProfile;
NVME_CDW11_FEATURE_ERROR_INJECTION ErrorInjection;
NVME_CDW11_FEATURE_HOST_IDENTIFIER HostIdentifier;
NVME_CDW11_FEATURE_RESERVATION_PERSISTENCE ReservationPersistence;
NVME_CDW11_FEATURE_RESERVATION_NOTIFICATION_MASK ReservationNotificationMask;
NVME_CDW11_FEATURE_GET_HOST_METADATA GetHostMetadata;
NVME_CDW11_FEATURE_SET_HOST_METADATA SetHostMetadata;
ULONG AsUlong;
} NVME_CDW11_FEATURES, *PNVME_CDW11_FEATURES;
Members
NumberOfQueues
Specifies an NVME_CDW11_FEATURE_NUMBER_OF_QUEUES structure containing values that indicates the number of queues that the host requests for this controller.
When a Set Features or Get Features command is submitted for the Number of Queues Feature, the NVME_CDW11_FEATURE_NUMBER_OF_QUEUES structure is returned in the Dword 0 (DW0) field of the Completion Queue entry for that command.
InterruptCoalescing
Specifies an NVME_CDW11_FEATURE_INTERRUPT_COALESCING structure containing values that configure the interrupt coalescing settings.
When a Get Features command is submitted for the Interrupt Coalescing Feature, the values specified in the TIME and THR fields of the NVME_CDW11_FEATURE_INTERRUPT_COALESCING structure are returned in the DW0 field of the Completion Queue Entry for that command.
InterruptVectorConfig
Specifies an NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG structure containing values that configure settings specific to a particular interrupt vector.
When a Get Features command is submitted for the Interrupt Vector Configuration Feature, the values specified in the Interrupt Vector (IV) and Coalescing Disabled (CD) fields of the NVME_CDW11_FEATURE_INTERRUPT_VECTOR_CONFIG structure are returned in the DW0 field of the Completion Queue Entry for that command.
Prior to issuing this feature, the host should configure the specified Interrupt Vector with a valid I/O Completion Queue. If the I/O Completion Queue or Interrupt Vector specified is invalid, the controller will return a status of NVME_STATUS_INVALID_FIELD_IN_COMMAND.
LbaRangeType
Specifies an NVME_CDW11_FEATURE_LBA_RANGE_TYPE structure containing a value that specifies the number of LBA ranges for the LBA Range Type Feature in the Set Features command.
This field is used for the Set Features command only and is ignored for the Get Features command.
The LBA Range Type feature specifies type and attributes of Logical Block Allocation (LBA) ranges that are part of the specified namespace. The feature uses the NVME_CDW11_FEATURE_LBA_RANGE_TYPE structure to specify the number of LBA ranges, and the NVME_LBA_RANGET_TYPE_ENTRY data structure to specify the type and attribute information.
When a Get Features command is submitted for the LBA Range Type feature, the value specified in the NUM field of the NVME_CDW11_FEATURE_LBA_RANGE_TYPE structure is returned in the DW0 field of the Completion Queue entry, and the LBA Range Type NVME_LBA_RANGET_TYPE_ENTRY data structure is returned in the data buffer for that command.
Arbitration
Specifies an NVME_CDW11_FEATURE_ARBITRATION structure containing values that control command arbitration.
When a Get Features command is submitted for the Arbitration feature, the structure specified in this field is returned in the DW0 field of the Completion Queue entry for that command.
VolatileWriteCache
Specifies an NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE structure containing values that control the volatile write cache, if present, on the controller.
When a Get Features command is submitted for the Volatile Write Cache Feature, the value specified in the WCE field of the NVME_CDW11_FEATURE_VOLATILE_WRITE_CACHE is returned in the DW0 field of the Completion Queue Entry for that command.
AsyncEventConfig
Specifies an NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG structure containing parameters for the Asynchronous Event Configuration Feature that controls the events that trigger an asynchronous event notification to the host.
When a Get Features command is submitted for the Asynchronous Event Configuration Feature, the values specified in The NVME_CDW11_FEATURE_ASYNC_EVENT_CONFIG structure are returned in the DW0 field of the Completion Queue Entry structure for that command.
PowerManagement
Specifies an NVME_CDW11_FEATURE_POWER_MANAGEMENT structure containing values that allow the host to configure the power state.
When a Get Features command is submitted for the Power Management feature, the NVME_CDW11_FEATURE_POWER_MANAGEMENT structure is returned in the DW0 field of the Completion Queue entry for that command.
AutoPowerStateTransition
Specifies an NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION structure containing parameters for the Autonomous Power State Transition Feature that configures the settings for autonomous power state transitions.
The Autonomous Power State Transition Feature specifies the attribute information in the NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION data structure and the Autonomous Power State Transition Entry data structure.
When a Get Features command is submitted for the Autonomous Power State Transition Feature, the value specified in The APSTE field of the NVME_CDW11_FEATURE_AUTO_POWER_STATE_TRANSITION structure is returned in the DW0 field of the Completion Queue Entry, and the NVME_AUTO_POWER_STATE_TRANSITION_ENTRY data structure is returned in the data buffer for that command.
TemperatureThreshold
Specifies an NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD structure containing values that are used to set or retrieve temperature threshold values for the controller.
ErrorRecovery
HostMemoryBuffer
Specifies an NVME_CDW11_FEATURE_HOST_MEMORY_BUFFER structure containing values that are used to control the Host Memory Buffer.
The Host Memory Buffer feature provides a mechanism for the host to allocate a portion of host memory for the controller to use exclusively. After a successful completion of a Set Features command that enables the host memory buffer, the host will not write to the associated host memory region, buffer size, or descriptor list until the host memory buffer has been disabled. After a successful completion of a Set Features command that disables the host memory buffer, the controller will not access any data in the host memory buffer until the host memory buffer has been enabled.
The Host Memory Descriptor List is a physically contiguous data structure in host memory that describes the address and length pairs of the Host Memory Buffer. The boundaries and contents of the list are defined in following fields and structures:
- The lower bounds of the Host Memory Descriptor List address are defined in the HMDLLA field of the NVME_CDW13_FEATURE_HOST_MEMORY_BUFFER.
- The upper bounds of the Host Memory Descriptor List address are defined in the HMDLUA field of the NVME_CDW14_FEATURE_HOST_MEMORY_BUFFER.
- The number of addresses and length pairs for the Host Memory Descriptor List are specified in the Host Memory Descriptor List Entry Count in the HMDLEC field of the NVME_CDW15_FEATURE_HOST_MEMORY_BUFFER.
- The fields for an entry in the Host Memory Descriptor List are specified in the NVME_HOST_MEMORY_BUFFER_DESCRIPTOR_ENTRY structure.
WriteAtomicityNormal
Specifies an NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL structure containing values that control the operation of the Atomic Write Unit Normal (AWUN) and Namespace Atomic Write Unit Normal (NAWUN) parameters that define the controller’s support for atomic operations.
When a Get Features command is submitted for the Write Atomicity Normal Feature, the values specified in The NVME_CDW11_FEATURE_WRITE_ATOMICITY_NORMAL structure are returned in the DW0 field of the Completion Queue Entry structure for that command.
NonOperationalPowerState
Specifies an NVME_CDW11_FEATURE_NON_OPERATIONAL_POWER_STATE structure containing values for the Non-Operational Power State Feature that indicates whether permissive mode is enabled for a non-operational power state.
IoCommandSetProfile
ErrorInjection
HostIdentifier
ReservationPersistence
ReservationNotificationMask
GetHostMetadata
SetHostMetadata
AsUlong
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Header | nvme.h |