Patent ID: 8914600

Claim:
An apparatus for data storage, comprising: a first interface configured to communicate to a memory, wherein the memory includes a plurality of memory blocks and wherein each memory block includes a plurality of pages; a second interface configured to communicate to a host; and circuitry configured to: track a frequency of read accesses by the host of each data item of a plurality of data items, wherein each data item of the plurality of data items is stored in at least one memory block of the plurality of memory blocks, and wherein each data item of the plurality of data items includes one or more bytes of data; select a first group of memory blocks from the plurality of memory blocks dependent upon the tracked frequency of read accesses of each data item of the plurality of data items; copy a first subset of data items stored in the first group of memory blocks to a second group of memory blocks using a first storage configuration responsive to determining that the tracked frequency of read accesses of each data item in the first subset of data items is greater than a threshold; and copy a second subset of data items stored in the first group of memory blocks to a third group of memory blocks using a second storage configuration responsive to determining that the tracked frequency of read accesses of each data item in the second subset of data items is less than the threshold; wherein a time to access data stored using the first storage configuration is less than a time to access data stored using the second storage configuration.