Pada bagian sebelumnya, kita sudah membicarakan mengenai write-ahead log, yang membutuhkan ketersediaan sebuah storage yang stabil. Berdasarkan definisi, informasi yang berada di dalam stable storage tidak akan pernah hilang. Untuk mengimplementasikan storage seperti itu, kita perlu mereplikasi informasi yang dibutuhkan ke banyak peralatan storage (biasanya disk-disk) dengan failure modes yang independen. Kita perlu mengkoordinasikan penulisan update-update dalam sebuah cara yang menjamin bila terjadi kegagalan selagi meng-update tidak akan membuat semua kopi yang ada menjadi rusak, dan bila sedang recover dari sebuah kegagalan, kita bisa memaksa semua kopi yang ada ke dalam keadaan yang bernilai benar dan konsisten, bahkan bila ada kegagalan lain yang terjadi ketika sedang recovery. Untuk selanjutnya, kita akan membahas bagaimana kita bisa mencapai kebutuhan kita.
Sebuah disk write menyebabkan satu dari tiga kemungkinan:
successful completion
partial failure
total failure
Kita memerlukan, kapan pun sebuah kegagalan terjadi ketika sedang menulis ke sebuah blok, sistem akan mendeteksinya dan memanggil sebuah prosedur recovery untuk me-restore blok tersebut ke sebuah keadaan yang konsisten. Untuk melakukan itu, sistem harus menangani dua blok physical untuk setiap blok logical. Sebuah operasi output dieksekusi seperti berikut:
Tulis informasinya ke blok physical yang pertama.
Ketika penulisan pertama berhasil, tulis informasi yang sama ke blok physical yang kedua.
Operasi dikatakan berhasil hanya jika penulisan kedua berhasil.
Pada saat perbaikan dari sebuah kegagalan, setiap pasang blok physical diperiksa. Jika keduanya sama dan tidak terdeteksi adanya kesalahan, tetapi berbeda dalam isi, maka kita mengganti isi dari blok yang pertama dengan isi dari blok yang kedua. Prosedur recovery seperti ini memastikan bahwa sebuah penulisan ke stable storage akan sukses atau tidak ada perubahan sama sekali.
Kita bisa menambah fungsi prosedur ini dengan mudah untuk memboleh kan penggunaan dari kopi yang banyak dari setiap blok pada stable storage. Meski pun sejumlah besar kopi semakin mengurangi kemungkin an untuk terjadinya sebuah kegagalan, maka biasanya wajar untuk men simulasi stable storage hanya dengan dua kopi. Data di dalam stable storage dijamin aman kecuali sebuah kegagalan menghancurkan semua kopi yang ada.