Decidí que cierta información de fondo podría ser útil para aclarar esta respuesta, pero como puede ver, fui un poco TOC, por lo que es posible que desee saltar al final y luego regresar si es necesario. Si bien sé un poco, no soy un experto en SSD, así que si alguien ve un error, EDÍTELO . :).
Información de antecedentes:
¿Qué es un SSD ?:
Un SSD o unidad de estado sólido es un dispositivo de almacenamiento sin partes móviles. El término SSD a menudo se refiere específicamente a las unidades de estado sólido basadas en nand-flash destinadas a actuar como una alternativa de disco duro, pero en realidad son solo una forma de SSD, y ni siquiera la más popular. El tipo más popular de SSD son los medios extraíbles basados en nand-flash, como los dispositivos USB (unidades flash) y las tarjetas de memoria, aunque rara vez se los conoce como SSD. Los SSD también pueden estar basados en RAM, pero la mayoría de las unidades de RAM son generadas por software en lugar de hardware físico.
¿Por qué existen los SSD Nand-flash destinados a actuar como disco duro ?:
Para ejecutar un sistema operativo y su software, se requiere un medio de almacenamiento rápido. Aquí es donde entra en juego el carnero, pero históricamente el carnero era costoso y las CPU no podían abordar cantidades masivas. Cuando ejecuta un sistema operativo o programa, las porciones de datos requeridas actualmente se copian en su ram, porque su dispositivo de almacenamiento no es lo suficientemente rápido. Se crea un cuello de botella, porque debe esperar a que los datos se copien desde el dispositivo de almacenamiento lento al ram. Si bien no todos los SSD nand-flash reciben un mejor rendimiento que el disco duro más tradicional, los que ayudan a reducir el cuello de botella al proporcionar tiempos de acceso más rápidos, velocidades de lectura y velocidades de escritura.
¿Qué es Nand-flash ?:
El almacenamiento flash es un medio de almacenamiento que utiliza electricidad en lugar de magnetismo para almacenar datos. Nand-flash es un almacenamiento flash que utiliza una puerta de enlace NAND. A diferencia de A nor-flash, que es acceso aleatorio, se accede secuencialmente a nand-flash.
¿Cómo almacenan datos las unidades de estado sólido Nand-flash ?:
El almacenamiento Nand-flash se compone de bloques, esos bloques se dividen en celdas, las celdas contienen páginas. A diferencia de un disco duro que usa magnetismo para almacenar datos, los medios flash usan electricidad, debido a que estos datos no pueden sobrescribirse; los datos deben borrarse para poder reutilizar el espacio. El dispositivo no puede borrar páginas individuales; el borrado debe ocurrir a nivel de bloque. Dado que los datos no se pueden escribir en un bloque que ya está en uso (incluso si no todas las páginas en él lo están), primero se debe borrar todo el bloque, y luego el bloque ahora en blanco puede tener datos escritos en sus páginas. ¡El problema es que perdería cualquier dato que ya esté en esas páginas, incluidos los datos que no desea descartar! Para evitar que estos datos existentes se retengan, debe copiarse en otro lugar antes de realizar la eliminación del bloque.
En los discos duros, se utiliza una placa magnética para almacenar datos. Al igual que los discos de vinilo, la placa tiene pistas, y estas pistas se dividen en secciones llamadas sectores. Un sector puede contener una cierta cantidad de datos (generalmente 512 bytes, pero algunos más nuevos son 4KB). Cuando aplica un sistema de archivos, los sectores se agrupan en grupos (según el tamaño que especifique, denominado tamaño de asignación o tamaño de grupo), y luego los archivos se escriben en grupos. También es posible dividir un sector para hacer grupos más pequeños que el tamaño de su sector. El espacio no utilizado en un clúster después de que un archivo se escribe en un clúster (o varios) no es utilizable, el siguiente archivo comienza en un nuevo clúster. Para evitar mucho espacio inutilizable, las personas suelen usar tamaños de clúster más pequeños, pero esto puede disminuir el rendimiento al escribir archivos grandes. Los SSD de flash Nand no tienen una placa magnética, usan electricidad pasando a través de bloques de memoria. Un bloque está hecho de celdas que contienen páginas. Las páginas tienen capacidad X (generalmente 4 KB) y, por lo tanto, el número de páginas determinará la capacidad de un bloque (generalmente 512 KB). En SSD, una página equivale a sector en un disco duro, porque ambos representan la división más pequeña de almacenamiento.
¿Qué es la nivelación de desgaste ?:
Los bloques de almacenamiento Nand-flash se pueden escribir y borrar un número limitado de veces (referido como su ciclo de vida). Para evitar que la unidad sufra una reducción de la capacidad (bloques muertos), tiene sentido desgastar los bloques de la manera más uniforme posible. El ciclo de vida limitado también es la razón principal por la que muchas personas sugieren no tener un archivo de página o una partición de intercambio en su sistema operativo si está utilizando un SSD basado en Nand-flash (aunque las rápidas velocidades de transferencia de datos desde el dispositivo a la memoria RAM también son importantes factor en esa sugerencia).
¿Qué es el exceso de aprovisionamiento ?:
Over Provisioning define la diferencia entre la cantidad de espacio libre que hay, en comparación con la cantidad que parece haber. Los dispositivos de almacenamiento basados en Nand-flash afirman ser más pequeños de lo que son, por lo que se garantiza que hay bloques vacíos para usar en la eliminación de basura. Hay un segundo tipo de sobreaprovisionamiento llamado sobreaprovisionamiento dinámico que simplemente se refiere al espacio libre conocido dentro del espacio libre mostrado. Hay dos tipos de sobre aprovisionamiento dinámico: nivel de sistema operativo y nivel de controlador de unidad. En el nivel del sistema operativo, Trim se puede usar para liberar bloques que luego se pueden escribir de inmediato. En el nivel del controlador, se puede utilizar el espacio de unidad no asignado (no particionado, sin sistema de archivos). Tener más bloques libres ayuda a mantener la unidad funcionando con el mejor rendimiento, ya que puede escribir de inmediato.
¿Qué es la amplificación de escritura ?:
Debido a que los medios Nand-flash requieren que se borre un bloque antes de que se pueda escribir, cualquier dato dentro del bloque que no se esté borrando debe copiarse en un nuevo bloque mediante eliminación de basura. Estas escrituras adicionales se llaman amplificación de escritura.
¿Qué es el recorte?
Los sistemas operativos se crean teniendo en cuenta los discos duros tradicionales. Recuerde que un disco duro tradicional puede sobrescribir directamente los datos. Cuando elimina un archivo, el sistema operativo lo marca como eliminado (está bien si se sobrescribe), pero los datos siguen ahí hasta que se produce una operación de escritura allí. En los SSD basados en Nand-flash, esto es un problema, porque primero se deben borrar los datos. La eliminación se produce a nivel de bloque, por lo que puede haber datos adicionales que no se eliminan. La eliminación de basura copia cualquier dato que no se pueda eliminar en bloques vacíos, y luego los bloques en cuestión pueden borrarse. ¡Todo esto lleva tiempo y provoca escrituras innecesarias (amplificación de escritura)! Para evitar esto, se creó una función llamada Trim. Trim le da al sistema operativo el poder de decirle al SSD para borrar bloques con páginas que contienen datos que el sistema operativo ha marcado como eliminados durante períodos de tiempo en los que no solicita una operación de escritura allí. La recolección de basura hace lo suyo, y como resultado, los bloques se liberan para que, con suerte, las escrituras puedan ocurrir en bloques que no necesitan ser borrados primero, lo que hace que el proceso sea más rápido y ayuda a reducir la amplificación de escritura a un mínimo. Esto no se hace en un archivo; Trim utiliza direccionamiento de bloque lógico. El LBA especifica qué sectores (páginas) borrar, y el borrado ocurre a nivel de bloque. y ayuda a reducir la amplificación de escritura a un mínimo. Esto no se hace en un archivo; Trim utiliza direccionamiento de bloque lógico. El LBA especifica qué sectores (páginas) borrar, y el borrado ocurre a nivel de bloque. y ayuda a reducir la amplificación de escritura a un mínimo. Esto no se hace en un archivo; Trim utiliza direccionamiento de bloque lógico. El LBA especifica qué sectores (páginas) borrar, y el borrado ocurre a nivel de bloque.
La respuesta a su pregunta "¿Desventajas de particionar un SSD?":
SSD basados en RAM:
¡No hay absolutamente ninguna desventaja porque son de acceso aleatorio!
SSD basados en Nand-flash:
Las únicas desventajas que se me ocurren son:
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 única partición a menos que realice un desgaste equivalente en las particiones adicionales (por ejemplo, un arranque dual).
Al igual que los discos duros, las unidades SSD de memoria flash y flash son de acceso secuencial, por lo que cualquier dato que escriba / lea desde las particiones adicionales estará más lejos de lo que "podría" haber estado si estuviera escrito en una sola partición, porque las personas generalmente dejan espacio libre en sus particiones . Esto aumentará los tiempos de acceso para los datos almacenados en las particiones adicionales.
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 defragrar un SSD flash y nand-flash porque desgastará la unidad. Por supuesto, dependiendo de qué sistema de archivos esté utilizando, algunos resultados en cantidades extremadamente bajas de fragmentación, porque están diseñados para escribir archivos en su conjunto siempre que sea posible en lugar de volcarlos por todas partes para crear velocidades de escritura más rápidas.
Diría que está bien tener múltiples particiones, pero la nivelación del desgaste podría ser una preocupación si algunas particiones obtienen mucha actividad de escritura y otras obtienen muy poca. Si no divide el espacio que no planea usar, y en su lugar lo deja para el aprovisionamiento dinámico, puede recibir un aumento de rendimiento porque será más fácil liberar bloques y escribir datos secuenciales. Sin embargo, no hay un garaje que necesite un espacio de aprovisionamiento excesivo, lo que nos lleva de vuelta al punto 1 sobre la nivelación del desgaste.
Algunas otras personas en este hilo han mencionado la forma en que la partición afectará las contribuciones de Trim a la dinámica sobre el aprovisionamiento. Según tengo entendido, TRIM se utiliza para señalar sectores (páginas) que tienen datos marcados para su eliminación, por lo que la eliminación de basura puede borrar esos bloques de forma gratuita. Este espacio libre actúa como dinámico sobre el aprovisionamiento dentro de ESA partición solamente, porque esos sectores son parte de los clústeres utilizados por el sistema de archivos de esa partición; otras particiones tienen sus propios sistemas de archivos. Sin embargo, puedo estar totalmente equivocado en esto, ya que la idea de un exceso de aprovisionamiento no está clara para mí, ya que los datos se escribirán en lugares que ni siquiera tienen sistemas de archivos o aparecen en la capacidad de las unidades. Esto me hace preguntarme si tal vez se usa un espacio de aprovisionamiento excesivo de forma temporal antes de una operación final de escritura optomizada en bloques dentro de un sistema de archivos. Por supuesto, las contribuciones de Trim al aprovisionamiento dinámico en el sistema de archivos no serían temporales, ya que podrían escribirse directamente ya que ya están en un espacio utilizable. Esa es mi teoría al menos. ¿Tal vez mi comprensión de los archivos es incorrecta? No he podido encontrar ningún recurso que entre en detalles sobre esto.