Accueil🇫🇷Chercher

Parallel ATA

La norme Parallel ATA[1] (PATA) décrit une interface de connexion pour mémoires de masse (disque dur, lecteur de CD-ROM...). Elle a été conçue à l'origine par Western Digital sous le nom Integrated Drive Electronics ou IDE. Elle est gérée par le comité T13 d'INCITS. Cette norme utilise les normes ATA (Advanced Technology Attachment) et ATAPI (ATA Packet Interface). En pratique, l'ATAPI qui étend ce standard de communication à des périphériques différents des disques durs, sert à faire passer des commandes SCSI sur la couche physique de l'ATA.

Parallel ATA
Description de l'image Ata 20070127 002.jpg. Description de l'image ATA on mainboard.jpg.
Type Connecteur de lecteurs internes
Historique de production
Auteur Western Digital, puis utilisé de manière importante par d'autres
Date de création 1986
Spécifications
Connexion Ă  chaud Non
Externe Non
— Nombre de bits 16
— Débit 16 puis 33, 66, 100 et 133 Mo/s
— Protocole Parallèle
Description de l'image ATA Plug.svg.
Brochage
Numéro
Une nappe IDE

La norme SATA (Serial ATA), qui l'a remplacée, utilise un bus série, permettant un câble plus fin et plus flexible tout en permettant des débits supérieurs.

Présentation

Deux ports IDE / Parallel ATA sur une carte mère. Le troisième, plus court, est un port pour lecteur de disquettes.

Les pĂ©riphĂ©riques (disques, lecteurs de CD, etc.) sont reliĂ©s Ă  la carte mère par une nappe souple comportant des connecteurs 40 points, parfois munis d'un dĂ©trompeur. Ces nappes Ă©taient par le passĂ© munies de 40 fils, mais depuis l'apparition de l’ATA 100, les nappes Ă  80 fils deviennent monnaie courante. La largeur standard des nappes est de 48 mm.

  • Ces connecteurs sont identiques pour le contrĂ´leur et les pĂ©riphĂ©riques, (voir illustration).
  • Les cartes mères Ă©taient le plus souvent Ă©quipĂ©es de deux ports IDE, parfois de quatre. Chaque port permet de brancher deux pĂ©riphĂ©riques : un maĂ®tre, un esclave[2]. Une carte mère disposant de deux ports IDE permet donc de brancher quatre pĂ©riphĂ©riques de stockage ; on parlera alors sur le premier port de maĂ®tre primaire et d'esclave primaire et sur le second port de maĂ®tre secondaire et d'esclave secondaire. Le passage progressif Ă  la norme SATA a conduit dans une phase de transition Ă  l'apparition de cartes mères Ă©quipĂ©es d'un seul port IDE ; elles formaient la très grande majoritĂ© du marchĂ© en 2009. En 2012, la plupart des cartes mères n'utilisent plus du tout ce système.
  • La distinction maĂ®tre/esclave permet de sĂ©parer logiquement les unitĂ©s de stockage connectĂ©es physiquement en parallèle sur le contrĂ´leur, mais n'indique pas une supĂ©rioritĂ© d'un pĂ©riphĂ©rique sur l'autre, telle qu'un meilleur temps d'accès ou un meilleur dĂ©bit, qui eux sont similaires.
  • 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, en gĂ©nĂ©ral sur la tranche entre le connecteur destinĂ© Ă  la nappe et celui qui est destinĂ© Ă  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 deux pĂ©riphĂ©riques en CS) de dĂ©terminer automatiquement lequel est maĂ®tre et lequel est esclave, en fonction de 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 système d'exploitation) tandis 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 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 ainsi que 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, mais interdit de nombreuses commandes ATA.

Les commandes réservées à ATA ou à ATAPI sont indiquées dans les sections suivantes. Les commandes communes aux deux protocoles ne porteront pas de mention spéciale.

Les différents standards

Standard Autres dénominations Taux de transfert (Mo/s) Nouveautés Référence ANSI
ATA-1 ATA, IDEPIO 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
X3.221-1994
(obsolète depuis 1999)
ATA-2 EIDE, Fast ATA, Fast IDE, Ultra ATAPIO 3,4: 11.1, 16.6
Multi-word DMA 1,2: 13.3, 16,6
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-4Ultra-DMA/33:
UDMA 0,1,2: 16.7, 25.0, 33.3
jeu d'instructions PacketNCITS 317-1998
ATA-5 ATA/ATAPI-5Ultra-DMA/66:
UDMA 3,4: 44.4, 66.7
détecte les câbles à 80 filsNCITS 340-2000
ATA-6 ATA/ATAPI-6Ultra-DMA/100:
UDMA 5: 100
LBA 48NCITS 347-2001
ATA-7 ATA/ATAPI-7Ultra-DMA/133:
UDMA 6: 133
--NCITS 361-2002

Jeu d'instructions Packet

Ce jeu d'instructions constitue 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 fournit 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 Ă©galement 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 actuellement).
Note : Ces commandes étaient, pour les CD-ROM, définies dans le document SFF-8020i, maintenant obsolète.

Tout système digne de ce nom doit impérativement supporter un protocole soit par le biais d'un pilote soit par celui du BIOS qui fournit déjà des fonctions d'accès aux disques durs (interruption 13h) mais ces fonctions sont limitées, lentes, et parfois buguées. Se baser sur le BIOS ne permet donc pas d'avoir un système 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

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 ainsi que le numĂ©ro de la tĂŞte. Malheureusement, ce mode ne permet d'adresser que 1 024 cylindres, 63 secteurs et 256 tĂŞtes soit octets, un peu moins de Go, ce qui est peu de nos jours (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 donc d'adresser 2^28*512=137438953472 octets soit 128 Go.

Utilisation, différences par rapport au mode CHS

L'utilisation du mode LBA n'est pas beaucoup 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 identique.

Conversion d'une adresse CHS en adresse LBA et inversement

adresse logique = (numéro de secteur - 1) + (numéro de tête * nombre de secteurs par cylindre) + (numéro 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 peu à peu de l'IDE vers le Serial ATA aussi appelé S-ATA ou SATA.

Notes et références

  1. ATA, IDE et EIDE, sur le site commentcamarche.net, consulté le 7 janvier 2015
  2. Cette terminologie peut laisser penser que les fonctionnalités des deux sont différentes, mais il n'en est rien.

Bibliographie

  • Programmation d'ATA/ATAPI
    • Franck van Gilluwe (trad. de l'anglais), PC Programmation Système, , , ISBN , traduit de l'amĂ©ricain , Second Edition [« The Undocumented PC »], Paris, CampusPress, coll. « Ressources d'experts », , 1242 p. (ISBN 978-2-7440-0559-6)
    • (en) Alex T. Ivopol, IDE - Hardware Reference & Information Document, (lire en ligne).
    • standard ATA-ATAPI
  • Codes sources
    • (en) Richard A. Burgess, Developing Your Own 32 bits Computer Operating System, Indianapolis, Macmillan, , 741 p. (ISBN 978-0-672-30655-6, lire en ligne).
    • ATADRVR v14C, Hale Landis, le webmaster de ATA-ATAPI.com

Voir aussi

Articles connexes

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.