Unidades SSD

De Wiki de Sistemas Operativos
Revisión del 03:45 30 may 2019 de Antsilgor (discusión | contribuciones) (Estructura hardware)
Saltar a: navegación, buscar

Unidad de estado sólido (Solid State Drive, SSD) es un dispositivo de almacenamiento de datos hecho con componentes electrónicos. No tienen partes móviles y utilizan memoria Flash, que es similar a la tecnología que se emplea en dispositivos de almacenamiento portátiles USB (coloquialmente conocidos como pendrive). Esta misma tecnología se puede emplear en unidades híbridas (SSHD) compuestas por SSD y disco duro mágnetico, que intentan compensar las limitaciones de capacidad de las SSD a la vez que se mejoran los tiempos de acceso a un precio inferior al SSD. Se tratan, por tanto, de memoria de almacenamiento no volátil.

Estructura hardware

Su arquitectura emplea memoria no volátil Flash (tipo NAND). Además de una memoria DRAM volátil que se emplea como caché para amortiguar las escrituras directas sobre la memoria Flash, pues la vida de la memoria Flash está limitada por el número de escrituras que se realice, mientras que la DRAM no tiene este inconveniente, además de ser más lentas que las lecturas. Por tanto, la memoria DRAM se usa como zona intermedia en la que se mantienen los datos accedidos recientemente (ya se en lectura o escritura).

Ssdgrafico.jpg

Los componentes clave de una SSD son el controlador y la memoria para almacenar los datos. El controlador gestiona las operaciones de L/E al dispositivo y ofrece una interfaz (SATA) compatible con la de discos magnéticos. El buffer es una memoria DRAM que actúa como almacenamiento intermedio entre el controlador y el array de memorias Flash, ya que las operaciones de escritura son lentas.

Se transfieren bloques de datos que se almacenan en varias celdas flash.

El dispositivo utiliza un condensador para retener energía suficiente como para volcar el buffer en el array de memorias en caso de pérdida repentina de la alimentación manteniendo así la integridad de los datos.

Ssdnand.jpg

Técnica de Escritura y Lectura:

La interfaz de cada celda flash es serie (8/16 bits). Un sector se escribe en paralelo disperso en varias celdas. Para escribir, la celda debe estar vacía, de lo contrario, habrá que borrarla previamente. Para conseguir un mejor rendimiento, se escriben o se leen varias celdas simultáneamente, dividiendo los tiempos de transferencia por el número de celdas que se paralelizan.

Particularidades unidades SSD:

  • El tamaño típico del “sector” es de 4 KB.
  • Para poder escribir, hay que borrar previamente.
  • Las celdas no se pueden borrar individualmente, por lo que son agrupadas en unidades de borrado. Estas unidades de borrado tienen un tamaño típico de 128KB-256KB.
  • Debemos tener en cuenta que el borrado de un sector, puede afectar a otros sectores y, si ya hay otros sectores en la misma unidad de borrado, hay que preservarlos:
      Escritura = Lectura + Borrado + Modificación + Escritura
  • Soportan un número finito de borrados. Un número típico de ciclos de borrado/programación: 100.000.

Las SSD tienen la misma interfaz SATA que los discos magnéticos, luego son compatibles con cualquier sistema de archivos válido para discos magnéticos. Pero, debido a la Amplificación de la escritura y a que cada celda flash admite un número finito de borrados, hay que intentar evitar usar repetidamente una misma celda.

SSD vs Disco Magnético:

SSD-VS-HDD.jpg

Fuente: Wikipedia en ingles, artículo SSD.

Más información

Enlace de Interés:

https://www.cactus-tech.com/resources/blog/details/solid-state-drives-101

11.3. Mejoras de tiempos de desplazamiento