Saturday, January 20, 2018

Does pulling out USB device instead of safely ejecting it cause any problems?

Does it really spell doom for the USB drive if you just pull it out?


Your computer will often display a scary warning if you fail to safely eject the drive. But do you actually still need to do this? What happens if you don’t?

Is there any harm to be incurred by just pulling a flash drive out?
Why do we need safe removal at all?

We have all been guilty of ripping our USB drives out of our computers instead of ejecting them properly, only to receive the judgemental pop up telling us we really shouldn’t have done that.

But when everything on the USB works fine next time you plug it in, you can’t help but doubt: does it actually do anything when you safely eject your disk before removing it?
Well, we’ve done a little background study, and it turns out that it does. In fact, waiting those extra 30 seconds to safely eject could help to properly save your data and software.
Previously, operating systems treat disks as items that can be trusted not to change state unexpectedly. When reading or writing files, the OS expects the files to remain available and not suddenly vanish in mid-read or mid-write.

If a file is open, a program reading the file expects to be able to return to it and continue reading. Similarly, write orders may be dispatched to a writing subroutine and forgotten by the main program. If a drive disappears between the times the subroutine is called and the data is written to disk, that data is lost eternally.
In the olden days, there were official processes to physically “mount” and “unmount” storage media, and the physical act of mounting a tape or a disk pack triggered some mechanical switch to identify the presence or absence of media. Once the mechanism was engaged, the software could start to use the media (a “soft mount.”). Some media even had mechanical interlock to avoid media from being expelled or removed until the software processes using the media free the lock.

As Phillip Remaker explains over at Quora that our operating systems have been programmed to treat our external drives like USB sticks – like they’ll always be there. It expects the files on it to remain reachable indefinitely and these changes the way it interacts with a flash drive.

This means if a program on your computer is just reading a file and not actually saving any information to the drive, it’s probably not going mess things up too much for the files on your USB stick if you suddenly pull it out. But you do risk confusing your computer, says Remaker. “Symptoms could include: Lost data, corrupted file systems, crashing programs, or hanging computers requiring a reboot.”
The Macintosh floppy and optical disk provide more current examples of an interlocked physical and soft mount. One could only eject media through a software command, but that command might fail if some program was holding a file open on the medium. Enter USB connected storage. There is no mechanical interlock in a USB connection to coordinate the hard and soft mount. The user can decide to rip the disk out from under the operating system at any time, and endure all manner of programs freaking out about the sudden loss of media. “Hey! I was using that!”

A safe removal does a few things like it flushes all active writes to disk, alerts all programs (that know how to be alerted) that the disk is going away, and to take suitable action and it alerts the user when programs have failed to take action, and still are holding files open.
You can remove a disk at any time, but you are at the pity of how well programs using the disk manage with the sudden disappearance of that disk.

In the new computer, many steps have been taken to protect against the unpredictable and casual removal of media. For example, Windows even introduced a feature called “Optimize for Quick Removal” that makes sure data is written quickly instead of batched up and written professionally. It is very hard to get people to change habits. If you are doing exclusively reads on a media, safe removal is perhaps not needed. If you are doing writes, you are probably OK to skip safe removal if you haven’t written recently and you aren’t doing something silly like indexing that disk.
As a good friend of mine once said: Life is too small to safely eject the disk.

However, Safe Removal does a number of essential things and is, in fact, the only assuredly secure way to remove a disk. You probably don’t need it most of the time, but it is a good habit to have since data loss sucks.

1 comment: