1. An apparatus comprising: a memory, wherein the memory is a random access memory (RAM); and a processor, configured to: send to a storage device a request from an application to retrieve data from the storage device, so as to cause the data to be transferred from the storage device to the memory in multiple, parallel data streams; send to the application an acknowledgement that the requested data is available in the memory before the data has been fully transferred from the storage device to the memory; designate one or more memory locations in the memory for the fetched data, and set page fault flags for each of the one or more memory locations upon sending the acknowledgement and the request; and when the data is ready in the memory, provide the data to the application, wherein the processor is configured to cause the application to carry out a preparatory action for accessing the data from the memory, wherein the preparatory action is performed in parallel with transferring the data from the storage device to the memory.