¿Qué es el ajuste SSD??

¿Qué es el ajuste SSD??
Los SSD son un medio de almacenamiento completamente diferente en comparación con los que existían antes de él. Los medios magnéticos, especialmente los discos giratorios, han introducido muchos conceptos como tamaño del sector, partición, fragmentación, etc. También se han emulado algunas de estas ideas en los dispositivos de estado sólido de firmware.

Por otro lado, se han introducido nuevos conceptos para optimizar el rendimiento, la vida útil y la confiabilidad de estos nuevos dispositivos. Uno de esos conceptos es la operación de recorte.

Diseño de un SSD

Los SSD son bruscamente rápidos y se están volviendo más rápidos y más baratos cada año. Su confiabilidad también ha mejorado bastante desde su inicio. Sin embargo, los SSD todavía no son tan confiables como los medios magnéticos, tampoco son tan duraderos como un disco duro. De hecho, los mecanismos subyacentes de lectura-escritura son muy diferentes de lo que se ve dentro de un HDD.

Para comprender los problemas que sufre un SSD y por qué necesitamos operar operaciones para superar esos problemas, veamos primero la estructura del SSD. Los datos se almacenan típicamente en grupos de células de 4KB, llamadas páginas. Las páginas se agrupan en grupos de 128 páginas, llamadas bloques y cada bloque es de 512 kb, para la mayoría de los SSD.

Puede leer datos de una página que contiene información o puede escribir datos en páginas que estén limpias (sin datos preexistentes en ellos, solo una serie de 1s). Sin embargo, no puede sobrescribir datos en una página de 4KB que ya se ha escrito, sin sobrescribir todos los demás 512kb.

Esto es consecuencia del hecho de que los voltajes requeridos para voltear un 0 a 1 son a menudo mucho más altos que lo contrario. El exceso de voltaje puede potencialmente voltear bits en las células adyacentes y corrupir datos.

Operación de eliminación La degradación del rendimiento de un SSD

Cuando se dice que los datos son 'Eliminado' Por el sistema operativo, el SSD simplemente marca todas las páginas correspondientes como inválidas, en lugar de eliminar los datos. Esto es bastante similar a lo que sucede dentro de un HDD también, los sectores son marcado como gratis en lugar de salir físicamente a cero. Esto hace que la operación de eliminación sea mucho más rápida.

En caso de HDD, esto funciona bien. Cuando se necesitan nuevos datos, puede sobrescribir los datos antiguos en un liberado sector sin ningún problema ni preocupaciones sobre los sectores circundantes. Los HDD pueden modificar los datos en su lugar.

En el caso de un SSD, esto no es tan simple. Digamos que modifica un archivo y que corresponde a un cambio de una sola página de 4KB. Cuando intenta modificar una página de 4KB en un SSD, todo el contenido de su bloque, todo el 512kb debe leer en un caché (el caché se puede integrar en el SSD o puede ser la memoria principal del sistema) y Luego, el bloque debe borrarse y luego puede escribir los nuevos datos en su página de 4KB de destino. También tendrá que volver a escribir los datos de 508 kb no modificados que copió en su caché.

Este resultado se suma al fenómeno de la amplificación de escritura donde cada operación de escritura se amplifica a una operación de lectura-modificación-escritura para fragmentos de datos que son mucho más grandes que los datos reales que deben establecerse.

Inicialmente, esta amplificación no aparece. Tu SSD funciona muy bien al principio. Finalmente, a medida que se llenan los bloques, se alcanza el punto inevitable donde más y más operaciones de escritura comienzan a involucrar las costosas operaciones de lectura-modificación-escritura. El usuario comienza a notar que el SSD no está funcionando tan bien como lo hizo inicialmente.

Los controladores SSD también intentan asegurarse de que los datos se distribuyan en todo el disco. Para que todos los troqueles obtengan niveles iguales de desgaste. Esto es importante porque las celdas de memoria flash tienden a desgastarse rápidamente y, por lo tanto, si usamos continuamente solo los primeros miles de bloques que ignoran el resto del SSD, esos pocos bloques se desgastarán pronto. La difusión de datos en múltiples troqueles también mejora su rendimiento, ya que puede leer o escribir datos en paralelo.

Sin embargo, ahora las escrituras se extienden, aumentando las posibilidades de que un bloque que tenga una página. Esto acelera aún más el proceso de degradación.

Recorte el comando y la liberación de los bloques

El comando de recorte minimiza la degradación del rendimiento al recortar periódicamente las páginas no válidas. Por ejemplo, Windows 10 recorta su SSD una vez por semana. Todos los datos que se han marcado según lo eliminado por el sistema operativo son realmente limpiados de las celdas de memoria por el controlador SSD cuando se ejecuta esa operación. Sí, todavía tiene que pasar por la operación de lectura-modificación-escritura, pero ocurre solo una vez a la semana y se puede programar en las horas en que su sistema es en su mayoría ideal.

La próxima vez que desee escribir en una página, en realidad está vacía y está lista para una operación de escritura directa!

La frecuencia real del comando TRIM depende del tipo de sistema que esté ejecutando. Las bases de datos tienden a hacer muchos iOS y, por lo tanto, requerirían un recorte más frecuente. Sin embargo, si lo hace con demasiada frecuencia, las operaciones de la base de datos se ralentizarán durante el período en que se ejecuta TRIM. Es el trabajo de un arquitecto de sistema encontrar el horario y la frecuencia adecuados.

Limitaciones

El comando de TRIM es muy útil para retrasar la degradación del rendimiento de su dispositivo. Ayuda a mantener el promedio Rendimiento de su dispositivo. Pero eso es solo en promedio.

Supongamos, si está trabajando con un documento de texto y está constantemente escribiendo al archivo, editando las cosas y guardando para no perder ningún progreso. Las páginas que almacenan los datos del documento aún deberán pasar por el ciclo insoportable de lectura-modificación-escritura porque TRIM no es un servicio que constantemente optimice su SSD. Incluso si se ejecutó como un servicio, el impacto del rendimiento seguirá siendo visible porque está integrado en la mecánica misma de la operación de un SSD.

También ejecutar el ajuste SSD con demasiada frecuencia puede reducir la longevidad de su almacenamiento. Dado que toda esa eliminación y ciclo de escritura desgastarán las celdas que hacen que los datos almacenados dentro de ellos de solo lectura.

Conclusión

A pesar de todas las deficiencias de un SSD, todavía tiene beneficios de rendimiento masivos en comparación con una unidad de disco duro tradicional. A medida que crece la cuota de mercado de estos dispositivos mágicos, se dirigirán más esfuerzos de investigación e ingeniería para mejorar la tecnología subyacente.

Los proveedores de sistemas operativos, los fabricantes de chips SSD y las personas que escriben toda la lógica de firmware compleja se unen para darnos este increíble dispositivo. TRIM es solo una de las muchas capas de complejidad que está llena allí.

Referencias

  1. Anandtech y su maravillosa investigación y revisión de SSDS.
  2. Artículo de Wikipedia sobre amplificación de escritura
  3. Escribir sobre Arstechnia sobre SSD y sus trabajos internos