تاریخ امروز : 1403/07/23

مکانیزم­های محافظت از مموری و تکنولوژی 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

سبد خرید
فروشگاه
حساب من
0 مورد سبد خرید