كيف تعمل أقراص SSD؟

هنا في 2007es.com ، غالبًا ما ناقشنا الفرق بين الأنواع المختلفة من هياكل NAND - NAND العمودي مقابل خلية مستوية أو متعددة المستويات (MLC) مقابلخلايا ثلاثية المستوى(TLC) و خلايا رباعية المستوى (QLC). الآن ، لنتحدث عن السؤال الأكثر أهمية: كيف تعمل محركات أقراص الحالة الثابتة في المقام الأول ، وكيف تقارن مع التقنيات الأحدث ، مثل تقنية التخزين غير المتطايرة من Intel ، Optane؟

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



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



منذ البداية ، كان من الواضح أن محركات الأقراص الثابتة لا يمكن أن تتطابق مع السرعات التي يمكن أن تعمل بها وحدات المعالجة المركزية. يتم قياس زمن الوصول في محركات الأقراص الثابتة بالمللي ثانية ، مقارنة بالنانو ثانية لوحدة المعالجة المركزية الخاصة بك. واحد مللي ثانية هو 1000000 نانوثانية ، وعادة ما يستغرق محرك الأقراص الثابتة 10-15 مللي ثانية للعثور على البيانات على محرك الأقراص والبدء في قراءتها. أدخلت صناعة محركات الأقراص الثابتة أطباق أصغر ، وذاكرة تخزين مؤقت على القرص ، وسرعات مغزل أسرع لمواجهة هذا الاتجاه ، ولكن لا يوجد سوى محركات الأقراص السريعة التي يمكنها الدوران. تعد عائلة VelociRaptor من Western Digital التي تبلغ 10000 لفة في الدقيقة أسرع مجموعة محركات تم إنشاؤها على الإطلاق للسوق الاستهلاكية ، في حين أن بعض محركات أقراص المؤسسات تدور بسرعة تصل إلى 15000 دورة في الدقيقة. تكمن المشكلة في أنه حتى أسرع محرك دوار مع أكبر ذاكرات التخزين المؤقت وأصغر الأطباق لا يزال بطيئًا بشكل مؤلم فيما يتعلق بوحدة المعالجة المركزية الخاصة بك.

كيف تختلف محركات أقراص الحالة الصلبة

'لو سألت الناس عما يريدون ، لقالوا خيول أسرع.' - هنري فورد



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

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

الصورة بواسطة Cyferz في ويكيبيديا، Creative Commons Attribution-Share Alike 3.0.

يوضح الرسم البياني أعلاه تصميم خلية فلاش بسيط. يتم تخزين الإلكترونات في البوابة العائمة ، والتي تُقرأ بعد ذلك على أنها مشحونة '0' أو '1' غير مشحونة. نعم ، في فلاش NAND ، يعني الرقم 0 أنه يتم تخزين البيانات في خلية - وهو عكس الطريقة التي نفكر بها عادةً في الصفر أو واحد. يتم تنظيم فلاش NAND في شبكة. يشار إلى تخطيط الشبكة بالكامل على أنه كتلة ، بينما تسمى الصفوف الفردية التي تتكون منها الشبكة بصفحة. أحجام الصفحات الشائعة هي 2K أو 4K أو 8K أو 16K ، مع 128 إلى 256 صفحة لكل كتلة. لذلك يتراوح حجم الكتلة عادةً بين 256 كيلوبايت و 4 ميجابايت.



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

SSD- الكمون

الصورة بواسطة CodeCapsule

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

هناك شيئان يجب ملاحظتهما في الرسم البياني أعلاه. أولاً ، لاحظ كيف أن إضافة المزيد من وحدات البت لكل خلية في NAND له تأثير كبير على أداء الذاكرة. إنه أسوأ بالنسبة للكتابة على عكس القراءة - وقت الاستجابة النموذجي للخلايا ثلاثية المستوى (TLC) أسوأ بمقدار 4 مرات مقارنة بخلايا المستوى الواحد (SLC) NAND للقراءات ، ولكنه أسوأ 6 مرات لعمليات الكتابة. تتأثر فترات استجابة المحو أيضًا بشكل كبير. التأثير ليس نسبيًا أيضًا - TLC NAND بطيئة تقريبًا مرتين مثل MLC NAND ، على الرغم من الاحتفاظ ببيانات أكثر بنسبة 50٪ فقط (ثلاثة بت لكل خلية ، بدلاً من اثنين). ينطبق هذا أيضًا على محركات QLC ، التي تخزن المزيد من البتات بمستويات جهد متفاوتة داخل نفس الخلية.

السبب وراء كون TLC NAND أبطأ من MLC أو SLC يتعلق بكيفية انتقال البيانات داخل وخارج خلية NAND. مع SLC NAND ، تحتاج وحدة التحكم فقط إلى معرفة ما إذا كانت البتة تساوي 0 أم 1. مع MLC NAND ، قد تحتوي الخلية على أربع قيم - 00 أو 01 أو 10 أو 11. مع TLC NAND ، يمكن أن تحتوي الخلية على ثماني قيم ، و QLC يحتوي على 16. تتطلب قراءة القيمة المناسبة خارج الخلية أن يستخدم جهاز التحكم في الذاكرة جهدًا دقيقًا للتأكد من شحن أي خلية معينة.

يقرأ ويكتب ويمحو

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

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

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

جمع القمامة

الصورة مجاملة من ويكيبيديا

لاحظ في هذا المثال ، أن محرك الأقراص قد استفاد من حقيقة أنه يمكنه الكتابة بسرعة كبيرة في الصفحات الفارغة عن طريق كتابة قيم جديدة للكتل الأربع الأولى (A’ D ’). كما تمت كتابة كتلتين جديدتين ، E و H. تم وضع علامة على الكتل A-D الآن على أنها قديمة ، مما يعني أنها تحتوي على معلومات حددها محرك الأقراص على أنها قديمة. خلال فترة الخمول ، سينقل SSD الصفحات الجديدة إلى كتلة جديدة ، ويمسح الكتلة القديمة ، ويضع علامة عليها كمساحة خالية. هذا يعني أنه في المرة التالية التي يحتاج فيها SSD إلى إجراء عملية كتابة ، يمكنه الكتابة مباشرة إلى Block X الفارغ الآن ، بدلاً من تنفيذ دورة البرنامج / المسح.

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

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

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

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

وحدة تحكم SSD

يجب أن يكون واضحًا الآن أن محركات أقراص الحالة الصلبة تتطلب آليات تحكم أكثر تعقيدًا مما تتطلبه محركات الأقراص الثابتة. هذا لا يخالف الوسائط المغناطيسية - أعتقد في الواقع أن محركات الأقراص الصلبة تستحق الاحترام أكثر مما تُمنح. التحديات الميكانيكية التي ينطوي عليها موازنة رؤوس القراءة والكتابة المتعددة النانومترية فوق الأطباق التي تدور بسرعة 5400 إلى 10000 دورة في الدقيقة ليست شيئًا للعطس. حقيقة أن محركات الأقراص الصلبة تؤدي هذا التحدي أثناء ريادتها لطرق جديدة للتسجيل على الوسائط المغناطيسية وفي نهاية المطاف بيع محركات الأقراص بسعر 3-5 سنتات لكل جيجابايت هي ببساطة أمر لا يصدق.

تحكم SSD

وحدة تحكم SSD نموذجية

SSD وحدات تحكم، ومع ذلك ، هم في الفصل بأنفسهم. غالبًا ما يكون لديهم تجمع ذاكرة DDR3 أو DDR4 للمساعدة في إدارة NAND نفسها. تشتمل العديد من محركات الأقراص أيضًا على ذاكرة تخزين مؤقت للخلايا أحادية المستوى تعمل كمخازن مؤقتة ، مما يزيد من أداء محرك الأقراص من خلال تخصيص دورات NAND السريعة لقراءة / كتابة الدورات. نظرًا لأن فلاش NAND في SSD متصل عادةً بوحدة التحكم من خلال سلسلة من قنوات الذاكرة المتوازية ، يمكنك التفكير في وحدة التحكم في محرك الأقراص على أنها تؤدي بعضًا من نفس أعمال موازنة التحميل مثل مجموعة تخزين متطورة - لا تفعل محركات الأقراص الثابتة SSD نشر RAID داخليًا ولكن تسوية التآكل وجمع القمامة وإدارة ذاكرة التخزين المؤقت SLC جميعها لها أوجه تشابه في عالم الحديد الكبير.

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

لسوء الحظ ، لا يمكننا الخوض في الكثير من التفاصيل حول وحدات تحكم SSD لأن الشركات تقفل مرقها السرية المتنوعة. يتم تحديد الكثير من أداء NAND flash بواسطة وحدة التحكم الأساسية ، ولا ترغب الشركات في رفع الغطاء بعيدًا عن كيفية قيامهم بما يفعلونه ، خشية أن يمنحوا منافسًا ميزة.

واجهات

في البداية ، استخدمت محركات أقراص الحالة الصلبة منافذ SATA ، تمامًا مثل محركات الأقراص الثابتة. في السنوات الأخيرة ، شهدنا تحولًا إلى محركات الأقراص M.2 - محركات أقراص رفيعة جدًا ، يبلغ طولها عدة بوصات ، والتي تدخل مباشرة في اللوحة الأم (أو ، في حالات قليلة ، في شريحة تركيب على بطاقة رفع PCIe. سامسونج يظهر محرك 970 EVO Plus أدناه.


تقدم محركات أقراص NVMe أداءً أعلى من محركات SATA التقليدية لأنها تدعم واجهة أسرع. محركات أقراص الحالة الصلبة التقليدية المرفقة عبر SATA أعلى سرعة تصل إلى 550 ميجابايت / ثانية من حيث سرعات القراءة / الكتابة العملية. تتميز محركات أقراص M.2 بالقدرة على أداء أسرع بكثير في نطاق 3.2 جيجابايت / ثانية.

الطريق للأمام

يوفر NAND flash تحسينًا هائلاً على محركات الأقراص الثابتة ، ولكنه لا يخلو من العيوب والتحديات الخاصة به. من المتوقع أن تستمر سعات محرك الأقراص وسعر الجيجابايت في الارتفاع والانخفاض على التوالي ، ولكن هناك فرصة ضئيلة لمحركات الأقراص الثابتة SSD في التقاط محركات الأقراص الثابتة بسعر الجيجابايت. يمثل تقلص عقد العملية تحديًا كبيرًا لفلاش NAND - بينما تتحسن معظم الأجهزة مع تقلص العقدة ، تصبح NAND أكثر هشاشة. تعد أوقات الاحتفاظ بالبيانات وأداء الكتابة أقل جوهريًا لـ 20 نانومتر NAND مقارنة بـ 40 نانومتر NAND ، حتى لو تم تحسين كثافة البيانات والسعة الإجمالية بشكل كبير. حتى الآن ، رأينا محركات أقراص بها ما يصل إلى 96 طبقة في السوق ، ويبدو أن 128 طبقة مقبولة في هذه المرحلة. بشكل عام ، ساعد التحول إلى 3D NAND في تحسين الكثافة دون تقليص عقد العملية أو الاعتماد على القياس المستوي.

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

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

برزت 3D XPoint من Intel (التي تم تسويقها باسم Intel Optane) كمنافس محتمل لفلاش NAND ، والتقنية البديلة الحالية الوحيدة في الإنتاج السائد. لا تستخدم أقراص Optane SSDs NAND - لقد تم تصميمها باستخدام ذاكرة غير متطايرة يُعتقد أنها تُنفَّذ على نحو مشابه لذاكرة الوصول العشوائي المتغيرة المرحلي - ولكنها تقدم أداءً تسلسليًا مشابهًا لمحركات أقراص NAND المحمولة الحالية ، ولكن مع أداء أفضل بكثير في قوائم انتظار محركات الأقراص المنخفضة. كما أن زمن انتقال محرك الأقراص هو أيضًا ما يقرب من نصف ذاكرة فلاش NAND (10 ميكروثانية ، مقابل 20) وقدرة تحمل أعلى إلى حد كبير (30 عملية كتابة كاملة لمحرك الأقراص يوميًا ، مقارنة بـ 10 عمليات كتابة لمحرك الأقراص بالكامل يوميًا لمحركات أقراص Intel SSD عالية الجودة).

Optane1

أهداف أداء Intel Optane

يتوفر Optane الآن في مجموعة متنوعة من التنسيقات ، بما في ذلك بطاقات توسيع الخادم ومحركات أقراص الحالة الصلبة الشخصية وكذاكرة تخزين مؤقت إضافية لتسريع محرك الأقراص الثابتة التقليدي. دفعت إنتل أيضًا Optane كشكل من أشكال ذاكرة متصلة مباشرة مع سعة أكبر بكثير من DRAM ، على حساب زمن الوصول العالي.

تحقق من سلسلة 2007es.com Explains الخاصة بنا للحصول على تغطية أكثر عمقًا لأهم الموضوعات التقنية اليوم.

Copyright © كل الحقوق محفوظة | 2007es.com