]> git.baikalelectronics.ru Git - kernel.git/commit
lightnvm: update bad block table format
authorMatias Bjørling <m@bjorling.me>
Mon, 16 Nov 2015 14:34:37 +0000 (15:34 +0100)
committerJens Axboe <axboe@fb.com>
Mon, 16 Nov 2015 22:20:25 +0000 (15:20 -0700)
commit083b398e9f3bd75efc2e30e5b937f8244ff22448
tree1aef6904c2c988b7924aa53093836b2979f78f1f
parent050d2dafafc4f15a101106dc03ea5dd33121d0b8
lightnvm: update bad block table format

The specification was changed to reflect a multi-value bad block table.
Instead of bit-based bad block table, the bad block table now allows
eight bad block categories. Currently four are defined:

 * Factory bad blocks
 * Grown bad blocks
 * Device-side reserved blocks
 * Host-side reserved blocks

The factory and grown bad blocks are the regular bad blocks. The
reserved blocks are either for internal use or external use. In
particular, the device-side reserved blocks allows the host to
bootstrap from a limited number of flash blocks. Reducing the flash
blocks to scan upon super block initialization.

Support for both get bad block table and set bad block table is added.

Signed-off-by: Matias Bjørling <m@bjorling.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
drivers/lightnvm/gennvm.c
drivers/lightnvm/gennvm.h
drivers/nvme/host/lightnvm.c
include/linux/lightnvm.h