FreeBSD manual
download PDF document: nvdimm.4.pdf
NVDIMM(4) FreeBSD Kernel Interfaces Manual NVDIMM(4)
NAME
nvdimm - ACPI NVDIMM driver
SYNOPSIS
To load the driver as a module at boot, place the following line in
loader.conf(5):
nvdimm_load="YES"
DESCRIPTION
Note: The nvdimm driver is under development and has some important
limitations described below.
The nvdimm driver provides access to Non-Volatile DIMM (NVDIMM)
persistent memory devices, which are ACPI-enumerated under the root
NVDIMM device with a _HID of ACPI0012 and in the NFIT table.
For each System Physical Address (SPA) Range described by NFIT, a device
node /dev/nvdimm_spaNNN is created, where NNN is the SPA position in the
table. The node can be used to read(2), write(2), or mmap(2) the device.
Also, for each SPA, the geom provider spaNNN is created, which can be
used to create a conventional filesystem (e.g., by newfs(8)) and mount(8)
it as any storage volume. Content accessible by /dev/nvdimm_spaNNN and
/dev/spaNNN is coherent.
The nvdimm driver has support for reading NVDIMM namespaces (if supported
by your hardware and already configured by some other mechanism, e.g., a
BIOS configuration screen). The driver will provide a
/dev/nvdimm_spaNNNnsMMM device node and spaNNNnsMMM geom provider for
each namespace in a SPA, which behave analogously to their full-SPA
cousins described above.
SEE ALSO
acpi(4), GEOM(4), geom(8), mount(8), newfs(8), disk(9)
HISTORY
The nvdimm driver first appeared in FreeBSD 12.0.
AUTHORS
The nvdimm driver was originally written by Konstantin Belousov
<kib@FreeBSD.org>, and then updated by D. Scott Phillips
<scottph@FreeBSD.org>.
BUGS
The nvdimm driver does not utilize the Block Window interface, so if a
write to an NVDIMM is interrupted due to a system crash or power outage,
the corresponding page might be left in a partially updated state.
There is no support for Device-Specific Methods (DSM), used to report and
control device health and wearing.
The driver depends on the pmap_largemap(9) pmap interface, which is
currently only implemented on amd64. The interface can be only
reasonable implemented on 64bit architectures.
FreeBSD 14.0-RELEASE-p11 September 5, 2019 FreeBSD 14.0-RELEASE-p11