¿Por qué mis dispositivos SATA aparecen en / proc / scsi / scsi?


10

Tengo 3 dispositivos SATA en mi sistema. Aparecen debajo /proc/scsi/scsi, aunque estos no son dispositivos SCSI. ¿Por qué mis dispositivos SATA aparecen en el directorio 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

Respuestas:


18

Aparecen como dispositivos SCSI porque los controladores hablan SCSI a la siguiente capa del núcleo (el controlador de disco genérico). Esto no es realmente cierto para todos los controladores SATA en todas las versiones del núcleo con todas las configuraciones de tiempo de compilación del núcleo, pero es común. Incluso los dispositivos PATA pueden aparecer como SCSI en ese nivel (de nuevo, eso depende de la versión del kernel y la configuración del tiempo de compilación del kernel, así como de si ide-scsise usa el módulo).

Realmente no importa si el controlador habla SCSI al dispositivo físico. A menudo lo hace. ATAPI , utilizado para hablar con unidades ópticas PATA / SATA y otros dispositivos, es una encapsulación de protocolo basada en SCSI. Sin embargo, los discos PATA / SATA no usan ATAPI. El conjunto de controladores libata también incluye un traductor entre el conjunto de comandos ATA y SCSI para que pueda colocar discos PATA / SATA bajo el paraguas del subsistema SCSI. La interfaz ide separada dentro del núcleo es más una supervivencia histórica.

Notará que los discos USB también aparecen como SCSI, por la misma razón (y también hablan SCSI en el bus USB). Lo mismo vale para Firewire .


¿Muchos dispositivos IDE hablan SCSI y aparecen debajo /proc/scsi? En otro sistema, tengo una unidad de DVD IDE que se enumera a continuación /proc/ide/hdb/model.
Stefan Lasiewski

@Stefan: Todos los dispositivos de hardware IDE no antiguos hablan SCSI al controlador. Todos los controladores IDE (creo) pueden hablar SCSI (o tal vez debería decir mirar SCSI) a la capa de disco genérico si se compilan en consecuencia, pero ellos (y algunos controladores SATA) también pueden parecerse a IDE.
Gilles 'SO- deja de ser malvado'

Gilles, ¿puedes precisar las capas (desde hw hasta las capas superiores de Linux)? Supongo que tenemos algo como: dispositivo (unidad física), controlador de host SATA (PHY HBA), controlador de bajo nivel (que recibe comandos SCSI, hablando con PHY HBA), capa intermedia SCSI-core (scsi_mod.ko), libata O disco scsi -controlador (sd_mod.ko), bloque (disponible a través de / dev / sdX). ¿Estás de acuerdo?
Totor

Me refiero a "puede usted por favor especifique " ...
Totor
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.