Hello,
When you mount a DiskOnKey in Linux, you mount it on /dev/sda. As I look at the code of usb.c under drivers/usb/storage/usb.c I see that there is a layer of Scsi Emulation. To give only 2 example, I see that in usb_stor_control_thread() , for example, there is a creation of a Scsi_Host instance (which is always performed).Also there is a file under storage named scsiglue.h.
There is a known use from the past of SCSI emulation in ATAPI (for CD-RW devices, for example).
But the fact is ,as far as I know,that the DiskOnKey is not a SCSI device. Also when you connect a USB hard disk you use this SCSI emulation. Again , as far as I know , the disk is nothing to do with SCSI but is a regular IDE disk.
My question is: is this SCSI emulation a MUST ? Why couldn't we bypass it and use the usual IDE layer? Or is the SCSI emulation better? I apprecaite if anyone can give a short explanation.
The dedicated usb blog:
USBLOG