اشتباهات حافظه ی تک بیت نادر نیستند، آنها معمول هستند.مطالعه ای که به طور گسترده توسط گوگل (Schroeder et al., 2009) انجام شده است که تجزیه و تحلیل خطاهای حافظه در کل ناوگان سرور خود را نشان می دهد نرخ خطای DRAM از 25،000 تا 70،000 FIT (شکست در زمان) در هر Mbit ،به این معنی که یک سیستم با 16GB حافظه تجربه تقریبا یک خطای اصلاح پذیر هر 2-8 ساعت کار. در یک دسکتاپ استاندارد غیر ECC، هر یک از این خطاها به طور صامت هر داده ای را که در آدرس تحت تاثیر قرار می گیرد خراب می کند، بدون هیچ نشانه ای برای کاربر یا سیستم عامل که چیزی اشتباه شده است.
XRISS DDR4 16GB 3200MHz ECC UDIMM یک 9th DRAM IC در هر رده را برای ذخیره یک ECC 8 بیتی برای هر کلمه داده 64 بیتی اختصاص داده است.وقتی یک بیت به دلیل تشعشعات کیهانی (علت اصلی در سطح دریا)، تابش پس زمینه از مواد بسته بندی (ذرات آلفا از جوش بدون سرب) ، یا سر و صدا الکتریکی، موتور ECC خطا را تشخیص می دهد و آن را به صورت شفاف اصلاح می کند،و افزایش یک شمارنده خطای قابل اصلاح قابل دسترسی از طریق سیستم عاملیک خطای چند باتی که بسیار نادرتر است اما اگر تشخیص داده نشود فاجعه بار است، یک استثنای چک ماشین را ایجاد می کند که روند آسیب دیده را متوقف می کند، نه اینکه به صورت خاموش داده های خراب شده را گسترش دهد.
| حجم کار | عواقب یک بیت فلیپ ناشناخته | حفاظت از ECC |
|---|---|---|
| تجزیه و تحلیل استرس FEA (ANSYS) | ارزش تنش نادرست در شبیه سازی اجزای حیاتی ایمنی | بیت فلیپ به صورت شفاف اصلاح شده؛ بدون تاثیر شبیه سازی |
| مونتاژ CAD (Solidworks) | مختصات ورودی فاسد که هندسه مدل سه بعدی را تحریف می کند | خطا قبل از رسیدن داده های هندسی به GPU اصلاح شد |
| مدل مالی (Excel/Python) | مقدار غلط سلول از طریق محاسبه وابسته گسترش می یابد | تمام مقادیر میانگین در حافظه محافظت می شوند |
| مجموعه داده های علمی (MATLAB/NumPy) | اطلاعات نادرست در نتایج تحقیقات منتشر شده | حفظ یکپارچگی مجموعه داده ها در طول تجزیه و تحلیل |
برای کاربران AMD Ryzen، این ماژول نیاز به یک مادربرد با پشتیبانی صریح ECC در BIOS (ASUS Pro، ASRock Rack، و انتخاب گگابایت / ASRock consumer boards) دارد.تراشه W680 برای ECC با پردازنده های هسته ای نسل 12-14 مورد نیاز استماژول کاملا با هر دو سیستم عامل سازگار است و وضعیت ECC را از طریق رابط های استاندارد EDAC (لینوکس) و WMI (ویندوز) گزارش می دهد.
سوال1: اگر من فقط از ایستگاه کاری خود برای CAD و مدل سازی سه بعدی استفاده کنم، آیا واقعا به حافظه ECC نیاز دارم؟
ج: برای مدل سازی CAD و 3D به طور خاص، تجزیه و تحلیل ریسک و سود بستگی به نوع کار شما دارد: (1) اگر شما محصولات مصرفی، مبلمان،یا تجسمات معماری که یک بیت کوچک باعث یک اثر هندسی کوچک می شود که شما به طور بصری تشخیص داده و اصلاح می کنید، غیر ECC به طور کلی قابل قبول است. (2) اگر شما قطعات ساختاری (پل ها، قطعات هواپیما، ایمپلنت های پزشکی) را طراحی می کنید که در آن محاسبات استرس FEA حاشیه ایمنی را تعیین می کند،یا اگر شما طراحی ابزار دقیق که در آن 0اشتباه 0.001mm از یک مختصات خراب شده یک قالب 50،000 دلاری را خراب می کند، ECC به شدت توصیه می شود. (3) برای هر کاری که برای تصویب قانونی (FDA، FAA، کد ساختمان) ارائه می شود،ECC یکپارچگی داده های مستند را که از سیستم مدیریت کیفیت شما پشتیبانی می کند، فراهم می کندهزینه های اضافی ECC (30-50 دلار در هر ماژول و یک مادربرد سازگار) در مقایسه با مسئولیت یک خطای طراحی ناشی از فساد داده های کشف نشده بی اهمیت است.
س2. کدام مادربرد ها و پردازنده های قابل دسترسی مصرف کننده در واقع از ECC UDIMM پشتیبانی می کنند؟
A: برای AMD: تمام پردازنده های Ryzen غیر APU (مدل بدون پسوند "G"، به عنوان مثال Ryzen 5 7600، Ryzen 9 7950X، Ryzen 9 9950X) از ECC UDIMM پشتیبانی می کنند.اما motherboard باید عملکرد ECC را در BIOS نشان دهد، که تضمین نشده است. برد های مصرف کننده شناخته شده سازگار با ASUS Pro B550-Creator، ASRock B550 Taichi، ASRock X570 Taichi، ASRock B650E Taichi، ASRock X670E Taichi، ASRock Rack X570D4U،و Gigabyte B550 Vision D (با فعال کردن ECC در BIOS). برای اینتل: پشتیبانی از ECC UDIMM نیاز به یک مادربرد تراشه W680 (به عنوان مثال ، ASUS Pro WS W680-ACE IPMI ، Supermicro X13SAE-F) با پردازنده هسته ای نسل 12 / 13 / 14 است.تراشه های استاندارد Z790/B760/H770 از ECC پشتیبانی نمی کنند، حتی با یک پردازنده Xeon. همیشه بررسی کنید که ECC به طور فعال پس از نصب با استفاده از ابزارهای سطح سیستم عامل اشتباهات را اصلاح می کند.
سوال 3: چگونه می توانم به طور قطعی تأیید کنم که ECC واقعا کار می کند و نه فقط "حمایت می شود اما غیر فعال است"؟
A: در لینوکس، edac-utils و rasdaemon را نصب کنید، سپس اجرا کنید: 'dmesg∙ grep -i edac' (باید درایور EDAC بارگذاری شده با فعال ECC را نشان دهد) و 'ras-mc-ctl --status' (باید ردیابی خطاهای اصلاح شده را نشان دهد).در ویندوز، از HWiNFO64 استفاده کنید: بخش حافظه را گسترش دهید و به دنبال "نوع تصحیح خطا" جستجو کنید. باید "ECC تک بیت" را نشان دهد و تعداد خطا های قابل اصلاح / غیر قابل اصلاح را نشان دهد. در CPU-Z،برگه SPD ممکن است پشتیبانی ECC را نشان دهد اما این تنها توانایی ماژول را نشان می دهدعلاوه بر این، شما می توانید به طور عمدی از ECC با استفاده از یک ابزار تزریق خطا حافظه تست کنید: لینوکس دارای ماژول "einj" (تزریق خطا) است،و برخی از مادربردهای ارائه تزریق خطای ECC در BIOS تحت تنظیمات حافظه پیشرفتهاگر سیستم خطای تزریق شده را به عنوان اصلاح شده ثبت کند، ECC به طور کامل فعال است.
سوال 4: آیا می توانم از این ECC UDIMM در یک دسکتاپ استاندارد که از ECC پشتیبانی نمی کند، مانند حافظه غیر ECC معمولی استفاده کنم؟
A: بله، با ملاحظات. یک ECC UDIMM به طور فیزیکی در یک اسلات استاندارد DDR4 قرار می گیرد و به عنوان حافظه غیر ECC معمولی در سیستم عامل هایی که از ECC پشتیبانی نمی کنند عمل می کند. با این حال:(1) ماژول با تاخیر کمی بالاتر از یک ماژول معادل غیر ECC کار می کند زیرا مسیر داده ECC تاخیر یک چرخه لوله را معرفی می کند. (2) عملکرد ECC در حالت خواب خواهد بود ✓ تراشه DRAM اضافی مورد استفاده قرار نخواهد گرفت. (3) شما برای قابلیت ECC که نمی توانید از آن استفاده کنید، هزینه بالایی پرداخت می کنید. به این دلایل،ما توصیه نمی کنیم که خرید ECC UDIMM برای سیستم های غیر ECC مگر اینکه شما به طور خاص برنامه ای برای مهاجرت ماژول ها به یک سیستم عامل ECC در آینده داشته باشید.به جای آن از محصولات استاندارد غیر ECC UDIMM استفاده کنید.
Q5. چگونه قابلیت اطمینان یک ایستگاه کاری ECC UDIMM در مقایسه با یک سرور RDIMM برای شبیه سازی های طولانی مدت است؟
ج: برای یک ایستگاه کاری تک سوکت، UDIMM های ECC قابلیت تصحیح خطای مشابه RDIMM ها را فراهم می کنند.تفاوت در تراکم و مقیاس پذیری است، نه کیفیت تصحیح خطا. RDIMM ها از بافر ساعت ثبت شده استفاده می کنند که بار الکتریکی را کاهش می دهند،امکان ظرفیت بالاتر در هر کانال و DIMM بیشتر در هر کانال، بنابراین استفاده از آنها در سرورها با 8-16 اسلات DIMM در هر CPUبرای یک ایستگاه کاری با 4 اسلات DIMM و کمتر از 128GB در مجموع، ECC UDIMM ها تکنولوژی مناسب هستند.یک پلت فرم W680 با پشتیبانی 2DPC یا یک پلت فرم Threadripper Pro با پشتیبانی RDIMM مناسب تر خواهد بودقابلیت اصلاح خطا واقعی در برابر ریزش بیت ناشی از اشعه کیهانی بین ECC UDIMM و RDIMM با همان ظرفیت و سرعت یکسان است.