Sei sulla pagina 1di 13

UN PASEO POR

SATA

(Serial ATA)

Eduardo Ruiz Soporte Tcnico OEM FUJITSU ESPAA Marzo de 2004

Un paseo por SATA

INDICE
Referencias ........................................................................................................................ 3 Introduccin ....................................................................................................................... 3 Un paseo por SATA.......................................................................................................... 3 Emulacin del interfaz ATA ........................................................................................... 4 El nivel Fsico .................................................................................................................... 4 Spread Spectrum Clocking................................................................................................. 5 Cables y Conectores .......................................................................................................... 5 Seales OOB (Out Of Band) ............................................................................................... 6 Secuencia de inicializacin del phy.................................................................................... 6 El nivel de Enlace ............................................................................................................. 7 Codificacin 8b10b: Caracteres de datos, caracteres de control y patrn Coma ............... 7 Primitivas y Tramas ............................................................................................................ 8 El nivel de Transporte ................................................................................................... 10 Tipos de FIS (Frame Information Structure) ..................................................................... 10 Nuevo bloque de registros SATA............................................................................... 11 Un paseo por SATA II .................................................................................................... 12 Extensiones de SATA ....................................................................................................... 12 Multiplicador de Puertos .................................................................................................. 12 Selector de Puerto ............................................................................................................ 13 Cables y Conectores ........................................................................................................ 13

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 2

Un paseo por SATA

Referencias
Serial ATA: High Speed Serialized AT Attachment. Revisin 1.0a. APT, Dell, Intel, Maxtor, Seagate. 7 de Enero de 2003. Serial ATA II: Extensions to Serial ATA 1.0a. Revisin 1.1. Dell, Intel, Maxtor, Seagate, Vitesse Semiconductor. 9 de Octubre de 2003. Serial ATA II: Cables and Connectors Volume 1. Revisin 1.0. Dell, Intel, Maxtor, Seagate, Vitesse Semiconductor. 28 de Febrero de 2003 Serial ATA II: Port Multiplier. Revisin 1.1. Dell, Intel, Maxtor, Seagate, Vitesse Semiconductor. 9 de Octubre de 2003. Serial ATA II: Port Selector. Revisin 1.0. Dell, Intel, Maxtor, Seagate, Vitesse Semiconductor. 28 de Julio de 2003. ANSI T13/1532-D Volume 3 Working Draft: ATA/ATAPI-7 Serial Transport Protocols and Physical Interconnect. Revisin 4, 23 de Diciembre de 2003.

Introduccin
La norma SATA especifica un interfaz serie de alta velocidad entre dispositivos ATA, desarrollado en base a las siguientes premisas: Interconexiones internas entre el controlador y el dispositivo mediante cable o por conexin directa. Compatible con ATA a nivel software, lo que significa que todos los programas actuales, tanto a nivel de BIOS como de driver, pueden acceder a dispositivos SATA. Para ello el controlador SATA emula el comportamiento del interfaz ATA y permite que el software acceda al controlador utilizando los mecanismos y protocolos estndar. Este modo de funcionamiento se denomina Modo Heredado. Modo Nativo de funcionamiento, en el cual el software puede acceder a nuevas funciones y posibilidades del interfaz SATA con las que se obtienen mejores prestaciones. Para acceder al controlador en Modo Nativo es preciso el desarrollo de nuevos drivers. Velocidad de enlace superior a la velocidad ms alta soportada por ATA (133 MB/s), con previsin para posteriores aumentos de velocidad. De momento se han normalizado velocidades de 150 MB/s y de 300 MB/s, y est previsto el aumento hasta 600 MB/s para mediados del 2007. Enfocado a dispositivos de almacenamiento (no se prev la conexin de impresoras ni de escneres ni cmaras, etc.). Fcil instalacin y configuracin (hot-plug y plug&play, sin puentes de configuracin ni terminadoras). Soporte para slo un controlador (no se prevn sistemas multi-controlador ni de comunicacin entre controladores).

Un paseo por SATA


Serial ATA (SATA) es un interfaz serie de alta velocidad desarrollado para sustituir al interfaz paralelo de dispositivos de almacenamiento ATA. El controlador SATA por un lado emula el funcionamiento de un interfaz ATA estndar, lo que permite a los programas BIOS y drivers actuales (denominados genricamente software Heredado) acceder a los dispositivos SATA como si se trataran de dispositivos estndar ATA, y por otro implementa nuevos recursos para permitir que drivers SATA de nuevo desarrollo (software Nativo) puedan acceder a las nuevas funcionalidades y posibilidades del interfaz SATA.

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 3

Un paseo por SATA

Emulacin del interfaz ATA


Mientras que el interfaz paralelo ATA permite la conectividad de hasta dos dispositivos a un puerto ATA mediante un cable plano comn (conexin en daisy-chain) utilizando un protocolo de comunicacin Maestro/Esclavo, los dispositivos SATA se conectan mediante conexiones serie individuales punto a punto (es decir, no hay dispositivos Maestros ni Esclavos). La emulacin puede consistir en presentar los dispositivos como si fueran Maestros de distintos puertos ATA, o presentarlos por parejas como si fueran Maestro y Esclavo de un puerto ATA. La emulacin es completa, tanto a nivel del comportamiento del controlador como de los dispositivos, incluyendo el comportamiento de los bloques de registros de Comando y de Control, las transferencias en modo PIO, DMA y UDMA, las interrupciones y los distintos procesos de inicializacin. En el interfaz paralelo, toda la comunicacin a nivel de comandos, datos y estado entre un dispositivo y el driver se hace mediante los registros de Comando y de Control situados en el propio dispositivo. Cada dispositivo dispone de su propio bloque de registros y el driver lee y escribe directamente en ellos. Las direcciones de los registros son distintas para cada puerto ATA, pero son las mismas tanto para el Maestro como para el Esclavo de cada puerto, debiendo el driver seleccionar previamente a uno de ellos mediante la escritura de un bit de seleccin de dispositivo en uno de los registros. El dispositivo que no est seleccionado simplemente no hace caso a ninguna lectura o escritura en el bloque de registros, salvo las escrituras de dicho bit para detectar cundo el driver lo selecciona para comunicarse con l. En el caso del interfaz SATA, el driver no puede evidentemente leer y escribir directamente en los registros de los dispositivos, por lo que el controlador SATA implementa un bloque de registros por cada dispositivo (denominado Bloque de Registros Shadow) que refleja el contenido y el comportamiento de los registros de los dispositivos. El driver entonces lee y escribe realmente en el bloque de registros shadow del controlador SATA, mientras que por el otro lado el controlador y los dispositivos SATA se intercambian la informacin a travs de la lnea serie para sincronizar los contenidos de los registros. En el caso de una emulacin Maestro/Esclavo, es responsabilidad del controlador SATA enviar la informacin al dispositivo adecuado, en funcin del bit de seleccin de dispositivo escrito previamente por el driver en el registro shadow correspondiente. Por ltimo, de cara al uso del interfaz SATA por parte de software Heredado, todos los dispositivos SATA se identifican con los siguientes parmetros cuando se les interroga por medio de los procedimientos estndar ATA (es decir, los dispositivos ATA mediante el comando IDENTIFY DEVICE y los dispositivos ATAPI mediante el comando IDENTIFY PACKET DEVICE): Se soportan los comandos de Lectura/Escritura Mltiple con 16 o menos sectores por interrupcin. Se soporta la seal IORDY Se soporta la deshabilitacin de la seal IORDY Se soportan los modos Multiword DMA 0, 1 y 2 Se soportan los modos PIO 3 y 4. Se soportan los modos UDMA 0, 1, 2, 3 y 4

El nivel Fsico
El interfaz SATA se compone de dos pares de seales diferenciales, una para transmitir en un sentido y otra para transmitir en el sentido opuesto. La informacin se transmite en cdigo NRZ a una tensin nominal de +/- 250 mV. El interfaz elctrico al cable se realiza por medio de un transceptor denominado Phy. Las velocidades de transmisin normalizadas por el momento son de 1,5 Gbps y 3 Gbps (1.500 y 3.000 Mbaudios respectivamente), equivalentes a una velocidad en el enlace fsico de 150 y 300

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 4

Un paseo por SATA

MB/s respectivamente (ya que cada carcter se compone de 10 bits, debido a la codificacin empleada 8b10b).

Spread Spectrum Clocking SATA utiliza una tcnica denominada Spread Spectrum Clocking para rebajar el nivel de emisin electromagntica, distribuyndola en un rango de frecuencias en vez de estar toda concentrada en una frecuencia fija. La tcnica consiste en modular la frecuencia del reloj de transmisin, de manera que la frecuencia se hace variar lentamente siguiendo una forma triangular (decrece linealmente con el tiempo desde la frecuencia mxima hasta una determinada frecuencia mnima, y desde ah crece de nuevo linealmente con el tiempo hasta la frecuencia mxima). En SATA la frecuencia mxima es igual a la frecuencia nominal, la frecuencia mnima es el 99,5% de la frecuencia nominal, y el periodo de la modulacin triangular es de 33,33 us. Como la frecuencia se modula desde la frecuencia nominal hacia abajo, la tcnica se denomina down-spreading. El receptor recibe los bits en cdigo NRZ a la velocidad nominal de 1,5 3 Gbps, teniendo en cuenta la variaciones en la frecuencia de recepcin debidas a la tcnica de down-spreading. A partir de la secuencia de bits el receptor recupera y deserializa los datos (convierte la secuencia serie en paralelo), y detecta una secuencia especial de bits denominada patrn Coma que le permite alinear los caracteres de entrada (es decir, le permite saber qu bit es el primero de cada carcter).

Cables y Conectores Los dispositivos SATA, tanto de 3,5 como de 2,5, disponen de un conector macho con dos segmentos, uno de seal y otro de alimentacin, mientras que los controladores pueden disponer de un conector hembra con los dos segmentos o de un conector macho con slo el segmento de seal. El segmento de seal dispone de 7 contactos, 4 para los dos pares de seal y 3 para masa. El segmento de alimentacin dispone de 15 contactos, 3 para cada alimentacin (5V, 12V y 3,3V), uno reservado y el resto para masas. Para permitir la conexin en caliente, los contactos tienen distintas longitudes para secuenciar la conexin. En el caso de conexin directa, el conector del dispositivo se inserta directamente en el conector hembra de dos segmentos del controlador, lo que proporciona al dispositivo todos los contactos tanto de seal como de alimentacin. Para hacer posible este tipo de conexin, las posiciones de las seales de transmisin y recepcin en el segmento de seal del controlador estn invertidas respecto a las del dispositivo. En el caso de conexin por cable, el segmento de seal del dispositivo se conecta al conector macho de seal del controlador mediante un cable de seal SATA, el cual est formado por dos secciones de cable twinaxial, una para cada par de seal diferencial. La longitud del cable puede ser de hasta 1 metro y sus dos extremos son simtricos, por lo que cualquiera de los extremos se puede conectar tanto en el controlador como en el dispositivo. El conector macho de seal del controlador tambin tiene invertidas las posiciones de las seales de transmisin y recepcin, por lo que el cable de seal no intercambia las posiciones de los pares. Por otro lado, el segmento de alimentacin del dispositivo se conecta a un cable de alimentacin SATA que puede venir directamente de la fuente de alimentacin del equipo o puede terminar en un conector para su conexin en algn lugar del equipo. Para facilitar la transicin de ATA a SATA, en los dispositivos de 3,5 se permiten varias configuraciones mixtas de conectores SATA y ATA (denominados conectores heredados): Configuracin 35A1: Conector de dos segmentos SATA y ningn conector heredado

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 5

Un paseo por SATA

Configuracin 35B1: Conector de dos segmentos SATA y conector heredado de alimentacin y puentes de configuracin. Configuracin 35B2: Conector de seal SATA y conector heredado de alimentacin y puentes de configuracin. Configuracin 35B3: Conector de seal SATA y conector heredado de alimentacin. Configuracin 35B4: Conector de dos segmentos SATA y conector heredado de puentes de configuracin. Configuracin 35B5: Conector de dos segmentos SATA y conector heredado de alimentacin. Configuracin 35C1: Conector de seal SATA, conector heredado de seal ATA y conector heredado de alimentacin

Los dispositivos de 2,5 slo disponen del conector de dos segmentos SATA:

Seales OOB (Out Of Band) Las seales OOB (Out of Band) son unos patrones de seales de baja velocidad que no aparecen durante las transmisiones, y que slo se utilizan durante la inicializacin del enlace. Consisten en ciclos de duraciones predefinidas de reposo y de transmisin de unas determinadas secuencias de seal (primitivas ALIGN, que se describen ms adelante). La transmisin de las primitivas ALIGN se usa slo para producir una envolvente, de forma de el receptor distingue las distintas seales OOB por la duracin del intervalo de reposo que hay entre las consecutivas secuencias de seal (la duracin de las secuencias de seal no se utiliza para distinguir las distintas seales OOB). SATA define dos seales OOB: COMRESET / COMINIT

El controlador la enva para transmitir la seal COMRESET, que origina una inicializacin hardware en el dispositivo. El dispositivo la enva para transmitir la seal COMINIT, para solicitar al controlador la inicializacin del enlace (negociacin de la velocidad y comienzo de la comunicacin). COMWAKE

Esta seal la puede enviar tanto el controlador como el dispositivo, y se utiliza para despertar al otro Phy desde un estado de ahorro de energa, y tambin durante el proceso de inicializacin del enlace.

Secuencia de inicializacin del phy La secuencia de inicializacin del phy consiste en una secuencia de seales OOB seguida de una secuencia de negociacin de velocidad. La secuencia OOB puede comenzarla el controlador con la transmisin de COMRESET, o puede comenzarla el dispositivo con la transmisin de COMINIT. La secuencia tambin incluye un intercambio de seales COMWAKE y una fase de calibracin de la impedancia de salida del transmisor del controlador (y opcionalmente tambin del dispositivo) para adaptarse a la impedancia de la interconexin (ya que puede ser directa o por cable). La fase de negociacin de velocidad comienza entonces con la transmisin por parte del dispositivo de primitivas ALIGN a la velocidad ms alta que soporte (las primitivas se describen ms adelante), mientras que el controlador transmite un determinado dato a la velocidad ms baja que soporte. Si el controlador soporta la velocidad a la que el dispositivo est transmitiendo las primitivas ALIGN, entonces pasa a transmitir tambin primitivas ALIGN a dicha velocidad, lo que el dispositivo interpreta como que la velocidad de enlace es correcta.

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 6

Un paseo por SATA

Si el dispositivo no recibe primitivas ALIGN a esa velocidad en un intervalo de tiempo, entiende que el controlador no soporta esa velocidad de enlace y comienza un nuevo proceso a la velocidad inmediatamente ms baja que soporte.

El nivel de Enlace
El nivel de enlace define el uso de la codificacin 8b/10b, el uso de las distintas Primitivas y algunos otros detalles como los relativos al cdigo de deteccin de errores (CRC) y a la aleatorizacin de datos (scrambling), para distribuir la emisin de energa electromagntica cuando se transmiten secuencias repetitivas de caracteres.

Codificacin 8b10b: Caracteres de datos, caracteres de control y patrn Coma La codificacin 8b10b es muy utilizada actualmente en transmisin serie a velocidades cercanas y superiores al Gbps. Es la codificacin utilizada por Fibre Channel (1 y 2 Gbps), posteriormente adoptada por Gigabit Ethernet (1 Gbps), y actualmente en uso por SAS y SATA (1,5 y 3 Gbps), FireWire 800 (800 Mbps), as como por InfiniBand (2,5 Gbps). La codificacin tiene las siguientes funciones: Asegurar suficientes transiciones en la lnea como para que el receptor pueda recuperar el reloj y as pueda recibir adecuadamente la secuencia de bits, Incrementar en gran medida las posibilidades de deteccin de errores simples y mltiples que puedan ocurrir durante la transmisin, y Permitir la transmisin de caracteres especiales que contienen un patrn fcilmente reconocible por el receptor (denominado patrn Coma), que le permite alinear palabras en la secuencia de bits que recibe (es decir, le permite conocer qu bit es el primero de una palabra).

La codificacin 8b10b consiste en sustituir cada octeto (8 bits) por un cdigo de 10 bits antes de su transmisin. De todos los posibles cdigos de 10 bits (en total 2^10 = 1024) slo se utilizan 512 para codificar todos los posibles caracteres de datos (que en total pueden ser 2^8 = 256), y unos pocos cdigos ms para codificar una serie de caracteres de control (el motivo de utilizar el doble de cdigos que de caracteres a codificar se explica ms adelante). Todos los caracteres que se transmiten en SATA se agrupan en una secuencia de 4 octetos denominada dword. El primer carcter de una dword puede ser un carcter de dato, en cuyo caso caso la dword est formada por 4 caracteres de dato (y la informacin que transporta es por lo tanto un dato de 32 bits), o puede ser un carcter de control, en cuyo caso la dword est formada por el carcter de control y 3 caracteres de datos (la dword en este caso se denomina Primitiva, y transporta informacin de control). La codificacin 8b10b utiliza un formato particular para expresar los caracteres de 8 bits: Zxx.y

Por un lado la letra Z identifica si el carcter es un dato (en cuyo caso Z = D), o si es un carcter de control (en cuyo caso Z = K). Por otro lado, xx es el valor decimal de los bits 4:0 mientras que y es el valor decimal de los bits 7:5 del carcter. Entonces Dxx.y expresa cualquiera de los 256 posibles caracteres de datos, mientras que Kxx.y expresa cualquiera de los caracteres de control vlidos (la codificacin 8b10b slo permite 12 cdigos de control vlidos). El codificador 8b10b convierte cada carcter Dxx.y y Kxx.y a su correspondiente cdigo de 10 bits, teniendo en cuenta que cada carcter puede codificarse mediante dos cdigos distintos,

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 7

Un paseo por SATA

dependiendo del valor de un parmetro que se denomina disparidad (por eso se necesitan el doble de cdigos que de caracteres a codificar). El concepto de disparidad es el siguiente: de todos los posibles cdigos de 10 bits, el sistema 8b10b slo utiliza aquellos que tienen: 5 unos y 5 ceros. En este caso se dice que el cdigo tiene disparidad neutra, 6 unos y 4 ceros. En este caso el cdigo tiene disparidad positiva, y 4 unos y 6 ceros. En este caso el cdigo tiene disparidad negativa.

La idea es que cada cdigo que se transmita cancele la disparidad producida por el cdigo anterior, de forma que el nivel de continua de la seal elctrica es nula permanentemente. De los 12 posibles caracteres de control permitidos por el sistema 8b10b, SATA utiliza dos: el K28.3 y el K28.5. De los 12 posibles caracteres de control permitidos por el sistema 8b10b, hay 3 cuyos cdigos de 10 bits contienen en sus 7 primeros bits un patrn especial que se denomina Coma, que consiste en 2 bits a un valor seguidos por 5 bits al valor contrario. Los phys utilizan este patrn especial para conseguir la sincronizacin (alineacin) a nivel de dword, es decir, para conocer qu bit es el primero de una dword (una vez conseguida la alineacin, el phy sabe que cada 40 bits comienza una nueva dword). De los dos caracteres utilizados por SATA, slo el K28.5 contiene el patrn Coma, por lo que este carcter slo se utiliza en la primitiva ALIGN, mientras que el carcter K28.3 se utiliza en todas las dems primitivas. De esta manera los Phys alinean los caracteres slo cuando reciben la primitiva ALIGN.

Primitivas y Tramas Las primitivas y las tramas son las dos estructuras utilizadas para intercambiar informacin entre el controlador y el dispositivo. Las primitivas constan de una sola dword que comienza por un carcter de control, y es la forma ms simple de intercambio de informacin. Las primitivas proporcionan informacin de control de bajo nivel. Las tramas son secuencias de dwords que transportan informacin. Las tramas siempre comienzan con la primitiva SOF (Start of Frame) y terminan con la primitiva EOF (End of Frame). La ltima dword (que no sea una primitiva) anterior a la primitiva EOF es el CRC de la trama, mientras que el resto de la trama (es decir, las dwords entre el SOF y el CRC) es la informacin propiamente dicha transportada en la trama y se denomina FIS (Frame Information Structure). Es posible la transmisin de ciertas primitivas de control de flujo en el interior de la trama (HOLD, HOLDA y CONT). Las primitivas definidas en SATA son: ALIGN

Se enva para que el nivel fsico del receptor reajuste sus operaciones internas (entre otras, alinear la secuencia de bits de entrada en dwords de la manera correcta, a partir del patrn Coma). CONT

Se utiliza para eliminar secuencias repetitivas de la misma primitiva, con el objetivo de reducir el nivel de emisin electromagntica. Cuando hay que enviar repetidamente la misma primitiva, lo que se hace es enviar la primitiva seguida de la primitiva CONT y seguida de dwords aleatorias. El receptor interpreta como si estuviera recibiendo repetidamente la primitiva recibida anteriormente a la primitiva CONT, en tanto no reciba una nueva primitiva.

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 8

Un paseo por SATA

DMAT

La enva el receptor de una trama para solicitar al transmisor que aborte una transferencia de datos por DMA. EOF

Se usa para indicar el final de una trama. HOLD

El transmisor la enva dentro de una trama en puesto de una dword de dato cuando no tiene una dword de dato preparada para su transmisin (underrun), y el receptor la enva para indicar que no puede recibir todava una nueva dword de dato (overrun). HOLDA

Se enva en respuesta a una primitiva HOLD, y se transmite siempre que se est recibiendo HOLD. PMACK

Se enva en respuesta a una primitiva PMREQ_S o PMREQ_P, y se transmite cuando el receptor est preparado para entrar en el modo de ahorro de energa solicitado. PMNAK

Se enva en respuesta a una primitiva PMREQ_S o PMREQ_P, y se transmite cuando el receptor no est preparado para entrar en el modo de ahorro de energa solicitado o no lo soporta. PMREQ_P

Se enva para solicitar la entrada en el modo de ahorro de energa parcial. PMREQ_S

Se enva para solicitar la entrada en el modo de ahorro de energa total (denominado Slumber). R_ERR

La enva el receptor de una trama en respuesta a la primitiva WTRM para indicar que se ha detectado un error en la trama recibida. R_IP

La enva el receptor de una trama en respuesta a la recepcin de cada dword de dato. R_OK

La enva el receptor de una trama en respuesta a la primitiva WTRM para indicar que no se ha detectado ningn error en la trama recibida. R_RDY

Se enva en respuesta a una primitiva X_RDY para indicar que se est preparado para recibir una trama.

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 9

Un paseo por SATA

SOF

Se usa para indicar el principio de una trama. SYNC

Se usa cuando no hay tramas ni primitivas que enviar (el enlace est desocupado). WTRM

La enva el transmisor de una trama tras el EOF mientras espera que el receptor de la trama enve el estado de la recepcin (R_ERR o R_OK). X_RDY

Se enva para indicar que hay una trama preparada para su transmisin. La trama no se enva hasta que no se reciba la primitiva R_RDY.

El nivel de Transporte
El nivel de transporte construye las FIS (Frame Information Structure) que se van a transmitir dentro de las tramas y comprueba el contenido de las FIS de las tramas que se reciben. El tipo de la FIS se indica en el primer octeto de la primera dword de la FIS, el cual indica tambin de paso la longitud y el formato del contenido de la FIS.

Tipos de FIS (Frame Information Structure)

FIS Registro Controlador a Dispositivo

Esta FIS la enva el controlador para transferir al dispositivo el contenido del bloque de registros shadow. Un bit de la FIS indica si la transferencia es a consecuencia de una escritura en el registro de Comando o en el registro de Control. El dispositivo actualiza su bloque de registros y ejecuta el comando o la funcin de control recibida. Este es el mecanismo por el cual el software heredado enva comandos al dispositivo. FIS Registro Dispositivo a Controlador

Esta FIS la enva el dispositivo para transferir al controlador el contenido de su bloque de registros. El controlador actualiza su bloque de registros shadow. Un bit de la FIS indica si el controlador debe activar la lnea de interrupcin. Este es el mecanismo por el cual el dispositivo indica el estado de terminacin de un comando. FIS Set Device Bits Dispositivo a Controlador

Esta FIS la enva el dispositivo para transferir el contenido de ciertos bits al bloque de registros shadow del controlador, sobre los que el dispositivo tiene acceso exclusivo de escritura. Estos son los 8 bits del registro de Error y 6 bits del registro de Estado (todos excepto los bits DRQ y BSY).

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 10

Un paseo por SATA

FIS DMA Activate Dispositivo a Controlador

Esta FIS la enva el dispositivo para indicar al controlador que est preparado para recibir una FIS de datos como consecuencia de la ejecucin de un comando de escritura por DMA. Si el controlador necesita enviar varias FIS de datos para completar la transferencia, el dispositivo enva una FIS DMA Activate por cada FIS de datos que deba recibir. FIS DMA Setup Dispositivo a Controlador o Controlador a Dispositivo (bidireccional)

Esta FIS la puede enviar el dispositivo o el controlador para solicitar al otro que configure su canal de DMA para proceder con una o ms transferencias de datos. Este es el mecanismo para iniciar una transferencia por el mtodo de First-Party DMA. Es un nuevo mtodo de transferencias en SATA que no soportan los dispositivos ni el software heredado, en el cual el propio dispositivo SATA gestiona el canal de DMA para acceso directo a la memoria del sistema. El mecanismo es ms eficiente que los mecanismos DMA heredados (Multiword DMA y UDMA). FIS BIST Activate Bidireccional

Esta FIS la puede enviar el dispositivo o el controlador para solicitar al otro que se configure en un modo concreto de test (BIST = Built-In Self Test). FIS PIO Setup Dispositivo a Controlador

Esta FIS la enva el dispositivo para indicar al controlador toda la informacin necesaria para la gestin de una transferencia de datos en modo PIO. Si son necesarias varias FIS de datos para completar la transferencia, el dispositivo enva una FIS PIO Setup por cada FIS de datos que se necesite transmitir. FIS Dato Controlador a Dispositivo o Dispositivo a Controlador (bidireccional)

Esta FIS es la utilizada para transferir los datos como consecuencia de la ejecucin de un comando de lectura o escritura en modo PIO, DMA o First-Party DMA. El dispositivo la usa para enviar datos al controlador (lectura) y el controlador para enviar datos al dispositivo (escritura). La longitud mxima de los datos es de 2,048 dwords, (8,192 bytes o 16 sectores de 512 bytes).

Nuevo bloque de registros SATA


Los controladores SATA disponen de un bloque de registros adicional e independiente del bloque de registros estndar ATA, para permitir la gestin de las nuevas posibilidades exclusivas de SATA. Este nuevo bloque se denomina SATA SCRs (Status and Control Registers), y estn organizados en 16 posiciones consecutivas de 32 bits. Los programas heredados no hacen uso de este nuevo bloque de registros. SATA define los primeros 3 de estos 16 registros: Registro SStatus (Registro de Estado del interfaz SATA)

Registro de slo lectura que el controlador actualiza constantemente para dar informacin en tiempo real sobre el estado del interfaz y del controlador.

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 11

Un paseo por SATA

Registro SError (Registro de Error del interfaz SATA)

Registro de lectura/escritura que el controlador actualiza con informacin sobre errores en el interfaz (un bit para cada tipo de error). El registro indica todos los errores acumulados desde que se borr por ltima vez. El software puede escribir en el registro para borrar los bits activados. Registro SControl (Registro de Control del interfaz SATA)

Registro de lectura/escritura por medio del cual el software puede controlar funciones del interfaz SATA. Las escrituras producen que el controlador o el interfaz SATA ejecuten alguna accin y las lecturas devuelven el ltimo valor escrito.

Un paseo por SATA II


A partir del desarrollo de SATA se han abierto nuevas lneas de trabajo, todas ellas recogidas bajo el nombre genrico de SATA II. Estas lneas y sus principales caractersticas (por ahora) son:

Extensiones de SATA Define una serie de extensiones sobre la especificacin original SATA, que aaden nuevas posibilidades manteniendo la compatibilidad. Las extensiones pueden adoptarse por separado y segn convenga por razones de mercado. Las ms significativas son: Una extensin a nivel elctrico que permite la conexin de los controladores SATA II a un panel de conectores de 18, de forma que los dispositivos actuales SATA se puedan conectar a dicho panel. Est enfocado a permitir la construccin de Arrays de discos (JBODs y RAIDs) en un rack estndar de 19 utilizando los servicios de cabinas de discos estndar tanto SAFTE (SCSI Accessed Fault-Tolerant Enclosure) como SES (SCSI Enclosure Services), las cuales se pueden conectar a un controlador SATA II (controlador normal o controlador RAID) o a cualquier otro sistema de interconexin como pueda ser Fibre Channel, Infiniband, Gigabit Ethernet (iSCSI), etc. Nuevos comandos de lectura/escritura que utilizan un nuevo modelo de encolado nativo de comandos. El nuevo modelo de encolado est basado en el modelo heredado ATA, aunque con algunos aspectos modificados para aprovechar las nuevas posibilidades que ofrece SATA. Los dispositivos pueden encolar hasta 32 comandos y utilizan el mecanismo nativo First-Party DMA para ejecutar las transferencias de datos. Nuevo mtodo de notificacin de eventos (Notificacin Asncrona), en la que el dispositivo avisa directamente al controlador cuando sucede un evento que requiera su atencin (por ejemplo, la insercin de una media en un dispositivo de medios removibles). Esta funcin elimina la necesidad de que el controlador est contnuamente interrogando a los dispositivos para comprobar si ha sucedido un evento.

Multiplicador de Puertos Define un mecanismo al estilo de un multiplexor, mediante el cual el controlador SATA II junto con nuevo software nativo puede comunicarse con diferentes dispositivos SATA, en concreto hasta con un mximo de 15. La arquitectura est pensada para que un sistema con software heredado (BIOS y drivers actuales) o que disponga de un controlador SATA (o SATA II que no implemente la gestin del Multiplicador) pueda arrancar el sistema y trabajar con un dispositivo SATA conectado al puerto 0 del Multiplicador.

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 12

Un paseo por SATA

Principalmente est enfocado a la construccin de Arrays de discos (a los que slo hay que hacerles llegar una o dos lneas SATA, permitiendo mediante Multiplicadores internos al Array la conectividad con hasta 15 discos por cada lnea SATA de entrada) y la ampliacin de puertos en equipo mviles (por ejemplo, integrando el Multiplicador en la dock-station). Otras caractersticas del Multiplicador son el soporte de hot-plug, el arranque controlado de los discos y la Notificacin Asncrona para avisar al controlador sobre nuevas conexiones de dispositivos a los puertos. El controlador SATA II puede gestionar el acceso a los dispositivos de dos formas, lo cual es independiente del Multiplicador en s: o Cambio de contexto por comando: Los controladores que soportan este modo de gestin slo pueden enviar comandos a los dispositivos de uno en uno. Slo un dispositivo puede en cada momento estar ejecutando un comando. Cambio de contexto por trama: Los controladores que soportan este modo de gestin pueden enviar comandos a todos los dispositivos concurrentemente.

Selector de Puerto Define un mecanismo, al estilo tambin de un multiplexor, que permite a dos controladores SATA (junto con nuevo software nativo) acceder a un dispositivo SATA, creando un acceso redundante. No est pensado como sistema multi-controlador en el que los dos controladores acceden concurrentemente al dispositivo, sino como sistema tolerante a fallo en el que un controlador es el activo y el otro es el de repuesto, a modo de hot-spare, que toma el control cuando el controlador activo falla.

Cables y Conectores Define distintas mejoras sobre la especificacin SATA para permitir la conexin de dispositivos SATA en entornos servidores y de red, definiendo tanto las conexiones internas (entre la placa base o placa controladora y un panel de conectores), como las conexiones externas (entre un servidor y un Array externo situado en la misma cabina).

Soporte Tcnico OEM FUJITSU ESPAA

Pagina 13

Potrebbero piacerti anche