My current draft implementation limits the bad-block list to 4K (512 entries). That may well be changed, but it doubt it would exceed 32K. You wouldn't really be able to put it on a separate device though. The bad-block-list needs to be on the device with the bad blocks.
Your summary of how bits in the bitmap are updated is correct.
NeilBrown
