• Drano Rauteon

Hardware - A conexão SATA

Atualizado: Ago 1

Este artigo é sobre a conexão ponto-a-ponto SATA.

Portas SATA da placa-mãe ASUS M5A78L-M/USB3

Imagem 1


A codificação, a pinagem, exemplos de utilização e história, aqui no Hardware Central!

A conexão SATA em sua primeira revisão foi lançada em 2003 para ser substituta da ultrapassada porta IDE, que foi renomeada para PATA após o lançamento da conexão ponto-a-ponto que estamos falando.

O padrão IDE, significa, em inglês, Integrated Drive Electronics, e também chamado de PATA (Parallel Advanced Technology Attachment) é um barramento que de forma paralela interliga até três dispositivos. Já o padrão SATA, do inglês Serial Advanced Technology Attachment, é uma conexão entre dois dispositivos e com transferências de dados em série.

Dispositivos com a interface SATA podem ser reconhecidos pelo símbolo mostrado abaixo:

Símbolo SATA

Imagem 2


Se você não leu sobre pares diferenciais, o slot PCI Express e comunicação em serie e paralelo, aconselho você a ler os artigos sobre estes assuntos para que fique mais fácil de entender o texto daqui para diante. Para acessar, clique aqui!

O cabo SATA é composto por 7 fios, sendo 2 pares diferenciais de dados e 3 fios de aterramento. A comunicação é Full-Duplex, ou seja, a placa-mãe pode enviar dados para o dispositivo conectado e ele pode enviar dados simultaneamente para a placa-mãe, pois como foi dito há dois pares de fios para comunicação. Assim como o PCI Express, a conexão SATA utiliza uma sinalização LVDS (Low Voltage Differential Signal) com apenas 500mV de diferença entre o sinal pico-a-pico (degrau de tensão entre 0 e 1).

Os fios de aterramento são posicionados nas laterais e entre os dois pares. Além da transmissão ser diferencial, os fios de aterramento ajudam ainda no isolamento deles, fazendo com que não haja interferências eletromagnéticas externas e entre os fios no cabo.

O cabo SATA pode ter até um metro de comprimento. Existem três revisões da conexão SATA que são compatíveis entre si. O sistema de codificação utilizada em todas as versões é o 8B/10B, a mesma utilizada nas revisões 1.0 e 2.0 da conexão PCI Express, portanto, 20% da taxa de transferência é perdida com bits da codificação. Veja a tabela abaixo:

Tabela 1


Os valores teóricos de transferência com os 20% de dados inúteis para o SATA 1 é de 180 MB/s, SATA 2 é de 360 MB/s e SATA 3 é de 720 MB/s.

Na próxima tabela você vê a pinagem padrão para a interface SATA:

Tabela 2

Abaixo você vê o desenho do conector SATA revisão 1, 2 e 3:

Diagrama do conector SATA padrão

Imagem 3

Abaixo, você vê o diagrama do conector eSATA (a letra "e" é de "external"), que é a versão externa do conector padrão, ou seja, serve para ligar alguns modelos de HDDs e outros dispositivos de armazenamento externos:

Conector eSATA padrão

Imagem 4


Veja abaixo, um conector eSATA:

2 conectores eSATA

Imagem 5

Abaixo, uma variação do conector eSATA, chamada de Hybrid eSATA por juntar uma porta USB em uma porta eSATA. Você pode conectar um cabo USB, ou um cabo eSATA, ou um cabo hibrido contendo as duas interfaces. Isso faz com que menos espaço seja utilizado para os conectores e os dispositivos eSATA possam ter uma alimentação de 5 Volts fornecida pela interface USB. Lembrando que as revisões (clock, pinagem, codificação, taxa de transferência) são as mesmas para todos os modelos de conector SATA. Veja o diagrama do conector abaixo:

Conector Hybrid eSATA

Imagem 6

Além da variação eSATA e Hybrid eSATA, há uma terceira menos utilizada chamada eSATAp (a letra "p" é de "power"). Esta versão também pode combinar uma porta USB. O diferencial dela é que foi incluído uma linha de 12 Volts para alimentação do dispositivo conectado. Veja o diagrama abaixo:

Conector Hybrid eSATAp

Imagem 7

Em 2013 foi anunciado um conector chamado SATA Express que combina dois conectores SATA revisão 3 com um slot PCI Express X2 e um conector extra para controle e identificação de dispositivo. Mas como assim?

Se você leu o artigo sobre o slot PCI Express viu que cada "lane", ou pista possui dois pares diferenciais: um para recebimento e outro para envio de informações. O padrão SATA é de apenas 1 lane. Para aumentar a taxa de transferência entre dispositivos de armazenamento e placas-mãe foi somado 2 conectores SATA 3 e o controlador foi adaptado. Devido a diferença de clocks, codificação e protocolo dos padrões, você pode conectar 2 dispositivos SATA 3 ou um dispositivo SATA Express que ele se adapta sozinho através do conector extra de 4 pinos. Veja o diagrama do conector abaixo:

Imagem 8


Existe ainda outro tipo de porta SATA Express que é utilizada em HDDs, SSDs e placas de servidor. A pinagem deste conector você vê abaixo:

Pinagem SATA Express

Imagem 9 - Diagrama de pinos do SATA Express

O conector SATA Express apresentado acima, os pinos são explicados na tabela abaixo.

De acordo com a tabela, são 6 Lanes para trafego de informações. Dependendo da configuração utilizada pode-se usar a interface SAS (4 lanes - porta B e C), interface SATAe (2 lanes PCI Express - porta C) ou a interface PCI Express (4 lanes - porta A e B). Isto é configurável através do pino explicado na linha 22 da tabela.

Tabela de descrição de pinos SATA Express

Tabela 3


Observe que há duas portas SATA 3 comuns e os 4 pinos extras (P1, P2, P3, P4) que fazem o controle e a identificação do dispositivo conectado: quando o conector SATA Express é utilizado, pelos pinos de controle passa um sinal que ativa um controlador PCI Express, já quando as portas SATA são utilizadas individualmente, este controlador é desativado. Isso também acontece quando é utilizada a interface SAS (portas A e C) e PCI Express (portas A e B). Para alimentação elétrica é utilizado o mesmo conector de alimentação da porta SATA comum de leitores de CD/DVD, HDDs e SSDs.

Para a versão mais comum da porta SATA, apresentada na imagem do cabeçalho do artigo existe um conector de alimentação que deve ser utilizado junto do conector SATA. Este conector é apresentado abaixo:

Pinagem do conector de alimentação

Tabela 4


Veja abaixo uma foto dos conectores SATA e de alimentação de um HDD comum:

Conectores no HDD

Imagem 10


Dispositivos SATA Express utilizam o mesmo conector de energia, mas só utilizam um fio preto (Terra), um vermelho (+5 Volts) e um amarelo (+12 Volts).

Abaixo, um HDD com interface SATA Express:

HD SATAe

Imagem 11


Abaixo você vê o cabo SATA Express:

Cabo SATAe

Imagem 12


Agora, um HDD SATA Express:

HDD SATAe

Imagem 13

Além destes conectores apresentados, existe um outro chamado de mSATA, ou micro SATA. Ele foi concebido para SSDs em tamanhos reduzidos e que são encaixados diretamente na placa-mãe. Veja a imagem abaixo:

Dispositivo mSATA

Imagem 14


Ele parece ser completamente diferente do conector SATA comum. Observe o diagrama do conector:

Diagrama do conector mSATA

Diagrama 1


Veja agora a tabela de pinos do conector:

Tabela de pinos do conector mSATA

Tabela 6


A descrição dos pinos, abaixo:

Pinagem mSATA

Tabela 7


Observe as linhas 14, 15, 16 e 17 da tabela acima e veja que há um lane SATA 3 de 600 MB/s (já que o padrão mSATA veio depois de 2009), os únicos pinos utilizados para transmissão de dados. Não é tão complexo, já que praticamente todos os pinos do slot mSATA não tem utilidade alguma, foram colocados neste conector para que futuramente pudesse ser adicionado funcionalidades sem perder a compatibilidade com os dispositivos atuais.

Mesmo podendo ser adicionado linhas de dados a este slot, a indústria de tecnologia resolveu criar outros padrões parecidos, chamados de M.2 e NVMe, que possuem linhas PCI Express junto de uma interface SATA, portanto, o slot mSATA já não é mais utilizado.

NA PLACA-MÃE

O controlador SATA atualmente é integrado ao chipset ponte sul da placa mãe e seu diagrama de blocos é mostrado abaixo:

Diagrama de blocos do controlador SATA

Diagrama 2


-> FIFO : Tanto no hardware quanto no software existem sistemas de enfileiramento de processos. O FIFO, sigla para First In, First Out que em português significa "Primeiro Entrar, Primeiro Sair" é um buffer, ou seja, uma memória RAM do tipo cache (formada por flip-flops) que permite enfileirar pacotes (sequências de dados) para que os dados fiquem armazenados temporariamente enquanto outros estão sendo tratados pelos circuitos;


-> Packet processing : É o processador de pacotes, isto é, as sequências de dados que chegam ao controlador SATA;


-> DMA : É a sigla para Direct Memory Access, que em português significa Acesso Direto a Memória. Este circuito é o responsável por intermediar a movimentação de dados do controlador SATA para a memória RAM do computador sem que haja a criação e execução de um processo pelo processador. Basicamente, ao invés de a CPU comandar a movimentação dos dados, que faz isso é o circuito DMA que está ligado a todas as portas SATA existentes no controlador;


-> SATA Link : Para cada porta SATA há um circuito chamado SATA Link. Nele que são executados os protocolos de comunicação entre o emissor e o receptor;


-> SATA Controller : Responsável pela identificação da conexão, de modo que o dispositivo conectado saiba com quem ele está se comunicando;


-> SATA PHY: PHY é a abreviação de Physical, que é a camada física, a parte do circuito responsável pela preparação dos dados para serem enviados pelo meio analógico, ou seja, as trilhas da placa-mãe. Este processo de preparação é a modulação ou codificação. Como já foi dito anteriormente, a sinalização utilizada é do padrão LVDS. No caso do padrão SATA, como já foi dito, os dados também são codificados com o padrão 8B/10B. Acesse o artigo sobre a conexão PCI Express e veja como funciona este sistema de codificação;


-> O PLL (Phase Locked Loop) você já deve saber, se leu o artigo sobre clock. O clock base do padrão SATA, que é 100 MHz, é recebido pelo PLL e ele faz a multiplicação deste sinal por 15 vezes (revisão 1), 30 vezes (revisão 2) ou 60 vezes (revisão 3) para sincronizar o emissor com o receptor de dados, além de gerar o sinal de sincronismo dos circuitos internos do controlador PCIe. Futuramente você verá mais detalhes sobre um circuito PLL.

Para fazer com que todos estes circuitos se relacionem e funcionem há o firmware, conjunto de instruções que faz o hardware funcionar. No caso do padrão SATA, não temos acesso ao firmware, a prova disso é que não podemos alterar o multiplicador de clock do PLL;


-> TCB : Target Cycle Block (Configuration Space & Register): É neste circuito que estão as instruções de configuração de registro que o processador de pacotes utiliza para funcionar;


-> SMBus: Onde estão as informações do circuito. É mais utilizada em controladores SATA em adaptadores com interface PCI Express ou PCI para a identificação do dispositivo conectado.

Vale lembrar que a conexão SATA também utiliza o modelo OSI, o mesmo sistema de camadas de protocolos utilizado na rede mundial de computadores para efetuar a comunicação entre emissor e receptor de dados. O modelo OSI consiste em 7 camadas de protocolos (neste caso, os protocolos são específicos para o padrão SATA). Estas 7 camadas são divididas entre as camadas da arquitetura do padrão SATA, onde a camada 1 do modelo OSI é a mais baixa, ou seja, a camada física (SATA PHY) e a camada 7 a mais alta, ou seja, a camada de software (aplicativo que vai gravar, ler ou apagar dados no dispositivo que utiliza a interface SATA).

O chipset ponte sul nVidia nForce 630a, por exemplo, possui um controlador com 4 lanes SATA 2 de 300 MB/s. O controlador SATA também é responsável por controlar um RAID (Redundant Array of Independent Disks - Conjunto Redundante de Discos Independentes) ou JBOD (Just a Bunch Of Disks - Apenas Um Monte De Discos) que serão estudados futuramente quando falarmos de HDDs e SSDs.

Há ainda controladores SATA independentes, utilizados em placas muito antigas lançadas durante a primeira revisão da interface SATA e outros controladores feitos para serem encaixados em slots PCI Express, como o da imagem abaixo:

Adaptador SATA miniPCIe

Imagem 15 - Este é um adaptador SATA miniPCI Express

Durante o período de transição entre SATA e PATA, surgiram alguns adaptadores SATA 1 de 150 MB/s para PATA de 133 MB/s, o que, obviamente era um gargalo para o sistema. Veja a imagem abaixo:

Adaptador SATA para IDE

Imagem 16


Adaptadores SATA para slots PCI também são um problema de desempenho, já que o padrão PCI é de transferência de dados em paralelo e de apenas 133 MB/s (ou 264 MB/s em algumas versões mais atuais). Vale lembrar que era um barramento, portanto podia ser compartilhado com vários dispositivos e ter uma taxa de transferência menor ainda. Veja um adaptador desses abaixo:

Adaptador SATA para slot PCI

Imagem 17

Não podemos esquecer das características elétricas da interface SATA! Os conectores presentes nas placas-mãe possuem capacitores SMD entre o chipset controlador e os contatos onde será encaixado o dispositivo! Separamos três esquemas elétricos de placas-mãe para você ver estes estes capacitores, que não possuem características padronizadas, isto é, o modelo do componente pode variar de placa para placa, apenas a capacitância deles que são em torno de 0,01 microFarad. As três placas selecionadas são da marca Gigabyte mas, isto vale para todas as outras. Observe:

Esquema elétrico da GBT GA-M59SLI S4 Rev.: 1.01

Diagrama 3 - Esquema elétrico da GBT GA-M59SLI S4 Rev.: 1.01

Esquema elétrico da GBT GA-M61PM S2 Rev.: 1.00

Diagrama 4 - Esquema elétrico da GBT GA-M61PM S2 Rev.: 1.00

Esquema elétrico da GBT GA-M55S S3 Rev.: 2.02

Diagrama 5 - Esquema elétrico da GBT GA-M55S S3 Rev.: 2.02

Estes capacitores são apenas para uma simples filtragem de sinal e devem ser colocados em todas as interfaces SATA. Se você não sabe o que são e como funcionam capacitores, acesse este artigo do Hardware Central!


O DISPOSITIVO CONECTADO

Um HDD, SSD, leitor de CD/DVD/Bluray, são as principais utilidades da interface SATA. Neles há um controlador com arquitetura ARM (a mesma arquitetura utilizada em chipsets de Smartphones) com uma interface SATA idêntica a da placa-mãe. Veja a imagem de um controlador de um HDD abaixo:

Controlador SATA de um HDD

Imagem 18


Para o padrão SATA existem vários comandos: Leitura, gravação, exclusão de dados, envio de informações do dispositivo conectado, enfim, é assim que os controladores SATA se comunicam: há um conjunto de comandos (cada comando é uma sequência de pulsos elétricos) que a placa-mãe manda para o dispositivo conectado (ou vice-versa), para que ele busque, apague, grave informações.

O envio de arquivos ocorre da mesma forma que nas redes de internet: há diversas camadas de protocolos. em artigos futuros você verá que o barramento PCI, PATA, Wi-Fi, a conexão PCI Express, SATA, Ethernet utilizam o modelo OSI para a transmissão de informações.

Você já deve ter notado que não há uma trilha de sincronismo (clock) entre os controladores SATA, e isso se deve pelo próprio projeto, que já inclui um sistema de codificação para que os próprios lanes de dados imitem um sinal de clock. Sobre esse clock assíncrono você pode ler no artigo "Hardware - Pares diferenciais", que também explica sobre o LVDS e outros padrões de sinalização. Também é bom ler o artigo sobre clock, portanto, se você não leu, clique aqui!

Futuramente, vamos estudar o funcionamento do PLL (Phase Locked Loop). Ele gera o clock para os componentes de um circuito a partir de um sinal feito por um cristal de quartzo. No caso de comunicações sem uma trilha para o sinal de sincronismo, os próprios dados enviados são codificados de uma forma que não fique longas sequências de uns ou de zeros. Isso é para que o circuito consiga mandar os dados de uma forma que o receptor consiga entender a sequência de pulsos recebidos sem a necessidade do sinal de clock.

O controlador possui um PLL com um cristal de quartzo ou um multivibrador para a geração do sinal de sincronismo que é usado exclusivamente pelo circuito do dispositivo com interface SATA.

Em várias placas-mãe, o clock base (ou clock de referência) para a interface SATA é de 100 MHz. Para as portas SATA 1 de 150 MB/s o multiplicador de clock é de 15 vezes, para as portas SATA 2 o multiplicador é de 30 vezes e para as portas SATA 3 o multiplicador é de 60 vezes.

Chipsets como o SiS 964 e o VIA VT8237 que trabalham com a revisão 1 da interface SATA tinham problemas de compatibilidade com dispositivos SATA 2: além destes chipsets serem mixurucas, ao conectar um HDD com taxa de 300 MB/s eles não conseguiam se sincronizar. O problema foi resolvido, pois as fabricantes de HDDs incluíram um jumper que quando habilitado fazia com que o dispositivo reduzisse a taxa de transferência para 150 MB/s.


CURIOSIDADE: Em vários fóruns de tecnologia, há pessoas que dizem que se fizer overclock na conexão PCI Express, a porta SATA também vai ter o clock aumentado. Isso não é verdade! É importante ressaltar que, apesar de a interface PCI Express utilizar um mesmo nível de clock de referência que a interface SATA, se você "overclockar" a conexão PCI Express a interface SATA vai continuar nos 100 MHz. As duas interfaces utilizam PLLs diferentes apesar de terem o mesmo clock base.

Para encerrar o assunto:


CURIOSIDADE: Na Imagem 1, Imagem 5, Imagem 12, Imagem 13 e Imagem 15 é possível notar de forma mais clara que a estrutura do conector SATA é plástico, mais especificamente LCP, sigla para Liquid Crystal Polymer, um material muito utilizado em slots e conectores de placas de circuito devido a sua boa rigidez dielétrica e resistência a altas temperaturas. Para saber mais sobre polímeros, CLIQUE AQUI!


Gostou do artigo? Então é só curtir e compartilhar! se ficou com dúvidas comente ou mande um e-mail para hardwarecentrallr@gmail.com

Ajude a espalhar conteúdo relevante!

CRÉDITOS e REFERÊNCIAS

Desenhos, tabelas, imagens: Leonardo Ritter

Fontes: Micron Technology; SATA IO Organization; Clube do Hardware; InfoWester; Guia do Hardware; Livro de Redes de Computadores, de Gabriel Torres; Biblioteca de diagramas do Hardware Central; Trabalho de engenharia reversa feito pelo autor do texto.

Última atualização: 31 de Março de 2021.

1,118 visualizações