SATA Express
# SATA Express

SATA Express (abreviado de Serial ATA Express y algunas veces no oficialmente abreviado a SATAe) es una interfaz de bus de computadora que admite dispositivos de almacenamiento Serial ATA (SATA) y PCI Express (PCIe), inicialmente estandarizados en la especificación SATA 3.2. El conector SATA Express utilizado en el lado del host es compatible hacia atrás con el conector de datos SATA estándar, mientras que también proporciona dos líneas PCI Express como una conexión PCI Express pura al dispositivo de almacenamiento.

En lugar de continuar con el enfoque habitual de la interfaz SATA de duplicar su velocidad nativa con cada versión principal, la especificación SATA 3.2 incluye el bus PCI Express para lograr la transferencia de datos a velocidades mayor que el límite de 6 Gbit/s de SATA 3,0. Los diseñadores de la interfaz SATA concluyeron que duplicar la velocidad SATA nativa tomaría demasiado tiempo para ponerse al día con los avances en la tecnología de unidad de estado sólido (SSD), requeriría demasiados cambios al estándar SATA, y daría lugar a un consumo de energía mucho mayor en comparación con el bus PCI Express existente. Como un bus de computadora ampliamente adoptado, PCI Express proporciona un ancho de banda suficiente al tiempo que permite una fácil ampliación mediante el uso de carriles más rápidos o adicionales.

Además de admitir la Interfaz controladora de host avanzada (AHCI) heredada en el nivel de la interfaz lógica, SATA Express también admite NVM Express (NVMe) como la interfaz de dispositivo lógico para dispositivos de almacenamiento PCI Express conectados. Si bien el soporte para AHCI garantiza la compatibilidad con versiones anteriores de software con dispositivos SATA heredados y sistemas operativos heredados, NVM Express está diseñado para utilizar completamente los dispositivos de almacenamiento PCI Express de alta velocidad al aprovechar su capacidad de ejecutar muchas operaciones de E/S en paralelo.

## Historia

La interfaz Serial ATA (SATA) se diseñó principalmente para interactuar con unidades de disco duro (HDD), duplicando su velocidad nativa con cada revisión principal: la velocidad máxima de transferencia SATA pasó de 1.5 Gbit/s en SATA 1.0 (estandarizado en 2003), hasta 3 Gbit/s en SATA 2.0 (estandarizado en 2004), y a 6 Gbit/s según lo dispuesto por SATA 3.0 (estandarizado en 2009). SATA también se ha seleccionado como la interfaz para unidades de estado sólido (SSD) gradualmente más adoptadas, pero la necesidad de una interfaz más rápida se hizo evidente a medida que la velocidad de las unidades SSD y las unidades híbridas aumentaba con el tiempo. A modo de ejemplo, algunos SSD disponibles a principios de 2009 ya estaban muy por encima de las capacidades de SATA 1.0 y cerca de la SATA 2.0, mientras que en la segunda mitad de 2013, los SSD de gama alta para el consumidor ya habían alcanzado el límite de velocidad de SATA 3.0, que requiere una interfaz aún más rápida.

Al evaluar diferentes enfoques para el aumento de velocidad requerido, los diseñadores de la interfaz SATA concluyeron que al extender la interfaz SATA para duplicar su velocidad nativa a 12 Gbit/s requeriría más de dos años, haciendo que ese enfoque no sea adecuado para ponerse al día con los avances en la tecnología SSD. Al mismo tiempo, aumentando la velocidad nativa de SATA a 12 Gbit/s requeriría demasiados cambios en el estándar SATA, terminando en una solución más costosa y menos eficiente en términos de energía en comparación con el bus PCI Express ya disponible y ampliamente adoptado. Por lo tanto, PCI Express fue seleccionado por los diseñadores de la interfaz SATA, como parte de la revisión SATA 3.2 que se estandarizó en 2013; la ampliación de la especificación SATA para proporcionar también una interfaz PCI Express dentro del mismo conector compatible con versiones anteriores permitió velocidades mucho más rápidas al reutilizar la tecnología ya existente.

Algunos proveedores también utilizan interfaces lógicas propietarias para sus productos de almacenamiento basados en flash de nivel empresarial, conectados a través del bus PCI Express. Dichos productos de almacenamiento pueden usar un enlace PCI Express de varias líneas, mientras se interconectan con el sistema operativo a través de controladores propietarios e interfaces de host. Además, a junio de 2014 existen productos de almacenamiento de nivel empresarial similares que utilizan NVM Express como interfaz lógica no propietaria para una tarjeta complementaria PCI Express.

### Disponibilidad

La compatibilidad con SATA Express se anunció inicialmente para los conjuntos de chips Intel 9 Series, Z97 y H97 Platform Controller Hubs (PCHs), y ambos son compatibles con los procesadores Intel Haswell y Haswell Refresh; la disponibilidad de estos dos conjuntos de chips estaba prevista para 2014. En diciembre de 2013, Asus presentó un prototipo de placa base " Z87 -Deluxe/SATA Express" basada en el chipset Intel Z87, que admite procesadores Haswell y utiliza un controlador ASMedia adicional para proporcionar conectividad SATA Express; esta placa base también se mostró en CES 2014 aunque no se anunció la fecha de lanzamiento.

En abril de 2014, Asus también demostró ser compatible con el llamado reloj de referencia independiente con reloj de espectro ensanchado independiente (SRIS) con parte de su hardware SATA Express de preproducción. SRIS elimina la necesidad de un blindaje complejo y costoso en los cables SATA Express necesarios para transmitir señales de sincronización PCI Express, al proporcionar un generador de reloj separado en el dispositivo de almacenamiento con soporte adicional del firmware de la placa base.

En mayo de 2014, los conjuntos de chips Intel Z97 y H97 se pusieron a disposición, brindando soporte para SATA Express y M.2, que es una especificación para dispositivos de almacenamiento basados en flash en forma de tarjetas de expansión de computadora montadas internamente. Los conjuntos de chips Z97 y H97 utilizan dos líneas PCI Express 2.0 para cada uno de sus puertos SATA Express, lo que proporciona 1 GB/s de ancho de banda para dispositivos de almacenamiento PCI Express. El lanzamiento de estos dos nuevos conjuntos de chips, destinados principalmente a computadoras de escritorio de alta gama, fue seguido pronto por la disponibilidad de placas base basadas en Z97 y H97.

A fines de agosto de 2014, el chipset Intel X99 estuvo disponible, brindando soporte para SATA Express y M.2 a la plataforma de entusiastas de Intel. Cada uno de los puertos SATA Express del X99 requiere dos líneas PCI Express 2.0 proporcionados por el conjunto de chips, mientras que las ranuras M.2 pueden usar dos carriles PCIe 2.0 o hasta 4 líneas PCIe 3.0 tomados directamente de la CPU LGA 2011-v3. Como resultado, el X99 proporciona anchos de banda de hasta 3.94 GB/s para dispositivos de almacenamiento PCI Express conectados. Tras el lanzamiento del conjunto de chips X99, se pusieron a disposición numerosas placas base basadas en X99.

A principios de marzo de 2017, AMD Ryzen estuvo disponible, llevando el soporte nativo de SATA Express a la plataforma AMD Socket AM4, a través del uso de sus conjuntos de chips X370, X300, B350, A320 y A300. Ryzen también admite M.2 y otras formas de dispositivos de almacenamiento PCI Express, utilizando hasta ocho líneas PCI Express 3.0 proporcionadas por el chipset y la CPU AM4. Como resultado, Ryzen proporciona anchos de banda de hasta 7.88 GB/s para dispositivos de almacenamiento PCI Express conectados.

## Características

La interfaz SATA Express admite dispositivos de almacenamiento tanto PCI Express como SATA al exponer dos líneas PCIe 2.0 o 4 líneas PCIe 3.0, y dos puertos SATA 3.0 (6 Gbit/s) a través del mismo conector SATA Express del lado del host. Las líneas PCIe expuestas proporcionan una conexión PCI Express pura entre el host y el dispositivo de almacenamiento, sin capas adicionales de abstracción del bus. La especificación SATA revisión 3.2, en su revisión de oro a agosto de 2013, estandariza el SATA Express y especifica su diseño de hardware y parámetros eléctricos.

La elección de PCI Express también permite ampliar el rendimiento de la interfaz de SATA Express mediante el uso de varias líneas y diferentes versiones de PCI Express. Más detalladamente, utilizando dos líneas PCI Express 2.0 proporcionan un ancho de banda total de 1 GB/s (velocidad bruta de 2×5 GT/s y codificación 8b/10b, lo que equivale a 1000 Mb/s efectivos), mientras utiliza dos líneas PCI Express 3.0 proporciona cerca de 2 GB/s (velocidad bruta de 2×8 GT/s y codificación 128b/130b, lo que equivale a 1969 Mb/s efectivo). En comparación, el ancho de banda bruto de 6 Gb/s de SATA 3.0 equivale efectivamente a 0.6 GB/s debido a la sobrecarga introducida por la codificación 8b/10b.

Hay tres opciones disponibles para las interfaces de dispositivos lógicos y los conjuntos de comandos utilizados para interactuar con dispositivos de almacenamiento conectados a un controlador SATA Express:

### SATA legado

    Se usa para compatibilidad con versiones anteriores de dispositivos SATA heredados, y se interconecta a través del controlador AHCI y puertos SATA 3.0 heredados (6 Gbit/s) proporcionados por un controlador SATA Express.

### PCI Express utilizando AHCI

    Se usa para SSD PCI Express y se interconecta a través del controlador AHCI y proporciona líneas PCI Express, proporcionando compatibilidad con versiones anteriores con el soporte SATA generalizado en sistemas operativos al costo de no proporcionar un rendimiento óptimo al usar AHCI para acceder a SSD PCI Express. AHCI se desarrolló en el momento en que el propósito de un adaptador de bus de host (HBA) en un sistema era conectar el subsistema de memoria/CPU con un subsistema de almacenamiento mucho más lento basado en medios magnéticos giratorios; como resultado, AHCI tiene algunas ineficiencias inherentes cuando se aplica a dispositivos SSD, que se comportan mucho más como DRAM que como medios giratorios.

### PCI Express utilizando NVMe

    Se utiliza para SSD PCI Express y se interconecta a través del controlador NVMe y se proporciona en las líneas PCI Express, como una interfaz de controlador host escalable y de alto rendimiento diseñada y optimizada especialmente para la interfaz con SSD PCI Express. NVMe ha sido diseñado desde cero, aprovechando la baja latencia y el paralelismo de los SSD PCI Express, y complementando el paralelismo de las CPU, plataformas y aplicaciones contemporáneas. A un alto nivel, las principales ventajas de NVMe sobre AHCI se relacionan con la capacidad de NVMe para explotar el paralelismo en el hardware y software del host, en función de sus ventajas de diseño que incluyen transferencias de datos con menos etapas, mayor profundidad de las colas de comandos y un procesamiento de interrupciones más eficiente.

## Conectores

Los conectores utilizados para SATA Express se seleccionaron específicamente para garantizar la compatibilidad con dispositivos SATA heredados siempre que sea posible, sin la necesidad de adaptadores o convertidores adicionales. El conector en el lado del host acepta un SSD PCI Express o hasta dos dispositivos SATA heredados, proporcionando líneas PCI Express o puertos SATA 3.0 dependiendo del tipo de dispositivo de almacenamiento conectado.

Hay cinco tipos de conectores SATA Express, que se diferencian por su posición y propósito:

* El conector de host se utiliza en las placas base y en los controladores adicionales. Este conector es compatible con versiones anteriores al aceptar cables de datos SATA estándar heredados, lo que da como resultado que el conector del host proporcione conectividad para hasta dos dispositivos SATA.
* El receptáculo del cable del host es el conector del lado del host en los cables SATA Express. Este conector no es compatible con versiones anteriores.
* El receptáculo del cable del dispositivo es el conector del lado del dispositivo en los cables SATA Express, compatible con versiones anteriores al aceptar un dispositivo SATA.
* El enchufe del dispositivo se utiliza en dispositivos SATA Express. Este conector es parcialmente compatible hacia atrás al permitir que los dispositivos SATA Express se conecten a los backplanes U.2 o receptáculos MultiLink SAS; sin embargo, un dispositivo SATA Express conectado de esa manera solo funcionará si el host admite dispositivos PCI Express.
* El receptáculo del host se utiliza en placas posteriores para acoplarse directamente con dispositivos SATA Express, lo que da como resultado conexiones sin cables. Este conector es compatible con versiones anteriores al aceptar un dispositivo SATA.

Los conectores SATA Express mencionados anteriormente solo proporcionan dos líneas PCI Express, como resultado del diseño general que se centra en una transición rápida de la plataforma a bajo costo. Esa opción permitie una compatibilidad con versiones anteriores más sencilla con dispositivos SATA heredados, además de permitir el uso de cables no blindados más baratos. A junio de 2015, algunos dispositivos NVM Express en forma de unidades de 2,5 pulgadas usan el conector U.2 (originalmente conocido como SFF-8639, con el cambio de nombre que tuvo lugar en junio de 2015), que se espera que gane aceptación más amplia. El conector U.2 es mecánicamente idéntico al enchufe del dispositivo SATA Express, pero proporciona cuatro líneas PCI Express a través de un uso diferente de los pines disponibles.

La siguiente tabla resume la compatibilidad de los conectores dados:

Matriz de acoplamiento del conector :

| | SATA Express cable host receptáculo | SATA Express cable del dispositivo receptáculo | SATA Express receptáculo de acogida | Cable SATA receptáculo | Backplane U.2 receptáculo | SAS MultiLink receptáculo |
| - | - | - | - | - | - | - |
| SATA Express enchufe del host | Sí | No | No | Sí | No | No |
| SATA Express enchufe del dispositivo | No | Sí | Sí | No | Sí | Sí |
| SATA enchufe del dispositivo | No | Sí | Sí | Sí | Sí | Sí |

## Compatibilidad

La compatibilidad con versiones anteriores del dispositivo para SATA Express está garantizada por el soporte total de SATA 3.0 heredado (6 Gbit/s) para dispositivos de almacenamiento, tanto en el nivel eléctrico como a través del soporte del sistema operativo requerido. Mecánicamente, los conectores en el lado del host conservan su compatibilidad con versiones anteriores de manera similar a como lo hace USB 3.0 – El nuevo conector SATA Express del lado del host se realiza al "apilar" un conector adicional sobre dos conectores de datos SATA estándar heredados, que son SATA 3.0 (6 Gbit/s) normales que pueden aceptar dispositivos SATA heredados. Esta compatibilidad con versiones anteriores del conector SATA Express del lado del host, que se conoce formalmente como el conector del host, garantiza la posibilidad de conectar dispositivos SATA heredados a hosts equipados con controladores SATA Express.

La compatibilidad con versiones anteriores en el nivel de software, proporcionada para los sistemas operativos heredados y los controladores de dispositivos asociados que pueden acceder solo a los dispositivos de almacenamiento SATA, se logra al mantener el soporte para la interfaz del controlador AHCI como una interfaz de dispositivo lógico heredado, como se ve desde la perspectiva del sistema operativo. El acceso a dispositivos de almacenamiento que utilizan AHCI como interfaz de dispositivo lógico es posible para SSD SATA y SSD PCI Express, por lo que los sistemas operativos que no brindan soporte para NVMe pueden configurarse opcionalmente para interactuar con dispositivos de almacenamiento PCI Express como si fueran dispositivos AHCI heredados. Sin embargo, como NVMe es mucho más eficiente que AHCI cuando se usa con SSD PCI Express, la interfaz SATA Express no puede ofrecer su máximo rendimiento cuando se usa AHCI para acceder a dispositivos de almacenamiento PCI Express (ver más arriba para más detalles).

