One of the fundamental limits to high-performance, high-reliability fi
le systems is memory's vulnerability to system crashes. Because memory
is viewed as unsafe, systems periodically write data back to disk. Th
e extra disk traffic lowers performance, and the delay period before d
ata is safe lowers reliability. The goal of the Rio (RAM I/O) file cac
he is to make ordinary main memory safe for persistent storage by enab
ling memory to survive operating system crashes. Reliable memory enabl
es a system to achieve the best of both worlds: reliability equivalent
to a write-through file cache, where every write is instantly safe, a
nd performance equivalent to a pure write-back cache, with no reliabil
ity-induced writes to disk. To achieve reliability, we protect memory
during a crash and restore it during a reboot (a ''warm'' reboot). Ext
ensive crash tests show that even without protection, warm reboot enab
les memory to achieve reliability close to that of a write-through fil
e system. Adding protection makes memory even safer than a write-throu
gh file system while adding essentially no overhead. By eliminating re
liability-induced disk writes, Rio performs 4-22 times as fast as a wr
ite-through file system, 2-14 times as fast as a standard Unix file sy
stem, and 1-3 times as fast as an optimized system that risks losing 3
0 seconds of data and metadata.