Documento de tecnología Comparaciones de la interfaz de las unidades de disco de estado sólido para empresa Introducción PCI Express (PCIe) es una interfaz bus de propósito general usada en aplicaciones de informática de clientes y empresas. Las interfaces de almacenamiento masivo existentes (SATA, SAS) se conectan a la computadora anfitriona mediante adaptadores de host que a su vez se conectan a la interfaz PCIe. La interfaz SATA se diseñó como una interfaz para unidades de disco duro (HDD) y la interfaz SAS se diseñó como una interfaz para dispositivos y una interfaz/ infraestructura para subsistemas de almacenamiento. Como las unidades de disco duro de estado híbrido y los requerimientos del sistema han evolucionado, por lo cual necesitan interfaces más rápidas y nuevas características, las interfaces SATA y SAS han pasado por varias revisiones. Las unidades de estado sólido (SSDs) han agregado nuevos y significativos requerimientos de rendimiento a estas interfaces, ya que las velocidades de datos de las unidades de estado sólido han pasado de decenas de MB/seg a cientos y ahora a miles de MB/seg. Además del incremento en las velocidades de datos, la falta de movimiento mecánico en las unidades de disco de estado sólido también incrementó el número de operaciones de entrada y salida por segundo (IOPS) que estos dispositivos de almacenamiento pueden realizar. Esta situación creó la necesidad de implementaciones mejoradas de las normas existentes, así como mejoras en las normas de las interfaces existentes, para lograr los nuevos requerimientos de rendimiento, manteniendo la compatibilidad con la arquitectura del sistema existente. En el presente artículo se analizan las diferentes interfaces y se contrastan las diversas ventajas y desventajas encontradas en cuanto a rendimiento y compatibilidad. Comparaciones de la interfaz de las unidades de disco de estado sólido para empresa Interfaz SATA Menos gastos de hardware SATA es una interfaz de bajo costo diseñada para la conexión punto a punto mediante un cable o una pista de la placa de circuito impreso (PCB). La conexión host se hace a una interfaz controladora de host avanzada (AHCI), que normalmente reside en el chipset del host como adaptador de host en el bus de PCIe. Hay algunos problemas de diseño con esta interfaz que puede crear una sobrecarga de bus de 1 μs (o más) para cada comando. Esto no es un problema importante para las unidades de disco duro de estado híbrido donde una transferencia de 4 KB está en el orden de 10 μs, pero las unidades de disco duro de estado sólido pueden transferir 4 KB de datos en 2 μs (o menos); por lo tanto, la sobrecarga se vuelve significativa y la interfaz SATA menos interesante como interfaz de almacenamiento masivo de alto rendimiento. No hay una interfaz host universal para SAS que sea equivalente al controlador AHCI de SATA. En cambio, varios proveedores compiten en el mercado de adaptadores de host de SAS donde el rendimiento es un factor principal, no solo para conectar las unidades de disco duro híbrido individuales, sino también varios sistemas RAID donde las velocidades de transferencia de giros de las unidades de disco duro híbridas se agregan para una velocidad de transferencia mejorada. Además, los adaptadores de host de SAS se diseñaron para controlar las unidades de disco duro de estado sólido y las unidades de disco duro híbridas de mayor rendimiento (tal como las unidades de bajo recorrido de 15 K-RPM). Debido a que el adaptador de host de hardware y el controlador del dispositivo que controlan ese adaptador de host se diseñan como un sistema, los nuevos diseños optimizados para las unidades de disco duro de estado sólido están empezando a estar disponibles y a mejorar no solo las velocidades de transferencia, sino la IOPS. SATA sigue siendo una interfaz para unidades de disco duro de estado sólido cuando el costo y no el rendimiento sea el factor principal de decisión. La arquitectura SATA puede también consolidarse en un adaptador de host que controla el conjunto de comandos de SATA sin realmente incluir la interfaz física de SATA (PHY) (Figura 1). PCIe Memoria NAND SATA AHCI Memoria NAND CONTROLADOR Velocidades de transferencia más rápidas CONTROLADOR SATA SSD PCIe AHCI Memoria NAND Memoria NAND CONTROLADOR Fuente: Seagate Technology, 2011 Figura 1. Consolidación de la arquitectura Interfaz SAS SAS también es una interfaz en serie que se adjunta al host mediante un adaptador de host, pero hay diferencias significativas que hacen que sea adecuada como una interfaz para unidades de disco duro sólido: • Menos gastos de hardware • Velocidades de transferencia más rápidas • Variedad de puertos • Interfaces con controladores eficientes Además, SAS incluye características que no se encuentran en SATA que mejoran la fiabilidad y la disponibilidad de los dispositivos conectados a la interfaz: • Protocolo de serie sólido • Soporte de host múltiple • Integridad de datos de extremo a extremo • Capacidad de doble puerto • Altos grados de concurrencia y de agregación Los puertos SAS actualmente admiten velocidades de datos de hasta 6 Gb/seg. Compañías como LSI y PMC-Sierra se encuentran probando diseños que se están desarrollando actualmente para admitir velocidades de datos de hasta 12 Gb/seg y mayores de 2 millones de IOPS, con la posibilidad de admitir 24 Gb/seg en el futuro. Variedad de puertos Inherente a la arquitectura de SAS es el concepto de variedad de puertos, donde varios enlaces pueden agregarse para permitir múltiples y simultáneas rutas entre uno o más hosts y un dispositivo. El conector de la unidad SAS actual determina dos puertos para la unidad. Como opción de diseño, las unidades de disco duro híbridas actuales no admiten variedad de puertos, solo puerto doble, donde cada puerto tiene una dirección SAS diferente que impide la configuración como una variedad de puertos. Las propuestas aceptadas para SAS-3 (12 Gb/seg) permiten un aumento en el número de puertos en la unidad a cuatro, los cuales se podrían conectar al mismo dominio o en pares a diferentes dominios. Un número muy limitado de unidades de disco duro de estado sólido pueden admitir una variedad de puertos además de dos puertos en un dispositivo de dos puertos. Comparaciones de la interfaz de las unidades de disco de estado sólido para empresa Protocolo de serie sólido El protocolo en serial de SAS brinda entrenamiento de los transmisores y receptores en serie. Esto mejora la calidad de la señal del cable o en el cable posterior mediante la longitud del canal, la diferencia de impedancia y la interferencia entre símbolos. El protocolo en serial de SAS también controla la detección de errores y la distribución a nivel de hardware. Esto permite la recuperación más rápida de los problemas intermitentes de señalización. Tabla 1. Ventajas de SAS y SAS de mejoras de multienlaces propuestos Enlaces múltiples (BW) X4 (4x600 MB/seg) Alimentación disponible 25 W (2,5 pulgadas) Latencia total muy bajo Protocolo de host múltiple Sí Disponibilidad alta Sí (de doble puerto) Capacidad de admitir múltiples hosts Escalabilidad Excelente La interfaz de SAS y el cambio de fábrica permiten a varios hosts tener acceso al mismo dispositivo. Esta función puede usarse para controlar las fallas de host, así como las fallas de las rutas de datos, para una disponibilidad de datos mejorada. Conjunto de protocolo probado sólido Sí Capacidad de intercambio de dispositivo en caliente Sí Compatible con software de administración existente Sí Integridad de datos de extremo a extremo La interfaz SAS puede verificar la integridad de los datos mediante las comprobaciones de redundancia cíclica (CRC) de los datos desde el momento en el que se crea en el buffer de los datos de host mediante la transferencia en toda la interfaz de PCIe y en la interferencia de SAS hasta que se almacene en el dispositivo y de nuevo se lea y transfiera hasta el buffer de datos de host. Esto permite varios puntos de control en las rutas desde las aplicaciones a través de los controladores RAID y en los dispositivos. Esta función algunas veces se denomina información de protección (PI). Capacidad para doble puerto Los dispositivos compatibles con SAS admiten operaciones de doble puerto. Esto brinda la capacidad de crear dos dominios de fallas y ofrece una mayor disponibilidad. Incluso si se produce un error en una de las rutas a un puerto que impide el acceso en esa ruta, todavía se puede tener acceso a un dispositivo usando el segundo puerto. Históricamente, Seagate ha impulsado la adopción de la interfaz en el mercado. Seagate trabaja con la Asociación de Comercio SCSI (STA) y otros líderes industriales para aprovechar el gran despliegue que existe en la infraestructura de SAS (Figura 2). La Tabla 1 muestra cómo la interfaz SAS de 12 Gb/seg y los multienlaces se benefician de los fabricantes de sistemas y de organizaciones de usuarios finales. DE DOBLE PUERTO 2 TRANSMISIONES DE DOBLE PUERTO 2 TRANSMISIONES 2011 2012 DE DOBLE PUERTO 4 TRANSMISIONES 2013 MULTIENLACE 4+ TRANSMISIONES 2014 Fuente: Seagate Technology, 2011 Figura 2. Evolución de la interfaz SAS Interfaz PCI PCI Express (PCIe) es la interfaz principal que conecta los dispositivos periféricos al procesador anfitrión y a través de un controlador de memoria a la arquitectura de la memoria en el sistema. Tanto la interfaz SATA como la interfaz SAS estudiadas anteriormente se conectan a través de una interfaz PCIe (o adaptador de host) al procesador de host y a la memoria. Fuente: Seagate Technology, 2011 La interfaz PCIe es una implementación en serie de la interfaz PCI original que proporcionó una dirección paralela/conexión de datos entre los periféricos y el procesador de host/memoria. La interfaz PCIe comunica más de una o más rutas que consiste en una interfaz en serie de transmisión y una interfaz en serie de recepción para cada ruta. Se pueden usar hasta 32 rutas para conectar un host a un dispositivo. La velocidad de datos en serie en cada ruta depende de la versión de la norma PCIe implementada. La versión actual es 3.0 y la velocidad de datos es de aproximadamente 1 GB/seg. Para un servidor de 1 U, la interfaz PCIe se diseñó para utilizar un conector en una tarjeta madre (cliente) o un adaptador de dos conectores en ángulo recto en una tarjeta madre (servidor). Hay también un sistema de cableado disponible (aunque rara vez se utiliza). Un servidor de 2 U, 4 U o 7 U tiene muchas más ranuras de PCIe, similar a las implementaciones de los clientes. La especificación PCIe también utiliza la capacitación de un transmisor (y receptor) para adaptarse a las variaciones de impedancias de una configuración, pero está dirigido a canales de transmisión más cortos que SAS. Los interruptores de PCIe pueden alojar virtualización I/O de raíces únicas (SR-IOV) y virtualización I/O de varias raíces múltiples (MR-IOV), métodos usados para mejorar el rendimiento de los controladores en sistemas virtuales (hipervisor) con un solo host o varios hosts. SR-IOV apenas está empezando a estar disponible de forma general en adaptadores. Sin embargo, VMware aún no podrá tomar ventaja de esta virtualización. MR-IOV no suele ser compatible con los adaptadores. PCIe BUS HOST Comparaciones de la interfaz de las unidades de disco de estado sólido para empresa Controladores HBA para interfaz SAS CTRL de SAS PARA EMPRESAS CTRL de PCIe PARA EMPRESAS Fuente: Seagate Technology, 2011 Figura 3. Evolución de la interfaz SAS Los dispositivos de almacenamiento que se conectan usando la interfaz PCle lo hacen mediante una conexión de registro directo o a través de un adaptador de host que luego se conecta al dispositivo a través de un cableado adicional o una interfaz de tipo placa de circuitos. Actualmente hay varias diferentes implementaciones de ambas arquitecturas. SATA usa una implementación de adaptador de bus host en el chipset del sistema (puente sur) (o Intel o AHCI de AMD) que requieren unidades de AHCI diferentes, pero estableciendo correspondencia con las implementaciones de legado IDE compatibles. Estas interfaces también implementan varias funciones de administración de RAID. SAS cuenta con varios proveedores de HBA, con expansores adicionales y controladores RAID disponibles, que usan los controladores del dispositivo de propiedad y BIOS para satisfacer las diversas necesidades de rendimiento y la configurabilidad. La interfaz del controlador de PCIe se implementa en la especificación NVM Express y en la especificación SCSI propuesto con respecto PCIe (SOP) propuesta. La arquitectura consolidada de SATA descrita anteriormente es otro ejemplo de la conexión de registro directo de PCIe. Unidades de disco duro de estado sólido de PCIe actuales Hay dos tipos principales de PCle: el nativo y el agregador. El controlador nativo se conecta al bus host de PCle y luego controla directamente los buses de memoria flash múltiples. Estos generalmente usan una interfaz de software patentado por el fabricante y solo se usan para el dispositivo específico. Algunas de estas implementaciones le impone la carga de traslación de direcciones y otras funciones al CPU y la memoria anfitriones. A su vez, esto provoca que haya menos recursos del sistema para las aplicaciones cuando se utilizan los dispositivos para cargas de trabajo pesadas. Además, al ser relativamente nuevas en el mercado, estas combinaciones de unidades y hardware únicas algunas veces tienden a ser inestables, ya que sus ecosistemas aún están en plena evolución. El modelo agregador adopta un enfoque diferente en cuanto al diseño. En este enfoque se usa un controlador SAS o RAID de SATA existente, al cual están conectadas varias unidades de disco duro de estado sólido SAS o SATA. Estos vienen en un solo paquete en una tarjeta PCle. El controlador RAID agrega el rendimiento de varios dispositivos para ofrecer niveles mayores de rendimiento. Al basarse en interfaces de hardware y software de clase empresarial probados ya existentes, estos diseños son muy estables y evolucionados. Además, estos diseños usan controladores inteligentes que realizan traslaciones de direcciones y otras funciones, lo cual permite que las aplicaciones utilicen plenamente los ciclos de la CPU del sistema y de la memoria, incluso en condiciones de cargas de trabajo I/O pesadas. El futuro de las unidades de disco duro de estado sólido de PCIe Tanto el enfoque de SOP como el de NVMe son de arquitectura similar. Sin embargo, NVMe está desarrollándose en un grupo de trabajo industrial, mientras que SOP está desarrollándose en un foro abierto de normalizaciones reconocido. NVMe está dirigido solo para usarse en dispositivos de memoria no volátiles, mientras que SOP también está dirigido solo para usarse en adaptadores bus host y controladores RAID con funciones de puente entre diversos dispositivos SOP. SOP además aprovecha en gran medida las arquitecturas y funciones industriales existentes, mientras que NVMe usa un nuevo y muy limitado conjunto de instrucción e interfaz de cola. Ventajas y desventajas de la interfaz Cada una de las arquitecturas descritas anteriormente presenta sus ventajas y desventajas. En función del diseño general del sistema, las ventajas de usar una arquitectura específica pueden ser mayores que los problemas asociados con esa arquitectura y es necesario un análisis cuidadoso para tomar la decisión adecuada. Esa decisión deberá incluir también la compatibilidad con un diseño de sistema existente. Por ejemplo, la actualización de un sistema de computadora portátil que tiene una unidad de disco duro híbrida con SATA de 2,5 pulgadas existente con una unidad de disco duro de estado sólido solo trabajaría con una unidad de disco duro de estado sólido del mismo tamaño físico y con la misma (o más reciente) interfaz SATA. Habrá un límite en cuanto a cuán rápida puede ser la unidad de disco duro de estado sólido en este caso. Excederse de la velocidad de la interfaz SATA anfitriona existente no le añadirá nada al rendimiento del sistema. En una situación similar, un servidor empresarial que use una unidad de disco duro híbrido SAS de bajo recorrido de 15 K-RPM para almacenar un índice de base de datos puede actualizarse usando una unidad de disco duro de estado sólido SAS, la cual incrementará el rendimiento general del sistema, pero solo en la medida en que algún otro factor del sistema se convierta en el nuevo obstáculo (CPU, memoria, red, adaptadores, etc.). En una nueva arquitectura del sistema, la adición de almacenamiento de estado sólido puede aumentar de manera significativa el rendimiento del sistema, pero solo en la medida en que el resto de la arquitectura del sistema pueda adaptarse al incremento en la velocidad y ancho de banda Comparaciones de la interfaz de las unidades de disco de estado sólido para empresa Tabla 2. Comparación de unidades de disco de estado sólido nativas y PCIe para agregadores Nativo Comandos/Transporte Agregador Propiedad (FTL1 en host/memoria principal) SCSI o SATA PCIe CONTROLADOR F F (unidades de disco de estado sólido múltiples, controlador en tarjeta) PCIe RAID SSD Comité Ninguna Ninguna Basado en las normas No Sí Rendimiento con memoria Alto Alto CPU superior Alto Bajo Latencia con cola corta Muy baja Baja Latencia con cola profunda Moderada Baja Usar extensibilidad del caso No Sí (RAID, HBA, etc.) Vencimiento Evolución Basado en arquitecturas industriales probadas Conjunto de características para empresas (PI, seguridad, administración, etc.) No Depende de la implementación SSD Otro factor es el tiempo de disponibilidad de los controladores de los dispositivos del sistema operativo y la compatibilidad BIOS para estas nuevas interfaces de unidades de disco duro de estado sólido, así como la fiabilidad inicial del software. Interfaces y factores de latencia de las unidades de disco duro de estado sólido con memoria flash Existen mucho equívocos respecto a qué factores añaden latencia y cuánto afectan realmente el rendimiento de aplicaciones. Al examinar este aspecto, es importante enfocarse en el panorama general y no solo en una parte. FTL: Capa de traslación de la memoria flash Fuente: Seagate Technology, 2011 1 Tabla 3. Comparación de las unidades de disco de estado sólido PCIe NVMe y SOP SOP1 Comandos/Transporte SOP/PQI3 (FTL en el controlador) NVMe2 PCIe CONTROLADOR F NVMe/NVMe (FTL en el controlador) F T10/INCITS4 Grupo de trabajo industrial Basado en las normas Sí (ANSI/ISO) No Rendimiento con memoria flash Muy alto Muy alto CPU superior Bajo Bajo Latencia con cola corta Muy baja Muy baja Latencia con cola profunda Baja Baja Usar extensibilidad del caso Sí (RAID, HBA, etc.) No (NVM only) Vencimiento Basado en arquitecturas industriales probadas Por determinar Conjunto de características para empresas (PI, seguridad, administración, etc.) Asistencia completa Limitado SOP: SCSI con respecto a PCI Express NVMe: Memoria Express no volátil Interfaz de la cola 3 PCIe 4 INCITS: Comité Internacional para Estándares de Tecnología de Información Fuente: Seagate Technology, 2011 2 3 www.seagate.com AMÉRICA ASIA/PACÍFICO EUROPA, ORIENTE MEDIO Y ÁFRICA PCIe CONTROLADOR F Comité 1 de los datos. Las velocidades de datos mayores también requieren que se suministre más potencia al dispositivo y que haya una mayor disipación de calor dondequiera que se instale la unidad de disco duro de estado sólido. F Los mayores contribuyentes a la latencia en las unidades de disco duro de estado sólido son las partes de la memoria flash mismas. Los tiempos de acceso de SCL son 25 µs+; los tiempos de acceso de MLC son 50 µs+, asumiendo que no hay contención de acceso en ninguno. Como las profundidades de la cola aumentan, la contención de acceso a las partes de la memoria flash pueden añadirse de manera sustancial a la latencia. Unan vez que la parte de la memoria flash comience su acceso, otras solicitudes para la misma parte deberán esperar. Nada menos que ocho matrices de la memoria flash comparten un bus común, lo cual hace que la matriz espere su turno usando el bus. Las actividades de limpieza añaden latencia adicional (traslación de dirección, recolección de basura, nivelación de desgaste, etc.). Otro aspecto es el sistema operativo, que agrega latencia independientemente del protocolo de acceso y de interconexión. Estos incluyen el sistema de archivos, administración de volumen, controladores de clase y los gastos generales de intercambio de contexto. Las diferencias en los protocolos e interconexiones tienen efectos insignificantes sobre la latencia desde el punto de vista de una aplicación (fracciones de microsegundos). Seagate Technology LLC 10200 South De Anza Boulevard, Cupertino, California 95014, EE. UU., +1 408 658 1000 Seagate Singapore International Headquarters Pte. Ltd. 7000 Ang Mo Kio Avenue 5, Singapur 569877, +65 6485 3888 Seagate Technology SAS 16-18 rue du Dôme, 92100 Boulogne-Billancourt, Francia, +33 1 41 86 10 00 © 2012 Seagate Technology LLC. Todos los derechos reservados. Impreso en EE. UU. Seagate, Seagate Technology y el logotipo Wave son marcas comerciales registradas de Seagate Technology LLC en Estados Unidos y/o en otros países. Todas las demás marcas comerciales o marcas registradas pertenecen a sus respectivos propietarios. Seagate se reserva el derecho a modificar las ofertas o especificaciones de los productos sin previo aviso. TP625.1-1203LA, marzo de 2012