Zarządzanie zużyciem błysku

Wewnętrzna pamięć masowa Android Automotive wykorzystuje wbudowaną kartę MultiMediaCard (eMMC) z tysiącami cykli kasowania/zapisu; w przypadku awarii eMMC system może stać się bezużyteczny. Ponieważ pojazdy mają długą żywotność (zwykle ponad 10 lat), eMMC musi być wyjątkowo niezawodne. Na tej stronie opisano zachowanie eMMC oraz sposób, w jaki producenci OEM mogą zmniejszyć ryzyko awarii eMMC (a tym samym uniknąć awarii systemów Android Automotive).

zachowanie eMMC

Urządzenia eMMC wykorzystują techniki równoważenia zużycia w celu obejścia ograniczeń kasowania/zapisu poprzez równomierne organizowanie danych i równomierną dystrybucję zapisów w systemie (dzięki czemu żaden pojedynczy blok nie ulegnie awarii z powodu intensywnych zapisów). Szacowana żywotność eMMC zależy od:

  • Ilość zapisów . W telefonach ilość danych zapisywanych w pamięci wewnętrznej może przekraczać 10 GB dziennie. W przypadku wdrożeń motoryzacyjnych nie mamy rzeczywistych danych na temat ilości danych, które zostaną zapisane ze względu na ograniczoną liczbę aplikacji. Jednak gdy użytkownicy przesyłają strumieniowo muzykę wysokiej jakości i korzystają z nawigacji, co minutę obserwujemy zapisywanie do eMMC 50 MB danych. W przyszłości możemy mieć inne typy aplikacji intensywnie korzystających z zapisu, takie jak aplikacje do kamer na desce rozdzielczej, które w sposób ciągły nagrywają i przechowują filmy. Ponadto niektóre samochody to pojazdy współdzielone, używane przez wiele godzin dziennie. Z tych i innych powodów spodziewamy się, że wdrożenia Android Automotive będą miały więcej zapisów eMMC niż telefon.
  • Napisz wzory . Zapisy i kasowania odbywają się blokami. Częste zapisywanie danych w małych porcjach powoduje szybsze zużycie pamięci eMMC niż rzadsze zapisywanie tej samej ilości danych w większych porcjach.
  • Dostępny rozmiar eMMC . Większy rozmiar pamięci oznacza, że ​​algorytm wyrównywania zużycia może rozłożyć zapisy na większą liczbę bloków.
  • Techniki wyrównywania zużycia.
  • Czynniki środowiskowe . Przykłady obejmują zakres temperatur roboczych zwykle od -20 do 85 stopni Celsjusza; temperatura przekraczająca ten zakres może jeszcze bardziej skrócić żywotność eMMC.

W przypadku karty eMMC z 16 GB przestrzeni użytkowej i 3 tys. cykli kasowania/zapisu szacujemy, co następuje:

Codziennie pisze 16 giga bajtów 32 GB
Szacowany czas życia 10 lat 5 lat

Jednakże system przestałby działać prawidłowo na długo przed całkowitym zużyciem pamięci eMMc w miarę zmniejszania się użytecznej wielkości pamięci, a żywotność pamięci eMMC może być jeszcze krótsza, w zależności od zastosowanych technik poziomowania i wzorców zapisu. Ponadto szacunki te nie uwzględniają skutków źle zachowujących się lub złośliwych aplikacji, które mogą atakować systemy samochodowe, zapisując duże bloki niepotrzebnych danych w eMMC bez specjalnych uprawnień.

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

Realizacja

Android O obsługuje funkcje, które umożliwiają producentom OEM ochronę i monitorowanie wewnętrznej pamięci Android Automotive oraz przedłużenie jej żywotności.

Ogranicz aplikacje innych firm

Aby chronić pamięć wewnętrzną systemu Android Automotive, Android O umożliwia producentom OEM skonfigurowanie, czy aplikacje innych firm mogą być instalowane w pamięci wewnętrznej (aplikacje mogą 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>

Zmniejsz zużycie lampy błyskowej

Producenci OEM zaniepokojeni zużyciem pamięci flash w pamięci wewnętrznej mogą również dodać kartę SD, która jest wystarczająco szybka, aby można ją było używać jako standardowej pamięci masowej. Karta SD zachowuje się następująco:

  • Po przyjęciu karta SD jest szyfrowana i można na niej bezpiecznie przechowywać dane aplikacji.
  • Gniazdo karty SD musi znajdować się w bezpiecznym miejscu (nie oczekuje się od użytkowników częstego wyjmowania karty SD).
  • Karty SD nie można używać do przesyłania danych pomiędzy systemami samochodowymi a komputerem.
  • Wysunięcie karty SD nie ma wpływu na działający system. Nie należy go jednak usuwać, chyba że konieczna jest wymiana.

Aby mieć pewność, że aplikacje innych firm (stworzone przez twórców aplikacji samochodowych) będą mogły zostać zainstalowane na karcie SD, jeśli wymaga tego samochód, twórcy aplikacji samochodowych muszą uwzględnić android: installLocation =["auto" | "preferExternal"] w pliku manifestu aplikacji.

Jeśli samochód nie pozwala na instalowanie aplikacji innych firm w pamięci wewnętrznej (zgodnie z opisem w sekcji Ograniczanie aplikacji innych firm ), bez tej flagi (lub jeśli skonfigurowano ustawienie installLocation =internalOnly ), instalacja aplikacji nie powiedzie się.

Uzyskaj metryki dysku za pomocą Storage

W systemie Android O wprowadzono Storaged – nową usługę systemową, która próbkuje i publikuje metryki dysków i eMMc, takie jak informacje o ogólnym wykorzystaniu dysku, szacowany czas życia eMMC oraz statystyki we/wy dysku dla poszczególnych aplikacji. Producenci OEM mogą wykorzystać te informacje do ostrzegania użytkowników, gdy pamięć wewnętrzna zaczyna zawodzić lub gdy określone aplikacje wykonują zbyt wiele operacji we/wy dysku. Aby uzyskać szczegółowe informacje, zobacz Magazynowanie osprzętu .

Walidacja

Ta funkcja jest testowana w testach PackageManager .