nvme-set-feature - Man Page

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.

ValueDefinition
0x01 | arbitrationArbitration
0x02 | power-mgmtPower Management
0x03 | lba-rangeLBA Range Type
0x04 | temp-threshTemperature Threshold
0x05 | err-recoveryError Recovery
0x06 | volatile-wcVolatile Write Cache
0x07 | num-queuesNumber of Queues
0x08 | irq-coalesceInterrupt Coalescing
0x09 | irq-configInterrupt Vector Configuration
0x0a | write-atomicWrite Atomicity Normal
0x0b | async-eventAsynchronous Event Configuration
0x0c | auto-pstAutonomous Power State Transition
0x0d | host-mem-bufHost Memory Buffer
0x0e | timestampTimestamp
0x0f | katoKeep Alive Timer
0x10 | hctmHost Controlled Thermal Management
0x11 | nopscNon-Operational Power State Config
0x12 | rrlRead Recovery Level Config
0x13 | plm-configPredictable Latency Mode Config
0x14 | plm-windowPredictable Latency Mode Window
0x15 | lba-sts-intervalLBA Status Information Report Interval
0x16 | host-behaviorHost Behavior Support
0x17 | sanitizeSanitize Config
0x18 | endurance-evt-cfgEndurance Group Event Configuration
0x19 | iocs-profileI/O Command Set Profile
0x1a | spinup-controlSpinup Control
0x1b | power-loss-signalPower Loss Signaling Config
0x1c | perf-characteristicsPerformance Characteristics
0x1d | fdpFlexible Data Placement
0x1e | fdp-eventsFDP Events
0x1f | ns-admin-labelNamespace Admin Label
0x20 | key-valueKey Value Configuration
0x21 | ctrl-data-queueController Data Queue
0x78 | emb-mgmt-ctrl-addrEmbedded Management Controller Address
0x79 | host-mgmt-agent-addrHost Management Agent Address
0x7d | enh-ctrl-metadataEnhanced Controller Metadata
0x7e | ctrl-metadataController Metadata
0x7f | ns-metadataNamespace Metadata
0x80 | sw-progressSoftware Progress Marker
0x81 | host-idHost Identifier
0x82 | resv-maskReservation Notification Mask
0x83 | resv-persistReservation Persistence
0x84 | write-protectNamespace Write Protection Config
0x85 | bp-write-protectBoot 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

Nvme

Part of the nvme-user suite

Referenced By

nvme(1).

08/15/2025 NVMe Manual