NVME(4D) 4D NVME(4D)
NAME
nvme - Intel NVMe compliant storage driver
DESCRIPTION
The
nvme driver uses the
blkdev(4D) framework to provide access to NVMe
compliant solid-state storage devices. All NVMe version 1.x devices are
supported.
NVMe devices supporting multiple namespaces will present each namespace as
its own
blkdev(4D) instance in the system.
CONFIGURATION
The
nvme driver can be configured by defining properties in the
nvme.conf file. The parameters are considered an unstable interface, subject to
change without notice. The following properties are currently supported:
strict-version This can be set to 0 to allow
nvme to attach to devices
supporting newer version of the NVMe specification. The
default value is 1, limiting
nvme to work with devices that
support major version 1.
ignore-unknown-vendor-status This can be set to 1 to allow
nvme to continue operating even
if it receives an unknown vendor command status.
admin-queue-len This is the number of entries in the admin command queue.
Legal values are between 16 and 4096, the default value is
256.
io-squeue-len This is the number of entries in each I/O submission queue.
Legal values are between 16 and 65536, the default value is
1024.
io-cqueue-len This is the number of entries in each I/O completion queue.
Legal values are between 16 and 65536, the default value is
2048. When the number of submission and completion queues
are the same, the queue lengths will be both set to the
lesser of
io-squeue-len and
io-cqueue-len.
async-event-limit This is the maximum number of asynchronous event requests
issued by the driver. Asynchronous events are used to report
error conditions. The driver will never use more
asynchronous events than this value, or what the hardware
supports if it is less, or 1/10th of the admin queue length
if it is less.
volatile-write-cache-enable This property can be set to 0 to disable the volatile write
cache, if the hardware supports it. The default setting is
1, which enables the volatile write cache.
min-phys-block-size This is the minimum physical block size that is reported to
blkdev(4D). This value must be a power of 2 greater than or
equal to 512. If the device reports a best block size larger
than what is specified here the driver will ignore the value
specified here.
max-submission-queues This is the maximum number of submission queues the driver
will create per device. Legal values are between 1 and
65535, the default is to match the number for
max-completion-queues. The number of queues created will not
be allowed to exceed the drive's hardware limitation. If the
number of submission queues is larger than
max-completion-queues the completion queues will be shared
across the submission queues.
max-completion-queues This is the maximum number of completion queues the driver
will create per device. Legal values are between 1 and
65535, the default is to match the number of interrupt
vectors allocated to the drive. The number of queues created
will not exceed the number of interrupt vectors,
max-submission-queues, or the drive's hardware limitation.
FILES
/dev/dsk/cntnd0sn Block device minor nodes.
/dev/rdsk/cntnd0sn Raw block device minor nodes.
In the device minor nodes, the following substitutions may occur:
cn A controller number, typically one for each
nvme device
found. Controller numbers are dynamically assigned by
the system.
tn The target number. This is the namespace EUI64 if
available, or the namespace ID used by the hardware.
Namespace ID 0 is reserved, hence target numbers start
with 1.
sn This is the
slice number, representing a subset of the
disk. See
dkio(4I).
SEE ALSO
blkdev(4D)OmniOS January 22, 2022 OmniOS