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