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.
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
- -s <select>
- --sel=<select>
-
Select (SEL): This field specifies which value of the attributes to return in the provided data:
Select
Description
0
Current
1
Default
2
Saved
3
Supported capabilities
4-7
Reserved
- -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
-
Retrieves the feature for Number of Queues, or feature id 7:
# nvme get-feature /dev/nvme0 -f 7
-
The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be printed to the screen in human readable format:
# nvme get-feature /dev/nvme0 -f 3
-
Retrieves the feature for the some vendor specific feature and specifically requesting a buffer be allocate for this feature, which will be displayed to the user in as a hex dump:
# nvme get-feature /dev/nvme0 -f 0xc0 -l 512
Get feature with UUID index
# nvme get-feature /dev/nvme0 -f 0xc0 -l 512 -U 0x1
-
The following retrieves the feature for the LBA Range Type, which implicitly requires a buffer and will be saved to a file in its raw format:
# nvme get-feature /dev/nvme0 -f 3 --raw-binary > lba_range.raw
It is probably a bad idea to not redirect stdout when using this mode.
NVME
Part of the nvme-user suite