حافظه رم برای اجرای برنامهها و نگهداری از اطلاعات یک قطعهی بسیار مهم در سرور hp / رایانه است. با اینحال حافظه کوتاه مدت کامل نیست و این میتواند ذخیره تمام دادههای حیاتی را به خطر بیاندازد. بنابراین چگونه میتوانید اطلاعات را سالم نگه دارید؟ و از خراب شدن بیتهای تصادفی دادههای مهم جلوگیری کنید؟ با استفاده از رم ECC. در این مطلب ما به بررسی تفاوت رم ECC و غیر ECC و هرچیزی که باید در مورد حافظه رم ECC و رم غیر ECC بدانید را در اختیارتان قرار دادهایم تا خودتان تصمیمگیری کنید که کدام یک برایتان مناسبتر است.
⏲ مدت زمان تخمینی مطالعه: 6 دقیقه
فهرست موضوعات
ECC Memory چیست؟
رم ECC مخفف Error Correction Code و به معنای کد تصحیح خطا است. این یک فناوری براساس فرآیند ریاضی است که صحت دادههای ذخیره شده در تراشههای حافظه را تضمین می کند. در واقع ECC Memory نوعی حافظه کامپیوتری است که میتواند خطاهای رخ داده در دادههای ذخیره شده در تراشههای حافظه را شناسایی و تصحیح کند. همچنین حافظه ECC میتواند از خراب شدن دادهها، خرابی سیستم و نقض امنیت ناشی از خطاهای حافظه جلوگیری کند.
رم ECC در سیستمهایی استفاده میشود که به قابلیت اطمینان و کارایی بالایی نیاز دارند، مانند سرورها، ایستگاههای کاری، برنامههای کاربردی کنترل صنعتی و پایگاههای داده حیاتی.
رم ECC به شکلهای registered و یا unbuffered به بازار عرضه میشود. مدل Registered دارای یک تراشه ثبت است که دادهها را قبل از ارسال به کنترلر حافظه بافر انتقال میدهد، این ویژگی ثبات دادهها را بهبود میبخشد و اجازه میدهد ماژولهای حافظه بیشتری نصب شود.
مزایای ECC Memory
مزایای اصلی رم ECC این است که از اطلاعات و دادهها در برابر خرابیهای ناشی از خطاهای حافظه محافظت میکند. اگرچه خطاهای حافظه بسیار نادر هستند اما امکان دارد به دلایل مختلفی مانند تداخل الکتریکی، نقض در ساخت، پرتوهای کیهانی و یا قدیمی شد نرم رخ دهند. خطاهای حافظه میتوانند باعث از دست رفتن دادهها، بیثباتی سیستم، آسیبپذیریهای امنیتی یا تغییر در شکل دادهها شوند. رم ECC میتواند این خطاها را قبل از ایجاد هرگونه آسیبی شناسایی و تصحیح کند.
معایب ECC Memory
از معایب رم ECC میتوان به موارد زیر اشاره کرد:
– قیمت گران
– سرعت پایینتر نسبت به حافظه غیر ECC
– عدم سازگاری با برخی از سختافزارها و نرمافزارها
بیشتر بخوانید: آشنایی با مدل های استوریج های 3PAR شرکت اچ پی
حافظه ECC چگونه کار میکند؟
حافظه ECC با افزودن بیتهای اضافی داده به هر کلمه (گروهی 64 بیتی) ذخیره شده در حافظه کار میکند. این بیتهای اضافی، بیتهای چک (check bits) یا بیتهای توازن (parity bits) نامیده میشوند. این بیتها برای محاسبه کدی مورد استفاده قرار میگیرند نشاندهنده دادهها است.
هنگامی که دادهها از حافظه خوانده میشود، کد دوباره محاسبه شده و با کد ذخیره شده مقایسه میشود. اگر کدها مطابقت داشته باشند پس دادهها صحیح است؛ اما اگر کدها با همدیگر مطابقت نداشتند، خطایی در دادهها وجود دارد. پس حافظه ECC میتواند از بیتهای چک برای تعیین محل و تصحیح خطا استفاده کند.
انواع مختلفی از حافظه ECC مانند ECC تک بیتی که میتواند یک خطا در هر کلمه را تصحیح کند و ECC دو بیتی که دو خطا را در هر کلمه را اصلاح میکند و chipkill ECC که توانایی تصحیح چندین خطا را در هر تراشه دارد.
چه دستگاه هایی از حافظه های ECC پشتیبانی می کنند ؟
حافظه ECC توسط پردازندهها و مادربردهای خاصی پشتیبانی میشود که برای بارهای کاری در سطح سازمانی طراحی شدهاند. در پردازندههای اینتل، فقط سری Xeon از ECC پشتیبانی میکند. در پردازندههای AMD، برخی از مدلهای Ryzen و Threadripper با این رم سازگاری دارند.
حافظه های Non-ECC
حافظه غیر ECC رمهای رایج کامپیوتری هستند که توانایی تشخیص و تصحیح خطاهایی که ممکن است در دادههای ذخیره شده در تراشه های مموری رخ دهند، را ندارد. Non-ECC مخفف Non-error CorrectionCode و بدینمعنا است که حافظه از هیچ بیت یا الگوریتم اضافی برای اطمینان از صحت دادهها استفاده نمیکند. حافظه غیرECC رایجتر و ارزانتر از حافظه ECC است.
همچنین با بیشتر مادربردها و CPUها نسبت سازی دارد. حافظه غیر ECC بیشتر در سیستمهای مصرفکننده مانند: رایانههای رومیزی، لپتاپها یا کنسولهای بازی استفاده میشود که به قابلیت اطمینان و عملکرد بالایی نیاز ندارند.
تفاوت رم ECC و غیر ECC
بارزترین تفاوت رم ECC و غیر ECC در تصحیح کد خطا است که این تفاوت بهخاطر این است که رم ECC دارای یک تراشه حافظه اضافی در هر ماژول است که برای تشخیص و تصحیح خطا استفاده میشود. در واقع ماژولهای حافظه ECC دارای 9 تراشه حافظه در هر طرف هستند، در حالی که ماژولهای حافظه غیر ECC دارای 8 (یا گاهی اوقات 5) هستند.
آیا برای سرور خانگی به حافظه ECC نیاز دارم؟
پاسخ به این پرسش که آیا برای سرور خانگی به حافظه ECC نیاز است؟ بستگی به نوع فعالیتتان و میزان حساسیت دادهها در برابر خطر است. بهطورکلی استفاده از حافظه ECC برای سرور خانگی ضروری نیست، اما اگر برنامههای مهمی را اجرا میکنید و یا دادههای ارزشمندی را روی سرور خود ذخیره میکنید، میتوانید از این حافظه استفاده کنید. اگر از سرور خانگی خود برای اهداف بازی، فیلم دیدن استفاده میکنید و یا از روشهایی برای پشتیبانی از دادهها استفاده میکنید به حافظه ECC نیاز نیست.