1. A data storage method comprising: storing data in a first memory; in response to the first memory exceeding a first threshold, migrating the data from the first memory to a second memory; in response to the second memory exceeding a second threshold, migrating the data from the second memory to a third memory; organizing the third memory into a plurality of memory sections; rearranging a set of data units in the third memory into a plurality of memory groups based on last access time to each data unit, the plurality of memory groups corresponding to said plurality of memory sections such that each memory section contains a group of said data units; wherein the second memory is sized and configured to store data targeted for the third memory to intelligently maintain a portion of the third memory in an inactive state.