رحلة F2FS وسبب أهمية أنظمة الملفات: مقابلة مع ستان ديميترييف من توكسيرا

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

س: هل يمكنك تقديم نفسك وتكسيرا؟

ج: أنا ستان ديميترييف. منذ أن حصلت على أول هاتف يعمل بنظام Android (HTC EVO 3D) ، أصبحت من المعجبين النشطين في المجتمع. دعنا نقول فقط لقد قمت بتثبيت ROM مخصص وإلغاء الضمان الخاص بي في اليوم الأول (Stan.Dmitriev عضو في المنتدى). قبل عامين ، شاركت في تأسيس مشروع بدء تشغيل يسمى Corgi for Feedly ، في ذلك الوقت ساعدنا المجتمع كثيرًا في تحديد وتطوير التطبيق.

حاليًا أنا مدير العلاقات العامة والاتصالات في Tuxera ، وهو برنامج التخزين المضمن الرائد وأنظمة الملفات التي يجب أن تكون دقيقة ، شركة في السوق. يعمل برنامجنا على تشغيل أكثر من مليار جهاز ويمكن العثور عليه في أحدث الهواتف الرائدة والسيارات وأجهزة التوجيه والطائرات والكاميرات. بدأت قصة الشركة مع NTFS-3G ، عندما جعل رئيسنا و CTO Szabolcs "Szaka" Szakactics NTFS للعمل مع أجهزة Linux. حاليًا ، نقوم بتطوير أنظمة الملفات والتطبيقات الخاصة بنا للتخزين الخارجي والمدمج ، ونعمل مع معظم شركات السيارات الموجودة هناك بالإضافة إلى العديد من شركات الهواتف الذكية.

هنا في Tuxera ، غالبًا ما نزور المنتديات ، لا سيما عند استكشاف الأخطاء وإصلاحها لجهاز مشدود أو العثور على ROM / kernel مخصص للعب معه. يزور العديد من زملائي بشكل متكرر لقراءة أحدث الأخبار التكنولوجية العميقة حول أنظمة Android و Linux.

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

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

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

س: ما هو F2FS (التمهيدي) ، ولماذا بدأت تشق طريقها إلى Android؟ ما هي الشركات المصنعة الأصلية التي كانت تقود هذه التهمة؟

A: F2FS هو نظام ملفات مفتوح المصدر ، حيث تم تصميم الملعب الرئيسي لهندسة تخزين الفلاش. يستخدم تخزين NAND (فلاش) في جميع هواتف Android الحالية عادةً كحلول eMMC أو UFS. تم تطوير المشروع من قبل شركة Samsung في البداية واكتسب اهتمامًا كبيرًا من بعض مصنعي المعدات الأصلية في مجال الأجهزة المحمولة. ليس لدينا البيانات التي بدأت شركات تصنيع المعدات الأصلية في هذا التحول. ولكن مما أعرفه شخصياً ، كانت موتورولا هي الأولى ، مع العديد من مصنعي المعدات الأصلية الآخرين مثل OnePlus و Huawei الذين اتبعوا هذا التحول قريبًا.

س: ما هي المزايا التي قدمتها؟ يستشهد مصنعو المعدات الأصلية بعمليات تخزين أسرع وأداء واجهة المستخدم ، ولكن هل هناك أي مزايا أخرى؟

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

سؤال: يبدو أن المشكلات تركز بشكل خاص على الأداء المهين. هل يمكن أن توضح ذلك بتعمق أكبر؟ ما السبب؟

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

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

س: هل هناك أي مشكلات أخرى تتعلق بالأداء أو الموثوقية أقل شهرة؟

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

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

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

س: تراجع بعض مصنعي المعدات الأصلية عن استخدامهم F2FS ، بينما لا يزال البعض الآخر مثل Huawei يدعم F2FS على الأجهزة الحديثة. هل تعتقد أن هناك اتجاه في أي من الاتجاهين؟ (التبني البطيء ، أو التخلي الكامل)

ج: هناك سيناريوهات متعددة لماذا يواصل مصنعي المعدات الأصلية استخدام F2FS.

  • يمكن أن يكون لدى OEM تطبيق F2FS الخاص به ، والذي يوفر بعض الإصلاحات للمشكلات المعروفة.

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

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

  • يمكن أن يكون لدى OEM أيضًا بعض خدمات إلغاء التجزئة قيد التشغيل ، وهذا يمكن أن يحل مشكلات F2FS جزئيًا.

هذه بعض السيناريوهات المحتملة ، وفي الوقت نفسه ، نرى أن بعض مصنعي المعدات الأصلية ينتقلون بالفعل إلى استخدام Ext4 ، على سبيل المثال كان OnePlus 3T يستخدم F2FS ، ولكن جميع طرز OnePlus الجديدة تستخدم Ext4.

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

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

فكر في الأمر مثل جعل الفوضى في غرفة من خلال رمي الكثير من الأشياء في كل مكان ، ثم البدء في ترتيبها في الأدراج. لماذا لا تفعل ذلك على الفور؟

س: هل تمكنت الشركات المُصنّعة للمعدات الأصلية (OEMs) من مواجهة بعض المشكلات التي تعيق F2FS أو معالجتها؟ على سبيل المثال ، ترفض Huawei الأداء المهين وتعلن عن UX أسرع بمرور الوقت ، ويرجع ذلك جزئيًا إلى "الذكاء الاصطناعي".

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

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

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

في Tuxera ، نقوم بتطوير Tuxera Flash File System ، حيث نقوم بأشياء مثل تحسينات البرامج الخاصة بالأجهزة لضمان تحسين نظام الملفات لجهاز معين ، وحالة الاستخدام ، وذاكرة فلاش. بعد التواجد في السيارات ، نركز بشكل أساسي على الأداء طويل المدى وتدهور ذاكرة الفلاش. هذا هو أكثر من نوع الأجهزة س الأمثل البرمجيات ، والتي تستخدم ستيف جوبز للحديث عنها. يعتبر تطبيق Machine Learning لإنشاء مثل "برامج التشغيل" شيئًا نعتقد أنه يمكن أن يكون مثيراً حقًا لصناعة التخزين بأكملها.

سؤال: يستمر التخزين الفلاش الفعلي لدينا بشكل أسرع ، كيف ترى هذه الحقيقة تؤثر على كل من تجربة المستخدم النهائي ومستقبل أنظمة الملفات؟

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

لكن مع زيادة سرعة الفلاش ، يصبح السؤال الرئيسي ، ما هي السرعة التي يصبح الأداء غير ذي صلة بها؟ فكر في الأمر مثل دقة شاشة Retina ، حيث لا تؤدي كثافة البكسل الأعلى إلى جعل الصورة أكثر هشاشة للعين البشرية.

س: شكرا لك على وقتك.

ج: شكرا!