Computer systems operate in part using volatile memory. Memory modules with Random Access Memory typically will not retain any data when power is not supplied. Such memory modules require power to maintain values which are stored in memory cells, and may also require periodic refresh of contents of memory cells. This differs from non-volatile memory such as various forms of Read Only Memory or other memory such as magnetic or optical memory. However, whereas non-volatile memory tends to have long-term storage capacity, it also tends to be slower, with read-only memory of various types often copied into volatile random access memory during operation of computers and similar machines.
As systems become more mission critical, the possibility of irreplaceable data being stored in volatile memory increases. Similarly, failure analysis can be much simpler if information about the state of a system is available after a failure occurs. Moreover, some data may be useful for restarting a system after a failure, even though that information is not otherwise vital for external purposes. Also, some data may simply be desirable for retention purposes, but may also be most useful in volatile memory.
Thus, it may be useful to provide an option for keeping data in volatile memory even when a surrounding system loses power. Moreover, it may also be useful to keep data in volatile memory when a surrounding system suffers some form of an error which causes a clock to malfunction even though power is still supplied. Likewise, it may be useful to provide volatile memory which has non-volatile characteristics in short- or medium-term time periods.