Universidade de Coimbra

                                                 Faculdade de Ciências e Tecnologia

                                     Departamento de Engenharia Informática

 

 

 

 

 

Arquitectura de Computadores II

O interface ATA, seus sucessores e comandos

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Pedro Miguel Felizardo Antunes - 501000949

Lauro António Martins Dinis      - 985011434

Índice:

 

Índice: 2

INTRODUÇÃO. 6

A História. 6

Os standards. 7

ATA.. 7

ATA-2. 7

ATA-3. 7

ATAPI 7

ATA/ATAPI-4. 8

ATA/ATAPI-5. 8

ATA/ATAPI-6. 9

ATA/ATAPI-7. 9

Serial ATA (SATA) 9

O Interface. 11

O Adaptador IDE.. 11

O interface Físico. 13

Cabo de sinal, de alimentação e conectores. 13

Os Comandos. 16

CFA ERASE SECTORS.. 16

CFA REQUEST EXTENDED ERROR CODE.. 16

CFA TRANSLATE SECTOR.. 16

CFA WRITE MULTIPLE WITHOUT ERASE.. 16

CFA WRITE SECTORS WITHOUT ERASE.. 17

CHECK MEDIA CARD TYPE.. 17

CHECK POWER MODE.. 17

CONFIGURE STREAM.. 17

DEVICE CONFIGURATION RESTORE.. 17

DEVICE CONFIGURATION FREEZE LOCK.. 18

DEVICE CONFIGURATION IDENTIFY.. 18

DEVICE CONFIGURATION SET.. 18

DEVICE RESET.. 18

DOWNLOAD MICROCODE.. 18

EXECUTE DEVICE DIAGNOSTIC.. 19

FLUSH CACHE.. 19

FLUSH CACHE EXT.. 19

GET MEDIA STATUS.. 19

IDENTIFY DEVICE.. 19

IDENTIFY PACKET DEVICE.. 19

IDLE.. 20

IDLE IMMEDIATE.. 20

MEDIA EJECT.. 20

MEDIA LOCK.. 20

MEDIA UNLOCK.. 20

NOP.. 20

PACKET.. 21

READ BUFFER.. 21

READ DMA.. 21

READ DMA EXT.. 21

READ DMA QUEUED.. 21

READ DMA QUEUED EXT.. 21

READ LOG EXT.. 22

READ MULTIPLE.. 22

READ MULTIPLE EXT.. 22

READ NATIVE MAX ADDRESS.. 22

READ NATIVE MAX ADDRESS EXT.. 22

READ SECTOR(S) 22

READ SECTOR(S) EXT.. 22

READ STREAM DMA.. 23

READ STREAM PIO.. 23

READ VERIFY SECTOR(S) 23

READ VERIFY SECTOR(S) EXT.. 23

SECURITY DISABLE PASSWORD.. 23

SECURITY ERASE PREPARE.. 23

SECURITY ERASE UNIT.. 24

SECURITY FREEZE LOCK.. 24

SECURITY SET PASSWORD.. 24

SECURITY UNLOCK.. 24

SERVICE.. 24

SET FEATURES.. 24

SET MAX ADDRESS.. 25

SET MAX SET PASSWORD.. 25

SET MAX LOCK.. 25

SET MAX UNLOCK.. 25

SET MAX FREEZE LOCK.. 25

SET MAX ADDRESS EXT.. 26

SET MULTIPLE MODE.. 26

SLEEP.. 26

SMART DISABLE OPERATIONS.. 26

SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE.. 26

SMART ENABLE OPERATIONS.. 26

SMART EXECUTE OFF-LINE IMMEDIATE.. 26

SMART READ DATA.. 27

SMART READ LOG.. 27

SMART RETURN STATUS.. 27

SMART WRITE LOG.. 27

STANDBY.. 27

STANDBY IMMEDIATE.. 27

WRITE BUFFER.. 28

WRITE DMA.. 28

WRITE DMA EXT.. 28

WRITE DMA FUA EXT.. 28

WRITE DMA QUEUED.. 28

WRITE DMA QUEUED EXT.. 28

WRITE DMA QUEUED FUA EXT.. 29

WRITE LOG EXT.. 29

WRITE MULTIPLE.. 29

WRITE MULTIPLE EXT.. 29

WRITE MULTIPLE FUA EXT.. 29

WRITE SECTOR(S) 29

WRITE SECTOR(S) EXT.. 29

WRITE STREAM DMA.. 30

WRITE STREAM PIO.. 30

FAQ. 31

Bibliografia. 32

 

           

 

 

 


INTRODUÇÃO

 

A História

 

No ano de 1984, a empresa Norte-Americana Compaq deu inicio a um projecto inovador na área dos dispositivos de armazenamento. A sua ideia principal era a de conseguir juntar num só dispositivo dois componentes essenciais para a utilização de unidades magnéticos de armazenamento. Era uma ideia inovadora que se viria a tornar um standard para o futuro.

Conseguiu, com sucesso, juntar a controladora de um sistema compatível IBM AT com o próprio disco rígido. Para isso, contou com o apoio de um fabricante de controladoras, a Western Digital, e um fabricante de discos rígidos, a Imprimis (uma divisão da Control Data Corporation).

Assim nasceu a ST506, uma controladora que podia ser montada directamente no disco rígido e que utilizava um cabo de 40 pinos para se ligar a um adaptador que faria a comunicação com o resto do sistema.

Em 1985 foi criado o primeiro disco rígido IDE, que usava esta controladora, e instalado num sistema Compaq.

Logo a partida deram-se variadas nomenclaturas para o standard IDE. O IDE (Integrated Disk Electronics) ficou conhecido por interface de bus AT devido ao facto dos componentes electrónicos integrados emularem o controlador de discos de um sistema IBM AT. Todavia, uma vez que a própria bus de sistema dos IBM AT também se chamava bus AT, houve uma necessidade de distinguir ambos os sistemas, pelo que a nomenclatura oficial do interface IDE ficou AT-Attachment (ATA).

            Em pouco tempo as vantagens do IDE tornaram-se obvias para o resto dos fabricantes. Não só o incremento do custo de produção era insignificante como tornava o fabrico da própria controladora um processo bastante mais económico.

            Como consequência deste sucesso começaram a surgir cada vez mais implementações do IDE, tornando necessária a definição de um standard.

Os standards

ATA

Em outubro de 1988, uma comissão do grupo de trabalho X3T9.2 do ANSI, começou a analisar o referido problema da falta de estandardização. O primeiro projecto do common access method  (CAM) foi sugerir a criação de uma norma para os interfaces IDE. Este interface passou a chamar-se ATA, porém só foi aprovado em 1994 com o nome de ANSI X3.221-1994.

 

ATA-2

Contudo, fruto do desenvolvimento, em agosto de 1995 foi aprovado sobre o nome ANSI X3.279-1996 o standard ATA-2 que oferecia taxas de transferencia superiores (já suportando Multi-word DMA modos 1 e 2 e permitindo assim velocidades até 16MB/s) e um conjunto de comandos adicionais.

 

ATA-3

Aprovado segundo o nome ANSI X3.298-1997, este standard adiciona novas capacidades como SMART e Segurança. Contudo, convém verificar que o ATA-3 não introduz novos (mais rápidos) modos de transferencia de dados (tanto PIO como DMA).

 

 

ATAPI

Este e o verdadeiro nome para o interface dos CD-ROM e tapes. Tendo sido originalmente desenvolvido por um grupo de companhias produtoras de unidade ópticas com o apoio da Western Digital e da Oak Technology, o ATAPI ano se tornou imediatamente um standard. A sua especificação foi definida pela small form factor (SFF) pelo nome de SFF-8020 (agora chamado de INF-8020).

O objectivo do ATAPI era permitir a interligação de CD-ROMs e tapes com Discos rígidos no mesmo cabo ATA. Os comandos usados para comunicar com as unidades CD-ROM eram muito semelhantes ao usados nos sistemas SCSI, apesar de as transferencias de dados serem realizadas recorrendo aos protocolos ATA PIO e DMA.

 

ATA/ATAPI-4

Registado pelo nome ANSI NCITS 317-1998, o ATA/ATAPI-4, também referenciado como ATA33, não só trazia novas funcionalidades como implementava alterações a várias das já existentes. Entre as quais:

 

            - Adicionaram-se os protocolos ATAPI de command e reset.

- Retiraram-se alguns comandos ATA, que passaram a ser considerados obsoletos, tais como o comando Format Track e Read/Write Long.

- Introduziu-se um novo protocolo de transferencia de dados, o Ultra DMA, que testava a integridade dos dados e introduzia taxas de transferencia superiores (até 33 MB/s).

- Passou a usar-se um sistema de lista de espera para comandos (command queuing protocol) destinados aos periféricos ATA e ATAPI.

 

Foram adicionadas mais funcionalidades menores.

 

 

ATA/ATAPI-5

ANSI NCITS 340-2000

Ao ATA/ATAPI-5, conhecido por ATA66, retiraram-se alguns comandos antigos e adicionaram-se outros e ainda se melhoraram alguns dos já existentes. Mas a melhoria de maior peso foi a introdução de modos de transferencia mais rápidos, o Ultra DMA 66.

 

ATA/ATAPI-6

ANSI NCITS 1410-2002

            De nome comercial ATA100, o ATA-ATAPI-6 incluía modos de transferencia ainda mais rápidos. O Ultra DMA modo 5, também conhecido por Ultra DMA 100, incluía um LBA de 48 bits em vez dos anteriores 28 e endereços de sectores com 16 bits em vez de 8.

 

ATA/ATAPI-7

ANSI NCITS 1532-2003

Conhecido por ATA133, o ATA/ATAPI-7 inclui o Ultra DMA modo 6 também chamado Ultra DMA 133 e alguns comandos novos para a utilização de câmaras de vídeo digitais e de interfaces Serial ATA (SATA). A documentação de especificação do ATA/ATAPI-7 foi dividida por três volumes: um para comandos específicos para discos rígidos, uma para o interface tradicional ATA e um para o interface SATA-1.

 

Serial ATA (SATA)

Aquando do desenvolvimento do ATA/ATAPI-6, um grupo de companhias lideradas pela Intel desenvolveu um projecto para a criação de uma versão destes protocolos com um interface de série, tornando-se provavelmente na melhor inovação no campo dos dispositivos I/O  dos últimos anos. 

 

O que é o Serial ATA?

 

            O SATA usa um interface de série com 7 condutores, três dos quais são sinais de terra e os restantes dois pares de sinais diferenciados, um em cada sentido. Usando a tecnologia transceiver da Fiber Channel, os comandos ATA, os quadros de status e os dados são transmitidos em pacotes por este interface. Desta forma os comandos ATA tradicionais permanecem os mesmos que na sua versão paralela.

            Mas perguntemo-nos, qual é a velocidade do SATA? Existem afirmações de que as taxas de transferencia atingem os 150 MB/s (atenção estas são as taxas máximas permitidas pela controladora e não as taxas de transferencia médias reais). A versão paralela do ATA usa Ultra DMA modo 6 (Ultra DMA 133) anuncia taxas máximas na ordem dos 133 MB/s, logo teoricamente o SATA consegue ser mais rápido que o ATA/ATAPI-7, mas sendo estas taxas meramente as suportadas pelas controladoras, as velocidades limitam-se ao suportados pelos discos rígidos sendo o recorde da Western Digital com o seu modelo “Raptor WD360” com 10 000 RPM, 8 MB de cache, interface SATA e taxas médias testadas de 62.8 MB/s e Tempos de acesso na ordem dos 8.3 ms.

 

O futuro

 

Estão a ser desenvolvidas versões novas do SATA, o SATA-1+ e o SATA-2, que irão trazer algumas inovações a vários níveis, que ainda não se encontram documentadas.

 


O Interface

 

 

O interface IDE, cuja principal inovação era o facto do controlador e do periférico se encontrarem juntos num só dispositivo físico, poderia, à primeira vista parecer mais uma bus de sistema do que um interface para periféricos. De tal modo que não se poderá chamar precisamente uma bus I/O uma vez que não existe um sistema de endereçamento universal que permita a utilização e inúmeros dispositivos, aliás o IDE pode apenas servir duas unidades de disco de cada vez.

 

 

O Adaptador IDE

 

Nas suas primeiras versões, a configuração de um sistema IDE consistia num controlador IDE, numa placa de interface que usava a bus ISA ou EISA e um ou dois discos rígidos que se conectavam directamente ao adaptador. Na etapa seguinte da sua evolução, os adaptadores passaram a ser implementados sobre a bus PCI, uma vez que as taxas de transferencia máximas da bus isa se limitavam a um máximo de 8.3 MB/s, aumentando a capacidade máxima de taxa de transferência.

 

 

 

 

 

 

 

 

            Nos últimos anos, uma vez que se tornou obvio que todos os PC’s iriam ter discos rígidos, chegou-se a conclusão de que não há necessidade de desperdiçar um slot de expansão. Deste modo começaram a embutir-se os próprios adaptadores nos chipsets (southbridge) das motherboards, apesar de ainda se utilizarem slots de expansão PCI para o uso de adaptadores, caso a motherboard não inclua o tipo especificado (ex: algumas controladoras raid).

 

 

 

 

 

 

 

 

 

 


No diagrama anterior podemos reparar na ligação directa do controlador Serial ATA e ATA 133 (ATA/ATPI-7) à South bridge VT8237 de um chipset VIA, o KT400A.

O interface Físico

O standard ATA para o interface IDE inclui tanto o cabo de sinal como a própria alimentação do periférico.

Cabo de sinal, de alimentação e conectores

            O interface IDE standard usa condutores de 40 pinos, mas a partir da versão ATA/ATAPI-4 os cabos passaram a conter 80 condutores. O comprimento do cabo condutor não deverá exceder, em circunstancias normais, os 46 cm e as fichas de ligação são crivadas no cabo e são iguais tanto na extremidade que conecta ao adaptador como na que liga ao próprio periférico.

 

 

 

 

            A alteração do numero de condutores no cabo deu-se para assegurar a integridade do sinal, pois seria necessária ter alguma segurança quando as taxas de transferencia se começaram a tornar mais significativa, assim, apesar dos conectores continuarem a possuir 40 contactos, os cabos passaram a ter 80 condutores. Deste modo podia verificar-se o sinal através de diferencias de potencial entre os pares de condutores. Cada par transporta um sinal variável e um sinal de terra, desta forma é sempre possível reconhecer o sinal com alguma segurança.

            Cada contacto do conector executa uma função especifica. Sendo o dois primeiros contactos os de “reset” e de “ground”, do 3 ao 18 são contactos para a transmissão de dados ou comandos, e os restantes contactos servem para controlo, diagnostico e endereçamento. O quadro seguinte contem uma listagem do numero dos contacto e os respectivos nomes de sinal.

 

 

 

 

 Por sua vez os conectores de alimentação (conector AMP) são apenas quatro, o primeiro condutor fornece +12 V, o segundo e o terceiro são sinais de terra e o quarto +5 V.

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Apesar de toda a sua evolução, o interface IDE/ATA ainda reflecte as suas origens como um sucessor do original que usava a bus ISA. A ligação entre o sistema e os discos ainda é feita em 16 bits, permitindo a transferencia de 2 bytes simultaneamente num dado momento. De igual modo o numero máximo de dispositivos ligados ao mesmo tempo a um só adaptador permanece inalterado sendo impossível ligar mais de dois periféricos em simultaneidade.

 

 

 

Os Comandos

 

CFA ERASE SECTORS

Código do comando

C0h

Descrição

Este comando pre-elimina os dados. Ele deve ser "emitido" antes de um CFA WRITE SERCTORS ou de um CFA WRITE MULTIPLE WITHOUT ERASE de modo a aumentar a velocidade de execução da operação de escrita.

CFA REQUEST EXTENDED ERROR CODE

Código do comando

03h

Descrição

Este comando devolve uma informação mais detalhada de um erro (caso o comando introduzido anteriormente tenha completado com um erro) de modo a permitir identificar a sua causa de uma forma mais exacta do que a disponibilizada pelos registos de Status e Error.

Caso o comando anteriormente introduzido tenha completado sem erros, o CFA REQUEST EXTENDED ERROR CODE devolve a indicação que não se deram erros.

CFA TRANSLATE SECTOR

Código do comando

87h

Descrição

Este comando devolve informação relativa a um sector especifico (se encontra no estado de “apagado” ou não, etc...).

CFA WRITE MULTIPLE WITHOUT ERASE

Código do comando

CDh

Descrição

Este comando e similar ao WRITE MULTIPLE e não são geradas interrupções após a escrita de cada sector mas apenas após a transferencia de um block que contenha o numero de sectores definido pelo SET MULTIPLE MODE.

A execução deste comando também e similar a do WRITE MULTIPLE excepto que os sectores são escritos sem serem precedidos por uma operação de “eliminação de dados” pelo que os sectores devem ser “pre-apagados” recorrendo ao CFA ERASE SECTORS.

CFA WRITE SECTORS WITHOUT ERASE

Código do comando

38h

Descrição

Este comando é em tudo similar ao WRITE SECTORS excepto no facto de os sectores serem escritos sem terem sido eliminados previamente pelo os sectores devem ser pre-eliminados recorrendo ao CFA ERASE SECTORS

CHECK MEDIA CARD TYPE

Código do comando

D1h

Descrição

Este comando permite determinar se o aparelho alvo suporta comandos da categoria Media Card Pass Through.

CHECK POWER MODE

Código do comando

E5h

Descrição

O comando CHECK POWER MODE permite ao sistema determinar o estado da alimentação do aparelho. Este comando apenas consulta o estado do aparelho e não o altera.

CONFIGURE STREAM

Código do comando

51h

Descrição

O comando CONFIGURE STREAM especifica os parâmetros de operação relativamente a um stream especifico.

DEVICE CONFIGURATION RESTORE

Código do Comando

B1h

Descrição

O comando DEVICE CONFIGURATION RESTORE desactiva qualquer configuração previamente introduzida por um DEVICE CONFIGURATION SET e reinicializa o conteúdo do comando IDENTIFY DEVICE ou IDENTIFY PACKER DEVICE aos valores originais que foram devolvidos pelo comando DEVICE CONFIGURATION IDENTIFY.

 

 

DEVICE CONFIGURATION FREEZE LOCK

Código do comando

B1h

Descrição

Este comando permite evitar modificações acidentais da configuração de overlay do aparelho. Após a execução com sucesso, os comandos DEVICE CONFIGURATION SET, DEVICE CONFIGURATION FREEZE LOCK, DEVICE

CONFIGURATION IDENTIFY e DEVICE CONFIGURATION RESTORE devem ser abortados pelo aparelho.

Este comando pode ser anulado através de um corte na alimentação do aparelho e não pode ser anulado por hardware ou software.

DEVICE CONFIGURATION IDENTIFY

Código do comando

B1h

Descrição

O comando DEVICE CONFIGURATION IDENTIFY  devolve um estrutura de dados através de uma transferencia PIO. Os conteúdos desta estrutura indicam capacidades do aparelho.

DEVICE CONFIGURATION SET

Código de comando

B1h

Descrição

Este comando permite ao fabricante do aparelho ou do sistema reduzir o leque de comandos opcionais, modos e capacidades suportadas pelo aparelho e indicadas pelo comando DEVICE CONFIGURATION INDENTIFY.

DEVICE RESET

Código de comando

08h

Descrição

O DEVICE RESET permite ao sistema reinicializar apenas um aparelho sem afectar o outro.

DOWNLOAD MICROCODE

Código do comando

92h

Descrição

Este comando permite ao sistema alterar o microcode do aparelho. Estes dados são específicos do fabricante.

 

EXECUTE DEVICE DIAGNOSTIC

Código do comando

90h

Descrição

Estes comando forca o aparelho a realizar teste internos de diagnostico. Caso existam dois aparelhos, ambos executaram o comando.

FLUSH CACHE

Código do comando

E7h

Descrição

Este comando e usado pelo sistema para obrigar o aparelho a executar imediatamente todas as escritas pendentes na cache.

FLUSH CACHE EXT

Código do comando

EAh

Descrição

Igual ao comando anterior. Este comando apenas deve ser usado em aparelhos que já implementem endereços de 48bits

GET MEDIA STATUS

Código do comando

DAh

Descrição

Este comando devolve o bits de status WP, MC MCR e NM. Caso a opção Media Status Notification tenha sido desactivada, este comando devolve zeros nessas variáveis.

IDENTIFY DEVICE

Código de comando

ECh

Descrição

Este comando devolve ao sistema varias informações sobre os modos suportados, as capacidades e parâmetros de funcionamento do aparelho.

IDENTIFY PACKET DEVICE

Código do comando

A1h

Descrição

Idêntico ao comando anterior mas destinado a aparelhos que suportem os comandos do tipo packet. Alguns aparelhos podem ter de aceder ao media para poderem completar este comando.

IDLE

Código do comando

E3h

Descrição

O comando IDLE permite ao sistema colocar o aparelho em modo idle e também definir o temporizador de Standby,

IDLE IMMEDIATE

Código do comando

E1h

Descrição

Este comando permite ao sistema colocar imediatamente o aparelho em modo idle.

MEDIA EJECT

Código do comando

Edh

Descrição

Este comando obriga que qualquer operação pendente seja terminada, para o media caso este esteja a rodar e ejecta o mesmo.

MEDIA LOCK

Código do comando

Deh

Descrição

Quando este comando permite ao sistema trancar o media no aparelho, impedindo uma troca do mesmo ate que esta condição seja levantada.

MEDIA UNLOCK

Código do comando

DFh

Descrição

Operação inversa a do comando anterior.

NOP

Código do comando

00h

 

Descrição

Este comando aborta um comando que esteja para ser executado. O aparelho deve responder com uma mensagem de “comando abortado”.

PACKET

Código do comando

A0h

Descrição

O comando PACKET serve para encapsular um comando (de aparelho) num comando do tipo packet.

READ BUFFER

Código do comando

E4h

Descrição

Este comando permite ao sistema ler os conteúdos do buffer do aparelho.

READ DMA

Código do comando

C8h

Descrição

O comando READ DMA permite ao sistema ler dados através do protocolo de dados DMA.

READ DMA EXT

Código do comando

25h

Descrição

Idêntico ao anterior mas destinado a aparelhos que suportem endereçamento de 48bits.

READ DMA QUEUED

Código do comando

C7h

Descrição

Este comando e similar ao READ DMA. Nesta situação, o aparelho pode ou não libertar a bus dependente de se os dados estão prontos para transferir ou não.

READ DMA QUEUED EXT

Código do comando

26h

Descrição

Igual ao comando anterior mas para aparelhos que suportem endereçamento de 48bits.

READ LOG EXT

Código do comando

2Fh

Descrição

Este comando devolve ao sistema o log especificado.

READ MULTIPLE

Código do comando

C4h

Descrição

Este comando lê o numero de sectores especificado no registo Sector Count.

READ MULTIPLE EXT

Código de comando

29h

Descrição

Idêntico ao comando anterior mas para ser usado com aparelhos que suportem endereçamento de 48bits.

READ NATIVE MAX ADDRESS

Código do comando

F8h

Descrição

Este comando devolve o endereço nativo máximo suportado pelo aparelho.

READ NATIVE MAX ADDRESS EXT

Código de comando

27h

Descrição

Idêntico ao anterior mas para aparelhos que suportem endereçamento de 48bits.

READ SECTOR(S)

Código do comando

20h

Descrição

Este comando lê 1 a 256 sectores como especificado no registo Sector Count.

READ SECTOR(S) EXT

Código do comando

24h

Descrição

Idêntico ao comando anterior mas para aparelhos que suportem endereçamento de 48bits.

READ STREAM DMA

Código do comando

2Ah

Descrição

Este comando lê 1 a 65536 sectores como especificado no registo Sector Count.

READ STREAM PIO

Código do comando

2Bh

Descrição

Idêntico ao anterior mas a transferencia e efectuada no modo PIO.

READ VERIFY SECTOR(S)

Código do comando

40h

Descrição

Este comando e idêntico ao READ SECTORS exceptuando no facto de o aparelho ler os dados do media mas não os chegar a transferir para o sistema.

READ VERIFY SECTOR(S) EXT

Código do comando

42h

Descrição

Idêntico ao comando anterior mas destinado a aparelhos que suportem endereçamento de 48 bits.

SECURITY DISABLE PASSWORD

Código do comando

F6h

Descrição

Este comando recebe uma password e se esta verificar com a previamente definida, o aparelhos desactiva esta opção de Lock.

SECURITY ERASE PREPARE

Código do comando

F3h

Descrição

Este comando deve ser “emitido” para a unidade antes de um SECURITY ERASE de modo a permitir o seu apagamento.

SECURITY ERASE UNIT

Código do comando

F4h

Descrição

Este comando recebe uma password do sistema e, se esta for igual a previamente guardada no aparelho, este procedera a escrita de zeros em toda a área de escrita de dados.

SECURITY FREEZE LOCK

Código do comando

F5h

Descrição

Este comando coloca o aparelho em modo “congelado”. Após este comando ter terminado com sucesso, qualquer outro comando que altere o estado de Lock do aparelho deve ser abortado pelo mesmo.

SECURITY SET PASSWORD

Código do comando

F1h

Descrição

Este comando permite definir uma password de acesso.

SECURITY UNLOCK

Código do comando

F2h

Descrição

Este comando permite colocar o aparelho em modo “Unlock”.

SERVICE

Código do comando

A2h

Descrição

O comando SERVICE e usado para obter informação relativa a um comando anterior.

SET FEATURES

Código do comando

EFh

Descrição

Este comando permite definir parâmetros de funcionamento do aparelho. Após um corte de alimentação ou um reset de hardware, todas as definições são ignoradas e o aparelho volta aos parâmetros definidos pelo fabricante.

 

SET MAX ADDRESS

Código do comando

F9h

Descrição

Após este comando ter sido aplicado, todas as tentativas de acesso a endereços acima do especificado serão negadas.

SET MAX SET PASSWORD

Código do comando

F9h

Descrição

Este comando permite definir uma password. Esta password será retida ate um corte de alimentação.

SET MAX LOCK

Código do comando

F9h

Descrição

Este comando coloca o aparelho no estado “Set_Max_Locked”. Posteriormente, qualquer outro comando da categoria SET MAX (excepto SET MAX UNLOCK e SET FREEZE LOCK) devem ser abortados pelo aparelho.

SET MAX UNLOCK

Código do comando

F9h

Descrição

Operação inversa a do comando anterior.

SET MAX FREEZE LOCK

Código do comando

F9h

Descrição

Este comando coloca o aparelho no estado “Set_Max_Frozen”. Posteriormente, os seguintes comando ficaram desactivados:

-SET MAX ADDRESS

-SET MAX SET PASSWORD

-SET MAX LOCK

-SET MAX UNLOCK

 

SET MAX ADDRESS EXT

Código do comando

37h.

Descrição

Idêntico ao comando SET_MAX mas destinado a aparelhos que suportem endereçamento de 48bits.

SET MULTIPLE MODE

Código do comando

C6h

Descrição

Este comando define o block count para os comandos READ MULTIPLE, READ MULTIPLE EXT, WRITE MULTIPLE e WRITE MULTIPLE EXT.

SLEEP

Código do comando

E6h

Descrição

Este comando coloca o aparelho em modo “sleep”.

SMART DISABLE OPERATIONS

Código do comando

B0h

Descrição

Este comando desactiva a capacidade SMART no aparelho.

SMART ENABLE/DISABLE ATTRIBUTE AUTOSAVE

Código do comando

B0h

Descrição

Este comando activa/desactiva a capacidade de auto-save do aparelho.

SMART ENABLE OPERATIONS

Código do comando

B0h

Descrição

Este comando activa o acesso e activa todas as capacidades SMART do aparelho.

SMART EXECUTE OFF-LINE IMMEDIATE

Código do comando

B0h

Descrição

Este comando forca o aparelho a imediatamente activar todas os sensores que processam os dados SMART

SMART READ DATA

Código do comando

B0h

Descrição

Este comando devolve a estrutura de dados SMART do aparelho.

SMART READ LOG

Código

B0h

Descrição

Este comando devolve ao sistema o log especificado.

SMART RETURN STATUS

Código do comando

B0h

Descrição

Este comando forca o aparelho a indicar ao sistema o seu estado de confiabilidade.

SMART WRITE LOG

Código do comando

B0h

Descrição

Este comando devolve ao sistema o log especificado.

STANDBY

Código do comando

E2h

Descrição

Este comando coloca o aparelho em modo de standby.

STANDBY IMMEDIATE

Código do comando

E0h

Descrição

Este comando forca o aparelho a entrar em standby imediatamente.

WRITE BUFFER

Código do comando

E8h

Descrição

Este comando permite ao sistema escrever os conteúdos de um sector no buffer do aparelho.

WRITE DMA

Código do comando

CAh

Descrição

O comando WRITE DMA permite ao sistema escrever dados fazendo uso do protocolo de transferencia DMA.

WRITE DMA EXT

Código do comando

35h

Descrição

Idêntico ao anterior mas destinado a aparelhos que suportem endereçamento de 48bits.

WRITE DMA FUA EXT

Código do comando

3Dh

Descrição

O comando WRITE DMA FUA EXT e idêntico ao comando WRITE DMA EXT mas assegura que os dados serão escritos para o media antes de o comando completar.

WRITE DMA QUEUED

Código do comando

CCh

Descrição

Este comando executa de forma similar ao WRITE DMA mas permite que o aparelho liberte a bus ate que os dados estejam disponíveis.

WRITE DMA QUEUED EXT

Código do comando

36h

Descrição

Idêntico ao comando anterior mas destinado a aparelhos que suportem endereçamento de 48 bits.

WRITE DMA QUEUED FUA EXT

Código do comando

3Eh

Descrição

Idêntico ao anterior mas este comando só vai terminar após os dados terem sido escritos para o media.

WRITE LOG EXT

Código do comando

3Fh

Descrição

Este comando escreve um pacote de 512bytes de dados para o log especificado.

WRITE MULTIPLE

Código do comando

C5h

Descrição

O comando WRITE MULTIPLE escreve o numero de sectores definido no registo Sector Count.

WRITE MULTIPLE EXT

Código do comando

39h

Descrição

Idêntico ao comando anterior mas destinado a aparelhos que suportem endereçamento de 48 bits.

WRITE MULTIPLE FUA EXT

Código do comando

CEh

Descrição

Similar ao anterior, embora este comando só vá terminar após os dados terem sido escritos para o media.

WRITE SECTOR(S)

Código do comando

30h

Descrição

Este comando escreve 1 a 256 sectores conforme especificado no registo Sector Count.

WRITE SECTOR(S) EXT

Código do comando

34h

Descrição

Idêntico ao comando anterior mas destinado a aparelhos que suportem endereçamento de 48 bits.

WRITE STREAM DMA

Código do comando

3Ah

Descrição

O comando WRITE STREAM DMA permite ao sistema escrever dados usando o protocolo de transferencia DMA.

WRITE STREAM PIO

Código do comando

3Bh

Descrição

Este comando escreve 1 a 65536 sectores de acordo com o especificado no registo Sector Count.

 


FAQ

 

1 – Qual a principal vantagem do Serial ATA (SATA) sobre o AT – Attachment (ATA)?

A velocidade máxima suportada pela controladora SATA e de 150MB/s enquanto que na ATA/ATAPI-7 é de (apenas) 133MB/s.

 

 

 

2 – Quais foram as inovações introduzidas com o ATA-3 em termos de performance?

Não existem quaisquer incrementos nas taxas de transferência. As únicas inovações introduzidas foram o suporte SMART e algumas funcionalidades de segurança.


Bibliografia

 

 

www.t13.org - Technical Committee T13 AT Attachment

 

www.Ata-atapi.com - Information, Test Software and Consulting Services
for Developers of Products using ATA (IDE/EIDE), Serial ATA (SATA), ATAPI  and Other Interfaces

 

http://www.pcguide.com/ref/hdd/if/ide/std.htm - Official IDE/ATA Standards and Feature Sets

 

The SCSI Bus & IDE Interface Second Edition, Friedhelm Schmidt, 1997,ISBN 0-201-17514-2