Tour d'horizon


Le standard ATA (Advanced Technology Attachment) est une interface standard permettant la connexion de périphériques de stockage sur les ordinateurs de type PC. Le standard ATA a été mis au point le 12 mai 1994 par l'ANSI (document X3.221-1994).

Malgré l'appellation officielle "ATA", ce standard est plus connue sous le terme commercial IDE (Integrated Drive Electronics) ou Enhanced IDE (EIDE ou E-IDE).

Le standard ATA est originalement prévu pour connecter des disques durs, toutefois une extension nommée ATAPI (ATA Packet Interface) a été développée afin de pouvoir interfacer d'autres périphériques de stockage (lecteurs de CD-ROM, lecteurs de DVD-ROM, etc) sur une interface ATA.

Depuis l'émergence de la norme Serial ATA (notée S-ATA ou SATA), permettant de transférer les données en série, le terme « Parallel ATA » (noté PATA ou P-ATA) remplace parfois l'appellation "ATA" afin de marquer le contraste entre les deux normes.

Principe


La norme ATA permet de relier des périphériques de stockage directement à la carte mère grâce à une nappe IDE (en anglais ribbon cable) généralement composée de 40 fils parallèles et de trois connecteurs (un connecteur pour la carte mère, généralement bleu, et les connecteurs restants pour deux périphériques de stockage, respectivement noir et gris).

connecteur IDE



nappe IDE



Sur la nappe un des périphériques doit être déclaré comme maître (master), l'autre en esclave (slave). Par convention le connecteur à l'extrémité (noir) est réservé au périphérique maître et le connecteur du milieu (gris) au périphérique esclave. Un mode appelé cable select (noté CS ou C/S) permet de définir automatiquement le périphérique maître et l'esclave pour peu que le BIOS de l'ordinateur supporte cette fonctionnalité.

Modes PIO


La transmission des données se fait grâce à un protocole appelé PIO (Programmed Input/Output) permettant aux périphériques d'échanger des données avec la mémoire vive à l'aide de commandes gérées directement par le processeur. Toutefois, de gros transferts de données peuvent rapidement imposer une grosse charge de travail au processeur et ralentir l'ensemble du système. Il existe 5 modes PIO définissant le taux de transfert maximal :

Mode PIO Débit (Mo/s)
Mode 03.3
Mode 15.2
Mode 28.3
Mode 311.1
Mode 416.7

Modes DMA


La technique du DMA (Direct Memory Access) permet de désengorger le processeur en permettant à chacun des périphériques d'accéder directement à la mémoire. On distingue deux types de modes DMA :




Le tableau suivant liste les différents modes DMA et les taux de transfert associés :


Mode DMADébit (Mo/s)
0 (Single word)2.1
1 (Single word)4.2
2 (Single word)8.3
0 (Multiword)4.2
1 (Multiword)13.3
2 (Multiword)16.7

Ultra DMA


Le standard ATA est à l'origine basé sur un mode de transfert asynchrone, c'est-à-dire que les envois commandes et les envois de données sont cadencés à la fréquence du bus et se font à chaque front montant (en anglais rising edge) du signal de l'horloge (strobe). Toutefois les envois des données et des commandes ne se font pas simultanément, c'est-à-dire qu'une commande ne peut être envoyée tant que la donnée n'a pas été reçue et inversement.

Pour augmenter le taux de transfert des données il peut donc sembler logique d'augmenter la fréquence du signal d'horloge. Toutefois sur une interface où les données sont envoyées en parallèle l'augmentation de la fréquence pose des problèmes d'interférence électromagnétiques.

Ainsi l'Ultra DMA (parfois noté UDMA) a été pensé dans le but d'optimiser au maximum l'interface ATA. La première idée de l'Ultra DMA consiste à utiliser les front montants ainsi que les fronts descendants (falling edges) du signal pour les transferts soit un gain de vitesse de 100% (avec un débit passant de 16.6 Mo/s à 33.3 Mo/s). De plus l'Ultra DMA introduit l'utilisation de codes CRC pour détecter les erreurs de transmission. Ainsi les différents modes Ultra DMA définissent la fréquence de transfert des données. Lorsqu'une erreur est rencontrée (lorsque le CRC reçu ne correspond pas aux données) le transfert passe dans un mode Ultra DMA inférieur, voire sans Ultra DMA.


Mode Ultra DMA Débit (Mo/s)
UDMA 016.7
UDMA 125.0
UDMA 2 (Ultra-ATA/33)33.3
UDMA 344.4
UDMA 4 (Ultra-ATA/66)66.7
UDMA 5 (Ultra-ATA/100)100
UDMA 6 (Ultra-ATA/133)133



A partir de l'Ultra DMA mode 4 un nouveau type de nappe a été introduit afin de limiter les interférences ; il s'agit d'une nappe ajoutant 40 fils de masse (soit un total de 80), entrecalés avec les fils de données afin de les isoler et possédant les mêmes connecteurs que la nappe de 40 fils.

nappe IDE 80 connecteurs


Seuls les modes Ultra DMA 2, 4, 5 et 6 sont réellement implémentés par les disques durs.

Les normes ATA


Le standard ATA se décline en plusieurs versions, ayant vu le jour successivement :

ATA-1


Le standard ATA-1, connu sous le nom de IDE, permet la connexion de deux périphériques sur une nappe de 40 fils et propose une transmission 8 ou 16 bits avec un débit de l'ordre de 8.3 Mo/s. ATA-1 définit et supporte les modes PIO (Programmed Input/Output) 0, 1 et 2 ainsi que le mode DMA multiword (Direct Memory Access) 0.

ATA-2


Le standard ATA-2, connu sous le nom de EIDE (parfois Fast ATA, Fast ATA-2 ou Fast IDE), permet la connexion de deux périphériques sur une nappe de 40 fils et propose une transmission 8 ou 16 bits avec un débit de l'ordre de 16.6 Mo/s.

ATA-2 permet le support des modes PIO 0, 1, 2, 3 et 4 et modes DMA multiword 0, 1 et 2. De plus, ATA-2 définit permet de repousser la limite de la taille maximale de disque de 528 Mo imposée par la norme ATA-1 à 8.4 Go grâce au LBA (Large Block Addressing).

ATA-3


Le standard ATA-3 (également appelé ATA Attachment 3 Interface) représente une révision mineure de l'ATA-2 (avec une compatibilité descendante) et fut publié en 1997 sous le standard X3.298-1997. Le standard ATA-3 apporte les améliorations suivantes :



ATA-3 n'introduit pas de nouveau mode mais supporte les modes PIO 0, 1, 2, 3 et 4 ainsi que les modes DMA 0, 1 et 2.

ATA-4


Le standard ATA-4, ou Ultra-ATA/33, a été défini en 1998 sous sous le standard ANSI NCITS 317-1998. ATA-4 modifie le mode LBA afin de porter la capacité maximale des disques à 128 Go.

En effet, le mode LBA permet un adressage codé par un nombre binaire de 28 bits. Or chaque secteur représente 512 octets, ainsi la capacité maximale exacte d'un disque dur en mode LBA est la suivante :

228*512 = 137 438 953 472 octets     
137 438 953 472/(1024*1024*1024)= 128 Go

ATA-5


En 1999 le standard ATA-5 définit deux nouveaux modes de transfert :
Ultra-DMA mode 3 et 4 (le mode 4 est aussi appelé Ultra ATA/66 ou Ultra DMA/66) De plus il propose la détection automatique du type de nappes utilisées (80 ou 40 fils).

ATA-6


Depuis 2001 ATA-6 définit le support de l'Ultra DMA/100 (aussi appelé Ultra DMA mode 5 ou Ultra-ATA100) permettant d'atteindre des débits théoriques de 100 Mo/s.

D'autre part ATA-6 définit une nouvelle fonctionnalité, appelée Automatic Acoustic Management (AAM), permettant d'ajuster automatiquement la vitesse d'accès aux disques supportant cette fonction afin d'en réduire le bruit de fonctionnement.

Enfin, la norme ATA-6 permet un mode d'adressage des secteurs du disque dur sur 48 bits, appelé LBA48 (Logical Block Addressing 48 bits). Grâce au LBA48, il est possible d'utiliser des disques durs de 2^48 secteurs de 512 octets, soit une capacité de maximale de 2 pétaoctets.

ATA-7


ATA-7 définit le support de l'Ultra DMA/133 (aussi appelé Ultra DMA mode 6 ou Ultra-ATA133) permettant d'atteindre des débits théoriques de 133 Mo/s.

Tableau récapitulatif


NomNorme ANSISynonymeMode (PIO/DMA)Débit (Mo/s)Commentaires
ATA-1<td rowspan=4> ANSI X3.221-1994<td rowspan=4> IDEPIO mode 03,3
PIO mode 15,2
PIO mode 28,3
DMA mode 08,3
ATA-2<td rowspan=4> ANSI X3.279-1996<td rowspan=4> EIDE, Fast ATA, Fast ATA-2PIO mode 311,1 LBA 28 bits
PIO mode 416,7
DMA mode 113,3
DMA mode 216,7
ATA-3<td rowspan=4> ANSI X3.298-1997<td rowspan=4>PIO mode 311,1 SMART, LBA 28 bits
PIO mode 416,7
DMA mode 113,3
DMA mode 216,7
ATA-4/ATAPI-4<td rowspan=3> ANSI NCITS 317-1998<td rowspan=3> Ultra-ATA/33, UDMA 33, Ultra DMA 33UDMA mode 016,7 Ultra DMA 33 et support des CD-ROM (ATAPI)
UDMA mode 125,0
UDMA mode 233,3
ATA-5/ATAPI-5<td rowspan=2> ANSI NCITS 340-2000<td rowspan=2> Ultra-ATA/66, UDMA 66, Ultra DMA 66UDMA mode 344,4 Ultra DMA 66, utilisation d'un câble de 80 broches
UDMA mode 466,7
ATA-6/ATAPI-6ANSI NCITS 347-2001Ultra-ATA/100, UDMA 100, Ultra DMA 100UDMA mode 5100Ultra DMA 100, LBA48 et norme AAC (Automatic Acoustic Management)
ATA-7/ATAPI-7ANSI NCITS 361-2002Ultra-ATA/133, UDMA 133, Ultra DMA 133UDMA mode 6133Ultra DMA 133