Pourquoi mes périphériques SATA apparaissent-ils sous / proc / scsi / scsi?

10

J'ai 3 appareils SATA sur mon système. Ils apparaissent sous /proc/scsi/scsi, bien que ce ne soient pas des périphériques SCSI. Pourquoi mes périphériques SATA apparaissent-ils dans le répertoire SCSI?

$ cat /proc/scsi/scsi 
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: WDC WD2500AAJS-6 Rev: 01.0
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Host: scsi1 Channel: 00 Id: 00 Lun: 00
  Vendor: TSSTcorp Model: CDDVDW TS-H653Z  Rev: 4303
  Type:   CD-ROM                           ANSI  SCSI revision: 05
Host: scsi4 Channel: 00 Id: 00 Lun: 00
  Vendor: ATA      Model: ST3320620AS      Rev: 3.AA
  Type:   Direct-Access                    ANSI  SCSI revision: 05
Stefan Lasiewski
la source

Réponses:

18

Ils apparaissent comme des périphériques SCSI car les pilotes parlent SCSI à la couche de noyau suivante (le pilote de disque générique). Ce n'est pas vrai pour tous les pilotes SATA sur toutes les versions du noyau avec toutes les configurations au moment de la compilation du noyau, mais c'est courant. Même les périphériques PATA peuvent apparaître en tant que SCSI à ce niveau (là encore, cela dépend de la version du noyau et de la configuration au moment de la compilation du noyau, ainsi que de l'utilisation du ide-scsimodule).

Peu importe que le pilote parle SCSI au périphérique physique. C'est souvent le cas. ATAPI , utilisé pour parler aux lecteurs optiques PATA / SATA et à d'autres périphériques, est une encapsulation de protocole basée sur SCSI. Cependant, les disques PATA / SATA n'utilisent pas ATAPI. L' ensemble de pilotes libata comprend également un traducteur entre l'ensemble de commandes ATA et SCSI afin que vous puissiez placer des disques PATA / SATA sous l'égide du sous-système SCSI. L'interface IDE séparée à l'intérieur du noyau est plus une survivance historique.

Vous remarquerez que les disques USB apparaissent également en tant que SCSI, pour la même raison (et ils parlent également SCSI sur le bus USB). Il en va de même pour Firewire .

Gilles 'SO- arrête d'être méchant'
la source
De nombreux périphériques IDE parlent-ils SCSI et apparaissent-ils sous /proc/scsi? Sur un autre système, j'ai un lecteur de DVD IDE qui est répertorié sous /proc/ide/hdb/model.
Stefan Lasiewski
@Stefan: Tous les périphériques matériels IDE non anciens parlent SCSI au contrôleur. Tous (je pense) les pilotes IDE peuvent parler SCSI (ou peut-être devrais-je dire regarder SCSI) à la couche de disque générique s'ils sont compilés en conséquence, mais ils (et quelques pilotes SATA) peuvent également ressembler à IDE.
Gilles 'SO- arrête d'être méchant'
Gilles, pouvez-vous préciser les couches (de hw aux couches supérieures Linux)? Je suppose que nous avons quelque chose comme: périphérique (lecteur physique), contrôleur hôte SATA (PHY HBA), pilote de bas niveau (recevant les commandes SCSI, parlant à PHY HBA), couche intermédiaire du noyau SCSI (scsi_mod.ko), libata OU scsi-disk -driver (sd_mod.ko), block (disponible via / dev / sdX). Êtes-vous d'accord?
Totor
Je voulais dire "pouvez-vous s'il vous plaît spécifier " ...
Totor