Hardware - O barramento PATA

Hardware - O barramento PATA

21/02/2018

| Escrito por:

  Este artigo é sobre uma interface de comunicação anterior ao padrão SATA: O barramento IDE (Intelligent Drive Electronics ou Integrated Drive Electronics), chamado mais tarde de PATA.

  O barramento IDE foi lançado em meados de 1986 (na época do Intel 386) e por alguns anos sofreu com a compatibilidade entre computadores. Somente em 12 de maio de 1994 o ANSI (American National Standards Institute) (documento X3.221-1994/1990) criou as especificações com o nome de Advanced Technology Attachment  (ATA). Mesmo com o novo nome, a sigla IDE já era popular na época. Em 2003, com o lançamento do padrão SATA (Serial Advanced Technology Attachment), a interface IDE foi renomeada para PATA (Parallel Advanced Technology Attachment), nome que também não vingou muito.

  Com a interface PATA vieram algumas tecnologias, como por exemplo, o PIO (Programed I/O - Entrada e Saída Programada) que se tornou obsoleto com a criação do DMA (Direct Memory Access) e Bus Mastering, o Enhanced IDE (EIDE) para a conexão de até dois dispositivos no mesmo barramento e o ATAPI (Advanced Technology Attachment Packet Interface) para o reconhecimento de drives de mídia óptica, além de várias outras que serão detalhadas ou neste artigo ou no artigo sobre HDs e leitores de CD/DVD/BluRay. Todas estas tecnologias mencionadas serão detalhadas ao longo do texto.

  O barramento IDE é paralelo, isto é, possui várias trilhas para transferência de dados, além disso, um canal IDE é compartilhado com até 2 dispositivos. Mesmo tendo taxas de transferências e clocks parecidos com os do barramento PCI, o barramento IDE possui largura de apenas 16 bits, contra os 32 bits do barramento PCI original. O cabo IDE original possui 40 vias, sendo que após a especificação UDMA4 foram adicionados mais 40 fios de aterramento entre os outros fios de comunicação. Lembrando que, o conector sempre foi o mesmo de 40 pinos.

  Veja abaixo uma foto do conector IDE:

  Abaixo, você vê todas as revisões de especificações do padrão ATA desde a padronização feita pela ANSI:

  Abaixo você vê os modos de operação PIO, DMA e UDMA do conector IDE:

  Como você pode ver, os modos PIO e DMA tinham taxas de transferências muito baixas. Existem vários modos DMA e UDMA, sendo que cada um transfere uma quantidade de palavras durante cada sessão de transmissão. As taxas de transferência do modo DMA eram levemente diferentes do modo PIO mas, na tabela foram igualadas para facilitar a compreensão. Abaixo você verá as diferenças entre os modos e o que foi acrescentado em cada revisão de especificação ATA.

  A partir da versão UDMA4, para atingir taxas de transferências mais altas, foram adicionados 40 fios extras de aterramento entre os fios de dados para eliminar interferências eletromagnéticas, já que todo o cabo com comprimento grande acaba funcionando como uma antena e absorvendo e gerando interferências. Se você leu o artigos sobre pares de cancelamento, já sabe que a transmissão serial ponto-a-ponto é melhor que um barramento paralelo. Caso não tenha lido, clique aqui!.

  O ideal é que cabos IDE jamais passem de 45 cm de comprimento, senão a perda de qualidade de transferência já será muito grande.

  Na primeiras revisões da interface IDE havia o PIO (Programed I/O) que servia para controlar os envios e recebimento de dados através de comandos feitos pelo processador e trocados com o(s) dispositivo(s) conectado(s). Os dados recebidos do dispositivo conectado, um HD, por exemplo, eram enviados para a memória RAM com o intermédio do processador que precisava criar um processo para fazer as gravações, leituras e apagamentos na memória principal (RAM) e por este motivo que parte do processamento era comprometido pelo(s) processo(s) que ficava(m) em execução para que o(s) controlador(s) IDE pudesse(m) funcionar.

  Como o circuito PIO era muito primitivo, não havia sistemas de codificação de dados, o que é comum nesses sistemas de barramento paralelo. O controlador IDE possuía apenas a PIO engine que possuí o sistema para controlar os envios de dados e um Buffer, uma memória cache que servia para armazenar os dados enquanto outros já eram direcionados.

  Com a evolução da tecnologia, surgiu o UDMA (Ultra Direct Memory Access) uma evolução do DMA (Direct Memory Access - Acesso direto a memória). O DMA e UDMA acessava a memória RAM sem intermédio da CPU e assim a poupava de processos desnecessários. Isso aumentou o desempenho da interface IDE em relação ao PIO. Com isso o buffer de memória cache passou ser do tipo FIFO (Firt In, First Out) que armazena os dados em fila (o primeiro dado a entrar é o primeiro a sair). O DMA e UDMA também possui uma Engine com o sistema que faz o controle das informações que passam pelo controlador mas, também não há um codificador / decodificador.

  Com o UDMA também veio o CRC, uma tecnologia que envia um número de verificação com a soma dos dados enviados para o receptor. No receptor os dados são recontados e se não baterem com a soma recebida, o receptor pede a mesma informação novamente com um clock mais baixo, ou seja, uma revisão UDMA mais baixa até que a informação recebida esteja correta.

  Existem vários modos DMA e UDMA, sendo que cada um transfere uma quantidade de palavras durante cada sessão de transmissão. O clock é associado as sequências de dados transmitidos, portanto não há uma linha especial para o sinal de sincronismo e o máximo atingido até hoje pelo padrão IDE é 33 MHz com o UDMA6. Com a introdução do padrão UDMA2 a transferência passou a ser do tipo DDR (Double Rada Rate - Dupla Taxa de Transferência) pois na subida e na descida do sinal de clock é enviado um bit, o que proporcionou o dobro de taxa (de 16,6 MB/s para 33,3 MB/s) e, com o aumento do clock nas versões superiores do Ultra DMA a taxa teórica de transmissão continuou dobrando. Observe o cálculo:

 

33 MHz . 16 bits . 2 / 8 = 133 MB/s é a taxa de transferência máxima sob um clock de 33 MHz numa conexão paralela de 16 trilhas transferindo 2 bits por ciclo de clock em cada trilha.

 

Se você não sabe ou não lembra sobre bits e Bytes e clock, recomendo que leia os artigos:

 

https://hardwarecentrallr.wixsite.com/hardcentral/single-post/2017/11/01/Hardware---Bytes-e-bits

 

https://hardwarecentrallr.wixsite.com/hardcentral/single-post/2017/10/25/Hardware---Clock

 

  A partir do Ultra DMA0 (de 16,6 MB/s) também surgiu o ATAPI (ATA Packet Interface). O ATAPI foi desenvolvido pela Western Digital em 1986, supervisionado pelo Comitê Internacional para Padrões de Informação eTecnologia e feito para que leitores de CD/DVD/Bluray conseguissem se comunicar com a placa-mãe sem precisar de outro padrão específico para mídias ópticas. O ATAPI não faz a identificação detalhada das mídias ópticas, apenas é uma extensão no UDMA com comandos específicos que faz com que o controlador IDE as reconheça como uma espécie de dispositivo de armazenamento, assim como um HD.

 

  Graças ao EIDE (Enhanced IDE) um canal PATA pode ser compartilhado com dois dispositivos trabalhando simultaneamente. Veja abaixo um cabo IDE com três conectores:

 

  A capacidade de reconhecer até dois dispositivos no mesmo canal é feito por três fios do cabo que são destinados a endereçar o controlador IDE e os dois dispositivos conectados através de jumpers nos HDs e Leitores ópticos.

  No HD há um par de pinos que se forem interligados, o deixam como o "Mestre" (MA - Master) do barramento, outro par de pinos que se forem interligados deixam o dispositivo "Escravo" (SL - Slave) e um terceiro par de pinos (CS - Cable Select) que se interligados deixam que o controlador IDE da placa-mãe decida quem será o Mestre e o Escravo. O quarto par de pinos não é utilizado. Em alguns HDs e drives ópticos, a não colocação de um jumper pode o tornar automaticamente o Mestre ou Escravo do canal IDE. Em outros casos, os demais pares de pinos ou até mesmo a combinação de dois jumpers limitam a capacidade de armazenamento (para os sistemas de endereçamento antigos que tem um limite de capacidade) e ou taxa de transferência e tecnologias do HD para manter a compatibilidade com controladores IDE mais antigos. O ideal é, antes de instalar o HD ou drive óptico no canal IDE ler a etiqueta que está fixa em cima do dispositivo. Nela está a informação do posicionamento dos jumpers nos pinos.

  Veja abaixo a imagem da etiqueta de um HD IDE com a tabela de "jumpeamento":

   Veja agora os pinos deste mesmo HD com a etiqueta exibida acima:

  Acima, na imagem, você vê o conector IDE e os Pinos onde são conectados os jumpers. Ao lado dos pinos fica o conector de alimentação elétrica.

 

  A tecnologia S.M.A.R.T, sigla para Self-Monitoring, Analysis and Reporting Technology ou em português tecnologia de auto-monitoramento, análise e relatório serve para evitar falhas de hardware através de identificadores de confiabilidade da unidade de armazenamento. Essa tecnologia foi incluída na especificação ATA3 e será detalhada no artigo sobre HDD (Hard Disk Drives).

 

  A tecnologia AAM (Automatic Acoustic Management (AAM) surgiu na especificação ATA6 e é um método para reduzir ruído de funcionamento gerado pela parte mecânica dos HDs, especificamente o ruído gerado pelo braço de leitura que tem sua velocidade de movimentação diminuída para que o posicionamento da cabeça de leitura e gravação na superfície do disco fique mais suave e consequentemente gerando menos barulho. Isso também será detalhado no artigo sobre HDD (Hard Disk Drives).

 

  LBA, sigla para Logical Block Addressing que em português significa endereçamento lógico de blocos. Essa tecnologia serve para aplicar endereços aos setores do disco, cabeças de leitura e cilindros, enfim, tudo será detalhado no artigo sobre HDDs. O importante é você saber que o LBA é o conjunto de instruções introduzidos a partir da especificação ATA2 para endereçar drives de armazenamento mecânico. O LBA só é válido para HDDs com interface IDE. HDDs, SSDs e Drives ópticos SATA, SAS e SCSI utilizam outros tipos de instruções.

  O controlador ATA é um circuito com buffers de memória cache para a PIO Engine e para o DMA / Ultra DMA Engine. Veja o diagrama de blocos do controlador IDE abaixo:

  Veja abaixo a pinagem do conector IDE:

 > DD0 a DD15 : As 16 Trilhas para envio e recebimento de dados. Perceba que, no diagrama de blocos do controlador, tanto o buffer do PIO e o buffer FIFO do DMA / UDMA estão ligados a mesma entrada e saída de dados, Isso acontece pois deve se manter a compatibilidade entre o HDs mais antigos e os Drives Ópticos e HDs atuais. Ao conectar um HD muito antigo o modo DMA / Ultra DMA é desativado e o PIO ativado.

 > DMARK e D/MACK: Utilizado pelos dispositivos a serem conectados para que requisitem e reconheçam o sistema DMA / UDMA. São ligados ao DMA Engine no diagrama de blocos;

 > IORDY e /IOCS16: Usado para avisar os controladores do dispositivos e da placa mãe para iniciar a transmissão de dados e selecionar o chip controlador(/IOCS16) de dispositivos conectados (utilizado no modo PIO);

 > SPSYNC, RESET, INTRQ e /ACTIVE: Requisitar sincronismo, reinicialização de dispositivo conectado, efetuar interrupção de dispositivo via hardware e sinal para o LED da placa mãe que mostra o funcionamento do(s) dispositivo(s) conectado(s).

 > DA0, DA1, DA2, /IDE_CS0 e /IDE_CS1: Utilizado para aplicar endereço ao controlador da placa-mãe(DA0), ao dispositivo Mestre(DA1) e o Escravo(DA2) e selecionar o chip controlador do Mestre(/IDE_CS) e do Escravo(IDE_C1). Como todos os dispositivos e o controlador utilizam o mesmo caminho para enviar e receber dados eles necessitam de trilhas para enviar endereços e comandos de seleção de controlador para se comunicarem. Exceto os pinos de Seleção de Chip, os de endereços são utilizados até pelos modos PIO.

 > /DIOW e /DIOR : São utilizados para definir escrita e leitura de dados no dispositivo conectado selecionado;

 > PDIAG : É utilizado para diagnósticos e para a verificação do tipo de cabo, isto é, se ele é o comum de 40 fios com limite de até 44,4 MB/s, se ele é do padrão UDMA4 de 66,6 MB/s ou superior que utilizam o cabo de 80 vias com 40 fios de aterramento. Caso o cabo não seja UDMA4 ou superior, a transmissão é limitada a revisão UDMA3 ou inferior devido a interferências eletromagnéticas.

 > Pino 20 e GND: o pino 20 é o marcador de posição de encaixe do cabo para que não haja a inversão do mesmo e possíveis danos aos circuitos. Os pinos GND são os aterramentos do cabo Flat (fita). Em cabos de 80 vias, as 40 vias extras são interligadas nas extremidades do cabo para que apenas um contato extra faça a conexão com o circuito. Isso evitou o projeto de um novo padrão. Abaixo você vê um cabo PATA de 40 vias e outro de 80 vias:

 > Como foi dito neste artigo, o UDMA trouxe o CRC. Perceba que no diagrama de blocos do controlador, na saída do buffer FIFO, há um gerador de soma de verificação.

  Nos circuitos do UDMA e PIO há também um PLL para gerar o sincronismo entre os controladores.

  Em 2003 o padrão Serial ATA foi lançado e se iniciou um processo de introdução desta nova interface no mercado, o que tornou a interface IDE obsoleta em poucos anos. Em artigos futuros, você verá como a interface SATA trouxe mais tecnologia para os HDs e possibilitou a viabilidade dos SSDs. Não perca!

  Ficou com alguma dúvida? Achou que faltou alguma coisa? Escreva nos comentários ou mande um e-mail para hardwarecentrallr@gmail.com. Gostou? Então é só curtir e compartilhar! Ajude a divulgar conteúdo de qualidade!

CRÉDITOS e FONTES

 

Créditos: Texto, tabelas, diagramas e imagens: Leonardo Ritter

Fontes: Hardware.com; ccm.net; InfoWester.

Please reload

© 2019 Hardware Central Tecnologia Entretenimento e Comunicação do Brasil Ltda. Todos os direitos reservados.

Wix Editor / Revisão da web page: 3.0/2019 (07/10/19)