Re: Jffs2 and big file = very slow jffs2_garbage_collect_pass

Ricard Wanderlof
2008-01-22T13:26:14Z

> On Tue, 22 Jan 2008, Jörn Engel wrote:
>
> > On Tue, 22 January 2008 09:57:07 +0100, Matthieu CASTET wrote:
> >
> ...
> > There no call to mtd->block_markbad or mtd->block_isbad (it is only
> > called in mtd_find_sb).
>
> Used to be there and was removed. mtd->erase() does the same as
> mtd->block_isbad().

How do you mean? mtd->erase() will not erase a bad block, that is true.

However, while it seems that mtd->erase() can mark a block bad if it
fails, the fact that a block is eraseble without errors does not imply
that it is good. I've seen NAND flash blocks which have way passed their
specified number of max write/erase cycles still be successfully erased
and subsequently written without errors, but the data retention was lousy
(blocks started to show bit flips after a few thousand reads).

/Ricard
--
Ricard Wolf Wanderlöf ricardw(at)axis.com
Axis Communications AB, Lund, Sweden www.axis.com
Phone +46 46 272 2016 Fax +46 46 13 61 30