Múltiples (pero no muy recientes) fuentes sugieren que ~ 7% del espacio SSD debe dejarse sin asignar para reducir el desgaste de la unidad. ¿Sigue siendo válido por ahora o la situación ha cambiado?
Múltiples (pero no muy recientes) fuentes sugieren que ~ 7% del espacio SSD debe dejarse sin asignar para reducir el desgaste de la unidad. ¿Sigue siendo válido por ahora o la situación ha cambiado?
Respuestas:
Windows generalmente usará TRIM. Esto significa que siempre que tenga X% de espacio libre en el sistema de archivos, la unidad verá X% como no asignado. [*] No se requiere un sobreaprovisionamiento.
Excepción: históricamente, los SSD con controladores / firmware Sandforce no han restaurado el rendimiento completo después de TRIM :(.
La pérdida de rendimiento en el disco completo puede ser significativa, y más que otras unidades. Esto se asociará con una alta amplificación de escritura y, por lo tanto, aumenta el desgaste. Fuente: revisiones de Anandtech.
Entonces es necesario si y solo si
No es demasiado difícil habilitar TRIM en Linux, y es poco probable que note algún problema.
Afortunadamente, varias de las marcas más populares hacen su propio controlador. Los controladores Sandforce ya no son tan populares como solían ser. Los problemas de Sandforce me hacen escéptico sobre ese diseño de controlador "inteligente" específico, que fue muy agresivo para su época. Disculpas a Sandforce, pero no tengo una referencia para los modelos exactos de controladores afectados.
[*] A los sistemas de archivos también les gusta tener mucho espacio libre para reducir la fragmentación. Por lo tanto, TRIM es excelente, ya que no tiene que agregar dos márgenes de seguridad juntos, el mismo espacio libre ayuda a ambos :). La unidad puede aprovechar el espacio no asignado para mejorar el rendimiento, además de evitar un alto desgaste como usted dice.
Los controladores SSD modernos son lo suficientemente inteligentes como para que el sobreaprovisionamiento no sea normalmente necesario para el uso diario. Sin embargo, todavía hay situaciones, principalmente en entornos de centros de datos, donde se recomienda el sobreaprovisionamiento. Para comprender por qué el exceso de aprovisionamiento puede ser útil, es necesario comprender cómo funcionan los SSD.
Las SSD usan un tipo de memoria llamada memoria flash NAND . A diferencia de los discos duros, las celdas NAND que contienen datos no se pueden sobrescribir directamente; la unidad necesita borrar los datos existentes antes de poder escribir datos nuevos. Además, si bien los SSD escriben datos en páginas que normalmente tienen un tamaño de 4 KB a 16 KB, solo pueden borrar datos en grandes grupos de páginas llamadas bloques , generalmente varios cientos de KB a varios MB de tamaño en los SSD modernos.
NAND también tiene una cantidad limitada de resistencia de escritura . Para evitar reescribir datos innecesariamente con el fin de borrar bloques, y para garantizar que ningún bloque reciba un número desproporcionado de escrituras , la unidad trata de extender las escrituras, especialmente las escrituras aleatorias pequeñas, a diferentes bloques. Si las escrituras reemplazan datos antiguos, marca las páginas antiguas como no válidas. Una vez que todas las páginas de un bloque se marcan como no válidas, la unidad puede borrarla sin tener que volver a escribir datos válidos.
Si la unidad tiene poco o no queda espacio libre, no podrá extender las escrituras. En cambio, la unidad necesitará borrar bloques de inmediato a medida que se envían las escrituras a la unidad, reescribiendo cualquier información válida dentro de esos bloques en otros bloques. Esto da como resultado que se escriban más datos en la NAND de los que se envían al disco, un fenómeno conocido como amplificación de escritura . La amplificación de escritura es especialmente pronunciada con cargas de trabajo aleatorias intensivas de escritura, como el procesamiento de transacciones en línea (OLTP) , y debe mantenerse al mínimo porque da como resultado un rendimiento y resistencia reducidos.
Para reducir la amplificación de escritura, la mayoría de los sistemas modernos admiten un comando llamado TRIM , que le dice al disco qué bloques ya no contienen datos válidos para que puedan borrarse. Esto es necesario porque, de lo contrario, el disco debe suponer que los datos eliminados lógicamente por el sistema operativo siguen siendo válidos, lo que dificulta la capacidad del disco para mantener un espacio libre adecuado.
Sin embargo, TRIM a veces no es posible, como cuando la unidad está en un gabinete externo (la mayoría de los gabinetes no admiten TRIM) o cuando la unidad se usa con un sistema operativo más antiguo. Además, bajo cargas de trabajo de escritura aleatoria altamente intensivas, las escrituras se distribuirán en grandes regiones de la NAND subyacente, lo que significa que la reescritura forzada de datos y la amplificación de escritura concomitante pueden ocurrir incluso si el disco no está casi lleno.
Los primeros SSD tenían un firmware mucho menos maduro que tendería a reescribir datos con mucha más frecuencia de la necesaria. Los primeros controladores de Indilinx y JMicron ( el JMF602 era infame por tartamudear y rendimiento de escritura aleatorio abismal ) sufrieron una amplificación de escritura extremadamente alta bajo cargas de trabajo intensivas de escritura aleatoria, a veces superior a 100x. (¡Imagínese escribir más de 100 MB de datos en NAND cuando solo está tratando de escribir 1 MB!). Los controladores más nuevos, con el beneficio de una mayor potencia de procesamiento, algoritmos de administración de flash mejorados y soporte TRIM, son mucho más capaces de manejar estas situaciones, aunque las grandes cargas de trabajo de escritura aleatoria aún pueden causar una amplificación de escritura superior a 10x en los SSD modernos .
El sobreaprovisionamiento proporciona al disco una mayor región de espacio libre para manejar escrituras aleatorias y evitar la reescritura forzada de datos. Todos los SSD están sobreaprovisionados al menos en algún grado mínimo; algunos usan solo la diferencia entre GB y GiB para proporcionar aproximadamente el 7% de espacio libre para que funcione la unidad, mientras que otros tienen más aprovisionamiento excesivo para optimizar el rendimiento para las necesidades de aplicaciones específicas. Por ejemplo, un SSD empresarial para cargas de trabajo de base de datos o OLTP con gran capacidad de escritura puede tener 512 GiB de NAND físico y, sin embargo, tener una capacidad anunciada de 400 GB, en lugar de los 480 a 512 GB típicos de SSD de consumo con cantidades similares de NAND.
Si su carga de trabajo es particularmente exigente, o si está utilizando la unidad en un entorno en el que no se admite TRIM, puede sobreaprovisionar espacio manualmente al particionar la unidad para que no quede espacio. Por ejemplo, puede particionar un SSD de 512 GB a 400 GB y dejar el espacio restante sin asignar, y la unidad utilizará el espacio sin asignar como espacio libre. Sin embargo, tenga en cuenta que este espacio no asignado debe recortarse si se ha escrito anteriormente; de lo contrario, no tendrá ningún beneficio ya que la unidad verá ese espacio como ocupado. (Las utilidades de partición deberían ser lo suficientemente inteligentes como para hacer esto, pero no estoy 100% seguro; consulte "¿Windows recorta el espacio no particionado (sin formato) en un SSD?" )
En los entornos de consumo típicos donde se admite TRIM, el SSD tiene menos del 70-80% de su capacidad y no se está bloqueando continuamente con escrituras aleatorias, la amplificación de escritura generalmente no es un problema y el sobreaprovisionamiento generalmente no es necesario.
En última instancia, la mayoría de los consumidores no escribirán datos suficientes en el disco para desgastar el NAND dentro de la vida útil prevista de la mayoría de los SSD, incluso con una alta amplificación de escritura, por lo que no es algo para perder el sueño.
El tamaño del espacio adicional difiere mucho entre los modelos de unidades SSD, pero en general esto sigue siendo cierto.