Patent ID: 8041884

Claim:
A memory system having: a non-volatile solid-state memory for storing user data, the non-volatile memory having a plurality of physical blocks, each physical block being organized into a plurality of physical pages, each physical block being erasable as a unit and each physical page being writable and readable as a unit, a mapping data memory arranged to store: (i) first mapping data indicating, for each of a plurality of logical blocks, a mapping between each logical block and a corresponding first one of said physical blocks, each of said logical blocks being organized into a plurality of logical pages; (ii) for each of said logical blocks, a respective first page pointer for indicating a free page of the corresponding first physical block, and (iii) second mapping data indicating for each logical page of each of said logical blocks, the physical page of the corresponding first physical block to which data in respect of that logical page was last written; and a memory controller arranged to perform a write operation in relation to any logical page of any of said logical blocks, said write operation in relation to any given logical page including the steps of: (a) using the respective first page pointer to identify a free physical page of the corresponding first physical block, (b) writing data to the identified physical page, (c) updating the second mapping data to indicate the identified physical page as the physical page to which data in respect of the given logical page was last written; and (d) updating the respective first page pointer to indicate a new free physical page of the corresponding first physical block.