JFFS2 on NAND flash

Thomas Gleixner gleixner at autronix.de
Thu Jan 31 09:29:17 EST 2002

On Thursday, 31. January 2002 13:26, Thomas Gleixner wrote:
> Is this also a problem for jffs1 ? I run jffs1 for a couple of weeks on my
> board and had not one problem at all.

Stupid question ! It happens on jffs1 too. I built in a check for consecutive
page writes and it happens sometimes. The maximum number of consecutive
writes to a page was 4. But there was never a loss of data or something like
this. Strange !

> I know that and i was trying to put a workaround for the write cycle
> problem into the nand driver. I think thats the correct location for this.
> Are there other chips dealing with the same problem or is it related to
> NAND only ?
> My current solutiun would be:
> In nand.c the write functions checks the write attempts to a page. If there
> were three writes already to this page, the function reads back the block
> data, erases the block and writes the block data back to the chip.

Works, but in case of powerdown between erase and writeback the filesystem is
left corrupted.
There would be a easy solution for this inside the nand-driver. The nand
driver reserves some blocks at the end of the device and uses them to store
the block data. If the data are succesfully stored the concerned block can be
erased safely and data put back into this. In case of reset between erase and
writeback the data is safe. When bringing up the NAND-driver we could check,
if there is a safed block in the buffer and bring it back to the original
location before mounting. This would not bring all this NAND problems into
jffs and jffs2.

Thomas Gleixner, autronix automation GmbH
auf dem berg 3, d-88690 uhldingen-muehlhofen
fon: +49 7556 919891 , fax: +49 7556 919886
mail: gleixner at autronix.de, http://www.autronix.de  

More information about the linux-mtd mailing list