Integrated Drive Electronics
L'IDE est une interface de connexion pour mémoires de masses. Le nom officiel de la norme est Advanced Technology Attachement, ou ATA, IDE étant une version de cette norme.
Définitions :
- Un type contrôleur de disque dur faisant l'interface entre le processeur et le disque dur. Il gère les disques qui lui sont reliés... (source : stage.communautique.qc)


L'IDE (pour Integrated Drive Electronics) est une interface de connexion pour mémoires de masses (disque dur, lecteur de CD-ROM... ). Le nom officiel de la norme est Advanced Technology Attachement, ou ATA, IDE étant une version de cette norme. Elle est aussi nommée ATAPI, une autre version de la norme.
On l'appelle aussi PATA (ou P-ATA, pour Parallel ATA) suite à la naissance de la connexion Serial ATA.
Présentation


Les périphériques (disques, lecteurs de CD) sont reliés à la carte mère par une nappe souple comportant des connecteurs 40 points, quelquefois pourvus d'un détrompeur. Ces nappes étaient par le passé pourvues de 40 fils, mais depuis la naissance de l'ATA 100, les nappes à 80 fils deviennent monnaie courante. La longueur standard des nappes est de 46 cm.
- Ces connecteurs sont semblables pour le contrôleur et les périphériques, (voir illustration).
- Les cartes mères sont fréquemment équipées de 2, ou alors 4 ports IDE (en 2009, et ce depuis quelques années, il est particulièrement rare de voir plus d'un connecteur IDE sur une carte mère récente). À l'avenir, les nouvelles cartes mères devraient voir ce dispositif disparaître de leur constitution en raison du début de l'obsolescence de ce standard. Chaque port sert à brancher 2 périphériques : un en maître, un en esclave. Une carte mère disposant de 2 ports IDE permet par conséquent de brancher 4 périphériques de stockage ; on parlera alors de maître primaire/secondaire et esclave primaire/secondaire.
- La distinction maître/esclave permet simplement de séparer logiquement les unités de stockage qui sont elles connectées physiquement en parallèle sur le contrôleur, par contre l'exploitation de chacun d'eux est identique.
- Pour effectuer cette distinction Master / Slave (ou Maître / Esclave en français), on positionne un cavalier sur le sélecteur incorporé au périphérique, généralement sur la tranche entre le connecteur conçu pour la nappe et celui qui est conçu pour l'alimentation électrique. Il existe aussi une position CS (Cable Select, en français sélection par le câble) qui permet (si on positionne les 2 périphériques en CS) de déterminer automatiquement lequel est maître et lequel est esclave, selon la position sur le câble. Dans ce cas, le fonctionnement standard suppose que le dernier connecteur de la nappe accueille le périphérique maître (utilisé par exemple pour le disque dur contenant le dispositif d'exploitation) alors que le connecteur intermédiaire permet le branchement du périphérique esclave.
ATA et ATAPI
La connexion IDE tire parti des protocoles ATA/ATAPI.
ATAPI (ATA with Packet Interface extension) est en fait une extension de ATA (AT Attachement). Ce dernier est le protocole utilisé par les disques durs IDE tandis qu'ATAPI est plutôt utilisé par les lecteurs et graveurs de CD-ROM et DVD-ROM mais aussi par quelques lecteurs de disquettes spéciales de type ZIP par exemple.
La principale différence entre les deux protocoles réside dans l'existence, dans ATAPI, de l'extension Packet Interface qui implémente le jeu d'instructions Packet. Qui plus est , de nombreuses commandes ATA sont interdites si ce jeu d'instructions est présent.
Dans les sections suivantes, les commandes réservées à ATA ou à ATAPI seront indiquées. Les commandes communes aux deux protocoles ne porteront pas de mention spéciale.
Les différents standards
Standard | Autres appellations | Taux de transfert (Mo/s) | Nouveautés | Référence ANSI |
---|---|---|---|---|
ATA-1 | ATA, IDE | PIO 0, 1, 2 : 3.3, 5.2, 8.3 Single-word DMA 0, 1, 2 : 2.1, 4.2, 8.3 Multi-word DMA 0 : 4.2 |
Supporte jusqu'à 528 Mo | X3.221-1994 (obsolète depuis 1999) |
ATA-2 | EIDE, Fast ATA, Fast IDE, Ultra ATA | PIO 3, 4 : 11.1, 16.6 Multi-word DMA 1, 2 : 13.3, 16, 6 |
LBA (jusqu'à 8.4 Go) | X3.279-1996 (obsolète depuis 2001) |
ATA-3 | EIDE | " | S. M. A. R. T., Sécurité | X3.298-1997 (obsolète depuis 2002) |
ATA-4 | ATAPI-4, ATA/ATAPI-4 | Ultra-DMA/33 : UDMA 0, 1, 2 : 16.7, 25.0, 33.3 |
jeu d'instructions Packet | NCITS 317-1998 |
ATA-5 | ATA/ATAPI-5 | Ultra-DMA/66 : UDMA 3, 4 : 44.4, 66.7 |
détecte les câbles à 80 fils | NCITS 340-2000 |
ATA-6 | ATA/ATAPI-6 | Ultra-DMA/100 : UDMA 5 : 100 |
Automatic Acoustic Management | NCITS 347-2001 |
ATA-7 | ATA/ATAPI-7 | Ultra-DMA/133 : UDMA 6 : 133 |
-- | NCITS 361-2002 |
ATA-8 | ATA/ATAPI-8 | -- | -- | en projet |
Jeu d'instructions Packet
Ce jeu d'instructions forme la principale différence entre ATA et ATAPI. Il implémente les deux commandes suivantes :
- Obtention d'informations : une commande du même type existe dans le protocole ATA mais apporte des informations différentes. Ces deux commandes sont décrites plus bas.
- Envoi d'une commande Packet : cette commande permet l'envoi de commandes Packet dans un format spécial par le biais du port de données. Ces commandes permettent d'envoyer plus d'informations que les commandes ATA normales. Cette commande est aussi décrite plus bas.
Ces commandes servent d'interface à un jeu d'instructions spéciales spécifiques au type de périphérique (CD-ROM, CD-R/RW, DVD…). Ces commandes ne sont pas définies par le protocole ATAPI.
Dans le cas des CD-ROM et des DVD, ces commandes sont définies par le T10 (Technical Committee T10, dépendant de NCITS (National Committee for Information and Technology Standards) chargé de SCSI) dans les MMC (Multimedia Commands 1, 2 et 3 aujourd'hui).
Note : Ces commandes étaient, pour les CD-ROM, définies dans le document SFF-8020i, désormais obsolète.
Tout dispositif digne de ce nom doit impérativement supporter un protocole soit par le biais d'un pilote ou évidemment, serait plus simple d'utiliser le BIOS qui apporte déjà des fonctions d'accès aux disques durs (interruption 13h) mais ces fonctions sont limitées, lentes, et quelquefois buguées. Se baser sur le BIOS ne permet par conséquent pas d'avoir un dispositif fiable sans compter qu'en mode protégé, cela est impossible. C'est pourquoi il faut réécrire les routines d'accès aux disques pour avoir un pilote satisfaisant.
Quelques-unes des commandes de base sont décrites dans ce document.
Fonctions plus avancées
LBA - Logical Block Address
Présentation
Le mode CHS permet d'adresser un secteur du disque en indiquant son numéro de secteur, le numéro du cylindre où il se trouve mais aussi le numéro de la tête. Malheureusement, ce mode ne permet d'adresser que 1024 cylindres, 63 secteurs et 256 têtes soit 1024*63*256*512=8455716864 octets soit légèrement moins de 8 Go, ce qui est peu aujourd'hui (quoique certains disques supportent des adresses CHS supérieures à cette limite).
Au contraire, le mode LBA utilise une adresse logique sur 28 bits : le 1e secteur a l'adresse 0, le 63e l'adresse 62, le 1e secteur du 2e cylindre l'adresse 63 (s'il y a 63 secteurs par cylindres) et ainsi de suite. Le mode LBA permet par conséquent d'adresser 2ˆ28*512=137438953472 octets soit 128 Go.
Utilisation, différences comparé au mode CHS
L'utilisation du mode LBA n'est pas bien plus compliquée que le mode CHS, les différences peuvent être résumées de la manière suivante :
Registre | Mode CHS | Mode LBA |
---|---|---|
Registre de lecteur et tête, bit 6 | 0 | 1 |
Numéro de secteur | Numéro du secteur | Bits 0 à 7 de l'adresse LBA |
Numéro de cylindre, octet de poids faible | Numéro de cylindre, octet de poids faible | Bits 8 à 15 de l'adresse LBA |
Numéro de cylindre, octet de poids fort | Numéro de cylindre, octet de poids fort | Bits 16 à 23 de l'adresse LBA |
Registre de lecteur et tête, bits 0 à 3 | Numéro de tête | Bits 24 à 27 de l'adresse LBA |
Pour le reste, tout est semblable.
Conversion d'une adresse CHS en adresse LBA et vice versa
adresse logique = (numero de secteur - 1) + (numero de tête * nombre de secteurs par cylindre) + (numero de cylindre * nombre de secteurs par cylindre * nombre de têtes)
secteur CHS = entier (1 + reste de (adresse logique / nombre de secteurs par pistes) )
tête CHS = entier (reste de ( (adresse logique / nombre de secteurs par pistes) / nombre de têtes) )
piste CHS = entier (adresse logique / (nombre de secteurs par cylindre * nombre de faces) )
Considérons lba l'adresse logique, c le cylindre, h la tête, s le secteur, H le nombre de têtes et S le nombre de secteurs par cylindre, voici les mêmes formules dans une syntaxe de style C (types entiers) :
lba = (s - 1) + (h * S) + (c * S * H) ;
s = 1 + (lba% S) ;
h = (lba / S) % H;
c = lba / (S * H) ;
Évolution du standard
Depuis 2003, le standard d'interface de connexion des mémoires de masse évolue progressivement de l'IDE vers le Serial ATA aussi nommé S-ATA ou SATA.
Notes et références
Les informations contenues dans ce document sont directement inspirées des spécifications officielles, mais sont particulièrement simplifiées. La section sources et références bibliographiques vous permettra d'approfondir votre connaissance des standard ATA/ATAPI.
Bibliographie
- Programmation d'ATA/ATAPI
- PC Programmation Dispositif, Franck van Gilluwe, CampusPress, 1999, ISBN 2-7440-0559-2, traduit de l'américain The Undocumented PC, Second Edition
- IDE - Hardware Reference & Information Document, Alex T. Ivopol, 1994
- ATA-ATAPI. com, un site entièrement dédié à ce standard par l'un des membres du T13 qui les conçoit :
- Codes sources
- Developing Your Own 32 bits Computer Operating System, Richard A. Burgess, MacMillan, 1995
- ATADRVR v14C, Hale Landis, le webmaster de ATA-ATAPI. com
- LBA
- Revue LOGIN : 70, Architecture d'un OS : le dispositif de fichiers, Vincent Perdereau
- Standards
- T13 Technical Committee, responsable de la gestion du standard ATA/ATAPI. Les spécifications officielles sont disponibles sur le site.
- T10 Technical Committee, responsable de la gestion du standard SCSI mais également des MMC (MultiMedia Commands, il s'agit en fait des jeux de commandes Packet pour CD-ROM). Les spécifications officielles sont disponibles sur le site ftp : ftp ://ftp. t10. org, et surtout dans le répertoire /t10/drafts/.
Voir aussi
Liens externes
- (fr) Détail des brochages des connecteurs IDE
- explication détaillée du standard ATA sur commentcamarche. net
Recherche sur Amazon (livres) : |
Voir la liste des contributeurs.
La version présentée ici à été extraite depuis cette source le 07/04/2010.
Ce texte est disponible sous les termes de la licence de documentation libre GNU (GFDL).
La liste des définitions proposées en tête de page est une sélection parmi les résultats obtenus à l'aide de la commande "define:" de Google.
Cette page fait partie du projet Wikibis.