حافظه ECC چیست؟ مزایای حافظه ECC
حافظه ECC چیست؟ مزایای حافظه ECC
شرکت Assured Systems محصولات متنوعی ارائه میدهد که از حافظههای ECC و Non-ECC پشتیبانی میکنند. در این مقاله، شما با حافظه ECC و مزایای آن بیشتر آشنا خواهید شد.
برای بررسی نیازهای پروژه خود با ما تماس بگیرید.
حافظه ECC چیست؟
با توجه به سوالات متعددی که از سوی مشتریان درباره حافظه ECC مطرح میشود، مقالهای تهیه کردهایم تا توضیح دهیم این نوع حافظه در کجا و چگونه در بازار کامپیوتر کاربرد دارد. ممکن است فرض کنید که چون کامپیوترها برای عملکرد با اطمینان بالا ساخته میشوند، از حافظه ECC برای کاهش خطاهای سیستم استفاده میکنند. اما همیشه اینطور نیست. برای مثال، کامپیوتر GPU مدل Nuvo-8208GC از شرکت Neousys از هر دو نوع حافظه ECC و Non-ECC پشتیبانی میکند.
حافظه ECC یا RAM ECC چیست؟
حافظه ECC که به معنای “حافظه دسترسی تصادفی با کد تصحیح خطا” است، قابلیت تشخیص خطاهای موجود در دادههای حافظه بدون نیاز به منابع محاسباتی خارجی را دارد. این نوع حافظه در سرورها و سیستمهای کامپیوتری با دادههای حساس بسیار محبوب است زیرا با تشخیص و تصحیح خودکار خطاهای حافظه، از فساد دادهها جلوگیری میکند.
حافظه ECC در مقابل حافظه Non-ECC
حافظه Non-ECC از یک بانک هشتتایی از تراشههای حافظه استفاده میکند که دادهها را ذخیره و به پردازنده ارائه میدهد. در مقابل، حافظه ECC دارای یک تراشه حافظه اضافی است که به عنوان تشخیص و تصحیح خطا برای سایر هشت تراشه حافظه عمل میکند.

تفاوت ECC و Non-ECC
برای اینکه بفهمید آیا به حافظه ECC نیاز دارید یا خیر، ابتدا باید عملکرد پایهای حافظه فلش را درک کنید.
حافظه فلش چگونه کار میکند؟
تراشههای فلش دارای سلولهایی هستند که یکی از دو حالت، حالت 0 یا حالت 1 را دارند. سلولهای فلش برای حفظ هر حالتی به برق نیاز دارند. بنابراین، بسته به اینکه سیستم شما بخواهد حالت 0 یا 1 را به حافظه کد کند، سطح برق خاصی را تامین میکند. کنترلر حافظه سپس حالت هر سلول را به یک رشته باینری جمعآوری میکند که هر رشته باینری منحصر به فرد است. رشته باینری جمعآوری شده سپس به دادههای کامپیوتری ترجمه میشود.

حافظه فلش
در برنامههای کاربردی فلش فرار مانند RAM کامپیوتر، بانک سلولها همیشه برای حفظ حالت 0 یا 1 خود به برق نیاز دارند. هنگامی که کامپیوتر خود را خاموش میکنید، بانک سلولها در RAM پاک میشود. الکتریسیته ساکن نیز میتواند باعث تغییر حالت یک سلول از 1 به 0 یا بالعکس شود که این تغییر میتواند رشته باینری را تغییر داده و تاثیر منفی داشته باشد. به عنوان مثال، عدد 135 به صورت 010000111 در رشته باینری خود بیان میشود. اگر الکتریسیته ساکن یکی از این سلولها را تغییر دهد، تاثیر قابل توجهی بر خطاهای تکبیتی که توسط کامپیوتر ترجمه میشود، خواهد داشت:
010000111 = 135
110000111 = 391
011000111 = 199
010100111 = 167
000000111 = 7
تغییرات حافظه میتواند باعث خطاهای نرم در عملکرد شود که میتوانند نسبتا بیضرر باشند. به عنوان مثال، یک حافظه 8 گیگابایتی به طور متوسط در هر ساعت حدود 5 خطا دارد و برای کاربر معمولی کامپیوتر، تاثیر این خطاها محسوس نیست. اما در مورد برنامههای کاربردی حساس در سرورها یا کامپیوترهای صنعتی، این خطاها میتوانند به سرعت تجمع یافته و منجر به خرابی سیستم یا خطاهای هزینهبر شوند.
مزایای حافظه ECC
برنامههای کاربردی حساس جایی است که مزایای حافظه ECC به وضوح نمایان میشود. حافظه ECC دارای یک کنترلر داخلی است که شامل یک کد توازن (معروف به کد همینگ) است. اگر یکی از بیتها خطا کند، کنترلر داخلی میتواند خطای تصحیحشده را به کامپیوتر میزبان گزارش دهد. الگوریتمی برای نوشتن دادهها به گونهای استفاده میشود که فرمول بتواند دادههای مرتبط را تطبیق دهد. الگوریتم کد همینگ میتواند با مقدار کمی داده اضافی، یکپارچگی دادهها را بررسی کند و در نتیجه از RAM کامپیوتر پشتیبانی کند. اگر نرخ خطا بسیار بالا باشد، این روش چندان مفید نیست.
چه زمانی باید از حافظه ECC استفاده کنم و آیا حافظه ECC ارزشش را دارد؟
با کاهش خطای داده، ادغام حافظه ECC در سیستم کامپیوتری شما بهترین راه حل به نظر میرسد. اما همه سیستمهای کامپیوتری نمیتوانند از حافظه ECC پشتیبانی کنند و به مادربرد، چیپست و پردازندهای نیاز دارند که از این قابلیت پشتیبانی کند. سلولهای حافظه اضافی و کنترلر داخلی نیز باعث کاهش 2-3 درصدی عملکرد نسبت به حافظه Non-ECC میشوند، زیرا الگوریتم کد همینگ برای پردازش دادهها به منابع نیاز دارد.
اگر یک سیستم حساس به خطای حافظه دارید، باید حافظه ECC و قابلیت تصحیح دادههای آن را در نظر بگیرید تا از از دست رفتن دادهها، خطاهای هزینهبر یا خرابی سیستم جلوگیری کند. سرمایهگذاری اضافی در حافظه ECC و قطعات سازگار میتواند از تعمیرات آینده جلوگیری کند، خط تولید شما را عملیاتی نگه دارد و هزینههای نگهداری سختافزار را کاهش دهد. افزایش هزینه برای حافظه ECC متغیر است، اما به طور متوسط باید انتظار داشته باشید که 10 تا 20 درصد بیشتر بپردازید، بسته به اندازه حافظه. هرچه اندازه حافظه بزرگتر باشد، افزایش هزینه بیشتر خواهد بود.