The USB Storage Class

by Bob Seidel

Before we begin, I must mention the sad time I had last Saturday here on Oak Island. I went to a wake for a park. There was good food and lots of people were there, and kids played on the equipment. Heard in the background was a rendition of Joni Mitchell's "Big Yellow Taxi", with the well-known line "They paved paradise, put up a parking lot". First it was a park, then it became a monument to egotism, and now it will become (quite literally) a parking lot. Sad, sad, sad.

I don't like to get off too much into the technical weeds, but I haven't done it in a while, and I think this topic may help people understand how to use external USB drives - whether they are readers for their digital photo memory cards, or those thumb-sized external USB memories, or even external USB-attached hard drives. The point is: they all behave the same, and that is because of the USB Storage Class.

The folks who architected and designed USB were quite sharp - most of them had experience from the PC Card (PCMCIA) interface, and they learned from their previous efforts. USB has some really valuable features - fully functional plug and play (meaning that you the PC recognizes them automatically when plugged in), hot plug (meaning that you can plug and unplug them at any time, even with the power on) and a universal connector. But they went beyond that.

Older PC interfaces (such as the serial and parallel interfaces) were what is called "dumb" in the industry - there was very little status information exchanged between the device and the PC. USB, on the other hand, is a very "smart" interface in which the device and the PC exchange a large amount of status information. Being "smart" devices, the USB developers could use them in new and different ways.

The USB developers envisioned that certain similar types of devices could be grouped into standard classes. The HID (Human Interface Device) Class is one such class - it supports keyboards, mice, joysticks, and other devices that directly interface to a human being. The Storage Class is another.

The Storage Class was meant to support all of the types of storage devices that I mentioned earlier in the column. The model chosen to represent these devices was that of a standard disk-type device - i.e. a floppy diskette or a hard drive. Because of the Storage Class you can create folders and files on any such device plugged into your PC. You can copy or move files between them and your PC, and your programs can Open or Save files to them. These devices behave just as if they were just another drive, with another drive letter. Backup or synchronization utilities written for diskettes will work just fine to USB storage devices without any modification. You can save your Quicken data on a USB storage device just by using a different drive letter.

Many people tend to have difficulty understanding their PC because they have the perception that everything works differently, and that learning so much is difficult. Here is a case where many devices all behave in the same way, making it fairly easy to learn.

Another major advantage of USB classes is that the driver code to support them is already built in to Windows XP. You can attach any of these devices without installing any drivers first. This means, for example, that you can write some info to your USB thumb drive at home, and then read it at work with no problem - as long as both systems have Windows XP.

The USB Storage Class works on both the older, slower USB 1.1 and the newer, faster USB 2.0. If you plug a device meant for USB 2.0 into an older version, it is going to run, but a lot slower. USB drives are going to rapidly replace the floppy diskette, and many systems are being shipped these days without diskette drives at all. So, it's important that you get up to speed on the new system.

Bob Seidel is a local computer consultant in the Southport - Oak Island area. You can visit his Website at www.bobseidel.com or e-mail questions or column ideas to him at bsc@bobseidel.com. For specific inquiries, please call Bob Seidel Consulting, LLC at 278-1007.