lightnvm: introduce mlc lower page table mappings
authorMatias Bjørling <m@bjorling.me>
Tue, 12 Jan 2016 06:49:35 +0000 (07:49 +0100)
committerJens Axboe <axboe@fb.com>
Tue, 12 Jan 2016 15:21:17 +0000 (08:21 -0700)
commitca5927e7ab5307965104ca58bbb29d110b1d4545
treef64096e4c7fc250829fee2020089bf9835cd1d43
parentf9a9995072904f2d67d649545f17f81e00f4985e
lightnvm: introduce mlc lower page table mappings

NAND MLC memories have both lower and upper pages. When programming,
both of these must be written, before data can be read. However,
these lower and upper pages might not placed at even and odd flash
pages, but can be skipped. Therefore each flash memory has its lower
pages defined, which can then be used when programming and to know when
padding are necessary.

This patch implements the lower page definition in the specification,
and exposes it through a simple lookup table at dev->lptbl.

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