J'ai une question assez simple
Mais la réponse n'est pas simple.
est la vitesse à laquelle les données sont transférées à partir d'un lecteur, sa vitesse de lecture?
Le transfert de données depuis un appareil est en cours de lecture.
La direction des E / S est toujours du point de vue de la CPU.
Le transfert de données se déroulera en deux phases.
La première phase va du support (par exemple, des plateaux de disque ou une mémoire flash NAND) au contrôleur intégré du périphérique (par exemple, un contrôleur de disque ou un contrôleur de mémoire flash NAND, NFC).
La deuxième phase va du contrôleur de périphérique au PC hôte via un pont SATA ou USB-SATA (SATA sur USB).
Entre ces phases, le bloc de données est vérifié à l'aide d'ECC et peut-être corrigé.
Ces deux phases doivent se dérouler de manière séquentielle pour chaque bloc / secteur de données.
Ces transferts ne peuvent pas être effectués simultanément. Le temps nécessaire pour effectuer chaque phase peut être ajouté pour obtenir le temps total nécessaire pour transférer les données (et ignore le temps nécessaire pour envoyer la demande de lecture et accéder aux données).
Le ou les taux de lecture du fabricant de l’appareil peuvent ou non séparer ces deux phases et fournir des éclaircissements ou non.
En général, je soupçonne que les taux de lecture typiques des lecteurs flash NAND ne concernent que la première phase, car il s’agit généralement de la valeur la plus rapide qui puisse impressionner un client potentiel.
Cependant, lors du transfert de données d’un lecteur à un autre (qu’il s’agisse d’un disque dur SSD ou HDD),
Whoa, un transfert d'un lecteur à un autre pilote est presque toujours deux transferts. Il y a une lecture du lecteur source vers la mémoire, puis de la mémoire une écriture sur le lecteur de destination.
La quantité de simultanéité ou de chevauchement utilisée par les opérations de lecture et d'écriture est déterminée par la sophistication (par exemple, la double mise en mémoire tampon) du programme de copie et par les limitations matérielles (par exemple, le conflit de bus). Dans le meilleur des cas, le transfert peut être effectué environ la moitié du temps dans le pire des cas (pas de concurrence du tout), mais sans analyse ni connaissances spécifiques, vous ne sauriez pas interpréter les temps de transfert.
Vous ne pouvez ignorer la mémoire que si vous disposez d'un maître de bus capable d'effectuer des transferts de périphérique à périphérique.
Etant donné qu'un transfert de périphérique à périphérique implique réellement deux transferts avec un degré de simultanéité non spécifié, vous obtiendrez des "vitesses" de lecture et d'écriture imprécises des périphériques individuels.
Avec * nix, les systèmes d’écriture utilisant / dev / zero et les opérations de lecture utilisant / dev / null fournissent des valeurs approximatives de la vitesse de transfert.