catatan: jawaban ini bukan tentang fisika, tetapi tentang kesalahan memori diam dengan modul memori non-ECC. Beberapa kesalahan mungkin berasal dari luar angkasa, dan beberapa - dari ruang dalam desktop.
Ada beberapa studi tentang kegagalan memori ECC pada server pertanian besar seperti cluster CERN dan pusat data Google. Perangkat keras kelas server dengan ECC dapat mendeteksi dan memperbaiki semua kesalahan bit tunggal, dan mendeteksi banyak kesalahan multi-bit.
Kita dapat berasumsi bahwa ada banyak desktop non-ECC (dan ponsel cerdas non-ECC). Jika kita memeriksa kertas untuk tingkat kesalahan yang dapat diperbaiki ECC (bitflips tunggal), kita dapat mengetahui tingkat kerusakan kehabisan memori pada memori non-ECC.
Studi CERN 2007 skala besar "Integritas data" : vendor menyatakan " Tingkat Kesalahan Bit 10 -12 untuk modul memori mereka ", " tingkat kesalahan yang diamati adalah 4 kali lipat lebih rendah dari yang diharapkan ". Untuk tugas-tugas intensif data (8 GB / s membaca memori) ini berarti bahwa flip bit tunggal dapat terjadi setiap menit (10 -12 vendor BER) atau sekali dalam dua hari (10 -16 BER).
Makalah Google 2009 "Kesalahan DRAM di Alam: Studi Lapangan Skala Besar" mengatakan bahwa mungkin ada 25.000-75.000 FIT per-bit per Mbit ( kegagalan dalam waktu per miliar jam ), yang sama dengan 1 - 5 bit kesalahan per jam untuk 8GB RAM setelah perhitungan saya. Makalah mengatakan hal yang sama: " berarti tingkat kesalahan yang dapat diperbaiki 2000-6000 per GB per tahun ".
Laporan Sandia 2012 "Deteksi dan Koreksi Korupsi Data Senyap untuk Komputasi Kinerja Tinggi Skala Besar" : "flips bit ganda dianggap tidak mungkin" tetapi pada ORNL's Cray XT5 yang padat mereka "pada laju satu per hari untuk 75.000+ DIMM" bahkan dengan ECC. Dan kesalahan bit tunggal harus lebih tinggi.
Jadi, jika program memiliki dataset besar (beberapa GB), atau memiliki tingkat baca atau tulis memori yang tinggi (GB / s atau lebih), dan itu berjalan selama beberapa jam, maka kita dapat mengharapkan beberapa bit bit diam pada perangkat keras desktop. Tingkat ini tidak dapat dideteksi oleh memtest, dan modul DRAM baik.
Cluster panjang berjalan pada ribuan PC non-ECC, seperti komputasi grid luas internet BOINC akan selalu memiliki kesalahan dari memori bit-flip dan juga dari kesalahan disk dan jaringan diam.
Dan untuk mesin yang lebih besar (10 ribu server) bahkan dengan perlindungan ECC dari kesalahan bit tunggal, seperti yang kita lihat dalam laporan Sandia 2012, bisa ada flips bit ganda setiap hari, sehingga Anda tidak akan memiliki peluang untuk menjalankan paralel ukuran penuh program selama beberapa hari (tanpa pemeriksaan rutin dan memulai kembali dari pemeriksaan bagus terakhir jika terjadi kesalahan ganda). Mesin-mesin besar juga akan mendapatkan bit-flip dalam cache dan register cpu mereka (baik pemicu arsitektur dan internal chip misalnya dalam ALU datapath), karena tidak semua dari mereka dilindungi oleh ECC.
PS: Keadaan akan jauh lebih buruk jika modul DRAM buruk. Sebagai contoh, saya menginstal DRAM baru ke laptop, yang mati beberapa minggu kemudian. Itu mulai memberi banyak kesalahan memori. Apa yang saya dapatkan: laptop hang, linux reboot, menjalankan fsck, menemukan kesalahan pada root filesystem dan mengatakan ingin melakukan reboot setelah memperbaiki kesalahan. Tetapi pada setiap reboot berikutnya (saya lakukan sekitar 5-6 dari mereka) masih ada kesalahan yang ditemukan pada sistem file root.