Zarządzanie Flash Wear

Pamięć wewnętrzna Androida Automotive korzysta z pamięci flash z tysiącami cykli wymazywania i zapisu. Jeśli pamięć flash ulegnie awarii, system może stać się bezużyteczny. Ze względu na długi okres eksploatacji pojazdów (zwykle ponad 10 lat), pamięć flash musi być bardzo niezawodna. Na tej stronie opisujemy działanie pamięci flash oraz sposób, w jaki OEM może ograniczyć ryzyko awarii takich urządzeń.

Wydajność pamięci flash

Urządzenia pamięci flash używają technik wyrównywania zużycia, aby obejść ograniczenia usuwania i zapisu przez równomierne rozmieszczanie danych i równomierny rozkład zapisów w systemie, tak aby żaden pojedynczy blok nie uległ awarii z powodu intensywnej operacji zapisu. Szacowany czas pracy pamięci flash zależy od tych czynników:

  • Liczba zapisów
  • Zapisywanie wzorców
  • Dostępny rozmiar pamięci flash. Większy rozmiar pamięci masowej oznacza, że algorytm wyrównywania zużywania danych może rozłożyć zapisy na większą liczbę bloków.
  • Techniki wyrównywania noszenia
  • Czynniki środowiskowe. Przykładem może być temperatura działania w zakresie zwykle od -20 do 85 stopni Celsjusza. Temperatury spoza tego zakresu mogą jeszcze bardziej skrócić żywotność pamięci flash.

Czas życia pamięci flash można obliczyć za pomocą tego wzoru:

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

Jednak system przestanie działać poprawnie na długo, zanim pamięć flash całkowicie się wyczerpie wraz ze zmniejszeniem rozmiaru używanej pamięci masowej, a czas życia pamięci eMMC może być jeszcze krótszy w zależności od techniki poziomowania i użytych wzorców zapisu. Dodatkowo to oszacowanie nie uwzględnia skutków nieprawidłowego działania ani szkodliwych aplikacji, które mogą zakłócić działanie systemów Automotive przez zapisywanie dużych bloków niepotrzebnych danych do pamięci flash bez specjalnych uprawnień.

Aby wykryć potencjalną awarię pamięci flash, zanim faktycznie nastąpi, należy włączyć odpowiednie monitorowanie stanu pamięci masowej w ramach ogólnego monitorowania stanu systemu

Wdróż pamięć flash

Android Automotive obsługuje funkcje, które umożliwiają producentom OEM ochronę i monitorowanie pamięci wewnętrznej systemów w celu wydłużenia jej żywotności.

Ogranicz zużycie lampy błyskowej

OEM zaniepokojony zużyciem pamięci wewnętrznej może też dodać kartę SD tak szybko, że będzie używana jako pamięć wewnętrzna. Karta SD powinna mieć następujące właściwości:

  • Zastosowana karta SD jest zaszyfrowana i można bezpiecznie przechowywać dane aplikacji.
  • Gniazdo karty SD musi znajdować się w bezpiecznym miejscu (użytkownicy nie powinni często wyjmować karty SD).
  • Karty SD nie można używać do przenoszenia danych między systemami samochodowymi a komputerem.
  • Wyjęcie karty SD nie ma wpływu na działanie działającego systemu. Nie należy jej jednak usuwać, chyba że trzeba ją zastąpić.

Aplikacje na kartach SD

Aby jeszcze lepiej chronić pamięć wewnętrzną systemu Android Automotive, OEM może określić, czy aplikacje innych firm mogą być instalowane w pamięci wewnętrznej, aby aplikacje mogły zapisywać tylko na partycji, na której zostały zainstalowane. Aby skonfigurować, ustaw następującą konfigurację w nakładce zasobów:

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

Aby umożliwić instalowanie aplikacji innych firm (utworzonych przez deweloperów aplikacji samochodowych) na kartach SD (jeśli tak wymaga samochód), deweloperzy aplikacji samochodowych muszą umieścić w pliku manifestu pliku android:installLocation=["auto" | "preferExternal"] polecenie android:installLocation=["auto" | "preferExternal"].

Jeśli samochód nie zezwala na instalowanie w pamięci wewnętrznej aplikacji innych firm, instalacja aplikacji się nie uda bez tej flagi (lub jeśli jest skonfigurowane ustawienie installLocation=internalOnly).

Pobieranie wskaźników dysku

W systemie AAOS 13 wprowadzono monitorowanie nadużywania pamięci Flash i zbieranie wskaźników w ramach programu Watchdog w samochodzie. Szczegółowe informacje znajdziesz w artykule Monitorowanie wykorzystania pamięci flash.

W Androidzie 8 wprowadzono miejsce na dane – usługę systemową, która próbkuje i publikuje wskaźniki dotyczące pamięci dyskowej i flash, takie jak ogólne informacje o wykorzystaniu dysku, szacowany czas pracy pamięci flash oraz statystyki wejścia-wyjścia dysku i dysku. OEM może wykorzystać te informacje, aby ostrzegać użytkowników, gdy pamięć wewnętrzna zaczyna się kończyć lub gdy określone aplikacje wykonują zbyt wiele operacji wejścia-wyjścia dysku. Szczegółowe informacje znajdziesz w artykule o implementowaniu pamięci masowej.