Patent ID: 8612669

Claim:
A storage subsystem, comprising: a non-volatile solid-state memory array; and a controller comprising a data retention module, the data retention module configured to: issue a plurality of copy commands for copying data stored in physical memory locations, within the non-volatile solid-state memory array, that are selected by the data retention module; maintain usage data on the storage subsystem; maintain a first data structure comprising a plurality of validity indications for corresponding physical memory locations in the non-volatile solid-state memory array, the indications reflecting whether the corresponding physical memory locations contain valid data; and use the first data structure to determine the selected physical memory locations so that the copy commands are issued for physical memory locations indicated by the first data structure as containing valid data, wherein the data retention module is further configured to issue the copy commands so that the data in the selected physical memory locations are copied at least once within a first period of time determined by the data retention module based on the usage data.