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