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. Dato che i veicoli hanno una lunga durata (in genere più di 10 anni), le memoria flash devono essere estremamente affidabili. Questa pagina descrive il comportamento della memoria flash e come gli OEM possono ridurre il rischio di malfunzionamenti dei dispositivi di 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 organizzando i dati e distribuendo le scritture in modo uniforme in tutto il 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. Maggiore dimensione dell'archiviazione significa che l'algoritmo di livellamento dell'usura può distribuire le scritture su un numero maggiore di blocchi.
  • Tecniche di livellamento indossabile
  • Fattori ambientali. Ad esempio, la temperatura di funzionamento è compresa tra -20 e 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 esaurisca completamente man mano che la dimensione dello spazio di archiviazione utilizzabile diminuisce e l'eMMC potrebbe avere una durata ancora più breve a seconda delle tecniche di livellamento e dei pattern di scrittura utilizzati. Inoltre, questa stima non considera gli effetti di app dannose o che non funzionano correttamente, che potrebbero interrompere i sistemi Auto e motori scrivendo grandi blocchi di dati indesiderati nella memoria flash senza autorizzazioni speciali.

Per rilevare un possibile errore della memoria flash prima che si verifichi effettivamente, è necessario integrare un corretto monitoraggio dello stato di integrità dello spazio di archiviazione nell'ambito del monitoraggio dello stato di integrità del sistema complessivo

Implementazione di memoria flash

Android Automotive supporta funzionalità che consentono agli OEM di proteggere e monitorare la memoria interna dei sistemi 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 da poter essere 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 trovarsi in un luogo sicuro (non è previsto che gli utenti rimuovano spesso la scheda SD).
  • 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 non debba essere sostituito.

App su schede SD

Per proteggere ulteriormente la memoria interna del sistema Android Automotive, gli OEM possono specificare se è possibile installare app di terze parti nella memoria interna, in modo che le app possano scrivere solo sulla partizione su cui sono installate. Per configurarla, imposta la configurazione seguente nell'overlay delle risorse:

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

Per garantire che le app di terze parti (sviluppate da sviluppatori di app per auto) possano essere installate sulle schede SD se i requisiti relativi alle auto, gli sviluppatori di app per auto 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 è configurata l'impostazione installLocation=internalOnly).

Recupera metriche del disco

AAOS 13 ha introdotto il monitoraggio dell'overuse della memoria flash e la raccolta di metriche nell'ambito di Car Watchdog. Per maggiori dettagli, vedi Monitorare l'utilizzo della memoria flash.

Android 8 ha introdotto l'archiviazione, un servizio di sistema che campiona e pubblica metriche relative a disco e memoria flash, come informazioni sull'utilizzo complessivo del disco, stima della durata della memoria flash e statistiche di I/O per disco dell'app. Gli OEM possono utilizzare queste informazioni per avvisare gli utenti quando la memoria interna inizia a non funzionare o quando app specifiche eseguono troppi I/O del disco. Per maggiori dettagli, consulta Implementare Storaged.