Pourquoi Windows n'affiche-t-il pas une option d'éjection pour certains périphériques de stockage USB?

48

Sous Windows, vous pouvez normalement "éjecter" un périphérique de stockage USB avant de le débrancher physiquement pour éviter la corruption des données.

Toutefois, pour certains périphériques, Windows ne fournit pas d’option "éjecter". J'ai souvent vu cela avec certains téléphones intelligents.

Pourquoi est-ce?

Michael
la source
3
Je ne suis pas sûr que ce soit un doublon. Il s’agit d’une question plus large couvrant une variété de périphériques pouvant être connectés à un ordinateur, et pas simplement un disque dur externe particulier.
bwDraco

Réponses:

69

Probablement parce que la méthode utilisée pour transférer des fichiers sur des téléphones ( MTP plutôt que de stockage de masse USB ) met le fardeau de l'intégrité des données et du système de fichiers sur le périphérique recevant les données, ce qui dans le cas des téléphones portables est également présumé intelligent et autonome -alimenté ou avoir la batterie de secours.

Les périphériques de stockage de masse USB sont généralement des clés de mémoire ou des disques durs idiots, les périphériques MTP tels que les téléphones, les appareils photo, etc. sont généralement des périphériques raisonnablement intelligents qui gèrent personnellement leur stockage. En tant que tel, le transfert de fichier peut se faire dans une idéologie d'égal à égal plutôt que dans une cliente smart-host-dumb-. Une fois que les données sont "envoyées" au téléphone, il appartient au système d'exploitation du téléphone et aux méthodes du système de fichiers de garantir le stockage correct du fichier.

Si le transfert de fichier est interrompu et donc partiellement transféré, le téléphone peut décider de libérer de l'espace alloué ou d'afficher ce qui a été transféré au cas par cas. Je pense que la plupart des transferts interrompus laisseront simplement tomber des données incomplètes et libéreront tous les blocs attribués. L'intégrité du système de fichiers est activement gérée par le téléphone.

Comme un tel transfert se produit ou ne se produit pas et qu'une éjection de logiciel est inutile, la seule raison de l'avoir est pour que la personne utilisant l'ordinateur puisse obtenir cette sensation de "chaleureuse". L'USB n'en a certainement pas besoin d'un point de vue matériel et est très satisfait des périphériques de connexion à chaud.

À partir de la page Wikipedia MTP:

Une des principales raisons d'utiliser MTP plutôt que, par exemple, la classe de périphérique de stockage de masse USB (MSC) est que cette dernière fonctionne à la granularité d'un bloc de périphérique de stockage de masse (généralement un bloc FAT), plutôt qu'à la niveau de fichier logique. En d'autres termes, la classe de stockage de masse USB est conçue pour donner à un ordinateur hôte un accès indifférencié à un stockage en masse, tel qu'une mémoire flash compacte, plutôt qu'à un système de fichiers, qui peut être partagé en toute sécurité avec le périphérique cible.(sauf pour les fichiers spécifiques que l'hôte pourrait modifier / accéder). En pratique, par conséquent, lorsqu'un ordinateur hôte USB a monté une partition MSC, il assume le contrôle absolu du stockage, qui peut alors ne pas être modifié en toute sécurité par le périphérique sans risque d'altération des données jusqu'à ce que l'ordinateur hôte ait interrompu la connexion. De plus, étant donné que l’ordinateur hôte a le plein contrôle du périphérique de stockage connecté, celui-ci risque de corrompre le système de fichiers, de le reformater en un système de fichiers non pris en charge par le périphérique USB ou de le modifier autrement. que le périphérique USB ne peut pas le comprendre complètement.

Mokubai
la source
3
Les disques durs USB ne disposent pas de cette option et constituent du stockage de masse, pas du MTP.
Johannes mar
16
@ Alex.S J'ai utilisé plusieurs disques durs USB et ils ont tous eu une fonction d'éjection. Dans les cas où ils ne le pourraient pas, je m'attends à ce que le contrôleur USB du disque soit annoncé comme un disque "fixe" plutôt que amovible et soit intentionnel, qu'il ne devrait jamais être supprimé lorsqu'un système d'exploitation est en cours d'exécution pour une raison quelconque, ou c'était une mauvaise configuration de la part du fabricant. La question spécifiant les téléphones, j'ai donc répondu de ce point de vue, car c'était la situation que je connaissais pour une raison spécifique, à savoir que les fichiers ne sont pas transférés par la même méthode.
Mokubai
2
Réponse très informative, merci pour votre temps @Mokubai. J'ai surtout vu ce problème avec les téléphones intelligents. Cependant, j'ai rencontré ce problème une fois avec une clé USB.
Michael
Et ceci n'est qu'un avantage secondaire du MTP. Le principal avantage est que le système de fichiers peut être utilisé simultanément par les deux périphériques. Les téléphones plus anciens ne supportant que le protocole de stockage de masse USB devaient démonter le système de fichiers avant de pouvoir y accéder via USB.
Kasperd
1
Pour ajouter un peu, certains lecteurs MP4 et appareils photo numériques utilisent le protocole MTP pour se connecter au PC. Ce n'est pas un nouveau protocole, comme certains peuvent le penser, car il vient dans les appareils Android et autres.
Ismael Miguel
18

Sommaire

En fin de compte, cela dépend du fait que le périphérique utilise MSC ou MTP / PTP. En règle générale, les périphériques de stockage dédiés tels que les clés USB et les disques durs externes utilisent MSC, tandis que les smartphones et autres périphériques devant conserver l'accès aux données lorsqu'ils sont connectés à un ordinateur ou nécessitant un contrôle sur les données transférées utilisent MTP. De nombreuses caméras utilisent PTP, un sous-ensemble de MTP.

Si le périphérique utilise MSC, vous devez l'éjecter de l'ordinateur avant de pouvoir le retirer. Si elle utilise MTP ou PTP, l’éjection n’est pas requise.


Détails techniques

La classe de stockage de masse (MSC) permet à l’ordinateur de communiquer avec le lecteur de la même manière qu’il le ferait avec un disque dur interne ou un disque SSD, le rendant plus rapide que d’autres protocoles de transfert de données. C’est ce que les périphériques de stockage dédiés tels que les clés USB et les disques durs externes utilisent. Cependant, il faut un niveau de blocaccès au support de stockage sous-jacent, ce qui signifie un accès exclusif au périphérique. Par conséquent, MSC ne convient pas aux périphériques intelligents, car ils doivent pouvoir accéder au contenu du système de fichiers pendant que l'ordinateur l'utilise. Un smartphone aurait effectivement besoin d’arrêter son système d’exploitation avant de pouvoir accorder un accès de bloc à un ordinateur - une procédure fastidieuse et qui vous empêcherait d’exécuter des applications ou d’utiliser le périphérique tant qu’il est connecté. Il incombe à l'ordinateur de s'assurer que les données ont été intégralement transférées. Vous devez donc informer l'ordinateur que vous avez terminé en les éjectant.

Le protocole de transfert de média (MTP) , utilisé par la plupart des périphériques intelligents, implique un niveau de fichieraccès, et le périphérique, et non l'ordinateur hôte, est responsable de la gestion des données. Les smartphones utilisent le protocole MTP car ils doivent pouvoir accéder aux données lorsque l'appareil est connecté à un ordinateur. MTP permet également à l'appareil de contrôler ou de limiter les données pouvant être transférées. certains lecteurs de média numérique / MP3 (principalement anciens) utilisent MTP pour appliquer la protection contre la copie (DRM) aux fichiers transférés ou pour garantir la compatibilité des fichiers multimédia transférés avec le périphérique. Comme MTP présente simplement une structure hiérarchique de fichiers / dossiers, l’ordinateur n’a pas besoin de s’inquiéter du système de fichiers ni de la manière dont l’appareil stocke les données. Dans tous les cas, avec MTP, une commande d’éjection explicite n’est pas nécessaire; une fois que le périphérique a informé le système que le transfert est terminé (la boîte de dialogue de progression s'est fermée), vous pouvez supprimer le périphérique sans l'éjecter explicitement.

MTP est un sur-ensemble du protocole PTP (Picture Transfer Protocol) , initialement conçu pour les appareils photo communiquant avec des ordinateurs. Beaucoup de caméras utilisent encore le protocole PTP, mais certaines prennent en charge le protocole MSC et d'autres permettent de choisir entre le protocole MSC et le protocole PTP. De plus, certains appareils prennent en charge l’impression directe via un protocole appelé PictBridge , qui requiert le protocole PTP. Comme avec MTP, PTP ne nécessite pas de commande d'éjection. Le fait qu'un appareil photo puisse utiliser MSC, PTP ou les deux dépend de la manière dont l'appareil photo gère son stockage lorsqu'il est connecté à un ordinateur.

Notez que si vous retirez la carte mémoire d'un appareil photo et l'insérez dans un lecteur de carte SD ou un autre lecteur de média de votre ordinateur, il s'agira d'un périphérique MSC et vous devrez l'éjecter une fois le transfert des photos terminé.

bwDraco
la source
7
Et ne laissez personne vous dire que cela n'a pas d'importance; J'ai averti mon ex pendant des semaines d'arrêter de tirer ses clés USB. Je n'ai toujours pas arrêté de le faire, même après avoir perdu deux jours de travail sur un tableur (sauvegarde également! Gees!)
Courses de légèreté avec Monica
1
@LightnessRacesinOrbit puis assurez-vous que la suppression rapide est activée pour elle - cela ralentira le lecteur mais évitez qu'elle ne soit obligée d'éjecter la clé USB
Baldrickk
3
@Baldrickk Oh, elle est partie depuis longtemps ^ _ ^
Courses de légèreté avec Monica
6

La conception est également liée à la façon dont les périphériques sont alimentés.

Lorsque les deux appareils ont leur propre source d'énergie, par exemple l'ordinateur et le smartphone, il y a suffisamment d'espace pour mettre en œuvre le traitement correct des interruptions de transfert ou de toute autre défaillance. La conception repose sur la puissance disponible en permanence et constitue un facteur stable qui permet de rendre l’autre facteur (communication) tolérant aux pannes. Sans lui, dans des cas exceptionnels, par exemple si la batterie est retirée subitement du smartphone ou si le PC est mis hors tension de force, ces périphériques et leurs systèmes ne sont en réalité pas plus résistants aux erreurs que les clés USB stupides. ( chkdskQuelqu'un d'autre?) Ces périphériques tolérants aux pannes dépendent simplement de suffisamment de temps pour résoudre en douceur les problèmes attendus.

Mais les appareils alimentés par leur hôte ont peu de temps pour réagir à une déconnexion de leur alimentation. Et héberger un système de fichiers dans un tel périphérique signifie non seulement répondre aux demandes des utilisateurs, mais également permettre la lecture et l'écriture en arrière-plan effectuées par des processus en arrière-plan de l'hôte inconnus de l'utilisateur. L'utilisateur ne sait jamais si la communication est en cours au moment présent. Il faut donc fournir un moyen explicite de signaler l'intention de mettre hors tension (et c'est cette commande Eject) à laquelle l'hôte doit cesser toute opération. Une coupure soudaine de l'alimentation est alors attendue sans risque. Ainsi, l’événement "Eject" est un moyen simple de démarrer une finalisation correcte tout en pouvant toujours compter sur un fonctionnement continu. Et le fond n’est plus différent du cas précédent: le pouvoir est accordépendant toutes les actions nécessaires. Une fois l’opération terminée, l’hôte rappelle (car c’est l’utilisateur qui contrôle physiquement les coupures de courant) qu’il est maintenant sûr d’interrompre soudainement l’alimentation du périphérique sans risque.

Nous voyons donc que l’un des facteurs les plus importants dans la conception est la capacité de l’appareil à fonctionner de manière autonome pour avoir le temps de gérer les échecs ou non. Sinon, la finalisation explicite préalable doit être demandée - par la commande Éjecter.

Miroxlav
la source