ubi on MLC nand flash
Mike Dunn
mikedunn at newsguy.com
Sun Nov 6 10:24:24 EST 2011
Hi everyone,
I recently started to do serious testing of UBI on the diskonchip G4 MLC nand
driver I'm finishing up. I started with the io_basic ubi test in mtd-utils.
What I find is that, after a few minutes, enough PEBs are marked as bad to
exhaust the reserve PEB pool, UBI switches to r/o mode, and the test fails. The
reason is that - on this device at least - bit flips seem to be persistent;
i.e., you will get e.g. 1 bit flip every time you read a certain page.
Consequently, when the bit flip occurs and the PEB gets scrubbed, the torture
test fails because the bit flip reoccurs, and the PEB is marked bad.
I expected that eventually I might have to dig into the "program disturb",
"read-disturb" or "paired pages" MLC issues, but the problem seems more
fundamental. My general impression is that UBI is too unforgiving for this
device. The ecc can correct up to 4 bit flips, so 1 bit flip seems to not be a
big deal. I'm new to UBI so this is not a critique or a proposal, I'm just
hoping some experts can offer some advice or opinions. The obvious remedy is to
set a higher threshold for marking a PEB as bad, say 2 or 3 bit flips.
Thanks,
Mike
More information about the linux-mtd
mailing list