^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) pblk: Physical Block Device Target
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ==================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) pblk implements a fully associative, host-based FTL that exposes a traditional
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) block I/O interface. Its primary responsibilities are:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) - Map logical addresses onto physical addresses (4KB granularity) in a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) logical-to-physical (L2P) table.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) - Maintain the integrity and consistency of the L2P table as well as its
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) recovery from normal tear down and power outage.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) - Deal with controller- and media-specific constrains.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) - Handle I/O errors.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) - Implement garbage collection.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) - Maintain consistency across the I/O stack during synchronization points.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) For more information please refer to:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) http://lightnvm.io
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) which maintains updated FAQs, manual pages, technical documentation, tools,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) contacts, etc.