[U-Boot] NAND Bad Blocks and OOB

Scott Wood scottwood at freescale.com
Fri Mar 18 20:25:41 CET 2011


On Fri, 18 Mar 2011 12:43:06 +0100
<VirtualFight at web.de> wrote:

> 
> Hi all,
> I have some questions about the bad block management in the NAND-driver, I hope this is the right place to ask this:
> 
> The things I believe to know, please correct me, if its wrong:
> If
>  I have a new NAND-Flash, the manufacturer marked the bad block in the 
> spare area/OOB  (normaly good blocks are marked as 0xFF in the first 2 
> bytes?).
> The u-boot scans for these bad blocks and saves the information in the bbt.
> 
> What
>  happens, if a block gets worn out? Would this block only be markes as 
> bad in the bbt, or would this information would be also stored in the 
> spare area (the driver write another value, not  0xFF in the firts 2 
> bytes?).

As long as you have an in-flash bbt, it only gets marked in the bbt.  If you
don't have an in-flash bbt, an OOB bad block marker is written.

> Is it possible to restore the bad block informations, if the
>  whole nand-flash would be erased (for example by writing 0 in all block
>  and after this by erasing the blocks and check the error status bit of 
> the NAND-flash device)?

It's possible to do your own testing and mark blocks bad as a result, but
you're not really restoring the original information.  The manufacturer may
have used a more rigorous test.

> If yes, is such a function implemented in u-boot?

No.  You should avoid clearing manufacturer-set bad block markers.

-Scott



More information about the U-Boot mailing list