Parallel ATA

Parallel ATA
Page d'aide sur l'homonymie Pour les articles homonymes, voir Pata.
Parallel ATA
Ata 20070127 002.jpg
Schéma d'une prise Parallel ATA
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
Chronologie
 
SATA (2003) link=SATA (2003)
Spécifications
Externe Non
— Nombre de bits 16 bits
— Débit 16 MB/s puis 33, 66, 100 et 133 MB/s
— Protocole Parallèle
Brochage
Image illustrative de l'article Parallel ATA
Une nappe IDE

La norme Parallel ATA 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). Une norme voisine, SATA (Serial ATA), utilise une connexion en série, permettant un câble beaucoup plus fin.

Sommaire

Présentation

Ports Parallel ATA sur une carte mère

Les périphériques (disques, lecteurs de CD) 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 longueur standard des nappes est de 46 cm.

  • 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 2 ports IDE, parfois de 4. Chaque port permet de brancher 2 périphériques : un en maître, un en esclave. Une carte mère disposant de 2 ports IDE permet donc de brancher 4 périphériques de stockage ; on parlera alors de maître primaire/secondaire et esclave primaire/secondaire. Le passage de relais progressif à la norme SATA a conduit à l'apparition dans une phase intermédiaire de cartes mères avec un seul port IDE, qui formaient la très grande majorité du marché en 2009. À l'avenir, les nouvelles cartes mères devraient voir ce système disparaître totalement en raison de l'obsolescence de plus en plus marquée de ce standard.
  • 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 similaire.
  • 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 2 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 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 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. De plus, 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 dénominations 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
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
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
LBA 48 NCITS 347-2001
ATA-7 ATA/ATAPI-7 Ultra-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 ou bien sûr, serait plus simple d'utiliser le 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

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 ainsi que 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 un peu moins de 8 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 = (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 peu à peu de l'IDE vers le Serial ATA aussi appelé 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 très 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 Système, 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 système de fichiers, Vincent Perdereau
  • Standards

Voir aussi

Sur les autres projets Wikimedia :

Articles connexes

Liens externes


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Parallel ATA de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • Parallel ATA — ATA connector on the right, with two motherboard ATA sockets on the left. Type …   Wikipedia

  • Parallel ATA — ATA/ATAPI Stiftleiste (am Host bzw. am Peripheriegerät) 80 und 40 adrige ATA/ATAPI Kabel, zum Verbinden von Host zu Gerät ATA (Advanced Technology Attachment with Packet …   Deutsch Wikipedia

  • ATA-Kabel — ATA/ATAPI Stiftleiste (am Host bzw. am Peripheriegerät) 80 und 40 adrige ATA/ATAPI Kabel, zum Verbinden von Host zu Gerät ATA (Advanced Technology Attachment with Packet …   Deutsch Wikipedia

  • ATA (Schnittstelle) — ATA/ATAPI Stiftleiste (am Host bzw. am Peripheriegerät) 80 und 40 adrige ATA/ATAPI Kabel, zum Verbinden von Host zu Gerät ATA (Advanced Technology Attachment with Packet …   Deutsch Wikipedia

  • ATA/ATAPI — 34 Pin Floppy und 40 Pin ATA/ATAPI Stiftleiste (am Host bzw. am Peripheriegerät) …   Deutsch Wikipedia

  • ATA — У этого термина существуют и другие значения, см. Ата (значения). Иное название этого понятия  «IDE»; см. также другие значения. Разъемы ATA контроллера на …   Википедия

  • Parallel SCSI — Centronics 50 SCSI plug Parallel SCSI (formally, SCSI Parallel Interface, or SPI) is one of the interface implementations in the SCSI family. In addition to being a data bus, SPI is a parallel electrical bus: There is one set of electrical… …   Wikipedia

  • Ata (Scheuermittel) — Ata (Eigenschreibweise: ATA) ist ein seit 1920 von Henkel vermarktetes Scheuermittel[1] das ursprünglich nur aus Sand und Soda[2] bestand. Ata war 1920 der erste Haushaltsreiniger von Henkel.[3] Das Mittel wurde anfangs in einer bedruckten… …   Deutsch Wikipedia

  • Fast ATA — ATA/ATAPI Stiftleiste (am Host bzw. am Peripheriegerät) 80 und 40 adrige ATA/ATAPI Kabel, zum Verbinden von Host zu Gerät ATA (Advanced Technology Attachment with Packet …   Deutsch Wikipedia

  • P-ATA — ATA/ATAPI Stiftleiste (am Host bzw. am Peripheriegerät) 80 und 40 adrige ATA/ATAPI Kabel, zum Verbinden von Host zu Gerät ATA (Advanced Technology Attachment with Packet …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”