Author: Charles Manning Date: To: yaffs Subject: Re: [Yaffs] Yaffs2 generate many badblocks
On Wednesday 23 May 2012 19:45:05 Ricard Wanderlof wrote: > On Wed, 23 May 2012, Patrick wrote:
> > I have tried "flash_erase -N /dev/mtd4 0 0" to revert the badblocks but
> > it doesn't work (the kernel could not erase a block marked as bad).
>
> It is easy to patch the kernel to ignore the check bad blocks when
> erasing. IIRC you have to patch flash_erase too as it also checks for bad
> blocks prior to issuing the erase ioctl.
>
> The only thing is that unless you have kept a list of which blocks were
> marked bad from the factory it is not possible to distinguish between
> factory-marked bad blocks and subsequently marked bad blocks. On the other
> hand, my experience with at least 1 GB SLC NAND flash is that if you erase
> a factory-marked bad block, it either won't erase at all, or it does and
> you can use it just as any other block. It may not be up to spec, and
> definitely is not recommended in a production environment, but seems to be
> generally ok in the lab.
If you are using u-boot you can sometimes use that to re-liven bad blocks.
There is a u-boot command called nand scrub or similar.