1. A method for providing data stored on a hard drive to a system processor, comprising: identifying data on a hard drive that is anticipated to be needed by a system processor, retrieving the identified data from a hard drive; storing the retrieved data in a non-volatile memory; and in response to receiving a request from the system processor to retrieve the identified data from the hard drive, providing the stored data from the non-volatile memory to the system processor.