A question I was recently asked was, “why isn’t the latest PC-Doctor for Linux release able to distinguish the differences between a USB flash drive and USB hard drive?” The answer is a bit interesting and ultimately boils down to a rather loose specification. To understand the problem, it helps to understand how USB mass storage devices work. USB mass storage devices, whether they are flash drives, hard drives, digital cameras, CDROMs, or DVD players, generally implement a small subset of SCSI commands. These commands are sent to the USB device via a special command block called a USB Request Block (URB). It is a very difficult task to properly implement the various SCSI standards and command sets properly in, and since most hardware and firmware designers want to keep development costs minimal, they often chose to only implement the commands required to make a device function. Even commands designated as MANDATORY in the SCSI specifications often go unimplemented or only partially implemented in the firmware of these devices.

There are a few SCSI commands which seem to be consistently implemented. They are listed below:

  • INQUIRY
  • REQUEST SENSE
  • READ CAPACITY
  • READ (10)
  • WRITE (10)
  • TEST UNIT READY

One needs to understand as to why these drugs cause sexual disorders? A majority of Antidepressants works to elevate levels of neurotransmitter online levitra india serotonin and this rise in serotonin levels leads to a negative impact upon the desire and arousal phase of our sexual response cycle. This sort of medicine is only proposed for the men, so a woman get viagra no prescription must not dare to take it. Erectile dysfunction or ED or impotence steals the happiness from tadalafil discount the life of its victim. Sometimes a buy viagra uk chemical or compound designed to treat one of the most common problems in men during intercourse.
The only command relevant to our discussion is the INQUIRY command. This command is described in the SCSI Primary Command Set. This command instructs the device to send the computer information describing the device and its logical unit. The returned data conforms to the Standard INQUIRY data format and contains the following information that is of interest to most users:

  • Peripheral Device Type – This field is generally set to 0x00 (Disk), 0x05 (CD/DVD device), 0x0E (some disks).
  • Removable Media Bit (RMB) – This bit field can be true (1) or false (0). When set true, the medium or disk is supposed to be removable. When set to false, the medium is not removable.
  • Vendor Identification – A string of 8 characters which uniquely identify the vendor of the device. Each vendor is assigned a string by INCITS.
  • Product Identification – This field contains 16 ASCII characters that the vendor can name their device.
  • Product Revision Level – This field contains 4 ASCII characters which the vendor can use to distinguish different revisions of their product.

There is a lot more information provided by the INQUIRY data, but the only field relevant to our discussion is the Removable Media Bit.

Most USB hard drives are actually ATA or SATA disks, hidden behind what’s called a USB-ATA or USB-SATA bridge chip. This chip translates USB and SCSI commands into the appropriate command for the enclosed disk, whether it be ATA or SATA. These chips generally say that their medium is not removable, because it is a âÂ?Â?fixedâÂ?Â? disk and you cannot easily replace the enclosed hard drive while the USB device is plugged in.

Most USB flash drives, on the other hand, identify themselves as having removable mediums, thus setting the RMB bit to true.

So let’s go back to the original question: Why isn’t PC-Doctor for Linux able to distinguish the differences between a USB flash drive and USB hard drive?

With your understanding of the above-described Removable Media Bit, you might say âÂ?Â?well, just say it’s a hard drive if the RMB is set false and say it’s a flash drive if the RMB is set true.âÂ?Â? Flash drives are manufactured to falsely report their media is removable, even if its soldered to their circuit board. You’d be right, your solution would work … to a degree.

Well, the proposed solution works only sometimes. There are devices out there which correctly identify themselves as not being removable, for example the Sandisk uDiskOnChip Embedded USB Flash Disk, which actually identifies itself truthfully by setting the RMB to false.

In such a case, the proposed solution would identify the uDiskOnChip as being a hard disk, which would make the PC-Doctor product look a little bit stupid for falsely identifying a device as something it isn’t. So for the Linux product, we decided that it was better to not ask the question âÂ?Â?is it a hard drive or flash disk?âÂ?Â? and instead just call it simply a âÂ?Â?USB mass storage deviceâÂ?Â?.

While some consumers may find it confusing that we call their thumb/pen drive or USB hard drive a USB mass storage device instead of just a �flash disk� or �hard disk�, we are trying to be as accurate as possible given that there are no other standardized ways which we can use to distinguish differences.

For more information: