ذواكر مضمنة

مقدمة

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

أولاً: Process-Compatible Memories

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

ثانياً: Dedicated-Process Memories

هذا النوع من الذواكر يتطلب إضافة عمليات تصنيعية وملائمة لوضعه ضمن السياق المنطقي للنظام أي لا يمكن أن تدمج مباشرة معه.
لنأخذ مثال على ذلك الذواكر الديناميكية والذواكر الـ Flash Memory.
أ-DRAM :
لا تمتلك سرعة كبيرة لكنها ذات كثافة أعلى من الـ SRAM ولكن على الرغم من ذلك تصنف بين الكثافات المنخفضة إذ أن كل خلية تتألف من ترانزستور واحد ومكثفة.
ب-Flash Memory :
تتميز هذه الذواكر جنبا إلى جنب مع الـ ذاكرة الكمبيوتر eeprom بالسرعة العالية والكثافة المرتفعة إلا أنها غير متوافقة مع دارات الـ CMOS المستخدمة بشكل واسع في الأنظمة الإلكترونية الحديثة.
•إن الفرق الأساسي بين الـ EEPROM و Flash هو أن EEPROM يمكن التعامل مع كل خلية على حدا أما الـ Flash فانه يتم التعامل مع الـ Block ككتلة واحدة، ويتم التركيز على النوعين الأخيرين حاليا بسبب التخزين طويل الأمد.

1- الذواكر المجزئة (Partitioned Memories)

هي تقسيم الذاكرة إلى بلوكات ويتم تفعيل البلوك المطلوب فقط وبهذه الطريقة سينخفض التيار المطلوب لتغذية الخلايا والوصول إلى المعلومة مع الأخذ بعين الاعتبار محدودية عدد البلوكات لأن ذلك سيرهق البنية السلكية للدارة.

2- الذواكر الممتدة (Widened Memories)

يتم التعامل مع الكلمات الذاكرية ككتلة واحدة أي تتم قراءة وكتابة عدد من الكلمات دفعة واحدة بهذه الطريقة نكون قد خفضنا الطاقة الفعالة (أي الطاقة اللازمة للوصول إلى المعلومات).

الأداء والطاقة

Latency : يعبر عن الفترة الزمنية لانتقال المعلومات عبر الممرات أي هي فترة عطالة لا يمكن الاستفادة منها. وهذه الفترة يقابلها طاقة مصروفة لإيصال المعلومات لذلك فإن العمل على إنقاص Latency يعمل على إنقاص الطاقة أيضاً وكلاهما يحسنان من أداء الذاكرة ولكن يبرز لدينا هنا مشكلتان :
الأولى : هي أنه بالرغم من أن الطاقة والأداء يتحسنان مع زيادة حجم الذاكرة وعدد مستويات تقسيمها إلا أنهما لا يزيدان بنفس النسبة.
الثانية :هو أن أداء الذاكرة يتم تحسينه من خلال إزالة عنق الزجاجة الناتج عن الحسابات الحرجة "الحسابات الصغيرة التي تتكرر دائماً " لكن إزالة عنق الزجاجة له تأثير على بنية الذاكرة ككل أي بالنسبة لكل الولوجات وليس فقط الولوجات الحرجة.
وقد ذكرنا سابقاً عملية تقسيم الذواكر وما تؤدي إليه من تحسينات.
والآن سنورد آخر الطرق المتبعة في عملية تقسيم الذواكر.
1- تقسيم الذاكرة : يكافئ تحسين أدائها لأنه يقلل الlatency وذلك بسبب استخدام بلوكات أصغر مع احتمالية لتخفيض الطاقة في بعض الحالات.
تقسيم الذاكرة يكون على نوعين:
  1- تقسيم فيزيائي (مسبق) يتم تقسيمها إلى بلوكات ثابتة بعناوين ثابتة.
  2- تقسيم منطقي (مسبق) : يتم استخدام البلوكات ذاتها ولكن تحت عدة    احتمالات للولوج.
2- تحسين عرض الحزمة : (band width optimization)
band width : يعرف بأنه عرض الحزمة التي يتم نقل المعلومات عليها.
memory latency : التأخير الزمني لحين وصول المعلومات من المعالج إلى الذاكرة وبالتالي فيزيائياً تمثل طول الممرات الواصلة بين الذاكرة والمعالج، لذلك فإن التحسين الفيزيائي (التقسيم وزيادة levels)يؤدي طبعاً إلى تحسين في الlatency ولكن سيؤدي إلى انقاص bandwidth المتوافرة بسبب استهلاكها في العنونة.وقد تم العمل على تطوير عدة تقنيات للتحسين في كلا الاتجاهين.
إحدى هذه التقنيات تعتمد على ضغط المعلومات المنقولة بين مستويين وهذا الحل يطبق على كل من التعليمات والبيانات.
الضغط يتم بأخذ نموذج binary (النمذجة) لكل تعليمة ووضع جدول مقابل لتلك الرموز لاستخدامه لدى فك الضغط وإعادة البيانات إلى شكلها الأصلي.

التحديات والتطوير

أهم العوامل التي يعمل المصممين على تطويرها في أبحاث Embedded memory هي :
•الكثافة العالية (كانت عظمى بالنسبة لـDRAM)
•التخزين الدائم أو الثابت (Flash ،EEPROM)
•السرعة (الأفضل في الـSRAM)
•الوثوقية
•تخفيض التكلفة ،تطوير عمليات المعالجة.
وسنكتفي بذكر بعض هذه العوامل وما جرى عليها من تحديثات.

تحسين الكثافة Density Improvements

من المعلوم أن الكثافة العالية كانت محققة بالنسبة لـDRAM في حين أن تحقيق ذلك كان من مساوئ الـSRAM وللعمل على ذلك تم تصميم البنية 1T SRAM حيث يحتوي عنصر الخلية الواحدة على ترانزستور واحد ومكثفة MOS. 
وبما أن المكثفة تحتاج إنعاش فلقد تم تزويد هذه الذاكرة بـbuffer والذي هو عبارة عن عنصر ذاكرة 6T SRAM حيث تنسخ إليه محتوى الذاكرة 1T SRAM ويتم الولوج إليه لحين الانتهاء من إنعاش الذاكرة 1T SRAM ومع ذلك بقيت 1T SRAM ذات كثافة أقل من DRAM.

تحسين الذواكر الغير متطايرة (Nonvolatile memory investigation)

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