Patent ID: 8527544

Claim:
A computing system comprising: a data storage medium; a first table comprising a plurality of entries, each of which includes a mapping of a virtual address to a physical location in the data storage medium; a second table comprising a plurality of entries, each of which includes a reverse mapping of a physical address in the data storage medium to one or more virtual addresses; and a data storage controller configured to: identify one or more entries in the second table, wherein said one or more entries are identified as corresponding to a given segment; in response to determining the first table includes a valid mapping for a virtual address included in an entry of the one of the one or more entries: copy data from a first location identified in the entry to a second location in the data storage medium; and reclaim the first storage location wherein the data storage controller is further configured to: access the given segment and identify further entries which comprise a mapping of a location in the segment to one or more virtual addresses; determine whether the first table includes a valid mapping for each of the further entries; copy data from a current storage location in the segment corresponding to a valid mapping in the further entries to a new storage location in the data storage medium; and reclaim the current storage location.