On Monday 28 August 2006 11:27, Boris Deschenes wrote: > 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? Very propably not. > * Do I have trouble erasing correctly (yaffs chunk was not > erased messages)? Probably not - this may be due to the problem with integrating Yaffs with MTD successfully. See the many many postings on the subject over the last year about tags, ecc, oob, spare etc. ---- I have seen this when bringing-up yaffs/MTD on new targets or with new codebases (yaffs, mtd, kernel etc). I STRONGLY RECOMMEND that anyone experimenting with any raw NAND filesystem (including YAFFS) disable any/all permanent bad block marking until the dust settles. I also recommend that *BEFORE* you start work, you record the initial bad block list that is installed by the manufacture. This will be DIFFERENT for every chip - so assocate the list with a specific NAND part (board serial# + chip# or the like). If you then get into trouble, and accumulate large numbers of false bad-block markings, you can restore the list to the factory set. If you get into the situation where you have to force-erase large numbers of bad block markers to 'recover' a chip to continue development, be sure NOT to use these chips for any production use. Relegate the board to 'development lab junk' status. When the manufacturer tested the chip, they did so for corner cases of temperature and voltage, so just because the 'recovered' chip (block) appears to work in the lab, or on your desk, it doesn't mean it will hold data when it gets hot, cold, or in two years time. -imcd