[PATCH v4 0/2] write OOB BBM + flash-based BBT

Brian Norris computersforpeace at gmail.com
Fri Jan 20 23:38:02 EST 2012


Hi,

It looks like we have some consensus that:
- OOB markers are not a guaranteed reliable method for tracking bad blocks
- We should work to make flash-based BBT a reliable, primary source of bad
  block information
- There are occasions where having bad block markers in OOB is important,
  so we should make a best effort to write bad block markers even when
  using flash-based BBT
- Some users do not want to write bad block markers to OOB for one reason
  or another; so we provide an option (bbt_options) that will prevent this

Thus, this is yet another iteration of my patch(es) to write bad block data
to both the OOB area and the flash-based BBT when marking new bad blocks.
They try to accomodate for some of the issues brought up in previous
threads. Please comment if more changes are necessary or if I introduced
crazy ones.

This series consists of a small fixup patch followed by the main
substantial patch.

I will highlight a few things here, but see the patch descriptions for
details.

I re-ordered nand_default_block_markbad() so that BBM is written before
BBT, for power cut reasons, and since when available, we mostly use
flash-based BBT as the "primary" source of information.

v4: re-order operations so we write BBM before BBT. This should help with
    power cuts. Option for old behavior changed to NAND_BBT_NO_OOB_BBM,
    use in chip->bbt_options.
v3: writing to flash-based BBT and to BBM is still default, but
    there is a new option NAND_NO_WRITE_OOB that can prevent writing the
    BBM as well as prevent all other OOB writes.

Thanks,
Brian

Brian Norris (2):
  mtd: nand: move SCANLASTPAGE handling to the correct code block
  mtd: nand: write BBM to OOB even with flash-based BBT

 drivers/mtd/nand/nand_base.c |   54 +++++++++++++++++++++++++++--------------
 include/linux/mtd/bbm.h      |    5 ++++
 2 files changed, 40 insertions(+), 19 deletions(-)

-- 
1.7.5.4




More information about the linux-mtd mailing list