nvme-get-feature - Man Page

Gets an NVMe feature, returns applicable results

Synopsis

nvme get-feature <device> [--namespace-id=<nsid> | -n <nsid>]
                        [--feature-id=<fid> | -f <fid>]
                        [--uuid-index=<uuid-index> | -U <uuid_index>]
                        [--data-len=<data-len> | -l <data-len>]
                        [--sel=<select> | -s <select>]
                        [--raw-binary | -b] [--cdw11=<cdw11> | -c <cdw11>]
                        [--human-readable | -H] [--changed | -C]
                        [--output-format=<fmt> | -o <fmt>] [--verbose | -v]
                        [--timeout=<timeout> | -t <timeout>]

Description

Submits an NVMe Get 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 returned feature’s structure (if applicable) may be returned in one of several ways depending on the option flags; the structure may parsed by the program and printed in a readable format if it is a known structure, displayed in hex, or the raw buffer may be printed to stdout for another program to parse.

Options

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

Retrieve 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
-s <select>, --sel=<select>

Select (SEL): This field specifies which value of the attributes to return in the provided data:

SelectDescription
0Current
1Default
2Saved
3Supported capabilities
4-7Reserved
-U <uuid-index>, --uuid-index=<uuid-index>

UUID Index of the feature

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

The data length for the buffer returned for this feature. Most known features do not use this value. The exception is LBA Range Type

-c <cdw11>, --cdw11=<cdw11>

The value for command dword 11, if applicable.

-b,  --raw-binary

Print the raw feature buffer to stdout if the feature returns a structure.

-H,  --human-readable

This option will parse and format many of the bit fields into human-readable formats.

-C,  --changed

This option will show feature changed.

-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.

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

Override default timeout value. In milliseconds.

Examples

# nvme get-feature /dev/nvme0 -f 0xc0 -l 512 -U 0x1

Nvme

Part of the nvme-user suite

Referenced By

nvme(1).

08/15/2025 NVMe Manual