Cours sur l'interface IDE |
| Par Frédéric Heissler |
Les disque dur E-IDE ( Enhanced IDE ) utilisent l'interface ATA-2 qui est une version améliorée de l'interface ATA originale. Les principales améliorations portent sur l'amélioration du taux de transfert, c'est à dire, du modes d'entrées/sorties programmées à grande vitesse PIO. L'amélioration porte aussi sur l'accès mémoire direct DMA, la détection automatique du type de disque dur et l'améliorations de la commande d'identification de disque dur. Cette dernière caractéristique est essentielle dans l'optique d'une utilisation de type Plug-and-Play et de modifications ultérieures de ce standard.L'interface ATA-2 est également appelée E-IDE . Elle est une appellation commerciale utilisée par Westem Digital. Les termes "Fast-ATA" et "Fast- ATA-2" sont des appellations commerciales inspirées par Seagate et reprises par Quantum. Que ce soit aux niveaux du disque dur ou du BIOS, ces différents sigles font référence au même type de matériel.Les améliorations dont bénéficie l'interface ATA-2 ou EIDE par rapport à l'interface ATA/IDE originale sont au nombre de quatre:
L'interface ATA-2/EIDE offre une capacité de stockage plus importante que l'interface ATA/ IDE grâce à un BIOS étendu qui permet d'utiliser des disques durs d'une capacité supérieure à 504 Mo (528 millions d'octets).
Cette limite tenait à l'origine à la configuration géométrique (cylindres, têtes, secteurs) des disques durs acceptée par l'interface logicielle du BIOS associée à un disque dur IDE. L'interface IDE et le BIOS sont, indépendamment, capables d'accepter des disques d'une capacité extrêmement élevée mais lorsqu'ils sont associés, cette capacité est en effet limitée à 504 Mo.La parade utilisée par le BIOS étendu consiste à employer deux configurations géométriques différentes pour s'adresser respectivement au disque dur et au logiciel. Le BIOS opère donc une conversion pour passer de l'un à l'autre. Ainsi, si un disque dur comporte 2 000 cylindres et 16 têtes, un BIOS capable d'opérer des conversions l'assimilera à un disque de 1 000 cylindres et 32 têtes.Vous pouvez savoir si votre BIOS est étendu en regardant si votre Bios dispose de paramètres tels que "LBA", "ECHS" ou même "Large" dans le Setup, cela signifie que le BIOS est capable de fonctionner en mode conversion. La plupart des BIOS datés de 1994 ou d'une date postérieure sont étendus. Si le BIOS de votre ordinateur actuel n'est pas étendu, vous parviendrez peut-être à vous procurer une version étendue pour le remplacer.Conversion du BIOS.
Les BIOS actuels peuvent utiliser trois types d'adressage: CHS, CHS étendu et LBA. Ces trois types d'adressage sont synthétisés dans le tableau ci-après.
| Mode de BIOS | Du système d'exploitation au BIOS | Du BIOS aux ports de disques durs |
| CHS standard | Paramètres CHS standard | Paramètres CHS logiques |
| CHS étendu | Paramètres CHS convertis | Paramètres CHS logiques |
| LBA | Paramètres CHS convertis | Paramètres LBA |
CHS = Cylindres, têtes, secteurs. LBA = Adressage logique par blocs
Le disque dur ne peut utiliser qu'un mode de conversion interne. Sa configuration géométrique est complètement invisible de l'extérieur, tous les disques durs ATA utilisant aujourd'hui l'enregistrement par zones. Le nombre de cylindres, de têtes et de secteurs imprimés sur l'autocollant fixé sur les disques actuels et à entrer dans le Setup du BIOS se rapporte à la configuration purement logique du disque dur et ne reflète en rien ses paramètres physiques réels.
Valeurs limites du mode d'adressage CHS Standard sont :
| Valeur limite pratique | Valeur limite théorique | |
| Cylindres | 1024 | 65535 |
| Têtes | 16 | 255 |
| Secteurs | 63 | 255 |
Les valeurs limites pratiques sont dû à la limite des 528 Mo de la FAT 16 car elle ne dispose que de 216 = 65 536 adresses, ce qui donne avec des clusters ( = 4 secteurs ) de 8192 octets : 65 536 * 8192 = 528 Mo or ( 1 024 x 16 x 63 ) x 512 octets = 528 Mo. Voir le cours sur le disque dur pour plus de détail.
Ce mode est généralement appelé "Normal" dans le Setup du BIOS. Il contraint le BIOS à se comporter comme un modèle obsolète sans effectuer de conversions. Utilisez ce paramétrage si votre disque dur comporte moins de 1 024 cylindres ou si vous souhaitez l'utiliser avec un système d'exploitation autre que DOS qui n'est pas capable d'utiliser le mode de conversion CHS
Pour faire communiquer le BIOS et le disque dur, le mode CHS étendu
utilise une configuration géométrique convertie différente
de celle utilisée pour faire communiquer le BIOS avec un autre périphérique.
En d'autres termes, le BIOS utilise deux types de conversion. Le disque effectue
une conversion en interne mais il accepte des paramètres logiques
excédant la limite de 1 024 cylindres. Dans ce cas, il faut généralement
diviser le nombre de cylindres et multiplier le nombre de têtes par deux
pour obtenir les valeurs converties à partir de celles entrées
dans le Setup de la mémoire CMOS. Ce type de paramétrage permet
de franchir la limite de 528 Mo avec au maximum 8 064 Mo = 7,875 Go.
Ce mode est généralement appelé "Large" ou "ECHS" dans le Setup du BIOS.
Ces paramètres ordonnent au BIOS d'utiliser le mode de conversion CHS étendu.
Utilisez ce mode de conversion si votre disque dur comporte plus de 1 024 cylindres
et n'accepte pas le mode LBA (adressage logique par blocs). II faut souligner que les
valeurs entrées dans le Setup du BIOS correspondent à la géométrie physique (cylindres,
têtes, secteurs) du disque dur et non à la configuration convertie.
Il constitue un moyen d'adressage linéaire des adresses d'un secteur
en commençant par le secteur 0 de la tête 0, cylindre 0, qui correspond
à LBA 0, et en continuant jusqu'au dernier secteur physique du disque.
Ce type d'adressage est nouveau sur les disques durs ATA-2 mais il a toujours
été utilisé sur les disques durs SCSI. Dans le cas du mode
d'adressage LBA, chaque secteur du disque dur est numéroté en
commençant à 0 alors qu'en mode normale la numérotation des secteurs commence à 1.
Ce numéro est un nombre binaire interne de 28 bits qui permet d'addresser
un secteur dont le numéro est compris dans l'intervalle [0 ... 228] = [0 ... 268 435 456].
Chaque secteur occupe 512 octets, la capacité maximale du disque dur en mode LBA
est d'exactement de 228 * 512 = 128 Go, soit 137 438 953 472 octects.
( Voir tableau des unités )
On voit que la limite est de 137 438 953 472 octects, c'est pour cela que les medias parlent
de la limite de 137 Go, mais ils oublient toujours de faire la bonne convertion. En fait
lorsque l'on transforme réellement les octects en Giga Octect on obtient 128 Go et non 137 ...
En ce qui concerne l'adressage, le système d'exploitation a malheureusement besoin d'utiliser
une valeur traduite en mode CHS, et le BIOS doit donc déterminer le nombre de secteurs du
disque dur et générer une valeur convertie en mode CHS.
| LBA = ( Numéro_Cylindre * Nombre_de_tête + Numéro_Tête ) * Nombre_de_Secteur + Numéro_Secteur - 1 |
Par exemple si on à un disque dur avec un CHS=(685,16,38) soit un disque dûr de 210Mo. Si on veux la valeur LBA correspondant au secteur numéro 20 du cylindre 100 et de la tête numéro 5 on aura :
| LBA = ( 100 * 16 + 5 ) * 38 + 20 - 1 = 61 009 |
En mode CHS, le BIOS est en pratique limité à 1 024 cylindres, 256 têtes et 63 secteurs par piste, ce qui correspond à une capacité totale légèrement inférieure à 8 Go. En d'autres termes, ce procédé permet, tout comme le CHS étendu, de dépasser la limite de 528 Mo. II est plus simple d'utiliser un seul nombre linéaire qu'une adresse de type CHS pour adresser un secteur de disque dur, ce qui explique qu'il soit préférable d'utiliser le mode LBA lorsque le disque dur l'accepte.
Vous devez vous entourer d'un certain nombre de précautions lorsque vous utilisez ces modes de conversion. Si vous changez de mode pour utiliser le mode CHS, ECHS ou LBA, le BIOS risque de changer de configuration géométrique. Il pourra se produire le même phénomène si vous installez sur un ordinateur utilisant le mode LBA un disque dur déjà formaté jusqu'alors installé sur un ordinateur plus ancien n'utilisant pas le mode LBA.
La géométrie logique CHS perçue par le système d'exploitation devra en effet se modifier et les données devront apparaître au mauvais endroit par rapport à l'endroit où elles sont effectivement stockées, ce qui pourra vous empêcher d'y accéder si vous n'êtes pas suffisamment prudent.
Pensez à toujours enregistrer les écrans de Setup de la mémoire CMOS correspondent à la configuration du disque dur pour pouvoir le reconfigurer en utilisant exactement les mêmes paramètres que ceux qu'il utilisait initialement. Spécification du mode LBA. Specification_LBA.pdf
On a vus, pour le mode LBA, que la valeur permettant d'identifier un secteur est stokée dans
une variable sur 28 bits. Cela a pour effet de limiter la capacité des disques formatés à 128 Go.
A partir de Janvier 2002 on a vus apparaitre des disques de 160 Go. Pour lever la limite des 128 Go,
l'ANSI NCITS T13 Technical Committee a édité une nouvelle norme appellé Big Drive ou ATA/ATAPI-6.
Les détail de ce nouveau standard et du ATA/ATAPI-7 sont décrits sur le site de www.t13.org
Cette norme permet de stocker la valeur LBA sur 48 bits au lieu de 28.
C'est à dire que l'on peut avoir un numéro de secteur compris dans l'intervalle
[0...248]. On a donc une capacité maximale théorique de
248 * 512 = 128 Po ( Peta-Octect) ou 144 115 188 075 855 872 octects.
( Voir tableau des unités )
Cette nouvelle norme est implémentée a partir des interfaces ATA/133.