Apa ram ECC dan mengapa lebih baik?

31

Saya telah melihat diskusi tentang penggunaan ram ECC di server. Kenapa lebih baik?

Toby Allen
sumber
2
Pertanyaan dijawab dalam pertanyaan lain: serverfault.com/questions/5817/…
sh-beta
Apakah ada bukti bahwa memori ECC diperlukan atau bermanfaat untuk digunakan? Manfaat dan mekanisme tindakannya mudah dipahami, tetapi saya belum pernah mendengar bukti yang membenarkan penggunaannya.
Drew Stephens
Dan apa saja berbagai kemungkinan konsekuensi dari mengalami kesalahan memori (bit) tersebut? Misalnya, saya baru saja mematikan server yang online selama 5 tahun tanpa henti (dengan ram ECC), dan secara keseluruhan semuanya berjalan dengan baik, saya tidak pernah memiliki keluhan dari klien yang di-host di sana atau pernah mengalami jurusan kesalahan dengan itu ... Sama dengan pengalaman komputer desktop saya - BSOD di sana-sini sangat jarang, tetapi apakah ini semua? :)
Denis Volovik
@Denis, saya pikir jika Anda ingin orang menjawab pertanyaan Anda, Anda mungkin perlu mengajukannya sebagai pertanyaan terpisah dan bukan komentar.
Toby Allen

Jawaban:

28

RAM ECC dapat pulih dari kesalahan kecil dalam bit, dengan memanfaatkan bit paritas. Karena server adalah sumber daya bersama di mana up-time dan keandalan penting, ECC RAM umumnya digunakan dengan hanya sedikit perbedaan harga. ECC RAM juga digunakan di workstation CAD / CAM, kesalahan bit kecil dapat menyebabkan kesalahan perhitungan yang menjadi masalah yang lebih signifikan ketika desain masuk ke manufaktur.

Waldo
sumber
5
Sedikit kesalahan dalam angka di mana saja, termasuk paket keuangan usaha kecil seseorang bisa sangat kecil atau sangat besar. Itu semua tergantung pada bit apa.
Zan Lynx
Tambahkan ke fakta bahwa kesalahan yang salah di tempat yang salah dapat menurunkan lebih dari satu mesin ketika Anda telah divirtualisasi untuk melakukan konsolidasi.
MikeyB
1
Saya hanya menunggu perusahaan yang tidak bermoral untuk mengklaim kecurangan akuntansi mereka sebenarnya hanya kesalahan kecil.
Eloff
29

Studi dunia nyata yang sangat baik:

Kesalahan DRAM di Alam Liar: Studi Lapangan Skala Besar (pdf)

Makalah ini memberikan studi skala besar pertama dari kesalahan memori DRAM di lapangan. Ini didasarkan pada data yang dikumpulkan dari armada server Google selama periode lebih dari dua tahun yang menghasilkan jutaan hari DIMM. DRAM dalam penelitian kami mencakup beberapa vendor, kepadatan DRAM dan teknologi (DDR1, DDR2, dan FBDIMM).

Makalah ini membahas pertanyaan-pertanyaan berikut: Seberapa umum kesalahan memori dalam praktek? Apa sifat statistik mereka? Bagaimana mereka dipengaruhi oleh faktor-faktor eksternal, seperti suhu, dan pemanfaatan sistem? Dan bagaimana perbedaannya dengan faktor-faktor spesifik chip, seperti kepadatan chip, teknologi memori, dan usia DIMM?

Kami menemukan bahwa dalam banyak aspek, kesalahan DRAM di lapangan berperilaku sangat berbeda dari yang diperkirakan sebelumnya. Sebagai contoh, kami mengamati tingkat kesalahan DRAM yang besarnya pesanan lebih tinggi dari yang dilaporkan sebelumnya, dengan tingkat FIT (kegagalan dalam waktu per miliar jam perangkat) dari 25.000 hingga 70.000 per Mbit dan lebih dari 8% DIMM yang terpengaruh per tahun. Kami memberikan bukti kuat bahwa kesalahan memori didominasi oleh kesalahan keras, bukan kesalahan lunak, yang menjadi fokus sebagian besar pekerjaan sebelumnya. Kami menemukan bahwa, dari semua faktor yang mempengaruhi perilaku kesalahan DIMM di lapangan, suhu memiliki efek yang sangat kecil. Akhirnya, tidak seperti yang biasanya ditakuti, kami tidak mengamati indikasi bahwa tingkat kesalahan per-DIMM meningkat dengan generasi DIMM yang lebih baru.

Menarik bahwa sebagian besar kesalahan memori keras - kesalahan memori keras tidak dapat dipulihkan, artinya memori harus diganti secara fisik karena gagal , sedangkan kesalahan memori lunak dapat diperbaiki dengan menimpa memori dengan nilai yang benar. Ini menunjukkan kepada saya nilai ECC cukup terbatas.

Ada dua jenis kesalahan yang biasanya dapat terjadi dalam sistem memori. Yang pertama disebut kesalahan berulang atau sulit. Dalam situasi ini, perangkat keras rusak dan secara konsisten akan menghasilkan hasil yang salah. Sedikit mungkin macet sehingga selalu mengembalikan "0" misalnya, tidak peduli apa yang ditulis untuk itu. Kesalahan sulit biasanya menunjukkan modul memori yang longgar, chip yang tertiup, cacat motherboard atau masalah fisik lainnya. Mereka relatif mudah untuk didiagnosis dan dikoreksi karena konsisten dan dapat diulang.

Kedengarannya seperti semua server dalam penelitian ini menggunakan ECC, jadi kami tidak dapat mengetahui tingkat kesalahan ECC vs non-ECC ..

Makalah ini mempelajari insiden dan karakteristik kesalahan DRAM dalam armada besar server komoditas. Studi kami didasarkan pada data yang dikumpulkan lebih dari 2 tahun dan mencakup DIMM dari beberapa vendor, generasi, teknologi, dan kapasitas. Semua DIMM dilengkapi dengan logika koreksi kesalahan (ECC) untuk memperbaiki setidaknya satu kesalahan bit.

Jeff Atwood
sumber
5
+1 laporan yang bagus. Meskipun saya tidak tahu tingkat kesalahan non-ECC, saya memperkirakan bahwa tingkat kesalahan non-ECC kira-kira sama dengan tingkat kesalahan ECC per GB. Chip RAM yang sama digunakan dalam DIMM ECC dan non-ECC (DICC ECC hanya menggunakan 9/8 lebih banyak chip - 72 bit memori mentah untuk menyimpan kata data 64-bit, dan 8/9 tingkat kesalahan adalah kira-kira tingkat kesalahan yang sama), dan saya tidak melihat alasan bahwa chip RAM akan memiliki tingkat kesalahan yang sangat berbeda ketika ditempatkan pada DIMM ECC vs ketika ditempatkan pada DIMM non-ECC.
David Cary
9

ECC memiliki beberapa keunggulan dibandingkan paritas. Untuk satu, itu dapat mendeteksi dan memperbaiki kesalahan bit tunggal dan melakukannya tanpa harus menghentikan seluruh sistem. Kesalahan multi-bit masih akan mengembalikan kesalahan paritas, tetapi kemungkinan ini terjadi secara astronomis rendah selama masa pakai PC kecuali jika memori itu sendiri rusak. ECC seperti asuransi mobil: Asuransi ini melindungi Anda dari sebagian besar hal yang dapat salah, tetapi tidak dapat mencegah tabrakan multi-mobil.

lebih detail di sini: Memori ECC: Suatu keharusan untuk server, bukan untuk PC desktop

TStamper
sumber
1
Saya tidak setuju dengan artikel itu. Saya pikir semua orang harus menggunakan ECC. Saya tidak akan menyerah tetapi saya menginginkan Core I7 baru yang akhirnya saya lakukan. Namun, saya yakin 6GB RAM saya mengambil kesalahan di semua tempat.
Zan Lynx
4
@zan dan kesalahan-kesalahan ini Anda "yakin" tentang, apa konsekuensi yang mereka miliki?
Jeff Atwood
Jangan menebak; kesalahan yang dapat diperbaiki seharusnya membuat MCE tidak dapat login dalam OS (System Log in Windows, / var / log / mcelog di Linux)
MikeyB
@ Jeff Jtff: Biasanya tidak ada, tapi saya memiliki layar biru sesekali tanpa alasan yang jelas. Pada sistem saya punya yang lakukan memiliki ECC saya akan melihat beberapa kesalahan bit tunggal setiap bulan.
Zan Lynx
@JeffAtwood: Dan, seperti semua orang yang saya yakin, saya kadang-kadang harus menginstal ulang aplikasi (Office. Visual Studio.) Karena tampaknya sudah gila. Bug aplikasi atau kesalahan ECC yang menyebabkan file disk rusak? Siapa yang tahu jika Anda tidak memiliki ECC?
Zan Lynx
5

Untuk mempermudah, mengutip dari Wikipedia :

Gangguan listrik atau magnetik di dalam sistem komputer dapat menyebabkan sedikit DRAM secara spontan beralih ke keadaan sebaliknya. Awalnya dianggap bahwa ini terutama disebabkan oleh partikel alfa yang dipancarkan oleh kontaminan dalam bahan kemasan chip, tetapi penelitian [5] telah menunjukkan bahwa sebagian besar kesalahan satu kali ("lunak") dalam chip DRAM terjadi sebagai akibat dari radiasi latar belakang
...
Masalah ini dapat dikurangi dengan menggunakan modul DRAM yang menyertakan bit memori tambahan dan pengontrol memori yang mengeksploitasi bit ini. Bit tambahan ini digunakan untuk merekam paritas atau menggunakan kode koreksi kesalahan

Chealion
sumber