xref: /illumos-gate/usr/src/man/man8/nvmeadm.8 (revision 046911eb)
13d9b1a2aSHans Rosenfeld.\"
23d9b1a2aSHans Rosenfeld.\" This file and its contents are supplied under the terms of the
33d9b1a2aSHans Rosenfeld.\" Common Development and Distribution License ("CDDL"), version 1.0.
43d9b1a2aSHans Rosenfeld.\" You may only use this file in accordance with the terms of version
53d9b1a2aSHans Rosenfeld.\" 1.0 of the CDDL.
63d9b1a2aSHans Rosenfeld.\"
73d9b1a2aSHans Rosenfeld.\" A full copy of the text of the CDDL should have accompanied this
83d9b1a2aSHans Rosenfeld.\" source.  A copy of the CDDL is also available via the Internet at
93d9b1a2aSHans Rosenfeld.\" http://www.illumos.org/license/CDDL.
103d9b1a2aSHans Rosenfeld.\"
113d9b1a2aSHans Rosenfeld.\"
12533affcbSRobert Mustacchi.\" Copyright 2024 Oxide Computer Company
138466ab88SHans Rosenfeld.\" Copyright 2022 Tintri by DDN, Inc. All rights reserved.
143d9b1a2aSHans Rosenfeld.\"
15627ade2aSRobert Mustacchi.Dd March 26, 2024
16bbf21555SRichard Lowe.Dt NVMEADM 8
173d9b1a2aSHans Rosenfeld.Os
183d9b1a2aSHans Rosenfeld.Sh NAME
193d9b1a2aSHans Rosenfeld.Nm nvmeadm
203d9b1a2aSHans Rosenfeld.Nd NVMe administration utility
213d9b1a2aSHans Rosenfeld.Sh SYNOPSIS
223d9b1a2aSHans Rosenfeld.Nm
233d9b1a2aSHans Rosenfeld.Fl h
243d9b1a2aSHans Rosenfeld.Op Ar command
253d9b1a2aSHans Rosenfeld.Nm
263d9b1a2aSHans Rosenfeld.Op Fl dv
273d9b1a2aSHans Rosenfeld.Cm list
28e4cc4004SRobert Mustacchi.Oo
29b3266bebSHans Rosenfeld.Fl c
30b3266bebSHans Rosenfeld.Oc
31b3266bebSHans Rosenfeld.Oo
32b3266bebSHans Rosenfeld.Fl p o Ar field Ns [,...]
33e4cc4004SRobert Mustacchi.Oc
34e4cc4004SRobert Mustacchi.Op Ar ctl[/ns] Ns [,...]
353d9b1a2aSHans Rosenfeld.Nm
363d9b1a2aSHans Rosenfeld.Op Fl dv
373d9b1a2aSHans Rosenfeld.Cm identify
38153f3212SHans Rosenfeld.Op Fl C | c | d | Oo Fl a Oc Fl n
39e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...]
403d9b1a2aSHans Rosenfeld.Nm
413d9b1a2aSHans Rosenfeld.Op Fl dv
42153f3212SHans Rosenfeld.Cm identify-controller
43153f3212SHans Rosenfeld.Op Fl C | c | Oo Fl a Oc Fl n
44153f3212SHans Rosenfeld.Ar ctl Ns [,...]
45153f3212SHans Rosenfeld.Nm
46153f3212SHans Rosenfeld.Op Fl dv
47153f3212SHans Rosenfeld.Cm identify-namespace
48153f3212SHans Rosenfeld.Op Fl c | d
49153f3212SHans Rosenfeld.Ar ctl/ns Ns [,...]
50153f3212SHans Rosenfeld.Nm
51153f3212SHans Rosenfeld.Op Fl dv
52533affcbSRobert Mustacchi.Cm list-logpages
53533affcbSRobert Mustacchi.Op Fl a
54533affcbSRobert Mustacchi.Op Fl H
55533affcbSRobert Mustacchi.Op Fl o Ar field Ns [,...] Op Fl p
56533affcbSRobert Mustacchi.Op Fl s Ar scope Ns [,...]
57533affcbSRobert Mustacchi.Ar ctl[/ns] Ns [,...]
58533affcbSRobert Mustacchi.Op Ar logpage...
59533affcbSRobert Mustacchi.Nm
60533affcbSRobert Mustacchi.Op Fl dv
613d9b1a2aSHans Rosenfeld.Cm get-logpage
62f9fceaa5SRobert Mustacchi.Op Fl O Ar output-file
63e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...]
643d9b1a2aSHans Rosenfeld.Ar logpage
653d9b1a2aSHans Rosenfeld.Nm
663d9b1a2aSHans Rosenfeld.Op Fl dv
67533affcbSRobert Mustacchi.Cm list-features
68533affcbSRobert Mustacchi.Op Fl a
69533affcbSRobert Mustacchi.Op Fl H
70533affcbSRobert Mustacchi.Op Fl o Ar field Ns [,...] Op Fl p
71533affcbSRobert Mustacchi.Ar ctl[/ns] Ns [,...]
72533affcbSRobert Mustacchi.Op Ar feature...
73533affcbSRobert Mustacchi.Nm
74533affcbSRobert Mustacchi.Op Fl dv
753d9b1a2aSHans Rosenfeld.Cm get-features
76e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...]
773d9b1a2aSHans Rosenfeld.Op Ar feature-list
783d9b1a2aSHans Rosenfeld.Nm
793d9b1a2aSHans Rosenfeld.Op Fl dv
803d9b1a2aSHans Rosenfeld.Cm format
813d9b1a2aSHans Rosenfeld.Ar ctl[/ns]
823d9b1a2aSHans Rosenfeld.Op Ar lba-format
833d9b1a2aSHans Rosenfeld.Nm
843d9b1a2aSHans Rosenfeld.Op Fl dv
853d9b1a2aSHans Rosenfeld.Cm secure-erase
863d9b1a2aSHans Rosenfeld.Op Fl c
87a3bac573SHans Rosenfeld.Ar ctl[/ns]
883d9b1a2aSHans Rosenfeld.Nm
893d9b1a2aSHans Rosenfeld.Op Fl dv
903d9b1a2aSHans Rosenfeld.Cm detach
913d9b1a2aSHans Rosenfeld.Ar ctl[/ns]
923d9b1a2aSHans Rosenfeld.Nm
933d9b1a2aSHans Rosenfeld.Op Fl dv
943d9b1a2aSHans Rosenfeld.Cm attach
953d9b1a2aSHans Rosenfeld.Ar ctl[/ns]
96cf840871SPaul Winder.Nm
97cf840871SPaul Winder.Op Fl dv
9868df0c4fSGuy Morrogh.Cm list-firmware
9968df0c4fSGuy Morrogh.Ar ctl
10068df0c4fSGuy Morrogh.Nm
10168df0c4fSGuy Morrogh.Op Fl dv
102cf840871SPaul Winder.Cm load-firmware
103cf840871SPaul Winder.Ar ctl
104cf840871SPaul Winder.Ar firmware-file
105cf840871SPaul Winder.Op Ar offset
106cf840871SPaul Winder.Nm
107cf840871SPaul Winder.Op Fl dv
108cf840871SPaul Winder.Cm commit-firmware
109cf840871SPaul Winder.Ar ctl
110cf840871SPaul Winder.Ar slot
111cf840871SPaul Winder.Nm
112cf840871SPaul Winder.Op Fl dv
113cf840871SPaul Winder.Cm activate-firmware
114cf840871SPaul Winder.Ar ctl
115cf840871SPaul Winder.Ar slot
116533affcbSRobert Mustacchi.Nm
117533affcbSRobert Mustacchi.Op Fl dv
118533affcbSRobert Mustacchi.Cm wdc/e6dump
119533affcbSRobert Mustacchi.Fl o Ar output
120533affcbSRobert Mustacchi.Ar ctl
121533affcbSRobert Mustacchi.Nm
122533affcbSRobert Mustacchi.Op Fl dv
123533affcbSRobert Mustacchi.Cm wdc/resize
124533affcbSRobert Mustacchi.Fl s Ar size | Fl g
125533affcbSRobert Mustacchi.Ar ctl
1267a27a99aSRobert Mustacchi.Nm
1277a27a99aSRobert Mustacchi.Op Fl dv
1287a27a99aSRobert Mustacchi.Cm wdc/clear-assert
1297a27a99aSRobert Mustacchi.Ar ctl
1307a27a99aSRobert Mustacchi.Nm
1317a27a99aSRobert Mustacchi.Op Fl dv
1327a27a99aSRobert Mustacchi.Cm wdc/inject-assert
1337a27a99aSRobert Mustacchi.Ar ctl
1343d9b1a2aSHans Rosenfeld.Sh DESCRIPTION
1353d9b1a2aSHans RosenfeldThe
1363d9b1a2aSHans Rosenfeld.Nm
1373d9b1a2aSHans Rosenfeldutility can be used to enumerate the NVMe controllers and their
1383d9b1a2aSHans Rosenfeldnamespaces, query hardware information from a NVMe controller or
1393d9b1a2aSHans Rosenfeldnamespace, and to format or secure-erase a NVMe controller or
1403d9b1a2aSHans Rosenfeldnamespace.
1413d9b1a2aSHans Rosenfeld.Pp
1423d9b1a2aSHans RosenfeldThe information returned by the hardware is printed by
1433d9b1a2aSHans Rosenfeld.Nm
1443d9b1a2aSHans Rosenfeldin a human-readable form were applicable.
1453d9b1a2aSHans RosenfeldGenerally all 0-based counts are normalized and values may be
1463d9b1a2aSHans Rosenfeldconverted to human-readable units such as MB (megabytes), W (watts),
1473d9b1a2aSHans Rosenfeldor C (degrees Celsius).
1483d9b1a2aSHans Rosenfeld.Sh OPTIONS
1493d9b1a2aSHans RosenfeldThe following options are supported:
1503d9b1a2aSHans Rosenfeld.Bl -tag -width Ds
1513d9b1a2aSHans Rosenfeld.It Fl h
1523d9b1a2aSHans RosenfeldPrint a short help text for
1533d9b1a2aSHans Rosenfeld.Nm ,
1543d9b1a2aSHans Rosenfeldor for an optionally specified
1553d9b1a2aSHans Rosenfeld.Nm
1563d9b1a2aSHans Rosenfeldcommand.
1573d9b1a2aSHans Rosenfeld.It Fl d
1583d9b1a2aSHans RosenfeldEnable debugging output.
1593d9b1a2aSHans Rosenfeld.It Fl v
1603d9b1a2aSHans RosenfeldEnable verbose output.
1613d9b1a2aSHans Rosenfeld.El
1623d9b1a2aSHans Rosenfeld.Sh ARGUMENTS
1633d9b1a2aSHans Rosenfeld.Nm
1643d9b1a2aSHans Rosenfeldexpects the following kinds of arguments:
165b2d85592SMarcel Telka.Bl -tag -width "ctl[/ns]"
1663d9b1a2aSHans Rosenfeld.It Ar command
1673d9b1a2aSHans RosenfeldAny command
1683d9b1a2aSHans Rosenfeld.Nm
1693d9b1a2aSHans Rosenfeldunderstands.
1703d9b1a2aSHans RosenfeldSee section
1713d9b1a2aSHans Rosenfeld.Sx COMMANDS .
172b2d85592SMarcel Telka.It Ar ctl[/ns]
1733d9b1a2aSHans RosenfeldSpecifies a NVMe controller and optionally a namespace within that
1743d9b1a2aSHans Rosenfeldcontroller.
1753d9b1a2aSHans RosenfeldThe controller name consists of the driver name
1763d9b1a2aSHans Rosenfeld.Qq nvme
1773d9b1a2aSHans Rosenfeldfollowed by an instance number.
1783d9b1a2aSHans RosenfeldA namespace is specified by appending a single
1793d9b1a2aSHans Rosenfeld.Qq /
180670f080bSHans Rosenfeldto the controller name, followed by either the namespace ID or the namespace
181670f080bSHans RosenfeldEUI64 or NGUID as reported by the
182670f080bSHans Rosenfeld.Cm identify
183670f080bSHans Rosenfeldcommand.
184670f080bSHans RosenfeldThe namespace ID is a positive non-zero decimal number.
1853d9b1a2aSHans RosenfeldFor commands that don't change the device state multiple controllers
1863d9b1a2aSHans Rosenfeldand namespaces can be specified as a comma-separated list.
1873d9b1a2aSHans Rosenfeld.Pp
1883d9b1a2aSHans RosenfeldThe list of controllers and namespaces present in the system can be
1893d9b1a2aSHans Rosenfeldqueried with the
1903d9b1a2aSHans Rosenfeld.Cm list
1913d9b1a2aSHans Rosenfeldcommand without any arguments.
1923d9b1a2aSHans Rosenfeld.It Ar logpage
1933d9b1a2aSHans RosenfeldSpecifies the log page name for the
1943d9b1a2aSHans Rosenfeld.Cm get-logpage
1953d9b1a2aSHans Rosenfeldcommand.
1963d9b1a2aSHans Rosenfeld.It Ar feature-list
1973d9b1a2aSHans RosenfeldA comma-separated list of feature names for the
1983d9b1a2aSHans Rosenfeld.Cm get-features
1993d9b1a2aSHans Rosenfeldcommand.
200533affcbSRobert MustacchiFeature names can be specified in upper or lower case.
201533affcbSRobert MustacchiAll features can be specified either by a short name listed below or by
202533affcbSRobert Mustacchithe full name that the specification uses.
2033d9b1a2aSHans Rosenfeld.It Ar lba-format
2043d9b1a2aSHans RosenfeldA non-zero integer specifying the LBA format for the
2053d9b1a2aSHans Rosenfeld.Cm format
2063d9b1a2aSHans Rosenfeldcommand.
2073d9b1a2aSHans RosenfeldThe list of supported LBA formats on a namespace can be retrieved
2083d9b1a2aSHans Rosenfeldwith the
2093d9b1a2aSHans Rosenfeld.Nm
2103d9b1a2aSHans Rosenfeld.Cm identify
2113d9b1a2aSHans Rosenfeldcommand.
212cf840871SPaul Winder.It Ar firmware-file
213cf840871SPaul WinderSpecifies the name of a firmware file to be loaded into the controller
214cf840871SPaul Winderusing the
215cf840871SPaul Winder.Cm load-firmware
216cf840871SPaul Windercommand.
217cf840871SPaul Winder.It Ar offset
218cf840871SPaul WinderSpecifies the byte offset at which to load
219f9fceaa5SRobert Mustacchi.It Ar output-file
220f9fceaa5SRobert MustacchiSpecifies a file system location to write raw binary data out to.
221cf840871SPaul Winder.Ar firmware-file
222cf840871SPaul Winderwithin the controller's upload buffer.
223cf840871SPaul WinderVendors may require multiple images to be loaded at different offsets
224cf840871SPaul Winderbefore a firmware set is committed to a
225cf840871SPaul Winder.Ar slot .
226533affcbSRobert Mustacchi.It Ar scope
227533affcbSRobert MustacchiSpecifies the scope of a given type of thing to look at, such as a log
228533affcbSRobert Mustacchipage.
229533affcbSRobert MustacchiScopes can either be specified by their full name or a shortened form.
230533affcbSRobert MustacchiFor log pages, the following scopes are supported:
231533affcbSRobert Mustacchi.Bl -tag -width Ds
232533affcbSRobert Mustacchi.It Sy controller
233533affcbSRobert MustacchiIndicates that the log is scoped to the controller.
234533affcbSRobert MustacchiThe short form is
235533affcbSRobert Mustacchi.Dq ctrl .
236533affcbSRobert Mustacchi.It Sy nvm
237533affcbSRobert MustacchiIndicates that the log is scoped to the NVM subsystem.
238533affcbSRobert MustacchiThere is no short form.
239533affcbSRobert Mustacchi.It Sy namespace
240533affcbSRobert MustacchiIndicates that the log is scoped to the namespace.
241533affcbSRobert MustacchiThe short form is
242533affcbSRobert Mustacchi.Dq ns .
243533affcbSRobert Mustacchi.El
244533affcbSRobert Mustacchi.Pp
245533affcbSRobert MustacchiFor more information on the differences between these, please see the
246533affcbSRobert MustacchiNVMe specification.
247cf840871SPaul Winder.It Ar slot
248cf840871SPaul WinderSpecifies the firmware slot into which a firmware set is committed
249cf840871SPaul Winderusing the
250cf840871SPaul Winder.Cm commit-firmware
251cf840871SPaul Windercommand, and subsequently activated with the
252cf840871SPaul Winder.Cm activate-firmware
253cf840871SPaul Windercommand.
25468df0c4fSGuy MorroghSlots and their contents can be printed using the
25568df0c4fSGuy Morrogh.Nm
25668df0c4fSGuy Morrogh.Cm list-firmware
25768df0c4fSGuy Morroghcommand.
2583d9b1a2aSHans Rosenfeld.El
2593d9b1a2aSHans Rosenfeld.Sh COMMANDS
2603d9b1a2aSHans Rosenfeld.Bl -tag -width ""
2613d9b1a2aSHans Rosenfeld.It Xo
2623d9b1a2aSHans Rosenfeld.Nm
2633d9b1a2aSHans Rosenfeld.Cm list
264e4cc4004SRobert Mustacchi.Oo
265b3266bebSHans Rosenfeld.Fl c
266b3266bebSHans Rosenfeld.Oc
267b3266bebSHans Rosenfeld.Oo
268b3266bebSHans Rosenfeld.Fl p o Ar field Ns [,...]
269e4cc4004SRobert Mustacchi.Oc
270e4cc4004SRobert Mustacchi.Op Ar ctl[/ns] Ns [,...]
2713d9b1a2aSHans Rosenfeld.Xc
272b3266bebSHans RosenfeldLists the NVMe controllers and by default also their active
273b3266bebSHans Rosenfeldnamespaces, printing a 1-line summary of their basic properties for each.
2743d9b1a2aSHans RosenfeldIf a list of controllers and/or namespaces is given then the listing
2753d9b1a2aSHans Rosenfeldis limited to those devices.
276b3266bebSHans RosenfeldIf no controllers or namespaces are given as arguments, then all controllers
277b3266bebSHans Rosenfeldin the system and their respective active namespaces are listed.
278b3266bebSHans RosenfeldWhen using the
279b3266bebSHans Rosenfeld.Fl v
280b3266bebSHans Rosenfeldoption
281b3266bebSHans Rosenfeldto
282b3266bebSHans Rosenfeld.Nm ,
283b3266bebSHans Rosenfeldall possible namespaces of the controllers will be listed.
284b3266bebSHans Rosenfeld.Pp
285b3266bebSHans RosenfeldThe
286b3266bebSHans Rosenfeld.Nm
287b3266bebSHans Rosenfeld.Cm list
288b3266bebSHans Rosenfeldcommand supports the following options:
289e4cc4004SRobert Mustacchi.Bl -tag -width Fl
290b3266bebSHans Rosenfeld.It Fl c
291b3266bebSHans RosenfeldList controllers only and not their namespaces.
292e4cc4004SRobert Mustacchi.It Fl p
293b3266bebSHans RosenfeldProduce parsable output rather than human-readable output.
294e4cc4004SRobert MustacchiThis option requires that output fields be selected with the
295e4cc4004SRobert Mustacchi.Fl o
296e4cc4004SRobert Mustacchioption.
297e4cc4004SRobert Mustacchi.It Fl o Ar field Ns [,...]
298e4cc4004SRobert MustacchiA comma-separated list of one or more output fields to be used.
299e4cc4004SRobert MustacchiFields are listed below and the name is case insensitive.
300e4cc4004SRobert Mustacchi.El
301e4cc4004SRobert Mustacchi.Pp
302e4cc4004SRobert MustacchiThe following fields can be specified when using the parsable form:
303b3266bebSHans Rosenfeld.Bl -tag -width UNALLOCATED
304e4cc4004SRobert Mustacchi.It Sy MODEL
305e4cc4004SRobert MustacchiThe model number of the device, generally containing information about
306e4cc4004SRobert Mustacchiboth the manufacturer and the product.
307e4cc4004SRobert Mustacchi.It Sy SERIAL
308e4cc4004SRobert MustacchiThe NVMe controller's serial number.
309e4cc4004SRobert Mustacchi.It Sy FWREV
310e4cc4004SRobert MustacchiThe controller's firmware revision.
311e4cc4004SRobert Mustacchi.It Sy VERSION
312e4cc4004SRobert MustacchiThe version of the NVMe specification the controller supports.
313b3266bebSHans Rosenfeld.It Sy INSTANCE
314b3266bebSHans RosenfeldThe name of the device node and instance of it.
315b3266bebSHans Rosenfeld.El
316b3266bebSHans Rosenfeld.Pp
317b3266bebSHans RosenfeldIn addition, the following fields can be specified when listing namespaces, not
318b3266bebSHans Rosenfeldusing the
319b3266bebSHans Rosenfeld.Fl c
320b3266bebSHans Rosenfeldoption:
321b3266bebSHans Rosenfeld.Bl -tag -width UNALLOCATED
322e4cc4004SRobert Mustacchi.It Sy CAPACITY
323e4cc4004SRobert MustacchiThe amount of logical bytes that the namespace may actually have allocated at
324e4cc4004SRobert Mustacchiany time.
325e4cc4004SRobert MustacchiThis may be different than size due to the use of thin provisioning or due to
326e4cc4004SRobert Mustacchiadministrative action.
327b3266bebSHans Rosenfeld.It Sy SIZE
328b3266bebSHans RosenfeldThe logical size in bytes of the namespace.
329e4cc4004SRobert Mustacchi.It Sy USED
330e4cc4004SRobert MustacchiThe number of bytes used in the namespace.
331e4cc4004SRobert Mustacchi.It Sy NAMESPACE
332e4cc4004SRobert MustacchiThe numerical value of the namespace which can be used as part of other
333e4cc4004SRobert Mustacchi.Nm
334e4cc4004SRobert Mustacchioperations.
335e4cc4004SRobert Mustacchi.It Sy DISK
336e4cc4004SRobert MustacchiThe name of the disk device that corresponds to the namespace, if any.
337e4cc4004SRobert Mustacchi.El
338b3266bebSHans Rosenfeld.Pp
339b3266bebSHans RosenfeldWhen using the
340b3266bebSHans Rosenfeld.Fl c
341b3266bebSHans Rosenfeldoption to list controllers, the following additional fields are supported:
342b3266bebSHans Rosenfeld.Bl -tag -width UNALLOCATED
343b3266bebSHans Rosenfeld.It Sy CAPACITY
344b3266bebSHans RosenfeldThe total raw capacity of the NVMe controller in bytes.
345b3266bebSHans Rosenfeld.It Sy UNALLOCATED
346b3266bebSHans RosenfeldThe number of bytes not currently assigned to any namespace in the controller.
347b3266bebSHans Rosenfeld.El
3483d9b1a2aSHans Rosenfeld.It Xo
3493d9b1a2aSHans Rosenfeld.Nm
350153f3212SHans Rosenfeld.Cm identify-controller
351153f3212SHans Rosenfeld.Op Fl C | c | Oo Fl a Oc Fl n
352153f3212SHans Rosenfeld.Ar ctl Ns [,...]
3533d9b1a2aSHans Rosenfeld.Xc
354153f3212SHans RosenfeldPrint detailed information about the specified controllers.
355153f3212SHans RosenfeldFor an explanation of the data printed by this command refer to the description
356153f3212SHans Rosenfeldof the
3573d9b1a2aSHans Rosenfeld.Qq IDENTIFY
3583d9b1a2aSHans Rosenfeldadmin command in the NVMe specification.
359153f3212SHans Rosenfeld.Pp
360153f3212SHans RosenfeldBy default, a relevant subset of the
361153f3212SHans Rosenfeld.Qq IDENTIFY CONTROLLER
362153f3212SHans Rosenfelddata structure is printed.
363153f3212SHans RosenfeldThe full data structure is only printed when verbose output is requested.
364153f3212SHans Rosenfeld.Pp
365153f3212SHans RosenfeldThe following options can be used to print other
366153f3212SHans Rosenfeld.Qq IDENTIFY
367153f3212SHans Rosenfeldinformation:
368153f3212SHans Rosenfeld.Bl -tag -width Fl
369153f3212SHans Rosenfeld.It Fl C
370153f3212SHans RosenfeldPrint the Common Namespace Identification of the controller.
371153f3212SHans Rosenfeld.It Fl a
372153f3212SHans RosenfeldAlter the output of the
373153f3212SHans Rosenfeld.Fl n
374153f3212SHans Rosenfeldoption to print the list allocated namespace identifiers.
375153f3212SHans RosenfeldCan only be specified together with the
376153f3212SHans Rosenfeld.Fl n
377153f3212SHans Rosenfeldoption.
378153f3212SHans Rosenfeld.It Fl c
379153f3212SHans RosenfeldPrint the list of all unique controller identifiers in the NVMe subsystem the
380153f3212SHans Rosenfeldspecified controller belongs to.
381153f3212SHans Rosenfeld.It Fl n
382153f3212SHans RosenfeldPrint the list of active namespace identifiers of the controller.
383153f3212SHans Rosenfeld.El
384153f3212SHans Rosenfeld.It Xo
385153f3212SHans Rosenfeld.Nm
386153f3212SHans Rosenfeld.Cm identify-namespace
387153f3212SHans Rosenfeld.Op Fl c | d
388153f3212SHans Rosenfeld.Ar ctl/ns Ns [,...]
389153f3212SHans Rosenfeld.Xc
390153f3212SHans RosenfeldPrint detailed information about the specified namespace.
391153f3212SHans RosenfeldFor an explanation of the data printed by this command refer to the description
392153f3212SHans Rosenfeldof the
393153f3212SHans Rosenfeld.Qq IDENTIFY
394153f3212SHans Rosenfeldadmin command in the NVMe specification.
395153f3212SHans Rosenfeld.Pp
396153f3212SHans RosenfeldBy default, a relevant subset of the
397153f3212SHans Rosenfeld.Qq IDENTIFY NAMESPACE
398153f3212SHans Rosenfelddata structure is printed.
399153f3212SHans RosenfeldThe full data structure is only printed when verbose output is requested.
400153f3212SHans Rosenfeld.Pp
401153f3212SHans RosenfeldThe following options can be used to print other
402153f3212SHans Rosenfeld.Qq IDENTIFY
403153f3212SHans Rosenfeldinformation:
404153f3212SHans Rosenfeld.Bl -tag -width Fl
405153f3212SHans Rosenfeld.It Fl c
406153f3212SHans RosenfeldPrint the list of all unique controller identifiers in the NVMe subsystem the
407153f3212SHans Rosenfeldspecified namespace belongs to and which are currently attached to this
408153f3212SHans Rosenfeldnamespace.
409153f3212SHans Rosenfeld.It Fl d
410153f3212SHans RosenfeldPrint the list of namespace identification descriptors of the namespace.
411153f3212SHans Rosenfeld.El
412153f3212SHans Rosenfeld.It Xo
413153f3212SHans Rosenfeld.Nm
414153f3212SHans Rosenfeld.Cm identify
415153f3212SHans Rosenfeld.Op Fl C | c | d | Oo Fl a Oc Fl n
416153f3212SHans Rosenfeld.Ar ctl[/ns] Ns [,...]
417153f3212SHans Rosenfeld.Xc
418153f3212SHans RosenfeldShort-hand for the
419153f3212SHans Rosenfeld.Cm identify-controller
420153f3212SHans Rosenfeldand
421153f3212SHans Rosenfeld.Cm identify-namespace
422153f3212SHans Rosenfeldcommands, prints the same information about the specified controllers and/or
423153f3212SHans Rosenfeldnamespaces, depending on whether a controller or a namespace was specified.
424153f3212SHans Rosenfeld.Pp
425153f3212SHans RosenfeldFor a description of the various optional flags refer to the above description
426153f3212SHans Rosenfeldof the
427153f3212SHans Rosenfeld.Cm identify-controller
428153f3212SHans Rosenfeldand
429153f3212SHans Rosenfeld.Cm identify-namespace
430153f3212SHans Rosenfeldcommands.
4313d9b1a2aSHans Rosenfeld.It Xo
4323d9b1a2aSHans Rosenfeld.Nm
433533affcbSRobert Mustacchi.Op Fl dv
434533affcbSRobert Mustacchi.Cm list-logpages
435533affcbSRobert Mustacchi.Op Fl a
436533affcbSRobert Mustacchi.Op Fl H
437533affcbSRobert Mustacchi.Op Fl o Ar field Ns [,...] Op Fl p
438533affcbSRobert Mustacchi.Op Fl s Ar scope Ns [,...]
439533affcbSRobert Mustacchi.Ar ctl[/ns] Ns [,...]
440533affcbSRobert Mustacchi.Op Ar logpage...
441533affcbSRobert Mustacchi.Xc
442533affcbSRobert MustacchiPrints the list of log pages and information about them specific to the
443533affcbSRobert Mustacchigiven controller or namespace.
444533affcbSRobert MustacchiThis is intended as a discovery mechanism and will print information
445533affcbSRobert Mustacchiabout mandatory, optional, and vendor-specific log pages as well as all
446533affcbSRobert Mustacchithe information that is useful for retrieving information about them.
447533affcbSRobert Mustacchi.Pp
448533affcbSRobert MustacchiThe
449533affcbSRobert Mustacchi.Nm
450533affcbSRobert Mustacchi.Cm list-logpages
451533affcbSRobert Mustacchicommand supports the following options:
452533affcbSRobert Mustacchi.Bl -tag -width Fl
453533affcbSRobert Mustacchi.It Fl a
454533affcbSRobert MustacchiPrint all log pages.
455533affcbSRobert MustacchiBy default, only logs that are implemented are printed.
456533affcbSRobert Mustacchi.It Fl H
457533affcbSRobert MustacchiOmit the output header columns.
458533affcbSRobert Mustacchi.It Fl o Ar field Ns [,...]
459533affcbSRobert MustacchiA comma-separated list of one or more output fields to be used.
460533affcbSRobert MustacchiFields are listed below and the name is case insensitive.
461533affcbSRobert Mustacchi.It Fl p
462533affcbSRobert MustacchiProduce parsable output rather than human-readable output.
463533affcbSRobert MustacchiThis option requires that output fields be selected with the
464533affcbSRobert Mustacchi.Fl o
465533affcbSRobert Mustacchioption.
466533affcbSRobert Mustacchi.It Fl s Ar scope Ns [,...]
467533affcbSRobert MustacchiPrint log pages that match the specified scope.
468533affcbSRobert MustacchiIf no
469533affcbSRobert Mustacchi.Ar scope
470533affcbSRobert Mustacchiarguments are specified, then the scope will be set to
471533affcbSRobert Mustacchi.Dq ctrl,nvm
472533affcbSRobert Mustacchiwhen the device is a controller and
473533affcbSRobert Mustacchi.Dq ns
474533affcbSRobert Mustacchiwhen the device refers to a namespace.
475533affcbSRobert Mustacchi.El
476533affcbSRobert Mustacchi.Pp
477533affcbSRobert MustacchiThe following fields are supported:
478533affcbSRobert Mustacchi.Bl -tag -width MINSIZE
479533affcbSRobert Mustacchi.It Sy DEVICE
480533affcbSRobert MustacchiPrints the name of the controller or namespace.
481533affcbSRobert Mustacchi.It Sy NAME
482533affcbSRobert MustacchiPrints the name of the log page.
483533affcbSRobert MustacchiThis is the name that can be used to get the log page with the
484533affcbSRobert Mustacchi.Cm get-logpage
485533affcbSRobert Mustacchicommand.
486533affcbSRobert MustacchiThis is a shortened form from the NVMe or vendor-specific documentation.
487533affcbSRobert Mustacchi.It Sy DESC
488533affcbSRobert MustacchiThis is a description of the log page and generally corresponds to
489533affcbSRobert Mustacchiinformation from the specification the log page is drawn from.
490533affcbSRobert Mustacchi.It Sy SCOPE
491533affcbSRobert MustacchiThis is the set of scopes that the log page is applicable to.
492533affcbSRobert MustacchiAs described earlier in the manual, valid scopes include
493533affcbSRobert Mustacchi.Dq ctrl ,
494533affcbSRobert Mustacchi.Dq nvm ,
495533affcbSRobert Mustacchiand
496533affcbSRobert Mustacchi.Dq ns .
497533affcbSRobert MustacchiThis indicates whether a controller
498533affcbSRobert Mustacchi.Po
499533affcbSRobert Mustacchi.Dq ctrl
500533affcbSRobert Mustacchiand
501533affcbSRobert Mustacchi.Dq nvm
502533affcbSRobert Mustacchi.Pc
503533affcbSRobert Mustacchior a namespace
504533affcbSRobert Mustacchi.Po
505533affcbSRobert Mustacchi.Dq ns
506533affcbSRobert Mustacchi.Pc
507533affcbSRobert Mustacchiwill work for this log page when running the
508533affcbSRobert Mustacchi.Cm get-logpage
509533affcbSRobert Mustacchicommand to get the log.
510533affcbSRobert Mustacchi.It Sy FIELDS
511533affcbSRobert MustacchiThis indicates the command fields that are accepted when retrieving the
512533affcbSRobert Mustacchilog page from the controller.
513533affcbSRobert MustacchiThe fields include:
514533affcbSRobert Mustacchi.Bl -tag -width lsp
515533affcbSRobert Mustacchi.It Sy lsp
516533affcbSRobert MustacchiIndicates that a log specific parameter is accepted for this page.
517533affcbSRobert Mustacchi.It Sy lsi
518533affcbSRobert MustacchiIndicates that a log specific identifier is accepted for this page.
519533affcbSRobert Mustacchi.It Sy rae
520533affcbSRobert MustacchiIndicates that one can control whether or not an asynchronous event is
521533affcbSRobert Mustacchiretained when retrieving the log page.
522533affcbSRobert MustacchiBy default, asynchronous events are cleared when certain log pages are
523533affcbSRobert Mustacchifetched such as the health log page.
524533affcbSRobert Mustacchi.El
525533affcbSRobert MustacchiFor more information on these fields, please see the NVMe specification.
526533affcbSRobert Mustacchi.It Sy CSI
527533affcbSRobert MustacchiIndicates the log page's command set interface.
528533affcbSRobert Mustacchi.It Sy LID
529533affcbSRobert MustacchiIndicates the log page's numeric ID.
530533affcbSRobert MustacchiThis when combined with the log page's CSI is the unique identifier that
531533affcbSRobert Mustacchiidentifies the log page to the controller.
532533affcbSRobert Mustacchi.It Sy IMPL
533533affcbSRobert MustacchiIndicates whether or not the system believes that the log page is
534533affcbSRobert Mustacchiimplemented.
535533affcbSRobert Mustacchi.It Sy SIZE
536533affcbSRobert MustacchiIndicates the size of the log page.
537533affcbSRobert MustacchiNot all log pages have a fixed size and in such cases this field will
538533affcbSRobert Mustacchinot contain a value.
539533affcbSRobert Mustacchi.It Sy MINSIZE
540533affcbSRobert MustacchiWhen a log page is known to have a variable size, this indicates the
541533affcbSRobert Mustacchiminimum amount of the log page to read to determine the full size of the
542533affcbSRobert Mustacchilog page.
543533affcbSRobert Mustacchi.It Sy SOURCES
544533affcbSRobert MustacchiThis is a comma separated list of values that indicates where
545533affcbSRobert Mustacchiinformation about this log page and its support came from primarily.
546533affcbSRobert MustacchiThese include the following:
547533affcbSRobert Mustacchi.Bl -tag -width identify-controller
548533affcbSRobert Mustacchi.It Dq spec
549533affcbSRobert MustacchiThis comes from the NVMe specification.
550533affcbSRobert MustacchiGenerally this refers to mandatory log pages that are not dependent on
551533affcbSRobert Mustacchiany information in the identify controller data structure.
552533affcbSRobert Mustacchi.It Dq identify-controller
553533affcbSRobert MustacchiInformation about this log page comes from the identify controller data
554533affcbSRobert Mustacchistructure.
555533affcbSRobert MustacchiMany log pages are described by the standard but are optional and their
556533affcbSRobert Mustacchisupport is indicated through that.
557533affcbSRobert Mustacchi.It Dq internal-db
558533affcbSRobert MustacchiThis indicates that information about this log page comes from our
559533affcbSRobert Mustacchiinternal databases in libnvme.
560533affcbSRobert MustacchiMost vendor-specific logs are described in datasheets whose information
561533affcbSRobert Mustacchiis encoded into the library and system and there is not always a way to
562533affcbSRobert Mustacchidiscover that it is supported or not.
563533affcbSRobert Mustacchi.It Dq command
564533affcbSRobert MustacchiThis indicates that information about this log page came from another
565533affcbSRobert Mustacchicommand that was issued to the controller which indicates what was
566533affcbSRobert Mustacchiimplemented and present.
567533affcbSRobert Mustacchi.El
568533affcbSRobert Mustacchi.It Sy KIND
569533affcbSRobert MustacchiThis indicates the kind of log page that this is.
570533affcbSRobert MustacchiValid options are:
571533affcbSRobert Mustacchi.Bl -tag -width vendor-specific
572533affcbSRobert Mustacchi.It Dq mandatory
573533affcbSRobert MustacchiIndicates that the NVMe specification considers this mandatory for all
574533affcbSRobert Mustacchicontrollers of a given version.
575533affcbSRobert Mustacchi.It Dq optional
576533affcbSRobert MustacchiIndicates that the NVMe specification considers this log page optional.
577533affcbSRobert MustacchiSome items may be mandatory if a device implements an optional feature
578533affcbSRobert Mustacchilike namespace management, but they will still be considered optional as
579533affcbSRobert Mustacchithe underlying feature is.
580533affcbSRobert Mustacchi.It Dq vendor-specific
581533affcbSRobert MustacchiIndicates that this log is a vendor-specific log page.
582533affcbSRobert MustacchiThese log pages are not part of the NVMe standard and are generally
583533affcbSRobert Mustacchidescribed in their own device's datasheets or a separate standard such
584533affcbSRobert Mustacchias the
585533affcbSRobert Mustacchi.%T OCP Datacenter NVMe SSD Specification .
586533affcbSRobert Mustacchi.El
587533affcbSRobert Mustacchi.El
588533affcbSRobert Mustacchi.Pp
589533affcbSRobert MustacchiThe
590533affcbSRobert Mustacchi.Cm list-logpages
591533affcbSRobert Mustacchicommand supports a series of operands which can be used to filter the
592533affcbSRobert Mustacchilist of log pages that information is printed out about.
593533affcbSRobert MustacchiEach
594533affcbSRobert Mustacchi.Ar logpage
595533affcbSRobert Mustacchioperand is the name of a log page.
596533affcbSRobert MustacchiOnly matching log pages will be printed and if no log pages match a
597533affcbSRobert Mustacchigiven operand argument or not log pages are printed at all
598533affcbSRobert Mustacchi.Pq which can happen due to a log being unsupported
599533affcbSRobert Mustacchithen the command will generate an error.
600533affcbSRobert Mustacchi.It Xo
601533affcbSRobert Mustacchi.Nm
6023d9b1a2aSHans Rosenfeld.Cm get-logpage
603f9fceaa5SRobert Mustacchi.Op Fl O Ar output-file
604e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...]
6053d9b1a2aSHans Rosenfeld.Ar logpage
6063d9b1a2aSHans Rosenfeld.Xc
6073d9b1a2aSHans RosenfeldPrint the specified log page of the specified controllers and/or namespaces.
608f9fceaa5SRobert MustacchiIf
609f9fceaa5SRobert Mustacchi.Fl O
610f9fceaa5SRobert Mustacchiis specified, rather than print the contents of the log, the raw binary payload
611f9fceaa5SRobert Mustacchiof the log will be written to
612f9fceaa5SRobert Mustacchi.Ar output-file .
6133d9b1a2aSHans RosenfeldMost log pages are only available on a per-controller basis.
6143d9b1a2aSHans RosenfeldKnown log pages are:
6153d9b1a2aSHans Rosenfeld.Bl -tag -width "firmware"
616*046911ebSRobert Mustacchi.It suplog
617*046911ebSRobert MustacchiSupported Log Pages.
618*046911ebSRobert MustacchiLists information about log pages that the device supports.
619*046911ebSRobert MustacchiAvailable starting in NVMe 2.0 devices.
6203d9b1a2aSHans Rosenfeld.It error
6213d9b1a2aSHans RosenfeldError Information
6223d9b1a2aSHans Rosenfeld.It health
6233d9b1a2aSHans RosenfeldSMART/Health Information.
6243d9b1a2aSHans RosenfeldA controller may support this log page on a per-namespace basis.
6253d9b1a2aSHans Rosenfeld.It firmware
6263d9b1a2aSHans RosenfeldFirmware Slot Information
627533affcbSRobert Mustacchi.It changens
628533affcbSRobert MustacchiChanged Namespaces.
629*046911ebSRobert Mustacchi.It cmdeff
630*046911ebSRobert MustacchiCommands Supported and Effects.
631*046911ebSRobert MustacchiAn optional log page beginning in NVMe 1.2 that indicates what commands
632*046911ebSRobert Mustacchithe controller itself actually supports.
633533affcbSRobert Mustacchi.El
634533affcbSRobert Mustacchi.Pp
635533affcbSRobert MustacchiThe following vendor-specific log pages are supported.
636533affcbSRobert MustacchiNot all devices from a vendor support every log page.
637533affcbSRobert MustacchiUse the
638533affcbSRobert Mustacchi.Cm list-logpages
639533affcbSRobert Mustacchicommand to determine which are supported for a given device and whether
640533affcbSRobert Mustacchithey operate on a controller or namespace.
641533affcbSRobert Mustacchi.Bl -tag -width "wdc/devmgm"
6426a5dded7SRobert Mustacchi.It micron/smart
6436a5dded7SRobert MustacchiMicron Vendor Unique SMART.
6446a5dded7SRobert Mustacchi.It micron/extsmart
6456a5dded7SRobert MustacchiMicron Extended SMART.
646627ade2aSRobert Mustacchi.It ocp/smart
647627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification SMART / Health information.
648627ade2aSRobert Mustacchi.It ocp/errrec
649627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification error recovery log.
650627ade2aSRobert Mustacchi.It ocp/fwact
651627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification firmware activation log.
652627ade2aSRobert Mustacchi.It ocp/latency
653627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification latency monitor.
654627ade2aSRobert Mustacchi.It ocp/devcap
655627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification device capabilities.
656627ade2aSRobert Mustacchi.It ocp/unsup
657627ade2aSRobert MustacchiOpen Compute Datacenter NVMe SSD specification unsupported requirements.
658533affcbSRobert Mustacchi.It wdc/eol
659533affcbSRobert MustacchiWestern Digital end-of-life.
660533affcbSRobert Mustacchi.It wdc/devmgmt
661533affcbSRobert MustacchiWestern Digital device manageability.
662533affcbSRobert Mustacchi.It wdc/pciesi
663533affcbSRobert MustacchiWestern Digital PCIe signal integrity.
664533affcbSRobert Mustacchi.It wdc/power
665533affcbSRobert MustacchiWestern Digital power samples.
666533affcbSRobert Mustacchi.It wdc/temp
667533affcbSRobert MustacchiWestern Digital temperature samples.
668533affcbSRobert Mustacchi.It wdc/fwact
669533affcbSRobert MustacchiWestern Digital firmware activation history.
670533affcbSRobert Mustacchi.It wdc/ccds
671533affcbSRobert MustacchiWestern Digital CCDS build information.
672533affcbSRobert Mustacchi.It wdc/cusmart
673533affcbSRobert MustacchiWestern Digital customer unique SMART data.
6743d9b1a2aSHans Rosenfeld.El
6753d9b1a2aSHans Rosenfeld.Pp
6763d9b1a2aSHans RosenfeldFor an explanation of the contents of the log pages refer to the
6773d9b1a2aSHans Rosenfelddescription of the
6783d9b1a2aSHans Rosenfeld.Qq GET LOGPAGE
6793d9b1a2aSHans Rosenfeldadmin command in the NVMe specification.
6803d9b1a2aSHans Rosenfeld.It Xo
6813d9b1a2aSHans Rosenfeld.Nm
682533affcbSRobert Mustacchi.Cm list-features
683533affcbSRobert Mustacchi.Op Fl a
684533affcbSRobert Mustacchi.Op Fl H
685533affcbSRobert Mustacchi.Op Fl o Ar field Ns [,...] Op Fl p
686533affcbSRobert Mustacchi.Ar ctl[/ns] Ns [,...]
687533affcbSRobert Mustacchi.Op Ar feature Ns [,...]
688533affcbSRobert Mustacchi.Xc
689533affcbSRobert MustacchiPrints the list of features and information about them specific to the
690533affcbSRobert Mustacchigiven controller or namespace.
691533affcbSRobert MustacchiThis is intended as a discovery mechanism and will print information
692533affcbSRobert Mustacchiabout known mandatory, optional, and vendor-specific features as well as
693533affcbSRobert Mustacchithe information that is useful for retrieving information about them.
694533affcbSRobert Mustacchi.Pp
695533affcbSRobert MustacchiThe
696533affcbSRobert Mustacchi.Nm
697533affcbSRobert Mustacchi.Cm list-features
698533affcbSRobert Mustacchicommand supports the following options:
699533affcbSRobert Mustacchi.Bl -tag -width Fl
700533affcbSRobert Mustacchi.It Fl a
701533affcbSRobert MustacchiPrint all features, regardless of whether or not the controller is known
702533affcbSRobert Mustacchito implement them.
703533affcbSRobert MustacchiBy default unimplemented features are not printed, but implemented and
704533affcbSRobert Mustacchiunknown ones are.
705533affcbSRobert Mustacchi.It Fl H
706533affcbSRobert MustacchiOmit the output header columns.
707533affcbSRobert Mustacchi.It Fl o Ar field Ns [,...]
708533affcbSRobert MustacchiA comma-separated list of one or more output fields to be used.
709533affcbSRobert MustacchiFields are listed below and the name is case insensitive.
710533affcbSRobert Mustacchi.It Fl p
711533affcbSRobert MustacchiProduce parsable output rather than human-readable output.
712533affcbSRobert MustacchiThis option requires that output fields be selected with the
713533affcbSRobert Mustacchi.Fl o
714533affcbSRobert Mustacchioption.
715533affcbSRobert Mustacchi.El
716533affcbSRobert Mustacchi.Pp
717533affcbSRobert MustacchiThe following fields are supported:
718533affcbSRobert Mustacchi.Bl -tag -width DATALEN
719533affcbSRobert Mustacchi.It Sy DEVICE
720533affcbSRobert MustacchiPrints the name of the controller or namespace.
721533affcbSRobert Mustacchi.It Sy SHORT
722533affcbSRobert MustacchiThis is a shortened name for a feature which can be used to identify it.
723533affcbSRobert MustacchiThese short names are unique to illumos and not part of the NVMe
724533affcbSRobert Mustacchispecification.
725533affcbSRobert Mustacchi.It Sy SPEC
726533affcbSRobert MustacchiThis is the specification's name for a given feature.
727533affcbSRobert Mustacchi.It Sy FID
728533affcbSRobert MustacchiThis is the numeric ID that can be used to uniquely identify a feature.
729533affcbSRobert Mustacchi.It Sy SCOPE
730533affcbSRobert MustacchiThis is a comma separated list of values that identifies what scopes
731533affcbSRobert Mustacchithis feature covers.
732533affcbSRobert MustacchiThe supported scopes are
733533affcbSRobert Mustacchi.Dq controller ,
734533affcbSRobert Mustacchiwhich indicates that it impacts the entire controller and
735533affcbSRobert Mustacchi.Dq namespace ,
736533affcbSRobert Mustacchiwhich indicates that it impacts just a single namespace.
737533affcbSRobert Mustacchi.It Sy KIND
738533affcbSRobert MustacchiThis indicates the kind of feature that this is.
739533affcbSRobert MustacchiValid options are:
740533affcbSRobert Mustacchi.Bl -tag -width vendor-specific
741533affcbSRobert Mustacchi.It Dq mandatory
742533affcbSRobert MustacchiIndicates that the NVMe specification considers this mandatory for all
743533affcbSRobert Mustacchicontrollers of a given version.
744533affcbSRobert Mustacchi.It Dq optional
745533affcbSRobert MustacchiIndicates that the NVMe specification considers this feature optional.
746533affcbSRobert MustacchiSome items may be mandatory if a device implements an optional feature
747533affcbSRobert Mustacchilike namespace management, but they will still be considered optional as
748533affcbSRobert Mustacchithe underlying feature is.
749533affcbSRobert Mustacchi.It Dq vendor-specific
750533affcbSRobert MustacchiIndicates that this log is a vendor-specific feature.
751533affcbSRobert MustacchiThese features are not part of the NVMe standard and are generally
752533affcbSRobert Mustacchidescribed in their own device's datasheets or a separate standard such
753533affcbSRobert Mustacchias the
754533affcbSRobert Mustacchi.%T OCP Datacenter NVMe SSD Specification .
755533affcbSRobert Mustacchi.El
756533affcbSRobert Mustacchi.It Sy CSI
757533affcbSRobert MustacchiThe command set interface that the feature is specific to.
758533affcbSRobert MustacchiMost features are not specific to a CSI.
759533affcbSRobert Mustacchi.It Sy FLAGS
760533affcbSRobert MustacchiThe flags are a series of comma separated strings which describe
761533affcbSRobert Mustacchiproperties of the feature.
762533affcbSRobert MustacchiThe following flags are currently supported:
763533affcbSRobert Mustacchi.Bl -tag -width "get-bcastns"
764533affcbSRobert Mustacchi.It Dq get-bcastns
765533affcbSRobert MustacchiIndicates that the broadcast namespace is supported when getting this
766533affcbSRobert Mustacchifeature.
767533affcbSRobert Mustacchi.It Dq set-bcastns
768533affcbSRobert MustacchiIndicates that the broadcast namespace is supported when setting this
769533affcbSRobert Mustacchifeature.
770533affcbSRobert MustacchiUsing the broadcast namespace indicates that all namespace are impacted.
771533affcbSRobert Mustacchi.El
772533affcbSRobert Mustacchi.It Sy GET-IN
773533affcbSRobert MustacchiA series of comma separated values indicating what is required to get
774533affcbSRobert Mustacchithis feature.
775533affcbSRobert MustacchiThe following values are supported:
776533affcbSRobert Mustacchi.Bl -tag -width cdw11
777533affcbSRobert Mustacchi.It cdw11
778533affcbSRobert MustacchiIndicates that the feature requires an argument in the cdw11 field of
779533affcbSRobert Mustacchithe command.
780533affcbSRobert MustacchiThis is generally a selector of some kind.
781533affcbSRobert MustacchiFor example, for the temperature threshold feature, it selects which of
782533affcbSRobert Mustacchiseveral sensors may be referred to.
783533affcbSRobert Mustacchi.It data
784533affcbSRobert MustacchiIndicates that a data buffer is required when getting this feature.
785533affcbSRobert MustacchiIts size is indicated by the DATALEN field.
786533affcbSRobert Mustacchi.It nsid
787533affcbSRobert MustacchiIndicates that a namespace ID is required when getting this feature.
788533affcbSRobert Mustacchi.El
789533affcbSRobert Mustacchi.It Sy SET-IN
790533affcbSRobert MustacchiA series of comma separated values indicating what is required to get
791533affcbSRobert Mustacchithis feature.
792533affcbSRobert MustacchiThe following values are supported:
793533affcbSRobert Mustacchi.Bl -tag -width cdw11
794533affcbSRobert Mustacchi.It cdw11
795533affcbSRobert MustacchiIndicates that the feature uses information in cdw11 to set the feature.
796533affcbSRobert Mustacchi.It cdw12
797533affcbSRobert MustacchiIndicates that the feature uses information in cdw12 to set the feature.
798533affcbSRobert Mustacchi.It cdw13
799533affcbSRobert MustacchiIndicates that the feature uses information in cdw13 to set the feature.
800533affcbSRobert Mustacchi.It cdw14
801533affcbSRobert MustacchiIndicates that the feature uses information in cdw14 to set the feature.
802533affcbSRobert Mustacchi.It cdw15
803533affcbSRobert MustacchiIndicates that the feature uses information in cdw15 to set the feature.
804533affcbSRobert Mustacchi.It data
805533affcbSRobert MustacchiIndicates that the feature takes a data payload to set the feature.
806533affcbSRobert MustacchiIts size is indicated by the DATALEN field.
807533affcbSRobert Mustacchi.It nsid
808533affcbSRobert MustacchiIndicates that the feature requires a valid namespace identifier.
809533affcbSRobert Mustacchi.El
810533affcbSRobert Mustacchi.It Sy GET-OUT
811533affcbSRobert MustacchiA series of comma separated values indicating what the controller will
812533affcbSRobert Mustacchireturn information about this feature in.
813533affcbSRobert MustacchiThe following values are supported:
814533affcbSRobert Mustacchi.Bl -tag -width cdw0
815533affcbSRobert Mustacchi.It cdw0
816533affcbSRobert MustacchiIndicates that the controller will give information about the feature in
817533affcbSRobert Mustacchithe command output 32-bit value.
818533affcbSRobert Mustacchi.It data
819533affcbSRobert MustacchiIndicates that the controller will output information about the feature
820533affcbSRobert Mustacchiinto the output buffer.
821533affcbSRobert Mustacchi.El
822533affcbSRobert Mustacchi.It Sy SET-OUT
823533affcbSRobert MustacchiA series of comma separated values indicating what the controller will
824533affcbSRobert Mustacchiupdate following the successful completion of setting the feature.
825533affcbSRobert MustacchiThese values are the same as with the GET-OUT field.
826533affcbSRobert Mustacchi.It Sy DATALEN
827533affcbSRobert MustacchiIndicates the length of data for the feature.
828533affcbSRobert Mustacchi.It Sy IMPL
829533affcbSRobert MustacchiIndicates whether or not the feature is known to be implemented or not.
830533affcbSRobert MustacchiThe following values are possible:
831533affcbSRobert Mustacchi.Bl -tag -width unknown
832533affcbSRobert Mustacchi.It Dq unknown
833533affcbSRobert MustacchiIndicates that it is unknown as to whether or not the feature is
834533affcbSRobert Mustacchiimplemented.
835533affcbSRobert MustacchiSome features are optional and there is no way to determine this short
836533affcbSRobert Mustacchiof issuing an attempt to get the feature itself.
837533affcbSRobert Mustacchi.It Dq yes
838533affcbSRobert MustacchiIndicates that we know the feature is implemented by the controller.
839533affcbSRobert Mustacchi.It Dq no
840533affcbSRobert MustacchiIndicates that we know the feature is not implemented by the controller.
841533affcbSRobert Mustacchi.El
842533affcbSRobert Mustacchi.El
843533affcbSRobert Mustacchi.Pp
844533affcbSRobert MustacchiThe
845533affcbSRobert Mustacchi.Cm list-features
846533affcbSRobert Mustacchicommand supports a series of operands which can be used to filter the
847533affcbSRobert Mustacchilist of features that information is printed out about.
848533affcbSRobert MustacchiEach
849533affcbSRobert Mustacchi.Ar feature
850533affcbSRobert Mustacchioperand is either the short name or the specification's name for a given
851533affcbSRobert Mustacchifeature.
852533affcbSRobert MustacchiIn addition, the numeric feature ID can also be used as a filter.
853533affcbSRobert MustacchiIf no features match a given operand or no features are printed at all
854533affcbSRobert Mustacchithen the command will generate an error.
855533affcbSRobert Mustacchi.It Xo
856533affcbSRobert Mustacchi.Nm
8573d9b1a2aSHans Rosenfeld.Cm get-features
858e4cc4004SRobert Mustacchi.Ar ctl[/ns] Ns [,...]
8593d9b1a2aSHans Rosenfeld.Op Ar feature-list
8603d9b1a2aSHans Rosenfeld.Xc
8613d9b1a2aSHans RosenfeldPrints information about the specified features, or all features if
8623d9b1a2aSHans Rosenfeldnone are given, of the specified controllers and/or namespaces.
8633d9b1a2aSHans RosenfeldFeature names are case-insensitive, and they can be shortened as long
8643d9b1a2aSHans Rosenfeldas they remain unique.
8653d9b1a2aSHans RosenfeldSome features also have alternative short names to which the same
8663d9b1a2aSHans Rosenfeldrules apply.
8673d9b1a2aSHans RosenfeldThe following features are supported:
8683d9b1a2aSHans Rosenfeld.Pp
8693d9b1a2aSHans Rosenfeld.TS
8703d9b1a2aSHans Rosenfeldtab(:);
8713d9b1a2aSHans Rosenfeldl l l.
8723d9b1a2aSHans RosenfeldFULL NAME:SHORT NAME:CONTROLLER/NAMESPACE
873533affcbSRobert MustacchiArbitration:arb:controller
874533affcbSRobert MustacchiPower Management:pm:controller
8753d9b1a2aSHans RosenfeldLBA Range Type:range:namespace
876533affcbSRobert MustacchiTemperature Threshold:temp:controller
877533affcbSRobert MustacchiError Recovery:errec:controller
8783d9b1a2aSHans RosenfeldVolatile Write Cache:cache:controller
8793d9b1a2aSHans RosenfeldNumber of Queues:queues:controller
8803d9b1a2aSHans RosenfeldInterrupt Coalescing:coalescing:controller
8813d9b1a2aSHans RosenfeldInterrupt Vector Configuration:vector:controller
8823d9b1a2aSHans RosenfeldWrite Atomicity:atomicity:controller
8833d9b1a2aSHans RosenfeldAsynchronous Event Configuration:event:controller
884533affcbSRobert MustacchiAutonomous Power State Transition:apst:controller
8853d9b1a2aSHans RosenfeldSoftware Progress Marker:progress:controller
8863d9b1a2aSHans Rosenfeld.TE
8873d9b1a2aSHans Rosenfeld.Pp
8883d9b1a2aSHans RosenfeldFor an explanation of the individual features refer to the description
8893d9b1a2aSHans Rosenfeldof the
8903d9b1a2aSHans Rosenfeld.Qq SET FEATURES
8913d9b1a2aSHans Rosenfeldadmin command in the NVMe specification.
8923d9b1a2aSHans Rosenfeld.It Xo
8933d9b1a2aSHans Rosenfeld.Nm
8943d9b1a2aSHans Rosenfeld.Cm format
8953d9b1a2aSHans Rosenfeld.Ar ctl[/ns]
8963d9b1a2aSHans Rosenfeld.Op Ar lba-format
8973d9b1a2aSHans Rosenfeld.Xc
8983d9b1a2aSHans RosenfeldFormats the specified namespace or all namespaces of the specified
8993d9b1a2aSHans Rosenfeldcontroller.
9003d9b1a2aSHans RosenfeldThis command implies a
9013d9b1a2aSHans Rosenfeld.Nm
9023d9b1a2aSHans Rosenfeld.Cm detach
9033d9b1a2aSHans Rosenfeldand subsequent
9043d9b1a2aSHans Rosenfeld.Nm
9053d9b1a2aSHans Rosenfeld.Cm attach
9063d9b1a2aSHans Rosenfeldof the specified namespace(s), which will cause a changed LBA format
9073d9b1a2aSHans Rosenfeldto be detected.
9083d9b1a2aSHans RosenfeldIf no LBA format is specified the LBA format currently used by the
9093d9b1a2aSHans Rosenfeldnamespace will be used.
9103d9b1a2aSHans RosenfeldWhen formatting all namespaces without specifying a LBA format the LBA
9113d9b1a2aSHans Rosenfeldformat of namespace 1 will be used.
9123d9b1a2aSHans RosenfeldA list of LBA formats supported by a namespace can be queried with the
9133d9b1a2aSHans Rosenfeld.Nm
9143d9b1a2aSHans Rosenfeld.Cm identify
9153d9b1a2aSHans Rosenfeldcommand.
9163d9b1a2aSHans Rosenfeld.Pp
9173d9b1a2aSHans RosenfeldNote that not all devices support formatting individual or all
9183d9b1a2aSHans Rosenfeldnamespaces, or support formatting at all.
9193d9b1a2aSHans Rosenfeld.Pp
9203d9b1a2aSHans RosenfeldLBA formats using a non-zero metadata size are not supported by
9213d9b1a2aSHans Rosenfeld.Nm
9223d9b1a2aSHans Rosenfeldor
923bbf21555SRichard Lowe.Xr nvme 4D .
9243d9b1a2aSHans Rosenfeld.Pp
9253d9b1a2aSHans RosenfeldThe list of supported LBA formats on a namespace can be retrieved
9263d9b1a2aSHans Rosenfeldwith the
9273d9b1a2aSHans Rosenfeld.Nm
9283d9b1a2aSHans Rosenfeld.Cm identify
9293d9b1a2aSHans Rosenfeldcommand.
9303d9b1a2aSHans Rosenfeld.It Xo
9313d9b1a2aSHans Rosenfeld.Nm
9323d9b1a2aSHans Rosenfeld.Cm secure-erase
9333d9b1a2aSHans Rosenfeld.Op Fl c
934a3bac573SHans Rosenfeld.Ar ctl[/ns]
9353d9b1a2aSHans Rosenfeld.Xc
9363d9b1a2aSHans RosenfeldErases the specified namespace or all namespaces of the controller.
9373d9b1a2aSHans RosenfeldThe flag
9383d9b1a2aSHans Rosenfeld.Fl c
9393d9b1a2aSHans Rosenfeldwill cause a cryptographic erase instead of a normal erase.
9403d9b1a2aSHans RosenfeldThis command implies a
9413d9b1a2aSHans Rosenfeld.Nm
9423d9b1a2aSHans Rosenfeld.Cm detach
9433d9b1a2aSHans Rosenfeldand
9443d9b1a2aSHans Rosenfeld.Nm
9453d9b1a2aSHans Rosenfeld.Cm attach
9463d9b1a2aSHans Rosenfeldof the specified namespace(s).
9473d9b1a2aSHans Rosenfeld.Pp
9483d9b1a2aSHans RosenfeldNote that not all devices support erasing individual or all
9493d9b1a2aSHans Rosenfeldnamespaces, or support erasing at all.
9503d9b1a2aSHans Rosenfeld.It Xo
9513d9b1a2aSHans Rosenfeld.Nm
9523d9b1a2aSHans Rosenfeld.Cm detach
9533d9b1a2aSHans Rosenfeld.Ar ctl[/ns]
9543d9b1a2aSHans Rosenfeld.Xc
9553d9b1a2aSHans RosenfeldTemporarily detaches the
956bbf21555SRichard Lowe.Xr blkdev 4D
9573d9b1a2aSHans Rosenfeldinstance from the specified namespace or all namespaces of the controller.
9583d9b1a2aSHans RosenfeldThis will prevent I/O access to the affected namespace(s).
9593d9b1a2aSHans RosenfeldDetach will only succeed if the affected namespace(s) are not
9603d9b1a2aSHans Rosenfeldcurrently opened.
9613d9b1a2aSHans RosenfeldThe detached state will not persist across reboots or reloads of the
962bbf21555SRichard Lowe.Xr nvme 4D
9633d9b1a2aSHans Rosenfelddriver.
96463cdc4a2SHans Rosenfeld.Pp
96563cdc4a2SHans RosenfeldIt is not an error to detach a namespace that is already detached, any such
96663cdc4a2SHans Rosenfeldrequest will be silently ignored.
9673d9b1a2aSHans Rosenfeld.It Xo
9683d9b1a2aSHans Rosenfeld.Nm
9693d9b1a2aSHans Rosenfeld.Cm attach
9703d9b1a2aSHans Rosenfeld.Ar ctl[/ns]
9713d9b1a2aSHans Rosenfeld.Xc
9723d9b1a2aSHans RosenfeldAttaches the
973bbf21555SRichard Lowe.Xr blkdev 4D
9743d9b1a2aSHans Rosenfeldinstance to the specified namespace or all namespaces of the controller.
9753d9b1a2aSHans RosenfeldThis will make I/O accesses to the namespace(s) possible again after a
9763d9b1a2aSHans Rosenfeldprevious
9773d9b1a2aSHans Rosenfeld.Nm
9783d9b1a2aSHans Rosenfeld.Cm detach
9793d9b1a2aSHans Rosenfeldcommand.
98063cdc4a2SHans Rosenfeld.Pp
98163cdc4a2SHans RosenfeldIt is not an error to attach a namespace that is already attached, any such
98263cdc4a2SHans Rosenfeldrequest will be silently ignored.
983cf840871SPaul Winder.It Xo
984cf840871SPaul Winder.Nm
98568df0c4fSGuy Morrogh.Cm list-firmware
98668df0c4fSGuy Morrogh.Ar ctl
98768df0c4fSGuy Morrogh.Xc
98868df0c4fSGuy MorroghList currently active firmware slot, the next active firmware slot, and the
98968df0c4fSGuy Morroghcurrent contents of all firmware slots of an NVMe controller.
99068df0c4fSGuy MorroghThis is a synonym for the
99168df0c4fSGuy Morrogh.Nm
99268df0c4fSGuy Morrogh.Cm get-logpage
99368df0c4fSGuy Morrogh.Ar ctl
99468df0c4fSGuy Morrogh.Cm firmware
99568df0c4fSGuy Morroghcommand.
99668df0c4fSGuy Morrogh.It Xo
99768df0c4fSGuy Morrogh.Nm
998cf840871SPaul Winder.Cm load-firmware
999cf840871SPaul Winder.Ar ctl
1000cf840871SPaul Winder.Ar firmware-file
1001cf840871SPaul Winder.Op Ar offset
1002cf840871SPaul Winder.Xc
1003cf840871SPaul WinderLoads
1004cf840871SPaul Winder.Ar firmware-file
1005cf840871SPaul Winderinto the controller's upload memory at
1006cf840871SPaul Winder.Ar offset ,
1007cf840871SPaul Winderthe default is 0. A vendor may require multiple files to be loaded
1008cf840871SPaul Winderat different offsets before the firmware is committed to a
1009cf840871SPaul Winder.Ar slot .
1010cf840871SPaul Winder.It Xo
1011cf840871SPaul Winder.Nm
1012cf840871SPaul Winder.Cm commit-firmware
1013cf840871SPaul Winder.Ar ctl
1014cf840871SPaul Winder.Ar slot
1015cf840871SPaul Winder.Xc
1016cf840871SPaul WinderCommits firmware previously loaded by the
1017cf840871SPaul Winder.Cm load-firmware
1018cf840871SPaul Windercommand to
1019cf840871SPaul Winder.Ar slot .
1020cf840871SPaul Winder.It Xo
1021cf840871SPaul Winder.Nm
1022cf840871SPaul Winder.Cm activate-firmware
1023cf840871SPaul Winder.Ar ctl
1024cf840871SPaul Winder.Ar slot
1025cf840871SPaul Winder.Xc
1026cf840871SPaul WinderActivates the firmware in slot
1027cf840871SPaul Winder.Ar slot .
1028cf840871SPaul WinderThe firmware image in
1029cf840871SPaul Winder.Ar slot
1030cf840871SPaul Winderis activated at the next NVM controller reset.
1031533affcbSRobert Mustacchi.It Xo
1032533affcbSRobert Mustacchi.Nm
1033533affcbSRobert Mustacchi.Cm wdc/e6dump
1034533affcbSRobert Mustacchi.Fl o Ar output
1035533affcbSRobert Mustacchi.Ar ctl
1036533affcbSRobert Mustacchi.Xc
1037533affcbSRobert MustacchiThis vendor-specific command performs a diagnostic dump of device data
1038533affcbSRobert Mustacchito the file specified by
1039533affcbSRobert Mustacchi.Ar output .
1040533affcbSRobert MustacchiThe device remains in full service while this is occurring.
1041533affcbSRobert Mustacchi.It Xo
1042533affcbSRobert Mustacchi.Nm
1043533affcbSRobert Mustacchi.Cm wdc/resize
1044533affcbSRobert Mustacchi.Fl s Ar size | Fl g
1045533affcbSRobert Mustacchi.Ar ctl
1046533affcbSRobert Mustacchi.Xc
1047533affcbSRobert MustacchiThis vendor-specific command will get the current over provisioning size
1048533affcbSRobert Mustacchior set it.
1049533affcbSRobert MustacchiThis command operates using power of 10 bytes, that is in terms of
1050533affcbSRobert Mustacchigigabytes and not gibibytes.
1051533affcbSRobert MustacchiThe sizes that are used here will be different from those that the
1052533affcbSRobert Mustacchioperating system will report for the drive.
1053533affcbSRobert Mustacchi.Pp
1054533affcbSRobert MustacchiThe following options are supported:
1055533affcbSRobert Mustacchi.Bl -tag -width Fl
1056533affcbSRobert Mustacchi.It Fl g
1057533affcbSRobert MustacchiReturns the current size of the device in gigabytes
1058533affcbSRobert Mustacchi.Pq powers of 10 .
1059533affcbSRobert Mustacchi.It Fl s Ar size
1060533affcbSRobert MustacchiSets the size of the device to
1061533affcbSRobert Mustacchi.Ar size
1062533affcbSRobert Mustacchiwhich is in gigabytes
1063533affcbSRobert Mustacchi.Pq powers of 10 .
1064533affcbSRobert MustacchiThis can be used to adjust the over provisioning ratio on the device.
1065533affcbSRobert MustacchiThe valid points are device-specific.
1066533affcbSRobert MustacchiPlease consult WDC datasheets for more information.
1067533affcbSRobert Mustacchi.Pp
1068533affcbSRobert MustacchiWhen performing a resize
1069533affcbSRobert Mustacchi.Em all data and namespace will be erased !
1070533affcbSRobert MustacchiAll namespaces must be detached prior to issuing this.
1071533affcbSRobert Mustacchi.El
10727a27a99aSRobert Mustacchi.It Xo
10737a27a99aSRobert Mustacchi.Nm
10747a27a99aSRobert Mustacchi.Op Fl dv
10757a27a99aSRobert Mustacchi.Cm wdc/clear-assert
10767a27a99aSRobert Mustacchi.Ar ctl
10777a27a99aSRobert Mustacchi.Xc
10787a27a99aSRobert MustacchiThis clears an internal assertion record from a WDC device.
10797a27a99aSRobert MustacchiPrior to running this any such internal assertion should be saved by using the
10807a27a99aSRobert Mustacchi.Cm wdc/e6dump
10817a27a99aSRobert Mustacchicommand.
10827a27a99aSRobert MustacchiThis command should only be used if instructed to do so as part of a
10837a27a99aSRobert Mustacchitroubleshooting process.
10847a27a99aSRobert Mustacchi.It Xo
10857a27a99aSRobert Mustacchi.Nm
10867a27a99aSRobert Mustacchi.Op Fl dv
10877a27a99aSRobert Mustacchi.Cm wdc/inject-assert
10887a27a99aSRobert Mustacchi.Ar ctl
10897a27a99aSRobert Mustacchi.Xc
10907a27a99aSRobert MustacchiThis injects a device assertion into a WDC NVMe device.
10917a27a99aSRobert MustacchiThe behavior of doing so is device specific; however, all I/O will be
10927a27a99aSRobert Mustacchiinterrupted and the device may be retired.
10937a27a99aSRobert MustacchiUnless explicitly instructed as part of debugging a device or as part of
10947a27a99aSRobert Mustacchiinternal development, this command should not be used.
10953d9b1a2aSHans Rosenfeld.El
10963d9b1a2aSHans Rosenfeld.Sh EXIT STATUS
10973d9b1a2aSHans Rosenfeld.Ex -std
10983d9b1a2aSHans Rosenfeld.Sh EXAMPLES
10993d9b1a2aSHans Rosenfeld.Bl -tag -width ""
11003d9b1a2aSHans Rosenfeld.It Sy Example 1: List all NVMe controllers and namespaces
11013d9b1a2aSHans Rosenfeld.Bd -literal
11023d9b1a2aSHans Rosenfeld# nvmeadm list
11033d9b1a2aSHans Rosenfeldnvme1: model: INTEL SSDPEDMD800G4, serial: CVFT4134001R800CGN, FW rev: 8DV10049, NVMe v1.0
11043d9b1a2aSHans Rosenfeld  nvme1/1 (c1t1d0): Size = 763097 MB, Capacity = 763097 MB, Used = 763097 MB
11053d9b1a2aSHans Rosenfeldnvme4: model: SAMSUNG MZVPV128HDGM-00000, serial: S1XVNYAGA00640, FW rev: BXW7300Q, NVMe v1.1
11063d9b1a2aSHans Rosenfeld  nvme4/1 (c2t2d0): Size = 122104 MB, Capacity = 122104 MB, Used = 5127 MB
11073d9b1a2aSHans Rosenfeld.Ed
11083d9b1a2aSHans Rosenfeld.It Sy Example 2: Identify a namespace
11093d9b1a2aSHans Rosenfeld.Bd -literal
11103d9b1a2aSHans Rosenfeld# nvmeadm identify nvme4/1
11113d9b1a2aSHans Rosenfeldnvme4/1: Identify Namespace
11123d9b1a2aSHans Rosenfeld  Namespace Capabilities and Features
11133d9b1a2aSHans Rosenfeld    Namespace Size:                         122104MB
11143d9b1a2aSHans Rosenfeld    Namespace Capacity:                     122104MB
11153d9b1a2aSHans Rosenfeld    Namespace Utilization:                  5127MB
11163d9b1a2aSHans Rosenfeld    Namespace Features
11173d9b1a2aSHans Rosenfeld      Thin Provisioning:                    unsupported
11183d9b1a2aSHans Rosenfeld    Number of LBA Formats:                  1
11193d9b1a2aSHans Rosenfeld    Formatted LBA Size
11203d9b1a2aSHans Rosenfeld      LBA Format:                           1
11213d9b1a2aSHans Rosenfeld      Extended Data LBA:                    no
11223d9b1a2aSHans Rosenfeld    Metadata Capabilities
11233d9b1a2aSHans Rosenfeld      Extended Data LBA:                    unsupported
11243d9b1a2aSHans Rosenfeld      Separate Metadata:                    unsupported
11253d9b1a2aSHans Rosenfeld    End-to-End Data Protection Capabilities
11263d9b1a2aSHans Rosenfeld      Protection Information Type 1:        unsupported
11273d9b1a2aSHans Rosenfeld      Protection Information Type 2:        unsupported
11283d9b1a2aSHans Rosenfeld      Protection Information Type 3:        unsupported
11293d9b1a2aSHans Rosenfeld      Protection Information first:         unsupported
11303d9b1a2aSHans Rosenfeld      Protection Information last:          unsupported
11313d9b1a2aSHans Rosenfeld    End-to-End Data Protection Settings
11323d9b1a2aSHans Rosenfeld      Protection Information:               disabled
11333d9b1a2aSHans Rosenfeld      Protection Information in Metadata:   last 8 bytes
11343d9b1a2aSHans Rosenfeld    LBA Format 1
11353d9b1a2aSHans Rosenfeld      Metadata Size:                        0 bytes
11363d9b1a2aSHans Rosenfeld      LBA Data Size:                        512 bytes
11373d9b1a2aSHans Rosenfeld      Relative Performance:                 Best
11383d9b1a2aSHans Rosenfeld.Ed
11393d9b1a2aSHans Rosenfeld.It Sy Example 3: Get SMART/Health information (verbose)
11403d9b1a2aSHans Rosenfeld.Bd -literal
11413d9b1a2aSHans Rosenfeld# nvmeadm -v get-logpage nvme4/1 health
11423d9b1a2aSHans Rosenfeldnvme4/1: SMART/Health Information
11433d9b1a2aSHans Rosenfeld  Critical Warnings
11443d9b1a2aSHans Rosenfeld    Available Space:                        OK
11453d9b1a2aSHans Rosenfeld    Temperature:                            OK
11463d9b1a2aSHans Rosenfeld    Device Reliability:                     OK
11473d9b1a2aSHans Rosenfeld    Media:                                  OK
11483d9b1a2aSHans Rosenfeld    Volatile Memory Backup:                 OK
11493d9b1a2aSHans Rosenfeld  Temperature:                              37C
11503d9b1a2aSHans Rosenfeld  Available Spare Capacity:                 100%
11513d9b1a2aSHans Rosenfeld  Available Spare Threshold:                10%
11523d9b1a2aSHans Rosenfeld  Device Life Used:                         0%
11533d9b1a2aSHans Rosenfeld  Data Read:                                0GB
11543d9b1a2aSHans Rosenfeld  Data Written:                             64GB
11553d9b1a2aSHans Rosenfeld  Read Commands:                            52907
11563d9b1a2aSHans Rosenfeld  Write Commands:                           567874
11573d9b1a2aSHans Rosenfeld  Controller Busy:                          1min
11583d9b1a2aSHans Rosenfeld  Power Cycles:                             6
11593d9b1a2aSHans Rosenfeld  Power On:                                 141h
11603d9b1a2aSHans Rosenfeld  Unsafe Shutdowns:                         1
11613d9b1a2aSHans Rosenfeld  Uncorrectable Media Errors:               0
11623d9b1a2aSHans Rosenfeld  Errors Logged:                            1
11633d9b1a2aSHans Rosenfeld.Ed
11643d9b1a2aSHans Rosenfeld.It Sy Example 4: Get Asynchronous Event Configuration information
11653d9b1a2aSHans Rosenfeld.Bd -literal
11663d9b1a2aSHans Rosenfeld# nvmeadm get-features nvme0,nvme4 event,power
11673d9b1a2aSHans Rosenfeldnvme0: Get Features
11683d9b1a2aSHans Rosenfeld  Asynchronous Event Configuration
11693d9b1a2aSHans Rosenfeld    Available Space below threshold:        disabled
11703d9b1a2aSHans Rosenfeld    Temperature above threshold:            disabled
11713d9b1a2aSHans Rosenfeld    Device Reliability compromised:         disabled
11723d9b1a2aSHans Rosenfeld    Media read-only:                        disabled
11733d9b1a2aSHans Rosenfeld  Power Management
11743d9b1a2aSHans Rosenfeld    Power State:                            0
11753d9b1a2aSHans Rosenfeldnvme4: Get Features
11763d9b1a2aSHans Rosenfeld  Asynchronous Event Configuration
11773d9b1a2aSHans Rosenfeld    Available Space below threshold:        disabled
11783d9b1a2aSHans Rosenfeld    Temperature above threshold:            disabled
11793d9b1a2aSHans Rosenfeld    Device Reliability compromised:         disabled
11803d9b1a2aSHans Rosenfeld    Media read-only:                        disabled
11813d9b1a2aSHans Rosenfeld    Volatile Memory Backup failed:          disabled
11823d9b1a2aSHans Rosenfeld  Power Management
11833d9b1a2aSHans Rosenfeld    Power State:                            0
11843d9b1a2aSHans Rosenfeld.Ed
1185cf840871SPaul Winder.It Sy Example 5: Load and activate firmware
1186cf840871SPaul Winder.Bd -literal
118768df0c4fSGuy Morrogh# nvmeadm list-firmware nvme3
1188cf840871SPaul Windernvme3: Firmware Slot Information
1189cf840871SPaul Winder  Active Firmware Slot:                     4
1190cf840871SPaul Winder  Next Firmware Slot:                       4
11918466ab88SHans Rosenfeld  Firmware Revision for Slot 1:             KNGND110 (read-only)
1192cf840871SPaul Winder  Firmware Revision for Slot 2:             KNGND110
1193cf840871SPaul Winder  Firmware Revision for Slot 3:             KNGND110
1194cf840871SPaul Winder  Firmware Revision for Slot 4:             KNGND112
1195cf840871SPaul Winder  Firmware Revision for Slot 5:             KNGND110
1196cf840871SPaul Winder
1197cf840871SPaul Winder# nvmeadm -v load-firmware nvme3 KNGND113.bin
1198cf840871SPaul Winder1740544 bytes downloaded.
1199cf840871SPaul Winder
1200cf840871SPaul Winder# nvmeadm -v commit-firmware nvme3 5
1201cf840871SPaul WinderFirmware committed to slot 5.
1202cf840871SPaul Winder
1203cf840871SPaul Winder# nvmeadm -v activate-firmware nvme3 5
1204cf840871SPaul WinderSlot 5 activated: NVM subsystem reset required - power cycle your system.
1205cf840871SPaul Winder
120668df0c4fSGuy Morrogh# nvmeadm list-firmware nvme3
1207cf840871SPaul Windernvme3: Firmware Slot Information
1208cf840871SPaul Winder  Active Firmware Slot:                     4
1209cf840871SPaul Winder  Next Firmware Slot:                       5
12108466ab88SHans Rosenfeld  Firmware Revision for Slot 1:             KNGND110 (read-only)
1211cf840871SPaul Winder  Firmware Revision for Slot 2:             KNGND110
1212cf840871SPaul Winder  Firmware Revision for Slot 3:             KNGND110
1213cf840871SPaul Winder  Firmware Revision for Slot 4:             KNGND112
1214cf840871SPaul Winder  Firmware Revision for Slot 5:             KNGND113
1215cf840871SPaul Winder.Ed
1216533affcbSRobert Mustacchi.It Sy Example 6: Listing Log Pages
1217533affcbSRobert Mustacchi.Bd -literal
1218533affcbSRobert Mustacchi# nvmeadm list-logpages nvme8
1219533affcbSRobert MustacchiDEVICE  NAME          SCOPE         FIELDS    DESC
1220533affcbSRobert Mustacchinvme8   error         controller    rae       Error information
1221533affcbSRobert Mustacchinvme8   health        controller,   rae       SMART / Health information
1222533affcbSRobert Mustacchi                      namespace
1223533affcbSRobert Mustacchinvme8   firmware      nvm           --        Firmware Slot Information
1224533affcbSRobert Mustacchinvme8   changens      controller    rae       changed namespaces
1225533affcbSRobert Mustacchinvme8   wdc/eol       nvm           --        EOL
1226533affcbSRobert Mustacchinvme8   wdc/devmgmt   controller,   --        Device Manageability
1227533affcbSRobert Mustacchi                      namespace
1228533affcbSRobert Mustacchinvme8   wdc/pciesi    controller    lsp       PCIe Signal Integrity
1229533affcbSRobert Mustacchinvme8   wdc/power     controller    --        Power Samples
1230533affcbSRobert Mustacchinvme8   wdc/temp      controller    --        Temperature Samples
1231533affcbSRobert Mustacchinvme8   wdc/fwact     controller    --        Firmware Activation
1232533affcbSRobert Mustacchinvme8   wdc/ccds      controller    --        CCDS Build Information
1233533affcbSRobert Mustacchi# nvmeadm list-logpages -p -o name,impl nvme8 firmware
1234533affcbSRobert Mustacchifirmware:yes
1235533affcbSRobert Mustacchi.Ed
12363d9b1a2aSHans Rosenfeld.El
12373d9b1a2aSHans Rosenfeld.Sh INTERFACE STABILITY
12383d9b1a2aSHans RosenfeldThe command line interface of
12393d9b1a2aSHans Rosenfeld.Nm
12403d9b1a2aSHans Rosenfeldis
12413d9b1a2aSHans Rosenfeld.Sy Evolving .
12423d9b1a2aSHans RosenfeldThe output of
12433d9b1a2aSHans Rosenfeld.Nm
12443d9b1a2aSHans Rosenfeldis
12453d9b1a2aSHans Rosenfeld.Sy Not-an-Interface
12463d9b1a2aSHans Rosenfeldand may change any time.
12473d9b1a2aSHans Rosenfeld.Sh SEE ALSO
1248bbf21555SRichard Lowe.Xr nvme 4D
12493d9b1a2aSHans Rosenfeld.Pp
12503d9b1a2aSHans Rosenfeld.Lk http://www.nvmexpress.org/specifications/ "NVMe specifications"
1251