Gestione usura flash

La memoria interna di Android Automotive utilizza la memoria flash con migliaia di cicli di cancellazione e scrittura. In caso di errore della memoria flash, il sistema può diventare inutilizzabile. Poiché i veicoli hanno una lunga durata (in genere più di 10 anni), la memoria flash deve essere estremamente affidabile. In questa pagina vengono descritti il comportamento della memoria flash e il modo in cui gli OEM possono ridurre il rischio di malfunzionamento dei dispositivi con memoria flash.

Prestazioni della memoria flash

I dispositivi di memoria flash utilizzano tecniche di livellamento di usura per aggirare i limiti di cancellazione e scrittura l'organizzazione dei dati e la distribuzione delle scritture in modo uniforme nel sistema, in modo che nessun blocco si verifichi a causa di scritture intensive. La durata stimata della memoria flash dipende da:

  • Numero di operazioni di scrittura
  • Pattern di scrittura
  • Dimensioni disponibili della memoria flash. In più, lo stoccaggio di grandi dimensioni comporta un algoritmo in grado di distribuire le scritture su un numero maggiore di blocchi.
  • Tecniche di livellamento indossabile
  • Fattori ambientali. Ad esempio, un intervallo di temperature di funzionamento solitamente da -20 a 85 gradi Celsius. Temperature al di fuori di questo intervallo potrebbero ulteriormente ridurre la durata della memoria flash.

La durata della memoria flash può essere calcolata con l'aiuto di questa formula:

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

Tuttavia, il sistema smetterà di funzionare correttamente molto prima che la memoria flash si esaurisse completamente diminuendo le dimensioni dello spazio di archiviazione utilizzabile e la durata della memoria eMMC potrebbe essere ancora più breve, a seconda sulle tecniche di livellamento e sui pattern di scrittura utilizzati. Inoltre, questa stima non considerare gli effetti di app che funzionano in modo scorretto o dannose, che potrebbero danneggiare i sistemi di Automotive tramite scrivere grandi blocchi di dati indesiderati nella memoria flash senza autorizzazioni speciali.

Per rilevare un possibile errore della memoria flash prima che si verifichi effettivamente, le funzionalità di monitoraggio devono essere integrate nel monitoraggio dello stato di integrità del sistema

Implementazione di memoria flash

Android Automotive supporta funzionalità che consentono agli OEM di proteggere e monitorare i sistemi memoria interna per prolungarne la durata.

Riduzione dell'uso del flash

Gli OEM preoccupati per l'usura del flash sulla memoria interna possono anche aggiungere una scheda SD abbastanza velocemente utilizzata come spazio di archiviazione adottato. La scheda SD deve avere le seguenti proprietà:

  • Una volta adottata, la scheda SD è criptata ed è sicura per l'archiviazione dei dati delle app.
  • Lo slot della scheda SD deve essere in un luogo sicuro (non è previsto che gli utenti rimuovano la scheda SD spesso).
  • Impossibile utilizzare la scheda SD per trasferire dati tra sistemi automobilistici e un computer.
  • L'espulsione della scheda SD non influisce su un sistema in esecuzione. Tuttavia, non deve essere rimosso a meno che da sostituire.

App su schede SD

Per proteggere ulteriormente la memoria interna del sistema Android Automotive, gli OEM possono specificare se possono essere installate app di terze parti nella memoria interna in modo che possano scrivere su cui sono installati. Per effettuare la configurazione, imposta la configurazione seguente in l'overlay della risorsa:

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

Per garantire che app di terze parti (sviluppate da sviluppatori di app per auto) possano essere installate sulle schede SD, se i mandati relativi alle auto, gli sviluppatori di app devono includere android:installLocation=["auto" | "preferExternal"] nel file manifest dell'app.

Se l'auto non consente l'installazione di app di terze parti nella memoria interna, l'installazione delle app non riesce senza questo flag (o se installLocation=internalOnly è configurata).

Recupera metriche del disco

AAOS 13 ha introdotto il monitoraggio e la raccolta di metriche per un utilizzo eccessivo della memoria flash come parte del modello Car Controllore. Per maggiori dettagli, vedi Monitorare l'utilizzo della memoria flash.

Android 8 ha introdotto storaged,un servizio di sistema che campiona e pubblica dischi e flash metriche di memoria, come informazioni sull'utilizzo complessivo del disco, stima della durata della memoria flash, e statistiche di I/O su disco per app. Gli OEM possono utilizzare queste informazioni per avvisare gli utenti quando lo spazio di archiviazione interno inizia a non funzionare o quando app specifiche eseguono troppi I/O del disco. Per maggiori dettagli, vedi Implementa Storaged.