هر چقدر که وابستگی صنعت به Big data افزایش می یابد، بحث به حداقل رساندن از خطای داده از اهمیت بیشتری برخوردار می شود. یکی از مهم ترین نقاطی که امکان از دست رفتن اطلاعات وجود دارد RAM است؛ جایی که اطلاعات به صورت موقت در آن ذخیره می شوند.
کد اصلاح خطا یا ECC به واسطه اصلاح خودکار خطاهای رخ داده، سیستم شما را در برابر اتفاقات ناخواسته و تغییرات احتمالی که موجب از بین رفتن داده ها می شود محافظت می کند. رم هایی که در آن ها کدینگ اصلاح خطا وجود دارد را رم ECC می نامند.
به طور معمول رم های معمولی داری 8 چیپ می باشد و لی در رم ECC این امر با اضافه کردن چیپ اصلاح کننده نهم بر روی برد رم ممکن شده است.این رم ها هر چند نسبت به رم non ECC گران قیمت تر هستند اما امنیت و حفاظت اطلاعاتی را به همراه می آورد که برای برنامه هایی که به حجم زیادی از اطلاعات وابسته هستند نیازی ضروری تلقی می شود.
احتمال بروز خطای حافظه در رم non ECC
در هر سرور با داده های مالی و یا داه های حیاتی، مانند پزشکی، هر گونه از دست رفتن داده یا خطای transaction غیر قابل قبول است. خطاهای مربوط به رم ممکن است موجب آسیب پذیری های امنیتی، خطا در ذخیره سازی داده ها، از بین رفتن برخی از تراکنش ها و داده های صدمه دیده و از دست رفته می شود.
شانس بروز خطای حافظه بر اساس پیش بینی متخصصین 2000 تا 6000 خطا به ازای هر گیگابایت اطلاعات در هر سال است. اگرچه ممکن است سیستم های خانگی با خطای قابل توجهی مواجه نشوند، اما سرورهایی که به صورت مداوم برای ساعات طولانی در حال کار بر روی اطلاعات هستند در معرض خطر بیشتری قرار دارند.
همچنین نرخ بروز خطا با میزان حافظه و عمر دستگاه رابطه مستقیم دارد. در یک محیط کار حساس و هوشمند، انتظار میرود تا احتیاط کامل در نظر گرفته شود تا از بروز هرگونه خطای احتمالی جلوگیری شود. رایج ترین خطای حافظه خطاهای تک بیتی هستند.
خطای تک بیتی زمانی اتفاق می افتد که یک بیت ( 0 یا 1) از یک بایت هشت بیتی، با مقدار مخالف ذخیره می شود (یعنی به جای 0 کاراکتر 1 ذخیره می شود یا برعکس). این خطا بیشترین خطایی است که موجب صدمه دیدن داده ها می شود، زیرا آنقدر ناچیز است که ممکن است دستگاه به صورت خودکار قادر به شناسایی آن به عنوان اطلاعات اشتباه نباشد.
اگرچه اشتباهات چند بیتی ( بیشتر از 1 بیت که به صورت همزمان صدمه می بینند) بیشتر رخ می دهند، اما کمتر احتمال دارد توسط کامپیوتر به عنوان ورودی معتبر پذیرفته شوند. خطای چند بیتی می تواند توسط ECC تک بیتی شناسایی شود، اما ممکن است در همه موارد قادر به اصلاح آن نباشد. در عوض سیستم آن را نادیده می گیرد و اطلاعات را بارگیری می کند.خطاهای تک بیتی به دو دسته تقسیم می شوند: خطاهای سخت و خطاهای نرم
عوامل فیزیکی مانند تغییرات ولتاژ، شوک ناشی از ضربه، تغییرات دما و یا دیگر آسیب های سخت افزاری موجب بروز خطای سخت می شوند. این مشکلات ممکن است به علت خطای تولید کننده، استفاده از سخت افزار نادرست و یا فشار کار در طولانی مدت اتفاق بیفتد. از سوی دیگر، خطاهای نرم ممکن است به دلیل خواندن و نوشتن داده ها به شیوه های متفاوت رخ دهد.
برخی از خرابی اطلاعات در هنگام ورود و خروج داده ها به رم اتفاق می افتد. از آنجایی که بیت ها مقدار برنامه ریزی شده خود را به شکل شارژ الکتریکی حفظ می کنند به صورت بالقوه سبب روز بسیاری از خطاها می شود. نظریه هایی وجود دارد که ایزوتوپ های ذرات آلفا، واریانس های مغناطیسی، نوسانات جریان برق و حتی تداخل های الکترومغناطیسی ناشی از فعالیت خود سیستم را عامل بروز برخی از این خطاها می داند.