لفترات طويلة واجهتنا مشاكل كثيرة بسبب حلول التخزين الميكانيكية التي وبدون سابق انظار تؤدي بك الى الهاوية (تفقد بياناتك) بسبب اصطدام بسيط او انقطاع مفاجئ للكهرباء ... ومع التقدم الكبير في التكنولوجيا استطعنا الحصول على ذواكر ذات حالة صلبة تعمل على شرائح تشبه في التكوين ذاكرة الوصول العشوائي (الرامات) واطلق عليها اقراص الحالة الصلبة SSD ... ولكن يوجد انواع متعددة من من اقراص الحالة الصلبة SSDs ولكل نوع مميزات مقابل سعره .... لذلك سنلقي الضوء على احد اهم خصائص SSDs وهي الذاكرة المؤقتة وسنقوم باستخدام وحدتي تخزين من شركة Adata الرائدة في تصنيع الذواكر سواء عشوائية (رامات) او وحدات تخزين الحالة الصلبة ... قبل الخوض في التفاصيل الدقيقة يجب علينا معرفة ان هناك 4 انواع من اقراص الحالة الصلبة للتخزين وهم SLC و MLC و TLC و QLC وباجاز شديد يمكننا توضيحهم بالاتي : SLC (Single Level Cell) : تمت تسميتها بذلك لانها تحتوي على BIT واحدة على كل خلية وتتميز هذه الشرائح بكونها الأكثر دقة عند قراءة البيانات و كتابتها و تتميز أيضا بكونها تحتوي على استمرار اطول دورة لكتابة او قراءة البيانات التي تتراوح بين 90.000 : 100.000 واطول فترة عمر ولكن للأسف لن نجده كثيرا في استخدامتنا اليومية وتستخدم فقط في المصانع و الشركات التي تستخدم خوادم كثيرة ويمكننا حصر مميزاتها في : 1-لديها أطول فترة قراءة وكتابة بين جميع الشرائح 2-أطول عمر افتراضي 3-اقل نسبة أخطاء في القراءة والكتابة بين جميع الشرائح 4- تتحمل درجات الحرارة العالية جدا و سلبياتها في : 1-اغلى نوع شرائح في السوق على الاطلاق بسبب تركيبها (BIT لكل خلية) 2-متوفرة بمساحات صغيرة جدا (جيجابايت او اكثر بشكل قليل ) MLC (Multi Level Cell): تم تسميتها بذلك لان كل خلية تقوم بتخزين اكثر من bit عليها (2 bit لكل خلية) و يتميز هذا النوع بانه منخفض التكلفة مقارنة ب SLC وتغطي جميع الاستخدامات اليومية للمستخدم العادي او الهاوي ولذلك فانها تحظى بشعبية كبيرة بين شركات تصنيع الهاردديسك و كما ذكرنا يفضل هذا النوع للمسخدم العادي ولكن فترة عمر قراءة وكتابة البيانات تقل بنسبة 10.000 لكل خلية مقارنة بشرائح SLC ويمكن حصر مميزاته في : 1-تكلفته المنخفضة 2-افضل من شرائح الTLC 3-يغطي كل ما يحتاجه المستخدم العادي و اللاعبين و حتى مستخدمي برامج الإنتاج والهندسة والاعمال الشاقة في المنزل او المكاتب الصغيرة 4-متوفر بمساحات جيدة للنظام و التخزين الغير مفرط سلبياته : ليس قوي وفعال و يتحمل كشرائح الSLC أي لا ينصح به لاستخدامات العمل الشاق في الشركات الكبيرة والمصانع TLC (Triple Level Cell) : تم تسميتها بذلك لان كل خلية تقوم بتخزين 3BITS عليها و يتميز هذا النوع بانخفاض سعره بشكل كبير ولكن عمره الافتراضي اقل مقارنة بmlc وفترة القراءة والكتابة اقل بكثير وهذا النوع من الشرائح موجه بشكل رئيسي للمستخدم العادي (تصفح – مشاهدة فيديو – تشغيل صوتيات – اعمال مكتبية) وآلات الويب / البريد الإلكتروني ، وأجهزة الكمبيوتر المحمولة ، والأجهزة اللوحية ودائرة القراءة والكتابة تصل بها الى 3000 لكل خلية مميزاته هي : سعره المنخفض ويصل الى 4 تيرا بايت عيوبه : لا ينصح به الا للمستهلك العادي و اللاعبين QLC (Quad Level Cell) : تم تسميته بذلك المسمى لانه يحتوى على 4 BITS من البيانات في كل خلية و ومن الجيد ان خلايا QLC تتكون من 64 طبقة مما يزيد من الوصول الى البيانات بشكل اسرع وتحليلها بشكل اكبر فهي تقوم بحزم البيانات داخل كل خلية بنسبة اكبر من TLC بمقدار 33% فهي بشكل او بأخر ستكون المناسبة جداً للتخزين اذا لم تكن من مستخدمي العمل المختلط بين القراءة والكتابة بانواع مختلفة من الاستخدامات وتصل دائرة القراءة والكتابة لها الى 1000 دورة لكل خلية ...

لقد تطرقت لتوضيح انواع الخلايا التي تتكون منها هاردات الحالة الصلبة كي اقوم بتسليط الضوء على النوع الاول الاسرع و الاغلى سعراً وهو SLC .....

بعد التعرف على انواع الخلايا يجب معرفة ان قرص الحالة الصلبة SSD يحتوي على متحكم يقوم بادارة الخلايا و البيانات ومعالجتها والصورة اعلاه تعرض لنا قطاع من احدى متحكمات وحدات تخزين الحالة الصلبة SSD الذي سنقوم باستقتطاف جزء بسيط منه ليكون محور حديثنا اليوم وهو ذاكرة التخزين المؤقت اما كما نطلق عليها ذاكرة الكاش Cache ...

ذاكرة التخزين المؤقت SLC Cache / Buffer :

بعد معرفتنا لأنواع الخلايا جميعنا يتمنى الحصول على وحدة تخزين SSD تحتوي على خلايا SLC ولكن نظراً لأرتفاع سعرها المفرط يصعب الحصول عليها لنا كلاعبين او صناع محتوى ونفس الشئ في وحدات MLC لذلك الكثير منا يذهب الى وحدات تخزين الحالة الصلبة المكونة من خلايا TLC ومع التطور الكبير في مجال تصنيع Nand Flash اصبح لدينا جيل جديد من وحدات SSD تحتوي على 64 طبقة اي عمر افتراضي اطول وتحمل فائق عن الجيل الاول من تلك الوحدات بل وان التطور الكبير وازن بين الاداء و السعر فيمكننا الان الحصول على وحدات SSD من نوع TLC بسرعة وحدات MLC عن طريق اضافة ذاكرة اضافية تعمل كذاكرة مؤقتة على وحدة التخزين من نوع SLC تعمل هذه التكنولوجيا عن طريق وضع ذاكرة تخزين مؤقت (كاش) من نوع SLC بالاضافة الى وجود DRAM رام (ذاكرة) تعمل كشريحة مخبئة مثبتة بالفعل على سطح وحدة التخزين .... والاثنين عندما يتم تفعيلهم معاً تصبح سرعة القراءة والكتابة كبيرة ..... جاء ذلك طبقاً لتكنولوجيا Wear leveling التي تقوم بتوزيع البيانات بشكل ذكي على الخلايا بحيث لا تستهلك جزء من الخلايا وتترك جزء اخر بدون استخدام الذي بدونه يقلل العمر الافتراضي لوحدة التخزين بسبب استهلاك جزء معين من الخلايا وترك الباقي بلا اي استخدام .... فبناءاً على تلك التكنولوجيا اتضح ان زيادة المساحة الخاصة بوحدة التخزين يترتب عليها زيادة في العمر الافتراضي لها نتيجة تقليل التأكل و التلف في الخلية الواحدة على حدى .... بالاضافة الى الاقبال الكبير على شراء وحدات تخزين الحالة الصلبة SSD من نوع TLC وبمقارنتها بسرعات وقدرة تحمل وحدات MLC و SLC فهي بطيئة و عمرها الافتراضي اقل لذلك قامت الشركات باضافة مساحة اضافية مخفية من نفس نوع خلايا وحدة التخزين TLC ولكن تعمل بنفس الية عمل خلايا SLC اي انها تقوم بحفظ 1 بت من البيانات على كل خلية موجودة بها بدلاً من حفظ 3 بت من البيانات على كل خلية .... وذاكرة الكاش او التخزين المؤقت او ذاكرة التخزين المخفية يتم فيها حفظ وتخزين العناوين والاماكن الخاصة بالملفات التي يستخدمها النظام بشكل مستمر وعند احتياج النظام لها يقوم باستدعائها مباشرة من ذاكرة الكاش بدون الحاجة الى اي عملية معالجة معقدة ..... نستطيع ان نرى مفعول ذلك الامر على وحدة تخزين Adata XPG SX8200 Pro ...  

خلاصة القول لمزايا ال SLC Caching مع DRAM :

  •  SLC CACHE لا يعني وجود خلايا من نوع SLC ولكن يعني ان هناك خلايا من نفس نوع خلايا وحدة التخزين TLC ولكن تعمل بالية عمل خلايا SLC ....
  • وضع ذاكرة خاصة بوحدة التخزين من نوع DRAM و ذاكرة تخزين مؤقت SLC CACHE يزيد من الاداء والعمر الافتراضي بشكل كبير جداً حيث تصل سرعة الكتابة الى 3000 ميجابايت في الثانية الواحدة وسرعة القراءة الى 3500 ميجابايت في الثانية الواحدة كما رأينا في وحدة تخزين ADATA SX 8200 Proفهي تصل الى نفس سرعة وحدات تخزين MLC بل ويتفوق على بعضها ......
  • استهلاك الطاقة يقل وايضاً درجة الحرارة ... لذلك نجد ان العمر الافتراضي المتوقع لحدوث خطأ ما لوحدة تخزين XPG SX 8200 Pro هي بعد 2 مليون ساعة عمل !!! 

عيوب SLC Caching مع DRAM :

عند امتلاء الذاكرة المؤقتة (الكاش) ينخفض اداء وحدة تخزين الحالة الصلبة SSD الى ان يتم تفريغها تلقائياً ...

ولكن وضع ذاكرة مخبئة و مؤقتة على سطح وحدة التخزين نفسه تكلف الكثير لذلك ظهرت لنا وسيلة اخرى من وسائل تحسين وحدات تخزين الحالة الصلبة القائمة على خلايا TLC الشائعة وهي HMB (Host Memory Buffer) :

عندما نريد اجراء عملية ما التي تتضمن القراءة والكتابة على وحدة التخزين يقوم المعالج المركزي (البروسيسور) بطلب عنوان ظاهري مخزن في ذاكرة الوصول العشوائي (الرامات) ثم تعود مرة اخرى الى المعالج بالمعلومات الذي يحتاجها ويرجع مرة اخرى المعالج المركزي لطلب العنوان الفعلي للملفات الذي يريد اجراء عليها عمليات المعالجة من الرامات مرة اخرى .... عملية طويلة معقدة نوعاً ما ويتم ذلك في جداول مفصلة وهمية او كما نقول Logical تسمى mapping tables وهي الخاصة بطلب العنوان الاول من الرامات ويسمى ايضاً TAG و عملية الطلب الثانية تكون فعلية خاصة بعناوين البيانات والملفات المتواجدة على وحدة التخزين وتكون Physical ..... الفكرة العامة للكاش هي الاحتفاظ بالعناوين التي توجد تستخدم بكثرة في الرامات لسرعة الوصول اليها و DRAM توجد بها العناوين الخاصة بوحدة التخزين نفسها الاكثر استخداماً .... في وحدات تخزين الحالة الصلبة SSD التي يوجد بها DRAM العناوين الخاصة بالملفات تكون مخزنة على وحدة التخزين نفسها على الشرائح فيسهل الوصول اليها بسرعة كبيرة ولكن وجود DRAM خاص بSSD مكلف جداً لذلك HMB قامت بالاستغناء عن DRAM الخاص بSSDs واستخدام مقدار صغير من ذاكرة النظام العشوائية (الرامات) لتحقيق نتائج مماثلة او متقاربة وبشكل عام لا يستهلك الكثير من حجم الرامات ف SSD الذي بحجم 512 جيجابايت يخصص 512 ميجابايت من الرامات وتزيد تلك المساحة (التخزين المؤقت) في الرامات بناءاً على كمية البيانات المخزنة على SSD نفسه ... ظهرت هذه التكنولوجيا لأول مرة مع ظهور بروتوكول NVMe الاصدار 1.2 ولم يكن من الممكن الوصول المباشر الى الذاكرة العشوائية الرامات بدون المرور على المعالج المركزي قبل ظهور هذا البروتوكول الينا .... بالرغم من ان الوصول الى ذاكرة الوصول العشوائي (الرامات) عن طريق منفذ PCI الخاص بوحدة التخزين للوصول الى العناوين الاكثر استخداماً ابطأ من الوصول الى تلك العنواين مباشرة عن طريق DRAM المثبتة على وحدة التخزين ولكنها بشكل او بأخر اسرع بكثير من وصول الخلايا نفسها الى هذه العناوين ويمكننا رؤية ذلك في وحدة التخزين SX6000 PRO من Adata ... نرى هنا سرعة القراءة وصلت الى 2100ميجابايت في الثانية و 1500 ميجابايت في الثانية لسرعة الكتابة ....

مزايا SLC Caching مع HMB :

  • تكلفة وحدات التخزين تقل 
  • حجم اقل واستهلاك طاقة اقل 
  • عمر افتراضي اكبر و اداء افضل بكثير 
  • لا يتطلب تفريغ مستمر ليعمل بكامل قوته فهو ديناميكي متغير 

عيوب SLC Caching مع HMB :

  • ما زال ابطأ من وحدات التخزين التي تمتلك DRAM مخصص مثبت عليها 
  • يتطلب وجود ذاكرة وصول عشوائي (رامات) معقولة الى حداً ما ليعمل بكامل قوته

في النهاية نرى ان ذاكرة التخزين المؤقت تؤثر بشكل كبير جداً على الاداء والعمر الافتراضي لاقراص الحالة الصلبة SSDs وتطويرها يتطلب الكثير من الوقت والمجهود للوصول الى ذلك الاداء مع العلم ان كل شركة من شركات تصنيع وحدات التخزين للحالة الصلبة SSDs تسعى جاهدةً الى تقديم افضل ما لديها لموازنة المعادلة الاشهر (سعر مقابل اداء) ولكن هنا شركة ADATA التي قامت بتقديم حلول فريدة للوصول الى اقصى اداء ممكن  واطول عمر افتراضي بافضل سعر قامت بتطوير نفسها في السنين القليلة الماضية ومنتجاتها فوحدة تخزين SX8200  Pro 265GB بسعر 64 دولاراً امريكياً ليكون افضل قرص تخزين للحالة الصلبة في تلك الفئة السعرية وايضاً قرصها SX6000 Pro 265GB بسعر 52 دولاراً امريكياً وهو الاخر الافضل في فئته .....