[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Anyone using mtd on NAND flash?
> 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 http://developer.axis.com/software/jffs/ for
> 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