1 .\"
   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
   5 .\" 1.0 of the CDDL.
   6 .\"
   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.
  10 .\"
  11 .\"
  12 .\" Copyright 2016 Nexenta Systems, Inc.  All rights reserved.
  13 .\" Copyright (c) 2018, Joyent, Inc.
  14 .\"
  15 .Dd July 31, 2018
  16 .Dt NVME 7D
  17 .Os
  18 .Sh NAME
  19 .Nm nvme
  20 .Nd Intel NVMe compliant storage driver
  21 .Sh DESCRIPTION
  22 The
  23 .Nm
  24 driver uses the
  25 .Xr blkdev 7D
  26 framework to provide access to
  27 Intel
  28 NVMe compliant solid-state storage devices.
  29 .Lp
  30 NVMe devices supporting multiple namespaces will present each
  31 namespace as its own
  32 .Xr blkdev 7D
  33 instance in the system.
  34 .
  35 .Sh CONFIGURATION
  36 The
  37 .Nm
  38 driver can be configured by defining properties in the
  39 .Pa nvme.conf
  40 file.
  41 The parameters are considered an unstable interface, subject to
  42 change without notice.
  43 The following properties are currently supported:
  44 .Bl -tag -width Va
  45 .It Va strict-version
  46 This can be set to 0 to allow
  47 .Nm
  48 to attach to devices supporting newer version of the NVMe
  49 specification.
  50 The default value is 1, limiting
  51 .Nm
  52 to work with devices that support major version 1.
  53 .It Va ignore-unknown-vendor-status
  54 This can be set to 1 to allow
  55 .Nm
  56 to continue operating even if it receives an unknown vendor command
  57 status.
  58 .It Va admin-queue-len
  59 This is the number of entries in the admin command queue.
  60 Legal values are between 16 and 4096, the default value is 256.
  61 .It Va io-queue-len
  62 This is the number of entries in each I/O command queue.
  63 Legal values are between 16 and 65536, the default value is 1024.
  64 .It Va async-event-limit
  65 This is the maximum number of asynchronous event requests issued by
  66 the driver.
  67 Asynchronous events are used to report error conditions.
  68 The driver will never use more asynchronous events than this value, or
  69 what the hardware supports if it is less, or 1/10th of the admin queue
  70 length if it is less.
  71 .It Va volatile-write-cache-enable
  72 This property can be set to 0 to disable the volatile write cache, if
  73 the hardware supports it.
  74 The default setting is 1, which enables the volatile write cache.
  75 .It Va min-phys-block-size
  76 This is the minimum physical block size that is reported to
  77 .Xr blkdev 7d .
  78 This value must be a power of 2 greater than or equal to 512.
  79 If the device reports a best block size larger than what is
  80 specified here the driver will ignore the value specified here.
  81 .El
  82 .
  83 .Sh FILES
  84 .Bl -tag -compact -width Pa
  85 .It Pa /dev/dsk/cntnd0sn
  86 Block device minor nodes.
  87 .It Pa /dev/rdsk/cntnd0sn
  88 Raw block device minor nodes.
  89 .El
  90 .Lp
  91 In the device minor nodes, the following substitutions may occur:
  92 .Bl -tag -offset indent -width Va
  93 .It Va cn
  94 A controller number, typically one for each
  95 .Nm
  96 device found.
  97 Controller numbers are dynamically assigned by the system.
  98 .It Va tn
  99 The target number.
 100 This is the namespace EUI64 if available, or the namespace ID used by
 101 the hardware.
 102 Namespace ID 0 is reserved, hence target numbers start with 1.
 103 .It Va sn
 104 This is the
 105 .Em slice
 106 number, representing a subset of the disk.
 107 See
 108 .Xr dkio 7I .
 109 .El
 110 .
 111 .Sh SEE ALSO
 112 .Xr blkdev 7D