1. A system comprising: a server having a cache; a storage array, the storage array having a plurality of storage mediums and a storage cache and storing data; and computer-executable logic operating in memory, wherein the computer-executable program logic is configured to enable one or more processors to execute: sending a hint from the server to the storage array; wherein the hint relates access requests of data stored on the storage array; receiving the hint at the storage array; updating information about the data stored on the storage array using the hint and combining the information in the hint with information generated at the storage array about access to the stored data stored on the storage mediums to enable the storage to move stored data based on the access profile of the server and the storage array.