Administración del desgaste de la memoria flash

El almacenamiento interno de Android Automotive usa memoria flash con miles de ciclos de borrado y escritura. Si falla la memoria flash, el sistema puede quedar inutilizable. Como los vehículos tienen una vida útil larga (por lo general, más de 10 años), la memoria flash debe ser extremadamente confiable. En esta página, se describe el comportamiento de la memoria flash y cómo los OEM pueden mitigar el riesgo de que fallen los dispositivos de memoria flash.

Rendimiento de la memoria flash

Los dispositivos de memoria flash usan técnicas de nivelación de desgaste para evitar las limitaciones de borrado y escritura mediante la organización de los datos y la distribución de escrituras de manera uniforme en el sistema, de modo que no falle ningún bloque debido a escrituras intensivas. La duración estimada de la memoria flash depende de lo siguiente:

  • Cantidad de escrituras
  • Cómo escribir patrones
  • Tamaño disponible de la memoria flash. Un tamaño de almacenamiento más grande significa que el algoritmo de nivelación de Wear puede distribuir las escrituras en una mayor cantidad de bloques.
  • Usar técnicas de nivelación
  • Factores ambientales. Por ejemplo, el rango de temperatura de funcionamiento suele ser de -20 a 85 grados Celsius. Las temperaturas fuera de este rango podrían acortar aún más la vida útil de la memoria flash.

La vida útil de la memoria flash se puede calcular con la ayuda de esta fórmula:

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

Sin embargo, el sistema dejaría de funcionar correctamente mucho antes de que la memoria flash se desgaste por completo a medida que disminuye el tamaño de almacenamiento utilizable, y la eMMC puede tener una vida útil aún más corta según las técnicas de nivelación y los patrones de escritura utilizados. Además, esta estimación no tiene en cuenta los efectos de las apps maliciosas o que se comportan de forma incorrecta, que podrían interrumpir los sistemas de la industria automotriz con la escritura de grandes bloques de datos no deseados en la memoria flash sin permisos especiales.

Para detectar la posible falla de la memoria flash antes de que ocurra, se debe integrar una supervisión adecuada del estado del almacenamiento como parte de la supervisión general del estado del sistema.

Cómo implementar la memoria flash

Android Automotive admite funciones que permiten a los OEM proteger y supervisar el almacenamiento interno de sus sistemas para prolongar su vida útil.

Reduce el desgaste del flash

Los OEM a los que les preocupa el desgaste de la memoria flash del almacenamiento interno también pueden agregar una tarjeta SD lo suficientemente rápido para usarla como almacenamiento adoptado. Se prevé que la tarjeta SD tenga las siguientes propiedades:

  • Cuando se adopta, la tarjeta SD se encripta y es segura para almacenar datos de apps.
  • La ranura de la tarjeta SD debe estar en una ubicación segura (no se espera que los usuarios quiten la tarjeta SD con frecuencia).
  • La tarjeta SD no se puede usar para transferir datos entre sistemas de Automotive y una computadora.
  • La expulsión de la tarjeta SD no afecta el sistema en ejecución. Sin embargo, no debes quitarlo, a menos que sea necesario reemplazarlo.

Apps en tarjetas SD

Para proteger aún más el almacenamiento interno del sistema Android Automotive, los OEM pueden especificar si se pueden instalar apps de terceros en el almacenamiento interno, de modo que las apps solo puedan escribir en la partición en la que se instalan. Para configurarlo, establece la siguiente configuración en la superposición de recursos:

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

Para garantizar que las apps de terceros (las que compilan los desarrolladores de apps para vehículos) se puedan instalar en las tarjetas SD si el vehículo lo requiere, los desarrolladores de apps para vehículos deben incluir android:installLocation=["auto" | "preferExternal"] en el archivo de manifiesto de la app.

Si el vehículo no permite que se instalen apps de terceros en el almacenamiento interno, la instalación de la app fallará sin esta marca (o si se estableció la configuración installLocation=internalOnly).

Obtén métricas de disco

AAOS 13 introdujo la supervisión del uso excesivo de la memoria flash y la recopilación de métricas como parte de Car Watchdog. Para obtener detalles, consulta Cómo supervisar el uso de la memoria flash.

Android 8 introdujo storaged, un servicio del sistema que muestra y publica métricas de disco y memoria flash, como información sobre el uso general del disco, la estimación de la vida útil de la memoria flash y las estadísticas de E/S de disco por app. Los OEM pueden usar esta información para advertir a los usuarios cuando el almacenamiento interno comienza a fallar o cuando apps específicas realizan demasiadas operaciones de E/S de disco. Para obtener más información, consulta Cómo implementar storaged.