Comparaciones de la interfaz de las unidades de disco

Anuncio
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
Descargar