1. A method of scheduling requests for data from memory, comprising: selecting a scheduling algorithm with an application program; instructing a memory controller to use the selected scheduling algorithm for scheduling requests; and scheduling the requests, with the memory controller, in accordance with the scheduling algorithm.