ذاكرة التخزين المؤقت
Flashcache هو مكون تخزين مؤقت للقرص في نواة لينكس ، طُوِّر في البداية بواسطة فيسبوك منذ أبريل 2010، وأُصدر كمصدر مفتوح في عام 2011. منذ يناير 2013، ظهرت نسخة معدلة من Flashcache تُسمى EnhanceIO ، طُوِّرت بواسطة شركة sTec. [ 1 ] منذ عام 2015، أصبحت هذه النسخة المعدلة غير مدعومة، ثم أُعيد تطويرها مرة أخرى وصيانتها من قِبل أفراد. [ 2 ]
تعمل تقنية Flashcache باستخدام ذاكرة الفلاش ، أو محرك أقراص فلاش USB ، أو بطاقة SD ، أو CompactFlash، أو أي نوع من أنظمة التخزين المحمولة التي تعمل بتقنية الفلاش كذاكرة تخزين مؤقتة دائمة قابلة للكتابة. كما يمكن استخدام محرك أقراص SSD داخلي لزيادة الأداء. [ 3 ]
ملخص
يُتيح استخدام ذاكرة الفلاش ( أجهزة ذاكرة NAND ) للتخزين المؤقت لنواة لينكس معالجة عمليات الإدخال/الإخراج العشوائية للقرص بأداء أفضل من عدم استخدام التخزين المؤقت. ينطبق هذا التخزين المؤقت على جميع محتويات القرص، وليس فقط ملف الترحيل أو ملفات النظام الثنائية. عادةً ما تكون الأجهزة القائمة على ذاكرة الفلاش أسرع بكثير من محركات الأقراص الصلبة التقليدية (HDD) في عمليات الإدخال/الإخراج العشوائية، ولكن بميزة أقل أو حتى أبطأ في عمليات القراءة/الكتابة المتسلسلة. افتراضيًا، يقوم برنامج flashcache بتخزين جميع عمليات الإدخال/الإخراج بحجم الكتلة الكامل، ولكن يمكن تهيئته لتخزين عمليات الإدخال/الإخراج العشوائية فقط مع تجاهل عمليات الإدخال/الإخراج المتسلسلة. [ 4 ]
توجد تقنية مماثلة في نظام التشغيل مايكروسوفت ويندوز باسم ReadyBoost منذ نظام التشغيل ويندوز فيستا .
تطبيق
تعتمد Flashcache على مُخطط الأجهزة في نواة لينكس . تتكون بنية بيانات ذاكرة التخزين المؤقت من جدول تجزئة ترابطي ، حيث تُقسّم ذاكرة التخزين المؤقت إلى عدد من المجموعات (الأكوام) ذات الأحجام الثابتة، باستخدام فحص خطي داخل المجموعة للعثور على الكتل. تقوم طبقة مُخطط الأجهزة بتقسيم جميع طلبات الإدخال/الإخراج إلى أجزاء بحجم الكتل قبل تمريرها إلى طبقة ذاكرة التخزين المؤقت.
عند حدوث طلب كتابة، يتم وضع علامة "متسخ" على كتلة ذاكرة التخزين المؤقت المقابلة؛ وتُكتب كتل ذاكرة التخزين المؤقت المتسخة إلى القرص بشكل تدريجي في الخلفية. توجد بعض المعلمات للتحكم في سياسة الكتابة : عتبة الاتسخ، وحالة الخمول، والتجاور مع كتل متسخة أخرى على وشك الكتابة.
القيود
هناك بعض القيود التي يفرضها تطبيق ذاكرة التخزين المؤقت الفلاشية:
- الذرية
- عمليات كتابة كتل ذاكرة التخزين المؤقت غير ذرية حاليًا.
- دعم TRIM
- لا يتم دعم أمر ATA TRIM لتحسين ذاكرة الفلاش حتى الآن.
- حماية مخبأ من التلوث
- يمكن وضع علامة على عملية ما بأنها غير قابلة للتخزين المؤقت لمنع flashcache من تخزين طلباتها مؤقتًا؛ ومع ذلك، إذا ماتت عملية وضعت علامة على نفسها بأنها غير قابلة للتخزين المؤقت، فلن يكون لدى flashcache أي طريقة للتنظيف.
- تنسيق
- أدى الاعتماد على مُحدد الأجهزة إلى مشاكل في أداء التخزين المؤقت، وعدم تخزين عمليات الكتابة التي لا تتجاوز مضاعفات 4 كيلوبايت. ويؤثر هذا بشكل أساسي على مُشرف Xen. لذا، تخلت EnhanceIO عن تكامل مُحدد الأجهزة، مما أدى إلى تحسين الأداء في حالات الاستخدام غير المُثلى.
- تأثير زمن استجابة القراءة الناتج عن الكتابة البديلة
- في وضع الكتابة المباشرة، تتجاوز جميع عمليات الكتابة ذاكرة التخزين المؤقت لضمان اتساق عالٍ. يقوم التطبيق الحالي بجلب عمليات القراءة من خلال وحدة SSD ثم إرسالها إلى القارئ الفعلي. هذا يعني أن الكتل غير المخزنة مؤقتًا سابقًا ستحتاج دائمًا إلى المرور عبر وحدة SSD أولًا، مما يتسبب في عمليات كتابة مستمرة. لا يمثل هذا مشكلة في وحدات SSD المخصصة للمؤسسات أو وحدات PCIe المتطورة مثل تلك التي تستخدمها فيسبوك، ولكنه يؤدي إلى انخفاض الأداء في وحدات SSD منخفضة الأداء.
- مرحلة تهيئة ذاكرة التخزين المؤقت للقراءة (الكتابة حول الكتابة)
- في وضع الكتابة المباشرة، لا يملك FlashCache أي معلومات لمقارنة عمر الصفحات المخزنة مؤقتًا مع الصفحات الموجودة على القرص. (1) لأن الجهاز قد يكون مثبتًا خارج نطاق FlashCache. (2) لأنه لا يتم تتبع أي عمليات كتابة في هذا الوضع. ينتج عن ذلك ذاكرة تخزين مؤقتة فارغة بعد كل تنشيط لوحدة التخزين (أي: إعادة التشغيل). سيتراجع الأداء حتى يتم تخزين جميع البيانات المستخدمة بكثافة مؤقتًا.
انظر أيضاً
- bcache
- ذاكرة التخزين المؤقت dm
- برنامج تسريع ذاكرة التخزين المؤقت (منتج من شركة إنتل)
مراجع
- ↑ EnhanceIO: تقنية تخزين مؤقت جديدة لمحركات الأقراص الصلبة لنظام لينكس
- ↑ EnhanceIO مفتوح المصدر لنظام لينكس
- ↑ "ذاكرة التخزين المؤقت الفلاشية | وثائق NetApp" . docs.netapp.com . تم الاطلاع عليه بتاريخ 10-10-2022 .
- ↑ موهان سرينيفاسان. "Flashcache : ذاكرة تخزين مؤقتة للكتابة المؤجلة لنظام لينكس" . جيت هاب .
روابط خارجية
- التخزين المؤقت في الحالة الصلبة
- البرامج المتعلقة بنواة لينكس
