Patent ID: 8046645

Claim:
A bad block identifying method, for a flash memory, wherein the flash memory has a plurality of blocks and the blocks are grouped logically into at least a data area and a spare area, the bad block identifying method comprising: programming a first block among the blocks; detecting whether a programming error occurs in the first block after the first block is programmed; when the programming error does not occur in the first block after the first block is programmed, resetting a programming error count corresponding to the first block; when the programming error occurs in the first block after the first block is programmed, increasing the programming error count corresponding to the first block by one and determining whether the programming error count corresponding to the first block is equal to an upper error threshold; when the programming error count corresponding to the first block is not equal to the upper error threshold, moving the first block to the spare area; and when the programming error count corresponding to the first block is equal to the upper error threshold, marking the first block as a bad block.