Scroll to navigation

NVME-SET-FEATURE(1) NVMe Manual NVME-SET-FEATURE(1)

NAME

nvme-set-feature - Sets an NVMe feature, returns applicable results

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

08/10/2025 NVMe