**نظام الملفات الصديقة للفلاش** **(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 مؤشرر كتلة عقدة. وبالتالي، فإن كتلة واحدة من العقدة الداخلية (مثلا: ملف) تغطي:

```
 4   كيلوبايت × (923 + 2 × 1018 + 2 × 1018 2 + 1018 3 ) = 3.94 تيرابايت 
```

لاحظ أنه يتم تعيين جميع كتل العقدة بواسطة 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.

انظر أيضا
---------

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

المراجع
-------

1. ↑  "F2FS: A New File System for Flash Storage". *Proceedings of the 13th USENIX Conference on File and Storage Technologies (FAST ’15)*. 2015. `{{استشهاد بدورية محكمة}}`: تحقق من التاريخ في: `|date=` (مساعدة)
2. ↑  Jaegeuk Kim (5 أكتوبر 2012). "f2fs: introduce flash-friendly file system". مؤرشف من الأصل في 2018-01-11. اطلع عليه بتاريخ 2016-05-25.
3. ↑  Jaegeuk Kim (22 سبتمبر 2014). "f2fs: introduce FITRIM in f2fs\_ioctl". مؤرشف من الأصل في 2016-03-15.
4. ↑  Chao Yu (26 أكتوبر 2015). "f2fs: support file defragment". مؤرشف من الأصل في 2018-01-26.
5. ↑  Jaegeuk Kim (26 أغسطس 2013). "f2fs: add flags for inline xattrs". مؤرشف من الأصل في 2018-01-26.
6. ↑  Huajun Li (10 نوفمبر 2013). "f2fs: Enable f2fs support inline data". مؤرشف من الأصل في 2018-01-26.
7. ↑  Chao Yu (24 سبتمبر 2014). "f2fs: support inline dir". مؤرشف من الأصل في 2018-01-25.
8. ↑  Jaegeuk Kim (20 سبتمبر 2014). "f2fs-tools: release 1.4.0". مؤرشف من الأصل في 2018-01-26.
9. ↑  Jaegeuk Kim (25 سبتمبر 2014). "f2fs: support atomic\_write feature for database". مؤرشف من الأصل في 2020-06-02.
10. ↑  Jaegeuk Kim (24 يونيو 2015). "f2fs updates for v4.2". مؤرشف من الأصل في 2016-01-17.
11. ↑  Jaegeuk Kim (25 أبريل 2016). "resize.f2fs: support to expand partition size". مؤرشف من الأصل في 2018-01-26.
12. ↑  Chao Yu (17 ديسمبر 2015). "f2fs: support data flush in background". مؤرشف من الأصل في 2018-01-25.
13. ↑  Chao Yu (25 يناير 2015). "f2fs: enable rb-tree extent cache". مؤرشف من الأصل في 2018-01-25.
14. ↑  Larabel، Michael (28 ديسمبر 2018). "F2FS Gets More Fixes In Linux 4.21 With The File-System Now Supported By Google's Pixel". *www.phoronix.com*. مؤرشف من الأصل في 2020-06-02. اطلع عليه بتاريخ 2019-05-10.
15. ↑  Humrick، Matt (12 مايو 2017). "Huawei P10 and P10 Plus". *www.anandtech.com*. مؤرشف من الأصل في 2019-04-25. اطلع عليه بتاريخ 2019-05-11.
16. ↑  Chester، Brandon. "The OnePlus 3T Review". *www.anandtech.com*. مؤرشف من الأصل في 2019-05-11. اطلع عليه بتاريخ 2019-05-10.
17. ↑  "ZTE Axon 10 Pro Officially Uncovered: The First To Use F2FS". *Gizchina.com* (بالإنجليزية الأمريكية). 6 May 2019. Archived from the original on 2019-12-08. Retrieved 2019-05-10.

وصلات خارجية
------------

* نظام الملفات الصديقة للفلاش (F2FS)، مؤتمر لينكس المضمن (2013-02-22)
* نظام ملفات جديد مصمم لتخزين الفلاش في المحمول، مؤتمر لينكس أوروبا (2012-11-05)
* نظام ملفات ذاكرة فلاش، منتدى لينكس كوريا (2012-10-12)
* LWN.net: تفصيل عن f2fs (2012-10-10)
* نظام الملفات f2fs
* أدوات Userland لنظام الملفات f2fs
* F2FS ويكي للمطورين

* أيقونة بوابةبوابة لينكس
* أيقونة بوابةبوابة تقانة المعلومات
* أيقونة بوابةبوابة علم الحاسوب