Sobreaprovisionamiento de un SSD: ¿aún se mantiene?


14

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?


Es importante debido al problema de TRIM-enable, como dije. Sospecho que SU es una buena opción para esta pregunta, ¡pero ahora necesita edición para mencionar Linux!
sourcejedi

El espacio libre permite un mejor rendimiento. El desgaste de la unidad está exagerado y posiblemente ahora sea un mito. Un SSD de buena calidad puede durar más de 10 años escribiéndolo 24/7. este podría ser un buen artículo para revisar: howtogeek.com/165472 / ... - escribir en un bloque vacío es bastante rápido, pero escribir en un bloque parcialmente lleno implica leer el bloque parcialmente lleno, modificar su valor y luego escribirlo espalda. Repita esto muchas, muchas veces para cada archivo que escriba en la unidad, ya que el archivo probablemente consumirá muchos bloques. ---
Dom

Respuestas:


15

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 está seguro de que se utilizará TRIM. AFAIK todavía no está habilitado de forma predeterminada en Linux, debido a problemas de rendimiento con algunas unidades viejas y mal comportamiento.
  • O bien, le preocupa llenar una unidad Sandforce (y que el contenido no podrá ser comprimido por el controlador inteligente).

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.


¿Es posible detectar un controlador Sandforce una vez que tiene un SSD instalado?
marmistrz

No hay una lectura estándar o una prueba que yo sepa. Necesita saber cuál es el disco e intentar buscarlo. Casi todo lo que puedo ver es un "número de modelo", por ejemplo, en discos GNOME como "M4-CT128M4SSD2", que podría ser difícil de encontrar. Lo siento de nuevo. Creo que Samsung usa sus propios controladores, y Crucial / Micron usa Marvell. OCZ / Toshiba ha utilizado varios controladores, incluido Sandforce.
sourcejedi

Esto supone que en realidad tienes espacio libre en el sistema de archivos, ¿verdad? : D
endolito

Sea específico en cuanto a qué parte está respondiendo, esto fue hace más de un año. Creo que quiere decir "[hipotético] No tengo disciplina, necesito que mi sistema retroceda contra el abuso continuo , y no tengo software para configurar una alarma de marca de agua alta". Lo cual es una crítica perfectamente válida, aunque interesante de alguien que consideraría el aprovisionamiento excesivo en primer lugar.
sourcejedi

7

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.

Los SSD deben hacer frente a las limitaciones de la memoria flash al escribir datos

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.

Los SSD necesitan espacio libre para funcionar de manera óptima, pero no todas las cargas de trabajo conducen al mantenimiento del espacio libre

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.

Las unidades SSD modernas experimentan una amplificación de escritura significativamente menor que las unidades antiguas, pero algunas cargas de trabajo aún pueden beneficiarse del sobreaprovisionamiento

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?" )

Si solo es un consumidor normal, el sobreaprovisionamiento generalmente no es necesario

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.


1

El tamaño del espacio adicional difiere mucho entre los modelos de unidades SSD, pero en general esto sigue siendo cierto.


¿Tienes alguna referencia para esto?
Léo Lam

¿Te refieres a la referencia para un disco específico? Muchas unidades (no solo SSD) tienen referencias técnicas públicas, pero lo siento, no tengo tiempo para buscar. Sin embargo, si está interesado en una referencia general, consulte esto: samsung.com/global/business/semiconductor/minisite/SSD/…
Tomasz Klim

1
Sí, me preguntaba si esto todavía es cierto para todas las unidades, o solo para modelos o marcas específicas, ya que la otra respuesta sugiere que el sobreaprovisionamiento ya no es necesario en las unidades recientes.
Léo Lam

La otra respuesta no es exactamente correcta. De hecho, las unidades con controladores Sandforce tenían mucho espacio adicional. Eso es perfectamente cierto. Pero también cualquier otro controlador SSD usa espacio adicional, pero no tanto. Como esto probablemente no cambiará.
Tomasz Klim

1
Del documento para Samsung SSD: "siempre existe la opción de reservar manualmente espacio adicional para mejorar aún más el rendimiento (por ejemplo, bajo cargas de trabajo exigentes)", es decir, sugieren que no necesita comenzar a considerar esto a menos que tenga un " carga de trabajo exigente ".
sourcejedi
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.