Perché i miei dispositivi SATA vengono visualizzati in / proc / scsi / scsi?


10

Ho 3 dispositivi SATA sul mio sistema. Vengono visualizzati sotto /proc/scsi/scsi, sebbene questi non siano dispositivi SCSI. Perché i miei dispositivi SATA vengono visualizzati nella directory 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

Risposte:


18

Vengono visualizzati come dispositivi SCSI perché i driver comunicano SCSI al livello del kernel successivo (il driver del disco generico). Questo non è vero per tutti i driver SATA su tutte le versioni del kernel con tutte le configurazioni di compilazione del kernel, ma è comune. Perfino i dispositivi PATA possono apparire come SCSI a quel livello (di nuovo, ciò dipende dalla versione del kernel e dalla configurazione del tempo di compilazione del kernel, oltre che dall'uso del ide-scsimodulo).

Non importa se il driver parla SCSI al dispositivo fisico. Spesso lo fa. ATAPI , utilizzato per parlare con unità ottiche PATA / SATA e altri dispositivi, è un incapsulamento di protocollo basato su SCSI. Tuttavia, i dischi PATA / SATA non utilizzano ATAPI. Il set di driver libata include anche un traduttore tra il set di comandi ATA e SCSI in modo da poter posizionare i dischi PATA / SATA sotto l'ombrello del sottosistema SCSI. L'interfaccia ide separata all'interno del kernel è più una sopravvivenza storica.

Noterai che i dischi USB compaiono anche come SCSI, per lo stesso motivo (e parlano anche SCSI sul bus USB). Lo stesso vale per Firewire .


Molti dispositivi IDE parlano SCSI e vengono visualizzati sotto /proc/scsi? Su un altro sistema, ho un disco IDE DVD elencato sotto /proc/ide/hdb/model.
Stefan Lasiewski,

@Stefan: tutti i dispositivi hardware IDE non antichi parlano SCSI al controller. Tutti i driver (credo) IDE possono parlare SCSI (o forse dovrei dire guardare SCSI) al livello del disco generico se compilati di conseguenza, ma anche loro (e alcuni driver SATA) possono sembrare IDE.
Gilles 'SO- smetti di essere malvagio' il

Gilles, puoi precisare i livelli (da hw ai livelli superiori di Linux)? Suppongo che abbiamo qualcosa come: dispositivo (unità fisica), controller host SATA (PHY HBA), driver di basso livello (ricezione di comandi SCSI, parlando con PHY HBA), midlayer SCSI-core (scsi_mod.ko), libata OR scsi-disk -driver (sd_mod.ko), blocco (disponibile tramite / dev / sdX). Sei d'accordo?
Totor

Intendevo "puoi per favore specificare " ...
Totor
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.