Spdk/lib/ftl
Kozlowski Mateusz 630922e825 ftl: Add lazy unmap process
Since only L2P pages as a whole are marked as invalid during trim, the
specific L2P entries won't be updated until someone touches that page.
The unmap process will slowly invalidate pages during runtime, by paging
them in. This will allow compaction and relocation to benefit from the
trim as the user data gets invalidated.

Signed-off-by: Kozlowski Mateusz <mateusz.kozlowski@intel.com>
Signed-off-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com>
Change-Id: I239b9adf0aaaeac58f440145f4ab78b0d78d98b0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13381
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2022-09-09 19:44:29 +00:00
..
mngt ftl: Add recovery and restart path for trim 2022-09-09 19:44:29 +00:00
utils ftl: metadata for unmap support 2022-09-09 19:44:29 +00:00
ftl_band_ops.c ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_band.c Ftl: Add band state recovery after dirty shutdown 2022-09-07 00:08:34 +00:00
ftl_band.h Ftl: Add band state recovery after dirty shutdown 2022-09-07 00:08:34 +00:00
ftl_core.c ftl: Add rpc functionality for unmap 2022-09-09 19:44:29 +00:00
ftl_core.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_debug.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_debug.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_init.c ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_internal.h ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_io.c ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_io.h ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_l2p_cache.c ftl: Add lazy unmap process 2022-09-09 19:44:29 +00:00
ftl_l2p_cache.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_l2p_flat.c FTL: Add L2P restore path 2022-09-02 17:40:09 +00:00
ftl_l2p_flat.h FTL: Add L2P restore path 2022-09-02 17:40:09 +00:00
ftl_l2p.c ftl: Add recovery and restart path for trim 2022-09-09 19:44:29 +00:00
ftl_l2p.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_layout.c ftl: metadata for unmap support 2022-09-09 19:44:29 +00:00
ftl_layout.h ftl: metadata for unmap support 2022-09-09 19:44:29 +00:00
ftl_nv_cache_io.h FTL: Initial nv cache structure 2022-08-12 09:01:40 +00:00
ftl_nv_cache.c ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_nv_cache.h ftl: Unmap functionality 2022-09-09 19:44:29 +00:00
ftl_p2l.c ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_reloc.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_rq.c ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_sb_common.h ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
ftl_sb_current.h ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_sb.c ftl: superblock 2022-08-02 19:00:42 +00:00
ftl_sb.h ftl: superblock 2022-08-02 19:00:42 +00:00
ftl_utils.h FTL: Add ftl mempools 2022-08-02 19:00:42 +00:00
ftl_writer.c ftl: p2l checkpointing 2022-09-07 00:08:34 +00:00
ftl_writer.h ftl: sequence id tracking 2022-09-07 00:08:34 +00:00
Makefile Ftl: Add band state recovery after dirty shutdown 2022-09-07 00:08:34 +00:00
spdk_ftl.map ftl: Unmap functionality 2022-09-09 19:44:29 +00:00