TARIQ_ALKDR
الإدارة
- إنضم
- 2 يوليو 2009
- المشاركات
- 2,667
- مستوى التفاعل
- 0
الدليل التقني والعملي لأقراص الحالة الصلبة (Solid State Drives)
الدليل التقني والعملي لأقراص الحالة الصلبة (Solid State Drives)
أقراص الحالة الصلبة أو مشغلات الحالة الصلبة أو أقراص الحالة الثابتة، قد نكون اختلفنا على الاسم ولكننا لن نختلف ابدا على الأداء، انها مستقبل تخزين البيانات والوريث الشرعي للأقراص الصلبة التقليدية، فهي مسألة وقت حتى تحل هذه الأقراص محل الأقراص الصلبة وتكون هي السائدة
أقراص الحالة الثابتة هي أجهزة مثلها مثل الأقراص الصلبة التقليدية وظيفتها هي التخزين، فهي تحقظ الملفات والبرامج ولكنها تستخدم ذاكرة فلاش (Flash Memory) أو ذاكرة DRAM للتخزين بدلا من الأقراص المغناطيسية.
أقراص الحالة الثابتة تخزن البيانات الكترونيا وهي أسرع من الأقراص الصلبة المغناطيسية التقليدية لسببين:
· لا حاجة لتحويل البيانات من بيانات مغناطيسية الى بيانات الكترونية
· لا يوجد بها أجزاء ميكانيكية كما فى الأقراص الصلبة ولذلك لا يضيع وقت طويل لقراءة أو كتابة البيانات
أنواع الذاكرة المستخدمة في أقراص الحالة الثابتة:
أقراص الحالة الثابتة بذاكرة فلاش (Flash Drives)
وهي تستخدم ذاكرة فلاش (التي لا تفقد البيانات المخزنة عليها عند انقطاع الطاقة عنها) لتخزين المعلومات
نوع ذاكرة فلاش المستخدمة في هذه الأقراص هي NAND Flash ويوجد منها نوعان:
· أحادية (Single-Level Cell (SLC)) ويتم فيها تخزين 1 بت من البيانات لكل خلية واحدة ولذلك هي سريعة في القراءة و الكتابة كما ان التحكم بها أقل تعقيدا ولكن يعيبها ارتفاع سعرها لأننا في هذه الحالة سنحتاج كمية أكبر من هذه الذواكر
· متعددة (Multi-Level Cell(MLC)) ويتم تخزين 2 بت من البيانات أو أكثر لكل خلية واحدة ولذلك هي أبطأ في القراءة والكتابة كما ان التحكم بها أكثر تعقيدا وهذا النوع أرخص لأنه يتم تخزين كمية أكبر من البيانات لكل خلية ولذلك نحتاج الى كمية أقل من هذه الذواكر
أقراص الحالة الثابتة بذاكرة DRAM
وهي تستخدم ذاكرة DRAM لتخزين البيانات وهذه الذواكر تفقد جميع البيانات المخزنة عليها عند انقطاع الطاقة عنها ولذلك فان هذه الأقراص تستخدم مصدر للطاقة (بطاريات) بحيث عند انقطاع الطاقة عنها تقوم بحفظ جميع بياناتها على وحدة تخزين احتياطية وعند عودة الطاقة تسترد جميع بياناتها وتعمل من جديد
ما يميز هذه الأقراص هي السرعة الكبيرة للوصول الى البيانات
أكثر الأنواع انتشارا من أقراص الحالة الثابتة هي المعتمدة على ذاكرة فلاش وتتكون من
· ذاكرة فلاش لتخزين البيانات
· ذاكرة وسيطة وهي تقوم بتسريع نقل البيانات بين المتحكم و منفذ SATA
· المتحكم (Controller) وهو قلب أقراص الحالة الثابتة وعليه يتحدد سرعة هذه الأقراص يقوم المتحكم بتقسيم شرائح ذاكرة فلاش الى مجموعات او قنوات ويتعامل مع كل قناة بشكل منفصل
تأتي هذه الأقراص بأحجام مختلفة ولكن المنتشر هو 2.5 بوصة و 1.8 بوصة وهذه هي نفس الأحجام المنتشرة في أجهزة الحاسب المحمولة لأن معظم هذه الأقراص موجه اساسا لهذه الفئة وذلك لسببين: الأول أن أقراص الحالة الثابتة تستهلك طاقة أقل من الأقراص الصلبة و الثاني أنها أقل تأثرا بالصدمات لأنها لا تحتوي على أجزاء ميكانيكية
ويتم توصيل هذه الأقرص بالحاسب غالبا عن طريق وصلات SATA
كيف تعمل أقراص الحالة الثابتة؟
تتكون ذاكرة NAND Flash من ملايين من الخلايا وكل خلية ما هي الا نوع من أنواع الترانزوسورات يطلق عليه "الترانزوستور ذو البوابة العائمة" (Floating-Gate Transistor) ويتم تخزين البيانات داخل هذه الترنزوسترات
الترانزوستور ذو البوابة العائمة
يتكون من:
· بوابة التحكم (Control Gate)
· البوابة العائمة (Floating Gate) هذا هو الجزء من الترانزوستور الذى يتم فيه تخزين البتات (Bits) و هو مصنع من السيلكون او الجرامنيوم او الالمونيوم او مواد أخرى ويحيط به مادة عازلة من الأكسيد
· مادة عازلة من الاكسيد وجزء منها يشكل النفق الذي تعبر من خلاله الالكترونات
تتم الكتابة عن طريق تعريض البوابة العائمة لفرق جهد (فولت)، عند هذه الحالة سيخترق الالكترون المادة العازلة المحيطة بالبوابة العائمة عن طريق خلق قناة ليمر فيها ويستقر داخل البوابة العائمة وهذا يسمى بالحقن الجرفي (Fowler-Nordheim (F-N) Tunneling) وبما أن البوابة العائمة معزولة فسيتم الحفاظ على هذا الالكترون داخلها لفترات طويلة (10 سنوات عند 125 درجة مئوية)
ولكي يتم اخراج الالكترونات يتم تعريض القناة الى فولت مناسب عندها سيتم انتقال الالكترونات خارج البوابة العائمة
الفولت الناشئ عن وجود الالكترونات داخل الخلية يشكل الشفرة الثنائية التى تمثل البيانات المخزنة
في الذاكرة المتعددة (Multi-Level Cell(MLS)) التي يتم تخزين 2 بت من البيانات أو أكثر لكل خلية يجب حساب الفولت الناشئ عن وجود الالكترونات داخل الخلية لكل شحنة بشكل دقيق لتحديد مقدار الشحنات (وبالتالي البيانات) الموجودة بالبوابة العائمة
عملية القراءة من الخلية تتم بتعريضها لفولت معين (غالبا منخفض) من احد الاتجاهات ثم قياس شدة التيار من الجانب الاخر للخلية ولايترتب على هذه العملية اي دخول او خروج للالكترونات ولذلك فان عملية القراءة أسرع بكثير من عملية الكتابة
عند وجود الالكترونات داخل الترانزستور فان التيار لن يمر من خلاله وهذه هي الحالة "0" وعند ازالة الالكترونات يصبح الترانزستور موصل للتيار وهذه هي الحالة "1"
ملاحظة
هذه الترانزوستورات لها عدد مرات محدد من الكتابة واعادة الكتابة عليها (لأن المادة العازلة التي تحيط بالبوابة العائمة تضعف مع تزايد عدد مرات الكتابة (دخول وخروج الالكترونات) وبذلك تصبح غير قادرة على حفظ الالكترونات داخلها وبعدها تصبح غير صالحة للكتابة ولهذا العمر الافتراضي للذاكرة الأحادية (100.000 مرة كتابة او اعادة كتابة) اكبر من عمر الذاكرة المتعددة الكتابة (10.000 مرة كتابة او اعادة كتابة)
المتحكم (Controller)
المسؤول عن امداد فرق الجهد المناسب (وقراءته ثانية) لكي تتم عمليات القراءة والكتابة او مسح البيانات هو المتحكم (Controller) الموجود داخل القرص كما انه يقوم بتقسيم ذاكرة فلاش لأجزاء حتى يتعامل معها بسهولة وسرعة كما أنه المسؤول عن تنظيم عملية الكتابة واعادة الكتابة على القرص
جودة تصميم المتحكم يؤثر بشكل كبير على سرعة القرص وكذلك على العمر الافتراضي للقرص
أشهر مصنعي هذه المتحكمات Indilinx, Intel, Samsung, JMicron واللاعب الجديد Toshiba
الكتابة المتعددة وفقد البيانات
يتم تقسيم خلايا ذاكرة فلاش الى صفحات (Pages) والصفحة هي أصغر جزء يتم الكتابة عليها أوالقراءة منها وحجم هذه الصفحة في معظم الأقراص المعتمدة على الخلايا المتعددة الطبقات 4 كيلوبايت
كل مجموعة من الصفحات تتجمع لتشكل وحدة (Block) و تتكون الوحدة غالبا من 128 صفحة (128 * 4 = 512 كيلوبايت = 0.5 ميجابايت) والوحدة هي أصغر جزء يتم حذفه ،
لذلك في أقراص الحالة الثابتة يتم كتابة 4 كيلوبايت في المرة الواحدة ولكن يتم المسح بحجم 512 كيلو بايت في المرة الواحدة. أي انك اذا أردت ان تعيد كتابة 4 كيلوبايت على وحدة ممتلئة فلابد من مسح واعادة كتابة 512 كيلوبايت.
ذكرت سابقا أن خلايا ذاكرة فلاش لها عدد مرات محدد من الكتابة واعادة الكتابة عليها (عمر الذاكرة الأحادية (SLC) هو 100.000 مرة كتابة او اعادة كتابة و عمر الذاكرة المتعددة الكتابة (MLC) هو 10.000 مرة كتابة او اعادة كتابة) ولذلك وجب مراعاة طريقة وميعاد حذف واعادة الكتابة لكل خلية.
فعند الكتابة يقوم القرص بالبحث عن اقرب مكان فارغ ليحفظ عليه المعلومات ولا يقوم ابدا بمسح اي شئ (حتى لا يستهلك الخلايا) الا في حالة امتلاء القرص عن اخره
عندما يقوم المستخدم بحذف ملف ما لا يتم الحذف فعليا ولكن الحذف يتم فقط عند الحاجة الى اعادة الكتابة في نفس المكان (غالبا عند امتلاء القرص)
عند امتلاء القرص تبدأ عملية اعادة الكتابة وهي عملية بطيئة لانه قبل الكتابة يجب عليه مسح البيانات فعليا ثم الكتابة مرة اخرى (وتذكر انه في أقراص الحالة الثابتة يتم كتابة 4 كيلوبايت في المرة الواحدة ولكن يتم المسح بحجم 512 كيلو بايت في المرة الواحدة) وهذه العملية تؤدي الى بطء في التعامل مع القرص عند امتلاءه فعندما تريد مثلا ان تكتب 16 كيلوبايت الى وحدة (Block) ممتلئة فانه يتم نسخ بيانات كل الوحدة 512 كيلوبايت الى الذاكرة لقراءتها ثم استبدال 16 كيلوبايت منها بالبيانات الجديدة ثم حذف جميع محتويات الوحدة 512 كيلوبايت ثم اعادة كتابة محتويات الوحدة 512 كيلوبايت ثانية بال 16 كيلوبايت الجديدة ولك أن تتخيل بطء هذه العملية مقارنة بالقراءة مثلا او الكتابة على وحدة فارغة
هذا ما حدث للأجيال الأولى من هذه الأقراص فبعد فترة من استخدامها وعند امتلائها أصبحت هذه الأقراص بطيئة ولكن تم معالجة هذه المشكلة لاحقا ...تابع معي
ولذلك فان معدل الكتابة الذي يقوم بها القرص فعليا غالبا أعلى من معدل الكتابة الذي يقوم المستخدم العادي للقرص بكتابته وهذا يسمى معدل تضخم الكتابة (write amplification) في المثال السابق قام المستخدم بكتابة 16 كيلوبايت ولكن القرص قام فعليا بكتابة 512 كيلوبايت اي بمعدل 32 مرة اكبر من المطلوب (512/16 = 32) كلما كان هذا المعدل أقل كلما زاد عمر القرص الافتراضي
خفض معدل تلف خلايا الذاكرة (Wear Leveling)
متحكم القرص يقوم بتوزيع عمليات الحذف واعادة الكتابة بشكل عادل ومنظم على جميع الوحدات (Blocks) حتى يحافظ عليها لأطول فترة ممكنة كما أنه يتفادى الكتابة على الخلايا الميتة وهذا ما يطلق عليه "خفض معدل تلف خلايا الذاكرة" (wear leveling)
بفضل تطور متحكمات أقراص الحالة الصلبة المستمر أصبحت عملية توزيع الكتابة على القرص أفضل كثيرا من السابق وانعكس ذلك على عمر هذه الأقراص بالايجاب
الأجيال الأولى من هذه الأقراص لم تكن تقوم بتوزيع عمليات الكتابة والمسح بشكل جيد مما أدي الى تقليل العمر الافتراضي لها كثيرا، كما أدى الى تلف أجزاء كبيرة منها بسرعة كبيرة قبل الأجزاء الاخرى
اذا، ما هو العمر الافتراضي لهذه الأقراص؟
الخلايا أحادية الطبقة تخزن 1 بت والممكن مسحها 100000 مرة أما الخلية المتعددة الطبقات التي تخزن 2 بت من الممكن مسحها 10000 مرة وبعد ذلك تصبح هذه الخلايا غير قابلة للكتابة مرة أخرى
حساب عمر هذه الأقراص هي عملية معقدة وتعتمد على عوامل كثيرة منها جودة المتحكم، معدل تضخم الكتابة، معدل تلف خلايا الذاكرة، معدل كمية البيانات التي يقوم المستخدم بكتابتها وغيرها فمثلا شركة انتل تعطي أقراصها 1.2 مليون ساعة قبل ان يتلف وتقدرها بحوالي 5 سنوات وبمعدل كتابة قدره حوالي 100 جيجابايت يوميا وهو عمر جيد جدا
بعد انتهاء العمر الافتراضي لهذه الأقراص ستصبح هذه الأقراص للقراءة فقط ولن تستطيع الكتابة عليها ثانية ولكن الخبر السار ان البيانات المخزنة عليها لن تضيع ومن الممكن استرجاعها بسهولة
المساحة الفارغة (Spare Area)
قبل دعم الأقراص للأمر TRIM كانت النصيحة بترك مساحة فارغة على هذه الأقراص تعادل من 10% الى 20% من مساحة القرص الفعلية حتى لا يحدث بطء في الكتابة عند امتلاء القرص بالبيانات وفي نفس الوقت تحتوي معظم الأقراص على مساحة فارغة غير مرئية للمستخدم أو لنظام التشغيل، يستخدمها القرص عند امتلاءه للكتابة حتى لا يحدث تراجع في الأداء فكلما زادت هذه المساحة زاد أداء هذه الأقراص
اذا، كيف تغلب المصنعون على بطء الكتابة عند امتلاء القرص، الاجابة هي الأمر TRIM و Garbage Collection
الأمر TRIM
كثرة الكتابة على أقراص الحالة الصلبة يستهلكها ويقلل من عمرها الافتراضي
فعند الكتابة يقوم القرص بالبحث عن اقرب مكان فارغ ليحفظ عليه المعلومات ولا يقوم ابدا بمسح اي شئ (حتى لا يستهلك الخلايا) الا في حالة امتلاء القرص عن اخره. عندما يقوم المستخدم بحذف ملف ما لا يتم الحذف فعليا ولكن الحذف يتم فقط عند الحاجة الى اعادة الكتابة في نفس المكان (غالبا عند امتلاء القرص)
عند امتلاء القرص تبدأ عملية اعادة الكتابة وهي عملية بطيئة لانه قبل الكتابة يجب عليه مسح البيانات فعليا ثم الكتابة مرة اخرى
ولذلك جاء الأمر TRIM، فعندما يقوم المستخدم بحذف أي شيء يقوم نظام التشغيل بارسال الامر TRIM الى القرص بأن هذه البيانات جاهزة للمسح فعليا وعندها ينظم القرص نفسه لحذف هذه البيانات فعليا في الوقت المناسب ولذلك سيوجد دائما مكان فارغ ليتم الكتابة عليه ولا داعي للمسح ثم الكتابة.
هذا الأمر يسرع من أداء هذه الاقراص بشكل كبير خصوصا عند امتلاءها ولكن عملية حذف البيانات قد تصبح بطيئة الى حد ما كما انه لا يمكن استرجاع البيانات المحذوفة
هذا الأمر (TRIM) يجب ان يكون مدعوم من نظام النشغيل (ويندوز 7 يدعمه) ومن القرص نفسه
أنظمة التشغيل التي تدعم الأمر TRIM هي Windows 7 و Windows Server 2008 R2 و Linux Kernel 2.6.33
Garbage Collection
ما يتم هنا هو محاولة خلق مساحة فارغة عن طريق مسح البيانات فعليا والتي قام المستخدم بمسحها وتتم هذه العملية تلقائيا عندما يكون القرص في حالة خمول اي لا يقرأ ولا يكتب، بعض المتحكمات تتضمن هذه الخاصية بالاضافة لدعم الأمر TRIM والبعض الأخر لا يدعمها
تحدثنا عن المواصفات التقنية لهذه الأقراص وكيف استطاع الأمر TRIM أن يحسن أداء هذه الأقراص فلنتحدث الان عن أداء هذه الأقراص الفعلي
سيشعر مستخدم هذه الأقراص بتحسن كبير في زمن اقلاع الويندوز وكذلك سرعة تحميل البرامج التي قد تصبح لحظية!! وفي الألعاب سيتم تحميل المراحل والخرائط مثلا بسرعة كبيرة جدا وبوجه عام سيشعر مستخدم هذه الأقراص بتحسن في الأداء بنسبة تقترب من 50%
هذه الأقراص الهادئة (لا وجود لأجزاء متحركة)، المقاومة للصدمات، ذات استهلاك الطاقة المنخفض، مع هذا الأداء المرتفع، جعلها الاختيار الأمثل لأجهزة الحاسب المحمولة وجعل أكثر مستخدمي هذه الأجهزة يقوموا باستبدال أقراصهم الصلبة التقليدية بواحدة من هذه الأقراص الجديدة
أهم عيوب هذه الأقراص هو السعر المرتفع..
نظرة على أداء بعض أقراص الحالة الصلبة
مصطلحات:
القراءة والكتابة المتتابعة (Sequential Read/Write)
يتكون القرص من مجموعة من القطاعات (القرص الصلب) أو الصفحات (قرص الحالة الصلبة) المتراصة التي يتم تخزين البيانات عليها
القراءة والكتابة المتتابعة تعني قراءة أو كتابة البيانات من القطاعات أو الصفحات بالتتابع وبالترتيب وبما ان هذه القطاعات أو الصفحات متجاورة فان هذا هو أعلى معدل قراءة أو كتابة يقوم به القرص
أهم الأماكن التي يظهر فيها تأثير القراءة المتتابعة هي عملية اقلاع الويندوز، بدء تشغيل البرامج، بدء تشغيل الألعاب وتحميل المستويات والخرائط داخلها
القراءة والكتابة العشوائية (Random Read/Write)
وهي عكس القراءة والكتابة المتتابعة حيث أنها تتم بشكل عشوائي من قطاعات أو صفحات غير متجاورة، الأقراص الصلبة التقليدية يتأثر أداءها كثيرا أثناء الكتابة العشوائة لأنها تعتمد على مكونات ميكانيكية (موتور و رأس للقراءة والكتابة) للوصول للبيانات على القرص، أما أقراص الحالة الصلبة فلا يوجد بها أي أجزاء ميكانيكية فالوصول الى البيانات المخزنة سريع جدا، هذا يقودنا الى مصطلح اخر وهو زمن الوصول
القراءة والكتابة داخل الويندوز أغلبها عشوائية ولذلك فان هذه المعدلات مهمة عند اختيار القرص، كما ان أغلب بيانات المستخدم للحاسب تكون مخزنة بشكل عشوائي على القرص (ولذلك فان عملية الغاء التجزئة للقرص الصلب التقليدي مهمة جدا، وليست ذات قيمة (بل مضرة) بالنسبة لأقراص الحالة الصلبة)
زمن الوصول (Access Time)
وهو الزمن الذي يستغرقه الحاسب بداية من معالجة البيانات في المعالج وحتى استخراج البيانات المطلوبة من القرص وكما ذكرت، أقراص الحالة الصلبة لا يوجد بها أي أجزاء ميكانيكية ولذلك الوصول الى البيانات المخزنة سريع جدا، ويتم قياس هذا الزمن بالميلي ثانية وكلما كان أقل كلما كان أفضل
أولا القراءة والكتابة المتتابعة (Sequential Read/Write)
هنا هذه الأقراص تتراوح سرعتها المتتابعة ما بين 185 و 260 ميجابايت بالثانيةماعدا بعض أقراص من Kingston V Series لانها بمتحكم قديم ومن هنا نستنتج ان للمتحكم دور كبير لتحديد سرعة هذه الأقراص وكلما كان أحدث كان القرص أسرع
سرعة الكتابة على هذه الأقراص دائما أقل من من سرعة القراءة وتتراوح هنا بين 61 و حتى 193 ميجابايت بالثانية، هذا التفاوت يجعل من الاطلاع على مراجعات الأداء لهذه الأقراص قبل الشراء أمرا مهما جدا
ثانيا القراءة والكتابة العشوائية (Random Read/Write)
بعكس الأقراص الصلبة التقليدية التي يتأثر أدائها عند القراءة أو الكتابة العشوائية تقدم أقراص الحالة الصلبة أداء مميز يقارب كثيرا أدائها عند القراءة أو الكتابة المتتابعة
ثالثا زمن الوصول (Access Time)
تقدم أقراص الحالة الصلبة بوجه عام زمن وصول منخفض جدا يقترب من الصفر، وكما تلاحظون فالمتحكم الأحدث والأكثر تطورا هو الأفضل، مثال له، المتحكم الموجود بأقراص انتل
رابعا الأداء مع الاستخدام المكثف
ليست كل المتحكمات مصممة للعمل تحت الضغط الشديد عند مثلا العمل كقرص أساسي لخادم (Server Load)، وهذا لا يقلل من كفاءة بقية الأقراص ولكنه يدل على أن بعضها يصلح للأستخدام المكتبي العادي والبعض يصلح للاستخدام المكثف
خامسا استهلاك الطاقة
ماذا نستنتج من المقارانات السابقة
· هذه الأقراص تقدم أداءا مميزا جدا يفوق أداء الأقراص الصلبة بمراحل
· هناك تفاوت ملحوظ في الأداء بين هذه الأقراص يجعل من الصعب الحكم على هذه الأقراص بمجرد النظر الى البيانات التي يضعها المصنع
· التفاوت يصل حتى استهلاك الطاقة، ولذلك يجب اختيار هذه الأقراص للأجهزة المحمولة بحكمة، فالقرص صاحب الأداء المميز جدا Intel X25-M G2 160 GB هو من أعلى الأقراص المختبرة استهلاكا للطاقة !!
· الأقراص التي تعتمد على متحكم قديم غالبا تقدم أداءا منخفضا والأسواء انها قد لا تدعم الأمر TRIM
النقاط الواجب مراعتها عند الشراء
أقراص الحالة الثابتة مازالت في مراحلها الأولى وتحتاج الى مزيد من الوقت لاثبات انها جديرة باحتلال عرش وسائط التخزين، فمتحكمات هذه الأقراص والتي هي العقل المدبر لهذه الاقراص تشهد كل يوم تقدم كبير من حيث الأداء والموثوقية، كما أن ذاكرة فلاش هي الاخرى يطرأ عليها تحسينات بشكل مستمر
لكل الأسباب السابقة لا يجب شراء هذه الأقراص بالاعتماد فقط على خصائصها التي تحددها الشركة المصنعة ولكن أيضا بالاطلاع على اختبارات الأداء التي تقوم بها المواقع المتخصصة
· مساحة القرص: اختر المناسب بالنسبة للسعر
· حجم القرص: 1.8 بوصة او 2.5 بوصة او أكبر
· سرعة القراءة والكتابة المتتابعة: السرعة الأكبر هي الأفضل
· زمن الوصول للقراءة والكتابة: الزمن الأقل هو الأفضل
· الذاكرة الوسيطة: الأكبر هي الأفضل
· طريقة التوصيل بالحاسب: SATA I٫II٫III
· العمر الافتراضي: الأكبر هو الأفضل
· الضمان: أحد أدلة جودة القرص
· استهلاك الطاقة: مهم للأجهزة المحمولة والأقل هو الأفضل
· دعم الأمر TRIM: لابد من دعمه
· نوع متحكم القرص: الحكم من خلال الأداء
منقول من عرب هاردوير للفائدة
التعديل الأخير: