Introducción a SSD. Parte 2. Interfaz

Introducción a SSD. Parte 2. Interfaz

En en la parte anterior En el ciclo «Introducción a los SSD», hablamos sobre la historia de los discos. La segunda parte tratará sobre las interfaces de interacción con los dispositivos de almacenamiento.

La comunicación entre el procesador y los dispositivos periféricos se lleva a cabo de acuerdo con convenios preestablecidos, llamados interfaces. Estos convenios regulan el nivel físico y el nivel programático de la interacción.

La interfaz es un conjunto de medios, métodos y reglas de interacción entre los elementos del sistema.

La implementación física de la interfaz afecta los siguientes parámetros:

  • el ancho de banda del canal de comunicación;
  • el número máximo de dispositivos conectados simultáneamente;
  • el número de errores que se producen.

Las interfaces de disco están construidas sobre puertos de entrada y salida, lo que es lo opuesto a la entrada y salida a través de la memoria y no ocupa espacio en el espacio de dirección del procesador.

Puertos paralelos y seriales

Según el método de intercambio de datos, los puertos de entrada y salida se dividen en dos tipos:

  • paralelos;
  • seriales.

Como se deduce del nombre, el puerto paralelo envía a la vez una palabra máquina compuesta por varios bits. El puerto paralelo es la forma más simple de intercambio de datos, ya que no requiere soluciones de esquematización complicadas. En el caso más simple, cada bit de la palabra máquina se envía por su línea de señal, y para la retroalimentación se utilizan dos líneas de señal auxiliares: Datos listos y Datos recibidos.

Introducción a SSD. Parte 2. Interfaz
A primera vista, los puertos paralelos escalan perfectamente: más líneas de señal significan más bits transmitidos a la vez y, por lo tanto, mayores anchos de banda. Sin embargo, debido al aumento del número de líneas de señal, surge la interacción de interferencia entre ellas, lo que lleva a la distorsión de los mensajes transmitidos.

Los puertos seriales son lo opuesto a los paralelos. El envío de datos ocurre un bit a la vez, lo que reduce el número total de líneas de señal, pero complica el controlador de entrada y salida. El controlador del transmisor recibe la palabra máquina a la vez y debe transmitir un bit a la vez, mientras que el controlador del receptor, a su vez, debe recibir los bits y almacenarlos en el mismo orden.

Introducción a SSD. Parte 2. Interfaz
Un pequeño número de líneas de señal permite aumentar la frecuencia del mensaje sin interferencias.

SCSI

Introducción a SSD. Parte 2. Interfaz
La Interfaz de sistemas de computadora pequeña (SCSI) apareció en 1978 y fue diseñada originalmente para unir dispositivos de diferentes perfiles en un solo sistema. La especificación SCSI-1 preveía la conexión de hasta 8 dispositivos (junto con el controlador), tales como:

  • escáneres;
  • unidades de cinta (streamers);
  • unidades ópticas;
  • discos duros y otros dispositivos.

Originalmente, SCSI se conocía como Shugart Associates System Interface (SASI), pero el comité de estandarización no aprobaría el nombre en honor a la empresa y después de una lluvia de ideas surgió el nombre de Interfaz de sistemas de computadora pequeña (SCSI). Larry Boucher, el 'padre' de SCSI, suponía que la abreviatura se pronunciaría como 'sexy', pero Dal Allan leyó 'sсuzzy' ('sucio'). Posteriormente, la pronunciación 'sucio' se afianzó firmemente en este estándar.

En la terminología SCSI, los dispositivos conectados se dividen en dos tipos:

  • iniciadores;
  • dispositivos de destino.

El iniciador envía un comando al dispositivo de destino, que luego envía una respuesta al iniciador. Los iniciadores y los dispositivos de destino están conectados a un bus SCSI común, cuya capacidad de ancho de banda en el estándar SCSI-1 es de 5 MB/s.

La topología 'bus compartido' impone varias limitaciones:

  • en los extremos del bus se requieren dispositivos especiales: terminadores;
  • el ancho de banda del bus se comparte entre todos los dispositivos;
  • el número máximo de dispositivos conectados simultáneamente es limitado.

Introducción a SSD. Parte 2. Interfaz

Los dispositivos en el bus se identifican mediante un número único, llamado SCSI Target ID. Cada unidad SCSI en el sistema está representada por al menos un dispositivo lógico, cuya dirección es a través de un número único dentro del dispositivo físico llamado Logical Unit Number (LUN).

Introducción a SSD. Parte 2. Interfaz
Los comandos en SCSI se envían en forma de bloques de descripción de comando (Command Descriptor Block, CDB), que consisten en un código de operación y parámetros del comando. El estándar describe más de 200 comandos, divididos en cuatro categorías:

  • Mandatory — deben ser soportados por el dispositivo;
  • Optional — pueden ser implementados;
  • Vendor-specific — utilizados por un fabricante específico;
  • Obsolete — comandos obsoletos.

Entre la multitud de comandos, solo tres de ellos son obligatorios para los dispositivos:

  • TEST UNIT READY — verifica la disponibilidad del dispositivo;
  • REQUEST SENSE — solicita el código de error del comando anterior;
  • INQUIRY — solicita las características básicas del dispositivo.

Después de recibir y procesar el comando, el dispositivo de destino envía al iniciador un código de estado que describe el resultado de la ejecución.

La mejora posterior de SCSI (especificaciones SCSI-2 y Ultra SCSI) amplió la lista de comandos utilizados y aumentó la cantidad de dispositivos conectables a 16, así como la velocidad de intercambio de datos por el bus a 640 MB/s. Dado que SCSI es una interfaz paralela, el aumento de la frecuencia de intercambio de datos se tradujo en una reducción de la longitud máxima del cable, lo que generaba inconvenientes en su uso.

Con el estándar Ultra-3 SCSI apareció el soporte para 'conexión en caliente', que permite conectar dispositivos mientras están encendidos.

El primer disco SSD conocido con interfaz SCSI se puede considerar el M-Systems FFD-350, lanzado en 1995. Este disco tenía un alto costo y no tuvo una amplia difusión.

En la actualidad, SCSI paralelo no es una interfaz popular para conectar discos, pero el conjunto de comandos todavía se utiliza activamente en las interfaces USB y SAS.

ATA / PATA

Introducción a SSD. Parte 2. Interfaz
Interfaz ATA (Advanced Technology Attachment), también conocido como PATA (Parallel ATA) fue desarrollado por Western Digital en 1986. El nombre comercial del estándar IDE (Integrated Drive Electronics - 'electrónica integrada en el dispositivo') subrayaba una innovación importante: el controlador del dispositivo estaba integrado en el propio dispositivo, en lugar de estar en una placa de expansión separada.

La decisión de colocar el controlador dentro del dispositivo resolvió varios problemas a la vez. En primer lugar, se redujo la distancia entre el almacenamiento y el controlador, lo que mejoró el rendimiento del dispositivo. En segundo lugar, el controlador integrado estaba diseñado exclusivamente para un tipo específico de dispositivo y, por lo tanto, era más económico.

Introducción a SSD. Parte 2. Interfaz
ATA, al igual que SCSI, utiliza un método paralelo de entrada/salida, lo que se refleja en los cables utilizados. Para conectar discos a través de la interfaz IDE, se requieren cables de 40 conductores, también llamados cintas. En especificaciones más recientes se utilizan cintas de 80 conductores: más de la mitad de los cuales son conexiones a tierra para reducir la interferencia en altas frecuencias.

En la cinta ATA hay de dos a cuatro conectores, uno de los cuales se conecta a la placa madre y los otros a los dispositivos de almacenamiento. Al conectar dos dispositivos con una sola cinta, uno de ellos debe configurarse como Master, y el otro como Slave. El tercer dispositivo puede conectarse exclusivamente en modo "solo lectura".

Introducción a SSD. Parte 2. Interfaz
La posición del jumper determina el rol de un dispositivo específico. Los términos Master y Slave en relación con los dispositivos no son del todo correctos, ya que, respecto al controlador, todos los dispositivos conectados son Slaves.

Una característica especial de ATA-3 es la aparición de Auto-monitoreo, Tecnología de Análisis y Reporte (S.M.A.R.T.). Cinco empresas (IBM, Seagate, Quantum, Conner y Western Digital) unieron esfuerzos y estandarizaron la tecnología de evaluación del estado de los discos.

El soporte para unidades de estado sólido se introdujo con la cuarta versión del estándar, lanzada en 1998. Esta versión del estándar permitía una velocidad de transferencia de datos de hasta 33.3 MB/s.

El estándar impone estrictas exigencias a los cables ATA:

  • el cable debe ser necesariamente plano;
  • la longitud máxima del cable es de 18 pulgadas (45.7 centímetros).

Un cable corto y ancho era incómodo y dificultaba la refrigeración. Aumentar la frecuencia de transferencia con cada versión siguiente del estándar se volvía cada vez más complicado, y ATA-7 resolvió el problema de manera radical: el interfaz paralelo fue sustituido por uno serial. Después de esto, ATA adquirió la palabra Parallel y pasó a llamarse PATA, y la séptima versión del estándar recibió un nuevo nombre: Serial ATA. La numeración de las versiones de SATA comenzó desde uno.

SATA

Introducción a SSD. Parte 2. Interfaz
El estándar Serial ATA (SATA) fue presentado el 7 de enero de 2003 y abordó los problemas de su predecesor mediante las siguientes modificaciones:

  • el puerto paralelo fue reemplazado por uno serial;
  • el cable ancho de 80 hilos fue reemplazado por uno de 7 hilos;
  • la topología de "bus compartido" fue sustituida por la conexión "punto a punto".

A pesar de que el estándar SATA 1.0 (SATA/150, 150 MB/s) era ligeramente más rápido que ATA-6 (UltraDMA/130, 130 MB/s), la transición al método de intercambio de datos por serial fue un "preparativo" para aumentar las velocidades.

Las dieciséis líneas de señal para la transmisión de datos en ATA fueron sustituidas por dos pares trenzados: uno para transmisión y otro para recepción. Los conectores SATA están diseñados para una mayor resistencia a múltiples reconexiones, y la especificación SATA 1.0 hizo posible la "conexión en caliente" (Hot Plug).

Algunos pines en los discos son más cortos que los demás. Esto se hace para permitir la "reemplazo en caliente" (Hot Swap). En el proceso de reemplazo, el dispositivo "pierde" y "encuentra" las líneas en un orden predefinido.

Un poco más de un año después, en abril de 2004, se lanzó la segunda versión de la especificación SATA. Además de la velocidad de hasta 3 Gbit/s, SATA 2.0 introdujo la tecnología Native Command Queuing (NCQ). Los dispositivos que soportan NCQ pueden organizar de manera autónoma el orden de ejecución de los comandos recibidos para lograr el máximo rendimiento.

Introducción a SSD. Parte 2. Interfaz
Durante los siguientes tres años, el SATA Working Group trabajó en mejorar la especificación existente y en la versión 2.6 aparecieron conectores compactos Slimline y micro SATA (uSATA). Estos conectores son una versión reducida del conector SATA original y están destinados a unidades ópticas y discos pequeños en laptops.

A pesar de que el ancho de banda de la segunda generación de SATA era suficiente para los discos duros, las unidades de estado sólido requerían más. En mayo de 2009, se lanzó la tercera versión de la especificación SATA con un ancho de banda incrementado a 6 Gbit/s.

Introducción a SSD. Parte 2. Interfaz
Se prestó especial atención a las unidades de estado sólido en la edición SATA 3.1. Apareció el conector Mini-SATA (mSATA), destinado a conectar unidades de estado sólido en laptops. A diferencia de Slimline y uSATA, el nuevo conector se parecía al PCIe Mini, aunque no era eléctricamente compatible con PCIe. Además del nuevo conector, SATA 3.1 ofrecía la capacidad de poner en cola comandos TRIM junto con comandos de lectura y escritura.

El comando TRIM notifica a la unidad de estado sólido sobre bloques de datos que no tienen carga útil. Hasta SATA 3.1, la ejecución de este comando resultaba en la limpieza de cachés y la suspensión de las operaciones de entrada/salida antes de llevar a cabo el comando TRIM. Este enfoque deterioraba el rendimiento del disco durante las operaciones de eliminación.

La especificación SATA no alcanzaba el rápido crecimiento de la velocidad de acceso de las unidades de estado sólido, lo que llevó a la aparición en 2013 de un compromiso denominado SATA Express en la norma SATA 3.2. En lugar de duplicar nuevamente el ancho de banda de SATA, los desarrolladores utilizaron el bus PCIe ampliamente utilizado, cuya velocidad supera los 6 Gbit/s. Los discos compatibles con SATA Express adoptaron un nuevo factor de forma llamado M.2.

SAS

Introducción a SSD. Parte 2. Interfaz
El estándar SCSI, "competidor" del ATA, también avanzó y solo un año después de la aparición de Serial ATA, en 2004, se transformó en un interfaz secuencial. El nuevo nombre para esta interfaz es Serial Attached SCSI (SAS).

A pesar de que SAS heredó el conjunto de comandos SCSI, los cambios fueron significativos:

  • interfaz serie;
  • cable de 29 hilos con alimentación;
  • conexión "punto a punto"

La terminología SCSI también fue heredada. El controlador aún se llama iniciador, y los dispositivos conectados son los objetivos. Todos los dispositivos objetivo y el iniciador forman un dominio SAS. En SAS, el ancho de banda de la conexión no depende del número de dispositivos en el dominio, ya que cada dispositivo utiliza su propio canal dedicado.

El número máximo de dispositivos conectados simultáneamente en un dominio SAS según la especificación supera los 16 mil, y en lugar del ID SCSI se utiliza un identificador World-Wide Name (WWN).

WWN es un identificador único de 16 bytes, similar a una dirección MAC para dispositivos SAS.

Introducción a SSD. Parte 2. Interfaz
A pesar de la similitud de los conectores SAS y SATA, estos estándares no son completamente compatibles. Sin embargo, un disco SATA se puede conectar a un conector SAS, pero no al revés. La compatibilidad entre discos SATA y el dominio SAS se asegura mediante el protocolo SATA Tunneling Protocol (STP).

La primera versión del estándar SAS-1 tiene un ancho de banda de 3 Gbit/s, mientras que la más moderna, SAS-4, mejoró esta cifra en 7 veces: 22.5 Gbit/s.

PCIe

Introducción a SSD. Parte 2. Interfaz
Peripheral Component Interconnect Express (PCI Express, PCIe) es una interfaz de serie para la transferencia de datos que apareció en 2002. Su desarrollo fue iniciado por Intel y posteriormente transferido a una organización especial: PCI Special Interest Group.

La interfaz serie PCIe no fue una excepción y se convirtió en la continuación lógica del PCI paralelo, que está diseñado para conectar tarjetas de expansión.

PCI Express se diferencia significativamente de SATA y SAS. La interfaz PCIe tiene una cantidad variable de líneas. El número de líneas es igual a potencias de dos y varía de 1 a 16.

El término "línea" en PCIe no se refiere a una línea de señal específica, sino a un canal de comunicación de full duplex compuesto de las siguientes líneas de señal:

  • recepción+ y recepción-;
  • transmisión+ y transmisión-;
  • cuatro hilos de tierra.

El número de líneas PCIe influye directamente en el ancho de banda máximo de la conexión. El estándar actual PCI Express 4.0 permite alcanzar 1.9 GB/s por línea, y 31.5 GB/s al utilizar 16 líneas.

Introducción a SSD. Parte 2. Interfaz
Los "apetitos" de los discos de estado sólido están creciendo muy rápidamente. Tanto SATA como SAS no logran aumentar su ancho de banda lo suficiente para "alcanzar" a los SSD, lo que ha llevado a la aparición de discos SSD conectados a través de PCIe.

Aunque las tarjetas PCIe Add-In se atornillan, PCIe admite el "cambio en caliente". Los pines cortos PRSNT (inglés: present) permiten asegurarse de que la tarjeta esté completamente instalada en la ranura.

Los discos de estado sólido conectados a través de PCIe están regulados por un estándar separado. Especificación de la Interfaz del Controlador de Memoria No Volátil. y se materializan en múltiples factores de forma, pero sobre ellos hablaremos en la siguiente parte.

Discos remotos.

Con la creación de grandes almacenes de datos surgió la necesidad de protocolos que permitieran conectar discos ubicados fuera del servidor. La primera solución en este ámbito fue el Internet SCSI (iSCSI), desarrollado por IBM y Cisco en 1998.

La idea del protocolo iSCSI es sencilla: los comandos SCSI se "encapsulan" en paquetes TCP/IP y se transmiten a través de la red. A pesar de la conexión remota, se crea la ilusión para los clientes de que el disco está conectado localmente. La Red de Área de Almacenamiento (Storage Area Network, SAN), basada en iSCSI, puede construirse sobre una infraestructura de red existente. El uso de iSCSI reduce significativamente los costos de organización de la SAN.

El iSCSI tiene una variante "premium": Protocolo de Canal de Fibra (FCP). Una SAN que utiliza FCP se construye sobre líneas de comunicación ópticas dedicadas. Este enfoque requiere equipos de red óptica adicionales, pero se distingue por su estabilidad y alto ancho de banda.

Existen muchos protocolos para enviar comandos SCSI a través de redes informáticas. Sin embargo, solo hay un estándar que resuelve la tarea opuesta y permite enviar paquetes IP a través del bus SCSI: el IP-over-SCSI..

La mayoría de los protocolos para organizar SAN utilizan el conjunto de comandos SCSI para gestionar los discos, pero hay excepciones, como el simple ATA sobre Ethernet (AoE). El protocolo AoE envía comandos ATA en paquetes Ethernet, pero en el sistema los discos se muestran como SCSI.

Con la llegada de los discos NVM Express, los protocolos iSCSI y FCP dejaron de satisfacer las crecientes demandas de los discos de estado sólido. Surgieron dos soluciones:

  • extender el bus PCI Express más allá del servidor;
  • crear un protocolo NVMe sobre Fabrics.

La extracción del bus PCIe implica la creación de equipos de conmutación complejos, pero no altera el protocolo.

El protocolo NVMe over Fabrics se ha convertido en una buena alternativa a iSCSI y FCP. En NVMe-oF, se utilizan líneas de comunicación de fibra óptica y el conjunto de comandos NVM Express.

DDR-T

Introducción a SSD. Parte 2. Interfaz
Los estándares iSCSI y NVMe-oF abordan la conectividad de unidades remotas como si fueran locales, pero la compañía Intel tomó un camino diferente, acercando lo máximo posible el disco local al procesador. Optaron por las ranuras DIMM, donde se conecta la memoria RAM. El ancho de banda máximo del canal DDR4 es de 25 GB/s, lo que supera significativamente la velocidad del bus PCIe. Así nació el disco duro sólido Intel® Optane™ DC Persistent Memory.

Para conectar el almacenamiento en las ranuras DIMM, se inventó el protocolo DDR-T, que es física y eléctricamente compatible con DDR4, pero requiere un controlador especial que distingue entre el módulo de memoria y el dispositivo de almacenamiento. La velocidad de acceso al dispositivo de almacenamiento es menor que la de la RAM, pero mayor que la de NVMe.

El protocolo DDR-T solo está disponible con los procesadores Intel® de la generación Cascade Lake o más recientes.

Conclusión

Casi todas las interfaces han recorrido un largo camino desde la transmisión serial hasta la paralela. Las velocidades de los dispositivos de almacenamiento sólido están aumentando rápidamente; hace un tiempo los SSD eran poco comunes, y hoy en día el NVMe ya no sorprende.

En nuestro laboratorio Selectel Lab Puedes probar SSD y discos NVMe por ti mismo.

Solo los usuarios registrados pueden participar en la encuesta. Inicie sesión, por favor.

¿Desplazarán los discos NVMe a los clásicos SSD en el futuro cercano?

  • 55.5%Sí100

  • 44.4%No80

180 usuarios votaron. 28 usuarios se abstuvieron.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster