Dlaczego moje urządzenia SATA pojawiają się w katalogu / proc / scsi / scsi?

10

Mam 3 urządzenia SATA w moim systemie. Pojawiają się pod /proc/scsi/scsi, chociaż nie są to urządzenia SCSI. Dlaczego moje urządzenia SATA pojawiają się w katalogu 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
źródło

Odpowiedzi:

18

Są wyświetlane jako urządzenia SCSI, ponieważ sterowniki mówią SCSI do następnej warstwy jądra (ogólny sterownik dysku). W rzeczywistości nie dotyczy to wszystkich sterowników SATA we wszystkich wersjach jądra ze wszystkimi konfiguracjami czasu kompilacji jądra, ale jest to powszechne. Nawet urządzenia PATA mogą pojawiać się jako SCSI na tym poziomie (ponownie, zależy to od wersji jądra i konfiguracji czasu kompilacji jądra, a także od tego, czy ide-scsimoduł jest używany).

Tak naprawdę nie ma znaczenia, czy sterownik mówi SCSI do urządzenia fizycznego. Często tak jest. ATAPI , używany do komunikacji z napędami optycznymi PATA / SATA i innymi urządzeniami, jest enkapsulacją protokołu opartą na SCSI. Jednak dyski PATA / SATA nie używają ATAPI. Libata zestaw sterowników obejmuje również tłumacza pomiędzy zestawem komend ATA i SCSI, dzięki czemu można umieścić dyski PATA / SATA pod parasolem podsystemu SCSI. Oddzielny interfejs ide w jądrze jest raczej historycznym przetrwaniem.

Zauważysz, że dyski USB również pojawiają się jako SCSI, z tego samego powodu (i mówią SCSI również na magistrali USB). To samo dotyczy Firewire .

Gilles „SO- przestań być zły”
źródło
Czy wiele urządzeń IDE mówi w języku SCSI i czy pojawiają się pod nimi /proc/scsi? W innym systemie mam napęd DVD IDE wymieniony poniżej /proc/ide/hdb/model.
Stefan Lasiewski,
@Stefan: Wszystkie nie starożytne urządzenia IDE mówią SCSI do kontrolera. Wszystkie (myślę) sterowniki IDE mogą mówić SCSI (a może powinienem powiedzieć spójrz SCSI) do ogólnej warstwy dysku, jeśli są odpowiednio skompilowane, ale one (i kilka sterowników SATA) mogą również wyglądać jak IDE.
Gilles 'SO - przestań być zły'
Gilles, czy możesz sprecyzować warstwy (od HW do wyższych warstw Linuksa)? Wydaje mi się, że mamy coś takiego: urządzenie (dysk fizyczny), kontroler hosta SATA (PHY HBA), sterownik niskiego poziomu (odbieranie poleceń SCSI, rozmawianie z PHY HBA), warstwa środkowa SCSI (scsi_mod.ko), libata LUB dysk SCSI -driver (sd_mod.ko), blok (dostępny przez / dev / sdX). Czy sie zgadzasz?
Totor
Miałem na myśli „czy możesz określić ” ...
Totor