Tại sao các thiết bị SATA của tôi hiển thị dưới / Proc / scsi / scsi?


10

Tôi có 3 thiết bị SATA trên hệ thống của mình. Chúng hiển thị bên dưới /proc/scsi/scsi, mặc dù đây không phải là các thiết bị SCSI. Tại sao các thiết bị SATA của tôi hiển thị dưới thư mục 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

Câu trả lời:


18

Chúng hiển thị dưới dạng thiết bị SCSI vì trình điều khiển nói SCSI với lớp nhân tiếp theo (trình điều khiển đĩa chung). Điều này thực sự không đúng với tất cả các trình điều khiển SATA trên tất cả các phiên bản kernel với tất cả các cấu hình thời gian biên dịch kernel, nhưng nó phổ biến. Ngay cả các thiết bị PATA cũng có thể xuất hiện dưới dạng SCSI ở mức đó (một lần nữa, tùy thuộc vào phiên bản kernel và cấu hình thời gian biên dịch kernel, cũng như liệu ide-scsimô-đun có được sử dụng hay không).

Việc trình điều khiển nói SCSI với thiết bị vật lý không thực sự quan trọng. Thông thường, nó không. ATAPI , được sử dụng để nói chuyện với các ổ đĩa quang PATA / SATA và các thiết bị khác, là gói đóng gói giao thức dựa trên SCSI. Tuy nhiên, đĩa PATA / SATA không sử dụng ATAPI. Bộ trình điều khiển libata cũng bao gồm một trình dịch giữa bộ lệnh ATA và SCSI để bạn có thể đặt các đĩa PATA / SATA dưới ô của hệ thống con SCSI. Giao diện ide riêng biệt bên trong kernel là một sự sống sót lịch sử.

Bạn sẽ nhận thấy rằng các đĩa USB cũng xuất hiện dưới dạng SCSI, vì lý do tương tự (và chúng cũng nói SCSI trên bus USB). Điều tương tự cũng xảy ra với Firewire .


Có nhiều thiết bị IDE nói SCSI không và chúng có hiển thị bên dưới /proc/scsikhông? Trên một hệ thống khác, tôi có một ổ đĩa DVD IDE được liệt kê bên dưới /proc/ide/hdb/model.
Stefan Lasiewski

@Stefan: Tất cả các thiết bị phần cứng IDE không cổ đều nói SCSI với bộ điều khiển. Tất cả (tôi nghĩ) trình điều khiển IDE có thể nói SCSI (hoặc có thể tôi nên nói nhìn SCSI) với lớp đĩa chung nếu được biên dịch phù hợp, nhưng chúng (và một vài trình điều khiển SATA) cũng có thể trông giống IDE.
Gilles 'SO- ngừng trở nên xấu xa'

Gilles, bạn có thể vui lòng chính xác các lớp (từ hw đến lớp trên Linux) không? Tôi đoán chúng ta có một cái gì đó như: thiết bị (ổ đĩa vật lý), bộ điều khiển máy chủ SATA (PHY HBA), Trình điều khiển cấp thấp (nhận lệnh SCSI, nói chuyện với PHY HBA), bộ trung gian lõi SCSI (scsi_mod.ko), libata OR scsi-đĩa -do (sd_mod.ko), chặn (có sẵn thông qua / dev / sdX). Bạn có đồng ý không?
Totor

Ý tôi là "bạn có thể vui lòng chỉ định " ...
Totor
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.