NDA(4) | Device Drivers Manual | NDA(4) |
nda
— NVMe Direct
Access device driver
device nvme
device scbus
The nda
driver provides support for direct
access devices, implementing the NVMe command protocol, that are attached to
the system through a host adapter supported by the CAM subsystem.
The following variables are available as both sysctl(8) variables and loader(8) tunables:
nda
device nodes for block storage when set to 0.
Create nvd(4) device nodes for block storage when set to
1. See nvd(4) when set to 1.nda
devices, including partitions and other
geom(4) providers that take their names from the disk's
name. nvd devices will not, however, be reported in the
kern.disks sysctl(8).nda
devices
participate in the speedup protocol. When the device participates in the
speedup, then when the upper layers send a
BIO_SPEEDUP, all current
BIO_DELETE requests not yet sent to the hardware are
completed successfully immediate without sending them to the hardware.
Used in low disk space scenarios when the filesystem encounters a critical
shortage and needs blocks immediately. Since trims have maximum benefit
when the LBA is unused for a long time, skipping the trim when space is
needed for immediate writes results in little to no excess wear. When
participation is disabled, BIO_SPEEDUP requests are
ignored.The following report per-device settings, and are read-only unless otherwise indicated. Replace N with the device unit number.
nda
driver
accepts unmapped I/O for this unit.Each nvme(4) drive has one or more namespaces
associated with it. One instance of the nda
driver
will be created for each of the namespaces on the drive. All the
nda
nodes for a nvme(4) device are
at target 0. However, the namespace ID maps to the CAM lun, as reported in
kernel messages and in the devlist sub command of
camcontrol(8).
Namespaces are managed with the ns sub
command of nvmecontrol(8). Not all drives support
namespace management, but all drives support at least one namespace. Device
nodes for nda
will be created and destroyed
dynamically as namespaces are activated or detached.
The nda
driver first appeared in
FreeBSD 12.0.
Warner Losh <imp@FreeBSD.org>
June 6, 2020 | Debian |