为什么我的 SATA 设备显示在 /proc/scsi/scsi 下?

Ste*_*ski 12 linux sata scsi devices

我的系统上有 3 个 SATA 设备。它们显示在 下/proc/scsi/scsi,尽管它们不是 SCSI 设备。为什么我的 SATA 设备显示在 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
Run Code Online (Sandbox Code Playgroud)

Gil*_*il' 21

它们显示为 SCSI 设备,因为驱动程序与下一个内核层(通用磁盘驱动程序)进行SCSI 通信。对于具有所有内核编译时配置的所有内核版本上的所有SATA驱动程序实际上并非如此,但它很常见。甚至PATA设备也可以在该级别显示为 SCSI(同样,这取决于内核版本和内核编译时配置,以及是否使用该ide-scsi模块)。

驱动程序是否对物理设备使用 SCSI 并不重要。通常,确实如此。ATAPI用于与 PATA/SATA 光驱和其他设备通信,是一种基于 SCSI 的协议封装。但是,PATA/SATA 磁盘不使用 ATAPI。该libata的驱动器集合的还包括翻译的ATA命令集和SCSI之间,让您可以将SCSI子系统的保护伞下PATA / SATA磁盘。内核内部单独的 ide 接口更像是一种历史遗留物。

您会注意到,出于同样的原因,USB 磁盘也显示为 SCSI(并且它们在 USB 总线上也使用 SCSI)。这同样适用于火线