Una unidad de estado sólido ( SSD ) es un tipo de dispositivo de almacenamiento de estado sólido que utiliza circuitos integrados para almacenar datos de forma persistente . A veces se le denomina dispositivo de almacenamiento semiconductor , dispositivo de estado sólido o disco de estado sólido . [1] [2]
Los SSD dependen de una memoria no volátil, normalmente flash NAND , para almacenar datos en celdas de memoria. El rendimiento y la resistencia de los SSD varían según la cantidad de bits almacenados por celda, desde celdas de un solo nivel (SLC) de alto rendimiento hasta celdas de cuatro niveles (QLC) más asequibles pero más lentas. Además de los SSD basados en flash, otras tecnologías como 3D XPoint ofrecen velocidades más rápidas y mayor resistencia a través de diferentes mecanismos de almacenamiento de datos.
A diferencia de las unidades de disco duro (HDD) tradicionales , las SSD no tienen partes móviles, lo que les permite ofrecer velocidades de acceso a datos más rápidas, menor latencia, mayor resistencia a golpes físicos, menor consumo de energía y funcionamiento silencioso.
Los SSD, que suelen estar interconectados a un sistema de la misma manera que los HDD, se utilizan en una variedad de dispositivos, incluidos ordenadores personales , servidores empresariales y dispositivos móviles . Sin embargo, los SSD suelen ser más caros por gigabyte y tienen una cantidad finita de ciclos de escritura, lo que puede provocar la pérdida de datos con el tiempo. A pesar de estas limitaciones, los SSD están sustituyendo cada vez más a los HDD, especialmente en aplicaciones de rendimiento crítico y como almacenamiento principal en muchos dispositivos de consumo.
Los SSD vienen en varios formatos y tipos de interfaz, incluidos SATA , PCIe y NVMe , cada uno de los cuales ofrece diferentes niveles de rendimiento. Las soluciones de almacenamiento híbrido, como las unidades híbridas de estado sólido (SSHD), combinan tecnologías SSD y HDD para ofrecer un rendimiento mejorado a un costo menor que los SSD puros.
Un SSD almacena datos en celdas semiconductoras , con propiedades que varían según la cantidad de bits almacenados en cada celda (entre 1 y 4). Las celdas de un solo nivel (SLC) almacenan un bit de datos por celda y brindan mayor rendimiento y resistencia. Por el contrario, las celdas de múltiples niveles (MLC), las celdas de triple nivel (TLC) y las celdas de cuatro niveles (QLC) almacenan más datos por celda, pero tienen menor rendimiento y resistencia. Los SSD que utilizan tecnología 3D XPoint , como Optane de Intel, almacenan datos cambiando la resistencia eléctrica en lugar de almacenar cargas eléctricas en celdas, lo que puede brindar velocidades más rápidas y una persistencia de datos más prolongada en comparación con la memoria flash convencional. [3] Los SSD basados en flash NAND pierden carga lentamente cuando no están encendidos, mientras que las unidades de consumo muy utilizadas pueden comenzar a perder datos generalmente después de uno o dos años de almacenamiento. [4] Los SSD tienen una cantidad limitada de escrituras durante su vida útil y también se ralentizan a medida que alcanzan su capacidad de almacenamiento completa.
Los SSD también tienen paralelismo interno que les permite gestionar múltiples operaciones simultáneamente, lo que mejora su rendimiento. [5]
A diferencia de los discos duros y otros dispositivos de almacenamiento magnético electromecánicos similares , los SSD no tienen partes mecánicas móviles, lo que les proporciona ventajas como resistencia a golpes físicos, funcionamiento más silencioso y tiempos de acceso más rápidos. Su menor latencia da como resultado tasas de entrada/salida (IOPS) más altas que los discos duros. [6]
Algunas unidades SSD se combinan con discos duros tradicionales en configuraciones híbridas, como Hystor de Intel y Fusion Drive de Apple . Estas unidades utilizan tanto memoria flash como discos magnéticos giratorios para mejorar el rendimiento de los datos a los que se accede con frecuencia. [7] [8]
Las interfaces tradicionales (por ejemplo, SATA y SAS ) y los formatos estándar de HDD permiten que estos SSD se utilicen como reemplazos directos de los HDD en computadoras y otros dispositivos. Los formatos más nuevos, como mSATA , M.2 , U.2 , NF1 / M.3 / NGSFF , [9] [10] XFM Express ( memoria flash cruzada , formato XT2) [11] y EDSFF [12] [13] e interfaces de mayor velocidad como NVM Express (NVMe) sobre PCI Express (PCIe) pueden aumentar aún más el rendimiento sobre el rendimiento de los HDD. [3]
Los benchmarks tradicionales de HDD tienden a centrarse en las características de rendimiento, como la latencia rotacional y el tiempo de búsqueda . Como los SSD no necesitan girar ni buscar datos, son muy superiores a los HDD en dichas pruebas. Sin embargo, los SSD tienen problemas con las lecturas y escrituras mixtas, y su rendimiento puede degradarse con el tiempo. Por lo tanto, las pruebas SSD generalmente analizan cuándo se usa por primera vez el disco duro completo, ya que el disco nuevo y vacío puede tener un rendimiento de escritura mucho mejor que el que mostraría después de solo unas semanas de uso. [14]
La confiabilidad de los discos duros y SSD varía mucho entre los distintos modelos. [15] Algunas tasas de fallas en el campo indican que los SSD son significativamente más confiables que los discos duros. [16] [17] Sin embargo, los SSD son sensibles a las interrupciones repentinas de energía, lo que a veces resulta en escrituras abortadas o incluso casos de pérdida total de la unidad. [18]
La mayoría de las ventajas de las unidades de estado sólido sobre los discos duros tradicionales se deben a su capacidad de acceder a los datos de forma completamente electrónica en lugar de electromecánica, lo que da como resultado velocidades de transferencia superiores y robustez mecánica. [19] Por otro lado, las unidades de disco duro ofrecen una capacidad significativamente mayor por su precio. [6] [20]
En los discos duros tradicionales, un archivo reescrito generalmente ocupará la misma ubicación en la superficie del disco que el archivo original, mientras que en los SSD la nueva copia a menudo se escribirá en diferentes celdas NAND con el fin de nivelar el desgaste . Los algoritmos de nivelación del desgaste son complejos y difíciles de probar exhaustivamente. Como resultado, una de las principales causas de pérdida de datos en los SSD son los errores de firmware. [21] [22]
Si bien tanto las tarjetas de memoria como la mayoría de los SSD utilizan memoria flash, tienen características muy diferentes, incluido el consumo de energía, el rendimiento, el tamaño y la confiabilidad. [39] Originalmente, las unidades de estado sólido tenían la forma y el montaje en la computadora como los discos duros. [39] Por el contrario, las tarjetas de memoria (como Secure Digital (SD), CompactFlash (CF) y muchas otras) se diseñaron originalmente para cámaras digitales y luego se utilizaron en teléfonos celulares, dispositivos de juegos, unidades GPS, etc. La mayoría de las tarjetas de memoria son físicamente más pequeñas que los SSD y están diseñadas para insertarse y extraerse repetidamente. [39]
Los SSD tienen modos de falla diferentes a los de los discos duros magnéticos tradicionales. Debido a que las unidades de estado sólido no contienen partes móviles, generalmente no están sujetas a fallas mecánicas. Sin embargo, pueden ocurrir otros tipos de fallas. Por ejemplo, las escrituras incompletas o fallidas debido a una pérdida repentina de energía pueden ser más problemáticas que con los HDD, y la falla de un solo chip puede resultar en la pérdida de todos los datos almacenados en él. No obstante, los estudios indican que los SSD son generalmente confiables, a menudo exceden la vida útil indicada por el fabricante [40] [41] y tienen tasas de falla más bajas que los HDD. [40] Sin embargo, los estudios también señalan que los SSD experimentan tasas más altas de errores incorregibles, lo que puede provocar la pérdida de datos, en comparación con los HDD. [42]
La resistencia de un SSD normalmente aparece en su hoja de datos de una de dos formas:
Por ejemplo, un SSD Samsung 970 EVO NVMe M.2 (2018) con 1 TB de capacidad tiene una clasificación de resistencia de 600 TBW. [44]
La recuperación de datos de los SSD presenta desafíos debido a la naturaleza no lineal y compleja del almacenamiento de datos en unidades de estado sólido. Las operaciones internas de los SSD varían según el fabricante, y los comandos (por ejemplo , TRIM y ATA Secure Erase) y programas como (por ejemplo, hdparm ) pueden borrar y modificar los bits de un archivo eliminado.
La Asociación de Tecnología de Estado Sólido JEDEC (JEDEC) ha establecido estándares para las métricas de confiabilidad de SSD, que incluyen: [45]
En un entorno informático distribuido , los SSD se pueden utilizar como una capa de caché distribuida que absorbe temporalmente el gran volumen de solicitudes de los usuarios a los sistemas de almacenamiento de backend basados en HDD más lentos. Esta capa proporciona un ancho de banda mucho mayor y una latencia menor que el sistema de almacenamiento, y se puede gestionar de varias formas, como una base de datos de clave-valor distribuida y un sistema de archivos distribuido . En las supercomputadoras, esta capa se suele denominar búfer de ráfagas .
Las unidades de estado sólido basadas en flash se pueden utilizar para crear dispositivos de red a partir de hardware de computadora personal de uso general. Una unidad flash protegida contra escritura que contenga el sistema operativo y el software de aplicación puede sustituir a unidades de disco o CD-ROM más grandes y menos confiables. Los dispositivos construidos de esta manera pueden proporcionar una alternativa económica al costoso hardware de enrutadores y cortafuegos. [ cita requerida ]
Los SSD basados en una tarjeta SD con un sistema operativo SD activo se bloquean fácilmente contra escritura . En combinación con un entorno de computación en la nube u otro medio escribible, un sistema operativo arrancado desde una tarjeta SD bloqueada contra escritura es confiable, persistente e inmune a la corrupción permanente.
En 2011, Intel introdujo un mecanismo de almacenamiento en caché para su chipset Z68 (y derivados móviles) llamado Smart Response Technology , que permite utilizar un SSD SATA como caché (configurable como escritura simultánea o escritura diferida ) para una unidad de disco duro magnética convencional. [46] Una tecnología similar está disponible en la tarjeta PCIe RocketHybrid de HighPoint . [47]
Las unidades híbridas de estado sólido (SSHD) se basan en el mismo principio, pero integran cierta cantidad de memoria flash en la placa de una unidad convencional en lugar de utilizar una SSD independiente. El host puede acceder a la capa flash de estas unidades independientemente del almacenamiento magnético mediante comandos ATA-8, lo que permite que el sistema operativo la administre. Por ejemplo, la tecnología ReadyDrive de Microsoft almacena explícitamente partes del archivo de hibernación en la memoria caché de estas unidades cuando el sistema hiberna, lo que hace que la reanudación posterior sea más rápida. [48]
Los sistemas híbridos de doble unidad combinan el uso de dispositivos SSD y HDD independientes instalados en la misma computadora, con una optimización del rendimiento general gestionada por el usuario de la computadora o por el software del sistema operativo de la computadora . Ejemplos de este tipo de sistema son bcache y dm-cache en Linux , [49] y Fusion Drive de Apple .
Los componentes principales de un SSD son el controlador y la memoria que se utiliza para almacenar datos. Tradicionalmente, los primeros SSD utilizaban memoria DRAM volátil para el almacenamiento, pero desde 2009, la mayoría de los SSD utilizan memoria flash NAND no volátil , que retiene los datos incluso cuando están apagados. [50] [3] Los SSD con memoria flash almacenan datos en chips de circuitos integrados de semiconductores de óxido metálico (MOS), utilizando celdas de memoria de compuerta flotante no volátiles . [51]
Cada SSD incluye un controlador, que gestiona el flujo de datos entre la memoria NAND y el ordenador anfitrión. El controlador es un procesador integrado que ejecuta el firmware para optimizar el rendimiento, gestionar los datos y garantizar su integridad. [52] [53]
Algunas de las funciones principales que realiza el controlador son:
El rendimiento general de un SSD puede escalar con la cantidad de chips NAND en paralelo y la eficiencia del controlador. Por ejemplo, los controladores que permiten el procesamiento en paralelo de chips flash NAND pueden mejorar el ancho de banda y reducir la latencia. [55]
Micron e Intel fueron pioneros en desarrollar SSD más rápidos al implementar técnicas como la división y entrelazado de datos para mejorar las velocidades de lectura y escritura. [56] Más recientemente, SandForce introdujo controladores que incorporan compresión de datos para reducir la cantidad de datos escritos en la memoria flash, aumentando potencialmente tanto el rendimiento como la resistencia. [57]
La nivelación del desgaste es una técnica que se utiliza en los SSD para garantizar que las operaciones de escritura y borrado se distribuyan de manera uniforme en todos los bloques de la memoria flash. Sin esto, algunos bloques específicos podrían desgastarse prematuramente debido al uso repetido, lo que reduciría la vida útil general del SSD. El proceso mueve los datos que se modifican con poca frecuencia (datos fríos) de los bloques de uso intensivo, de modo que los datos que cambian con más frecuencia (datos activos) se puedan escribir en esos bloques. Esto ayuda a distribuir el desgaste de manera más uniforme en todo el SSD. Sin embargo, este proceso introduce escrituras adicionales, conocidas como amplificación de escritura, que deben gestionarse para equilibrar el rendimiento y la durabilidad. [58] [59]
La mayoría de los SSD utilizan memoria flash NAND no volátil para el almacenamiento de datos, principalmente debido a su relación costo-beneficio y su capacidad para retener datos sin una fuente de alimentación constante. Los SSD basados en memoria flash NAND almacenan datos en celdas semiconductoras, y la arquitectura específica influye en el rendimiento, la resistencia y el costo. [61]
Hay varios tipos de memoria flash NAND, categorizados por la cantidad de bits almacenados en cada celda:
Con el tiempo, los controladores SSD han mejorado la eficiencia de la memoria flash NAND, incorporando técnicas como memoria intercalada , corrección avanzada de errores y nivelación de desgaste para optimizar el rendimiento y extender la vida útil de la unidad. [63] [ 64] [65] [66] [67] Los SSD de gama baja a menudo utilizan memoria QLC o TLC, mientras que las unidades de gama alta para aplicaciones empresariales o de rendimiento crítico pueden utilizar MLC o SLC. [68]
Además de la estructura NAND plana, muchos SSD ahora utilizan NAND 3D (o V-NAND), donde las celdas de memoria se apilan verticalmente, lo que aumenta la densidad de almacenamiento y al mismo tiempo mejora el rendimiento y reduce los costos. [69]
Algunas unidades SSD utilizan memorias DRAM volátiles en lugar de memoria flash NAND, lo que ofrece un acceso a los datos a una velocidad muy alta, pero requiere una fuente de alimentación constante para retener los datos. Las unidades SSD basadas en memoria DRAM se utilizan normalmente en aplicaciones especializadas en las que se prioriza el rendimiento sobre el coste o la no volatilidad. Muchas unidades SSD, como los dispositivos NVDIMM , están equipadas con fuentes de alimentación de respaldo, como baterías internas o adaptadores CA/CC externos. Estas fuentes de alimentación garantizan que los datos se transfieran a un sistema de respaldo (normalmente memoria flash NAND u otro medio de almacenamiento) en caso de pérdida de energía, lo que evita la corrupción o pérdida de datos. [70] [71] De forma similar, los dispositivos ULLtraDIMM utilizan componentes diseñados para módulos DIMM, pero solo utilizan memoria flash, similar a una unidad SSD DRAM. [72]
Los SSD basados en DRAM se utilizan a menudo para tareas en las que se debe acceder a los datos a altas velocidades con baja latencia, como en la informática de alto rendimiento o en ciertos entornos de servidores. [73]
3D XPoint es un tipo de tecnología de memoria no volátil desarrollada por Intel y Micron, anunciada en 2015. [74] Funciona cambiando la resistencia eléctrica de los materiales en sus celdas, ofreciendo tiempos de acceso mucho más rápidos que el flash NAND. Los SSD basados en 3D XPoint, como las unidades Optane de Intel, proporcionan una latencia más baja y una mayor resistencia que las unidades basadas en NAND, aunque son más caras por gigabyte. [75] [76]
Las unidades conocidas como unidades híbridas o unidades híbridas de estado sólido (SSHD) utilizan un híbrido de discos giratorios y memoria flash. [77] [78] Algunas SSD utilizan memoria de acceso aleatorio magnetorresistiva (MRAM) para almacenar datos. [79] [80]
Muchos SSD basados en flash incluyen una pequeña cantidad de DRAM volátil como caché, similar a los buffers de los discos duros. Esta caché puede almacenar temporalmente datos mientras se escriben en la memoria flash y también almacena metadatos como la asignación de bloques lógicos a ubicaciones físicas en el SSD. [81]
Algunos controladores SSD, como los de SandForce, logran un alto rendimiento sin utilizar una memoria caché DRAM externa. Estos diseños se basan en otros mecanismos, como la memoria SRAM integrada, para gestionar los datos y minimizar el consumo de energía. [82]
Además, algunos SSD utilizan un mecanismo de caché SLC para almacenar temporalmente datos en modo de celda de un solo nivel (SLC), incluso en SSD de celda de múltiples niveles (MLC) o de celda de triple nivel (TLC). Esto mejora el rendimiento de escritura al permitir que los datos se escriban en un almacenamiento SLC más rápido antes de trasladarlos a un almacenamiento MLC o TLC más lento y de mayor capacidad. [83]
En los SSD NVMe, la tecnología Host Memory Buffer (HMB) permite que el SSD utilice una parte de la DRAM del sistema en lugar de depender de un caché DRAM incorporado, lo que reduce los costos y mantiene un alto nivel de rendimiento. [82]
En ciertos SSD de consumo y empresariales de alta gama, se incluyen mayores cantidades de DRAM para almacenar en caché tanto las asignaciones de tablas de archivos como los datos escritos, lo que reduce la amplificación de escritura y mejora el rendimiento general. [84]
Los SSD de mayor rendimiento pueden incluir un condensador o una batería, que ayuda a preservar la integridad de los datos en caso de una pérdida de energía inesperada. El condensador o la batería proporcionan suficiente energía para permitir que los datos del caché se escriban en la memoria no volátil, lo que garantiza que no se pierdan datos. [85] [86]
En algunos SSD que utilizan memoria flash de celdas multinivel (MLC), puede producirse un problema potencial conocido como "corrupción de página inferior" si se pierde la energía mientras se programa una página superior. Esto puede provocar que los datos escritos previamente se corrompan. Para solucionar este problema, algunos SSD de alta gama incorporan supercondensadores para garantizar que todos los datos se puedan escribir de forma segura durante una pérdida repentina de energía. [87]
Algunos SSD de consumo tienen condensadores integrados para guardar datos críticos, como la tabla de mapeo de Flash Translation Layer (FTL). Algunos ejemplos son las series Crucial M500 e Intel 320. [88] Los SSD de clase empresarial, como la serie Intel DC S3700, suelen venir con mecanismos de protección contra pérdida de energía más robustos, como supercondensadores o baterías. [89]
La interfaz de host de un SSD se refiere al conector físico y a los métodos de señalización utilizados para comunicarse entre el SSD y el sistema host. Esta interfaz es administrada por el controlador del SSD y suele ser similar a las que se encuentran en las unidades de disco duro tradicionales (HDD). Las interfaces comunes incluyen:
Los SSD pueden admitir varias interfaces lógicas, que definen los conjuntos de comandos que utilizan los sistemas operativos para comunicarse con el SSD. Dos interfaces lógicas comunes son:
El tamaño y la forma de cualquier dispositivo dependen en gran medida del tamaño y la forma de los componentes utilizados para fabricarlo. Los discos duros y las unidades ópticas tradicionales están diseñados en torno a los platos giratorios o al disco óptico junto con el motor del eje en su interior. Dado que un SSD está formado por varios circuitos integrados (CI) interconectados y un conector de interfaz, su forma ya no se limita a la forma de las unidades de medios giratorios. Algunas soluciones de almacenamiento de estado sólido vienen en un chasis más grande que incluso puede ser un factor de forma de montaje en bastidor con numerosos SSD en su interior. Todos se conectarían a un bus común dentro del chasis y se conectarían fuera de la caja con un solo conector. [3]
Para el uso general de computadoras, el factor de forma de 2,5 pulgadas (que se encuentra típicamente en computadoras portátiles y se usa para la mayoría de los SSD SATA) es el más popular, en tres grosores [98] (7,0 mm, 9,5 mm, 14,8 o 15,0 mm; con 12,0 mm también disponible para algunos modelos). Para computadoras de escritorio con ranuras para unidades de disco duro de 3,5 pulgadas, se puede usar una placa adaptadora simple para que encaje dicha unidad. Otros tipos de factores de forma son más comunes en aplicaciones empresariales. Un SSD también se puede integrar completamente en el resto de circuitos del dispositivo, como en la MacBook Air de Apple (a partir del modelo de otoño de 2010). [99] A partir de 2014 , los factores de forma mSATA y M.2 también ganaron popularidad, principalmente en computadoras portátiles.[actualizar]
El beneficio de utilizar un factor de forma de HDD actual sería aprovechar la amplia infraestructura ya existente para montar y conectar las unidades al sistema host. [3] [100] Estos factores de forma tradicionales se conocen por el tamaño del medio giratorio (es decir, 5,25 pulgadas, 3,5 pulgadas, 2,5 pulgadas o 1,8 pulgadas) y no por las dimensiones de la carcasa de la unidad.
Para aplicaciones donde el espacio es limitado, como ultrabooks o tabletas , se estandarizaron algunos formatos compactos para SSD basados en flash.
Existe el formato mSATA, que utiliza el diseño físico de la tarjeta PCI Express Mini . Sigue siendo compatible eléctricamente con la especificación de interfaz de la tarjeta PCI Express Mini, aunque requiere una conexión adicional al controlador host SATA a través del mismo conector.
El formato M.2 , anteriormente conocido como Next Generation Form Factor (NGFF), es una transición natural del mSATA y el diseño físico que utilizaba, a un formato más utilizable y avanzado. Mientras que mSATA aprovechaba un formato y un conector existentes, M.2 ha sido diseñado para maximizar el uso del espacio de la tarjeta, mientras que minimiza el espacio ocupado. El estándar M.2 permite que tanto los SSD SATA como PCI Express se adapten a los módulos M.2. [101]
Algunas unidades de alto rendimiento y alta capacidad utilizan el formato estándar de tarjeta adicional PCI Express para alojar chips de memoria adicionales, permitir el uso de niveles de potencia más altos y permitir el uso de un disipador de calor de gran tamaño . También existen placas adaptadoras que convierten otros formatos, especialmente unidades M.2 con interfaz PCIe, en tarjetas adicionales comunes.
Un disco en un módulo ( DOM ) es una unidad flash con una interfaz SATA o ATA paralela (PATA) de 40/44 pines , diseñada para conectarse directamente a la placa base y usarse como una unidad de disco duro (HDD) de computadora. Los dispositivos DOM emulan una unidad de disco duro tradicional, por lo que no se necesitan controladores especiales ni otro soporte específico del sistema operativo. Los DOM se utilizan generalmente en sistemas integrados , que a menudo se implementan en entornos hostiles donde los discos duros mecánicos simplemente fallarían, o en clientes ligeros debido a su pequeño tamaño, bajo consumo de energía y funcionamiento silencioso.
A partir de 2016, [actualizar]las capacidades de almacenamiento varían de 4 MB a 128 GB con diferentes variaciones en los diseños físicos, incluida la orientación vertical u horizontal. [ cita requerida ]
Muchas de las soluciones basadas en DRAM utilizan una caja que suele estar diseñada para encajar en un sistema de montaje en bastidor. La cantidad de componentes DRAM necesarios para obtener la capacidad suficiente para almacenar los datos junto con las fuentes de alimentación de respaldo requiere un espacio mayor que los formatos de disco duro tradicionales. [102]
Los SSD utilizan ahora factores de forma que eran más comunes en los módulos de memoria para aprovechar su flexibilidad a la hora de disponer los componentes. Algunos de ellos son PCIe , mini PCIe , mini-DIMM , MO-297 y muchos más. [103] El SATADIMM de Viking Technology utiliza una ranura DIMM DDR3 vacía en la placa base para proporcionar energía al SSD con un conector SATA independiente para proporcionar la conexión de datos de vuelta a la computadora. El resultado es un SSD fácil de instalar con una capacidad igual a las unidades que normalmente ocupan una bahía de unidad completa de 2,5 pulgadas . [104] Al menos un fabricante, Innodisk, ha producido una unidad que se coloca directamente en el conector SATA (SATADOM) de la placa base sin necesidad de un cable de alimentación. [105] Algunos SSD se basan en el factor de forma PCIe y conectan tanto la interfaz de datos como la alimentación a través del conector PCIe al host. Estas unidades pueden utilizar controladores flash PCIe directos [106] o un dispositivo puente PCIe a SATA que luego se conecta a los controladores flash SATA. [107]
También hay SSD que tienen la forma de tarjetas PCIe, a las que a veces se les llama SSD HHHL (Half Height Half Length) o AIC (Add in Card). [108] [109] [110]
A principios de la década de 2000, algunas empresas introdujeron SSD en formatos Ball Grid Array (BGA), como DiskOnChip [111] de M-Systems (ahora SanDisk ) y NANDrive [112] [113] de Silicon Storage Technology (ahora producido por Greenliant Systems ), y M1000 [114] de Memoright para su uso en sistemas integrados. Los principales beneficios de los SSD BGA son su bajo consumo de energía, el pequeño tamaño del paquete de chip para adaptarse a subsistemas compactos y que se pueden soldar directamente a una placa base del sistema para reducir los efectos adversos de la vibración y los golpes. [115]
Estas unidades integradas a menudo cumplen con los estándares eMMC y eUFS .
Los primeros dispositivos similares a las unidades de estado sólido (SSD) utilizaban tecnología de semiconductores, siendo un ejemplo temprano el StorageTek STC 4305 de 1978. Este dispositivo era un reemplazo compatible con el enchufe del disco duro IBM 2305 , que inicialmente utilizaba dispositivos acoplados por carga para el almacenamiento y luego cambió a memoria dinámica de acceso aleatorio (DRAM). El STC 4305 era significativamente más rápido que sus contrapartes mecánicas y costaba alrededor de $400,000 para una capacidad de 45 MB. [116] Aunque existieron los primeros dispositivos similares a SSD, no se usaron ampliamente debido a su alto costo y pequeña capacidad de almacenamiento.
A finales de los años 80, empresas como Zitel empezaron a vender productos SSD basados en DRAM bajo el nombre de "RAMDisk". Estos dispositivos se utilizaban principalmente en sistemas especializados como los fabricados por UNIVAC y Perkin-Elmer.
La memoria flash, un componente clave en los SSD modernos, fue inventada en 1980 por Fujio Masuoka en Toshiba. [132] [133] Los SSD basados en flash fueron patentados en 1989 por los fundadores de SanDisk , [134] que lanzó su primer producto en 1991: un SSD de 20 MB para portátiles IBM. [135] Si bien la capacidad de almacenamiento era limitada y el precio alto (alrededor de $1000), esto marcó el comienzo de una transición a la memoria flash como alternativa a los discos duros tradicionales. [136]
En la década de 1990 surgieron nuevos fabricantes de unidades de memoria flash, entre ellos STEC, Inc. , [137] M-Systems , [138] [139] y BiTMICRO. [140] [141]
A medida que la tecnología avanzó, los SSD experimentaron mejoras espectaculares en capacidad, velocidad y asequibilidad. [142] [143] [144] [145] Para 2016, los SSD disponibles comercialmente tenían más capacidad que los HDD más grandes disponibles. [146] [147] [148] [149] [150] Para 2018, los SSD basados en flash habían alcanzado capacidades de hasta 100 TB en productos empresariales, y los SSD de consumo ofrecían hasta 16 TB. [117] Estos avances estuvieron acompañados de aumentos significativos en las velocidades de lectura y escritura, y algunos modelos de consumo de alta gama alcanzaron velocidades de hasta 14,5 GB/s. [120]
En 2021, se anunció NVMe 2.0 con Zoned Namespaces (ZNS). ZNS permite mapear los datos directamente a su ubicación física en la memoria, lo que proporciona acceso directo en un SSD sin una capa de traducción flash. [151] En 2024, Samsung anunció lo que llamó el primer SSD del mundo con una interfaz PCIe híbrida, el Samsung 990 EVO. La interfaz híbrida se ejecuta en los modos x4 PCIe 4.0 o x2 PCIe 5.0, una novedad para un SSD M.2. [152]
Los precios de los SSD también han caído drásticamente: el costo por gigabyte disminuyó de alrededor de 50.000 dólares en 1991 a menos de 0,05 dólares en 2020. [130]
Las unidades flash empresariales (EFD) están diseñadas para aplicaciones de alto rendimiento que requieren operaciones de entrada/salida rápidas por segundo ( IOPS ), confiabilidad y eficiencia energética. Las EFD suelen tener especificaciones más altas que las SSD de consumo, lo que las hace adecuadas para aplicaciones de misión crítica. El término fue utilizado por primera vez por EMC en 2008 para describir las SSD diseñadas para entornos empresariales. [153] [154]
Un ejemplo de un EFD es la serie Intel DC S3700, lanzada en 2012. Estas unidades se destacaron por su rendimiento constante, manteniendo la variación de IOPS dentro de un rango estrecho, lo cual es crucial para los entornos empresariales. [155]
Otro producto importante es la serie Toshiba PX02SS, lanzada en 2016. Diseñadas para aplicaciones de escritura intensiva como el procesamiento de transacciones en línea, estas unidades lograron velocidades de lectura y escritura impresionantes y altas calificaciones de resistencia. [156]
En 2017, Intel presentó los SSD basados en la tecnología 3D XPoint bajo la marca Optane. A diferencia de la memoria flash NAND, 3D XPoint utiliza un método diferente para almacenar datos, lo que ofrece un mayor rendimiento de IOPS, aunque las velocidades de lectura y escritura secuencial siguen siendo más lentas en comparación con los SSD tradicionales. [157]
A medida que la tecnología SSD continúa mejorando, se utilizan cada vez más en PC ultramóviles y sistemas portátiles ligeros. El primer PC basado en SSD con memoria flash que estuvo disponible fue el Sony Vaio UX90, anunciado para pedidos anticipados el 27 de junio de 2006 y comenzó a enviarse en Japón el 3 de julio de 2006 con un disco duro de memoria flash de 16 GB. [158] Otro de los primeros lanzamientos convencionales de SSD fue el XO Laptop , construido como parte del proyecto One Laptop Per Child . La producción en masa de estas computadoras, construidas para niños en países en desarrollo, comenzó en diciembre de 2007. Para 2009, Dell , [159] [160] [161] Toshiba , [162] [163] Asus , [164] Apple , [165] y Lenovo [166] habían comenzado a producir computadoras portátiles con SDD.
En 2010, la línea MacBook Air de Apple comenzó a utilizar unidades de estado sólido como predeterminadas. [167] [165] En 2011, el Ultrabook de Intel se convirtió en la primera computadora de consumo ampliamente disponible que usa SSD además del MacBook Air. [168] En la actualidad, los dispositivos SDD son ampliamente utilizados y distribuidos por varias empresas , y una pequeña cantidad de empresas fabrican los dispositivos flash NAND dentro de ellos. [169]
Los envíos de SSD fueron de 11 millones de unidades en 2009, [170] 17,3 millones de unidades en 2011 [171] por un total de US$5 mil millones, [172] 39 millones de unidades en 2012, y se esperaba que aumentaran a 83 millones de unidades en 2013 [173] a 201,4 millones de unidades en 2016 [171] y a 227 millones de unidades en 2017. [174]
Los ingresos del mercado mundial de SSD totalizaron 585 millones de dólares en 2008, lo que representa un aumento de más del 100% respecto de los 259 millones de dólares de 2007. [175]
Los mismos sistemas de archivos que se utilizan en las unidades de disco duro también se pueden utilizar en las unidades de estado sólido. Los sistemas de archivos que admiten SSD generalmente también admiten el comando TRIM, que ayuda al SSD a reciclar los datos descartados. El sistema de archivos no necesita administrar la nivelación del desgaste u otras características de la memoria flash, ya que las maneja internamente el SSD. Algunos sistemas de archivos estructurados en registros (por ejemplo, F2FS , JFFS2 ) ayudan a reducir la amplificación de escritura en SSD, especialmente en situaciones en las que solo se modifican cantidades muy pequeñas de datos, como cuando se actualizan los metadatos del sistema de archivos .
Si un sistema operativo no admite el uso de TRIM en particiones de intercambio discretas , es posible que se puedan utilizar archivos de intercambio dentro de un sistema de archivos normal. Por ejemplo, OS X no admite particiones de intercambio; solo realiza intercambios con archivos dentro de un sistema de archivos, por lo que puede utilizar TRIM cuando, por ejemplo, se eliminan archivos de intercambio. [ cita requerida ]
Desde 2010, las utilidades de unidad estándar de Linux se han encargado de la alineación adecuada de la partición de forma predeterminada. [176]
El soporte del kernel para la operación TRIM se introdujo en la versión 2.6.33 de la línea principal del kernel de Linux, lanzada el 24 de febrero de 2010. [177] Los sistemas de archivos ext4 , Btrfs , XFS , JFS y F2FS incluyen soporte para la función discard (TRIM o UNMAP). Para hacer uso de TRIM, se debe montar un sistema de archivos utilizando el discard
parámetro. Las particiones de intercambio de Linux realizan operaciones de descarte de forma predeterminada cuando la unidad subyacente admite TRIM, con la posibilidad de desactivarlas. [178] [179] [180] El soporte para TRIM en cola, una característica SATA 3.1 que hace que los comandos TRIM no interrumpan las colas de comandos, se introdujo en el kernel de Linux 3.12, lanzado el 2 de noviembre de 2013. [181]
Una alternativa a la operación TRIM a nivel de kernel es utilizar una utilidad de espacio de usuario llamadaFstrim-esque recorre todos los bloques no utilizados en un sistema de archivos y envía comandos TRIM para esas áreas.Fstrim-esLa utilidad normalmente se ejecuta mediante cron como una tarea programada. [182]
Durante la instalación, las distribuciones de Linux normalmente no configuran el sistema instalado para utilizar TRIM y, por lo tanto, el /etc/fstab
archivo requiere modificaciones manuales. [183] Esto se debe a que la implementación actual del comando TRIM de Linux podría no ser óptima. [184] Se ha demostrado que causa una degradación del rendimiento en lugar de un aumento del rendimiento en determinadas circunstancias. [185] [186] A partir de enero de 2014, [actualizar]Linux envía un comando TRIM individual a cada sector, en lugar de una lista vectorizada que define un rango TRIM como lo recomienda la especificación TRIM. [187]
Por razones de rendimiento, se recomienda cambiar el programador de E/S del CFQ (Completely Fair Queuing) predeterminado a NOOP o Deadline . CFQ fue diseñado para medios magnéticos tradicionales y busca la optimización, por lo que muchos de esos esfuerzos de programación de E/S se desperdician cuando se utilizan con SSD. Como parte de sus diseños, los SSD ofrecen niveles mucho mayores de paralelismo para las operaciones de E/S, por lo que es preferible dejar las decisiones de programación a su lógica interna, especialmente para SSD de alta gama. [188] [189]
Una capa de bloques escalable para almacenamiento SSD de alto rendimiento, conocida como blk-multiqueue o blk-mq y desarrollada principalmente por ingenieros de Fusion-io , se fusionó con la línea principal del kernel de Linux en la versión 3.13 del kernel, lanzada el 19 de enero de 2014. Esto aprovecha el rendimiento ofrecido por los SSD y NVMe al permitir tasas de envío de E/S mucho más altas. Con este nuevo diseño de la capa de bloques del kernel de Linux, las colas internas se dividen en dos niveles (colas por CPU y colas de envío de hardware), eliminando así los cuellos de botella y permitiendo niveles mucho más altos de paralelización de E/S. A partir de la versión 4.0 del núcleo Linux, publicada el 12 de abril de 2015, el controlador de bloque VirtIO , la capa SCSI (que utilizan los controladores Serial ATA), el marco de mapeo de dispositivos , el controlador de dispositivo de bucle , el controlador de imágenes de bloques sin clasificar (UBI) (que implementa la capa de administración de bloques de borrado para dispositivos de memoria flash) y el controlador RBD (que exporta objetos Ceph RADOS como dispositivos de bloque) se han modificado para utilizar realmente esta nueva interfaz; otros controladores se incorporarán en las siguientes versiones. [190] [191] [192] [193] [194]
Las versiones posteriores a Mac OS X 10.6.8 (Snow Leopard) admiten TRIM, pero solo cuando se utilizan con un SSD adquirido por Apple. [195] TRIM no se habilita automáticamente para unidades de terceros, aunque se puede habilitar mediante el uso de utilidades de terceros como Trim Enabler . El estado de TRIM se puede verificar en la aplicación Información del sistema o en la system_profiler
herramienta de línea de comandos.
Las versiones posteriores a OS X 10.10.4 (Yosemite) incluyen sudo trimforce enable
un comando de terminal que habilita TRIM en SSD que no son de Apple. [196] También existe una técnica para habilitar TRIM en versiones anteriores a Mac OS X 10.6.8, aunque sigue siendo incierto si TRIM se utiliza realmente correctamente en esos casos. [197]
Antes de la versión 7, Microsoft Windows no tomó ninguna medida específica para admitir unidades de estado sólido. A partir de Windows 7, el sistema de archivos NTFS estándar brinda compatibilidad con el comando TRIM. [198]
De manera predeterminada, Windows 7 y las versiones más nuevas ejecutan comandos TRIM automáticamente si se detecta que el dispositivo es una unidad de estado sólido. Sin embargo, debido a que TRIM restablece de manera irreversible todo el espacio liberado, puede ser conveniente deshabilitar la compatibilidad cuando se prefiera habilitar la recuperación de datos en lugar de la nivelación del desgaste. [199] Windows implementa TRIM para más que solo operaciones de eliminación de archivos. La operación TRIM está completamente integrada con comandos a nivel de partición y volumen, como format y delete , con comandos del sistema de archivos relacionados con truncate y compression, y con la función System Restore (también conocida como Volume Snapshot). [200]
La desfragmentación debe desactivarse en las unidades de estado sólido porque la ubicación de los componentes de los archivos en una SSD no afecta significativamente su rendimiento, pero mover los archivos para que estén contiguos mediante la rutina de desfragmentación de Windows provocará un desgaste innecesario de la escritura en el número limitado de ciclos de escritura en la SSD. La función SuperFetch tampoco mejorará materialmente el rendimiento y provoca una sobrecarga adicional en el sistema y la SSD. [201]
Windows Vista generalmente espera unidades de disco duro en lugar de SSD. [202] [203] Windows Vista incluye ReadyBoost para aprovechar las características de los dispositivos flash conectados por USB, pero para los SSD solo mejora la alineación de partición predeterminada para evitar operaciones de lectura-modificación-escritura que reducen la velocidad de los SSD. La mayoría de los SSD suelen dividirse en sectores de 4 KiB, mientras que los sistemas anteriores pueden basarse en sectores de 512 bytes con sus configuraciones de partición predeterminadas no alineadas con los límites de 4 KiB. [204] Windows Vista no envía el comando TRIM a las unidades de estado sólido, pero algunas utilidades de terceros como SSD Doctor escanearán periódicamente la unidad y TRIM las entradas apropiadas. [205]
Windows 7 y versiones posteriores tienen soporte nativo para SSD. [200] [206] El sistema operativo detecta la presencia de un SSD y optimiza el funcionamiento en consecuencia. Para los dispositivos SSD, Windows 7 desactiva ReadyBoost y la desfragmentación automática. [207] A pesar de la declaración inicial de Steven Sinofsky antes del lanzamiento de Windows 7, [200] sin embargo, la desfragmentación no está desactivada, aunque su comportamiento en los SSD difiere. [208] Una razón es el bajo rendimiento de Volume Shadow Copy Service en SSD fragmentados. [208] La segunda razón es evitar alcanzar el número máximo práctico de fragmentos de archivos que un volumen puede manejar. [208]
Windows 7 también incluye soporte para el comando TRIM para reducir la recolección de basura de datos que el sistema operativo ya ha determinado que ya no son válidos. [209] [210]
Los sistemas Windows 8.1 y posteriores también admiten TRIM automático para SSD PCI Express basados en NVMe. Para Windows 7, se requiere la actualización KB2990941 para esta funcionalidad y debe integrarse en la configuración de Windows mediante DISM si Windows 7 debe instalarse en el SSD NVMe. Windows 8/8.1 también admite el comando SCSI unmap, un análogo de SATA TRIM, para SSD conectados por USB o carcasas SATA a USB. También es compatible con el protocolo USB Attached SCSI (UASP).
Si bien Windows 7 admitía TRIM automático para SSD SATA internos, Windows 8.1 y Windows 10 admiten TRIM manual y TRIM automático para SSD SATA, NVMe y conectados por USB. El Desfragmentador de disco en Windows 10 y 11 puede ejecutar TRIM para optimizar un SSD. [211]
Solaris a partir de la versión 10 Update 6 (publicada en octubre de 2008), y versiones recientes [ ¿cuándo? ] de OpenSolaris , Solaris Express Community Edition , Illumos , Linux con ZFS en Linux y FreeBSD pueden usar SSD como potenciadores del rendimiento para ZFS . Se puede usar un SSD de baja latencia para el registro de intenciones de ZFS (ZIL), donde se denomina SLOG. También se puede usar un SSD para la caché de reemplazo adaptativa de nivel 2 (L2ARC), que se usa para almacenar en caché datos para lectura. [212]
ZFS para FreeBSD introdujo soporte para TRIM el 23 de septiembre de 2012. [213] El sistema de archivos Unix también admite el comando TRIM. [214]
A continuación se enumeran las organizaciones y los organismos de normalización que trabajan para crear estándares para unidades de estado sólido (y otros dispositivos de almacenamiento informático). La siguiente tabla también incluye organizaciones que promueven el uso de unidades de estado sólido. Esta no es necesariamente una lista exhaustiva.
{{cite magazine}}
: Requiere citar revista |magazine=
( ayuda )SSD Anthology2
fue invocada pero nunca definida (ver la página de ayuda ).Los productos estarán disponibles en 2016, tanto en formatos SSD (PCIe) estándar para todo, desde Ultrabooks hasta servidores, como en un formato DIMM para sistemas Xeon para un mayor ancho de banda y latencias más bajas. Como se esperaba, Intel proporcionará controladores de almacenamiento optimizados para la memoria 3D XPoint
SSD Anthology3
fue invocada pero nunca definida (ver la página de ayuda ).Demerjian TPC-C Records3
fue invocada pero nunca definida (ver la página de ayuda ).Werner SSD Features2
fue invocada pero nunca definida (ver la página de ayuda ).