title: Tagged Command Queuing
text: # Tagged Command Queuing
  
  Tagged Command Queuing (TCQ) est une technique intégrée à certains disques durs PATA (plus connue sous le nom d'IDE) et SCSI. Elle permet au système d'exploitation d'envoyer de multiples requêtes de lecture/écriture à un disque dur. TCQ est quasiment identique quant à ses fonctionnalités à la technique Native Command Queuing (NCQ) utilisée par les disques SATA, et a été créé d'après le constat que le TCQ était difficilement adaptable à ces disques.
  
  La principale différence avec NCQ est la possibilité d'attribuer une priorité à chaque commande et de laisser le disque dur décider dans quel ordre il les retournera. Ceci permet notamment de servir en priorité les requêtes provenant d'une base de données ou d'un processus en temps réel.
  
  Pour les disques PATA et SATA, lorsque le protocole est implémenté, cette queues est limitée à 32 commandes soit la même que pour le Native Command Queuing (NCQ). Il fut rarement implémenté, car les performances sont généralement assez mauvaises et toujours inférieures au TCQ pour ces disques, à cause de la conception de leurs protocole de communication qui s'y adapte mal.
  
  Pour les disques SCSI modernes, cette limite est généralement d'au moins 64 commandes, et le bus lui-même en supporte encore beaucoup plus (utile dans le cas d'un RAID ou d'un SAN utilisant le protocole iSCSI ou Fibre Channel. Puisque ce protocole avait d'abord été conçu pour la technologie SCSI, il n'est pas étonnant qu'il y soit très bien adapté et que NCQ, techniquement inférieur pour certaines applications, n'ait jamais été sérieusement implémenté dans le monde SCSI.
  
  L'implémentation SCSI permet d'ajouter une commande selon trois mode:
  
  * Début de la file: prochaine commande à être traitée à moins qu'une autre commande de ce type arrive avant; rarement utilisé et presque seulement dans le cas d'applications en temps réel ou pendant la gestion d'une interruption.
  * Ordonné: les commandes ajoutées après seront toujours traitées après, exception faite des commandes de type «début de la file».
  * Simple: aucun ordre imposé; la plus utilisée.
  