docs: update hw/nvme documentation for TP4146

Update documentation for TP4146 ("Flexible Data Placement") emulation.

Reviewed-by: Jesper Wendel Devantier <j.devantier@samsung.com>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
This commit is contained in:
Klaus Jensen 2023-05-24 13:06:37 +02:00
parent ce8017736c
commit e409c9057b

View File

@ -212,6 +212,41 @@ The namespace may be configured with additional parameters
the minimum memory page size (CAP.MPSMIN). The default value (``0``)
has this property inherit the ``mdts`` value.
Flexible Data Placement
-----------------------
The device may be configured to support TP4146 ("Flexible Data Placement") by
configuring it (``fdp=on``) on the subsystem::
-device nvme-subsys,id=nvme-subsys-0,nqn=subsys0,fdp=on,fdp.nruh=16
The subsystem emulates a single Endurance Group, on which Flexible Data
Placement will be supported. Also note that the device emulation deviates
slightly from the specification, by always enabling the "FDP Mode" feature on
the controller if the subsystems is configured for Flexible Data Placement.
Enabling Flexible Data Placement on the subsyste enables the following
parameters:
``fdp.nrg`` (default: ``1``)
Set the number of Reclaim Groups.
``fdp.nruh`` (default: ``0``)
Set the number of Reclaim Unit Handles. This is a mandatory paramater and
must be non-zero.
``fdp.runs`` (default: ``96M``)
Set the Reclaim Unit Nominal Size. Defaults to 96 MiB.
Namespaces within this subsystem may requests Reclaim Unit Handles::
-device nvme-ns,drive=nvm-1,fdp.ruhs=RUHLIST
The ``RUHLIST`` is a semicolon separated list (i.e. ``0;1;2;3``) and may
include ranges (i.e. ``0;8-15``). If no reclaim unit handle list is specified,
the controller will assign the controller-specified reclaim unit handle to
placement handle identifier 0.
Metadata
--------
@ -320,4 +355,4 @@ controller are:
.. code-block:: console
echo 0000:01:00.1 > /sys/bus/pci/drivers/nvme/bind
echo 0000:01:00.1 > /sys/bus/pci/drivers/nvme/bind