2 .\" This file and its contents are supplied under the terms of the
3 .\" Common Development and Distribution License ("CDDL"), version 1.0.
4 .\" You may only use this file in accordance with the terms of version
7 .\" A full copy of the text of the CDDL should have accompanied this
8 .\" source. A copy of the CDDL is also available via the Internet at
9 .\" http://www.illumos.org/license/CDDL.
12 .\" Copyright 2016 Nexenta Systems, Inc. All rights reserved.
19 .Nd NVMe administration utility
63 utility can be used to enumerate the NVMe controllers and their
64 namespaces, query hardware information from a NVMe controller or
65 namespace, and to format or secure-erase a NVMe controller or
68 The information returned by the hardware is printed by
70 in a human-readable form were applicable.
71 Generally all 0-based counts are normalized and values may be
72 converted to human-readable units such as MB (megabytes), W (watts),
73 or C (degrees Celsius).
75 The following options are supported:
78 Print a short help text for
80 or for an optionally specified
84 Enable debugging output.
86 Enable verbose output.
90 expects the following kinds of arguments:
91 .Bl -tag -width "ctl/[ns]"
99 Specifies a NVMe controller and optionally a namespace within that
101 The controller name consists of the driver name
103 followed by an instance number.
104 A namespace is specified by appending a single
106 followed by the namespace ID to the controller name.
107 The namespace ID is the EUI64 of the namespace, or a positive non-zero
108 decimal number if the namespace doesn't have an EUI64.
109 For commands that don't change the device state multiple controllers
110 and namespaces can be specified as a comma-separated list.
112 The list of controllers and namespaces present in the system can be
115 command without any arguments.
117 Specifies the log page name for the
121 A comma-separated list of feature names for the
124 Feature names can be specified in upper or lower case and can be
125 shortened the shortest unique name.
126 Some features may also have an alternative short name.
128 A non-zero integer specifying the LBA format for the
131 The list of supported LBA formats on a namespace can be retrieved
142 .Op Ar ctl[/ns][,...]
144 Lists the NVMe controllers and their namespaces in the system and
145 prints a 1-line summary of their basic properties for each.
146 If a list of controllers and/or namespaces is given then the listing
147 is limited to those devices.
153 Print detailed information about the specified controllers and/or
155 The information returned differs depending on whether a controller or
156 a namespace is specified.
157 For an explanation of the data printed by this command refer to the
160 admin command in the NVMe specification.
167 Print the specified log page of the specified controllers and/or namespaces.
168 Most log pages are only available on a per-controller basis.
170 .Bl -tag -width "firmware"
174 SMART/Health Information.
175 A controller may support this log page on a per-namespace basis.
177 Firmware Slot Information
180 For an explanation of the contents of the log pages refer to the
183 admin command in the NVMe specification.
190 Prints information about the specified features, or all features if
191 none are given, of the specified controllers and/or namespaces.
192 Feature names are case-insensitive, and they can be shortened as long
193 as they remain unique.
194 Some features also have alternative short names to which the same
196 The following features are supported:
201 FULL NAME:SHORT NAME:CONTROLLER/NAMESPACE
202 Arbitration::controller
203 Power Management::controller
204 LBA Range Type:range:namespace
205 Temperature Threshold::controller
206 Error Recovery::controller
207 Volatile Write Cache:cache:controller
208 Number of Queues:queues:controller
209 Interrupt Coalescing:coalescing:controller
210 Interrupt Vector Configuration:vector:controller
211 Write Atomicity:atomicity:controller
212 Asynchronous Event Configuration:event:controller
213 Autonomous Power State Transition::controller
214 Software Progress Marker:progress:controller
217 For an explanation of the individual features refer to the description
220 admin command in the NVMe specification.
227 Formats the specified namespace or all namespaces of the specified
229 This command implies a
235 of the specified namespace(s), which will cause a changed LBA format
237 If no LBA format is specified the LBA format currently used by the
238 namespace will be used.
239 When formatting all namespaces without specifying a LBA format the LBA
240 format of namespace 1 will be used.
241 A list of LBA formats supported by a namespace can be queried with the
246 Note that not all devices support formatting individual or all
247 namespaces, or support formatting at all.
249 LBA formats using a non-zero metadata size are not supported by
254 The list of supported LBA formats on a namespace can be retrieved
265 Erases the specified namespace or all namespaces of the controller.
268 will cause a cryptographic erase instead of a normal erase.
269 This command implies a
275 of the specified namespace(s).
277 Note that not all devices support erasing individual or all
278 namespaces, or support erasing at all.
284 Temporarily detaches the
286 instance from the specified namespace or all namespaces of the controller.
287 This will prevent I/O access to the affected namespace(s).
288 Detach will only succeed if the affected namespace(s) are not
290 The detached state will not persist across reboots or reloads of the
300 instance to the specified namespace or all namespaces of the controller.
301 This will make I/O accesses to the namespace(s) possible again after a
311 .It Sy Example 1: List all NVMe controllers and namespaces
314 nvme1: model: INTEL SSDPEDMD800G4, serial: CVFT4134001R800CGN, FW rev: 8DV10049, NVMe v1.0
315 nvme1/1 (c1t1d0): Size = 763097 MB, Capacity = 763097 MB, Used = 763097 MB
316 nvme4: model: SAMSUNG MZVPV128HDGM-00000, serial: S1XVNYAGA00640, FW rev: BXW7300Q, NVMe v1.1
317 nvme4/1 (c2t2d0): Size = 122104 MB, Capacity = 122104 MB, Used = 5127 MB
319 .It Sy Example 2: Identify a namespace
321 # nvmeadm identify nvme4/1
322 nvme4/1: Identify Namespace
323 Namespace Capabilities and Features
324 Namespace Size: 122104MB
325 Namespace Capacity: 122104MB
326 Namespace Utilization: 5127MB
328 Thin Provisioning: unsupported
329 Number of LBA Formats: 1
332 Extended Data LBA: no
333 Metadata Capabilities
334 Extended Data LBA: unsupported
335 Separate Metadata: unsupported
336 End-to-End Data Protection Capabilities
337 Protection Information Type 1: unsupported
338 Protection Information Type 2: unsupported
339 Protection Information Type 3: unsupported
340 Protection Information first: unsupported
341 Protection Information last: unsupported
342 End-to-End Data Protection Settings
343 Protection Information: disabled
344 Protection Information in Metadata: last 8 bytes
346 Metadata Size: 0 bytes
347 LBA Data Size: 512 bytes
348 Relative Performance: Best
350 .It Sy Example 3: Get SMART/Health information (verbose)
352 # nvmeadm -v get-logpage nvme4/1 health
353 nvme4/1: SMART/Health Information
357 Device Reliability: OK
359 Volatile Memory Backup: OK
361 Available Spare Capacity: 100%
362 Available Spare Threshold: 10%
367 Write Commands: 567874
368 Controller Busy: 1min
372 Uncorrectable Media Errors: 0
375 .It Sy Example 4: Get Asynchronous Event Configuration information
377 # nvmeadm get-features nvme0,nvme4 event,power
379 Asynchronous Event Configuration
380 Available Space below threshold: disabled
381 Temperature above threshold: disabled
382 Device Reliability compromised: disabled
383 Media read-only: disabled
387 Asynchronous Event Configuration
388 Available Space below threshold: disabled
389 Temperature above threshold: disabled
390 Device Reliability compromised: disabled
391 Media read-only: disabled
392 Volatile Memory Backup failed: disabled
397 .Sh INTERFACE STABILITY
398 The command line interface of
406 and may change any time.
410 .Lk http://www.nvmexpress.org/specifications/ "NVMe specifications"