47 votes

Pourquoi Windows ne montre-t-il pas d'option "éjecter" pour certains périphériques de stockage USB?

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.

Cependant, pour certains appareils, Windows ne propose pas d'option "éjecter". J'ai remarqué que c'était le cas le plus fréquemment avec certains smartphones.

Pourquoi cela?

69voto

Ana cleto Points 11

Sans doute parce que la méthode utilisée pour transférer des fichiers vers les téléphones (PTM plutôt que USB Mass Storage) place la responsabilité de l'intégrité des données et du système de fichiers sur le périphérique recevant les données, qui, dans le cas des téléphones mobiles, est également supposé être intelligent et autonome ou avoir une batterie de secours.

Les périphériques USB de stockage de masse sont généralement des clés mémoire ou des disques durs simples, tandis que les périphériques PTM tels que les téléphones, les appareils photo et similaires sont généralement des périphériques assez intelligents qui gèrent eux-mêmes leur stockage. Ainsi, le transfert de fichiers peut se faire selon une idéologie pair-à-pair plutôt qu'un modèle client-serveur. Une fois les données "envoyées" au téléphone, il revient au système d'exploitation du téléphone et aux méthodes de système de fichiers de garantir un stockage correct du fichier.

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

Ainsi, un transfert se produit ou ne se produit pas et l'éjection logicielle est inutile, la seule raison de l'avoir est pour que la personne utilisant l'ordinateur puisse ressentir cette sensation chaleureuse et "c'est fini". L'USB n'en a certainement pas besoin d'un point de vue matériel et est tout à fait satisfait de brancher à chaud des périphériques.

De la page Wikipedia PTM:

Une raison principale d'utiliser le PTM plutôt que, par exemple, la classe de périphériques 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 en pratique, un bloc FAT), plutôt qu'au niveau logique des fichiers. En d'autres termes, la classe de périphérique de stockage de masse USB est conçue pour donner à un ordinateur hôte un accès indifférencié au stockage de masse en vrac, comme par exemple une carte compact flash, plutôt qu'à un système de fichiers, qui pourrait être partagé en toute sécurité avec le périphérique cible (sauf pour des fichiers spécifiques que l'ordinateur hôte pourrait modifier / accéder). En pratique, par conséquent, lorsqu'un ordinateur hôte USB a monté une partition MSC, il assume un contrôle absolu du stockage, qui ne peut alors pas être modifié en toute sécurité par le périphérique sans risque de corruption des données jusqu'à ce que l'ordinateur hôte ait coupé la connexion. De plus, parce que l'ordinateur hôte a un contrôle total sur le périphérique de stockage connecté, il y a un risque que l'ordinateur hôte puisse corrompre le système de fichiers, le reformater dans un système de fichiers non pris en charge par le périphérique USB, ou le modifier de telle manière que le périphérique USB ne puisse pas le comprendre entièrement.

18voto

Dj S Points 101

Résumé

Il s'agit finalement de savoir si l'appareil utilise MSC ou MTP/PTP. En règle générale, les appareils de stockage dédiés tels que les clés USB et les disques durs externes utilisent MSC, tandis que les smartphones et autres appareils qui ont besoin de maintenir l'accès aux données lorsqu'ils sont connectés à un ordinateur ou qui requièrent un contrôle sur les données transférées utiliseront MTP. De nombreux appareils photo utilisent PTP, un sous-ensemble de MTP.

Si l'appareil utilise MSC, vous devrez l'éjecter de l'ordinateur avant de pouvoir le retirer. Si celui-ci utilise MTP ou PTP, l'éjection n'est pas nécessaire.


Détails techniques

La Classe de dispositif de stockage de masse (MSC) permet à l'ordinateur de communiquer avec le lecteur de la même manière qu'avec un disque dur interne ou un SSD, ce qui le rend plus rapide que d'autres protocoles pour le transfert de données. C'est ce que utilisent les appareils de stockage dédiés comme les clés USB et les disques durs externes. Cependant, cela nécessite un accès au niveau du bloc au support de stockage sous-jacent, ce qui signifie un accès exclusif à l'appareil. En conséquence, MSC n'est pas adapté aux appareils intelligents car ils doivent pouvoir accéder au contenu du système de fichiers pendant que l'ordinateur l'utilise. Un smartphone devrait effectivement arrêter son OS avant de pouvoir accorder un accès au niveau du bloc à un ordinateur, une procédure fastidieuse, et qui vous empêcherait d'exécuter des applications ou d'utiliser l'appareil pendant qu'il est connecté. Il revient à l'ordinateur de s'assurer que les données ont été complètement transférées, c'est pourquoi vous devez indiquer à l'ordinateur que vous avez terminé en l'éjectant.

Le Protocole de transfert de médias (MTP), que la plupart des appareils intelligents utilisent, implique un accès au niveau du fichier, et l'appareil, et non l'ordinateur hôte, est responsable de la gestion des données. Les smartphones utilisent MTP car ils doivent pouvoir accéder aux données pendant que 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édias numériques/MP3 (principalement plus anciens) utilisent MTP pour imposer une protection contre la copie (DRM) sur les fichiers transférés ou pour garantir que les fichiers multimédias transférés sont compatibles avec l'appareil. Comme MTP présente simplement une structure de fichiers/dossiers hiérarchique, l'ordinateur n'a pas besoin de se soucier du système de fichiers ou de la manière dont l'appareil stocke les données. En tout état de cause, avec MTP, il n'est pas nécessaire d'éjecter explicitement; une fois l'appareil indique au système que le transfert est terminé (la boîte de dialogue de progression est fermée), vous pouvez retirer l'appareil sans l'éjecter explicitement.

MTP est un surensemble du Protocole de transfert d'images (PTP), qui a été initialement conçu pour que les appareils photo communiquent avec les ordinateurs. De nombreux appareils photo utilisent encore PTP, mais certains prennent en charge MSC, et certains permettent de choisir entre MSC et PTP. De plus, certains appareils photo prennent en charge l'impression directe via un protocole appelé PictBridge, qui nécessite PTP. Comme avec MTP, PTP ne nécessite pas de commande d'éjection. La capacité d'un appareil photo à 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.

Remarquez que si vous retirez la carte mémoire d'un appareil photo et que vous l'insérez dans un lecteur de carte SD ou autre sur votre ordinateur, il s'agira d'un appareil MSC et vous devrez l'éjecter lorsque vous aurez terminé de transférer les images.

6voto

miroxlav Points 11663

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

Lorsque les deux appareils ont leur propre source d'énergie, par exemple l'ordinateur et le smartphone, il existe un espace suffisant pour mettre en œuvre une manipulation correcte des interruptions de transfert ou de toute autre défaillance. La conception repose sur la disponibilité continue de l'alimentation, un facteur stable qui permet de rendre l'autre facteur (la communication) tolérant aux pannes. Sans cela, dans des cas exceptionnels, par exemple si la batterie est soudainement retirée du smartphone ou si le PC est éteint de force, ces appareils et leurs systèmes ne sont en réalité pas plus résilients aux erreurs que des clés USB bêtes. (chkdsk quelqu'un ?) Ces appareils tolérants aux pannes dépendent simplement d'un temps suffisant pour résoudre gracieusement les problèmes prévus.

Mais les appareils alimentés par leur hôte ont peu ou pas de temps pour réagir à une déconnexion de leur alimentation. Et héberger un système de fichiers dans un tel appareil signifie non seulement répondre aux demandes des utilisateurs, mais aussi être disponible pour des lectures et des écritures 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 a lieu à l'instant. Il doit donc être prévu un moyen explicite de signaler l'intention de mise hors tension (et c'est cette commande Eject) sur laquelle l'hôte doit cesser toute opération. La déconnexion de l'alimentation est alors attendue sans risque. Ainsi, l'événement "Éjecter" est un moyen simple de commencer une finalisation appropriée alors que nous pouvons toujours compter sur un fonctionnement continu. Et la substance n'est maintenant pas différente du cas précédent : l'énergie est accordée pendant toutes les actions nécessaires. Lorsque c'est fini, l'hôte indique (car c'est l'utilisateur qui contrôle physiquement l'interruption de l'alimentation) qu'il est maintenant sûr d'interrompre soudainement l'alimentation de l'appareil sans risque.

Nous voyons donc qu'un des facteurs de conception les plus significatifs est de savoir si l'appareil est capable de fonctionner de manière autonome pour avoir le temps de gérer les défaillances ou non. Si ce n'est pas le cas, une finalisation explicite préalable doit être demandée - par la commande Eject.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X