Unidad de estado sólidoLa unidad de estado sólido o SSD (del inglés Solid State Drive) es un tipo de dispositivo de almacenamiento de datos que utiliza memoria no volátil, como la memoria flash, para almacenar datos, en lugar de los platos o discos magnéticos de las unidades de disco duro (HDD) convencionales.[1] En comparación con los discos duros, las unidades de estado sólido son menos sensibles a los golpes al no tener partes móviles, son inaudibles, más livianas y poseen un notablemente menor tiempo de acceso y de latencia, lo que se traduce en una mejora sustancial en el rendimiento, en cuanto a la carga de sistemas operativos, software y transferencia de datos. En contrapartida, su vida útil puede ser inferior, ya que tienen un número limitado de ciclos de escritura, pudiendo producirse la pérdida absoluta de los datos de forma inesperada e irrecuperable. Sin embargo, por medio del cálculo del tiempo medio entre fallos y la administración de sectores defectuosos dicho problema puede ser mitigado razonablemente. Las unidades SSD pueden usar la misma interfaz SATA que los discos duros, por lo que son fácilmente intercambiables sin tener que recurrir a adaptadores o tarjetas de expansión para compatibilizarlos con el equipo, también pueden usar la interfaz PCIe para obtener velocidades mayores de lectura/escritura, pudiendo superar los 10 GB/s, si bien esto depende de la generación de PCIe que utilice y otros factores de su diseño.[2] Aunque en sus inicios el formato físico más común de estas unidades era el de un disco duro estándar de 2.5 o 3.5 pulgadas, actualmente existen otros formatos de consumo en uso como mSATA o M.2, y otros empresariales como NF1.[3][4] A partir de 2010, la mayoría de las SSD utilizan memoria flash basada en puertas NAND, que retiene los datos sin alimentación eléctrica. Para aplicaciones que requieren acceso rápido, pero no necesariamente la persistencia de datos después de la pérdida de alimentación, las SSD pueden ser construidos a partir de memoria de acceso aleatorio (RAM). Estos dispositivos pueden emplear fuentes de alimentación independientes, como baterías, para mantener los datos después de la desconexión de la corriente eléctrica. Se han desarrollado y están disponibles en el mercado dispositivos que combinan ambas tecnologías, discos duros con memorias flash, en una única unidad, que se denomina disco duro híbrido (HHDD o Hybrid Hard Disk Drive), con la intención de mejorar la velocidad pero manteniendo la capacidad del disco duro, y a precios inferiores a los de estado sólido. Se logra así una solución de compromiso con una tasa de transferencia mayor que la de un disco duro convencional pero menor a la de un SSD. DefiniciónUna memoria de estado sólido SSD es un dispositivo de almacenamiento, no volátil, fabricado exclusivamente con componentes electrónicos.[5] Está pensado para utilizarse en equipos informáticos en sustitución de una unidad de disco duro convencional, como memoria auxiliar o para crear unidades híbridas HHDD compuestas por SSD y disco duro. Al no tener piezas móviles reduce drásticamente el tiempo de acceso, latencia y otros, diferenciándose así de los discos duros electromagnéticos. Al ser inmune a las vibraciones externas, es especialmente apto para vehículos, computadoras portátiles,[6] etcétera. HistoriaSSD basados en RAMEn la década de 1950 se utilizaban dos tecnologías denominadas memoria de núcleo magnético y CCROS (en inglés: Charged Capacitor Read-Only Storage). Estas memorias auxiliares surgieron durante la época en la que se hacía uso del tubo de vacío, pero con la introducción en el mercado de las memorias de tambor, más asequibles, no se continuaron desarrollando. Durante los años 1970 y 1980, se aplicaron en memorias fabricadas con semiconductores. Sin embargo, su precio era tan prohibitivo que tuvieron muy poca aceptación, incluso en el mercado de los superordenadores. En 1978, Texas memory presentó una unidad de estado sólido de 16 KiB basada en RAM para los equipos de las petroleras. Al año siguiente, StorageTek desarrolló el primer tipo de unidad de estado sólido moderna. En 1983, se presentó el Sharp PC-5000, haciendo gala de 128 cartuchos de almacenamiento en estado sólido basado en memoria de burbuja. En septiembre de 1986, la empresa Santa Clara Systems presentó el BATRAM,[7] que constaba de 4 MiB ampliables a 20 MiB usando módulos de memoria; dicha unidad contenía una pila recargable para conservar los datos cuando no estaba en funcionamiento. SSD basados en flashFueron inventadas por el doctor Fujio Masuoka en 1980 cuando trabajaba para Toshiba. Él retomó el proyecto en 1987 pero fueron comercializadas por esa empresa en 1989.[8] En 1991 SanDisk (llamada SunDisk en esa época) logró también comercializar con éxito un dispositivo que corregía errores de lectura y escritura en memorias flash.[9] En 1995, M-Systems presentó unidades de estado sólido basadas en flash. Desde entonces, las SSD se han utilizado exitosamente como alternativa a los discos duros en la industria militar y aeroespacial, así como en otros menesteres análogos.[10] Estas aplicaciones dependen de una alta tasa de tiempo medio entre fallos (MTBF), gran capacidad para soportar golpes fuertes, cambios bruscos de temperatura, presión y turbulencias. BiTMICRO, en 1999, hizo gala de una serie de presentaciones y anuncios de unidades de estado sólido basadas en flash de 18 GiB en formato de 3,5 pulgadas. Fusion-io, en 2007, anunció unidades de estado sólido con interfaz PCI-Express capaces de realizar 100 000 operaciones de Entrada/Salida en formato de tarjeta de expansión con capacidades de hasta 320 GB. En el CeBIT 2009, OCZ presentó un SSD basado en flash de 1 TiB con interfaz PCI Express x8 capaz de alcanzar una velocidad máxima de escritura de 654 MB/s y una velocidad máxima de lectura a 712 MB/s. En diciembre de 2009, Micron Technology anunció el primer SSD del mundo, utilizando la interfaz SATA III.[11] En 2016, Seagate muestra velocidades de transferencia de 10GB/s desde un SSD PCIe de 16 vías y también muestra un SSD de 60TB con un factor de forma de 3.5 pulgadas, la unidad de mayor capacidad del mundo.[12] Samsung también lanza al mercado un SSD de 15.36TB con un precio de US $ 10,000 utilizando una interfaz SAS, utilizando un factor de forma de 2.5 pulgadas pero con el grosor de unidades de 3.5 pulgadas. Esta fue la primera vez que un SSD disponible en el mercado tenía más capacidad que el disco duro más grande disponible en la actualidad.[13][14][15] En 2017, se lanzan los primeros productos con memoria 3D Xpoint. 3D Xpoint es completamente diferente de NAND Flash y almacena datos usando diferentes principios.[16] En 2018, tanto Samsung como Toshiba introducen en el mercado unidades SSD de 30.72TB que usan el mismo factor de forma de 2.5 pulgadas pero con un grosor de unidad de 3.5 pulgadas que usa interfaces SAS. Nimbus Data anuncia y, según se informa, envía unidades de 100TB utilizando una interfaz SATA, no se espera que alcancen a una unidad de disco duro hasta 2025. Samsung presentó un SSD m.2 con velocidades de 3500MB/S.[17][18][19][20] Unidad flash empresarialLas unidades flash empresariales (EFD) están diseñadas para aplicaciones que requieren una alta tasa de operaciones por segundo, fiabilidad y eficiencia energética. En la mayoría de los casos, un EFD es un SSD con un conjunto de especificaciones superiores. El término fue acuñado por EMC en enero de 2008, para ayudarles a identificar a los fabricantes SSD que irían orientados a mercados de más alta gama. No existen organismos de normalización que acuñen la definición de EFD, por lo que cualquier fabricante puede denominar EFD a unidades SSD sin que existan unos requisitos mínimos. Del mismo modo que puede haber fabricantes de SSD que fabriquen unidades que cumplan los requisitos EFD y que jamás sean denominados así. RaceTrackIBM está investigando y diseñando un dispositivo, aún en fase experimental, denominado RaceTrack. Al igual que las SSD, son memorias no volátiles basadas en nanohilos compuestos por níquel, hierro y vórtices que separan entre sí los datos almacenados, lo que permite velocidades hasta cien mil veces superiores a los discos duros tradicionales, según apunta la propia IBM.[21] Partes principales de una SSDUna unidad de estado sólido dispone de cuatro aspectos fundamentales que determinan sus principales características, tanto de lectura y escritura como de capacidad: formato físico y conector, interfaz de comunicación y protocolo de comunicación. Formato físicoLas unidades de estado sólido llegaron inicialmente al mercado en un formato igual al de los discos duros, y hoy en día sigue siendo habitual encontrar SSD que disponen de un formato de disco de 2.5 pulgadas y, sobre todo en entornos empresariales, 3.5 pulgadas. A medida que se ha ido reduciendo el tamaño de los chips de memoria, de los controladores y otros chips que se usan para su funcionamiento, y debido a la necesidad de ahorrar espacio en portátiles, tabletas y convertibles, existen formatos que son como tarjetas pequeñas. El primer formato mini-SATA (abreviado mSATA) es una pequeña tarjeta de 30 mm de ancho y 50.95 mm de largo. Actualmente es mucho más común el formato M.2, que tiene un ancho de 22 mm y está estandarizado en cinco longitudes diferentes: 30 mm, 42 mm, 60 mm, 80 mm y 110 mm. Se suele nombrar el formato específico de la tarjeta añadiendo el largo al ancho. El más común a nivel doméstico es el M.2 2280. Existen otros formato menos habituales y otros que están en desarrollo como el NF1 de Samsung. Interfaz físicaLa interfaz del bus de una SSD determina el tipo de bus que usa para la comunicación a nivel físico con el dispositivo en el que se sitúa la SSD. Existen principalmente dos: SATA3, que permite velocidades de hasta 6 Gb/s (750 MB/s); y PCI Express (PCIe) cuya velocidad máxima dependerá de la generación que implemente, siendo de hasta 16 Gb/s por canal PCIe 4.0. Lo más habitual es tener conexiones PCIe ×2 y ×4 (dos y cuatro canales PCIe agregados, respectivamente). También existen otros buses como SATA Express. Conector físicoExisten distintos conectores físicos utilizados en las SSD, y cada uno está ligado a una interfaz de bus. Por ejemplo, las SSD doméstica de 2.5 pulgadas usan un conector SATA para usar SATA3 como si fueran un disco duro, mientras que la especificación M.2 determina una serie de formatos para los contactos del conector en función de si el bus es SATA3 o PCIe. Existe también el conector SATA Express (SATA 3.2) que usa una interfaz de bus PCIe ×2, y el U.2 que también usa PCIe; suelen ser usados en unidades con formato de disco de 2.5 o 3.5 pulgadas. Protocolo de comunicaciónLa interfaz de comunicación es la forma en la que se transmiten los unos y ceros a nivel físico entre la unidad de estado sólido y el equipo anfitrión. Principalmente se usan: AHCI que está ligada a Serial ATA, y NVMe que está ligado a PCIe. Puesto que es un protocolo de comunicación a nivel físico, la información se divide en grupos de bits (carga útil) y a cada grupo se le asigna una cabecera para realizar labores de control de transmisión y corrección de errores. En el caso de AHCI, el envío se realiza con una gran pérdida de bus útil al hacer una codificación 8b/10b (ocho bits de carga útil son diez bits enviados), mientras que NVMe tiene una codificación 128b/130b, por lo que se desperdicia menos ancho de bus en la transmisión de información. Debido a ello la velocidad máxima real de SATA3 es de 600 MB/s aunque la teórica es de 750 MB/s. En el caso de PCIe, la velocidad máxima real de una conexión PCIe 3.0 ×1 sería de 984 MB/s. Arquitectura y funcionamientoSe distinguen dos períodos: al principio, se construían con una memoria volátil tipo DRAM y, más adelante, se empezaron a fabricar con una memoria no volátil flash tipo NAND. ControladorToda SSD incluye un chip de control, más comúnmente llamado controlador, que permite que la unidad gestione la forma de leer y escribir la información. Cuenta con un diseño similar al de un sistema en chip, ya que incluye un procesador de uno o más núcleos, similar a un circuito integrado de aplicación específica con SRAM interna. Algunas veces también se incluye un chip de DRAM en la SSD, gestionada por el controlador, para actuar de caché de datos de usuario y metadatos internos de la SSD.[22] Si bien los primeros controladores eran bastante básicos, actualmente proporcionan una gran variedad de características relacionadas con la protección de la información guardada y la seguridad. Puesto que también se encarga de gestionar la pérdida de alimentación de la unidad, el diseño de la SSD suele incluir condensadores para permitir que el controlador termine de realizar de una manera ordenada las transacciones que estuviera llevando a cabo. El controlador se encarga de tareas tales como:
MemoriaMemoria flashCasi la totalidad de los fabricantes comercializan sus SSD con memorias no volátiles NAND para haber un desarrollo de un dispositivo no solo veloz y con una gran capacidad, sino robusto y a la vez lo más pequeño posible tanto para el mercado de consumo como el profesional. Al ser memorias no volátiles, no requieren ningún tipo de alimentación constante ni pilas para no perder los datos almacenados, incluso en apagones repentinos, aunque cabe destacar que las SSD NAND son más lentos que los que se basan en DRAM. Son comercializadas con las dimensiones heredadas de los discos duros, es decir, en 3.5 pulgadas, 2.5 pulgadas y 1.8 pulgadas, aunque también ciertas SSD vienen en formato tarjeta de expansión. En algunos casos, las SSD pueden ser más lentas que los discos duros, en especial con controladoras antiguas de gamas bajas, pero dado que los tiempos de acceso de una SSD son inapreciables, al final resultan más rápidos. Este tiempo de acceso tan corto se debe a la ausencia de piezas mecánicas móviles, inherentes a los discos duros. Una SSD se compone principalmente:
El rendimiento de las SSD se incrementan añadiendo chips NAND en paralelo. Un solo chip NAND es relativamente lento, dado que la interfaz de entrada y salida es de 8 o 16 bits asíncrona y también por la latencia adicional de las operaciones básicas de E/S (típica de los SLC NAND, aproximadamente 25 μs para buscar una página de 4 KiB de la matriz en el búfer de E/S en una lectura, aproximadamente 250 μs para una página de 4 KiB de la memoria intermedia de E/S a la matriz de la escritura y sobre 2 ms para borrar un bloque de 256 KiB). Cuando varias unidades con NAND operan en paralelo dentro de un SSD, las escalas de ancho de banda se incrementan y las latencias de alta se minimizan, siempre y cuando suficientes operaciones estén pendientes y la carga se distribuya uniformemente entre los dispositivos. Las SSD de Micron e Intel fabricaron unidades flash mediante la aplicación de los datos de creación de bandas (similar a RAID 0) e intercalado. Esto permitió la creación de SSD ultrarápidos con 250 MB/s de lectura y escritura. Las controladoras serie SF 1000 de Sandforce consiguen tasas de transferencia cercanas a la saturación de la interfaz SATA II (rozando los 300 MB/s simétricos tanto en lectura como en escritura). La generación sucesora, las de la serie SF 2000 de Sandforce, permiten más allá de los 500 MB/s simétricos de lectura y escritura secuencial, requiriendo de una interfaz SATA III si se desea alcanzar estos registros. Cada celda de la memoria NAND puede contener uno o más bits, y en función de ello se fabrican de manera distinta y reciben nombres distintos.
DRAMLas SSD basados en este tipo de almacenamiento proporcionan muy bajo tiempo de acceso a datos, en torno a 10 μs y se utilizan principalmente para acelerar aplicaciones que de otra manera serían mermadas por la latencia del resto de sistemas. Estas SSD incorporan una batería o bien un adaptador de corriente continua, además de un sistema de copia de seguridad de almacenamiento para desconexiones abruptas que al restablecerse vuelve a volcarse a la memoria no volátil, algo similar al sistema de hibernación de los sistemas operativos. Estas SSD son generalmente equipados con los mismos módulos de memoria RAM que cualquier ordenador corriente, permitiendo su sustitución o expansión. Sin embargo, las mejoras de las unidades basadas en flash están haciendo las SSD basadas en DRAM no tan efectivas y acortando la brecha que los separa en términos de rendimiento. Además los sistemas basados en DRAM son mucho más caros. Otras aplicacionesLas unidades de estado sólido son especialmente útiles en un ordenador que ya llegó al máximo de su memoria RAM. Por ejemplo, algunas arquitecturas x86 tienen 4 GiB de límite, pero éste puede ser extendido colocando una SSD como archivo de intercambio (mecanismo de memoria virtual). Estas SSD no proporcionan tanta rapidez de almacenamiento como la RAM principal debido al cuello de botella del bus que los conecta y a que la distancia de un dispositivo a otro es mucho mayor, pero aun así mejoraría el rendimiento con respecto a colocar el archivo de intercambio en una unidad de disco duro tradicional. Optimizaciones afines a SSD en los sistemas de archivosLos sistemas de archivos se pensaron para trabajar y gestionar sus archivos según las funcionalidades de un disco duro. Ese método de gestión no es eficaz para ordenar los archivos dentro del SSD, provocando una seria degradación del rendimiento cuanto más se usa, recuperable por formateo total de la unidad de estado sólido, pero resultando engorroso, sobre todo en sistemas operativos que dependan de almacenar diariamente bases de datos. Para solucionarlo, diferentes sistemas operativos optimizaron sus sistemas de archivos para trabajar eficientemente con unidades de estado sólido, cuando éstas eran detectadas como tales, en vez de como discos duros.[26] NTFS y exFATAntes de Windows 7, todos los sistemas operativos venían preparados para manejar con precisión las unidades de disco duro. Windows Vista incluyó la característica ReadyBoost para mejorar y aprovechar las características de las unidades USB, pero para las SSD tan sólo optimizaba la alineación de la partición para prevenir operaciones de lectura, modificaciones y escritura, ya que en las SSD normalmente los sectores son de 4 KiB, y actualmente los discos duros tienen sectores de 512 bytes desalineados (que luego también se aumentaron a 4 KiB). Entre algunas cosas, se recomienda desactivar el desfragmentador; su uso en una unidad SSD no tiene sentido, y reduciría su vida al hacer un uso continuo de los ciclos de lectura y escritura. Windows 7 viene optimizado de serie para manejar correctamente las SSD sin perder compatibilidad con los discos duros. El sistema detecta automáticamente si es unidad de estado sólido o disco duro, y cambia varias configuraciones; por ejemplo, desactiva automáticamente el desfragmentador, el Superfetch, el Readyboost, cambia el sistema de arranque e introduce el comando TRIM, que prolonga la vida útil de las SSD e impide la degradación de su rendimiento. ZFSSolaris, en su versión 10u6, y las últimas versiones de OpenSolaris y Solaris Express Community Edition, pueden usar SSD para mejorar el rendimiento del sistema ZFS. Hay dos modos disponibles, utilizando un SSD para el registro de ZFS Intent (ZIL) o para la L2ARC. Cuando se usa solo o en combinación, se aumenta radicalmente el rendimiento. Los nuevos SSD incluyen la tecnología GC (Garbage Collector), otro mecanismo muy útil, en especial para las personas que no tienen el PC encendido todo el día, el cual consiste en programar o forzar limpiezas manuales. A estas utilidades se las conoce como recolectoras de basura y permiten de un modo manual borrar esos bloques en desuso. Este tipo de utilidades son útiles si no usamos un sistema operativo como Windows 7 y también se puede usar en combinación con TRIM.[27] Ventajas, inconvenientes y solucionesVentajasLos dispositivos de estado sólido que usan bloques de memorias flash tienen varias ventajas únicas frente a los discos duros mecánicos:[28]
LimitacionesLos dispositivos de estado sólido que usan memorias flash tienen también varias desventajas:
SolucionesAlgunos de los problemas que mayormente afectaron su uso masivo fueron:
Véase también
Referencias
|