Thursday, 19 October 2017

Can You Remove Your USB External Drive When Your Computer is in Sleep Mode?

We have all heard the admonition about safely removing USB devices when we are done with them, but what if an operating system is suspended and you decide to simply unplug the USB device then and there anyway?

The Question

We are often cautioned against unplugging USB drives in case they are currently being read from or written to. When a computer is suspended, hibernated, or asleep, it is obviously not writing any data. It may have been in the middle of a read or write operation, however, and it will have put such an operation on hold.

Since no arms are moving (for USB hard drives), or bytes on the drive flickering on and off (for flash drives), is it then “safe” to unplug the drive in question?

Is this true even if data was being written to it, but the operation was temporarily suspended? (Assuming you do not mind that specific file having been only half-written to the USB drive.)

The Answer

While there are indeed no transfers going on, the reason you do the Safely Remove Hardware dance is not because of the transfers. You are doing this to cleanly unmount the file system. Programs may still be using the USB drive and some files may still be unwritten to the disk, even after the application using them is closed. This is the same reason why you do not just hibernate and switch operating systems. A mounted file system is never guaranteed to be in a consistent state.

Ever wondered why an operating system slowed down to a crawl when using floppies? It is because the cache was flushed after writing each sector so that the floppy could be removed at any time when not in use.

You will still get a dialog pop-up and your program will hang if you try to access a floppy that was removed behind your back. Just insert the floppy back and be done. This will not work with USB drives because they get a different identifier each time. The program will just crash and the operating system may too if a driver was accessing a file.

We have all heard the admonition about safely removing USB devices when we are done with them, but what if an operating system is suspended and you decide to simply unplug the USB device then and there anyway?

The Question

We are often cautioned against unplugging USB drives in case they are currently being read from or written to. When a computer is suspended, hibernated, or asleep, it is obviously not writing any data. It may have been in the middle of a read or write operation, however, and it will have put such an operation on hold.

Since no arms are moving (for USB hard drives), or bytes on the drive flickering on and off (for flash drives), is it then “safe” to unplug the drive in question?

Is this true even if data was being written to it, but the operation was temporarily suspended? (Assuming you do not mind that specific file having been only half-written to the USB drive.)

The Answer

While there are indeed no transfers going on, the reason you do the Safely Remove Hardware dance is not because of the transfers. You are doing this to cleanly unmount the file system. Programs may still be using the USB drive and some files may still be unwritten to the disk, even after the application using them is closed. This is the same reason why you do not just hibernate and switch operating systems. A mounted file system is never guaranteed to be in a consistent state.

Ever wondered why an operating system slowed down to a crawl when using floppies? It is because the cache was flushed after writing each sector so that the floppy could be removed at any time when not in use.

You will still get a dialog pop-up and your program will hang if you try to access a floppy that was removed behind your back. Just insert the floppy back and be done. This will not work with USB drives because they get a different identifier each time. The program will just crash and the operating system may too if a driver was accessing a file.

No comments:

Post a Comment