bbt and bitflip
Artem Bityutskiy
dedekind1 at gmail.com
Fri Apr 22 04:08:05 EDT 2011
Matthieu,
nice finding.
On Thu, 2011-04-21 at 15:40 +0200, Matthieu CASTET wrote:
> Hi,
>
> the current bad block table implementation doesn't seem robust against bit flip.
>
> at boot we call :
> - search_read_bbts which scan for bbt using oob pattern.
> - check_create
> -- read_abs_bbt
> --- read_bbt which ignore ecc bit flip/error
>
> So if bit flip happen in BBT, we never scrub it.
This should probably be fixed.
> And if bit flip accumulate and we can't correct it anymore, the code will parse
> the corrupted data and our bad block info will be wrong (valid block can be
> marked as bad and we lose bad, bad block can be see as valid).
The bbt should be protected with CRC and if it gets corrupted we should
re-scan the flash and re-create it.
> Also the pattern and version in oob isn't protected by ecc. They can be corrupted.
>
> Are bbt safe to use ?
It does not look like.
> Are there any plan to make the bbt more robust ?
I would guess no unless you do it :-)
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
More information about the linux-mtd
mailing list