A high data availability write-caching storage controller has a volatile
memory with a write cache for caching write cache data, a non-volatile
memory, a capacitor pack for supplying power for backing up the write
cache to the non-volatile memory in response to a loss of main power, and
a CPU that determines whether reducing an operating voltage of the
capacitor pack to a new value would cause the capacitor pack to be
storing less energy than required for backing up the current size write
cache to the non-volatile memory. If so, the CPU reduces the size of the
write cache prior to reducing the operating voltage. The CPU estimates
the capacity of the capacitor pack to store the required energy based on
a history of operational temperature and voltage readings of the
capacitor pack, such as on an accumulated normalized running time and
warranted lifetime of the capacitor pack.