Linux

為什麼我的 SATA 設備顯示在 /proc/scsi/scsi 下?

  • April 22, 2013

我的系統上有 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

它們顯示為 SCSI 設備,因為驅動程序將SCSI用於下一個核心層(通用磁碟驅動程序)。對於具有所有核心編譯時配置的所有核心版本上的所有SATA驅動程序,這實際上並非如此,但它很常見。甚至PATA設備也可以在該級別顯示為 SCSI(同樣,這取決於核心版本和核心編譯時配置,以及是否使用ide-scsi模組)。

驅動程序是否對物理設備使用 SCSI 並不重要。通常,確實如此。ATAPI用於與 PATA/SATA 光碟機和其他設備通信,是一種基於 SCSI 的協議封裝。但是,PATA/SATA 磁碟不使用 ATAPI。libata驅動程序集還包括ATA 命令集和 SCSI 之間的轉換器,因此您可以將 PATA/SATA 磁碟置於 SCSI 子系統的保護傘下。核心內部單獨的 ide 介面更像是歷史的倖存者。

您會注意到,出於同樣的原因, USB 磁碟也顯示為 SCSI(並且它們在 USB 匯流排上也使用 SCSI)。火線也是如此。

引用自:https://unix.stackexchange.com/questions/3901