On Wednesday 03 March 2010 01:03:12 Sven Van Asbroeck wrote: > 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. To clarify: YAFFS does care which blocks are bad, but it does not care how the mtd knows it is bad. Some mtd drivers will scan the blocks and build up a bad block table and some do not. What the driver does is hidden from yaffs. > 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. Partially true. There is no reason why the mtd should do the bad block scanning at start up. From a yaffs perspective this is just wasted time. -- Charles