مکانیزم های محافظت از مموری و تکنولوژی patrol scrubbing
Memory scrubbing شامل خواندن از هر مکان حافظه کامپیوتر، تصحیح خطاهای بیتی (در صورت وجود) با کد تصحیح خطا (ECC) و نوشتن داده های اصلاح شده در همان مکان است.
محافظت از یکپارچگی داده ها در حافظه از جنبه های مهم سیستم های کامپیوتری مدرن است. برخی از جنبه های سخت افزار، مانند خطاهای نرم، پیش بینی یا تشخیص آنها دشوار یا غیرممکن است. این به دلیل ماهیت تصادفی آنها ناشی از پدیده های فیزیکی مانند برخورد ذرات نوترون و آلفا به تراشه است. علاوه بر این، برای برخی از حافظه های در حال ظهور که در حال تحقیق هستند، کششهای مختلف (به عنوان مثال مقاومت) در سلول ها با گذشت زمان بدتر میشوند که میتوانند حالت خود را تغییر دهند.
برای محافظت از حافظه، سازوکارهایی مانند کدهای تصحیح خطا (ECC) اغلب استفاده میشوند. آنهایی که به طور معمول تصحیح خطای تک بیتی و تشخیص خطای دو بیتی (SECDED) را ارائه میدهند. اگرچه خطاهای بیت منفرد یک رویداد مستقل هستند، اما دو بازدید جداگانه هنوز هم میتوانند دو بیت متفاوت را در یک کلمه یکسان قرار دهند. به عبارت دیگر، خطاهای چند بیتی غیرهمجوار (به عنوان مثال اشعه های کیهانی که به همان ردیف برخورد می کنند) قابل اصلاح نیستند.
به دلیل تراکم بالای ادغام تراشه های حافظه کامپیوتری مدرن، ساختارهای سلول های حافظه فردی به اندازه کافی کوچک شده اند تا در برابر اشعه های کیهانی و یا انتشار ذرات آلفا آسیب پذیر باشند. خطاهای ناشی از این پدیدهها را خطاهای نرم مینامند. بیش از 8٪ از ماژول های DIMM حداقل یک خطای قابل اصلاح در سال تجربه میکنند. این میتواند برای حافظه های مبتنی بر DRAM و SRAM مشکل ساز شود. احتمال خطای نرم در هر بیت حافظه منفرد بسیار ناچیز است. با این وجود، همراه با مقدار زیادی حافظه، رایانه های مدرن – به ویژه سرورها – به مجهز شده اند و همراه با دوره های طولانی مدت به روز، احتمال خطاهای نرم در کل حافظه نصب شده قابل توجه است.
اطلاعات موجود در حافظه ECC به اندازه کافی ذخیره میشود تا خطای تک بیتی را برای کلمه حافظه تصحیح کند. از این رو، یک حافظه ECC میتواند از پاک کردن محتوای حافظه پشتیبانی کند. یعنی، اگر کنترلر حافظه به طور سیستماتیک از طریق حافظه اسکن میکند، میتوان خطاهای تک بیتی را تشخیص داد، بیت اشتباه را میتوان با استفاده از مجموع کنترل ECC تعیین کرد و داده های اصلاح شده را دوباره در حافظه نوشت.
اسکراب برای حل مسئله خطای چند بیتی طراحی شده است که توسط الگوریتم های مختلف چند بیتی ECC قابل اصلاح نیست. اسکراب با استفاده از احتمال کم داشتن دو حمله در یک کلمه در هر زمان مشخص، حافظه را از طریق منطق ECC به طور دورهای چرخه میزند تا خطاهای تک بیتی را قبل از جمع شدن تصحیح کند.
قبل از بروز خطاهای چند بیتی در یک کلمه مهم است که هر مکان حافظه را به طور دورهای بررسی کنید، به اندازه کافی و مرتبا، زیرا خطاهای یک بیتی اصلاح میشوند، اما خطاهای چند بیتی اصلاح نمیشوند.
به منظور عدم ایجاد مزاحمت در درخواست های حافظه منظم از CPU و در نتیجه جلوگیری از کاهش کارایی، اسکراب معمولاً فقط در دوره های بیکار انجام میشود. از آنجا که اسکراب شامل عملکردهای معمول خواندن و نوشتن است، ممکن است مصرف برق را برای حافظه در مقایسه با عملکرد غیر اسکراب افزایش دهد. بنابراین، اسکراب نه به طور مداوم بلکه به صورت دورهای انجام میشود. برای بسیاری از سرورها، دوره اسکراب را میتوان در برنامه راه اندازی BIOS پیکربندی کرد.
حافظه عادی خوانده شده توسط دستگاه های CPU یا DMA از نظر خطاهای ECC بررسی میشود، اما به دلایل محلی بودن داده ها میتوانند در محدوده ای از آدرس ها محدود شده و سایر مکان های حافظه را برای مدت زمان طولانی دست نخورده نگه دارند. این مکان ها میتوانند در معرض بیش از یک خطای نرم قرار بگیرند، در حالی که اسکراب کنترل بررسی کل حافظه را در یک زمان تضمین شده تضمین میکند.
در بعضی از سیستم ها، نه تنها حافظه اصلی (مبتنی بر DRAM) قابلیت اسکراب را دارد بلکه حافظه کش پردازنده (مبتنی بر SRAM) است. در اکثر سیستم ها میتوان میزان اسکراب را برای هر دو به طور مستقل تنظیم کرد. از آنجا که حافظه کش بسیار کوچکتر از حافظه اصلی است، نیازی نیست که اسکراب برای حافظه کش به دفعات تکرار شود.
اسکراب حافظه قابلیت اطمینان را افزایش میدهد، بنابراین میتوان آن را به عنوان یک ویژگی RAS طبقه بندی کرد.
حالتها:
patrol scrubbing – : سیستم به طور دوره ای از هر ورودی داده در کل حافظه عبور میکند، خطای قابل تصحیحی را بررسی میکند، در صورت امکان / نیاز را تصحیح میکند و مقدار را به حافظه مینویسد. Patrol Scrubbing فرآیندی است که به CPU اجازه میدهد خطاهای حافظه قابل اصلاح شناسایی شده در یک ماژول حافظه را اصلاح کرده و اصلاحات را به درخواست کننده (منبع اصلی) ارسال کند. وقتی این مورد روی Enabled تنظیم شود، اگر تأخیری ناشی از پردازش داخلی نباشد، North Bridge هر 16 سیکل یک خط حافظه کش را خوانده و مینویسد.
–demand scrubbing: سیستم در صورت درخواست داده، خطای قابل تصحیحی را بررسی میکند. demand Scrubbing فرایندی است که به CPU اجازه میدهد خطاهای حافظه قابل اصلاح موجود در ماژول حافظه را اصلاح کند. وقتی CPU یا I/O دستور تقاضا برای خواندن را صادر میکند و دادههای خوانده شده از حافظه یک خطای قابل تصحیح است، خطا اصلاح شده و به درخواست کننده (منبع اصلی) ارسال میشود. حافظه نیز به روز می شود. Enabled را برای استفاده از Demand Scrubbing برای اصلاح حافظه ECC انتخاب کنید. گزینه ها فعال و غیرفعال هستند.
hp
راهنمای خرید سرور HP ML350 GEN9 – بخش پنجم
راهنمای خرید سرور ML350 GEN9 – بخش چهارم
راهنمای خرید سرور HPE ML350 GEN9 بخش اول
رجیسترها (ثبات ها) در پردازنده ها
روش های بکاپ گیری و انواع نرم افزار های آن
بکاپ گیری از ماشین های مجازی و ابزارهای آن
