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