Solución:
Los SSD, repito, NO funcionan en el nivel del sistema de archivos.
No existe una correlación 1: 1 entre cómo ve las cosas el sistema de archivos y cómo ve las cosas el SSD.
Siéntase libre de particionar el SSD de la forma que desee (suponiendo que cada partición esté alineada correctamente y que un sistema operativo moderno se encargará de todo esto por usted); NO dañará nada, NO afectará negativamente los tiempos de acceso ni nada más, y tampoco se preocupe por hacer un montón de escrituras en el SSD. Los tienen para que puedas escribir 50 GB de datos al día y durarán 10 años.
Respondiendo a la respuesta de Robin Hood,
La nivelación de desgaste no tendrá tanto espacio libre para jugar, porque las operaciones de escritura se distribuirán en un espacio más pequeño, por lo que “podría”, pero no necesariamente desgastará esa parte del disco más rápido de lo que lo haría si todo el disco era una sola partición a menos que vaya a realizar un desgaste equivalente en las particiones adicionales (por ejemplo, un arranque dual).
Eso está totalmente mal. Es imposible desgastar una partición porque lee / escribe solo en esa partición. Así NO es ni remotamente cómo funcionan los SSD.
Un SSD funciona a un nivel de acceso mucho más bajo que el que ve el sistema de archivos; un SSD funciona con bloques y páginas.
En este caso, lo que realmente sucede es que, incluso si está escribiendo una tonelada de datos en una partición específica, el sistema de archivos está restringido por la partición, PERO, el SSD no lo está. Cuantas más escrituras obtenga el SSD, más bloques / páginas intercambiará el SSD para nivelar el desgaste. ¡No podría importarle menos cómo ve las cosas el sistema de archivos! Eso significa que, en un momento, los datos pueden residir en una página específica en el SSD, pero, en otro momento, pueden ser y serán diferentes. El SSD realizará un seguimiento de dónde se transfieren los datos y el sistema de archivos no tendrá ni idea de dónde se encuentran realmente los datos en el SSD.
Para hacer esto aún más fácil: digamos que escribe un archivo en la partición 1. El sistema operativo le dice al sistema de archivos sobre las necesidades de almacenamiento, y el sistema de archivos asigna los “sectores”, y luego le dice al SSD que necesita X cantidad de espacio. El sistema de archivos ve el archivo en una dirección de bloque lógico (LBA) de 123 (por ejemplo). El SSD toma nota de que LBA 123 está usando el bloque / página # 500 (por ejemplo). Por lo tanto, cada vez que el sistema operativo necesita este archivo específico, el SSD tendrá un puntero a la página exacta que está utilizando. Ahora, si seguimos escribiendo en el SSD, la nivelación del desgaste se activa y dice bloque / página # 500, podemos optimizarlo mejor en el bloque / página # 2300. Ahora, cuando el sistema operativo solicita ese mismo archivo, y el sistema de archivos solicita LBA 123 nuevamente, ESTA vez, el SSD devolverá el bloque / página # 2300, y NO el # 500.
Al igual que los discos duros, los SSD nand-flash son de acceso secuencial, por lo que cualquier dato que escriba / lea de las particiones adicionales estará más lejos de lo que “podría” haber estado si estuviera escrito en una sola partición, porque la gente suele dejar espacio libre en sus particiones. . Esto aumentará los tiempos de acceso a los datos almacenados en las particiones adicionales.
¡No, esto está nuevamente mal! Robin Hood está pensando las cosas en términos del sistema de archivos, en lugar de pensar en cómo funciona exactamente un SSD. Nuevamente, no hay forma de que el sistema de archivos sepa cómo el SSD almacena los datos. No hay “más lejos” aquí; eso es solo a los ojos del sistema de archivos, NO la forma real en que un SSD almacena información. Es posible que el SSD tenga los datos distribuidos en diferentes chips NAND, y el usuario no notará ningún aumento en los tiempos de acceso. Diablos, debido a la naturaleza paralela de la NAND, incluso podría terminar siendo más rápido que antes, pero estamos hablando de nanosegundos aquí; parpadea y te lo perdiste.
Menos espacio total aumenta la posibilidad de escribir archivos fragmentados y, si bien el impacto en el rendimiento es pequeño, tenga en cuenta que, en general, se considera una mala idea eliminar el valor de un SSD nand-flash porque desgastará la unidad. Por supuesto, dependiendo del sistema de archivos que esté utilizando, algunos dan como resultado cantidades extremadamente bajas de fragmentación, porque están diseñados para escribir archivos como un todo siempre que sea posible en lugar de volcarlos por todas partes para crear velocidades de escritura más rápidas.
No, lo siento; de nuevo esto está mal. La vista de archivos del sistema de archivos y la vista de SSD de esos mismos archivos no están ni remotamente cerca. El sistema de archivos puede ver el archivo como fragmentado en el peor de los casos posible, PERO, la vista SSD de los mismos datos casi siempre está optimizada.
Por lo tanto, un programa de desfragmentación miraría esos LBA y diría, ¡este archivo realmente debe estar fragmentado! Pero, dado que no tiene ni idea de las partes internas del SSD, es 100% incorrecto. ESA es la razón por la que un programa de desfragmentación no funcionará en SSD, y sí, un programa de desfragmentación también provoca escrituras innecesarias, como se mencionó.
La serie de artículos Codificación de SSD es una buena descripción general de lo que está sucediendo si desea ser más técnico sobre cómo funcionan los SSD.
Para leer algo más “ligero” sobre cómo funciona realmente FTL (Flash Translation Layer), también le sugiero que lea Papel fundamental de las capas de traducción de firmware y flash en el diseño de unidades de estado sólido (PDF) del sitio Flash Memory Summit.
También tienen muchos otros documentos disponibles, como:
- Modelado de capas de traducción Flash para mejorar la vida útil del sistema (PDF)
- Aprovechamiento de la capa de traducción de Flash basada en host para la aceleración de aplicaciones (PDF)
Otro artículo sobre cómo funciona esto: Descripción general de la memoria flash (PDF). Consulte la sección “Escritura de datos” (páginas 26-27).
Si el video es más lo tuyo, mira Un FTL de nivel de página eficiente para optimizar la traducción de direcciones en la memoria flash y diapositivas relacionadas.
Respuestas muy largas aquí, cuando la respuesta es lo suficientemente simple y se deriva directamente del conocimiento general de los SSD. No se necesita más que leer el término de Wikipedia de unidad de estado sólido para comprender la respuesta, que es:
El consejo “NO PARTITE SSD” es una tontería.
En el pasado (ahora lejano), los sistemas operativos no admitían muy bien los SSD, y especialmente cuando la partición no se cuidaba de alinear las particiones de acuerdo con el tamaño del bloque de borrado.
Esta falta de alineación, cuando un sector de disco lógico del sistema operativo se dividió entre bloques SSD físicos, podría requerir que el SSD actualice dos sectores físicos cuando el sistema operativo solo tenía la intención de actualizar uno, lo que ralentiza el acceso al disco y aumenta la nivelación del desgaste.
Actualmente, los SSD se están volviendo mucho más grandes y los sistemas operativos saben todo sobre borrado de bloques y alineación, por lo que el problema ya no existe. Quizás este consejo alguna vez estuvo destinado a evitar errores en la alineación de particiones, pero hoy en día estos errores son casi imposibles.
De hecho, el argumento para particionar SSD es hoy exactamente el mismo que para los discos clásicos:
Para organizar y separar mejor los datos.
Por ejemplo, instalar el sistema operativo en una partición separada y más pequeña es útil para tomar una imagen de respaldo como precaución al realizar grandes actualizaciones en el sistema operativo.
No hay inconvenientes en particionar un SSD, y en realidad puede extender su vida dejando algo de espacio sin particionar.
La nivelación del desgaste se aplica en todos los bloques del dispositivo (ref. Libro blanco de HP, vinculado a continuación)
En la nivelación de desgaste estática, todos los bloques de todas las rebabas disponibles en el dispositivo participan en las operaciones de nivelación de desgaste. Esto asegura que todos los bloques reciban la misma cantidad de desgaste. La nivelación de desgaste estática se usa con mayor frecuencia en SSD de escritorio y portátiles.
De eso, podemos concluir que las particiones no importan para nivelar el desgaste. Esto tiene sentido porque desde el punto de vista del HDD y del controlador, las particiones realmente no existen. Solo hay bloques y datos. Incluso la tabla de particiones se escribe en los mismos bloques (primer bloque de la unidad para MBR). Es el sistema operativo el que luego lee la tabla y decide en qué bloques escribir datos y en cuáles no. El sistema operativo ve bloques usando LBA para dar un número único a cada bloque. Sin embargo, el controlador luego asigna el bloque lógico a un bloque físico real teniendo en cuenta el esquema de nivelación del desgaste.
El mismo documento técnico ofrece una buena sugerencia para extender la vida útil del dispositivo:
A continuación, aprovisione en exceso su unidad. Puede aumentar la vida útil dividiendo solo una parte de la capacidad total del dispositivo. Por ejemplo, si tiene una unidad de 256 GB, particione únicamente a 240 GB. Esto prolongará enormemente la vida útil de la unidad. Un nivel de aprovisionamiento excesivo del 20% (particionando solo 200 GB) prolongaría la vida aún más. Una buena regla general es que cada vez que duplica el sobreaprovisionamiento de la unidad, agrega 1x a la resistencia de la unidad.
Esto también sugiere que incluso el espacio sin particiones se utiliza para nivelar el desgaste, lo que demuestra aún más el punto anterior.
Fuente: Informe técnico: SSD Endurance (http://h20195.www2.hp.com/v2/getpdf.aspx/4AA5-7601ENW.pdf)