A memory controller controls access to, and the power state of a plurality of
dynamic
memory devices. A cache in the memory controller stores entries that indicate a
current power state for a subset of the dynamic memory devices. Device state lookup
logic responds to a memory access request by retrieving first information from
an entry, if any, in the cache corresponding to a device address in the memory
access request. The device state lookup logic generates a miss signal when the
cache has no entry corresponding to the device address. It also retrieves second
information indicating whether the cache is currently storing a maximum allowed
number of entries for devices in a predefined mid-power state. Additional logic
converts the first and second information and miss signal into at least one command
selection signal and at least one update control signal. Cache update logic updates
information stored in the cache in accordance with the at least one update control
signal. Command issue circuitry issues power state commands and access commands
to the dynamic memory devices in accordance with the at least one command selection
signal and the address in the memory access request.