Google 致力于为黑人社区推动种族平等。查看具体举措
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Gestione dell'usura flash in Android Automotive

La memoria interna di Android Automotive utilizza una MultiMediaCard (eMMC) incorporata 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 10+ anni), l'eMMC deve essere estremamente affidabile. Questa pagina descrive il comportamento di eMMC e come gli OEM possono ridurre il rischio di un errore eMMC (e quindi evitare i sistemi Android Automotive guasti).

Comportamento eMMC

I dispositivi eMMC utilizzano tecniche di livellamento dell'usura per aggirare i limiti 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 intense). La durata stimata di 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 Automotive, non disponiamo di dati del mondo reale su quanti dati verranno scritti a causa delle applicazioni limitate. Tuttavia, quando gli utenti trasmettono 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 applicazioni della dashboard della fotocamera che registrano e archiviano continuamente video. Inoltre, alcune auto saranno veicoli condivisi utilizzati più ore ogni giorno. Per questi e altri motivi, ci aspettiamo che le implementazioni di Android Automotive abbiano più scritture eMMC di un telefono.
  • Scrivi schemi . Le scritture e le cancellazioni vengono eseguite in blocchi. Scrivere i dati frequentemente in piccoli blocchi 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 di esercizio normalmente compreso tra -20 e 85 gradi Celsius; temperature oltre questo intervallo potrebbero ridurre ulteriormente la durata dell'eMMC.

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

Daily scrive 16 GB 32 GB
Tempo di vita stimato 10 anni 5 anni

Tuttavia, il sistema smetterebbe di funzionare correttamente molto prima che l'eMMc si esaurisca completamente man mano che la dimensione di archiviazione utilizzabile diminuisce 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 mal funzionanti o dannose, che potrebbero attaccare i sistemi Automotive scrivendo grandi blocchi di dati spazzatura su eMMC senza autorizzazioni speciali.

Per rilevare il possibile errore di eMMC prima che si verifichi effettivamente, è necessario integrare un adeguato monitoraggio dell'integrità dello storage come parte del monitoraggio dello stato di salute generale 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.

Limitazione delle app di terze parti

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

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

Riduzione dell'usura del flash

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

  • Una volta adottata, la scheda SD verrà crittografata ed è sicura per l'archiviazione dei dati dell'app.
  • Lo slot per scheda SD deve essere in un luogo sicuro (gli utenti non sono tenuti a rimuovere frequentemente la scheda SD).
  • La scheda SD non può essere utilizzata per il trasferimento di dati tra i sistemi Automotive e un computer.
  • L'espulsione della scheda SD non influirà su un sistema in esecuzione. Tuttavia, non deve essere rimosso a meno che non sia necessario sostituirlo.

Per garantire che le applicazioni di seconda parte (quelle create dagli sviluppatori di app per auto) possano essere installate sulla scheda SD se l'automobile 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 Limitazione delle app di terze parti ), senza questo flag (o se è configurata l'impostazione installLocation =internalOnly ), l'installazione dell'app non riuscirà.

Ottenere le metriche del disco con archiviato

Android O introduce archiviato , un nuovo servizio di sistema che campiona e pubblica le metriche del disco e dell'eMMc come le informazioni sull'utilizzo complessivo del disco, la stima della durata di eMMC e le statistiche di I / O del disco dell'applicazione. Gli OEM possono utilizzare queste informazioni per avvisare gli utenti quando la memoria interna inizia a non funzionare o quando applicazioni specifiche eseguono troppe operazioni di I / O del disco. Per i dettagli, fare riferimento a Implementing storageaged .

Validazione

Questa funzione viene testata nei test di PackageManager .