ذاكرة ECC

ذاكرة ECC تعد الذاكرة البرمجية لتصحيح الأخطاء ( ذاكرة ECC ) نوعًا من أنواع تخزين بيانات الكمبيوتر التي يمكنها اكتشاف معظم أنواع تلف البيانات الداخلية وتصحيحها . يتم استخدام ذاكرة ECC في معظم أجهزة الكمبيوتر حيث لا يمكن تحمل تلف البيانات تحت أي ظرف من الظروف، مثل الحوسبة العلمية أو المالية.

عادة، تحافظ ذاكرة ECC على نظام ذاكرة محصن ضد أخطاء البت الواحد: تكون البيانات التي تتم قراءتها من كل كلمة هي نفسها دائمًا مثل البيانات التي تمت كتابتها، حتى إذا تم قلب بتة واحدة أو أكثر مخزنة بالفعل إلى حالة خاطئة.  لا تستطيع معظم الذاكرة غير التابعة لـ ECC اكتشاف الأخطاء، على الرغم من أن بعض الذاكرة التي لا تعمل بنظام تصحيح الأخطاء (ECC) مع دعم التماثل تسمح بالاكتشاف وليس التصحيح.

خلفية المشكلة 

يمكن أن يتسبب التداخل الكهربائي أو المغناطيسي داخل نظام الكمبيوتر في وصول جزء واحد من ذاكرة الوصول العشوائي الديناميكية (DRAM) إلى الحالة المعاكسة تلقائيًا. كان يعتقد في البداية أن هذا يرجع بشكل أساسي إلى جسيمات ألفا المنبعثة من الملوثات في مواد التغليف بالرقائق، ولكن الأبحاث أظهرت أن غالبية الأخطاء الضعيفة لمرة واحدة في رقائق DRAM تحدث نتيجة لإشعاع الخلفية، بشكل رئيسي نيوترونات من الأشعة الكونية الثانية، مما قد يغير محتويات خلية ذاكرة واحدة أو أكثر أو يتداخل مع الدوائر المستخدمة للقراءة أو الكتابة إليها. وبالتالي، فإن معدلات الخطأ تزيد بسرعة مع ارتفاع الارتفاع ؛ على سبيل المثال، بالمقارنة مع مستوى سطح البحر، فإن معدل تدفق النيوترونات هو 3.5 مرة أعلى عند 1.5 كم و 300 مرة أعلى عند 10-12 كم (الارتفاع المبحر للطائرات التجارية). [4] ونتيجة لذلك، فإن الأنظمة العاملة على ارتفاعات عالية تتطلب توفيرًا خاصًا للاعتمادية.

على سبيل المثال، تحتوي المركبة الفضائية كاسيني-هيغنز، التي تم إطلاقها في عام 1997 ، على مسجلين متطابقين للطائرة، كل منهما بهما 2.5 غيغابايت من الذاكرة في شكل صفائف من رقائق DRAM التجارية. وبفضل وظيفة EDAC المضمنة، ذكرت القياس الهندسي عن المركبة الفضائية عدد أخطاء كلمة بت لكل كلمة (قابلة للتصحيح) وأخطاء مزدوجة لكل كلمة (غير قابلة للتصحيح). وخلال أول 2.5 سنة من الرحلة، أبلغت المركبة الفضائية عن معدل خطأ واحد تقريبًا من الأخطاء يبلغ حوالي 280 خطأ في اليوم. ومع ذلك، في 6 نوفمبر 1997 ، خلال الشهر الأول في الفضاء، زاد عدد الأخطاء بأكثر من عامل أربعة في ذلك اليوم الواحد. ويعزى ذلك إلى حدث جسيمي شمسي تم اكتشافه بواسطة القمر الصناعي

كان هناك بعض القلق من أنه مع زيادة كثافة DRAM بشكل أكبر، وبالتالي تصبح المكونات على الرقائق أصغر، في الوقت الذي تستمر فيه الفولتية التشغيلية في الانخفاض، ستتأثر شرائح DRAM بهذه الإشعاعات بشكل أكثر تكرارًا - لأن جزيئات الطاقة الأقل ستكون قادرة لتغيير حالة خلية الذاكرة. [4] من ناحية أخرى، تصنع الخلايا الأصغر أهدافًا أصغر، والانتقال إلى تكنولوجيات مثل SOI قد يجعل الخلايا الفردية أقل حساسيةً، وبالتالي يتعارض مع هذا الاتجاه. تظهر الدراسات الحديثة [6] أن تقلبات الأحداث الفردية بسبب الإشعاع الكوني قد انخفضت بشكل كبير مع هندسة العملية والمخاوف السابقة حول زيادة معدلات أخطاء خلايا البتات لا أساس لها من الصحة.

حلول 

وقد تم تطوير عدة أساليب للتعامل مع تقلبات البتات غير المرغوب فيها، بما في ذلك البرمجة المدركة للمناعة، وذاكرة تعادل ذاكرة الوصول العشوائي، وذاكرة ECC .

يمكن تخفيف هذه المشكلة باستخدام الوحدات النمطية DRAM التي تتضمن وحدات ذاكرة إضافية ووحدات تحكم بالذاكرة تستغل هذه البتات. تُستخدم هذه البتات الإضافية لتسجيل التماثل أو استخدام رمز تصحيح الأخطاء (ECC). يسمح التماثل بالكشف عن كل أخطاء البت الواحد (في الواقع، أي عدد فردي للبتات الخاطئة). رمز الخطأ الأكثر شيوعا تصحيح، وتصحيح الخطأ مفردة ومزدوجة من الأخطاء كشف (كود هامنج) كود المبالغة، ويسمح ليتم تصحيح خطأ واحد بت و (في تكوين المعتاد، مع بت التماثل إضافية) أخطاء مزدوجة بت ل يتم الكشف عنها. يعتبر Chipkill ECC إصدارًا أكثر فعالية يعمل أيضًا على تصحيح أخطاء البتات المتعددة، بما في ذلك فقد شريحة ذاكرة بالكامل.

ذاكرة التخزين المؤقت 

العديد من المعالجات استخدام رموز تصحيح الخطأ في ذاكرة التخزين المؤقت على الرقاقة، بما في ذلك إنتل إيتانيوم وزيون [28] المعالجات، وأيه إم دي أثلون، أوبتيرون، كل زن - و زين + المستندة معالجات ( EPYC ، EPYC جزءا لا يتجزأ، Ryzen و Ryzen Threadripper ) ، DEC Alpha 21264. 1] اعتبارًا من عام 2006 ، تعد EDC / ECC و ECC / ECC أكثر تقنيات حماية أخطاء ذاكرة التخزين المؤقت شيوعًا المستخدمة في المعالجات التجارية. تستخدم تقنية EDC / ECC خطأ في اكتشاف الكود (EDC) في ذاكرة التخزين المؤقت المستوى 1. في حالة اكتشاف خطأ، يتم استرداد البيانات من ذاكرة التخزين المؤقت من المستوى الثاني المحمية من قبل ECC. يستخدم أسلوب ECC / ECC ذاكرة تخزين مؤقت من المستوى الأول محمي من قبل ECC ومخزن مؤقت من المستوى 2 محمي من قبل ECC. تقوم وحدات المعالجة المركزية (CPU) التي تستخدم تقنية EDC / ECC دائمًا بكتابة جميع STORE إلى ذاكرة التخزين المؤقت من المستوى الثاني، بحيث أنه عند اكتشاف خطأ أثناء القراءة من ذاكرة التخزين المؤقت للبيانات من المستوى الأول، يمكن استرداد نسخة من هذه البيانات من المستوى 2 مخبأ.

ذاكرة مسجلة 

الذاكرة المسجلة، أو المخزنة مؤقتًا، ليست هي نفسها ECC ؛ هذه الاستراتيجيات تؤدي وظائف مختلفة. من المعتاد أن تكون الذاكرة المستخدمة في الخوادم مسجلة، للسماح باستخدام العديد من وحدات الذاكرة بدون مشاكل كهربائية، و ECC ، لتكامل البيانات. الذاكرة المستخدمة في أجهزة الكمبيوتر المكتبية ليست للاقتصاد. ومع ذلك، تتوفر ذاكرة ECC غير المسجلة (غير المسجلة) ، [33] وبعض اللوحات الرئيسية غير الخادم تدعم وظيفة ECC لهذه الوحدات عند استخدامها مع وحدة المعالجة المركزية التي تدعم ECC. [34] لا تعمل الذاكرة المسجلة بشكل موثوق به في اللوحات الأم دون تخزين الدوائر، والعكس بالعكس.

نظم حاسوب متحملة للأخطاء
ذاكرة الحاسوب