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?


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.



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.

  • 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 7 '15 at 3:16
  • 1
    It's exactly like a coffee mug, it was first used for SCSI drives and then generalized to other hardware. – orion Jan 7 '15 at 7: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 5 '20 at 7:31

Not the answer you're looking for? Browse other questions tagged or ask your own question.