stringtranslate.com

Nivelación de desgaste

La nivelación de desgaste (también escrita como nivelación de desgaste ) es una técnica [1] para prolongar la vida útil de algunos tipos de medios de almacenamiento de computadora borrables , como la memoria flash , que se utiliza en unidades de estado sólido (SSD) y unidades flash USB . y memoria de cambio de fase . Existen varios mecanismos de nivelación del desgaste que proporcionan distintos niveles de mejora de la longevidad en dichos sistemas de memoria. [2] [3]

Western Digital ha utilizado el término nivelación de desgaste preventiva (PWL) para describir su técnica de preservación utilizada en unidades de disco duro (HDD) diseñadas para almacenar datos de audio y video. [4] Sin embargo, los discos duros generalmente no son dispositivos con nivel de desgaste en el contexto de este artículo.

Razón fundamental

La EEPROM y los medios de memoria flash tienen segmentos que se pueden borrar individualmente, cada uno de los cuales puede pasar por un número limitado de ciclos de borrado antes de dejar de ser confiable. Esto suele ser alrededor de 3000/5000 ciclos [5] [6] , pero muchos dispositivos flash tienen un bloque con una vida útil especialmente extendida de más de 100 000 ciclos que puede ser utilizado por el controlador de memoria Flash para rastrear el desgaste y el movimiento de datos a través de segmentos. Los medios ópticos borrables , como CD-RW y DVD-RW, tienen una capacidad nominal de hasta 1000 ciclos (100 000 ciclos para medios DVD-RAM ).

La nivelación de desgaste intenta solucionar estas limitaciones organizando los datos de manera que los borrados y reescrituras se distribuyan uniformemente en todo el medio. De esta manera, ningún bloque de borrado falla prematuramente debido a una alta concentración de ciclos de escritura. [7] En la memoria flash, un solo bloque en el chip está diseñado para una vida útil más larga que los demás, de modo que el controlador de memoria pueda almacenar datos operativos con menos posibilidades de corrupción. [3] [8]

Los sistemas de archivos convencionales como FAT , UFS , HFS / HFS+ , EXT y NTFS se diseñaron originalmente para discos magnéticos y, como tales, reescriben muchas de sus estructuras de datos (como sus directorios) repetidamente en la misma área. Cuando estos sistemas se utilizan en soportes de memoria flash, esto se convierte en un problema. El problema se agrava por el hecho de que algunos sistemas de archivos rastrean los tiempos del último acceso, lo que puede llevar a que los metadatos del archivo se reescriban constantemente en el lugar. [9]

Tipos

Hay tres tipos básicos de mecanismos de nivelación de desgaste utilizados en dispositivos de almacenamiento de memoria flash: [2]

Nivelación sin desgaste

Un sistema de almacenamiento de memoria flash sin nivelación de desgaste no durará mucho si se escriben datos en la memoria flash. Sin nivelación de desgaste, el controlador flash subyacente debe asignar permanentemente las direcciones lógicas del sistema operativo (OS) a las direcciones físicas de la memoria flash. Esto significa que cada escritura en un bloque escrito previamente debe primero leerse, borrarse, modificarse y reescribirse en la misma ubicación. Este enfoque requiere mucho tiempo y las ubicaciones escritas con frecuencia se desgastarán rápidamente, mientras que otras ubicaciones no se utilizarán en absoluto. Una vez que algunos bloques llegan al final de su vida útil, dicho dispositivo deja de funcionar. [2]

Nivelación dinámica del desgaste

El primer tipo de nivelación de desgaste se llama nivelación de desgaste dinámica y utiliza un mapa para vincular direcciones de bloques lógicos (LBA) desde el sistema operativo a la memoria flash física. Cada vez que el sistema operativo escribe datos de reemplazo, el mapa se actualiza de modo que el bloque físico original se marca como datos no válidos y se vincula un nuevo bloque a esa entrada del mapa. Cada vez que se reescribe un bloque de datos en la memoria flash, se escribe en una nueva ubicación. Sin embargo, los bloques de memoria flash que nunca obtienen datos de reemplazo no sufrirían desgaste adicional, por lo que el nombre proviene únicamente de los datos dinámicos que se reciclan. Un dispositivo de este tipo puede durar más que uno sin nivelación de desgaste, pero aún quedan bloques activos aunque el dispositivo ya no esté operativo. [2] [3]

Nivelación de desgaste estático

El otro tipo de nivelación de desgaste se llama nivelación de desgaste estática y también utiliza un mapa para vincular el LBA a las direcciones de memoria física. La nivelación de desgaste estático funciona igual que la nivelación de desgaste dinámico, excepto que los bloques estáticos que no cambian se mueven periódicamente para que estas celdas de bajo uso puedan ser utilizadas por otros datos. Este efecto de rotación permite que un SSD continúe funcionando hasta que la mayoría de los bloques estén cerca del final de su vida útil. [2] [3]

Nivelación de desgaste global

Tanto la nivelación de desgaste dinámica como estática se implementan a nivel local. Esto simplemente significa que en un producto de múltiples chips, cada chip se administra como un único recurso. La cantidad de bloques defectuosos en diferentes chips dentro de una memoria flash NAND varía: un chip determinado podría tener todos sus bloques de datos desgastados mientras que otro chip en el mismo dispositivo podría tener todos sus bloques aún activos. La nivelación de desgaste global aborda este problema administrando todos los bloques de todos los chips en la memoria flash juntos, en un solo grupo. Garantiza que todas las celdas de todos los chips del producto se desgasten de manera uniforme. [10] [11]

Comparación

La siguiente tabla compara la nivelación de desgaste estática y dinámica: [3]

Técnicas

Existen varias técnicas para prolongar la vida útil de los medios:

En las tarjetas Secure Digital y unidades flash USB , las técnicas [12] se implementan en el hardware mediante un microcontrolador incorporado . En dichos dispositivos, la nivelación del desgaste es transparente y el sistema de archivos convencional como FAT se puede utilizar tal cual.

La nivelación del desgaste también se puede implementar en software mediante sistemas de archivos de propósito especial como JFFS2 y YAFFS en medios flash o UDF en medios ópticos. Los tres son sistemas de archivos estructurados en registros en el sentido de que tratan sus medios como registros circulares y les escriben en pases secuenciales. Los sistemas de archivos que implementan estrategias de copia en escritura , como ZFS , también implementan una forma de nivelación de desgaste.

Ver también

Referencias

  1. ^ Patente estadounidense 6.850.443 Técnicas de nivelación de desgaste para sistemas de memoria flash.
  2. ^ abcdef Perdue, Ken (30 de abril de 2010). "Nota de aplicación de nivelación de desgaste" (PDF) . Spansión . Archivado desde el original (PDF) el 7 de junio de 2011 . Consultado el 12 de agosto de 2010 .
  3. ^ abcde "Nivelación de desgaste y vida útil del flash USB" (PDF) . Corsario . Junio ​​de 2007. Archivado desde el original (PDF) el 13 de octubre de 2007 . Consultado el 27 de julio de 2013 .
  4. ^ "Información del producto del disco duro Western Digital AV". Occidente digital. Archivado desde el original el 2 de enero de 2010 . Consultado el 1 de junio de 2010 .
  5. ^ "¿Quieres comprar un SSD? Lee esto primero". Hardware Canucks .
  6. ^ "Los SSD cambian a NAND de 25 nm: lo que necesita saber | StorageReview.com - Reseñas de almacenamiento". www.storagereview.com . 12 de febrero de 2011. Archivado desde el original el 5 de diciembre de 2019 . Consultado el 5 de diciembre de 2019 .
  7. ^ "Algoritmos y estructuras de datos para memorias flash", E. Gal y S. Toledo, ACM Computing Surveys, 2005
  8. ^ Arnd Bergmann (18 de febrero de 2011). "Optimización de Linux con unidades flash económicas". LWN.net . Consultado el 3 de octubre de 2013 .
  9. ^ Jonathan Corbet (8 de agosto de 2007). "Érase una vez". LWN.net . Consultado el 21 de enero de 2014 .
  10. ^ "Nivelación de desgaste". Trascender . Trascender . Consultado el 20 de noviembre de 2019 .
  11. ^ "Nivelación de desgaste: estática, dinámica y global" (PDF) . Cactos : 5 . Consultado el 20 de noviembre de 2019 .
  12. ^ ab "Tarjetas de memoria SD industriales Swissbit". Electrónica Mouser . Consultado el 21 de abril de 2017 .
  13. ^ Qing Yang (25 de febrero de 2012). "Por qué los algoritmos de caché estándar no funcionan para los SSD". velobit.com . Consultado el 26 de noviembre de 2013 .

enlaces externos