Serial ATA utiliza una señal LVDS que se ejecuta a cualquier velocidad de bits deseada (1,5, 3 o 6 Gbps). De lo que recuerdo de la especificación SATA es un par LVDS acoplado de CA (y wikipedia lo confirma).
Para lograr este tipo de velocidades de datos, se emplea un PLL para generar el reloj deseado / requerido y se utiliza un registro de desplazamiento en serie para transmitir los datos a través del cable. Del mismo modo, en el receptor se utiliza un registro de desplazamiento para convertir este flujo de bits en palabras direccionables.
Cuando se diseñan tableros de circuitos para transportar las señales SATA, se debe prestar mucha atención al enrutar las señales. Una de las preocupaciones de mantenimiento es garantizar la coincidencia de impedancia y longitudes iguales para las trazas.
Editar
No mencioné que la falta de énfasis y la ecualización se emplean a menudo para lograr las comunicaciones en serie de alta velocidad de datos. Estas mismas técnicas a menudo se emplean con FPGA que admiten interfaces seriales de alta velocidad de datos, como RocketIO y PCI Express.
Editar 2
Como mng señala los dos bloques lógicos (transmitir y recibir) están cubiertos por el término SerDes (serializador, deserializador ). Uno de estos bloques (serializador) toma una fuente de datos paralela (por ejemplo, un DWORD de 32 bits) y la desplaza un bit a la vez a través del cable. Este proceso ocurre de forma asíncrona con el reloj principal de la CPU (ya que no se utiliza para esto). El reloj utilizado para el proceso de serialización se ejecuta a la velocidad de datos del bus serie (por ejemplo, 6GHz para SATA a 6GBps). Este es un concepto similar (aunque con velocidades de datos completamente diferentes, con el bus más lento que la CPU en la mayoría de los casos) que el que se usa en SPI e I2C. Además, como parte del proceso de serialización, a menudo se emplea relleno de bits . Esto se hace para garantizar que aparezca un número igual de bits altos y bajos en la línea, y para ayudar en el proceso de recuperación del reloj.