> > I suppose I could change to using a BBT that is written to the NAND > device, > hopefully then the bad blocks would be kept track of. Though I've never > had an > issue with marking blocks bad by writing the first two bytes of the first > two > pages to 0x00 and have Linux build a BBT on the fly during boot-up. > ------------------------------------------------------------------------------- I moved to using a bad block table stored in NAND, and now I'm definitely keeping track of bad blocks successfully. I did have to make a fix to the kernel as well. They allocate an erase block in nand_update_bbt using a kmalloc. The block is larger than 128K so it fails (265K to be exact). I changed to use a vmalloc like they did in nand_scan_bbt, and this seemed to resolve all the issues. I'm not sure why they used vmalloc in one place but not in the other. I submitted a patch to the MTD list fix this, but it looks like it's going to be rejected because they're wanting to move away from vmalloc completely to make MTD DMA safe. I've beaten up MTD at the byte level, and YAFFS a bit now, and I think things are working better, though I have an issue with memory usage now. I'll start a new thread for that topic. Andrew Iders Inc.