Patent ID: 8122184

Claim:
A method for managing blocks in a flash memory, the flash memory comprising one or more flash memory chips, each of the flash memory chips comprising a plurality of blocks, each of the blocks comprising a plurality of pages, each of the pages including a data storage region and a redundant region, the method comprising: selecting one or more blocks from the plurality of blocks as a reserved area for an address mapping table which records logical addresses and physical addresses of the blocks, the address mapping table being stored in the reserved area per pages; selecting at least one blank block as a swap block and establishing a swap block address mapping table item comprising a logical address and a physical address of the swap block in the redundant region of the page storing the address mapping table; and during a write operation, writing new data and/or original data contained in an object block to be operated into the swap block according to the logical address of the swap block, erasing the object block, and changing the logical address of the object block to the logical address of the swap block so that the object block serves as the swap block for a next write operation.