O armazenamento interno do Android Automotive usa memória flash com milhares de ciclos de limpeza e gravação. Se a memória flash falhar, o sistema pode se tornar inutilizável. Como os veículos têm uma vida útil longa, (normalmente por mais de 10 anos), a memória flash deve ser extremamente confiável. Nesta página, descrevemos comportamento da memória flash e como os OEMs podem reduzir o risco de falha em dispositivos de memória flash.
Desempenho da memória flash
Os dispositivos de memória flash usam técnicas de nivelamento de desgaste para contornar limitações de gravação e limpeza organizar os dados e distribuir as gravações de maneira uniforme por todo o sistema, para que nenhum bloco falhe. devido a gravações intensivas. A vida útil estimada da memória flash depende de:
- Número de gravações
- Padrões de gravação
- Tamanho disponível da memória flash. Maior espaço de armazenamento significa que o nivelamento de desgaste pode espalhar as gravações por um número maior de blocos.
- Técnicas de nivelamento do Wear
- Fatores ambientais. Por exemplo, uma faixa de temperatura de funcionamento geralmente entre -20 e 85 graus. Temperaturas fora desse intervalo podem reduzir ainda mais a vida útil da memória flash.
A vida útil da memória flash pode ser calculada com a ajuda desta fórmula:
No entanto, o sistema pararia de funcionar corretamente muito antes da memória flash descarregar conforme o tamanho do armazenamento utilizável diminui, e o eMMC pode ter uma vida útil ainda mais curta, dependendo técnicas de nivelamento e os padrões de gravação usados. Além disso, essa estimativa não considerar os efeitos de apps mal-intencionados ou mal-intencionados, que podem interromper os sistemas automotivos gravar grandes blocos de dados desnecessários na memória flash sem permissões especiais.
Para detectar a possível falha na memória flash antes que ela realmente aconteça, a integridade do armazenamento adequado o monitoramento deve ser integrado como parte do monitoramento geral de integridade do sistema
Implementar memória flash
O Android Automotive oferece suporte a recursos que permitem que OEMs protejam e monitorem os sistemas armazenamento interno para prolongar sua vida útil.
Reduza o desgaste do flash
OEMs preocupados com flash wear no armazenamento interno também podem adicionar um cartão SD rápido o suficiente para ser que são usados como o armazenamento adotado. O cartão SD deve ter as seguintes propriedades:
- Quando adotado, o cartão SD é criptografado e seguro para armazenar dados de apps.
- O slot do cartão SD deve estar em um local seguro (não é esperado que os usuários removam o cartão SD com frequência).
- O cartão SD não pode ser usado para transferir dados entre sistemas automotivos e um computador.
- A ejeção do cartão SD não afeta o sistema em execução. No entanto, ele não deve ser removido, a menos ele precisa ser substituído.
Apps em cartões SD
Para proteger ainda mais o armazenamento interno do sistema Android Automotive, os OEMs podem especificar se aplicativos de terceiros podem ser instalados no armazenamento interno para que os aplicativos possam gravar apenas no na qual estão instalados. Para configurar, defina a seguinte configuração em a sobreposição de recursos:
<bool name="config_allow3rdPartyAppOnInternal">false</bool>
Para garantir que apps de terceiros (criados por desenvolvedores de apps para carros) possam ser instalados em cartões SD,
as autorizações do carro, os desenvolvedores de apps para carros precisam incluir
android:installLocation=["auto" | "preferExternal"]
no arquivo de manifesto do app.
Se o carro não permitir que apps de terceiros sejam instalados no armazenamento interno, a instalação de apps
vai falhar sem essa flag (ou se installLocation=internalOnly
está definida).
Acessar métricas de disco
O AAOS 13 lançou o monitoramento de uso excessivo de memória flash e a coleta de métricas como parte do pacote Carro Cão de guarda. Para mais detalhes, consulte Monitore o uso da memória flash.
O Android 8 lançou o storaged,um serviço do sistema que faz amostras e publica amostras e publica arquivos métricas de memória, como informações sobre o uso geral do disco, estimativa da vida útil da memória flash, e estatísticas de E/S de disco por app. Os OEMs podem usar essas informações para avisar os usuários quando o armazenamento interno comece a falhar ou quando apps específicos estiverem executando muitas E/S de disco. Para mais detalhes, consulte Implementar o storaged.