نظام الملفات الصديقة للفلاش (F2FS) هو نظام ملفات تم تطويره في البداية بواسطة إلكترونيات سامسونج لنواة لينكس.[2]
كان الدافع وراء هذا النظام هو بناء نظام ملفات يأخذ في الاعتبار خصائص أجهزة التخزين المستندة على الذاكرة الوميضية NAND (مثل الهاردسك وذاكرة الوسائط المضمنة وبطاقات الذاكرة الخارجية)، والتي تستخدم على نطاق واسع في أنظمة الكمبيوتر من أجهزة محمولة أو خوادم.
تم تصميم F2FS على أساس نهج نظام ملفات منظم، والذي يتم تكييفه مع أشكال التخزين الحديثة.
يقسم F2FS القرص بالكامل إلى عدد من الأجزاء، كل منها ثابت عند 2 ميغابايت. يتكون القسم من مقاطع متتالية، وتتكون المنطقة من مجموعة من الأقسام. بشكل افتراضي، يتم تعيين أحجام الأقسام والمنطقة على نفس الحجم، ولكن يمكن للمستخدمين تعديل الحجم بسهولة باستخدام أمر mkfs
.
يقسم F2FS القرص بالكامل إلى ست مناطق، وكلها باستثناء منطقة superblock التي تتكون من أجزاء متعددة كما هو موضح أدناه.
لتجنب المحاذاة الخاطئة بين نظام الملفات ووحدة التخزين المحمولة، يقوم 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.[14][15] أما ون بلس فقد استخدمت F2FS هاتف ون بلس 3T في عام 2016.[16] وزد تي إي استخدمت F2FS منذ ZTE Axon 10 Pro في عام 2019.[17]