رم ECC چرا برای سرور ضروری است؟ تفاوت آن با رم معمولی
حافظه ساده و ارزان، میتواند بهمرور زمان دادهها را خراب کند؛ بدون آنکه کسی متوجه شود. ECC برای همین ساخته شده است.
بیت خراب چیست؟
هر سلول حافظه در کارخانه با احتمال بسیار بالایی ساخته میشود، اما در طول زمان و تحت تأثیر گرما، تابش، و نوسان برق، احتمال خطای بیت افزایش مییابد. در یک سرور که سالانه ۸۶۴۰۰ ساعت روشن است، میلیاردها خواندن انجام میشود و احتمال خراب شدن حتی یک بیت، بسیار بالا میرود.
حافظه بدون ECC این خطا را بیصدا رها میکند. نتیجه میتواند یک کرش ناگهانی باشد، یا بدتر: دادههای نادرست در پایگاه داده ذخیره شوند بدون آنکه متوجه شوید.
ECC چگونه کار میکند؟
حافظه ECC علاوه بر بیتهای داده، بیتهای افزونه (parity) نیز دارد. این بیتها اجازه میدهند:
- تشخیص خطای تکبیتی بهصورت لحظهای
- اصلاح خودکار خطا بدون دخالت سیستم
- در صورت خطای دوبیتی، گزارش خطا به سیستمعامل
یعنی ۹۹٫۹۹۹٪ خطاهای تکبیتی بهصورت خودکار اصلاح میشوند و سیستم بدون توقف به کار ادامه میدهد.
ECC چه چیزی را نجات نمیدهد؟
اگر چند بیت در کلمهای از حافظه همزمان خراب شوند (خطای دوبیتی)، ECC فقط میتواند آن را تشخیص دهد، نه اصلاح کند. در این حالت سیستم معمولاً بهصورت خودکار کرش میکند و کرش دامپ میگیرید. این رفتار بسیار بهتر از ادامه کار با داده خراب است.
RDIMM یا UDIMM؟
| UDIMM | RDIMM (Registered) | |
|---|---|---|
| رجیستر آدرس | ندارد | دارد |
| ظرفیت قابل پشتیبانی | محدود | بسیار بالا (تا چند ترابایت) |
| سازگاری پردازنده | محدود به پلتفرمهای خاص | تقریباً همه سرورهای مدرن |
| قیمت | ارزانتر | گرانتر |
در سرورهای نسل اخیر، RDIMM انتخاب استاندارد است و معمولاً فقط RDIMM پشتیبانی میشود.
چند ماژول نصب کنیم؟
قانون مهم: برای فعال شدن قابلیت mirroring در حافظه، باید حداقل دو ماژول نصب کنید. یک ماژول ECC به تنهایی، خطاهای تشخیصی دارد اما حفاظت آینهای ندارد.
نکته دیگر: استفاده از همه اسلاتها معمولاً سریعتر از استفاده ناقص است، چون کانالهای حافظه بهصورت موازی کار میکنند.
DDR4 یا DDR5؟
نسل پردازنده سرور، نسل حافظه را تعیین میکند و این دو قابل ترکیب نیستند:
- سرورهای نسل ۱۰ و پایینتر: DDR4
- سرورهای نسل ۱۱ و جدیدتر: DDR5
DDR5 پهنای باند بیشتر و مصرف برق کمتری دارد، اما قیمت ماژولها بالاتر است و همه مادربردهای نسل ۱۱ از آن پشتیبانی نمیکنند. پیش از خرید، مشخصات دقیق سرور را بررسی کنید.
جمعبندی: در سرور، رم غیر-ECC یعنی ریسک خراب شدن خاموش دادهها. حافظه ECC سروری با فرمفاکتور RDIMM، حداقل استانداردی است که باید رعایت شود. در انتخاب ظرفیت هم، همیشه کمی بیشتر از نیاز امروز بخرید تا مسیر ارتقا باز بماند.