मेमोरी स्क्रबिंग

मेमोरी स्क्रबिंग में प्रत्येक स्मृति  लोकेशन से रीडिंग,  बिट त्रुटि  (यदि कोई हो) को एरर-करेक्टिंग कोड (एरर डिटेक्शन एंड करेक्शन # एरर-करेक्टिंग कोड) के साथ ठीक करना, और सही डेटा को उसी स्थान पर वापस लिखना शामिल है। आधुनिक कंप्यूटर मेमोरी एकीकृत परिपथ  के उच्च एकीकरण घनत्व के कारण, व्यक्तिगत मेमोरी सेल संरचनाएं ब्रह्मांडीय किरणों और/या अल्फा कण उत्सर्जन के प्रति संवेदनशील होने के लिए काफी छोटी हो गई हैं। इन घटनाओं के कारण होने वाली त्रुटियों को  कोमल त्रुटि  कहा जाता है। 8% से अधिक डीआईएमएम मॉड्यूल प्रति वर्ष कम से कम एक सुधार योग्य त्रुटि का अनुभव करते हैं। यह डायनेमिक रैंडम-एक्सेस मेमोरी और स्टेटिक रैंडम-एक्सेस मेमोरी आधारित मेमोरी के लिए एक समस्या हो सकती है। किसी भी व्यक्तिगत मेमोरी बिट में सॉफ्ट एरर की संभावना बहुत कम है। हालाँकि, बड़ी मात्रा में मेमोरी के साथ आधुनिक कंप्यूटर—‌विशेष रूप से सर्वर (कंप्यूटिंग)—‌अपटाइम की विस्तारित अवधि के साथ सुसज्जित हैं, और साथ में स्थापित कुल मेमोरी में सॉफ्ट त्रुटियों की संभावना महत्वपूर्ण है।

एक ईसीसी मेमोरी में जानकारी रिडंडेंसी (सूचना सिद्धांत) संग्रहीत की जाती है जो प्रति मेमोरी शब्द में एक बिट त्रुटि को ठीक करने के लिए पर्याप्त है। इसलिए, एक ईसीसी मेमोरी मेमोरी सामग्री की स्क्रबिंग का समर्थन कर सकती है। अर्थात्, यदि स्मृति नियंत्रक  मेमोरी के माध्यम से व्यवस्थित रूप से स्कैन करता है, तो एकल बिट त्रुटियों का पता लगाया जा सकता है, गलत बिट को ईसीसी त्रुटि का पता लगाने और सुधार का उपयोग करके निर्धारित किया जा सकता है, और सही डेटा को मेमोरी में वापस लिखा जा सकता है।

सिंहावलोकन
एक ही शब्द के भीतर कई बिट त्रुटियों के होने की संभावना से पहले, समय-समय पर, पर्याप्त रूप से पर्याप्त रूप से प्रत्येक मेमोरी स्थान की जांच करना महत्वपूर्ण है, क्योंकि एक बिट त्रुटियों को ठीक किया जा सकता है, लेकिन सामान्य के मामले में कई बिट त्रुटियों को ठीक नहीं किया जा सकता है। (2008 तक) ईसीसी मेमोरी मॉड्यूल।

सेंट्रल प्रोसेसिंग यूनिट से नियमित मेमोरी अनुरोधों को परेशान न करने के लिए और इस प्रकार कंप्यूटर के प्रदर्शन को कम करने से रोकने के लिए, स्क्रबिंग आमतौर पर निष्क्रिय अवधि के दौरान ही की जाती है। चूंकि स्क्रबिंग में सामान्य पढ़ने और लिखने के ऑपरेशन होते हैं, यह नॉन-स्क्रबिंग ऑपरेशन की तुलना में मेमोरी के लिए बिजली की खपत बढ़ा सकता है। इसलिए स्क्रबिंग लगातार नहीं बल्कि समय-समय पर की जाती है। कई सर्वरों के लिए, BIOS सेटअप प्रोग्राम में स्क्रब अवधि को कॉन्फ़िगर किया जा सकता है।

सीपीयू या प्रत्यक्ष मेमोरी एक्सेस  डिवाइस द्वारा जारी की गई सामान्य मेमोरी ईसीसी त्रुटियों के लिए जाँच की जाती है, लेकिन संदर्भ कारणों की स्थानीयता के कारण उन्हें पतों की एक छोटी श्रृंखला तक सीमित रखा जा सकता है और अन्य मेमोरी स्थानों को बहुत लंबे समय तक अछूता रखा जा सकता है। ये स्थान एक से अधिक सॉफ्ट एरर के लिए असुरक्षित हो सकते हैं, जबकि स्क्रबिंग गारंटीकृत समय के भीतर पूरी मेमोरी की जाँच सुनिश्चित करता है।

कुछ प्रणालियों पर, न केवल मुख्य मेमोरी (DRAM-आधारित) स्क्रब करने में सक्षम है बल्कि CPU कैश (SRAM-आधारित) भी है। अधिकांश प्रणालियों पर दोनों के लिए स्क्रबिंग दरें स्वतंत्र रूप से निर्धारित की जा सकती हैं। क्योंकि कैश मुख्य मेमोरी से बहुत छोटा होता है, कैश के लिए स्क्रबिंग को बार-बार करने की आवश्यकता नहीं होती है।

मेमोरी स्क्रबिंग से विश्वसनीयता बढ़ती है, इसलिए इसे विश्वसनीयता, उपलब्धता और सेवाक्षमता (कंप्यूटर हार्डवेयर) विशेषता के रूप में वर्गीकृत किया जा सकता है।

वेरिएंट
आमतौर पर दो वेरिएंट होते हैं, जिन्हें पेट्रोल स्क्रबिंग और डिमांड स्क्रबिंग के रूप में जाना जाता है। जबकि वे दोनों अनिवार्य रूप से मेमोरी स्क्रबिंग और संबंधित त्रुटि सुधार (यदि यह करने योग्य है) करते हैं, तो मुख्य अंतर यह है कि इन दो वेरिएंट को कैसे शुरू और निष्पादित किया जाता है। पैट्रोल स्क्रबिंग एक स्वचालित तरीके से चलती है जब सिस्टम निष्क्रिय होता है, जबकि डिमांड स्क्रबिंग त्रुटि सुधार करता है जब डेटा वास्तव में मुख्य मेमोरी से अनुरोध किया जाता है।

यह भी देखें

 * डेटा स्क्रबिंग, एक सामान्य श्रेणी जिसमें मेमोरी स्क्रबिंग होती है
 * सॉफ्ट एरर, मेमोरी स्क्रबिंग करने का एक महत्वपूर्ण कारण
 * एरर डिटेक्शन एंड करेक्शन, मेमोरी स्क्रबिंग के लिए इस्तेमाल किया जाने वाला एक सामान्य सिद्धांत
 * मेमोरी रिफ्रेश, जो मेमोरी में संग्रहीत जानकारी को सुरक्षित रखता है