Jffs2 and big file = very slow jffs2_garbage_collect_pass

Ricard Wanderlof ricard.wanderlof at axis.com
Tue Jan 22 08:24:56 EST 2008


> 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



More information about the linux-mtd mailing list