Hi all,

 

I’m currently trying to use YAFFS2 on a NAND flash running linux 2.6.17. I noticed the following behavior and would like to know if this is normal or if I need to do something to fix it.

 

When I first mount the NAND partition and write to it I have a lot of these messages:

 

**>> yaffs chunk 1215 was not erased

**>> yaffs write required 2 attempts

 

On some of the file (including the init file.. this is a bootable filesystem). If I disregard these messages and unmount/reboot on it the files affected by the YAFFS CHUNK messages are unusable (nothing in the lost+found though)

 

Now, if instead of rebooting right away, I try to rewrite the files once more I get these messages..

 

page 8704 in gc has no object

**>> Block 136 retired

page 8774 in gc has no object

 

and then (stay with me here please)… If I re-rewrite the same files, I have absolutely no message whatsoever, the files are written correctly to the filesystem and I can boot on the FS and use the files perfectly.. The only thing is that all these blocks that were retired are now marked as bad.. so I have like 25 bad blocks on the filesystem..

 

I have the same behavior on different boards (different NAND flash chips), I even modified a version of the flash_eraseall to erase the bad blocks so I start with a fresh empty BBT on the flash and I can recreate exactly the same behavior…

 

So.. I would like to know what’s going on here exactly?

 

* Do I really have that many bad blocks on all the NAND chips?

* Do I have trouble erasing correctly (yaffs chunk was not erased messages)?

 

All comments welcome…

 

Boris