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