A storage controller has a capacitor pack for storing energy to supply
during a main power loss, a temperature sensor that senses the capacitor
pack temperature, and a CPU, which repeatedly: receives the temperature
during an interval over which the capacitor pack is operated, determines
a lifetime over which the capacitor pack would have a capacity to store
at least a predetermined amount of energy if operated at the temperature
during the lifetime, normalizes the interval by a ratio of a warranted
lifetime of the capacitor pack relative to the determined lifetime, and
adds the normalized interval to an accumulated normalized running time.
The operating voltage of the capacitor pack may also sampled and used to
determine the lifetime. The predetermined amount of energy may be for
backing up a volatile write cache to a non-volatile memory in response to
the loss of main power.