Bad Blocks On JFFS2/NAND

Thomas Gleixner tglx at linutronix.de
Tue Oct 19 07:50:08 EDT 2004


On Tue, 2004-10-19 at 13:22, Simon Haynes wrote:
> I have experienced a problem in which a JFF2 filesystem on NAND became full. 
> This is a root file system and constant writes to a logfile filled the 
> filesystem. On investigation it was found that the NAND device now had 
> hundreds of bad blocks. 
> 
> I started to investigate this and found that JFFS2 was announcing 
> 
> Newly-erased block contained word 0x1985e002 at offset 0x020f7e00
> 
> Messages which result in my mtd/jffs2 code marking the block bad. What I find 
> strange is that a subsequent scan list the new block at a different 16k 
> offset when the device erasesize is 16k, in this case 0x020f0000.
> Is that because my device is 128Mb and JFFS2 is using this 'virtual erase 
> size' of 32k ?

Yes. The bad block code scans/marks physical blocks and JFFS2 operates
on virtual ones, if the device size is big enough.

> I have observed this now on several different NAND devices and it seems to be 
> more prominent while performing small writes.
>
> I am currently trying to work out if the erase is not completing, or this is 
> the wrong block or something else. 

Hmm, are you using Ready/Busy Pin or the timeout ?

tglx






More information about the linux-mtd mailing list