Patent ID: 8205063

Claim:
A method of writing data to a memory device having a plurality of memory blocks, comprising: (A) receiving a request to write data to the memory device, where the data has a logical block address (LBA) within a first LBA range; (B) determining whether a first assigned block exists in the plurality of memory blocks, the first assigned block assigned for writing data for the first LBA range; (C) if the first assigned block exists, writing the data to the first assigned block; (D) if the first assigned block does not exist and an unwritten block is available in the plurality of memory blocks: assigning the unwritten block as the first assigned block; and writing the data to the unwritten block; and (E) if the first assigned block does not exist and the unwritten block is not available in the plurality of memory blocks: identifying a second assigned block in the plurality of memory blocks, where the second assigned block is assigned for writing data for a second LBA range; assigning the second assigned block for writing data for both the first LBA range and the second LBA range; and writing the data to the second assigned block.