NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD union (nvme.h)
Contains parameters for the Temperature Threshold feature that is used to set an over temperature threshold and an under temperature threshold for up to nine temperature values.
The values from this structure are used in the TemperatureThreshold field of the NVME_CDW11_FEATURES structure.
A controller may report up to nine temperature values in the SMART / Health Information Log (NVME_HEALTH_INFO_LOG). For example, the Composite Temperature and Temperature Sensor 1 through Temperature Sensor 8. Associated with each implemented temperature sensor is an over temperature threshold and an under temperature threshold. When a temperature is greater than or equal to its corresponding over temperature threshold or less than or equal to its corresponding under temperature threshold, then bit one of the CriticalWarning field in the NVME_HEALTH_INFO_LOG structure is set to one. This may trigger an asynchronous event.
The over temperature threshold feature is implemented for Composite Temperature. The under temperature threshold Feature is implemented for Composite Temperature if a non-zero Warning Composite Temperature Threshold WCTEMP field value is reported in the Identify Controller NVME_IDENTIFY_CONTROLLER_DATA data structure. The over temperature threshold and under temperature threshold features are implemented for all implemented temperature sensors (all Temperature Sensor fields that report a non-zero value).
The default value of the over temperature threshold feature for Composite Temperature is the value in the WCTEMP field in the NVME_IDENTIFY_CONTROLLER_DATA data structure if WCTEMP is non-zero; otherwise, it is implementation specific. The default value of the over temperature threshold for all implemented temperature sensors is FFFFh
. The default value for all implemented under temperature thresholds is 0h
.
Syntax
typedef union {
struct {
ULONG TMPTH : 16;
ULONG TMPSEL : 4;
ULONG THSEL : 2;
ULONG Reserved0 : 10;
} DUMMYSTRUCTNAME;
ULONG AsUlong;
} NVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD, *PNVME_CDW11_FEATURE_TEMPERATURE_THRESHOLD;
Members
DUMMYSTRUCTNAME
DUMMYSTRUCTNAME.TMPTH
Indicates the threshold for the temperature of the overall device (controller and NVM included) in units of Kelvin. This value is applied in a Set Features command and returned in a Get Features command, for the temperature sensor and threshold type specified.
DUMMYSTRUCTNAME.TMPSEL
Specifies the temperature whose threshold is modified by a Set Features command and whose threshold value is returned by a Get Features command.
The following values are allowed for this field:
Value | Description |
---|---|
0000b |
Composite Temperature |
0001b |
Temperature Sensor 1 |
0010b |
Temperature Sensor 2 |
0011b |
Temperature Sensor 3 |
0100b |
Temperature Sensor 4 |
0101b |
Temperature Sensor 5 |
0110b |
Temperature Sensor 6 |
0111b |
Temperature Sensor 7 |
1000b |
Temperature Sensor 8 |
1001b - 1110b |
Reserved |
1111b |
All implemented temperature sensors in a Set Features command. Reserved in a Get Features command. |
DUMMYSTRUCTNAME.THSEL
Specifies an NVME_TEMPERATURE_THRESHOLD_TYPES value that indicates the threshold type that is modified by a Set Features command and whose threshold value is returned by a Get Features command.
DUMMYSTRUCTNAME.Reserved0
AsUlong
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 10 |
Header | nvme.h |