Die Reise von F2FS und warum Dateisysteme wichtig sind: Interview mit Stan Dmitriev von Tuxera

Dateisysteme werden in keinem anderen Forum allzu oft diskutiert. Das Thema beinhaltet viel Low-Level-Entwicklung, daher konzentrieren sich Entwickler lieber auf Anwendungen, ROMs oder Kernel. Dennoch ist das Dateisystem ein wichtiger Bestandteil jedes Speichers. Diese Technologie beschreibt, wie Daten im Speicher Ihres Geräts gespeichert und abgerufen werden. Es gibt viele verschiedene Arten von Dateisystemen - jedes mit seinen eigenen Vor- und Nachteilen - und die Auswahl der Dateisysteme kann einen großen Unterschied in Bezug auf Stabilität und Leistung bewirken. Wie treffen OEMs diese Wahl? Ich hatte das Vergnügen, mit Stan Dimitriev, PR & Communications Manager bei Tuxera, einem finnischen Unternehmen, das Dateisystemlösungen für viele große OEMs anbietet, zu sprechen.

F: Können Sie sich und Tuxera vorstellen?

A: Ich bin Stan Dmitriev. Seit ich mein erstes Android-Handy (HTC EVO 3D) habe, bin ich ein aktiver Fan der Community. Sagen wir einfach, ich habe ein benutzerdefiniertes ROM installiert und meine Garantie am ersten Tag ungültig gemacht (Stan.Dmitriev ist Mitglied im Forum von). Vor ein paar Jahren habe ich ein Startup-Projekt namens Corgi for Feedly mitgegründet. Damals hat uns die Community bei der Definition und Entwicklung der Anwendung sehr geholfen.

Derzeit bin ich PR & Communications Manager bei Tuxera, dem führenden Unternehmen auf dem Markt für Embedded-Speichersoftware, genauer gesagt für Dateisysteme. Unsere Software versorgt mehr als eine Milliarde Geräte und ist in den neuesten Flaggschiffen für Telefone, Autos, Router, Drohnen und Kameras enthalten. Die Geschichte des Unternehmens begann mit NTFS-3G, als unser Präsident und CTO Szabolcs „Szaka“ Szakactics NTFS für die Arbeit mit Linux-Geräten herstellte. Gegenwärtig entwickeln wir unsere eigenen Dateisysteme und Implementierungen für externen und eingebetteten Speicher und arbeiten mit den meisten Automobilunternehmen sowie mit vielen Smartphone-Unternehmen zusammen.

Hier bei Tuxera besuchen wir häufig die Foren, insbesondere wenn wir Probleme mit einem gemauerten Gerät beheben oder einen benutzerdefinierten ROM / Kernel zum Spielen finden. Viele meiner Kollegen besuchen mich häufig, um über die neuesten Deep-Tech-Nachrichten rund um Android- und Linux-Ökosysteme zu lesen.

F: Dateisysteme sind ein wesentlicher Bestandteil unserer Geräte, aber nur sehr wenige Menschen kennen ihre Rolle, Verbesserungen, Stärken und Schwächen. Was ist das Geschenk davon und warum sollten sich mehr Menschen dafür interessieren, dass die Dateisysteme ihre Daten zusammenhalten?

A: Dateisysteme sind ein wichtiges Element des Linux-Kernels, das für alle Interaktionen zwischen dem Gerät und seinem Speicher verantwortlich ist. Jedes Mal, wenn Sie ein Bild aufnehmen, eine App öffnen oder ein Video ansehen, spielt das Dateisystem eine zentrale Rolle, damit das Betriebssystem auf alle Dateien zugreifen und diese speichern kann. Dateisysteme waren für einige Zeit nicht so aufregend, der Hauptgrund ist, dass der Leistungsengpass vom Speicher herrührte.

Da die Flash-Geschwindigkeiten jedoch extrem schnell werden, insbesondere mit der Einführung von UFS, muss jetzt die Software modernisiert werden, um mit der Flash-Leistung Schritt zu halten. Das Dateisystem kann nicht nur die Speichergeschwindigkeit beeinflussen, sondern spielt auch eine wichtige Rolle für die langfristige Aufrechterhaltung der Telefonleistung. Bei falscher Vorgehensweise wird der Speicher fragmentiert. Dies ist ein Phänomen, bei dem eine ineffiziente Speichernutzung die Leistung des Geräts beeinträchtigen kann. Eine solche Möglichkeit auf ein Minimum zu reduzieren, ist ein wichtiges Merkmal eines Dateisystems.

F: Was ist F2FS (Primer) und warum hat es seinen Weg zu Android gefunden? Welche OEMs führten die Anklage an?

A: F2FS ist ein Open-Source-Dateisystem mit dem Hauptmerkmal, dass für die Flash-Speicherarchitektur entwickelt wurde. NAND-Speicher (Flash) wird in allen aktuellen Android-Telefonen normalerweise als eMMC- oder UFS-Lösung verwendet. Das Projekt wurde ursprünglich von Samsung entwickelt und hat bei einigen OEMs großes Interesse geweckt. Wir haben nicht die Daten, über die OEMs diese Schicht begonnen haben. Nach meinem persönlichen Kenntnisstand war Motorola jedoch das erste Unternehmen, dem viele andere OEMs wie OnePlus und Huawei in Kürze folgten.

F: Welche Vorteile bot es? OEMs nennen schnellere Speicheroperationen und UI-Leistung, aber gibt es noch andere Vorteile?

A: Die Tonhöhe war recht einfach, F2FS bietet eine höhere Leistung für Flash-basierte Speicher. Ihr System würde schneller booten (schnellere Lesegeschwindigkeiten), die Schreibgeschwindigkeiten wären höher, sodass Sie schwere 4K-Videos, Zeitlupe mit höherer Bildrate und 360-Grad-Videos aufnehmen können. Außerdem würde die Latenz zwischen dem System und dem Speicher extrem gering sein, was bedeutet, dass sich die Animations- und Öffnungs-Apps viel schneller anfühlen würden.

F: Die Probleme scheinen sich speziell auf Leistungseinbußen zu konzentrieren. Können Sie das näher erläutern? Was ist die ursache

A: Die Idee von F2FS war in der Tat großartig, um die schnellstmögliche Leistung für Flash-Geräte zu erzielen. Es ist aber auch wichtig, sich langfristig auf die Leistung zu konzentrieren. Hardware kann von Haus aus immer schnell sein, aber diese Geschwindigkeiten kontinuierlich beizubehalten, ist eine viel schwierigere Herausforderung. Bei einem Android-Anwendungsfall ist der Speicher des Geräts die meiste Zeit fast voll, und es finden manchmal sogar innerhalb einer Sekunde Tausende von Lese- und Schreibvorgängen statt. Viele der gängigen Apps führen Dienste im Hintergrund aus. Dies bedeutet, dass die App einige Lese- / Schreibvorgänge ausführt, auch wenn Sie sie nicht öffnen. Bei falscher Vorgehensweise können Schreibvorgänge die Fragmentierung des Speichers drastisch erhöhen und jede weitere Lese- / Schreiboperation noch langsamer machen.

Wir sehen die Speicherfragmentierung als eine der Ursachen für den Leistungsabfall bei Android-Geräten. Nun muss festgestellt werden, ob die Probleme durch die Hardwarekompatibilität verursacht werden und wie das Dateisystem mit Speicher von verschiedenen OEMs funktioniert oder ob die F2FS-Architektur auf anfängliche Geschwindigkeiten ausgerichtet ist, was sich auf die langfristige Leistung auswirkt. Die Probleme können auch durch Fehler verursacht werden, da sich das Dateisystem noch in der Entwicklung befindet.

F: Gibt es andere Leistungs- oder Zuverlässigkeitsprobleme, die weniger bekannt sind?

A: Eine interessante Sache, die wir gefunden haben, ist, dass F2FS einen unerwarteten Overhead hat, mindestens einige Hundert MB Ihres Speichers für das Caching und die Speicherwartung. Dies ist auf jeden Fall sinnvoll, wenn Sie über 64 GB Speicherplatz oder mehr verfügen. Bei preisgünstigen Telefonen mit 8 GB und 16 GB ROM-Größe kann dies jedoch ein Problem darstellen.

Die wichtigste Erkenntnis ist, dass sich die aktuelle Implementierung von F2FS hervorragend für schreibgeschützte Umgebungen eignet, wenn Sie höhere Geschwindigkeiten erzielen möchten. F2FS muss sich darauf konzentrieren, die Leistung des Langzeitspeichers bei einer hohen Interaktion mit kleinen Dateien zu verbessern, da dies in der Android-Umgebung der Fall ist.

Dies ist in gewissem Sinne ein Kampf der Theorien. Sie können sich entweder vorstellen, dass die Hardwareleistung so schnell ist, dass die Verschlechterung kein Problem darstellt. Oder Sie sehen es umgekehrt, wenn die Hardware so schnell ist, dass eine etwas langsamere Leistung, die auf lange Sicht beibehalten werden kann, erreicht werden muss. F2FS entschied sich für den ersten Ansatz, und hier gibt es keine falschen Optionen. Es ist ein wichtiges Experiment und eine Lernkurve für die gesamte Branche. Was wir derzeit sehen, ist jedoch, dass die langfristige Leistung im Moment der Hauptfokus sein sollte.

F: Einige OEMs verwenden F2FS nicht mehr, während andere wie Huawei F2FS auf neueren Geräten weiterhin unterstützen. Glauben Sie, dass es einen Trend gibt? (Langsame Annahme oder völlige Aufgabe)

A: Es gibt mehrere Szenarien, in denen OEMs F2FS weiterhin verwenden würden.

  • Ein OEM verfügt möglicherweise über eine eigene Implementierung von F2FS, mit der die bekannten Probleme behoben werden können.

  • Ein OEM kann sehr gute Beziehungen zum Flash-Speicherhersteller unterhalten, da der Zugriff auf die FTL-Schicht von NAND und die Abstimmung des Dateisystems auf die Hardware zu erheblichen Verbesserungen führen können, einschließlich der Fragmentierung des Flash-Speichers.

  • Ein OEM könnte es vorziehen, sich auf die anfängliche Leistung des Telefons zu konzentrieren, da der durchschnittliche Lebenszyklus eines Smartphones etwa 2 Jahre beträgt und wenn das Telefon langsam wird, wird er bereits ein neues kaufen.

  • Ein OEM könnte auch einen Defragmentierungsdienst ausführen, der die Probleme von F2FS teilweise lösen kann.

Dies sind einige der möglichen Szenarien. Gleichzeitig stellen wir fest, dass einige OEMs bereits wieder Ext4 verwenden, zum Beispiel OnePlus 3T verwendete F2FS, aber alle neueren OnePlus-Modelle verwenden Ext4.

F: F2FS benötigt derzeit eine Defragmentierungslösung für unterwegs, mit der das derzeit bei F2FS auftretende Problem behoben werden kann.

A: Defragmentierungswerkzeuge gibt es schon seit einiger Zeit. Der Hauptvorteil besteht darin, dass sie die Speicherblöcke neu zuordnen / umschreiben können, um die Speicherfragmentierung zu verringern. Das Problem bei diesem Ansatz ist jedoch, dass Sie die Flash-Speicherzellen neu schreiben, wodurch sich die Lebensdauer des Speichers verkürzt. Das beste Szenario wäre, Daten in erster Linie intelligent zu schreiben. Schadensbegrenzung ist nicht die Lösung.

Stellen Sie sich das vor, als würden Sie ein Durcheinander in einem Raum anrichten, indem Sie eine Menge Dinge herumwerfen und sie dann in den Schubladen anordnen. Warum nicht gleich?

F: Haben es die OEMs geschafft, einige der Probleme zu beheben, die F2FS zurückhalten? Zum Beispiel lehnt Huawei Leistungseinbußen ab und wirbt mit der Zeit für eine schnellere UX, auch dank ihrer „KI“.

A: Nun, wenn eine KI das Speicherverhalten analysieren und das Dateisystem für ein bestimmtes Flash-Gerät neu schreiben kann, kann dies wahrscheinlich die Probleme der Fragmentierung lösen. Die KI kann auch analysieren, welche Apps oder Funktionen die Person am häufigsten verwendet, und diese entsprechend vorab laden / speichern - wodurch sich die Telefonfunktionen schneller anfühlen, was das Problem der Fragmentierung jedoch nicht lösen würde. Meine Hauptannahme ist, dass die meisten Optimierungen auf den Benutzerbereich bezogen sind und nicht auf einige Deep-Tech-Dateisystemoptimierungen.

F: Was sind andere aufregende Dateisystementwicklungen, auf die wir achten sollten? Wie würden sie sich auf das Benutzererlebnis auswirken, selbst wenn dies auf einer subtilen oder niedrigen Ebene geschieht?

A: F2FS und Ext4 sind immer noch sehr wichtig und die Dateisysteme für Open Source. Ext4 ist ausgereifter und zuverlässiger, kann jedoch die Flash-Leistung beeinträchtigen. F2FS ist schneller, aber auch experimenteller. Die ganze Situation, in der Software zum Engpass wird, macht Dateisysteme wieder spannend. Wir wechseln von jeder Sekunde zu jeder Millisekunde, und Dateisysteme werden eine wichtige Rolle bei dieser Leistungssteigerung spielen. Die aufregendste Entwicklung für Dateisysteme wäre die Erstellung einer wirklich flashoptimierten Lösung, mit der die Leistung von Flash aufrechterhalten werden kann.

Bei Tuxera entwickeln wir das Tuxera Flash-Dateisystem, bei dem wir unter anderem hardwarespezifische Softwareoptimierungen vornehmen, um sicherzustellen, dass das Dateisystem für ein bestimmtes Gerät, einen bestimmten Anwendungsfall und einen bestimmten Flash-Speicher optimiert ist. Mit unserer Präsenz in der Automobilbranche konzentrieren wir uns hauptsächlich auf die langfristige Leistung und die Verschlechterung des Flash-Speichers. Dies ist eher die Art der Optimierung von Hardware x Software, über die Steve Jobs gesprochen hat. Das Anwenden von maschinellem Lernen, um solche „Treiber“ zu erstellen, ist etwas, von dem wir glauben, dass es für die gesamte Speicherbranche wirklich spannend sein könnte.

F: Unser physischer Flash-Speicher wird immer schneller. Wie wirkt sich diese Tatsache auf die Endbenutzererfahrung und die Zukunft von Dateisystemen aus?

A: Da die Hardware immer schneller wird, muss die Software sicherstellen, dass sie mit diesen fortschrittlichen Hardwarearchitekturen Schritt hält. Dies ist derzeit die größte Herausforderung für Dateisysteme. Sie können unglaubliche Lese- und Schreibgeschwindigkeitsmerkmale des Geräts haben, aber wenn der Software-Stack zusätzliche Latenzzeiten bietet, wird sich das Benutzererlebnis nicht so bissig anfühlen. Dies ist eine aufregende Zeit für die Entwicklung von Dateisystemen, da eindeutig ein Bedarf an einer schnelleren, schnelleren und dennoch zuverlässigeren Technologie für Mobilgeräte besteht.

Wenn der Blitz jedoch schneller wird, stellt sich die Frage, mit welcher Geschwindigkeit die Leistung irrelevant wird. Stellen Sie es sich wie die Retina-Bildschirmauflösung vor, bei der eine höhere Pixeldichte das Bild für das menschliche Auge nicht wirklich schärfer macht.

F: Vielen Dank für Ihre Zeit.

A: Danke!