1. A memory controller comprising: a first queue configured to store memory requests; a second queue configured to store memory requests received from the first queue; and control logic configured to assign a priority to each memory request stored in the first queue; wherein the control logic is configured to: assign a priority to each memory request stored in the first queue; select a given memory request in the first queue for conveyance to the second queue, wherein the given memory request is selected based at least in part on an assigned priority; and change a priority of at least one memory request stored in the first queue and at least one memory request stored in the second queue, in response to detecting a trigger.