Tiempo de retención de datos de la memoria flash

Me gustaría comprar una de esas unidades de infoentretenimiento/cabeza de coche con Android del mercado. Pero no creo que haya una forma de reinstalar el software del sistema si se corrompe, así que me preocupa cuánto durarán los datos en la memoria Flash.

He encontrado cifras antiguas como 10 o 20 años, pero eso es para celdas grandes de un solo nivel que se encuentran en microcontroladores de 8 bits, no como el MLC que tenemos hoy.

Según SanDisk ,

La retención de datos de la memoria flash MLC es mucho más baja que la de la memoria flash SLC.

Según el estándar JEDEC JESD218A, la retención de datos a 25 °C debe ser de 101 semanas. Otra fuente dice: "La memoria flash retiene mejor los datos si el controlador se enciende de vez en cuando para escanear y corregir cualquier error de bit que aparezca".

Eso significa que limpian/actualizan como para DRAM, como se propone aquí .

¡Retención de datos 46 veces más prolongada! Increíble, pero ¿esto está implementado en todos los dispositivos de memoria Flash hoy en día?

Pero, ¿cuál es el tiempo de retención de datos sin procesar sin actualizar/depurar o ECC para una sola celda? 101 semanas * 46 = 89 años suena demasiado bueno para ser verdad.

Además, ¿cuánta mejora proviene de la corrección de errores?

Obviamente, el tiempo hasta el primer error sin corrección sería muy bajo (¿siguiendo una distribución geométrica?) para un dispositivo de un gigabyte y no se acercaría al tiempo promedio para una celda individual. ¿La corrección de errores aumenta el tiempo de retención para los bits colectivos aproximadamente al mismo tiempo que para una sola celda sin corregir? ¿O mejora más allá de eso?

Pregunta muy interesante.
La longevidad de los datos depende en gran medida del uso que se haga de la celda. En una situación de automóvil, no debe circular con tanta frecuencia. Eso es aparte de la corrección de errores, y en un estado sin energía.

Respuestas (1)

Pero no creo que haya una forma de reinstalar el software del sistema si se corrompe.

Por supuesto que lo hay. ¿Cómo crees que cargaron el software en el dispositivo en primer lugar?

Cada dispositivo Android tiene dos cajas fuertes integradas. Primero, hay una copia de todo el sistema operativo oculta en una partición de recuperación. Esto es lo que le permite hacer una 'restauración' de un dispositivo Android. Lo que realmente está haciendo es reinstalar el software del sistema desde un área protegida en el espacio de direcciones flash NAND. Esta partición de recuperación, en condiciones normales, solo debe escribirse una vez, cuando el fabricante actualizó el dispositivo originalmente. Ocasionalmente, si instala una actualización, puede actualizar la partición de recuperación, pero debe haber ciclos P/E de un solo dígito en esta parte de la memoria flash NAND.

Y si de alguna manera se corrompe, lo cual no sucederá a menos que esté rooteando/flasheando imágenes de recuperación personalizadas u otras cosas 'no compatibles', entonces aún tiene la opción de usar los mismos medios que se usaron para flashear el dispositivo originalmente. Cada dispositivo Android tiene un cargador de arranque. Esto se almacena en la sección especial del cargador de arranque de un dispositivo NAND, generalmente está protegido contra escritura, se habrá escrito exactamente una vez y está ubicado en un área de flash que tendrá ciertas especificaciones mínimas, incluidos sectores defectuosos, ese tipo de cosas. . A excepción de Samsung (que no creo que ni siquiera fabrique sistemas de información y entretenimiento para automóviles), un dispositivo Android tendrá instalado el gestor de arranque fastboot como su gestor de arranque. fastboot le permitirá escribir directamente en la memoria flash NAND (excepto en el sector del cargador de arranque protegido contra escritura) y reinstalar todo. Aunque, por lo general, solo le permitirá instalar firmware firmado que es el software 'oficial' de ese fabricante. Y hay volcados de rom para casi todas estas unidades de información y entretenimiento disponibles en XDA.

En cuanto a la retención de datos real de MLC NAND flash, parece estar confundiendo dos cosas diferentes. SanDisk, JEDEC JESD218A, ese documento que vinculaste y la cifra de 101 semanas, ninguno de ellos es relevante aquí. Esos están hablando de tiempo de vida de uso activo. Como en, someterse a una determinada tasa diaria de empresa o cliente de ciclos de borrado de programas. Se espera que una unidad con muchos ciclos de P/E retenga datos durante tanto tiempo, pero esto es totalmente irrelevante para lo que está hablando.

Todo el documento habla de extender la vida útil de algo en el contexto de extender la cantidad de ciclos P/E que puede soportar antes de que la tasa de error de bit sea demasiado alta. Esto es irrelevante para las secciones de recuperación y cargador de arranque de su unidad de infoentretenimiento porque no están experimentando ningún ciclo de P/E. Teóricamente, probablemente solo se escribirán una vez, cuando el fabricante los haya actualizado. Y esto no es por accidente, los ingenieros son conscientes de las limitaciones del flash y han diseñado dispositivos para tener en cuenta estas limitaciones en consecuencia. De ahí la sección de recuperación particionada y la sección del gestor de arranque protegido.

Cuando se habla de pura retención de datos para la memoria flash en ciclos de P/E bajos, no importa de qué tipo, todavía usa inyección de túnel, ya sea de puerta flotante o MLC, y en ciclos de P/E bajos, tendrá los mismos tiempos de retención. Aún no se habrán acumulado defectos que permitan la fuga de la carga en comparación con la tasa base, por lo que ser MLC no importa en este momento.

Según Cypress Semiconductor, por ejemplo, un flash MLC de 2 bpc (2 bits por celda), a < 50 ciclos P/E, tiene la misma retención de datos que cualquier otro tipo de flash: 20 años a 55 grados C. En realidad, tiene Vida útil de 10 años después de 1000 ciclos P/E a 55 grados C, por lo que se borra cada 3,7 días. Pero casi no habrá borrados, si no en realidad 0 borrados, en las secciones de recuperación y cargador de arranque de su unidad de infoentretenimiento.

Y este tiempo se hace mucho más largo a temperaturas más bajas.

Si su automóvil está estacionado directamente bajo el sol todo el día en un día caluroso de 32 a 33 grados C (90 F), puede alcanzar hasta 55 C (131 F) en el interior durante varias horas.

A temperaturas inferiores a 55 grados C, el tiempo de retención se extiende rápidamente a 50 e incluso 100 años a temperatura ambiente. Lo cual es bueno ya que, en este planeta, su automóvil experimentará la noche y pasará una buena parte de cada día con un interior por debajo de los 55 grados C. En la mayoría de los lugares, pasará una cantidad muy pequeña de tiempo con su interior tan caliente como 55 grados C.

Para resumir, el problema que estás describiendo... no lo es. De todas las partes limitadas de por vida en su automóvil, el software (que se puede volver a actualizar) o el gestor de arranque que se corrompe debido a la pérdida de retención de datos es una de las últimas cosas que fallará. No tiene sentido preocuparse por ello, ya que incluso si sucediera (que no sucederá, incluso después de 200,000 millas), se puede arreglar fácilmente.

Las afirmaciones de Android aquí son en su mayoría incorrectas. La partición de "recuperación" no contiene un sistema completo o capacidad de restauración, solo un sistema mínimo capaz de operar la funcionalidad de actualización de parches. Una "restauración" no devuelve las cosas al firmware original, simplemente elimina las personalizaciones del usuario además de la actualización del sistema instalada más recientemente. Pero lo más crítico de todo es que ni las particiones de recuperación, ni los cargadores de arranque clave de etapa posterior expuestos a través de USB, son realmente más seguros contra la pérdida de datos de la celda que cualquier otra parte del flash. A menos que haya un cargador de arranque USB en la ROM real, puede morir.