- Small computer system Interface
-
Small Computer System Interface
SCSI, Small Computer System Interface en anglais, est un standard définissant un bus informatique permettant de relier un ordinateur à des périphériques ou bien même à un autre ordinateur.
Le standard décrit les spécifications mécaniques, électriques et fonctionnelles du bus.
Sommaire
Historique
Le bus SCSI a été initialement créé par la société Shugart, du nom de son fondateur Al Shugart, un pionnier de l'informatique, ancien ingénieur chez IBM (spécialiste des disques durs), sous le nom de SASI (en) (Shugart Associates Systems Interface) en 1979.
Shugart se lie avec NCR Corporation en 1981 dans l'espoir d'en faire un standard ANSI. Un comité technique est créé, il améliorera sensiblement le bus SASI, le renomme SCSI et la norme X3.131 le décrivant verra le jour en 1986.
La première norme définissait trop de paramètres optionnels pour la norme (notamment dans le jeu de commandes, mais aussi dans les possibilités matérielles comme pour les bits de parité, etc.), et les incompatibilités entre fabricants sont nombreuses.
Des améliorations furent apportées en 1994 avec la norme SCSI-2 et récemment avec la norme SCSI-3, réduisant ces problèmes d'interopérabilité.
Spécificités
Ce qui différencie ce bus des autres est qu'il déporte l'intelligence vers le périphérique lui-même. De ce fait les commandes envoyées au périphérique peuvent être complexes, c'est sous le contrôle du périphérique qu'elles seront (éventuellement) décomposées en sous-tâches plus simples, ce qui est extrêmement avantageux si l'on travaille avec des systèmes d'exploitation multi-tâche.
Cette interface est donc plus rapide, plus universelle et plus complexe que l'interface E-IDE dont le principal inconvénient est d'accaparer un pourcentage non négligeable du processeur, ce qui constitue un handicap quand de nombreux flux de données sont simultanément ouverts.
Plus « intelligente » et moins dépendante vis-à-vis de l'unité centrale, l'interface SCSI peut gérer des périphériques internes et externes très variés, tels que disques durs, scanners, graveurs, unités de sauvegardes, etc.
Périphériques concernés
La norme SCSI-2 précise que le bus peut relier entre eux :
- des ordinateurs
avec des périphériques tels que :
- disques durs
- lecteurs de disquettes
- lecteurs de bandes magnétiques
- imprimantes
- lecteurs de disque optique (WORM)
- lecteurs de disque optique (CD-ROM)
- scanners
- changeur de média
- périphériques de communication
La norme ne restreint pas l'utilisation du bus à l'interconnexion d'un ordinateur avec des périphériques, mais qu'il peut être utilisé entre des ordinateurs, ou pour partager des périphériques entre ordinateurs.
La norme SCSI-3 est plus généraliste. On se référera à la page du comité technique pour en avoir le détail.
Modes de transfert
Interface Vitesse Bus (Mo/s) Fréquence de bus (MHz) Taille Bus (bits) Longueur max. de câble SE (m) Longueur max. de câble LVD (m) Longueur max. de câble HVD (m) SCSI-1 SCSI 5 5 8 6 - 25 SCSI-2 Wide SCSI 10 5 16 3 - 25 Fast SCSI 10 10 8 3 - 25 Fast Wide SCSI 20 10 16 3 - 25 SCSI-3 Ultra SCSI 20 20 8 1,5 - 25 Ultra Wide SCSI 40 20 16 3 - - Ultra2 SCSI 40 40 8 - 12 25 Ultra2 Wide SCSI 80 40 16 - 12 25 Ultra3 SCSI 80 80 8 - 12 - Ultra-160 SCSI (ou Ultra3 Wide SCSI) 160 80 16 - 12 - Ultra-320 SCSI 320 160 (80 MHz DDR) 16 - 12 - Ultra-640 SCSI 640 320 (80 MHz QDR) 16 - 12 - Autres technologies utilisées avec les commandes SCSI-3 Interface parallèle Interfaces série Ultra SCSI FC-AL SSA IEEE P 1394 Protocole SCSI Interlock Protocol (SIP) Fibre Channel Protocol (FCP) Serial Storage Protocol (SSP) Serial Bus Protocol (SBP) Vitesse max. 5 à 640 Mo/s 100 à 400 Mo/s 20 à 80 Mo/s 12,5 à 200 Mo/s Nombre de périphériques 7 à 15 126 128 63 Distance 12 à 25 m 20 à 200 m (cuivre)
10 km (fibre optique)20 m (cuivre)
680 m (fibre optique)72 m Améliorations du SCSI-3 par rapport au SCSI-2
Le SCSI-3 présente comme énorme changement l'apparition d'un bus série, dans une technologie jusqu'à présent exclusivement parallèle. Il apporte aussi quelques nouveautés et améliorations dans l'interface parallèle.
Interfaces parallèles
Ultra 3
La fréquence du bus est doublée. On passe donc de 40 à 80 MHz. Les périphériques SE ne sont plus du tout compatibles avec ces fréquences à causes des phénomènes de réverbération.
Ultra 160
L'interface Ultra 160 utilise le LVD, elle n'est absolument plus compatible avec SCSI-1 et 2. L'Ultra 160 apporte de lourdes modifications dans la gestion du transfert de données.
- Mise en œuvre du CRC. Le bus étant en LVD, on a de plus grandes vitesse et donc de bien plus grands risques d'erreurs dans les transmissions. C'est pourquoi on a ajouté la génération d'un CRC afin de pouvoir vérifier l'intégrité des données.
- Domain Validation. La carte hôte négocie avec le périphérique la meilleure vitesse à utiliser (un peu à l'image de ce que font les modems), ce qui évite qu'on ne communique plus vite avec le périphérique qu'il n'en est capable (ce qui auparavant le rendait inaccessible).
- Double Transition Clocking. On transfère les données sur deux flancs (montant et descendant), ce qui permet de doubler les débits. C'est pourquoi on parle d'ultra160 (80 MHz × 2).
Ultra 320
L'interface 320 apporte des modifications supplémentaires par rapport à l'ultra160, ce qui permet d'augmenter encore la fréquence de travail à 160 MHz et d'augmenter les débits utiles.
- Packetized SCSI. L'ultra320 introduit un protocole de gestion de paquets de données. Ce qui a pour conséquence de réduire le nombre de commandes à transférer en même temps que les données. On peut aussi transmettre plusieurs commandes dans un seul paquet.
- QAS (Quick Arbitration and Selection). Nouvelle méthode de gestion du bus qui réduit le nombre de commandes nécessaires et donc le trafic « inutile »
- Read and Write Data Streaming. On peut envoyer plusieurs paquets d'affilée et n'attendre la commande de confirmation de réception qu'au moment de la réception de tous les paquets, ce qui réduit encore une fois le trafic « inutile »
- Flow Control. Pré-traitement des données à transférer dans une pile FIFO, ce qui permet de regrouper des données et d'effectuer un transfert en rafale quand un paquet est prêt.
- Pre-compensation. L'augmentation de la fréquence signifie la baisse de l'amplitude du signal. Un décalage qui n'aurait eu aucune conséquence avant devient gênant. À l'initialisation du bus, on teste donc chacun des fils et on crée une précompensation afin que lors de l'envoi de données sur le bus, toutes les données arrivent en même temps à destination (même si certains fils sont plus rapides que d'autres) azizo
Interfaces série
Améliorations par rapport à l'interface parallèle
Avec l'explosion des fréquences, les problèmes de décalage entre les signaux et leur sensibilité au bruit et aux capacités parasites deviennent problématiques et causent des restrictions dans la taille des câbles. On passe donc sur des bus série (un seul fil) ce qui évite les problèmes de courants induits.
La réflexion sur des interfaces séries fut commencée avant la mise au point de l'Ultra 160 et 320. Mais les débits offerts sont tels que ces technologies restent tout à fait viables. Le but de l'interface série est d'empaqueter les commandes et données SCSI et de les transférer via un seul fil, tout en conservant la compatibilité SCSI (afin de garder avantage notamment de la possibilité de stockage des commandes, très utile en multi-tâche).
On retrouve de nombreux avantages dans ces technologies, on peut citer notamment :
- des architectures point à point ;
- double accès : on peut accéder à un point de deux manières différentes, ce qui introduit une meilleure résistance aux pannes sur le bus ;
- possibilités plus grandes au niveaux des systèmes RAID, on peut monter à plus de 100 disques durs grâce à SSA ou Fiber Channel contre 5 avec une interface SCSI classique ;
- …
Technologies utilisées
On peut citer comme technologies séries utilisant les commandes SCSI :
Améliorations du SCSI-2 par rapport au SCSI-1
La norme SCSI-2 de 1994 est une amélioration du SCSI-1. Certains points ont été améliorés ou rendus obligatoires. Théoriquement SCSI-1 et SCSI-2 ont une compatibilité descendante. On peut noter que l'utilisation des bits de parité a été rendue obligatoire avec le SCSI-2.
Fast SCSI
On utilise des transferts synchrones de haut débit, ce qui permet des taux de transfert de 10 Mo/s sur un câblage 8 bits, et de 20 ou 40 Mo si on est sur du 16 ou 32 bits (avec une fréquence de 10 MHz).
Wide SCSI
On a la possibilité de travailler avec des bus plus larges de 16 ou 32 bits, ce qui permet des débits plus importants. On utilisait un câble A (50 broches) pour les transmissions sur 8 bits, le SCSI-2 avait prévu un câble B (68 broches) pour les bus plus larges. Mais il n'a pas rencontré de réel succès, on lui préfère le câble P (68 broches également) défini dans le SCSI-3. Pour le 32 bits, le câble P doit être utilisé avec un câble Q (68 broches lui aussi).
File d'attente des commandes
Le SCSI-1 ne permettait d'envoyer les commandes qu'une à une. Le SCSI-2 permet d'envoyer jusqu'à 256 commandes à un périphérique. Elles seront stockées et traitées dans l'ordre optimal par le périphérique. Ceci permet d'augmenter les performances de travail du périphérique et prend un intérêt fort quand on travaille avec des systèmes d'exploitation multi-tâche (Linux, MS-Windows NT etc.) qui peuvent être amenés à faire plusieurs requêtes simultanément à un périphérique (plusieurs accès en lecture sur un disque dur par exemple).
Types de câblage
Transport des données
- Singled Ended (SE) : On travaille en mode asymétrique. Pour chaque signal à envoyer par le bus correspond un fil unique.
- High Voltage Differential (HVD) : On travaille en mode différentiel. Pour chaque signal, on utilise deux fils : le premier porte le signal, le second porte son opposé. Le récepteur traite la différence entre les deux.
- Low Voltage Differential (LVD) : Idem HVD, mais avec des tensions plus petites, permettant des câbles plus longs (meilleure tolérance aux capacités parasites et au bruit).
Résistances de terminaison
- Résistance passive : En fin de câble, on établit deux résistances de 220 et 330 Ω, soit 132 Ω. La 220 est reliée à la masse, la 330 à l'alimentation qui est fournie par un des composants du bus (qui ne doit donc jamais être éteint si on veut que le bus fonctionne). Mais à fréquences trop élevées, ce type de résistance de terminaison provoque des réverbérations du signal. La terminaison passive est limitée à de petits tronçons de câbles, et insuffisante pour le Fast et le Wide SCSI-2. Il faut donc l'éviter, ce qui n'est pas difficile car il n'y a pratiquement plus de constructeur qui l'utilise.
- Résistance active (ou Alternative2) : Résistance de 110 Ω obtenue par des régulateurs de tension. Elle évite les phénomènes de réverbération. La terminaison active est fortement conseillée par la norme SCSI-2. Elle offre des régulateurs de tension pour que le signal SCSI se termine toujours à un niveau de tension correct.
- Résistance parfaite forcée : Variante de l'Alternative2 qui permet des câbles plus longs. La terminaison Forced Perfect Termination est une variation améliorée de la terminaison active. Il en existe plusieurs versions : FPT-3, 18, 27…
Voir aussi
Articles connexes
- (en) SCA (Single Connector Attachment) prise SCSI à 68 ou 80 broches
- (en) LUN (Logical Unit Number)
- (fr) USB (Universal Serial Bus)
Liens externes
- (en) SCSI Standards Architecture
- (en) Norme SCSI-2[pdf]
- (en) Excellent article de vulgarisation sur le bus SCSI
- (fr) SCSI mon amour
- (fr) Détails des brochages des connecteurs SCSI
Catégories : Connectique | Bus informatique | Norme
Wikimedia Foundation. 2010.