Hello Shivdas,
Yaffs does not directly concern itself with bad blocks - these are the responsibility of the MTD layer. In short:
1. During startup, the MTD layer finds bad blocks (usually by scanning or a bad block table on the flash) and stores them in RAM.
2. During file system mount, yaffs uses the MTD API's to determine whether a block is bad.
3. If a block becomes bad during file system usage, yaffs will again use the MTD APIs to mark the block as bad.
Saving a check point does not avoid bad block scanning. Scanning will happen when the MTD driver starts, which is well before yaffs comes into play.
Hope this is useful !
Sven
PS What's the weather been like in San Diego? I had a wonderful holiday there last September when it was 90 degrees...