Una unidad eMMC de Kingston sobre un segundo plano de carcasa de máquina negra.

Estimación, validación y monitorización del ciclo de vida útil de eMMC

Procesos manejados por el bus NAND

El almacenamiento Flash NAND no es un simple soporte de lectura/escritura de datos. Para su uso fiable es necesario implementar diversos algoritmos: administración de los bloques NAND, recolección de basura, control de errores y nivelado de desgaste. El almacenamiento Flash NAND moderno se administra con algoritmos en el dispositivo de almacenamiento, y no se implementa en el procesador anfitrión. Esto beneficia al usuario, ya que de este modo la administración de NAND resulta menos compleja para el host y simplifica el soporte y mantenimiento del producto.

La escritura del anfitrión en el Flash NAND puede tener ineficiencias que provocan que el soporte se desgaste antes. La unidad organizativa más pequeña del NAND es la página, que puede ser leída y programada, pero no borrada. La única unidad organizativa que puede borrarse es el bloque, que consta de varias páginas. Por consiguiente, las páginas no pueden sobrescribirse hasta que no se borra un bloque. Los bloques pueden fallar con el correr del tiempo, al alcanzar su nivel de duración. También pueden producirse defectos debido a fallos precoces.

El Flash NAND dispone de ciclos de borrado de programa limitados. Alcanzar ese límite implica que el dispositivo se encuentra en estado de fin de ciclo y que, por consiguiente, ya no es fiable. La duración varía, en función de la configuración de las celdas de NAND.

Configuración de celdas de un nivel: esta configuración se caracteriza por su mayor duración y su más elevado margen de error.

eMMC LBA 512B Sector Address

NAND Page & Block Address
0:31 Blk10, Pg101
32:63 Blk10, Pg102
64:95 Blk10, Pg103
96:127 Blk10, Pg104
128:159 Blk15, Pg57
160:191 Blk8, Pg129
192:223 Blk10, Pg107
224:255 Blk22, Pg88

eMMC lee y escribe en unidades de sector de 512 bytes que son lógicas, no físicas. Las direcciones de sector se denominan Direcciones de bloque lógicas (Logical Block Addresses, o LBA). Cuando los datos son modificados, borrar el bloque NAND íntegro resulta poco práctico, ya que causa un desgaste ineficiente en las páginas que no cambiaron. Un esquema de asignación LBA-PBA (Direcciones de bloque físicas) permite escrituras más pequeñas para equilibrar el desgaste del bloque, un método denominado nivelación del desgaste. Mediante una tabla de traducción de direcciones, las LBA se asignan a las PBA. Este proceso equilibra el desgaste de los bloques y mejora la velocidad de escritura.

El mecanismo del proceso de asignación de direcciones es el siguiente:

  • los sectores de eMMC son de 512 bytes, en tanto que las páginas de NAND son de 16 kb. Una tabla de asignaciones agrupa 32 direcciones de sector secuenciales en una unidad de una página.
  • Si se modifica un sector de un grupo de páginas, el controlador leerá el grupo íntegro de sectores de dicha página, actualizará los sectores modificados y, por último, programará nuevos datos en una nueva página.
  • Tras programar la página actualizada, la tabla a su vez es actualizada, sobrescribiendo las entradas anteriores con la dirección de bloque y de página de la página NAND actualizada.
  • Incluso si se modificó un solo sector, el Flash NAND debe programar una página entera. Esta ineficiencia se denomina Amplificación de escritura. La relación entre escrituras de Flash NAND y de escrituras a nivel del dispositivo eMMC es lo que se denomina WAF (Factor de amplificación de escritura, Write Amplification Factor).

Normalmente, las pequeñas reescrituras aleatorias no en páginas es la mayor fuente de amplificación de escritura. Para minimizar el WAF, las escrituras deben alinearse, dentro del límite de una página, en múltiplos de unidades de tamaño de página. Este tamaño de unidad óptimo se encuentra en el campo Tamaño de escritura óptimo del Registro CSD extendido.

La fórmula para determinar el total de bytes escritos, o TBW, es muy sencilla:

(Capacidad del dispositivo * Factor de duración) / WAF = TBW

A menudo, el WAF se sitúa entre 4 y 8, aunque depende del comportamiento de escritura del sistema anfitrión. Por ejemplo, grandes escrituras secuenciales generan un WAF más bajo, en tanto que escrituras aleatorias de pequeños bloques de datos conllevan un WAF mayor. Este tipo de comportamiento suele conllevar desperfectos tempranos de los dispositivos de almacenamiento.

Por ejemplo, un eMMC de 4 GB, con un factor de duración de 3000 y un WAF de 8 sería equivalente a:

(4 GB * 3000) / 8 = 1,5 TB

El Total de bytes escritos del dispositivo eMMC es de 1,5 TB. Por consiguiente, podremos escribir 1,5 TB de datos durante la vida útil del producto hasta alcanzar el estado de fin de ciclo de vida.

Para estimar sus necesidades de TBW, calcule el uso diario del dispositivo en cuestión. Por ejemplo, para una carga de trabajo que suponga un uso de escritura diario de 500 MB (y con un ciclo de vida previsto de 5 años) se necesitará un dispositivo capaz de alcanzar un TBW superior a 915 GB:

0,5 GB * 365 = ~183 GB anuales, o 915 GB en 5 años

El TBW puede emplearse para determinar el WAF máximo admisible de un dispositivo, dado que TBW = (DC * EF) / WAF. Si su dispositivo no puede alcanzar el TBW objetivo para la aplicación del producto, puede tratar de mejorarla. Puede considerar ponerla en modo Celda de nivel pseudoúnico, lo cual decuplica la duración al convertir al dispositivo de un TLC o MLC a un modo de un único bit por celda. No obstante, esto reduce drásticamente la capacidad: 50% en un dispositivo MLC de dos bits por celda, y más de un 66% en un dispositivo TLC de tres bits. Si esta solución fuese insatisfactoria, también sería de ayuda elegir un dispositivo más grande para procesar la misma carga de trabajo. Un dispositivo de doble capacidad puede duplicar el TBW.

Los algoritmos de eMMC de Kingston consiguen un factor de amplificación de escritura bajo. Ofrecemos diversas configuraciones para equilibrar el rendimiento, la vida útil y la fiabilidad. La edad del dispositivo puede utilizarse las herramientas de estimación de ciclo de vida de JEDEC que encontrará en EXT_CSD, una función compartida por todos los dispositivos eMMC. La vida se indica en incrementos del 10%, y se basa en la duración del dispositivo. Una herramienta indica la edad de los bloques Flash NAND configurados en TLC o MLC, en tanto que otra indica la edad de los bloques configurados en el modo pseudo-SLC. Por otra parte, los dispositivos eMMC de Kingston incorporan comandos para obtener la edad promedio de los bloques del dispositivo. Son más exactos que las herramientas de JEDEC, aunque requieren implementar una pequeña medida de desarrollo de software- Otra opción es enviar su dispositivo a Kingston para que se le realice un análisis más exhaustivo.

#KingstonIsWithYou

promo embedded

Pregunte a un experto

Para planificar la solución adecuada es necesario conocer los requisitos de su sistema y de sus proyectos. Permita que los expertos de Kingston le orienten.

Pregunte a un experto

Vídeos relacionados

Artículos relacionados