14

Looking at what block device commands like lsblk or blkid return it seems that linux HDD support SCSI drivers regardless of the type of the devices, like a USB flash driver that is presented as follows in lsblk command:

...
    sdb               8:16   1    30G  0 disk 
    └─sdb1            8:17   1    30G  0 part /run/media/user/HP v224w
...

Why sdb and sda drivers are called SCSI drivers? What does this terminology have to do with Small Computer System Interface?

Gilles 'SO- stop being evil'
  • 807,993
  • 194
  • 1,674
  • 2,175
SRYZDN
  • 1,069
  • 2
  • 11
  • 12

1 Answers1

22

SCSI is not only a type of hardware interface, but also a command protocol, which is used for abstraction of most of the modern storage devices. Linux scsi driver is a high level driver that handles a variety of storage hardware.

Protocol:

http://en.wikipedia.org/wiki/SCSI_command

Extract from SCSI on wikipedia:

Other technologies which use the SCSI command set include the ATA Packet Interface, USB Mass Storage class and FireWire SBP-2.

goldilocks
  • 86,451
  • 30
  • 200
  • 258
orion
  • 12,302
  • 2
  • 31
  • 41
  • 2
    So why is it considered the SCSI command protocol if it appears that every type of interface uses it? I guess it's like calling a coffee mug a coffee mug even if I pour orange juice in it. – Brandon Jan 07 '15 at 03:16
  • 1
    It's exactly like a coffee mug, it was first used for SCSI drives and then generalized to other hardware. – orion Jan 07 '15 at 07:52
  • In fact IDE ATAPI command reference is a subset of SCSI command reference. Even USB storage standard was inspired by SCSI. So even if physically these device are not implemented as SCSI, IDE and USB devices do respond to SCSI commands. – ibre5041 Jun 05 '20 at 07:31