Anyone using mtd on NAND flash?

David Woodhouse dwmw2 at
Wed Sep 13 05:13:21 EDT 2000

stephane.laroche at said:
> On the subject of NAND flash, could some JFFS expert point me 

You're posting in the wrong place if you want JFFS experts. Join the JFFS
development list - see for
subscription instructions.

> on where I should look for those multiple writes to the same page?

The JFFS code writes out a node header, then writes the data separately. In 
some cases, it even goes back after writing the data and puts the correct 
checksum into the node header. 

Look for calls to flash_safe_write() in intrep.c

> I am currently working on a NAND driver for MTD that takes care of bad
> blocks and virtual mapping.  It does ECC, keeps a bad block table and
> does the virtual mapping of blocks so that MTD sees a linear block
> device with 100% good blocks. 

Nice. One question - why do you want to do it in the MTD driver rather than 
in the next layer up? This kind of functionality will be needed for a 
number of devices, so it's probably worth putting it in JFFS.

We're already intending to stop JFFS from treating the flash as a single 
linear device, and start keeping a list of erase blocks in various 
conditions (full,dirty,empty,etc.). It wouldn't be difficult to handle bad 
blocks once that's done.

Also, the write caching to ensure we only perform one write per page is 
going to make it extremely easy for JFFS to do its own ECC too, where 


To unsubscribe, send "unsubscribe mtd" to majordomo at

More information about the linux-mtd mailing list