[PATCH 0/6] UBI: add support for 'SLC mode' volumes

Boris Brezillon boris.brezillon at free-electrons.com
Mon Sep 5 08:31:21 PDT 2016


Hi,

This patch series is adding support for SLC mode volumes.
This is particularly useful on MLC NANDs, where using the NAND in MLC
mode is not reliable.

The first part of the series (patch 1 and 2) are reworking the on-flash
format versioning to support several on-flash format versions with the
same UBI implementation.
Richard, I know you already proposed a solution for the on-flash format
versioning, and after reading the discussion again, I didn't find any
good reason to add the features field we were discussing. Maybe, I'm
wrong, and maybe this is really needed, so feel free to comment on the
current proposal.

The remaining patches prepare the introduction of SLC mode. Note that
we are introducing a new on-flash version (version 2), and SLC mode
volumes are only accepted when the on-flash format version is greater
than 1.

On a side note, this SLC mode and the MLC_SAFE mode we will introduce
later on are quite different. The MLC_SAFE will allow one to use almost
all the MLC NAND capacity in a reliable way, SLC mode only expose half
the real capacity (when used on top of an MLC NAND).

This series depends on the UBI cleanup series [1] I posted earlier
today, and on the MTD pairing scheme [2] series I posted a few weeks
ago.

Regards,

Boris

[1]https://lkml.org/lkml/2016/9/5/459
[2]https://lkml.org/lkml/2016/6/20/459

Boris Brezillon (6):
  UBI: dissociate the on-flash format version and the userspace ABI
    version
  UBI: rework the on-flash format versioning logic
  UBI: use vol->usable_leb_size instead of (ubi->leb_size -
    vol->data_pad)
  UBI: introduce per-volume leb_size
  UBI: io: support SLC mode accesses
  UBI: add SLC mode support

 drivers/mtd/ubi/attach.c    |  59 +++++++--
 drivers/mtd/ubi/build.c     |  10 +-
 drivers/mtd/ubi/cdev.c      |  11 +-
 drivers/mtd/ubi/debug.c     |   4 +
 drivers/mtd/ubi/eba.c       |  64 ++++++++--
 drivers/mtd/ubi/fastmap.c   |   9 +-
 drivers/mtd/ubi/io.c        | 305 ++++++++++++++++++++++++++++++++++++++------
 drivers/mtd/ubi/ubi-media.h |  37 +++++-
 drivers/mtd/ubi/ubi.h       |  99 +++++++++++++-
 drivers/mtd/ubi/upd.c       |   2 +-
 drivers/mtd/ubi/vmt.c       |  41 ++++--
 drivers/mtd/ubi/vtbl.c      |  52 +++++++-
 include/uapi/mtd/ubi-user.h |  24 +++-
 13 files changed, 621 insertions(+), 96 deletions(-)

-- 
2.7.4




More information about the linux-mtd mailing list