16

After attaching a typical USB storage device to Windows, it is important to properly unmount the drive before unplugging it. If you don't, you might lose data.

But for MTP devices (such as many Android devices) connected to a Windows box via USB, is it necessary to perform any procedure before disconnecting the USB cable?

I'm interested in understanding this for all versions of Windows (XP and later), so please include the applicable Windows version(s) in your answer.

6
  • 1
    You should always eject mass storage devices. This policy applies to all versions of Windows and all types of storage devices connected to Windows.
    – Ramhound
    Oct 5, 2016 at 4:46
  • @Ramhound That's what I thought too, but for Android MTP devices in Windows 7, I see no systray icon (hidden or visible) to perform the eject. Oct 5, 2016 at 4:47
  • @Ramhound Also, in Windows File Explorer, the context menu has no Eject menu item for Android MTP devices. Oct 5, 2016 at 4:48
  • 1
    @Ramhound I feel a little silly for asking, but where's that? I'm not seeing it. Will delete this comment due to embarassment once you tell me I'm staring right at it... :-) Oct 5, 2016 at 4:51
  • 3
    @Ramhound: MTP devices aren't mass storage devices. Oct 5, 2016 at 4:55

1 Answer 1

21

When you plug in a USB mass storage device, it gives the host computer undifferentiated access to the mass storage.

It assumes absolute control over the file system similar to that of a hard drive.

As such, unless explicitly commanded by the host system to sever the connection between the devices there is a chance that the host computer might corrupt the file system. Hence the "Safely Remove Hardware and Eject Media" message.


However, MTP, or Media Transfer Protocol, operates at the file level rather than as a large unit of mass storage at the block level.

When plugging in a device such as a MTP device, the host system queries the files on the device.

This is often maintained as a database or index on the root file system of the MTP device. The MTP device's system does not have to re-scan the entire device when its content is modified; it only needs to update the database/index.


The host system can then download a file, a signal will be sent to the device to acknowledge this request.The requested file will sent by the device.

Deleting files work much the same way. The host system sends a message to the device, marking a file for deletion. The device removes the file upon acknowledging the signal.

This works much like a transactional file system, where either the file is modified or it is not. The storage will not be affected by failed transfer.


This is also the reason why MTP only allows one file transfer at a time (atomic file transfer), such that corruption cannot occur as operations are run sequentially.

So yes, you can just pull the plug on your device.

Further reading about MTP, and comparisons to USB Mass Storage

2
  • I made a couple edits to your answer. If you can, please proofread my edits to make sure I got everything right. Oct 5, 2016 at 10:35
  • @RockPaperLizard Thanks for the edits. I am trying to find an image to further illustrate the protocol but nothing so far. If I find something, I'll edit this post again.
    – Carrein
    Oct 5, 2016 at 10:48

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .