Apakah Anda menggunakan ECC RAM di workstation?

21

Apakah ECC RAM direkomendasikan untuk digunakan di workstation, atau itu sesuatu yang hanya digunakan di server? Jika RAM non-ECC bekerja di PC, mengapa kita membutuhkan RAM ECC?

Jon Tackabury
sumber

Jawaban:

25

Ketika barang disimpan ke dalam, kiri, dan akhirnya ditarik keluar dari RAM, beberapa korupsi terjadi secara alami (teori berbeda-beda, tetapi yang paling berat saat ini adalah EMI dari komputer itu sendiri). ECC adalah fitur RAM dan motherboard yang memungkinkan deteksi dan koreksi korupsi ini.

Korupsi biasanya sangat kecil (ECC biasanya dapat mendeteksi dan memperbaiki 1-2 bit per 64 bit "kata" - dan itu waaaaay di luar tingkat kesalahan khas), tetapi frekuensi meningkat dengan kepadatan RAM. Rata-rata workstation / PC Anda tidak akan pernah melihatnya. Pada server di mana Anda menjalankan RAM kepadatan tinggi 24/7 dalam lingkungan permintaan tinggi yang melayani layanan penting, Anda mengambil setiap langkah yang Anda bisa untuk mencegah hal-hal yang melanggar.

Perhatikan juga bahwa ECC RAM harus didukung oleh motherboard Anda, dan rata-rata workstation / PC tidak mendukungnya.

RAM ECC lebih mahal daripada non-ECC, jauh lebih sensitif terhadap kecepatan clock, dan dapat menyebabkan hit kinerja kecil (1-2%). Jika itu membantu, analogi yang berfungsi adalah pengontrol RAM ke RAID. Pada PC Anda, RAID perangkat lunak berbantuan perangkat keras yang dibangun ke dalam chipset Anda merupakan perlindungan yang sangat baik terhadap kerusakan disk tunggal. Di server, itu tidak akan pernah cukup. Anda memerlukan RAID perangkat keras sepenuhnya canggih yang didukung baterai dengan RAM internal untuk memastikan Anda tidak kehilangan data karena pemadaman listrik, kegagalan disk, atau apa pun.

Jadi tidak, Anda tidak benar-benar membutuhkan RAM ECC di workstation Anda. Manfaatnya tidak akan membenarkan harga.

sh-beta
sumber
2
Seperti juga ditunjukkan dalam jawaban Basil Bourque , harga telah cukup banyak bertemu hari ini (ketika saya melihat paling baru, perbedaan harga adalah ~ 10% yang Anda harapkan dari area chip tambahan, untuk jumlah RAM yang dapat digunakan sama) . Mungkin perlu ditinjau kembali terutama kalimat terakhir sehubungan dengan ini.
CVn
10

Jika artikel ini bisa digunakan, maka Anda harus menggunakan RAM ECC.

Ini bukan hanya masalah "Saya tidak menjalankan server, jadi saya tidak membutuhkannya". Itu tergantung seberapa besar Anda menilai data Anda. Ini bukan hanya masalah tabrakan sesekali - masalahnya adalah Anda bisa mendapatkan korupsi dan tidak tahu bahwa itu sedang terjadi.

geofftnz
sumber
3
Dari artikel: "[...] 4 GB RAM memiliki peluang 96% persen memiliki kesalahan sedikit dalam tiga hari tanpa RAM ECC". Ini kedengarannya seperti komputer harus crash terus-menerus dan data harus menjadi rusak sepanjang waktu. Namun semua orang tampaknya baik-baik saja tanpa ECC ... mengapa?
Calimo
1
Itu karena artikel itu salah ketika sampai pada tingkat kesalahan. Tingkat kesalahan aktual lebih rendah oleh banyak urutan besarnya. Lihat utas reddit yang relevan reddit.com/r/programming/comments/ayleb/…
mimrock
Apa pun tingkat kesalahannya, itu juga tergantung pada apa yang terpengaruh. Kemungkinannya itu bukan sesuatu yang menyebabkan sistem crash.
sudo
8

ECC RAM semakin menarik seiring dengan meningkatnya ukuran memori. Probabilitas kesalahan bit tunggal dalam mesin dengan 8GB RAM cukup banyak lebih tinggi daripada pada zaman 640K PC / XT, hanya karena jumlah bit yang lebih besar. Pada server database di mana RAM itu mungkin berada di buffer disk, sedikit kesalahan dapat merusak penyimpanan disk juga. Secara umum Anda akan mengharapkan untuk menggunakan memori ECC pada server.

Beberapa workstation (terutama yang dengan Xeon atau Opteron CPU) mengambil memori terdaftar, yang cukup banyak hanya ada dalam rasa ECC. Pada PC desktop Anda dapat melihatnya sebagai berlebihan.

ConcernedOfTunbridgeWells
sumber
4

ECC RAM dirancang untuk membantu mencegah dan memperbaiki kesalahan berbasis memori, biasanya menggunakan semacam kode hamming atau redundansi modular. Ini sangat berguna di server yang berisi data penting, atau memerlukan ketersediaan tinggi, tetapi harus dibayar mahal.

Sementara itu mungkin layak membayar ekstra untuk server penting Anda, apakah Anda benar-benar ingin melakukannya untuk mesin desktop Anda, apakah itu masalah jika ada kesalahan memori sesekali? Tentu itu penting jika database SQL Anda menjatuhkan beberapa data selama transaksi, tetapi apakah Anda peduli jika dokumen kata Anda dipengaruhi oleh sedikit memori blip?

Sam Cogan
sumber
4

Jika Anda menginginkan workstation yang andal maka Anda menginginkan ECC RAM untuknya. Ini akan crash lebih jarang dan pekerjaan yang dilakukan di atasnya dan dokumen yang di-cache dalam RAM tidak akan rusak secara acak.

Zan Lynx
sumber
4
Sepertinya peluang kecil untuk memperbaiki stabilitas yang tak terukur. Satu-satunya crash terkait RAM yang saya ketahui di workstation adalah karena RAM yang buruk atau aplikasi yang buruk, tidak pernah sesuatu yang bisa dicegah ECC. Itu membuat beberapa (baca: masih sedikit) pada server di mana Anda mengolah data terabyte terus-menerus, tetapi pada workstation mungkin satu-satunya hal yang dekat adalah rendering grafis atau pemrosesan video kelas atas. Singkatnya, saya pikir Anda bisa mendapatkan workstation yang benar-benar andal tanpa RAM ECC.
Chris Thorpe
Saya menjalankan memtest86 beberapa kali dalam semalam tanpa ada kesalahan. Begitulah seringnya flip memori terjadi ... Jika nyawa tergantung padanya, itu akan membenarkan menggunakan ECC, kalau tidak saya tidak berpikir ini adalah masalah nyata 99,9% dari kasus. Sangat tidak mungkin bahwa 1 bit acak sebulan akan mengenai sesuatu yang kritis dalam terabyte data.
inf3rno
Ofc. ZFS adalah pengecualian.
inf3rno
1
@ inf3rno Argumen itu? Bermalam bukanlah apa-apa. Ketinggian penting. Saya tinggal di Colorado dan pada sistem ECC melihat beberapa kesalahan yang dapat diperbaiki setiap bulan. Kembali dengan log dari sistem ECC atau Anda tidak memiliki informasi. Baca juga laporan Google tentang kesalahan ECC.
Zan Lynx
4

Manfaat tambahan ECC atas apa yang disebutkan di atas adalah bahwa Anda dapat mendeteksi RAM yang buruk. Saat menjalankan sesi memtest86 yang panjang biasanya akan menemukan masalah, mungkin ada masalah yang sangat spesifik dengan RAM yang jarang muncul dan dalam kasus penggunaan tertentu. Ini masih bisa terjadi jauh lebih sering daripada korupsi yang dirancang untuk melindungi RAM ECC dengan sangat baik - mungkin sebulan sekali. Jadi jika Anda menginstal perangkat lunak pemantauan, Anda dapat yakin bahwa RAM Anda baik, atau mengganti chip yang buruk. Masih manfaat marjinal, tetapi karena memori ECC tidak jauh lebih mahal daripada RAM normal, mungkin sepadan.

Marius Bjørnstad
sumber
1

Memori ECC sekarang harganya hampir sama dengan memori non-ECC, karena harga telah turun. Jadi periksa harga; jika harga hampir ditutup, beli ECC jika stasiun kerja Anda menampungnya.

Basil Bourque
sumber
1

Saya pikir mungkin ada beberapa kebingungan hanya berdasarkan pada judul pertanyaan.

Jika Anda hanya bermaksud PC desktop biasa, maka itu biasanya didasarkan pada platform yang bahkan tidak memiliki dukungan ECC.

Jika yang Anda maksud adalah komputer kelas workstation , maka kemungkinan besar ia datang dengan memori ECC apakah Anda peduli atau tidak.
Secara keseluruhan, kelas workstation biasanya didasarkan pada dasarnya perangkat keras server tetapi dengan grafik yang tepat dan dikemas dalam faktor bentuk yang berbeda.

Beban kerja yang diharapkan juga lebih berat daripada PC desktop, jadi jika Anda mengakui bahwa ECC masuk akal untuk server, maka saya pikir itu tidak terlalu menarik karena ECC juga masuk akal untuk workstation.

Untuk PC Desktop, ada beberapa perdebatan apakah ECC masuk akal atau tidak. Dapat dikatakan bahwa segala sesuatu seharusnya memiliki ECC tetapi, saat ini, itu tidak praktis karena industri telah memutuskan untuk menjadikan ECC fitur untuk membedakan perangkat keras kelas atas.

Håkan Lindqvist
sumber
0

Menurut artikel Zan Lynx yang ditautkan dalam komentar: DRAM Errors in the Wild: Studi Lapangan Skala Besar , kesalahan yang tidak dapat diperbaiki adalah umum sementara kesalahan yang dapat diperbaiki secara acak jarang muncul dalam suatu sistem. Insidensinya mungkin beberapa tahun dalam setahun, tetapi itu tergantung pada penggunaannya.

Jadi dalam lingkungan server kesalahan yang bisa diperbaiki mungkin tidak begitu penting, tetapi Anda jarang mem-boot mesin server, sehingga kesalahan yang tidak dapat diperbaiki yang disebabkan oleh kegagalan RAM dapat di sana tidak terdeteksi untuk sementara waktu merusak data Anda. Saya pikir itulah alasan utama mengapa server membutuhkan ECC. Workstation melakukan booting dan memeriksa RAM secara berkala, sehingga kegagalan perangkat keras dapat dideteksi oleh setiap reboot. Jika frekuensi itu cukup untuk bisnis Anda, maka saya pikir Anda tidak akan membutuhkan RAM ECC di workstation Anda.

Jika kita berbicara tentang kesalahan memori, lebih baik untuk versi dokumen penting di server. Jadi jika workstation membaca dan memodifikasi sesuatu, maka konten asli tidak boleh ditimpa di server. Cadangan reguler dapat melakukan hal yang sama untuk Anda.

Aspek lain dari pertanyaan ini adalah keamanan. Jika workstation Anda terhubung ke jaringan non-aman, maka itu mungkin rentan terhadap serangan palu baris , yang mengeksploitasi fenomena terkait DRAM. Jadi dari perspektif keamanan, lebih baik menggunakan RAM ECC.

inf3rno
sumber