Perché Windows non mostra un'opzione di "espulsione" per alcuni dispositivi di archiviazione USB?


48

In Windows, normalmente è possibile "espellere" un dispositivo di archiviazione USB prima di scollegarlo fisicamente per evitare il danneggiamento dei dati.

Tuttavia, per alcuni dispositivi Windows non fornisce un'opzione di "espulsione". L'ho visto più frequentemente con alcuni smartphone.

Perchè è questo?



3
Non sono sicuro che questo sia un duplicato. Questa è una domanda più ampia che copre una varietà di dispositivi che possono essere collegati a un computer e non semplicemente un particolare disco rigido esterno.
bwDraco,

Risposte:


69

Probabilmente perché il metodo utilizzato per trasferire file ai telefoni ( MTP anziché USB Mass Storage ) mette l'onere dei dati e l'integrità del filesystem sul dispositivo che riceve i dati, che nel caso dei telefoni cellulari si presume sia intelligente e autonomo -alimentato o con batteria di backup.

I dispositivi di archiviazione di massa USB sono in genere chiavette di memoria o dischi rigidi, i dispositivi MTP come telefoni, fotocamere e simili sono generalmente dispositivi ragionevolmente intelligenti che gestiscono la loro archiviazione personalmente. In quanto tale, il trasferimento di file può avvenire in un'ideologia peer-to-peer piuttosto che in uno smart-host-dumb-client. Una volta che i dati vengono "inviati" al telefono, spetta al sistema operativo del telefono e ai metodi del file system garantire la corretta memorizzazione del file.

Se il trasferimento di file viene interrotto e quindi parzialmente trasferito, il telefono può decidere se liberare spazio assegnato o mostrare ciò che è stato trasferito caso per caso. Ho il sospetto che la maggior parte dei trasferimenti interrotti semplicemente lascerà cadere i dati incompleti e libererà qualsiasi blocco assegnato. L'integrità del filesystem è gestita attivamente dal telefono.

Dato che un trasferimento del genere può accadere o no e non è necessario eseguire un'espulsione del software, l'unica ragione per averlo è che la persona che utilizza il computer può percepire quella sensazione calda e brillante "Ho finito". L'USB certamente non ne ha bisogno dal punto di vista hardware ed è abbastanza contento dei dispositivi hotplugging.

Dalla pagina Wikipedia MTP:

Un motivo principale per l'utilizzo di MTP piuttosto che, ad esempio, la classe di dispositivi di archiviazione di massa USB (MSC) è che quest'ultimo opera alla granularità di un blocco di dispositivi di archiviazione di massa (di solito in pratica, un blocco FAT), piuttosto che al livello di file logico. In altre parole, la classe di archiviazione di massa USB è progettata per fornire a un computer host un accesso indifferenziato all'archiviazione di massa di massa, come il flash compatto, piuttosto che a un file system, che potrebbe essere condiviso in modo sicuro con il dispositivo di destinazione(ad eccezione di file specifici che l'host potrebbe modificare / accedere). In pratica, quindi, quando un computer host USB ha montato una partizione MSC, assume il controllo assoluto dell'archiviazione, che può quindi non essere modificato in modo sicuro dal dispositivo senza il rischio di corruzione dei dati fino a quando il computer host non ha interrotto la connessione. Inoltre, poiché il computer host ha il pieno controllo del dispositivo di archiviazione collegato, esiste il rischio che il computer host possa corrompere il file system, riformattarlo in un file system non supportato dal dispositivo USB o modificarlo in altro modo che il dispositivo USB non può capirlo completamente.


3
Gli HDD USB non hanno questa opzione e sono archiviazione di massa, non MTP.
Johannes mar

16
@ Alex.S Ho usato diversi HDD USB e tutti hanno avuto una funzione di espulsione. Nei casi in cui potrebbero non aspettarsi che il controller USB per l'unità lo pubblicizzi come un disco "fisso" anziché rimovibile e sia intenzionale, che non dovrebbe mai essere rimosso mentre un sistema operativo è in esecuzione per qualsiasi motivo, oppure è stata una configurazione errata da parte del produttore. La domanda specificava i telefoni, quindi ho risposto da quella prospettiva, poiché era la situazione che conoscevo per un motivo specifico, ovvero che i file non venivano trasferiti con lo stesso metodo.
Mokubai

2
Risposta molto istruttiva, grazie per il tuo tempo @Mokubai. Ho visto principalmente questo problema solo con gli smartphone. Tuttavia, ho riscontrato questo problema una volta con una chiavetta USB.
Michael,

E questo è solo un vantaggio secondario di MTP. Il vantaggio principale è che il file system può essere utilizzato da entrambi i dispositivi contemporaneamente. I telefoni meno recenti che supportavano solo il protocollo di archiviazione di massa USB dovevano smontare il file system prima di poter accedere tramite USB.
Kasperd,

1
Per aggiungere un po ', alcuni lettori MP4 e fotocamere digitali usano MTP per connettersi al PC. Questo non è un nuovo protocollo, come alcuni potrebbero pensare dal momento che arriva nei dispositivi Android e simili.
Ismael Miguel,

18

Sommario

In definitiva, si tratta di stabilire se il dispositivo utilizza MSC o MTP / PTP. Di norma, i dispositivi di archiviazione dedicati come unità flash e dischi rigidi esterni utilizzano MSC, mentre gli smartphone e altri dispositivi che devono mantenere l'accesso ai dati mentre sono collegati a un computer o richiedono il controllo sui dati trasferiti utilizzeranno MTP. Molte fotocamere utilizzano PTP, un sottoinsieme di MTP.

Se il dispositivo utilizza MSC, dovrai espellerlo dal computer prima di poterlo rimuovere. Se utilizza MTP o PTP, l'espulsione non è richiesta.


Dettagli tecnici

La classe di archiviazione di massa (MSC) consente al computer di comunicare con l'unità allo stesso modo in cui verrebbe con un disco rigido interno o SSD, rendendolo più veloce di altri protocolli per il trasferimento di dati. Questo è ciò che utilizzano dispositivi di archiviazione dedicati come unità flash USB e dischi rigidi esterni. Tuttavia, richiede un livello di bloccoaccesso al supporto di memorizzazione sottostante e ciò significa accesso esclusivo al dispositivo. Di conseguenza, MSC non va bene per i dispositivi intelligenti perché devono essere in grado di accedere al contenuto del filesystem mentre il computer lo sta utilizzando. Uno smartphone dovrebbe effettivamente arrestare il proprio sistema operativo prima di poter concedere l'accesso a livello di blocco a un computer, una procedura ingombrante e che ti impedirebbe di eseguire app o di utilizzare il dispositivo mentre è connesso. È responsabilità del computer assicurarsi che i dati siano stati completamente trasferiti, quindi è necessario comunicare al computer che è stato fatto espellendolo.

Media Transfer Protocol (MTP) , che è ciò che utilizza la maggior parte dei dispositivi intelligenti, prevede il livello dei filel'accesso e il dispositivo, non il computer host, sono responsabili della gestione dei dati. Gli smartphone utilizzano MTP perché devono essere in grado di accedere ai dati mentre il dispositivo è collegato a un computer. MTP consente inoltre al dispositivo di controllare o limitare quali dati possono essere trasferiti; alcuni lettori multimediali / MP3 digitali (principalmente vecchi) utilizzano MTP per applicare la protezione della copia (DRM) sui file trasferiti o per garantire che i file multimediali trasferiti siano compatibili con il dispositivo. Poiché MTP presenta semplicemente una struttura gerarchica di file / cartelle, il computer non deve preoccuparsi del filesystem o del modo in cui il dispositivo memorizza i dati. In ogni caso, con MTP, non è necessario un comando di espulsione esplicito; una volta che il dispositivo comunica al sistema che il trasferimento è completo (la finestra di dialogo di avanzamento è stata chiusa), è possibile rimuovere il dispositivo senza espellerlo esplicitamente.

MTP è un superset di Picture Transfer Protocol (PTP) , originariamente progettato per telecamere che comunicano con i computer. Molte fotocamere utilizzano ancora PTP, ma alcune supportano MSC e alcune consentono di scegliere tra MSC e PTP. Inoltre, alcune fotocamere supportano la stampa diretta attraverso un protocollo noto come PictBridge , che richiede PTP. Come con MTP, PTP non richiede un comando di espulsione. Il fatto che una fotocamera possa utilizzare MSC, PTP o entrambi dipende da come la fotocamera gestisce la sua memoria mentre è collegata a un computer.

Nota che se rimuovi la scheda di memoria da una fotocamera e la inserisci in uno slot per scheda SD o in un altro lettore multimediale sul tuo computer, sarà un dispositivo MSC e dovrai espellerla quando hai finito di trasferire le foto.


7
E non lasciare che nessuno ti dica che non importa; Ho avvertito la mia ex per settimane di smettere di strapparle le chiavi USB. Ancora non ha smesso di farlo anche dopo aver perso due giorni di lavoro su un foglio di calcolo di conseguenza (anche backup! Gees!)
Lightness Races con Monica

1
@LightnessRacesinOrbit quindi assicurarsi che sia abilitata la rimozione rapida per lei - rallenterà l'unità ma lo farà in modo che non debba espellere la chiavetta USB
Baldrickk,

3
@Baldrickk Oh se n'è andata da tempo ^ _ ^
Lightness Races con Monica il

6

Il design è anche correlato al modo in cui i dispositivi sono alimentati.

Laddove entrambi i dispositivi dispongono di una propria fonte di energia, ad esempio il computer e lo smartphone, c'è spazio sufficiente per implementare la corretta gestione delle interruzioni del trasferimento o di qualsiasi altro errore. Il design si basa sulla potenza costantemente disponibile e che è un fattore stabile che consente di rendere l'altro fattore (comunicazione) tollerante ai guasti. Senza di essa, in casi eccezionali, ad esempio se la batteria viene improvvisamente rimossa dallo smartphone o il PC viene spento forzatamente, questi dispositivi e i loro sistemi non sono in realtà più resistenti agli errori rispetto alle silenziose unità USB. ( chkdskchiunque?) Quei dispositivi a tolleranza d'errore si basano solo sul tempo sufficiente per risolvere con garbo i problemi previsti.

Ma i dispositivi alimentati dal loro host hanno poco o niente tempo per qualsiasi reazione alla disconnessione dalla loro alimentazione. E ospitare un file system in tale dispositivo significa non solo servire le richieste degli utenti, ma anche la disponibilità a letture e scritture in background fatte da processi in background host sconosciuti all'utente. L'utente non sa mai se la comunicazione sta avvenendo al momento attuale. Quindi deve essere fornito un modo esplicito di segnalare l'intenzione di spegnere (ed è quel comando di espulsione) su cui l'host deve cessare da qualsiasi operazione. La disconnessione improvvisa dell'alimentazione è quindi attesa senza rischi. Quindi l'evento "Espelli" è un modo semplice per avviare una finalizzazione corretta mentre possiamo ancora fare affidamento sul funzionamento continuo. E la sostanza non è ora diversa dal caso precedente: il potere è concessodurante tutte le azioni necessarie. Al termine, l'host segnala (perché è l'utente che controlla fisicamente l'interruzione dell'alimentazione) che ora è sicuro interrompere improvvisamente l'alimentazione del dispositivo senza il rischio.

Quindi vediamo che uno dei fattori più significativi alla base della progettazione è se il dispositivo è in grado di funzionare autonomamente per avere un tempo per gestire i guasti o meno. In caso contrario, la finalizzazione esplicita preventiva deve essere richiesta - dal comando Espelli.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.