Patent ID: 8589356

Claim:
A computer-implemented method of determining a storage location for a data item, the method comprising: providing a first data storage location and a second data storage location, the first data storage location having an appreciably faster access speed than the second data storage location, wherein the first and second data storage locations are primary storage locations that provide persistent storage; accessing a score associated with the data item, the score being calculated by a computer device based on a frequency of access of the data item, wherein the score is accessed from a score table of data items that includes an identifier of the data item, a size of the data item, the score, a timestamp indicating when the score was calculated and an identifier that indicates whether the data item is currently stored on the first data storage location or the second data storage location; periodically re-calculating the scores associated with the data items in the table by diminishing the score of each of the data items by different amounts that are based on a period of time having elapsed for each of the data items since a previous access of a particular data item; in response to the re-calculating of the scores causing a change in the selecting of the one of the first data storage location or the second data storage location, removing the data item from a current storage location and adding the data item to a newly selected storage location; and selecting only one of the first data storage location or the second data storage location based on a value of the score associated with the data item with respect to scores of other data items being stored, wherein the data item is stored in only one of the first data storage location or the second data storage location at any point in time.