1*ecee5a1fSHans Rosenfeld.\" 2*ecee5a1fSHans Rosenfeld.\" This file and its contents are supplied under the terms of the 3*ecee5a1fSHans Rosenfeld.\" Common Development and Distribution License ("CDDL"), version 1.0. 4*ecee5a1fSHans Rosenfeld.\" You may only use this file in accordance with the terms of version 5*ecee5a1fSHans Rosenfeld.\" 1.0 of the CDDL. 6*ecee5a1fSHans Rosenfeld.\" 7*ecee5a1fSHans Rosenfeld.\" A full copy of the text of the CDDL should have accompanied this 8*ecee5a1fSHans Rosenfeld.\" source. A copy of the CDDL is also available via the Internet at 9*ecee5a1fSHans Rosenfeld.\" http://www.illumos.org/license/CDDL. 10*ecee5a1fSHans Rosenfeld.\" 11*ecee5a1fSHans Rosenfeld.\" 12*ecee5a1fSHans Rosenfeld.\" Copyright 2016 Nexenta Systems, Inc. All rights reserved. 13*ecee5a1fSHans Rosenfeld.\" 14*ecee5a1fSHans Rosenfeld.Dd May 04, 2016 15*ecee5a1fSHans Rosenfeld.Dt NVMEADM 1M 16*ecee5a1fSHans Rosenfeld.Os 17*ecee5a1fSHans Rosenfeld.Sh NAME 18*ecee5a1fSHans Rosenfeld.Nm nvmeadm 19*ecee5a1fSHans Rosenfeld.Nd NVMe administration utility 20*ecee5a1fSHans Rosenfeld.Sh SYNOPSIS 21*ecee5a1fSHans Rosenfeld.Nm 22*ecee5a1fSHans Rosenfeld.Fl h 23*ecee5a1fSHans Rosenfeld.Op Ar command 24*ecee5a1fSHans Rosenfeld.Nm 25*ecee5a1fSHans Rosenfeld.Op Fl dv 26*ecee5a1fSHans Rosenfeld.Cm list 27*ecee5a1fSHans Rosenfeld.Op Ar ctl[/ns][,...] 28*ecee5a1fSHans Rosenfeld.Nm 29*ecee5a1fSHans Rosenfeld.Op Fl dv 30*ecee5a1fSHans Rosenfeld.Cm identify 31*ecee5a1fSHans Rosenfeld.Ar ctl[/ns][,...] 32*ecee5a1fSHans Rosenfeld.Nm 33*ecee5a1fSHans Rosenfeld.Op Fl dv 34*ecee5a1fSHans Rosenfeld.Cm get-logpage 35*ecee5a1fSHans Rosenfeld.Ar ctl[/ns][,...] 36*ecee5a1fSHans Rosenfeld.Ar logpage 37*ecee5a1fSHans Rosenfeld.Nm 38*ecee5a1fSHans Rosenfeld.Op Fl dv 39*ecee5a1fSHans Rosenfeld.Cm get-features 40*ecee5a1fSHans Rosenfeld.Ar ctl[/ns][,...] 41*ecee5a1fSHans Rosenfeld.Op Ar feature-list 42*ecee5a1fSHans Rosenfeld.Nm 43*ecee5a1fSHans Rosenfeld.Op Fl dv 44*ecee5a1fSHans Rosenfeld.Cm format 45*ecee5a1fSHans Rosenfeld.Ar ctl[/ns] 46*ecee5a1fSHans Rosenfeld.Op Ar lba-format 47*ecee5a1fSHans Rosenfeld.Nm 48*ecee5a1fSHans Rosenfeld.Op Fl dv 49*ecee5a1fSHans Rosenfeld.Cm secure-erase 50*ecee5a1fSHans Rosenfeld.Ar ctl[/ns] 51*ecee5a1fSHans Rosenfeld.Op Fl c 52*ecee5a1fSHans Rosenfeld.Nm 53*ecee5a1fSHans Rosenfeld.Op Fl dv 54*ecee5a1fSHans Rosenfeld.Cm detach 55*ecee5a1fSHans Rosenfeld.Ar ctl[/ns] 56*ecee5a1fSHans Rosenfeld.Nm 57*ecee5a1fSHans Rosenfeld.Op Fl dv 58*ecee5a1fSHans Rosenfeld.Cm attach 59*ecee5a1fSHans Rosenfeld.Ar ctl[/ns] 60*ecee5a1fSHans Rosenfeld.Sh DESCRIPTION 61*ecee5a1fSHans RosenfeldThe 62*ecee5a1fSHans Rosenfeld.Nm 63*ecee5a1fSHans Rosenfeldutility can be used to enumerate the NVMe controllers and their 64*ecee5a1fSHans Rosenfeldnamespaces, query hardware information from a NVMe controller or 65*ecee5a1fSHans Rosenfeldnamespace, and to format or secure-erase a NVMe controller or 66*ecee5a1fSHans Rosenfeldnamespace. 67*ecee5a1fSHans Rosenfeld.Pp 68*ecee5a1fSHans RosenfeldThe information returned by the hardware is printed by 69*ecee5a1fSHans Rosenfeld.Nm 70*ecee5a1fSHans Rosenfeldin a human-readable form were applicable. 71*ecee5a1fSHans RosenfeldGenerally all 0-based counts are normalized and values may be 72*ecee5a1fSHans Rosenfeldconverted to human-readable units such as MB (megabytes), W (watts), 73*ecee5a1fSHans Rosenfeldor C (degrees Celsius). 74*ecee5a1fSHans Rosenfeld.Sh OPTIONS 75*ecee5a1fSHans RosenfeldThe following options are supported: 76*ecee5a1fSHans Rosenfeld.Bl -tag -width Ds 77*ecee5a1fSHans Rosenfeld.It Fl h 78*ecee5a1fSHans RosenfeldPrint a short help text for 79*ecee5a1fSHans Rosenfeld.Nm , 80*ecee5a1fSHans Rosenfeldor for an optionally specified 81*ecee5a1fSHans Rosenfeld.Nm 82*ecee5a1fSHans Rosenfeldcommand. 83*ecee5a1fSHans Rosenfeld.It Fl d 84*ecee5a1fSHans RosenfeldEnable debugging output. 85*ecee5a1fSHans Rosenfeld.It Fl v 86*ecee5a1fSHans RosenfeldEnable verbose output. 87*ecee5a1fSHans Rosenfeld.El 88*ecee5a1fSHans Rosenfeld.Sh ARGUMENTS 89*ecee5a1fSHans Rosenfeld.Nm 90*ecee5a1fSHans Rosenfeldexpects the following kinds of arguments: 91*ecee5a1fSHans Rosenfeld.Bl -tag -width "ctl/[ns]" 92*ecee5a1fSHans Rosenfeld.It Ar command 93*ecee5a1fSHans RosenfeldAny command 94*ecee5a1fSHans Rosenfeld.Nm 95*ecee5a1fSHans Rosenfeldunderstands. 96*ecee5a1fSHans RosenfeldSee section 97*ecee5a1fSHans Rosenfeld.Sx COMMANDS . 98*ecee5a1fSHans Rosenfeld.It Ar ctl/[ns] 99*ecee5a1fSHans RosenfeldSpecifies a NVMe controller and optionally a namespace within that 100*ecee5a1fSHans Rosenfeldcontroller. 101*ecee5a1fSHans RosenfeldThe controller name consists of the driver name 102*ecee5a1fSHans Rosenfeld.Qq nvme 103*ecee5a1fSHans Rosenfeldfollowed by an instance number. 104*ecee5a1fSHans RosenfeldA namespace is specified by appending a single 105*ecee5a1fSHans Rosenfeld.Qq / 106*ecee5a1fSHans Rosenfeldfollowed by the namespace ID to the controller name. 107*ecee5a1fSHans RosenfeldThe namespace ID is the EUI64 of the namespace, or a positive non-zero 108*ecee5a1fSHans Rosenfelddecimal number if the namespace doesn't have an EUI64. 109*ecee5a1fSHans RosenfeldFor commands that don't change the device state multiple controllers 110*ecee5a1fSHans Rosenfeldand namespaces can be specified as a comma-separated list. 111*ecee5a1fSHans Rosenfeld.Pp 112*ecee5a1fSHans RosenfeldThe list of controllers and namespaces present in the system can be 113*ecee5a1fSHans Rosenfeldqueried with the 114*ecee5a1fSHans Rosenfeld.Cm list 115*ecee5a1fSHans Rosenfeldcommand without any arguments. 116*ecee5a1fSHans Rosenfeld.It Ar logpage 117*ecee5a1fSHans RosenfeldSpecifies the log page name for the 118*ecee5a1fSHans Rosenfeld.Cm get-logpage 119*ecee5a1fSHans Rosenfeldcommand. 120*ecee5a1fSHans Rosenfeld.It Ar feature-list 121*ecee5a1fSHans RosenfeldA comma-separated list of feature names for the 122*ecee5a1fSHans Rosenfeld.Cm get-features 123*ecee5a1fSHans Rosenfeldcommand. 124*ecee5a1fSHans RosenfeldFeature names can be specified in upper or lower case and can be 125*ecee5a1fSHans Rosenfeldshortened the shortest unique name. 126*ecee5a1fSHans RosenfeldSome features may also have an alternative short name. 127*ecee5a1fSHans Rosenfeld.It Ar lba-format 128*ecee5a1fSHans RosenfeldA non-zero integer specifying the LBA format for the 129*ecee5a1fSHans Rosenfeld.Cm format 130*ecee5a1fSHans Rosenfeldcommand. 131*ecee5a1fSHans RosenfeldThe list of supported LBA formats on a namespace can be retrieved 132*ecee5a1fSHans Rosenfeldwith the 133*ecee5a1fSHans Rosenfeld.Nm 134*ecee5a1fSHans Rosenfeld.Cm identify 135*ecee5a1fSHans Rosenfeldcommand. 136*ecee5a1fSHans Rosenfeld.El 137*ecee5a1fSHans Rosenfeld.Sh COMMANDS 138*ecee5a1fSHans Rosenfeld.Bl -tag -width "" 139*ecee5a1fSHans Rosenfeld.It Xo 140*ecee5a1fSHans Rosenfeld.Nm 141*ecee5a1fSHans Rosenfeld.Cm list 142*ecee5a1fSHans Rosenfeld.Op Ar ctl[/ns][,...] 143*ecee5a1fSHans Rosenfeld.Xc 144*ecee5a1fSHans RosenfeldLists the NVMe controllers and their namespaces in the system and 145*ecee5a1fSHans Rosenfeldprints a 1-line summary of their basic properties for each. 146*ecee5a1fSHans RosenfeldIf a list of controllers and/or namespaces is given then the listing 147*ecee5a1fSHans Rosenfeldis limited to those devices. 148*ecee5a1fSHans Rosenfeld.It Xo 149*ecee5a1fSHans Rosenfeld.Nm 150*ecee5a1fSHans Rosenfeld.Cm identify 151*ecee5a1fSHans Rosenfeld.Ar ctl[/ns][,...] 152*ecee5a1fSHans Rosenfeld.Xc 153*ecee5a1fSHans RosenfeldPrint detailed information about the specified controllers and/or 154*ecee5a1fSHans Rosenfeldnamespaces. 155*ecee5a1fSHans RosenfeldThe information returned differs depending on whether a controller or 156*ecee5a1fSHans Rosenfelda namespace is specified. 157*ecee5a1fSHans RosenfeldFor an explanation of the data printed by this command refer to the 158*ecee5a1fSHans Rosenfelddescription of the 159*ecee5a1fSHans Rosenfeld.Qq IDENTIFY 160*ecee5a1fSHans Rosenfeldadmin command in the NVMe specification. 161*ecee5a1fSHans Rosenfeld.It Xo 162*ecee5a1fSHans Rosenfeld.Nm 163*ecee5a1fSHans Rosenfeld.Cm get-logpage 164*ecee5a1fSHans Rosenfeld.Ar ctl[/ns][,...] 165*ecee5a1fSHans Rosenfeld.Ar logpage 166*ecee5a1fSHans Rosenfeld.Xc 167*ecee5a1fSHans RosenfeldPrint the specified log page of the specified controllers and/or namespaces. 168*ecee5a1fSHans RosenfeldMost log pages are only available on a per-controller basis. 169*ecee5a1fSHans RosenfeldKnown log pages are: 170*ecee5a1fSHans Rosenfeld.Bl -tag -width "firmware" 171*ecee5a1fSHans Rosenfeld.It error 172*ecee5a1fSHans RosenfeldError Information 173*ecee5a1fSHans Rosenfeld.It health 174*ecee5a1fSHans RosenfeldSMART/Health Information. 175*ecee5a1fSHans RosenfeldA controller may support this log page on a per-namespace basis. 176*ecee5a1fSHans Rosenfeld.It firmware 177*ecee5a1fSHans RosenfeldFirmware Slot Information 178*ecee5a1fSHans Rosenfeld.El 179*ecee5a1fSHans Rosenfeld.Pp 180*ecee5a1fSHans RosenfeldFor an explanation of the contents of the log pages refer to the 181*ecee5a1fSHans Rosenfelddescription of the 182*ecee5a1fSHans Rosenfeld.Qq GET LOGPAGE 183*ecee5a1fSHans Rosenfeldadmin command in the NVMe specification. 184*ecee5a1fSHans Rosenfeld.It Xo 185*ecee5a1fSHans Rosenfeld.Nm 186*ecee5a1fSHans Rosenfeld.Cm get-features 187*ecee5a1fSHans Rosenfeld.Ar ctl[/ns][,...] 188*ecee5a1fSHans Rosenfeld.Op Ar feature-list 189*ecee5a1fSHans Rosenfeld.Xc 190*ecee5a1fSHans RosenfeldPrints information about the specified features, or all features if 191*ecee5a1fSHans Rosenfeldnone are given, of the specified controllers and/or namespaces. 192*ecee5a1fSHans RosenfeldFeature names are case-insensitive, and they can be shortened as long 193*ecee5a1fSHans Rosenfeldas they remain unique. 194*ecee5a1fSHans RosenfeldSome features also have alternative short names to which the same 195*ecee5a1fSHans Rosenfeldrules apply. 196*ecee5a1fSHans RosenfeldThe following features are supported: 197*ecee5a1fSHans Rosenfeld.Pp 198*ecee5a1fSHans Rosenfeld.TS 199*ecee5a1fSHans Rosenfeldtab(:); 200*ecee5a1fSHans Rosenfeldl l l. 201*ecee5a1fSHans RosenfeldFULL NAME:SHORT NAME:CONTROLLER/NAMESPACE 202*ecee5a1fSHans RosenfeldArbitration::controller 203*ecee5a1fSHans RosenfeldPower Management::controller 204*ecee5a1fSHans RosenfeldLBA Range Type:range:namespace 205*ecee5a1fSHans RosenfeldTemperature Threshold::controller 206*ecee5a1fSHans RosenfeldError Recovery::controller 207*ecee5a1fSHans RosenfeldVolatile Write Cache:cache:controller 208*ecee5a1fSHans RosenfeldNumber of Queues:queues:controller 209*ecee5a1fSHans RosenfeldInterrupt Coalescing:coalescing:controller 210*ecee5a1fSHans RosenfeldInterrupt Vector Configuration:vector:controller 211*ecee5a1fSHans RosenfeldWrite Atomicity:atomicity:controller 212*ecee5a1fSHans RosenfeldAsynchronous Event Configuration:event:controller 213*ecee5a1fSHans RosenfeldAutonomous Power State Transition::controller 214*ecee5a1fSHans RosenfeldSoftware Progress Marker:progress:controller 215*ecee5a1fSHans Rosenfeld.TE 216*ecee5a1fSHans Rosenfeld.Pp 217*ecee5a1fSHans RosenfeldFor an explanation of the individual features refer to the description 218*ecee5a1fSHans Rosenfeldof the 219*ecee5a1fSHans Rosenfeld.Qq SET FEATURES 220*ecee5a1fSHans Rosenfeldadmin command in the NVMe specification. 221*ecee5a1fSHans Rosenfeld.It Xo 222*ecee5a1fSHans Rosenfeld.Nm 223*ecee5a1fSHans Rosenfeld.Cm format 224*ecee5a1fSHans Rosenfeld.Ar ctl[/ns] 225*ecee5a1fSHans Rosenfeld.Op Ar lba-format 226*ecee5a1fSHans Rosenfeld.Xc 227*ecee5a1fSHans RosenfeldFormats the specified namespace or all namespaces of the specified 228*ecee5a1fSHans Rosenfeldcontroller. 229*ecee5a1fSHans RosenfeldThis command implies a 230*ecee5a1fSHans Rosenfeld.Nm 231*ecee5a1fSHans Rosenfeld.Cm detach 232*ecee5a1fSHans Rosenfeldand subsequent 233*ecee5a1fSHans Rosenfeld.Nm 234*ecee5a1fSHans Rosenfeld.Cm attach 235*ecee5a1fSHans Rosenfeldof the specified namespace(s), which will cause a changed LBA format 236*ecee5a1fSHans Rosenfeldto be detected. 237*ecee5a1fSHans RosenfeldIf no LBA format is specified the LBA format currently used by the 238*ecee5a1fSHans Rosenfeldnamespace will be used. 239*ecee5a1fSHans RosenfeldWhen formatting all namespaces without specifying a LBA format the LBA 240*ecee5a1fSHans Rosenfeldformat of namespace 1 will be used. 241*ecee5a1fSHans RosenfeldA list of LBA formats supported by a namespace can be queried with the 242*ecee5a1fSHans Rosenfeld.Nm 243*ecee5a1fSHans Rosenfeld.Cm identify 244*ecee5a1fSHans Rosenfeldcommand. 245*ecee5a1fSHans Rosenfeld.Pp 246*ecee5a1fSHans RosenfeldNote that not all devices support formatting individual or all 247*ecee5a1fSHans Rosenfeldnamespaces, or support formatting at all. 248*ecee5a1fSHans Rosenfeld.Pp 249*ecee5a1fSHans RosenfeldLBA formats using a non-zero metadata size are not supported by 250*ecee5a1fSHans Rosenfeld.Nm 251*ecee5a1fSHans Rosenfeldor 252*ecee5a1fSHans Rosenfeld.Xr nvme 7D . 253*ecee5a1fSHans Rosenfeld.Pp 254*ecee5a1fSHans RosenfeldThe list of supported LBA formats on a namespace can be retrieved 255*ecee5a1fSHans Rosenfeldwith the 256*ecee5a1fSHans Rosenfeld.Nm 257*ecee5a1fSHans Rosenfeld.Cm identify 258*ecee5a1fSHans Rosenfeldcommand. 259*ecee5a1fSHans Rosenfeld.It Xo 260*ecee5a1fSHans Rosenfeld.Nm 261*ecee5a1fSHans Rosenfeld.Cm secure-erase 262*ecee5a1fSHans Rosenfeld.Ar ctl[/ns] 263*ecee5a1fSHans Rosenfeld.Op Fl c 264*ecee5a1fSHans Rosenfeld.Xc 265*ecee5a1fSHans RosenfeldErases the specified namespace or all namespaces of the controller. 266*ecee5a1fSHans RosenfeldThe flag 267*ecee5a1fSHans Rosenfeld.Fl c 268*ecee5a1fSHans Rosenfeldwill cause a cryptographic erase instead of a normal erase. 269*ecee5a1fSHans RosenfeldThis command implies a 270*ecee5a1fSHans Rosenfeld.Nm 271*ecee5a1fSHans Rosenfeld.Cm detach 272*ecee5a1fSHans Rosenfeldand 273*ecee5a1fSHans Rosenfeld.Nm 274*ecee5a1fSHans Rosenfeld.Cm attach 275*ecee5a1fSHans Rosenfeldof the specified namespace(s). 276*ecee5a1fSHans Rosenfeld.Pp 277*ecee5a1fSHans RosenfeldNote that not all devices support erasing individual or all 278*ecee5a1fSHans Rosenfeldnamespaces, or support erasing at all. 279*ecee5a1fSHans Rosenfeld.It Xo 280*ecee5a1fSHans Rosenfeld.Nm 281*ecee5a1fSHans Rosenfeld.Cm detach 282*ecee5a1fSHans Rosenfeld.Ar ctl[/ns] 283*ecee5a1fSHans Rosenfeld.Xc 284*ecee5a1fSHans RosenfeldTemporarily detaches the 285*ecee5a1fSHans Rosenfeld.Xr blkdev 7D 286*ecee5a1fSHans Rosenfeldinstance from the specified namespace or all namespaces of the controller. 287*ecee5a1fSHans RosenfeldThis will prevent I/O access to the affected namespace(s). 288*ecee5a1fSHans RosenfeldDetach will only succeed if the affected namespace(s) are not 289*ecee5a1fSHans Rosenfeldcurrently opened. 290*ecee5a1fSHans RosenfeldThe detached state will not persist across reboots or reloads of the 291*ecee5a1fSHans Rosenfeld.Xr nvme 7D 292*ecee5a1fSHans Rosenfelddriver. 293*ecee5a1fSHans Rosenfeld.It Xo 294*ecee5a1fSHans Rosenfeld.Nm 295*ecee5a1fSHans Rosenfeld.Cm attach 296*ecee5a1fSHans Rosenfeld.Ar ctl[/ns] 297*ecee5a1fSHans Rosenfeld.Xc 298*ecee5a1fSHans RosenfeldAttaches the 299*ecee5a1fSHans Rosenfeld.Xr blkdev 7D 300*ecee5a1fSHans Rosenfeldinstance to the specified namespace or all namespaces of the controller. 301*ecee5a1fSHans RosenfeldThis will make I/O accesses to the namespace(s) possible again after a 302*ecee5a1fSHans Rosenfeldprevious 303*ecee5a1fSHans Rosenfeld.Nm 304*ecee5a1fSHans Rosenfeld.Cm detach 305*ecee5a1fSHans Rosenfeldcommand. 306*ecee5a1fSHans Rosenfeld.El 307*ecee5a1fSHans Rosenfeld.Sh EXIT STATUS 308*ecee5a1fSHans Rosenfeld.Ex -std 309*ecee5a1fSHans Rosenfeld.Sh EXAMPLES 310*ecee5a1fSHans Rosenfeld.Bl -tag -width "" 311*ecee5a1fSHans Rosenfeld.It Sy Example 1: List all NVMe controllers and namespaces 312*ecee5a1fSHans Rosenfeld.Bd -literal 313*ecee5a1fSHans Rosenfeld# nvmeadm list 314*ecee5a1fSHans Rosenfeldnvme1: model: INTEL SSDPEDMD800G4, serial: CVFT4134001R800CGN, FW rev: 8DV10049, NVMe v1.0 315*ecee5a1fSHans Rosenfeld nvme1/1 (c1t1d0): Size = 763097 MB, Capacity = 763097 MB, Used = 763097 MB 316*ecee5a1fSHans Rosenfeldnvme4: model: SAMSUNG MZVPV128HDGM-00000, serial: S1XVNYAGA00640, FW rev: BXW7300Q, NVMe v1.1 317*ecee5a1fSHans Rosenfeld nvme4/1 (c2t2d0): Size = 122104 MB, Capacity = 122104 MB, Used = 5127 MB 318*ecee5a1fSHans Rosenfeld.Ed 319*ecee5a1fSHans Rosenfeld.It Sy Example 2: Identify a namespace 320*ecee5a1fSHans Rosenfeld.Bd -literal 321*ecee5a1fSHans Rosenfeld# nvmeadm identify nvme4/1 322*ecee5a1fSHans Rosenfeldnvme4/1: Identify Namespace 323*ecee5a1fSHans Rosenfeld Namespace Capabilities and Features 324*ecee5a1fSHans Rosenfeld Namespace Size: 122104MB 325*ecee5a1fSHans Rosenfeld Namespace Capacity: 122104MB 326*ecee5a1fSHans Rosenfeld Namespace Utilization: 5127MB 327*ecee5a1fSHans Rosenfeld Namespace Features 328*ecee5a1fSHans Rosenfeld Thin Provisioning: unsupported 329*ecee5a1fSHans Rosenfeld Number of LBA Formats: 1 330*ecee5a1fSHans Rosenfeld Formatted LBA Size 331*ecee5a1fSHans Rosenfeld LBA Format: 1 332*ecee5a1fSHans Rosenfeld Extended Data LBA: no 333*ecee5a1fSHans Rosenfeld Metadata Capabilities 334*ecee5a1fSHans Rosenfeld Extended Data LBA: unsupported 335*ecee5a1fSHans Rosenfeld Separate Metadata: unsupported 336*ecee5a1fSHans Rosenfeld End-to-End Data Protection Capabilities 337*ecee5a1fSHans Rosenfeld Protection Information Type 1: unsupported 338*ecee5a1fSHans Rosenfeld Protection Information Type 2: unsupported 339*ecee5a1fSHans Rosenfeld Protection Information Type 3: unsupported 340*ecee5a1fSHans Rosenfeld Protection Information first: unsupported 341*ecee5a1fSHans Rosenfeld Protection Information last: unsupported 342*ecee5a1fSHans Rosenfeld End-to-End Data Protection Settings 343*ecee5a1fSHans Rosenfeld Protection Information: disabled 344*ecee5a1fSHans Rosenfeld Protection Information in Metadata: last 8 bytes 345*ecee5a1fSHans Rosenfeld LBA Format 1 346*ecee5a1fSHans Rosenfeld Metadata Size: 0 bytes 347*ecee5a1fSHans Rosenfeld LBA Data Size: 512 bytes 348*ecee5a1fSHans Rosenfeld Relative Performance: Best 349*ecee5a1fSHans Rosenfeld.Ed 350*ecee5a1fSHans Rosenfeld.It Sy Example 3: Get SMART/Health information (verbose) 351*ecee5a1fSHans Rosenfeld.Bd -literal 352*ecee5a1fSHans Rosenfeld# nvmeadm -v get-logpage nvme4/1 health 353*ecee5a1fSHans Rosenfeldnvme4/1: SMART/Health Information 354*ecee5a1fSHans Rosenfeld Critical Warnings 355*ecee5a1fSHans Rosenfeld Available Space: OK 356*ecee5a1fSHans Rosenfeld Temperature: OK 357*ecee5a1fSHans Rosenfeld Device Reliability: OK 358*ecee5a1fSHans Rosenfeld Media: OK 359*ecee5a1fSHans Rosenfeld Volatile Memory Backup: OK 360*ecee5a1fSHans Rosenfeld Temperature: 37C 361*ecee5a1fSHans Rosenfeld Available Spare Capacity: 100% 362*ecee5a1fSHans Rosenfeld Available Spare Threshold: 10% 363*ecee5a1fSHans Rosenfeld Device Life Used: 0% 364*ecee5a1fSHans Rosenfeld Data Read: 0GB 365*ecee5a1fSHans Rosenfeld Data Written: 64GB 366*ecee5a1fSHans Rosenfeld Read Commands: 52907 367*ecee5a1fSHans Rosenfeld Write Commands: 567874 368*ecee5a1fSHans Rosenfeld Controller Busy: 1min 369*ecee5a1fSHans Rosenfeld Power Cycles: 6 370*ecee5a1fSHans Rosenfeld Power On: 141h 371*ecee5a1fSHans Rosenfeld Unsafe Shutdowns: 1 372*ecee5a1fSHans Rosenfeld Uncorrectable Media Errors: 0 373*ecee5a1fSHans Rosenfeld Errors Logged: 1 374*ecee5a1fSHans Rosenfeld.Ed 375*ecee5a1fSHans Rosenfeld.It Sy Example 4: Get Asynchronous Event Configuration information 376*ecee5a1fSHans Rosenfeld.Bd -literal 377*ecee5a1fSHans Rosenfeld# nvmeadm get-features nvme0,nvme4 event,power 378*ecee5a1fSHans Rosenfeldnvme0: Get Features 379*ecee5a1fSHans Rosenfeld Asynchronous Event Configuration 380*ecee5a1fSHans Rosenfeld Available Space below threshold: disabled 381*ecee5a1fSHans Rosenfeld Temperature above threshold: disabled 382*ecee5a1fSHans Rosenfeld Device Reliability compromised: disabled 383*ecee5a1fSHans Rosenfeld Media read-only: disabled 384*ecee5a1fSHans Rosenfeld Power Management 385*ecee5a1fSHans Rosenfeld Power State: 0 386*ecee5a1fSHans Rosenfeldnvme4: Get Features 387*ecee5a1fSHans Rosenfeld Asynchronous Event Configuration 388*ecee5a1fSHans Rosenfeld Available Space below threshold: disabled 389*ecee5a1fSHans Rosenfeld Temperature above threshold: disabled 390*ecee5a1fSHans Rosenfeld Device Reliability compromised: disabled 391*ecee5a1fSHans Rosenfeld Media read-only: disabled 392*ecee5a1fSHans Rosenfeld Volatile Memory Backup failed: disabled 393*ecee5a1fSHans Rosenfeld Power Management 394*ecee5a1fSHans Rosenfeld Power State: 0 395*ecee5a1fSHans Rosenfeld.Ed 396*ecee5a1fSHans Rosenfeld.El 397*ecee5a1fSHans Rosenfeld.Sh INTERFACE STABILITY 398*ecee5a1fSHans RosenfeldThe command line interface of 399*ecee5a1fSHans Rosenfeld.Nm 400*ecee5a1fSHans Rosenfeldis 401*ecee5a1fSHans Rosenfeld.Sy Evolving . 402*ecee5a1fSHans RosenfeldThe output of 403*ecee5a1fSHans Rosenfeld.Nm 404*ecee5a1fSHans Rosenfeldis 405*ecee5a1fSHans Rosenfeld.Sy Not-an-Interface 406*ecee5a1fSHans Rosenfeldand may change any time. 407*ecee5a1fSHans Rosenfeld.Sh SEE ALSO 408*ecee5a1fSHans Rosenfeld.Xr nvme 7D 409*ecee5a1fSHans Rosenfeld.Pp 410*ecee5a1fSHans Rosenfeld.Lk http://www.nvmexpress.org/specifications/ "NVMe specifications" 411