The Rio project is investigating how to implement and use reliable memory.
Reliable memory enables dramatic improvements in reliability and performance.
Rio survives crashes by protecting memory using virtual memory protection and restoring the data during the subsequent reboot. Rio is in production use as our project's file server and stores our mail and home directories. Unfortunately, standard recoverable memories incur an overhead of several milliseconds per transaction. Vista improves transaction overhead by a factor of 2000. Of this factor of 2000, a factor of 20 is due to the Rio file cache, which absorbs synchronous writes to disk without losing data during system crashes.