Verwaltung von Flash-Wearables

Der interne Speicher von Android Automotive verwendet Flash-Speicher mit Tausenden von Lösch- und Schreibzyklen. Wenn der Flash-Speicher ausfällt, kann das System unbrauchbar werden. Da Fahrzeuge eine lange Lebensdauer haben (in der Regel mehr als 10 Jahre), muss der Flash-Speicher äußerst zuverlässig sein. Auf dieser Seite wird das Verhalten von Flash-Speicher beschrieben und wie OEMS das Risiko minimieren können, dass Flash-Speichergeräte ausfallen.

Leistung des Flash-Speichers

Flash-Speichergeräte verwenden Wear-Leveling-Techniken, um Lösch- und Schreibbeschränkungen zu umgehen. Dazu werden Daten so angeordnet und die Schreibvorgänge gleichmäßig über das System verteilt, sodass kein einzelner Block aufgrund intensiver Schreibvorgänge ausfällt. Die geschätzte Lebensdauer des Flash-Speichers hängt von folgenden Faktoren ab:

  • Anzahl der Schreibvorgänge
  • Muster schreiben
  • Verfügbare Größe des Flash-Speichers. Eine größere Speichergröße bedeutet, dass der Wear-Leveling-Algorithmus die Schreibvorgänge auf eine größere Anzahl von Blöcken verteilen kann.
  • Wear-Level-Techniken
  • Umweltfaktoren: Ein Beispiel hierfür ist ein Betriebstemperaturbereich von normalerweise -20 bis 85 Celsius. Temperaturen außerhalb dieses Bereichs können die Lebensdauer des Flash-Speichers weiter verkürzen.

Die Lebensdauer des Flash-Speichers kann mithilfe der folgenden Formel berechnet werden:

$$ \frac{Max\ erase\ cycles * Storage\ capacity}{Data\ written\ per\ year} = {Flash\ memory\ lifespan\ in\ years} $$

Das System würde jedoch lange nicht mehr ordnungsgemäß funktionieren, bevor der Flash-Speicher vollständig erschöpft ist, wenn der nutzbare Speicher abnimmt, und die eMMC kann je nach den verwendeten Leveling-Verfahren und den verwendeten Schreibmustern eine noch kürzere Lebensdauer haben. Außerdem werden bei dieser Schätzung nicht die Auswirkungen von fehlerhaften oder schädlichen Anwendungen berücksichtigt, die Automotive-Systeme stören könnten, indem große Blöcke mit Junk-Daten ohne spezielle Berechtigungen in den Flash-Speicher geschrieben werden.

Um mögliche Ausfälle des Flash-Speichers zu erkennen, bevor sie tatsächlich auftreten, sollte im Rahmen der allgemeinen Systemüberwachung eine ordnungsgemäße Überwachung des Speicherzustands integriert werden.

Flash-Speicher implementieren

Android Automotive unterstützt Funktionen, mit denen OEMs den internen Speicher ihrer Systeme schützen und überwachen können, um dessen Lebensdauer zu verlängern.

Weniger Blitzverbrauch

OEMs, die Bedenken haben, dass der interne Speicher im internen Speicher schont, können eine SD-Karte schnell genug hinzufügen, um sie als übernommenen Speicher zu verwenden. Die SD-Karte muss folgende Eigenschaften haben:

  • Die SD-Karte ist verschlüsselt und kann für die Speicherung von App-Daten sicher sein.
  • Der SD-Kartensteckplatz muss sich an einem sicheren Ort befinden. Es wird nicht erwartet, dass Nutzer die SD-Karte häufig entfernen.
  • Die SD-Karte kann nicht für die Datenübertragung zwischen Automotive-Systemen und einem Computer verwendet werden.
  • Der Auswurf der SD-Karte hat keine Auswirkungen auf ein laufendes System. Er sollte jedoch nur entfernt werden, wenn er ersetzt werden muss.

Apps auf SD-Karten

Zum weiteren Schutz des internen Speichers des Android Automotive-Systems können OEMs angeben, ob Drittanbieter-Apps im internen Speicher installiert werden können, sodass Apps nur in die Partition schreiben können, auf der sie installiert sind. Legen Sie dazu im Ressourcen-Overlay die folgende Konfiguration fest:

<bool name="config_allow3rdPartyAppOnInternal">false</bool>

Damit Zweitanbieter-Apps, die von Entwicklern von Auto-Apps entwickelt wurden, auf SD-Karten installiert werden können, sofern dies im Auto vorgeschrieben ist, müssen Entwickler von Auto-Apps android:installLocation=["auto" | "preferExternal"] in die Manifestdatei der App aufnehmen.

Wenn das Auto nicht zulässt, dass Drittanbieter-Apps im internen Speicher installiert werden, schlägt die Installation der App ohne dieses Flag fehl (oder wenn die Einstellung installLocation=internalOnly konfiguriert ist).

Laufwerksmesswerte abrufen

AAOS 13 hat die Überwachung und Messwerterfassung für Flash Memory Overuse als Teil von Car Watchdog eingeführt. Weitere Informationen finden Sie unter Flash-Speichernutzung überwachen.

Mit Android 8 wurde der Systemdienst storaged eingeführt, der Messwerte für Laufwerke und Flash-Speicher erfasst und veröffentlicht. Dazu gehören z. B. Informationen zur gesamten Laufwerksnutzung, zur Schätzung der Flash-Speicherlebensdauer und zu E/A-Daten auf dem Laufwerk pro App. OEMs können diese Informationen nutzen, um Nutzer zu warnen, wenn der interne Speicher ausfällt oder bestimmte Anwendungen zu viele Laufwerks-E/A-Vorgänge ausführen. Weitere Informationen finden Sie unter „storaged“ implementieren.