Por que meus dispositivos SATA aparecem em / proc / scsi / scsi?

10

Eu tenho 3 dispositivos SATA no meu sistema. Eles aparecem abaixo /proc/scsi/scsi, embora não sejam dispositivos SCSI. Por que meus dispositivos SATA são exibidos no diretório 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
fonte

Respostas:

18

Eles aparecem como dispositivos SCSI porque os drivers falam SCSI para a próxima camada do kernel (o driver de disco genérico). Na verdade, isso não é verdade para todos os drivers SATA em todas as versões do kernel com todas as configurações de tempo de compilação do kernel, mas é comum. Até os dispositivos PATA podem aparecer como SCSI nesse nível (novamente, isso depende da versão do kernel e da configuração do tempo de compilação do kernel, bem como se o ide-scsimódulo é usado).

Realmente não importa se o driver fala SCSI para o dispositivo físico. Muitas vezes, sim. O ATAPI , usado para conversar com unidades ópticas PATA / SATA e outros dispositivos, é um encapsulamento de protocolo baseado em SCSI. No entanto, discos PATA / SATA não usam ATAPI. O conjunto de drivers libata também inclui um conversor entre o conjunto de comandos ATA e o SCSI, para que você possa colocar os discos PATA / SATA sob o guarda-chuva do subsistema SCSI. A interface ide separada dentro do kernel é mais uma sobrevivência histórica.

Você notará que os discos USB também aparecem como SCSI, pelo mesmo motivo (e também falam SCSI no barramento USB). O mesmo vale para o Firewire .

Gilles 'SO- parar de ser mau'
fonte
Muitos dispositivos IDE falam SCSI e aparecem abaixo /proc/scsi? Em outro sistema, tenho uma unidade de DVD IDE listada em /proc/ide/hdb/model.
Stefan Lasiewski
@ Stefan: Todos os dispositivos de hardware IDE não antigos falam SCSI com o controlador. Todos (eu acho) drivers IDE podem falar SCSI (ou talvez eu deva parecer SCSI) com a camada de disco genérica, se compilados de acordo, mas eles (e alguns drivers SATA) também podem se parecer com IDE.
Gilles 'SO- stop be evil'
Gilles, você pode precisar as camadas (do hw para as camadas superiores do Linux)? Eu acho que temos algo como: dispositivo (unidade física), controlador de host SATA (PHY HBA), driver de baixo nível (recebendo comandos SCSI, falando com PHY HBA), camada intermediária do núcleo SCSI (scsi_mod.ko), libata OU scsi-disk -driver (sd_mod.ko), bloco (disponível através de / dev / sdX). Você concorda?
Totor
Eu quis dizer "você pode por favor especificar " ...
Totor