JFFS2 on NAND flash

Thomas Gleixner gleixner at autronix.de
Thu Jan 31 07:26:02 EST 2002

On Thursday, 31. January 2002 11:22, David Woodhouse wrote:
> Be careful. You have nothing there to make sure that it doesn't violate the
> constraints on the number of write cycles per page. You have no ECC, you
> have no real chance of it working in the wild.
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. 

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. 

> Also note that the locking in jffs2_garbage_collect_deletion_dirent() is
> broken. We need to lock the erase_completion_lock while we go through the
> list, and drop the lock when we read the nodes.
I'm not deep enough inside this to see the neccecary change. Could you please 
explain more detailed ?

> All the writev stuff was put there for the benefit of NAND flash - so yes,
> nobody's used it yet. This problem had come up recently in the eCos port,
> but the fix hadn't yet propagated to the main tree.
No problem it took only some time to understand what happens there.

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