Tiempo de retención de datos de memoria flash

8

Me gustaría comprar una de esas unidades de información / entretenimiento para automóviles Android. Pero no creo que haya una manera de reinstalar el software del sistema si se corrompe, por lo que me preocupa cuánto tiempo 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.

De acuerdo con SanDisk ,

La retención de datos flash MLC es de órdenes de magnitud menor que el 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 los datos mejor si el controlador se enciende de vez en cuando para escanear y corregir los errores de bits que se arrastran".

Eso significa que friegan / actualizan al igual que para DRAM, como se propone aquí .

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

Pero, ¿cuál es el tiempo de retención de datos en bruto sin actualización / depuración 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 gigabyte y no cerca del 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 no corregida? ¿O mejora más allá de eso?

Yale Zhang
fuente
Pregunta muy interesante
neverMind9
La longevidad de los datos depende en gran medida del uso de la celda. En una situación de automóvil, no debe ciclarse con tanta frecuencia. Eso es aparte de la corrección de errores, y en un estado sin energía.
Zacarías

Respuestas:

1

Pero no creo que haya una manera 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 de seguridad integradas. Primero, hay una copia de todo el sistema operativo escondido 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 dispositivo fue flasheado originalmente por el fabricante. 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 eso de alguna manera se corrompe, lo que no ocurrirá 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 gestor de arranque. Esto se almacena en la sección especial del gestor de arranque de un dispositivo NAND, por lo general está protegido contra escritura, se habrá escrito exactamente una vez, y se encuentra en un área de flash que tendrá ciertas especificaciones mínimas, incluido ningún sector defectuoso, ese tipo de cosas . Excepto Samsung (que no creo que incluso haga sistemas de infoentretenimiento para automóviles), un dispositivo Android tendrá instalado el gestor de arranque fastboot como su gestor de arranque. fastboot le permitirá escribir directamente en el flash NAND (excepto en el sector del gestor de arranque protegido contra escritura) y reinstalar todo. Sin embargo, generalmente 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 infoentretenimiento disponibles en XDA.

En cuanto a la retención de datos real de flash MLC NAND, parece confundir dos cosas diferentes. SanDisk, JEDEC JESD218A, ese documento que vinculó, 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 de ciclo P / E pesada retenga datos durante tanto tiempo, pero esto es totalmente irrelevante para lo que está hablando.

Todo el artículo habla de extender la vida útil de algo en el contexto de extender cuántos ciclos P / E puede soportar antes de que la tasa de error de bits 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 mostró. Y esto no es accidental, 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 de cargador de arranque protegido.

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

Según Cypress Semiconductor, por ejemplo, un flash MLC de 2bpc (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 de P / E a 55 grados C, por lo que se borra cada 3.7 días. Pero casi no habrá borrados, si no 0 borrados, en las secciones de recuperación y cargador de arranque de su unidad de infoentretenimiento.

Y esta vez se alarga mucho a temperaturas más bajas.

Si su automóvil está estacionado directamente al sol todo el día en un día caluroso de 32-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 55 grados C. La mayoría de los lugares, pasará una cantidad muy pequeña de tiempo con su interior tan caliente como 55 grados C.

En pocas palabras, 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 actualizar) o el cargador de arranque 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 sucedió (lo que no ocurrirá, incluso después de 200,000 millas), se puede solucionar fácilmente.

metacollin
fuente
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 expuestos más tarde a través de USB, están realmente más seguros de la pérdida de datos celulares que cualquier otra parte del flash. A menos que haya un cargador de arranque USB en la ROM real, puede morir.
Chris Stratton