NVME_POWER_STATE_DESC structure (nvme.h)

Contains fields that describe the attributes of each power state.

An array of NVME_POWER_STATE_DESC structures are used in the PDS field of the Controller Capabilities structure.

Syntax

typedef struct {
  USHORT MP;
  UCHAR  Reserved0;
  UCHAR  MPS : 1;
  UCHAR  NOPS : 1;
  UCHAR  Reserved1 : 6;
  ULONG  ENLAT;
  ULONG  EXLAT;
  UCHAR  RRT : 5;
  UCHAR  Reserved2 : 3;
  UCHAR  RRL : 5;
  UCHAR  Reserved3 : 3;
  UCHAR  RWT : 5;
  UCHAR  Reserved4 : 3;
  UCHAR  RWL : 5;
  UCHAR  Reserved5 : 3;
  USHORT IDLP;
  UCHAR  Reserved6 : 6;
  UCHAR  IPS : 2;
  UCHAR  Reserved7;
  USHORT ACTP;
  UCHAR  APW : 3;
  UCHAR  Reserved8 : 3;
  UCHAR  APS : 2;
  UCHAR  Reserved9[9];
} NVME_POWER_STATE_DESC, *PNVME_POWER_STATE_DESC;

Members

MP

Indicates the maximum power consumed by the NVM subsystem in this power state.

The power in Watts is equal to the value in this field multiplied by the scale specified in the Max Power Scale (MPS) field.

Reserved0

Bits 16:23 are reserved.

MPS

Indicates the scale for the Maximum Power field (MP).

When this field is cleared to 0, the scale of the MP field is in 0.01 Watts. When this field is set to 1, the scale of the MP field is in 0.0001 Watts.

NOPS

Indicates whether the controller processes I/O commands in this power state.

When this field is cleared to 0, the controller processes I/O commands in this power state. When this field is set to 1, the controller does not process I/O commands in this power state.

Reserved1

Bits 26:31 are reserved.

ENLAT

Indicates the maximum entry latency in microseconds associated with entering this power state.

EXLAT

Indicates the maximum exit latency in microseconds associated with exiting this power state.

RRT

Indicates the relative read throughput associated with this power state.

The value in this field should be less than the number of supported power states. For example, if the controller supports 16 power states, then the valid values for this field are 0 through 15. A lower value indicates a higher read throughput.

Reserved2

Bits 101:103 are reserved.

RRL

Indicates the relative read latency associated with this power state.

The value in this field should be less than the number of supported power states. For example, if the controller supports 16 power states, then the valid values for this field are 0 through 15. A lower value indicates a lower read latency.

Reserved3

Bits 109:111 are reserved.

RWT

Indicates the relative write throughput associated with this power state.

The value in this field should be less than the number of supported power states. For example, if the controller supports 16 power states, then the valid values for this field are 0 through 15. A lower value indicates a higher write throughput.

Reserved4

Bits 117:119 are reserved.

RWL

Indicates the relative write latency associated with this power state.

The value in this field should be less than the number of supported power states. For example, if the controller supports 16 power states, then the valid values for this field are 0 through 15. A lower value indicates a lower write latency.

Reserved5

Bits 125:127 are reserved.

IDLP

Indicates the typical power consumed by the NVM subsystem over 30 seconds in this power state when idle (for instance, there are no pending commands, register accesses, or background processes).

The measurement starts after the NVM subsystem has been idle for 10 seconds. The power in Watts is equal to the value in this field multiplied by the scale indicated in the Idle Power Scale (IPS) field. A value of 0000h indicates Idle Power is not reported.

Reserved6

Bits 144:149 are reserved.

IPS

This field indicates the scale for the Idle Power (IDLP) field.

The IPS field uses the following values:

Value Definition
00b Not reported for this power state.
01b 0.0001 W
10b 0.01 W
11b Reserved

Reserved7

Bits 152:159 are reserved.

ACTP

Indicates the largest average power consumed by the NVM subsystem over a 10 second period in this power state with the workload indicated in the Active Power Workload (APW) field.

The power in Watts is equal to the value in this field multiplied by the scale indicated in the Active Power Scale (APS) field. A value of 0000h indicates Active Power is not reported.

APW

Indicates the workload used to calculate maximum power for this power state.

The APW field uses the following values:

Value Definition
00b No Workload. The workload is unknown or not provided.
01b Workload #1. Extended Idle Period with a Burst of Random Writes. Workload #1 consists of five (5) minutes of idle followed by thirty-two (32) random write commands of size 1MB submitted to a single controller while all other controllers in the NVM subsystem are idle, and then thirty (30) seconds of idle.
10b Workload #2: Heavy Sequential Writes. Workload #2 consists of 80,000 sequential write commands of size 128KB submitted to a single controller while all other controllers in the NVM subsystem are idle. The submission queue(s) should be sufficiently large allowing the host to ensure there are multiple commands pending at all times during the workload.
11b Reserved

This field will not have a value of No Workload unless ACTP is 0000h.

Reserved8

Bits 179:181 are reserved.

APS

Indicates the scale for the Active Power (ACTP) field. If an Active Power Workload (APW) is reported for a power state, then the Active Power Scale (APS) will also be reported for that power state.

The APS field uses the following values:

Value Definition
00b Not reported for this power state.
01b 0.0001 W
10b 0.01 W
11b Reserved

Reserved9[9]

Bits 184:255 are reserved.

Requirements

Requirement Value
Minimum supported client Windows 10
Header nvme.h