تکنولوژی تشخیص خطای حافظه HP یا HP AMED چیست؟

تکنولوژی HP Advanced Memory Error Detection  چیست؟ با پیشرفت و توسعه صنعت و فناوری اطلاعات شاهد رشد معنی دار پیغام های خطا در حافظه یا RAM سرورها می باشیم . افزایش تعداد این خطاها با توجه به رشد چشمگیر استفاده از منابع حافظه و در نگاهی عمیق تر افزایش تعداد بیت ها در چیپ های حافظه امری طبیعی و غیر قابل اجتناب می باشد .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

پیغامهای خطای تصحیح نا پذیر حافظه یا Uncorrectable memory errors موجب کرش و اختلال در سیستم عامل ها و سرویسها می گردد که قطعی سیستم یا Downtime را در پی دارد که مطلوب هیچ سازمانی نمی باشد و سازمان ها هزینه های گزاف به دلیل Downtime سیستم متحمل می گردند.در طول 18 سال اخیر کمپانی HP ,جهت اطمینان از کارکرد صحیح و محافظت و تحمل خطاچندین تکنولوژی در حوزه چیپ های حافظه ارائه داده است.

در 1999 کمپانی HP یک سیستم پیش بینی و اخطار پیش از وقوع خطا ارائه داد که مواردی که پتانسیل بروز مشکل در آنها وجود دارد را مانیتور و گزارش می کرد.پیغامی جهت آگاهی مدیر سیستم ارسال می گردید بدین صورت که آستانه یا مرز از پیش تعیین شده ای که برای پیغام خطاهای قابل تصحیح در حافظه تعریف شده است به بالاترین مقدار ممکن رسیده است.

این مورد با پیغام DIMM exceeds a predefined threshold for correctable memory errors یا مشابه آن در سیستم های مانیتورینگ و یا ثبت رخداد سخت افزار قابل مشاهده می باشد, بطور مثال در بخش Hardware Status یا وضعیت سخت افزار VMware ESXi در بخش Memory وضعیت Correctable ECC Log قابل بررسی می باشد .این مکانیزم به مدیران سیستم این امکان را می دهد که پیش از وقوع کرش اقدام به تعویض Memory که احتمال خرابی آن در آینده نزدیک وجود دارد نمایند .

در سال 2011 کمپانی HP با ارائه تکنولوژی HP Advanced Memory Error Detection محافظت از حافظه ها در مقابل خطا و تحمل خطا را بهبود بخشید .این ابداع HP عیوب و مشکلات خاصی که در Memory ها موجب افت کارایی می گردند و همچنین مواردی که موجب بروز خطای های غیرقابل تصحیح در حافظه می گردند را جستجو و گزارش می نماید.با وجود این تکنولوژی و پیش بینی هایی که توسط این مکانیزم صورت می پذیرد جایگزینی ماژول های حافظه در بسیاری از مواقع غیر ضروری صورت نمی پذیرد و موجب بالا رفتن Uptime می گردد.

توضیحاتی در مورد SDRAM Technology

هرDIMM یا Dual in-line memory module از یک حافظه نوع DDR3 در حالت استاندارد 72 بیت به bus حافظه می رساند که این بلوک دیتای 72 بیتی شامل یک Data word 64 بیتی و 8 بیت ECC می باشد(منظور از ECC در این بخش Error Correction Code می باشد ). این مجموعه 64+8 اصطلاحا Rank نامیده می شود.کسانی که با حافظه هایRAM به خصوص در سطح سرور سروکار دارند چه از نوع وارد کننده و فروشنده و چه متخصصین فنی بارها با این مورد برخورد داشته اند که RAM از نوع Single-Rank یا Dual-Rank و یا Quad-rank می باشد که در این بخش به توضیح این موارد نیز می پردازیم.

Memory Rank

 

در شکل بالا مورد اول مشاهده می کنیم که یک Rank شامل دیتا از 9 عدد چیپ DRAM روی حافظه می باشد که هر کدام 8 بیت می باشند که اصطلاحا در توضیح مشخصات رم x8 نیز گفته می شود.مورد دوم نیز مانند مورد اول Single Rank می باشد ولی از نوعی Double-sided می باشد همچنین شامل 18 چیپ 4 بیتی در طرفین می باشد که اصطلاحا در توضیح مشخصات رم x4 نیز گفته می شود.

در مورد سوم نیز رم از نوع Dual-rank وX8 مشاهده می کنیم که شامل 18 عدد چیپ 8 بیتی می باشد .رم های نوع Quad-Ranked دارای 72 عدد چیپ 4 بیتی یا 36 عدد چیپ 8 بیتی می باشند.در واقع تولید کنندگان RAM از Rank ها چندگانه جهت افزایش ظرفیت DIMM ها در هر کانال حافظه استفاده می کنند . امروزه رم های Quad_ranked با ظرفیت 32GB قابل استفاده می باشند.نمونه ای از رم 32GB نوع Quad-ranked را در شکل زیر مشاهده می کنید.

Quad-ranked

هر چیپ DDR3 شامل میلیون ها Cell حافظه می باشد که در 8 بانک یا آرایه از ردیف ها و ستون ها قرار گرفته اند.برای مثال در چیپ 2GB x4 هر بانک 210 (1024) ردیف و 216 (65536) ستون را شامل میشود.مجموعا بیش از 256 میلیون Cell به ازای هر بانک و بیش از 2 میلیون Cell به ازای هر چیپ .هر Cell از حافظه شامل یک مدار با یک ترانزیستور و یک خازن می باشد که شارژ الکتریک را ذخیره می کند , وضعیت شارژ خازن اطلاعات باینری را نمایش می دهد.خازن ها تنها قادر به ذخیره شارژ می باشند و در نتیجه هزاران بار در ثانیه می بایست عملیات شارژ تکرار شود,

ولتاژ هر DIMM تعیین کننده سطح شارژ الکتریکی می باشد.همانطور در شکل زیر مشاهده می کنیم , کنترلر حافظه یک سیگنال آدرس دهی ارسال می نماید که بانک , ستون و ردیفی که یک مربوط به یک Cell در DRAM می باشد را مشخص می نماید. در بانک مورد نظر , دیکودر مربوط به ردیف , اصطلاحا Word Line را فعال می سازد و دیکودر مربوط یه ستون اصطلاحا bit line را فعال می سازد. سپس خازنی که در Cell مقصد می باشد , شارژ ذخیره را از طریق bit line به تقویت کننده حسی یا Sense amplifier ارسال می نماید.

DIMM, chip, bank, cell hierarchy per rank

به دلیل کم بودن شارژ ذخیره, قبل از ارسال اطلاعات به بافر I/O, Sense amplifier هر شارژ را شناسایی و تقویت می نماید.همچنین پس از خواندن اطلاعات, Sense amplifier مسوول بازیابی خازنها به وضعیت قبلی خود می باشند. یک دیتای 4 یا 8 بیتی ((Data symbol از طریق پین های خروجی دیتا به memory bus می روند.

Memory errors یا خطاهای حافظه

چندین رخداد یا اتفاق می تواند موجب بروز پیغام خطا در Cell های خاص از حافظه گردد, در چندین Cell در چندین ردیف مختلف که یک خرابی ستونی (a column failure) گفته می شود یا در چندین Cell در ستون های مختلف که خرابی ردیفی (a row failure) گفته می شود.دقت کنید که خرابی ستونی در چندین ردیف مختلف رخ می دهد و خرابی ستونی در چندین ردیف مختلف.

برای مثال اشکال در word line یا bit line می تواند مانع دریافت سگنال توسط یک بخش از ردیف یا ستون گردد و موجب خرابی آن ستون یا ردیف گردد.همچنین خرابی یک ستون یا ردیف می تواند موجب اشکال در کارکرد مدار دیکودر مربوط به ردیف یا ستون گردد.همچنین نقص در Sense amplifier می تواند موجب خرابی ستونی گردد , برخی پدیده های دیگر که به آن noise sources گفته می شود می توانند موجب تضعیف سیگنال در مسیر منتهی به Sense amplifier گردند.

در این بخش بصورت سنتی پیغام های خطای حافظه با تعداد بیت های آسیب دیده و دلایل خطا دسته بندی می شود , اما در سیستمهایی جدید که میزان memory معمولا بالا می باشد روش مفهوم تر دسته بندی خطا ها بصورت Correctable و Uncorrectable می باشد که در ادامه به توضیح آن خواهیم پرداخت.

پیغامهای خطای قابل تصحیح و غیر قابل تصحیح:Correctable and uncorrectable errors

خروجی یک پیغام خطای حافظه به این مساله که بستگی دارد که آیا خطا از نوع تصحیح پذیر یا Correctable می باشد یا خیر.برخی از خرابی های ستونی یا ردیفی بسته به نوع پیکربندی DIMM (x8 یا X4) و همچنین وجود قابلیت تصحیح خطا در سیستم قابل تصحیح می باشند.ECC می تواند یک خطای یک بیتی را در چیپ های DRAM نوع X4 یا X8 تصحیح نماید , اما در مورد خطاهای چند بیتی تکنولوژی ECC تنها قادر به تشخیص آنها می باشد اما قادر به تصحیح آن نمی باشد .

با استفاده از تکنولوژی Advanced error correction control در محیط سرور و در چیپ های X4 امکان تشخیص و تصحیح پیغامی های خطای چندبیتی یا Multi bit error نیز وجود دارد.الگوریتم موجود در این سیستم امکان تصحیح هر خطای یک بیتی و چند بیتی را دارا می باشد , این الگوریتم همچنین قادر به تشخیص همزمان دو symbol error در دو چیپ X4 می باشد .

پردازنده های مبتنی بر سری Intel® Xeon®و , AMD Opteron از تکنولوژی Advanced error-correction control جهت تصحیح یک symbol error 4 بیتی یا تشخیص 2 symbol error استفاده می نمایند, (single-symbol correct, double-symbol detect) در واقع اگر خطا ها بیش از دو symbol error باشد قادر به تشخیص آن نخواهد بود. یک تکنولوژی دیگر که به آن Device Data Correction Double یا (DDDC)گفته می شود امکان تصحیح پیغامهای خطا در دو Symbol و تشخیص پیغام های خطا در سه Symbol را دارا می باشد (Double-symbol correct, triple-symbol detect)

این به این معناست که اگر یک چیپ DRAM از کار بیفتد اما DIMM ها به کار خود ادامه دهند , DDDC به کار خود ادامه خواهد داد , حتی اگر دومین چیپ نیز دچار ایراد شود ؛ DDDC همچنان به کار ادامه خواهد داد. سیستمهای با پردازنده Xeon در حالت lockstep memory mode از DDDC پشتیبانی می کنند. لازم به توضیح است که در lockstep memory mode , دو مسیر به عنوان یک مسیر عمل می کنند , در واقع در هر عملیات خواندن و نوشتن یک Cache با پهنای دو مسیر جابجا می گردد.در این مقاله سعی بر این شده که در برخی موارد از عبارت انگلیسی اصلی استفاده شود تا معادل فارسی احیانا موجب سردرگمی و ابهام مدیران سیستم چه در زمان مطالعه متن و چه در زمان پیکربندی و اعمال تنظیمات نگردد.

دلایل افزایش خطای رم در سرورها :

  1. افزایش چشمگیر ظرفیت حافظه در سیستمها
  2. تکنولوژی DRAM تغییراتی نموده و محدودیت استفاده رم بر روی سرور ها دچار افزایش گردیده است.

رشد چشمگیر تجهیزات با کارایی بالا و محیط های مجازی موجب شده که امکان تخصیص منابع بیشتری از حافظه به سرورها داشته باشیم , این مساله موجب گردیده که کارخانجات تولید حافظه ظرفیت ماژول های حافظه سرور ها را بالا ببرند.بر آورد کمپانی HP نشان می دهد که از سال 2006 تا 2011 بطور میانگین ظرفیت رم در هر سرور بیش از 500% افزایش پیدا کرده است .

از حدود 5.6 گیگابایت در سال 2006 تا حدود 33 گیگابایت در سال 2011 رسیده است, برآورد رشد حداقل 500% از سال 2011 تا 2016 برای متخصصین این حوزه برآوردی کاملا منطقی می تواند باشد, اکنون در ماه های پایانی سال 2015 هستیم و شاهد رشد چشم گیر زیرساخت های مجازی و کلود در سال های اخیر بوده ایم .این در حالیست که حدنصاب حافظه مورد پشتیبانی سرورها نیز افزایش چشمگیری داشته است.

برای درک بهتر این رشد استفاده از حافظه می توان به چند مورد سرورهای نسل7 و 8 و 9 کمپانی HP اشاره نمود , بصورتی که مثلا DL580 G7 در حالت فول با ماژولهای 32 گیگا بایتی امکان پشتیبانی از 2 ترابایت حافظه را دارا می باشد که 18 تریلیون سلول حافظه را ترجمه می نماید.مدل DL380P G8 تا 768GB حافظه پشتیبانی می نماید و DL380 G9 در حالتLRDIMM و با ماژول های 64 گیگابایتی تا 1.5TB حافظه پشتیبانی می نماید این در حالیست که عدد پشتیبانی رم در سرورهای DL580 نسل 8 و 9 به 6TB در هر سرور می رسد.

تغییرات در تکنولوژی DRAM

تولیدکنندگان حافظه در حال افزایش ظرفیت DIMM با استفاده از افزایش تراکم چیپ ها می باشند , بصورتی که هرچقدر Cell های DRAM کوچکتر باشند , تولید کنندگان می توانند ولتاژ عملیاتی را کاهش می دهند تا از این طریق سرعت حافظه ها را افزایش و مصرف برق را کاهش دهند. این پروسه کاهش ولتاژ از عدد استاندارد 2.5V برای هر DIMM شروع شده و در ادامه مقادیر 1.8V و 1.5V و در ادامه 1.25V را شاهد بوده ایم.اطلاع از معماری و پروسه رخداد ها نیز می تواند جالب توجه باشد.

فرکانس های عملیاتی بالا موجب ذخیره شارژ کمتر در خازن ها می گردد و این تعداد کم شارژ ذخیره نیز موجب کاهش تحمل نسبت به نقاط مبدا ایجاد نویز یا Source noise ها می گردد , این مساله کار را برای Sense amplifier مشکل می سازد بدین صورت که نمی تواند محاسبه دقیقی از ارزش بیت شارژ خازن داشته باشد. همچنین کاهش تعداد شارژهای ذخیره شده, تغییر وضعیت Cell ها را آسان می نماید , این وضعیت با اضافه شدن به وضعیت تراکم بالای بیت ها موجب افزایش بیتهایی می گردد که تحت اثر پدیده یونیزه شدن واقع می گردند(دقیقا مشابه یک ذره آلفا)

HP Advanced Memory Error Detection Technology

بدلیل پیغام های خطای مربوط به فرکانس بالای حافظه , برخی مدیران سرور بصورت غیر ضروری اقدام به خاموش نمودن سرور و جایگزینی ماژوول های حافظه ای می نمایند که پیغامهای خطا از نوع Correctable دارند. بهترین راه برای جلوگیری از جایگزینی غیر ضروری رم ها , فیلتر نمودن پیغام های خطای غیرضروری و شناسایی پیغامهای خطای پرخطری می باشد که موجب کرش سیستم می شود , که هدف اصلی تکنولوژی شناسایی پیشرفته خطای حافظه یا HP Advanced Memory Error Detection Technology می باشد.

الگوریتم این تکنولوژی پارامتر های مختلف از پیغامهای خطای Correctable را آنالیز می نماید و بصورت هوشمند تشخیص می دهد که سیستم در چه زمانی ممکن است دچار پیغامهای خطای غیر قابل بازیابی و یا غیر قابل تصحیح گردد. این الگوریتم به جای آنالیز تک تک بیت ها محاسباتی را در Symbol های 4 بیتی و 8 بیتی انجام می دهد . پارامتر های مختلفی رهگیری شده و پس از در نظر گرفتن چندین خصوصیت از DIMM ها , تصمیم می گیرد که چه زمانی به مدیرسیستم اعلام نماید که ماژولی از رم نیاز به جایگزینی دارد . الگوریتم مورد استفاده بر اساس یک پیغام خطای تک بیتی پیغام جایگزینی DIMM را نمی دهد چراکه اینگونه احتمال وقوع یک پیغام خطای Uncorrectable را افزایش می دهد.

این الگوریتم پارامترهایی منحصر به فرد از پیغامهای خطای Correctable در DIMM های نوع X8 در مقایسه با DIMM های نوع X4 در نظر می گیرد. این مساله به این دلیل است که این تکنولوژی نمی تواند از خرابی کامل چیپ DRAM جلوگیری کند . این الگوریتم همچنین خرابی های بانک حافظه را برای DIMM های X4 و X8 شناسایی می نماید , چراکه این خرابی ها موجب افزایش احتمال بروز خطای حافظه از نوع Uncorrectable می گردد.

در زمانی که تعداد خطاهای نوعCorrectable از حد از پیش تعیین شده بیشتر گردند ,یا یک پیغام خطای نوع Uncorrectable رخ دهد ,HP iLO management processor یک اخطار به مدیر سیستم ارسال می نماید . مدیر سیستم می تواند گزارش پیغامهای خطاها از دو نوع خطاهای Uncorrectable و Correctable را از طریق قسمت Integrated Management Log یا IML مشاهده نماید. حتی در زمان خاموش بودن سرور آز طریق اتصال به ILO می توان رخداد های ثبت شده در قسمت IML را مشاهده نمود.

نمونه ای از رخدادهای مختلف در IML

IML
IML2

دیگر مزایا و جمع بندی نهایی

بطور کلی الگوریتم مورد استفاده در تکنولوژی HP Advanced Memory Error Detection به تشخیص دقیق تر خطاهایی که موجب کرش سرور و توقف سرویس ها می باشد کمک می نماید , زمان Downtime از طریق اعلام دقیق خطاهای با ریسک بالا از طریق این تکنولوژی کاهش می یابد و مدیر سیستم برنامه ریزی بهتری برای جایگزینی ماژول های معیوب می نماید و از Downtime های بدون برنامه جلوگیری می گردد.

بدون این تکنولوژی در بسیاری از موارد قطعه بصورت غیر ضروری جایگزین می گردید و علاوه بر هزینه قطعه ای که تعویض می گردید , سازمان ها هزینه ناشی از Downtime غیر ضروری را متحمل می شدند.این تکنولوژی اولین بار از طریق آپدیت ROM برای سرورهای سری G6 و G7 مهیا گردید و برای نسل های G8 وG9 نیز همچنان مورد استفاده می باشد.امیدوارم این مطلب برای شما عزیزان مفید واقع شود.


نظرات