Over the course of my career where USB flash drives and external flash drives have become more commonplace (compared to the 1990s where floppy disks and compact discs were king) I have been shocked by the number of people that simply pull out a drive without first ejecting it. In some cases, this has lead to some minor inconvenience when Windows wants to rescan the drive in question to ensure everything is okay but there have been other instances where data has been lost.
So what’s the big deal?
Modern operating systems use some form of cache to buffer all of the write operations to both internal and external drives to help improve performance. In the instance of an external drive, if it is particularly busy, these operations are saved up in the cache until one of the following things occur:
- the buffer is completely filled and cannot expand,
- the external drive has some idle time,
- a request to eject the drive is received by the operating system.
The third point is the only one that can be explicitly controlled by a user whilst the first two points are at the mercy of the operating system being used and the way it manages its drives.
Also, some file systems are more resilient than others. FAT based file systems such as FAT12, FAT16 and FAT32 can end up with orphaned files if the plug is pulled on an external drive. NTFS is more robust given its journal functionality that allows playback of all file system changes which helps to repair issues as a result of abrupt removal.
So next time you put your hand on the USB plug to disconnect your external drive just make sure you have ejected it first.
In Windows XP, Vista and 7 the icon in the top left of the screenshot above should be in the system tray (in the bottom right hand corner of the screen, next to the clock). Clicking that icon will give you a list of devices you can eject. Just choose your external drive and Windows will do the rest for you.
So for a few extra seconds, you can have peace of mind that you won’t risk losing any data. Sounds like a good idea to me.