Why does Windows not show an “eject” option for some USB storage devices?












47














In Windows, you can normally "eject" a USB storage device before physically unplugging it to avoid data corruption.



However, for some devices Windows does not provide an "eject" option. I've seen this most frequently with some smart phones.



Why is this?










share|improve this question




















  • 5




    Possible duplicate of Windows 10: No option to Eject External HARD DRIVE (NOT USB Stick)
    – K7AAY
    Nov 19 at 17:29






  • 3




    I'm not sure this is a duplicate. This is a broader question covering a variety of devices that can be connected to a computer, and not merely a particular external hard drive.
    – bwDraco
    Nov 20 at 22:00
















47














In Windows, you can normally "eject" a USB storage device before physically unplugging it to avoid data corruption.



However, for some devices Windows does not provide an "eject" option. I've seen this most frequently with some smart phones.



Why is this?










share|improve this question




















  • 5




    Possible duplicate of Windows 10: No option to Eject External HARD DRIVE (NOT USB Stick)
    – K7AAY
    Nov 19 at 17:29






  • 3




    I'm not sure this is a duplicate. This is a broader question covering a variety of devices that can be connected to a computer, and not merely a particular external hard drive.
    – bwDraco
    Nov 20 at 22:00














47












47








47


10





In Windows, you can normally "eject" a USB storage device before physically unplugging it to avoid data corruption.



However, for some devices Windows does not provide an "eject" option. I've seen this most frequently with some smart phones.



Why is this?










share|improve this question















In Windows, you can normally "eject" a USB storage device before physically unplugging it to avoid data corruption.



However, for some devices Windows does not provide an "eject" option. I've seen this most frequently with some smart phones.



Why is this?







windows






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 at 7:48









Alexander Kosubek

11610




11610










asked Nov 19 at 17:13









Michael

5521718




5521718








  • 5




    Possible duplicate of Windows 10: No option to Eject External HARD DRIVE (NOT USB Stick)
    – K7AAY
    Nov 19 at 17:29






  • 3




    I'm not sure this is a duplicate. This is a broader question covering a variety of devices that can be connected to a computer, and not merely a particular external hard drive.
    – bwDraco
    Nov 20 at 22:00














  • 5




    Possible duplicate of Windows 10: No option to Eject External HARD DRIVE (NOT USB Stick)
    – K7AAY
    Nov 19 at 17:29






  • 3




    I'm not sure this is a duplicate. This is a broader question covering a variety of devices that can be connected to a computer, and not merely a particular external hard drive.
    – bwDraco
    Nov 20 at 22:00








5




5




Possible duplicate of Windows 10: No option to Eject External HARD DRIVE (NOT USB Stick)
– K7AAY
Nov 19 at 17:29




Possible duplicate of Windows 10: No option to Eject External HARD DRIVE (NOT USB Stick)
– K7AAY
Nov 19 at 17:29




3




3




I'm not sure this is a duplicate. This is a broader question covering a variety of devices that can be connected to a computer, and not merely a particular external hard drive.
– bwDraco
Nov 20 at 22:00




I'm not sure this is a duplicate. This is a broader question covering a variety of devices that can be connected to a computer, and not merely a particular external hard drive.
– bwDraco
Nov 20 at 22:00










3 Answers
3






active

oldest

votes


















68














Probably because the method that is used to transfer files to phones (MTP rather than USB Mass Storage) puts the onus of data and filesystem integrity on the device receiving the data, which in the case of mobile phones also is presumed to be smart and self-powered or have battery back up.



USB mass storage devices are usually dumb memory sticks or hard drives, MTP devices such as phones, cameras and similar are generally reasonably smart devices which handle their storage personally. As such the file transfer can happen in a peer-to-peer ideology rather than a smart-host-dumb-client one. Once the data is "sent" to the phone it is up to the phone operating system and filesystem methods to ensure correct storage of the file.



If the file transfer is interrupted and thus partially transferred then the phone can decide whether to free up any allocated space or show what was transferred on a case-by-case basis. I suspect most interrupted transfers will simply drop incomplete data and free any allocated blocks. Filesystem integrity is actively managed by the phone.



As such a transfer either happens or it does not and doing a software eject is unnecessary, the only reason to have it is so that the person using the computer can get that "I'm done" warm glowy feeling. USB certainly doesn't need it from a hardware perspective and is quite happy with hotplugging devices.



From the MTP Wikipedia page:




A main reason for using MTP rather than, for example, the USB mass-storage device class (MSC) is that the latter operates at the granularity of a mass storage device block (usually in practice, a FAT block), rather than at the logical file level. In other words, the USB mass storage class is designed to give a host computer undifferentiated access to bulk mass storage, such as compact flash, rather than to a file system, which might be safely shared with the target device (except for specific files which the host might be modifying/accessing). In practice, therefore, when a USB host computer has mounted an MSC partition, it assumes absolute control of the storage, which then may not be safely modified by the device without risk of data corruption until the host computer has severed the connection. Furthermore, because the host computer has full control over the connected storage device, there is a risk that the host computer may corrupt the file system, reformat it to a file system not supported by the USB device, or otherwise modify it in such a way that the USB device cannot completely understand it.







share|improve this answer



















  • 3




    USB HDDs do not have this option and they are mass storage, not MTP.
    – Alex.S
    Nov 19 at 17:37






  • 16




    @Alex.S I've used several USB HDDs and they have all had an eject function. In the cases where they may not then I expect that the USB controller for the drive is advertising it as a "fixed" disk rather than removable and is either intentional, that it should never be removed while an OS is running for whatever reason, or it was a misconfiguration on the part of the manufacturer. The question specified phones, so I answered from that perspective, as it was the situation I knew of a specific reason, i.e. that files are not transferred by the same method.
    – Mokubai
    Nov 19 at 17:41








  • 2




    Very informative answer, thanks for your time @Mokubai. I've mostly only seen this issue with smart phones. However, I did encounter this issue once with a USB thumb drive.
    – Michael
    Nov 19 at 18:24










  • And this is just a secondary advantage of MTP. The main advantage being that the file system can be used by both devices simultaneously. Older phones which only supported the USB mass storage protocol had to unmount the file system before it could be accessed over USB.
    – kasperd
    Nov 20 at 8:23






  • 1




    To add a bit, some MP4 players and digital cameras use MTP to connect to the PC. This isn't a new protocol, as some may think since it comes in Android devices and such.
    – Ismael Miguel
    Nov 20 at 17:39



















17














Summary



This is ultimately a matter of whether the device uses MSC or MTP/PTP. As a rule, dedicated storage devices like flash drives and external hard drives use MSC, while smartphones and other devices which need to maintain access to the data while connected to a computer or require control over the data transferred will use MTP. Many cameras use PTP, a subset of MTP.



If the device uses MSC, you'll need to eject it from the computer before you can remove it. If it uses MTP or PTP, ejection is not required.





Technical details



The Mass Storage Class (MSC) allows the computer to communicate with the drive in much the same way it would with an internal hard drive or SSD, making it faster than other protocols for transferring data. This is what dedicated storage devices like USB flash drives and external hard drives use. However, it requires block-level access to the underlying storage media, and that means exclusive access to the device. As a result, MSC is not okay for smart devices because they need to be able to access the contents of the filesystem while the computer is using it. A smartphone would effectively need to shut down its OS before it can grant block-level access to a computer—a cumbersome procedure, and one that would prevent you from running apps or otherwise using the device while it is connected. It is the computer's responsibility to ensure that the data has been completely transferred, so you need to tell the computer that you're done by ejecting it.



Media Transfer Protocol (MTP), which is what most smart devices use, involves file-level access, and the device, not the host computer, is responsible for managing the data. Smartphones use MTP because they need to be able to access the data while the device is connected to a computer. MTP also permits the device to control or limit what data can be transferred; some (primarily older) digital media/MP3 players use MTP to enforce copy protection (DRM) on files transferred or to ensure that the media files transferred are compatible with the device. As MTP simply presents a hierarchical file/folder structure, the computer does not need to worry about the filesystem or how the device stores data. In any case, with MTP, there is no need for an explicit eject command; once the device tells the system that the transfer is complete (the progress dialog has closed), you can remove the device without explicitly ejecting it.



MTP is a superset of Picture Transfer Protocol (PTP), which was originally designed for cameras communicating with computers. Many cameras still use PTP, but some support MSC, and some allow a choice between MSC and PTP. Furthermore, some cameras support direct printing through a protocol known as PictBridge, which requires PTP. As with MTP, PTP does not require an eject command. Whether a camera can use MSC, PTP, or both depends on how the camera handles its storage while connected to a computer.



Note that if you remove the memory card from a camera and insert it into an SD card slot or other media reader on your computer, it'll be an MSC device and you'll need to eject it when you're done transferring pictures.






share|improve this answer



















  • 7




    And don't let anyone tell you that it doesn't matter; I warned my ex for weeks to stop yanking her USB keys. Still didn't stop doing it even after losing two days' work on a spreadsheet as a result (also backup! gees!)
    – Lightness Races in Orbit
    Nov 19 at 22:28








  • 1




    @LightnessRacesinOrbit then make sure that quick removal is enabled for her - it'll slow down the drive but make it so that she doesn't have to eject the usb stick
    – Baldrickk
    Nov 20 at 11:54






  • 3




    @Baldrickk Oh she's long gone ^_^
    – Lightness Races in Orbit
    Nov 20 at 11:55



















6














The design is also related to how devices are powered.



Where both devices have their own energy source, for example the computer and the smartphone, there is sufficient space to implement proper handling of transfer interruptions or any other failure. The design relies on the power continuously available and that is stable factor which allows to make the other factor (communication) fault-tolerant. Without it, in exceptional case, for example if battery is suddenly removed from the smartphone or the PC is forcibly powered off, these devices and their systems are actually no more error-resistant than dumb USB drives. (chkdsk anyone?) Those fault-tolerant devices just rely on enough time to gracefully resolve expected problems.



But devices powered from their host have small to none time for any reaction to disconnection from their power. And hosting a file system in such a device means not only serving user requests, but also availability to background reads and writes made by host background processes unknown to the user. User never knows if the communication is happening at the present moment. So there must be provided an explicit way of signaling of the intent of powering down (and it is that Eject command) upon which the host has to cease from any operations. Sudden power disconnection is then awaited without a risk. So "Eject" event is a simple way to start proper finalization while we still can rely on continuous operation. And the substance is now not different from the above case: power is granted during all the necessary actions. When finished, the host signals back (because it is the user who physically controls power interruption) that now it is safe to suddenly interrupt device's power without the risk.



So we see that one of most significant design-driving factors is whether the device is capable of running autonomously to have a time for handling failures or not. If not, prior explicit finalization has to be requested – by the Eject command.






share|improve this answer























    Your Answer








    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "3"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1376743%2fwhy-does-windows-not-show-an-eject-option-for-some-usb-storage-devices%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    3 Answers
    3






    active

    oldest

    votes








    3 Answers
    3






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    68














    Probably because the method that is used to transfer files to phones (MTP rather than USB Mass Storage) puts the onus of data and filesystem integrity on the device receiving the data, which in the case of mobile phones also is presumed to be smart and self-powered or have battery back up.



    USB mass storage devices are usually dumb memory sticks or hard drives, MTP devices such as phones, cameras and similar are generally reasonably smart devices which handle their storage personally. As such the file transfer can happen in a peer-to-peer ideology rather than a smart-host-dumb-client one. Once the data is "sent" to the phone it is up to the phone operating system and filesystem methods to ensure correct storage of the file.



    If the file transfer is interrupted and thus partially transferred then the phone can decide whether to free up any allocated space or show what was transferred on a case-by-case basis. I suspect most interrupted transfers will simply drop incomplete data and free any allocated blocks. Filesystem integrity is actively managed by the phone.



    As such a transfer either happens or it does not and doing a software eject is unnecessary, the only reason to have it is so that the person using the computer can get that "I'm done" warm glowy feeling. USB certainly doesn't need it from a hardware perspective and is quite happy with hotplugging devices.



    From the MTP Wikipedia page:




    A main reason for using MTP rather than, for example, the USB mass-storage device class (MSC) is that the latter operates at the granularity of a mass storage device block (usually in practice, a FAT block), rather than at the logical file level. In other words, the USB mass storage class is designed to give a host computer undifferentiated access to bulk mass storage, such as compact flash, rather than to a file system, which might be safely shared with the target device (except for specific files which the host might be modifying/accessing). In practice, therefore, when a USB host computer has mounted an MSC partition, it assumes absolute control of the storage, which then may not be safely modified by the device without risk of data corruption until the host computer has severed the connection. Furthermore, because the host computer has full control over the connected storage device, there is a risk that the host computer may corrupt the file system, reformat it to a file system not supported by the USB device, or otherwise modify it in such a way that the USB device cannot completely understand it.







    share|improve this answer



















    • 3




      USB HDDs do not have this option and they are mass storage, not MTP.
      – Alex.S
      Nov 19 at 17:37






    • 16




      @Alex.S I've used several USB HDDs and they have all had an eject function. In the cases where they may not then I expect that the USB controller for the drive is advertising it as a "fixed" disk rather than removable and is either intentional, that it should never be removed while an OS is running for whatever reason, or it was a misconfiguration on the part of the manufacturer. The question specified phones, so I answered from that perspective, as it was the situation I knew of a specific reason, i.e. that files are not transferred by the same method.
      – Mokubai
      Nov 19 at 17:41








    • 2




      Very informative answer, thanks for your time @Mokubai. I've mostly only seen this issue with smart phones. However, I did encounter this issue once with a USB thumb drive.
      – Michael
      Nov 19 at 18:24










    • And this is just a secondary advantage of MTP. The main advantage being that the file system can be used by both devices simultaneously. Older phones which only supported the USB mass storage protocol had to unmount the file system before it could be accessed over USB.
      – kasperd
      Nov 20 at 8:23






    • 1




      To add a bit, some MP4 players and digital cameras use MTP to connect to the PC. This isn't a new protocol, as some may think since it comes in Android devices and such.
      – Ismael Miguel
      Nov 20 at 17:39
















    68














    Probably because the method that is used to transfer files to phones (MTP rather than USB Mass Storage) puts the onus of data and filesystem integrity on the device receiving the data, which in the case of mobile phones also is presumed to be smart and self-powered or have battery back up.



    USB mass storage devices are usually dumb memory sticks or hard drives, MTP devices such as phones, cameras and similar are generally reasonably smart devices which handle their storage personally. As such the file transfer can happen in a peer-to-peer ideology rather than a smart-host-dumb-client one. Once the data is "sent" to the phone it is up to the phone operating system and filesystem methods to ensure correct storage of the file.



    If the file transfer is interrupted and thus partially transferred then the phone can decide whether to free up any allocated space or show what was transferred on a case-by-case basis. I suspect most interrupted transfers will simply drop incomplete data and free any allocated blocks. Filesystem integrity is actively managed by the phone.



    As such a transfer either happens or it does not and doing a software eject is unnecessary, the only reason to have it is so that the person using the computer can get that "I'm done" warm glowy feeling. USB certainly doesn't need it from a hardware perspective and is quite happy with hotplugging devices.



    From the MTP Wikipedia page:




    A main reason for using MTP rather than, for example, the USB mass-storage device class (MSC) is that the latter operates at the granularity of a mass storage device block (usually in practice, a FAT block), rather than at the logical file level. In other words, the USB mass storage class is designed to give a host computer undifferentiated access to bulk mass storage, such as compact flash, rather than to a file system, which might be safely shared with the target device (except for specific files which the host might be modifying/accessing). In practice, therefore, when a USB host computer has mounted an MSC partition, it assumes absolute control of the storage, which then may not be safely modified by the device without risk of data corruption until the host computer has severed the connection. Furthermore, because the host computer has full control over the connected storage device, there is a risk that the host computer may corrupt the file system, reformat it to a file system not supported by the USB device, or otherwise modify it in such a way that the USB device cannot completely understand it.







    share|improve this answer



















    • 3




      USB HDDs do not have this option and they are mass storage, not MTP.
      – Alex.S
      Nov 19 at 17:37






    • 16




      @Alex.S I've used several USB HDDs and they have all had an eject function. In the cases where they may not then I expect that the USB controller for the drive is advertising it as a "fixed" disk rather than removable and is either intentional, that it should never be removed while an OS is running for whatever reason, or it was a misconfiguration on the part of the manufacturer. The question specified phones, so I answered from that perspective, as it was the situation I knew of a specific reason, i.e. that files are not transferred by the same method.
      – Mokubai
      Nov 19 at 17:41








    • 2




      Very informative answer, thanks for your time @Mokubai. I've mostly only seen this issue with smart phones. However, I did encounter this issue once with a USB thumb drive.
      – Michael
      Nov 19 at 18:24










    • And this is just a secondary advantage of MTP. The main advantage being that the file system can be used by both devices simultaneously. Older phones which only supported the USB mass storage protocol had to unmount the file system before it could be accessed over USB.
      – kasperd
      Nov 20 at 8:23






    • 1




      To add a bit, some MP4 players and digital cameras use MTP to connect to the PC. This isn't a new protocol, as some may think since it comes in Android devices and such.
      – Ismael Miguel
      Nov 20 at 17:39














    68












    68








    68






    Probably because the method that is used to transfer files to phones (MTP rather than USB Mass Storage) puts the onus of data and filesystem integrity on the device receiving the data, which in the case of mobile phones also is presumed to be smart and self-powered or have battery back up.



    USB mass storage devices are usually dumb memory sticks or hard drives, MTP devices such as phones, cameras and similar are generally reasonably smart devices which handle their storage personally. As such the file transfer can happen in a peer-to-peer ideology rather than a smart-host-dumb-client one. Once the data is "sent" to the phone it is up to the phone operating system and filesystem methods to ensure correct storage of the file.



    If the file transfer is interrupted and thus partially transferred then the phone can decide whether to free up any allocated space or show what was transferred on a case-by-case basis. I suspect most interrupted transfers will simply drop incomplete data and free any allocated blocks. Filesystem integrity is actively managed by the phone.



    As such a transfer either happens or it does not and doing a software eject is unnecessary, the only reason to have it is so that the person using the computer can get that "I'm done" warm glowy feeling. USB certainly doesn't need it from a hardware perspective and is quite happy with hotplugging devices.



    From the MTP Wikipedia page:




    A main reason for using MTP rather than, for example, the USB mass-storage device class (MSC) is that the latter operates at the granularity of a mass storage device block (usually in practice, a FAT block), rather than at the logical file level. In other words, the USB mass storage class is designed to give a host computer undifferentiated access to bulk mass storage, such as compact flash, rather than to a file system, which might be safely shared with the target device (except for specific files which the host might be modifying/accessing). In practice, therefore, when a USB host computer has mounted an MSC partition, it assumes absolute control of the storage, which then may not be safely modified by the device without risk of data corruption until the host computer has severed the connection. Furthermore, because the host computer has full control over the connected storage device, there is a risk that the host computer may corrupt the file system, reformat it to a file system not supported by the USB device, or otherwise modify it in such a way that the USB device cannot completely understand it.







    share|improve this answer














    Probably because the method that is used to transfer files to phones (MTP rather than USB Mass Storage) puts the onus of data and filesystem integrity on the device receiving the data, which in the case of mobile phones also is presumed to be smart and self-powered or have battery back up.



    USB mass storage devices are usually dumb memory sticks or hard drives, MTP devices such as phones, cameras and similar are generally reasonably smart devices which handle their storage personally. As such the file transfer can happen in a peer-to-peer ideology rather than a smart-host-dumb-client one. Once the data is "sent" to the phone it is up to the phone operating system and filesystem methods to ensure correct storage of the file.



    If the file transfer is interrupted and thus partially transferred then the phone can decide whether to free up any allocated space or show what was transferred on a case-by-case basis. I suspect most interrupted transfers will simply drop incomplete data and free any allocated blocks. Filesystem integrity is actively managed by the phone.



    As such a transfer either happens or it does not and doing a software eject is unnecessary, the only reason to have it is so that the person using the computer can get that "I'm done" warm glowy feeling. USB certainly doesn't need it from a hardware perspective and is quite happy with hotplugging devices.



    From the MTP Wikipedia page:




    A main reason for using MTP rather than, for example, the USB mass-storage device class (MSC) is that the latter operates at the granularity of a mass storage device block (usually in practice, a FAT block), rather than at the logical file level. In other words, the USB mass storage class is designed to give a host computer undifferentiated access to bulk mass storage, such as compact flash, rather than to a file system, which might be safely shared with the target device (except for specific files which the host might be modifying/accessing). In practice, therefore, when a USB host computer has mounted an MSC partition, it assumes absolute control of the storage, which then may not be safely modified by the device without risk of data corruption until the host computer has severed the connection. Furthermore, because the host computer has full control over the connected storage device, there is a risk that the host computer may corrupt the file system, reformat it to a file system not supported by the USB device, or otherwise modify it in such a way that the USB device cannot completely understand it.








    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 19 at 17:38

























    answered Nov 19 at 17:27









    Mokubai

    56.8k16135153




    56.8k16135153








    • 3




      USB HDDs do not have this option and they are mass storage, not MTP.
      – Alex.S
      Nov 19 at 17:37






    • 16




      @Alex.S I've used several USB HDDs and they have all had an eject function. In the cases where they may not then I expect that the USB controller for the drive is advertising it as a "fixed" disk rather than removable and is either intentional, that it should never be removed while an OS is running for whatever reason, or it was a misconfiguration on the part of the manufacturer. The question specified phones, so I answered from that perspective, as it was the situation I knew of a specific reason, i.e. that files are not transferred by the same method.
      – Mokubai
      Nov 19 at 17:41








    • 2




      Very informative answer, thanks for your time @Mokubai. I've mostly only seen this issue with smart phones. However, I did encounter this issue once with a USB thumb drive.
      – Michael
      Nov 19 at 18:24










    • And this is just a secondary advantage of MTP. The main advantage being that the file system can be used by both devices simultaneously. Older phones which only supported the USB mass storage protocol had to unmount the file system before it could be accessed over USB.
      – kasperd
      Nov 20 at 8:23






    • 1




      To add a bit, some MP4 players and digital cameras use MTP to connect to the PC. This isn't a new protocol, as some may think since it comes in Android devices and such.
      – Ismael Miguel
      Nov 20 at 17:39














    • 3




      USB HDDs do not have this option and they are mass storage, not MTP.
      – Alex.S
      Nov 19 at 17:37






    • 16




      @Alex.S I've used several USB HDDs and they have all had an eject function. In the cases where they may not then I expect that the USB controller for the drive is advertising it as a "fixed" disk rather than removable and is either intentional, that it should never be removed while an OS is running for whatever reason, or it was a misconfiguration on the part of the manufacturer. The question specified phones, so I answered from that perspective, as it was the situation I knew of a specific reason, i.e. that files are not transferred by the same method.
      – Mokubai
      Nov 19 at 17:41








    • 2




      Very informative answer, thanks for your time @Mokubai. I've mostly only seen this issue with smart phones. However, I did encounter this issue once with a USB thumb drive.
      – Michael
      Nov 19 at 18:24










    • And this is just a secondary advantage of MTP. The main advantage being that the file system can be used by both devices simultaneously. Older phones which only supported the USB mass storage protocol had to unmount the file system before it could be accessed over USB.
      – kasperd
      Nov 20 at 8:23






    • 1




      To add a bit, some MP4 players and digital cameras use MTP to connect to the PC. This isn't a new protocol, as some may think since it comes in Android devices and such.
      – Ismael Miguel
      Nov 20 at 17:39








    3




    3




    USB HDDs do not have this option and they are mass storage, not MTP.
    – Alex.S
    Nov 19 at 17:37




    USB HDDs do not have this option and they are mass storage, not MTP.
    – Alex.S
    Nov 19 at 17:37




    16




    16




    @Alex.S I've used several USB HDDs and they have all had an eject function. In the cases where they may not then I expect that the USB controller for the drive is advertising it as a "fixed" disk rather than removable and is either intentional, that it should never be removed while an OS is running for whatever reason, or it was a misconfiguration on the part of the manufacturer. The question specified phones, so I answered from that perspective, as it was the situation I knew of a specific reason, i.e. that files are not transferred by the same method.
    – Mokubai
    Nov 19 at 17:41






    @Alex.S I've used several USB HDDs and they have all had an eject function. In the cases where they may not then I expect that the USB controller for the drive is advertising it as a "fixed" disk rather than removable and is either intentional, that it should never be removed while an OS is running for whatever reason, or it was a misconfiguration on the part of the manufacturer. The question specified phones, so I answered from that perspective, as it was the situation I knew of a specific reason, i.e. that files are not transferred by the same method.
    – Mokubai
    Nov 19 at 17:41






    2




    2




    Very informative answer, thanks for your time @Mokubai. I've mostly only seen this issue with smart phones. However, I did encounter this issue once with a USB thumb drive.
    – Michael
    Nov 19 at 18:24




    Very informative answer, thanks for your time @Mokubai. I've mostly only seen this issue with smart phones. However, I did encounter this issue once with a USB thumb drive.
    – Michael
    Nov 19 at 18:24












    And this is just a secondary advantage of MTP. The main advantage being that the file system can be used by both devices simultaneously. Older phones which only supported the USB mass storage protocol had to unmount the file system before it could be accessed over USB.
    – kasperd
    Nov 20 at 8:23




    And this is just a secondary advantage of MTP. The main advantage being that the file system can be used by both devices simultaneously. Older phones which only supported the USB mass storage protocol had to unmount the file system before it could be accessed over USB.
    – kasperd
    Nov 20 at 8:23




    1




    1




    To add a bit, some MP4 players and digital cameras use MTP to connect to the PC. This isn't a new protocol, as some may think since it comes in Android devices and such.
    – Ismael Miguel
    Nov 20 at 17:39




    To add a bit, some MP4 players and digital cameras use MTP to connect to the PC. This isn't a new protocol, as some may think since it comes in Android devices and such.
    – Ismael Miguel
    Nov 20 at 17:39













    17














    Summary



    This is ultimately a matter of whether the device uses MSC or MTP/PTP. As a rule, dedicated storage devices like flash drives and external hard drives use MSC, while smartphones and other devices which need to maintain access to the data while connected to a computer or require control over the data transferred will use MTP. Many cameras use PTP, a subset of MTP.



    If the device uses MSC, you'll need to eject it from the computer before you can remove it. If it uses MTP or PTP, ejection is not required.





    Technical details



    The Mass Storage Class (MSC) allows the computer to communicate with the drive in much the same way it would with an internal hard drive or SSD, making it faster than other protocols for transferring data. This is what dedicated storage devices like USB flash drives and external hard drives use. However, it requires block-level access to the underlying storage media, and that means exclusive access to the device. As a result, MSC is not okay for smart devices because they need to be able to access the contents of the filesystem while the computer is using it. A smartphone would effectively need to shut down its OS before it can grant block-level access to a computer—a cumbersome procedure, and one that would prevent you from running apps or otherwise using the device while it is connected. It is the computer's responsibility to ensure that the data has been completely transferred, so you need to tell the computer that you're done by ejecting it.



    Media Transfer Protocol (MTP), which is what most smart devices use, involves file-level access, and the device, not the host computer, is responsible for managing the data. Smartphones use MTP because they need to be able to access the data while the device is connected to a computer. MTP also permits the device to control or limit what data can be transferred; some (primarily older) digital media/MP3 players use MTP to enforce copy protection (DRM) on files transferred or to ensure that the media files transferred are compatible with the device. As MTP simply presents a hierarchical file/folder structure, the computer does not need to worry about the filesystem or how the device stores data. In any case, with MTP, there is no need for an explicit eject command; once the device tells the system that the transfer is complete (the progress dialog has closed), you can remove the device without explicitly ejecting it.



    MTP is a superset of Picture Transfer Protocol (PTP), which was originally designed for cameras communicating with computers. Many cameras still use PTP, but some support MSC, and some allow a choice between MSC and PTP. Furthermore, some cameras support direct printing through a protocol known as PictBridge, which requires PTP. As with MTP, PTP does not require an eject command. Whether a camera can use MSC, PTP, or both depends on how the camera handles its storage while connected to a computer.



    Note that if you remove the memory card from a camera and insert it into an SD card slot or other media reader on your computer, it'll be an MSC device and you'll need to eject it when you're done transferring pictures.






    share|improve this answer



















    • 7




      And don't let anyone tell you that it doesn't matter; I warned my ex for weeks to stop yanking her USB keys. Still didn't stop doing it even after losing two days' work on a spreadsheet as a result (also backup! gees!)
      – Lightness Races in Orbit
      Nov 19 at 22:28








    • 1




      @LightnessRacesinOrbit then make sure that quick removal is enabled for her - it'll slow down the drive but make it so that she doesn't have to eject the usb stick
      – Baldrickk
      Nov 20 at 11:54






    • 3




      @Baldrickk Oh she's long gone ^_^
      – Lightness Races in Orbit
      Nov 20 at 11:55
















    17














    Summary



    This is ultimately a matter of whether the device uses MSC or MTP/PTP. As a rule, dedicated storage devices like flash drives and external hard drives use MSC, while smartphones and other devices which need to maintain access to the data while connected to a computer or require control over the data transferred will use MTP. Many cameras use PTP, a subset of MTP.



    If the device uses MSC, you'll need to eject it from the computer before you can remove it. If it uses MTP or PTP, ejection is not required.





    Technical details



    The Mass Storage Class (MSC) allows the computer to communicate with the drive in much the same way it would with an internal hard drive or SSD, making it faster than other protocols for transferring data. This is what dedicated storage devices like USB flash drives and external hard drives use. However, it requires block-level access to the underlying storage media, and that means exclusive access to the device. As a result, MSC is not okay for smart devices because they need to be able to access the contents of the filesystem while the computer is using it. A smartphone would effectively need to shut down its OS before it can grant block-level access to a computer—a cumbersome procedure, and one that would prevent you from running apps or otherwise using the device while it is connected. It is the computer's responsibility to ensure that the data has been completely transferred, so you need to tell the computer that you're done by ejecting it.



    Media Transfer Protocol (MTP), which is what most smart devices use, involves file-level access, and the device, not the host computer, is responsible for managing the data. Smartphones use MTP because they need to be able to access the data while the device is connected to a computer. MTP also permits the device to control or limit what data can be transferred; some (primarily older) digital media/MP3 players use MTP to enforce copy protection (DRM) on files transferred or to ensure that the media files transferred are compatible with the device. As MTP simply presents a hierarchical file/folder structure, the computer does not need to worry about the filesystem or how the device stores data. In any case, with MTP, there is no need for an explicit eject command; once the device tells the system that the transfer is complete (the progress dialog has closed), you can remove the device without explicitly ejecting it.



    MTP is a superset of Picture Transfer Protocol (PTP), which was originally designed for cameras communicating with computers. Many cameras still use PTP, but some support MSC, and some allow a choice between MSC and PTP. Furthermore, some cameras support direct printing through a protocol known as PictBridge, which requires PTP. As with MTP, PTP does not require an eject command. Whether a camera can use MSC, PTP, or both depends on how the camera handles its storage while connected to a computer.



    Note that if you remove the memory card from a camera and insert it into an SD card slot or other media reader on your computer, it'll be an MSC device and you'll need to eject it when you're done transferring pictures.






    share|improve this answer



















    • 7




      And don't let anyone tell you that it doesn't matter; I warned my ex for weeks to stop yanking her USB keys. Still didn't stop doing it even after losing two days' work on a spreadsheet as a result (also backup! gees!)
      – Lightness Races in Orbit
      Nov 19 at 22:28








    • 1




      @LightnessRacesinOrbit then make sure that quick removal is enabled for her - it'll slow down the drive but make it so that she doesn't have to eject the usb stick
      – Baldrickk
      Nov 20 at 11:54






    • 3




      @Baldrickk Oh she's long gone ^_^
      – Lightness Races in Orbit
      Nov 20 at 11:55














    17












    17








    17






    Summary



    This is ultimately a matter of whether the device uses MSC or MTP/PTP. As a rule, dedicated storage devices like flash drives and external hard drives use MSC, while smartphones and other devices which need to maintain access to the data while connected to a computer or require control over the data transferred will use MTP. Many cameras use PTP, a subset of MTP.



    If the device uses MSC, you'll need to eject it from the computer before you can remove it. If it uses MTP or PTP, ejection is not required.





    Technical details



    The Mass Storage Class (MSC) allows the computer to communicate with the drive in much the same way it would with an internal hard drive or SSD, making it faster than other protocols for transferring data. This is what dedicated storage devices like USB flash drives and external hard drives use. However, it requires block-level access to the underlying storage media, and that means exclusive access to the device. As a result, MSC is not okay for smart devices because they need to be able to access the contents of the filesystem while the computer is using it. A smartphone would effectively need to shut down its OS before it can grant block-level access to a computer—a cumbersome procedure, and one that would prevent you from running apps or otherwise using the device while it is connected. It is the computer's responsibility to ensure that the data has been completely transferred, so you need to tell the computer that you're done by ejecting it.



    Media Transfer Protocol (MTP), which is what most smart devices use, involves file-level access, and the device, not the host computer, is responsible for managing the data. Smartphones use MTP because they need to be able to access the data while the device is connected to a computer. MTP also permits the device to control or limit what data can be transferred; some (primarily older) digital media/MP3 players use MTP to enforce copy protection (DRM) on files transferred or to ensure that the media files transferred are compatible with the device. As MTP simply presents a hierarchical file/folder structure, the computer does not need to worry about the filesystem or how the device stores data. In any case, with MTP, there is no need for an explicit eject command; once the device tells the system that the transfer is complete (the progress dialog has closed), you can remove the device without explicitly ejecting it.



    MTP is a superset of Picture Transfer Protocol (PTP), which was originally designed for cameras communicating with computers. Many cameras still use PTP, but some support MSC, and some allow a choice between MSC and PTP. Furthermore, some cameras support direct printing through a protocol known as PictBridge, which requires PTP. As with MTP, PTP does not require an eject command. Whether a camera can use MSC, PTP, or both depends on how the camera handles its storage while connected to a computer.



    Note that if you remove the memory card from a camera and insert it into an SD card slot or other media reader on your computer, it'll be an MSC device and you'll need to eject it when you're done transferring pictures.






    share|improve this answer














    Summary



    This is ultimately a matter of whether the device uses MSC or MTP/PTP. As a rule, dedicated storage devices like flash drives and external hard drives use MSC, while smartphones and other devices which need to maintain access to the data while connected to a computer or require control over the data transferred will use MTP. Many cameras use PTP, a subset of MTP.



    If the device uses MSC, you'll need to eject it from the computer before you can remove it. If it uses MTP or PTP, ejection is not required.





    Technical details



    The Mass Storage Class (MSC) allows the computer to communicate with the drive in much the same way it would with an internal hard drive or SSD, making it faster than other protocols for transferring data. This is what dedicated storage devices like USB flash drives and external hard drives use. However, it requires block-level access to the underlying storage media, and that means exclusive access to the device. As a result, MSC is not okay for smart devices because they need to be able to access the contents of the filesystem while the computer is using it. A smartphone would effectively need to shut down its OS before it can grant block-level access to a computer—a cumbersome procedure, and one that would prevent you from running apps or otherwise using the device while it is connected. It is the computer's responsibility to ensure that the data has been completely transferred, so you need to tell the computer that you're done by ejecting it.



    Media Transfer Protocol (MTP), which is what most smart devices use, involves file-level access, and the device, not the host computer, is responsible for managing the data. Smartphones use MTP because they need to be able to access the data while the device is connected to a computer. MTP also permits the device to control or limit what data can be transferred; some (primarily older) digital media/MP3 players use MTP to enforce copy protection (DRM) on files transferred or to ensure that the media files transferred are compatible with the device. As MTP simply presents a hierarchical file/folder structure, the computer does not need to worry about the filesystem or how the device stores data. In any case, with MTP, there is no need for an explicit eject command; once the device tells the system that the transfer is complete (the progress dialog has closed), you can remove the device without explicitly ejecting it.



    MTP is a superset of Picture Transfer Protocol (PTP), which was originally designed for cameras communicating with computers. Many cameras still use PTP, but some support MSC, and some allow a choice between MSC and PTP. Furthermore, some cameras support direct printing through a protocol known as PictBridge, which requires PTP. As with MTP, PTP does not require an eject command. Whether a camera can use MSC, PTP, or both depends on how the camera handles its storage while connected to a computer.



    Note that if you remove the memory card from a camera and insert it into an SD card slot or other media reader on your computer, it'll be an MSC device and you'll need to eject it when you're done transferring pictures.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Nov 23 at 13:34

























    answered Nov 19 at 21:19









    bwDraco

    36.5k36135177




    36.5k36135177








    • 7




      And don't let anyone tell you that it doesn't matter; I warned my ex for weeks to stop yanking her USB keys. Still didn't stop doing it even after losing two days' work on a spreadsheet as a result (also backup! gees!)
      – Lightness Races in Orbit
      Nov 19 at 22:28








    • 1




      @LightnessRacesinOrbit then make sure that quick removal is enabled for her - it'll slow down the drive but make it so that she doesn't have to eject the usb stick
      – Baldrickk
      Nov 20 at 11:54






    • 3




      @Baldrickk Oh she's long gone ^_^
      – Lightness Races in Orbit
      Nov 20 at 11:55














    • 7




      And don't let anyone tell you that it doesn't matter; I warned my ex for weeks to stop yanking her USB keys. Still didn't stop doing it even after losing two days' work on a spreadsheet as a result (also backup! gees!)
      – Lightness Races in Orbit
      Nov 19 at 22:28








    • 1




      @LightnessRacesinOrbit then make sure that quick removal is enabled for her - it'll slow down the drive but make it so that she doesn't have to eject the usb stick
      – Baldrickk
      Nov 20 at 11:54






    • 3




      @Baldrickk Oh she's long gone ^_^
      – Lightness Races in Orbit
      Nov 20 at 11:55








    7




    7




    And don't let anyone tell you that it doesn't matter; I warned my ex for weeks to stop yanking her USB keys. Still didn't stop doing it even after losing two days' work on a spreadsheet as a result (also backup! gees!)
    – Lightness Races in Orbit
    Nov 19 at 22:28






    And don't let anyone tell you that it doesn't matter; I warned my ex for weeks to stop yanking her USB keys. Still didn't stop doing it even after losing two days' work on a spreadsheet as a result (also backup! gees!)
    – Lightness Races in Orbit
    Nov 19 at 22:28






    1




    1




    @LightnessRacesinOrbit then make sure that quick removal is enabled for her - it'll slow down the drive but make it so that she doesn't have to eject the usb stick
    – Baldrickk
    Nov 20 at 11:54




    @LightnessRacesinOrbit then make sure that quick removal is enabled for her - it'll slow down the drive but make it so that she doesn't have to eject the usb stick
    – Baldrickk
    Nov 20 at 11:54




    3




    3




    @Baldrickk Oh she's long gone ^_^
    – Lightness Races in Orbit
    Nov 20 at 11:55




    @Baldrickk Oh she's long gone ^_^
    – Lightness Races in Orbit
    Nov 20 at 11:55











    6














    The design is also related to how devices are powered.



    Where both devices have their own energy source, for example the computer and the smartphone, there is sufficient space to implement proper handling of transfer interruptions or any other failure. The design relies on the power continuously available and that is stable factor which allows to make the other factor (communication) fault-tolerant. Without it, in exceptional case, for example if battery is suddenly removed from the smartphone or the PC is forcibly powered off, these devices and their systems are actually no more error-resistant than dumb USB drives. (chkdsk anyone?) Those fault-tolerant devices just rely on enough time to gracefully resolve expected problems.



    But devices powered from their host have small to none time for any reaction to disconnection from their power. And hosting a file system in such a device means not only serving user requests, but also availability to background reads and writes made by host background processes unknown to the user. User never knows if the communication is happening at the present moment. So there must be provided an explicit way of signaling of the intent of powering down (and it is that Eject command) upon which the host has to cease from any operations. Sudden power disconnection is then awaited without a risk. So "Eject" event is a simple way to start proper finalization while we still can rely on continuous operation. And the substance is now not different from the above case: power is granted during all the necessary actions. When finished, the host signals back (because it is the user who physically controls power interruption) that now it is safe to suddenly interrupt device's power without the risk.



    So we see that one of most significant design-driving factors is whether the device is capable of running autonomously to have a time for handling failures or not. If not, prior explicit finalization has to be requested – by the Eject command.






    share|improve this answer




























      6














      The design is also related to how devices are powered.



      Where both devices have their own energy source, for example the computer and the smartphone, there is sufficient space to implement proper handling of transfer interruptions or any other failure. The design relies on the power continuously available and that is stable factor which allows to make the other factor (communication) fault-tolerant. Without it, in exceptional case, for example if battery is suddenly removed from the smartphone or the PC is forcibly powered off, these devices and their systems are actually no more error-resistant than dumb USB drives. (chkdsk anyone?) Those fault-tolerant devices just rely on enough time to gracefully resolve expected problems.



      But devices powered from their host have small to none time for any reaction to disconnection from their power. And hosting a file system in such a device means not only serving user requests, but also availability to background reads and writes made by host background processes unknown to the user. User never knows if the communication is happening at the present moment. So there must be provided an explicit way of signaling of the intent of powering down (and it is that Eject command) upon which the host has to cease from any operations. Sudden power disconnection is then awaited without a risk. So "Eject" event is a simple way to start proper finalization while we still can rely on continuous operation. And the substance is now not different from the above case: power is granted during all the necessary actions. When finished, the host signals back (because it is the user who physically controls power interruption) that now it is safe to suddenly interrupt device's power without the risk.



      So we see that one of most significant design-driving factors is whether the device is capable of running autonomously to have a time for handling failures or not. If not, prior explicit finalization has to be requested – by the Eject command.






      share|improve this answer


























        6












        6








        6






        The design is also related to how devices are powered.



        Where both devices have their own energy source, for example the computer and the smartphone, there is sufficient space to implement proper handling of transfer interruptions or any other failure. The design relies on the power continuously available and that is stable factor which allows to make the other factor (communication) fault-tolerant. Without it, in exceptional case, for example if battery is suddenly removed from the smartphone or the PC is forcibly powered off, these devices and their systems are actually no more error-resistant than dumb USB drives. (chkdsk anyone?) Those fault-tolerant devices just rely on enough time to gracefully resolve expected problems.



        But devices powered from their host have small to none time for any reaction to disconnection from their power. And hosting a file system in such a device means not only serving user requests, but also availability to background reads and writes made by host background processes unknown to the user. User never knows if the communication is happening at the present moment. So there must be provided an explicit way of signaling of the intent of powering down (and it is that Eject command) upon which the host has to cease from any operations. Sudden power disconnection is then awaited without a risk. So "Eject" event is a simple way to start proper finalization while we still can rely on continuous operation. And the substance is now not different from the above case: power is granted during all the necessary actions. When finished, the host signals back (because it is the user who physically controls power interruption) that now it is safe to suddenly interrupt device's power without the risk.



        So we see that one of most significant design-driving factors is whether the device is capable of running autonomously to have a time for handling failures or not. If not, prior explicit finalization has to be requested – by the Eject command.






        share|improve this answer














        The design is also related to how devices are powered.



        Where both devices have their own energy source, for example the computer and the smartphone, there is sufficient space to implement proper handling of transfer interruptions or any other failure. The design relies on the power continuously available and that is stable factor which allows to make the other factor (communication) fault-tolerant. Without it, in exceptional case, for example if battery is suddenly removed from the smartphone or the PC is forcibly powered off, these devices and their systems are actually no more error-resistant than dumb USB drives. (chkdsk anyone?) Those fault-tolerant devices just rely on enough time to gracefully resolve expected problems.



        But devices powered from their host have small to none time for any reaction to disconnection from their power. And hosting a file system in such a device means not only serving user requests, but also availability to background reads and writes made by host background processes unknown to the user. User never knows if the communication is happening at the present moment. So there must be provided an explicit way of signaling of the intent of powering down (and it is that Eject command) upon which the host has to cease from any operations. Sudden power disconnection is then awaited without a risk. So "Eject" event is a simple way to start proper finalization while we still can rely on continuous operation. And the substance is now not different from the above case: power is granted during all the necessary actions. When finished, the host signals back (because it is the user who physically controls power interruption) that now it is safe to suddenly interrupt device's power without the risk.



        So we see that one of most significant design-driving factors is whether the device is capable of running autonomously to have a time for handling failures or not. If not, prior explicit finalization has to be requested – by the Eject command.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 19 at 20:08

























        answered Nov 19 at 20:02









        miroxlav

        7,27842466




        7,27842466






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Super User!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1376743%2fwhy-does-windows-not-show-an-eject-option-for-some-usb-storage-devices%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            404 Error Contact Form 7 ajax form submitting

            How to know if a Active Directory user can login interactively

            Refactoring coordinates for Minecraft Pi buildings written in Python