« Integrated Drive Electronics » : différence entre les versions

Contenu supprimé Contenu ajouté
m wikif
Ligne 3 :
[[Catégorie:Protocole informatique]]
 
Le protocole '''IDE''', [[acronyme]] de '''Integrated Drive Electronics''', est un des standards les plus répandus en ce qui concerne les [[disque dur|disques durs]]. Tout système digne de ce nom doit donc impérativement supporter ce protocole par le biais d'un [[Pilote (informatique)|pilote]]. Bien sûr, il serait plus simple d'utiliser le [[BIOS]] qui fournit déjà des fonctions d'accès aux disques durs ([[interruption (informatique)|interruption]] 13h) mais ces fonctions sont limitées, lentes, et parfois [[bug (informatique)|boguées]]. Se baser sur le [[BIOS]] ne permet donc pas d'avoir un système fiable sans compter qu'en mode protégé, c'est impossible. C'est pourquoi il nous faut réécrire les routines d'accès aux disques.
 
''Ce document présente le protocole IDE. Il n'est pas exhaustif et de nombreuses fonctions sont évoquées sans être détaillées. Néanmoins, les informations contenues dans ce document suffisent pour les opérations de base, d'ailleurs illustrées par du code.''
Ligne 30 :
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).
<br />''Note : Ces commandes étaient, pour les [[CD-ROM]], définies dans le document SFF-8020i, maintenant obsolète.''
 
Quelques-unes des commandes sont décrites dans ce document.
Ligne 592 :
 
La détection des disques installés sur un contrôleur est à mon sens plus difficile.
<br />La méthode la plus sûre à mon avis est d'envoyer une commande au disque et d'attendre. Si la réponse tarde trop, on suppose que le disque testé n'existe pas. Cette méthode n'est sûr que si l'attente est suffisamment grande. Il faut noter que même le [[BIOS]] peut mettre quelques secondes à détecter l'absence d'un disque donc cette méthode n'est peut-être pas si mauvaise. Il faut faire attention à la commande que l'on choisit. En effet, selon que l'on veut détecter uniquement les disques ATA, ATAPI ou les deux, il faut choisir la commande qui corresponde. En choisissant la commande 0xec et en attendant que le contrôleur soit prèt à recevoir des données, les disques ATAPI répondront mais ne seront jamais prêts pour un transfert. Le programme déduira donc que le disque n'existe pas.
<p>En fait, avec cette méthode, il faut bien choisir la commande à envoyer et le résultat qu'on en attend.