Чому мої пристрої SATA відображаються під / proc / scsi / scsi?


10

У мене в системі 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

Відповіді:


18

Вони відображаються як пристрої SCSI, оскільки драйвери передають SCSI до наступного рівня ядра (загального драйвера диска). Це насправді не стосується всіх драйверів SATA у всіх версіях ядра з усіма конфігураціями часу компіляції ядра, але це звичайно. Навіть пристрої PATA можуть виглядати як SCSI на цьому рівні (знову ж, це залежить від версії ядра та конфігурації часу збирання ядра, а також від того, чи використовується ide-scsiмодуль).

Не важливо, чи драйвер розмовляє SCSI з фізичним пристроєм. Часто так і є. ATAPI , що використовується для розмови з оптичними накопичувачами PATA / SATA та іншими пристроями, являє собою протокол на основі SCSI. Однак диски PATA / SATA не використовують ATAPI. Набір лідерів драйверів також включає перекладач між набором команд ATA та SCSI, щоб ви могли розмістити диски PATA / SATA під парасолькою підсистеми SCSI. Окремий інтерфейс ide всередині ядра є більш історичним переживанням.

Ви помітите, що USB-диски також з'являються як SCSI з тієї ж причини (і вони також розмовляють SCSI на шині USB). Те саме стосується Firewire .


Чи багато пристроїв IDE говорять про SCSI, і вони відображаються під /proc/scsi? В іншій системі у мене є привід IDE DVD, який вказаний у розділі /proc/ide/hdb/model.
Стефан Ласєвський

@Stefan: Усі нестародавні апаратні пристрої IDE розмовляють SCSI з контролером. Усі (я думаю) драйвери IDE можуть говорити SCSI (або, можливо, слід сказати, виглядати SCSI) на загальному шарі диска, якщо їх скласти відповідно, але вони (і кілька драйверів SATA) також можуть виглядати як IDE.
Жил "ТАК - перестань бути злим"

Gilles, чи можете ви точно уточнити шари (від hw до верхніх шарів Linux)? Я думаю, у нас є щось на кшталт: пристрій (фізичний привід), хост-контролер SATA (PHY HBA), драйвер низького рівня (отримує команди SCSI, розмовляючи з PHY HBA), середній рівень ядра SCSI (scsi_mod.ko), libata АБО scsi-диск -driver (sd_mod.ko), блок (доступний через / dev / sdX). Ви згодні?
Тотор

Я мав на увазі "Ви можете, будь ласка, вказати " ...
Totor
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.