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