نظام ملفات ذاكرة وميضية

فئة من أنظمة الملفات المصممة للتشغيل على ذاكرة وميضية

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

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

نظرة عامة عدل

يمكن لطبقة جهاز كتلي أن تحاكي محرك أقراص بحيث يمكن استخدام نظام ملفات للأغراض العامة على جهاز تخزين وميضي، لكن هذا يعد دون المستوى الأمثل لعدة أسباب:

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

تحتوي نظم الملفات ذات السجل المنطقي على جميع الخصائص المطلوبة لنظام ملفات الذاكرة.[1] والتي تتضمن نظام الملفات JFFS2 و YAFFS.

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

من الناحية العملية، يتم استخدام نظام ملفات الفلاش فقط لأجهزة ذاكرة التقنية (MTDs)، وهي عبارة عن ذاكرة فلاش مدمجة لا تحتوي على وحدة تحكم. تحتوي بطاقات الذاكرة المحمولة القابلة للإزالة ومحركات أقراص USB المحمولة على وحدات تحكم مدمجة لإدارة MTD باستخدام خوارزميات مخصصة، [2][3] مثل تسوية التآكل واسترداد الكتل السيئة واسترداد الطاقة المفقودة وجمع النفايات وتصحيح الأخطاء، لذلك استخدام نظام ملف الذاكرة له فائدة محدودة.

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

أنظمة ملفات الذاكرة للينكس عدل

JFFS و JFFS2 و YAFFS
كان JFFS أول نظام ملفات خاص بالذاكرة الوميضية لنظام لينكس، ولكن حل محله بسرعة JFFS2، الذي تم تطويره في الأصل لـ NOR flash. ثم تم إصدار YAFFS في عام 2002، ويتعامل بشكل خاص مع الذاكرة الوميضية، وتم تحديث JFFS2 لدعم الذاكرة الوميضية أيضًا.
UBIFS
تم دمج UBIFS منذ إصدار لينكس 2.6.22 [4] في عام 2008. تم تطوير UBIFS بنشاط منذ الدمج الأولي.[5] لدى UBIFS وثائق مستضافة في infradead.org إلى جانب محركات JFFS2 و MTD. تظهر بعض المقارنات الأولية أن الضغط لدى UBIFS أسرع من F2FS.[6]
LogFS
LogFS، نظام ملفات لينكس آخر خاص بالذاكرة، يجري تطويره لمعالجة مشاكل قابلية التوسع في JFFS2.
نظام ملفات صديقة للفلاش (F2FS)
تم إضافة F2FS (نظام ملفات صديقة للفلاش) إلى نواة لينكس 3.8.[7] بدلاً من الاستهداف المباشر لأجهزة الفلاش الخام، تم تصميم F2FS لاستخدامه على أجهزة التخزين المبنية على الذاكرة الوميضية التي تتضمن بالفعل طبقة ترجمة للذاكرة، مثل بطاقات SD.[8]

أنظمة ملف متحدة عدل

تعد Overlayfs و Unionfs و aufs أنظمة ملف متحدة تسمح بدمج نظم ملفات متعددة وعرضها على المستخدم كشجرة واحدة. يسمح هذا لمصمم النظام بوضع أجزاء من نظام التشغيل تكون للقراءة فقط على الوسائط المختلفة في مناطق القراءة والكتابة العادية. عادة ما يتم تثبيت OpenWrt على رقائق الذاكرة الخام بدون FTL. ويستخدم overlayfs لتجميع SquashFS مضغوط وللقراءة فقط مع JFFS2.

انظر أيضًا عدل

المراجع عدل

  1. ^ Arnd Bergmann (18 فبراير 2011). "Optimizing Linux with cheap flash drives". LWN.net. مؤرشف من الأصل في 2020-05-21. اطلع عليه بتاريخ 2013-01-26.
  2. ^ "Phison's USBkey controller PS2251-63". مؤرشف من الأصل في 2011-07-28. اطلع عليه بتاريخ 2011-05-26.
  3. ^ OpenNFM: An open source NAND FTL for SSD and embedded storage module نسخة محفوظة 2016-08-12 على موقع واي باك مشين.
  4. ^ Jonathan Corbet (2 أبريل 2008). "UBIFS". LWN. مؤرشف من الأصل في 2020-03-31.
  5. ^ Richard Weinberger (24 سبتمبر 2012). "UBI: Fastmap request for inclusion". LKML. مؤرشف من الأصل في 2016-09-14.
  6. ^ Neil Brown (11 ديسمبر 2012). "JFFS2, UBIFS, and the growth of flash storage". LWN. مؤرشف من الأصل في 2020-04-01.
  7. ^ "Filesystems and storage". Kernel Log - Coming in 3.8. The H. 21 يناير 2013. مؤرشف من الأصل في 2019-10-19. اطلع عليه بتاريخ 2013-01-23.
  8. ^ Neil Brown (10 أكتوبر 2012). "An f2fs teardown". LWN.net. مؤرشف من الأصل في 2020-04-01. اطلع عليه بتاريخ 2014-04-09.

وصلات خارجية عدل