Tecnologías de Almacenamiento y Conectividad: NVMe, SAS, SATA, HDD, SSD y RAID
Almacenamiento en Ordenadores de Escritorio
- Característica básica: Simplicidad. El sistema de almacenamiento está habitualmente formado por un disco duro y una unidad óptica.
Almacenamiento en Servidores
Requisitos Habituales
- Alta capacidad de almacenamiento.
- Altas prestaciones: Bajo tiempo de acceso y elevada tasa de transferencia.
- Tolerancia a fallos y elevada disponibilidad.
Diseño para el Cumplimiento de Requisitos
- Basado en múltiples discos, habitualmente gestionados mediante controladoras RAID.
Interconexión de Dispositivos: Buses Serie
Concepto de Puerto
- Punto de conexión proporcionado por un controlador de bus para conectar un enlace serie.
Modelos de Conexión
- Punto a punto: Un puerto, un dispositivo.
- Mediante concentrador: Múltiples dispositivos se conectan a un puerto mediante un concentrador.
Controladores Multipuerto
- Su función es proporcionar un mecanismo de conexión al computador para múltiples dispositivos de almacenamiento, utilizando conexiones punto a punto.
NVMe: Aspectos Generales
- Significado: Non-Volatile Memory Express.
- Concepto: Es una especificación de interfaz de dispositivo lógico para el acceso a dispositivos de memoria no volátil a través del bus PCIe.
- Productos derivados: Controladores de dispositivo (drivers).
Rediseño del Modelo de Controlador (Driver)
- Objetivo: Explotar al máximo las características de los dispositivos de memoria no volátil.
- Permite: Diseñarse específicamente para memoria no volátil, sin necesidad de gestionar discos HDD.
Sistemas Operativos con Soporte Nativo NVMe
- Todos los Windows modernos (Windows 10 y versiones de servidor desde 2012 R2).
- Todas las distribuciones Linux con kernel 3.3 o superior.
Diferencias Clave: NVMe vs. SAS/SATA
- SAS y SATA: Especifican buses físicos (basados en enlaces serie) e incluyen una interfaz de dispositivo lógico.
- NVMe: Especifica únicamente una interfaz de dispositivo lógico, ya que el bus físico utilizado es PCIe.
Ámbito de Uso de NVMe
- Todo tipo de sistemas: ordenadores de escritorio, estaciones de trabajo, portátiles y servidores.
Mejoras de NVMe frente a SAS y SATA
Manejo de Múltiples Colas de Comandos de E/S
- Cola de comandos en SATA: 1, profundidad de 32.
- Cola de comandos en SAS: 1, profundidad de 256.
- Cola de comandos en NVMe: Hasta 64K, profundidad de 64K.
- Beneficio: Permite paralelismo en el acceso al dispositivo de almacenamiento.
Racionalización y Simplificación del Código de E/S
- Utiliza menos de la mitad de instrucciones.
- Beneficio:
- Reduce el tiempo de ejecución de las rutinas de acceso a los dispositivos en el SO.
- Disminuye la latencia y mejora la productividad.
Factores de Forma y Conexión NVMe (PCIe)
Nota sobre PCIe
- Las interfaces PCIe gestionan enlaces serie (lanes), que pueden ser x1, x2, x4, x8, x16 y x32.
Tipos de Conexión NVMe
- Tarjeta de expansión PCIe estándar: x4 o x8.
- Tarjeta M.2: x2 o x4.
- Dispositivo 2,5” SFF: x4 (conector U.2 para backplane).
Conector U.2 para Backplane
- Diseñado para la conexión en caliente de dispositivos NVMe.
- Conexión PCIe x4.
- Compatible con dispositivos SAS y SATA.
Discos Duros (HDD): Estructura y Características
Organización
- En superficies, pistas y sectores.
Características
- Capacidad: Se expresa en GB o TB.
- Consumo energético: Medido en vatios.
- Factor de forma:
- LFF (Large Form Factor): 3,5”.
- SFF (Small Form Factor): 2,5”.
- Velocidad de rotación: 5400, 7200, 10000 y 15000 RPM.
- Caché: Memoria para mejorar el rendimiento.
- Interfaz: SATA o SAS.
- Fiabilidad: Medida mediante AFR (Annualized Failure Rate), con valores típicos del 0,5% en discos empresariales.
Dispositivos de Estado Sólido (SSD)
- Significado: Solid State Drive.
- Concepto: Dispositivo de almacenamiento basado en memoria flash, conectado al sistema mediante interfaz SATA, SAS o PCIe.
Componentes del Sistema de Interconexión
Bus de Sistema
- Su objetivo es conectar la CPU y la memoria RAM del ordenador. Se trata de un bus especialmente optimizado para proporcionar un elevado ancho de banda de comunicación entre estos dispositivos.
Subsistema de Concentradores (Chipset)
- Su objetivo es establecer una vía de comunicación entre los dispositivos conectados al bus de sistema (CPU y memoria) y el resto de dispositivos del computador.
Bus de Placa Base
- Su objetivo es proporcionar un mecanismo de integración de interfaces en el computador mediante el uso de ranuras de expansión. Los controladores de buses de E/S pueden conectarse a este bus.
Controladores de Bus
- Su función es gestionar buses de E/S. Para ello, administran el direccionamiento de los dispositivos en el bus y proporcionan un puente de comunicación entre el bus y otros dispositivos del sistema de interconexiones del computador.
Buses de E/S
- Su objetivo es proporcionar un mecanismo de conexión de periféricos al computador.
Estandarización de Buses
Beneficios de la Estandarización
- Posibilita la integración entre periféricos y ordenadores de múltiples fabricantes.
Definición y Mantenimiento de Estándares
- Los estándares son gestionados por consorcios de fabricantes del sector o por comités pertenecientes a institutos de estandarización, como el INCITS.
Aspectos Definidos por un Estándar de Bus
- Características físicas: Define aspectos tales como formato de cables y conectores, especificaciones eléctricas, frecuencia de trabajo, etc.
- Arquitectura lógica: Define, fundamentalmente, las líneas que forman el bus, así como su funcionalidad.
- Interfaz de programación: Define el conjunto de comandos disponibles para el manejo del bus.
Buses de E/S Estándares
Buses de E/S de Propósito General
USB (Universal Serial Bus)
- Objetivo: Proporcionar un mecanismo simple para la conexión de periféricos externos a un ordenador.
- Características destacadas:
- Plug & Play.
- Capacidad de alimentar a los dispositivos conectados.
Buses Orientados al Almacenamiento
- ATA (Advanced Technology Attachment)
- SCSI (Small Computer System Interface)
- SATA (Serial ATA)
- SAS (Serial Attached SCSI)
ATA: Aspectos Generales
Arquitectura
- Bus paralelo: Ancho de 16 bits.
- Capacidad de direccionamiento: Dos dispositivos de almacenamiento por controlador.
Ámbito de Uso
Evoluciones del Estándar
- 7 evoluciones, desde el ATA-1 hasta el ATA-7.
Prestaciones
- Hasta 133 MB/s en el ATA-7.
SCSI: Aspectos Generales
Arquitectura
- Bus paralelo: Diseñado con dos tipos de ancho: 8 o 16 bits.
- Capacidad de direccionamiento: 8 dispositivos en los de ancho 8, y 16 dispositivos en los de ancho 16.
Ámbito de Uso
- Servidores y sistemas de almacenamiento externos (por ejemplo, las unidades de cinta).
Evoluciones
- 9 evoluciones, desde el SCSI-1 hasta el Ultra-320 SCSI.
Prestaciones
- Hasta 320 MB/s en el Ultra-320 SCSI.
La Transición al Bus Serie
Prestaciones y Ancho de Banda
Factores Determinantes
- Ancho: Tamaño de los datos transmitidos.
- Frecuencia de trabajo.
Comparativa: Bus Paralelo vs. Bus Serie
- Ancho: Bus paralelo ventajoso.
- Frecuencia: Bus paralelo desventajoso.
- Existen problemas de diseño electrónico en los buses paralelos que limitan su frecuencia de trabajo, agravándose dicha limitación a medida que aumenta la longitud del bus.
- La longitud requerida para un bus de E/S es significativa.
- Resultado combinado (ancho + frecuencia): Bus serie ventajoso.
Espacio Ocupado (Footprint)
- Los cables serie son más estrechos y ocupan menos espacio. Además, al contar con menos conductores, sus conectores tienen menos pines, lo que los hace más pequeños.
- Espacio ocupado: Bus serie ventajoso.
SATA: Aspectos Generales
Nomenclatura
- SATA significa Serial ATA.
Compatibilidad con Estándar ATA
- Interfaz de programación: 100% compatible.
- Nivel físico: No compatible (cables y conectores).
Arquitectura
- Canal de comunicación: Serie bidireccional (2 canales de transmisión).
- Controlador de bus: Habitualmente multipuerto.
Capacidad de Direccionamiento
- Cada puerto puede direccionar hasta 15 dispositivos, utilizando un concentrador.
- Habitualmente, un puerto se conectará a un único dispositivo mediante una conexión punto a punto.
Ámbito de Uso
- Ordenadores personales.
- Servidores de gama baja.
- Conexión de dispositivos ópticos en todo tipo de equipos.
SATA: Estándar y Prestaciones
- Evolución del estándar y sus prestaciones.
- Comparación de prestaciones ATA/SATA.
SATA: Implementación Física
Controlador
- Se implementa de forma estándar en la placa base, formando parte del chipset.
Enlace Serie
- Se implementa mediante un cable de 7 conductores: 4 para los dos canales de transmisión + 3 masas.
Cable SATA
- Ocupa mucho menos espacio que el cable ATA.
SAS: Aspectos Generales
- Significado: Serial Attached SCSI.
Compatibilidad con Estándar SCSI
- Interfaz de programación: 100% compatible.
- Nivel físico: No compatible (cables y conectores).
Ámbito de Uso
- Servidores de gama media y alta.
- Cabinas de almacenamiento.
SAS: Arquitectura
Canal de Comunicación
- Serie bidireccional, idéntico al canal SATA.
Concepto Ampliado de Puerto
- En SAS, los canales serie pueden operar de forma independiente o en agregación. Un puerto es un punto de conexión para un canal o para una agregación de canales.
Puerto Estrecho (Narrow Port)
Puerto Ancho (Wide Port)
- Incluye 2, 4 u 8 canales.
Interconexión de Dispositivos SAS
- Punto a punto.
- A través de concentradores.
- Los concentradores SAS se denominan “expanders“.
- Se pueden interconectar hasta dos niveles de expanders.
Direccionamiento de Dispositivos
Dominio SAS
- Conjunto de dispositivos gestionados por un puerto, ya sea directamente o mediante concentradores.
Roles de Dispositivo en un Dominio
- Initiator (habitualmente, el puerto de un controlador).
- Target (habitualmente, un dispositivo de almacenamiento).
Capacidad de Direccionamiento
- Hasta 8 dispositivos sin el uso de concentradores (puerto x8).
- Hasta 128 dispositivos en un único concentrador.
- Hasta 128 × 128 dispositivos utilizando dos niveles de concentradores.
SAS: Ejemplos de Topología de Interconexión
Topología Típica en Servidores
- Dos dominios SAS con 5 dispositivos cada uno (1 initiator y 4 targets).
Topología en Servidores de Alta Capacidad
- Dos dominios SAS con 13 dispositivos cada uno (1 initiator y 12 targets).
SAS: Implementación Física
Controlador
- Se implementa tanto en placa base como mediante HBA.
Enlace Serie
- Se implementa mediante un cable de 7 conductores: 4 para los dos canales de transmisión + 3 masas.
- La implementación del enlace SAS es idéntica a la del enlace SATA.
SAS Backplane
Concepto
- Placa de circuito impreso que proporciona un conjunto de conectores SAS.
Objetivo
- Proporcionar una infraestructura de conexión para dispositivos de almacenamiento con capacidad de conexión en caliente.
Uso
- En la mayoría de los servidores de gama media y alta, los dispositivos de almacenamiento SAS se conectan mediante un SAS backplane.
SAS: Discos con Doble Puerto
Concepto
- Discos que incluyen dos puertos SAS de conexión.
Objetivos
- Permitir la implementación de topologías de conexión redundante para discos (aplicable tanto a HDD como a SSD).
- Duplicar la tasa de transferencia de datos entre el controlador y el disco (aplicable solo a SSD).
SAS: Compatibilidad con SATA
- El bus SAS admite dispositivos SATA.
- Implicaciones a nivel de controlador: Los controladores SAS implementan el protocolo SATA, además del SAS.
- Implicaciones a nivel de conectores: Los conectores SAS deben ser compatibles con dispositivos SATA.
RAID: Redundant Array of Independent Disks
- Definición: Funcionalidad integrada en algunos controladores de bus que permite gestionar los discos físicos en agrupaciones colaborativas, presentándolos al SO como si fueran un único disco, denominado disco virtual.
RAID: Aspectos Generales
Objetivos
- Incremento de prestaciones: Se logra mediante fragmentación de datos (data striping). Los datos se dividen entre varias unidades físicas, permitiendo el paralelismo en el acceso a la información y mejorando el rendimiento.
- Tolerancia a fallos: Se consigue mediante redundancia en el almacenamiento de la información. Esto permite que el sistema siga funcionando incluso si uno de los discos físicos del RAID falla.
Niveles RAID
- Representan distintas formas de distribuir la información entre los discos del RAID.
- Los más comunes son RAID 0, 1, 5, 6, 10.
Concepto de Banda o Bloque (Strip) en RAID
Definición
- Unidad de fragmentación de la información dentro de un sistema RAID.
Tamaño
- Mínimo: 2 KB.
- Máximo: 2 MB.
- Típico: ~64 KB.
Aplicación
- La fragmentación ocurre a nivel de fichero.
RAID 0: Fragmentación (Striping)
Funcionamiento
- Los bloques de datos se almacenan en los discos de manera secuencial.
- Redundancia: No.
- Eficiencia en almacenamiento: 100%.
- Prestaciones:
- Lectura: N × P (N = número de discos, P = rendimiento de un disco).
- Escritura: N × P.
RAID 1: Espejo (Mirroring)
Funcionamiento
- Los datos se copian íntegramente en todos los discos del RAID.
- Se configura con dos discos.
- Redundancia: Sí.
- Eficiencia en almacenamiento: 50% (½).
- Prestaciones:
- Lectura: 2 × P.
- Escritura: P.
RAID 5: Paridad (Parity)
Funcionamiento
- En un RAID de N discos, por cada (N-1) bloques de datos, se genera un bloque de paridad.
- La paridad se calcula mediante la operación XOR entre los bloques de datos.
- Los datos se distribuyen secuencialmente entre los discos.
- Los bloques de paridad se intercalan entre los datos para estar uniformemente distribuidos.
- Si un disco falla, los bloques de datos perdidos se pueden reconstruir a partir de los datos restantes y el bloque de paridad.
- Redundancia: Sí.
- Eficiencia en almacenamiento: (N-1)/N.
- Prestaciones:
- Lectura: (N-1) × P.
- Escritura: ((N-1) × P) / 2.
RAID 6: Paridad Doble (Double Parity)
Funcionamiento
- En un RAID de N discos, por cada (N-2) bloques de datos, se generan dos bloques de paridad.
- Se utiliza la operación XOR para calcular la paridad.
- Los bloques de datos se distribuyen en los discos de manera secuencial.
- Los bloques de paridad se intercalan entre los bloques de datos.
- Tolerancia a fallos: Puede soportar hasta la pérdida de dos discos sin pérdida de datos.
- Redundancia: Sí.
- Eficiencia en almacenamiento: (N-2) / N.
- Prestaciones:
- Lectura: (N-2) × P.
- Escritura: ((N-2) × P) / 2.
RAID 10: Espejo + Fragmentación (Mirroring + Striping)
Funcionamiento
- Se agrupan los discos en pares que funcionan en espejo (mirroring).
- Los bloques se distribuyen secuencialmente entre los pares de discos.
- Redundancia: Sí.
- Eficiencia en almacenamiento: 50% (½).
- Prestaciones:
- Lectura: N × P.
- Escritura: (N/2) × P.
Caché de Escritura en RAID
Algoritmo de Escritura
Funcionamiento
- Todas las escrituras se almacenan primero en caché.
- Los datos se transfieren a los discos en el momento óptimo, maximizando el rendimiento del sistema de almacenamiento.
Protección ante Cortes de Energía
- La caché es alimentada por condensadores que mantienen los datos en la memoria el tiempo suficiente para escribirlos en memoria flash.
- Cuando el sistema se reinicia tras una interrupción, los datos de la memoria flash se transfieren a los discos.
Tecnología Utilizada
- Flash-backed write cache (FBWC).
Conveniencia de la Caché según Tipo de Dispositivos RAID
RAID con HDD
- La caché es esencial para obtener un rendimiento aceptable, especialmente si la carga de trabajo tiene un alto porcentaje de escrituras.
RAID con SSD
- La caché no es necesaria.
Ir arriba