Hi Charles, >> - may mount mark blocks as deleted? > > What do you mean by that? > > When Yaffs scans for bad blocks it just looks at the bad block markers. SO long as those are marked, it does not matter what the other spare/tags bytes look like. They can be all 0x00, all 0xff or anything inbetween. I'm wondering this: assuming that I have a correct file system, when I mount it and read some files, why a block is marked as deleted? Does yaffs perform such an operation by its own just only mounting filesystem and reading data, even if I don't do any explicit write to file system? Can a garbage collection operation do this kind of operation? And in this case, who and when runs the gc? I agree with you: I don't want to put a band aid on this problem, rather than finding out what is going wrong. Threading access is protected via YDI locking mechanism, and I'm pretty sure that no threading issue is present: all of the operations are performed on startup by only a thread, then a second one comes up ad it's responsible for the writing operations. After startup no file is left opened. Devices leave factory up and running, and problems arises after some usage: system starts up signalling that a configuration file is missing. Downloading the file to a PC, we found that a block of 512 bytes was filed with zeros, and this lead us to found the page was marked as deleted. We verified that there is always a lot of unused space in each partition, so that no recirculation problem seems to take part into this issue, and we were unable to find a way to reproduce problem. Thanks for your help. Regards, Stefano