Fundamentos de la Tecnología SSD: NAND Flash, Celdas y Wear Leveling

Clasificado en Informática

Escrito el en español con un tamaño de 4,88 KB

Introducción a los Discos de Estado Sólido (SSD)

Un SSD (Solid State Disk) es un dispositivo de almacenamiento que emula el comportamiento de un HDD (Hard Disk Drive).

El Rol de NAND Flash y el Controlador

Un SSD NAND Flash es un dispositivo de memoria FLASH que incluye un controlador. Este controlador cumple varias funciones esenciales:

  • Emula eléctrica y mecánicamente un HDD.
  • Proporciona compatibilidad de software (SW) con el disco duro magnético.

Características de la Memoria NAND Flash

NAND Flash es la memoria de estado sólido más común en el mercado actual de discos de estado sólido.

  • Velocidad: No es tan rápida como la DRAM, pero es significativamente más rápida que un disco duro magnético.
  • Persistencia: No requiere una fuente de alimentación constante para retener los datos.

Estrategias para Aumentar la Capacidad de Almacenamiento SSD

Para incrementar la capacidad de almacenamiento de los discos SSD, los fabricantes suelen optar por tres métodos principales:

  1. Aumentar la cantidad de chips de memoria montados sobre la placa del disco SSD.
  2. Aumentar la cantidad de bits por celda de los chips de memoria (densidad).
  3. Aumentar verticalmente el número de capas de los chips de memoria (Tecnología 3D NAND).

Tipos de Celdas de Memoria (SLC, MLC, TLC)

Cada celda de memoria consiste en un transistor que puede almacenar electrones, lo que determina la cantidad de bits que puede guardar:

  • SLC (Single-Level Cell): Cada celda almacena 1 bit de información.
  • MLC (Multi-Level Cell): Cada celda almacena 2 bits de información.
  • TLC (Triple-Level Cell): Cada celda almacena 3 bits de información.

Comparativa SLC vs. MLC

Una celda MLC tiene cuatro estados posibles (11, 10, 01 y 00). Su lectura puede llevar hasta 3 veces más tiempo que en el caso SLC.

La tecnología SLC ofrece ventajas significativas en rendimiento y durabilidad:

  • Es más rápida, consume menos energía y tiene un mayor número de ciclos de borrado-escritura.
  • Ofrece la mitad de capacidad de almacenamiento para el mismo número de transistores.
  • Uso Recomendado: Aunque es más cara para el uso doméstico, la SLC es perfecta para el uso empresarial que requiere un extra de prestaciones y fiabilidad.

Tecnología de Acceso: HDD vs. SSD

Acceso en HDD (Hard Disk Drive)

Un HDD es un dispositivo de acceso directo, lo que implica:

  • Tiempos de acceso diferentes para cada sector.
  • El tiempo de acceso depende de la posición de la cabeza y del sector (tiempo de búsqueda y tiempo de latencia rotacional).

Acceso en SSD (Solid State Drive)

El SSD proporciona acceso aleatorio a todas las páginas (equivalentes a los sectores):

  • El tiempo de acceso es igual para todas las páginas.

Organización de Datos: Páginas y Bloques

Los datos en la memoria NAND se organizan jerárquicamente en Páginas y Bloques:

  • Página: Unidad mínima de lectura y escritura. Generalmente, 4 KiB (KiByte) de datos.
  • Bloque: Unidad mínima de borrado. 64 páginas forman un bloque de 256 KiB.

Reglas de Operación

  • Las escrituras y lecturas se realizan por páginas completas.
  • Solo se puede escribir en páginas que hayan sido previamente borradas.
  • El borrado de datos se realiza exclusivamente a nivel de bloque.

Wear Leveling (Nivelación de Desgaste)

El Wear Leveling es un conjunto de algoritmos esenciales implementados por el controlador del SSD para maximizar la longevidad del dispositivo.

Los algoritmos de nivelación de desgaste igualan el número de ciclos de Programa/Borrado (P/E cycles) para todos los bloques de la manera más uniforme posible, independientemente del sistema operativo y del sistema de archivos del anfitrión.

Impacto en la Longevidad del Producto

Sin la nivelación de desgaste, algunas celdas de memoria acumularían ciclos altos rápidamente, disminuyendo drásticamente la vida útil del sistema de almacenamiento. Por lo tanto, el controlador del sistema debe soportar este proceso obligatorio, aunque esto agregue gastos generales computacionales y de gestión al controlador.

La idea básica es simple: porque múltiples ciclos de borrado/programa desgastan un bloque de memoria flash, el controlador debería intentar distribuir ese trabajo de manera uniforme en todos los bloques del dispositivo. De esta manera, todos los bloques se desgastarán aproximadamente al mismo tiempo, en lugar de que unos pocos bloques "populares" se vuelvan inutilizables rápidamente.

Entradas relacionadas: