SYNOPSIS

nvme set-feature <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--feature-id=<fid> | -f <fid>] [--value=<value> | -V <value>]
                        [--uuid-index=<uuid-index> | -U <uuid_index>]
                        [--data-len=<data-len> | -l <data-len>]
                        [--data=<data-file> | -d <data-file>] [--save | -s]
                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
                        [--cdw12=<cdw12> | -c <cdw12>]
                        [--timeout=<timeout> | -t <timeout>]

DESCRIPTION

Submits an NVMe Set Feature admin command and returns the applicable results. This may be the feature’s value, or may also include a feature structure if the feature requires it (ex: LBA Range Type).

The <device> parameter is mandatory and may be either the NVMe character device (ex: /dev/nvme0), or a namespace block device (ex: /dev/nvme0n1).

On success, the value sent to the device is displayed

OPTIONS

-n <nsid>
--namespace-id=<nsid>

Sets the feature for the given nsid. This is optional and most features do not use this value.

-f <fid>
--feature-id=<fid>

The feature id to send with the command. Value provided should be in hex.

Value

Definition

0x01 | arbitration

Arbitration

0x02 | power-mgmt

Power Management

0x03 | lba-range

LBA Range Type

0x04 | temp-thresh

Temperature Threshold

0x05 | err-recovery

Error Recovery

0x06 | volatile-wc

Volatile Write Cache

0x07 | num-queues

Number of Queues

0x08 | irq-coalesce

Interrupt Coalescing

0x09 | irq-config

Interrupt Vector Configuration

0x0a | write-atomic

Write Atomicity Normal

0x0b | async-event

Asynchronous Event Configuration

0x0c | auto-pst

Autonomous Power State Transition

0x0d | host-mem-buf

Host Memory Buffer

0x0e | timestamp

Timestamp

0x0f | kato

Keep Alive Timer

0x10 | hctm

Host Controlled Thermal Management

0x11 | nopsc

Non-Operational Power State Config

0x12 | rrl

Read Recovery Level Config

0x13 | plm-config

Predictable Latency Mode Config

0x14 | plm-window

Predictable Latency Mode Window

0x15 | lba-sts-interval

LBA Status Information Report Interval

0x16 | host-behavior

Host Behavior Support

0x17 | sanitize

Sanitize Config

0x18 | endurance-evt-cfg

Endurance Group Event Configuration

0x19 | iocs-profile

I/O Command Set Profile

0x1a | spinup-control

Spinup Control

0x1b | power-loss-signal

Power Loss Signaling Config

0x1c | perf-characteristics

Performance Characteristics

0x1d | fdp

Flexible Data Placement

0x1e | fdp-events

FDP Events

0x1f | ns-admin-label

Namespace Admin Label

0x20 | key-value

Key Value Configuration

0x21 | ctrl-data-queue

Controller Data Queue

0x78 | emb-mgmt-ctrl-addr

Embedded Management Controller Address

0x79 | host-mgmt-agent-addr

Host Management Agent Address

0x7d | enh-ctrl-metadata

Enhanced Controller Metadata

0x7e | ctrl-metadata

Controller Metadata

0x7f | ns-metadata

Namespace Metadata

0x80 | sw-progress

Software Progress Marker

0x81 | host-id

Host Identifier

0x82 | resv-mask

Reservation Notification Mask

0x83 | resv-persist

Reservation Persistence

0x84 | write-protect

Namespace Write Protection Config

0x85 | bp-write-protect

Boot Partition Write Protection Config

-l <data-len>
--data-len=<data-len>

The data length for the buffer submitted for this feature. Most known features do not use this value. The exceptions are LBA Range Type and host identifier.

-d <data-file>
--data=<data-file>

The data file for the buffer submitted for this feature. Most known features do not use this value. The exceptions is LBA Range Type and host identifier. This defaults to STDIN so files and echo can be piped.

-V <value>
--value=<value>

The value for command dword 11, the value you want to set the feature to.

-s
--save

Save the attribute so that it persists through all power states and resets.

-U <uuid-index>
--uuid-index=<uuid-index>

UUID Index of the feature

-o <fmt>
--output-format=<fmt>

Set the reporting format to normal, json or binary. Only one output format can be used at a time.

-v
--verbose

Increase the information detail in the output.

-c <cdw12>
--cdw12=<cdw12>

The value for command dword 12, if applicable.

-t <timeout>
--timeout=<timeout>

Override default timeout value. In milliseconds.

EXAMPLES

  • Sets the Power State (PS) to 1 in feature id 2:

    # nvme set-feature /dev/nvme0 -f 2 /dev/nvme0n1 -V 0x1
  • Sets the host id to the ascii string.

    # echo "abcdefgh" | nvme set-feature /dev/nvme0 -f 0x81 -l 8

    nvme set-feature /dev/nvme0 -f 0x81 -l 8 -U 0x1

NVME

Part of the nvme-user suite