Wie Archos die SD-Karte unter Android besser nutzbar machen will - Details zu Fusion Storage

@ctmagazin | c't Labs

"So ein Quatsch", dachte ich, als Archos ankündigte, die SD-Karte so in Android einzubinden, dass interner und externer Speicher als eine große Partition aussehen. Ich hatte das für eine Abwandlung von Link2SD gehalten. Doch Archos hat sich tatsächlich etwas Neues ausgedacht, das einige Android-Probleme löst, andere jedoch nicht.

Das Archos 94 Magnus implementiert Fusion Storage als erstes Gerät – und braucht das dank maximal 256 GByte internem Speicher noch am wenigsten.

Archos hat auf dem MWC ein Tablet vorgestellt, bei dem die SD-Karte mit einer speziellen Technik des Unternehmens angebunden sein soll. Dank "Fusion Storage" sollen Apps eine große Partition sehen, die den internen Speicher und die SD-Karte umfasst. Ich hatte das zuerste für eine Technik gehalten, mit der man Apps auf die SD-Karte verschieben kann, denn das ist nur bei wenigen aktuellen Android-Geräten möglich. So etwa wie die Root-Tools App2SD/Link2SD in vorinstalliert, dachte ich. Und sofort malte ich mir Horrorszenarien aus, was beim Wechseln der SD-Karte alles schief gehen könnte.

Doch auf der Archos-Homepage erklärt CTO Marc de Courville Fusion Storage ganz anders. Nicht der App-Speicher (/data) wird erweitert, sondern der interne SD-Speicher (/sdcard). (Wer den Begriff "internen SD-Speicher" unverständlich und absurd findet: Stimmt, das ist absurd, aber leider ein realer Aspekt der verkorksten Android-Speicherverwaltung. Wir hatten das in c't 23/12 ausführlich beschrieben. Eine aktualisierte Zusammenfassung finden Sie online als Auszug eines Artikels in c't 3/15, in dem es um ein neues Problem bei Android und SD-Karten geht, den Einschränkungen seit Android 4.4).

Jörg Wirtgen

Schreibt seit 1999 für c't und heise online, anfangs über Mainboards und Prozessoren, seit vielen Jahren nun über Notebooks, Smartphones und Tablets. Daneben beschäftigen ihn Android-Programmierung und die Synchronisation des ganzen Geräteparks.

Laut de Courville greift Fusion Storage bei der mit Android 3 eingeführten Umleitung von /sdcard auf /data/Media ein, dem sogenannten Unified Memory. (Unified Memory ist eine Art Hack von Google, um ein Speicherverwaltungsproblem von Android 2.2 zu umgehen, mehr in obigen Artikeln.) Die Umleitung wird nun über ein virtuelles Dateisystem realisiert, das zwei physische Verzeichnisse zusammenführt, nämlich den internen Speicher unter /data/Media und die echte SD-Karte. Archos nutzt dazu ein Fusion-FS (File System in User Space): Das erzeugt eine virtuelle Partition aus mehreren physischen Partitionen; ursprünglich aus einer beschreibbaren und einer schreibgeschützten Partition. In Android kommt an mehreren Stellen ein Fusion-FS zum Einsatz; die mitgelieferte Variante reicht für Archos' Zweck allerdings nicht, sondern der Hersteller liefert einen Fork auf Basis von unionfs-fuse mit.

Eine der Erweiterungen des Forks ist, dass beide Partitionen beschreibbar sind. Neue Dateien landen auf der SD-Karte; erst wenn dort weniger als 2 GByte frei sind, landen sie im Gerätespeicher. Ein manuelles Verschieben von Dateien in internen oder externen Speicher soll auch möglich sein. Das erlaubt nun eine genauere Einschätzung der Möglichkeiten und Grenzen von Fusion Storage:

Android 4.4 und 5 schränken den Zugriff auf die SD-Karte deutlich ein. Mit der Archos-Lösung haben alle Apps Zugriff auf den gesamten Speicher.
  • So wie ich das verstehe, landen Apps nicht automatisch auf der SD-Karte. Wenn man sie installiert, schreibt Android sie weiterhin in den internen Gerätespeicher. Der Nutzer muss sie dann wie bei alten Android-Versionen manuell per App-Manager auf die SD-Karte schieben – beziehungsweise auf das, was das System für die SD-Karte hält, also diese virtuelle Partition.
  • Apps lassen sich nur mit den gleichen Einschränkungen wie bisher auf die SD-Karte schieben: Die App darf keine Widgets enthalten und nicht beim Gerätestart automatisch starten. Wie bisher bleibt ein Teil der App (nämlich die privaten Date in /data) immer im internen Speicher.
  • Wenn der interne Speicher voll ist, kann man wie beim normalen Android keine neuen Apps installieren. Immerhin tritt dieser Fall erst viel später ein als beim normalen Android, da man alle anderen Daten außer den Apps auf die SD-Karte schreiben kann.
Nur wenige Apps können die SD-Karten moderner Android-Geräte überhaupt finden. Die Archos-Lösung würde dieses Problem lösen.
  • Das bei einigen Geräten vorhandene, vom FAT-Dateisystem kommende Dateigrößen-Limit von 2 GByte fällt weg. Archos' Fuse-Fork splittet Dateien automatisch.
  • Eine plötzliche Entnahme der SD-Karte bereitet keine größeren Probleme. Genau dafür ist die /sdcard-API vorgesehen, und darauf sollten Apps sich einstellen. Auf der SD-Karte installierte Apps starten dann einfach nicht (genau das ist übrigens der Grund, dass man keine Widgets und keine Autostart-Apps auf die Karte schieben darf).
  • Das seit Android 3 verstärkt auftretende Problem ist aus der Welt, dass nur wenige Apps auf die SD-Karte zugreifen. Die meisten Apps greifen mit einer Android-API auf den /sdcard-Teil zu, was bei aktuellen Telefonen der interne Gerätespeicher ist – bei Archos nutzen solche Apps automatisch die echte SD-Karte.
  • Die mit Android 4.4 eingeschränkten Zugriffe auf die SD-Karte sind hinfällig. Google hat mit 4.4 einen Schreibschutz auf die (echte) SD-Karte eingeführt, der sich nur per Root aufheben lässt. Der Zugriff auf den internen Speicher bleibt unbeschränkt. Mit der Archos-Lösung sieht das System die SD-Karte aber auch als internen Speicher, sodass alle Apps unbeschränkt drauf schreiben dürfen.

Vor allem die letzten beiden Punkte machen die Archos-Lösung auch für andere Android-Geräte reizvoll. Alleine mit dem mitgelieferten Fuse-FS dürfte das allerdings nicht sinnvoll machbar sein, also wäre wohl der Archos-Fork notwendig; auch ist wohl ein Root erforderlich. Das kommt auf die Liste unserer Bastelprojekte ...

Doch davor bin ich aufs Testgerät von Archos gespannt und freue mich darauf auszuprobieren, wie gut Fusion Storage wirklich funktioniert.

Kommentare

Anzeige