موثوقية الفلاش: متوقع وغير متوقع. الجزء 1. المؤتمر الرابع عشر لجمعية USENIX. تقنيات تخزين الملفات

نظرًا لأن محركات الأقراص ذات الحالة الصلبة التي تعتمد على الفلاش أصبحت الوسيلة الأساسية لتخزين المعلومات بشكل دائم في مراكز البيانات ، فمن المهم إدراك مدى موثوقيتها. حتى الآن ، تم إجراء عدد كبير من الدراسات المختبرية لرقائق الذاكرة المحمولة باستخدام اختبارات تركيبية ، لكن لا توجد معلومات كافية عن سلوكهم في هذا المجال. تم تخصيص هذه المقالة لنتائج دراسة ميدانية واسعة النطاق تغطي ملايين الأيام من استخدام محركات الأقراص الصلبة ، و 10 نماذج مختلفة من محركات الأقراص الصلبة ، وتقنيات ذاكرة الفلاش المختلفة (MLC ، و eMLC ، و SLC) ، وأكثر من 6 سنوات من الاستخدام التشغيلي في مراكز بيانات Google.



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

لا يعتبر مقياس UBER (معدل خطأ البت غير القابل للاسترداد) المستخدم على نطاق واسع مؤشراً كبيراً على الموثوقية ، حيث أننا لم نر العلاقة بين عدد القراءات وعدد الأخطاء غير القابلة للتصحيح. لم نجد أيضًا دليلًا على أن محركات الأقراص المستندة إلى بنية SLC أحادية المستوى تكون أكثر موثوقية من محركات MLC أثناء الحياة العادية لـ SSD. بالمقارنة مع محركات الأقراص الصلبة التقليدية ، فإن تكرار استبدال محركات أقراص الحالة الصلبة التي تعتمد على الفلاش أقل بكثير ، لكن لديها مستوى أعلى من تصحيح الأخطاء.

1. مقدمة


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

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

تقدم هذه المقالة نتائج مفصلة لدراسة ميدانية لموثوقية محركات الأقراص المحمولة ، استنادًا إلى البيانات التي تم جمعها على مدار 6 سنوات من عملها في مراكز بيانات Google. تغطي هذه البيانات ملايين الأيام من تشغيل القرص (العدد الدقيق للأقراص والأجهزة التي تستخدمها سرية من قِبل Google ، لذا لا يمكننا توفير أرقام دقيقة. ومع ذلك ، تمكنا من التحقق من الأهمية الإحصائية للبيانات المقدمة إلينا) ، وعشرة طرز مختلفة من محركات أقراص فلاش -التكنولوجيات (MLC ، eMLC و SLC) مع تكنولوجيا رقاقة من 24 إلى 50 نانومتر.

استخدمنا هذه البيانات لتوفير فهم أفضل للموثوقية التشغيلية لذاكرة الفلاش. على وجه الخصوص ، قمنا بتحليل هذه الجوانب من موثوقية الجهاز:

  1. أنواع مختلفة من الأخطاء التي تحدث في ذاكرة الفلاش وتكرار حدوثها في الحقل (القسم 3).
  2. معدل الخطأ في البتات (RBER) ، وتأثير عوامل مثل البلى وعمر القيادة وعبء العمل ، وكذلك علاقة RBER بأنواع الأخطاء الأخرى (القسم 4).
  3. أخطاء غير قابلة للاسترداد ، وتكرارها وتأثير العوامل المختلفة عليها (القسم 5).
  4. الخصائص الميدانية لأنواع مختلفة من أعطال المعدات ، بما في ذلك الأعطال المعقدة ، وفشل الرقائق ، وتكرار محركات الإصلاح والاستبدال (القسم 6).
  5. 5. مقارنة الموثوقية بين مختلف تقنيات الفلاش (أقراص MLC ، eMLC ، SLC) (القسم 7) ومقارنة موثوقية SSD و HDD (القسم 8).

لقد تأكدنا من أن تحليلنا يكشف عن عدد من جوانب موثوقية ذاكرة الفلاش في الميدان ، والتي تختلف عن الاستنتاجات التي تم التوصل إليها في الأعمال السابقة. نأمل أن يكون عملنا بمثابة حافز لمزيد من البحث في هذا المجال.


الجدول. 1. خصائص الوحدات التي شاركت في الاختبارات الميدانية.

2. معلومات أساسية عن البيانات والأنظمة


2.1. محركات أقراص فلاش


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

ركزت دراستنا على 10 نماذج لمحركات الأقراص ، يتم عرض خصائصها الرئيسية في الجدول 1. اخترنا طرزًا من أربعة مصنّعين ، عمل كل منها لعدة ملايين من الأيام ، باستخدام الأنواع الثلاثة الأكثر شيوعًا من ذاكرة الفلاش (MLC ، SLC ، eMLC).

2.2. البيانات المستخدمة


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

3. انتشار أنواع مختلفة من الأخطاء


لنبدأ ببعض الإحصاءات الأساسية حول تواتر حدوث أنواع مختلفة من الأخطاء في هذا المجال. نحن نسلط الضوء على الأخطاء الشفافة التي تكون غير مرئية للمستخدم والأخطاء المعتمة التي تؤدي إلى فشل عمليات المستخدم. يقوم برنامج تشغيل محرك الأقراص المحمول بالإبلاغ عن أنواع الأخطاء الشفافة التالية:

خطأ قابل للتصحيح: أثناء عملية القراءة ، يتم تصحيح الخطأ المكتشف بواسطة وظيفة تصحيح الأخطاء ECC المضمنة.

  • خطأ في القراءة خطأ في القراءة: خطأ يحدث أثناء عملية القراءة (للذاكرة دون تصحيح خطأ غير ECC) ، يتم تصحيحه عند القراءة المتكررة ؛
  • خطأ في الكتابة خطأ في الكتابة: خطأ عملية الكتابة التي تنجح بعد إعادة المحاولة.
  • خطأ محو خطأ محو: فشل عملية المسح في الكتلة.

تبلغ الأجهزة أيضًا عن أنواع الأخطاء غير الشفافة التالية:

  • خطأ غير قابل للتصحيح: أثناء العملية ، تحدث وحدات بت أكثر مما يمكن إصلاح ECC.
  • خطأ القراءة النهائية خطأ القراءة النهائية: خطأ حدث أثناء القراءة غير ثابت عند المحاولات المتكررة ؛
  • خطأ الكتابة النهائي خطأ الكتابة النهائي: خطأ حدث أثناء الكتابة لم يتم إصلاحه على المحاولات المتكررة ؛
  • خطأ التعريف: خطأ التعريف: خطأ في الوصول إلى بيانات التعريف الداخلية للقرص.
  • خطأ المهلة: إحباط العملية بعد 3 ثوان.

تتضمن الأخطاء الفادحة الأخطاء التي تم اكتشافها أثناء العمليات التي بدأها المستخدم أو عمليات تجميع البيانات المهملة الداخلية ، بينما تتضمن أخطاء القراءة النهائية الأخطاء التي حدثت أثناء عمليات المستخدم.

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

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


الجدول. 2. انتشار أنواع مختلفة من الأخطاء. يُظهر النصف العلوي من الجدول النسبة المئوية للأقراص المتأثرة بالأخطاء ، بينما يعرض النصف السفلي النسبة المئوية لأيام استخدام القرص التي حدثت خلالها أنواع مختلفة من الأخطاء.

3.1. أخطاء مبهمة


نعتقد أن أكثر الأخطاء المعتمة شيوعًا هي أخطاء القراءة النهائية ، أي الأخطاء التي لا يمكن تصحيحها من خلال عملية القراءة المتكررة. اعتمادًا على طراز محرك الأقراص ، حدث ما لا يقل عن 20-63٪ من الأجهزة في غضون 2-6 أيام من 1000 يوم من تشغيل القرص.

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

على عكس أخطاء القراءة ، نادراً ما تتحول أخطاء الكتابة إلى أخطاء غير شفافة. وفقًا للطراز ، واجه 1.5 إلى 2.5٪ فقط من الأقراص خطأ في الكتابة نهائيًا خلال 1-4 أيام من 10000 يوم من التشغيل ، أي عملية كتابة غير ناجحة لم يتم تصحيحها بعد محاولات متكررة. قد يرجع هذا الاختلاف في وتيرة أخطاء القراءة والكتابة النهائية إلى حقيقة أن عملية الكتابة الفاشلة تم تصحيحها ببساطة عن طريق الكتابة إلى مكان آخر على القرص في المنطقة مع عدم وجود وحدات بت. وبالتالي ، إذا كان فشل عملية القراءة لا يمكن أن يكون إلا بسبب وجود عدة وحدات بت تالفة ، يشير خطأ الكتابة النهائي إلى وجود مشكلة أكبر في الأجهزة.

تحدث أخطاء التعريف بتردد مماثل لمعدل أخطاء الكتابة ، ولكن مرة أخرى أقل كثيرًا من أخطاء القراءة النهائية. هذا ليس مفاجئًا ، نظرًا لأن القرص يحتوي على بيانات وصفية أقل بكثير من كمية البيانات الحقيقية ، مما يقلل من تكرار الوصول إلى البيانات الوصفية. تعتبر الأخطاء المعتمة الأخرى (أخطاء المهلة وأخطاء الاستجابة) نادرة جدًا ، وكقاعدة عامة ، تؤثر على أقل من 1٪ من الأقراص خلال يوم واحد من 100000 يوم من تشغيل القرص.

3.2. أخطاء شفافة


ليس من المستغرب أن إصلاحات الأخطاء هي أكثر أنواع الأخطاء الشفافة شيوعًا. تحتوي جميع محركات الأقراص تقريبًا على الأقل بعض الأخطاء القابلة للتصحيح التي تحدث خلال معظم أيام تشغيل القرص (61-90٪). تمت مناقشة الأخطاء التي يمكن تصحيحها بمزيد من التفاصيل ، بما في ذلك تحليل معدل الخطأ في البتات (RBER) ، في القسم 4 من هذه المقالة.

أنواع الأخطاء الشفافة الأكثر شيوعًا التالية هي أخطاء الكتابة والمحو. عادةً ما تحدث في 6-10٪ من محركات الأقراص ، ولكن بالنسبة لبعض الطرز ، تصل سواقات الأقراص الصلبة إلى 40-68٪. في معظم الحالات ، تحدث مثل هذه الأخطاء في أقل من 5 أيام من أصل 10000 يوم من التشغيل. وفقًا لبحثنا ، تشير أخطاء الكتابة والمحو إلى تلف الوحدة ، تتم مناقشة هذه المشكلة بالتفصيل في القسم 6.

الأخطاء التي تحدث أثناء عمليات القراءة أقل شيوعًا من الأخطاء الشفافة ، ربما لأنه ، إلى جانب تصحيح الأخطاء أثناء التنقل باستخدام ECC ، لا يتم حل هذه المشكلة عن طريق العمليات المتكررة. أخطاء القراءة غير المكتملة ، أي ، أخطاء القراءة التي يمكن تصحيحها عن طريق المحاولات المتكررة ، تحدث في أقل من 2 ٪ من محركات الأقراص وتستمر أقل من 2-8 أيام من 100،000 يوم من تشغيل القرص.

نتيجة لذلك ، بالإضافة إلى الأخطاء القابلة للتصحيح التي تحدث في عدد كبير من أيام تشغيل القرص ، تحدث الأخطاء الشفافة بشكل أقل تكرارًا مقارنة بجميع أنواع الأخطاء غير الشفافة. أكثر أنواع الأخطاء المعتمة شيوعًا هي الأخطاء غير القابلة للتصحيح التي تحدث خلال 2-6 أيام من 1000 يوم من تشغيل القرص.

4. معدل الخطأ بت (RBER)


المقياس القياسي لتقييم موثوقية محركات الأقراص المحمولة هو معدل الخطأ في البتات (RBER) للقرص ، والذي يتم تعريفه على أنه نسبة عدد البتات التالفة إلى عدد البتات المقروءة (بما في ذلك حالات الأخطاء القابلة للتصحيح وغير القابلة للتصحيح).

يوفر الجيل الثاني من محركات الأقراص (طرازي eMLC-A و eMLC-B) العدد الدقيق للبتات التالفة وبتات القراءة ، مما يسمح لنا بتحديد RBER بدقة عالية.
يُبلغ الجيل الأول من محركات الأقراص عن عدد وحدات البت التي تمت قراءتها بدقة ، ولكن لكل صفحة تتألف من 16 مجموعة بيانات ، يتم تقديم تقرير عن عدد وحدات البت التالفة فقط من كتلة البيانات التي تحتوي على أكبر عدد من وحدات البت التالفة. نتيجة لذلك ، في أسوأ حالة إحصائية ، عندما تحتوي جميع الكتل على أخطاء ويكون عدد هذه الأخطاء هو نفسه ، يمكن أن يكون معامل RBER أعلى 16 مرة من المعامل الذي تم الحصول عليه على أساس تقرير حالة القرص.

لا تهم هذه المشكلة كثيرًا أثناء إجراء مقارنة بين محركات الأقراص من نفس الجيل ، ولكن يجب أخذها في الاعتبار عند مقارنة محركات الأجيال المختلفة.


الجدول. 3. معدل الخطأ المركب RBER لنماذج SSD المختلفة.

4.1. مراجعة عالية المستوى RBER


يوضح الجدول 3 قيمة RBER المتوسطة لكل طراز محرك لجميع محركات هذا النموذج ، وكذلك النسبتين 95 و 99. قررنا العمل مع المتوسطات والنسب المئوية ، لأننا نجد أن المؤشرات المتوسطة منحازة للغاية بسبب العديد من القيم المميزة بشكل حاد ، مما يجعل من الصعب تحديد أي اتجاهات.

نلاحظ اختلافات كبيرة في RBER لطرز محركات مختلفة ، تتراوح من 5.8e-10 إلى أكثر من 3e-08 لمحركات الجيل الأول. تكون هذه الاختلافات أكبر عند النظر في قيمة RBER المتوسطة ، ولكن في المئة أو التاسعة والتسعين. على سبيل المثال ، تتراوح النسبة المئوية التاسعة والتسعين للقيمة RBER من 2.2e-08 لطراز SLC-B إلى 2.7e-05 لطراز MLC-D. توجد اختلافات كبيرة حتى داخل خط القيادة من نفس الطراز: يميل محرك RBER في النسبة المئوية 99 على الأقل إلى أن يكون حجمه أكبر من محرك RBER المتوسط ​​لنفس الطراز.

يمكن تفسير الفرق RBER بين النماذج جزئيا عن طريق الاختلافات في تكنولوجيا الفلاش الأساسية. قيمة RBER لطرز MLC أعلى من طرز SLC ، لذلك يأخذ السعر الأعلى لطرز SLC في الاعتبار قيمة RBER الأدنى. في القسم 5 من هذه المقالة ، سنرى كيف تترجم هذه الاختلافات إلى اختلافات في الأخطاء غير الشفافة المرئية للمستخدم.
تُبلغ طرز EMLC عن RBER ، وهي عدة أوامر أعلى من تلك الخاصة بنماذج محرك الأقراص الأخرى. حتى مع الأخذ في الاعتبار أن الجيل الأول من محركات الأقراص RBER يمكن أن يكون أعلى 16 مرة في أسوأ الحالات ، فإن الفرق الحالي في قيم المعامل هو ترتيب أكبر. نحن نفترض أن هناك عامل حجم ، لأن طرازي eMLC يشتملان على رقائق بها أدنى طباعة حجرية إلكترونية مقارنة بجميع طرز الأقراص الأخرى.

أخيرًا ، لا توجد شركات مصنّعة تتمتع منتجاتها بمزايا مقارنة بمنتجات الشركات المصنعة الأخرى. داخل مجموعة الأقراص SLC و eMLC ، ينتج البائع نفسه كلاً من أسوأ النماذج وأفضلها في المجموعة.
بشكل عام ، يختلف RBER بشكل كبير بين طرازات الأقراص ، وكذلك بين SDDs من نفس النموذج. , RBER.

4.2. RBER


RBER :

  • , Program/Erase (PE);
  • , . . , PE;
  • , , , , ;
  • .

RBER . RBER , . , , , , .

, , 1.


التين. 1. RBER , .

RBER , PE, , , RBER (UE) . -1 ( ) +1 ( ).

RBER (. X), . 95% .

, , , RBER, , . , , , .

4.2.1. RBER

- , RBER Program/Erase (PE). RBER PE 2 .


التين. 2. 95- RBER .

2 95- RBER . , PE, 95- RBER .

, , RBER PE , 95- RBER. , , . : , , .

, RBER , , RBER PE. , MLC RBER PE, , PE (3,000 MLC), 4- RBER.

, , RBER , (., , MLC-D PE = 3000). , RBER 3- PE, , , PE.



, . ? ? ادعمنا عن طريق تقديم طلب أو التوصية به لأصدقائك ، خصم 30 ٪ لمستخدمي Habr على تناظرية فريدة من خوادم الدخول التي اخترعناها لك: الحقيقة الكاملة حول VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1 جيجابت في الثانية من 20 $ أو كيفية تقسيم الخادم؟ ( RAID1 RAID10, 24 40GB DDR4).

Dell R730xd 2 ? 2 Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 $199 ! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — $99! . c Dell R730xd 5-2650 v4 9000 ?

Source: https://habr.com/ru/post/ar470019/


All Articles