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