[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