6.3. Ultra DMA (UDMA)
 
Com o aumento da performance dos discos, o uso de programmed I/O tornou-se um entrave ao desempenho. Assim sendo, as atenções viraram-se para o uso de direct memory access (DMA), nomeadamente o bus mastering.

Os discos tornaram-se cada vez mais rápidos, e a velocidade máxima do multiword DMA mode 2, 16.7 MB/s, rapidamente se tornou insuficiente. Os engenheiros que foram incumbidos de aumentar a velocidade da interface descobriram que esta não seria uma tarefa fácil. A interface IDE/ATA e os cabos que esta usava, tinham sido construídos para transferências lentas de dados, cerca de 5 MB/s. Aumentando a velocidade da interface, reduzindo o cycle time, causou diversos tipos de problemas relacionados com a interferência no sinal transmitido. Então, em vez de fazer funcionar a interface mais rápido, uma diferente abordagem teria que ser tomada: aumentar a eficiência da própria interface. O resultado foi a criação de um novo tipo de DMA transfer modes, a que foi chamado de Ultra DMA.

O avanço tecnológico introduzido no IDE/ATA em Ultra DMA foi o double transition clocking. Antes do Ultra DMA, cada transferência de dados ocorria em cada ciclo de relógio, disparada no limiar superior do ciclo. Com Ultra DMA, a informação é transferida nos dois limiares do ciclo de relógio. Double transition clocking, permitiu assim, com mais algumas modificações, aumentar para o dobro a informação transferida, qualquer que seja a velocidade de relógio.

Para verificar a integridade dos dados, o Ultra DMA também introduziu o uso de cyclical redundancy checking ou CRC na interface. O dispositivo que envia os dados calcula a informação redundante de controlo, usando o algoritmo CRC, e envia essa informação juntamente com os dados. O receptor calcula o mesmo tipo de informação, comparando depois o valor obtido com o recebido. Caso não sejam iguais, isto significa que os dados foram corrompidos e o bloco de informação é ignorado.

A primeira implementação de Ultra DMA foi especificada no standard ATA/ATAPI-4 e incluía três Ultra DMA modes, proporcionando transferências até 33 MB/s. Nos anos seguintes foram adicionados Ultra DMA modes mais rápidos. A tabela abaixo apresenta os Ultra DMA modes existentes:

Ultra DMA Mode Cycle Time (nanoseconds) Maximum Transfer Rate (MB/s) Defining Standard
Mode 0 240 16.7 ATA/ATAPI-4
Mode 1 160 25.0 ATA/ATAPI-4
Mode 2 120 33.3 ATA/ATAPI-4
Mode 3 90 44.4 ATA/ATAPI-5
Mode 4 60 66.7 ATA/ATAPI-5
Mode 5 40 100.0 ATA/ATAPI-6?

A taxa de transferência é razão inversa do cycle time a multiplicar por quatro (Double Transition Clocking).