إن الفكرة و المكونات وراء الـ (solid-state drives) SSDليست بجديدة على الإطلق بل أنه تم تصنيع SSDمنذ التسعينات, و لكن الجديد الآن أنه يتم حاليا تصنيعها على نطاق أكبر و تستهدف نسبة أكثر من المستخدمين، إذا لماذا الآن؟ كان ذلك بعد أن عرضت شركة أبل جهازها الكمبيوتر المحمول الصغير للغاية Apple Airو زودته بـ SSDكوسيلة تخزين و ذلك لأكبر ميزة له و هو صغر حجمه و كان هذا على حساب تكلفته العالية و من هنا انطلقت هوجة تصنيع الـ SSDبمساحات تناسب إستخدامها كوسيط أساسى لتخزين البيانات.
أولا و لكى نعرف الفارق الجديد فى SSDو كيف تختلف عن نظيرها الـ HDDيجب معرفة كيفية عمل و تكوين كل منهما:
ً
-تكوين الهارد ديسك:
يتكون الهارد ديسك من أقراص معدنيه ممغنطة ( (Plattersو رؤوس القراءة و موتور لتحريك الأقراص. يتم تقسيم وجهى كل قرص الى Sectorsلتكون هى وحدة التخزين الأساسية و تكون مساحتها 512 بايت لتخزين البيانات زائد عليها بيانات اخرى يستخدمها المتحكم فى الهارد ديسك لتحديد رقم الـ Sectorو للتأكد من سلامة البيانات و يترك مساحة كافية للفصل بين كل Sectorو آخر و لذلك الـ Sectorيخزن فعليا أكثر من 512 بايت.
ً
لكى نعرف كيف يعمل الهارد ديسك لقراءة Sectorمعين فلنفرض أنه يريد أن يصل من الـ 1 Sectorكما فى الصورة
الى 2 فإن الموتور يحرك الأقراص لكى تصل 2 تحت الرؤوس و فى نفس الوقت يجد المتحكم فى الهارد انه يجب تحريك الرؤوس فى الـ Trackالذى تقع فيه الـ Sectorو يتم القراءة من الرأس المناسبة.
هذا الوقت الذى يستغرقه الـ HDDللوصول لـ Sectorمعينة لقرائتها يسمى بالـ Latency Timeو يعتبر من أكبر
معوقات زيادة سرعة الهارد ديسك و ذلك لأنه يعتمد على حركة ميكانيكية و التى لن تصل الى سرعة المكونات الإلكترونية التى تستخدمه .
-الآن سوف نعرف تكوين الـ :SSD
كما هو واضح من الصورة فإن الـ NAND Memoryهى وسيط لتخزين الأساسى للـ SSDو لكن يمكن إستخدام الـ NOR Memory كذلك و لكن هناك فارق كبير بين تركيب الاثنين:
-فى الـ NORيتم توصبل كل وحدة تخزين على حدى الى المتحكم ( (Controllerو لذلك يتميز هذا النوع بسرعة القراءة والكتابة العشوائية فيفضل إستخدامه فى تخزين البرامج التى تحتاج إلى سرعة كبيرة فى الحصول على البيانات, و لكن هذه الطريقة فى التركيب يعيبها كثرة التوصيلات لكل خلية/وحدة تخزين مما يمنع إمكانية تكوين أحجام كبير مكثفة منها و إرتفاع تكلفتها و عدم صلاحيتها لتخزين حجم كبير من البيانات و كان هذا النوع المستخدم فى أوائل تصنيع ال.SSDs
- أما فى الـ NANDفإن الخلايا يتم توصيلها مع بعضها كل مجموعة بحجم محدد تسمى Pageو هى أصغر وحدة للبرمجة فى الـ NAND Flashو يساعد ذلك على زيادة القراءة المتعاقبة( (Sequential readingو قلة التوصيلات فيمكن صناعتها بكثافة عالية و قلة تكلفتها.
-الآن ندخل أعمق فى تكوين ال: NAND Flash
تتكون الوحدة من الـ من NAND Flashمجموعة من الـ Blocksحيث كل واحدة تتكون من مجموعة من الـ Pagesفوق بعضها و كل Pageتتكون من مجموعة من الخلايا. تكون مساحة الـ Blockفى الغالب 2112 بايت حيث يستخدم منها 2048 لتخزين البيانات و 64 بايت لبيانات مساعدة للمتحكم تماما مثل الـ HDDلمعالجة الأخطاء.
-الآن نتعرف على كيفية عمل الأوامر الأساسية على الذاكرة : NAND
عملية القراءة تتم على أساس قراءة الـ Pageكأصغر وحدة فيتم تحميل الـ Pageالتى يريد المستخدم قراءتها إلى الـ Data Registerو بعدها إرسالها.
عملية الكتابة مثل القراءة تتم بالـ Pageبعد أن يتم كتابنها فى الـ Data registerيتم تخزينها فى الـ Pageالمناسبة.
المسح هو من أكثرعيوب الـ NAND Flashحيث أنه يجب مسح Blockبأكمله.
-اذا الذاكرة تتكون من Blocks و الـ Blockيتكون من Pagesو الـ Pageتتكون من ، Cellsفما هى هذه الخلايا ؟
هذه الخلية ما هى إلا ترنزيستر : MOSFET With a Floating Gate
MOSFETهو شبه موصل يعمل كمفتاح إلكترونى .
النوع منه ذو الـ Floating Gateيمكنه تخزين شحنه فى الـ Floating Gateبحبس الإلكترونات به حتى بعد إنقطاع
مصدر الكهرباء، و لذلك يجعل الـ NAND Memoryذاكرة . Nonvolatile
من الخواص التى يجب معرفتها:
– Tunnelingو هو عندما تعبر إلكترونات عبر العازل الى/من الـ Pمن/الى الـ Floating Gateو هذا هو أساس عملية
المسح و الكتابة.
– : Threshold Voltageهو الجهد الذى إذا تم تطبيقه على الـ Gateيسمح للتيار للعبور من الـ Sourceالى الـ .Drain
الآن عند القراءة لمعرفة إذا كان هناك شحنة فى الـ ، Floating Gateفإنه يتم تطبيق جهد Threholdالمعروف إذا لم
يوجد شحنة فإذا عبر التيار إلى الـ Drainفأنه لا يوجد شحنة فى الـ Floating Gateأما إذا لم تمر فأنه توجد شحنه و ذلك لأن وجودها يزيد من الجهد اللازم لمرور التيار.
عند الكتابة يتم تحريك إلكترونات إلى الـ Floating gateمن الـ P-supو ذلك بتطبيق جهد كبير على الـ Gate(Vg) t
فتنتقل الشحنة و هذه هى ظاهرة ال.Tunneling
عند المسح يحدث العكس، يتم تطبيق شحنة على الـ P-supفتنتقل الإلكترونات إليها من الـ .Floating Gate
-الآن يمكننا التعرف على طريقة يمكننا بها زيادة كمية البيانات التى يمكنها أن تخزنها الخلية الواحدة:
عرفنا أن حسب الجهد على الـ Gateيمكن معرفة إذا كانت هناك شحنة على الـ Floating gateأم لا، فإذا وجدت شحنة تتغير الـ Treshold Voltageالتى يمر فيها التيار إلى الـ ,Drainفتكون بقيمة1 Vthبدل من الـ 0 Vthالأصلية الطبقة على الـ , Gateإذا استطعنا زيادة كمية الشحنة على الـ Floating gateيزيد الجهد الى 2 Vthهكذا 3 Vth.
يمكن الإستفادة من هذا إذا وفرنا مصادر طاقة ذات جهد مختلف , و عند الكتابة إذا أردنا كتابة 2 نزود الـ P-sup بمصدر جهد أعلى من الذى كنا نستخدمه سابقا فى الكتابة، فتكون شحنة الـ Floating gateأعلى و هكذا لكتابة 3.
ً
عند القراءة، يتم تزويد جهد على الـ Gateأعلى من 2 Vthإذا لم يمر تيار فإنه يوجد 3 و إذا مرت فيوجد شحنة أقل من 3 أو 0 فنقلل الجهد على الـ Gateحتى يمر تيار و بذلك يم تحديد المخزن حسب الـ Threshold Voltagesالمحددة.
تسمى هذه الطريقة : ( Multi-Level Cell(MLCو الصريقة التقليدية بـ ( Single-Level Cell(SLCيعيب الـ MLCالكثير من الأخطاء تحدث نتيجة تغير الشحنة لسبب ما من على الـ Floating gateو زيادة كمية التحليل على البيانات و لكنها تستخدم لزيادة كمية البيانات التى يمكن أن تستوعبها نفس الكمية من الخلايا, و لهذا فهى مناسبة للمستخدميين
العاديين أما للشركات فيفضل إسنخدام الـ .SLC
الآن و بعد معرفة كيفية عمل الـ SSDو تكوينه, نستطيع معرفة مميزاته عن الـ HDDو ذلك أنه لا يوجد Latency time
تقريبا فعملية القراءة تتم فى 2 نانو ثانية و الكتابة فى 2 ميلى ثانية بينما المسح فى 300 ميلى ثانية طبعًا هذه الإحصائيات مختلفة حسب نوع المصنع و ستقل إن شاء الله فى المستقبل، و رغم كل هذا إذا قرأت مقارنات بين ال HDDو ال SSDعلى الإنترنت ستجد أن ال HDDقد يتفوق فى أغلب الأحيان على مناظره , و لكن الـ HDDقديم نسبيا و لقى كمية كبيرة من التطوير التى جعلته بهذه المكانة و لكن أتوقع انه سوف يصل الى حد لا يستطيع زيادة سرعته, و ذلك كما ذكرنا لإعتماده على العمليات الميكانيكية, بينما ال SSDمازال جديدا فى السوق و سوف يحتاج الى الكثير من التطوير.
و أختم بنظرة مستقبلية لى من وجهة نظر مبرمج, فتخيل أن سرعة ال SSDتزيد فى السنيين القادمة لتجعلك تتجاهل الفارق ما بين سرعة الرام و وسيط التخزين الأساسى, فلا يوجد و قت لتحميل البيانات و تقل مشاكل قلة مساحة الرام بالنسبة للعمليات الكبيرة.