UBIFS

نظام ملفات UBIFS ( نظام ملفات UBI ، أو بشكل أدق نظام ملفات صور الكتل غير المصنفة ) هو نظام ملفات فلاش لأجهزة ذاكرة الفلاش غير المُدارة . [ 1 ] يعمل UBIFS فوق طبقة UBI (صورة الكتل غير المصنفة)، [ 2 ] والتي بدورها تعمل فوق طبقة جهاز تقنية الذاكرة (MTD). [ 3 ] طُوّر نظام الملفات هذا بواسطة مهندسي نوكيا بمساعدة جامعة سيجد في المجر. بدأ التطوير بشكل جدي في عام 2007، مع إصدار أول نسخة مستقرة لنواة لينكس 2.6.27 في أكتوبر 2008. [ 4 ]

يتمثل الفرقان الرئيسيان بين نظامي الملفات UBIFS و JFFS2 في أن UBIFS يدعم التخزين المؤقت للكتابة، [ 5 ] ويميل إلى حساب المساحة الحرة بتقدير أقل من الواقع. [ 6 ] كما يتفوق UBIFS على JFFS2 في الأداء مع أجهزة ذاكرة NAND الفلاشية الكبيرة . [ 7 ] ويعود ذلك إلى أهداف تصميم UBIFS: [ 8 ] سرعة التركيب، وسرعة الوصول إلى الملفات الكبيرة، وتحسين سرعات الكتابة. ويحافظ UBIFS أيضًا على ميزات الضغط الفوري، وإمكانية الاسترداد، وتحمل انقطاع التيار الكهربائي في JFFS2 ، أو يحسّنها. [ 8 ] ويتيح ضغط البيانات الفوري في UBIFS استخدام خوارزميات zlib ( خوارزمية deflate )، و LZO ، و Zstandard .

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

الدخل الأساسي الشامل

UBI ( صور الكتل غير المصنفة ) [ 10 ] هي طبقة لإدارة كتل المسح لأجهزة ذاكرة الفلاش . تخدم UBI غرضين: تتبع الكتل التالفة في ذاكرة فلاش NAND ، وتوفير موازنة التآكل . تعمل موازنة التآكل على توزيع عمليات المسح والكتابة على كامل جهاز الفلاش. تعرض UBI كتل المسح المنطقية للطبقات العليا، وتربطها بكتل المسح الفيزيائية. صُممت UBI خصيصًا لنظام ملفات UBIFS، بحيث لا يضطر UBIFS للتعامل مع موازنة التآكل والكتل التالفة. مع ذلك، قد تكون UBI مفيدة أيضًا مع squashfs وذاكرة فلاش NAND؛ إذ لا يتعرف squashfs على الكتل التالفة في ذاكرة فلاش NAND.

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

يُشابه نظام UBI إلى حدٍ ما مدير وحدات التخزين المنطقية . ففي الاستخدام المعتاد، بدلاً من تقسيم ذاكرة الفلاش إلى مناطق ثابتة، يمتد جهاز UBI واحد على كامل ذاكرة الفلاش (باستثناء ربما بعض الصفحات في مواقع ثابتة مخصصة لبرنامج الإقلاع)، ويتم إنشاء وحدات تخزين متعددة داخل جهاز UBI. وهذا يسمح بتوزيع تآكل الذاكرة على كامل ذاكرة الفلاش، حتى لو كُتبت بعض وحدات التخزين بشكل متكرر أكثر من غيرها. يمكن أن تكون وحدات تخزين UBI ثابتة (تحتوي على ملف أو صورة كاملة تُكتب مرة واحدة وتُحمي بواسطة CRC-32 بواسطة UBI) أو ديناميكية (تحتوي على نظام ملفات للقراءة والكتابة مسؤول عن سلامة بياناته). نظام الملفات الوحيد الذي يدعم UBI بشكل مباشر هو UBIFS، ولكن باستخدامه gluebiيُمكن محاكاة جهاز MTD، والذي يُمكن استخدامه لتشغيل أنظمة ملفات فلاش أخرى مثل JFFS2 وYAFFS، كما ubiblkيُمكن باستخدامه محاكاة أجهزة الكتل، والتي يُمكنها تشغيل أنظمة ملفات شائعة مثل Ext4.

فاست ماب

تم تعزيز نظام UBI في لينكس 3.7 بدعمٍ لتقنية fastmap. [ 11 ] [ 12 ] تحتفظ تقنية fastmap بنسخةٍ على القرص من المعلومات التي تم إنشاؤها مسبقًا في الذاكرة عن طريق مسح جهاز الفلاش بالكامل. في حالة حدوث أعطال، يعود النظام إلى آلية المسح الكامل السابقة، وتتجاهل أنظمة UBI القديمة معلومات fastmap ببساطة.

انظر أيضاً

مراجع

  1. جوناثان كوربيت (2 أبريل 2008). "UBIFS" . LWN.net . تم الاطلاع عليه بتاريخ 18 ديسمبر 2016 .
  2. " UBIFS – نظام ملفات UBI: ملاحظة هامة" . 22 يناير 2015. تم الاطلاع عليه بتاريخ 18 ديسمبر 2016. لا يعمل على أجهزة التخزين الكتلية. صُمم UBIFS للعمل على ذاكرة الفلاش الخام.
  3. "UBIFS – UBI File-System: Overview" . 22 يناير 2015. تم الاطلاع عليه بتاريخ 18 ديسمبر 2016 .
  4. أرتيم بيتيوتسكي (27 مارس 2008). "UBIFS - نظام ملفات فلاش جديد" . تم الاطلاع عليه بتاريخ 18 ديسمبر 2016 .
  5. "UBIFS – نظام ملفات UBI: دعم الكتابة المؤجلة" . 22 يناير 2015. تم الاطلاع عليه بتاريخ 18 ديسمبر 2016 .
  6. "أسئلة وأجوبة حول نظام UBIFS: لماذا يُظهر الأمر df مساحة حرة قليلة جدًا؟" . ١٨ ديسمبر ٢٠١٥. تم الاطلاع عليه بتاريخ ١٨ ديسمبر ٢٠١٦ .
  7. "UBIFS – نظام ملفات UBI: قابلية التوسع" . 22 يناير 2015. تم الاطلاع عليه بتاريخ 18 ديسمبر 2016 .
  8. 1 2 بيتيوتسكي، أرتيم؛ هنتر، أدريان (24 سبتمبر 2008). "نظام ملفات UBIFS" (ملف PDF) . ص 9. 
  9. أدريان هنتر (27 مارس 2008). "مقدمة موجزة لتصميم أنظمة UBIF" (ملف PDF) .
  10. "UBI - صور الكتل غير المصنفة" . 22 يناير 2015. تم الاطلاع عليه بتاريخ 18 ديسمبر 2016 .
  11. توماس بيتازوني (3 أكتوبر 2012). "مشروع UBI fastmap يشق طريقه إلى النسخة الرئيسية" . مؤرشف من الأصل في 15 نوفمبر 2012. تم الاطلاع عليه في 18 ديسمبر 2016 .
  12. ريتشارد واينبرغر (24 سبتمبر 2012). "الدخل الأساسي الشامل: طلب تضمين فاست ماب (الإصدار 18)" . تم الاطلاع عليه بتاريخ 18 ديسمبر 2016 .