Articulo de referencia

Escribir amplificación

Una unidad SSD experimenta amplificación de escritura como resultado de la recolección de basura y la nivelación de desgaste , lo que aumenta las escrituras en la unidad y reduc...

Este es un buen artículo. Haz clic aquí para obtener más información.
Una unidad SSD experimenta amplificación de escritura como resultado de la recolección de basura y la nivelación de desgaste , lo que aumenta las escrituras en la unidad y reduce su vida útil. [ 1 ]

La amplificación de escritura ( WA , por sus siglas en inglés) es un fenómeno indeseable asociado con la memoria flash y las unidades de estado sólido (SSD, por sus siglas en inglés), donde la cantidad real de información escrita físicamente en el medio de almacenamiento es un múltiplo de la cantidad lógica que se pretendía escribir.

Debido a que la memoria flash debe borrarse antes de poder reescribirse, con una granularidad mucho más gruesa en la operación de borrado en comparación con la operación de escritura, [ a ] el proceso para realizar estas operaciones resulta en mover (o reescribir) datos y metadatos del usuario más de una vez. Por lo tanto, reescribir algunos datos requiere que una porción de flash ya utilizada se lea, actualice y escriba en una nueva ubicación, junto con el borrado inicial de la nueva ubicación si se utilizó previamente. Debido a la forma en que funciona la memoria flash, se deben borrar y reescribir porciones mucho mayores de flash de las que realmente requiere la cantidad de datos nuevos. Este efecto multiplicador aumenta la cantidad de escrituras requeridas durante la vida útil de la SSD, lo que acorta el tiempo que puede operar de manera confiable. El aumento de escrituras también consume ancho de banda en la memoria flash, lo que reduce el rendimiento de escritura de la SSD. [ 1 ] [ 3 ] Muchos factores afectarán el WA de una SSD; algunos pueden ser controlados por el usuario y otros son resultado directo de los datos escritos y el uso de la SSD.

Intel y SiliconSystems (adquirida por Western Digital en 2009) utilizaron el término amplificación de escritura en sus artículos y publicaciones en 2008. [ 4 ] La WA se mide típicamente por la relación entre las escrituras confirmadas en la memoria flash y las escrituras provenientes del sistema host. Sin compresión , la WA no puede caer por debajo de uno. Utilizando compresión, SandForce ha afirmado lograr una amplificación de escritura de 0,5, [ 5 ] con valores en el mejor de los casos tan bajos como 0,14 en el controlador SF-2281. [ 6 ]

Operación básica de SSD

La memoria flash NAND escribe datos en  páginas de 4 KiB y borra datos en  bloques de 256 KiB. [ 2 ]

Debido a la naturaleza del funcionamiento de la memoria flash, los datos no se pueden sobrescribir directamente como en un disco duro . Cuando se escriben datos por primera vez en una SSD, todas las celdas comienzan en un estado borrado, por lo que los datos se pueden escribir directamente usando páginas a la vez (a menudo de 4 a 8 kilobytes (KB)). en tamaño). El controlador SSD en la SSD, que administra la memoria flash e interactúa con el sistema host, utiliza un sistema de mapeo lógico-físico conocido como direccionamiento de bloques lógicos (LBA) que forma parte de la capa de traducción de flash (FTL). [ 7 ] Cuando llegan nuevos datos que reemplazan a los datos antiguos ya escritos, el controlador SSD escribirá los nuevos datos en una nueva ubicación y actualizará el mapeo lógico para que apunte a la nueva ubicación física. Los datos en la ubicación anterior ya no son válidos y deberán borrarse antes de que se pueda volver a escribir en esa ubicación. [ 1 ] [ 8 ]

La memoria flash solo se puede programar y borrar un número limitado de veces. Esto se conoce como el número máximo de ciclos de programación/borrado  (  ciclos P/E) que puede soportar durante la vida útil de la memoria flash. La memoria flash de celda de un solo nivel (SLC), diseñada para un mayor rendimiento y una mayor durabilidad, suele funcionar entre 50 000 y 100 000 ciclos. A partir de 2011La memoria flash de celda multinivel ( MLC) está diseñada para aplicaciones de menor costo y tiene un número de ciclos muy reducido , típicamente entre 3000 y 5000. Desde 2013, la memoria flash de celda triple nivel (TLC) (por ejemplo, 3D NAND) está disponible, con un número de ciclos que se reduce a 1000 ciclos de programación-borrado (P/E). Una menor amplificación de escritura es más deseable, ya que corresponde a un número reducido de  ciclos P/E en la memoria flash y, por lo tanto, a una mayor vida útil de la SSD. [ 1 ] El desgaste de la memoria flash también puede causar una degradación del rendimiento, como una degradación de la velocidad de E/S.

Calculando el valor

La amplificación de escritura siempre estuvo presente en las SSD antes de que se definiera el término, pero fue en 2008 cuando tanto Intel [ 4 ] [ 9 ] como SiliconSystems comenzaron a usar el término en sus artículos y publicaciones. [ 10 ] Todas las SSD tienen un valor de amplificación de escritura que se basa tanto en lo que se está escribiendo actualmente como en lo que se escribió previamente en la SSD. Para medir con precisión el valor de una SSD específica, la prueba seleccionada debe ejecutarse durante el tiempo suficiente para asegurar que la unidad haya alcanzado un estado estable . [ 3 ]

Una fórmula simple para calcular la amplificación de escritura de una SSD es: [ 1 ] [ 11 ] [ 12 ]

escribir amplificación=datos escritos en la memoria flashdatos escritos por el host{\displaystyle {\text{amplificación de escritura}}={\frac {\text{datos escritos en la memoria flash}}{\text{datos escritos por el host}}}}

Las dos cantidades utilizadas para el cálculo se pueden obtener a través de las estadísticas SMART (ATA F7/F8; [ 13 ] ATA F1/F9).

Factores que afectan al valor

Muchos factores afectan la amplificación de escritura de una SSD. La siguiente tabla enumera los factores principales y cómo afectan la amplificación de escritura. Para los factores variables, la tabla indica si tienen una relación directa o inversa . Por ejemplo, a medida que aumenta la sobreaprovisionamiento, la amplificación de escritura disminuye (relación inversa). Si el factor es una función de conmutación ( habilitada o deshabilitada ), entonces tiene una relación positiva o negativa . [ 1 ] [ 7 ] [ 14 ]

Recogida de basura

Las páginas se escriben en bloques hasta que se llenan. Luego, las páginas con datos actuales se mueven a un nuevo bloque y el bloque anterior se borra. [ 2 ]

Los datos se escriben en la memoria flash en unidades llamadas páginas (compuestas por varias celdas). Sin embargo, la memoria solo se puede borrar en unidades más grandes llamadas bloques (compuestas por varias páginas). [ 2 ] Si los datos en algunas de las páginas del bloque ya no son necesarios (también llamadas páginas obsoletas), solo las páginas con datos válidos en ese bloque se leen y se reescriben en otro bloque vacío previamente borrado. [ 3 ] Entonces, las páginas libres que quedan al no mover los datos obsoletos están disponibles para nuevos datos. Este es un proceso llamado recolección de basura (GC). [ 1 ] [ 11 ] Todas las SSD incluyen algún nivel de recolección de basura, pero pueden diferir en cuándo y con qué rapidez realizan el proceso. [ 11 ] La recolección de basura es una parte importante de la amplificación de escritura en la SSD. [ 1 ] [ 11 ]

Las lecturas no requieren el borrado de la memoria flash, por lo que generalmente no se asocian con la amplificación de escritura. En el caso limitado de un error de lectura perturbadora , los datos de ese bloque se leen y se reescriben, pero esto no tendría ningún impacto significativo en la amplificación de escritura de la unidad. [ 16 ]

La recolección de basura también lleva a cabo otras operaciones, como el vaciado del búfer (búfer SLC o búfer DRAM) y la actualización de la memoria flash . [ 17 ]

Recogida de basura en segundo plano

El proceso de recolección de basura implica leer y reescribir datos en la memoria flash. Esto significa que una nueva escritura desde el host requerirá primero una lectura de todo el bloque, una escritura de las partes del bloque que aún contienen datos válidos y luego una escritura de los nuevos datos. Esto puede reducir significativamente el rendimiento del sistema. [ 18 ] Muchos controladores SSD implementan la recolección de basura en segundo plano ( BGC ), a veces llamada recolección de basura en inactividad o recolección de basura en tiempo de inactividad ( ITGC ), donde el controlador utiliza el tiempo de inactividad para consolidar bloques de memoria flash antes de que el host necesite escribir nuevos datos. Esto permite que el rendimiento del dispositivo se mantenga alto. [ 19 ]

Si el controlador realizara una recolección de basura en segundo plano para eliminar todos los bloques de reserva antes de que fuera absolutamente necesario, se podrían escribir nuevos datos desde el host sin tener que mover ningún dato previamente, lo que permitiría que el rendimiento operara a su máxima velocidad. La desventaja es que algunos de esos bloques de datos no son necesarios para el host y eventualmente se eliminarán, pero el sistema operativo no le comunicó esta información al controlador (hasta que se introdujo TRIM ). El resultado es que los datos que pronto se eliminarán se reescriben en otra ubicación de la memoria flash, lo que aumenta la amplificación de escritura. En algunas de las SSD de OCZ, la recolección de basura en segundo plano solo limpia una pequeña cantidad de bloques y luego se detiene, limitando así la cantidad de escrituras excesivas. [ 11 ] Otra solución es tener un sistema de recolección de basura eficiente que pueda realizar los movimientos necesarios en paralelo con las escrituras del host. Esta solución es más efectiva en entornos de escritura alta donde la SSD rara vez está inactiva. [ 20 ] Los controladores SSD de SandForce [ 18 ] y los sistemas de Violin Memory tienen esta capacidad. [ 14 ]

Recolección de basura con reconocimiento del sistema de archivos

En 2010, algunos fabricantes (en particular Samsung) introdujeron controladores SSD que extendían el concepto de BGC para analizar el sistema de archivos utilizado en el SSD, con el fin de identificar archivos eliminados recientemente y espacio sin particionar . Samsung afirmó que esto garantizaría que incluso los sistemas (sistemas operativos y hardware del controlador SATA) que no admiten TRIM podrían lograr un rendimiento similar. El funcionamiento de la implementación de Samsung parecía asumir y requerir un sistema de archivos NTFS . [ 21 ] No está claro si esta función sigue estando disponible en los SSD que estos fabricantes comercializan actualmente. Se ha informado de corrupción de datos sistémica en estas unidades si no se formatean correctamente utilizando MBR y NTFS.

RECORTAR

TRIM es un comando SATA que permite al sistema operativo indicarle a una SSD qué bloques de datos previamente guardados ya no son necesarios como resultado de la eliminación de archivos o el formateo del volumen. Cuando el sistema operativo reemplaza un LBA, como ocurre al sobrescribir un archivo, la SSD sabe que el LBA original puede marcarse como obsoleto o inválido y no guardará esos bloques durante la recolección de basura. Si el usuario o el sistema operativo borra un archivo (no solo elimina partes del mismo), el archivo normalmente se marcará para su eliminación, pero el contenido real del disco nunca se borra por completo. Debido a esto, la SSD no sabe que puede borrar los LBA previamente ocupados por el archivo, por lo que seguirá incluyendo dichos LBA en la recolección de basura. [ 22 ] [ 23 ] [ 24 ]

La introducción del comando TRIM resuelve este problema para los sistemas operativos que lo admiten , como Windows 7 , [ 23 ] Mac OS (últimas versiones de Snow Leopard, Lion y Mountain Lion, parcheadas en algunos casos), [ 25 ] FreeBSD desde la versión 8.1, [ 26 ] y Linux desde la versión 2.6.33 del kernel principal de Linux . [ 27 ] Cuando se elimina un archivo permanentemente o se formatea la unidad, el sistema operativo envía el comando TRIM junto con los LBA que ya no contienen datos válidos. Esto informa a la SSD que los LBA en uso se pueden borrar y reutilizar. Esto reduce los LBA que necesitan ser movidos durante la recolección de basura. El resultado es que la SSD tendrá más espacio libre, lo que permite una menor amplificación de escritura y un mayor rendimiento. [ 22 ] [ 23 ] [ 24 ]

Limitaciones y dependencias

El comando TRIM también requiere la compatibilidad de la SSD. Si el firmware de la SSD no admite el comando TRIM, las LBA recibidas con dicho comando no se marcarán como inválidas y la unidad continuará eliminando los datos asumiendo que aún son válidos. Solo cuando el sistema operativo guarde nuevos datos en esas LBA, la SSD sabrá que debe marcar la LBA original como inválida. [ 24 ] Los fabricantes de SSD que no incluyeron originalmente la compatibilidad con TRIM en sus unidades pueden ofrecer una actualización de firmware al usuario o proporcionar una utilidad independiente que extraiga la información sobre los datos inválidos del sistema operativo y realice la operación TRIM en la SSD por separado. El beneficio se obtendría solo después de cada ejecución de dicha utilidad por parte del usuario. El usuario podría configurar esta utilidad para que se ejecute periódicamente en segundo plano como una tarea programada automáticamente. [ 18 ]

El hecho de que una unidad SSD admita el comando TRIM no significa necesariamente que vaya a funcionar a máxima velocidad inmediatamente después de ejecutarlo. El espacio liberado tras el comando TRIM puede estar distribuido aleatoriamente por toda la unidad SSD. Se requerirán varias pasadas de escritura de datos y recolección de basura antes de que esos espacios se consoliden y se observe una mejora en el rendimiento. [ 24 ]

Incluso después de que el sistema operativo y la unidad SSD estén configurados para admitir el comando TRIM, otras condiciones podrían impedir cualquier beneficio de TRIM. A principios de 2010Las bases de datos y los sistemas RAID aún no son compatibles con TRIM y, por lo tanto, no sabrán cómo transmitir esa información a la SSD. En esos casos, la SSD continuará guardando y eliminando esos bloques hasta que el sistema operativo utilice esos LBA para nuevas escrituras. [ 24 ]

El beneficio real del comando TRIM depende del espacio libre disponible para el usuario en la unidad SSD. Si la capacidad de la unidad SSD fuera de 100  GB y el usuario guardara 95  GB de datos, cualquier operación TRIM no añadiría más de 5  GB de espacio libre para la recolección de basura y la nivelación de desgaste. En esos casos, aumentar el sobreaprovisionamiento en 5  GB permitiría que la unidad SSD tuviera un rendimiento más constante, ya que siempre dispondría de esos 5  GB adicionales de espacio libre sin tener que esperar a que el sistema operativo ejecute el comando TRIM. [ 24 ]

Sobreaprovisionamiento

Las tres fuentes (niveles) de sobreaprovisionamiento que se encuentran en las SSD [ 18 ] [ 28 ]

El sobreaprovisionamiento (a veces escrito como OP, over provisioning o overprovisioning) es la diferencia entre la capacidad física de la memoria flash y la capacidad lógica presentada a través del sistema operativo (SO) como disponible para el usuario. Durante las operaciones de recolección de basura, nivelación de desgaste y mapeo de bloques defectuosos en la SSD, el espacio adicional del sobreaprovisionamiento ayuda a reducir la amplificación de escritura cuando el controlador escribe en la memoria flash. [ 4 ] [ 28 ] [ 29 ] La región de sobreaprovisionamiento también se utiliza para almacenar datos de firmware como tablas FTL . Los productos flash de gama media y alta suelen tener espacios de sobreaprovisionamiento más grandes. El sobreaprovisionamiento se representa como una relación porcentual de capacidad adicional con respecto a la capacidad disponible para el usuario: [ 30 ]

sobreaprovisionamiento=capacidad físicacapacidad de usuariocapacidad de usuario{\displaystyle {\text{sobreaprovisionamiento}}={\frac {{\text{capacidad física}}-{\text{capacidad de usuario}}}{\text{capacidad de usuario}}}}

El sobredimensionamiento suele provenir de tres fuentes:

  1. El cálculo de la capacidad y el uso de gigabytes ( GB) como unidad en lugar de gibibytes (GiB). Tanto los fabricantes de HDD como de SSD utilizan el término GB para representar un GB decimal o 1.000.000.000 (=  10⁹ ) bytes. Al igual que la mayoría de los demás sistemas de almacenamiento electrónico, la memoria flash se ensambla en potencias de dos, por lo que el cálculo de la capacidad física de un SSD se basaría en 1.073.741.824 (= 2³⁰ ) por GB binario o GiB. La diferencia entre estos dos valores es del 7,37 % (= ( 2³⁰ − 10⁹ ) / 10⁹ × 100 %). Por lo tanto, un SSD de 128 GB con un 0 % de sobreaprovisionamiento adicional proporcionaría 128.000.000.000 bytes al usuario (de un total de 137.438.953.472). Este 7,37 % inicial normalmente no se cuenta en el número total de sobreaprovisionamiento, y la cantidad real disponible suele ser menor ya que se necesita algo de espacio de almacenamiento para que el controlador realice un seguimiento de los datos que no son del sistema operativo, como los indicadores de estado de los bloques. [ 28 ] [ 30 ] La cifra del 7,37 % puede extenderse al 9,95 % en el rango de terabytes, ya que los fabricantes aprovechan un grado adicional de divergencia de unidades binarias/decimales para ofrecer unidades de 1 o 2 TB de capacidad de 1000 y 2000 GB (931 y 1862 GiB), respectivamente, en lugar de 1024 y 2048 GB (ya que 1 TB = 1.000.000.000.000 bytes en términos decimales, pero 1.099.511.627.776 en binario).           
  2. Decisión del fabricante. Esto se realiza normalmente al 0%, 7%, 14% o 28%, según la diferencia entre el gigabyte decimal de la capacidad física y el gigabyte decimal del espacio disponible para el usuario. Este tipo de sobreaprovisionamiento se suele denominar sobreaprovisionamiento estático. Por ejemplo, un fabricante podría publicar una especificación para su SSD de 100, 112, 120 o 128  GB, basándose en  una capacidad posible de 128 GB. Esta diferencia es del 28%, 14%, 7% y 0% respectivamente, y es la base para que el fabricante afirme que tiene, por ejemplo, un 28% de sobreaprovisionamiento en su unidad. Esto no incluye el 7,37% adicional de capacidad disponible a partir de la diferencia entre el gigabyte decimal y el binario. [ 28 ] [ 30 ]
  3. Espacio libre conocido para el usuario en la unidad, que aumenta la resistencia y el rendimiento a costa de informar sobre porciones no utilizadas, o a costa de la capacidad actual o futura. Este espacio libre puede ser identificado por el sistema operativo mediante el comando TRIM. Este tipo de sobreaprovisionamiento se suele denominar sobreaprovisionamiento dinámico. Alternativamente, algunas unidades SSD proporcionan una utilidad que permite al usuario final seleccionar sobreaprovisionamiento adicional. Además, si una unidad SSD está configurada con un diseño de particionamiento general menor al 100 % del espacio disponible, ese espacio no particionado será utilizado automáticamente por la unidad SSD como sobreaprovisionamiento. [ 30 ] Otra fuente de sobreaprovisionamiento son los límites mínimos de espacio libre del sistema operativo; algunos sistemas operativos mantienen un cierto espacio libre mínimo por unidad, particularmente en la unidad de arranque o principal. Si la unidad SSD puede identificar este espacio adicional, quizás mediante el uso continuo del comando TRIM, entonces esto actúa como sobreaprovisionamiento semipermanente. El sobreaprovisionamiento a menudo reduce la capacidad del usuario, ya sea temporal o permanentemente, pero ofrece una amplificación de escritura reducida, mayor resistencia y mayor rendimiento. [ 20 ] [ 29 ] [ 31 ] [ 32 ] [ 33 ]

Espacio de usuario gratuito

El controlador SSD utilizará los bloques libres de la SSD para la recolección de basura y la nivelación de desgaste. La porción de la capacidad de usuario que no contenga datos de usuario (ya sea que se haya aplicado TRIM o que nunca se haya escrito) se verá como espacio sobreaprovisionado (hasta que el usuario guarde nuevos datos en la SSD). Si el usuario guarda datos que consumen solo la mitad de la capacidad total de usuario de la unidad, la otra mitad de la capacidad de usuario se verá como sobreaprovisionamiento adicional (siempre que el comando TRIM sea compatible con el sistema). [ 24 ] [ 34 ]

Búfer DRAM

El búfer DRAM (si está presente) en los dispositivos flash (normalmente SSD ) se puede utilizar para almacenar en caché la tabla FTL, almacenar en búfer las escrituras de datos y la recolección de basura.

Borrado seguro

El comando ATA Secure Erase está diseñado para eliminar todos los datos del usuario de una unidad. Con una SSD sin cifrado integrado, este comando restaurará la unidad a su estado original de fábrica. Inicialmente, esto restaurará su rendimiento al nivel más alto posible y la mejor (menor) amplificación de escritura posible, pero tan pronto como la unidad comience a recolectar basura nuevamente, el rendimiento y la amplificación de escritura comenzarán a regresar a los niveles anteriores. [ 35 ] [ 36 ] Muchas herramientas utilizan el comando ATA Secure Erase para restablecer la unidad y también proporcionan una interfaz de usuario. Una herramienta gratuita que se menciona comúnmente en la industria se llama HDDerase . [ 36 ] [ 37 ] GParted y los CD de Ubuntu Live proporcionan un sistema Linux de arranque con utilidades de disco, incluido el borrado seguro. [ 38 ]

Las unidades que cifran todas las escrituras sobre la marcha pueden implementar el borrado seguro ATA de otra manera. Simplemente borran completamente y generan una nueva clave de cifrado aleatoria cada vez que se realiza un borrado seguro. De esta forma, los datos antiguos ya no se pueden leer, puesto que no se pueden descifrar. [ 39 ] Algunas unidades con cifrado integrado también borrarán físicamente todos los bloques después, mientras que otras pueden requerir que se envíe un comando TRIM a la unidad para restaurarla a su estado original de fábrica (ya que de lo contrario su rendimiento podría no maximizarse). [ 40 ]

Nivelación del desgaste

Si un bloque específico se programara y borrara repetidamente sin escribir en ningún otro bloque, este se desgastaría antes que los demás, acortando así prematuramente la vida útil de la unidad SSD. Por este motivo, los controladores de las unidades SSD utilizan una técnica llamada nivelación de desgaste para distribuir las escrituras de la forma más uniforme posible entre todos los bloques de memoria flash de la unidad.

En un escenario ideal, esto permitiría escribir cada bloque hasta su vida útil máxima, de modo que todos fallaran al mismo tiempo. Desafortunadamente, el proceso para distribuir uniformemente las escrituras requiere que los datos previamente escritos y que no cambian ( datos fríos ) se muevan, para que los datos que cambian con mayor frecuencia (datos calientes) puedan escribirse en esos bloques. Cada vez que se reubican datos sin que el sistema host los modifique, esto aumenta la amplificación de escritura y, por lo tanto, reduce la vida útil de la memoria flash. La clave está en encontrar un algoritmo óptimo que maximice ambos aspectos. [ 41 ]

Separación de datos estáticos y dinámicos

La separación de datos estáticos (fríos) y dinámicos (calientes) para reducir la amplificación de escritura no es un proceso sencillo para el controlador SSD. Este proceso requiere que el controlador SSD separe los LBA con datos que cambian constantemente y requieren reescritura (datos dinámicos) de los LBA con datos que rara vez cambian y no requieren reescritura (datos estáticos). Si los datos se mezclan en los mismos bloques, como ocurre en casi todos los sistemas actuales, cualquier reescritura requerirá que el controlador SSD reescriba tanto los datos dinámicos (que causaron la reescritura inicialmente) como los datos estáticos (que no requerían reescritura). Cualquier recolección de basura de datos que de otro modo no habría requerido movimiento aumentará la amplificación de escritura. Por lo tanto, separar los datos permitirá que los datos estáticos permanezcan inactivos y, si nunca se reescriben, tendrán la menor amplificación de escritura posible para ese tipo de datos. La desventaja de este proceso es que, de alguna manera, el controlador SSD aún debe encontrar una forma de nivelar el desgaste de los datos estáticos, ya que aquellos bloques que nunca cambian no tendrán la oportunidad de escribirse hasta alcanzar su máximo de ciclos P/E. [ 1 ]

Implicaciones del desempeño

Escritura secuencial

Cuando una SSD escribe grandes cantidades de datos de forma secuencial, la amplificación de escritura es igual a uno, lo que significa que hay menos amplificación de escritura. La razón es que, a medida que se escriben los datos, todo el bloque (flash) se llena secuencialmente con datos relacionados con el mismo archivo. Si el sistema operativo determina que ese archivo debe reemplazarse o eliminarse, todo el bloque puede marcarse como inválido, y no es necesario leer partes del mismo para la recolección de basura y reescribirlo en otro bloque. Solo será necesario borrarlo, lo cual es mucho más fácil y rápido que el proceso de lectura-borrado-modificación-escritura necesario para los datos escritos aleatoriamente que pasan por la recolección de basura. [ 7 ]

Escritos aleatorios

El máximo rendimiento de escritura aleatoria en una SSD se logra gracias a la gran cantidad de bloques libres disponibles después de que la SSD haya sido completamente eliminada mediante recolección de basura, borrado seguro, TRIM al 100% o recién instalada. La velocidad máxima dependerá del número de canales flash paralelos conectados al controlador de la SSD, la eficiencia del firmware y la velocidad de escritura de la memoria flash en una página. Durante esta fase, la amplificación de escritura alcanzará su máximo valor para escrituras aleatorias y se aproximará a uno. Una vez que todos los bloques se hayan escrito una vez, comenzará la recolección de basura y el rendimiento estará limitado por la velocidad y la eficiencia de dicho proceso. La amplificación de escritura en esta fase aumentará hasta alcanzar los niveles máximos que la unidad pueda experimentar. [ 7 ]

Impacto en el rendimiento

El rendimiento general de una SSD depende de varios factores, incluida la amplificación de escritura. Escribir en un dispositivo de memoria flash lleva más tiempo que leer desde él. [ 19 ] Generalmente, una SSD utiliza múltiples componentes de memoria flash conectados en paralelo como canales para aumentar el rendimiento. Si la SSD tiene una alta amplificación de escritura, el controlador deberá escribir esa cantidad de veces más en la memoria flash. Esto requiere aún más tiempo para escribir los datos desde el host. Una SSD con una baja amplificación de escritura no necesitará escribir tantos datos y, por lo tanto, puede terminar de escribir antes que una unidad con una alta amplificación de escritura. [ 1 ] [ 8 ]

Declaraciones del producto

En septiembre de 2008, Intel anunció la unidad SSD SATA X25-M con una WA reportada tan baja como 1.1. [ 5 ] [ 42 ] En abril de 2009, SandForce anunció la familia de procesadores SSD SF-1000 con una WA reportada de 0.5 que utiliza compresión de datos para lograr una WA inferior a 1.0. [ 5 ] [ 43 ] Antes de este anuncio, una amplificación de escritura de 1.0 se consideraba la más baja que se podía alcanzar con una unidad SSD. [ 19 ]

Véase también

Notas

  1. Los datos se escriben en la memoria flash en unidades llamadas páginas, que están compuestas por varias celdas. Sin embargo, la memoria flash solo se puede borrar en unidades más grandes llamadas bloques, que están compuestas por varias páginas. [ 2 ]

Referencias

  1. 1 2 3 4 5 6 7 8 9 10 Hu, X.-Y.; E. Eleftheriou; R. Haas; I. Iliadis; R. Pletka (2009). Análisis de amplificación de escritura en unidades de estado sólido basadas en memoria flash . IBM . CiteSeerX 10.1.1.154.8668 . 
  2. 1 2 3 4 Thatcher, Jonathan (18 de agosto de 2009). "Rendimiento y capacidad del almacenamiento de estado sólido NAND Flash: una mirada en profundidad" (PDF) . SNIA. Archivado del original (PDF) el 7 de septiembre de 2012. Recuperado el 28 de agosto de 2012 .
  3. 1 2 3 Smith, Kent (17 de agosto de 2009). "Benchmarking SSDs: The Devil is in the Preconditioning Details" (PDF) . SandForce . Recuperado el 10 de noviembre de 2016 .
  4. 1 2 3 Lucchesi, Ray (septiembre de 2008). "Las unidades flash SSD entran en la empresa" (PDF) . Silverton Consulting . Recuperado el 18 de junio de 2010 .
  5. 1 2 3 Shimpi, Anand Lal (31-12-2009). "Vista previa del Vertex 2 Pro de OCZ: la SSD MLC más rápida que hemos probado" . AnandTech . Recuperado el 16-06-2011 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  6. Ku, Andrew (6 de febrero de 2012). "Análisis del Intel SSD 520: Tecnología de SandForce: Amplificación de escritura muy baja" . TomsHardware . Consultado el 10 de febrero de 2012 .
  7. 1 2 3 4 Hu, X.-Y. y R. Haas (31 de marzo de 2010). "El límite fundamental del rendimiento de escritura aleatoria en memoria flash: comprensión, análisis y modelado del rendimiento" (PDF) . IBM Research, Zúrich. Archivado del original (PDF) el 13 de julio de 2011. Recuperado el 19 de junio de 2010 .
  8. 1 2 Agrawal, N., V. Prabhakaran, T. Wobber, JD Davis, M. Manasse, R. Panigrahy (junio de 2008). Design Tradeoffs for SSD Performance . Microsoft . CiteSeerX 10.1.1.141.1709 . {{cite book}}: CS1 maint: varios nombres: lista de autores ( enlace )
  9. Case, Loyd (8 de septiembre de 2008). "Análisis de la unidad de estado sólido Intel X25 de 80 GB" . Extremetech . Consultado el 28 de julio de 2011 .
  10. Kerekes, Zsolt. "Almacenamiento de estado sólido de Western Digital – anteriormente SiliconSystems" . ACSL . Consultado el 19 de junio de 2010 .
  11. 1 2 3 4 5 "SSDs – Amplificación de escritura, TRIM y GC" (PDF) . OCZ Technology. Archivado del original (PDF) el 31/10/2012 . Consultado el 13/11/2012 .
  12. "Unidades de estado sólido de Intel" . Intel . Consultado el 31 de mayo de 2010 .
  13. "TN-FD-23: Cálculo del factor de amplificación de escritura" (PDF) . Micron . 2014. Archivado del original (PDF) el 6 de junio de 2023. Consultado el 16 de mayo de 2023 .
  14. ^ Kerekes , Zsolt. "Explicación de la jerga de Flash SSD" . ACSL . Consultado el 31 de mayo de 2010 .
  15. Tran, Manh Dat; Nguyen, Lan Anh; Lee, Hyung Tae; Paek, Jeongyeup; Cho, Sungrae; Son, Yongseok (octubre de 2024). "Un estudio sobre sistemas de archivos de copia en escritura". XV Conferencia Internacional sobre Convergencia de Tecnologías de la Información y la Comunicación (ICTC) de 2024. págs. 436–441 . Bibcode : 2024ictc.conf..442T . doi : 10.1109/ICTC62082.2024.10826721 . ISBN  979-8-3503-6463-7.
  16. "TN-29-17: Consideraciones sobre el diseño y uso de memoria flash NAND" (PDF) . Micron. 2006. Archivado del original (PDF) el 19 de julio de 2011. Consultado el 2 de junio de 2010 .
  17. Yang, Xufeng; Cong, Zhengjian; Gao, Congming (2024). "In-place Switch: Reprogramming based SLC Cache Design for Hybrid 3D SSDS". arXiv : 2409.14360 [ cs.AR ].
  18. 1 2 3 4 Mehling, Herman (2009-12-01). "Las unidades de estado sólido eliminan la basura" . Enterprise Storage Forum . Recuperado el 2010-06-18 .
  19. 1 2 3 Conley, Kevin (27-05-2010). "SSD de la serie Corsair Force: Poniendo un freno a la amplificación de escritura" . Blog de Corsair . Corsair.com . Recuperado el 18-06-2010 .
  20. 1 2 Layton, Jeffrey B. (27 de octubre de 2009). "Anatomía de las SSD" . Linux Magazine . Archivado del original el 31 de octubre de 2009. Recuperado el 19 de junio de 2010 .
  21. Bell, Graeme B. (2010). "Unidades de estado sólido: ¿El principio del fin de las prácticas actuales en la recuperación forense digital?" (PDF) . Revista de informática forense, seguridad y derecho. Archivado del original (PDF) el 5 de julio de 2014. Consultado el 2 de abril de 2012 .
  22. 1 2 Christiansen, Neal (14 de septiembre de 2009). "Soporte para notificaciones de recorte/eliminación de ATA en Windows 7" (PDF) . Storage Developer Conference, 2009. Archivado del original (PDF) el 26 de marzo de 2010. Recuperado el 20 de junio de 2010 .
  23. 1 2 3 Shimpi, Anand Lal (17 de noviembre de 2009). "La improvisación de los SSD: Intel e Indilinx obtienen TRIM, Kingston baja el precio de Intel a 115 dólares" . AnandTech.com. Archivado del original el 3 de abril de 2010. Recuperado el 20 de junio de 2010 .
  24. 1 2 3 4 5 6 7 Mehling, Herman (27-01-2010). "Las unidades de estado sólido se vuelven más rápidas con TRIM" . Enterprise Storage Forum . Recuperado el 20-06-2010 .
  25. "Habilitar TRIM para todas las SSD [ sic ] en Mac OS X Lion" . osxdaily.com. 3 de enero de 2012. Consultado el 14 de agosto de 2012 .
  26. "Notas de la versión FreeBSD 8.1-RELEASE" . FreeBSD.org .
  27. "Características de Linux 2.6.33" . KernelNewbies.org . 4 de febrero de 2010. Consultado el 23 de julio de 2010 .
  28. 1 2 3 4 Bagley, Jim (2009-07-01). "Gestión de la migración de datos, de Tier 1 a SSD Tier 0: Sobreaprovisionamiento: ¿una estrategia ganadora o una retirada?" (PDF) . plianttechnology.com . pág. 2. Archivado del original (PDF) el 2 de septiembre de 2009. Recuperado el 21 de junio de 2016 . 
  29. 1 2 Drossel, Gary (14 de septiembre de 2009). "Metodologías para calcular la vida útil de las SSD" (PDF) . Storage Developer Conference, 2009. Recuperado el 20 de junio de 2010 .
  30. 1 2 3 4 Smith, Kent (2011-08-01). "Understanding SSD Over-provisioning" (PDF) . FlashMemorySummit.com . p. 14. Recuperado el 2012-12-03 . 
  31. Shimpi, Anand Lal (3 de mayo de 2010). "El impacto del área de reserva en SandForce: ¿más capacidad sin pérdida de rendimiento?" . AnandTech.com. pág. 2. Archivado del original el 6 de mayo de 2010. Recuperado el 19 de junio de 2010 . 
  32. OBrien, Kevin (06/02/2012). "Análisis de la unidad SSD Intel 520 Enterprise" . Storage Review . Consultado el 29/11/2012 . El sobreaprovisionamiento del 20 % añade un rendimiento sustancial en todos los perfiles con actividad de escritura.
  33. "Libro blanco: Sobreaprovisionamiento de una SSD Intel" (PDF) . Intel. 2010. Archivado del original (PDF) el 25 de noviembre de 2011. Consultado el 29 de noviembre de 2012 .URL alternativa
  34. Shimpi, Anand Lal (18 de marzo de 2009). "La antología de SSD: Entendiendo las unidades SSD y las nuevas unidades de OCZ" . AnandTech.com. pág. 9. Recuperado el 20 de junio de 2010 . 
  35. Shimpi, Anand Lal (18 de marzo de 2009). "La antología de SSD: Entendiendo las unidades SSD y las nuevas unidades de OCZ" . AnandTech.com. pág. 11. Archivado del original el 28 de abril de 2010. Recuperado el 20 de junio de 2010 . 
  36. 1 2 Malventano, Allyn (13 de febrero de 2009). "Análisis del rendimiento a largo plazo de las unidades SSD Intel Mainstream" . PC Perspective. Archivado del original el 21 de febrero de 2010. Recuperado el 20 de junio de 2010 .
  37. "CMRR – Borrado seguro" . CMRR. Archivado del original el 2 de julio de 2012. Consultado el 21 de junio de 2010 .
  38. OCZ Technology (07/09/2011). "Cómo borrar de forma segura su SSD OCZ usando un CD de arranque de Linux" . Archivado del original el 07/01/2012 . Consultado el 13/12/2014 .
  39. "Análisis del Intel SSD 320: ¡Por fin llegó el G3 de 25 nm!" . anandtech. Archivado del original el 10 de abril de 2011. Consultado el 29 de junio de 2011 .
  40. "SSD Secure Erase – Ziele eines Secure Erase" [ Borrado seguro – Objetivos del borrado seguro ] (en alemán). Thomas-Krenn.AG. 17 de marzo de 2017. Consultado el 8 de enero de 2018 .
  41. Chang, Li-Pin (11 de marzo de 2007). Sobre la nivelación eficiente del desgaste para sistemas de almacenamiento de memoria flash a gran escala . Universidad Nacional ChiaoTung, HsinChu, Taiwán. CiteSeerX 10.1.1.103.4903 . 
  42. "Intel presenta unidades de estado sólido para computadoras portátiles y de escritorio" . Intel. 8 de septiembre de 2008. Consultado el 31 de mayo de 2010 .
  43. "Los procesadores SSD de SandForce transforman el almacenamiento de datos convencional" (PDF) . SandForce. 8 de septiembre de 2008. Consultado el 31 de mayo de 2010 .
  • Logotipo de Wikimedia CommonsContenido multimedia relacionado con la amplificación de textos en Wikimedia Commons