1. A memory system comprising: a non-volatile memory arranged in blocks, each block containing a plurality of sectors of memory cell locations; and a controller coupled to the non-volatile memory, the controller configured to permit a maximum number of obsolete blocks for one or more write pointers used to define physical locations for writing data received from an external device, and in response to a write operation that would result in a number of obsolete blocks exceeding the maximum number, performing a block erase operation on one of the existing obsolete blocks.