A method and system for power management including device controller-based
device use evaluation and power-state control provides improved
performance in a power-managed processing system. Per-device usage
information is measured and evaluated during process execution and is
retrieved from the device controller upon a context switch, so that upon
reactivation of the process, the previous usage evaluation state can be
restored. The device controller can then provide for per-process control
of attached device power management states without intervention by the
processor and without losing the historical evaluation state when a
process is switched out. The device controller can control power-saving
states of connected devices in conformity with the usage evaluation
without processor intervention and across multiple process execution
slices. The device controller may be a memory controller and the
controlled devices memory modules or banks within modules if individual
banks can be power-managed. Local thresholds provide the decision-making
mechanism for each controlled device. The thresholds may be
history-based, fixed or adaptive and are generally set initially by the
operating system and may be updated by the memory controller adaptively
or using historical collected usage evaluation counts or alternatively by
the operating system via a system processor.