Cara kerja ECC dalam memori
ECC untuk memori menggunakan paritas tambahan (atau bit cek) yang tersedia melalui penggunaan komponen DRAM tambahan pada modul untuk memvalidasi keakuratan setiap kata data yang disimpan. Saat data ditulis, pengontrol memori dalam prosesor menghasilkan Kode Koreksi Kesalahan (ECC) berdasarkan pola bit dan menyimpannya di sebelah data asli.
Ketika data kemudian dibaca, pengontrol menghitung ulang kode dan membandingkannya dengan nilai yang tersimpan. Jika kode-kode tersebut cocok, maka data tersebut bersih. Jika terdeteksi adanya kesalahan satu bit, maka pengontrol memori secara otomatis mengoreksinya dengan menggunakan bit ECC.
Agar ECC berfungsi dengan baik, CPU dan motherboard harus mendukung mode ECC. Dukungan terkoordinasi ini memungkinkan deteksi dan koreksi kesalahan yang terjadi di seluruh jalur memori, sehingga memastikan data tetap andal. Penting untuk diperhatikan bahwa platform server enterprise umumnya memerlukan penggunaan modul memori kelas ECC, dalam bentuk Registered DIMM (RDIMM), Load Reduced DIMM (LRDIMM), atau DIMM Multipelxed Rank (MRDIMM).
Untuk DDR5, jenis modul ini tidak kompatibel dengan soket ECC atau Unbuffered DIMM (UDIMM) non-ECC, yang umumnya digunakan pada PC desktop atau workstation tingkat pemula.
Modul memori yang dibangun dengan DRAM lebar x8 mendukung deteksi dan koreksi kesalahan bit tunggal menggunakan ECC. Jika kesalahan multibit terdeteksi, maka pengontrol memori akan menandainya sehingga sistem mengetahui bahwa data tidak dapat dipercaya. Perilaku "single error correct, double error detect" (SECDED) ini merupakan standar di seluruh DIMM kelas server dan merupakan fondasi operasi memori yang stabil dan berintegritas tinggi dalam sistem enterprise.
Modul memori yang dibangun menggunakan DRAM lebar x4 mendukung deteksi dan koreksi kesalahan multi-bit dengan ECC dan merupakan pilihan yang lebih baik untuk server yang sangat penting yang membutuhkan tingkat integritas data yang lebih tinggi.
Pengenalan DDR5 juga membawa tingkat integritas data baru pada RAM yang disebut On-Die ECC (ODECC), yang menambahkan deteksi dan koreksi kesalahan bit tunggal pada setiap komponen DRAM. Hal tersebut sangat meningkatkan stabilitas, tidak hanya sistem server, tetapi juga semua sistem yang menggunakan teknologi memori DDR5, tanpa melihat apakah modul tersebut kelas ECC atau bukan.
Mengapa kesalahan memori terjadi
Kesalahan memori terjadi karena sel DRAM menyimpan data dalam bentuk muatan listrik kecil yang dapat melayang atau terganggu oleh gangguan listrik, fluktuasi tegangan, atau pergeseran waktu yang tidak terdeteksi. Tekanan dan panas juga dapat menyebabkan pembalikan bit, seperti halnya radiasi latar belakang kosmik, menghasilkan kesalahan lunak yang mungkin tidak menyebabkan kerusakan tetapi dapat merusak data secara diam-diam.
Seiring dengan menyusutnya litografi semikonduktor memori dan meningkatnya kepadatan, kemungkinan terjadinya pembalikan bit juga meningkat, terutama untuk server yang berjalan terus menerus di bawah beban. Risiko-risiko ini terus bertambah, sehingga memerlukan ECC untuk mencegah kesalahan-kesalahan kecil menyebar dan menjadi masalah di tingkat aplikasi.
Kesalahan bit lunak versus keras
Kesalahan lunak dan keras berasal dari mekanisme kegagalan yang berbeda, dan memahami perbedaannya menjadi penting saat mengevaluasi mengapa ECC berperan penting dalam memori kelas server.
Kesalahan lunak adalah pembalikan bit sementara yang disebabkan oleh faktor eksternal seperti gangguan listrik, lonjakan tegangan, atau radiasi latar belakang. Kesalahan ini tidak menunjukkan perangkat keras yang rusak, dan memori ECC dirancang untuk mendeteksi dan memperbaiki kesalahan ini secara otomatis sebelum memengaruhi aplikasi.
Sebaliknya, kesalahan keras berasal dari cacat fisik atau degradasi di dalam DRAM itu sendiri. Kesalahan ini bersifat persisten dan biasanya berulang pada lokasi memori yang sama. Meskipun ECC dapat menandai masalah ini, dan terkadang mengandung korupsi multi bit yang terbatas, kesalahan keras umumnya memerlukan tindakan pemeliharaan seperti pencatatan, mengisolasi rentang yang gagal, atau mengganti DIMM yang terpengaruh. Karena mencerminkan keausan perangkat keras yang sesungguhnya, maka hal ini menghadirkan masalah keandalan jangka panjang dalam lingkungan enterprise.
Dampak performa memori ECC dalam sistem enterprise
Beban kerja server memberikan tekanan yang sangat besar pada memori: proses yang berjalan lama, konkurensi yang berkelanjutan, dan kumpulan data dalam memori yang besar secara signifikan meningkatkan risiko integritas data. Satu kesalahan memori dalam buffer database, host VM, atau komputasi keuangan dapat menyebabkan pemadaman atau transaksi yang rusak. Itulah alasannya mengapa memori ECC diperlukan di semua sistem server.
Lingkungan yang sensitif terhadap integritas data:
- Gugus virtualisasi
- Platform basis data
- Lingkungan komputasi keuangan dan ilmiah
- Sistem apa pun yang membutuhkan keandalan 24/7 dan waktu kerja yang dapat diprediksi
Fitur ECC tidak bertujuan untuk membuat memori "lebih cepat", tetapi membuat seluruh platform lebih stabil, yang sangat penting dalam sistem yang sangat penting bagi bisnis.
RAM ECC vs RAM non ECC
Meski sistem server memerlukan penggunaan RAM ECC, segmen lain dari pusat data, seperti workstation, sistem edge, atau router, dapat menampilkannya sebagai opsi dengan menggunakan DIMM atau SODIMM yang tidak di-buffer. PC workstation dan laptop mampu mendukung ECC dengan prosesor tertentu dan pemberdayaan dalam BIOS. Keputusan untuk menyediakan sistem dengan RAM kelas ECC harus ditentukan oleh jenis aplikasi yang akan ditampilkan oleh sistem.
Karena RAM non ECC tidak memiliki fungsionalitas dan tidak dapat mengidentifikasi atau memperbaiki kesalahan, hal ini membuatnya tidak cocok untuk memori yang intensif, persisten, atau beban kerja multi penyewa. Karena DRAM tambahan pada modul kelas ECC menambah biaya, RAM non-ECC lebih cocok dan lebih murah untuk aplikasi tujuan umum pada PC klien dan laptop yang tidak digunakan untuk operasi 24/7.
Inilah sebabnya mengapa memahami perbedaan antara jenis memori server dan memilih modul yang tepat sesuai dengan beban kerja yang Anda inginkan penting untuk memastikan kompatibilitas dan stabilitas sistem dalam jangka waktu yang lama.