bad block replacement

William J. Beksi
2004-03-31T02:18:17Z

I'm using a Samsung KM29U256T 32Mb nand flash with 4 partitions on a
cramfs. I'm trying to implement ECC and a method for replacing bad
blocks. The spare array consists of 16 bytes, positions 512-528, the
517th position being reserved for the bad block marker.

Can I arbitrarily pick where to store the 6 byte ECC code in the spare
array as long as I don't erase and/or overwrite the bad block marker?

Concerning the replacement of bad blocks, Samsung guarantees that the
1st or 2nd page of every invalid block has non-FFh data at the 517th
position of the array. They recommend keeping a table of valid/invalid
blocks.

When replacing blocks, should one start at the end of the flash and
replace a bad block with a good free block? How many free good blocks
should one typically allocate for the duration of the flash's life?

thank you
-Bill