# إف2إف إس

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

## الميزات

* تسجيل متعدد الرؤوس.
* جدول تجزئة متعدد المستويات لإدخالات الدليل.
* فصل البيانات المستخدمة والغير مستخدمة بطريقة ثابتة/ديناميكية.
* مخطط تسجيل متكيف
* وحدات تشغيلية قابلة للتعديل
* نقطة فحص مزدوجة
* الاسترداد للسابق أو اللاحق.
* تخصيص بلوك على نمط الكومة
* دعم TRIM / FITRIM
* إلغاء تجزئة ملف نظام/ ملف عادي عبر الإنترنت
* xattrs / data / dir مضمنة
* فحص ملفات النظام دون اتصال (التحقق من عدم التناسق وإصلاحه )
* العمليات الذرية
* التشفير على مستوى نظام الملفات
* تغيير الحجم في وضع عدم الاتصال
* تدفق البيانات الداخلية بشكل دوري
* توسيع التخزين المؤقت
* ضغط ملف شفاف

## التصميم
### تخطيط على القرص

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

#### (Superblock (SB

    يقع SB في بداية القسم. هناك نسختان لتجنب تلف نظام الملفات. يحتوي على معلومات القسم الأساسي وبعض قيم F2FS الافتراضية.

#### نقطة الفحص (CP)

    يحتوي CP على معلومات نظام الملفات والصور النقطية لمجموعات NAT / SIT الصالحة وقوائم inod اليتيمة وإدخالات الملخص للمقاطع النشطة الحالية.

#### جدول معلومات القطاع (SIT)

    يحتوي SIT على عدد كتل الصالحة وصورة نقطية صالحة لجميع كتل المنطقة الرئيسية.

#### جدول عنوان العقدة (NAT)

    NAT هو جدول عناوين كتل عقدة المنطقة الرئيسية.

#### منطقة ملخص المقطع (SSA)

    يحتوي SSA على إدخالات تحتوي على معلومات المالك لبيانات المنطقة الرئيسية وكتل العقدة.

#### المجال الرئيسي

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

### هيكل الفهرس

بنية البيانات الرئيسية هي «العقدة». على غرار هياكل الملفات التقليدية، يحتوي F2FS على ثلاثة أنواع من العقد: عقدة داخلية (innode)، والعقدة المباشرة، والعقدة غير المباشرة. يعين نظام الملفات هذا 4 كيلوبايت لكتلة العقدة الداخلية التي تحتوي على 923 مؤشر كتلة بيانات، ومؤشرين عقدة مباشرة، ومؤشرين عقدة غير مباشرة، ومؤشر عقدة غير مباشر مزدوج كما هو موضح أدناه. تحتوي كتلة العقدة المباشرة على 1018 مؤشر كتلة بيانات، وكتلة عقدة غير مباشرة تحتوي على 1018 مؤشرر كتلة عقدة. وبالتالي، فإن كتلة واحدة من العقدة الداخلية (مثلا: ملف) تغطي:
لاحظ أنه يتم تعيين جميع كتل العقدة بواسطة NAT، مما يعني أن موقع كل عقدة تتم ترجمته بواسطة NAT. للتخفيف من مشكلة الشجرة المتجولة، F2FS قادر على توقيف انتشار تحديثات العقدة التي تسببها عمليات كتابة بيانات الورقة.

### بنية الدليل

يشغل مدخل الدليل (دنتري) 11 بايت، والتي تتكون من السمات التالية.

## الاستخدام

استخدمت موتورولا للهواتف النقالة F2FS في هواتف موتو G / E / X ودرويد منذ عام 2012. كما استخدمت جوجل لأول مرة F2FS في هاتف نكسس 9 في عام 2014. ومع ذلك، لم تعتمد منتجات جوجل الأخرى F2FS حتى هاتف بكسل 3 عندما تم تحديث F2FS باستخدام التشفير المضمّن دعم الأجهزة.
استخدمت هواوي F2FS منذ هواوي بي 9 في 2016. أما ون بلس فقد استخدمت F2FS هاتف ون بلس 3T في عام 2016. وزد تي إي استخدمت F2FS منذ ZTE Axon 10 Pro في عام 2019.

## انظر أيضا

* مقارنة بين نظم الملفات
* قائمة نظم الملفات