xref: /illumos-gate/usr/src/man/man4d/nvme.4d (revision 3ee59242)
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.\" Copyright 2019, Western Digital Corporation
15.\"
16.Dd January 22, 2022
17.Dt NVME 4D
18.Os
19.Sh NAME
20.Nm nvme
21.Nd Intel NVMe compliant storage driver
22.Sh DESCRIPTION
23The
24.Nm
25driver uses the
26.Xr blkdev 4D
27framework to provide access to
28NVMe compliant solid-state storage devices.
29All NVMe version 1.x devices are supported.
30.Lp
31NVMe devices supporting multiple namespaces will present each
32namespace as its own
33.Xr blkdev 4D
34instance in the system.
35.
36.Sh CONFIGURATION
37The
38.Nm
39driver can be configured by defining properties in the
40.Pa nvme.conf
41file.
42The parameters are considered an unstable interface, subject to
43change without notice.
44The following properties are currently supported:
45.Bl -tag -width Va
46.It Va strict-version
47This can be set to 0 to allow
48.Nm
49to attach to devices supporting newer version of the NVMe
50specification.
51The default value is 1, limiting
52.Nm
53to work with devices that support major version 1.
54.It Va ignore-unknown-vendor-status
55This can be set to 1 to allow
56.Nm
57to continue operating even if it receives an unknown vendor command
58status.
59.It Va admin-queue-len
60This is the number of entries in the admin command queue.
61Legal values are between 16 and 4096, the default value is 256.
62.It Va io-squeue-len
63This is the number of entries in each I/O submission queue.
64Legal values are between 16 and 65536, the default value is 1024.
65.It Va io-cqueue-len
66This is the number of entries in each I/O completion queue.
67Legal values are between 16 and 65536, the default value is 2048.
68When the number of submission and completion queues are the same,
69the queue lengths will be both set to the lesser of
70.Va io-squeue-len
71and
72.Va io-cqueue-len .
73.It Va async-event-limit
74This is the maximum number of asynchronous event requests issued by
75the driver.
76Asynchronous events are used to report error conditions.
77The driver will never use more asynchronous events than this value, or
78what the hardware supports if it is less, or 1/10th of the admin queue
79length if it is less.
80.It Va volatile-write-cache-enable
81This property can be set to 0 to disable the volatile write cache, if
82the hardware supports it.
83The default setting is 1, which enables the volatile write cache.
84.It Va min-phys-block-size
85This is the minimum physical block size that is reported to
86.Xr blkdev 4D .
87This value must be a power of 2 greater than or equal to 512.
88If the device reports a best block size larger than what is
89specified here the driver will ignore the value specified here.
90.It Va max-submission-queues
91This is the maximum number of submission queues the driver will create per
92device.
93Legal values are between 1 and 65535, the default is to
94match the number for
95.Em max-completion-queues .
96The number of queues created will not be allowed to exceed the
97drive's hardware limitation.
98If the number of submission queues is larger than
99.Em max-completion-queues
100the completion queues will be shared across the submission
101queues.
102.It Va max-completion-queues
103This is the maximum number of completion queues the driver will create per
104device.
105Legal values are between 1 and 65535, the default is to match
106the number of interrupt vectors allocated to the drive.
107The number of queues created will not exceed the number of interrupt vectors,
108.Em max-submission-queues ,
109or the drive's hardware limitation.
110.El
111.
112.Sh FILES
113.Bl -tag -compact -width Pa
114.It Pa /dev/dsk/cntnd0sn
115Block device minor nodes.
116.It Pa /dev/rdsk/cntnd0sn
117Raw block device minor nodes.
118.El
119.Lp
120In the device minor nodes, the following substitutions may occur:
121.Bl -tag -offset indent -width Va
122.It Va cn
123A controller number, typically one for each
124.Nm
125device found.
126Controller numbers are dynamically assigned by the system.
127.It Va tn
128The target number.
129This is the namespace EUI64 if available, or the namespace ID used by
130the hardware.
131Namespace ID 0 is reserved, hence target numbers start with 1.
132.It Va sn
133This is the
134.Em slice
135number, representing a subset of the disk.
136See
137.Xr dkio 4I .
138.El
139.
140.Sh SEE ALSO
141.Xr blkdev 4D
142