dual-interface USB jump drive | |||||||||||||||||
I don't know if it is really necessary to stop a USB "flash" or "jump" drive before you unplug it from a USB port, but I tend to do it, unless it is being used by something I can't locate. Then I just yank it. Does anyone know if this is really harmful? Anyway, it would be very useful to have a jump drive with two USB cords and plug them into two machines (or more) and have them appear as drives on both. As long as you don't access simultaneously, it should be OK, right? Does anyone know of a product like this?
GaborKiss, Oct 12 2004
What do you think of this idea or comment? | |||||||||||||||||
Users who liked this idea also liked: | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
Add your comment
It can be harmful to yank a USB disk without "stopping" it first.
Normally, when you access a jump drive (or anything known as a "USB Mass Storage device"), most of the data you write doesn't go directly to the drive. Frequently, it's held in memory first, usually because resources required to perform the write are in use. (For example, if your jump drive is on a USB hub with a keyboard, mouse, digital camera, printer...just about anything.) When that happens, your operating system will put off writing the data to disk until those resources are free.
If you yank the jump drive before that data's been written, you've lost it.
There are other more technical examples regarding things like databases and filesystem metadata, but it's safe operate under the assumption that if you can stop it properly, you should.
As for the dual-interface jump drive, well, you may have a problem. If, when connected to two computers, the jump drive may only be read from, but not written to, then your idea would work with little alteration to existing devices and methods.
However, if you want to be able to write from one or both computers, you'll need some way for the two computers to coordinate their access. For the same reasons you don't want to yank out a jump drive, it's largely impractical for one computer to finish up it's business, give the other computer control, and then wait to receive control back.
The simplest way to access a jump drive from two different computers is to set the drive up as a network share over a home network. Windows computers, Macs and Linux machines all support this, though the directions for doing it are different on each. (Your best bet is to get tutalage on the subject from a friend who knows his way around computers.)
MikeMol,
Thanks for the comments. It sounds like the only way to hurt anything is to yank the jump drive while the USB is being used for something else, so if there are no other USB devices in use, then no problem.
There is no problem coordinating access since the two people involved are sitting right next to each other.
It still seems like a reasonable thing to use in an ad-hoc, fluid group of people who occasionally need to swap data. That's exactly the situation I'm in right now, which is why I thought of it.
OK...onto the more technical example regarding filesystems.
Data that's expected to change frequently shouldn't be written to a flash disk every time it changes. One example of such data is the file access times for the files on your disk. Every time you read from a file, a piece of information about that file, also stored on the disk needs to be updated to reflect exactly when the last time that file was read.
Now, if your program, such as Notepad, reads the whole file into memory, and performs the rest of its read/write operations there, you're fine. You've only read the file once, so you only need to update the "This file last read" field on the flash disk once.
However, if your program, such as Access, Word, Wordpad--or just about any other program out there--only reads parts of your file at a time, that field needs to be updated every time a part of that file is read. Flash disks experience a certain kind of wear every time data on them is updated, so this is a very bad thing.
However, modern operating systems such as Windows, MacOS X and Linux, get around this problem by remembering every update that needs to be made, and waiting until you tell the computer you no longer need to use the flash disk (i.e. you tell the computer to "stop" the device.) before writing all these changes. That way, even if a file was read four thousand times, its "This file least read" field only needs to be updated once.
If you remove the flash disk without properly stopping the device, you risk losing that information.
There's also a set of fields associated with each file that tells your computer how long the file is. (On most flash disks, as well as floppy disks, this is called the "FAT Table") If this field isn't properly updated before you disconnect the device, you run a very significant risk of corrupting any file that's been modified since the flash disk was inserted. Keep in mind, you're not the only one modifying files when your flash disk is inserted in your computer. Anti-spyware and anti-virus tools may also modify files, and Windows itself keeps a file called "Thumbs.db" properly updated in any directory that has image files it recognizes.
As for coordination...For optimum efficiency, the coordination has to be done by the computers, between the computers. One computer would tell the other computer when to go ahead and use disk.
The only form of human coordination currently possible with flash disks is the way you've already been doing it..Disconnect the flash disk, and hand it to the other person that needs it.
The only way to make the transfer of control faster is to configure Windows to "optimize for quick ejection" (or some setting similar to that.). I don't have the directions on how to do that handy at the moment, and Google isn't smiling down on me at the moment. I'll post a followup comment later, if you're interested.
Again, I'd suggest using a network share. If you or any of your friends know how to set it up, that would be the most effective way to go about it. (Assuming you're on the same network.)
If I wanted to use the same drive on two computers, side by side, I would equip them with an ethernet USB connection and open the drive on the network. (Google on USB ethernet to find devices.) I have a big Western Digital drive that I use for music and video that way on a wireless network. I can stream music and run games with it. And use it for back up. If you are using XP, it is easy to set up a network, even without a router.