Message ID | 20230220115926.54623-1-jwd@defmacro.it |
---|---|
Headers | show |
Series | Support Flexible Data Placement (FDP) | expand |
On Feb 20 12:59, Jesper Devantier wrote: > From: Jesper Wendel Devantier <j.devantier@samsung.com> > > Flexible Data Placement (FDP) is a newly introduced enhancement > of the NVM command set introduced by the NVM Express, Inc. > organization as TP 4146. FDP aims to extend the NVM command set > to enable host-guided data placement. FDP-enabled namespaces > can be used as before, but writes may now reference a specific > placement id which in turn points to a reclaim unit (RU). RUs > are defined as some amount of physical, non-volatile storage which > can be erased/reused/repurposed without disturbing any other > reclaim units. > > For further details on FDP, consult the specification, which is > available as "TP4146 Flexible Data Placement 2022.11.30 Ratified.pdf" > in the following link: > https://nvmexpress.org/wp-content/uploads/NVM-Express-2.0-Ratified-TPs_20230111.zip > > The FDP work builds on 4 preparatory patches, chiefly to add support for > endurance groups and directives. > The final patch adds FDP support itself. > > Changelog: > ========== > > * v2 -> v3: > - remove unused trace points (Keith) > - style nit - place '||' on preceding line (Keith) > * v1 -> v2: > - "hw/nvme: add fleible...": check that max 128 placement handles > are being created (Keith) > - removed unused NVMe directives struct (Keith) > > Gollu Appalanaidu (1): > hw/nvme: basic directives support > > Jesper Devantier (1): > hw/nvme: flexible data placement emulation > > Joel Granados (1): > hw/nvme: move adjustment of data_units{read,written} > > Klaus Jensen (1): > hw/nvme: add basic endurance group support > > Niklas Cassel (1): > hw/nvme: store a pointer to the NvmeSubsystem in the NvmeNamespace > > hw/nvme/ctrl.c | 798 ++++++++++++++++++++++++++++++++++++++++++- > hw/nvme/ns.c | 147 ++++++++ > hw/nvme/nvme.h | 92 ++++- > hw/nvme/subsys.c | 94 ++++- > hw/nvme/trace-events | 1 + > include/block/nvme.h | 236 ++++++++++++- > 6 files changed, 1341 insertions(+), 27 deletions(-) > Thanks, applied to nvme-next. I took the liberty of fixing up the commit message and adding the missing DIV_ROUND_UP()'s.
From: Jesper Wendel Devantier <j.devantier@samsung.com> Flexible Data Placement (FDP) is a newly introduced enhancement of the NVM command set introduced by the NVM Express, Inc. organization as TP 4146. FDP aims to extend the NVM command set to enable host-guided data placement. FDP-enabled namespaces can be used as before, but writes may now reference a specific placement id which in turn points to a reclaim unit (RU). RUs are defined as some amount of physical, non-volatile storage which can be erased/reused/repurposed without disturbing any other reclaim units. For further details on FDP, consult the specification, which is available as "TP4146 Flexible Data Placement 2022.11.30 Ratified.pdf" in the following link: https://nvmexpress.org/wp-content/uploads/NVM-Express-2.0-Ratified-TPs_20230111.zip The FDP work builds on 4 preparatory patches, chiefly to add support for endurance groups and directives. The final patch adds FDP support itself. Changelog: ========== * v2 -> v3: - remove unused trace points (Keith) - style nit - place '||' on preceding line (Keith) * v1 -> v2: - "hw/nvme: add fleible...": check that max 128 placement handles are being created (Keith) - removed unused NVMe directives struct (Keith) Gollu Appalanaidu (1): hw/nvme: basic directives support Jesper Devantier (1): hw/nvme: flexible data placement emulation Joel Granados (1): hw/nvme: move adjustment of data_units{read,written} Klaus Jensen (1): hw/nvme: add basic endurance group support Niklas Cassel (1): hw/nvme: store a pointer to the NvmeSubsystem in the NvmeNamespace hw/nvme/ctrl.c | 798 ++++++++++++++++++++++++++++++++++++++++++- hw/nvme/ns.c | 147 ++++++++ hw/nvme/nvme.h | 92 ++++- hw/nvme/subsys.c | 94 ++++- hw/nvme/trace-events | 1 + include/block/nvme.h | 236 ++++++++++++- 6 files changed, 1341 insertions(+), 27 deletions(-)