SYNOPSIS
built-in plugin:
nvme <command> <device> [<args>]
extension plugins:
nvme <plugin> <command> <device> [<args>]
DESCRIPTION
NVM-Express is a fast, scalable host controller interface designed to address the needs for not only PCI Express based solid state drives, but also NVMe-oF(over fabrics).
This nvme program is a user space utility to provide standards compliant tooling for NVM-Express drives. It was made specifically for Linux as it relies on the IOCTLs defined by the mainline kernel driver.
NVME COMMANDS
The utility has sub-commands for all admin and io commands defined in the specification and for displaying controller registers. There is also an option to submit completely arbitrary commands. For a list of commands available, run "nvme help".
nvme cli sub-commands
Main commands
- nvme-admin-passthru(1)
- 
Admin Passthrough Command 
- nvme-compare(1)
- 
IO Compare 
- nvme-error-log(1)
- 
Retrieve error logs 
- nvme-flush(1)
- 
Submit flush 
- nvme-dsm(1)
- 
Submit Data Set Management 
- nvme-format(1)
- 
Format namespace(s) 
- nvme-fw-activate(1)
- 
F/W Activate (in old version < 1.2) 
- nvme-fw-commit(1)
- 
F/W Commit (in > 1.2) 
- nvme-fw-download(1)
- 
F/W Download 
- nvme-fw-log(1)
- 
Retrieve f/w log 
- nvme-get-feature(1)
- 
Get Features 
- nvme-get-log(1)
- 
Generic Get Log 
- nvme-telemetry-log(1)
- 
Telemetry Host-Initiated Log 
- nvme-changed-ns-list-log(1)
- 
Retrieve Changed Namespace List Log 
- nvme-smart-log(1)
- 
Retrieve Smart Log 
- nvme-ana-log(1)
- 
Retrieve ANA(Asymmetric Namespace Access) Log 
- nvme-endurance-log(1)
- 
Retrieve endurance Log 
- nvme-effects-log(1)
- 
Retrieve effects Log 
- nvme-self-test-log(1)
- 
Retrieve Device Self-test Log 
- nvme-get-ns-id(1)
- 
Retrieve namespace identifier 
- nvme-help(1)
- 
NVMe CLI Help 
- nvme-id-ctrl(1)
- 
Identify Controller 
- nvme-id-ns(1)
- 
Identify Namespace 
- nvme-id-nvmset(1)
- 
Identify NVM Set List 
- nvme-id-iocs(1)
- 
Identify I/O Command Set 
- nvme-create-ns(1)
- 
Create a new namespace 
- nvme-delete-ns(1)
- 
Delete existing namespace 
- nvme-attach-ns(1)
- 
Attach namespace 
- nvme-detach-ns(1)
- 
Detach namespace 
- nvme-io-passthru(1)
- 
IO Passthrough Command 
- nvme-list-ns(1)
- 
List all nvme namespaces 
- nvme-ns-descs(1)
- 
Identify Namespace Identification Descriptor 
- nvme-list(1)
- 
List all nvme controllers 
- nvme-list-ctrl(1)
- 
List controller in NVMe subsystem 
- nvme-list-subsys(1)
- 
List NVMe subsystems 
- nvme-reset(1)
- 
Reset a NVMe controller 
- nvme-device-self-test(1)
- 
Issue Device Self-test Command 
- nvme-read(1)
- 
Issue IO Read Command 
- nvme-write(1)
- 
Issue IO Write Command 
- nvme-write-zeroes(1)
- 
Issue IO Write Zeroes Command 
- nvme-write-uncor(1)
- 
Issue IO Write Uncorrectable Command 
- nvme-resv-acquire(1)
- 
Acquire Namespace Reservation 
- nvme-resv-register(1)
- 
Register Namespace Reservation 
- nvme-resv-release(1)
- 
Release Namespace Reservation 
- nvme-resv-report(1)
- 
Report Reservation Capabilities 
- nvme-security-recv(1)
- 
Security Receive 
- nvme-security-send(1)
- 
Security Send 
- nvme-dsm(1)
- 
Issue Data Set Management Command 
- nvme-copy(1)
- 
Issue Simple Copy Command 
- nvme-set-feature(1)
- 
Set Feature 
- nvme-show-regs(1)
- 
Show NVMe Controller Registers 
- nvme-discover(1)
- 
Send Get Log Page request to Discovery Controller 
- nvme-connect-all(1)
- 
Discover and connect to all NVMe-over-Fabrics subsystems 
- nvme-connect(1)
- 
Connect to an NVMe-over-Fabrics subsystem 
- nvme-dim(1)
- 
Send Discovery Information Management command to a Discovery Controller 
- nvme-disconnect(1)
- 
Disconnect from an NVMe-over-Fabrics subsystem 
- nvme-disconnect-all(1)
- 
Disconnect from all NVMe-over-Fabrics subsystems 
- nvme-get-property(1)
- 
Reads and shows NVMe-over-Fabrics controller property 
- nvme-media-unit-stat-log(1)
- 
Retrieve and show the configuration and wear of media units 
- nvme-supported-cap-config-log(1)
- 
Retrieve and show the list of Supported Capacity Configuration Descriptors 
- nvme-boot-part-log(1)
- 
Retrieve Boot Partition Log 
- nvme-capacity-mgmt(1)
- 
Capacity Management Command 
- nvme-check-dhchap-key(1)
- 
Generate NVMeoF DH-HMAC-CHAP host key 
- nvme-check-tls-key(1)
- 
Validate NVMeoF TLS PSK 
- nvme-cmdset-ind-id-ns(1)
- 
I/O Command Set Independent Identify Namespace 
- nvme-endurance-event-agg-log(1)
- 
Retrieve Endurance Group Event Aggregate Log 
- nvme-fid-support-effects-log(1)
- 
Retrieve FID Support and Effects log 
- nvme-gen-dhchap-key(1)
- 
Generate NVMeoF DH-HMAC-CHAP host key 
- nvme-gen-hostnqn(1)
- 
Generate NVMeoF host NQN 
- nvme-gen-tls-key(1)
- 
Generate NVMeoF TLS PSK 
- nvme-get-lba-status(1)
- 
Get LBA Status command 
- nvme-id-domain(1)
- 
NVMe Identify Domain List 
- nvme-id-ns-lba-format(1)
- 
NVMe Identify Namespace for the specified LBA Format index 
- nvme-lba-status-log(1)
- 
Retrieve LBA Status Information Log 
- nvme-list-endgrp(1)
- 
NVMe Identify Endurance Group List 
- nvme-ns-rescan(1)
- 
Rescans the NVME namespaces 
- nvme-nvm-id-ctrl(1)
- 
NVMe Identify Controller NVM Command Set 
- nvme-nvm-id-ns(1)
- 
NVMe Identify Namespace NVM Command Set 
- nvme-nvm-id-ns-lba-format(1)
- 
NVMe Identify Namespace NVM Command Set for the specified LBA Format index 
- nvme-persistent-event-log(1)
- 
Retrieve Persistent Event Log 
- nvme-predictable-lat-log(1)
- 
Retrieve Predictable Latency per Nvmset Log 
- nvme-pred-lat-event-agg-log(1)
- 
Retrieve Predictable Latency Event Aggregate Log 
- nvme-primary-ctrl-caps(1)
- 
NVMe Identify Primary Controller Capabilities 
- nvme-reset(1)
- 
Resets the controller 
- nvme-rpmb(1)
- 
Replay Protection Memory Block commands 
- nvme-sanitize-log(1)
- 
Retrieve sanitize log 
- nvme-set-property(1)
- 
Set a property and show the resulting value 
- nvme-show-hostnqn(1)
- 
Show NVMeoF host NQN 
- nvme-subsystem-reset(1)
- 
Resets the subsystem 
- nvme-supported-log-pages(1)
- 
Retrieve the Supported Log pages details 
- nvme-verify(1)
- 
verify command 
- nvme-show-topology(1)
- 
Show NVMe topology 
Plugins/Vendor extension commands
- nvme-intel-id-ctrl(1)
- 
Intel - NVMe Identify Controller 
- nvme-intel-internal-log(1)
- 
Retrieve Intel device’s internal log and save to file 
- nvme-intel-lat-stats(1)
- 
Retrieve NVMe Identify Controller, return result and structure 
- nvme-intel-market-name(1)
- 
Intel vendor specific marketing name log page 
- nvme-intel-smart-log-add(1)
- 
NVMe Intel Additional SMART log page 
- nvme-intel-temp-stats(1)
- 
NVMe Intel Additional SMART log page for temp stats 
- nvme-huawei-id-ctrl(1)
- 
NVMe huawei Identify Controller 
- nvme-huawei-list(1)
- 
List all recognized Huawei NVMe devices 
- nvme-dera-stat(1)
- 
NVMe Dera Device status and Additional SMART log page request 
- nvme-micron-clear-pcie-errors(1)
- 
Clears correctable PCIe correctable errors of given Micron device 
- nvme-micron-internal-log(1)
- 
Retrieve Micron device’s internal logs and save to given zip file 
- nvme-micron-nand-stats(1)
- 
Retrieves NAND statistics of given micron device 
- nvme-micron-pcie-stats(1)
- 
Retrieves pcie error statistics for given micron device 
- nvme-micron-selective-download(1)
- 
Performs selective firmware download 
- nvme-micron-smart-add-log(1)
- 
Retrieves NAND statistics 
- nvme-micron-temperature-stats(1)
- 
Retrieves temperature information of given micron device 
- nvme-netapp-ontapdevices(1)
- 
Display information about ONTAP devices 
- nvme-netapp-smdevices(1)
- 
Display information for each NVMe path to an E-Series volume 
- nvme-toshiba-clear-pcie-correctable-errors(1)
- 
Reset the PCIe correctable errors count to zero 
- nvme-toshiba-vs-internal-log(1)
- 
Retrieve a Toshiba device’s vendor specific internal log 
- nvme-toshiba-vs-smart-add-log(1)
- 
Retrieve a Toshiba device’s vendor specific extended SMART log page 
- nvme-transcend-badblock(1)
- 
Retrieve Transcend NVMe device’s bad blocks 
- nvme-transcend-healthvalue(1)
- 
Use NVMe SMART table to analyze the health value of Transcend device 
- nvme-virtium-show-identify(1)
- 
Show a complete detail of identify device information in json format 
- nvme-virtium-save-smart-to-vtview-log(1)
- 
Periodically save smart attributes into a log file 
- nvme-wdc-cap-diag(1)
- 
Retrieve WDC device’s diagnostic log and save to file 
- nvme-wdc-capabilities(1)
- 
Display WDC plugin command capabilities 
- nvme-wdc-clear-assert-dump(1)
- 
Clears the assert dump (if present) 
- nvme-wdc-clear-fw-activate-history(1)
- 
Clears the firmware activate history table 
- nvme-wdc-clear-pcie-corr(1)
- 
Clears the pcie correctable errors field 
- nvme-wdc-clear-pcie-correctable-errors(1)
- 
Clears the pcie correctable errors returned in the smart-log-add command 
- nvme-wdc-cloud-SSD-plugin-version(1)
- 
Display WDC plugin Cloud SSD Plugin Version 
- nvme-wdc-drive-essentials(1)
- 
Retrieve WDC device’s drive essentials bin files 
- nvme-wdc-drive-log(1)
- 
Retrieve WDC device’s drive log and save to file 
- nvme-wdc-drive-resize(1)
- 
Send NVMe WDC Resize Vendor Unique Command 
- nvme-wdc-enc-get-log(1)
- 
Send NVMe WDC enc-get-log Vendor Unique Command 
- nvme-wdc-get-crash-dump(1)
- 
Retrieve WDC device’s crash dump 
- nvme-wdc-get-drive-status(1)
- 
Send the NVMe WDC get-drive-status command 
- nvme-wdc-get-latency-monitor-log(1)
- 
Display latency monitor log page data in human readable format 
- nvme-wdc-get-pfail-dump(1)
- 
Retrieve WDC device’s pfail crash dump 
- nvme-wdc-id-ctrl(1)
- 
Send NVMe Identify Controller, return result and structure 
- nvme-wdc-log-page-directory(1)
- 
Retrieves the list of Log IDs supported by the drive 
- nvme-wdc-namespace-resize(1)
- 
Resizes the device’s namespace 
- nvme-wdc-purge-monitor(1)
- 
Send NVMe WDC Purge-Monitor Vendor Unique Command 
- nvme-wdc-purge(1)
- 
Send NVMe WDC Purge Vendor Unique Command 
- nvme-wdc-smart-add-log(1)
- 
Send NVMe WDC smart add log Vendor Unique Command 
- nvme-wdc-vs-drive-info(1)
- 
Send the NVMe WDC vs-drive-info command 
- nvme-wdc-vs-error-reason-identifier(1)
- 
Retrieve WDC device’s telemetry log error reason identifier field 
- nvme-wdc-vs-fw-activate-history(1)
- 
Execute NVMe WDC vs-fw-activate-history Vendor Unique Command 
- nvme-wdc-vs-internal-log(1)
- 
Retrieve WDC device’s internal firmware log and save to file 
- nvme-wdc-vs-nand-stats(1)
- 
Send NVMe WDC vs-nand-stats Vendor Unique Command 
- nvme-wdc-vs-telemetry-controller-option(1)
- 
Disable/Enable the controller initiated option of the telemetry log page 
- nvme-wdc-vs-temperature-stats(1)
- 
Display temperature-related statistics 
- nvme-zns-changed-zone-list(1)
- 
Retrieve Changed Zone log for the given device 
- nvme-zns-close-zone(1)
- 
Closes one or all zones 
- nvme-zns-finish-zone(1)
- 
Finishes one or all zones 
- nvme-zns-id-ctrl(1)
- 
Send NVMe Zoned Command Set Identify Controller 
- nvme-zns-id-ns(1)
- 
Send NVMe Zoned Command Set Identify Namespace 
- nvme-zns-offline-zone(1)
- 
Offlines one or all zones 
- nvme-zns-open-zone(1)
- 
Opens one or all zones 
- nvme-zns-report-zones(1)
- 
Retrieve and display the Report Zones data structure 
- nvme-zns-reset-zone(1)
- 
Resets one or all zones 
- nvme-zns-set-zone-desc(1)
- 
Set extended descriptor data for a zone 
- nvme-zns-zone-append(1)
- 
Send an NVMe write command, provide results 
- nvme-zns-zone-mgmt-recv(1)
- 
Zone Management Receive command 
- nvme-zns-zone-mgmt-send(1)
- 
Zone Management Send command 
- nvme-zns-zrwa-flush-zone(1)
- 
Flush LBAs associated with a ZRWA to a zone 
- nvme-inspur-nvme-vendor-log(1)
- 
NVMe Inspur Device Vendor log page request 
RETURNS
All commands will behave the same, they will return 0 on success and 1 on failure.
FURTHER DOCUMENTATION
See the freely available references on the Official NVM-Express Site.
Authors
This is written and maintained by Keith Busch.
Reporting Bugs
Patches and issues may be submitted to the official repository at https://github.com/linux-nvme/nvme-cli or the Linux NVMe mailing list linux-nvme
NVME
Part of the nvme suite