La amplificación de escritura ( WA ) es un fenómeno indeseable asociado con la memoria flash y las unidades de estado sólido (SSD) 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 pretende escribir.
Debido a que la memoria flash debe borrarse antes de que se pueda reescribir, con una granularidad mucho más burda de la operación de borrado en comparación con la operación de escritura, [a] el proceso para realizar estas operaciones da como resultado mover (o reescribir) datos de usuario y metadatos.mas de una vez. Por lo tanto, reescribir algunos datos requiere que se lea, actualice y escriba una parte de flash ya utilizada en una nueva ubicación, junto con borrar inicialmente la nueva ubicación si se usó anteriormente en algún momento. Debido a la forma en que funciona el flash, se deben borrar y reescribir porciones mucho más grandes de lo que realmente requiere la cantidad de datos nuevos. Este efecto multiplicador aumenta la cantidad de escrituras necesarias durante la vida útil del SSD, lo que acorta el tiempo que puede funcionar de manera confiable. El aumento de escrituras también consume ancho de banda a la memoria flash, lo que reduce el rendimiento de escritura aleatoria en el SSD. [1] [3] Muchos factores afectarán el WA de un SSD; algunos pueden ser controlados por el usuario y otros son el resultado directo de los datos escritos y el uso del SSD.
Intel y SiliconSystems (adquiridos por Western Digital en 2009) usaron el término amplificación de escritura en sus artículos y publicaciones ya en 2008. [4] WA se mide típicamente por la proporción de escrituras comprometidas en la memoria flash y escritas provenientes del host. sistema. Sin compresión , WA no puede caer por debajo de uno. Usando 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
Debido a la naturaleza del funcionamiento de la memoria flash, los datos no se pueden sobrescribir directamente como ocurre en una unidad de disco duro . Cuando los datos se escriben por primera vez en un SSD, todas las celdas comienzan en un estado borrado, por lo que los datos se pueden escribir directamente utilizando páginas a la vez (a menudo, de 4 a 8 kilobytes (KB)[actualizar]en tamaño). El controlador SSD en el SSD, que administra la memoria flash y las interfaces con el sistema host, utiliza un sistema de mapeo lógico a físico conocido como direccionamiento de bloque lógico (LBA) y que forma parte de la capa de traducción flash (FTL). [7] Cuando nuevos datos reemplazan los datos más antiguos ya escritos, el controlador SSD escribirá los nuevos datos en una nueva ubicación y actualizará el mapeo lógico para apuntar a la nueva ubicación física. Los datos de la ubicación anterior ya no son válidos y deberán borrarse antes de que la ubicación pueda volver a escribirse. [1] [8]
La memoria flash se puede programar y borrar solo un número limitado de veces. Esto a menudo se conoce como el número máximo de ciclos de programa / borrado ( ciclos P / E) que puede mantener durante la vida útil de la memoria flash. El flash de celda de un solo nivel (SLC), diseñado para un mayor rendimiento y una mayor resistencia, normalmente puede funcionar entre 50.000 y 100.000 ciclos. A partir de 2011[actualizar], el flash de celda multinivel (MLC) está diseñado para aplicaciones de menor costo y tiene un recuento de ciclos muy reducido, típicamente entre 3,000 y 5,000. Desde 2013, el flash de celda de triple nivel (TLC) (por ejemplo, 3D NAND) ha estado disponible, con conteos de ciclos que caen a 1,000 ciclos de borrado de programa (P / E). Es más deseable una amplificación de escritura más baja, 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 del SSD. [1]
Calculando el valor
La amplificación de escritura siempre estuvo presente en los 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] Todos los SSD tienen un valor de amplificación de escritura y se basa tanto en lo que se está escribiendo actualmente como en lo que se escribió anteriormente en el SSD. Para medir con precisión el valor de un SSD específico, la prueba seleccionada debe ejecutarse durante el tiempo suficiente para garantizar que la unidad haya alcanzado una condición de estado estable . [3]
Una fórmula simple para calcular la amplificación de escritura de un SSD es: [1] [11] [12]
Factores que afectan el valor
Muchos factores afectan la amplificación de escritura de un SSD. La siguiente tabla enumera los factores principales y cómo afectan la amplificación de escritura. Para los factores que son variables, la tabla indica si tiene una relación directa o inversa . Por ejemplo, a medida que aumenta la cantidad de sobreaprovisionamiento, la amplificación de escritura disminuye (relación inversa). Si el factor es una función de alternancia ( habilitada o deshabilitada ), entonces tiene una relación positiva o negativa . [1] [7] [13]
Factor | Descripción | Tipo | Relación* |
---|---|---|---|
Recolección de basura | La eficiencia del algoritmo utilizado para elegir el siguiente mejor bloque para borrar y reescribir | Variable | Inverso (bueno) |
Sobreaprovisionamiento | El porcentaje de capacidad física que se asigna al controlador SSD | Variable | Inverso (bueno) |
Comando TRIM para SATA o UNMAP para SCSI | Estos comandos deben ser enviados por el sistema operativo (SO) que le dice al dispositivo de almacenamiento qué sectores contienen datos no válidos. Los SSD que consumen estos comandos pueden recuperar las páginas que contienen estos sectores como espacio libre cuando los bloques que contienen estas páginas se borran en lugar de copiar los datos no válidos para limpiar páginas. | Palanca | Positivo (bueno) |
Espacio de usuario gratuito | El porcentaje de la capacidad del usuario libre de datos reales del usuario; requiere TRIM, de lo contrario, el SSD no se beneficia de ninguna capacidad de usuario gratuita | Variable | Inverso (bueno) |
Borrado seguro | Borra todos los datos del usuario y los metadatos relacionados, lo que restablece el SSD al rendimiento inicial listo para usar (hasta que se reanude la recolección de basura) | Palanca | Positivo (bueno) |
Nivelación de desgaste | La eficiencia del algoritmo que garantiza que cada bloque se escriba el mismo número de veces en todos los demás bloques de la manera más uniforme posible. | Variable | Directo (malo) |
Separación de datos estáticos y dinámicos | Agrupar datos según la frecuencia con la que tienden a cambiar | Palanca | Positivo (bueno) |
Escrituras secuenciales | En teoría, las escrituras secuenciales tienen una amplificación de escritura de 1, pero otros factores aún afectarán el valor | Palanca | Positivo (bueno) |
Escrituras aleatorias | Escribir en LBA no secuenciales tendrá el mayor impacto en la amplificación de escritura | Palanca | Negativo (malo) |
Compresión de datos que incluye deduplicación de datos | La amplificación de escritura disminuye y la velocidad de SSD aumenta cuando la compresión de datos y la deduplicación eliminan más datos redundantes. | Variable | Inverso (bueno) |
Uso de MLC NAND en modo SLC | Esto escribe datos a una velocidad de un bit por celda en lugar del número diseñado de bits por celda (normalmente dos bits por celda) para acelerar las lecturas y escrituras. Si se acercan los límites de capacidad del NAND en el modo SLC, el SSD debe volver a escribir los datos más antiguos escritos en el modo SLC en el modo MLC o TLC para permitir que se borre el espacio en el modo SLC NAND para aceptar más datos. Sin embargo, este enfoque puede reducir el desgaste al mantener las páginas que se cambian con frecuencia en el modo SLC para evitar programar estos cambios en el modo MLC o TLC, porque escribir en el modo MLC o TLC hace más daño al flash que escribir en el modo SLC. [ cita requerida ] Por lo tanto, este enfoque aumenta la amplificación de la escritura, pero podría reducir el desgaste cuando los patrones de escritura apuntan a páginas escritas con frecuencia. Sin embargo, los patrones de escritura secuencial y aleatoria agravarán el daño porque no hay o hay pocas páginas escritas con frecuencia que podrían estar contenidas en el área de SLC, lo que obliga a que los datos antiguos se reescriban constantemente en MLC o TLC desde el área de SLC. . | Palanca | Negativo (malo) |
Tipo | Relación modificada | Descripción |
---|---|---|
Variable | Directo | A medida que aumenta el factor, el WA aumenta |
Inverso | A medida que aumenta el factor, WA disminuye | |
Palanca | Positivo | Cuando el factor está presente el WA disminuye |
Negativo | Cuando el factor está presente el WA aumenta |
Recolección de basura
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 (formadas por varias páginas). [2] Si los datos en algunas de las páginas del bloque ya no son necesarios (también llamados páginas obsoletas), solo las páginas con buenos datos 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] Todos los SSD incluyen algún nivel de recolección de basura, pero pueden diferir en cuándo y qué tan rápido realizan el proceso. [11] La recolección de basura es una parte importante de la amplificación de escritura en el SSD. [1] [11]
Las lecturas no requieren borrar la memoria flash, por lo que generalmente no están asociadas con la amplificación de escritura. En la posibilidad limitada de un error de perturbación de lectura , los datos de ese bloque se leen y se reescriben, pero esto no tendría ningún impacto material en la amplificación de escritura de la unidad. [14]
Recolección de basura de fondo
El proceso de recolección de basura implica leer y reescribir datos en la memoria flash. Esto significa que una nueva escritura del host requerirá primero una lectura de todo el bloque, una escritura de las partes del bloque que aún incluyen datos válidos y luego una escritura de los nuevos datos. Esto puede reducir significativamente el rendimiento del sistema. [15] Algunos controladores SSD implementan recolección de basura en segundo plano ( BGC ), a veces llamada recolección de basura inactiva o recolección de basura en tiempo inactivo ( ITGC ), donde el controlador usa tiempo inactivo 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. [dieciséis]
Si el controlador recolectara todos los bloques de repuesto antes de que fuera absolutamente necesario, los nuevos datos escritos desde el host podrían escribirse sin tener que mover ningún dato por adelantado, permitiendo que el rendimiento funcione a su máxima velocidad. La compensación es que algunos de esos bloques de datos en realidad no son necesarios para el host y eventualmente serán eliminados, pero el sistema operativo no le dijo al controlador esta información (hasta que se introdujo TRIM ). El resultado es que los datos que se eliminarán pronto se reescriben en otra ubicación de la memoria flash, lo que aumenta la amplificación de escritura. En algunos de los SSD de OCZ, la recolección de basura en segundo plano borra solo una pequeña cantidad de bloques y luego se detiene, lo que limita 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 eficaz en entornos de alta escritura donde el SSD rara vez está inactivo. [17] Los controladores SandForce SSD [15] y los sistemas de Violin Memory tienen esta capacidad. [13]
Recolección de basura consciente del sistema de archivos
En 2010, algunos fabricantes (especialmente Samsung) introdujeron controladores SSD que ampliaron el concepto de BGC para analizar el sistema de archivos utilizado en el SSD, para identificar archivos eliminados recientemente y espacio sin particiones . Samsung afirmó que esto aseguraría que incluso los sistemas (sistemas operativos y hardware del controlador SATA) que no son compatibles con TRIM podrían lograr un rendimiento similar. El funcionamiento de la implementación de Samsung pareció asumir y requerir un sistema de archivos NTFS . [18] No está claro si esta función todavía está disponible en los SSD que se envían actualmente de estos fabricantes. Se ha informado de daños sistémicos en los datos de estas unidades si no se formatean correctamente con MBR y NTFS. [ cita requerida ]
PODAR
TRIM es un comando SATA que permite al sistema operativo decirle a un SSD qué bloques de datos previamente guardados ya no son necesarios como resultado de la eliminación de archivos o el formateo de volúmenes. Cuando un LBA es reemplazado por el sistema operativo, como ocurre con la sobrescritura de un archivo, el SSD sabe que el LBA original se puede marcar 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 de él), el archivo normalmente se marcará para su eliminación, pero el contenido real del disco nunca se borrará. Debido a esto, el SSD no sabe que puede borrar los LBA ocupados anteriormente por el archivo, por lo que el SSD seguirá incluyendo dichos LBA en la recolección de basura. [19] [20] [21]
La introducción del comando TRIM resuelve este problema para los sistemas operativos que lo soportan como Windows 7 , [20] Mac OS (últimas versiones de Snow Leopard, Lion y Mountain Lion, parcheadas en algunos casos), [22] FreeBSD desde la versión 8.1 , [23] y Linux desde la versión 2.6.33 de la línea principal del kernel de Linux . [24] Cuando se elimina un archivo de forma permanente 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 al SSD que los LBA en uso se pueden borrar y reutilizar. Esto reduce los LBA que deben moverse durante la recolección de basura. El resultado es que el SSD tendrá más espacio libre, lo que permitirá una menor amplificación de escritura y un mayor rendimiento. [19] [20] [21]
Limitaciones y dependencias
El comando TRIM también necesita el soporte del SSD. Si el firmware en el SSD no es compatible con el comando TRIM, los LBA recibidos con el comando TRIM no se marcarán como no válidos y la unidad continuará recolectando datos como basura, asumiendo que aún son válidos. Solo cuando el sistema operativo guarde nuevos datos en esos LBA, el SSD sabrá marcar el LBA original como no válido. [21] Los fabricantes de SSD que originalmente no incorporaron compatibilidad con TRIM en sus unidades pueden ofrecer una actualización de firmware al usuario o proporcionar una utilidad separada que extrae la información sobre los datos no válidos del sistema operativo y recorta por separado la SSD. El beneficio se obtendría solo después de cada ejecución de esa utilidad por parte del usuario. El usuario puede configurar esa utilidad para que se ejecute periódicamente en segundo plano como una tarea programada automáticamente. [15]
El hecho de que un SSD admita el comando TRIM no significa necesariamente que podrá funcionar a la máxima velocidad inmediatamente después de un comando TRIM. El espacio que se libera después del comando TRIM puede estar en ubicaciones aleatorias repartidas por todo el SSD. Se necesitarán varias pasadas de escritura de datos y recolección de basura antes de que esos espacios se consoliden para mostrar un rendimiento mejorado. [21]
Incluso después de que el sistema operativo y el SSD estén configurados para admitir el comando TRIM, otras condiciones pueden impedir cualquier beneficio de TRIM. A principios de 2010[actualizar], las bases de datos y los sistemas RAID aún no son compatibles con TRIM y, en consecuencia, no sabrán cómo pasar esa información al SSD. En esos casos, el SSD continuará guardando y recolectando basura esos bloques hasta que el sistema operativo use esos LBA para nuevas escrituras. [21]
El beneficio real del comando TRIM depende del espacio libre para el usuario en el SSD. Si la capacidad del usuario en el SSD era de 100 GB y el usuario realmente guardaba 95 GB de datos en la unidad, cualquier operación de TRIM no agregaría más de 5 GB de espacio libre para la recolección de basura y la nivelación del desgaste. En esas situaciones, aumentar la cantidad de sobreaprovisionamiento en 5 GB permitiría que el SSD tuviera un rendimiento más consistente porque siempre tendría los 5 GB adicionales de espacio libre adicional sin tener que esperar a que el comando TRIM provenga del sistema operativo. [21]
Sobreaprovisionamiento
El sobreaprovisionamiento (a veces escrito como OP, sobreaprovisionamiento o sobreaprovisionamiento) 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 el SSD, el espacio adicional del sobreaprovisionamiento ayuda a reducir la amplificación de escritura cuando el controlador escribe en la memoria flash. [4] [25] [26] El sobreaprovisionamiento se representa como una relación porcentual entre la capacidad adicional y la capacidad disponible para el usuario: [27]
El sobreaprovisionamiento generalmente proviene de tres fuentes:
- El cálculo de la capacidad y el uso de gigabytes (GB) como unidad en lugar de gibibytes (GiB). Los proveedores de HDD y SSD utilizan el término GB para representar un GB decimal o 1.000.000.000 (= 10 9 ) bytes. Como la mayoría de los demás dispositivos 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 30 ) por GB o GiB binario . La diferencia entre estos dos valores es 7.37% (= (2 30 - 10 9 ) / 10 9 × 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 pertenecen al sistema operativo, como los indicadores de estado de los bloques. [25] [27] 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 (como 1 TB = 1,000,000,000,000 bytes en términos decimales, pero 1,099,511,627,776 en binario). [ cita requerida ]
- Decisión del fabricante. Esto se hace típicamente al 0%, 7% o 28%, basado en la diferencia entre el gigabyte decimal de la capacidad física y el gigabyte decimal del espacio disponible para el usuario. Por ejemplo, un fabricante podría publicar una especificación para su SSD a 100, 120 o 128 GB basada en 128 GB de capacidad posible. Esta diferencia es del 28%, 7% y 0% respectivamente y es la base para que el fabricante afirme que tiene un 28% de sobreaprovisionamiento en su disco. Esto no cuenta el 7,37% adicional de capacidad disponible de la diferencia entre el gigabyte decimal y binario. [25] [27]
- Espacio de usuario libre conocido en la unidad, que gana resistencia y rendimiento a expensas de informar las porciones no utilizadas, oa expensas de la capacidad actual o futura. Este espacio libre puede ser identificado por el sistema operativo usando el comando TRIM. Alternativamente, algunos SSD proporcionan una utilidad que permite al usuario final seleccionar un sobreaprovisionamiento adicional. Además, si cualquier SSD está configurado con un diseño de partición general menor al 100% del espacio disponible, ese espacio sin particiones también será utilizado automáticamente por el SSD como sobreaprovisionamiento. [27] 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 el arranque o en la unidad principal. Si el SSD puede identificar este espacio adicional, tal vez mediante el uso continuo del comando TRIM, entonces esto actúa como un sobreaprovisionamiento semipermanente. El sobreaprovisionamiento a menudo quita la capacidad del usuario, ya sea de forma temporal o permanente, pero devuelve una amplificación de escritura reducida, una mayor resistencia y un mayor rendimiento. [17] [26] [28] [29] [30]
Espacio de usuario gratuito
El controlador SSD utilizará cualquier bloque libre en el SSD para la recolección de basura y nivelación del desgaste. La parte de la capacidad del usuario que está libre de datos del usuario (ya sea TRIMed o nunca escrita en primer lugar) tendrá el mismo aspecto que el espacio de aprovisionamiento excesivo (hasta que el usuario guarde nuevos datos en el SSD). Si el usuario guarda datos consumiendo solo la mitad de la capacidad total del usuario de la unidad, la otra mitad de la capacidad del usuario se verá como un sobreaprovisionamiento adicional (siempre que el comando TRIM sea compatible con el sistema). [21] [31]
Borrado seguro
El comando ATA Secure Erase está diseñado para eliminar todos los datos del usuario de una unidad. Con un SSD sin cifrado integrado, este comando devolverá la unidad a su estado original de fábrica. Esto inicialmente restaurará su rendimiento al nivel más alto posible y la mejor amplificación de escritura (el número más bajo) 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. [32] [33] Muchas herramientas utilizan el comando ATA Secure Erase para restablecer la unidad y también proporcionar una interfaz de usuario. Una herramienta gratuita a la que se hace referencia comúnmente en la industria se llama HDDerase . [33] [34] Los Live CD de GParted y Ubuntu proporcionan un sistema Linux de arranque de utilidades de disco que incluyen el borrado seguro. [35]
Las unidades que cifran todas las escrituras sobre la marcha pueden implementar ATA Secure Erase de otra manera. Simplemente ponen a cero y generan una nueva clave de cifrado aleatoria cada vez que se realiza un borrado seguro. De esta manera, los datos antiguos ya no se pueden leer, ya que no se pueden descifrar. [36] Algunas unidades con cifrado integrado borrarán físicamente todos los bloques después de eso, mientras que otras unidades pueden requerir que se envíe un comando TRIM a la unidad para devolver la unidad a su estado original de fábrica (de lo contrario es posible que su rendimiento no se maximice). [37]
Borrado seguro ATA: error al borrar los datos
Algunas unidades pueden fallar total o parcialmente en borrar los datos con el borrado seguro ATA, y los datos seguirán siendo recuperables de dichas unidades. [38] [39] [40]
Nivelación de desgaste
Si un bloque en particular se programaba y borraba repetidamente sin escribir en ningún otro bloque, ese bloque se desgastaría antes que todos los demás bloques, lo que terminaría prematuramente con la vida útil del SSD. Por esta razón, los controladores SSD utilizan una técnica llamada nivelación de desgaste para distribuir las escrituras de la manera más uniforme posible en todos los bloques de flash en el SSD.
En un escenario perfecto, esto permitiría que cada bloque se escribiera en su vida máxima para que todos fallaran al mismo tiempo. Desafortunadamente, el proceso para distribuir las escrituras de manera uniforme requiere que los datos previamente escritos y que no cambien (datos fríos) se muevan, de modo que los datos que cambian con más frecuencia (datos activos) se puedan escribir en esos bloques. Cada vez que los datos se reubican sin ser cambiados por el sistema host, esto aumenta la amplificación de escritura y por lo tanto reduce la vida útil de la memoria flash. La clave es encontrar un algoritmo óptimo que maximice ambos. [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 simple para el controlador SSD. El 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 reescrituras (datos estáticos). Si los datos se mezclan en los mismos bloques, como ocurre con casi todos los sistemas actuales, cualquier reescritura requerirá que el controlador SSD recolecte basura tanto los datos dinámicos (que causaron la reescritura inicialmente) como los datos estáticos (que no requirieron ninguna reescritura). Cualquier recolección de basura de datos que de otro modo no hubiera requerido mover aumentará la amplificación de escritura. Por lo tanto, separar los datos permitirá que los datos estáticos permanezcan en reposo y, si nunca se reescriben, tendrán la amplificación de escritura más baja posible para esos datos. El inconveniente de este proceso es que de alguna manera el controlador SSD aún debe encontrar una manera de nivelar los datos estáticos porque esos bloques que nunca cambian no tendrán la oportunidad de escribirse en sus ciclos máximos de P / E. [1]
Implicaciones de rendimiento
Escrituras secuenciales
Cuando un SSD escribe grandes cantidades de datos de forma secuencial, la amplificación de escritura es igual a uno, lo que significa que no hay amplificación de escritura. La razón es que a medida que se escriben los datos, todo el bloque se llena secuencialmente con datos relacionados con el mismo archivo. Si el sistema operativo determina que el archivo debe reemplazarse o eliminarse, todo el bloque se puede marcar como no válido y no es necesario leer partes del mismo para recolectar basura y reescribirlo en otro bloque. Solo será necesario borrarlo , lo que es mucho más fácil y rápido que el proceso de lectura, borrado, modificación y escritura necesario para los datos escritos al azar que pasan por la recolección de basura. [7]
Escrituras aleatorias
El rendimiento máximo de escritura aleatoria en un SSD es impulsado por muchos bloques libres después de que el SSD se recolecta completamente, se borra de forma segura, se recorta al 100% o se instala nuevamente. La velocidad máxima dependerá del número de canales flash paralelos conectados al controlador SSD, la eficiencia del firmware y la velocidad de la memoria flash al escribir en una página. Durante esta fase, la amplificación de escritura será la mejor posible para escrituras aleatorias y se acercará a una. Una vez que todos los bloques estén escritos una vez, comenzará la recolección de basura y el rendimiento dependerá de la velocidad y la eficiencia de ese proceso. La amplificación de escritura en esta fase aumentará a los niveles más altos que experimentará la unidad. [7]
Impacto en el rendimiento
El rendimiento general de un SSD depende de varios factores, incluida la amplificación de escritura. Escribir en un dispositivo de memoria flash lleva más tiempo que leerlo. [16] Un SSD generalmente utiliza varios componentes de memoria flash conectados en paralelo como canales para aumentar el rendimiento. Si el SSD tiene una amplificación de escritura alta, se requerirá que el controlador escriba muchas más veces en la memoria flash. Esto requiere aún más tiempo para escribir los datos del host. Un SSD con una amplificación de escritura baja no necesitará escribir tantos datos y, por lo tanto, puede terminar de escribir antes que una unidad con una amplificación de escritura alta. [1] [8]
Declaraciones de productos
En septiembre de 2008, Intel anunció el SSD X25-M SATA con un WA reportado tan bajo como 1.1. [5] [42] En abril de 2009, SandForce anunció la familia de procesadores SSD SF-1000 con un WA reportado de 0.5 que parece provenir de alguna forma de compresión de datos. [5] [43] Antes de este anuncio, una amplificación de escritura de 1.0 se consideraba la más baja que se podía lograr con un SSD. [dieciséis]
Ver también
- Sistema de archivos flash
- Alineación de partición
- Nivelación de desgaste
Notas
- ^ Los datos se escriben en la memoria flash en unidades llamadas páginas, que se componen de varias celdas. Sin embargo, la memoria solo se puede borrar en unidades más grandes llamadas bloques, que se componen de varias páginas. [2]
Referencias
- ^ a b c d e f g h i j Hu, X.-Y .; E. Eleftheriou; R. Haas; I. Iliadis; R. Pletka (2009). "Escribir análisis de amplificación en unidades de estado sólido basadas en Flash". IBM . CiteSeerX 10.1.1.154.8668 . Cite journal requiere
|journal=
( ayuda ) - ^ a b c d Thatcher, Jonathan (18 de agosto de 2009). "Rendimiento y capacidad de almacenamiento de estado sólido NAND Flash: una mirada en profundidad" (PDF) . SNIA . Consultado el 28 de agosto de 2012 .
- ^ a b c Smith, Kent (17 de agosto de 2009). "Benchmarking SSD: El diablo está en los detalles del preacondicionamiento" (PDF) . SandForce . Consultado el 10 de noviembre de 2016 .
- ^ a b c Lucchesi, Ray (septiembre de 2008). "Las unidades flash SSD entran en la empresa" (PDF) . Consultoría Silverton . Consultado el 18 de junio de 2010 .
- ^ a b c Shimpi, Anand Lal (31 de diciembre de 2009). "Vista previa de OCZ's Vertex 2 Pro: el SSD MLC más rápido que hemos probado" . AnandTech . Consultado el 16 de junio de 2011 .
- ^ Ku, Andrew (6 de febrero de 2012). "Revisión de Intel SSD 520: tecnología de SandForce: amplificación de escritura muy baja" . TomsHardware . Consultado el 10 de febrero de 2012 .
- ^ a b c d Hu, X.-Y. Y R. Haas (31 de marzo de 2010). "El límite fundamental del rendimiento de escritura aleatoria de Flash: comprensión, análisis y modelado de rendimiento" (PDF) . IBM Research, Zúrich . Consultado el 19 de junio de 2010 .
- ^ a b Agrawal, N., V. Prabhakaran, T. Wobber, JD Davis, M. Manasse, R. Panigrahy (junio de 2008). "Diseño de compensaciones para el rendimiento de SSD". Microsoft . CiteSeerX 10.1.1.141.1709 . Cite journal requiere
|journal=
( ayuda )CS1 maint: varios nombres: lista de autores ( enlace ) - ^ Caso, Loyd (8 de septiembre de 2008). "Revisión de la unidad de estado sólido Intel X25 de 80 GB" . Consultado el 28 de julio de 2011 .
- ^ Kerekes, Zsolt. "Almacenamiento de estado sólido Western Digital - anteriormente SiliconSystems" . ACSL . Consultado el 19 de junio de 2010 .
- ^ a b c d e "SSD: amplificación de escritura, TRIM y GC" (PDF) . Tecnología OCZ. Archivado desde el original (PDF) el 31 de octubre de 2012 . Consultado el 13 de noviembre de 2012 .
- ^ "Unidades de estado sólido Intel" . Intel . Consultado el 31 de mayo de 2010 .
- ^ a b Kerekes, Zsolt. "Explicación de la jerga de Flash SSD" . ACSL . Consultado el 31 de mayo de 2010 .
- ^ "TN-29-17: Consideraciones de uso y diseño de Flash NAND" (PDF) . Micrón. 2006 . Consultado el 2 de junio de 2010 .
- ^ a b c d Mehling, Herman (1 de diciembre de 2009). "Unidades de estado sólido sacan la basura" . Foro de almacenamiento empresarial . Consultado el 18 de junio de 2010 .
- ^ a b c Conley, Kevin (27 de mayo de 2010). "SSD de la serie Corsair Force: poner un freno a la amplificación de escritura" . Corsair.com . Consultado el 18 de junio de 2010 .
- ^ a b Layton, Jeffrey B. (27 de octubre de 2009). "Anatomía de los SSD" . Revista Linux . Consultado el 19 de junio de 2010 .
- ^ Bell, Graeme B. (2010). "Unidades de estado sólido: ¿El principio del fin de la práctica actual en la recuperación forense digital?" (PDF) . Revista de Forense Digital, Seguridad y Derecho. Archivado desde el original (PDF) el 5 de julio de 2014 . Consultado el 2 de abril de 2012 .
- ^ a b Christiansen, Neal (14 de septiembre de 2009). "Soporte de notificación ATA Trim / Delete en Windows 7" (PDF) . Conferencia de desarrolladores de almacenamiento, 2009 . Consultado el 20 de junio de 2010 .
- ^ a b c Shimpi, Anand Lal (17 de noviembre de 2009). "SSD Improv: Intel e Indilinx obtienen TRIM, Kingston reduce Intel a $ 115" . AnandTech.com . Consultado el 20 de junio de 2010 .
- ^ a b c d e f g Mehling, Herman (27 de enero de 2010). "Las unidades de estado sólido se vuelven más rápidas con TRIM" . Foro de almacenamiento empresarial . Consultado el 20 de junio de 2010 .
- ^ "Habilite TRIM para todos los SSD [sic] en Mac OS X Lion" . osxdaily.com. 2012-01-03 . Consultado el 14 de agosto de 2012 .
- ^ "Notas de la versión de FreeBSD 8.1-RELEASE" . FreeBSD.org .
- ^ "Características de Linux 2.6.33" . KernelNewbies.org . 2010-02-04 . Consultado el 23 de julio de 2010 .
- ^ a b c d Bagley, Jim (1 de julio de 2009). "Gestión de la migración de datos, de nivel 1 a SSD de nivel 0: sobreaprovisionamiento: ¿una estrategia ganadora o una retirada?" (PDF) . plianttechnology.com . pag. 2. Archivado desde el original (PDF) el 2009-09-02 . Consultado el 21 de junio de 2016 .
- ^ a b Drossel, Gary (14 de septiembre de 2009). "Metodologías para calcular la vida útil de SSD" (PDF) . Conferencia de desarrolladores de almacenamiento, 2009 . Consultado el 20 de junio de 2010 .
- ^ a b c d Smith, Kent (1 de agosto de 2011). "Comprensión del sobreaprovisionamiento de SSD" (PDF) . FlashMemorySummit.com . pag. 14 . Consultado el 3 de diciembre de 2012 .
- ^ Shimpi, Anand Lal (3 de mayo de 2010). "El impacto del área de repuesto en SandForce, ¿más capacidad sin pérdida de rendimiento?" . AnandTech.com. pag. 2 . Consultado el 19 de junio de 2010 .
- ^ OBrien, Kevin (6 de febrero de 2012). "Revisión de Intel SSD 520 Enterprise" . Revisión de almacenamiento . Consultado el 29 de noviembre de 2012 .
El sobreaprovisionamiento del 20% agrega un rendimiento sustancial en todos los perfiles con actividad de escritura
- ^ "Informe técnico: Aprovisionamiento excesivo de un SSD Intel" (PDF) . Intel. 2010. Archivado desde el original (PDF) el 25 de noviembre de 2011 . Consultado el 29 de noviembre de 2012 . URL alternativa
- ^ Shimpi, Anand Lal (18 de marzo de 2009). "La antología SSD: comprensión de SSD y nuevas unidades de OCZ" . AnandTech.com. pag. 9 . Consultado el 20 de junio de 2010 .
- ^ Shimpi, Anand Lal (18 de marzo de 2009). "La antología SSD: comprensión de SSD y nuevas unidades de OCZ" . AnandTech.com. pag. 11 . Consultado el 20 de junio de 2010 .
- ^ a b Malventano, Allyn (13 de febrero de 2009). "Análisis de rendimiento a largo plazo de SSD Intel Mainstream" . Perspectiva de PC . Consultado el 20 de junio de 2010 .
- ^ "CMRR - Borrado seguro" . CMRR . Consultado el 21 de junio de 2010 .
- ^ Tecnología OCZ (2011-09-07). "Cómo borrar de forma segura su SSD OCZ mediante un CD de arranque de Linux" . Archivado desde el original el 7 de enero de 2012 . Consultado el 13 de diciembre de 2014 .
- ^ "La revisión Intel SSD 320: 25nm G3 finalmente está aquí" . anandtech . Consultado el 29 de junio de 2011 .
- ^ "SSD Secure Erase - Ziele eines Secure Erase" [Borrado seguro - Objetivos del borrado seguro] (en alemán). Thomas-Krenn.AG. 2017-03-17 . Consultado el 8 de enero de 2018 .
- ^ "ATA Secure Erase (SE) y hdparm" . 2016-11-06 . Consultado el 8 de enero de 2018 .
- ^ "Cuidado: cuando el BORRADO SEGURO no se borra en absoluto" . El HDD Oracle. 2015-11-15 . Consultado el 8 de enero de 2018 .
- ^ Wei, Michael; Grupp, Laura M .; Spada, Frederick E .; Swanson, Steven (15 al 17 de febrero de 2011). Borrado confiable de datos de unidades de estado sólido basadas en flash (PDF) . IX Congreso USENIX sobre Tecnologías de Archivo y Almacenamiento (FAST'11). San José, California . Consultado el 8 de enero de 2018 .
- ^ Chang, Li-Pin (11 de marzo de 2007). "Sobre nivelación de desgaste eficiente para sistemas de almacenamiento de memoria flash a gran escala". Universidad Nacional ChiaoTung, HsinChu, Taiwán. CiteSeerX 10.1.1.103.4903 . Cite journal requiere
|journal=
( ayuda ) - ^ "Intel presenta unidades de estado sólido para portátiles y ordenadores de sobremesa" . Intel. 2008-09-08 . Consultado el 31 de mayo de 2010 .
- ^ "Los procesadores SandForce SSD transforman el almacenamiento de datos convencional" (PDF) . SandForce. 2008-09-08 . Consultado el 31 de mayo de 2010 .
enlaces externos
- Medios relacionados con la amplificación de escritura en Wikimedia Commons