1. A apparatus disposable between a user device and a storage array, comprising: a processor having: a proxy engine configured to receive a message from the user device and interpret the message in accordance with a message protocol to perform storage operations associated with a storage address in the storage array; a mapping engine configured to map the storage address to a state record within a state records table, the state record corresponding to a cache line stored in a cache resource; a search data structure for locating the state record corresponding to the stored cache line, wherein the cache resource is managed in accordance with a policy.