منتدى جلاكسو

متصل ZORRO

  • المشرفين
  • ******
  • المشاركات :11,335
  • عضويه: 9383
  • تاريخ التسجيل : 15/08/2007 » 02:00:pm
شرائح NAND كيف تعمل والفرق بين شرائح SLC, MLC و TLC NAND
 (شوهد 859 مرات)
« : 10/04/2017 » 08:07:pm »



استكمالاً للموضوع السابق تعرف على كل شىء عن الاهاردات وأنواعها نتعمق في أحد أهم مكونات أقراص SSD والسبب الرئيسي في كون اسعارها غالية وهو شرائح NAND.


كما رأينا فيما سبق أن مكونات قرص الSSD الداخلية هي لوحة مطبوعة PCB مُثبت عليها عده قطع وهي ذواكر NAND وأحياناً تكون موجوده علي كلا جانبي لوحة PCB ثم العقل المُدبر والمُنظم لأعمال شرائح الNAND وهو المُتحكم أو كما يسمونه Controller وهذه هي المكونات الأساسية التي لا غني عنها في أي قرص SSD.

مع كل مراجعة لأحد أقراص الحالة الصلبة قد نجد متحكم مختلف, لم لا وقد تعددت الشركات التي تتبني حتي تصنيع متحكماتها بنفسها ولكن للتذكرة فقط فهنالك متحكمات كثيرة شهيرة مثل Sandforce و Marvel و Indilinix وقد تقدم هذه المتحكمات وبمساعدة الFirmware الخاص بها بعض التحسن من قرص لأخر ومن فئة لأخري لكن يبقي العُنصر المؤثر فعلأ في أداء وسعر أي قرص SSD هو نوعية شرائح NAND الموجوده بداخلة.

وسأحاول تبسيط الأمر قدر الأمكان حتي نخرج جميعأً بمعلومة جديدة قد لا يهم المُشتري تفاصيلها.

شرائح NAND هي شرائح ذواكر لا تتطلب بقاء توصيلها بالكهرباء لتحتفظ بالبيانات عليها مثل ذواكر RAM في جهاز الجميع منا لكنها من نوعية non-volatile التي تظل محتفظة بالبيانات عليها حتي مع فصل الطاقة عنها, وتنقسم إلي ثلاث انواع هي TLC و MLC وأخيرا SLC وتأتي هذه الأختصارات لثلاث عبارات هي بالترتيب Triple Level Cell و Multi Level Cell وأخيراً Single Level Cell.


وبإختصار فإن أحد الفوارق بينها كما يظهر في الجدول السابق يكمُن في Density أو كثافة البيانات التي يمكن أن تحتويها كل نوعية منهم لكل خانة Bit\Cell.

ولمزيد من التوضيح فإن كمية البيانات التي يمكن أن تحتويها الخلية الواحدة في الشرائح من نوعية SLC في الخلية الواحدة 1Bit\Cell والثانية تقبل عدد 2Bit\Cell في فئة MLC وهنالك فئة تقبل تسجيل عدد 3Bit\Cell من البيانات في الخلية الواحدة وهي TLC.

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

والبت Bit هي المقياس الأولي للبيانات والبت يمكن أن تكون أحد احتمالين لا ثالث لهما جري العُرف علي تمثيلهما برقمي 0 و 1 وعليه الSLC Nand يمكن أن تحوي أحد إحتمالين فقط إما ال0 فقط أو ال1 فقط, أما شرائح MLC Nand يمكنها أن تحتوي علي 2بت أي انها يمكن أن تحوي أحد 4 إحتمالات للبيانات إما 00 أو 01 أو 10 أو 11 أما في ذواكر TLC Nand فيمكنها أن تحمل حتي 3 Bit أي يمكنها أن تحوي أحد ثمان إحتمالات 000-111-010-101-110-001-011-100. في عالم ذواكر NAND فإن قابلية إحتواء الشريحة علي بيانات أكثر/Cell يعني سعر أرخص.

والشكل القادم يوضح كيف أن قطعة 16GB من ذواكر تختلف في كم البيانات التي يمكن أن تحتويها تحت مظلة كل فئة من الثلاث السابق ذكرهم.


ولسان حال القارئ الأن ولماذا لا يتم تسجيل حتي مئات من الbits وليس bit واحد أو اثنين أو حتي ثلاث؟ طالما أن هذا يُخفض من سعر أهم قطعة مؤثرة في عملية تصنيع أقراص الSSD؟

والرد علي هذا السؤال البرئ 😀 هو أنه ولكي نفهم سبب صعوبة حدوث مثل هذا الأمر وكيف أن الانتقال من نقطة التعامل في عدد 2 Bit في خانة واحدة أكثر تعقيداً منه في حالة الBit الواحد فقط للخانة يجب أن نتعرف علي كيفية عمل هذه الشرائح عموماً وكيف يتم التعامل مع وحدة البيانات الأولية وهيBit, قد يكون أمراً مُعقداً لا يهم شريحة المُشترين الذين يكفيهم فارق السعر ليعرفوا عموماً أن الغالي في الثمن أفضل إتباعاً لنظرية “الغالي ثمنه فيه” لكني أُصر علي بيان طريقة عمل هذه الشرائح وكيف تستقبل البيانات وبأسلوب مُبسط قدر المُستطاع.

تعاني شرائح NAND عموماً مع إختلاف انواعها من مشكلة Wear أو التقادم او كما يسميها البعض عملية الأهتراء ما يعني في مجملة تعرض الشرائح للأستهلاك ما يترتب عليه هلاك الشريحة مع مرور الوقت بكثرة الأستخدام, ويحدث الأمر بسبب تكرار عملية المسح والكتابة علي خانة أو Cell معينة. ويقاس العمر الأفتراضي لشرائح NAND عن طريق حساب عدد عمليات الكتابة علي شريحة NAND ومحو ما هو مكتوب بها وستجد المواقع الأجنبية وشركات تصنيع الأقراص في صفحة بيانات القرص تعبر عنها بProgram-Erase Cycle وإختصاراً بـP/E cycles.

ولكن ماهي خطوات تنفيذ عمليتي P/E داخل شريحة NAND عموماً ؟


تتم برمجة الخانة إتباعاً للصورة السابقة من خلال منح نقطة Control Gate شحنة كهربائية في حين تكون الشحنة الكهربائية لكلاً من نقطتي Source و Drain تساوي 0V, هذه الشحنه تقوم بعمل مجال كهربي يتيح للألكترونات المرور إلي حاجز السيليكون المأكسد Silicon Oxide الموجود في قناة N-Channel متجهاً إلي نقطة Floating Gate هذه العملية تُسمي Tunneling Process أو عملية المرور النفقي.

اما عملية محو البيانات تتم من خلال منح نقطة P-Well شحنة كهربائية وجعل نقطة Control Gate ذات فولتية صفرية 0V وبهذا تمر الألكترونات إلي خارج حدود حاجز السيليكون المأكسد Silicon Oxide وبهذا تتم عملية التخلص من الألكترونات القديمة التي تمثل البيانات القديمة وهو الأمر الواجب الحدوث قبل تسجيل أي بيانات جديدة.

تتم عملية البرمجة تفصيلأً من خلال منح الخانة Cell شحنة كهربائية من أجل برمجة الخانات كما رأينا, ولكل عملية برمجة أو لكل إحتمال من الBite تحتاج الخانة لمستوي معين من الفولتية فمثلاً شرائح SLC تحتاج لمستويين فقط من الفولتية واحده مرتفعة لتسجيل “0″ وشحنة أقل لتسجيل “1″. ومع زيادة عدد الأحتمالات الخاصة بالبيانات تتعدد مستويات الفولتية المطلوبة ففي حالة شرائح MLC تحتاج إلي اربع مستويات مختلفة من الفولتية ومع حالة شرائح TLC نحتاج لضعف العدد من المستويات لتصل إلي8 كما نري بالصورة بالأعلي حيث نجد تفاصيل إحتياج كل حالة إلي الشحنة الكهربائية.

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


فمثلاً إذا افترضنا أنه مدي الفولتية لشريحة NAND ستكون من 0V حتي 14V فإنه في حالة شرائح SLC يكون المطلوب لبرمجة الخانة وكتابة البت “1″ سيكون المطلوب هو مستوي فولتية ما بين 4-5فولت ولتدوين “0″ بت سيكون المطلوب هو 9-10فولت في هذه الحالة فإن الفارق بين الحالتين سواء لتدوين 0 أو 1 سيكون 4V اما في حالة أننا قمنا بتطبيق المثال علي شرائح من نوعية MLC فسيكون الفارق بين كل حالة من حالات التدوين الأربع وبعملية حسابية يصل إلي 2V اما في حالة شرائح TLC سيكون الفارق بين الثمان حالات هو 0.67V.

تحدث عملية الأهتراء Wear الخاصة بالشرائح عن طريق تلف حاجز Silicon Oxide الذي يبلغ سُمكه 10نانوميتر الذي ومع مرور الوقت وكثرة عملية Tunneling Process يهتري وتعلق بداخله بعض الألكترونات الأمر الذي يتسبب في أيجاد شحنات سلبية تتسبب في طرد أو نفي بعض من فولتية Control Gate ما يتطلب شحنه أكبر لمعادلة تلك الشحنة السلبية وتحويلها إلي 0V المطلوبة لنقطة Control Gate لإتمام عملية المحو أو Erasing, ومع مرور الوقت تنحبس إليكترونات أكثر وتزداد الشحنة السلبية وتصبح عملية المحو أبطأ من ذي قبل بسبب الشحنة الكبيرة المطلوبة لمعادلة الشحنة السالبة الموجودة في Silicon Oxide بسبب اهترائها فيرتفع سقف الفولتية. الأمر الذي يجعل النظام يبدأ في عملية بحث دائمة عن الفولتية المناسبة لإتمام عملية المحو من خلال المجال المحدد له للقيام بعملية P\E لتسجيل أحد إحتمالات الBite الأمر الذي يسبب ضغط أكبر علي حواجز Silicon Oxide ما يؤدي في النهاية إلي عملية إهتراء أو Wear أسرع.

وبسبب تلك الشحنة الأكبر التي باتت مطلوبة أصبح المدي أو الفرق أو المسافة في الفولتية بين كل حالة من حالات تسجيل البيانات أمر هام جداً ليكون المجال الذي تبحث فيه الشريحة عن الفولتية المناسبة لإتمام عملية P\E. ولكن علي الجانب الأخر أصبحت عملية البرمجة أسرع بسبب وجود شحنة مخزنة مسبقاً في Control Gate وإن كانت لن تتم عملية البرمجة قبل أن تسبقها عملية المحو.

ولإسقاط الأمر علي شرائح NAND فمثلاً في حالة شرائح SLC لتسجيل 0 بت كنا نحتاج في مثالنا السابق إلي فولتية تتراوح ما بين 5:4فولت بعد عملية الأهتراء ستزيد ليكون المطلوب 6:4 فولت وينخفض الفارق بين كلا الحالتين سواء تسجيل 0بت أو 1بت التي كانت تطلب فولتية تتراوح ما بين 9-10 فولت بمقدار 1 فولت ويبقي الفارق بينهم 3فولت فقط والذي رغم قلته عما سبق لا يزال كبير وبهذا تظل عملية P\E تتم بسلاسة بدون تداخل لحالة ما لتسجيل البيانات علي الأخري.

الأمر الذي يصبح ممكناً أكثر في حالة شرائح MLC والتي تكون فيها الفوارق بين كل حالة لتسجيل عملية P\E اقل وكما ذكرنا كانت 2V فقط وتكون ممكنه الحدوث حتي أكثر وأكثر في حالة شرائح TLC نظراً لضيق الفوارق بين كل حالة تسجيل والأخري.

وبعد فتره من الأهتراء تأخذ عملية Erasing وقتاً طويلاً جداً لدرجة أنه تصبح هذه الخانة أو Cell غير صالحة ويتم تجنيبها لتستمر عملية استغلال بقية الخانات الأمر الذي يحدث أسرع كلما زادت إحتمالات تسجيل البيانات وعليه تكون شرائح TLC NAND الأسرع في عملية Wear وعليه يكون عدد عمليات P\E Cycles قليل إذا ما قورن بشرائح MLC NAND ونفس الأمر إذا ما قورنت الأخيرة بشرائح SLC NAND.

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

وللعلم فكل من يقرأ هذه المقالة من مالكي أقراص SSD فهو مالك وبكل تأكيد لقرص يحوي ذواكر NAND من فئة MLC. وعلي الرغم من أن الأقراص التي تحوي ذواكر TLC أقل من حيت في التكلفة من تلك التي تحوي ذواكر من نوعية MLC إلا أن فئة MLC اثبتت تواجدها بثبات أدائها عن فئة TLC.

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

لكن جاء هذا الأمر علي حساب أمرين هامين وهما سرعة الكتابة التي لطالما كانت أقل من سرعات القراءة وبشكل كبير قد لا تتخطي فيه سرعة 200MB\s في بعض اقراص التخزين, وكذلك كون كثافة البيانات التي تحتويها الCell الواحده تُعجل من عملية تلف الشرائح علي الرغم من أن العمر الأفتراضي في حد ذاته طويل إذا ما قورن بمتوسط عمر الأنسان العادي فمثلأً وصل عمر الشرائح الأفتراضي في قرص Adata XPG SX910 الذي سبق وراجعناه والذي يحتوي علي شرائح MLC NAND قرابة ال114 عام.

الأقراص التي تحتوي علي شرائح NAND من فئة SLC هي الأغلي سعراً والأفضل أداءً والأندر وجوداً في سوق المستهلكين. والسبب أن قلة كثافة البيانات في الCell الواحده تجعل من عملية التعامل مع البيانات أسرع وتجعل عمر الCell أطول أو يمكن القول انها تقبل عدد أكبر من program-erase cycles يصل إلي 100,000 دورة مقابل 10,000 دورة لشرائح MLC, كما تتميز الشرائح تلك بإستهلاك أقل للطافة من ذواكر فئة MLC.

وعليه فحين نريد أن نقسم فئات المستخدمين طبقاً لنوعية شرائح NAND فنجد الأقراص التي تحوي شرائح من فئة MLC تُعد الفئة التجارية والنسخة رخيصة السعر من اقراص SSD التي يمكن أن يحصل عليها أي مستخدم عادي, في حين أن اقراص الSSD الحاملة لشرائح SLC تُعد من فئة الأقراص التي يُنصح بها وبشده للشركات والمؤسسات التي وبالتأكيد يكون عمرها الأفتراضي أكبر كثيراً من متوسط عمر الفرد كما أن معدل الأستهلاك فيها أو number of program-erase cycles أعلي منه بالنسبة للمستخدم العادي كما أنها في حاجة لأقصي سرعة ممكن تمكنها من عمليتي حفظ وإسترجاع البيانات بسرعة.
وتتم عملية تنظيم العمل داخل شرائح NAND من خلال المتحكم الذي يحوي Firmware المخول بمهمة تقسيم الجهد بين الشرائح والخانات لمد فترة التشغيل لاقصي فترة ممكنه.


أما الأقراص التي تحوي شرائح TLC فهي قليلة نظراً لعمرها الافتراضي القصير ولانها تحتاج لعملية تطوير برمجية لFirmware ليقوم بعملية تنظيم تسجيل البيانات لقليل عملة الأهتراء وتوزيع الجهد بين الخانات. لكنها موجوده ولعل أبرز مثال عليها هو قرص SAMSUNG 840 و SAMSUNG 840EVO والذان يحملان شرائح TLC بداخلهما وتحديداً شرائح Samsung 21nm 3bpc TLC Toggle DDR 2.0 NAND وهي شرائح يمكنها لصمود حتي Program/Erase Cycles تتراوح ما بين 1000 – 3000 فقط بالمقاييس العادية المتعارف عليها, وللأسف سامسونج نفسها لم تعلن عن الرقم الرسمي من جانبها واكتفت بالثلاث سنوات الخاصة بالضمان وموقع anandtech حين اختبرها وجد ان القرص EVO 120GB يمكنه الصمود حتي 1128P\E فقط وبحسبة قام بها وجد ان القرص يمكنه الصمود لمده حوالي 8 سنوات فقط مقابل 114عام صرحت عنهم ADATA فيما يخص العمر الأفتراضي لشرائح قرصهم XPG SX910.

وبما أننا وصلنا لسلسلة أـقراص SAMSUNG 840 فهي خير مثال للمقارنة السعرية بين الأقراص التي تعمل بشرائح MLC NAND وأيضاً التي تعمل بشرائح TLC NAND وتلخيص المقارنة في الجدول التالي بين قرصي 840 و 840PRO.


فكما رأينا يصل سعر الجيجابايت الواحده في شرائح MLC في قرص 840PRO إلي 0.97$, اما قرص شرائح TLC في قرص 840 فيصل سعر الجيجابايت الوحدة فيها 0.72$ فقط وسنري قريباً عبر صفحات عرب أوفركلوكرز قرص SuperSSpeed الذي يحتوي علي شرائح SLC والتي يصل سعر الجيجابايت الواحده فيها إلي قرابة 2$.

ومن الفوارق السابقة في سعر الجيجابايت الواحده مع اختلاف شرائح NAND يمكن استنتاج ان الفارق بين MLC و TLC ليس بالكبير في السعر لكن كبير في الأداء وكذلك في فترة التشغيل, اما اقراص SLC فهي تستحق سعرها لما تقدمة من فارق عمر افتراضي يتخطي 10مرات شرلائح MLC.
سجل