Gestione usura flash

La memoria interna di Android Automotive utilizza una MultiMediaCard incorporata (eMMC) con migliaia di cicli di cancellazione/scrittura; se l'eMMC fallisce, il sistema può diventare inutilizzabile. Poiché i veicoli hanno una lunga durata (in genere oltre 10 anni), l'eMMC deve essere estremamente affidabile. Questa pagina descrive il comportamento dell'eMMC e il modo in cui gli OEM possono ridurre il rischio di un eMMC guasto (e quindi evitare sistemi Android Automotive guasti).

Comportamento dell'eMMC

I dispositivi eMMC utilizzano tecniche di livellamento dell'usura per aggirare le limitazioni di cancellazione/scrittura organizzando i dati e distribuendo le scritture in modo uniforme nel sistema (in modo che nessun singolo blocco fallisca a causa di scritture intensive). La vita stimata dell'eMMC dipende da:

  • Quantità di scritture . Sui telefoni, la quantità di dati scritti nella memoria interna può essere superiore a 10 GB al giorno. Sulle implementazioni automobilistiche, non disponiamo di dati reali sulla quantità di dati che verranno scritti a causa delle app limitate. Tuttavia, quando gli utenti ascoltano in streaming musica di alta qualità e utilizzano la navigazione, osserviamo 50 MB di dati scritti su eMMC ogni minuto. In futuro, potremmo avere altri tipi di app ad alta intensità di scrittura, come le app per fotocamere sul cruscotto che registrano e archiviano continuamente video. Inoltre, alcune auto sono veicoli condivisi utilizzati più ore al giorno. Per questi e altri motivi, ci aspettiamo che le implementazioni Android Automotive abbiano più scritture eMMC rispetto a un telefono.
  • Scrivi modelli . Le scritture e le cancellazioni vengono eseguite in blocchi. La scrittura frequente di dati in blocchi di piccole dimensioni consuma l'eMMC più velocemente rispetto alla scrittura della stessa quantità di dati meno frequentemente e in blocchi più grandi.
  • Dimensioni disponibili di eMMC . Una dimensione di archiviazione maggiore significa che l'algoritmo di livellamento dell'usura può distribuire le scritture su un numero maggiore di blocchi.
  • Indossare tecniche di livellamento.
  • Fattori ambientali . Gli esempi includono un intervallo di temperatura operativa solitamente compreso tra -20 e 85 gradi Celsius; una temperatura oltre questo intervallo potrebbe ridurre ulteriormente la durata dell'eMMC.

Per un eMMC con 16 GB di spazio utilizzabile e 3.000 cicli di cancellazione/scrittura, stimiamo quanto segue:

Scrive ogni giorno 16 GB 32 GB
Durata stimata 10 anni 5 anni

Tuttavia, il sistema smetterebbe di funzionare correttamente molto prima che l'eMMc si esaurisca completamente con la diminuzione delle dimensioni di archiviazione utilizzabili e l'eMMC potrebbe avere una durata ancora più breve a seconda delle tecniche di livellamento e dei modelli di scrittura utilizzati. Inoltre, questa stima non considera gli effetti di app malevole o dannose, che potrebbero attaccare i sistemi automobilistici scrivendo grandi blocchi di dati spazzatura su eMMC senza autorizzazioni speciali.

Per rilevare il possibile guasto eMMC prima che si verifichi effettivamente, è necessario integrare un adeguato monitoraggio dello stato dello storage come parte del monitoraggio generale dello stato del sistema

Implementazione

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

Limita le app di terze parti

Per proteggere la memoria interna del sistema Android Automotive, Android O consente agli OEM di configurare se le app di terze parti possono essere installate nella memoria interna (le app possono scrivere solo nella partizione su cui sono state installate). Per configurare, impostare la seguente configurazione nell'overlay delle risorse:

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

Ridurre l'usura del flash

Gli OEM preoccupati per l'usura della memoria flash sulla memoria interna possono anche aggiungere una scheda SD sufficientemente veloce da essere utilizzata come memoria adottata. La scheda SD ha il seguente comportamento:

  • Una volta adottata, la scheda SD viene crittografata ed è sicura per l'archiviazione dei dati delle app.
  • Lo slot per scheda SD deve trovarsi in una posizione sicura (non è previsto che gli utenti rimuovano frequentemente la scheda SD).
  • La scheda SD non può essere utilizzata per trasferire dati tra i sistemi automobilistici e un computer.
  • L'espulsione della scheda SD non influisce sul sistema in esecuzione. Tuttavia, non dovrebbe essere rimosso a meno che non sia necessario sostituirlo.

Per garantire che le app di terze parti (quelle create dagli sviluppatori di app per auto) possano essere installate sulla scheda SD se l'auto lo richiede, 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 (come descritto in Limitare le app di terze parti ), senza questo flag (o se è configurata l'impostazione installLocation =internalOnly ), l'installazione dell'app non riesce.

Ottieni le metriche del disco con storaged

Android O introduce storaged , un nuovo servizio di sistema che campiona e pubblica parametri di disco ed eMMc come informazioni sull'utilizzo complessivo del disco, stima della durata di eMMC e statistiche di I/O del disco per app. Gli OEM possono utilizzare queste informazioni per avvisare gli utenti quando la memoria interna inizia a fallire o quando app specifiche eseguono troppi I/O del disco. Per i dettagli, fare riferimento a Implementare storaged .

Validazione

Questa funzionalità è testata nei test PackageManager .