¿Por qué Windows no muestra una opción de "expulsión" para algunos dispositivos de almacenamiento USB?

48

En Windows, normalmente puede "expulsar" un dispositivo de almacenamiento USB antes de desconectarlo físicamente para evitar la corrupción de datos.

Sin embargo, para algunos dispositivos, Windows no proporciona una opción de "expulsión". He visto esto con mayor frecuencia con algunos teléfonos inteligentes.

¿Por qué es esto?

Miguel
fuente
3
No estoy seguro de que esto sea un duplicado. Esta es una pregunta más amplia que cubre una variedad de dispositivos que se pueden conectar a una computadora, y no simplemente a un disco duro externo en particular.
bwDraco

Respuestas:

69

Probablemente porque el método que se utiliza para transferir archivos a teléfonos ( MTP en lugar de almacenamiento masivo USB ) pone la responsabilidad de los datos y la integridad del sistema de archivos en el dispositivo que recibe los datos, que en el caso de los teléfonos móviles también se presume que es inteligente y autónomo. alimentado o tiene batería de respaldo.

Los dispositivos de almacenamiento masivo USB generalmente son memorias extrañas o discos duros, los dispositivos MTP como teléfonos, cámaras y similares son generalmente dispositivos razonablemente inteligentes que manejan su almacenamiento personalmente. Como tal, la transferencia de archivos puede ocurrir en una ideología de igual a igual en lugar de una de host inteligente-cliente tonto. Una vez que los datos se "envían" al teléfono, depende del sistema operativo del teléfono y de los métodos del sistema de archivos garantizar el almacenamiento correcto del archivo.

Si la transferencia de archivos se interrumpe y, por lo tanto, se transfiere parcialmente, el teléfono puede decidir si libera cualquier espacio asignado o muestra lo que se transfirió caso por caso. Sospecho que la mayoría de las transferencias interrumpidas simplemente eliminarán datos incompletos y liberarán los bloques asignados. La integridad del sistema de archivos es administrada activamente por el teléfono.

Como tal transferencia ocurre o no, y hacer una expulsión de software es innecesario, la única razón para hacerlo es para que la persona que usa la computadora pueda tener esa sensación cálida y brillante de "Ya terminé". USB ciertamente no lo necesita desde una perspectiva de hardware y está bastante contento con los dispositivos de conexión en caliente.

Desde la página de Wikipedia MTP:

Una razón principal para usar MTP en lugar de, por ejemplo, la clase de dispositivo de almacenamiento masivo USB (MSC) es que este último opera con la granularidad de un bloque de dispositivo de almacenamiento masivo (generalmente en la práctica, un bloque FAT), en lugar de nivel de archivo lógico En otras palabras, la clase de almacenamiento masivo USB está diseñada para dar a una computadora host acceso no diferenciado al almacenamiento masivo masivo, como flash compacto, en lugar de a un sistema de archivos, que podría compartirse de forma segura con el dispositivo de destino.(excepto para archivos específicos que el host podría estar modificando / accediendo). En la práctica, por lo tanto, cuando una computadora host USB ha montado una partición MSC, asume el control absoluto del almacenamiento, que luego el dispositivo no puede modificar de manera segura sin riesgo de corrupción de datos hasta que la computadora host haya cortado la conexión. Además, debido a que la computadora host tiene control total sobre el dispositivo de almacenamiento conectado, existe el riesgo de que la computadora host corrompa el sistema de archivos, lo reformatee a un sistema de archivos no compatible con el dispositivo USB , o lo modifique de otra manera. que el dispositivo USB no puede entenderlo por completo.

Mokubai
fuente
3
Los discos duros USB no tienen esta opción y son de almacenamiento masivo, no MTP.
Johannes Tue
16
@ Alex.S He usado varios discos duros USB y todos han tenido una función de expulsión. En los casos en que no lo hagan, entonces espero que el controlador USB para la unidad lo anuncie como un disco "fijo" en lugar de extraíble y sea intencional, que nunca se debe quitar mientras un sistema operativo se está ejecutando por cualquier razón, o fue una mala configuración por parte del fabricante. La pregunta especificaba teléfonos, así que respondí desde esa perspectiva, ya que era la situación que conocía por una razón específica, es decir, que los archivos no se transfieren por el mismo método.
Mokubai
2
Respuesta muy informativa, gracias por tu tiempo @Mokubai. Principalmente solo he visto este problema con los teléfonos inteligentes. Sin embargo, me encontré con este problema una vez con una memoria USB.
Michael
Y esto es solo una ventaja secundaria de MTP. La principal ventaja es que el sistema de archivos puede ser utilizado por ambos dispositivos simultáneamente. Los teléfonos más antiguos que solo admitían el protocolo de almacenamiento masivo USB tuvieron que desmontar el sistema de archivos antes de poder acceder a él a través de USB.
kasperd el
1
Para agregar un poco, algunos reproductores MP4 y cámaras digitales usan MTP para conectarse a la PC. Este no es un protocolo nuevo, como algunos pueden pensar ya que viene en dispositivos Android y tal.
Ismael Miguel
18

Resumen

En última instancia, se trata de si el dispositivo utiliza MSC o MTP / PTP. Como regla general, los dispositivos de almacenamiento dedicados como las unidades flash y los discos duros externos usan MSC, mientras que los teléfonos inteligentes y otros dispositivos que necesitan mantener el acceso a los datos mientras están conectados a una computadora o requieren control sobre los datos transferidos usarán MTP. Muchas cámaras usan PTP, un subconjunto de MTP.

Si el dispositivo usa MSC, deberá expulsarlo de la computadora antes de poder eliminarlo. Si usa MTP o PTP, no se requiere expulsión.


Detalles técnicos

La clase de almacenamiento masivo (MSC) permite que la computadora se comunique con el disco de la misma manera que lo haría con un disco duro interno o SSD, lo que lo hace más rápido que otros protocolos para transferir datos. Esto es lo que utilizan los dispositivos de almacenamiento dedicados, como las unidades flash USB y los discos duros externos. Sin embargo, requiere nivel de bloqueacceso a los medios de almacenamiento subyacentes, y eso significa acceso exclusivo al dispositivo. Como resultado, MSC no está bien para dispositivos inteligentes porque necesitan poder acceder al contenido del sistema de archivos mientras la computadora lo está utilizando. Un teléfono inteligente necesitaría efectivamente apagar su sistema operativo antes de que pueda otorgar acceso a nivel de bloque a una computadora, un procedimiento engorroso y que le impediría ejecutar aplicaciones o usar el dispositivo mientras está conectado. Es responsabilidad de la computadora asegurarse de que los datos se hayan transferido por completo, por lo que debe decirle a la computadora que lo ha expulsado.

El Protocolo de transferencia de medios (MTP) , que es lo que usan la mayoría de los dispositivos inteligentes, implica el nivel de archivoacceso, y el dispositivo, no la computadora host, es responsable de administrar los datos. Los teléfonos inteligentes usan MTP porque necesitan poder acceder a los datos mientras el dispositivo está conectado a una computadora. MTP también permite que el dispositivo controle o limite qué datos se pueden transferir; algunos reproductores de medios digitales / MP3 (principalmente más antiguos) usan MTP para aplicar la protección contra copia (DRM) en los archivos transferidos o para garantizar que los archivos multimedia transferidos sean compatibles con el dispositivo. Como MTP simplemente presenta una estructura jerárquica de archivos / carpetas, la computadora no necesita preocuparse por el sistema de archivos o cómo el dispositivo almacena los datos. En cualquier caso, con MTP, no hay necesidad de un comando de expulsión explícito; Una vez que el dispositivo le dice al sistema que la transferencia se ha completado (el diálogo de progreso se ha cerrado), puede quitar el dispositivo sin expulsarlo explícitamente.

MTP es un superconjunto de Picture Transfer Protocol (PTP) , que fue diseñado originalmente para cámaras que se comunican con computadoras. Muchas cámaras todavía usan PTP, pero algunas admiten MSC, y algunas permiten elegir entre MSC y PTP. Además, algunas cámaras admiten la impresión directa a través de un protocolo conocido como PictBridge , que requiere PTP. Al igual que con MTP, PTP no requiere un comando de expulsión. Si una cámara puede usar MSC, PTP o ambas depende de cómo maneja su almacenamiento mientras está conectada a una computadora.

Tenga en cuenta que si retira la tarjeta de memoria de una cámara e la inserta en una ranura para tarjeta SD u otro lector de medios en su computadora, será un dispositivo MSC y deberá expulsarla cuando termine de transferir las imágenes.

bwDraco
fuente
77
Y no dejes que nadie te diga que no importa; Le advertí a mi ex durante semanas que dejara de quitarle las llaves USB. Todavía no lo dejé de hacer, incluso después de perder dos días de trabajo en una hoja de cálculo como resultado (¡también copia de seguridad!)
Lightness compite con Monica el
1
@LightnessRacesinOrbit luego asegúrese de que la extracción rápida esté habilitada para ella: ralentizará el disco pero hará que no tenga que expulsar el dispositivo USB
Baldrickk
3
@Baldrickk Oh, ella se fue hace mucho tiempo ^ _ ^
Lightness compite con Monica el
6

El diseño también está relacionado con la forma en que se alimentan los dispositivos.

Cuando ambos dispositivos tienen su propia fuente de energía, por ejemplo, la computadora y el teléfono inteligente, hay suficiente espacio para implementar el manejo adecuado de las interrupciones de transferencia o cualquier otra falla. El diseño se basa en la potencia continuamente disponible y es un factor estable que permite que el otro factor (comunicación) sea tolerante a fallas. Sin él, en casos excepcionales, por ejemplo, si la batería se retira repentinamente del teléfono inteligente o la PC se apaga por la fuerza, estos dispositivos y sus sistemas en realidad no son más resistentes a los errores que las unidades USB tontas. ( chkdsk¿alguien?) Esos dispositivos tolerantes a fallas solo dependen del tiempo suficiente para resolver con gracia los problemas esperados.

Pero los dispositivos alimentados por su host tienen poco tiempo para reaccionar a la desconexión de su alimentación. Y alojar un sistema de archivos en dicho dispositivo significa no solo atender las solicitudes de los usuarios, sino también la disponibilidad de lecturas y escrituras en segundo plano realizadas por procesos en segundo plano del host desconocidos para el usuario. El usuario nunca sabe si la comunicación está ocurriendo en este momento. Por lo tanto, debe proporcionarse una forma explícita de señalizar la intención de apagar (y es ese comando Expulsar) sobre el cual el host tiene que dejar de operar. La desconexión eléctrica repentina se espera sin riesgo. Por lo tanto, el evento "Expulsar" es una manera simple de comenzar la finalización adecuada mientras que todavía podemos confiar en la operación continua. Y la sustancia ahora no es diferente del caso anterior: se otorga el poderdurante todas las acciones necesarias. Cuando finaliza, el host le devuelve la señal (porque es el usuario quien controla físicamente la interrupción de energía) que ahora es seguro interrumpir repentinamente la energía del dispositivo sin el riesgo.

Por lo tanto, vemos que uno de los factores de diseño más importantes es si el dispositivo es capaz de funcionar de manera autónoma para tener un tiempo para manejar fallas o no. De lo contrario, el comando Expulsar debe solicitar una finalización explícita previa.

miroxlav
fuente